diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 1b4cae3aaa..0e42635244 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -37,7 +37,7 @@ src/MESONT/* @iafoss src/ML-HDNNP/* @singraber src/ML-IAP/* @athomps src/ML-PACE/* @yury-lysogorskiy -src/ML-POD/* @exapde @rohskopf +src/ML-POD/* @exapde src/MOFFF/* @hheenen src/MOLFILE/* @akohlmey src/NETCDF/* @pastewka @@ -65,9 +65,12 @@ src/MANYBODY/pair_nb3b_screened.* @flodesani src/REPLICA/*_grem.* @dstelter92 src/EXTRA-COMPUTE/compute_stress_mop*.* @RomainVermorel src/EXTRA-COMPUTE/compute_born_matrix.* @Bibobu @athomps +src/EXTRA-FIX/fix_deform_pressure.* @jtclemm src/MISC/*_tracker.* @jtclemm src/MC/fix_gcmc.* @athomps src/MC/fix_sgcmc.* @athomps +src/REAXFF/compute_reaxff_atom.* @rbberger +src/KOKKOS/compute_reaxff_atom_kokkos.* @rbberger src/REPLICA/fix_pimd_langevin.* @Yi-FanLi # core LAMMPS classes @@ -80,7 +83,7 @@ src/bond.* @sjplimp src/comm*.* @sjplimp src/compute.* @sjplimp src/dihedral.* @sjplimp -src/domain.* @sjplimp +src/domain.* @sjplimp @stanmoore1 src/dump*.* @sjplimp src/error.* @sjplimp src/finish.* @sjplimp diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index f9c2a838d6..b0bc4b2727 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -15,7 +15,7 @@ jobs: build: name: MacOS Unit Test if: ${{ github.repository == 'lammps/lammps' }} - runs-on: macos-latest + runs-on: macos-13 env: CCACHE_DIR: ${{ github.workspace }}/.ccache @@ -43,6 +43,8 @@ jobs: working-directory: build run: | ccache -z + python3 -m venv macosenv + source macosenv/bin/activate python3 -m pip install numpy python3 -m pip install pyyaml cmake -C ../cmake/presets/clang.cmake \ diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 835a54f382..f87c92396f 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -222,6 +222,10 @@ endif() add_executable(lmp ${MAIN_SOURCES}) target_link_libraries(lmp PRIVATE lammps) set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY}) +# re-export all symbols for plugins +if(PKG_PLUGIN AND (NOT ((CMAKE_SYSTEM_NAME STREQUAL "Windows")))) + set_target_properties(lmp PROPERTIES ENABLE_EXPORTS TRUE) +endif() install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR}) option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) @@ -428,6 +432,7 @@ if(BUILD_OMP) (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM") OR (CMAKE_CXX_COMPILER_ID STREQUAL "XLClang") OR ((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR + ((CMAKE_CXX_COMPILER_ID STREQUAL "CrayClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0))) # GCC 9.x and later plus Clang 10.x and later implement strict OpenMP 4.0 semantics for consts. # Intel 18.0 was tested to support both, so we switch to OpenMP 4+ from 19.x onward to be safe. @@ -438,6 +443,21 @@ if(BUILD_OMP) target_compile_definitions(lammps PRIVATE -DLAMMPS_OMP_COMPAT=${LAMMPS_OMP_COMPAT_LEVEL}) target_link_libraries(lammps PRIVATE OpenMP::OpenMP_CXX) target_link_libraries(lmp PRIVATE OpenMP::OpenMP_CXX) + + # this hack is required to correctly link with OpenMP support when using CrayClang version 15.0.2 + # CrayClang is only directly recognized by version 3.28 and later + if(CMAKE_VERSION VERSION_LESS 3.28) + get_filename_component(_exe "${CMAKE_CXX_COMPILER}" NAME) + if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (_exe STREQUAL "crayCC")) + set(CMAKE_SHARED_LINKER_FLAGS_${BTYPE} "${CMAKE_SHARED_LINKER_FLAGS_${BTYPE} -fopenmp") + set(CMAKE_STATIC_LINKER_FLAGS_${BTYPE} "${CMAKE_STATIC_LINKER_FLAGS_${BTYPE} -fopenmp") + endif() + else() + if(CMAKE_CXX_COMPILER_ID STREQUAL "CrayClang") + set(CMAKE_SHARED_LINKER_FLAGS_${BTYPE} "${CMAKE_SHARED_LINKER_FLAGS_${BTYPE} -fopenmp") + set(CMAKE_STATIC_LINKER_FLAGS_${BTYPE} "${CMAKE_STATIC_LINKER_FLAGS_${BTYPE} -fopenmp") + endif() + endif() endif() # lower C++ standard for fmtlib sources when using Intel classic compiler @@ -552,12 +572,12 @@ endforeach() ######################################################################## # Basic system tests (standard libraries, headers, functions, types) # ######################################################################## -foreach(HEADER cmath) - check_include_file_cxx(${HEADER} FOUND_${HEADER}) - if(NOT FOUND_${HEADER}) - message(FATAL_ERROR "Could not find needed header - ${HEADER}") - endif(NOT FOUND_${HEADER}) -endforeach(HEADER) +if (NOT ((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM"))) + check_include_file_cxx(cmath FOUND_CMATH) + if(NOT FOUND_CMATH) + message(FATAL_ERROR "Could not find the required 'cmath' header") + endif(NOT FOUND_CMATH) +endif() # make the standard math library overrideable and autodetected (for systems that don't have it) find_library(STANDARD_MATH_LIB m DOC "Standard Math library") diff --git a/cmake/Modules/OpenCLLoader.cmake b/cmake/Modules/OpenCLLoader.cmake index 4b5c5a1200..411058e0b1 100644 --- a/cmake/Modules/OpenCLLoader.cmake +++ b/cmake/Modules/OpenCLLoader.cmake @@ -1,6 +1,6 @@ message(STATUS "Downloading and building OpenCL loader library") -set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2024.02.09.tar.gz" CACHE STRING "URL for OpenCL loader tarball") -set(OPENCL_LOADER_MD5 "f3573cf9daa3558ba46fd5866517f38f" CACHE STRING "MD5 checksum of OpenCL loader tarball") +set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2024.05.09.tar.gz" CACHE STRING "URL for OpenCL loader tarball") +set(OPENCL_LOADER_MD5 "e7796826b21c059224fabe997e0f2075" CACHE STRING "MD5 checksum of OpenCL loader tarball") mark_as_advanced(OPENCL_LOADER_URL) mark_as_advanced(OPENCL_LOADER_MD5) diff --git a/cmake/Modules/Packages/INTEL.cmake b/cmake/Modules/Packages/INTEL.cmake index 006a23e7ac..e6755bf23b 100644 --- a/cmake/Modules/Packages/INTEL.cmake +++ b/cmake/Modules/Packages/INTEL.cmake @@ -111,6 +111,9 @@ if(PKG_KSPACE) list(APPEND INTEL_SOURCES ${INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp) RegisterIntegrateStyle(${INTEL_SOURCES_DIR}/verlet_lrt_intel.h) endif() +if(PKG_ML-SNAP) + list(APPEND INTEL_SOURCES ${INTEL_SOURCES_DIR}/sna_intel.cpp) +endif() target_sources(lammps PRIVATE ${INTEL_SOURCES}) target_include_directories(lammps PRIVATE ${INTEL_SOURCES_DIR}) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index ce55c83b08..a2f462905a 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -45,8 +45,8 @@ if(DOWNLOAD_KOKKOS) list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}") list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") include(ExternalProject) - set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.2.00.tar.gz" CACHE STRING "URL for KOKKOS tarball") - set(KOKKOS_MD5 "731647b61a4233f568d583702e9cd6d1" CACHE STRING "MD5 checksum of KOKKOS tarball") + set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.3.00.tar.gz" CACHE STRING "URL for KOKKOS tarball") + set(KOKKOS_MD5 "889dcea2b5ced3debdc5b0820044bdc4" CACHE STRING "MD5 checksum of KOKKOS tarball") mark_as_advanced(KOKKOS_URL) mark_as_advanced(KOKKOS_MD5) GetFallbackURL(KOKKOS_URL KOKKOS_FALLBACK) @@ -71,7 +71,7 @@ if(DOWNLOAD_KOKKOS) add_dependencies(LAMMPS::KOKKOSCORE kokkos_build) add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build) elseif(EXTERNAL_KOKKOS) - find_package(Kokkos 4.2.00 REQUIRED CONFIG) + find_package(Kokkos 4.3.00 REQUIRED CONFIG) target_link_libraries(lammps PRIVATE Kokkos::kokkos) else() set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos) @@ -139,8 +139,9 @@ if(PKG_KSPACE) message(WARNING "Using KISS FFT with the CUDA backend of Kokkos may be sub-optimal.") target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_KISS) elseif(FFT_KOKKOS STREQUAL "CUFFT") + find_package(CUDAToolkit REQUIRED) target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_CUFFT) - target_link_libraries(lammps PRIVATE cufft) + target_link_libraries(lammps PRIVATE CUDA::cufft) endif() elseif(Kokkos_ENABLE_HIP) if(NOT ((FFT_KOKKOS STREQUAL "KISS") OR (FFT_KOKKOS STREQUAL "HIPFFT"))) diff --git a/cmake/Modules/Packages/ML-IAP.cmake b/cmake/Modules/Packages/ML-IAP.cmake index d6059c44b8..91b772efb5 100644 --- a/cmake/Modules/Packages/ML-IAP.cmake +++ b/cmake/Modules/Packages/ML-IAP.cmake @@ -10,6 +10,14 @@ endif() option(MLIAP_ENABLE_PYTHON "Build ML-IAP package with Python support" ${MLIAP_ENABLE_PYTHON_DEFAULT}) +# if ML-PACE package *and* MLIAP with Python is enabled is included we may also include ML-PACE support in ML-IAP +set(MLIAP_ENABLE_ACE_DEFAULT OFF) +if(PKG_ML-PACE) + set(MLIAP_ENABLE_ACE_DEFAULT ON) +endif() + +option(MLIAP_ENABLE_ACE "Build ML-IAP package with ACE support" ${MLIAP_ENABLE_ACE_DEFAULT}) + if(MLIAP_ENABLE_PYTHON) find_package(Cythonize REQUIRED) find_package(Python COMPONENTS NumPy REQUIRED) @@ -36,3 +44,10 @@ if(MLIAP_ENABLE_PYTHON) target_compile_definitions(lammps PRIVATE -DMLIAP_PYTHON) target_include_directories(lammps PRIVATE ${MLIAP_BINARY_DIR}) endif() + +if(MLIAP_ENABLE_ACE) + if(NOT PKG_ML-PACE) + message(FATAL_ERROR "Must enable ML-PACE package for including ACE support in ML-IAP") + endif() + target_compile_definitions(lammps PRIVATE -DMLIAP_ACE) +endif() diff --git a/cmake/presets/kokkos-cuda.cmake b/cmake/presets/kokkos-cuda.cmake index 3205387044..878ce0c566 100644 --- a/cmake/presets/kokkos-cuda.cmake +++ b/cmake/presets/kokkos-cuda.cmake @@ -10,7 +10,7 @@ get_filename_component(NVCC_WRAPPER_CMD ${CMAKE_CURRENT_SOURCE_DIR}/../lib/kokko set(CMAKE_CXX_COMPILER ${NVCC_WRAPPER_CMD} CACHE FILEPATH "" FORCE) # If KSPACE is also enabled, use CUFFT for FFTs -set(FFT_KOKKOS "CUFFT" CACHE STRING FORCE) +set(FFT_KOKKOS "CUFFT" CACHE STRING "" FORCE) # hide deprecation warnings temporarily for stable release set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE) diff --git a/cmake/presets/kokkos-hip.cmake b/cmake/presets/kokkos-hip.cmake index ffc259a225..38bf27092f 100644 --- a/cmake/presets/kokkos-hip.cmake +++ b/cmake/presets/kokkos-hip.cmake @@ -13,7 +13,7 @@ set(CMAKE_CXX_COMPILER hipcc CACHE STRING "" FORCE) set(CMAKE_TUNE_FLAGS "-munsafe-fp-atomics" CACHE STRING "" FORCE) # If KSPACE is also enabled, use CUFFT for FFTs -set(FFT_KOKKOS "HIPFFT" CACHE STRING FORCE) +set(FFT_KOKKOS "HIPFFT" CACHE STRING "" FORCE) # hide deprecation warnings temporarily for stable release set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE) diff --git a/doc/lammps.1 b/doc/lammps.1 index 0c7c9a0354..27ec20b1d3 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,7 +1,7 @@ -.TH LAMMPS "1" "7 February 2024" "2024-02-07" +.TH LAMMPS "1" "17 April 2024" "2024-04-17" .SH NAME .B LAMMPS -\- Molecular Dynamics Simulator. Version 7 February 2024 +\- Molecular Dynamics Simulator. Version 17 April 2024 .SH SYNOPSIS .B lmp @@ -297,7 +297,7 @@ the chapter on errors in the manual gives some additional information about error messages, if possible. .SH COPYRIGHT -© 2003--2022 Sandia Corporation +© 2003--2024 Sandia Corporation This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as diff --git a/doc/src/Bibliography.rst b/doc/src/Bibliography.rst index 4ed8e73dfe..9778340c94 100644 --- a/doc/src/Bibliography.rst +++ b/doc/src/Bibliography.rst @@ -877,6 +877,9 @@ Bibliography **(PLUMED)** G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014) +**(Pavlov)** +D Pavlov, V Galigerov, D Kolotinskii, V Nikolskiy, V Stegailov, International Journal of High Performance Computing Applications, 38, 34-49 (2024). + **(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016). preprint available at `arXiv:1411.3019 `_. diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 1f643a9d14..f66238c3c9 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -533,9 +533,6 @@ They must be specified in uppercase. * - A64FX - HOST - ARMv8.2 with SVE Support - * - WSM - - HOST - - Intel Westmere CPU (SSE 4.2) * - SNB - HOST - Intel Sandy/Ivy Bridge CPU (AVX 1) @@ -566,18 +563,15 @@ They must be specified in uppercase. * - KNL - HOST - Intel Knights Landing Xeon Phi - * - BGQ - - HOST - - IBM Blue Gene/Q CPU - * - POWER7 - - HOST - - IBM POWER7 CPU * - POWER8 - HOST - IBM POWER8 CPU * - POWER9 - HOST - IBM POWER9 CPU + * - RISCV_SG2042 + - HOST + - SG2042 (RISC-V) CPU * - KEPLER30 - GPU - NVIDIA Kepler generation CC 3.0 GPU @@ -666,7 +660,7 @@ They must be specified in uppercase. - GPU - Intel GPU Ponte Vecchio -This list was last updated for version 4.2 of the Kokkos library. +This list was last updated for version 4.3.0 of the Kokkos library. .. tabs:: diff --git a/doc/src/Commands_bond.rst b/doc/src/Commands_bond.rst index ef36b6b7c4..0c389df399 100644 --- a/doc/src/Commands_bond.rst +++ b/doc/src/Commands_bond.rst @@ -89,6 +89,7 @@ OPT. * :doc:`cosine/shift (o) ` * :doc:`cosine/shift/exp (o) ` * :doc:`cosine/squared (o) ` + * :doc:`cosine/squared/restricted (o) ` * :doc:`cross ` * :doc:`dipole (o) ` * :doc:`fourier (o) ` @@ -127,6 +128,7 @@ OPT. * :doc:`charmmfsw (k) ` * :doc:`class2 (ko) ` * :doc:`cosine/shift/exp (o) ` + * :doc:`cosine/squared/restricted ` * :doc:`fourier (io) ` * :doc:`harmonic (iko) ` * :doc:`helix (o) ` diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index e89e302673..a7648218fa 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -61,6 +61,7 @@ OPT. * :doc:`controller ` * :doc:`damping/cundall ` * :doc:`deform (k) ` + * :doc:`deform/pressure ` * :doc:`deposit ` * :doc:`dpd/energy (k) ` * :doc:`drag ` @@ -262,6 +263,7 @@ OPT. * :doc:`wall/body/polyhedron ` * :doc:`wall/colloid ` * :doc:`wall/ees ` + * :doc:`wall/flow (k) ` * :doc:`wall/gran (k) ` * :doc:`wall/gran/region ` * :doc:`wall/harmonic ` diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 9f2bdbce79..514785c15c 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -245,6 +245,7 @@ OPT. * :doc:`oxrna2/coaxstk ` * :doc:`pace (k) ` * :doc:`pace/extrapolation (k) ` + * :doc:`pedone (o) ` * :doc:`pod ` * :doc:`peri/eps ` * :doc:`peri/lps (o) ` @@ -256,6 +257,7 @@ OPT. * :doc:`rann ` * :doc:`reaxff (ko) ` * :doc:`rebo (io) ` + * :doc:`rebomos (o) ` * :doc:`resquared (go) ` * :doc:`saip/metal (t) ` * :doc:`sdpd/taitwater/isothermal ` diff --git a/doc/src/Developer_updating.rst b/doc/src/Developer_updating.rst index cd61eaa5a1..83491ac095 100644 --- a/doc/src/Developer_updating.rst +++ b/doc/src/Developer_updating.rst @@ -18,6 +18,7 @@ Available topics in mostly chronological order are: - `Setting flags in the constructor`_ - `Rename of pack/unpack_comm() to pack/unpack_forward_comm()`_ - `Use ev_init() to initialize variables derived from eflag and vflag`_ +- `Use utils::count_words() functions instead of atom->count_words()`_ - `Use utils::numeric() functions instead of force->numeric()`_ - `Use utils::open_potential() function to open potential files`_ - `Use symbolic Atom and AtomVec constants instead of numerical values`_ @@ -130,6 +131,41 @@ Not applying this change will not cause a compilation error, but can lead to inconsistent behavior and incorrect tallying of energy or virial. +Use utils::count_words() functions instead of atom->count_words() +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. versionchanged:: 2Jun2020 + +The "count_words()" functions for parsing text have been moved from the +Atom class to the :doc:`utils namespace `. The +"count_words()" function in "utils" uses the Tokenizer class internally +to split a line into words and count them, thus it will not modify the +argument string as the function in the Atoms class did and thus had a +variant using a copy buffer. Unlike the old version, the new version +does not remove comments. For that you can use the +:cpp:func:`utils::trim_comment() function +` as shown in the example below. + +Old: + +.. code-block:: c++ + + nwords = atom->count_words(line); + int nwords = atom->count_words(buf); + +New: + +.. code-block:: c++ + + nwords = utils::count_words(line); + int nwords = utils::count_words(utils::trim_comment(buf)); + +.. seealso:: + + :cpp:func:`utils::count_words() `, + :cpp:func:`utils::trim_comments() ` + + Use utils::numeric() functions instead of force->numeric() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -137,11 +173,12 @@ Use utils::numeric() functions instead of force->numeric() The "numeric()" conversion functions (including "inumeric()", "bnumeric()", and "tnumeric()") have been moved from the Force class to -the utils namespace. Also they take an additional argument that selects -whether the ``Error::all()`` or ``Error::one()`` function should be -called in case of an error. The former should be used when *all* MPI -processes call the conversion function and the latter *must* be used -when they are called from only one or a subset of the MPI processes. +the :doc:`utils namespace `. Also they take an +additional argument that selects whether the ``Error::all()`` or +``Error::one()`` function should be called in case of an error. The +former should be used when *all* MPI processes call the conversion +function and the latter *must* be used when they are called from only +one or a subset of the MPI processes. Old: diff --git a/doc/src/Developer_utils.rst b/doc/src/Developer_utils.rst index 625ce15202..76e90e17ba 100644 --- a/doc/src/Developer_utils.rst +++ b/doc/src/Developer_utils.rst @@ -635,10 +635,10 @@ Tohoku University (under MIT license) ---------- -.. doxygenfunction:: MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) +.. doxygenfunction:: MathEigen::jacobi3(double const *const *mat, double *eval, double **evec, int sort) :project: progguide -.. doxygenfunction:: MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) +.. doxygenfunction:: MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort) :project: progguide --------------------------- diff --git a/doc/src/Errors_details.rst b/doc/src/Errors_details.rst index b63d80a9ae..c798784106 100644 --- a/doc/src/Errors_details.rst +++ b/doc/src/Errors_details.rst @@ -13,15 +13,44 @@ discussions of such cases. Unknown identifier in data file ------------------------------- -This error happens when LAMMPS encounters a line of text in an unexpected format -while reading a data file. This is most commonly cause by inconsistent header and -section data. The header section informs LAMMPS how many entries or lines are expected in the -various sections (like Atoms, Masses, Pair Coeffs, *etc.*\ ) of the data file. -If there is a mismatch, LAMMPS will either keep reading beyond the end of a section -or stop reading before the section has ended. +This error happens when LAMMPS encounters a line of text with an +unexpected keyword while :doc:`reading a data file `. This +would be either header keywords or section header keywords. This is +most commonly due to a mistyped keyword or due to a keyword that is +inconsistent with the :doc:`atom style ` used. -Such a mismatch can happen unexpectedly when the first line of the data -is *not* a comment as required by the format. That would result in -LAMMPS expecting, for instance, 0 atoms because the "atoms" header line -is treated as a comment. +The header section informs LAMMPS how many entries or lines are expected +in the various sections (like Atoms, Masses, Pair Coeffs, *etc.*\ ) of +the data file. If there is a mismatch, LAMMPS will either keep reading +beyond the end of a section or stop reading before the section has +ended. In that case the next line will not contain a recognized keyword. +Such a mismatch can also happen when the first line of the data +is *not* a comment as required by the format, but a line with a valid +header keyword. That would result in LAMMPS expecting, for instance, +0 atoms because the "atoms" header line is the first line and thus +treated as a comment. + +Another possibility to trigger this error is to have a keyword in the +data file that corresponds to a fix (e.g. :doc:`fix cmap `) +but the :doc:`read_data ` command is missing the (optional) +arguments that identify the fix and the header keyword and section +keyword or those arguments are inconsistent with the keywords in the +data file. + +.. _err0002: + +Incorrect format in ... section of data file +-------------------------------------------- + +This error happens when LAMMPS reads the contents of a section of a +:doc:`data file ` and the number of parameters in the line +differs from what is expected. This most commonly happens, when the +atom style is different from what is expected for a specific data file +since changing the atom style usually changes the format of the line. + +This error can also happen when the number of entries indicated in the +header of a data file (e.g. the number of atoms) is larger than the +number of lines provided (e.g. in the corresponding Atoms section) +and then LAMMPS will continue reading into the next section and that +would have a completely different format. diff --git a/doc/src/Errors_messages.rst b/doc/src/Errors_messages.rst index bfdba4f6a1..2a146a9184 100644 --- a/doc/src/Errors_messages.rst +++ b/doc/src/Errors_messages.rst @@ -7883,12 +7883,6 @@ keyword to allow for additional bonds to be formed Fix poems cannot (yet) work with coupled bodies whose joints connect the bodies in a tree structure. -*Triclinic box skew is too large* - The displacement in a skewed direction must be less than half the box - length in that dimension. E.g. the xy tilt must be between -half and - +half of the x box length. This constraint can be relaxed by using - the box tilt command. - *Tried to convert a double to int, but input_double > INT_MAX* Self-explanatory. diff --git a/doc/src/Errors_warnings.rst b/doc/src/Errors_warnings.rst index b0fa2e2173..d244818cc9 100644 --- a/doc/src/Errors_warnings.rst +++ b/doc/src/Errors_warnings.rst @@ -752,13 +752,6 @@ This will most likely cause errors in kinetic fluctuations. More than the maximum # of neighbors was found multiple times. This was unexpected. -*Triclinic box skew is large* - The displacement in a skewed direction is normally required to be less - than half the box length in that dimension. E.g. the xy tilt must be - between -half and +half of the x box length. You have relaxed the - constraint using the box tilt command, but the warning means that a - LAMMPS simulation may be inefficient as a result. - *Use special bonds = 0,1,1 with bond style fene* Most FENE models need this setting for the special_bonds command. diff --git a/doc/src/Fortran.rst b/doc/src/Fortran.rst index 64fca57a02..e9976b9032 100644 --- a/doc/src/Fortran.rst +++ b/doc/src/Fortran.rst @@ -1255,8 +1255,8 @@ Procedures Bound to the :f:type:`lammps` Derived Type three elements of the global vector calculated by fix recenter into the variables *dx*, *dy*, and *dz*, respectively. - If asked for per-atom or local data, :f:func:`extract_compute` returns a - pointer to actual LAMMPS data. The pointer so returned will have the + If asked for per-atom or local data, :f:func:`extract_fix` returns a + pointer to actual LAMMPS data. The pointer returned will have the appropriate size to match the internal data, and will be type/kind/rank-checked at the time of the assignment. For example, diff --git a/doc/src/Howto_2d.rst b/doc/src/Howto_2d.rst index ae58711063..d02cfc0814 100644 --- a/doc/src/Howto_2d.rst +++ b/doc/src/Howto_2d.rst @@ -1,42 +1,112 @@ -2d simulations -============== +================ + 2d simulations +================ -Use the :doc:`dimension ` command to specify a 2d simulation. +You must use the :doc:`dimension ` command to specify a 2d +simulation. The default is 3d. -Make the simulation box periodic in z via the :doc:`boundary ` -command. This is the default. +A 2d simulation box must be periodic in z as set by the :doc:`boundary +` command. This is the default. -If using the :doc:`create_box ` command to define a -simulation box, set the z dimensions narrow, but finite, so that the -:doc:`create_atoms ` command will fill the 3d simulation -box with a single z plane of atoms - e.g. +Simulation boxes in LAMMPS can be either orthogonal or triclinic in +shape. Orthogonal boxes in 2d are a rectangle with 4 edges that are +each perpendicular to either the x or y coordinate axes. Triclinic +boxes in 2d are a parallelogram with opposite pairs of faces parallel +to each other. LAMMPS supports two forms of triclinic boxes, +restricted and general, which for 2d differ in how the box is oriented +with respect to the xy coordinate axes. See the :doc:`Howto triclinic +` for a detailed description of all 3 kinds of +simulation boxes. + +Here are examples of using the :doc:`create_box ` command +to define the simulation box for a 2d system. .. code-block:: LAMMPS - create_box 1 -10 10 -10 10 -0.25 0.25 + # 2d orthogonal box using a block-style region + region mybox block -10 10 0 10 -0.5 0.5 + create_box 1 mybox -If using the :doc:`read_data ` command to read in a file of -atom coordinates, set the "zlo zhi" values to be finite but narrow, -similar to the create_box command settings just described. For each -atom in the file, assign a z coordinate so it falls inside the -z-boundaries of the box - e.g. 0.0. + # 2d restricted triclinic box using a prism-style region with only xy tilt + region mybox prism 0 10 0 10 -0.5 0.5 2.0 0.0 0.0 + create_box 1 mybox -Use the :doc:`fix enforce2d ` command as the last -defined fix to ensure that the z-components of velocities and forces -are zeroed out every timestep. The reason to make it the last fix is -so that any forces induced by other fixes will be zeroed out. + # 2d general triclinic box using a primitive cell for a 2d hex lattice + lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 & + a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general + create_box 1 NULL 0 5 0 5 -0.5 0.5 -Many of the example input scripts included in the LAMMPS distribution +Note that for 2d orthogonal or restricted triclinic boxes, the box has +a 3rd dimension which must straddle z = 0.0 in the z dimension. +Typically the width of box in the z dimension should be narrow, +e.g. -0.5 to 0.5, but that is not required. For a 2d general +triclinic box, the *a3* vector defined by the :doc:`lattice ` +command must be (0.0,0.0,1.0), which is its default value. Also the +*clo* and *chi* arguments of the :doc:`create_box ` +command must be -0.5 and 0.5. + +Here are examples of using the :doc:`read_data ` command +to define the simulation box for a 2d system via keywords in the +header section of the data file. These are the same boxes as the examples +for the :doc:`create_box ` command + +.. code-block:: LAMMPS + + # 2d orthogonal box + -10 10 xlo xhi + 0 10 ylo yhi + -0.5 0.5 zlo zhi # this is the default, so no need to specify + + # 2d restricted triclinic box with only xy tilt + -10 10 xlo xhi + 0 10 ylo yhi + -0.5 0.5 zlo zhi # this is the default, so no need to specify + 2.0 0.0 0.0 xy xz yz + + # 3d general triclinic box using a primitive cell for a 2d hex lattice + 5 0 0 avec + 2.5 4.3301270189 0 bvec + 0 0 1 cvec # this is the default, so no need to specify + 0 0 -0.5 abc origin # this is the default for 2d, so no need to specify + +Note that for 2d orthogonal or restricted triclinic boxes, the box has +a 3rd dimension specified by the *zlo zhi* values, which must straddle +z = 0.0. Typically the width of box in the z dimension should be +narrow, e.g. -0.5 to 0.5, but that is not required. For a 2d general +triclinic box, the z component of *avec* and *bvec* must be zero, and +*cvec* must be (0,0,1), which is the default. The z component of *abc +origin* must also be -0.5, which is the default. + +If using the :doc:`create_atoms ` command to create +atoms in the 2d simulation box, all the z coordinates of created atoms +will be zero. + +If using the :doc:`read_data ` command to read in a data +file of atom coordinates for a 2d system, the z coordinates of all +atoms should be zero. A value within epsilon of zero is also allowed +in case the data file was generated by another program with finite +numeric precision, in which case the z coord for the atom will be set +to zero. + +Use the :doc:`fix enforce2d ` command as the last fix +defined in the input script. It ensures that the z-components of +velocities and forces are zeroed out every timestep. The reason to +make it the last fix is so that any forces added by other fixes will +also be zeroed out. + +Many of the example input scripts included in the examples directory are for 2d models. .. note:: Some models in LAMMPS treat particles as finite-size spheres, as - opposed to point particles. See the :doc:`atom_style sphere ` and :doc:`fix nve/sphere ` - commands for details. By default, for 2d simulations, such particles - will still be modeled as 3d spheres, not 2d discs (circles), meaning + opposed to point particles. See the :doc:`atom_style sphere + ` and :doc:`fix nve/sphere ` commands + for details. By default, for 2d simulations, such particles will + still be modeled as 3d spheres, not 2d discs (circles), meaning their moment of inertia will be that of a sphere. If you wish to - model them as 2d discs, see the :doc:`set density/disc ` command - and the *disc* option for the :doc:`fix nve/sphere `, - :doc:`fix nvt/sphere `, :doc:`fix nph/sphere `, :doc:`fix npt/sphere ` - commands. + model them as 2d discs, see the :doc:`set density/disc ` + command and the *disc* option for the :doc:`fix nve/sphere + `, :doc:`fix nvt/sphere `, + :doc:`fix nph/sphere `, :doc:`fix npt/sphere + ` commands. diff --git a/doc/src/Howto_body.rst b/doc/src/Howto_body.rst index 968e10edd8..23d0e1019d 100644 --- a/doc/src/Howto_body.rst +++ b/doc/src/Howto_body.rst @@ -102,8 +102,19 @@ particles of different styles | :doc:`dump image ` | output body particle attributes as an image | +------------------------------------------------+-----------------------------------------------------+ -The pair styles defined for use with specific body styles are listed -in the sections below. +The pair styles currently defined for use with specific body styles +are listed in the sections below. + +Note that for all the body styles, if the data file defines a general +triclinic box, then the orientation of the body particle and its +corresponding 6 moments of inertia and other orientation-dependent +values should reflect the fact the body is defined withing a general +triclinic box with edge vectors **A**,**B**,**C**. LAMMPS will rotate +the box to convert it to a restricted triclinic box. This operation +will also rotate the orientation of the body particles. See the +:doc:`Howto triclinic ` doc page for more details. +The sections below highlight the orientation-dependent values specific +to each body style. ---------- @@ -154,12 +165,18 @@ values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with respect to the principal axes of the rigid body itself. LAMMPS performs the latter calculation internally. + The coordinates of each sub-particle are specified as its x,y,z displacement from the center-of-mass of the body particle. The center-of-mass position of the particle is specified by the x,y,z values in the *Atoms* section of the data file, as is the total mass of the body particle. +Note that if the data file defines a general triclinic simulation box, +these sub-particle displacements are orientation-dependent and, as +mentioned above, should reflect the body particle's orientation within +the general triclinic box. + The :doc:`pair_style body/nparticle ` command can be used with this body style to compute body/body and body/non-body interactions. @@ -226,6 +243,7 @@ values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with respect to the principal axes of the rigid body itself. LAMMPS performs the latter calculation internally. + The coordinates of each vertex are specified as its x,y,z displacement from the center-of-mass of the body particle. The center-of-mass position of the particle is specified by the x,y,z values in the @@ -270,6 +288,11 @@ A disk, whose diameter is 3.0, mass 1.0, is specified as follows: 0 0 0 3.0 +Note that if the data file defines a general triclinic simulation box, +these polygon vertex displacements are orientation-dependent and, as +mentioned above, should reflect the body particle's orientation within +the general triclinic box. + The :doc:`pair_style body/rounded/polygon ` command can be used with this body style to compute body/body interactions. The :doc:`fix wall/body/polygon ` @@ -366,6 +389,7 @@ values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with respect to the principal axes of the rigid body itself. LAMMPS performs the latter calculation internally. + The coordinates of each vertex are specified as its x,y,z displacement from the center-of-mass of the body particle. The center-of-mass position of the particle is specified by the x,y,z values in the @@ -435,6 +459,11 @@ A sphere whose diameter is 3.0 and mass 1.0, is specified as follows: The number of edges and faces for a rod or sphere must be listed, but is ignored. +Note that if the data file defines a general triclinic simulation box, +these polyhedron vertex displacements are orientation-dependent and, +as mentioned above, should reflect the body particle's orientation +within the general triclinic box. + The :doc:`pair_style body/rounded/polhedron ` command can be used with this body style to compute body/body interactions. The :doc:`fix diff --git a/doc/src/Howto_bpm.rst b/doc/src/Howto_bpm.rst index 0ca4e85fbb..5aa277275d 100644 --- a/doc/src/Howto_bpm.rst +++ b/doc/src/Howto_bpm.rst @@ -15,7 +15,8 @@ orientation for rotational models. This produces a stress-free initial state. Furthermore, bonds are allowed to break under large strains, producing fracture. The examples/bpm directory has sample input scripts for simulations of the fragmentation of an impacted plate and the -pouring of extended, elastic bodies. +pouring of extended, elastic bodies. See :ref:`(Clemmer) ` +for more general information on the approach and the LAMMPS implementation. ---------- @@ -150,3 +151,9 @@ the following are currently compatible with BPM bond styles: interactions, one will need to switch between different *special_bonds* settings in the input script. An example is found in ``examples/bpm/impact``. + +---------- + +.. _howto-Clemmer: + +**(Clemmer)** Clemmer, Monti, Lechman, Soft Matter, 20, 1702 (2024). diff --git a/doc/src/Howto_granular.rst b/doc/src/Howto_granular.rst index c22cab66bc..b0c801be11 100644 --- a/doc/src/Howto_granular.rst +++ b/doc/src/Howto_granular.rst @@ -45,10 +45,15 @@ atoms, and should be used for granular system instead of the fix style To model heat conduction, one must add the temperature and heatflow atom variables with: + * :doc:`fix property/atom ` + a temperature integration fix + * :doc:`fix heat/flow ` + and a heat conduction option defined in both + * :doc:`pair_style granular ` * :doc:`fix wall/gran ` diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index 2983d013c6..3529579d65 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -2,43 +2,195 @@ Triclinic (non-orthogonal) simulation boxes =========================================== By default, LAMMPS uses an orthogonal simulation box to encompass the -particles. The :doc:`boundary ` command sets the boundary -conditions of the box (periodic, non-periodic, etc). The orthogonal -box has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors -starting from the origin given by **a** = (xhi-xlo,0,0); **b** = -(0,yhi-ylo,0); **c** = (0,0,zhi-zlo). The 6 parameters +particles. The orthogonal box has its "origin" at (xlo,ylo,zlo) and +extends to (xhi,yhi,zhi). Conceptually it is defined by 3 edge +vectors starting from the origin given by **A** = (xhi-xlo,0,0); **B** += (0,yhi-ylo,0); **C** = (0,0,zhi-zlo). The :doc:`boundary +` command sets the boundary conditions for the 6 faces of +the box (periodic, non-periodic, etc). The 6 parameters (xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box -is created, e.g. by the :doc:`create_box ` or -:doc:`read_data ` or :doc:`read_restart ` -commands. Additionally, LAMMPS defines box size parameters lx,ly,lz -where lx = xhi-xlo, and similarly in the y and z dimensions. The 6 -parameters, as well as lx,ly,lz, can be output via the -:doc:`thermo_style custom ` command. +is created by one of these commands: -LAMMPS also allows simulations to be performed in triclinic -(non-orthogonal) simulation boxes shaped as a parallelepiped with -triclinic symmetry. The parallelepiped has its "origin" at -(xlo,ylo,zlo) and is defined by 3 edge vectors starting from the -origin given by **a** = (xhi-xlo,0,0); **b** = (xy,yhi-ylo,0); **c** = -(xz,yz,zhi-zlo). *xy,xz,yz* can be 0.0 or positive or negative values -and are called "tilt factors" because they are the amount of -displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped. In LAMMPS the triclinic -simulation box edge vectors **a**, **b**, and **c** cannot be arbitrary -vectors. As indicated, **a** must lie on the positive x axis. **b** must -lie in the xy plane, with strictly positive y component. **c** may have -any orientation with strictly positive z component. The requirement -that **a**, **b**, and **c** have strictly positive x, y, and z components, -respectively, ensures that **a**, **b**, and **c** form a complete -right-handed basis. These restrictions impose no loss of generality, -since it is possible to rotate/invert any set of 3 crystal basis -vectors so that they conform to the restrictions. +* :doc:`create_box ` +* :doc:`read_data ` +* :doc:`read_restart ` +* :doc:`read_dump ` -For example, assume that the 3 vectors **A**,\ **B**,\ **C** are the edge -vectors of a general parallelepiped, where there is no restriction on -**A**,\ **B**,\ **C** other than they form a complete right-handed basis i.e. -**A** x **B** . **C** > 0. The equivalent LAMMPS **a**,\ **b**,\ **c** are a linear -rotation of **A**, **B**, and **C** and can be computed as follows: +Internally, LAMMPS defines box size parameters lx,ly,lz where lx = +xhi-xlo, and similarly in the y and z dimensions. The 6 parameters, as +well as lx,ly,lz, can be output via the :doc:`thermo_style custom +` command. See the :doc:`Howto 2d ` doc page +for info on how zlo and zhi are defined for 2d simulations. + +---------- + +Triclinic simulation boxes +"""""""""""""""""""""""""" + +LAMMPS also allows simulations to be performed using triclinic +(non-orthogonal) simulation boxes shaped as a 3d parallelepiped with +triclinic symmetry. For 2d simulations a triclinic simulation box is +effectively a parallelogram; see the :doc:`Howto 2d ` doc +page for details. + +One use of triclinic simulation boxes is to model solid-state crystals +with triclinic symmetry. The :doc:`lattice ` command can be +used with non-orthogonal basis vectors to define a lattice that will +tile a triclinic simulation box via the :doc:`create_atoms +` command. + +A second use is to run Parrinello-Rahman dynamics via the :doc:`fix +npt ` command, which will adjust the xy, xz, yz tilt factors +to compensate for off-diagonal components of the pressure tensor. The +analog for an :doc:`energy minimization ` is the :doc:`fix +box/relax ` command. + +A third use is to shear a bulk solid to study the response of the +material. The :doc:`fix deform ` command can be used for +this purpose. It allows dynamic control of the xy, xz, yz tilt +factors as a simulation runs. This is discussed in the :doc:`Howto +NEMD ` doc page on non-equilibrium MD (NEMD) simulations. + +Conceptually, a triclinic parallelepiped is defined with an "origin" +at (xlo,ylo,zhi) and 3 edge vectors **A** = (ax,ay,az), **B** = +(bx,by,bz), **C** = (cx,cy,cz) which can be arbitrary vectors, so long +as they are non-zero, distinct, and not co-planar. In addition, they +must define a right-handed system, such that (**A** cross **B**) +points in the direction of **C**. Note that a left-handed system can +be converted to a right-handed system by simply swapping the order of +any pair of the **A**, **B**, **C** vectors. + +The 4 commands listed above for defining orthogonal simulation boxes +have triclinic options which allow for specification of the origin and +edge vectors **A**, **B**, **C**. For each command, this can be done +in one of two ways, for what LAMMPS calls a *general* triclinic box or +a *restricted* triclinic box. + +A *general* triclinic box is specified by an origin (xlo, ylo, zlo) +and arbitrary edge vectors **A** = (ax,ay,az), **B** = (bx,by,bz), and +**C** = (cx,cy,cz). So there are 12 parameters in total. + +A *restricted* triclinic box also has an origin (xlo,ylo,zlo), but its +edge vectors are of the following restricted form: **A** = +(xhi-xlo,0,0), **B** = (xy,yhi-ylo,0), **C** = (xz,yz,zhi-zlo). So +there are 9 parameters in total. Note that the restricted form +requires **A** to be along the x-axis, **B** to be in the xy plane +with a y-component in the +y direction, and **C** to have its +z-component in the +z direction. Note that a restricted triclinic box +is *right-handed* by construction since (**A** cross **B**) points in +the direction of **C**. + +The *xy,xz,yz* values can be zero or positive or negative. They are +called "tilt factors" because they are the amount of displacement +applied to edges of faces of an orthogonal box to change it into a +restricted triclinic parallelepiped. + +.. note:: + + Any right-handed general triclinic box (i.e. solid-state crystal + basis vectors) can be rotated in 3d around its origin in order to + conform to the LAMMPS definition of a restricted triclinic box. + See the discussion in the next sub-section about general triclinic + simulation boxes in LAMMPS. + +Note that the :doc:`thermo_style custom ` command has +keywords for outputting the various parameters that define the size +and shape of orthogonal, restricted triclinic, and general triclinic +simulation boxes. + +For orthogonal boxes there 6 thermo keywords (xlo,ylo,zlo) and +(xhi,yhi,zhi). + +For restricted triclinic boxes there are 9 thermo keywords for +(xlo,ylo,zlo), (xhi,yhi,zhi), and the (xy,xz,yz) tilt factors. + +For general triclinic boxes there are 12 thermo keywords for +(xlo,ylo,zhi) and the components of the **A**, **B**, **C** edge +vectors, namely (avecx,avecy,avecz), (bvecx,bvecy,bvecz), and +(cvecx,cvecy,cvecz), + +The remainder of this doc page explains (a) how LAMMPS operates with +general triclinic simulation boxes, (b) mathematical transformations +between general and restricted triclinic boxes which may be useful +when creating LAMMPS inputs or interpreting outputs for triclinic +simulations, and (c) how LAMMPS uses tilt factors for restricted +triclinic simulation boxes. + +---------- + +General triclinic simulation boxes in LAMMPS +"""""""""""""""""""""""""""""""""""""""""""" + +LAMMPS allows specification of general triclinic simulation boxes with +their atoms as a convenience for users who may be converting data from +solid-state crystallographic representations or from DFT codes for +input to LAMMPS. Likewise it allows output of dump files, data files, +and thermodynamic data (e.g. pressure tensor) in a general triclinic +format. + +However internally, LAMMPS only uses restricted triclinic simulation +boxes. This is for parallel efficiency and to formulate partitioning +of the simulation box across processors, neighbor list building, and +inter-processor communication of per-atom data with methods similar to +those used for orthogonal boxes. + +This means 4 things which are important to understand: + +* Input of a general triclinic system is immediately converted to a + restricted triclinic system. +* If output of per-atom data for a general triclinic system is + requested (e.g. for atom coordinates in a dump file), + conversion from a restricted to general triclinic system is done at + the time of output. +* The conversion of the simulation box and per-atom data from general + triclinic to restricted triclinic (and vice versa) is a 3d rotation + operation around an origin, which is the lower left corner of the + simulation box. This means an input data file for a general + triclinic system should specify all per-atom quantities consistent + with the general triclinic box and its orientation relative to the + standard x,y,z coordinate axes. For example, atom coordinates + should be inside the general triclinic simulation box defined by the + edge vectors **A**, **B**, **C** and its origin. Likewise per-atom + velocities should be in directions consistent with the general + triclinic box orientation. E.g. a velocity vector which will be in + the +x direction once LAMMPS converts from a general to restricted + triclinic box, should be specified in the data file in the direction + of the **A** edge vector. See the :doc:`read_data ` doc + page for info on all the per-atom vector quantities to which this + rule applies when a data file for a general triclinic box is input. +* If commands such as :doc:`write_data ` or :doc:`dump + custom ` are used to output general triclinic information, it + is effectively the inverse of the operation described in the + preceding bullet. +* Other LAMMPS commands such as :doc:`region ` or + :doc:`velocity ` or :doc:`set `, operate on a + restricted triclinic system even if a general triclinic system was + defined initially. + +This is the list of commands which have general triclinic options: + +* :doc:`create_box ` - define a general triclinic box +* :doc:`create_atoms ` - add atoms to a general triclinic box +* :doc:`lattice ` - define a custom lattice consistent with the **A**, **B**, **C** edge vectors of a general triclinic box +* :doc:`read_data ` - read a data file for a general triclinic system +* :doc:`write_data ` - write a data file for a general triclinic system +* :doc:`dump atom, dump custom ` - output dump snapshots in general triclinic format +* :doc:`dump_modify triclinic/general ` - select general triclinic format for dump output +* :doc:`thermo_style ` - output the pressure tensor in + general triclinic format +* :doc:`thermo_modify triclinic/general ` - select general triclinic format for thermo output +* :doc:`read_restart ` - read a restart file for a general triclinic system +* :doc:`write_restart ` - write a restart file for a general triclinic system + +---------- + +Transformation from general to restricted triclinic boxes +""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +Let **A**,\ **B**,\ **C** be the right-handed edge vectors of a +general triclinic simulation box. The equivalent LAMMPS **a**,\ +**b**,\ **c** for a restricted triclinic box are a 3d rotation of +**A**, **B**, and **C** and can be computed as follows: .. math:: @@ -55,23 +207,17 @@ rotation of **A**, **B**, and **C** and can be computed as follows: c_y = & \mathbf{C} \cdot \widehat{(\mathbf{A} \times \mathbf{B})} \times \mathbf{\hat{A}} \quad = \quad \frac{\mathbf{B} \cdot \mathbf{C} - b_x c_x}{b_y} \\ c_z = & |\mathbf{C} \cdot \widehat{(\mathbf{A} \times \mathbf{B})}|\quad = \quad \sqrt{C^2 - {c_x}^2 - {c_y}^2} -where A = \| **A** \| indicates the scalar length of **A**\ . The hat symbol (\^) -indicates the corresponding unit vector. :math:`\beta` and :math:`\gamma` are angles -between the vectors described below. Note that by construction, -**a**, **b**, and **c** have strictly positive x, y, and z components, respectively. -If it should happen that -**A**, **B**, and **C** form a left-handed basis, then the above equations -are not valid for **c**\ . In this case, it is necessary -to first apply an inversion. This can be achieved -by interchanging two basis vectors or by changing the sign of one of them. +where A = \| **A** \| indicates the scalar length of **A**\ . The hat +symbol (\^) indicates the corresponding unit vector. :math:`\beta` and +:math:`\gamma` are angles between the **A**, **B**, **C** vectors +as described below. -For consistency, the same rotation/inversion applied to the basis vectors -must also be applied to atom positions, velocities, -and any other vector quantities. -This can be conveniently achieved by first converting to -fractional coordinates in the -old basis and then converting to distance coordinates in the new basis. -The transformation is given by the following equation: +For consistency, the same rotation applied to the triclinic box edge +vectors can also be applied to atom positions, velocities, and other +vector quantities. This can be conveniently achieved by first +converting to fractional coordinates in the general triclinic +coordinates and then converting to coordinates in the restricted +triclinic basis. The transformation is given by the following equation: .. math:: @@ -82,87 +228,24 @@ The transformation is given by the following equation: \mathbf{A \times B} \end{pmatrix} \cdot \mathbf{X} -where *V* is the volume of the box, **X** is the original vector quantity and -**x** is the vector in the LAMMPS basis. +where *V* is the volume of the box (same in either basis), **X** is +the fractional vector in the general triclinic basis and **x** is the +resulting vector in the restricted triclinic basis. -There is no requirement that a triclinic box be periodic in any -dimension, though it typically should be in at least the second dimension -of the tilt (y in xy) if you want to enforce a shift in periodic -boundary conditions across that boundary. Some commands that work -with triclinic boxes, e.g. the :doc:`fix deform ` and :doc:`fix npt ` commands, require periodicity or non-shrink-wrap -boundary conditions in specific dimensions. See the command doc pages -for details. +---------- -The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the -time the simulation box is created. This happens in one of 3 ways. -If the :doc:`create_box ` command is used with a region of -style *prism*, then a triclinic box is setup. See the -:doc:`region ` command for details. If the -:doc:`read_data ` command is used to define the simulation -box, and the header of the data file contains a line with the "xy xz -yz" keyword, then a triclinic box is setup. See the -:doc:`read_data ` command for details. Finally, if the -:doc:`read_restart ` command reads a restart file which -was written from a simulation using a triclinic box, then a triclinic -box will be setup for the restarted simulation. +Crystallographic general triclinic representation of a simulation box +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -Note that you can define a triclinic box with all 3 tilt factors = -0.0, so that it is initially orthogonal. This is necessary if the box -will become non-orthogonal, e.g. due to the :doc:`fix npt ` or -:doc:`fix deform ` commands. Alternatively, you can use the -:doc:`change_box ` command to convert a simulation box from -orthogonal to triclinic and vice versa. - -As with orthogonal boxes, LAMMPS defines triclinic box size parameters -lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions. -The 9 parameters, as well as lx,ly,lz, can be output via the -:doc:`thermo_style custom ` command. - -To avoid extremely tilted boxes (which would be computationally -inefficient), LAMMPS normally requires that no tilt factor can skew -the box more than half the distance of the parallel box length, which -is the first dimension in the tilt factor (x for xz). This is required -both when the simulation box is created, e.g. via the -:doc:`create_box ` or :doc:`read_data ` commands, -as well as when the box shape changes dynamically during a simulation, -e.g. via the :doc:`fix deform ` or :doc:`fix npt ` -commands. - -For example, if xlo = 2 and xhi = 12, then the x box length is 10 and -the xy tilt factor must be between -5 and 5. Similarly, both xz and -yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is -not a limitation, since if the maximum tilt factor is 5 (as in this -example), then configurations with tilt = ..., -15, -5, 5, 15, 25, -... are geometrically all equivalent. If the box tilt exceeds this -limit during a dynamics run (e.g. via the :doc:`fix deform ` -command), then the box is "flipped" to an equivalent shape with a tilt -factor within the bounds, so the run can continue. See the :doc:`fix deform ` page for further details. - -One exception to this rule is if the first dimension in the tilt -factor (x for xy) is non-periodic. In that case, the limits on the -tilt factor are not enforced, since flipping the box in that dimension -does not change the atom positions due to non-periodicity. In this -mode, if you tilt the system to extreme angles, the simulation will -simply become inefficient, due to the highly skewed simulation box. - -Box flips that may occur using the :doc:`fix deform ` or -:doc:`fix npt ` commands can be turned off using the *flip no* -option with either of the commands. - -Note that if a simulation box has a large tilt factor, LAMMPS will run -less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor's irregular-shaped subdomain. -For extreme values of tilt, LAMMPS may also lose atoms and generate an -error. - -Triclinic crystal structures are often defined using three lattice -constants *a*, *b*, and *c*, and three angles :math:`\alpha`, -:math:`\beta`, and :math:`\gamma`. Note that in this nomenclature, -the a, b, and c lattice constants are the scalar lengths of the edge +General triclinic crystal structures are often defined using three +lattice constants *a*, *b*, and *c*, and three angles :math:`\alpha`, +:math:`\beta`, and :math:`\gamma`. Note that in this nomenclature, the +a, b, and c lattice constants are the scalar lengths of the edge vectors **a**, **b**, and **c** defined above. The relationship between these 6 quantities (a, b, c, :math:`\alpha`, :math:`\beta`, -:math:`\gamma`) and the LAMMPS box sizes (lx,ly,lz) = -(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows: +:math:`\gamma`) and the LAMMPS restricted triclinic box sizes +(lx,ly,lz) = (xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is +as follows: .. math:: @@ -186,15 +269,19 @@ The inverse relationship can be written as follows: The values of *a*, *b*, *c*, :math:`\alpha` , :math:`\beta`, and :math:`\gamma` can be printed out or accessed by computes using the -:doc:`thermo_style custom ` keywords -*cella*, *cellb*, *cellc*, *cellalpha*, *cellbeta*, *cellgamma*, -respectively. +:doc:`thermo_style custom ` keywords *cella*, *cellb*, +*cellc*, *cellalpha*, *cellbeta*, *cellgamma*, respectively. + +---------- + +Output of restricted and general triclinic boxes in a dump file +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" As discussed on the :doc:`dump ` command doc page, when the BOX -BOUNDS for a snapshot is written to a dump file for a triclinic box, -an orthogonal bounding box which encloses the triclinic simulation box -is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic -box, formatted as follows: +BOUNDS for a snapshot is written to a dump file for a restricted +triclinic box, an orthogonal bounding box which encloses the triclinic +simulation box is output, along with the 3 tilt factors (xy, xz, yz) of +the restricted triclinic box, formatted as follows: .. parsed-literal:: @@ -204,7 +291,7 @@ box, formatted as follows: zlo_bound zhi_bound yz This bounding box is convenient for many visualization programs and is -calculated from the 9 triclinic box parameters +calculated from the 9 restricted triclinic box parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows: .. parsed-literal:: @@ -217,22 +304,66 @@ calculated from the 9 triclinic box parameters zhi_bound = zhi These formulas can be inverted if you need to convert the bounding box -back into the triclinic box parameters, e.g. xlo = xlo_bound - -MIN(0.0,xy,xz,xy+xz). +back into the restricted triclinic box parameters, e.g. xlo = +xlo_bound - MIN(0.0,xy,xz,xy+xz). -One use of triclinic simulation boxes is to model solid-state crystals -with triclinic symmetry. The :doc:`lattice ` command can be -used with non-orthogonal basis vectors to define a lattice that will -tile a triclinic simulation box via the -:doc:`create_atoms ` command. +---------- -A second use is to run Parrinello-Rahman dynamics via the :doc:`fix npt ` command, which will adjust the xy, xz, yz tilt -factors to compensate for off-diagonal components of the pressure -tensor. The analog for an :doc:`energy minimization ` is -the :doc:`fix box/relax ` command. +Periodicity and tilt factors for triclinic simulation boxes +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -A third use is to shear a bulk solid to study the response of the -material. The :doc:`fix deform ` command can be used for -this purpose. It allows dynamic control of the xy, xz, yz tilt -factors as a simulation runs. This is discussed in the next section -on non-equilibrium MD (NEMD) simulations. +There is no requirement that a triclinic box be periodic in any +dimension, though it typically should be in y or z if you wish to +enforce a shift in coordinates due to periodic boundary conditions +across the y or z boundaries. See the doc page for the :doc:`boundary +` command for an explanation of shifted coordinates for +restricted triclinic boxes which are periodic. + +Some commands that work with triclinic boxes, e.g. the :doc:`fix +deform ` and :doc:`fix npt ` commands, require +periodicity or non-shrink-wrap boundary conditions in specific +dimensions. See the command doc pages for details. + +A restricted triclinic box can be defined with all 3 tilt factors = +0.0, so that it is initially orthogonal. This is necessary if the box +will become non-orthogonal, e.g. due to use of the :doc:`fix npt +` or :doc:`fix deform ` commands. Alternatively, +you can use the :doc:`change_box ` command to convert a +simulation box from orthogonal to restricted triclinic and vice versa. + +.. note:: + + Highly tilted restricted triclinic simulation boxes can be + computationally inefficient. This is due to the large volume of + communication needed to acquire ghost atoms around a processor's + irregular-shaped subdomain. For extreme values of tilt, LAMMPS may + also lose atoms and generate an error. + +LAMMPS will issue a warning if you define a restricted triclinic box +with a tilt factor which skews the box more than half the distance of +the parallel box length, which is the first dimension in the tilt +factor (e.g. x for xz). + +For example, if xlo = 2 and xhi = 12, then the x box length is 10 and +the xy tilt factor should be between -5 and 5 to avoid the warning. +Similarly, both xz and yz should be between -(xhi-xlo)/2 and ++(yhi-ylo)/2. Note that these are not limitations, since if the +maximum tilt factor is 5 (as in this example), then simulations boxes +and atom configurations with tilt = ..., -15, -5, 5, 15, 25, ... are +all geometrically equivalent. + +If the box tilt exceeds this limit during a dynamics run (e.g. due to +the :doc:`fix deform ` command), then by default the box +is "flipped" to an equivalent shape with a tilt factor within the +warning bounds, and the run continues. See the :doc:`fix deform +` page for further details. Box flips that would normally +occur using the :doc:`fix deform ` or :doc:`fix npt +` commands can be suppressed using the *flip no* option with +either of the commands. + +One exception to box flipping is if the first dimension in the tilt +factor (e.g. x for xy) is non-periodic. In that case, the limits on +the tilt factor are not enforced, since flipping the box in that +dimension would not change the atom positions due to non-periodicity. +In this mode, if the system tilts to large angles, the simulation will +simply become inefficient, due to the highly skewed simulation box. diff --git a/doc/src/Howto_type_labels.rst b/doc/src/Howto_type_labels.rst index 8f03f45ef9..6b734f5c8d 100644 --- a/doc/src/Howto_type_labels.rst +++ b/doc/src/Howto_type_labels.rst @@ -14,16 +14,17 @@ wherever they appear in LAMMPS input or output files. The total number Ntypes for each interaction is "locked in" when the simulation box is created. -A recent addition to LAMMPS is the option to use strings - referred -to as type labels - as an alternative. Using type labels instead of +A recent addition to LAMMPS is the option to use strings - referred to +as type labels - as an alternative. Using type labels instead of numeric types can be advantageous in various scenarios. For example, -type labels can make inputs more readable and generic (i.e. usable through -the :doc:`include command ` for different systems with different -numerical values assigned to types. This generality also applies to -other inputs like data files read by :doc:`read_data ` or -molecule template files read by the :doc:`molecule ` -command. See below for a list of other commands that can use -type labels in different ways. +type labels can make inputs more readable and generic (i.e. usable +through the :doc:`include command ` for different systems with +different numerical values assigned to types. This generality also +applies to other inputs like data files read by :doc:`read_data +` or molecule template files read by the :doc:`molecule +` command. A discussion of the current type label support can +be found in :ref:`(Gissinger) `. See below for a list of +other commands that can use type labels in different ways. LAMMPS will *internally* continue to use numeric types, which means that many previous restrictions still apply. For example, the total @@ -124,3 +125,9 @@ between the files. The creation of simulation-ready reaction templates for :doc:`fix bond/react ` is much simpler when using type labels, and results in templates that can be used without modification in multiple simulations or different systems. + +----------- + +.. _Typelabel24: + +**(Gissinger)** J. R. Gissinger, I. Nikiforov, Y. Afshar, B. Waters, M. Choi, D. S. Karls, A. Stukowski, W. Im, H. Heinz, A. Kohlmeyer, and E. B. Tadmor, J Phys Chem B, 128, 3282-3297 (2024). diff --git a/doc/src/Intro_citing.rst b/doc/src/Intro_citing.rst index 69ccab6162..8b906bb725 100644 --- a/doc/src/Intro_citing.rst +++ b/doc/src/Intro_citing.rst @@ -47,6 +47,8 @@ In addition there are DOIs generated for individual stable releases: - 3 March 2020 version: `DOI:10.5281/zenodo.3726417 `_ - 29 October 2020 version: `DOI:10.5281/zenodo.4157471 `_ - 29 September 2021 version: `DOI:10.5281/zenodo.6386596 `_ +- 23 June 2022 version: `DOI:10.5281/zenodo.10806836 `_ +- 2 August 2023 version: `DOI:10.5281/zenodo.10806852 `_ Home page ^^^^^^^^^ diff --git a/doc/src/Intro_features.rst b/doc/src/Intro_features.rst index f7b4dd319b..98e9d981ed 100644 --- a/doc/src/Intro_features.rst +++ b/doc/src/Intro_features.rst @@ -29,7 +29,7 @@ General features * spatial decomposition of simulation domain for MPI parallelism * particle decomposition inside spatial decomposition for OpenMP and GPU parallelism * GPLv2 licensed open-source distribution -* highly portable C++-11 +* highly portable C++-11 (optional packages may require C++17) * modular code with most functionality in optional packages * only depends on MPI library for basic parallel functionality, MPI stub for serial compilation * other libraries are optional and only required for specific packages @@ -81,7 +81,7 @@ commands) * pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, Class II (COMPASS), hydrogen bond, harmonic, gaussian, tabulated, scripted * charged pairwise potentials: Coulombic, point-dipole * many-body potentials: EAM, Finnis/Sinclair, MEAM, MEAM+SW, EIM, EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, Streitz-Mintmire, 3-body polymorphic, BOP, Vashishta -* machine learning potentials: ACE, AGNI, GAP, Behler-Parrinello (N2P2), POD, RANN +* machine learning potentials: ACE, AGNI, GAP, Behler-Parrinello (N2P2), POD, RANN, SNAP * interfaces to ML potentials distributed by external groups: ANI, ChIMES, DeepPot, HIPNN, MTP * long-range interactions for charge, point-dipoles, and LJ dispersion: Ewald, Wolf, PPPM (similar to particle-mesh Ewald), MSM, ScaFaCoS * polarization models: :doc:`QEq `, :doc:`core/shell model `, :doc:`Drude dipole model ` diff --git a/doc/src/Python_scatter.rst b/doc/src/Python_scatter.rst index 002a36cc98..e4444fabe7 100644 --- a/doc/src/Python_scatter.rst +++ b/doc/src/Python_scatter.rst @@ -54,8 +54,21 @@ like this: x[3] = x coord of atom with ID 2 ... x[n3-1] = z coord of atom with ID natoms - lmp.scatter_atoms("x",1,3,x) + lmp.scatter_atoms("x", 1, 3, x) + +The coordinates can also be provided as arguments to the initializer of x: + +.. code-block:: python + + from ctypes import c_double + natoms = 2 + n3 = 3*natoms + # init in constructor + x = (n3*c_double)(0.0, 0.0, 0.0, 1.0, 1.0, 1.0) + lmp.scatter_atoms("x", 1, 3, x) + # or using a list + coords = [1.0, 2.0, 3.0, -3.0, -2.0, -1.0] + x = (c_double*len(coords))(*coords) Alternatively, you can just change values in the vector returned by the gather methods, since they are also ctypes vectors. - diff --git a/doc/src/Speed_kokkos.rst b/doc/src/Speed_kokkos.rst index 1cae518f96..41ae4a4dfb 100644 --- a/doc/src/Speed_kokkos.rst +++ b/doc/src/Speed_kokkos.rst @@ -20,11 +20,28 @@ including Sikandar Mashayak (UIUC), Ray Shan (Sandia), and Dan Ibanez (Sandia). For more information on developing using Kokkos abstractions see the `Kokkos Wiki `_. -Kokkos currently provides support for 4 modes of execution (per MPI +.. note:: + + The Kokkos library is under active development and tracking the + availability of accelerator hardware, so is the KOKKOS package in + LAMMPS. This means that only a certain range of versions of the + Kokkos library are compatible with the KOKKOS package of a certain + range of LAMMPS versions. For that reason LAMMPS comes with a + bundled version of the Kokkos library that has been validated on + multiple platforms and may contain selected back-ported bug fixes + from upstream Kokkos versions. While it is possible to build LAMMPS + with an external version of Kokkos, it is untested and may result in + incorrect execution or crashes. + +Kokkos currently provides full support for 4 modes of execution (per MPI task). These are Serial (MPI-only for CPUs and Intel Phi), OpenMP -(threading for many-core CPUs and Intel Phi), CUDA (for NVIDIA -GPUs) and HIP (for AMD GPUs). You choose the mode at build time to -produce an executable compatible with a specific hardware. +(threading for many-core CPUs and Intel Phi), CUDA (for NVIDIA GPUs) and +HIP (for AMD GPUs). Additional modes (e.g. OpenMP target, Intel data +center GPUs) are under development. You choose the mode at build time +to produce an executable compatible with a specific hardware. + +The following compatibility notes have been last updated for LAMMPS +version 23 November 2023 and Kokkos version 4.2. .. admonition:: C++17 support :class: note @@ -54,22 +71,22 @@ produce an executable compatible with a specific hardware. :class: note Kokkos with CUDA currently implicitly assumes that the MPI library is - GPU-aware. This is not always the case, especially when using + GPU-aware. This is not always the case, especially when using pre-compiled MPI libraries provided by a Linux distribution. This is not a problem when using only a single GPU with a single MPI - rank. When running with multiple MPI ranks, you may see segmentation + rank. When running with multiple MPI ranks, you may see segmentation faults without GPU-aware MPI support. These can be avoided by adding the flags :doc:`-pk kokkos gpu/aware off ` to the LAMMPS command line or by using the command :doc:`package kokkos gpu/aware off ` in the input file. -.. admonition:: AMD GPU support +.. admonition:: Intel Data Center GPU support :class: note - To build with Kokkos the HIPCC compiler from the AMD ROCm software - version 3.5 or later is required. Supporting this Kokkos mode in - LAMMPS is still work in progress. Please contact the LAMMPS developers - if you run into problems. + Support for Kokkos with Intel Data Center GPU accelerators (formerly + known under the code name "Ponte Vecchio") in LAMMPS is still a work + in progress. Only a subset of the functionality works correctly. + Please contact the LAMMPS developers if you run into problems. Building LAMMPS with the KOKKOS package """"""""""""""""""""""""""""""""""""""" @@ -292,6 +309,10 @@ one or more nodes, each with two GPUs: settings. Experimenting with its options can provide a speed-up for specific calculations. For example: +.. code-block:: bash + + mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff + .. note:: The default binsize for :doc:`atom sorting ` on GPUs @@ -302,9 +323,15 @@ one or more nodes, each with two GPUs: frequent sorting than default (e.g. sorting every 100 time steps instead of 1000) may improve performance. -.. code-block:: bash +.. note:: - mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff + When running on GPUs with many MPI ranks (tens of thousands and + more), the creation of the atom map (required for molecular systems) + on the GPU can slow down significantly or run out of GPU memory and + thus slow down the whole calculation or cause a crash. You can use + the "-pk kokkos atom/map no" :doc:`command-line switch ` + of the :doc:`package kokkos atom/map no ` command to create + the atom map on the CPU instead. .. note:: @@ -416,15 +443,22 @@ Generally speaking, the following rules of thumb apply: performance of a KOKKOS style is a bit slower than the OPENMP package. * When running large number of atoms per GPU, KOKKOS is typically faster - than the GPU package when compiled for double precision. The benefit + than the GPU package when compiled for double precision. The benefit of using single or mixed precision with the GPU package depends significantly on the hardware in use and the simulated system and pair style. -* When running on Intel hardware, KOKKOS is not as fast as +* When running on Intel Phi hardware, KOKKOS is not as fast as the INTEL package, which is optimized for x86 hardware (not just from Intel) and compilation with the Intel compilers. The INTEL package also can increase the vector length of vector instructions by switching to single or mixed precision mode. +* The KOKKOS package by default assumes that you are using exactly one + MPI rank per GPU. When trying to use multiple MPI ranks per GPU it is + mandatory to enable `CUDA Multi-Process Service (MPS) + `_ to get good + performance. In this case it is better to not use all available + MPI ranks in order to avoid competing with the MPS daemon for + CPU resources. See the `Benchmark page `_ of the LAMMPS website for performance of the KOKKOS package on different diff --git a/doc/src/angle_cosine_squared_restricted.rst b/doc/src/angle_cosine_squared_restricted.rst new file mode 100644 index 0000000000..008ebfebeb --- /dev/null +++ b/doc/src/angle_cosine_squared_restricted.rst @@ -0,0 +1,80 @@ +.. index:: angle_style cosine/squared/restricted +.. index:: angle_style cosine/squared/restricted/omp + +angle_style cosine/squared/restricted command +============================================= + +Accelerator Variants: *cosine/squared/restricted/omp* + +Syntax +"""""" + +.. code-block:: LAMMPS + + angle_style cosine/squared/restricted + +Examples +"""""""" + +.. code-block:: LAMMPS + + angle_style cosine/squared/restricted + angle_coeff 2*4 75.0 100.0 + +Description +""""""""""" + +.. versionadded:: 17Apr2024 + +The *cosine/squared/restricted* angle style uses the potential + +.. math:: + + E = K [\cos(\theta) - \cos(\theta_0)]^2 / \sin^2(\theta) + +, which is commonly used in the MARTINI force field, +where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` +is a prefactor. Note that the usual 1/2 factor is included in :math:`K`. + +See :ref:`(Bulacu) ` for a description of the restricted angle for the MARTINI force field. + +The following coefficients must be defined for each angle type via the +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: + +* :math:`K` (energy) +* :math:`\theta_0` (degrees) + +:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians +internally. + +---------- + +.. include:: accel_styles.rst + +---------- + +Restrictions +"""""""""""" + +This angle style can only be used if LAMMPS was built with the +EXTRA-MOLECULE package. See the :doc:`Build package ` doc page +for more info. + +Related commands +"""""""""""""""" + +:doc:`angle_coeff ` + +Default +""""""" + +none + +---------- + +.. _restricted-Bulacu: + +**(Bulacu)** Bulacu, Goga, Zhao, Rossi, Monticelli, Periole, Tieleman, Marrink, J Chem Theory Comput, 9, 3282-3292 +(2013). diff --git a/doc/src/angle_style.rst b/doc/src/angle_style.rst index 1f1ae72647..eeb174e772 100644 --- a/doc/src/angle_style.rst +++ b/doc/src/angle_style.rst @@ -10,7 +10,7 @@ Syntax angle_style style -* style = *none* or *zero* or *hybrid* or *amoeba* or *charmm* or *class2* or *class2/p6* or *cosine* or *cosine/buck6d* or *cosine/delta* or *cosine/periodic* or *cosine/shift* or *cosine/shift/exp* or *cosine/squared* or *cross* or *dipole* or *fourier* or *fourier/simple* or *gaussian* or *harmonic* or *lepton* or *mm3* or *quartic* or *spica* or *table* +* style = *none* or *zero* or *hybrid* or *amoeba* or *charmm* or *class2* or *class2/p6* or *cosine* or *cosine/buck6d* or *cosine/delta* or *cosine/periodic* or *cosine/shift* or *cosine/shift/exp* or *cosine/squared* or *cosine/squared/restricted* or *cross* or *dipole* or *fourier* or *fourier/simple* or *gaussian* or *harmonic* or *lepton* or *mm3* or *quartic* or *spica* or *table* Examples """""""" @@ -84,6 +84,7 @@ of (g,i,k,o,t) to indicate which accelerated styles exist. * :doc:`cosine/shift ` - angle cosine with a shift * :doc:`cosine/shift/exp ` - cosine with shift and exponential term in spring constant * :doc:`cosine/squared ` - angle with cosine squared term +* :doc:`cosine/squared/restricted ` - angle with restricted cosine squared term * :doc:`cross ` - cross term coupling angle and bond lengths * :doc:`dipole ` - angle that controls orientation of a point dipole * :doc:`fourier ` - angle with multiple cosine terms diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index 60a85e0bcb..f11cdf54b9 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -283,21 +283,22 @@ Note that there may be additional arguments required along with the arguments are described on the :doc:`Howto body ` doc page. For the *dielectric* style, each particle can be either a physical -particle (e.g. an ion), or an interface particle representing a boundary -element between two regions of different dielectric constant. For -interface particles, in addition to the properties associated with -atom_style full, each particle also should be assigned a normal unit -vector (defined by normx, normy, normz), an area (area/patch), the +particle (e.g. an ion), or an interface particle representing a +boundary element between two regions of different dielectric +constant. For interface particles, in addition to the properties +associated with atom_style full, each particle also should be assigned +a unit dipole vector (mu) representing the direction of the induced +dipole moment at each interface particle, an area (area/patch), the difference and mean of the dielectric constants of two sides of the interface along the direction of the normal vector (ed and em), the -local dielectric constant at the boundary element (epsilon), and a mean -local curvature (curv). Physical particles must be assigned these -values, as well, but only their local dielectric constants will be used; -see documentation for associated :doc:`pair styles ` -and :doc:`fixes `. The distinction between the physical -and interface particles is only meaningful when :doc:`fix polarize -` commands are applied to the interface particles. This -style is part of the DIELECTRIC package. +local dielectric constant at the boundary element (epsilon), and a +mean local curvature (curv). Physical particles must be assigned +these values, as well, but only their local dielectric constants will +be used; see documentation for associated :doc:`pair styles +` and :doc:`fixes `. The distinction +between the physical and interface particles is only meaningful when +:doc:`fix polarize ` commands are applied to the +interface particles. This style is part of the DIELECTRIC package. For the *dipole* style, a point dipole vector mu is defined for each point particle. Note that if you wish the particles to be finite-size diff --git a/doc/src/boundary.rst b/doc/src/boundary.rst index 8e019e801c..06f125ed4f 100644 --- a/doc/src/boundary.rst +++ b/doc/src/boundary.rst @@ -42,8 +42,10 @@ commands. The style *p* means the box is periodic, so that particles interact across the boundary, and they can exit one end of the box and re-enter the other end. A periodic dimension can change in size due to -constant pressure boundary conditions or box deformation (see the :doc:`fix npt ` and :doc:`fix deform ` commands). The *p* -style must be applied to both faces of a dimension. +constant pressure boundary conditions or box deformation (see the +:doc:`fix npt ` and :doc:`fix deform ` commands). +The *p* style must be applied to both faces of a dimension. For 2d +simulations the z dimension must be periodic (which is the default). The styles *f*, *s*, and *m* mean the box is non-periodic, so that particles do not interact across the boundary and do not move from one @@ -76,28 +78,44 @@ atoms becomes less than 50.0. This can be useful if you start a simulation with an empty box or if you wish to leave room on one side of the box, e.g. for atoms to evaporate from a surface. -For triclinic (non-orthogonal) simulation boxes, if the second dimension -of a tilt factor (e.g. y for xy) is periodic, then the periodicity is -enforced with the tilt factor offset. If the first dimension is -shrink-wrapped, then the shrink wrapping is applied to the tilted box -face, to encompass the atoms. E.g. for a positive xy tilt, the xlo -and xhi faces of the box are planes tilting in the +y direction as y -increases. These tilted planes are shrink-wrapped around the atoms to -determine the x extent of the box. - +LAMMPS also allows use of triclinic (non-orthogonal) simulation boxes. See the :doc:`Howto triclinic ` page for a -geometric description of triclinic boxes, as defined by LAMMPS, and -how to transform these parameters to and from other commonly used -triclinic representations. +description of both general and restricted triclinic boxes and how to +define them. General triclinic boxes (arbitrary edge vectors **A**, +**B**, and **C**) are converted internally to restricted triclinic +boxes with tilt factors (xy,xz,yz) which skew an otherwise orthogonal +box. + +The boundary command settings explained above for the 6 +faces of an orthogonal box also apply in similar manner to the 6 faces +of a restricted triclinic box (and thus to the corresponding 6 faces +of a general triclinic box), with the following context. + +if the second dimension of a tilt factor (e.g. y for xy) is periodic, +then the periodicity is enforced with the tilt factor offset. This +means that for y periodicity a particle which exits the lower y +boundary is displaced in the x-direction by xy before it re-enters the +upper y boundary. And vice versa if a particle exits the upper y +boundary. Likewise the ghost atoms surrounding a particle near the +lower y boundary include images of particles near the upper y-boundary +which are displaced in the x-direction by xy. Similar rules apply for +z-periodicity and the xz and/or yz tilt factors. + +If the first dimension of a tilt factor is shrink-wrapped, then the +shrink wrapping is applied to the tilted box face, to encompass the +atoms. E.g. for a positive xy tilt, the xlo and xhi faces of the box +are planes tilting in the +y direction as y increases. The position +of these tilted planes are adjusted dynamically to shrink-wrap around +the atoms to determine the xlo and xhi extents of the box. Restrictions """""""""""" This command cannot be used after the simulation box is defined by a -:doc:`read_data ` or :doc:`create_box ` command or -:doc:`read_restart ` command. See the -:doc:`change_box ` command for how to change the simulation -box boundaries after it has been defined. +:doc:`read_data ` or :doc:`create_box ` command +or :doc:`read_restart ` command. See the +:doc:`change_box ` command for how to change the +simulation box boundaries after it has been defined. For 2d simulations, the z dimension must be periodic. diff --git a/doc/src/compute_adf.rst b/doc/src/compute_adf.rst index fc1ad1ae0a..a43a10207c 100644 --- a/doc/src/compute_adf.rst +++ b/doc/src/compute_adf.rst @@ -204,8 +204,23 @@ angles per atom satisfying the ADF criteria. Restrictions """""""""""" -This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +This compute is part of the EXTRA-COMPUTE package. It is only enabled +if LAMMPS was built with that package. See the :doc:`Build package +` page for more info. + +By default, the ADF is not computed for distances longer than the +largest force cutoff, since the neighbor list creation will only contain +pairs up to that distance (plus neighbor list skin). If you use outer +cutoffs larger than that, you must use :doc:`neighbor style 'bin' or +'nsq' `. + +If you want an ADF for a larger outer cutoff, you can also use the +:doc:`rerun ` command to post-process a dump file, use :doc:`pair +style zero ` and set the force cutoff to be larger in the +rerun script. Note that in the rerun context, the force cutoff is +arbitrary and with pair style zero you are not computing any forces, and +since you are not running dynamics you are not changing the model that +generated the trajectory. The ADF is not computed for neighbors outside the force cutoff, since processors (in parallel) don't know about atom coordinates for diff --git a/doc/src/compute_ave_sphere_atom.rst b/doc/src/compute_ave_sphere_atom.rst index ecb67ae7b5..4640b8534a 100644 --- a/doc/src/compute_ave_sphere_atom.rst +++ b/doc/src/compute_ave_sphere_atom.rst @@ -102,6 +102,8 @@ This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +This compute requires :doc:`neighbor styles 'bin' or 'nsq' `. + Related commands """""""""""""""" diff --git a/doc/src/compute_composition_atom.rst b/doc/src/compute_composition_atom.rst index e973eaa234..c3e6fb7c60 100644 --- a/doc/src/compute_composition_atom.rst +++ b/doc/src/compute_composition_atom.rst @@ -107,6 +107,8 @@ This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +This compute requires :doc:`neighbor styles 'bin' or 'nsq' `. + Related commands """""""""""""""" diff --git a/doc/src/compute_count_type.rst b/doc/src/compute_count_type.rst index ca3b02ecdb..5fbe6175a3 100644 --- a/doc/src/compute_count_type.rst +++ b/doc/src/compute_count_type.rst @@ -12,7 +12,7 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * count/type = style name of this compute command -* mode = {atom} or {bond} or {angle} or {dihedral} or {improper} +* mode = *atom* or *bond* or *angle* or *dihedral* or *improper* Examples """""""" @@ -69,29 +69,42 @@ for each type: ---------- -If the {mode} setting is {atom} then the count of atoms for each atom +If the *mode* setting is *atom* then the count of atoms for each atom type is tallied. Only atoms in the specified group are counted. -If the {mode} setting is {bond} then the count of bonds for each bond +The atom count for each type can be normalized by the total number of +atoms like so: + +.. code-block:: LAMMPS + + compute typevec all count/type atom # number of atoms of each type + variable normtypes vector c_typevec/atoms # divide by total number of atoms + variable ntypes equal extract_setting(ntypes) # number of atom types + thermo_style custom step v_normtypes[*${ntypes}] # vector variable needs upper limit + +Similarly, bond counts can be normalized by the total number of bonds. +The same goes for angles, dihedrals, and impropers (see below). + +If the *mode* setting is *bond* then the count of bonds for each bond type is tallied. Only bonds with both atoms in the specified group are counted. -For {mode} = {bond}, broken bonds with a bond type of zero are also +For *mode* = *bond*, broken bonds with a bond type of zero are also counted. The :doc:`bond_style quartic ` and :doc:`BPM -bond styles ` break bonds by doing this. See the :doc:` -Howto broken bonds ` doc page for more details. +bond styles ` break bonds by doing this. See the +:doc:`Howto broken bonds ` doc page for more details. Note that the group setting is ignored for broken bonds; all broken bonds in the system are counted. -If the {mode} setting is {angle} then the count of angles for each +If the *mode* setting is *angle* then the count of angles for each angle type is tallied. Only angles with all 3 atoms in the specified group are counted. -If the {mode} setting is {dihedral} then the count of dihedrals for +If the *mode* setting is *dihedral* then the count of dihedrals for each dihedral type is tallied. Only dihedrals with all 4 atoms in the specified group are counted. -If the {mode} setting is {improper} then the count of impropers for +If the *mode* setting is *improper* then the count of impropers for each improper type is tallied. Only impropers with all 4 atoms in the specified group are counted. @@ -101,18 +114,19 @@ Output info """"""""""" This compute calculates a global vector of counts. If the mode is -{atom} or {bond} or {angle} or {dihedral} or {improper}, then the +*atom* or *bond* or *angle* or *dihedral* or *improper*, then the vector length is the number of atom types or bond types or angle types or dihedral types or improper types, respectively. -If the mode is {bond} this compute also calculates a global scalar +If the mode is *bond* this compute also calculates a global scalar which is the number of broken bonds with type = 0, as explained above. These values can be used by any command that uses global scalar or vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. -The scalar and vector values calculated by this compute are "extensive". +The scalar and vector values calculated by this compute are both +"intensive". Restrictions """""""""""" diff --git a/doc/src/compute_efield_wolf_atom.rst b/doc/src/compute_efield_wolf_atom.rst index 1a709dc9f2..93bfa55151 100644 --- a/doc/src/compute_efield_wolf_atom.rst +++ b/doc/src/compute_efield_wolf_atom.rst @@ -106,6 +106,8 @@ Restrictions This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. +This compute requires :doc:`neighbor styles 'bin' or 'nsq' `. + Related commands """""""""""""""" diff --git a/doc/src/compute_fabric.rst b/doc/src/compute_fabric.rst index b38ffafa48..77586e617a 100644 --- a/doc/src/compute_fabric.rst +++ b/doc/src/compute_fabric.rst @@ -64,7 +64,7 @@ tangential force tensor. The contact tensor is calculated as .. math:: - C_{ab} = \frac{15}{2} (\phi_{ab} - \mathrm{Tr}(\phi) \delta_{ab}) + C_{ab} = \frac{15}{2} (\phi_{ab} - \frac{1}{3} \mathrm{Tr}(\phi) \delta_{ab}) where :math:`a` and :math:`b` are the :math:`x`, :math:`y`, :math:`z` directions, :math:`\delta_{ab}` is the Kronecker delta function, and @@ -83,7 +83,7 @@ The branch tensor is calculated as .. math:: - B_{ab} = \frac{15}{6 \mathrm{Tr}(D)} (D_{ab} - \mathrm{Tr}(D) \delta_{ab}) + B_{ab} = \frac{15}{2\, \mathrm{Tr}(D)} (D_{ab} - \frac{1}{3} \mathrm{Tr}(D) \delta_{ab}) where the tensor :math:`D` is defined as @@ -101,7 +101,7 @@ The normal force fabric tensor is calculated as .. math:: - F^n_{ab} = \frac{15}{6\, \mathrm{Tr}(N)} (N_{ab} - \mathrm{Tr}(N) \delta_{ab}) + F^n_{ab} = \frac{15}{2\, \mathrm{Tr}(N)} (N_{ab} - \frac{1}{3} \mathrm{Tr}(N) \delta_{ab}) where the tensor :math:`N` is defined as @@ -119,7 +119,7 @@ as .. math:: - F^t_{ab} = \frac{15}{9\, \mathrm{Tr}(N)} (T_{ab} - \mathrm{Tr}(T) \delta_{ab}) + F^t_{ab} = \frac{5}{\mathrm{Tr}(N)} (T_{ab} - \frac{1}{3} \mathrm{Tr}(T) \delta_{ab}) where the tensor :math:`T` is defined as diff --git a/doc/src/compute_mliap.rst b/doc/src/compute_mliap.rst index 6abd3e5a6b..4bd5194bfd 100644 --- a/doc/src/compute_mliap.rst +++ b/doc/src/compute_mliap.rst @@ -20,7 +20,7 @@ Syntax *model* values = style style = *linear* or *quadratic* or *mliappy* *descriptor* values = style filename - style = *sna* + style = *sna* or *ace* filename = name of file containing descriptor definitions *gradgradflag* value = 0/1 toggle gradgrad method for force gradient @@ -31,6 +31,7 @@ Examples .. code-block:: LAMMPS compute mliap model linear descriptor sna Ta06A.mliap.descriptor + compute mliap model linear descriptor ace H_N_O_ccs.yace gradgradflag 1 Description """"""""""" @@ -40,18 +41,15 @@ of machine-learning interatomic potentials with respect to model parameters. It is used primarily for calculating the gradient of energy, force, and stress components with respect to model parameters, which is useful when training :doc:`mliap pair_style ` models to match target data. -It provides separate -definitions of the interatomic potential functional form (*model*) -and the geometric quantities that characterize the atomic positions -(*descriptor*). By defining *model* and *descriptor* separately, +It provides separate definitions of the interatomic potential functional +form (*model*) and the geometric quantities that characterize the atomic +positions (*descriptor*). By defining *model* and *descriptor* separately, it is possible to use many different models with a given descriptor, -or many different descriptors with a given model. Currently, the -compute supports just two models, *linear* and *quadratic*, -and one descriptor, *sna*, the SNAP descriptor used by -:doc:`pair_style snap `, including the linear, quadratic, -and chem variants. Work is currently underway to extend -the interface to handle neural network energy models, -and it is also straightforward to add new descriptor styles. +or many different descriptors with a given model. Currently, the compute +supports *linear* and *quadratic* SNAP descriptor computes used in +:doc:`pair_style snap `, *linear* SO3 descriptor computes, and +*linear* ACE descriptor computes used in :doc:`pair_style pace `, +and it is straightforward to add new descriptor styles. The compute *mliap* command must be followed by two keywords *model* and *descriptor* in either order. @@ -60,19 +58,31 @@ The *model* keyword is followed by the model style (*linear*, *quadratic* or *mliappy*). The *mliappy* model is only available if LAMMPS is built with the *mliappy* Python module. There are :ref:`specific installation instructions ` for that module. +For the *mliap* compute, specifying a *linear* model will compute the +specified descriptors and gradients with respect to linear model parameters +whereas *quadratic* will do the same, but for the quadratic products of +descriptors. The *descriptor* keyword is followed by a descriptor style, and -additional arguments. The compute currently supports two descriptor -styles *sna* and *so3*, but it is is straightforward to add additional -descriptor styles. The SNAP descriptor style *sna* is the same as that -used by :doc:`pair_style snap `, including the linear, -quadratic, and chem variants. A single additional argument specifies -the descriptor filename containing the parameters and setting used by -the SNAP descriptor. The descriptor filename usually ends in the +additional arguments. The compute currently supports three descriptor +styles: *sna*, *so3*, and *ace*, but it is is straightforward to add +additional descriptor styles. The SNAP descriptor style *sna* is the +same as that used by :doc:`pair_style snap `, including the +linear, quadratic, and chem variants. A single additional argument +specifies the descriptor filename containing the parameters and setting used +by the SNAP descriptor. The descriptor filename usually ends in the *.mliap.descriptor* extension. The format of this file is identical to the descriptor file in the :doc:`pair_style mliap `, and is described in detail there. +The ACE descriptor style *ace* is the same as :doc:`pair_style pace `. +A single additional argument specifies the *ace* descriptor filename +that contains parameters and settings for the ACE descriptors. This file +format differs from the SNAP or SO3 descriptor files, and has a *.yace* or +*.ace* extension. However, as with other mliap descriptor styles, this file +is identical to the ace descriptor file in :doc:`pair_style mliap `, +where it is described in further detail. + .. note:: The number of LAMMPS atom types (and the value of *nelems* in the model) @@ -172,8 +182,10 @@ This compute is part of the ML-IAP package. It is only enabled if LAMMPS was built with that package. In addition, building LAMMPS with the ML-IAP package requires building LAMMPS with the ML-SNAP package. The *mliappy* model also requires building LAMMPS with the PYTHON -package. See the :doc:`Build package ` page for more -info. +package. The *ace* descriptor also requires building LAMMPS with the +ML-PACE package. See the :doc:`Build package ` page for +more info. Note that `kk` (KOKKOS) accelerated variants of SNAP and +ACE descriptors are not compatible with `mliap descriptor`. Related commands """""""""""""""" diff --git a/doc/src/compute_pressure.rst b/doc/src/compute_pressure.rst index 52195ec5f8..03dfbb841b 100644 --- a/doc/src/compute_pressure.rst +++ b/doc/src/compute_pressure.rst @@ -153,7 +153,8 @@ Related commands Default """"""" -none +By default the compute includes contributions from the keywords: +``ke pair bond angle dihedral improper kspace fix`` ---------- diff --git a/doc/src/compute_property_atom.rst b/doc/src/compute_property_atom.rst index b03d6eb74e..4484c3b697 100644 --- a/doc/src/compute_property_atom.rst +++ b/doc/src/compute_property_atom.rst @@ -23,8 +23,9 @@ Syntax spx, spy, spz, sp, fmx, fmy, fmz, nbonds, radius, diameter, omegax, omegay, omegaz, + temperature, heatflow, angmomx, angmomy, angmomz, - shapex,shapey, shapez, + shapex, shapey, shapez, quatw, quati, quatj, quatk, tqx, tqy, tqz, end1x, end1y, end1z, end2x, end2y, end2z, corner1x, corner1y, corner1z, @@ -56,6 +57,8 @@ Syntax *nbonds* = number of bonds assigned to an atom *radius,diameter* = radius,diameter of spherical particle *omegax,omegay,omegaz* = angular velocity of spherical particle + *temperature* = internal temperature of spherical particle + *heatflow* = internal heat flow of spherical particle *angmomx,angmomy,angmomz* = angular momentum of aspherical particle *shapex,shapey,shapez* = 3 diameters of aspherical particle *quatw,quati,quatj,quatk* = quaternion components for aspherical or body particles diff --git a/doc/src/compute_rdf.rst b/doc/src/compute_rdf.rst index ed73800f82..85e758016e 100644 --- a/doc/src/compute_rdf.rst +++ b/doc/src/compute_rdf.rst @@ -176,22 +176,29 @@ also numbers :math:`\ge 0.0`. Restrictions """""""""""" -The RDF is not computed for distances longer than the force cutoff, -since processors (in parallel) do not know about atom coordinates for -atoms further away than that distance. If you want an RDF for larger -distances, you can use the :doc:`rerun ` command to post-process -a dump file and set the cutoff for the potential to be longer in the +By default, the RDF is not computed for distances longer than the +largest force cutoff, since the neighbor list creation will only contain +pairs up to that distance (plus neighbor list skin). This distance can +be increased using the *cutoff* keyword but this keyword is only valid +with :doc:`neighbor styles 'bin' and 'nsq' `. + +If you want an RDF for larger distances, you can also use the +:doc:`rerun ` command to post-process a dump file, use :doc:`pair +style zero ` and set the force cutoff to be longer in the rerun script. Note that in the rerun context, the force cutoff is -arbitrary, since you are not running dynamics and thus are not changing -your model. The definition of :math:`g(r)` used by LAMMPS is only appropriate -for characterizing atoms that are uniformly distributed throughout the -simulation cell. In such cases, the coordination number is still -correct and meaningful. As an example, if a large simulation cell -contains only one atom of type *itypeN* and one of *jtypeN*, then :math:`g(r)` -will register an arbitrarily large spike at whatever distance they -happen to be at, and zero everywhere else. -The function :math:`\text{coord}(r)` will show a step -change from zero to one at the location of the spike in :math:`g(r)`. +arbitrary and with pair style zero you are not computing any forces, and +you are not running dynamics you are not changing the model that +generated the trajectory. + +The definition of :math:`g(r)` used by LAMMPS is only appropriate for +characterizing atoms that are uniformly distributed throughout the +simulation cell. In such cases, the coordination number is still correct +and meaningful. As an example, if a large simulation cell contains only +one atom of type *itypeN* and one of *jtypeN*, then :math:`g(r)` will +register an arbitrarily large spike at whatever distance they happen to +be at, and zero everywhere else. The function :math:`\text{coord}(r)` +will show a step change from zero to one at the location of the spike in +:math:`g(r)`. .. note:: diff --git a/doc/src/compute_reduce.rst b/doc/src/compute_reduce.rst index 604b1c1571..c599761c39 100644 --- a/doc/src/compute_reduce.rst +++ b/doc/src/compute_reduce.rst @@ -56,8 +56,9 @@ Examples compute 1 all reduce sum c_force compute 1 all reduce/region subbox sum c_force compute 2 all reduce min c_press[2] f_ave v_myKE - compute 2 all reduce min c_press[*] f_ave v_myKE + compute 2 all reduce min c_press[*] f_ave v_myKE inputs peratom compute 3 fluid reduce max c_index[1] c_index[2] c_dist replace 1 3 replace 2 3 + compute 4 all reduce max c_bond inputs local Description """"""""""" diff --git a/doc/src/compute_stress_atom.rst b/doc/src/compute_stress_atom.rst index ffd0d2ffb4..0fac47a6c0 100644 --- a/doc/src/compute_stress_atom.rst +++ b/doc/src/compute_stress_atom.rst @@ -289,7 +289,8 @@ Related commands Default """"""" -none +By default the compute includes contributions from the keywords: +``ke pair bond angle dihedral improper kspace fix`` ---------- diff --git a/doc/src/compute_stress_mop.rst b/doc/src/compute_stress_mop.rst index 74d4c618e7..b4779b8bf3 100644 --- a/doc/src/compute_stress_mop.rst +++ b/doc/src/compute_stress_mop.rst @@ -126,16 +126,19 @@ These styles are part of the EXTRA-COMPUTE package. They are only enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page on for more info. -The method is only implemented for 3d orthogonal simulation boxes whose +The method is implemented for orthogonal simulation boxes whose size does not change in time, and axis-aligned planes. The method only works with two-body pair interactions, because it requires the class method ``Pair::single()`` to be implemented, which is not possible for manybody potentials. In particular, compute -*stress/mop/profile* and *stress/mop* do not work with more than two-body pair -interactions, long range (kspace) interactions and +*stress/mop/profile* and *stress/mop* do not work with more than two-body +pair interactions, long range (kspace) interactions and improper intramolecular interactions. +The impact of fixes that affect the stress (e.g. fix langevin) is +also not included in the stress computed here. + Related commands """""""""""""""" diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index f0dc857dcd..1b7bcecd13 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -86,25 +86,46 @@ Description """"""""""" This command creates atoms (or molecules) within the simulation box, -either on a lattice, or a single atom (or molecule), or on a surface -defined by a triangulated mesh, or a random collection of atoms (or -molecules). It is an alternative to reading in atom coordinates +either on a lattice, or at random points, or on a surface defined by a +triangulated mesh. Or it creates a single atom (or molecule) at a +specified point. It is an alternative to reading in atom coordinates explicitly via a :doc:`read_data ` or :doc:`read_restart -` command. A simulation box must already exist, which is +` command. + +To use this command a simulation box must already exist, which is typically created via the :doc:`create_box ` command. -Before using this command, a lattice must also be defined using the -:doc:`lattice ` command, unless you specify the *single* style -with units = box or the *random* style. For the remainder of this doc -page, a created atom or molecule is referred to as a "particle". +Before using this command, a lattice must typically also be defined +using the :doc:`lattice ` command, unless you specify the +*single* or *mesh* style with units = box or the *random* style. To +create atoms on a lattice for general triclinic boxes, see the +discussion below. + +For the remainder of this doc page, a created atom or molecule is +referred to as a "particle". If created particles are individual atoms, they are assigned the specified atom *type*, though this can be altered via the *basis* keyword as discussed below. If molecules are being created, the type -of each atom in the created molecule is specified in the file read by -the :doc:`molecule ` command, and those values are added to -the specified atom *type* (e.g., if *type* = 2 and the file specifies -atom types 1, 2, and 3, then each created molecule will have atom types -3, 4, and 5). +of each atom in the created molecule is specified in a specified file +read by the :doc:`molecule ` command, and those values are +added to the specified atom *type* (e.g., if *type* = 2 and the file +specifies atom types 1, 2, and 3, then each created molecule will have +atom types 3, 4, and 5). + +.. note:: + + You cannot use this command to create atoms that are outside the + simulation box; they will just be ignored by LAMMPS. This is true + even if you are using shrink-wrapped box boundaries, as specified + by the :doc:`boundary ` command. However, you can first + use the :doc:`change_box ` command to temporarily + expand the box, then add atoms via create_atoms, then finally use + change_box command again if needed to re-shrink-wrap the new atoms. + See the :doc:`change_box ` doc page for an example of + how to do this, using the create_atoms *single* style to insert a + new atom outside the current simulation box. + +---------- For the *box* style, the create_atoms command fills the entire simulation box with particles on the lattice. If your simulation box @@ -126,10 +147,117 @@ periodic boundaries. If this is desired, you should either use the *box* style, or tweak the region size to get precisely the particles you want. +---------- + +If the simulation box is formulated as a general triclinic box defined +by arbitrary edge vectors **A**, **B**, **C**, then the *box* and +*region* styles will create atoms on a lattice commensurate with those +edge vectors. See the :doc:`Howto_triclinic ` doc +page for a detailed explanation of orthogonal, restricted triclinic, +and general triclinic simulation boxes. As with the :doc:`create_box +` command, the :doc:`lattice ` command used by +this command must be of style *custom* and use its *triclinic/general* +option. The *a1, *a2*, *a3* settings of the :doc:`lattice ` +command define the edge vectors of a unit cell of the general +triclinic lattice. The :doc:`create_box ` command creates +a simulation box which replicates that unit cell along each of the +**A**, **B**, **C** edge vectors. + +.. note:: + + LAMMPS allows specification of general triclinic simulation boxes + as a convenience for users who may be converting data from + solid-state crystallographic representations or from DFT codes for + input to LAMMPS. However, as explained on the + :doc:`Howto_triclinic ` doc page, internally, + LAMMPS only uses restricted triclinic simulation boxes. This means + the box created by the :doc:`create_box ` command as + well as the atoms created by this command with their per-atom + information (e.g. coordinates, velocities) are converted (rotated) + from general to restricted triclinic form when the two commands are + invoked. The ` doc page also discusses other + LAMMPS commands which can input/output general triclinic + representations of the simulation box and per-atom data. + +The *box* style will fill the entire general triclinic box with +particles on the lattice, as explained above. + +.. note:: + + The *region* style also operates as explained above, but the check + for particles inside the region is performed *after* the particle + coordinates have been converted to the restricted triclinic box. + This means the region must also be defined with respect to the + restricted triclinic box, not the general triclinic box. + +If the simulation box is general triclinic, the *single*, *random*, +and *mesh* styles described next operate on the box *after* it has +been converted to restricted triclinic. So all the settings for those +styles should be made in that context. + +---------- + For the *single* style, a single particle is added to the system at the specified coordinates. This can be useful for debugging purposes or to create a tiny system with a handful of particles at specified -positions. +positions. For a 2d simulation the specified z coordinate must be +0.0. + +.. versionchanged:: 2Jun2022 + +The *porosity* style has been renamed to *random* with added functionality. + +For the *random* style, *N* particles are added to the system at +randomly generated coordinates, which can be useful for generating an +amorphous system. For 2d simulations, the z coordinates of all added +atoms will be 0.0. + +The particles are created one by one using the specified random number +*seed*, resulting in the same set of particle coordinates, independent +of how many processors are being used in the simulation. Unless the +*overlap* keyword is specified, particles created by the *random* +style will typically be highly overlapped. Various additional +criteria can be used to accept or reject a random particle insertion; +see the keyword discussion below. Multiple attempts per particle are +made (see the *maxtry* keyword) until the insertion is either +successful or fails. If this command fails to add all requested *N* +particles, a warning will be output. + +If the *region-ID* argument is specified as NULL, then the randomly +created particles will be anywhere in the simulation box. If a +*region-ID* is specified, a geometric volume is filled that is both +inside the simulation box and is also consistent with the region +volume. See the :doc:`region ` command for details. Note +that a region can be specified so that its "volume" is either inside +or outside its geometric boundary. + +Note that the create_atoms command adds particles to those that +already exist. This means it can be used to add particles to a system +previously read in from a data or restart file. Or the create_atoms +command can be used multiple times, to add multiple sets of particles +to the simulation. For example, grain boundaries can be created, by +interleaving the create_atoms command with :doc:`lattice ` +commands specifying different orientations. + +When this command is used, care should be taken to ensure the +resulting system does not contain particles that are highly +overlapped. Such overlaps will cause many interatomic potentials to +compute huge energies and forces, leading to bad dynamics. There are +several strategies to avoid this problem: + +* Use the :doc:`delete_atoms overlap ` command after + create_atoms. For example, this strategy can be used to overlay and + surround a large protein molecule with a volume of water molecules, + then delete water molecules that overlap with the protein atoms. + +* For the *random* style, use the optional *overlap* keyword to avoid + overlaps when each new particle is created. + +* Before running dynamics on an overlapped system, perform an + :doc:`energy minimization `. Or run initial dynamics with + :doc:`pair_style soft ` or with :doc:`fix nve/limit + ` to un-overlap the particles, before running normal + dynamics. .. figure:: img/marble_race.jpg :figwidth: 33% @@ -189,73 +317,6 @@ to the area of that triangle. beneficial to exclude computing interactions between the created particles using :doc:`neigh_modify exclude `. -.. versionchanged:: 2Jun2022 - -The *porosity* style has been renamed to *random* with added functionality. - -For the *random* style, *N* particles are added to the system at -randomly generated coordinates, which can be useful for generating an -amorphous system. The particles are created one by one using the -specified random number *seed*, resulting in the same set of particle -coordinates, independent of how many processors are being used in the -simulation. Unless the *overlap* keyword is specified, particles -created by the *random* style will typically be highly overlapped. -Various additional criteria can be used to accept or reject a random -particle insertion; see the keyword discussion below. Multiple -attempts per particle are made (see the *maxtry* keyword) until the -insertion is either successful or fails. If this command fails to add -all requested *N* particles, a warning will be output. - -If the *region-ID* argument is specified as NULL, then the randomly -created particles will be anywhere in the simulation box. If a -*region-ID* is specified, a geometric volume is filled that is both -inside the simulation box and is also consistent with the region -volume. See the :doc:`region ` command for details. Note -that a region can be specified so that its "volume" is either inside -or outside its geometric boundary. - -Note that the create_atoms command adds particles to those that -already exist. This means it can be used to add particles to a system -previously read in from a data or restart file. Or the create_atoms -command can be used multiple times, to add multiple sets of particles -to the simulation. For example, grain boundaries can be created, by -interleaving the create_atoms command with :doc:`lattice ` -commands specifying different orientations. - -When this command is used, care should be taken to ensure the -resulting system does not contain particles that are highly -overlapped. Such overlaps will cause many interatomic potentials to -compute huge energies and forces, leading to bad dynamics. There are -several strategies to avoid this problem: - -* Use the :doc:`delete_atoms overlap ` command after - create_atoms. For example, this strategy can be used to overlay and - surround a large protein molecule with a volume of water molecules, - then delete water molecules that overlap with the protein atoms. - -* For the *random* style, use the optional *overlap* keyword to avoid - overlaps when each new particle is created. - -* Before running dynamics on an overlapped system, perform an - :doc:`energy minimization `. Or run initial dynamics with - :doc:`pair_style soft ` or with :doc:`fix nve/limit - ` to un-overlap the particles, before running normal - dynamics. - -.. note:: - - You cannot use any of the styles explained above to create atoms - that are outside the simulation box; they will just be ignored by - LAMMPS. This is true even if you are using shrink-wrapped box - boundaries, as specified by the :doc:`boundary ` command. - However, you can first use the :doc:`change_box ` - command to temporarily expand the box, then add atoms via - create_atoms, then finally use change_box command again if needed - to re-shrink-wrap the new atoms. See the :doc:`change_box - ` doc page for an example of how to do this, using the - create_atoms *single* style to insert a new atom outside the - current simulation box. - ---------- Individual atoms are inserted by this command, unless the *mol* @@ -268,6 +329,12 @@ molecule can be specified in the molecule file. See the required to be in this file are the coordinates and types of atoms in the molecule. +.. note:: + + If you are using the *mol* keyword in combination with the + :doc:`atom style template ` command, they must use + the same molecule template-ID. + Using a lattice to add molecules, e.g. via the *box* or *region* or *single* styles, is exactly the same as adding atoms on lattice points, except that entire molecules are added at each point, i.e. on @@ -401,12 +468,13 @@ to. The *overlap* keyword only applies to the *random* style. It prevents newly created particles from being created closer than the specified -*Doverlap* distance from any other particle. When the particles being -created are molecules, the radius of the molecule (from its geometric -center) is added to *Doverlap*. If particles have finite size (see -:doc:`atom_style sphere ` for example) *Doverlap* should -be specified large enough to include the particle size in the -non-overlapping criterion. +*Doverlap* distance from any other particle. If particles have finite +size (see :doc:`atom_style sphere ` for example) *Doverlap* +should be specified large enough to include the particle size in the +non-overlapping criterion. If molecules are being randomly inserted, then +an insertion is only accepted if each particle in the molecule meets the +overlap criterion with respect to other particles (not including particles +in the molecule itself). .. note:: @@ -463,12 +531,19 @@ on a single CPU core. ----- The *units* keyword determines the meaning of the distance units used -to specify the coordinates of the one particle created by the *single* -style, or the overlap distance *Doverlap* by the *overlap* keyword. A -*box* value selects standard distance units as defined by the -:doc:`units ` command (e.g., :math:`\AA` for -units = *real* or *metal*\ . A *lattice* value means the distance units are in -lattice spacings. +by parameters for various styles. A *box* value selects standard +distance units as defined by the :doc:`units ` command (e.g., +:math:`\AA` for units = *real* or *metal*\ . A *lattice* value means +the distance units are in lattice spacings. These are affected settings: + +* for *single* style: coordinates of the particle created +* for *random* style: overlap distance *Doverlap* by the *overlap* keyword +* for *mesh* style: *bisect* threshold value for *meshmode* = *bisect* +* for *mesh* style: *radthresh* value for *meshmode* = *bisect* +* for *mesh* style: *density* value for *meshmode* = *qrand* + +Since *density* represents an area (distance ^2), the lattice spacing +factor is also squared. ---------- diff --git a/doc/src/create_box.rst b/doc/src/create_box.rst index f930ecea83..062fa2b360 100644 --- a/doc/src/create_box.rst +++ b/doc/src/create_box.rst @@ -9,9 +9,11 @@ Syntax .. code-block:: LAMMPS create_box N region-ID keyword value ... + create_box N NULL alo ahi blo bhi clo chi keyword value ... * N = # of atom types to use in this simulation -* region-ID = ID of region to use as simulation domain +* region-ID = ID of region to use as simulation domain or NULL for general triclinic box +* alo,ahi,blo,bhi,clo,chi = multipliers on a1,a2,a3 vectors defined by :doc"`lattice ` command (only when region-ID = NULL) * zero or more keyword/value pairs may be appended * keyword = *bond/types* or *angle/types* or *dihedral/types* or *improper/types* or *extra/bond/per/atom* or *extra/angle/per/atom* or *extra/dihedral/per/atom* or *extra/improper/per/atom* or *extra/special/per/atom* @@ -32,121 +34,204 @@ Examples .. code-block:: LAMMPS + # orthogonal or restricted triclinic box using regionID = mybox create_box 2 mybox create_box 2 mybox bond/types 2 extra/bond/per/atom 1 +.. code-block:: LAMMPS + + # 2d general triclinic box using primitive cell for 2d hex lattice + lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 & + a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general + create_box 1 NULL 0 5 0 5 -0.5 0.5 + +.. code-block:: LAMMPS + + # 3d general triclinic box using primitive cell for 3d fcc lattice + lattice custom 1.0 a2 0.0 0.5 0.5 a1 0.5 0.0 0.5 a3 0.5 0.5 0.0 basis 0.0 0.0 0.0 triclinic/general + create box 1 NULL -5 5 -10 10 0 20 + Description """"""""""" -This command creates a simulation box based on the specified region. -Thus a :doc:`region ` command must first be used to define a -geometric domain. It also partitions the simulation box into a -regular 3d grid of rectangular bricks, one per processor, based on the -number of processors being used and the settings of the -:doc:`processors ` command. The partitioning can later be -changed by the :doc:`balance ` or :doc:`fix balance ` commands. +This command creates a simulation box. It also partitions the box into +a regular 3d grid of smaller sub-boxes, one per processor (MPI task). +The geometry of the partitioning is based on the size and shape of the +simulation box, the number of processors being used and the settings +of the :doc:`processors ` command. The partitioning can +later be changed by the :doc:`balance ` or :doc:`fix balance +` commands. -The argument N is the number of atom types that will be used in the +Simulation boxes in LAMMPS can be either orthogonal or triclinic in +shape. Orthogonal boxes are a brick in 3d (rectangle in 2d) with 6 +faces that are each perpendicular to one of the standard xyz +coordinate axes. Triclinic boxes are a parallelepiped in 3d +(parallelogram in 2d) with opposite pairs of faces parallel to each +other. LAMMPS supports two forms of triclinic boxes, restricted and +general, which differ in how the box is oriented with respect to the +xyz coordinate axes. See the :doc:`Howto triclinic ` +for a detailed description of all 3 kinds of simulation boxes. + +The argument *N* is the number of atom types that will be used in the simulation. +Orthogonal and restricted triclinic boxes are created by specifying a +region ID previously defined by the :doc:`region ` command. +General triclinic boxes are discussed below. + If the region is not of style *prism*, then LAMMPS encloses the region (block, sphere, etc.) with an axis-aligned orthogonal bounding box -which becomes the simulation domain. +which becomes the simulation domain. For a 2d simulation, the zlo and +zhi values of the simulation box must straddle zero. If the region is of style *prism*, LAMMPS creates a non-orthogonal simulation domain shaped as a parallelepiped with triclinic symmetry. As defined by the :doc:`region prism ` command, the -parallelepiped has its "origin" at (xlo,ylo,zlo) and is defined by three -edge vectors starting from the origin given by -:math:`\vec a = (x_\text{hi}-x_\text{lo},0,0)`; -:math:`\vec b = (xy,y_\text{hi}-y_\text{lo},0)`; and -:math:`\vec c = (xz,yz,z_\text{hi}-z_\text{lo})`. -The parameters *xy*\ , *xz*\ , and *yz* can be 0.0 or -positive or negative values and are called "tilt factors" because they -are the amount of displacement applied to faces of an originally -orthogonal box to transform it into the parallelepiped. +parallelepiped has an "origin" at (xlo,ylo,zlo) and three edge vectors +starting from the origin given by :math:`\vec a = +(x_\text{hi}-x_\text{lo},0,0)`; :math:`\vec b = +(xy,y_\text{hi}-y_\text{lo},0)`; and :math:`\vec c = +(xz,yz,z_\text{hi}-z_\text{lo})`. In LAMMPS lingo, this is a +restricted triclinic box because the three edge vectors cannot be +defined in arbitrary (general) directions. The parameters *xy*\ , +*xz*\ , and *yz* can be 0.0 or positive or negative values and are +called "tilt factors" because they are the amount of displacement +applied to faces of an originally orthogonal box to transform it into +the parallelepiped. For a 2d simulation, the zlo and zhi values of +the simulation box must straddle zero. -By default, a *prism* region used with the create_box command must have -tilt factors :math:`(xy,xz,yz)` that do not skew the box more than half -the distance of the parallel box length. For example, if -:math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the :math:`x` -box length is 10 and the :math:`xy` tilt factor must be between -:math:`-5` and :math:`5`. Similarly, both :math:`xz` and :math:`yz` -must be between :math:`-(x_\text{hi}-x_\text{lo})/2` and +Typically a *prism* region used with the create_box command should +have tilt factors :math:`(xy,xz,yz)` that do not skew the box more +than half the distance of the parallel box length. For example, if +:math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the +:math:`x` box length is 10 and the :math:`xy` tilt factor must be +between :math:`-5` and :math:`5`. Similarly, both :math:`xz` and +:math:`yz` must be between :math:`-(x_\text{hi}-x_\text{lo})/2` and :math:`+(y_\text{hi}-y_\text{lo})/2`. Note that this is not a -limitation, since if the maximum tilt factor is 5 (as in this example), -then configurations with tilt :math:`= \dots, -15`, :math:`-5`, -:math:`5`, :math:`15`, :math:`25, \dots` are all geometrically -equivalent. Simulations with large tilt factors will run inefficiently, -since they require more ghost atoms and thus more communication. With -very large tilt factors, LAMMPS will eventually produce incorrect -trajectories and stop with errors due to lost atoms or similar. +limitation, since if the maximum tilt factor is 5 (as in this +example), then configurations with tilt :math:`= \dots, -15`, +:math:`-5`, :math:`5`, :math:`15`, :math:`25, \dots` are all +geometrically equivalent. -See the :doc:`Howto triclinic ` page for a -geometric description of triclinic boxes, as defined by LAMMPS, and -how to transform these parameters to and from other commonly used -triclinic representations. +LAMMPS will issue a warning if the tilt factors of the created box do +not meet this criterion. This is because simulations with large tilt +factors may run inefficiently, since they require more ghost atoms and +thus more communication. With very large tilt factors, LAMMPS may +eventually produce incorrect trajectories and stop with errors due to +lost atoms or similar issues. -When a prism region is used, the simulation domain should normally be periodic -in the dimension that the tilt is applied to, which is given by the second -dimension of the tilt factor (e.g., :math:`y` for :math:`xy` tilt). This is so -that pairs of atoms interacting across that boundary will have one of them -shifted by the tilt factor. Periodicity is set by the -:doc:`boundary ` command. For example, if the :math:`xy` tilt factor -is non-zero, then the :math:`y` dimension should be periodic. Similarly, the -:math:`z` dimension should be periodic if :math:`xz` or :math:`yz` is non-zero. -LAMMPS does not require this periodicity, but you may lose atoms if this is not -the case. +See the :doc:`Howto triclinic ` page for geometric +descriptions of triclinic boxes and tilt factors, as well as how to +transform the restricted triclinic parameters to and from other +commonly used triclinic representations. + +When a prism region is used, the simulation domain should normally be +periodic in the dimension that the tilt is applied to, which is given +by the second dimension of the tilt factor (e.g., :math:`y` for +:math:`xy` tilt). This is so that pairs of atoms interacting across +that boundary will have one of them shifted by the tilt factor. +Periodicity is set by the :doc:`boundary ` command. For +example, if the :math:`xy` tilt factor is non-zero, then the :math:`y` +dimension should be periodic. Similarly, the :math:`z` dimension +should be periodic if :math:`xz` or :math:`yz` is non-zero. LAMMPS +does not require this periodicity, but you may lose atoms if this is +not the case. Note that if your simulation will tilt the box (e.g., via the -:doc:`fix deform ` command), the simulation box must be set up to -be triclinic, even if the tilt factors are initially 0.0. You can -also change an orthogonal box to a triclinic box or vice versa by +:doc:`fix deform ` command), the simulation box must be +created as triclinic, even if the tilt factors are initially 0.0. You +can also change an orthogonal box to a triclinic box or vice versa by using the :doc:`change box ` command with its *ortho* and *triclinic* options. .. note:: - If the system is non-periodic (in a dimension), then you should - not make the lo/hi box dimensions (as defined in your - :doc:`region ` command) radically smaller/larger than the extent - of the atoms you eventually plan to create (e.g., via the - :doc:`create_atoms ` command). For example, if your atoms - extend from 0 to 50, you should not specify the box bounds as :math:`-10000` - and :math:`10000`. This is because as described above, LAMMPS uses the - specified box size to lay out the 3d grid of processors. A huge - (mostly empty) box will be sub-optimal for performance when using - "fixed" boundary conditions (see the :doc:`boundary ` - command). When using "shrink-wrap" boundary conditions (see the - :doc:`boundary ` command), a huge (mostly empty) box may cause - a parallel simulation to lose atoms the first time that LAMMPS - shrink-wraps the box around the atoms. + If the system is non-periodic (in a dimension), then you should not + make the lo/hi box dimensions (as defined in your :doc:`region + ` command) radically smaller/larger than the extent of the + atoms you eventually plan to create (e.g., via the + :doc:`create_atoms ` command). For example, if your + atoms extend from 0 to 50, you should not specify the box bounds as + :math:`-10000` and :math:`10000`. This is because as described + above, LAMMPS uses the specified box size to lay out the 3d grid of + processors. A huge (mostly empty) box will be sub-optimal for + performance when using "fixed" boundary conditions (see the + :doc:`boundary ` command). When using "shrink-wrap" + boundary conditions (see the :doc:`boundary ` command), a + huge (mostly empty) box may cause a parallel simulation to lose + atoms the first time that LAMMPS shrink-wraps the box around the + atoms. + +---------- + +As noted above, general triclinic boxes in LAMMPS allow the box to +have arbitrary edge vectors **A**, **B**, **C**. The only +restrictions are that the three vectors be distinct, non-zero, and not +co-planar. They must also define a right-handed system such that +(**A** x **B**) points in the direction of **C**. Note that a +left-handed system can be converted to a right-handed system by simply +swapping the order of any pair of the **A**, **B**, **C** vectors. + +To create a general triclinic boxes, the region is specified as NULL +and the next 6 parameters (alo,ahi,blo,bhi,clo,chi) define the three +edge vectors **A**, **B**, **C** using additional information +previously defined by the :doc:`lattice ` command. + +The lattice must be of style *custom* and use its *triclinic/general* +option. This insures the lattice satisfies the restrictions listed +above. The *a1, *a2*, *a3* settings of the :doc:`lattice ` +command define the edge vectors of a unit cell of the general +triclinic lattice. This command uses them to define the three edge +vectors and origin of the general triclinic box as: + +* **A** = (ahi-alo) * *a1* +* **B** = (bhi-blo) * *a2* +* **C** = (chi-clo) * *a3* +* origin = (alo*a1 + blo*a2 + clo*a3) + +For 2d general triclinic boxes, clo = -0.5 and chi = 0.5 is required. + +.. note:: + + LAMMPS allows specification of general triclinic simulation boxes + as a convenience for users who may be converting data from + solid-state crystallographic representations or from DFT codes for + input to LAMMPS. However, as explained on the + :doc:`Howto_triclinic ` doc page, internally, + LAMMPS only uses restricted triclinic simulation boxes. This means + the box defined by this command and per-atom information + (e.g. coordinates, velocities) defined by the :doc:`create_atoms + ` command are converted (rotated) from general to + restricted triclinic form when the two commands are invoked. The + ` doc page also discusses other LAMMPS commands + which can input/output general triclinic representations of the + simulation box and per-atom data. ---------- The optional keywords can be used to create a system that allows for bond (angle, dihedral, improper) interactions, or for molecules with -special 1--2, 1--3, or 1--4 neighbors to be added later. These optional -keywords serve the same purpose as the analogous keywords that can be -used in a data file which are recognized by the +special 1--2, 1--3, or 1--4 neighbors to be added later. These +optional keywords serve the same purpose as the analogous keywords +that can be used in a data file which are recognized by the :doc:`read_data ` command when it sets up a system. Note that if these keywords are not used, then the create_box command creates an atomic (non-molecular) simulation that does not allow bonds -between pairs of atoms to be defined, or a -:doc:`bond potential ` to be specified, or for molecules with -special neighbors to be added to the system by commands such as -:doc:`create_atoms mol `, :doc:`fix deposit ` -or :doc:`fix pour `. +between pairs of atoms to be defined, or a :doc:`bond potential +` to be specified, or for molecules with special neighbors +to be added to the system by commands such as :doc:`create_atoms mol +`, :doc:`fix deposit ` or :doc:`fix pour +`. As an example, see the examples/deposit/in.deposit.molecule script, which deposits molecules onto a substrate. Initially there are no -molecules in the system, but they are added later by the -:doc:`fix deposit ` command. The create_box command in the -script uses the bond/types and extra/bond/per/atom keywords to allow -this. If the added molecule contained more than one special bond -(allowed by default), an extra/special/per/atom keyword would also -need to be specified. +molecules in the system, but they are added later by the :doc:`fix +deposit ` command. The create_box command in the script +uses the bond/types and extra/bond/per/atom keywords to allow this. +If the added molecule contained more than one special bond (allowed by +default), an extra/special/per/atom keyword would also need to be +specified. ---------- diff --git a/doc/src/dihedral_cosine_squared_restricted.rst b/doc/src/dihedral_cosine_squared_restricted.rst new file mode 100644 index 0000000000..c402c983ab --- /dev/null +++ b/doc/src/dihedral_cosine_squared_restricted.rst @@ -0,0 +1,71 @@ +.. index:: dihedral_style cosine/squared/restricted + +dihedral_style cosine/squared/restricted command +================================================ + + +Syntax +"""""" + +.. code-block:: LAMMPS + + dihedral_style cosine/squared/restricted + +Examples +"""""""" + +.. code-block:: LAMMPS + + dihedral_style cosine/squared/restricted + dihedral_coeff 1 10.0 120 + +Description +""""""""""" + +.. versionadded:: 17Apr2024 + +The *cosine/squared/restricted* dihedral style uses the potential + +.. math:: + + E = K [\cos(\phi) - \cos(\phi_0)]^2 / \sin^2(\phi) + +, which is commonly used in the MARTINI force field. + +See :ref:`(Bulacu) ` for a description of the restricted dihedral for the MARTINI force field. + +The following coefficients must be defined for each dihedral type via the +:doc:`dihedral_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: + +* :math:`K` (energy) +* :math:`\phi_0` (degrees) + +:math:`\phi_0` is specified in degrees, but LAMMPS converts it to radians internally. + +---------- + +Restrictions +"""""""""""" + +This dihedral style can only be used if LAMMPS was built with the +EXTRA-MOLECULE package. See the :doc:`Build package ` doc page +for more info. + +Related commands +"""""""""""""""" + +:doc:`dihedral_coeff ` + +Default +""""""" + +none + +---------- + +.. _restricted-Bul: + +**(Bulacu)** Bulacu, Goga, Zhao, Rossi, Monticelli, Periole, Tieleman, Marrink, J Chem Theory Comput, 9, 3282-3292 +(2013). diff --git a/doc/src/dihedral_style.rst b/doc/src/dihedral_style.rst index 45dd66e750..56b8ff5226 100644 --- a/doc/src/dihedral_style.rst +++ b/doc/src/dihedral_style.rst @@ -10,7 +10,7 @@ Syntax dihedral_style style -* style = *none* or *zero* or *hybrid* or *charmm* or *charmmfsw* or *class2* or *cosine/shift/exp* or *fourier* or *harmonic* or *helix* or *lepton* or *multi/harmonic* or *nharmonic* or *opls* or *spherical* or *table* or *table/cut* +* style = *none* or *zero* or *hybrid* or *charmm* or *charmmfsw* or *class2* or *cosine/shift/exp* or *cosine/squared/restricted* or *fourier* or *harmonic* or *helix* or *lepton* or *multi/harmonic* or *nharmonic* or *opls* or *spherical* or *table* or *table/cut* Examples """""""" @@ -105,6 +105,7 @@ exist. * :doc:`charmmfsw ` - CHARMM dihedral with force switching * :doc:`class2 ` - COMPASS (class 2) dihedral * :doc:`cosine/shift/exp ` - dihedral with exponential in spring constant +* :doc:`cosine/squared/restricted ` - squared cosine dihedral with restricted term * :doc:`fourier ` - dihedral with multiple cosine terms * :doc:`harmonic ` - harmonic dihedral * :doc:`helix ` - helix dihedral diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 2d1598e493..2e61ad9921 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -104,7 +104,6 @@ Syntax q, mux, muy, muz, mu, radius, diameter, omegax, omegay, omegaz, angmomx, angmomy, angmomz, tqx, tqy, tqz, - heatflow, temperature, c_ID, c_ID[I], f_ID, f_ID[I], v_name, i_name, d_name, i2_name[I], d2_name[I] @@ -131,8 +130,6 @@ Syntax omegax,omegay,omegaz = angular velocity of spherical particle angmomx,angmomy,angmomz = angular momentum of aspherical particle tqx,tqy,tqz = torque on finite-size particles - heatflow = rate of heat flow into particle - temperature = temperature of particle c_ID = per-atom vector calculated by a compute with ID c_ID[I] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) f_ID = per-atom vector calculated by a fix with ID @@ -278,16 +275,20 @@ format ` command and its options. Format of native LAMMPS format dump files: The *atom*, *custom*, *grid*, and *local* styles create files in a -simple LAMMPS-specific text format that is self-explanatory when -viewing a dump file. Many post-processing tools either included with -LAMMPS or third-party tools can read this format, as does the +simple LAMMPS-specific text format that is mostly self-explanatory +when viewing a dump file. Many post-processing tools either included +with LAMMPS or third-party tools can read this format, as does the :doc:`rerun ` command. See tools described on the :doc:`Tools ` doc page for examples, including `Pizza.py `_. For all these styles, the dimensions of the simulation box are -included in each snapshot. For an orthogonal simulation box this -information is formatted as: +included in each snapshot. The simulation box in LAMMPS can be +defined in one of 3 ways: orthogonal, restricted triclinic, and +general triclinic. See the :doc:`Howto triclinic ` +doc page for a detailed description of all 3 options. + +For an orthogonal simulation box the box information is formatted as: .. parsed-literal:: @@ -304,10 +305,10 @@ the six characters is one of *p* (periodic), *f* (fixed), *s* (shrink wrap), or *m* (shrink wrapped with a minimum value). See the :doc:`boundary ` command for details. -For triclinic simulation boxes (non-orthogonal), an orthogonal -bounding box which encloses the triclinic simulation box is output, -along with the three tilt factors (*xy*, *xz*, *yz*) of the triclinic box, -formatted as follows: +For a restricted triclinic simulation box, an orthogonal bounding box +which encloses the restricted triclinic simulation box is output, +along with the three tilt factors (*xy*, *xz*, *yz*) of the triclinic +box, formatted as follows: .. parsed-literal:: @@ -329,6 +330,10 @@ bounding box extents (xlo_bound, xhi_bound, etc.) are calculated from the triclinic parameters, and how to transform those parameters to and from other commonly used triclinic representations. +For a general triclinic simulation box, see the "General triclinic" +section below for a description of the ITEM: BOX BOUNDS format as well +as how per-atom coordinates and per-atom vector quantities are output. + The *atom* and *custom* styles output a "ITEM: NUMBER OF ATOMS" line with the count of atoms in the snapshot. Likewise they output an "ITEM: ATOMS" line which includes column descriptors for the per-atom @@ -400,7 +405,6 @@ command. Dump files in other popular formats: - .. note:: This section only discusses file formats relevant to this doc page. @@ -656,6 +660,87 @@ how to control the compression level in both variants. ---------- +General triclinic simulation box output for the *atom* and *custom* styles: + +As mentioned above, the simulation box can be defined as a general +triclinic box, which means that 3 arbitrary box edge vectors **A**, +**B**, **C** can be specified. See the :doc:`Howto triclinic +` doc page for a detailed description of general +triclinic boxes. + +This option is provided as a convenience for users who may be +converting data from solid-state crystallographic representations or +from DFT codes for input to LAMMPS. However, as explained on the +:doc:`Howto_triclinic ` doc page, internally, LAMMPS +only uses restricted triclinic simulation boxes. This means the box +and per-atom information (e.g. coordinates, velocities) LAMMPS stores +are converted (rotated) from general to restricted triclinic form when +the system is created. + +For dump output, if the :doc:`dump_modify triclinic/general +` command is used, the box description and per-atom +coordinates and other per-atom vectors will be converted (rotated) +from restricted to general form when each dump file snapshots is +output. This option can only be used if the simulation box was +initially created as general triclinic. If the option is not used, +and the simulation box is general triclinic, then the dump file +snapshots will reflect the internal restricted triclinic geometry. + +The dump_modify triclinic/general option affects 3 aspects of the dump +file output. + +First, the format for the BOX BOUNDS is as follows + +.. parsed-literal:: + + ITEM: BOX BOUNDS abc origin + ax ay az originx + bx by bz originy + cx cy cz originz + +where the **A** edge vector of the box is (ax,ay,az) and similarly +for **B** and **C**. The origin of all 3 edge vectors is (originx, +originy, originz). + +Second, the coordinates of each atom are converted (rotated) so that +the atom is inside (or near) the general triclinic box defined by the +**A**, **B**, **C** edge vectors. For style *atom*, this only alters +output for unscaled atom coords, via the :doc:`dump_modify scaled no +` setting. For style *custom*, this alters output for +either unscaled or unwrapped output of atom coords, via the *x,y,z* or +*xu,yu,zu* attributes. For output of scaled atom coords by both +styles, there is no difference between restricted and general +triclinic values. + +Third, the output for any attribute of the *custom* style which +represents a per-atom vector quantity will be converted (rotated) to +be oriented consistent with the general triclinic box and its +orientation relative to the standard xyz coordinate axes. + +This applies to the following *custom* style attributes: + +* vx,vy,vz = atom velocities +* fx,fy,fz = forces on atoms +* mux,muy,muz = orientation of dipole moment of atom +* omegax,omegay,omegaz = angular velocity of spherical particle +* angmomx,angmomy,angmomz = angular momentum of aspherical particle +* tqx,tqy,tqz = torque on finite-size particles + +For example, if the velocity of an atom in a restricted triclinic box +is along the x-axis, then it will be output for a general triclinic +box as a vector along the **A** edge vector of the box. + +.. note:: + + For style *custom*, the :doc:`dump_modify thresh ` + command may access per-atom attributes either directly or + indirectly through a compute or variable. If the attribute is an + atom coordinate or one of the vectors mentioned above, its value + will *NOT* be a general triclinic (rotated) value. Rather it will + be a restricted triclinic value. + +---------- + Arguments for different styles: The sections below describe per-atom, local, and per grid cell diff --git a/doc/src/dump_modify.rst b/doc/src/dump_modify.rst index 2d84f28836..a9b71a98e2 100644 --- a/doc/src/dump_modify.rst +++ b/doc/src/dump_modify.rst @@ -17,7 +17,7 @@ Syntax * one or more keyword/value pairs may be appended * these keywords apply to various dump styles -* keyword = *append* or *at* or *balance* or *buffer* or *colname* or *delay* or *element* or *every* or *every/time* or *fileper* or *first* or *flush* or *format* or *header* or *image* or *label* or *maxfiles* or *nfile* or *pad* or *pbc* or *precision* or *region* or *refresh* or *scale* or *sfactor* or *skip* or *sort* or *tfactor* or *thermo* or *thresh* or *time* or *units* or *unwrap* +* keyword = *append* or *at* or *balance* or *buffer* or *colname* or *delay* or *element* or *every* or *every/time* or *fileper* or *first* or *flush* or *format* or *header* or *image* or *label* or *maxfiles* or *nfile* or *pad* or *pbc* or *precision* or *region* or *refresh* or *scale* or *sfactor* or *skip* or *sort* or *tfactor* or *thermo* or *thresh* or *time* or *triclinic/general* or *units* or *unwrap* .. parsed-literal:: @@ -74,12 +74,13 @@ Syntax -N = sort per-atom lines in descending order by the Nth column *tfactor* arg = time scaling factor (> 0.0) *thermo* arg = *yes* or *no* - *time* arg = *yes* or *no* *thresh* args = attribute operator value attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style operator = "<" or "<=" or ">" or ">=" or "==" or "!=" or "\|\^" value = numeric value to compare to, or LAST these 3 args can be replaced by the word "none" to turn off thresholding + *time* arg = *yes* or *no* + *triclinic/general* arg = *yes* or *no* *units* arg = *yes* or *no* *unwrap* arg = *yes* or *no* @@ -802,8 +803,9 @@ region since the last dump. dump_modify ... thresh v_charge |^ LAST This will dump atoms whose charge has changed from an absolute value -less than :math:`\frac12` to greater than :math:`\frac12` (or vice versa) since the last dump (e.g., due to reactions and subsequent charge equilibration in a -reactive force field). +less than :math:`\frac12` to greater than :math:`\frac12` (or vice +versa) since the last dump (e.g., due to reactions and subsequent +charge equilibration in a reactive force field). The choice of operators listed above are the usual comparison operators. The XOR operation (exclusive or) is also included as "\|\^". @@ -811,6 +813,18 @@ In this context, XOR means that if either the attribute or value is 0.0 and the other is non-zero, then the result is "true" and the threshold criterion is met. Otherwise it is not met. +.. note:: + + For style *custom*, the *triclinic/general* keyword can alter dump + output for general triclinic simulation boxes and their atoms. See + the :doc:`dump ` command for details of how this changes the + format of dump file snapshots. The thresh keyword may access + per-atom attributes either directly or indirectly through a compute + or variable. If the attribute is an atom coordinate or a per-atom + vector (such as velocity, force, or dipole moment), its value will + *NOT* be a general triclinic (rotated) value. Rather it will be a + restricted triclinic value. + ---------- The *time* keyword only applies to the dump *atom*, *custom*, *local*, @@ -835,6 +849,29 @@ The default setting is *no*\ . ---------- +The *triclinic/general* keyword only applies to the dump *atom* and +*custom* styles. It can only be used with a value of *yes* if the +simulation box was created as a general triclinic box. See the +:doc:`Howto_triclinic ` doc page for a detailed +explanation of orthogonal, restricted triclinic, and general triclinic +simulation boxes. + +If this keyword is used with a value of *yes*, the box information at +the beginning of each snapshot will include information about the 3 +arbitrary edge vectors **A**, **B**, **C** that define the general +triclinic box as well as their origin. The format is described on the +:doc:`dump ` doc page. + +The coordinates of each atom will likewise be output as values in (or +near) the general triclinic box. Likewise, per-atom vector quantities +such as velocity, omega, dipole moment, etc will have orientations +consistent with the general triclinic box, meaning they will be +rotated relative to the standard xyz coordinate axes. See the +:doc:`dump ` doc page for a full list of which dump attributes +this affects. + +---------- + The *units* keyword only applies to the dump *atom*, *custom*, and *local* styles (and their COMPRESS package versions *atom/gz*, *custom/gz* and *local/gz*\ ). If set to *yes*, each individual dump @@ -922,6 +959,8 @@ The option defaults are * sort = off for dump styles *atom*, *custom*, *cfg*, and *local* * sort = id for dump styles *dcd*, *xtc*, and *xyz* * thresh = none +* time = no +* triclinic/general no * units = no * unwrap = no diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 69a7212487..4cd21353c7 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -226,6 +226,7 @@ accelerated styles exist. * :doc:`controller ` - apply control loop feedback mechanism * :doc:`damping/cundall ` - Cundall non-viscous damping for granular simulations * :doc:`deform ` - change the simulation box size/shape +* :doc:`deform/pressure ` - change the simulation box size/shape with additional loading conditions * :doc:`deposit ` - add new atoms above a surface * :doc:`dpd/energy ` - constant energy dissipative particle dynamics * :doc:`drag ` - drag atoms towards a defined coordinate @@ -427,6 +428,7 @@ accelerated styles exist. * :doc:`wall/body/polyhedron ` - time integration for body particles of style :doc:`rounded/polyhedron ` * :doc:`wall/colloid ` - Lennard-Jones wall interacting with finite-size particles * :doc:`wall/ees ` - wall for ellipsoidal particles +* :doc:`wall/flow ` - flow boundary conditions * :doc:`wall/gran ` - frictional wall(s) for granular simulations * :doc:`wall/gran/region ` - :doc:`fix wall/region ` equivalent for use with granular particles * :doc:`wall/harmonic ` - harmonic spring wall diff --git a/doc/src/fix_atom_swap.rst b/doc/src/fix_atom_swap.rst index aa8127561c..c215fa4ff5 100644 --- a/doc/src/fix_atom_swap.rst +++ b/doc/src/fix_atom_swap.rst @@ -168,7 +168,7 @@ the following global cumulative quantities: * 1 = swap attempts * 2 = swap accepts -The vector values calculated by this fix are "extensive". +The vector values calculated by this fix are "intensive". No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during diff --git a/doc/src/fix_ave_chunk.rst b/doc/src/fix_ave_chunk.rst index adbfb43d72..449b9b8208 100644 --- a/doc/src/fix_ave_chunk.rst +++ b/doc/src/fix_ave_chunk.rst @@ -31,7 +31,7 @@ Syntax v_name = per-atom vector calculated by an atom-style variable with name * zero or more keyword/arg pairs may be appended -* keyword = *norm* or *ave* or *bias* or *adof* or *cdof* or *file* or *overwrite* or *format* or *title1* or *title2* or *title3* +* keyword = *norm* or *ave* or *bias* or *adof* or *cdof* or *file* or *append* or *overwrite* or *format* or *title1* or *title2* or *title3* .. parsed-literal:: @@ -51,6 +51,8 @@ Syntax dof_per_chunk = define this many degrees-of-freedom per chunk for temperature calculation *file* arg = filename filename = file to write results to + *append* arg = filename + filename = file to append results to *overwrite* arg = none = overwrite output file with only latest output *format* arg = string string = C-style format string @@ -433,15 +435,21 @@ molecule. ---------- -The *file* keyword allows a filename to be specified. Every -:math:`N_\text{freq}` timesteps, a section of chunk info will be written to a -text file in the following format. A line with the timestep and number of -chunks is written. Then one line per chunk is written, containing the chunk -ID :math:`(1-N_\text{chunk}),` an optional original ID value, optional -coordinate values for chunks that represent spatial bins, the number of atoms -in the chunk, and one or more calculated values. More explanation of the -optional values is given below. The number of values in each line -corresponds to the number of values specified in the fix ave/chunk +.. versionadded:: 17Apr2024 + new keyword *append* + +The *file* or *append* keywords allow a filename to be specified. If +*file* is used, then the filename is overwritten if it already exists. +If *append* is used, then the filename is appended to if it already +exists, or created if it does not exist. Every :math:`N_\text{freq}` +timesteps, a section of chunk info will be written to a text file in the +following format. A line with the timestep and number of chunks is +written. Then one line per chunk is written, containing the chunk ID +:math:`(1-N_\text{chunk}),` an optional original ID value, optional +coordinate values for chunks that represent spatial bins, the number of +atoms in the chunk, and one or more calculated values. More explanation +of the optional values is given below. The number of values in each +line corresponds to the number of values specified in the fix ave/chunk command. The number of atoms and the value(s) are summed or average quantities, as explained above. diff --git a/doc/src/fix_ave_correlate.rst b/doc/src/fix_ave_correlate.rst index 1aff749048..659e15105c 100644 --- a/doc/src/fix_ave_correlate.rst +++ b/doc/src/fix_ave_correlate.rst @@ -65,7 +65,6 @@ Examples fix 1 all ave/correlate 1 50 10000 & c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] & type upper ave running title1 "My correlation data" - fix 1 all ave/correlate 1 50 10000 c_thermo_press[*] Description diff --git a/doc/src/fix_ave_correlate_long.rst b/doc/src/fix_ave_correlate_long.rst index e2b23248f2..003bdf897d 100644 --- a/doc/src/fix_ave_correlate_long.rst +++ b/doc/src/fix_ave_correlate_long.rst @@ -20,11 +20,11 @@ Syntax .. parsed-literal:: c_ID = global scalar calculated by a compute with ID - c_ID[I] = Ith component of global vector calculated by a compute with ID + c_ID[I] = Ith component of global vector calculated by a compute with ID, I can include wildcard (see below) f_ID = global scalar calculated by a fix with ID - f_ID[I] = Ith component of global vector calculated by a fix with ID + f_ID[I] = Ith component of global vector calculated by a fix with ID, I can include wildcard (see below) v_name = global value calculated by an equal-style variable with name - v_name[I] = Ith component of global vector calculated by a vector-style variable with name + v_name[I] = Ith component of a vector-style variable with name, I can include wildcard (see below) * zero or more keyword/arg pairs may be appended * keyword = *type* or *start* or *file* or *overwrite* or *title1* or *title2* or *ncorr* or *nlen* or *ncount* @@ -63,6 +63,7 @@ Examples fix 1 all ave/correlate/long 1 10000 & c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] & type upper title1 "My correlation data" nlen 15 ncount 3 + fix 1 all ave/correlate/long 1 10000 c_thermo_press[*] Description """"""""""" @@ -80,8 +81,10 @@ specified values may represent calculations performed by computes and fixes which store their own "group" definitions. Each listed value can be the result of a compute or fix or the -evaluation of an equal-style variable. See the -:doc:`fix ave/correlate ` page for details. +evaluation of an equal-style or vector-style variable. For +vector-style variables, the specified indices can include a wildcard +character. See the :doc:`fix ave/correlate ` page +for details. The *Nevery* and *Nfreq* arguments specify on what time steps the input values will be used to calculate correlation data and the frequency diff --git a/doc/src/fix_ave_histo.rst b/doc/src/fix_ave_histo.rst index 9699e4238c..ac3b77086e 100644 --- a/doc/src/fix_ave_histo.rst +++ b/doc/src/fix_ave_histo.rst @@ -35,7 +35,7 @@ Syntax v_name[I] = value calculated by a vector-style variable with name, I can include wildcard (see below) * zero or more keyword/arg pairs may be appended -* keyword = *mode* or *kind* or *file* or *ave* or *start* or *beyond* or *overwrite* or *title1* or *title2* or *title3* +* keyword = *mode* or *kind* or *file* or *append* or *ave* or *start* or *beyond* or *overwrite* or *title1* or *title2* or *title3* .. parsed-literal:: @@ -45,6 +45,8 @@ Syntax *kind* arg = *global* or *peratom* or *local* *file* arg = filename filename = name of file to output histogram(s) to + *append* arg = filename + filename = name of file to append histogram(s) to *ave* args = *one* or *running* or *window* one = output a new average value every Nfreq steps running = output cumulative average of all previous Nfreq steps @@ -317,19 +319,25 @@ on. The default is step 0. Often input values can be 0.0 at time 0, so setting *start* to a larger value can avoid including a 0.0 in a running or windowed histogram. -The *file* keyword allows a filename to be specified. Every *Nfreq* -steps, one histogram is written to the file. This includes a leading -line that contains the timestep, number of bins, the total count of -values contributing to the histogram, the count of values that were -not histogrammed (see the *beyond* keyword), the minimum value -encountered, and the maximum value encountered. The min/max values -include values that were not histogrammed. Following the leading -line, one line per bin is written into the file. Each line contains -the bin #, the coordinate for the center of the bin (between *lo* and -*hi*\ ), the count of values in the bin, and the normalized count. The -normalized count is the bin count divided by the total count (not -including values not histogrammed), so that the normalized values sum -to 1.0 across all bins. +.. versionadded:: 17Apr2024 + new keyword *append* + +The *file* or *append* keywords allow a filename to be specified. If +*file* is used, then the filename is overwritten if it already exists. +If *append* is used, then the filename is appended to if it already +exists, or created if it does not exist. Every *Nfreq* steps, one +histogram is written to the file. This includes a leading line that +contains the timestep, number of bins, the total count of values +contributing to the histogram, the count of values that were not +histogrammed (see the *beyond* keyword), the minimum value encountered, +and the maximum value encountered. The min/max values include values +that were not histogrammed. Following the leading line, one line per +bin is written into the file. Each line contains the bin #, the +coordinate for the center of the bin (between *lo* and *hi*\ ), the +count of values in the bin, and the normalized count. The normalized +count is the bin count divided by the total count (not including values +not histogrammed), so that the normalized values sum to 1.0 across all +bins. The *overwrite* keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of diff --git a/doc/src/fix_ave_time.rst b/doc/src/fix_ave_time.rst index aa82e676ea..cb05b8a5ab 100644 --- a/doc/src/fix_ave_time.rst +++ b/doc/src/fix_ave_time.rst @@ -28,7 +28,7 @@ Syntax v_name[I] = value calculated by a vector-style variable with name, I can include wildcard (see below) * zero or more keyword/arg pairs may be appended -* keyword = *mode* or *file* or *ave* or *start* or *off* or *overwrite* or *format* or *title1* or *title2* or *title3* +* keyword = *mode* or *file* or *append* or *ave* or *start* or *off* or *overwrite* or *format* or *title1* or *title2* or *title3* .. parsed-literal:: @@ -45,6 +45,8 @@ Syntax M = value # from 1 to Nvalues *file* arg = filename filename = name of file to output time averages to + *append* arg = filename + filename = name of file to append time averages to *overwrite* arg = none = overwrite output file with only latest output *format* arg = string string = C-style format string @@ -270,16 +272,21 @@ are effectively constant or are simply current values (e.g., they are being written to a file with other time-averaged values for purposes of creating well-formatted output). -The *file* keyword allows a filename to be specified. Every *Nfreq* -steps, one quantity or vector of quantities is written to the file for -each input value specified in the fix ave/time command. For *mode* = -scalar, this means a single line is written each time output is -performed. Thus the file ends up to be a series of lines, i.e. one -column of numbers for each input value. For *mode* = vector, an array -of numbers is written each time output is performed. The number of rows -is the length of the input vectors, and the number of columns is the -number of values. Thus the file ends up to be a series of these array -sections. +.. versionadded:: 17Apr2024 + new keyword *append* + +The *file* or *append* keywords allow a filename to be specified. If +*file* is used, then the filename is overwritten if it already exists. +If *append* is used, then the filename is appended to if it already +exists, or created if it does not exist. Every *Nfreq* steps, one +quantity or vector of quantities is written to the file for each input +value specified in the fix ave/time command. For *mode* = scalar, this +means a single line is written each time output is performed. Thus the +file ends up to be a series of lines, i.e. one column of numbers for +each input value. For *mode* = vector, an array of numbers is written +each time output is performed. The number of rows is the length of the +input vectors, and the number of columns is the number of values. Thus +the file ends up to be a series of these array sections. .. versionadded:: 4May2022 diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index 0672a05470..3065707dc7 100644 --- a/doc/src/fix_balance.rst +++ b/doc/src/fix_balance.rst @@ -14,15 +14,15 @@ Syntax * balance = style name of this fix command * Nfreq = perform dynamic load balancing every this many steps * thresh = imbalance threshold that must be exceeded to perform a re-balance -* style = *shift* or *rcb* - +* style = *shift* or *rcb* or *report* .. parsed-literal:: - shift args = dimstr Niter stopthresh + *shift* args = dimstr Niter stopthresh dimstr = sequence of letters containing *x* or *y* or *z*, each not more than once Niter = # of times to iterate within each dimension of dimstr sequence stopthresh = stop balancing when this imbalance threshold is reached *rcb* args = none + *report* args = none * zero or more keyword/arg pairs may be appended * keyword = *weight* or *out* @@ -70,6 +70,13 @@ re-balancing is performed periodically during the simulation. To perform "static" balancing, before or between runs, see the :doc:`balance ` command. +.. versionadded:: 17Apr2024 + +The *report* balance style only computes the load imbalance but +does not attempt any re-balancing. This way the load imbalance +information can be used otherwise, for instance for stopping a +run with :doc:`fix halt `. + Load-balancing is typically most useful if the particles in the simulation box have a spatially-varying density distribution or where the computational cost varies significantly between different diff --git a/doc/src/fix_charge_regulation.rst b/doc/src/fix_charge_regulation.rst index bc2651a55b..091eeae417 100644 --- a/doc/src/fix_charge_regulation.rst +++ b/doc/src/fix_charge_regulation.rst @@ -253,11 +253,11 @@ built with that package. See the :doc:`Build package ` page for more info. The :doc:`atom_style `, used must contain the charge -property, for example, the style could be *charge* or *full*. Only -usable for 3D simulations. Atoms specified as free ions cannot be part -of rigid bodies or molecules and cannot have bonding interactions. The -scheme is limited to integer charges, any atoms with non-integer charges -will not be considered by the fix. +property and have per atom type masses, for example, the style could be +*charge* or *full*. Only usable for 3D simulations. Atoms specified as +free ions cannot be part of rigid bodies or molecules and cannot have +bonding interactions. The scheme is limited to integer charges, any +atoms with non-integer charges will not be considered by the fix. All interaction potentials used must be continuous, otherwise the MD integration and the particle exchange MC moves do not correspond to the diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index ee010f5645..9146b987c8 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -4,6 +4,9 @@ fix deform command ================== +:doc:`fix deform/pressure ` command +======================================================== + Accelerator Variants: *deform/kk* Syntax @@ -11,18 +14,18 @@ Syntax .. code-block:: LAMMPS - fix ID group-ID deform N parameter args ... keyword value ... + fix ID group-ID fix_style N parameter style args ... keyword value ... * ID, group-ID are documented in :doc:`fix ` command -* deform = style name of this fix command +* fix_style = *deform* or *deform/pressure* * N = perform box deformation every this many timesteps -* one or more parameter/arg pairs may be appended +* one or more parameter/style/args sequences of arguments may be appended .. parsed-literal:: parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* *x*, *y*, *z* args = style value(s) - style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* + style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* or *pressure* or *pressure/mean* *final* values = lo hi lo hi = box boundaries at end of run (distance units) *delta* values = dlo dhi @@ -43,8 +46,15 @@ Syntax *variable* values = v_name1 v_name2 v_name1 = variable with name1 for box length change as function of time v_name2 = variable with name2 for change rate as function of time + *pressure* values = target gain (ONLY available in :doc:`fix deform/pressure ` command) + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + *pressure/mean* values = target gain (ONLY available in :doc:`fix deform/pressure ` command) + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + *xy*, *xz*, *yz* args = style value - style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* + style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* or *variable* *final* value = tilt tilt = tilt factor at end of run (distance units) *delta* value = dtilt @@ -62,9 +72,12 @@ Syntax *variable* values = v_name1 v_name2 v_name1 = variable with name1 for tilt change as function of time v_name2 = variable with name2 for change rate as function of time + *pressure* values = target gain (ONLY available in :doc:`fix deform/pressure ` command) + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) * zero or more keyword/value pairs may be appended -* keyword = *remap* or *flip* or *units* +* keyword = *remap* or *flip* or *units* or *couple* or *vol/balance/p* or *max/rate* or *normalize/pressure* .. parsed-literal:: @@ -77,6 +90,15 @@ Syntax *units* value = *lattice* or *box* lattice = distances are defined in lattice units box = distances are defined in simulation box units + *couple* value = *none* or *xyz* or *xy* or *yz* or *xz* (ONLY available in :doc:`fix deform/pressure ` command) + couple pressure values of various dimensions + *vol/balance/p* value = *yes* or *no* (ONLY available in :doc:`fix deform/pressure ` command) + Modifies the behavior of the *volume* option to try and balance pressures + *max/rate* value = *rate* (ONLY available in :doc:`fix deform/pressure ` command) + rate = maximum strain rate for pressure control + *normalize/pressure* value = *yes* or *no* (ONLY available in :doc:`fix deform/pressure ` command) + Modifies pressure controls such that the deviation in pressure is normalized by the target pressure + Examples """""""" @@ -88,6 +110,8 @@ Examples fix 1 all deform 1 xy erate 0.001 remap v fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 +See examples for :doc:`fix deform/pressure ` on its doc page + Description """"""""""" @@ -95,29 +119,46 @@ Change the volume and/or shape of the simulation box during a dynamics run. Orthogonal simulation boxes have 3 adjustable parameters (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be -adjusted independently and simultaneously by this command. +adjusted independently and simultaneously. -This fix can be used to perform non-equilibrium MD (NEMD) simulations -of a continuously strained system. See the :doc:`fix nvt/sllod ` and :doc:`compute temp/deform ` commands for more details. Note -that simulation of a continuously extended system (extensional flow) -can be modeled using the :ref:`UEF package ` and its :doc:`fix commands `. +The fix deform command allows use of all the arguments listed above, +except those flagged as available ONLY for the :doc:`fix +deform/pressure ` command, which are +pressure-based controls. The fix deform/pressure command allows use +of all the arguments listed above. + +The rest of this doc page explains the options common to both +commands. The :doc:`fix deform/pressure ` doc +page explains the options available ONLY with the fix deform/pressure +command. Note that a simulation can define only a single deformation +command: fix deform or fix deform/pressure. + +Both these fixes can be used to perform non-equilibrium MD (NEMD) +simulations of a continuously strained system. See the :doc:`fix +nvt/sllod ` and :doc:`compute temp/deform +` commands for more details. Note that +simulation of a continuously extended system (extensional flow) can be +modeled using the :ref:`UEF package ` and its :doc:`fix +commands `. For the *x*, *y*, *z* parameters, the associated dimension cannot be shrink-wrapped. For the *xy*, *yz*, *xz* parameters, the associated -second dimension cannot be shrink-wrapped. Dimensions not varied by this -command can be periodic or non-periodic. Dimensions corresponding to -unspecified parameters can also be controlled by a :doc:`fix npt ` or :doc:`fix nph ` command. +second dimension cannot be shrink-wrapped. Dimensions not varied by +this command can be periodic or non-periodic. Dimensions +corresponding to unspecified parameters can also be controlled by a +:doc:`fix npt ` or :doc:`fix nph ` command. The size and shape of the simulation box at the beginning of the -simulation run were either specified by the -:doc:`create_box ` or :doc:`read_data ` or -:doc:`read_restart ` command used to setup the simulation -initially if it is the first run, or they are the values from the end -of the previous run. The :doc:`create_box `, :doc:`read data `, and :doc:`read_restart ` commands -specify whether the simulation box is orthogonal or non-orthogonal -(triclinic) and explain the meaning of the xy,xz,yz tilt factors. If -fix deform changes the xy,xz,yz tilt factors, then the simulation box -must be triclinic, even if its initial tilt factors are 0.0. +simulation run were either specified by the :doc:`create_box +` or :doc:`read_data ` or :doc:`read_restart +` command used to setup the simulation initially if it +is the first run, or they are the values from the end of the previous +run. The :doc:`create_box `, :doc:`read data +`, and :doc:`read_restart ` commands specify +whether the simulation box is orthogonal or non-orthogonal (triclinic) +and explain the meaning of the xy,xz,yz tilt factors. If fix deform +changes the xy,xz,yz tilt factors, then the simulation box must be +triclinic, even if its initial tilt factors are 0.0. As described below, the desired simulation box size and shape at the end of the run are determined by the parameters of the fix deform @@ -258,21 +299,22 @@ of the units keyword below. The *variable* style changes the specified box length dimension by evaluating a variable, which presumably is a function of time. The -variable with *name1* must be an :doc:`equal-style variable ` -and should calculate a change in box length in units of distance. -Note that this distance is in box units, not lattice units; see the -discussion of the *units* keyword below. The formula associated with -variable *name1* can reference the current timestep. Note that it -should return the "change" in box length, not the absolute box length. -This means it should evaluate to 0.0 when invoked on the initial -timestep of the run following the definition of fix deform. It should -evaluate to a value > 0.0 to dilate the box at future times, or a -value < 0.0 to compress the box. +variable with *name1* must be an :doc:`equal-style variable +` and should calculate a change in box length in units of +distance. Note that this distance is in box units, not lattice units; +see the discussion of the *units* keyword below. The formula +associated with variable *name1* can reference the current timestep. +Note that it should return the "change" in box length, not the +absolute box length. This means it should evaluate to 0.0 when +invoked on the initial timestep of the run following the definition of +fix deform. It should evaluate to a value > 0.0 to dilate the box at +future times, or a value < 0.0 to compress the box. -The variable *name2* must also be an :doc:`equal-style variable ` and should calculate the rate of box length -change, in units of distance/time, i.e. the time-derivative of the -*name1* variable. This quantity is used internally by LAMMPS to reset -atom velocities when they cross periodic boundaries. It is computed +The variable *name2* must also be an :doc:`equal-style variable +` and should calculate the rate of box length change, in +units of distance/time, i.e. the time-derivative of the *name1* +variable. This quantity is used internally by LAMMPS to reset atom +velocities when they cross periodic boundaries. It is computed internally for the other styles, but you must provide it when using an arbitrary variable. @@ -414,12 +456,13 @@ can reference the current timestep. Note that it should return the should evaluate to 0.0 when invoked on the initial timestep of the run following the definition of fix deform. -The variable *name2* must also be an :doc:`equal-style variable ` and should calculate the rate of tilt change, -in units of distance/time, i.e. the time-derivative of the *name1* -variable. This quantity is used internally by LAMMPS to reset atom -velocities when they cross periodic boundaries. It is computed -internally for the other styles, but you must provide it when using an -arbitrary variable. +The variable *name2* must also be an :doc:`equal-style variable +` and should calculate the rate of tilt change, in units of +distance/time, i.e. the time-derivative of the *name1* variable. This +quantity is used internally by LAMMPS to reset atom velocities when +they cross periodic boundaries. It is computed internally for the +other styles, but you must provide it when using an arbitrary +variable. Here is an example of using the *variable* style to perform the same box deformation as the *wiggle* style formula listed above, where we @@ -510,33 +553,40 @@ box without explicit remapping of their coordinates. .. note:: For non-equilibrium MD (NEMD) simulations using "remap v" it is - usually desirable that the fluid (or flowing material, e.g. granular - particles) stream with a velocity profile consistent with the - deforming box. As mentioned above, using a thermostat such as :doc:`fix nvt/sllod ` or :doc:`fix lavgevin ` - (with a bias provided by :doc:`compute temp/deform `), will typically accomplish - that. If you do not use a thermostat, then there is no driving force - pushing the atoms to flow in a manner consistent with the deforming - box. E.g. for a shearing system the box deformation velocity may vary + usually desirable that the fluid (or flowing material, + e.g. granular particles) stream with a velocity profile consistent + with the deforming box. As mentioned above, using a thermostat + such as :doc:`fix nvt/sllod ` or :doc:`fix lavgevin + ` (with a bias provided by :doc:`compute temp/deform + `), will typically accomplish that. If you do + not use a thermostat, then there is no driving force pushing the + atoms to flow in a manner consistent with the deforming box. + E.g. for a shearing system the box deformation velocity may vary from 0 at the bottom to 10 at the top of the box. But the stream - velocity profile of the atoms may vary from -5 at the bottom to +5 at - the top. You can monitor these effects using the :doc:`fix ave/chunk `, :doc:`compute temp/deform `, and :doc:`compute temp/profile ` commands. One way to induce - atoms to stream consistent with the box deformation is to give them an + velocity profile of the atoms may vary from -5 at the bottom to +5 + at the top. You can monitor these effects using the :doc:`fix + ave/chunk `, :doc:`compute temp/deform + `, and :doc:`compute temp/profile + ` commands. One way to induce atoms to + stream consistent with the box deformation is to give them an initial velocity profile, via the :doc:`velocity ramp ` - command, that matches the box deformation rate. This also typically - helps the system come to equilibrium more quickly, even if a - thermostat is used. + command, that matches the box deformation rate. This also + typically helps the system come to equilibrium more quickly, even + if a thermostat is used. .. note:: If a :doc:`fix rigid ` is defined for rigid bodies, and *remap* is set to *x*, then the center-of-mass coordinates of rigid - bodies will be remapped to the changing simulation box. This will be - done regardless of whether atoms in the rigid bodies are in the fix - deform group or not. The velocity of the centers of mass are not - remapped even if *remap* is set to *v*, since :doc:`fix nvt/sllod ` does not currently do anything special + bodies will be remapped to the changing simulation box. This will + be done regardless of whether atoms in the rigid bodies are in the + fix deform group or not. The velocity of the centers of mass are + not remapped even if *remap* is set to *v*, since :doc:`fix + nvt/sllod ` does not currently do anything special for rigid particles. If you wish to perform a NEMD simulation of rigid particles, you can either thermostat them independently or - include a background fluid and thermostat the fluid via :doc:`fix nvt/sllod `. + include a background fluid and thermostat the fluid via :doc:`fix + nvt/sllod `. The *flip* keyword allows the tilt factors for a triclinic box to exceed half the distance of the parallel box length, as discussed @@ -568,7 +618,8 @@ command if you want to include lattice spacings in a variable formula. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix will restore the initial box settings from :doc:`binary restart files `, which allows the fix to be properly continue +This fix will restore the initial box settings from :doc:`binary +restart files `, which allows the fix to be properly continue deformation, when using the start/stop options of the :doc:`run ` command. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by @@ -586,12 +637,14 @@ Restrictions You cannot apply x, y, or z deformations to a dimension that is shrink-wrapped via the :doc:`boundary ` command. -You cannot apply xy, yz, or xz deformations to a second dimension (y in -xy) that is shrink-wrapped via the :doc:`boundary ` command. +You cannot apply xy, yz, or xz deformations to a second dimension (y +in xy) that is shrink-wrapped via the :doc:`boundary ` +command. Related commands """""""""""""""" +:doc:`fix deform/pressure `, :doc:`change_box ` Default diff --git a/doc/src/fix_deform_pressure.rst b/doc/src/fix_deform_pressure.rst new file mode 100644 index 0000000000..1490390988 --- /dev/null +++ b/doc/src/fix_deform_pressure.rst @@ -0,0 +1,336 @@ +.. index:: fix deform/pressure + +fix deform/pressure command +=========================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID deform/pressure N parameter style args ... keyword value ... + +* ID, group-ID are documented in :doc:`fix ` command +* deform/pressure = style name of this fix command +* N = perform box deformation every this many timesteps +* one or more parameter/arg sequences may be appended + + .. parsed-literal:: + + parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* or *box* + *x*, *y*, *z* args = style value(s) + style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* or *pressure* or *pressure/mean* + *pressure* values = target gain + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + *pressure/mean* values = target gain + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + NOTE: All other styles are documented by the :doc:`fix deform ` command + + *xy*, *xz*, *yz* args = style value + style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* or *variable* or *pressure* or *erate/rescale* + *pressure* values = target gain + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + *erate/rescale* value = R + R = engineering shear strain rate (1/time units) + NOTE: All other styles are documented by the :doc:`fix deform ` command + + *box* = style value + style = *volume* or *pressure* + *volume* value = none = isotropically adjust system to preserve volume of system + *pressure* values = target gain + target = target mean pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + +* zero or more keyword/value pairs may be appended +* keyword = *remap* or *flip* or *units* or *couple* or *vol/balance/p* or *max/rate* or *normalize/pressure* + + .. parsed-literal:: + + *couple* value = *none* or *xyz* or *xy* or *yz* or *xz* + couple pressure values of various dimensions + *vol/balance/p* value = *yes* or *no* + Modifies the behavior of the *volume* option to try and balance pressures + *max/rate* value = *rate* + rate = maximum strain rate for pressure control + *normalize/pressure* value = *yes* or *no* + Modifies pressure controls such that the deviation in pressure is normalized by the target pressure + NOTE: All other keywords are documented by the :doc:`fix deform ` command + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all deform/pressure 1 x pressure 2.0 0.1 normalize/pressure yes max/rate 0.001 + fix 1 all deform/pressure 1 x trate 0.1 y volume z volume vol/balance/p yes + fix 1 all deform/pressure 1 x trate 0.1 y pressure/mean 0.0 1.0 z pressure/mean 0.0 1.0 + +Description +""""""""""" + +.. versionadded:: 17Apr2024 + +This fix is an extension of the :doc:`fix deform ` +command, which allows all of its options to be used as well as new +pressure-based controls implemented by this command. + +All arguments described on the :doc:`fix deform ` doc page +also apply to this fix unless otherwise noted below. The rest of this +doc page explains the arguments specific to this fix. Note that a +simulation can define only a single deformation command: fix deform or +fix deform/pressure. + +---------- + +For the *x*, *y*, and *z* parameters, this is the meaning of the +styles and values provided by this fix. + +The *pressure* style adjusts a dimension's box length to control the +corresponding component of the pressure tensor. This option attempts to +maintain a specified target pressure using a linear controller where the +box length :math:`L` evolves according to the equation + +.. math:: + + \frac{d L(t)}{dt} = L(t) k (P_t - P) + +where :math:`k` is a proportional gain constant, :math:`P_t` is the target +pressure, and :math:`P` is the current pressure along that dimension. This +approach is similar to the method used to control the pressure by +:doc:`fix press/berendsen `. The target pressure +accepts either a constant numeric value or a LAMMPS :ref:`variable `. +Notably, this variable can be a function of time or other components of +the pressure tensor. By default, :math:`k` has units of 1/(time * pressure) +although this will change if the *normalize/pressure* option is set as +:ref:`discussed below `. There is no proven method +to choosing an appropriate value of :math:`k` as it will depend on the +specific details of a simulation. Testing different values is recommended. + +By default, there is no limit on the resulting strain rate in any dimension. +A maximum limit can be applied using the :ref:`max/rate ` +option. Akin to :doc:`fix nh `, pressures in different dimensions +can be coupled using the :ref:`couple ` option. This means +the instantaneous pressure along coupled dimensions are averaged and the box +strains identically along the coupled dimensions. + +The *pressure/mean* style changes a dimension's box length to maintain +a constant mean pressure defined as the trace of the pressure tensor. +This option has identical arguments to the *pressure* style and a similar +functional equation, except the current and target pressures refer to the +mean trace of the pressure tensor. All options for the *pressure* style +also apply to the *pressure/mean* style except for the +:ref:`couple ` option. + +Note that while this style can be identical to coupled *pressure* styles, +it is generally not the same. For instance in 2D, a coupled *pressure* +style in the *x* and *y* dimensions would be equivalent to using the +*pressure/mean* style with identical settings in each dimension. However, +it would not be the same if settings (e.g. gain constants) were used in +the *x* and *y* dimensions or if the *pressure/mean* command was only applied +along one dimension. + +---------- + +For the *xy*, *xz*, and *yz* parameters, this is the meaning of the +styles and values provided by this fix. Note that changing the +tilt factors of a triclinic box does not change its volume. + +The *pressure* style adjusts a tilt factor to control the corresponding +off-diagonal component of the pressure tensor. This option attempts to +maintain a specified target value using a linear controller where the +tilt factor T evolves according to the equation + +.. parsed-literal:: + + \frac{d T(t)}{dt} = L(t) k (P - P_t) + +where :math:`k` is a proportional gain constant, :math:`P_t` is the +target pressure, :math:`P` is the current pressure, and :math:`L` is +the perpendicular box length. The target pressure accepts either a +constant numeric value or a LAMMPS :ref:`variable +`. Notably, this variable can be a function of time or other +components of the pressure tensor. By default, :math:`k` has units of +1/(time * pressure) although this will change if the +*normalize/pessure* option is set as :ref:`discussed below +`. There is no proven method to choosing an +appropriate value of :math:`k` as it will depend on the specific +details of a simulation and testing different values is +recommended. One can also apply a maximum limit to the magnitude of +the applied strain using the :ref:`max/rate ` option. + +The *erate/rescale* style operates similarly to the *erate* style with +a specified strain rate in units of 1/time. The difference is that +the change in the tilt factor will depend on the current length of +the box perpendicular to the shear direction, L, instead of the +original length, L0. The tilt factor T as a function of time will +change as + +.. parsed-literal:: + + T(t) = T(t-1) + L\*erate\* \Delta t + +where T(t-1) is the tilt factor on the previous timestep and :math:`\Delta t` +is the timestep size. This option may be useful in scenarios where +L changes in time. + +---------- + +The *box* parameter provides an additional control over the *x*, *y*, +and *z* box lengths by isotropically dilating or contracting the box +to either maintain a fixed mean pressure or volume. This isotropic +scaling is applied after the box is deformed by the above *x*, *y*, +*z*, *xy*, *xz*, and *yz* styles, acting as a second deformation +step. This parameter will change the overall strain rate in the *x*, +*y*, or *z* dimensions. This parameter can only be used in +combination with the *x*, *y*, or *z* commands: *vel*, *erate*, +*trate*, *pressure*, or *wiggle*. This is the meaning of its styles +and values. + +The *volume* style isotropically scales box lengths to maintain a constant +box volume in response to deformation from other parameters. This style +may be useful in scenarios where one wants to apply a constant deviatoric +pressure using *pressure* styles in the *x*, *y*, and *z* dimensions ( +deforming the shape of the box), while maintaining a constant volume. + +The *pressure* style isotropically scales box lengths in an attempt to +maintain a target mean pressure (the trace of the pressure tensor) of the +system. This is accomplished by isotropically scaling all box lengths +:math:`L` by an additional factor of :math:`k (P_t - P_m)` where :math:`k` +is the proportional gain constant, :math:`P_t` is the target pressure, and +:math:`P_m` is the current mean pressure. This style may be useful in +scenarios where one wants to apply a constant deviatoric strain rate +using various strain-based styles (e.g. *trate*) along the *x*, *y*, and *z* +dimensions (deforming the shape of the box), while maintaining a mean pressure. + +---------- + +The optional keywords provided by this fix are described below. + +.. _deform_normalize: + +The *normalize/pressure* keyword changes how box dimensions evolve when +using the *pressure* or *pressure/mean* deformation styles. If the +*deform/normalize* value is set to *yes*, then the deviation from the +target pressure is normalized by the absolute value of the target +pressure such that the proportional gain constant scales a percentage +error and has units of 1/time. If the target pressure is ever zero, this +will produce an error unless the *max/rate* keyword is defined, +described below, which will cap the divergence. + +.. _deform_max_rate: + +The *max/rate* keyword sets an upper threshold, *rate*, that limits the +maximum magnitude of the instantaneous strain rate applied in any dimension. +This keyword only applies to the *pressure* and *pressure/mean* options. If +a pressure-controlled rate is used for both *box* and either *x*, *y*, or +*z*, then this threshold will apply separately to each individual controller +such that the cumulative strain rate on a box dimension may be up to twice +the value of *rate*. + +.. _deform_couple: + +The *couple* keyword allows two or three of the diagonal components of +the pressure tensor to be "coupled" together for the *pressure* option. +The value specified with the keyword determines which are coupled. For +example, *xz* means the *Pxx* and *Pzz* components of the stress tensor +are coupled. *Xyz* means all 3 diagonal components are coupled. Coupling +means two things: the instantaneous stress will be computed as an average +of the corresponding diagonal components, and the coupled box dimensions +will be changed together in lockstep, meaning coupled dimensions will be +dilated or contracted by the same percentage every timestep. If a *pressure* +style is defined for more than one coupled dimension, the target pressures +and gain constants must be identical. Alternatively, if a *pressure* +style is only defined for one of the coupled dimensions, its settings are +copied to other dimensions with undefined styles. *Couple xyz* can be used +for a 2d simulation; the *z* dimension is simply ignored. + +.. _deform_balance: + +The *vol/balance/p* keyword modifies the behavior of the *volume* style when +applied to two of the *x*, *y*, and *z* dimensions. Instead of straining +the two dimensions in lockstep, the two dimensions are allowed to +separately dilate or contract in a manner to maintain a constant +volume while simultaneously trying to keep the pressure along each +dimension equal using a method described in :ref:`(Huang2014) `. + +---------- + +If any pressure controls are used, this fix computes a temperature and +pressure each timestep. To do this, the fix creates its own computes +of style "temp" and "pressure", as if these commands had been issued: + +.. code-block:: LAMMPS + + compute fix-ID_temp group-ID temp + compute fix-ID_press group-ID pressure fix-ID_temp + +See the :doc:`compute temp ` and :doc:`compute pressure +` commands for details. Note that the IDs of the +new computes are the fix-ID + underscore + "temp" or fix_ID ++ underscore + "press", and the group for the new computes is the same +as the fix group. + +Note that these are NOT the computes used by thermodynamic output (see +the :doc:`thermo_style ` command) with ID = +*thermo_temp* and *thermo_press*. This means you can change the +attributes of this fix's temperature or pressure via the +:doc:`compute_modify ` command or print this +temperature or pressure during thermodynamic output via the +:doc:`thermo_style custom ` command using the +appropriate compute-ID. It also means that changing attributes of +*thermo_temp* or *thermo_press* will have no effect on this fix. + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +This fix will restore the initial box settings from :doc:`binary +restart files `, which allows the fix to be properly continue +deformation, when using the start/stop options of the :doc:`run ` +command. No global or per-atom quantities are stored by this fix for +access by various :doc:`output commands `. + +If any pressure controls are used, the :doc:`fix_modify ` +*temp* and *press* options are supported by this fix, unlike in +:doc:`fix deform `. You can use them to assign a +:doc:`compute ` you have defined to this fix which will be +used in its temperature and pressure calculations. If you do this, +note that the kinetic energy derived from the compute temperature +should be consistent with the virial term computed using all atoms for +the pressure. LAMMPS will warn you if you choose to compute +temperature on a subset of atoms. + +This fix can perform deformation over multiple runs, using the *start* +and *stop* keywords of the :doc:`run ` command. See the +:doc:`run ` command for details of how to do this. + +This fix is not invoked during :doc:`energy minimization `. + +Restrictions +"""""""""""" + +You cannot apply x, y, or z deformations to a dimension that is +shrink-wrapped via the :doc:`boundary ` command. + +You cannot apply xy, yz, or xz deformations to a second dimension (y +in xy) that is shrink-wrapped via the :doc:`boundary ` +command. + +Related commands +"""""""""""""""" + +:doc:`fix deform `, :doc:`change_box ` + +Default +""""""" + +The option defaults are normalize/pressure = no. + +---------- + +.. _Huang2014: + +**(Huang2014)** X. Huang, "Exploring critical-state behavior using DEM", +Doctoral dissertation, Imperial College. (2014). https://doi.org/10.25560/25316 diff --git a/doc/src/fix_electrode.rst b/doc/src/fix_electrode.rst index 3d543f08d2..a60380fe7e 100644 --- a/doc/src/fix_electrode.rst +++ b/doc/src/fix_electrode.rst @@ -45,7 +45,7 @@ Syntax rng_v = integer used to initialize random number generator * zero or more keyword/value pairs may be appended -* keyword = *algo* or *symm* or *couple* or *etypes* or *ffield* or *write_mat* or *write_inv* or *read_mat* or *read_inv* +* keyword = *algo* or *symm* or *couple* or *etypes* or *ffield* or *write_mat* or *write_inv* or *read_mat* or *read_inv* or *qtotal* or *eta* .. parsed-literal:: @@ -68,6 +68,10 @@ Syntax filename = file from which to read elastance matrix *read_inv* value = filename filename = file from which to read inverted matrix + *qtotal* value = number or *v_* equal-style variable + add overall potential so that all electrode charges add up to *qtotal* + *eta* value = d_propname + d_propname = a custom double vector defined via fix property/atom Examples """""""" @@ -249,6 +253,27 @@ be enabled if any electrode particle has the same type as any electrolyte particle (which would be unusual in a typical simulation) and the fix will issue an error in that case. +.. versionadded:: 17Apr2024 + +The keyword *qtotal* causes *fix electrode/conp* and *fix +electrode/thermo* to add an overall potential to all electrodes so that +the total charge on the electrodes is a specified amount (which may be +an equal-style variable). For example, if a user wanted to simulate a +solution of excess cations such that the total electrolyte charge is +2, +setting *qtotal -2* would cause the total electrode charge to be -2, so +that the simulation box remains overall electroneutral. Since *fix +electrode/conq* constrains the total charges of individual electrodes, +and since *symm on* constrains the total charge of all electrodes to be +zero, either option is incompatible with the *qtotal* keyword (even if +*qtotal* is set to zero). + +.. versionadded:: 17Apr2024 + +The keyword *eta* takes the name of a custom double vector defined via +fix property/atom. The values will be used instead of the standard eta +value. The property/atom fix must be for vector of double values and +use the *ghost on* option. + Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" diff --git a/doc/src/fix_gcmc.rst b/doc/src/fix_gcmc.rst index 13ae509684..f3bd0891b9 100644 --- a/doc/src/fix_gcmc.rst +++ b/doc/src/fix_gcmc.rst @@ -427,7 +427,7 @@ the following global cumulative quantities: * 7 = rotation attempts * 8 = rotation successes -The vector values calculated by this fix are "extensive". +The vector values calculated by this fix are "intensive". No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during @@ -440,8 +440,11 @@ This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This fix style requires an :doc:`atom style ` with per atom +type masses. + Do not set "neigh_modify once yes" or else this fix will never be -called. Reneighboring is required. +called. Reneighboring is **required**. Only usable for 3D simulations. diff --git a/doc/src/fix_hyper_local.rst b/doc/src/fix_hyper_local.rst index 76b17cddc4..54a4516fd1 100644 --- a/doc/src/fix_hyper_local.rst +++ b/doc/src/fix_hyper_local.rst @@ -512,8 +512,7 @@ Value 27 computes the average boost for biased bonds only on this step. Value 28 is the count of bonds with an absolute value of strain >= q on this step. -The scalar value is an "extensive" quantity since it grows with the -system size; the vector values are all "intensive". +The scalar value and vector values are all "intensive". This fix also computes a local vector of length the number of bonds currently in the system. The value for each bond is its :math:`C_{ij}` diff --git a/doc/src/fix_indent.rst b/doc/src/fix_indent.rst index 15790e15d0..e041f9f29b 100644 --- a/doc/src/fix_indent.rst +++ b/doc/src/fix_indent.rst @@ -8,33 +8,44 @@ Syntax .. code-block:: LAMMPS - fix ID group-ID indent K keyword values ... + fix ID group-ID indent K gstyle args keyword value ... * ID, group-ID are documented in :doc:`fix ` command * indent = style name of this fix command * K = force constant for indenter surface (force/distance\^2 units) -* one or more keyword/value pairs may be appended -* keyword = *sphere* or *cylinder* or *plane* or *side* or *units* +* gstyle = *sphere* or *cylinder* or *cone* or *plane* .. parsed-literal:: *sphere* args = x y z R - x,y,z = position of center of indenter (distance units) + x, y, z = position of center of indenter (distance units) R = sphere radius of indenter (distance units) - any of x,y,z,R can be a variable (see below) + any of x, y, z, R can be a variable (see below) *cylinder* args = dim c1 c2 R dim = *x* or *y* or *z* = axis of cylinder - c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) + c1, c2 = coords of cylinder axis in other 2 dimensions (distance units) R = cylinder radius of indenter (distance units) any of c1,c2,R can be a variable (see below) + *cone* args = dim c1 c2 radlo radhi lo hi + dim = *x* or *y* or *z* = axis of cone + c1, c2 = coords of cone axis in other 2 dimensions (distance units) + radlo,radhi = cone radii at lo and hi end (distance units) + lo,hi = bounds of cone in dim (distance units) + any of c1, c2, radlo, radhi, lo, hi can be a variable (see below) *plane* args = dim pos side dim = *x* or *y* or *z* = plane perpendicular to this dimension pos = position of plane in dimension x, y, or z (distance units) pos can be a variable (see below) side = *lo* or *hi* + +* zero or more keyword/value pairs may be appended +* keyword = *side* or *units* + + .. parsed-literal:: + *side* value = *in* or *out* - *in* = the indenter acts on particles inside the sphere or cylinder - *out* = the indenter acts on particles outside the sphere or cylinder + *in* = the indenter acts on particles inside the sphere or cylinder or cone + *out* = the indenter acts on particles outside the sphere or cylinder or cone *units* value = *lattice* or *box* lattice = the geometry is defined in lattice units box = the geometry is defined in simulation box units @@ -53,12 +64,12 @@ Description Insert an indenter within a simulation box. The indenter repels all atoms in the group that touch it, so it can be used to push into a -material or as an obstacle in a flow. Or it can be used as a +material or as an obstacle in a flow. Alternatively, it can be used as a constraining wall around a simulation; see the discussion of the *side* keyword below. -The indenter can either be spherical or cylindrical or planar. You -must set one of those 3 keywords. +The *gstyle* geometry of the indenter can either be a sphere, a +cylinder, a cone, or a plane. A spherical indenter exerts a force of magnitude @@ -75,15 +86,20 @@ A cylindrical indenter exerts the same force, except that *r* is the distance from the atom to the center axis of the cylinder. The cylinder extends infinitely along its axis. -Spherical and cylindrical indenters account for periodic boundaries in -two ways. First, the center point of a spherical indenter (x,y,z) or -axis of a cylindrical indenter (c1,c2) is remapped back into the -simulation box, if the box is periodic in a particular dimension. -This occurs every timestep if the indenter geometry is specified with -a variable (see below), e.g. it is moving over time. Second, the -calculation of distance to the indenter center or axis accounts for -periodic boundaries. Both of these mean that an indenter can -effectively move through and straddle one or more periodic boundaries. +A conical indenter is similar to a cylindrical indenter except that it +has a finite length (between *lo* and *hi*), and that two different +radii (one at each end, *radlo* and *radhi*) can be defined. + +Spherical, cylindrical, and conical indenters account for periodic +boundaries in two ways. First, the center point of a spherical +indenter (x,y,z) or axis of a cylindrical/conical indenter (c1,c2) is +remapped back into the simulation box, if the box is periodic in a +particular dimension. This occurs every timestep if the indenter +geometry is specified with a variable (see below), e.g. it is moving +over time. Second, the calculation of distance to the indenter center +or axis accounts for periodic boundaries. Both of these mean that an +indenter can effectively move through and straddle one or more +periodic boundaries. A planar indenter is really an axis-aligned infinite-extent wall exerting the same force on atoms in the system, where *R* is the @@ -97,9 +113,13 @@ is specified as *hi*\ . Any of the 4 quantities defining a spherical indenter's geometry can be specified as an equal-style :doc:`variable `, namely *x*, -*y*, *z*, or *R*\ . Similarly, for a cylindrical indenter, any of *c1*, -*c2*, or *R*, can be a variable. For a planar indenter, *pos* can be -a variable. If the value is a variable, it should be specified as +*y*, *z*, or *R*\ . For a cylindrical indenter, any of the 3 +quantities *c1*, *c2*, or *R*, can be a variable. For a conical +indenter, any of the 6 quantities *c1*, *c2*, *radlo*, *radhi*, *lo*, +or *hi* can be a variable. For a planar indenter, the single value +*pos* can be a variable. + +If any of these values is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to define the indenter geometry. @@ -110,7 +130,8 @@ command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify indenter properties that change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the *start* and *stop* keywords of the -:doc:`run ` command and the *elaplong* keyword of :doc:`thermo_style custom ` for details. +:doc:`run ` command and the *elaplong* keyword of +:doc:`thermo_style custom ` for details. For example, if a spherical indenter's x-position is specified as v_x, then this variable definition will keep it's center at a relative @@ -141,12 +162,13 @@ rate. If the *side* keyword is specified as *out*, which is the default, then particles outside the indenter are pushed away from its outer -surface, as described above. This only applies to spherical or -cylindrical indenters. If the *side* keyword is specified as *in*, -the action of the indenter is reversed. Particles inside the indenter -are pushed away from its inner surface. In other words, the indenter -is now a containing wall that traps the particles inside it. If the -radius shrinks over time, it will squeeze the particles. +surface, as described above. This only applies to spherical, +cylindrical, and conical indenters. If the *side* keyword is +specified as *in*, the action of the indenter is reversed. Particles +inside the indenter are pushed away from its inner surface. In other +words, the indenter is now a containing wall that traps the particles +inside it. If the radius shrinks over time, it will squeeze the +particles. The *units* keyword determines the meaning of the distance units used to define the indenter geometry. A *box* value selects standard @@ -166,10 +188,10 @@ lattice spacings in a variable formula. The force constant *K* is not affected by the *units* keyword. It is always in force/distance\^2 units where force and distance are defined -by the :doc:`units ` command. If you wish K to be scaled by the -lattice spacing, you can define K with a variable whose formula -contains *xlat*, *ylat*, *zlat* keywords of the -:doc:`thermo_style ` command, e.g. +by the :doc:`units ` command. If you wish K to be scaled by +the lattice spacing, you can define K with a variable whose formula +contains *xlat*, *ylat*, *zlat* keywords of the :doc:`thermo_style +` command, e.g. .. code-block:: LAMMPS diff --git a/doc/src/fix_mol_swap.rst b/doc/src/fix_mol_swap.rst index b344b9c0e6..4f99c3748b 100644 --- a/doc/src/fix_mol_swap.rst +++ b/doc/src/fix_mol_swap.rst @@ -146,7 +146,7 @@ the following global cumulative quantities: * 1 = swap attempts * 2 = swap accepts -The vector values calculated by this fix are "extensive". +The vector values calculated by this fix are "intensive". No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during diff --git a/doc/src/fix_nonaffine_displacement.rst b/doc/src/fix_nonaffine_displacement.rst index c6dfbc2e49..fd9830cc48 100644 --- a/doc/src/fix_nonaffine_displacement.rst +++ b/doc/src/fix_nonaffine_displacement.rst @@ -8,7 +8,7 @@ Syntax .. parsed-literal:: - fix ID group nonaffine/displacement style args reference/style nstep + fix ID group nonaffine/displacement style args reference/style nstep keyword values * ID, group are documented in :doc:`fix ` command * nonaffine/displacement = style name of this fix command @@ -32,6 +32,13 @@ Syntax *update* = update the reference frame every *nstep* timesteps *offset* = update the reference frame *nstep* timesteps before calculating the nonaffine displacement +* zero or more keyword/value pairs may be appended + + .. parsed-literal:: + + *z/min* values = zmin + zmin = minimum coordination number to calculate D2min + Examples """""""" @@ -76,6 +83,12 @@ is the identity tensor. This calculation is only performed on timesteps that are a multiple of *nevery* (including timestep zero). Data accessed before this occurs will simply be zeroed. +For particles with low coordination numbers, calculations of :math:`D^2_\mathrm{min}` +may not be accurate. An optional minimum coordination number can be defined using +the *z/min* keyword. If any particle has fewer than the specified number of particles +in the cutoff distance or in contact, the above calculations will be skipped and the +corresponding peratom array entries will be zero. + The *integrated* style simply integrates the velocity of particles every timestep to calculate a displacement. This style only works if used in conjunction with another fix that deforms the box and displaces @@ -86,8 +99,8 @@ Both of these methods require defining a reference state. With the *fixed* refer style, the user picks a specific timestep *nstep* at which particle positions are saved. If peratom data is accessed from this compute prior to this timestep, it will simply be zeroed. The *update* reference style implies the reference state will be updated every -*nstep* timesteps. The *offset* reference only applies to the *d2min* metric and will -update the reference state *nstep* timesteps before a multiple of *nevery* timesteps. +*nstep* timesteps. The *offset* reference will update the reference state *nstep* +timesteps before a multiple of *nevery* timesteps. ---------- diff --git a/doc/src/fix_property_atom.rst b/doc/src/fix_property_atom.rst index b177fe9a96..d20358b7a7 100644 --- a/doc/src/fix_property_atom.rst +++ b/doc/src/fix_property_atom.rst @@ -22,6 +22,8 @@ Syntax *mol* = molecule IDs *q* = charge *rmass* = per-atom mass + *temperature* = internal temperature of atom + *heatflow* = internal heat flow of atom i_name = new integer vector referenced by name d_name = new floating-point vector referenced by name i2_name = new integer array referenced by name @@ -59,14 +61,18 @@ these properties for each atom in the system when a data file is read. This fix augments the set of per-atom properties with new custom ones. This can be useful in several scenarios. -If the atom style does not define molecule IDs, per-atom charge, or -per-atom mass, they can be added using the *mol*\ , *q* or *rmass* +If the atom style does not define molecule IDs, per-atom charge, +per-atom mass, internal temperature, or internal heat flow, they can +be added using the *mol*\ , *q*, *rmass*, *temperature*, or *heatflow* keywords. This could be useful to define "molecules" to use as rigid bodies with the :doc:`fix rigid ` command, or to carry around an extra flag with atoms (stored as a molecule ID) that can be used by various commands like :doc:`compute chunk/atom ` to group atoms without having to use the group command (which is limited to a total of 32 groups including *all*\ ). +For finite-size particles, an internal temperature and heat flow can +be used to model heat conduction as in the +:doc:`GRANULAR package `. Another application is to use the *rmass* flag in order to have per-atom masses instead of per-type masses. This could be used to @@ -85,9 +91,10 @@ properties that are not needed such as bond lists, which incurs some overhead when there are no bonds. In the future, we may add additional existing per-atom properties to -fix property/atom, similar to *mol*\ , *q* or *rmass*\ , which -"turn-on" specific properties defined by some atom styles, so they can -be easily used by atom styles that do not define them. +fix property/atom, similar to *mol*\ , *q*, *rmass*\ , *temperature*\ , +or *heatflow* which "turn-on" specific properties defined by some atom +styles, so they can be easily used by atom styles that do not define +them. More generally, the *i_name* and *d_name* options allow one or more new custom per-atom vectors to be defined. Likewise the *i2_name* and diff --git a/doc/src/fix_reaxff_species.rst b/doc/src/fix_reaxff_species.rst index 9bf1a82933..a6da15b161 100644 --- a/doc/src/fix_reaxff_species.rst +++ b/doc/src/fix_reaxff_species.rst @@ -20,7 +20,7 @@ Syntax * Nfreq = calculate average bond-order every this many timesteps * filename = name of output file * zero or more keyword/value pairs may be appended -* keyword = *cutoff* or *element* or *position* or *delete* +* keyword = *cutoff* or *element* or *position* or *delete* or *delete_rate_limit* .. parsed-literal:: @@ -110,10 +110,10 @@ all types from 1 to :math:`N`. A leading asterisk means all types from The optional keyword *element* can be used to specify the chemical symbol printed for each LAMMPS atom type. The number of symbols must match the number of LAMMPS atom types and each symbol must consist of -1 or 2 alphanumeric characters. Normally, these symbols should be -chosen to match the chemical identity of each LAMMPS atom type, as -specified using the :doc:`reaxff pair_coeff ` command and -the ReaxFF force field file. +1 or 2 alphanumeric characters. By default, these symbols are the same +as the chemical identity of each LAMMPS atom type, as specified by the +:doc:`ReaxFF pair_coeff ` command and the ReaxFF force +field file. The optional keyword *position* writes center-of-mass positions of each identified molecules to file *filepos* every *posfreq* timesteps. @@ -233,5 +233,5 @@ Default """"""" The default values for bond-order cutoffs are 0.3 for all I-J pairs. -The default element symbols are C, H, O, N. +The default element symbols are taken from the ReaxFF pair_coeff command. Position files are not written by default. diff --git a/doc/src/fix_rigid.rst b/doc/src/fix_rigid.rst index 3174a0929c..0277793d0f 100644 --- a/doc/src/fix_rigid.rst +++ b/doc/src/fix_rigid.rst @@ -171,14 +171,15 @@ Examples of large rigid bodies are a colloidal particle, or portions of a biomolecule such as a protein. Example of small rigid bodies are patchy nanoparticles, such as those -modeled in :ref:`this paper ` by Sharon Glotzer's group, clumps of -granular particles, lipid molecules consisting of one or more point -dipoles connected to other spheroids or ellipsoids, irregular -particles built from line segments (2d) or triangles (3d), and -coarse-grain models of nano or colloidal particles consisting of a -small number of constituent particles. Note that the :doc:`fix shake ` command can also be used to rigidify small -molecules of 2, 3, or 4 atoms, e.g. water molecules. That fix treats -the constituent atoms as point masses. +modeled in :ref:`this paper ` by Sharon Glotzer's group, +clumps of granular particles, lipid molecules consisting of one or +more point dipoles connected to other spheroids or ellipsoids, +irregular particles built from line segments (2d) or triangles (3d), +and coarse-grain models of nano or colloidal particles consisting of a +small number of constituent particles. Note that the :doc:`fix shake +` command can also be used to rigidify small molecules of +2, 3, or 4 atoms, e.g. water molecules. That fix treats the +constituent atoms as point masses. These fixes also update the positions and velocities of the atoms in each rigid body via time integration, in the NVE, NVT, NPT, or NPH @@ -212,13 +213,14 @@ processors when ghost atom info is accumulated. .. note:: - To use the *rigid/small* styles the ghost atom cutoff must be - large enough to span the distance between the atom that owns the body - and every other atom in the body. This distance value is printed out - when the rigid bodies are defined. If the - :doc:`pair_style ` cutoff plus neighbor skin does not span - this distance, then you should use the :doc:`comm_modify cutoff ` command with a setting epsilon larger than - the distance. + To use the *rigid/small* styles the ghost atom cutoff must be large + enough to span the distance between the atom that owns the body and + every other atom in the body. This distance value is printed out + when the rigid bodies are defined. If the :doc:`pair_style + ` cutoff plus neighbor skin does not span this + distance, then you should use the :doc:`comm_modify cutoff + ` command with a setting epsilon larger than the + distance. Which of the two variants is faster for a particular problem is hard to predict. The best way to decide is to perform a short test run. @@ -229,49 +231,54 @@ differences may accumulate to produce divergent trajectories. .. note:: You should not update the atoms in rigid bodies via other - time-integration fixes (e.g. :doc:`fix nve `, :doc:`fix nvt `, :doc:`fix npt `, :doc:`fix move `), - or you will have conflicting updates to positions and velocities - resulting in unphysical behavior in most cases. When performing a hybrid - simulation with some atoms in rigid bodies, and some not, a separate - time integration fix like :doc:`fix nve ` or :doc:`fix nvt ` should be used for the non-rigid particles. + time-integration fixes (e.g. :doc:`fix nve `, :doc:`fix + nvt `, :doc:`fix npt `, :doc:`fix move + `), or you will have conflicting updates to positions and + velocities resulting in unphysical behavior in most cases. When + performing a hybrid simulation with some atoms in rigid bodies, and + some not, a separate time integration fix like :doc:`fix nve + ` or :doc:`fix nvt ` should be used for the + non-rigid particles. .. note:: - These fixes are overkill if you simply want to hold a collection - of atoms stationary or have them move with a constant velocity. A - simpler way to hold atoms stationary is to not include those atoms in - your time integration fix. E.g. use "fix 1 mobile nve" instead of - "fix 1 all nve", where "mobile" is the group of atoms that you want to - move. You can move atoms with a constant velocity by assigning them - an initial velocity (via the :doc:`velocity ` command), - setting the force on them to 0.0 (via the :doc:`fix setforce ` command), and integrating them as usual - (e.g. via the :doc:`fix nve ` command). + These fixes are overkill if you simply want to hold a collection of + atoms stationary or have them move with a constant velocity. A + simpler way to hold atoms stationary is to not include those atoms + in your time integration fix. E.g. use "fix 1 mobile nve" instead + of "fix 1 all nve", where "mobile" is the group of atoms that you + want to move. You can move atoms with a constant velocity by + assigning them an initial velocity (via the :doc:`velocity + ` command), setting the force on them to 0.0 (via the + :doc:`fix setforce ` command), and integrating them + as usual (e.g. via the :doc:`fix nve ` command). .. warning:: - The aggregate properties of each rigid body are - calculated at the start of a simulation run and are maintained in - internal data structures. The properties include the position and - velocity of the center-of-mass of the body, its moments of inertia, and - its angular momentum. This is done using the properties of the - constituent atoms of the body at that point in time (or see the *infile* - keyword option). Thereafter, changing these properties of individual - atoms in the body will have no effect on a rigid body's dynamics, unless - they effect any computation of per-atom forces or torques. If the - keyword *reinit* is set to *yes* (the default), the rigid body data - structures will be recreated at the beginning of each *run* command; - if the keyword *reinit* is set to *no*, the rigid body data structures - will be built only at the very first *run* command and maintained for - as long as the rigid fix is defined. For example, you might think you - could displace the atoms in a body or add a large velocity to each atom - in a body to make it move in a desired direction before a second run is - performed, using the :doc:`set ` or - :doc:`displace_atoms ` or :doc:`velocity ` - commands. But these commands will not affect the internal attributes - of the body unless *reinit* is set to *yes*\ . With *reinit* set to *no* - (or using the *infile* option, which implies *reinit* *no*\ ) the position - and velocity of individual atoms in the body will be reset when time - integration starts again. + The aggregate properties of each rigid body are calculated at the + start of a simulation run and are maintained in internal data + structures. The properties include the position and velocity of the + center-of-mass of the body, its moments of inertia, and its angular + momentum. This is done using the properties of the constituent + atoms of the body at that point in time (or see the *infile* + keyword option). Thereafter, changing these properties of + individual atoms in the body will have no effect on a rigid body's + dynamics, unless they effect any computation of per-atom forces or + torques. If the keyword *reinit* is set to *yes* (the default), the + rigid body data structures will be recreated at the beginning of + each *run* command; if the keyword *reinit* is set to *no*, the + rigid body data structures will be built only at the very first + *run* command and maintained for as long as the rigid fix is + defined. For example, you might think you could displace the atoms + in a body or add a large velocity to each atom in a body to make it + move in a desired direction before a second run is performed, using + the :doc:`set ` or :doc:`displace_atoms ` or + :doc:`velocity ` commands. But these commands will not + affect the internal attributes of the body unless *reinit* is set + to *yes*\ . With *reinit* set to *no* (or using the *infile* + option, which implies *reinit* *no*\ ) the position and velocity of + individual atoms in the body will be reset when time integration + starts again. ---------- @@ -316,17 +323,17 @@ to be part of rigid bodies. .. note:: - To compute the initial center-of-mass position and other - properties of each rigid body, the image flags for each atom in the - body are used to "unwrap" the atom coordinates. Thus you must ensure - that these image flags are consistent so that the unwrapping creates a + To compute the initial center-of-mass position and other properties + of each rigid body, the image flags for each atom in the body are + used to "unwrap" the atom coordinates. Thus you must ensure that + these image flags are consistent so that the unwrapping creates a valid rigid body (one where the atoms are close together), - particularly if the atoms in a single rigid body straddle a periodic - boundary. This means the input data file or restart file must define - the image flags for each atom consistently or that you have used the - :doc:`set ` command to specify them correctly. If a dimension is - non-periodic then the image flag of each atom must be 0 in that - dimension, else an error is generated. + particularly if the atoms in a single rigid body straddle a + periodic boundary. This means the input data file or restart file + must define the image flags for each atom consistently or that you + have used the :doc:`set ` command to specify them correctly. + If a dimension is non-periodic then the image flag of each atom + must be 0 in that dimension, else an error is generated. The *force* and *torque* keywords discussed next are only allowed for the *rigid* styles. @@ -362,12 +369,13 @@ settings from the final keyword are used. .. note:: - For computational efficiency, you may wish to turn off pairwise - and bond interactions within each rigid body, as they no longer - contribute to the motion. The :doc:`neigh_modify exclude ` and :doc:`delete_bonds ` - commands are used to do this. If the rigid bodies have strongly - overlapping atoms, you may need to turn off these interactions to - avoid numerical problems due to large equal/opposite intra-body forces + For computational efficiency, you may wish to turn off pairwise and + bond interactions within each rigid body, as they no longer + contribute to the motion. The :doc:`neigh_modify exclude + ` and :doc:`delete_bonds ` commands are + used to do this. If the rigid bodies have strongly overlapping + atoms, you may need to turn off these interactions to avoid + numerical problems due to large equal/opposite intra-body forces swamping the contribution of small inter-body forces. For computational efficiency, you should typically define one fix @@ -379,7 +387,8 @@ is more expensive. The constituent particles within a rigid body can be point particles (the default in LAMMPS) or finite-size particles, such as spheres or -ellipsoids or line segments or triangles. See the :doc:`atom_style sphere and ellipsoid and line and tri ` commands for more +ellipsoids or line segments or triangles. See the :doc:`atom_style +sphere and ellipsoid and line and tri ` commands for more details on these kinds of particles. Finite-size particles contribute differently to the moment of inertia of a rigid body than do point particles. Finite-size particles can also experience torque (e.g. due @@ -389,7 +398,8 @@ orientation. These contributions are accounted for by these fixes. Forces between particles within a body do not contribute to the external force or torque on the body. Thus for computational efficiency, you may wish to turn off pairwise and bond interactions -between particles within each rigid body. The :doc:`neigh_modify exclude ` and :doc:`delete_bonds ` +between particles within each rigid body. The :doc:`neigh_modify +exclude ` and :doc:`delete_bonds ` commands are used to do this. For finite-size particles this also means the particles can be highly overlapped when creating the rigid body. @@ -401,16 +411,17 @@ perform constant NVE time integration. They are referred to below as the 4 NVE rigid styles. The only difference is that the *rigid* and *rigid/small* styles use an integration technique based on Richardson iterations. The *rigid/nve* and *rigid/small/nve* styles uses the -methods described in the paper by :ref:`Miller `, which are thought -to provide better energy conservation than an iterative approach. +methods described in the paper by :ref:`Miller `, which are +thought to provide better energy conservation than an iterative +approach. The *rigid/nvt* and *rigid/nvt/small* styles performs constant NVT integration using a Nose/Hoover thermostat with chains as described -originally in :ref:`(Hoover) ` and :ref:`(Martyna) `, which -thermostats both the translational and rotational degrees of freedom -of the rigid bodies. They are referred to below as the 2 NVT rigid -styles. The rigid-body algorithm used by *rigid/nvt* is described in -the paper by :ref:`Kamberaj `. +originally in :ref:`(Hoover) ` and :ref:`(Martyna) +`, which thermostats both the translational and rotational +degrees of freedom of the rigid bodies. They are referred to below as +the 2 NVT rigid styles. The rigid-body algorithm used by *rigid/nvt* +is described in the paper by :ref:`Kamberaj `. The *rigid/npt*, *rigid/nph*, *rigid/npt/small*, and *rigid/nph/small* styles perform constant NPT or NPH integration using a Nose/Hoover @@ -436,12 +447,12 @@ The target pressures for each of the 6 components of the stress tensor can be specified independently via the *x*, *y*, *z* keywords, which correspond to the 3 simulation box dimensions. For each component, the external pressure or tensor component at each timestep is a ramped -value during the run from *Pstart* to *Pstop*\ . If a target pressure is -specified for a component, then the corresponding box dimension will -change during a simulation. For example, if the *y* keyword is used, -the y-box length will change. A box dimension will not change if that -component is not specified, although you have the option to change -that dimension via the :doc:`fix deform ` command. +value during the run from *Pstart* to *Pstop*\ . If a target pressure +is specified for a component, then the corresponding box dimension +will change during a simulation. For example, if the *y* keyword is +used, the y-box length will change. A box dimension will not change +if that component is not specified, although you have the option to +change that dimension via the :doc:`fix deform ` command. For all barostat keywords, the *Pdamp* parameter operates like the *Tdamp* parameter, determining the time scale on which pressure is @@ -525,11 +536,11 @@ discussed below. The *langevin* keyword applies a Langevin thermostat to the constant NVE time integration performed by any of the 4 NVE rigid styles: -*rigid*, *rigid/nve*, *rigid/small*, *rigid/small/nve*\ . It cannot be -used with the 2 NVT rigid styles: *rigid/nvt*, *rigid/small/nvt*\ . The -desired temperature at each timestep is a ramped value during the run -from *Tstart* to *Tstop*\ . The *Tdamp* parameter is specified in time -units and determines how rapidly the temperature is relaxed. For +*rigid*, *rigid/nve*, *rigid/small*, *rigid/small/nve*\ . It cannot +be used with the 2 NVT rigid styles: *rigid/nvt*, *rigid/small/nvt*\ . +The desired temperature at each timestep is a ramped value during the +run from *Tstart* to *Tstop*\ . The *Tdamp* parameter is specified in +time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (:math:`\tau` or fs or ps - see the :doc:`units ` command). The random # *seed* must be a positive @@ -564,29 +575,30 @@ used. *Tchain* is the number of thermostats in the Nose Hoover chain. This value, along with *Tdamp* can be varied to dampen undesirable oscillations in temperature that can occur in a simulation. As a rule of thumb, increasing the chain length should lead to smaller -oscillations. The keyword *pchain* specifies the number of -thermostats in the chain thermostatting the barostat degrees of -freedom. +oscillations. The keyword *pchain* specifies the number of thermostats +in the chain thermostatting the barostat degrees of freedom. .. note:: There are alternate ways to thermostat a system of rigid bodies. - You can use :doc:`fix langevin ` to treat the individual - particles in the rigid bodies as effectively immersed in an implicit - solvent, e.g. a Brownian dynamics model. For hybrid systems with both - rigid bodies and solvent particles, you can thermostat only the - solvent particles that surround one or more rigid bodies by - appropriate choice of groups in the compute and fix commands for - temperature and thermostatting. The solvent interactions with the - rigid bodies should then effectively thermostat the rigid body - temperature as well without use of the Langevin or Nose/Hoover options - associated with the fix rigid commands. + You can use :doc:`fix langevin ` to treat the + individual particles in the rigid bodies as effectively immersed in + an implicit solvent, e.g. a Brownian dynamics model. For hybrid + systems with both rigid bodies and solvent particles, you can + thermostat only the solvent particles that surround one or more + rigid bodies by appropriate choice of groups in the compute and fix + commands for temperature and thermostatting. The solvent + interactions with the rigid bodies should then effectively + thermostat the rigid body temperature as well without use of the + Langevin or Nose/Hoover options associated with the fix rigid + commands. ---------- The *mol* keyword can only be used with the *rigid/small* styles. It -must be used when other commands, such as :doc:`fix deposit ` or :doc:`fix pour `, add rigid -bodies on-the-fly during a simulation. You specify a *template-ID* +must be used when other commands, such as :doc:`fix deposit +` or :doc:`fix pour `, add rigid bodies +on-the-fly during a simulation. You specify a *template-ID* previously defined using the :doc:`molecule ` command, which reads a file that defines the molecule. You must use the same *template-ID* that the other fix which is adding rigid bodies uses. @@ -670,16 +682,16 @@ cross periodic boundaries during the simulation. .. note:: - If you use the *infile* or *mol* keywords and write restart - files during a simulation, then each time a restart file is written, - the fix also write an auxiliary restart file with the name - rfile.rigid, where "rfile" is the name of the restart file, + If you use the *infile* or *mol* keywords and write restart files + during a simulation, then each time a restart file is written, the + fix also write an auxiliary restart file with the name rfile.rigid, + where "rfile" is the name of the restart file, e.g. tmp.restart.10000 and tmp.restart.10000.rigid. This auxiliary - file is in the same format described above. Thus it can be used in a - new input script that restarts the run and re-specifies a rigid fix - using an *infile* keyword and the appropriate filename. Note that the - auxiliary file will contain one line for every rigid body, even if the - original file only listed a subset of the rigid bodies. + file is in the same format described above. Thus it can be used in + a new input script that restarts the run and re-specifies a rigid + fix using an *infile* keyword and the appropriate filename. Note + that the auxiliary file will contain one line for every rigid body, + even if the original file only listed a subset of the rigid bodies. If the system has rigid bodies with finite-size overlapping particles and the model uses the :doc:`fix gravity ` command to @@ -728,10 +740,11 @@ also accounted for by this fix. ---------- -If your simulation is a hybrid model with a mixture of rigid bodies and -non-rigid particles (e.g. solvent) there are several ways these rigid -fixes can be used in tandem with :doc:`fix nve `, :doc:`fix nvt -`, :doc:`fix npt `, and :doc:`fix nph `. +If your simulation is a hybrid model with a mixture of rigid bodies +and non-rigid particles (e.g. solvent) there are several ways these +rigid fixes can be used in tandem with :doc:`fix nve `, +:doc:`fix nvt `, :doc:`fix npt `, and :doc:`fix nph +`. If you wish to perform NVE dynamics (no thermostatting or barostatting), use one of 4 NVE rigid styles to integrate the rigid @@ -741,14 +754,14 @@ particles. If you wish to perform NVT dynamics (thermostatting, but no barostatting), you can use one of the 2 NVT rigid styles for the rigid bodies, and any thermostatting fix for the non-rigid particles -(:doc:`fix nvt `, :doc:`fix langevin `, :doc:`fix -temp/berendsen `). You can also use one of the 4 -NVE rigid styles for the rigid bodies and thermostat them using -:doc:`fix langevin ` on the group that contains all the -particles in the rigid bodies. The net force added by :doc:`fix -langevin ` to each rigid body effectively thermostats its -translational center-of-mass motion. Not sure how well it does at -thermostatting its rotational motion. +(:doc:`fix nvt `, :doc:`fix langevin `, +:doc:`fix temp/berendsen `). You can also use one +of the 4 NVE rigid styles for the rigid bodies and thermostat them +using :doc:`fix langevin ` on the group that contains +all the particles in the rigid bodies. The net force added by +:doc:`fix langevin ` to each rigid body effectively +thermostats its translational center-of-mass motion. Not sure how +well it does at thermostatting its rotational motion. If you wish to perform NPT or NPH dynamics (barostatting), you cannot use both :doc:`fix npt ` and the NPT or NPH rigid styles. This @@ -774,12 +787,12 @@ to the global pressure and the box is scaled the same by any of the barostatting fixes. You could even use the second and third options for a non-hybrid -simulation consisting of only rigid bodies, assuming you give :doc:`fix -npt ` an empty group, though it's an odd thing to do. The -barostatting fixes (:doc:`fix npt ` and :doc:`fix press/berensen -`) will monitor the pressure and change the box -dimensions, but not time integrate any particles. The integration of -the rigid bodies will be performed by fix rigid/nvt. +simulation consisting of only rigid bodies, assuming you give +:doc:`fix npt ` an empty group, though it's an odd thing to +do. The barostatting fixes (:doc:`fix npt ` and :doc:`fix +press/berensen `) will monitor the pressure and +change the box dimensions, but not time integrate any particles. The +integration of the rigid bodies will be performed by fix rigid/nvt. ---------- @@ -824,10 +837,10 @@ various :doc:`output commands `. The scalar value calculated by these fixes is "intensive". The scalar is the current temperature of the collection of rigid bodies. This is averaged over all rigid bodies and their translational and rotational degrees of -freedom. The translational energy of a rigid body is 1/2 m v\^2, where -m = total mass of the body and v = the velocity of its center of mass. -The rotational energy of a rigid body is 1/2 I w\^2, where I = the -moment of inertia tensor of the body and w = its angular velocity. +freedom. The translational energy of a rigid body is 1/2 m v\^2, +where m = total mass of the body and v = the velocity of its center of +mass. The rotational energy of a rigid body is 1/2 I w\^2, where I = +the moment of inertia tensor of the body and w = its angular velocity. Degrees of freedom constrained by the *force* and *torque* keywords are removed from this calculation, but only for the *rigid* and *rigid/nve* fixes. diff --git a/doc/src/fix_sgcmc.rst b/doc/src/fix_sgcmc.rst index 63cfaf22da..6be5cd2e1a 100644 --- a/doc/src/fix_sgcmc.rst +++ b/doc/src/fix_sgcmc.rst @@ -148,6 +148,8 @@ components of the vector represent the following quantities: * ... * N+2: The current global concentration of species *X* (= number of atoms of type *N* / total number of atoms) +The vector values calculated by this fix are "intensive". + Restrictions """""""""""" @@ -155,6 +157,9 @@ This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +This fix style requires an :doc:`atom style ` with per atom +type masses. + At present the fix provides optimized subroutines for EAM type potentials (see above) that calculate potential energy changes due to *local* atom type swaps very efficiently. Other potentials are diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index ccf7f16554..f3e6a08d61 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -96,11 +96,11 @@ each processor, which is acceptable when the overall grid is reasonably small. For larger grids you should use fix *ttm/grid* instead. Fix *ttm/mod* adds options to account for external heat sources (e.g. at -a surface) and for specifying parameters that allow the electronic -heat capacity to depend strongly on electronic temperature. It is -more expensive computationally than fix *ttm* because it treats the -thermal diffusion equation as non-linear. More details on fix *ttm/mod* -are given below. +a surface) and for specifying parameters that allow the electronic heat +capacity to depend strongly on electronic temperature. It is more +expensive computationally than fix *ttm* because it treats the thermal +diffusion equation as non-linear. More details on fix *ttm/mod* are +given below. Heat transfer between the electronic and atomic subsystems is carried out via an inhomogeneous Langevin thermostat. Only atoms in the fix @@ -136,23 +136,23 @@ transfer between the subsystems: \bigtriangledown (\kappa_e \bigtriangledown T_e) - g_p (T_e - T_a) + g_s T_a' -where C_e is the specific heat, rho_e is the density, kappa_e is the -thermal conductivity, T is temperature, the "e" and "a" subscripts -represent electronic and atomic subsystems respectively, g_p is the -coupling constant for the electron-ion interaction, and g_s is the -electron stopping coupling parameter. C_e, rho_e, and kappa_e are -specified as parameters to the fix. The other quantities are derived. -The form of the heat diffusion equation used here is almost the same -as that in equation 6 of :ref:`(Duffy) `, with the exception that the -electronic density is explicitly represented, rather than being part -of the specific heat parameter. +where :math:`C_e` is the specific heat, :math:`\rho_e` is the density, +:math:`\kappa_e` is the thermal conductivity, *T* is temperature, the +"e" and "a" subscripts represent electronic and atomic subsystems +respectively, :math:`g_p` is the coupling constant for the electron-ion +interaction, and :math:`g_s` is the electron stopping coupling +parameter. :math:`C_e`, :math:`\rho_e`, and :math:`\kappa_e` are +specified as parameters to the fix *ttm* or *ttm/grid*. The other +quantities are derived. The form of the heat diffusion equation used +here is almost the same as that in equation 6 of :ref:`(Duffy) `, +with the exception that the electronic density is explicitly +represented, rather than being part of the specific heat parameter. Currently, the TTM fixes assume that none of the user-supplied -parameters will vary with temperature. Note that :ref:`(Duffy) -` used a tanh() functional form for the temperature dependence -of the electronic specific heat, but ignored temperature dependencies -of any of the other parameters. See more discussion below for fix -ttm/mod. +parameters will vary with temperature. Note that :ref:`(Duffy) ` +used a tanh() functional form for the temperature dependence of the +electronic specific heat, but ignored temperature dependencies of any of +the other parameters. See more discussion below for fix *ttm/mod*. .. note:: @@ -265,27 +265,27 @@ heat sources (e.g. laser heating in ablation simulations): \bigtriangledown (\kappa_e \bigtriangledown T_e) - g_p (T_e - T_a) + g_s T_a' + \theta (x-x_{surface})I_0 \exp(-x/l_{skin}) -where theta is the Heaviside step function, I_0 is the (absorbed) -laser pulse intensity for ablation simulations, l_skin is the depth -of skin-layer, and all other designations have the same meaning as in -the former equation. The duration of the pulse is set by the parameter -*tau* in the *init_file*. +where :math:`\theta` is the Heaviside step function, :math:`I_0` is the +(absorbed) laser pulse intensity for ablation simulations, +:math:`l_{skin}` is the depth of the skin-layer, and all other +designations have the same meaning as in the former equation. The +duration of the pulse is set by the parameter *tau* in the *init_file*. -Fix ttm/mod also allows users to specify the dependencies of C_e and -kappa_e on the electronic temperature. The specific heat is expressed -as +Fix *ttm/mod* also allows users to specify the dependencies of +:math:`C_e` and :math:`\kappa_e` on the electronic temperature. The +specific heat is expressed as .. math:: C_e = C_0 + (a_0 + a_1 X + a_2 X^2 + a_3 X^3 + a_4 X^4) \exp (-(AX)^2) -where *X* = T_e/1000, and the thermal conductivity is defined as -kappa_e = D_e\*rho_e\*C_e, where D_e is the thermal diffusion -coefficient. +where :math:`X = \frac{T_e}{1000}`, and the thermal conductivity is +defined as :math:`\kappa_e = D_e \cdot rho_e \cdot C_e`, where +:math:`D_e` is the thermal diffusion coefficient. -Electronic pressure effects are included in the TTM model to account -for the blast force acting on ions because of electronic pressure -gradient (see :ref:`(Chen) `, :ref:`(Norman) `). The total force +Electronic pressure effects are included in the TTM model to account for +the blast force acting on ions because of electronic pressure gradient +(see :ref:`(Chen) `, :ref:`(Norman) `). The total force acting on an ion is: .. math:: @@ -293,25 +293,26 @@ acting on an ion is: {\vec F}_i = - \partial U / \partial {\vec r}_i + {\vec F}_{langevin} - \nabla P_e/n_{ion} -where F_langevin is a force from Langevin thermostat simulating -electron-phonon coupling, and nabla P_e/n_ion is the electron blast -force. +where :math:`F_{langevin}` is a force from Langevin thermostat +simulating electron-phonon coupling, and :math:`\nabla P_e/n_{ion}` is +the electron blast force. -The electronic pressure is taken to be P_e = B\*rho_e\*C_e\*T_e +The electronic pressure is taken to be :math:`P_e = B \cdot rho_e \cdot +C_e \cdot T_e` -The current fix ttm/mod implementation allows TTM simulations with a +The current fix *ttm/mod* implementation allows TTM simulations with a vacuum. The vacuum region is defined as the grid cells with zero electronic temperature. The numerical scheme does not allow energy exchange with such cells. Since the material can expand to previously -unoccupied region in some simulations, the vacuum border can be -allowed to move. It is controlled by the *surface_movement* parameter -in the *init_file*. If it is set to 1, then "vacuum" cells can be -changed to "electron-filled" cells with the temperature *T_e_min* if -atoms move into them (currently only implemented for the case of -1-dimensional motion of flat surface normal to the X axis). The -initial borders of vacuum can be set in the *init_file* via *lsurface* -and *rsurface* parameters. In this case, electronic pressure gradient -is calculated as +unoccupied region in some simulations, the vacuum border can be allowed +to move. It is controlled by the *surface_movement* parameter in the +*init_file*. If it is set to 1, then "vacuum" cells can be changed to +"electron-filled" cells with the temperature *T_e_min* if atoms move +into them (currently only implemented for the case of 1-dimensional +motion of a flat surface normal to the X axis). The initial locations of +the interfaces of the electron density to the vacuum can be set in the +*init_file* via *lsurface* and *rsurface* parameters. In this case, +electronic pressure gradient is calculated as .. math:: @@ -319,10 +320,10 @@ is calculated as \frac{x}{x+\lambda}\frac{(C_e{}T_e)_{x+\Delta x}-(C_e{}T_e)_{x}}{\Delta x} \right] -where lambda is the electron mean free path (see :ref:`(Norman) `, -:ref:`(Pisarev) `) +where :math:`\lambda` is the electron mean free path (see :ref:`(Norman) +`, :ref:`(Pisarev) `) -The fix ttm/mod parameter file *init_file* has the following syntax. +The fix *ttm/mod* parameter file *init_file* has the following syntax. Every line with an odd number is considered as a comment and ignored. The lines with the even numbers are treated as follows: diff --git a/doc/src/fix_wall_flow.rst b/doc/src/fix_wall_flow.rst new file mode 100644 index 0000000000..d498e57c63 --- /dev/null +++ b/doc/src/fix_wall_flow.rst @@ -0,0 +1,175 @@ +.. index:: fix wall/flow +.. index:: fix wall/flow/kk + +fix wall/flow command +===================== + +Accelerator Variants: *wall/flow/kk* + +Syntax +"""""" + +.. code-block:: LAMMPS + + fix ID group-ID wall/flow axis vflow T seed N coords ... keyword value + +* ID, group-ID are documented in :doc:`fix ` command +* wall/flow = style name of this fix command +* axis = flow axis (*x*, *y*, or *z*) +* vflow = generated flow velocity in *axis* direction (velocity units) +* T = flow temperature (temperature units) +* seed = random seed for stochasticity (positive integer) +* N = number of walls +* coords = list of N wall positions along the *axis* direction in ascending order (distance units) +* zero or more keyword/value pairs may be appended +* keyword = *units* + + .. parsed-literal:: + + *units* value = *lattice* or *box* + *lattice* = wall positions are defined in lattice units + *box* = the wall positions are defined in simulation box units + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all wall/flow x 0.4 1.5 593894 4 2.0 4.0 6.0 8.0 + +Description +""""""""""" + +.. versionadded:: 17Apr2024 + +This fix implements flow boundary conditions (FBC) introduced in +:ref:`(Pavlov1) ` and :ref:`(Pavlov2) `. +The goal is to generate a stationary flow with a shifted Maxwell +velocity distribution: + +.. math:: + + f_a(v_a) \propto \exp{\left(-\frac{m (v_a-v_{\text{flow}})^2}{2 kB T}\right)} + +where :math:`v_a` is the component of velocity along the specified +*axis* argument (a = x,y,z), :math:`v_{\text{flow}}` is the flow +velocity specified as the *vflow* argument, *T* is the specified flow +temperature, *m* is the particle mass, and *kB* is the Boltzmann +constant. + +This is achieved by defining a series of *N* transparent walls along +the flow *axis* direction. Each wall is at the specified position +listed in the *coords* argument. Note that an additional transparent +wall is defined by the code at the boundary of the (periodic) +simulation domain in the *axis* direction. So there are effectively +N+1 walls. + +Each time a particle in the specified group passes through one of the +transparent walls, its velocity is re-assigned. Particles not in the +group do not interact with the wall. This can be used, for example, to +add obstacles composed of atoms, or to simulate a solution of complex +molecules in a one-atom liquid (note that the fix has been tested for +one-atom systems only). + +Conceptually, the velocity re-assignment represents creation of a new +particle within the system with simultaneous removal of the particle +which passed through the wall. The velocity components in directions +parallel to the wall are re-assigned according to the standard Maxwell +velocity distribution for the specified temperature *T*. The velocity +component perpendicular to the wall is re-assigned according to the +shifted Maxwell distribution defined above: + +.. math:: + + f_{\text{a generated}}(v_a) \propto v_a f_a(v_a) + +It can be shown that for an ideal-gas scenario this procedure makes +the velocity distribution of particles between walls exactly as +desired. + +Since in most cases simulated systems are not an ideal gas, multiple +walls can be defined, since a single wall may not be sufficient for +maintaining a stationary flow without "congestion" which can manifest +itself as regions in the flow with increased particle density located +upstream from static obstacles. + +For the same reason, the actual temperature and velocity of the +generated flow may differ from what is requested. The degree of +discrepancy is determined by how different from an ideal gas the +simulated system is. Therefore, a calibration procedure may be +required for such a system as described in :ref:`(Pavlov) +`. + +Note that the interactions between particles on different sides of a +transparent wall are not disabled or neglected. Likewise particle +positions are not altered by the velocity reassignment. This removes +the need to modify the force field to work correctly in cases when a +particle is close to a wall. + +For example, if particle positions were uniformly redistributed across +the surface of a wall, two particles could end up too close to each +other, potentially causing the simulation to explode. However due to +this compromise, some collective phenomena such as regions with +increased/decreased density or collective movements are not fully +removed when particles cross a wall. This unwanted consequence can +also be potentially mitigated by using more multiple walls. + +.. note:: + + When the specified flow has a high velocity, a lost atoms error can + occur (see :doc:`error messages `). If this + happens, you should ensure the checks for neighbor list rebuilds, + set via the :doc:`neigh_modify ` command, are as + conservative as possible (every timestep if needed). Those are the + default settings. + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +No information about this fix is written to :doc:`binary restart files +`. + +None of the :doc:`fix_modify ` options are relevant to +this fix. + +No global or per-atom quantities are stored by this fix for access by +various :doc:`output commands `. + +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. + +This fix is not invoked during :doc:`energy minimization `. + +Restrictions +"""""""""""" + +Fix *wall_flow* is part of the EXTRA-FIX package. It is only enabled +if LAMMPS was built with that package. See the :doc:`Build package +` page for more info. + +Flow boundary conditions should not be used with rigid bodies such as +those defined by a "fix rigid" command. + +This fix can only be used with periodic boundary conditions along the +flow axis. The size of the box in this direction must not change. Also, +the fix is designed to work only in an orthogonal simulation box. + +Related commands +"""""""""""""""" + +:doc:`fix wall/reflect ` command + +Default +""""""" + +The default for the units keyword is lattice. + +---------- + +.. _fbc-Pavlov1: + +**(Pavlov1)** Pavlov, Kolotinskii, Stegailov, "GPU-Based Molecular Dynamics of Turbulent Liquid Flows with OpenMM", Proceedings of PPAM-2022, LNCS (Springer), vol. 13826, pp. 346-358 (2023) + +.. _fbc-Pavlov2: + +**(Pavlov2)** Pavlov, Galigerov, Kolotinskii, Nikolskiy, Stegailov, "GPU-based Molecular Dynamics of Fluid Flows: Reaching for Turbulence", Int. J. High Perf. Comp. Appl., (2024) diff --git a/doc/src/fix_widom.rst b/doc/src/fix_widom.rst index ff66095db5..c14b88a2e4 100644 --- a/doc/src/fix_widom.rst +++ b/doc/src/fix_widom.rst @@ -179,7 +179,7 @@ the following global cumulative quantities: * 2 = average difference in potential energy on each timestep * 3 = volume of the insertion region -The vector values calculated by this fix are "extensive". +The vector values calculated by this fix are "intensive". No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during @@ -195,8 +195,11 @@ doc page for more info. Do not set "neigh_modify once yes" or else this fix will never be called. Reneighboring is **required**. -Can be run in parallel, but aspects of the GCMC part will not scale well -in parallel. Only usable for 3D simulations. +This fix style requires an :doc:`atom style ` with per atom +type masses. + +Can be run in parallel, but some aspects of the insertion procedure +will not scale well in parallel. Only usable for 3D simulations. Related commands diff --git a/doc/src/labelmap.rst b/doc/src/labelmap.rst index 9e3d705101..70ca9262da 100644 --- a/doc/src/labelmap.rst +++ b/doc/src/labelmap.rst @@ -43,7 +43,8 @@ The label map can also be defined by the :doc:`read_data ` command when it reads these sections in a data file: Atom Type Labels, Bond Type Labels, etc. See the :doc:`Howto type labels ` doc page for a general discussion of how type -labels can be used. +labels can be used. See :ref:`(Gissinger) ` for a discussion +of the type label implementation in LAMMPS and its uses. Valid type labels can contain any alphanumeric character, but must not start with a number, a '#', or a '*' character. They can contain other @@ -98,3 +99,9 @@ Default """"""" none + +----------- + +.. _Typelabel: + +**(Gissinger)** J. R. Gissinger, I. Nikiforov, Y. Afshar, B. Waters, M. Choi, D. S. Karls, A. Stukowski, W. Im, H. Heinz, A. Kohlmeyer, and E. B. Tadmor, J Phys Chem B, 128, 3282-3297 (2024). diff --git a/doc/src/lattice.rst b/doc/src/lattice.rst index 7dc9c579e5..99d954e43d 100644 --- a/doc/src/lattice.rst +++ b/doc/src/lattice.rst @@ -19,7 +19,7 @@ Syntax scale = lattice constant in distance units (for all other units) * zero or more keyword/value pairs may be appended -* keyword = *origin* or *orient* or *spacing* or *a1* or *a2* or *a3* or *basis* +* keyword = *origin* or *orient* or *spacing* or *a1* or *a2* or *a3* or *basis* or *triclinic/general* .. parsed-literal:: @@ -34,6 +34,7 @@ Syntax x,y,z = primitive vector components that define unit cell *basis* values = x y z x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1) + *triclinic/general* values = no values Examples """""""" @@ -44,7 +45,7 @@ Examples lattice hex 0.85 lattice sq 0.8 origin 0.0 0.5 0.0 orient x 1 1 0 orient y -1 1 0 lattice custom 3.52 a1 1.0 0.0 0.0 a2 0.5 1.0 0.0 a3 0.0 0.0 0.5 & - basis 0.0 0.0 0.0 basis 0.5 0.5 0.5 + basis 0.0 0.0 0.0 basis 0.5 0.5 0.5 triclinic/general lattice none 2.0 Description @@ -129,10 +130,13 @@ and a3 are 3 orthogonal unit vectors (edges of a unit cube). But you can specify them to be of any length and non-orthogonal to each other, so that they describe a tilted parallelepiped. Via the *basis* keyword you add atoms, one at a time, to the unit cell. Its arguments -are fractional coordinates (0.0 <= x,y,z < 1.0). The position vector -x of a basis atom within the unit cell is thus a linear combination of -the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3, -where bx,by,bz are the 3 values specified for the *basis* keyword. +are fractional coordinates (0.0 <= x,y,z < 1.0). For 2d simulations, +the fractional z coordinate for any basis atom must be 0.0. + +The position vector x of a basis atom within the unit cell is a linear +combination of the unit cell's 3 edge vectors, i.e. x = bx a1 + by +a2 + bz a3, where bx,by,bz are the 3 values specified for the *basis* +keyword. ---------- @@ -168,18 +172,21 @@ The *origin* option specifies how the unit cell will be shifted or translated when mapping it into the simulation box. The x,y,z values are fractional values (0.0 <= x,y,z < 1.0) meaning shift the lattice by a fraction of the lattice spacing in each dimension. The meaning -of "lattice spacing" is discussed below. +of "lattice spacing" is discussed below. For 2d simulations, the +*origin* z value must be 0.0. The *orient* option specifies how the unit cell will be rotated when mapping it into the simulation box. The *dim* argument is one of the 3 coordinate axes in the simulation box. The other 3 arguments are the crystallographic direction in the lattice that you want to orient along that axis, specified as integers. E.g. "orient x 2 1 0" means -the x-axis in the simulation box will be the [210] lattice -direction, and similarly for y and z. The 3 lattice directions you -specify do not have to be unit vectors, but they must be mutually -orthogonal and obey the right-hand rule, i.e. (X cross Y) points in -the Z direction. +the x-axis in the simulation box will be the [210] lattice direction, +and similarly for y and z. The 3 lattice directions you specify do +not have to be unit vectors, but they must be mutually orthogonal and +obey the right-hand rule, i.e. (X cross Y) points in the Z direction. +For 2d simulations, the *orient* x and y vectors must define 0 for +their 3rd component. Similarly the *orient* z vector must define 0 +for its 1st and 2nd components. .. note:: @@ -193,6 +200,59 @@ the Z direction. ---------- +The *triclinic/general* option specifies that the defined lattice is +for use with a general triclinic simulation box, as opposed to an +orthogonal or restricted triclinic box. The :doc:`Howto triclinic +` doc page explains all 3 kinds of simulation boxes +LAMMPS supports. + +If this option is specified, a *custom* lattice style must be used. +The *a1*, *a2*, *a3* vectors should define the edge vectors of a +single unit cell of the lattice with one or more basis atoms. They +edge vectors can be arbitrary so long as they are non-zero, distinct, +and not co-planar. In addition, they must define a right-handed +system, such that (*a1* cross *a2*) points in the direction of *a3*. +Note that a left-handed system can be converted to a right-handed +system by simply swapping the order of any pair of the *a1*, *a2*, +*a3* vectors. For 2d simulations, the *a3* vector must be specified +as (0.0,0.0,1.0), which is its default value. + +If this option is used, the *origin* and *orient* settings must have +their default values. Namely (0.0,0.0,0.0) for the *origin* and +(100), (010), (001) for the *orient* vectors. + +The :doc:`create_box ` command can be used to create a +general triclinic box that replicates the *a1*, *a2*, *a3* unit cell +vectors in each direction to create the 3 arbitrary edge vectors of +the overall simulation box. It requires a lattice with the +*triclinic/general* option. + +Likewise, the :doc:`create_atoms ` command can be used +to add atoms (or molecules) to a general triclinic box which lie on +the lattice points defined by *a1*, *a2*, *a3* and the unit cell basis +atoms. To do this, it also requires a lattice with the +*triclinic/general* option. + +.. note:: + + LAMMPS allows specification of general triclinic lattices and + simulation boxes as a convenience for users who may be converting + data from solid-state crystallographic representations or from DFT + codes for input to LAMMPS. However, as explained on the + :doc:`Howto_triclinic ` doc page, internally, + LAMMPS only uses restricted triclinic simulation boxes. This means + the box and per-atom information (e.g. coordinates, velocities) + defined by the :doc:`create_box ` and + :doc:`create_atoms ` commands are converted from + general to restricted triclinic form when the two commands are + invoked. It also means that any other commands which use lattice + spacings from this command (e.g. the region command), will be + operating on a restricted triclinic simulation box, even if the + *triclinic/general* option was used to define the lattice. See the + next section for details. + +---------- + Several LAMMPS commands have the option to use distance units that are inferred from "lattice spacings" in the x,y,z box directions. E.g. the :doc:`region ` command can create a block of size @@ -216,6 +276,18 @@ coordinates of the 8 corner points of the modified unit cell (4 in 2d). Similarly, the Y and Z lattice spacings are defined as the difference in the min/max of the y and z coordinates. +.. note:: + + If the *triclinic/general* option is specified, the unit cell + defined by *a1*, *a2*, *a3* edge vectors is first converted to a + restricted triclinic orientation, which is a rotation operation. + The min/max extent of the 8 corner points is then determined, as + described in the preceding paragraph, to set the lattice + spacings. As explained for the *triclinic/general* option above, + this is because any use of the lattice spacings by other commands + will be for a restricted triclinic simulation box, not a general + triclinic box. + Note that if the unit cell is orthogonal with axis-aligned edges (no rotation via the *orient* keyword), then the lattice spacings in each dimension are simply the scale factor (described above) multiplied by diff --git a/doc/src/package.rst b/doc/src/package.rst index 212a06258c..8be6639e72 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -74,7 +74,7 @@ Syntax *no_affinity* values = none *kokkos* args = keyword value ... zero or more keyword/value pairs may be appended - keywords = *neigh* or *neigh/qeq* or *neigh/thread* or *neigh/transpose* or *newton* or *binsize* or *comm* or *comm/exchange* or *comm/forward* or *comm/pair/forward* or *comm/fix/forward* or *comm/reverse* or *comm/pair/reverse* or *sort* or *gpu/aware* or *pair/only* + keywords = *neigh* or *neigh/qeq* or *neigh/thread* or *neigh/transpose* or *newton* or *binsize* or *comm* or *comm/exchange* or *comm/forward* or *comm/pair/forward* or *comm/fix/forward* or *comm/reverse* or *comm/pair/reverse* or *sort* or *atom/map* or *gpu/aware* or *pair/only* *neigh* value = *full* or *half* full = full neighbor list half = half neighbor list built in thread-safe manner @@ -108,6 +108,9 @@ Syntax *sort* value = *no* or *device* *no* = perform atom sorting in non-KOKKOS mode *device* = perform atom sorting on device (e.g. on GPU) + *atom/map* value = *no* or *device* + *no* = build atom map in non-KOKKOS mode + *device* = build atom map on device (e.g. on GPU) *gpu/aware* = *off* or *on* *off* = do not use GPU-aware MPI *on* = use GPU-aware MPI (default) @@ -566,15 +569,19 @@ performing the exchange pack/unpack on the host CPU can give speedup since it reduces the number of CUDA kernel launches. The *sort* keyword determines whether the host or device performs atom -sorting, see the :doc:`atom_modify sort ` command. The -value options for the *sort* keyword are *no* or *device* similar to the -*comm* keywords above. If a value of *host* is used it will be -automatically be changed to *no* since the *sort* keyword does not -support *host* mode. The value of *no* will also always be used when -running on the CPU, i.e. setting the value to *device* will have no -effect if the simulation is running on the CPU. Not all fix styles with -extra atom data support *device* mode and in that case a warning will be -given and atom sorting will run in *no* mode instead. +sorting, see the :doc:`atom_modify sort ` command. The value +options for the *sort* keyword are *no* or *device* similar to the *comm* +keywords above. If a value of *host* is used it will be automatically be +changed to *no* since the *sort* keyword does not support *host* mode. Not +all fix styles with extra atom data support *device* mode and in that case +a warning will be given and atom sorting will run in *no* mode instead. + +.. versionadded:: 17Apr2024 + +The *atom/map* keyword determines whether the host or device builds the +atom_map, see the :doc:`atom_modify map ` command. The +value options for the *atom/map* keyword are identical to the *sort* +keyword above. The *gpu/aware* keyword chooses whether GPU-aware MPI will be used. When this keyword is set to *on*, buffers in GPU memory are passed directly @@ -593,12 +600,13 @@ for OpenMPI 1.8 (or later versions), Mvapich2 1.9 (or later) when the Spectrum MPI when the "-gpu" flag is used. The *pair/only* keyword can change how the KOKKOS suffix "kk" is applied -when using an accelerator device. By default device acceleration is -always used for all available styles. With *pair/only* set to *on* the -suffix setting will choose device acceleration only for pair styles and -run all other force computations on the host CPU. -The *comm* flags will also automatically be changed to *no*\ . This can -result in better performance for certain configurations and system sizes. +when using an accelerator device. By default device acceleration is always +used for all available styles. With *pair/only* set to *on* the suffix +setting will choose device acceleration only for pair styles and run all +other force computations on the host CPU. The *comm* flags, along with the +*sort* and *atom/map* keywords will also automatically be changed to *no*\ . +This can result in better performance for certain configurations and +system sizes. ---------- @@ -684,18 +692,18 @@ Restrictions This command cannot be used after the simulation box is defined by a :doc:`read_data ` or :doc:`create_box ` command. -The gpu style of this command can only be invoked if LAMMPS was built +The *gpu* style of this command can only be invoked if LAMMPS was built with the GPU package. See the :doc:`Build package ` doc page for more info. -The intel style of this command can only be invoked if LAMMPS was +The *intel* style of this command can only be invoked if LAMMPS was built with the INTEL package. See the :doc:`Build package ` page for more info. -The kk style of this command can only be invoked if LAMMPS was built +The *kokkos* style of this command can only be invoked if LAMMPS was built with the KOKKOS package. See the :doc:`Build package ` doc page for more info. -The omp style of this command can only be invoked if LAMMPS was built +The *omp* style of this command can only be invoked if LAMMPS was built with the OPENMP package. See the :doc:`Build package ` doc page for more info. @@ -704,19 +712,27 @@ Related commands :doc:`suffix `, :doc:`-pk command-line switch ` -Default -""""""" +Defaults +"""""""" -For the GPU package, the default is Ngpu = 0 and the option defaults are neigh -= yes, newton = off, binsize = 0.0, split = 1.0, gpuID = 0 to Ngpu-1, tpa = 1, -omp = 0, and platform=-1. These settings are made automatically if the "-sf -gpu" :doc:`command-line switch ` is used. If it is not used, you -must invoke the package gpu command in your input script or via the "-pk gpu" -:doc:`command-line switch `. +For the GPU package, the default parameters and settings are: -For the INTEL package, the default is Nphi = 1 and the option defaults are omp -= 0, mode = mixed, lrt = no, balance = -1, tpc = 4, tptask = 240, pppm_table = -yes. The default ghost option is determined by the pair style being used. +.. parsed-literal:: + + Ngpu = 0, neigh = yes, newton = off, binsize = 0.0, split = 1.0, gpuID = 0 to Ngpu-1, tpa = 1, omp = 0, platform=-1. + +These settings are made automatically if the "-sf gpu" +:doc:`command-line switch ` is used. If it is not used, +you must invoke the package gpu command in your input script or via the +"-pk gpu" :doc:`command-line switch `. + +For the INTEL package, the default parameters and settings are: + +.. parsed-literal:: + + Nphi = 1, omp = 0, mode = mixed, lrt = no, balance = -1, tpc = 4, tptask = 240, pppm_table = yes + +The default ghost option is determined by the pair style being used. This value is output to the screen in the offload report at the end of each run. Note that all of these settings, except "omp" and "mode", are ignored if LAMMPS was not built with Xeon Phi co-processor support. These settings are @@ -724,20 +740,35 @@ made automatically if the "-sf intel" :doc:`command-line switch ` is used. If it is not used, you must invoke the package intel command in your input script or via the "-pk intel" :doc:`command-line switch `. -For the KOKKOS package, the option defaults for GPUs are neigh = full, -neigh/qeq = full, newton = off, binsize for GPUs = 2x LAMMPS default value, -comm = device, sort = device, neigh/transpose = off, gpu/aware = on. When -LAMMPS can safely detect that GPU-aware MPI is not available, the default value -of gpu/aware becomes "off". For CPUs or Xeon Phis, the option defaults are -neigh = half, neigh/qeq = half, newton = on, binsize = 0.0, comm = no, and sort -= no. For GPUs, option neigh/thread = on when there are 16k atoms or less on an MPI -rank, otherwise it is "off". These settings are made automatically by the -required "-k on" :doc:`command-line switch `. You can change them -by using the package kokkos command in your input script or via the :doc:`-pk -kokkos command-line switch `. +For the KOKKOS package when using GPUs, the option defaults are: -For the OMP package, the default is Nthreads = 0 and the option defaults are -neigh = yes. These settings are made automatically if the "-sf omp" -:doc:`command-line switch ` is used. If it is not used, you must -invoke the package omp command in your input script or via the "-pk omp" -:doc:`command-line switch `. +.. parsed-literal:: + + neigh = full, neigh/qeq = full, newton = off, binsize = 2x LAMMPS default value, comm = device, sort = device, atom/map = device, neigh/transpose = off, gpu/aware = on + +For GPUs, option neigh/thread = on when there are 16k atoms or less on +an MPI rank, otherwise it is "off". When LAMMPS can safely detect that +GPU-aware MPI is not available, the default value of gpu/aware becomes +"off". + +For the KOKKOS package when using CPUs or Xeon Phis, the option defaults are: + +.. parsed-literal:: + + neigh = half, neigh/qeq = half, newton = on, binsize = 0.0, comm = no, sort = no, atom/map = no + +These settings are made automatically by +the required "-k on" :doc:`command-line switch `. You can +change them by using the package kokkos command in your input script or +via the :doc:`-pk kokkos command-line switch `. + +For the OMP package, the defaults are + +.. parsed-literal:: + + Nthreads = 0, neigh = yes + +These settings are made automatically if the "-sf omp" +:doc:`command-line switch ` is used. If it is not used, +you must invoke the package omp command in your input script or via the +"-pk omp" :doc:`command-line switch `. diff --git a/doc/src/pair_airebo.rst b/doc/src/pair_airebo.rst index 9a1e4e5518..ce574cc734 100644 --- a/doc/src/pair_airebo.rst +++ b/doc/src/pair_airebo.rst @@ -156,7 +156,7 @@ pair_coeff command: The first 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three C arguments map LAMMPS atom types 1,2,3 to the C element in the AIREBO file. The final H argument maps LAMMPS atom -type 4 to the H element in the SW file. If a mapping value is +type 4 to the H element in the AIREBO file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when a *airebo* potential is used as part of the *hybrid* pair style. The NULL values are placeholders for atom types that will be used with @@ -222,12 +222,12 @@ enabled if LAMMPS was built with that package. See the :doc:`Build package ` setting to be "on" for pair interactions. -The CH.airebo and CH.airebo-m potential files provided with LAMMPS -(see the potentials directory) are parameterized for metal :doc:`units `. -You can use the AIREBO, AIREBO-M or REBO potential with any LAMMPS units, -but you would need to create your own AIREBO or AIREBO-M potential file -with coefficients listed in the appropriate units, if your simulation -does not use "metal" units. +The CH.airebo and CH.airebo-m potential files provided with LAMMPS (see +the potentials directory) are parameterized for metal :doc:`units +`. You can use the pair styles with *any* LAMMPS units, but you +would need to create your own AIREBO or AIREBO-M potential file with +coefficients listed in the appropriate units, if your simulation does +not use "metal" units. The pair styles provided here **only** support potential files parameterized for the elements carbon and hydrogen (designated with "C" and "H" in the diff --git a/doc/src/pair_dsmc.rst b/doc/src/pair_dsmc.rst index edac1d7a65..09bb5d90af 100644 --- a/doc/src/pair_dsmc.rst +++ b/doc/src/pair_dsmc.rst @@ -138,8 +138,12 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This style is part of the MC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` page for more info. +This pair style is part of the MC package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package +` page for more info. + +This pair style requires an :doc:`atom style ` with per +atom type masses. Related commands """""""""""""""" diff --git a/doc/src/pair_eam.rst b/doc/src/pair_eam.rst index 654f49c166..cdb6487981 100644 --- a/doc/src/pair_eam.rst +++ b/doc/src/pair_eam.rst @@ -140,6 +140,21 @@ The OpenKIM Project at provides EAM potentials that can be used directly in LAMMPS with the :doc:`kim command ` interface. +.. warning:: + + The EAM potential files tabulate the embedding energy as a function + of the local electron density :math:`\rho`. When atoms get too + close, this electron density may exceed the range for which the + embedding energy was tabulated for. To avoid crashes, LAMMPS will + assume a linearly increasing embedding energy for electron densities + beyond the maximum tabulated value. LAMMPS will print a warning when + this happens. It may be acceptable at the beginning of an + equilibration (e.g. when using randomized coordinates) but would be a + big concern for accuracy if it happens during production runs. The + EAM potential file triggering the warning during production is thus + not a good choice, and the EAM model in general not likely a good + model for the kind of system under investigation. + ---------- For style *eam*, potential values are read from a file that is in the diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index bc469412d9..597869a05b 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -187,6 +187,7 @@ for the damping model currently supported are: 2. *mass_velocity* 3. *viscoelastic* 4. *tsuji* +5. *coeff_restitution* If the *damping* keyword is not specified, the *viscoelastic* model is used by default. @@ -248,6 +249,29 @@ The dimensionless coefficient of restitution :math:`e` specified as part of the normal contact model parameters should be between 0 and 1, but no error check is performed on this. +The *coeff_restitution* model is useful when a specific normal coefficient of +restitution :math:`e` is required. In these models, the normal coefficient of +restitution :math:`e` is specified as an input. Following the approach of +:ref:`(Brilliantov et al) `, when using the *hooke* normal model, +*coeff_restitution* calculates the damping coefficient as: + +.. math:: + + \eta_n = \sqrt{\frac{4m_{eff}k_n}{1+\left( \frac{\pi}{\log(e)}\right)^2}} , + +For any other normal model, e.g. the *hertz* and *hertz/material* models, the damping +coefficient is: + +.. math:: + + \eta_n = -2\sqrt{\frac{5}{6}}\frac{\log(e)}{\sqrt{\pi^2+(\log(e))^2}}(R_{eff} \delta_{ij})^{\frac{1}{4}}\sqrt{\frac{3}{2}k_n m_{eff}} , + +where :math:`k_n = \frac{4}{3} E_{eff}` for the *hertz/material* model. Since +*coeff_restitution* accounts for the effective mass, effective radius, and +pairwise overlaps (except when used with the *hooke* normal model) when calculating +the damping coefficient, it accurately reproduces the specified coefficient of +restitution for both monodisperse and polydisperse particle pairs. + The total normal force is computed as the sum of the elastic and damping components: diff --git a/doc/src/pair_meam.rst b/doc/src/pair_meam.rst index 57c40aa6ee..bafa9fb3c9 100644 --- a/doc/src/pair_meam.rst +++ b/doc/src/pair_meam.rst @@ -427,8 +427,8 @@ package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The maximum number of elements, that can be read from the MEAM library -file, is determined at compile time. The default is 5. If you need -support for more elements, you have to change the the constant 'maxelt' +file, is determined at compile time. The default is 8. If you need +support for more elements, you have to change the the constant 'MAXELT' at the beginning of the file ``src/MEAM/meam.h`` and update/recompile LAMMPS. There is no limit on the number of atoms types. diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index fcb9c7881e..e325de0aa6 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -22,7 +22,7 @@ Syntax style = *linear* or *quadratic* or *nn* or *mliappy* filename = name of file containing model definitions *descriptor* values = style filename - style = *sna* or *so3* + style = *sna* or *so3* or *ace* filename = name of file containing descriptor definitions *unified* values = filename ghostneigh_flag filename = name of file containing serialized unified Python object @@ -36,6 +36,7 @@ Examples pair_style mliap model linear InP.mliap.model descriptor sna InP.mliap.descriptor pair_style mliap model quadratic W.mliap.model descriptor sna W.mliap.descriptor pair_style mliap model nn Si.nn.mliap.model descriptor so3 Si.nn.mliap.descriptor + pair_style mliap model mliappy ACE_NN_Pytorch.pt descriptor ace ccs_single_element.yace pair_style mliap unified mliap_unified_lj_Ar.pkl 0 pair_coeff * * In P @@ -49,8 +50,8 @@ quantities that characterize the atomic positions (*descriptor*). By defining *model* and *descriptor* separately, it is possible to use many different models with a given descriptor, or many different -descriptors with a given model. The pair style currently supports only -*sna* and *so3* descriptor styles, but it is straightforward to add new +descriptors with a given model. The pair style currently supports *sna*, +*so3* and *ace* descriptor styles, but it is straightforward to add new descriptor styles. By using the *unified* keyword, it is possible to define a Python model that combines functionalities of both *model* and *descriptor*. @@ -72,6 +73,26 @@ the smooth SO(3) power spectrum with the explicit inclusion of a radial basis :ref:`(Bartok) ` and :ref:`(Zagaceta) `. The available models are *linear* and *nn*. +.. versionadded:: 17Apr2024 + +The descriptor style *ace* is a class of highly general atomic +descriptors, atomic cluster expansion descriptors (ACE) from +:ref:`(Drautz) `, that include a radial basis, an angular +basis, and bases for other variables (such as chemical species) if +relevant. In descriptor style *ace*, the *ace* descriptors may be +defined up to an arbitrary body order. This descriptor style is the same +as that used in :doc:`pair_style pace ` and :doc:`compute +pace `. The available models with *ace* in ML-IAP are +*linear* and *mliappy*. The *ace* descriptors and models require +building LAMMPS with the ML-PACE package (see below). The *mliappy* +model style may be used with *ace* descriptors, but it requires that +LAMMPS is also built with the PYTHON package. As with other model +styles, the *mliappy* model style can be used to couple arbitrary python +models that use the *ace* descriptors such as Pytorch NNs. Note that +*ALL* mliap model styles with *ace* descriptors require that descriptors +and hyperparameters are supplied in a `.yace` or `.ace` file, similar to +:doc:`compute pace `. + The pair_style *mliap* command must be followed by two keywords *model* and *descriptor* in either order, or the one keyword *unified*. A single *pair_coeff* command is also required. The first 2 arguments @@ -136,7 +157,7 @@ The detail of *nn* module implementation can be found at :ref:`(Yanxon) `. Note that unlike the potential file, the + Clebsch-Gordan coefficients in the descriptor file supplied should *NOT* be + multiplied by linear or square root embedding terms. + + The SNAP descriptor file closely follows the format of the :doc:`pair_style snap ` parameter file. The file can contain blank and comment lines (start with #) anywhere. Each non-blank @@ -169,6 +200,24 @@ contains a few more arguments (e.g., *nmax* and *alpha*). The preparation of SO3 descriptor and model files can be done with the `Pyxtal_FF `_ package. +The ACE descriptor file differs from the SNAP and SO3 files. It more +closely resembles the potential file format for linear or square-root +embedding ACE potentials used in the :doc:`pair_style pace `. +As noted above, the key difference is that the Clebsch-Gordan +coefficients in the descriptor file with *mliap descriptor ace* are +*NOT* multiplied by linear or square root embedding terms. In other +words,the model is separated from the descriptor definitions and +hyperparameters. In :doc:`pair_style pace `, they are +combined. The ACE descriptor files required by *mliap* are generated +automatically in `FitSNAP `_ during +linear, pytorch, etc. ACE model fitting. Additional tools are provided +there to prepare *ace* descriptor files and hyperparameters before model +fitting. The *ace* descriptor files can also be extracted from ACE +model fits in `python-ace. `_. It +is important to note that order of the types listed in :doc:`pair_coeff +` must match the order of the elements/types listed in the +ACE descriptor file for all *mliap* styles when using *ace* descriptors. + See the :doc:`pair_coeff ` page for alternate ways to specify the path for these *model* and *descriptor* files. @@ -245,7 +294,10 @@ This pair style is part of the ML-IAP package. It is only enabled if LAMMPS was built with that package. In addition, building LAMMPS with the ML-IAP package requires building LAMMPS with the ML-SNAP package. The *mliappy* model requires building LAMMPS with the PYTHON package. -See the :doc:`Build package ` page for more info. +The *ace* descriptor requires building LAMMPS with the ML-PACE package. +See the :doc:`Build package ` page for more info. Note +that `pair_mliap/kk` acceleration will *not* invoke the `kk` +accelerated variants of SNAP or ACE descriptors. Related commands @@ -271,5 +323,3 @@ none .. _Yanxon2020: **(Yanxon2020)** Yanxon, Zagaceta, Tang, Matteson, Zhu, Mach. Learn.: Sci. Technol. 2, 027001 (2020). - - diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst new file mode 100644 index 0000000000..10fcb63e2e --- /dev/null +++ b/doc/src/pair_pedone.rst @@ -0,0 +1,137 @@ +.. index:: pair_style pedone +.. index:: pair_style pedone/omp + +pair_style pedone command +========================= + +Accelerator Variants: *pedone/omp* + + +Syntax +"""""" + +.. code-block:: LAMMPS + + pair_style style args + +* style = pedone* +* args = list of arguments for a particular style + +.. parsed-literal:: + + *pedone* args = cutoff + cutoff = global cutoff for Pedone interactions (distance units) + +Examples +"""""""" + +.. code-block:: LAMMPS + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-5 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +Used in input scripts: + + .. parsed-literal:: + + examples/PACKAGES/pedone/in.pedone.relax + examples/PACKAGES/pedone/in.pedone.melt + + + +Description +""""""""""" + +.. versionadded:: 17Apr2024 + +Pair style *pedone* computes the **non-Coulomb** interactions of the Pedone +(or PMMCS) potential :ref:`(Pedone) ` which combines Coulomb +interactions, Morse potential, and repulsive :math:`r^{-12}` +Lennard-Jones terms (see below). The *pedone* pair style is meant +to be used in addition to a :doc:`Coulomb pair style ` via +pair style :doc:`hybrid/overlay ` (see example above). +Using *coul/long* or *could/dsf* (for solids) is recommended. + +The full Pedone potential function from :ref:`(Pedone) ` for each +pair of atoms is: + +.. math:: + + E = \frac{C q_i q_j}{\epsilon r} + + D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] + + \frac{B_0}{r^{12}} \qquad r < r_c + +:math:`r_c` is the cutoff and :math:`C` is a conversion factor that is +specific to the choice of :doc:`units ` so that the entire +Coulomb term is in energy units with :math:`q_i` and :math:`q_j` as the +assigned charges in multiples of the elementary charge. + +The following coefficients must be defined for the selected pairs of +atom types via the :doc:`pair_coeff ` command as in the +example above: + +* :math:`D_0` (energy units) +* :math:`\alpha` (1/distance units) +* :math:`r_0` (distance units) +* :math:`C_0` (energy units) +* cutoff (distance units) + +The last coefficient is optional. If not specified, the global *pedone* +cutoff is used. + +---------- + +.. include:: accel_styles.rst + +---------- + +Mixing, shift, table, tail correction, restart, rRESPA info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +This pair style does not support mixing. + +This pair style support the :doc:`pair_modify ` shift +option for the energy of the pair interaction. + +This pair style does not support the :doc:`pair_modify ` +tail option for adding long-range tail corrections to energy and +pressure. + +This pair style writes its information to :doc:`binary restart files `, +so pair_style and pair_coeff commands does not need to be specified in an input +script that reads a restart file. + +This pair style can only be used via the *pair* keyword of the +:doc:`run_style respa ` command. It does not support the +*inner*, *middle*, or *outer* keywords. + +---------- + +Restrictions +"""""""""""" + +The *pedone* pair style is only enabled if LAMMPS was built with the +EXTRA-PAIR package. See the :doc:`Build package ` page +for more info. + +Related commands +"""""""""""""""" + +:doc:`pair_coeff `, :doc:`pair_style `, +:doc:`pair style coul/long and coul/dsf `, +:doc:`pair style morse ` + +Default +""""""" + +none + +------------- + +.. _Pedone: + +**(Pedone)** A. Pedone, G. Malavasi, M. C. Menziani, A. N. Cormack, and U. Segre, J. Phys. Chem. B, 110, 11780 (2006) diff --git a/doc/src/pair_rebomos.rst b/doc/src/pair_rebomos.rst new file mode 100644 index 0000000000..05be473256 --- /dev/null +++ b/doc/src/pair_rebomos.rst @@ -0,0 +1,150 @@ +.. index:: pair_style rebomos +.. index:: pair_style rebomos/omp + +pair_style rebomos command +========================== + +Accelerator Variants: *rebomos/omp* + +Syntax +"""""" + +.. code-block:: LAMMPS + + pair_style rebomos + +* rebomos = name of this pair style + +Examples +"""""""" + +.. code-block:: LAMMPS + + pair_style rebomos + pair_coeff * * ../potentials/MoS.rebomos Mo S + +Example input scripts available: examples/threebody/ + +Description +""""""""""" + +.. versionadded:: 17Apr2024 + +The *rebomos* pair style computes the interactions between molybdenum +and sulfur atoms :ref:`(Stewart) ` utilizing an adaptive +interatomic reactive empirical bond order potential that is similar in +form to the AIREBO potential :ref:`(Stuart) `. The potential +is based on an earlier parameterizations for :math:`\text{MoS}_2` +developed by :ref:`(Liang) `. + +The REBOMoS potential consists of two terms: + +.. math:: + + E & = \frac{1}{2} \sum_i \sum_{j \neq i} + \left[ E^{\text{REBO}}_{ij} + E^{\text{LJ}}_{ij} \right] \\ + +The :math:`E^{\text{REBO}}` term describes the covalently bonded +interactions between Mo and S atoms while the :math:`E^{\text{LJ}}` term +describes longer range dispersion forces between layers. A cubic spline +function is applied to smoothly switch between covalent bonding at short +distances to dispersion interactions at longer distances. This allows +the model to capture bond formation and breaking events which may occur +between adjacent MoS2 layers, edges, defects, and more. + +---------- + +Only a single pair_coeff command is used with the *rebomos* pair style +which specifies an REBOMoS potential file with parameters for Mo and S. +These are mapped to LAMMPS atom types by specifying N additional +arguments after the filename in the pair_coeff command, where N is the +number of LAMMPS atom types: + +* filename +* :math:`N` element names = mapping of REBOMoS elements to atom types + +See the :doc:`pair_coeff ` page for alternate ways +to specify the path for the potential file. + +As an example, if your LAMMPS simulation has three atom types and you want +the first two to be Mo, and the third to be S, you would use the following +pair_coeff command: + +.. code-block:: LAMMPS + + pair_coeff * * MoS.rebomos Mo Mo S + +The first 2 arguments must be \* \* so as to span all LAMMPS atom types. +The first two Mo arguments map LAMMPS atom types 1 and 2 to the Mo +element in the REBOMoS file. The final S argument maps LAMMPS atom type +3 to the S element in the REBOMoS file. If a mapping value is specified +as NULL, the mapping is not performed. This can be used when a +*rebomos* potential is used as part of the *hybrid* pair style. The +NULL values are placeholders for atom types that will be used with other +potentials. + +---------- + +.. include:: accel_styles.rst + +---------- + +Mixing, shift, table, tail correction, restart, rRESPA info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +This pair style does not support the :doc:`pair_modify ` +mix, shift, table, and tail options. + +This pair style does not write their information to :doc:`binary restart +files `, since it is stored in potential files. Thus, you need +to re-specify the pair_style and pair_coeff commands in an input script +that reads a restart file. + +This pair styles can only be used via the *pair* keyword of the +:doc:`run_style respa ` command. It does not support the +*inner*, *middle*, *outer* keywords. + +Restrictions +"""""""""""" + +This pair style is part of the MANYBODY package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` page for more info. + +These pair potentials require the :doc:`newton ` setting to be +"on" for pair interactions. + +The MoS.rebomos potential file provided with LAMMPS (see the potentials +directory) is parameterized for metal :doc:`units `. You can use +the *rebomos* pair style with any LAMMPS units setting, but you would +need to create your own REBOMoS potential file with coefficients listed +in the appropriate units. + +The pair style provided here **only** supports potential files parameterized +for the elements molybdenum and sulfur (designated with "Mo" and "S" in the +*pair_coeff* command. Using potential files for other elements will trigger +an error. + +Related commands +"""""""""""""""" + +:doc:`pair_coeff `, :doc:`pair style rebo ` + +Default +""""""" + +none + +---------- + +.. _Stewart: + +**(Steward)** Stewart, Spearot, Modelling Simul. Mater. Sci. Eng. 21, 045003, (2013). + +.. _Stuart2: + +**(Stuart)** Stuart, Tutein, Harrison, J Chem Phys, 112, 6472-6486, (2000). + +.. _Liang: + +**(Liang)** Liang, Phillpot, Sinnott Phys. Rev. B79 245110, (2009), Erratum: Phys. Rev. B85 199903(E), (2012) diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index a2467bff2b..74dfce6b01 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -275,30 +275,30 @@ accelerated styles exist. * :doc:`lj/smooth/linear ` - linear smoothed LJ potential * :doc:`lj/switch3/coulgauss/long ` - smoothed LJ vdW potential with Gaussian electrostatics * :doc:`lj96/cut ` - Lennard-Jones 9/6 potential -* :doc:`local/density ` - generalized basic local density potential -* :doc:`lubricate ` - hydrodynamic lubrication forces -* :doc:`lubricate/poly ` - hydrodynamic lubrication forces with polydispersity -* :doc:`lubricateU ` - hydrodynamic lubrication forces for Fast Lubrication Dynamics -* :doc:`lubricateU/poly ` - hydrodynamic lubrication forces for Fast Lubrication with polydispersity +* :doc:`local/density ` - Generalized basic local density potential +* :doc:`lubricate ` - Hydrodynamic lubrication forces +* :doc:`lubricate/poly ` - Hydrodynamic lubrication forces with polydispersity +* :doc:`lubricateU ` - Hydrodynamic lubrication forces for Fast Lubrication Dynamics +* :doc:`lubricateU/poly ` - Hydrodynamic lubrication forces for Fast Lubrication with polydispersity * :doc:`mdpd ` - mDPD particle interactions * :doc:`mdpd/rhosum ` - mDPD particle interactions for mass density -* :doc:`meam ` - modified embedded atom method (MEAM) -* :doc:`meam/ms ` - multi-state modified embedded atom method (MS-MEAM) -* :doc:`meam/spline ` - splined version of MEAM -* :doc:`meam/sw/spline ` - splined version of MEAM with a Stillinger-Weber term -* :doc:`mesocnt ` - mesoscopic vdW potential for (carbon) nanotubes -* :doc:`mesocnt/viscous ` - mesoscopic vdW potential for (carbon) nanotubes with friction -* :doc:`mgpt ` - simplified model generalized pseudopotential theory (MGPT) potential +* :doc:`meam ` - Modified embedded atom method (MEAM) +* :doc:`meam/ms ` - Multi-state modified embedded atom method (MS-MEAM) +* :doc:`meam/spline ` - Splined version of MEAM +* :doc:`meam/sw/spline ` - Splined version of MEAM with a Stillinger-Weber term +* :doc:`mesocnt ` - Mesoscopic vdW potential for (carbon) nanotubes +* :doc:`mesocnt/viscous ` - Mesoscopic vdW potential for (carbon) nanotubes with friction +* :doc:`mgpt ` - Simplified model generalized pseudopotential theory (MGPT) potential * :doc:`mie/cut ` - Mie potential -* :doc:`mm3/switch3/coulgauss/long ` - smoothed MM3 vdW potential with Gaussian electrostatics +* :doc:`mm3/switch3/coulgauss/long ` - Smoothed MM3 vdW potential with Gaussian electrostatics * :doc:`momb ` - Many-Body Metal-Organic (MOMB) force field * :doc:`morse ` - Morse potential -* :doc:`morse/smooth/linear ` - linear smoothed Morse potential +* :doc:`morse/smooth/linear ` - Linear smoothed Morse potential * :doc:`morse/soft ` - Morse potential with a soft core * :doc:`multi/lucy ` - DPD potential with density-dependent force * :doc:`multi/lucy/rx ` - reactive DPD potential with density-dependent force -* :doc:`nb3b/harmonic ` - non-bonded 3-body harmonic potential -* :doc:`nb3b/screened ` - non-bonded 3-body screened harmonic potential +* :doc:`nb3b/harmonic ` - Non-bonded 3-body harmonic potential +* :doc:`nb3b/screened ` - Non-bonded 3-body screened harmonic potential * :doc:`nm/cut ` - N-M potential * :doc:`nm/cut/coul/cut ` - N-M potential with cutoff Coulomb * :doc:`nm/cut/coul/long ` - N-M potential with long-range Coulomb @@ -322,20 +322,22 @@ accelerated styles exist. * :doc:`oxrna2/xstk ` - * :doc:`pace ` - Atomic Cluster Expansion (ACE) machine-learning potential * :doc:`pace/extrapolation ` - Atomic Cluster Expansion (ACE) machine-learning potential with extrapolation grades +* :doc:`pedone ` - Pedone (PMMCS) potential (non-Coulomb part) * :doc:`pod ` - Proper orthogonal decomposition (POD) machine-learning potential -* :doc:`peri/eps ` - peridynamic EPS potential -* :doc:`peri/lps ` - peridynamic LPS potential -* :doc:`peri/pmb ` - peridynamic PMB potential -* :doc:`peri/ves ` - peridynamic VES potential -* :doc:`polymorphic ` - polymorphic 3-body potential +* :doc:`peri/eps ` - Peridynamic EPS potential +* :doc:`peri/lps ` - Peridynamic LPS potential +* :doc:`peri/pmb ` - Peridynamic PMB potential +* :doc:`peri/ves ` - Peridynamic VES potential +* :doc:`polymorphic ` - Polymorphic 3-body potential * :doc:`python ` - * :doc:`quip ` - * :doc:`rann ` - * :doc:`reaxff ` - ReaxFF potential -* :doc:`rebo ` - second generation REBO potential of Brenner +* :doc:`rebo ` - Second generation REBO potential of Brenner +* :doc:`rebomos ` - REBOMoS potential for MoS2 * :doc:`resquared ` - Everaers RE-Squared ellipsoidal potential -* :doc:`saip/metal ` - interlayer potential for hetero-junctions formed with hexagonal 2D materials and metal surfaces -* :doc:`sdpd/taitwater/isothermal ` - smoothed dissipative particle dynamics for water at isothermal conditions +* :doc:`saip/metal ` - Interlayer potential for hetero-junctions formed with hexagonal 2D materials and metal surfaces +* :doc:`sdpd/taitwater/isothermal ` - Smoothed dissipative particle dynamics for water at isothermal conditions * :doc:`smatb ` - Second Moment Approximation to the Tight Binding * :doc:`smatb/single ` - Second Moment Approximation to the Tight Binding for single-element systems * :doc:`smd/hertz ` - diff --git a/doc/src/processors.rst b/doc/src/processors.rst index 921bbcc667..f909790304 100644 --- a/doc/src/processors.rst +++ b/doc/src/processors.rst @@ -25,6 +25,8 @@ Syntax *numa* params = none *custom* params = infile infile = file containing grid layout + *numa_nodes* arg = Nn + Nn = number of numa domains per node *map* arg = *cart* or *cart/reorder* or *xyz* or *xzy* or *yxz* or *yzx* or *zxy* or *zyx* cart = use MPI_Cart() methods to map processors to 3d grid with reorder = 0 cart/reorder = use MPI_Cart() methods to map processors to 3d grid with reorder = 1 @@ -157,26 +159,30 @@ surface-to-volume ratio of each processor's subdomain. for most MPI implementations, but some MPIs provide options for this ordering, e.g. via environment variable settings. -The *numa* style operates similar to the *twolevel* keyword except -that it auto-detects which cores are running on which nodes. -Currently, it does this in only 2 levels, but it may be extended in -the future to account for socket topology and other non-uniform memory -access (NUMA) costs. It also uses a different algorithm than the -*twolevel* keyword for doing the two-level factorization of the -simulation box into a 3d processor grid to minimize off-node -communication, and it does its own MPI-based mapping of nodes and -cores to the regular 3d grid. Thus it may produce a different layout -of the processors than the *twolevel* options. +The *numa* style operates similar to the *twolevel* keyword except that +it auto-detects which cores are running on which nodes. It will also +subdivide the cores into numa domains. Currently, the number of numa +domains is not auto-detected and must be specified using the +*numa_nodes* keyword; otherwise, the default value is used. The *numa* +style uses a different algorithm than the *twolevel* keyword for doing +the two-level factorization of the simulation box into a 3d processor +grid to minimize off-node communication and communication across numa +domains. It does its own MPI-based mapping of nodes and cores to the +regular 3d grid. Thus it may produce a different layout of the +processors than the *twolevel* options. The *numa* style will give an error if the number of MPI processes is not divisible by the number of cores used per node, or any of the Px -or Py of Pz values is greater than 1. +or Py or Pz values is greater than 1. .. note:: Unlike the *twolevel* style, the *numa* style does not require - any particular ordering of MPI ranks i norder to work correctly. This + any particular ordering of MPI ranks in order to work correctly. This is because it auto-detects which processes are running on which nodes. + However, it assumes that the lowest ranks are in the first numa + domain, and so forth. MPI rank orderings that do not preserve this + property might result in more intra-node communication between CPUs. The *custom* style uses the file *infile* to define both the 3d factorization and the mapping of processors to the grid. @@ -207,6 +213,14 @@ any order, but no processor ID should appear more than once. ---------- +The *numa_nodes* keyword is used to specify the number of numa domains +per node. It is currently only used by the *numa* style for two-level +factorization to reduce the amount of MPI communications between CPUs. +A good setting for this will typically be equal to the number of CPU +sockets per node. + +---------- + The *map* keyword affects how the P processor IDs (from 0 to P-1) are mapped to the 3d grid of processors. It is only used by the *onelevel* and *twolevel* grid settings. @@ -356,5 +370,5 @@ Related commands Default """"""" -The option defaults are Px Py Pz = \* \* \*, grid = onelevel, and map = -cart. +The option defaults are Px Py Pz = \* \* \*, grid = onelevel, map = +cart, and numa_nodes = 2. diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 0ecd2b6fa2..dd2f42e2a8 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -63,11 +63,16 @@ Description Read in a data file containing information LAMMPS needs to run a simulation. The file can be ASCII text or a gzipped text file -(detected by a .gz suffix). This is one of 3 ways to specify initial -atom coordinates; see the :doc:`read_restart ` and -:doc:`create_atoms ` commands for alternative methods. -Also see the explanation of the :doc:`-restart command-line switch -` which can convert a restart file to a data file. +(detected by a .gz suffix). + +This is one of 3 ways to specify the simulation box: see the +:doc:`create_box ` and :doc:`read_restart ` +and commands for alternative methods. It is also one of 3 ways to +specify initial atom coordinates: see the :doc:`create_atoms +` and :doc:`read_restart ` and commands +for alternative methods. Also see the explanation of the +:doc:`-restart command-line switch ` which can convert a +restart file to a data file. This command can be used multiple times to add new atoms and their properties to an existing system by using the *add*, *offset*, and @@ -122,37 +127,55 @@ keyword must be used. .. note:: - The simulation box size (xlo to xhi, ylo to yhi, zlo to zhi) in - the new data file will be merged with the existing simulation box to - create a large enough box in each dimension to contain both the - existing and new atoms. Each box dimension never shrinks due to this - merge operation, it only stays the same or grows. Care must be used if - you are growing the existing simulation box in a periodic dimension. - If there are existing atoms with bonds that straddle that periodic - boundary, then the atoms may become far apart if the box size grows. - This will separate the atoms in the bond, which can lead to "lost" - bond atoms or bad dynamics. + If the first read_data command defined an orthogonal or restricted + triclinic or general triclinic simulation box (see the sub-section + below on header keywords), then subsequent data files must define + the same kind of simulation box. For orthogonal boxes, the new box + can be a different size; see the next Note. For a restricted + triclinic box, the 3 new tilt factors ("xy xz yz" keyword) must + have the same values as in the original data file. For a general + triclinic box, the new avec, bvec, cvec, and "abc origin" keywords + must have the same values in the original data file. files. Also + the *shift* keyword cannot be used in subsequent read_data commands + for a general triclinic box. + +.. note:: + + For orthogonal boxes, the simulation box size in the new data file + will be merged with the existing simulation box to create a large + enough box in each dimension to contain both the existing and new + atoms. Each box dimension never shrinks due to this merge + operation, it only stays the same or grows. Care must be used if + you are growing the existing simulation box in a periodic + dimension. If there are existing atoms with bonds that straddle + that periodic boundary, then the atoms may become far apart if the + box size grows. This will separate the atoms in the bond, which + can lead to "lost" bond atoms or bad dynamics. The three choices for the *add* argument affect how the atom IDs and -molecule IDs of atoms in the data file are treated. If *append* is -specified, atoms in the data file are added to the current system, -with their atom IDs reset so that an atom-ID = M in the data file -becomes atom-ID = N+M, where N is the largest atom ID in the current -system. This rule is applied to all occurrences of atom IDs in the -data file, e.g. in the Velocity or Bonds section. This is also done -for molecule IDs, if the atom style does support molecule IDs or -they are enabled via fix property/atom. If *IDoffset* is specified, -then *IDoffset* is a numeric value is given, e.g. 1000, so that an -atom-ID = M in the data file becomes atom-ID = 1000+M. For systems -with enabled molecule IDs, another numerical argument *MOLoffset* -is required representing the equivalent offset for molecule IDs. -If *merge* is specified, the data file atoms -are added to the current system without changing their IDs. They are -assumed to merge (without duplication) with the currently defined -atoms. It is up to you to ensure there are no multiply defined atom -IDs, as LAMMPS only performs an incomplete check that this is the case -by ensuring the resulting max atom-ID >= the number of atoms. For -molecule IDs, there is no check done at all. +molecule IDs of atoms in the data file are treated. + +If *append* is specified, atoms in the data file are added to the +current system, with their atom IDs reset so that an atom-ID = M in +the data file becomes atom-ID = N+M, where N is the largest atom ID in +the current system. This rule is applied to all occurrences of atom +IDs in the data file, e.g. in the Velocity or Bonds section. This is +also done for molecule IDs, if the atom style does support molecule +IDs or they are enabled via fix property/atom. + +If *IDoffset* is specified, then *IDoffset* is a numeric value is +given, e.g. 1000, so that an atom-ID = M in the data file becomes +atom-ID = 1000+M. For systems with enabled molecule IDs, another +numerical argument *MOLoffset* is required representing the equivalent +offset for molecule IDs. + +If *merge* is specified, the data file atoms are added to the current +system without changing their IDs. They are assumed to merge (without +duplication) with the currently defined atoms. It is up to you to +ensure there are no multiply defined atom IDs, as LAMMPS only performs +an incomplete check that this is the case by ensuring the resulting +max atom-ID >= the number of atoms. For molecule IDs, there is no +check done at all. The *offset* and *shift* keywords can only be used if the *add* keyword is also specified. @@ -288,13 +311,16 @@ Format of the header of a data file """"""""""""""""""""""""""""""""""" These are the recognized header keywords. Header lines can come in -any order. The value(s) are read from the beginning of the line. +any order. Each keyword takes a single value unless noted in this +list. The value(s) are read from the beginning of the line. Thus the keyword *atoms* should be in a line like "1000 atoms"; the keyword *ylo yhi* should be in a line like "-10.0 10.0 ylo yhi"; the keyword *xy xz yz* should be in a line like "0.0 5.0 6.0 xy xz yz". -All these settings have a default value of 0, except the lo/hi box -size defaults are -0.5 and 0.5. A line need only appear if the value -is different than the default. + +All these settings have a default value of 0, except for the +simulation box size settings; their defaults are explained below. A +keyword line need only appear if its value is different than the +default. * *atoms* = # of atoms in system * *bonds* = # of bonds in system @@ -315,81 +341,178 @@ is different than the default. * *lines* = # of line segments in system * *triangles* = # of triangles in system * *bodies* = # of bodies in system -* *xlo xhi* = simulation box boundaries in x dimension -* *ylo yhi* = simulation box boundaries in y dimension -* *zlo zhi* = simulation box boundaries in z dimension -* *xy xz yz* = simulation box tilt factors for triclinic system +* *xlo xhi* = simulation box boundaries in x dimension (2 values) +* *ylo yhi* = simulation box boundaries in y dimension (2 values) +* *zlo zhi* = simulation box boundaries in z dimension (2 values) +* *xy xz yz* = simulation box tilt factors for triclinic system (3 values) +* *avec* = first edge vector of a general triclinic simulation box (3 values) +* *bvec* = second edge vector of a general triclinic simulation box (3 values) +* *cvec* = third edge vector of a general triclinic simulation box (3 values) +* *abc origin* = origin of a general triclinic simulation box (3 values) -The initial simulation box size is determined by the lo/hi settings. -In any dimension, the system may be periodic or non-periodic; see the -:doc:`boundary ` command. When the simulation box is created -it is also partitioned into a regular 3d grid of rectangular bricks, -one per processor, based on the number of processors being used and -the settings of the :doc:`processors ` command. The -partitioning can later be changed by the :doc:`balance ` or -:doc:`fix balance ` commands. +---------- -If the *xy xz yz* line does not appear, LAMMPS will set up an -axis-aligned (orthogonal) simulation box. If the line does appear, -LAMMPS creates a non-orthogonal simulation domain shaped as a -parallelepiped with triclinic symmetry. The parallelepiped has its -"origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting -from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C = -(xz,yz,zhi-zlo). *Xy,xz,yz* can be 0.0 or positive or negative values -and are called "tilt factors" because they are the amount of -displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped. +Header specification of the simulation box size and shape +""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -The tilt factors (xy,xz,yz) should not skew the box more than half the -distance of the corresponding parallel box length. For example, if -:math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the :math:`x` -box length is 10 and the :math:`xy` tilt factor must be between -:math:`-5` and :math:`5`. Similarly, both :math:`xz` and :math:`yz` -must be between :math:`-(x_\text{hi}-x_\text{lo})/2` and -:math:`+(y_\text{hi}-y_\text{lo})/2`. Note that this is not a -limitation, since if the maximum tilt factor is 5 (as in this example), -then configurations with tilt :math:`= \dots, -15`, :math:`-5`, -:math:`5`, :math:`15`, :math:`25, \dots` are all geometrically -equivalent. Simulations with large tilt factors will run inefficiently, -since they require more ghost atoms and thus more communication. With -very large tilt factors, LAMMPS will eventually produce incorrect -trajectories and stop with errors due to lost atoms or similar. +The last 8 keywords in the list of header keywords are for simulation +boxes of 3 kinds which LAMMPS supports: -See the :doc:`Howto triclinic ` page for a -geometric description of triclinic boxes, as defined by LAMMPS, and -how to transform these parameters to and from other commonly used -triclinic representations. +* orthogonal box = faces are perpendicular to the xyz coordinate axes +* restricted triclinic box = a parallelepiped defined by 3 edge vectors oriented in a constrained manner +* general triclinic box = a parallelepiped defined by 3 arbitrary edge vectors -When a triclinic system is used, the simulation domain should normally -be periodic in the dimension that the tilt is applied to, which is -given by the second dimension of the tilt factor (e.g. y for xy tilt). -This is so that pairs of atoms interacting across that boundary will -have one of them shifted by the tilt factor. Periodicity is set by -the :doc:`boundary ` command. For example, if the xy tilt -factor is non-zero, then the y dimension should be periodic. -Similarly, the z dimension should be periodic if xz or yz is non-zero. -LAMMPS does not require this periodicity, but you may lose atoms if -this is not the case. +For restricted and general triclinic boxes, see the +:doc:`Howto_triclinic ` doc page for a fuller +description than is given here. -Also note that if your simulation will tilt the box, e.g. via the -:doc:`fix deform ` command, the simulation box must be setup -to be triclinic, even if the tilt factors are initially 0.0. You can -also change an orthogonal box to a triclinic box or vice versa by using -the :doc:`change box ` command with its *ortho* and -*triclinic* options. +The units of the values for all 8 keywords in in distance units; see +the :doc:`units ` command for details. -For 2d simulations, the *zlo zhi* values should be set to bound the z -coords for atoms that appear in the file; the default of -0.5 0.5 is -valid if all z coords are 0.0. For 2d triclinic simulations, the xz -and yz tilt factors must be 0.0. +For all 3 kinds of simulation boxes, the system may be periodic or +non-periodic in any dimension; see the :doc:`boundary ` +command for details. + +When the simulation box is created by the read_data command, it is +also partitioned into a regular 3d grid of subdomains, one per +processor, based on the number of processors being used and the +settings of the :doc:`processors ` command. For each kind +of simulation box the subdomains have the same shape as the simulation +box, i.e. smaller orthogonal bricks for orthogonal boxes, smaller +parallelepipeds for triclinic boxes. The partitioning can later be +changed by the :doc:`balance ` or :doc:`fix balance +` commands. + +For an orthogonal box, only the *xlo xhi*, *ylo yhi*, *zlo zhi* +keywords are used. They define the extent of the simulation box in +each dimension so that the resulting edge vectors of an orthogonal box +are: + +* **A** = (xhi-xlo,0,0) +* **B** = (0,yhi-ylo,0) +* **C** = (0,0,zhi-zlo) + +The origin (lower left corner) of the orthogonal box is at +(xlo,ylo,zlo). The default values for these 3 keywords are -0.5 and +0.5 for each lo/hi pair. For a 2d simulation, the zlo and zhi values +must straddle zero. The default zlo/zhi values do this, so that +keyword is not needed in 2d. + +For a restricted triclinic box, the *xy xz yz* keyword is used in +addition to the *xlo xhi*, *ylo yhi*, *zlo zhi* keywords. The three +*xy,xz,yz* values can be 0.0 or positive or negative, and are called +"tilt factors" because they are the amount of displacement applied to +edges of faces of an orthogonal box to transform it into a restricted +triclinic parallelepiped. + +The :doc:`Howto_triclinic ` doc page discusses the +tilt factors in detail and explains that the resulting edge vectors of +a restricted triclinic box are: + +* **A** = (xhi-xlo,0,0) +* **B** = (xy,yhi-ylo,0) +* **C** = (xz,yz,zhi-zlo) + +This restricted form of edge vectors requires that **A** be in the +direction of the x-axis, **B** be in the xy plane with its y-component +in the +y direction, and **C** have its z-component in the +z +direction. The origin (lower left corner) of the restricted triclinic +box is at (xlo,ylo,zlo). + +For a 2d simulation, the zlo and zhi values must straddle zero. The +default zlo/zhi values do this, so that keyword is not needed in 2d. +The xz and yz values must also be zero in 2d. The shape of the 2d +restricted triclinic simulation box is effectively a parallelogram. + +.. note:: + + When a restricted triclinic box is used, the simulation domain + should normally be periodic in any dimensions that tilt is applied + to, which is given by the second dimension of the tilt factor + (e.g. y for xy tilt). This is so that pairs of atoms interacting + across that boundary will have one of them shifted by the tilt + factor. Periodicity is set by the :doc:`boundary ` + command which also describes the shifting by the tilt factor. For + example, if the xy tilt factor is non-zero, then the y dimension + should be periodic. Similarly, the z dimension should be periodic + if xz or yz is non-zero. LAMMPS does not require this periodicity, + but you may lose atoms if this is not the case. + +.. note:: + + Normally, the specified tilt factors (xy,xz,yz) should not skew the + simulation box by more than half the distance of the corresponding + parallel box length for computational efficiency. For example, if + :math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the + :math:`x` box length is 10 and the :math:`xy` tilt factor should be + between :math:`-5` and :math:`5`. LAMMPS will issue a warning if + this is not the case. See the last sub-section of the + :doc:`Howto_triclinic ` doc page for more details. + +.. note:: + + If a simulation box is initially orthogonal, but will tilt during a + simulation, e.g. via the :doc:`fix deform ` command, + then the box should be defined as restricted triclinic with all 3 + tilt factors = 0.0. Alternatively, the :doc:`change box + ` command can be used to convert an orthogonal box to a + restricted triclinic box. + +For a general triclinic box, the *avec*, *bvec*, *cvec*, and *abc +origin* keywords are used. The *xlo xhi*, *ylo yhi*, *zlo zhi*, and +*xy xz yz* keywords are NOT used. The first 3 keywords define the 3 +edge vectors **A**, **B**, **C** of the general triclinic box. They +can be arbitrary vectors so long as they are distinct, non-zero, and +not co-planar. They must also define a right-handed system such that +(**A** x **B**) points in the direction of **C**. Note that a +left-handed system can be converted to a right-handed system by simply +swapping the order of any pair of the **A**, **B**, **C** vectors. +The origin of the box (origin of the 3 edge vectors) is set by the +*abc origin* keyword. + +The default values for these 4 keywords are as follows: + +* avec = (1,0,0) +* bvec = (0,1,0) +* cvec = (0,0,1) +* abc origin = (0,0,0) for 3d, (0,0,-0.5) for 2d + +For 2d simulations, *cvec* = (0,0,1) is required, and the 3rd value of +*abc origin* must be -0.5. These are the default values, so the +*cvec* keyword is not needed in 2d. + +.. note:: + + LAMMPS allows specification of general triclinic simulation boxes + as a convenience for users who may be converting data from + solid-state crystallographic representations or from DFT codes for + input to LAMMPS. However, as explained on the + :doc:`Howto_triclinic ` doc page, internally, + LAMMPS only uses restricted triclinic simulation boxes. This means + the box and per-atom information (e.g. coordinates, velocities) in + the data file are converted (rotated) from general to restricted + triclinic form when the file is read. Other sections of the data + file must also list their per-atom data appropriately if vector + quantities are specified. This requirement is explained below for + the relevant sections. The :doc:`Howto_triclinic + ` doc page also discusses other LAMMPS commands + which can input/output general triclinic representations of the + simulation box and per-atom data. + +The following explanations apply to all 3 kinds of simulation boxes: +orthogonal, restricted triclinic, and general triclinic. If the system is periodic (in a dimension), then atom coordinates can be outside the bounds (in that dimension); they will be remapped (in a -periodic sense) back inside the box. Note that if the *add* option is -being used to add atoms to a simulation box that already exists, this -periodic remapping will be performed using simulation box bounds that -are the union of the existing box and the box boundaries in the new -data file. +periodic sense) back inside the box. For triclinic boxes, periodicity +in x,y,z refers to the faces of the parallelepiped defined by the +**A**,**B**,**C** edge vectors of the simulation box. See the +:doc:`boundary ` command doc page for a fuller discussion. + +Note that if the *add* option is being used to add atoms to a +simulation box that already exists, this periodic remapping will be +performed using simulation box bounds that are the union of the +existing box and the box boundaries in the new data file. If the system is non-periodic (in a dimension), then an image flag for that direction has no meaning, since there cannot be periodic images @@ -406,7 +529,6 @@ individually back into the principal unit cell in that direction. This operation is equivalent to the behavior of the :doc:`change_box command ` when used to change periodicity. - If those atoms with non-zero image flags are involved in bonded interactions, this reset can lead to undesired changes, when the image flag values differ between the atoms, i.e. the bonded interaction @@ -421,73 +543,81 @@ needed, so that the image flag would be zero. .. note:: - If the system is non-periodic (in a dimension), then all atoms in the - data file must have coordinates (in that dimension) that are "greater - than or equal to" the lo value and "less than or equal to" the hi - value. If the non-periodic dimension is of style "fixed" (see the - :doc:`boundary ` command), then the atom coords must be - strictly "less than" the hi value, due to the way LAMMPS assign atoms - to processors. Note that you should not make the lo/hi values - radically smaller/larger than the extent of the atoms. For example, - if your atoms extend from 0 to 50, you should not specify the box - bounds as -10000 and 10000 unless you also use the :doc:`processors - command `. This is because LAMMPS uses the specified box - size to layout the 3d grid of processors. A huge (mostly empty) box - will be sub-optimal for performance when using "fixed" boundary - conditions (see the :doc:`boundary ` command). When using - "shrink-wrap" boundary conditions (see the :doc:`boundary ` - command), a huge (mostly empty) box may cause a parallel simulation - to lose atoms when LAMMPS shrink-wraps the box around the atoms. The - read_data command will generate an error in this case. + If the system is non-periodic (in a dimension), then all atoms in + the data file must have coordinates (in that dimension) that are + "greater than or equal to" the lo value and "less than or equal to" + the hi value. If the non-periodic dimension is of style "fixed" + (see the :doc:`boundary ` command), then the atom coords + must be strictly "less than" the hi value, due to the way LAMMPS + assign atoms to processors. Note that you should not make the + lo/hi values radically smaller/larger than the extent of the atoms. + For example, if atoms extend from 0 to 50, you should not specify + the box bounds as -10000 and 10000 unless you also use the + :doc:`processors command `. This is because LAMMPS + uses the specified box size to layout the 3d grid of processors. A + huge (mostly empty) box will be sub-optimal for performance when + using "fixed" boundary conditions (see the :doc:`boundary + ` command). When using "shrink-wrap" boundary conditions + (see the :doc:`boundary ` command), a huge (mostly empty) + box may cause a parallel simulation to lose atoms when LAMMPS + shrink-wraps the box around the atoms. The read_data command will + generate an error in this case. + +---------- + +Meaning of other header keywords +"""""""""""""""""""""""""""""""" The "extra bond per atom" setting (angle, dihedral, improper) is only needed if new bonds (angles, dihedrals, impropers) will be added to -the system when a simulation runs, e.g. by using the :doc:`fix bond/create ` command. Using this header flag -is deprecated; please use the *extra/bond/per/atom* keyword (and +the system when a simulation runs, e.g. by using the :doc:`fix +bond/create ` command. Using this header flag is +deprecated; please use the *extra/bond/per/atom* keyword (and correspondingly for angles, dihedrals and impropers) in the read_data command instead. Either will pre-allocate space in LAMMPS data structures for storing the new bonds (angles, dihedrals, impropers). The "extra special per atom" setting is typically only needed if new -bonds/angles/etc will be added to the system, e.g. by using the :doc:`fix bond/create ` command. Or if entire new molecules -will be added to the system, e.g. by using the -:doc:`fix deposit ` or :doc:`fix pour ` commands, -which will have more special 1-2,1-3,1-4 neighbors than any other -molecules defined in the data file. Using this header flag is -deprecated; please use the *extra/special/per/atom* keyword instead. -Using this setting will pre-allocate space in the LAMMPS data -structures for storing these neighbors. See the -:doc:`special_bonds ` and :doc:`molecule ` doc -pages for more discussion of 1-2,1-3,1-4 neighbors. +bonds/angles/etc will be added to the system, e.g. by using the +:doc:`fix bond/create ` command. Or if entire new +molecules will be added to the system, e.g. by using the :doc:`fix +deposit ` or :doc:`fix pour ` commands, which +will have more special 1-2,1-3,1-4 neighbors than any other molecules +defined in the data file. Using this header flag is deprecated; +please use the *extra/special/per/atom* keyword instead. Using this +setting will pre-allocate space in the LAMMPS data structures for +storing these neighbors. See the :doc:`special_bonds ` +and :doc:`molecule ` doc pages for more discussion of +1-2,1-3,1-4 neighbors. .. note:: - All of the "extra" settings are only applied in the first data - file read and when no simulation box has yet been created; as soon as + All of the "extra" settings are only applied in the first data file + read and when no simulation box has yet been created; as soon as the simulation box is created (and read_data implies that), these settings are *locked* and cannot be changed anymore. Please see the - description of the *add* keyword above for reading multiple data files. - If they appear in later data files, they are ignored. + description of the *add* keyword above for reading multiple data + files. If they appear in later data files, they are ignored. The "ellipsoids" and "lines" and "triangles" and "bodies" settings are -only used with :doc:`atom_style ellipsoid or line or tri or body ` and specify how many of the atoms are -finite-size ellipsoids or lines or triangles or bodies; the remainder -are point particles. See the discussion of ellipsoidflag and the -*Ellipsoids* section below. See the discussion of lineflag and the -*Lines* section below. See the discussion of triangleflag and the -*Triangles* section below. See the discussion of bodyflag and the -*Bodies* section below. +only used with :doc:`atom_style ellipsoid or line or tri or body +` and specify how many of the atoms are finite-size +ellipsoids or lines or triangles or bodies; the remainder are point +particles. See the discussion of ellipsoidflag and the *Ellipsoids* +section below. See the discussion of lineflag and the *Lines* section +below. See the discussion of triangleflag and the *Triangles* section +below. See the discussion of bodyflag and the *Bodies* section below. .. note:: - For :doc:`atom_style template `, the molecular - topology (bonds,angles,etc) is contained in the molecule templates - read-in by the :doc:`molecule ` command. This means you - cannot set the *bonds*, *angles*, etc header keywords in the data - file, nor can you define *Bonds*, *Angles*, etc sections as discussed + For :doc:`atom_style template `, the molecular topology + (bonds,angles,etc) is contained in the molecule templates read-in + by the :doc:`molecule ` command. This means you cannot + set the *bonds*, *angles*, etc header keywords in the data file, + nor can you define *Bonds*, *Angles*, etc sections as discussed below. You can set the *bond types*, *angle types*, etc header - keywords, though it is not necessary. If specified, they must match - the maximum values defined in any of the template molecules. + keywords, though it is not necessary. If specified, they must + match the maximum values defined in any of the template molecules. ---------- @@ -680,6 +810,19 @@ appended to it, which indicate which image of a periodic simulation box the atom is in. These may be important to include for some kinds of analysis. +.. note:: + + For orthogonal and restricted and general triclinic simulation + boxes, the atom coordinates (x,y,z) listed in this section should + be inside the corresponding simulation box. For restricted + triclinic boxes that means the parallelepiped defined by the *xlo + xhi*, *ylo yhi*, *zlo zhi*, and *xy xz yz*, keywords. For general + triclinic boxes that means the parallelepiped defined by the 3 edge + vectors and origin specified by the *avec*, *bvec*, *cvec*, and + *abc origin* header keywords. See the discussion in the header + section above about how atom coordinates outside the simulation box + are (or are not) remapped to be inside the box. + .. list-table:: * - angle @@ -690,10 +833,12 @@ of analysis. - atom-ID atom-type bodyflag mass x y z * - bond - atom-ID molecule-ID atom-type x y z + * - bpm/sphere + - atom-ID molecule-ID atom-type diameter density x y z * - charge - atom-ID atom-type q x y z * - dielectric - - atom-ID atom-type q x y z normx normy normz area ed em epsilon curvature + - atom-ID atom-type q x y z mux muy muz area ed em epsilon curvature * - dipole - atom-ID atom-type q x y z mux muy muz * - dpd @@ -720,8 +865,6 @@ of analysis. - atom-ID atom-type rho esph cv x y z * - sphere - atom-ID atom-type diameter density x y z - * - bpm/sphere - - atom-ID molecule-ID atom-type diameter density x y z * - spin - atom-ID atom-type x y z spx spy spz sp * - tdpd @@ -757,24 +900,42 @@ The per-atom values have these meanings and units, listed alphabetically: * lineflag = 1 for line segment particles, 0 for point or spherical particles * mass = mass of particle (mass units) * molecule-ID = integer ID of molecule the atom belongs to -* mux,muy,muz = components of dipole moment of atom (dipole units) +* mux,muy,muz = components of dipole moment of atom (dipole units) (see general triclinic note below) * q = charge on atom (charge units) * rho = density (need units) for SPH particles * sp = magnitude of magnetic spin of atom (Bohr magnetons) -* spx,spy,spz = components of magnetic spin of atom (unit vector) +* spx,spy,spz = components of magnetic spin of atom (unit vector) (see general triclinic note below) * template-atom = which atom within a template molecule the atom is * template-index = which molecule within the molecule template the atom is part of * theta = internal temperature of a DPD particle * triangleflag = 1 for triangular particles, 0 for point or spherical particles * volume = volume of Peridynamic particle (distance\^3 units) * x,y,z = coordinates of atom (distance units) -* x0,y0,z0 = original (strain-free) coordinates of atom (distance units) +* x0,y0,z0 = original (strain-free) coordinates of atom (distance + units) (see general triclinic note below) The units for these quantities depend on the unit style; see the :doc:`units ` command for details. -For 2d simulations specify z as 0.0, or a value within the *zlo zhi* -setting in the data file header. +For 2d simulations, the atom coordinate z must be specified as 0.0. +If the data file is created by another program, then z values for a 2d +simulation can be within epsilon of 0.0, and LAMMPS will force them to +zero. + +.. note:: + + If the data file defines a general triclinic box, then the + following per-atom values in the list above are per-atom vectors + which imply an orientation: (mux,muy,muz) and (spx,spy,spz). This + means they should be specified consistent with the general + triclinic box and its orientation relative to the standard x,y,z + coordinate axes. For example a dipole moment vector which will be + in the +x direction once LAMMPS converts from a general to + restricted triclinic box, should be specified in the data file in + the direction of the **A** edge vector. Likewise the (x0,y0,z0) + per-atom strain-free coordinates should be inside the general + triclinic simulation box as explained in the note above. See the + :doc:`Howto triclinic ` doc page for more details. The atom-ID is used to identify the atom throughout the simulation and in dump files. Normally, it is a unique value from 1 to Natoms for @@ -922,9 +1083,8 @@ that use unwrapped coordinates internally are as follows: Atom velocities and other atom quantities not defined above are set to 0.0 when the *Atoms* section is read. Velocities can be set later by -a *Velocities* section in the data file or by a -:doc:`velocity ` or :doc:`set ` command in the input -script. +a *Velocities* section in the data file or by a :doc:`velocity +` or :doc:`set ` command in the input script. ---------- @@ -963,8 +1123,9 @@ the "bodies" keyword. Each body can have a variable number of integer and/or floating-point values. The number and meaning of the values is defined by the body -style, as described in the :doc:`Howto body ` doc page. The -body style is given as an argument to the :doc:`atom_style body ` command. +style, as described in the :doc:`Howto body ` doc page. +The body style is given as an argument to the :doc:`atom_style body +` command. The Ninteger and Ndouble values determine how many integer and floating-point values are specified for this particle. Ninteger and @@ -1179,10 +1340,10 @@ and a general discussion of how type labels can be used. 12 1 2 1 1 0 0 0 -The *Ellipsoids* section must appear if :doc:`atom_style ellipsoid ` is used and any atoms are listed in the -*Atoms* section with an ellipsoidflag = 1. The number of ellipsoids -should be specified in the header section via the "ellipsoids" -keyword. +The *Ellipsoids* section must appear if :doc:`atom_style ellipsoid +` is used and any atoms are listed in the *Atoms* section +with an ellipsoidflag = 1. The number of ellipsoids should be +specified in the header section via the "ellipsoids" keyword. The 3 shape values specify the 3 diameters or aspect ratios of a finite-size ellipsoidal particle, when it is oriented along the 3 @@ -1200,6 +1361,12 @@ the quaternion that represents its new orientation is given by LAMMPS normalizes each atom's quaternion in case (a,b,c) is not specified as a unit vector. +If the data file defines a general triclinic box, then the quaternion +for each ellipsoid should be specified for its orientation relative to +the standard x,y,z coordinate axes. When the system is converted to a +restricted triclinic box, the ellipsoid quaternions will be altered to +reflect the new orientation of the ellipsoid. + The *Ellipsoids* section must appear after the *Atoms* section. ---------- @@ -1316,13 +1483,24 @@ is used and any atoms are listed in the *Atoms* section with a lineflag = 1. The number of lines should be specified in the header section via the "lines" keyword. -The 2 end points are the end points of the line segment. The ordering -of the 2 points should be such that using a right-hand rule to cross -the line segment with a unit vector in the +z direction, gives an -"outward" normal vector perpendicular to the line segment. +The 2 end points are the end points of the line segment. They should +be values close to the center point of the line segment specified in +the Atoms section of the data file, even if individual end points are +outside the simulation box. + +The ordering of the 2 points should be such that using a right-hand +rule to cross the line segment with a unit vector in the +z direction, +gives an "outward" normal vector perpendicular to the line segment. I.e. normal = (c2-c1) x (0,0,1). This orientation may be important for defining some interactions. +If the data file defines a general triclinic box, then the x1,y1 and +x2,y2 values for each line segment should be specified for its +orientation relative to the standard x,y,z coordinate axes. When the +system is converted to a restricted triclinic box, the x1,y1,x2,y2 +values will be altered to reflect the new orientation of the line +segment. + The *Lines* section must appear after the *Atoms* section. ---------- @@ -1444,15 +1622,27 @@ via the :doc:`pair_coeff ` command in the input script. 12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 -The *Triangles* section must appear if :doc:`atom_style tri ` is used and any atoms are listed in the *Atoms* -section with a triangleflag = 1. The number of lines should be -specified in the header section via the "triangles" keyword. +The *Triangles* section must appear if :doc:`atom_style tri +` is used and any atoms are listed in the *Atoms* section +with a triangleflag = 1. The number of lines should be specified in +the header section via the "triangles" keyword. -The 3 corner points are the corner points of the triangle. The -ordering of the 3 points should be such that using a right-hand rule -to go from point1 to point2 to point3 gives an "outward" normal vector -to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1). This -orientation may be important for defining some interactions. +The 3 corner points are the corner points of the triangle. They +should be values close to the center point of the triangle specified +in the Atoms section of the data file, even if individual corner +points are outside the simulation box. + +The ordering of the 3 points should be such that using a right-hand +rule to go from point1 to point2 to point3 gives an "outward" normal +vector to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1). +This orientation may be important for defining some interactions. + +If the data file defines a general triclinic box, then the x1,y1,z1 +and x2,y2,z2 and x3,y3,z3 values for each triangle should be specified +for its orientation relative to the standard x,y,z coordinate axes. +When the system is converted to a restricted triclinic box, the +x1,y1,z1,x2,y2,z2,x3,y3,z3 values will be altered to reflect the new +orientation of the triangle. The *Triangles* section must appear after the *Atoms* section. @@ -1493,6 +1683,12 @@ Vx, vy, vz, and ervel are in :doc:`units ` of velocity. Lx, ly, lz are in units of angular momentum (distance-velocity-mass). Wx, Wy, Wz are in units of angular velocity (radians/time). +If the data file defines a general triclinic box, then each of the 3 +vectors (translational velocity, angular momentum, angular velocity) +should be specified for the rotated coordinate axes of the general +triclinic box. See the :doc:`Howto triclinic ` doc +page for more details. + For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz), specific values for each sub-style must be listed. The order of the sub-styles is the same as they were listed in the @@ -1513,8 +1709,8 @@ fields: atom-ID vx vy vz ervel wx wy wz -Translational velocities can also be set by the -:doc:`velocity ` command in the input script. +Translational velocities can also be (re)set by the :doc:`velocity +` command in the input script. ---------- diff --git a/doc/src/replicate.rst b/doc/src/replicate.rst index 6bfbeab891..8713ea2f95 100644 --- a/doc/src/replicate.rst +++ b/doc/src/replicate.rst @@ -8,56 +8,118 @@ Syntax .. code-block:: LAMMPS - replicate nx ny nz *keyword* + replicate nx ny nz keyword ... nx,ny,nz = replication factors in each dimension -* optional *keyword* = *bbox* +* zero or more keywords may be appended +* keyword = *bbox* or *bond/periodic* .. parsed-literal:: - *bbox* = only check atoms in replicas that overlap with a processor's subdomain + *bbox* = use a bounding-box algorithm which is faster for large proc counts + *bond/periodic* = use an algorithm that correctly replicates periodic bond loops Examples """""""" +For examples of replicating simple linear polymer chains (periodic or +non-periodic) or periodic carbon nanotubes, see examples/replicate. + .. code-block:: LAMMPS replicate 2 3 2 + replicate 2 3 2 bbox + replicate 2 3 2 bond/periodic Description """"""""""" -Replicate the current simulation one or more times in each dimension. -For example, replication factors of 2,2,2 will create a simulation -with 8x as many atoms by doubling the simulation domain in each -dimension. A replication factor of 1 in a dimension leaves the -simulation domain unchanged. When the new simulation box is created -it is also partitioned into a regular 3d grid of rectangular bricks, -one per processor, based on the number of processors being used and -the settings of the :doc:`processors ` command. The -partitioning can later be changed by the :doc:`balance ` or -:doc:`fix balance ` commands. +Replicate the current system one or more times in each dimension. For +example, replication factors of 2,2,2 will create a simulation with 8x +as many atoms by doubling the size of the simulation box in each +dimension. A replication factor of 1 leaves the simulation domain +unchanged in that dimension. -All properties of the atoms are replicated, including their -velocities, which may or may not be desirable. New atom IDs are -assigned to new atoms, as are molecule IDs. Bonds and other topology -interactions are created between pairs of new atoms as well as between -old and new atoms. This is done by using the image flag for each atom -to "unwrap" it out of the periodic box before replicating it. +When the new simulation box is created it is partitioned into a +regular 3d grid of rectangular bricks, one per processor, based on the +number of processors being used and the settings of the +:doc:`processors ` command. The partitioning can be +changed by subsequent :doc:`balance ` or :doc:`fix balance +` commands. -This means that any molecular bond you specify in the original data -file that crosses a periodic boundary should be between two atoms with -image flags that differ by 1. This will allow the bond to be -unwrapped appropriately. +All properties of each atom are replicated (except per-atom fix data, +see the Restrictions section below). This includes their velocities, +which may or may not be desirable. New atom IDs are assigned to new +atoms, as are new molecule IDs. Bonds and other topology interactions +are created between pairs of new atoms as well as between old and new +atoms. -The optional keyword *bbox* uses a bounding box to only check atoms in -replicas that overlap with a processor's subdomain when assigning -atoms to processors. It typically results in a substantial speedup -when using the replicate command on a large number of processors. It -does require temporary use of more memory, specifically that each -processor can store all atoms in the entire system before it is -replicated. +.. note:: + + The bond discussion which follows only refers to models with + permanent covalent bonds typically defined in LAMMPS via a data + file. It is not relevant to systems modeled with many-body + potentials which can define bonds on-the-fly, based on the current + positions of nearby atoms, e.g. models using the :doc:`AIREBO + ` or :doc:`ReaxFF ` potentials. + +If the *bond/periodic* keyword is not specified, bond replication is +done by using the image flag for each atom to "unwrap" it out of the +periodic box before replicating it. After replication is performed, +atoms outside the new periodic box are wrapped back into it. This +assigns correct images flags to all atoms in the system. For this to +work, all original atoms in the original simulation box must have +consistent image flags. This means that if two atoms have a bond +between them which crosses a periodic boundary, their respective image +flags will differ by 1 in that dimension. + +Image flag consistency is not possible if a system has a periodic bond +loop, meaning there is a chain of bonds which crosses an entire +dimension and re-connects to itself across a periodic boundary. In +this case you MUST use the *bond/periodic* keyword to correctly +replicate the system. This option zeroes the image flags for all +atoms and uses a different algorithm to find new (nearby) bond +neighbors in the replicated system. In the final replicated system +all image flags are zero (in each dimension). + +.. note:: + + LAMMPS does not check for image flag consistency before performing + the replication (it does issue a warning about this before a + simulation is run). If the original image flags are inconsistent, + the replicated system will also have inconsistent image flags, but + will otherwise be correctly replicated. This is NOT the case if + there is a periodic bond loop. See the next note. + +.. note:: + + LAMMPS does not check for periodic bond loops. If you use the + *bond/periodic* keyword for a system without periodic bond loops, + the system will be correctly replicated, but image flag information + will be lost (which may or may not be important to your model). If + you do not use the *bond/periodic* keyword for a system with + periodic bond loops, the replicated system will have invalid bonds + (typically very long), resulting in bad dynamics. + +If possible, the *bbox* keyword should be used when running on a large +number of processors, as it can result in a substantial speed-up for +the replication operation. It uses a bounding box to only check atoms +in replicas that overlap with each processor's new subdomain when +assigning atoms to processors. It also preserves image flag +information. The only drawback to the *bbox* option is that it +requires a temporary use of more memory. Each processor must be able +to store all atoms (and their per-atom data) in the original system, +before it is replicated. + +.. note:: + + The algorithm used by the *bond/periodic* keyword builds on the + algorithm used by the *bbox* keyword and thus has the same memory + requirements. If you specify only the *bond/peridoic* keyword it + will internally set the *bbox* keyword as well. + +---------- Restrictions """""""""""" @@ -65,49 +127,30 @@ Restrictions A 2d simulation cannot be replicated in the z dimension. If a simulation is non-periodic in a dimension, care should be used -when replicating it in that dimension, as it may put atoms nearly on -top of each other. - -.. note:: - - You cannot use the replicate command on a system which has a - molecule that spans the box and is bonded to itself across a periodic - boundary, so that the molecule is effectively a loop. A simple - example would be a linear polymer chain that spans the simulation box - and bonds back to itself across the periodic boundary. More realistic - examples would be a CNT (meant to be an infinitely long CNT) or a - graphene sheet or a bulk periodic crystal where there are explicit - bonds specified between near neighbors. (Note that this only applies - to systems that have permanent bonds as specified in the data file. A - CNT that is just atoms modeled with the :doc:`AIREBO potential ` has no such permanent bonds, so it can be - replicated.) The reason replication does not work with those systems - is that the image flag settings described above cannot be made - consistent. I.e. it is not possible to define images flags so that - when every pair of bonded atoms is unwrapped (using the image flags), - they will be close to each other. The only way the replicate command - could work in this scenario is for it to break a bond, insert more - atoms, and re-connect the loop for the larger simulation box. But it - is not clever enough to do this. So you will have to construct a - larger version of your molecule as a pre-processing step and input a - new data file to LAMMPS. +when replicating it in that dimension, as it may generate atoms nearly +on top of each other. If the current simulation was read in from a restart file (before a -run is performed), there must not be any fix information stored in -the file for individual atoms. Similarly, no fixes can be defined at -the time the replicate command is used that require vectors of atom +run is performed), there must not be any fix information stored in the +file for individual atoms. Similarly, no fixes can be defined at the +time the replicate command is used that require vectors of atom information to be stored. This is because the replicate command does not know how to replicate that information for new atoms it creates. -To work around this restriction, restart files may be converted into -data files and fixes may be undefined via the :doc:`unfix ` -command before and redefined after the replicate command. + +To work around this restriction two options are possible. (1) Fixes +which use the stored data in the restart file can be defined before +replication and then deleted via the :doc:`unfix ` command and +re-defined after it. Or (2) the restart file can be converted to a +data file (which deletes the stored fix information) and fixes defined +after the replicate command. In both these scenarios, the per-atom +fix information in the restart file is lost. Related commands """""""""""""""" none - Default """"""" -none +No settings for using the *bbox* or *bond/periodic* algorithms. diff --git a/doc/src/thermo_modify.rst b/doc/src/thermo_modify.rst index 3d2c19614e..dcbe313508 100644 --- a/doc/src/thermo_modify.rst +++ b/doc/src/thermo_modify.rst @@ -11,7 +11,7 @@ Syntax thermo_modify keyword value ... * one or more keyword/value pairs may be listed -* keyword = *lost* or *lost/bond* or *warn* or *norm* or *flush* or *line* or *colname* or *format* or *temp* or *press* +* keyword = *lost* or *lost/bond* or *warn* or *norm* or *flush* or *line* or *colname* or *format* or *temp* or *press* or *triclinic/general* .. parsed-literal:: @@ -32,6 +32,8 @@ Syntax *or* a thermo keyword or reference to compute, fix, property or variable. *temp* value = compute ID that calculates a temperature *press* value = compute ID that calculates a pressure + *triclinic/general* arg = *yes* or *no* + Examples """""""" @@ -240,6 +242,19 @@ command, thermo output uses a default compute for pressure with ID = keyword, then the new pressure compute specified by the *press* keyword will be unaffected by the *temp* setting. +The *triclinic/general* keyword can only be used with a value of *yes* +if the simulation box was created as a general triclinic box. See the +:doc:`Howto_triclinic ` doc page for a detailed +explanation of orthogonal, restricted triclinic, and general triclinic +simulation boxes. + +If this keyword is *yes*, the output of the simulation box edge +vectors and the pressure tensor components for the system are +affected. These are specified by the *avec,bvec,cvec* and +*pxx,pyy,pzz,pxy,pxz,pyz* keywords of the :doc:`thermo_style +` command. See the :doc:`thermo_style ` +doc page for details. + Restrictions """""""""""" none @@ -253,8 +268,9 @@ Default """"""" The option defaults are lost = error, warn = 100, norm = yes for unit -style of *lj*, norm = no for unit style of *real* and *metal*, -flush = no, and temp/press = compute IDs defined by thermo_style. +style of *lj*, norm = no for unit style of *real* and *metal*, flush = +no, temp/press = compute IDs defined by thermo_style, and +triclinic/general = no. The defaults for the line and format options depend on the thermo style. For styles "one" and "custom", the line and format defaults are "one", diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index 89a2c0b740..fa90a45b0e 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -25,12 +25,18 @@ Syntax evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail, enthalpy, ecouple, econserve, - vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, - xy, xz, yz, xlat, ylat, zlat, - bonds, angles, dihedrals, impropers, - pxx, pyy, pzz, pxy, pxz, pyz, - fmax, fnorm, nbuild, ndanger, + vol, density, + xlo, xhi, ylo, yhi, zlo, zhi, + xy, xz, yz, + avecx, avecy, avecz, + bvecx, bvecy, bvecz, + cvecx, cvecy, cvecz, + lx, ly, lz, + xlat, ylat, zlat, cella, cellb, cellc, cellalpha, cellbeta, cellgamma, + pxx, pyy, pzz, pxy, pxz, pyz, + bonds, angles, dihedrals, impropers, + fmax, fnorm, nbuild, ndanger, c_ID, c_ID[I], c_ID[I][J], f_ID, f_ID[I], f_ID[I][J], v_name, v_name[I] @@ -66,18 +72,21 @@ Syntax econserve = pe + ke + ecouple = etotal + ecouple vol = volume density = mass density of system - lx,ly,lz = box lengths in x,y,z xlo,xhi,ylo,yhi,zlo,zhi = box boundaries - xy,xz,yz = box tilt for triclinic (non-orthogonal) simulation boxes + xy,xz,yz = box tilt for restricted triclinic (non-orthogonal) simulation boxes + avecx,avecy,avecz = components of edge vector A of the simulation box + bvecx,bvecy,bvecz = components of edge vector B of the simulation box + cvecx,cvecy,cvecz = components of edge vector C of the simulation box + lx,ly,lz = box lengths in x,y,z xlat,ylat,zlat = lattice spacings as calculated by :doc:`lattice ` command - bonds,angles,dihedrals,impropers = # of these interactions defined + cella,cellb,cellc = periodic cell lattice constants a,b,c + cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor + bonds,angles,dihedrals,impropers = # of these interactions defined fmax = max component of force on any atom in any dimension fnorm = length of force vector for all atoms nbuild = # of neighbor list builds ndanger = # of dangerous neighbor list builds - cella,cellb,cellc = periodic cell lattice constants a,b,c - cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma c_ID = global scalar value calculated by a compute with ID c_ID[I] = Ith component of global vector calculated by a compute with ID, I can include wildcard (see below) c_ID[I][J] = I,J component of global array calculated by a compute with ID @@ -102,8 +111,11 @@ Examples Description """"""""""" -Set the style and content for printing thermodynamic data to the screen -and log files. +Set the style and content for printing thermodynamic data to the +screen and log files. The units for each column of output +corresponding to the list of keywords is determined by the :doc:`units +` command for the simulation. E.g. energies will be in energy +units, temperature in temperature units, pressure in pressure units. Style *one* prints a single line of thermodynamic info that is the equivalent of "thermo_style custom step temp epair emol etotal press". @@ -245,7 +257,7 @@ and *pxx*, *pyy*, etc. ---------- Here is more information on other keywords whose meaning may not be -clear: +clear. The *step*, *elapsed*, and *elaplong* keywords refer to timestep count. *Step* is the current timestep, or iteration count when a @@ -319,6 +331,63 @@ thermostatting or barostatting to their coupling reservoirs -- that is, the NVT, NPH, or NPT ensembles, the *econserve* quantity should remain constant over time even though *etotal* may change. +In LAMMPS, the simulation box can be defined as orthogonal or +triclinic (non-orthogonal). See the :doc:`Howto_triclinic +` doc page for a detailed explanation of orthogonal, +restricted triclinic, and general triclinic simulation boxes and how +LAMMPS rotates a general triclinic box to be restricted triclinic +internally. + +The *lx*, *ly*, *lz* keywords are the extent of the simulation box in +each dimension. The *xlo*, *xhi*, *ylo*, *yhi*, *zlo*, *zhi* keywords +are the lower and upper bounds of the simulation box in each dimension. +I.e. *lx* = *xhi* - *xlo*). These 9 values are the same for all 3 kinds +of boxes. I.e. for a restricted triclinic box, they are the values as +if the box were not tilted. For a general triclinic box, they are the +values after it is internally rotated to be a restricted triclinic box. + +The *xy*, *xz*, *yz* are the current tilt factors for a triclinic box. +They are the same for restricted and general triclinic boxes. + +The *avecx*, *avecy*, *avecz*, *bvecx*, *bvecy*, *bvecz*, *cvecx*, +*cvecy*, *cvecz* are the components of the 3 edge vectors of the +current general simulation box. If it is an orthogonal box the +vectors are along the x, y, z coordinate axes. If it is a restricted +triclinic box, the **A** vector is along the x axis, the **B** vector +is in the xy plane with a +y coordinate, and the **C** vector has a +z +coordinate, as explained on the :doc:`Howto_triclinic +` doc page. If the :doc:`thermo_modify +triclinic/general ` option is set then they are the +**A**, **B**, **C** vector which define the general triclinic box. + +The *cella*, *cellb*, *cellc*, *cellalpha*, *cellbeta*, *cellgamma* +keywords correspond to the usual crystallographic quantities that +define the periodic simulation box of a crystalline system. See the +:doc:`Howto triclinic ` page for a precise definition +of these quantities in terms of the LAMMPS representation of a +restricted triclinic simulation box via *lx*, *ly*, *lz*, *yz*, *xz*, +*xy*\ . + +The *pxx,pyy,pzz,pxy,pxz,pyz* keywords are the 6 components of the +symmetric pressure tensor for the system. See the :doc:`compute +pressure ` command doc page for details of how it is +calculated. + +If the :doc:`thermo_modify triclinic/general ` option +is set then the 6 components will be output as values consistent with +the orientation of the general triclinic box relative to the standard +xyz coordinate axes. If this keyword is not used, the values will be +consistent with the orientation of the restricted triclinic box (which +aligns with the xyz coordinate axes). As explained on the +:doc:`Howto_triclinic ` doc page, even if the +simulation box is created as a general triclinic box, internally +LAMMPS uses a restricted triclinic box. + +Note that because the pressure tensor components are computed using +force vectors and atom coordinates, both of which are rotated in the +general versus restricted triclinic representation, the values will +typically be different for the two cases. + The *fmax* and *fnorm* keywords are useful for monitoring the progress of an :doc:`energy minimization `. The *fmax* keyword calculates the maximum force in any dimension on any atom in the @@ -338,14 +407,6 @@ to reduce the delay factor to ensure no force interactions are missed by atoms moving beyond the neighbor skin distance before a rebuild takes place. -The keywords *cella*, *cellb*, *cellc*, *cellalpha*, -*cellbeta*, *cellgamma*, correspond to the usual crystallographic -quantities that define the periodic unit cell of a crystal. See the -:doc:`Howto triclinic ` page for a geometric -description of triclinic periodic cells, including a precise -definition of these quantities in terms of the internal LAMMPS cell -dimensions *lx*, *ly*, *lz*, *yz*, *xz*, *xy*\ . - ---------- For output values from a compute or fix or variable, the bracketed diff --git a/doc/src/variable.rst b/doc/src/variable.rst index 1cd96543f5..ba5e5efd39 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -279,9 +279,9 @@ This means the variable can then be evaluated as many times as desired and will return those values. There are two ways to cause the next set of per-atom values from the file to be read: use the :doc:`next ` command or the next() function in an atom-style -variable, as discussed below. Unlike most variable styles -atomfile-style variables are **deleted** during a :doc:`clear ` -command. +variable, as discussed below. Unlike most variable styles, which +remain defined, atomfile-style variables are **deleted** during a +:doc:`clear ` command. The rules for formatting the file are as follows. Each time a set of per-atom values is read, a non-blank line is searched for in the file. @@ -289,23 +289,37 @@ The file is read line by line but only up to 254 characters are used. The rest are ignored. A comment character "#" can be used anywhere on a line and all text following and the "#" character are ignored; text starting with the comment character is stripped. Blank lines -are skipped. The first "word" of a non-blank line, delimited by -white-space, is read as the count N of per-atom lines to immediately -follow. N can be the total number of atoms in the system, or only a -subset. The next N lines have the following format - -.. parsed-literal:: - - ID value - -where ID is an atom ID and value is the per-atom numeric value that -will be assigned to that atom. IDs can be listed in any order. +are skipped. The first non-blank line is expected to contain a single +integer number as the count *N* of per-atom lines to follow. *N* can +be the total number of atoms in the system or less, indicating that data +for a subset is read. The next N lines must consist of two numbers, +the atom-ID of the atom for which a value is set followed by a floating +point number with the value. The atom-IDs may be listed in any order. .. note:: - Every time a set of per-atom lines is read, the value for all - atoms is first set to 0.0. Thus values for atoms whose ID does not - appear in the set, will remain 0.0. + Every time a set of per-atom lines is read, the value of the atomfile + variable for **all** atoms is first initialized to 0.0. Thus values + for atoms whose ID do not appear in the set in the file will remain + at 0.0. + +Below is a small example for the atomfile variable file format: + + .. parsed-literal:: + + # first set + 4 + # atom-ID value + 3 1 + 4 -4 + 1 0.5 + 2 -0.5 + + # second set + 2 + + 2 1.0 + 4 -1.0 ---------- @@ -1174,12 +1188,17 @@ custom atom properties are the same; just replace the leading "i" with +--------+---------------+------------------------------------------+ | equal | i_name[I] | element of per-atom vector (I = atom ID) | ++--------+---------------+------------------------------------------+ | equal | i2_name[I][J] | element of per-atom array (I = atom ID) | +--------+---------------+------------------------------------------+ ++--------+---------------+------------------------------------------+ | vector | i_name[I] | element of per-atom vector (I = atom ID) | ++--------+---------------+------------------------------------------+ | vector | i2_name[I][J] | element of per-atom array (I = atom ID) | +--------+---------------+------------------------------------------+ ++--------+---------------+------------------------------------------+ | atom | i_name | per-atom vector | ++--------+---------------+------------------------------------------+ | atom | i2_name[I] | column of per-atom array | +--------+---------------+------------------------------------------+ @@ -1222,15 +1241,23 @@ table: +--------+------------+------------------------------------------+ | equal | c_ID | global scalar | ++--------+------------+------------------------------------------+ | equal | c_ID[I] | element of global vector | ++--------+------------+------------------------------------------+ | equal | c_ID[I][J] | element of global array | ++--------+------------+------------------------------------------+ | equal | C_ID[I] | element of per-atom vector (I = atom ID) | ++--------+------------+------------------------------------------+ | equal | C_ID[I][J] | element of per-atom array (I = atom ID) | +--------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | vector | c_ID | global vector | ++--------+------------+------------------------------------------+ | vector | c_ID[I] | column of global array | +--------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | atom | c_ID | per-atom vector | ++--------+------------+------------------------------------------+ | atom | c_ID[I] | column of per-atom array | +--------+------------+------------------------------------------+ @@ -1286,15 +1313,23 @@ and atom-style variables are listed in the following table: +--------+------------+------------------------------------------+ | equal | f_ID | global scalar | ++--------+------------+------------------------------------------+ | equal | f_ID[I] | element of global vector | ++--------+------------+------------------------------------------+ | equal | f_ID[I][J] | element of global array | ++--------+------------+------------------------------------------+ | equal | F_ID[I] | element of per-atom vector (I = atom ID) | ++--------+------------+------------------------------------------+ | equal | F_ID[I][J] | element of per-atom array (I = atom ID) | +--------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | vector | f_ID | global vector | ++--------+------------+------------------------------------------+ | vector | f_ID[I] | column of global array | +--------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | atom | f_ID | per-atom vector | ++--------+------------+------------------------------------------+ | atom | f_ID[I] | column of per-atom array | +--------+------------+------------------------------------------+ @@ -1365,17 +1400,27 @@ per-atom vector. +--------+-----------+-----------------------------------------------------------------------------------+ | equal | v_name | global scalar from an equal-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | equal | v_name[I] | element of global vector from a vector-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | equal | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable | +--------+-----------+-----------------------------------------------------------------------------------+ ++--------+-----------+-----------------------------------------------------------------------------------+ | vector | v_name | global scalar from an equal-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | vector | v_name | global vector from a vector-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | vector | v_name[I] | element of global vector from a vector-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | vector | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable | +--------+-----------+-----------------------------------------------------------------------------------+ ++--------+-----------+-----------------------------------------------------------------------------------+ | atom | v_name | global scalar from an equal-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | atom | v_name | per-atom vector from an atom-style or atomfile-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | atom | v_name[I] | element of global vector from a vector-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | atom | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable | +--------+-----------+-----------------------------------------------------------------------------------+ diff --git a/doc/src/write_data.rst b/doc/src/write_data.rst index c598ebe481..61fada70df 100644 --- a/doc/src/write_data.rst +++ b/doc/src/write_data.rst @@ -12,13 +12,14 @@ Syntax * file = name of data file to write out * zero or more keyword/value pairs may be appended -* keyword = *pair* or *nocoeff* or *nofix* or *nolabelmap* +* keyword = *nocoeff* or *nofix* or *nolabelmap* or *triclinic/general* or *types* or *pair* .. parsed-literal:: *nocoeff* = do not write out force field info *nofix* = do not write out extra sections read by fixes *nolabelmap* = do not write out type labels + *triclinic/general* = write data file in general triclinic format *types* value = *numeric* or *labels* *pair* value = *ii* or *ij* *ii* = write one line of pair coefficient info per atom type @@ -31,6 +32,7 @@ Examples write_data data.polymer write_data data.* + write_data data.solid triclinic/general Description """"""""""" @@ -85,10 +87,11 @@ using the :doc:`-r command-line switch `. :doc:`fixes ` are stored. :doc:`Binary restart files ` store more information. -Bond interactions (angle, etc) that have been turned off by the :doc:`fix shake ` or :doc:`delete_bonds ` command will -be written to a data file as if they are turned on. This means they -will need to be turned off again in a new run after the data file is -read. +Bond interactions (angle, etc) that have been turned off by the +:doc:`fix shake ` or :doc:`delete_bonds ` +command will be written to a data file as if they are turned on. This +means they will need to be turned off again in a new run after the +data file is read. Bonds that are broken (e.g. by a bond-breaking potential) are not written to the data file. Thus these bonds will not exist when the @@ -122,6 +125,23 @@ not written to the data file. By default, they are written if they exist. A type label must be defined for every numeric type (within a given type-kind) to be written to the data file. +Use of the *triclinic/general* keyword will output a data file which +specifies a general triclinic simulation box as well as per-atom +quantities consistent with the general triclinic box. The latter means +that per-atom vectors, such as velocities and dipole moments will be +oriented consistent with the 3d rotation implied by the general +triclinic box (relative to the associated restricted triclinic box). + +This option can only be requested if the simulation box was initially +defined to be general triclinic. If if was and the +*triclinic/general* keyword is not used, then the data file will +specify a restricted triclinic box, since that is the internal format +LAMMPS uses for both general and restricted triclinic simulations. +See the :doc:`Howto triclinic ` doc page for more +explanation of how general triclinic simulation boxes are supported by +LAMMPS. And see the :doc:`read_data ` doc page for details +of how the format is altered for general triclinic data files. + The *types* keyword determines how atom types, bond types, angle types, etc are written into these data file sections: Atoms, Bonds, Angles, etc. The default is the *numeric* setting, even if type label diff --git a/doc/src/write_restart.rst b/doc/src/write_restart.rst index a35adffe56..6205f24faf 100644 --- a/doc/src/write_restart.rst +++ b/doc/src/write_restart.rst @@ -55,21 +55,22 @@ alter the number of files written. Restart files can be read by a :doc:`read_restart ` command to restart a simulation from a particular state. Because the file is binary (to enable exact restarts), it may not be readable on -another machine. In this case, you can use the :doc:`-r command-line switch ` to convert a restart file to a data file. +another machine. In this case, you can use the :doc:`-r command-line +switch ` to convert a restart file to a data file. .. note:: Although the purpose of restart files is to enable restarting a simulation from where it left off, not all information about a - simulation is stored in the file. For example, the list of fixes that - were specified during the initial run is not stored, which means the - new input script must specify any fixes you want to use. Even when - restart information is stored in the file, as it is for some fixes, - commands may need to be re-specified in the new input script, in order - to re-use that information. Details are usually given in the - documentation of the respective command. Also, see the - :doc:`read_restart ` command for general information about - what is stored in a restart file. + simulation is stored in the file. For example, the list of fixes + that were specified during the initial run is not stored, which + means the new input script must specify any fixes you want to use. + Even when restart information is stored in the file, as it is for + some fixes, commands may need to be re-specified in the new input + script, in order to re-use that information. Details are usually + given in the documentation of the respective command. Also, see the + :doc:`read_restart ` command for general information + about what is stored in a restart file. ---------- diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt index 5bb8e3911d..816d52bf54 100644 --- a/doc/utils/requirements.txt +++ b/doc/utils/requirements.txt @@ -1,4 +1,4 @@ -Sphinx >= 5.3.0, <8.0 +Sphinx >= 5.3.0, <7.3 sphinxcontrib-spelling sphinxcontrib-jquery git+https://github.com/akohlmey/sphinx-fortran@parallel-read diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 4f5fe6fdaf..5dfbe48ffa 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -50,6 +50,7 @@ agilio Agilio agni Agnolin +ahi Ahrens Ai Aidan @@ -86,6 +87,7 @@ allocator allocators allosws AlO +alo Alonso Alperen alphak @@ -187,6 +189,10 @@ automagically Auvergne Avalos avalue +avec +avecx +avecy +avecz aveforce Avendano Averett @@ -194,11 +200,14 @@ avi AVX awpmd AWPMD +ax Axel Axilrod Ay +ay Ayton Az +az Azevedo azimuthal Azuri @@ -271,6 +280,7 @@ Bext Bfrac bgq Bh +bhi Bialke biaxial bicrystal @@ -307,6 +317,7 @@ Bkappa blabel Blaise blanchedalmond +blo blocksize blueviolet bn @@ -380,12 +391,17 @@ btype buckPlusAttr buf builtin +Bulacu Bulatov Bureekaew burlywood Bussi Buturigakkwaishi Buyl +bvec +bvecx +bvecy +bvecz Bybee bz Cadarache @@ -476,6 +492,7 @@ ChiralIDs chirality Cho Chodera +Choi ChooseOffset chris Christoph @@ -617,6 +634,7 @@ cstdlib cstring cstyle csvr +ctilde ctrl ctrn ctypes @@ -648,14 +666,21 @@ cv Cv Cval cvar +cvec +cvecx +cvecy +cvecz cvff cwiggle +cx +cy cygwin Cygwin cylindrically Cyrot cyrstals cython +cz Daivis Dammak dampflag @@ -947,6 +972,7 @@ elastance Electroneg electronegative electronegativity +electroneutral electroneutrality Eleftheriou ElementN @@ -1301,6 +1327,7 @@ gmres gname gneb GNEB +Goga Goldfarb Gompper Gonzalez-Melchor @@ -1478,6 +1505,7 @@ hydroxyl Hynninen Hyoungki hyperdynamics +hyperparameters hyperplane hyperradius hyperspherical @@ -1770,6 +1798,7 @@ Kolafa Kollman kolmogorov Kolmogorov +Kolotinskii Kondor konglt Koning @@ -2038,6 +2067,7 @@ Makefiles makelist makepkg Makse +Malavasi malloc Malolepsza Manby @@ -2147,6 +2177,7 @@ membered memcheck Mendelev Menon +Menziani mer Meremianin Mersenne @@ -2257,6 +2288,7 @@ Montalenti Monterey Montero Monti +Monticelli Mora Morefoo Morfill @@ -2266,6 +2298,7 @@ morris Morriss morse Morteza +MoS Mosayebi Moseler Moskalev @@ -2683,6 +2716,9 @@ organometallic orientational orientationsFile orientorder +originx +originy +originz Orlikowski ornl Ornstein @@ -2726,6 +2762,7 @@ papayawhip paquay Paquay parallelepiped +parallelepipeds Parallelizable parallelization parallelized @@ -2769,11 +2806,14 @@ Peachey peachpuff Pearlman Pedersen +pedone +Pedone peID PEigenDense Peng peptide peratom +Perf Pergamon pergrid peri @@ -2781,6 +2821,7 @@ peridynamic Peridynamic peridynamics Peridynamics +Periole perl permittivity perp @@ -3070,6 +3111,7 @@ reaxff ReaxFF REAXFF rebo +rebomos recurse recursing Ree @@ -3195,6 +3237,7 @@ Ronevich Rosati Rosato Rosenberger +Rossi Rossky rosybrown rotationally @@ -3597,6 +3640,7 @@ tesselation tesselations Tetot tex +textrm tfac tfmc tfMC @@ -3637,6 +3681,7 @@ thrid ThunderX thylakoid THz +Tieleman Tigran Tij Tildesley @@ -3884,7 +3929,9 @@ Verlet versa Verstraelen ves +vf vflag +vflow vfrac vhi vibrational @@ -4115,6 +4162,7 @@ zenodo Zepeda zflag Zhang +Zhao Zhen zhi Zhigilei diff --git a/examples/PACKAGES/electrode/madelung/eval.py b/examples/PACKAGES/electrode/madelung/eval.py index 2f5a355d9b..feda0e384e 100644 --- a/examples/PACKAGES/electrode/madelung/eval.py +++ b/examples/PACKAGES/electrode/madelung/eval.py @@ -1,7 +1,7 @@ #!/usr/env/python3 -import sys import os.path as op +import sys def rel_error(out, ref): @@ -49,5 +49,5 @@ for label, ref, out in out_lines: error = rel_error(out, ref) lines.append(f"{label}: {out:.5f}, {error:.5f}\n") -with open("madelung.txt", 'a') as f: +with open("madelung.txt", "a") as f: f.writelines(lines) diff --git a/examples/PACKAGES/electrode/madelung/in.eta b/examples/PACKAGES/electrode/madelung/in.eta new file mode 100644 index 0000000000..3a45bb1bf5 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/in.eta @@ -0,0 +1,14 @@ +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes + +thermo_style custom step pe c_qbot c_qtop +fix feta all property/atom d_eta ghost on +set group bot d_eta 2.0 +set group top d_eta 2.0 +fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta write_inv inv.csv write_vec vec.csv + +run 0 + diff --git a/examples/PACKAGES/electrode/madelung/in.eta_cg b/examples/PACKAGES/electrode/madelung/in.eta_cg new file mode 100644 index 0000000000..5ac8cddf17 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/in.eta_cg @@ -0,0 +1,14 @@ +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes + +thermo_style custom step pe c_qbot c_qtop +fix feta all property/atom d_eta ghost on +set group bot d_eta 0.5 +set group top d_eta 3.0 +fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta algo cg 1e-6 + +run 0 + diff --git a/examples/PACKAGES/electrode/madelung/in.eta_mix b/examples/PACKAGES/electrode/madelung/in.eta_mix new file mode 100644 index 0000000000..d00e008fa4 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/in.eta_mix @@ -0,0 +1,14 @@ +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes + +thermo_style custom step pe c_qbot c_qtop +fix feta all property/atom d_eta ghost on +set group bot d_eta 0.5 +set group top d_eta 3.0 +fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta write_inv inv.csv write_vec vec.csv + +run 0 + diff --git a/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta.g++.1 b/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta.g++.1 new file mode 100644 index 0000000000..daf0563799 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta.g++.1 @@ -0,0 +1,138 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-668-g5b6c0c6b56) + using 1 OpenMP thread(s) per MPI task +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" +Reading data file ... + orthogonal box = (0 0 -10) to (1 1 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +group bot type 1 +1 atoms in group bot +group top type 2 +1 atoms in group top + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop +fix feta all property/atom d_eta ghost on +set group bot d_eta 2.0 +Setting atom values ... + 1 settings made for d_eta +set group top d_eta 2.0 +Setting atom values ... + 1 settings made for d_eta +fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta write_inv inv.csv write_vec vec.csv +2 atoms in group conp_group + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Ewald/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) +WARNING: For better accuracy use 'pair_modify table 0' (src/kspace.cpp:365) + G vector (1/distance) = 0.32261103 + estimated absolute RMS force accuracy = 3.8272011e-06 + estimated relative force accuracy = 1.1525502e-08 + KSpace vectors: actual max1d max3d = 52 50 515150 + kxmax kymax kzmax = 1 1 50 +Generated 3 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 1 1 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:965) +139.943964815502, 0.279214485147238 +Per MPI rank memory allocation (min/avg/max) = 144.2 | 144.2 | 144.2 Mbytes + Step PotEng c_qbot c_qtop + 0 139.94396 -0.27921449 0.27921449 +Loop time of 2.191e-06 on 1 procs for 0 steps with 4 atoms + +91.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.191e-06 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3596 ave 3596 max 3596 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4790 ave 4790 max 4790 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4790 +Ave neighs/atom = 1197.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_cg.g++.1 b/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_cg.g++.1 new file mode 100644 index 0000000000..edb2e434e6 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_cg.g++.1 @@ -0,0 +1,139 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-668-g5b6c0c6b56) + using 1 OpenMP thread(s) per MPI task +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" +Reading data file ... + orthogonal box = (0 0 -10) to (1 1 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +group bot type 1 +1 atoms in group bot +group top type 2 +1 atoms in group top + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop +fix feta all property/atom d_eta ghost on +set group bot d_eta 0.5 +Setting atom values ... + 1 settings made for d_eta +set group top d_eta 3.0 +Setting atom values ... + 1 settings made for d_eta +fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta algo cg 1e-6 +2 atoms in group conp_group + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Ewald/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) +WARNING: For better accuracy use 'pair_modify table 0' (src/kspace.cpp:365) + G vector (1/distance) = 0.32261103 + estimated absolute RMS force accuracy = 3.8272011e-06 + estimated relative force accuracy = 1.1525502e-08 + KSpace vectors: actual max1d max3d = 52 50 515150 + kxmax kymax kzmax = 1 1 50 +Generated 3 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 1 1 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:965) +165.519373910316, 0.29521534552818 +Per MPI rank memory allocation (min/avg/max) = 144.2 | 144.2 | 144.2 Mbytes + Step PotEng c_qbot c_qtop + 0 165.51937 -0.29521535 0.29521535 +Loop time of 2.797e-06 on 1 procs for 0 steps with 4 atoms + +71.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.797e-06 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3596 ave 3596 max 3596 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4790 ave 4790 max 4790 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4790 +Ave neighs/atom = 1197.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Average conjugate gradient steps: 1 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_mix.g++.1 b/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_mix.g++.1 new file mode 100644 index 0000000000..51eda0d870 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_mix.g++.1 @@ -0,0 +1,138 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-668-g5b6c0c6b56) + using 1 OpenMP thread(s) per MPI task +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" +Reading data file ... + orthogonal box = (0 0 -10) to (1 1 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +group bot type 1 +1 atoms in group bot +group top type 2 +1 atoms in group top + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop +fix feta all property/atom d_eta ghost on +set group bot d_eta 0.5 +Setting atom values ... + 1 settings made for d_eta +set group top d_eta 3.0 +Setting atom values ... + 1 settings made for d_eta +fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta write_inv inv.csv write_vec vec.csv +2 atoms in group conp_group + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Ewald/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) +WARNING: For better accuracy use 'pair_modify table 0' (src/kspace.cpp:365) + G vector (1/distance) = 0.32261103 + estimated absolute RMS force accuracy = 3.8272011e-06 + estimated relative force accuracy = 1.1525502e-08 + KSpace vectors: actual max1d max3d = 52 50 515150 + kxmax kymax kzmax = 1 1 50 +Generated 3 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 1 1 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:965) +165.519373910316, 0.295215345528172 +Per MPI rank memory allocation (min/avg/max) = 144.2 | 144.2 | 144.2 Mbytes + Step PotEng c_qbot c_qtop + 0 165.51937 -0.29521535 0.29521535 +Loop time of 2.18e-06 on 1 procs for 0 steps with 4 atoms + +91.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.18e-06 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3596 ave 3596 max 3596 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4790 ave 4790 max 4790 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4790 +Ave neighs/atom = 1197.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/electrode/madelung/plate_cap.py b/examples/PACKAGES/electrode/madelung/plate_cap.py index 62d52fe102..fcca166869 100755 --- a/examples/PACKAGES/electrode/madelung/plate_cap.py +++ b/examples/PACKAGES/electrode/madelung/plate_cap.py @@ -3,7 +3,6 @@ import numpy as np from scipy.special import erf -ETA = 2 SQRT2 = np.sqrt(2) COULOMB = 332.06371 # Coulomb constant in Lammps 'real' units QE2F = 23.060549 @@ -17,14 +16,14 @@ def lattice(length): return np.array(np.meshgrid(x, y)).T.reshape(-1, 2) -def a_element(r): +def a_element(r, eta): """Coulomb contribution of two Gaussians""" - return erf(ETA / SQRT2 * r) / r + return erf(eta * r) / r -def b_element(r, q): +def b_element(r, q, eta): """Coulomb contribution of a Gaussian with a point charge""" - return q * erf(ETA * r) / r + return q * erf(eta * r) / r a = 1 # nearest neighbor distance i.e. lattice constant / sqrt(2) @@ -36,59 +35,65 @@ v = np.array([-0.5, 0.5]) * (QE2F / COULOMB) # distances to images within electrode and to opposite electrode distances = a * np.linalg.norm(lattice(LENGTH), axis=1) -opposite_distances = np.sqrt(np.square(distances) + distance_plates ** 2) +opposite_distances = np.sqrt(np.square(distances) + distance_plates**2) -# self interaction and within original box -A_11 = np.sqrt(2 / np.pi) * ETA -A_12 = erf(ETA * distance_plates / SQRT2) / distance_plates +for name, eta_elec in [("", [2.0, 2.0]), ("_eta_mix", [0.5, 3.0])]: + eta_mix = np.prod(eta_elec) / np.sqrt(np.sum(np.square(eta_elec))) + # self interaction and within original box + A_11 = np.sqrt(2 / np.pi) * eta_elec[0] + A_22 = np.sqrt(2 / np.pi) * eta_elec[1] + A_12 = erf(eta_mix * distance_plates) / distance_plates -# interaction with periodic images -A_11 += 4 * np.sum(a_element(distances)) -A_12 += 4 * np.sum(a_element(opposite_distances)) -A = np.array([[A_11, A_12], [A_12, A_11]]) -inv = np.linalg.inv(A) -e = np.array([1, 1]) -inv -= np.matmul(inv, np.matmul(np.outer(e, e), inv)) / np.dot(e, np.dot(inv, e)) + # interaction with periodic images + A_11 += 4 * np.sum(a_element(distances, eta_elec[0] / SQRT2)) + A_22 += 4 * np.sum(a_element(distances, eta_elec[1] / SQRT2)) + A_12 += 4 * np.sum(a_element(opposite_distances, eta_mix)) + A = np.array([[A_11, A_12], [A_12, A_22]]) + inv = np.linalg.inv(A) + e = np.array([1, 1]) + inv -= np.matmul(inv, np.matmul(np.outer(e, e), inv)) / np.dot(e, np.dot(inv, e)) -# electrode-electrolyte interaction -b = [] -for x in x_elec: - bi = 0 - for y, q in zip(x_elyt, q_elyt): - d = abs(y - x) - bi += b_element(d, q) - image_distances = np.sqrt(np.square(distances) + d ** 2) - bi += 4 * np.sum(b_element(image_distances, q)) - b.append(bi) -b = np.array(b) + # electrode-electrolyte interaction + b = [] + for x, eta in zip(x_elec, eta_elec): + bi = 0 + for y, q in zip(x_elyt, q_elyt): + d = abs(y - x) + bi += b_element(d, q, eta) + image_distances = np.sqrt(np.square(distances) + d**2) + bi += 4 * np.sum(b_element(image_distances, q, eta)) + b.append(bi) + b = np.array(b) -# electrolyte-electrolyte energy -elyt_11 = 4 * np.sum(1 / distances) -distance_elyt = x_elyt[1] - x_elyt[0] -elyt_12 = 1 / distance_elyt + 4 * np.sum( - 1 / np.sqrt(np.square(distances) + distance_elyt ** 2) -) -elyt = np.array([[elyt_11, elyt_12], [elyt_12, elyt_11]]) -energy_elyt = 0.5 * np.dot(q_elyt, np.dot(elyt, q_elyt)) - -# electrode charges and energy -q = np.dot(inv, v - b) -energy = COULOMB * (0.5 * np.dot(q, np.dot(A, q)) + np.dot(b, q) + energy_elyt) - -print( - "length, energy / kcal/mol, q1 / e, q2 / e, inv11 / A, inv12 / A, b1 / e/A, b2 / e/A" -) -print( - ", ".join( - [ - str(LENGTH), - f"{energy:.8f}", - f"{q[0]:.10f}", - f"{q[1]:.10f}", - f"{inv[0, 0]:.10f}", - f"{inv[0, 1]:.10f}", - f"{b[0]:.8f}", - f"{b[1]:.8f}", - ] + # electrolyte-electrolyte energy + elyt_11 = 4 * np.sum(1 / distances) + distance_elyt = x_elyt[1] - x_elyt[0] + elyt_12 = 1 / distance_elyt + 4 * np.sum( + 1 / np.sqrt(np.square(distances) + distance_elyt**2) ) -) + elyt = np.array([[elyt_11, elyt_12], [elyt_12, elyt_11]]) + energy_elyt = 0.5 * np.dot(q_elyt, np.dot(elyt, q_elyt)) + + # electrode charges and energy + q = np.dot(inv, v - b) + energy = COULOMB * (0.5 * np.dot(q, np.dot(A, q)) + np.dot(b, q) + energy_elyt) + + with open(f"plate_cap{name}.csv", "w") as f: + f.write( + "length, energy / kcal/mol, q1 / e, q2 / e, inv11 / A, inv12 / A, b1 / e/A, b2 / e/A\n" + ) + f.write( + ", ".join( + [ + str(LENGTH), + f"{energy:.8f}", + f"{q[0]:.10f}", + f"{q[1]:.10f}", + f"{inv[0, 0]:.10f}", + f"{inv[0, 1]:.10f}", + f"{b[0]:.8f}", + f"{b[1]:.8f}", + ] + ) + + "\n" + ) diff --git a/examples/PACKAGES/electrode/madelung/test.sh b/examples/PACKAGES/electrode/madelung/test.sh index edac04f5b1..a558ee6711 100644 --- a/examples/PACKAGES/electrode/madelung/test.sh +++ b/examples/PACKAGES/electrode/madelung/test.sh @@ -7,17 +7,27 @@ if [ ! -f $lmpbin ]; then fi ref_out="plate_cap.csv" -if [ ! -f $ref_out ]; then +ref_mix_out="plate_cap_eta_mix.csv" +if [ ! -f $ref_out ] || [ ! -f $ref_mix_out ]; then echo "Generating reference data" - python3 plate_cap.py > $ref_out + python3 plate_cap.py fi echo "Running Lammps inputs" +# w/o eta mixing rm -rf madelung.txt && touch madelung.txt -for file in in.*; do +for file in in.eta in.ewald-ew3dc in.ewald-ew2d in.pppm-ew3dc in.cg; do printf "\n$file\n" >> madelung.txt rm -f out.csv inv.csv vec.csv $lmpbin -i $file &> /dev/null python3 eval.py $ref_out out.csv inv.csv vec.csv done + +# with eta mixing +for file in in.eta_mix in.eta_cg; do + printf "\n$file\n" >> madelung.txt + rm -f out.csv inv.csv vec.csv + $lmpbin -i $file &> /dev/null + python3 eval.py $ref_mix_out out.csv inv.csv vec.csv +done cat madelung.txt diff --git a/examples/PACKAGES/flow_gauss/in.GD b/examples/PACKAGES/flow_gauss/in.GD index bcff4d4c57..a22b440eb6 100644 --- a/examples/PACKAGES/flow_gauss/in.GD +++ b/examples/PACKAGES/flow_gauss/in.GD @@ -68,7 +68,7 @@ variable Lx1 equal round(${Lx}/${aWall})*${aWall} #create simulation box variable lx2 equal ${Lx1}/2 variable ly2 equal ${Ly1}/2 -region simbox block -${lx2} ${lx2} -${ly2} ${ly2} 0 0.1 units box +region simbox block -${lx2} ${lx2} -${ly2} ${ly2} -0.1 0.1 units box create_box 2 simbox ##################################################################### diff --git a/examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.1 b/examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.1 new file mode 100644 index 0000000000..566ef572bc --- /dev/null +++ b/examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.1 @@ -0,0 +1,941 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +#LAMMPS input script +#in.GD +#see README for details + +############################################################################### +#initialize variables +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task + +#frequency for outputting info (timesteps) +variable dump_rate equal 50 +variable thermo_rate equal 10 + +#equilibration time (timesteps) +variable equil equal 1000 + +#stabilization time (timesteps to reach steady-state) +variable stabil equal 1000 + +#data collection time (timesteps) +variable run equal 2000 + +#length of pipe +variable L equal 30 + +#width of pipe +variable d equal 20 + +#flux (mass/sigma*tau) +variable J equal 0.1 + +#simulation box dimensions +variable Lx equal 100 +variable Ly equal 40 + +#bulk fluid density +variable dens equal 0.8 + +#lattice spacing for wall atoms +variable aWall equal 1.0 #1.7472 + +#timestep +variable ts equal 0.001 + +#temperature +variable T equal 2.0 + +#thermostat damping constant +variable tdamp equal ${ts}*100 +variable tdamp equal 0.001*100 + +units lj +dimension 2 +atom_style atomic + + +############################################################################### +#create box + +#create lattice with the spacing aWall +variable rhoWall equal ${aWall}^(-2) +variable rhoWall equal 1^(-2) +lattice sq ${rhoWall} +lattice sq 1 +Lattice spacing in x,y,z = 1 1 1 + +#modify input dimensions to be multiples of aWall +variable L1 equal round($L/${aWall})*${aWall} +variable L1 equal round(30/${aWall})*${aWall} +variable L1 equal round(30/1)*${aWall} +variable L1 equal round(30/1)*1 +variable d1 equal round($d/${aWall})*${aWall} +variable d1 equal round(20/${aWall})*${aWall} +variable d1 equal round(20/1)*${aWall} +variable d1 equal round(20/1)*1 +variable Ly1 equal round(${Ly}/${aWall})*${aWall} +variable Ly1 equal round(40/${aWall})*${aWall} +variable Ly1 equal round(40/1)*${aWall} +variable Ly1 equal round(40/1)*1 +variable Lx1 equal round(${Lx}/${aWall})*${aWall} +variable Lx1 equal round(100/${aWall})*${aWall} +variable Lx1 equal round(100/1)*${aWall} +variable Lx1 equal round(100/1)*1 + +#create simulation box +variable lx2 equal ${Lx1}/2 +variable lx2 equal 100/2 +variable ly2 equal ${Ly1}/2 +variable ly2 equal 40/2 +region simbox block -${lx2} ${lx2} -${ly2} ${ly2} -0.1 0.1 units box +region simbox block -50 ${lx2} -${ly2} ${ly2} -0.1 0.1 units box +region simbox block -50 50 -${ly2} ${ly2} -0.1 0.1 units box +region simbox block -50 50 -20 ${ly2} -0.1 0.1 units box +region simbox block -50 50 -20 20 -0.1 0.1 units box +create_box 2 simbox +Created orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + 1 by 1 by 1 MPI processor grid + +##################################################################### +#set up potential + +mass 1 1.0 #fluid atoms +mass 2 1.0 #wall atoms + +pair_style lj/cut 2.5 +pair_modify shift yes +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 1.12246 +pair_coeff 2 2 0.0 0.0 + +neigh_modify exclude type 2 2 + +timestep ${ts} +timestep 0.001 + +##################################################################### +#create atoms + +#create wall atoms everywhere +create_atoms 2 box +Created 4000 atoms + using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + create_atoms CPU = 0.002 seconds + +#define region which is "walled off" +variable dhalf equal ${d1}/2 +variable dhalf equal 20/2 +variable Lhalf equal ${L1}/2 +variable Lhalf equal 30/2 +region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box +region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box +region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box +region walltop block -15 15 10 EDGE -0.1 0.1 units box +region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box +region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box +region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box +region wallbot block -15 15 EDGE -10 -0.1 0.1 units box +region outsidewall union 2 walltop wallbot side out + +#remove wall atoms outside wall region +group outside region outsidewall +3349 atoms in group outside +delete_atoms group outside +Deleted 3349 atoms, new total = 651 + +#remove wall atoms that aren't on edge of wall region +variable x1 equal ${Lhalf}-${aWall} +variable x1 equal 15-${aWall} +variable x1 equal 15-1 +variable y1 equal ${dhalf}+${aWall} +variable y1 equal 10+${aWall} +variable y1 equal 10+1 +region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box +region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box +region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box +region insideTop block -14 14 11 EDGE -0.1 0.1 units box +region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box +region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box +region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box +region insideBot block -14 14 EDGE -11 -0.1 0.1 units box +region insideWall union 2 insideTop insideBot +group insideWall region insideWall +551 atoms in group insideWall +delete_atoms group insideWall +Deleted 551 atoms, new total = 100 + +#define new lattice, to give correct fluid density +#y lattice const must be a multiple of aWall +variable atrue equal ${dens}^(-1/2) +variable atrue equal 0.8^(-1/2) +variable ay equal round(${atrue}/${aWall})*${aWall} +variable ay equal round(1.11803398874989/${aWall})*${aWall} +variable ay equal round(1.11803398874989/1)*${aWall} +variable ay equal round(1.11803398874989/1)*1 + +#choose x lattice const to give correct density +variable ax equal (${ay}*${dens})^(-1) +variable ax equal (1*${dens})^(-1) +variable ax equal (1*0.8)^(-1) + +#change Lx to be multiple of ax +variable Lx1 equal round(${Lx}/${ax})*${ax} +variable Lx1 equal round(100/${ax})*${ax} +variable Lx1 equal round(100/1.25)*${ax} +variable Lx1 equal round(100/1.25)*1.25 +variable lx2 equal ${Lx1}/2 +variable lx2 equal 100/2 +change_box all x final -${lx2} ${lx2} units box +change_box all x final -50 ${lx2} units box +change_box all x final -50 50 units box +Changing box ... + orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + +#define new lattice +lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +Lattice spacing in x,y,z = 1.25 1 1 + +#fill in rest of box with bulk particles +variable delta equal 0.001 +variable Ldelt equal ${Lhalf}+${delta} +variable Ldelt equal 15+${delta} +variable Ldelt equal 15+0.001 +variable dDelt equal ${dhalf}-${delta} +variable dDelt equal 10-${delta} +variable dDelt equal 10-0.001 +region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box +region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box +region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box +region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box +region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box +region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box +region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box +region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box +region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box + +region bulk union 3 left pipe right +create_atoms 1 region bulk +Created 2675 atoms + using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + create_atoms CPU = 0.002 seconds + +group bulk type 1 +2675 atoms in group bulk +group wall type 2 +100 atoms in group wall + +#remove atoms that are too close to wall +delete_atoms overlap 0.9 bulk wall +System init for delete_atoms ... +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 72 29 1 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) command delete_atoms, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/2d + bin: standard + (2) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Deleted 0 atoms, new total = 2775 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes +neigh_modify exclude group wall wall + +velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom +velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom + +##################################################################### +#set up PUT +#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172 + +#average number of particles per box, Evans and Morriss used 2.0 +variable NperBox equal 8.0 + +#calculate box sizes +variable boxSide equal sqrt(${NperBox}/${dens}) +variable boxSide equal sqrt(8/${dens}) +variable boxSide equal sqrt(8/0.8) +variable nX equal round(lx/${boxSide}) +variable nX equal round(lx/3.16227766016838) +variable nY equal round(ly/${boxSide}) +variable nY equal round(ly/3.16227766016838) +variable dX equal lx/${nX} +variable dX equal lx/32 +variable dY equal ly/${nY} +variable dY equal ly/13 + +#temperature of fluid (excluding wall) +compute myT bulk temp + +#profile-unbiased temperature of fluid +compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY} +compute myTp bulk temp/profile 1 1 0 xy 32 ${nY} +compute myTp bulk temp/profile 1 1 0 xy 32 13 + +#thermo setup +thermo ${thermo_rate} +thermo 10 +thermo_style custom step c_myT c_myTp etotal press + +#dump initial configuration +# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz +# dump 56 wall custom 1 wall.init.lammpstrj id type x y z +# dump_modify 55 sort id +# dump_modify 56 sort id +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 72 29 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.104 | 3.104 | 3.104 Mbytes + Step c_myT c_myTp TotEng Press + 0 2 2.054601 0.77892922 7.3417096 +Loop time of 6.85e-07 on 1 procs for 0 steps with 2775 atoms + +146.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 6.85e-07 | | |100.00 + +Nlocal: 2775 ave 2775 max 2775 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 510 ave 510 max 510 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 26406 ave 26406 max 26406 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 26406 +Ave neighs/atom = 9.5156757 +Neighbor list builds = 0 +Dangerous builds = 0 +# undump 55 +# undump 56 + +##################################################################### +#equilibrate without GD + +fix nvt bulk nvt temp $T $T ${tdamp} +fix nvt bulk nvt temp 2 $T ${tdamp} +fix nvt bulk nvt temp 2 2 ${tdamp} +fix nvt bulk nvt temp 2 2 0.1 +fix_modify nvt temp myTp +WARNING: Temperature for fix modify is not for group all (src/fix_nh.cpp:1391) +fix 2 bulk enforce2d + +run ${equil} +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes + Step c_myT c_myTp TotEng Press + 0 2 2.054601 0.77892922 7.3417096 + 10 1.9173668 1.9381538 0.77877698 7.6702283 + 20 1.7033651 1.6967466 0.7798044 8.5615039 + 30 1.5026644 1.4718046 0.78461914 9.4308883 + 40 1.4881235 1.4586031 0.79494919 9.6135307 + 50 1.6193439 1.6144665 0.81119835 9.2594114 + 60 1.7405127 1.7576881 0.82966956 8.9525458 + 70 1.7758506 1.7999706 0.84538866 8.9719793 + 80 1.7574736 1.7806782 0.85780732 9.1938511 + 90 1.7492232 1.7720284 0.86895259 9.3714617 + 100 1.7800292 1.807315 0.88044504 9.3874107 + 110 1.8442295 1.878681 0.89278276 9.2585436 + 120 1.9193695 1.9667163 0.90556381 9.0683654 + 130 1.9885753 2.0478097 0.91782871 8.8815507 + 140 2.04662 2.1105827 0.92850319 8.718882 + 150 2.0957046 2.1672706 0.93677238 8.5718869 + 160 2.144595 2.2210801 0.94188484 8.4089161 + 170 2.1802133 2.2626399 0.9429713 8.2775682 + 180 2.1868284 2.2696504 0.93931537 8.2321283 + 190 2.1838369 2.2706873 0.93069783 8.1970105 + 200 2.1943436 2.2865542 0.91717737 8.0854148 + 210 2.2029439 2.2912731 0.89906796 7.9589187 + 220 2.1891494 2.2768232 0.87764254 7.9016509 + 230 2.1677848 2.2493747 0.85497463 7.8690125 + 240 2.156695 2.2377486 0.83255207 7.8020978 + 250 2.142758 2.2237662 0.81090722 7.7510242 + 260 2.1177881 2.1967699 0.79016944 7.7477503 + 270 2.0862408 2.1669583 0.77040874 7.7740216 + 280 2.0676515 2.1446262 0.75157955 7.7544068 + 290 2.0645498 2.1425534 0.73343008 7.6746729 + 300 2.0563664 2.1358776 0.71562279 7.6114783 + 310 2.0390115 2.1198472 0.69809211 7.581719 + 320 2.0209035 2.1063385 0.68093855 7.5540946 + 330 2.012488 2.1037583 0.66418283 7.4896097 + 340 2.0166095 2.1094212 0.64762479 7.3779677 + 350 2.0172861 2.1072653 0.63109595 7.2807114 + 360 2.0065768 2.0803788 0.6147802 7.2283814 + 370 1.9970858 2.0639903 0.59905362 7.1747592 + 380 1.9925189 2.056563 0.58395055 7.103506 + 390 1.9935388 2.0546596 0.56945318 7.010305 + 400 2.0020199 2.0632095 0.55532013 6.8883647 + 410 2.009157 2.0732883 0.54128082 6.771521 + 420 2.0081687 2.0785184 0.52711525 6.6868076 + 430 1.9990498 2.0705469 0.51283203 6.6343482 + 440 1.9891528 2.0586814 0.4986104 6.5888679 + 450 1.9829175 2.0465778 0.4846738 6.5332233 + 460 1.9745599 2.031067 0.4711878 6.4903915 + 470 1.9581101 2.006674 0.45837961 6.4836654 + 480 1.9367964 1.9732882 0.44656667 6.501731 + 490 1.9258333 1.9561395 0.43605676 6.4879447 + 500 1.9287 1.9571319 0.42678362 6.4296036 + 510 1.9274696 1.9569118 0.41856553 6.3949919 + 520 1.9100149 1.9392424 0.41134511 6.4307452 + 530 1.8827127 1.9059412 0.40536565 6.5126603 + 540 1.8660696 1.8912024 0.40096324 6.5610607 + 550 1.8701883 1.9043254 0.3982457 6.536251 + 560 1.8842923 1.9289528 0.39698123 6.4785367 + 570 1.8906147 1.9462124 0.39684504 6.4547374 + 580 1.8895472 1.9472747 0.39763233 6.4630103 + 590 1.895375 1.9551336 0.39926725 6.449517 + 600 1.9115711 1.9737109 0.40163655 6.3995241 + 610 1.92823 1.9851787 0.404506 6.3499339 + 620 1.9360678 1.9889572 0.40767569 6.3367514 + 630 1.9346853 1.9836719 0.41105958 6.3637995 + 640 1.9266095 1.9757908 0.41472954 6.4212842 + 650 1.9213863 1.9719496 0.41879537 6.4707692 + 660 1.922962 1.9702923 0.42332926 6.4949933 + 670 1.9238956 1.9707534 0.42836303 6.5212631 + 680 1.9212675 1.9740379 0.43388709 6.5608915 + 690 1.9210314 1.976311 0.43982007 6.5904702 + 700 1.928081 1.9868449 0.44610463 6.5915021 + 710 1.9428895 2.0044235 0.45257857 6.5616141 + 720 1.9554783 2.0176139 0.45898384 6.5367529 + 730 1.969838 2.0327907 0.46505662 6.5017635 + 740 1.9840204 2.0467126 0.47058703 6.4649226 + 750 1.9946633 2.0526929 0.47535832 6.4399342 + 760 2.0018048 2.0535606 0.47924291 6.4280737 + 770 1.9991703 2.0483426 0.48222842 6.4537535 + 780 1.9850797 2.0312444 0.48443072 6.5234271 + 790 1.9691589 2.0154006 0.4861158 6.5995894 + 800 1.9612641 2.0031407 0.48754831 6.6430968 + 810 1.9637155 2.0074142 0.48891261 6.6444644 + 820 1.9691691 2.0110229 0.49018604 6.6304512 + 830 1.9763962 2.0190998 0.49130448 6.6060594 + 840 1.9908278 2.0352615 0.49213189 6.5510683 + 850 2.0105715 2.0558403 0.49238435 6.4743276 + 860 2.0227982 2.0645732 0.49173076 6.4260863 + 870 2.015555 2.064081 0.48998228 6.4528588 + 880 1.9889672 2.0320831 0.48722022 6.5532269 + 890 1.9632172 2.0025881 0.48392295 6.6494723 + 900 1.9527429 1.9887196 0.48054642 6.6846937 + 910 1.9567815 1.9953408 0.47726539 6.6606541 + 920 1.9666996 2.0084955 0.47397593 6.6100666 + 930 1.9702885 2.014774 0.47048741 6.5805871 + 940 1.9661802 2.0116846 0.46671831 6.579539 + 950 1.9576953 1.9960728 0.46273983 6.5967841 + 960 1.9428073 1.9802284 0.45879028 6.6395002 + 970 1.9256011 1.9584581 0.45515059 6.6916425 + 980 1.913512 1.9478848 0.45214528 6.7233279 + 990 1.9174938 1.9449699 0.44994026 6.6943867 + 1000 1.9365527 1.9663901 0.44852349 6.6101761 +Loop time of 0.324261 on 1 procs for 1000 steps with 2775 atoms + +Performance: 266452.077 tau/day, 3083.936 timesteps/s, 8.558 Matom-step/s +99.2% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.19361 | 0.19361 | 0.19361 | 0.0 | 59.71 +Neigh | 0.025544 | 0.025544 | 0.025544 | 0.0 | 7.88 +Comm | 0.0023292 | 0.0023292 | 0.0023292 | 0.0 | 0.72 +Output | 0.0046269 | 0.0046269 | 0.0046269 | 0.0 | 1.43 +Modify | 0.092779 | 0.092779 | 0.092779 | 0.0 | 28.61 +Other | | 0.005374 | | | 1.66 + +Nlocal: 2775 ave 2775 max 2775 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 527 ave 527 max 527 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 24332 ave 24332 max 24332 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 24332 +Ave neighs/atom = 8.7682883 +Neighbor list builds = 38 +Dangerous builds = 0 + +##################################################################### +#initialize the COM velocity and run to achieve steady-state + +#calculate velocity to add: V=J/rho_total +variable Vadd equal $J*lx*ly/count(bulk) +variable Vadd equal 0.1*lx*ly/count(bulk) + +#first remove any COM velocity, then add back the streaming velocity +velocity bulk zero linear +velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no +velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no + +fix GD bulk flow/gauss 1 0 0 #energy yes +#fix_modify GD energy yes + +run ${stabil} +run 1000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- Gaussian dynamics package: doi:10.1021/acs.jpcb.6b09387 + +@Article{strong_water_2017, +title = {The Dynamics of Water in Porous Two-Dimensional Crystals}, +volume = {121}, +number = {1}, +url = {https://doi.org/10.1021/acs.jpcb.6b09387}, +doi = {10.1021/acs.jpcb.6b09387}, +urldate = {2016-12-07}, +journal = {J.~Phys.\ Chem.~B}, +author = {Strong, Steven E. and Eaves, Joel D.}, +year = {2017}, +pages = {189--207} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes + Step c_myT c_myTp TotEng Press + 1000 1.9477212 1.9663901 0.45928547 6.6176422 + 1010 1.9617328 1.9828061 0.45840963 6.555968 + 1020 1.9570976 1.9825696 0.45782895 6.5690613 + 1030 1.9356292 1.9690101 0.45753984 6.6493822 + 1040 1.9174914 1.9448868 0.4577768 6.7171474 + 1050 1.9202482 1.9432766 0.4588733 6.7039634 + 1060 1.9419998 1.9718217 0.46086407 6.617366 + 1070 1.9666048 1.996346 0.46339522 6.5207175 + 1080 1.9775489 2.0078489 0.46608862 6.4794239 + 1090 1.9725172 2.0005028 0.46876174 6.5044299 + 1100 1.9659582 1.9931537 0.47147394 6.5409107 + 1110 1.9670607 1.9965504 0.47432892 6.5527414 + 1120 1.9716302 1.9984924 0.47732198 6.5530022 + 1130 1.9752703 2.0057031 0.48043914 6.5579379 + 1140 1.976368 2.0061152 0.48358744 6.5719123 + 1150 1.9748014 2.0056689 0.48673155 6.5957896 + 1160 1.9729115 2.0036854 0.48986563 6.6200102 + 1170 1.9702742 2.0016461 0.49302426 6.6455948 + 1180 1.9680418 1.9978705 0.49625385 6.6697165 + 1190 1.9640159 1.9937501 0.49962311 6.7004634 + 1200 1.9616719 1.9932085 0.50320747 6.7253219 + 1210 1.9658831 1.9985624 0.50702861 6.7242078 + 1220 1.9790884 2.0132679 0.51100573 6.688483 + 1230 1.9946749 2.0324782 0.51491484 6.6422423 + 1240 2.0039182 2.0484588 0.5184382 6.6190292 + 1250 2.0033685 2.0545791 0.52130299 6.6322608 + 1260 1.9991533 2.0533011 0.52339221 6.6590872 + 1270 1.9969511 2.0571182 0.5246505 6.6789676 + 1280 1.9911353 2.0488281 0.52501304 6.7125634 + 1290 1.9712819 2.0209437 0.52460315 6.7967237 + 1300 1.9486195 1.9967749 0.5238106 6.886265 + 1310 1.951612 2.0051749 0.52294383 6.8723332 + 1320 1.9800953 2.0397207 0.52186525 6.7537937 + 1330 2.0084961 2.0723584 0.52001894 6.6279995 + 1340 2.021654 2.085105 0.51675149 6.554461 + 1350 2.0193685 2.0672662 0.5117514 6.5349176 + 1360 2.0084017 2.0471065 0.50518646 6.5453141 + 1370 1.994978 2.030683 0.49737164 6.5627932 + 1380 1.9781978 2.0044236 0.48871071 6.5903683 + 1390 1.9572368 1.9833426 0.47978207 6.6326472 + 1400 1.9400481 1.956474 0.47117436 6.6600696 + 1410 1.9380218 1.9552501 0.46336325 6.6314231 + 1420 1.9494747 1.9681145 0.45642218 6.5527615 + 1430 1.9610978 1.9824506 0.4501938 6.4763851 + 1440 1.9639503 1.9890985 0.44452289 6.4375535 + 1450 1.9560428 1.9821594 0.43936988 6.4453654 + 1460 1.9399344 1.9627639 0.43486138 6.488055 + 1470 1.9247229 1.9440629 0.43123378 6.5292381 + 1480 1.9213375 1.9369273 0.42866841 6.5271097 + 1490 1.9265729 1.9383637 0.42719968 6.4940959 + 1500 1.930987 1.9416689 0.4267225 6.4673585 + 1510 1.9303444 1.9418498 0.42714462 6.4648027 + 1520 1.9258423 1.940384 0.42844066 6.4834098 + 1530 1.9131202 1.9296653 0.4306338 6.5390881 + 1540 1.8990016 1.9101025 0.43386405 6.6052091 + 1550 1.9012878 1.9120047 0.43834036 6.6147792 + 1560 1.9153287 1.9388751 0.44404054 6.5851781 + 1570 1.9266928 1.9596147 0.45057056 6.5705776 + 1580 1.9358289 1.9745564 0.45744022 6.5674622 + 1590 1.9415248 1.9818707 0.46425451 6.5778534 + 1600 1.9466876 1.98498 0.47075833 6.5878483 + 1610 1.9557175 1.9930268 0.47674103 6.5777205 + 1620 1.9712902 2.0112337 0.48200984 6.5367922 + 1630 1.9900646 2.0303946 0.48631888 6.4790095 + 1640 1.9960901 2.039173 0.48947508 6.4661574 + 1650 1.9879046 2.0329046 0.49151173 6.504063 + 1660 1.9832967 2.0325843 0.49266284 6.5255647 + 1670 1.9875656 2.034783 0.49313513 6.5093662 + 1680 1.9967654 2.0492931 0.49299896 6.4699787 + 1690 2.0025957 2.0532539 0.49216931 6.4389613 + 1700 2.0022202 2.0424508 0.49070612 6.4276702 + 1710 2.0083188 2.0437945 0.48879489 6.3909243 + 1720 2.0178792 2.0439212 0.48646135 6.3411063 + 1730 2.0210944 2.0444299 0.48367905 6.3141106 + 1740 2.0170566 2.0337564 0.48044951 6.3158785 + 1750 2.0099049 2.0231598 0.47693196 6.3313851 + 1760 1.9990395 2.0132651 0.47329842 6.3631889 + 1770 1.9823237 1.9969291 0.46970233 6.4208124 + 1780 1.9640169 1.9798655 0.4663519 6.4879798 + 1790 1.9457657 1.9626633 0.46348315 6.557165 + 1800 1.9253222 1.9443136 0.46134123 6.6365286 + 1810 1.9123385 1.9339816 0.46011796 6.6879846 + 1820 1.9098744 1.9287702 0.45993599 6.7001355 + 1830 1.9096278 1.9220243 0.460898 6.7020982 + 1840 1.9223081 1.9378963 0.46303724 6.6558132 + 1850 1.9481113 1.9718786 0.46616351 6.5618175 + 1860 1.9704143 1.9931969 0.46987208 6.484088 + 1870 1.9864974 2.017655 0.47377416 6.4360445 + 1880 1.993165 2.0276398 0.47750238 6.4296162 + 1890 1.9852177 2.0249022 0.48088382 6.4843765 + 1900 1.9692398 2.0101062 0.4839255 6.5735477 + 1910 1.9516968 1.9893586 0.48689095 6.6692995 + 1920 1.9380452 1.9750949 0.49014596 6.7488323 + 1930 1.9323223 1.9719977 0.49399992 6.7947629 + 1940 1.9402144 1.9786701 0.49859677 6.7846787 + 1950 1.9589972 1.9956447 0.50392573 6.7291499 + 1960 1.979631 2.0201087 0.50984934 6.6648708 + 1970 2.0002749 2.0392081 0.51605302 6.6026647 + 1980 2.0143746 2.0524405 0.52221277 6.5687042 + 1990 2.0166553 2.0466885 0.5281276 6.5835144 + 2000 2.0130617 2.0424179 0.53381506 6.6234083 +Loop time of 0.33442 on 1 procs for 1000 steps with 2775 atoms + +Performance: 258357.633 tau/day, 2990.250 timesteps/s, 8.298 Matom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.19616 | 0.19616 | 0.19616 | 0.0 | 58.66 +Neigh | 0.023799 | 0.023799 | 0.023799 | 0.0 | 7.12 +Comm | 0.0022819 | 0.0022819 | 0.0022819 | 0.0 | 0.68 +Output | 0.0046967 | 0.0046967 | 0.0046967 | 0.0 | 1.40 +Modify | 0.10212 | 0.10212 | 0.10212 | 0.0 | 30.54 +Other | | 0.005366 | | | 1.60 + +Nlocal: 2775 ave 2775 max 2775 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 530 ave 530 max 530 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 24370 ave 24370 max 24370 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 24370 +Ave neighs/atom = 8.781982 +Neighbor list builds = 35 +Dangerous builds = 0 + +##################################################################### +#collect data + +#print the applied force and total flux to ensure conservation of Jx +variable Fapp equal f_GD[1] +compute vxBulk bulk reduce sum vx +compute vyBulk bulk reduce sum vy +variable invVol equal 1.0/(lx*ly) +variable jx equal c_vxBulk*${invVol} +variable jx equal c_vxBulk*0.00025 +variable jy equal c_vyBulk*${invVol} +variable jy equal c_vyBulk*0.00025 +variable curr_step equal step +variable p_Fapp format Fapp %.3f +variable p_jx format jx %.5g +variable p_jy format jy %.5g +fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" +fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" + +#compute IK1 pressure profile +#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627 +#use profile-unbiased temperature to remove the streaming velocity +#from the kinetic part of the pressure +compute spa bulk stress/atom myTp + +#for the pressure profile, use the same grid as the PUT +compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box +compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box + +#output pressure profile and other profiles +#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where +#V is the volume of a slice +fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite +fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite + +#compute velocity profile across the pipe with a finer grid +variable dYnew equal ${dY}/10 +variable dYnew equal 3.07692307692308/10 +compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe +compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe +fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite +fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite + +#full trajectory +# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z +# dump_modify 7 sort id + +run ${run} +run 2000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.175 | 5.175 | 5.175 Mbytes + Step c_myT c_myTp TotEng Press + 2000 2.0130617 2.0424179 0.53381506 6.6234083 + 2010 2.011712 2.0399428 0.53937165 6.6546944 + 2020 2.0177252 2.0516588 0.54483848 6.6575988 + 2030 2.0192267 2.054258 0.55012466 6.6761208 + 2040 2.0155308 2.0513866 0.55518707 6.7132509 + 2050 2.016831 2.0539288 0.56007247 6.7306192 + 2060 2.0213378 2.0690043 0.56479732 6.7330132 + 2070 2.0292987 2.0799825 0.56913353 6.7186216 + 2080 2.0342188 2.0900923 0.57283821 6.7098434 + 2090 2.0376411 2.096351 0.57566175 6.6998818 + 2100 2.053128 2.1238481 0.57727694 6.637431 + 2110 2.0783941 2.1609599 0.5768993 6.5304031 + 2120 2.0887269 2.1760645 0.57341638 6.4706853 + 2130 2.06944 2.1522354 0.5659988 6.5099284 + 2140 2.0380605 2.115767 0.55466476 6.5802578 + 2150 2.0195872 2.0868424 0.54025148 6.5885111 + 2160 2.0061251 2.069266 0.52417244 6.5682875 + 2170 1.992682 2.0526743 0.50812177 6.5470052 + 2180 1.9816004 2.0352692 0.49354583 6.5244099 + 2190 1.9688265 2.0226679 0.4811848 6.5185172 + 2200 1.9574266 2.000155 0.47107703 6.5176047 + 2210 1.9502736 1.9925522 0.46298224 6.5078398 + 2220 1.9475332 1.9936032 0.45641728 6.4850252 + 2230 1.9545128 2.0045053 0.45087489 6.4291405 + 2240 1.9627871 2.0112148 0.44588526 6.3715676 + 2250 1.9617694 2.0073769 0.44121477 6.3541518 + 2260 1.9579423 2.0079137 0.43675541 6.3542735 + 2270 1.9475845 1.998983 0.43243494 6.3854071 + 2280 1.9253275 1.9715083 0.42839782 6.464845 + 2290 1.8996763 1.9456257 0.42496367 6.5591177 + 2300 1.8823546 1.9240543 0.42247729 6.6211062 + 2310 1.8844318 1.9216768 0.42116372 6.6085376 + 2320 1.8965287 1.933936 0.42103218 6.5584198 + 2330 1.902103 1.9433708 0.421956 6.5350698 + 2340 1.9061826 1.950462 0.42378825 6.5228738 + 2350 1.9180306 1.961141 0.42644522 6.489172 + 2360 1.9296124 1.9748542 0.42981448 6.4628168 + 2370 1.9328566 1.9718181 0.43373762 6.4721746 + 2380 1.9360042 1.9769998 0.43819906 6.4840942 + 2390 1.9387073 1.9778749 0.44317927 6.49778 + 2400 1.9445619 1.9882647 0.4486142 6.4971899 + 2410 1.9553344 1.9997412 0.45435544 6.4749774 + 2420 1.9710783 2.0211926 0.46019236 6.4320181 + 2430 1.9903873 2.046553 0.46575694 6.3751343 + 2440 2.0041158 2.0721071 0.47060398 6.3415121 + 2450 2.0020392 2.0728953 0.47431806 6.3708096 + 2460 1.9839851 2.0568906 0.47681718 6.465129 + 2470 1.9566365 2.0258852 0.47838596 6.5966256 + 2480 1.929674 2.0032606 0.47952215 6.7260074 + 2490 1.9153613 1.990031 0.48061628 6.8035919 + 2500 1.9188373 1.9920514 0.4819225 6.8075788 + 2510 1.9371656 2.0138698 0.48343533 6.7492701 + 2520 1.9566481 2.0340995 0.48485699 6.6821181 + 2530 1.9636141 2.0389496 0.48583392 6.6581326 + 2540 1.9585172 2.0207113 0.48622314 6.6762792 + 2550 1.9516934 2.0024186 0.48621721 6.6980104 + 2560 1.9509543 1.9960852 0.48612286 6.6946311 + 2570 1.9601672 2.0072552 0.48602872 6.6528934 + 2580 1.973804 2.0230879 0.48576601 6.5942862 + 2590 1.9788378 2.034436 0.48505027 6.5689819 + 2600 1.9716493 2.0208578 0.48368043 6.5897554 + 2610 1.9618006 2.007098 0.48174365 6.6188626 + 2620 1.9631458 2.0075461 0.4793429 6.6026194 + 2630 1.9706918 2.0174955 0.47638698 6.5591053 + 2640 1.9759585 2.0213828 0.47264742 6.5198595 + 2650 1.9761708 2.0225139 0.46794373 6.4977306 + 2660 1.9611574 2.0083871 0.46221598 6.5299021 + 2670 1.9342882 1.9720247 0.45576624 6.6034695 + 2680 1.9142009 1.9520382 0.44913109 6.6474082 + 2690 1.9052096 1.9428107 0.4426988 6.645123 + 2700 1.902446 1.9459937 0.43672046 6.6152926 + 2710 1.9099036 1.9594727 0.43120889 6.5473804 + 2720 1.9180788 1.9767479 0.42599739 6.4792536 + 2730 1.9142892 1.9798275 0.42092791 6.4604982 + 2740 1.9019844 1.9674244 0.41601841 6.4795855 + 2750 1.8895632 1.958412 0.41144638 6.5037424 + 2760 1.8824401 1.9494985 0.40739848 6.5113925 + 2770 1.8852759 1.9525073 0.40398809 6.484535 + 2780 1.8998168 1.9664907 0.40114076 6.4159782 + 2790 1.9153937 1.9810349 0.39863439 6.346934 + 2800 1.9162707 1.9824285 0.39627973 6.3364828 + 2810 1.9087999 1.9666258 0.39408314 6.360755 + 2820 1.9073152 1.956153 0.39226387 6.3655719 + 2830 1.9091743 1.9493705 0.39098546 6.3595054 + 2840 1.9042021 1.9424118 0.39036698 6.381752 + 2850 1.8901401 1.9353495 0.39057524 6.4417859 + 2860 1.872943 1.915215 0.39190057 6.5158585 + 2870 1.8732626 1.9181551 0.39474702 6.5269257 + 2880 1.8931021 1.9396049 0.39938934 6.467715 + 2890 1.9217069 1.9733171 0.40581935 6.3811936 + 2900 1.9452213 1.9949806 0.41374968 6.3217226 + 2910 1.9591065 2.0105363 0.42280483 6.3087055 + 2920 1.9649158 2.0234068 0.43256139 6.3353204 + 2930 1.9647653 2.0265233 0.4425691 6.3902862 + 2940 1.9623876 2.0281154 0.45237409 6.4560778 + 2950 1.9591057 2.0276078 0.46164197 6.5239614 + 2960 1.9556907 2.0254377 0.47016674 6.5883236 + 2970 1.9524475 2.0203546 0.47782337 6.6457078 + 2980 1.9556442 2.0212175 0.48459527 6.6731473 + 2990 1.9663638 2.0285202 0.49047217 6.667322 + 3000 1.976263 2.0326354 0.49540098 6.6601492 + 3010 1.9734917 2.0251301 0.49938916 6.6970878 + 3020 1.955368 1.9974693 0.50265656 6.7865104 + 3030 1.9476644 1.9780945 0.50564273 6.8327176 + 3040 1.9584769 1.9887952 0.50867872 6.8046262 + 3050 1.9705616 2.0030557 0.51168699 6.7669575 + 3060 1.9766986 2.0112576 0.51444822 6.74919 + 3070 1.9766671 2.0076853 0.51685838 6.7523339 + 3080 1.9763383 2.0045916 0.51896849 6.7532253 + 3090 1.9855877 2.0260371 0.52081442 6.7160131 + 3100 2.0011042 2.042205 0.52215192 6.653598 + 3110 2.0039819 2.0511266 0.52275172 6.6355885 + 3120 1.9958773 2.0457899 0.52253307 6.6565817 + 3130 1.9933925 2.04521 0.52158082 6.6543706 + 3140 1.9936643 2.0477262 0.51996279 6.639564 + 3150 1.9921223 2.0455965 0.51768794 6.6291901 + 3160 1.9914788 2.0365842 0.51483187 6.6154874 + 3170 1.9922866 2.0422451 0.51144092 6.5976334 + 3180 1.9872806 2.0376593 0.50747923 6.6043774 + 3190 1.9708577 2.0198422 0.50308657 6.6551127 + 3200 1.9534272 1.9982319 0.49857904 6.7093718 + 3210 1.9423425 1.9876311 0.49429833 6.7370529 + 3220 1.941974 1.984738 0.49043179 6.7218879 + 3230 1.9456357 1.9916666 0.48697785 6.6917144 + 3240 1.9392412 1.9874858 0.48388805 6.7004046 + 3250 1.9312152 1.9814714 0.4812083 6.7175714 + 3260 1.9364393 1.9840125 0.47897357 6.6870787 + 3270 1.9490184 1.9871802 0.47715672 6.6308261 + 3280 1.9578901 1.9917218 0.47568803 6.589659 + 3290 1.9598612 1.9918098 0.47449561 6.5756965 + 3300 1.9538424 1.9845316 0.47357576 6.5931068 + 3310 1.944957 1.9676243 0.47302774 6.6211221 + 3320 1.9479975 1.9720828 0.47296613 6.6058089 + 3330 1.9569283 1.98719 0.47330356 6.5698601 + 3340 1.9558114 1.9861834 0.47383928 6.5729191 + 3350 1.9461606 1.9777192 0.47452365 6.6090135 + 3360 1.942095 1.9776297 0.47540879 6.6255417 + 3370 1.9482423 1.981145 0.47643851 6.6032207 + 3380 1.9564098 1.992645 0.47752314 6.5736007 + 3390 1.9607986 2.0006048 0.47852085 6.5587348 + 3400 1.9595637 2.0047228 0.47933656 6.5656692 + 3410 1.9628181 2.013785 0.47991082 6.5570579 + 3420 1.9698466 2.0200788 0.48018617 6.536373 + 3430 1.969877 2.0210764 0.48013786 6.543084 + 3440 1.96327 2.0103631 0.47979187 6.5761448 + 3450 1.9566516 1.9996494 0.47933398 6.6098616 + 3460 1.9511915 1.9976175 0.47891646 6.6401481 + 3470 1.9410601 1.9950284 0.47859124 6.6862584 + 3480 1.9307395 1.98193 0.47840998 6.7307929 + 3490 1.9206678 1.9678856 0.47853003 6.7702613 + 3500 1.9139405 1.955324 0.47914241 6.7934071 + 3510 1.9206383 1.957176 0.48041531 6.763312 + 3520 1.9449301 1.9816996 0.4823109 6.6651453 + 3530 1.9752924 2.0115126 0.48452681 6.5438659 + 3540 1.9951599 2.037759 0.48660439 6.463461 + 3550 2.00071 2.0413872 0.48813252 6.4405933 + 3560 1.9939017 2.0277566 0.48901382 6.4684771 + 3570 1.9766844 2.0031366 0.48946452 6.5392906 + 3580 1.9600495 1.9790718 0.48988281 6.6106541 + 3590 1.9522334 1.9727673 0.49062615 6.6517495 + 3600 1.9522007 1.9829458 0.49183552 6.6635632 + 3610 1.9614098 1.9992781 0.49340617 6.6407777 + 3620 1.9739926 2.0159629 0.49511752 6.6062456 + 3630 1.9726539 2.0152219 0.49675445 6.6254361 + 3640 1.9613098 2.0017247 0.49829011 6.6828523 + 3650 1.9577727 2.0000723 0.49991877 6.7111788 + 3660 1.9626403 2.0037309 0.50175296 6.7072182 + 3670 1.9603974 1.9937256 0.50383808 6.7277464 + 3680 1.9532611 1.9846903 0.50638428 6.766139 + 3690 1.9541656 1.9798331 0.50962883 6.7752527 + 3700 1.9656726 1.9951191 0.51377056 6.7462001 + 3710 1.9834474 2.0193011 0.5187681 6.6957856 + 3720 2.0017372 2.0396413 0.52433682 6.6470375 + 3730 2.0109702 2.0469463 0.53011728 6.6363717 + 3740 2.0096859 2.0458572 0.53588234 6.6682277 + 3750 2.0066189 2.0519843 0.54153099 6.7085484 + 3760 2.0096126 2.0561094 0.54689937 6.7250788 + 3770 2.0117777 2.0668795 0.55183559 6.7400961 + 3780 2.0154601 2.0763941 0.55607392 6.7423369 + 3790 2.0313954 2.0972106 0.55930714 6.6920109 + 3800 2.0496133 2.1176374 0.56110467 6.6271089 + 3810 2.0553084 2.1205041 0.56098738 6.6034667 + 3820 2.0478771 2.1131255 0.5587031 6.6239895 + 3830 2.0342107 2.0991257 0.55418078 6.6632309 + 3840 2.0142205 2.0767164 0.5475632 6.7196407 + 3850 1.9879527 2.0516847 0.53919956 6.7932756 + 3860 1.9593315 2.0232738 0.52966135 6.8686984 + 3870 1.9362884 1.9952027 0.51970091 6.9156688 + 3880 1.9292997 1.988308 0.50996281 6.8957697 + 3890 1.9372437 1.9978667 0.50073928 6.8160964 + 3900 1.949918 2.0107188 0.49208883 6.7186535 + 3910 1.9547594 2.0160936 0.48397839 6.6537347 + 3920 1.9543568 2.0191268 0.47640162 6.6136066 + 3930 1.9582199 2.020036 0.46933873 6.5629723 + 3940 1.9644632 2.0304626 0.4627222 6.5077173 + 3950 1.9645883 2.030183 0.45644411 6.4795254 + 3960 1.9546999 2.0197243 0.45050582 6.4943661 + 3970 1.9424307 2.0063453 0.44500624 6.5237706 + 3980 1.9281472 1.9910524 0.44010499 6.5640156 + 3990 1.9168821 1.976369 0.43594016 6.592621 + 4000 1.9150056 1.9752502 0.43256473 6.5855641 +Loop time of 0.696491 on 1 procs for 2000 steps with 2775 atoms + +Performance: 248100.709 tau/day, 2871.536 timesteps/s, 7.969 Matom-step/s +99.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.39664 | 0.39664 | 0.39664 | 0.0 | 56.95 +Neigh | 0.051502 | 0.051502 | 0.051502 | 0.0 | 7.39 +Comm | 0.0047546 | 0.0047546 | 0.0047546 | 0.0 | 0.68 +Output | 0.0095092 | 0.0095092 | 0.0095092 | 0.0 | 1.37 +Modify | 0.22322 | 0.22322 | 0.22322 | 0.0 | 32.05 +Other | | 0.01087 | | | 1.56 + +Nlocal: 2775 ave 2775 max 2775 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 512 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 24313 ave 24313 max 24313 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 24313 +Ave neighs/atom = 8.7614414 +Neighbor list builds = 75 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.4 b/examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.4 new file mode 100644 index 0000000000..089e8d003d --- /dev/null +++ b/examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.4 @@ -0,0 +1,941 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +#LAMMPS input script +#in.GD +#see README for details + +############################################################################### +#initialize variables +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task + +#frequency for outputting info (timesteps) +variable dump_rate equal 50 +variable thermo_rate equal 10 + +#equilibration time (timesteps) +variable equil equal 1000 + +#stabilization time (timesteps to reach steady-state) +variable stabil equal 1000 + +#data collection time (timesteps) +variable run equal 2000 + +#length of pipe +variable L equal 30 + +#width of pipe +variable d equal 20 + +#flux (mass/sigma*tau) +variable J equal 0.1 + +#simulation box dimensions +variable Lx equal 100 +variable Ly equal 40 + +#bulk fluid density +variable dens equal 0.8 + +#lattice spacing for wall atoms +variable aWall equal 1.0 #1.7472 + +#timestep +variable ts equal 0.001 + +#temperature +variable T equal 2.0 + +#thermostat damping constant +variable tdamp equal ${ts}*100 +variable tdamp equal 0.001*100 + +units lj +dimension 2 +atom_style atomic + + +############################################################################### +#create box + +#create lattice with the spacing aWall +variable rhoWall equal ${aWall}^(-2) +variable rhoWall equal 1^(-2) +lattice sq ${rhoWall} +lattice sq 1 +Lattice spacing in x,y,z = 1 1 1 + +#modify input dimensions to be multiples of aWall +variable L1 equal round($L/${aWall})*${aWall} +variable L1 equal round(30/${aWall})*${aWall} +variable L1 equal round(30/1)*${aWall} +variable L1 equal round(30/1)*1 +variable d1 equal round($d/${aWall})*${aWall} +variable d1 equal round(20/${aWall})*${aWall} +variable d1 equal round(20/1)*${aWall} +variable d1 equal round(20/1)*1 +variable Ly1 equal round(${Ly}/${aWall})*${aWall} +variable Ly1 equal round(40/${aWall})*${aWall} +variable Ly1 equal round(40/1)*${aWall} +variable Ly1 equal round(40/1)*1 +variable Lx1 equal round(${Lx}/${aWall})*${aWall} +variable Lx1 equal round(100/${aWall})*${aWall} +variable Lx1 equal round(100/1)*${aWall} +variable Lx1 equal round(100/1)*1 + +#create simulation box +variable lx2 equal ${Lx1}/2 +variable lx2 equal 100/2 +variable ly2 equal ${Ly1}/2 +variable ly2 equal 40/2 +region simbox block -${lx2} ${lx2} -${ly2} ${ly2} -0.1 0.1 units box +region simbox block -50 ${lx2} -${ly2} ${ly2} -0.1 0.1 units box +region simbox block -50 50 -${ly2} ${ly2} -0.1 0.1 units box +region simbox block -50 50 -20 ${ly2} -0.1 0.1 units box +region simbox block -50 50 -20 20 -0.1 0.1 units box +create_box 2 simbox +Created orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + 4 by 1 by 1 MPI processor grid + +##################################################################### +#set up potential + +mass 1 1.0 #fluid atoms +mass 2 1.0 #wall atoms + +pair_style lj/cut 2.5 +pair_modify shift yes +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 1.12246 +pair_coeff 2 2 0.0 0.0 + +neigh_modify exclude type 2 2 + +timestep ${ts} +timestep 0.001 + +##################################################################### +#create atoms + +#create wall atoms everywhere +create_atoms 2 box +Created 4000 atoms + using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + create_atoms CPU = 0.000 seconds + +#define region which is "walled off" +variable dhalf equal ${d1}/2 +variable dhalf equal 20/2 +variable Lhalf equal ${L1}/2 +variable Lhalf equal 30/2 +region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box +region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box +region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box +region walltop block -15 15 10 EDGE -0.1 0.1 units box +region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box +region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box +region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box +region wallbot block -15 15 EDGE -10 -0.1 0.1 units box +region outsidewall union 2 walltop wallbot side out + +#remove wall atoms outside wall region +group outside region outsidewall +3349 atoms in group outside +delete_atoms group outside +Deleted 3349 atoms, new total = 651 + +#remove wall atoms that aren't on edge of wall region +variable x1 equal ${Lhalf}-${aWall} +variable x1 equal 15-${aWall} +variable x1 equal 15-1 +variable y1 equal ${dhalf}+${aWall} +variable y1 equal 10+${aWall} +variable y1 equal 10+1 +region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box +region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box +region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box +region insideTop block -14 14 11 EDGE -0.1 0.1 units box +region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box +region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box +region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box +region insideBot block -14 14 EDGE -11 -0.1 0.1 units box +region insideWall union 2 insideTop insideBot +group insideWall region insideWall +551 atoms in group insideWall +delete_atoms group insideWall +Deleted 551 atoms, new total = 100 + +#define new lattice, to give correct fluid density +#y lattice const must be a multiple of aWall +variable atrue equal ${dens}^(-1/2) +variable atrue equal 0.8^(-1/2) +variable ay equal round(${atrue}/${aWall})*${aWall} +variable ay equal round(1.11803398874989/${aWall})*${aWall} +variable ay equal round(1.11803398874989/1)*${aWall} +variable ay equal round(1.11803398874989/1)*1 + +#choose x lattice const to give correct density +variable ax equal (${ay}*${dens})^(-1) +variable ax equal (1*${dens})^(-1) +variable ax equal (1*0.8)^(-1) + +#change Lx to be multiple of ax +variable Lx1 equal round(${Lx}/${ax})*${ax} +variable Lx1 equal round(100/${ax})*${ax} +variable Lx1 equal round(100/1.25)*${ax} +variable Lx1 equal round(100/1.25)*1.25 +variable lx2 equal ${Lx1}/2 +variable lx2 equal 100/2 +change_box all x final -${lx2} ${lx2} units box +change_box all x final -50 ${lx2} units box +change_box all x final -50 50 units box +Changing box ... + orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + +#define new lattice +lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +Lattice spacing in x,y,z = 1.25 1 1 + +#fill in rest of box with bulk particles +variable delta equal 0.001 +variable Ldelt equal ${Lhalf}+${delta} +variable Ldelt equal 15+${delta} +variable Ldelt equal 15+0.001 +variable dDelt equal ${dhalf}-${delta} +variable dDelt equal 10-${delta} +variable dDelt equal 10-0.001 +region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box +region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box +region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box +region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box +region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box +region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box +region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box +region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box +region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box + +region bulk union 3 left pipe right +create_atoms 1 region bulk +Created 2675 atoms + using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + create_atoms CPU = 0.000 seconds + +group bulk type 1 +2675 atoms in group bulk +group wall type 2 +100 atoms in group wall + +#remove atoms that are too close to wall +delete_atoms overlap 0.9 bulk wall +System init for delete_atoms ... +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 72 29 1 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) command delete_atoms, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/2d + bin: standard + (2) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Deleted 0 atoms, new total = 2775 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes +neigh_modify exclude group wall wall + +velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom +velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom + +##################################################################### +#set up PUT +#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172 + +#average number of particles per box, Evans and Morriss used 2.0 +variable NperBox equal 8.0 + +#calculate box sizes +variable boxSide equal sqrt(${NperBox}/${dens}) +variable boxSide equal sqrt(8/${dens}) +variable boxSide equal sqrt(8/0.8) +variable nX equal round(lx/${boxSide}) +variable nX equal round(lx/3.16227766016838) +variable nY equal round(ly/${boxSide}) +variable nY equal round(ly/3.16227766016838) +variable dX equal lx/${nX} +variable dX equal lx/32 +variable dY equal ly/${nY} +variable dY equal ly/13 + +#temperature of fluid (excluding wall) +compute myT bulk temp + +#profile-unbiased temperature of fluid +compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY} +compute myTp bulk temp/profile 1 1 0 xy 32 ${nY} +compute myTp bulk temp/profile 1 1 0 xy 32 13 + +#thermo setup +thermo ${thermo_rate} +thermo 10 +thermo_style custom step c_myT c_myTp etotal press + +#dump initial configuration +# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz +# dump 56 wall custom 1 wall.init.lammpstrj id type x y z +# dump_modify 55 sort id +# dump_modify 56 sort id +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 72 29 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.068 | 3.069 | 3.071 Mbytes + Step c_myT c_myTp TotEng Press + 0 2 2.054601 0.77892922 7.3417096 +Loop time of 1.90125e-06 on 4 procs for 0 steps with 2775 atoms + +26.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.901e-06 | | |100.00 + +Nlocal: 693.75 ave 800 max 578 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 266.25 ave 325 max 198 min +Histogram: 1 1 0 0 0 0 0 0 0 2 +Neighs: 6601.5 ave 8000 max 5147 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 26406 +Ave neighs/atom = 9.5156757 +Neighbor list builds = 0 +Dangerous builds = 0 +# undump 55 +# undump 56 + +##################################################################### +#equilibrate without GD + +fix nvt bulk nvt temp $T $T ${tdamp} +fix nvt bulk nvt temp 2 $T ${tdamp} +fix nvt bulk nvt temp 2 2 ${tdamp} +fix nvt bulk nvt temp 2 2 0.1 +fix_modify nvt temp myTp +WARNING: Temperature for fix modify is not for group all (src/fix_nh.cpp:1391) +fix 2 bulk enforce2d + +run ${equil} +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.131 | 3.132 | 3.133 Mbytes + Step c_myT c_myTp TotEng Press + 0 2 2.054601 0.77892922 7.3417096 + 10 1.9173668 1.9381538 0.77877698 7.6702283 + 20 1.7033651 1.6967466 0.7798044 8.5615039 + 30 1.5026644 1.4718046 0.78461914 9.4308883 + 40 1.4881235 1.4586031 0.79494919 9.6135307 + 50 1.6193439 1.6144665 0.81119835 9.2594114 + 60 1.7405127 1.7576881 0.82966956 8.9525458 + 70 1.7758506 1.7999706 0.84538866 8.9719793 + 80 1.7574736 1.7806782 0.85780732 9.1938511 + 90 1.7492232 1.7720284 0.86895259 9.3714617 + 100 1.7800292 1.807315 0.88044504 9.3874107 + 110 1.8442295 1.878681 0.89278276 9.2585436 + 120 1.9193695 1.9667163 0.90556381 9.0683654 + 130 1.9885753 2.0478097 0.91782871 8.8815507 + 140 2.04662 2.1105827 0.92850319 8.718882 + 150 2.0957046 2.1672706 0.93677238 8.5718869 + 160 2.144595 2.2210801 0.94188484 8.4089161 + 170 2.1802133 2.2626399 0.9429713 8.2775682 + 180 2.1868284 2.2696504 0.93931537 8.2321283 + 190 2.1838369 2.2706873 0.93069783 8.1970105 + 200 2.1943436 2.2865542 0.91717737 8.0854148 + 210 2.2029439 2.2912731 0.89906796 7.9589187 + 220 2.1891494 2.2768232 0.87764254 7.9016509 + 230 2.1677848 2.2493747 0.85497463 7.8690125 + 240 2.156695 2.2377486 0.83255207 7.8020978 + 250 2.142758 2.2237662 0.81090722 7.7510242 + 260 2.1177881 2.1967699 0.79016944 7.7477503 + 270 2.0862408 2.1669583 0.77040874 7.7740216 + 280 2.0676515 2.1446262 0.75157955 7.7544068 + 290 2.0645498 2.1425534 0.73343008 7.6746729 + 300 2.0563664 2.1358776 0.71562279 7.6114783 + 310 2.0390115 2.1198472 0.69809211 7.581719 + 320 2.0209035 2.1063385 0.68093855 7.5540946 + 330 2.012488 2.1037583 0.66418283 7.4896097 + 340 2.0166095 2.1094212 0.64762479 7.3779677 + 350 2.0172861 2.1072653 0.63109595 7.2807114 + 360 2.0065768 2.0803788 0.6147802 7.2283814 + 370 1.9970858 2.0639903 0.59905362 7.1747592 + 380 1.9925189 2.056563 0.58395055 7.103506 + 390 1.9935388 2.0546596 0.56945318 7.010305 + 400 2.0020199 2.0632095 0.55532013 6.8883647 + 410 2.009157 2.0732883 0.54128082 6.771521 + 420 2.0081687 2.0785184 0.52711525 6.6868076 + 430 1.9990498 2.0705469 0.51283203 6.6343482 + 440 1.9891528 2.0586814 0.4986104 6.5888679 + 450 1.9829175 2.0465778 0.4846738 6.5332233 + 460 1.9745599 2.031067 0.4711878 6.4903915 + 470 1.9581101 2.006674 0.45837961 6.4836654 + 480 1.9367964 1.9732882 0.44656667 6.501731 + 490 1.9258333 1.9561395 0.43605676 6.4879447 + 500 1.9287 1.9571319 0.42678362 6.4296036 + 510 1.9274696 1.9569118 0.41856553 6.3949919 + 520 1.9100149 1.9392424 0.41134511 6.4307452 + 530 1.8827127 1.9059412 0.40536565 6.5126603 + 540 1.8660696 1.8912024 0.40096324 6.5610607 + 550 1.8701883 1.9043254 0.3982457 6.536251 + 560 1.8842923 1.9289528 0.39698123 6.4785367 + 570 1.8906147 1.9462124 0.39684504 6.4547374 + 580 1.8895472 1.9472747 0.39763233 6.4630103 + 590 1.895375 1.9551336 0.39926725 6.449517 + 600 1.9115711 1.9737109 0.40163655 6.3995241 + 610 1.92823 1.9851787 0.404506 6.3499339 + 620 1.9360678 1.9889572 0.40767569 6.3367514 + 630 1.9346853 1.9836719 0.41105958 6.3637995 + 640 1.9266095 1.9757908 0.41472954 6.4212842 + 650 1.9213863 1.9719496 0.41879537 6.4707692 + 660 1.922962 1.9702923 0.42332926 6.4949933 + 670 1.9238956 1.9707534 0.42836303 6.5212631 + 680 1.9212675 1.9740379 0.43388709 6.5608915 + 690 1.9210314 1.976311 0.43982007 6.5904702 + 700 1.928081 1.9868449 0.44610463 6.5915021 + 710 1.9428895 2.0044235 0.45257857 6.5616141 + 720 1.9554783 2.0176139 0.45898384 6.5367529 + 730 1.969838 2.0327907 0.46505662 6.5017635 + 740 1.9840204 2.0467126 0.47058703 6.4649226 + 750 1.9946633 2.0526929 0.47535832 6.4399342 + 760 2.0018048 2.0535606 0.47924291 6.4280737 + 770 1.9991703 2.0483426 0.48222842 6.4537535 + 780 1.9850797 2.0312444 0.48443072 6.5234271 + 790 1.9691589 2.0154006 0.4861158 6.5995894 + 800 1.9612641 2.0031407 0.48754831 6.6430968 + 810 1.9637155 2.0074142 0.48891261 6.6444644 + 820 1.9691691 2.0110229 0.49018604 6.6304512 + 830 1.9763962 2.0190998 0.49130448 6.6060594 + 840 1.9908278 2.0352615 0.49213189 6.5510683 + 850 2.0105715 2.0558403 0.49238435 6.4743276 + 860 2.0227982 2.0645732 0.49173076 6.4260863 + 870 2.015555 2.064081 0.48998228 6.4528588 + 880 1.9889672 2.0320831 0.48722022 6.5532269 + 890 1.9632172 2.0025881 0.48392295 6.6494723 + 900 1.9527429 1.9887196 0.48054642 6.6846937 + 910 1.9567815 1.9953408 0.47726539 6.6606541 + 920 1.9666996 2.0084955 0.47397593 6.6100666 + 930 1.9702885 2.014774 0.47048741 6.5805871 + 940 1.9661802 2.0116846 0.46671831 6.579539 + 950 1.9576953 1.9960728 0.46273983 6.5967841 + 960 1.9428073 1.9802284 0.45879028 6.6395002 + 970 1.9256011 1.9584581 0.45515059 6.6916425 + 980 1.913512 1.9478848 0.45214528 6.7233279 + 990 1.9174938 1.9449699 0.44994026 6.6943867 + 1000 1.9365527 1.9663901 0.44852349 6.6101761 +Loop time of 0.136245 on 4 procs for 1000 steps with 2775 atoms + +Performance: 634150.810 tau/day, 7339.708 timesteps/s, 20.368 Matom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.05652 | 0.058835 | 0.061144 | 0.7 | 43.18 +Neigh | 0.0077706 | 0.0082387 | 0.0086435 | 0.4 | 6.05 +Comm | 0.0079304 | 0.010631 | 0.013709 | 2.5 | 7.80 +Output | 0.003516 | 0.0036313 | 0.0038326 | 0.2 | 2.67 +Modify | 0.045283 | 0.048616 | 0.052008 | 1.3 | 35.68 +Other | | 0.006293 | | | 4.62 + +Nlocal: 693.75 ave 800 max 584 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 255.25 ave 323 max 192 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 6083 ave 7383 max 4741 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 24332 +Ave neighs/atom = 8.7682883 +Neighbor list builds = 38 +Dangerous builds = 0 + +##################################################################### +#initialize the COM velocity and run to achieve steady-state + +#calculate velocity to add: V=J/rho_total +variable Vadd equal $J*lx*ly/count(bulk) +variable Vadd equal 0.1*lx*ly/count(bulk) + +#first remove any COM velocity, then add back the streaming velocity +velocity bulk zero linear +velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no +velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no + +fix GD bulk flow/gauss 1 0 0 #energy yes +#fix_modify GD energy yes + +run ${stabil} +run 1000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- Gaussian dynamics package: doi:10.1021/acs.jpcb.6b09387 + +@Article{strong_water_2017, +title = {The Dynamics of Water in Porous Two-Dimensional Crystals}, +volume = {121}, +number = {1}, +url = {https://doi.org/10.1021/acs.jpcb.6b09387}, +doi = {10.1021/acs.jpcb.6b09387}, +urldate = {2016-12-07}, +journal = {J.~Phys.\ Chem.~B}, +author = {Strong, Steven E. and Eaves, Joel D.}, +year = {2017}, +pages = {189--207} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.131 | 3.132 | 3.133 Mbytes + Step c_myT c_myTp TotEng Press + 1000 1.9477212 1.9663901 0.45928547 6.6176422 + 1010 1.9617328 1.9828061 0.45840963 6.555968 + 1020 1.9570976 1.9825696 0.45782895 6.5690613 + 1030 1.9356292 1.9690101 0.45753984 6.6493822 + 1040 1.9174914 1.9448868 0.4577768 6.7171474 + 1050 1.9202482 1.9432766 0.4588733 6.7039634 + 1060 1.9419998 1.9718217 0.46086407 6.617366 + 1070 1.9666048 1.996346 0.46339522 6.5207175 + 1080 1.9775489 2.0078489 0.46608862 6.4794239 + 1090 1.9725172 2.0005028 0.46876174 6.5044299 + 1100 1.9659582 1.9931537 0.47147394 6.5409107 + 1110 1.9670607 1.9965504 0.47432892 6.5527414 + 1120 1.9716302 1.9984924 0.47732198 6.5530022 + 1130 1.9752703 2.0057031 0.48043914 6.5579379 + 1140 1.976368 2.0061152 0.48358744 6.5719123 + 1150 1.9748014 2.0056689 0.48673155 6.5957896 + 1160 1.9729115 2.0036854 0.48986563 6.6200102 + 1170 1.9702742 2.0016461 0.49302426 6.6455948 + 1180 1.9680418 1.9978705 0.49625385 6.6697165 + 1190 1.9640159 1.9937501 0.49962311 6.7004634 + 1200 1.9616719 1.9932085 0.50320747 6.7253219 + 1210 1.9658831 1.9985624 0.50702861 6.7242078 + 1220 1.9790884 2.0132679 0.51100573 6.688483 + 1230 1.9946749 2.0324782 0.51491484 6.6422423 + 1240 2.0039182 2.0484588 0.5184382 6.6190292 + 1250 2.0033685 2.0545791 0.52130299 6.6322608 + 1260 1.9991533 2.0533011 0.52339221 6.6590872 + 1270 1.9969511 2.0571182 0.5246505 6.6789676 + 1280 1.9911353 2.0488281 0.52501304 6.7125634 + 1290 1.9712819 2.0209437 0.52460315 6.7967237 + 1300 1.9486195 1.9967749 0.5238106 6.886265 + 1310 1.951612 2.0051749 0.52294383 6.8723332 + 1320 1.9800953 2.0397207 0.52186525 6.7537937 + 1330 2.0084961 2.0723584 0.52001894 6.6279995 + 1340 2.021654 2.085105 0.51675149 6.554461 + 1350 2.0193685 2.0672662 0.5117514 6.5349176 + 1360 2.0084017 2.0471065 0.50518646 6.5453141 + 1370 1.994978 2.030683 0.49737164 6.5627932 + 1380 1.9781978 2.0044236 0.48871071 6.5903683 + 1390 1.9572368 1.9833426 0.47978207 6.6326472 + 1400 1.9400481 1.956474 0.47117436 6.6600696 + 1410 1.9380218 1.9552501 0.46336325 6.6314231 + 1420 1.9494747 1.9681145 0.45642218 6.5527615 + 1430 1.9610978 1.9824506 0.4501938 6.4763851 + 1440 1.9639503 1.9890985 0.44452289 6.4375535 + 1450 1.9560428 1.9821594 0.43936988 6.4453654 + 1460 1.9399344 1.9627639 0.43486138 6.488055 + 1470 1.9247229 1.9440629 0.43123378 6.5292381 + 1480 1.9213375 1.9369273 0.42866841 6.5271097 + 1490 1.9265729 1.9383637 0.42719968 6.4940959 + 1500 1.930987 1.9416689 0.4267225 6.4673585 + 1510 1.9303444 1.9418498 0.42714462 6.4648027 + 1520 1.9258423 1.940384 0.42844066 6.4834098 + 1530 1.9131202 1.9296653 0.4306338 6.5390881 + 1540 1.8990016 1.9101025 0.43386405 6.6052091 + 1550 1.9012878 1.9120047 0.43834036 6.6147792 + 1560 1.9153287 1.9388751 0.44404054 6.5851781 + 1570 1.9266928 1.9596147 0.45057056 6.5705776 + 1580 1.9358289 1.9745564 0.45744022 6.5674622 + 1590 1.9415248 1.9818707 0.46425451 6.5778534 + 1600 1.9466876 1.98498 0.47075833 6.5878483 + 1610 1.9557175 1.9930268 0.47674103 6.5777205 + 1620 1.9712902 2.0112337 0.48200984 6.5367922 + 1630 1.9900646 2.0303946 0.48631888 6.4790095 + 1640 1.9960901 2.039173 0.48947508 6.4661574 + 1650 1.9879046 2.0329046 0.49151173 6.504063 + 1660 1.9832967 2.0325843 0.49266284 6.5255647 + 1670 1.9875656 2.034783 0.49313513 6.5093662 + 1680 1.9967654 2.0492931 0.49299896 6.4699787 + 1690 2.0025957 2.0532539 0.49216931 6.4389613 + 1700 2.0022202 2.0424508 0.49070612 6.4276702 + 1710 2.0083188 2.0437945 0.48879489 6.3909243 + 1720 2.0178792 2.0439212 0.48646135 6.3411063 + 1730 2.0210944 2.0444299 0.48367905 6.3141106 + 1740 2.0170566 2.0337564 0.48044951 6.3158785 + 1750 2.0099049 2.0231598 0.47693196 6.3313851 + 1760 1.9990395 2.0132651 0.47329842 6.3631889 + 1770 1.9823237 1.9969291 0.46970233 6.4208124 + 1780 1.9640169 1.9798655 0.4663519 6.4879798 + 1790 1.9457657 1.9626633 0.46348315 6.557165 + 1800 1.9253222 1.9443136 0.46134123 6.6365286 + 1810 1.9123385 1.9339816 0.46011796 6.6879846 + 1820 1.9098744 1.9287702 0.45993599 6.7001355 + 1830 1.9096278 1.9220243 0.460898 6.7020982 + 1840 1.9223081 1.9378963 0.46303724 6.6558132 + 1850 1.9481113 1.9718786 0.46616351 6.5618175 + 1860 1.9704143 1.9931969 0.46987208 6.484088 + 1870 1.9864974 2.017655 0.47377416 6.4360445 + 1880 1.993165 2.0276398 0.47750238 6.4296162 + 1890 1.9852177 2.0249022 0.48088382 6.4843765 + 1900 1.9692398 2.0101062 0.4839255 6.5735477 + 1910 1.9516968 1.9893586 0.48689095 6.6692995 + 1920 1.9380452 1.9750949 0.49014596 6.7488323 + 1930 1.9323223 1.9719977 0.49399992 6.7947629 + 1940 1.9402144 1.9786701 0.49859677 6.7846787 + 1950 1.9589972 1.9956447 0.50392573 6.7291499 + 1960 1.979631 2.0201087 0.50984934 6.6648708 + 1970 2.0002749 2.0392081 0.51605302 6.6026647 + 1980 2.0143746 2.0524405 0.52221277 6.5687042 + 1990 2.0166553 2.0466885 0.5281276 6.5835144 + 2000 2.0130617 2.0424179 0.53381506 6.6234083 +Loop time of 0.141455 on 4 procs for 1000 steps with 2775 atoms + +Performance: 610793.635 tau/day, 7069.371 timesteps/s, 19.618 Matom-step/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.05683 | 0.060353 | 0.062989 | 1.0 | 42.67 +Neigh | 0.0072596 | 0.0077408 | 0.0081397 | 0.4 | 5.47 +Comm | 0.0075975 | 0.010647 | 0.014725 | 3.0 | 7.53 +Output | 0.0035631 | 0.0036749 | 0.0038919 | 0.2 | 2.60 +Modify | 0.050043 | 0.052936 | 0.05613 | 1.2 | 37.42 +Other | | 0.006104 | | | 4.32 + +Nlocal: 693.75 ave 799 max 589 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 259 ave 320 max 196 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 6092.5 ave 7344 max 4845 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 24370 +Ave neighs/atom = 8.781982 +Neighbor list builds = 35 +Dangerous builds = 0 + +##################################################################### +#collect data + +#print the applied force and total flux to ensure conservation of Jx +variable Fapp equal f_GD[1] +compute vxBulk bulk reduce sum vx +compute vyBulk bulk reduce sum vy +variable invVol equal 1.0/(lx*ly) +variable jx equal c_vxBulk*${invVol} +variable jx equal c_vxBulk*0.00025 +variable jy equal c_vyBulk*${invVol} +variable jy equal c_vyBulk*0.00025 +variable curr_step equal step +variable p_Fapp format Fapp %.3f +variable p_jx format jx %.5g +variable p_jy format jy %.5g +fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" +fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" + +#compute IK1 pressure profile +#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627 +#use profile-unbiased temperature to remove the streaming velocity +#from the kinetic part of the pressure +compute spa bulk stress/atom myTp + +#for the pressure profile, use the same grid as the PUT +compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box +compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box + +#output pressure profile and other profiles +#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where +#V is the volume of a slice +fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite +fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite + +#compute velocity profile across the pipe with a finer grid +variable dYnew equal ${dY}/10 +variable dYnew equal 3.07692307692308/10 +compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe +compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe +fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite +fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite + +#full trajectory +# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z +# dump_modify 7 sort id + +run ${run} +run 2000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.139 | 5.14 | 5.141 Mbytes + Step c_myT c_myTp TotEng Press + 2000 2.0130617 2.0424179 0.53381506 6.6234083 + 2010 2.011712 2.0399428 0.53937165 6.6546944 + 2020 2.0177252 2.0516588 0.54483848 6.6575988 + 2030 2.0192267 2.054258 0.55012466 6.6761208 + 2040 2.0155308 2.0513866 0.55518707 6.7132509 + 2050 2.016831 2.0539288 0.56007247 6.7306192 + 2060 2.0213378 2.0690043 0.56479732 6.7330132 + 2070 2.0292987 2.0799825 0.56913353 6.7186216 + 2080 2.0342188 2.0900923 0.57283821 6.7098434 + 2090 2.0376411 2.096351 0.57566175 6.6998818 + 2100 2.053128 2.1238481 0.57727694 6.637431 + 2110 2.0783941 2.1609599 0.5768993 6.5304031 + 2120 2.0887269 2.1760645 0.57341638 6.4706853 + 2130 2.06944 2.1522354 0.5659988 6.5099284 + 2140 2.0380605 2.115767 0.55466476 6.5802578 + 2150 2.0195872 2.0868424 0.54025148 6.5885111 + 2160 2.0061251 2.069266 0.52417244 6.5682875 + 2170 1.992682 2.0526743 0.50812177 6.5470052 + 2180 1.9816004 2.0352692 0.49354583 6.5244099 + 2190 1.9688265 2.0226679 0.4811848 6.5185172 + 2200 1.9574266 2.000155 0.47107703 6.5176047 + 2210 1.9502736 1.9925522 0.46298224 6.5078398 + 2220 1.9475332 1.9936032 0.45641728 6.4850252 + 2230 1.9545128 2.0045053 0.45087489 6.4291405 + 2240 1.9627871 2.0112148 0.44588526 6.3715676 + 2250 1.9617694 2.0073769 0.44121477 6.3541518 + 2260 1.9579423 2.0079137 0.43675541 6.3542735 + 2270 1.9475845 1.998983 0.43243494 6.3854071 + 2280 1.9253275 1.9715083 0.42839782 6.464845 + 2290 1.8996763 1.9456257 0.42496367 6.5591177 + 2300 1.8823546 1.9240543 0.42247729 6.6211062 + 2310 1.8844318 1.9216768 0.42116372 6.6085376 + 2320 1.8965287 1.933936 0.42103218 6.5584198 + 2330 1.902103 1.9433708 0.421956 6.5350698 + 2340 1.9061826 1.950462 0.42378825 6.5228738 + 2350 1.9180306 1.961141 0.42644522 6.489172 + 2360 1.9296124 1.9748542 0.42981448 6.4628168 + 2370 1.9328566 1.9718181 0.43373762 6.4721746 + 2380 1.9360042 1.9769998 0.43819906 6.4840942 + 2390 1.9387073 1.9778749 0.44317927 6.49778 + 2400 1.9445619 1.9882647 0.4486142 6.4971899 + 2410 1.9553344 1.9997412 0.45435544 6.4749774 + 2420 1.9710783 2.0211926 0.46019236 6.4320181 + 2430 1.9903873 2.046553 0.46575694 6.3751343 + 2440 2.0041158 2.0721071 0.47060398 6.3415121 + 2450 2.0020392 2.0728953 0.47431806 6.3708096 + 2460 1.9839851 2.0568906 0.47681718 6.465129 + 2470 1.9566365 2.0258852 0.47838596 6.5966256 + 2480 1.929674 2.0032606 0.47952215 6.7260074 + 2490 1.9153613 1.990031 0.48061628 6.8035919 + 2500 1.9188373 1.9920514 0.4819225 6.8075788 + 2510 1.9371656 2.0138698 0.48343533 6.7492701 + 2520 1.9566481 2.0340995 0.48485699 6.6821181 + 2530 1.9636141 2.0389496 0.48583392 6.6581326 + 2540 1.9585172 2.0207113 0.48622314 6.6762792 + 2550 1.9516934 2.0024186 0.48621721 6.6980104 + 2560 1.9509543 1.9960852 0.48612286 6.6946311 + 2570 1.9601672 2.0072552 0.48602872 6.6528934 + 2580 1.973804 2.0230879 0.48576601 6.5942862 + 2590 1.9788378 2.034436 0.48505027 6.5689819 + 2600 1.9716493 2.0208578 0.48368043 6.5897554 + 2610 1.9618006 2.007098 0.48174365 6.6188626 + 2620 1.9631458 2.0075461 0.4793429 6.6026194 + 2630 1.9706918 2.0174955 0.47638698 6.5591053 + 2640 1.9759585 2.0213828 0.47264742 6.5198595 + 2650 1.9761708 2.0225139 0.46794373 6.4977306 + 2660 1.9611574 2.0083871 0.46221598 6.5299021 + 2670 1.9342882 1.9720247 0.45576624 6.6034695 + 2680 1.9142009 1.9520382 0.44913109 6.6474082 + 2690 1.9052096 1.9428107 0.4426988 6.645123 + 2700 1.902446 1.9459937 0.43672046 6.6152926 + 2710 1.9099036 1.9594727 0.43120889 6.5473804 + 2720 1.9180788 1.9767479 0.42599739 6.4792536 + 2730 1.9142892 1.9798275 0.42092791 6.4604982 + 2740 1.9019844 1.9674244 0.41601841 6.4795855 + 2750 1.8895632 1.958412 0.41144638 6.5037424 + 2760 1.8824401 1.9494985 0.40739848 6.5113925 + 2770 1.8852759 1.9525073 0.40398809 6.484535 + 2780 1.8998168 1.9664907 0.40114076 6.4159782 + 2790 1.9153937 1.9810349 0.39863439 6.346934 + 2800 1.9162707 1.9824285 0.39627973 6.3364828 + 2810 1.9087999 1.9666258 0.39408314 6.360755 + 2820 1.9073152 1.956153 0.39226387 6.3655719 + 2830 1.9091743 1.9493705 0.39098546 6.3595054 + 2840 1.9042021 1.9424118 0.39036698 6.381752 + 2850 1.8901401 1.9353495 0.39057524 6.4417859 + 2860 1.872943 1.915215 0.39190057 6.5158585 + 2870 1.8732626 1.9181551 0.39474702 6.5269257 + 2880 1.8931021 1.9396049 0.39938934 6.467715 + 2890 1.9217069 1.9733171 0.40581935 6.3811936 + 2900 1.9452213 1.9949806 0.41374968 6.3217226 + 2910 1.9591065 2.0105363 0.42280483 6.3087055 + 2920 1.9649158 2.0234068 0.43256139 6.3353204 + 2930 1.9647653 2.0265233 0.4425691 6.3902862 + 2940 1.9623876 2.0281154 0.45237409 6.4560778 + 2950 1.9591057 2.0276078 0.46164197 6.5239614 + 2960 1.9556907 2.0254377 0.47016674 6.5883236 + 2970 1.9524475 2.0203546 0.47782337 6.6457078 + 2980 1.9556442 2.0212175 0.48459527 6.6731473 + 2990 1.9663638 2.0285202 0.49047217 6.667322 + 3000 1.976263 2.0326354 0.49540098 6.6601492 + 3010 1.9734917 2.0251301 0.49938916 6.6970878 + 3020 1.955368 1.9974693 0.50265656 6.7865104 + 3030 1.9476644 1.9780945 0.50564273 6.8327176 + 3040 1.9584769 1.9887952 0.50867872 6.8046262 + 3050 1.9705616 2.0030557 0.51168699 6.7669575 + 3060 1.9766986 2.0112576 0.51444822 6.74919 + 3070 1.9766671 2.0076853 0.51685838 6.7523339 + 3080 1.9763383 2.0045916 0.51896849 6.7532253 + 3090 1.9855877 2.0260371 0.52081441 6.7160131 + 3100 2.0011042 2.042205 0.52215192 6.653598 + 3110 2.0039819 2.0511266 0.52275172 6.6355885 + 3120 1.9958773 2.0457899 0.52253307 6.6565817 + 3130 1.9933925 2.04521 0.52158082 6.6543706 + 3140 1.9936643 2.0477262 0.51996279 6.639564 + 3150 1.9921223 2.0455965 0.51768794 6.6291901 + 3160 1.9914788 2.0365842 0.51483187 6.6154874 + 3170 1.9922866 2.0422451 0.51144091 6.5976334 + 3180 1.9872806 2.0376593 0.50747923 6.6043774 + 3190 1.9708577 2.0198422 0.50308657 6.6551127 + 3200 1.9534272 1.9982319 0.49857904 6.7093718 + 3210 1.9423425 1.9876311 0.49429833 6.7370529 + 3220 1.941974 1.984738 0.49043179 6.7218879 + 3230 1.9456357 1.9916666 0.48697785 6.6917144 + 3240 1.9392412 1.9874858 0.48388805 6.7004046 + 3250 1.9312152 1.9814714 0.4812083 6.7175714 + 3260 1.9364393 1.9840125 0.47897357 6.6870787 + 3270 1.9490184 1.9871802 0.47715672 6.6308261 + 3280 1.9578901 1.9917218 0.47568803 6.5896589 + 3290 1.9598612 1.9918098 0.47449561 6.5756965 + 3300 1.9538424 1.9845316 0.47357576 6.5931068 + 3310 1.944957 1.9676243 0.47302774 6.6211221 + 3320 1.9479975 1.9720828 0.47296613 6.6058089 + 3330 1.9569283 1.98719 0.47330356 6.5698601 + 3340 1.9558114 1.9861834 0.47383928 6.5729191 + 3350 1.9461606 1.9777192 0.47452365 6.6090135 + 3360 1.942095 1.9776297 0.47540879 6.6255417 + 3370 1.9482423 1.981145 0.47643851 6.6032207 + 3380 1.9564098 1.992645 0.47752314 6.5736007 + 3390 1.9607986 2.0006048 0.47852085 6.5587349 + 3400 1.9595637 2.0047228 0.47933656 6.5656692 + 3410 1.9628181 2.013785 0.47991082 6.5570579 + 3420 1.9698466 2.0200788 0.48018617 6.536373 + 3430 1.969877 2.0210764 0.48013786 6.543084 + 3440 1.96327 2.0103631 0.47979187 6.5761448 + 3450 1.9566516 1.9996494 0.47933398 6.6098616 + 3460 1.9511915 1.9976175 0.47891646 6.6401481 + 3470 1.9410601 1.9950284 0.47859124 6.6862584 + 3480 1.9307395 1.98193 0.47840998 6.7307929 + 3490 1.9206678 1.9678856 0.47853003 6.7702613 + 3500 1.9139405 1.955324 0.47914241 6.7934071 + 3510 1.9206383 1.9571761 0.48041531 6.763312 + 3520 1.9449301 1.9816996 0.4823109 6.6651452 + 3530 1.9752924 2.0115126 0.48452681 6.5438659 + 3540 1.9951599 2.037759 0.48660438 6.463461 + 3550 2.00071 2.0413872 0.48813252 6.4405933 + 3560 1.9939017 2.0277566 0.48901382 6.4684771 + 3570 1.9766844 2.0031366 0.48946452 6.5392906 + 3580 1.9600494 1.9790718 0.48988281 6.6106542 + 3590 1.9522334 1.9727673 0.49062615 6.6517495 + 3600 1.9522007 1.9829458 0.49183552 6.6635632 + 3610 1.9614098 1.9992781 0.49340617 6.6407777 + 3620 1.9739926 2.0159629 0.49511752 6.6062456 + 3630 1.9726539 2.0152219 0.49675445 6.6254361 + 3640 1.9613098 2.0017247 0.49829012 6.6828523 + 3650 1.9577727 2.0000723 0.49991877 6.7111789 + 3660 1.9626403 2.0037309 0.50175296 6.7072182 + 3670 1.9603974 1.9937256 0.50383808 6.7277464 + 3680 1.9532611 1.9846903 0.50638429 6.766139 + 3690 1.9541656 1.9798331 0.50962883 6.7752527 + 3700 1.9656726 1.9951191 0.51377056 6.7462001 + 3710 1.9834474 2.0193011 0.5187681 6.6957856 + 3720 2.0017373 2.0396413 0.52433682 6.6470375 + 3730 2.0109702 2.0469463 0.53011728 6.6363717 + 3740 2.0096858 2.0458572 0.53588234 6.6682278 + 3750 2.0066189 2.0519842 0.54153099 6.7085484 + 3760 2.0096126 2.0561094 0.54689937 6.7250789 + 3770 2.0117777 2.0668795 0.55183559 6.7400962 + 3780 2.0154601 2.0763941 0.55607392 6.7423369 + 3790 2.0313954 2.0972106 0.55930714 6.6920109 + 3800 2.0496133 2.1176374 0.56110467 6.6271089 + 3810 2.0553084 2.1205041 0.56098738 6.6034668 + 3820 2.0478771 2.1131255 0.5587031 6.6239896 + 3830 2.0342107 2.0991257 0.55418078 6.6632309 + 3840 2.0142205 2.0767165 0.54756321 6.7196407 + 3850 1.9879527 2.0516847 0.53919957 6.7932756 + 3860 1.9593315 2.0232738 0.52966136 6.8686983 + 3870 1.9362884 1.9952027 0.51970092 6.9156687 + 3880 1.9292997 1.9883081 0.50996282 6.8957696 + 3890 1.9372438 1.9978667 0.50073929 6.8160963 + 3900 1.949918 2.0107188 0.49208883 6.7186535 + 3910 1.9547594 2.0160936 0.48397839 6.6537348 + 3920 1.9543567 2.0191268 0.47640162 6.6136067 + 3930 1.9582199 2.0200359 0.46933873 6.5629726 + 3940 1.9644631 2.0304625 0.4627222 6.5077177 + 3950 1.9645882 2.0301829 0.45644411 6.4795258 + 3960 1.9546999 2.0197242 0.45050583 6.4943664 + 3970 1.9424307 2.0063453 0.44500625 6.5237707 + 3980 1.9281472 1.9910524 0.440105 6.5640156 + 3990 1.9168821 1.9763691 0.43594018 6.592621 + 4000 1.9150056 1.9752502 0.43256475 6.585564 +Loop time of 0.29535 on 4 procs for 2000 steps with 2775 atoms + +Performance: 585068.702 tau/day, 6771.628 timesteps/s, 18.791 Matom-step/s +98.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.11499 | 0.12105 | 0.12753 | 1.6 | 40.99 +Neigh | 0.015593 | 0.01655 | 0.017426 | 0.6 | 5.60 +Comm | 0.011343 | 0.020696 | 0.029105 | 5.0 | 7.01 +Output | 0.0076551 | 0.010557 | 0.01165 | 1.6 | 3.57 +Modify | 0.10677 | 0.11421 | 0.1196 | 1.4 | 38.67 +Other | | 0.01228 | | | 4.16 + +Nlocal: 693.75 ave 801 max 584 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 256.25 ave 313 max 200 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 6078.25 ave 7398 max 4746 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 24313 +Ave neighs/atom = 8.7614414 +Neighbor list builds = 75 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.1 b/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.1 deleted file mode 100644 index bb9167f490..0000000000 --- a/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.1 +++ /dev/null @@ -1,909 +0,0 @@ -LAMMPS (6 Jul 2017) - using 1 OpenMP thread(s) per MPI task -#LAMMPS input script -#in.GD -#see README for details - -############################################################################### -#initialize variables -clear - using 1 OpenMP thread(s) per MPI task - -#frequency for outputting info (timesteps) -variable dump_rate equal 50 -variable thermo_rate equal 10 - -#equilibration time (timesteps) -variable equil equal 1000 - -#stabilization time (timesteps to reach steady-state) -variable stabil equal 1000 - -#data collection time (timesteps) -variable run equal 2000 - -#length of pipe -variable L equal 30 - -#width of pipe -variable d equal 20 - -#flux (mass/sigma*tau) -variable J equal 0.1 - -#simulation box dimensions -variable Lx equal 100 -variable Ly equal 40 - -#bulk fluid density -variable dens equal 0.8 - -#lattice spacing for wall atoms -variable aWall equal 1.0 #1.7472 - -#timestep -variable ts equal 0.001 - -#temperature -variable T equal 2.0 - -#thermostat damping constant -variable tdamp equal ${ts}*100 -variable tdamp equal 0.001*100 - -units lj -dimension 2 -atom_style atomic - - -############################################################################### -#create box - -#create lattice with the spacing aWall -variable rhoWall equal ${aWall}^(-2) -variable rhoWall equal 1^(-2) -lattice sq ${rhoWall} -lattice sq 1 -Lattice spacing in x,y,z = 1 1 1 - -#modify input dimensions to be multiples of aWall -variable L1 equal round($L/${aWall})*${aWall} -variable L1 equal round(30/${aWall})*${aWall} -variable L1 equal round(30/1)*${aWall} -variable L1 equal round(30/1)*1 -variable d1 equal round($d/${aWall})*${aWall} -variable d1 equal round(20/${aWall})*${aWall} -variable d1 equal round(20/1)*${aWall} -variable d1 equal round(20/1)*1 -variable Ly1 equal round(${Ly}/${aWall})*${aWall} -variable Ly1 equal round(40/${aWall})*${aWall} -variable Ly1 equal round(40/1)*${aWall} -variable Ly1 equal round(40/1)*1 -variable Lx1 equal round(${Lx}/${aWall})*${aWall} -variable Lx1 equal round(100/${aWall})*${aWall} -variable Lx1 equal round(100/1)*${aWall} -variable Lx1 equal round(100/1)*1 - -#create simulation box -variable lx2 equal ${Lx1}/2 -variable lx2 equal 100/2 -variable ly2 equal ${Ly1}/2 -variable ly2 equal 40/2 -region simbox block -${lx2} ${lx2} -${ly2} ${ly2} 0 0.1 units box -region simbox block -50 ${lx2} -${ly2} ${ly2} 0 0.1 units box -region simbox block -50 50 -${ly2} ${ly2} 0 0.1 units box -region simbox block -50 50 -20 ${ly2} 0 0.1 units box -region simbox block -50 50 -20 20 0 0.1 units box -create_box 2 simbox -Created orthogonal box = (-50 -20 0) to (50 20 0.1) - 1 by 1 by 1 MPI processor grid - -##################################################################### -#set up potential - -mass 1 1.0 #fluid atoms -mass 2 1.0 #wall atoms - -pair_style lj/cut 2.5 -pair_modify shift yes -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 1.12246 -pair_coeff 2 2 0.0 0.0 - -neigh_modify exclude type 2 2 - -timestep ${ts} -timestep 0.001 - -##################################################################### -#create atoms - -#create wall atoms everywhere -create_atoms 2 box -Created 4000 atoms - -#define region which is "walled off" -variable dhalf equal ${d1}/2 -variable dhalf equal 20/2 -variable Lhalf equal ${L1}/2 -variable Lhalf equal 30/2 -region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box -region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box -region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box -region walltop block -15 15 10 EDGE -0.1 0.1 units box -region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box -region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box -region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box -region wallbot block -15 15 EDGE -10 -0.1 0.1 units box -region outsidewall union 2 walltop wallbot side out - -#remove wall atoms outside wall region -group outside region outsidewall -3349 atoms in group outside -delete_atoms group outside -Deleted 3349 atoms, new total = 651 - -#remove wall atoms that aren't on edge of wall region -variable x1 equal ${Lhalf}-${aWall} -variable x1 equal 15-${aWall} -variable x1 equal 15-1 -variable y1 equal ${dhalf}+${aWall} -variable y1 equal 10+${aWall} -variable y1 equal 10+1 -region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box -region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box -region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box -region insideTop block -14 14 11 EDGE -0.1 0.1 units box -region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box -region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box -region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box -region insideBot block -14 14 EDGE -11 -0.1 0.1 units box -region insideWall union 2 insideTop insideBot -group insideWall region insideWall -551 atoms in group insideWall -delete_atoms group insideWall -Deleted 551 atoms, new total = 100 - -#define new lattice, to give correct fluid density -#y lattice const must be a multiple of aWall -variable atrue equal ${dens}^(-1/2) -variable atrue equal 0.8^(-1/2) -variable ay equal round(${atrue}/${aWall})*${aWall} -variable ay equal round(1.11803398874989/${aWall})*${aWall} -variable ay equal round(1.11803398874989/1)*${aWall} -variable ay equal round(1.11803398874989/1)*1 - -#choose x lattice const to give correct density -variable ax equal (${ay}*${dens})^(-1) -variable ax equal (1*${dens})^(-1) -variable ax equal (1*0.8)^(-1) - -#change Lx to be multiple of ax -variable Lx1 equal round(${Lx}/${ax})*${ax} -variable Lx1 equal round(100/${ax})*${ax} -variable Lx1 equal round(100/1.25)*${ax} -variable Lx1 equal round(100/1.25)*1.25 -variable lx2 equal ${Lx1}/2 -variable lx2 equal 100/2 -change_box all x final -${lx2} ${lx2} units box -change_box all x final -50 ${lx2} units box -change_box all x final -50 50 units box - orthogonal box = (-50 -20 0) to (50 20 0.1) - -#define new lattice -lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -Lattice spacing in x,y,z = 1.25 1 1 - -#fill in rest of box with bulk particles -variable delta equal 0.001 -variable Ldelt equal ${Lhalf}+${delta} -variable Ldelt equal 15+${delta} -variable Ldelt equal 15+0.001 -variable dDelt equal ${dhalf}-${delta} -variable dDelt equal 10-${delta} -variable dDelt equal 10-0.001 -region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box -region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box -region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box -region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box -region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box -region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box -region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box -region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box -region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box - -region bulk union 3 left pipe right -create_atoms 1 region bulk -Created 2675 atoms - -group bulk type 1 -2675 atoms in group bulk -group wall type 2 -100 atoms in group wall - -#remove atoms that are too close to wall -delete_atoms overlap 0.9 bulk wall -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 72 29 1 - 2 neighbor lists, perpetual/occasional/extra = 1 1 0 - (1) command delete_atoms, occasional - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/2d - bin: standard - (2) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/2d/newton - bin: standard -Deleted 0 atoms, new total = 2775 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes -neigh_modify exclude group wall wall - -velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom -velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom - -##################################################################### -#set up PUT -#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172 - -#average number of particles per box, Evans and Morriss used 2.0 -variable NperBox equal 8.0 - -#calculate box sizes -variable boxSide equal sqrt(${NperBox}/${dens}) -variable boxSide equal sqrt(8/${dens}) -variable boxSide equal sqrt(8/0.8) -variable nX equal round(lx/${boxSide}) -variable nX equal round(lx/3.16227766016838) -variable nY equal round(ly/${boxSide}) -variable nY equal round(ly/3.16227766016838) -variable dX equal lx/${nX} -variable dX equal lx/32 -variable dY equal ly/${nY} -variable dY equal ly/13 - -#temperature of fluid (excluding wall) -compute myT bulk temp - -#profile-unbiased temperature of fluid -compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY} -compute myTp bulk temp/profile 1 1 0 xy 32 ${nY} -compute myTp bulk temp/profile 1 1 0 xy 32 13 - -#thermo setup -thermo ${thermo_rate} -thermo 10 -thermo_style custom step c_myT c_myTp etotal press - -#dump initial configuration -# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz -# dump 56 wall custom 1 wall.init.lammpstrj id type x y z -# dump_modify 55 sort id -# dump_modify 56 sort id -run 0 -WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 72 29 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.103 | 3.103 | 3.103 Mbytes -Step c_myT c_myTp TotEng Press - 0 2 2.0555109 0.77892922 7.3417096 -Loop time of 9.53674e-07 on 1 procs for 0 steps with 2775 atoms - -314.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 9.537e-07 | | |100.00 - -Nlocal: 2775 ave 2775 max 2775 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 510 ave 510 max 510 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 26406 ave 26406 max 26406 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 26406 -Ave neighs/atom = 9.51568 -Neighbor list builds = 0 -Dangerous builds = 0 -# undump 55 -# undump 56 - -##################################################################### -#equilibrate without GD - -fix nvt bulk nvt temp $T $T ${tdamp} -fix nvt bulk nvt temp 2 $T ${tdamp} -fix nvt bulk nvt temp 2 2 ${tdamp} -fix nvt bulk nvt temp 2 2 0.1 -fix_modify nvt temp myTp -WARNING: Temperature for fix modify is not for group all (../fix_nh.cpp:1395) -fix 2 bulk enforce2d - -run ${equil} -run 1000 -Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes -Step c_myT c_myTp TotEng Press - 0 2 2.0555109 0.77892922 7.3417096 - 10 1.9173594 1.9390034 0.77876976 7.6702228 - 20 1.7033394 1.6974676 0.77977799 8.5614784 - 30 1.5026161 1.4723993 0.78456655 9.4308258 - 40 1.4880481 1.4591602 0.79486693 9.6134304 - 50 1.6192437 1.6150635 0.81109069 9.2592835 - 60 1.7404087 1.7583444 0.82955456 8.952392 - 70 1.7757591 1.8006606 0.8452778 8.9717917 - 80 1.7573847 1.7813629 0.85769389 9.1936368 - 90 1.7491183 1.7726908 0.86882429 9.3712357 - 100 1.7798944 1.8079583 0.88029084 9.3871755 - 110 1.8440582 1.8793133 0.89259397 9.2582848 - 120 1.9191606 1.9673434 0.90533438 9.0680574 - 130 1.9883299 2.0484299 0.91755461 8.88117 - 140 2.0463366 2.1111872 0.92818114 8.7184178 - 150 2.0953769 2.167849 0.93639789 8.5713408 - 160 2.1442147 2.2216228 0.94145082 8.4082835 - 170 2.1797848 2.2631458 0.94246877 8.2767903 - 180 2.1863476 2.2700986 0.93873326 8.2311689 - 190 2.1832866 2.2710551 0.93003012 8.1959062 - 200 2.1937154 2.2868403 0.91642537 8.0842007 - 210 2.2022708 2.2915142 0.89824533 7.9575312 - 220 2.1884715 2.2770564 0.87677613 7.9000591 - 230 2.1671124 2.2496063 0.85409501 7.8673156 - 240 2.1560417 2.2379998 0.83167878 7.8003228 - 250 2.1421449 2.2240624 0.81004723 7.7491508 - 260 2.1172164 2.1971044 0.78931978 7.7457415 - 270 2.0856847 2.1672998 0.76956352 7.7719788 - 280 2.0670685 2.1449303 0.75073364 7.7524614 - 290 2.0639481 2.1428374 0.73258016 7.6727716 - 300 2.055776 2.1361719 0.7147669 7.6095248 - 310 2.038425 2.1209353 0.69722853 7.5797085 - 320 2.0203023 2.1066031 0.68006634 7.5521081 - 330 2.0118478 2.1039797 0.66330302 7.4877535 - 340 2.0159442 2.1096258 0.64673694 7.3761703 - 350 2.0166408 2.1075061 0.63020017 7.2788 - 360 2.0059407 2.0806316 0.61387618 7.2263941 - 370 1.9964281 2.0642074 0.59814148 7.1728041 - 380 1.9918446 2.0567527 0.58303017 7.101597 - 390 1.992835 2.0548138 0.56852431 7.0084774 - 400 2.0012934 2.0615016 0.55438401 6.8865948 - 410 2.0084291 2.073418 0.54034073 6.7697478 - 420 2.007464 2.0786717 0.52617041 6.6849032 - 430 1.9983712 2.0704366 0.51188183 6.6323103 - 440 1.9884651 2.0588515 0.49765394 6.5868356 - 450 1.982221 2.0467396 0.4837102 6.5311681 - 460 1.9738673 2.031238 0.47021649 6.4882783 - 470 1.9574246 2.0060447 0.45740021 6.4814923 - 480 1.9361065 1.9734507 0.44557947 6.4995199 - 490 1.9251024 1.9562469 0.43506067 6.4858343 - 500 1.9279545 1.9572145 0.42577835 6.4274765 - 510 1.9267504 1.9570246 0.41755013 6.3927027 - 520 1.9093405 1.9393872 0.41031829 6.4281888 - 530 1.8820555 1.9060756 0.40432569 6.5099401 - 540 1.86537 1.8912682 0.3999087 6.55843 - 550 1.8694252 1.9043192 0.39717519 6.5337875 - 560 1.8835224 1.9294105 0.39589322 6.4760141 - 570 1.8898719 1.9462433 0.39573596 6.4520041 - 580 1.8887698 1.9472764 0.39649878 6.4602989 - 590 1.8945125 1.9550624 0.39810844 6.4470226 - 600 1.9106571 1.9735939 0.40045321 6.3971026 - 610 1.9273243 1.98509 0.40330026 6.3474421 - 620 1.9351802 1.9888986 0.4064498 6.3340566 - 630 1.9337889 1.9846794 0.40981479 6.3610556 - 640 1.9257018 1.9757153 0.4134641 6.4184721 - 650 1.9204429 1.9718256 0.41750942 6.4679594 - 660 1.9220449 1.9701963 0.42202455 6.4919724 - 670 1.9230578 1.9707406 0.4270412 6.5178484 - 680 1.9204554 1.9740485 0.43255127 6.5572507 - 690 1.9201811 1.9762854 0.43847123 6.5869126 - 700 1.9271511 1.9867455 0.44474356 6.5882669 - 710 1.9418851 2.0042477 0.45120727 6.558573 - 720 1.9544547 2.0186724 0.4576061 6.5338329 - 730 1.9687971 2.0326169 0.46367507 6.4988775 - 740 1.9830308 2.0466267 0.46920367 6.4618136 - 750 1.9936981 2.0526606 0.47397868 6.4367349 - 760 2.0008431 2.0535449 0.47786748 6.4249001 - 770 1.9982133 2.0483219 0.48085757 6.4504786 - 780 1.9841544 2.0311693 0.48306488 6.5200512 - 790 1.9683122 2.0158738 0.48475632 6.5959263 - 800 1.9604618 2.003224 0.48619405 6.6392559 - 810 1.9629155 2.0075077 0.48756075 6.6406486 - 820 1.9683056 2.0110554 0.48883443 6.6269424 - 830 1.975409 2.0189161 0.48995399 6.6030215 - 840 1.9897264 2.035016 0.4907852 6.5485575 - 850 2.0094338 2.0555358 0.49104505 6.4719926 - 860 2.0217589 2.0643603 0.49040437 6.4233305 - 870 2.0147718 2.0641627 0.48866908 6.4491964 - 880 1.9883859 2.0324092 0.48592007 6.5488061 - 890 1.9625853 2.0028776 0.48263002 6.6452734 - 900 1.9520401 1.9889124 0.47925524 6.6808078 - 910 1.9559583 1.9952984 0.47597346 6.6573059 - 920 1.9657244 2.0083503 0.47268726 6.6073704 - 930 1.969288 2.0152339 0.4692054 6.5780416 - 940 1.9652206 2.0116384 0.4654438 6.5769812 - 950 1.9567495 1.9960693 0.46147541 6.5942022 - 960 1.9418452 1.980858 0.45753557 6.6369454 - 970 1.9247196 1.9585585 0.45390337 6.6888821 - 980 1.9128262 1.9481721 0.45090045 6.7198221 - 990 1.9167211 1.9451096 0.44869731 6.6912394 - 1000 1.935529 1.9662384 0.44728238 6.6079829 -Loop time of 1.307 on 1 procs for 1000 steps with 2775 atoms - -Performance: 66105.601 tau/day, 765.111 timesteps/s -98.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.7676 | 0.7676 | 0.7676 | 0.0 | 58.73 -Neigh | 0.088947 | 0.088947 | 0.088947 | 0.0 | 6.81 -Comm | 0.0094135 | 0.0094135 | 0.0094135 | 0.0 | 0.72 -Output | 0.019547 | 0.019547 | 0.019547 | 0.0 | 1.50 -Modify | 0.39755 | 0.39755 | 0.39755 | 0.0 | 30.42 -Other | | 0.02394 | | | 1.83 - -Nlocal: 2775 ave 2775 max 2775 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 527 ave 527 max 527 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 24332 ave 24332 max 24332 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 24332 -Ave neighs/atom = 8.76829 -Neighbor list builds = 38 -Dangerous builds = 0 - -##################################################################### -#initialize the COM velocity and run to achieve steady-state - -#calculate velocity to add: V=J/rho_total -variable Vadd equal $J*lx*ly/count(bulk) -variable Vadd equal 0.1*lx*ly/count(bulk) - -#first remove any COM velocity, then add back the streaming velocity -velocity bulk zero linear -velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no -velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no - -fix GD bulk flow/gauss 1 0 0 #energy yes -#fix_modify GD energy yes - -run ${stabil} -run 1000 -Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes -Step c_myT c_myTp TotEng Press - 1000 1.9466974 1.9662384 0.45804438 6.615449 - 1010 1.9605467 1.9815754 0.45717241 6.5545496 - 1020 1.9560139 1.9823875 0.45660431 6.5672421 - 1030 1.9348326 1.9691606 0.45633148 6.6463667 - 1040 1.9167809 1.9449522 0.45657707 6.7139486 - 1050 1.9193541 1.943342 0.45767968 6.7014054 - 1060 1.9410751 1.9720491 0.45967742 6.6150379 - 1070 1.9658493 1.9964883 0.46221539 6.5178418 - 1080 1.9767205 2.0074304 0.46491236 6.4768594 - 1090 1.9714544 2.0003054 0.46759126 6.5026957 - 1100 1.9647035 1.9927455 0.4703109 6.5400181 - 1110 1.9657667 1.9959656 0.47317481 6.5519094 - 1120 1.9706062 1.9980802 0.476185 6.5512675 - 1130 1.9747655 2.0062292 0.47932281 6.554091 - 1140 1.9761245 2.0075076 0.48248327 6.5670381 - 1150 1.9744197 2.0073027 0.48562483 6.5914441 - 1160 1.9722698 2.0046687 0.48874207 6.6165575 - 1170 1.9692145 2.0013845 0.49187442 6.6438115 - 1180 1.9665609 1.9970724 0.49508053 6.6693821 - 1190 1.9625031 1.9908427 0.49843816 6.7002606 - 1200 1.960528 1.993084 0.50203044 6.7237076 - 1210 1.9649156 1.9981485 0.50587066 6.7217755 - 1220 1.9788059 2.0134511 0.50987442 6.6833452 - 1230 1.9952283 2.0343101 0.51379781 6.6340278 - 1240 2.0039391 2.0494196 0.51730872 6.6129751 - 1250 2.0019006 2.0526773 0.52014603 6.6320217 - 1260 1.9974025 2.0528914 0.52221385 6.6601786 - 1270 1.9953949 2.0561121 0.5234754 6.6796142 - 1280 1.9893864 2.0470375 0.5238632 6.7140134 - 1290 1.9694951 2.019253 0.5235093 6.798442 - 1300 1.9473901 1.9965919 0.52280384 6.8863369 - 1310 1.9511151 2.006161 0.52203882 6.8700917 - 1320 1.979341 2.0388959 0.52106938 6.7529595 - 1330 2.0073235 2.0720045 0.51935291 6.6297731 - 1340 2.0202482 2.0841419 0.51624273 6.55803 - 1350 2.0177489 2.0669046 0.51142591 6.5401753 - 1360 2.0069274 2.04717 0.50505824 6.5506533 - 1370 1.994854 2.0311383 0.49743042 6.5633001 - 1380 1.9793176 2.0077184 0.48890503 6.5859072 - 1390 1.9580907 1.9839831 0.48004316 6.6288992 - 1400 1.9415542 1.9594192 0.47143599 6.6534105 - 1410 1.9405188 1.9591825 0.46353105 6.620549 - 1420 1.9504784 1.9730647 0.45640199 6.5471784 - 1430 1.9594158 1.9819854 0.44995052 6.4802874 - 1440 1.9615108 1.9863792 0.44406411 6.44391 - 1450 1.9544127 1.9806249 0.43873409 6.4484818 - 1460 1.9384927 1.9614953 0.43408605 6.4905259 - 1470 1.9214711 1.9425515 0.43035972 6.5390434 - 1480 1.9170761 1.9300809 0.42775046 6.5409502 - 1490 1.9242904 1.9385731 0.42631007 6.5005057 - 1500 1.9307133 1.9446119 0.4258836 6.4660754 - 1510 1.9303576 1.9435389 0.42633976 6.4616415 - 1520 1.9248382 1.9408306 0.42765441 6.4832059 - 1530 1.9120794 1.9278123 0.42986958 6.5380951 - 1540 1.899122 1.9125029 0.4331459 6.5987181 - 1550 1.9030956 1.9187821 0.43765067 6.6012019 - 1560 1.9182961 1.9453782 0.44330842 6.5674222 - 1570 1.9272863 1.9613129 0.44971962 6.5619794 - 1580 1.931679 1.9698134 0.45643436 6.5780809 - 1590 1.9336692 1.9728684 0.46314752 6.6035675 - 1600 1.938895 1.9823104 0.46964519 6.6138411 - 1610 1.9510838 1.9937914 0.47568807 6.5916989 - 1620 1.9685387 2.0087314 0.48102339 6.5424432 - 1630 1.9894416 2.0295715 0.48539861 6.4757743 - 1640 1.9982699 2.0426949 0.48860411 6.4512418 - 1650 1.9901677 2.0363837 0.49062424 6.4879985 - 1660 1.9814216 2.0291326 0.49172203 6.5248034 - 1670 1.9812111 2.0293629 0.49218297 6.5253876 - 1680 1.9903906 2.0408376 0.49211747 6.4852787 - 1690 2.0015983 2.0538843 0.4914581 6.4325081 - 1700 2.009727 2.0503407 0.49011163 6.3878577 - 1710 2.0167822 2.0531002 0.4881688 6.3477054 - 1720 2.0189021 2.0445033 0.48564798 6.3273063 - 1730 2.0129713 2.0354734 0.48270666 6.3385541 - 1740 2.0048763 2.0199836 0.47950943 6.3587586 - 1750 1.9994843 2.0085942 0.47624908 6.3694119 - 1760 1.9940025 2.0072098 0.47305283 6.3816295 - 1770 1.9817431 1.9974066 0.46994486 6.4224295 - 1780 1.965171 1.9805421 0.4670779 6.4832371 - 1790 1.9474078 1.9662605 0.46466823 6.5516524 - 1800 1.9286009 1.9507751 0.46292015 6.6263366 - 1810 1.9168087 1.9437961 0.46199899 6.6759834 - 1820 1.9107555 1.9306323 0.46204129 6.7029857 - 1830 1.9135569 1.930819 0.46316484 6.6949737 - 1840 1.9345342 1.9553413 0.46532704 6.6178988 - 1850 1.9630349 1.9929548 0.46822932 6.5137866 - 1860 1.9820746 2.0188839 0.47135068 6.4489028 - 1870 1.9834959 2.0217145 0.47427805 6.4552721 - 1880 1.9731564 2.0120293 0.47692755 6.5100251 - 1890 1.9653605 2.0070624 0.47943307 6.5594235 - 1900 1.9630631 2.0095488 0.48192185 6.5912876 - 1910 1.9556778 2.0035006 0.48443107 6.6437189 - 1920 1.9408788 1.9828296 0.48710124 6.7228731 - 1930 1.9292393 1.9732376 0.49025327 6.7880112 - 1940 1.9263081 1.9708942 0.49416086 6.8162477 - 1950 1.9358375 1.976323 0.49899895 6.7946964 - 1960 1.9520543 1.9936542 0.50485961 6.7467481 - 1970 1.9709064 2.0108957 0.51165586 6.6909455 - 1980 1.9940026 2.0375428 0.51918913 6.6250463 - 1990 2.0171261 2.0646948 0.52705638 6.5649879 - 2000 2.0302713 2.0802515 0.53472229 6.5470853 -Loop time of 1.34877 on 1 procs for 1000 steps with 2775 atoms - -Performance: 64058.154 tau/day, 741.414 timesteps/s -98.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.77091 | 0.77091 | 0.77091 | 0.0 | 57.16 -Neigh | 0.085835 | 0.085835 | 0.085835 | 0.0 | 6.36 -Comm | 0.0093472 | 0.0093472 | 0.0093472 | 0.0 | 0.69 -Output | 0.019047 | 0.019047 | 0.019047 | 0.0 | 1.41 -Modify | 0.43949 | 0.43949 | 0.43949 | 0.0 | 32.58 -Other | | 0.02415 | | | 1.79 - -Nlocal: 2775 ave 2775 max 2775 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 530 ave 530 max 530 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 24404 ave 24404 max 24404 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 24404 -Ave neighs/atom = 8.79423 -Neighbor list builds = 36 -Dangerous builds = 0 - -##################################################################### -#collect data - -#print the applied force and total flux to ensure conservation of Jx -variable Fapp equal f_GD[1] -compute vxBulk bulk reduce sum vx -compute vyBulk bulk reduce sum vy -variable invVol equal 1.0/(lx*ly) -variable jx equal c_vxBulk*${invVol} -variable jx equal c_vxBulk*0.00025 -variable jy equal c_vyBulk*${invVol} -variable jy equal c_vyBulk*0.00025 -variable curr_step equal step -variable p_Fapp format Fapp %.3f -variable p_jx format jx %.5g -variable p_jy format jy %.5g -fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" -fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" - -#compute IK1 pressure profile -#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627 -#use profile-unbiased temperature to remove the streaming velocity -#from the kinetic part of the pressure -compute spa bulk stress/atom myTp - -#for the pressure profile, use the same grid as the PUT -compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box -compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box - -#output pressure profile and other profiles -#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where -#V is the volume of a slice -fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite -fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite - -#compute velocity profile across the pipe with a finer grid -variable dYnew equal ${dY}/10 -variable dYnew equal 3.07692307692308/10 -compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe -compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe -fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite -fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite - -#full trajectory -# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z -# dump_modify 7 sort id - -run ${run} -run 2000 -Per MPI rank memory allocation (min/avg/max) = 5.174 | 5.174 | 5.174 Mbytes -Step c_myT c_myTp TotEng Press - 2000 2.0302713 2.0802515 0.53472229 6.5470853 - 2010 2.0303419 2.0806129 0.54177821 6.5808527 - 2020 2.0245167 2.0792991 0.54803523 6.6381758 - 2030 2.0169072 2.065404 0.55345227 6.7008962 - 2040 2.0052526 2.0513817 0.55818432 6.7755868 - 2050 1.9953625 2.0366564 0.56245299 6.8382569 - 2060 2.0003667 2.0462109 0.56649798 6.8390557 - 2070 2.0238288 2.0834553 0.57023651 6.7637821 - 2080 2.045765 2.1173867 0.5730944 6.6861321 - 2090 2.0563925 2.1370313 0.57430831 6.6422581 - 2100 2.0620437 2.1480293 0.57319824 6.6080678 - 2110 2.0584437 2.1473173 0.56913597 6.5969671 - 2120 2.0532825 2.1393006 0.56154606 6.5799417 - 2130 2.0450143 2.1234905 0.55009479 6.5616931 - 2140 2.0229537 2.1004507 0.53511912 6.5854627 - 2150 1.9832556 2.0554119 0.51812599 6.6700591 - 2160 1.9444027 2.0110758 0.50163049 6.7534263 - 2170 1.9267473 1.9904528 0.48759542 6.76469 - 2180 1.9262232 1.9809353 0.47662199 6.7188048 - 2190 1.9359331 1.9854626 0.46836289 6.6406985 - 2200 1.9530728 1.9971865 0.4620366 6.5409943 - 2210 1.9657099 2.0056761 0.45692542 6.4639397 - 2220 1.9661008 2.0046161 0.45253504 6.4388081 - 2230 1.9574696 1.9947839 0.44864257 6.4528687 - 2240 1.9522284 1.9922663 0.44518111 6.4584458 - 2250 1.9518203 1.9950044 0.44206844 6.4491722 - 2260 1.9527908 1.9989603 0.4391804 6.4377912 - 2270 1.9452231 1.9932538 0.43643529 6.4607516 - 2280 1.9249341 1.9759145 0.43392742 6.5320897 - 2290 1.9087464 1.960985 0.43186869 6.5875176 - 2300 1.9103289 1.964731 0.43039882 6.5765021 - 2310 1.9182062 1.9783814 0.4294628 6.5434488 - 2320 1.9204281 1.9796609 0.42889381 6.5351629 - 2330 1.916279 1.9720659 0.42866391 6.5562619 - 2340 1.9062866 1.9587628 0.42890166 6.6033936 - 2350 1.9024117 1.9566812 0.42979475 6.6297969 - 2360 1.908153 1.960687 0.43141898 6.6215148 - 2370 1.9115944 1.9663337 0.43376668 6.6236491 - 2380 1.9086193 1.9637867 0.4367911 6.6529568 - 2390 1.9039907 1.9610268 0.44053991 6.6926343 - 2400 1.9034944 1.9609406 0.44508818 6.7193441 - 2410 1.9151521 1.9753641 0.4504458 6.7015957 - 2420 1.9314517 1.9925924 0.45644382 6.6669864 - 2430 1.9433933 2.0062001 0.46277215 6.6481527 - 2440 1.9504631 2.0087015 0.46917209 6.6475757 - 2450 1.9550092 2.0094957 0.47550077 6.6556459 - 2460 1.9609689 2.0147997 0.48170141 6.6568282 - 2470 1.9730726 2.0328127 0.48763131 6.6337545 - 2480 1.9838562 2.0466643 0.49303443 6.6143423 - 2490 1.9862031 2.0473388 0.49767532 6.6245587 - 2500 1.9817565 2.0455432 0.50152131 6.6573893 - 2510 1.9785788 2.0423176 0.50460561 6.6808042 - 2520 1.9823006 2.0505106 0.50696374 6.6726698 - 2530 1.9907178 2.0553736 0.50852885 6.6402082 - 2540 2.0005205 2.0690408 0.50919421 6.5966469 - 2550 2.0079727 2.0809816 0.50872954 6.5568419 - 2560 2.0133128 2.096271 0.50682742 6.5199915 - 2570 2.0141298 2.0990846 0.50314491 6.4951991 - 2580 2.0048768 2.0874319 0.49750096 6.5025454 - 2590 1.9876498 2.0638834 0.4900201 6.5333038 - 2600 1.9720479 2.0474479 0.48105263 6.5527157 - 2610 1.9596324 2.0355764 0.4710001 6.5547867 - 2620 1.9439039 2.0106405 0.46046644 6.5646889 - 2630 1.9321714 1.9924346 0.45021207 6.5589454 - 2640 1.9349378 1.9923889 0.44082833 6.5012762 - 2650 1.9448459 2.0069955 0.43251999 6.4228945 - 2660 1.9446852 2.0050346 0.42525857 6.3921645 - 2670 1.9325594 1.9884937 0.41913362 6.4169726 - 2680 1.9121687 1.9606084 0.41434428 6.4821267 - 2690 1.8923613 1.9339385 0.41105831 6.5517615 - 2700 1.8807238 1.9191801 0.40933203 6.5949447 - 2710 1.8797367 1.918758 0.40906826 6.6001309 - 2720 1.8852961 1.9225996 0.41005611 6.58191 - 2730 1.8937478 1.9357751 0.41204348 6.5541946 - 2740 1.9019279 1.9449374 0.41476104 6.5278575 - 2750 1.9134396 1.9614415 0.41800066 6.4890769 - 2760 1.9339551 1.9913779 0.42150554 6.4159805 - 2770 1.9597826 2.0220988 0.42487614 6.3232273 - 2780 1.9753466 2.0414907 0.42771704 6.2715489 - 2790 1.9720423 2.0402016 0.42976012 6.2949288 - 2800 1.9512893 2.0172711 0.43109201 6.3878056 - 2810 1.9232302 1.9870212 0.4320928 6.5101822 - 2820 1.9026913 1.959286 0.43326424 6.6024967 - 2830 1.9033802 1.9621601 0.43500785 6.6114274 - 2840 1.9214292 1.9833838 0.43733454 6.5508757 - 2850 1.9440563 2.0087358 0.43995473 6.4713496 - 2860 1.9589136 2.0211107 0.44250821 6.4232961 - 2870 1.9588429 2.022232 0.44477492 6.4355861 - 2880 1.9456751 2.0009513 0.44676532 6.5021746 - 2890 1.9269155 1.9782929 0.44877858 6.5926531 - 2900 1.9125262 1.9554653 0.45121196 6.6657808 - 2910 1.9187855 1.9572583 0.45438665 6.6589954 - 2920 1.9416112 1.9784518 0.45839212 6.5888253 - 2930 1.9613579 1.9975032 0.46305788 6.5317424 - 2940 1.9711529 2.0102501 0.46812715 6.5148943 - 2950 1.9707865 2.0133283 0.47345305 6.5389543 - 2960 1.9732526 2.0170219 0.47898306 6.5537092 - 2970 1.9871126 2.0282309 0.48465048 6.5273492 - 2980 1.9953449 2.0404164 0.49032615 6.5227325 - 2990 1.9909136 2.037246 0.49581423 6.5664662 - 3000 1.9872474 2.0307896 0.5011051 6.6060698 - 3010 1.9944885 2.0457308 0.5062755 6.6031811 - 3020 2.0103461 2.0599491 0.51116655 6.5654871 - 3030 2.0240275 2.077342 0.5154921 6.5358852 - 3040 2.0205953 2.0704954 0.51898871 6.5708937 - 3050 2.0032184 2.0463036 0.52167438 6.657741 - 3060 1.9889341 2.0265284 0.52385964 6.7329171 - 3070 1.9795143 2.0201081 0.52588914 6.7881407 - 3080 1.9713362 2.0123964 0.52797238 6.8362858 - 3090 1.9692592 2.0106467 0.53025538 6.8616268 - 3100 1.9722487 2.0259566 0.53277635 6.8689898 - 3110 1.9703322 2.0314028 0.53541462 6.895271 - 3120 1.9594359 2.0217586 0.53808512 6.954362 - 3130 1.9524729 2.0148628 0.5409094 6.9965233 - 3140 1.9630381 2.0260807 0.54400259 6.968082 - 3150 1.9902598 2.0549364 0.54720142 6.8698796 - 3160 2.029715 2.0923999 0.54995378 6.7193678 - 3170 2.0581544 2.1137995 0.55150021 6.6053728 - 3180 2.0590739 2.1156535 0.55123668 6.5919337 - 3190 2.0400682 2.0904721 0.54894762 6.6505757 - 3200 2.0211594 2.0682597 0.54484887 6.7046468 - 3210 2.012712 2.0573114 0.53922056 6.7130909 - 3220 2.0102377 2.0554701 0.53219251 6.6919068 - 3230 2.0017671 2.0505068 0.52386898 6.6867054 - 3240 1.9854941 2.0308454 0.51458791 6.7051085 - 3250 1.9767009 2.0187664 0.50486784 6.6916859 - 3260 1.9771733 2.0186148 0.49510721 6.6424305 - 3270 1.974003 2.0136039 0.48556818 6.6078903 - 3280 1.9627665 1.9989122 0.47654147 6.6067904 - 3290 1.9491247 1.9826247 0.46834865 6.6186709 - 3300 1.9414093 1.9724941 0.4612122 6.6119543 - 3310 1.9433901 1.9715482 0.45518879 6.570612 - 3320 1.9518837 1.9872717 0.45010165 6.5057947 - 3330 1.9603874 1.9957995 0.44566728 6.4428221 - 3340 1.9615962 1.9945224 0.44167201 6.4099339 - 3350 1.955918 1.9882866 0.4380303 6.4070811 - 3360 1.9463445 1.9763654 0.43480086 6.4241178 - 3370 1.9411187 1.9683081 0.4320639 6.4296577 - 3380 1.9407224 1.9580074 0.42991627 6.4210217 - 3390 1.9402479 1.9530447 0.42850635 6.4170536 - 3400 1.9451337 1.9555771 0.42787382 6.3990336 - 3410 1.9475586 1.9612432 0.42797178 6.3953251 - 3420 1.9434927 1.960532 0.4286887 6.4210681 - 3430 1.9339054 1.9516935 0.43003682 6.4707071 - 3440 1.9234014 1.9464343 0.43214965 6.5248205 - 3450 1.9191846 1.9444777 0.43516361 6.5558451 - 3460 1.923218 1.9594606 0.43915611 6.5549213 - 3470 1.9328953 1.9792053 0.44397878 6.5327637 - 3480 1.9466227 1.9997841 0.44940599 6.4954965 - 3490 1.9672374 2.0323219 0.45511091 6.4358811 - 3500 1.9799622 2.0479841 0.46061029 6.4100217 - 3510 1.97942 2.0493411 0.46551964 6.4368108 - 3520 1.9725674 2.0389602 0.46976379 6.4892049 - 3530 1.9716429 2.0389798 0.47344292 6.5200899 - 3540 1.9789254 2.0486162 0.47659268 6.5198212 - 3550 1.9872455 2.0577517 0.47908145 6.5144586 - 3560 1.9808834 2.0545963 0.48076562 6.5633282 - 3570 1.9637165 2.0335394 0.4816783 6.6519124 - 3580 1.9407948 2.0067763 0.48212406 6.7605224 - 3590 1.9226532 1.9825887 0.482523 6.8486041 - 3600 1.9135067 1.9700999 0.48328349 6.8977859 - 3610 1.9157516 1.9720028 0.48470695 6.8977759 - 3620 1.9328644 2.0001154 0.48688778 6.8361569 - 3630 1.9568208 2.0243053 0.48963934 6.7442107 - 3640 1.9824587 2.0569223 0.49259174 6.6452535 - 3650 1.9934906 2.0686357 0.49529039 6.6020218 - 3660 1.9996281 2.0747054 0.49732231 6.5808905 - 3670 2.0038801 2.0772777 0.49838834 6.5691351 - 3680 1.9941342 2.0712365 0.49826732 6.6088108 - 3690 1.9762631 2.0486045 0.49689109 6.6739003 - 3700 1.9667284 2.034939 0.49438991 6.7010266 - 3710 1.9615089 2.0168112 0.49093736 6.7040385 - 3720 1.9613068 2.014749 0.48673789 6.6813041 - 3730 1.9731234 2.0290151 0.48175562 6.6096756 - 3740 1.9829764 2.0461907 0.47575174 6.5424752 - 3750 1.9792839 2.0454423 0.4685271 6.5237752 - 3760 1.9599692 2.0287015 0.46022485 6.5616271 - 3770 1.935975 2.0000948 0.45138017 6.6136471 - 3780 1.9236713 1.9834802 0.44262437 6.6187463 - 3790 1.9268004 1.9875324 0.43430113 6.5632772 - 3800 1.932601 1.9872595 0.42649564 6.4984765 - 3810 1.9322506 1.9814946 0.41928856 6.4617054 - 3820 1.9245737 1.9712821 0.4128224 6.461378 - 3830 1.9148568 1.9555602 0.40721003 6.4774474 - 3840 1.9049961 1.9457058 0.4026118 6.5029211 - 3850 1.8915137 1.9265199 0.39914962 6.5483592 - 3860 1.8784768 1.9058055 0.39700153 6.5962113 - 3870 1.8755236 1.9045158 0.39632769 6.6079033 - 3880 1.8841415 1.9140314 0.39710038 6.5777071 - 3890 1.8958027 1.9331148 0.39918951 6.5359786 - 3900 1.9064085 1.948805 0.40238576 6.4998591 - 3910 1.9185092 1.9675732 0.40647523 6.4610682 - 3920 1.9342595 1.9933225 0.41115392 6.4122308 - 3930 1.9482664 2.007614 0.41603495 6.373684 - 3940 1.9557759 2.0161573 0.42084462 6.3636707 - 3950 1.9573687 2.016612 0.42540421 6.3804123 - 3960 1.9486354 1.9998027 0.42974612 6.4404943 - 3970 1.936214 1.980721 0.43412037 6.5176787 - 3980 1.9274292 1.9595259 0.43885103 6.5846211 - 3990 1.9233082 1.953436 0.44425085 6.6354275 - 4000 1.9289165 1.9522097 0.45042645 6.6513836 -Loop time of 2.49114 on 1 procs for 2000 steps with 2775 atoms - -Performance: 69365.902 tau/day, 802.846 timesteps/s -98.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.4257 | 1.4257 | 1.4257 | 0.0 | 57.23 -Neigh | 0.15501 | 0.15501 | 0.15501 | 0.0 | 6.22 -Comm | 0.017206 | 0.017206 | 0.017206 | 0.0 | 0.69 -Output | 0.034183 | 0.034183 | 0.034183 | 0.0 | 1.37 -Modify | 0.81531 | 0.81531 | 0.81531 | 0.0 | 32.73 -Other | | 0.04374 | | | 1.76 - -Nlocal: 2775 ave 2775 max 2775 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 517 ave 517 max 517 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 24366 ave 24366 max 24366 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 24366 -Ave neighs/atom = 8.78054 -Neighbor list builds = 72 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:05 diff --git a/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.4 b/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.4 deleted file mode 100644 index 6171c0da5c..0000000000 --- a/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.4 +++ /dev/null @@ -1,909 +0,0 @@ -LAMMPS (6 Jul 2017) - using 1 OpenMP thread(s) per MPI task -#LAMMPS input script -#in.GD -#see README for details - -############################################################################### -#initialize variables -clear - using 1 OpenMP thread(s) per MPI task - -#frequency for outputting info (timesteps) -variable dump_rate equal 50 -variable thermo_rate equal 10 - -#equilibration time (timesteps) -variable equil equal 1000 - -#stabilization time (timesteps to reach steady-state) -variable stabil equal 1000 - -#data collection time (timesteps) -variable run equal 2000 - -#length of pipe -variable L equal 30 - -#width of pipe -variable d equal 20 - -#flux (mass/sigma*tau) -variable J equal 0.1 - -#simulation box dimensions -variable Lx equal 100 -variable Ly equal 40 - -#bulk fluid density -variable dens equal 0.8 - -#lattice spacing for wall atoms -variable aWall equal 1.0 #1.7472 - -#timestep -variable ts equal 0.001 - -#temperature -variable T equal 2.0 - -#thermostat damping constant -variable tdamp equal ${ts}*100 -variable tdamp equal 0.001*100 - -units lj -dimension 2 -atom_style atomic - - -############################################################################### -#create box - -#create lattice with the spacing aWall -variable rhoWall equal ${aWall}^(-2) -variable rhoWall equal 1^(-2) -lattice sq ${rhoWall} -lattice sq 1 -Lattice spacing in x,y,z = 1 1 1 - -#modify input dimensions to be multiples of aWall -variable L1 equal round($L/${aWall})*${aWall} -variable L1 equal round(30/${aWall})*${aWall} -variable L1 equal round(30/1)*${aWall} -variable L1 equal round(30/1)*1 -variable d1 equal round($d/${aWall})*${aWall} -variable d1 equal round(20/${aWall})*${aWall} -variable d1 equal round(20/1)*${aWall} -variable d1 equal round(20/1)*1 -variable Ly1 equal round(${Ly}/${aWall})*${aWall} -variable Ly1 equal round(40/${aWall})*${aWall} -variable Ly1 equal round(40/1)*${aWall} -variable Ly1 equal round(40/1)*1 -variable Lx1 equal round(${Lx}/${aWall})*${aWall} -variable Lx1 equal round(100/${aWall})*${aWall} -variable Lx1 equal round(100/1)*${aWall} -variable Lx1 equal round(100/1)*1 - -#create simulation box -variable lx2 equal ${Lx1}/2 -variable lx2 equal 100/2 -variable ly2 equal ${Ly1}/2 -variable ly2 equal 40/2 -region simbox block -${lx2} ${lx2} -${ly2} ${ly2} 0 0.1 units box -region simbox block -50 ${lx2} -${ly2} ${ly2} 0 0.1 units box -region simbox block -50 50 -${ly2} ${ly2} 0 0.1 units box -region simbox block -50 50 -20 ${ly2} 0 0.1 units box -region simbox block -50 50 -20 20 0 0.1 units box -create_box 2 simbox -Created orthogonal box = (-50 -20 0) to (50 20 0.1) - 4 by 1 by 1 MPI processor grid - -##################################################################### -#set up potential - -mass 1 1.0 #fluid atoms -mass 2 1.0 #wall atoms - -pair_style lj/cut 2.5 -pair_modify shift yes -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 1.12246 -pair_coeff 2 2 0.0 0.0 - -neigh_modify exclude type 2 2 - -timestep ${ts} -timestep 0.001 - -##################################################################### -#create atoms - -#create wall atoms everywhere -create_atoms 2 box -Created 4000 atoms - -#define region which is "walled off" -variable dhalf equal ${d1}/2 -variable dhalf equal 20/2 -variable Lhalf equal ${L1}/2 -variable Lhalf equal 30/2 -region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box -region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box -region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box -region walltop block -15 15 10 EDGE -0.1 0.1 units box -region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box -region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box -region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box -region wallbot block -15 15 EDGE -10 -0.1 0.1 units box -region outsidewall union 2 walltop wallbot side out - -#remove wall atoms outside wall region -group outside region outsidewall -3349 atoms in group outside -delete_atoms group outside -Deleted 3349 atoms, new total = 651 - -#remove wall atoms that aren't on edge of wall region -variable x1 equal ${Lhalf}-${aWall} -variable x1 equal 15-${aWall} -variable x1 equal 15-1 -variable y1 equal ${dhalf}+${aWall} -variable y1 equal 10+${aWall} -variable y1 equal 10+1 -region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box -region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box -region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box -region insideTop block -14 14 11 EDGE -0.1 0.1 units box -region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box -region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box -region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box -region insideBot block -14 14 EDGE -11 -0.1 0.1 units box -region insideWall union 2 insideTop insideBot -group insideWall region insideWall -551 atoms in group insideWall -delete_atoms group insideWall -Deleted 551 atoms, new total = 100 - -#define new lattice, to give correct fluid density -#y lattice const must be a multiple of aWall -variable atrue equal ${dens}^(-1/2) -variable atrue equal 0.8^(-1/2) -variable ay equal round(${atrue}/${aWall})*${aWall} -variable ay equal round(1.11803398874989/${aWall})*${aWall} -variable ay equal round(1.11803398874989/1)*${aWall} -variable ay equal round(1.11803398874989/1)*1 - -#choose x lattice const to give correct density -variable ax equal (${ay}*${dens})^(-1) -variable ax equal (1*${dens})^(-1) -variable ax equal (1*0.8)^(-1) - -#change Lx to be multiple of ax -variable Lx1 equal round(${Lx}/${ax})*${ax} -variable Lx1 equal round(100/${ax})*${ax} -variable Lx1 equal round(100/1.25)*${ax} -variable Lx1 equal round(100/1.25)*1.25 -variable lx2 equal ${Lx1}/2 -variable lx2 equal 100/2 -change_box all x final -${lx2} ${lx2} units box -change_box all x final -50 ${lx2} units box -change_box all x final -50 50 units box - orthogonal box = (-50 -20 0) to (50 20 0.1) - -#define new lattice -lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -Lattice spacing in x,y,z = 1.25 1 1 - -#fill in rest of box with bulk particles -variable delta equal 0.001 -variable Ldelt equal ${Lhalf}+${delta} -variable Ldelt equal 15+${delta} -variable Ldelt equal 15+0.001 -variable dDelt equal ${dhalf}-${delta} -variable dDelt equal 10-${delta} -variable dDelt equal 10-0.001 -region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box -region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box -region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box -region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box -region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box -region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box -region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box -region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box -region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box - -region bulk union 3 left pipe right -create_atoms 1 region bulk -Created 2675 atoms - -group bulk type 1 -2675 atoms in group bulk -group wall type 2 -100 atoms in group wall - -#remove atoms that are too close to wall -delete_atoms overlap 0.9 bulk wall -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 72 29 1 - 2 neighbor lists, perpetual/occasional/extra = 1 1 0 - (1) command delete_atoms, occasional - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/2d - bin: standard - (2) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/2d/newton - bin: standard -Deleted 0 atoms, new total = 2775 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes -neigh_modify exclude group wall wall - -velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom -velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom - -##################################################################### -#set up PUT -#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172 - -#average number of particles per box, Evans and Morriss used 2.0 -variable NperBox equal 8.0 - -#calculate box sizes -variable boxSide equal sqrt(${NperBox}/${dens}) -variable boxSide equal sqrt(8/${dens}) -variable boxSide equal sqrt(8/0.8) -variable nX equal round(lx/${boxSide}) -variable nX equal round(lx/3.16227766016838) -variable nY equal round(ly/${boxSide}) -variable nY equal round(ly/3.16227766016838) -variable dX equal lx/${nX} -variable dX equal lx/32 -variable dY equal ly/${nY} -variable dY equal ly/13 - -#temperature of fluid (excluding wall) -compute myT bulk temp - -#profile-unbiased temperature of fluid -compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY} -compute myTp bulk temp/profile 1 1 0 xy 32 ${nY} -compute myTp bulk temp/profile 1 1 0 xy 32 13 - -#thermo setup -thermo ${thermo_rate} -thermo 10 -thermo_style custom step c_myT c_myTp etotal press - -#dump initial configuration -# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz -# dump 56 wall custom 1 wall.init.lammpstrj id type x y z -# dump_modify 55 sort id -# dump_modify 56 sort id -run 0 -WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 72 29 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.067 | 3.068 | 3.07 Mbytes -Step c_myT c_myTp TotEng Press - 0 2 2.0555109 0.77892922 7.3417096 -Loop time of 4.35114e-06 on 4 procs for 0 steps with 2775 atoms - -114.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 4.351e-06 | | |100.00 - -Nlocal: 693.75 ave 800 max 578 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 266.25 ave 325 max 198 min -Histogram: 1 1 0 0 0 0 0 0 0 2 -Neighs: 6601.5 ave 8000 max 5147 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 26406 -Ave neighs/atom = 9.51568 -Neighbor list builds = 0 -Dangerous builds = 0 -# undump 55 -# undump 56 - -##################################################################### -#equilibrate without GD - -fix nvt bulk nvt temp $T $T ${tdamp} -fix nvt bulk nvt temp 2 $T ${tdamp} -fix nvt bulk nvt temp 2 2 ${tdamp} -fix nvt bulk nvt temp 2 2 0.1 -fix_modify nvt temp myTp -WARNING: Temperature for fix modify is not for group all (../fix_nh.cpp:1395) -fix 2 bulk enforce2d - -run ${equil} -run 1000 -Per MPI rank memory allocation (min/avg/max) = 3.13 | 3.131 | 3.132 Mbytes -Step c_myT c_myTp TotEng Press - 0 2 2.0555109 0.77892922 7.3417096 - 10 1.9173594 1.9390034 0.77876976 7.6702228 - 20 1.7033394 1.6974676 0.77977799 8.5614784 - 30 1.5026161 1.4723993 0.78456655 9.4308258 - 40 1.4880481 1.4591602 0.79486693 9.6134304 - 50 1.6192437 1.6150635 0.81109069 9.2592835 - 60 1.7404087 1.7583444 0.82955456 8.952392 - 70 1.7757591 1.8006606 0.8452778 8.9717917 - 80 1.7573847 1.7813629 0.85769389 9.1936368 - 90 1.7491183 1.7726908 0.86882429 9.3712357 - 100 1.7798944 1.8079583 0.88029084 9.3871755 - 110 1.8440582 1.8793133 0.89259397 9.2582848 - 120 1.9191606 1.9673434 0.90533438 9.0680574 - 130 1.9883299 2.0484299 0.91755461 8.88117 - 140 2.0463366 2.1111872 0.92818114 8.7184178 - 150 2.0953769 2.167849 0.93639789 8.5713408 - 160 2.1442147 2.2216228 0.94145082 8.4082835 - 170 2.1797848 2.2631458 0.94246877 8.2767903 - 180 2.1863476 2.2700986 0.93873326 8.2311689 - 190 2.1832866 2.2710551 0.93003012 8.1959062 - 200 2.1937154 2.2868403 0.91642537 8.0842007 - 210 2.2022708 2.2915142 0.89824533 7.9575312 - 220 2.1884715 2.2770564 0.87677613 7.9000591 - 230 2.1671124 2.2496063 0.85409501 7.8673156 - 240 2.1560417 2.2379998 0.83167878 7.8003228 - 250 2.1421449 2.2240624 0.81004723 7.7491508 - 260 2.1172164 2.1971044 0.78931978 7.7457415 - 270 2.0856847 2.1672998 0.76956352 7.7719788 - 280 2.0670685 2.1449303 0.75073364 7.7524614 - 290 2.0639481 2.1428374 0.73258016 7.6727716 - 300 2.055776 2.1361719 0.7147669 7.6095248 - 310 2.038425 2.1209353 0.69722853 7.5797085 - 320 2.0203023 2.1066031 0.68006634 7.5521081 - 330 2.0118478 2.1039797 0.66330302 7.4877535 - 340 2.0159442 2.1096258 0.64673694 7.3761703 - 350 2.0166408 2.1075061 0.63020017 7.2788 - 360 2.0059407 2.0806316 0.61387618 7.2263941 - 370 1.9964281 2.0642074 0.59814148 7.1728041 - 380 1.9918446 2.0567527 0.58303017 7.101597 - 390 1.992835 2.0548138 0.56852431 7.0084774 - 400 2.0012934 2.0615016 0.55438401 6.8865948 - 410 2.0084291 2.073418 0.54034073 6.7697478 - 420 2.007464 2.0786717 0.52617041 6.6849032 - 430 1.9983712 2.0704366 0.51188183 6.6323103 - 440 1.9884651 2.0588515 0.49765394 6.5868356 - 450 1.982221 2.0467396 0.4837102 6.5311681 - 460 1.9738673 2.031238 0.47021649 6.4882783 - 470 1.9574246 2.0060447 0.45740021 6.4814923 - 480 1.9361065 1.9734507 0.44557947 6.4995199 - 490 1.9251024 1.9562469 0.43506067 6.4858343 - 500 1.9279545 1.9572145 0.42577835 6.4274765 - 510 1.9267504 1.9570246 0.41755013 6.3927027 - 520 1.9093405 1.9393872 0.41031829 6.4281888 - 530 1.8820555 1.9060756 0.40432569 6.5099401 - 540 1.86537 1.8912682 0.3999087 6.55843 - 550 1.8694252 1.9043192 0.39717519 6.5337875 - 560 1.8835224 1.9294105 0.39589322 6.4760141 - 570 1.8898719 1.9462433 0.39573596 6.4520041 - 580 1.8887698 1.9472764 0.39649878 6.4602989 - 590 1.8945125 1.9550624 0.39810844 6.4470226 - 600 1.9106571 1.9735939 0.40045321 6.3971026 - 610 1.9273243 1.98509 0.40330026 6.3474421 - 620 1.9351802 1.9888986 0.4064498 6.3340566 - 630 1.9337889 1.9846794 0.40981479 6.3610556 - 640 1.9257018 1.9757153 0.4134641 6.4184721 - 650 1.9204429 1.9718256 0.41750942 6.4679594 - 660 1.9220449 1.9701963 0.42202455 6.4919724 - 670 1.9230578 1.9707406 0.4270412 6.5178484 - 680 1.9204554 1.9740485 0.43255127 6.5572507 - 690 1.9201811 1.9762854 0.43847123 6.5869126 - 700 1.9271511 1.9867455 0.44474356 6.5882669 - 710 1.9418851 2.0042477 0.45120727 6.558573 - 720 1.9544547 2.0186724 0.4576061 6.5338329 - 730 1.9687971 2.0326169 0.46367507 6.4988775 - 740 1.9830308 2.0466267 0.46920367 6.4618136 - 750 1.9936981 2.0526606 0.47397868 6.4367349 - 760 2.0008431 2.0535449 0.47786748 6.4249001 - 770 1.9982133 2.0483219 0.48085757 6.4504786 - 780 1.9841544 2.0311693 0.48306488 6.5200512 - 790 1.9683122 2.0158738 0.48475632 6.5959263 - 800 1.9604618 2.003224 0.48619405 6.6392559 - 810 1.9629155 2.0075077 0.48756075 6.6406486 - 820 1.9683056 2.0110554 0.48883443 6.6269424 - 830 1.975409 2.0189161 0.48995399 6.6030215 - 840 1.9897264 2.035016 0.4907852 6.5485575 - 850 2.0094338 2.0555358 0.49104505 6.4719926 - 860 2.0217589 2.0643603 0.49040437 6.4233305 - 870 2.0147718 2.0641627 0.48866908 6.4491964 - 880 1.9883859 2.0324092 0.48592007 6.5488061 - 890 1.9625853 2.0028776 0.48263002 6.6452734 - 900 1.9520401 1.9889124 0.47925524 6.6808078 - 910 1.9559583 1.9952984 0.47597346 6.6573059 - 920 1.9657244 2.0083503 0.47268726 6.6073704 - 930 1.969288 2.0152339 0.4692054 6.5780416 - 940 1.9652206 2.0116384 0.4654438 6.5769812 - 950 1.9567495 1.9960693 0.46147541 6.5942022 - 960 1.9418452 1.980858 0.45753557 6.6369454 - 970 1.9247196 1.9585585 0.45390337 6.6888821 - 980 1.9128262 1.9481721 0.45090045 6.7198221 - 990 1.9167211 1.9451096 0.44869731 6.6912394 - 1000 1.935529 1.9662384 0.44728238 6.6079829 -Loop time of 0.474418 on 4 procs for 1000 steps with 2775 atoms - -Performance: 182118.045 tau/day, 2107.848 timesteps/s -98.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.13953 | 0.19068 | 0.23764 | 10.4 | 40.19 -Neigh | 0.016439 | 0.022345 | 0.027069 | 3.2 | 4.71 -Comm | 0.018215 | 0.068071 | 0.12178 | 18.6 | 14.35 -Output | 0.011982 | 0.012633 | 0.013047 | 0.4 | 2.66 -Modify | 0.14494 | 0.15597 | 0.16628 | 2.4 | 32.88 -Other | | 0.02472 | | | 5.21 - -Nlocal: 693.75 ave 800 max 584 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 255.5 ave 323 max 192 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Neighs: 6083 ave 7384 max 4742 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 24332 -Ave neighs/atom = 8.76829 -Neighbor list builds = 38 -Dangerous builds = 0 - -##################################################################### -#initialize the COM velocity and run to achieve steady-state - -#calculate velocity to add: V=J/rho_total -variable Vadd equal $J*lx*ly/count(bulk) -variable Vadd equal 0.1*lx*ly/count(bulk) - -#first remove any COM velocity, then add back the streaming velocity -velocity bulk zero linear -velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no -velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no - -fix GD bulk flow/gauss 1 0 0 #energy yes -#fix_modify GD energy yes - -run ${stabil} -run 1000 -Per MPI rank memory allocation (min/avg/max) = 3.13 | 3.131 | 3.132 Mbytes -Step c_myT c_myTp TotEng Press - 1000 1.9466974 1.9662384 0.45804438 6.615449 - 1010 1.9605467 1.9815754 0.45717241 6.5545496 - 1020 1.9560139 1.9823875 0.45660431 6.5672421 - 1030 1.9348326 1.9691606 0.45633148 6.6463667 - 1040 1.9167809 1.9449522 0.45657707 6.7139486 - 1050 1.9193541 1.943342 0.45767968 6.7014054 - 1060 1.9410751 1.9720491 0.45967742 6.6150379 - 1070 1.9658493 1.9964883 0.46221539 6.5178418 - 1080 1.9767205 2.0074304 0.46491236 6.4768594 - 1090 1.9714544 2.0003054 0.46759126 6.5026957 - 1100 1.9647035 1.9927455 0.4703109 6.5400181 - 1110 1.9657667 1.9959656 0.47317481 6.5519094 - 1120 1.9706062 1.9980802 0.476185 6.5512675 - 1130 1.9747655 2.0062292 0.47932281 6.554091 - 1140 1.9761245 2.0075076 0.48248327 6.5670381 - 1150 1.9744197 2.0073027 0.48562483 6.5914441 - 1160 1.9722698 2.0046687 0.48874207 6.6165575 - 1170 1.9692145 2.0013845 0.49187442 6.6438115 - 1180 1.9665609 1.9970724 0.49508053 6.6693821 - 1190 1.9625031 1.9908427 0.49843816 6.7002606 - 1200 1.960528 1.993084 0.50203044 6.7237076 - 1210 1.9649156 1.9981485 0.50587066 6.7217755 - 1220 1.9788059 2.0134511 0.50987442 6.6833452 - 1230 1.9952283 2.0343101 0.51379781 6.6340278 - 1240 2.0039391 2.0494196 0.51730872 6.6129751 - 1250 2.0019006 2.0526773 0.52014603 6.6320217 - 1260 1.9974025 2.0528914 0.52221385 6.6601786 - 1270 1.9953949 2.0561121 0.5234754 6.6796142 - 1280 1.9893864 2.0470375 0.5238632 6.7140134 - 1290 1.9694951 2.019253 0.5235093 6.798442 - 1300 1.9473901 1.9965919 0.52280384 6.8863369 - 1310 1.9511151 2.006161 0.52203882 6.8700917 - 1320 1.979341 2.0388959 0.52106938 6.7529595 - 1330 2.0073235 2.0720045 0.51935291 6.6297731 - 1340 2.0202482 2.0841419 0.51624273 6.55803 - 1350 2.0177489 2.0669046 0.51142591 6.5401753 - 1360 2.0069274 2.04717 0.50505824 6.5506533 - 1370 1.994854 2.0311383 0.49743042 6.5633001 - 1380 1.9793176 2.0077184 0.48890503 6.5859072 - 1390 1.9580907 1.9839831 0.48004316 6.6288992 - 1400 1.9415542 1.9594192 0.47143599 6.6534105 - 1410 1.9405188 1.9591825 0.46353105 6.620549 - 1420 1.9504784 1.9730647 0.45640199 6.5471784 - 1430 1.9594158 1.9819854 0.44995052 6.4802874 - 1440 1.9615108 1.9863792 0.44406411 6.44391 - 1450 1.9544127 1.9806249 0.43873409 6.4484818 - 1460 1.9384927 1.9614953 0.43408605 6.4905259 - 1470 1.9214711 1.9425515 0.43035972 6.5390434 - 1480 1.9170761 1.9300809 0.42775046 6.5409502 - 1490 1.9242904 1.9385731 0.42631007 6.5005057 - 1500 1.9307133 1.9446119 0.4258836 6.4660754 - 1510 1.9303576 1.9435389 0.42633976 6.4616415 - 1520 1.9248382 1.9408306 0.42765441 6.4832059 - 1530 1.9120794 1.9278123 0.42986958 6.5380951 - 1540 1.899122 1.9125029 0.4331459 6.5987181 - 1550 1.9030956 1.9187821 0.43765067 6.6012019 - 1560 1.9182961 1.9453782 0.44330842 6.5674222 - 1570 1.9272863 1.9613129 0.44971962 6.5619794 - 1580 1.931679 1.9698134 0.45643436 6.5780809 - 1590 1.9336692 1.9728684 0.46314752 6.6035675 - 1600 1.938895 1.9823104 0.46964519 6.6138411 - 1610 1.9510838 1.9937914 0.47568807 6.5916989 - 1620 1.9685387 2.0087314 0.48102339 6.5424432 - 1630 1.9894416 2.0295715 0.48539861 6.4757743 - 1640 1.9982699 2.0426949 0.48860411 6.4512418 - 1650 1.9901677 2.0363837 0.49062424 6.4879985 - 1660 1.9814216 2.0291326 0.49172203 6.5248034 - 1670 1.9812111 2.0293629 0.49218297 6.5253876 - 1680 1.9903906 2.0408376 0.49211747 6.4852787 - 1690 2.0015983 2.0538843 0.4914581 6.4325081 - 1700 2.009727 2.0503407 0.49011163 6.3878577 - 1710 2.0167822 2.0531002 0.4881688 6.3477054 - 1720 2.0189021 2.0445033 0.48564798 6.3273063 - 1730 2.0129713 2.0354734 0.48270666 6.3385541 - 1740 2.0048763 2.0199836 0.47950943 6.3587586 - 1750 1.9994843 2.0085942 0.47624908 6.3694119 - 1760 1.9940025 2.0072098 0.47305283 6.3816295 - 1770 1.9817431 1.9974066 0.46994486 6.4224295 - 1780 1.965171 1.9805421 0.4670779 6.4832371 - 1790 1.9474078 1.9662605 0.46466823 6.5516524 - 1800 1.9286009 1.9507751 0.46292015 6.6263366 - 1810 1.9168087 1.9437961 0.46199899 6.6759834 - 1820 1.9107555 1.9306323 0.46204129 6.7029857 - 1830 1.9135569 1.930819 0.46316484 6.6949737 - 1840 1.9345342 1.9553413 0.46532704 6.6178988 - 1850 1.9630349 1.9929548 0.46822932 6.5137866 - 1860 1.9820746 2.0188839 0.47135068 6.4489028 - 1870 1.9834959 2.0217145 0.47427805 6.4552721 - 1880 1.9731564 2.0120293 0.47692755 6.5100251 - 1890 1.9653605 2.0070624 0.47943307 6.5594235 - 1900 1.9630631 2.0095488 0.48192185 6.5912876 - 1910 1.9556778 2.0035006 0.48443107 6.6437189 - 1920 1.9408788 1.9828296 0.48710124 6.7228731 - 1930 1.9292393 1.9732376 0.49025327 6.7880112 - 1940 1.9263081 1.9708942 0.49416086 6.8162477 - 1950 1.9358375 1.976323 0.49899895 6.7946964 - 1960 1.9520543 1.9936542 0.50485961 6.7467481 - 1970 1.9709064 2.0108957 0.51165586 6.6909455 - 1980 1.9940026 2.0375428 0.51918913 6.6250463 - 1990 2.0171261 2.0646948 0.52705638 6.5649879 - 2000 2.0302713 2.0802515 0.53472229 6.5470853 -Loop time of 0.482133 on 4 procs for 1000 steps with 2775 atoms - -Performance: 179203.608 tau/day, 2074.116 timesteps/s -98.6% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.1081 | 0.18228 | 0.23471 | 12.7 | 37.81 -Neigh | 0.011443 | 0.019967 | 0.025651 | 4.1 | 4.14 -Comm | 0.01639 | 0.073615 | 0.15634 | 21.8 | 15.27 -Output | 0.011851 | 0.012603 | 0.013287 | 0.5 | 2.61 -Modify | 0.14306 | 0.16634 | 0.18018 | 3.6 | 34.50 -Other | | 0.02733 | | | 5.67 - -Nlocal: 693.75 ave 797 max 590 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 259 ave 320 max 195 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 6101 ave 7360 max 4853 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 24404 -Ave neighs/atom = 8.79423 -Neighbor list builds = 36 -Dangerous builds = 0 - -##################################################################### -#collect data - -#print the applied force and total flux to ensure conservation of Jx -variable Fapp equal f_GD[1] -compute vxBulk bulk reduce sum vx -compute vyBulk bulk reduce sum vy -variable invVol equal 1.0/(lx*ly) -variable jx equal c_vxBulk*${invVol} -variable jx equal c_vxBulk*0.00025 -variable jy equal c_vyBulk*${invVol} -variable jy equal c_vyBulk*0.00025 -variable curr_step equal step -variable p_Fapp format Fapp %.3f -variable p_jx format jx %.5g -variable p_jy format jy %.5g -fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" -fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" - -#compute IK1 pressure profile -#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627 -#use profile-unbiased temperature to remove the streaming velocity -#from the kinetic part of the pressure -compute spa bulk stress/atom myTp - -#for the pressure profile, use the same grid as the PUT -compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box -compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box - -#output pressure profile and other profiles -#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where -#V is the volume of a slice -fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite -fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite - -#compute velocity profile across the pipe with a finer grid -variable dYnew equal ${dY}/10 -variable dYnew equal 3.07692307692308/10 -compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe -compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe -fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite -fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite - -#full trajectory -# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z -# dump_modify 7 sort id - -run ${run} -run 2000 -Per MPI rank memory allocation (min/avg/max) = 5.138 | 5.139 | 5.14 Mbytes -Step c_myT c_myTp TotEng Press - 2000 2.0302713 2.0802515 0.53472229 6.5470853 - 2010 2.0303419 2.0806129 0.54177821 6.5808527 - 2020 2.0245167 2.0792991 0.54803523 6.6381758 - 2030 2.0169072 2.065404 0.55345227 6.7008962 - 2040 2.0052526 2.0513817 0.55818432 6.7755868 - 2050 1.9953625 2.0366564 0.56245299 6.8382569 - 2060 2.0003667 2.0462109 0.56649798 6.8390557 - 2070 2.0238288 2.0834553 0.57023651 6.7637821 - 2080 2.045765 2.1173867 0.5730944 6.6861321 - 2090 2.0563925 2.1370313 0.57430831 6.6422581 - 2100 2.0620437 2.1480293 0.57319824 6.6080678 - 2110 2.0584437 2.1473173 0.56913597 6.5969671 - 2120 2.0532825 2.1393006 0.56154606 6.5799417 - 2130 2.0450143 2.1234905 0.55009479 6.5616931 - 2140 2.0229537 2.1004507 0.53511912 6.5854627 - 2150 1.9832556 2.0554119 0.51812599 6.6700591 - 2160 1.9444027 2.0110758 0.50163049 6.7534263 - 2170 1.9267473 1.9904528 0.48759542 6.76469 - 2180 1.9262232 1.9809353 0.47662199 6.7188048 - 2190 1.9359331 1.9854626 0.46836289 6.6406985 - 2200 1.9530728 1.9971865 0.4620366 6.5409943 - 2210 1.9657099 2.0056761 0.45692542 6.4639397 - 2220 1.9661008 2.0046161 0.45253504 6.4388081 - 2230 1.9574696 1.9947839 0.44864257 6.4528687 - 2240 1.9522284 1.9922663 0.44518111 6.4584458 - 2250 1.9518203 1.9950044 0.44206844 6.4491722 - 2260 1.9527908 1.9989603 0.4391804 6.4377912 - 2270 1.9452231 1.9932538 0.43643529 6.4607516 - 2280 1.9249341 1.9759145 0.43392742 6.5320897 - 2290 1.9087464 1.960985 0.43186869 6.5875176 - 2300 1.9103289 1.964731 0.43039882 6.5765021 - 2310 1.9182062 1.9783814 0.4294628 6.5434488 - 2320 1.9204281 1.9796609 0.42889381 6.5351629 - 2330 1.916279 1.9720659 0.42866391 6.5562619 - 2340 1.9062866 1.9587628 0.42890166 6.6033936 - 2350 1.9024117 1.9566812 0.42979475 6.6297969 - 2360 1.908153 1.960687 0.43141898 6.6215148 - 2370 1.9115944 1.9663337 0.43376668 6.6236491 - 2380 1.9086193 1.9637867 0.4367911 6.6529568 - 2390 1.9039907 1.9610268 0.44053991 6.6926343 - 2400 1.9034944 1.9609406 0.44508818 6.7193441 - 2410 1.9151521 1.9753641 0.4504458 6.7015957 - 2420 1.9314517 1.9925924 0.45644382 6.6669864 - 2430 1.9433933 2.0062001 0.46277215 6.6481527 - 2440 1.9504631 2.0087015 0.46917209 6.6475757 - 2450 1.9550092 2.0094957 0.47550077 6.6556459 - 2460 1.9609689 2.0147997 0.48170141 6.6568282 - 2470 1.9730726 2.0328127 0.48763131 6.6337545 - 2480 1.9838562 2.0466643 0.49303443 6.6143423 - 2490 1.9862031 2.0473388 0.49767532 6.6245587 - 2500 1.9817565 2.0455432 0.50152131 6.6573893 - 2510 1.9785788 2.0423176 0.50460561 6.6808042 - 2520 1.9823006 2.0505106 0.50696374 6.6726698 - 2530 1.9907178 2.0553736 0.50852885 6.6402082 - 2540 2.0005205 2.0690408 0.50919421 6.5966469 - 2550 2.0079727 2.0809816 0.50872954 6.5568419 - 2560 2.0133128 2.096271 0.50682742 6.5199915 - 2570 2.0141298 2.0990846 0.50314491 6.4951991 - 2580 2.0048768 2.0874319 0.49750096 6.5025454 - 2590 1.9876498 2.0638834 0.4900201 6.5333038 - 2600 1.9720479 2.0474479 0.48105263 6.5527157 - 2610 1.9596324 2.0355764 0.4710001 6.5547867 - 2620 1.9439039 2.0106405 0.46046644 6.5646889 - 2630 1.9321714 1.9924346 0.45021207 6.5589454 - 2640 1.9349378 1.9923889 0.44082833 6.5012762 - 2650 1.9448459 2.0069955 0.43251999 6.4228945 - 2660 1.9446852 2.0050346 0.42525857 6.3921645 - 2670 1.9325594 1.9884937 0.41913362 6.4169726 - 2680 1.9121687 1.9606084 0.41434428 6.4821267 - 2690 1.8923613 1.9339385 0.41105831 6.5517615 - 2700 1.8807238 1.9191801 0.40933203 6.5949447 - 2710 1.8797367 1.918758 0.40906826 6.6001309 - 2720 1.8852961 1.9225996 0.41005611 6.58191 - 2730 1.8937478 1.9357751 0.41204348 6.5541946 - 2740 1.9019279 1.9449374 0.41476104 6.5278575 - 2750 1.9134396 1.9614415 0.41800066 6.4890769 - 2760 1.9339551 1.9913779 0.42150554 6.4159805 - 2770 1.9597826 2.0220988 0.42487614 6.3232273 - 2780 1.9753466 2.0414907 0.42771704 6.2715489 - 2790 1.9720423 2.0402016 0.42976012 6.2949288 - 2800 1.9512893 2.0172711 0.43109201 6.3878056 - 2810 1.9232302 1.9870212 0.4320928 6.5101822 - 2820 1.9026913 1.959286 0.43326424 6.6024967 - 2830 1.9033802 1.9621601 0.43500785 6.6114274 - 2840 1.9214292 1.9833838 0.43733454 6.5508757 - 2850 1.9440563 2.0087358 0.43995473 6.4713496 - 2860 1.9589136 2.0211107 0.44250821 6.4232961 - 2870 1.9588429 2.022232 0.44477492 6.4355861 - 2880 1.9456751 2.0009513 0.44676532 6.5021746 - 2890 1.9269155 1.9782929 0.44877858 6.5926531 - 2900 1.9125262 1.9554653 0.45121196 6.6657808 - 2910 1.9187855 1.9572583 0.45438665 6.6589954 - 2920 1.9416112 1.9784518 0.45839212 6.5888253 - 2930 1.9613579 1.9975032 0.46305788 6.5317424 - 2940 1.9711529 2.0102501 0.46812715 6.5148943 - 2950 1.9707865 2.0133283 0.47345305 6.5389543 - 2960 1.9732526 2.0170219 0.47898306 6.5537092 - 2970 1.9871126 2.0282309 0.48465048 6.5273492 - 2980 1.9953449 2.0404164 0.49032615 6.5227325 - 2990 1.9909136 2.037246 0.49581423 6.5664662 - 3000 1.9872474 2.0307896 0.50110509 6.6060698 - 3010 1.9944885 2.0457308 0.5062755 6.6031811 - 3020 2.0103461 2.0599491 0.51116655 6.5654871 - 3030 2.0240275 2.077342 0.5154921 6.5358852 - 3040 2.0205953 2.0704954 0.51898871 6.5708937 - 3050 2.0032184 2.0463036 0.52167438 6.657741 - 3060 1.9889341 2.0265284 0.52385964 6.7329171 - 3070 1.9795143 2.0201081 0.52588914 6.7881407 - 3080 1.9713362 2.0123964 0.52797238 6.8362858 - 3090 1.9692592 2.0106467 0.53025538 6.8616268 - 3100 1.9722487 2.0259566 0.53277635 6.8689898 - 3110 1.9703322 2.0314028 0.53541462 6.895271 - 3120 1.9594359 2.0217586 0.53808512 6.954362 - 3130 1.9524729 2.0148628 0.5409094 6.9965233 - 3140 1.9630381 2.0260807 0.54400259 6.968082 - 3150 1.9902598 2.0549364 0.54720142 6.8698796 - 3160 2.029715 2.0923999 0.54995378 6.7193678 - 3170 2.0581544 2.1137995 0.55150021 6.6053728 - 3180 2.059074 2.1156535 0.55123668 6.5919337 - 3190 2.0400682 2.0904721 0.54894762 6.6505757 - 3200 2.0211594 2.0682597 0.54484887 6.7046468 - 3210 2.012712 2.0573114 0.53922057 6.7130909 - 3220 2.0102377 2.0554701 0.53219251 6.6919069 - 3230 2.0017671 2.0505068 0.52386898 6.6867054 - 3240 1.9854941 2.0308454 0.51458792 6.7051085 - 3250 1.9767009 2.0187664 0.50486785 6.6916859 - 3260 1.9771733 2.0186148 0.49510722 6.6424305 - 3270 1.974003 2.0136039 0.48556819 6.6078903 - 3280 1.9627665 1.9989122 0.47654147 6.6067904 - 3290 1.9491247 1.9826248 0.46834866 6.6186709 - 3300 1.9414093 1.9724941 0.4612122 6.6119543 - 3310 1.9433901 1.9715482 0.45518879 6.570612 - 3320 1.9518837 1.9872717 0.45010165 6.5057947 - 3330 1.9603874 1.9957995 0.44566728 6.4428221 - 3340 1.9615962 1.9945224 0.44167201 6.4099339 - 3350 1.955918 1.9882866 0.4380303 6.4070811 - 3360 1.9463445 1.9763654 0.43480086 6.4241178 - 3370 1.9411187 1.9683081 0.43206391 6.4296577 - 3380 1.9407224 1.9580074 0.42991627 6.4210217 - 3390 1.9402479 1.9530447 0.42850635 6.4170536 - 3400 1.9451337 1.9555771 0.42787382 6.3990336 - 3410 1.9475586 1.9612432 0.42797178 6.3953251 - 3420 1.9434927 1.960532 0.4286887 6.4210681 - 3430 1.9339054 1.9516935 0.43003682 6.4707071 - 3440 1.9234014 1.9464343 0.43214965 6.5248205 - 3450 1.9191846 1.9444777 0.43516361 6.5558451 - 3460 1.923218 1.9594606 0.43915611 6.5549213 - 3470 1.9328953 1.9792053 0.44397878 6.5327637 - 3480 1.9466227 1.9997841 0.44940599 6.4954965 - 3490 1.9672374 2.0323219 0.45511091 6.4358811 - 3500 1.9799622 2.0479841 0.46061029 6.4100217 - 3510 1.97942 2.0493411 0.46551964 6.4368108 - 3520 1.9725674 2.0389602 0.46976378 6.4892049 - 3530 1.9716429 2.0389798 0.47344292 6.5200899 - 3540 1.9789254 2.0486162 0.47659268 6.5198212 - 3550 1.9872455 2.0577517 0.47908145 6.5144586 - 3560 1.9808834 2.0545962 0.48076561 6.5633282 - 3570 1.9637165 2.0335394 0.4816783 6.6519124 - 3580 1.9407948 2.0067763 0.48212405 6.7605224 - 3590 1.9226532 1.9825887 0.48252299 6.8486041 - 3600 1.9135067 1.9700999 0.48328348 6.8977858 - 3610 1.9157516 1.9720028 0.48470695 6.8977759 - 3620 1.9328644 2.0001154 0.48688777 6.8361569 - 3630 1.9568208 2.0243053 0.48963933 6.7442107 - 3640 1.9824587 2.0569223 0.49259173 6.6452535 - 3650 1.9934906 2.0686356 0.49529038 6.6020218 - 3660 1.9996281 2.0747054 0.4973223 6.5808904 - 3670 2.0038801 2.0772777 0.49838833 6.5691351 - 3680 1.9941342 2.0712365 0.49826732 6.6088107 - 3690 1.9762631 2.0486045 0.49689108 6.6739002 - 3700 1.9667284 2.0349391 0.4943899 6.7010265 - 3710 1.9615089 2.0168112 0.49093735 6.7040384 - 3720 1.9613068 2.0147489 0.48673788 6.6813041 - 3730 1.9731234 2.0290151 0.48175561 6.6096757 - 3740 1.9829764 2.0461907 0.47575173 6.5424752 - 3750 1.9792839 2.0454423 0.46852709 6.5237753 - 3760 1.9599692 2.0287014 0.46022484 6.5616271 - 3770 1.935975 2.0000948 0.45138016 6.6136471 - 3780 1.9236713 1.9834802 0.44262435 6.6187463 - 3790 1.9268004 1.9875324 0.43430112 6.5632772 - 3800 1.932601 1.9872595 0.42649563 6.4984764 - 3810 1.9322506 1.9814946 0.41928855 6.4617054 - 3820 1.9245737 1.9712821 0.4128224 6.4613779 - 3830 1.9148568 1.9555602 0.40721003 6.4774474 - 3840 1.9049961 1.9457058 0.40261179 6.5029211 - 3850 1.8915137 1.9265199 0.39914961 6.5483592 - 3860 1.8784768 1.9058055 0.39700153 6.5962113 - 3870 1.8755236 1.9045158 0.39632768 6.6079033 - 3880 1.8841415 1.9140314 0.39710037 6.577707 - 3890 1.8958027 1.9331149 0.39918951 6.5359785 - 3900 1.9064085 1.948805 0.40238576 6.499859 - 3910 1.9185092 1.9675733 0.40647523 6.4610682 - 3920 1.9342595 1.9933225 0.41115392 6.4122308 - 3930 1.9482664 2.0076139 0.41603495 6.3736841 - 3940 1.9557759 2.0161573 0.42084462 6.3636708 - 3950 1.9573687 2.016612 0.42540421 6.3804124 - 3960 1.9486354 1.9998027 0.42974612 6.4404944 - 3970 1.936214 1.9807209 0.43412037 6.5176788 - 3980 1.9274292 1.9595259 0.43885103 6.5846212 - 3990 1.9233082 1.953436 0.44425085 6.6354276 - 4000 1.9289166 1.9522097 0.45042645 6.6513835 -Loop time of 0.998413 on 4 procs for 2000 steps with 2775 atoms - -Performance: 173074.634 tau/day, 2003.179 timesteps/s -98.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.25646 | 0.3672 | 0.47947 | 15.7 | 36.78 -Neigh | 0.027925 | 0.039163 | 0.050221 | 4.5 | 3.92 -Comm | 0.032807 | 0.14565 | 0.27684 | 25.4 | 14.59 -Output | 0.025572 | 0.032272 | 0.035355 | 2.2 | 3.23 -Modify | 0.31519 | 0.35781 | 0.375 | 4.1 | 35.84 -Other | | 0.05632 | | | 5.64 - -Nlocal: 693.75 ave 805 max 582 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 255.5 ave 312 max 199 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 6091.5 ave 7423 max 4780 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 24366 -Ave neighs/atom = 8.78054 -Neighbor list builds = 72 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:01 diff --git a/examples/PACKAGES/pedone/in.pedone.melt b/examples/PACKAGES/pedone/in.pedone.melt new file mode 100644 index 0000000000..a2b1c3a71e --- /dev/null +++ b/examples/PACKAGES/pedone/in.pedone.melt @@ -0,0 +1,38 @@ +# Ca-O melt with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations + +region box block 0 4 0 4 0 4 +create_box 2 box +create_atoms 1 box + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +create_atoms 2 box + +mass 1 40.078 +mass 2 15.999 + +set type 1 charge 1.2 +set type 2 charge -1.2 + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +velocity all create 6000.0 98347 + +fix 1 all nvt temp 3000.0 3000.0 0.1 + +# dump 1 all atom 500 Ca-O-melt.lammpstrj + +thermo 100 +run 1000 diff --git a/examples/PACKAGES/pedone/in.pedone.relax b/examples/PACKAGES/pedone/in.pedone.relax new file mode 100644 index 0000000000..38ccd651e7 --- /dev/null +++ b/examples/PACKAGES/pedone/in.pedone.relax @@ -0,0 +1,38 @@ +# Ca-O crystal with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations + +region box block 0 4 0 4 0 4 +create_box 2 box +create_atoms 1 box + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +create_atoms 2 box + +mass 1 40.078 +mass 2 15.999 + +displace_atoms all random 0.01 0.01 0.01 9084544 +set type 1 charge 1.2 +set type 2 charge -1.2 + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +variable len equal lx*0.25 +thermo_style custom step v_len lx pe press +thermo 100 +fix 1 all box/relax iso 0.0 +minimize 0.0 0.0 1000 10000 + +print "Expected lattice parameter: 4.7748, computed: $(v_len:%6.4f)" diff --git a/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.1 b/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.1 new file mode 100644 index 0000000000..dc33289391 --- /dev/null +++ b/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.1 @@ -0,0 +1,122 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-373-g7ac84e18dd) + using 1 OpenMP thread(s) per MPI task +# Ca-O melt with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 + +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (19.242 19.242 19.242) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 +create_atoms 2 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +mass 1 40.078 +mass 2 15.999 + +set type 1 charge 1.2 +Setting atom values ... + 256 settings made for charge +set type 2 charge -1.2 +Setting atom values ... + 256 settings made for charge + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +velocity all create 6000.0 98347 + +fix 1 all nvt temp 3000.0 3000.0 0.1 + +# dump 1 all atom 500 Ca-O-melt.lammpstrj + +thermo 100 +run 1000 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.23676226 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 1.3089053e-05 + estimated relative force accuracy = 9.089844e-07 + using double precision FFTW3 + 3d grid and FFT values/proc = 29791 13824 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair pedone, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 9.239 | 9.239 | 9.239 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 6000 -3771.5568 0 -3375.2452 34213.185 + 100 2894.1756 -3562.491 0 -3371.3251 114640.32 + 200 2980.3531 -3570.2657 0 -3373.4076 123673.56 + 300 2783.0437 -3574.5809 0 -3390.7554 119791.27 + 400 3021.6581 -3568.2149 0 -3368.6285 116032.29 + 500 3112.0438 -3580.0178 0 -3374.4613 114798.18 + 600 2973.4609 -3577.0582 0 -3380.6553 111843.46 + 700 3180.1687 -3568.4542 0 -3358.3979 121008.83 + 800 2923.7803 -3573.3023 0 -3380.181 111459.55 + 900 2940.3133 -3572.1322 0 -3377.9188 118177.36 + 1000 3070.2584 -3575.5655 0 -3372.769 114175.52 +Loop time of 13.683 on 1 procs for 1000 steps with 512 atoms + +Performance: 12.629 ns/day, 1.900 hours/ns, 73.084 timesteps/s, 37.419 katom-step/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 11.545 | 11.545 | 11.545 | 0.0 | 84.37 +Kspace | 1.4121 | 1.4121 | 1.4121 | 0.0 | 10.32 +Neigh | 0.65265 | 0.65265 | 0.65265 | 0.0 | 4.77 +Comm | 0.056036 | 0.056036 | 0.056036 | 0.0 | 0.41 +Output | 0.00022945 | 0.00022945 | 0.00022945 | 0.0 | 0.00 +Modify | 0.0090252 | 0.0090252 | 0.0090252 | 0.0 | 0.07 +Other | | 0.00801 | | | 0.06 + +Nlocal: 512 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 10901 ave 10901 max 10901 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 374419 ave 374419 max 374419 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 374419 +Ave neighs/atom = 731.28711 +Neighbor list builds = 71 +Dangerous builds = 0 +Total wall time: 0:00:13 diff --git a/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.4 b/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.4 new file mode 100644 index 0000000000..693b8b3050 --- /dev/null +++ b/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.4 @@ -0,0 +1,122 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-373-g7ac84e18dd) + using 1 OpenMP thread(s) per MPI task +# Ca-O melt with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 + +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (19.242 19.242 19.242) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 +create_atoms 2 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +mass 1 40.078 +mass 2 15.999 + +set type 1 charge 1.2 +Setting atom values ... + 256 settings made for charge +set type 2 charge -1.2 +Setting atom values ... + 256 settings made for charge + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +velocity all create 6000.0 98347 + +fix 1 all nvt temp 3000.0 3000.0 0.1 + +# dump 1 all atom 500 Ca-O-melt.lammpstrj + +thermo 100 +run 1000 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.23676226 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 1.3089053e-05 + estimated relative force accuracy = 9.089844e-07 + using double precision FFTW3 + 3d grid and FFT values/proc = 11191 3456 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair pedone, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.315 | 5.315 | 5.315 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 6000 -3771.5568 0 -3375.2452 34213.185 + 100 3050.0106 -3571.4712 0 -3370.0121 118480.04 + 200 3100.0073 -3571.2534 0 -3366.492 120618.37 + 300 2959.7127 -3580.0883 0 -3384.5935 109184.72 + 400 2922.7083 -3563.9803 0 -3370.9298 120165.71 + 500 3145.0439 -3571.3828 0 -3363.6465 115057.51 + 600 2741.7439 -3563.5077 0 -3382.4102 115504.31 + 700 2906.3636 -3567.3604 0 -3375.3895 119518.5 + 800 2995.3864 -3567.3838 0 -3369.5327 117975.22 + 900 2965.24 -3565.7983 0 -3369.9385 123362.35 + 1000 2916.6485 -3578.7471 0 -3386.0968 115624.78 +Loop time of 4.50395 on 4 procs for 1000 steps with 512 atoms + +Performance: 38.366 ns/day, 0.626 hours/ns, 222.028 timesteps/s, 113.678 katom-step/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.2703 | 3.2983 | 3.3259 | 1.3 | 73.23 +Kspace | 0.79815 | 0.82633 | 0.85342 | 2.6 | 18.35 +Neigh | 0.18328 | 0.18398 | 0.18472 | 0.1 | 4.08 +Comm | 0.17423 | 0.17508 | 0.17592 | 0.2 | 3.89 +Output | 0.00019336 | 0.0002167 | 0.00028554 | 0.0 | 0.00 +Modify | 0.0089842 | 0.0091093 | 0.0092205 | 0.1 | 0.20 +Other | | 0.01096 | | | 0.24 + +Nlocal: 128 ave 143 max 118 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Nghost: 7622.75 ave 7651 max 7598 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 93581.8 ave 106456 max 84898 min +Histogram: 1 1 0 0 1 0 0 0 0 1 + +Total # of neighbors = 374327 +Ave neighs/atom = 731.10742 +Neighbor list builds = 71 +Dangerous builds = 0 +Total wall time: 0:00:04 diff --git a/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.1 b/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.1 new file mode 100644 index 0000000000..bf58a8da9b --- /dev/null +++ b/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.1 @@ -0,0 +1,134 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-373-g7ac84e18dd) + using 1 OpenMP thread(s) per MPI task +# Ca-O crystal with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 + +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (19.242 19.242 19.242) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 +create_atoms 2 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +mass 1 40.078 +mass 2 15.999 + +displace_atoms all random 0.01 0.01 0.01 9084544 +Displacing atoms ... +set type 1 charge 1.2 +Setting atom values ... + 256 settings made for charge +set type 2 charge -1.2 +Setting atom values ... + 256 settings made for charge + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +variable len equal lx*0.25 +thermo_style custom step v_len lx pe press +thermo 100 +fix 1 all box/relax iso 0.0 +minimize 0.0 0.0 1000 10000 +Switching to 'neigh_modify every 1 delay 0 check yes' setting during minimization +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.23676226 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 1.3089053e-05 + estimated relative force accuracy = 9.089844e-07 + using double precision FFTW3 + 3d grid and FFT values/proc = 29791 13824 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair pedone, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +WARNING: Energy due to 1 extra global DOFs will be included in minimizer energies + (src/min.cpp:219) +Per MPI rank memory allocation (min/avg/max) = 10.33 | 10.33 | 10.33 Mbytes + Step v_len Lx PotEng Press + 0 4.8105 19.242 -3765.9116 -21299.914 + 100 4.7797128 19.118851 -3767.814 -164.13101 + 200 4.7787507 19.115003 -3769.1366 -373.58797 + 300 4.7768265 19.107306 -3770.5634 48.944709 + 400 4.7768265 19.107306 -3770.9879 -258.56116 + 500 4.7758644 19.103458 -3771.3898 173.91894 + 600 4.7758644 19.103458 -3771.7586 -91.813678 + 700 4.7758644 19.103458 -3771.9842 -252.52883 + 800 4.7749023 19.099609 -3772.3526 216.83318 + 857 4.7747927 19.099171 -3772.8223 32.586251 +Loop time of 18.0592 on 1 procs for 857 steps with 512 atoms + +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = linesearch alpha is zero + Energy initial, next-to-last, final = + -3765.91161156884 -3772.82226663623 -3772.82226663623 + Force two-norm initial, final = 284.3967 0.46963871 + Force max component initial, final = 284.14458 0.42827677 + Final line search alpha, max atom move = 2.8580337e-08 1.2240294e-08 + Iterations, force evaluations = 857 894 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 13.907 | 13.907 | 13.907 | 0.0 | 77.01 +Kspace | 1.3809 | 1.3809 | 1.3809 | 0.0 | 7.65 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.045871 | 0.045871 | 0.045871 | 0.0 | 0.25 +Output | 0.0002809 | 0.0002809 | 0.0002809 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.726 | | | 15.09 + +Nlocal: 512 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 11655 ave 11655 max 11655 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 372155 ave 372155 max 372155 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 372155 +Ave neighs/atom = 726.86523 +Neighbor list builds = 0 +Dangerous builds = 0 + +print "Expected lattice parameter: 4.7748, computed: $(v_len:%6.4f)" +Expected lattice parameter: 4.7748, computed: 4.7748 +Total wall time: 0:00:18 diff --git a/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.4 b/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.4 new file mode 100644 index 0000000000..95a84f81e0 --- /dev/null +++ b/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.4 @@ -0,0 +1,134 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-373-g7ac84e18dd) + using 1 OpenMP thread(s) per MPI task +# Ca-O crystal with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 + +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (19.242 19.242 19.242) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 +create_atoms 2 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +mass 1 40.078 +mass 2 15.999 + +displace_atoms all random 0.01 0.01 0.01 9084544 +Displacing atoms ... +set type 1 charge 1.2 +Setting atom values ... + 256 settings made for charge +set type 2 charge -1.2 +Setting atom values ... + 256 settings made for charge + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +variable len equal lx*0.25 +thermo_style custom step v_len lx pe press +thermo 100 +fix 1 all box/relax iso 0.0 +minimize 0.0 0.0 1000 10000 +Switching to 'neigh_modify every 1 delay 0 check yes' setting during minimization +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.23676226 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 1.3089053e-05 + estimated relative force accuracy = 9.089844e-07 + using double precision FFTW3 + 3d grid and FFT values/proc = 11191 3456 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair pedone, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +WARNING: Energy due to 1 extra global DOFs will be included in minimizer energies + (src/min.cpp:219) +Per MPI rank memory allocation (min/avg/max) = 6.44 | 6.44 | 6.44 Mbytes + Step v_len Lx PotEng Press + 0 4.8105 19.242 -3765.9116 -21299.914 + 100 4.7797128 19.118851 -3767.814 -164.13101 + 200 4.7787507 19.115003 -3769.1367 -373.59489 + 300 4.7768265 19.107306 -3770.5868 32.046893 + 400 4.7768265 19.107306 -3771.0322 -290.69703 + 500 4.7758644 19.103458 -3771.4223 150.34606 + 600 4.7758644 19.103458 -3771.7941 -117.26938 + 700 4.7758644 19.103458 -3772.0193 -277.34372 + 800 4.7749023 19.099609 -3772.42 171.95177 + 860 4.7748339 19.099336 -3772.8237 1.0976356 +Loop time of 5.65601 on 4 procs for 860 steps with 512 atoms + +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = linesearch alpha is zero + Energy initial, next-to-last, final = + -3765.91161156888 -3772.82365446552 -3772.82365446552 + Force two-norm initial, final = 284.3967 0.067746634 + Force max component initial, final = 284.14458 0.014426328 + Final line search alpha, max atom move = 1.9073486e-06 2.7516038e-08 + Iterations, force evaluations = 860 922 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.7408 | 3.8442 | 4.0543 | 6.5 | 67.97 +Kspace | 0.60187 | 0.81211 | 0.91543 | 14.1 | 14.36 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.14969 | 0.15017 | 0.15071 | 0.1 | 2.66 +Output | 0.00019203 | 0.00020711 | 0.0002511 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.8494 | | | 15.02 + +Nlocal: 128 ave 135 max 123 min +Histogram: 1 0 1 0 1 0 0 0 0 1 +Nghost: 8175 ave 8180 max 8168 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Neighs: 93038.8 ave 98164 max 89373 min +Histogram: 1 0 1 0 1 0 0 0 0 1 + +Total # of neighbors = 372155 +Ave neighs/atom = 726.86523 +Neighbor list builds = 0 +Dangerous builds = 0 + +print "Expected lattice parameter: 4.7748, computed: $(v_len:%6.4f)" +Expected lattice parameter: 4.7748, computed: 4.7748 +Total wall time: 0:00:05 diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/data.pos b/examples/PACKAGES/phonon/2-1D-diatomic/data.pos index cba35b49c9..3ab4033aee 100644 --- a/examples/PACKAGES/phonon/2-1D-diatomic/data.pos +++ b/examples/PACKAGES/phonon/2-1D-diatomic/data.pos @@ -8,7 +8,7 @@ 0.00000000 64.00000000 xlo xhi 0.00000000 1.00000000 ylo yhi - 0.00000000 1.00000000 zlo zhi + -0.50000000 0.50000000 zlo zhi Atoms diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/in.Ana b/examples/PACKAGES/phonon/2-1D-diatomic/in.Ana index ca49cd50c6..5209adeb4a 100644 --- a/examples/PACKAGES/phonon/2-1D-diatomic/in.Ana +++ b/examples/PACKAGES/phonon/2-1D-diatomic/in.Ana @@ -1,4 +1,5 @@ -# 3D simple cubic lattice simulation +# 2D slice of 3D simple cubic lattice simulation + dimension 2 boundary p f p diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.1 b/examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.1 new file mode 100644 index 0000000000..e84bcf8dff --- /dev/null +++ b/examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.1 @@ -0,0 +1,20125 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3D simple cubic lattice simulation +dimension 2 +boundary p f p + +units lj +atom_style bond +atom_modify sort 0 1. +bond_style harmonic +pair_style none +comm_modify cutoff 2.0 + +# geometry +read_data data.pos +Reading data file ... + orthogonal box = (0 0 -0.5) to (64 1 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 64 atoms + scanning bonds ... + 2 = max bonds/atom + reading bonds ... + 64 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +# +neighbor 1.0 nsq +neigh_modify delay 0 check no + +#Langevin random seed +variable r equal 571101 + +#Langevin Temperature +variable t equal 0.005 + +# Langevin Damping variable +variable d equal 0.5 + +# Create velocities and equilibrate +compute MyTemp all temp/partial 1 0 0 +velocity all create $t 28711 mom yes rot yes dist gaussian temp MyTemp +velocity all create 0.005 28711 mom yes rot yes dist gaussian temp MyTemp +velocity all set NULL 0.0 0.0 units box +# +fix 1 all langevin $t $t $d $r +fix 1 all langevin 0.005 $t $d $r +fix 1 all langevin 0.005 0.005 $d $r +fix 1 all langevin 0.005 0.005 0.5 $r +fix 1 all langevin 0.005 0.005 0.5 571101 +fix_modify 1 temp MyTemp +fix 2 all setforce NULL 0. 0. +fix 3 all nve +fix 4 all phonon 10 50000 500000 map.in phonon sysdim 1 +fix_modify 4 temp MyTemp + +# 1 2 3 4 +thermo_style custom step temp pe etotal +thermo_modify temp MyTemp +thermo 100 + +# +run 2000000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix phonon command: doi:10.1016/j.cpc.2011.04.019 + +@Article{Kong11, + author = {L. T. Kong}, + title = {Phonon Dispersion Measured Directly from Molecular Dynamics Simulations}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2011, + volume = 182, + pages = {2201--2207} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: Communication cutoff 2 is shorter than a bond length based estimate of 2.5. This may lead to errors. (src/comm.cpp:723) +WARNING: Communication cutoff 2 is shorter than a bond length based estimate of 2.5. This may lead to errors. (src/comm.cpp:723) +WARNING: Inconsistent image flags (src/domain.cpp:815) +Per MPI rank memory allocation (min/avg/max) = 3.24 | 3.24 | 3.24 Mbytes + Step Temp PotEng TotEng + 0 0.005 0 0.0024609375 + 100 0.0043574392 0.00069805582 0.0028427329 + 200 0.0050747182 0.001248215 0.0037459279 + 300 0.0042939525 0.0012759486 0.0033893784 + 400 0.0047484976 0.001437393 0.0037745442 + 500 0.004627561 0.0016348645 0.0039124922 + 600 0.0053777922 0.0016710534 0.0043179355 + 700 0.0052695823 0.001835953 0.0044295755 + 800 0.0058609694 0.0019759698 0.0048606657 + 900 0.0041391777 0.0023023409 0.0043395924 + 1000 0.0056759231 0.0025899311 0.0053835496 + 1100 0.0040035566 0.0026989975 0.004669498 + 1200 0.0046087446 0.0024368196 0.004705186 + 1300 0.0044194669 0.0024664612 0.0046416676 + 1400 0.0073096222 0.001870287 0.0054679916 + 1500 0.0051897883 0.0017108961 0.004265245 + 1600 0.0044584884 0.001752323 0.0039467352 + 1700 0.005428529 0.0021271098 0.0047989639 + 1800 0.0051009277 0.0024399413 0.0049505541 + 1900 0.0051964843 0.0024877492 0.0050453939 + 2000 0.0055793788 0.0023282122 0.0050743127 + 2100 0.0056652876 0.0021449654 0.0049333492 + 2200 0.0038066338 0.0021519385 0.004025516 + 2300 0.0057120344 0.0023205208 0.0051319127 + 2400 0.0048840732 0.0021352142 0.004539094 + 2500 0.0046857988 0.0019440455 0.0042503371 + 2600 0.0040103298 0.002513002 0.0044868362 + 2700 0.0057128095 0.002876904 0.0056886774 + 2800 0.0046716608 0.0030252203 0.0053245534 + 2900 0.0051838165 0.0019962325 0.0045476421 + 3000 0.0069632545 0.0012651 0.0046923269 + 3100 0.0048263268 0.0019062765 0.0042817343 + 3200 0.0045447528 0.0022519705 0.004488841 + 3300 0.0046649601 0.0022379997 0.0045340347 + 3400 0.0044544129 0.0019164476 0.0041088539 + 3500 0.0039472772 0.0018036276 0.0037464281 + 3600 0.0046102247 0.0022598943 0.0045289892 + 3700 0.0044370266 0.0024312133 0.0046150624 + 3800 0.0051412618 0.0029112044 0.0054416692 + 3900 0.0061568023 0.0026148329 0.005645134 + 4000 0.006119091 0.0026007629 0.0056125029 + 4100 0.0064752671 0.0026929514 0.0058799969 + 4200 0.0065751558 0.0023915745 0.005627784 + 4300 0.0061381444 0.0022725727 0.0052936906 + 4400 0.0058224538 0.0022860937 0.0051518327 + 4500 0.0061726521 0.0026253408 0.005663443 + 4600 0.0039716434 0.0030400687 0.004994862 + 4700 0.0040469864 0.002831765 0.0048236411 + 4800 0.0048440766 0.0026333078 0.0050175017 + 4900 0.0052442362 0.0023348669 0.0049160145 + 5000 0.0051295286 0.0020219063 0.0045465961 + 5100 0.0057879072 0.0021999673 0.0050487028 + 5200 0.0051142738 0.0018998498 0.0044170315 + 5300 0.0057863143 0.0019625202 0.0048104717 + 5400 0.0058678081 0.0021442684 0.0050323302 + 5500 0.0058645814 0.0023505736 0.0052370472 + 5600 0.0030307183 0.0029662202 0.0044579019 + 5700 0.0055602694 0.0030961043 0.0058327995 + 5800 0.004501128 0.0024716441 0.004687043 + 5900 0.0060587191 0.0021550846 0.0051371104 + 6000 0.007430971 0.0021537443 0.0058111754 + 6100 0.0062865463 0.0024185097 0.0055126692 + 6200 0.0040867151 0.0027590127 0.0047704428 + 6300 0.0052219679 0.0025648111 0.0051349984 + 6400 0.0059641115 0.0027159368 0.005651398 + 6500 0.0055556193 0.0030946318 0.0058290382 + 6600 0.0040555581 0.0033636584 0.0053597534 + 6700 0.0045118142 0.0028218699 0.0050425285 + 6800 0.0058601637 0.0023227311 0.0052070304 + 6900 0.0039481052 0.0023341289 0.004277337 + 7000 0.0042144559 0.0023350045 0.0044093071 + 7100 0.0054929735 0.0020343767 0.0047379496 + 7200 0.0046609622 0.0021430473 0.0044371146 + 7300 0.004585171 0.0021899849 0.0044467487 + 7400 0.0054609862 0.002436333 0.0051241621 + 7500 0.0061609286 0.002218384 0.0052507161 + 7600 0.0069910986 0.0023618412 0.0058027725 + 7700 0.0049048939 0.0028163949 0.0052305224 + 7800 0.0059777828 0.0028555032 0.0057976932 + 7900 0.0056747441 0.0026868768 0.005479915 + 8000 0.0054592173 0.0026213233 0.0053082818 + 8100 0.0060248934 0.0024665402 0.0054319174 + 8200 0.0034740925 0.0022766833 0.0039865882 + 8300 0.0046311032 0.0020748438 0.0043542149 + 8400 0.0055686859 0.0025104548 0.0052512924 + 8500 0.0052091911 0.0031335015 0.0056974002 + 8600 0.0067050757 0.0031081221 0.0064082765 + 8700 0.005609584 0.003129452 0.0058904192 + 8800 0.0062972892 0.0029939671 0.0060934141 + 8900 0.0050003322 0.0033860259 0.0058471269 + 9000 0.0057945805 0.0027651923 0.0056172124 + 9100 0.0050460043 0.0025437242 0.0050273045 + 9200 0.0042363075 0.0024518661 0.0045369237 + 9300 0.0065605566 0.0021761918 0.0054052158 + 9400 0.0046266128 0.0027272818 0.0050044428 + 9500 0.005093908 0.0035739754 0.0060811332 + 9600 0.0056811868 0.0032402711 0.0060364802 + 9700 0.0054339481 0.0027984612 0.0054729825 + 9800 0.0046290197 0.0029933479 0.0052716935 + 9900 0.0040932968 0.0030192789 0.0050339484 + 10000 0.0046184332 0.0027902298 0.0050633649 + 10100 0.0054785105 0.0024845081 0.0051809625 + 10200 0.0036508441 0.0027718363 0.0045687361 + 10300 0.0058397664 0.0024143777 0.0052886377 + 10400 0.0061316511 0.0023004298 0.0053183519 + 10500 0.0063671891 0.002358583 0.0054924339 + 10600 0.0055673068 0.0024652813 0.0052054401 + 10700 0.0044767567 0.0022108097 0.0044142133 + 10800 0.0038516362 0.0021290553 0.0040247825 + 10900 0.0059622925 0.0014383539 0.0043729198 + 11000 0.0047015528 0.0017109579 0.0040250034 + 11100 0.0048324377 0.0022149034 0.0045933689 + 11200 0.0045895327 0.0023331633 0.0045920739 + 11300 0.0057685631 0.0023070843 0.005146299 + 11400 0.0057175293 0.0021263437 0.0049404401 + 11500 0.0042261386 0.0014448706 0.0035249232 + 11600 0.0040073938 0.0016123955 0.0035847846 + 11700 0.0052509295 0.0021014322 0.0046858741 + 11800 0.0046129007 0.0021548504 0.0044252624 + 11900 0.006252411 0.0019672111 0.0050445697 + 12000 0.0042706578 0.0022585261 0.0043604904 + 12100 0.0052386215 0.0021427965 0.0047211805 + 12200 0.0048033303 0.0020771704 0.0044413095 + 12300 0.0054123556 0.0021925501 0.0048564439 + 12400 0.0056958095 0.0024101247 0.005213531 + 12500 0.003936961 0.0025784348 0.0045161578 + 12600 0.005806319 0.0023774483 0.005235246 + 12700 0.0050246058 0.002138577 0.0046116252 + 12800 0.0046466499 0.002353937 0.00464096 + 12900 0.0040697576 0.0026153486 0.0046184324 + 13000 0.0051077455 0.0025926649 0.0051066334 + 13100 0.0059238162 0.0023754973 0.0052911256 + 13200 0.0050262601 0.0027866217 0.005260484 + 13300 0.0046837193 0.0028305953 0.0051358633 + 13400 0.0060702275 0.0026578378 0.0056455279 + 13500 0.0070941669 0.0028599331 0.0063515934 + 13600 0.0049383135 0.0027511174 0.0051816936 + 13700 0.0058137233 0.0022787622 0.0051402041 + 13800 0.0050900322 0.0023292658 0.004834516 + 13900 0.0056035425 0.0020847497 0.0048427433 + 14000 0.0048421321 0.0020643753 0.0044476122 + 14100 0.0040120734 0.0020900085 0.0040647008 + 14200 0.0059974558 0.0018489433 0.004800816 + 14300 0.0053519842 0.0020061349 0.0046403146 + 14400 0.0052577077 0.0021811748 0.0047689528 + 14500 0.0057442141 0.0024358113 0.0052630417 + 14600 0.0053705754 0.0023154331 0.0049587632 + 14700 0.0055287223 0.0023659441 0.0050871121 + 14800 0.0063853093 0.0020824722 0.0052252416 + 14900 0.0056650971 0.0021430137 0.0049313037 + 15000 0.0046222911 0.0026066063 0.0048816402 + 15100 0.0046457835 0.003285206 0.0055718026 + 15200 0.0040692184 0.0029406222 0.0049434406 + 15300 0.0065218196 0.0024823014 0.0056922595 + 15400 0.0061524606 0.002338872 0.0053670362 + 15500 0.0062325672 0.0025187092 0.0055863008 + 15600 0.0037374849 0.0029118315 0.0047513748 + 15700 0.0059601316 0.0031529096 0.0060864119 + 15800 0.0042898257 0.004230945 0.0063423436 + 15900 0.0054123635 0.0039736962 0.0066375938 + 16000 0.0040378221 0.0027442226 0.0047315882 + 16100 0.0041917268 0.0024148012 0.0044779167 + 16200 0.0042305682 0.0023259363 0.0044081691 + 16300 0.0040641612 0.0022020665 0.0042023958 + 16400 0.0060958857 0.0022393112 0.00523963 + 16500 0.0047586325 0.0025539716 0.004896111 + 16600 0.0037833567 0.0027341016 0.0045962225 + 16700 0.0060242296 0.0026077144 0.0055727649 + 16800 0.0047023675 0.002547006 0.0048614525 + 16900 0.0038554174 0.0029582913 0.0048558795 + 17000 0.006008217 0.0026384653 0.0055956347 + 17100 0.0067006887 0.002296129 0.0055941243 + 17200 0.0054133465 0.0019429878 0.0046073693 + 17300 0.0054890427 0.0016767747 0.0043784129 + 17400 0.0045449859 0.0014176576 0.0036546428 + 17500 0.0054955486 0.0017163541 0.0044211944 + 17600 0.0058078136 0.0020150777 0.004873611 + 17700 0.0049416351 0.002080061 0.004512272 + 17800 0.0038131568 0.0018465223 0.0037233104 + 17900 0.0052006166 0.0016009024 0.0041605809 + 18000 0.0034856127 0.0019176235 0.0036331985 + 18100 0.0050435836 0.0021592134 0.0046416022 + 18200 0.0050454556 0.0024104341 0.0048937443 + 18300 0.0043581658 0.0029787385 0.0051237732 + 18400 0.0053312898 0.0033614164 0.0059854106 + 18500 0.0048966937 0.0036187995 0.0060288909 + 18600 0.0048182169 0.00292895 0.0053004161 + 18700 0.0054267617 0.0025620849 0.0052330692 + 18800 0.0050943475 0.0026813135 0.0051886876 + 18900 0.0039869876 0.0032543936 0.005216739 + 19000 0.0043626198 0.0029896235 0.0051368504 + 19100 0.0045877519 0.002750391 0.0050084251 + 19200 0.006579538 0.0029501522 0.0061885185 + 19300 0.0056048184 0.0032254909 0.0059841125 + 19400 0.0053903909 0.0030408147 0.0056938977 + 19500 0.005771061 0.0028106681 0.0056511122 + 19600 0.0050787056 0.0032741651 0.0057738405 + 19700 0.0062354423 0.0039768846 0.0070458913 + 19800 0.0058671063 0.0038051942 0.0066929106 + 19900 0.0049825744 0.0031770943 0.0056294551 + 20000 0.0047919255 0.0031410517 0.0054995776 + 20100 0.0050407583 0.0035424658 0.0060234641 + 20200 0.0058757475 0.0034199356 0.0063119051 + 20300 0.006334621 0.0037184005 0.0068362218 + 20400 0.0034952831 0.0040343948 0.0057547294 + 20500 0.0066970618 0.0032583121 0.0065545222 + 20600 0.0058642918 0.0028310331 0.0057173642 + 20700 0.0042924271 0.0031799111 0.00529259 + 20800 0.0056142768 0.0033570129 0.0061202898 + 20900 0.0079429254 0.002630942 0.0065403506 + 21000 0.0058092966 0.0023584059 0.005217669 + 21100 0.0051128755 0.0027720768 0.0052885702 + 21200 0.0056039589 0.0029475615 0.00570576 + 21300 0.0049123632 0.003310519 0.0057283228 + 21400 0.0060294589 0.002649009 0.0056166333 + 21500 0.0063442688 0.0020375075 0.0051600773 + 21600 0.0041018738 0.0025317231 0.0045506141 + 21700 0.0049487689 0.0027899206 0.0052256427 + 21800 0.0053324851 0.0028817412 0.0055063237 + 21900 0.005635867 0.0030079436 0.0057818469 + 22000 0.0053407066 0.0029636439 0.005592273 + 22100 0.0066422576 0.0027743155 0.0060435516 + 22200 0.0045173653 0.0027470486 0.0049704393 + 22300 0.0058282909 0.0031696141 0.006038226 + 22400 0.0048138406 0.0035294177 0.0058987298 + 22500 0.0040163512 0.0031258619 0.0051026598 + 22600 0.005497944 0.0029409361 0.0056469554 + 22700 0.0035751831 0.0028083674 0.0045680278 + 22800 0.0050463085 0.0028518322 0.0053355621 + 22900 0.0050976468 0.0031764332 0.0056854312 + 23000 0.0062732751 0.003343365 0.0064309926 + 23100 0.0059831671 0.0033794992 0.0063243392 + 23200 0.0068515269 0.0038534344 0.0072256703 + 23300 0.0053723963 0.0040804729 0.0067246992 + 23400 0.0038984421 0.0037090769 0.0056278414 + 23500 0.0043842159 0.0033244792 0.0054823355 + 23600 0.0053604598 0.0030350809 0.0056734322 + 23700 0.0049866894 0.0033867784 0.0058411646 + 23800 0.0055185061 0.0035940384 0.0063101782 + 23900 0.0060509926 0.0035528583 0.0065310813 + 24000 0.0052942519 0.0032618388 0.0058676035 + 24100 0.0046515919 0.0022780225 0.0045674779 + 24200 0.0048312594 0.0021154079 0.0044932934 + 24300 0.0046075168 0.0026012561 0.0048690183 + 24400 0.0055975784 0.0026241897 0.0053792478 + 24500 0.0048762345 0.0023024667 0.0047024884 + 24600 0.005792076 0.0020312863 0.0048820737 + 24700 0.0056289998 0.0018654626 0.004635986 + 24800 0.0045177675 0.0018953833 0.004118972 + 24900 0.0053059202 0.0018988041 0.0045103117 + 25000 0.0052083277 0.0019125631 0.0044760369 + 25100 0.0054212234 0.0022550518 0.0049233102 + 25200 0.0049555615 0.0025207197 0.0049597851 + 25300 0.0061774688 0.0026896502 0.0057301232 + 25400 0.005059164 0.0026353207 0.005125378 + 25500 0.0048688444 0.0020352551 0.0044316395 + 25600 0.0048712222 0.001728894 0.0041264487 + 25700 0.0038212296 0.0017067335 0.003587495 + 25800 0.0040380906 0.0016554804 0.0036429781 + 25900 0.0043263076 0.0019219823 0.0040513368 + 26000 0.0054074945 0.001997128 0.0046586292 + 26100 0.0049600073 0.002519319 0.0049605726 + 26200 0.0056113617 0.0025971664 0.0053590085 + 26300 0.0049320056 0.0026140545 0.005041526 + 26400 0.0053954553 0.0030303057 0.0056858814 + 26500 0.0045835433 0.003211243 0.0054672057 + 26600 0.0048864138 0.0034010771 0.0058061089 + 26700 0.0060285599 0.0030244588 0.0059916407 + 26800 0.0058859498 0.0023446802 0.0052416711 + 26900 0.005913359 0.0021342138 0.0050446952 + 27000 0.0047430396 0.0022132581 0.0045477229 + 27100 0.0046058289 0.0022268681 0.0044937995 + 27200 0.0047747041 0.0018880948 0.0042381445 + 27300 0.0048497295 0.0019983256 0.0043853018 + 27400 0.0055509596 0.0022895952 0.0050217081 + 27500 0.0034907328 0.0020011735 0.0037192685 + 27600 0.00456077 0.0015742 0.003818954 + 27700 0.0054887852 0.0020371585 0.00473867 + 27800 0.0043722682 0.0021848794 0.0043368552 + 27900 0.0059444464 0.0021015692 0.0050273514 + 28000 0.0061640368 0.0020122197 0.0050460815 + 28100 0.0040434039 0.0020061319 0.0039962447 + 28200 0.0056980091 0.0018915625 0.0046960514 + 28300 0.0043620541 0.0016827876 0.0038297361 + 28400 0.0050075312 0.0020823888 0.0045470331 + 28500 0.0048597403 0.0021669915 0.0045588949 + 28600 0.0049462088 0.0024610391 0.0048955013 + 28700 0.0048715233 0.0019898566 0.0043875595 + 28800 0.0049953675 0.0020809044 0.0045395618 + 28900 0.0039609176 0.0027204082 0.0046699223 + 29000 0.0046405152 0.0026787007 0.0049627043 + 29100 0.0040307692 0.0024111027 0.0043949969 + 29200 0.0055622707 0.0021787345 0.0049164146 + 29300 0.004691948 0.0023987771 0.0047080952 + 29400 0.0054522045 0.0021773926 0.0048608995 + 29500 0.0049082269 0.0023485497 0.0047643176 + 29600 0.0044234756 0.0027077731 0.0048849524 + 29700 0.0044703753 0.0030638593 0.0052641221 + 29800 0.0057738402 0.0032529547 0.0060947666 + 29900 0.0048025121 0.0027421539 0.0051058903 + 30000 0.0055909846 0.0023093322 0.0050611449 + 30100 0.0046734595 0.0021724983 0.0044727167 + 30200 0.0048364088 0.0019816822 0.0043621022 + 30300 0.0056588503 0.0021027804 0.0048879957 + 30400 0.0042038264 0.0025429615 0.0046120323 + 30500 0.0066456506 0.0028193285 0.0060902347 + 30600 0.0057051527 0.0027646569 0.0055726618 + 30700 0.0045781261 0.0021712769 0.0044245733 + 30800 0.0061563885 0.0024026535 0.0054327509 + 30900 0.006137954 0.0028131351 0.0058341594 + 31000 0.0057865932 0.0033815486 0.0062296375 + 31100 0.0055236249 0.0032625501 0.0059812092 + 31200 0.0058766132 0.0032343848 0.0061267804 + 31300 0.0038290884 0.0033710206 0.0052556501 + 31400 0.0052004617 0.002375254 0.0049348563 + 31500 0.0046165465 0.0022371838 0.0045093903 + 31600 0.0054296383 0.0022328305 0.0049052306 + 31700 0.0052948911 0.0023888817 0.0049949609 + 31800 0.0037717404 0.0033449354 0.0052013389 + 31900 0.0036596704 0.0034627591 0.0052640032 + 32000 0.004879604 0.003315021 0.0057167011 + 32100 0.0052479579 0.003748086 0.0063310653 + 32200 0.0056643196 0.0037741937 0.006562101 + 32300 0.0050576031 0.0033843274 0.0058736164 + 32400 0.0063975521 0.0030393025 0.0061880977 + 32500 0.0044808357 0.0030148443 0.0052202556 + 32600 0.0071966777 0.0024360099 0.0059781247 + 32700 0.0054322363 0.0020534184 0.0047270972 + 32800 0.0045356839 0.00243665 0.004669057 + 32900 0.0043858911 0.0025665673 0.0047252481 + 33000 0.0061873012 0.0024854763 0.0055307886 + 33100 0.0060590587 0.0029373982 0.0059195912 + 33200 0.0051938061 0.0029602147 0.0055165412 + 33300 0.0046116034 0.0026471722 0.0049169457 + 33400 0.0048636673 0.0024079508 0.004801787 + 33500 0.0050727071 0.0025147355 0.0050114585 + 33600 0.0044766618 0.0025390206 0.0047423776 + 33700 0.0054448159 0.0022224231 0.0049022935 + 33800 0.005215128 0.0025358883 0.0051027091 + 33900 0.0056592959 0.0023395036 0.0051249383 + 34000 0.0057721678 0.0023020667 0.0051430555 + 34100 0.0060950158 0.0021174573 0.0051173479 + 34200 0.0045799007 0.0025894827 0.0048436526 + 34300 0.0041966686 0.0028745785 0.0049401263 + 34400 0.0041694325 0.0028783655 0.004930508 + 34500 0.0056157964 0.0022336284 0.0049976532 + 34600 0.0056673546 0.0025029817 0.0052923827 + 34700 0.0049042486 0.0027922823 0.0052060922 + 34800 0.0051478697 0.0028121309 0.0053458481 + 34900 0.0057709291 0.0025933891 0.0054337683 + 35000 0.0043881389 0.002579542 0.0047393291 + 35100 0.0032504434 0.0027300489 0.0043298766 + 35200 0.0043606937 0.0026993947 0.0048456736 + 35300 0.0050154596 0.0023707094 0.0048392559 + 35400 0.0039021657 0.0020705451 0.0039911423 + 35500 0.0045254366 0.0021294437 0.004356807 + 35600 0.0059918603 0.0019210225 0.0048701413 + 35700 0.0050307505 0.002146211 0.0046222835 + 35800 0.0061508274 0.0022475827 0.005274943 + 35900 0.0044662784 0.0025734008 0.0047716472 + 36000 0.0045982898 0.0024962582 0.004759479 + 36100 0.0054398466 0.0026323868 0.0053098112 + 36200 0.0034912201 0.0024770526 0.0041953875 + 36300 0.0039933997 0.0023731091 0.0043386105 + 36400 0.004960091 0.0020253619 0.0044666567 + 36500 0.0045110156 0.0020062164 0.0042264819 + 36600 0.0047338422 0.0020225667 0.0043525046 + 36700 0.0051109762 0.0018959322 0.0044114909 + 36800 0.0049331699 0.0020565315 0.0044845761 + 36900 0.0052401292 0.0020928006 0.0046719267 + 37000 0.005287103 0.0027874805 0.0053897265 + 37100 0.004868352 0.0031870581 0.0055832001 + 37200 0.0067231239 0.00288397 0.0061930076 + 37300 0.0062597497 0.0026862645 0.005767235 + 37400 0.0053918913 0.0025141209 0.0051679424 + 37500 0.0053173824 0.0026456735 0.0052628227 + 37600 0.0038746543 0.0025561048 0.0044631612 + 37700 0.0065020086 0.0020765991 0.0052768065 + 37800 0.0032280816 0.0020763865 0.0036652079 + 37900 0.0040683435 0.0026674628 0.0046698506 + 38000 0.0054937396 0.0032666628 0.0059706127 + 38100 0.0058787749 0.0035272261 0.0064206856 + 38200 0.006491445 0.0031632827 0.0063582908 + 38300 0.0040342657 0.0030945317 0.0050801468 + 38400 0.0055346487 0.0026509169 0.0053750019 + 38500 0.0053730018 0.0024468445 0.0050913688 + 38600 0.0046714509 0.0024470565 0.0047462863 + 38700 0.0050771096 0.0024852017 0.0049840915 + 38800 0.0039674348 0.0023424886 0.0042952104 + 38900 0.0054613945 0.0024739221 0.0051619523 + 39000 0.0056216656 0.002904291 0.0056712046 + 39100 0.0046869654 0.0031164961 0.0054233619 + 39200 0.0044473466 0.003477994 0.0056669223 + 39300 0.0052660574 0.0032816242 0.0058735119 + 39400 0.0065133824 0.0027647611 0.0059705665 + 39500 0.0046125617 0.0027430479 0.0050132931 + 39600 0.0039969338 0.0027835016 0.0047507425 + 39700 0.0042943571 0.0028185467 0.0049321756 + 39800 0.0041154251 0.002668955 0.0046945158 + 39900 0.0043943625 0.0026446077 0.004807458 + 40000 0.0043163581 0.0029722164 0.0050966739 + 40100 0.0048135281 0.0035377036 0.005906862 + 40200 0.0054013832 0.0034219724 0.0060804657 + 40300 0.0048106871 0.0033130657 0.0056808258 + 40400 0.0044925317 0.0026630956 0.0048742636 + 40500 0.0031533565 0.0025591451 0.0041111878 + 40600 0.0036964261 0.0024499732 0.004269308 + 40700 0.0049820802 0.0023781378 0.0048302554 + 40800 0.0049579201 0.0028466837 0.00528691 + 40900 0.0040527787 0.0026961648 0.0046908918 + 41000 0.0035012779 0.0024444294 0.0041677146 + 41100 0.0040248161 0.002045673 0.0040266371 + 41200 0.0060529986 0.0023638815 0.0053430917 + 41300 0.0058827269 0.0025750101 0.0054704148 + 41400 0.005686629 0.0026284143 0.0054273021 + 41500 0.0053967299 0.0029007499 0.0055569529 + 41600 0.005260624 0.0029715136 0.005560727 + 41700 0.0048897694 0.002828442 0.0052351254 + 41800 0.0053090345 0.0028582381 0.0054712785 + 41900 0.0061650184 0.0027138328 0.0057481778 + 42000 0.004885107 0.0025881829 0.0049925715 + 42100 0.0051536326 0.002449614 0.0049861675 + 42200 0.0054647197 0.002102733 0.0047923998 + 42300 0.0063220645 0.002358084 0.0054697251 + 42400 0.0047802288 0.002569246 0.0049220148 + 42500 0.0054277597 0.0025061238 0.0051775993 + 42600 0.0052555022 0.0025186371 0.0051053296 + 42700 0.0055016559 0.0027428163 0.0054506626 + 42800 0.0041685106 0.0025491297 0.0046008186 + 42900 0.0061125797 0.0024253938 0.0054339291 + 43000 0.0057603695 0.0024727145 0.0053078963 + 43100 0.0063647582 0.0021505758 0.0052832303 + 43200 0.0075452737 0.0020239728 0.0057376622 + 43300 0.0058871336 0.0025064254 0.0054039989 + 43400 0.0037365189 0.0028834155 0.0047224834 + 43500 0.0049943981 0.0028538701 0.0053120504 + 43600 0.0047787112 0.0027304531 0.005082475 + 43700 0.0050896025 0.0030697396 0.0055747783 + 43800 0.0051233927 0.0033858892 0.0059075591 + 43900 0.0056288699 0.0025229392 0.0052933986 + 44000 0.0066140005 0.0018883198 0.0051436482 + 44100 0.0041710492 0.0020011146 0.0040540529 + 44200 0.0052870161 0.0022571029 0.0048593061 + 44300 0.0043572528 0.0025009952 0.0046455805 + 44400 0.0042329947 0.0022262181 0.0043096452 + 44500 0.0060125135 0.0019067588 0.0048660428 + 44600 0.0050525298 0.0017708024 0.0042575944 + 44700 0.004844732 0.0019484927 0.0043330092 + 44800 0.0046475175 0.0024205819 0.0047080319 + 44900 0.0052083032 0.0025880249 0.0051514866 + 45000 0.0063883863 0.0028052659 0.0059495498 + 45100 0.0058661416 0.0025994969 0.0054867385 + 45200 0.0046619959 0.0028173792 0.0051119554 + 45300 0.004539417 0.0030325813 0.0052668256 + 45400 0.003464538 0.003007959 0.0047131613 + 45500 0.0048671256 0.0027041963 0.0050997347 + 45600 0.0062309309 0.0024492554 0.0055160417 + 45700 0.0060378046 0.0026753974 0.0056471293 + 45800 0.0048164271 0.0024666541 0.0048372393 + 45900 0.004633461 0.002422791 0.0047033225 + 46000 0.0048803427 0.0025580295 0.0049600732 + 46100 0.0051120808 0.0020052381 0.0045213403 + 46200 0.0051368641 0.0023940681 0.0049223684 + 46300 0.0047506314 0.0022936906 0.004631892 + 46400 0.0043825732 0.0020112923 0.00416834 + 46500 0.0033617453 0.0022722015 0.0039268105 + 46600 0.0048341791 0.002040599 0.0044199216 + 46700 0.0063786571 0.0019302017 0.005069697 + 46800 0.0044382804 0.0018962544 0.0040807206 + 46900 0.0061459049 0.0022291541 0.0052540917 + 47000 0.0034570347 0.0024280735 0.0041295828 + 47100 0.0063890193 0.0021365518 0.0052811472 + 47200 0.0041531248 0.0022357291 0.0042798453 + 47300 0.0062192703 0.0022819697 0.0053430168 + 47400 0.0042734377 0.0024638024 0.004567135 + 47500 0.0050057491 0.0024792104 0.0049429775 + 47600 0.0054308495 0.0024967244 0.0051697206 + 47700 0.004795058 0.0027333028 0.0050933704 + 47800 0.0053092366 0.0026147226 0.0052278625 + 47900 0.0057996794 0.0024898333 0.005344363 + 48000 0.004083384 0.002442603 0.0044523935 + 48100 0.0058859086 0.0023673621 0.0052643328 + 48200 0.0057436163 0.0022471262 0.0050740624 + 48300 0.0039847824 0.0019009417 0.0038622018 + 48400 0.0060841313 0.0017955454 0.0047900787 + 48500 0.0060832498 0.0020093656 0.0050034651 + 48600 0.0053065092 0.0025090423 0.0051208398 + 48700 0.004519689 0.0024532933 0.0046778278 + 48800 0.0049853304 0.0026800268 0.0051337441 + 48900 0.0051309595 0.0028925872 0.0054179813 + 49000 0.0037338752 0.002916775 0.0047545417 + 49100 0.0076271765 0.0023703752 0.0061243761 + 49200 0.0054014004 0.002376085 0.0050345867 + 49300 0.0045413047 0.0022238611 0.0044590346 + 49400 0.0050404956 0.0019930702 0.0044739391 + 49500 0.0056868245 0.0022009304 0.0049999143 + 49600 0.0046266325 0.0023248458 0.0046020165 + 49700 0.0046008386 0.0024799721 0.0047444474 + 49800 0.0034618229 0.0025689053 0.0042727712 + 49900 0.0050223145 0.0022472734 0.0047191938 + 50000 0.0046566625 0.0022400796 0.0045320307 + 50100 0.0054325612 0.0031067422 0.0057805809 + 50200 0.006858666 0.0033680554 0.0067438051 + 50300 0.0040035106 0.0031412712 0.0051117491 + 50400 0.0057337968 0.00284367 0.0056657731 + 50500 0.007507619 0.0025569325 0.0062520887 + 50600 0.0049285427 0.0026449117 0.0050706788 + 50700 0.0047659918 0.0024425403 0.0047883019 + 50800 0.005932462 0.0027364349 0.0056563185 + 50900 0.0048604465 0.002459088 0.004851339 + 51000 0.0049567903 0.0025554686 0.0049951388 + 51100 0.0052298647 0.0027915668 0.0053656408 + 51200 0.0048228203 0.0030843559 0.0054580877 + 51300 0.0052937706 0.0028158945 0.0054214223 + 51400 0.0042256923 0.0029417794 0.0050216123 + 51500 0.0042397619 0.0027751361 0.0048618939 + 51600 0.0086703699 0.0023316669 0.0065991146 + 51700 0.0051975483 0.0026402393 0.0051984076 + 51800 0.0045309646 0.002327158 0.0045572421 + 51900 0.0056945005 0.0017470247 0.0045497867 + 52000 0.0056746551 0.0018312247 0.004624219 + 52100 0.0060274955 0.001584361 0.0045510189 + 52200 0.0070584359 0.0017511833 0.0052252572 + 52300 0.0045526492 0.0022794573 0.0045202143 + 52400 0.0047397043 0.0026170444 0.0049498676 + 52500 0.0048802002 0.0025467898 0.0049487633 + 52600 0.0053555521 0.0022110128 0.0048469486 + 52700 0.004155959 0.0019178431 0.0039633542 + 52800 0.0045271029 0.0016801495 0.0039083329 + 52900 0.0048364152 0.0018046894 0.0041851125 + 53000 0.0046245354 0.0019851757 0.0042613142 + 53100 0.0041962232 0.00232427 0.0043895986 + 53200 0.0044352054 0.0025471811 0.0047301338 + 53300 0.0046783987 0.0019829965 0.0042856459 + 53400 0.0046732282 0.001932398 0.0042325025 + 53500 0.0047320742 0.0017693598 0.0040984276 + 53600 0.0064591399 0.002160751 0.0053398589 + 53700 0.004057231 0.002109613 0.0041065314 + 53800 0.0064624019 0.0018590077 0.0050397211 + 53900 0.0042991227 0.0023654354 0.0044814098 + 54000 0.0065145769 0.0020896392 0.0052960325 + 54100 0.0055718362 0.0024751896 0.0052175777 + 54200 0.0055799919 0.0029135269 0.0056599292 + 54300 0.0064098847 0.0022601397 0.0054150048 + 54400 0.0051473943 0.0022743466 0.0048078297 + 54500 0.0038405976 0.0025482454 0.0044385395 + 54600 0.0041340136 0.0023858965 0.0044206063 + 54700 0.0048224443 0.001779929 0.0041534758 + 54800 0.0062185119 0.0019720205 0.0050326944 + 54900 0.0038219702 0.0027179375 0.0045990635 + 55000 0.0046925314 0.0023564326 0.0046660379 + 55100 0.0049004981 0.0022132009 0.0046251648 + 55200 0.0045099089 0.0025256504 0.0047453712 + 55300 0.00488843 0.0024701874 0.0048762116 + 55400 0.0056295334 0.0025342729 0.0053050589 + 55500 0.0062733484 0.0030385714 0.0061262351 + 55600 0.0045348142 0.0033291404 0.0055611192 + 55700 0.0053572156 0.0029024455 0.0055392001 + 55800 0.0039165882 0.0025810875 0.0045087833 + 55900 0.0047797649 0.0021527728 0.0045053133 + 56000 0.0039636008 0.0022058564 0.0041566911 + 56100 0.006015081 0.0021592146 0.0051197622 + 56200 0.0056216802 0.0025617557 0.0053286765 + 56300 0.0045461276 0.0025573633 0.0047949104 + 56400 0.003881642 0.0023640821 0.0042745777 + 56500 0.0038047322 0.0027581068 0.0046307484 + 56600 0.0031812951 0.0033548977 0.0049206913 + 56700 0.0056019878 0.003122135 0.0058793633 + 56800 0.0059683588 0.0030141077 0.0059516593 + 56900 0.0060186134 0.0033342235 0.0062965098 + 57000 0.0053019534 0.0029808991 0.0055904543 + 57100 0.0053655993 0.0024928666 0.0051337475 + 57200 0.0030903095 0.002510627 0.0040316387 + 57300 0.0046503159 0.0019448429 0.0042336703 + 57400 0.0056832453 0.0014821649 0.0042793872 + 57500 0.0043618694 0.0015605523 0.0037074098 + 57600 0.004355549 0.002029913 0.0041736598 + 57700 0.0074486931 0.0022067964 0.00587295 + 57800 0.0044953483 0.0022477899 0.0044603441 + 57900 0.0057286533 0.0021932761 0.0050128476 + 58000 0.0038486039 0.0023496967 0.0042439314 + 58100 0.0042966245 0.0023985851 0.00451333 + 58200 0.0051973238 0.0025795924 0.0051376502 + 58300 0.0059952343 0.0025554289 0.0055062082 + 58400 0.005863812 0.0024175166 0.0053036115 + 58500 0.0047580459 0.0027857691 0.0051276198 + 58600 0.0046580313 0.0029995897 0.0052922145 + 58700 0.0044696211 0.0033203457 0.0055202373 + 58800 0.0051971274 0.0030393697 0.0055973309 + 58900 0.0042007846 0.0024982321 0.0045658058 + 59000 0.0048165335 0.0023499589 0.0047205965 + 59100 0.0044510328 0.0021725446 0.0043632873 + 59200 0.0039790554 0.0020297611 0.0039882025 + 59300 0.0041472183 0.0021916245 0.0042328335 + 59400 0.0048415751 0.0023702643 0.004753227 + 59500 0.0040848813 0.0026243058 0.0046348333 + 59600 0.0036309558 0.0023204813 0.0041075923 + 59700 0.0052566509 0.0022056726 0.0047929305 + 59800 0.0059097472 0.0021506132 0.0050593169 + 59900 0.0049447811 0.0025159524 0.0049497119 + 60000 0.0051589732 0.0025078382 0.0050470203 + 60100 0.0035345424 0.0023423012 0.0040819588 + 60200 0.005047709 0.0019083619 0.0043927812 + 60300 0.0042431547 0.0018644587 0.0039528864 + 60400 0.0044403051 0.0021517218 0.0043371845 + 60500 0.004607211 0.0021488641 0.0044164758 + 60600 0.0047289648 0.0020429433 0.0043704807 + 60700 0.0049324282 0.0023182005 0.00474588 + 60800 0.00489705 0.0019843842 0.004394651 + 60900 0.0044769737 0.0020072136 0.0042107241 + 61000 0.004109862 0.0021053447 0.0041281674 + 61100 0.0064116235 0.0017252325 0.0048809535 + 61200 0.0064107564 0.0022325069 0.0053878011 + 61300 0.0046012223 0.0023997852 0.0046644493 + 61400 0.0055067679 0.0025219734 0.0052323357 + 61500 0.0058420921 0.0024926611 0.0053680658 + 61600 0.0058705346 0.0023901087 0.0052795124 + 61700 0.0051933603 0.0026384175 0.0051945246 + 61800 0.0052888102 0.0027089145 0.0053120008 + 61900 0.0041280831 0.0025417011 0.004573492 + 62000 0.0054631486 0.0022903599 0.0049792533 + 62100 0.0036128989 0.0022867586 0.0040649823 + 62200 0.0050756708 0.0022097986 0.0047079803 + 62300 0.0062976921 0.0026185046 0.00571815 + 62400 0.0047501282 0.0034547786 0.0057927323 + 62500 0.005162038 0.0030296029 0.0055702935 + 62600 0.0054428494 0.0026198422 0.0052987447 + 62700 0.0060713089 0.0027054633 0.0056936856 + 62800 0.0039143993 0.0025686941 0.0044953125 + 62900 0.0049595559 0.002726404 0.0051674355 + 63000 0.0041579951 0.0026460154 0.0046925286 + 63100 0.0068307559 0.0024275303 0.005789543 + 63200 0.0039460015 0.0028749914 0.004817164 + 63300 0.0042264764 0.0029661685 0.0050463873 + 63400 0.0050204424 0.0027802305 0.0052512295 + 63500 0.0055164912 0.0028154461 0.0055305941 + 63600 0.005161699 0.0028559525 0.0053964762 + 63700 0.0033062703 0.0026309733 0.0042582782 + 63800 0.0047080373 0.0023940691 0.0047113062 + 63900 0.0043705464 0.0021801685 0.0043312968 + 64000 0.0054694982 0.002782993 0.0054750117 + 64100 0.0039843774 0.0028515998 0.0048126606 + 64200 0.0044130133 0.0026711692 0.0048431992 + 64300 0.0046388151 0.0022843931 0.0045675599 + 64400 0.0048919995 0.0025534187 0.0049611997 + 64500 0.004704658 0.00303344 0.0053490139 + 64600 0.0056511259 0.0036739479 0.0064553615 + 64700 0.0060055237 0.0037429103 0.006698754 + 64800 0.0047635713 0.0031406158 0.0054851861 + 64900 0.0039548478 0.0031754309 0.0051219576 + 65000 0.005657253 0.0026695177 0.005453947 + 65100 0.0061205326 0.0025335014 0.0055459511 + 65200 0.0046671326 0.0027193057 0.00501641 + 65300 0.0052360497 0.002621423 0.0051985412 + 65400 0.0042775661 0.0028623923 0.0049677569 + 65500 0.0038290334 0.0032448845 0.0051294868 + 65600 0.0047897898 0.0025113144 0.0048687891 + 65700 0.0072519522 0.0020844713 0.0056537915 + 65800 0.0038574141 0.0026456812 0.0045442522 + 65900 0.0054619875 0.0030361849 0.0057245069 + 66000 0.0044844056 0.0034902966 0.0056974649 + 66100 0.0073333231 0.0033760228 0.0069853928 + 66200 0.0064737517 0.0030425259 0.0062288255 + 66300 0.0045465925 0.002910365 0.0051481409 + 66400 0.0040001457 0.0029633395 0.0049321612 + 66500 0.0044286124 0.002895338 0.0050750457 + 66600 0.0050666686 0.0031211344 0.0056148854 + 66700 0.0039709252 0.0031688431 0.0051232829 + 66800 0.0048092911 0.0032769568 0.0056440298 + 66900 0.0066782693 0.0035137615 0.0068007222 + 67000 0.0057340541 0.0034412595 0.0062634893 + 67100 0.0051797906 0.0034055628 0.005954991 + 67200 0.0063264576 0.00323944 0.0063532433 + 67300 0.0026571859 0.0035506348 0.0048584685 + 67400 0.0049363432 0.0028996939 0.0053293004 + 67500 0.0048694959 0.0020429836 0.0044396886 + 67600 0.0053695266 0.0018739865 0.0045168004 + 67700 0.0050585843 0.0024470249 0.0049367968 + 67800 0.0053639135 0.0025875156 0.0052275667 + 67900 0.0049179882 0.0027785574 0.0051991297 + 68000 0.0045402842 0.0025744153 0.0048090864 + 68100 0.0057967719 0.0025091074 0.005362206 + 68200 0.0064221589 0.0027752522 0.0059361585 + 68300 0.0061344175 0.0032944883 0.0063137719 + 68400 0.0038173951 0.0031191006 0.0049979748 + 68500 0.0062441907 0.002798019 0.0058713316 + 68600 0.0058607479 0.0029377482 0.005822335 + 68700 0.006431081 0.0024723228 0.0056376205 + 68800 0.0049039475 0.002649586 0.0050632477 + 68900 0.005431878 0.0026376678 0.0053111703 + 69000 0.0051651551 0.0027441425 0.0052863673 + 69100 0.0060035502 0.0025242284 0.0054791008 + 69200 0.0055191023 0.0026158299 0.005332263 + 69300 0.0046187596 0.0031978221 0.0054711179 + 69400 0.004408629 0.0033121127 0.0054819848 + 69500 0.0040185911 0.0027978949 0.0047757952 + 69600 0.0045530075 0.0024383877 0.0046793211 + 69700 0.0056612034 0.0024217084 0.005208082 + 69800 0.0035367508 0.0030663867 0.0048071312 + 69900 0.0062264056 0.003153623 0.006218182 + 70000 0.0049367337 0.0031688777 0.0055986764 + 70100 0.0064529077 0.0026073081 0.0057833487 + 70200 0.0066516934 0.0028884494 0.0061623297 + 70300 0.005171732 0.0029803969 0.0055258587 + 70400 0.0039133942 0.0021870222 0.0041131459 + 70500 0.0033231584 0.0022690118 0.0039046288 + 70600 0.0042634846 0.0028274597 0.0049258935 + 70700 0.0038989616 0.0026013453 0.0045203655 + 70800 0.0045767543 0.0025616195 0.0048142408 + 70900 0.0048963265 0.0027637426 0.0051736533 + 71000 0.0061687231 0.0025706396 0.005606808 + 71100 0.0049546986 0.0027204503 0.005159091 + 71200 0.0037004223 0.0027686575 0.0045899591 + 71300 0.0035115093 0.002325089 0.00405341 + 71400 0.0059298256 0.0017401421 0.0046587282 + 71500 0.0049818732 0.0022541547 0.0047061704 + 71600 0.0047579769 0.0022714051 0.0046132219 + 71700 0.0054674726 0.0023434468 0.0050344685 + 71800 0.0052597208 0.0027155959 0.0053043647 + 71900 0.0077876387 0.002781227 0.0066142054 + 72000 0.005328724 0.0027339749 0.0053567062 + 72100 0.0046399613 0.0025977106 0.0048814415 + 72200 0.0049484417 0.0021100154 0.0045455766 + 72300 0.0061550343 0.001978573 0.0050080039 + 72400 0.0071739579 0.0020219935 0.0055529259 + 72500 0.0045413518 0.002429107 0.0046643036 + 72600 0.0068602056 0.0022660854 0.0056425929 + 72700 0.0053650603 0.002557966 0.0051985816 + 72800 0.0045295893 0.0027741909 0.0050035982 + 72900 0.0063473806 0.0030699971 0.0061940985 + 73000 0.0038458045 0.0030667595 0.0049596164 + 73100 0.0055269058 0.0027168414 0.0054371153 + 73200 0.0066978955 0.0029699129 0.0062665334 + 73300 0.0054099557 0.0028514907 0.0055142033 + 73400 0.0049033096 0.0028217138 0.0052350615 + 73500 0.0056213097 0.0024973732 0.0052641115 + 73600 0.0046251514 0.0020906145 0.0043670562 + 73700 0.0049435343 0.002064038 0.0044971838 + 73800 0.0041278653 0.0022356204 0.0042673042 + 73900 0.0045242841 0.0023048989 0.0045316949 + 74000 0.0046307708 0.0019601779 0.0042393854 + 74100 0.0041359632 0.0022902385 0.0043259079 + 74200 0.0058341051 0.0025191454 0.005390619 + 74300 0.0057842203 0.0029029173 0.0057498382 + 74400 0.0068842308 0.0034254593 0.0068137916 + 74500 0.0069787237 0.0039348195 0.0073696601 + 74600 0.0049509151 0.0036515239 0.0060883024 + 74700 0.0046609104 0.0033218989 0.0056159408 + 74800 0.0052509783 0.0036256752 0.0062101411 + 74900 0.0067548043 0.0031790466 0.0065036768 + 75000 0.0054915414 0.0027386179 0.0054414859 + 75100 0.0077387991 0.0026344795 0.0064434197 + 75200 0.0040323338 0.002557427 0.0045420914 + 75300 0.0053215788 0.0026065085 0.0052257231 + 75400 0.0051715521 0.0028002423 0.0053456156 + 75500 0.0044010246 0.0028930485 0.0050591778 + 75600 0.0059897248 0.0026520721 0.0056001397 + 75700 0.0065050515 0.0027123862 0.0059140912 + 75800 0.0037756281 0.0024724201 0.0043307371 + 75900 0.0049951252 0.0025125686 0.0049711068 + 76000 0.0053569279 0.002614864 0.0052514769 + 76100 0.0050761598 0.0029510914 0.0054495138 + 76200 0.005625419 0.0026737784 0.0054425393 + 76300 0.0042964782 0.0027971646 0.0049118374 + 76400 0.0034067399 0.0026831606 0.0043599154 + 76500 0.0048873194 0.002123852 0.0045293295 + 76600 0.0050909588 0.0018829923 0.0043886986 + 76700 0.0043692437 0.0020428126 0.0041932998 + 76800 0.0038824511 0.0022134189 0.0041243128 + 76900 0.0035674747 0.0021533034 0.0039091698 + 77000 0.003952723 0.002483092 0.0044285728 + 77100 0.0045947679 0.0026370462 0.0048985335 + 77200 0.006304843 0.00219173 0.0052948949 + 77300 0.0057665241 0.0020535231 0.0048917342 + 77400 0.0047945405 0.0021226991 0.004482512 + 77500 0.0059543709 0.0023264065 0.0052570734 + 77600 0.0064000043 0.0024305916 0.0055805937 + 77700 0.005549834 0.0027113324 0.0054428913 + 77800 0.0030266988 0.0029568223 0.0044465256 + 77900 0.0056389477 0.0021610721 0.0049364916 + 78000 0.0044697506 0.0021009116 0.004300867 + 78100 0.0048360668 0.001930554 0.0043108056 + 78200 0.0040638827 0.0020459033 0.0040460956 + 78300 0.0052111665 0.0023708291 0.0049357001 + 78400 0.0043869222 0.0026233899 0.0047825782 + 78500 0.0068897999 0.0021413073 0.0055323807 + 78600 0.0060264097 0.002367303 0.0053334265 + 78700 0.0052865173 0.0025820316 0.0051839893 + 78800 0.0059676856 0.0021566562 0.0050938764 + 78900 0.0040595524 0.0021847787 0.0041828397 + 79000 0.0056159649 0.0023157435 0.0050798512 + 79100 0.0041881315 0.0024410569 0.0045024029 + 79200 0.005902251 0.0021755489 0.005080563 + 79300 0.0054239454 0.0020889545 0.0047585526 + 79400 0.0055094841 0.0021016543 0.0048133534 + 79500 0.0081129 0.0021285737 0.0061216416 + 79600 0.0049664878 0.0021368709 0.0045813141 + 79700 0.0068350093 0.0018334829 0.005197589 + 79800 0.0055592278 0.0024177916 0.005153974 + 79900 0.0051450868 0.0030449145 0.0055772619 + 80000 0.0040457894 0.0032288253 0.0052201123 + 80100 0.0056459226 0.0027293979 0.0055082505 + 80200 0.0052924253 0.0028405508 0.0054454163 + 80300 0.0045846607 0.003155238 0.0054117507 + 80400 0.0050326177 0.0029396066 0.0054165981 + 80500 0.0058456879 0.0029858201 0.0058629946 + 80600 0.0047299091 0.0032012364 0.0055292385 + 80700 0.0050276877 0.0028181036 0.0052926686 + 80800 0.0047330326 0.0027996354 0.0051291749 + 80900 0.0049002397 0.0020527168 0.0044645536 + 81000 0.004831739 0.0024235305 0.0048016521 + 81100 0.005832189 0.0025178467 0.0053883772 + 81200 0.0050462525 0.0027751024 0.0052588048 + 81300 0.0053509421 0.0028985157 0.0055321825 + 81400 0.0056863543 0.0025358515 0.005334604 + 81500 0.0040373417 0.0028027535 0.0047898826 + 81600 0.0044877975 0.0025630405 0.0047718784 + 81700 0.0062880718 0.0021933064 0.0052882167 + 81800 0.0063704954 0.0018812545 0.0050167327 + 81900 0.0065419346 0.0017587634 0.0049786219 + 82000 0.0048395566 0.0019244245 0.0043063937 + 82100 0.0044184877 0.001922235 0.0040969594 + 82200 0.0055185676 0.0025398909 0.0052560609 + 82300 0.0058309514 0.0026875061 0.0055574276 + 82400 0.0047596296 0.0023776519 0.0047202821 + 82500 0.005199539 0.0026663032 0.0052254513 + 82600 0.005671707 0.0029563441 0.0057478874 + 82700 0.0050044714 0.0030043161 0.0054674544 + 82800 0.0040552546 0.0034284118 0.0054243574 + 82900 0.0035054726 0.0030847761 0.0048101259 + 83000 0.0040750045 0.0029260192 0.0049316854 + 83100 0.0053548668 0.0030196593 0.0056552578 + 83200 0.0045107197 0.0032571882 0.005477308 + 83300 0.0054238812 0.0023589597 0.0050285262 + 83400 0.0068076688 0.0017824972 0.0051331467 + 83500 0.0060884188 0.0016827582 0.0046794018 + 83600 0.0042844971 0.0019381461 0.004046922 + 83700 0.0049393584 0.0018789469 0.0043100373 + 83800 0.0040877597 0.0021615848 0.004173529 + 83900 0.0058244102 0.0021545204 0.0050212223 + 84000 0.0036747663 0.002472265 0.0042809391 + 84100 0.004923974 0.0026976906 0.005121209 + 84200 0.0048168015 0.0024718686 0.0048426381 + 84300 0.0041335198 0.0021077387 0.0041422054 + 84400 0.0048671332 0.00150733 0.0039028721 + 84500 0.0044010818 0.0016117782 0.0037779356 + 84600 0.0051515287 0.0015177749 0.0040532929 + 84700 0.004429886 0.0017618332 0.0039421677 + 84800 0.0048327943 0.0013961526 0.0037747935 + 84900 0.0042798583 0.0013498344 0.0034563271 + 85000 0.0063966504 0.00204566 0.0051940113 + 85100 0.0048077926 0.0021624498 0.0045287852 + 85200 0.0044763876 0.001888131 0.004091353 + 85300 0.0049849768 0.0020477162 0.0045012595 + 85400 0.0048910444 0.0023741293 0.0047814402 + 85500 0.0044768704 0.0023015593 0.004505019 + 85600 0.0059835689 0.0020008653 0.0049459032 + 85700 0.0058859084 0.0020764231 0.0049733937 + 85800 0.0052145597 0.0021174036 0.0046839447 + 85900 0.0056760112 0.0019953279 0.0047889897 + 86000 0.0038896582 0.0022732101 0.0041876512 + 86100 0.0049623396 0.0026499309 0.0050923324 + 86200 0.003265905 0.0023325833 0.003940021 + 86300 0.0058359372 0.0019402434 0.0048126188 + 86400 0.0069203906 0.0019441596 0.0053502893 + 86500 0.0051995372 0.002470674 0.0050298212 + 86600 0.0055003904 0.0025374986 0.005244722 + 86700 0.0056463262 0.0022411491 0.0050202003 + 86800 0.0055863225 0.0021929928 0.004942511 + 86900 0.0047275021 0.0021964933 0.0045233107 + 87000 0.00515286 0.0020543532 0.0045905265 + 87100 0.0045830922 0.0017134346 0.0039691752 + 87200 0.0050435257 0.0013363644 0.0038187247 + 87300 0.0046254827 0.001519273 0.0037958777 + 87400 0.0040535099 0.0015514181 0.003546505 + 87500 0.0057770924 0.0017537596 0.0045971723 + 87600 0.0043865341 0.0018585318 0.0040175291 + 87700 0.0041021582 0.0016429139 0.0036619449 + 87800 0.0057585243 0.0019633801 0.0047976537 + 87900 0.0060155595 0.0022856244 0.0052464076 + 88000 0.006588077 0.0021441592 0.0053867284 + 88100 0.0038631267 0.0023167479 0.0042181306 + 88200 0.0067500017 0.0024739251 0.0057961915 + 88300 0.0067961069 0.0022886799 0.0056336387 + 88400 0.005340475 0.0022548621 0.0048833772 + 88500 0.0051237863 0.0020090884 0.004530952 + 88600 0.0051930941 0.0019089144 0.0044648904 + 88700 0.004177133 0.0021549205 0.0042108532 + 88800 0.0061815481 0.0017994785 0.0048419592 + 88900 0.0058203717 0.0018745228 0.004739237 + 89000 0.0043001396 0.0019744427 0.0040909177 + 89100 0.0051281538 0.0019301505 0.0044541637 + 89200 0.0056236553 0.002104435 0.0048723278 + 89300 0.0042891184 0.0024466976 0.0045577481 + 89400 0.0047260765 0.0020949838 0.0044210996 + 89500 0.004731804 0.0019284431 0.0042573778 + 89600 0.0046883512 0.0019304495 0.0042379974 + 89700 0.0045314138 0.0023376169 0.0045679222 + 89800 0.0056960294 0.0022949682 0.0050984827 + 89900 0.0052106411 0.0024926017 0.0050572141 + 90000 0.0054499426 0.0024039462 0.0050863398 + 90100 0.0057752781 0.0028806515 0.0057231712 + 90200 0.0054642327 0.0032169162 0.0059063432 + 90300 0.0052991173 0.0031744335 0.0057825928 + 90400 0.0074619752 0.0026547637 0.0063274547 + 90500 0.0067139448 0.0021741871 0.0054787068 + 90600 0.0056494907 0.0018564478 0.0046370565 + 90700 0.0060946257 0.0022094808 0.0052091794 + 90800 0.0050144214 0.0023266747 0.0047947102 + 90900 0.0038996968 0.0023297231 0.0042491051 + 91000 0.0062401283 0.0021713998 0.0052427129 + 91100 0.0051259388 0.0020914339 0.0046143569 + 91200 0.0053322697 0.0015990933 0.0042235698 + 91300 0.0056411509 0.001677453 0.0044539569 + 91400 0.0049641078 0.0020159401 0.004459212 + 91500 0.0037072359 0.0023718395 0.0041964946 + 91600 0.0049173378 0.0026391501 0.0050594023 + 91700 0.0046701106 0.0027592393 0.0050578093 + 91800 0.0052170261 0.0024995558 0.0050673108 + 91900 0.0055720207 0.0021128411 0.0048553201 + 92000 0.0061110303 0.002425278 0.0054330508 + 92100 0.0062168402 0.0025200701 0.0055799212 + 92200 0.0055228783 0.0017711948 0.0044894865 + 92300 0.0057451625 0.0019380888 0.004765786 + 92400 0.0041664642 0.0018008115 0.0038514931 + 92500 0.0041697872 0.0022072195 0.0042595366 + 92600 0.0042549074 0.0024379155 0.0045321278 + 92700 0.0044167057 0.0024475712 0.0046214185 + 92800 0.0057900625 0.0023251145 0.0051749109 + 92900 0.0056646757 0.0024066615 0.005194744 + 93000 0.0043829111 0.002537387 0.0046946011 + 93100 0.0051144478 0.0026852632 0.0052025305 + 93200 0.0037089287 0.0026114294 0.0044369177 + 93300 0.0057572243 0.0021886482 0.005022282 + 93400 0.0045656932 0.0022539211 0.0045010982 + 93500 0.0060022188 0.0020735372 0.0050277542 + 93600 0.0056984889 0.0022677441 0.0050724691 + 93700 0.0039758199 0.0024796698 0.0044365187 + 93800 0.0039490308 0.0026040217 0.0045476853 + 93900 0.0054471842 0.0021933789 0.0048744149 + 94000 0.00574019 0.0018346489 0.0046598987 + 94100 0.0069869523 0.0025435685 0.0059824591 + 94200 0.0049866757 0.0034214717 0.0058758512 + 94300 0.0043100331 0.0029994346 0.005120779 + 94400 0.005183815 0.0026593986 0.0052108075 + 94500 0.0050995733 0.0030455123 0.0055554586 + 94600 0.0064655045 0.0024956955 0.0056779359 + 94700 0.0068982024 0.0024252999 0.0058205089 + 94800 0.0054045728 0.0027604725 0.0054205357 + 94900 0.0065070172 0.0028869374 0.0060896099 + 95000 0.0055490081 0.002982987 0.0057141394 + 95100 0.0050184061 0.002867958 0.0053379548 + 95200 0.0057923907 0.0022729183 0.0051238607 + 95300 0.0061966484 0.0018579204 0.0049078333 + 95400 0.0043903283 0.002083568 0.0042444327 + 95500 0.006230005 0.0022082537 0.0052745843 + 95600 0.0051017863 0.0021347587 0.0046457942 + 95700 0.0048179341 0.0020223788 0.0043937058 + 95800 0.0045368369 0.0021281546 0.004361129 + 95900 0.0032147881 0.0018612367 0.0034435152 + 96000 0.0059523166 0.0014379151 0.0043675709 + 96100 0.004085428 0.0017725769 0.0037833735 + 96200 0.004515215 0.0019493696 0.0041717019 + 96300 0.005865527 0.0019194071 0.0048063462 + 96400 0.0043184624 0.0022762097 0.0044017029 + 96500 0.0041141746 0.0022317397 0.004256685 + 96600 0.0048036261 0.0023583893 0.004722674 + 96700 0.0052007626 0.002291294 0.0048510444 + 96800 0.0047205319 0.0020744378 0.0043978246 + 96900 0.0049730906 0.0021496487 0.0045973418 + 97000 0.0044398487 0.0025113024 0.0046965404 + 97100 0.005377641 0.002686405 0.0053332127 + 97200 0.0042563439 0.0025447136 0.0046396329 + 97300 0.00658641 0.0020899964 0.0053317451 + 97400 0.0057978787 0.0016239494 0.0044775928 + 97500 0.0052807037 0.0021217762 0.0047208726 + 97600 0.0035973133 0.0025763508 0.0043469035 + 97700 0.0042705453 0.0022880661 0.0043899751 + 97800 0.0055320169 0.0018992576 0.0046220471 + 97900 0.0053928356 0.0021919455 0.0048462317 + 98000 0.0048723155 0.0019962603 0.0043943531 + 98100 0.0042111221 0.0018628012 0.0039354629 + 98200 0.0036807996 0.0017788347 0.0035904783 + 98300 0.0067393203 0.0015246823 0.0048416916 + 98400 0.0038578889 0.0017635258 0.0036623305 + 98500 0.0054096221 0.001644316 0.0043068644 + 98600 0.0040713518 0.0019667286 0.0039705971 + 98700 0.0051986774 0.0026388436 0.0051975676 + 98800 0.0039406054 0.0028434791 0.0047829958 + 98900 0.0064130888 0.0023111873 0.0054676295 + 99000 0.006365471 0.0020668147 0.00519982 + 99100 0.0062146746 0.001901955 0.0049607402 + 99200 0.0048531445 0.0019410233 0.0043296803 + 99300 0.0045759129 0.0023414428 0.0045936499 + 99400 0.0038262214 0.0022197041 0.0041029224 + 99500 0.0049764631 0.0021887097 0.0046380626 + 99600 0.0055657014 0.00220067 0.0049400387 + 99700 0.0048065322 0.002111321 0.0044770361 + 99800 0.0057309762 0.0021126277 0.0049333425 + 99900 0.0046862803 0.002125927 0.0044324555 + 100000 0.0075740421 0.0024388428 0.0061666916 + 100100 0.0071945677 0.0023243395 0.0058654158 + 100200 0.0059205683 0.0029521541 0.0058661838 + 100300 0.0054396453 0.0031697826 0.005847108 + 100400 0.0052544975 0.0034314166 0.0060176146 + 100500 0.0061961273 0.0031182911 0.0061679475 + 100600 0.0069085538 0.0024920074 0.0058923112 + 100700 0.0050233317 0.0029020682 0.0053744892 + 100800 0.0037718638 0.0026239078 0.004480372 + 100900 0.0056243954 0.0019074327 0.0046756898 + 101000 0.0056618834 0.00161539 0.0044020982 + 101100 0.0040148592 0.0018178956 0.0037939591 + 101200 0.004686887 0.0019289111 0.0042357383 + 101300 0.0050226523 0.0018719051 0.0043439918 + 101400 0.0064710008 0.0015822105 0.0047671562 + 101500 0.0039196035 0.002020307 0.0039494869 + 101600 0.0045994095 0.0018433778 0.0041071496 + 101700 0.0048933629 0.0019188202 0.0043272723 + 101800 0.0047457387 0.0023774608 0.0047132541 + 101900 0.0053300823 0.002537087 0.0051604869 + 102000 0.0047353334 0.0024001234 0.0047307953 + 102100 0.0045816122 0.0022769948 0.0045320071 + 102200 0.006548821 0.0022551445 0.0054783924 + 102300 0.0046796488 0.0020009913 0.004304256 + 102400 0.0053817487 0.0018656497 0.0045144792 + 102500 0.005902113 0.0016290352 0.0045339815 + 102600 0.0039148607 0.0017456336 0.0036724791 + 102700 0.0041956368 0.0020866253 0.0041516653 + 102800 0.0030868067 0.0026861306 0.0042054183 + 102900 0.0049776165 0.002482385 0.0049323056 + 103000 0.0046073238 0.0026508944 0.0049185615 + 103100 0.0055816265 0.002952218 0.0056994247 + 103200 0.0053077341 0.0033957747 0.006008175 + 103300 0.00427159 0.0030780079 0.0051804311 + 103400 0.007366732 0.0021918569 0.0058176703 + 103500 0.0061032372 0.0020714792 0.0050754163 + 103600 0.0054342128 0.0026433843 0.005318036 + 103700 0.0058615812 0.0028396745 0.0057246715 + 103800 0.0059214514 0.0032316647 0.006146129 + 103900 0.0048150657 0.0033080454 0.0056779606 + 104000 0.0055601892 0.0029920686 0.0057287242 + 104100 0.0065798773 0.0022159613 0.0054544946 + 104200 0.0057114079 0.0023438106 0.0051548942 + 104300 0.004117166 0.0033470191 0.0053734368 + 104400 0.0056173528 0.0029430163 0.0057078072 + 104500 0.0058432017 0.0024492781 0.005325229 + 104600 0.0047449049 0.0018531835 0.0041885664 + 104700 0.0051941398 0.0017432431 0.0042997338 + 104800 0.0048082738 0.0018834519 0.0042500242 + 104900 0.0056599738 0.0016220784 0.0044078468 + 105000 0.0052147482 0.0021380169 0.0047046508 + 105100 0.0057898373 0.0019673109 0.0048169964 + 105200 0.0052626706 0.0019948558 0.0045850765 + 105300 0.0040740317 0.0020907974 0.0040959848 + 105400 0.0045063453 0.0020310338 0.0042490006 + 105500 0.0043028912 0.0021508495 0.0042686788 + 105600 0.0045336197 0.0024228712 0.0046542622 + 105700 0.0049384943 0.0020805263 0.0045111915 + 105800 0.0051912228 0.0022413219 0.0047963769 + 105900 0.0075738845 0.0024406885 0.0061684598 + 106000 0.0044914878 0.00262105 0.0048317042 + 106100 0.0037898261 0.0024808243 0.0043461293 + 106200 0.0039418552 0.0021623494 0.0041024812 + 106300 0.0038493597 0.0021949395 0.0040895462 + 106400 0.0051448448 0.0024897627 0.005021991 + 106500 0.0044670022 0.0025443571 0.0047429598 + 106600 0.0060055696 0.0022728956 0.0052287619 + 106700 0.005070969 0.00246141 0.0049572776 + 106800 0.0051355516 0.002699783 0.0052274373 + 106900 0.0055198339 0.0023585697 0.0050753629 + 107000 0.004536935 0.0024816535 0.0047146762 + 107100 0.0043970244 0.0022694283 0.0044335888 + 107200 0.0045132262 0.0019392947 0.0041606482 + 107300 0.0057868767 0.0019804932 0.0048287215 + 107400 0.0048858491 0.00206472 0.0044694738 + 107500 0.0051778097 0.0023954217 0.0049438749 + 107600 0.0042508936 0.0024957496 0.0045879863 + 107700 0.0065311396 0.0028354253 0.0060499706 + 107800 0.0041842378 0.0025732076 0.0046326371 + 107900 0.0051588338 0.0019576867 0.0044968002 + 108000 0.0050152206 0.0018965959 0.0043650248 + 108100 0.0066858224 0.0019144208 0.005205099 + 108200 0.0052317457 0.0022588338 0.0048338336 + 108300 0.0044587185 0.0026376825 0.004832208 + 108400 0.006281365 0.0024520244 0.0055436337 + 108500 0.0045935686 0.00249095 0.004751847 + 108600 0.0050600068 0.0021937068 0.0046841789 + 108700 0.0063839425 0.0016906411 0.0048327378 + 108800 0.0039523381 0.0020567261 0.0040020175 + 108900 0.0035000667 0.0023242907 0.0040469798 + 109000 0.0035936437 0.0022500273 0.0040187738 + 109100 0.0036929064 0.0018657814 0.0036833838 + 109200 0.0036039238 0.0017786923 0.0035524985 + 109300 0.0042909775 0.0017838776 0.0038958431 + 109400 0.0053226935 0.0023048771 0.0049246403 + 109500 0.0073675997 0.0021898533 0.0058160938 + 109600 0.0065062358 0.0024873918 0.0056896797 + 109700 0.0044880848 0.0027054044 0.0049143836 + 109800 0.0038966546 0.0024113885 0.0043292732 + 109900 0.0046587563 0.0021033679 0.0043963495 + 110000 0.0055376345 0.0026746075 0.0054001619 + 110100 0.003595138 0.0032054332 0.0049749152 + 110200 0.0047894761 0.0030104663 0.0053677866 + 110300 0.0060705417 0.0030602282 0.0060480729 + 110400 0.0041098312 0.0030911613 0.0051139688 + 110500 0.005815262 0.0025982459 0.0054604452 + 110600 0.0044655662 0.0022431262 0.004441022 + 110700 0.0056780783 0.0023805446 0.0051752238 + 110800 0.0045910253 0.0030865698 0.0053462151 + 110900 0.0042363196 0.0027951661 0.0048802296 + 111000 0.0041569535 0.0021821539 0.0042281544 + 111100 0.0047554436 0.0019847226 0.0043252925 + 111200 0.0049997579 0.0021981102 0.0046589286 + 111300 0.0063404411 0.0022849675 0.0054056533 + 111400 0.0035386805 0.0021962954 0.0039379897 + 111500 0.0064119467 0.0021400604 0.0052959404 + 111600 0.0073674229 0.0028302735 0.006456427 + 111700 0.0057579053 0.003150227 0.005984196 + 111800 0.0035087838 0.0028608096 0.0045877891 + 111900 0.0058310038 0.0027263155 0.0055962626 + 112000 0.00575128 0.0029221646 0.0057528728 + 112100 0.0047469845 0.0028232611 0.0051596675 + 112200 0.0069476002 0.0025463774 0.0059658994 + 112300 0.0045230832 0.0022749129 0.0045011179 + 112400 0.0055897749 0.0022098615 0.0049610788 + 112500 0.0053941782 0.0022190778 0.0048740249 + 112600 0.0044327925 0.0026816887 0.0048634538 + 112700 0.0061565018 0.0029466921 0.0059768454 + 112800 0.004858252 0.0029908185 0.0053819894 + 112900 0.0065426083 0.0027347496 0.0059549396 + 113000 0.0051449224 0.0027963561 0.0053286226 + 113100 0.0041554958 0.0031620628 0.0052073459 + 113200 0.0040102218 0.0027371677 0.0047109487 + 113300 0.0048220753 0.0021637853 0.0045371505 + 113400 0.0034694019 0.0017261755 0.0034337718 + 113500 0.0028555001 0.0017978107 0.0032032522 + 113600 0.0038160864 0.0019394441 0.0038176741 + 113700 0.0051026834 0.0019772327 0.0044887097 + 113800 0.0057202246 0.0017174698 0.0045328929 + 113900 0.0036459749 0.0017787702 0.0035732735 + 114000 0.004100491 0.0020308459 0.0040490563 + 114100 0.0060683705 0.0026381085 0.0056248846 + 114200 0.0042356838 0.002653225 0.0047379756 + 114300 0.0049689339 0.0022522125 0.0046978597 + 114400 0.0055981488 0.002042049 0.0047973879 + 114500 0.0051720217 0.0020784013 0.0046240058 + 114600 0.0037907359 0.002648379 0.0045141318 + 114700 0.0050725561 0.0029475317 0.0054441804 + 114800 0.0057804717 0.0029875435 0.0058326194 + 114900 0.0040782502 0.0023984127 0.0044056765 + 115000 0.0050217842 0.0022201833 0.0046918428 + 115100 0.0034091961 0.0023163763 0.00399434 + 115200 0.0060320476 0.0024178117 0.0053867101 + 115300 0.0052912661 0.0020885258 0.0046928208 + 115400 0.003422844 0.0021764592 0.0038611402 + 115500 0.004730411 0.0023055035 0.0046337527 + 115600 0.0053242819 0.0023760269 0.0049965719 + 115700 0.0043921937 0.0022184318 0.0043802147 + 115800 0.0044492301 0.0018593868 0.0040492423 + 115900 0.0037998759 0.0021626528 0.0040329043 + 116000 0.0048662605 0.0025678506 0.0049629632 + 116100 0.0050899396 0.0029651278 0.0054703324 + 116200 0.0067846398 0.002614727 0.005954042 + 116300 0.0053199105 0.0028143115 0.005432705 + 116400 0.0056888891 0.002941603 0.0057416031 + 116500 0.0056748975 0.0023509903 0.0051441039 + 116600 0.0050680727 0.0018616206 0.0043560626 + 116700 0.0050659574 0.0022472854 0.0047406863 + 116800 0.0062534126 0.0024037116 0.0054815632 + 116900 0.0056687805 0.0025620235 0.0053521264 + 117000 0.0054114843 0.0021147099 0.0047781748 + 117100 0.0051686178 0.0018913607 0.0044352897 + 117200 0.0044496981 0.0015938859 0.0037839716 + 117300 0.0046085236 0.0018861793 0.004154437 + 117400 0.0043476439 0.0022807209 0.0044205769 + 117500 0.0073424858 0.0024627708 0.0060766506 + 117600 0.0055513198 0.0027237688 0.005456059 + 117700 0.0060147829 0.0021693187 0.0051297197 + 117800 0.0054780927 0.0023697107 0.0050659594 + 117900 0.0049942153 0.0024835948 0.0049416852 + 118000 0.0067394914 0.002396785 0.0057138784 + 118100 0.0041565241 0.0025090079 0.0045547971 + 118200 0.0038904858 0.0025537339 0.0044685824 + 118300 0.0053778988 0.0027956823 0.0054426169 + 118400 0.005001805 0.0029863762 0.0054482021 + 118500 0.0053349547 0.0025003834 0.0051261814 + 118600 0.0043108555 0.0029519907 0.0050737399 + 118700 0.0055457226 0.0028630136 0.005592549 + 118800 0.0065623386 0.0024374146 0.0056673157 + 118900 0.0054821589 0.0019361448 0.0046343949 + 119000 0.0042126433 0.0020391273 0.0041125377 + 119100 0.0055694156 0.0026603463 0.005401543 + 119200 0.0051168374 0.0030146285 0.005533072 + 119300 0.0051990231 0.0028050804 0.0053639746 + 119400 0.0058599787 0.0021309785 0.0050151867 + 119500 0.0055486418 0.0021205394 0.0048515116 + 119600 0.0046034986 0.0020266335 0.0042924179 + 119700 0.0058636782 0.0021689642 0.0050549933 + 119800 0.0060113491 0.0022955208 0.0052542317 + 119900 0.0044097161 0.0022726831 0.0044430903 + 120000 0.0054976009 0.0026431129 0.0053489634 + 120100 0.0068618634 0.0025349271 0.0059122505 + 120200 0.005155887 0.0026784678 0.0052161309 + 120300 0.0035259762 0.0026037182 0.0043391596 + 120400 0.0047606948 0.0027079384 0.0050510929 + 120500 0.0061725787 0.0025611608 0.0055992269 + 120600 0.0042758509 0.0026487464 0.0047532668 + 120700 0.0060094104 0.0020413633 0.00499912 + 120800 0.0044404898 0.0022386235 0.004424177 + 120900 0.0031601524 0.0026053147 0.0041607022 + 121000 0.0043943974 0.0020954127 0.0042582802 + 121100 0.0055018004 0.0021312545 0.0048391719 + 121200 0.0058663316 0.0022997006 0.0051870356 + 121300 0.0057914138 0.0020347143 0.0048851758 + 121400 0.0038209397 0.0017813147 0.0036619335 + 121500 0.0051777711 0.001722084 0.0042705182 + 121600 0.0048730656 0.0021784829 0.0045769448 + 121700 0.0044372061 0.0024613885 0.0046453259 + 121800 0.0054916576 0.0021942862 0.0048972114 + 121900 0.0050096428 0.0025205746 0.0049862582 + 122000 0.0059852727 0.0028956349 0.0058415113 + 122100 0.004876778 0.0025629894 0.0049632786 + 122200 0.0064582388 0.0024590799 0.0056377443 + 122300 0.005207537 0.0023167614 0.004879846 + 122400 0.0060788289 0.0023721426 0.0053640662 + 122500 0.007036895 0.0020375471 0.0055010188 + 122600 0.0057464298 0.0023298968 0.0051582177 + 122700 0.0054505133 0.0025179164 0.005200591 + 122800 0.0048440548 0.0022975971 0.0046817804 + 122900 0.0061158921 0.0018251917 0.0048353573 + 123000 0.0050629404 0.0019396872 0.0044316032 + 123100 0.0049535351 0.0025734189 0.0050114869 + 123200 0.0050030272 0.0032938609 0.0057562884 + 123300 0.0063478896 0.0031506764 0.0062750283 + 123400 0.0048523397 0.0032083216 0.0055965825 + 123500 0.0054905205 0.002810325 0.0055126905 + 123600 0.0036159645 0.0028206132 0.0046003457 + 123700 0.0054577593 0.0023946437 0.0050808846 + 123800 0.0065929329 0.0028619959 0.006106955 + 123900 0.0054631382 0.0031282967 0.005817185 + 124000 0.0051049964 0.0024910788 0.0050036942 + 124100 0.0062730758 0.0020778036 0.0051653331 + 124200 0.0069350405 0.0024365781 0.0058499183 + 124300 0.0039574666 0.0028721492 0.0048199648 + 124400 0.0056091341 0.0022874944 0.0050482401 + 124500 0.0049213303 0.0022836227 0.0047058399 + 124600 0.0065327543 0.0023508048 0.0055661448 + 124700 0.0045150727 0.0026262552 0.0048485176 + 124800 0.0040655283 0.0032282185 0.0052292207 + 124900 0.0046462522 0.0027416975 0.0050285248 + 125000 0.0066115552 0.0020427052 0.00529683 + 125100 0.0046068614 0.0021241219 0.0043915615 + 125200 0.0062828661 0.0022294456 0.0053217938 + 125300 0.0048188048 0.0022377497 0.0046095052 + 125400 0.0035050634 0.0029051619 0.0046303103 + 125500 0.0058003241 0.0033189801 0.0061738271 + 125600 0.0058217882 0.0030288913 0.0058943027 + 125700 0.0043775348 0.0027651852 0.0049197531 + 125800 0.0049623733 0.0029785912 0.0054210093 + 125900 0.0041056727 0.002909505 0.0049302658 + 126000 0.0050888102 0.0027874523 0.005292101 + 126100 0.004465322 0.0024920223 0.0046897979 + 126200 0.0056908625 0.002483521 0.0052844924 + 126300 0.0034215635 0.0024732619 0.0041573127 + 126400 0.0055211923 0.001927754 0.0046452158 + 126500 0.0054829423 0.0021818526 0.0048804883 + 126600 0.0041891637 0.0027751961 0.0048370501 + 126700 0.0053075452 0.0029052252 0.0055175326 + 126800 0.0055542975 0.0028716565 0.0056054123 + 126900 0.0053818397 0.0025559248 0.005204799 + 127000 0.0047724154 0.0027848479 0.0051337712 + 127100 0.0060588083 0.0030663033 0.006048373 + 127200 0.0069062275 0.003046809 0.0064459678 + 127300 0.0057357435 0.0025238685 0.0053469298 + 127400 0.0062464204 0.0025990457 0.0056734557 + 127500 0.0056152073 0.0031367784 0.0059005132 + 127600 0.0055890314 0.0033984448 0.0061492962 + 127700 0.005081292 0.0030074347 0.0055083831 + 127800 0.0075319421 0.0019689345 0.0056760623 + 127900 0.0074698731 0.00191041 0.0055869882 + 128000 0.0048861371 0.0020599078 0.0044648034 + 128100 0.0051769531 0.0021126761 0.0046607077 + 128200 0.0043320482 0.0022472325 0.0043794124 + 128300 0.0049999537 0.0020540965 0.0045150113 + 128400 0.0046618541 0.00201134 0.0043058463 + 128500 0.0042929242 0.0023161351 0.0044290587 + 128600 0.0050364663 0.0025994483 0.0050783341 + 128700 0.0060486235 0.0026905622 0.0056676191 + 128800 0.0058387175 0.0028499394 0.0057236831 + 128900 0.0059321943 0.0024285937 0.0053483456 + 129000 0.004044847 0.0025625415 0.0045533647 + 129100 0.0052119231 0.0027574849 0.0053227283 + 129200 0.0058499672 0.0023214853 0.005200766 + 129300 0.0039899488 0.0026966156 0.0046604185 + 129400 0.0045442292 0.0024916553 0.0047282681 + 129500 0.0047372678 0.0028084949 0.0051401189 + 129600 0.0028060662 0.0033409997 0.0047221103 + 129700 0.0047194486 0.0027549832 0.0050778368 + 129800 0.0046831219 0.0020609588 0.0043659329 + 129900 0.0053354582 0.0018842442 0.00451029 + 130000 0.0061633004 0.0020731218 0.0051066212 + 130100 0.0051133952 0.0026241038 0.0051408529 + 130200 0.0051791812 0.0024846841 0.0050338124 + 130300 0.0044298086 0.0023899425 0.0045702389 + 130400 0.0065336964 0.002260248 0.0054760517 + 130500 0.0048874643 0.0025500898 0.0049556387 + 130600 0.0049265868 0.002771278 0.0051960824 + 130700 0.0056303972 0.0025719422 0.0053431533 + 130800 0.0046228583 0.0028413255 0.0051166386 + 130900 0.0055856956 0.0027935096 0.0055427191 + 131000 0.0058177224 0.0027127038 0.005576114 + 131100 0.0057808569 0.0022982475 0.005143513 + 131200 0.0044260922 0.0023774704 0.0045559377 + 131300 0.0045073072 0.0025689318 0.004787372 + 131400 0.0055932398 0.0029619637 0.0057148865 + 131500 0.0045891646 0.0031582302 0.0054169596 + 131600 0.0057742996 0.0026092867 0.0054513248 + 131700 0.0052629691 0.0023478076 0.0049381752 + 131800 0.0040266758 0.0020894678 0.0040713473 + 131900 0.0053909026 0.0018078888 0.0044612236 + 132000 0.0040260131 0.0021097088 0.0040912621 + 132100 0.0048898157 0.0020752573 0.0044819635 + 132200 0.004626272 0.0018997496 0.0041767428 + 132300 0.0050406912 0.0021240114 0.0046049766 + 132400 0.0029452407 0.0022202725 0.0036698831 + 132500 0.0061935129 0.0020373788 0.0050857484 + 132600 0.0058120052 0.0020049159 0.0048655122 + 132700 0.0053977922 0.0024189374 0.0050756633 + 132800 0.0048711453 0.0030761394 0.0054736562 + 132900 0.0059117495 0.0024504002 0.0053600894 + 133000 0.0059669865 0.0019646343 0.0049015104 + 133100 0.0039427728 0.0025435799 0.0044841634 + 133200 0.0064706356 0.0028405334 0.0060252993 + 133300 0.0057146231 0.003138638 0.0059513041 + 133400 0.0065503105 0.0027114011 0.005935382 + 133500 0.0037840325 0.0022161743 0.0040786278 + 133600 0.0055606164 0.0020836098 0.0048204757 + 133700 0.0045414349 0.0023213883 0.0045566258 + 133800 0.0044653486 0.0023564968 0.0045542856 + 133900 0.004733574 0.0026987709 0.0050285769 + 134000 0.0053029481 0.0027682111 0.0053782559 + 134100 0.0061319922 0.0029554406 0.0059735305 + 134200 0.0056081365 0.0030222152 0.0057824699 + 134300 0.0034037678 0.0033750914 0.0050503833 + 134400 0.0055665721 0.0030824779 0.0058222751 + 134500 0.0043160383 0.0029930636 0.0051173637 + 134600 0.0048231237 0.0032451515 0.0056190327 + 134700 0.0050626034 0.0033158102 0.0058075603 + 134800 0.0050625978 0.0032756731 0.0057674205 + 134900 0.0045849215 0.0032892909 0.0055459319 + 135000 0.0052736405 0.0035369115 0.0061325315 + 135100 0.0054321458 0.0032571947 0.005930829 + 135200 0.0054925156 0.0030434903 0.0057468379 + 135300 0.0043735617 0.0031685348 0.0053211472 + 135400 0.0034969695 0.0027639024 0.0044850671 + 135500 0.0057137539 0.0024396305 0.0052518688 + 135600 0.0044765157 0.0019475889 0.0041508739 + 135700 0.0040812298 0.0021127334 0.0041214637 + 135800 0.0046856109 0.0024689695 0.0047751687 + 135900 0.0049962108 0.0027340059 0.0051930784 + 136000 0.0048193068 0.002522858 0.0048948605 + 136100 0.005870423 0.0025362551 0.005425604 + 136200 0.0041325019 0.0023371721 0.0043711379 + 136300 0.006241746 0.0020084824 0.0050805918 + 136400 0.0041903692 0.0020927141 0.0041551615 + 136500 0.006166484 0.0020801095 0.0051151758 + 136600 0.0049149818 0.0022305961 0.0046496887 + 136700 0.0055636976 0.002695324 0.0054337064 + 136800 0.005442451 0.0024611479 0.0051398543 + 136900 0.0058805175 0.0019086884 0.0048030056 + 137000 0.0043049695 0.0022763366 0.0043951887 + 137100 0.004934833 0.0025196875 0.0049485506 + 137200 0.0043020894 0.0023049504 0.004422385 + 137300 0.0041280661 0.0021135578 0.0041453403 + 137400 0.0041516031 0.0023681843 0.0044115514 + 137500 0.0054093119 0.0021891235 0.0048515192 + 137600 0.0041270752 0.0021033593 0.0041346541 + 137700 0.0049015261 0.0020122757 0.0044247456 + 137800 0.0037433563 0.0017927659 0.0036351991 + 137900 0.004834452 0.0017033404 0.0040827972 + 138000 0.0043063554 0.0020785304 0.0041980647 + 138100 0.0055768244 0.0023714152 0.0051162585 + 138200 0.0040591339 0.0022178718 0.0042157268 + 138300 0.0055555362 0.0019974996 0.0047318651 + 138400 0.0054244654 0.0017079486 0.0043778027 + 138500 0.0054201271 0.0020796639 0.0047473827 + 138600 0.004600143 0.002201537 0.0044656699 + 138700 0.004695058 0.0021651919 0.0044760408 + 138800 0.0052203067 0.002585019 0.0051543887 + 138900 0.0042650019 0.0027784499 0.0048776306 + 139000 0.0042931545 0.0025036698 0.0046167068 + 139100 0.004535431 0.0024286944 0.0046609769 + 139200 0.0047371456 0.0033003593 0.0056319231 + 139300 0.0053935666 0.0033301444 0.0059847904 + 139400 0.0041361254 0.002717869 0.0047536182 + 139500 0.0043344344 0.0019977906 0.004131145 + 139600 0.0047656207 0.0022821326 0.0046277115 + 139700 0.0061558522 0.001929459 0.0049592926 + 139800 0.0051091434 0.0018323778 0.0043470343 + 139900 0.0048341955 0.0022556154 0.004634946 + 140000 0.0044517964 0.0024630025 0.004654121 + 140100 0.0049872425 0.0027743964 0.0052290548 + 140200 0.0072650145 0.0028178962 0.0063936456 + 140300 0.0052021186 0.0028341116 0.0053945293 + 140400 0.0063391101 0.0027307079 0.0058507387 + 140500 0.0049561053 0.0025924474 0.0050317804 + 140600 0.0060877403 0.0023847349 0.0053810446 + 140700 0.0064043849 0.0021052841 0.0052574423 + 140800 0.0047195156 0.0023749768 0.0046978634 + 140900 0.007208189 0.0024139204 0.0059617009 + 141000 0.004350346 0.0023799695 0.0045211554 + 141100 0.0050733663 0.0023011971 0.0047982446 + 141200 0.0052066066 0.0020279046 0.0045905313 + 141300 0.0040437095 0.001786611 0.0037768743 + 141400 0.0034312779 0.0019499367 0.0036387688 + 141500 0.0049743593 0.0019635914 0.0044119089 + 141600 0.0056646822 0.0021824926 0.0049705783 + 141700 0.0048801102 0.0023978828 0.0047998121 + 141800 0.0056664508 0.0022673822 0.0050563384 + 141900 0.0049605395 0.0027058251 0.0051473406 + 142000 0.0045537731 0.0028562507 0.0050975609 + 142100 0.0043863223 0.0027280266 0.0048869197 + 142200 0.0068364968 0.0019940679 0.0053589061 + 142300 0.0045264526 0.0019318108 0.0041596742 + 142400 0.0053183442 0.0020891196 0.0047067421 + 142500 0.0048517516 0.0024431134 0.0048310848 + 142600 0.0049335618 0.0024489846 0.0048772221 + 142700 0.0047899531 0.002363138 0.004720693 + 142800 0.0050512064 0.0027941457 0.0052802863 + 142900 0.005271055 0.0026083642 0.0052027116 + 143000 0.0055108297 0.0025999314 0.0053122929 + 143100 0.003849698 0.0023040891 0.0041988623 + 143200 0.005076521 0.0022889912 0.0047875914 + 143300 0.0063388741 0.0026773883 0.0057973028 + 143400 0.005074048 0.0029735912 0.0054709742 + 143500 0.0045658087 0.0028406423 0.0050878763 + 143600 0.0042178797 0.0029264081 0.0050023958 + 143700 0.006071139 0.0029937276 0.0059818663 + 143800 0.0038548674 0.0028961012 0.0047934187 + 143900 0.0047907539 0.0029521182 0.0053100674 + 144000 0.004051006 0.0029744773 0.0049683318 + 144100 0.0041696486 0.002326428 0.0043786769 + 144200 0.0040776937 0.0024514021 0.004458392 + 144300 0.0044547426 0.0023645995 0.0045571681 + 144400 0.0063429704 0.0023171288 0.0054390596 + 144500 0.0049405097 0.0029854552 0.0054171123 + 144600 0.0063985728 0.0034607391 0.0066100366 + 144700 0.0053398454 0.0031138728 0.005742078 + 144800 0.0053244541 0.0027970502 0.0054176799 + 144900 0.0066019182 0.002481707 0.0057310886 + 145000 0.0065963027 0.0025945723 0.0058411901 + 145100 0.0047295012 0.0033560526 0.005683854 + 145200 0.0044692256 0.003122228 0.0053219249 + 145300 0.0040984959 0.002968483 0.0049857115 + 145400 0.0045752692 0.0029314615 0.0051833518 + 145500 0.0051731723 0.0031541417 0.0057003124 + 145600 0.0062176177 0.0030547501 0.0061149838 + 145700 0.0052082572 0.0026764417 0.0052398808 + 145800 0.0055928923 0.0025357027 0.0052884543 + 145900 0.0052465821 0.0024035239 0.004985826 + 146000 0.0045127164 0.002324651 0.0045457536 + 146100 0.0061511005 0.0025600045 0.0055874992 + 146200 0.0044868288 0.0023141282 0.0045224893 + 146300 0.0044099885 0.0021588465 0.0043293877 + 146400 0.0053827902 0.0020057928 0.0046551348 + 146500 0.0045209212 0.0020148068 0.0042399477 + 146600 0.0041805669 0.0023147522 0.004372375 + 146700 0.003009313 0.0024294754 0.0039106217 + 146800 0.0033295842 0.0019653883 0.003604168 + 146900 0.0045428791 0.0018298706 0.004065819 + 147000 0.0044569555 0.0018626668 0.0040563245 + 147100 0.0062009018 0.0017128779 0.0047648842 + 147200 0.006695771 0.0016677826 0.0049633574 + 147300 0.0043740872 0.0019195177 0.0040723887 + 147400 0.0046416205 0.0025261182 0.0048106658 + 147500 0.0049006603 0.0026090649 0.0050211087 + 147600 0.0047928407 0.0025958463 0.0049548226 + 147700 0.0038757774 0.0027752482 0.0046828574 + 147800 0.0067788432 0.0023115491 0.005648011 + 147900 0.0056646527 0.002535687 0.0053237583 + 148000 0.0037195421 0.0027412867 0.0045719988 + 148100 0.0049094754 0.00257115 0.0049875324 + 148200 0.0053425902 0.002708271 0.0053378271 + 148300 0.0047196359 0.0026062418 0.0049291876 + 148400 0.0052669312 0.0027087036 0.0053010213 + 148500 0.0043674145 0.0029363391 0.005085926 + 148600 0.0039953601 0.0029548068 0.0049212731 + 148700 0.0041804859 0.0028292585 0.0048868414 + 148800 0.0049284935 0.0022032755 0.0046290184 + 148900 0.0048773529 0.00223882 0.0046393921 + 149000 0.0052299321 0.0024087809 0.0049828881 + 149100 0.0043195952 0.0024744105 0.0046004613 + 149200 0.0049246643 0.0025886379 0.0050124961 + 149300 0.0037258049 0.0030963076 0.0049301022 + 149400 0.0045833493 0.0029329696 0.0051888368 + 149500 0.0051001373 0.0022291766 0.0047394004 + 149600 0.0050224004 0.0026458062 0.0051177689 + 149700 0.0061461834 0.0027452009 0.0057702755 + 149800 0.0039368717 0.0031180447 0.0050557238 + 149900 0.0051744347 0.0034325976 0.0059793897 + 150000 0.005478931 0.0031025499 0.0057992112 + 150100 0.0041451731 0.0033666076 0.00540681 + 150200 0.0046261991 0.0028921689 0.0051691263 + 150300 0.0063338932 0.0021398637 0.0052573267 + 150400 0.003885173 0.0021817416 0.0040939752 + 150500 0.0036090351 0.0021634344 0.0039397564 + 150600 0.0037674098 0.0022922468 0.0041465189 + 150700 0.0048951807 0.0024764564 0.0048858031 + 150800 0.0052566645 0.0028145934 0.005401858 + 150900 0.0044200651 0.0029924094 0.0051679102 + 151000 0.0046559319 0.0028749819 0.0051665733 + 151100 0.0053568603 0.0029239319 0.0055605116 + 151200 0.00438384 0.0027202226 0.0048778938 + 151300 0.0051180403 0.0026043869 0.0051234223 + 151400 0.0046021348 0.0024565274 0.0047216406 + 151500 0.0063719135 0.0022237415 0.0053599177 + 151600 0.0045268292 0.0024988364 0.0047268852 + 151700 0.0046030069 0.0026060672 0.0048716097 + 151800 0.0041367387 0.0022417345 0.0042777856 + 151900 0.0053458171 0.0020370252 0.0046681696 + 152000 0.0046837685 0.0021594738 0.0044647662 + 152100 0.0059287559 0.0018982533 0.0048163128 + 152200 0.0056580692 0.0021586751 0.004943506 + 152300 0.0062376802 0.0022354487 0.0053055569 + 152400 0.0048410283 0.0026941635 0.0050768571 + 152500 0.0036130579 0.0027742061 0.004552508 + 152600 0.005296117 0.0024932441 0.0050999267 + 152700 0.0044105828 0.0019686232 0.0041394569 + 152800 0.0051597759 0.0018338518 0.004373429 + 152900 0.0054753218 0.0021054607 0.0048003457 + 153000 0.0038103663 0.0024007227 0.0042761374 + 153100 0.004349676 0.0027341886 0.0048750447 + 153200 0.0040984428 0.0024886931 0.0045058954 + 153300 0.0065740841 0.0021850546 0.0054207367 + 153400 0.0065390155 0.0030123788 0.0062308005 + 153500 0.0045930074 0.0027962789 0.0050568998 + 153600 0.0049767159 0.002395308 0.0048447853 + 153700 0.0055676754 0.0024891743 0.0052295146 + 153800 0.0051864306 0.0023535226 0.0049062189 + 153900 0.0050812584 0.0022715339 0.0047724657 + 154000 0.0041665572 0.0021679581 0.0042186855 + 154100 0.0054047477 0.0021899048 0.0048500541 + 154200 0.0046916586 0.0026594283 0.004968604 + 154300 0.00709988 0.0023794077 0.0058738799 + 154400 0.0051739573 0.0021848026 0.0047313597 + 154500 0.0048287756 0.0023323465 0.0047090095 + 154600 0.0048546674 0.0020242185 0.0044136251 + 154700 0.0044028069 0.0023567209 0.0045237274 + 154800 0.0068848862 0.0025653502 0.0059540051 + 154900 0.0053814084 0.0024833808 0.0051320427 + 155000 0.0042974001 0.0024252693 0.0045403959 + 155100 0.0047740781 0.0024326592 0.0047824007 + 155200 0.0052722761 0.0021590458 0.0047539942 + 155300 0.0038102207 0.0022326493 0.0041079923 + 155400 0.0043368363 0.0022416372 0.0043761739 + 155500 0.0047901291 0.0025992452 0.0049568869 + 155600 0.0061440399 0.0022925367 0.0053165564 + 155700 0.0064257107 0.0020888036 0.005251458 + 155800 0.006364827 0.001929953 0.0050626413 + 155900 0.0048658197 0.0018346731 0.0042295688 + 156000 0.0045378492 0.0022421703 0.004475643 + 156100 0.0034760259 0.0028460724 0.0045569289 + 156200 0.0050559735 0.0029886802 0.0054771672 + 156300 0.0044664065 0.0035289166 0.005727226 + 156400 0.007330828 0.0030849775 0.0066931194 + 156500 0.0057106066 0.0025212587 0.0053319479 + 156600 0.0047179648 0.0025330558 0.0048551791 + 156700 0.0045706978 0.0024802105 0.0047298508 + 156800 0.0036103554 0.0024427188 0.0042196905 + 156900 0.0056311258 0.0020886615 0.0048602312 + 157000 0.0044592956 0.0023553977 0.0045502073 + 157100 0.0048863433 0.0023599959 0.004764993 + 157200 0.0055586349 0.0019587662 0.0046946569 + 157300 0.0050101445 0.0018901937 0.0043561242 + 157400 0.0051078039 0.0017647673 0.0042787646 + 157500 0.0050884728 0.0013979148 0.0039023975 + 157600 0.0047904364 0.0013188242 0.0036766171 + 157700 0.004473834 0.0015970236 0.0037989888 + 157800 0.0048866482 0.0017060372 0.0041111844 + 157900 0.0049971645 0.0019306386 0.0043901805 + 158000 0.0054533856 0.0022015876 0.0048856758 + 158100 0.0059719786 0.0017923387 0.0047316719 + 158200 0.0051158298 0.0016303549 0.0041483024 + 158300 0.004939208 0.0016466873 0.0040777037 + 158400 0.0041910374 0.0019458286 0.0040086048 + 158500 0.0038395899 0.0022304381 0.0041202363 + 158600 0.005808132 0.0020963887 0.0049550786 + 158700 0.0044401755 0.0026484119 0.0048338108 + 158800 0.0038897891 0.0025377605 0.0044522661 + 158900 0.0052671644 0.0026255883 0.0052180208 + 159000 0.0051135594 0.0030255949 0.0055424249 + 159100 0.00539122 0.0028587238 0.0055122149 + 159200 0.0035233599 0.0027664795 0.0045006332 + 159300 0.0042749225 0.0026956346 0.004799698 + 159400 0.0063871833 0.0022900883 0.0054337801 + 159500 0.0060905803 0.0021283002 0.0051260077 + 159600 0.0053658299 0.0028752196 0.005516214 + 159700 0.0043152511 0.0028030278 0.0049269405 + 159800 0.0051012181 0.0025268671 0.0050376229 + 159900 0.0057182172 0.0020428749 0.0048573099 + 160000 0.0050126733 0.0021823979 0.0046495731 + 160100 0.0044349787 0.0018609664 0.0040438075 + 160200 0.0064211381 0.0019719653 0.0051323692 + 160300 0.0042516827 0.0025761229 0.004668748 + 160400 0.0037132174 0.002968183 0.0047957822 + 160500 0.0047315582 0.0027838288 0.0051126427 + 160600 0.0055756794 0.0025140677 0.0052583474 + 160700 0.0047145297 0.0025004353 0.0048208679 + 160800 0.0058541546 0.0027451935 0.0056265352 + 160900 0.0068074307 0.0025777998 0.0059283321 + 161000 0.0045200766 0.0027572056 0.0049819309 + 161100 0.0049959779 0.0022732305 0.0047321884 + 161200 0.004789949 0.0021224027 0.0044799558 + 161300 0.0083001242 0.0017979301 0.0058831475 + 161400 0.0042403272 0.0020939602 0.0041809962 + 161500 0.0047361322 0.0019393958 0.0042704609 + 161600 0.0060869439 0.0018939921 0.0048899098 + 161700 0.0048044462 0.0017452644 0.0041099528 + 161800 0.0052501157 0.0017629979 0.0043470392 + 161900 0.0058240045 0.0020049893 0.0048714915 + 162000 0.005579153 0.0026945042 0.0054404936 + 162100 0.0061340591 0.0028188378 0.005837945 + 162200 0.0064368144 0.0028653411 0.0060334607 + 162300 0.0047164735 0.00279588 0.0051172692 + 162400 0.0042258895 0.0024094173 0.0044893473 + 162500 0.0046004169 0.0020342274 0.004298495 + 162600 0.0047946731 0.0018968496 0.0042567277 + 162700 0.0046286024 0.0020574682 0.0043356084 + 162800 0.006249979 0.0024420843 0.0055182458 + 162900 0.004575863 0.002191549 0.0044437316 + 163000 0.0051335888 0.0019197887 0.0044464769 + 163100 0.0041945108 0.0017866343 0.0038511201 + 163200 0.00385167 0.0022974184 0.0041931622 + 163300 0.0042937394 0.0022760167 0.0043893416 + 163400 0.0059745671 0.0022716059 0.0052122131 + 163500 0.0045679375 0.002503683 0.0047519647 + 163600 0.0070550429 0.0024717409 0.0059441449 + 163700 0.0050841587 0.0024036662 0.0049060255 + 163800 0.0063055556 0.002303933 0.0054074486 + 163900 0.0048710114 0.0029762409 0.0053736918 + 164000 0.0055180222 0.002607834 0.0053237356 + 164100 0.0048878151 0.002887293 0.0052930145 + 164200 0.0057255377 0.0025532425 0.0053712806 + 164300 0.0056228798 0.0022370041 0.0050045152 + 164400 0.0039057823 0.001856004 0.0037783812 + 164500 0.0051347261 0.0018823902 0.0044096382 + 164600 0.0053132465 0.0027528138 0.0053679273 + 164700 0.0051767116 0.0024845248 0.0050324375 + 164800 0.0060031276 0.0017206864 0.0046753508 + 164900 0.0071640224 0.0019280943 0.0054541366 + 165000 0.0045053217 0.002176289 0.004393752 + 165100 0.006525895 0.0021178544 0.0053298183 + 165200 0.0052201631 0.0024129547 0.0049822537 + 165300 0.0049704285 0.0021934612 0.004639844 + 165400 0.0052599443 0.0023196235 0.0049085023 + 165500 0.0051850026 0.0024356092 0.0049876027 + 165600 0.0036473995 0.0022874995 0.0040827039 + 165700 0.0063998806 0.0018203652 0.0049703065 + 165800 0.004187435 0.0022655196 0.0043265227 + 165900 0.0048269326 0.0028658605 0.0052416164 + 166000 0.0042092167 0.0029349026 0.0050066264 + 166100 0.0044106734 0.0027142028 0.0048850811 + 166200 0.0053084381 0.0022853969 0.0048981438 + 166300 0.0040167274 0.0023739161 0.0043508992 + 166400 0.0053774108 0.0025217374 0.0051684318 + 166500 0.0050736182 0.0030905574 0.0055877289 + 166600 0.0047610532 0.0025567807 0.0049001116 + 166700 0.0082823707 0.0021640545 0.0062405338 + 166800 0.0039416167 0.0026447451 0.0045847596 + 166900 0.0039626863 0.0026342526 0.0045846372 + 167000 0.004866166 0.0027660682 0.0051611342 + 167100 0.0053119133 0.0026433191 0.0052577764 + 167200 0.0039450686 0.0024036588 0.0043453722 + 167300 0.0044687107 0.0022339266 0.0044333702 + 167400 0.0042207279 0.0021276579 0.0042050475 + 167500 0.0048726315 0.0023172746 0.0047155229 + 167600 0.0065045148 0.0021664512 0.0053678921 + 167700 0.0054189373 0.0026266296 0.0052937628 + 167800 0.006270399 0.0025261558 0.0056123678 + 167900 0.0059603734 0.0023051317 0.005238753 + 168000 0.004601902 0.0029428973 0.0052078959 + 168100 0.0042038409 0.0034805486 0.0055496265 + 168200 0.004503682 0.0031735391 0.0053901951 + 168300 0.0051434476 0.0027643564 0.005295897 + 168400 0.0055251656 0.0026517178 0.0053711353 + 168500 0.0044693906 0.0026239062 0.0048236844 + 168600 0.0043003172 0.002428672 0.0045452344 + 168700 0.0046529056 0.0022579688 0.0045480708 + 168800 0.0057803935 0.0022428146 0.005087852 + 168900 0.0041531811 0.0022505248 0.0042946687 + 169000 0.0050114607 0.0022707168 0.0047372951 + 169100 0.0049966688 0.0020877112 0.0045470092 + 169200 0.0042695869 0.0020589752 0.0041604124 + 169300 0.0037850657 0.0020456992 0.0039086613 + 169400 0.0037505561 0.0018595978 0.0037055746 + 169500 0.0053129535 0.0019227939 0.0045377631 + 169600 0.0033123446 0.0026934075 0.0043237021 + 169700 0.0046691056 0.0025662952 0.0048643706 + 169800 0.0056972682 0.0021446054 0.0049487296 + 169900 0.0043762076 0.0022621432 0.0044160579 + 170000 0.0039978915 0.0024490911 0.0044168033 + 170100 0.0058259515 0.0020086851 0.0048761456 + 170200 0.004594842 0.0023685841 0.0046301079 + 170300 0.0058961466 0.0028317685 0.0057337782 + 170400 0.0040240349 0.0031981825 0.0051787622 + 170500 0.0052319462 0.0030502171 0.0056253156 + 170600 0.0043770639 0.003263595 0.0054179311 + 170700 0.0071224529 0.0032582279 0.0067638102 + 170800 0.0056266609 0.0029927657 0.0057621378 + 170900 0.0050764454 0.0030367724 0.0055353354 + 171000 0.0046774974 0.0028672401 0.0051694458 + 171100 0.0066544699 0.0027897136 0.0060649606 + 171200 0.0060287432 0.0029634817 0.0059307538 + 171300 0.0050675228 0.0032023654 0.0056965368 + 171400 0.0047701271 0.0024037362 0.0047515332 + 171500 0.004755523 0.002034303 0.004374912 + 171600 0.0047696466 0.0021079117 0.0044554722 + 171700 0.0049800606 0.0023483311 0.0047994547 + 171800 0.0059610068 0.0028178422 0.0057517752 + 171900 0.0052571939 0.0029103835 0.0054979086 + 172000 0.0054211066 0.0025834827 0.0052516836 + 172100 0.0047057055 0.0026764178 0.0049925072 + 172200 0.0056367952 0.0024734452 0.0052478053 + 172300 0.0050380179 0.0027374153 0.0052170647 + 172400 0.0055075265 0.003091689 0.0058024247 + 172500 0.0041610728 0.0029650193 0.0050130473 + 172600 0.0048153312 0.002699441 0.0050694868 + 172700 0.004533881 0.0028262393 0.0050577588 + 172800 0.0044995632 0.0024372071 0.0046518359 + 172900 0.0041867305 0.002823669 0.0048843255 + 173000 0.0039560732 0.0025763664 0.0045234962 + 173100 0.0038019644 0.0024508006 0.00432208 + 173200 0.0050971882 0.0023386003 0.0048473726 + 173300 0.0044664584 0.0023440817 0.0045424167 + 173400 0.0037588818 0.0024128455 0.0042629201 + 173500 0.0037711143 0.0024929829 0.0043490782 + 173600 0.0040983229 0.0029191324 0.0049362757 + 173700 0.0037259616 0.0033559124 0.0051897841 + 173800 0.0052786962 0.003062025 0.0056601332 + 173900 0.0044701527 0.0025494271 0.0047495804 + 174000 0.0045908365 0.002151629 0.0044111813 + 174100 0.0041275566 0.0024077895 0.0044393213 + 174200 0.0064101762 0.0024841438 0.0056391525 + 174300 0.0069543965 0.0026349571 0.0060578242 + 174400 0.0049262888 0.0028193177 0.0052439755 + 174500 0.0046105499 0.0029546973 0.0052239523 + 174600 0.0060557522 0.0024333438 0.0054139093 + 174700 0.0046537648 0.0023150227 0.0046055476 + 174800 0.0045873518 0.0023306284 0.0045884656 + 174900 0.0058886673 0.0019996871 0.0048980156 + 175000 0.004833767 0.0021873666 0.0045664862 + 175100 0.0055592328 0.0026604655 0.0053966504 + 175200 0.0050455813 0.0023215866 0.0048049587 + 175300 0.004606741 0.0021657853 0.0044331656 + 175400 0.006714832 0.0025416883 0.0058466446 + 175500 0.0047361398 0.002521128 0.0048521968 + 175600 0.0058940042 0.0021432836 0.0050442388 + 175700 0.0060304384 0.0023581941 0.0053263005 + 175800 0.0055764904 0.0026984514 0.0054431302 + 175900 0.0061276647 0.0026334777 0.0056494376 + 176000 0.0036158989 0.0033117766 0.0050914768 + 176100 0.0049381256 0.0029069134 0.0053373972 + 176200 0.0045843308 0.002224221 0.0044805713 + 176300 0.0041040119 0.0020266982 0.0040466415 + 176400 0.0043250177 0.0022945117 0.0044232314 + 176500 0.0049515395 0.002327977 0.0047650628 + 176600 0.0066364019 0.0021558244 0.0054221785 + 176700 0.0056734508 0.0021036378 0.0048960394 + 176800 0.0044795284 0.0020718444 0.0042766123 + 176900 0.004429968 0.0023062702 0.0044866451 + 177000 0.0038843256 0.0021319862 0.0040438028 + 177100 0.0051287082 0.0017971015 0.0043213875 + 177200 0.0043456033 0.0019055318 0.0040443835 + 177300 0.0036938476 0.001864423 0.0036824886 + 177400 0.005353584 0.002009309 0.0046442762 + 177500 0.0056777496 0.002047976 0.0048424934 + 177600 0.0053362578 0.0022352067 0.004861646 + 177700 0.0072789445 0.0025067676 0.0060893731 + 177800 0.0052113639 0.0025605465 0.0051255147 + 177900 0.0040045986 0.0025763876 0.004547401 + 178000 0.0038106573 0.0023007795 0.0041763374 + 178100 0.0044620182 0.0022879155 0.0044840651 + 178200 0.0062205703 0.0025996041 0.0056612911 + 178300 0.0067057287 0.0023977689 0.0056982447 + 178400 0.0075872501 0.0025457545 0.0062801042 + 178500 0.0042827373 0.0027738367 0.0048817464 + 178600 0.0052678731 0.0024783095 0.0050710908 + 178700 0.0062825693 0.0022961499 0.005388352 + 178800 0.0056837357 0.0024095115 0.0052069752 + 178900 0.004457476 0.0025332332 0.0047271472 + 179000 0.0049634064 0.002830182 0.0052731086 + 179100 0.0054959026 0.0027675781 0.0054725926 + 179200 0.0038654607 0.0028319345 0.0047344659 + 179300 0.0040167055 0.0030000649 0.0049770372 + 179400 0.0061077779 0.0028575107 0.0058636826 + 179500 0.0051631883 0.002308434 0.0048496907 + 179600 0.0051899889 0.0022150614 0.004769509 + 179700 0.0041925552 0.0029507972 0.0050143204 + 179800 0.0049002251 0.003274906 0.0056867355 + 179900 0.0060377371 0.0031000603 0.0060717591 + 180000 0.0065510111 0.002826037 0.0060503628 + 180100 0.0063514487 0.0029894874 0.0061155911 + 180200 0.0045493787 0.0033606461 0.0055997934 + 180300 0.0057827409 0.0031954592 0.006041652 + 180400 0.0065345079 0.0028787109 0.006094914 + 180500 0.0047549838 0.003121697 0.0054620406 + 180600 0.0043301131 0.0031631363 0.0052943638 + 180700 0.0049337465 0.0029488794 0.0053772078 + 180800 0.0059950137 0.0031395829 0.0060902537 + 180900 0.0066493201 0.0031876322 0.0064603445 + 181000 0.0053891136 0.0034357306 0.0060881849 + 181100 0.0058842607 0.0031307692 0.0060269288 + 181200 0.0048833339 0.0027527817 0.0051562976 + 181300 0.0057245047 0.0025542483 0.0053717779 + 181400 0.0072948196 0.0027314426 0.0063218617 + 181500 0.0046649088 0.0025285219 0.0048245317 + 181600 0.0053007682 0.0027190872 0.005328059 + 181700 0.0053181346 0.002906578 0.0055240974 + 181800 0.0072169871 0.002873179 0.0064252898 + 181900 0.0063524561 0.0030008467 0.0061274462 + 182000 0.0055311329 0.0037176931 0.0064400476 + 182100 0.005916655 0.003172738 0.0060848416 + 182200 0.004317268 0.0025404025 0.0046653078 + 182300 0.0039859707 0.0026548697 0.0046167147 + 182400 0.0046525878 0.0024992361 0.0047891817 + 182500 0.0068298201 0.0021612304 0.0055227825 + 182600 0.0051816135 0.0021067384 0.0046570638 + 182700 0.004577366 0.0019013689 0.0041542913 + 182800 0.0039049143 0.0017224324 0.0036443824 + 182900 0.0059364798 0.001968622 0.0048904831 + 183000 0.0043608698 0.0024721181 0.0046184837 + 183100 0.0054687645 0.00247023 0.0051618875 + 183200 0.0044091431 0.0025738311 0.0047439562 + 183300 0.0038630263 0.0024419022 0.0043432355 + 183400 0.005404858 0.0025212654 0.0051814689 + 183500 0.0042603235 0.002774655 0.004871533 + 183600 0.0051783386 0.0025950382 0.0051437517 + 183700 0.0040947305 0.0033383664 0.0053537416 + 183800 0.0061874133 0.0033602129 0.0064055803 + 183900 0.0052489017 0.0031962783 0.0057797221 + 184000 0.0056580527 0.002915296 0.0057001188 + 184100 0.0033940657 0.0028402745 0.0045107912 + 184200 0.0051293755 0.0028174347 0.0053420493 + 184300 0.0046134319 0.0030045677 0.0052752412 + 184400 0.0059603719 0.0024850072 0.0054186277 + 184500 0.00469942 0.00213304 0.0044460357 + 184600 0.0044436188 0.0020452775 0.0042323711 + 184700 0.0051361213 0.0028027069 0.0053306416 + 184800 0.0043787859 0.0027977696 0.0049529534 + 184900 0.0044249915 0.0022585554 0.0044364808 + 185000 0.0048326374 0.0023633924 0.0047419561 + 185100 0.0056491402 0.0029314382 0.0057118744 + 185200 0.0051209681 0.0032472922 0.0057677687 + 185300 0.0043691487 0.0031022814 0.0052527217 + 185400 0.0054380692 0.0027084587 0.0053850084 + 185500 0.0058089931 0.0020049544 0.0048640682 + 185600 0.0039391585 0.0024818884 0.0044206929 + 185700 0.0052949764 0.0026164544 0.0052225756 + 185800 0.0038003913 0.0023225432 0.0041930483 + 185900 0.0052731989 0.0021537645 0.0047491671 + 186000 0.0045421972 0.0022786903 0.004514303 + 186100 0.004827638 0.0023179328 0.0046940359 + 186200 0.005201922 0.002107941 0.004668262 + 186300 0.005119858 0.0024076076 0.0049275377 + 186400 0.004780693 0.0023052774 0.0046582748 + 186500 0.0039594362 0.0021850756 0.0041338606 + 186600 0.0035581362 0.0022808127 0.0040320829 + 186700 0.0037967575 0.0027198361 0.0045885527 + 186800 0.0062666415 0.0025739634 0.0056583261 + 186900 0.0044507918 0.0024861421 0.0046767662 + 187000 0.0049044299 0.0020343572 0.0044482563 + 187100 0.0044600965 0.0021878789 0.0043830826 + 187200 0.003360217 0.0026306935 0.0042845503 + 187300 0.0038437438 0.0025134666 0.0044053092 + 187400 0.0057689062 0.0020707356 0.0049101191 + 187500 0.0063154767 0.0019263696 0.0050347683 + 187600 0.0052670558 0.001974805 0.0045671841 + 187700 0.0051346185 0.0020493724 0.0045765674 + 187800 0.0045461866 0.0023494119 0.0045869881 + 187900 0.0036310124 0.0021478625 0.0039350014 + 188000 0.0059009723 0.0017618549 0.0046662397 + 188100 0.0041159463 0.0017718226 0.0037976399 + 188200 0.0043154224 0.0019632334 0.0040872304 + 188300 0.0035779086 0.0019857745 0.0037467764 + 188400 0.0058579582 0.0016029935 0.0044862073 + 188500 0.0056020734 0.0018621948 0.0046194653 + 188600 0.0047280361 0.0024473049 0.0047743852 + 188700 0.0057392539 0.0022984869 0.0051232759 + 188800 0.0051359675 0.0026443293 0.0051721884 + 188900 0.0055223274 0.0025944314 0.0053124519 + 189000 0.0043606915 0.0022104396 0.0043567175 + 189100 0.0047106649 0.0025570602 0.0048755906 + 189200 0.0032613585 0.0028898329 0.0044950328 + 189300 0.0038298328 0.0030517534 0.0049367492 + 189400 0.0045315987 0.0023109761 0.0045413723 + 189500 0.0061909886 0.0017933752 0.0048405024 + 189600 0.004641608 0.0021168472 0.0044013887 + 189700 0.0043150368 0.002352628 0.0044764352 + 189800 0.006154956 0.0024680198 0.0054974122 + 189900 0.0053459845 0.0028654379 0.0054966647 + 190000 0.0052082735 0.0035150019 0.006078449 + 190100 0.0047430902 0.0033319609 0.0056664506 + 190200 0.004887137 0.0031083396 0.0055137273 + 190300 0.0048071 0.0026185451 0.0049845396 + 190400 0.0071258177 0.0025871556 0.006094394 + 190500 0.0050914699 0.0033501096 0.0058560675 + 190600 0.0039442331 0.0037742374 0.0057155396 + 190700 0.0065908696 0.0030399279 0.0062838716 + 190800 0.0053141749 0.0029342236 0.0055497941 + 190900 0.0049275942 0.0032378526 0.0056631528 + 191000 0.0044064466 0.0032919071 0.005460705 + 191100 0.0047727134 0.0029186749 0.0052677448 + 191200 0.0045675289 0.0026224655 0.0048705461 + 191300 0.005418831 0.0028360733 0.0055031542 + 191400 0.0042352988 0.0030423519 0.005126913 + 191500 0.0046802972 0.0028837477 0.0051873315 + 191600 0.0048869188 0.0031398504 0.0055451307 + 191700 0.0057046925 0.0027231337 0.005530912 + 191800 0.0045709151 0.0023950212 0.0046447685 + 191900 0.0059866266 0.0021788956 0.0051254384 + 192000 0.0049267653 0.0025966451 0.0050215374 + 192100 0.0042612651 0.0029248143 0.0050221557 + 192200 0.0054673406 0.002406585 0.0050975417 + 192300 0.0054162079 0.0023360789 0.0050018688 + 192400 0.0034457624 0.0024301489 0.00412611 + 192500 0.0039041182 0.0021160154 0.0040375736 + 192600 0.0053231595 0.0020258705 0.0046458631 + 192700 0.0042929759 0.0025770569 0.004690006 + 192800 0.0043487344 0.0025913283 0.0047317211 + 192900 0.0053884768 0.0025689318 0.0052210728 + 193000 0.0029888008 0.0026801674 0.0041512178 + 193100 0.0043399517 0.0022050316 0.0043411016 + 193200 0.0056842373 0.001896826 0.0046945365 + 193300 0.0042074364 0.0025307244 0.004601572 + 193400 0.0054310212 0.0031917307 0.0058648114 + 193500 0.0059742655 0.0030096506 0.0059501094 + 193600 0.0042257419 0.0026422739 0.0047221312 + 193700 0.0054991484 0.0026675501 0.0053741622 + 193800 0.0040917816 0.0032179287 0.0052318525 + 193900 0.0043598867 0.0028307052 0.0049765869 + 194000 0.0044813342 0.0026532526 0.0048589092 + 194100 0.0041400281 0.0024913321 0.0045290021 + 194200 0.0037101187 0.0026229088 0.0044489828 + 194300 0.0036826624 0.0026526487 0.0044652091 + 194400 0.0038169305 0.0026486051 0.0045272506 + 194500 0.0046252405 0.0024972183 0.0047737039 + 194600 0.007326443 0.0023454917 0.0059514753 + 194700 0.003505101 0.0025592495 0.0042844164 + 194800 0.0043837455 0.0026486597 0.0048062844 + 194900 0.0040718306 0.003128906 0.0051330101 + 195000 0.0054968758 0.002381834 0.0050873276 + 195100 0.0049199604 0.0022307915 0.0046523345 + 195200 0.0050094729 0.002487821 0.0049534209 + 195300 0.0052049959 0.0028110953 0.0053729292 + 195400 0.0068117937 0.0026928515 0.0060455312 + 195500 0.0055754331 0.0028165243 0.0055606827 + 195600 0.0067078071 0.0033075575 0.0066090563 + 195700 0.0038275563 0.0033528897 0.0052367651 + 195800 0.0049965235 0.0029442901 0.0054035165 + 195900 0.0048885328 0.0024786058 0.0048846805 + 196000 0.0044646045 0.0023858466 0.0045832691 + 196100 0.0033719088 0.0023407875 0.0040003988 + 196200 0.0079409663 0.0021057959 0.0060142403 + 196300 0.0054939197 0.0026808234 0.005384862 + 196400 0.0057640215 0.0025960642 0.0054330435 + 196500 0.0048574977 0.0023874632 0.0047782628 + 196600 0.0056213421 0.0030756127 0.005842367 + 196700 0.0064244822 0.0036266354 0.0067886852 + 196800 0.0082350735 0.002787352 0.0068405522 + 196900 0.0052729442 0.0027321119 0.0053273891 + 197000 0.0050505058 0.0031094882 0.0055952841 + 197100 0.0051070217 0.0026560609 0.0051696731 + 197200 0.0056120085 0.0025227886 0.0052849491 + 197300 0.0056282957 0.0021218775 0.0048920543 + 197400 0.0053446496 0.0021085798 0.0047391495 + 197500 0.0060758412 0.0024553734 0.0054458264 + 197600 0.007246898 0.0034092875 0.0069761201 + 197700 0.0067717395 0.0038654933 0.0071984589 + 197800 0.004443783 0.0039055518 0.0060927263 + 197900 0.0057617168 0.0034661555 0.0063020005 + 198000 0.0061525572 0.0032547897 0.0062830014 + 198100 0.0046482249 0.002793406 0.0050812041 + 198200 0.0050179719 0.0024584711 0.0049282542 + 198300 0.0065396523 0.0021919551 0.0054106902 + 198400 0.0052152396 0.0027496606 0.0053165363 + 198500 0.004813808 0.0030021478 0.0053714439 + 198600 0.0045241292 0.0028914912 0.005118211 + 198700 0.0045343797 0.0028712899 0.0051030549 + 198800 0.0043320736 0.0030324068 0.0051645993 + 198900 0.0063951902 0.0028781393 0.006025772 + 199000 0.0042431107 0.0026259315 0.0047143376 + 199100 0.0052087744 0.0030187476 0.0055824412 + 199200 0.0045426063 0.0034427247 0.0056785387 + 199300 0.0056909976 0.0033809448 0.0061819827 + 199400 0.0046354746 0.0030595402 0.0053410628 + 199500 0.0064743181 0.0026770435 0.0058636219 + 199600 0.0051103114 0.0026412003 0.0051564317 + 199700 0.0044607612 0.002729424 0.0049249549 + 199800 0.0047726834 0.0025053506 0.0048544057 + 199900 0.0053367905 0.0020631634 0.004689865 + 200000 0.0054908571 0.0018362396 0.0045387708 + 200100 0.0045527902 0.0020656818 0.0043065082 + 200200 0.0035701539 0.002270461 0.0040276462 + 200300 0.003786901 0.0021699999 0.0040338652 + 200400 0.0049324641 0.0022165511 0.0046442483 + 200500 0.0048392274 0.0023821328 0.00476394 + 200600 0.0036111716 0.0025848896 0.0043622631 + 200700 0.0040940365 0.0027527892 0.0047678228 + 200800 0.0044400524 0.0024639167 0.004649255 + 200900 0.0065276777 0.0025066311 0.0057194725 + 201000 0.0049502096 0.0032750441 0.0057114754 + 201100 0.0059029209 0.0034641722 0.0063695161 + 201200 0.005237711 0.0032550291 0.005832965 + 201300 0.0047049675 0.002781364 0.0050970901 + 201400 0.0046967018 0.0027331241 0.005044782 + 201500 0.0082175309 0.0026781662 0.0067227322 + 201600 0.0056158929 0.0026443481 0.0054084203 + 201700 0.0052424922 0.0031907546 0.0057710437 + 201800 0.0055871524 0.0027345723 0.0054844989 + 201900 0.0050738587 0.0026502169 0.0051475067 + 202000 0.0053523292 0.0024793186 0.0051136681 + 202100 0.0059753228 0.002756283 0.0056972622 + 202200 0.0039996256 0.0033367246 0.0053052904 + 202300 0.0045303057 0.0032436003 0.0054733601 + 202400 0.0041793619 0.0028810192 0.0049380489 + 202500 0.0057857916 0.002499571 0.0053472654 + 202600 0.0043598797 0.0030500945 0.0051959728 + 202700 0.0045115082 0.0028628962 0.0050834041 + 202800 0.0055379886 0.0031744944 0.0059002232 + 202900 0.0065498461 0.0030585341 0.0062822865 + 203000 0.0058438834 0.002848772 0.0057250584 + 203100 0.0050508159 0.0031227013 0.0056086498 + 203200 0.0054595256 0.0025834245 0.0052705347 + 203300 0.004891038 0.0025155738 0.0049228816 + 203400 0.0049302231 0.0023647757 0.0047913699 + 203500 0.0043411637 0.0023675147 0.0045041811 + 203600 0.0039622971 0.0027285663 0.0046787594 + 203700 0.0052280638 0.0032571745 0.0058303621 + 203800 0.0053886879 0.0030955706 0.0057478154 + 203900 0.006275199 0.0027558231 0.0058443976 + 204000 0.0062037759 0.0024937707 0.0055471917 + 204100 0.0049648954 0.0026723069 0.0051159664 + 204200 0.006645251 0.0025882075 0.0058589169 + 204300 0.0071872394 0.0026445385 0.0061820079 + 204400 0.004942669 0.0028104162 0.0052431361 + 204500 0.003711986 0.0030748871 0.0049018802 + 204600 0.0061027855 0.0032083552 0.00621207 + 204700 0.0053530051 0.002817621 0.0054523031 + 204800 0.0086929575 0.0024933171 0.0067718821 + 204900 0.0053086187 0.002517263 0.0051300988 + 205000 0.0037012644 0.0030769824 0.0048986985 + 205100 0.0062157834 0.0030003902 0.0060597211 + 205200 0.0041359838 0.0026769022 0.0047125817 + 205300 0.0057795073 0.0025895133 0.0054341146 + 205400 0.0066820247 0.002280175 0.005568984 + 205500 0.0054414762 0.0023198119 0.0049980385 + 205600 0.0051700645 0.0026419558 0.0051865969 + 205700 0.0043256138 0.0023659064 0.0044949195 + 205800 0.0044634077 0.0024362562 0.0046330897 + 205900 0.0030894595 0.0024728147 0.003993408 + 206000 0.0044867908 0.0023565824 0.0045649248 + 206100 0.0052797085 0.0021715152 0.0047701217 + 206200 0.0051006559 0.0019909107 0.0045013898 + 206300 0.0049565698 0.0026592196 0.0050987813 + 206400 0.0049287298 0.0028922527 0.0053181119 + 206500 0.0051912889 0.0029120353 0.0054671228 + 206600 0.0055025205 0.0023448261 0.0050530979 + 206700 0.0046235569 0.0021110841 0.004386741 + 206800 0.0057252499 0.0023570365 0.005174933 + 206900 0.00482237 0.0025485278 0.0049220381 + 207000 0.0049893005 0.0027048026 0.0051604739 + 207100 0.0050913284 0.0028153758 0.005321264 + 207200 0.0059363507 0.0024832344 0.005405032 + 207300 0.0056337907 0.0025824252 0.0053553066 + 207400 0.0038662024 0.003176055 0.0050789515 + 207500 0.0055711367 0.0027601611 0.0055022049 + 207600 0.0074563527 0.0025548447 0.0062247683 + 207700 0.0061700799 0.0026526673 0.0056895035 + 207800 0.0053852936 0.0026693192 0.0053198933 + 207900 0.0050848399 0.00226964 0.0047723347 + 208000 0.0055414418 0.0020367382 0.0047641666 + 208100 0.0043496399 0.0020936959 0.0042345343 + 208200 0.0046774521 0.0021909922 0.0044931756 + 208300 0.0049882981 0.0022296181 0.0046847961 + 208400 0.0047669865 0.0025091106 0.0048553617 + 208500 0.0053923483 0.0023856588 0.0050397052 + 208600 0.0044672122 0.0025997266 0.0047984327 + 208700 0.0068281204 0.0028903409 0.0062510564 + 208800 0.0050874741 0.0024669823 0.0049709735 + 208900 0.0047176879 0.0023494041 0.0046713911 + 209000 0.0057667965 0.0027101512 0.0055484963 + 209100 0.0033983784 0.0028632735 0.0045359129 + 209200 0.0043536863 0.0028221188 0.0049649487 + 209300 0.0040080908 0.0028257116 0.0047984438 + 209400 0.0048354184 0.0033985738 0.0057785063 + 209500 0.0041313286 0.0032123237 0.005245712 + 209600 0.0048715752 0.0030137417 0.0054114701 + 209700 0.0055724553 0.0031856917 0.0059283846 + 209800 0.0037167717 0.0031179054 0.0049472539 + 209900 0.0054006195 0.0030862798 0.0057443972 + 210000 0.0066165923 0.0032367515 0.0064933555 + 210100 0.0058979609 0.003536461 0.0064393636 + 210200 0.0058593019 0.0030089939 0.005892869 + 210300 0.0051339926 0.0027591187 0.0052860057 + 210400 0.0056666922 0.0023534861 0.0051425612 + 210500 0.0056970462 0.0019918595 0.0047958745 + 210600 0.0047886314 0.0022582872 0.0046151918 + 210700 0.0048265653 0.0027921781 0.0051677532 + 210800 0.0067759879 0.0028135306 0.0061485871 + 210900 0.0065061142 0.0031688192 0.0063710473 + 211000 0.0053574975 0.0030748371 0.0057117304 + 211100 0.0052535929 0.002923458 0.0055092108 + 211200 0.0067109467 0.0024696276 0.0057726717 + 211300 0.0056713066 0.0026758612 0.0054672074 + 211400 0.0044433901 0.0032959468 0.0054829278 + 211500 0.0059177107 0.0032466104 0.0061592336 + 211600 0.006104954 0.0034196784 0.0064244604 + 211700 0.0064519749 0.0034097503 0.0065853316 + 211800 0.004492356 0.0033793426 0.0055904241 + 211900 0.0032893006 0.0033912314 0.005010184 + 212000 0.0054149816 0.0033266011 0.0059917874 + 212100 0.0064323915 0.0031275866 0.0062935293 + 212200 0.0047984367 0.0032259848 0.0055877154 + 212300 0.0053987905 0.0029599287 0.0056171459 + 212400 0.0060292492 0.0023815262 0.0053490473 + 212500 0.005131728 0.0019900643 0.0045158367 + 212600 0.005658139 0.0019943961 0.0047792614 + 212700 0.0055345312 0.0020935129 0.0048175399 + 212800 0.0064516994 0.0021890214 0.0053644671 + 212900 0.0058864614 0.0023138673 0.00521111 + 213000 0.0043168561 0.0021044374 0.0042291401 + 213100 0.0051066672 0.0025328955 0.0050463333 + 213200 0.0050953843 0.002463333 0.0049712174 + 213300 0.0042347515 0.0023018408 0.0043861325 + 213400 0.0052399892 0.0023578099 0.0049368671 + 213500 0.0051238251 0.0024410246 0.0049629072 + 213600 0.0039431461 0.0023947828 0.00433555 + 213700 0.0049213729 0.0027064531 0.0051286913 + 213800 0.0053552066 0.0027049235 0.0053406893 + 213900 0.0039567705 0.0024956977 0.0044431706 + 214000 0.0050324157 0.0027462594 0.0052231515 + 214100 0.0042460823 0.0029988966 0.0050887653 + 214200 0.004588884 0.0029250366 0.005183628 + 214300 0.0055491463 0.0026121336 0.005343354 + 214400 0.005185528 0.0024649085 0.0050171606 + 214500 0.0052419292 0.0026753284 0.0052553404 + 214600 0.0050197502 0.0032636573 0.0057343156 + 214700 0.0043701899 0.002781045 0.0049319978 + 214800 0.0040632088 0.0021758059 0.0041756664 + 214900 0.004069539 0.0020965474 0.0040995236 + 215000 0.0058808349 0.0024289904 0.0053234639 + 215100 0.0062529562 0.0024425966 0.0055202235 + 215200 0.0043441995 0.0021936288 0.0043317895 + 215300 0.0052781365 0.0023117095 0.0049095424 + 215400 0.0041149417 0.0024621594 0.0044874822 + 215500 0.0038499303 0.0024418257 0.0043367133 + 215600 0.0048624414 0.00220125 0.0045944829 + 215700 0.0054969339 0.0018770519 0.0045825741 + 215800 0.0057231471 0.0018535929 0.0046704544 + 215900 0.0047102771 0.0022969919 0.0046153314 + 216000 0.0065062011 0.0024597459 0.0056620168 + 216100 0.0043673059 0.0032458339 0.0053953672 + 216200 0.0033378635 0.0030578885 0.0047007432 + 216300 0.0052699301 0.0027917743 0.005385568 + 216400 0.0056726956 0.0027734825 0.0055655124 + 216500 0.0035098157 0.0030744343 0.0048019217 + 216600 0.005237188 0.0028866088 0.0054642873 + 216700 0.0059513971 0.0025743011 0.0055035044 + 216800 0.0051895869 0.0024363595 0.0049906093 + 216900 0.0040620779 0.0028042388 0.0048035427 + 217000 0.0051684041 0.0027585673 0.0053023912 + 217100 0.0041226504 0.002285393 0.00431451 + 217200 0.0055854542 0.0024929201 0.0052420109 + 217300 0.0047378884 0.0034005243 0.0057324537 + 217400 0.005060388 0.0035189053 0.006009565 + 217500 0.0049352066 0.0033553475 0.0057843945 + 217600 0.0060798772 0.002547203 0.0055396425 + 217700 0.0045976766 0.002432101 0.0046950199 + 217800 0.0053537455 0.002252871 0.0048879176 + 217900 0.0051399169 0.0019611539 0.0044909567 + 218000 0.0041643487 0.0020871326 0.004136773 + 218100 0.0039709327 0.0023119025 0.0042663459 + 218200 0.0045233115 0.0025354837 0.0047618011 + 218300 0.0051716516 0.0029716303 0.0055170525 + 218400 0.0048542453 0.0025894048 0.0049786037 + 218500 0.0042735001 0.0024087677 0.004512131 + 218600 0.0045448337 0.0024001084 0.0046370188 + 218700 0.0062435895 0.0023319875 0.0054050042 + 218800 0.0062207118 0.0022924029 0.0053541595 + 218900 0.0043557086 0.0021614769 0.0043053022 + 219000 0.0052632766 0.0023158841 0.0049064031 + 219100 0.0047865641 0.0029258425 0.0052817295 + 219200 0.0055226923 0.0035876106 0.0063058107 + 219300 0.0053719567 0.0030469427 0.0056909527 + 219400 0.0042250955 0.0026438176 0.0047233568 + 219500 0.006391799 0.0019504604 0.005096424 + 219600 0.0057347957 0.0018366755 0.0046592702 + 219700 0.0058660838 0.0025572675 0.0054444806 + 219800 0.0050654195 0.0027081664 0.0052013026 + 219900 0.0062568978 0.0022763033 0.0053558702 + 220000 0.0050487779 0.0020347682 0.0045197136 + 220100 0.0051037987 0.0016477191 0.0041597451 + 220200 0.004003234 0.0016691769 0.0036395187 + 220300 0.0051892424 0.0016206199 0.0041747001 + 220400 0.0037764483 0.0019250383 0.003783759 + 220500 0.0030629582 0.0022007617 0.0037083114 + 220600 0.0037187945 0.002490714 0.0043210581 + 220700 0.0051350276 0.0022113515 0.0047387479 + 220800 0.0053842698 0.0021446464 0.0047947167 + 220900 0.0031488186 0.002460759 0.0040105681 + 221000 0.0044168143 0.0026779103 0.0048518111 + 221100 0.0040596241 0.0026335166 0.0046316129 + 221200 0.0061763463 0.0024871109 0.0055270314 + 221300 0.0064801719 0.0025336542 0.0057231138 + 221400 0.0061356873 0.0022829189 0.0053028275 + 221500 0.0031350483 0.0021569938 0.0037000254 + 221600 0.0052373364 0.001894653 0.0044724045 + 221700 0.0037653301 0.0022992967 0.0041525451 + 221800 0.00408639 0.0025537857 0.0045650558 + 221900 0.0041897072 0.0022230648 0.0042851863 + 222000 0.0030049646 0.0021013379 0.0035803439 + 222100 0.0054018405 0.0017796014 0.0044383198 + 222200 0.005528337 0.0021400948 0.0048610731 + 222300 0.0049832598 0.0029091587 0.0053618569 + 222400 0.0040708779 0.0029853026 0.0049889378 + 222500 0.0076521951 0.002877739 0.0066440538 + 222600 0.0055129327 0.003098359 0.0058117555 + 222700 0.0044788742 0.0030353627 0.0052398086 + 222800 0.005993645 0.0026433993 0.0055933964 + 222900 0.0066607842 0.0023094836 0.0055878383 + 223000 0.0060431283 0.0025118421 0.0054861943 + 223100 0.0046657844 0.0027534374 0.0050498781 + 223200 0.0059535229 0.0022710148 0.0052012643 + 223300 0.0045898262 0.0023831364 0.0046421915 + 223400 0.0038055593 0.0023398717 0.0042129205 + 223500 0.0038947329 0.0024278852 0.0043448241 + 223600 0.0040366663 0.0023349039 0.0043217006 + 223700 0.0042610971 0.0021836228 0.0042808815 + 223800 0.0053230667 0.0023133163 0.0049332632 + 223900 0.0044901982 0.00226968 0.0044796994 + 224000 0.0055957543 0.0018120732 0.0045662335 + 224100 0.00581247 0.0022074269 0.005068252 + 224200 0.0063230963 0.0026978111 0.0058099601 + 224300 0.005454513 0.0026783356 0.0053629787 + 224400 0.0073363099 0.002532855 0.006143695 + 224500 0.006378343 0.0027228129 0.0058621536 + 224600 0.0056500365 0.0028837995 0.0056646768 + 224700 0.0068640739 0.002626445 0.0060048564 + 224800 0.0051578147 0.0030167364 0.0055553483 + 224900 0.0058275043 0.0037691803 0.0066374051 + 225000 0.0053267076 0.0039626814 0.0065844203 + 225100 0.0062096032 0.002873764 0.0059300531 + 225200 0.0063608568 0.0024383209 0.0055690552 + 225300 0.0044686122 0.0022316281 0.0044310232 + 225400 0.0048702104 0.0022483346 0.0046453913 + 225500 0.0061340381 0.0023148405 0.0053339374 + 225600 0.0040577595 0.0026638542 0.0046610326 + 225700 0.0049936833 0.0025713821 0.0050292106 + 225800 0.0043599912 0.002625639 0.0047715721 + 225900 0.0055417245 0.0026817468 0.0054093144 + 226000 0.0066953426 0.0026113114 0.0059066753 + 226100 0.004326398 0.0028081533 0.0049375523 + 226200 0.0045409265 0.0031405349 0.0053755222 + 226300 0.0053654247 0.0027800413 0.0054208362 + 226400 0.0047704296 0.0024578235 0.0048057693 + 226500 0.0044471266 0.002632954 0.0048217742 + 226600 0.0056641204 0.0021998938 0.004987703 + 226700 0.0043397232 0.0022662964 0.0044022539 + 226800 0.0034631023 0.002404704 0.0041091997 + 226900 0.0030494681 0.0021289876 0.0036298977 + 227000 0.0046423333 0.001843954 0.0041288524 + 227100 0.0047339715 0.0024045572 0.0047345588 + 227200 0.0036705001 0.0027718793 0.0045784535 + 227300 0.0044726558 0.0026217218 0.0048231071 + 227400 0.0044293295 0.0023878149 0.0045678756 + 227500 0.0057397862 0.0023892561 0.0052143072 + 227600 0.0067101184 0.0022908112 0.0055934475 + 227700 0.0045021045 0.0026717485 0.0048876281 + 227800 0.0049380122 0.0026163612 0.0050467891 + 227900 0.003621218 0.0025454427 0.0043277609 + 228000 0.0048323883 0.0024189065 0.0047973476 + 228100 0.0054251081 0.0025724345 0.0052426048 + 228200 0.0041023409 0.0029127556 0.0049318765 + 228300 0.0050692842 0.002691423 0.0051864613 + 228400 0.0047096998 0.0021502661 0.0044683215 + 228500 0.0047894843 0.0019715287 0.004328853 + 228600 0.0050773786 0.0021102653 0.0046092876 + 228700 0.0048956484 0.0020757785 0.0044853555 + 228800 0.0035449903 0.0023614822 0.0041062821 + 228900 0.0058927166 0.0024416273 0.0053419487 + 229000 0.0042489512 0.0023997444 0.0044910251 + 229100 0.0041381971 0.0022650912 0.0043018601 + 229200 0.0064249999 0.0024941625 0.0056564672 + 229300 0.0055467913 0.0027213777 0.0054514391 + 229400 0.0050476078 0.0032792908 0.0057636603 + 229500 0.0065729096 0.0030820407 0.0063171446 + 229600 0.0058244215 0.0024901592 0.0053568667 + 229700 0.0057061932 0.0019707067 0.0047792236 + 229800 0.0049217423 0.0019480575 0.0043704775 + 229900 0.0042532246 0.0024300536 0.0045234376 + 230000 0.0035928833 0.0025123547 0.004280727 + 230100 0.0054224825 0.0022644256 0.0049333037 + 230200 0.0042817349 0.0026559437 0.0047633601 + 230300 0.0056760628 0.002935873 0.0057295602 + 230400 0.0047273578 0.0029227911 0.0052495375 + 230500 0.0036054855 0.0028767125 0.0046512873 + 230600 0.0053294692 0.0028489503 0.0054720484 + 230700 0.0044648036 0.0029584644 0.0051559849 + 230800 0.004442389 0.0031217305 0.0053082188 + 230900 0.0042698341 0.0028636053 0.0049651643 + 231000 0.0049963778 0.0027490447 0.0052081994 + 231100 0.0058486523 0.0028782866 0.0057569201 + 231200 0.0052202921 0.0032167665 0.005786129 + 231300 0.0049499037 0.0027882791 0.0052245599 + 231400 0.004501253 0.0026328275 0.004848288 + 231500 0.0045940417 0.0027775317 0.0050386616 + 231600 0.0051320671 0.0025689991 0.0050949384 + 231700 0.0042468272 0.0023895371 0.0044797724 + 231800 0.0060411556 0.0023294811 0.0053028623 + 231900 0.0048847182 0.0025419736 0.0049461708 + 232000 0.0041737476 0.0026458296 0.004700096 + 232100 0.0044714227 0.0023174672 0.0045182456 + 232200 0.0050376926 0.0020622948 0.0045417841 + 232300 0.0046666779 0.0022054833 0.0045023638 + 232400 0.0042436145 0.0024493519 0.0045380059 + 232500 0.0055358728 0.0022659705 0.0049906579 + 232600 0.0051822312 0.0030317175 0.0055823469 + 232700 0.0046164259 0.002986165 0.0052583122 + 232800 0.0054859041 0.0024753009 0.0051753944 + 232900 0.0065705993 0.0026818067 0.0059157735 + 233000 0.0061246252 0.0029064822 0.0059209461 + 233100 0.0069537328 0.00298508 0.0064076204 + 233200 0.0051339751 0.0032092191 0.0057360974 + 233300 0.005917003 0.003310663 0.0062229379 + 233400 0.0062810917 0.002877689 0.0059691638 + 233500 0.0059374155 0.0025431963 0.005465518 + 233600 0.00626338 0.0025974026 0.00568016 + 233700 0.0050809395 0.0027301294 0.0052309043 + 233800 0.0052302275 0.0027527733 0.0053270259 + 233900 0.0042520873 0.0029547997 0.005047624 + 234000 0.0058083399 0.0027340517 0.005592844 + 234100 0.0049268343 0.0022053915 0.0046303178 + 234200 0.0076861099 0.0017037524 0.0054867597 + 234300 0.0045428943 0.0019596845 0.0041956403 + 234400 0.0050136229 0.0018116473 0.0042792898 + 234500 0.0041957768 0.0023415798 0.0044066887 + 234600 0.0042182241 0.0028626145 0.0049387716 + 234700 0.0048895945 0.0027870743 0.0051936716 + 234800 0.0050567246 0.0022763268 0.0047651834 + 234900 0.0044596042 0.0020101416 0.004205103 + 235000 0.0048966833 0.001865674 0.0042757603 + 235100 0.0043212036 0.0017625108 0.0038893532 + 235200 0.0050978104 0.0020328043 0.0045418828 + 235300 0.0032156259 0.0021247859 0.0037074768 + 235400 0.0054392694 0.0017186322 0.0043957726 + 235500 0.0056555614 0.0019456801 0.0047292767 + 235600 0.0044362244 0.0021374415 0.0043208957 + 235700 0.004136126 0.0018902369 0.0039259864 + 235800 0.0050183716 0.0020037994 0.0044737792 + 235900 0.0032997741 0.0025725778 0.0041966854 + 236000 0.0053138199 0.0023464533 0.0049618491 + 236100 0.0044297678 0.0021930258 0.0043733022 + 236200 0.0048312324 0.0024386415 0.0048165137 + 236300 0.0068548285 0.0021055877 0.0054794486 + 236400 0.0046685614 0.002191106 0.0044889135 + 236500 0.0050727828 0.0022057975 0.0047025577 + 236600 0.0064070034 0.0025948825 0.0057483294 + 236700 0.0052351219 0.0024629037 0.0050395653 + 236800 0.0051928557 0.0020286716 0.0045845303 + 236900 0.0034535599 0.0021947359 0.003894535 + 237000 0.004126118 0.0024914122 0.0045222359 + 237100 0.0043575843 0.0020756908 0.0042204393 + 237200 0.0037731263 0.0019751776 0.0038322632 + 237300 0.0060241919 0.0017586037 0.0047236356 + 237400 0.0047532224 0.0022858637 0.0046253404 + 237500 0.0058699606 0.0021850845 0.0050742058 + 237600 0.0054400575 0.0022226734 0.0049002017 + 237700 0.0050639529 0.0024101977 0.004902612 + 237800 0.0049215833 0.0026858229 0.0051081647 + 237900 0.0070535314 0.0028339173 0.0063055773 + 238000 0.0050898743 0.0034742758 0.0059794484 + 238100 0.0051225961 0.0028177453 0.005339023 + 238200 0.0071526648 0.0021368651 0.0056573173 + 238300 0.0049993586 0.0020391323 0.0044997541 + 238400 0.0056579537 0.0024366378 0.0052214119 + 238500 0.0048786279 0.0025454837 0.0049466834 + 238600 0.0056321872 0.0020965612 0.0048686534 + 238700 0.0040273964 0.0018685808 0.003850815 + 238800 0.0039962552 0.0019959995 0.0039629064 + 238900 0.0033118044 0.0020618466 0.0036918753 + 239000 0.0051447773 0.001947857 0.0044800521 + 239100 0.0051397564 0.0018037079 0.0043334317 + 239200 0.0046624548 0.002079204 0.004374006 + 239300 0.0041581271 0.0022198799 0.004266458 + 239400 0.0056246643 0.0017859469 0.0045543363 + 239500 0.0045521947 0.0015505482 0.0037910816 + 239600 0.0055271837 0.0018025975 0.0045230082 + 239700 0.0035709951 0.0021637389 0.003921338 + 239800 0.0048455126 0.0019910557 0.0043759564 + 239900 0.005770437 0.0018882727 0.0047284097 + 240000 0.00655673 0.0019866389 0.0052137794 + 240100 0.00342689 0.0022488426 0.003935515 + 240200 0.0047430325 0.0018478163 0.0041822776 + 240300 0.0057061463 0.0021403004 0.0049487943 + 240400 0.0058177022 0.0026527908 0.0055161912 + 240500 0.0068673499 0.0030914402 0.006471464 + 240600 0.0083312635 0.0029081076 0.0070086513 + 240700 0.0046827847 0.0024661679 0.004770976 + 240800 0.0045093961 0.0021581281 0.0043775965 + 240900 0.0054875025 0.0020904098 0.00479129 + 241000 0.0040854661 0.0024897079 0.0045005232 + 241100 0.0051867789 0.0027482615 0.0053011292 + 241200 0.0044200609 0.0026331323 0.004808631 + 241300 0.0055799947 0.0023709389 0.0051173426 + 241400 0.0032799339 0.0019750103 0.0035893528 + 241500 0.0046228054 0.0020117951 0.0042870821 + 241600 0.0050571618 0.0022091048 0.0046981766 + 241700 0.0058218486 0.0019198664 0.0047853075 + 241800 0.0051358423 0.0019003955 0.0044281929 + 241900 0.0052241318 0.0020270637 0.0045983161 + 242000 0.0044889898 0.0017495966 0.0039590213 + 242100 0.0053119132 0.0017730035 0.0043874608 + 242200 0.0057352157 0.0020860274 0.0049088289 + 242300 0.0049690353 0.0022593649 0.004705062 + 242400 0.0047644947 0.0024018059 0.0047468307 + 242500 0.0051544758 0.0026273042 0.0051642727 + 242600 0.0059107688 0.0026127507 0.0055219572 + 242700 0.0058358368 0.0025155926 0.0053879185 + 242800 0.0053620185 0.0024640607 0.0051031792 + 242900 0.0046867895 0.0022967126 0.0046034918 + 243000 0.0062623293 0.0025207724 0.0056030126 + 243100 0.0044409162 0.0027099911 0.0048957545 + 243200 0.004728963 0.0027052514 0.0050327879 + 243300 0.0058808667 0.0024615983 0.0053560874 + 243400 0.0060612138 0.0022001482 0.0051834019 + 243500 0.0046394678 0.0021799781 0.0044634661 + 243600 0.0046309978 0.002280017 0.0045593362 + 243700 0.0058203484 0.002088018 0.0049527207 + 243800 0.0063118102 0.0020587055 0.0051652996 + 243900 0.0048041186 0.0024468302 0.0048113573 + 244000 0.0047311514 0.0033398974 0.005668511 + 244100 0.0045819999 0.0032487137 0.0055039168 + 244200 0.0054557002 0.0027289454 0.0054141729 + 244300 0.0069148751 0.0024818691 0.0058852841 + 244400 0.0050419973 0.0031479765 0.0056295846 + 244500 0.0055699666 0.0031698633 0.0059113312 + 244600 0.0056666623 0.0025725445 0.0053616049 + 244700 0.004831634 0.0025240119 0.0049020817 + 244800 0.005699391 0.0025613179 0.0053664869 + 244900 0.0040419483 0.0026003001 0.0045896965 + 245000 0.0046014814 0.0024115681 0.0046763597 + 245100 0.0055287975 0.0025698972 0.0052911022 + 245200 0.0033639788 0.0022096612 0.0038653695 + 245300 0.0046242549 0.0021797478 0.0044557483 + 245400 0.0048702643 0.0022804495 0.0046775327 + 245500 0.0040667937 0.0028051421 0.0048067671 + 245600 0.0046234898 0.0031284557 0.0054040796 + 245700 0.0055556256 0.0031059233 0.0058403328 + 245800 0.0053764667 0.0029054793 0.005551709 + 245900 0.0069553264 0.0025991735 0.0060224983 + 246000 0.0044759328 0.002713765 0.0049167631 + 246100 0.0053892029 0.002838905 0.0054914033 + 246200 0.0043620866 0.0029082788 0.0050552433 + 246300 0.0039708406 0.0025527822 0.0045071803 + 246400 0.0055894716 0.0029614703 0.0057125383 + 246500 0.0054312922 0.0036872424 0.0063604565 + 246600 0.0054647871 0.0035214146 0.0062111145 + 246700 0.0046411573 0.0029122144 0.005196534 + 246800 0.0058554474 0.0029536698 0.0058356478 + 246900 0.0075097835 0.0027956567 0.0064918783 + 247000 0.0054021736 0.0034634944 0.0061223767 + 247100 0.0060065 0.0031795797 0.0061359039 + 247200 0.0071464776 0.0028361754 0.0063535823 + 247300 0.00616436 0.0022991142 0.0053331351 + 247400 0.0037586713 0.0021797882 0.0040297593 + 247500 0.0054396149 0.0022985565 0.0049758669 + 247600 0.0036207685 0.0028005147 0.0045826117 + 247700 0.0047495396 0.0026802859 0.00501795 + 247800 0.0059507915 0.0028488157 0.0057777209 + 247900 0.0045286247 0.0029376218 0.0051665543 + 248000 0.0046029719 0.0026812415 0.0049467668 + 248100 0.0046192581 0.0026567359 0.004930277 + 248200 0.0050328799 0.0026949549 0.0051720754 + 248300 0.003207233 0.0026990052 0.0042775652 + 248400 0.0041991671 0.0023476545 0.004414432 + 248500 0.0066875435 0.002223205 0.0055147303 + 248600 0.0047559344 0.0025040377 0.0048448491 + 248700 0.0035982424 0.0029368388 0.0047078487 + 248800 0.004363101 0.0026584584 0.0048059222 + 248900 0.0037739489 0.0020077321 0.0038652226 + 249000 0.0050813621 0.0019388447 0.0044398276 + 249100 0.0043487559 0.0022355104 0.0043759138 + 249200 0.0058398458 0.0023080917 0.0051823908 + 249300 0.0067206903 0.0022267611 0.0055346009 + 249400 0.0075233098 0.0028285607 0.0065314397 + 249500 0.0054928953 0.0031030977 0.0058066321 + 249600 0.0040008821 0.0031745265 0.0051437107 + 249700 0.0047166677 0.0025014062 0.0048228911 + 249800 0.0046130293 0.0018758631 0.0041463385 + 249900 0.006137037 0.0016514892 0.0046720621 + 250000 0.0037794148 0.0018880815 0.0037482622 + 250100 0.0039990212 0.0022489827 0.0042172509 + 250200 0.0053823788 0.0023548205 0.0050039601 + 250300 0.0054616988 0.0025834027 0.0052715826 + 250400 0.0065909665 0.0023764244 0.0056204157 + 250500 0.0038529579 0.0026815481 0.0045779258 + 250600 0.0046969707 0.0025481248 0.0048599151 + 250700 0.0047318766 0.0024981614 0.0048271319 + 250800 0.0053146829 0.0024193937 0.0050352142 + 250900 0.0060634244 0.0023458564 0.0053301981 + 251000 0.0046424918 0.0024238345 0.0047088109 + 251100 0.0048005062 0.0022743684 0.0046371176 + 251200 0.0036861401 0.0022360787 0.0040503508 + 251300 0.0043073843 0.0020309995 0.0041510402 + 251400 0.0065492963 0.0019439852 0.005167467 + 251500 0.0050871896 0.0021034047 0.0046072558 + 251600 0.0054397611 0.0023233541 0.0050007365 + 251700 0.0055883339 0.0022824749 0.005032983 + 251800 0.0040523777 0.0026288716 0.0046234012 + 251900 0.0049252287 0.0023292218 0.0047533577 + 252000 0.0048267657 0.0022239019 0.0045995757 + 252100 0.0034381036 0.0024088095 0.0041010011 + 252200 0.0058644862 0.0024981153 0.0053845421 + 252300 0.0057100502 0.0026390522 0.0054494675 + 252400 0.0062260503 0.0021374725 0.0052018566 + 252500 0.0060086388 0.0020083595 0.0049657364 + 252600 0.0051855301 0.0021870563 0.0047393094 + 252700 0.0051784534 0.0016690214 0.0042177914 + 252800 0.0054176165 0.0017162671 0.0043827502 + 252900 0.0047007351 0.0026056407 0.0049192838 + 253000 0.0042453258 0.0026721077 0.004761604 + 253100 0.0062095845 0.0023078452 0.005364125 + 253200 0.0050565994 0.0029118372 0.0054006322 + 253300 0.0048289855 0.0029160442 0.0052928104 + 253400 0.0051821597 0.0027378806 0.0052884748 + 253500 0.0063761901 0.0028014605 0.0059397416 + 253600 0.0062903414 0.0027995185 0.0058955459 + 253700 0.0054475707 0.003517233 0.0061984592 + 253800 0.0056658062 0.0028000945 0.0055887335 + 253900 0.0044898934 0.0023374686 0.0045473381 + 254000 0.0057052691 0.0018763197 0.0046843819 + 254100 0.0045796217 0.0019720258 0.0042260584 + 254200 0.0061078013 0.0019539624 0.0049601458 + 254300 0.006413242 0.0021526598 0.0053091774 + 254400 0.0051807721 0.0025896362 0.0051395475 + 254500 0.0044507213 0.002663856 0.0048544454 + 254600 0.0030644707 0.0026644161 0.0041727103 + 254700 0.0058265795 0.0024847412 0.0053525108 + 254800 0.0046037808 0.0021741084 0.0044400317 + 254900 0.0034887605 0.002138803 0.0038559274 + 255000 0.0044401805 0.0018425626 0.0040279639 + 255100 0.0054237561 0.0018357124 0.0045052174 + 255200 0.0053618407 0.0020169785 0.0046560095 + 255300 0.0038760375 0.0021829327 0.0040906699 + 255400 0.0054311858 0.002469676 0.0051428378 + 255500 0.0038344292 0.002524664 0.0044119221 + 255600 0.0048883999 0.0019611145 0.0043671238 + 255700 0.0069271244 0.0019371039 0.005346548 + 255800 0.0045648143 0.0026255336 0.0048722782 + 255900 0.0047981963 0.002514425 0.0048760372 + 256000 0.0037732078 0.0027963867 0.0046535125 + 256100 0.0051018548 0.0023232548 0.004834324 + 256200 0.0055353036 0.0019116836 0.0046360909 + 256300 0.0045205624 0.0021885546 0.0044135189 + 256400 0.0055575643 0.0023536519 0.0050890156 + 256500 0.0066997229 0.0026539261 0.005951446 + 256600 0.0046659036 0.0033621029 0.0056586023 + 256700 0.0056651715 0.0026707423 0.0054590689 + 256800 0.0058501365 0.0022357307 0.0051150948 + 256900 0.005209156 0.0020825416 0.0046464231 + 257000 0.0039478577 0.0018494875 0.0037925737 + 257100 0.0042604305 0.0017512211 0.0038481517 + 257200 0.0051802103 0.0015998009 0.0041494357 + 257300 0.0033035505 0.0018494022 0.0034753685 + 257400 0.0060862117 0.0016072139 0.0046027713 + 257500 0.0046483744 0.001675834 0.0039637058 + 257600 0.0052337841 0.0017493488 0.0043253519 + 257700 0.005782468 0.001488303 0.0043343615 + 257800 0.0070891867 0.0016602539 0.005149463 + 257900 0.0079897527 0.0023863181 0.0063187745 + 258000 0.004642985 0.0024789512 0.0047641704 + 258100 0.0043811406 0.0019618209 0.0041181636 + 258200 0.0055365008 0.001769747 0.0044947435 + 258300 0.0067222823 0.0016124562 0.0049210795 + 258400 0.0049901859 0.0015726943 0.0040288014 + 258500 0.0051839004 0.0017788727 0.0043303237 + 258600 0.0041030137 0.0019043596 0.0039238117 + 258700 0.0049013389 0.001635183 0.0040475608 + 258800 0.0049948471 0.0019049336 0.0043633349 + 258900 0.0046237468 0.0019595431 0.0042352935 + 259000 0.0036820014 0.0017440126 0.0035562476 + 259100 0.0046607582 0.0016126097 0.0039065767 + 259200 0.0041415294 0.0013044756 0.0033428846 + 259300 0.0048536869 0.0015333003 0.0039222243 + 259400 0.0051329694 0.0019103729 0.0044367562 + 259500 0.0052403202 0.0022973331 0.0048765532 + 259600 0.0034531377 0.002532116 0.0042317072 + 259700 0.0037485029 0.0024491587 0.004294125 + 259800 0.006412697 0.0021674027 0.005323652 + 259900 0.00533141 0.0024208083 0.0050448617 + 260000 0.0052788045 0.0020315597 0.0046297213 + 260100 0.0055507928 0.0019157452 0.004647776 + 260200 0.0059146466 0.0018028916 0.0047140067 + 260300 0.0069174167 0.0013973019 0.0048019679 + 260400 0.0045720687 0.0015503526 0.0038006677 + 260500 0.0045463393 0.0018023304 0.0040399818 + 260600 0.0050411663 0.0020177918 0.0044989909 + 260700 0.0044043562 0.0024621842 0.0046299532 + 260800 0.0037925284 0.002254166 0.0041208011 + 260900 0.0063108165 0.0021229394 0.0052290444 + 261000 0.0058122747 0.002330416 0.005191145 + 261100 0.0043030894 0.0025450621 0.0046629889 + 261200 0.0041787849 0.0023467461 0.0044034918 + 261300 0.0035390669 0.0019028117 0.0036446962 + 261400 0.0042991055 0.0017323523 0.0038483183 + 261500 0.0044333732 0.0018762464 0.0040582972 + 261600 0.0046338167 0.0024625934 0.0047433 + 261700 0.0048334731 0.002860816 0.0052397911 + 261800 0.0052243152 0.0025889821 0.0051603248 + 261900 0.0068565951 0.0023205413 0.0056952718 + 262000 0.0053393384 0.0023912167 0.0050191723 + 262100 0.0045096244 0.0025509484 0.0047705292 + 262200 0.0052668126 0.0020984569 0.0046907162 + 262300 0.0048518295 0.0021408891 0.004528899 + 262400 0.0049174855 0.0026679141 0.005088239 + 262500 0.0049791675 0.0024939855 0.0049446695 + 262600 0.0046800219 0.0024875801 0.0047910284 + 262700 0.005194587 0.0022081259 0.0047648367 + 262800 0.0069141345 0.0016249948 0.0050280454 + 262900 0.0061815432 0.0017980907 0.004840569 + 263000 0.0051668016 0.0025614118 0.0051044469 + 263100 0.0051914746 0.002800492 0.0053556709 + 263200 0.0036553969 0.0030079981 0.0048071388 + 263300 0.0045798495 0.002704538 0.0049586827 + 263400 0.0039291864 0.0027309095 0.004664806 + 263500 0.0057202153 0.0029632684 0.0057786868 + 263600 0.0062276175 0.0023086316 0.005373787 + 263700 0.0048109097 0.0020311737 0.0043990433 + 263800 0.006159654 0.0019924897 0.0050241944 + 263900 0.0059146376 0.0029262333 0.005837344 + 264000 0.0059480275 0.0027627945 0.0056903392 + 264100 0.0057398176 0.0021963595 0.005021426 + 264200 0.0036201066 0.0020079338 0.0037897051 + 264300 0.0052320807 0.0020363199 0.0046114846 + 264400 0.0048747863 0.002359854 0.0047591629 + 264500 0.0039755867 0.0025499338 0.0045066679 + 264600 0.0067253 0.0022580579 0.0055681664 + 264700 0.0049458373 0.002173953 0.0046082323 + 264800 0.0060120888 0.0024530614 0.0054121364 + 264900 0.0057828258 0.0022871068 0.0051333413 + 265000 0.005185618 0.0025112506 0.0050635469 + 265100 0.0051948594 0.0026716069 0.0052284517 + 265200 0.0031530347 0.0024457032 0.0039975875 + 265300 0.0035588988 0.0027541053 0.0045057508 + 265400 0.0053086158 0.003153057 0.0057658914 + 265500 0.0067152778 0.0027737243 0.0060789001 + 265600 0.004428293 0.0027788115 0.0049583619 + 265700 0.0057329238 0.0026537883 0.0054754617 + 265800 0.0043737147 0.0027484698 0.0049011575 + 265900 0.0048127728 0.0024715874 0.004840374 + 266000 0.0049274901 0.0020938725 0.0045191215 + 266100 0.004699005 0.0019140342 0.0042268257 + 266200 0.0047342951 0.0021224453 0.0044526062 + 266300 0.0048862552 0.0021317683 0.004536722 + 266400 0.0043073674 0.0021909306 0.004310963 + 266500 0.0057851546 0.002003797 0.0048511778 + 266600 0.0044325384 0.0021315267 0.0043131667 + 266700 0.0053480081 0.0022362437 0.0048684664 + 266800 0.00433809 0.0023166886 0.0044518423 + 266900 0.0049331702 0.002206361 0.0046344057 + 267000 0.0063883601 0.0020625531 0.0052068241 + 267100 0.00502281 0.0021572166 0.0046293808 + 267200 0.00603001 0.0019306542 0.0048985498 + 267300 0.0048522949 0.0018258938 0.0042141327 + 267400 0.0057574486 0.0017260538 0.004559798 + 267500 0.0051959934 0.0022498456 0.0048072486 + 267600 0.004964041 0.0028620062 0.0053052451 + 267700 0.0056697678 0.0030081607 0.0057987496 + 267800 0.005390971 0.0026980058 0.0053513743 + 267900 0.0078288919 0.0025747908 0.0064280735 + 268000 0.003174694 0.0034479063 0.005010451 + 268100 0.0077840366 0.0029698565 0.006801062 + 268200 0.0061906903 0.0032786887 0.006325669 + 268300 0.0061645216 0.003549617 0.0065837175 + 268400 0.0044946772 0.0033094007 0.0055216246 + 268500 0.0040326395 0.0029663419 0.0049511566 + 268600 0.0047170932 0.0025829904 0.0049046847 + 268700 0.0048004762 0.0021015421 0.0044642765 + 268800 0.0049834111 0.0021027142 0.0045554869 + 268900 0.0055200551 0.0024495756 0.0051664777 + 269000 0.0039273036 0.0024452564 0.0043782262 + 269100 0.005158609 0.0027980796 0.0053370825 + 269200 0.0056523061 0.0021612498 0.0049432442 + 269300 0.0051335961 0.0020249492 0.004551641 + 269400 0.0047628458 0.0025649611 0.0049091742 + 269500 0.0053307736 0.0031129076 0.0057366477 + 269600 0.0047435009 0.0032376547 0.0055723465 + 269700 0.0069155155 0.002694701 0.0060984312 + 269800 0.0046690142 0.0025550695 0.0048531 + 269900 0.0044759796 0.0024033356 0.0046063569 + 270000 0.0048307539 0.002049567 0.0044272037 + 270100 0.0057973224 0.002296298 0.0051496676 + 270200 0.0035494737 0.0026432302 0.0043902368 + 270300 0.0057009279 0.0021974126 0.0050033381 + 270400 0.0049736951 0.002117784 0.0045657745 + 270500 0.0047978342 0.0022275081 0.0045889421 + 270600 0.0032180944 0.0024956806 0.0040795864 + 270700 0.0052087808 0.002535338 0.0050990348 + 270800 0.0054016194 0.002393166 0.0050517756 + 270900 0.0057376692 0.0020122872 0.0048362962 + 271000 0.0056400583 0.0022423199 0.0050182861 + 271100 0.0034414897 0.0023273248 0.0040211831 + 271200 0.0041793293 0.0019570576 0.0040140712 + 271300 0.0030627155 0.0017977342 0.0033051645 + 271400 0.0065420349 0.0016530551 0.0048729629 + 271500 0.0050560446 0.0017690674 0.0042575894 + 271600 0.0041136469 0.0017029926 0.0037276782 + 271700 0.0060963892 0.0014154488 0.0044160153 + 271800 0.004642829 0.0017953301 0.0040804725 + 271900 0.0054913689 0.0019350396 0.0046378227 + 272000 0.0061913883 0.0018971411 0.004944465 + 272100 0.0035116398 0.0022253612 0.0039537464 + 272200 0.0034300483 0.0020921556 0.0037803824 + 272300 0.0036153721 0.0022032472 0.0039826881 + 272400 0.0049545512 0.0019178182 0.0043563864 + 272500 0.0051608808 0.0019685078 0.0045086288 + 272600 0.0046482125 0.0021900194 0.0044778115 + 272700 0.0057369095 0.0020799348 0.00490357 + 272800 0.0042585867 0.0020678163 0.0041638394 + 272900 0.0038195269 0.002426714 0.0043066374 + 273000 0.0050583989 0.002649716 0.0051393967 + 273100 0.0052567208 0.0026965721 0.0052838643 + 273200 0.0062474164 0.0028196736 0.0058945739 + 273300 0.0046532846 0.0025522986 0.0048425871 + 273400 0.0056058717 0.0026374023 0.0053965422 + 273500 0.0041549062 0.0022958006 0.0043407935 + 273600 0.0035666381 0.002252609 0.0040080637 + 273700 0.0048041145 0.0021735547 0.0045380798 + 273800 0.0056170279 0.0026186479 0.0053832788 + 273900 0.0062730847 0.0025800389 0.0056675728 + 274000 0.0055451323 0.0026608726 0.0053901174 + 274100 0.0043466114 0.0028973892 0.005036737 + 274200 0.005656468 0.0031518094 0.0059358522 + 274300 0.005908843 0.0036299621 0.0065382207 + 274400 0.0062050562 0.0031482631 0.0062023142 + 274500 0.0058841607 0.0027668805 0.0056629909 + 274600 0.0056581076 0.0027634284 0.0055482782 + 274700 0.007180993 0.0029853976 0.0065197926 + 274800 0.0051164339 0.0029540255 0.0054722703 + 274900 0.0049359209 0.0025202834 0.0049496819 + 275000 0.0043202549 0.0026373259 0.0047637014 + 275100 0.0052377379 0.0024349246 0.0050128738 + 275200 0.0040010985 0.0022086715 0.0041779622 + 275300 0.0047455146 0.0020300751 0.004365758 + 275400 0.0034878216 0.0017625277 0.0034791899 + 275500 0.0038472765 0.0017268247 0.0036204062 + 275600 0.0055342671 0.0020717263 0.0047956234 + 275700 0.005517095 0.0024730979 0.0051885431 + 275800 0.0048482421 0.0023195304 0.0047057746 + 275900 0.0049034374 0.0023696041 0.0047830147 + 276000 0.0053832301 0.0026505187 0.0053000773 + 276100 0.004346808 0.002485561 0.0046250056 + 276200 0.0054703902 0.0023222053 0.005014663 + 276300 0.0052853241 0.0023236344 0.0049250048 + 276400 0.0059586381 0.0019992997 0.0049320669 + 276500 0.0045866796 0.0023984461 0.0046559524 + 276600 0.0059551052 0.0026341287 0.0055651571 + 276700 0.0039165048 0.0027619681 0.0046896229 + 276800 0.0054043806 0.0023263863 0.0049863549 + 276900 0.0047671128 0.0023136712 0.0046599845 + 277000 0.0043525344 0.0022648297 0.0044070927 + 277100 0.0038019366 0.0023099025 0.0041811682 + 277200 0.003783473 0.0021885764 0.0040507545 + 277300 0.005500501 0.00200039 0.0047076678 + 277400 0.0038613979 0.0020672236 0.0039677554 + 277500 0.0033515775 0.0020528058 0.0037024103 + 277600 0.0036348091 0.0021372399 0.0039262475 + 277700 0.004616167 0.0021499904 0.0044220101 + 277800 0.0059958133 0.0018436491 0.0047947135 + 277900 0.0048727507 0.0014812055 0.0038795125 + 278000 0.0029986782 0.0015995049 0.0030754168 + 278100 0.0033981311 0.0022277632 0.0039002808 + 278200 0.0042619267 0.0022844394 0.0043821064 + 278300 0.0053978261 0.0022335677 0.0048903103 + 278400 0.0056794273 0.0021207813 0.0049161244 + 278500 0.0038789198 0.0022412189 0.0041503748 + 278600 0.0034126428 0.0028701517 0.0045498118 + 278700 0.0061406015 0.0026863731 0.0057087004 + 278800 0.0056319239 0.0024608786 0.0052328412 + 278900 0.0050998397 0.0026300063 0.0051400837 + 279000 0.0058821043 0.0026068985 0.0055019968 + 279100 0.0044220462 0.002436609 0.0046130848 + 279200 0.0067896219 0.0024907889 0.0058325559 + 279300 0.0037022306 0.0026302171 0.0044524087 + 279400 0.0042854613 0.0024801557 0.0045894062 + 279500 0.0052746764 0.0027179644 0.0053140942 + 279600 0.0049614056 0.0027654488 0.0052073906 + 279700 0.0042233919 0.002860104 0.0049388047 + 279800 0.0039620568 0.0032152862 0.005165361 + 279900 0.0046898849 0.003024348 0.0053326507 + 280000 0.005321729 0.002854431 0.0054737195 + 280100 0.0044160764 0.0026352172 0.0048087548 + 280200 0.0048176522 0.0022515319 0.0046227201 + 280300 0.0045332924 0.002203738 0.0044349678 + 280400 0.004981162 0.0024758119 0.0049274776 + 280500 0.0042601887 0.0018776961 0.0039745077 + 280600 0.0047589866 0.0017671947 0.0041095084 + 280700 0.0033015747 0.0017203933 0.003345387 + 280800 0.0045627341 0.0018056279 0.0040513486 + 280900 0.0052966415 0.001947747 0.0045546878 + 281000 0.0064567885 0.0023163381 0.0054942887 + 281100 0.0054619469 0.0019422519 0.0046305539 + 281200 0.003606606 0.0018951106 0.003670237 + 281300 0.0061901804 0.0021375779 0.0051843073 + 281400 0.0046380842 0.0024670601 0.0047498672 + 281500 0.0034357188 0.0023968133 0.0040878312 + 281600 0.006019843 0.0018671526 0.0048300441 + 281700 0.0046180026 0.0024158832 0.0046888064 + 281800 0.0044871101 0.0025793598 0.0047878593 + 281900 0.0044178566 0.0023825569 0.0045569707 + 282000 0.0046890666 0.0021679186 0.0044758186 + 282100 0.0053929306 0.0020904725 0.0047448056 + 282200 0.0048768804 0.0017257586 0.0041260982 + 282300 0.0047405129 0.0015553754 0.0038885965 + 282400 0.0038034177 0.0014253842 0.0032973788 + 282500 0.0061451427 0.0013567628 0.0043813252 + 282600 0.0034957316 0.0016501699 0.0033707253 + 282700 0.0060028527 0.0017251985 0.0046797275 + 282800 0.0039298828 0.002120235 0.0040544742 + 282900 0.0049245674 0.0017605337 0.0041843443 + 283000 0.0046692256 0.0017664566 0.004064591 + 283100 0.0049247796 0.0022662518 0.0046901668 + 283200 0.0041298311 0.0024572062 0.0044898574 + 283300 0.00423418 0.0026301757 0.0047141862 + 283400 0.007013865 0.0026617284 0.0061138651 + 283500 0.0060485954 0.0023906432 0.0053676863 + 283600 0.0037632769 0.0024142001 0.0042664379 + 283700 0.0052141751 0.0023992979 0.0049656497 + 283800 0.0059176696 0.0024285988 0.0053412018 + 283900 0.0045432449 0.0023469424 0.0045830707 + 284000 0.0040102227 0.0024865387 0.0044603201 + 284100 0.0050210057 0.0025776225 0.0050488987 + 284200 0.0051004709 0.0029262901 0.0054366781 + 284300 0.0041803468 0.0033523499 0.0054098643 + 284400 0.0039511064 0.0026454073 0.0045900925 + 284500 0.005694329 0.001843288 0.0046459656 + 284600 0.0044778905 0.0018996267 0.0041035884 + 284700 0.0033607699 0.0021404735 0.0037946024 + 284800 0.0059371858 0.0019663475 0.0048885561 + 284900 0.005918851 0.0023801318 0.0052933163 + 285000 0.0050347941 0.0029107116 0.0053887743 + 285100 0.0050308917 0.0024212154 0.0048973574 + 285200 0.0046027942 0.0019142655 0.0041797033 + 285300 0.0060195365 0.0014248264 0.004387567 + 285400 0.0041798655 0.0019623022 0.0040195798 + 285500 0.0034978688 0.0019961643 0.0037177716 + 285600 0.0051718708 0.0016050934 0.0041506236 + 285700 0.006089721 0.0017956193 0.0047929039 + 285800 0.0055378442 0.0022742263 0.004999884 + 285900 0.0048483391 0.0023623824 0.0047486743 + 286000 0.0044359438 0.0024537118 0.0046370279 + 286100 0.0063184613 0.0020527595 0.0051626272 + 286200 0.005099011 0.0024050305 0.0049146999 + 286300 0.0051872157 0.0023959675 0.0049490502 + 286400 0.0050673214 0.0021706608 0.004664733 + 286500 0.004882268 0.0021289455 0.0045319368 + 286600 0.0049717609 0.0028283493 0.0052753878 + 286700 0.0036712961 0.0032208088 0.0050277748 + 286800 0.0060405443 0.00314277 0.0061158504 + 286900 0.0054182231 0.0030135494 0.0056803311 + 287000 0.0056516991 0.0026875092 0.0054692048 + 287100 0.0055781843 0.002612159 0.0053576715 + 287200 0.0055546327 0.0026079702 0.005341891 + 287300 0.0054151058 0.0026422114 0.0053074588 + 287400 0.0074576368 0.0023957024 0.0060662581 + 287500 0.0046591262 0.0022842036 0.0045773673 + 287600 0.0067459635 0.0021751278 0.0054954067 + 287700 0.0053785796 0.0025214308 0.0051687004 + 287800 0.0049057385 0.0028654939 0.0052800371 + 287900 0.004176115 0.0028334979 0.0048889295 + 288000 0.0055604985 0.0023412274 0.0050780352 + 288100 0.0037387113 0.0024017251 0.0042418721 + 288200 0.0056404075 0.0023093976 0.0050855357 + 288300 0.0045501538 0.0020671971 0.004306726 + 288400 0.0047281467 0.0019254614 0.004252596 + 288500 0.0052420169 0.0021301947 0.0047102499 + 288600 0.0049071112 0.0023332411 0.0047484599 + 288700 0.0055136404 0.0025692856 0.0052830305 + 288800 0.0041875311 0.002384965 0.0044460154 + 288900 0.0061062174 0.001874287 0.0048796908 + 289000 0.0048718227 0.0018319235 0.0042297737 + 289100 0.0041579011 0.0019319722 0.0039784391 + 289200 0.0053413023 0.0020533006 0.0046822228 + 289300 0.0048838928 0.0020780143 0.0044818053 + 289400 0.0048268538 0.0022827934 0.0046585105 + 289500 0.0052724478 0.0022592847 0.0048543176 + 289600 0.0037200203 0.0024930436 0.0043239912 + 289700 0.0036290274 0.0024109537 0.0041971156 + 289800 0.0033535047 0.0024153024 0.0040658556 + 289900 0.004899033 0.0022573918 0.0046686346 + 290000 0.0050403565 0.0019054861 0.0043862866 + 290100 0.0038143609 0.0021757956 0.0040531764 + 290200 0.0037962203 0.0017233103 0.0035917625 + 290300 0.0043023115 0.001874653 0.0039921969 + 290400 0.006700288 0.0016338544 0.0049316524 + 290500 0.0043624367 0.0019991164 0.0041462532 + 290600 0.0055329172 0.0020720495 0.0047952822 + 290700 0.0046564624 0.0020690296 0.0043608822 + 290800 0.0071000303 0.0020831749 0.005577721 + 290900 0.0041899293 0.002486584 0.0045488148 + 291000 0.0040808743 0.0027040414 0.0047125967 + 291100 0.0057499709 0.0026887317 0.0055187955 + 291200 0.0060481328 0.0028577565 0.0058345719 + 291300 0.0060448485 0.0028322277 0.0058074266 + 291400 0.0047044048 0.0023821025 0.0046975517 + 291500 0.0053481483 0.0020621014 0.0046943931 + 291600 0.0048968518 0.0019609843 0.0043711536 + 291700 0.0041199184 0.0020423124 0.0040700848 + 291800 0.0054915867 0.002335112 0.0050380023 + 291900 0.0055954496 0.0026243121 0.0053783224 + 292000 0.0056636134 0.0027465639 0.0055341236 + 292100 0.0041633477 0.0022289742 0.0042781219 + 292200 0.0059142867 0.0020208495 0.0049317875 + 292300 0.00513185 0.002127913 0.0046537454 + 292400 0.006132201 0.0017922222 0.0048104148 + 292500 0.0044070763 0.0020501831 0.004219291 + 292600 0.0057914118 0.0020830025 0.004933463 + 292700 0.0059532825 0.0020534976 0.0049836289 + 292800 0.0043464484 0.0022990952 0.0044383627 + 292900 0.0057856368 0.0022567445 0.0051043626 + 293000 0.0055726623 0.0020769191 0.0048197139 + 293100 0.0071085723 0.0022425997 0.0057413501 + 293200 0.0060260514 0.0031284991 0.0060944463 + 293300 0.0058306015 0.0033541554 0.0062239045 + 293400 0.0066032341 0.002950522 0.0062005513 + 293500 0.0055403059 0.0030218491 0.0057487185 + 293600 0.0039118003 0.0029699761 0.0048953153 + 293700 0.0064445288 0.0026244721 0.0057963886 + 293800 0.0072227602 0.0026925692 0.0062475215 + 293900 0.0056668148 0.0028094831 0.0055986186 + 294000 0.0044665037 0.0025095641 0.0047079213 + 294100 0.0043348479 0.0022007731 0.0043343311 + 294200 0.0052094433 0.0020390474 0.0046030702 + 294300 0.0060089519 0.0021158672 0.0050733982 + 294400 0.0049545533 0.002111353 0.0045499222 + 294500 0.0045082194 0.0023376689 0.0045565581 + 294600 0.0053350556 0.0022611612 0.0048870089 + 294700 0.0057154941 0.0020239705 0.0048370652 + 294800 0.0056675927 0.0021965197 0.004986038 + 294900 0.0049711373 0.002200315 0.0046470466 + 295000 0.0048296089 0.0022296148 0.0046066879 + 295100 0.0054522483 0.0024273575 0.0051108859 + 295200 0.0059775676 0.002159578 0.0051016621 + 295300 0.0037086401 0.0021293417 0.003954688 + 295400 0.0042428414 0.0019853384 0.004073612 + 295500 0.0044552027 0.00226977 0.0044625651 + 295600 0.0047171324 0.0025499174 0.004871631 + 295700 0.006141779 0.0022932063 0.0053161131 + 295800 0.0063097454 0.0019563074 0.0050618852 + 295900 0.0039351491 0.0023714684 0.0043082996 + 296000 0.0044891937 0.0024176892 0.0046272142 + 296100 0.0046578385 0.0025202436 0.0048127735 + 296200 0.0071997951 0.0027672246 0.0063108738 + 296300 0.0050790967 0.0028790672 0.0053789351 + 296400 0.0043131336 0.0022457621 0.0043686325 + 296500 0.0064163036 0.0022129579 0.0053709823 + 296600 0.0058362679 0.0021762536 0.0050487917 + 296700 0.0061486219 0.0023235059 0.0053497807 + 296800 0.0056663741 0.0026256777 0.0054145962 + 296900 0.0052070286 0.0023150718 0.0048779061 + 297000 0.0064119802 0.0022116379 0.0053675343 + 297100 0.0048454019 0.0023376146 0.0047224608 + 297200 0.0051476995 0.0024472342 0.0049808675 + 297300 0.0042355431 0.0026640543 0.0047487356 + 297400 0.0059068707 0.0027115783 0.0056188662 + 297500 0.0049975085 0.0026797758 0.005139487 + 297600 0.006256412 0.0030559719 0.0061352997 + 297700 0.0043550938 0.0029716451 0.0051151678 + 297800 0.0062387598 0.002836972 0.0059076116 + 297900 0.0061965858 0.0026240692 0.0056739512 + 298000 0.0038181371 0.002708795 0.0045880343 + 298100 0.0049090499 0.0023853755 0.0048015485 + 298200 0.0041383968 0.0021808958 0.004217763 + 298300 0.0037259549 0.0021775113 0.0040113797 + 298400 0.0049120211 0.0021294929 0.0045471283 + 298500 0.0046831496 0.0017965247 0.0041015124 + 298600 0.0047943649 0.0017142088 0.0040739353 + 298700 0.0055976617 0.0019625096 0.0047176087 + 298800 0.0051504533 0.0020504707 0.0045854594 + 298900 0.0057271189 0.0020448872 0.0048637036 + 299000 0.0047256555 0.0020833165 0.004409225 + 299100 0.0058824059 0.0018254253 0.0047206719 + 299200 0.0037472808 0.0018794951 0.0037238599 + 299300 0.0064574708 0.0019687146 0.005147001 + 299400 0.0050231423 0.0019767519 0.0044490797 + 299500 0.0063358131 0.0020033075 0.0051217155 + 299600 0.0052849648 0.0019924505 0.0045936441 + 299700 0.006421546 0.0020709075 0.0052315122 + 299800 0.0043568251 0.0020909698 0.0042353446 + 299900 0.0038241524 0.0022098234 0.0040920234 + 300000 0.0050877263 0.0023828085 0.0048869238 + 300100 0.0055949947 0.0026037288 0.0053575152 + 300200 0.0051542361 0.0022095345 0.0047463851 + 300300 0.0042019678 0.002476749 0.0045449051 + 300400 0.0039588075 0.0023191484 0.004267624 + 300500 0.0044932282 0.0021236546 0.0043351653 + 300600 0.0043580006 0.002274304 0.0044192575 + 300700 0.0066011597 0.0024061227 0.005655131 + 300800 0.0046364171 0.0024810001 0.0047629866 + 300900 0.0049303392 0.0023185448 0.0047451961 + 301000 0.004542763 0.0019968758 0.0042327669 + 301100 0.005291117 0.0017902761 0.0043944977 + 301200 0.0048559105 0.0018952059 0.0042852243 + 301300 0.0050116406 0.0021512483 0.0046179152 + 301400 0.0051376127 0.0020069282 0.004535597 + 301500 0.0046335404 0.0017361701 0.0040167408 + 301600 0.0047853856 0.0016964198 0.0040517267 + 301700 0.0043274036 0.0020556725 0.0041855664 + 301800 0.0035294959 0.0020547535 0.0037919273 + 301900 0.0068633601 0.0017763236 0.0051543837 + 302000 0.0030253886 0.0021111309 0.0036001893 + 302100 0.0061660107 0.0023596328 0.0053944662 + 302200 0.005387757 0.0026259514 0.0052777381 + 302300 0.0053280542 0.0020563705 0.0046787722 + 302400 0.0045577247 0.0022165395 0.0044597947 + 302500 0.0050421853 0.002539331 0.0050210315 + 302600 0.0041698153 0.0027944637 0.0048467946 + 302700 0.0046289657 0.0024697097 0.0047480288 + 302800 0.0049888272 0.0021658562 0.0046212946 + 302900 0.0043496517 0.0027203352 0.0048611794 + 303000 0.0048416624 0.0028570573 0.005240063 + 303100 0.0042699425 0.0025930338 0.0046946461 + 303200 0.0043969234 0.0020970145 0.0042611252 + 303300 0.0039597557 0.0017369248 0.003685867 + 303400 0.0048979443 0.0017071219 0.0041178289 + 303500 0.0048293406 0.0018950278 0.0042719688 + 303600 0.004307733 0.0019953642 0.0041155765 + 303700 0.004297622 0.0024568836 0.0045721195 + 303800 0.0042620239 0.0025459412 0.0046436561 + 303900 0.0041628853 0.0021400477 0.0041889678 + 304000 0.0051901739 0.0015509767 0.0041055154 + 304100 0.0045696459 0.0016978458 0.0039469684 + 304200 0.0036762216 0.0023674445 0.0041768349 + 304300 0.0045938445 0.0022864155 0.0045474483 + 304400 0.0048347706 0.002441079 0.0048206927 + 304500 0.004841752 0.0024822243 0.0048652741 + 304600 0.0033170164 0.0021655033 0.0037980974 + 304700 0.0043973833 0.0018748501 0.0040391872 + 304800 0.0047630254 0.0017818813 0.0041261829 + 304900 0.0056284957 0.0019196916 0.0046899668 + 305000 0.0053338011 0.0023417643 0.0049669945 + 305100 0.0055688311 0.0023636855 0.0051045946 + 305200 0.0063662198 0.0023452216 0.0054785954 + 305300 0.0059935567 0.0026367847 0.0055867384 + 305400 0.0033035103 0.002950183 0.0045761295 + 305500 0.0041495424 0.0027017899 0.0047441428 + 305600 0.0041828845 0.0026358116 0.0046945751 + 305700 0.0045792404 0.0022386206 0.0044924655 + 305800 0.0045192668 0.0022401023 0.0044644289 + 305900 0.0030179347 0.0025930679 0.0040784576 + 306000 0.0063316304 0.0025821997 0.0056985491 + 306100 0.0043898523 0.0027057962 0.0048664266 + 306200 0.0054384885 0.0024500126 0.0051267687 + 306300 0.0057237205 0.0018711084 0.0046882521 + 306400 0.0045052176 0.0019313204 0.0041487322 + 306500 0.0066178757 0.0023495259 0.0056067616 + 306600 0.0042655899 0.0024501066 0.0045495767 + 306700 0.0049793155 0.0020314932 0.0044822501 + 306800 0.0051383572 0.001448726 0.0039777612 + 306900 0.0034008114 0.0016509757 0.0033248126 + 307000 0.0044492934 0.0018402755 0.0040301621 + 307100 0.0040087196 0.0020185933 0.003991635 + 307200 0.0061402075 0.0018685076 0.004890641 + 307300 0.0046424429 0.0023319151 0.0046168674 + 307400 0.0044901318 0.0026460383 0.004856025 + 307500 0.0064256922 0.0024289335 0.0055915788 + 307600 0.006363528 0.0020303869 0.0051624358 + 307700 0.00551043 0.0018244231 0.0045365879 + 307800 0.0063290613 0.0023455805 0.0054606653 + 307900 0.0048031405 0.002790325 0.0051543707 + 308000 0.0043540539 0.0024212857 0.0045642966 + 308100 0.0044062169 0.0024033531 0.004572038 + 308200 0.0033854346 0.0026575497 0.0043238183 + 308300 0.0052398583 0.0025601051 0.0051390978 + 308400 0.0050621145 0.0026309937 0.0051225032 + 308500 0.004897464 0.0025213038 0.0049317743 + 308600 0.0054254659 0.002289802 0.0049601486 + 308700 0.0041624852 0.0023842388 0.004432962 + 308800 0.0038172406 0.0021722387 0.0040510368 + 308900 0.0043219295 0.0024504291 0.0045776287 + 309000 0.0037379847 0.0024222513 0.0042620407 + 309100 0.0056667484 0.0022771559 0.0050662586 + 309200 0.0049347804 0.0027918244 0.0052206616 + 309300 0.0047666107 0.0030118165 0.0053578828 + 309400 0.0054099852 0.0027303473 0.0053930744 + 309500 0.0044969047 0.0024562014 0.0046695217 + 309600 0.0054114589 0.002285602 0.0049490544 + 309700 0.0052115065 0.0024276711 0.0049927095 + 309800 0.003920764 0.0028000802 0.0047298312 + 309900 0.004430456 0.0025729224 0.0047535374 + 310000 0.0034037257 0.0021421198 0.003817391 + 310100 0.0037533032 0.0019081211 0.00375545 + 310200 0.0041147163 0.0021447348 0.0041699467 + 310300 0.0061358661 0.0020328314 0.005052828 + 310400 0.0073396599 0.001929583 0.0055420718 + 310500 0.0039534213 0.0023896367 0.0043354613 + 310600 0.0049657573 0.0025892376 0.0050333213 + 310700 0.0060803932 0.0024350177 0.0054277113 + 310800 0.0043081063 0.002663761 0.0047841571 + 310900 0.0063134605 0.0027828432 0.0058902495 + 311000 0.0043610297 0.0024267644 0.0045732087 + 311100 0.0066050831 0.0022425933 0.0054935326 + 311200 0.0066021127 0.0022356768 0.0054851542 + 311300 0.0047084248 0.0027619117 0.0050793395 + 311400 0.0046389742 0.0025079931 0.0047912382 + 311500 0.0031622451 0.0026945803 0.0042509978 + 311600 0.0054517843 0.0025155622 0.0051988623 + 311700 0.0053881383 0.0031895376 0.0058415119 + 311800 0.0060914508 0.0031564835 0.0061546195 + 311900 0.0062037131 0.0029239271 0.0059773171 + 312000 0.0057086156 0.0024698676 0.0052795768 + 312100 0.0048083843 0.0020722213 0.0044388479 + 312200 0.0051205344 0.0017145159 0.004234779 + 312300 0.0055713671 0.0020349418 0.0047770991 + 312400 0.0052638972 0.0024027484 0.0049935728 + 312500 0.0044872956 0.0023881514 0.0045967422 + 312600 0.0059714122 0.0021044295 0.0050434839 + 312700 0.0038477186 0.0024468248 0.0043406238 + 312800 0.0043416283 0.0027561858 0.004893081 + 312900 0.0040034086 0.0027926296 0.0047630573 + 313000 0.0041661203 0.0031291416 0.0051796539 + 313100 0.0055707833 0.0033573682 0.0060992381 + 313200 0.006533098 0.0027863831 0.0060018923 + 313300 0.0055834545 0.0020262082 0.0047743147 + 313400 0.0051034824 0.0019891572 0.0045010275 + 313500 0.0046922155 0.0019522172 0.0042616671 + 313600 0.0056864953 0.0021224279 0.0049212498 + 313700 0.0045755883 0.0019022253 0.0041542727 + 313800 0.0042415467 0.0017742298 0.0038618661 + 313900 0.0044090877 0.0018380443 0.0040081422 + 314000 0.004186704 0.0017837892 0.0038444326 + 314100 0.0076619885 0.0018297918 0.0056009268 + 314200 0.0065673577 0.0020146498 0.0052470212 + 314300 0.0061985942 0.002093505 0.0051443756 + 314400 0.0048993868 0.0018755836 0.0042870005 + 314500 0.0046955992 0.0016820375 0.0039931528 + 314600 0.0051369595 0.0016648187 0.004193166 + 314700 0.0060995719 0.0019535303 0.0049556634 + 314800 0.0048729345 0.0021285484 0.0045269459 + 314900 0.0044415989 0.0024654572 0.0046515566 + 315000 0.0047359747 0.0023122933 0.0046432808 + 315100 0.0050321094 0.0022380399 0.0047147812 + 315200 0.0038596322 0.0024031252 0.0043027879 + 315300 0.0082266899 0.0020531972 0.0061022712 + 315400 0.003180981 0.0026759524 0.0042415914 + 315500 0.0038791169 0.0027338557 0.0046431086 + 315600 0.0047490612 0.0025893627 0.0049267912 + 315700 0.0037016083 0.0025357777 0.004357663 + 315800 0.0050198048 0.0025375312 0.0050082163 + 315900 0.0048427155 0.0026820179 0.0050655419 + 316000 0.0044430825 0.002273303 0.0044601326 + 316100 0.004869985 0.0020010715 0.0043980173 + 316200 0.0037926404 0.0019222603 0.0037889505 + 316300 0.0037302168 0.0020680218 0.0039039878 + 316400 0.0067144773 0.001754487 0.0050592688 + 316500 0.0048562584 0.0021567765 0.0045469662 + 316600 0.0053173881 0.002486226 0.0051033779 + 316700 0.0050490097 0.0024481281 0.0049331876 + 316800 0.0047838599 0.0021662372 0.0045207932 + 316900 0.0051096434 0.0018025575 0.0043174601 + 317000 0.0046604458 0.0014142955 0.0037081087 + 317100 0.0046468917 0.0017572363 0.0040443783 + 317200 0.0046461758 0.0020307217 0.0043175114 + 317300 0.0042494802 0.0025274524 0.0046189935 + 317400 0.0049161581 0.00274476 0.0051644316 + 317500 0.004510538 0.0028351689 0.0050551994 + 317600 0.0035784648 0.0025288173 0.0042900929 + 317700 0.0050968232 0.0020476819 0.0045562746 + 317800 0.0048856452 0.0022254806 0.0046301341 + 317900 0.0065821567 0.0021698855 0.0054095408 + 318000 0.0045994376 0.0026543575 0.0049181432 + 318100 0.005647355 0.0029254513 0.0057050088 + 318200 0.0056003494 0.0030658225 0.0058222445 + 318300 0.0059744746 0.0030123288 0.0059528905 + 318400 0.0061899743 0.0028016736 0.0058483016 + 318500 0.0055990803 0.0028201688 0.0055759662 + 318600 0.0073876568 0.0021660664 0.0058021787 + 318700 0.0039737748 0.0026751665 0.0046310087 + 318800 0.0044129935 0.0027530534 0.0049250736 + 318900 0.0035481316 0.0032303001 0.0049766462 + 319000 0.0050778747 0.0031017347 0.0056010012 + 319100 0.0058117666 0.0024139919 0.0052744707 + 319200 0.0044064272 0.0028188262 0.0049876146 + 319300 0.0042073449 0.0024653575 0.0045361601 + 319400 0.0043908913 0.0021085314 0.0042696733 + 319500 0.003612737 0.0019352055 0.0037133494 + 319600 0.0035167444 0.0018392523 0.0035701499 + 319700 0.0035214825 0.0020374163 0.003770646 + 319800 0.0046569229 0.0023280946 0.0046201739 + 319900 0.0051299725 0.0025998089 0.0051247172 + 320000 0.0047614553 0.002521971 0.0048654998 + 320100 0.0047756501 0.002555655 0.0049061703 + 320200 0.0044812644 0.0026952903 0.0049009126 + 320300 0.0053129652 0.0028476172 0.0054625923 + 320400 0.0057140187 0.0025845147 0.0053968833 + 320500 0.0055579308 0.0019888275 0.0047243716 + 320600 0.0049282338 0.0023612727 0.0047868878 + 320700 0.0027523272 0.0026141655 0.0039688265 + 320800 0.0035113504 0.0024721848 0.0042004276 + 320900 0.0061723606 0.0024061905 0.0054441493 + 321000 0.0052538765 0.0025222783 0.0051081707 + 321100 0.0048574928 0.0027162489 0.0051070461 + 321200 0.0045901299 0.003070103 0.0053293075 + 321300 0.0062815553 0.003174217 0.00626592 + 321400 0.0068438625 0.003277907 0.0066463706 + 321500 0.0048596778 0.0030341535 0.0054260261 + 321600 0.0062151134 0.0030530562 0.0061120573 + 321700 0.0049686115 0.0035569926 0.006002481 + 321800 0.0057924155 0.0030888062 0.0059397607 + 321900 0.0045203019 0.0026922261 0.0049170622 + 322000 0.0060474503 0.0025908964 0.0055673758 + 322100 0.0049976658 0.0023956836 0.0048554722 + 322200 0.005529207 0.0019387862 0.0046601928 + 322300 0.0045219126 0.0020185655 0.0042441944 + 322400 0.0063986264 0.0022373029 0.0053866268 + 322500 0.0052143021 0.0022473441 0.0048137584 + 322600 0.0048151731 0.0022208701 0.0045908381 + 322700 0.0065976247 0.0023453208 0.0055925892 + 322800 0.0050594333 0.0024095215 0.0048997113 + 322900 0.0050661415 0.0023195699 0.0048130614 + 323000 0.0053727888 0.002369554 0.0050139735 + 323100 0.0065635308 0.0021823146 0.0054128024 + 323200 0.0058578296 0.0025005647 0.0053837152 + 323300 0.0023420641 0.0031890471 0.0043417818 + 323400 0.0059300115 0.0029678731 0.0058865506 + 323500 0.0054656754 0.0026135782 0.0053037153 + 323600 0.0049853207 0.0025802017 0.0050339142 + 323700 0.0039580198 0.0025862689 0.0045343568 + 323800 0.0062340757 0.0025661319 0.005634466 + 323900 0.0063222523 0.0028022616 0.0059139952 + 324000 0.0056103549 0.0028443509 0.0056056974 + 324100 0.0044755463 0.0027213016 0.0049241095 + 324200 0.0052108422 0.0021739587 0.0047386701 + 324300 0.0051489529 0.0023656516 0.0048999018 + 324400 0.0063955083 0.0022451234 0.0053929127 + 324500 0.0059078055 0.0023547615 0.0052625096 + 324600 0.0052741768 0.0026246296 0.0052205135 + 324700 0.0048073511 0.0023617383 0.0047278564 + 324800 0.0044543462 0.0024111153 0.0046034888 + 324900 0.0043568185 0.0024311096 0.0045754812 + 325000 0.0048427607 0.002278368 0.0046619143 + 325100 0.005611944 0.002268386 0.0050305147 + 325200 0.0056066709 0.0025565541 0.0053160875 + 325300 0.0052033355 0.002196078 0.0047570947 + 325400 0.0053136781 0.0018134539 0.0044287799 + 325500 0.0040255952 0.0023465549 0.0043279026 + 325600 0.0056330541 0.0019642634 0.0047367822 + 325700 0.0048215366 0.0016525164 0.0040256164 + 325800 0.0033960699 0.0018311046 0.0035026078 + 325900 0.0056530683 0.0020400663 0.0048224358 + 326000 0.0053621383 0.0023744641 0.0050136415 + 326100 0.0051029142 0.0022124474 0.004724038 + 326200 0.0045246833 0.0021126924 0.004339685 + 326300 0.0055334556 0.0021766027 0.0049001004 + 326400 0.004375118 0.002095216 0.0042485944 + 326500 0.0038348452 0.0020385025 0.0039259654 + 326600 0.0048607022 0.0017399901 0.004132367 + 326700 0.0050259246 0.0017263435 0.0042000407 + 326800 0.0047484659 0.0019122314 0.0042493669 + 326900 0.0044892457 0.0022371185 0.0044466691 + 327000 0.0052455045 0.0023392121 0.0049209838 + 327100 0.0045307383 0.0025215602 0.004751533 + 327200 0.0075367233 0.0025027662 0.0062122472 + 327300 0.0057807234 0.0030597491 0.0059049489 + 327400 0.0052337359 0.0030405807 0.0056165601 + 327500 0.0040433487 0.0026701575 0.0046602432 + 327600 0.0050409182 0.0025710618 0.0050521387 + 327700 0.0051837315 0.0025892793 0.0051406471 + 327800 0.004559664 0.0026371517 0.0048813614 + 327900 0.0041903046 0.0024764479 0.0045388635 + 328000 0.006036767 0.0021991582 0.0051703794 + 328100 0.0058355661 0.0024213867 0.0052935794 + 328200 0.0046557133 0.0022493503 0.0045408342 + 328300 0.0050284577 0.0020667015 0.0045416455 + 328400 0.0064661638 0.0023281587 0.0055107238 + 328500 0.0054592004 0.0026281844 0.0053151347 + 328600 0.0057328037 0.0027028114 0.0055244258 + 328700 0.0052120141 0.0028003225 0.0053656106 + 328800 0.0051565046 0.0028444497 0.0053824168 + 328900 0.0047588075 0.0028244208 0.0051666463 + 329000 0.0054260535 0.0030078858 0.0056785215 + 329100 0.0055192671 0.003015516 0.0057320303 + 329200 0.0053222785 0.0030536673 0.0056732263 + 329300 0.0057604214 0.0024746381 0.0053098455 + 329400 0.0053261764 0.0020666286 0.0046881061 + 329500 0.0029056155 0.0021124803 0.0035425879 + 329600 0.0055527804 0.0020353885 0.0047683976 + 329700 0.0062681711 0.0016034126 0.0046885281 + 329800 0.0051299621 0.0016826418 0.004207545 + 329900 0.0052347673 0.0019604342 0.0045369213 + 330000 0.0031277183 0.0025373046 0.0040767284 + 330100 0.0050956873 0.0022314481 0.0047394817 + 330200 0.0046240859 0.002493943 0.0047698603 + 330300 0.0051878959 0.0023932902 0.0049467077 + 330400 0.0059532315 0.0022028468 0.0051329529 + 330500 0.0048644614 0.0021978874 0.0045921146 + 330600 0.0058899435 0.0016749699 0.0045739265 + 330700 0.0047595022 0.0018933465 0.004235914 + 330800 0.004027909 0.0022445988 0.0042270853 + 330900 0.0047129772 0.0021104314 0.0044300999 + 331000 0.0034661128 0.0019528164 0.0036587937 + 331100 0.0040928543 0.0018828694 0.0038973211 + 331200 0.0048374832 0.0021225164 0.0045034652 + 331300 0.0055376301 0.002092528 0.0048180803 + 331400 0.0068219473 0.002104335 0.0054620122 + 331500 0.0064906914 0.0019441259 0.005138763 + 331600 0.0048569466 0.0019508262 0.0043413547 + 331700 0.0043494705 0.0023500908 0.0044908458 + 331800 0.0058385821 0.002849531 0.0057232081 + 331900 0.004379027 0.0037254644 0.0058807667 + 332000 0.0044210789 0.0034383169 0.0056143167 + 332100 0.0069856144 0.0022357875 0.0056740196 + 332200 0.004117182 0.002127037 0.0041534626 + 332300 0.0049098179 0.0019882428 0.0044047938 + 332400 0.0038269913 0.001898975 0.0037825723 + 332500 0.0045702698 0.00243781 0.0046872397 + 332600 0.0050348909 0.0023721101 0.0048502205 + 332700 0.0053653622 0.0020552574 0.0046960216 + 332800 0.0057681274 0.0023626353 0.0052016355 + 332900 0.0054042007 0.0024708062 0.0051306862 + 333000 0.0029103313 0.0023991226 0.0038315512 + 333100 0.0058431434 0.0018772889 0.004753211 + 333200 0.0052238336 0.0023503356 0.0049214412 + 333300 0.0046082591 0.0022904782 0.0045586057 + 333400 0.0037606014 0.0025509069 0.0044018279 + 333500 0.0057126124 0.0024241106 0.005235787 + 333600 0.00495877 0.0023256984 0.004766343 + 333700 0.0040516365 0.0025522257 0.0045463905 + 333800 0.0046056571 0.0024299347 0.0046967816 + 333900 0.0059936976 0.0025326404 0.0054826634 + 334000 0.0050090317 0.0026975778 0.0051629606 + 334100 0.0048224043 0.0023177325 0.0046912596 + 334200 0.0047465595 0.0022584313 0.0045946285 + 334300 0.0047383602 0.0020960949 0.0044282565 + 334400 0.00447418 0.0022295434 0.0044316788 + 334500 0.0046976152 0.0029920801 0.0053041876 + 334600 0.0095602281 0.0032108559 0.0079162807 + 334700 0.0060529118 0.0031333634 0.0061125309 + 334800 0.0054383168 0.0029627024 0.005639374 + 334900 0.0048297419 0.0030378469 0.0054149854 + 335000 0.0036255048 0.002854178 0.0046386061 + 335100 0.0049068023 0.0027093379 0.0051244046 + 335200 0.0037893703 0.0025810607 0.0044461415 + 335300 0.0048677778 0.0025528082 0.0049486676 + 335400 0.0048052576 0.0026368991 0.0050019869 + 335500 0.0061973496 0.0021259211 0.0051761791 + 335600 0.0044307101 0.0020506005 0.0042313406 + 335700 0.0049117556 0.0022228446 0.0046403493 + 335800 0.0054868214 0.0026098623 0.0053104072 + 335900 0.0039821512 0.0029354361 0.0048954012 + 336000 0.0043027398 0.003056659 0.0051744138 + 336100 0.0045869046 0.0029231263 0.0051807434 + 336200 0.0053314878 0.0026295653 0.005253657 + 336300 0.0042049316 0.0027406651 0.0048102799 + 336400 0.0046563857 0.0030293837 0.0053211985 + 336500 0.0047106991 0.0026620879 0.0049806351 + 336600 0.0057534888 0.0022922521 0.0051240474 + 336700 0.0051778049 0.0023354013 0.0048838522 + 336800 0.0055912129 0.0021341757 0.0048861008 + 336900 0.0047996664 0.0021274597 0.0044897955 + 337000 0.0044709326 0.0021509322 0.0043514694 + 337100 0.0043332075 0.0022204293 0.0043531799 + 337200 0.0035257608 0.002159089 0.0038944244 + 337300 0.0033144572 0.002168649 0.0037999834 + 337400 0.0047072305 0.0021443762 0.0044612162 + 337500 0.0067050056 0.0022543778 0.0055544978 + 337600 0.0047521822 0.0026662701 0.0050052348 + 337700 0.0034348624 0.0031406063 0.0048312026 + 337800 0.0054790001 0.0028961126 0.005592808 + 337900 0.0056778259 0.0029107969 0.0057053518 + 338000 0.0039245661 0.0027504317 0.004682054 + 338100 0.0046351085 0.0025734044 0.0048547468 + 338200 0.0054107495 0.002748859 0.0054119623 + 338300 0.0053390189 0.0029753608 0.0056031592 + 338400 0.00509162 0.0029896246 0.0054956564 + 338500 0.004864577 0.0023970071 0.0047912911 + 338600 0.0062691242 0.0019280978 0.0050136824 + 338700 0.004488453 0.0022345275 0.004443688 + 338800 0.0040229278 0.0027390889 0.0047191237 + 338900 0.0041779137 0.0027617773 0.0048180942 + 339000 0.0038402221 0.0022736811 0.0041637904 + 339100 0.0059319623 0.0020012805 0.0049209182 + 339200 0.0047081709 0.0024369507 0.0047542536 + 339300 0.004831549 0.0021615809 0.004539609 + 339400 0.0046498863 0.0024432647 0.0047318806 + 339500 0.0054773139 0.0024905582 0.0051864236 + 339600 0.0048419023 0.0025736213 0.0049567451 + 339700 0.0050719427 0.0023708671 0.0048672138 + 339800 0.0039626242 0.0026022442 0.0045525983 + 339900 0.0053190177 0.002840043 0.005457997 + 340000 0.0048975347 0.0029617319 0.0053722372 + 340100 0.0047643786 0.0029535907 0.0052985583 + 340200 0.0047083991 0.0025721134 0.0048895286 + 340300 0.0044987947 0.0024667346 0.0046809852 + 340400 0.0056653718 0.0024981086 0.0052865338 + 340500 0.0048766463 0.002449461 0.0048496853 + 340600 0.0049467875 0.002619603 0.00505435 + 340700 0.0044054964 0.0025233414 0.0046916716 + 340800 0.0056488889 0.0018868629 0.0046671754 + 340900 0.005264977 0.001848425 0.0044397808 + 341000 0.0047877173 0.0021560494 0.004512504 + 341100 0.0048495838 0.0027207665 0.005107671 + 341200 0.0056968798 0.0026844369 0.0054883699 + 341300 0.0045795437 0.0021707802 0.0044247744 + 341400 0.0045206116 0.0016889281 0.0039139167 + 341500 0.0055280808 0.0016024692 0.0043233215 + 341600 0.0044345839 0.0021855378 0.0043681846 + 341700 0.003608507 0.0026911594 0.0044672215 + 341800 0.004151767 0.0022562679 0.0042997157 + 341900 0.0047769889 0.001942429 0.0042936032 + 342000 0.0041524731 0.0021296657 0.004173461 + 342100 0.0028647543 0.0021059027 0.0035158989 + 342200 0.0052484293 0.0019954016 0.0045786129 + 342300 0.005968695 0.0021804442 0.0051181613 + 342400 0.0042671517 0.0022677725 0.0043680112 + 342500 0.0040885731 0.0017680067 0.0037803513 + 342600 0.0051378997 0.0014495201 0.0039783301 + 342700 0.0051843409 0.0015544321 0.0041060999 + 342800 0.0072454759 0.0019399491 0.0055060818 + 342900 0.0057104558 0.0021426528 0.0049532678 + 343000 0.0049272705 0.0027331706 0.0051583115 + 343100 0.0051642727 0.0029613203 0.0055031108 + 343200 0.0048997081 0.0027328761 0.0051444512 + 343300 0.0049256364 0.0023573651 0.0047817017 + 343400 0.0059173084 0.0023719069 0.0052843321 + 343500 0.0052049325 0.0022036854 0.0047654882 + 343600 0.0038260344 0.0023350414 0.0042181677 + 343700 0.0048167846 0.001950103 0.0043208642 + 343800 0.0049062574 0.0019470735 0.0043618721 + 343900 0.0058081465 0.0019419511 0.0048006482 + 344000 0.0044867913 0.0023470635 0.004555406 + 344100 0.0052542353 0.0023904809 0.0049765498 + 344200 0.0052471153 0.002341275 0.0049238395 + 344300 0.0049815192 0.0024256501 0.0048774916 + 344400 0.0068000025 0.0027064165 0.0060532927 + 344500 0.005022624 0.0030125909 0.0054846637 + 344600 0.0041423393 0.0025111974 0.0045500051 + 344700 0.0059137787 0.0021741884 0.0050848764 + 344800 0.0050459356 0.0019761752 0.0044597217 + 344900 0.0049236625 0.0022010453 0.0046244104 + 345000 0.0056778909 0.0020909775 0.0048855644 + 345100 0.0035307952 0.0017911028 0.003528916 + 345200 0.0035490531 0.0015365913 0.0032833909 + 345300 0.0031444625 0.0018936676 0.0034413327 + 345400 0.0034264023 0.0020222863 0.0037087186 + 345500 0.0037035799 0.0018916302 0.003714486 + 345600 0.0053211105 0.0020093516 0.0046283357 + 345700 0.0046483308 0.0018926229 0.0041804732 + 345800 0.0050995306 0.0017747194 0.0042846446 + 345900 0.0051391467 0.0018501831 0.0043796069 + 346000 0.0067484008 0.0017546441 0.0050761226 + 346100 0.0054252797 0.0024375968 0.0051078516 + 346200 0.0065942687 0.0029091755 0.0061547921 + 346300 0.0048100146 0.0025522466 0.0049196757 + 346400 0.0076446683 0.0021572703 0.0059198805 + 346500 0.0049077262 0.002161338 0.0045768595 + 346600 0.005448304 0.0021385044 0.0048200915 + 346700 0.004623322 0.0024720809 0.0047476222 + 346800 0.0043105114 0.0024128643 0.0045344441 + 346900 0.0043853963 0.0021908367 0.0043492739 + 347000 0.0050320419 0.0019562119 0.0044329201 + 347100 0.0059712453 0.0022186209 0.0051575932 + 347200 0.0044387626 0.0020556764 0.0042403799 + 347300 0.0060734002 0.0017531989 0.0047424506 + 347400 0.0051663533 0.0017929854 0.0043357999 + 347500 0.005894556 0.0018061399 0.0047073667 + 347600 0.0050329228 0.0016944753 0.004171617 + 347700 0.0054376242 0.0018751541 0.0045514848 + 347800 0.0039536921 0.002461334 0.0044072918 + 347900 0.0048609338 0.0024695234 0.0048620143 + 348000 0.0040711025 0.0026495435 0.0046532893 + 348100 0.0060186902 0.0024433118 0.0054056359 + 348200 0.0048265383 0.0022791081 0.0046546699 + 348300 0.0049066698 0.0019600822 0.0043750838 + 348400 0.0062615707 0.0021468968 0.0052287636 + 348500 0.0045795801 0.0028951452 0.0051491573 + 348600 0.0070489264 0.0028821057 0.0063514991 + 348700 0.0064167452 0.0028128891 0.0059711309 + 348800 0.0048404525 0.0036066777 0.005989088 + 348900 0.0042652747 0.0029956784 0.0050949933 + 349000 0.005152289 0.0021492665 0.0046851587 + 349100 0.0057726924 0.0021469576 0.0049882047 + 349200 0.0054107211 0.0026438918 0.0053069811 + 349300 0.005509818 0.0030374773 0.0057493408 + 349400 0.0049953139 0.003316595 0.0057752261 + 349500 0.0044357097 0.0030711644 0.0052543653 + 349600 0.0040615328 0.0022614423 0.004260478 + 349700 0.0061174351 0.0022995857 0.0053105107 + 349800 0.0051431454 0.0023036269 0.0048350188 + 349900 0.0039849913 0.0022545186 0.0042158815 + 350000 0.0069908919 0.0018332833 0.0052741129 + 350100 0.0061633262 0.0020781743 0.0051116864 + 350200 0.0048655639 0.0025683568 0.0049631266 + 350300 0.0051047733 0.0027938643 0.0053063699 + 350400 0.0048522167 0.0032151405 0.0056033409 + 350500 0.0047346071 0.0029305422 0.0052608567 + 350600 0.0072529494 0.0026251373 0.0061949483 + 350700 0.0060320232 0.0030161162 0.0059850026 + 350800 0.0064383866 0.0025701901 0.0057390835 + 350900 0.0055084542 0.0024246424 0.0051358347 + 351000 0.0040852459 0.0024112771 0.004421984 + 351100 0.0057153177 0.0021696598 0.0049826678 + 351200 0.0056691159 0.0024704788 0.0052607468 + 351300 0.004932526 0.0027125187 0.0051402463 + 351400 0.0065659099 0.0029859348 0.0062175936 + 351500 0.0049921463 0.0029548393 0.0054119113 + 351600 0.0058040193 0.0027070124 0.0055636782 + 351700 0.0059135131 0.0025527873 0.0054633445 + 351800 0.0037511056 0.002248325 0.0040945723 + 351900 0.0043618542 0.0018848968 0.0040317469 + 352000 0.0062789706 0.0019466299 0.0050370608 + 352100 0.0043694042 0.0027682395 0.0049188056 + 352200 0.0048511168 0.0030408162 0.0054284753 + 352300 0.0075216408 0.002495528 0.0061975856 + 352400 0.0049722096 0.0022966542 0.0047439137 + 352500 0.0056997896 0.0024724636 0.0052778287 + 352600 0.0041041173 0.0027577143 0.0047777095 + 352700 0.0049629672 0.0025352942 0.0049780046 + 352800 0.0050731903 0.0023089576 0.0048059185 + 352900 0.0046683112 0.0024820004 0.0047796848 + 353000 0.0047817848 0.0023511224 0.0047046572 + 353100 0.0062691888 0.0023922718 0.0054778882 + 353200 0.0042591318 0.0025672153 0.0046635068 + 353300 0.0049174096 0.0022859234 0.0047062109 + 353400 0.0064927484 0.0020531898 0.0052488394 + 353500 0.0051046722 0.0025204903 0.0050329461 + 353600 0.004026848 0.0031766428 0.005158607 + 353700 0.004556338 0.0033724672 0.0056150398 + 353800 0.0041610099 0.0026598791 0.0047078762 + 353900 0.0063368989 0.0019715779 0.0050905204 + 354000 0.0039447345 0.0025368843 0.0044784333 + 354100 0.0063793831 0.002335157 0.0054750096 + 354200 0.0046321709 0.0029898342 0.0052697308 + 354300 0.0040257457 0.002677269 0.0046586907 + 354400 0.0047729898 0.0020506704 0.0043998764 + 354500 0.0049241785 0.0018554385 0.0042790577 + 354600 0.0063233638 0.0017479398 0.0048602205 + 354700 0.0070308894 0.0017115622 0.0051720781 + 354800 0.0058603507 0.0020935265 0.0049779178 + 354900 0.0056541045 0.0026087668 0.0053916464 + 355000 0.0047183346 0.0030901189 0.0054124242 + 355100 0.0048192671 0.0030072783 0.0053792613 + 355200 0.0061848635 0.0025923697 0.0056364822 + 355300 0.0055835174 0.0023952385 0.0051433759 + 355400 0.0053214684 0.0022308495 0.0048500097 + 355500 0.0047528433 0.0024809614 0.0048202515 + 355600 0.0051611981 0.0022106924 0.0047509695 + 355700 0.0048213743 0.0026599844 0.0050330046 + 355800 0.0046925812 0.0031037627 0.0054133925 + 355900 0.0057470818 0.0030012694 0.0058299113 + 356000 0.005395717 0.0023742003 0.0050299048 + 356100 0.0053219035 0.0022962488 0.0049156232 + 356200 0.0061335231 0.0029818147 0.0060006581 + 356300 0.005078304 0.0033505044 0.0058499821 + 356400 0.0040332776 0.0026873388 0.0046724676 + 356500 0.0068302654 0.0021781972 0.0055399684 + 356600 0.0054316014 0.0021980462 0.0048714125 + 356700 0.0053657241 0.0025026558 0.0051435981 + 356800 0.0044306781 0.0030242858 0.0052050102 + 356900 0.0043437294 0.0035037082 0.0056416375 + 357000 0.0068950202 0.0029445345 0.0063381772 + 357100 0.0053775016 0.0017913948 0.0044381339 + 357200 0.0048996075 0.0016507557 0.0040622812 + 357300 0.0041225465 0.0019167914 0.0039458573 + 357400 0.0043866137 0.0020337826 0.004192819 + 357500 0.0046767287 0.002027514 0.0043293414 + 357600 0.0040868936 0.0021636151 0.0041751331 + 357700 0.0041755719 0.0023077562 0.0043629205 + 357800 0.006286349 0.0023709462 0.0054650086 + 357900 0.0059459605 0.0026718997 0.0055984271 + 358000 0.004517473 0.0032530542 0.0054764979 + 358100 0.0042423026 0.003083957 0.0051719653 + 358200 0.0050809038 0.002532991 0.0050337484 + 358300 0.0064961655 0.0027379971 0.0059353285 + 358400 0.0042767625 0.0027251581 0.0048301271 + 358500 0.0050050821 0.0026529481 0.0051163869 + 358600 0.0044933176 0.0030159922 0.005227547 + 358700 0.0045551551 0.0027097253 0.0049517158 + 358800 0.0052515108 0.0024109801 0.0049957081 + 358900 0.0050499794 0.0025756756 0.0050612123 + 359000 0.0040111689 0.0029600554 0.0049343026 + 359100 0.0029529561 0.0029732736 0.0044266817 + 359200 0.0058498228 0.0026677613 0.005546971 + 359300 0.0049405101 0.002785985 0.0052176424 + 359400 0.0057080697 0.0027232937 0.0055327342 + 359500 0.0042785569 0.0026200802 0.0047259324 + 359600 0.0044002583 0.0025859652 0.0047517173 + 359700 0.0053194942 0.0025298613 0.0051480498 + 359800 0.0054705103 0.0025683059 0.0052608227 + 359900 0.0046163064 0.0030372188 0.0053093071 + 360000 0.0050034411 0.0029792511 0.0054418823 + 360100 0.0047689521 0.0023198526 0.0046670712 + 360200 0.0062372734 0.0021607872 0.0052306952 + 360300 0.0059941845 0.0023085939 0.0052588565 + 360400 0.0055385683 0.0024335506 0.0051595647 + 360500 0.0047284982 0.0022144045 0.0045417122 + 360600 0.003786827 0.0020981483 0.0039619772 + 360700 0.0046426695 0.0023411493 0.0046262132 + 360800 0.0045262753 0.0023056363 0.0045334124 + 360900 0.0034172623 0.0023504914 0.0040324252 + 361000 0.0048579274 0.0024664559 0.004857467 + 361100 0.0049084596 0.002539045 0.0049549275 + 361200 0.003713698 0.0021145654 0.0039424012 + 361300 0.0050512959 0.0016573789 0.0041435636 + 361400 0.0038989616 0.0018880801 0.0038071003 + 361500 0.0055821784 0.0022020043 0.0049494827 + 361600 0.0041739129 0.002168579 0.0042229267 + 361700 0.0052884325 0.0022294721 0.0048323724 + 361800 0.0061369648 0.0026249477 0.005645485 + 361900 0.0037541672 0.0029447576 0.0047925118 + 362000 0.0048419108 0.0024012723 0.0047844003 + 362100 0.0046341022 0.0019604415 0.0042412887 + 362200 0.0047688902 0.0018643424 0.0042115305 + 362300 0.0036795228 0.0020104442 0.0038214593 + 362400 0.0040713944 0.0020303363 0.0040342257 + 362500 0.005405807 0.0023052905 0.0049659611 + 362600 0.0043052846 0.0026918773 0.0048108846 + 362700 0.0046192618 0.0025232953 0.0047968382 + 362800 0.0045531562 0.0022262412 0.0044672477 + 362900 0.0034816772 0.002279432 0.00399307 + 363000 0.0049848818 0.0024757112 0.0049292077 + 363100 0.0043716107 0.002188285 0.0043399371 + 363200 0.0064179081 0.0020451299 0.005203944 + 363300 0.0050416684 0.0023692514 0.0048506976 + 363400 0.0049780074 0.0024944749 0.004944588 + 363500 0.00424983 0.0028522618 0.004943975 + 363600 0.0064716739 0.0026348189 0.0058200959 + 363700 0.0049693429 0.0026059792 0.0050518276 + 363800 0.0040423797 0.0024742489 0.0044638577 + 363900 0.0052580146 0.0026835449 0.005271474 + 364000 0.0056973946 0.0028848043 0.0056889907 + 364100 0.0037984698 0.003085584 0.0049551433 + 364200 0.005096273 0.0026492794 0.0051576012 + 364300 0.0060072398 0.00256539 0.0055220784 + 364400 0.0051307279 0.0023526301 0.0048779103 + 364500 0.0054812084 0.0020512567 0.004749039 + 364600 0.0049248976 0.00165727 0.004081243 + 364700 0.0049631557 0.0018647915 0.0043075947 + 364800 0.0053233911 0.0022860253 0.0049061318 + 364900 0.0058731546 0.0025217211 0.0054124144 + 365000 0.0045610887 0.0024411733 0.0046860842 + 365100 0.0062012433 0.0023529687 0.0054051432 + 365200 0.0041430554 0.0030070804 0.0050462405 + 365300 0.004788213 0.0032252345 0.0055819331 + 365400 0.0052657782 0.0025832083 0.0051749585 + 365500 0.0063713464 0.0018436385 0.0049795356 + 365600 0.005342266 0.0020357949 0.0046651915 + 365700 0.004395547 0.0022757717 0.004439205 + 365800 0.00483366 0.0021504031 0.0045294701 + 365900 0.0052796219 0.002181384 0.0047799479 + 366000 0.0043482774 0.0017891216 0.0039292894 + 366100 0.0037959251 0.0016414144 0.0035097213 + 366200 0.0059586947 0.0016134145 0.0045462095 + 366300 0.0059386161 0.0018898606 0.0048127732 + 366400 0.0039131805 0.0021023088 0.0040283273 + 366500 0.003612664 0.0021205778 0.0038986859 + 366600 0.0056503693 0.0016959638 0.0044770049 + 366700 0.0060626751 0.0015514468 0.0045354197 + 366800 0.0049782728 0.0018181567 0.0042684004 + 366900 0.0046741276 0.0019097625 0.0042103097 + 367000 0.0041694629 0.0023680279 0.0044201854 + 367100 0.0046519103 0.0024953422 0.0047849543 + 367200 0.0045275358 0.002002682 0.0042310785 + 367300 0.0051246525 0.0021610142 0.0046833041 + 367400 0.0051788309 0.0021777395 0.0047266953 + 367500 0.0031733459 0.0023220385 0.0038839197 + 367600 0.003793482 0.0018498923 0.0037169967 + 367700 0.005722406 0.0018944611 0.0047109578 + 367800 0.0056969743 0.0019467003 0.0047506798 + 367900 0.00385982 0.0023457219 0.0042454771 + 368000 0.0043705918 0.0021265458 0.0042776965 + 368100 0.0061933464 0.0023995195 0.0054478072 + 368200 0.006055763 0.002295916 0.0052764869 + 368300 0.0047973581 0.0023846122 0.0047458119 + 368400 0.0046745006 0.0020328837 0.0043336145 + 368500 0.00547827 0.002231366 0.004927702 + 368600 0.0065459893 0.0023621722 0.0055840263 + 368700 0.0046276038 0.0025148733 0.0047925221 + 368800 0.0053575471 0.0025244477 0.0051613654 + 368900 0.0036641643 0.0027629527 0.0045664086 + 369000 0.0053052482 0.0023021472 0.0049133241 + 369100 0.0063268883 0.0022944389 0.0054084542 + 369200 0.0042983791 0.0025667496 0.004682358 + 369300 0.0048853909 0.002258639 0.0046631673 + 369400 0.0045407902 0.0018615144 0.0040964346 + 369500 0.0042767288 0.0017634153 0.0038683678 + 369600 0.004415793 0.001847204 0.0040206022 + 369700 0.0046471415 0.0021038108 0.0043910758 + 369800 0.003403951 0.0024939667 0.0041693489 + 369900 0.0035943965 0.0024143145 0.0041834315 + 370000 0.0056593536 0.0017899603 0.0045754234 + 370100 0.0054029352 0.0020198976 0.0046791547 + 370200 0.0042739984 0.0023431135 0.0044467221 + 370300 0.0042236376 0.0022614473 0.0043402689 + 370400 0.0038529813 0.0022290108 0.0041254 + 370500 0.005375131 0.0022246548 0.0048702271 + 370600 0.0071890816 0.0019328329 0.005471209 + 370700 0.0053284805 0.0020994082 0.0047220196 + 370800 0.0044253937 0.0021007026 0.004278826 + 370900 0.0063931186 0.0019075862 0.0050541993 + 371000 0.0051428379 0.0023972214 0.004928462 + 371100 0.0038097991 0.0029998612 0.0048749966 + 371200 0.0066779721 0.0025273485 0.0058141628 + 371300 0.0052765816 0.0026117922 0.0052088597 + 371400 0.0060013225 0.0023771463 0.0053309222 + 371500 0.006145138 0.0024052296 0.0054297897 + 371600 0.0037096422 0.0026567069 0.0044825464 + 371700 0.0037673836 0.0028248221 0.0046790812 + 371800 0.0045645792 0.002747291 0.0049939198 + 371900 0.0060856834 0.0020543151 0.0050496124 + 372000 0.006056169 0.0015782732 0.0045590439 + 372100 0.0044235888 0.0018586818 0.0040359169 + 372200 0.0054690979 0.0022335002 0.0049253218 + 372300 0.0050742986 0.0024337642 0.0049312705 + 372400 0.0071590501 0.0021669263 0.0056905213 + 372500 0.0063022327 0.0025302667 0.0056321468 + 372600 0.0055078358 0.0027668452 0.0054777331 + 372700 0.0048025773 0.0028855944 0.005249363 + 372800 0.005733082 0.0027342412 0.0055559926 + 372900 0.00534227 0.0027460207 0.0053754192 + 373000 0.0052076419 0.0026187749 0.0051819111 + 373100 0.005292538 0.0023993129 0.005004234 + 373200 0.0046548855 0.002396207 0.0046872835 + 373300 0.0035528207 0.0022315397 0.0039801936 + 373400 0.0039046778 0.0023413782 0.0042632118 + 373500 0.0057418007 0.0027150432 0.0055410858 + 373600 0.0052888441 0.0032718598 0.0058749627 + 373700 0.0058518709 0.0032376191 0.0061178368 + 373800 0.0051680819 0.002636538 0.0051802033 + 373900 0.0051848486 0.0025070229 0.0050589406 + 374000 0.0046552892 0.0029361147 0.0052273898 + 374100 0.0050345173 0.0027747754 0.0052527018 + 374200 0.0052647328 0.0026101415 0.0052013772 + 374300 0.0052966886 0.0026441055 0.0052510695 + 374400 0.0039764134 0.0031346793 0.0050918203 + 374500 0.0031850321 0.0038823843 0.0054500173 + 374600 0.0056956187 0.0028498786 0.005653191 + 374700 0.0057723284 0.0019901132 0.0048311811 + 374800 0.0069576073 0.0021374902 0.0055619375 + 374900 0.0039970251 0.0027342218 0.0047015076 + 375000 0.0065919988 0.0023997048 0.0056442042 + 375100 0.0057188793 0.0018238022 0.0046385631 + 375200 0.0049397965 0.0020900834 0.0045213895 + 375300 0.0049683629 0.0023687029 0.004814069 + 375400 0.005052738 0.001823478 0.0043103724 + 375500 0.0054574194 0.00188971 0.0045757836 + 375600 0.0041679172 0.0020340689 0.0040854657 + 375700 0.0074353072 0.0012575393 0.0049171046 + 375800 0.0044622677 0.0013084394 0.0035047118 + 375900 0.0048572159 0.0018762059 0.0042668669 + 376000 0.0052324756 0.0023391601 0.0049145192 + 376100 0.0046890883 0.0024492354 0.004757146 + 376200 0.004862978 0.0030966093 0.0054901062 + 376300 0.0068080196 0.0032253189 0.0065761411 + 376400 0.006450252 0.002952498 0.0061272314 + 376500 0.0062103745 0.0025513363 0.005608005 + 376600 0.006344159 0.0024227895 0.0055453053 + 376700 0.0055342216 0.0031489611 0.0058728358 + 376800 0.0055584873 0.0029914923 0.0057273103 + 376900 0.0059747098 0.0023550891 0.0052957665 + 377000 0.0054365361 0.0023326023 0.0050083974 + 377100 0.0027495342 0.0023253271 0.0036786134 + 377200 0.0060556918 0.0023041255 0.0052846613 + 377300 0.0055367677 0.0024538557 0.0051789835 + 377400 0.0051779028 0.0026941121 0.0052426111 + 377500 0.0048391988 0.0027265504 0.0051083435 + 377600 0.0049803823 0.0026552203 0.0051065022 + 377700 0.005930053 0.0023492576 0.0052679556 + 377800 0.0056840384 0.002235104 0.0050327166 + 377900 0.0049996855 0.002335883 0.0047966657 + 378000 0.005516994 0.002067762 0.0047831575 + 378100 0.0038166538 0.002020138 0.0038986473 + 378200 0.0046003431 0.0021004769 0.0043647083 + 378300 0.0041972956 0.0023083778 0.0043742342 + 378400 0.0049043006 0.0018573013 0.0042711367 + 378500 0.0048979268 0.0016000006 0.0040106989 + 378600 0.0055158263 0.0015140783 0.004228899 + 378700 0.0038619479 0.0017666103 0.0036674128 + 378800 0.0047934407 0.0019823689 0.0043416405 + 378900 0.0049506368 0.0025846749 0.0050213164 + 379000 0.0053903965 0.0024122646 0.0050653504 + 379100 0.0060886849 0.0023417189 0.0053384935 + 379200 0.0047873595 0.0021864277 0.0045427062 + 379300 0.0068990176 0.0017517107 0.0051473209 + 379400 0.0043430001 0.0020127606 0.004150331 + 379500 0.0049899859 0.0018277409 0.0042837496 + 379600 0.0041512168 0.0018277687 0.0038709457 + 379700 0.0040754688 0.0022538302 0.004259725 + 379800 0.0060638427 0.0022012626 0.0051858102 + 379900 0.0051988468 0.0023009708 0.0048597782 + 380000 0.0055681737 0.0023778932 0.0051184786 + 380100 0.0046557794 0.0025454752 0.0048369916 + 380200 0.0049802939 0.0027679147 0.0052191531 + 380300 0.0037852455 0.0030491767 0.0049122272 + 380400 0.0077945337 0.0025756766 0.0064120487 + 380500 0.0049592295 0.0024123021 0.0048531729 + 380600 0.0061718652 0.0019993478 0.0050370627 + 380700 0.0035368353 0.0017924416 0.0035332277 + 380800 0.0052533812 0.0018515882 0.0044372368 + 380900 0.0052364678 0.0021585338 0.0047358577 + 381000 0.0039662818 0.0025312432 0.0044833975 + 381100 0.0067445385 0.002523909 0.0058434866 + 381200 0.0061511318 0.0028462153 0.0058737255 + 381300 0.0042957779 0.003316295 0.0054306232 + 381400 0.0049001692 0.0035683594 0.0059801615 + 381500 0.0058691196 0.0030838404 0.0059725477 + 381600 0.0045051994 0.0021561014 0.0043735042 + 381700 0.0060352402 0.0020028053 0.0049732751 + 381800 0.0045084617 0.0021488781 0.0043678866 + 381900 0.0043043465 0.0021952623 0.0043138079 + 382000 0.0066417212 0.0023733459 0.005642318 + 382100 0.0069836347 0.0024034922 0.0058407499 + 382200 0.0039944385 0.0028906393 0.004856652 + 382300 0.0057580253 0.0026077955 0.0054418235 + 382400 0.0056379155 0.0029715217 0.0057464333 + 382500 0.0048762368 0.0035722102 0.005972233 + 382600 0.0054469629 0.0028582553 0.0055391824 + 382700 0.0051893996 0.0026933656 0.0052475232 + 382800 0.0057948841 0.0026275191 0.0054796886 + 382900 0.0056533273 0.0021744861 0.0049569831 + 383000 0.0044056446 0.0019377747 0.0041061779 + 383100 0.0066386671 0.002098154 0.0053656229 + 383200 0.0048462702 0.0021907757 0.0045760493 + 383300 0.0053288024 0.0019686603 0.0045914303 + 383400 0.0039227118 0.0020545081 0.0039852179 + 383500 0.0050734541 0.001989632 0.0044867227 + 383600 0.0049148405 0.0018146037 0.0042336267 + 383700 0.0054757625 0.0020982905 0.0047933924 + 383800 0.0053353354 0.0020343576 0.004660343 + 383900 0.0048133344 0.002086541 0.004455604 + 384000 0.0045156798 0.0023111713 0.0045337324 + 384100 0.0045613745 0.0024907068 0.0047357583 + 384200 0.0054893718 0.0019133513 0.0046151515 + 384300 0.0036917353 0.0016797465 0.0034967724 + 384400 0.0037939917 0.0019735948 0.0038409501 + 384500 0.0041532542 0.0021804138 0.0042245936 + 384600 0.0056181633 0.0023249016 0.0050900914 + 384700 0.0045716912 0.0023753019 0.0046254312 + 384800 0.0053876281 0.0021937988 0.004845522 + 384900 0.0044648108 0.0026965207 0.0048940448 + 385000 0.0041316453 0.0026933247 0.0047268688 + 385100 0.0047986577 0.0022167306 0.0045785699 + 385200 0.0052197139 0.0022225456 0.0047916236 + 385300 0.0038499995 0.0022315064 0.004126428 + 385400 0.0039761398 0.0019954894 0.0039524957 + 385500 0.0048323304 0.0023788166 0.0047572292 + 385600 0.004531424 0.002520907 0.0047512172 + 385700 0.0044185457 0.0024522163 0.0046269692 + 385800 0.0047873732 0.0021385086 0.0044947938 + 385900 0.003992811 0.002403983 0.0043691947 + 386000 0.0049229917 0.0023780241 0.004801059 + 386100 0.0058511462 0.0020115005 0.0048913615 + 386200 0.0051725242 0.0022580301 0.0048038819 + 386300 0.0051914345 0.0026572859 0.005212445 + 386400 0.0046113562 0.0029002823 0.0051699342 + 386500 0.0052070332 0.0030087102 0.0055715468 + 386600 0.0052571887 0.0031555865 0.005743109 + 386700 0.005457725 0.0027924329 0.005478657 + 386800 0.0067010088 0.0026024025 0.0059005553 + 386900 0.0058295922 0.0026913957 0.0055606481 + 387000 0.0049397939 0.0028113342 0.005242639 + 387100 0.0062861125 0.0027430051 0.0058369511 + 387200 0.0049608725 0.0024721569 0.0049138364 + 387300 0.0062293742 0.0020659062 0.0051319263 + 387400 0.0053114888 0.0021171443 0.0047313927 + 387500 0.0038275985 0.0020530897 0.0039369858 + 387600 0.0036263536 0.002025866 0.0038107119 + 387700 0.0047835152 0.0023081219 0.0046625083 + 387800 0.0048386834 0.0024678758 0.0048494154 + 387900 0.0052208798 0.0025032768 0.0050729286 + 388000 0.0067255194 0.0026636149 0.0059738315 + 388100 0.0059270339 0.0028259383 0.0057431502 + 388200 0.006984624 0.0025621982 0.0059999428 + 388300 0.0062295068 0.0024126507 0.0054787361 + 388400 0.005369456 0.0020461084 0.0046888875 + 388500 0.004391811 0.0020704919 0.0042320864 + 388600 0.0050578411 0.001994779 0.0044841852 + 388700 0.005236071 0.0018231985 0.0044003272 + 388800 0.0039818042 0.0019298473 0.0038896415 + 388900 0.005091194 0.0019418185 0.0044476405 + 389000 0.0054292867 0.001929991 0.0046022181 + 389100 0.0051844924 0.0023239737 0.0048757161 + 389200 0.0056774076 0.0024079422 0.0052022913 + 389300 0.0052686181 0.0026644447 0.0052575927 + 389400 0.0040051201 0.0024623992 0.0044336692 + 389500 0.0051515673 0.0024821789 0.0050177159 + 389600 0.0046315573 0.0024712313 0.0047508259 + 389700 0.0041053285 0.0023442407 0.0043648321 + 389800 0.0046652528 0.0021067988 0.0044029779 + 389900 0.0047043555 0.0020847983 0.0044002233 + 390000 0.0034667485 0.0024382367 0.004144527 + 390100 0.0034481618 0.0029083853 0.0046055275 + 390200 0.0041867276 0.0030030029 0.0050636578 + 390300 0.0053964775 0.0028489526 0.0055050313 + 390400 0.0045579754 0.0024568398 0.0047002184 + 390500 0.0066011114 0.002810293 0.0060592775 + 390600 0.0046546272 0.0027998309 0.0050907802 + 390700 0.0047537564 0.0023968629 0.0047366024 + 390800 0.0067948823 0.0020082828 0.0053526389 + 390900 0.0051806921 0.0021623094 0.0047121813 + 391000 0.0050895898 0.0021082264 0.0046132588 + 391100 0.0049289258 0.0021258905 0.0045518462 + 391200 0.0071812032 0.0018807664 0.0054152648 + 391300 0.0059149376 0.0024932569 0.0054045152 + 391400 0.0045640772 0.0030062456 0.0052526274 + 391500 0.006520887 0.0028858552 0.0060953543 + 391600 0.0047947284 0.002587929 0.0049478344 + 391700 0.0049429584 0.0023601446 0.0047930069 + 391800 0.0050083107 0.002024281 0.0044893089 + 391900 0.0045239426 0.0019641815 0.0041908095 + 392000 0.0053171528 0.0028547386 0.0054717747 + 392100 0.0050729984 0.0029750811 0.0054719475 + 392200 0.0050631027 0.0024835182 0.0049755141 + 392300 0.0060639024 0.0021270411 0.0051116181 + 392400 0.0061146076 0.0025841985 0.0055937319 + 392500 0.0056288059 0.0027630512 0.0055334791 + 392600 0.0050173084 0.002395108 0.0048645644 + 392700 0.004526819 0.0020559037 0.0042839474 + 392800 0.0049571748 0.002185177 0.0046250364 + 392900 0.0048045849 0.002119745 0.0044845017 + 393000 0.0044553976 0.0023212574 0.0045141484 + 393100 0.0048915817 0.0024117379 0.0048193133 + 393200 0.0051490936 0.0022862779 0.0048205974 + 393300 0.0034187569 0.0026210675 0.0043037369 + 393400 0.0053394872 0.0027963895 0.0054244184 + 393500 0.0054951027 0.0030730054 0.0057776262 + 393600 0.0055152693 0.0030140984 0.005728645 + 393700 0.0048907857 0.0026476292 0.0050548128 + 393800 0.0060757731 0.0025250727 0.0055154922 + 393900 0.0046899392 0.0024639269 0.0047722563 + 394000 0.0053978817 0.0022933224 0.0049500923 + 394100 0.0059286156 0.0024522707 0.0053702612 + 394200 0.0055836046 0.0024299001 0.0051780804 + 394300 0.0053629028 0.002227172 0.0048667258 + 394400 0.0046229184 0.0025945744 0.004869917 + 394500 0.0043652891 0.0026222774 0.0047708181 + 394600 0.0049710531 0.0024303806 0.0048770708 + 394700 0.0046495203 0.0022545045 0.0045429403 + 394800 0.0057319101 0.0021847231 0.0050058976 + 394900 0.0038486824 0.0022496547 0.0041439281 + 395000 0.0035543523 0.0023107703 0.004060178 + 395100 0.0035072689 0.0023290414 0.0040552753 + 395200 0.005159075 0.0023899765 0.0049292088 + 395300 0.004934709 0.0025214135 0.0049502156 + 395400 0.0059334745 0.0023454762 0.0052658582 + 395500 0.0040269827 0.0021419018 0.0041239323 + 395600 0.0054473985 0.0019628586 0.0046440001 + 395700 0.0040957501 0.0022744861 0.0042903631 + 395800 0.0050866645 0.0025634985 0.0050670912 + 395900 0.0056608017 0.002467681 0.0052538568 + 396000 0.0053457513 0.0027179065 0.0053490185 + 396100 0.0049069471 0.0025247159 0.0049398539 + 396200 0.0028618917 0.0024982393 0.0039068266 + 396300 0.0045918723 0.0019614311 0.0042214933 + 396400 0.0068556682 0.002048881 0.0054231552 + 396500 0.0048426341 0.0023979842 0.0047814682 + 396600 0.0052087237 0.0026543394 0.0052180081 + 396700 0.0046716267 0.0025058928 0.0048052091 + 396800 0.004179225 0.00197566 0.0040326223 + 396900 0.0043824885 0.0021057029 0.004262709 + 397000 0.0040360045 0.0022198619 0.0042063329 + 397100 0.0059691969 0.0023404235 0.0052783875 + 397200 0.0047745463 0.0021960725 0.0045460445 + 397300 0.0047859887 0.0025634242 0.004919028 + 397400 0.0054259672 0.0028094623 0.0054800555 + 397500 0.0061743654 0.0027608225 0.0057997679 + 397600 0.0053008933 0.0024085405 0.005017574 + 397700 0.0052392722 0.0025580334 0.0051367377 + 397800 0.0038018741 0.0026306729 0.0045019078 + 397900 0.0050972313 0.0023244451 0.0048332387 + 398000 0.0045799189 0.0024109718 0.0046651506 + 398100 0.0045780327 0.0021782077 0.0044314582 + 398200 0.0039299541 0.002250469 0.0041847433 + 398300 0.005447714 0.0023094689 0.0049907657 + 398400 0.0042414033 0.0021575463 0.004245112 + 398500 0.0042081854 0.0021373776 0.0042085939 + 398600 0.0054991185 0.0021958706 0.004902468 + 398700 0.004621849 0.0020186236 0.0042934399 + 398800 0.0052478809 0.0018961441 0.0044790855 + 398900 0.0048440865 0.0016968361 0.0040810349 + 399000 0.0036603417 0.0018952072 0.0036967816 + 399100 0.0040727321 0.0019039509 0.0039084988 + 399200 0.0061967387 0.0017337739 0.0047837313 + 399300 0.0046984457 0.0019824214 0.0042949376 + 399400 0.0046591628 0.0022855637 0.0045787454 + 399500 0.0051454199 0.0022776035 0.0048101148 + 399600 0.0038275693 0.0025003794 0.0043842611 + 399700 0.0041650099 0.0025865727 0.0046365385 + 399800 0.0053900069 0.0025327063 0.0051856004 + 399900 0.0048044488 0.0027764048 0.0051410945 + 400000 0.0054098607 0.0023154856 0.0049781514 + 400100 0.0048242615 0.0021193958 0.0044938371 + 400200 0.0050866892 0.0021615093 0.0046651141 + 400300 0.0051926718 0.0021081106 0.0046638787 + 400400 0.0037432938 0.0019309537 0.0037733561 + 400500 0.0056284689 0.0020251236 0.0047953856 + 400600 0.0036383352 0.0023841691 0.0041749123 + 400700 0.0041578848 0.0028010696 0.0048475286 + 400800 0.0058117982 0.0029165254 0.0057770199 + 400900 0.0053128429 0.0025694867 0.0051844016 + 401000 0.0067118825 0.0026167519 0.0059202565 + 401100 0.0056027138 0.0023914329 0.0051490186 + 401200 0.0067572125 0.0018792672 0.0052050827 + 401300 0.0043496772 0.0017516326 0.0038924893 + 401400 0.0045500421 0.0018906724 0.0041301463 + 401500 0.0049806283 0.0022426064 0.0046940094 + 401600 0.0058788163 0.0023131322 0.0052066121 + 401700 0.0060767002 0.0027018963 0.0056927721 + 401800 0.005624551 0.0030514406 0.0058197743 + 401900 0.0049336444 0.0032193984 0.0056476765 + 402000 0.006449055 0.0030194847 0.0061936289 + 402100 0.0061378967 0.0030409564 0.0060619524 + 402200 0.0055307954 0.0026922507 0.005414439 + 402300 0.0066382017 0.0022630871 0.005530327 + 402400 0.004722373 0.002244382 0.004568675 + 402500 0.0060010212 0.0025181611 0.0054717887 + 402600 0.0054691311 0.0025338672 0.0052257052 + 402700 0.0034532633 0.0022546149 0.0039542679 + 402800 0.0057332419 0.0021417565 0.0049635865 + 402900 0.00581705 0.0031117724 0.0059748517 + 403000 0.0060962227 0.0030161352 0.0060166198 + 403100 0.0070314255 0.0029555541 0.0064163338 + 403200 0.0064177672 0.0030648143 0.0062235591 + 403300 0.0057940188 0.0031999764 0.00605172 + 403400 0.0037940823 0.003065665 0.0049330649 + 403500 0.0057830112 0.0028519847 0.0056983105 + 403600 0.0051600278 0.0020336662 0.0045733674 + 403700 0.0049503497 0.0020708911 0.0045073914 + 403800 0.0040673774 0.002418934 0.0044208463 + 403900 0.0056415588 0.0026915509 0.0054682556 + 404000 0.0050843801 0.0031819552 0.0056844235 + 404100 0.0045939883 0.0035233367 0.0057844403 + 404200 0.0051575814 0.0031365336 0.0056750307 + 404300 0.0060218169 0.0025470623 0.0055109253 + 404400 0.0061774621 0.0020781822 0.0051186518 + 404500 0.0042307709 0.002337786 0.0044201186 + 404600 0.006279044 0.0022807019 0.0053711689 + 404700 0.0063170605 0.0019722942 0.0050814724 + 404800 0.0041622856 0.0024867613 0.0045353862 + 404900 0.0050944566 0.0028692213 0.0053766491 + 405000 0.0060904784 0.0023468958 0.0053445531 + 405100 0.0039955947 0.0024924714 0.0044590531 + 405200 0.005774655 0.002429123 0.005271336 + 405300 0.003835967 0.0028050427 0.0046930577 + 405400 0.004965569 0.0025069961 0.0049509871 + 405500 0.0049898848 0.0025318755 0.0049878344 + 405600 0.0054318945 0.0027307214 0.0054042319 + 405700 0.0076295073 0.0033918946 0.0071470427 + 405800 0.0058792591 0.0039859172 0.0068796151 + 405900 0.004975617 0.0040599616 0.0065088981 + 406000 0.0047255352 0.0034136432 0.0057394926 + 406100 0.0055718253 0.0032742701 0.0060166529 + 406200 0.0053159618 0.0032330536 0.0058495036 + 406300 0.0040741165 0.0030840517 0.0050892809 + 406400 0.0049362685 0.0026629252 0.0050924948 + 406500 0.0050951173 0.0027778068 0.0052855598 + 406600 0.0050077307 0.0027608661 0.0052256086 + 406700 0.0052619482 0.0024164542 0.0050063193 + 406800 0.007636206 0.0024724682 0.0062309134 + 406900 0.0059119496 0.0027856095 0.0056953972 + 407000 0.0047575908 0.0032969609 0.0056385876 + 407100 0.0059037145 0.0030699533 0.0059756877 + 407200 0.0061469871 0.0028453469 0.0058708171 + 407300 0.0064184349 0.0032590751 0.0064181485 + 407400 0.005914934 0.0029985241 0.0059097807 + 407500 0.0074630205 0.0028067776 0.006479983 + 407600 0.0058024978 0.002544011 0.0053999279 + 407700 0.0063038291 0.0024556961 0.005558362 + 407800 0.0060404256 0.002457669 0.005430691 + 407900 0.006610212 0.0022320898 0.0054855535 + 408000 0.005065336 0.0023989796 0.0048920747 + 408100 0.0051729119 0.0025811103 0.0051271529 + 408200 0.0066226843 0.0027950062 0.0060546087 + 408300 0.004770465 0.0032791903 0.0056271535 + 408400 0.0046466924 0.0022915074 0.0045785513 + 408500 0.0036898261 0.0020831624 0.0038992487 + 408600 0.0046403284 0.0023054264 0.004589338 + 408700 0.005370713 0.002606316 0.0052497138 + 408800 0.0058037835 0.0029486698 0.0058052195 + 408900 0.0045680352 0.0027660228 0.0050143526 + 409000 0.0033443468 0.0025031767 0.0041492224 + 409100 0.0049416087 0.0025931698 0.0050253679 + 409200 0.005770222 0.0020407526 0.0048807837 + 409300 0.0038705204 0.0020735755 0.0039785972 + 409400 0.0049742985 0.0018385851 0.0042868727 + 409500 0.0041033233 0.0018406818 0.0038602862 + 409600 0.0046580275 0.0020856873 0.0043783102 + 409700 0.0044347399 0.0027491171 0.0049318406 + 409800 0.0049047803 0.002876312 0.0052903835 + 409900 0.0065993058 0.0026319944 0.0058800902 + 410000 0.0052180224 0.0027157353 0.0052839807 + 410100 0.0036188682 0.0026342771 0.0044154388 + 410200 0.0049250319 0.0022930353 0.0047170744 + 410300 0.0052481734 0.0022350645 0.0048181499 + 410400 0.0051212121 0.0022547516 0.0047753482 + 410500 0.0045497683 0.0026848488 0.0049241879 + 410600 0.0036086036 0.0027466133 0.0045227228 + 410700 0.0059909101 0.0028886549 0.005837306 + 410800 0.0048113199 0.0030379813 0.0054060528 + 410900 0.0058247151 0.0029971645 0.0058640164 + 411000 0.004526535 0.003133785 0.005361689 + 411100 0.0047133142 0.0027800194 0.0050998537 + 411200 0.0077091799 0.002459971 0.006254333 + 411300 0.0047948091 0.0025801455 0.0049400906 + 411400 0.004336137 0.0028158106 0.004950003 + 411500 0.0047662791 0.0025460789 0.0048919819 + 411600 0.004267348 0.0024090159 0.0045093513 + 411700 0.005499359 0.0024752197 0.0051819355 + 411800 0.0054706185 0.0029273974 0.0056199674 + 411900 0.0061317355 0.0024680099 0.0054859735 + 412000 0.0034012105 0.002294824 0.0039688573 + 412100 0.0057975859 0.002018143 0.0048716423 + 412200 0.0036272335 0.0019992099 0.0037844889 + 412300 0.0055713367 0.0018969868 0.0046391292 + 412400 0.0041040615 0.0017962837 0.0038162514 + 412500 0.0040086295 0.0016011701 0.0035741674 + 412600 0.0048532496 0.0016077149 0.0039964236 + 412700 0.0046309485 0.0023026566 0.0045819516 + 412800 0.0042845297 0.0026561676 0.0047649595 + 412900 0.0063596219 0.0025224959 0.0056526223 + 413000 0.0060526599 0.0024735597 0.0054526032 + 413100 0.0061510993 0.0025919044 0.0056193986 + 413200 0.0041531987 0.0024676345 0.004511787 + 413300 0.005114212 0.002311848 0.0048289992 + 413400 0.0047029701 0.0019991814 0.0043139245 + 413500 0.005619082 0.0020898968 0.0048555388 + 413600 0.0047564352 0.00250417 0.0048452279 + 413700 0.0039187454 0.0024789338 0.0044076912 + 413800 0.0050572644 0.0026471798 0.0051363021 + 413900 0.0040607372 0.0024354133 0.0044340574 + 414000 0.0054504411 0.0025391182 0.0052217572 + 414100 0.0051879981 0.003008483 0.0055619508 + 414200 0.0052286957 0.0030561505 0.0056296492 + 414300 0.0034256225 0.0033891832 0.0050752318 + 414400 0.0053663612 0.0031374341 0.00577869 + 414500 0.0050932364 0.0028505565 0.0053573838 + 414600 0.0046395081 0.0022334857 0.0045169936 + 414700 0.005001831 0.0021198939 0.0045817326 + 414800 0.0051325601 0.0026020198 0.0051282018 + 414900 0.0049054015 0.0027269737 0.0051413511 + 415000 0.0055815783 0.0026061843 0.0053533674 + 415100 0.0043712445 0.0025407916 0.0046922635 + 415200 0.0058904012 0.0021892381 0.00508842 + 415300 0.0052414785 0.0019859315 0.0045657218 + 415400 0.0048776396 0.0023237552 0.0047244685 + 415500 0.0055300192 0.0026669823 0.0053887886 + 415600 0.0045033804 0.0026044317 0.0048209392 + 415700 0.0059212748 0.0023132048 0.0052275822 + 415800 0.0047024028 0.0024071717 0.0047216356 + 415900 0.0053570463 0.0024851075 0.0051217787 + 416000 0.0041072104 0.0028904634 0.004911981 + 416100 0.0043028648 0.0025678855 0.0046857017 + 416200 0.005488173 0.0024055417 0.0051067519 + 416300 0.0040213545 0.0026948418 0.0046741023 + 416400 0.0045204478 0.0025514985 0.0047764064 + 416500 0.0064487259 0.0022956923 0.0054696746 + 416600 0.0044989445 0.0027203572 0.0049346815 + 416700 0.0053498116 0.0028537378 0.0054868482 + 416800 0.0068743113 0.0024937377 0.0058771878 + 416900 0.0040635487 0.0030002283 0.0050002562 + 417000 0.00586072 0.0033220073 0.0062065804 + 417100 0.0061437285 0.0027337052 0.0057575716 + 417200 0.0051038885 0.0029679519 0.005480022 + 417300 0.004828786 0.0030618145 0.0054384826 + 417400 0.0042656796 0.0028716468 0.0049711609 + 417500 0.0038259749 0.0025501954 0.0044332924 + 417600 0.0051682503 0.0023687366 0.0049124848 + 417700 0.0050816586 0.0021993518 0.0047004807 + 417800 0.005602078 0.0022551085 0.0050123812 + 417900 0.0058126411 0.0021018132 0.0049627225 + 418000 0.0037843342 0.0024869163 0.0043495183 + 418100 0.0048846736 0.002891092 0.0052952673 + 418200 0.006870483 0.0023440499 0.0057256158 + 418300 0.0052069902 0.0027942901 0.0053571056 + 418400 0.0051441623 0.0028003248 0.0053322172 + 418500 0.0037930737 0.0027291812 0.0045960847 + 418600 0.0060293599 0.00262791 0.0055954855 + 418700 0.0052325676 0.0029543196 0.005529724 + 418800 0.0053475145 0.0032846555 0.0059166353 + 418900 0.0045238951 0.0030534002 0.0052800048 + 419000 0.0046549434 0.002837587 0.0051286919 + 419100 0.0043040963 0.0027147933 0.0048332157 + 419200 0.0059397088 0.0027265952 0.0056500456 + 419300 0.0048980772 0.0022958926 0.004706665 + 419400 0.005427832 0.0021487896 0.0048203007 + 419500 0.0054540223 0.0021098233 0.0047942249 + 419600 0.0057823643 0.0019564928 0.0048025003 + 419700 0.0046062779 0.0024650345 0.0047321869 + 419800 0.00494389 0.0028256537 0.0052589746 + 419900 0.0043337824 0.0028769026 0.0050099361 + 420000 0.0051975831 0.0025711406 0.0051293261 + 420100 0.0061423366 0.0024752554 0.0054984367 + 420200 0.0075582146 0.0024229543 0.006143013 + 420300 0.0053160334 0.0032648229 0.0058813081 + 420400 0.0048092857 0.0035074227 0.005874493 + 420500 0.0049601796 0.0039219815 0.0063633199 + 420600 0.0055451631 0.004028974 0.006758234 + 420700 0.0051276136 0.0033026835 0.0058264308 + 420800 0.0061657747 0.0023589166 0.0053936339 + 420900 0.0071285631 0.0020388105 0.0055474002 + 421000 0.0044487423 0.0022345536 0.0044241689 + 421100 0.0056118267 0.002471898 0.005233969 + 421200 0.004658896 0.0022362457 0.0045292961 + 421300 0.0057938806 0.0021517484 0.005003424 + 421400 0.0051367056 0.0027362553 0.0052644777 + 421500 0.0068096022 0.0028201261 0.0061717272 + 421600 0.0051614419 0.0025572255 0.0050976227 + 421700 0.004894478 0.002342406 0.0047514069 + 421800 0.0051517295 0.0021845593 0.0047201762 + 421900 0.0035872852 0.0022215208 0.0039871377 + 422000 0.0058267874 0.0022021457 0.0050700176 + 422100 0.0049663848 0.0023330637 0.0047774562 + 422200 0.0058871798 0.0022987102 0.0051963065 + 422300 0.0042326273 0.002695735 0.0047789813 + 422400 0.0049753499 0.0030041087 0.0054529137 + 422500 0.0045374362 0.0027468558 0.0049801251 + 422600 0.0042548913 0.0024039043 0.0044981086 + 422700 0.003821899 0.0023261931 0.004207284 + 422800 0.0047293443 0.0022759416 0.0046036657 + 422900 0.0052072582 0.0021744693 0.0047374167 + 423000 0.005066732 0.0022364306 0.0047302128 + 423100 0.0044992801 0.0024199036 0.004634393 + 423200 0.0039223265 0.0020349218 0.0039654419 + 423300 0.0038060561 0.0020257041 0.0038989973 + 423400 0.0047764523 0.0021005554 0.0044514655 + 423500 0.0038239919 0.0023685729 0.004250694 + 423600 0.0042737664 0.0023259277 0.0044294221 + 423700 0.0059701172 0.0022409901 0.0051794071 + 423800 0.0043246662 0.0028714746 0.0050000213 + 423900 0.0038297209 0.0028862597 0.0047712004 + 424000 0.0051889242 0.0029826157 0.0055365394 + 424100 0.0067939496 0.0030466699 0.006390567 + 424200 0.0048662715 0.0032745517 0.0056696697 + 424300 0.0060771974 0.0027763244 0.005767445 + 424400 0.0052163584 0.0029320464 0.0054994728 + 424500 0.0062285137 0.002828952 0.0058945486 + 424600 0.0051499737 0.0023325889 0.0048673416 + 424700 0.0040254211 0.0023907118 0.0043719737 + 424800 0.0057139975 0.0024713059 0.005283664 + 424900 0.0046484798 0.0023834412 0.0046713649 + 425000 0.0055267589 0.0027061662 0.0054263679 + 425100 0.0042488492 0.002883791 0.0049750215 + 425200 0.0047183367 0.0029740056 0.005296312 + 425300 0.0062983404 0.0022657341 0.0053656985 + 425400 0.004768754 0.0022264373 0.0045735584 + 425500 0.0057532013 0.0027136886 0.0055453423 + 425600 0.0058087943 0.0029539721 0.005812988 + 425700 0.0054790414 0.0024693588 0.0051660746 + 425800 0.0059844298 0.0021867195 0.0051321811 + 425900 0.0048344817 0.0020839004 0.0044633718 + 426000 0.0050580095 0.0020107873 0.0045002764 + 426100 0.0040020318 0.0019838212 0.0039535712 + 426200 0.0044062103 0.0019058982 0.0040745798 + 426300 0.0051855181 0.0019254648 0.004477712 + 426400 0.0053373056 0.0018184286 0.0044453836 + 426500 0.0040433779 0.0021685479 0.004158648 + 426600 0.0050238482 0.0024581195 0.0049307948 + 426700 0.005857132 0.0023957277 0.0052785349 + 426800 0.0057992489 0.0019747365 0.0048290543 + 426900 0.0050546105 0.0020515314 0.0045393475 + 427000 0.0052282113 0.0022327481 0.0048060083 + 427100 0.0036425333 0.0023368297 0.0041296391 + 427200 0.0044570847 0.0022680021 0.0044617234 + 427300 0.0065241279 0.0020564831 0.0052675773 + 427400 0.0052096522 0.0020965396 0.0046606652 + 427500 0.0039868604 0.002263469 0.0042257518 + 427600 0.0045710686 0.0021646374 0.0044144603 + 427700 0.0054364422 0.0023366476 0.0050123965 + 427800 0.0039236916 0.002419054 0.0043502459 + 427900 0.0045935021 0.0028077933 0.0050686576 + 428000 0.0062645632 0.0026707243 0.005754064 + 428100 0.0044048942 0.0028749574 0.0050429912 + 428200 0.0042517504 0.0029070374 0.0049996958 + 428300 0.0068203762 0.0024814858 0.0058383897 + 428400 0.0052661277 0.0023380709 0.0049299931 + 428500 0.0056326688 0.002218723 0.0049910521 + 428600 0.0060569633 0.002541028 0.0055221897 + 428700 0.0035981821 0.0031815054 0.0049524857 + 428800 0.0029706852 0.0032467613 0.0047088955 + 428900 0.0048205214 0.002231611 0.0046042114 + 429000 0.0041526614 0.0021338092 0.0041776973 + 429100 0.0057189182 0.0022229382 0.0050377183 + 429200 0.0054444565 0.0021004877 0.0047801811 + 429300 0.0036303805 0.0021099167 0.0038967445 + 429400 0.0046231933 0.0021825378 0.0044580158 + 429500 0.0062963825 0.0021049305 0.0052039312 + 429600 0.0045465535 0.0020562971 0.0042940539 + 429700 0.0047049011 0.0020649639 0.0043806574 + 429800 0.0037315079 0.0020722432 0.0039088448 + 429900 0.0069737567 0.002150397 0.0055827928 + 430000 0.00444147 0.0022617537 0.0044477897 + 430100 0.0038187653 0.0023696757 0.0042492242 + 430200 0.0041118169 0.0024766431 0.0045004279 + 430300 0.0051029414 0.0023023565 0.0048139605 + 430400 0.0070992454 0.0020312369 0.0055253968 + 430500 0.0046475309 0.002259334 0.0045467907 + 430600 0.0059531651 0.0024707881 0.0054008616 + 430700 0.0056320645 0.0021657656 0.0049377973 + 430800 0.0042616205 0.0023166549 0.0044141712 + 430900 0.0037532834 0.0027010052 0.0045483244 + 431000 0.0055218982 0.0021613031 0.0048791123 + 431100 0.005899622 0.0024452417 0.0053489619 + 431200 0.0034817613 0.0027658853 0.0044795647 + 431300 0.0049760961 0.002782238 0.0052314103 + 431400 0.0059909506 0.0024567353 0.0054054063 + 431500 0.006012465 0.0029285084 0.0058877685 + 431600 0.0052453566 0.0031103119 0.0056920108 + 431700 0.0063113079 0.002110841 0.0052171879 + 431800 0.0053879025 0.0025894508 0.005241309 + 431900 0.0025963791 0.0027952087 0.004073114 + 432000 0.0039789195 0.0025217746 0.004480149 + 432100 0.0048625521 0.0025327999 0.0049260872 + 432200 0.0051802236 0.0031393113 0.0056889527 + 432300 0.0040053694 0.0035648842 0.0055362769 + 432400 0.0063302477 0.0031847047 0.0063003735 + 432500 0.0059551155 0.0030822111 0.0060132445 + 432600 0.005074337 0.0031221833 0.0056197086 + 432700 0.0058231603 0.0030807324 0.0059468191 + 432800 0.0045951718 0.0027336936 0.0049953798 + 432900 0.0037762095 0.002577695 0.0044362981 + 433000 0.0050375754 0.0022520042 0.0047314358 + 433100 0.0061514152 0.0019394113 0.0049670609 + 433200 0.0046998558 0.0022321985 0.0045454087 + 433300 0.0059219493 0.0025902417 0.0055049512 + 433400 0.004638006 0.0028288272 0.0051115958 + 433500 0.0040482969 0.0028680726 0.0048605938 + 433600 0.0039164583 0.0027961467 0.0047237785 + 433700 0.0056143933 0.0026216451 0.0053849793 + 433800 0.0064650887 0.0027395172 0.005921553 + 433900 0.005863471 0.0032491162 0.0061350433 + 434000 0.0048906036 0.0035143711 0.0059214651 + 434100 0.0048669122 0.0033922509 0.0057876843 + 434200 0.0059220307 0.0031519151 0.0060666646 + 434300 0.0061462709 0.0029528089 0.0059779266 + 434400 0.0058586644 0.0031014937 0.0059850551 + 434500 0.0067501945 0.0032557575 0.0065781189 + 434600 0.006166904 0.0032967429 0.006332016 + 434700 0.0044578028 0.0035633733 0.0057574481 + 434800 0.0049558995 0.0034506554 0.0058898871 + 434900 0.0051763598 0.0025840729 0.0051318125 + 435000 0.0048985954 0.0027375581 0.0051485855 + 435100 0.0057554424 0.0027944561 0.0056272129 + 435200 0.0054018371 0.0024834132 0.0051421299 + 435300 0.0053934909 0.0022941315 0.0049487403 + 435400 0.0039813545 0.0021202448 0.0040798178 + 435500 0.0045021809 0.002254459 0.0044703762 + 435600 0.0053056485 0.0020819738 0.0046933477 + 435700 0.0050018662 0.0021037106 0.0045655667 + 435800 0.0059464527 0.0019772746 0.0049040443 + 435900 0.0060250185 0.002494565 0.0054600038 + 436000 0.0062781903 0.002229181 0.0053192278 + 436100 0.0056573995 0.0022536628 0.0050381642 + 436200 0.0050313931 0.0026623921 0.0051387809 + 436300 0.0050917272 0.0027121246 0.0052182091 + 436400 0.0049164914 0.0022705848 0.0046904204 + 436500 0.004828254 0.0023757266 0.0047521329 + 436600 0.0047950003 0.0026072779 0.0049673171 + 436700 0.0042946303 0.0019601846 0.0040739479 + 436800 0.0045874684 0.0020037994 0.004261694 + 436900 0.0063900964 0.001956936 0.0051020615 + 437000 0.0049431902 0.0021982673 0.0046312437 + 437100 0.0048705784 0.0020996176 0.0044968555 + 437200 0.0039495992 0.0023928802 0.0043368235 + 437300 0.0046570276 0.0021673 0.0044594307 + 437400 0.0038407612 0.0020617698 0.0039521444 + 437500 0.0052369024 0.0020560269 0.0046335648 + 437600 0.0039273308 0.0021539654 0.0040869485 + 437700 0.0055919651 0.0022516145 0.0050039099 + 437800 0.0056370821 0.0024107266 0.005185228 + 437900 0.0050424466 0.0025551038 0.005036933 + 438000 0.0044775484 0.0029150199 0.0051188132 + 438100 0.0046320611 0.002848558 0.0051284006 + 438200 0.0050462414 0.0026184025 0.0051020994 + 438300 0.0043345555 0.0024708694 0.0046042834 + 438400 0.0038120711 0.0024589185 0.0043351723 + 438500 0.0051673821 0.0026342595 0.0051775804 + 438600 0.0044331515 0.0025961379 0.0047780796 + 438700 0.0062404481 0.0023135992 0.0053850698 + 438800 0.005281507 0.0022526464 0.0048521381 + 438900 0.0050282444 0.0022752354 0.0047500745 + 439000 0.0044628532 0.0022672839 0.0044638445 + 439100 0.0045109512 0.0024623979 0.0046826318 + 439200 0.003833078 0.0027123931 0.0045989861 + 439300 0.0054514789 0.0023633942 0.005046544 + 439400 0.0045721538 0.002448944 0.004699301 + 439500 0.0048532692 0.0021856943 0.0045744128 + 439600 0.0054706642 0.0020184612 0.0047110537 + 439700 0.0044127492 0.0020780021 0.0042499021 + 439800 0.0057523251 0.0017566506 0.0045878731 + 439900 0.0065500135 0.0019478607 0.0051716955 + 440000 0.0038147952 0.0025927929 0.0044703874 + 440100 0.0039625026 0.0025847033 0.0045349975 + 440200 0.0042995908 0.0022345108 0.0043507156 + 440300 0.0044869462 0.0022591733 0.0044675921 + 440400 0.0053717143 0.0022702533 0.0049141439 + 440500 0.0057518858 0.0022950397 0.005126046 + 440600 0.0073319602 0.0022824376 0.0058911368 + 440700 0.0041840305 0.0025754742 0.0046348017 + 440800 0.0040064535 0.0024429413 0.0044148677 + 440900 0.0053037158 0.0024030798 0.0050135025 + 441000 0.0058146382 0.0023073074 0.0051691997 + 441100 0.0063264155 0.0025054599 0.0056192425 + 441200 0.004931855 0.0026423659 0.0050697633 + 441300 0.0055994696 0.0025674894 0.0053234784 + 441400 0.0035868397 0.0024668605 0.0042322581 + 441500 0.0054624458 0.0024682962 0.0051568437 + 441600 0.0053790731 0.0027970286 0.0054445411 + 441700 0.00356888 0.002600955 0.0043575131 + 441800 0.0059333128 0.0019727234 0.0048930258 + 441900 0.0060908008 0.0019004749 0.0048982909 + 442000 0.0062901424 0.0026094476 0.0057053771 + 442100 0.0053450352 0.0034459156 0.0060766752 + 442200 0.0056333466 0.0028559507 0.0056286135 + 442300 0.0049173772 0.002230205 0.0046504765 + 442400 0.0059418984 0.0020588152 0.0049833433 + 442500 0.0054218764 0.0028034627 0.0054720425 + 442600 0.0057519324 0.0034193739 0.0062504031 + 442700 0.004712852 0.0032285186 0.0055481254 + 442800 0.0055342789 0.0024926142 0.0052165171 + 442900 0.00460946 0.0020827057 0.0043514243 + 443000 0.0051954381 0.0019325022 0.0044896319 + 443100 0.0046888684 0.0024231877 0.0047309901 + 443200 0.0045740803 0.0029372724 0.0051885775 + 443300 0.0060768391 0.0032137013 0.0062046456 + 443400 0.005429541 0.0025889622 0.0052613144 + 443500 0.004406245 0.0025791405 0.0047478392 + 443600 0.0031703441 0.0031917051 0.0047521089 + 443700 0.0044100359 0.003031683 0.0052022475 + 443800 0.0040086996 0.0029690423 0.0049420741 + 443900 0.0068127158 0.002720051 0.0060731846 + 444000 0.005410474 0.0029129501 0.0055759177 + 444100 0.0052557744 0.0037313385 0.0063181649 + 444200 0.0064461976 0.0040549552 0.007227693 + 444300 0.0061003276 0.0038925499 0.0068950549 + 444400 0.0048240739 0.0036557519 0.0060301008 + 444500 0.0070113447 0.0034038307 0.0068547269 + 444600 0.0042218091 0.0031291384 0.0052070601 + 444700 0.0053441482 0.0027711153 0.0054014383 + 444800 0.0052983065 0.0025833022 0.0051910624 + 444900 0.0030046949 0.0026130436 0.0040919169 + 445000 0.004068924 0.0028126008 0.0048152743 + 445100 0.00499265 0.0030335352 0.0054908551 + 445200 0.0067588525 0.0027903903 0.006117013 + 445300 0.0040222697 0.0026925674 0.0046722783 + 445400 0.0046183496 0.002356826 0.00462992 + 445500 0.0059468358 0.0022303665 0.0051573248 + 445600 0.0042863449 0.0025763304 0.0046860158 + 445700 0.0053897116 0.0029944105 0.0056471591 + 445800 0.0050829728 0.0025696988 0.0050714745 + 445900 0.0048930273 0.0024780605 0.0048863474 + 446000 0.0057530648 0.0023196259 0.0051512124 + 446100 0.0042406176 0.0025248337 0.0046120126 + 446200 0.0037966132 0.0026222139 0.0044908594 + 446300 0.0054068673 0.0025485343 0.0052097268 + 446400 0.0053652453 0.0022344298 0.0048751365 + 446500 0.0057651589 0.0022655312 0.0051030703 + 446600 0.0058411355 0.0024510751 0.005326009 + 446700 0.0044456147 0.0023462854 0.0045343614 + 446800 0.0041191909 0.0025763069 0.0046037212 + 446900 0.005224972 0.0024233606 0.0049950265 + 447000 0.0042772582 0.0026704237 0.0047756367 + 447100 0.0046051428 0.0034471994 0.0057137931 + 447200 0.0050011181 0.0034844031 0.0059458909 + 447300 0.0048812306 0.0032981373 0.005700618 + 447400 0.0043061813 0.0034179081 0.0055373567 + 447500 0.0062499347 0.0031783937 0.0062545335 + 447600 0.005854922 0.0032156254 0.0060973448 + 447700 0.0054789353 0.0027750916 0.0054717551 + 447800 0.0042593763 0.0028954816 0.0049918934 + 447900 0.0067371739 0.0026950325 0.0060109853 + 448000 0.006356234 0.0031736977 0.0063021566 + 448100 0.0062547003 0.0032581095 0.0063365948 + 448200 0.0052489661 0.0030057102 0.0055891857 + 448300 0.004621474 0.0031478775 0.0054225092 + 448400 0.0049481416 0.0031663326 0.005601746 + 448500 0.0068961829 0.0028754151 0.0062696301 + 448600 0.0069725685 0.002653168 0.0060849791 + 448700 0.0055192458 0.0028270019 0.0055435057 + 448800 0.0050046094 0.0028400634 0.0053032696 + 448900 0.0039354815 0.002419021 0.0043560158 + 449000 0.0053570714 0.0020866002 0.0047232838 + 449100 0.0042324269 0.0018381771 0.0039213247 + 449200 0.0045887104 0.0021391119 0.0043976178 + 449300 0.0051355588 0.0029195625 0.0054472203 + 449400 0.0042495292 0.0030521885 0.0051437536 + 449500 0.0055481168 0.0024495885 0.0051803023 + 449600 0.0061010336 0.0021465085 0.005149361 + 449700 0.0053377877 0.0022025167 0.0048297091 + 449800 0.0046778288 0.0024468856 0.0047492545 + 449900 0.0063197525 0.0024803518 0.005590855 + 450000 0.0046724926 0.0023229784 0.0046227209 + 450100 0.0044896622 0.0021688282 0.0043785838 + 450200 0.0050719849 0.0021357496 0.0046321172 + 450300 0.006218636 0.0022942823 0.0053550172 + 450400 0.0049464557 0.002449932 0.0048845157 + 450500 0.0048030569 0.0028562847 0.0052202893 + 450600 0.0050395786 0.0029036995 0.0053841171 + 450700 0.0050842094 0.0028916655 0.0053940499 + 450800 0.0056503108 0.0025452145 0.0053262268 + 450900 0.0040251955 0.0023873882 0.0043685391 + 451000 0.0051426303 0.0027011919 0.0052323302 + 451100 0.005277807 0.0030474355 0.0056451062 + 451200 0.0045956272 0.0030776341 0.0053395443 + 451300 0.0056118088 0.0027807614 0.0055428236 + 451400 0.0054083047 0.0024054393 0.0050673393 + 451500 0.0047215022 0.0027607982 0.0050846626 + 451600 0.004308276 0.0029389681 0.0050594477 + 451700 0.0041140291 0.0030347883 0.005059662 + 451800 0.0057354538 0.0028832693 0.0057061879 + 451900 0.0061123384 0.0023703561 0.0053787726 + 452000 0.0049183622 0.0024844505 0.0049052069 + 452100 0.0049962309 0.0028267808 0.0052858632 + 452200 0.0044778338 0.0030756142 0.005279548 + 452300 0.00636978 0.0025437904 0.0056789165 + 452400 0.0071203952 0.0031611672 0.0066657367 + 452500 0.0049586214 0.0038626706 0.006303242 + 452600 0.0063185549 0.0033418523 0.006451766 + 452700 0.0061423373 0.0028506418 0.0058738234 + 452800 0.0053692135 0.0027473951 0.0053900549 + 452900 0.0039155263 0.0023745218 0.0043016949 + 453000 0.0046262838 0.00254688 0.0048238791 + 453100 0.0054664634 0.0025861957 0.0052767206 + 453200 0.0034610556 0.0028880904 0.0045915788 + 453300 0.0062496954 0.0030771007 0.0061531227 + 453400 0.0055406702 0.0030012693 0.0057283179 + 453500 0.0066125635 0.0024758652 0.0057304863 + 453600 0.0079311055 0.0025544191 0.0064580101 + 453700 0.0058063927 0.0029318987 0.0057897325 + 453800 0.0048084696 0.0028765247 0.0052431933 + 453900 0.0050241013 0.003172686 0.0056454858 + 454000 0.0053925766 0.0030538956 0.0057080544 + 454100 0.0055847234 0.0027650331 0.0055137641 + 454200 0.0056148518 0.0028350402 0.0055986 + 454300 0.0057145784 0.0027026965 0.0055153406 + 454400 0.005722363 0.0029583279 0.0057748034 + 454500 0.0057949788 0.0030421028 0.0058943189 + 454600 0.0046725847 0.0028260254 0.0051258132 + 454700 0.0061910526 0.0028095168 0.0058566755 + 454800 0.0048935639 0.0030430497 0.0054516007 + 454900 0.0057967225 0.0028166014 0.0056696758 + 455000 0.0055344628 0.0029832877 0.0057072811 + 455100 0.0037089483 0.0039480735 0.0057735715 + 455200 0.0070711585 0.003881456 0.0073617918 + 455300 0.0050710013 0.0035524373 0.0060483208 + 455400 0.0048161576 0.003083862 0.0054543146 + 455500 0.0053198241 0.0032024377 0.0058207887 + 455600 0.006939844 0.003020849 0.0064365534 + 455700 0.0043029648 0.0028930394 0.0050109049 + 455800 0.0047652943 0.0029360287 0.005281447 + 455900 0.0043386383 0.0030320833 0.0051675069 + 456000 0.0061697142 0.0028234294 0.0058600856 + 456100 0.0063914623 0.0027770244 0.0059228222 + 456200 0.0045662067 0.002835239 0.0050826689 + 456300 0.0054247811 0.0027002913 0.0053703007 + 456400 0.0045943167 0.0027225083 0.0049837736 + 456500 0.0061223388 0.0028579871 0.0058713258 + 456600 0.0075274292 0.0028041182 0.0065090247 + 456700 0.0061953093 0.0029791449 0.0060283987 + 456800 0.0050378761 0.0030421104 0.0055216901 + 456900 0.0052962551 0.0028118267 0.0054185773 + 457000 0.0044338331 0.002470759 0.0046530363 + 457100 0.0043107807 0.0026134604 0.0047351727 + 457200 0.0036492823 0.0028558331 0.0046519642 + 457300 0.0054171291 0.0026106633 0.0052769066 + 457400 0.0049744494 0.0026161506 0.0050645124 + 457500 0.003813683 0.0025188248 0.0043958719 + 457600 0.0051442107 0.0023608781 0.0048927942 + 457700 0.0041797398 0.0026022216 0.0046594373 + 457800 0.0044731759 0.0020820237 0.004283665 + 457900 0.005828421 0.0021974558 0.0050661318 + 458000 0.0047076296 0.0028747455 0.0051917819 + 458100 0.0053714072 0.0033037412 0.0059474807 + 458200 0.0068959047 0.0032106156 0.0066046937 + 458300 0.0058201099 0.0028762564 0.0057408418 + 458400 0.0055129343 0.002604292 0.0053176894 + 458500 0.006240043 0.0022052498 0.005276521 + 458600 0.0048469323 0.0024799383 0.0048655378 + 458700 0.0038278756 0.0026525316 0.0045365641 + 458800 0.0057898044 0.0030999513 0.0059496207 + 458900 0.0037542355 0.0033297579 0.0051775457 + 459000 0.0043664242 0.0032250401 0.0053741395 + 459100 0.0054696559 0.0028281511 0.0055202474 + 459200 0.0045092053 0.0025303804 0.0047497549 + 459300 0.004281595 0.0022661296 0.0043734772 + 459400 0.0042292818 0.0022762772 0.0043578768 + 459500 0.0029500479 0.0028355235 0.0042875003 + 459600 0.0034034849 0.0026951884 0.0043703411 + 459700 0.0058939967 0.002473296 0.0053742475 + 459800 0.0044073257 0.0020856324 0.004254863 + 459900 0.0043887776 0.0020551488 0.0042152503 + 460000 0.0052652366 0.0026182739 0.0052097576 + 460100 0.0033987288 0.0027610647 0.0044338765 + 460200 0.0043222921 0.0023457773 0.0044731555 + 460300 0.0048173408 0.0027266088 0.0050976437 + 460400 0.0047092011 0.0029612561 0.005279066 + 460500 0.0045859185 0.0028081637 0.0050652955 + 460600 0.0044450354 0.0022622012 0.004449992 + 460700 0.0071466117 0.0018863083 0.0054037812 + 460800 0.0059273811 0.0019881652 0.0049055481 + 460900 0.0054382396 0.0023352087 0.0050118422 + 461000 0.0058490009 0.0022813582 0.0051601633 + 461100 0.0044342268 0.0023737986 0.0045562696 + 461200 0.0041128656 0.002068705 0.0040930061 + 461300 0.0052826348 0.0026074736 0.0052075204 + 461400 0.0053555947 0.0030231227 0.0056590795 + 461500 0.0052392106 0.0031494026 0.0057280766 + 461600 0.0057458612 0.0027426333 0.0055706744 + 461700 0.0072800318 0.0024786139 0.0060617546 + 461800 0.0035325197 0.0024510088 0.0041896709 + 461900 0.004405811 0.0026161916 0.0047846768 + 462000 0.0054239635 0.0030533013 0.0057229083 + 462100 0.0046426301 0.0031423589 0.0054274033 + 462200 0.0051522087 0.0027731064 0.0053089591 + 462300 0.0048951149 0.0025537392 0.0049630536 + 462400 0.0048965389 0.0027822515 0.0051922668 + 462500 0.0052171558 0.0028200769 0.0053878958 + 462600 0.0042210831 0.0023978625 0.0044754268 + 462700 0.0035322935 0.0022184266 0.0039569773 + 462800 0.0046948557 0.0023837207 0.00469447 + 462900 0.0048764181 0.0024610334 0.0048611454 + 463000 0.0031214761 0.0030998244 0.0046361759 + 463100 0.004697624 0.0026613902 0.0049735021 + 463200 0.0044546745 0.0021014179 0.004293953 + 463300 0.0050956286 0.0022895959 0.0047976006 + 463400 0.0056368967 0.0024091346 0.0051835447 + 463500 0.0051031938 0.002446119 0.0049578472 + 463600 0.0057884516 0.0025018522 0.0053508557 + 463700 0.0041792746 0.0031120271 0.0051690138 + 463800 0.0065125839 0.0031451192 0.0063505316 + 463900 0.0063113756 0.0024892332 0.0055956134 + 464000 0.0043335691 0.0023699712 0.0045028997 + 464100 0.0045778794 0.0024455665 0.0046987416 + 464200 0.0044748974 0.0025966805 0.004799169 + 464300 0.0055191539 0.0026711557 0.0053876142 + 464400 0.0041096069 0.002669336 0.0046920332 + 464500 0.0064139421 0.0022740883 0.0054309504 + 464600 0.0047192501 0.0023085544 0.0046313103 + 464700 0.0059169457 0.0024667575 0.0053790042 + 464800 0.0060163178 0.0026939326 0.005655089 + 464900 0.0072806977 0.0026726401 0.0062561085 + 465000 0.0054300677 0.0025129761 0.0051855876 + 465100 0.0053148123 0.0021372197 0.0047531039 + 465200 0.0047607762 0.0024096319 0.0047528265 + 465300 0.0048732713 0.002238308 0.0046368713 + 465400 0.0044788313 0.0023216287 0.0045260535 + 465500 0.0040571733 0.0023034734 0.0043003634 + 465600 0.004202925 0.0019977614 0.0040663886 + 465700 0.0043469126 0.0019817908 0.0041212869 + 465800 0.0050555033 0.0023564534 0.0048447089 + 465900 0.0050094441 0.0025562218 0.0050218076 + 466000 0.0049780011 0.0031053103 0.0055554202 + 466100 0.0044210146 0.0029250103 0.0051009784 + 466200 0.0054218755 0.0028027457 0.0054713251 + 466300 0.0052195208 0.0028960263 0.0054650092 + 466400 0.0055964624 0.0030377418 0.0057922507 + 466500 0.0057318726 0.0028219046 0.0056430606 + 466600 0.0038447348 0.0022156433 0.0041079737 + 466700 0.0036289909 0.0022678153 0.0040539593 + 466800 0.005435508 0.0025775643 0.0052528534 + 466900 0.0054164813 0.0025838294 0.0052497538 + 467000 0.0051185322 0.0025630844 0.005082362 + 467100 0.0056432124 0.0028699829 0.0056475016 + 467200 0.0060142675 0.002948751 0.0059088983 + 467300 0.005104227 0.0027163 0.0052285368 + 467400 0.0051071573 0.0027321041 0.0052457831 + 467500 0.0035923841 0.0028480099 0.0046161365 + 467600 0.0047267625 0.0029583971 0.0052848505 + 467700 0.0036291987 0.0028107078 0.0045969541 + 467800 0.0065045938 0.0030059336 0.0062074133 + 467900 0.005102008 0.0026010533 0.0051121978 + 468000 0.0038772176 0.0023264183 0.0042347363 + 468100 0.0036643686 0.0023651877 0.0041687441 + 468200 0.0066724411 0.0025571048 0.0058411969 + 468300 0.0038144543 0.0029221067 0.0047995334 + 468400 0.0047435102 0.0030211112 0.0053558076 + 468500 0.0059524295 0.0030409125 0.0059706239 + 468600 0.0050410893 0.0025728844 0.0050540455 + 468700 0.0054033155 0.00252257 0.0051820144 + 468800 0.004931648 0.0024827574 0.0049100529 + 468900 0.0052558039 0.00249678 0.005083621 + 469000 0.0056169893 0.0029768292 0.0057414411 + 469100 0.0040486649 0.0033809821 0.0053736844 + 469200 0.0067254842 0.0026462172 0.0059564165 + 469300 0.0056399027 0.0022934808 0.0050693704 + 469400 0.0043209139 0.0026716699 0.0047983697 + 469500 0.004045031 0.0023651329 0.0043560466 + 469600 0.0049226037 0.0022355995 0.0046584435 + 469700 0.0047050267 0.0016936143 0.0040093696 + 469800 0.0052675838 0.001638886 0.0042315249 + 469900 0.0040003141 0.0017442947 0.0037131993 + 470000 0.0064627144 0.0021260069 0.0053068742 + 470100 0.0060586163 0.002619176 0.0056011512 + 470200 0.0054489535 0.0025622012 0.005244108 + 470300 0.0054259923 0.0022126659 0.0048832714 + 470400 0.004591247 0.0022566421 0.0045163965 + 470500 0.005694502 0.0026392313 0.005441994 + 470600 0.0056777588 0.0029498632 0.0057443851 + 470700 0.0052100997 0.0027606765 0.0053250225 + 470800 0.0062974466 0.0028790913 0.0059786158 + 470900 0.0046813902 0.0028435053 0.0051476271 + 471000 0.0067750069 0.0023150919 0.0056496656 + 471100 0.00460977 0.0022445526 0.0045134237 + 471200 0.0037451785 0.0027523206 0.0045956506 + 471300 0.004408116 0.0028532789 0.0050228985 + 471400 0.0060489915 0.0023009884 0.0052782264 + 471500 0.0061289265 0.0017097465 0.0047263275 + 471600 0.0060504861 0.002141529 0.0051195026 + 471700 0.0033170506 0.0031674207 0.0048000315 + 471800 0.0049358834 0.00292139 0.0053507701 + 471900 0.0059624789 0.0024881689 0.0054228265 + 472000 0.0061645755 0.0021995047 0.0052336317 + 472100 0.0053477856 0.0024308306 0.0050629438 + 472200 0.0039264984 0.0028188226 0.004751396 + 472300 0.0049161072 0.0027601455 0.005179792 + 472400 0.0051446352 0.0027333281 0.0052654532 + 472500 0.0057241984 0.0025059777 0.0053233566 + 472600 0.0056987657 0.0024657289 0.0052705901 + 472700 0.006832711 0.0024809943 0.0058439692 + 472800 0.005297124 0.0020544002 0.0046615785 + 472900 0.0047242194 0.0016298001 0.0039550018 + 473000 0.0049483411 0.0019650909 0.0044006026 + 473100 0.0033711874 0.0024144212 0.0040736775 + 473200 0.004982502 0.0023795654 0.0048318906 + 473300 0.0056876957 0.0024983032 0.005297716 + 473400 0.0044894257 0.0028688348 0.005078474 + 473500 0.0047743772 0.0026101497 0.0049600385 + 473600 0.0054477961 0.002498511 0.0051798482 + 473700 0.0052948258 0.0025464115 0.0051524586 + 473800 0.0050270977 0.0025319921 0.0050062668 + 473900 0.0050565908 0.0022146597 0.0047034505 + 474000 0.0060964021 0.0023603237 0.0053608966 + 474100 0.0039673532 0.0024041483 0.00435683 + 474200 0.0044034338 0.0028143051 0.0049816202 + 474300 0.0037671115 0.0025114087 0.0043655339 + 474400 0.0053268625 0.0021975254 0.0048193405 + 474500 0.0040501689 0.0023292419 0.0043226844 + 474600 0.0045732264 0.0025673108 0.0048181957 + 474700 0.0047447856 0.0029798254 0.0053151495 + 474800 0.004860589 0.0028280422 0.0052203633 + 474900 0.0068645741 0.0026281598 0.0060068173 + 475000 0.0037098816 0.0027662455 0.0045922029 + 475100 0.0039597654 0.0021722207 0.0041211678 + 475200 0.0050756659 0.0018508504 0.0043490297 + 475300 0.0030934016 0.0021764192 0.0036989528 + 475400 0.004911938 0.0023398656 0.0047574601 + 475500 0.0054535645 0.0027072592 0.0053914355 + 475600 0.004077581 0.0027500933 0.0047570277 + 475700 0.0051869731 0.002865657 0.0054186203 + 475800 0.0056038757 0.0025594595 0.0053176171 + 475900 0.0040238463 0.002201128 0.0041816148 + 476000 0.004153417 0.0020281487 0.0040724086 + 476100 0.005739244 0.0016574783 0.0044822625 + 476200 0.0057515297 0.0024371189 0.0052679499 + 476300 0.0052564389 0.0031334036 0.0057205571 + 476400 0.0058081865 0.0026057579 0.0054644747 + 476500 0.0047571441 0.0020527281 0.004394135 + 476600 0.0048147605 0.0019357911 0.004305556 + 476700 0.0043165033 0.0019441015 0.0040686305 + 476800 0.0044895082 0.0019501892 0.004159869 + 476900 0.0046796416 0.0014535839 0.003756845 + 477000 0.0060930891 0.0015592099 0.0045581522 + 477100 0.0055004423 0.002176388 0.0048836369 + 477200 0.0042849349 0.0024863996 0.004595391 + 477300 0.0037988853 0.0022787226 0.0041484865 + 477400 0.0048906807 0.0018644863 0.0042716182 + 477500 0.0047390399 0.0021441269 0.0044766231 + 477600 0.005423097 0.0020697639 0.0047389445 + 477700 0.0042845412 0.0020429499 0.0041517476 + 477800 0.0065775894 0.0022652205 0.0055026278 + 477900 0.0052522684 0.0026153529 0.0052004537 + 478000 0.0063348226 0.0021442077 0.0052621282 + 478100 0.0049868188 0.0021770221 0.004631472 + 478200 0.0038212315 0.0022036068 0.0040843692 + 478300 0.0062415134 0.0021303865 0.0052023813 + 478400 0.0059432449 0.0022127507 0.0051379415 + 478500 0.0038021183 0.0023748576 0.0042462127 + 478600 0.005402322 0.0023423196 0.005001275 + 478700 0.0049064492 0.0024445405 0.0048594334 + 478800 0.0061245893 0.0024455837 0.00546003 + 478900 0.0058571226 0.0026736669 0.0055564694 + 479000 0.0049807179 0.0027552864 0.0052067335 + 479100 0.0057793335 0.0025906534 0.0054351691 + 479200 0.006054264 0.0021153659 0.0050951989 + 479300 0.0051505345 0.0020207057 0.0045557344 + 479400 0.0054304196 0.0019533006 0.0046260853 + 479500 0.0041774513 0.0024134167 0.0044695061 + 479600 0.0045940704 0.0029527287 0.0052138728 + 479700 0.0046793729 0.0022224256 0.0045255544 + 479800 0.0038282686 0.0017235818 0.0036078078 + 479900 0.004851161 0.0021023951 0.0044900759 + 480000 0.0046756662 0.0026168286 0.004918133 + 480100 0.0042297508 0.0028063914 0.0048882219 + 480200 0.0045530214 0.0027966415 0.0050375817 + 480300 0.0051139768 0.0028133213 0.0053303567 + 480400 0.0054458642 0.0028171919 0.0054975782 + 480500 0.0062863506 0.0036253917 0.0067194549 + 480600 0.0055542986 0.0033820883 0.0061158447 + 480700 0.0052770352 0.0024628249 0.0050601157 + 480800 0.0047213137 0.00217778 0.0045015516 + 480900 0.0061516845 0.0023138143 0.0053415965 + 481000 0.0052900661 0.0027678286 0.005371533 + 481100 0.0035050701 0.0030472353 0.004772387 + 481200 0.0047106497 0.0024235187 0.0047420416 + 481300 0.0050638787 0.0022735106 0.0047658884 + 481400 0.0040582798 0.0022113623 0.0042087968 + 481500 0.0045576456 0.0020929481 0.0043361643 + 481600 0.0043359016 0.0019197726 0.0040538492 + 481700 0.0040436139 0.0020123232 0.0040025395 + 481800 0.0055218394 0.0028408442 0.0055586246 + 481900 0.0046622037 0.0033206808 0.0056153592 + 482000 0.0062225626 0.0030079055 0.006070573 + 482100 0.0057207717 0.0033215035 0.0061371958 + 482200 0.0076365413 0.0027019655 0.0064605756 + 482300 0.0064847925 0.0024973977 0.0056891315 + 482400 0.0039552029 0.0028641766 0.0048108781 + 482500 0.0048421046 0.0027526888 0.0051359122 + 482600 0.0054248725 0.0023734266 0.005043481 + 482700 0.0051952289 0.0026558566 0.0052128833 + 482800 0.0057811494 0.0023690474 0.0052144569 + 482900 0.0069107017 0.0022373664 0.0056387275 + 483000 0.003260059 0.0025439634 0.0041485237 + 483100 0.004342333 0.0024516572 0.0045888993 + 483200 0.0043941362 0.0027014088 0.0048641477 + 483300 0.004124676 0.0027619887 0.0047921027 + 483400 0.0054533137 0.0023540897 0.0050381425 + 483500 0.005444591 0.0026335591 0.0053133187 + 483600 0.005094068 0.0029242918 0.0054315284 + 483700 0.0072347163 0.0023795961 0.005940433 + 483800 0.005756363 0.0025639254 0.0053971353 + 483900 0.0043660948 0.0027681927 0.00491713 + 484000 0.0044291102 0.0030809363 0.005260889 + 484100 0.0068695076 0.0031873174 0.0065684032 + 484200 0.0068817691 0.0029874716 0.0063745923 + 484300 0.0052009642 0.0030180195 0.0055778691 + 484400 0.0043410323 0.0028691039 0.0050057058 + 484500 0.0039167736 0.002893732 0.004821519 + 484600 0.0061456096 0.0023519146 0.0053767068 + 484700 0.0054104649 0.0020609726 0.0047239358 + 484800 0.0057657668 0.0018428905 0.0046807289 + 484900 0.0069340659 0.0018226241 0.0052354847 + 485000 0.0047385565 0.0024355553 0.0047678135 + 485100 0.0060366298 0.0026951561 0.0056663098 + 485200 0.0042472182 0.0022598951 0.0043503228 + 485300 0.0044190897 0.0024462859 0.0046213066 + 485400 0.0049476161 0.0023231168 0.0047582716 + 485500 0.0048139763 0.0023777703 0.0047471493 + 485600 0.0061407819 0.002534779 0.0055571951 + 485700 0.0053065367 0.002458414 0.005070225 + 485800 0.0062604456 0.0025063479 0.0055876609 + 485900 0.004022574 0.0025754494 0.00455531 + 486000 0.0059455186 0.0023754748 0.0053017848 + 486100 0.0047916116 0.0026864735 0.0050448449 + 486200 0.0058380874 0.0024450211 0.0053184548 + 486300 0.0043179263 0.0023348433 0.0044600726 + 486400 0.0059843306 0.002134399 0.0050798117 + 486500 0.0043429014 0.0019195061 0.0040570279 + 486600 0.0062001503 0.0017271637 0.0047788001 + 486700 0.0045639685 0.0017990925 0.0040454208 + 486800 0.0047266863 0.0022103281 0.004536744 + 486900 0.0057053181 0.0025631719 0.0053712581 + 487000 0.0043585521 0.0028839957 0.0050292206 + 487100 0.0066372426 0.0029683185 0.0062350863 + 487200 0.0051197986 0.0028901392 0.0054100401 + 487300 0.0054817039 0.0027489451 0.0054469713 + 487400 0.0055781956 0.0025479244 0.0052934426 + 487500 0.0055702283 0.0025386846 0.0052802814 + 487600 0.0052191421 0.0025799102 0.0051487068 + 487700 0.0037740496 0.0029554471 0.0048129872 + 487800 0.0033748451 0.0027318193 0.0043928759 + 487900 0.0045339026 0.0025018369 0.004733367 + 488000 0.0068531729 0.0023022664 0.0056753124 + 488100 0.0036983625 0.0027982885 0.0046185763 + 488200 0.0055715419 0.0028352006 0.0055774439 + 488300 0.0063916214 0.0025897247 0.0057356008 + 488400 0.0054082376 0.0026168543 0.0052787212 + 488500 0.0054471595 0.0028524087 0.0055334326 + 488600 0.0049524024 0.00309312 0.0055306306 + 488700 0.0042883237 0.0031448059 0.0052554652 + 488800 0.0051150426 0.0030613534 0.0055789134 + 488900 0.0057905429 0.0026396949 0.0054897277 + 489000 0.0063396982 0.0021984565 0.0053187768 + 489100 0.0046222288 0.0020257794 0.0043007827 + 489200 0.0053824829 0.0023685484 0.0050177392 + 489300 0.0049662689 0.0028794102 0.0053237457 + 489400 0.0044178739 0.003181306 0.0053557283 + 489500 0.0045717937 0.0031940408 0.0054442205 + 489600 0.0064183492 0.0025912034 0.0057502346 + 489700 0.0050911954 0.0026077014 0.0051135241 + 489800 0.0035078411 0.0025546123 0.0042811278 + 489900 0.0038569539 0.0025915928 0.0044899373 + 490000 0.0040479319 0.0028041708 0.0047965123 + 490100 0.0054935317 0.0028368998 0.0055407474 + 490200 0.0047534647 0.0027130162 0.0050526121 + 490300 0.005589785 0.0026787901 0.0054300123 + 490400 0.0080711655 0.0027427555 0.0067152822 + 490500 0.0055769198 0.0026429724 0.0053878626 + 490600 0.0056232585 0.0024760455 0.0052437431 + 490700 0.004749365 0.0022843124 0.0046218905 + 490800 0.0048863929 0.0019312249 0.0043362464 + 490900 0.0030815303 0.0018946915 0.0034113822 + 491000 0.0046758169 0.0020526531 0.0043540317 + 491100 0.0050524573 0.0025687189 0.0050554752 + 491200 0.0048507316 0.00299753 0.0053849994 + 491300 0.0076948341 0.002631964 0.0064192652 + 491400 0.0047953952 0.002678362 0.0050385956 + 491500 0.0050465612 0.0024615657 0.0049454201 + 491600 0.0043681474 0.0020626901 0.0042126376 + 491700 0.0046942501 0.0024301759 0.0047406271 + 491800 0.0059764497 0.0028367656 0.0057782995 + 491900 0.005955461 0.0033275671 0.0062587706 + 492000 0.0042074061 0.0036966936 0.0057675263 + 492100 0.0045763908 0.0032003561 0.0054527985 + 492200 0.0042992556 0.0027508513 0.0048668912 + 492300 0.0059995649 0.0027585912 0.0057115021 + 492400 0.0045712157 0.0024397023 0.0046895975 + 492500 0.0036671272 0.0025491993 0.0043541135 + 492600 0.0059204401 0.0023798466 0.0052938132 + 492700 0.0064055209 0.0022733982 0.0054261155 + 492800 0.0050844378 0.0023954969 0.0048979936 + 492900 0.0058970641 0.0021306929 0.0050331541 + 493000 0.0038063094 0.0022277328 0.0041011507 + 493100 0.0041290243 0.0025727383 0.0046049924 + 493200 0.0069115479 0.0023435232 0.0057453007 + 493300 0.0053508119 0.0021532253 0.004786828 + 493400 0.0042859699 0.0022763165 0.0043858173 + 493500 0.0048584285 0.0022698571 0.0046611149 + 493600 0.0036742743 0.0025787193 0.0043871512 + 493700 0.0053463727 0.0027819426 0.0054133605 + 493800 0.005270076 0.0027033185 0.005297184 + 493900 0.0050352102 0.0026523102 0.0051305777 + 494000 0.0053507888 0.002983115 0.0056167064 + 494100 0.005284172 0.0030988999 0.0056997033 + 494200 0.0054460006 0.0030150907 0.0056955441 + 494300 0.0066284645 0.0029400985 0.0062025459 + 494400 0.0049997025 0.0031076738 0.0055684649 + 494500 0.0056949657 0.0029392056 0.0057421965 + 494600 0.0056694613 0.0028929604 0.0056833984 + 494700 0.0044373681 0.0031176949 0.005301712 + 494800 0.0047891062 0.003228167 0.0055853052 + 494900 0.0051700368 0.0027495147 0.0052941421 + 495000 0.0076329873 0.0026203896 0.0063772505 + 495100 0.0058871191 0.0036574487 0.0065550151 + 495200 0.0056006099 0.0039711075 0.0067276577 + 495300 0.0039883992 0.0033268043 0.0052898445 + 495400 0.0059989698 0.0030422516 0.0059948696 + 495500 0.0057113333 0.0028594082 0.0056704551 + 495600 0.0053833199 0.002743286 0.0053928888 + 495700 0.0046847886 0.0030076384 0.0053134328 + 495800 0.0049742745 0.0027340816 0.0051823573 + 495900 0.0058003851 0.0023361559 0.005191033 + 496000 0.006014056 0.0030029718 0.005963015 + 496100 0.0057919231 0.0033621921 0.0062129042 + 496200 0.0066180909 0.0028319212 0.0060892629 + 496300 0.0065917874 0.002770805 0.0060152003 + 496400 0.0063833453 0.0031447331 0.0062865359 + 496500 0.0060915137 0.003199935 0.0061981019 + 496600 0.005065513 0.0028675541 0.0053607363 + 496700 0.006281029 0.0025626756 0.0056541195 + 496800 0.0061063741 0.0027518023 0.0057572833 + 496900 0.0049136855 0.0025816073 0.0050000619 + 497000 0.0043476048 0.0020356099 0.0041754466 + 497100 0.0036032487 0.0019894594 0.0037629334 + 497200 0.0068945121 0.0022869125 0.0056803051 + 497300 0.0060057664 0.0028285276 0.0057844908 + 497400 0.0056761855 0.0033667937 0.0061605412 + 497500 0.0064192005 0.0031774545 0.0063369047 + 497600 0.0056383716 0.0023769947 0.0051521307 + 497700 0.005515897 0.0022468609 0.0049617164 + 497800 0.0038619146 0.0024076038 0.0043083899 + 497900 0.0050063366 0.0024470648 0.0049111211 + 498000 0.0045639683 0.0027283772 0.0049747053 + 498100 0.0041996928 0.0025705554 0.0046375917 + 498200 0.0059931823 0.0022674248 0.0052171943 + 498300 0.0070636315 0.0027975309 0.006274162 + 498400 0.0040476711 0.0029626355 0.0049548486 + 498500 0.0050962629 0.0031997129 0.0057080297 + 498600 0.0043324455 0.0028993885 0.005031764 + 498700 0.0046579414 0.0025855405 0.004878121 + 498800 0.0064937655 0.0018670715 0.0050632217 + 498900 0.0058547536 0.0017070008 0.0045886373 + 499000 0.006968326 0.0015857537 0.0050154767 + 499100 0.0066311815 0.0016622015 0.0049259862 + 499200 0.0058773904 0.0021384545 0.0050312327 + 499300 0.005102984 0.0020369556 0.0045485806 + 499400 0.0045382808 0.001874611 0.0041082961 + 499500 0.0043611391 0.001637688 0.0037841861 + 499600 0.0042185575 0.0018736111 0.0039499324 + 499700 0.0052279827 0.0018473267 0.0044204745 + 499800 0.0048289032 0.0017631609 0.0041398867 + 499900 0.0042484817 0.001667882 0.0037589316 + 500000 0.0032469482 0.001608823 0.0032069303 + 500100 0.0041684985 0.0016772916 0.0037289745 + 500200 0.0063146479 0.0016756118 0.0047836025 + 500300 0.0057499747 0.0018270082 0.0046570738 + 500400 0.0048892829 0.00214396 0.004550404 + 500500 0.0052483569 0.0017446589 0.0043278345 + 500600 0.0048035817 0.0018252984 0.0041895613 + 500700 0.0054303544 0.0019875371 0.0046602896 + 500800 0.0062160722 0.0022790737 0.0053385468 + 500900 0.0042694487 0.0020630132 0.0041643825 + 501000 0.0066740395 0.0020876045 0.0053724833 + 501100 0.0042743831 0.0026634376 0.0047672356 + 501200 0.004227969 0.0027911033 0.0048720568 + 501300 0.0050361713 0.0021797378 0.0046584783 + 501400 0.0054094057 0.0020433582 0.0047058001 + 501500 0.0058328899 0.0018618921 0.0047327676 + 501600 0.0055040116 0.0022180779 0.0049270836 + 501700 0.0053138004 0.0021221823 0.0047375684 + 501800 0.0050315584 0.0020865538 0.004563024 + 501900 0.0048183633 0.0020942046 0.0044657428 + 502000 0.0038068692 0.00259403 0.0044677234 + 502100 0.0042401358 0.002859221 0.0049461628 + 502200 0.0052821785 0.0025324398 0.005132262 + 502300 0.007103115 0.002002544 0.0054986084 + 502400 0.0044376999 0.0022813867 0.0044655671 + 502500 0.0051270104 0.0023251606 0.004848611 + 502600 0.0048951078 0.0022295801 0.0046388909 + 502700 0.0056944586 0.0022169832 0.0050197246 + 502800 0.0059145668 0.0019928939 0.0049039698 + 502900 0.0047619276 0.0023641772 0.0047079384 + 503000 0.0060103984 0.0028606656 0.0058189086 + 503100 0.0039635125 0.0028389299 0.0047897212 + 503200 0.005604083 0.0026483614 0.005406621 + 503300 0.0056630056 0.0024669462 0.0052542067 + 503400 0.005141557 0.0022540072 0.0047846173 + 503500 0.0058100886 0.0021992031 0.0050588561 + 503600 0.0059887229 0.0023168731 0.0052644477 + 503700 0.0066170524 0.0020783954 0.0053352259 + 503800 0.0063044689 0.0017827275 0.0048857083 + 503900 0.0041411764 0.0023148491 0.0043530843 + 504000 0.0059965634 0.002303571 0.0052550046 + 504100 0.0037128663 0.002495298 0.0043227244 + 504200 0.0054912246 0.0023454399 0.005048152 + 504300 0.0054243754 0.0020767092 0.0047465189 + 504400 0.0042831299 0.0018645119 0.0039726149 + 504500 0.0046474884 0.0020586461 0.0043460818 + 504600 0.0056123586 0.0021327978 0.0048951306 + 504700 0.0063476377 0.0019334898 0.0050577178 + 504800 0.0051602733 0.0018945815 0.0044344035 + 504900 0.005512996 0.0019536788 0.0046671065 + 505000 0.00481039 0.0018372793 0.0042048932 + 505100 0.0040018067 0.0014307809 0.0034004201 + 505200 0.0041438974 0.0015649617 0.0036045362 + 505300 0.0044726972 0.0013343663 0.003535772 + 505400 0.0055677795 0.0013886024 0.0041289939 + 505500 0.0069773527 0.0016637565 0.0050979223 + 505600 0.003983827 0.0023299536 0.0042907435 + 505700 0.0041425135 0.0024478238 0.0044867172 + 505800 0.0053674504 0.0020082786 0.0046500706 + 505900 0.0043740321 0.0022319756 0.0043848195 + 506000 0.0049973009 0.00239419 0.0048537991 + 506100 0.0054735012 0.0023060387 0.0050000276 + 506200 0.0048668127 0.0017253624 0.0041207468 + 506300 0.0045432536 0.0013407189 0.0035768515 + 506400 0.0045440944 0.0018982109 0.0041347574 + 506500 0.0050631037 0.0021955252 0.0046875215 + 506600 0.0037741881 0.0021778985 0.0040355067 + 506700 0.005303399 0.0022283549 0.0048386216 + 506800 0.0056137981 0.0021142348 0.004877276 + 506900 0.0040357696 0.0021726822 0.0041590376 + 507000 0.0060124666 0.002116832 0.0050760929 + 507100 0.0057655515 0.0024369803 0.0052747127 + 507200 0.00479659 0.0024024533 0.004763275 + 507300 0.0046806325 0.002519304 0.0048230528 + 507400 0.0063324016 0.0022637258 0.0053804547 + 507500 0.0058255419 0.0025663938 0.0054336528 + 507600 0.0048935774 0.0024661253 0.0048746829 + 507700 0.0049525394 0.002013263 0.004450841 + 507800 0.0050732749 0.0018199718 0.0043169743 + 507900 0.0033193558 0.0022862555 0.0039200009 + 508000 0.0049633151 0.0025749666 0.0050178482 + 508100 0.0035263498 0.0024158857 0.004151511 + 508200 0.0073414981 0.0020443429 0.0056577365 + 508300 0.0058321092 0.002683676 0.0055541673 + 508400 0.0058662703 0.0029674757 0.0058547806 + 508500 0.0042458961 0.0029347162 0.0050244932 + 508600 0.0056524687 0.0028869162 0.0056689906 + 508700 0.0054465357 0.0024124568 0.0050931736 + 508800 0.0046226438 0.0023144925 0.0045897 + 508900 0.0054298301 0.0026294877 0.0053019822 + 509000 0.0056857511 0.0028002115 0.0055986671 + 509100 0.0052352396 0.0026796271 0.0052563466 + 509200 0.0049448153 0.0028189534 0.0052527297 + 509300 0.0054189715 0.0030860361 0.0057531861 + 509400 0.0050998203 0.0035204776 0.0060305454 + 509500 0.0055692745 0.003207115 0.0059482423 + 509600 0.0040923869 0.0029289109 0.0049431326 + 509700 0.0050830436 0.0026571605 0.005158971 + 509800 0.0057367925 0.0026431534 0.005466731 + 509900 0.0047786728 0.0019842825 0.0043362856 + 510000 0.005041201 0.002272965 0.0047541812 + 510100 0.0050000867 0.0023745949 0.0048355751 + 510200 0.0051136554 0.0026978518 0.005214729 + 510300 0.0043890071 0.0030027027 0.0051629171 + 510400 0.0040282983 0.0029733033 0.0049559814 + 510500 0.0048358693 0.0031562324 0.0055363868 + 510600 0.0068379489 0.0032743482 0.0066399011 + 510700 0.004644749 0.0033558817 0.005641969 + 510800 0.0050862976 0.0034435438 0.005946956 + 510900 0.0045612673 0.0033150483 0.005560047 + 511000 0.0061312635 0.0028742535 0.0058919848 + 511100 0.0049613814 0.0025331935 0.0049751234 + 511200 0.0051122184 0.0024103631 0.0049265331 + 511300 0.004643579 0.0026058351 0.0048913466 + 511400 0.0053635895 0.0025748181 0.0052147098 + 511500 0.0044855148 0.0017762771 0.0039839914 + 511600 0.004891381 0.001599674 0.0040071506 + 511700 0.0049450592 0.00214128 0.0045751763 + 511800 0.005050872 0.0025174666 0.0050034427 + 511900 0.0046638932 0.002103458 0.004398968 + 512000 0.0043812316 0.0017788708 0.0039352582 + 512100 0.0048726072 0.0019213591 0.0043195955 + 512200 0.003739028 0.0025925316 0.0044328344 + 512300 0.0043435413 0.003154165 0.0052920017 + 512400 0.0040744773 0.0030853768 0.0050907836 + 512500 0.0049386467 0.00283652 0.0052672602 + 512600 0.0041706624 0.0024487124 0.0045014603 + 512700 0.0044824731 0.0020163616 0.0042225789 + 512800 0.0050295746 0.002003509 0.0044790027 + 512900 0.0042682567 0.0020885269 0.0041893095 + 513000 0.0040478534 0.0023995112 0.0043918141 + 513100 0.0052265809 0.0023586101 0.0049310679 + 513200 0.004949219 0.0020706313 0.004506575 + 513300 0.0046867551 0.0019348467 0.004241609 + 513400 0.0068490869 0.0017505745 0.0051216095 + 513500 0.0045799906 0.0021654951 0.0044197092 + 513600 0.0043129063 0.0026427366 0.0047654951 + 513700 0.0048967514 0.0021447029 0.0045548227 + 513800 0.0053472148 0.0026033851 0.0052352174 + 513900 0.006185189 0.0026074037 0.0056516764 + 514000 0.0068405001 0.0025719548 0.0059387634 + 514100 0.0064154445 0.0030267894 0.006184391 + 514200 0.0050172876 0.0034218581 0.0058913044 + 514300 0.004870182 0.0031817942 0.005578837 + 514400 0.0043362604 0.0027490446 0.0048832978 + 514500 0.0063249142 0.0024542652 0.0055673089 + 514600 0.0050015532 0.0027032718 0.0051649737 + 514700 0.0040293141 0.0025875443 0.0045707223 + 514800 0.0060249411 0.002139394 0.0051047946 + 514900 0.0071507686 0.0020340325 0.0055535514 + 515000 0.005716801 0.0024749012 0.0052886392 + 515100 0.0053174847 0.002551522 0.0051687215 + 515200 0.0051947708 0.0025564872 0.0051132885 + 515300 0.0047222194 0.0027508199 0.0050750372 + 515400 0.004210625 0.0025338003 0.0046062173 + 515500 0.0049869495 0.0019894325 0.0044439467 + 515600 0.004414836 0.002081796 0.0042547231 + 515700 0.0031984708 0.0021068181 0.0036810654 + 515800 0.0058958546 0.0021341952 0.0050360612 + 515900 0.0046004784 0.0017890336 0.0040533315 + 516000 0.0054333029 0.0020708156 0.0047450194 + 516100 0.0064946741 0.0022743588 0.0054709562 + 516200 0.0072920914 0.0020125602 0.0056016364 + 516300 0.006235203 0.002287745 0.005356634 + 516400 0.0047797244 0.0025736188 0.0049261394 + 516500 0.0063291833 0.00201034 0.0051254849 + 516600 0.0040104878 0.0020361769 0.0040100888 + 516700 0.0047916334 0.0020394246 0.0043978067 + 516800 0.004841152 0.002433234 0.0048159885 + 516900 0.0050924433 0.0027563148 0.0052627518 + 517000 0.0071828562 0.0028593399 0.0063946519 + 517100 0.0045204468 0.0030878862 0.0053127936 + 517200 0.0054865975 0.0027067367 0.0054071714 + 517300 0.0054176711 0.0021070531 0.0047735631 + 517400 0.0055818569 0.0017623465 0.0045096667 + 517500 0.0037427804 0.0018628454 0.0037049951 + 517600 0.0036249014 0.0019709456 0.0037550767 + 517700 0.0060298418 0.0020203165 0.0049881292 + 517800 0.0059585235 0.0024413626 0.0053740733 + 517900 0.00396165 0.0028285136 0.0047783882 + 518000 0.0049828048 0.002699403 0.0051518773 + 518100 0.0053711258 0.0026273924 0.0052709933 + 518200 0.0036397097 0.0025929924 0.004384412 + 518300 0.0039003547 0.0021709854 0.0040906912 + 518400 0.0054322306 0.0021706724 0.0048443484 + 518500 0.0034689422 0.0024582597 0.0041656296 + 518600 0.005893132 0.0023383408 0.0052388667 + 518700 0.0064739571 0.0023440884 0.0055304892 + 518800 0.0042404988 0.0026734737 0.0047605942 + 518900 0.0047150271 0.0023773425 0.0046980198 + 519000 0.0060309722 0.0024030049 0.005371374 + 519100 0.0051691631 0.0029440895 0.0054882869 + 519200 0.004550084 0.0029171888 0.0051566833 + 519300 0.0049287 0.0029163714 0.005342216 + 519400 0.0062757152 0.0027632127 0.0058520413 + 519500 0.0060581317 0.0023306795 0.0053124162 + 519600 0.0063656786 0.0026070135 0.0057401209 + 519700 0.0053117162 0.0027328971 0.0053472575 + 519800 0.0041265727 0.0028241892 0.0048552367 + 519900 0.0051900079 0.0023597445 0.0049142016 + 520000 0.0042985219 0.0021867615 0.0043024402 + 520100 0.0037317412 0.0023121052 0.0041488216 + 520200 0.0059593083 0.0023096823 0.0052427793 + 520300 0.0042025723 0.0024533441 0.0045217976 + 520400 0.005100883 0.0026934706 0.0052040614 + 520500 0.0040036714 0.0025176755 0.0044882325 + 520600 0.0055959958 0.002228791 0.0049830701 + 520700 0.0057800402 0.0022347786 0.0050796422 + 520800 0.0054229505 0.002255991 0.0049250994 + 520900 0.0027519827 0.0022621147 0.0036166063 + 521000 0.0060870806 0.0020585009 0.0050544859 + 521100 0.005275884 0.0023966648 0.0049933889 + 521200 0.004985165 0.0025323242 0.0049859601 + 521300 0.004745882 0.0025241414 0.0048600052 + 521400 0.0045168123 0.0027450743 0.0049681929 + 521500 0.0042613992 0.0028501055 0.0049475129 + 521600 0.0055874366 0.0027695238 0.0055195903 + 521700 0.0052514085 0.0025308467 0.0051155243 + 521800 0.0046462281 0.0027485948 0.0050354103 + 521900 0.0048423967 0.0027896047 0.0051729718 + 522000 0.003536898 0.00267229 0.004413107 + 522100 0.0046498775 0.0027422123 0.0050308238 + 522200 0.0057315982 0.0023953096 0.0052163306 + 522300 0.0051550961 0.002252974 0.0047902478 + 522400 0.0044560395 0.0019238053 0.0041170122 + 522500 0.0045801147 0.0018687635 0.0041230387 + 522600 0.0049379633 0.0020362121 0.0044666159 + 522700 0.003856883 0.002052654 0.0039509636 + 522800 0.0037052481 0.0024136507 0.0042373275 + 522900 0.0051549095 0.0023970329 0.0049342149 + 523000 0.0052094064 0.0022348659 0.0047988706 + 523100 0.0043440027 0.0026742949 0.0048123588 + 523200 0.0038819789 0.0027364646 0.0046471261 + 523300 0.0057097347 0.0030182347 0.0058284948 + 523400 0.004688672 0.0025753349 0.0048830407 + 523500 0.0050153379 0.0026421463 0.0051106329 + 523600 0.0041524383 0.0024307968 0.004474575 + 523700 0.0046921968 0.0027618331 0.0050712737 + 523800 0.0046100743 0.0026263306 0.0048953516 + 523900 0.0045292519 0.0024740574 0.0047032986 + 524000 0.0041283864 0.0028498556 0.0048817958 + 524100 0.0047512661 0.0023345719 0.0046730857 + 524200 0.0049604014 0.0028544728 0.0052959204 + 524300 0.0063588495 0.0030249036 0.0061546499 + 524400 0.0046049754 0.0031111465 0.0053776578 + 524500 0.0060426204 0.0021432673 0.0051173695 + 524600 0.0056650281 0.0020390119 0.0048272679 + 524700 0.0040365113 0.0025689606 0.004555681 + 524800 0.0068117415 0.0024188171 0.0057714711 + 524900 0.0043559445 0.0028725975 0.0050165389 + 525000 0.0051872044 0.00290703 0.0054601072 + 525100 0.0049799767 0.0026134293 0.0050645116 + 525200 0.0054391948 0.002518869 0.0051959727 + 525300 0.0045346431 0.0026939195 0.0049258142 + 525400 0.005455778 0.0027602664 0.0054455321 + 525500 0.004122265 0.0029035383 0.0049324656 + 525600 0.0056896109 0.0027885095 0.0055888649 + 525700 0.0055790052 0.0027608076 0.0055067242 + 525800 0.0049360084 0.0029108956 0.0053403372 + 525900 0.0054958142 0.0030354489 0.0057404199 + 526000 0.0060394677 0.0031595708 0.0061321213 + 526100 0.004654161 0.0028878349 0.0051785548 + 526200 0.0058024282 0.0028097507 0.0056656333 + 526300 0.004516592 0.0031987078 0.005421718 + 526400 0.0044744176 0.0031275745 0.0053298269 + 526500 0.0054707919 0.0030423327 0.0057349881 + 526600 0.0063397313 0.0029351996 0.0060555361 + 526700 0.0059458132 0.0032939947 0.0062204496 + 526800 0.0047610621 0.0029341459 0.0052774811 + 526900 0.0055426769 0.0025309015 0.0052589378 + 527000 0.0053573544 0.0021829688 0.0048197917 + 527100 0.0044065381 0.0025882043 0.0047570473 + 527200 0.0055483348 0.002616825 0.005347646 + 527300 0.0046625535 0.0022615187 0.0045563692 + 527400 0.0047462761 0.00212585 0.0044619077 + 527500 0.0037035005 0.0023241302 0.0041469469 + 527600 0.0047546615 0.002447901 0.004788086 + 527700 0.004243244 0.0024711283 0.0045596 + 527800 0.0042965109 0.0024952566 0.0046099456 + 527900 0.0035148546 0.0024969292 0.0042268967 + 528000 0.0046256433 0.0022032522 0.004479936 + 528100 0.0050241526 0.0023209632 0.0047937883 + 528200 0.0048042939 0.0023785122 0.0047431256 + 528300 0.0040111762 0.002595663 0.0045699138 + 528400 0.0052075117 0.0031980005 0.0057610727 + 528500 0.0066509911 0.0025388476 0.0058123822 + 528600 0.0057833453 0.0022449191 0.0050914093 + 528700 0.003141411 0.0027509498 0.0042971131 + 528800 0.0061147651 0.0027307251 0.0057403361 + 528900 0.0065917276 0.0023929775 0.0056373435 + 529000 0.0053274933 0.0026524197 0.0052745454 + 529100 0.0041656699 0.0026033952 0.0046536859 + 529200 0.0053048627 0.0027496564 0.0053606436 + 529300 0.0055711813 0.0030432251 0.0057852909 + 529400 0.0043375671 0.0036563439 0.0057912402 + 529500 0.0060002497 0.0033904348 0.0063436827 + 529600 0.0058643335 0.0023417613 0.005228113 + 529700 0.0052890527 0.0023981647 0.0050013703 + 529800 0.0040448076 0.0027147159 0.0047055196 + 529900 0.0042836603 0.0029683936 0.0050767577 + 530000 0.0033922109 0.003247984 0.0049175877 + 530100 0.0059472981 0.0027891952 0.005716381 + 530200 0.0078334691 0.0021011321 0.0059566676 + 530300 0.0055286158 0.0025370682 0.0052581838 + 530400 0.0058386281 0.0029956944 0.0058693941 + 530500 0.0060386349 0.0024922302 0.0054643708 + 530600 0.0055085944 0.0024131506 0.0051244119 + 530700 0.0050014195 0.0023386907 0.0048003268 + 530800 0.0043201889 0.0025794687 0.0047058117 + 530900 0.0057985851 0.0020376901 0.0048916812 + 531000 0.0040985896 0.0022086635 0.0042259381 + 531100 0.0062306482 0.0023063582 0.0053730054 + 531200 0.0044700291 0.0024370267 0.0046371192 + 531300 0.0051948906 0.0026721308 0.005228991 + 531400 0.004501166 0.0028191735 0.0050345911 + 531500 0.0053827469 0.0027645049 0.0054138257 + 531600 0.0046607623 0.0027416939 0.0050356628 + 531700 0.005520903 0.0029627744 0.0056800938 + 531800 0.0052995655 0.0029220142 0.0055303941 + 531900 0.004510458 0.0025194258 0.0047394168 + 532000 0.0047300362 0.0023408247 0.0046688894 + 532100 0.0050708958 0.002074624 0.0045704555 + 532200 0.0052805895 0.0019700955 0.0045691356 + 532300 0.0058233801 0.0019633779 0.0048295729 + 532400 0.0050464796 0.0019910645 0.0044748787 + 532500 0.0044506969 0.0024439173 0.0046344947 + 532600 0.0044145294 0.0027554372 0.0049282134 + 532700 0.0048702003 0.0025345837 0.0049316354 + 532800 0.0051986672 0.0023857729 0.004944492 + 532900 0.0046280833 0.0024816738 0.0047595586 + 533000 0.0061137099 0.0026632936 0.0056723852 + 533100 0.004894461 0.0030723643 0.0054813568 + 533200 0.0039281918 0.003372246 0.0053056528 + 533300 0.0044198305 0.0028831997 0.005058585 + 533400 0.0053107476 0.0029285286 0.0055424122 + 533500 0.0050078697 0.0025140144 0.0049788253 + 533600 0.004083409 0.0026412702 0.0046510731 + 533700 0.0053277006 0.0024986979 0.0051209256 + 533800 0.0060922184 0.0022164931 0.0052150068 + 533900 0.007221307 0.0022046518 0.0057588888 + 534000 0.0039455038 0.0024189944 0.0043609221 + 534100 0.0066650194 0.0027079106 0.0059883499 + 534200 0.0035169333 0.0024979908 0.0042289814 + 534300 0.0067727086 0.0020445816 0.0053780242 + 534400 0.0065992273 0.002220251 0.0054683083 + 534500 0.006034545 0.0026200407 0.0055901683 + 534600 0.0064488072 0.0029693524 0.0061433747 + 534700 0.004566734 0.003209905 0.0054575944 + 534800 0.0054862462 0.0024278335 0.0051280953 + 534900 0.0058746665 0.0024344037 0.0053258411 + 535000 0.0037101989 0.0023400032 0.0041661167 + 535100 0.0044899545 0.0022638721 0.0044737716 + 535200 0.0039293653 0.002451231 0.0043852155 + 535300 0.0059707031 0.0024403036 0.005379009 + 535400 0.0047715741 0.002337623 0.0046861321 + 535500 0.0056968076 0.0022999702 0.0051038677 + 535600 0.0055005585 0.0023917824 0.0050990885 + 535700 0.0066172578 0.0026262541 0.0058831857 + 535800 0.0063303568 0.0025380457 0.0056537682 + 535900 0.0043119755 0.0029904056 0.0051127061 + 536000 0.0050710354 0.0027175001 0.0052134003 + 536100 0.0052851009 0.0028556706 0.0054569312 + 536200 0.0055832093 0.0029379122 0.0056858981 + 536300 0.0071330465 0.0025030799 0.0060138762 + 536400 0.004772884 0.0027211814 0.0050703352 + 536500 0.0048670503 0.002674492 0.0050699933 + 536600 0.0042550111 0.002722026 0.0048162893 + 536700 0.0048017951 0.0032566543 0.0056200378 + 536800 0.0040137621 0.0034062068 0.0053817303 + 536900 0.0042090666 0.0030672294 0.0051388793 + 537000 0.0044330889 0.003072091 0.0052540019 + 537100 0.00538778 0.0029187715 0.0055705695 + 537200 0.0047807258 0.0032657387 0.0056187522 + 537300 0.0041752225 0.0035328063 0.0055877986 + 537400 0.0052036074 0.0030021833 0.0055633338 + 537500 0.0049433218 0.0026416536 0.0050746948 + 537600 0.0054757489 0.002219872 0.0049149671 + 537700 0.0040433649 0.0025016353 0.004491729 + 537800 0.0048463824 0.0023915509 0.0047768797 + 537900 0.0046674569 0.002450941 0.0047482049 + 538000 0.0052768044 0.0025597995 0.0051569766 + 538100 0.0051883515 0.0027714816 0.0053251234 + 538200 0.0057884998 0.0029899107 0.005838938 + 538300 0.0038155783 0.0028823677 0.0047603476 + 538400 0.0047409631 0.0026088135 0.0049422562 + 538500 0.0049743953 0.0027221434 0.0051704785 + 538600 0.0063827514 0.0021895159 0.0053310264 + 538700 0.0053987678 0.0017149738 0.0043721799 + 538800 0.0057761895 0.0018093993 0.0046523676 + 538900 0.0057790995 0.002409977 0.0052543776 + 539000 0.0054269065 0.0025692191 0.0052402746 + 539100 0.0055890008 0.0023069777 0.005057814 + 539200 0.0045296809 0.0025965173 0.0048259696 + 539300 0.0044041812 0.0027180412 0.0048857241 + 539400 0.0049388619 0.0023036925 0.0047345386 + 539500 0.0051781334 0.0022767507 0.0048253632 + 539600 0.0057047061 0.0029869117 0.0057946967 + 539700 0.0064197672 0.003283493 0.0064432222 + 539800 0.0056997079 0.0027382902 0.0055436152 + 539900 0.0061395624 0.002839082 0.0058608979 + 540000 0.004172512 0.0025290867 0.0045827449 + 540100 0.0050723646 0.0021387814 0.0046353359 + 540200 0.0040912306 0.0021274714 0.0041411239 + 540300 0.0053061865 0.0024025154 0.0050141541 + 540400 0.0040209217 0.002021617 0.0040006644 + 540500 0.0046911125 0.0015378008 0.0038467077 + 540600 0.0041986618 0.0015484675 0.0036149964 + 540700 0.003411373 0.0016797444 0.0033587796 + 540800 0.0034012576 0.0016935162 0.0033675726 + 540900 0.004688738 0.0019110343 0.0042187726 + 541000 0.0049923228 0.0021718839 0.0046290427 + 541100 0.0042131651 0.0024130893 0.0044867565 + 541200 0.0047726702 0.0028563414 0.00520539 + 541300 0.0049062067 0.0027095842 0.0051243577 + 541400 0.0047217764 0.0021403486 0.0044643479 + 541500 0.0069010297 0.0019429512 0.0053395518 + 541600 0.0050149784 0.0020924082 0.0045607179 + 541700 0.0061029766 0.0020082089 0.0050120177 + 541800 0.0061300378 0.0019066496 0.0049237776 + 541900 0.0054711471 0.0022653977 0.004958228 + 542000 0.0058465561 0.002100056 0.0049776578 + 542100 0.0053043107 0.0018001363 0.0044108517 + 542200 0.003615857 0.0017627849 0.0035424645 + 542300 0.0058390332 0.0016099044 0.0044838036 + 542400 0.0057773253 0.0017543757 0.004597903 + 542500 0.0048001508 0.0021754716 0.0045380458 + 542600 0.00622376 0.0021277654 0.0051910223 + 542700 0.0048845112 0.0022798731 0.0046839684 + 542800 0.0042866342 0.0026352364 0.0047450641 + 542900 0.0050707238 0.0025076471 0.0050033939 + 543000 0.0049373475 0.002181007 0.0046111078 + 543100 0.0037651517 0.0020574173 0.0039105779 + 543200 0.0043639276 0.0018112041 0.0039590747 + 543300 0.0059307662 0.0020397335 0.0049587825 + 543400 0.0054082148 0.0018406213 0.0045024771 + 543500 0.0064193344 0.0016899228 0.004849439 + 543600 0.005464159 0.0021284948 0.0048178855 + 543700 0.0044880458 0.002127948 0.004336908 + 543800 0.0052375653 0.0019926537 0.0045705179 + 543900 0.0060609177 0.0018268841 0.004809992 + 544000 0.0043874667 0.0021649635 0.0043244197 + 544100 0.0058677296 0.0022976386 0.0051856618 + 544200 0.005173481 0.0025356408 0.0050819635 + 544300 0.0065921299 0.0022820027 0.0055265666 + 544400 0.0046015111 0.0024797539 0.0047445601 + 544500 0.0069998789 0.0022473474 0.0056926004 + 544600 0.0048117212 0.0023939896 0.0047622586 + 544700 0.0053624797 0.0028634881 0.0055028336 + 544800 0.0047493213 0.0027948668 0.0051324234 + 544900 0.005503115 0.0028614048 0.0055699692 + 545000 0.0062593149 0.0029283287 0.0060090852 + 545100 0.0052691559 0.0030610758 0.0056544885 + 545200 0.0052818095 0.0029470335 0.0055466742 + 545300 0.0054292253 0.0025523012 0.005224498 + 545400 0.0056089753 0.0031139026 0.0058745702 + 545500 0.0048922849 0.0031339213 0.0055418428 + 545600 0.0066063142 0.0025305074 0.0057820526 + 545700 0.0047983489 0.0028043836 0.005166071 + 545800 0.0045148056 0.0025670638 0.0047891947 + 545900 0.0051301082 0.0023168105 0.0048417856 + 546000 0.0033826868 0.0019928599 0.0036577761 + 546100 0.0055179832 0.0021675362 0.0048834185 + 546200 0.0039621428 0.0024720319 0.004422149 + 546300 0.0066871966 0.0025877631 0.0058791176 + 546400 0.0036820236 0.0028748663 0.0046871123 + 546500 0.0039748762 0.0027047795 0.0046611639 + 546600 0.0052286406 0.0017738416 0.0043473131 + 546700 0.0055468372 0.0016238683 0.0043539522 + 546800 0.0045846791 0.0018591555 0.0041156772 + 546900 0.005579441 0.0015447616 0.0042908927 + 547000 0.0048787937 0.0021173359 0.0045186171 + 547100 0.0055832958 0.0026730733 0.0054211018 + 547200 0.0055723038 0.0029414848 0.0056841031 + 547300 0.0054435397 0.0026521003 0.0053313425 + 547400 0.0047153795 0.0028046766 0.0051255275 + 547500 0.006727448 0.0027378389 0.0060490047 + 547600 0.0046498262 0.0032162033 0.0055047896 + 547700 0.005928306 0.003290781 0.006208619 + 547800 0.0058130525 0.0033377135 0.0061988252 + 547900 0.004630868 0.0034838926 0.0057631479 + 548000 0.0051929985 0.0030846194 0.0056405483 + 548100 0.0059425482 0.0028032946 0.0057281425 + 548200 0.0056950043 0.0025618723 0.0053648823 + 548300 0.0050819178 0.0027179067 0.0052191631 + 548400 0.0047559311 0.0028127524 0.0051535622 + 548500 0.0050707414 0.0024394769 0.0049352324 + 548600 0.005441544 0.0029110203 0.0055892803 + 548700 0.0064282495 0.0029424413 0.0061063454 + 548800 0.0057536775 0.0027876145 0.0056195027 + 548900 0.004860627 0.0025658396 0.0049581795 + 549000 0.0045162108 0.0025049634 0.0047277859 + 549100 0.0054686988 0.0019885545 0.0046801797 + 549200 0.0062891155 0.0019840373 0.0050794613 + 549300 0.0073412289 0.0025135672 0.0061268283 + 549400 0.0052720081 0.0026304188 0.0052252353 + 549500 0.0058635323 0.0029910037 0.005876961 + 549600 0.0059043809 0.0036784752 0.0065845376 + 549700 0.006459184 0.0035407328 0.0067198624 + 549800 0.0051367376 0.0034048172 0.0059330552 + 549900 0.0056379672 0.0033532747 0.0061282116 + 550000 0.0052612352 0.0032148215 0.0058043357 + 550100 0.0040051755 0.002680677 0.0046519743 + 550200 0.0059483073 0.0023970957 0.0053247781 + 550300 0.00597669 0.0023659472 0.0053075993 + 550400 0.0052975781 0.0027085021 0.0053159039 + 550500 0.0048433916 0.0032069103 0.005590767 + 550600 0.0053652578 0.003274207 0.0059149198 + 550700 0.0084076824 0.0025334433 0.0066715995 + 550800 0.0029899822 0.0031491088 0.0046207407 + 550900 0.0042336515 0.003428497 0.0055122473 + 551000 0.005283475 0.0023712412 0.0049717016 + 551100 0.0048256567 0.0024837107 0.0048588386 + 551200 0.0048956097 0.0028061251 0.005215683 + 551300 0.0047922484 0.0026473504 0.0050060351 + 551400 0.0046763047 0.0024002048 0.0047018235 + 551500 0.0062325277 0.0020949948 0.005162567 + 551600 0.0047561274 0.0022455182 0.0045864246 + 551700 0.0041611195 0.0024611929 0.0045092439 + 551800 0.0065399293 0.0024614426 0.0056803141 + 551900 0.0057265115 0.0024700601 0.0052885775 + 552000 0.0051647802 0.0027316998 0.00527374 + 552100 0.0050789702 0.0030063072 0.0055061129 + 552200 0.0068276046 0.0031822037 0.0065426653 + 552300 0.0063933887 0.0027447964 0.0058915425 + 552400 0.0055592339 0.0023861342 0.0051223196 + 552500 0.005090299 0.002758018 0.0052633995 + 552600 0.0059660517 0.0028512502 0.0057876663 + 552700 0.0052661483 0.0023097979 0.0049017302 + 552800 0.0044378578 0.0019871691 0.0041714273 + 552900 0.004649709 0.0020072662 0.0042957949 + 553000 0.0051457166 0.0020893712 0.0046220286 + 553100 0.0047206971 0.0017615888 0.0040850569 + 553200 0.0059163797 0.0021291319 0.0050411 + 553300 0.0050380343 0.0028327505 0.005312408 + 553400 0.0060248519 0.0026817943 0.0056471511 + 553500 0.0047846306 0.0031680587 0.0055229941 + 553600 0.0048967395 0.0029539105 0.0053640245 + 553700 0.0062971028 0.0025574573 0.0056568126 + 553800 0.0062484031 0.0021123389 0.0051877248 + 553900 0.0034938271 0.0024234802 0.0041430982 + 554000 0.0045769748 0.0023025755 0.0045553053 + 554100 0.0050228385 0.0023614604 0.0048336387 + 554200 0.0045076951 0.0020769879 0.0042956191 + 554300 0.0037150055 0.0021486843 0.0039771635 + 554400 0.0057350658 0.002386078 0.0052088057 + 554500 0.0053590982 0.0025230376 0.0051607188 + 554600 0.004083642 0.0024906535 0.004500571 + 554700 0.004693368 0.0025086365 0.0048186536 + 554800 0.0046554728 0.0022737814 0.0045651469 + 554900 0.004722376 0.0019142053 0.0042384997 + 555000 0.0053130525 0.0018575384 0.0044725565 + 555100 0.0048709162 0.0022035226 0.0046009266 + 555200 0.0042605442 0.0026894089 0.0047863955 + 555300 0.0068981912 0.0022869527 0.0056821562 + 555400 0.0055653569 0.0025896651 0.0053288642 + 555500 0.0040889652 0.0024945708 0.0045071083 + 555600 0.0040737434 0.0020455779 0.0040506234 + 555700 0.0059735623 0.0022911545 0.0052312672 + 555800 0.0055521474 0.0027009029 0.0054336004 + 555900 0.0050250044 0.0024774947 0.004950739 + 556000 0.0042940219 0.0025630387 0.0046765026 + 556100 0.0037697961 0.0026185893 0.0044740358 + 556200 0.0052176628 0.0023434465 0.0049115149 + 556300 0.0053208859 0.0026663608 0.0052852344 + 556400 0.0038339366 0.0031066874 0.004993703 + 556500 0.0043924171 0.0033383817 0.0055002744 + 556600 0.0044071808 0.0036390777 0.005808237 + 556700 0.0058542847 0.0037976422 0.0066790479 + 556800 0.0043549591 0.0040839509 0.0062274073 + 556900 0.005586446 0.003422323 0.0061719019 + 557000 0.0058566016 0.0028719535 0.0057544996 + 557100 0.0053106269 0.0033076055 0.0059214297 + 557200 0.0043762197 0.0038077489 0.0059616695 + 557300 0.0052815447 0.0034013805 0.0060008908 + 557400 0.004228765 0.0032749134 0.0053562587 + 557500 0.0056720337 0.0033549242 0.0061466283 + 557600 0.0045194069 0.0035420806 0.0057664762 + 557700 0.004953766 0.0034669515 0.0059051332 + 557800 0.004431467 0.0034417716 0.0056228843 + 557900 0.0048308134 0.0035286255 0.0059062915 + 558000 0.0070531405 0.0034222098 0.0068936774 + 558100 0.0044092498 0.0035720869 0.0057422645 + 558200 0.0047334733 0.0033264889 0.0056562452 + 558300 0.0055752555 0.0029665022 0.0057105733 + 558400 0.0049289663 0.0028889195 0.0053148951 + 558500 0.004884959 0.0022276252 0.0046319409 + 558600 0.0046354663 0.0018273654 0.004108884 + 558700 0.0051234558 0.0022405643 0.0047622651 + 558800 0.0041887023 0.0024815709 0.0045431978 + 558900 0.0047561294 0.0027288284 0.0050697359 + 559000 0.0048719954 0.0034809715 0.0058789068 + 559100 0.0045663621 0.0028063872 0.0050538936 + 559200 0.0061018591 0.0025458413 0.0055491001 + 559300 0.0053012407 0.0025883249 0.0051975293 + 559400 0.0050162409 0.0023479295 0.0048168606 + 559500 0.0040913221 0.0022932205 0.0043069181 + 559600 0.005708868 0.0025664433 0.0053762768 + 559700 0.0045052077 0.0029491909 0.0051665978 + 559800 0.0053949 0.0028927039 0.0055480062 + 559900 0.0062425963 0.0028790588 0.0059515867 + 560000 0.0051856628 0.0031518026 0.005704121 + 560100 0.0046913864 0.0027430314 0.0050520731 + 560200 0.0058561766 0.0026132512 0.0054955881 + 560300 0.0044082541 0.002365114 0.0045348016 + 560400 0.0043159957 0.0027140097 0.0048382888 + 560500 0.0077319333 0.0019981387 0.0058036996 + 560600 0.0052557284 0.0019517182 0.004538522 + 560700 0.0042703502 0.0022451392 0.0043469522 + 560800 0.0041711497 0.0023081762 0.0043611639 + 560900 0.0048811154 0.0023038774 0.0047063014 + 561000 0.0057777293 0.0022256569 0.0050693831 + 561100 0.0055919155 0.0022213306 0.0049736015 + 561200 0.0055924893 0.0023658244 0.0051183777 + 561300 0.0041591514 0.0023014833 0.0043485656 + 561400 0.0052207303 0.0029730917 0.0055426699 + 561500 0.0054940766 0.0030928567 0.0057969726 + 561600 0.0052294643 0.0030017266 0.0055756035 + 561700 0.0051610515 0.0029462163 0.0054864213 + 561800 0.0045310351 0.0025334727 0.0047635916 + 561900 0.0044665658 0.0023110773 0.0045094652 + 562000 0.0040748372 0.002381026 0.0043866099 + 562100 0.0046117045 0.0023243365 0.0045941598 + 562200 0.0028664498 0.002627475 0.0040383058 + 562300 0.0057449343 0.0023399186 0.0051675034 + 562400 0.0057266663 0.0028734544 0.0056920479 + 562500 0.0047961631 0.0030178865 0.005378498 + 562600 0.0067242823 0.0026772317 0.0059868394 + 562700 0.0048112086 0.0024921787 0.0048601954 + 562800 0.0049786018 0.0023455174 0.0047959229 + 562900 0.0048883846 0.0025210562 0.004927058 + 563000 0.0051853622 0.002729622 0.0052817925 + 563100 0.0052668222 0.002843902 0.0054361661 + 563200 0.0053684028 0.0026374431 0.0052797039 + 563300 0.0063464526 0.0023001928 0.0054238374 + 563400 0.0046208026 0.002285711 0.0045600123 + 563500 0.0051130921 0.002079381 0.004595981 + 563600 0.0051941744 0.0017234271 0.0042799348 + 563700 0.0047212008 0.0020281315 0.0043518475 + 563800 0.0053754472 0.0025317577 0.0051774856 + 563900 0.0051105258 0.0028131926 0.0053285295 + 564000 0.0071214187 0.0020217117 0.0055267849 + 564100 0.0038528905 0.0019401062 0.0038364507 + 564200 0.0046134369 0.0027288067 0.0049994827 + 564300 0.0043396507 0.0028260808 0.0049620027 + 564400 0.0060394114 0.0025805866 0.0055531095 + 564500 0.0041160575 0.0025719321 0.0045978041 + 564600 0.0061083157 0.0023567258 0.0053631624 + 564700 0.0044389968 0.0021898751 0.0043746939 + 564800 0.0055857608 0.0017783342 0.0045275758 + 564900 0.0062324714 0.0019254818 0.0049930263 + 565000 0.0043071955 0.0020688561 0.0041888038 + 565100 0.0051464687 0.0019728707 0.0045058982 + 565200 0.0060922947 0.0023958362 0.0053943875 + 565300 0.0052468631 0.0028834002 0.0054658406 + 565400 0.0047675272 0.0032183002 0.0055648175 + 565500 0.0055543393 0.0029225231 0.0056562995 + 565600 0.0058230873 0.0032057072 0.0060717579 + 565700 0.0048095619 0.0032373109 0.0056045172 + 565800 0.0068980411 0.0024233164 0.005818446 + 565900 0.0053814146 0.0020229284 0.0046715934 + 566000 0.0040880497 0.0019968257 0.0040089126 + 566100 0.0053322881 0.0019209488 0.0045454344 + 566200 0.0036223619 0.0022040309 0.0039869122 + 566300 0.0044587059 0.0023012544 0.0044957737 + 566400 0.0034749126 0.0022710814 0.0039813899 + 566500 0.0052952902 0.0018619677 0.0044682433 + 566600 0.0058673687 0.0015829685 0.0044708141 + 566700 0.0054056046 0.0019137998 0.0045743708 + 566800 0.00523467 0.0022904636 0.0048669028 + 566900 0.0055326457 0.0026460591 0.0053691582 + 567000 0.0040140665 0.002427557 0.0044032303 + 567100 0.0058984605 0.0025448623 0.0054480108 + 567200 0.0040148235 0.0022714506 0.0042474965 + 567300 0.0052316574 0.0019406895 0.0045156459 + 567400 0.0034471854 0.0020375326 0.0037341942 + 567500 0.0034343973 0.0022624785 0.0039528459 + 567600 0.0044126839 0.002222508 0.0043943758 + 567700 0.0048408819 0.0019294352 0.0043120567 + 567800 0.0039272326 0.0019713002 0.003904235 + 567900 0.006121605 0.0019721982 0.0049851756 + 568000 0.0046860497 0.0015886092 0.0038950243 + 568100 0.004668631 0.0017862275 0.0040840693 + 568200 0.0056236091 0.0020805602 0.0048484303 + 568300 0.0049652151 0.0027774559 0.0052212727 + 568400 0.0054484153 0.0026913124 0.0053729543 + 568500 0.0045432462 0.0023774366 0.0046135656 + 568600 0.0057302038 0.0021804141 0.0050007488 + 568700 0.0041172322 0.0025424702 0.0045689204 + 568800 0.0034061499 0.0022805793 0.0039570437 + 568900 0.0044143554 0.0023788355 0.004551526 + 569000 0.0057477213 0.0023044837 0.0051334403 + 569100 0.0041719186 0.0024207024 0.0044740686 + 569200 0.0052386476 0.0021758782 0.004754275 + 569300 0.0057122909 0.0017940681 0.0046055862 + 569400 0.0054807143 0.0022604127 0.0049579517 + 569500 0.0056005201 0.0023315964 0.0050881024 + 569600 0.0052630777 0.0023778656 0.0049682867 + 569700 0.0048867185 0.0025284994 0.0049336812 + 569800 0.0043346832 0.0023244635 0.0044579404 + 569900 0.0035406354 0.0021046906 0.003847347 + 570000 0.0048102806 0.0017960988 0.0041636588 + 570100 0.0056252013 0.002115094 0.0048837477 + 570200 0.0056323529 0.002152781 0.0049249547 + 570300 0.0047800789 0.0021359817 0.0044886768 + 570400 0.0045896696 0.0018421515 0.0041011295 + 570500 0.0049672187 0.0016909525 0.0041357555 + 570600 0.0058184141 0.0018742998 0.0047380505 + 570700 0.0065092499 0.0023071467 0.0055109182 + 570800 0.0044939144 0.0021410171 0.0043528656 + 570900 0.0042323341 0.0018595665 0.0039426684 + 571000 0.0042964189 0.0018880743 0.004002718 + 571100 0.0053337162 0.0025447465 0.005169935 + 571200 0.0045293279 0.0026663425 0.0048956211 + 571300 0.0041461956 0.0028514873 0.004892193 + 571400 0.0052919898 0.003046215 0.0056508662 + 571500 0.0050697607 0.0029880663 0.0054833391 + 571600 0.0047491198 0.0025322004 0.0048696578 + 571700 0.007036695 0.0018950047 0.0053583781 + 571800 0.0037127642 0.0026406037 0.0044679798 + 571900 0.0050922528 0.0029719928 0.005478336 + 572000 0.0054836161 0.002755352 0.0054543193 + 572100 0.004927308 0.0026246089 0.0050497683 + 572200 0.0051669376 0.0026146423 0.0051577444 + 572300 0.0037879653 0.0031194786 0.0049838678 + 572400 0.0052081068 0.0029725435 0.0055359085 + 572500 0.0047483906 0.0028960781 0.0052331766 + 572600 0.0055617004 0.0026837898 0.0054211893 + 572700 0.0048672676 0.0023664883 0.0047620965 + 572800 0.0053337933 0.0023147184 0.0049399448 + 572900 0.0051061411 0.0024949148 0.0050080937 + 573000 0.0051039828 0.0023221056 0.0048342222 + 573100 0.0040596378 0.0019139735 0.0039120765 + 573200 0.0036095038 0.0023580012 0.0041345538 + 573300 0.0063561258 0.0027053822 0.0058337879 + 573400 0.0056557706 0.0030710761 0.0058547757 + 573500 0.0059650388 0.0024866911 0.0054226086 + 573600 0.0052122672 0.0022407624 0.0048061751 + 573700 0.0049540102 0.0024846172 0.0049229191 + 573800 0.0055963922 0.0019681328 0.004722607 + 573900 0.00504603 0.0019053087 0.0043889016 + 574000 0.0047882604 0.0023930987 0.0047498206 + 574100 0.0065630718 0.0023990055 0.0056292674 + 574200 0.0057668763 0.002262743 0.0051011274 + 574300 0.0075049448 0.0022129178 0.0059067578 + 574400 0.0049389956 0.0026119935 0.0050429054 + 574500 0.0044954443 0.0023577668 0.0045703683 + 574600 0.0049770248 0.0017981672 0.0042477965 + 574700 0.0047208017 0.0019949194 0.0043184389 + 574800 0.0049173942 0.002274167 0.004694447 + 574900 0.0055269915 0.0025614245 0.0052817406 + 575000 0.0047514744 0.0024793372 0.0048179535 + 575100 0.005066324 0.0022941684 0.0047877497 + 575200 0.0046467301 0.0022719963 0.0045590588 + 575300 0.0050212434 0.0025309176 0.0050023108 + 575400 0.00371883 0.0024546856 0.0042850472 + 575500 0.0046472002 0.002165322 0.0044526158 + 575600 0.0054423954 0.0020774921 0.0047561711 + 575700 0.0053243156 0.0018948057 0.0045153672 + 575800 0.005571133 0.0019362194 0.0046782614 + 575900 0.0041472772 0.0022593145 0.0043005525 + 576000 0.0039316178 0.0023162375 0.0042513306 + 576100 0.0050264524 0.0020628273 0.0045367843 + 576200 0.0039713287 0.0018711377 0.003825776 + 576300 0.0053012545 0.0018096085 0.0044188197 + 576400 0.0049147774 0.0024198997 0.0048388917 + 576500 0.00429681 0.0029810936 0.0050959298 + 576600 0.0063470935 0.0024125024 0.0055364625 + 576700 0.0045825945 0.0022207506 0.0044762463 + 576800 0.0049717313 0.0018216963 0.0042687203 + 576900 0.0067794998 0.0018001895 0.0051369745 + 577000 0.0044281774 0.0021451098 0.0043246034 + 577100 0.0052613364 0.0021973805 0.0047869445 + 577200 0.0042782876 0.0024903759 0.0045960956 + 577300 0.0054031438 0.002118658 0.0047780179 + 577400 0.0055903559 0.0017659191 0.0045174224 + 577500 0.0054753024 0.0015917143 0.0042865897 + 577600 0.0040299242 0.0019678584 0.0039513367 + 577700 0.0064697902 0.0018517993 0.0050361492 + 577800 0.0039544938 0.0020673864 0.0040137388 + 577900 0.0050654246 0.0021927783 0.004685917 + 578000 0.0047024711 0.0026254334 0.0049399309 + 578100 0.0052937225 0.0026928419 0.0052983459 + 578200 0.0053891087 0.0025707991 0.005223251 + 578300 0.0044006576 0.0027044734 0.0048704221 + 578400 0.007648846 0.0025363261 0.0063009925 + 578500 0.0051218658 0.0029307988 0.0054517171 + 578600 0.0052521771 0.0027898134 0.0053748694 + 578700 0.0062204544 0.0027058233 0.0057674532 + 578800 0.0045151563 0.0028044757 0.0050267792 + 578900 0.0050714475 0.0025437989 0.005039902 + 579000 0.0059796415 0.0022193309 0.0051624357 + 579100 0.0052507431 0.0022602309 0.004844581 + 579200 0.0069897945 0.0022644918 0.0057047813 + 579300 0.0056013419 0.0020917064 0.0048486169 + 579400 0.0051839911 0.0019895352 0.0045410308 + 579500 0.0043195979 0.0021754853 0.0043015374 + 579600 0.0058201341 0.00244846 0.0053130573 + 579700 0.0052484948 0.0022967025 0.0048799461 + 579800 0.0051259374 0.0023374885 0.0048604108 + 579900 0.0053401405 0.0023785446 0.005006895 + 580000 0.0047148455 0.0022496267 0.0045702147 + 580100 0.0039061436 0.0022101204 0.0041326755 + 580200 0.0041791474 0.0021550652 0.0042119893 + 580300 0.0054803644 0.0020470027 0.0047443695 + 580400 0.0062959307 0.0020796483 0.0051784267 + 580500 0.0044972867 0.0021203567 0.004333865 + 580600 0.0044846805 0.0022014054 0.0044087091 + 580700 0.0036229636 0.0018904147 0.0036735921 + 580800 0.0051397369 0.0018776943 0.0044074086 + 580900 0.0037191585 0.0022117553 0.0040422786 + 581000 0.0036800823 0.0022158315 0.004027122 + 581100 0.0061861078 0.0019365271 0.0049812521 + 581200 0.0068710378 0.0018671227 0.0052489616 + 581300 0.0049839784 0.0021483694 0.0046014212 + 581400 0.0064782496 0.00244155 0.0056300635 + 581500 0.0042874801 0.0026328181 0.0047430622 + 581600 0.005275553 0.0025549691 0.0051515303 + 581700 0.0046113567 0.0022514176 0.0045210697 + 581800 0.0064843181 0.0018657528 0.0050572531 + 581900 0.0034600945 0.0020216664 0.0037246816 + 582000 0.0048672131 0.0020693488 0.0044649303 + 582100 0.0055617492 0.0018261843 0.0045636077 + 582200 0.0054567675 0.0019666333 0.0046523861 + 582300 0.0046175665 0.0020912087 0.0043639172 + 582400 0.0058203802 0.0019985159 0.0048632343 + 582500 0.0038741525 0.002160278 0.0040670874 + 582600 0.0038312961 0.0022078573 0.0040935733 + 582700 0.0061504986 0.00229459 0.0053217885 + 582800 0.0042903342 0.0022361469 0.0043477957 + 582900 0.0051665011 0.0022092525 0.0047521398 + 583000 0.0062611995 0.0022527295 0.0053344136 + 583100 0.003943965 0.0025863269 0.0045274972 + 583200 0.0052836658 0.0017826092 0.0043831634 + 583300 0.0037413607 0.0018327198 0.0036741707 + 583400 0.0047660536 0.0020580946 0.0044038866 + 583500 0.005023292 0.0019083875 0.004380789 + 583600 0.0042296157 0.0019707394 0.0040525034 + 583700 0.0068829588 0.002251433 0.0056391393 + 583800 0.004790357 0.0027602343 0.0051179882 + 583900 0.0055430755 0.0024567127 0.0051849452 + 584000 0.0049064105 0.0023539679 0.0047688418 + 584100 0.0057904022 0.0024355611 0.0052855247 + 584200 0.0039627991 0.0023685215 0.0043189617 + 584300 0.0039670919 0.0024628353 0.0044153883 + 584400 0.0044560684 0.0021244603 0.0043176815 + 584500 0.0047580025 0.0021055119 0.0044473413 + 584600 0.0039909107 0.0025672857 0.004531562 + 584700 0.005494122 0.0024898033 0.0051939414 + 584800 0.0048010964 0.0022409179 0.0046039575 + 584900 0.004697053 0.0019586659 0.0042704967 + 585000 0.0036744971 0.0020502266 0.0038587681 + 585100 0.0043888762 0.0024199543 0.0045801043 + 585200 0.0055113683 0.0026780933 0.0053907199 + 585300 0.0052658163 0.0029041255 0.0054958945 + 585400 0.0057965981 0.0029864319 0.005839445 + 585500 0.0055687414 0.0028735227 0.0056143876 + 585600 0.0059057623 0.0022200333 0.0051267757 + 585700 0.0049908263 0.0021134884 0.0045699107 + 585800 0.0049584116 0.0025796999 0.0050201681 + 585900 0.0049630216 0.0026889603 0.0051316975 + 586000 0.0042902629 0.0031144241 0.0052260379 + 586100 0.0045407769 0.0030361977 0.0052711113 + 586200 0.0055861721 0.0026327688 0.0053822129 + 586300 0.0053549394 0.0025779401 0.0052135743 + 586400 0.0055825582 0.002508729 0.0052563943 + 586500 0.005385872 0.0025777079 0.0052285668 + 586600 0.0062731025 0.0029656339 0.0060531766 + 586700 0.0065060967 0.0033284206 0.00653064 + 586800 0.0051477044 0.0032797937 0.0058134294 + 586900 0.0051285029 0.0031464111 0.0056705962 + 587000 0.0050390633 0.0027282062 0.0052083702 + 587100 0.0053960089 0.0026759733 0.0053318214 + 587200 0.0047928743 0.0030480695 0.0054070624 + 587300 0.0072348846 0.002847786 0.0064087058 + 587400 0.0067143405 0.002809434 0.0061141485 + 587500 0.0033896996 0.002730412 0.0043987798 + 587600 0.0046313481 0.0025369559 0.0048164475 + 587700 0.0035504398 0.0027831397 0.0045306218 + 587800 0.0060914825 0.002450218 0.0054483695 + 587900 0.0044702977 0.0026826762 0.0048829009 + 588000 0.0053539542 0.0028441477 0.0054792971 + 588100 0.0048570144 0.0027585242 0.005149086 + 588200 0.0060906631 0.0029234407 0.0059211889 + 588300 0.0044786402 0.0032466398 0.0054509705 + 588400 0.0056623187 0.0027211011 0.0055080236 + 588500 0.0059386827 0.0025857625 0.0055087079 + 588600 0.0049186556 0.0024256673 0.0048465681 + 588700 0.0058475898 0.0021659919 0.0050441025 + 588800 0.0038412415 0.0022222871 0.0041128981 + 588900 0.0062474271 0.0019367782 0.0050116837 + 589000 0.0043397707 0.0020771987 0.0042131796 + 589100 0.0054408783 0.002443433 0.0051213653 + 589200 0.0059705709 0.0020685177 0.0050071581 + 589300 0.0036447655 0.00200943 0.003803338 + 589400 0.0040767637 0.0020240463 0.0040305785 + 589500 0.0061066253 0.0023596171 0.0053652217 + 589600 0.0043038416 0.0021106892 0.0042289862 + 589700 0.0040281263 0.001865429 0.0038480224 + 589800 0.0050022711 0.0016250203 0.0040870756 + 589900 0.0059696655 0.0015656779 0.0045038726 + 590000 0.0048412111 0.0018621855 0.0042449691 + 590100 0.004541917 0.0019554026 0.0041908774 + 590200 0.0045292314 0.0024321566 0.0046613877 + 590300 0.0045042493 0.0016620822 0.0038790174 + 590400 0.0046727908 0.0014528227 0.003752712 + 590500 0.0036574028 0.0016887921 0.0034889201 + 590600 0.0039095807 0.0022465013 0.0041707481 + 590700 0.0037135698 0.0023419013 0.0041696739 + 590800 0.0046582111 0.0025571155 0.0048498287 + 590900 0.0060714926 0.0024195091 0.0054078219 + 591000 0.0058695181 0.0024174285 0.005306332 + 591100 0.0067008525 0.002721689 0.0060197649 + 591200 0.0051033392 0.0028565289 0.0053683287 + 591300 0.0047343548 0.0027426459 0.0050728362 + 591400 0.0048242877 0.0022573702 0.0046318243 + 591500 0.0058176078 0.002284648 0.0051480018 + 591600 0.003996377 0.0023083381 0.0042753049 + 591700 0.0040328941 0.0027080069 0.004692947 + 591800 0.0058718858 0.0024603025 0.0053503712 + 591900 0.0056895402 0.0025990853 0.0053994059 + 592000 0.0038027225 0.0025206084 0.0043922609 + 592100 0.0048879531 0.0023860662 0.0047918556 + 592200 0.0050412917 0.0025910121 0.0050722728 + 592300 0.0051858346 0.0026585271 0.00521093 + 592400 0.0053515578 0.0025596623 0.0051936322 + 592500 0.0061562107 0.0024313702 0.0054613802 + 592600 0.0050147022 0.0022173185 0.0046854922 + 592700 0.0046365705 0.0024480802 0.0047301422 + 592800 0.0048624315 0.0024020534 0.0047952814 + 592900 0.0062281593 0.0024861758 0.0055515979 + 593000 0.0052913164 0.0021220622 0.004726382 + 593100 0.0046144435 0.0019018462 0.0041730176 + 593200 0.0041471355 0.0018336464 0.0038748146 + 593300 0.0064301688 0.0015470171 0.0047118658 + 593400 0.0063511282 0.0015625482 0.0046884941 + 593500 0.0050230515 0.0020374888 0.004509772 + 593600 0.0043166497 0.0027730001 0.0048976012 + 593700 0.0042177497 0.0029345919 0.0050105156 + 593800 0.0071594364 0.0018530304 0.0053768155 + 593900 0.0057125021 0.0017711364 0.0045827586 + 594000 0.0039885275 0.0021770611 0.0041401645 + 594100 0.0038108365 0.00221391 0.004089556 + 594200 0.0059318968 0.0020048264 0.0049244319 + 594300 0.0050987702 0.0018212388 0.0043307898 + 594400 0.0055291272 0.0021499802 0.0048713475 + 594500 0.0040100306 0.0022558408 0.0042295278 + 594600 0.0046954401 0.0018437442 0.0041547811 + 594700 0.004584253 0.0014142102 0.0036705222 + 594800 0.0038819627 0.0015819722 0.0034926256 + 594900 0.0053793887 0.0019707854 0.0046184533 + 595000 0.0060406289 0.0024011396 0.0053742616 + 595100 0.0055172545 0.0027481416 0.0054636652 + 595200 0.0049875445 0.0024913607 0.0049461677 + 595300 0.0051333162 0.002080179 0.0046067331 + 595400 0.0037941407 0.0018362256 0.0037036542 + 595500 0.0031190486 0.0016669144 0.0032020711 + 595600 0.0043816106 0.0015670139 0.0037235879 + 595700 0.0042261367 0.0015542919 0.0036343436 + 595800 0.0058839933 0.0018517215 0.0047477494 + 595900 0.0035973236 0.0020485162 0.003819074 + 596000 0.0052509714 0.0021727047 0.0047571672 + 596100 0.0045819418 0.0023158474 0.0045710218 + 596200 0.0051570833 0.0022562724 0.0047945244 + 596300 0.0050530649 0.0025507771 0.0050378325 + 596400 0.0043987683 0.0031747214 0.0053397402 + 596500 0.0062029992 0.0027841645 0.0058372032 + 596600 0.0068650319 0.0023681824 0.0057470653 + 596700 0.0043790641 0.0020447256 0.0042000462 + 596800 0.0044794382 0.0020404215 0.0042451449 + 596900 0.0035398466 0.0018840124 0.0036262807 + 597000 0.0036666275 0.0014483245 0.0032529928 + 597100 0.0058318505 0.0011014717 0.0039718357 + 597200 0.0037596077 0.0014159628 0.0032663947 + 597300 0.0053771876 0.0020757876 0.0047223721 + 597400 0.0054627824 0.0024530948 0.005141808 + 597500 0.0060002982 0.0027347671 0.0056880389 + 597600 0.0047138547 0.0031130306 0.005433131 + 597700 0.0047160127 0.002819026 0.0051401885 + 597800 0.0056457273 0.0024342385 0.0052129949 + 597900 0.0051183247 0.0023280547 0.0048472301 + 598000 0.0059825946 0.0022224971 0.0051670554 + 598100 0.0065396366 0.0027582806 0.005977008 + 598200 0.0056579644 0.0029968452 0.0057816245 + 598300 0.0049574917 0.0029906533 0.0054306687 + 598400 0.0046304325 0.0025070469 0.0047860879 + 598500 0.0072556128 0.0021858281 0.0057569501 + 598600 0.0062637936 0.0027452724 0.0058282333 + 598700 0.0059150566 0.0026152305 0.0055265474 + 598800 0.0041982555 0.0022141516 0.0042804805 + 598900 0.0038090976 0.0021315164 0.0040063066 + 599000 0.0040161285 0.0019868679 0.0039635562 + 599100 0.0051931614 0.0022817798 0.004837789 + 599200 0.0052327274 0.0025118948 0.0050873778 + 599300 0.005339576 0.0023001168 0.0049281894 + 599400 0.0053367413 0.0025721744 0.0051988518 + 599500 0.0061369494 0.002417204 0.0054377338 + 599600 0.0044631671 0.0029738275 0.0051705425 + 599700 0.0049970099 0.002684245 0.0051437108 + 599800 0.004984478 0.0022275391 0.0046808368 + 599900 0.0046198386 0.002135554 0.0044093808 + 600000 0.0047973597 0.0020071338 0.0043683343 + 600100 0.0054999639 0.0018407788 0.0045477922 + 600200 0.0057425594 0.0018871888 0.0047136048 + 600300 0.005240561 0.0023515371 0.0049308757 + 600400 0.0049741287 0.0026164485 0.0050646525 + 600500 0.0050194147 0.00206325 0.0045337432 + 600600 0.0035602778 0.0016838579 0.0034361821 + 600700 0.0048884327 0.0019065677 0.0043125932 + 600800 0.0042264707 0.0017929836 0.0038731996 + 600900 0.0043423856 0.0018286858 0.0039659538 + 601000 0.005468472 0.0020189989 0.0047105125 + 601100 0.0056302705 0.0024097924 0.0051809412 + 601200 0.0064865281 0.0024405002 0.0056330882 + 601300 0.0053581685 0.0022317553 0.0048689789 + 601400 0.0047104714 0.002222181 0.0045406161 + 601500 0.0055568515 0.0021247293 0.0048597422 + 601600 0.003697217 0.0024808978 0.0043006218 + 601700 0.0062098098 0.0025792352 0.005635626 + 601800 0.005825291 0.0023827215 0.0052498569 + 601900 0.0047008036 0.0023849748 0.0046986516 + 602000 0.0052946578 0.0025392025 0.0051451669 + 602100 0.00532964 0.0022077453 0.0048309275 + 602200 0.0044716066 0.0017201682 0.0039210371 + 602300 0.0023207518 0.0020646479 0.0032068929 + 602400 0.003825939 0.0025498183 0.0044328976 + 602500 0.0061184999 0.0023509631 0.0053624123 + 602600 0.004307415 0.002301513 0.0044215688 + 602700 0.004856362 0.0016964475 0.0040866882 + 602800 0.0050100749 0.0017507888 0.004216685 + 602900 0.0041936413 0.0019044076 0.0039684654 + 603000 0.0043252073 0.0018798754 0.0040086884 + 603100 0.0047547681 0.0019852753 0.0043255127 + 603200 0.0042949445 0.0023282332 0.0044421512 + 603300 0.005073905 0.0027632118 0.0052605244 + 603400 0.0060862122 0.0025066026 0.0055021601 + 603500 0.00458693 0.0022847999 0.0045424295 + 603600 0.0033161383 0.0025563924 0.0041885542 + 603700 0.0040161587 0.002544763 0.0045214661 + 603800 0.0060208008 0.002370599 0.0053339619 + 603900 0.0044502234 0.0026008307 0.0047911751 + 604000 0.0063329787 0.001996465 0.0051134779 + 604100 0.0049030136 0.0016284274 0.0040416294 + 604200 0.0034760485 0.001795098 0.0035059656 + 604300 0.0043661331 0.0018980504 0.0040470065 + 604400 0.0065554373 0.0017332138 0.0049597181 + 604500 0.0053324764 0.002029382 0.0046539602 + 604600 0.0049865748 0.002162919 0.0046172487 + 604700 0.0051852022 0.0023969963 0.004949088 + 604800 0.0048196113 0.0021697703 0.0045419227 + 604900 0.0043388263 0.0027876351 0.0049231511 + 605000 0.0056799808 0.0033970758 0.0061926913 + 605100 0.0050831288 0.0029561565 0.005458009 + 605200 0.0067914378 0.0024125512 0.005755212 + 605300 0.0046912826 0.0023245698 0.0046335604 + 605400 0.004255019 0.0024379013 0.0045321684 + 605500 0.0047697061 0.0022995594 0.0046471491 + 605600 0.0043791303 0.0022697388 0.004425092 + 605700 0.0029745664 0.0026421513 0.0041061957 + 605800 0.0051528176 0.0027525463 0.0052886987 + 605900 0.0052374139 0.0028680552 0.0054458448 + 606000 0.0041258545 0.0026707342 0.0047014282 + 606100 0.0053518083 0.0023711233 0.0050052164 + 606200 0.004539144 0.0019344863 0.0041685963 + 606300 0.0049517514 0.0021089642 0.0045461543 + 606400 0.0051892553 0.0019932211 0.0045473077 + 606500 0.0026600882 0.0020289367 0.0033381989 + 606600 0.0032258946 0.0023257194 0.0039134644 + 606700 0.0053104873 0.00220816 0.0048219154 + 606800 0.0040252194 0.0020302675 0.0040114302 + 606900 0.0055190475 0.0021432471 0.0048596533 + 607000 0.0060838311 0.0020380811 0.0050324667 + 607100 0.0036247978 0.0023800416 0.0041641217 + 607200 0.0058514796 0.0026246877 0.0055047128 + 607300 0.0052863005 0.0027345848 0.0053364358 + 607400 0.0077130097 0.0027998144 0.0065960614 + 607500 0.0044918898 0.0028804667 0.0050913187 + 607600 0.004883439 0.0024997918 0.0049033594 + 607700 0.0040621846 0.0024666813 0.0044660378 + 607800 0.0055127329 0.0024629267 0.0051762249 + 607900 0.0054136536 0.0022822899 0.0049468225 + 608000 0.0035079854 0.0027395243 0.0044661108 + 608100 0.004045702 0.0028614573 0.0048527013 + 608200 0.0056833693 0.002457851 0.0052551343 + 608300 0.0047893029 0.0022568586 0.0046140936 + 608400 0.0047857563 0.0023761253 0.0047316148 + 608500 0.003807688 0.0023095905 0.0041836869 + 608600 0.0049865491 0.0022197971 0.0046741143 + 608700 0.0051920032 0.002186054 0.0047414931 + 608800 0.0034027401 0.0020846226 0.0037594088 + 608900 0.0053313651 0.0021994456 0.0048234769 + 609000 0.0065682874 0.0022840277 0.0055168567 + 609100 0.0060541077 0.0023931156 0.0053728717 + 609200 0.0045553008 0.0022138782 0.0044559403 + 609300 0.0037148053 0.0020491822 0.0038775629 + 609400 0.003126031 0.0020181942 0.0035567876 + 609500 0.0038646184 0.0023734595 0.0042755764 + 609600 0.0057873619 0.0027651429 0.0056136101 + 609700 0.0048978714 0.0032489737 0.0056596448 + 609800 0.0062829299 0.0029459049 0.0060382845 + 609900 0.005712543 0.0024674666 0.0052791089 + 610000 0.0054318593 0.0020248242 0.0046983174 + 610100 0.0049431699 0.0019085419 0.0043415083 + 610200 0.0049279195 0.002141871 0.0045673314 + 610300 0.0045668019 0.0031249423 0.0053726651 + 610400 0.0051879404 0.0031306349 0.0056840743 + 610500 0.0063941467 0.0029696299 0.006116749 + 610600 0.0052611391 0.0025745357 0.0051640026 + 610700 0.0051735753 0.0026166633 0.0051630324 + 610800 0.0065729094 0.0029452789 0.0061803828 + 610900 0.0059512694 0.003004564 0.0059337044 + 611000 0.0058261333 0.0027356622 0.0056032122 + 611100 0.0061582281 0.0028911301 0.005922133 + 611200 0.0036986726 0.0028732128 0.0046936532 + 611300 0.0059981885 0.0027142313 0.0056664647 + 611400 0.0052332297 0.0021932164 0.0047689466 + 611500 0.0049565558 0.0019057165 0.0043452713 + 611600 0.0037491882 0.0019748334 0.003820137 + 611700 0.0043897339 0.0021256494 0.0042862216 + 611800 0.005086478 0.0023163913 0.0048198922 + 611900 0.0038984896 0.0025127458 0.0044315337 + 612000 0.0063062543 0.0030166932 0.0061205527 + 612100 0.0055583593 0.003019512 0.0057552669 + 612200 0.0045949203 0.0029198561 0.0051814185 + 612300 0.0055598668 0.0028206225 0.0055571194 + 612400 0.0051847334 0.0025215495 0.0050734105 + 612500 0.0043069657 0.0028677151 0.0049875497 + 612600 0.0047305105 0.003196749 0.0055250472 + 612700 0.0041425852 0.0031532786 0.0051922073 + 612800 0.0054191422 0.0028945235 0.0055617576 + 612900 0.004904162 0.0031854012 0.0055991684 + 613000 0.0048750203 0.0030987095 0.0054981336 + 613100 0.0051603207 0.002801174 0.0053410193 + 613200 0.0036402739 0.0031045472 0.0048962445 + 613300 0.0048134096 0.0027478364 0.0051169364 + 613400 0.0058379454 0.0026634493 0.005536813 + 613500 0.0052300279 0.002953302 0.0055274564 + 613600 0.0045514682 0.0030357275 0.0052759032 + 613700 0.0054837061 0.0033003207 0.0059993323 + 613800 0.0048132681 0.0033029937 0.0056720241 + 613900 0.004129811 0.0029993354 0.0050319768 + 614000 0.0048899064 0.0023300172 0.004736768 + 614100 0.0047156777 0.0020516828 0.0043726804 + 614200 0.0035217692 0.0024639203 0.0041972911 + 614300 0.0040876699 0.0028766013 0.0048885013 + 614400 0.0048045892 0.0028376523 0.0052024111 + 614500 0.0061387708 0.0026423372 0.0056637635 + 614600 0.0051715054 0.0024802607 0.005025611 + 614700 0.0053334682 0.0021043041 0.0047293705 + 614800 0.0046380815 0.0020498995 0.0043327052 + 614900 0.0055103106 0.0017388454 0.0044509515 + 615000 0.0052349715 0.0015924528 0.0041690403 + 615100 0.0046602165 0.0020494904 0.0043431907 + 615200 0.0057991668 0.0024588897 0.0053131671 + 615300 0.0045726361 0.0027834552 0.0050340495 + 615400 0.004567817 0.0027317377 0.0049799602 + 615500 0.0034025715 0.0023867994 0.0040615025 + 615600 0.0050123388 0.0021629293 0.0046299398 + 615700 0.004844807 0.0019916942 0.0043762477 + 615800 0.0052274392 0.0022224986 0.0047953789 + 615900 0.0039212891 0.002662029 0.0045920385 + 616000 0.006426361 0.0019979231 0.0051608977 + 616100 0.0062199138 0.0020304834 0.0050918473 + 616200 0.0064314428 0.001915805 0.0050812808 + 616300 0.006473801 0.0025804614 0.0057667853 + 616400 0.0062481106 0.0025710868 0.0056463287 + 616500 0.0051496376 0.0022704766 0.0048050638 + 616600 0.0048137041 0.0023485667 0.0047178116 + 616700 0.0064384473 0.0025848099 0.0057537332 + 616800 0.0057617655 0.002387942 0.0052238109 + 616900 0.0041341694 0.002116814 0.0041516005 + 617000 0.0051973058 0.001867439 0.0044254879 + 617100 0.0040949269 0.0020155051 0.0040309769 + 617200 0.0049754225 0.0019738319 0.0044226727 + 617300 0.0038359902 0.0022266424 0.0041146688 + 617400 0.004528084 0.0021923506 0.004421017 + 617500 0.0046090294 0.0020624888 0.0043309954 + 617600 0.0058748566 0.0021619725 0.0050535035 + 617700 0.0064066614 0.002793131 0.0059464096 + 617800 0.0046287317 0.0031199095 0.0053981133 + 617900 0.0069066172 0.0030188275 0.0064181782 + 618000 0.0053784422 0.0025897816 0.0052369836 + 618100 0.0043639761 0.0025003918 0.0046482863 + 618200 0.0048933758 0.0024652435 0.0048737019 + 618300 0.0047246797 0.0024438239 0.0047692522 + 618400 0.0066443965 0.0023571949 0.0056274838 + 618500 0.0048314033 0.0023338791 0.0047118354 + 618600 0.0036277887 0.0027801086 0.0045656608 + 618700 0.0062917424 0.002851233 0.0059479499 + 618800 0.0046374685 0.0028200536 0.0051025576 + 618900 0.0034744465 0.0028275992 0.0045376783 + 619000 0.0040631225 0.0026782452 0.0046780633 + 619100 0.0045014191 0.0029194595 0.0051350017 + 619200 0.0041521341 0.0030115484 0.0050551769 + 619300 0.0052466028 0.0029366558 0.0055189681 + 619400 0.005267153 0.0029125056 0.0055049325 + 619500 0.0059080281 0.0030257178 0.0059335754 + 619600 0.0057502517 0.0030648124 0.0058950144 + 619700 0.0052904847 0.0034239431 0.0060278535 + 619800 0.0060516362 0.0031701512 0.0061486909 + 619900 0.0037649377 0.0032681921 0.0051212474 + 620000 0.0056585917 0.00278742 0.0055725081 + 620100 0.0072822454 0.0026377902 0.0062220203 + 620200 0.0032312255 0.002553577 0.0041439458 + 620300 0.0066168217 0.0023477115 0.0056044284 + 620400 0.0067706245 0.0027762437 0.0061086605 + 620500 0.0052870208 0.0029271581 0.0055293636 + 620600 0.0068994102 0.0027605746 0.0061563781 + 620700 0.0052231984 0.0025517512 0.0051225442 + 620800 0.0044193585 0.0024814966 0.0046566496 + 620900 0.0043421756 0.0025883901 0.0047255547 + 621000 0.0054170534 0.0025960965 0.0052623025 + 621100 0.0036755959 0.0026990263 0.0045081087 + 621200 0.0041177618 0.0019390366 0.0039657474 + 621300 0.0052850128 0.0018683078 0.0044695251 + 621400 0.004608413 0.0024821464 0.0047503497 + 621500 0.0032036378 0.0029293424 0.0045061329 + 621600 0.0055356935 0.0022121287 0.0049367278 + 621700 0.0052508262 0.0025528185 0.0051372095 + 621800 0.0055247422 0.0029616762 0.0056808852 + 621900 0.0051215433 0.002507202 0.0050279616 + 622000 0.003784942 0.0024646415 0.0043275427 + 622100 0.0052259052 0.0023494945 0.0049216196 + 622200 0.0052558697 0.0021402416 0.004727115 + 622300 0.0059178995 0.0020082382 0.0049209543 + 622400 0.0056553038 0.0017641299 0.0045475998 + 622500 0.0040782733 0.0020403021 0.0040475773 + 622600 0.0053178547 0.0021693869 0.0047867685 + 622700 0.0050570456 0.0024482117 0.0049372263 + 622800 0.0049046827 0.0025556902 0.0049697137 + 622900 0.0047913125 0.0026593345 0.0050175586 + 623000 0.0060499551 0.0021392113 0.0051169235 + 623100 0.0056709446 0.0023107247 0.0051018928 + 623200 0.0048230344 0.0026229589 0.0049967962 + 623300 0.0043762933 0.0024302964 0.0045842533 + 623400 0.0055217851 0.0026983243 0.0054160779 + 623500 0.005485003 0.0028317319 0.0055313818 + 623600 0.0059581209 0.0029881227 0.0059206353 + 623700 0.0070311605 0.0033772984 0.0068379477 + 623800 0.0044187789 0.0035743549 0.0057492226 + 623900 0.0056617203 0.0024801593 0.0052667872 + 624000 0.0044311613 0.0023335392 0.0045145014 + 624100 0.0036177457 0.0024322088 0.004212818 + 624200 0.0051538862 0.0022798154 0.0048164937 + 624300 0.0056019298 0.0020539089 0.0048111087 + 624400 0.0045919862 0.0020280045 0.0042881227 + 624500 0.0056405919 0.0018557687 0.0046319975 + 624600 0.0035849024 0.0021510104 0.0039154546 + 624700 0.0062968471 0.0025790383 0.0056782677 + 624800 0.0046655721 0.0027501161 0.0050464523 + 624900 0.0057268257 0.0024231203 0.0052417923 + 625000 0.0045275128 0.0027703911 0.0049987763 + 625100 0.0043559272 0.0026501042 0.0047940371 + 625200 0.0048763826 0.0028058854 0.00520598 + 625300 0.0055680411 0.0029696101 0.0057101303 + 625400 0.0068858438 0.0025700942 0.0059592204 + 625500 0.0059701999 0.0025986927 0.0055371505 + 625600 0.0057447276 0.0024865746 0.0053140577 + 625700 0.0063834476 0.002056236 0.0051980891 + 625800 0.0055633308 0.0017298982 0.0044681 + 625900 0.0061917038 0.0022366251 0.0052841043 + 626000 0.0050116566 0.0028542946 0.0053209694 + 626100 0.0045883515 0.00271281 0.0049711393 + 626200 0.0050533529 0.0024870893 0.0049742865 + 626300 0.0047874694 0.0023213911 0.0046777237 + 626400 0.0054034865 0.0024105779 0.0050701064 + 626500 0.0053731413 0.0026026187 0.0052472117 + 626600 0.0055981231 0.0027111938 0.0054665201 + 626700 0.0047715999 0.0023931273 0.0047416491 + 626800 0.0060058737 0.0021594794 0.0051154954 + 626900 0.0041608215 0.002232961 0.0042808654 + 627000 0.0057965454 0.0025719736 0.0054249608 + 627100 0.0044012163 0.0029610814 0.005127305 + 627200 0.005115712 0.0027889563 0.0053068458 + 627300 0.0048630751 0.0030509928 0.0054445376 + 627400 0.0059887341 0.0027679946 0.0057155747 + 627500 0.00518381 0.0027472018 0.0052986083 + 627600 0.0042246939 0.0021784377 0.0042577793 + 627700 0.0057939947 0.001891201 0.0047429328 + 627800 0.0038471388 0.0021941946 0.0040877083 + 627900 0.0054911204 0.0028062552 0.0055089161 + 628000 0.0067270554 0.0030495206 0.0063604932 + 628100 0.0047633364 0.0031278611 0.0054723158 + 628200 0.0053824165 0.0024930113 0.0051421694 + 628300 0.0055852425 0.0024334811 0.0051824677 + 628400 0.0067486176 0.0029182884 0.0062398737 + 628500 0.0042973285 0.0030285597 0.0051436511 + 628600 0.0048774232 0.0026880101 0.0050886168 + 628700 0.0047941553 0.0021658821 0.0045255054 + 628800 0.0063600023 0.0017107986 0.0048411122 + 628900 0.0051494443 0.0015760162 0.0041105083 + 629000 0.0064505572 0.0016857281 0.0048606117 + 629100 0.004701789 0.0016975766 0.0040117384 + 629200 0.0047557031 0.0019075865 0.0042482841 + 629300 0.0048524342 0.001723074 0.0041113814 + 629400 0.0048815044 0.0017450372 0.0041476527 + 629500 0.0038068452 0.0015511167 0.0034247983 + 629600 0.0063601989 0.0019343707 0.0050647811 + 629700 0.0057626565 0.0021735815 0.0050098889 + 629800 0.0052728652 0.0021547466 0.0047499849 + 629900 0.0048437558 0.0020461756 0.0044302116 + 630000 0.0061803048 0.0016371053 0.0046789741 + 630100 0.005410265 0.0015974837 0.0042603485 + 630200 0.0037592912 0.0017306618 0.0035809379 + 630300 0.0056475518 0.0019858483 0.0047655027 + 630400 0.0031359763 0.0028659344 0.0044094227 + 630500 0.003877521 0.002853807 0.0047622744 + 630600 0.0045418119 0.0027036041 0.0049390271 + 630700 0.0049576769 0.0024288036 0.0048689102 + 630800 0.0054173848 0.0025578912 0.0052242602 + 630900 0.0059573925 0.002327708 0.0052598622 + 631000 0.0050904403 0.0020780083 0.0045834594 + 631100 0.0040367424 0.0022359015 0.0042227357 + 631200 0.0043852587 0.0024747023 0.0046330718 + 631300 0.0050275712 0.0022323999 0.0047069076 + 631400 0.0051089136 0.0020389331 0.0045534765 + 631500 0.0060643323 0.0023679372 0.0053527258 + 631600 0.0053875936 0.0028776466 0.0055293528 + 631700 0.0064258771 0.002200441 0.0053631774 + 631800 0.0054703286 0.0017262841 0.0044187114 + 631900 0.0038837291 0.0020326862 0.0039442091 + 632000 0.0056265266 0.0018812113 0.0046505174 + 632100 0.0049782617 0.0015742099 0.0040244481 + 632200 0.0046549206 0.0021514877 0.0044425815 + 632300 0.0051858258 0.0023481641 0.0049005627 + 632400 0.0062205227 0.0019694978 0.0050311613 + 632500 0.0035107255 0.0015993505 0.0033272857 + 632600 0.0050181312 0.001644455 0.0041143165 + 632700 0.004102952 0.0018980907 0.0039175124 + 632800 0.0032396109 0.0022724765 0.0038669725 + 632900 0.0039778788 0.0018994847 0.0038573469 + 633000 0.0053425963 0.0018757184 0.0045052775 + 633100 0.004168819 0.0026012857 0.0046531263 + 633200 0.0042765799 0.003022086 0.0051269651 + 633300 0.0047791809 0.0028752129 0.005227466 + 633400 0.0052699003 0.0022003587 0.0047941378 + 633500 0.0051904088 0.0025138555 0.0050685098 + 633600 0.0043488848 0.0026608225 0.0048012892 + 633700 0.004315331 0.0023786182 0.0045025702 + 633800 0.0060786423 0.0023331491 0.0053249808 + 633900 0.0087120747 0.0027226023 0.0070105766 + 634000 0.005520639 0.0037804422 0.0064976317 + 634100 0.0059655656 0.003193831 0.0061300078 + 634200 0.0038907873 0.0028626417 0.0047776385 + 634300 0.0058152556 0.0028060761 0.0056682722 + 634400 0.0045734986 0.0029562611 0.00520728 + 634500 0.0044468939 0.0026952576 0.0048839631 + 634600 0.0060339424 0.0022140264 0.0051838574 + 634700 0.0060585082 0.0022022194 0.0051841414 + 634800 0.0043131747 0.0020616123 0.004184503 + 634900 0.0047364638 0.0025007034 0.0048319317 + 635000 0.0063818119 0.0031499142 0.0062909623 + 635100 0.0040411976 0.0035147184 0.0055037453 + 635200 0.0058816194 0.0029388929 0.0058337524 + 635300 0.0071879868 0.0024250847 0.005962922 + 635400 0.0059638973 0.0024760171 0.0054113728 + 635500 0.0056557976 0.0030342223 0.0058179352 + 635600 0.0046701727 0.0030955946 0.0053941952 + 635700 0.0050872728 0.0029176509 0.0054215429 + 635800 0.0044309061 0.0027717603 0.0049525969 + 635900 0.0040106319 0.0027852955 0.0047592784 + 636000 0.0043383727 0.002507491 0.0046427838 + 636100 0.004237471 0.001820477 0.0039061073 + 636200 0.0062640437 0.0015277999 0.0046108839 + 636300 0.0049626058 0.0016900544 0.0041325869 + 636400 0.0048801264 0.0019033688 0.004305306 + 636500 0.005698214 0.0022092922 0.005013882 + 636600 0.0041195231 0.0024775314 0.0045051091 + 636700 0.0037437015 0.0022263207 0.0040689238 + 636800 0.0042400379 0.0018243316 0.0039112252 + 636900 0.0038375543 0.0017236301 0.0036124264 + 637000 0.0050349611 0.0015266561 0.004004801 + 637100 0.0058685165 0.0018561718 0.0047445823 + 637200 0.0050535425 0.002078083 0.0045653734 + 637300 0.0053878889 0.002089245 0.0047410966 + 637400 0.0042974443 0.0020342331 0.0041493815 + 637500 0.0056069247 0.0021073184 0.0048669766 + 637600 0.0041088251 0.0026542574 0.0046765698 + 637700 0.0060812031 0.002745641 0.0057387332 + 637800 0.0056421327 0.0025961205 0.0053731077 + 637900 0.0041253918 0.0025483633 0.0045788296 + 638000 0.0052105991 0.0023035016 0.0048680933 + 638100 0.0063840975 0.0019328689 0.0050750419 + 638200 0.0047429903 0.0016038068 0.0039382474 + 638300 0.0043627587 0.001610414 0.0037577093 + 638400 0.0051258597 0.0017607055 0.0042835895 + 638500 0.0048749638 0.0017793689 0.0041787652 + 638600 0.0045490435 0.0020689614 0.0043079437 + 638700 0.0042300786 0.0025444203 0.0046264121 + 638800 0.0037519871 0.0022338003 0.0040804815 + 638900 0.0051680283 0.0020647703 0.0046084093 + 639000 0.0066885785 0.0023641762 0.0056562109 + 639100 0.0052338962 0.0026339867 0.005210045 + 639200 0.0054277527 0.0025328994 0.0052043714 + 639300 0.0061135532 0.0022446323 0.0052536468 + 639400 0.0049837258 0.0022539557 0.0047068833 + 639500 0.0056645452 0.0029046959 0.0056927142 + 639600 0.0052819758 0.0027441501 0.0053438725 + 639700 0.0046485233 0.0018984967 0.0041864418 + 639800 0.0050554308 0.0019668202 0.00445504 + 639900 0.006192648 0.0021999826 0.0052479266 + 640000 0.0056598466 0.002506752 0.0052924577 + 640100 0.0048373985 0.0026473046 0.0050282117 + 640200 0.0047362875 0.0025176641 0.0048488056 + 640300 0.0044222857 0.0024960518 0.0046726455 + 640400 0.0067347792 0.0020052544 0.0053200285 + 640500 0.004510873 0.001953175 0.0041733703 + 640600 0.0038767276 0.0020652496 0.0039733264 + 640700 0.0046517707 0.0020139826 0.004303526 + 640800 0.003987596 0.0022327478 0.0041953927 + 640900 0.004086137 0.0023614187 0.0043725642 + 641000 0.005276618 0.00256691 0.0051639955 + 641100 0.0052587308 0.0028292284 0.00541751 + 641200 0.0074454168 0.0030415885 0.0067061296 + 641300 0.0052461616 0.0027276584 0.0053097535 + 641400 0.0046597243 0.0023506567 0.0046441148 + 641500 0.0042575862 0.0024170891 0.0045126198 + 641600 0.005674275 0.0026866723 0.0054794795 + 641700 0.0044065011 0.003128199 0.0052970238 + 641800 0.0039695678 0.0029748774 0.004928649 + 641900 0.0061892521 0.0026869569 0.0057332295 + 642000 0.0058590777 0.0025124595 0.0053962243 + 642100 0.004616029 0.0025410986 0.0048130503 + 642200 0.0052963584 0.002337803 0.0049446044 + 642300 0.0052834996 0.0019952094 0.0045956818 + 642400 0.0046751752 0.0018220118 0.0041230745 + 642500 0.0057135896 0.0016874929 0.0044996503 + 642600 0.0030171982 0.0016180681 0.0031030953 + 642700 0.0036379284 0.0017713105 0.0035618534 + 642800 0.0051675326 0.0023782125 0.0049216074 + 642900 0.0049109732 0.0021817129 0.0045988325 + 643000 0.0048513542 0.0018497522 0.0042375281 + 643100 0.0050744146 0.0018355722 0.0043331356 + 643200 0.0050798125 0.0019973384 0.0044975586 + 643300 0.0054367176 0.0020477734 0.0047236578 + 643400 0.0052914213 0.0022053729 0.0048097443 + 643500 0.0042794073 0.0023365469 0.0044428177 + 643600 0.0049090976 0.0025266936 0.0049428901 + 643700 0.0036970615 0.0023079415 0.0041275889 + 643800 0.0056075641 0.0019817678 0.0047417407 + 643900 0.0040765752 0.0023963407 0.0044027801 + 644000 0.0037310762 0.0024222865 0.0042586755 + 644100 0.0056689018 0.002101442 0.0048916046 + 644200 0.0052420803 0.002110891 0.0046909774 + 644300 0.0056283175 0.0020262215 0.004796409 + 644400 0.0043105341 0.0018601308 0.0039817218 + 644500 0.005338493 0.0019536585 0.004581198 + 644600 0.0051975545 0.0026610488 0.0052192202 + 644700 0.0064071721 0.0030431518 0.0061966819 + 644800 0.0059664881 0.0026206971 0.005557328 + 644900 0.0070897558 0.0022367692 0.0057262584 + 645000 0.003931278 0.0025027339 0.0044376598 + 645100 0.0041024169 0.0023142783 0.0043334366 + 645200 0.0046566313 0.0024040888 0.0046960246 + 645300 0.0066913273 0.0021872851 0.0054806728 + 645400 0.0049056437 0.001611568 0.0040260645 + 645500 0.0043845521 0.0020202222 0.0041782439 + 645600 0.0054279399 0.0021567896 0.0048283538 + 645700 0.005546859 0.0022036445 0.0049337391 + 645800 0.0048994807 0.0019962464 0.0044077095 + 645900 0.0041422267 0.0018332818 0.003872034 + 646000 0.0060800335 0.0018658506 0.0048583671 + 646100 0.0038611257 0.0017647928 0.0036651906 + 646200 0.0054055887 0.0016453366 0.0043058998 + 646300 0.0053082839 0.0017874352 0.0044001062 + 646400 0.0059624497 0.0019088366 0.0048434798 + 646500 0.0047145172 0.0024876828 0.0048081093 + 646600 0.0048178187 0.0025217938 0.0048930639 + 646700 0.0046164055 0.0021415008 0.0044136379 + 646800 0.0054329644 0.0020183798 0.004692417 + 646900 0.0046447866 0.0023522788 0.0046383846 + 647000 0.005464461 0.0020173281 0.0047068674 + 647100 0.0047139937 0.0020948305 0.0044149993 + 647200 0.0038838116 0.0025422166 0.0044537801 + 647300 0.006993319 0.0021658687 0.0056078929 + 647400 0.0066386633 0.0021034903 0.0053709574 + 647500 0.004804442 0.0022831652 0.0046478515 + 647600 0.0037960992 0.0020709541 0.0039393467 + 647700 0.0030984518 0.0022126625 0.0037376817 + 647800 0.0041780984 0.0025194612 0.004575869 + 647900 0.0063874672 0.0023994081 0.0055432396 + 648000 0.0038138021 0.0026297528 0.0045068585 + 648100 0.0055960681 0.002233484 0.0049877988 + 648200 0.0066924316 0.002049273 0.0053432042 + 648300 0.0048447396 0.0027597797 0.0051442999 + 648400 0.0058012736 0.0033134619 0.0061687762 + 648500 0.0043485846 0.0035694988 0.0057098178 + 648600 0.0048172406 0.0037049491 0.0060759347 + 648700 0.004661885 0.0032176095 0.005512131 + 648800 0.0066046926 0.0025373004 0.0057880475 + 648900 0.0049831565 0.0025289941 0.0049816414 + 649000 0.0043399073 0.0023883548 0.0045244029 + 649100 0.0047666818 0.0021324996 0.0044786008 + 649200 0.006195426 0.0018395101 0.0048888213 + 649300 0.0056233426 0.0017273488 0.0044950877 + 649400 0.0045485831 0.0019399734 0.0041787292 + 649500 0.0049113101 0.0020640816 0.0044813671 + 649600 0.0031299397 0.002003618 0.0035441352 + 649700 0.0041686748 0.0018474485 0.0038992182 + 649800 0.0067378972 0.0019491861 0.0052654949 + 649900 0.0050614573 0.002608293 0.0050994791 + 650000 0.0055740155 0.0025385806 0.0052820413 + 650100 0.0050579115 0.002552119 0.0050415598 + 650200 0.0045674432 0.0025305983 0.0047786367 + 650300 0.0042849106 0.0024243567 0.0045333361 + 650400 0.0053773381 0.0022720191 0.0049186777 + 650500 0.0048012808 0.0026291645 0.0049922949 + 650600 0.0069413913 0.0028568861 0.0062733521 + 650700 0.0055506933 0.0029314141 0.0056633959 + 650800 0.0039004734 0.0028581039 0.0047778682 + 650900 0.0048257278 0.0025752015 0.0049503644 + 651000 0.0043276212 0.0025016429 0.004631644 + 651100 0.0053643312 0.0025367073 0.0051769641 + 651200 0.0059449802 0.0026193911 0.005545436 + 651300 0.0066308367 0.0027126697 0.0059762846 + 651400 0.004571972 0.0026466361 0.0048969036 + 651500 0.0068456756 0.0024836006 0.0058529565 + 651600 0.0057294831 0.002398065 0.005218045 + 651700 0.0038264869 0.0023190403 0.0042023893 + 651800 0.005205172 0.0023576551 0.0049195757 + 651900 0.0058418875 0.0023180711 0.0051933752 + 652000 0.0049031867 0.002723253 0.0051365402 + 652100 0.0046934353 0.0025777617 0.0048878119 + 652200 0.0035364381 0.0023214278 0.0040620184 + 652300 0.0065508643 0.0019705312 0.0051947847 + 652400 0.0054208429 0.0018146544 0.0044827255 + 652500 0.0044735689 0.0018222331 0.0040240678 + 652600 0.0042226228 0.0020565138 0.004134836 + 652700 0.0052078546 0.0026195994 0.0051828403 + 652800 0.0049575983 0.0031837901 0.005623858 + 652900 0.0068625341 0.0033649566 0.0067426101 + 653000 0.0052540252 0.0029891304 0.005575096 + 653100 0.0050447687 0.0026014038 0.0050843759 + 653200 0.005454582 0.0026917599 0.005376437 + 653300 0.0050676774 0.0027768342 0.0052710816 + 653400 0.0045926925 0.0028796715 0.0051401374 + 653500 0.004631351 0.0028268332 0.0051063263 + 653600 0.0055154652 0.0029280817 0.0056427248 + 653700 0.0037972517 0.002763066 0.0046320258 + 653800 0.0056799025 0.0028576027 0.0056531797 + 653900 0.0054473327 0.0028996208 0.0055807298 + 654000 0.0045293072 0.0024168021 0.0046460705 + 654100 0.0048993387 0.0022988069 0.0047102001 + 654200 0.004494637 0.0021763806 0.0043885847 + 654300 0.0048301719 0.001945487 0.0043228372 + 654400 0.0054165458 0.0019530808 0.004619037 + 654500 0.0052586366 0.0020517196 0.0046399548 + 654600 0.0063491794 0.0020262481 0.0051512348 + 654700 0.0053375543 0.0021331314 0.0047602089 + 654800 0.005792454 0.0025702839 0.0054212573 + 654900 0.0036993196 0.002832568 0.0046533268 + 655000 0.003950504 0.0026273239 0.0045717126 + 655100 0.0030344807 0.0024823978 0.0039759313 + 655200 0.0048653506 0.002359078 0.0047537428 + 655300 0.0052393273 0.0028080644 0.0053867958 + 655400 0.0038690693 0.0034448535 0.005349161 + 655500 0.0061948438 0.003003687 0.0060527117 + 655600 0.0057388499 0.0024507158 0.005275306 + 655700 0.0050221281 0.0027437667 0.0052155954 + 655800 0.0053065198 0.0027836714 0.0053954742 + 655900 0.0029940105 0.0028407348 0.0043143494 + 656000 0.0043630634 0.0027647513 0.0049121966 + 656100 0.0062122708 0.0026640428 0.0057216448 + 656200 0.0065975555 0.0024197087 0.0056669431 + 656300 0.0063569591 0.0031459207 0.0062747365 + 656400 0.0062141043 0.0040595144 0.0071180188 + 656500 0.0047076065 0.0038918809 0.006208906 + 656600 0.0060755798 0.0036461384 0.0066364629 + 656700 0.0059815192 0.0035508436 0.0064948725 + 656800 0.0050289573 0.0036661918 0.0061413818 + 656900 0.0044726999 0.0032612164 0.0054626233 + 657000 0.0041948258 0.0031360191 0.00520066 + 657100 0.0060799997 0.0028013427 0.0057938426 + 657200 0.0062821098 0.0030723427 0.0061643187 + 657300 0.0063954054 0.0030556917 0.0062034303 + 657400 0.0045755377 0.0027233375 0.00497536 + 657500 0.0038908542 0.0023789087 0.0042939384 + 657600 0.0039964644 0.0024138076 0.0043808174 + 657700 0.0056584384 0.002153922 0.0049389346 + 657800 0.0050173194 0.0022214829 0.0046909448 + 657900 0.0037956734 0.0021461622 0.0040143452 + 658000 0.00479855 0.0016817935 0.0040435798 + 658100 0.0052125385 0.0017318736 0.0042974199 + 658200 0.0035756342 0.0024492223 0.0042091048 + 658300 0.0054140839 0.0028560834 0.0055208278 + 658400 0.004767683 0.0026367831 0.004983377 + 658500 0.0042812392 0.0024185839 0.0045257564 + 658600 0.0051687736 0.0024774002 0.0050214059 + 658700 0.0056508858 0.0025360799 0.0053173753 + 658800 0.0044906761 0.0026801526 0.0048904072 + 658900 0.0049074859 0.002590223 0.0050056262 + 659000 0.004455564 0.0029992893 0.0051922622 + 659100 0.0070948942 0.0025473612 0.0060393795 + 659200 0.0050309958 0.0024476878 0.004923881 + 659300 0.0056309209 0.0026059033 0.0053773722 + 659400 0.0047612767 0.0026662877 0.0050097286 + 659500 0.0043180869 0.003044067 0.0051693754 + 659600 0.0055279543 0.0028647986 0.0055855886 + 659700 0.0037306206 0.0027043927 0.0045405576 + 659800 0.0051643372 0.0026988874 0.0052407096 + 659900 0.0070022562 0.0026892424 0.0061356653 + 660000 0.0050270475 0.0028144848 0.0052887347 + 660100 0.0045045725 0.0026756309 0.0048927252 + 660200 0.0055873838 0.0026207046 0.0053707451 + 660300 0.0048079044 0.0022776415 0.0046440319 + 660400 0.0072035767 0.0018182451 0.0053637555 + 660500 0.0060818166 0.0021687695 0.0051621636 + 660600 0.0032214965 0.0021423746 0.0037279549 + 660700 0.0058801373 0.0020075174 0.0049016475 + 660800 0.0055054487 0.0024850403 0.0051947533 + 660900 0.0038546298 0.0030655364 0.004962737 + 661000 0.0036350962 0.0028047689 0.0045939178 + 661100 0.0069755156 0.0022191658 0.0056524274 + 661200 0.0040644289 0.0022620895 0.0042625506 + 661300 0.0065039708 0.0022758094 0.0054769825 + 661400 0.004208787 0.0024043409 0.0044758532 + 661500 0.0036858231 0.0022768785 0.0040909946 + 661600 0.003919448 0.0020812471 0.0040103504 + 661700 0.0051875688 0.0022630614 0.0048163179 + 661800 0.0034742819 0.0024049235 0.0041149217 + 661900 0.0040398418 0.0026587881 0.0046471478 + 662000 0.0052204068 0.0027413493 0.0053107683 + 662100 0.0063386893 0.003098326 0.0062181497 + 662200 0.0047538468 0.0036770192 0.0060168031 + 662300 0.0058509521 0.0035500629 0.0064298283 + 662400 0.0057655289 0.0027763552 0.0056140764 + 662500 0.0075300498 0.0020899482 0.0057961446 + 662600 0.0060945712 0.0022959624 0.0052956342 + 662700 0.0034491472 0.0026848167 0.0043824439 + 662800 0.0039087583 0.0026594289 0.0045832709 + 662900 0.0060926997 0.00262631 0.0056250607 + 663000 0.0063906351 0.0029484641 0.0060938548 + 663100 0.0048108647 0.0029218466 0.005289694 + 663200 0.0051283331 0.0024708453 0.0049949468 + 663300 0.0048214481 0.0023383819 0.0047114384 + 663400 0.003927409 0.0027080232 0.0046410448 + 663500 0.0038615296 0.0027687968 0.0046693934 + 663600 0.0047503025 0.0023904833 0.0047285228 + 663700 0.0042655431 0.0022459179 0.0043453649 + 663800 0.0050834131 0.0017995455 0.0043015378 + 663900 0.005870636 0.0020627862 0.0049522398 + 664000 0.0056802069 0.0022683372 0.005064064 + 664100 0.0045430315 0.0022393083 0.0044753316 + 664200 0.003181205 0.0019707946 0.0035365439 + 664300 0.0044973463 0.0022761214 0.004489659 + 664400 0.0051514663 0.0025435159 0.0050790032 + 664500 0.0039339647 0.0024938858 0.0044301341 + 664600 0.0046170232 0.0022486292 0.0045210703 + 664700 0.003871775 0.0024992378 0.0044048771 + 664800 0.0049210845 0.0028348354 0.0052569317 + 664900 0.0049576216 0.0028845156 0.0053245949 + 665000 0.0049457496 0.0025445442 0.0049787803 + 665100 0.0053596656 0.0024663843 0.0051043447 + 665200 0.0059079902 0.0025972092 0.0055050482 + 665300 0.0051141423 0.0024782834 0.0049954003 + 665400 0.0049497085 0.0023870574 0.004823242 + 665500 0.0064059106 0.0027998044 0.0059527135 + 665600 0.0049158208 0.0033540077 0.0057735133 + 665700 0.0043917998 0.0031241047 0.0052856937 + 665800 0.0055305054 0.002527722 0.0052497677 + 665900 0.0044565373 0.0023701414 0.0045635933 + 666000 0.0045055118 0.0023526428 0.0045701994 + 666100 0.004430349 0.0024962708 0.0046768331 + 666200 0.0043395434 0.0026102522 0.0047461213 + 666300 0.0055741889 0.00220317 0.0049467161 + 666400 0.0042159779 0.0020539057 0.0041289573 + 666500 0.0049579669 0.0022393053 0.0046795547 + 666600 0.0042247187 0.002469051 0.0045484047 + 666700 0.0057256165 0.0022106921 0.005028769 + 666800 0.0055682181 0.0023105133 0.0050511206 + 666900 0.004010955 0.0024162372 0.0043903791 + 667000 0.0064801388 0.0027105478 0.0058999912 + 667100 0.0054565208 0.0028426254 0.0055282567 + 667200 0.0060430289 0.0027759535 0.0057502568 + 667300 0.0035340057 0.0024062949 0.0041456883 + 667400 0.0047274039 0.0020610535 0.0043878226 + 667500 0.0034031022 0.0019794819 0.0036544462 + 667600 0.0037596981 0.001968766 0.0038192424 + 667700 0.0031881715 0.0019771201 0.0035462982 + 667800 0.0043365073 0.0025733893 0.004707764 + 667900 0.0054589645 0.0023080042 0.0049948383 + 668000 0.0046356212 0.0023611953 0.0046427901 + 668100 0.0046074013 0.002491793 0.0047594984 + 668200 0.0062143524 0.0021554981 0.0052141247 + 668300 0.0055628815 0.0021614282 0.004899409 + 668400 0.0045339411 0.0021935806 0.0044251298 + 668500 0.0049690576 0.0021590651 0.0046047732 + 668600 0.0086980175 0.0018305981 0.0061116536 + 668700 0.0043696792 0.0023136281 0.0044643296 + 668800 0.0044264682 0.0024863303 0.0046649826 + 668900 0.0048614015 0.002252732 0.0046454531 + 669000 0.0059826482 0.0025346379 0.0054792226 + 669100 0.0044805159 0.002356554 0.0045618079 + 669200 0.0046616388 0.0021394846 0.004433885 + 669300 0.004992445 0.0020526462 0.0045098653 + 669400 0.004681903 0.0021275938 0.004431968 + 669500 0.0051255719 0.0022788136 0.0048015561 + 669600 0.0054260055 0.0021206537 0.0047912658 + 669700 0.0043293394 0.0017870453 0.003917892 + 669800 0.0056885939 0.001716041 0.0045158958 + 669900 0.005138037 0.0019883816 0.0045172592 + 670000 0.0047947355 0.0024860514 0.0048459603 + 670100 0.0051777829 0.0027424239 0.0052908639 + 670200 0.0046799514 0.0025028587 0.0048062723 + 670300 0.0068876718 0.0022817887 0.0056718146 + 670400 0.0056819799 0.0026996808 0.0054962803 + 670500 0.005378205 0.0028821895 0.0055292747 + 670600 0.0045073928 0.0030836457 0.0053021281 + 670700 0.0063222231 0.0030539157 0.0061656349 + 670800 0.004228824 0.0032665449 0.0053479193 + 670900 0.0073407048 0.0032366526 0.0068496558 + 671000 0.0059084951 0.003266237 0.0061743244 + 671100 0.0050212534 0.0032044483 0.0056758465 + 671200 0.004664005 0.003150356 0.005445921 + 671300 0.0047454837 0.0028274751 0.0051631428 + 671400 0.0048756828 0.0029732546 0.0053730047 + 671500 0.005351671 0.0032481333 0.0058821589 + 671600 0.0038978503 0.0033397411 0.0052582143 + 671700 0.0050387217 0.0028648786 0.0053448745 + 671800 0.0059998186 0.0028614991 0.0058145348 + 671900 0.0040175306 0.0029249817 0.00490236 + 672000 0.004745928 0.0028554703 0.0051913567 + 672100 0.0044722174 0.002951749 0.0051529185 + 672200 0.00558642 0.0023936426 0.0051432087 + 672300 0.003305726 0.001847507 0.003474544 + 672400 0.0046829593 0.0023142257 0.0046191197 + 672500 0.0056986721 0.0024139131 0.0052187282 + 672600 0.0044216927 0.0022105582 0.0043868601 + 672700 0.0055631748 0.0021606619 0.004898787 + 672800 0.0029368735 0.0024735124 0.0039190048 + 672900 0.0054301144 0.0024383986 0.005111033 + 673000 0.0057965952 0.002437771 0.0052907827 + 673100 0.0054675047 0.0029462787 0.0056373161 + 673200 0.0043772004 0.0031054349 0.0052598382 + 673300 0.0062502942 0.0032243219 0.0063006385 + 673400 0.0050341731 0.0025921229 0.00506988 + 673500 0.007528269 0.0019056578 0.0056109777 + 673600 0.0049644214 0.0021748386 0.0046182648 + 673700 0.0041774069 0.0021829548 0.0042390223 + 673800 0.0045256346 0.0025209503 0.0047484111 + 673900 0.0053837863 0.0026675827 0.005317415 + 674000 0.004886261 0.0025137742 0.0049187308 + 674100 0.0053467151 0.0020138869 0.0046454733 + 674200 0.0047868477 0.0019913979 0.0043474245 + 674300 0.0050051566 0.0019248412 0.0043883167 + 674400 0.0043893182 0.0020593264 0.0042196939 + 674500 0.0050114205 0.0019393671 0.0044059256 + 674600 0.0052016139 0.0022119747 0.0047721441 + 674700 0.005860037 0.0022713499 0.0051555869 + 674800 0.0054850293 0.0022645956 0.0049642584 + 674900 0.0043102958 0.0022470664 0.0043685401 + 675000 0.0050686219 0.002456838 0.0049515503 + 675100 0.0051421168 0.002752 0.0052828857 + 675200 0.0074497701 0.0023520192 0.0060187029 + 675300 0.0034849371 0.0025540116 0.0042692541 + 675400 0.0040097458 0.0024365958 0.0044101426 + 675500 0.0060492095 0.0021582575 0.0051356028 + 675600 0.0043556376 0.0026457176 0.0047895079 + 675700 0.0060969323 0.0025115971 0.005512431 + 675800 0.0051388376 0.0023770971 0.0049063687 + 675900 0.0041750246 0.0025823778 0.0046372727 + 676000 0.0048236404 0.002256747 0.0046308825 + 676100 0.0036732031 0.0025248464 0.0043327511 + 676200 0.0044960658 0.0023808197 0.0045937271 + 676300 0.004913098 0.002333082 0.0047512474 + 676400 0.0048187182 0.002360636 0.0047323489 + 676500 0.0046523584 0.0022093084 0.0044991411 + 676600 0.0039226868 0.0020733573 0.0040040547 + 676700 0.0056571048 0.0018608836 0.0046452398 + 676800 0.0056988755 0.0020612579 0.0048661732 + 676900 0.0040618688 0.0021948485 0.0041940496 + 677000 0.0043351274 0.0020142167 0.0041479122 + 677100 0.0053221985 0.0022972057 0.0049167253 + 677200 0.0048028452 0.0024456699 0.0048095703 + 677300 0.0056730787 0.0023249019 0.0051171203 + 677400 0.0053277184 0.002586122 0.0052083584 + 677500 0.0049660971 0.0023619758 0.0048062267 + 677600 0.0045623412 0.0018034277 0.004048955 + 677700 0.0040990764 0.0018005079 0.003818022 + 677800 0.0043796582 0.0020047214 0.0041603344 + 677900 0.0056915285 0.0024324326 0.0052337317 + 678000 0.0057191323 0.0026540691 0.0054689545 + 678100 0.0046453011 0.0023342639 0.0046206231 + 678200 0.0035325063 0.0020762461 0.0038149016 + 678300 0.0052106883 0.0021884505 0.0047530861 + 678400 0.0052215085 0.0025350042 0.0051049654 + 678500 0.0032756779 0.0026962737 0.0043085214 + 678600 0.0044179745 0.0020850169 0.0042594887 + 678700 0.0031648444 0.0023200238 0.0038777206 + 678800 0.0040915516 0.0026867478 0.0047005584 + 678900 0.005759063 0.003124892 0.0059594308 + 679000 0.004794972 0.002904829 0.0052648543 + 679100 0.0045171127 0.0026390094 0.0048622758 + 679200 0.0047793972 0.0022594594 0.004611819 + 679300 0.0058441959 0.0019245889 0.004801029 + 679400 0.0075962551 0.0021703106 0.0059090923 + 679500 0.0050867599 0.0026888859 0.0051925255 + 679600 0.0040060778 0.0028872213 0.0048589627 + 679700 0.0047578484 0.0029798607 0.0053216142 + 679800 0.0057679466 0.0028466624 0.0056855736 + 679900 0.0051641372 0.0030261892 0.005567913 + 680000 0.0075064736 0.0025858365 0.006280429 + 680100 0.0055100569 0.0024195857 0.0051315669 + 680200 0.0055483096 0.0021929221 0.0049237307 + 680300 0.005562335 0.0023102093 0.005047921 + 680400 0.0055858141 0.0025225486 0.0052718165 + 680500 0.0050320768 0.0026571143 0.0051338396 + 680600 0.006409659 0.0025316933 0.0056864473 + 680700 0.0057108081 0.0024899958 0.0053007841 + 680800 0.0048687257 0.0021309981 0.004527324 + 680900 0.0046184582 0.0022271788 0.0045003262 + 681000 0.0042918092 0.002533281 0.0046456559 + 681100 0.0038350347 0.0026932862 0.0045808423 + 681200 0.0041211497 0.0025821553 0.0046105337 + 681300 0.0050464341 0.0023649284 0.0048487202 + 681400 0.0058051397 0.0022149776 0.0050721948 + 681500 0.005865623 0.0029478383 0.0058348246 + 681600 0.0065985909 0.0034200323 0.0066677763 + 681700 0.0047289724 0.0037840072 0.0061115483 + 681800 0.0064556139 0.0028143517 0.0059917242 + 681900 0.0045839948 0.0024974117 0.0047535967 + 682000 0.0048828025 0.002466016 0.0048692704 + 682100 0.0047644183 0.0025752921 0.0049202792 + 682200 0.0047718098 0.0024238825 0.0047725076 + 682300 0.0044509985 0.0020818299 0.0042725557 + 682400 0.0052168314 0.0016715858 0.004239245 + 682500 0.005031353 0.0017264847 0.0042028538 + 682600 0.0043207398 0.0018105733 0.0039371874 + 682700 0.0053070536 0.0019181475 0.004530213 + 682800 0.0047546027 0.0022087878 0.0045489438 + 682900 0.0047225985 0.0027864544 0.0051108584 + 683000 0.0058173625 0.0024126045 0.0052758376 + 683100 0.0057075215 0.0025636252 0.005372796 + 683200 0.0066169236 0.0022166267 0.0054733938 + 683300 0.0049683531 0.0019651876 0.0044105489 + 683400 0.0064842655 0.0019511123 0.0051425867 + 683500 0.0044827101 0.0020965571 0.004302891 + 683600 0.0028287977 0.0022215432 0.0036138421 + 683700 0.0056039345 0.001929467 0.0046876535 + 683800 0.005590214 0.0020244787 0.0047759122 + 683900 0.0046800061 0.0019410179 0.0042444584 + 684000 0.0048742047 0.0020333643 0.0044323869 + 684100 0.004831439 0.0024540671 0.0048320409 + 684200 0.0051075725 0.0023308208 0.0048447042 + 684300 0.0058857622 0.0022141523 0.0051110509 + 684400 0.0024215425 0.0024779473 0.0036698003 + 684500 0.0053165458 0.0023591908 0.0049759282 + 684600 0.005475059 0.0028738941 0.0055686497 + 684700 0.0060332387 0.0030061541 0.0059756388 + 684800 0.0046758917 0.0025464458 0.0048478613 + 684900 0.0054225523 0.002691452 0.0053603645 + 685000 0.0046602063 0.0027147674 0.0050084627 + 685100 0.0057766375 0.0025501516 0.0053933404 + 685200 0.007767117 0.0032148157 0.0070376936 + 685300 0.0045127035 0.0039288576 0.0061499539 + 685400 0.0051752919 0.0033902472 0.0059374612 + 685500 0.0039492273 0.003204865 0.0051486253 + 685600 0.0051994445 0.002810966 0.0053700676 + 685700 0.0050636559 0.0025628998 0.005055168 + 685800 0.0044605363 0.0026705858 0.004866006 + 685900 0.0076528969 0.0026602773 0.0064269375 + 686000 0.0032783115 0.0025365934 0.0041501374 + 686100 0.0050273857 0.0028058989 0.0052803153 + 686200 0.0058652067 0.0024300372 0.0053168187 + 686300 0.005688628 0.002433187 0.0052330587 + 686400 0.0042703702 0.0026967121 0.0047985349 + 686500 0.0051675104 0.0026750609 0.005218445 + 686600 0.0055427984 0.0023164449 0.005044541 + 686700 0.0056572934 0.0021157315 0.0049001806 + 686800 0.0033687444 0.0025194249 0.0041774788 + 686900 0.0044852211 0.002295016 0.0045025858 + 687000 0.0045458439 0.0022850766 0.0045224841 + 687100 0.0045914176 0.0022283087 0.0044881471 + 687200 0.0047863567 0.0023487564 0.0047045413 + 687300 0.0060749509 0.002240496 0.0052305109 + 687400 0.0048818665 0.0023311927 0.0047339864 + 687500 0.0044534981 0.001962663 0.0041546191 + 687600 0.0038944946 0.0017706064 0.003687428 + 687700 0.0046273797 0.0025448263 0.0048223648 + 687800 0.0060705661 0.0026165334 0.0056043901 + 687900 0.0053226716 0.0027118165 0.0053315689 + 688000 0.0062006393 0.0032390254 0.0062909025 + 688100 0.0059473391 0.0029908844 0.0059180903 + 688200 0.0062549256 0.0021358221 0.0052144183 + 688300 0.0055845248 0.0016409605 0.0043895938 + 688400 0.0041395863 0.0014861797 0.0035236323 + 688500 0.0057194777 0.0016127107 0.0044277662 + 688600 0.0050414016 0.0019692893 0.0044506042 + 688700 0.0046486158 0.002250906 0.0045388966 + 688800 0.0048799866 0.0023860639 0.0047879323 + 688900 0.0072120571 0.0024628402 0.0060125245 + 689000 0.0062512322 0.0025219784 0.0055987567 + 689100 0.00626328 0.0026380952 0.0057208034 + 689200 0.0045055548 0.0022181105 0.0044356882 + 689300 0.0045064541 0.0020769127 0.004294933 + 689400 0.0043024576 0.0021233551 0.004240971 + 689500 0.0053693969 0.0018926329 0.0045353829 + 689600 0.0054839597 0.0019569141 0.0046560505 + 689700 0.0042657687 0.0021556018 0.0042551598 + 689800 0.0038317575 0.0023508292 0.0042367724 + 689900 0.0051182071 0.0023658891 0.0048850067 + 690000 0.0051729599 0.0020806806 0.0046267468 + 690100 0.0048221896 0.0020947318 0.0044681533 + 690200 0.0061737236 0.0018237452 0.0048623748 + 690300 0.0047453692 0.0017034242 0.0040390356 + 690400 0.004637416 0.0021077306 0.0043902088 + 690500 0.0046235167 0.0026692926 0.0049449297 + 690600 0.0070649802 0.0024391651 0.00591646 + 690700 0.005604354 0.0027471965 0.0055055894 + 690800 0.005684871 0.0027483369 0.0055463594 + 690900 0.005652759 0.0028271717 0.005609389 + 691000 0.0057216402 0.0025706292 0.005386749 + 691100 0.0051943266 0.0030115843 0.0055681669 + 691200 0.0044125767 0.003576585 0.0057484001 + 691300 0.0048581677 0.0035070865 0.005898216 + 691400 0.006152544 0.0031108732 0.0061390784 + 691500 0.0040076262 0.0032249173 0.0051974208 + 691600 0.0060049994 0.0031453214 0.006100907 + 691700 0.0058396939 0.0026904008 0.0055646252 + 691800 0.0054325745 0.002653074 0.0053269192 + 691900 0.0042940458 0.0023197013 0.0044331769 + 692000 0.0044613984 0.0020832707 0.0042791153 + 692100 0.0062665778 0.0019233611 0.0050076923 + 692200 0.0042000614 0.0021041334 0.0041713511 + 692300 0.005367531 0.001656117 0.0042979486 + 692400 0.0047550689 0.0024898739 0.0048302594 + 692500 0.0059521447 0.0029900424 0.0059196136 + 692600 0.0052896146 0.0031780219 0.0057815041 + 692700 0.0048772087 0.0028020917 0.0052025928 + 692800 0.0057178287 0.0028638218 0.0056780656 + 692900 0.0053370127 0.0026270138 0.0052538247 + 693000 0.0054665977 0.002490169 0.0051807601 + 693100 0.007304878 0.0025287077 0.0061240774 + 693200 0.004594935 0.0027059757 0.0049675453 + 693300 0.0050787663 0.0022748099 0.0047745152 + 693400 0.0053769615 0.0020126602 0.0046591335 + 693500 0.0054797919 0.0022273983 0.0049244834 + 693600 0.0041089287 0.0024957423 0.0045181056 + 693700 0.0041709341 0.0025918975 0.0046447792 + 693800 0.0044031612 0.0028116242 0.004978805 + 693900 0.0057319818 0.0026048594 0.0054260691 + 694000 0.0040898646 0.0023163249 0.0043293051 + 694100 0.0049226123 0.0022471803 0.0046700285 + 694200 0.0057345602 0.0024211746 0.0052436534 + 694300 0.0046634757 0.002571209 0.0048665134 + 694400 0.0060118561 0.0023734428 0.0053324033 + 694500 0.0053722931 0.0020365569 0.0046807324 + 694600 0.0062807402 0.0021100497 0.0052013515 + 694700 0.0054601901 0.0024067036 0.005094141 + 694800 0.006168047 0.0023689426 0.0054047782 + 694900 0.0095267718 0.0019935477 0.0066825057 + 695000 0.0047937031 0.0024501114 0.0048095122 + 695100 0.0037958042 0.0026339212 0.0045021686 + 695200 0.0056756004 0.0024888803 0.0052823399 + 695300 0.0065095419 0.0027993367 0.0060032519 + 695400 0.0051315665 0.0028904789 0.0054161717 + 695500 0.0069468732 0.0024182345 0.0058373986 + 695600 0.0056513997 0.0021734505 0.0049549988 + 695700 0.0056084497 0.0021237303 0.0048841392 + 695800 0.0060200507 0.0025549098 0.0055179035 + 695900 0.0051746085 0.0028852457 0.0054321233 + 696000 0.0049811221 0.0030283082 0.0054799542 + 696100 0.0047199585 0.0026645625 0.0049876671 + 696200 0.00609094 0.0024145045 0.005412389 + 696300 0.0057625866 0.0022909599 0.0051272329 + 696400 0.0061051549 0.0020355491 0.00504043 + 696500 0.0053089259 0.0018318959 0.0044448829 + 696600 0.0064647536 0.0020428696 0.0052247405 + 696700 0.0043270026 0.0026228024 0.004752499 + 696800 0.0047763797 0.0020895256 0.0044404 + 696900 0.0054960134 0.0015044996 0.0042095687 + 697000 0.0057412272 0.0021565543 0.0049823146 + 697100 0.0049822177 0.0022433303 0.0046955156 + 697200 0.0068859033 0.0019204202 0.0053095757 + 697300 0.0062941827 0.0021658064 0.0052637245 + 697400 0.0045259021 0.0027498639 0.0049774563 + 697500 0.0059815416 0.0029234193 0.0058674593 + 697600 0.0049262988 0.00293233 0.0053569926 + 697700 0.0041274099 0.0024610964 0.004492556 + 697800 0.0041750089 0.0027867136 0.0048416008 + 697900 0.0045170928 0.0028606019 0.0050838585 + 698000 0.004331817 0.0025704307 0.0047024969 + 698100 0.0041904627 0.00215044 0.0042129333 + 698200 0.0043342335 0.0023475741 0.0044808296 + 698300 0.004870833 0.0019581358 0.0043554989 + 698400 0.0037380592 0.0021331644 0.0039729904 + 698500 0.0054283175 0.0025001123 0.0051718623 + 698600 0.006453305 0.0027314198 0.0059076558 + 698700 0.0048603363 0.0023230356 0.0047152324 + 698800 0.0049545953 0.0022071756 0.0046457655 + 698900 0.0046959783 0.0023317987 0.0046431005 + 699000 0.0047527583 0.0024121938 0.004751442 + 699100 0.0045180861 0.0025376875 0.004761433 + 699200 0.0043257015 0.0023829204 0.0045119766 + 699300 0.0047456035 0.0024294355 0.0047651622 + 699400 0.0047533517 0.002467943 0.0048074833 + 699500 0.0043115788 0.0027106607 0.0048327659 + 699600 0.0051867351 0.0024916009 0.005044447 + 699700 0.0056673025 0.0023043241 0.0050936995 + 699800 0.0044158495 0.0023423374 0.0045157634 + 699900 0.0046553666 0.0020414022 0.0043327155 + 700000 0.0041124431 0.0021283157 0.0041524087 + 700100 0.0035489934 0.0025431083 0.0042898785 + 700200 0.0050448855 0.0025122709 0.0049953005 + 700300 0.0054042868 0.002226945 0.0048868674 + 700400 0.0041230462 0.0019509109 0.0039802227 + 700500 0.0059743586 0.0018257735 0.0047662781 + 700600 0.0042343442 0.0020288969 0.0041129882 + 700700 0.0041105205 0.0016857469 0.0037088937 + 700800 0.0062865817 0.0022266324 0.0053208094 + 700900 0.004335309 0.0025686507 0.0047024356 + 701000 0.0053919158 0.0020676298 0.0047214633 + 701100 0.0047248832 0.00199119 0.0043167185 + 701200 0.0061358404 0.0017184038 0.0047383877 + 701300 0.0064010297 0.0018401704 0.0049906772 + 701400 0.0044026875 0.0028332273 0.0050001751 + 701500 0.0055039738 0.002506155 0.0052151421 + 701600 0.0058657982 0.0017129648 0.0046000374 + 701700 0.005512614 0.0019616901 0.0046749298 + 701800 0.0049804685 0.0022307498 0.0046820741 + 701900 0.004527185 0.0019739656 0.0042021895 + 702000 0.0037503489 0.0025604899 0.0044063648 + 702100 0.0048388703 0.0026641501 0.0050457815 + 702200 0.00842595 0.0021639486 0.0063110959 + 702300 0.0048317886 0.0022283997 0.0046065457 + 702400 0.0066856856 0.0024463853 0.0057369961 + 702500 0.0052957529 0.0019627941 0.0045692975 + 702600 0.0046066664 0.001991516 0.0042588595 + 702700 0.0053227988 0.0022730097 0.0048928247 + 702800 0.0055194918 0.0025759436 0.0052925685 + 702900 0.0054546865 0.0026017016 0.0052864301 + 703000 0.0046440362 0.002794403 0.0050801396 + 703100 0.0045048082 0.002415893 0.0046331033 + 703200 0.0051427819 0.0021451707 0.0046763837 + 703300 0.0056120331 0.0022242361 0.0049864086 + 703400 0.0063663283 0.0023730992 0.0055065264 + 703500 0.0040871773 0.0027858813 0.0047975388 + 703600 0.0054408471 0.0026429566 0.0053208736 + 703700 0.0055280654 0.0026507208 0.0053715654 + 703800 0.0046446191 0.0027030308 0.0049890543 + 703900 0.005423383 0.0027462047 0.0054155261 + 704000 0.0045490363 0.0027388825 0.0049778613 + 704100 0.0052451111 0.00195107 0.0045326481 + 704200 0.0050362582 0.0020559212 0.0045347045 + 704300 0.0044703785 0.0025013062 0.0047015706 + 704400 0.0045926053 0.0025500648 0.0048104877 + 704500 0.0055480234 0.0029254977 0.0056561654 + 704600 0.005644265 0.0032640429 0.0060420796 + 704700 0.0053657478 0.0032827885 0.0059237426 + 704800 0.0068919234 0.0029405143 0.0063326329 + 704900 0.0062081319 0.0023411845 0.0053967494 + 705000 0.0053901515 0.0024367068 0.005089672 + 705100 0.0045181341 0.002352379 0.0045761481 + 705200 0.0055717973 0.0023450564 0.0050874254 + 705300 0.0039964757 0.0025280924 0.0044951078 + 705400 0.0037341906 0.0025931871 0.004431109 + 705500 0.004407595 0.0025880873 0.0047574504 + 705600 0.0063088336 0.0023408854 0.0054460145 + 705700 0.0060971276 0.001956196 0.004957126 + 705800 0.0053906804 0.0024576837 0.0051109092 + 705900 0.0044576264 0.0026511833 0.0048451714 + 706000 0.0063575066 0.0023223801 0.0054514654 + 706100 0.0041399754 0.0022495603 0.0042872044 + 706200 0.0050920438 0.0022777741 0.0047840144 + 706300 0.0051722633 0.0024797707 0.0050254941 + 706400 0.0041823215 0.002251837 0.0043103234 + 706500 0.005019291 0.0021288003 0.0045992326 + 706600 0.0036707039 0.0021225139 0.0039291885 + 706700 0.0052803471 0.0022394159 0.0048383367 + 706800 0.0033932937 0.0022469429 0.0039170797 + 706900 0.0065647802 0.0022409199 0.0054720227 + 707000 0.0055697408 0.0020052435 0.0047466003 + 707100 0.0038820202 0.002327033 0.0042377149 + 707200 0.0042424916 0.0025031611 0.0045912624 + 707300 0.0045999956 0.002655885 0.0049199453 + 707400 0.0053482788 0.00280855 0.005440906 + 707500 0.0052686058 0.002488227 0.0050813689 + 707600 0.0050425971 0.0023952979 0.0048772012 + 707700 0.0050357041 0.0027353397 0.0052138503 + 707800 0.0045516876 0.0030465967 0.0052868804 + 707900 0.0062894235 0.0027051759 0.0058007515 + 708000 0.0053615644 0.0025166826 0.0051555776 + 708100 0.0042173766 0.002730763 0.004806503 + 708200 0.0058437459 0.0027442805 0.0056204992 + 708300 0.0053165099 0.0025189229 0.0051356426 + 708400 0.0057854742 0.0024221046 0.0052696427 + 708500 0.0044358559 0.0024928195 0.0046760924 + 708600 0.0049065432 0.0023358504 0.0047507896 + 708700 0.0054328423 0.0026213505 0.0052953276 + 708800 0.0050072377 0.0028986757 0.0053631755 + 708900 0.005348434 0.0026172187 0.005249651 + 709000 0.0051595203 0.0026232354 0.0051626868 + 709100 0.0048022785 0.0025167894 0.0048804109 + 709200 0.0039447465 0.0022219025 0.0041634574 + 709300 0.0035085763 0.0017662253 0.0034931027 + 709400 0.0035828143 0.0017804123 0.0035438287 + 709500 0.0035354483 0.0018424879 0.0035825913 + 709600 0.0046372901 0.0020122145 0.0042946307 + 709700 0.0050452352 0.0020424767 0.0045256784 + 709800 0.0046675761 0.0017808349 0.0040781575 + 709900 0.0037001108 0.0017657161 0.0035868644 + 710000 0.0065363874 0.0017993057 0.0050164338 + 710100 0.0059855023 0.0024764488 0.0054224383 + 710200 0.0043159348 0.0028485729 0.004972822 + 710300 0.0063765716 0.0026963601 0.005834829 + 710400 0.0052497885 0.0022294512 0.0048133314 + 710500 0.0054433937 0.0022657644 0.0049449347 + 710600 0.0067197362 0.0024796327 0.0057870029 + 710700 0.0038089282 0.0025687053 0.0044434122 + 710800 0.0060832095 0.0022215143 0.005215594 + 710900 0.004459414 0.00251339 0.0047082578 + 711000 0.0044517026 0.00202264 0.0042137124 + 711100 0.0062632759 0.0017762558 0.0048589619 + 711200 0.0043874685 0.0018577366 0.0040171938 + 711300 0.0051016576 0.0024149878 0.0049259598 + 711400 0.0063741904 0.0025255185 0.0056628154 + 711500 0.0074623482 0.0021529086 0.0058257831 + 711600 0.0049821141 0.0021041466 0.0045562809 + 711700 0.0057093734 0.0024517783 0.0052618605 + 711800 0.0067393659 0.002462522 0.0057795536 + 711900 0.0053360461 0.0025731586 0.0051994938 + 712000 0.0066111574 0.0026344255 0.0058883546 + 712100 0.0050636734 0.002686562 0.0051788387 + 712200 0.0053661041 0.0026373189 0.0052784483 + 712300 0.0042890241 0.0023859562 0.0044969602 + 712400 0.0043056223 0.0018745419 0.0039937154 + 712500 0.0045816021 0.0018892455 0.0041442528 + 712600 0.0049557441 0.0020698643 0.0045090196 + 712700 0.0046435859 0.0024959341 0.004781449 + 712800 0.0049985468 0.002759856 0.0052200783 + 712900 0.0073024873 0.0031212529 0.0067154459 + 713000 0.0061775856 0.0034683118 0.0065088422 + 713100 0.0055424228 0.0039743641 0.0067022753 + 713200 0.0051023643 0.0033834126 0.0058947325 + 713300 0.0057721185 0.0028223214 0.005663286 + 713400 0.0046010023 0.0024177259 0.0046822817 + 713500 0.0060285562 0.0022293893 0.0051965692 + 713600 0.0045902477 0.0021263336 0.0043855961 + 713700 0.0055477156 0.0027043603 0.0054348766 + 713800 0.0049202633 0.0033824589 0.005804151 + 713900 0.006895644 0.0024378561 0.0058318058 + 714000 0.0061042245 0.002099055 0.005103478 + 714100 0.0034656688 0.0023217679 0.0040275268 + 714200 0.00541201 0.0027180656 0.0053817893 + 714300 0.0057647472 0.0030096041 0.0058469407 + 714400 0.0054150709 0.0026080412 0.0052732714 + 714500 0.0056831196 0.0026751069 0.0054722673 + 714600 0.0049162292 0.0025379785 0.0049576851 + 714700 0.0031498045 0.0028130535 0.0043633479 + 714800 0.00545143 0.0027983131 0.0054814388 + 714900 0.0048905488 0.0026166982 0.0050237652 + 715000 0.005885664 0.0024806119 0.0053774621 + 715100 0.006467298 0.0024302014 0.0056133246 + 715200 0.0087812527 0.0028459847 0.0071680075 + 715300 0.0052087795 0.0031428369 0.0057065331 + 715400 0.0056225549 0.0031519668 0.0059193181 + 715500 0.0039819868 0.0032436261 0.0052035102 + 715600 0.0058666377 0.0030884882 0.0059759739 + 715700 0.0062338929 0.0027913305 0.0058595747 + 715800 0.0045525082 0.0023895745 0.0046302621 + 715900 0.0052938307 0.0021756668 0.0047812241 + 716000 0.0056472881 0.0023385969 0.0051181215 + 716100 0.0054541796 0.0026878091 0.0053722881 + 716200 0.0055407071 0.0024158274 0.0051428942 + 716300 0.0049640727 0.0019328656 0.0043761201 + 716400 0.0058088534 0.0017314084 0.0045904535 + 716500 0.0056890085 0.0022435514 0.0050436103 + 716600 0.0043240217 0.0029567948 0.0050850243 + 716700 0.0046277893 0.0034130027 0.0056907427 + 716800 0.0045051508 0.0033550789 0.0055724578 + 716900 0.0058126669 0.00301146 0.005872382 + 717000 0.0045743094 0.0030216706 0.0052730885 + 717100 0.0067958552 0.0031217447 0.0064665796 + 717200 0.0053906717 0.0031696663 0.0058228875 + 717300 0.0050342389 0.003292638 0.0057704275 + 717400 0.0076211864 0.0027250486 0.0064761013 + 717500 0.0051690387 0.00256508 0.0051092162 + 717600 0.0047975015 0.0025907291 0.0049519994 + 717700 0.0046844889 0.0025672634 0.0048729103 + 717800 0.0053231834 0.00230352 0.0049235243 + 717900 0.0045879745 0.0020731011 0.0043312448 + 718000 0.0052448591 0.0018008467 0.0043823008 + 718100 0.0045429356 0.0018206496 0.0040566258 + 718200 0.0049206584 0.0016794416 0.0041013281 + 718300 0.0051049775 0.0021215089 0.004634115 + 718400 0.0050807417 0.0024075919 0.0049082695 + 718500 0.0035639364 0.002433216 0.0041873409 + 718600 0.0050235029 0.0023379762 0.0048104816 + 718700 0.0061955491 0.0023335726 0.0053829444 + 718800 0.0049554193 0.0022728486 0.004711844 + 718900 0.0046714294 0.0025205597 0.0048197789 + 719000 0.0038117596 0.0022713257 0.0041474262 + 719100 0.0046905025 0.0023954525 0.0047040592 + 719200 0.0050958528 0.0026623781 0.0051704932 + 719300 0.0045915375 0.0030847939 0.0053446912 + 719400 0.0068085819 0.0029502808 0.0063013797 + 719500 0.0054456235 0.0029425732 0.005622841 + 719600 0.0048403131 0.0029125595 0.0052949011 + 719700 0.0058555095 0.0032769089 0.0061589175 + 719800 0.0060905681 0.0030911611 0.0060888626 + 719900 0.0058961262 0.0028312971 0.0057332967 + 720000 0.0043571727 0.0029269585 0.0050715044 + 720100 0.0054155599 0.0026692124 0.0053346833 + 720200 0.0062924787 0.0022701919 0.0053672713 + 720300 0.0055472282 0.0024956361 0.0052259125 + 720400 0.0047645276 0.0027543861 0.005099427 + 720500 0.0048689123 0.0026370285 0.0050334462 + 720600 0.0040258723 0.002450589 0.004432073 + 720700 0.0043753624 0.0024159328 0.0045694315 + 720800 0.0044801103 0.0027966544 0.0050017087 + 720900 0.0055535713 0.0031534819 0.0058868803 + 721000 0.005812833 0.0031807245 0.0060417283 + 721100 0.0051099171 0.0027039451 0.0052189824 + 721200 0.0063757248 0.0028758243 0.0060138763 + 721300 0.0060608641 0.0028269129 0.0058099945 + 721400 0.0067521886 0.0022807146 0.0056040574 + 721500 0.0079775298 0.0024625907 0.0063890312 + 721600 0.0039595333 0.0025551384 0.0045039712 + 721700 0.0051557393 0.0028190221 0.0053566126 + 721800 0.006101579 0.0023274298 0.0053305507 + 721900 0.0053495227 0.0024741949 0.0051071631 + 722000 0.0037778411 0.0026506795 0.0045100857 + 722100 0.0048796583 0.0023802069 0.0047819137 + 722200 0.0056003531 0.002351271 0.0051076948 + 722300 0.0048781076 0.0025054283 0.0049063719 + 722400 0.0058940419 0.0029824551 0.0058834289 + 722500 0.0067482511 0.003371585 0.0066929898 + 722600 0.0055613959 0.0029229383 0.0056601878 + 722700 0.0039802842 0.0026627006 0.0046217467 + 722800 0.0046526748 0.0022822784 0.0045722668 + 722900 0.0047381021 0.001986105 0.0043181396 + 723000 0.0053752879 0.0019466744 0.004592324 + 723100 0.0039425773 0.0025296308 0.0044701181 + 723200 0.004727608 0.0025590709 0.0048859404 + 723300 0.0073695184 0.0021660182 0.0057932031 + 723400 0.0048304559 0.0021579121 0.0045354021 + 723500 0.0061126359 0.0021783702 0.0051869332 + 723600 0.006074724 0.0025749245 0.0055648277 + 723700 0.0062946709 0.0027922863 0.0058904446 + 723800 0.0044147643 0.0026529682 0.00482586 + 723900 0.0054172571 0.0021750135 0.0048413197 + 724000 0.0049762403 0.0018012154 0.0042504586 + 724100 0.0048305438 0.0022080456 0.0045855789 + 724200 0.0046239238 0.0026523124 0.0049281499 + 724300 0.0067624025 0.0022923772 0.0056207471 + 724400 0.0056220092 0.0027152326 0.0054823152 + 724500 0.0050009646 0.0029965363 0.0054579485 + 724600 0.0054870962 0.0032361909 0.005936871 + 724700 0.0050187457 0.0026581843 0.0051283482 + 724800 0.0046544014 0.0022998906 0.0045907288 + 724900 0.0053920848 0.002350356 0.0050042727 + 725000 0.0048176224 0.0022109548 0.0045821284 + 725100 0.0037855182 0.0019044002 0.003767585 + 725200 0.0051670731 0.0020034579 0.0045466267 + 725300 0.0036564652 0.0018571547 0.0036568211 + 725400 0.0049316408 0.0017600516 0.0041873436 + 725500 0.005391405 0.0020577438 0.004711326 + 725600 0.0048547394 0.0024695381 0.0048589801 + 725700 0.0054764526 0.0025517997 0.0052472412 + 725800 0.0056130748 0.0017989134 0.0045615987 + 725900 0.0036602449 0.0024376915 0.0042392183 + 726000 0.0050690937 0.0023964737 0.0048914182 + 726100 0.0060525038 0.0021742851 0.0051532518 + 726200 0.0062178868 0.0019830661 0.0050434322 + 726300 0.0046236524 0.0026372459 0.0049129498 + 726400 0.003790019 0.0029006239 0.0047660239 + 726500 0.0043260917 0.002509471 0.0046387193 + 726600 0.0042037323 0.0024953303 0.0045643548 + 726700 0.0047689363 0.0023768848 0.0047240956 + 726800 0.006275833 0.0024485501 0.0055374367 + 726900 0.0046647714 0.0029890736 0.0052850158 + 727000 0.0069551677 0.0028327918 0.0062560384 + 727100 0.0069696203 0.0029651394 0.0063954994 + 727200 0.0038853012 0.0026858343 0.0045981309 + 727300 0.0053146343 0.0019873831 0.0046031797 + 727400 0.0048533683 0.0021305775 0.0045193447 + 727500 0.006072952 0.0021613939 0.0051504249 + 727600 0.0054395518 0.0025956251 0.0052729045 + 727700 0.0038169876 0.0029926998 0.0048713733 + 727800 0.0052435152 0.0029926047 0.0055733974 + 727900 0.0053945224 0.0027662502 0.0054213667 + 728000 0.0056626036 0.002666976 0.0054540388 + 728100 0.0052738483 0.0025921523 0.0051878745 + 728200 0.0055300478 0.0023553162 0.0050771366 + 728300 0.0051754391 0.0020550223 0.0046023087 + 728400 0.0053233732 0.0018375977 0.0044576954 + 728500 0.0053986971 0.0020158551 0.0046730263 + 728600 0.005037911 0.0024437289 0.0049233257 + 728700 0.0052866587 0.0026498071 0.0052518344 + 728800 0.0045756934 0.0027278381 0.0049799372 + 728900 0.0047997375 0.0029355335 0.0052979043 + 729000 0.0053584238 0.0030578125 0.0056951617 + 729100 0.0052998165 0.00309945 0.0057079535 + 729200 0.0047966366 0.0025077498 0.0048685944 + 729300 0.0065071286 0.0022496715 0.0054523989 + 729400 0.0059490021 0.0023088178 0.0052368423 + 729500 0.0048248681 0.002701094 0.0050758338 + 729600 0.0044050735 0.0027181035 0.0048862256 + 729700 0.0046026409 0.0028727864 0.0051381487 + 729800 0.003560876 0.0035781064 0.0053307251 + 729900 0.004461158 0.0031313448 0.0053270711 + 730000 0.0053890941 0.0029534265 0.0056058712 + 730100 0.0042935205 0.0030523971 0.0051656142 + 730200 0.0032257172 0.0028982212 0.0044858789 + 730300 0.0074439041 0.0022146651 0.0058784616 + 730400 0.0066302477 0.0023302466 0.0055935717 + 730500 0.0044350622 0.0022213373 0.0044042194 + 730600 0.0051867733 0.0019390478 0.0044919128 + 730700 0.0058199266 0.0022802388 0.0051447339 + 730800 0.0049805003 0.0026025608 0.0050539007 + 730900 0.0061408259 0.0027097877 0.0057322254 + 731000 0.0046861566 0.0030275973 0.0053340649 + 731100 0.0046049774 0.0034529954 0.0057195077 + 731200 0.0050150619 0.0035170925 0.0059854433 + 731300 0.0049855196 0.0034050824 0.0058588928 + 731400 0.0052861771 0.0031989564 0.0058007467 + 731500 0.0050310569 0.0036221626 0.0060983859 + 731600 0.0032395858 0.0036360984 0.005230582 + 731700 0.0037136495 0.0035277316 0.0053555434 + 731800 0.0065306024 0.0028484347 0.0060627156 + 731900 0.0048792426 0.0022694499 0.0046709522 + 732000 0.0062621543 0.0021209446 0.0052030987 + 732100 0.0041617432 0.0023739762 0.0044223341 + 732200 0.0053433096 0.0024005795 0.0050304897 + 732300 0.0039638492 0.0022119968 0.0041629538 + 732400 0.0057739545 0.0022432964 0.0050851646 + 732500 0.003615163 0.0021578765 0.0039372145 + 732600 0.0041377534 0.00193757 0.0039741205 + 732700 0.0046678435 0.0024785032 0.0047759574 + 732800 0.0044238898 0.0028991998 0.0050765831 + 732900 0.0047571408 0.003438596 0.0057800012 + 733000 0.0062393169 0.002922159 0.0059930728 + 733100 0.0051008772 0.0026119494 0.0051225374 + 733200 0.0051860872 0.0027533717 0.005305899 + 733300 0.0041608991 0.002757402 0.0048053445 + 733400 0.0049023398 0.0032544518 0.0056673222 + 733500 0.0044042623 0.0024661513 0.0046338741 + 733600 0.0051237213 0.00224759 0.0047694215 + 733700 0.004958243 0.0018829762 0.0043233614 + 733800 0.0065488072 0.0024645099 0.005687751 + 733900 0.0065743009 0.0030030583 0.006238847 + 734000 0.0041830645 0.0035291224 0.0055879744 + 734100 0.0062302237 0.0031534516 0.0062198898 + 734200 0.0045841334 0.0027625536 0.0050188067 + 734300 0.0047000942 0.0027887309 0.0051020585 + 734400 0.0047438467 0.002524387 0.0048592491 + 734500 0.005478782 0.0025837948 0.0052803828 + 734600 0.0060552915 0.0022458698 0.0052262086 + 734700 0.005763035 0.0020677774 0.0049042712 + 734800 0.0056495959 0.0022955265 0.005076187 + 734900 0.0058075006 0.0021992038 0.005057583 + 735000 0.0062557296 0.0022259034 0.0053048953 + 735100 0.0056651852 0.0022854259 0.0050737593 + 735200 0.0054949466 0.0022336839 0.004938228 + 735300 0.0048756964 0.0023675736 0.0047673304 + 735400 0.0036222881 0.0024222398 0.0042050847 + 735500 0.0053908631 0.0024658539 0.0051191693 + 735600 0.0030034386 0.0028967815 0.0043750364 + 735700 0.0071945302 0.0025167039 0.0060577617 + 735800 0.0054558165 0.0024278822 0.0051131668 + 735900 0.0067603392 0.0022290848 0.0055564393 + 736000 0.0047265573 0.0025056309 0.0048319833 + 736100 0.0044704206 0.0024042116 0.0046044967 + 736200 0.0041850707 0.0026010843 0.0046609238 + 736300 0.0063893539 0.0021993545 0.0053441146 + 736400 0.0045777307 0.0021165602 0.004369662 + 736500 0.004325573 0.0018186068 0.0039475998 + 736600 0.0049985944 0.0016558183 0.004116064 + 736700 0.00430051 0.0019698061 0.0040864634 + 736800 0.0039391449 0.0024088807 0.0043476785 + 736900 0.0040325741 0.0027644994 0.004749282 + 737000 0.0040416708 0.0028900938 0.0048793536 + 737100 0.0062155903 0.0024556265 0.0055148624 + 737200 0.0053450033 0.0024243357 0.0050550795 + 737300 0.0058307614 0.0025342033 0.0054040312 + 737400 0.0055895344 0.0024188332 0.0051699322 + 737500 0.0043714497 0.0022944116 0.0044459845 + 737600 0.0045381665 0.0025849434 0.0048185723 + 737700 0.0066302948 0.0023813028 0.0056446511 + 737800 0.0046008071 0.0024699824 0.0047344421 + 737900 0.003913195 0.0025747852 0.0045008109 + 738000 0.0037010125 0.0023300044 0.0041515965 + 738100 0.0038412193 0.0019904941 0.0038810942 + 738200 0.0042539763 0.001900879 0.003994633 + 738300 0.0045636029 0.0023146899 0.0045608382 + 738400 0.0046277169 0.0022026998 0.0044804042 + 738500 0.0051787664 0.0021012261 0.0046501502 + 738600 0.0046321183 0.0024054083 0.0046852791 + 738700 0.0054400791 0.002171961 0.0048495 + 738800 0.0045390155 0.002473151 0.0047071977 + 738900 0.0044836442 0.002332265 0.0045390586 + 739000 0.0038996885 0.0024779491 0.0043973271 + 739100 0.0043533801 0.0025991656 0.0047418449 + 739200 0.0041081391 0.003076561 0.0050985357 + 739300 0.005031996 0.002866324 0.0053430095 + 739400 0.0047757045 0.0023808085 0.0047313506 + 739500 0.0058663541 0.0026254409 0.005512787 + 739600 0.0050470222 0.0026784955 0.0051625767 + 739700 0.0058752639 0.003273439 0.0061651704 + 739800 0.0048566495 0.0034952679 0.0058856501 + 739900 0.006215888 0.003178255 0.0062376374 + 740000 0.0049417915 0.003500517 0.005932805 + 740100 0.0044080348 0.0037168261 0.0058864058 + 740200 0.0050800868 0.0034217746 0.0059221299 + 740300 0.0051812591 0.0033173481 0.005867499 + 740400 0.005024248 0.0030848359 0.005557708 + 740500 0.0055736838 0.002711443 0.0054547406 + 740600 0.00620886 0.0024317647 0.005487688 + 740700 0.0059149596 0.0023786942 0.0052899634 + 740800 0.005038254 0.0025854687 0.0050652344 + 740900 0.0059433929 0.0021965562 0.0051218199 + 741000 0.0053422062 0.0023331421 0.0049625092 + 741100 0.0048811763 0.0025730253 0.0049754793 + 741200 0.0044945471 0.0026805109 0.0048926708 + 741300 0.0038977281 0.0026560074 0.0045744205 + 741400 0.0059444788 0.0026328527 0.0055586508 + 741500 0.0039109559 0.0027231264 0.00464805 + 741600 0.0059473599 0.0027643436 0.0056915598 + 741700 0.0063808245 0.0028111811 0.0059517431 + 741800 0.0075317435 0.0028429088 0.0065499388 + 741900 0.0050376954 0.0032586507 0.0057381414 + 742000 0.0046076322 0.0035386888 0.0058065078 + 742100 0.0050231375 0.0036295736 0.0061018991 + 742200 0.0056971003 0.0028306425 0.0056346841 + 742300 0.0056155328 0.0024026868 0.0051665819 + 742400 0.0051776238 0.0021069177 0.0046552794 + 742500 0.0039165373 0.0024740437 0.0044017145 + 742600 0.0038827006 0.002707852 0.0046188688 + 742700 0.0065912571 0.0025890346 0.005833169 + 742800 0.0046744755 0.0020913817 0.0043921001 + 742900 0.0052829139 0.0018372542 0.0044374384 + 743000 0.0034245 0.0018860329 0.003571529 + 743100 0.0054364377 0.0023034785 0.0049792252 + 743200 0.0056709347 0.0028859194 0.0056770826 + 743300 0.0035788732 0.0027915731 0.0045530498 + 743400 0.0051809408 0.0022671512 0.0048171454 + 743500 0.0061519087 0.0022775673 0.0053054598 + 743600 0.0055728292 0.0025409092 0.0052837861 + 743700 0.0040110257 0.0023474295 0.0043216062 + 743800 0.0045236389 0.0029579302 0.0051844087 + 743900 0.00507242 0.0025058832 0.0050024649 + 744000 0.0060754345 0.0025085221 0.005498775 + 744100 0.0043453663 0.0031359684 0.0052747034 + 744200 0.0061201432 0.0023755464 0.0053878044 + 744300 0.0068006124 0.0020440984 0.0053912748 + 744400 0.0044863279 0.0023369767 0.0045450912 + 744500 0.0044166841 0.0022783019 0.0044521387 + 744600 0.0054196832 0.0024048963 0.0050723967 + 744700 0.0058789234 0.0022449237 0.0051384563 + 744800 0.0060235933 0.0027785327 0.00574327 + 744900 0.0049282958 0.0025295672 0.0049552128 + 745000 0.0073444256 0.0024675969 0.0060824314 + 745100 0.0053334685 0.0024743236 0.0050993902 + 745200 0.0053036148 0.0017995255 0.0044098984 + 745300 0.004751301 0.0020036814 0.0043422124 + 745400 0.0040740204 0.0022696933 0.0042748752 + 745500 0.0045682493 0.0020256092 0.0042740444 + 745600 0.0043720325 0.0020537265 0.0042055863 + 745700 0.0046895032 0.0020931056 0.0044012204 + 745800 0.0053375506 0.0020263822 0.0046534579 + 745900 0.0047093802 0.0019938002 0.0043116982 + 746000 0.0059661229 0.0020429619 0.004979413 + 746100 0.0046268342 0.0025135848 0.0047908548 + 746200 0.0048871096 0.0024344046 0.0048397788 + 746300 0.005504434 0.002343357 0.0050525706 + 746400 0.0048484444 0.0021113809 0.0044977246 + 746500 0.0046896286 0.0019402465 0.0042484231 + 746600 0.0037950606 0.0018309787 0.0036988601 + 746700 0.0047575126 0.0019831078 0.004324696 + 746800 0.0056029243 0.0019735554 0.0047312447 + 746900 0.0041221344 0.0023945189 0.004423382 + 747000 0.0043905199 0.0027148872 0.0048758462 + 747100 0.0056947035 0.0023054795 0.0051083414 + 747200 0.0062053518 0.0024579913 0.0055121879 + 747300 0.0034084649 0.0023988042 0.004076408 + 747400 0.0063478579 0.0021514503 0.0052757866 + 747500 0.0047270566 0.0026462871 0.0049728853 + 747600 0.0040536248 0.0025815516 0.0045766951 + 747700 0.0056939936 0.0024797184 0.0052822309 + 747800 0.0045190332 0.0024305716 0.0046547832 + 747900 0.0057081561 0.0028026068 0.0056120899 + 748000 0.0052079075 0.0031069468 0.0056702138 + 748100 0.0064422379 0.0030200336 0.0061908225 + 748200 0.0062936878 0.0032524008 0.0063500752 + 748300 0.0064990017 0.0029102526 0.00610898 + 748400 0.0042020107 0.0022912265 0.0043594037 + 748500 0.005554158 0.0021802531 0.0049139402 + 748600 0.0048726589 0.0024454459 0.0048437077 + 748700 0.0044583874 0.0027310978 0.0049254604 + 748800 0.0046398083 0.0024759289 0.0047595846 + 748900 0.0059927376 0.0024500201 0.0053995706 + 749000 0.0059776515 0.0027602487 0.0057023741 + 749100 0.0050845647 0.0026116324 0.0051141916 + 749200 0.0052675439 0.0025882461 0.0051808654 + 749300 0.0053032921 0.0025634208 0.0051736348 + 749400 0.0038556079 0.0024934771 0.0043911591 + 749500 0.0058805967 0.0022399138 0.00513427 + 749600 0.0028192951 0.0024167983 0.0038044201 + 749700 0.0047248203 0.0020752415 0.004400739 + 749800 0.0040115932 0.0022194436 0.0041938997 + 749900 0.0035853693 0.0025568843 0.0043215583 + 750000 0.0050410636 0.0022636794 0.0047448279 + 750100 0.0054794259 0.0021985637 0.0048954686 + 750200 0.0064024623 0.0022547973 0.0054060092 + 750300 0.005376482 0.0023072157 0.0049534529 + 750400 0.0047962459 0.002499519 0.0048601713 + 750500 0.0044724466 0.0021143772 0.0043156595 + 750600 0.0049200178 0.001952963 0.0043745342 + 750700 0.0055917465 0.0019977134 0.0047499012 + 750800 0.0048829226 0.0023975306 0.004800844 + 750900 0.0043684722 0.0024066039 0.0045567113 + 751000 0.0059162342 0.0028109387 0.0057228352 + 751100 0.0051281991 0.0028238686 0.0053479041 + 751200 0.0036671249 0.0027795016 0.0045844146 + 751300 0.0053650263 0.0029350603 0.0055756592 + 751400 0.0051614801 0.0026386973 0.0051791133 + 751500 0.0036698054 0.0026517222 0.0044579545 + 751600 0.005230006 0.0026473018 0.0052214454 + 751700 0.0042948455 0.0026516604 0.0047655296 + 751800 0.0049211815 0.0027447694 0.0051669134 + 751900 0.0054049606 0.0024544434 0.0051146975 + 752000 0.0047101126 0.0020991973 0.0044174559 + 752100 0.0053080399 0.0025581267 0.0051706776 + 752200 0.0051231896 0.0028061856 0.0053277555 + 752300 0.0052431007 0.0031186998 0.0056992884 + 752400 0.0055311441 0.0026319277 0.0053542877 + 752500 0.0055759373 0.0025710355 0.0053154421 + 752600 0.0070882226 0.0023217371 0.0058104717 + 752700 0.0037822435 0.0023981565 0.0042597294 + 752800 0.0064595481 0.0019056435 0.0050849524 + 752900 0.006001784 0.0018743678 0.0048283709 + 753000 0.0056806338 0.0020573056 0.0048532426 + 753100 0.0051993062 0.0021980095 0.0047570431 + 753200 0.0052703141 0.0021525907 0.0047465734 + 753300 0.006061095 0.0023756162 0.0053588115 + 753400 0.0042581189 0.0021563941 0.004252187 + 753500 0.0035409367 0.0022225813 0.0039653861 + 753600 0.0059838835 0.0023276238 0.0052728165 + 753700 0.0048521911 0.002205605 0.0045937928 + 753800 0.0065212574 0.002533506 0.0057431874 + 753900 0.0052802306 0.0027791533 0.0053780168 + 754000 0.0041792787 0.0029996416 0.0050566304 + 754100 0.0053438109 0.0027544546 0.0053846115 + 754200 0.0043081926 0.0025675863 0.0046880248 + 754300 0.0050488657 0.002415471 0.0049004595 + 754400 0.0051731432 0.0026462188 0.0051923753 + 754500 0.0040613025 0.0030563532 0.0050552755 + 754600 0.0058039363 0.0028677897 0.0057244146 + 754700 0.0067187783 0.0028995498 0.0062064485 + 754800 0.0055422837 0.0028354888 0.0055633315 + 754900 0.0049553087 0.0029661539 0.0054050949 + 755000 0.0035124803 0.0031042698 0.0048330687 + 755100 0.0048451815 0.0030150711 0.0053998089 + 755200 0.0048912692 0.0027056074 0.005113029 + 755300 0.0070965382 0.0027659171 0.0062587445 + 755400 0.0056410203 0.0026131273 0.005389567 + 755500 0.0059494461 0.002740203 0.005668446 + 755600 0.0049091725 0.0036078526 0.0060240859 + 755700 0.0072584857 0.003442929 0.007015465 + 755800 0.0048473702 0.0030685589 0.0054543739 + 755900 0.0073939171 0.0027511586 0.0063903522 + 756000 0.0057388908 0.0023131334 0.0051377438 + 756100 0.0050025067 0.0024018327 0.0048640039 + 756200 0.0050290121 0.0032160797 0.0056912966 + 756300 0.0062154599 0.003100306 0.0061594777 + 756400 0.0057622524 0.0027757749 0.0056118835 + 756500 0.0033844677 0.0028984755 0.0045642682 + 756600 0.0030458187 0.0028122705 0.0043113844 + 756700 0.0049989125 0.002650893 0.0051112953 + 756800 0.005438774 0.0027177763 0.0053946729 + 756900 0.0064345215 0.0022873804 0.0054543715 + 757000 0.0054148869 0.0020434471 0.0047085868 + 757100 0.0039633454 0.0024719108 0.0044226198 + 757200 0.0035241136 0.002695377 0.0044299017 + 757300 0.0065294705 0.0027342805 0.0059480042 + 757400 0.0042787877 0.0028754261 0.0049813919 + 757500 0.004104069 0.0027873973 0.0048073688 + 757600 0.0052740168 0.0028180694 0.0054138746 + 757700 0.0053656197 0.0027859351 0.0054268261 + 757800 0.0045525894 0.0025376646 0.0047783922 + 757900 0.0063290616 0.0019950017 0.0051100867 + 758000 0.0038844859 0.0024018758 0.0043137712 + 758100 0.0046441449 0.0022817925 0.0045675826 + 758200 0.0059545957 0.0024595959 0.0053903735 + 758300 0.006348938 0.0027083457 0.0058332136 + 758400 0.0062705255 0.0025824607 0.005668735 + 758500 0.0057980351 0.0024169712 0.0052706916 + 758600 0.0045798014 0.0029309559 0.0051850769 + 758700 0.0050828037 0.0027650834 0.0052667759 + 758800 0.0052318444 0.0021738362 0.0047488846 + 758900 0.0050535392 0.0018826566 0.0043699454 + 759000 0.0040458336 0.001742928 0.0037342367 + 759100 0.0047766126 0.0016458146 0.0039968036 + 759200 0.0041806371 0.0020348014 0.0040924587 + 759300 0.0059263999 0.0024389562 0.0053558562 + 759400 0.0057406246 0.0027157682 0.0055412319 + 759500 0.0046955166 0.0025260977 0.0048371723 + 759600 0.0043048124 0.0017030151 0.0038217899 + 759700 0.0032057468 0.002141725 0.0037195535 + 759800 0.0036349477 0.0024476493 0.0042367251 + 759900 0.0058100312 0.0029378824 0.0057975071 + 760000 0.0040487116 0.00298536 0.0049780853 + 760100 0.0047696571 0.0025676484 0.004915214 + 760200 0.0057520227 0.0023933416 0.0052244153 + 760300 0.0049526266 0.0024624451 0.004900066 + 760400 0.0040818879 0.0026224419 0.0046314962 + 760500 0.0050064182 0.0027115628 0.0051756592 + 760600 0.0054542108 0.0024283168 0.0051128111 + 760700 0.0054060965 0.0026428738 0.0053036869 + 760800 0.0045562878 0.003240853 0.0054834009 + 760900 0.004705339 0.0027771494 0.0050930584 + 761000 0.0062196024 0.002028444 0.0050896545 + 761100 0.005343256 0.0019878905 0.0046177743 + 761200 0.0044437601 0.0021774757 0.0043646389 + 761300 0.0044676199 0.0018706437 0.0040695504 + 761400 0.0050833732 0.0016833531 0.0041853259 + 761500 0.0055111082 0.0015899286 0.0043024271 + 761600 0.0047315321 0.0020348496 0.0043636506 + 761700 0.0046728636 0.0021097505 0.0044096755 + 761800 0.0037639796 0.0018414955 0.0036940792 + 761900 0.0055925034 0.0016474277 0.004399988 + 762000 0.0056186726 0.0015420724 0.0043075128 + 762100 0.0044671065 0.0013602237 0.0035588777 + 762200 0.0044186913 0.0016686965 0.0038435211 + 762300 0.0045124216 0.0022528575 0.004473815 + 762400 0.0041912933 0.0025304091 0.0045933113 + 762500 0.0046561293 0.0021688453 0.0044605339 + 762600 0.0049547569 0.0021304441 0.0045691135 + 762700 0.0050426998 0.0022373005 0.0047192542 + 762800 0.0050627927 0.0018788635 0.0043707067 + 762900 0.0043173558 0.0019426454 0.004067594 + 763000 0.0050729305 0.0016757875 0.0041726205 + 763100 0.0044266849 0.0019305754 0.0041093344 + 763200 0.0045701982 0.0022114515 0.0044608459 + 763300 0.0035622242 0.002333305 0.0040865872 + 763400 0.0055983752 0.0023068945 0.0050623448 + 763500 0.005220618 0.0019912101 0.004560733 + 763600 0.0068164405 0.0017200815 0.0050750483 + 763700 0.0045274309 0.0020582521 0.0042865969 + 763800 0.0045881929 0.0023221987 0.0045804499 + 763900 0.0047914313 0.0019326067 0.0042908893 + 764000 0.0066713469 0.0021889297 0.0054724832 + 764100 0.0034570344 0.002483274 0.0041847832 + 764200 0.0044358856 0.0023041714 0.0044874589 + 764300 0.0062791694 0.002341384 0.0054319127 + 764400 0.0054512003 0.0026013616 0.0052843743 + 764500 0.0053834777 0.0023600216 0.005009702 + 764600 0.0057859146 0.0021133491 0.0049611039 + 764700 0.0044797817 0.0023204235 0.004525316 + 764800 0.0057279616 0.0019314854 0.0047507165 + 764900 0.0071114748 0.0015771483 0.0050773273 + 765000 0.0041250508 0.0018653523 0.0038956507 + 765100 0.0042379216 0.0025462814 0.0046321334 + 765200 0.003277532 0.0026985551 0.0043117154 + 765300 0.0039069868 0.0022315652 0.0041545353 + 765400 0.0046728578 0.0017876401 0.0040875623 + 765500 0.0038059289 0.0017415293 0.00361476 + 765600 0.0053695768 0.0016139741 0.0042568127 + 765700 0.0037796989 0.0015785869 0.0034389074 + 765800 0.0037577532 0.0016474664 0.0034969856 + 765900 0.005171328 0.0017919565 0.0043372195 + 766000 0.0051159984 0.0020601801 0.0045782106 + 766100 0.0041706243 0.0026218784 0.0046746076 + 766200 0.0049618483 0.0027996782 0.0052418379 + 766300 0.0061253269 0.0028392902 0.0058540995 + 766400 0.0051390303 0.0031309494 0.0056603159 + 766500 0.0045185968 0.0029361548 0.0051601516 + 766600 0.0059574167 0.0028461203 0.0057782863 + 766700 0.0063876278 0.0029992186 0.0061431292 + 766800 0.0058374947 0.0028198417 0.0056929837 + 766900 0.0061492005 0.0026499744 0.005676534 + 767000 0.0062394823 0.0027706011 0.0058415964 + 767100 0.0045045671 0.0034799406 0.0056970322 + 767200 0.0056609524 0.0032044323 0.0059906823 + 767300 0.0061616625 0.0024192544 0.0054519476 + 767400 0.0078428419 0.0021777674 0.0060379161 + 767500 0.0049328919 0.002129649 0.0045575567 + 767600 0.0040038292 0.0016102289 0.0035808635 + 767700 0.0052858555 0.0015707906 0.0041724227 + 767800 0.0055834071 0.0017966338 0.0045447169 + 767900 0.0057264517 0.0019611954 0.0047796834 + 768000 0.0074895839 0.0023318847 0.0060181643 + 768100 0.0050790617 0.0024465886 0.0049464392 + 768200 0.005498831 0.0024912298 0.0051976857 + 768300 0.0046840972 0.0022167908 0.0045222449 + 768400 0.005601693 0.0022247557 0.0049818389 + 768500 0.0054631867 0.0023712328 0.0050601449 + 768600 0.0042050966 0.0030495216 0.0051192176 + 768700 0.004034788 0.0031651913 0.0051510636 + 768800 0.0056113964 0.0036939395 0.0064557987 + 768900 0.0060330245 0.004016652 0.0069860313 + 769000 0.005010591 0.0034525733 0.0059187236 + 769100 0.0049290208 0.0033528847 0.0057788871 + 769200 0.0047824108 0.0029380505 0.0052918934 + 769300 0.0052976978 0.0026332593 0.0052407199 + 769400 0.0036757622 0.0027467781 0.0045559424 + 769500 0.0055698032 0.0023588059 0.0051001934 + 769600 0.0048850773 0.0026193113 0.0050236853 + 769700 0.0057866805 0.0027755263 0.0056236581 + 769800 0.0048404598 0.0029133649 0.0052957787 + 769900 0.0054614441 0.0033933876 0.0060814421 + 770000 0.0071164972 0.0035631031 0.0070657541 + 770100 0.0048872617 0.0034444712 0.0058499204 + 770200 0.0037418479 0.0037673844 0.0056090751 + 770300 0.0052927622 0.0036302366 0.006235268 + 770400 0.0069252069 0.0028442022 0.0062527024 + 770500 0.0068245528 0.0026336852 0.0059926448 + 770600 0.0044047187 0.0030408404 0.0052087879 + 770700 0.0037865108 0.0029697149 0.0048333882 + 770800 0.0040082221 0.0027753497 0.0047481465 + 770900 0.005261794 0.0028792354 0.0054690247 + 771000 0.0044745366 0.0030823496 0.0052846606 + 771100 0.0062453739 0.0025265989 0.0056004938 + 771200 0.0070664918 0.0023081993 0.0057862383 + 771300 0.0061150996 0.0025046709 0.0055144464 + 771400 0.0046616116 0.0026184791 0.004912866 + 771500 0.0057541491 0.0028931719 0.0057252921 + 771600 0.0045193861 0.0035144117 0.005738797 + 771700 0.0061133201 0.0029465701 0.0059554698 + 771800 0.0073853433 0.002348316 0.0059832896 + 771900 0.005120566 0.0024728731 0.0049931516 + 772000 0.0043146682 0.0022069377 0.0043305635 + 772100 0.0054310192 0.0023029587 0.0049760384 + 772200 0.0053461676 0.0023195224 0.0049508393 + 772300 0.0054430278 0.0025630966 0.0052420868 + 772400 0.0057083626 0.0025809632 0.0053905479 + 772500 0.0035438347 0.0019350198 0.0036792509 + 772600 0.0046287831 0.0016816952 0.0039599244 + 772700 0.0044193334 0.0018893042 0.0040644448 + 772800 0.0033888587 0.0024549315 0.0041228854 + 772900 0.005791275 0.0022318815 0.0050822747 + 773000 0.0047806999 0.001942489 0.0042954897 + 773100 0.0047627811 0.0024491423 0.0047933237 + 773200 0.0051135219 0.0025537678 0.0050705793 + 773300 0.0049413139 0.0026527471 0.0050848001 + 773400 0.0051107643 0.002619867 0.0051353213 + 773500 0.004782897 0.0029955685 0.0053496507 + 773600 0.0060372602 0.0034482659 0.0064197299 + 773700 0.0053380314 0.0030892889 0.0057166012 + 773800 0.0055653756 0.002416815 0.0051560233 + 773900 0.0030916014 0.0023677344 0.0038893819 + 774000 0.0041355133 0.0021140919 0.0041495399 + 774100 0.0066359835 0.0021443027 0.0054104508 + 774200 0.0040168005 0.002589673 0.004566692 + 774300 0.0074651958 0.0022858271 0.0059601031 + 774400 0.0056268822 0.0025224593 0.0052919403 + 774500 0.0044420161 0.0032333048 0.0054196096 + 774600 0.0051212229 0.0031053426 0.0056259445 + 774700 0.0057872412 0.0028883253 0.005736733 + 774800 0.0067296246 0.0028162281 0.0061284652 + 774900 0.0050515561 0.0031573072 0.00564362 + 775000 0.0045585719 0.0033635907 0.0056072628 + 775100 0.0056690095 0.0034379325 0.0062281481 + 775200 0.0064784959 0.0030264928 0.0062151274 + 775300 0.0061005469 0.0027139555 0.0057165684 + 775400 0.0042602139 0.0029518611 0.0050486851 + 775500 0.0041526223 0.0029703788 0.0050142476 + 775600 0.005423769 0.0032962412 0.0059657525 + 775700 0.0053311863 0.0030866034 0.0057105467 + 775800 0.005373447 0.0031831501 0.0058278936 + 775900 0.0046788564 0.003605209 0.0059080836 + 776000 0.0057052219 0.0034041003 0.0062121392 + 776100 0.006446656 0.0032086367 0.0063816002 + 776200 0.004553333 0.0033980772 0.0056391707 + 776300 0.0057542978 0.0030471992 0.0058793926 + 776400 0.0059448737 0.0031433282 0.0060693207 + 776500 0.0060484096 0.0028574333 0.0058343849 + 776600 0.004154231 0.0029027784 0.004947439 + 776700 0.0052993655 0.0029405997 0.0055488811 + 776800 0.0046852901 0.003401405 0.0057074463 + 776900 0.0049258076 0.003005481 0.0054299019 + 777000 0.0055054146 0.0026950137 0.00540471 + 777100 0.0043405707 0.002386982 0.0045233566 + 777200 0.0042409675 0.002394251 0.0044816022 + 777300 0.0065817312 0.002272038 0.0055114838 + 777400 0.0056607482 0.0021157524 0.0049019019 + 777500 0.0041294106 0.002441151 0.0044735953 + 777600 0.006498838 0.0028874357 0.0060860825 + 777700 0.0060521737 0.0031155066 0.0060943109 + 777800 0.0051404979 0.0036152428 0.0061453316 + 777900 0.0063332917 0.0029589116 0.0060760786 + 778000 0.0051965257 0.002707939 0.005265604 + 778100 0.0042727617 0.0026640603 0.0047670602 + 778200 0.0061537397 0.002782534 0.0058113277 + 778300 0.0048477829 0.0030307002 0.0054167184 + 778400 0.0041724837 0.0028110987 0.004864743 + 778500 0.00564923 0.0021069102 0.0048873906 + 778600 0.0046627621 0.0020266598 0.004321613 + 778700 0.0060718439 0.0021260553 0.005114541 + 778800 0.0047523535 0.0023258503 0.0046648993 + 778900 0.0037421333 0.0023862016 0.0042280329 + 779000 0.004884848 0.0022436361 0.0046478972 + 779100 0.0055688979 0.0018776125 0.0046185544 + 779200 0.0051061414 0.001737976 0.004251155 + 779300 0.0043585646 0.0021747248 0.0043199558 + 779400 0.0043501646 0.0023124029 0.0044534996 + 779500 0.004118827 0.0026123789 0.0046396141 + 779600 0.0043090283 0.0025600038 0.0046808536 + 779700 0.0050649677 0.00211242 0.0046053338 + 779800 0.0053072689 0.0023269039 0.0049390754 + 779900 0.0042408744 0.0025621266 0.004649432 + 780000 0.0060346419 0.002146481 0.0051166563 + 780100 0.003739092 0.002122117 0.0039624513 + 780200 0.0055827145 0.0022600386 0.0050077809 + 780300 0.0046634646 0.002763709 0.005059008 + 780400 0.0026967542 0.0026923316 0.0040196403 + 780500 0.0049594774 0.0028133382 0.005254331 + 780600 0.0053823747 0.0028716393 0.0055207769 + 780700 0.0060878499 0.0023984169 0.0053947805 + 780800 0.0047142225 0.0023238028 0.0046440842 + 780900 0.005270047 0.0022342833 0.0048281346 + 781000 0.0038407111 0.0023692796 0.0042596296 + 781100 0.0045012984 0.0020617424 0.0042772252 + 781200 0.0053465185 0.0021556443 0.0047871339 + 781300 0.0042500363 0.0025787618 0.0046705765 + 781400 0.0037205141 0.0028517752 0.0046829657 + 781500 0.0044388644 0.002617395 0.0048021486 + 781600 0.0050748999 0.0026570397 0.005154842 + 781700 0.0047359117 0.0025233215 0.004854278 + 781800 0.004224243 0.0023535142 0.0044326338 + 781900 0.0072352933 0.0019243201 0.005485441 + 782000 0.0052743495 0.0021839152 0.0047798841 + 782100 0.0049240549 0.0024937685 0.0049173268 + 782200 0.0069230745 0.0028054286 0.0062128793 + 782300 0.0041847808 0.002639807 0.0046995037 + 782400 0.006818361 0.002375895 0.0057318071 + 782500 0.0063670244 0.0022963202 0.00543009 + 782600 0.0040635322 0.0023164519 0.0043164717 + 782700 0.0042352772 0.0021345434 0.0042190939 + 782800 0.0050750297 0.0021508274 0.0046486936 + 782900 0.0040647317 0.0026853061 0.0046859162 + 783000 0.0049423638 0.0029409727 0.0053735423 + 783100 0.0060129567 0.0031032797 0.0060627819 + 783200 0.0052679035 0.0031694985 0.0057622947 + 783300 0.004996054 0.0028753798 0.0053343751 + 783400 0.0057492229 0.0024931283 0.0053228239 + 783500 0.0050144607 0.0024761415 0.0049441964 + 783600 0.0039037804 0.0025661282 0.0044875202 + 783700 0.0059263582 0.0022169923 0.0051338718 + 783800 0.0045569088 0.0026046009 0.0048474545 + 783900 0.0047499747 0.0025451026 0.0048829808 + 784000 0.0062050931 0.0025355689 0.0055896382 + 784100 0.0057049597 0.0027322558 0.0055401656 + 784200 0.0043360677 0.0027604817 0.0048946401 + 784300 0.0059896912 0.0024487098 0.005396761 + 784400 0.0066883505 0.0023379813 0.0056299038 + 784500 0.0057098171 0.0025348177 0.0053451183 + 784600 0.0056984917 0.0024636475 0.0052683739 + 784700 0.0048148104 0.002481917 0.0048517065 + 784800 0.0050110408 0.0026235301 0.0050899017 + 784900 0.0071122206 0.0025243451 0.0060248911 + 785000 0.0062730121 0.0025066148 0.005594113 + 785100 0.0053423027 0.002749544 0.0053789586 + 785200 0.0052966945 0.002482863 0.0050898298 + 785300 0.0058966441 0.0023745615 0.0052768161 + 785400 0.005349662 0.0024237914 0.0050568282 + 785500 0.0053245045 0.0021565967 0.0047772513 + 785600 0.0062025232 0.0023888144 0.0054416188 + 785700 0.0057476646 0.0031639769 0.0059929055 + 785800 0.0050135435 0.0034536552 0.0059212587 + 785900 0.0059035802 0.0035046578 0.0064103262 + 786000 0.0072488795 0.002823302 0.0063911099 + 786100 0.0058825427 0.0026193208 0.0055146348 + 786200 0.0066810852 0.0023828628 0.0056712094 + 786300 0.0047438769 0.0023224673 0.0046573442 + 786400 0.0055667647 0.0023624136 0.0051023057 + 786500 0.0044387359 0.0021360012 0.0043206915 + 786600 0.004939587 0.0017155007 0.0041467036 + 786700 0.0055381918 0.0023742941 0.0051001229 + 786800 0.0049005054 0.0032716907 0.0056836582 + 786900 0.0059208778 0.0033736329 0.0062878149 + 787000 0.0050205322 0.0029061632 0.0053772063 + 787100 0.0059254158 0.0028350614 0.005751477 + 787200 0.0037888528 0.0027990029 0.0046638288 + 787300 0.005494431 0.0028928335 0.0055971238 + 787400 0.0041124735 0.0032199135 0.0052440216 + 787500 0.0061408942 0.0029044215 0.0059268929 + 787600 0.0044178147 0.0030002263 0.0051746195 + 787700 0.0038114825 0.0030851533 0.0049611174 + 787800 0.0040585671 0.0031358287 0.0051334047 + 787900 0.0053484015 0.0027475833 0.0053799996 + 788000 0.0057236086 0.0025360746 0.0053531632 + 788100 0.006615705 0.0026364286 0.0058925959 + 788200 0.0038737022 0.0028674176 0.0047740054 + 788300 0.0049857595 0.0027480897 0.0052020182 + 788400 0.0062351905 0.0022750505 0.0053439333 + 788500 0.0079013893 0.0027454652 0.0066344302 + 788600 0.0063821778 0.0031200006 0.0062612287 + 788700 0.0051644658 0.0028632594 0.0054051449 + 788800 0.0062499621 0.0026100182 0.0056861715 + 788900 0.0050886789 0.0022791367 0.0047837208 + 789000 0.004877516 0.0023462195 0.0047468719 + 789100 0.007415058 0.0028996014 0.0065492003 + 789200 0.0046384968 0.0032678341 0.0055508443 + 789300 0.0035420278 0.0030768573 0.0048201992 + 789400 0.0060063496 0.0026794783 0.0056357285 + 789500 0.0039798274 0.0025375031 0.0044963244 + 789600 0.0060685579 0.0023631136 0.0053499819 + 789700 0.0036966722 0.0022183743 0.0040378301 + 789800 0.006091201 0.0019284215 0.0049264345 + 789900 0.0051047256 0.002191797 0.0047042792 + 790000 0.0046166541 0.0024566555 0.004728915 + 790100 0.0050791106 0.0022107976 0.0047106724 + 790200 0.0069192886 0.0023355758 0.0057411632 + 790300 0.0049355588 0.0024155135 0.0048447339 + 790400 0.0047386218 0.0030825666 0.005414857 + 790500 0.0033130422 0.003715539 0.0053461769 + 790600 0.0063663696 0.0034377822 0.0065712298 + 790700 0.0065053943 0.0024262 0.0056280737 + 790800 0.0059703203 0.00216567 0.005104187 + 790900 0.0047487783 0.0024571803 0.0047944696 + 791000 0.0045096402 0.0024203794 0.0046399679 + 791100 0.005429998 0.0021846406 0.0048572177 + 791200 0.0050114567 0.0025544083 0.0050209846 + 791300 0.0045034551 0.00247051 0.0046870543 + 791400 0.0054585123 0.0024334271 0.0051200386 + 791500 0.0050030505 0.0025317863 0.0049942252 + 791600 0.0052244909 0.002640896 0.0052123251 + 791700 0.0040226798 0.0023412963 0.004321209 + 791800 0.0045924878 0.0021708959 0.004431261 + 791900 0.0043186282 0.0025420913 0.0046676662 + 792000 0.0053132712 0.0023110929 0.0049262186 + 792100 0.0047158561 0.002471106 0.0047921914 + 792200 0.0055980551 0.0024642553 0.005219548 + 792300 0.0066931979 0.0025467801 0.0058410885 + 792400 0.0052863919 0.002740569 0.005342465 + 792500 0.0058339233 0.0023645531 0.0052359373 + 792600 0.0043108451 0.0023545515 0.0044762956 + 792700 0.0036710202 0.0024857876 0.0042926178 + 792800 0.0053586891 0.0026501033 0.0052875831 + 792900 0.0051921185 0.0025013372 0.0050568331 + 793000 0.0048767728 0.0026457917 0.0050460783 + 793100 0.0053051134 0.0025512692 0.0051623797 + 793200 0.0065672461 0.0025679801 0.0058002965 + 793300 0.0046219423 0.0027293009 0.0050041632 + 793400 0.0060965834 0.0021946091 0.0051952712 + 793500 0.0065864033 0.0020275373 0.0052692827 + 793600 0.0050157586 0.002443357 0.0049120507 + 793700 0.0041810537 0.0023193463 0.0043772086 + 793800 0.006568625 0.0025340148 0.00576701 + 793900 0.006942124 0.0025223119 0.0059391386 + 794000 0.0057082936 0.0022466743 0.0050562251 + 794100 0.0059048244 0.0020879807 0.0049942615 + 794200 0.0035989649 0.0021624611 0.0039338267 + 794300 0.0041442046 0.0019991982 0.0040389239 + 794400 0.0048127606 0.002301327 0.0046701076 + 794500 0.0063486005 0.0020550647 0.0051797665 + 794600 0.0045070108 0.0018709143 0.0040892087 + 794700 0.0066507173 0.0016562854 0.0049296853 + 794800 0.0058048917 0.0023543859 0.005211481 + 794900 0.0054157688 0.0030154153 0.005680989 + 795000 0.0059276703 0.0028694574 0.0057869826 + 795100 0.0049109105 0.0027053821 0.0051224708 + 795200 0.0052765477 0.0026213693 0.0052184201 + 795300 0.0075606573 0.0029623531 0.0066836141 + 795400 0.0041450742 0.0034530381 0.0054931918 + 795500 0.0046144959 0.0029879769 0.005259174 + 795600 0.0051332446 0.0022391611 0.00476568 + 795700 0.0046089651 0.0016673794 0.0039358544 + 795800 0.0037169058 0.001499013 0.0033284276 + 795900 0.0042338594 0.0017011868 0.0037850395 + 796000 0.0047201046 0.002013108 0.0043362845 + 796100 0.0042828264 0.0024872694 0.004595223 + 796200 0.0047956819 0.0022701394 0.0046305141 + 796300 0.0044971902 0.0019273391 0.0041407999 + 796400 0.0054526686 0.0020086141 0.0046923494 + 796500 0.0057514089 0.0017623916 0.0045931631 + 796600 0.0047767482 0.0021300292 0.004481085 + 796700 0.0052351174 0.0019603263 0.0045369857 + 796800 0.0046108841 0.0022430875 0.004512507 + 796900 0.0039835244 0.0024227966 0.0043834375 + 797000 0.0045117755 0.0026333979 0.0048540374 + 797100 0.0049184783 0.0028167795 0.005237593 + 797200 0.0035094799 0.0024404344 0.0041677565 + 797300 0.0040951748 0.002210263 0.0042258568 + 797400 0.0062310247 0.0021242358 0.0051910682 + 797500 0.0046360506 0.0024901344 0.0047719406 + 797600 0.0039049948 0.002775946 0.0046979357 + 797700 0.0059088421 0.0023484324 0.0052566906 + 797800 0.0039390928 0.0029875041 0.0049262763 + 797900 0.0050481228 0.0030263987 0.0055110216 + 798000 0.0048879554 0.0026418226 0.0050476132 + 798100 0.0055848185 0.0018637972 0.0046125751 + 798200 0.00436728 0.0016415176 0.0037910382 + 798300 0.0038378697 0.0016732375 0.003562189 + 798400 0.0047584344 0.0018440517 0.0041860936 + 798500 0.0053816518 0.0021918258 0.0048406076 + 798600 0.004981872 0.0022664717 0.0047184868 + 798700 0.0034324861 0.0023997354 0.0040891622 + 798800 0.0062448504 0.0026420358 0.0057156731 + 798900 0.0033279578 0.0026003388 0.004238318 + 799000 0.004577038 0.0024228237 0.0046755846 + 799100 0.0042761839 0.002680875 0.0047855592 + 799200 0.0059084499 0.0025517871 0.0054598522 + 799300 0.0054161602 0.0026729891 0.0053387554 + 799400 0.0049709566 0.002686959 0.0051336017 + 799500 0.005605919 0.0022016365 0.0049607998 + 799600 0.0062506681 0.0024087426 0.0054852433 + 799700 0.0043178901 0.0026511468 0.0047763583 + 799800 0.0036375592 0.0025332789 0.0043236401 + 799900 0.0088062659 0.0023210805 0.0066554145 + 800000 0.0047475792 0.0029766507 0.0053133498 + 800100 0.0053780285 0.0028408666 0.005487865 + 800200 0.0042561201 0.0023569362 0.0044517453 + 800300 0.0069726781 0.0020174042 0.0054492692 + 800400 0.0052429809 0.0020128999 0.0045934296 + 800500 0.0054623073 0.0022073302 0.0048958096 + 800600 0.005314341 0.002410543 0.0050261952 + 800700 0.0042491855 0.0023005844 0.0043919804 + 800800 0.0049304448 0.0022270827 0.004653786 + 800900 0.0042620778 0.0029943279 0.0050920693 + 801000 0.0070284168 0.0032012301 0.006660529 + 801100 0.0043419001 0.003283531 0.0054205599 + 801200 0.0053074932 0.0031962479 0.0058085297 + 801300 0.0045356164 0.0031324869 0.0053648606 + 801400 0.0047788237 0.002898965 0.0052510423 + 801500 0.005409293 0.0026962475 0.0053586338 + 801600 0.0045611518 0.0027814959 0.0050264378 + 801700 0.0059699307 0.0022734888 0.0052118141 + 801800 0.0063573833 0.0023274667 0.0054564912 + 801900 0.0078256952 0.0020824898 0.0059341991 + 802000 0.0046909175 0.0024332216 0.0047420326 + 802100 0.0059378072 0.0020841797 0.0050066942 + 802200 0.0037090308 0.0020819125 0.0039074511 + 802300 0.0048176338 0.002468559 0.0048397382 + 802400 0.0050513099 0.002269863 0.0047560546 + 802500 0.0063720925 0.0022055939 0.0053418582 + 802600 0.0038642556 0.002563091 0.0044650293 + 802700 0.0047377395 0.0024164156 0.0047482718 + 802800 0.0045090912 0.0023733639 0.0045926822 + 802900 0.0034084743 0.0020788953 0.0037565037 + 803000 0.0047517753 0.0016107118 0.0039494762 + 803100 0.0051862177 0.0013974394 0.003950031 + 803200 0.0048048391 0.001440539 0.0038054207 + 803300 0.0040942295 0.0016900505 0.0037051791 + 803400 0.0048167812 0.0022910621 0.0046618216 + 803500 0.0060066946 0.0025738369 0.0055302569 + 803600 0.0055102742 0.0024420685 0.0051541566 + 803700 0.0052848992 0.0023765241 0.0049776855 + 803800 0.005709186 0.0018933414 0.0047033314 + 803900 0.0058216256 0.0023422865 0.0052076179 + 804000 0.0063122542 0.0031504246 0.0062572372 + 804100 0.006478378 0.0034353101 0.0066238867 + 804200 0.0038158722 0.0030593907 0.0049375153 + 804300 0.0037935757 0.002892681 0.0047598315 + 804400 0.0041470966 0.002302636 0.0043437852 + 804500 0.0059814467 0.0021414117 0.005085405 + 804600 0.0057614408 0.0024938675 0.0053295766 + 804700 0.005877214 0.0026776589 0.0055703502 + 804800 0.0055448434 0.00267543 0.0054045326 + 804900 0.0041293169 0.0024365954 0.0044689936 + 805000 0.0052557462 0.0025304368 0.0051172493 + 805100 0.0044277353 0.0026069109 0.0047861868 + 805200 0.0042157058 0.0025428591 0.0046177768 + 805300 0.0051300504 0.0023518956 0.0048768423 + 805400 0.0056986628 0.0021446834 0.004949494 + 805500 0.0040862988 0.0026968416 0.0047080668 + 805600 0.0053445524 0.0024950014 0.0051255233 + 805700 0.0046328082 0.0030051671 0.0052853774 + 805800 0.0062901589 0.0031190659 0.0062150034 + 805900 0.005964964 0.0027166388 0.0056525196 + 806000 0.0052464263 0.0021056274 0.0046878529 + 806100 0.0038199743 0.0019579432 0.0038380868 + 806200 0.0045404433 0.0026710497 0.0049057992 + 806300 0.0047215893 0.0023336816 0.0046575888 + 806400 0.0051127189 0.0019755149 0.0044919312 + 806500 0.0046328784 0.0019514081 0.0042316529 + 806600 0.0050013177 0.0019632875 0.0044248736 + 806700 0.0045928939 0.0020581683 0.0043187332 + 806800 0.0040818027 0.0017416763 0.0037506885 + 806900 0.0062965566 0.001795272 0.0048943584 + 807000 0.0052785056 0.0027161842 0.0053141987 + 807100 0.0056615863 0.0025147737 0.0053013357 + 807200 0.0049192605 0.0018273876 0.0042485861 + 807300 0.0055783016 0.0018010432 0.0045466135 + 807400 0.0035032677 0.0024616454 0.00418591 + 807500 0.0049012879 0.0028477034 0.0052600561 + 807600 0.0028520803 0.0028793742 0.0042831324 + 807700 0.004303775 0.0024081686 0.0045264328 + 807800 0.0054848654 0.0023037616 0.0050033438 + 807900 0.0047227929 0.002316374 0.0046408736 + 808000 0.0060443814 0.0019980631 0.0049730321 + 808100 0.0042484719 0.0020577852 0.00414883 + 808200 0.0045498856 0.0019028098 0.0041422067 + 808300 0.0043817863 0.0021268768 0.0042835373 + 808400 0.004893314 0.0022953434 0.0047037714 + 808500 0.0039825614 0.0018311444 0.0037913113 + 808600 0.0045126259 0.0017467643 0.0039678223 + 808700 0.0043919712 0.0018715614 0.0040332347 + 808800 0.0052609423 0.0022691551 0.0048585251 + 808900 0.0051161885 0.0021620711 0.0046801951 + 809000 0.0053667381 0.0018102708 0.0044517122 + 809100 0.005964616 0.0013841888 0.0043198982 + 809200 0.0040015926 0.0017803551 0.003749889 + 809300 0.0048171329 0.0014959495 0.0038668821 + 809400 0.0044075759 0.0015185586 0.0036879124 + 809500 0.0039027367 0.0014976983 0.0034185765 + 809600 0.0044195582 0.0017383442 0.0039135955 + 809700 0.0060770082 0.0018944717 0.0048854991 + 809800 0.0052381287 0.0022708 0.0048489415 + 809900 0.0062331933 0.0025189983 0.0055868981 + 810000 0.0052117375 0.0027215971 0.0052867491 + 810100 0.0046860523 0.0027908366 0.0050972529 + 810200 0.0053440923 0.0030171718 0.0056474673 + 810300 0.0043816919 0.0031941878 0.0053508018 + 810400 0.0034803424 0.0030359691 0.0047489502 + 810500 0.0072014713 0.0029644726 0.0065089467 + 810600 0.0044413655 0.0029755527 0.0051615372 + 810700 0.0052998465 0.0021462294 0.0047547476 + 810800 0.0061169548 0.0018983025 0.0049089911 + 810900 0.0047811834 0.0018117879 0.0041650267 + 811000 0.0046845312 0.0017826443 0.004088312 + 811100 0.0041670635 0.0017290717 0.0037800483 + 811200 0.0050198172 0.0019897446 0.0044604359 + 811300 0.0051853226 0.0022833533 0.0048355043 + 811400 0.0050966148 0.0024110831 0.0049195732 + 811500 0.0055804791 0.0023328576 0.0050794996 + 811600 0.0053258148 0.0025396021 0.0051609016 + 811700 0.0053249565 0.0022864462 0.0049073232 + 811800 0.0074357436 0.001997445 0.005657225 + 811900 0.0054566987 0.00230139 0.0049871089 + 812000 0.0053086761 0.002590243 0.005203107 + 812100 0.0066516685 0.0025940667 0.0058679348 + 812200 0.0052612937 0.0025595601 0.0051491031 + 812300 0.0053119389 0.0026792054 0.0052936753 + 812400 0.0044530018 0.002899332 0.0050910438 + 812500 0.0049782329 0.0027971215 0.0052473455 + 812600 0.0041544663 0.0024650766 0.004509853 + 812700 0.0043272722 0.002361145 0.0044909743 + 812800 0.0059868133 0.0022479285 0.0051945632 + 812900 0.0057209786 0.0021884717 0.0050042659 + 813000 0.0065183814 0.002836232 0.0060444978 + 813100 0.0068191659 0.0031433991 0.0064997073 + 813200 0.0064719736 0.0030410795 0.006226504 + 813300 0.0049284472 0.0028699491 0.0052956693 + 813400 0.0044919842 0.0027430744 0.0049539729 + 813500 0.0051173392 0.0028019323 0.0053206227 + 813600 0.0062477193 0.0028319583 0.0059070076 + 813700 0.0038002523 0.0028423917 0.0047128284 + 813800 0.0052187647 0.0023853611 0.0049539719 + 813900 0.0040763885 0.0021021236 0.0041084711 + 814000 0.0049471091 0.0020561868 0.0044910921 + 814100 0.003625941 0.0023533644 0.0041380072 + 814200 0.0048865858 0.0022529463 0.0046580627 + 814300 0.0053670699 0.0021934848 0.0048350895 + 814400 0.0045343823 0.0018983617 0.004130128 + 814500 0.0047302833 0.0017752168 0.0041034031 + 814600 0.0040343339 0.0024690427 0.0044546914 + 814700 0.0078393139 0.0023152406 0.0061736529 + 814800 0.0043292364 0.0024007933 0.0045315893 + 814900 0.0054516583 0.00264252 0.0053257581 + 815000 0.0061987923 0.0028213425 0.0058723106 + 815100 0.0049267229 0.003216012 0.0056408834 + 815200 0.0050142325 0.0033079696 0.0057759122 + 815300 0.0063515445 0.002742085 0.0058682358 + 815400 0.0063216618 0.002094496 0.0052059389 + 815500 0.0052208889 0.0021351667 0.0047048229 + 815600 0.0067967001 0.0023045455 0.0056497963 + 815700 0.0059363882 0.0023675894 0.0052894054 + 815800 0.0064635183 0.0024314381 0.0056127011 + 815900 0.0033918578 0.0025807393 0.0042501694 + 816000 0.0052281302 0.0026352826 0.005208503 + 816100 0.0064384254 0.0023116137 0.0054805262 + 816200 0.0052823494 0.0028666974 0.0054666037 + 816300 0.0056536983 0.0027759716 0.0055586513 + 816400 0.005232194 0.0021723714 0.0047475919 + 816500 0.0054521773 0.0020055299 0.0046890234 + 816600 0.0049525723 0.0023088615 0.0047464557 + 816700 0.0044822504 0.0025013925 0.0047075002 + 816800 0.0055931002 0.0020522488 0.0048051028 + 816900 0.0047394923 0.0022739445 0.0046066634 + 817000 0.004790025 0.0025941683 0.0049517588 + 817100 0.0060721058 0.0024014536 0.0053900682 + 817200 0.0066498111 0.0018879019 0.0051608558 + 817300 0.0046942672 0.0023337634 0.004644223 + 817400 0.0041535318 0.0022243729 0.0042686893 + 817500 0.0050083085 0.0023099498 0.0047749766 + 817600 0.0053138156 0.0020555472 0.0046709408 + 817700 0.0055686653 0.0023506662 0.0050914936 + 817800 0.003943332 0.0027738289 0.0047146876 + 817900 0.0058334326 0.0022911699 0.0051623125 + 818000 0.0046847678 0.0021436879 0.004449472 + 818100 0.004099318 0.0025337735 0.0045514066 + 818200 0.0042056372 0.0021938012 0.0042637632 + 818300 0.0064749188 0.001542726 0.0047296001 + 818400 0.0051786814 0.0017699251 0.0043188074 + 818500 0.0051408584 0.0021898032 0.0047200695 + 818600 0.004121438 0.0023140823 0.0043426025 + 818700 0.0044892885 0.0022472322 0.0044568039 + 818800 0.0050032251 0.0024176008 0.0048801257 + 818900 0.0028147999 0.0026067491 0.0039921584 + 819000 0.006275873 0.0023904689 0.0054793752 + 819100 0.0063925544 0.0026430923 0.0057894277 + 819200 0.0063934897 0.0028862621 0.0060330578 + 819300 0.0049828966 0.002776409 0.0052289284 + 819400 0.0056207399 0.0025809281 0.005347386 + 819500 0.0059295357 0.0022263679 0.0051448113 + 819600 0.0039280849 0.002575696 0.0045090503 + 819700 0.0064394063 0.0029028869 0.0060722822 + 819800 0.0059596363 0.0029447287 0.0058779872 + 819900 0.005454314 0.0026225556 0.0053071008 + 820000 0.0032863185 0.0024233731 0.004040858 + 820100 0.0034544514 0.002490749 0.0041909868 + 820200 0.0037342183 0.0022334698 0.0040714053 + 820300 0.0047097579 0.0022799217 0.0045980057 + 820400 0.006298471 0.0024310187 0.0055310475 + 820500 0.0056236747 0.0023734809 0.0051413833 + 820600 0.0049822499 0.0021192712 0.0045714724 + 820700 0.0051497466 0.0020425149 0.0045771558 + 820800 0.0052409072 0.0020128773 0.0045923863 + 820900 0.0045375392 0.0023131901 0.0045465102 + 821000 0.005835879 0.0023645718 0.0052369185 + 821100 0.0050944061 0.0031304243 0.0056378273 + 821200 0.0046687899 0.0031335897 0.0054315097 + 821300 0.0051538559 0.0029940386 0.005530702 + 821400 0.0042803441 0.0029779325 0.0050846644 + 821500 0.0067925589 0.0025988339 0.0059420465 + 821600 0.0028485078 0.002193758 0.0035957579 + 821700 0.0045113484 0.0022284613 0.0044488906 + 821800 0.004641166 0.0022930871 0.004577411 + 821900 0.004908513 0.0019863048 0.0044022136 + 822000 0.0044790754 0.0021394762 0.0043440211 + 822100 0.0041527406 0.002150464 0.004194391 + 822200 0.0039382173 0.0018142528 0.0037525942 + 822300 0.0047251518 0.0018633444 0.004189005 + 822400 0.00600305 0.0021488861 0.0051035123 + 822500 0.0051710833 0.0021969756 0.0047421182 + 822600 0.0056878192 0.002034021 0.0048334945 + 822700 0.0045168558 0.0024494283 0.0046725682 + 822800 0.0040789547 0.0026608005 0.004668411 + 822900 0.004739958 0.0029775656 0.0053105136 + 823000 0.0059729749 0.0029476817 0.0058875053 + 823100 0.0067650107 0.0025658432 0.0058954969 + 823200 0.0052314851 0.002192046 0.0047669176 + 823300 0.0040783583 0.002466153 0.00447347 + 823400 0.0064299243 0.0022529207 0.0054176491 + 823500 0.0040169727 0.0020893023 0.0040664061 + 823600 0.0034851301 0.0022180494 0.0039333869 + 823700 0.003442318 0.0021319421 0.003826208 + 823800 0.0039552023 0.0023192821 0.0042659832 + 823900 0.0049648514 0.0027002211 0.0051438589 + 824000 0.0043366124 0.00241935 0.0045537764 + 824100 0.0049156068 0.0027630434 0.0051824437 + 824200 0.0051426228 0.0025264072 0.0050575419 + 824300 0.0033793613 0.0026672169 0.0043304963 + 824400 0.0039661342 0.0024379426 0.0043900243 + 824500 0.0043242487 0.0021353393 0.0042636805 + 824600 0.004528486 0.0023034962 0.0045323604 + 824700 0.0054241163 0.0019687488 0.004638431 + 824800 0.0056545864 0.0019137463 0.0046968631 + 824900 0.0060621153 0.0022012977 0.005184995 + 825000 0.0058859759 0.0025340696 0.0054310734 + 825100 0.0039747307 0.0026518289 0.0046081417 + 825200 0.0044321154 0.0026641868 0.0048456186 + 825300 0.0048411763 0.0026286721 0.0050114386 + 825400 0.0043036186 0.0027937184 0.0049119057 + 825500 0.0047147395 0.0028431576 0.0051636934 + 825600 0.0045183359 0.0028346942 0.0050585627 + 825700 0.0034065603 0.0024475823 0.0041242487 + 825800 0.0056514441 0.0025805558 0.0053621259 + 825900 0.0039169921 0.0025144349 0.0044423295 + 826000 0.0055954837 0.0020423031 0.0047963302 + 826100 0.0047235916 0.0018884482 0.0042133409 + 826200 0.0049052228 0.0018359854 0.0042502747 + 826300 0.0063796615 0.0021620584 0.0053020481 + 826400 0.0053076528 0.0023900746 0.005002435 + 826500 0.0059605629 0.0023642806 0.0052979952 + 826600 0.0061276731 0.002377576 0.0053935401 + 826700 0.004463508 0.0021999674 0.0043968502 + 826800 0.0049579362 0.0020220155 0.0044622497 + 826900 0.0045854046 0.0019770457 0.0042339245 + 827000 0.0049187745 0.0021686279 0.0045895872 + 827100 0.0048412302 0.0020620868 0.0044448798 + 827200 0.0045258524 0.0023080332 0.0045356011 + 827300 0.0045403643 0.0023329309 0.0045676415 + 827400 0.0053563989 0.0023947827 0.0050311353 + 827500 0.0055059291 0.0029717256 0.0056816751 + 827600 0.0056445815 0.0028960672 0.0056742596 + 827700 0.0038862168 0.0028574619 0.0047702092 + 827800 0.0053947431 0.0025028525 0.0051580776 + 827900 0.0056205063 0.0029706195 0.0057369625 + 828000 0.0057522619 0.0032386558 0.0060698471 + 828100 0.006124037 0.0033842814 0.0063984559 + 828200 0.0053191519 0.0036594447 0.0062774648 + 828300 0.0058128148 0.0032876541 0.0061486489 + 828400 0.0050973113 0.0025602192 0.0050690521 + 828500 0.0061241486 0.0026861668 0.0057003962 + 828600 0.0067686244 0.0023503301 0.0056817624 + 828700 0.0034951327 0.0027120034 0.004432264 + 828800 0.0050376014 0.0024464101 0.0049258545 + 828900 0.0042770024 0.0023968363 0.0045019235 + 829000 0.0047937908 0.0026423938 0.0050018377 + 829100 0.0048200701 0.0029040012 0.0052763794 + 829200 0.0057462808 0.0025143534 0.005342601 + 829300 0.0047155092 0.0025204788 0.0048413935 + 829400 0.0060979228 0.0029958507 0.0059971721 + 829500 0.0046614221 0.0030922363 0.00538653 + 829600 0.0039483563 0.0025893264 0.0045326581 + 829700 0.0052675191 0.0022548532 0.0048474602 + 829800 0.0045914765 0.0023244881 0.0045843554 + 829900 0.0050963435 0.0023708818 0.0048792383 + 830000 0.0048485953 0.0022590341 0.0046454521 + 830100 0.0033770571 0.0022996178 0.0039617632 + 830200 0.004267265 0.0020753282 0.0041756228 + 830300 0.0045525936 0.0022220398 0.0044627694 + 830400 0.0058820649 0.0024802649 0.0053753437 + 830500 0.0057424369 0.0022756619 0.0051020175 + 830600 0.0057107082 0.0020120768 0.004822816 + 830700 0.0054309165 0.0023972716 0.0050703008 + 830800 0.0058142446 0.0023178378 0.0051795364 + 830900 0.0044257683 0.0023351242 0.004513432 + 831000 0.0060781597 0.0025086881 0.0055002823 + 831100 0.003751226 0.0028707326 0.0047170391 + 831200 0.0050524455 0.0022681902 0.0047549407 + 831300 0.0039466858 0.0018099531 0.0037524625 + 831400 0.0059125187 0.0017692154 0.0046792832 + 831500 0.0054842851 0.0021407587 0.0048400553 + 831600 0.0039606615 0.0024121882 0.0043615763 + 831700 0.0056039831 0.0023282783 0.0050864887 + 831800 0.005234449 0.0024197897 0.0049961201 + 831900 0.006157045 0.0023068296 0.0053372502 + 832000 0.0051908539 0.002474497 0.0050293704 + 832100 0.003658663 0.0021889589 0.0039897071 + 832200 0.0078320258 0.0015772511 0.0054320763 + 832300 0.0045103458 0.0021184677 0.0043384035 + 832400 0.0060987044 0.0024167754 0.0054184815 + 832500 0.0053287941 0.0023379442 0.0049607101 + 832600 0.0044703193 0.002082179 0.0042824143 + 832700 0.00501286 0.0021369516 0.0046042186 + 832800 0.0036212691 0.0025341454 0.0043164888 + 832900 0.0049054842 0.0020885783 0.0045029964 + 833000 0.0054331569 0.0022813384 0.0049554704 + 833100 0.0050388331 0.0024835693 0.00496362 + 833200 0.0057896921 0.002816323 0.005665937 + 833300 0.0053278077 0.0029264813 0.0055487616 + 833400 0.0051050825 0.0028107166 0.0053233744 + 833500 0.0040338301 0.0026917799 0.0046771806 + 833600 0.0042338599 0.0021876737 0.0042715266 + 833700 0.0065107082 0.0014693206 0.0046738098 + 833800 0.0044644381 0.0017716483 0.0039689889 + 833900 0.0065565852 0.0019840621 0.0052111314 + 834000 0.0040339211 0.0024341347 0.0044195802 + 834100 0.0036872366 0.0024179441 0.0042327559 + 834200 0.0040614351 0.0025669429 0.0045659304 + 834300 0.0055123799 0.0021579695 0.004871094 + 834400 0.0057747153 0.0021478039 0.0049900466 + 834500 0.0046271185 0.0021682526 0.0044456625 + 834600 0.0054621496 0.0019675529 0.0046559547 + 834700 0.0052572987 0.0020092097 0.0045967864 + 834800 0.0045219659 0.0024704585 0.0046961136 + 834900 0.0042684786 0.0024703569 0.0045712487 + 835000 0.004470116 0.0028491574 0.0050492926 + 835100 0.0061930909 0.0025783793 0.0056265412 + 835200 0.005210814 0.0024411945 0.005005892 + 835300 0.0036568806 0.0026309993 0.0044308702 + 835400 0.0045184196 0.0023154577 0.0045393673 + 835500 0.0044480338 0.0021770982 0.0043663648 + 835600 0.005490461 0.0022450968 0.0049474331 + 835700 0.0053466726 0.0019989442 0.0046305097 + 835800 0.0052081136 0.0021705242 0.0047338926 + 835900 0.0045185849 0.0025838512 0.0048078423 + 836000 0.0047286416 0.002649399 0.0049767773 + 836100 0.0056849732 0.0021896471 0.0049877199 + 836200 0.0044277628 0.0022957362 0.0044750257 + 836300 0.0055613703 0.0025503386 0.0052875755 + 836400 0.004775201 0.0026181684 0.0049684626 + 836500 0.0071984565 0.0028265682 0.0063695585 + 836600 0.00573876 0.0031592187 0.0059837646 + 836700 0.0039550605 0.0027793702 0.0047260016 + 836800 0.0045246554 0.0025512495 0.0047782283 + 836900 0.0043012976 0.0023690972 0.0044861421 + 837000 0.005187605 0.002313835 0.0048671093 + 837100 0.0058732598 0.0023961018 0.0052868469 + 837200 0.0038082858 0.0025417435 0.0044161342 + 837300 0.0061705956 0.0025193594 0.0055564494 + 837400 0.0042735823 0.0025749844 0.0046783882 + 837500 0.007770958 0.0021384158 0.0059631842 + 837600 0.0062408411 0.0023705574 0.0054422214 + 837700 0.0047165518 0.0023893503 0.0047107781 + 837800 0.0055616203 0.0023528334 0.0050901934 + 837900 0.0054264137 0.0024624729 0.0051332859 + 838000 0.0048794242 0.002512766 0.0049143576 + 838100 0.0057731918 0.0023105879 0.0051520807 + 838200 0.0055200427 0.0023337216 0.0050506176 + 838300 0.0040363989 0.002127573 0.0041142381 + 838400 0.0055541428 0.0023825146 0.0051161943 + 838500 0.0041326425 0.0023708453 0.0044048803 + 838600 0.0049195455 0.0020697711 0.0044911099 + 838700 0.0052179656 0.0019570358 0.0045252532 + 838800 0.0050416794 0.0018582538 0.0043397054 + 838900 0.0038254488 0.0017116579 0.003594496 + 839000 0.0045339968 0.0018011569 0.0040327334 + 839100 0.0034792051 0.001936047 0.0036484683 + 839200 0.0043422409 0.0023337095 0.0044709062 + 839300 0.0070211968 0.0022619689 0.0057177141 + 839400 0.0045569859 0.0029365632 0.0051794547 + 839500 0.0035775053 0.0034120498 0.0051728531 + 839600 0.0040259719 0.0029285483 0.0049100813 + 839700 0.0051603533 0.0023147554 0.0048546168 + 839800 0.0028369066 0.0021162648 0.0035125548 + 839900 0.0053925541 0.0020162644 0.0046704121 + 840000 0.0048267114 0.0017858008 0.0041614478 + 840100 0.0037645962 0.002003736 0.0038566231 + 840200 0.0039738336 0.0021812672 0.0041371384 + 840300 0.0052570343 0.0024734887 0.0050609353 + 840400 0.0066241092 0.0030962639 0.0063565676 + 840500 0.0043609674 0.003124712 0.0052711257 + 840600 0.0045731418 0.0031021083 0.0053529515 + 840700 0.0044346001 0.0024353235 0.0046179782 + 840800 0.0033480902 0.0022570163 0.0039049045 + 840900 0.0046675844 0.0025826689 0.0048799956 + 841000 0.0040203632 0.0027812847 0.0047600572 + 841100 0.0048031692 0.0026939012 0.005057961 + 841200 0.0042992318 0.0024993002 0.0046153284 + 841300 0.0049062746 0.0022976992 0.0047125062 + 841400 0.0047030535 0.0022122699 0.0045270541 + 841500 0.0036737918 0.0022782194 0.0040864138 + 841600 0.0048798797 0.0020628673 0.0044646831 + 841700 0.0060230594 0.0019682301 0.0049327046 + 841800 0.0047416602 0.0021143409 0.0044481268 + 841900 0.005406667 0.0023905406 0.0050516345 + 842000 0.0053568623 0.0023828496 0.0050194302 + 842100 0.0047210217 0.0023132216 0.0046368495 + 842200 0.0053284994 0.0016615812 0.004284202 + 842300 0.0039875488 0.0014658586 0.0034284803 + 842400 0.0050846053 0.0018372752 0.0043398544 + 842500 0.0047145176 0.0021211996 0.0044416263 + 842600 0.0065741419 0.0020455703 0.0052812807 + 842700 0.0053824048 0.0022100907 0.004859243 + 842800 0.0070901323 0.0028864104 0.0063760849 + 842900 0.006261735 0.0031421571 0.0062241048 + 843000 0.0073970066 0.0024377602 0.0060784744 + 843100 0.0077186894 0.0021741203 0.0059731627 + 843200 0.0052520145 0.0023543176 0.0049392935 + 843300 0.0059851219 0.0022066505 0.0051524527 + 843400 0.0060267234 0.0022866255 0.0052529035 + 843500 0.0052625499 0.00251117 0.0051013313 + 843600 0.0064319778 0.0020490237 0.0052147628 + 843700 0.0055466806 0.0017052454 0.0044352523 + 843800 0.0048038209 0.0022678594 0.00463224 + 843900 0.0052426634 0.0027229423 0.0053033157 + 844000 0.0058352624 0.0025452792 0.0054173225 + 844100 0.0063911752 0.002198614 0.0053442705 + 844200 0.0052897833 0.0028066296 0.0054101948 + 844300 0.0045628879 0.0034054878 0.0056512842 + 844400 0.0042721335 0.0032769394 0.0053796301 + 844500 0.0076991753 0.00275888 0.0065483178 + 844600 0.005261308 0.0023630164 0.0049525664 + 844700 0.0055158389 0.0019556998 0.0046705268 + 844800 0.0043535408 0.0018393265 0.0039820849 + 844900 0.0056888057 0.0017300913 0.0045300504 + 845000 0.0035302541 0.0019901145 0.0037276614 + 845100 0.0055331086 0.0024746851 0.005198012 + 845200 0.0041853608 0.002868687 0.0049286693 + 845300 0.0049791719 0.0025666168 0.0050173029 + 845400 0.0057611345 0.0021362682 0.0049718266 + 845500 0.0054938149 0.0017349966 0.0044389836 + 845600 0.0030976192 0.002219519 0.0037441284 + 845700 0.0053988939 0.0022972851 0.0049545532 + 845800 0.0046649276 0.0023717831 0.0046678022 + 845900 0.0045254186 0.0020473423 0.0042746968 + 846000 0.0042981272 0.0017364579 0.0038519424 + 846100 0.0042372561 0.0018138571 0.0038993816 + 846200 0.0041472209 0.002067507 0.0041087173 + 846300 0.0046595519 0.0020638533 0.0043572265 + 846400 0.0056717714 0.0021146701 0.0049062451 + 846500 0.0056763232 0.0017697501 0.0045635654 + 846600 0.0055512485 0.0018700167 0.0046022718 + 846700 0.0044331811 0.0024373158 0.0046192722 + 846800 0.0047968819 0.0024873948 0.0048483601 + 846900 0.0060923246 0.0024314535 0.0054300195 + 847000 0.0065242233 0.0023046501 0.0055157913 + 847100 0.0058650057 0.0025653313 0.0054520138 + 847200 0.0059613498 0.0023033575 0.0052374594 + 847300 0.0052625035 0.0020083009 0.0045984393 + 847400 0.0045508044 0.0018274772 0.0040673262 + 847500 0.0046829842 0.0018791618 0.0041840681 + 847600 0.0065232685 0.0015820347 0.0047927059 + 847700 0.0048658844 0.0020828085 0.0044777359 + 847800 0.0044100869 0.0025104955 0.0046810851 + 847900 0.005612112 0.0022656499 0.0050278613 + 848000 0.0049533484 0.0021970468 0.004635023 + 848100 0.0064068971 0.0022228496 0.0053762443 + 848200 0.0052178494 0.0023642775 0.0049324378 + 848300 0.005242876 0.0021139618 0.0046944398 + 848400 0.005233945 0.0018275016 0.0044035838 + 848500 0.0047511328 0.0020952437 0.0044336919 + 848600 0.0062191378 0.0021583366 0.0052193185 + 848700 0.0050845735 0.0027331178 0.0052356813 + 848800 0.0046669288 0.0031194839 0.0054164879 + 848900 0.0057861867 0.0026998931 0.0055477818 + 849000 0.0040794109 0.0024759441 0.0044837791 + 849100 0.006964246 0.0021107849 0.0055384997 + 849200 0.0047003505 0.0020776899 0.0043911437 + 849300 0.0065568356 0.0020612993 0.0052884918 + 849400 0.0066980102 0.0021599752 0.0054566522 + 849500 0.0037843096 0.002101379 0.0039639689 + 849600 0.0059152337 0.0019559547 0.0048673588 + 849700 0.0044807194 0.0019320627 0.0041374167 + 849800 0.0049484543 0.0018207869 0.0042563542 + 849900 0.0046342405 0.0017501765 0.0040310917 + 850000 0.0042557518 0.0019558883 0.0040505161 + 850100 0.0055666851 0.0018933254 0.0046331782 + 850200 0.0051628926 0.0018375648 0.004378676 + 850300 0.0060539418 0.0021834358 0.0051631102 + 850400 0.0064220342 0.0017365857 0.0048974306 + 850500 0.00453956 0.0016723056 0.0039066203 + 850600 0.0044059863 0.0023173061 0.0044858774 + 850700 0.0062476039 0.0025545353 0.0056295279 + 850800 0.0054464162 0.0024077276 0.0050883856 + 850900 0.0048093473 0.0027211888 0.0050882894 + 851000 0.0059969987 0.0026640692 0.005615717 + 851100 0.0058810876 0.002279412 0.0051740098 + 851200 0.0053702511 0.0021773895 0.00482056 + 851300 0.0053551939 0.0021548459 0.0047906053 + 851400 0.0052382147 0.002165118 0.0047433018 + 851500 0.0048057351 0.0022932947 0.0046586174 + 851600 0.0055503277 0.0023176497 0.0050494516 + 851700 0.0048691341 0.0023908128 0.0047873397 + 851800 0.004261001 0.0025219515 0.0046191629 + 851900 0.0052498133 0.002362204 0.0049460965 + 852000 0.0055613528 0.0027253419 0.0054625702 + 852100 0.0051720638 0.0029110326 0.0054566577 + 852200 0.0067253331 0.002393966 0.0057040908 + 852300 0.006512127 0.0022001058 0.0054052933 + 852400 0.004502141 0.0024792577 0.0046951552 + 852500 0.0054091104 0.0026458971 0.0053081936 + 852600 0.005048736 0.0024514297 0.0049363545 + 852700 0.0046016059 0.0022307605 0.0044956134 + 852800 0.0053381637 0.0020245972 0.0046519747 + 852900 0.0055076737 0.0017909959 0.0045018041 + 853000 0.0046346044 0.0019958598 0.0042769542 + 853100 0.0038289196 0.0023574268 0.0042419732 + 853200 0.0044546887 0.002205101 0.0043976431 + 853300 0.0059651345 0.0017927315 0.0047286962 + 853400 0.003775182 0.0019044134 0.0037625108 + 853500 0.006837822 0.001961426 0.0053269165 + 853600 0.0060769501 0.0026702197 0.0056612186 + 853700 0.0039096869 0.0027154868 0.0046397858 + 853800 0.006133446 0.0023276151 0.0053464205 + 853900 0.0057418649 0.0025840553 0.0054101295 + 854000 0.0053203958 0.0027285542 0.0053471864 + 854100 0.0067636017 0.0024558042 0.0057847644 + 854200 0.0046752508 0.002789197 0.005090297 + 854300 0.0045754148 0.0027093244 0.0049612864 + 854400 0.0052798887 0.0026714527 0.0052701479 + 854500 0.0042314549 0.0026879602 0.0047706294 + 854600 0.0031615889 0.0024378487 0.0039939432 + 854700 0.0047602861 0.0021016679 0.0044446212 + 854800 0.0032091787 0.0020056082 0.0035851258 + 854900 0.0046902377 0.0019665593 0.0042750357 + 855000 0.0050625128 0.0019664955 0.004458201 + 855100 0.0044396621 0.0018055282 0.0039906745 + 855200 0.0047577589 0.0016857722 0.0040274816 + 855300 0.0058270854 0.0017305205 0.004598539 + 855400 0.0056623822 0.0019684333 0.004755387 + 855500 0.0046031268 0.0019018094 0.0041674108 + 855600 0.0055225927 0.001564644 0.0042827951 + 855700 0.0047352652 0.0020640989 0.0043947372 + 855800 0.0053739233 0.0023709866 0.0050159645 + 855900 0.0054566935 0.0019926245 0.0046783409 + 856000 0.0049259958 0.0020305152 0.0044550288 + 856100 0.0047612273 0.0020647083 0.0044081249 + 856200 0.0036754571 0.0025173661 0.0043263802 + 856300 0.0038839621 0.0030060816 0.0049177193 + 856400 0.005432569 0.0027180454 0.0053918879 + 856500 0.0045667639 0.0024800248 0.0047277289 + 856600 0.0045306126 0.0027250226 0.0049549335 + 856700 0.0065503734 0.0025893617 0.0058133736 + 856800 0.0039332615 0.0029387001 0.0048746023 + 856900 0.005232812 0.0026016934 0.0051772181 + 857000 0.0058396579 0.0027521462 0.0056263528 + 857100 0.0046618408 0.0026488803 0.00494338 + 857200 0.0044883409 0.0023662758 0.0045753812 + 857300 0.0058773936 0.002197875 0.0050906547 + 857400 0.0064193404 0.0024161879 0.005575707 + 857500 0.006102218 0.0028075766 0.0058110121 + 857600 0.0037756928 0.0028732953 0.0047316441 + 857700 0.0053214273 0.0021494542 0.0047685942 + 857800 0.0055117309 0.0019976169 0.004710422 + 857900 0.0057016658 0.0025047956 0.0053110842 + 858000 0.0050055554 0.0029010384 0.0053647102 + 858100 0.004916797 0.0026673228 0.0050873088 + 858200 0.0058578444 0.0023044549 0.0051876127 + 858300 0.00468587 0.0021864549 0.0044927816 + 858400 0.0048895434 0.0021119848 0.0045185569 + 858500 0.0056833216 0.0018307458 0.0046280056 + 858600 0.0065594176 0.0018144372 0.0050429005 + 858700 0.0060607374 0.0022876948 0.005270714 + 858800 0.0046204539 0.0025472064 0.0048213361 + 858900 0.0050119734 0.0024940559 0.0049608866 + 859000 0.004900692 0.0022765165 0.0046885759 + 859100 0.0055177781 0.0020718244 0.0047876058 + 859200 0.0053368728 0.0020380228 0.0046647649 + 859300 0.0039148796 0.0018189108 0.0037457656 + 859400 0.0041831284 0.001724247 0.0037831305 + 859500 0.0051793168 0.0016918975 0.0042410925 + 859600 0.0048196829 0.0024996152 0.0048718029 + 859700 0.0047215425 0.0023383387 0.0046622229 + 859800 0.0056792344 0.0018095158 0.004604764 + 859900 0.0063744758 0.0018962116 0.0050336489 + 860000 0.0033915695 0.0023083792 0.0039776674 + 860100 0.0061009431 0.0018095954 0.0048124033 + 860200 0.0056129262 0.0015984848 0.0043610969 + 860300 0.00572689 0.001697176 0.0045158796 + 860400 0.0048540608 0.0019389007 0.0043280088 + 860500 0.0053889216 0.0016975892 0.004349949 + 860600 0.0043571996 0.0015387656 0.0036833247 + 860700 0.0052913286 0.0018820538 0.0044863796 + 860800 0.0040162349 0.0023712742 0.0043480148 + 860900 0.0053015046 0.0017524227 0.004361757 + 861000 0.0044442009 0.0017887084 0.0039760886 + 861100 0.0049929858 0.0018720085 0.0043294938 + 861200 0.007230973 0.001434559 0.0049935535 + 861300 0.0030402733 0.001910658 0.0034070426 + 861400 0.0052795339 0.0022540369 0.0048525574 + 861500 0.007031134 0.0025223269 0.0059829632 + 861600 0.0056175692 0.0022294717 0.004994369 + 861700 0.0062873133 0.0019052813 0.0049998183 + 861800 0.0031757268 0.0020065916 0.0035696446 + 861900 0.0041443244 0.0018873598 0.0039271445 + 862000 0.0040901869 0.0015282853 0.0035414241 + 862100 0.0055378216 0.001517036 0.0042426825 + 862200 0.0041640274 0.0017120049 0.0037614871 + 862300 0.0049211552 0.0018080548 0.0042301858 + 862400 0.0053263809 0.0013855865 0.0040071646 + 862500 0.0053625043 0.0018658846 0.0045052422 + 862600 0.0040091614 0.0024948433 0.0044681024 + 862700 0.0039009463 0.002588913 0.00450891 + 862800 0.0069072564 0.0020004464 0.0054001117 + 862900 0.0045447073 0.0023952034 0.0046320516 + 863000 0.0052440606 0.0020605854 0.0046416465 + 863100 0.0047454052 0.0020788595 0.0044144886 + 863200 0.0045274319 0.0021816466 0.0044099919 + 863300 0.0058622872 0.0020204467 0.0049057911 + 863400 0.004728843 0.0022981038 0.0046255812 + 863500 0.0063289033 0.0023055222 0.0054205293 + 863600 0.0043024516 0.0018549647 0.0039725776 + 863700 0.0055863368 0.0015940985 0.0043436237 + 863800 0.0032080745 0.0018324503 0.0034114244 + 863900 0.0038162104 0.0020756202 0.0039539113 + 864000 0.0054232897 0.0022622969 0.0049315723 + 864100 0.0055621599 0.0029205846 0.0056582102 + 864200 0.0039541401 0.0031639942 0.0051101725 + 864300 0.0042795573 0.0026786517 0.0047849963 + 864400 0.005294057 0.0022325172 0.0048381859 + 864500 0.0059803353 0.0016320858 0.0045755321 + 864600 0.0043321502 0.0018533493 0.0039855794 + 864700 0.004870497 0.0022481836 0.0046453813 + 864800 0.0040797387 0.0023796275 0.0043876239 + 864900 0.0036852996 0.0029604778 0.0047743362 + 865000 0.004228458 0.0031483916 0.0052295858 + 865100 0.005741898 0.0032608653 0.0060869557 + 865200 0.0054088326 0.0031744876 0.0058366473 + 865300 0.0044293667 0.0032947914 0.0054748703 + 865400 0.0044928697 0.0030730639 0.0052843982 + 865500 0.0070835548 0.0026306075 0.0061170447 + 865600 0.0062447974 0.0028166189 0.0058902301 + 865700 0.0050104553 0.0028198794 0.0052859629 + 865800 0.0059349915 0.0024094242 0.0053305528 + 865900 0.0041056927 0.0023382874 0.0043590581 + 866000 0.0043647228 0.0020427447 0.0041910067 + 866100 0.0047058807 0.0016894987 0.0040056743 + 866200 0.0054758274 0.0018026637 0.0044977975 + 866300 0.0044327072 0.002469276 0.0046509991 + 866400 0.0058661307 0.0024847772 0.0053720134 + 866500 0.0053364286 0.0024807233 0.0051072467 + 866600 0.0054123609 0.0023395445 0.0050034409 + 866700 0.0056341947 0.0021726529 0.0049457331 + 866800 0.0057779168 0.0021315082 0.0049753266 + 866900 0.0046446923 0.0021038641 0.0043899236 + 867000 0.0049831953 0.0020815585 0.0045342249 + 867100 0.0055925917 0.0024987451 0.0052513489 + 867200 0.0050454174 0.0028326384 0.0053159298 + 867300 0.0056520958 0.002637855 0.0054197459 + 867400 0.0045085403 0.0026254513 0.0048444985 + 867500 0.0046164084 0.0027738758 0.0050460143 + 867600 0.0049550312 0.0023926967 0.0048315012 + 867700 0.0055007459 0.0021833812 0.0048907795 + 867800 0.0032439045 0.0021784017 0.0037750109 + 867900 0.0049303837 0.0023848044 0.0048114777 + 868000 0.0051482534 0.0026183719 0.0051522779 + 868100 0.0058235971 0.0025713594 0.0054376611 + 868200 0.0067331634 0.002708126 0.0060221049 + 868300 0.0062180198 0.0029442976 0.0060047292 + 868400 0.0056062568 0.0024823776 0.0052417071 + 868500 0.0052992728 0.0020218806 0.0046301164 + 868600 0.0056968958 0.0019590944 0.0047630353 + 868700 0.0058537535 0.001974104 0.0048552483 + 868800 0.0064018554 0.0018759743 0.0050268875 + 868900 0.0037320631 0.0019039411 0.0037408159 + 869000 0.0051336409 0.0025044649 0.0050311788 + 869100 0.0052989925 0.0024453599 0.0050534577 + 869200 0.0059004949 0.0019829856 0.0048871354 + 869300 0.0051521738 0.0017753918 0.0043112273 + 869400 0.0038814817 0.0016644951 0.0035749119 + 869500 0.0055610907 0.0013360053 0.0040731046 + 869600 0.003896468 0.0015651736 0.0034829664 + 869700 0.0049696563 0.0017194958 0.0041654985 + 869800 0.0044373944 0.0018625733 0.0040466033 + 869900 0.0040199572 0.0021729251 0.0041514978 + 870000 0.0052288107 0.002425373 0.0049989283 + 870100 0.0045659488 0.0029205034 0.0051678063 + 870200 0.0050877486 0.0031165061 0.0056206324 + 870300 0.0051785451 0.0026580498 0.005206865 + 870400 0.0043415 0.0025758166 0.0047126487 + 870500 0.0052591437 0.0022063411 0.0047948259 + 870600 0.0047385956 0.0022421613 0.0045744388 + 870700 0.004501467 0.0026258586 0.0048414243 + 870800 0.0057514675 0.0023316024 0.0051624028 + 870900 0.0045156359 0.0020398695 0.004262409 + 871000 0.0066385418 0.0023629332 0.0056303405 + 871100 0.0029263224 0.0029038651 0.0043441644 + 871200 0.0028713807 0.0027037768 0.0041170345 + 871300 0.0036431791 0.0024572035 0.0042503307 + 871400 0.0047186007 0.002195163 0.0045175993 + 871500 0.0039849165 0.0021832617 0.0041445879 + 871600 0.0040656116 0.0020976391 0.0040986823 + 871700 0.0035669364 0.0025006773 0.0042562788 + 871800 0.0049528465 0.0028469612 0.0052846903 + 871900 0.005880426 0.002640368 0.0055346401 + 872000 0.0070908751 0.0026021206 0.0060921607 + 872100 0.0053732993 0.003356316 0.0060009867 + 872200 0.0060517994 0.0034011473 0.0063797674 + 872300 0.0061228856 0.0029028621 0.0059164698 + 872400 0.005678469 0.002376346 0.0051712175 + 872500 0.0053738512 0.0017247568 0.0043696991 + 872600 0.0064027937 0.0019192938 0.0050706688 + 872700 0.0034367482 0.00214903 0.0038405545 + 872800 0.0045829283 0.001904314 0.0041599741 + 872900 0.0046754631 0.0018934728 0.0041946773 + 873000 0.0039354311 0.0023370909 0.0042740609 + 873100 0.0045384014 0.0024025697 0.0046363141 + 873200 0.0057435652 0.0024107606 0.0052376716 + 873300 0.0049257871 0.0021089349 0.0045333457 + 873400 0.0042557258 0.0018570149 0.0039516299 + 873500 0.0059458734 0.0017800661 0.0047065506 + 873600 0.0057361694 0.0016270908 0.0044503617 + 873700 0.0058559573 0.0016722526 0.0045544816 + 873800 0.0046452115 0.001502395 0.00378871 + 873900 0.0050823648 0.0019103465 0.0044118229 + 874000 0.0044007143 0.0019164247 0.0040824012 + 874100 0.0054333393 0.0016687887 0.0043430104 + 874200 0.0054533399 0.0017268129 0.0044108787 + 874300 0.0042717111 0.0018662017 0.0039686845 + 874400 0.0044943515 0.0020667351 0.0042787987 + 874500 0.0052575007 0.0021666657 0.0047543418 + 874600 0.0034961885 0.0024153898 0.0041361701 + 874700 0.0058594448 0.0024292206 0.0053131661 + 874800 0.0057504088 0.0024488044 0.0052790837 + 874900 0.0063041406 0.0024285904 0.0055314096 + 875000 0.0039887946 0.0020533357 0.0040165705 + 875100 0.0037327279 0.0019596841 0.0037968861 + 875200 0.0049896583 0.0021221614 0.0045780088 + 875300 0.0059751975 0.0017051027 0.0046460202 + 875400 0.004635557 0.0014137658 0.003695329 + 875500 0.0042647264 0.0016019138 0.0037009589 + 875600 0.0041358779 0.0018473997 0.0038830271 + 875700 0.0048275209 0.0017878385 0.0041638839 + 875800 0.0041234544 0.0019920418 0.0040215545 + 875900 0.0043716481 0.0024465964 0.0045982669 + 876000 0.00637227 0.0024625979 0.0055989496 + 876100 0.004575148 0.0024328187 0.0046846493 + 876200 0.0053816068 0.0026573109 0.0053060705 + 876300 0.0058994661 0.0025223652 0.0054260087 + 876400 0.0051808981 0.002009759 0.0045597323 + 876500 0.0046712528 0.0023134978 0.0046126301 + 876600 0.0038335533 0.0025319194 0.0044187464 + 876700 0.005868645 0.0024601723 0.005348646 + 876800 0.0051854021 0.0023696607 0.0049218508 + 876900 0.0050269278 0.0027025657 0.0051767568 + 877000 0.0052315131 0.0022440654 0.0048189508 + 877100 0.0042902602 0.0018305838 0.0039421963 + 877200 0.0048883524 0.0015844873 0.0039904732 + 877300 0.0038885182 0.0015694145 0.0034832945 + 877400 0.0038155618 0.0016423989 0.0035203707 + 877500 0.0044945802 0.0017279506 0.0039401268 + 877600 0.0043340863 0.0018076409 0.003940824 + 877700 0.0070850402 0.0015499751 0.0050371433 + 877800 0.0055533086 0.0021374626 0.0048707317 + 877900 0.0054442957 0.002384965 0.0050645793 + 878000 0.004292589 0.0021396002 0.0042523589 + 878100 0.0061006207 0.0018258514 0.0048285006 + 878200 0.0052554601 0.0019623311 0.0045490028 + 878300 0.0037881462 0.0021352829 0.0039997611 + 878400 0.0053848652 0.0018519674 0.0045023307 + 878500 0.0052122943 0.0023764019 0.004941828 + 878600 0.0043137259 0.002746165 0.0048693269 + 878700 0.0043460031 0.0022371139 0.0043761623 + 878800 0.0060921589 0.0018416638 0.0048401482 + 878900 0.0046575111 0.0022643587 0.0045567275 + 879000 0.005103517 0.0024106959 0.0049225832 + 879100 0.0078418922 0.0022448074 0.0061044887 + 879200 0.0050426604 0.0026982857 0.0051802201 + 879300 0.0046295211 0.0026877246 0.004966317 + 879400 0.0054498977 0.0023778524 0.005060224 + 879500 0.0054858084 0.0016449477 0.004344994 + 879600 0.0043865668 0.0014146499 0.0035736632 + 879700 0.0044885145 0.0019616657 0.0041708564 + 879800 0.0045934966 0.0020757603 0.0043366219 + 879900 0.0042547919 0.0019717256 0.004065881 + 880000 0.0058032528 0.0018146106 0.0046708991 + 880100 0.0054510795 0.0019235335 0.0046064867 + 880200 0.0038902292 0.0024218493 0.0043365715 + 880300 0.0045702429 0.0023837985 0.004633215 + 880400 0.0070791086 0.0023345259 0.0058187747 + 880500 0.0051838425 0.0021674933 0.0047189158 + 880600 0.0051650753 0.0018679768 0.0044101623 + 880700 0.0047834748 0.0020791383 0.0044335048 + 880800 0.0047736223 0.0024348835 0.0047844008 + 880900 0.004961226 0.002781054 0.0052229074 + 881000 0.0041957423 0.0029056002 0.0049706921 + 881100 0.0051496387 0.0025866147 0.0051212026 + 881200 0.0042921299 0.0027186653 0.004831198 + 881300 0.004081026 0.0026637517 0.0046723816 + 881400 0.0042134759 0.0026028388 0.004676659 + 881500 0.0037258812 0.00278726 0.0046210921 + 881600 0.005169823 0.0028894347 0.0054339569 + 881700 0.0056731988 0.0030157881 0.0058080656 + 881800 0.0055443186 0.0028247563 0.0055536006 + 881900 0.0042325475 0.0024057746 0.0044889815 + 882000 0.0046480482 0.0027151318 0.005002843 + 882100 0.0046009842 0.0027084039 0.0049729508 + 882200 0.0041320991 0.0025262908 0.0045600583 + 882300 0.0059715056 0.0023405991 0.0052796995 + 882400 0.0041832886 0.0024753505 0.0045343129 + 882500 0.0042191639 0.0028020391 0.0048786589 + 882600 0.0044618847 0.0021538453 0.0043499291 + 882700 0.0049045957 0.0016432505 0.0040572312 + 882800 0.0049792531 0.0015767053 0.0040274315 + 882900 0.0043665794 0.0019226743 0.0040718501 + 883000 0.0055970559 0.0022366066 0.0049914075 + 883100 0.0052964025 0.0030032195 0.0056100426 + 883200 0.0050087604 0.0036501023 0.0061153515 + 883300 0.003800907 0.0036312824 0.0055020413 + 883400 0.0073712506 0.0028521747 0.0064802121 + 883500 0.005583185 0.0027929712 0.0055409451 + 883600 0.0038454074 0.0034270502 0.0053197116 + 883700 0.0045294788 0.0030687325 0.0052980853 + 883800 0.0033481924 0.0028092021 0.0044571405 + 883900 0.006335359 0.0021370687 0.0052552532 + 884000 0.0066453247 0.0026539708 0.0059247165 + 884100 0.0035992967 0.0034490249 0.0052205538 + 884200 0.0051104653 0.00303347 0.0055487772 + 884300 0.0064144906 0.002426461 0.005583593 + 884400 0.0061912637 0.0022301253 0.005277388 + 884500 0.0033509665 0.0025816056 0.0042309094 + 884600 0.0063648116 0.0024211082 0.0055537889 + 884700 0.0045593775 0.0025708732 0.0048149418 + 884800 0.0071826593 0.0022377646 0.0057729797 + 884900 0.0037963517 0.0020324469 0.0039009637 + 885000 0.0049610031 0.0022163007 0.0046580444 + 885100 0.0043013309 0.0022736629 0.0043907242 + 885200 0.0040729266 0.0021482775 0.0041529211 + 885300 0.0039229869 0.002079799 0.0040106441 + 885400 0.0058615544 0.0020044921 0.0048894759 + 885500 0.005238322 0.0020141479 0.0045923845 + 885600 0.0058020785 0.0020864892 0.0049421997 + 885700 0.004915356 0.002453454 0.0048727308 + 885800 0.0055745575 0.002332643 0.0050763705 + 885900 0.0049911582 0.002964918 0.0054215036 + 886000 0.005318727 0.0025100331 0.0051278441 + 886100 0.0058932403 0.0020659526 0.0049665318 + 886200 0.006000053 0.0020023039 0.004955455 + 886300 0.0052490369 0.002271011 0.0048545214 + 886400 0.0051219422 0.0024073449 0.0049283008 + 886500 0.0048182765 0.0029383142 0.0053098096 + 886600 0.0045644134 0.0029994036 0.0052459508 + 886700 0.0044406701 0.002907806 0.0050934483 + 886800 0.0050892683 0.0024628951 0.0049677693 + 886900 0.0041769829 0.001928563 0.0039844217 + 887000 0.0027807268 0.0019292419 0.0032978809 + 887100 0.0067036261 0.0019577002 0.0052571411 + 887200 0.0044735396 0.0024212392 0.0046230595 + 887300 0.0057965495 0.0021755969 0.0050285861 + 887400 0.0061710672 0.0023322932 0.0053696153 + 887500 0.0054604069 0.0023313272 0.0050188713 + 887600 0.0053868022 0.0024643622 0.005115679 + 887700 0.0038836704 0.0024272924 0.0043387864 + 887800 0.0039290458 0.0021788804 0.0041127076 + 887900 0.0054464898 0.0016450099 0.0043257041 + 888000 0.0047158464 0.0016353844 0.003956465 + 888100 0.0048675246 0.0019212786 0.0043170133 + 888200 0.0058714902 0.0021576517 0.0050475258 + 888300 0.0048398445 0.0024993666 0.0048814775 + 888400 0.0035739208 0.0026611834 0.0044202225 + 888500 0.005726333 0.0027077724 0.0055262019 + 888600 0.0057564112 0.0029980904 0.005831324 + 888700 0.0063277324 0.0029913321 0.0061057628 + 888800 0.0069269292 0.0024357744 0.0058451223 + 888900 0.0056854397 0.0021590932 0.0049573955 + 889000 0.0043702213 0.0024799225 0.0046308908 + 889100 0.005372833 0.0023096099 0.0049540511 + 889200 0.0048311209 0.0021031621 0.0044809795 + 889300 0.0064323252 0.0021871981 0.0053531081 + 889400 0.0056015553 0.0028192648 0.0055762803 + 889500 0.0050881504 0.0030208834 0.0055252074 + 889600 0.0046941554 0.0024453573 0.0047557619 + 889700 0.0039326226 0.0021937929 0.0041293805 + 889800 0.0053555079 0.0019022418 0.0045381559 + 889900 0.0043253187 0.0020598343 0.0041887021 + 890000 0.0044051887 0.002387122 0.0045553008 + 890100 0.0042192 0.002504315 0.0045809525 + 890200 0.0054321407 0.0023429889 0.0050166207 + 890300 0.0055211794 0.0023759244 0.0050933799 + 890400 0.0049677026 0.0020259344 0.0044709755 + 890500 0.0051340332 0.0019840923 0.0045109993 + 890600 0.005570098 0.0019663242 0.0047078568 + 890700 0.0049545975 0.0024545533 0.0048931442 + 890800 0.0069151584 0.0026905877 0.0060941422 + 890900 0.0060920328 0.002874101 0.0058725234 + 891000 0.0056141305 0.0026272594 0.0053904642 + 891100 0.0042990932 0.0025106053 0.0046265652 + 891200 0.0059266684 0.0024555351 0.0053725672 + 891300 0.0040845397 0.0027426637 0.004753023 + 891400 0.0066876888 0.002646601 0.0059381979 + 891500 0.0054102572 0.0025001104 0.0051629714 + 891600 0.0049889697 0.0024447005 0.0049002091 + 891700 0.0037618031 0.0022549932 0.0041065057 + 891800 0.0035481744 0.0023547885 0.0041011556 + 891900 0.004449855 0.0021268917 0.0043170547 + 892000 0.0052946247 0.0018694963 0.0044754444 + 892100 0.0040410843 0.0020859348 0.0040749059 + 892200 0.0031859406 0.0021789853 0.0037470654 + 892300 0.0041546901 0.001770897 0.0038157836 + 892400 0.0051183366 0.0016918711 0.0042110524 + 892500 0.0035611444 0.0017684996 0.0035212504 + 892600 0.0044820746 0.0017652825 0.0039713036 + 892700 0.0047003108 0.0018555434 0.0041689776 + 892800 0.0063793262 0.0019634839 0.0051033085 + 892900 0.0050787255 0.0021953698 0.004695055 + 893000 0.0058979252 0.0024585912 0.0053614762 + 893100 0.005337962 0.0025574685 0.0051847467 + 893200 0.0029753717 0.0025515256 0.0040159664 + 893300 0.0041818094 0.002072348 0.0041305823 + 893400 0.0057482722 0.001823827 0.0046530548 + 893500 0.0050442951 0.0018506098 0.0043333488 + 893600 0.0035907864 0.002215258 0.0039825982 + 893700 0.004464363 0.0024568576 0.0046541613 + 893800 0.0055204461 0.0020533916 0.0047704861 + 893900 0.003363737 0.0022169955 0.0038725848 + 894000 0.0057091582 0.0019435341 0.0047535104 + 894100 0.0044225806 0.0019489307 0.0041256696 + 894200 0.0045870162 0.0017225125 0.0039801845 + 894300 0.004569446 0.0015357668 0.003784791 + 894400 0.0048037863 0.0016672496 0.0040316132 + 894500 0.0055513719 0.0017675592 0.004499875 + 894600 0.0049971638 0.0022585899 0.0047181315 + 894700 0.0041397949 0.0024203815 0.0044579369 + 894800 0.0061296066 0.0019149874 0.0049319032 + 894900 0.0044727222 0.0021619562 0.0043633741 + 895000 0.0055172206 0.0019612157 0.0046767228 + 895100 0.006474394 0.001983889 0.0051705049 + 895200 0.0066302238 0.0018369417 0.005100255 + 895300 0.0045781591 0.0020163795 0.0042696922 + 895400 0.004924365 0.0018940856 0.0043177965 + 895500 0.0047538134 0.002493375 0.0048331426 + 895600 0.0055543999 0.0027981961 0.0055320023 + 895700 0.0048477671 0.0024999227 0.0048859331 + 895800 0.0039817476 0.0020146088 0.0039743751 + 895900 0.0039379248 0.0018255828 0.0037637802 + 896000 0.0044390406 0.0020483397 0.00423318 + 896100 0.0045997363 0.0022489978 0.0045129306 + 896200 0.0054121129 0.0019130071 0.0045767814 + 896300 0.0062645971 0.0017611681 0.0048445245 + 896400 0.0043328878 0.0024713067 0.0046038999 + 896500 0.0043473212 0.0026651805 0.0048048777 + 896600 0.005137327 0.002545059 0.0050735872 + 896700 0.0045453051 0.0025037594 0.0047409017 + 896800 0.0051890299 0.0022104342 0.0047644098 + 896900 0.0033269203 0.00258318 0.0042206486 + 897000 0.005664746 0.0029572318 0.005745349 + 897100 0.0054757227 0.0027971872 0.0054922694 + 897200 0.0054973653 0.0020999322 0.0048056667 + 897300 0.0059167732 0.0019762244 0.0048883862 + 897400 0.0056448731 0.0020488708 0.0048272068 + 897500 0.0073239286 0.0020755737 0.0056803198 + 897600 0.0051859184 0.0022607462 0.0048131904 + 897700 0.0064476602 0.0020369783 0.005210436 + 897800 0.0045391759 0.0020223656 0.0042564913 + 897900 0.005495195 0.0021178249 0.0048224912 + 898000 0.0063620003 0.00221803 0.005349327 + 898100 0.004936327 0.0026882594 0.0051178579 + 898200 0.0064859882 0.0022600013 0.0054523236 + 898300 0.0048513829 0.0024263577 0.0048141477 + 898400 0.0051470919 0.0028008482 0.0053341825 + 898500 0.0044262625 0.0032755229 0.005454074 + 898600 0.005760994 0.0028076731 0.0056431624 + 898700 0.0044245701 0.0024642021 0.0046419202 + 898800 0.004831267 0.0021018413 0.0044797306 + 898900 0.0054885659 0.0023902317 0.0050916352 + 899000 0.0040741352 0.0023403177 0.0043455561 + 899100 0.0047377862 0.0021322023 0.0044640814 + 899200 0.0062227686 0.0020418595 0.0051046285 + 899300 0.0054801242 0.0022262928 0.0049235414 + 899400 0.0060651603 0.0020302209 0.005015417 + 899500 0.0061036074 0.0024865451 0.0054906644 + 899600 0.0050413767 0.0027278271 0.0052091297 + 899700 0.0042025724 0.0022399043 0.0043083579 + 899800 0.005808872 0.001767706 0.0046267602 + 899900 0.0042887066 0.0020483386 0.0041591864 + 900000 0.0041917722 0.0021364835 0.0041996214 + 900100 0.0053420365 0.0017004785 0.004329762 + 900200 0.00415238 0.0017787872 0.0038225367 + 900300 0.0046632434 0.0020132917 0.0043084818 + 900400 0.0057630955 0.0022871326 0.0051236561 + 900500 0.0067649326 0.0019033736 0.0052329889 + 900600 0.0060301219 0.0018686183 0.0048365689 + 900700 0.0048145621 0.0024524544 0.0048221217 + 900800 0.0059163234 0.0021581181 0.0050700585 + 900900 0.0044674979 0.0020258677 0.0042247143 + 901000 0.0042272722 0.0024485912 0.0045292017 + 901100 0.0064909475 0.0022540921 0.0054488553 + 901200 0.0048200979 0.0025596015 0.0049319934 + 901300 0.0040143832 0.0022668264 0.0042426557 + 901400 0.0049204181 0.0021101881 0.0045319563 + 901500 0.0039857744 0.0024226095 0.0043843579 + 901600 0.0070020822 0.0024922533 0.0059385906 + 901700 0.0048454022 0.0026210768 0.0050059232 + 901800 0.0047913524 0.0025609599 0.0049192037 + 901900 0.0043066118 0.0025170182 0.0046366787 + 902000 0.0064053039 0.0020525186 0.0052051291 + 902100 0.0045601859 0.002230444 0.0044749105 + 902200 0.0049520252 0.0024600463 0.0048973712 + 902300 0.0050135732 0.0020308522 0.0044984702 + 902400 0.004909696 0.0016579245 0.0040744156 + 902500 0.0054031805 0.0016660084 0.0043253863 + 902600 0.0042492433 0.0018904717 0.0039818962 + 902700 0.0061794135 0.0018594397 0.0049008697 + 902800 0.0031563856 0.0022846115 0.003838145 + 902900 0.0041926338 0.0021324935 0.0041960554 + 903000 0.0049067661 0.001727202 0.0041422509 + 903100 0.0053576833 0.001476138 0.0041131228 + 903200 0.005433155 0.0018628086 0.0045369396 + 903300 0.0044738824 0.0019234322 0.0041254211 + 903400 0.0056344598 0.0016142898 0.0043875005 + 903500 0.0044453518 0.0017783756 0.0039663222 + 903600 0.0035860224 0.0024402376 0.004205233 + 903700 0.0051368577 0.0023653566 0.0048936538 + 903800 0.0058476393 0.0016433414 0.0045214764 + 903900 0.0055669941 0.0019317653 0.0046717702 + 904000 0.0052096835 0.0021048981 0.0046690391 + 904100 0.0047317777 0.0018316583 0.0041605802 + 904200 0.0060002639 0.0018468035 0.0048000585 + 904300 0.0040764281 0.0021458098 0.0041521768 + 904400 0.0070332977 0.0016215836 0.0050832848 + 904500 0.0076641821 0.0014163473 0.0051885619 + 904600 0.0055787443 0.0023374203 0.0050832085 + 904700 0.0052841096 0.0024650056 0.0050657783 + 904800 0.005072283 0.001878347 0.0043748613 + 904900 0.0056782411 0.0017504915 0.0045452508 + 905000 0.0041034898 0.0018211408 0.0038408271 + 905100 0.004284038 0.0019840178 0.0040925678 + 905200 0.0057523898 0.0019799254 0.0048111798 + 905300 0.0053783507 0.0021764289 0.0048235859 + 905400 0.0056587172 0.0026637349 0.0054488847 + 905500 0.0056014896 0.003046413 0.0058033962 + 905600 0.0044035472 0.0038276114 0.0059949823 + 905700 0.0046671948 0.0038826027 0.0061797377 + 905800 0.0050125583 0.003193247 0.0056603655 + 905900 0.005977246 0.0027080366 0.0056499624 + 906000 0.0034481391 0.0028134255 0.0045105565 + 906100 0.0049909812 0.0027230573 0.0051795559 + 906200 0.0055224287 0.0023651339 0.0050832043 + 906300 0.0045266166 0.001853458 0.0040814021 + 906400 0.0035160019 0.0022892824 0.0040198146 + 906500 0.0033596067 0.0021799407 0.0038334971 + 906600 0.0036713123 0.0023158212 0.0041227953 + 906700 0.0044450677 0.0022119196 0.0043997263 + 906800 0.0039429055 0.0025050385 0.0044456873 + 906900 0.0046178418 0.0025804452 0.0048532892 + 907000 0.0042767448 0.002189401 0.0042943613 + 907100 0.0060766091 0.0016894069 0.0046802379 + 907200 0.0049601118 0.0018341432 0.0042754482 + 907300 0.0049768906 0.0019376799 0.0043872433 + 907400 0.004962911 0.0016542677 0.0040969505 + 907500 0.004815539 0.0019045592 0.0042747073 + 907600 0.0047191671 0.001759932 0.004082647 + 907700 0.0049474766 0.0014515635 0.0038866496 + 907800 0.0045766273 0.0018944389 0.0041469977 + 907900 0.0043705633 0.0018247923 0.0039759289 + 908000 0.0046019189 0.0016539908 0.0039189977 + 908100 0.0033464554 0.0019854184 0.0036325019 + 908200 0.0066964691 0.0018748429 0.0051707613 + 908300 0.0039707247 0.0019124011 0.0038667422 + 908400 0.0045938633 0.0018401347 0.0041011768 + 908500 0.0053718669 0.0019853505 0.0046293162 + 908600 0.0042613102 0.0021322935 0.0042296571 + 908700 0.004359695 0.0022972809 0.0044430683 + 908800 0.0046234079 0.002173199 0.0044487826 + 908900 0.0060738197 0.0023025761 0.0052920342 + 909000 0.0041196769 0.0026203846 0.0046480381 + 909100 0.0045265808 0.0027069095 0.004934836 + 909200 0.0051292828 0.0024671095 0.0049916783 + 909300 0.0051145577 0.002422193 0.0049395144 + 909400 0.0047761491 0.0024188656 0.0047696265 + 909500 0.003928106 0.0019779275 0.0039112922 + 909600 0.0055975408 0.0020939493 0.0048489889 + 909700 0.0055283996 0.0026174903 0.0053384995 + 909800 0.00686774 0.0020714194 0.0054516352 + 909900 0.0059177704 0.0021055463 0.0050181989 + 910000 0.0051034783 0.0022876334 0.0047995017 + 910100 0.0041206957 0.0026873841 0.0047155391 + 910200 0.0037730004 0.0027169581 0.0045739817 + 910300 0.0060666821 0.0023320838 0.0053180289 + 910400 0.0062811084 0.0021287008 0.0052201838 + 910500 0.0056483527 0.0022033969 0.0049834455 + 910600 0.0058270325 0.0022818269 0.0051498195 + 910700 0.0034147061 0.0022701182 0.0039507938 + 910800 0.0044193154 0.0021681536 0.0043432855 + 910900 0.0057858692 0.0019750787 0.0048228111 + 911000 0.0052705574 0.0022856094 0.0048797118 + 911100 0.0051312214 0.0023249692 0.0048504922 + 911200 0.0044973043 0.0022585285 0.0044720454 + 911300 0.006063427 0.0021085581 0.005092901 + 911400 0.0057825791 0.0022432827 0.0050893959 + 911500 0.0043329098 0.0027507593 0.0048833633 + 911600 0.0051328605 0.002696259 0.0052225888 + 911700 0.0062843189 0.0027295991 0.0058226624 + 911800 0.0055915291 0.0028727171 0.0056247978 + 911900 0.0062444112 0.002500619 0.0055740401 + 912000 0.0056461993 0.0027046381 0.0054836269 + 912100 0.0059050094 0.0030092083 0.0059155801 + 912200 0.0058481489 0.0024705787 0.0053489645 + 912300 0.0047092182 0.0023035004 0.0046213187 + 912400 0.0046506305 0.0023664881 0.0046554703 + 912500 0.0042369296 0.0021955463 0.0042809101 + 912600 0.0030943403 0.002479325 0.0040023206 + 912700 0.004548255 0.0022396193 0.0044782135 + 912800 0.0041876673 0.0018742801 0.0039353976 + 912900 0.0042010358 0.0021970494 0.0042647467 + 913000 0.0039634691 0.0023966575 0.0043474275 + 913100 0.0034384956 0.0025796824 0.0042720669 + 913200 0.0066742968 0.0027322256 0.0060172311 + 913300 0.0037723401 0.0030352932 0.0048919919 + 913400 0.0049788367 0.0029329178 0.005383439 + 913500 0.0050290452 0.0026816536 0.0051568868 + 913600 0.0045626178 0.0026826872 0.0049283506 + 913700 0.0038588012 0.002137312 0.0040365657 + 913800 0.0050345949 0.0023175874 0.004795552 + 913900 0.0047502795 0.0021036862 0.0044417144 + 914000 0.0044192504 0.0020587357 0.0042338355 + 914100 0.0044453336 0.0021239335 0.0043118711 + 914200 0.0043457239 0.0023683157 0.0045072266 + 914300 0.0054821298 0.0022064565 0.0049046923 + 914400 0.005994105 0.0016856105 0.0046358341 + 914500 0.0047956069 0.0021228839 0.0044832217 + 914600 0.0064425124 0.00241981 0.0055907341 + 914700 0.004583392 0.0025388147 0.0047947029 + 914800 0.0053379143 0.0027172833 0.005344538 + 914900 0.0056964269 0.0029735479 0.005777258 + 915000 0.0045080911 0.0027395684 0.0049583945 + 915100 0.0038069592 0.0023550161 0.0042287539 + 915200 0.0046286159 0.0018115949 0.0040897418 + 915300 0.0051043879 0.0020276543 0.0045399702 + 915400 0.003172412 0.0024626438 0.0040240653 + 915500 0.0040227523 0.0024397717 0.0044197201 + 915600 0.0072968152 0.002155763 0.0057471642 + 915700 0.004303084 0.0022494778 0.0043674019 + 915800 0.0052174779 0.0025366596 0.005104637 + 915900 0.0055963083 0.0026991698 0.0054536028 + 916000 0.0053598702 0.0029504799 0.005588541 + 916100 0.0049753265 0.0031390158 0.0055878093 + 916200 0.0070843553 0.0027097586 0.0061965898 + 916300 0.0059069554 0.0026426113 0.0055499409 + 916400 0.0052544534 0.0030975023 0.0056836786 + 916500 0.0050948323 0.0036593801 0.0061669928 + 916600 0.0066162331 0.0039288046 0.0071852318 + 916700 0.0053037906 0.0037001688 0.0063106283 + 916800 0.0058423211 0.0033425896 0.0062181071 + 916900 0.0073390043 0.0032091367 0.0068213029 + 917000 0.0049771665 0.0027750643 0.0052247634 + 917100 0.0053257719 0.0022393159 0.0048605943 + 917200 0.0060616274 0.0024190565 0.0054025138 + 917300 0.0066858298 0.0026052085 0.0058958904 + 917400 0.0056445145 0.0024771158 0.0052552753 + 917500 0.0049571548 0.0020639598 0.0045038094 + 917600 0.0049920379 0.001887216 0.0043442346 + 917700 0.0041929313 0.0024512378 0.0045149461 + 917800 0.006311993 0.0027059867 0.0058126708 + 917900 0.004183206 0.0029623601 0.0050212818 + 918000 0.003846379 0.0030945255 0.0049876652 + 918100 0.0057322137 0.0026456898 0.0054670137 + 918200 0.0055828132 0.0022751624 0.0050229533 + 918300 0.005410878 0.0024477511 0.0051109176 + 918400 0.0048241678 0.0026690499 0.005043445 + 918500 0.0060624749 0.0020866042 0.0050704786 + 918600 0.0062148799 0.0018891448 0.004948031 + 918700 0.0050370204 0.0019971801 0.0044763386 + 918800 0.0062960215 0.0023723127 0.0054711358 + 918900 0.0040786604 0.0026970552 0.0047045208 + 919000 0.0057120653 0.0024597086 0.0052711157 + 919100 0.0033452456 0.0019129039 0.003559392 + 919200 0.004320109 0.0022468364 0.00437314 + 919300 0.0057067538 0.0026871317 0.0054959246 + 919400 0.0045595104 0.00319299 0.0054371241 + 919500 0.0053637306 0.0030455807 0.0056855418 + 919600 0.0049156901 0.0025858498 0.005005291 + 919700 0.0051454119 0.0022286936 0.004761201 + 919800 0.0044944316 0.0019831564 0.0041952594 + 919900 0.0056763136 0.0021537537 0.0049475643 + 920000 0.005948842 0.0024163542 0.0053442999 + 920100 0.0040019118 0.002423536 0.0043932269 + 920200 0.005151228 0.0024604368 0.0049958068 + 920300 0.0053495065 0.0026202217 0.0052531819 + 920400 0.0066781473 0.0025088107 0.0057957113 + 920500 0.0051892439 0.002991958 0.005546039 + 920600 0.0042328157 0.0028094671 0.0048928061 + 920700 0.0057032286 0.0024490479 0.0052561057 + 920800 0.0059213699 0.0023668369 0.0052812611 + 920900 0.0057739435 0.0019157896 0.0047576524 + 921000 0.0037075537 0.0015371493 0.0033619609 + 921100 0.0030594242 0.0020596462 0.0035654565 + 921200 0.004212059 0.0023118854 0.0043850082 + 921300 0.0038434645 0.0021787667 0.0040704718 + 921400 0.0046629752 0.0021212198 0.0044162779 + 921500 0.0052508945 0.0020007995 0.0045852241 + 921600 0.0032887514 0.0019832992 0.0036019815 + 921700 0.0042578356 0.0020510336 0.0041466871 + 921800 0.0050398771 0.0019196867 0.0044002512 + 921900 0.0055026457 0.0018312269 0.0045395603 + 922000 0.0042670721 0.002234489 0.0043346885 + 922100 0.0045730734 0.0024925429 0.0047433524 + 922200 0.0041734043 0.0026368236 0.004690921 + 922300 0.0039979664 0.0026026131 0.0045703621 + 922400 0.005252319 0.0023605738 0.0049456995 + 922500 0.0041658553 0.002272125 0.0043225069 + 922600 0.0054958788 0.002173176 0.0048781788 + 922700 0.0061784761 0.0021570855 0.0051980542 + 922800 0.0060103942 0.0021422133 0.0051004542 + 922900 0.0041879292 0.0022539021 0.0043151485 + 923000 0.003535376 0.0027196989 0.0044597668 + 923100 0.0051297455 0.0029739745 0.0054987711 + 923200 0.0040690885 0.0036283332 0.0056310877 + 923300 0.0035981651 0.0037877734 0.0055587452 + 923400 0.0053241579 0.0027443176 0.0053648016 + 923500 0.0051511312 0.0026622469 0.0051975693 + 923600 0.0038058682 0.0025845211 0.0044577219 + 923700 0.0046278594 0.0023204832 0.0045982577 + 923800 0.0048332194 0.0026406177 0.0050194679 + 923900 0.0040149424 0.0025583441 0.0045344486 + 924000 0.0046906991 0.0022207037 0.0045294072 + 924100 0.0044156294 0.002828208 0.0050015256 + 924200 0.0048762272 0.0030483145 0.0054483326 + 924300 0.0080754981 0.0025911319 0.0065657911 + 924400 0.0050244501 0.002820739 0.0052937105 + 924500 0.0038225804 0.002818311 0.0046997373 + 924600 0.0042033114 0.0026089651 0.0046777824 + 924700 0.0057450926 0.0026266715 0.0054543342 + 924800 0.0059238521 0.0030570738 0.0059727198 + 924900 0.0051283715 0.0032506449 0.0057747652 + 925000 0.0052716584 0.0023863316 0.0049809759 + 925100 0.0047773212 0.0020251345 0.0043764723 + 925200 0.0041737531 0.0024322038 0.0044864729 + 925300 0.0044246933 0.002768516 0.0049462947 + 925400 0.0059104349 0.0025291227 0.0054381649 + 925500 0.0049053634 0.0019662695 0.0043806281 + 925600 0.0049689067 0.0018776896 0.0043233233 + 925700 0.0061993202 0.0022325223 0.0052837501 + 925800 0.0049045771 0.0022213381 0.0046353096 + 925900 0.0045901075 0.0024474086 0.0047066022 + 926000 0.0032032168 0.0029021561 0.0044787394 + 926100 0.0047464691 0.0029527108 0.0052888635 + 926200 0.0055226692 0.0025699743 0.0052881631 + 926300 0.0050931739 0.0023572425 0.004864039 + 926400 0.0050666756 0.0025076044 0.0050013588 + 926500 0.0060983438 0.0018575716 0.0048591002 + 926600 0.0070369613 0.0018387821 0.0053022865 + 926700 0.004790143 0.0024301001 0.0047877486 + 926800 0.0056776198 0.003027284 0.0058217375 + 926900 0.0052782695 0.0026781552 0.0052760534 + 927000 0.0064028501 0.0025474992 0.005698902 + 927100 0.005098237 0.0026992705 0.005208559 + 927200 0.0049125692 0.0024906806 0.0049085857 + 927300 0.0050709302 0.0024263638 0.0049222123 + 927400 0.0053046668 0.002445864 0.0050567546 + 927500 0.0048762409 0.002520241 0.0049202658 + 927600 0.0062952212 0.0022163214 0.0053147506 + 927700 0.0058713311 0.0020855771 0.0049753729 + 927800 0.00484224 0.0022184662 0.0046017562 + 927900 0.0042055554 0.0022094773 0.0042793991 + 928000 0.0051119611 0.0022818802 0.0047979235 + 928100 0.0037227827 0.0026725548 0.0045048619 + 928200 0.0056753422 0.0023255125 0.005118845 + 928300 0.0048119895 0.0022407986 0.0046091997 + 928400 0.0066309347 0.0021471449 0.0054108081 + 928500 0.0057506646 0.0025542447 0.0053846499 + 928600 0.0044036055 0.002593051 0.0047604505 + 928700 0.0045519803 0.0028466128 0.0050870406 + 928800 0.0056527821 0.0026235145 0.0054057432 + 928900 0.0057253452 0.0023592641 0.0051772075 + 929000 0.0061330074 0.0022942373 0.0053128268 + 929100 0.0054541305 0.0029425765 0.0056270313 + 929200 0.0050516168 0.0031922185 0.0056785612 + 929300 0.0038933737 0.002923185 0.0048394548 + 929400 0.0042267638 0.0024044956 0.0044848559 + 929500 0.0046338262 0.0023569925 0.0046377038 + 929600 0.004855963 0.0020820992 0.0044721435 + 929700 0.0046543957 0.0015832845 0.0038741199 + 929800 0.0056918364 0.0016239214 0.0044253721 + 929900 0.005477249 0.0022330285 0.004928862 + 930000 0.0049072174 0.0027601712 0.0051754422 + 930100 0.0050478913 0.0030517166 0.0055362256 + 930200 0.0056383782 0.0030946544 0.0058697936 + 930300 0.0050229672 0.0031148554 0.0055870971 + 930400 0.0037817665 0.0033508434 0.0052121816 + 930500 0.0051098348 0.0029043348 0.0054193316 + 930600 0.0052301565 0.0022133247 0.0047875423 + 930700 0.0033981485 0.0023477352 0.0040202614 + 930800 0.0045470471 0.0023255838 0.0045635836 + 930900 0.0052001199 0.0026095954 0.0051690294 + 931000 0.0064577268 0.0026381287 0.0058165411 + 931100 0.0042907282 0.0028267436 0.0049385864 + 931200 0.0035055681 0.0029160512 0.004641448 + 931300 0.0052553962 0.0026662148 0.0052528551 + 931400 0.0060823831 0.0028247452 0.0058184182 + 931500 0.0045202609 0.0027248582 0.0049496741 + 931600 0.0059186219 0.0026924976 0.0056055693 + 931700 0.0048264254 0.0026734892 0.0050489954 + 931800 0.0043595215 0.0028193181 0.0049650201 + 931900 0.0048167479 0.0027562625 0.0051270056 + 932000 0.007002518 0.0024511833 0.0058977351 + 932100 0.0037992537 0.0031107282 0.0049806734 + 932200 0.0067126302 0.0028945422 0.0061984149 + 932300 0.004610209 0.0026342887 0.0049033759 + 932400 0.0052430776 0.0027672522 0.0053478295 + 932500 0.0063955171 0.002241014 0.0053888076 + 932600 0.0050670201 0.0018146476 0.0043085716 + 932700 0.0042234903 0.0016016391 0.0036803882 + 932800 0.0041024233 0.0021902094 0.0042093709 + 932900 0.005124469 0.0024670542 0.0049892538 + 933000 0.0044399028 0.0023520526 0.0045373173 + 933100 0.0051807698 0.0020472923 0.0045972024 + 933200 0.0061967881 0.0021521319 0.0052021135 + 933300 0.00437241 0.0028898726 0.0050419181 + 933400 0.0048158902 0.0028798925 0.0052502135 + 933500 0.0051311887 0.0026799801 0.0052054871 + 933600 0.0068360781 0.0023720407 0.0057366729 + 933700 0.0065000989 0.0021761456 0.005375413 + 933800 0.0052513372 0.0029085199 0.0054931625 + 933900 0.0046927068 0.0035885992 0.0058982908 + 934000 0.005141826 0.002537406 0.0050681485 + 934100 0.0053757039 0.0021797338 0.004825588 + 934200 0.0044875983 0.0021010767 0.0043098165 + 934300 0.0057923932 0.002057112 0.0049080556 + 934400 0.003539634 0.0018614409 0.0036036045 + 934500 0.0048629115 0.0017813772 0.0041748415 + 934600 0.0047001369 0.0016350869 0.0039484355 + 934700 0.0037370662 0.0021312356 0.0039705729 + 934800 0.0049865936 0.0022912836 0.0047456226 + 934900 0.0047679903 0.0021616178 0.0045083631 + 935000 0.0043327027 0.0021219578 0.0042544599 + 935100 0.0058022834 0.0020132321 0.0048690435 + 935200 0.0036474558 0.001953819 0.0037490512 + 935300 0.0057597473 0.0018491855 0.0046840611 + 935400 0.0042165154 0.0021022821 0.0041775983 + 935500 0.0046960428 0.0021027694 0.004414103 + 935600 0.0039763821 0.0022639309 0.0042210565 + 935700 0.0052911305 0.0024574989 0.0050617272 + 935800 0.0048476307 0.0022476217 0.004633565 + 935900 0.005413363 0.0017809537 0.0044453433 + 936000 0.0064433749 0.0021087918 0.0052801404 + 936100 0.0043639766 0.0028015241 0.0049494188 + 936200 0.0060618064 0.0027402436 0.005723789 + 936300 0.00594717 0.0025683632 0.005495486 + 936400 0.0051159268 0.0027383144 0.0052563096 + 936500 0.0038651798 0.0024941812 0.0043965744 + 936600 0.006193285 0.0019471787 0.0049954362 + 936700 0.0042080915 0.0022225781 0.0042937481 + 936800 0.0040223867 0.0023745899 0.0043543584 + 936900 0.0048197812 0.0023378734 0.0047101095 + 937000 0.0031668364 0.0026585836 0.0042172609 + 937100 0.0051634363 0.0024809538 0.0050223326 + 937200 0.0062311544 0.0022425738 0.0053094701 + 937300 0.0043128254 0.0023939209 0.0045166397 + 937400 0.0037225137 0.0019736449 0.0038058196 + 937500 0.0068351536 0.001727082 0.0050912592 + 937600 0.0043326211 0.0019377315 0.0040701934 + 937700 0.0045267296 0.0021051691 0.0043331689 + 937800 0.0050589167 0.0017352909 0.0042252265 + 937900 0.0052060664 0.0016068988 0.0041692596 + 938000 0.0042990304 0.0022520078 0.0043679368 + 938100 0.0052475801 0.0023079194 0.0048907128 + 938200 0.0044052039 0.0020837585 0.0042519448 + 938300 0.0041451629 0.0021331489 0.0041733463 + 938400 0.004523871 0.0021254906 0.0043520834 + 938500 0.0052910304 0.0024403812 0.0050445602 + 938600 0.0046161622 0.002448163 0.0047201803 + 938700 0.0069822418 0.0023749902 0.0058115623 + 938800 0.0059608087 0.0022366681 0.0051705037 + 938900 0.0043438808 0.0021018629 0.0042398668 + 939000 0.0046428656 0.0022456193 0.0045307797 + 939100 0.0059846889 0.0024174248 0.0053630139 + 939200 0.0052336594 0.0030814073 0.005657349 + 939300 0.0056661002 0.0035168383 0.006305622 + 939400 0.004427191 0.0034419901 0.0056209982 + 939500 0.0066909193 0.0024250929 0.0057182798 + 939600 0.0056648475 0.0018577468 0.0046459139 + 939700 0.0044368301 0.0021324049 0.0043161572 + 939800 0.0052102776 0.0022828249 0.0048472584 + 939900 0.0057784803 0.0018424029 0.0046864986 + 940000 0.0054536862 0.0018416544 0.0045258906 + 940100 0.0030937018 0.0022041912 0.0037268726 + 940200 0.0054349055 0.0019159445 0.0045909371 + 940300 0.0054124261 0.0022909675 0.004954896 + 940400 0.0045552965 0.0022951016 0.0045371615 + 940500 0.0055008585 0.0018861739 0.0045936276 + 940600 0.0046927907 0.0022485015 0.0045582344 + 940700 0.0061175342 0.0024726269 0.0054836008 + 940800 0.004202996 0.0022847921 0.0043534542 + 940900 0.0065393529 0.0026329137 0.0058515015 + 941000 0.0050254276 0.0025892115 0.0050626642 + 941100 0.0039777349 0.0028100085 0.0047677999 + 941200 0.0037253763 0.0027129149 0.0045464986 + 941300 0.0045773355 0.0025333914 0.0047862987 + 941400 0.0044624405 0.0022348387 0.0044311962 + 941500 0.0050039354 0.0021555214 0.0046183958 + 941600 0.0049408619 0.0023537695 0.0047856 + 941700 0.0061528053 0.0022463079 0.0052746417 + 941800 0.0042181471 0.0021466886 0.0042228079 + 941900 0.0043224806 0.002190112 0.0043175829 + 942000 0.003380628 0.0019786369 0.0036425397 + 942100 0.0040337261 0.0018693301 0.0038546796 + 942200 0.0055407963 0.0017928489 0.0045199596 + 942300 0.00521851 0.0016426074 0.0042110928 + 942400 0.0035034165 0.0015657275 0.0032900653 + 942500 0.0045107976 0.0016203927 0.0038405509 + 942600 0.0052405026 0.0023007467 0.0048800566 + 942700 0.0047697183 0.0025985395 0.0049461352 + 942800 0.0045476421 0.0025038338 0.0047421264 + 942900 0.0066991869 0.0025411377 0.0058383938 + 943000 0.0053256396 0.0026705977 0.0052918109 + 943100 0.003621851 0.0027317137 0.0045143434 + 943200 0.0051288224 0.0028054444 0.0053297867 + 943300 0.0059278052 0.0027199325 0.0056375241 + 943400 0.0050664558 0.002571866 0.0050655122 + 943500 0.0043987569 0.0022288141 0.0043938273 + 943600 0.0055852297 0.0018073149 0.0045562951 + 943700 0.0051847526 0.0016124523 0.0041643227 + 943800 0.0062763246 0.0014874661 0.0045765946 + 943900 0.007831557 0.0020475722 0.0059021667 + 944000 0.0042912051 0.0029470757 0.0050591532 + 944100 0.0048956783 0.0027739785 0.0051835702 + 944200 0.0049659248 0.0024382669 0.004882433 + 944300 0.0041268149 0.0025049891 0.0045361558 + 944400 0.0049556934 0.0024802493 0.0049193796 + 944500 0.0038404218 0.0022275687 0.0041177763 + 944600 0.004759762 0.0023149804 0.0046576758 + 944700 0.003353855 0.0021403785 0.0037911041 + 944800 0.0038316685 0.0022816553 0.0041675546 + 944900 0.0049201012 0.0023964179 0.0048180302 + 945000 0.0050218196 0.0024058153 0.0048774922 + 945100 0.0040371277 0.0021579791 0.0041450029 + 945200 0.004802601 0.0018972421 0.0042610223 + 945300 0.0053181878 0.0018377338 0.0044552794 + 945400 0.002774182 0.0018746929 0.0032401106 + 945500 0.0060955724 0.0018988392 0.0048990037 + 945600 0.0040721932 0.0022335236 0.0042378062 + 945700 0.004438103 0.0023237851 0.004508164 + 945800 0.0051884124 0.0021733537 0.0047270255 + 945900 0.0032768907 0.0024562721 0.0040691167 + 946000 0.0055445854 0.0029726908 0.0057016665 + 946100 0.0040358051 0.0032302616 0.0052166344 + 946200 0.0050318868 0.0027650909 0.0052417227 + 946300 0.0055853094 0.0025245556 0.005273575 + 946400 0.0071347373 0.0029957017 0.0065073302 + 946500 0.0051162577 0.0038308286 0.0063489866 + 946600 0.0058325164 0.0043868597 0.0072575514 + 946700 0.0061111331 0.0034209343 0.0064287576 + 946800 0.0078680996 0.0025314299 0.0064040102 + 946900 0.0050528207 0.0026700614 0.0051569966 + 947000 0.0048330216 0.0034117973 0.0057905501 + 947100 0.004624695 0.0030929475 0.0053691646 + 947200 0.0042726555 0.00236724 0.0044701876 + 947300 0.0060348689 0.0017398769 0.004710164 + 947400 0.0048938658 0.0019178436 0.0043265432 + 947500 0.0063735976 0.002839243 0.005976248 + 947600 0.0043579398 0.0025117934 0.0046567169 + 947700 0.006717336 0.0020960784 0.0054022673 + 947800 0.003465116 0.0019985364 0.0037040232 + 947900 0.0058650975 0.0020234897 0.0049102174 + 948000 0.0049257553 0.0022069317 0.0046313269 + 948100 0.0038186141 0.0022964781 0.0041759522 + 948200 0.0050111579 0.0021104511 0.0045768804 + 948300 0.0032171137 0.0020940331 0.0036774562 + 948400 0.0054056193 0.0019917874 0.0046523656 + 948500 0.0062224969 0.0017077834 0.0047704186 + 948600 0.0052477952 0.0015879005 0.0041707997 + 948700 0.0041400917 0.0020733234 0.0041110248 + 948800 0.0051304587 0.0022764196 0.0048015672 + 948900 0.0046144637 0.0022654908 0.0045366722 + 949000 0.0060675396 0.0022942677 0.0052806348 + 949100 0.0044897531 0.0023463816 0.0045561819 + 949200 0.0049509486 0.0026853832 0.0051221783 + 949300 0.0061060287 0.0030100737 0.0060153848 + 949400 0.006130108 0.0030469915 0.006064154 + 949500 0.0064528392 0.0026823296 0.0058583364 + 949600 0.0055512213 0.0026618394 0.0053940811 + 949700 0.0061097374 0.0021954619 0.0052025983 + 949800 0.0051574025 0.0021203296 0.0046587387 + 949900 0.0032987063 0.0025513791 0.0041749611 + 950000 0.0052287899 0.0019912283 0.0045647733 + 950100 0.0049102761 0.0016561234 0.0040728999 + 950200 0.0052563362 0.0016456956 0.0042327985 + 950300 0.0039102131 0.0019581877 0.0038827457 + 950400 0.0058400157 0.0023727343 0.0052471171 + 950500 0.0056835899 0.0027487682 0.0055461601 + 950600 0.0056658571 0.002894755 0.005683419 + 950700 0.0055111602 0.0027801129 0.005492637 + 950800 0.0041420093 0.0028489361 0.0048875813 + 950900 0.0060755042 0.0028081964 0.0057984836 + 951000 0.0043120202 0.0031820963 0.0053044187 + 951100 0.0050844826 0.0029436207 0.0054461395 + 951200 0.0043623893 0.0024947531 0.0046418665 + 951300 0.0050892523 0.0026408234 0.0051456898 + 951400 0.0067653056 0.0029331053 0.0062629041 + 951500 0.0046851223 0.0033934423 0.005699401 + 951600 0.0036482855 0.0033728531 0.0051684937 + 951700 0.0053010362 0.0032247545 0.0058338583 + 951800 0.0048395167 0.0036315834 0.006013533 + 951900 0.0050960735 0.0038334192 0.0063416429 + 952000 0.0040192424 0.0031068683 0.0050850892 + 952100 0.0057657857 0.0027311967 0.0055690444 + 952200 0.004538001 0.002773444 0.0050069913 + 952300 0.0052673365 0.002912185 0.0055047022 + 952400 0.0064861336 0.003172013 0.0063644069 + 952500 0.0054791011 0.0029210535 0.0056177986 + 952600 0.0067987713 0.0028771526 0.0062234229 + 952700 0.005974488 0.0028515029 0.0057920713 + 952800 0.0068480767 0.0025188217 0.0058893594 + 952900 0.0047438999 0.002485112 0.0048200002 + 953000 0.0068326315 0.0028080094 0.0061709452 + 953100 0.0046717584 0.0028290936 0.0051284746 + 953200 0.0035479391 0.0028000619 0.0045463132 + 953300 0.0055773791 0.0030097582 0.0057548745 + 953400 0.0059363142 0.0032784386 0.0062002182 + 953500 0.0056272915 0.0034351563 0.0062048389 + 953600 0.0038299214 0.003025445 0.0049104845 + 953700 0.0072548661 0.0026030746 0.006173829 + 953800 0.0061603681 0.0028046327 0.0058366888 + 953900 0.0055464421 0.0024194409 0.0051493304 + 954000 0.00633578 0.0023126947 0.0054310864 + 954100 0.0048301483 0.0026652063 0.005042545 + 954200 0.0034047252 0.0024356395 0.0041114027 + 954300 0.0038129594 0.0022654954 0.0041421864 + 954400 0.0048720919 0.0026744576 0.0050724404 + 954500 0.0049893396 0.0027979152 0.0052536057 + 954600 0.0057412157 0.0025317718 0.0053575264 + 954700 0.0040208445 0.002203056 0.0041820654 + 954800 0.0054814906 0.0018720323 0.0045699535 + 954900 0.0047218583 0.0018126325 0.0041366721 + 955000 0.0055011696 0.0022302791 0.0049378861 + 955100 0.0052384633 0.0021141285 0.0046924346 + 955200 0.0046415544 0.0022851334 0.0045696484 + 955300 0.0052135274 0.002277011 0.0048430441 + 955400 0.0043963723 0.0025256492 0.0046894887 + 955500 0.003846713 0.0023362256 0.0042295297 + 955600 0.0039494673 0.002094189 0.0040380674 + 955700 0.0063899968 0.0015757988 0.0047208753 + 955800 0.0049743688 0.0017680817 0.0042164038 + 955900 0.0045021307 0.0019607462 0.0041766387 + 956000 0.0049385493 0.0024105161 0.0048412083 + 956100 0.0039500822 0.002189101 0.0041332822 + 956200 0.0060811596 0.0021681473 0.005161218 + 956300 0.005628396 0.0024544626 0.0052246887 + 956400 0.0047126221 0.0022090529 0.0045285466 + 956500 0.0055173012 0.0020619527 0.0047774994 + 956600 0.0052170098 0.0019516047 0.0045193517 + 956700 0.0058360698 0.002239956 0.0051123966 + 956800 0.0048090784 0.0025588454 0.0049258136 + 956900 0.003594931 0.0029422396 0.0047116196 + 957000 0.0055555335 0.0029132276 0.0056475917 + 957100 0.0069352122 0.0026443147 0.0060577395 + 957200 0.0039736857 0.0022018026 0.004157601 + 957300 0.0043944511 0.002212534 0.0043754279 + 957400 0.0055295107 0.0021741388 0.0048956948 + 957500 0.0039852773 0.0019940025 0.0039555062 + 957600 0.0047112142 0.0020116963 0.004330497 + 957700 0.0051884531 0.0020372776 0.0045909693 + 957800 0.0061859137 0.0025436691 0.0055882985 + 957900 0.0043003554 0.0026838986 0.0048004798 + 958000 0.0048632272 0.0026650965 0.0050587161 + 958100 0.0047237471 0.0027154956 0.0050404649 + 958200 0.004979077 0.0022163736 0.0046670131 + 958300 0.0045889307 0.0019513039 0.0042099183 + 958400 0.005790562 0.0025983195 0.0054483617 + 958500 0.0037456551 0.0026717825 0.0045153471 + 958600 0.0037374404 0.0020216229 0.0038611443 + 958700 0.0037323683 0.001969528 0.003806553 + 958800 0.0042273514 0.0014518741 0.0035325236 + 958900 0.0043098196 0.0017684281 0.0038896674 + 959000 0.0056458922 0.0022281857 0.0050070232 + 959100 0.0063724224 0.0025851078 0.0057215345 + 959200 0.0063686964 0.0022009826 0.0053355754 + 959300 0.0059344372 0.0023047435 0.0052255993 + 959400 0.0045083051 0.0025677903 0.0047867218 + 959500 0.0058597729 0.0026858088 0.0055699158 + 959600 0.0055782702 0.0022321446 0.0049776995 + 959700 0.0050130231 0.0022735076 0.0047408549 + 959800 0.0048238353 0.0018602921 0.0042345235 + 959900 0.00661553 0.0018380015 0.0050940827 + 960000 0.0033551664 0.0021628656 0.0038142365 + 960100 0.0041817224 0.0021001705 0.004158362 + 960200 0.004548918 0.0019667416 0.0042056622 + 960300 0.0035620969 0.0024447524 0.004197972 + 960400 0.0038908763 0.0026212194 0.0045362601 + 960500 0.005831879 0.0024468969 0.0053172749 + 960600 0.0048074682 0.0027166128 0.0050827886 + 960700 0.0039833739 0.0026169123 0.0045774791 + 960800 0.0060456346 0.0028528319 0.0058284177 + 960900 0.0051347215 0.0033753033 0.005902549 + 961000 0.0056692781 0.0038911803 0.0066815281 + 961100 0.0050415318 0.0036594519 0.0061408308 + 961200 0.0050833497 0.0034565846 0.0059585457 + 961300 0.0041820896 0.0039830906 0.0060414628 + 961400 0.0043978665 0.0037522314 0.0059168063 + 961500 0.0057236011 0.0033407056 0.0061577905 + 961600 0.0043905252 0.003477246 0.0056382076 + 961700 0.0053006981 0.0030882922 0.0056972296 + 961800 0.0048670496 0.0029627196 0.0053582206 + 961900 0.0053506268 0.002848965 0.0054824766 + 962000 0.0063577707 0.0028437102 0.0059729255 + 962100 0.0062930754 0.0023526109 0.0054499839 + 962200 0.0057442991 0.0021947195 0.0050219917 + 962300 0.0064988511 0.0021596896 0.0053583429 + 962400 0.0052910983 0.001943272 0.0045474844 + 962500 0.0047105574 0.0017216339 0.0040401114 + 962600 0.0037427834 0.0021001021 0.0039422533 + 962700 0.0039758232 0.0023889489 0.0043457994 + 962800 0.0056261432 0.0022548604 0.0050239778 + 962900 0.0045987811 0.0020505425 0.0043140051 + 963000 0.0049779223 0.0018664446 0.0043165158 + 963100 0.0070376887 0.0018459503 0.0053098127 + 963200 0.0046833922 0.0019341507 0.0042392578 + 963300 0.0042735983 0.0021516761 0.0042550878 + 963400 0.0048369848 0.002149957 0.0045306604 + 963500 0.0043767749 0.0022949989 0.0044491928 + 963600 0.0055391754 0.0023341139 0.0050604269 + 963700 0.0046213332 0.0024041639 0.0046787263 + 963800 0.0046922772 0.0023676483 0.0046771284 + 963900 0.004153204 0.0021342763 0.0041784314 + 964000 0.0052875685 0.0018726357 0.0044751109 + 964100 0.004326333 0.0024115831 0.0045409502 + 964200 0.0063897553 0.0021475366 0.0052924943 + 964300 0.0054193816 0.0023284356 0.0049957875 + 964400 0.0050141434 0.0024139679 0.0048818666 + 964500 0.0040371901 0.0024621087 0.0044491631 + 964600 0.0038907854 0.0026947947 0.0046097906 + 964700 0.0052096474 0.0022967198 0.0048608432 + 964800 0.0049516861 0.0022575097 0.0046946677 + 964900 0.0040273102 0.0022363905 0.0042185822 + 965000 0.0044173283 0.0022792882 0.004453442 + 965100 0.00446887 0.0022216162 0.0044211382 + 965200 0.0041350782 0.0021195251 0.0041547589 + 965300 0.003901114 0.0021926107 0.0041126902 + 965400 0.0043630964 0.0026161672 0.0047636288 + 965500 0.0045378054 0.0032256686 0.0054591197 + 965600 0.0048941154 0.0030283091 0.0054371316 + 965700 0.0057868016 0.002400504 0.0052486954 + 965800 0.0045999405 0.0020507299 0.0043147631 + 965900 0.004080903 0.0025946329 0.0046032023 + 966000 0.0049680952 0.0024024378 0.0048476721 + 966100 0.0045905785 0.0017780347 0.00403746 + 966200 0.0034919467 0.0018961322 0.0036148247 + 966300 0.0055175353 0.002354511 0.0050701729 + 966400 0.0050449491 0.0025615649 0.0050446258 + 966500 0.0046839905 0.0021873787 0.0044927802 + 966600 0.0051286088 0.0021902013 0.0047144385 + 966700 0.0050796817 0.0028715693 0.0053717252 + 966800 0.0050743594 0.0029199303 0.0054174666 + 966900 0.0044635829 0.0025349815 0.0047319012 + 967000 0.0057405875 0.0021280568 0.0049535022 + 967100 0.0059068058 0.0019397131 0.0048469691 + 967200 0.0050986118 0.0023787496 0.0048882226 + 967300 0.0049941624 0.0022780389 0.0047361032 + 967400 0.0050301198 0.0022006553 0.0046764174 + 967500 0.0054281152 0.001924989 0.0045966395 + 967600 0.0055042845 0.0018527671 0.0045619071 + 967700 0.0055172367 0.0019661198 0.0046816347 + 967800 0.0059922494 0.0022285445 0.0051778548 + 967900 0.0053927853 0.0025613281 0.0052155896 + 968000 0.0037833208 0.0022827109 0.0041448141 + 968100 0.0055354142 0.0017000515 0.0044245132 + 968200 0.0046079638 0.0016397629 0.003907745 + 968300 0.0038642814 0.0022635909 0.0041655419 + 968400 0.0042174773 0.0027002421 0.0047760317 + 968500 0.0052028175 0.0028617173 0.005422479 + 968600 0.0047564513 0.0022474225 0.0045884884 + 968700 0.0039876019 0.0019738994 0.0039365472 + 968800 0.0056931666 0.0015582885 0.004360394 + 968900 0.0047643391 0.0020793549 0.004424303 + 969000 0.0044013213 0.0025175534 0.0046838287 + 969100 0.0048710414 0.0023548657 0.0047523314 + 969200 0.0035362311 0.0022298021 0.0039702909 + 969300 0.0065761181 0.0018532983 0.0050899815 + 969400 0.0053707508 0.0019228919 0.0045663083 + 969500 0.0047368247 0.0018704082 0.0042018141 + 969600 0.0048424258 0.0019723359 0.0043557173 + 969700 0.0048179689 0.0022518534 0.0046231975 + 969800 0.0056799864 0.0023461999 0.0051418182 + 969900 0.0062692319 0.0023492566 0.0054348942 + 970000 0.0054003425 0.0023271783 0.0049851594 + 970100 0.0063574053 0.0021323502 0.0052613856 + 970200 0.006802899 0.0020025521 0.005350854 + 970300 0.005481144 0.0026123443 0.0053100949 + 970400 0.0054867563 0.0022515158 0.0049520286 + 970500 0.0044620897 0.0018256185 0.0040218032 + 970600 0.0045841586 0.0017761751 0.0040324406 + 970700 0.0062574056 0.0018913878 0.0049712046 + 970800 0.0059838128 0.0016933755 0.0046385333 + 970900 0.0040029713 0.0017244813 0.0036946937 + 971000 0.0049328482 0.0021135393 0.0045414256 + 971100 0.0049802933 0.0023659304 0.0048171685 + 971200 0.0062051729 0.0026184269 0.0056725354 + 971300 0.0053331524 0.0027364852 0.0053613962 + 971400 0.0053187381 0.0028213625 0.0054391789 + 971500 0.0076101929 0.0024044216 0.0061500634 + 971600 0.0046981401 0.0022373645 0.0045497303 + 971700 0.0054684068 0.0017801453 0.0044716268 + 971800 0.0051512731 0.0018126707 0.004348063 + 971900 0.0053899063 0.0021509283 0.0048037727 + 972000 0.0052533465 0.0020617765 0.004647408 + 972100 0.0066526227 0.0020485566 0.0053228943 + 972200 0.0038424674 0.0026390995 0.004530314 + 972300 0.0046064324 0.0023372425 0.004604471 + 972400 0.0065948082 0.0021606903 0.0054065725 + 972500 0.004671679 0.0021208545 0.0044201965 + 972600 0.0041464334 0.0014399456 0.0034807682 + 972700 0.0048389341 0.0013970871 0.00377875 + 972800 0.0033361919 0.0013416909 0.0029837228 + 972900 0.0033501478 0.0015178454 0.0031667463 + 973000 0.004177319 0.0018632652 0.0039192894 + 973100 0.0052238322 0.0023574145 0.0049285194 + 973200 0.0052669139 0.0024310562 0.0050233654 + 973300 0.0043109049 0.0027399221 0.0048616956 + 973400 0.0049375469 0.0029705252 0.0054007241 + 973500 0.0045090595 0.0032140553 0.0054333581 + 973600 0.0036012372 0.00308736 0.0048598439 + 973700 0.0040322096 0.0023760405 0.0043606437 + 973800 0.0049837362 0.0020923803 0.0045453129 + 973900 0.0044300996 0.0023680602 0.0045484999 + 974000 0.0047439065 0.0022864414 0.0046213329 + 974100 0.0050742384 0.0020707058 0.0045681825 + 974200 0.0059322879 0.001955475 0.0048752729 + 974300 0.0037757252 0.0022801636 0.0041385284 + 974400 0.0038964052 0.0023065004 0.0042242623 + 974500 0.003946768 0.0022297553 0.0041723051 + 974600 0.0052472066 0.0020914797 0.0046740892 + 974700 0.0057574955 0.0024939504 0.0053277177 + 974800 0.0049683854 0.0032573583 0.0057027355 + 974900 0.0067358965 0.0032466028 0.0065619269 + 975000 0.0064586613 0.0028270935 0.0060059658 + 975100 0.0059214927 0.0028585747 0.0057730594 + 975200 0.0048155941 0.0027797997 0.005149975 + 975300 0.0055549156 0.0027780836 0.0055121436 + 975400 0.005447297 0.0033663627 0.0060474542 + 975500 0.0052369267 0.0031887808 0.0057663307 + 975600 0.0068308524 0.0030508696 0.0064129298 + 975700 0.0045594562 0.003080082 0.0053241893 + 975800 0.0049653341 0.0029018929 0.0053457683 + 975900 0.0047907316 0.0028571501 0.0052150884 + 976000 0.005442417 0.0027703853 0.0054490749 + 976100 0.0041023992 0.002721175 0.0047403246 + 976200 0.0056522198 0.0023367878 0.0051187397 + 976300 0.0052686628 0.0023081854 0.0049013554 + 976400 0.0040245026 0.0027627095 0.0047435193 + 976500 0.0029703931 0.0024657537 0.003927744 + 976600 0.0038744042 0.0023823389 0.0042892722 + 976700 0.004844994 0.0022510183 0.0046356638 + 976800 0.0051016131 0.0022889363 0.0047998865 + 976900 0.0037197429 0.0029159468 0.0047467578 + 977000 0.0046342198 0.0027337466 0.0050146517 + 977100 0.0061343859 0.0020681056 0.0050873737 + 977200 0.0043998834 0.0019937729 0.0041593405 + 977300 0.0044019197 0.0017957091 0.0039622789 + 977400 0.0065277463 0.0018076326 0.0050205077 + 977500 0.0043562883 0.0028198862 0.0049639969 + 977600 0.006408156 0.0025534828 0.0057074971 + 977700 0.0063873189 0.0025028762 0.0056466347 + 977800 0.0054809089 0.0022845376 0.0049821725 + 977900 0.0042496299 0.0026889857 0.0047806004 + 978000 0.0042504347 0.0029497055 0.0050417163 + 978100 0.0059116672 0.0025654377 0.0054750864 + 978200 0.0063732707 0.0023437558 0.0054805999 + 978300 0.0049918714 0.0021510459 0.0046079826 + 978400 0.0055228477 0.0021307259 0.0048490025 + 978500 0.0047107809 0.0022562573 0.0045748447 + 978600 0.0039246428 0.0026199733 0.0045516335 + 978700 0.004827239 0.0024594011 0.0048353078 + 978800 0.0039717387 0.0022414028 0.0041962429 + 978900 0.005827548 0.0018829325 0.0047511788 + 979000 0.0048928117 0.002111431 0.0045196118 + 979100 0.0046299657 0.0020773071 0.0043561184 + 979200 0.0050679677 0.0021219768 0.0046163672 + 979300 0.0062981566 0.0018407598 0.0049406337 + 979400 0.003711235 0.0018396016 0.0036662251 + 979500 0.0051306059 0.0015330069 0.004058227 + 979600 0.0034966183 0.0014376514 0.0031586432 + 979700 0.0037980799 0.0012101149 0.0030794823 + 979800 0.0050584562 0.0016692327 0.0041589416 + 979900 0.0041092754 0.0018759758 0.0038985097 + 980000 0.0056234697 0.0018474672 0.0046152687 + 980100 0.0039990502 0.0016710327 0.0036393153 + 980200 0.0040111651 0.0018260053 0.0038002506 + 980300 0.0041605783 0.0020454007 0.0040931854 + 980400 0.0050844182 0.0023569629 0.00485945 + 980500 0.0058257257 0.0031162177 0.0059835671 + 980600 0.0041319049 0.0032641418 0.0052978137 + 980700 0.0067055918 0.0024877256 0.005788134 + 980800 0.0034249233 0.0027054452 0.0043911496 + 980900 0.0048446733 0.0028757806 0.0052602682 + 981000 0.0054802774 0.0024680185 0.0051653426 + 981100 0.0071551106 0.0024366666 0.0059583226 + 981200 0.0050907311 0.0026419647 0.0051475589 + 981300 0.0054428754 0.0024943223 0.0051732375 + 981400 0.0051276846 0.0023333708 0.0048571531 + 981500 0.0040197386 0.0025041816 0.0044826467 + 981600 0.0055899569 0.002924182 0.005675489 + 981700 0.0055991454 0.0027554171 0.0055112465 + 981800 0.005145761 0.0026502694 0.0051829486 + 981900 0.0061291229 0.0021750588 0.0051917365 + 982000 0.0035043802 0.0023668943 0.0040917064 + 982100 0.0046100402 0.0022972056 0.0045662098 + 982200 0.0049838512 0.0023734028 0.004826392 + 982300 0.0051026685 0.0023793118 0.0048907815 + 982400 0.0056825696 0.002574319 0.0053712088 + 982500 0.004897574 0.0028488026 0.0052593273 + 982600 0.0041026211 0.003227985 0.0052472439 + 982700 0.0042408094 0.0037344593 0.0058217327 + 982800 0.0047746582 0.0035613854 0.0059114125 + 982900 0.005268543 0.0028726144 0.0054657254 + 983000 0.0056785066 0.0029743286 0.0057692185 + 983100 0.0048849941 0.0028201132 0.0052244462 + 983200 0.0049311491 0.0027453406 0.0051723905 + 983300 0.0062676333 0.0023219668 0.0054068175 + 983400 0.0043930239 0.0023708038 0.0045329952 + 983500 0.0040724065 0.0019094296 0.0039138172 + 983600 0.0052150927 0.0024262577 0.0049930611 + 983700 0.0043433298 0.0026049554 0.004742688 + 983800 0.0050472052 0.0023722774 0.0048564487 + 983900 0.0043356683 0.0025840093 0.004717971 + 984000 0.0047622483 0.0026660006 0.0050099196 + 984100 0.0051684201 0.0024934895 0.0050373213 + 984200 0.0049709271 0.0024526566 0.0048992848 + 984300 0.0050391681 0.0027967948 0.0052770104 + 984400 0.0035256957 0.0029222764 0.0046575798 + 984500 0.0055981847 0.0027526784 0.0055080349 + 984600 0.0063161312 0.0027642814 0.0058730022 + 984700 0.0043520151 0.0029104482 0.0050524556 + 984800 0.0044681672 0.0031145431 0.0053137192 + 984900 0.0055034534 0.003055667 0.005764398 + 985000 0.0040358495 0.0033472978 0.0053336924 + 985100 0.0042397873 0.0030740969 0.0051608672 + 985200 0.0059205241 0.0032917994 0.0062058073 + 985300 0.0044841608 0.0033076654 0.0055147133 + 985400 0.0061132038 0.0033594401 0.0063682826 + 985500 0.0049492441 0.0032243699 0.005660326 + 985600 0.0049895883 0.0027963229 0.0052521359 + 985700 0.0050430015 0.0026648049 0.0051469072 + 985800 0.0063399199 0.0029352288 0.0060556581 + 985900 0.0058207205 0.0030297651 0.005894651 + 986000 0.0058527679 0.0030318393 0.0059124985 + 986100 0.0051390777 0.0029639791 0.005493369 + 986200 0.0049081039 0.0028562779 0.0052719853 + 986300 0.0063066229 0.0029136954 0.0060177363 + 986400 0.0074613207 0.0030321867 0.0067045555 + 986500 0.0047357109 0.0031939484 0.0055248061 + 986600 0.005585725 0.0029077879 0.0056570119 + 986700 0.0037630638 0.0031529826 0.0050051155 + 986800 0.0051417877 0.0029449946 0.0054757182 + 986900 0.0039352683 0.0027345012 0.0046713911 + 987000 0.0045042688 0.0027946598 0.0050116046 + 987100 0.0038858304 0.0025608629 0.00447342 + 987200 0.0052483828 0.0027178034 0.0053009919 + 987300 0.0037091999 0.0029005868 0.0047262086 + 987400 0.0070775587 0.0027798141 0.0062633 + 987500 0.0036270684 0.0028413445 0.0046265422 + 987600 0.0070489487 0.0024860097 0.0059554142 + 987700 0.0064193038 0.0024253988 0.0055848998 + 987800 0.0059584575 0.0027159338 0.0056486121 + 987900 0.0066438819 0.0026475906 0.0059176263 + 988000 0.006814268 0.0028980733 0.0062519708 + 988100 0.00736784 0.0028463305 0.0064726892 + 988200 0.0064268041 0.0028229601 0.0059861527 + 988300 0.0044890371 0.0028819666 0.0050914145 + 988400 0.0051428621 0.0028251015 0.0053563539 + 988500 0.0048952845 0.0028904207 0.0052998185 + 988600 0.0062151623 0.0023979318 0.005456957 + 988700 0.0075431601 0.0024812106 0.0061938597 + 988800 0.0052180115 0.0028687568 0.0054369968 + 988900 0.0067502349 0.002768468 0.0060908493 + 989000 0.0044121348 0.0028805115 0.0050521091 + 989100 0.0056502832 0.0028877942 0.005668793 + 989200 0.0056851794 0.0030672771 0.0058654513 + 989300 0.0064623776 0.002497555 0.0056782565 + 989400 0.0054174613 0.0022052964 0.0048717031 + 989500 0.0049095694 0.002719427 0.0051358557 + 989600 0.0038369342 0.0030875314 0.0049760224 + 989700 0.0045635278 0.0024280134 0.0046741247 + 989800 0.0062862646 0.0021870487 0.0052810696 + 989900 0.00401205 0.0022977586 0.0042724394 + 990000 0.0031665848 0.0024655837 0.0040241372 + 990100 0.0052668534 0.0024501974 0.0050424768 + 990200 0.0060699897 0.0023492996 0.0053368726 + 990300 0.0029925171 0.0026476097 0.0041204893 + 990400 0.0057224906 0.0028046956 0.0056212339 + 990500 0.0042043651 0.0031280593 0.0051973952 + 990600 0.0084965764 0.0026677063 0.006849615 + 990700 0.0056795836 0.0026465389 0.005441959 + 990800 0.0036923655 0.0029536112 0.0047709474 + 990900 0.0063791612 0.0030311292 0.0061708726 + 991000 0.0060970035 0.003375455 0.0063763239 + 991100 0.0062167722 0.0038461082 0.0069059257 + 991200 0.0044292718 0.0034323775 0.0056124098 + 991300 0.0047065641 0.00275659 0.005073102 + 991400 0.0060395958 0.002512749 0.0054853626 + 991500 0.0043901857 0.0026613919 0.0048221865 + 991600 0.0064734678 0.0021112289 0.0052973888 + 991700 0.0048135391 0.0021462033 0.004515367 + 991800 0.0057814017 0.0021097485 0.0049552822 + 991900 0.0047353231 0.002448547 0.0047792139 + 992000 0.0050574842 0.0021558063 0.0046450368 + 992100 0.004169629 0.0026219544 0.0046741936 + 992200 0.0035276661 0.0025554912 0.0042917644 + 992300 0.0073098816 0.0024056232 0.0060034556 + 992400 0.0044377561 0.0026966481 0.0048808562 + 992500 0.0047866419 0.0024237171 0.0047796424 + 992600 0.0041714639 0.0020709134 0.0041240558 + 992700 0.0057420447 0.0020567557 0.0048829183 + 992800 0.0047033206 0.0021638155 0.0044787311 + 992900 0.0049631861 0.0022831604 0.0047259786 + 993000 0.0057616199 0.0022022786 0.0050380759 + 993100 0.0059562378 0.0020840039 0.0050155897 + 993200 0.0060702991 0.0027081922 0.0056959175 + 993300 0.0036361257 0.0027494034 0.004539059 + 993400 0.0049969436 0.002264335 0.0047237682 + 993500 0.0051335965 0.0023020636 0.0048287556 + 993600 0.0038654824 0.0025151362 0.0044176783 + 993700 0.005012708 0.0022132214 0.0046804136 + 993800 0.004830921 0.0021669247 0.0045446437 + 993900 0.0042947553 0.0022723071 0.004386132 + 994000 0.0038885273 0.0023597147 0.0042735992 + 994100 0.0043382391 0.0026960218 0.0048312488 + 994200 0.0054540426 0.002690482 0.0053748936 + 994300 0.0050225585 0.0031918265 0.0056638671 + 994400 0.0043957731 0.0036362587 0.0057998033 + 994500 0.0047650441 0.0031226028 0.0054678979 + 994600 0.0051718966 0.0029700689 0.0055156117 + 994700 0.0052283593 0.0030852112 0.0056585443 + 994800 0.0041281262 0.0025849569 0.004616769 + 994900 0.0048214973 0.0025351245 0.0049082052 + 995000 0.0051733148 0.0023247117 0.0048709526 + 995100 0.005381231 0.0023076779 0.0049562526 + 995200 0.0055969207 0.0024085952 0.0051633296 + 995300 0.0069872125 0.0024732653 0.005912284 + 995400 0.0047278147 0.0023683595 0.0046953308 + 995500 0.0043343907 0.0023087316 0.0044420645 + 995600 0.0050105492 0.0022640307 0.0047301604 + 995700 0.0048086353 0.0023118181 0.0046785683 + 995800 0.0057734406 0.0027848978 0.005626513 + 995900 0.0054350316 0.0032062019 0.0058812565 + 996000 0.006762978 0.0027828838 0.006111537 + 996100 0.0056581903 0.0024266921 0.0052115826 + 996200 0.0050327909 0.0024579443 0.0049350211 + 996300 0.0042900558 0.0023953088 0.0045068207 + 996400 0.0046179612 0.0022902873 0.00456319 + 996500 0.0042966088 0.0020184398 0.004133177 + 996600 0.0029415555 0.0022717449 0.0037195418 + 996700 0.0044938326 0.0026969407 0.004908749 + 996800 0.005332524 0.0029500719 0.0055746735 + 996900 0.0059137513 0.0026772403 0.0055879147 + 997000 0.0038451959 0.0024993702 0.0043919276 + 997100 0.0052280212 0.0021697932 0.0047429599 + 997200 0.0048236494 0.0019825895 0.0043567295 + 997300 0.0063693807 0.0016866843 0.0048216139 + 997400 0.0057516255 0.002200832 0.0050317102 + 997500 0.0052275762 0.0028131674 0.005386115 + 997600 0.0056947647 0.002527966 0.005330858 + 997700 0.0038868155 0.0020253583 0.0039384003 + 997800 0.0047661771 0.0019361416 0.0042819944 + 997900 0.004279239 0.0019607491 0.004066937 + 998000 0.0040054342 0.0023530402 0.0043244649 + 998100 0.0042578307 0.0020690333 0.0041646844 + 998200 0.0063386793 0.0018058566 0.0049256753 + 998300 0.004628371 0.0017507567 0.004028783 + 998400 0.004452663 0.0018707626 0.0040623077 + 998500 0.0055945285 0.0017229935 0.0044765505 + 998600 0.0059954179 0.0019074388 0.0048583085 + 998700 0.0064770993 0.0020988255 0.0052867728 + 998800 0.0046488737 0.0022786743 0.0045667919 + 998900 0.0046555006 0.0021402839 0.0044316631 + 999000 0.0039118975 0.0023083816 0.0042337686 + 999100 0.0042809737 0.002498269 0.0046053107 + 999200 0.0053057226 0.0022375668 0.0048489771 + 999300 0.0045480807 0.0018447362 0.0040832446 + 999400 0.0070898057 0.0017386224 0.0052281361 + 999500 0.0040411188 0.00186204 0.0038510281 + 999600 0.0044541418 0.0017033787 0.0038956516 + 999700 0.0043493845 0.0020669123 0.0042076249 + 999800 0.0047713221 0.0025011758 0.0048495609 + 999900 0.0041651359 0.0023462542 0.004396282 + 1000000 0.0069081526 0.0020962934 0.0054963997 + 1000100 0.0051494955 0.0025812336 0.0051157509 + 1000200 0.0052849049 0.0026391364 0.0052403005 + 1000300 0.0064458921 0.0021817095 0.005354297 + 1000400 0.0040600774 0.0025574907 0.0045558101 + 1000500 0.0067448827 0.0020642998 0.0053840467 + 1000600 0.0046874103 0.0025446958 0.0048517805 + 1000700 0.0059312974 0.0024016652 0.0053209757 + 1000800 0.0046239503 0.0024313838 0.0047072344 + 1000900 0.0065969442 0.0025403247 0.0057872581 + 1001000 0.0039460555 0.0032729377 0.0052151369 + 1001100 0.0051649452 0.0034639203 0.0060060418 + 1001200 0.0059948639 0.0027361193 0.0056867163 + 1001300 0.005589125 0.0023643931 0.0051152905 + 1001400 0.0054033947 0.0024136607 0.005073144 + 1001500 0.0045560667 0.0026468889 0.004889328 + 1001600 0.0053637132 0.0028193046 0.0054592572 + 1001700 0.0051950158 0.0028894148 0.0054463367 + 1001800 0.0054701025 0.0033857366 0.0060780526 + 1001900 0.0046832559 0.003369221 0.005674261 + 1002000 0.005591551 0.0029473319 0.0056994234 + 1002100 0.0055488314 0.0026581838 0.0053892493 + 1002200 0.0063829728 0.0025746735 0.0057162929 + 1002300 0.0045372232 0.0027650586 0.0049982232 + 1002400 0.0058766876 0.0024222294 0.0053146616 + 1002500 0.0062297892 0.0021997444 0.0052659688 + 1002600 0.0044219521 0.0023220662 0.0044984958 + 1002700 0.0048317369 0.0024521597 0.0048302802 + 1002800 0.0062759314 0.0024211933 0.0055101283 + 1002900 0.0045704509 0.0022813492 0.0045308681 + 1003000 0.005296777 0.002286375 0.0048933824 + 1003100 0.0048296657 0.0018562121 0.0042333132 + 1003200 0.0064911666 0.001719224 0.0049140951 + 1003300 0.0039611249 0.002488262 0.0044378782 + 1003400 0.0045439444 0.0024646716 0.0047011443 + 1003500 0.0063899805 0.0019758945 0.0051209631 + 1003600 0.0039458851 0.0024768536 0.0044189689 + 1003700 0.0047814458 0.0030287471 0.0053821149 + 1003800 0.0060532711 0.0025724101 0.0055517545 + 1003900 0.0046427043 0.0021163149 0.004401396 + 1004000 0.0044523385 0.0021242432 0.0043156285 + 1004100 0.0046728132 0.0025187357 0.004818636 + 1004200 0.0065121434 0.0020720806 0.0052772762 + 1004300 0.0049568828 0.0018419125 0.0042816283 + 1004400 0.0050255803 0.0019006513 0.004374179 + 1004500 0.0038698921 0.0023159722 0.0042206847 + 1004600 0.0052165789 0.0022477189 0.0048152538 + 1004700 0.006485187 0.0020144991 0.0052064271 + 1004800 0.0054101366 0.0023697468 0.0050325484 + 1004900 0.0057697645 0.0026540284 0.0054938344 + 1005000 0.0040673673 0.0026888362 0.0046907435 + 1005100 0.0040597796 0.0023138106 0.0043119834 + 1005200 0.004857991 0.0024143357 0.0048053781 + 1005300 0.0044355987 0.0026901017 0.0048732479 + 1005400 0.0047749209 0.0026978177 0.0050479741 + 1005500 0.0063127851 0.0024478435 0.0055549174 + 1005600 0.0053648273 0.0023177772 0.0049582781 + 1005700 0.0044077178 0.001963008 0.0041324316 + 1005800 0.0052208121 0.0019798199 0.0045494383 + 1005900 0.0047169283 0.0020366258 0.0043582389 + 1006000 0.0064128383 0.0023037002 0.0054600191 + 1006100 0.0047984398 0.0021997989 0.004561531 + 1006200 0.0026655526 0.0022747815 0.0035867332 + 1006300 0.0066804415 0.001950608 0.0052386378 + 1006400 0.0058666955 0.0022863746 0.0051738887 + 1006500 0.004341811 0.002802581 0.0049395661 + 1006600 0.0041500243 0.0022632247 0.0043058147 + 1006700 0.005564904 0.0017322046 0.0044711808 + 1006800 0.0061869363 0.002003197 0.0050483297 + 1006900 0.0057017997 0.0021739543 0.0049803088 + 1007000 0.0034295544 0.0020343903 0.0037223741 + 1007100 0.0052637291 0.0021950729 0.0047858146 + 1007200 0.0047670014 0.0020535682 0.0043998266 + 1007300 0.0061460962 0.0022640794 0.0052891111 + 1007400 0.0051443437 0.0024503951 0.0049823768 + 1007500 0.0052616412 0.0024460091 0.0050357231 + 1007600 0.0046056557 0.002512578 0.0047794242 + 1007700 0.0071738755 0.0028336923 0.0063645842 + 1007800 0.0045768988 0.0024023875 0.0046550799 + 1007900 0.0050379534 0.0025190649 0.0049986826 + 1008000 0.0045811388 0.0029909017 0.005245681 + 1008100 0.0053127926 0.0025362398 0.0051511299 + 1008200 0.0042476206 0.0019302334 0.0040208591 + 1008300 0.0042836578 0.0019643249 0.0040726877 + 1008400 0.0033078123 0.0020162 0.0036442639 + 1008500 0.0062581726 0.0018061396 0.0048863339 + 1008600 0.0056370018 0.0023369356 0.0051113974 + 1008700 0.0056008725 0.0026669715 0.0054236509 + 1008800 0.0061580174 0.0023190033 0.0053499025 + 1008900 0.0045182173 0.0023248534 0.0045486635 + 1009000 0.0044815277 0.00246036 0.0046661119 + 1009100 0.0044086697 0.0019869571 0.0041568492 + 1009200 0.0052124838 0.0016599991 0.0042255184 + 1009300 0.0045232995 0.0023272984 0.0045536099 + 1009400 0.0050554729 0.0028127386 0.0053009792 + 1009500 0.0052842845 0.0025544086 0.0051552674 + 1009600 0.0045430244 0.0020260733 0.0042620931 + 1009700 0.005673776 0.0017984997 0.0045910613 + 1009800 0.0047587198 0.0015946763 0.0039368587 + 1009900 0.0040468251 0.0023055816 0.0042973783 + 1010000 0.005953619 0.0023587392 0.0052890361 + 1010100 0.0047879444 0.0026004243 0.0049569907 + 1010200 0.0065295538 0.0026431761 0.0058569409 + 1010300 0.005202315 0.0027032003 0.0052637147 + 1010400 0.0050212202 0.0023330273 0.0048044091 + 1010500 0.0050953324 0.0020150587 0.0045229176 + 1010600 0.0081267095 0.001539418 0.0055392828 + 1010700 0.00680933 0.0020209849 0.005372452 + 1010800 0.0059075345 0.0026247777 0.0055323923 + 1010900 0.0052125808 0.0027692911 0.0053348582 + 1011000 0.0068125903 0.0026458177 0.0059988895 + 1011100 0.005222571 0.0027163641 0.0052868483 + 1011200 0.0046131848 0.0030474854 0.0053180373 + 1011300 0.0056980831 0.0027832973 0.0055878226 + 1011400 0.0065363949 0.0025730008 0.0057901327 + 1011500 0.0052295321 0.0026094625 0.0051833728 + 1011600 0.005921081 0.0023032517 0.0052175337 + 1011700 0.0060874443 0.0020557481 0.0050519121 + 1011800 0.0065647908 0.0019218252 0.0051529331 + 1011900 0.0044574656 0.0023039189 0.0044978277 + 1012000 0.0056732516 0.002531751 0.0053240545 + 1012100 0.004911974 0.0022824955 0.0047001077 + 1012200 0.0050623369 0.0022418214 0.0047334403 + 1012300 0.0056473859 0.0023284362 0.0051080089 + 1012400 0.0065199063 0.0026167188 0.0058257352 + 1012500 0.0067617591 0.0025897903 0.0059178436 + 1012600 0.0050166194 0.0027880521 0.0052571694 + 1012700 0.0051878668 0.0025888901 0.0051422933 + 1012800 0.0051247679 0.0024156259 0.0049379726 + 1012900 0.0043340812 0.0027058371 0.0048390177 + 1013000 0.0051925601 0.0025897156 0.0051454288 + 1013100 0.0050816638 0.0020046097 0.0045057411 + 1013200 0.0049041631 0.0023956177 0.0048093855 + 1013300 0.0046185897 0.0026373177 0.0049105299 + 1013400 0.0065998507 0.0027374673 0.0059858313 + 1013500 0.0046498613 0.002877889 0.0051664927 + 1013600 0.0060784109 0.0023986205 0.0053903384 + 1013700 0.0064002554 0.0021889873 0.005339113 + 1013800 0.0043190584 0.0021668113 0.0042925979 + 1013900 0.0052377602 0.0024537634 0.0050317234 + 1014000 0.0064173927 0.0027566654 0.0059152259 + 1014100 0.0048549162 0.0023208718 0.0047104009 + 1014200 0.0037728476 0.0019617069 0.0038186553 + 1014300 0.0051090202 0.0019169924 0.0044315883 + 1014400 0.0046196552 0.0018816177 0.0041553542 + 1014500 0.00595051 0.0019279088 0.0048566754 + 1014600 0.0036306792 0.0017710766 0.0035580516 + 1014700 0.0053091504 0.0017358422 0.0043489396 + 1014800 0.004345447 0.0020296398 0.0041684145 + 1014900 0.0045563368 0.0025822178 0.0048247898 + 1015000 0.003611884 0.002841104 0.0046188282 + 1015100 0.0038028411 0.0027268024 0.0045985133 + 1015200 0.0032081943 0.002317249 0.0038962821 + 1015300 0.0040465971 0.0023775971 0.0043692816 + 1015400 0.00451567 0.0031171535 0.0053397098 + 1015500 0.0053399043 0.0031654748 0.0057937089 + 1015600 0.0046358011 0.0030056696 0.005287353 + 1015700 0.0050276469 0.0030577765 0.0055323214 + 1015800 0.0058920318 0.0031986424 0.0060986268 + 1015900 0.0063234226 0.0032086769 0.0063209865 + 1016000 0.0049639203 0.002408469 0.0048516485 + 1016100 0.0047852464 0.0020007332 0.0043559717 + 1016200 0.0043388345 0.0021621199 0.00429764 + 1016300 0.0054150804 0.0025066122 0.005171847 + 1016400 0.0038740651 0.0028599956 0.004766762 + 1016500 0.0053839571 0.0028846604 0.0055345768 + 1016600 0.0058427705 0.0024472741 0.0053230127 + 1016700 0.0068216223 0.0020347046 0.0053922219 + 1016800 0.0044496072 0.0025442309 0.0047342719 + 1016900 0.0034045704 0.0028401787 0.0045158657 + 1017000 0.0064196865 0.0021223617 0.0052820512 + 1017100 0.0050527322 0.0020001091 0.0044870008 + 1017200 0.0071625261 0.0022567284 0.0057820342 + 1017300 0.0057238708 0.0021464675 0.0049636852 + 1017400 0.0046574643 0.0023252538 0.0046175995 + 1017500 0.0042315296 0.0029184885 0.0050011944 + 1017600 0.0065763345 0.0026343497 0.0058711394 + 1017700 0.0043564062 0.0025660203 0.004710189 + 1017800 0.0061495216 0.003179033 0.0062057507 + 1017900 0.0053161625 0.0030382399 0.0056547886 + 1018000 0.005275079 0.0026615858 0.0052579138 + 1018100 0.0055893332 0.0024091544 0.0051601544 + 1018200 0.0045190621 0.0021240911 0.004348317 + 1018300 0.0042745726 0.0018917078 0.003995599 + 1018400 0.0033806443 0.002317108 0.0039810188 + 1018500 0.0053082998 0.002771873 0.0053845518 + 1018600 0.0057922195 0.0032101345 0.0060609926 + 1018700 0.0043773985 0.0033875564 0.0055420572 + 1018800 0.0056141785 0.0033283391 0.0060915676 + 1018900 0.0053861997 0.0026372475 0.0052882676 + 1019000 0.0041953238 0.0022800879 0.0043449738 + 1019100 0.0051250461 0.0022464353 0.0047689189 + 1019200 0.0050133577 0.0018721845 0.0043396965 + 1019300 0.0039904792 0.0018056177 0.0037696817 + 1019400 0.0044001996 0.0017214879 0.0038872111 + 1019500 0.0046730866 0.0018031314 0.0041031662 + 1019600 0.004091931 0.0020998886 0.0041138859 + 1019700 0.0045541016 0.0019312803 0.0041727522 + 1019800 0.0062520415 0.0021346335 0.0052118102 + 1019900 0.0041786442 0.003027595 0.0050842715 + 1020000 0.0042152554 0.002899557 0.004974253 + 1020100 0.0052615379 0.0028771418 0.005466805 + 1020200 0.0043527949 0.0028524105 0.0049948017 + 1020300 0.0046606154 0.0021806217 0.0044745183 + 1020400 0.004509421 0.0023735922 0.0045930728 + 1020500 0.0053905962 0.0021853522 0.0048385363 + 1020600 0.0040105125 0.0023345907 0.0043085148 + 1020700 0.0054631617 0.0022365656 0.0049254655 + 1020800 0.005373147 0.0025796584 0.0052242541 + 1020900 0.0034483927 0.0026447199 0.0043419757 + 1021000 0.0052299609 0.0026582772 0.0052323985 + 1021100 0.0054199012 0.0025363521 0.0052039597 + 1021200 0.0056811939 0.0023159916 0.0051122042 + 1021300 0.0072381191 0.0023251855 0.0058876972 + 1021400 0.0059544355 0.0030086748 0.0059393735 + 1021500 0.0060250021 0.0030706907 0.0060361214 + 1021600 0.0059738895 0.0026691374 0.0056094111 + 1021700 0.0050589416 0.0024112139 0.0049011617 + 1021800 0.0056891396 0.0022662419 0.0050663653 + 1021900 0.0047264291 0.0021260782 0.0044523675 + 1022000 0.0035780794 0.0020737877 0.0038348736 + 1022100 0.0050346015 0.0022228122 0.0047007802 + 1022200 0.0056637807 0.002668009 0.0054556511 + 1022300 0.005904378 0.0033110409 0.0062171019 + 1022400 0.0046914986 0.0032533003 0.0055623973 + 1022500 0.0053424309 0.0027284783 0.005357956 + 1022600 0.0051401498 0.0029468718 0.0054767892 + 1022700 0.0047892095 0.0031295435 0.0054867326 + 1022800 0.0043246395 0.002896219 0.0050247526 + 1022900 0.0042561235 0.0025882603 0.004683071 + 1023000 0.0048072995 0.0022677683 0.004633861 + 1023100 0.004839833 0.0025966102 0.0049787155 + 1023200 0.0032786493 0.0030363188 0.0046500291 + 1023300 0.0043315014 0.0029460343 0.0050779452 + 1023400 0.0052796031 0.0027550706 0.0053536253 + 1023500 0.0071848958 0.0030776823 0.0066139982 + 1023600 0.0064796615 0.0031133426 0.006302551 + 1023700 0.0055986917 0.0028873636 0.0056429697 + 1023800 0.0050849115 0.0028117141 0.0053144439 + 1023900 0.0047510433 0.0021873848 0.0045257889 + 1024000 0.0043157278 0.0020483858 0.004172533 + 1024100 0.0058249918 0.0021419052 0.0050088933 + 1024200 0.0054405727 0.0026150491 0.005292831 + 1024300 0.0060184726 0.0027077361 0.0056699531 + 1024400 0.0067669425 0.0026466595 0.005977264 + 1024500 0.0051101713 0.002561036 0.0050761984 + 1024600 0.0081017218 0.0020422552 0.0060298214 + 1024700 0.0057074749 0.0020187446 0.0048278924 + 1024800 0.0053143114 0.0025314144 0.0051470521 + 1024900 0.0043985987 0.0025731411 0.0047380764 + 1025000 0.0045223564 0.0024691567 0.004695004 + 1025100 0.0052202765 0.0023498442 0.0049191991 + 1025200 0.0049443189 0.0023510773 0.0047846093 + 1025300 0.0064663168 0.0019071369 0.0050897772 + 1025400 0.0047473286 0.001767191 0.0041037668 + 1025500 0.0054436208 0.0017209956 0.0044002777 + 1025600 0.0059363047 0.0017505847 0.0046723597 + 1025700 0.0038316662 0.0024498057 0.0043357039 + 1025800 0.0049491143 0.0028339978 0.00526989 + 1025900 0.0045190251 0.0023474646 0.0045716723 + 1026000 0.0043414686 0.0021050676 0.0042418842 + 1026100 0.0045586535 0.00221666 0.0044603723 + 1026200 0.0040173671 0.0023186665 0.0042959644 + 1026300 0.003670485 0.0022467572 0.0040533241 + 1026400 0.0051506827 0.0022928352 0.0048279369 + 1026500 0.0038804405 0.0022245955 0.0041344998 + 1026600 0.0053735593 0.0020235758 0.0046683745 + 1026700 0.0048322792 0.0014182042 0.0037965917 + 1026800 0.0052172623 0.0013866048 0.0039544761 + 1026900 0.0055616497 0.0018480663 0.0045854408 + 1027000 0.0044809551 0.0022905244 0.0044959945 + 1027100 0.0045581738 0.0023136766 0.0045571527 + 1027200 0.0050840198 0.001963923 0.004466214 + 1027300 0.0047624908 0.0018556331 0.0041996715 + 1027400 0.0066540731 0.0021984102 0.0054734618 + 1027500 0.0048924779 0.0022700187 0.0046780352 + 1027600 0.0036506264 0.0024084557 0.0042052484 + 1027700 0.0037740887 0.0021637889 0.0040213482 + 1027800 0.0048016359 0.0020022 0.0043655052 + 1027900 0.0044702053 0.0020654942 0.0042656734 + 1028000 0.0056374544 0.0020610393 0.0048357239 + 1028100 0.0060393584 0.0019742205 0.0049467172 + 1028200 0.0051933913 0.0023865824 0.0049427047 + 1028300 0.0054475384 0.0023787155 0.0050599258 + 1028400 0.0063837281 0.0020018412 0.0051438324 + 1028500 0.0040431458 0.0020369798 0.0040269656 + 1028600 0.0058267683 0.0019689878 0.0048368504 + 1028700 0.0066254415 0.0021136548 0.0053746143 + 1028800 0.0041376031 0.0022973977 0.0043338742 + 1028900 0.0052273241 0.002290996 0.0048638196 + 1029000 0.0048571078 0.0022147525 0.0046053603 + 1029100 0.0043989049 0.0025776517 0.0047427377 + 1029200 0.0046828904 0.0022950643 0.0045999244 + 1029300 0.0052052741 0.0018724979 0.0044344687 + 1029400 0.005394831 0.0017704023 0.0044256707 + 1029500 0.0037778725 0.0018927733 0.0037521949 + 1029600 0.0044926168 0.0019485516 0.0041597614 + 1029700 0.0035867927 0.0026707846 0.0044361591 + 1029800 0.0038064391 0.0033154554 0.0051889372 + 1029900 0.0047124004 0.002955111 0.0052744956 + 1030000 0.0063006324 0.0027724387 0.0058735311 + 1030100 0.005961229 0.00286997 0.0058040124 + 1030200 0.0043984334 0.0023823694 0.0045472234 + 1030300 0.003042998 0.0023227516 0.0038204771 + 1030400 0.0052620945 0.002197186 0.0047871232 + 1030500 0.0065037344 0.0018782556 0.0050793124 + 1030600 0.0051006447 0.0020068367 0.0045173103 + 1030700 0.0062066155 0.0025056412 0.0055604598 + 1030800 0.0055777996 0.0026663239 0.0054116471 + 1030900 0.0050159505 0.0024672351 0.0049360232 + 1031000 0.006631355 0.0023181787 0.0055820488 + 1031100 0.0058931173 0.0020466332 0.0049471519 + 1031200 0.0054780309 0.0021368423 0.0048330607 + 1031300 0.0033485512 0.0022124228 0.0038605379 + 1031400 0.0044909938 0.0017948023 0.0040052133 + 1031500 0.0043346628 0.0020297085 0.0041631753 + 1031600 0.0041056404 0.0019618614 0.0039826063 + 1031700 0.0057823322 0.0017305672 0.0045765589 + 1031800 0.0045001073 0.0018680982 0.0040829947 + 1031900 0.0041993773 0.0020754387 0.0041423197 + 1032000 0.0059501713 0.00278744 0.0057160399 + 1032100 0.0041868598 0.0033105136 0.0053712336 + 1032200 0.0056571674 0.0030131374 0.0057975245 + 1032300 0.0040200357 0.0024920976 0.0044707089 + 1032400 0.0045950838 0.002714266 0.0049759088 + 1032500 0.0058486047 0.0022159467 0.0050945569 + 1032600 0.0050381192 0.002368764 0.0048484633 + 1032700 0.0062373117 0.0022401018 0.0053100286 + 1032800 0.0083208585 0.0025119917 0.0066074143 + 1032900 0.0046853974 0.0027068607 0.0050129548 + 1033000 0.0057120289 0.0019943702 0.0048057594 + 1033100 0.0046222202 0.0020954505 0.0043704495 + 1033200 0.0047225671 0.0025848757 0.0049092642 + 1033300 0.0041544827 0.0024116275 0.004456412 + 1033400 0.0046626961 0.0020986235 0.0043935442 + 1033500 0.006102413 0.002276343 0.0052798744 + 1033600 0.0037912952 0.0027764324 0.0046424605 + 1033700 0.0040021818 0.0025559094 0.0045257333 + 1033800 0.0069202081 0.002408968 0.005815008 + 1033900 0.0056278757 0.0027291526 0.0054991227 + 1034000 0.0040659207 0.002980724 0.0049819193 + 1034100 0.005373725 0.0029034493 0.0055483296 + 1034200 0.005428904 0.0030485242 0.0057205629 + 1034300 0.0067244988 0.0024180015 0.0057277158 + 1034400 0.005465408 0.0021037621 0.0047937676 + 1034500 0.0050338923 0.0025129772 0.0049905961 + 1034600 0.0041388307 0.0030079548 0.0050450356 + 1034700 0.0047953138 0.0023807 0.0047408935 + 1034800 0.0039920369 0.0018694469 0.0038342775 + 1034900 0.0045857592 0.0014423714 0.0036994248 + 1035000 0.0047648616 0.0014394467 0.003784652 + 1035100 0.0038252093 0.0018775773 0.0037602974 + 1035200 0.0043855909 0.0021910738 0.0043496069 + 1035300 0.0058071527 0.0022340779 0.0050922859 + 1035400 0.0052509529 0.0025991782 0.0051836316 + 1035500 0.0057517417 0.0026273926 0.005458328 + 1035600 0.0046691429 0.0028242283 0.0051223221 + 1035700 0.0054653574 0.0026596127 0.0053495933 + 1035800 0.005732819 0.0027804829 0.0056021048 + 1035900 0.0049379175 0.0023998764 0.0048302577 + 1036000 0.0054859681 0.0025014985 0.0052016235 + 1036100 0.0056793226 0.0029080149 0.0057033065 + 1036200 0.0065481479 0.0026296507 0.0058525672 + 1036300 0.0051182245 0.0023603519 0.004879478 + 1036400 0.0064249003 0.0021221336 0.0052843892 + 1036500 0.0042645954 0.0024160752 0.0045150557 + 1036600 0.0045868057 0.0028951698 0.0051527383 + 1036700 0.0060927495 0.0027600601 0.0057588352 + 1036800 0.0049341583 0.0028037611 0.0052322922 + 1036900 0.0040140909 0.0030605631 0.0050362485 + 1037000 0.0043512813 0.0024932595 0.0046349057 + 1037100 0.0050273977 0.0020303693 0.0045047916 + 1037200 0.0029866832 0.0021146815 0.0035846897 + 1037300 0.0057217574 0.002246274 0.0050624514 + 1037400 0.0044323762 0.0024294542 0.0046110144 + 1037500 0.0038371926 0.002157604 0.0040462223 + 1037600 0.005464037 0.0017895905 0.0044789212 + 1037700 0.0039938984 0.0022472954 0.0042130423 + 1037800 0.005097935 0.0026879189 0.0051970588 + 1037900 0.0041331925 0.0026330274 0.0046673331 + 1038000 0.0033252611 0.0029466503 0.0045833023 + 1038100 0.0054785563 0.0030588649 0.0057553418 + 1038200 0.0053424201 0.0032098628 0.0058393352 + 1038300 0.0055235645 0.0025868315 0.0053054609 + 1038400 0.0056084206 0.0023028664 0.0050632609 + 1038500 0.0050902583 0.0019114659 0.0044168274 + 1038600 0.0040383589 0.0017290724 0.0037167021 + 1038700 0.00488052 0.0021875468 0.0045896778 + 1038800 0.0053080857 0.0028163553 0.0054289287 + 1038900 0.0057428064 0.002639329 0.0054658665 + 1039000 0.0049349618 0.0026121307 0.0050410572 + 1039100 0.0053523235 0.0026849777 0.0053193244 + 1039200 0.0047634116 0.0025755885 0.0049200802 + 1039300 0.005176473 0.0023768188 0.0049246141 + 1039400 0.0035636875 0.0024595735 0.0042135759 + 1039500 0.0052821912 0.0024711159 0.0050709443 + 1039600 0.0060125231 0.0022200131 0.0051793019 + 1039700 0.0048373358 0.0024831547 0.0048640309 + 1039800 0.0043262322 0.0027346177 0.0048639351 + 1039900 0.0044853832 0.0027471346 0.0049547841 + 1040000 0.004437379 0.0030803048 0.0052643273 + 1040100 0.0053302928 0.0033029735 0.005926477 + 1040200 0.0059216789 0.0033187059 0.0062332822 + 1040300 0.0057513889 0.0029577083 0.0057884701 + 1040400 0.0039270103 0.0030342981 0.0049671235 + 1040500 0.0043266993 0.003054063 0.0051836104 + 1040600 0.0034553986 0.0030924659 0.0047931699 + 1040700 0.0043640886 0.0027323146 0.0048802644 + 1040800 0.0040103892 0.002455651 0.0044295144 + 1040900 0.0055995724 0.0028733694 0.0056294089 + 1041000 0.0062393276 0.0030181983 0.0060891173 + 1041100 0.0055209016 0.0028785466 0.0055958653 + 1041200 0.0044961759 0.0022862077 0.0044991693 + 1041300 0.0047127296 0.0022941411 0.0046136877 + 1041400 0.0052946171 0.0023019229 0.0049078672 + 1041500 0.0070027889 0.002158894 0.0056055792 + 1041600 0.0060209486 0.0022994036 0.0052628392 + 1041700 0.0052175226 0.0021743767 0.0047423761 + 1041800 0.0057037399 0.0020731587 0.0048804682 + 1041900 0.0052663404 0.0020942794 0.0046863063 + 1042000 0.0058884592 0.0020764351 0.0049746611 + 1042100 0.0045236523 0.002599633 0.0048261181 + 1042200 0.0050188104 0.0030943349 0.0055645306 + 1042300 0.0060447486 0.0030520076 0.0060271573 + 1042400 0.0059002652 0.0026142224 0.0055182591 + 1042500 0.0050665735 0.0026071774 0.0051008816 + 1042600 0.0069495367 0.0026629009 0.006083376 + 1042700 0.0066366405 0.0027230907 0.0059895622 + 1042800 0.0045563657 0.003072998 0.0053155842 + 1042900 0.0049390266 0.0027021479 0.005133075 + 1043000 0.0050095718 0.0022409002 0.0047065488 + 1043100 0.0043881111 0.0024278795 0.0045876529 + 1043200 0.0051245602 0.0026102171 0.0051324616 + 1043300 0.0030349539 0.0027556461 0.0042494125 + 1043400 0.0058646987 0.002698681 0.0055852124 + 1043500 0.0050114619 0.0034398161 0.005906395 + 1043600 0.0037417469 0.0032725893 0.0051142303 + 1043700 0.0048621977 0.0029200179 0.0053131308 + 1043800 0.0060019128 0.0023572155 0.005311282 + 1043900 0.0039454535 0.0020428714 0.0039847743 + 1044000 0.005792518 0.0022271144 0.0050781194 + 1044100 0.0034663335 0.0028677327 0.0045738187 + 1044200 0.0044947874 0.0029862066 0.0051984848 + 1044300 0.0055344696 0.0030926997 0.0058166964 + 1044400 0.0046476639 0.0030008259 0.005288348 + 1044500 0.0045070637 0.0031397002 0.0053580206 + 1044600 0.0042031506 0.0033023234 0.0053710617 + 1044700 0.0055880568 0.0030103629 0.0057607346 + 1044800 0.0060589107 0.0029568962 0.0059390163 + 1044900 0.0040350385 0.0027493668 0.0047353623 + 1045000 0.0051689227 0.0027817665 0.0053258456 + 1045100 0.0039638153 0.0027064855 0.0046574258 + 1045200 0.0042941679 0.0026709197 0.0047844555 + 1045300 0.0057933736 0.0030714997 0.0059229257 + 1045400 0.0049670699 0.0033394996 0.0057842293 + 1045500 0.0057506661 0.0030523226 0.0058827286 + 1045600 0.0044800963 0.0024874115 0.0046924589 + 1045700 0.0043911027 0.0020011725 0.0041624184 + 1045800 0.0054703546 0.0025449897 0.0052374299 + 1045900 0.0039789625 0.0029213592 0.0048797548 + 1046000 0.0048116312 0.0026265189 0.0049947436 + 1046100 0.003690807 0.002481961 0.0042985301 + 1046200 0.0044159839 0.0022634926 0.0044369847 + 1046300 0.0046988911 0.0022874475 0.004600183 + 1046400 0.0060967126 0.0023911164 0.0053918421 + 1046500 0.0050914658 0.0023944166 0.0049003724 + 1046600 0.0042645365 0.0022191308 0.0043180824 + 1046700 0.0053885235 0.0023761788 0.0050283427 + 1046800 0.0050232642 0.0022944247 0.0047668125 + 1046900 0.0040760489 0.0019654933 0.0039716737 + 1047000 0.0043259531 0.001923832 0.004053012 + 1047100 0.0042616108 0.0023049735 0.0044024851 + 1047200 0.0047092137 0.0018690607 0.0041868768 + 1047300 0.0050339467 0.0017590889 0.0042367345 + 1047400 0.0047354725 0.0018008274 0.0041315677 + 1047500 0.0046552736 0.0019035053 0.0041947728 + 1047600 0.0064874274 0.0019855473 0.0051785779 + 1047700 0.0061589411 0.0023615578 0.0053929116 + 1047800 0.0047252628 0.0027926979 0.0051184131 + 1047900 0.0056473207 0.0032674862 0.0060470269 + 1048000 0.005889803 0.0030799753 0.0059788627 + 1048100 0.0049962306 0.0026382659 0.0050973481 + 1048200 0.004371669 0.0032793435 0.0054310243 + 1048300 0.0049397374 0.0037750581 0.0062063351 + 1048400 0.0061742705 0.003956149 0.0069950477 + 1048500 0.0061954599 0.0037226807 0.0067720087 + 1048600 0.0053379414 0.0033741468 0.0060014148 + 1048700 0.0068198433 0.00330614 0.0066627817 + 1048800 0.0034515465 0.0031158584 0.0048146665 + 1048900 0.0053671951 0.0028931217 0.005534788 + 1049000 0.0047418309 0.0032362375 0.0055701074 + 1049100 0.0058015798 0.0025658331 0.0054212981 + 1049200 0.0045474566 0.0020463783 0.0042845796 + 1049300 0.0031701079 0.0020255072 0.0035857947 + 1049400 0.0048435245 0.0023464476 0.0047303698 + 1049500 0.0049905069 0.0021575179 0.004613783 + 1049600 0.0041217748 0.0024114365 0.0044401225 + 1049700 0.0051061024 0.0031825664 0.0056957262 + 1049800 0.0044141544 0.0031304689 0.0053030605 + 1049900 0.0059748787 0.003068241 0.0060090016 + 1050000 0.0036460677 0.0034713129 0.0052658619 + 1050100 0.0061152325 0.0027698093 0.0057796503 + 1050200 0.0056863823 0.0019958669 0.0047946332 + 1050300 0.0044931211 0.0020439664 0.0042554244 + 1050400 0.0046162555 0.0025375955 0.0048096587 + 1050500 0.0038783694 0.0028274892 0.0047363741 + 1050600 0.0038576631 0.002950878 0.0048495715 + 1050700 0.0058826952 0.002684179 0.0055795681 + 1050800 0.0060543413 0.0023402862 0.0053201573 + 1050900 0.0032092626 0.0032720798 0.0048516387 + 1051000 0.0029675449 0.0031736418 0.0046342303 + 1051100 0.0053991666 0.0029361669 0.0055935692 + 1051200 0.0057586188 0.0027292874 0.0055636076 + 1051300 0.0059911245 0.00219913 0.0051478866 + 1051400 0.0056521787 0.0023417702 0.0051237019 + 1051500 0.0042278241 0.0029116988 0.0049925809 + 1051600 0.0045667327 0.0032794007 0.0055270895 + 1051700 0.0061753198 0.0029328392 0.0059722544 + 1051800 0.0060865631 0.0026417056 0.0056374359 + 1051900 0.0065886702 0.0022436035 0.0054864646 + 1052000 0.0068998765 0.0022360041 0.005632037 + 1052100 0.0054575129 0.0027194826 0.0054056022 + 1052200 0.0066388111 0.0031767594 0.0064442993 + 1052300 0.0066815151 0.0034247701 0.0067133284 + 1052400 0.0050492848 0.0037775062 0.006262701 + 1052500 0.0059456213 0.0032124949 0.0061388554 + 1052600 0.0066651858 0.0020240372 0.0053045583 + 1052700 0.0051987385 0.0016935366 0.0042522907 + 1052800 0.0054082653 0.0020682107 0.0047300913 + 1052900 0.0040962823 0.0023108258 0.0043269647 + 1053000 0.0043368821 0.0025164544 0.0046510136 + 1053100 0.0048697749 0.0024965868 0.0048934291 + 1053200 0.0050910235 0.0024294693 0.0049352075 + 1053300 0.0063328796 0.0025382805 0.0056552447 + 1053400 0.0058222884 0.0024864121 0.0053520696 + 1053500 0.0064086725 0.0023189527 0.0054732212 + 1053600 0.0056934859 0.002302472 0.0051047346 + 1053700 0.0055600687 0.0024376302 0.0051742265 + 1053800 0.0053602311 0.0026715737 0.0053098125 + 1053900 0.0049323115 0.0025753306 0.0050029527 + 1054000 0.006210277 0.002557761 0.0056143817 + 1054100 0.0069599582 0.0021673502 0.0055929547 + 1054200 0.0063058595 0.0023814499 0.0054851151 + 1054300 0.0043588855 0.0025413633 0.0046867522 + 1054400 0.0047798874 0.00275675 0.0051093509 + 1054500 0.003659586 0.002959103 0.0047603054 + 1054600 0.0044710396 0.0026088075 0.0048093974 + 1054700 0.0046960233 0.0025090238 0.0048203478 + 1054800 0.0042012702 0.0023342283 0.004402041 + 1054900 0.0063533342 0.0020389246 0.0051659563 + 1055000 0.006392193 0.0020231563 0.0051693138 + 1055100 0.0054748166 0.002830059 0.0055246953 + 1055200 0.0058358474 0.0033165703 0.0061889015 + 1055300 0.0053274433 0.0032224003 0.0058445013 + 1055400 0.0065979633 0.0035141798 0.0067616148 + 1055500 0.0064623669 0.0039308979 0.0071115941 + 1055600 0.0055512593 0.0042461384 0.0069783989 + 1055700 0.0049583532 0.0038020497 0.0062424892 + 1055800 0.0072128574 0.0029503413 0.0065004195 + 1055900 0.0047856689 0.0026550806 0.005010527 + 1056000 0.0055148774 0.0027748167 0.0054891704 + 1056100 0.0045738917 0.0032541372 0.0055053496 + 1056200 0.0041706814 0.0030272735 0.0050800307 + 1056300 0.0056687829 0.0025603505 0.0053504546 + 1056400 0.0061284795 0.002449477 0.005465838 + 1056500 0.0049895195 0.0030696623 0.0055254414 + 1056600 0.0053089628 0.0045063382 0.0071193434 + 1056700 0.0042309382 0.0046079341 0.006690349 + 1056800 0.0047912939 0.0039257182 0.0062839332 + 1056900 0.0056192189 0.0037414312 0.0065071405 + 1057000 0.0061075426 0.0037755561 0.0067816123 + 1057100 0.0064421477 0.0039003539 0.0070710985 + 1057200 0.0065264112 0.0032084111 0.0064206291 + 1057300 0.0057359477 0.0034881754 0.0063113372 + 1057400 0.0064406754 0.0033703576 0.0065403775 + 1057500 0.0057535585 0.0026365689 0.0054683985 + 1057600 0.0034232377 0.0024947119 0.0041795867 + 1057700 0.0056247851 0.0019677195 0.0047361684 + 1057800 0.004254431 0.0018008337 0.0038948115 + 1057900 0.0035345777 0.0018859172 0.0036255922 + 1058000 0.0059812839 0.0015778999 0.0045218131 + 1058100 0.0057870477 0.0019388495 0.004787162 + 1058200 0.0050670341 0.0024604192 0.0049543501 + 1058300 0.004313258 0.002756867 0.0048797986 + 1058400 0.0061697226 0.00220817 0.0052448304 + 1058500 0.0053358463 0.0025666724 0.0051929093 + 1058600 0.005491179 0.002608373 0.0053110627 + 1058700 0.0052154664 0.0027703229 0.0053373102 + 1058800 0.0072194714 0.0030646463 0.0066179799 + 1058900 0.004550959 0.0033812324 0.0056211575 + 1059000 0.0049061962 0.003233533 0.0056483014 + 1059100 0.0042060286 0.0029096613 0.004979816 + 1059200 0.0042236659 0.0029561942 0.0050350298 + 1059300 0.0040009846 0.0024745533 0.0044437879 + 1059400 0.0063952158 0.0019758052 0.0051234505 + 1059500 0.0052196957 0.0021747977 0.0047438667 + 1059600 0.0054383945 0.0027298097 0.0054065195 + 1059700 0.0045859365 0.0028093564 0.0050664971 + 1059800 0.0055176766 0.0025771745 0.005292906 + 1059900 0.0056292365 0.0025716419 0.0053422817 + 1060000 0.0040126907 0.0027644989 0.0047394951 + 1060100 0.0059426976 0.0029319419 0.0058568634 + 1060200 0.0043334723 0.0031743624 0.0053072433 + 1060300 0.0054897429 0.0027670858 0.0054690686 + 1060400 0.0051299733 0.0022694991 0.0047944079 + 1060500 0.0056586471 0.0018471167 0.0046322321 + 1060600 0.0037155739 0.0015496331 0.0033783921 + 1060700 0.0056103468 0.0014365452 0.0041978877 + 1060800 0.0056839808 0.0020766006 0.0048741848 + 1060900 0.0046553524 0.0020955578 0.0043868641 + 1061000 0.0052868761 0.001716578 0.0043187123 + 1061100 0.0060898976 0.0016818852 0.0046792567 + 1061200 0.0053120306 0.0016705273 0.0042850424 + 1061300 0.0053549546 0.001565074 0.0042007157 + 1061400 0.0061281949 0.0015772183 0.0045934392 + 1061500 0.0040948292 0.001645915 0.0036613388 + 1061600 0.0053393289 0.0016396001 0.0042675511 + 1061700 0.0050309686 0.0019411305 0.0044173104 + 1061800 0.0037588973 0.0026587595 0.0045088418 + 1061900 0.004582652 0.002804854 0.0050603781 + 1062000 0.0070984461 0.0025331379 0.0060269044 + 1062100 0.0057518364 0.0023355077 0.0051664897 + 1062200 0.0044895378 0.0026551988 0.0048648932 + 1062300 0.0046208707 0.0026782401 0.0049525749 + 1062400 0.0040858275 0.0023599309 0.0043709242 + 1062500 0.0039419753 0.0022044975 0.0041446885 + 1062600 0.0043323455 0.0022161696 0.0043484959 + 1062700 0.0051570874 0.0020015138 0.0045397677 + 1062800 0.0057958685 0.0017352069 0.0045878609 + 1062900 0.0042763753 0.0021104423 0.0042152208 + 1063000 0.0052149453 0.002310091 0.0048768219 + 1063100 0.0060593303 0.0019882184 0.004970545 + 1063200 0.0055513122 0.0018660051 0.0045982916 + 1063300 0.0041249339 0.0019360779 0.0039663188 + 1063400 0.0038831049 0.0020012734 0.0039124891 + 1063500 0.0050009244 0.0020923654 0.0045537579 + 1063600 0.0045351476 0.0026829683 0.0049151112 + 1063700 0.0047605745 0.0024757163 0.0048188116 + 1063800 0.0057277958 0.0024716145 0.005290764 + 1063900 0.00357918 0.0026853306 0.0044469582 + 1064000 0.0076795858 0.0023398396 0.0061196357 + 1064100 0.0055342751 0.0026643974 0.0053882984 + 1064200 0.0060313589 0.0031405553 0.0061091147 + 1064300 0.0065885679 0.0029835287 0.0062263395 + 1064400 0.0057632722 0.0025721444 0.005408755 + 1064500 0.0051223115 0.0027184014 0.0052395391 + 1064600 0.0059152499 0.0025434626 0.0054548747 + 1064700 0.0040735594 0.0025798194 0.0045847744 + 1064800 0.0041294043 0.0028008187 0.0048332599 + 1064900 0.0050424386 0.0026398529 0.0051216781 + 1065000 0.0050091902 0.0022007599 0.0046662207 + 1065100 0.0065982896 0.0020528636 0.0053004592 + 1065200 0.006649544 0.0019493579 0.0052221803 + 1065300 0.0048615553 0.0019026907 0.0042954875 + 1065400 0.0037654878 0.0021771459 0.0040304719 + 1065500 0.0052552894 0.0019820075 0.0045685952 + 1065600 0.0049672013 0.0017233238 0.0041681182 + 1065700 0.0041472755 0.001760672 0.0038019092 + 1065800 0.0044470919 0.0018128844 0.0040016875 + 1065900 0.0047786432 0.0022630805 0.0046150689 + 1066000 0.0060715482 0.0025067599 0.0054951001 + 1066100 0.0061635634 0.0025781844 0.0056118133 + 1066200 0.0053115237 0.0026271061 0.0052413717 + 1066300 0.0053717478 0.0024786217 0.0051225288 + 1066400 0.0065723857 0.0029599581 0.0061948042 + 1066500 0.0047507252 0.0031028566 0.0054411042 + 1066600 0.0074728911 0.0027159893 0.0063940528 + 1066700 0.004773774 0.0028648581 0.00521445 + 1066800 0.0053395957 0.0024405457 0.005068628 + 1066900 0.005866971 0.002494611 0.0053822608 + 1067000 0.0048421061 0.0026677185 0.0050509426 + 1067100 0.0047621588 0.0028802797 0.0052241547 + 1067200 0.0066201856 0.0022334361 0.0054918087 + 1067300 0.0041436223 0.0018509037 0.0038903428 + 1067400 0.0057628416 0.0019117902 0.0047481888 + 1067500 0.0047134507 0.0023249914 0.0046448929 + 1067600 0.0070157422 0.00197306 0.0054261206 + 1067700 0.0052496312 0.0021844588 0.0047682617 + 1067800 0.0045053071 0.0027827298 0.0050001856 + 1067900 0.004174388 0.0027237383 0.0047783199 + 1068000 0.0055886214 0.0024828195 0.0052334691 + 1068100 0.005841186 0.0028029681 0.0056779268 + 1068200 0.0044017724 0.002924487 0.0050909843 + 1068300 0.0057393656 0.0027612081 0.0055860521 + 1068400 0.0042842752 0.0026320975 0.0047407642 + 1068500 0.0056961496 0.0024978604 0.0053014341 + 1068600 0.0056455238 0.0020388752 0.0048175315 + 1068700 0.0052070783 0.0022031318 0.0047659906 + 1068800 0.0063627747 0.0028170835 0.0059487617 + 1068900 0.004514986 0.0032811689 0.0055033886 + 1069000 0.0049010255 0.0027801098 0.0051923333 + 1069100 0.0045939044 0.0025181876 0.0047792499 + 1069200 0.004390983 0.0017327119 0.0038938988 + 1069300 0.0037511432 0.0015180858 0.0033643516 + 1069400 0.0038711375 0.0018722093 0.0037775348 + 1069500 0.0050676779 0.001938108 0.0044323557 + 1069600 0.0043755418 0.0024778803 0.0046314673 + 1069700 0.006115464 0.0023860154 0.0053959703 + 1069800 0.0066026473 0.0022180703 0.0054678108 + 1069900 0.0049044111 0.0023402862 0.0047541761 + 1070000 0.0036244935 0.0025998111 0.0043837415 + 1070100 0.0043996482 0.0019022076 0.0040676595 + 1070200 0.0057514005 0.0019072231 0.0047379905 + 1070300 0.0050155128 0.002200525 0.0046690977 + 1070400 0.0048824211 0.0022761776 0.0046792442 + 1070500 0.0037710931 0.0028136051 0.00466969 + 1070600 0.0036147151 0.0028883859 0.0046675034 + 1070700 0.0055097087 0.0025701362 0.005281946 + 1070800 0.007366155 0.0022683349 0.0058938643 + 1070900 0.0042009789 0.0028643037 0.004931973 + 1071000 0.0045466703 0.0029875217 0.005225336 + 1071100 0.0054696936 0.0026213159 0.0053134307 + 1071200 0.0060052949 0.0022301124 0.0051858435 + 1071300 0.0053750765 0.0021597839 0.0048053294 + 1071400 0.0032221373 0.0022637534 0.0038496492 + 1071500 0.0043095853 0.0022033629 0.0043244869 + 1071600 0.0050467839 0.0021010726 0.0045850366 + 1071700 0.0043208035 0.0025936202 0.0047202657 + 1071800 0.0052540225 0.0030932876 0.0056792518 + 1071900 0.0064476848 0.0027998983 0.0059733682 + 1072000 0.0058607397 0.0027023453 0.0055869281 + 1072100 0.0058482496 0.0020332934 0.0049117288 + 1072200 0.0058519682 0.0020830808 0.0049633464 + 1072300 0.0057541972 0.0027795029 0.0056116468 + 1072400 0.0052000938 0.0028729709 0.005432392 + 1072500 0.0048532649 0.0027870366 0.005175753 + 1072600 0.005776632 0.0026447414 0.0054879274 + 1072700 0.0054252316 0.0025056931 0.0051759243 + 1072800 0.0062695443 0.0026674273 0.0057532187 + 1072900 0.0043475927 0.0024215995 0.0045614303 + 1073000 0.0042266052 0.0022283569 0.0043086391 + 1073100 0.0046162285 0.0022703413 0.0045423913 + 1073200 0.0046294715 0.0025142477 0.0047928157 + 1073300 0.0033966322 0.0026269133 0.0042986933 + 1073400 0.0064052188 0.0023934425 0.0055460112 + 1073500 0.0060203153 0.0026043912 0.0055675152 + 1073600 0.004719066 0.0030919927 0.005414658 + 1073700 0.0074794108 0.0026579508 0.0063392233 + 1073800 0.0068165206 0.002706163 0.0060611693 + 1073900 0.0045564188 0.0029257534 0.0051683658 + 1074000 0.0052822853 0.0034473729 0.0060472477 + 1074100 0.0038318879 0.0037577365 0.0056437438 + 1074200 0.0058850523 0.0034188257 0.0063153748 + 1074300 0.0050030393 0.0028437468 0.0053061802 + 1074400 0.0051725702 0.0022050832 0.0047509576 + 1074500 0.004841802 0.0023034264 0.0046865008 + 1074600 0.0044580393 0.0021370969 0.0043312881 + 1074700 0.0050403922 0.001780517 0.0042613351 + 1074800 0.0039254778 0.001806484 0.0037385551 + 1074900 0.0045695119 0.002014284 0.0042633406 + 1075000 0.0052673195 0.0024692315 0.0050617403 + 1075100 0.0042313269 0.0025792318 0.004661838 + 1075200 0.0055118661 0.0023316338 0.0050445054 + 1075300 0.0057189953 0.0025766208 0.0053914388 + 1075400 0.0036985005 0.0024082249 0.0042285806 + 1075500 0.0053209676 0.0024169922 0.005035906 + 1075600 0.0053020984 0.0026546878 0.0052643143 + 1075700 0.0046974494 0.0028792878 0.0051913137 + 1075800 0.0061760715 0.0030154041 0.0060551893 + 1075900 0.0052445354 0.0030932407 0.0056745354 + 1076000 0.0036857136 0.0025468615 0.0043609237 + 1076100 0.0054846777 0.0025652329 0.0052647227 + 1076200 0.0045802366 0.0028917112 0.0051460465 + 1076300 0.0047184285 0.0029389111 0.0052612627 + 1076400 0.0044655966 0.0030961292 0.00529404 + 1076500 0.0059289669 0.0030571803 0.0059753437 + 1076600 0.0064624467 0.0024033465 0.005584082 + 1076700 0.004387741 0.0020850858 0.004244677 + 1076800 0.0049461332 0.0021037503 0.0045381752 + 1076900 0.0044455142 0.0025253606 0.0047133871 + 1077000 0.0057261417 0.0029104177 0.005728753 + 1077100 0.0041892608 0.0031385046 0.0052004064 + 1077200 0.0045750366 0.0025823447 0.0048341205 + 1077300 0.0052304378 0.0024347093 0.0050090654 + 1077400 0.0048359497 0.0027841294 0.0051643233 + 1077500 0.0051900252 0.0032653728 0.0058198384 + 1077600 0.0048331423 0.0036155012 0.0059943134 + 1077700 0.0052589887 0.0035104136 0.0060988222 + 1077800 0.0054003997 0.0029817499 0.0056397592 + 1077900 0.00578198 0.0030208154 0.0058666336 + 1078000 0.0049427413 0.003602896 0.0060356515 + 1078100 0.0049502678 0.0035783781 0.0060148381 + 1078200 0.0049192747 0.0031954153 0.0056166208 + 1078300 0.0044424553 0.003561313 0.005747834 + 1078400 0.0048101978 0.0037896446 0.0061571638 + 1078500 0.0047609421 0.0034986031 0.0058418793 + 1078600 0.0046757811 0.0031997045 0.0055010655 + 1078700 0.0046495486 0.0030228882 0.0053113379 + 1078800 0.0048280262 0.0031776122 0.0055539064 + 1078900 0.0047690978 0.0032666028 0.0056138931 + 1079000 0.0046585043 0.0032013578 0.0054942154 + 1079100 0.0055452677 0.0031540874 0.0058833988 + 1079200 0.0062240997 0.0028355945 0.0058990185 + 1079300 0.0061222092 0.0029855291 0.0059988039 + 1079400 0.0048408835 0.0032107604 0.0055933827 + 1079500 0.0046238934 0.0028938558 0.0051696783 + 1079600 0.0070681444 0.0026490425 0.0061278948 + 1079700 0.0043256621 0.0032076955 0.0053367323 + 1079800 0.0061840187 0.0030542165 0.0060979132 + 1079900 0.0035235855 0.0030759134 0.0048101781 + 1080000 0.0040653203 0.0025929534 0.0045938532 + 1080100 0.0063693355 0.0022263148 0.0053612221 + 1080200 0.0048261047 0.002406281 0.0047816294 + 1080300 0.0057570943 0.002542893 0.0053764628 + 1080400 0.0067590039 0.0023637122 0.0056904094 + 1080500 0.0067346567 0.0023583301 0.005673044 + 1080600 0.0050233111 0.0023137969 0.0047862079 + 1080700 0.0035783958 0.0024553934 0.0042166351 + 1080800 0.0049882252 0.0025085116 0.0049636536 + 1080900 0.0055785807 0.0026168808 0.0053625885 + 1081000 0.0061853799 0.0027857389 0.0058301055 + 1081100 0.0065065598 0.002691254 0.0058937014 + 1081200 0.0046450132 0.0031120423 0.0053982598 + 1081300 0.0059068966 0.0028452056 0.0057525062 + 1081400 0.0058452637 0.0020962444 0.0049732101 + 1081500 0.0040851058 0.0020058129 0.0040164509 + 1081600 0.0046555945 0.0020368086 0.004328234 + 1081700 0.0041842364 0.0017678698 0.0038272987 + 1081800 0.0038214555 0.0016707911 0.0035516637 + 1081900 0.0060523789 0.0019014037 0.0048803089 + 1082000 0.0052227189 0.0024609679 0.0050315248 + 1082100 0.0060742062 0.0027669499 0.0057565983 + 1082200 0.0050696415 0.0033449617 0.0058401759 + 1082300 0.006828024 0.0025696723 0.0059303404 + 1082400 0.0057358634 0.0028981662 0.0057212864 + 1082500 0.0041852859 0.0031421766 0.005202122 + 1082600 0.0061914627 0.0029199973 0.0059673579 + 1082700 0.0062737743 0.0027457085 0.0058335818 + 1082800 0.0053012131 0.0024652256 0.0050744164 + 1082900 0.004454388 0.002508989 0.0047013831 + 1083000 0.0061231073 0.0024099527 0.0054236696 + 1083100 0.0038708456 0.0025421425 0.0044473244 + 1083200 0.005240578 0.0024543846 0.0050337316 + 1083300 0.0054296114 0.0024383084 0.0051106952 + 1083400 0.0071852183 0.0023249905 0.0058614652 + 1083500 0.0065204057 0.0022984878 0.0055077499 + 1083600 0.0041583091 0.0025105389 0.0045572066 + 1083700 0.0060062272 0.0022635761 0.005219766 + 1083800 0.0052791463 0.002501247 0.0050995769 + 1083900 0.0041701918 0.0029500561 0.0050025724 + 1084000 0.0069774098 0.0022117555 0.0056459493 + 1084100 0.0051981367 0.0016432927 0.0042017506 + 1084200 0.0034955542 0.0015223978 0.0032428659 + 1084300 0.0053507899 0.0020647973 0.0046983892 + 1084400 0.0051166858 0.0026951671 0.0052135359 + 1084500 0.004823597 0.0030029438 0.0053770579 + 1084600 0.004938037 0.0027900435 0.0052204836 + 1084700 0.0039981874 0.0026848518 0.0046527096 + 1084800 0.0050213885 0.0026899918 0.0051614565 + 1084900 0.0040706679 0.0027096805 0.0047132124 + 1085000 0.0051159481 0.0024818649 0.0049998706 + 1085100 0.0049087564 0.0027960061 0.0052120346 + 1085200 0.0050154735 0.0025423165 0.0050108698 + 1085300 0.0055909216 0.0023327391 0.0050845209 + 1085400 0.0038673268 0.0027566722 0.0046601221 + 1085500 0.0048876961 0.0027425427 0.0051482056 + 1085600 0.005449673 0.0021395541 0.004821815 + 1085700 0.0043152878 0.0018988622 0.0040227929 + 1085800 0.0065477569 0.0022316966 0.0054544207 + 1085900 0.0059218593 0.0034272297 0.0063418948 + 1086000 0.004828849 0.003172581 0.0055492801 + 1086100 0.0053369372 0.0021921553 0.0048189291 + 1086200 0.0050334788 0.0019398928 0.0044173081 + 1086300 0.0059141085 0.002334398 0.0052452482 + 1086400 0.0052784426 0.0023997769 0.0049977604 + 1086500 0.0064607796 0.0029721423 0.0061520573 + 1086600 0.0053644587 0.0029376332 0.0055779528 + 1086700 0.0066623286 0.002919432 0.0061985468 + 1086800 0.0038084122 0.0027073339 0.0045817868 + 1086900 0.0040804671 0.0025393404 0.0045476953 + 1087000 0.0038595577 0.0021702546 0.0040698807 + 1087100 0.0050207979 0.0021793002 0.0046504742 + 1087200 0.0046126151 0.0025643787 0.0048346502 + 1087300 0.0060035852 0.0027058036 0.0056606932 + 1087400 0.0044261941 0.003109418 0.0052879354 + 1087500 0.0048141176 0.0033787504 0.0057481989 + 1087600 0.0052779414 0.0029418973 0.0055396341 + 1087700 0.0036195879 0.0029262482 0.0047077641 + 1087800 0.004180247 0.0027759393 0.0048334046 + 1087900 0.0043625097 0.0027920923 0.004939265 + 1088000 0.0043745564 0.0030057364 0.0051588384 + 1088100 0.0033295615 0.0034892546 0.0051280231 + 1088200 0.0052028032 0.0032730449 0.0058337996 + 1088300 0.0052290525 0.0033817117 0.005955386 + 1088400 0.005123541 0.0030114041 0.005533147 + 1088500 0.0065177194 0.0023470256 0.0055549656 + 1088600 0.0054590785 0.00221387 0.0049007602 + 1088700 0.0051443304 0.0024938962 0.0050258713 + 1088800 0.0041590719 0.0027704328 0.004817476 + 1088900 0.0041239032 0.0028947435 0.0049244772 + 1089000 0.0063530118 0.0029244896 0.0060513626 + 1089100 0.004359733 0.0032489615 0.0053947676 + 1089200 0.0049166865 0.0035487045 0.0059686362 + 1089300 0.0060104603 0.0034910762 0.0064493497 + 1089400 0.0054945575 0.0030407135 0.0057450661 + 1089500 0.0057993887 0.0027509463 0.005605333 + 1089600 0.004620177 0.0028189206 0.005092914 + 1089700 0.0037092088 0.0028420626 0.0046676888 + 1089800 0.0043284144 0.0030437195 0.005174111 + 1089900 0.0056281012 0.0031449167 0.0059149978 + 1090000 0.0042124977 0.0032502663 0.005323605 + 1090100 0.0045506032 0.0028172726 0.0050570226 + 1090200 0.0053347953 0.002574581 0.0052003006 + 1090300 0.0043116512 0.0026126879 0.0047348287 + 1090400 0.0055920414 0.0024056565 0.0051579893 + 1090500 0.0044018555 0.0026230644 0.0047896026 + 1090600 0.005770624 0.0028425754 0.0056828044 + 1090700 0.0052082505 0.0032845389 0.0058479747 + 1090800 0.0058641799 0.0032711927 0.0061574688 + 1090900 0.0049626332 0.0029143158 0.0053568618 + 1091000 0.0065239534 0.0026128168 0.0058238251 + 1091100 0.0061425123 0.0030065233 0.006029791 + 1091200 0.0046643265 0.0033559212 0.0056516444 + 1091300 0.0059405598 0.0030735504 0.0059974197 + 1091400 0.0055261238 0.0026535724 0.0053734615 + 1091500 0.0053772605 0.0023296178 0.0049762382 + 1091600 0.0043481747 0.0023990736 0.0045391908 + 1091700 0.0042488852 0.0024249343 0.0045161825 + 1091800 0.0053273092 0.0024531886 0.0050752236 + 1091900 0.0038770329 0.002534241 0.0044424681 + 1092000 0.0053972015 0.0023192122 0.0049756473 + 1092100 0.0054179391 0.0027242549 0.0053908968 + 1092200 0.0052171407 0.0033752722 0.0059430836 + 1092300 0.0046485103 0.0035138794 0.0058018181 + 1092400 0.0063302805 0.003321107 0.0064367919 + 1092500 0.0053973039 0.0037079042 0.0063643897 + 1092600 0.0077126518 0.0030336152 0.006829686 + 1092700 0.0062439261 0.002613754 0.0056869364 + 1092800 0.0058687273 0.0028710929 0.0057596071 + 1092900 0.0069154545 0.0031533841 0.0065570843 + 1093000 0.0042310226 0.0029021803 0.0049846367 + 1093100 0.0059873554 0.0028782594 0.0058251609 + 1093200 0.0056089886 0.0030218662 0.0057825403 + 1093300 0.0050334535 0.0033306376 0.0058080405 + 1093400 0.0082327474 0.002656526 0.0067085814 + 1093500 0.0050960159 0.0026098689 0.0051180643 + 1093600 0.0064388129 0.0027739553 0.0059430585 + 1093700 0.0044725899 0.0029828382 0.005184191 + 1093800 0.0063083694 0.002605975 0.0057108756 + 1093900 0.0057683851 0.0024542958 0.0052934229 + 1094000 0.004222339 0.0025811201 0.0046593026 + 1094100 0.0055726724 0.0033440361 0.0060868358 + 1094200 0.0056866909 0.0036718478 0.0064707659 + 1094300 0.0054204759 0.0035276765 0.006195567 + 1094400 0.0055296174 0.0033436822 0.0060652908 + 1094500 0.0040030758 0.0031825821 0.005152846 + 1094600 0.0066659227 0.002647229 0.0059281128 + 1094700 0.005827733 0.002564425 0.0054327623 + 1094800 0.0056191491 0.0026486609 0.0054143358 + 1094900 0.0043307509 0.0032307565 0.005362298 + 1095000 0.0044171909 0.0027571699 0.004931256 + 1095100 0.0047728946 0.00280179 0.005150949 + 1095200 0.0062497328 0.0024003655 0.0054764058 + 1095300 0.0050437757 0.0025898814 0.0050723648 + 1095400 0.0036329235 0.0027482362 0.0045363158 + 1095500 0.005610335 0.0026220713 0.005383408 + 1095600 0.0055296798 0.0028694236 0.0055910629 + 1095700 0.005138995 0.0033289373 0.0058582864 + 1095800 0.0046301057 0.0032167767 0.0054956568 + 1095900 0.0046121916 0.003161965 0.0054320281 + 1096000 0.0054283467 0.0031809461 0.0058527105 + 1096100 0.0039459157 0.0032243972 0.0051665275 + 1096200 0.0043233236 0.0027103273 0.0048382132 + 1096300 0.0057331979 0.0025833607 0.0054051691 + 1096400 0.0046604104 0.0029756063 0.005269402 + 1096500 0.0062570315 0.0036096963 0.0066893289 + 1096600 0.0063306861 0.00379917 0.0069150546 + 1096700 0.0040155472 0.0033797392 0.0053561413 + 1096800 0.0048825688 0.002858169 0.0052613083 + 1096900 0.0049948954 0.0026693845 0.0051278095 + 1097000 0.0059394674 0.0027035402 0.0056268718 + 1097100 0.0069697487 0.0026357406 0.0060661638 + 1097200 0.0042927509 0.0030000695 0.0051129079 + 1097300 0.0049023496 0.0028316353 0.0052445105 + 1097400 0.0060011668 0.0029761349 0.0059298342 + 1097500 0.0053876896 0.0029114111 0.0055631646 + 1097600 0.0056382814 0.0026563798 0.0054314714 + 1097700 0.0070835505 0.0023953117 0.0058817468 + 1097800 0.0057231581 0.0023072287 0.0051240956 + 1097900 0.0053039709 0.0021798597 0.0047904078 + 1098000 0.004788489 0.0018576008 0.0042144353 + 1098100 0.0042013265 0.0018168772 0.0038847176 + 1098200 0.00446851 0.0019814854 0.0041808302 + 1098300 0.0047219557 0.0022366803 0.0045607679 + 1098400 0.004369189 0.0022386456 0.0043891058 + 1098500 0.0040052193 0.0018875362 0.0038588551 + 1098600 0.0047382816 0.002000718 0.004332841 + 1098700 0.005923213 0.0029066347 0.0058219661 + 1098800 0.0056778021 0.0035289047 0.0063234479 + 1098900 0.0070555044 0.002916203 0.0063888341 + 1099000 0.0072048016 0.0030789026 0.0066250159 + 1099100 0.0066365152 0.0029762179 0.0062426277 + 1099200 0.0047461465 0.0029145459 0.0052505398 + 1099300 0.0045724226 0.0029592078 0.0052096971 + 1099400 0.0068306551 0.0021730429 0.0055350059 + 1099500 0.0042358586 0.0019335274 0.0040183641 + 1099600 0.0035463419 0.00216291 0.0039083752 + 1099700 0.0038326747 0.0021533131 0.0040397077 + 1099800 0.005086479 0.0021102807 0.0046137821 + 1099900 0.0044673381 0.0022872039 0.0044859718 + 1100000 0.0058964972 0.0028215728 0.005723755 + 1100100 0.00498512 0.0029993638 0.0054529776 + 1100200 0.0055015243 0.0024816416 0.005189423 + 1100300 0.0073798308 0.0020600139 0.0056922744 + 1100400 0.0043084838 0.0027274697 0.0048480516 + 1100500 0.0048700778 0.0026323365 0.005029328 + 1100600 0.005626996 0.002607548 0.0053770851 + 1100700 0.0034720887 0.0030057222 0.0047146408 + 1100800 0.0051718192 0.0022842801 0.0048297848 + 1100900 0.0056709335 0.0019534868 0.0047446494 + 1101000 0.0064421999 0.0022116816 0.0053824519 + 1101100 0.0044019929 0.0027498418 0.0049164477 + 1101200 0.0052329331 0.0028275565 0.0054031408 + 1101300 0.0061940429 0.0027415691 0.0057901996 + 1101400 0.0059513597 0.0027084644 0.0056376493 + 1101500 0.0075495493 0.0024222086 0.0061380024 + 1101600 0.0054514444 0.0023420687 0.0050252015 + 1101700 0.0056783517 0.0027323685 0.0055271822 + 1101800 0.0055976512 0.0028914594 0.0056465533 + 1101900 0.0042131913 0.0030105743 0.0050842544 + 1102000 0.0061123043 0.0027505116 0.0057589114 + 1102100 0.0042087365 0.0034124381 0.0054839255 + 1102200 0.0069741817 0.0026569773 0.0060895823 + 1102300 0.0059008562 0.0021652996 0.0050696273 + 1102400 0.005976986 0.0025011958 0.0054429936 + 1102500 0.0066172381 0.0027330961 0.005990018 + 1102600 0.0056241259 0.0023671297 0.0051352542 + 1102700 0.0054706326 0.002208501 0.0049010779 + 1102800 0.0056374476 0.0024804578 0.005255139 + 1102900 0.0041726924 0.0021502968 0.0042040438 + 1103000 0.0055534963 0.0015586125 0.004291974 + 1103100 0.0050941586 0.0020368495 0.0045441307 + 1103200 0.0046570368 0.0020808634 0.0043729987 + 1103300 0.0043832222 0.002333621 0.0044909882 + 1103400 0.0044555119 0.0025516773 0.0047446246 + 1103500 0.0049642813 0.0026124683 0.0050558255 + 1103600 0.0060503425 0.0028957526 0.0058736556 + 1103700 0.0051577058 0.0026595735 0.0051981318 + 1103800 0.0058202784 0.0026558015 0.0055204698 + 1103900 0.0058956483 0.0029483244 0.0058500887 + 1104000 0.0049033871 0.0029546977 0.0053680835 + 1104100 0.0072433831 0.0023425188 0.0059076214 + 1104200 0.0056910615 0.0022520712 0.0050531405 + 1104300 0.005445554 0.0023419635 0.0050221971 + 1104400 0.0059358265 0.0022093135 0.0051308531 + 1104500 0.0046463945 0.0027605439 0.0050474412 + 1104600 0.0068434884 0.0028847 0.0062529794 + 1104700 0.0048378495 0.0035468761 0.0059280051 + 1104800 0.0059803738 0.0035000048 0.0064434701 + 1104900 0.0067999823 0.0033658437 0.00671271 + 1105000 0.0063224547 0.0025905511 0.0057023842 + 1105100 0.0045295977 0.0027842294 0.0050136408 + 1105200 0.0035810455 0.002994907 0.0047574528 + 1105300 0.0076634288 0.0025917826 0.0063636265 + 1105400 0.0056613079 0.0027424675 0.0055288925 + 1105500 0.0050584921 0.002753312 0.0052430386 + 1105600 0.0039391829 0.0026940899 0.0046329065 + 1105700 0.004129687 0.0029002116 0.0049327919 + 1105800 0.0043574441 0.0028368954 0.0049815749 + 1105900 0.0055898594 0.0030259142 0.0057771731 + 1106000 0.0046410503 0.0033293001 0.005613567 + 1106100 0.0052175084 0.0029800702 0.0055480627 + 1106200 0.0046835036 0.0022602746 0.0045654365 + 1106300 0.0050396388 0.0019345967 0.0044150439 + 1106400 0.004780182 0.0018998365 0.0042525823 + 1106500 0.0041076749 0.002232467 0.0042542133 + 1106600 0.0043883404 0.0025034246 0.0046633108 + 1106700 0.0055215868 0.0019190265 0.0046366825 + 1106800 0.0062645247 0.0019334817 0.0050168024 + 1106900 0.006776714 0.0024513237 0.0057867376 + 1107000 0.003939363 0.0025818941 0.0045207993 + 1107100 0.0054737708 0.0023053265 0.004999448 + 1107200 0.0053219687 0.0024843063 0.0051037127 + 1107300 0.0040140027 0.002713159 0.004688801 + 1107400 0.0048580946 0.0027653613 0.0051564547 + 1107500 0.0048401444 0.0027939281 0.0051761867 + 1107600 0.0062439962 0.0033471401 0.006420357 + 1107700 0.0053947284 0.0034237314 0.0060789493 + 1107800 0.0054506493 0.0029211627 0.0056039042 + 1107900 0.0054910513 0.0029718666 0.0056744934 + 1108000 0.0064025228 0.0029371454 0.006088387 + 1108100 0.0050482827 0.002561892 0.0050465937 + 1108200 0.0049785162 0.0024788572 0.0049292207 + 1108300 0.0047043281 0.002681684 0.0049970955 + 1108400 0.0062239695 0.0022674154 0.0053307754 + 1108500 0.0057116906 0.0019768639 0.0047880866 + 1108600 0.0040762258 0.0018362636 0.0038425309 + 1108700 0.004622507 0.0016418472 0.0039169874 + 1108800 0.0047270189 0.0018533547 0.0041799343 + 1108900 0.0051361483 0.0024763651 0.0050043131 + 1109000 0.0043596408 0.0028127601 0.0049585208 + 1109100 0.0051165492 0.0027628922 0.0052811937 + 1109200 0.0061456121 0.0031271589 0.0061519523 + 1109300 0.005156352 0.003407012 0.005944904 + 1109400 0.0060932994 0.0028100926 0.0058091384 + 1109500 0.0045957293 0.0021393798 0.0044013404 + 1109600 0.0052858143 0.0024599835 0.0050615953 + 1109700 0.0042785233 0.0030414075 0.0051472432 + 1109800 0.0048497987 0.0029226095 0.0053096198 + 1109900 0.0044277551 0.0028915679 0.0050708536 + 1110000 0.0041350881 0.0028794884 0.0049147271 + 1110100 0.0058940553 0.0028923404 0.0057933207 + 1110200 0.0060263875 0.0029086248 0.0058747374 + 1110300 0.005629684 0.0028717441 0.0056426042 + 1110400 0.005489766 0.0029003033 0.0056022975 + 1110500 0.0064972488 0.0023540105 0.0055518751 + 1110600 0.0045324099 0.0021596553 0.0043904508 + 1110700 0.0041372386 0.0025462803 0.0045825774 + 1110800 0.0058191921 0.0028137331 0.0056778667 + 1110900 0.0047363888 0.0030802342 0.0054114256 + 1111000 0.0061265045 0.0023251833 0.0053405722 + 1111100 0.0034962129 0.0020666596 0.0037874519 + 1111200 0.0053692045 0.0022146625 0.0048573179 + 1111300 0.0044633877 0.0024494886 0.0046463123 + 1111400 0.0043288452 0.0028053301 0.0049359336 + 1111500 0.0043235562 0.002867982 0.0049959823 + 1111600 0.0061192333 0.0026386135 0.0056504237 + 1111700 0.0050407607 0.0027601392 0.0052411386 + 1111800 0.0071418957 0.0030809078 0.0065960596 + 1111900 0.0044982726 0.0032789128 0.0054929064 + 1112000 0.007021251 0.0028967331 0.0063525051 + 1112100 0.0056399892 0.0026336111 0.0054095432 + 1112200 0.0054314115 0.0025008303 0.0051741031 + 1112300 0.0076602057 0.002888359 0.0066586165 + 1112400 0.0046123804 0.0030217336 0.0052918896 + 1112500 0.0060030652 0.0027859074 0.005740541 + 1112600 0.0041831262 0.0029630435 0.005021926 + 1112700 0.0056361783 0.0031149313 0.0058889878 + 1112800 0.0058998347 0.0029216089 0.0058254338 + 1112900 0.0037879987 0.0033003677 0.0051647733 + 1113000 0.0048227849 0.0029372453 0.0053109598 + 1113100 0.0073451483 0.0026301645 0.0062453547 + 1113200 0.0058483043 0.0032439437 0.006122406 + 1113300 0.0049723448 0.0037705819 0.0062179078 + 1113400 0.0060192937 0.0033813594 0.0063439806 + 1113500 0.0049577407 0.0033490719 0.0057892099 + 1113600 0.0063859482 0.002885276 0.0060283598 + 1113700 0.0052133104 0.0028426061 0.0054085323 + 1113800 0.0064925966 0.0026799041 0.005875479 + 1113900 0.0043910359 0.0029127513 0.0050739642 + 1114000 0.0046042381 0.0027714446 0.005037593 + 1114100 0.0051348718 0.002746836 0.0052741557 + 1114200 0.0052972324 0.0025609802 0.0051682118 + 1114300 0.0055321412 0.0025951344 0.0053179852 + 1114400 0.0064588287 0.0026482467 0.0058272014 + 1114500 0.0059946804 0.0024537136 0.0054042203 + 1114600 0.00506856 0.0025607417 0.0050554235 + 1114700 0.004079682 0.002518074 0.0045260425 + 1114800 0.0046252436 0.0020204196 0.0042969067 + 1114900 0.0055722192 0.0017501652 0.0044927418 + 1115000 0.0076493272 0.0021252153 0.0058901185 + 1115100 0.0033788461 0.0027088295 0.0043718553 + 1115200 0.004926402 0.0026338398 0.0050585533 + 1115300 0.0051135781 0.0023730127 0.004889852 + 1115400 0.0048765689 0.0025254066 0.0049255928 + 1115500 0.00561473 0.0025194608 0.0052829607 + 1115600 0.0052543377 0.0022372035 0.0048233228 + 1115700 0.0058937321 0.0020338894 0.0049347106 + 1115800 0.0050807833 0.0023646213 0.0048653193 + 1115900 0.0044916403 0.0025179668 0.004728696 + 1116000 0.0059594793 0.0022952809 0.0052284621 + 1116100 0.004125421 0.0026195274 0.0046500081 + 1116200 0.0050678136 0.0025018039 0.0049961184 + 1116300 0.0054322068 0.0022266146 0.0049002788 + 1116400 0.0050397955 0.0020035653 0.0044840897 + 1116500 0.0061988995 0.0022884472 0.005339468 + 1116600 0.0060118279 0.0024641851 0.0054231316 + 1116700 0.0045444305 0.0021939512 0.0044306631 + 1116800 0.0041106195 0.0019891339 0.0040123294 + 1116900 0.0060691141 0.0019083148 0.0048954569 + 1117000 0.004156578 0.0023301626 0.0043759784 + 1117100 0.0061771046 0.0023550938 0.0053953875 + 1117200 0.0070029615 0.001978103 0.005424873 + 1117300 0.0056788464 0.0018903744 0.0046854316 + 1117400 0.003265659 0.0019777585 0.003585075 + 1117500 0.0033510687 0.0025133751 0.0041627292 + 1117600 0.00447908 0.0021574214 0.0043619686 + 1117700 0.0052094981 0.0020450649 0.0046091147 + 1117800 0.0043277876 0.0022937522 0.0044238352 + 1117900 0.0062890176 0.0020517868 0.0051471627 + 1118000 0.005153367 0.0020489557 0.0045853785 + 1118100 0.0042477159 0.0018152976 0.0039059702 + 1118200 0.0046980551 0.0019587773 0.0042711013 + 1118300 0.0046819222 0.0025165433 0.0048209269 + 1118400 0.0047627684 0.0027462713 0.0050904463 + 1118500 0.0049225649 0.0024198526 0.0048426775 + 1118600 0.0035059263 0.0026980004 0.0044235735 + 1118700 0.0066539918 0.0029532848 0.0062282964 + 1118800 0.0046478547 0.0034329798 0.0057205958 + 1118900 0.0057493864 0.0029928159 0.005822592 + 1119000 0.0048789635 0.0023965506 0.0047979155 + 1119100 0.0033870021 0.0024797063 0.0041467464 + 1119200 0.004610672 0.0023303402 0.0045996553 + 1119300 0.0051251807 0.00183094 0.0043534898 + 1119400 0.0045706971 0.0016409615 0.0038906015 + 1119500 0.0045536989 0.0018955022 0.0041367759 + 1119600 0.0040804952 0.0020388906 0.0040472593 + 1119700 0.0047952081 0.0020397247 0.0043998662 + 1119800 0.0046072477 0.0018494379 0.0041170677 + 1119900 0.0052350998 0.0016650809 0.0042417315 + 1120000 0.0043929746 0.0020760454 0.0042382126 + 1120100 0.0043981373 0.0020868379 0.0042515461 + 1120200 0.0041669459 0.0018719823 0.003922901 + 1120300 0.0035808735 0.002030855 0.0037933162 + 1120400 0.0063245477 0.0020943397 0.005207203 + 1120500 0.0065534893 0.0022433355 0.005468881 + 1120600 0.0045049224 0.0022661987 0.0044834652 + 1120700 0.0045654013 0.0020878846 0.0043349181 + 1120800 0.0066367735 0.0020808827 0.0053474197 + 1120900 0.0058598018 0.001750714 0.0046348351 + 1121000 0.0060248892 0.0017307582 0.0046961334 + 1121100 0.0033126667 0.0020448046 0.0036752578 + 1121200 0.0053902812 0.0019817192 0.0046347482 + 1121300 0.0034962931 0.0021489675 0.0038697993 + 1121400 0.0050314858 0.0024042 0.0048806344 + 1121500 0.004362967 0.0026802185 0.0048276164 + 1121600 0.0048033787 0.0023961655 0.0047603284 + 1121700 0.0050219823 0.0024768871 0.004948644 + 1121800 0.004701928 0.0025316264 0.0048458566 + 1121900 0.0038487263 0.002762688 0.004656983 + 1122000 0.004214861 0.0026290946 0.0047035965 + 1122100 0.0057745307 0.0022950888 0.0051372406 + 1122200 0.0057709184 0.0022225089 0.0050628828 + 1122300 0.0039405328 0.002282767 0.004222248 + 1122400 0.0069420636 0.0020981883 0.0055149852 + 1122500 0.0041843108 0.0022902103 0.0043496758 + 1122600 0.0040754241 0.0026633962 0.004669269 + 1122700 0.0063408693 0.0027870392 0.0059079358 + 1122800 0.0047723338 0.0029201935 0.0052690766 + 1122900 0.0061735198 0.0029414558 0.0059799851 + 1123000 0.0047661558 0.0029907684 0.0053366107 + 1123100 0.0035069044 0.0035276685 0.005253723 + 1123200 0.0053133434 0.0033959872 0.0060111484 + 1123300 0.0047729218 0.0028202987 0.0051694711 + 1123400 0.0056341989 0.0027939386 0.0055670209 + 1123500 0.0061781229 0.0028752902 0.0059160851 + 1123600 0.0063177351 0.0030133771 0.0061228873 + 1123700 0.0063441414 0.0028294986 0.0059520057 + 1123800 0.0047412297 0.0032187242 0.0055522982 + 1123900 0.0052328431 0.003386106 0.005961646 + 1124000 0.0048749877 0.0031748826 0.0055742906 + 1124100 0.0042817748 0.0034000784 0.0055075145 + 1124200 0.0056239637 0.0030273085 0.0057953532 + 1124300 0.0047949377 0.0021931561 0.0045531645 + 1124400 0.0055639894 0.0021740404 0.0049125664 + 1124500 0.0037824277 0.0023524702 0.0042141338 + 1124600 0.005685599 0.0026292496 0.0054276304 + 1124700 0.004378164 0.0028939264 0.005048804 + 1124800 0.0051742806 0.0023432951 0.0048900114 + 1124900 0.0043603724 0.0019914533 0.0041375741 + 1125000 0.0048964594 0.0018164568 0.0042264329 + 1125100 0.0048159676 0.0018742551 0.0042446142 + 1125200 0.0045111937 0.0020350977 0.0042554509 + 1125300 0.0044224158 0.0019347001 0.0041113579 + 1125400 0.0044208554 0.0017968958 0.0039727856 + 1125500 0.0052659181 0.0015407948 0.0041326139 + 1125600 0.0054044667 0.001982856 0.0046428669 + 1125700 0.0039690693 0.0023768527 0.004330379 + 1125800 0.0056061459 0.0021504936 0.0049097685 + 1125900 0.0048826353 0.0018191145 0.0042222866 + 1126000 0.0050198074 0.0017902025 0.004260889 + 1126100 0.0048680893 0.0019919154 0.0043879281 + 1126200 0.0039176418 0.0021888208 0.0041170351 + 1126300 0.0057119062 0.0024938039 0.0053051328 + 1126400 0.0046799678 0.0024425025 0.0047459242 + 1126500 0.0048406079 0.0022966247 0.0046791114 + 1126600 0.0050721012 0.0022966779 0.0047931027 + 1126700 0.0059012461 0.0022608342 0.0051653538 + 1126800 0.0062721748 0.0022071396 0.0052942256 + 1126900 0.0039736118 0.0031021856 0.0050579477 + 1127000 0.0047502084 0.0030383962 0.0053763894 + 1127100 0.0040238106 0.0023748909 0.0043553601 + 1127200 0.0050647248 0.0022876806 0.0047804749 + 1127300 0.0052788496 0.0025736865 0.0051718703 + 1127400 0.0056270017 0.0028185099 0.0055880498 + 1127500 0.0050755262 0.0027891926 0.0052873031 + 1127600 0.0042994043 0.0030341861 0.0051502991 + 1127700 0.0063805776 0.0029172103 0.0060576509 + 1127800 0.0048805263 0.0027902871 0.0051924211 + 1127900 0.0059293317 0.0023578618 0.0052762047 + 1128000 0.0054798101 0.0023378738 0.0050349678 + 1128100 0.00546266 0.0026383758 0.0053270288 + 1128200 0.0058576655 0.0028025264 0.0056855961 + 1128300 0.0044707344 0.0023843268 0.0045847664 + 1128400 0.0044531388 0.0024192494 0.0046110286 + 1128500 0.0053427397 0.0023932526 0.0050228824 + 1128600 0.0056111448 0.0020499638 0.0048116991 + 1128700 0.005313249 0.0020597678 0.0046748825 + 1128800 0.0058997509 0.00187658 0.0047803636 + 1128900 0.0036115615 0.0018608379 0.0036384033 + 1129000 0.0039409569 0.001965745 0.0039054348 + 1129100 0.0040459218 0.0021296467 0.0041209989 + 1129200 0.0043579544 0.0018543296 0.0039992603 + 1129300 0.0040477161 0.0018402294 0.0038324647 + 1129400 0.0058339186 0.001535005 0.0044063868 + 1129500 0.004906312 0.0018838907 0.0042987162 + 1129600 0.0055935989 0.0019430536 0.004696153 + 1129700 0.0048478993 0.0020110878 0.0043971632 + 1129800 0.0037192203 0.0026032696 0.0044338234 + 1129900 0.0091428718 0.0022446137 0.0067446209 + 1130000 0.0070589359 0.0023438992 0.0058182192 + 1130100 0.0046971986 0.0028365257 0.0051484281 + 1130200 0.0044235344 0.0030416691 0.0052188774 + 1130300 0.0058896046 0.0032434583 0.0061422481 + 1130400 0.0037394031 0.0029790204 0.0048195079 + 1130500 0.0046004891 0.0030231297 0.0052874329 + 1130600 0.005988948 0.0026444695 0.0055921548 + 1130700 0.0056312142 0.0023969026 0.0051685159 + 1130800 0.0051872564 0.0025276501 0.0050807529 + 1130900 0.0058366219 0.0023715632 0.0052442755 + 1131000 0.0067852963 0.0018801823 0.0052198203 + 1131100 0.0045317966 0.0020515075 0.0042820011 + 1131200 0.0051611209 0.0018972692 0.0044375083 + 1131300 0.0060915869 0.0019176224 0.0049158254 + 1131400 0.0071611791 0.001730895 0.0052555378 + 1131500 0.0046611334 0.0019458369 0.0042399885 + 1131600 0.0047610529 0.0017806011 0.0041239318 + 1131700 0.0053365382 0.0020329675 0.0046595449 + 1131800 0.0062800984 0.002365146 0.0054561319 + 1131900 0.0045905774 0.0028605455 0.0051199703 + 1132000 0.0060098315 0.0027505798 0.0057085437 + 1132100 0.0045221205 0.0031127224 0.0053384536 + 1132200 0.0050969601 0.0030967707 0.0056054307 + 1132300 0.0056646625 0.0026704394 0.0054585154 + 1132400 0.0051045206 0.0022424932 0.0047548744 + 1132500 0.0037477172 0.0023206964 0.0041652759 + 1132600 0.003953306 0.0025793955 0.0045251633 + 1132700 0.0044145217 0.0029310032 0.0051037756 + 1132800 0.0066895486 0.0024922917 0.005784804 + 1132900 0.0052338953 0.0026365893 0.0052126471 + 1133000 0.0048003534 0.0027148725 0.0050775464 + 1133100 0.0039106308 0.0026241037 0.0045488673 + 1133200 0.0046175374 0.0026337053 0.0049063995 + 1133300 0.0064703344 0.0019987642 0.0051833819 + 1133400 0.0049176159 0.0020182263 0.0044386154 + 1133500 0.0043889065 0.0021717284 0.0043318933 + 1133600 0.004767472 0.0026703531 0.0050168432 + 1133700 0.0066452459 0.0026803801 0.005951087 + 1133800 0.0059812148 0.0031234238 0.006067303 + 1133900 0.0062140823 0.0028867496 0.0059452433 + 1134000 0.0051560964 0.0025298732 0.0050676394 + 1134100 0.0047240456 0.0021696776 0.0044947938 + 1134200 0.0049769694 0.0021992034 0.0046488055 + 1134300 0.0047957895 0.0024642864 0.004824714 + 1134400 0.0042364259 0.0025640256 0.0046491415 + 1134500 0.0051426296 0.002372054 0.0049031921 + 1134600 0.0030683329 0.0024094554 0.0039196505 + 1134700 0.0043316494 0.0024269397 0.0045589234 + 1134800 0.003271085 0.0024320706 0.0040420577 + 1134900 0.0041282582 0.0025241635 0.0045560405 + 1135000 0.0036512904 0.0025068941 0.0043040136 + 1135100 0.0054241968 0.0025373396 0.0052070615 + 1135200 0.0040915966 0.0026237589 0.0046375916 + 1135300 0.0056647953 0.0032163866 0.006004528 + 1135400 0.0071742904 0.0029171034 0.0064481995 + 1135500 0.0059047775 0.0030302729 0.0059365306 + 1135600 0.0057099725 0.0026631488 0.0054735259 + 1135700 0.0057354216 0.0022712096 0.0050941124 + 1135800 0.0059670504 0.0027881186 0.0057250262 + 1135900 0.0055513491 0.003176418 0.0059087227 + 1136000 0.0045903489 0.0027777878 0.0050371001 + 1136100 0.0049743013 0.0023652102 0.0048134992 + 1136200 0.0040801326 0.0020396758 0.0040478661 + 1136300 0.0054416116 0.0022452614 0.0049235546 + 1136400 0.0046430715 0.002881262 0.0051665238 + 1136500 0.0048466713 0.0027086224 0.0050940934 + 1136600 0.0052123236 0.0028196874 0.0053851279 + 1136700 0.0046183936 0.0027364285 0.0050095442 + 1136800 0.0056416066 0.002394365 0.0051710932 + 1136900 0.0038330743 0.0021896122 0.0040762034 + 1137000 0.0028485839 0.0026541865 0.0040562239 + 1137100 0.0043086849 0.0028407502 0.0049614311 + 1137200 0.0068450327 0.0025825056 0.0059515452 + 1137300 0.0044544442 0.0022532396 0.0044456614 + 1137400 0.0045545135 0.0024334904 0.0046751651 + 1137500 0.004282464 0.0024884751 0.0045962503 + 1137600 0.0037268729 0.0023028259 0.0041371461 + 1137700 0.0054418263 0.0020823934 0.0047607922 + 1137800 0.0037856476 0.0020212928 0.0038845412 + 1137900 0.0054344904 0.0023685114 0.0050432996 + 1138000 0.0039044994 0.0028974309 0.0048191767 + 1138100 0.0051864138 0.0024208576 0.0049735457 + 1138200 0.0043466677 0.0023445886 0.0044839641 + 1138300 0.0055466351 0.0025104928 0.0052404773 + 1138400 0.0049576686 0.0031525233 0.0055926258 + 1138500 0.004119139 0.0031913415 0.0052187302 + 1138600 0.0064874945 0.0030949552 0.0062880188 + 1138700 0.0060962383 0.0025664285 0.0055669208 + 1138800 0.006359805 0.0028272715 0.005957488 + 1138900 0.0034098047 0.0033808311 0.0050590944 + 1139000 0.0044145365 0.0027614942 0.0049342739 + 1139100 0.0063542072 0.0023789154 0.0055063768 + 1139200 0.0055055766 0.0023901095 0.0050998855 + 1139300 0.0055939238 0.0023423223 0.0050955816 + 1139400 0.0039545725 0.0022154101 0.0041618013 + 1139500 0.0054981434 0.0020725301 0.0047786476 + 1139600 0.0046637383 0.0021389583 0.004434392 + 1139700 0.0048709241 0.0027890667 0.0051864746 + 1139800 0.006840284 0.0024615196 0.0058282218 + 1139900 0.0048195683 0.0020186337 0.004390765 + 1140000 0.0059127928 0.0020201391 0.0049303418 + 1140100 0.0047669549 0.002255988 0.0046022236 + 1140200 0.0059691216 0.0023438986 0.0052818256 + 1140300 0.0047340804 0.0024028173 0.0047328725 + 1140400 0.0039356966 0.0024701378 0.0044072385 + 1140500 0.004792728 0.0024254186 0.0047843394 + 1140600 0.0068123026 0.0023357184 0.0056886486 + 1140700 0.005972807 0.0027869742 0.0057267152 + 1140800 0.0048134287 0.0034900842 0.0058591936 + 1140900 0.0039757025 0.0038232433 0.0057800343 + 1141000 0.0041510882 0.0038243315 0.0058674452 + 1141100 0.0058291636 0.002839534 0.0057085755 + 1141200 0.0052690267 0.0022931714 0.0048865205 + 1141300 0.0050961964 0.0021378174 0.0046461015 + 1141400 0.0052010922 0.0020395781 0.0045994907 + 1141500 0.0050670191 0.0020115977 0.0045055211 + 1141600 0.0063707515 0.0025616568 0.0056972611 + 1141700 0.0066243223 0.0025635414 0.0058239501 + 1141800 0.0050506411 0.002553306 0.0050391685 + 1141900 0.0040376017 0.0024260529 0.00441331 + 1142000 0.005590796 0.002295273 0.0050469929 + 1142100 0.004771394 0.0025983382 0.0049467587 + 1142200 0.003753963 0.0025929405 0.0044405942 + 1142300 0.0054373688 0.0023849663 0.0050611713 + 1142400 0.0039458603 0.0024642064 0.0044063095 + 1142500 0.0035948685 0.0026264631 0.0043958125 + 1142600 0.0047660322 0.0023045779 0.0046503594 + 1142700 0.0044708501 0.0020963047 0.0042968012 + 1142800 0.0060374323 0.001664454 0.0046360027 + 1142900 0.0043780242 0.0017260722 0.003880881 + 1143000 0.0045676621 0.0017294928 0.003977639 + 1143100 0.0045873387 0.002147277 0.0044051078 + 1143200 0.0048862651 0.0022086045 0.0046135631 + 1143300 0.0052040922 0.0019103406 0.0044717297 + 1143400 0.0051189276 0.0021098644 0.0046293365 + 1143500 0.0055000536 0.0025796942 0.0052867518 + 1143600 0.0054952779 0.0023187104 0.0050234175 + 1143700 0.0051972574 0.0017850873 0.0043431124 + 1143800 0.0049115662 0.0017853719 0.0042027834 + 1143900 0.0032760832 0.0020039866 0.0036164338 + 1144000 0.0034829539 0.0017679694 0.0034822357 + 1144100 0.0044594975 0.0020405056 0.0042354145 + 1144200 0.005158701 0.0021604978 0.004699546 + 1144300 0.0039105137 0.0020807649 0.0040054709 + 1144400 0.0055589275 0.0020263179 0.0047623525 + 1144500 0.0063162087 0.0019639866 0.0050727455 + 1144600 0.0055433733 0.002239834 0.004968213 + 1144700 0.0039767555 0.0026488634 0.0046061727 + 1144800 0.0040762492 0.0025415288 0.0045478077 + 1144900 0.0053138257 0.00236156 0.0049769586 + 1145000 0.0063386624 0.0021087864 0.0052285968 + 1145100 0.0046393462 0.0018330811 0.0041165093 + 1145200 0.0057921041 0.0021813025 0.0050321038 + 1145300 0.0055026155 0.0024222387 0.0051305573 + 1145400 0.0056998413 0.0027683887 0.0055737793 + 1145500 0.0044996608 0.0025683676 0.0047830444 + 1145600 0.0054025452 0.0030352154 0.0056942806 + 1145700 0.0043347465 0.0033050713 0.0054385793 + 1145800 0.0056277534 0.0030036789 0.0057735888 + 1145900 0.0063294693 0.0024926004 0.0056078861 + 1146000 0.003431023 0.0023780838 0.0040667904 + 1146100 0.0046726125 0.002209847 0.0045096485 + 1146200 0.0052962592 0.0021303573 0.0047371099 + 1146300 0.0046164084 0.0028590413 0.0051311798 + 1146400 0.0049851694 0.003205932 0.0056595701 + 1146500 0.0056643863 0.0031469046 0.0059348447 + 1146600 0.0045636982 0.0029709954 0.0052171906 + 1146700 0.0043502655 0.0028087058 0.0049498521 + 1146800 0.0041421869 0.0028495072 0.0048882398 + 1146900 0.0063473539 0.0023582928 0.0054823811 + 1147000 0.0068988442 0.0021117471 0.005507272 + 1147100 0.003652647 0.0024469689 0.004244756 + 1147200 0.0066954963 0.0021093185 0.0054047581 + 1147300 0.0054001036 0.0018853208 0.0045431843 + 1147400 0.0048781152 0.0018875303 0.0042884776 + 1147500 0.0041167371 0.0019190025 0.003945209 + 1147600 0.0054464619 0.0015985132 0.0042791936 + 1147700 0.0036796337 0.0014457724 0.0032568422 + 1147800 0.0039631352 0.0016509832 0.0036015888 + 1147900 0.0045612108 0.0018677006 0.0041126715 + 1148000 0.0040049885 0.0018336304 0.0038048357 + 1148100 0.004291741 0.0021018722 0.0042142134 + 1148200 0.0060622385 0.0020763864 0.0050601444 + 1148300 0.0040570999 0.0021940581 0.004190912 + 1148400 0.0041295127 0.0020782247 0.0041107192 + 1148500 0.0053877199 0.0016956954 0.0043474638 + 1148600 0.0046427675 0.0019699054 0.0042550175 + 1148700 0.0055278135 0.0021662702 0.0048869909 + 1148800 0.0052348056 0.0026655882 0.005242094 + 1148900 0.0058139026 0.0026971705 0.0055587007 + 1149000 0.0060840627 0.0029378161 0.0059323157 + 1149100 0.0045543064 0.0029031071 0.0051446797 + 1149200 0.00495409 0.0027509186 0.0051892598 + 1149300 0.0046660388 0.0025125938 0.0048091597 + 1149400 0.0049220835 0.0021590348 0.0045816228 + 1149500 0.0047558223 0.0017321232 0.0040728795 + 1149600 0.0064435326 0.0021118484 0.0052832746 + 1149700 0.0048564866 0.0024773103 0.0048676123 + 1149800 0.0048352701 0.0019481887 0.0043280482 + 1149900 0.0048446382 0.0018385922 0.0042230625 + 1150000 0.0043921646 0.0016429621 0.0038047306 + 1150100 0.0041395722 0.0015992787 0.0036367244 + 1150200 0.0055646068 0.0020034111 0.004742241 + 1150300 0.0052603184 0.0023993574 0.0049884204 + 1150400 0.0042058783 0.0025646748 0.0046347556 + 1150500 0.0053831392 0.0027067461 0.0053562599 + 1150600 0.005751403 0.0027847815 0.0056155501 + 1150700 0.0049798734 0.0024704898 0.0049215212 + 1150800 0.0048758261 0.0022731289 0.0046729495 + 1150900 0.0055926042 0.0024480259 0.0052006357 + 1151000 0.0066258899 0.0029036662 0.0061648465 + 1151100 0.0047074537 0.0030969221 0.005413872 + 1151200 0.0061169369 0.0025157406 0.0055264205 + 1151300 0.0049944737 0.0022496955 0.004707913 + 1151400 0.0052956968 0.0023982762 0.0050047519 + 1151500 0.0044752789 0.0028874092 0.0050900855 + 1151600 0.0046455077 0.0029783471 0.0052648079 + 1151700 0.0045522612 0.0024319571 0.0046725231 + 1151800 0.003837159 0.0021065752 0.0039951769 + 1151900 0.0048303703 0.0020635624 0.0044410103 + 1152000 0.0044011505 0.002517005 0.0046831963 + 1152100 0.0045596569 0.0022642517 0.0045084578 + 1152200 0.0061714179 0.0021277085 0.0051652032 + 1152300 0.0050064375 0.0021558777 0.0046199836 + 1152400 0.007708434 0.0019303702 0.0057243651 + 1152500 0.0066096402 0.0020356992 0.0052888815 + 1152600 0.0044908306 0.0023332814 0.0045436121 + 1152700 0.005316492 0.0023111839 0.0049278948 + 1152800 0.0050588971 0.0022776969 0.0047676229 + 1152900 0.0053246663 0.0022727145 0.0048934487 + 1153000 0.0032826584 0.0026712951 0.0042869785 + 1153100 0.0052243671 0.0023333334 0.0049047015 + 1153200 0.0041828215 0.0026002696 0.004659002 + 1153300 0.0043667377 0.0029815279 0.0051307816 + 1153400 0.0046009237 0.0032048231 0.0054693402 + 1153500 0.0044754093 0.0029934218 0.0051961623 + 1153600 0.0055909516 0.0024302611 0.0051820576 + 1153700 0.0046841235 0.0020725254 0.0043779925 + 1153800 0.0048727402 0.0019882906 0.0043865924 + 1153900 0.0041421027 0.0023100833 0.0043487744 + 1154000 0.0050428188 0.0024838021 0.0049658145 + 1154100 0.0040828329 0.0025244875 0.0045340068 + 1154200 0.0030445191 0.0023448182 0.0038432925 + 1154300 0.005502034 0.0020982963 0.0048063287 + 1154400 0.0033105323 0.0023536402 0.0039830428 + 1154500 0.005683912 0.002322239 0.0051197894 + 1154600 0.0066993146 0.0019288445 0.0052261634 + 1154700 0.0041001234 0.0019925029 0.0040105324 + 1154800 0.0061526815 0.002435379 0.005463652 + 1154900 0.0043948584 0.0028550737 0.0050181681 + 1155000 0.0063040648 0.0025670144 0.0056697963 + 1155100 0.0057489155 0.0022505298 0.0050800742 + 1155200 0.0045185354 0.0021340382 0.0043580048 + 1155300 0.0037291846 0.0023898363 0.0042252943 + 1155400 0.0057496534 0.0024319363 0.0052618439 + 1155500 0.0057759204 0.0027719697 0.0056148056 + 1155600 0.003980451 0.0029840043 0.0049431326 + 1155700 0.0062379325 0.0030291639 0.0060993963 + 1155800 0.004643942 0.0028375141 0.0051232043 + 1155900 0.0055830815 0.0023122165 0.0050601394 + 1156000 0.0047206308 0.0025346972 0.0048581327 + 1156100 0.0046669122 0.0026980564 0.0049950523 + 1156200 0.00618095 0.0022128942 0.0052550806 + 1156300 0.0056608933 0.0023934842 0.0051797051 + 1156400 0.005351957 0.0024522381 0.0050864044 + 1156500 0.0053772063 0.0024890812 0.0051356749 + 1156600 0.0052765202 0.0025512007 0.0051482379 + 1156700 0.0050618214 0.0025540462 0.0050454114 + 1156800 0.0041586799 0.0029251492 0.0049719995 + 1156900 0.0046908985 0.0031324847 0.0054412863 + 1157000 0.0065979818 0.0029561489 0.006203593 + 1157100 0.0042012023 0.0031678353 0.0052356146 + 1157200 0.0039875407 0.0032194132 0.0051820308 + 1157300 0.0051349805 0.0027988205 0.0053261937 + 1157400 0.0064995051 0.0027000523 0.0058990275 + 1157500 0.0059830433 0.002746934 0.0056917131 + 1157600 0.0049802897 0.002901775 0.0053530114 + 1157700 0.0063578459 0.0030100238 0.0061392761 + 1157800 0.0052160562 0.0039106169 0.0064778945 + 1157900 0.0051175377 0.0040684566 0.0065872447 + 1158000 0.0056666067 0.0033320745 0.0061211075 + 1158100 0.0047026659 0.0027090016 0.0050235949 + 1158200 0.0051871311 0.0023323705 0.0048854116 + 1158300 0.0047746139 0.0019314777 0.004281483 + 1158400 0.0048899727 0.0018769058 0.0042836893 + 1158500 0.0044480925 0.002230922 0.0044202176 + 1158600 0.004186202 0.0024296025 0.0044899988 + 1158700 0.0051456693 0.0021030758 0.00463571 + 1158800 0.0053304591 0.0018861956 0.004509781 + 1158900 0.0034165784 0.002509759 0.0041913562 + 1159000 0.0045186956 0.0023593109 0.0045833564 + 1159100 0.0046943033 0.002063104 0.0043735814 + 1159200 0.0043233476 0.0022659601 0.0043938577 + 1159300 0.0044480589 0.0024125764 0.0046018554 + 1159400 0.0050611892 0.0022100385 0.0047010925 + 1159500 0.0051825765 0.0023362145 0.0048870138 + 1159600 0.0055007433 0.0024125218 0.0051199189 + 1159700 0.0045985885 0.0021117032 0.004375071 + 1159800 0.0050619021 0.001855243 0.004346648 + 1159900 0.0038161744 0.0020174798 0.0038957531 + 1160000 0.0050597737 0.0021263973 0.0046167547 + 1160100 0.0054429759 0.0022768119 0.0049557766 + 1160200 0.0034862148 0.0024968603 0.0042127317 + 1160300 0.0058492539 0.0024692376 0.0053481673 + 1160400 0.0041093493 0.0029479272 0.0049704976 + 1160500 0.0048802009 0.0029675708 0.0053695447 + 1160600 0.004301854 0.0029440476 0.0050613664 + 1160700 0.0044446297 0.0025657061 0.0047532972 + 1160800 0.0051120445 0.0021255825 0.0046416669 + 1160900 0.0066090324 0.0025178324 0.0057707155 + 1161000 0.0039920432 0.0031259619 0.0050907956 + 1161100 0.0057996492 0.0025434951 0.0053980099 + 1161200 0.0053363781 0.0022502999 0.0048767985 + 1161300 0.0038120988 0.0022187697 0.0040950371 + 1161400 0.0047773544 0.002012969 0.0043643231 + 1161500 0.0053778304 0.001985245 0.0046321459 + 1161600 0.0051104274 0.0027684766 0.0052837651 + 1161700 0.0045584615 0.0031193095 0.0053629273 + 1161800 0.0059676276 0.002475454 0.0054126457 + 1161900 0.0051171405 0.0021923891 0.0047109817 + 1162000 0.0045360863 0.0028669194 0.0050995244 + 1162100 0.0051325024 0.0030444007 0.0055705542 + 1162200 0.0048943283 0.00316177 0.0055706973 + 1162300 0.0042459715 0.0025844113 0.0046742254 + 1162400 0.0048636076 0.0021909709 0.0045847778 + 1162500 0.0047423995 0.0023145201 0.0046486698 + 1162600 0.0047685409 0.0027245295 0.0050715457 + 1162700 0.0042777442 0.0028178892 0.0049233414 + 1162800 0.0051934123 0.0024147811 0.0049709137 + 1162900 0.0063386386 0.0024004291 0.0055202277 + 1163000 0.0046261183 0.0029561356 0.0052330532 + 1163100 0.0037790771 0.0030524672 0.0049124817 + 1163200 0.0049211927 0.0031115352 0.0055336847 + 1163300 0.0037916521 0.0027836992 0.0046499029 + 1163400 0.004806417 0.0024628476 0.004828506 + 1163500 0.0042224211 0.0019774004 0.0040556233 + 1163600 0.0029773032 0.0019848756 0.003450267 + 1163700 0.0041244773 0.0020495388 0.004079555 + 1163800 0.0055041268 0.002375368 0.0050844304 + 1163900 0.00352124 0.0026764014 0.0044095117 + 1164000 0.0046138946 0.0020709336 0.0043418348 + 1164100 0.004895849 0.002316272 0.0047259477 + 1164200 0.0039525843 0.0023203852 0.0042657977 + 1164300 0.0053566196 0.0022088405 0.0048453017 + 1164400 0.0046227999 0.0020902446 0.004365529 + 1164500 0.0048441586 0.002044263 0.0044284973 + 1164600 0.006728611 0.0018565641 0.0051683023 + 1164700 0.0028422098 0.0024721747 0.0038710748 + 1164800 0.0045289407 0.0025122619 0.0047413499 + 1164900 0.0044693984 0.0025276193 0.0047274013 + 1165000 0.0052871608 0.0025158496 0.0051181241 + 1165100 0.0047864319 0.0025720036 0.0049278255 + 1165200 0.0053671677 0.002452536 0.0050941889 + 1165300 0.0063766616 0.002087116 0.0052256292 + 1165400 0.006753099 0.0030014009 0.0063251918 + 1165500 0.0057375907 0.0035626293 0.0063865997 + 1165600 0.0056218168 0.0034256968 0.0061926847 + 1165700 0.0064641862 0.0029512992 0.0061328908 + 1165800 0.0057359417 0.0026635837 0.0054867425 + 1165900 0.0044120881 0.0025447563 0.0047163309 + 1166000 0.0057319458 0.0023778288 0.0051990208 + 1166100 0.0050908935 0.0022850604 0.0047907346 + 1166200 0.006533031 0.0022510929 0.005466569 + 1166300 0.004710833 0.002695027 0.0050136401 + 1166400 0.0064714819 0.0032109238 0.0063961063 + 1166500 0.0042340326 0.0034306608 0.0055145987 + 1166600 0.0048483519 0.0029820011 0.0053682993 + 1166700 0.0045001502 0.0025140699 0.0047289875 + 1166800 0.0047001338 0.0024453899 0.004758737 + 1166900 0.0050914734 0.0022658269 0.0047717865 + 1167000 0.0038406008 0.0021562335 0.0040465292 + 1167100 0.0039223719 0.002165961 0.0040965034 + 1167200 0.0039324404 0.0024126402 0.0043481382 + 1167300 0.004177266 0.0032827656 0.0053387637 + 1167400 0.0048972724 0.0034069206 0.0058172968 + 1167500 0.0051299182 0.0024697638 0.0049946455 + 1167600 0.0039558084 0.0023346643 0.0042816638 + 1167700 0.0047544302 0.0023110255 0.0046510966 + 1167800 0.0043000882 0.0025354481 0.0046518978 + 1167900 0.0048639988 0.0024844164 0.0048784158 + 1168000 0.0044766506 0.0023984554 0.0046018069 + 1168100 0.0044485257 0.0027310081 0.0049205168 + 1168200 0.0042103081 0.0023629623 0.0044352233 + 1168300 0.0063257412 0.0018937928 0.0050072436 + 1168400 0.0052497501 0.0020768669 0.0046607283 + 1168500 0.0042588793 0.0024407358 0.0045369029 + 1168600 0.0048239323 0.0023591401 0.0047334193 + 1168700 0.0057800789 0.0024652248 0.0053101074 + 1168800 0.0041714545 0.0023883085 0.0044414463 + 1168900 0.0064387713 0.0024837578 0.0056528405 + 1169000 0.0056070144 0.0027936649 0.0055533673 + 1169100 0.0065217828 0.0028578974 0.0060678373 + 1169200 0.0040309797 0.0030193983 0.0050033961 + 1169300 0.0056610669 0.003143069 0.0059293753 + 1169400 0.0045443929 0.0032268029 0.0054634963 + 1169500 0.0043256165 0.0025841484 0.0047131627 + 1169600 0.005050064 0.0017313412 0.0042169196 + 1169700 0.0057861462 0.0021161831 0.0049640519 + 1169800 0.0038104059 0.0026928155 0.0045682496 + 1169900 0.0041395624 0.0023702738 0.0044077147 + 1170000 0.0056977071 0.0016652633 0.0044696036 + 1170100 0.0054711781 0.0017822843 0.0044751298 + 1170200 0.0047120237 0.0022270201 0.0045462193 + 1170300 0.0056471019 0.0024352392 0.0052146722 + 1170400 0.0054521769 0.0024108044 0.0050942978 + 1170500 0.0043461105 0.0022997972 0.0044388985 + 1170600 0.0036657384 0.0021282888 0.0039325195 + 1170700 0.0049137036 0.0017596661 0.0041781296 + 1170800 0.0061925376 0.0019396599 0.0049875495 + 1170900 0.0052685503 0.0019155251 0.0045086397 + 1171000 0.00745659 0.0019644782 0.0056345186 + 1171100 0.0036542007 0.0021682169 0.0039667688 + 1171200 0.0060793579 0.0024212122 0.0054133962 + 1171300 0.0036992191 0.0024388311 0.0042595405 + 1171400 0.005977477 0.0021122886 0.005054328 + 1171500 0.0045085095 0.002515479 0.004734511 + 1171600 0.0058717111 0.0027905401 0.0056805229 + 1171700 0.0047724722 0.0026247164 0.0049736676 + 1171800 0.0069952231 0.0019299827 0.0053729441 + 1171900 0.0063320531 0.0022755446 0.005392102 + 1172000 0.0058055738 0.0023690337 0.0052264646 + 1172100 0.0061137267 0.0021197917 0.0051288916 + 1172200 0.0053081065 0.0016966344 0.0043092181 + 1172300 0.005198673 0.0015841693 0.0041428912 + 1172400 0.004769036 0.0020028441 0.004350104 + 1172500 0.0046317175 0.0017632155 0.004042889 + 1172600 0.0033563589 0.0018752952 0.0035272531 + 1172700 0.0037746616 0.002323123 0.0041809643 + 1172800 0.0049105441 0.0021250163 0.0045419247 + 1172900 0.0045470391 0.0018660073 0.0041040031 + 1173000 0.0051640231 0.0018495388 0.0043912064 + 1173100 0.0038131615 0.0018378357 0.0037146261 + 1173200 0.0050380211 0.002143589 0.00462324 + 1173300 0.0049409196 0.0023724366 0.0048042955 + 1173400 0.0051035991 0.002783138 0.0052950657 + 1173500 0.004257038 0.002872541 0.0049678018 + 1173600 0.0077007218 0.0024461239 0.0062363229 + 1173700 0.0046160828 0.0026937725 0.0049657507 + 1173800 0.0037856992 0.0022569463 0.0041202201 + 1173900 0.0049332412 0.0019452811 0.0043733608 + 1174000 0.0041014748 0.0022181862 0.0042368808 + 1174100 0.006048086 0.0021457384 0.0051225307 + 1174200 0.0049000186 0.0020724066 0.0044841345 + 1174300 0.0042127601 0.0022588583 0.0043323261 + 1174400 0.0043260851 0.0021924599 0.0043217049 + 1174500 0.0039311727 0.0024284072 0.0043632813 + 1174600 0.0038520104 0.0023998598 0.0042957712 + 1174700 0.0058265927 0.0024268401 0.0052946162 + 1174800 0.0046092662 0.0029519281 0.0052205513 + 1174900 0.0041432182 0.0024945281 0.0045337683 + 1175000 0.0044831648 0.0021455185 0.0043520762 + 1175100 0.0039627481 0.0019073988 0.0038578139 + 1175200 0.0043811561 0.001962242 0.0041185923 + 1175300 0.0048536832 0.0020340511 0.0044229733 + 1175400 0.0071854 0.0023085304 0.0058450944 + 1175500 0.0035738136 0.0020844619 0.0038434483 + 1175600 0.0047537057 0.0018599165 0.004199631 + 1175700 0.0046087785 0.0022565358 0.004524919 + 1175800 0.003608897 0.0020974421 0.0038736961 + 1175900 0.0058682747 0.0019099833 0.0047982748 + 1176000 0.0042140716 0.0020400316 0.004114145 + 1176100 0.0028367717 0.0026047853 0.0040010089 + 1176200 0.0039247904 0.0024917037 0.0044234365 + 1176300 0.0044178212 0.0023121327 0.0044865291 + 1176400 0.0063007323 0.0021668743 0.005268016 + 1176500 0.0067137678 0.002511791 0.0058162236 + 1176600 0.0064439008 0.0023442913 0.0055158987 + 1176700 0.0043454855 0.0021797742 0.0043185679 + 1176800 0.0066699676 0.0021687048 0.0054515795 + 1176900 0.0044646879 0.0025751044 0.004772568 + 1177000 0.0049646868 0.0019739316 0.0044174884 + 1177100 0.0040389099 0.0017096242 0.0036975251 + 1177200 0.003622151 0.0014637519 0.0032465294 + 1177300 0.0049086432 0.0015821721 0.0039981449 + 1177400 0.0050425079 0.001588212 0.0040700713 + 1177500 0.0048134885 0.0015118057 0.0038809446 + 1177600 0.0040429095 0.0016980359 0.0036879054 + 1177700 0.0039385956 0.001792513 0.0037310405 + 1177800 0.0047410399 0.0026672846 0.0050007652 + 1177900 0.0042152656 0.0032040022 0.0052787033 + 1178000 0.0067893714 0.00264225 0.0059838937 + 1178100 0.0049332835 0.0023763172 0.0048044177 + 1178200 0.0047153427 0.0021814621 0.0045022949 + 1178300 0.0050598225 0.002273276 0.0047636574 + 1178400 0.0046547163 0.0024419408 0.004732934 + 1178500 0.0039999146 0.002360043 0.004328751 + 1178600 0.0043585039 0.0020151122 0.0041603133 + 1178700 0.0047240403 0.0019130799 0.0042381935 + 1178800 0.004702917 0.0023020386 0.0046167555 + 1178900 0.0046563223 0.0024021331 0.0046939167 + 1179000 0.0038302146 0.0025676374 0.0044528211 + 1179100 0.0031447563 0.0022251053 0.0037729151 + 1179200 0.0067890337 0.001648906 0.0049903835 + 1179300 0.0046928695 0.0014714233 0.003781195 + 1179400 0.0043117044 0.0020468868 0.0041690538 + 1179500 0.0047180082 0.0026078147 0.0049299594 + 1179600 0.0049325802 0.0025112968 0.0049390511 + 1179700 0.0044537283 0.0023470214 0.0045390908 + 1179800 0.0058057933 0.0023236233 0.0051811622 + 1179900 0.0059113528 0.0022762666 0.0051857605 + 1180000 0.0048751666 0.0020207385 0.0044202346 + 1180100 0.0065153001 0.002078508 0.0052852572 + 1180200 0.0036572209 0.0026383307 0.0044383691 + 1180300 0.0052476773 0.0026081403 0.0051909815 + 1180400 0.0050308156 0.0022195585 0.0046956631 + 1180500 0.0035333673 0.0023114156 0.0040504948 + 1180600 0.0050269523 0.0023296422 0.0048038453 + 1180700 0.0052609238 0.002271874 0.0048612349 + 1180800 0.0050794787 0.0025802622 0.0050803181 + 1180900 0.0049765515 0.0024055716 0.004854968 + 1181000 0.0040428064 0.0025953808 0.0045851995 + 1181100 0.0042606171 0.0025687202 0.0046657427 + 1181200 0.006151534 0.0023469588 0.0053746669 + 1181300 0.0045470009 0.0027506522 0.0049886292 + 1181400 0.0061411307 0.0027056729 0.0057282606 + 1181500 0.005559601 0.0028907288 0.0056270949 + 1181600 0.0054010527 0.0030904927 0.0057488233 + 1181700 0.003924612 0.0026063543 0.0045379992 + 1181800 0.0056506364 0.0024085556 0.0051897281 + 1181900 0.0055219135 0.0023109873 0.0050288041 + 1182000 0.0050977535 0.0026242636 0.0051333141 + 1182100 0.0046239035 0.0022896625 0.00456549 + 1182200 0.0054261304 0.0024874653 0.0051581388 + 1182300 0.0057122652 0.0023176154 0.0051291209 + 1182400 0.0035297551 0.0020672864 0.0038045877 + 1182500 0.0043380639 0.0021304846 0.0042656255 + 1182600 0.0055360107 0.0023689819 0.0050937372 + 1182700 0.0053939258 0.0022514377 0.0049062606 + 1182800 0.0076385 0.0024223415 0.0061819157 + 1182900 0.0061933807 0.0024085414 0.005456846 + 1183000 0.0038576832 0.0020384246 0.0039371281 + 1183100 0.0048720509 0.0019051828 0.0043031453 + 1183200 0.0043857889 0.0021550442 0.0043136747 + 1183300 0.0061474255 0.0020275333 0.0050532193 + 1183400 0.0045890387 0.0023294189 0.0045880864 + 1183500 0.0038693727 0.0023654475 0.0042699044 + 1183600 0.0045889239 0.0023057807 0.0045643916 + 1183700 0.0042600956 0.0022457181 0.0043424839 + 1183800 0.0036165496 0.0024490101 0.0042290306 + 1183900 0.0048391056 0.0029464191 0.0053281664 + 1184000 0.006098726 0.0031610052 0.0061627219 + 1184100 0.0058597202 0.0024357261 0.0053198072 + 1184200 0.0048607362 0.0023022205 0.0046946141 + 1184300 0.005359707 0.0021793013 0.0048172821 + 1184400 0.0054724808 0.0020359436 0.0047294302 + 1184500 0.0055797103 0.002066312 0.0048125756 + 1184600 0.0053655774 0.0021088614 0.0047497316 + 1184700 0.0036892969 0.0026518767 0.0044677025 + 1184800 0.0053356346 0.002567196 0.0051933286 + 1184900 0.0061788875 0.0023180459 0.0053592171 + 1185000 0.0058447252 0.0027032063 0.005579907 + 1185100 0.0055902835 0.0030042081 0.0057556758 + 1185200 0.0059475642 0.0029700023 0.0058973191 + 1185300 0.0039917029 0.0027415736 0.0047062399 + 1185400 0.0041997959 0.0026256638 0.0046927508 + 1185500 0.0046863295 0.0027929246 0.0050994774 + 1185600 0.0047237267 0.00288006 0.0052050192 + 1185700 0.0072528272 0.0019651635 0.0055349144 + 1185800 0.0041840426 0.0021515817 0.0042109152 + 1185900 0.0057158265 0.0025284239 0.0053416823 + 1186000 0.0063040535 0.0029228325 0.0060256088 + 1186100 0.0053137078 0.0037628881 0.0063782287 + 1186200 0.0071857083 0.0032657857 0.0068025015 + 1186300 0.0069703229 0.0026548214 0.0060855272 + 1186400 0.0084671967 0.0021435384 0.0063109868 + 1186500 0.0052545128 0.0021214684 0.0047076739 + 1186600 0.0037467039 0.0022997496 0.0041438304 + 1186700 0.0052586842 0.0023755827 0.0049638413 + 1186800 0.0062527521 0.0026558421 0.0057333685 + 1186900 0.0044573888 0.0024257155 0.0046195866 + 1187000 0.0048172759 0.0024944005 0.0048654035 + 1187100 0.0044660192 0.002479702 0.0046778208 + 1187200 0.0044656443 0.0019301164 0.0041280507 + 1187300 0.0045417335 0.001881184 0.0041165685 + 1187400 0.0065921165 0.0019588324 0.0052033897 + 1187500 0.0058607113 0.0024342935 0.0053188623 + 1187600 0.0040355328 0.0025110839 0.0044973227 + 1187700 0.0045418476 0.0021571739 0.0043926145 + 1187800 0.0047646178 0.0018105437 0.004155629 + 1187900 0.0041895871 0.0016638499 0.0037259123 + 1188000 0.0049848601 0.0019404814 0.0043939672 + 1188100 0.0070665253 0.0021707718 0.0056488272 + 1188200 0.0060403185 0.0019553275 0.0049282968 + 1188300 0.0049206492 0.0020737628 0.0044956448 + 1188400 0.0046795901 0.0019977318 0.0043009676 + 1188500 0.0046045242 0.001939539 0.0042058282 + 1188600 0.005464208 0.0020064595 0.0046958743 + 1188700 0.0034153815 0.0023600094 0.0040410175 + 1188800 0.0058457363 0.0025647976 0.005441996 + 1188900 0.0041502352 0.0027053406 0.0047480345 + 1189000 0.005723896 0.0029918002 0.0058090303 + 1189100 0.0065649674 0.0025979775 0.0058291724 + 1189200 0.0042801067 0.0023721368 0.0044787519 + 1189300 0.0041382398 0.002337125 0.0043739149 + 1189400 0.0046404329 0.0026720338 0.0049559969 + 1189500 0.0039087333 0.0025808407 0.0045046704 + 1189600 0.004550926 0.0026732666 0.0049131755 + 1189700 0.0047807328 0.0025633285 0.0049163455 + 1189800 0.0057705571 0.0031625825 0.0060027786 + 1189900 0.0055171036 0.0030481 0.0057635494 + 1190000 0.0062923717 0.0021359855 0.0052330122 + 1190100 0.004133751 0.0021845521 0.0042191327 + 1190200 0.0039437047 0.0020296652 0.0039707074 + 1190300 0.0036375438 0.0020591844 0.0038495379 + 1190400 0.0048065433 0.0023058623 0.0046715828 + 1190500 0.0051183712 0.0022862697 0.004805468 + 1190600 0.0046681179 0.0022795131 0.0045771024 + 1190700 0.0051319745 0.0022472257 0.0047731194 + 1190800 0.0049634575 0.0022835267 0.0047264785 + 1190900 0.0039127975 0.0020546351 0.0039804651 + 1191000 0.0042048282 0.0019849377 0.0040545016 + 1191100 0.0049943366 0.0017359821 0.0041941322 + 1191200 0.005942727 0.0016542624 0.0045791984 + 1191300 0.0050840029 0.0017188646 0.0042211473 + 1191400 0.0043717535 0.0018790101 0.0040307325 + 1191500 0.0040322799 0.0019895569 0.0039741946 + 1191600 0.0054553578 0.0020110553 0.0046961142 + 1191700 0.0057791883 0.0020567417 0.0049011859 + 1191800 0.0033698721 0.0027096618 0.0043682707 + 1191900 0.0046019103 0.0023207091 0.0045857119 + 1192000 0.0044742205 0.0018351575 0.0040373129 + 1192100 0.0043251497 0.0015115511 0.0036403357 + 1192200 0.004740744 0.001649426 0.0039827609 + 1192300 0.0039004772 0.0018879691 0.0038077352 + 1192400 0.0050399357 0.0018985476 0.004379141 + 1192500 0.0034601525 0.001935446 0.0036384899 + 1192600 0.0045518137 0.0019099518 0.0041502976 + 1192700 0.0049079663 0.0019549301 0.0043705697 + 1192800 0.0047966638 0.0018555793 0.0042164372 + 1192900 0.0049179118 0.0020964493 0.004516984 + 1193000 0.0045864601 0.0023266828 0.0045840811 + 1193100 0.0057647085 0.0021047202 0.0049420376 + 1193200 0.0048480927 0.0023131917 0.0046993623 + 1193300 0.0049842387 0.0027435018 0.0051966818 + 1193400 0.0064220453 0.0029053417 0.0060661921 + 1193500 0.0055810439 0.0028548136 0.0056017337 + 1193600 0.0056067333 0.0021960871 0.0049556512 + 1193700 0.0040057603 0.0021133201 0.0040849053 + 1193800 0.0041805897 0.0022843307 0.0043419647 + 1193900 0.0044317578 0.0024790074 0.0046602632 + 1194000 0.0055293148 0.0026354129 0.0053568725 + 1194100 0.0050302727 0.0024175057 0.0048933431 + 1194200 0.0044063859 0.0020824519 0.00425122 + 1194300 0.0050880699 0.0021112587 0.0046155431 + 1194400 0.006471084 0.0019888308 0.0051738175 + 1194500 0.0062873667 0.0023228454 0.0054174087 + 1194600 0.006277246 0.0030785424 0.0061681244 + 1194700 0.004059035 0.0034276752 0.0054254815 + 1194800 0.0037870165 0.0025435448 0.004407467 + 1194900 0.0045174309 0.0022693672 0.0044927902 + 1195000 0.0043787845 0.0017348978 0.0038900808 + 1195100 0.0064654874 0.0017118726 0.0048941047 + 1195200 0.0051781922 0.0021676791 0.0047163206 + 1195300 0.0053157284 0.0022911142 0.0049074492 + 1195400 0.0052427389 0.0018647167 0.0044451272 + 1195500 0.0051493857 0.002005871 0.0045403343 + 1195600 0.0058376264 0.0024961236 0.0053693304 + 1195700 0.0047029697 0.0026631803 0.0049779232 + 1195800 0.0056205958 0.0028577368 0.0056241238 + 1195900 0.0043862998 0.0035689755 0.0057278574 + 1196000 0.0055916089 0.0033943345 0.0061464545 + 1196100 0.0074634459 0.0025033852 0.0061768 + 1196200 0.0043615056 0.0021710353 0.0043177138 + 1196300 0.0041110056 0.002498458 0.0045218435 + 1196400 0.0056548847 0.0026845718 0.0054678354 + 1196500 0.0059698807 0.00242575 0.0053640507 + 1196600 0.0061622862 0.0028053175 0.0058383178 + 1196700 0.0052334198 0.0030421055 0.0056179293 + 1196800 0.0066818226 0.0025901899 0.0058788994 + 1196900 0.0057000851 0.0020054826 0.0048109933 + 1197000 0.0051046653 0.0023050199 0.0048174723 + 1197100 0.0045360525 0.0023315401 0.0045641285 + 1197200 0.0055532188 0.0023609728 0.0050941977 + 1197300 0.0044388026 0.0023409294 0.0045256525 + 1197400 0.0060211676 0.0022347056 0.0051982491 + 1197500 0.0057894809 0.0023731811 0.0052226912 + 1197600 0.0049909833 0.0024972521 0.0049537517 + 1197700 0.0056658842 0.0022244783 0.0050131557 + 1197800 0.0051238035 0.0020711178 0.0045929899 + 1197900 0.0039661142 0.0021037315 0.0040558034 + 1198000 0.004324354 0.0021482489 0.0042766419 + 1198100 0.0049987248 0.0024683807 0.0049286906 + 1198200 0.0048029936 0.0026816146 0.005045588 + 1198300 0.0055900875 0.0025406139 0.0052919851 + 1198400 0.0045535623 0.0021070613 0.0043482677 + 1198500 0.0073596399 0.001918237 0.0055405598 + 1198600 0.005160319 0.0018358318 0.0043756763 + 1198700 0.005459474 0.0022805033 0.0049675881 + 1198800 0.0056220775 0.0026884223 0.0054555386 + 1198900 0.0060642558 0.0029718136 0.0059565646 + 1199000 0.006120677 0.0031038696 0.0061163903 + 1199100 0.0053423798 0.0030823506 0.0057118032 + 1199200 0.0047358006 0.0024891519 0.0048200537 + 1199300 0.0043089264 0.0018196529 0.0039404526 + 1199400 0.0052287997 0.0019874939 0.0045610438 + 1199500 0.0037841167 0.0022714013 0.0041338962 + 1199600 0.0043969554 0.0024702036 0.0046343301 + 1199700 0.0037664337 0.0025157273 0.0043695188 + 1199800 0.004353897 0.00259263 0.0047355637 + 1199900 0.0044502023 0.0025772057 0.0047675397 + 1200000 0.0048397824 0.0029985254 0.0053806058 + 1200100 0.0056948663 0.0029591496 0.0057620916 + 1200200 0.0042965809 0.0024517638 0.0045664872 + 1200300 0.0085373282 0.0020721422 0.0062741084 + 1200400 0.0056517706 0.0018125884 0.0045943193 + 1200500 0.004927299 0.0017250759 0.0041502308 + 1200600 0.005041472 0.0020159676 0.0044973171 + 1200700 0.003504487 0.0023133519 0.0040382166 + 1200800 0.005954196 0.0020210513 0.0049516322 + 1200900 0.0054147844 0.0024644983 0.0051295875 + 1201000 0.005616405 0.0028034334 0.0055677577 + 1201100 0.0051184289 0.0026247314 0.0051439581 + 1201200 0.0050033258 0.0024022792 0.0048648536 + 1201300 0.0040557993 0.002162859 0.0041590727 + 1201400 0.0038828738 0.0021018947 0.0040129967 + 1201500 0.0048458476 0.0023208324 0.004705898 + 1201600 0.0036336694 0.002507891 0.0042963377 + 1201700 0.006034539 0.0019479496 0.0049180742 + 1201800 0.0048445692 0.0016942285 0.0040786649 + 1201900 0.0062859811 0.0022072477 0.005301129 + 1202000 0.0039484239 0.0026036133 0.0045469782 + 1202100 0.0039875456 0.0024622432 0.0044248633 + 1202200 0.0044094011 0.002355052 0.0045253041 + 1202300 0.0061321558 0.0022311533 0.0052493237 + 1202400 0.0047425348 0.0022765668 0.0046107832 + 1202500 0.0045876475 0.0020317304 0.0042897132 + 1202600 0.0048605446 0.0021915055 0.0045838048 + 1202700 0.0051522249 0.0024042987 0.0049401594 + 1202800 0.0039226774 0.0028017198 0.0047324125 + 1202900 0.0049999425 0.0023570894 0.0048179986 + 1203000 0.0048782059 0.0024650853 0.0048660773 + 1203100 0.0049095438 0.0023223237 0.0047387398 + 1203200 0.0050456966 0.0018854191 0.0043688479 + 1203300 0.0060288494 0.001421438 0.0043887623 + 1203400 0.0037650539 0.0017868116 0.0036399241 + 1203500 0.0039429342 0.0018061983 0.0037468612 + 1203600 0.0055651842 0.0017170103 0.0044561244 + 1203700 0.005226677 0.001281404 0.0038539091 + 1203800 0.0041952881 0.0014866532 0.0035515216 + 1203900 0.0055436826 0.0016976927 0.004426224 + 1204000 0.0057549582 0.0021212646 0.004953783 + 1204100 0.0049441603 0.002782588 0.0052160419 + 1204200 0.0038610003 0.0031707592 0.0050710953 + 1204300 0.0032411958 0.0027428717 0.0043381478 + 1204400 0.0051596955 0.0022302411 0.0047697788 + 1204500 0.0052046051 0.0017547717 0.0043164132 + 1204600 0.0058760337 0.001655476 0.0045475863 + 1204700 0.0048045011 0.0014743571 0.0038390725 + 1204800 0.0038877101 0.0017113885 0.0036248708 + 1204900 0.0043147994 0.0023967269 0.0045204173 + 1205000 0.004547354 0.0024106195 0.0046487703 + 1205100 0.0054916983 0.0022877994 0.0049907447 + 1205200 0.0046060682 0.0021972855 0.0044643347 + 1205300 0.0048808869 0.0023384042 0.0047407157 + 1205400 0.0069886147 0.0024347014 0.0058744102 + 1205500 0.005247617 0.0027896271 0.0053724386 + 1205600 0.0051197597 0.003033026 0.0055529078 + 1205700 0.0046292736 0.0029726993 0.0052511699 + 1205800 0.0041346817 0.002889224 0.0049242627 + 1205900 0.0043225411 0.0027759965 0.0049034973 + 1206000 0.004890335 0.002282187 0.0046891487 + 1206100 0.005465042 0.0022470734 0.0049368988 + 1206200 0.0057512089 0.0026436416 0.0054743147 + 1206300 0.0057687407 0.0030555779 0.0058948799 + 1206400 0.0042828759 0.0029736637 0.0050816417 + 1206500 0.0045747155 0.0024274583 0.0046790761 + 1206600 0.0041719427 0.0024792821 0.0045326601 + 1206700 0.0046936953 0.0023621667 0.0046723448 + 1206800 0.0060793932 0.0026988067 0.005691008 + 1206900 0.0054675403 0.0024406264 0.0051316813 + 1207000 0.0054572846 0.0026956574 0.0053816647 + 1207100 0.0063322018 0.0031107784 0.006227409 + 1207200 0.0052965031 0.0032640035 0.0058708761 + 1207300 0.0060661898 0.0032755208 0.0062612235 + 1207400 0.0056650965 0.002390232 0.0051785217 + 1207500 0.005873722 0.0022128592 0.0051038317 + 1207600 0.0047416481 0.0026211381 0.004954918 + 1207700 0.0035334747 0.0024777924 0.0042169245 + 1207800 0.0045617174 0.002042445 0.0042876653 + 1207900 0.0072421779 0.0020643137 0.0056288231 + 1208000 0.0049707095 0.0023341849 0.004780706 + 1208100 0.0059523597 0.0028754375 0.0058051145 + 1208200 0.0037416857 0.0030007853 0.0048423962 + 1208300 0.0039064487 0.0028588994 0.0047816046 + 1208400 0.0057560044 0.002724714 0.0055577474 + 1208500 0.0033467087 0.0025108053 0.0041580135 + 1208600 0.0043642644 0.0023749365 0.0045229729 + 1208700 0.006696901 0.0022545427 0.0055506737 + 1208800 0.0059554279 0.0022253286 0.0051565158 + 1208900 0.0063179369 0.0022312312 0.0053408408 + 1209000 0.0054485326 0.0024447725 0.0051264721 + 1209100 0.0049494661 0.0024643825 0.0049004479 + 1209200 0.0052579208 0.0026074309 0.0051953138 + 1209300 0.0058546341 0.0026915776 0.0055731553 + 1209400 0.0059847835 0.002375609 0.0053212446 + 1209500 0.0044756146 0.0024801069 0.0046829485 + 1209600 0.0049061497 0.0025211221 0.0049358677 + 1209700 0.0055479769 0.0022117562 0.0049424011 + 1209800 0.0050061942 0.0024196658 0.004883652 + 1209900 0.0036959163 0.002582736 0.0044018198 + 1210000 0.0042293154 0.0028066588 0.004888275 + 1210100 0.0035338903 0.0025379151 0.0042772518 + 1210200 0.0076621988 0.0020594973 0.0058307358 + 1210300 0.006318384 0.0025595049 0.0056693345 + 1210400 0.0048662291 0.0029147448 0.0053098419 + 1210500 0.0060016782 0.0026292062 0.0055831572 + 1210600 0.0049176744 0.0024200584 0.0048404763 + 1210700 0.0051608246 0.0028653836 0.0054054769 + 1210800 0.0051235871 0.0023827098 0.0049044753 + 1210900 0.0039601648 0.0020561345 0.0040052782 + 1211000 0.004889577 0.0021050262 0.0045116149 + 1211100 0.003849822 0.0023847973 0.0042796315 + 1211200 0.0059160069 0.0019227733 0.0048345579 + 1211300 0.004302355 0.0023200618 0.0044376272 + 1211400 0.0052592455 0.002718649 0.0053071839 + 1211500 0.0058097349 0.0026406223 0.0055001012 + 1211600 0.0054613147 0.0029309485 0.0056189393 + 1211700 0.0047386593 0.0029021282 0.0052344371 + 1211800 0.0045396334 0.0028571666 0.0050915174 + 1211900 0.0049293006 0.0026905359 0.0051166761 + 1212000 0.0048651237 0.0029652787 0.0053598318 + 1212100 0.0062395956 0.0030240974 0.0060951483 + 1212200 0.0049007871 0.0030903527 0.0055024589 + 1212300 0.0059142767 0.0023333719 0.0052443049 + 1212400 0.005728838 0.0017663708 0.0045860333 + 1212500 0.0054478209 0.0019140842 0.0045954335 + 1212600 0.0053085672 0.0021288283 0.0047416387 + 1212700 0.0066388977 0.0022754933 0.0055430757 + 1212800 0.0071728326 0.0022786689 0.0058090475 + 1212900 0.0058785421 0.0019472542 0.0048405992 + 1213000 0.0046472809 0.0021778349 0.0044651685 + 1213100 0.0057780468 0.0022246784 0.0050685608 + 1213200 0.0045155899 0.0029014014 0.0051239183 + 1213300 0.0048476497 0.0029637325 0.0053496851 + 1213400 0.0073512852 0.0023502775 0.0059684882 + 1213500 0.0054109492 0.0028666653 0.0055298669 + 1213600 0.0031324996 0.0032006807 0.0047424579 + 1213700 0.0045026935 0.0030996529 0.0053158223 + 1213800 0.006016447 0.0025878049 0.0055490249 + 1213900 0.0052464865 0.0029593042 0.0055415592 + 1214000 0.0062682995 0.0035237722 0.0066089509 + 1214100 0.0054905535 0.0036058439 0.0063082257 + 1214200 0.0056817796 0.0034950392 0.00629154 + 1214300 0.004802663 0.0032925129 0.0056563235 + 1214400 0.0062047387 0.0031647131 0.0062186079 + 1214500 0.0053456069 0.0031535 0.0057845409 + 1214600 0.0035283965 0.0028929178 0.0046295505 + 1214700 0.0048994066 0.0028063808 0.0052178075 + 1214800 0.004858487 0.0026939112 0.0050851977 + 1214900 0.0059747293 0.0026882957 0.0056289828 + 1215000 0.0054461585 0.0028681759 0.0055487071 + 1215100 0.0043019055 0.0035028345 0.0056201786 + 1215200 0.0048082914 0.0032874425 0.0056540235 + 1215300 0.0057753983 0.0025592429 0.0054018217 + 1215400 0.0063689086 0.002151554 0.0052862512 + 1215500 0.0042727114 0.0021666805 0.0042696557 + 1215600 0.0046828501 0.0021832442 0.0044880845 + 1215700 0.0032781024 0.0024834746 0.0040969157 + 1215800 0.0057783419 0.002535503 0.0053795306 + 1215900 0.0044408758 0.0029748491 0.0051605926 + 1216000 0.0065501052 0.0035888902 0.0068127701 + 1216100 0.0052506151 0.0035314747 0.0061157618 + 1216200 0.0043816317 0.0025426369 0.0046992212 + 1216300 0.0062204337 0.002094104 0.0051557237 + 1216400 0.0044023282 0.0020092758 0.0041760467 + 1216500 0.0039993672 0.0020833824 0.004051821 + 1216600 0.0047463522 0.0020617051 0.0043978003 + 1216700 0.0050699222 0.0023547202 0.0048500726 + 1216800 0.0057518144 0.0024278842 0.0052588553 + 1216900 0.0045622587 0.0025186488 0.0047641355 + 1217000 0.0047771375 0.0031284465 0.0054796939 + 1217100 0.0065906273 0.002479284 0.0057231083 + 1217200 0.0069933303 0.0023088158 0.0057508456 + 1217300 0.0049322923 0.0024709939 0.0048986065 + 1217400 0.0048690159 0.0020320224 0.0044284912 + 1217500 0.0059357554 0.0018033543 0.0047248589 + 1217600 0.0062066811 0.002187672 0.0052425229 + 1217700 0.0052501451 0.00296921 0.0055532658 + 1217800 0.0049055217 0.0029142777 0.0053287142 + 1217900 0.0053914569 0.002379077 0.0050326847 + 1218000 0.0054044527 0.0020913024 0.0047513065 + 1218100 0.0043192292 0.0024267048 0.0045525755 + 1218200 0.0045400236 0.0024769657 0.0047115085 + 1218300 0.0047395202 0.0025773831 0.0049101157 + 1218400 0.0059275556 0.0023056917 0.0052231605 + 1218500 0.004136298 0.0022195036 0.0042553378 + 1218600 0.0039795584 0.0022358132 0.0041945021 + 1218700 0.0051930229 0.0023052182 0.0048611592 + 1218800 0.0055838809 0.0028242516 0.005572568 + 1218900 0.0052922197 0.002941635 0.0055463994 + 1219000 0.0056782081 0.0025639944 0.0053587375 + 1219100 0.0073217522 0.0027177935 0.0063214684 + 1219200 0.0064951577 0.0026965439 0.0058933793 + 1219300 0.0036607861 0.0026617539 0.004463547 + 1219400 0.0041885048 0.0026505068 0.0047120365 + 1219500 0.0030679166 0.0027965838 0.004306574 + 1219600 0.0051904074 0.0027523666 0.0053070202 + 1219700 0.0048290064 0.0023566697 0.0047334464 + 1219800 0.0057848814 0.0021035456 0.0049507919 + 1219900 0.0032681727 0.0023120882 0.003920642 + 1220000 0.0046546746 0.0025902241 0.0048811967 + 1220100 0.0042862267 0.0026667382 0.0047763654 + 1220200 0.0045422892 0.0028601542 0.0050958122 + 1220300 0.0051665694 0.0028299723 0.0053728931 + 1220400 0.0046243504 0.0027409923 0.0050170398 + 1220500 0.0040975276 0.0024237456 0.0044404974 + 1220600 0.0052454602 0.0023119411 0.004893691 + 1220700 0.0050795896 0.0025396096 0.0050397201 + 1220800 0.0057129892 0.0021088713 0.0049207331 + 1220900 0.0045147744 0.0018779955 0.004100111 + 1221000 0.0042333437 0.0016137135 0.0036973124 + 1221100 0.0046074074 0.0016511602 0.0039188685 + 1221200 0.0042009628 0.002302614 0.0043702753 + 1221300 0.0040306256 0.002404108 0.0043879315 + 1221400 0.0042089756 0.001996467 0.0040680721 + 1221500 0.0048265935 0.0015570101 0.003932599 + 1221600 0.0042594324 0.0019672714 0.0040637108 + 1221700 0.0049642239 0.0019786935 0.0044220225 + 1221800 0.0051294983 0.0017801083 0.0043047832 + 1221900 0.0050731472 0.0024127553 0.0049096949 + 1222000 0.0069720653 0.0027819869 0.0062135503 + 1222100 0.0047009576 0.0027660321 0.0050797846 + 1222200 0.0063094229 0.0026184044 0.0057238235 + 1222300 0.0055778362 0.00260465 0.0053499912 + 1222400 0.0050751173 0.0025146824 0.0050125917 + 1222500 0.004206964 0.0020582983 0.0041289134 + 1222600 0.0057556451 0.0022597906 0.0050926471 + 1222700 0.004443683 0.0029161554 0.0051032806 + 1222800 0.0049953291 0.0025484776 0.0050071161 + 1222900 0.0063889794 0.0022665723 0.0054111481 + 1223000 0.0037675594 0.0028607942 0.0047151399 + 1223100 0.0047193857 0.0026286743 0.0049514969 + 1223200 0.0047468908 0.0016519714 0.0039883317 + 1223300 0.0053150978 0.0015170434 0.0041330681 + 1223400 0.0057598954 0.0021115203 0.0049464688 + 1223500 0.0057183835 0.0024325882 0.0052471051 + 1223600 0.0082657698 0.0023807175 0.0064490261 + 1223700 0.0049978105 0.0029653545 0.0054252143 + 1223800 0.004919839 0.0028840716 0.0053055548 + 1223900 0.0047853847 0.0028033543 0.0051586608 + 1224000 0.0054391534 0.0028703582 0.0055474415 + 1224100 0.0058122434 0.0027146789 0.0055753925 + 1224200 0.0058374384 0.0022979286 0.0051710428 + 1224300 0.0045372962 0.0020993286 0.0043325291 + 1224400 0.0048139604 0.0021293203 0.0044986914 + 1224500 0.0040375391 0.0020698327 0.0040570589 + 1224600 0.0056507088 0.002063074 0.0048442822 + 1224700 0.0046544924 0.0020300756 0.0043209586 + 1224800 0.0058483779 0.0018757672 0.0047542656 + 1224900 0.0049266212 0.0016251179 0.0040499393 + 1225000 0.0048433937 0.0016336109 0.0040174687 + 1225100 0.0048233947 0.0017063202 0.0040803348 + 1225200 0.0068066668 0.0017354214 0.0050855777 + 1225300 0.0048150804 0.0023169682 0.0046868906 + 1225400 0.0061732895 0.0018313699 0.0048697859 + 1225500 0.0054478093 0.0017642771 0.0044456207 + 1225600 0.004515565 0.0017940164 0.0040165211 + 1225700 0.0039821238 0.0015221257 0.0034820772 + 1225800 0.0044718055 0.0015499657 0.0037509324 + 1225900 0.0039962911 0.0015641427 0.0035310672 + 1226000 0.0048457743 0.0014110059 0.0037960354 + 1226100 0.0045233952 0.001631044 0.0038574026 + 1226200 0.0073484596 0.0017745575 0.0053913775 + 1226300 0.0050418068 0.0021549454 0.0046364597 + 1226400 0.0059306339 0.0024179556 0.0053369394 + 1226500 0.0064048625 0.0022420931 0.0053944863 + 1226600 0.0045408091 0.0024521858 0.0046871152 + 1226700 0.0053824017 0.0025228679 0.0051720187 + 1226800 0.0059537017 0.0025681724 0.00549851 + 1226900 0.0055203249 0.0025305108 0.0052475457 + 1227000 0.0049075032 0.0022913688 0.0047067805 + 1227100 0.0054366991 0.0020503133 0.0047261886 + 1227200 0.0051719971 0.0019892482 0.0045348405 + 1227300 0.004280952 0.0018530044 0.0039600355 + 1227400 0.0046513473 0.0024073878 0.0046967229 + 1227500 0.0042671387 0.0024568344 0.0045570668 + 1227600 0.0042597034 0.0020765118 0.0041730845 + 1227700 0.006561945 0.0020490525 0.0052787598 + 1227800 0.006924469 0.0018717082 0.0052798453 + 1227900 0.0050009298 0.0023627638 0.0048241589 + 1228000 0.0048267229 0.002281396 0.0046570486 + 1228100 0.0069201604 0.0021534439 0.0055594604 + 1228200 0.0040663328 0.002437249 0.0044386471 + 1228300 0.0053759924 0.0022533064 0.0048993026 + 1228400 0.0069911563 0.0021034827 0.0055444425 + 1228500 0.0039183538 0.002430185 0.0043587497 + 1228600 0.0054034341 0.0019964671 0.0046559699 + 1228700 0.0060334236 0.0019935843 0.0049631599 + 1228800 0.0048584217 0.0027281079 0.0051193624 + 1228900 0.0050352251 0.0028492337 0.0053275085 + 1229000 0.0047947063 0.0025420406 0.0049019351 + 1229100 0.0065907058 0.0023499617 0.0055938247 + 1229200 0.0059306968 0.0024204175 0.0053394324 + 1229300 0.0049379314 0.0028035737 0.0052339619 + 1229400 0.0050806055 0.0023594841 0.0048600946 + 1229500 0.0059283579 0.0025266228 0.0054444864 + 1229600 0.0046827882 0.0029776205 0.0052824303 + 1229700 0.0045226829 0.0025642299 0.0047902378 + 1229800 0.0078126209 0.0023407876 0.0061860619 + 1229900 0.005102973 0.0024801823 0.0049918018 + 1230000 0.0028762766 0.0025941207 0.0040097881 + 1230100 0.0057021063 0.0021764441 0.0049829496 + 1230200 0.0060147642 0.0022411486 0.0052015403 + 1230300 0.0050250363 0.0028780631 0.0053513232 + 1230400 0.0069831912 0.0031589414 0.0065959809 + 1230500 0.0048412529 0.0031412514 0.0055240556 + 1230600 0.0055623998 0.0026360253 0.005373769 + 1230700 0.0053450739 0.002300077 0.0049308556 + 1230800 0.0043664861 0.0018254803 0.0039746102 + 1230900 0.0058788005 0.0017862477 0.0046797198 + 1231000 0.0053619382 0.0019112507 0.0045503297 + 1231100 0.005667702 0.0019270215 0.0047165936 + 1231200 0.0052366059 0.0021275956 0.0047049876 + 1231300 0.0061332731 0.0024628224 0.0054815428 + 1231400 0.005747819 0.0025994762 0.0054284809 + 1231500 0.0050520687 0.0021636921 0.0046502572 + 1231600 0.0046158516 0.0021841067 0.0044559711 + 1231700 0.0044164684 0.0024861854 0.0046599159 + 1231800 0.0050359302 0.0031316728 0.0056102947 + 1231900 0.0061090328 0.0032046378 0.0062114273 + 1232000 0.0053872939 0.0033050268 0.0059565855 + 1232100 0.005035314 0.0031471438 0.0056254624 + 1232200 0.0051782077 0.0026260737 0.0051747228 + 1232300 0.0032092317 0.0032636099 0.0048431536 + 1232400 0.0050047025 0.0035896428 0.0060528948 + 1232500 0.0053363284 0.0031602652 0.0057867394 + 1232600 0.0061990982 0.0031502771 0.0062013957 + 1232700 0.0039547315 0.0030124199 0.0049588893 + 1232800 0.0043389192 0.0024555548 0.0045911165 + 1232900 0.0046728571 0.002128154 0.0044280759 + 1233000 0.0048821114 0.0021940671 0.0045969813 + 1233100 0.0039130626 0.00234896 0.0042749205 + 1233200 0.0063319603 0.0022327233 0.005349235 + 1233300 0.0047964392 0.0021576711 0.0045184185 + 1233400 0.0060206691 0.0022781815 0.0052414795 + 1233500 0.0033723067 0.0028253178 0.004485125 + 1233600 0.0046302495 0.0029106819 0.0051896329 + 1233700 0.0049049495 0.0029237816 0.0053379364 + 1233800 0.0061409705 0.0028068974 0.0058294063 + 1233900 0.0067821285 0.0024173896 0.0057554685 + 1234000 0.0040805397 0.0024376954 0.0044460861 + 1234100 0.0040954621 0.0023895534 0.0044052887 + 1234200 0.0049732892 0.0018259751 0.0042737659 + 1234300 0.0051297195 0.0016215276 0.0041463115 + 1234400 0.003403357 0.0018033431 0.0034784329 + 1234500 0.0053329132 0.0017289161 0.0043537093 + 1234600 0.0047362568 0.0018868345 0.0042179608 + 1234700 0.0034353682 0.0025200455 0.0042108908 + 1234800 0.0053619538 0.0029337718 0.0055728584 + 1234900 0.0054469251 0.0027910671 0.0054719756 + 1235000 0.0065824869 0.0022884819 0.0055282997 + 1235100 0.0068665914 0.0016106396 0.0049902901 + 1235200 0.0054533878 0.0020016552 0.0046857445 + 1235300 0.004691804 0.0024287352 0.0047379825 + 1235400 0.005632482 0.002445846 0.0052180833 + 1235500 0.0054185427 0.0020603348 0.0047272738 + 1235600 0.0034842239 0.0020043585 0.0037192499 + 1235700 0.0056164293 0.0018251455 0.0045894818 + 1235800 0.005384175 0.002228948 0.0048789717 + 1235900 0.003913293 0.0021824128 0.0041084867 + 1236000 0.0047972269 0.0023671696 0.0047283047 + 1236100 0.0058163278 0.0025488036 0.0054115275 + 1236200 0.0049109133 0.0026593405 0.0050764307 + 1236300 0.0064137247 0.0022623216 0.0054190767 + 1236400 0.0048742713 0.0022921082 0.0046911636 + 1236500 0.0039297645 0.0022233683 0.0041575493 + 1236600 0.0048157161 0.0018914065 0.0042616418 + 1236700 0.0051133343 0.0020781277 0.0045948469 + 1236800 0.0063268304 0.0025620711 0.0056760579 + 1236900 0.0056677268 0.0030686558 0.0058582401 + 1237000 0.0056234543 0.0027688021 0.005536596 + 1237100 0.0060204752 0.0020805294 0.0050437321 + 1237200 0.0046423574 0.0019584215 0.0042433318 + 1237300 0.004471166 0.0024178469 0.0046184989 + 1237400 0.0041461934 0.0023478731 0.0043885777 + 1237500 0.0042672948 0.0022112943 0.0043116035 + 1237600 0.0061008656 0.0022907719 0.0052935417 + 1237700 0.0037166717 0.0023374851 0.0041667845 + 1237800 0.0052461219 0.0023049456 0.0048870212 + 1237900 0.0042694114 0.0022395823 0.0043409332 + 1238000 0.0042333639 0.0021542758 0.0042378846 + 1238100 0.0058909222 0.0019259586 0.0048253969 + 1238200 0.0052600495 0.0020199149 0.0046088455 + 1238300 0.0039136142 0.002278884 0.004205116 + 1238400 0.0039276346 0.0026023592 0.0045354918 + 1238500 0.005539344 0.002334869 0.0050612649 + 1238600 0.0057110005 0.0023119051 0.0051227881 + 1238700 0.00581371 0.0022243015 0.0050857369 + 1238800 0.0062743418 0.0018667249 0.0049548775 + 1238900 0.0037474317 0.001855116 0.0036995551 + 1239000 0.0048499377 0.0020325386 0.0044196173 + 1239100 0.0062714832 0.0018883841 0.0049751298 + 1239200 0.0033775076 0.0026940145 0.0043563815 + 1239300 0.0048033108 0.0026714625 0.005035592 + 1239400 0.0060498047 0.0019450109 0.0049226491 + 1239500 0.0033603561 0.0015045451 0.0031584704 + 1239600 0.0043624541 0.0014635049 0.0036106502 + 1239700 0.0037392102 0.0017988299 0.0036392224 + 1239800 0.0047230414 0.002043694 0.004368316 + 1239900 0.0061664976 0.0017709376 0.0048060106 + 1240000 0.0048525684 0.0017247608 0.0041131343 + 1240100 0.0048664626 0.0015665742 0.0039617862 + 1240200 0.0057113485 0.0017806763 0.0045917306 + 1240300 0.0055151661 0.0018243486 0.0045388444 + 1240400 0.0038944896 0.0015186488 0.0034354679 + 1240500 0.0043149892 0.0023025543 0.0044263381 + 1240600 0.0039607017 0.0021148354 0.0040642433 + 1240700 0.0053274384 0.0019414303 0.0045635289 + 1240800 0.0046485663 0.0020199191 0.0043078853 + 1240900 0.0056744884 0.0020271434 0.0048200557 + 1241000 0.004837024 0.0019919981 0.0043727208 + 1241100 0.0056279413 0.0017171797 0.0044871821 + 1241200 0.0042303405 0.0014768617 0.0035589824 + 1241300 0.0040728642 0.0020742721 0.0040788849 + 1241400 0.0049310569 0.0028123287 0.0052393332 + 1241500 0.0062907315 0.0022959924 0.0053922118 + 1241600 0.0061649672 0.0020517286 0.0050860484 + 1241700 0.0072632881 0.0020427448 0.0056176444 + 1241800 0.0045060623 0.002277954 0.0044957816 + 1241900 0.0051128134 0.002304919 0.0048213819 + 1242000 0.0046084622 0.0020342912 0.0043025188 + 1242100 0.0051847969 0.001744761 0.0042966532 + 1242200 0.0055932032 0.0017502616 0.0045031664 + 1242300 0.0035853666 0.0014742469 0.0032389195 + 1242400 0.0041875499 0.0014568165 0.0035178762 + 1242500 0.0050660687 0.0016534031 0.0041468588 + 1242600 0.0043966687 0.0018749647 0.00403895 + 1242700 0.0059062447 0.0017737252 0.004680705 + 1242800 0.0043522168 0.0017524942 0.0038946009 + 1242900 0.0039637707 0.0013373081 0.0032882265 + 1243000 0.0076667273 0.0016882676 0.0054617349 + 1243100 0.0052582797 0.0019545873 0.0045426468 + 1243200 0.0048662798 0.0018871902 0.0042823123 + 1243300 0.005814271 0.001682517 0.0045442285 + 1243400 0.0039637021 0.0020406104 0.003991495 + 1243500 0.0040489991 0.0022657198 0.0042585866 + 1243600 0.0047495083 0.0019765161 0.0043141647 + 1243700 0.0035854754 0.0021508215 0.0039155477 + 1243800 0.0040920294 0.0022962466 0.0043102923 + 1243900 0.0053196501 0.0019429551 0.0045612204 + 1244000 0.0030054573 0.0021602589 0.0036395074 + 1244100 0.0033355754 0.0027500569 0.0043917854 + 1244200 0.0052775291 0.0029715007 0.0055690346 + 1244300 0.0064058364 0.0029145613 0.0060674339 + 1244400 0.0070098065 0.0027039244 0.0061540635 + 1244500 0.0064830919 0.0026991709 0.0058900677 + 1244600 0.0052250381 0.0032123008 0.0057839992 + 1244700 0.0068761464 0.0032989401 0.0066832934 + 1244800 0.0047038862 0.0029660193 0.0052812133 + 1244900 0.0069825227 0.0019494858 0.0053861962 + 1245000 0.0051997027 0.0022563224 0.0048155511 + 1245100 0.0056507487 0.002885857 0.0056670849 + 1245200 0.0040069593 0.0031731832 0.0051453585 + 1245300 0.0046480222 0.0028963248 0.0051840232 + 1245400 0.0030465727 0.0028463494 0.0043458344 + 1245500 0.0038111168 0.0023741172 0.0042499013 + 1245600 0.0057492171 0.0022147666 0.0050444594 + 1245700 0.004326183 0.0022812967 0.0044105899 + 1245800 0.0046921199 0.0023697743 0.004679177 + 1245900 0.0048152772 0.0025547437 0.0049247629 + 1246000 0.0077692338 0.0027441203 0.00656804 + 1246100 0.0031387269 0.0033184994 0.0048633416 + 1246200 0.0048187257 0.0030776475 0.0054493641 + 1246300 0.0045439437 0.0021451121 0.0043815843 + 1246400 0.0050831372 0.0016076591 0.0041095157 + 1246500 0.0043886266 0.0015074191 0.0036674463 + 1246600 0.0036373899 0.0018362406 0.0036265184 + 1246700 0.0055368206 0.0020523228 0.0047774767 + 1246800 0.006222375 0.0025646121 0.0056271873 + 1246900 0.0052959664 0.0022625165 0.0048691249 + 1247000 0.005082019 0.0020673616 0.0045686678 + 1247100 0.0051129881 0.002669238 0.0051857868 + 1247200 0.0048525353 0.0031635051 0.0055518624 + 1247300 0.0056570351 0.0027960734 0.0055803954 + 1247400 0.0050043077 0.002881808 0.0053448657 + 1247500 0.0062550939 0.0028008668 0.0058795458 + 1247600 0.0055954371 0.0022960405 0.0050500447 + 1247700 0.0046348016 0.0024055515 0.0046867429 + 1247800 0.0060889472 0.002954424 0.0059513277 + 1247900 0.0044584938 0.0035792014 0.0057736163 + 1248000 0.0044575607 0.0035629229 0.0057568786 + 1248100 0.0069179665 0.0029516876 0.0063566242 + 1248200 0.0046141166 0.0027011071 0.0049721176 + 1248300 0.0057524725 0.0026464451 0.0054777402 + 1248400 0.0053718263 0.0025581152 0.005202061 + 1248500 0.0059708607 0.0026113909 0.0055501739 + 1248600 0.0055031282 0.0020214102 0.0047299811 + 1248700 0.0044514681 0.0021902838 0.0043812408 + 1248800 0.0064217389 0.00227167 0.0054323696 + 1248900 0.0049604042 0.0023595486 0.0048009976 + 1249000 0.0034311093 0.0020667344 0.0037554835 + 1249100 0.0044299999 0.0021673257 0.0043477163 + 1249200 0.0041251228 0.0022342742 0.0042646081 + 1249300 0.0049501894 0.0021730971 0.0046095184 + 1249400 0.0051487493 0.0021966464 0.0047307964 + 1249500 0.0052471279 0.0020765935 0.0046591643 + 1249600 0.0044894095 0.0018389406 0.0040485719 + 1249700 0.0051126388 0.0017623738 0.0042787507 + 1249800 0.0056093298 0.0019023752 0.0046632172 + 1249900 0.0058190594 0.0022496807 0.005113749 + 1250000 0.0052100519 0.0027700664 0.0053343888 + 1250100 0.0050714776 0.0024198653 0.0049159832 + 1250200 0.0044437665 0.0022467301 0.0044338964 + 1250300 0.0057923842 0.0025512052 0.0054021443 + 1250400 0.0051818043 0.0025784565 0.0051288758 + 1250500 0.0056892621 0.0025473468 0.0053475305 + 1250600 0.0052467394 0.0022839405 0.0048663201 + 1250700 0.0046108748 0.0023912268 0.0046606417 + 1250800 0.0043488034 0.0025559206 0.0046963473 + 1250900 0.0038467624 0.0023499847 0.0042433131 + 1251000 0.007154625 0.0019762438 0.0054976608 + 1251100 0.0051586617 0.0020334382 0.004572467 + 1251200 0.0049106748 0.001787422 0.0042043948 + 1251300 0.0042128616 0.0018863659 0.0039598838 + 1251400 0.0056320369 0.0019039961 0.0046760142 + 1251500 0.0052739135 0.0017944966 0.0043902509 + 1251600 0.0052197211 0.0017194333 0.0042885148 + 1251700 0.0050934763 0.0016517745 0.0041587199 + 1251800 0.0035470008 0.0022112791 0.0039570686 + 1251900 0.0057314635 0.0018934172 0.0047143719 + 1252000 0.0060271395 0.0016775045 0.0046439872 + 1252100 0.0045424927 0.0017356136 0.0039713717 + 1252200 0.0027931988 0.0021219107 0.0034966882 + 1252300 0.0056182994 0.0022779862 0.0050432429 + 1252400 0.0056368165 0.0024937588 0.0052681294 + 1252500 0.0035092861 0.0020417072 0.0037689339 + 1252600 0.0048965552 0.0019366739 0.0043466971 + 1252700 0.0045970161 0.0021699412 0.004432535 + 1252800 0.0042469065 0.0022645294 0.0043548037 + 1252900 0.0065872652 0.0026386857 0.0058808553 + 1253000 0.0040744366 0.0026695803 0.0046749671 + 1253100 0.0035305837 0.0025757127 0.0043134218 + 1253200 0.005278553 0.0022827211 0.0048807589 + 1253300 0.0032305822 0.0020802296 0.0036702817 + 1253400 0.0042337 0.0019818671 0.0040656413 + 1253500 0.0057732531 0.0021168621 0.0049583851 + 1253600 0.0057754684 0.0020946062 0.0049372196 + 1253700 0.0047540132 0.0025731901 0.004913056 + 1253800 0.0051156978 0.0022647518 0.0047826344 + 1253900 0.0056311906 0.0021559519 0.0049275535 + 1254000 0.0063498032 0.002147253 0.0052725467 + 1254100 0.005138296 0.0021362962 0.0046653013 + 1254200 0.0040551569 0.0023760812 0.0043719787 + 1254300 0.0054995277 0.0025700577 0.0052768565 + 1254400 0.0048069949 0.0022084548 0.0045743976 + 1254500 0.005098137 0.0020131971 0.0045224364 + 1254600 0.0060128383 0.0015883031 0.0045477469 + 1254700 0.0049295643 0.00153934 0.0039656099 + 1254800 0.0042052041 0.0015992443 0.0036689932 + 1254900 0.0039586186 0.0020671933 0.0040155759 + 1255000 0.0049371641 0.002478413 0.0049084235 + 1255100 0.0048608622 0.0026458685 0.0050383241 + 1255200 0.0061453869 0.002916698 0.0059413806 + 1255300 0.0045965285 0.0028031206 0.0050654745 + 1255400 0.0046503815 0.0025965393 0.004885399 + 1255500 0.0043007423 0.0025821638 0.0046989354 + 1255600 0.0048850299 0.0024757164 0.0048800671 + 1255700 0.0049696129 0.002709241 0.0051552223 + 1255800 0.0062989646 0.0021356945 0.0052359662 + 1255900 0.0059539769 0.0019223622 0.0048528352 + 1256000 0.0045916297 0.0023686365 0.0046285793 + 1256100 0.0044182886 0.0025674865 0.0047421129 + 1256200 0.0047017625 0.0025031397 0.0048172885 + 1256300 0.0052437843 0.0022174894 0.0047984145 + 1256400 0.0040477774 0.0021096928 0.0041019582 + 1256500 0.0042844041 0.0024933832 0.0046021134 + 1256600 0.0049465349 0.0027620741 0.0051966968 + 1256700 0.0045347884 0.002605662 0.0048376281 + 1256800 0.006837769 0.0018968784 0.0052623429 + 1256900 0.0054348954 0.0023096631 0.0049846506 + 1257000 0.005207694 0.0023794705 0.0049426324 + 1257100 0.0052823179 0.0022487453 0.0048486361 + 1257200 0.0064770141 0.0023939645 0.0055818699 + 1257300 0.0053783245 0.0029255245 0.0055726686 + 1257400 0.0050549823 0.0030409 0.0055288991 + 1257500 0.0041324715 0.0029288321 0.004962783 + 1257600 0.0047266029 0.0025940793 0.0049204541 + 1257700 0.0055560979 0.0024913369 0.0052259789 + 1257800 0.0046052531 0.0025721618 0.0048388099 + 1257900 0.0034831115 0.0024338562 0.0041482002 + 1258000 0.0046505908 0.0021195332 0.0044084958 + 1258100 0.0056644458 0.0019703004 0.0047582698 + 1258200 0.0042971384 0.002346211 0.0044612088 + 1258300 0.0044440161 0.0023822153 0.0045695045 + 1258400 0.0052990455 0.0021016822 0.0047098061 + 1258500 0.0056576539 0.0018780586 0.0046626852 + 1258600 0.004219213 0.0018434342 0.0039200781 + 1258700 0.0036394128 0.0018222667 0.0036135401 + 1258800 0.004814847 0.0018014152 0.0041712227 + 1258900 0.0045415771 0.0017216018 0.0039569093 + 1259000 0.00420961 0.0016719185 0.003743836 + 1259100 0.0040538659 0.0019326373 0.0039278994 + 1259200 0.0044142848 0.0019388396 0.0041114954 + 1259300 0.0042757849 0.0022871433 0.0043916312 + 1259400 0.0045743974 0.002163975 0.0044154362 + 1259500 0.0049636618 0.0020469027 0.004489955 + 1259600 0.0051178261 0.0017550119 0.0042739419 + 1259700 0.005317206 0.0019504788 0.0045675411 + 1259800 0.004644275 0.0027554542 0.0050413083 + 1259900 0.0054111317 0.0023281712 0.0049914626 + 1260000 0.0057232688 0.0021893799 0.0050063013 + 1260100 0.0043830436 0.0024390519 0.0045963311 + 1260200 0.0054093193 0.0023968841 0.0050592834 + 1260300 0.0053590466 0.002361037 0.0049986927 + 1260400 0.004983475 0.0023996042 0.0048524084 + 1260500 0.0045186173 0.0022619345 0.0044859414 + 1260600 0.004935706 0.0024519988 0.0048812916 + 1260700 0.0069236061 0.0026982906 0.006106003 + 1260800 0.0039050833 0.0033932164 0.0053152496 + 1260900 0.0047748506 0.0033624118 0.0057125336 + 1261000 0.0036806621 0.0031797897 0.0049913656 + 1261100 0.0047449439 0.0029382891 0.0052736911 + 1261200 0.0053381079 0.0028402267 0.0054675767 + 1261300 0.0058106843 0.0027167544 0.0055767006 + 1261400 0.0058224703 0.0025474059 0.005413153 + 1261500 0.0062514567 0.0021493945 0.0052262834 + 1261600 0.0047110995 0.0022597336 0.0045784779 + 1261700 0.0046377981 0.0021188633 0.0044015295 + 1261800 0.0049505124 0.0020977856 0.0045343659 + 1261900 0.0049507112 0.0019679115 0.0044045897 + 1262000 0.0038240691 0.0016356642 0.0035178232 + 1262100 0.0050936086 0.0016714183 0.0041784287 + 1262200 0.0049950233 0.0022963014 0.0047547895 + 1262300 0.004373746 0.0028051949 0.004957898 + 1262400 0.0045383375 0.0025811155 0.0048148285 + 1262500 0.00452484 0.0024290828 0.0046561525 + 1262600 0.0041354476 0.0024218344 0.00445725 + 1262700 0.005853989 0.002440528 0.0053217882 + 1262800 0.0052147304 0.0026516726 0.0052182977 + 1262900 0.0046933525 0.0028653833 0.0051753927 + 1263000 0.0058333911 0.0020919062 0.0049630284 + 1263100 0.0054319971 0.0017718889 0.00444545 + 1263200 0.0045918778 0.0020708754 0.0043309402 + 1263300 0.0065436874 0.0024577785 0.0056784997 + 1263400 0.0042695561 0.0022926194 0.0043940416 + 1263500 0.0046043795 0.0023552944 0.0046215124 + 1263600 0.0079829605 0.0024477266 0.00637684 + 1263700 0.0069154685 0.0027513823 0.0061550895 + 1263800 0.0067508055 0.0027863642 0.0061090263 + 1263900 0.0055239034 0.0028311872 0.0055499834 + 1264000 0.0047879402 0.0028762078 0.0052327721 + 1264100 0.0056683917 0.0026949404 0.005484852 + 1264200 0.0035484297 0.0025236573 0.00427015 + 1264300 0.0053283757 0.0022470143 0.0048695742 + 1264400 0.0055061698 0.0024930823 0.0052031503 + 1264500 0.0053089395 0.0025555437 0.0051685373 + 1264600 0.0053195857 0.002515013 0.0051332465 + 1264700 0.0050934444 0.0025257348 0.0050326644 + 1264800 0.006020449 0.0025010072 0.005464197 + 1264900 0.0040551729 0.0026651547 0.0046610601 + 1265000 0.0036453899 0.0029995038 0.0047937191 + 1265100 0.0049158387 0.0029827541 0.0054022685 + 1265200 0.0041132793 0.0025406002 0.0045651048 + 1265300 0.0051110744 0.0025849979 0.0051006049 + 1265400 0.0041824432 0.0027199691 0.0047785154 + 1265500 0.0045600889 0.0025880601 0.0048324789 + 1265600 0.0047966459 0.0024656017 0.0048264509 + 1265700 0.0034596971 0.0027882154 0.0044910351 + 1265800 0.0045720711 0.0025509862 0.0048013025 + 1265900 0.0045724605 0.0024609568 0.0047114647 + 1266000 0.005040599 0.0027884087 0.0052693285 + 1266100 0.0050662762 0.0031376491 0.0056312069 + 1266200 0.0058537411 0.0028142476 0.0056953858 + 1266300 0.0057455698 0.002599435 0.0054273326 + 1266400 0.0055045641 0.0028408249 0.0055501026 + 1266500 0.0039990201 0.0024595149 0.0044277826 + 1266600 0.00461609 0.0019839779 0.0042559598 + 1266700 0.0034866148 0.0021161738 0.003832242 + 1266800 0.0057803774 0.0021697168 0.0050147464 + 1266900 0.0040565361 0.0025220154 0.0045185918 + 1267000 0.0049278252 0.0023810284 0.0048064423 + 1267100 0.0054707644 0.0024038781 0.00509652 + 1267200 0.0060152213 0.0026177984 0.0055784152 + 1267300 0.0053584497 0.002756427 0.005393789 + 1267400 0.0056598022 0.0023642022 0.0051498861 + 1267500 0.0046519515 0.0022965078 0.0045861402 + 1267600 0.0052002876 0.0025536933 0.0051132098 + 1267700 0.0048159002 0.0029233821 0.005293708 + 1267800 0.0051363871 0.0031144665 0.0056425321 + 1267900 0.0067353492 0.0025061132 0.0058211679 + 1268000 0.0059195681 0.0020837816 0.004997319 + 1268100 0.006594047 0.001849905 0.0050954125 + 1268200 0.0051327808 0.0024157609 0.0049420514 + 1268300 0.0052943728 0.0022264712 0.0048322953 + 1268400 0.005993541 0.0019831158 0.0049330618 + 1268500 0.0056326254 0.0019514436 0.0047237514 + 1268600 0.0039499125 0.0022929217 0.0042370192 + 1268700 0.0052361921 0.0021682533 0.0047454416 + 1268800 0.0049608054 0.0019052075 0.0043468539 + 1268900 0.0063606922 0.001808451 0.0049391042 + 1269000 0.0062643837 0.0023635958 0.0054468471 + 1269100 0.0048398355 0.002646587 0.0050286935 + 1269200 0.0044865434 0.0024484067 0.0046566272 + 1269300 0.0051007469 0.0016509455 0.0041614694 + 1269400 0.0047343268 0.0017051754 0.0040353518 + 1269500 0.0034286278 0.0019419014 0.0036294291 + 1269600 0.0049355832 0.0018527323 0.0042819646 + 1269700 0.0042584221 0.0019872363 0.0040831784 + 1269800 0.0040515916 0.0024216859 0.0044158287 + 1269900 0.0059761258 0.0021824588 0.0051238332 + 1270000 0.0036295743 0.0019589247 0.0037453557 + 1270100 0.0035950075 0.0019579495 0.0037273673 + 1270200 0.0043299521 0.0021169968 0.0042481451 + 1270300 0.0050025103 0.002049996 0.004512169 + 1270400 0.0043042237 0.0023178162 0.0044363013 + 1270500 0.0037738014 0.0028785936 0.0047360115 + 1270600 0.0037927088 0.0028418676 0.0047085915 + 1270700 0.0051877478 0.0026212423 0.0051745869 + 1270800 0.0058296336 0.001929483 0.0047987558 + 1270900 0.0055576233 0.0020782132 0.0048136059 + 1271000 0.0055646467 0.0021814364 0.0049202859 + 1271100 0.0054844112 0.0017650436 0.0044644023 + 1271200 0.0065846853 0.0021438305 0.0053847303 + 1271300 0.0056385057 0.0025840571 0.0053592591 + 1271400 0.0057280829 0.0024865487 0.0053058395 + 1271500 0.004886054 0.002011054 0.0044159087 + 1271600 0.0060512188 0.0022867356 0.0052650698 + 1271700 0.0063150922 0.0020398351 0.0051480446 + 1271800 0.0049275685 0.0020750005 0.0045002881 + 1271900 0.0043925088 0.0018492295 0.0040111675 + 1272000 0.0034109306 0.0018990853 0.0035779027 + 1272100 0.0050414269 0.0016317041 0.0041130314 + 1272200 0.0053147333 0.0012639756 0.0038798209 + 1272300 0.0046987714 0.0018941511 0.0042068276 + 1272400 0.0047119853 0.0021988857 0.004518066 + 1272500 0.0053328811 0.0025150331 0.0051398106 + 1272600 0.003181648 0.0027299847 0.0042959521 + 1272700 0.004466158 0.0022358111 0.0044339982 + 1272800 0.0053618122 0.0025173538 0.0051563707 + 1272900 0.0051071907 0.0029809905 0.005494686 + 1273000 0.0079215528 0.0025570831 0.0064559723 + 1273100 0.0067832007 0.0022789551 0.0056175616 + 1273200 0.0071240888 0.0023297541 0.0058361416 + 1273300 0.0053444648 0.0027975617 0.0054280404 + 1273400 0.0064728327 0.0027566007 0.0059424481 + 1273500 0.0035383787 0.0027403812 0.004481927 + 1273600 0.0047614722 0.0027424797 0.0050860168 + 1273700 0.006617736 0.0025106691 0.0057678361 + 1273800 0.0055869191 0.0022897857 0.0050395974 + 1273900 0.0044439266 0.0021286204 0.0043158655 + 1274000 0.004670977 0.0020892833 0.0043882798 + 1274100 0.0052619226 0.0022288199 0.0048186725 + 1274200 0.0041433261 0.0022996886 0.004338982 + 1274300 0.0057362248 0.0020791596 0.0049024578 + 1274400 0.0050399359 0.0018140554 0.0042946489 + 1274500 0.0052982288 0.0017111172 0.0043188392 + 1274600 0.0045265376 0.0021480291 0.0043759343 + 1274700 0.0046611266 0.0021010662 0.0043952145 + 1274800 0.0044901794 0.0024020618 0.004612072 + 1274900 0.0056613569 0.0028701369 0.005656586 + 1275000 0.0051240874 0.0028076295 0.0053296412 + 1275100 0.0058942897 0.0021389463 0.005040042 + 1275200 0.0042947748 0.0021323025 0.004246137 + 1275300 0.004354236 0.0019251339 0.0040682345 + 1275400 0.0053638485 0.0016327918 0.004272811 + 1275500 0.0058947775 0.001680761 0.0045820968 + 1275600 0.0049156708 0.0021944837 0.0046139154 + 1275700 0.0052307936 0.0020638268 0.004638358 + 1275800 0.0034575477 0.0021728542 0.003874616 + 1275900 0.0042141241 0.0020820809 0.0041562201 + 1276000 0.0062024396 0.0019631955 0.0050159588 + 1276100 0.0073980567 0.0021911947 0.0058324257 + 1276200 0.0039774265 0.0025754661 0.0045331058 + 1276300 0.0036560031 0.0029517072 0.0047511462 + 1276400 0.0051564112 0.0025466854 0.0050846065 + 1276500 0.0053177837 0.0018786156 0.0044959622 + 1276600 0.0051827095 0.0019922776 0.0045431425 + 1276700 0.0034780704 0.0022344873 0.0039463501 + 1276800 0.004716774 0.0018843444 0.0042058816 + 1276900 0.0050570352 0.001809417 0.0042984265 + 1277000 0.0037538758 0.0021995103 0.004047121 + 1277100 0.0049816303 0.0019032495 0.0043551457 + 1277200 0.004983213 0.0016043514 0.0040570266 + 1277300 0.0057993078 0.0018388632 0.00469321 + 1277400 0.0054121895 0.0020686446 0.0047324566 + 1277500 0.0063470856 0.0019685343 0.0050924905 + 1277600 0.0045928007 0.0023198812 0.0045804003 + 1277700 0.0037524728 0.0023189199 0.0041658401 + 1277800 0.0049967686 0.0018566298 0.0043159768 + 1277900 0.0043745453 0.0018188709 0.0039719674 + 1278000 0.0057113769 0.0019452732 0.0047563415 + 1278100 0.0036311309 0.0021041152 0.0038913125 + 1278200 0.0059324939 0.0020339102 0.0049538095 + 1278300 0.0047406296 0.0022418237 0.0045751023 + 1278400 0.0060253826 0.0023684487 0.0053340667 + 1278500 0.0046642225 0.0026189651 0.0049146371 + 1278600 0.004553872 0.0027322041 0.004973563 + 1278700 0.0047809635 0.0024011987 0.0047543292 + 1278800 0.0057486651 0.0024757388 0.0053051599 + 1278900 0.0067195567 0.002575051 0.0058823328 + 1279000 0.0040948183 0.0038182758 0.0058336941 + 1279100 0.0038946207 0.0036643829 0.0055812665 + 1279200 0.0072258927 0.0031405014 0.0066969955 + 1279300 0.0068174985 0.0031659309 0.0065214184 + 1279400 0.0061053159 0.0030355417 0.0060405018 + 1279500 0.004688877 0.0031335263 0.0054413329 + 1279600 0.0071675036 0.0024789868 0.0060067425 + 1279700 0.006263775 0.0022177982 0.0053007499 + 1279800 0.0045300224 0.0021134042 0.0043430246 + 1279900 0.0045008738 0.0025056312 0.004720905 + 1280000 0.0053583954 0.0028613583 0.0054986935 + 1280100 0.0046997946 0.002957628 0.0052708081 + 1280200 0.004907267 0.0024774675 0.0048927629 + 1280300 0.0047536631 0.0022050035 0.0045446971 + 1280400 0.0037089641 0.0020989046 0.0039244104 + 1280500 0.0047947322 0.0020236906 0.0043835978 + 1280600 0.0041117292 0.0020881521 0.0041118938 + 1280700 0.0036913156 0.0022478487 0.0040646681 + 1280800 0.0047567017 0.0024601944 0.0048013835 + 1280900 0.0047892894 0.0025403803 0.0048976086 + 1281000 0.005272477 0.0023480616 0.0049431089 + 1281100 0.0069693048 0.0028770828 0.0063072875 + 1281200 0.0048012428 0.0035933942 0.0059565059 + 1281300 0.0063992602 0.0029399244 0.0060895603 + 1281400 0.0044154941 0.0023828678 0.0045561188 + 1281500 0.0063059825 0.0020963473 0.0052000731 + 1281600 0.0040442048 0.0022930052 0.0042835122 + 1281700 0.0034531074 0.0025446943 0.0042442706 + 1281800 0.0044081117 0.0027133779 0.0048829954 + 1281900 0.0052262143 0.0022973717 0.004869649 + 1282000 0.0057325227 0.0024108865 0.0052323625 + 1282100 0.0042601572 0.0025181884 0.0046149845 + 1282200 0.0046970373 0.0022762186 0.0045880416 + 1282300 0.0056383098 0.0019293189 0.0047044245 + 1282400 0.0045308865 0.0016641086 0.0038941543 + 1282500 0.0067451247 0.0020208918 0.0053407578 + 1282600 0.0051616023 0.0023453854 0.0048858615 + 1282700 0.0052850825 0.0021306929 0.0047319445 + 1282800 0.0048824964 0.0020056242 0.0044087279 + 1282900 0.0058424171 0.002052736 0.0049283007 + 1283000 0.0033300236 0.0022902157 0.0039292117 + 1283100 0.0037275256 0.0021245712 0.0039592127 + 1283200 0.0033683477 0.0023977189 0.0040555776 + 1283300 0.0048297605 0.0022182461 0.0045953938 + 1283400 0.0059167952 0.0018784345 0.0047906071 + 1283500 0.0045638687 0.0023414151 0.0045876942 + 1283600 0.003876711 0.0022086089 0.0041166775 + 1283700 0.0051993759 0.0020530878 0.0046121556 + 1283800 0.0045395361 0.0024056402 0.0046399432 + 1283900 0.0046082124 0.0025795085 0.004847613 + 1284000 0.0047990686 0.0026838852 0.0050459267 + 1284100 0.0050575225 0.0029242529 0.0054135023 + 1284200 0.0035328442 0.0031292177 0.0048680394 + 1284300 0.0057692335 0.0029495029 0.0057890475 + 1284400 0.0031745864 0.0027082216 0.0042707133 + 1284500 0.0054206769 0.0025489176 0.0052169071 + 1284600 0.004645629 0.002521007 0.0048075275 + 1284700 0.0061544904 0.0024854074 0.0055145706 + 1284800 0.0050361184 0.0022817812 0.0047604957 + 1284900 0.0062348715 0.0018494295 0.0049181553 + 1285000 0.0044670578 0.0023631691 0.0045617991 + 1285100 0.0042799347 0.0026086388 0.0047151692 + 1285200 0.0049891013 0.0023520548 0.0048076281 + 1285300 0.0051783456 0.0023386651 0.0048873821 + 1285400 0.0047376089 0.0023881348 0.0047199266 + 1285500 0.0033746947 0.0022948654 0.003955848 + 1285600 0.0046940055 0.002847982 0.0051583128 + 1285700 0.0068698929 0.0027773559 0.0061586313 + 1285800 0.0040313206 0.0028422471 0.0048264126 + 1285900 0.005506686 0.0028761195 0.0055864415 + 1286000 0.0045898071 0.0029338249 0.0051928706 + 1286100 0.00658258 0.0032045186 0.0064443822 + 1286200 0.0042137031 0.003406107 0.005480039 + 1286300 0.0074269206 0.002842744 0.0064981815 + 1286400 0.0060836832 0.0025135825 0.0055078953 + 1286500 0.0062235528 0.0021569168 0.0052200717 + 1286600 0.0047204968 0.0019203679 0.0042437374 + 1286700 0.0048782109 0.0019823801 0.0043833745 + 1286800 0.0050043884 0.0019916719 0.0044547693 + 1286900 0.0037597059 0.0017507089 0.0036011891 + 1287000 0.0042069558 0.001614616 0.0036852271 + 1287100 0.0042538718 0.0019437723 0.0040374748 + 1287200 0.0044058677 0.0018963357 0.0040648487 + 1287300 0.0050141195 0.0020600429 0.0045279298 + 1287400 0.007097331 0.0021476597 0.0056408773 + 1287500 0.0052963561 0.002173356 0.0047801563 + 1287600 0.0059607217 0.0023285637 0.0052623564 + 1287700 0.0053243892 0.0025510062 0.0051716041 + 1287800 0.0038535522 0.002494659 0.0043913292 + 1287900 0.0033892471 0.0024845925 0.0041527376 + 1288000 0.005131566 0.0024074442 0.0049331368 + 1288100 0.0045114191 0.0026676725 0.0048881366 + 1288200 0.0052135592 0.0025527301 0.0051187788 + 1288300 0.0050588333 0.0024200461 0.0049099406 + 1288400 0.0053009801 0.0025649907 0.0051740668 + 1288500 0.0057393573 0.0022525462 0.0050773862 + 1288600 0.0049666894 0.0026424966 0.005087039 + 1288700 0.0040196737 0.002179605 0.0041580381 + 1288800 0.0045686161 0.0021262386 0.0043748543 + 1288900 0.0059339268 0.0021972359 0.0051178405 + 1289000 0.004468351 0.0021195238 0.0043187903 + 1289100 0.0043394492 0.0020349185 0.0041707411 + 1289200 0.0053606884 0.0021730514 0.0048115152 + 1289300 0.0057074751 0.002165052 0.0049741999 + 1289400 0.0043281216 0.002287874 0.0044181213 + 1289500 0.0045617606 0.0020704133 0.0043156548 + 1289600 0.0044477454 0.0019933791 0.0041825038 + 1289700 0.00460785 0.0024486703 0.0047165965 + 1289800 0.0048085899 0.00322119 0.0055879178 + 1289900 0.0065790403 0.0029991519 0.0062372733 + 1290000 0.0054143121 0.002548459 0.0052133157 + 1290100 0.0044625576 0.0021762822 0.0043726973 + 1290200 0.0049660465 0.0022061273 0.0046503533 + 1290300 0.0047391579 0.0024521573 0.0047847116 + 1290400 0.0040638085 0.0025546914 0.0045548472 + 1290500 0.0046483403 0.0022415116 0.0045293666 + 1290600 0.0044889899 0.0022961169 0.0045055416 + 1290700 0.0056500512 0.0024032826 0.0051841672 + 1290800 0.0047817294 0.0024783056 0.0048318131 + 1290900 0.0060378197 0.0028119659 0.0057837053 + 1291000 0.0034371297 0.0032017775 0.0048934898 + 1291100 0.0054721077 0.002889636 0.005582939 + 1291200 0.0059084751 0.0036041555 0.006512233 + 1291300 0.0041781167 0.0033123339 0.0053687507 + 1291400 0.0051269012 0.0025423314 0.0050657281 + 1291500 0.0058069859 0.0023954565 0.0052535824 + 1291600 0.0047460208 0.0019939535 0.0043298856 + 1291700 0.0054818847 0.0020256229 0.004723738 + 1291800 0.0049209213 0.0021047392 0.0045267552 + 1291900 0.0038323977 0.0025379841 0.0044242424 + 1292000 0.0041957748 0.0028009091 0.004866017 + 1292100 0.0048425059 0.0027884001 0.005171821 + 1292200 0.0050724223 0.0025507607 0.0050473436 + 1292300 0.0058549921 0.0027376293 0.0056193832 + 1292400 0.0041864802 0.0029220243 0.0049825575 + 1292500 0.0062658254 0.0026389121 0.0057228731 + 1292600 0.004551969 0.0023340603 0.0045744825 + 1292700 0.0027501078 0.0022530854 0.0036066541 + 1292800 0.0048623992 0.0025278745 0.0049210866 + 1292900 0.0045671777 0.0026507808 0.0048986886 + 1293000 0.0057439032 0.0024233075 0.0052503849 + 1293100 0.005429474 0.0027343692 0.0054066884 + 1293200 0.0060277594 0.0034896714 0.0064564592 + 1293300 0.0059068623 0.0034744703 0.0063817541 + 1293400 0.0066422751 0.0036111321 0.0068803769 + 1293500 0.0047354674 0.0039735676 0.0063043055 + 1293600 0.0051935471 0.0037894625 0.0063456614 + 1293700 0.0040164113 0.0031665327 0.0051433602 + 1293800 0.0052525001 0.0030764463 0.0056616612 + 1293900 0.0044036528 0.0034413389 0.0056087618 + 1294000 0.0052936505 0.0033656172 0.0059710858 + 1294100 0.0061381434 0.0034749766 0.0064960941 + 1294200 0.006492196 0.0034673699 0.0066627476 + 1294300 0.0056572717 0.0034818957 0.0062663341 + 1294400 0.0047006392 0.0032827255 0.0055963213 + 1294500 0.0051416442 0.0031232448 0.0056538978 + 1294600 0.0054316666 0.0032293454 0.0059027438 + 1294700 0.0055384042 0.0037427341 0.0064686674 + 1294800 0.0040915284 0.0032730166 0.0052868157 + 1294900 0.006305602 0.0027902714 0.0058938099 + 1295000 0.004393685 0.0029290562 0.005091573 + 1295100 0.0059322492 0.00242134 0.0053411189 + 1295200 0.004248364 0.0021133018 0.0042042935 + 1295300 0.0037471151 0.0020200234 0.0038643066 + 1295400 0.0060609953 0.002303015 0.0052861611 + 1295500 0.0041041811 0.0029753769 0.0049954035 + 1295600 0.0041586084 0.002605182 0.0046519971 + 1295700 0.0050353743 0.0026034508 0.0050817991 + 1295800 0.004677413 0.0030627162 0.0053648804 + 1295900 0.0048300242 0.0028354998 0.0052127773 + 1296000 0.0044091701 0.0026455852 0.0048157236 + 1296100 0.0054386987 0.0023943634 0.0050712229 + 1296200 0.0057305681 0.002232791 0.005053305 + 1296300 0.0044158736 0.0021870901 0.0043605278 + 1296400 0.0043033886 0.002362077 0.004480151 + 1296500 0.0059207468 0.0022883869 0.0052025045 + 1296600 0.0050357011 0.0024197885 0.0048982977 + 1296700 0.0060655325 0.0026637064 0.0056490857 + 1296800 0.0037470248 0.0026839864 0.0045282251 + 1296900 0.0043673578 0.0027971168 0.0049466757 + 1297000 0.0051213985 0.0030055743 0.0055262626 + 1297100 0.0056574441 0.0028997721 0.0056842953 + 1297200 0.0063765342 0.0029016399 0.0060400903 + 1297300 0.0047641287 0.0030354571 0.0053803017 + 1297400 0.0050932022 0.0029149012 0.0054217117 + 1297500 0.00449938 0.0029962842 0.0052108228 + 1297600 0.0041658426 0.0026701866 0.0047205623 + 1297700 0.0058137762 0.0024958682 0.0053573361 + 1297800 0.0057984879 0.0027422346 0.0055961779 + 1297900 0.0067753669 0.0027628241 0.006097575 + 1298000 0.0054299022 0.003073784 0.0057463141 + 1298100 0.0065807123 0.0031085375 0.0063474818 + 1298200 0.0037701776 0.0032062489 0.0050618832 + 1298300 0.0043165386 0.0027548725 0.0048794188 + 1298400 0.0044980656 0.0024642115 0.0046781032 + 1298500 0.0047260102 0.0023428191 0.0046689022 + 1298600 0.0048116558 0.0025882173 0.0049564541 + 1298700 0.0050923882 0.0026441548 0.0051505646 + 1298800 0.0048686081 0.0025284962 0.0049247643 + 1298900 0.0036211867 0.0024152399 0.0041975427 + 1299000 0.0046556492 0.0026222504 0.0049137028 + 1299100 0.0037355744 0.0032150672 0.0050536703 + 1299200 0.0035768059 0.0030787989 0.004839258 + 1299300 0.0053671783 0.0024380877 0.0050797458 + 1299400 0.0059644217 0.0020960634 0.0050316772 + 1299500 0.0045918432 0.0028779847 0.0051380325 + 1299600 0.0039368499 0.0033352742 0.0052729425 + 1299700 0.0042714487 0.0030103902 0.0051127438 + 1299800 0.0068528192 0.0023517461 0.0057246181 + 1299900 0.0043885127 0.0027200292 0.0048800003 + 1300000 0.003768868 0.0028113159 0.0046663056 + 1300100 0.0059245572 0.0024384309 0.0053544239 + 1300200 0.0064339075 0.0023236078 0.0054902967 + 1300300 0.0046448107 0.0023967682 0.004682886 + 1300400 0.0040101824 0.0023205396 0.0042943012 + 1300500 0.0037961049 0.002396932 0.0042653274 + 1300600 0.0054976713 0.0020235282 0.0047294133 + 1300700 0.0060000111 0.0020999905 0.005053121 + 1300800 0.0050196614 0.0020750363 0.0045456509 + 1300900 0.0043008489 0.0025221597 0.0046389838 + 1301000 0.0062017218 0.0024325598 0.0054849697 + 1301100 0.0043537532 0.0024009547 0.0045438175 + 1301200 0.0054389466 0.0027406919 0.0054176734 + 1301300 0.0048517218 0.003066513 0.0054544699 + 1301400 0.005158896 0.0031496419 0.005688786 + 1301500 0.0056116323 0.0031480319 0.0059100071 + 1301600 0.0054965186 0.0025869804 0.0052922981 + 1301700 0.0055449799 0.0023206745 0.0050498443 + 1301800 0.0064846481 0.0021104516 0.0053021143 + 1301900 0.0053267686 0.0022865177 0.0049082866 + 1302000 0.0055357332 0.0023445507 0.0050691694 + 1302100 0.005763795 0.0020047945 0.0048416623 + 1302200 0.004783243 0.0021826516 0.004536904 + 1302300 0.0047754468 0.0026448889 0.0049953041 + 1302400 0.004546383 0.0025350023 0.0047726751 + 1302500 0.0058473582 0.0024585463 0.0053365429 + 1302600 0.0041272355 0.0024621638 0.0044935375 + 1302700 0.0046004316 0.0024965625 0.0047608374 + 1302800 0.0045380373 0.0026276196 0.0048611848 + 1302900 0.0054953608 0.0026995854 0.0054043333 + 1303000 0.0043699441 0.0028008981 0.00495173 + 1303100 0.0040954586 0.0030291805 0.005044914 + 1303200 0.0035125728 0.0029663074 0.0046951518 + 1303300 0.0042431771 0.0028252291 0.0049136678 + 1303400 0.0074340609 0.0026299938 0.0062889457 + 1303500 0.0055745761 0.003310817 0.0060545537 + 1303600 0.0073254848 0.0034947017 0.0071002138 + 1303700 0.0050643122 0.0031423149 0.005634906 + 1303800 0.0044820184 0.0028653651 0.0050713585 + 1303900 0.0045885385 0.0024539978 0.0047124191 + 1304000 0.0084826928 0.0019904523 0.0061655276 + 1304100 0.0052084152 0.0025605624 0.0051240793 + 1304200 0.0056270291 0.0026454658 0.0054150192 + 1304300 0.007400386 0.002433864 0.0060762415 + 1304400 0.0046604429 0.0026326027 0.0049264144 + 1304500 0.005822853 0.0024866439 0.0053525793 + 1304600 0.0031481623 0.0027161534 0.0042656395 + 1304700 0.0058173352 0.0030626962 0.0059259158 + 1304800 0.0060862358 0.0035542282 0.0065497974 + 1304900 0.0050437617 0.003138996 0.0056214725 + 1305000 0.0065470346 0.0022380795 0.0054604481 + 1305100 0.0039205093 0.0021924998 0.0041221254 + 1305200 0.0055630967 0.002435391 0.0051734777 + 1305300 0.0045882451 0.002339628 0.0045979049 + 1305400 0.0061106844 0.0023667011 0.0053743035 + 1305500 0.0053404839 0.0027479987 0.0053765181 + 1305600 0.0062526232 0.002721084 0.005798547 + 1305700 0.0059279071 0.0027950514 0.0057126931 + 1305800 0.004560161 0.0027901674 0.0050346216 + 1305900 0.0047055063 0.0026752888 0.0049912801 + 1306000 0.007338262 0.0016913705 0.0053031713 + 1306100 0.0047535546 0.0013143558 0.003653996 + 1306200 0.0052092351 0.0015010486 0.0040649689 + 1306300 0.0058095792 0.0018312082 0.0046906105 + 1306400 0.0069786832 0.00232095 0.0057557706 + 1306500 0.0046207661 0.0032948764 0.0055691597 + 1306600 0.0055140246 0.0030919796 0.0058059136 + 1306700 0.0065764207 0.0023697816 0.0056066137 + 1306800 0.0045392531 0.0018709543 0.0041051179 + 1306900 0.0040942316 0.0019885625 0.0040036921 + 1307000 0.0052103017 0.0020131381 0.0045775834 + 1307100 0.0058676527 0.0017661021 0.0046540874 + 1307200 0.0049442514 0.0016888104 0.0041223091 + 1307300 0.0045717124 0.0020899035 0.0043400432 + 1307400 0.0039920523 0.002435565 0.0044004033 + 1307500 0.0060063378 0.0021375068 0.0050937512 + 1307600 0.0060199533 0.0020569854 0.0050199311 + 1307700 0.0046231946 0.0020313531 0.0043068317 + 1307800 0.0050004791 0.0021348384 0.0045960118 + 1307900 0.0037554687 0.0020515868 0.0038999816 + 1308000 0.0057055238 0.0017762873 0.0045844748 + 1308100 0.0055149196 0.0023448766 0.0050592511 + 1308200 0.0026780012 0.0023355951 0.0036536738 + 1308300 0.0030838378 0.0019526396 0.003470466 + 1308400 0.0045971584 0.0019360729 0.0041987368 + 1308500 0.0041934781 0.0017894489 0.0038534264 + 1308600 0.0045708764 0.0018539057 0.004103634 + 1308700 0.0043452994 0.0019696363 0.0041083383 + 1308800 0.0047085756 0.0022124789 0.0045299809 + 1308900 0.0039613786 0.0027255954 0.0046753364 + 1309000 0.0047247976 0.0023736481 0.0046991344 + 1309100 0.0068494825 0.0020287396 0.0053999693 + 1309200 0.0044782748 0.0026413017 0.0048454526 + 1309300 0.0047270579 0.0031968762 0.005523475 + 1309400 0.0057266139 0.0035973973 0.0064159651 + 1309500 0.0041828316 0.003291709 0.0053504465 + 1309600 0.0054024742 0.0035236263 0.0061826566 + 1309700 0.0052078644 0.0030799686 0.0056432143 + 1309800 0.0045140063 0.0025666216 0.0047883591 + 1309900 0.0059958341 0.0021452002 0.0050962748 + 1310000 0.0069793978 0.0024413334 0.0058765057 + 1310100 0.0056070287 0.0026906491 0.0054503585 + 1310200 0.0048434671 0.0029137362 0.0052976301 + 1310300 0.0062778246 0.0026703504 0.0057602172 + 1310400 0.006071847 0.0028168275 0.0058053147 + 1310500 0.0067489707 0.0028337436 0.0061555026 + 1310600 0.007475709 0.0025291558 0.0062086063 + 1310700 0.0051887441 0.0026284933 0.0051823283 + 1310800 0.0045275906 0.0027972408 0.0050256643 + 1310900 0.0046692031 0.0025675546 0.0048656781 + 1311000 0.0043596462 0.0022842106 0.004429974 + 1311100 0.0035320272 0.0025668812 0.0043053009 + 1311200 0.0057906906 0.0025185278 0.0053686333 + 1311300 0.0037009786 0.0031535751 0.0049751505 + 1311400 0.0055240643 0.0032141645 0.0059330399 + 1311500 0.006199371 0.0031596062 0.0062108591 + 1311600 0.003329672 0.0030387867 0.0046776096 + 1311700 0.0057515699 0.002550865 0.0053817158 + 1311800 0.0054110027 0.0024977241 0.005160952 + 1311900 0.0051678292 0.0028211448 0.0053646858 + 1312000 0.0049248792 0.0023100887 0.0047340528 + 1312100 0.005138329 0.0019058932 0.0044349145 + 1312200 0.0056018458 0.0018439299 0.0046010884 + 1312300 0.0037697347 0.0020287042 0.0038841206 + 1312400 0.0042390036 0.0018391418 0.0039255264 + 1312500 0.0064916976 0.001863998 0.0050591304 + 1312600 0.0046045344 0.0018124273 0.0040787215 + 1312700 0.0047342259 0.0017493588 0.0040794857 + 1312800 0.0067449634 0.0018377602 0.0051575469 + 1312900 0.0028545464 0.0023323374 0.0037373095 + 1313000 0.0053151095 0.0022103283 0.0048263588 + 1313100 0.0044065935 0.002051426 0.0042202962 + 1313200 0.0075554482 0.0016271142 0.0053458114 + 1313300 0.0047366224 0.0019172189 0.0042485253 + 1313400 0.0044306776 0.0021476983 0.0043284224 + 1313500 0.0061965916 0.0015903403 0.0046402252 + 1313600 0.0068553284 0.0017869116 0.0051610186 + 1313700 0.0049465026 0.0024805189 0.0049151256 + 1313800 0.0054857268 0.0028937752 0.0055937813 + 1313900 0.0056622629 0.0034574039 0.0062442989 + 1314000 0.0037030747 0.0034830954 0.0053057025 + 1314100 0.0047692551 0.0031172735 0.0054646412 + 1314200 0.0056901657 0.0029704063 0.0057710347 + 1314300 0.0063122371 0.0032407872 0.0063475914 + 1314400 0.0056075705 0.0035887562 0.0063487323 + 1314500 0.0053650959 0.0031483364 0.0057889696 + 1314600 0.0052072915 0.0030188315 0.0055817953 + 1314700 0.0062337027 0.0024933201 0.0055614706 + 1314800 0.0064365921 0.0024060224 0.0055740326 + 1314900 0.0067234344 0.0023149008 0.0056240912 + 1315000 0.0041264321 0.00272503 0.0047560083 + 1315100 0.0049424593 0.0024650781 0.0048976948 + 1315200 0.0049686655 0.001992144 0.004437659 + 1315300 0.0037395031 0.0018829724 0.003723509 + 1315400 0.0059291982 0.0021299462 0.0050482235 + 1315500 0.0060301626 0.0022738278 0.0052417985 + 1315600 0.0057186969 0.0020893828 0.004904054 + 1315700 0.0051709052 0.0021579749 0.0047030298 + 1315800 0.0056809928 0.0022469975 0.0050431111 + 1315900 0.0070911131 0.0030993114 0.0065894686 + 1316000 0.0042614548 0.0037581146 0.0058555493 + 1316100 0.0053223669 0.0033239738 0.0059435762 + 1316200 0.0044347653 0.0029033682 0.0050861042 + 1316300 0.0048387611 0.0030019247 0.0053835024 + 1316400 0.0051028791 0.0029407412 0.0054523145 + 1316500 0.0052016632 0.0025437415 0.0051039351 + 1316600 0.0058263949 0.0023069911 0.0051746699 + 1316700 0.0051837243 0.0021521715 0.0047035358 + 1316800 0.0051429103 0.0017174975 0.0042487737 + 1316900 0.0058631739 0.0016150508 0.0045008317 + 1317000 0.0026652517 0.0017315117 0.0030433153 + 1317100 0.0041840162 0.0014016511 0.0034609716 + 1317200 0.0053293793 0.0016271594 0.0042502133 + 1317300 0.0053388055 0.0018136621 0.0044413554 + 1317400 0.0058272524 0.0023568706 0.0052249714 + 1317500 0.0051545741 0.0026620327 0.0051990496 + 1317600 0.0047413564 0.0027629361 0.0050965725 + 1317700 0.0065536234 0.0023071912 0.0055328027 + 1317800 0.0046792913 0.0020389067 0.0043419954 + 1317900 0.0031201792 0.0020734899 0.0036092031 + 1318000 0.005149867 0.0020842421 0.0046189423 + 1318100 0.0047969315 0.0019927003 0.00435369 + 1318200 0.0056453831 0.0024611329 0.0052397199 + 1318300 0.0053774902 0.0027212341 0.0053679676 + 1318400 0.0053207693 0.0029979774 0.0056167935 + 1318500 0.0057372411 0.0033003627 0.0061241611 + 1318600 0.0061042584 0.002913958 0.0059183977 + 1318700 0.007015572 0.0028761232 0.0063291 + 1318800 0.0057081741 0.0034346216 0.0062441136 + 1318900 0.0066331454 0.0033586488 0.0066234001 + 1319000 0.0041465587 0.0025922133 0.0046330976 + 1319100 0.0048189824 0.0018087897 0.0041806325 + 1319200 0.0036655333 0.0020956462 0.0038997758 + 1319300 0.0045065738 0.002351358 0.0045694373 + 1319400 0.0040080999 0.0020148305 0.0039875671 + 1319500 0.005104674 0.0020849562 0.0045974129 + 1319600 0.00455091 0.0025719486 0.0048118496 + 1319700 0.0066171059 0.0026222059 0.0058790627 + 1319800 0.0048628852 0.0022117022 0.0046051535 + 1319900 0.0050614986 0.0019248779 0.0044160842 + 1320000 0.003943608 0.0019473083 0.0038883029 + 1320100 0.0052519451 0.0016771373 0.0042620791 + 1320200 0.0036819701 0.0017120596 0.0035242792 + 1320300 0.0049519753 0.0017610079 0.0041983082 + 1320400 0.0063325692 0.0017029411 0.0048197525 + 1320500 0.0037011647 0.0019024995 0.0037241665 + 1320600 0.0039251523 0.0019570078 0.0038889187 + 1320700 0.0042562158 0.0021416397 0.0042364959 + 1320800 0.0047350601 0.0017844097 0.0041149471 + 1320900 0.0046642747 0.0017854068 0.0040811045 + 1321000 0.0047419795 0.0017061329 0.0040400759 + 1321100 0.0045322508 0.0019672793 0.0041979965 + 1321200 0.0053761423 0.0023179918 0.0049640619 + 1321300 0.0054919145 0.0030855144 0.0057885661 + 1321400 0.0051065256 0.0025923166 0.0051056847 + 1321500 0.0057185124 0.0022320493 0.0050466296 + 1321600 0.0053556358 0.0020282938 0.0046642708 + 1321700 0.0050163767 0.0019144713 0.0043834692 + 1321800 0.0057312791 0.0021584466 0.0049793105 + 1321900 0.0032050164 0.0026366459 0.0042141149 + 1322000 0.0055565752 0.0020955612 0.0048304381 + 1322100 0.0047017771 0.0020441572 0.0043583131 + 1322200 0.0051267235 0.0021450647 0.0046683739 + 1322300 0.0049144174 0.0025233456 0.0049421604 + 1322400 0.0056515298 0.0027080528 0.0054896651 + 1322500 0.0064864075 0.0029686884 0.0061612172 + 1322600 0.0053066572 0.0028461152 0.0054579856 + 1322700 0.0039507227 0.0027285587 0.0046730551 + 1322800 0.0036695756 0.0022288103 0.0040349296 + 1322900 0.0057442364 0.0020861196 0.0049133609 + 1323000 0.0055424339 0.0023106332 0.0050385499 + 1323100 0.0073770114 0.0024784357 0.0061093085 + 1323200 0.0046858429 0.0031405469 0.0054468602 + 1323300 0.0045944551 0.002541018 0.0048023513 + 1323400 0.004440947 0.002170558 0.0043563366 + 1323500 0.0064512259 0.0022174467 0.0053926595 + 1323600 0.0046714936 0.0021286126 0.0044278634 + 1323700 0.0040557481 0.0025648095 0.0045609981 + 1323800 0.0041366055 0.0028280897 0.0048640752 + 1323900 0.0046313879 0.0025866559 0.0048661672 + 1324000 0.0058344341 0.002253259 0.0051248945 + 1324100 0.0051281686 0.0022260071 0.0047500276 + 1324200 0.0051682181 0.0021981356 0.0047418679 + 1324300 0.0052056511 0.0022916874 0.0048538438 + 1324400 0.0063661328 0.0027878465 0.0059211775 + 1324500 0.0026084753 0.0031246163 0.0044084752 + 1324600 0.0044339628 0.002260094 0.004442435 + 1324700 0.0043842584 0.0019247253 0.0040826025 + 1324800 0.0043687614 0.0022468111 0.0043970608 + 1324900 0.00477968 0.0020120918 0.0043645905 + 1325000 0.0038528783 0.001908425 0.0038047636 + 1325100 0.0050663179 0.0018407952 0.0043343735 + 1325200 0.0052124509 0.0023220547 0.0048875579 + 1325300 0.0047631215 0.0025121856 0.0048565345 + 1325400 0.0049795837 0.0026038404 0.0050547292 + 1325500 0.0043293682 0.0026205252 0.0047513861 + 1325600 0.0051293691 0.002583058 0.0051076694 + 1325700 0.0042646706 0.00250869 0.0046077076 + 1325800 0.0053514765 0.0025171968 0.0051511267 + 1325900 0.0050021941 0.0024079516 0.004869969 + 1326000 0.0059203524 0.0024589928 0.0053729163 + 1326100 0.0050275623 0.0025896645 0.0050641679 + 1326200 0.0047617544 0.0026779229 0.0050215989 + 1326300 0.0052809854 0.002694689 0.005293924 + 1326400 0.0055135295 0.0022262695 0.0049399598 + 1326500 0.0062685607 0.0017841321 0.0048694393 + 1326600 0.0048718347 0.002247982 0.0046458381 + 1326700 0.0052548598 0.0025312235 0.0051175998 + 1326800 0.0063437355 0.0025551822 0.0056774895 + 1326900 0.0054866831 0.0024695788 0.0051700556 + 1327000 0.0057006648 0.0025224 0.005328196 + 1327100 0.0049433825 0.002028517 0.004461588 + 1327200 0.0037781347 0.0019162142 0.0037757649 + 1327300 0.0065075487 0.0023244163 0.0055273504 + 1327400 0.0043281477 0.0023801189 0.0045103791 + 1327500 0.0048476497 0.0022380758 0.0046240284 + 1327600 0.0045038197 0.0023607248 0.0045774486 + 1327700 0.0045577459 0.0019454542 0.0041887198 + 1327800 0.0046744398 0.001850953 0.0041516538 + 1327900 0.0038772998 0.0018377931 0.0037461516 + 1328000 0.0056081745 0.0023089467 0.0050692201 + 1328100 0.0051517213 0.0030423454 0.0055779583 + 1328200 0.0038118882 0.0031075606 0.0049837244 + 1328300 0.005465965 0.0020194938 0.0047097735 + 1328400 0.0075787021 0.0015945698 0.0053247123 + 1328500 0.003871659 0.0018776257 0.0037832078 + 1328600 0.0054353162 0.0018082549 0.0044834496 + 1328700 0.0058315354 0.0020274142 0.004897623 + 1328800 0.0062191771 0.002351228 0.0054122292 + 1328900 0.0058328645 0.0028326879 0.005703551 + 1329000 0.0046802594 0.0028179537 0.0051215189 + 1329100 0.004332659 0.002690386 0.0048228666 + 1329200 0.0059384403 0.0022566001 0.0051794262 + 1329300 0.0043365833 0.0026216747 0.0047560869 + 1329400 0.0046650372 0.0029482665 0.0052443395 + 1329500 0.0048772389 0.0028800418 0.0052805578 + 1329600 0.0043845708 0.0024246571 0.004582688 + 1329700 0.0048480676 0.0022184158 0.004604574 + 1329800 0.0040220434 0.0026203236 0.0045999231 + 1329900 0.004612224 0.0031113284 0.0053814074 + 1330000 0.0040008699 0.0036182808 0.0055874589 + 1330100 0.0048128759 0.00357724 0.0059460774 + 1330200 0.0050286226 0.0034518272 0.0059268524 + 1330300 0.0050969535 0.003214085 0.0057227419 + 1330400 0.0052081067 0.002472314 0.005035679 + 1330500 0.0050403966 0.0025140706 0.0049948908 + 1330600 0.0059202588 0.0024999178 0.0054137951 + 1330700 0.0052768372 0.0026380866 0.0052352799 + 1330800 0.0042405966 0.0027779795 0.0048651482 + 1330900 0.0042183728 0.0025061353 0.0045823657 + 1331000 0.0069668654 0.0025596348 0.0059886389 + 1331100 0.0050186891 0.0030582167 0.0055283527 + 1331200 0.0051933095 0.0027794376 0.0053355196 + 1331300 0.0024525769 0.0027633882 0.0039705159 + 1331400 0.0062988134 0.0024991778 0.0055993751 + 1331500 0.0047858589 0.0026848612 0.0050404011 + 1331600 0.003583008 0.0027657057 0.0045292174 + 1331700 0.0055202096 0.0023471102 0.0050640884 + 1331800 0.0047869641 0.0024050969 0.0047611808 + 1331900 0.0061224091 0.0022662797 0.0052796529 + 1332000 0.004080952 0.0025093853 0.0045179789 + 1332100 0.0064321695 0.0025199892 0.0056858226 + 1332200 0.0066533781 0.0024374032 0.0057121127 + 1332300 0.0070659894 0.0028086143 0.0062864059 + 1332400 0.0048572039 0.0030413103 0.0054319653 + 1332500 0.0057615762 0.0028953373 0.005731113 + 1332600 0.005848168 0.0032645174 0.0061429126 + 1332700 0.0077948272 0.0031888658 0.0070253823 + 1332800 0.0053832335 0.0030109877 0.005660548 + 1332900 0.0055334451 0.0027441113 0.0054676038 + 1333000 0.0053023438 0.0024861014 0.0050958488 + 1333100 0.0063668778 0.0025872037 0.0057209013 + 1333200 0.005761579 0.002664498 0.0055002751 + 1333300 0.005098178 0.0024299727 0.0049392322 + 1333400 0.0047837297 0.0025692041 0.004923696 + 1333500 0.0054293702 0.002635253 0.0053075212 + 1333600 0.0052431124 0.002886663 0.0054672573 + 1333700 0.004971126 0.003062686 0.0055094121 + 1333800 0.0056578977 0.0030830375 0.005867784 + 1333900 0.004874567 0.0032025191 0.0056017201 + 1334000 0.0074019002 0.0031199996 0.0067631223 + 1334100 0.005119211 0.0034677585 0.0059873701 + 1334200 0.0065019787 0.0029946611 0.0061948537 + 1334300 0.0063164971 0.0028680064 0.0059769074 + 1334400 0.0056567216 0.0034995943 0.006283762 + 1334500 0.0055558209 0.0031033473 0.0058378529 + 1334600 0.005955766 0.0028373724 0.005768726 + 1334700 0.0054941066 0.0032525937 0.0059567243 + 1334800 0.0063465783 0.0028848012 0.0060085077 + 1334900 0.0068160333 0.0024674747 0.0058222411 + 1335000 0.0046743413 0.0027331228 0.0050337752 + 1335100 0.0054446819 0.0027694255 0.0054492298 + 1335200 0.0065388401 0.0028855109 0.0061038462 + 1335300 0.0062229062 0.0028422946 0.0059051312 + 1335400 0.0046589794 0.0030415409 0.0053346323 + 1335500 0.0045826157 0.0028753787 0.0051308849 + 1335600 0.0056158028 0.0027832706 0.0055472985 + 1335700 0.0056275899 0.0027520447 0.0055218741 + 1335800 0.0039934989 0.0027696629 0.0047352131 + 1335900 0.0045935582 0.0030169607 0.0052778526 + 1336000 0.0053735975 0.0031068954 0.0057517129 + 1336100 0.0046507458 0.0026696558 0.0049586947 + 1336200 0.0055934017 0.0021847634 0.0049377658 + 1336300 0.0044160211 0.0022876398 0.0044611502 + 1336400 0.0045227522 0.0022505909 0.004476633 + 1336500 0.0042743903 0.0023114797 0.0044152812 + 1336600 0.0039584929 0.0027323792 0.0046806999 + 1336700 0.0049379125 0.0026538611 0.0050842399 + 1336800 0.0070226814 0.0023115884 0.0057680644 + 1336900 0.0053829627 0.0023857753 0.0050352022 + 1337000 0.0051233004 0.0023244825 0.0048461069 + 1337100 0.0045419096 0.0027228164 0.0049582875 + 1337200 0.0050482164 0.0025105029 0.0049951719 + 1337300 0.0054062682 0.0023534632 0.0050143608 + 1337400 0.0043148286 0.0024919035 0.0046156082 + 1337500 0.0049355576 0.0025529682 0.004982188 + 1337600 0.0049417284 0.0024895878 0.0049218448 + 1337700 0.0058525678 0.0026839035 0.0055644642 + 1337800 0.0047562888 0.0023337476 0.0046747335 + 1337900 0.0055711514 0.0021882782 0.0049303293 + 1338000 0.0047515481 0.001949356 0.0042880086 + 1338100 0.0057042121 0.0019577912 0.0047653331 + 1338200 0.0070813628 0.0027163337 0.0062016919 + 1338300 0.0049981661 0.0032624701 0.005722505 + 1338400 0.0058164836 0.0028584672 0.0057212677 + 1338500 0.0052727772 0.002423348 0.0050185431 + 1338600 0.0052832276 0.0024682839 0.0050686225 + 1338700 0.0059961311 0.0021858409 0.0051370617 + 1338800 0.0058282672 0.002316441 0.0051850413 + 1338900 0.0029874049 0.0028862474 0.0043566107 + 1339000 0.004404042 0.0032254019 0.0053930163 + 1339100 0.0039289179 0.0034044822 0.0053382465 + 1339200 0.0045306408 0.0029628566 0.0051927813 + 1339300 0.0062304119 0.0025823213 0.0056488522 + 1339400 0.0046329077 0.0025048604 0.0047851196 + 1339500 0.0039054526 0.0026220879 0.0045443028 + 1339600 0.0061159022 0.0025471003 0.0055572709 + 1339700 0.0044239542 0.002795338 0.004972753 + 1339800 0.0048766722 0.0031230237 0.0055232608 + 1339900 0.0049256508 0.0027865074 0.0052108512 + 1340000 0.0059761449 0.002489127 0.0054305108 + 1340100 0.0056269513 0.0027509032 0.0055204183 + 1340200 0.0054215702 0.0026450089 0.005313438 + 1340300 0.005894145 0.0027873977 0.0056884222 + 1340400 0.0053915687 0.0033318122 0.005985475 + 1340500 0.0062069118 0.0028040279 0.0058589923 + 1340600 0.0061530536 0.0019767882 0.0050052443 + 1340700 0.0054545815 0.0020186921 0.004703369 + 1340800 0.004136391 0.0024559656 0.0044918455 + 1340900 0.0057514225 0.0024261645 0.0052569428 + 1341000 0.0053490737 0.0024233247 0.0050560719 + 1341100 0.0038397618 0.0028237193 0.0047136021 + 1341200 0.0045633916 0.002670428 0.0049164723 + 1341300 0.0051628307 0.002601759 0.0051428397 + 1341400 0.00375974 0.0025381772 0.0043886743 + 1341500 0.0051804293 0.0026078263 0.0051575688 + 1341600 0.0051331333 0.0027023633 0.0052288273 + 1341700 0.005696106 0.0029707248 0.005774277 + 1341800 0.0035342395 0.0032974045 0.0050369129 + 1341900 0.0054887737 0.0034433537 0.0061448595 + 1342000 0.0041457579 0.003103768 0.0051442582 + 1342100 0.0045029719 0.0025792256 0.004795532 + 1342200 0.0045767535 0.0021279333 0.0043805542 + 1342300 0.0041832809 0.0021191744 0.0041781329 + 1342400 0.0034613731 0.0023162806 0.0040199252 + 1342500 0.0053882572 0.0020337777 0.0046858106 + 1342600 0.0060399772 0.0021206109 0.0050934122 + 1342700 0.0055244301 0.0027345275 0.0054535829 + 1342800 0.0043500806 0.0030683963 0.0052094517 + 1342900 0.0060100653 0.0027938605 0.0057519396 + 1343000 0.0038348987 0.0025158125 0.0044033017 + 1343100 0.0035888864 0.0022138358 0.0039802408 + 1343200 0.0039377743 0.0021319806 0.0040701039 + 1343300 0.004668219 0.0023037236 0.0046013626 + 1343400 0.0065565725 0.002612731 0.0058397941 + 1343500 0.005670952 0.0027233081 0.0055144798 + 1343600 0.0039884902 0.0029435992 0.0049066843 + 1343700 0.0049345368 0.0028823047 0.005311022 + 1343800 0.0042340774 0.0027238141 0.0048077741 + 1343900 0.004000348 0.0019444421 0.0039133634 + 1344000 0.0061827806 0.0017156357 0.0047587231 + 1344100 0.0033660867 0.0025170079 0.0041737537 + 1344200 0.0045213786 0.0029623151 0.0051876811 + 1344300 0.0051986394 0.0025441422 0.0051028476 + 1344400 0.0058224132 0.0024040155 0.0052697345 + 1344500 0.0054403697 0.0022810479 0.0049587299 + 1344600 0.0051370024 0.0025390414 0.0050674098 + 1344700 0.0053441545 0.0028194962 0.0054498223 + 1344800 0.006331043 0.002566021 0.0056820812 + 1344900 0.0050062225 0.0030821238 0.005546124 + 1345000 0.0057658864 0.0025819266 0.0054198238 + 1345100 0.0064988293 0.0023954182 0.0055940608 + 1345200 0.0048926133 0.0025480421 0.0049561252 + 1345300 0.0051323702 0.0020204305 0.0045465189 + 1345400 0.0046632374 0.0020915321 0.0043867192 + 1345500 0.0037011693 0.0024855435 0.0043072127 + 1345600 0.0053152321 0.0023869493 0.0050030401 + 1345700 0.0050714461 0.0023226272 0.0048187296 + 1345800 0.0066476105 0.0024843739 0.0057562447 + 1345900 0.0058524564 0.002505412 0.0053859179 + 1346000 0.0056178668 0.0028895471 0.0056545909 + 1346100 0.0048389319 0.0031177891 0.0054994509 + 1346200 0.0050898818 0.0029768303 0.0054820066 + 1346300 0.0066552616 0.0026226331 0.0058982696 + 1346400 0.0060954993 0.0022071818 0.0052073104 + 1346500 0.0042512821 0.0018583285 0.0039507564 + 1346600 0.0042249252 0.0021971975 0.0042766529 + 1346700 0.0058473608 0.0026347565 0.0055127544 + 1346800 0.0061943392 0.0025972502 0.0056460265 + 1346900 0.0053542823 0.0030377957 0.0056731066 + 1347000 0.0046639353 0.0028704452 0.0051659759 + 1347100 0.0048116131 0.0027417479 0.0051099637 + 1347200 0.0045613947 0.0028122905 0.005057352 + 1347300 0.0053207659 0.0025843853 0.0052031998 + 1347400 0.0047373972 0.0025627826 0.0048944703 + 1347500 0.0041884067 0.002518535 0.0045800164 + 1347600 0.0055231132 0.0020170945 0.0047355017 + 1347700 0.0047221899 0.0018921731 0.0042163759 + 1347800 0.0057398754 0.0021274267 0.0049525216 + 1347900 0.005752152 0.0024929027 0.00532404 + 1348000 0.0068219139 0.0025922189 0.0059498796 + 1348100 0.0083795388 0.0029122681 0.0070365723 + 1348200 0.0048810687 0.0040961873 0.0064985883 + 1348300 0.0053823714 0.0046358932 0.0072850291 + 1348400 0.0062451687 0.0040713712 0.0071451651 + 1348500 0.0059579364 0.0031556825 0.0060881043 + 1348600 0.0063545049 0.0031562988 0.0062839067 + 1348700 0.0058346601 0.0033549645 0.0062267113 + 1348800 0.0052643485 0.002810193 0.0054012395 + 1348900 0.005774231 0.0028741046 0.0057161089 + 1349000 0.004420646 0.0029234044 0.0050991912 + 1349100 0.0063568267 0.0026685232 0.0057972739 + 1349200 0.0055175554 0.002425348 0.0051410198 + 1349300 0.0049500374 0.002658849 0.0050951955 + 1349400 0.0039990709 0.0028301826 0.0047984752 + 1349500 0.0051733068 0.0025813215 0.0051275584 + 1349600 0.0042339092 0.0025724225 0.0046562997 + 1349700 0.0041661227 0.0022195691 0.0042700826 + 1349800 0.0040917849 0.0025716983 0.0045856237 + 1349900 0.0050001898 0.0026537707 0.0051148016 + 1350000 0.0054131424 0.0028487224 0.0055130034 + 1350100 0.0045293591 0.0030881938 0.0053174877 + 1350200 0.0063977594 0.0032338259 0.0063827231 + 1350300 0.005704342 0.0032112697 0.0060188755 + 1350400 0.0051235924 0.0034883551 0.0060101232 + 1350500 0.0050673982 0.0031372888 0.0056313989 + 1350600 0.0031937391 0.0031502395 0.0047221579 + 1350700 0.0038147398 0.0026880711 0.0045656383 + 1350800 0.0047385223 0.0026705819 0.0050028234 + 1350900 0.0037088899 0.0024680973 0.0042935665 + 1351000 0.0053328653 0.0022462469 0.0048710166 + 1351100 0.0044825365 0.0024547092 0.0046609577 + 1351200 0.0044895117 0.0027949448 0.0050046263 + 1351300 0.0042007214 0.0033785019 0.0054460445 + 1351400 0.0057590295 0.0027892332 0.0056237555 + 1351500 0.0043231561 0.002806925 0.0049347284 + 1351600 0.0053914181 0.0031406067 0.0057941953 + 1351700 0.0058261713 0.0029828067 0.0058503754 + 1351800 0.0051353127 0.0027695262 0.0052970629 + 1351900 0.0063013902 0.0025447926 0.005646258 + 1352000 0.0035657673 0.0027476266 0.0045026527 + 1352100 0.0035215925 0.0029204238 0.0046537076 + 1352200 0.004743712 0.0031386566 0.0054734524 + 1352300 0.0055642846 0.0030615851 0.0058002565 + 1352400 0.0053381735 0.0025120673 0.0051394495 + 1352500 0.004393156 0.0024065305 0.004568787 + 1352600 0.0050890775 0.0023284044 0.0048331848 + 1352700 0.0040957902 0.0024553396 0.0044712364 + 1352800 0.0057680101 0.0022204371 0.0050593795 + 1352900 0.0046663988 0.0019982752 0.0042950184 + 1353000 0.0046293002 0.002175734 0.0044542177 + 1353100 0.0059849221 0.002179217 0.0051249209 + 1353200 0.0055145922 0.0023906938 0.0051049071 + 1353300 0.0054971537 0.0025442868 0.0052499171 + 1353400 0.0053852154 0.0021577309 0.0048082666 + 1353500 0.0036220603 0.0019666826 0.0037494154 + 1353600 0.0044141986 0.0016990156 0.0038716289 + 1353700 0.0036764629 0.001917073 0.0037265821 + 1353800 0.0037976918 0.0025510147 0.0044201911 + 1353900 0.0046298802 0.0032191703 0.0054979395 + 1354000 0.0035565015 0.003099647 0.0048501126 + 1354100 0.0057990349 0.0034009611 0.0062551736 + 1354200 0.0053998576 0.0031106737 0.0057684161 + 1354300 0.0041283913 0.0026826122 0.0047145548 + 1354400 0.0052430157 0.002880469 0.0054610158 + 1354500 0.0058929979 0.0024160364 0.0053164963 + 1354600 0.0049905595 0.0019712689 0.0044275598 + 1354700 0.004165768 0.0020696871 0.004120026 + 1354800 0.0038741668 0.0021220929 0.0040289094 + 1354900 0.0056178364 0.0017811669 0.0045461958 + 1355000 0.0052025288 0.0018062435 0.0043668631 + 1355100 0.0038545177 0.0019901138 0.0038872592 + 1355200 0.0052366781 0.0020403972 0.0046178247 + 1355300 0.0042183824 0.0021292702 0.0042055052 + 1355400 0.004180246 0.0025937939 0.0046512588 + 1355500 0.0066519136 0.0026632413 0.0059372301 + 1355600 0.0048869836 0.0028230599 0.0052283721 + 1355700 0.0060524446 0.0025272872 0.0055062248 + 1355800 0.0045513576 0.0024033583 0.0046434797 + 1355900 0.0053478189 0.0019197455 0.0045518752 + 1356000 0.004557239 0.0017468709 0.0039898869 + 1356100 0.0050349823 0.0023400029 0.0048181582 + 1356200 0.0046604947 0.0025238473 0.0048176846 + 1356300 0.0050100702 0.0029303291 0.005396223 + 1356400 0.0045873085 0.0030952604 0.0053530763 + 1356500 0.0045513393 0.0028427599 0.0050828722 + 1356600 0.0061163571 0.0032329556 0.0062433501 + 1356700 0.0055335493 0.0035730287 0.0062965724 + 1356800 0.0043073651 0.003476292 0.0055963233 + 1356900 0.0048378978 0.0029816134 0.0053627663 + 1357000 0.0049709676 0.002881153 0.0053278011 + 1357100 0.0044276818 0.0027689514 0.0049482011 + 1357200 0.0047906442 0.0027100694 0.0050679645 + 1357300 0.0069657313 0.0029473796 0.0063758255 + 1357400 0.0049083739 0.0028466584 0.0052624987 + 1357500 0.005152214 0.0025437583 0.0050796137 + 1357600 0.0061636739 0.002106929 0.0051406122 + 1357700 0.0062841194 0.0019630221 0.0050559871 + 1357800 0.0060495904 0.0024307922 0.005408325 + 1357900 0.0053840315 0.0025268774 0.0051768304 + 1358000 0.0051008456 0.0025627029 0.0050732754 + 1358100 0.0053259104 0.0023076687 0.0049290152 + 1358200 0.0038553381 0.0023449971 0.0042425463 + 1358300 0.0039262718 0.0024311235 0.0043635854 + 1358400 0.0041550075 0.0023980522 0.004443095 + 1358500 0.0047350435 0.0024682622 0.0047987914 + 1358600 0.0059834694 0.0025013913 0.0054463801 + 1358700 0.004695077 0.0025361267 0.004846985 + 1358800 0.0042129308 0.0029690915 0.0050426434 + 1358900 0.0048031547 0.002871493 0.0052355457 + 1359000 0.0033873033 0.0028216681 0.0044888564 + 1359100 0.0049557298 0.0027743121 0.0052134604 + 1359200 0.0040457218 0.0025866239 0.0045778776 + 1359300 0.0061261971 0.0023004068 0.0053156444 + 1359400 0.0043988042 0.0022874234 0.0044524599 + 1359500 0.0044555174 0.0025195553 0.0047125052 + 1359600 0.0049041101 0.0026248059 0.0050385475 + 1359700 0.0064842588 0.0029961584 0.0061876295 + 1359800 0.0060965875 0.0027798554 0.0057805196 + 1359900 0.0053625104 0.003040614 0.0056799746 + 1360000 0.0050619963 0.003034625 0.0055260762 + 1360100 0.0058023269 0.0030329482 0.005888781 + 1360200 0.003696191 0.0030324996 0.0048517187 + 1360300 0.0049752114 0.0027416869 0.0051904238 + 1360400 0.0053789317 0.0027305349 0.0053779779 + 1360500 0.0060567346 0.0025929524 0.0055740014 + 1360600 0.0043276991 0.002753423 0.0048834624 + 1360700 0.0045345568 0.0029400305 0.0051718827 + 1360800 0.0057620559 0.0031682868 0.0060042987 + 1360900 0.0062118999 0.0031630454 0.0062204649 + 1361000 0.0040737247 0.0029177574 0.0049227937 + 1361100 0.004898169 0.0023099236 0.0047207411 + 1361200 0.0047239783 0.0019696625 0.0042947456 + 1361300 0.0055444415 0.0026181623 0.0053470672 + 1361400 0.0057768347 0.0031273078 0.0059705936 + 1361500 0.0056246858 0.0030175801 0.0057859801 + 1361600 0.0054832175 0.0025644445 0.0052632156 + 1361700 0.0045092762 0.0023422844 0.0045616938 + 1361800 0.0057958805 0.0026253089 0.0054779689 + 1361900 0.0051521058 0.0025820178 0.0051178199 + 1362000 0.0052714565 0.0022529551 0.0048475001 + 1362100 0.0053744526 0.0021606231 0.0048058615 + 1362200 0.0050943895 0.0027224202 0.005229815 + 1362300 0.005129667 0.0028813758 0.0054061338 + 1362400 0.0065682903 0.0027390738 0.0059719042 + 1362500 0.0040834095 0.0027843057 0.0047941088 + 1362600 0.0038607084 0.0029373315 0.0048375239 + 1362700 0.0064146085 0.0027995264 0.0059567165 + 1362800 0.0055083063 0.002448642 0.0051597615 + 1362900 0.0052582696 0.0026932171 0.0052812716 + 1363000 0.0040146858 0.0027994011 0.0047753793 + 1363100 0.005286096 0.0026742253 0.0052759756 + 1363200 0.0065439099 0.0027621627 0.0059829934 + 1363300 0.0040288303 0.0029803535 0.0049632935 + 1363400 0.0042991595 0.0029811075 0.0050971 + 1363500 0.0064669341 0.0030804851 0.0062634292 + 1363600 0.0057298815 0.0029560679 0.0057762439 + 1363700 0.0048624559 0.0027258453 0.0051190853 + 1363800 0.0052990908 0.0026194879 0.0052276342 + 1363900 0.0052517523 0.0028322565 0.0054171033 + 1364000 0.0045484087 0.0027996862 0.0050383561 + 1364100 0.0054457328 0.0026258715 0.0053061931 + 1364200 0.0051123507 0.0026322935 0.0051485286 + 1364300 0.0046648846 0.0026237186 0.0049197164 + 1364400 0.0058104629 0.0026039228 0.00546376 + 1364500 0.0059955441 0.0024697735 0.0054207054 + 1364600 0.0052423923 0.0023452554 0.0049254953 + 1364700 0.0028777898 0.0023019521 0.0037183642 + 1364800 0.0047190664 0.0020983044 0.0044209699 + 1364900 0.0041417549 0.0019951793 0.0040336993 + 1365000 0.0038840809 0.0019753817 0.0038870778 + 1365100 0.0046362878 0.0021385113 0.0044204342 + 1365200 0.0044473046 0.002218225 0.0044071327 + 1365300 0.0047760122 0.0020277145 0.004378408 + 1365400 0.0038751293 0.0019180144 0.0038253046 + 1365500 0.0030182792 0.0024606562 0.0039462155 + 1365600 0.0045801162 0.0025744452 0.0048287212 + 1365700 0.0049348266 0.002722342 0.0051512019 + 1365800 0.0052500908 0.0029497731 0.0055338021 + 1365900 0.005628001 0.0033939982 0.00616403 + 1366000 0.0058552844 0.0028647186 0.0057466164 + 1366100 0.0050922486 0.0023292003 0.0048355414 + 1366200 0.0038128496 0.002838269 0.0047149059 + 1366300 0.0056511026 0.0024073443 0.0051887464 + 1366400 0.0044643101 0.0018981073 0.0040953849 + 1366500 0.0043642642 0.0019122919 0.0040603282 + 1366600 0.0049175422 0.0022090527 0.0046294055 + 1366700 0.0049181182 0.0022878477 0.004708484 + 1366800 0.0047225704 0.0022536962 0.0045780864 + 1366900 0.0055673716 0.0022332546 0.0049734453 + 1367000 0.0047372025 0.0023159375 0.0046475294 + 1367100 0.0044549492 0.002507884 0.0047005543 + 1367200 0.0046125527 0.0026352366 0.0049054774 + 1367300 0.0059056662 0.0029588109 0.005865506 + 1367400 0.0036898599 0.0033762508 0.0051923538 + 1367500 0.0051924259 0.003281422 0.0058370691 + 1367600 0.0048277152 0.0030134658 0.0053896069 + 1367700 0.0056987817 0.0027439794 0.0055488485 + 1367800 0.0068007517 0.0022292695 0.0055765145 + 1367900 0.0062602587 0.0024244227 0.0055056438 + 1368000 0.0042965735 0.0024118666 0.0045265864 + 1368100 0.007163635 0.0022974128 0.0058232644 + 1368200 0.0041243356 0.002317056 0.0043470024 + 1368300 0.0040616496 0.0020481947 0.0040472879 + 1368400 0.0044356757 0.0018808685 0.0040640526 + 1368500 0.0048424122 0.0022729942 0.004656369 + 1368600 0.0063666234 0.0027221516 0.005855724 + 1368700 0.0061936444 0.0031170673 0.0061655016 + 1368800 0.0057413308 0.0031220135 0.0059478248 + 1368900 0.0061943491 0.0026180729 0.0056668541 + 1369000 0.0054605656 0.0025116192 0.0051992413 + 1369100 0.0057931873 0.0027319249 0.0055832593 + 1369200 0.0058583168 0.0025611777 0.005444568 + 1369300 0.0049931901 0.0028624168 0.0053200026 + 1369400 0.0047905134 0.0023932451 0.0047510759 + 1369500 0.0047621174 0.0022404084 0.0045842631 + 1369600 0.0051007437 0.002162883 0.0046734053 + 1369700 0.0069386777 0.0023977616 0.005812892 + 1369800 0.0060487602 0.0024345094 0.0054116336 + 1369900 0.0039167444 0.0025226641 0.0044504367 + 1370000 0.0038729007 0.002370141 0.0042763343 + 1370100 0.0053192727 0.0017940268 0.0044121063 + 1370200 0.0057541857 0.0018744267 0.004706565 + 1370300 0.0056354853 0.0017279136 0.004501629 + 1370400 0.003800429 0.0016740925 0.0035446162 + 1370500 0.0045516375 0.0019493658 0.0041896249 + 1370600 0.0065824035 0.0022880522 0.0055278289 + 1370700 0.0060313253 0.0024799712 0.0054485141 + 1370800 0.0043449917 0.0022565582 0.0043951088 + 1370900 0.0042254457 0.0023248681 0.0044045797 + 1371000 0.0052234106 0.0018587271 0.0044296245 + 1371100 0.0040784163 0.0020248754 0.0040322209 + 1371200 0.0044518558 0.002190417 0.0043815648 + 1371300 0.0043524588 0.0018311919 0.0039734177 + 1371400 0.0044860688 0.0018516032 0.0040595902 + 1371500 0.0055439678 0.0018929048 0.0046215765 + 1371600 0.003614236 0.0021316879 0.0039105697 + 1371700 0.0043507166 0.0021971199 0.0043384883 + 1371800 0.0047589992 0.002130924 0.0044732439 + 1371900 0.0040454359 0.0021726409 0.0041637539 + 1372000 0.0054534391 0.0025574785 0.0052415931 + 1372100 0.0038443903 0.0028759261 0.0047680869 + 1372200 0.0054292939 0.0024869336 0.0051591642 + 1372300 0.0050343848 0.0026580564 0.0051359176 + 1372400 0.0051791762 0.0025738307 0.0051229564 + 1372500 0.0070137628 0.0024828964 0.0059349828 + 1372600 0.0053737174 0.0027914426 0.0054363192 + 1372700 0.0061418582 0.0028274246 0.0058503704 + 1372800 0.0049933596 0.0028085322 0.0052662014 + 1372900 0.0055073858 0.0025643645 0.0052750309 + 1373000 0.0031399216 0.0025605965 0.0041060267 + 1373100 0.0053696297 0.0022826202 0.0049254848 + 1373200 0.0042836056 0.001899089 0.0040074261 + 1373300 0.0053088413 0.0018068009 0.0044197462 + 1373400 0.006366352 0.0021681425 0.0053015813 + 1373500 0.004149365 0.0024970963 0.0045393619 + 1373600 0.0047346616 0.0028586544 0.0051889957 + 1373700 0.0051310954 0.0028899424 0.0054154034 + 1373800 0.0045912741 0.0030690699 0.0053288376 + 1373900 0.0044068156 0.0026719358 0.0048409154 + 1374000 0.0048215427 0.0023940511 0.0047671542 + 1374100 0.0045966351 0.0021940172 0.0044564236 + 1374200 0.0059940736 0.0020064602 0.0049566683 + 1374300 0.0045386724 0.0019759873 0.0042098651 + 1374400 0.0035986453 0.0022542325 0.0040254407 + 1374500 0.0053501998 0.0020901911 0.0047234925 + 1374600 0.004383039 0.0018702351 0.0040275121 + 1374700 0.0052133299 0.0019365131 0.0045024489 + 1374800 0.0038391924 0.0018064856 0.0036960881 + 1374900 0.0055749504 0.0015264967 0.0042704177 + 1375000 0.0044348064 0.0016820948 0.0038648511 + 1375100 0.0045874859 0.0023163881 0.0045742913 + 1375200 0.0059544068 0.0026673506 0.0055980351 + 1375300 0.0043405881 0.002136047 0.0042724302 + 1375400 0.0056547791 0.0019286425 0.0047118541 + 1375500 0.0062999509 0.0023856755 0.0054864326 + 1375600 0.0041372807 0.0031175279 0.0051538458 + 1375700 0.0059471849 0.0031470563 0.0060741864 + 1375800 0.0046460535 0.0027311732 0.0050179026 + 1375900 0.0058734955 0.0023445841 0.0052354451 + 1376000 0.0040143136 0.0022409659 0.0042167609 + 1376100 0.0038330997 0.001810078 0.0036966817 + 1376200 0.005158667 0.0015656032 0.0041046346 + 1376300 0.0051722368 0.0016484827 0.004194193 + 1376400 0.0053341559 0.0023585174 0.0049839222 + 1376500 0.0056551011 0.002842205 0.005625575 + 1376600 0.0055705331 0.0022497659 0.0049915126 + 1376700 0.0056150279 0.0021518314 0.0049154779 + 1376800 0.0054990255 0.0025006416 0.0052071932 + 1376900 0.0063239344 0.0021155572 0.0052281187 + 1377000 0.0062068435 0.0017971424 0.0048520731 + 1377100 0.0060872817 0.0017772077 0.0047732917 + 1377200 0.0043746224 0.0019666261 0.0041197605 + 1377300 0.0065153105 0.0020580973 0.0052648517 + 1377400 0.0039601518 0.0022636583 0.0042127955 + 1377500 0.0052403506 0.0022936697 0.0048729048 + 1377600 0.0040221809 0.0018493746 0.0038290418 + 1377700 0.0036692953 0.0019617656 0.0037677469 + 1377800 0.0042948711 0.0019992972 0.0041131791 + 1377900 0.0051292036 0.0019853086 0.0045098386 + 1378000 0.0050971182 0.0019888203 0.0044975582 + 1378100 0.0065652257 0.0021672742 0.0053985962 + 1378200 0.0045625499 0.0023629256 0.0046085556 + 1378300 0.0037537296 0.0027886984 0.0046362372 + 1378400 0.0049313868 0.0023658676 0.0047930345 + 1378500 0.0059478288 0.0017465649 0.0046740118 + 1378600 0.0053931324 0.0018138946 0.004468327 + 1378700 0.0047655496 0.0022991672 0.0046447112 + 1378800 0.0046260617 0.0022948113 0.0045717011 + 1378900 0.0042389219 0.0021674104 0.0042537548 + 1379000 0.0058343978 0.0018492159 0.0047208336 + 1379100 0.006037064 0.0021295359 0.0051009033 + 1379200 0.004369737 0.0023025729 0.0044533028 + 1379300 0.0043906344 0.0023310684 0.0044920838 + 1379400 0.0053031623 0.0022665625 0.0048767126 + 1379500 0.0050968046 0.002039778 0.0045483615 + 1379600 0.0051655037 0.001769963 0.0043123593 + 1379700 0.0045680486 0.0020398661 0.0042882026 + 1379800 0.0053251259 0.002548004 0.0051689644 + 1379900 0.0039914897 0.0029753316 0.0049398929 + 1380000 0.0068302734 0.0026164112 0.0059781864 + 1380100 0.0058461031 0.0019113699 0.0047887488 + 1380200 0.0044729773 0.0018107683 0.0040123119 + 1380300 0.0037996462 0.0020865075 0.0039566458 + 1380400 0.0046974657 0.0017854574 0.0040974913 + 1380500 0.0053720492 0.0016731841 0.0043172395 + 1380600 0.0049007983 0.0019549043 0.0043670159 + 1380700 0.0041308746 0.0026008657 0.0046340306 + 1380800 0.0039614759 0.0026606084 0.0046103973 + 1380900 0.0045090463 0.0024009266 0.0046202228 + 1381000 0.0044332464 0.002535392 0.0047173805 + 1381100 0.0066688067 0.0025541275 0.0058364308 + 1381200 0.0051810003 0.0022331116 0.0047831352 + 1381300 0.0056878593 0.001766959 0.0045664523 + 1381400 0.0061304644 0.0023325835 0.0053499214 + 1381500 0.0050862029 0.0027365281 0.0052398936 + 1381600 0.0059487768 0.002918324 0.0058462375 + 1381700 0.0051588754 0.0031120618 0.0056511958 + 1381800 0.0046933581 0.0030393441 0.0053493563 + 1381900 0.0055665673 0.0023141276 0.0050539225 + 1382000 0.0057742366 0.0021538198 0.0049958269 + 1382100 0.0045981742 0.0024766822 0.0047398461 + 1382200 0.0050144838 0.0025356785 0.0050037448 + 1382300 0.0055861746 0.0024138735 0.0051633188 + 1382400 0.0047557925 0.0023093299 0.0046500715 + 1382500 0.004165315 0.0022498939 0.0043000099 + 1382600 0.0057862535 0.0023550857 0.0052030073 + 1382700 0.0050715586 0.0027273361 0.0052234939 + 1382800 0.0050863168 0.0027905311 0.0052939526 + 1382900 0.0052541225 0.0022418258 0.0048278392 + 1383000 0.0051983992 0.0019532777 0.0045118648 + 1383100 0.0052128965 0.0022287686 0.0047944911 + 1383200 0.0048129927 0.0020434792 0.0044123741 + 1383300 0.0042750892 0.0019259714 0.0040301169 + 1383400 0.0047725658 0.0018718843 0.0042208815 + 1383500 0.0044365541 0.0024159287 0.0045995452 + 1383600 0.0065452381 0.0021617314 0.0053832158 + 1383700 0.0046890138 0.0020357538 0.0043436278 + 1383800 0.0059372147 0.0022115346 0.0051337575 + 1383900 0.0042799376 0.0026317117 0.0047382435 + 1384000 0.0047433049 0.0030449367 0.0053795321 + 1384100 0.0045726186 0.0029123528 0.0051629386 + 1384200 0.0043538092 0.0028515181 0.0049944086 + 1384300 0.0037063925 0.002773788 0.0045980281 + 1384400 0.0054754784 0.0023142296 0.0050091917 + 1384500 0.0048212506 0.0021444985 0.0045174577 + 1384600 0.004213464 0.0021430882 0.0042169025 + 1384700 0.0055079336 0.0021088724 0.0048198085 + 1384800 0.0055643478 0.0024450226 0.0051837251 + 1384900 0.0052603457 0.0027210632 0.0053101396 + 1385000 0.0056046595 0.0029384698 0.0056970132 + 1385100 0.0037290683 0.0034060227 0.0052414235 + 1385200 0.0056827638 0.0033212083 0.0061181936 + 1385300 0.0034239526 0.0033340949 0.0050193215 + 1385400 0.0051651045 0.0033978604 0.0059400603 + 1385500 0.0052741768 0.0037671616 0.0063630455 + 1385600 0.0044207684 0.0040932284 0.0062690753 + 1385700 0.003161075 0.0037969714 0.005352813 + 1385800 0.0055035291 0.0034972972 0.0062060654 + 1385900 0.0045428047 0.0035657394 0.0058016511 + 1386000 0.0051662162 0.0032761289 0.0058188759 + 1386100 0.0050400464 0.0031221506 0.0056027984 + 1386200 0.0051308798 0.0030211372 0.0055464921 + 1386300 0.0042787504 0.0029191726 0.0050251201 + 1386400 0.0060561661 0.0028948633 0.0058756326 + 1386500 0.003900502 0.0030752942 0.0049950726 + 1386600 0.0052022212 0.0031926639 0.0057531321 + 1386700 0.0060665647 0.0025783842 0.0055642715 + 1386800 0.0047104443 0.002765282 0.0050837038 + 1386900 0.0050177596 0.0032404021 0.0057100806 + 1387000 0.0057929351 0.0037306016 0.0065818118 + 1387100 0.0054340467 0.0034448063 0.0061193761 + 1387200 0.0041787974 0.0031076441 0.005164396 + 1387300 0.0051244923 0.0027499919 0.005272203 + 1387400 0.0055417516 0.0030177641 0.005745345 + 1387500 0.0069061858 0.0028751327 0.006274271 + 1387600 0.0041663703 0.0028570489 0.0049076843 + 1387700 0.0040941419 0.0030541457 0.0050692311 + 1387800 0.0047967831 0.0027582611 0.0051191778 + 1387900 0.0057213338 0.0023188206 0.0051347896 + 1388000 0.0039796373 0.0025644687 0.0045231964 + 1388100 0.004507588 0.002534434 0.0047530125 + 1388200 0.0040108036 0.0024801553 0.0044542226 + 1388300 0.0043549763 0.0022462107 0.0043896757 + 1388400 0.0041799667 0.0022749915 0.0043323189 + 1388500 0.0035316793 0.0022836438 0.0040218922 + 1388600 0.0051205182 0.0022241099 0.004744365 + 1388700 0.004318714 0.0024692353 0.0045948523 + 1388800 0.0063295482 0.0021300197 0.0052453442 + 1388900 0.0056035408 0.0021748889 0.0049328816 + 1389000 0.0046106968 0.0025342245 0.0048035519 + 1389100 0.004956265 0.0027527431 0.0051921548 + 1389200 0.0071166376 0.0031964471 0.0066991672 + 1389300 0.0054953662 0.0028337412 0.0055384918 + 1389400 0.005634873 0.0025736385 0.0053470525 + 1389500 0.0043739583 0.0026647175 0.0048175251 + 1389600 0.0040975442 0.0026446031 0.0046613632 + 1389700 0.0051852153 0.0022784582 0.0048305563 + 1389800 0.0046336486 0.0023686258 0.0046492497 + 1389900 0.0056105386 0.0025340889 0.0052955259 + 1390000 0.0061933994 0.0029386129 0.0059869266 + 1390100 0.0058756637 0.002694354 0.0055862823 + 1390200 0.0038746306 0.0028791439 0.0047861886 + 1390300 0.0059390549 0.002576335 0.0054994636 + 1390400 0.004942478 0.0022800283 0.0047126542 + 1390500 0.0052076673 0.0020109226 0.0045740713 + 1390600 0.0051940603 0.0025003453 0.0050567968 + 1390700 0.0061764848 0.0025602772 0.0056002658 + 1390800 0.0044063917 0.0024840417 0.0046528126 + 1390900 0.0058734007 0.0025905334 0.0054813478 + 1391000 0.005885083 0.0029492858 0.0058458501 + 1391100 0.0042465599 0.0029742313 0.005064335 + 1391200 0.0039813232 0.0027768148 0.0047363723 + 1391300 0.005915054 0.0021620684 0.0050733841 + 1391400 0.0049572409 0.0020682822 0.0045081742 + 1391500 0.0048787258 0.0023958543 0.0047971022 + 1391600 0.0059248058 0.0022753669 0.0051914823 + 1391700 0.0057075565 0.002033661 0.0048428489 + 1391800 0.0057446102 0.001919913 0.0047473384 + 1391900 0.0043183561 0.0019562949 0.0040817358 + 1392000 0.005077834 0.0017588239 0.0042580704 + 1392100 0.0046226707 0.001928926 0.0042041467 + 1392200 0.0050310489 0.0020543798 0.0045305991 + 1392300 0.0039447689 0.0021073865 0.0040489525 + 1392400 0.0059236913 0.0018140833 0.0047296501 + 1392500 0.0035820782 0.0020026072 0.0037656613 + 1392600 0.0049862416 0.0021834705 0.0046376363 + 1392700 0.0060355545 0.0024163221 0.0053869466 + 1392800 0.0043908724 0.0024171167 0.0045782492 + 1392900 0.0046737978 0.0021609852 0.0044613701 + 1393000 0.0059784835 0.0022228128 0.0051653477 + 1393100 0.0042526357 0.0027987798 0.0048918739 + 1393200 0.0038815926 0.002785934 0.0046964054 + 1393300 0.004615664 0.0022819304 0.0045537026 + 1393400 0.0045571403 0.0019967482 0.0042397157 + 1393500 0.0063180743 0.0021827396 0.0052924168 + 1393600 0.0058742453 0.0023099044 0.0052011345 + 1393700 0.0052514746 0.0018288219 0.0044135321 + 1393800 0.0055617161 0.0021978611 0.0049352682 + 1393900 0.0037492278 0.0030511112 0.0048964342 + 1394000 0.0077734508 0.0027966506 0.0066226459 + 1394100 0.0047694327 0.0026547916 0.0050022468 + 1394200 0.0056746229 0.0029227296 0.0057157081 + 1394300 0.0047207947 0.0031258418 0.0054493579 + 1394400 0.0048800076 0.0025860354 0.0049879141 + 1394500 0.0036520983 0.0020792133 0.0038767305 + 1394600 0.0053972253 0.0023399525 0.0049963993 + 1394700 0.0046818873 0.0026034959 0.0049078624 + 1394800 0.0062875663 0.0021892089 0.0052838704 + 1394900 0.0068432063 0.002090831 0.0054589716 + 1395000 0.0052709852 0.00214633 0.004740643 + 1395100 0.0050034588 0.0026378239 0.0051004638 + 1395200 0.0045105783 0.0027533463 0.0049733966 + 1395300 0.0038974004 0.0026235108 0.0045417625 + 1395400 0.0053123647 0.0021072402 0.0047219197 + 1395500 0.0055318495 0.0021395114 0.0048622186 + 1395600 0.0039845056 0.0026368631 0.0045979869 + 1395700 0.005637762 0.0024672988 0.0052421348 + 1395800 0.004946343 0.0024963864 0.0049309146 + 1395900 0.0050453721 0.002351409 0.0048346781 + 1396000 0.0066911459 0.0024335471 0.0057268455 + 1396100 0.0050961149 0.0028245018 0.0053327458 + 1396200 0.0040979303 0.0033703313 0.0053872813 + 1396300 0.0045668914 0.0029284202 0.005176187 + 1396400 0.0042710749 0.002749262 0.0048514316 + 1396500 0.0050237705 0.0023958113 0.0048684484 + 1396600 0.0039319219 0.0023969557 0.0043321985 + 1396700 0.0051046356 0.0027841703 0.0052966082 + 1396800 0.0049577387 0.0032592848 0.0056994218 + 1396900 0.0036835562 0.0040791933 0.0058921936 + 1397000 0.0051346636 0.0043093782 0.0068365954 + 1397100 0.0061205659 0.0036112633 0.0066237293 + 1397200 0.0073724451 0.0030689685 0.0066975938 + 1397300 0.0056915508 0.0031925681 0.0059938783 + 1397400 0.0044597626 0.0033107467 0.0055057861 + 1397500 0.0052232263 0.0031783061 0.0057491128 + 1397600 0.0055069116 0.0031915664 0.0059019994 + 1397700 0.0047946137 0.0031384855 0.0054983344 + 1397800 0.0050492382 0.0028371911 0.005322363 + 1397900 0.0055108315 0.0029296977 0.0056420601 + 1398000 0.0049871725 0.0031698549 0.0056244789 + 1398100 0.0049865574 0.0025712703 0.0050255915 + 1398200 0.0051450086 0.0024549887 0.0049872976 + 1398300 0.0046567594 0.0028208497 0.0051128485 + 1398400 0.0043547647 0.0029130517 0.0050564124 + 1398500 0.0042468151 0.0028274579 0.0049176872 + 1398600 0.0062077245 0.002854384 0.0059097484 + 1398700 0.0053026592 0.0029924627 0.0056023652 + 1398800 0.0066192763 0.0027960081 0.0060539332 + 1398900 0.0044345046 0.0022929912 0.004475599 + 1399000 0.0027834356 0.0018549152 0.0032248874 + 1399100 0.0042505018 0.0016897773 0.0037818212 + 1399200 0.0046226614 0.0014700539 0.00374527 + 1399300 0.0040252031 0.0012616025 0.0032427572 + 1399400 0.00446809 0.0012739443 0.0034730823 + 1399500 0.0051336608 0.0016412946 0.0041680183 + 1399600 0.0045035037 0.0023073874 0.0045239556 + 1399700 0.0055356005 0.002593531 0.0053180843 + 1399800 0.0040350096 0.0027663879 0.0047523692 + 1399900 0.0040076302 0.0026792658 0.0046517713 + 1400000 0.0052022387 0.002459721 0.0050201978 + 1400100 0.0049277232 0.0022774445 0.0047028083 + 1400200 0.005661902 0.0023518388 0.0051385562 + 1400300 0.0045115379 0.002416928 0.0046374506 + 1400400 0.0058415797 0.0026978563 0.0055730088 + 1400500 0.0039689188 0.0025618809 0.0045153331 + 1400600 0.0054037681 0.0023149535 0.0049746206 + 1400700 0.004048414 0.0025851478 0.0045777265 + 1400800 0.0044646227 0.0028522382 0.0050496697 + 1400900 0.0034767282 0.0026515887 0.0043627908 + 1401000 0.0038632458 0.0024297123 0.0043311536 + 1401100 0.00428947 0.0020715954 0.0041828189 + 1401200 0.0068178359 0.0021096746 0.0054653282 + 1401300 0.0066827696 0.0023471469 0.0056363225 + 1401400 0.0040292662 0.0023020103 0.0042851648 + 1401500 0.0052559225 0.0025968744 0.0051837738 + 1401600 0.0058132315 0.0028410918 0.0057022917 + 1401700 0.0056488007 0.0027856403 0.0055659094 + 1401800 0.0049905019 0.0026351644 0.0050914271 + 1401900 0.0057065479 0.0025849613 0.0053936529 + 1402000 0.0048340308 0.0027165135 0.005095763 + 1402100 0.0058744025 0.0028052648 0.0056965723 + 1402200 0.0052282217 0.0030224465 0.0055957119 + 1402300 0.0042472436 0.0034294009 0.0055198411 + 1402400 0.0053783136 0.0027266615 0.0053738002 + 1402500 0.0038391276 0.0022903266 0.0041798972 + 1402600 0.0056811966 0.0022576709 0.0050538849 + 1402700 0.0066492224 0.0025680634 0.0058407275 + 1402800 0.0051030582 0.0027544837 0.0052661451 + 1402900 0.0055956182 0.0032650075 0.0060191008 + 1403000 0.0044808396 0.0027997561 0.0050051694 + 1403100 0.005387691 0.0022744771 0.0049262312 + 1403200 0.0062176102 0.0024053235 0.0054655536 + 1403300 0.0048368591 0.0025310272 0.0049116688 + 1403400 0.0050211382 0.0024985627 0.0049699042 + 1403500 0.004799781 0.0029527907 0.0053151829 + 1403600 0.0053757796 0.0033550169 0.0060009084 + 1403700 0.006471317 0.0030011584 0.0061862598 + 1403800 0.0045375008 0.0024351445 0.0046684457 + 1403900 0.0040357551 0.0020397088 0.004026057 + 1404000 0.0062828409 0.0022757992 0.005368135 + 1404100 0.0045977907 0.0025021536 0.0047651287 + 1404200 0.0044443364 0.002597848 0.0047852948 + 1404300 0.0039310697 0.00219177 0.0041265934 + 1404400 0.0054710256 0.0021415725 0.0048343429 + 1404500 0.0037348212 0.0021665101 0.0040047424 + 1404600 0.005659335 0.001984024 0.004769478 + 1404700 0.0051169847 0.0021015387 0.0046200546 + 1404800 0.0054941892 0.0026958665 0.0054000378 + 1404900 0.0046659855 0.0027185346 0.0050150744 + 1405000 0.004428502 0.0027605933 0.0049402466 + 1405100 0.005131078 0.0024257692 0.0049512216 + 1405200 0.0042561553 0.0027394126 0.004834239 + 1405300 0.0058301806 0.0030478259 0.005917368 + 1405400 0.004701722 0.0034137685 0.0057278973 + 1405500 0.0058049605 0.0032024894 0.0060596184 + 1405600 0.005269833 0.003312417 0.0059061629 + 1405700 0.0065680873 0.0031577129 0.0063904433 + 1405800 0.0060360132 0.003255636 0.0062264863 + 1405900 0.0055652998 0.0032573489 0.0059965199 + 1406000 0.0063034246 0.0030490882 0.006151555 + 1406100 0.0053265039 0.0032679185 0.0058895572 + 1406200 0.0050000025 0.0033954131 0.0058563518 + 1406300 0.0057479062 0.0029879867 0.0058170343 + 1406400 0.0051084285 0.0031934027 0.0057077074 + 1406500 0.0041384349 0.0029958039 0.0050326898 + 1406600 0.0059564771 0.0029464259 0.0058781295 + 1406700 0.003891909 0.0032436548 0.0051592038 + 1406800 0.0040422962 0.0036741037 0.0056636714 + 1406900 0.0047962749 0.0034921062 0.0058527727 + 1407000 0.0053640237 0.0035308836 0.0061709891 + 1407100 0.0047633923 0.0032930471 0.0056375293 + 1407200 0.0066421882 0.0028424081 0.0061116101 + 1407300 0.0053146269 0.0030410217 0.0056568147 + 1407400 0.0044521907 0.0033133442 0.0055046568 + 1407500 0.0041297732 0.0029767839 0.0050094067 + 1407600 0.0052566392 0.0026683251 0.0052555772 + 1407700 0.0051771841 0.0031616861 0.0057098315 + 1407800 0.0043931478 0.0031436271 0.0053058795 + 1407900 0.0051619892 0.0026386612 0.0051793278 + 1408000 0.0049866527 0.0022685205 0.0047228886 + 1408100 0.006000193 0.0023376454 0.0052908653 + 1408200 0.0062344207 0.0031313758 0.0061998797 + 1408300 0.0042066694 0.0036212391 0.0056917092 + 1408400 0.0051616319 0.003714541 0.0062550317 + 1408500 0.005354826 0.0033346759 0.0059702543 + 1408600 0.0059747981 0.0031483525 0.0060890734 + 1408700 0.003710826 0.0034445929 0.0052710151 + 1408800 0.0040847754 0.0033959886 0.005406464 + 1408900 0.0056817537 0.0026967551 0.0054932432 + 1409000 0.0047279987 0.002610706 0.0049377679 + 1409100 0.0051847687 0.0027701993 0.0053220777 + 1409200 0.0057975933 0.0029536291 0.0058071321 + 1409300 0.0064300546 0.0027021729 0.0058669655 + 1409400 0.0054453501 0.0024156795 0.0050958128 + 1409500 0.0050489346 0.0024428512 0.0049278737 + 1409600 0.0061746994 0.0023963509 0.0054354608 + 1409700 0.0054622149 0.0027276719 0.0054161058 + 1409800 0.0061712443 0.0033063573 0.0063437666 + 1409900 0.0041750841 0.0034680627 0.0055229869 + 1410000 0.0054742449 0.0029263881 0.005620743 + 1410100 0.006039019 0.002306783 0.0052791127 + 1410200 0.0048202976 0.0022589097 0.0046313999 + 1410300 0.0043158528 0.0022506481 0.0043748569 + 1410400 0.0038744977 0.0023349109 0.0042418902 + 1410500 0.0036131903 0.0030337354 0.0048121025 + 1410600 0.0077647915 0.0031926131 0.0070143464 + 1410700 0.0043519939 0.0030919599 0.0052339569 + 1410800 0.0044286804 0.0022004444 0.0043801855 + 1410900 0.0052315459 0.0022091312 0.0047840327 + 1411000 0.0063624495 0.0025519181 0.0056834362 + 1411100 0.0061975473 0.0031927926 0.0062431479 + 1411200 0.0050491489 0.0033955537 0.0058806817 + 1411300 0.0050973093 0.003090989 0.0055998209 + 1411400 0.0048222264 0.0028246836 0.0051981232 + 1411500 0.006722088 0.0033724251 0.0066809527 + 1411600 0.0042359339 0.0034437448 0.0055286186 + 1411700 0.004994159 0.0025337676 0.0049918302 + 1411800 0.0047057996 0.0022759021 0.0045920379 + 1411900 0.0055112951 0.0024861426 0.0051987331 + 1412000 0.0050334708 0.0026881904 0.0051656018 + 1412100 0.0052233918 0.0031878104 0.0057586985 + 1412200 0.0057098679 0.0032770597 0.0060873853 + 1412300 0.0060362406 0.0033220285 0.0062929906 + 1412400 0.0051098854 0.003314234 0.0058292557 + 1412500 0.0049287258 0.0032339912 0.0056598484 + 1412600 0.0048140171 0.003129302 0.0054987011 + 1412700 0.0049130902 0.0032467423 0.0056649039 + 1412800 0.0047355555 0.0033531713 0.0056839525 + 1412900 0.0050592916 0.0035879063 0.0060780264 + 1413000 0.0054020901 0.003704881 0.0063637222 + 1413100 0.0070921876 0.003659767 0.0071504532 + 1413200 0.0066398931 0.0037399875 0.0070080599 + 1413300 0.0053910331 0.0038716764 0.0065250755 + 1413400 0.0052534864 0.0029305434 0.0055162438 + 1413500 0.0050694154 0.0028090249 0.0053041278 + 1413600 0.0060020699 0.0024369297 0.0053910735 + 1413700 0.00469103 0.0025498978 0.0048587641 + 1413800 0.0057744336 0.0020431829 0.0048852869 + 1413900 0.0057022544 0.0021201431 0.0049267214 + 1414000 0.0054352718 0.0023981245 0.0050732973 + 1414100 0.0053252492 0.0022922413 0.0049132624 + 1414200 0.0040891562 0.0025300665 0.0045426981 + 1414300 0.004454648 0.0022943056 0.0044868277 + 1414400 0.0047510288 0.0022724472 0.0046108442 + 1414500 0.0059549555 0.0022133475 0.0051443021 + 1414600 0.0037460606 0.0024177958 0.00426156 + 1414700 0.004645218 0.0025757065 0.0048620248 + 1414800 0.0067313894 0.0026816792 0.005994785 + 1414900 0.0051537673 0.0027837174 0.0053203372 + 1415000 0.0037853467 0.0027034421 0.0045665425 + 1415100 0.0049887169 0.0027574332 0.0052128172 + 1415200 0.004259714 0.002638491 0.0047350689 + 1415300 0.0058080096 0.0029248714 0.0057835012 + 1415400 0.0050575511 0.0032996659 0.0057889294 + 1415500 0.0056702377 0.0029018704 0.0056926905 + 1415600 0.0041813173 0.0031262222 0.0051842143 + 1415700 0.0036518493 0.003244745 0.0050421396 + 1415800 0.0064746447 0.0031260138 0.006312753 + 1415900 0.0034541078 0.0031496813 0.00484975 + 1416000 0.0043807181 0.0027863266 0.0049424613 + 1416100 0.0040724069 0.0025684026 0.0045727904 + 1416200 0.0044114843 0.0025757684 0.0047470458 + 1416300 0.0036506456 0.002562363 0.0043591651 + 1416400 0.0051063573 0.0026946148 0.0052079001 + 1416500 0.0067224303 0.0026560836 0.0059647797 + 1416600 0.0037761962 0.0029163879 0.0047749844 + 1416700 0.0031238541 0.0026027702 0.0041402921 + 1416800 0.0045377049 0.0024827909 0.0047161926 + 1416900 0.0049520879 0.0024183605 0.0048557163 + 1417000 0.0048498358 0.0022355464 0.004622575 + 1417100 0.0058244686 0.0022074119 0.0050741425 + 1417200 0.0041917752 0.0028073431 0.0048704825 + 1417300 0.0064847785 0.0027342817 0.0059260086 + 1417400 0.003812435 0.0030216286 0.0048980615 + 1417500 0.0049678171 0.0031184997 0.0055635972 + 1417600 0.0054888741 0.0028253043 0.0055268595 + 1417700 0.0052052966 0.0023758075 0.0049377894 + 1417800 0.0063311677 0.0024013228 0.0055174445 + 1417900 0.0052944244 0.0023996786 0.0050055281 + 1418000 0.0055153005 0.0026026617 0.0053172236 + 1418100 0.0040965031 0.0029904048 0.0050066524 + 1418200 0.0049497135 0.0030167244 0.0054529116 + 1418300 0.005794545 0.0030100875 0.0058620902 + 1418400 0.0062064507 0.002849766 0.0059045034 + 1418500 0.0062835104 0.0029900782 0.0060827435 + 1418600 0.0040685086 0.0031483069 0.005150776 + 1418700 0.0049389325 0.0027247819 0.0051556628 + 1418800 0.0043769484 0.0029927998 0.0051470791 + 1418900 0.0048438371 0.0032068648 0.0055909409 + 1419000 0.0053106977 0.0025883369 0.0052021959 + 1419100 0.0052334655 0.0025807333 0.0051565795 + 1419200 0.0053259558 0.0024292292 0.005050598 + 1419300 0.006438843 0.0020988403 0.0052679583 + 1419400 0.0061613627 0.0024683203 0.0055008659 + 1419500 0.0051850626 0.0031655113 0.0057175343 + 1419600 0.0063929105 0.0030163424 0.006162853 + 1419700 0.0046031872 0.0027644404 0.0050300716 + 1419800 0.0041442565 0.0025890347 0.004628786 + 1419900 0.0051120566 0.0022724136 0.0047885039 + 1420000 0.0047252344 0.002007493 0.0043331943 + 1420100 0.0038846704 0.0025664984 0.0044784846 + 1420200 0.0045162032 0.0027912914 0.0050141101 + 1420300 0.0052962065 0.0023703402 0.0049770669 + 1420400 0.0046431815 0.0025704443 0.0048557602 + 1420500 0.0048707164 0.0029085663 0.0053058721 + 1420600 0.0028101229 0.0033327634 0.0047158708 + 1420700 0.0033645537 0.0028944929 0.0045504842 + 1420800 0.0050281735 0.0023418884 0.0048166925 + 1420900 0.0049982262 0.0024787356 0.0049388001 + 1421000 0.0045041268 0.0027657644 0.0049826393 + 1421100 0.006028568 0.0027176006 0.0056847864 + 1421200 0.0059558809 0.0024328576 0.0053642678 + 1421300 0.005118859 0.0024395395 0.0049589779 + 1421400 0.0041328356 0.0027694868 0.0048036168 + 1421500 0.0040751532 0.0027993833 0.0048051228 + 1421600 0.0072353478 0.0026982168 0.0062593646 + 1421700 0.0063792728 0.0024120238 0.0055518222 + 1421800 0.0052133795 0.0027377024 0.0053036626 + 1421900 0.0060240168 0.0033043756 0.0062693213 + 1422000 0.0078461998 0.0031804708 0.0070422722 + 1422100 0.0043726043 0.003033485 0.0051856262 + 1422200 0.0056462002 0.0026342132 0.0054132023 + 1422300 0.0050940407 0.0026965174 0.0052037405 + 1422400 0.0047048534 0.0030989875 0.0054146575 + 1422500 0.0050221572 0.0031348104 0.0056066534 + 1422600 0.0057890534 0.0030098666 0.0058591663 + 1422700 0.0046060677 0.0028218013 0.0050888503 + 1422800 0.0053411193 0.0027982338 0.0054270659 + 1422900 0.0046531617 0.0029309312 0.0052211592 + 1423000 0.0049060346 0.0030114939 0.0054261828 + 1423100 0.0052374145 0.002487146 0.005064936 + 1423200 0.0043387981 0.0024888258 0.004624328 + 1423300 0.0040303981 0.0027476445 0.0047313561 + 1423400 0.0042311415 0.0027614898 0.0048440048 + 1423500 0.0055636661 0.0027782264 0.0055165933 + 1423600 0.0031954899 0.0029009424 0.0044737225 + 1423700 0.0035118845 0.0026468924 0.004375398 + 1423800 0.0046465084 0.0022770935 0.0045640468 + 1423900 0.0052452354 0.0025211128 0.0051027521 + 1424000 0.0071659994 0.0021667223 0.0056937376 + 1424100 0.0047625177 0.0020212875 0.0043653391 + 1424200 0.0054833087 0.0020382632 0.0047370792 + 1424300 0.0053736975 0.0023362746 0.0049811414 + 1424400 0.0049082355 0.0025861162 0.0050018883 + 1424500 0.0044906724 0.0022474004 0.0044576533 + 1424600 0.0056522541 0.0023140759 0.0050960447 + 1424700 0.0053046988 0.0029713812 0.0055822876 + 1424800 0.0045255515 0.0031781182 0.0054055381 + 1424900 0.0052833127 0.0025910653 0.0051914457 + 1425000 0.0082453846 0.0022901564 0.0063484317 + 1425100 0.0059911934 0.0025821524 0.0055309429 + 1425200 0.005310486 0.0023744444 0.0049881993 + 1425300 0.0040337856 0.002459758 0.0044451369 + 1425400 0.0045266645 0.0026327833 0.004860751 + 1425500 0.006430392 0.0027998028 0.0059647613 + 1425600 0.0073849285 0.0030499078 0.0066846773 + 1425700 0.0058941997 0.0031893347 0.0060903861 + 1425800 0.0064672085 0.0028778653 0.0060609445 + 1425900 0.0059281299 0.0029445942 0.0058623457 + 1426000 0.0044445082 0.0027931347 0.0049806661 + 1426100 0.0057670746 0.0023149931 0.0051534751 + 1426200 0.0052462211 0.0023875341 0.0049696585 + 1426300 0.0048631103 0.0026166118 0.0050101739 + 1426400 0.0045214456 0.002636283 0.004861682 + 1426500 0.0047214527 0.0031739707 0.0054978107 + 1426600 0.0049930596 0.0031306286 0.0055881501 + 1426700 0.0064091149 0.0029291042 0.0060835904 + 1426800 0.005225516 0.0025923876 0.0051643212 + 1426900 0.0053823632 0.0022421068 0.0048912387 + 1427000 0.0035919177 0.0022370207 0.0040049177 + 1427100 0.0040959648 0.0020754944 0.0040914771 + 1427200 0.0051322644 0.0021007897 0.0046268261 + 1427300 0.0040600807 0.0025050139 0.0045033348 + 1427400 0.0044711528 0.0025850285 0.0047856741 + 1427500 0.0040501676 0.0025410729 0.0045345148 + 1427600 0.0050827896 0.0025172963 0.0050189818 + 1427700 0.0041054909 0.0028537479 0.0048744192 + 1427800 0.002422849 0.0030832771 0.0042757731 + 1427900 0.0054602554 0.0026724811 0.0053599506 + 1428000 0.0049051527 0.0027130595 0.0051273144 + 1428100 0.0048261737 0.0028260645 0.0052014469 + 1428200 0.0037198352 0.0027347102 0.0045655666 + 1428300 0.0053097236 0.0029220933 0.0055354729 + 1428400 0.0048069512 0.002402343 0.0047682643 + 1428500 0.0048047477 0.001892698 0.0042575348 + 1428600 0.0043574643 0.0018820528 0.0040267423 + 1428700 0.0057573802 0.0022412238 0.0050749344 + 1428800 0.0056054607 0.0021375436 0.0048964813 + 1428900 0.0055832636 0.0022515304 0.0049995429 + 1429000 0.0052237665 0.0020697863 0.0046408589 + 1429100 0.0050720398 0.0026791964 0.005175591 + 1429200 0.0066023016 0.0028741892 0.0061237595 + 1429300 0.0048546996 0.0029177848 0.0053072072 + 1429400 0.0042922203 0.0021813539 0.0042939311 + 1429500 0.0054848643 0.0019252148 0.0046247964 + 1429600 0.0057852331 0.0021971473 0.0050445667 + 1429700 0.0046411352 0.0021559311 0.0044402399 + 1429800 0.0059692519 0.0023604719 0.0052984631 + 1429900 0.0062032888 0.0021960013 0.0052491826 + 1430000 0.0060543915 0.002449022 0.0054289178 + 1430100 0.0050584737 0.0026934507 0.0051831682 + 1430200 0.0050598884 0.003352586 0.0058429998 + 1430300 0.0062138211 0.0030940561 0.0061524211 + 1430400 0.0049399166 0.0025194472 0.0049508124 + 1430500 0.0060796898 0.0020537929 0.0050461403 + 1430600 0.0032370889 0.002252765 0.0038460197 + 1430700 0.0053373464 0.0024066189 0.0050335941 + 1430800 0.0056986218 0.0022558397 0.0050606301 + 1430900 0.0055681745 0.0020494159 0.0047900018 + 1431000 0.0051543885 0.0016790916 0.0042160172 + 1431100 0.0044113967 0.0016999911 0.0038712254 + 1431200 0.0049725099 0.0017500633 0.0041974705 + 1431300 0.0056691568 0.0015995463 0.0043898344 + 1431400 0.0043706435 0.0020946092 0.0042457853 + 1431500 0.0054327157 0.0021353874 0.0048093022 + 1431600 0.0057071143 0.0021680644 0.0049770348 + 1431700 0.0041229614 0.0021667478 0.0041960178 + 1431800 0.0043246619 0.0022622848 0.0043908293 + 1431900 0.0046715712 0.0022751089 0.0045743978 + 1432000 0.0048857975 0.0022524835 0.0046572119 + 1432100 0.005583855 0.0022525258 0.0050008294 + 1432200 0.0058969062 0.0026246282 0.0055270117 + 1432300 0.0050091953 0.0026478738 0.0051133371 + 1432400 0.004125182 0.0027458839 0.0047762469 + 1432500 0.0043433505 0.0026382676 0.0047760104 + 1432600 0.005605724 0.0021280454 0.0048871127 + 1432700 0.0045742085 0.0016275427 0.0038789109 + 1432800 0.006240219 0.0013349783 0.0044063361 + 1432900 0.0050004907 0.0016386217 0.0040998007 + 1433000 0.0052052254 0.0018045322 0.0043664791 + 1433100 0.0057707863 0.0016988386 0.0045391475 + 1433200 0.0054978267 0.0019606535 0.0046666151 + 1433300 0.0050393195 0.0021616254 0.0046419155 + 1433400 0.0052656456 0.0023184884 0.0049101734 + 1433500 0.0050012661 0.0025079667 0.0049695274 + 1433600 0.0031590228 0.0028332531 0.0043880847 + 1433700 0.0044967134 0.0029483783 0.0051616044 + 1433800 0.0050911391 0.0027733554 0.0052791504 + 1433900 0.0051259037 0.0019788994 0.0045018052 + 1434000 0.005440171 0.0018001395 0.0044777236 + 1434100 0.0042230978 0.0022584196 0.0043369756 + 1434200 0.0043529512 0.0028090256 0.0049514938 + 1434300 0.0059380939 0.0034177201 0.0063403757 + 1434400 0.0040615585 0.0036160973 0.0056151456 + 1434500 0.0060972572 0.0029985763 0.0059995701 + 1434600 0.0073663567 0.002846217 0.0064718457 + 1434700 0.0058063318 0.0029870497 0.0058448536 + 1434800 0.0057503856 0.0028623888 0.0056926567 + 1434900 0.0053292226 0.002641745 0.0052647217 + 1435000 0.0059156699 0.0025597028 0.0054713216 + 1435100 0.0049283064 0.0026331505 0.0050588013 + 1435200 0.0047677601 0.0021828222 0.0045294541 + 1435300 0.0054769719 0.0018942076 0.0045899047 + 1435400 0.0043257834 0.0019244442 0.0040535407 + 1435500 0.0054220825 0.0018963803 0.0045650615 + 1435600 0.0044808568 0.002085246 0.0042906677 + 1435700 0.0040345329 0.0022378687 0.0042236154 + 1435800 0.0054325983 0.0025600583 0.0052339152 + 1435900 0.0041225378 0.0028700994 0.004899161 + 1436000 0.0072261888 0.0028647652 0.006421405 + 1436100 0.0058016433 0.0032415686 0.0060970649 + 1436200 0.0061604854 0.0031053695 0.0061374835 + 1436300 0.0047130764 0.0032552726 0.0055749899 + 1436400 0.0053858723 0.003001336 0.005652195 + 1436500 0.0064340561 0.0028470678 0.0060138298 + 1436600 0.0053717668 0.002864798 0.0055087145 + 1436700 0.0055379541 0.0027871126 0.0055128244 + 1436800 0.0045611844 0.002859949 0.005104907 + 1436900 0.0042221899 0.002874094 0.0049522031 + 1437000 0.0077978454 0.0025174233 0.0063554253 + 1437100 0.0053211307 0.0023615542 0.0049805482 + 1437200 0.0047010693 0.00207739 0.0043911975 + 1437300 0.0052950883 0.0021359815 0.0047421578 + 1437400 0.0048867367 0.0020217506 0.0044269413 + 1437500 0.0054891646 0.0025781751 0.0052798733 + 1437600 0.006016951 0.0029510693 0.0059125374 + 1437700 0.0057760696 0.003013193 0.0058561022 + 1437800 0.0042745948 0.002921156 0.0050250581 + 1437900 0.0043286713 0.0025980065 0.0047285244 + 1438000 0.0054897607 0.0026974277 0.0053994193 + 1438100 0.0051805542 0.0024263256 0.0049761296 + 1438200 0.0054057793 0.002291602 0.004952259 + 1438300 0.0040105763 0.0024238677 0.0043978233 + 1438400 0.0040296787 0.0025545688 0.0045379262 + 1438500 0.0055793174 0.0022661911 0.0050122613 + 1438600 0.0059639964 0.0019286167 0.0048640211 + 1438700 0.0057067194 0.0019006841 0.0047094601 + 1438800 0.0052190475 0.0021096273 0.0046783772 + 1438900 0.0052966352 0.0021453668 0.0047523044 + 1439000 0.004168872 0.0022259988 0.0042778655 + 1439100 0.0040666525 0.0025337168 0.0045352724 + 1439200 0.0046165074 0.0026098631 0.0048820503 + 1439300 0.0033489 0.0029359534 0.0045842401 + 1439400 0.0055622873 0.0023619289 0.0050996172 + 1439500 0.0059099654 0.0023526232 0.0052614343 + 1439600 0.0058386897 0.0026161541 0.0054898842 + 1439700 0.0036622729 0.0031811399 0.0049836649 + 1439800 0.0069014802 0.0025731689 0.0059699912 + 1439900 0.00467839 0.0023258865 0.0046285316 + 1440000 0.0054507429 0.002210269 0.0048930565 + 1440100 0.0050398122 0.0026474696 0.0051280022 + 1440200 0.0053795248 0.0024084579 0.0050561928 + 1440300 0.0056431077 0.0023226261 0.0051000932 + 1440400 0.0051180516 0.0027513824 0.0052704234 + 1440500 0.004751959 0.0028749452 0.0052138 + 1440600 0.0054301589 0.0031951099 0.0058677663 + 1440700 0.0071509036 0.0030634789 0.0065830643 + 1440800 0.005697229 0.0030730619 0.0058771668 + 1440900 0.0056558925 0.0030118754 0.005795635 + 1441000 0.0054053832 0.0027729535 0.0054334156 + 1441100 0.0043197405 0.0022451223 0.0043712446 + 1441200 0.0054034056 0.0018899427 0.0045494313 + 1441300 0.0040758074 0.0023276347 0.0043336962 + 1441400 0.0057618226 0.0019449892 0.0047808863 + 1441500 0.003863061 0.0016789644 0.0035803148 + 1441600 0.0045365153 0.0015595662 0.0037923823 + 1441700 0.0043724493 0.0019924642 0.0041445291 + 1441800 0.0054842961 0.0024369316 0.0051362336 + 1441900 0.0042031389 0.0023866714 0.0044554038 + 1442000 0.0041637286 0.0020515104 0.0041008456 + 1442100 0.0054967831 0.0015529455 0.0042583935 + 1442200 0.0053087325 0.0018537677 0.0044666595 + 1442300 0.0051641581 0.0021990254 0.0047407595 + 1442400 0.0082333514 0.0023690264 0.0064213791 + 1442500 0.0055122985 0.0028025244 0.0055156088 + 1442600 0.004819339 0.0026169957 0.0049890141 + 1442700 0.0057003522 0.002424423 0.0052300651 + 1442800 0.0043090681 0.0025881903 0.0047090597 + 1442900 0.0049298534 0.0023320153 0.0047584276 + 1443000 0.004527354 0.0019311697 0.0041594768 + 1443100 0.0045383148 0.002387794 0.0046214958 + 1443200 0.0049789494 0.0027053195 0.0051558961 + 1443300 0.0041786809 0.0021435517 0.0042002462 + 1443400 0.0042855747 0.0016467595 0.0037560658 + 1443500 0.0039524739 0.0018501846 0.0037955428 + 1443600 0.0054767318 0.0022476462 0.0049432252 + 1443700 0.0040981486 0.0028715376 0.0048885951 + 1443800 0.0051813661 0.0027773399 0.0053275435 + 1443900 0.0058610178 0.0022845213 0.005169241 + 1444000 0.0060691527 0.0020427004 0.0050298615 + 1444100 0.004273708 0.0020409033 0.0041443689 + 1444200 0.0057601721 0.0019919121 0.0048269968 + 1444300 0.0051450157 0.0022678342 0.0048001466 + 1444400 0.0061797275 0.0023187529 0.0053603375 + 1444500 0.0054152944 0.0024194086 0.0050847488 + 1444600 0.0043242089 0.0022184009 0.0043467224 + 1444700 0.0040910836 0.0023268713 0.0043404515 + 1444800 0.006737659 0.0022334445 0.0055496361 + 1444900 0.0046827969 0.002129779 0.0044345931 + 1445000 0.0051904132 0.0021541894 0.0047088459 + 1445100 0.0041215945 0.0026114721 0.0046400693 + 1445200 0.0050376495 0.0027721383 0.0052516065 + 1445300 0.0049707342 0.002454661 0.0049011942 + 1445400 0.0050211287 0.0022458508 0.0047171876 + 1445500 0.0064837821 0.0024859923 0.0056772288 + 1445600 0.0041745759 0.0029991109 0.005053785 + 1445700 0.0046083976 0.0029649496 0.0052331453 + 1445800 0.0056819716 0.002475268 0.0052718634 + 1445900 0.0061237448 0.0026520178 0.0056660485 + 1446000 0.0059869549 0.0025457312 0.0054924356 + 1446100 0.0042774598 0.0022629432 0.0043682555 + 1446200 0.0049790658 0.0024076408 0.0048582747 + 1446300 0.0045941404 0.0023031089 0.0045642873 + 1446400 0.0059994139 0.0022169243 0.0051697608 + 1446500 0.0064689148 0.0024717625 0.0056556815 + 1446600 0.0064988472 0.002626856 0.0058255074 + 1446700 0.0045089763 0.0031544351 0.0053736968 + 1446800 0.0049323496 0.003436858 0.0058644989 + 1446900 0.0051583038 0.0029532937 0.0054921463 + 1447000 0.0065034862 0.0025383845 0.0057393191 + 1447100 0.0064958796 0.0022439445 0.0054411353 + 1447200 0.0055280283 0.0025307011 0.0052515275 + 1447300 0.0035994451 0.0029116647 0.0046832665 + 1447400 0.0038951938 0.0031160751 0.0050332408 + 1447500 0.0043810972 0.003076702 0.0052330232 + 1447600 0.0038818647 0.0029572712 0.0048678764 + 1447700 0.0043969104 0.0025777737 0.004741878 + 1447800 0.0051880413 0.0026655529 0.005219042 + 1447900 0.0058677404 0.0030522887 0.0059403172 + 1448000 0.0056123812 0.0031992812 0.0059616251 + 1448100 0.0047038257 0.002992389 0.0053075532 + 1448200 0.0052473328 0.002755556 0.0053382276 + 1448300 0.0045659674 0.0025343869 0.004781699 + 1448400 0.0043244913 0.002363594 0.0044920545 + 1448500 0.0048691053 0.0022792345 0.0046757473 + 1448600 0.0040902483 0.002271355 0.0042845241 + 1448700 0.0044533307 0.0021779166 0.0043697903 + 1448800 0.0054406021 0.0023911526 0.0050689489 + 1448900 0.0055986419 0.0025444658 0.0053000473 + 1449000 0.0040985989 0.0028586779 0.004875957 + 1449100 0.0039037356 0.0026663488 0.0045877186 + 1449200 0.0051896997 0.0020487543 0.0046030596 + 1449300 0.0046637657 0.0022182569 0.0045137041 + 1449400 0.0047326447 0.0024823688 0.0048117173 + 1449500 0.0043907161 0.00289044 0.0050514956 + 1449600 0.0050036168 0.0023626654 0.004825383 + 1449700 0.0044892396 0.0018008958 0.0040104434 + 1449800 0.0041381965 0.0018550536 0.0038918222 + 1449900 0.0045469441 0.0018294381 0.0040673872 + 1450000 0.0053443819 0.0018850201 0.0045154581 + 1450100 0.0053077899 0.0019291134 0.0045415412 + 1450200 0.0046770962 0.0018372378 0.0041392461 + 1450300 0.0041060274 0.0017501484 0.0037710837 + 1450400 0.0045443577 0.0022331698 0.0044698459 + 1450500 0.0040917899 0.00227851 0.0042924379 + 1450600 0.0044528886 0.0025245705 0.0047162266 + 1450700 0.0077242918 0.0025732969 0.0063750968 + 1450800 0.004673057 0.0026031573 0.0049031776 + 1450900 0.0051565372 0.0022305417 0.0047685249 + 1451000 0.0047530357 0.0024731204 0.0048125051 + 1451100 0.0053819818 0.002143506 0.0047924501 + 1451200 0.0039921904 0.0018576415 0.0038225477 + 1451300 0.0040407392 0.0018373091 0.0038261104 + 1451400 0.0057770815 0.002020262 0.0048636693 + 1451500 0.0057793239 0.0023819825 0.0052264935 + 1451600 0.0059501228 0.0025541218 0.0054826978 + 1451700 0.004992635 0.0026118846 0.0050691972 + 1451800 0.0042705065 0.0027377157 0.0048396056 + 1451900 0.0061825548 0.0023534094 0.0053963856 + 1452000 0.0061143615 0.0020336791 0.0050430914 + 1452100 0.005035615 0.0019193825 0.0043978493 + 1452200 0.0050468765 0.0017585784 0.0042425879 + 1452300 0.0057606853 0.0018222199 0.0046575572 + 1452400 0.0052939947 0.0023354181 0.0049410561 + 1452500 0.0045148278 0.0024835416 0.0047056834 + 1452600 0.0038620989 0.0025165734 0.0044174502 + 1452700 0.0047361801 0.0017215179 0.0040526065 + 1452800 0.0036355785 0.001475301 0.0032646873 + 1452900 0.0044302557 0.0015320014 0.0037125179 + 1453000 0.0029696101 0.0015336841 0.0029952891 + 1453100 0.0044506151 0.0015056022 0.0036961393 + 1453200 0.0039679043 0.001728229 0.0036811819 + 1453300 0.0044293507 0.0019994794 0.0041795505 + 1453400 0.0038216433 0.0021453491 0.0040263141 + 1453500 0.0029630905 0.0022646143 0.0037230104 + 1453600 0.004092387 0.0022455757 0.0042597974 + 1453700 0.0041679687 0.0021353046 0.0041867267 + 1453800 0.0048859439 0.0017002946 0.0041050951 + 1453900 0.0046145978 0.0019458161 0.0042170634 + 1454000 0.0043678578 0.0023311429 0.004480948 + 1454100 0.0045635293 0.0028739891 0.0051201012 + 1454200 0.0057517637 0.0025747457 0.0054056919 + 1454300 0.0061688972 0.0028100651 0.0058463192 + 1454400 0.0055768641 0.0030342801 0.0057791429 + 1454500 0.0043428335 0.0029081862 0.0050456746 + 1454600 0.0040126848 0.0027128225 0.0046878158 + 1454700 0.0067366798 0.0025867486 0.0059024581 + 1454800 0.0055035761 0.0027013082 0.0054100995 + 1454900 0.0054044031 0.0027630477 0.0054230273 + 1455000 0.0052005893 0.0030228782 0.0055825432 + 1455100 0.0053218406 0.0025187365 0.0051380799 + 1455200 0.006220633 0.0024602475 0.0055219653 + 1455300 0.0045490126 0.0026144805 0.0048534476 + 1455400 0.0057668759 0.0026796241 0.0055180083 + 1455500 0.0057640098 0.0024844484 0.0053214219 + 1455600 0.0043598832 0.0025393191 0.0046851991 + 1455700 0.0041067053 0.0024459049 0.0044671739 + 1455800 0.0053855644 0.002475139 0.0051258465 + 1455900 0.0064364927 0.0026968246 0.0058647859 + 1456000 0.0056620265 0.0031409851 0.0059277637 + 1456100 0.0060260626 0.0032823801 0.0062483328 + 1456200 0.0044485583 0.0031527594 0.0053422842 + 1456300 0.0075328377 0.0028630929 0.0065706614 + 1456400 0.0049629475 0.0029909502 0.005433651 + 1456500 0.0065965043 0.0024942414 0.0057409584 + 1456600 0.0040403945 0.0025584217 0.0045470534 + 1456700 0.0038413528 0.0023942429 0.0042849088 + 1456800 0.00406378 0.002311224 0.0043113657 + 1456900 0.0059544096 0.0022862609 0.0052169469 + 1457000 0.0060641016 0.0026073962 0.0055920712 + 1457100 0.0050907915 0.0034496822 0.0059553061 + 1457200 0.0048851028 0.0037802086 0.0061845951 + 1457300 0.0057816018 0.0033663699 0.0062120021 + 1457400 0.0052544367 0.0033025128 0.0058886809 + 1457500 0.0040780887 0.003037704 0.0050448883 + 1457600 0.0070999257 0.0022131144 0.0057076091 + 1457700 0.0053715342 0.0022630314 0.0049068334 + 1457800 0.0052659605 0.0025290105 0.0051208505 + 1457900 0.0049165165 0.0024379133 0.0048577612 + 1458000 0.0040260409 0.0019845504 0.0039661174 + 1458100 0.0055938445 0.0017082142 0.0044614346 + 1458200 0.0051657866 0.0016877934 0.004230329 + 1458300 0.0047316698 0.0016884559 0.0040173246 + 1458400 0.0056030003 0.0014917075 0.0042494342 + 1458500 0.0044948937 0.001994127 0.0042064575 + 1458600 0.0045650454 0.0020245202 0.0042713785 + 1458700 0.0060057131 0.0021905003 0.0051464372 + 1458800 0.004984183 0.0027703996 0.0052235522 + 1458900 0.0037133339 0.0026619421 0.0044895986 + 1459000 0.0050402689 0.0024254723 0.0049062297 + 1459100 0.0039993787 0.0026144426 0.0045828868 + 1459200 0.005335063 0.0025063166 0.005132168 + 1459300 0.0047667012 0.0026823016 0.0050284123 + 1459400 0.0053175534 0.0026533112 0.0052705445 + 1459500 0.0059013037 0.0027041753 0.0056087232 + 1459600 0.0051865527 0.0025666865 0.0051194429 + 1459700 0.0056191377 0.002077063 0.0048427324 + 1459800 0.0039731684 0.0017560864 0.0037116302 + 1459900 0.0040862271 0.0020447881 0.004055978 + 1460000 0.0038600446 0.0020413075 0.0039411732 + 1460100 0.0056905511 0.0019006589 0.004701477 + 1460200 0.0043042007 0.0022036998 0.0043221736 + 1460300 0.0036073916 0.0022997644 0.0040752774 + 1460400 0.0054991097 0.002308138 0.0050147311 + 1460500 0.0053664189 0.0027498506 0.0053911349 + 1460600 0.0042070614 0.0029686162 0.0050392793 + 1460700 0.0056423044 0.0022207922 0.0049978638 + 1460800 0.0036562103 0.0023297069 0.0041292479 + 1460900 0.0049143861 0.0024820876 0.004900887 + 1461000 0.0050673857 0.0025591363 0.0050532402 + 1461100 0.005552966 0.0025323576 0.005265458 + 1461200 0.0045274324 0.002636337 0.0048646826 + 1461300 0.0051552854 0.0019793549 0.0045167219 + 1461400 0.0051032643 0.0020839819 0.0045957448 + 1461500 0.0046741029 0.0022035409 0.004504076 + 1461600 0.0050886352 0.0021381603 0.004642723 + 1461700 0.0044829993 0.0021038136 0.0043102899 + 1461800 0.005261017 0.0022237267 0.0048131335 + 1461900 0.0063964779 0.0020461019 0.0051943684 + 1462000 0.0048089821 0.0022758218 0.0046427427 + 1462100 0.0058335702 0.002133831 0.0050050413 + 1462200 0.005833142 0.0025610087 0.0054320082 + 1462300 0.0073287174 0.00252742 0.0061345231 + 1462400 0.0074497135 0.0024670252 0.0061336811 + 1462500 0.0052417861 0.0026172659 0.0051972075 + 1462600 0.0038293829 0.0028119197 0.0046966941 + 1462700 0.0050620146 0.002542355 0.0050338153 + 1462800 0.0061535497 0.0019765026 0.0050052028 + 1462900 0.0043133566 0.0019872676 0.0041102478 + 1463000 0.0046690829 0.0017370829 0.0040351471 + 1463100 0.0056162915 0.0020160308 0.0047802993 + 1463200 0.0065958424 0.0018375592 0.0050839503 + 1463300 0.0045259109 0.0023728015 0.0046003983 + 1463400 0.0056189919 0.0025908741 0.0053564717 + 1463500 0.003892952 0.002524481 0.0044405433 + 1463600 0.0052037391 0.0023961968 0.0049574121 + 1463700 0.0060521585 0.002736188 0.0057149848 + 1463800 0.0060200547 0.0024609783 0.005423974 + 1463900 0.0062464382 0.0024860457 0.0055604645 + 1464000 0.0046618119 0.0029283765 0.005222862 + 1464100 0.0053509649 0.0027915094 0.0054251875 + 1464200 0.0052450073 0.0021251285 0.0047066555 + 1464300 0.0045923932 0.0022092789 0.0044695974 + 1464400 0.0064804748 0.0021178272 0.0053074359 + 1464500 0.0058239458 0.0019091398 0.0047756131 + 1464600 0.0057561293 0.002381125 0.0052142199 + 1464700 0.0063167106 0.0026015072 0.0057105132 + 1464800 0.0055250422 0.0025190176 0.0052383743 + 1464900 0.0059048397 0.0022264514 0.0051327396 + 1465000 0.0047975042 0.0021112483 0.0044725199 + 1465100 0.004812345 0.0024455181 0.0048140942 + 1465200 0.0041906628 0.0022126681 0.0042752599 + 1465300 0.0052894279 0.0017741453 0.0043775355 + 1465400 0.0035440637 0.0021130303 0.0038573742 + 1465500 0.0063790549 0.0023004169 0.005440108 + 1465600 0.0053037447 0.0022174481 0.004827885 + 1465700 0.0053615667 0.0017845301 0.0044234262 + 1465800 0.0064281801 0.001846151 0.0050100209 + 1465900 0.004392384 0.0022435296 0.0044054061 + 1466000 0.0056215645 0.0020737457 0.0048406095 + 1466100 0.0069303404 0.001982267 0.0053932939 + 1466200 0.0039233041 0.0025076493 0.0044386506 + 1466300 0.0043456824 0.0030262603 0.0051651509 + 1466400 0.0054964061 0.0026624456 0.005367708 + 1466500 0.0051529834 0.0021233158 0.0046595498 + 1466600 0.0051025646 0.0020208704 0.0045322889 + 1466700 0.0036920232 0.0026417048 0.0044588724 + 1466800 0.0062729657 0.0027293632 0.0058168385 + 1466900 0.0036850788 0.0026219203 0.0044356701 + 1467000 0.0055305188 0.0021996107 0.0049216629 + 1467100 0.0050328088 0.0022800107 0.0047570963 + 1467200 0.0045088946 0.0026754063 0.0048946279 + 1467300 0.0067189221 0.0024848851 0.0057918546 + 1467400 0.0041504265 0.0025648253 0.0046076134 + 1467500 0.0050200157 0.0016478679 0.0041186569 + 1467600 0.0056708385 0.0012067668 0.0039978826 + 1467700 0.0039664262 0.0015924305 0.0035446559 + 1467800 0.0047517751 0.0017091015 0.0040478658 + 1467900 0.0040318823 0.0019570093 0.0039414514 + 1468000 0.0059689337 0.0021348671 0.0050727017 + 1468100 0.0052220791 0.0022060146 0.0047762567 + 1468200 0.005351207 0.0022614198 0.004895217 + 1468300 0.0051296387 0.002471451 0.004996195 + 1468400 0.0059397428 0.0026647527 0.0055882199 + 1468500 0.004836268 0.0027348755 0.0051152261 + 1468600 0.0045664059 0.0026382499 0.0048857778 + 1468700 0.0050748642 0.0021812272 0.0046790119 + 1468800 0.0060615897 0.0024975763 0.005481015 + 1468900 0.005165727 0.003031924 0.0055744303 + 1469000 0.0050069467 0.0027418176 0.0052061742 + 1469100 0.0063040427 0.0022247739 0.005327545 + 1469200 0.0058813032 0.0027591086 0.0056538126 + 1469300 0.0062246817 0.0032317561 0.0062954666 + 1469400 0.0069780425 0.0028726078 0.0063071131 + 1469500 0.0043740559 0.0024176065 0.0045704621 + 1469600 0.0042210021 0.002220526 0.0042980504 + 1469700 0.0049476948 0.0022230267 0.0046582202 + 1469800 0.0041033581 0.0024484634 0.0044680849 + 1469900 0.0053391595 0.0019424022 0.0045702697 + 1470000 0.0052649741 0.0016201944 0.0042115488 + 1470100 0.0041506391 0.0018147625 0.0038576552 + 1470200 0.0039353557 0.0023289283 0.0042658612 + 1470300 0.0051687797 0.0026747721 0.0052187808 + 1470400 0.005457987 0.0029790513 0.0056654043 + 1470500 0.0047001847 0.0030428745 0.0053562467 + 1470600 0.0062848741 0.0029369583 0.0060302948 + 1470700 0.0053483481 0.0023425496 0.0049749397 + 1470800 0.0046298731 0.002701677 0.0049804427 + 1470900 0.005378385 0.0028081891 0.005455363 + 1471000 0.0049974589 0.0030637546 0.0055234414 + 1471100 0.0040441975 0.0033372814 0.0053277848 + 1471200 0.0052506042 0.0024765537 0.0050608354 + 1471300 0.0049307818 0.0020971046 0.0045239737 + 1471400 0.0037125807 0.0023584189 0.0041857047 + 1471500 0.0057839854 0.0026375109 0.0054843162 + 1471600 0.0051020979 0.0031088683 0.0056200571 + 1471700 0.005112001 0.0028057856 0.0053218486 + 1471800 0.0038944529 0.0024537617 0.0043705627 + 1471900 0.0050757275 0.002474715 0.0049729246 + 1472000 0.0040363223 0.0025479071 0.0045345345 + 1472100 0.0054991139 0.0024194879 0.005126083 + 1472200 0.0037397234 0.002272239 0.0041128841 + 1472300 0.0052684362 0.0018914908 0.0044845493 + 1472400 0.0058124449 0.0019606431 0.0048214558 + 1472500 0.0054166848 0.0021896052 0.0048556298 + 1472600 0.0043009406 0.0024723184 0.0045891876 + 1472700 0.0043391084 0.0024839479 0.0046196028 + 1472800 0.0041601402 0.0027484741 0.0047960431 + 1472900 0.0060902708 0.0027147119 0.0057122671 + 1473000 0.0056284171 0.0023811832 0.0051514198 + 1473100 0.0044186439 0.002869692 0.0050444933 + 1473200 0.0056250596 0.0028702082 0.0056387923 + 1473300 0.006122598 0.002543577 0.0055570432 + 1473400 0.0053697826 0.0024120497 0.0050549895 + 1473500 0.0045524312 0.0024212013 0.004661851 + 1473600 0.0051201615 0.0024047411 0.0049248206 + 1473700 0.004328414 0.0024074006 0.0045377919 + 1473800 0.004375284 0.0026578268 0.0048112868 + 1473900 0.0034745171 0.0026203168 0.0043304307 + 1474000 0.0046952722 0.0024592187 0.004770173 + 1474100 0.0041937972 0.0026414029 0.0047055375 + 1474200 0.0050491276 0.0024951751 0.0049802926 + 1474300 0.005071739 0.0024813884 0.0049776349 + 1474400 0.0048483873 0.0027535179 0.0051398335 + 1474500 0.003439335 0.0030861866 0.0047789843 + 1474600 0.0046806776 0.0031116167 0.0054153877 + 1474700 0.0051005895 0.0031586275 0.0056690739 + 1474800 0.0045812468 0.0024959888 0.0047508212 + 1474900 0.0049193222 0.0019684774 0.0043897063 + 1475000 0.004025492 0.0019438189 0.0039251157 + 1475100 0.0053335216 0.0024355682 0.0050606609 + 1475200 0.0042283563 0.0027882581 0.0048694022 + 1475300 0.0041783184 0.0025092077 0.0045657238 + 1475400 0.0051615541 0.0025098724 0.0050503249 + 1475500 0.0046727433 0.0025727239 0.0048725897 + 1475600 0.0048229083 0.0030994913 0.0054732665 + 1475700 0.0053479681 0.0027459424 0.0053781454 + 1475800 0.0056938732 0.00229776 0.0051002133 + 1475900 0.0066606015 0.0021606215 0.0054388863 + 1476000 0.0054506311 0.0027687568 0.0054514893 + 1476100 0.0052469251 0.0029102322 0.0054927031 + 1476200 0.0059866021 0.002585514 0.0055320448 + 1476300 0.0053226569 0.0026988071 0.0053185522 + 1476400 0.0046562363 0.002783342 0.0050750833 + 1476500 0.0057905924 0.0027091415 0.0055591987 + 1476600 0.0051831556 0.0030537101 0.0056047945 + 1476700 0.0051945648 0.0028876048 0.0054443047 + 1476800 0.0064346075 0.002094562 0.0052615954 + 1476900 0.0045089863 0.0020867583 0.004306025 + 1477000 0.0049485516 0.0020289717 0.0044645869 + 1477100 0.0038093396 0.0021030892 0.0039779986 + 1477200 0.0042239067 0.002278068 0.004357022 + 1477300 0.0044920953 0.0022513195 0.0044622727 + 1477400 0.0036360087 0.0023117774 0.0041013754 + 1477500 0.0072963458 0.001797872 0.0053890422 + 1477600 0.005761113 0.0023190632 0.005154611 + 1477700 0.004711836 0.0029133292 0.005232436 + 1477800 0.0075090334 0.0022616619 0.0059575143 + 1477900 0.0067621433 0.0024795042 0.0058077466 + 1478000 0.0054257788 0.0028823751 0.0055528756 + 1478100 0.004809301 0.0028407131 0.0052077909 + 1478200 0.0059905176 0.0019986197 0.0049470775 + 1478300 0.0049938101 0.0021843725 0.0046422634 + 1478400 0.0057921857 0.0023615204 0.0052123618 + 1478500 0.0036316995 0.0022833679 0.004070845 + 1478600 0.0051313331 0.0020763462 0.0046019242 + 1478700 0.0042261603 0.0024020623 0.0044821255 + 1478800 0.0054450359 0.0025120023 0.0051919809 + 1478900 0.0042112756 0.0022837965 0.0043565337 + 1479000 0.0066798416 0.0020283568 0.0053160913 + 1479100 0.003677835 0.0023141394 0.0041243238 + 1479200 0.0057875988 0.0018695353 0.0047181191 + 1479300 0.0040640682 0.0020498024 0.0040500859 + 1479400 0.0052917982 0.002246603 0.0048511599 + 1479500 0.0053729266 0.0022285204 0.0048730077 + 1479600 0.0055549304 0.0020948337 0.004828901 + 1479700 0.005312006 0.0022153432 0.0048298461 + 1479800 0.0052321827 0.0021922773 0.0047674922 + 1479900 0.0049108309 0.0024681067 0.0048851563 + 1480000 0.0049913913 0.0024277523 0.0048844527 + 1480100 0.0046884435 0.0023480122 0.0046556055 + 1480200 0.0046514242 0.0021879367 0.0044773096 + 1480300 0.005818492 0.0016500257 0.0045138147 + 1480400 0.0040712871 0.0016185433 0.0036223799 + 1480500 0.0055308427 0.0016013844 0.004323596 + 1480600 0.0051335397 0.0020078688 0.0045345329 + 1480700 0.0051779068 0.0020527763 0.0046012773 + 1480800 0.0036003753 0.0025601138 0.0043321735 + 1480900 0.0050774443 0.0020462776 0.0045453322 + 1481000 0.0047331285 0.001930828 0.0042604147 + 1481100 0.0053417861 0.0019763791 0.0046055394 + 1481200 0.0053160283 0.0023335219 0.0049500046 + 1481300 0.0050440708 0.0027999238 0.0052825524 + 1481400 0.0040046392 0.0027982974 0.0047693308 + 1481500 0.0047712666 0.0022334872 0.004581845 + 1481600 0.006278134 0.0017350282 0.0048250473 + 1481700 0.0050210989 0.0013425118 0.0038138339 + 1481800 0.0051577801 0.0015166755 0.0040552704 + 1481900 0.0046211917 0.0021607594 0.0044352521 + 1482000 0.0052439351 0.0020764316 0.004657431 + 1482100 0.004623649 0.0017972067 0.0040729089 + 1482200 0.003633326 0.0023231522 0.0041114298 + 1482300 0.0052336027 0.0022127552 0.004788669 + 1482400 0.0047319068 0.0019727944 0.0043017798 + 1482500 0.0058836562 0.002029415 0.0049252771 + 1482600 0.0047508246 0.0020749628 0.0044132593 + 1482700 0.0040083107 0.0020724551 0.0040452955 + 1482800 0.0043259459 0.002450936 0.0045801125 + 1482900 0.0054891892 0.0022054277 0.004907138 + 1483000 0.0049072034 0.002195659 0.0046109232 + 1483100 0.0050095441 0.0018827448 0.0043483799 + 1483200 0.0061337962 0.0016051852 0.004624163 + 1483300 0.0034731773 0.0019196136 0.0036290681 + 1483400 0.0057455027 0.0016687622 0.0044966268 + 1483500 0.0041965536 0.0015701748 0.003635666 + 1483600 0.0064621267 0.0020978752 0.0052784532 + 1483700 0.0056579586 0.002553032 0.0053378085 + 1483800 0.0050943526 0.0024472087 0.0049545854 + 1483900 0.0060095324 0.0017020895 0.0046599062 + 1484000 0.0048725622 0.0017087075 0.0041069217 + 1484100 0.0058389932 0.0018134559 0.0046873354 + 1484200 0.0040625466 0.001785213 0.0037847477 + 1484300 0.0048127961 0.0019202834 0.0042890815 + 1484400 0.0040456915 0.0019026208 0.0038938596 + 1484500 0.0046382196 0.0020794832 0.0043623569 + 1484600 0.0059618057 0.0022062807 0.0051406069 + 1484700 0.004474053 0.0023768351 0.0045789081 + 1484800 0.0057268259 0.0025026653 0.0053213374 + 1484900 0.0070290766 0.0026233793 0.0060830029 + 1485000 0.0058593027 0.0021718529 0.0050557285 + 1485100 0.0057741873 0.0021620543 0.0050040371 + 1485200 0.0046232296 0.0022943788 0.0045698746 + 1485300 0.0046229038 0.0020517952 0.0043271307 + 1485400 0.0069711308 0.0019955459 0.0054266493 + 1485500 0.0037600749 0.0025465228 0.0043971847 + 1485600 0.0049671754 0.0023907202 0.0048355018 + 1485700 0.0045212299 0.0021361256 0.0043614185 + 1485800 0.0047417601 0.00193531 0.004269145 + 1485900 0.0040935802 0.0018954145 0.0039102235 + 1486000 0.0054223593 0.0019366603 0.0046054778 + 1486100 0.0049741098 0.0019474125 0.0043956071 + 1486200 0.0051315397 0.001746892 0.0042725717 + 1486300 0.0040892734 0.0017679419 0.0037806311 + 1486400 0.0051713241 0.0017500977 0.0042953588 + 1486500 0.0053252713 0.0020025251 0.0046235571 + 1486600 0.0049891334 0.0021669263 0.0046225154 + 1486700 0.0051624073 0.0022207261 0.0047615984 + 1486800 0.0055600054 0.0019780764 0.0047146416 + 1486900 0.0044725272 0.0016565552 0.0038578772 + 1487000 0.0038569611 0.0020878057 0.0039861537 + 1487100 0.0042014084 0.0021082122 0.004176093 + 1487200 0.0041225022 0.001847204 0.003876248 + 1487300 0.0061639437 0.0020288277 0.0050626438 + 1487400 0.0041828684 0.0022285924 0.004287348 + 1487500 0.0047222936 0.0021043938 0.0044286477 + 1487600 0.0047728608 0.0021713991 0.0045205415 + 1487700 0.0054022805 0.0021416511 0.004800586 + 1487800 0.0057642032 0.0020056539 0.0048427227 + 1487900 0.0041725237 0.0020685396 0.0041222036 + 1488000 0.0047335985 0.002336157 0.004665975 + 1488100 0.0039194911 0.0022824711 0.0042115956 + 1488200 0.0056918568 0.0021527227 0.0049541834 + 1488300 0.0047371444 0.002314746 0.0046463093 + 1488400 0.0036184475 0.0022836425 0.0040645971 + 1488500 0.0060769676 0.0022008946 0.0051919021 + 1488600 0.0053056667 0.0023792952 0.004990678 + 1488700 0.0049890244 0.0026103559 0.0050658913 + 1488800 0.0047280977 0.0018408078 0.0041679184 + 1488900 0.0050310734 0.0015526673 0.0040288987 + 1489000 0.0030279694 0.0020259143 0.003516243 + 1489100 0.0040753339 0.0017749526 0.0037807811 + 1489200 0.0049143134 0.00182655 0.0042453137 + 1489300 0.0053934064 0.0020533543 0.0047079216 + 1489400 0.0044453483 0.0024197441 0.004607689 + 1489500 0.005006057 0.0025497106 0.0050136292 + 1489600 0.0041636355 0.0024987037 0.0045479931 + 1489700 0.0036361462 0.0021665333 0.003956199 + 1489800 0.005520629 0.0019323342 0.0046495188 + 1489900 0.0051112125 0.0021011751 0.00461685 + 1490000 0.0049866329 0.0017306345 0.0041849929 + 1490100 0.0050280954 0.001743046 0.0042178117 + 1490200 0.0054599859 0.0024547322 0.005142069 + 1490300 0.0052509425 0.0030254358 0.005609884 + 1490400 0.006099269 0.0025870061 0.00558899 + 1490500 0.0046530595 0.0023062917 0.0045964694 + 1490600 0.0051762461 0.0020993804 0.004647064 + 1490700 0.004209551 0.0021408886 0.0042127769 + 1490800 0.0047993217 0.0024004496 0.0047626157 + 1490900 0.0043113988 0.0023268997 0.0044489163 + 1491000 0.0070438938 0.0019125128 0.0053794293 + 1491100 0.0051969504 0.0018322031 0.0043900771 + 1491200 0.0065870132 0.0025401164 0.005782162 + 1491300 0.0058848402 0.0029071776 0.0058036224 + 1491400 0.0057073813 0.0028003628 0.0056094645 + 1491500 0.0054708302 0.0027567049 0.0054493791 + 1491600 0.0060574532 0.0029741406 0.0059555434 + 1491700 0.0067749743 0.0029093565 0.0062439142 + 1491800 0.0040517318 0.0027457226 0.0047399344 + 1491900 0.0049106513 0.0024389231 0.0048558843 + 1492000 0.0048693229 0.002382194 0.0047788139 + 1492100 0.0039760842 0.0023445617 0.0043015406 + 1492200 0.0039563732 0.0022555002 0.0042027777 + 1492300 0.0061402379 0.0022241968 0.0052463451 + 1492400 0.0046981845 0.0021621666 0.0044745543 + 1492500 0.0061620992 0.0023058026 0.0053387108 + 1492600 0.0056723113 0.0022587708 0.0050506116 + 1492700 0.004374376 0.0019791576 0.0041321708 + 1492800 0.0051179574 0.0016452523 0.0041642469 + 1492900 0.0051217253 0.0017982244 0.0043190736 + 1493000 0.0043367751 0.0020876618 0.0042221683 + 1493100 0.0057110405 0.0020716562 0.0048825589 + 1493200 0.0054088969 0.0018879922 0.0045501836 + 1493300 0.0037462486 0.0018742151 0.0037180719 + 1493400 0.0041228384 0.0022328105 0.00426202 + 1493500 0.0042915768 0.0022858664 0.0043981268 + 1493600 0.0038822733 0.0022789052 0.0041897116 + 1493700 0.0045568427 0.0024898583 0.0047326793 + 1493800 0.004889903 0.002511586 0.0049183352 + 1493900 0.0051332831 0.0029583776 0.0054849153 + 1494000 0.0038936262 0.0030287321 0.0049451263 + 1494100 0.0046573889 0.0025916917 0.0048840003 + 1494200 0.0042404733 0.0025069613 0.0045940693 + 1494300 0.0047886397 0.0025346103 0.0048915189 + 1494400 0.0036940996 0.0025934398 0.0044116294 + 1494500 0.0052152606 0.0023431775 0.0049100636 + 1494600 0.0045771326 0.0025537281 0.0048065355 + 1494700 0.0056228919 0.0027079346 0.0054754517 + 1494800 0.0046977804 0.0028562583 0.0051684471 + 1494900 0.0072781221 0.0023315014 0.0059137021 + 1495000 0.0053893869 0.0029292007 0.0055817896 + 1495100 0.0051316629 0.0031379183 0.0056636586 + 1495200 0.0040352407 0.0027123334 0.0046984285 + 1495300 0.0046071083 0.0021280201 0.0043955813 + 1495400 0.0051242313 0.0024683531 0.0049904357 + 1495500 0.0039134039 0.002757552 0.0046836804 + 1495600 0.0051955306 0.0025614806 0.0051186558 + 1495700 0.0071407429 0.0020065389 0.0055211233 + 1495800 0.0049062226 0.002547521 0.0049623024 + 1495900 0.0054572946 0.0024594402 0.0051454524 + 1496000 0.0048460987 0.0019930538 0.0043782431 + 1496100 0.0047224798 0.0018700009 0.0041943465 + 1496200 0.0058106778 0.002600817 0.00546076 + 1496300 0.0037572657 0.0023775654 0.0042268447 + 1496400 0.0053676725 0.0019266048 0.0045685061 + 1496500 0.0037820482 0.0020506038 0.0039120807 + 1496600 0.0043922694 0.0018933131 0.0040551332 + 1496700 0.0049116885 0.0019904042 0.0044078759 + 1496800 0.0064686884 0.0022090458 0.0053928534 + 1496900 0.0056418451 0.0024679365 0.0052447821 + 1497000 0.0044039129 0.0024045301 0.004572081 + 1497100 0.0050243786 0.0022184287 0.004691365 + 1497200 0.0044962725 0.0018647046 0.0040777137 + 1497300 0.0057675093 0.0021165442 0.0049552402 + 1497400 0.0064855587 0.0024501237 0.0056422346 + 1497500 0.0048884081 0.0022667889 0.0046728022 + 1497600 0.0043743439 0.0023057229 0.0044587203 + 1497700 0.0051383204 0.0020947972 0.0046238143 + 1497800 0.0056113501 0.0024502475 0.0052120839 + 1497900 0.0046424239 0.0029310253 0.0052159683 + 1498000 0.0048303442 0.0030032859 0.0053807209 + 1498100 0.0053288447 0.0030215831 0.0056443739 + 1498200 0.006190151 0.0024560006 0.0055027155 + 1498300 0.0047339802 0.0025649886 0.0048949945 + 1498400 0.0047732437 0.0028964423 0.0052457732 + 1498500 0.0058257672 0.0032489682 0.0061163379 + 1498600 0.005224941 0.0026672475 0.0052388981 + 1498700 0.0066058123 0.0020487635 0.0053000618 + 1498800 0.0052402189 0.0023020849 0.0048812551 + 1498900 0.0057598318 0.0027525906 0.0055875078 + 1499000 0.006462978 0.003261612 0.006442609 + 1499100 0.0052821828 0.0030295106 0.0056293349 + 1499200 0.0066515845 0.0020029443 0.005276771 + 1499300 0.005189816 0.0020638007 0.0046181632 + 1499400 0.0047091417 0.0028078733 0.005125654 + 1499500 0.0049923512 0.0026393393 0.0050965121 + 1499600 0.0053829076 0.0024310294 0.0050804292 + 1499700 0.0049351259 0.002653142 0.0050821493 + 1499800 0.004175189 0.0030298658 0.0050848416 + 1499900 0.0039830053 0.0026626597 0.0046230451 + 1500000 0.0053063803 0.0024955895 0.0051073236 + 1500100 0.00538144 0.0024130616 0.0050617391 + 1500200 0.0033731303 0.0025798354 0.004240048 + 1500300 0.0052138096 0.0026616875 0.0052278594 + 1500400 0.0048908054 0.00256389 0.0049710833 + 1500500 0.005605817 0.0024809108 0.0052400238 + 1500600 0.0083054647 0.0020381304 0.0061259763 + 1500700 0.0039901198 0.0025453819 0.004509269 + 1500800 0.0039442523 0.0028185719 0.0047598836 + 1500900 0.0064953768 0.0026945961 0.0058915393 + 1501000 0.0051713954 0.0026472671 0.0051925633 + 1501100 0.0045808102 0.0023586042 0.0046132217 + 1501200 0.0054831361 0.0022415292 0.0049402602 + 1501300 0.005703674 0.0022725187 0.0050797957 + 1501400 0.0058000982 0.0021463039 0.0050010397 + 1501500 0.0049085428 0.0019706151 0.0043865384 + 1501600 0.0054898994 0.0026318307 0.0053338905 + 1501700 0.0054776618 0.0031192022 0.0058152389 + 1501800 0.0065533734 0.002527848 0.0057533364 + 1501900 0.0050227419 0.0017830663 0.004255197 + 1502000 0.0044600228 0.0018606142 0.0040557816 + 1502100 0.0048988415 0.0019482666 0.0043594151 + 1502200 0.0050910227 0.0020857053 0.004591443 + 1502300 0.0036172829 0.0020145811 0.0037949626 + 1502400 0.0057261608 0.0018877584 0.0047061032 + 1502500 0.0044130262 0.0020455779 0.0042176142 + 1502600 0.0054312699 0.0020175809 0.0046907841 + 1502700 0.006569266 0.0021028036 0.0053361142 + 1502800 0.0055254479 0.0020638006 0.004783357 + 1502900 0.0046685253 0.0021815534 0.0044793432 + 1503000 0.0053389079 0.0022470715 0.0048748153 + 1503100 0.004484593 0.0023578866 0.0045651472 + 1503200 0.0057579776 0.0021617884 0.004995793 + 1503300 0.0053259272 0.0018522453 0.0044736001 + 1503400 0.0038118231 0.0022744395 0.0041505712 + 1503500 0.0035371544 0.0022381228 0.003979066 + 1503600 0.0049393705 0.0018423824 0.0042734788 + 1503700 0.0056506053 0.0018363681 0.0046175254 + 1503800 0.0042078627 0.0023310311 0.0044020885 + 1503900 0.0046982276 0.0022262141 0.004538623 + 1504000 0.0054000543 0.0021817691 0.0048396083 + 1504100 0.007620372 0.0020347027 0.0057853545 + 1504200 0.0049685023 0.0022102093 0.004655644 + 1504300 0.0069666157 0.0021726119 0.005601493 + 1504400 0.0039746795 0.0024647812 0.0044210687 + 1504500 0.0049684767 0.002578387 0.0050238092 + 1504600 0.0046493347 0.0025759273 0.0048642717 + 1504700 0.0059808328 0.002542617 0.0054863082 + 1504800 0.005807672 0.0025918616 0.0054503252 + 1504900 0.0052666192 0.002439487 0.0050316512 + 1505000 0.0040263221 0.0023453789 0.0043270844 + 1505100 0.0049196549 0.0025070305 0.0049284232 + 1505200 0.005199888 0.0027826172 0.005341937 + 1505300 0.0051755984 0.0027637824 0.0053111472 + 1505400 0.0044334398 0.0025783204 0.004760404 + 1505500 0.0050215683 0.0026814833 0.0051530365 + 1505600 0.0068871459 0.0026910716 0.0060808387 + 1505700 0.0034158809 0.0028530913 0.0045343451 + 1505800 0.004750186 0.0024340844 0.0047720665 + 1505900 0.0044044184 0.0022618212 0.0044296209 + 1506000 0.0059852292 0.002275757 0.0052216119 + 1506100 0.0049180553 0.0023111951 0.0047318005 + 1506200 0.0053122389 0.0023261461 0.0049407637 + 1506300 0.005540164 0.0022969425 0.005023742 + 1506400 0.0044421535 0.0022848414 0.0044712138 + 1506500 0.0045910173 0.0024650186 0.00472466 + 1506600 0.0029678411 0.0028482977 0.004309032 + 1506700 0.0059011087 0.0027522343 0.0056566862 + 1506800 0.0062094556 0.0027816633 0.0058378797 + 1506900 0.0046834538 0.0027283652 0.0050335027 + 1507000 0.0064377564 0.0025180422 0.0056866254 + 1507100 0.0051317478 0.0019867926 0.0045125747 + 1507200 0.0034722671 0.0019865039 0.0036955103 + 1507300 0.0058536389 0.0019052749 0.0047863628 + 1507400 0.007367905 0.0020258921 0.0056522829 + 1507500 0.005091641 0.0024659569 0.004971999 + 1507600 0.0038962354 0.0024986301 0.0044163085 + 1507700 0.0056833616 0.0023217916 0.0051190712 + 1507800 0.0046790886 0.0023028329 0.0046058218 + 1507900 0.0056068001 0.0021900065 0.0049496035 + 1508000 0.0057270986 0.0019332008 0.0047520072 + 1508100 0.0049003562 0.0019969272 0.0044088213 + 1508200 0.0049641908 0.002283153 0.0047264656 + 1508300 0.0056139941 0.0025134136 0.0052765514 + 1508400 0.0050142284 0.0024053753 0.0048733159 + 1508500 0.0050884752 0.0022894321 0.004793916 + 1508600 0.0037391449 0.0026972276 0.004537588 + 1508700 0.005847924 0.0024081132 0.0052863882 + 1508800 0.0046783115 0.0025004575 0.004803064 + 1508900 0.0058612726 0.0023170312 0.0052018763 + 1509000 0.0042133066 0.0022552463 0.0043289832 + 1509100 0.0045394656 0.0021880857 0.0044223539 + 1509200 0.0043160076 0.0021466985 0.0042709835 + 1509300 0.0054088679 0.0020215602 0.0046837374 + 1509400 0.0057433408 0.0018501112 0.0046769118 + 1509500 0.0045777781 0.0021932856 0.0044464107 + 1509600 0.0043730526 0.0022295264 0.0043818882 + 1509700 0.0040878597 0.0021007782 0.0041127717 + 1509800 0.0064019997 0.0020199123 0.0051708965 + 1509900 0.004920369 0.0022112102 0.0046329543 + 1510000 0.0043250938 0.0020862418 0.0042149989 + 1510100 0.0046469299 0.0018873627 0.0041745235 + 1510200 0.0041413938 0.0022254086 0.0042637509 + 1510300 0.0051746076 0.0022916508 0.004838528 + 1510400 0.0049909355 0.0023341844 0.0047906604 + 1510500 0.0055920391 0.0023022392 0.0050545709 + 1510600 0.0059822309 0.0025767656 0.0055211449 + 1510700 0.0052249748 0.0025543414 0.0051260087 + 1510800 0.0050048571 0.0020384034 0.0045017315 + 1510900 0.0051532727 0.001982109 0.0045184854 + 1511000 0.003157535 0.0024982925 0.0040523918 + 1511100 0.0046626339 0.0021273302 0.0044222203 + 1511200 0.0066117176 0.0021289698 0.0053831745 + 1511300 0.0053724601 0.0027379717 0.0053822294 + 1511400 0.0063686304 0.0029050801 0.0060396404 + 1511500 0.0042616468 0.0030686449 0.0051661742 + 1511600 0.0046514302 0.0028660752 0.005155451 + 1511700 0.0030872146 0.0025843549 0.0041038434 + 1511800 0.00551199 0.002529563 0.0052424956 + 1511900 0.0066624626 0.0024244852 0.0057036661 + 1512000 0.0046932441 0.0023640688 0.0046740248 + 1512100 0.0043899585 0.0023998791 0.0045605618 + 1512200 0.0047346667 0.0027617529 0.0050920967 + 1512300 0.0061337121 0.0025482623 0.0055671987 + 1512400 0.0049219779 0.0022933987 0.0047159347 + 1512500 0.004733558 0.0021906598 0.0045204579 + 1512600 0.0066262716 0.0026145466 0.0058759147 + 1512700 0.0050500865 0.0031374926 0.0056230821 + 1512800 0.0052034669 0.0030270056 0.005588087 + 1512900 0.0048713191 0.0027322889 0.0051298912 + 1513000 0.0050998461 0.0023608821 0.0048709626 + 1513100 0.0035947177 0.0025309924 0.0043002676 + 1513200 0.004519494 0.0026734714 0.0048979099 + 1513300 0.0048892144 0.0025646955 0.0049711057 + 1513400 0.0049442897 0.002338969 0.0047724865 + 1513500 0.0058350123 0.0018943529 0.004766273 + 1513600 0.0063785907 0.0018104882 0.0049499508 + 1513700 0.0050169731 0.0021432146 0.0046125061 + 1513800 0.0045782202 0.0023272486 0.0045805914 + 1513900 0.0063483127 0.0021363241 0.0052608842 + 1514000 0.0037406842 0.0022503744 0.0040914924 + 1514100 0.0052076132 0.0025594105 0.0051225326 + 1514200 0.0043183582 0.0030104598 0.0051359017 + 1514300 0.0035589451 0.0032078688 0.0049595371 + 1514400 0.0057294244 0.0029336174 0.0057535685 + 1514500 0.0056673592 0.0027114487 0.0055008521 + 1514600 0.0039394312 0.0025887225 0.0045276613 + 1514700 0.0046977238 0.0028460018 0.0051581628 + 1514800 0.0030304196 0.0034129825 0.0049045171 + 1514900 0.0047641793 0.0035162204 0.0058610899 + 1515000 0.0067098611 0.0033933101 0.0066958199 + 1515100 0.0055216592 0.0033137075 0.0060313991 + 1515200 0.0070011508 0.00324889 0.006694769 + 1515300 0.0047151022 0.0028407987 0.005161513 + 1515400 0.0052679757 0.0028875587 0.0054803906 + 1515500 0.0043667397 0.0026115728 0.0047608275 + 1515600 0.0067704084 0.0027909926 0.0061233029 + 1515700 0.0047410533 0.0027470297 0.0050805168 + 1515800 0.0048475361 0.0024983794 0.004884276 + 1515900 0.0057658052 0.001941589 0.0047794463 + 1516000 0.0063034605 0.0019217696 0.0050242541 + 1516100 0.0052012658 0.0023774694 0.0049374674 + 1516200 0.0040880067 0.0024053279 0.0044173937 + 1516300 0.0051613684 0.0026706705 0.0052110315 + 1516400 0.0043263853 0.0027262913 0.004855684 + 1516500 0.0061142855 0.0025891175 0.0055984924 + 1516600 0.0057193019 0.0026051141 0.005420083 + 1516700 0.0041397421 0.0026073491 0.0046448784 + 1516800 0.0043359565 0.0024874463 0.0046215499 + 1516900 0.0050319752 0.002768596 0.0052452712 + 1517000 0.0044742491 0.0031460338 0.0053482032 + 1517100 0.0059663165 0.0028324735 0.0057690198 + 1517200 0.0049882673 0.0025840117 0.0050391745 + 1517300 0.0071620027 0.0024580667 0.0059831149 + 1517400 0.0050849934 0.0023447324 0.0048475026 + 1517500 0.0040152319 0.0022905317 0.0042667786 + 1517600 0.0033882412 0.0021209967 0.0037886466 + 1517700 0.0045394546 0.0020346857 0.0042689485 + 1517800 0.0056146061 0.0018829777 0.0046464167 + 1517900 0.0049890444 0.0019210955 0.0043766408 + 1518000 0.0065520843 0.0019748282 0.0051996822 + 1518100 0.0052118667 0.0019921583 0.0045573739 + 1518200 0.0052967815 0.0018299904 0.004437 + 1518300 0.0052244096 0.0015980403 0.0041694294 + 1518400 0.0053305539 0.0015758832 0.0041995152 + 1518500 0.0050123434 0.0016362264 0.0041032391 + 1518600 0.0044080613 0.0019285912 0.0040981839 + 1518700 0.0049166628 0.002172694 0.004592614 + 1518800 0.0040761055 0.002814155 0.0048203632 + 1518900 0.0045184457 0.0020974566 0.0043213791 + 1519000 0.0070690227 0.001913368 0.0053926526 + 1519100 0.0046433712 0.0021385759 0.0044239851 + 1519200 0.006846257 0.0018851864 0.0052548285 + 1519300 0.0036494832 0.0020104365 0.0038066665 + 1519400 0.0040480394 0.0021488441 0.0041412385 + 1519500 0.0065235807 0.00201613 0.0052269548 + 1519600 0.005788757 0.0025064324 0.0053555862 + 1519700 0.0051429881 0.0029563557 0.0054876701 + 1519800 0.006453313 0.0028372625 0.0060135025 + 1519900 0.008804368 0.0026172457 0.0069506456 + 1520000 0.0064435651 0.0022321964 0.0054036386 + 1520100 0.0054629247 0.0025135654 0.0052023486 + 1520200 0.0057127968 0.0026370471 0.0054488143 + 1520300 0.0054066401 0.0026271139 0.0052881946 + 1520400 0.0049780957 0.0028512557 0.0053014121 + 1520500 0.0050204876 0.003121894 0.0055929153 + 1520600 0.0044173276 0.0030643542 0.0052385076 + 1520700 0.0053155211 0.0025722405 0.0051884735 + 1520800 0.0041616614 0.0021172571 0.0041655748 + 1520900 0.0051705483 0.0019430455 0.0044879248 + 1521000 0.0051771708 0.0023296951 0.0048778339 + 1521100 0.0049211499 0.0024795835 0.004901712 + 1521200 0.0065676518 0.0026569251 0.0058894412 + 1521300 0.0052450625 0.0028770572 0.0054586114 + 1521400 0.0064315911 0.0027022535 0.0058678023 + 1521500 0.006035403 0.0032460925 0.0062166425 + 1521600 0.0058056124 0.0040217218 0.0068791717 + 1521700 0.0068341632 0.0035971614 0.0069608512 + 1521800 0.0055313935 0.0028125234 0.0055350061 + 1521900 0.0051993038 0.0021936166 0.004752649 + 1522000 0.0066222458 0.0023391834 0.00559857 + 1522100 0.0052110745 0.0028122174 0.0053770431 + 1522200 0.0046166611 0.0028382652 0.0051105281 + 1522300 0.0056823838 0.0023981143 0.0051949125 + 1522400 0.0048327478 0.0028107489 0.005189367 + 1522500 0.0050480058 0.0032530792 0.0057376445 + 1522600 0.0067970451 0.0024779927 0.0058234134 + 1522700 0.0070873443 0.0024086059 0.0058969082 + 1522800 0.0059862563 0.0026562027 0.0056025633 + 1522900 0.0036273316 0.0028420704 0.0046273977 + 1523000 0.0046641983 0.0023901877 0.0046858478 + 1523100 0.005761937 0.0024875582 0.0053235115 + 1523200 0.0032955585 0.0030950037 0.0047170364 + 1523300 0.0063920056 0.0027971854 0.0059432506 + 1523400 0.005779443 0.0024008115 0.0052453811 + 1523500 0.004913466 0.0030599057 0.0054782522 + 1523600 0.0052834992 0.0031263213 0.0057267936 + 1523700 0.0052672281 0.0028800962 0.0054725601 + 1523800 0.007626696 0.0025457897 0.0062995541 + 1523900 0.0057381703 0.0026457392 0.0054699949 + 1524000 0.0059372336 0.0024858469 0.005408079 + 1524100 0.005019727 0.0026520058 0.0051226527 + 1524200 0.004491858 0.0022769421 0.0044877785 + 1524300 0.0044660624 0.0019136592 0.0041117993 + 1524400 0.005597545 0.0019232528 0.0046782945 + 1524500 0.003949405 0.0022021767 0.0041460245 + 1524600 0.0039644872 0.0021113019 0.0040625729 + 1524700 0.004013818 0.0019386425 0.0039141935 + 1524800 0.0056993789 0.0018115042 0.0046166673 + 1524900 0.0039602761 0.0024694639 0.0044186622 + 1525000 0.0056239061 0.0026153409 0.0053833572 + 1525100 0.0056658881 0.0026190828 0.0054077621 + 1525200 0.0060170318 0.0029249159 0.0058864237 + 1525300 0.0050628593 0.0029653417 0.0054572177 + 1525400 0.004440378 0.0027678536 0.0049533521 + 1525500 0.0035644163 0.0029686452 0.0047230063 + 1525600 0.0063025417 0.0026283431 0.0057303754 + 1525700 0.0066095765 0.0025407841 0.005793935 + 1525800 0.0061914345 0.0021594536 0.0052068002 + 1525900 0.0056365787 0.0020912127 0.0048654663 + 1526000 0.0052570331 0.002275318 0.0048627639 + 1526100 0.0055454895 0.0023111935 0.0050406141 + 1526200 0.0056134852 0.0024527083 0.0052155956 + 1526300 0.0049505998 0.0024303445 0.0048669679 + 1526400 0.0063436207 0.0021751979 0.0052974487 + 1526500 0.0061182594 0.0019162951 0.0049276259 + 1526600 0.0061746854 0.0024253074 0.0054644104 + 1526700 0.0033382485 0.0029008603 0.0045439045 + 1526800 0.004904667 0.0022731766 0.0046871924 + 1526900 0.0041591508 0.002019344 0.0040664261 + 1527000 0.0056691784 0.0023020349 0.0050923336 + 1527100 0.0036506614 0.0027199229 0.0045167329 + 1527200 0.0046501066 0.0028555807 0.0051443051 + 1527300 0.0060783256 0.0024348375 0.0054265134 + 1527400 0.0045621669 0.0020697467 0.0043151882 + 1527500 0.0062111954 0.0020592098 0.0051162826 + 1527600 0.0062695462 0.0021537206 0.0052395128 + 1527700 0.0045533549 0.0020650329 0.0043061372 + 1527800 0.0059589779 0.0018617589 0.0047946934 + 1527900 0.0047566112 0.0020586012 0.0043997457 + 1528000 0.0046843009 0.0024850844 0.0047906387 + 1528100 0.0046662728 0.0021564955 0.0044531767 + 1528200 0.0046445498 0.0019189003 0.0042048897 + 1528300 0.0043402479 0.0019490497 0.0040852654 + 1528400 0.003908136 0.0024318138 0.0043553495 + 1528500 0.0051572649 0.0024381448 0.0049764862 + 1528600 0.0067530171 0.0025456971 0.0058694477 + 1528700 0.0065737754 0.0025231539 0.0057586839 + 1528800 0.0052736952 0.0023810339 0.0049766808 + 1528900 0.0053113245 0.0026444526 0.0052586202 + 1529000 0.0031294504 0.0025086225 0.0040488989 + 1529100 0.0054655146 0.0020197348 0.0047097927 + 1529200 0.0057010971 0.0021682527 0.0049742614 + 1529300 0.0056067117 0.0029889069 0.0057484603 + 1529400 0.0042490678 0.0032349073 0.0053262453 + 1529500 0.0048596395 0.0031183885 0.0055102423 + 1529600 0.0038864432 0.0026401058 0.0045529646 + 1529700 0.0044372602 0.0018869476 0.0040709116 + 1529800 0.0056578314 0.0018578868 0.0046426006 + 1529900 0.004646665 0.0017447214 0.0040317518 + 1530000 0.0049179998 0.0017472191 0.0041677971 + 1530100 0.0049670749 0.0022327246 0.0046774568 + 1530200 0.0044606768 0.0024750193 0.0046705087 + 1530300 0.0050395585 0.0025413105 0.0050217182 + 1530400 0.0043000699 0.0024226919 0.0045391326 + 1530500 0.0066614187 0.0025130737 0.0057917407 + 1530600 0.0070518647 0.0027064789 0.0061773185 + 1530700 0.0053949502 0.0031448532 0.0058001803 + 1530800 0.0050898928 0.0030697086 0.0055748903 + 1530900 0.0047332277 0.0024066583 0.0047362939 + 1531000 0.0037568753 0.0022509714 0.0041000585 + 1531100 0.0047901565 0.0022381289 0.0045957841 + 1531200 0.0042636233 0.0018798702 0.0039783723 + 1531300 0.005150097 0.0013995626 0.003934376 + 1531400 0.0048598463 0.001567074 0.0039590297 + 1531500 0.0060367097 0.0021073591 0.0050785522 + 1531600 0.00481401 0.0023610481 0.0047304437 + 1531700 0.0041505908 0.0020656414 0.0041085103 + 1531800 0.0037466095 0.0020010158 0.0038450501 + 1531900 0.0047464373 0.0017798739 0.004116011 + 1532000 0.0047386024 0.0017927779 0.0041250588 + 1532100 0.0056464559 0.0019803089 0.0047594239 + 1532200 0.0052729266 0.0019005988 0.0044958674 + 1532300 0.0053523605 0.0019873421 0.004621707 + 1532400 0.0058223495 0.0024460526 0.0053117403 + 1532500 0.006083729 0.0027528337 0.0057471691 + 1532600 0.0046483318 0.0030605909 0.0053484417 + 1532700 0.0055563113 0.0028029732 0.0055377202 + 1532800 0.0052574377 0.0024691484 0.0050567935 + 1532900 0.0064059441 0.0024053876 0.0055583132 + 1533000 0.0059502382 0.0022792857 0.0052079186 + 1533100 0.0055956693 0.0020038494 0.0047579679 + 1533200 0.0073974004 0.0023211018 0.0059620098 + 1533300 0.0059842801 0.0028718073 0.0058171952 + 1533400 0.0061769436 0.0030621368 0.0061023512 + 1533500 0.0045311863 0.0027811304 0.0050113237 + 1533600 0.0064067045 0.0020003802 0.0051536801 + 1533700 0.0047785441 0.0019842618 0.0043362015 + 1533800 0.0041047173 0.0018056059 0.0038258964 + 1533900 0.0052892213 0.0021534749 0.0047567636 + 1534000 0.0037061436 0.0023537041 0.0041778216 + 1534100 0.0035887389 0.0019769107 0.0037432431 + 1534200 0.0059322438 0.0022206342 0.0051404105 + 1534300 0.0060186234 0.0023957672 0.0053580584 + 1534400 0.0048767919 0.002475283 0.004875579 + 1534500 0.0053961712 0.0027737105 0.0054296386 + 1534600 0.0044365491 0.0025869044 0.0047705184 + 1534700 0.0043450812 0.0025153969 0.0046539916 + 1534800 0.0040576479 0.0027553798 0.0047525034 + 1534900 0.0045892899 0.0030190549 0.005277846 + 1535000 0.0052006753 0.0024124116 0.004972119 + 1535100 0.0056405958 0.0021904489 0.0049666797 + 1535200 0.0041278047 0.0024382849 0.0044699388 + 1535300 0.0046055612 0.0026180448 0.0048848445 + 1535400 0.0058656196 0.002513991 0.0054009756 + 1535500 0.0050846172 0.0029252944 0.0054278794 + 1535600 0.0044171463 0.0030169608 0.005191025 + 1535700 0.0045227573 0.0027173102 0.0049433548 + 1535800 0.0060488187 0.0025968294 0.0055739824 + 1535900 0.0060051961 0.0024250976 0.0053807801 + 1536000 0.0056132688 0.0020521669 0.0048149477 + 1536100 0.0057611999 0.0019552126 0.0047908031 + 1536200 0.0042944587 0.0026999818 0.0048136607 + 1536300 0.0054943969 0.0029676081 0.0056718816 + 1536400 0.0045594472 0.0030257561 0.005269859 + 1536500 0.0050765243 0.0025718648 0.0050704666 + 1536600 0.0061933073 0.0027138874 0.0057621559 + 1536700 0.0054596755 0.0032772193 0.0059644034 + 1536800 0.006016262 0.0031211556 0.0060822845 + 1536900 0.0036760346 0.0032931116 0.0051024099 + 1537000 0.0052384431 0.0033360067 0.0059143029 + 1537100 0.0045876789 0.0036970032 0.0059550014 + 1537200 0.0053059397 0.0035072117 0.0061187289 + 1537300 0.003220545 0.003221151 0.004806263 + 1537400 0.0052182023 0.0027828608 0.0053511947 + 1537500 0.0037282144 0.0027495561 0.0045845366 + 1537600 0.0062517397 0.0024589749 0.005536003 + 1537700 0.0042136899 0.0021815656 0.0042554911 + 1537800 0.0055582808 0.0021442065 0.0048799229 + 1537900 0.0032371796 0.0027200582 0.0043133576 + 1538000 0.0050785226 0.0028036007 0.0053031861 + 1538100 0.0034304305 0.002791869 0.004480284 + 1538200 0.0055764741 0.0025072339 0.0052519047 + 1538300 0.0047773702 0.0026846791 0.005036041 + 1538400 0.0039691481 0.0029860913 0.0049396564 + 1538500 0.0058806784 0.0028701222 0.0057645186 + 1538600 0.0064988594 0.0030722133 0.0062708706 + 1538700 0.0046440358 0.0034666427 0.0057523791 + 1538800 0.0045858782 0.0035587958 0.0058159077 + 1538900 0.0043007734 0.0039314831 0.0060482701 + 1539000 0.0047219812 0.0035056813 0.0058297814 + 1539100 0.0065666026 0.0030348935 0.0062668932 + 1539200 0.0059687332 0.0030912167 0.0060289526 + 1539300 0.0044617291 0.0033982708 0.0055942781 + 1539400 0.005295409 0.003416013 0.0060223471 + 1539500 0.0043528778 0.0040012211 0.0061436532 + 1539600 0.0056599921 0.0038689584 0.0066547358 + 1539700 0.0046005107 0.0030331443 0.0052974582 + 1539800 0.0056559297 0.0024883643 0.0052721422 + 1539900 0.005189098 0.0023233805 0.0048773896 + 1540000 0.0047314962 0.0024354863 0.0047642695 + 1540100 0.0049421291 0.0025955771 0.0050280313 + 1540200 0.0053057455 0.0025058668 0.0051172884 + 1540300 0.0044788174 0.0023882271 0.004592645 + 1540400 0.007502924 0.0021672956 0.005860141 + 1540500 0.0052952544 0.002340476 0.004946734 + 1540600 0.0053949699 0.002576816 0.0052321528 + 1540700 0.0052957744 0.0028037649 0.0054102788 + 1540800 0.0048021638 0.0027240799 0.0050876449 + 1540900 0.0059612221 0.0029010782 0.0058351172 + 1541000 0.0056114406 0.0026858834 0.0054477644 + 1541100 0.0072871619 0.0023714239 0.0059580739 + 1541200 0.0055083862 0.0022910696 0.0050022285 + 1541300 0.0047483457 0.0022072333 0.0045443097 + 1541400 0.0042949546 0.0022330614 0.0043469844 + 1541500 0.0040706492 0.0022069037 0.0042104263 + 1541600 0.0040117505 0.0021802991 0.0041548326 + 1541700 0.0048830689 0.0023332904 0.0047366759 + 1541800 0.0044249173 0.0021279203 0.0043058093 + 1541900 0.0052062239 0.0025363907 0.0050988291 + 1542000 0.0053637031 0.0027982366 0.0054381842 + 1542100 0.0048336705 0.0030159773 0.0053950495 + 1542200 0.0043549655 0.0028000859 0.0049435456 + 1542300 0.0067298074 0.0024814318 0.0057937589 + 1542400 0.0053571844 0.0024453718 0.005082111 + 1542500 0.0053644378 0.0024175472 0.0050578564 + 1542600 0.0035531713 0.0029393433 0.0046881698 + 1542700 0.0043225841 0.0029686156 0.0050961374 + 1542800 0.005048496 0.0026798668 0.0051646735 + 1542900 0.0061862953 0.0024221203 0.0054669375 + 1543000 0.0044670668 0.0024924781 0.0046911125 + 1543100 0.005617679 0.0018544262 0.0046193776 + 1543200 0.0036141236 0.0017456333 0.0035244598 + 1543300 0.0037274192 0.0018219668 0.003656556 + 1543400 0.0049452118 0.00188866 0.0043226315 + 1543500 0.0056201626 0.0019696728 0.0047358465 + 1543600 0.0052987459 0.0022414983 0.0048494748 + 1543700 0.0050464951 0.0027391525 0.0052229743 + 1543800 0.0056082399 0.0025396286 0.0052999341 + 1543900 0.0054264744 0.0023338954 0.0050047383 + 1544000 0.0068712321 0.0024148014 0.005796736 + 1544100 0.0055742351 0.002334605 0.0050781738 + 1544200 0.0048009681 0.0021634979 0.0045264744 + 1544300 0.0051251353 0.0018358571 0.0043583847 + 1544400 0.0030516498 0.002039045 0.0035410289 + 1544500 0.0059085165 0.0020213919 0.0049294899 + 1544600 0.0063649084 0.0024790575 0.0056117859 + 1544700 0.0042073296 0.0027951202 0.0048659152 + 1544800 0.0039973214 0.0030382264 0.005005658 + 1544900 0.0056403142 0.0024612086 0.0052373008 + 1545000 0.0045892789 0.0023989823 0.004657768 + 1545100 0.0039779699 0.0022177581 0.0041756651 + 1545200 0.0057165113 0.0019594178 0.0047730132 + 1545300 0.005459403 0.0023566146 0.0050436645 + 1545400 0.0050272794 0.0027243851 0.0051987492 + 1545500 0.0050126206 0.0025947986 0.0050619478 + 1545600 0.0064385346 0.0019655234 0.0051344896 + 1545700 0.0053679445 0.0014485508 0.004090586 + 1545800 0.0065311262 0.0016569879 0.0048715266 + 1545900 0.0057218881 0.0022519928 0.0050682345 + 1546000 0.0048462785 0.0024922621 0.0048775398 + 1546100 0.0057229505 0.0022357546 0.0050525193 + 1546200 0.0034166889 0.0025273329 0.0042089845 + 1546300 0.0042708822 0.0024036579 0.0045057328 + 1546400 0.0038310417 0.0022377344 0.0041233252 + 1546500 0.0051796736 0.0018595963 0.0044089669 + 1546600 0.0050185507 0.0020047226 0.0044747906 + 1546700 0.0058310663 0.0020748851 0.0049448631 + 1546800 0.0066487764 0.0022222418 0.0054946864 + 1546900 0.0047102549 0.0024343027 0.0047526313 + 1547000 0.0039754469 0.0026486735 0.0046053388 + 1547100 0.004776169 0.0026391783 0.004989949 + 1547200 0.0040944806 0.002560574 0.0045758262 + 1547300 0.0049920377 0.0024429477 0.0048999663 + 1547400 0.0046437303 0.0023559648 0.0046415508 + 1547500 0.0047848301 0.0024245684 0.004779602 + 1547600 0.0048020494 0.0023836883 0.004747197 + 1547700 0.0054041524 0.0024660056 0.0051258619 + 1547800 0.0048506528 0.0023814311 0.0047688618 + 1547900 0.0057378166 0.0028562737 0.0056803553 + 1548000 0.0062808016 0.0035944731 0.0066858052 + 1548100 0.0057324949 0.0032486289 0.0060700912 + 1548200 0.0061447283 0.0034309212 0.0064552796 + 1548300 0.0055485066 0.003053987 0.0057848926 + 1548400 0.0058792087 0.0024700149 0.005363688 + 1548500 0.0038137501 0.0020529903 0.0039300705 + 1548600 0.0039580715 0.0021777208 0.0041258342 + 1548700 0.0058484777 0.0019927524 0.0048713 + 1548800 0.0046404796 0.0023345067 0.0046184927 + 1548900 0.004880629 0.0024369251 0.0048391097 + 1549000 0.0049581379 0.002264049 0.0047043825 + 1549100 0.0058617489 0.0021892915 0.005074371 + 1549200 0.0071130205 0.0027671292 0.006268069 + 1549300 0.0057127931 0.0031527596 0.0059645249 + 1549400 0.0046773702 0.0033128605 0.0056150036 + 1549500 0.0058869543 0.0035221725 0.0064196578 + 1549600 0.0044032841 0.0031282783 0.0052955197 + 1549700 0.0052945881 0.0028112756 0.0054172057 + 1549800 0.0054552953 0.0029213875 0.0056064156 + 1549900 0.004486332 0.0026948533 0.0049029698 + 1550000 0.0068150165 0.0024560388 0.0058103047 + 1550100 0.0060611588 0.0021452097 0.0051284363 + 1550200 0.0042742071 0.0022612974 0.0043650087 + 1550300 0.0059620084 0.0022047047 0.0051391307 + 1550400 0.0073179611 0.0024189681 0.0060207771 + 1550500 0.0047407546 0.0023341974 0.0046675375 + 1550600 0.0050721489 0.0022709805 0.0047674288 + 1550700 0.0054047912 0.0022913658 0.0049515365 + 1550800 0.0068606649 0.0020794296 0.0054561632 + 1550900 0.00510792 0.0021099188 0.0046239732 + 1551000 0.0065754979 0.0022508274 0.0054872053 + 1551100 0.0048129992 0.0021545887 0.0045234868 + 1551200 0.0048803915 0.0019567834 0.0043588511 + 1551300 0.0063444377 0.0023898241 0.005512477 + 1551400 0.0052559711 0.0026481821 0.0052351053 + 1551500 0.0048080306 0.002207671 0.0045741236 + 1551600 0.0061594833 0.0023519662 0.0053835869 + 1551700 0.0059474991 0.0023575313 0.005284816 + 1551800 0.0038459615 0.0024641166 0.0043570508 + 1551900 0.003967909 0.0022303829 0.0041833382 + 1552000 0.0040002546 0.0019093305 0.0038782058 + 1552100 0.0045772302 0.0020988722 0.0043517277 + 1552200 0.005903001 0.0024147057 0.005320089 + 1552300 0.0042005907 0.0031686023 0.0052360805 + 1552400 0.0067859335 0.0027698477 0.0061097994 + 1552500 0.005333934 0.0027353543 0.0053606499 + 1552600 0.0037187738 0.003144417 0.004974751 + 1552700 0.0041116472 0.0029711369 0.0049948383 + 1552800 0.0043017934 0.0029289084 0.0050461973 + 1552900 0.0039455716 0.0032461781 0.0051881391 + 1553000 0.0063030407 0.0028528994 0.0059551773 + 1553100 0.0058810835 0.002806705 0.0057013008 + 1553200 0.0055789538 0.0032952544 0.0060411457 + 1553300 0.0056369794 0.0030868769 0.0058613277 + 1553400 0.0056271892 0.0030613168 0.005830949 + 1553500 0.004173267 0.0033753112 0.0054293411 + 1553600 0.0056327215 0.0037012504 0.0064736055 + 1553700 0.0062766824 0.0034808355 0.0065701401 + 1553800 0.0061902007 0.0029304415 0.0059771809 + 1553900 0.0049838673 0.0025688157 0.0050218129 + 1554000 0.0060196502 0.0024950424 0.005457839 + 1554100 0.0036554784 0.0024019687 0.0042011494 + 1554200 0.0058559387 0.0027513148 0.0056335346 + 1554300 0.0050440574 0.0029763478 0.0054589698 + 1554400 0.0053896725 0.0028583144 0.0055110438 + 1554500 0.0059704635 0.0025452424 0.0054838299 + 1554600 0.0060872647 0.0022397093 0.0052357849 + 1554700 0.0043860104 0.0022637448 0.0044224843 + 1554800 0.0039856532 0.0025823078 0.0045439964 + 1554900 0.0045020751 0.0023307619 0.004546627 + 1555000 0.0048567131 0.0020514231 0.0044418366 + 1555100 0.005789118 0.0024944885 0.00534382 + 1555200 0.0065579323 0.0021763634 0.0054040957 + 1555300 0.0045715676 0.0024603376 0.0047104061 + 1555400 0.0045825881 0.0025757797 0.0048312722 + 1555500 0.0051604541 0.002298897 0.004838808 + 1555600 0.0050952206 0.0024582895 0.0049660934 + 1555700 0.0072234955 0.0029532156 0.0065085298 + 1555800 0.0060793711 0.0035498309 0.0065420214 + 1555900 0.0050322491 0.0034919197 0.0059687298 + 1556000 0.0049347873 0.0034916693 0.00592051 + 1556100 0.0061986383 0.0033352973 0.0063861895 + 1556200 0.0056588048 0.0030602233 0.0058454163 + 1556300 0.0046641748 0.0030563036 0.0053519521 + 1556400 0.0033796752 0.0026825998 0.0043460337 + 1556500 0.0033744973 0.0027053653 0.0043662507 + 1556600 0.0037945871 0.0026460385 0.0045136868 + 1556700 0.0051096531 0.002235379 0.0047502864 + 1556800 0.0051468105 0.0022065536 0.0047397494 + 1556900 0.0047415969 0.0020493277 0.0043830824 + 1557000 0.0062220732 0.0021978863 0.005260313 + 1557100 0.0052487852 0.0027405498 0.0053239362 + 1557200 0.0064766972 0.0027412408 0.0059289902 + 1557300 0.0045061242 0.0022226432 0.0044405011 + 1557400 0.005163344 0.0020431062 0.0045844395 + 1557500 0.0056629086 0.0023734926 0.0051607055 + 1557600 0.0053463372 0.0028601809 0.0054915812 + 1557700 0.0058381951 0.0034743464 0.006347833 + 1557800 0.0061381107 0.0029386684 0.0059597697 + 1557900 0.0049495903 0.0021870902 0.0046232167 + 1558000 0.0044902721 0.0019046302 0.0041146859 + 1558100 0.0061448199 0.0017423428 0.0047667464 + 1558200 0.004582272 0.0022872704 0.0045426075 + 1558300 0.0051808038 0.0023708701 0.0049207969 + 1558400 0.0062083088 0.0019318765 0.0049875285 + 1558500 0.0041053254 0.0022256818 0.0042462716 + 1558600 0.0053351157 0.0027167511 0.0053426283 + 1558700 0.0061458786 0.0028337817 0.0058587063 + 1558800 0.0071449247 0.0025891125 0.0061057552 + 1558900 0.0051045259 0.0027040573 0.0052164412 + 1559000 0.0040365798 0.0028150759 0.00480183 + 1559100 0.0056787059 0.0024221651 0.0052171532 + 1559200 0.0053831059 0.0018025774 0.0044520749 + 1559300 0.0066539519 0.0021292969 0.0054042889 + 1559400 0.0058757232 0.0024386761 0.0053306336 + 1559500 0.0050676204 0.0026458687 0.0051400881 + 1559600 0.0048391121 0.0026633958 0.0050451462 + 1559700 0.0053189563 0.0029545418 0.0055724656 + 1559800 0.0054166245 0.0030164685 0.0056824633 + 1559900 0.0037033116 0.0030853407 0.0049080644 + 1560000 0.0053943371 0.0028547781 0.0055098034 + 1560100 0.0029834471 0.0028123228 0.0042807382 + 1560200 0.0042894986 0.0026426565 0.0047538941 + 1560300 0.0064604554 0.0024969998 0.0056767552 + 1560400 0.0050140155 0.0021671856 0.0046350214 + 1560500 0.003504484 0.0016874899 0.0034123532 + 1560600 0.0057532662 0.0017116558 0.0045433415 + 1560700 0.0046680074 0.0022116892 0.0045092241 + 1560800 0.00602944 0.0022149023 0.0051825173 + 1560900 0.0058560476 0.0024796307 0.0053619041 + 1561000 0.0046132358 0.0024955075 0.0047660845 + 1561100 0.0051114029 0.0028757402 0.0053915089 + 1561200 0.0060763317 0.0026177415 0.005608436 + 1561300 0.0064760006 0.0025056491 0.0056930557 + 1561400 0.0058978789 0.0024234832 0.0053263455 + 1561500 0.003324553 0.0022381494 0.0038744529 + 1561600 0.0043720502 0.0014729508 0.0036248192 + 1561700 0.0051592263 0.0014762713 0.004015578 + 1561800 0.0065201896 0.0015278728 0.0047370286 + 1561900 0.0037168251 0.0021981998 0.0040275746 + 1562000 0.0033075365 0.0023049965 0.0039329246 + 1562100 0.0049463723 0.0019058826 0.0043404253 + 1562200 0.0048886262 0.0016534838 0.0040596045 + 1562300 0.004112029 0.0023251041 0.0043489933 + 1562400 0.0054037442 0.0021576367 0.004817292 + 1562500 0.0051020424 0.0020275755 0.004538737 + 1562600 0.005287993 0.0024466815 0.0050493655 + 1562700 0.0050875651 0.0022098629 0.0047138988 + 1562800 0.0044305175 0.0022927022 0.0044733475 + 1562900 0.0048936347 0.0020511102 0.0044596961 + 1563000 0.004107309 0.0017493355 0.0037709016 + 1563100 0.0054576586 0.0016832239 0.0043694153 + 1563200 0.0050083842 0.0023222491 0.0047873132 + 1563300 0.0052181419 0.0023700212 0.0049383254 + 1563400 0.0042449163 0.0025059364 0.0045952311 + 1563500 0.0036693285 0.0020546483 0.0038606459 + 1563600 0.0054620977 0.0018977481 0.0045861243 + 1563700 0.0052515962 0.0024227831 0.0050075531 + 1563800 0.0047919379 0.002541243 0.004899775 + 1563900 0.0058912475 0.0026100128 0.0055096112 + 1564000 0.0047737614 0.0027180264 0.0050676121 + 1564100 0.0065999803 0.0024902449 0.0057386728 + 1564200 0.0059571064 0.0021232645 0.0050552779 + 1564300 0.005136606 0.0022621795 0.0047903528 + 1564400 0.0065143763 0.0025362183 0.0057425129 + 1564500 0.0069443356 0.0026929474 0.0061108626 + 1564600 0.0054567331 0.0027331937 0.0054189295 + 1564700 0.0054136664 0.002739827 0.005404366 + 1564800 0.0042240751 0.0026524062 0.0047314431 + 1564900 0.0036058019 0.0026086845 0.0043834151 + 1565000 0.0036864791 0.0025970483 0.0044114872 + 1565100 0.005494424 0.0024963873 0.0052006741 + 1565200 0.0054126595 0.0021718431 0.0048358864 + 1565300 0.004781933 0.0024118025 0.0047654102 + 1565400 0.0066804083 0.0022593598 0.0055473733 + 1565500 0.0059880936 0.0021094329 0.0050566977 + 1565600 0.0044684108 0.0025228103 0.0047221062 + 1565700 0.0035390844 0.0026850348 0.0044269279 + 1565800 0.0063918527 0.0027537403 0.0058997303 + 1565900 0.0056522988 0.0031262197 0.0059082105 + 1566000 0.0065757245 0.0032969284 0.0065334178 + 1566100 0.006981817 0.0029889834 0.0064253465 + 1566200 0.0057965687 0.0032229029 0.0060759015 + 1566300 0.0068092126 0.0028646491 0.0062160584 + 1566400 0.0067732316 0.0024631472 0.0057968471 + 1566500 0.0052156608 0.002143086 0.004710169 + 1566600 0.0047840926 0.0021424928 0.0044971634 + 1566700 0.0045212165 0.0019185175 0.0041438037 + 1566800 0.0072990845 0.0018253797 0.0054178979 + 1566900 0.0059346915 0.0025360738 0.0054570548 + 1567000 0.0054613987 0.0027317071 0.0054197393 + 1567100 0.0040731545 0.0027095807 0.0047143364 + 1567200 0.0031983198 0.0024424348 0.0040166078 + 1567300 0.0047456571 0.0022037633 0.0045395164 + 1567400 0.0037431426 0.0017526463 0.0035949743 + 1567500 0.0039938471 0.0019774415 0.0039431632 + 1567600 0.0040981705 0.0021447974 0.0041618656 + 1567700 0.0045437715 0.0018898239 0.0041262114 + 1567800 0.0058184507 0.0019729202 0.0048366889 + 1567900 0.0041097947 0.001869168 0.0038919576 + 1568000 0.0039392863 0.0021096197 0.0040484872 + 1568100 0.0054326999 0.0022428513 0.0049167583 + 1568200 0.0057805005 0.0026171567 0.0054622467 + 1568300 0.0052090595 0.0028405759 0.0054044098 + 1568400 0.0054121698 0.0026289274 0.0052927297 + 1568500 0.0055837852 0.0027745399 0.0055228092 + 1568600 0.00434474 0.0029221424 0.0050605691 + 1568700 0.0052078888 0.0026219008 0.0051851586 + 1568800 0.0053163975 0.0026798166 0.005296481 + 1568900 0.0055816052 0.0025323858 0.0052795821 + 1569000 0.0044106278 0.0024064009 0.0045772568 + 1569100 0.0054990646 0.0026664611 0.005373032 + 1569200 0.0049140319 0.0024248775 0.0048435026 + 1569300 0.0049580011 0.0027672307 0.0052074969 + 1569400 0.0042030815 0.0030060136 0.0050747177 + 1569500 0.0059264225 0.002915038 0.0058319491 + 1569600 0.0062159723 0.0027150678 0.0057744916 + 1569700 0.0048658249 0.0024803496 0.0048752478 + 1569800 0.0057700552 0.0023514876 0.0051914366 + 1569900 0.0067077341 0.0026309511 0.005932414 + 1570000 0.0045128728 0.0029261631 0.0051473426 + 1570100 0.0045452082 0.0026638327 0.0049009273 + 1570200 0.0062834287 0.0024806428 0.0055732679 + 1570300 0.0041298428 0.0025427917 0.0045754486 + 1570400 0.0039212999 0.0022865574 0.0042165722 + 1570500 0.0045958171 0.0017474231 0.0040094269 + 1570600 0.0034983579 0.0017308678 0.0034527158 + 1570700 0.0030155423 0.0016265628 0.003110775 + 1570800 0.0045003671 0.0016679825 0.0038830069 + 1570900 0.0035359954 0.001965702 0.0037060747 + 1571000 0.0047528582 0.0020249815 0.0043642789 + 1571100 0.0050535371 0.0016258908 0.0041131786 + 1571200 0.0042375116 0.0017167317 0.0038023819 + 1571300 0.0045081227 0.0021382498 0.0043570915 + 1571400 0.00532203 0.0022294987 0.0048489353 + 1571500 0.004303946 0.0024268502 0.0045451987 + 1571600 0.0056446596 0.0024287463 0.0052069771 + 1571700 0.0060543423 0.0028381494 0.005818021 + 1571800 0.0057587177 0.0028587335 0.0056931024 + 1571900 0.00630568 0.0028820766 0.0059856535 + 1572000 0.0059707219 0.0023682508 0.0053069655 + 1572100 0.0069188116 0.0022075801 0.0056129327 + 1572200 0.0041112017 0.0020822387 0.0041057208 + 1572300 0.0039540173 0.0019885155 0.0039346334 + 1572400 0.0051416873 0.0021287541 0.0046594283 + 1572500 0.004861589 0.0018238928 0.0042167062 + 1572600 0.0050738242 0.0017600456 0.0042573184 + 1572700 0.0036295124 0.0020809909 0.0038673915 + 1572800 0.0048043562 0.0018357934 0.0042004374 + 1572900 0.0062156645 0.001740161 0.0047994334 + 1573000 0.0053099047 0.0022730991 0.0048865678 + 1573100 0.0045835778 0.002566298 0.0048222777 + 1573200 0.0043067909 0.0024991601 0.0046189087 + 1573300 0.0054617574 0.0022597692 0.004947978 + 1573400 0.0054997375 0.0020974263 0.0048043284 + 1573500 0.0050778859 0.0022748968 0.0047741688 + 1573600 0.0046495315 0.0023916947 0.004680136 + 1573700 0.0051112842 0.0022737852 0.0047894954 + 1573800 0.0047751819 0.0022492778 0.0045995627 + 1573900 0.0050240679 0.0021429441 0.0046157275 + 1574000 0.0044027008 0.0023841149 0.0045510692 + 1574100 0.0052813286 0.0025369493 0.0051363532 + 1574200 0.0038235925 0.00269673 0.0045786545 + 1574300 0.0060283539 0.0022076039 0.0051746844 + 1574400 0.0055522479 0.0019697879 0.0047025349 + 1574500 0.004709195 0.0018530358 0.0041708427 + 1574600 0.0041150988 0.002099736 0.0041251362 + 1574700 0.005962078 0.0023489209 0.0052833812 + 1574800 0.0044737432 0.0026265761 0.0048284965 + 1574900 0.0058098084 0.0025951479 0.005454663 + 1575000 0.005086831 0.0023470515 0.0048507261 + 1575100 0.0050521718 0.0019136882 0.004400304 + 1575200 0.0064068723 0.0017463165 0.004899699 + 1575300 0.0074661913 0.0017365152 0.0054112812 + 1575400 0.0057314401 0.0019425154 0.0047634586 + 1575500 0.0034561004 0.0022305427 0.0039315921 + 1575600 0.0036242758 0.0022668681 0.0040506914 + 1575700 0.0052200966 0.0022867425 0.0048560088 + 1575800 0.0038415031 0.0024084226 0.0042991624 + 1575900 0.0046379747 0.0020795594 0.0043623126 + 1576000 0.0052536871 0.0023309655 0.0049167646 + 1576100 0.0062096642 0.0025646648 0.0056209839 + 1576200 0.0040209614 0.0034101284 0.0053891954 + 1576300 0.004485672 0.003158786 0.0053665777 + 1576400 0.0055058801 0.0025880959 0.0052980212 + 1576500 0.0038356988 0.0026330796 0.0045209626 + 1576600 0.00446593 0.0026105917 0.0048086666 + 1576700 0.0042969077 0.0020267962 0.0041416805 + 1576800 0.0053137641 0.0017290917 0.00434446 + 1576900 0.0072723812 0.001654251 0.0052336261 + 1577000 0.0064484089 0.0020587501 0.0052325763 + 1577100 0.0059213921 0.0021254348 0.00503987 + 1577200 0.0067100271 0.0022116545 0.005514246 + 1577300 0.0051746851 0.0025621729 0.0051090882 + 1577400 0.0034283029 0.002481416 0.0041687838 + 1577500 0.0056802385 0.0023391018 0.0051348442 + 1577600 0.0047647146 0.0023913012 0.0047364342 + 1577700 0.0048464673 0.0021017696 0.0044871402 + 1577800 0.0047436159 0.0022311365 0.004565885 + 1577900 0.0052610035 0.0025091337 0.0050985339 + 1578000 0.0069154759 0.0028711885 0.0062748993 + 1578100 0.0058300435 0.0032821841 0.0061516586 + 1578200 0.0061577328 0.0026032668 0.0056340259 + 1578300 0.004500639 0.0023725588 0.0045877171 + 1578400 0.0058833786 0.0023634342 0.0052591597 + 1578500 0.0043669747 0.0023305084 0.0044798788 + 1578600 0.0051319934 0.0020414369 0.0045673399 + 1578700 0.0044789875 0.0020716588 0.0042761604 + 1578800 0.0042863337 0.0023776294 0.0044873092 + 1578900 0.0055069541 0.0022787101 0.0049891641 + 1579000 0.0037802237 0.0020431861 0.003903765 + 1579100 0.0047394563 0.0023391254 0.0046718265 + 1579200 0.0049292087 0.0026474081 0.005073503 + 1579300 0.006083082 0.0023799971 0.005374014 + 1579400 0.0032993836 0.0025564925 0.0041804079 + 1579500 0.0064683929 0.0018775994 0.0050612615 + 1579600 0.0040112308 0.0021520968 0.0041263745 + 1579700 0.0046889601 0.0027848336 0.0050926811 + 1579800 0.0043447138 0.0027557918 0.0048942056 + 1579900 0.0044928614 0.0029750638 0.0051863939 + 1580000 0.0038981229 0.0023674262 0.0042860336 + 1580100 0.0059470065 0.0018431199 0.0047701621 + 1580200 0.0039590356 0.002059016 0.0040076039 + 1580300 0.0054562234 0.0022127748 0.0048982597 + 1580400 0.0061112293 0.0025707318 0.0055786024 + 1580500 0.004008796 0.0033446527 0.0053177319 + 1580600 0.0078078854 0.0028807078 0.0067236514 + 1580700 0.0050900849 0.0031580415 0.0056633177 + 1580800 0.0056192541 0.0024851053 0.0052508319 + 1580900 0.0061770508 0.0026643365 0.0057046037 + 1581000 0.0041861657 0.0028545405 0.004914919 + 1581100 0.0043756765 0.0025549116 0.0047085649 + 1581200 0.0048187427 0.002423392 0.0047951169 + 1581300 0.0046161517 0.0024415751 0.0047135872 + 1581400 0.0060530554 0.0021826275 0.0051618657 + 1581500 0.0038255 0.0027125782 0.0045954415 + 1581600 0.004768916 0.0026477711 0.004994972 + 1581700 0.005294809 0.0021363182 0.004742357 + 1581800 0.0033624134 0.0023547415 0.0040096794 + 1581900 0.0041861643 0.0027583688 0.0048187465 + 1582000 0.0052737829 0.0027099827 0.0053056727 + 1582100 0.0056531599 0.002820329 0.0056027437 + 1582200 0.0048934865 0.002916229 0.0053247418 + 1582300 0.0033678776 0.0029205806 0.0045782079 + 1582400 0.0038996401 0.0026142987 0.0045336528 + 1582500 0.0056473428 0.0023236075 0.005103159 + 1582600 0.0047788168 0.0027813053 0.0051333792 + 1582700 0.005580158 0.0029696602 0.0057161442 + 1582800 0.004260127 0.0029857465 0.0050825277 + 1582900 0.0044169995 0.0026877424 0.0048617344 + 1583000 0.0053527381 0.0020632727 0.0046978235 + 1583100 0.0051047879 0.0019511516 0.0044636643 + 1583200 0.0059609011 0.0022511711 0.0051850522 + 1583300 0.005632859 0.0029107612 0.005683184 + 1583400 0.0078079938 0.0033799998 0.0072229967 + 1583500 0.0057517015 0.0033998798 0.0062307954 + 1583600 0.0044452639 0.0029584633 0.0051463666 + 1583700 0.0059836548 0.0024822532 0.0054273333 + 1583800 0.0057938833 0.0023676505 0.0052193274 + 1583900 0.0063228113 0.0023074655 0.0054194741 + 1584000 0.0068020535 0.0023508953 0.005698781 + 1584100 0.0060404374 0.0024594911 0.0054325189 + 1584200 0.0043835993 0.0025713587 0.0047289115 + 1584300 0.0045482034 0.0027754768 0.0050140457 + 1584400 0.0053580087 0.0026711437 0.0053082886 + 1584500 0.0060460706 0.0021812537 0.005157054 + 1584600 0.0050082232 0.0022469563 0.0047119412 + 1584700 0.0037752998 0.0026236127 0.0044817681 + 1584800 0.0050544222 0.0027387524 0.0052264759 + 1584900 0.005531435 0.0022273997 0.0049499029 + 1585000 0.005414719 0.0021958311 0.0048608881 + 1585100 0.0055551845 0.002049358 0.0047835504 + 1585200 0.0051143281 0.0022188799 0.0047360882 + 1585300 0.0042915859 0.002863436 0.0049757009 + 1585400 0.0054834266 0.0029366314 0.0056355055 + 1585500 0.0051652709 0.0025134822 0.0050557639 + 1585600 0.0061999056 0.0021440065 0.0051955225 + 1585700 0.004740889 0.0021832009 0.0045166073 + 1585800 0.0044443722 0.0018375262 0.0040249906 + 1585900 0.0045403573 0.0019863165 0.0042210236 + 1586000 0.0063990558 0.0025320832 0.0056816185 + 1586100 0.0049777246 0.0025146104 0.0049645843 + 1586200 0.0060957508 0.0023587473 0.0053589997 + 1586300 0.0050651981 0.0020418691 0.0045348963 + 1586400 0.0046640524 0.0022793706 0.0045749589 + 1586500 0.0037270333 0.0029212508 0.00475565 + 1586600 0.0054163193 0.0025312496 0.0051970943 + 1586700 0.0057736291 0.0020467441 0.0048884521 + 1586800 0.0053984903 0.0021577031 0.0048147725 + 1586900 0.0052999602 0.0023506257 0.0049591998 + 1587000 0.0045177308 0.0026478487 0.0048714194 + 1587100 0.0055098064 0.0024560255 0.0051678834 + 1587200 0.0059450728 0.0025748165 0.005500907 + 1587300 0.0062692826 0.0024081259 0.0054937884 + 1587400 0.0057215449 0.0023381184 0.0051541913 + 1587500 0.0045244602 0.0024286617 0.0046555444 + 1587600 0.004614684 0.0028648672 0.005136157 + 1587700 0.0047317468 0.0030058588 0.0053347655 + 1587800 0.0050902961 0.0032189114 0.0057242915 + 1587900 0.0046677896 0.002796949 0.0050943767 + 1588000 0.0055997197 0.0021470682 0.0049031803 + 1588100 0.0029728881 0.0020844838 0.0035477021 + 1588200 0.0061229924 0.0018153351 0.0048289954 + 1588300 0.0038706103 0.0020960023 0.0040010683 + 1588400 0.0049406904 0.0024511254 0.0048828714 + 1588500 0.0048496843 0.0024968872 0.0048838412 + 1588600 0.0057054579 0.0024684781 0.0052766332 + 1588700 0.0042214981 0.0027719042 0.0048496728 + 1588800 0.005123951 0.002703673 0.0052256177 + 1588900 0.0059780483 0.0020877754 0.005030096 + 1589000 0.0066660489 0.0016248491 0.0049057951 + 1589100 0.0051294853 0.0016203838 0.0041450524 + 1589200 0.0045096251 0.0014005214 0.0036201025 + 1589300 0.0040894996 0.00202873 0.0040415305 + 1589400 0.0038344016 0.0023230755 0.0042103201 + 1589500 0.0048318851 0.0018285982 0.0042067917 + 1589600 0.0051506917 0.0015913847 0.0041264908 + 1589700 0.0049701391 0.0018760557 0.004322296 + 1589800 0.0039547183 0.0022484616 0.0041949245 + 1589900 0.0056852281 0.002283386 0.0050815842 + 1590000 0.0051998828 0.0018854349 0.0044447523 + 1590100 0.0060623385 0.0019418049 0.0049256121 + 1590200 0.003868923 0.0022810722 0.0041853077 + 1590300 0.0049183043 0.0021847809 0.0046055088 + 1590400 0.0039340916 0.0018518217 0.0037881324 + 1590500 0.0045992525 0.0024846366 0.0047483312 + 1590600 0.0051232237 0.0023016133 0.0048232 + 1590700 0.0070639969 0.0020372794 0.0055140903 + 1590800 0.0047930505 0.0022512297 0.0046103092 + 1590900 0.0048351173 0.0022913015 0.0046710858 + 1591000 0.005387549 0.0020360191 0.0046877034 + 1591100 0.0048866699 0.0020036224 0.0044087803 + 1591200 0.0044040804 0.0020369531 0.0042045864 + 1591300 0.0042673797 0.0021094425 0.0042097934 + 1591400 0.0046573856 0.0022097231 0.0045020301 + 1591500 0.0052587901 0.0021081032 0.0046964139 + 1591600 0.0068333409 0.0021090135 0.0054722985 + 1591700 0.0039857674 0.0023832782 0.004345023 + 1591800 0.005943727 0.0020003979 0.004925826 + 1591900 0.0045109873 0.001762029 0.0039822805 + 1592000 0.003847805 0.0018656185 0.00375946 + 1592100 0.0039869948 0.0019797538 0.0039421029 + 1592200 0.0046858996 0.0015732545 0.0038795957 + 1592300 0.0046031794 0.0018397809 0.0041054082 + 1592400 0.0050222524 0.0022423299 0.0047142197 + 1592500 0.0056994129 0.0022762512 0.005081431 + 1592600 0.0057510145 0.0021445698 0.0049751473 + 1592700 0.0056510461 0.0024309453 0.0052123196 + 1592800 0.0056108065 0.0029059839 0.0056675528 + 1592900 0.0045191768 0.002871792 0.0050960744 + 1593000 0.0048601185 0.0034191867 0.0058112763 + 1593100 0.004044698 0.0037588133 0.0057495631 + 1593200 0.0057609698 0.0032985485 0.0061340258 + 1593300 0.0036672946 0.0024945843 0.0042995808 + 1593400 0.0044305396 0.002635392 0.0048160482 + 1593500 0.0047682327 0.0033763713 0.0057232358 + 1593600 0.0042104939 0.0035392669 0.0056116194 + 1593700 0.0063181991 0.0027718358 0.0058815744 + 1593800 0.0039723703 0.0025656338 0.0045207848 + 1593900 0.0048187501 0.0026656127 0.0050373413 + 1594000 0.0037720937 0.0024715488 0.0043281262 + 1594100 0.0056503489 0.0021028368 0.0048838679 + 1594200 0.0049272339 0.0022671352 0.0046922581 + 1594300 0.0036599542 0.002442526 0.0042439097 + 1594400 0.0032172419 0.0025327263 0.0041162126 + 1594500 0.0032638334 0.0024706847 0.0040771027 + 1594600 0.0051150782 0.0023696234 0.004887201 + 1594700 0.004460397 0.0023258662 0.0045212179 + 1594800 0.005553625 0.0022419514 0.0049753763 + 1594900 0.0049157841 0.0023760932 0.0047955807 + 1595000 0.0066945213 0.0023937858 0.0056887455 + 1595100 0.0046926005 0.002643377 0.0049530163 + 1595200 0.0049607591 0.0033389567 0.0057805803 + 1595300 0.0047414578 0.0029572314 0.0052909177 + 1595400 0.0044143339 0.0025750951 0.0047477751 + 1595500 0.005684 0.0024672368 0.0052648306 + 1595600 0.0055089991 0.0024045082 0.0051159687 + 1595700 0.0057127748 0.0023731212 0.0051848776 + 1595800 0.0048099459 0.0025252662 0.0048926615 + 1595900 0.0054932298 0.0027551668 0.0054588658 + 1596000 0.0057443204 0.0029454581 0.0057727409 + 1596100 0.0046833722 0.0029040067 0.0052091039 + 1596200 0.0053968946 0.0022022657 0.0048585498 + 1596300 0.0074072047 0.002274552 0.0059202856 + 1596400 0.0034340865 0.0024234604 0.0041136749 + 1596500 0.0054246867 0.0027867003 0.0054566632 + 1596600 0.0052911545 0.0027413863 0.0053456264 + 1596700 0.0061012982 0.0022582804 0.0052612631 + 1596800 0.0059909666 0.0023891421 0.005337821 + 1596900 0.0053260791 0.002393014 0.0050144435 + 1597000 0.006362096 0.0021674766 0.0052988207 + 1597100 0.0056100722 0.0017665011 0.0045277085 + 1597200 0.0045314942 0.0017922838 0.0040226286 + 1597300 0.0053370708 0.0014276233 0.0040544628 + 1597400 0.0058137977 0.0016598443 0.0045213229 + 1597500 0.0056070288 0.0019669245 0.004726634 + 1597600 0.0059303366 0.0025141878 0.0054330253 + 1597700 0.0046634153 0.0028752842 0.0051705589 + 1597800 0.0039606535 0.0030892225 0.0050386066 + 1597900 0.0054573503 0.0027374835 0.0054235231 + 1598000 0.0062942043 0.0024912787 0.0055892074 + 1598100 0.0048514147 0.0024005768 0.0047883825 + 1598200 0.0054820207 0.0021636528 0.0048618349 + 1598300 0.0043276447 0.0026882539 0.0048182665 + 1598400 0.0055081752 0.0028214825 0.0055325375 + 1598500 0.004766736 0.0025159258 0.0048620536 + 1598600 0.0057244431 0.0019790813 0.0047965806 + 1598700 0.0046072965 0.0020468852 0.004314539 + 1598800 0.0048329994 0.0019988004 0.0043775423 + 1598900 0.0051794788 0.0017776498 0.0043269245 + 1599000 0.0041128647 0.0017650867 0.0037893873 + 1599100 0.0042762079 0.0020188283 0.0041235243 + 1599200 0.004899098 0.0020039727 0.0044152475 + 1599300 0.0059758384 0.0017117198 0.0046529528 + 1599400 0.0068845634 0.0016397563 0.0050282524 + 1599500 0.0050492116 0.0017304548 0.0042156136 + 1599600 0.0051630615 0.0016726189 0.0042138132 + 1599700 0.0039281325 0.0018541543 0.003787532 + 1599800 0.0054582513 0.0018171214 0.0045036045 + 1599900 0.0033832198 0.0021101955 0.003775374 + 1600000 0.0062417012 0.0013923529 0.0044644402 + 1600100 0.0048627417 0.0013082215 0.0037016021 + 1600200 0.0055908149 0.0015322894 0.0042840186 + 1600300 0.0050671436 0.0019520747 0.0044460594 + 1600400 0.0058244626 0.0018650426 0.0047317702 + 1600500 0.0058281059 0.0023119163 0.0051804372 + 1600600 0.0047719173 0.0026175886 0.0049662666 + 1600700 0.0049520142 0.0025068568 0.0049441763 + 1600800 0.0046773217 0.0020908318 0.0043929511 + 1600900 0.0043238617 0.0015765475 0.0037046982 + 1601000 0.0036568134 0.0018904952 0.0036903331 + 1601100 0.0048765437 0.0017723139 0.0041724878 + 1601200 0.0033822408 0.0018172682 0.0034819648 + 1601300 0.0036262481 0.0020870152 0.0038718092 + 1601400 0.0042238119 0.0021504689 0.0042293763 + 1601500 0.0055385514 0.0021258754 0.0048518811 + 1601600 0.0061371788 0.0020246025 0.0050452452 + 1601700 0.0052523136 0.0020925117 0.0046776348 + 1601800 0.0055630099 0.0019987693 0.0047368133 + 1601900 0.0049730902 0.0020049214 0.0044526143 + 1602000 0.0046113383 0.0019438343 0.0042134774 + 1602100 0.0047420714 0.001923807 0.0042577953 + 1602200 0.0038230507 0.0020160991 0.0038977569 + 1602300 0.00437707 0.0018843631 0.0040387023 + 1602400 0.0045052422 0.0019511336 0.0041685574 + 1602500 0.0053884017 0.0017115182 0.0043636221 + 1602600 0.0037509387 0.0022823745 0.0041285396 + 1602700 0.0055995111 0.0020694887 0.0048254981 + 1602800 0.004823842 0.0019655073 0.0043397421 + 1602900 0.0041434252 0.0023110241 0.0043503662 + 1603000 0.0048559139 0.0021056024 0.0044956225 + 1603100 0.0049463054 0.0020352552 0.0044697649 + 1603200 0.0044064655 0.00218468 0.0043534873 + 1603300 0.0045074541 0.0018033758 0.0040218884 + 1603400 0.0049347654 0.0015302665 0.0039590963 + 1603500 0.0051533792 0.0019732466 0.0045096754 + 1603600 0.0054311574 0.0022681286 0.0049412764 + 1603700 0.0049219842 0.0022331909 0.00465573 + 1603800 0.0058452351 0.0030138046 0.0058907562 + 1603900 0.0068752011 0.0028200216 0.0062039096 + 1604000 0.0064127804 0.0027574132 0.0059137036 + 1604100 0.0043078241 0.0031415138 0.005261771 + 1604200 0.0042943244 0.0031826749 0.0052962877 + 1604300 0.0050298025 0.0027722156 0.0052478215 + 1604400 0.0052840561 0.0028988645 0.0054996109 + 1604500 0.0045508309 0.0031473764 0.0053872384 + 1604600 0.0057334368 0.0027373207 0.0055592466 + 1604700 0.0061951887 0.0025161468 0.0055653412 + 1604800 0.0046403003 0.0023653119 0.0046492097 + 1604900 0.0050976943 0.0024508226 0.004959844 + 1605000 0.0061944044 0.0024429124 0.0054917209 + 1605100 0.0062841686 0.0024059264 0.0054989157 + 1605200 0.0060133235 0.0024267276 0.0053864103 + 1605300 0.0047949662 0.0027478424 0.0051078648 + 1605400 0.0047802573 0.0026403848 0.0049931677 + 1605500 0.0028425594 0.0026554499 0.0040545221 + 1605600 0.0039895005 0.002735714 0.0046992962 + 1605700 0.0052234553 0.0023521519 0.0049230713 + 1605800 0.0057497236 0.0018836724 0.0047136145 + 1605900 0.0041950306 0.001676679 0.0037414207 + 1606000 0.0043439962 0.0019550443 0.0040931049 + 1606100 0.0052021138 0.0018604842 0.0044208995 + 1606200 0.004689269 0.0018244751 0.0041324747 + 1606300 0.0053043168 0.0022187601 0.0048294786 + 1606400 0.006624673 0.0025386649 0.0057992461 + 1606500 0.0058809231 0.0023887748 0.0052832916 + 1606600 0.0048449499 0.002530915 0.0049155388 + 1606700 0.0069138829 0.0021938393 0.005596766 + 1606800 0.0062195282 0.0022604868 0.0053216608 + 1606900 0.0057374915 0.0023451126 0.0051690342 + 1607000 0.0045220896 0.0024492506 0.0046749666 + 1607100 0.0038733673 0.0024619517 0.0043683747 + 1607200 0.0037602154 0.0024409365 0.0042916675 + 1607300 0.0038806776 0.0020744345 0.0039844555 + 1607400 0.0064727792 0.0017044802 0.0048903012 + 1607500 0.0055947715 0.0022110101 0.0049646867 + 1607600 0.0039380988 0.0022257014 0.0041639844 + 1607700 0.0050002289 0.0021817796 0.0046428298 + 1607800 0.0048942126 0.0021331741 0.0045420443 + 1607900 0.0044956941 0.0020414561 0.0042541806 + 1608000 0.0050359187 0.001570733 0.0040493492 + 1608100 0.0054603335 0.0020612053 0.0047487132 + 1608200 0.0045431561 0.0025694135 0.0048054981 + 1608300 0.0052020982 0.0024523403 0.005012748 + 1608400 0.0046600451 0.0021981084 0.0044917244 + 1608500 0.0062883493 0.0022077686 0.0053028155 + 1608600 0.00560215 0.001934949 0.0046922572 + 1608700 0.0049927186 0.002343552 0.0048009057 + 1608800 0.0044359003 0.0026211981 0.0048044928 + 1608900 0.0051109019 0.0023360225 0.0048515445 + 1609000 0.0037003269 0.0023066653 0.00412792 + 1609100 0.0055028387 0.0023991489 0.0051075774 + 1609200 0.0058500218 0.0023295603 0.0052088679 + 1609300 0.0036448173 0.0025335732 0.0043275067 + 1609400 0.0041871282 0.0025569625 0.0046178147 + 1609500 0.0052481835 0.0026362432 0.0052193335 + 1609600 0.0058279248 0.0026218099 0.0054902416 + 1609700 0.005359198 0.003011369 0.0056490993 + 1609800 0.0039403409 0.0029020373 0.0048414239 + 1609900 0.0040450317 0.0031724137 0.0051633277 + 1610000 0.0034630985 0.0028951428 0.0045996366 + 1610100 0.0055221371 0.0023859309 0.0051038577 + 1610200 0.0059082978 0.0021770738 0.0050850641 + 1610300 0.0047004042 0.0021062606 0.0044197408 + 1610400 0.0047938777 0.0019418836 0.0043013703 + 1610500 0.005809088 0.0019441419 0.0048033024 + 1610600 0.0040520897 0.0020521882 0.0040465761 + 1610700 0.0049140473 0.002107624 0.0045262567 + 1610800 0.0048725217 0.0021236228 0.0045218171 + 1610900 0.0033146884 0.0023207441 0.0039521923 + 1611000 0.0061509722 0.0022233798 0.0052508114 + 1611100 0.0037420634 0.0021442203 0.0039860171 + 1611200 0.0039127069 0.0024458566 0.004371642 + 1611300 0.0047264716 0.0023163722 0.0046426824 + 1611400 0.0048027089 0.0020670211 0.0044308544 + 1611500 0.0033651597 0.0020365919 0.0036928815 + 1611600 0.0053632368 0.0017436191 0.0043833372 + 1611700 0.0056131575 0.0018150684 0.0045777943 + 1611800 0.0048992709 0.0020971884 0.0045085483 + 1611900 0.0051678383 0.0023554158 0.0048989612 + 1612000 0.0047379925 0.0023491825 0.0046811632 + 1612100 0.0058268073 0.0024304728 0.0052983545 + 1612200 0.0043454232 0.0028537633 0.0049925263 + 1612300 0.0059663235 0.002934887 0.0058714369 + 1612400 0.0043120663 0.0025391269 0.004661472 + 1612500 0.004765705 0.0021459803 0.0044916007 + 1612600 0.0045571372 0.0019249851 0.0041679511 + 1612700 0.0060987326 0.0018412876 0.0048430075 + 1612800 0.0064118172 0.0022380768 0.0053938931 + 1612900 0.0042355355 0.0024148408 0.0044995184 + 1613000 0.0062722093 0.0023563558 0.0054434588 + 1613100 0.0052160235 0.0027209971 0.0052882587 + 1613200 0.0051075019 0.0032345841 0.0057484327 + 1613300 0.0045683403 0.0029976144 0.0052460943 + 1613400 0.0058648429 0.0025762718 0.0054628741 + 1613500 0.0048655111 0.0023083024 0.0047030461 + 1613600 0.0049317865 0.0024894534 0.0049168171 + 1613700 0.0048403397 0.0025763982 0.0049587529 + 1613800 0.0061007515 0.0027874156 0.0057901292 + 1613900 0.0058325302 0.0033265485 0.0061972469 + 1614000 0.0050539293 0.0030976337 0.0055851145 + 1614100 0.0058556375 0.002300423 0.0051824946 + 1614200 0.0046945498 0.0018826311 0.0041932298 + 1614300 0.0038713784 0.0017897011 0.0036951451 + 1614400 0.0045209382 0.0018607571 0.0040859063 + 1614500 0.0038255073 0.0019993862 0.0038822531 + 1614600 0.0042894765 0.0016293924 0.0037406191 + 1614700 0.0047817727 0.0018562791 0.0042098079 + 1614800 0.0033035262 0.0025450823 0.0041710366 + 1614900 0.0039404218 0.0027900934 0.0047295198 + 1615000 0.0044050276 0.0026389467 0.0048070462 + 1615100 0.0063293025 0.0023630463 0.0054782499 + 1615200 0.003694652 0.0023480022 0.0041664637 + 1615300 0.0048623704 0.0022759538 0.0046691517 + 1615400 0.0043948034 0.0021151735 0.0042782408 + 1615500 0.0048812667 0.0023620574 0.0047645558 + 1615600 0.0043115162 0.0020800812 0.0042021556 + 1615700 0.0055756026 0.00212706 0.0048713019 + 1615800 0.0037551033 0.0026178984 0.0044661133 + 1615900 0.0051879944 0.0023129532 0.0048664192 + 1616000 0.0039667158 0.0022289685 0.0041813364 + 1616100 0.0047412126 0.002358245 0.0046918106 + 1616200 0.0054634386 0.0024069412 0.0050959774 + 1616300 0.0058828226 0.0025258067 0.0054212585 + 1616400 0.0048123818 0.0025706712 0.0049392653 + 1616500 0.0053160007 0.0025157769 0.005132246 + 1616600 0.0043018563 0.0023713465 0.0044886664 + 1616700 0.0044010672 0.0027206867 0.0048868369 + 1616800 0.0065537342 0.0027337993 0.0059594654 + 1616900 0.0046190498 0.0029192697 0.0051927082 + 1617000 0.007107495 0.0027065685 0.0062047887 + 1617100 0.0070845271 0.0028022556 0.0062891713 + 1617200 0.0058363192 0.0025249334 0.0053974968 + 1617300 0.0061620012 0.0025373254 0.0055701853 + 1617400 0.0044048937 0.0027396066 0.0049076402 + 1617500 0.0072360916 0.0023789191 0.005940433 + 1617600 0.0044748875 0.0029939162 0.0051963999 + 1617700 0.0050451639 0.0032044172 0.0056875838 + 1617800 0.0063442722 0.0033165708 0.0064391423 + 1617900 0.0070140665 0.0029781028 0.0064303387 + 1618000 0.0043747726 0.0029038576 0.005057066 + 1618100 0.0042323716 0.002856773 0.0049398934 + 1618200 0.0036324632 0.0023082003 0.0040960533 + 1618300 0.0047408773 0.0019917086 0.0043251092 + 1618400 0.0061487575 0.0017755491 0.0048018907 + 1618500 0.0050187713 0.0022890006 0.0047591771 + 1618600 0.0052807286 0.0019864301 0.0045855388 + 1618700 0.004279772 0.001974363 0.0040808133 + 1618800 0.0051837037 0.0019211909 0.0044725451 + 1618900 0.0059280059 0.0019886699 0.0049063603 + 1619000 0.0038429435 0.0023959836 0.0042874323 + 1619100 0.0044238092 0.0023634299 0.0045407735 + 1619200 0.0056933669 0.0023808163 0.0051830204 + 1619300 0.005241245 0.0024233158 0.0050029911 + 1619400 0.0057608979 0.0026359765 0.0054714184 + 1619500 0.0035967789 0.0026135085 0.0043837981 + 1619600 0.0045163166 0.0024891857 0.0047120602 + 1619700 0.0042210951 0.0021900327 0.0042676029 + 1619800 0.0059384878 0.0019793429 0.0049021923 + 1619900 0.0046739013 0.0018120153 0.0041124511 + 1620000 0.0048305192 0.0021930553 0.0045705765 + 1620100 0.0037915222 0.0026082599 0.0044743997 + 1620200 0.0047657085 0.0024701357 0.0048157579 + 1620300 0.0034491353 0.0023370466 0.0040346679 + 1620400 0.0054187477 0.0022127462 0.0048797861 + 1620500 0.0047029893 0.0022172441 0.0045319967 + 1620600 0.0052885482 0.0018471577 0.004450115 + 1620700 0.0042048426 0.0017492406 0.0038188116 + 1620800 0.0063578403 0.0020983175 0.005227567 + 1620900 0.0040260063 0.0022838291 0.004265379 + 1621000 0.006296861 0.0022040858 0.0053033221 + 1621100 0.0050293237 0.0023629554 0.0048383257 + 1621200 0.0059327395 0.0025550772 0.0054750974 + 1621300 0.0057134299 0.002915039 0.0057271178 + 1621400 0.0049652841 0.0027744422 0.005218293 + 1621500 0.0047130058 0.0025247834 0.004844466 + 1621600 0.0062426663 0.002384962 0.0054575243 + 1621700 0.0069846659 0.0022055093 0.0056432745 + 1621800 0.006801838 0.0024151239 0.0057629035 + 1621900 0.0053340311 0.0026165783 0.0052419217 + 1622000 0.0055665013 0.0028586865 0.0055984489 + 1622100 0.004075602 0.0025197303 0.0045256906 + 1622200 0.0053868477 0.0023349276 0.0049862667 + 1622300 0.0039049805 0.0024541917 0.0043761742 + 1622400 0.0028516325 0.0025246191 0.003928157 + 1622500 0.0051588434 0.0028677676 0.0054068858 + 1622600 0.0059020256 0.002389707 0.0052946102 + 1622700 0.0039429321 0.0023733734 0.0043140352 + 1622800 0.005569766 0.0020999108 0.00484128 + 1622900 0.0043596647 0.0023395255 0.004485298 + 1623000 0.0042928415 0.0021797105 0.0042925934 + 1623100 0.005230137 0.0023630158 0.0049372239 + 1623200 0.0057367011 0.0023787636 0.0052022962 + 1623300 0.0051154883 0.0027135576 0.0052313369 + 1623400 0.0056181254 0.0027703772 0.0055355483 + 1623500 0.0038613136 0.0029510234 0.0048515137 + 1623600 0.0066176627 0.0024462914 0.0057034223 + 1623700 0.0053111016 0.0021424792 0.004756537 + 1623800 0.0045645198 0.0027987141 0.0050453137 + 1623900 0.0040175872 0.002865963 0.0048433692 + 1624000 0.0064337142 0.0024614396 0.0056280333 + 1624100 0.0039398224 0.0023375995 0.0042767308 + 1624200 0.0055350106 0.0017328913 0.0044571543 + 1624300 0.0039389635 0.0017065842 0.0036452928 + 1624400 0.0042134325 0.0018206292 0.003894428 + 1624500 0.004158992 0.0020283002 0.0040753041 + 1624600 0.0037347197 0.0019461039 0.0037842863 + 1624700 0.0043828832 0.002030114 0.0041873143 + 1624800 0.0034272267 0.001917442 0.0036042802 + 1624900 0.0052446461 0.0017776864 0.0043590357 + 1625000 0.0052399882 0.0021213259 0.0047003826 + 1625100 0.0039769272 0.0031570596 0.0051144534 + 1625200 0.0055971987 0.0028881419 0.0056430131 + 1625300 0.0064662601 0.0024487463 0.0056313586 + 1625400 0.0042371901 0.0027322065 0.0048176985 + 1625500 0.0057382889 0.0023244585 0.0051487725 + 1625600 0.0058439175 0.0023655913 0.0052418945 + 1625700 0.0045110389 0.0027661537 0.0049864307 + 1625800 0.0047675595 0.0027100059 0.0050565391 + 1625900 0.0056736117 0.0022416814 0.0050341622 + 1626000 0.0052170567 0.0023681709 0.004935941 + 1626100 0.0048600967 0.003125752 0.0055178309 + 1626200 0.0061368546 0.0026636711 0.0056841543 + 1626300 0.0046130323 0.0024246911 0.004695168 + 1626400 0.0044157217 0.0025052543 0.0046786174 + 1626500 0.0035232004 0.0025192789 0.0042533541 + 1626600 0.0046097772 0.0027655226 0.0050343973 + 1626700 0.0041030133 0.0029542826 0.0049737344 + 1626800 0.0060029347 0.0032292684 0.0061838378 + 1626900 0.005708709 0.0036176152 0.0064273704 + 1627000 0.0044411894 0.0037184791 0.005904377 + 1627100 0.0049606452 0.0035488479 0.0059904155 + 1627200 0.0039437598 0.0030058363 0.0049469056 + 1627300 0.0060926075 0.0030642657 0.006062971 + 1627400 0.0038445286 0.0032458364 0.0051380653 + 1627500 0.0050822809 0.0028623159 0.005363751 + 1627600 0.0066886697 0.0024610278 0.0057531074 + 1627700 0.0044864275 0.0025545682 0.0047627317 + 1627800 0.0050600987 0.0024227345 0.0049132518 + 1627900 0.0035299795 0.0023942874 0.0041316992 + 1628000 0.0045541549 0.00209971 0.0043412082 + 1628100 0.0045289595 0.0020975148 0.0043266121 + 1628200 0.0043128892 0.0018049766 0.0039277268 + 1628300 0.0045890811 0.0015147608 0.0037734492 + 1628400 0.0041377791 0.0018365181 0.0038730813 + 1628500 0.0047691948 0.0020705875 0.0044179255 + 1628600 0.0052708009 0.0022168049 0.0048110272 + 1628700 0.0048264895 0.0025133216 0.0048888594 + 1628800 0.0063152762 0.0032075038 0.0063158038 + 1628900 0.0053867101 0.0028385056 0.005489777 + 1629000 0.0051321926 0.0028510327 0.0053770337 + 1629100 0.0042178549 0.0029193038 0.0049952793 + 1629200 0.0049819942 0.0025912323 0.0050433075 + 1629300 0.0039999826 0.0025444534 0.0045131948 + 1629400 0.0049446075 0.0026086364 0.0050423104 + 1629500 0.006051214 0.0025917124 0.0055700443 + 1629600 0.0048588885 0.0028130911 0.0052045753 + 1629700 0.0056807897 0.0028065512 0.0056025649 + 1629800 0.0047911001 0.002568613 0.0049267326 + 1629900 0.0044239783 0.0024910462 0.004668473 + 1630000 0.0037808661 0.0033325149 0.0051934099 + 1630100 0.0032853348 0.003374816 0.0049918167 + 1630200 0.0059141909 0.0028019869 0.0057128777 + 1630300 0.0045227154 0.0028697213 0.0050957453 + 1630400 0.0044355264 0.0024492956 0.0046324063 + 1630500 0.00325894 0.0026420192 0.0042460288 + 1630600 0.0044140489 0.0031377632 0.0053103029 + 1630700 0.0066884225 0.0030078724 0.0062998304 + 1630800 0.0051597562 0.0026498517 0.0051894192 + 1630900 0.0051018765 0.0025594328 0.0050705126 + 1631000 0.0047809952 0.0025302276 0.0048833736 + 1631100 0.00480111 0.0028473498 0.0052103961 + 1631200 0.0063601042 0.0029541142 0.006084478 + 1631300 0.0055207927 0.002856209 0.0055734742 + 1631400 0.0044943716 0.0028268309 0.0050389045 + 1631500 0.0037720129 0.0026087637 0.0044653013 + 1631600 0.0057891241 0.002311845 0.0051611795 + 1631700 0.0062145141 0.0024269291 0.0054856352 + 1631800 0.0059696669 0.003286567 0.0062247624 + 1631900 0.0041550071 0.0036497191 0.0056947617 + 1632000 0.0053409874 0.0030586781 0.0056874453 + 1632100 0.0053968692 0.0026613596 0.0053176312 + 1632200 0.0056140394 0.0027607647 0.0055239247 + 1632300 0.0046505828 0.0029713942 0.0052603529 + 1632400 0.0050996608 0.0031252721 0.0056352614 + 1632500 0.0038431038 0.0033140849 0.0052056126 + 1632600 0.0046741826 0.0031580406 0.0054586148 + 1632700 0.0062951364 0.0031000289 0.0061984164 + 1632800 0.0054313793 0.0029952899 0.0056685469 + 1632900 0.0039411699 0.0026489173 0.0045887118 + 1633000 0.0061934324 0.0026433993 0.0056917293 + 1633100 0.0058395563 0.0030116682 0.0058858248 + 1633200 0.0062585221 0.0027956507 0.005876017 + 1633300 0.004635655 0.0029844 0.0052660114 + 1633400 0.0041597079 0.002790872 0.0048382283 + 1633500 0.0037979135 0.0028435944 0.0047128799 + 1633600 0.003143391 0.0030125162 0.004559654 + 1633700 0.0040094235 0.0028865552 0.0048599433 + 1633800 0.0034057266 0.0026572074 0.0043334635 + 1633900 0.0038446973 0.0022911504 0.0041834623 + 1634000 0.0050498917 0.0022158791 0.0047013727 + 1634100 0.0046202245 0.0022191783 0.0044931951 + 1634200 0.0047340546 0.0023955558 0.0047255983 + 1634300 0.0056517497 0.0023626853 0.0051444059 + 1634400 0.004108885 0.0027762147 0.0047985565 + 1634500 0.0045952273 0.0029445637 0.0052062771 + 1634600 0.0045680976 0.0030257714 0.0052741319 + 1634700 0.0061097753 0.0030294691 0.0060366241 + 1634800 0.003514471 0.0031035372 0.0048333159 + 1634900 0.0050804397 0.0027713637 0.0052718927 + 1635000 0.003667389 0.0028573222 0.0046623652 + 1635100 0.0057938652 0.0026371731 0.0054888411 + 1635200 0.0047102314 0.0025997832 0.0049181002 + 1635300 0.0048718581 0.0025784801 0.0049763478 + 1635400 0.0035099523 0.0029345955 0.0046621501 + 1635500 0.0041809781 0.0030827688 0.005140594 + 1635600 0.0050406169 0.0026991518 0.0051800804 + 1635700 0.0046141592 0.0027625614 0.0050335929 + 1635800 0.0046781561 0.0029899861 0.0052925161 + 1635900 0.0058595137 0.0025746155 0.0054585949 + 1636000 0.0046606532 0.002245374 0.0045392893 + 1636100 0.0025572402 0.0020978585 0.0033565001 + 1636200 0.0040244606 0.0023780209 0.0043588101 + 1636300 0.004086974 0.0026810101 0.0046925676 + 1636400 0.0035061004 0.0025782016 0.0043038604 + 1636500 0.0044842836 0.0026434374 0.0048505458 + 1636600 0.0062680565 0.0025479012 0.0056329603 + 1636700 0.0046452875 0.0023611332 0.0046474857 + 1636800 0.0051617608 0.0024327859 0.0049733401 + 1636900 0.0048489747 0.0027972794 0.0051838841 + 1637000 0.0052526201 0.0028844772 0.0054697512 + 1637100 0.0045194698 0.0029665988 0.0051910253 + 1637200 0.0052919004 0.0029839395 0.0055885467 + 1637300 0.0040815972 0.0023581479 0.004367059 + 1637400 0.0048839446 0.0021146657 0.0045184822 + 1637500 0.004072334 0.0023219887 0.0043263406 + 1637600 0.0053332587 0.001809193 0.0044341563 + 1637700 0.0041283016 0.0019582106 0.0039901091 + 1637800 0.0046174976 0.0021692113 0.0044418859 + 1637900 0.0045290429 0.0026335818 0.0048627202 + 1638000 0.0041970252 0.0029536203 0.0050193437 + 1638100 0.0047910334 0.0027523447 0.0051104314 + 1638200 0.005921154 0.0025242223 0.0054385403 + 1638300 0.0044706464 0.0024050329 0.0046054291 + 1638400 0.0046103834 0.0026808727 0.0049500458 + 1638500 0.0046854085 0.0027595263 0.0050656258 + 1638600 0.0050007328 0.0027471393 0.0052084375 + 1638700 0.0065296681 0.0029231793 0.0061370003 + 1638800 0.0061991878 0.0031073219 0.0061584847 + 1638900 0.0052364643 0.0035520849 0.0061294072 + 1639000 0.0072897113 0.0028344147 0.0064223195 + 1639100 0.0041896935 0.0022031492 0.0042652639 + 1639200 0.0061237801 0.0023563522 0.0053704003 + 1639300 0.0063762601 0.0030578683 0.0061961838 + 1639400 0.0042765532 0.0032681228 0.0053729889 + 1639500 0.0059971358 0.0031539242 0.0061056394 + 1639600 0.0066654476 0.0029356938 0.0062163438 + 1639700 0.0052604414 0.0027668677 0.0053559912 + 1639800 0.0041116046 0.002420171 0.0044438514 + 1639900 0.0055723723 0.002322991 0.005065643 + 1640000 0.0049487901 0.0027070536 0.0051427863 + 1640100 0.0051290637 0.0026757912 0.0052002522 + 1640200 0.0046058563 0.0022426678 0.0045096127 + 1640300 0.0052321736 0.0018280031 0.0044032135 + 1640400 0.0066831567 0.0020477176 0.0053370838 + 1640500 0.0038408723 0.0028001783 0.0046906076 + 1640600 0.0048765491 0.0029954246 0.0053956012 + 1640700 0.0070424853 0.0031545723 0.0066207956 + 1640800 0.0042775699 0.0034105095 0.0055158759 + 1640900 0.0059681923 0.0025373865 0.0054748561 + 1641000 0.0041601891 0.0021605115 0.0042081046 + 1641100 0.0054086728 0.0020836725 0.0047457537 + 1641200 0.0051815554 0.0022941937 0.0048444905 + 1641300 0.004260039 0.0028155489 0.0049122869 + 1641400 0.0044682712 0.0030781831 0.0052774104 + 1641500 0.0039696328 0.0033298149 0.0052836186 + 1641600 0.0056840568 0.0028875435 0.0056851652 + 1641700 0.0059563274 0.0025243676 0.0054559975 + 1641800 0.0067567807 0.0027416026 0.0060672056 + 1641900 0.0039642799 0.0029304026 0.0048815717 + 1642000 0.0048394735 0.0024167297 0.004798658 + 1642100 0.0036324624 0.0025452441 0.0043330966 + 1642200 0.0053284924 0.0024581011 0.0050807184 + 1642300 0.0055984757 0.0021600857 0.0049155855 + 1642400 0.0044134045 0.0023943661 0.0045665886 + 1642500 0.0059201281 0.0027570923 0.0056709054 + 1642600 0.0065738802 0.0031536488 0.0063892305 + 1642700 0.0055376987 0.0027892661 0.0055148522 + 1642800 0.0072015215 0.0018435186 0.0053880174 + 1642900 0.0046486828 0.0020708213 0.0043588449 + 1643000 0.0036130977 0.0024174699 0.0041957914 + 1643100 0.0040753506 0.0025324946 0.0045383313 + 1643200 0.0026401548 0.0025110384 0.0038104896 + 1643300 0.0056512715 0.0021542636 0.0049357488 + 1643400 0.0066734002 0.0022867498 0.005571314 + 1643500 0.004937039 0.0021801906 0.0046101395 + 1643600 0.0041374778 0.001954686 0.0039911008 + 1643700 0.0049461937 0.0017595825 0.0041940372 + 1643800 0.0052217634 0.0020562003 0.004626287 + 1643900 0.004661826 0.0019902403 0.0042847328 + 1644000 0.0051210453 0.0020866507 0.0046071652 + 1644100 0.0050734271 0.002589622 0.0050866994 + 1644200 0.0054516534 0.0026960654 0.0053793011 + 1644300 0.0046241283 0.0029258862 0.0052018244 + 1644400 0.0044398677 0.003224238 0.0054094854 + 1644500 0.0045740637 0.0029159306 0.0051672276 + 1644600 0.0071768565 0.0029618724 0.0064942315 + 1644700 0.0048171304 0.0030003264 0.0053712578 + 1644800 0.0049207289 0.0027685477 0.0051904689 + 1644900 0.0052870973 0.0023977088 0.004999952 + 1645000 0.0045713534 0.002375725 0.004625688 + 1645100 0.0058168188 0.0021293669 0.0049923324 + 1645200 0.00547169 0.0019184789 0.0046115763 + 1645300 0.0057387293 0.0022329184 0.0050574492 + 1645400 0.0067595301 0.0022083885 0.0055353447 + 1645500 0.0052449946 0.0022470394 0.0048285602 + 1645600 0.0037688112 0.0026698328 0.0045247946 + 1645700 0.0065270596 0.002621146 0.0058336831 + 1645800 0.0049672218 0.0026457454 0.0050905498 + 1645900 0.004690319 0.002216062 0.0045245784 + 1646000 0.004882275 0.0026536078 0.0050566025 + 1646100 0.0050460587 0.002716523 0.0052001301 + 1646200 0.0055397247 0.0029433803 0.0056699636 + 1646300 0.0044771937 0.0026903282 0.004893947 + 1646400 0.0056922284 0.0024965354 0.0052981791 + 1646500 0.0044709477 0.0025816441 0.0047821886 + 1646600 0.0041702309 0.0026912156 0.0047437512 + 1646700 0.0057387481 0.0029717251 0.0057962651 + 1646800 0.0063582502 0.0032741846 0.0064036359 + 1646900 0.0049592606 0.0031673301 0.0056082162 + 1647000 0.0039729063 0.002883343 0.0048387578 + 1647100 0.0044404908 0.0030961629 0.0052817169 + 1647200 0.0065706182 0.0032960012 0.0065299773 + 1647300 0.0064217988 0.0029666079 0.006127337 + 1647400 0.006119451 0.0027576071 0.0057695244 + 1647500 0.0041739221 0.002753699 0.0048080513 + 1647600 0.0052136191 0.0024811452 0.0050472233 + 1647700 0.0056253495 0.0025937582 0.0053624849 + 1647800 0.0053322628 0.0026701766 0.0052946497 + 1647900 0.0055542246 0.0027235245 0.0054572444 + 1648000 0.0057706697 0.0026038961 0.0054441476 + 1648100 0.005019236 0.0024296314 0.0049000366 + 1648200 0.0051874921 0.0024179414 0.0049711602 + 1648300 0.005038737 0.0024349808 0.0049149841 + 1648400 0.0050115114 0.0028653332 0.0053319364 + 1648500 0.004248447 0.0029874531 0.0050784856 + 1648600 0.0046278348 0.0032064927 0.0054842552 + 1648700 0.0045479359 0.0028625484 0.0051009856 + 1648800 0.0039390351 0.0024173995 0.0043561433 + 1648900 0.0055030436 0.0021114459 0.0048199751 + 1649000 0.0048530735 0.0022001459 0.004588768 + 1649100 0.0066892861 0.0025454615 0.0058378445 + 1649200 0.0037680991 0.0025251248 0.0043797361 + 1649300 0.0036190561 0.0022998546 0.0040811088 + 1649400 0.0042040588 0.0023312724 0.0044004575 + 1649500 0.0054976727 0.002089348 0.0047952338 + 1649600 0.0045651997 0.0020759896 0.0043229238 + 1649700 0.0054355728 0.002607606 0.005282927 + 1649800 0.0052439815 0.0025897867 0.0051708088 + 1649900 0.0047077416 0.0024029504 0.0047200419 + 1650000 0.005218436 0.0023573708 0.0049258198 + 1650100 0.0048419477 0.0021046538 0.0044877999 + 1650200 0.0043980404 0.0023465201 0.0045111806 + 1650300 0.0052709535 0.0024072497 0.0050015472 + 1650400 0.0056979534 0.0024238325 0.0052282939 + 1650500 0.00472211 0.00269558 0.0050197435 + 1650600 0.0051704696 0.0027814148 0.0053262553 + 1650700 0.0044864342 0.0024770583 0.0046852251 + 1650800 0.0059360761 0.002197683 0.0051193455 + 1650900 0.0046495657 0.0019879444 0.0042764025 + 1651000 0.0058375726 0.0017901517 0.0046633319 + 1651100 0.004855584 0.0021203616 0.0045102193 + 1651200 0.0060632633 0.0023324502 0.0053167126 + 1651300 0.0055857898 0.0023584647 0.0051077207 + 1651400 0.0045986859 0.0021602619 0.0044236776 + 1651500 0.0061930062 0.0025407867 0.005588907 + 1651600 0.0048510058 0.0029060926 0.005293697 + 1651700 0.0053009408 0.0025568017 0.0051658586 + 1651800 0.0066642821 0.0030720433 0.0063521196 + 1651900 0.0057737201 0.0034375463 0.0062792991 + 1652000 0.0048749422 0.0032965519 0.0056959375 + 1652100 0.0064780344 0.0026777047 0.0058661122 + 1652200 0.0054889825 0.0021969455 0.0048985541 + 1652300 0.0048068662 0.0021469747 0.0045128542 + 1652400 0.0032865959 0.0021811277 0.0037987492 + 1652500 0.0045986256 0.0019609942 0.0042243802 + 1652600 0.0057010026 0.0018903715 0.0046963337 + 1652700 0.0053300695 0.0020993208 0.0047227144 + 1652800 0.0062176199 0.002269329 0.0053295639 + 1652900 0.0064193179 0.0020596114 0.0052191194 + 1653000 0.006115582 0.0024181898 0.0054282028 + 1653100 0.0043848386 0.0028594363 0.0050175991 + 1653200 0.0056428942 0.0028209005 0.0055982625 + 1653300 0.0053594047 0.0028351635 0.0054729955 + 1653400 0.0056046184 0.0024045076 0.0051630307 + 1653500 0.005395241 0.002004394 0.0046598641 + 1653600 0.005328431 0.0021673221 0.0047899093 + 1653700 0.0051374638 0.0022551543 0.0047837498 + 1653800 0.0048236581 0.002289129 0.0046632732 + 1653900 0.0052540513 0.0020499177 0.0046358961 + 1654000 0.0037866374 0.0019258486 0.0037895842 + 1654100 0.006943142 0.0019130871 0.0053304148 + 1654200 0.0032189111 0.0023271426 0.0039114504 + 1654300 0.0047023038 0.0028411194 0.0051555345 + 1654400 0.0054734728 0.0029205387 0.0056145135 + 1654500 0.0055443074 0.0027186 0.0054474388 + 1654600 0.0049475728 0.0030160756 0.0054512091 + 1654700 0.0054031765 0.0029387259 0.0055981019 + 1654800 0.005837769 0.0028730688 0.0057463458 + 1654900 0.0035037908 0.0027610498 0.0044855718 + 1655000 0.0049423845 0.0028213336 0.0052539135 + 1655100 0.0047410139 0.0024105864 0.0047440542 + 1655200 0.0056593258 0.0021118137 0.0048972631 + 1655300 0.0055545924 0.00218559 0.004919491 + 1655400 0.0045902321 0.0024055985 0.0046648533 + 1655500 0.0041751503 0.0026403123 0.0046952691 + 1655600 0.0046946846 0.0027893953 0.0051000604 + 1655700 0.0049249492 0.0031701288 0.0055941273 + 1655800 0.0051327671 0.0031189994 0.0056452832 + 1655900 0.0039044798 0.0032597219 0.005181458 + 1656000 0.0059113446 0.0029508746 0.0058603645 + 1656100 0.0049135057 0.003165949 0.0055843151 + 1656200 0.0049242283 0.0032903728 0.0057140165 + 1656300 0.0047997459 0.0030134393 0.0053758142 + 1656400 0.005021154 0.0032871931 0.0057585423 + 1656500 0.0058349056 0.0029820681 0.0058539357 + 1656600 0.0049537398 0.0031878116 0.0056259803 + 1656700 0.0049601025 0.0031045746 0.0055458751 + 1656800 0.0061255035 0.002819135 0.0058340312 + 1656900 0.0048085869 0.0027726628 0.0051393891 + 1657000 0.0052441864 0.0028002427 0.0053813657 + 1657100 0.0043763638 0.0029537101 0.0051077017 + 1657200 0.0050873959 0.0029844954 0.0054884481 + 1657300 0.0039376872 0.002767666 0.0047057464 + 1657400 0.004058083 0.0028464702 0.0048438079 + 1657500 0.0053381688 0.0031632355 0.0057906154 + 1657600 0.0056601758 0.0033881126 0.0061739804 + 1657700 0.0042849546 0.0036254174 0.0057344184 + 1657800 0.0061428937 0.0034503599 0.0064738154 + 1657900 0.0058354315 0.0032782192 0.0061503457 + 1658000 0.0042311123 0.0029738728 0.0050563734 + 1658100 0.0051636789 0.0027275998 0.005269098 + 1658200 0.0041938122 0.0030605864 0.0051247284 + 1658300 0.0043180255 0.0031253088 0.005250587 + 1658400 0.0058829048 0.0030770988 0.005972591 + 1658500 0.0037320107 0.0030403049 0.004877154 + 1658600 0.0060281076 0.0029950861 0.0059620453 + 1658700 0.0054777018 0.0031917799 0.0058878362 + 1658800 0.0044466106 0.0030141247 0.0052026909 + 1658900 0.0057400825 0.0024600254 0.0052852223 + 1659000 0.0043894495 0.0025680061 0.0047284383 + 1659100 0.005685694 0.0027404625 0.00553889 + 1659200 0.0046831843 0.0024857354 0.0047907402 + 1659300 0.0059362992 0.0023173462 0.0052391185 + 1659400 0.0036563282 0.0032983411 0.0050979401 + 1659500 0.0045075806 0.0034547563 0.0056733311 + 1659600 0.0060342018 0.00295335 0.0059233087 + 1659700 0.0049136929 0.0027360904 0.0051545486 + 1659800 0.0049391772 0.0027330461 0.0051640473 + 1659900 0.0043794193 0.002791221 0.0049467165 + 1660000 0.0063817762 0.0027670949 0.0059081254 + 1660100 0.0056678109 0.0027863859 0.0055760116 + 1660200 0.0040434741 0.0030069208 0.0049970683 + 1660300 0.0043537778 0.0027520579 0.004894933 + 1660400 0.0060782611 0.0027783988 0.005770043 + 1660500 0.0055807461 0.0024719543 0.0052187277 + 1660600 0.0048842086 0.0025328919 0.0049368383 + 1660700 0.0052391638 0.0024633393 0.0050419903 + 1660800 0.0051127608 0.0027176635 0.0052341005 + 1660900 0.0059889061 0.0028970291 0.0058446938 + 1661000 0.0030456339 0.0032414196 0.0047404426 + 1661100 0.0050168847 0.002812059 0.005281307 + 1661200 0.0053630553 0.0030411944 0.0056808232 + 1661300 0.0060421889 0.0031575757 0.0061314656 + 1661400 0.0051604568 0.0029387947 0.0054787071 + 1661500 0.0039866245 0.0029745906 0.0049367573 + 1661600 0.0047174977 0.0026904799 0.0050123734 + 1661700 0.0055219782 0.0023859158 0.0051037645 + 1661800 0.0060091626 0.0021386659 0.0050963006 + 1661900 0.0050718072 0.0022067945 0.0047030746 + 1662000 0.0051264118 0.0023353282 0.004858484 + 1662100 0.0057876788 0.0022137304 0.0050623536 + 1662200 0.006232967 0.0022591156 0.005326904 + 1662300 0.0039007661 0.0022059713 0.0041258796 + 1662400 0.0043124977 0.002171334 0.0042938915 + 1662500 0.0066670548 0.0024615018 0.0057429428 + 1662600 0.004880622 0.0028793199 0.0052815011 + 1662700 0.0055160279 0.0028478548 0.0055627747 + 1662800 0.004026052 0.0028378733 0.0048194458 + 1662900 0.0057740517 0.0022302971 0.0050722132 + 1663000 0.0053948804 0.0017920656 0.0044473583 + 1663100 0.006059327 0.0017720004 0.0047543254 + 1663200 0.0038945727 0.0022120312 0.0041288912 + 1663300 0.0042958871 0.0020429395 0.0041573214 + 1663400 0.0057461125 0.0021608615 0.0049890263 + 1663500 0.0041811358 0.0023129427 0.0043708455 + 1663600 0.005645341 0.0024428526 0.0052214188 + 1663700 0.0043021859 0.0023406812 0.0044581633 + 1663800 0.0042794586 0.0022767785 0.0043830745 + 1663900 0.0053155737 0.0021853468 0.0048016058 + 1664000 0.0055359699 0.0022688418 0.0049935769 + 1664100 0.0043487798 0.0027477216 0.0048881367 + 1664200 0.0057622319 0.0025479869 0.0053840855 + 1664300 0.0041054003 0.0027639276 0.0047845543 + 1664400 0.0050423111 0.002611687 0.0050934495 + 1664500 0.0041676246 0.0027628858 0.0048141386 + 1664600 0.0044064064 0.0025950363 0.0047638145 + 1664700 0.0063654834 0.0025912658 0.0057242772 + 1664800 0.0037591846 0.0028182631 0.0046684867 + 1664900 0.0051102948 0.0026352324 0.0051504557 + 1665000 0.0045697699 0.0025132346 0.0047624182 + 1665100 0.0054347 0.0023805013 0.0050553927 + 1665200 0.0038348396 0.0021006918 0.0039881519 + 1665300 0.0045687353 0.0018347562 0.0040834307 + 1665400 0.0040440087 0.001929404 0.0039198145 + 1665500 0.0053638063 0.0023500693 0.0049900677 + 1665600 0.0056168035 0.0025553248 0.0053198452 + 1665700 0.0056441918 0.0023328468 0.0051108475 + 1665800 0.0052240947 0.0026471907 0.0052184248 + 1665900 0.0043667484 0.0020976483 0.0042469073 + 1666000 0.0070553084 0.0017689638 0.0052414984 + 1666100 0.0045010993 0.0027760855 0.0049914703 + 1666200 0.0050384736 0.0031253638 0.0056052375 + 1666300 0.0062887696 0.0025248986 0.0056201524 + 1666400 0.0048786208 0.0024929864 0.0048941825 + 1666500 0.0048121625 0.0028115785 0.0051800647 + 1666600 0.0054910279 0.0028185713 0.0055211866 + 1666700 0.0064129159 0.0026337759 0.005790133 + 1666800 0.00394915 0.0023890681 0.0043327903 + 1666900 0.0058393348 0.00242743 0.0053014776 + 1667000 0.0055569388 0.0022669661 0.0050020219 + 1667100 0.0043139593 0.0020672071 0.0041904839 + 1667200 0.0039280895 0.0022459029 0.0041792594 + 1667300 0.0041205701 0.0023801076 0.0044082007 + 1667400 0.0040490185 0.0024662325 0.0044591088 + 1667500 0.0043288015 0.0025908975 0.0047214795 + 1667600 0.0049353417 0.0029587692 0.0053878827 + 1667700 0.0058500785 0.00277019 0.0056495255 + 1667800 0.0054083692 0.0024442106 0.0051061423 + 1667900 0.0047453866 0.0023319351 0.0046675551 + 1668000 0.004668751 0.0027615797 0.0050594806 + 1668100 0.0039640207 0.0029996558 0.0049506973 + 1668200 0.0071190497 0.0024664348 0.005970342 + 1668300 0.0052500882 0.0027167508 0.0053007785 + 1668400 0.0073804299 0.0030077526 0.0066403079 + 1668500 0.0054632238 0.0035811093 0.0062700398 + 1668600 0.0057622938 0.003728927 0.0065650559 + 1668700 0.004927204 0.0036518755 0.0060769837 + 1668800 0.0056471226 0.0036722041 0.0064516472 + 1668900 0.0056201813 0.0034289284 0.0061951114 + 1669000 0.0059798605 0.0026911534 0.0056343661 + 1669100 0.0042588261 0.0029045287 0.0050006697 + 1669200 0.0057535553 0.0029177693 0.0057495973 + 1669300 0.0059575128 0.0023303365 0.0052625498 + 1669400 0.0072521271 0.0027254232 0.0062948295 + 1669500 0.0058593831 0.0029932816 0.0058771968 + 1669600 0.006087663 0.0021671832 0.0051634548 + 1669700 0.0055054043 0.0023930151 0.0051027063 + 1669800 0.0064196322 0.0022152737 0.0053749364 + 1669900 0.0051364857 0.0020632227 0.0045913368 + 1670000 0.0037112987 0.0023483304 0.0041749852 + 1670100 0.0056354075 0.0023266757 0.0051003528 + 1670200 0.0044154287 0.0025804129 0.0047536318 + 1670300 0.0046145721 0.0028996057 0.0051708404 + 1670400 0.0059226772 0.00291928 0.0058343477 + 1670500 0.0047651399 0.0027379466 0.0050832889 + 1670600 0.0043479653 0.0023936051 0.0045336193 + 1670700 0.0044652588 0.002614307 0.0048120516 + 1670800 0.0064001146 0.0025306355 0.0056806919 + 1670900 0.0039946415 0.0026423038 0.0046084164 + 1671000 0.0058219097 0.0024879661 0.0053534372 + 1671100 0.0045490748 0.0024175363 0.0046565341 + 1671200 0.0067963508 0.00252812 0.0058731989 + 1671300 0.0060305673 0.0025989623 0.0055671322 + 1671400 0.0061429659 0.0028273765 0.0058508676 + 1671500 0.0040083655 0.0026534562 0.0046263236 + 1671600 0.0043689544 0.0025538108 0.0047041556 + 1671700 0.0070438939 0.0019720231 0.0054389397 + 1671800 0.0046457414 0.0021982079 0.0044847837 + 1671900 0.0042808706 0.0022843206 0.0043913116 + 1672000 0.0047353365 0.0025819102 0.0049125836 + 1672100 0.0052071021 0.0024208409 0.0049837115 + 1672200 0.0050186981 0.002286286 0.0047564265 + 1672300 0.0048933875 0.0020675912 0.0044760554 + 1672400 0.0044907373 0.0019044442 0.004114729 + 1672500 0.0045742345 0.0017034927 0.0039548737 + 1672600 0.0047816364 0.0018307732 0.0041842349 + 1672700 0.0052730453 0.0018771162 0.0044724431 + 1672800 0.0041716452 0.0022153459 0.0042685776 + 1672900 0.0075758202 0.0022126985 0.0059414225 + 1673000 0.0045495313 0.0022658636 0.0045050861 + 1673100 0.0065355561 0.0020784744 0.0052951935 + 1673200 0.0036081116 0.0022543852 0.0040302526 + 1673300 0.0070309335 0.0018237573 0.0052842949 + 1673400 0.0057456014 0.002155931 0.0049838442 + 1673500 0.0052604783 0.0028471553 0.0054362969 + 1673600 0.0060537036 0.0032649658 0.0062445231 + 1673700 0.0052716695 0.0033719953 0.0059666451 + 1673800 0.0056043447 0.0030599226 0.005818311 + 1673900 0.0059634088 0.0024340743 0.0053691896 + 1674000 0.0044433102 0.0022988574 0.0044857991 + 1674100 0.005031647 0.002270119 0.0047466328 + 1674200 0.004934976 0.0020195983 0.0044485318 + 1674300 0.0041767123 0.0020538248 0.0041095504 + 1674400 0.0044253591 0.0020453402 0.0042234466 + 1674500 0.0054133573 0.0019256854 0.0045900722 + 1674600 0.0060049743 0.0018058804 0.0047614537 + 1674700 0.0047893159 0.0018082569 0.0041654983 + 1674800 0.0041482199 0.0025053937 0.0045470956 + 1674900 0.005897393 0.0023846704 0.0052872935 + 1675000 0.0043249409 0.0023584928 0.0044871747 + 1675100 0.0052864161 0.002449895 0.005051803 + 1675200 0.0043817824 0.0026122493 0.0047689078 + 1675300 0.0036498021 0.0021754867 0.0039718737 + 1675400 0.0066517682 0.002137703 0.0054116202 + 1675500 0.0058179312 0.0023839454 0.0052474584 + 1675600 0.0050479837 0.0022854145 0.0047699689 + 1675700 0.0056658974 0.0022684261 0.00505711 + 1675800 0.0053701034 0.0024292575 0.0050723553 + 1675900 0.0052140416 0.0028332593 0.0053995454 + 1676000 0.005193704 0.0029137972 0.0054700734 + 1676100 0.0056192238 0.0027241047 0.0054898164 + 1676200 0.0046704112 0.0021208312 0.0044195492 + 1676300 0.0073079744 0.0022712854 0.005868179 + 1676400 0.0046937462 0.0026426806 0.0049528838 + 1676500 0.0046819246 0.0027392955 0.0050436802 + 1676600 0.0077736859 0.0026384036 0.0064645146 + 1676700 0.0042932236 0.0025789576 0.0046920286 + 1676800 0.0047880601 0.0028518242 0.0052084475 + 1676900 0.0046994239 0.0024662982 0.0047792959 + 1677000 0.0044526836 0.0021237793 0.0043153345 + 1677100 0.0048462877 0.0018086983 0.0041939805 + 1677200 0.0057596198 0.0020089855 0.0048437983 + 1677300 0.004765693 0.0021280567 0.0044736712 + 1677400 0.0049918184 0.0023456138 0.0048025245 + 1677500 0.0046506549 0.0024621396 0.0047511338 + 1677600 0.0044056961 0.0023741546 0.0045425831 + 1677700 0.0042520153 0.0020846427 0.0041774314 + 1677800 0.005272929 0.0018529924 0.0044482621 + 1677900 0.0052907819 0.0021100096 0.0047140664 + 1678000 0.0045965721 0.0021841967 0.0044465721 + 1678100 0.0044993211 0.0028275118 0.0050420214 + 1678200 0.0040950044 0.0024992894 0.0045147994 + 1678300 0.006233082 0.0022580113 0.0053258563 + 1678400 0.0061519775 0.0024541826 0.005482109 + 1678500 0.0059736987 0.0023914278 0.0053316076 + 1678600 0.004765154 0.0025636762 0.0049090254 + 1678700 0.0052769411 0.0025706881 0.0051679325 + 1678800 0.0045050097 0.0020647353 0.0042820447 + 1678900 0.0046965016 0.0019902873 0.0043018467 + 1679000 0.0042392627 0.001989093 0.0040756051 + 1679100 0.0065566223 0.0021855178 0.0054126053 + 1679200 0.0049283397 0.0022759748 0.004701642 + 1679300 0.004364316 0.0022778889 0.0044259507 + 1679400 0.0054596287 0.0023191742 0.0050063352 + 1679500 0.0047966753 0.0022130527 0.0045739163 + 1679600 0.0038061905 0.002523013 0.0043963724 + 1679700 0.0038694565 0.0028867277 0.0047912258 + 1679800 0.0066086948 0.0019312346 0.0051839516 + 1679900 0.0054318078 0.0020729362 0.0047464041 + 1680000 0.0040666806 0.0025528787 0.0045544481 + 1680100 0.0039192983 0.0025506282 0.0044796578 + 1680200 0.0065304373 0.0021797319 0.0053939315 + 1680300 0.0058555667 0.0022422304 0.0051242671 + 1680400 0.00497179 0.0023645557 0.0048116086 + 1680500 0.0061938574 0.0026182845 0.0056668237 + 1680600 0.0055790697 0.0030498584 0.0057958068 + 1680700 0.0045871072 0.0024100072 0.004667724 + 1680800 0.0062536666 0.0021866325 0.005264609 + 1680900 0.0042103943 0.0026254424 0.0046977459 + 1681000 0.0054681649 0.0026367119 0.0053280743 + 1681100 0.0058112092 0.0026119613 0.0054721658 + 1681200 0.0064976915 0.0023781614 0.0055762439 + 1681300 0.0052958866 0.0028303157 0.0054368849 + 1681400 0.0047053735 0.0031188399 0.005434766 + 1681500 0.0050203496 0.0028076728 0.0052786261 + 1681600 0.0054562048 0.0025577798 0.0052432557 + 1681700 0.0051029791 0.0020308906 0.0045425132 + 1681800 0.0041911665 0.0021526481 0.0042154878 + 1681900 0.0063341062 0.0020341022 0.0051516701 + 1682000 0.0045759739 0.0020636815 0.0043159187 + 1682100 0.0055545952 0.0017995643 0.0045334666 + 1682200 0.0061756557 0.0015056166 0.0045451971 + 1682300 0.0046506744 0.0018418036 0.0041308074 + 1682400 0.0039656973 0.0020281506 0.0039800172 + 1682500 0.00418757 0.0026119373 0.0046730069 + 1682600 0.0042552369 0.0027306068 0.0048249812 + 1682700 0.0052340919 0.002467474 0.0050436286 + 1682800 0.0043308696 0.0026712975 0.0048028974 + 1682900 0.0047985996 0.0024107658 0.0047725766 + 1683000 0.004083534 0.0023715377 0.004381402 + 1683100 0.0061986477 0.0024605377 0.0055114346 + 1683200 0.0036603276 0.0028189022 0.0046204697 + 1683300 0.0064414645 0.0018210297 0.004991438 + 1683400 0.0045469459 0.001985766 0.0042237159 + 1683500 0.0049545923 0.0019645325 0.0044031209 + 1683600 0.0044529317 0.0019452125 0.0041368898 + 1683700 0.0049703385 0.0020634298 0.0045097683 + 1683800 0.0035124136 0.0022963329 0.0040250989 + 1683900 0.004572062 0.0020764672 0.004326779 + 1684000 0.0049608447 0.0016244194 0.0040660852 + 1684100 0.0054322903 0.00161079 0.0042844954 + 1684200 0.0054473554 0.0015977897 0.00427891 + 1684300 0.0062460068 0.0011848094 0.0042590159 + 1684400 0.0047893125 0.0013284399 0.0036856796 + 1684500 0.0049167206 0.001922315 0.0043422634 + 1684600 0.0041980534 0.0023952621 0.0044614915 + 1684700 0.0064638105 0.0025559655 0.0057373723 + 1684800 0.0044134619 0.0028040921 0.0049763429 + 1684900 0.0049852014 0.0024190095 0.0048726633 + 1685000 0.0054071938 0.001904972 0.0045663252 + 1685100 0.0047315058 0.0019482137 0.0042770017 + 1685200 0.0041659639 0.0021978555 0.0042482909 + 1685300 0.0051491407 0.0022645104 0.004798853 + 1685400 0.0048588215 0.0023017344 0.0046931856 + 1685500 0.0045156894 0.0020394309 0.0042619968 + 1685600 0.0052260789 0.001865246 0.0044374568 + 1685700 0.0048740883 0.0022075673 0.0046065326 + 1685800 0.0056985141 0.0027011814 0.0055059188 + 1685900 0.0059506278 0.0028425648 0.0057713894 + 1686000 0.0060105924 0.0026380509 0.0055963893 + 1686100 0.005537876 0.0032006499 0.0059263233 + 1686200 0.0048023579 0.0031400613 0.0055037218 + 1686300 0.0048689734 0.0029762922 0.00537274 + 1686400 0.0062473108 0.002618879 0.0056937273 + 1686500 0.0060680083 0.0027213028 0.0057079007 + 1686600 0.0034242988 0.0026624062 0.0043478033 + 1686700 0.0047737045 0.0030919031 0.0054414608 + 1686800 0.0044016584 0.0038268359 0.0059932772 + 1686900 0.0046118021 0.0038480479 0.0061179193 + 1687000 0.0052832458 0.0030269723 0.0056273199 + 1687100 0.0044349999 0.0023775374 0.0045603889 + 1687200 0.0034882327 0.0022161458 0.0039330103 + 1687300 0.0039968633 0.0023201418 0.004287348 + 1687400 0.0045333236 0.002439353 0.0046705982 + 1687500 0.0046022071 0.0024194358 0.0046845846 + 1687600 0.0053633437 0.0027048043 0.0053445751 + 1687700 0.0048163501 0.0030952735 0.0054658208 + 1687800 0.0053938879 0.00276403 0.0054188342 + 1687900 0.0061187767 0.003032598 0.0060441834 + 1688000 0.0081699462 0.0025968412 0.0066179866 + 1688100 0.0068151434 0.0024728479 0.0058271764 + 1688200 0.0053185903 0.0021886109 0.0048063545 + 1688300 0.0048220956 0.0023947246 0.0047680998 + 1688400 0.0045974207 0.0022447761 0.0045075691 + 1688500 0.0052862793 0.0015078315 0.0041096721 + 1688600 0.0045305773 0.0017857927 0.0040156862 + 1688700 0.0047898829 0.0021206851 0.0044782056 + 1688800 0.0040698493 0.0022043061 0.0042074351 + 1688900 0.0036741568 0.0023294953 0.0041378693 + 1689000 0.0043949357 0.001949062 0.0041121944 + 1689100 0.0049792334 0.0017621217 0.0042128382 + 1689200 0.0042284594 0.0017501508 0.0038313457 + 1689300 0.0054618908 0.001948421 0.0046366954 + 1689400 0.0056180968 0.0021982751 0.0049634321 + 1689500 0.0054610231 0.0021701226 0.0048579699 + 1689600 0.0061663776 0.0018447043 0.0048797183 + 1689700 0.0035744062 0.0022269457 0.0039862238 + 1689800 0.0046034242 0.0022405421 0.00450629 + 1689900 0.0041684995 0.0021134226 0.004165106 + 1690000 0.0053704491 0.0021917708 0.0048350387 + 1690100 0.0049024976 0.0023892794 0.0048022275 + 1690200 0.0043605526 0.0026051306 0.0047513401 + 1690300 0.0042730254 0.0024092475 0.0045123772 + 1690400 0.0047991744 0.0035104922 0.0058725859 + 1690500 0.0051640332 0.0038558102 0.0063974828 + 1690600 0.0053145161 0.0030268852 0.0056426236 + 1690700 0.004311195 0.0029255276 0.0050474439 + 1690800 0.0076618483 0.0025436467 0.0063147126 + 1690900 0.0045675339 0.0025388098 0.0047868929 + 1691000 0.003161084 0.002566905 0.004122751 + 1691100 0.004645984 0.0027559985 0.0050426937 + 1691200 0.0045650019 0.0022231156 0.0044699525 + 1691300 0.0054380256 0.0020816368 0.0047581651 + 1691400 0.0050606647 0.0022733037 0.0047640996 + 1691500 0.0047776376 0.0023803065 0.0047318 + 1691600 0.0057796495 0.0026529246 0.0054975959 + 1691700 0.0045695919 0.0031610662 0.0054101622 + 1691800 0.0043170488 0.0031021327 0.0052269301 + 1691900 0.0056303906 0.0028096152 0.005580823 + 1692000 0.0040783486 0.0023524593 0.0043597715 + 1692100 0.0051848571 0.0023374568 0.0048893787 + 1692200 0.0066734727 0.0021429007 0.0054275006 + 1692300 0.003954522 0.0025329019 0.0044792682 + 1692400 0.0046572183 0.0022182295 0.0045104542 + 1692500 0.0048055864 0.0021301251 0.0044953747 + 1692600 0.0058359437 0.0026042565 0.005476635 + 1692700 0.0050682397 0.0031838419 0.0056783661 + 1692800 0.0055552039 0.0028068759 0.0055410778 + 1692900 0.0047064967 0.0025734316 0.0048899105 + 1693000 0.0055812831 0.0024444527 0.0051914905 + 1693100 0.0049172731 0.0023905282 0.0048107486 + 1693200 0.0043107341 0.0026834304 0.0048051198 + 1693300 0.0040104992 0.0028315151 0.0048054327 + 1693400 0.0041511781 0.0031967489 0.0052399069 + 1693500 0.0056688434 0.0029163668 0.0057065007 + 1693600 0.0041892114 0.0029082641 0.0049701416 + 1693700 0.0043811812 0.0030264195 0.0051827821 + 1693800 0.0050186526 0.0030470358 0.0055171539 + 1693900 0.0058572409 0.002815903 0.0056987638 + 1694000 0.0066441996 0.0025972194 0.0058674114 + 1694100 0.0055687861 0.0030277697 0.0057686567 + 1694200 0.0045897401 0.0036658178 0.0059248305 + 1694300 0.0053527916 0.0036297701 0.0062643472 + 1694400 0.0050348546 0.0039862782 0.0064643707 + 1694500 0.0038856891 0.0042482192 0.0061607068 + 1694600 0.0052414161 0.0036265039 0.0062062634 + 1694700 0.005251428 0.0030393016 0.0056239888 + 1694800 0.0048399151 0.0026921285 0.0050742742 + 1694900 0.0042836767 0.0026495055 0.0047578776 + 1695000 0.0056744439 0.002498666 0.0052915564 + 1695100 0.0043619303 0.0028164343 0.0049633219 + 1695200 0.0046680824 0.0033175497 0.0056151215 + 1695300 0.0056509575 0.002951843 0.0057331737 + 1695400 0.004058772 0.0027220188 0.0047196956 + 1695500 0.003362815 0.0030043567 0.0046594923 + 1695600 0.0052080571 0.0025265849 0.0050899255 + 1695700 0.0051810409 0.0027531568 0.0053032004 + 1695800 0.0047457754 0.0026682904 0.0050041018 + 1695900 0.0064383256 0.0024917235 0.0056605869 + 1696000 0.0058515983 0.0029157385 0.005795822 + 1696100 0.0034550813 0.003118056 0.0048186038 + 1696200 0.0047055488 0.0030217435 0.0053377559 + 1696300 0.0042718004 0.0035084174 0.0056109441 + 1696400 0.0060615192 0.0031439824 0.0061273864 + 1696500 0.0058516319 0.0029257318 0.0058058318 + 1696600 0.0059370406 0.0031330337 0.0060551709 + 1696700 0.0050327833 0.0028897556 0.0053668286 + 1696800 0.0054389936 0.0029705954 0.0056476 + 1696900 0.00499077 0.0026462231 0.0051026177 + 1697000 0.0058084211 0.0029200646 0.0057788969 + 1697100 0.0046134829 0.0027522022 0.0050229008 + 1697200 0.0051584866 0.0032285995 0.0057675421 + 1697300 0.0050951902 0.0036424449 0.0061502338 + 1697400 0.0069170279 0.0037332118 0.0071376864 + 1697500 0.0053546971 0.003394432 0.006029947 + 1697600 0.0052823475 0.0031385044 0.0057384099 + 1697700 0.0040149477 0.0028600753 0.0048361824 + 1697800 0.005077328 0.0025063812 0.0050053786 + 1697900 0.0061936897 0.0021016269 0.0051500835 + 1698000 0.005979668 0.0028158132 0.0057589311 + 1698100 0.0034545555 0.0035730417 0.0052733307 + 1698200 0.0054287887 0.0029984426 0.0056704245 + 1698300 0.0054824973 0.0029605912 0.0056590078 + 1698400 0.0050214881 0.0028679029 0.0053394166 + 1698500 0.0052882914 0.0025780092 0.0051808402 + 1698600 0.0041070577 0.0022773748 0.0042988173 + 1698700 0.0052198413 0.0020902674 0.0046594081 + 1698800 0.0031265792 0.0017542697 0.0032931329 + 1698900 0.0050922356 0.0020752502 0.0045815849 + 1699000 0.0043081584 0.0020369456 0.0041573673 + 1699100 0.004376303 0.0019941704 0.004148132 + 1699200 0.0045681212 0.0023063384 0.0045547105 + 1699300 0.0051444518 0.0021935202 0.0047255551 + 1699400 0.0043794602 0.0019588327 0.0041143482 + 1699500 0.0042621805 0.0020360386 0.0041338305 + 1699600 0.0043402516 0.0023318358 0.0044680534 + 1699700 0.0040970654 0.0020567879 0.0040733123 + 1699800 0.0049630556 0.0022420039 0.0046847578 + 1699900 0.0040429424 0.0022995459 0.0042894316 + 1700000 0.0052270956 0.0023752439 0.004947955 + 1700100 0.0046633174 0.0024788783 0.0047741048 + 1700200 0.0035666483 0.0028766263 0.004632086 + 1700300 0.0052487188 0.0025694989 0.0051528526 + 1700400 0.0050522501 0.0023409198 0.0048275741 + 1700500 0.0043218665 0.0023260608 0.0044532295 + 1700600 0.0040820204 0.002237391 0.0042465104 + 1700700 0.0028837166 0.0023926425 0.0038119718 + 1700800 0.0041381632 0.0024456111 0.0044823633 + 1700900 0.0039350182 0.0026959405 0.0046327073 + 1701000 0.0065503777 0.0029913914 0.0062154054 + 1701100 0.0063311586 0.0034317131 0.0065478302 + 1701200 0.0052954639 0.0034442687 0.0060506298 + 1701300 0.007069623 0.0024332104 0.0059127905 + 1701400 0.0050162373 0.0023401649 0.0048090942 + 1701500 0.0049219011 0.0023346174 0.0047571155 + 1701600 0.004940269 0.002251442 0.0046829807 + 1701700 0.005004208 0.0023097505 0.0047727591 + 1701800 0.0038146592 0.0023392795 0.0042168071 + 1701900 0.0052633222 0.0021927678 0.0047833092 + 1702000 0.005942817 0.0024264724 0.0053514527 + 1702100 0.0067625456 0.0023329272 0.0056613676 + 1702200 0.005867638 0.0023141196 0.0052020977 + 1702300 0.0050066537 0.0020618454 0.0045260578 + 1702400 0.0052837217 0.0015740742 0.004174656 + 1702500 0.0042546341 0.0012172743 0.003311352 + 1702600 0.0040546677 0.001376304 0.0033719608 + 1702700 0.0042247524 0.0019021361 0.0039815064 + 1702800 0.0044024263 0.0022428951 0.0044097143 + 1702900 0.003554181 0.0025169635 0.0042662869 + 1703000 0.0051941493 0.002658837 0.0052153323 + 1703100 0.0064851731 0.0029102799 0.006102201 + 1703200 0.0044394906 0.0036666271 0.0058516889 + 1703300 0.0052860184 0.0033929901 0.0059947023 + 1703400 0.0042453794 0.0030860551 0.0051755778 + 1703500 0.0046188069 0.0032001574 0.0054734765 + 1703600 0.0058018274 0.0030559072 0.0059114941 + 1703700 0.0051556322 0.0031179058 0.0056554435 + 1703800 0.007388635 0.0031200525 0.0067566463 + 1703900 0.0054766953 0.0029466655 0.0056422265 + 1704000 0.0070384824 0.0031791781 0.0066434312 + 1704100 0.0052285045 0.0029855251 0.0055589296 + 1704200 0.0058637538 0.0037642824 0.0066503487 + 1704300 0.0047495232 0.0035450477 0.0058827036 + 1704400 0.0053629609 0.002900639 0.0055402213 + 1704500 0.0044037487 0.0025723891 0.0047398592 + 1704600 0.0045464141 0.0029437427 0.0051814309 + 1704700 0.0041940045 0.0030050544 0.0050692909 + 1704800 0.004852129 0.0036245081 0.0060126653 + 1704900 0.005666361 0.0034182937 0.0062072058 + 1705000 0.0071776192 0.0021744692 0.0057072037 + 1705100 0.0039497652 0.0024285575 0.0043725826 + 1705200 0.0042707019 0.0026196742 0.0047216603 + 1705300 0.0041154203 0.0026546097 0.0046801681 + 1705400 0.0068224563 0.0023996927 0.0057576204 + 1705500 0.0068348673 0.0027190325 0.0060830687 + 1705600 0.0057905469 0.0035196226 0.0063696574 + 1705700 0.0054584883 0.0036211537 0.0063077534 + 1705800 0.005992795 0.003988566 0.0069381448 + 1705900 0.0061176163 0.0040045673 0.0070155815 + 1706000 0.0052303943 0.0041267183 0.006701053 + 1706100 0.0054748347 0.0040339252 0.0067285704 + 1706200 0.0049715031 0.0032305374 0.0056774491 + 1706300 0.0060995242 0.0025432503 0.0055453599 + 1706400 0.0072808759 0.0024810372 0.0060645933 + 1706500 0.0060517198 0.002555957 0.0055345379 + 1706600 0.0054015946 0.002688232 0.0053468294 + 1706700 0.0046204497 0.0030949629 0.0053690905 + 1706800 0.0054856129 0.0030774398 0.0057773899 + 1706900 0.0038846484 0.0028045632 0.0047165386 + 1707000 0.005605176 0.0025559039 0.0053147014 + 1707100 0.0063035908 0.0023362423 0.0054387909 + 1707200 0.0032606451 0.0024377487 0.0040425975 + 1707300 0.0041770135 0.0022299753 0.0042858491 + 1707400 0.0052255938 0.0022988101 0.0048707821 + 1707500 0.0053686023 0.0026795847 0.0053219437 + 1707600 0.0048594793 0.0031022794 0.0054940544 + 1707700 0.0042640796 0.0028778068 0.0049765335 + 1707800 0.006193646 0.0027733342 0.0058217693 + 1707900 0.0042832167 0.0032635936 0.0053717393 + 1708000 0.005740699 0.0029906601 0.0058161604 + 1708100 0.0045195285 0.0029209907 0.0051454461 + 1708200 0.0047848213 0.0024147873 0.0047698165 + 1708300 0.0040559689 0.0027575835 0.0047538807 + 1708400 0.0051733639 0.0029828248 0.0055290898 + 1708500 0.0058192678 0.0026349093 0.0054990802 + 1708600 0.0058257144 0.0027200145 0.0055873583 + 1708700 0.0040593282 0.0029561594 0.0049541101 + 1708800 0.0058962629 0.0027352636 0.0056373305 + 1708900 0.0057608803 0.0027178401 0.0055532733 + 1709000 0.0045929986 0.0028266557 0.0050872722 + 1709100 0.0056881802 0.002734702 0.0055343532 + 1709200 0.0041530857 0.0028053507 0.0048494476 + 1709300 0.0045994357 0.0024743339 0.0047381187 + 1709400 0.006110385 0.0027434324 0.0057508875 + 1709500 0.0050877044 0.0023635762 0.0048676807 + 1709600 0.0050724447 0.0021020657 0.0045986595 + 1709700 0.0054349921 0.0019652787 0.0046403139 + 1709800 0.0044126841 0.0024041282 0.0045759961 + 1709900 0.0048973676 0.0026142109 0.005024634 + 1710000 0.0056945975 0.002955427 0.0057582367 + 1710100 0.0045383987 0.0025655947 0.0047993378 + 1710200 0.0049651686 0.0021502801 0.0045940741 + 1710300 0.0056125712 0.0022698021 0.0050322395 + 1710400 0.0040203534 0.0024006116 0.0043793793 + 1710500 0.0042680598 0.0023648035 0.0044654892 + 1710600 0.0038999878 0.0026275126 0.0045470379 + 1710700 0.0044872507 0.002624845 0.0048334137 + 1710800 0.0054108493 0.0024641204 0.0051272728 + 1710900 0.0046510807 0.0027794633 0.0050686671 + 1711000 0.0057748728 0.0024513809 0.0052937011 + 1711100 0.0066710651 0.002281516 0.0055649309 + 1711200 0.0051543517 0.002383307 0.0049202145 + 1711300 0.0040212031 0.0021987094 0.0041778953 + 1711400 0.0038204959 0.0020059996 0.0038863999 + 1711500 0.0052003563 0.001894583 0.0044541333 + 1711600 0.0052450181 0.0018755714 0.0044571037 + 1711700 0.0044268212 0.0020946304 0.0042734565 + 1711800 0.0046410035 0.0027555824 0.0050398263 + 1711900 0.0039964498 0.0027589413 0.0047259439 + 1712000 0.0045707678 0.0029262011 0.0051758759 + 1712100 0.0069728945 0.0025466032 0.0059785747 + 1712200 0.0069787334 0.0027669404 0.0062017857 + 1712300 0.0050488212 0.0029759723 0.005460939 + 1712400 0.0045372769 0.0024141589 0.0046473498 + 1712500 0.0036632711 0.0023480942 0.0041511104 + 1712600 0.0040493307 0.0026345001 0.00462753 + 1712700 0.0051185588 0.0024548427 0.0049741333 + 1712800 0.0063319113 0.0023913174 0.005507805 + 1712900 0.0038482342 0.0025153739 0.0044094266 + 1713000 0.0052531868 0.0025648112 0.0051503641 + 1713100 0.0043221809 0.0023819064 0.0045092298 + 1713200 0.0040488295 0.0024938388 0.0044866221 + 1713300 0.0034815887 0.0028477668 0.0045613613 + 1713400 0.0069551758 0.0022939215 0.0057171721 + 1713500 0.0046601484 0.0020863917 0.0043800585 + 1713600 0.0043473424 0.0019242305 0.0040639381 + 1713700 0.0061160806 0.0020682434 0.0050785018 + 1713800 0.0048695556 0.0020798042 0.0044765386 + 1713900 0.004386583 0.0018929904 0.0040520117 + 1714000 0.003617531 0.0018935487 0.0036740522 + 1714100 0.0055593089 0.0018911349 0.0046273573 + 1714200 0.0055492905 0.0021031358 0.0048344272 + 1714300 0.0050519071 0.0022898359 0.0047763214 + 1714400 0.0065134153 0.0026657881 0.0058716097 + 1714500 0.0059094416 0.002798812 0.0057073653 + 1714600 0.003030212 0.0033786505 0.0048700829 + 1714700 0.0054995183 0.0029987457 0.0057055399 + 1714800 0.0045332873 0.0030002794 0.0052315068 + 1714900 0.0047554468 0.0029682094 0.0053087809 + 1715000 0.0045571993 0.0033160534 0.0055590499 + 1715100 0.0041083944 0.0033362842 0.0053583846 + 1715200 0.0064534214 0.0033180601 0.0064943535 + 1715300 0.0044793255 0.0034465794 0.0056512474 + 1715400 0.0066164133 0.0029496673 0.0062061832 + 1715500 0.0047903435 0.0028070931 0.0051648403 + 1715600 0.0052635067 0.0026362027 0.0052268349 + 1715700 0.0061787184 0.0026437183 0.0056848063 + 1715800 0.0059356212 0.0026228276 0.0055442662 + 1715900 0.0044268122 0.0022982922 0.0044771138 + 1716000 0.0043068213 0.0017643304 0.0038840941 + 1716100 0.0047392486 0.0018469664 0.0041795654 + 1716200 0.0049031223 0.0019443363 0.0043575918 + 1716300 0.0048723343 0.0019530477 0.0043511497 + 1716400 0.0053186602 0.0018474202 0.0044651983 + 1716500 0.0064577179 0.0022431782 0.0054215862 + 1716600 0.0050365953 0.0025324558 0.005011405 + 1716700 0.0055860761 0.0023988723 0.0051482691 + 1716800 0.0045058421 0.0020811562 0.0042988753 + 1716900 0.0066774513 0.0020500894 0.0053366474 + 1717000 0.0053081983 0.0023926411 0.0050052699 + 1717100 0.0049226675 0.0018788266 0.004301702 + 1717200 0.0047429106 0.0019461555 0.0042805568 + 1717300 0.0043918202 0.00219018 0.004351779 + 1717400 0.0051760108 0.0027239917 0.0052715596 + 1717500 0.0055262013 0.0026636038 0.005383531 + 1717600 0.0052019872 0.0022188323 0.0047791854 + 1717700 0.0043256876 0.0020541768 0.0041832261 + 1717800 0.0061362836 0.0020860453 0.0051062474 + 1717900 0.0049318044 0.0022271322 0.0046545046 + 1718000 0.0063310709 0.0021509366 0.0052670106 + 1718100 0.0031400469 0.0022180625 0.0037635544 + 1718200 0.0058672646 0.0015992941 0.0044870884 + 1718300 0.005501664 0.0015817365 0.0042895867 + 1718400 0.007399268 0.0017988331 0.0054406603 + 1718500 0.005647364 0.0024225645 0.0052021265 + 1718600 0.0046122171 0.002515872 0.0047859476 + 1718700 0.0051578326 0.0021557094 0.0046943301 + 1718800 0.0061455964 0.0023346366 0.0053594223 + 1718900 0.0050302803 0.0022943734 0.0047702145 + 1719000 0.0052448309 0.0022131931 0.0047946333 + 1719100 0.0047375 0.0024386867 0.004770425 + 1719200 0.0048274542 0.002342042 0.0047180546 + 1719300 0.0045974955 0.0025212784 0.0047841082 + 1719400 0.0039130925 0.0025179971 0.0044439723 + 1719500 0.0044118658 0.0024602814 0.0046317467 + 1719600 0.0042501032 0.0022705626 0.0043624103 + 1719700 0.005148765 0.0023329716 0.0048671293 + 1719800 0.0065884223 0.0022724462 0.0055151853 + 1719900 0.0057893272 0.0025280772 0.0053775116 + 1720000 0.0039262618 0.0023200431 0.0042525001 + 1720100 0.0043194733 0.0018757418 0.0040017325 + 1720200 0.0036842619 0.0024320726 0.0042454202 + 1720300 0.0045055693 0.0025501001 0.004767685 + 1720400 0.0053250507 0.0021969348 0.0048178582 + 1720500 0.0035097888 0.0022775072 0.0040049814 + 1720600 0.0043507809 0.0024788686 0.0046202686 + 1720700 0.0056125793 0.0025338382 0.0052962795 + 1720800 0.0046382883 0.0024968535 0.0047797611 + 1720900 0.0036828848 0.0024986228 0.0043112926 + 1721000 0.0051619273 0.0024405518 0.0049811879 + 1721100 0.0054839583 0.0025706392 0.0052697749 + 1721200 0.0035185473 0.0027741261 0.0045059112 + 1721300 0.0049987706 0.0027162868 0.0051766192 + 1721400 0.0057953802 0.0029424959 0.0057949096 + 1721500 0.005339383 0.0028524083 0.0054803858 + 1721600 0.0061516767 0.0028811485 0.0059089269 + 1721700 0.0061138948 0.0032301147 0.0062392973 + 1721800 0.0048433325 0.0032649751 0.0056488028 + 1721900 0.0038829032 0.0032204822 0.0051315986 + 1722000 0.0052525715 0.0027097048 0.0052949548 + 1722100 0.005715345 0.0022174199 0.0050304413 + 1722200 0.0057932738 0.0027049408 0.0055563178 + 1722300 0.0044757507 0.0030238012 0.0052267098 + 1722400 0.005385232 0.0034046023 0.0060551462 + 1722500 0.0042436286 0.0033536195 0.0054422805 + 1722600 0.0039266112 0.0034237158 0.0053563447 + 1722700 0.0056726653 0.0033070821 0.0060990971 + 1722800 0.0046421528 0.0033422137 0.0056270233 + 1722900 0.0056067267 0.0032033124 0.0059628732 + 1723000 0.0043274614 0.0029657644 0.0050956868 + 1723100 0.0041569879 0.0031639539 0.0052099713 + 1723200 0.0048022181 0.0031633643 0.005526956 + 1723300 0.0041883405 0.0026627485 0.0047241973 + 1723400 0.0054332696 0.0024027988 0.0050769862 + 1723500 0.0042678354 0.0028786853 0.0049792605 + 1723600 0.0050356665 0.0035168842 0.0059953763 + 1723700 0.0043505865 0.0029525602 0.0050938645 + 1723800 0.0051669957 0.002839718 0.0053828487 + 1723900 0.0071313016 0.0031380267 0.0066479642 + 1724000 0.0053900647 0.0035031784 0.0061561009 + 1724100 0.0041937606 0.0030331305 0.0050972471 + 1724200 0.0042885383 0.0024221973 0.0045329623 + 1724300 0.0051166255 0.0023741116 0.0048924507 + 1724400 0.0054996237 0.0025234336 0.0052302797 + 1724500 0.006429137 0.0021946966 0.0053590375 + 1724600 0.0058595949 0.0020283983 0.0049124176 + 1724700 0.0057186214 0.0026045802 0.0054192142 + 1724800 0.0047587641 0.0028391677 0.0051813719 + 1724900 0.0044472364 0.0031137516 0.0053026258 + 1725000 0.0051496095 0.0032019723 0.0057365458 + 1725100 0.0052368616 0.0027898061 0.005367324 + 1725200 0.0051941165 0.0026210101 0.0051774893 + 1725300 0.0068196887 0.0029057719 0.0062623374 + 1725400 0.0053533412 0.0031629732 0.0057978208 + 1725500 0.0048306667 0.0031713054 0.0055488992 + 1725600 0.0046665806 0.0028387265 0.0051355591 + 1725700 0.0038887382 0.0027266892 0.0046406776 + 1725800 0.005007118 0.0025072005 0.0049716414 + 1725900 0.0055171566 0.0023616003 0.0050770758 + 1726000 0.0053510286 0.0026404986 0.005274208 + 1726100 0.0048009866 0.0026220074 0.004984993 + 1726200 0.005082385 0.0024150674 0.0049165537 + 1726300 0.0054322831 0.0024426962 0.005116398 + 1726400 0.0058297968 0.0025140805 0.0053834336 + 1726500 0.0059649815 0.0024011478 0.0053370372 + 1726600 0.004681758 0.002340689 0.0046449918 + 1726700 0.0050198922 0.0021882901 0.0046590183 + 1726800 0.0038030879 0.0024583189 0.0043301512 + 1726900 0.0061457232 0.0022809602 0.0053058083 + 1727000 0.0053925099 0.0023622989 0.0050164249 + 1727100 0.0049296754 0.0024577831 0.0048841078 + 1727200 0.0053559728 0.002772386 0.0054085289 + 1727300 0.0046535087 0.0031395394 0.0054299382 + 1727400 0.0058269508 0.0025864915 0.0054544439 + 1727500 0.0056573156 0.0022101168 0.0049945768 + 1727600 0.0049905603 0.0026989189 0.0051552103 + 1727700 0.0042830655 0.0032261846 0.0053342559 + 1727800 0.004136421 0.0038153686 0.0058512633 + 1727900 0.0050951756 0.0037449495 0.0062527312 + 1728000 0.004984718 0.003363139 0.0058165549 + 1728100 0.0062848429 0.0026769432 0.0057702643 + 1728200 0.0055187654 0.0023633992 0.0050796665 + 1728300 0.0048460343 0.0023358505 0.004721008 + 1728400 0.003883629 0.0027304114 0.004641885 + 1728500 0.0057253995 0.0026354122 0.0054533823 + 1728600 0.0033845529 0.0024941065 0.0041599411 + 1728700 0.0043987178 0.0021830253 0.0043480192 + 1728800 0.0051691732 0.0020954875 0.00463969 + 1728900 0.0047818633 0.0024723949 0.0048259682 + 1729000 0.0059213791 0.0027525474 0.0056669762 + 1729100 0.0037043638 0.0027132143 0.0045364559 + 1729200 0.0049229976 0.0023786015 0.0048016393 + 1729300 0.0056054439 0.0018014237 0.0045603531 + 1729400 0.0055803481 0.0015483738 0.0042949514 + 1729500 0.005147778 0.0019259366 0.0044596086 + 1729600 0.0043834613 0.0022836024 0.0044410872 + 1729700 0.0036220115 0.002342922 0.0041256308 + 1729800 0.0034882855 0.0019767045 0.0036935951 + 1729900 0.005726432 0.001635036 0.0044535142 + 1730000 0.0053960458 0.002032577 0.0046884433 + 1730100 0.0049832093 0.0026482624 0.0051009358 + 1730200 0.004992416 0.0029584959 0.0054157006 + 1730300 0.007169188 0.0029183722 0.0064469569 + 1730400 0.006694281 0.0030796447 0.0063744861 + 1730500 0.0036663244 0.00328594 0.0050904591 + 1730600 0.00541351 0.002819862 0.0054843239 + 1730700 0.0038812311 0.0025601518 0.0044704452 + 1730800 0.0042066962 0.002390096 0.0044605792 + 1730900 0.0048221125 0.0022593902 0.0046327737 + 1731000 0.0045878249 0.0022064825 0.0044645526 + 1731100 0.0045032409 0.0022094804 0.0044259192 + 1731200 0.0053829766 0.0021162293 0.0047656631 + 1731300 0.0054229911 0.0026563715 0.0053255 + 1731400 0.0048727321 0.0026593119 0.0050576098 + 1731500 0.0050701517 0.0027212787 0.005216744 + 1731600 0.0058280367 0.0028867846 0.0057552714 + 1731700 0.0049363692 0.0027790302 0.0052086494 + 1731800 0.0065099456 0.0023096429 0.0055137567 + 1731900 0.0052811615 0.0024409337 0.0050402554 + 1732000 0.00415052 0.0027978293 0.0048406634 + 1732100 0.0057540991 0.0026030488 0.0054351445 + 1732200 0.0064227028 0.0024695042 0.0056306782 + 1732300 0.0058190592 0.0025921061 0.0054561743 + 1732400 0.0053035167 0.0028277873 0.0054381119 + 1732500 0.0053347273 0.0022297704 0.0048554565 + 1732600 0.0044781971 0.0022605925 0.0044647052 + 1732700 0.0040456283 0.0024149924 0.0044062 + 1732800 0.0056952881 0.0025863984 0.005389548 + 1732900 0.0053296985 0.0023044754 0.0049276864 + 1733000 0.0048537642 0.0021982371 0.0045871991 + 1733100 0.0055571555 0.0023427814 0.0050779439 + 1733200 0.0066740143 0.0025596194 0.0058444858 + 1733300 0.005742997 0.0028620027 0.005688634 + 1733400 0.00542953 0.0025419716 0.0052143184 + 1733500 0.0046905538 0.0024765892 0.0047852211 + 1733600 0.0056352494 0.0023095493 0.0050831486 + 1733700 0.0062935727 0.001883593 0.0049812108 + 1733800 0.004699127 0.0017781318 0.0040909833 + 1733900 0.0056426007 0.002091474 0.0048686916 + 1734000 0.0058376099 0.002551493 0.0054246916 + 1734100 0.0050429739 0.0028676163 0.0053497051 + 1734200 0.0043305002 0.0031475932 0.0052790113 + 1734300 0.005275518 0.0029090427 0.0055055867 + 1734400 0.0067785509 0.0026489317 0.0059852497 + 1734500 0.0050183952 0.0026840051 0.0051539965 + 1734600 0.0047755779 0.0028659719 0.0052164517 + 1734700 0.0037668462 0.0031484145 0.0050024091 + 1734800 0.0059527531 0.0027164336 0.0056463043 + 1734900 0.0062094667 0.002320614 0.005376836 + 1735000 0.0053030555 0.0021161976 0.0047262952 + 1735100 0.0046568977 0.0021988977 0.0044909645 + 1735200 0.0059010002 0.002175547 0.0050799456 + 1735300 0.0061958903 0.0025758372 0.005625377 + 1735400 0.0057136582 0.0026114738 0.0054236649 + 1735500 0.0063750067 0.0028612729 0.0059989715 + 1735600 0.0053494701 0.0036945892 0.0063275315 + 1735700 0.0045713244 0.0033849831 0.0056349318 + 1735800 0.0031216763 0.0030313018 0.0045677519 + 1735900 0.005746327 0.0027460987 0.005574369 + 1736000 0.0037211408 0.0025645001 0.0043959991 + 1736100 0.0046107849 0.0023545481 0.0046239189 + 1736200 0.0034428428 0.0023382377 0.0040327619 + 1736300 0.0057378037 0.0019393258 0.004763401 + 1736400 0.0051073543 0.0018510839 0.0043648599 + 1736500 0.0047645752 0.0020340178 0.0043790822 + 1736600 0.0044756915 0.0021659472 0.0043688267 + 1736700 0.0044055098 0.0022710857 0.0044394225 + 1736800 0.0039354443 0.0022252823 0.0041622588 + 1736900 0.0050097028 0.00269379 0.0051595031 + 1737000 0.0038847536 0.0029975155 0.0049095426 + 1737100 0.0054737758 0.0023939834 0.0050881074 + 1737200 0.0057023108 0.0022977667 0.0051043728 + 1737300 0.0050720907 0.0026275556 0.0051239752 + 1737400 0.004792361 0.0026940309 0.0050527711 + 1737500 0.0047087909 0.0025377319 0.0048553399 + 1737600 0.0048197957 0.0020295456 0.0044017888 + 1737700 0.0056974338 0.0019884191 0.0047926248 + 1737800 0.004759503 0.0024262807 0.0047688486 + 1737900 0.0040707207 0.0028045247 0.0048080825 + 1738000 0.004908504 0.0025846737 0.005000578 + 1738100 0.0050711837 0.0021813444 0.0046773177 + 1738200 0.0038418351 0.0020475184 0.0039384216 + 1738300 0.0044093039 0.0022440428 0.0044142471 + 1738400 0.0051710477 0.0020102751 0.0045554002 + 1738500 0.0060714285 0.0018332096 0.0048214908 + 1738600 0.0040593712 0.0022940007 0.0042919725 + 1738700 0.0049104673 0.002320081 0.0047369517 + 1738800 0.005423353 0.0020358958 0.0047052024 + 1738900 0.0045692734 0.00233662 0.0045855593 + 1739000 0.0045416316 0.0022874765 0.0045228108 + 1739100 0.0055753237 0.0022750601 0.0050191648 + 1739200 0.0049883781 0.0020795018 0.0045347192 + 1739300 0.0052509514 0.0022655514 0.004850004 + 1739400 0.0049064071 0.0027838297 0.0051987019 + 1739500 0.0054466575 0.0031100791 0.0057908559 + 1739600 0.0043893121 0.0028232451 0.0049836097 + 1739700 0.0045384814 0.0025698277 0.0048036115 + 1739800 0.0055498063 0.0028554241 0.0055869694 + 1739900 0.0056696306 0.0027186415 0.0055091628 + 1740000 0.0040783746 0.0022509839 0.0042583089 + 1740100 0.0062706811 0.0021177705 0.0052041213 + 1740200 0.0041165122 0.0025020284 0.0045281243 + 1740300 0.0037188771 0.0027873811 0.0046177659 + 1740400 0.0060068161 0.0021157174 0.0050721972 + 1740500 0.0058949877 0.0014310699 0.0043325092 + 1740600 0.0050029427 0.0013524356 0.0038148215 + 1740700 0.0058466683 0.0015518032 0.0044294603 + 1740800 0.0045495757 0.0016134569 0.0038527012 + 1740900 0.0057265965 0.0020679528 0.0048865121 + 1741000 0.005983955 0.0021213563 0.0050665842 + 1741100 0.0054298262 0.0022750248 0.0049475174 + 1741200 0.0035873618 0.0026966411 0.0044622958 + 1741300 0.0037042601 0.0026854833 0.0045086738 + 1741400 0.00664289 0.0018453586 0.005114906 + 1741500 0.0040297643 0.001944766 0.0039281656 + 1741600 0.003546476 0.0021347868 0.0038803179 + 1741700 0.0055404349 0.0019220741 0.0046490069 + 1741800 0.005490077 0.0020441281 0.0047462754 + 1741900 0.0034403536 0.0022584051 0.0039517041 + 1742000 0.0059071961 0.0022870484 0.0051944965 + 1742100 0.0054958224 0.0022377165 0.0049426916 + 1742200 0.0046305943 0.0020838146 0.0043629352 + 1742300 0.0053569438 0.00186912 0.0045057408 + 1742400 0.0043393579 0.0019951129 0.0041308906 + 1742500 0.0037326919 0.0021895512 0.0040267355 + 1742600 0.0058527136 0.0022864891 0.0051671216 + 1742700 0.0044893954 0.0021836092 0.0043932335 + 1742800 0.0049433752 0.0019914996 0.004424567 + 1742900 0.0037032368 0.0021444734 0.0039671602 + 1743000 0.0040560155 0.0019152222 0.0039115423 + 1743100 0.0042913932 0.001996273 0.0041084431 + 1743200 0.0045073107 0.0021475658 0.0043660078 + 1743300 0.0058356831 0.0017770545 0.0046493048 + 1743400 0.0047261453 0.001632658 0.0039588076 + 1743500 0.0058233083 0.0018122343 0.0046783939 + 1743600 0.0047004673 0.0022741379 0.0045876491 + 1743700 0.0055245323 0.0020215978 0.0047407036 + 1743800 0.00578952 0.0014774067 0.0043269361 + 1743900 0.0055296633 0.0016479642 0.0043695954 + 1744000 0.0068234601 0.0023564261 0.0057148479 + 1744100 0.0042560935 0.0023690165 0.0044638125 + 1744200 0.0050880539 0.0021193128 0.0046235893 + 1744300 0.0051833256 0.002049027 0.0046001951 + 1744400 0.0056838606 0.0022660567 0.0050635819 + 1744500 0.0067776304 0.0019263329 0.0052621979 + 1744600 0.003907055 0.0023832976 0.0043063012 + 1744700 0.0051463204 0.0025410232 0.0050739778 + 1744800 0.0052379929 0.0029426217 0.0055206963 + 1744900 0.0038929115 0.0033297261 0.0052457685 + 1745000 0.0044453848 0.0034127598 0.0056007226 + 1745100 0.0049866859 0.0033395938 0.0057939783 + 1745200 0.0055932312 0.0024621668 0.0052150853 + 1745300 0.0043326859 0.0018693986 0.0040018925 + 1745400 0.0052243159 0.0017183416 0.0042896846 + 1745500 0.0037261437 0.001913941 0.0037479023 + 1745600 0.0039822146 0.0021261749 0.0040861712 + 1745700 0.0050067391 0.0021309063 0.0045951607 + 1745800 0.0041976078 0.0023213329 0.004387343 + 1745900 0.0048218209 0.0020789667 0.0044522067 + 1746000 0.005147471 0.0017156651 0.004249186 + 1746100 0.0040947402 0.0021074055 0.0041227854 + 1746200 0.0053714291 0.0020561375 0.0046998878 + 1746300 0.0047363799 0.001983398 0.004314585 + 1746400 0.003749191 0.0021120408 0.0039573458 + 1746500 0.0056112019 0.0019405974 0.0047023608 + 1746600 0.0046720811 0.0018981587 0.0041976986 + 1746700 0.0050362688 0.0025482266 0.0050270152 + 1746800 0.005483912 0.0030906163 0.0057897293 + 1746900 0.0061140692 0.0025580433 0.0055673117 + 1747000 0.0075131498 0.002046077 0.0057439555 + 1747100 0.0067377668 0.00189538 0.0052116246 + 1747200 0.0047331985 0.0023162136 0.0046458347 + 1747300 0.0053225524 0.0018998918 0.0045195855 + 1747400 0.0036700965 0.0019674262 0.0037738018 + 1747500 0.0045876359 0.0024144239 0.004672401 + 1747600 0.0054887798 0.0029831269 0.0056846357 + 1747700 0.0056493822 0.0028568019 0.0056373572 + 1747800 0.0052499945 0.0032635379 0.0058475196 + 1747900 0.0046888022 0.0030162028 0.0053239726 + 1748000 0.0045277272 0.0025887871 0.0048172778 + 1748100 0.0054692111 0.0024868052 0.0051786825 + 1748200 0.004127615 0.0028054089 0.0048369694 + 1748300 0.0051393173 0.0024609425 0.0049904502 + 1748400 0.0051882494 0.0026960292 0.0052496207 + 1748500 0.0048994391 0.0026399012 0.0050513439 + 1748600 0.0043996888 0.0022298669 0.0043953387 + 1748700 0.0064274864 0.0023549668 0.0055184953 + 1748800 0.006274093 0.0022570724 0.0053451025 + 1748900 0.0052026486 0.002758453 0.0053191316 + 1749000 0.004009864 0.0028613902 0.0048349951 + 1749100 0.0048703204 0.0028675516 0.0052646624 + 1749200 0.0052245597 0.0028838042 0.0054552672 + 1749300 0.004817961 0.0028736314 0.0052449716 + 1749400 0.0051264134 0.0029320523 0.0054552089 + 1749500 0.0073661639 0.0023041125 0.0059296463 + 1749600 0.0043055506 0.0024079303 0.0045270685 + 1749700 0.0047532897 0.0020166188 0.0043561286 + 1749800 0.0051933931 0.0017493598 0.0043054829 + 1749900 0.0049806923 0.0017576068 0.0042090413 + 1750000 0.0036417494 0.0019395724 0.0037319959 + 1750100 0.003840005 0.0018811299 0.0037711324 + 1750200 0.0056635717 0.0019623688 0.004749908 + 1750300 0.0065692611 0.0023040241 0.0055373323 + 1750400 0.0052113071 0.0026860758 0.005251016 + 1750500 0.0036410161 0.0033532161 0.0051452787 + 1750600 0.0055006939 0.0032920537 0.0059994265 + 1750700 0.007096572 0.0026647171 0.0061575611 + 1750800 0.0050566881 0.002760163 0.0052490016 + 1750900 0.0053497695 0.0024858525 0.0051189422 + 1751000 0.0054475209 0.002640353 0.0053215547 + 1751100 0.0055406795 0.0026261803 0.0053532335 + 1751200 0.0036095297 0.0027771921 0.0045537576 + 1751300 0.003771049 0.002593969 0.0044500322 + 1751400 0.0039921933 0.0030453833 0.0050102909 + 1751500 0.0050324697 0.0029510642 0.0054279829 + 1751600 0.005664032 0.0026041898 0.0053919555 + 1751700 0.0038714686 0.0026424 0.0045478885 + 1751800 0.004410971 0.0023977291 0.0045687539 + 1751900 0.0047793964 0.0024451759 0.004797535 + 1752000 0.0056694252 0.0028355191 0.0056259393 + 1752100 0.0044059303 0.0027307674 0.0048993112 + 1752200 0.0036211125 0.002562308 0.0043445743 + 1752300 0.0047929515 0.0025269973 0.0048860282 + 1752400 0.0047792779 0.0026175864 0.0049698873 + 1752500 0.0053357584 0.002855661 0.0054818546 + 1752600 0.0047721485 0.0027612361 0.005110028 + 1752700 0.0051034349 0.0028221558 0.0053340026 + 1752800 0.0052759311 0.0026457975 0.0052425449 + 1752900 0.0039342517 0.0027428813 0.0046792708 + 1753000 0.0064508463 0.0026345971 0.005809623 + 1753100 0.0068647903 0.0027416857 0.0061204497 + 1753200 0.0064463746 0.0028482681 0.0060210931 + 1753300 0.0047305928 0.0025866046 0.0049149433 + 1753400 0.003443834 0.0025018195 0.0041968316 + 1753500 0.0055246018 0.0025632188 0.0052823587 + 1753600 0.0065642887 0.0030686517 0.0062995125 + 1753700 0.0050383242 0.0029283343 0.0054081345 + 1753800 0.0047845833 0.0027391813 0.0050940934 + 1753900 0.0059913298 0.0026551777 0.0056040354 + 1754000 0.0055249961 0.0026399483 0.0053592823 + 1754100 0.0044615362 0.0024935474 0.0046894597 + 1754200 0.0053601971 0.0023018231 0.0049400451 + 1754300 0.0031417986 0.0025888855 0.0041352395 + 1754400 0.0048475742 0.002389492 0.0047754074 + 1754500 0.0048044586 0.0026318205 0.004996515 + 1754600 0.0040643428 0.0030238884 0.0050243072 + 1754700 0.0046313093 0.002897246 0.0051767185 + 1754800 0.0066412028 0.0025758437 0.0058445607 + 1754900 0.0045584059 0.0024877318 0.0047313222 + 1755000 0.0063288676 0.0026912977 0.0058062873 + 1755100 0.0062917476 0.0024243139 0.0055210334 + 1755200 0.0052043884 0.0023621441 0.004923679 + 1755300 0.0053725955 0.0023610806 0.0050054049 + 1755400 0.0043694533 0.002293562 0.0044441523 + 1755500 0.0051508578 0.0021584162 0.004693604 + 1755600 0.0047789279 0.0021904854 0.004542614 + 1755700 0.0057643772 0.0018426952 0.0046798497 + 1755800 0.0045364153 0.0017633178 0.0039960847 + 1755900 0.005349409 0.0018694989 0.0045024111 + 1756000 0.0044423148 0.0021108008 0.0042972526 + 1756100 0.0051941319 0.0021304724 0.0046869592 + 1756200 0.0038357246 0.0024121689 0.0043000646 + 1756300 0.0049703994 0.002061538 0.0045079065 + 1756400 0.0036394093 0.0022033478 0.0039946195 + 1756500 0.0044526621 0.0025282263 0.004719771 + 1756600 0.0040109553 0.0025421677 0.0045163097 + 1756700 0.0051864357 0.0021803224 0.0047330212 + 1756800 0.0076732371 0.0019657416 0.005742413 + 1756900 0.0051793624 0.0024518841 0.0050011015 + 1757000 0.0045633163 0.0028297712 0.0050757785 + 1757100 0.0057156185 0.0023428292 0.0051559852 + 1757200 0.0048347336 0.0019633376 0.0043429331 + 1757300 0.0042042353 0.0020232255 0.0040924975 + 1757400 0.0033656001 0.0025959295 0.0042524359 + 1757500 0.0038702466 0.0029808192 0.0048857062 + 1757600 0.006286415 0.002873339 0.0059674338 + 1757700 0.0055643243 0.0025655075 0.0053041984 + 1757800 0.0049938667 0.0025898882 0.0050478069 + 1757900 0.0068179948 0.0027319535 0.0060876853 + 1758000 0.0057420094 0.0026574842 0.0054836294 + 1758100 0.0049020929 0.0025222139 0.0049349628 + 1758200 0.0046668789 0.0023578443 0.0046548238 + 1758300 0.0046286605 0.0020701523 0.0043483211 + 1758400 0.0045108052 0.0019655011 0.004185663 + 1758500 0.0046233885 0.0020159534 0.0042915274 + 1758600 0.0041456117 0.0021659897 0.0042064079 + 1758700 0.0051782246 0.0019289318 0.0044775892 + 1758800 0.0045746212 0.0021612705 0.0044128419 + 1758900 0.0077424811 0.0026041625 0.006414915 + 1759000 0.0044599219 0.0035705356 0.0057656534 + 1759100 0.0065373173 0.0026687611 0.005886347 + 1759200 0.0053380901 0.0023476053 0.0049749466 + 1759300 0.0036854572 0.0021156971 0.003929633 + 1759400 0.0052732166 0.0018310809 0.0044264922 + 1759500 0.0054625405 0.0017695043 0.0044580984 + 1759600 0.0050989864 0.0021545027 0.0046641601 + 1759700 0.0056697487 0.0023140151 0.0051045945 + 1759800 0.0048036163 0.0025651592 0.0049294391 + 1759900 0.0066365622 0.0021701065 0.0054365395 + 1760000 0.0058820827 0.0022204213 0.0051155089 + 1760100 0.0058255798 0.0020057335 0.004873011 + 1760200 0.0058720848 0.0022649235 0.0051550902 + 1760300 0.0053221326 0.0023306227 0.0049501098 + 1760400 0.0048428638 0.0019462132 0.0043298102 + 1760500 0.0049457944 0.0021150055 0.0045492637 + 1760600 0.0051563363 0.0021394344 0.0046773187 + 1760700 0.0062422111 0.002456977 0.0055293153 + 1760800 0.004972519 0.0024777978 0.0049252095 + 1760900 0.0058191548 0.0025581804 0.0054222956 + 1761000 0.0058589242 0.0023195454 0.0052032347 + 1761100 0.0044741632 0.002366277 0.0045684042 + 1761200 0.0047234054 0.0029343213 0.0052591224 + 1761300 0.0034372568 0.0033588576 0.0050506324 + 1761400 0.0054314571 0.0030128716 0.0056861669 + 1761500 0.0055650354 0.0028475325 0.0055865734 + 1761600 0.0041294886 0.0031608643 0.005193347 + 1761700 0.004710439 0.0031064815 0.0054249007 + 1761800 0.0051489401 0.0030547064 0.0055889504 + 1761900 0.0048898376 0.0028908117 0.0052975287 + 1762000 0.0041400356 0.0026896011 0.0047272749 + 1762100 0.0041153292 0.0023297222 0.0043552358 + 1762200 0.0061146657 0.0023242546 0.0053338166 + 1762300 0.0043538133 0.0026548768 0.0047977693 + 1762400 0.0050189972 0.0029637082 0.0054339959 + 1762500 0.003859436 0.0027595641 0.0046591302 + 1762600 0.0040910028 0.002911193 0.0049247334 + 1762700 0.0040779655 0.0029964208 0.0050035444 + 1762800 0.0062508472 0.0028213474 0.0058979363 + 1762900 0.0058963666 0.0032020578 0.0061041757 + 1763000 0.0055330789 0.0031209309 0.0058442432 + 1763100 0.0061840829 0.0031093313 0.0061530596 + 1763200 0.0057304501 0.0028744931 0.005694949 + 1763300 0.0066838907 0.0024058355 0.005695563 + 1763400 0.0061499035 0.0029665559 0.0059934615 + 1763500 0.0040618285 0.0035568507 0.0055560319 + 1763600 0.0040196835 0.0031507056 0.0051291436 + 1763700 0.0048724074 0.0024303971 0.0048285351 + 1763800 0.0046991752 0.0024985705 0.0048114458 + 1763900 0.0050107177 0.0027343022 0.0052005148 + 1764000 0.0050185802 0.0029683622 0.0054384446 + 1764100 0.004866006 0.0032298905 0.0056248779 + 1764200 0.0035821347 0.0033071952 0.0050702771 + 1764300 0.0054451321 0.0030109296 0.0056909555 + 1764400 0.0050172819 0.0028488798 0.0053183232 + 1764500 0.0055271141 0.002707689 0.0054280655 + 1764600 0.0060708362 0.0023010648 0.0052890544 + 1764700 0.0074247477 0.0024447451 0.0060991131 + 1764800 0.0036788298 0.0034373136 0.0052479876 + 1764900 0.0042358808 0.003479701 0.0055645486 + 1765000 0.0051195677 0.0031467644 0.0056665516 + 1765100 0.0046031175 0.0029567829 0.0052223797 + 1765200 0.0047288973 0.0022340127 0.0045615169 + 1765300 0.0068994347 0.0023721826 0.0057679981 + 1765400 0.0043831128 0.0025344222 0.0046917355 + 1765500 0.0048644325 0.0025755385 0.0049697514 + 1765600 0.0069854098 0.0026202044 0.0060583357 + 1765700 0.0072630577 0.0026085692 0.0061833554 + 1765800 0.0067205096 0.0023127504 0.0056205012 + 1765900 0.0060598137 0.0023281079 0.0053106725 + 1766000 0.0057771635 0.002269321 0.0051127687 + 1766100 0.0039103822 0.0023200114 0.0042446527 + 1766200 0.0061375736 0.0022703678 0.0052912048 + 1766300 0.0040706058 0.0022770093 0.0042805106 + 1766400 0.0042152425 0.001948576 0.0040232657 + 1766500 0.0034265764 0.0020043932 0.0036909112 + 1766600 0.0054639563 0.0020590575 0.0047483485 + 1766700 0.0046924395 0.0021698671 0.0044794271 + 1766800 0.0045292297 0.0024400476 0.0046692778 + 1766900 0.0048551997 0.0020637839 0.0044534525 + 1767000 0.0050079294 0.0022794432 0.0047442835 + 1767100 0.0069337903 0.001999528 0.0054122529 + 1767200 0.0038805317 0.0020346708 0.00394462 + 1767300 0.0059647848 0.0017611073 0.0046968998 + 1767400 0.0048637189 0.0011650154 0.0035588771 + 1767500 0.0060984996 0.0014010857 0.0044026909 + 1767600 0.0052160525 0.0021327381 0.004700014 + 1767700 0.0055470821 0.0021436072 0.0048738117 + 1767800 0.0048510391 0.0020369055 0.0044245263 + 1767900 0.0054070497 0.0017790458 0.0044403281 + 1768000 0.0043708572 0.0019089748 0.004060256 + 1768100 0.0040518453 0.0019619598 0.0039562274 + 1768200 0.0050714221 0.0020866915 0.0045827821 + 1768300 0.005323753 0.0017068329 0.0043271176 + 1768400 0.0045638751 0.002023892 0.0042701743 + 1768500 0.0059003065 0.0024646567 0.0053687139 + 1768600 0.0049066534 0.0026947906 0.005109784 + 1768700 0.0068489917 0.0022641161 0.0056351042 + 1768800 0.0042510009 0.0029146745 0.005006964 + 1768900 0.0057944339 0.0030157024 0.0058676503 + 1769000 0.0043544813 0.0030849147 0.005228136 + 1769100 0.0039011914 0.0026169827 0.0045371004 + 1769200 0.0046844932 0.0027454751 0.005051124 + 1769300 0.0061673357 0.0028124258 0.0058479114 + 1769400 0.0069214398 0.0024992722 0.0059059184 + 1769500 0.0038789042 0.00235156 0.0042607081 + 1769600 0.0041002375 0.0021441195 0.0041622051 + 1769700 0.00403575 0.0021179691 0.0041043148 + 1769800 0.0045756594 0.0028075074 0.0050595898 + 1769900 0.0039400246 0.0028040965 0.0047433274 + 1770000 0.005204059 0.0025583242 0.005119697 + 1770100 0.0058711948 0.0029483714 0.0058381001 + 1770200 0.0052361934 0.002630979 0.005208168 + 1770300 0.0047023753 0.0024430203 0.0047574706 + 1770400 0.0045908241 0.0024594497 0.004718996 + 1770500 0.0057785032 0.0029522005 0.0057963075 + 1770600 0.0051997994 0.0034222023 0.0059814786 + 1770700 0.0049416618 0.0030500653 0.0054822895 + 1770800 0.0049661675 0.0029955153 0.0054398009 + 1770900 0.0064321142 0.0028813089 0.0060471152 + 1771000 0.004261032 0.0031702816 0.0052675083 + 1771100 0.0068024064 0.0028095902 0.0061576496 + 1771200 0.0053259209 0.0027656744 0.0053870261 + 1771300 0.0053442979 0.0027932874 0.005423684 + 1771400 0.0048326742 0.0027707881 0.00514937 + 1771500 0.0046345128 0.0027984688 0.005079518 + 1771600 0.0057706074 0.0027542651 0.0055944859 + 1771700 0.0048530802 0.0028024238 0.0051910492 + 1771800 0.0055409157 0.0025530154 0.0052801848 + 1771900 0.0055911363 0.0025072363 0.0052591237 + 1772000 0.0040757447 0.0026546109 0.0046606415 + 1772100 0.0058964492 0.0022388327 0.0051409913 + 1772200 0.0038905317 0.0020175836 0.0039324546 + 1772300 0.00399064 0.002151522 0.0041156651 + 1772400 0.0049467221 0.0023134491 0.0047481639 + 1772500 0.0041242599 0.0020051436 0.0040350528 + 1772600 0.0054830993 0.0016145022 0.0043132151 + 1772700 0.004681994 0.0019032465 0.0042076654 + 1772800 0.0045499747 0.002562031 0.0048014717 + 1772900 0.0050223167 0.0027183469 0.0051902685 + 1773000 0.004235059 0.0027488046 0.0048332477 + 1773100 0.0040606989 0.0026719993 0.0046706246 + 1773200 0.0054488797 0.0024010905 0.005082961 + 1773300 0.0062052229 0.002264626 0.0053187591 + 1773400 0.0054269835 0.0026401213 0.0053112147 + 1773500 0.0046380591 0.0028636253 0.00514642 + 1773600 0.004549113 0.0026674483 0.0049064649 + 1773700 0.0048622552 0.0023764833 0.0047696245 + 1773800 0.0056222109 0.0021450384 0.0049122204 + 1773900 0.0071084585 0.0017939058 0.0052926002 + 1774000 0.004459918 0.0021342937 0.0043294095 + 1774100 0.0051020282 0.0020863042 0.0045974587 + 1774200 0.0053293032 0.0019718726 0.004594889 + 1774300 0.0046352539 0.0015172904 0.0037987044 + 1774400 0.0063614821 0.0014542566 0.0045852986 + 1774500 0.0053710689 0.0020586972 0.0047022702 + 1774600 0.0055533511 0.0019895532 0.0047228433 + 1774700 0.0054680968 0.002199473 0.0048908019 + 1774800 0.0042172855 0.0027801308 0.004855826 + 1774900 0.0055852535 0.0028298412 0.0055788332 + 1775000 0.0040833234 0.0028824228 0.0048921835 + 1775100 0.0043560454 0.0028346588 0.0049786499 + 1775200 0.0061175753 0.0030111743 0.0060221684 + 1775300 0.0032238608 0.0029474304 0.0045341744 + 1775400 0.0061198982 0.002428581 0.0054407185 + 1775500 0.0079548146 0.0023108139 0.0062260742 + 1775600 0.0049644502 0.00276241 0.0052058503 + 1775700 0.0060934878 0.0025752404 0.005574379 + 1775800 0.005350602 0.0025629638 0.0051964632 + 1775900 0.0051280618 0.0022943512 0.0048183191 + 1776000 0.0047240219 0.0023079589 0.0046330634 + 1776100 0.0041842686 0.0022336587 0.0042931034 + 1776200 0.0050974187 0.002334791 0.0048436767 + 1776300 0.0053821352 0.0026472787 0.0052962984 + 1776400 0.0056731552 0.0027818278 0.0055740839 + 1776500 0.0050670454 0.0028773371 0.0053712735 + 1776600 0.0046221292 0.0029984632 0.0052734174 + 1776700 0.0055535456 0.0028159659 0.0055493516 + 1776800 0.0059875597 0.0024928572 0.0054398592 + 1776900 0.0049587619 0.0025653569 0.0050059975 + 1777000 0.0040677393 0.0027496261 0.0047517165 + 1777100 0.0034271611 0.0028701346 0.0045569405 + 1777200 0.0055770136 0.0024202526 0.005165189 + 1777300 0.0052323678 0.0021988499 0.004774156 + 1777400 0.0041664689 0.0022725353 0.0043232192 + 1777500 0.0039663485 0.0024733917 0.0044255788 + 1777600 0.0063472464 0.0020519986 0.005176034 + 1777700 0.0062397367 0.002386448 0.0054575684 + 1777800 0.0046084284 0.0027630417 0.0050312525 + 1777900 0.0057045911 0.0032707838 0.0060785122 + 1778000 0.0044626995 0.0031800774 0.0053765623 + 1778100 0.0057813672 0.0026079301 0.0054534468 + 1778200 0.0059004454 0.0025130779 0.0054172034 + 1778300 0.0039249344 0.0028642641 0.0047960677 + 1778400 0.0044965644 0.0029340009 0.0051471537 + 1778500 0.0042971531 0.0030673179 0.0051823229 + 1778600 0.0047985103 0.0031130594 0.0054748263 + 1778700 0.004823639 0.0028731663 0.0052473012 + 1778800 0.0043016637 0.002503632 0.0046208571 + 1778900 0.0034058184 0.0022942317 0.0039705329 + 1779000 0.0054909507 0.0023141332 0.0050167105 + 1779100 0.005957912 0.0029305955 0.0058630053 + 1779200 0.0034933304 0.0035989623 0.0053183358 + 1779300 0.00495322 0.0029468239 0.0053847369 + 1779400 0.0059793151 0.0027211616 0.0056641057 + 1779500 0.0038769968 0.0025313243 0.0044395336 + 1779600 0.0037813196 0.0026495168 0.004510635 + 1779700 0.0035656081 0.0031040485 0.0048589962 + 1779800 0.0048257148 0.0026063593 0.0049815158 + 1779900 0.0060898199 0.0025777767 0.0055751099 + 1780000 0.0046471123 0.0026709975 0.0049582481 + 1780100 0.0046240521 0.0024090907 0.0046849914 + 1780200 0.0058371132 0.0021832444 0.0050561986 + 1780300 0.0057681127 0.0022504265 0.0050894195 + 1780400 0.0057722576 0.0025438301 0.0053848631 + 1780500 0.0042416832 0.0031741434 0.0052618468 + 1780600 0.0048474321 0.0028696758 0.0052555213 + 1780700 0.003772141 0.0026399361 0.0044965368 + 1780800 0.0041744501 0.001960199 0.0040148111 + 1780900 0.0041657628 0.0017731268 0.0038234632 + 1781000 0.0048776366 0.0016448013 0.0040455131 + 1781100 0.0063191002 0.0017065806 0.0048167628 + 1781200 0.0044599041 0.001879459 0.0040745681 + 1781300 0.0054328207 0.0023036097 0.0049775761 + 1781400 0.0044055056 0.0023102496 0.0044785844 + 1781500 0.003252073 0.002291964 0.0038925936 + 1781600 0.0055700096 0.0020700076 0.0048114967 + 1781700 0.0053514767 0.0021855871 0.004819517 + 1781800 0.0045026256 0.0019600368 0.0041761729 + 1781900 0.0053511007 0.0020245043 0.0046582491 + 1782000 0.0054313463 0.0021251609 0.0047984017 + 1782100 0.0053387742 0.0022920537 0.0049197316 + 1782200 0.0065387596 0.0023241156 0.0055424114 + 1782300 0.004055933 0.0022686139 0.0042648934 + 1782400 0.0045731281 0.0023143261 0.0045651626 + 1782500 0.005258804 0.0026405442 0.0052288617 + 1782600 0.0046370281 0.0029231546 0.0052054418 + 1782700 0.0073716071 0.0027891061 0.0064173189 + 1782800 0.0054933059 0.0021449847 0.0048487212 + 1782900 0.004688709 0.0021902903 0.0044980143 + 1783000 0.0046070275 0.0025810341 0.0048485554 + 1783100 0.0060217214 0.002394027 0.005357843 + 1783200 0.0053074441 0.0024263392 0.0050385968 + 1783300 0.0046543859 0.0029387726 0.0052296031 + 1783400 0.0056668807 0.002930117 0.0057192848 + 1783500 0.0060303219 0.0027049544 0.0056730034 + 1783600 0.005951856 0.0022164177 0.0051458469 + 1783700 0.0048196162 0.0024817799 0.0048539347 + 1783800 0.0076031405 0.0022558932 0.0059980639 + 1783900 0.0037049606 0.0028503903 0.0046739256 + 1784000 0.0040212042 0.0031334031 0.0051125895 + 1784100 0.0048987818 0.0025960249 0.005007144 + 1784200 0.0059121346 0.0022506871 0.0051605658 + 1784300 0.0045990512 0.0021995184 0.0044631139 + 1784400 0.0042864853 0.0026260286 0.0047357831 + 1784500 0.0038255052 0.0028092062 0.004692072 + 1784600 0.0030588119 0.0027881656 0.0042936746 + 1784700 0.0040570284 0.0023186341 0.0043154528 + 1784800 0.0043872112 0.0018129874 0.0039723179 + 1784900 0.0046845862 0.00175495 0.0040606448 + 1785000 0.0060825824 0.0019738247 0.0049675958 + 1785100 0.0075924044 0.0028160789 0.0065529655 + 1785200 0.0050757213 0.0031374411 0.0056356477 + 1785300 0.0065859585 0.0030621414 0.0063036679 + 1785400 0.0056053785 0.0029720366 0.0057309338 + 1785500 0.0062822537 0.0031291351 0.0062211818 + 1785600 0.0047179706 0.0029443423 0.0052664685 + 1785700 0.0043615292 0.0024588577 0.0046055479 + 1785800 0.0041322789 0.0023354447 0.0043693008 + 1785900 0.0045153953 0.0022922611 0.0045146822 + 1786000 0.0041217835 0.0022508424 0.0042795327 + 1786100 0.0050395437 0.0021488358 0.0046292362 + 1786200 0.0048901237 0.0024726164 0.0048794741 + 1786300 0.0046049755 0.0024318467 0.0046983581 + 1786400 0.0050675449 0.0028623713 0.0053565535 + 1786500 0.0051188968 0.0028093578 0.0053288149 + 1786600 0.0063144773 0.002523197 0.0056311038 + 1786700 0.0056273308 0.0024697832 0.0052394851 + 1786800 0.0058641777 0.001859181 0.004745456 + 1786900 0.003769974 0.0022991978 0.0041547319 + 1787000 0.004155343 0.0026501701 0.004695378 + 1787100 0.0046896192 0.0024061676 0.0047143396 + 1787200 0.0044187429 0.0024693523 0.0046442024 + 1787300 0.0029594881 0.002228887 0.0036855101 + 1787400 0.005720981 0.002086941 0.0049027363 + 1787500 0.0052433211 0.0020375771 0.0046182742 + 1787600 0.0033731947 0.0023766845 0.0040369287 + 1787700 0.0053946692 0.0023280707 0.0049832594 + 1787800 0.0038450071 0.0020653117 0.0039577762 + 1787900 0.0058011883 0.0021315029 0.0049867753 + 1788000 0.0048836285 0.0023042716 0.0047079325 + 1788100 0.0060409569 0.0024436836 0.0054169671 + 1788200 0.0054915145 0.0023972016 0.0051000564 + 1788300 0.0053096412 0.0021909001 0.0048042391 + 1788400 0.0046134145 0.0022054646 0.0044761296 + 1788500 0.0055614033 0.0017865957 0.0045238488 + 1788600 0.0035376907 0.0019443928 0.0036855999 + 1788700 0.0036342501 0.0017978838 0.0035866163 + 1788800 0.0036605705 0.0023307898 0.0041324769 + 1788900 0.0044264074 0.0027176314 0.0048962538 + 1789000 0.0045645148 0.0023610502 0.0046076473 + 1789100 0.0054128415 0.0016410761 0.004305209 + 1789200 0.0044797618 0.0015685684 0.0037734512 + 1789300 0.0050134719 0.0022570514 0.0047246196 + 1789400 0.0035456624 0.0025107962 0.0042559269 + 1789500 0.0054264343 0.002205841 0.0048766641 + 1789600 0.0049377306 0.0019795308 0.00440982 + 1789700 0.0054929627 0.0018279272 0.0045314948 + 1789800 0.0056317395 0.0018387372 0.0046106089 + 1789900 0.0054477424 0.001918861 0.0046001717 + 1790000 0.0061166942 0.0017425682 0.0047531287 + 1790100 0.0047206958 0.0016293485 0.0039528159 + 1790200 0.0050466026 0.0019104786 0.0043943533 + 1790300 0.0055098747 0.0024045502 0.0051164417 + 1790400 0.0041100351 0.0027701659 0.0047930738 + 1790500 0.0054833672 0.0024186698 0.0051175146 + 1790600 0.0038446007 0.0023187968 0.0042110613 + 1790700 0.0035237724 0.0022849663 0.0040193231 + 1790800 0.0048908673 0.0024260437 0.0048332675 + 1790900 0.004583352 0.0023135415 0.00456941 + 1791000 0.0048549088 0.0021225359 0.0045120614 + 1791100 0.0057521822 0.0020858755 0.0049170277 + 1791200 0.0049465905 0.0023389117 0.0047735617 + 1791300 0.0066242164 0.0024416075 0.005701964 + 1791400 0.0036042088 0.0026620747 0.0044360212 + 1791500 0.0038838709 0.0021897137 0.0041013064 + 1791600 0.0072772002 0.0019395536 0.0055213006 + 1791700 0.0064005983 0.0021882377 0.0053385321 + 1791800 0.0039683597 0.0030505669 0.0050037439 + 1791900 0.0056292394 0.0026831906 0.0054538319 + 1792000 0.0056871656 0.0018498849 0.0046490367 + 1792100 0.0060254467 0.0021763085 0.005141958 + 1792200 0.0048516731 0.0026435444 0.0050314772 + 1792300 0.0053022466 0.0026289588 0.0052386583 + 1792400 0.0049425523 0.0020299176 0.00446258 + 1792500 0.0052739601 0.0016919053 0.0042876825 + 1792600 0.0051365909 0.0019345666 0.0044627325 + 1792700 0.0041331536 0.0023882385 0.0044225251 + 1792800 0.0052937532 0.0022958225 0.0049013416 + 1792900 0.0053128167 0.0028033439 0.0054182458 + 1793000 0.0052638617 0.0028096409 0.0054004478 + 1793100 0.0051241865 0.002445513 0.0049675736 + 1793200 0.0040783579 0.0026710147 0.0046783315 + 1793300 0.0062805067 0.0031101245 0.0062013113 + 1793400 0.005943154 0.0030451801 0.0059703262 + 1793500 0.0049224674 0.0029468156 0.0053695925 + 1793600 0.0058270309 0.0024391155 0.0053071072 + 1793700 0.0058299548 0.0026495866 0.0055190175 + 1793800 0.0051110852 0.0023681363 0.0048837486 + 1793900 0.0039492503 0.0024943643 0.0044381359 + 1794000 0.0039914355 0.0028223492 0.0047868839 + 1794100 0.0059978523 0.0026186269 0.0055706948 + 1794200 0.0056554683 0.0028270921 0.0056106429 + 1794300 0.004619497 0.0028630626 0.0051367213 + 1794400 0.0052870487 0.0022770286 0.0048792479 + 1794500 0.0056897904 0.0017861981 0.0045866418 + 1794600 0.0039165268 0.0019003023 0.0038279678 + 1794700 0.0045604543 0.001969831 0.0042144297 + 1794800 0.0044160448 0.0021746743 0.0043481963 + 1794900 0.0058254706 0.0020149964 0.0048822202 + 1795000 0.0059380582 0.0018067001 0.0047293381 + 1795100 0.0066202911 0.0021804784 0.0054389029 + 1795200 0.0054900243 0.0030134827 0.005715604 + 1795300 0.0060153822 0.0027925295 0.0057532254 + 1795400 0.0058207351 0.0024514828 0.0053163759 + 1795500 0.0058946396 0.002399806 0.0053010739 + 1795600 0.0056265761 0.0023844654 0.0051537958 + 1795700 0.0056059041 0.002450215 0.0052093709 + 1795800 0.0047967763 0.0023676529 0.0047285662 + 1795900 0.0042767896 0.0024859965 0.0045909789 + 1796000 0.0034430464 0.0025494097 0.0042440341 + 1796100 0.005215726 0.0022809971 0.0048481123 + 1796200 0.0045562356 0.0022298978 0.0044724201 + 1796300 0.0043491126 0.0025136044 0.0046541833 + 1796400 0.0045600199 0.0025984887 0.0048428735 + 1796500 0.0034345473 0.0022288922 0.0039193335 + 1796600 0.0058832599 0.0018791715 0.0047748385 + 1796700 0.0064036137 0.0017393544 0.0048911331 + 1796800 0.0066724874 0.0015198839 0.0048039987 + 1796900 0.0058135598 0.0017834999 0.0046448614 + 1797000 0.003319867 0.0023055387 0.0039395357 + 1797100 0.0049728983 0.0020983906 0.004545989 + 1797200 0.0042677178 0.0019825045 0.0040830219 + 1797300 0.0042104361 0.0017770067 0.0038493307 + 1797400 0.0062154091 0.0019446376 0.0050037842 + 1797500 0.0043281835 0.0023630485 0.0044933263 + 1797600 0.0055289871 0.0021726597 0.004893958 + 1797700 0.0051531736 0.0021299458 0.0046662734 + 1797800 0.0053781846 0.0021472624 0.0047943377 + 1797900 0.0054897595 0.0024743211 0.0051763121 + 1798000 0.0050022057 0.0019668524 0.0044288755 + 1798100 0.0048799448 0.0017542894 0.0041561372 + 1798200 0.0041060146 0.0019240868 0.0039450159 + 1798300 0.0041274712 0.0021007127 0.0041322024 + 1798400 0.0060308851 0.0019858577 0.004954184 + 1798500 0.003730382 0.002159946 0.0039959934 + 1798600 0.0048111364 0.0019622036 0.0043301848 + 1798700 0.0047630899 0.0017733343 0.0041176676 + 1798800 0.00501451 0.0019162265 0.0043843057 + 1798900 0.0044080898 0.0023343658 0.0045039725 + 1799000 0.0044740597 0.002672373 0.0048744492 + 1799100 0.0045248212 0.0024254856 0.0046525461 + 1799200 0.0051518176 0.0021854981 0.0047211583 + 1799300 0.0047737689 0.0019334957 0.0042830851 + 1799400 0.0053140809 0.0017479017 0.0043634258 + 1799500 0.0050795748 0.0021145 0.0046146032 + 1799600 0.0053631069 0.0022798362 0.0049194904 + 1799700 0.0043960383 0.00209576 0.0042594351 + 1799800 0.0051597263 0.0019462249 0.0044857777 + 1799900 0.0041281448 0.0017238122 0.0037556334 + 1800000 0.0050199322 0.0018336353 0.0043043832 + 1800100 0.0054204362 0.0018285548 0.0044964257 + 1800200 0.0055412333 0.0016496779 0.0043770037 + 1800300 0.0048113097 0.0022128801 0.0045809466 + 1800400 0.0050409066 0.0021017282 0.0045827994 + 1800500 0.0028927146 0.0020448375 0.0034685955 + 1800600 0.0047121491 0.0021203995 0.0044396604 + 1800700 0.0035904741 0.0023243553 0.0040915418 + 1800800 0.0072013401 0.0023519839 0.0058963935 + 1800900 0.0070671509 0.0026557996 0.0061341629 + 1801000 0.0043951041 0.0029656324 0.0051288477 + 1801100 0.0049784295 0.0031797168 0.0056300376 + 1801200 0.0048344439 0.003133135 0.0055125879 + 1801300 0.0050099853 0.0029670405 0.0054328926 + 1801400 0.0045735193 0.0026540108 0.0049050398 + 1801500 0.0052977315 0.00188473 0.0044922072 + 1801600 0.0049562654 0.0018125814 0.0042519932 + 1801700 0.0045675301 0.0023137122 0.0045617934 + 1801800 0.0048071746 0.00239927 0.0047653012 + 1801900 0.0054517467 0.0021838492 0.0048671308 + 1802000 0.0048386263 0.0021204268 0.0045019382 + 1802100 0.0050274556 0.0023877924 0.0048622432 + 1802200 0.0054480685 0.0026230783 0.0053045495 + 1802300 0.006461999 0.0022680816 0.0054485967 + 1802400 0.0058331808 0.0021524903 0.005023509 + 1802500 0.0054084043 0.0026501609 0.00531211 + 1802600 0.005218692 0.0031496215 0.0057181964 + 1802700 0.0058090726 0.0033896076 0.0062487605 + 1802800 0.0078632586 0.0029915859 0.0068617835 + 1802900 0.0058089981 0.0027089198 0.005568036 + 1803000 0.0051654652 0.0022104843 0.0047528618 + 1803100 0.004703662 0.0018466871 0.0041617707 + 1803200 0.0040397084 0.0019100684 0.0038983624 + 1803300 0.0036332072 0.0020431482 0.0038313673 + 1803400 0.004864359 0.001831264 0.0042254407 + 1803500 0.0048880365 0.0015985806 0.004004411 + 1803600 0.0040385033 0.0022234904 0.0042111912 + 1803700 0.0055478957 0.0025472614 0.0052778663 + 1803800 0.0055584698 0.0026285267 0.0053643361 + 1803900 0.0053522914 0.0025015258 0.0051358567 + 1804000 0.0050644693 0.0026985171 0.0051911855 + 1804100 0.0055634785 0.0028769677 0.0056152423 + 1804200 0.0052497919 0.0022671767 0.0048510586 + 1804300 0.0062307075 0.0017298457 0.0047965221 + 1804400 0.0072211907 0.0016212835 0.0051754633 + 1804500 0.0043859804 0.0014603646 0.0036190894 + 1804600 0.0035692032 0.0013195763 0.0030762935 + 1804700 0.0051432347 0.0013458139 0.0038772497 + 1804800 0.0053023912 0.0013947043 0.004004475 + 1804900 0.0059949454 0.0013947318 0.004345369 + 1805000 0.0040003087 0.0015127389 0.0034816409 + 1805100 0.0039385356 0.0016248502 0.0035633482 + 1805200 0.0040802413 0.0017937128 0.0038019566 + 1805300 0.0051402951 0.001982889 0.004512878 + 1805400 0.0041146235 0.0020840224 0.0041091887 + 1805500 0.0052934703 0.002433453 0.0050388329 + 1805600 0.0043038352 0.0024755991 0.004593893 + 1805700 0.0052536304 0.0019706077 0.004556379 + 1805800 0.005897873 0.001744512 0.0046473714 + 1805900 0.0046194686 0.0017818079 0.0040554526 + 1806000 0.0057386222 0.0018847317 0.0047092098 + 1806100 0.0041045571 0.0024567792 0.0044769909 + 1806200 0.0049397588 0.0023933061 0.0048245937 + 1806300 0.0045753957 0.0022770898 0.0045290423 + 1806400 0.0066106763 0.0020850674 0.0053387596 + 1806500 0.0055761992 0.0022584236 0.0050029592 + 1806600 0.0046377816 0.0023891696 0.0046718278 + 1806700 0.0052242301 0.0022455467 0.0048168475 + 1806800 0.0052861273 0.0020562155 0.0046579813 + 1806900 0.0043726188 0.0021346013 0.0042867496 + 1807000 0.0042583586 0.0017538513 0.0038497622 + 1807100 0.0050915543 0.0017042892 0.0042102886 + 1807200 0.0064856959 0.0017434812 0.0049356596 + 1807300 0.0054876027 0.0025260482 0.0052269776 + 1807400 0.0044330924 0.0024317598 0.0046136725 + 1807500 0.0037644098 0.0019539319 0.0038067273 + 1807600 0.0045010455 0.0016861445 0.0039015028 + 1807700 0.0043506116 0.0017510266 0.0038923432 + 1807800 0.0042350624 0.0020291101 0.0041135549 + 1807900 0.0053063717 0.0021161345 0.0047278644 + 1808000 0.0035493615 0.0024457343 0.0041926857 + 1808100 0.0051710292 0.0023805252 0.0049256411 + 1808200 0.0043349716 0.00225242 0.0043860388 + 1808300 0.0056910562 0.0019825513 0.0047836181 + 1808400 0.0033055163 0.0021919589 0.0038188928 + 1808500 0.0047011779 0.0022135335 0.0045273945 + 1808600 0.0047913911 0.001962992 0.0043212548 + 1808700 0.0041808457 0.0016474527 0.0037052127 + 1808800 0.0047888838 0.0021868305 0.0045438592 + 1808900 0.0052044981 0.0022102271 0.004771816 + 1809000 0.0053103584 0.0021204997 0.0047341917 + 1809100 0.0059429301 0.0022822466 0.0052072825 + 1809200 0.0043616877 0.0021582594 0.0043050276 + 1809300 0.0056211318 0.0022094947 0.0049761455 + 1809400 0.0053858218 0.0024898035 0.0051406377 + 1809500 0.0045997225 0.0024521778 0.0047161037 + 1809600 0.0046464994 0.0026325486 0.0049194975 + 1809700 0.006121853 0.0026351219 0.0056482214 + 1809800 0.0055885536 0.0022320107 0.0049826269 + 1809900 0.0039656285 0.0021407902 0.004092623 + 1810000 0.0054741064 0.0021090178 0.0048033045 + 1810100 0.0046794837 0.0021628568 0.0044660402 + 1810200 0.004501564 0.002306516 0.0045221295 + 1810300 0.0049566299 0.0026253834 0.0050649747 + 1810400 0.005197085 0.0025297398 0.00508768 + 1810500 0.0041747829 0.0020617392 0.0041165152 + 1810600 0.0066268802 0.001768072 0.0050297396 + 1810700 0.004466865 0.001828045 0.0040265801 + 1810800 0.0035026532 0.0018272408 0.0035512029 + 1810900 0.0052230362 0.0019031985 0.0044739116 + 1811000 0.0055028143 0.0018439469 0.0045523633 + 1811100 0.0051479723 0.0017012856 0.0042350532 + 1811200 0.0045207911 0.0018257881 0.004050865 + 1811300 0.0061219306 0.0018637351 0.0048768729 + 1811400 0.0050190324 0.0021803421 0.0046506471 + 1811500 0.0038219485 0.0022958085 0.0041769238 + 1811600 0.0046656127 0.0020867296 0.0043830859 + 1811700 0.0044658981 0.0020110084 0.0042090676 + 1811800 0.0058947885 0.0018120185 0.0047133597 + 1811900 0.0061484003 0.0018905092 0.004916675 + 1812000 0.0068288749 0.0025587981 0.005919885 + 1812100 0.0042981429 0.0025838792 0.0046993714 + 1812200 0.0040843189 0.0021741864 0.0041844371 + 1812300 0.0048460519 0.0015443123 0.0039294785 + 1812400 0.0041593146 0.0012292974 0.00327646 + 1812500 0.0044842024 0.0015989783 0.0038060466 + 1812600 0.0050652247 0.0023806845 0.0048737248 + 1812700 0.0052596564 0.0026096978 0.0051984349 + 1812800 0.0057325553 0.0030229081 0.0058444002 + 1812900 0.0041318678 0.0027924931 0.0048261468 + 1813000 0.004841021 0.002278079 0.004660769 + 1813100 0.0054130669 0.0021108995 0.0047751434 + 1813200 0.0042695248 0.0020437136 0.0041451204 + 1813300 0.0041511508 0.0021808827 0.0042240272 + 1813400 0.005056838 0.002210995 0.0046999075 + 1813500 0.0041387626 0.0023634626 0.0044005098 + 1813600 0.0056377233 0.0019866186 0.0047614355 + 1813700 0.005762512 0.0019084257 0.0047446621 + 1813800 0.0051496805 0.0022546792 0.0047892876 + 1813900 0.0058569795 0.002106646 0.0049893781 + 1814000 0.0064430548 0.0018140475 0.0049852385 + 1814100 0.0047837232 0.0021259118 0.0044804006 + 1814200 0.0035031425 0.0020245827 0.0037487857 + 1814300 0.0053258886 0.0018587861 0.0044801219 + 1814400 0.0053185971 0.0025865585 0.0052043055 + 1814500 0.0057137644 0.0028090179 0.0056212613 + 1814600 0.004404868 0.002544911 0.004712932 + 1814700 0.0061318098 0.0021880426 0.0052060427 + 1814800 0.0043665583 0.0022620835 0.0044112489 + 1814900 0.0043501955 0.0023737188 0.0045148307 + 1815000 0.0041959055 0.0022559765 0.0043211488 + 1815100 0.0048135324 0.0026119388 0.0049810993 + 1815200 0.0054796939 0.0023027764 0.0049998133 + 1815300 0.007455992 0.0023829488 0.0060526948 + 1815400 0.004723729 0.0025488219 0.0048737822 + 1815500 0.0049720419 0.0023776897 0.0048248665 + 1815600 0.0049466787 0.0020948787 0.0045295721 + 1815700 0.004929674 0.0020578441 0.004484168 + 1815800 0.0059098459 0.0022254425 0.0051341947 + 1815900 0.0064832342 0.0018257653 0.0050167321 + 1816000 0.003803873 0.0017667317 0.0036389505 + 1816100 0.0042380483 0.001665746 0.0037516604 + 1816200 0.0042837194 0.0014872901 0.0035956832 + 1816300 0.0027343053 0.0017685051 0.003114296 + 1816400 0.0049423757 0.0018415012 0.0042740767 + 1816500 0.0051762762 0.0020181384 0.0045658369 + 1816600 0.0038722831 0.0023461983 0.0042520876 + 1816700 0.0046914089 0.0026487154 0.0049577682 + 1816800 0.0058154498 0.0028353047 0.0056975964 + 1816900 0.004905899 0.0024119757 0.0048265979 + 1817000 0.003818815 0.0023723007 0.0042518737 + 1817100 0.0071954196 0.001922011 0.0054635066 + 1817200 0.0044774708 0.0023346018 0.004538357 + 1817300 0.0047507321 0.0020837197 0.0044219706 + 1817400 0.0047435577 0.0020439072 0.004378627 + 1817500 0.0068178229 0.001724149 0.0050797962 + 1817600 0.006327073 0.002268207 0.0053823132 + 1817700 0.0061924492 0.0024968585 0.0055447046 + 1817800 0.006197334 0.00242807 0.0054783203 + 1817900 0.005683539 0.0025754362 0.0053728031 + 1818000 0.0051314938 0.0023586904 0.0048843475 + 1818100 0.0054999159 0.0026209445 0.0053279344 + 1818200 0.0049351366 0.0028101667 0.0052391793 + 1818300 0.0044161301 0.0022467394 0.0044203034 + 1818400 0.0056616224 0.0018677415 0.0046543213 + 1818500 0.0056775458 0.0018625341 0.0046569512 + 1818600 0.0040073818 0.0024482775 0.0044206607 + 1818700 0.0045972172 0.0025361396 0.0047988324 + 1818800 0.0033365531 0.0022211733 0.003863383 + 1818900 0.0057278802 0.0017202097 0.0045394008 + 1819000 0.0060097756 0.0019301499 0.0048880864 + 1819100 0.0042357548 0.0022413213 0.0043261069 + 1819200 0.0056039546 0.0020537688 0.0048119652 + 1819300 0.0041174601 0.0020894718 0.0041160342 + 1819400 0.0043339104 0.0022104548 0.0043435513 + 1819500 0.0041110696 0.0021997327 0.0042231498 + 1819600 0.0054718355 0.0018912931 0.0045844621 + 1819700 0.0044086238 0.0022234239 0.0043932934 + 1819800 0.0050110799 0.0024839654 0.0049503562 + 1819900 0.0067358346 0.0025793045 0.005894598 + 1820000 0.0045782836 0.0024128948 0.0046662688 + 1820100 0.0047323753 0.0025292139 0.0048584299 + 1820200 0.0035286437 0.0028424632 0.0045792175 + 1820300 0.0055660464 0.0026381349 0.0053776734 + 1820400 0.0050865093 0.0022580472 0.0047615635 + 1820500 0.0042651042 0.002290901 0.004390132 + 1820600 0.0057083276 0.0024441893 0.0052537568 + 1820700 0.0045650607 0.0028427194 0.0050895852 + 1820800 0.0066770237 0.0026953142 0.0059816618 + 1820900 0.0061195402 0.0028273266 0.0058392878 + 1821000 0.0062895214 0.0031064493 0.0062020731 + 1821100 0.0052694618 0.0028414566 0.0054350198 + 1821200 0.0055950455 0.0029415206 0.005695332 + 1821300 0.0055307083 0.0030069414 0.0057290869 + 1821400 0.0051641262 0.0024723805 0.0050140989 + 1821500 0.0058144097 0.0024541587 0.0053159385 + 1821600 0.0062529878 0.0020659494 0.0051435919 + 1821700 0.0051629052 0.0020397902 0.0045809076 + 1821800 0.004543703 0.0019257745 0.0041621283 + 1821900 0.0055451191 0.0019482046 0.0046774429 + 1822000 0.0055833818 0.0016952364 0.0044433071 + 1822100 0.0058352612 0.0022674126 0.0051394552 + 1822200 0.005944804 0.0026154526 0.0055414108 + 1822300 0.0057538992 0.0026422121 0.0054742094 + 1822400 0.004927475 0.0031599356 0.0055851772 + 1822500 0.0065564037 0.0028672766 0.0060942565 + 1822600 0.0054116859 0.0025713919 0.005234956 + 1822700 0.0052683404 0.0019130172 0.0045060285 + 1822800 0.0057627119 0.0020709897 0.0049073245 + 1822900 0.0032544954 0.0024611533 0.0040629753 + 1823000 0.0052897803 0.0025116939 0.0051152576 + 1823100 0.0055209517 0.0027194884 0.0054368319 + 1823200 0.0046823815 0.0024961837 0.0048007933 + 1823300 0.0038589683 0.0028706743 0.0047700102 + 1823400 0.0043683998 0.002897136 0.0050472078 + 1823500 0.0046501789 0.0028886787 0.0051774386 + 1823600 0.0063578379 0.002357525 0.0054867733 + 1823700 0.0050016454 0.0023102323 0.0047719797 + 1823800 0.005470481 0.0024512209 0.0051437233 + 1823900 0.0043523199 0.0025567091 0.0046988665 + 1824000 0.0036466405 0.0023888776 0.0041837085 + 1824100 0.0040739455 0.0025297463 0.0045348913 + 1824200 0.0053224079 0.0024573752 0.0050769978 + 1824300 0.0048236304 0.0027748493 0.0051489799 + 1824400 0.0049100092 0.002963136 0.0053797811 + 1824500 0.0039198478 0.0032396865 0.0051689866 + 1824600 0.0056537411 0.0028908438 0.0056735445 + 1824700 0.0051075199 0.0030773949 0.0055912523 + 1824800 0.0046271392 0.0031932343 0.0054706543 + 1824900 0.0055008533 0.0027408181 0.0054482693 + 1825000 0.0064803393 0.002435504 0.0056250459 + 1825100 0.0044630254 0.0021607935 0.0043574388 + 1825200 0.0046908839 0.0021156162 0.0044244106 + 1825300 0.0056169511 0.002486449 0.0052510421 + 1825400 0.0056087585 0.0031838607 0.0059444215 + 1825500 0.0057248218 0.0040203442 0.0068380299 + 1825600 0.0073423228 0.0035058388 0.0071196383 + 1825700 0.003979594 0.0034071638 0.0053658702 + 1825800 0.0056428183 0.0036942527 0.0064715774 + 1825900 0.0066351399 0.0029154354 0.0061811684 + 1826000 0.0052920264 0.0025865907 0.00519126 + 1826100 0.0053855122 0.0025179265 0.0051686083 + 1826200 0.0046277704 0.0029516302 0.005229361 + 1826300 0.0050127805 0.0025141083 0.0049813362 + 1826400 0.0061839237 0.0020968665 0.0051405164 + 1826500 0.0057607463 0.0016991643 0.0045345316 + 1826600 0.0040933656 0.0018112124 0.0038259158 + 1826700 0.0064049962 0.0021517316 0.0053041907 + 1826800 0.006091037 0.0025781828 0.005576115 + 1826900 0.0056360945 0.0029284798 0.005702495 + 1827000 0.0060928861 0.003587872 0.0065867144 + 1827100 0.0056720534 0.0035963321 0.0063880459 + 1827200 0.0075906578 0.0027357774 0.0064718043 + 1827300 0.005039176 0.0027835442 0.0052637636 + 1827400 0.0052982314 0.0028255569 0.0054332802 + 1827500 0.0046756362 0.0022988761 0.0046001658 + 1827600 0.004802165 0.0019763497 0.0043399152 + 1827700 0.0033257589 0.0022274531 0.0038643501 + 1827800 0.0053073549 0.002475652 0.0050878657 + 1827900 0.0060360692 0.0025184841 0.0054893619 + 1828000 0.0050917559 0.0026499103 0.0051560089 + 1828100 0.0054654898 0.0032242789 0.0059143246 + 1828200 0.00456199 0.0028290574 0.0050744119 + 1828300 0.0055501771 0.0028813219 0.0056130497 + 1828400 0.0050314491 0.0030955024 0.0055719187 + 1828500 0.004785994 0.0025039373 0.0048595438 + 1828600 0.0057807367 0.0022142728 0.0050594792 + 1828700 0.0045551463 0.0022752417 0.0045172277 + 1828800 0.0055491665 0.0026038061 0.0053350365 + 1828900 0.0037147059 0.0024751768 0.0043035086 + 1829000 0.0047517268 0.0025288704 0.0048676109 + 1829100 0.0066094368 0.0021822427 0.0054353249 + 1829200 0.0048464882 0.0023057417 0.0046911226 + 1829300 0.0047882042 0.0025555038 0.004912198 + 1829400 0.0053635892 0.0024945655 0.005134457 + 1829500 0.0066278909 0.0024026486 0.0056648136 + 1829600 0.0066200349 0.0022221081 0.0054804066 + 1829700 0.0044042491 0.0026756166 0.0048433329 + 1829800 0.0073234531 0.0031996435 0.0068041556 + 1829900 0.0052581959 0.0035790705 0.0061670888 + 1830000 0.0035039004 0.0035936995 0.0053182754 + 1830100 0.0073385581 0.0034640101 0.0070759567 + 1830200 0.004938954 0.0031260743 0.0055569657 + 1830300 0.0049568277 0.0028779089 0.0053175975 + 1830400 0.0036013158 0.0030573296 0.0048298522 + 1830500 0.0061105781 0.0031671855 0.0061747357 + 1830600 0.0052200759 0.0030375734 0.0056068295 + 1830700 0.0062275705 0.002874818 0.0059399504 + 1830800 0.0061296935 0.0022317412 0.0052486997 + 1830900 0.0053528336 0.0023210732 0.004955671 + 1831000 0.0048816759 0.0023770409 0.0047797407 + 1831100 0.0048580712 0.0023850182 0.0047761001 + 1831200 0.0043715339 0.0027601381 0.0049117524 + 1831300 0.0047013509 0.0027741834 0.0050881296 + 1831400 0.0048143481 0.0028130008 0.0051825628 + 1831500 0.0049042958 0.0030504252 0.0054642583 + 1831600 0.0058203242 0.0029722202 0.005836911 + 1831700 0.0041161244 0.0028304999 0.0048564048 + 1831800 0.0055260363 0.0023887713 0.0051086172 + 1831900 0.0062498719 0.0026450894 0.0057211982 + 1832000 0.0046661177 0.0028899773 0.0051865821 + 1832100 0.0046876206 0.0029704312 0.0052776195 + 1832200 0.0034724507 0.003001404 0.0047105008 + 1832300 0.0046194843 0.0028973645 0.005171017 + 1832400 0.0058254983 0.0031121484 0.0059793858 + 1832500 0.006334824 0.0027230065 0.0058409277 + 1832600 0.0068156137 0.002483896 0.0058384559 + 1832700 0.0047563145 0.0029155139 0.0052565124 + 1832800 0.0047265646 0.0032537412 0.0055800972 + 1832900 0.0039878173 0.0024737073 0.0044364611 + 1833000 0.0049791779 0.0023674267 0.0048181159 + 1833100 0.0042229519 0.0027111981 0.0047896823 + 1833200 0.0048855338 0.0025667595 0.0049713582 + 1833300 0.0060895489 0.00230643 0.0053036298 + 1833400 0.0033490017 0.0025526019 0.0042009387 + 1833500 0.0052108103 0.0024917503 0.005056446 + 1833600 0.0061813655 0.00230466 0.0053470509 + 1833700 0.0054086844 0.0027200142 0.0053821011 + 1833800 0.00634015 0.002733904 0.0058544466 + 1833900 0.0052414645 0.0032147194 0.0057945027 + 1834000 0.0044772631 0.0031915703 0.0053952232 + 1834100 0.0048544643 0.0025245388 0.0049138454 + 1834200 0.004514759 0.0020443214 0.0042664293 + 1834300 0.0047498309 0.0020691337 0.0044069411 + 1834400 0.0041343415 0.0017252186 0.0037600898 + 1834500 0.0046859675 0.001503296 0.0038096707 + 1834600 0.0042888057 0.001786117 0.0038970135 + 1834700 0.0043864744 0.0022765088 0.0044354767 + 1834800 0.0048572171 0.0023833073 0.0047739688 + 1834900 0.0046152143 0.0025905697 0.0048621204 + 1835000 0.0047362645 0.0020756603 0.0044067905 + 1835100 0.0052343898 0.0021171089 0.0046934101 + 1835200 0.0050298106 0.00214712 0.0046227299 + 1835300 0.0049335613 0.0018313852 0.0042596224 + 1835400 0.0039383615 0.0021550631 0.0040934754 + 1835500 0.0052760136 0.0023504565 0.0049472444 + 1835600 0.0072741115 0.0022399131 0.0058201399 + 1835700 0.0056434479 0.0029361679 0.0057138025 + 1835800 0.0043187436 0.0028328353 0.0049584669 + 1835900 0.0059334448 0.0022190698 0.0051394372 + 1836000 0.0071385803 0.0019367684 0.0054502884 + 1836100 0.0042658796 0.0024015656 0.0045011782 + 1836200 0.0049018677 0.0022017472 0.0046143852 + 1836300 0.0062586425 0.0021982501 0.0052786757 + 1836400 0.0047870215 0.0028632097 0.0052193219 + 1836500 0.0045900394 0.0036932048 0.0059523648 + 1836600 0.0046345259 0.00332229 0.0056033457 + 1836700 0.0052309004 0.0028558819 0.0054304657 + 1836800 0.0038827444 0.002670632 0.0045816703 + 1836900 0.0060035057 0.0018228672 0.0047777177 + 1837000 0.0048591606 0.0019426702 0.0043342883 + 1837100 0.0041449724 0.002444762 0.0044848656 + 1837200 0.0052392827 0.0027587982 0.0053375076 + 1837300 0.0040714415 0.0027232313 0.0047271439 + 1837400 0.0057981526 0.0030381714 0.0058919496 + 1837500 0.0033449321 0.002762782 0.0044091158 + 1837600 0.00711103 0.0022936466 0.0057936066 + 1837700 0.0047345331 0.0026541124 0.0049843904 + 1837800 0.003765338 0.0027831146 0.0046363669 + 1837900 0.0066361561 0.0022923037 0.0055585368 + 1838000 0.0051921494 0.0025550769 0.0051105879 + 1838100 0.0048919293 0.0024807615 0.004888508 + 1838200 0.0043649611 0.0029430032 0.0050913824 + 1838300 0.00453178 0.003330591 0.0055610765 + 1838400 0.0039463582 0.0033183718 0.0052607199 + 1838500 0.0049206927 0.0034866062 0.0059085096 + 1838600 0.0050385132 0.0031018093 0.0055817024 + 1838700 0.0056212816 0.0029045682 0.0056712927 + 1838800 0.0046414223 0.0028899959 0.0051744459 + 1838900 0.0052614446 0.0027395499 0.0053291671 + 1839000 0.0052314514 0.0029799841 0.005554839 + 1839100 0.0048605548 0.0029550639 0.0053473682 + 1839200 0.0067554128 0.0023163997 0.0056413294 + 1839300 0.0049060156 0.0022781267 0.0046928063 + 1839400 0.0049618743 0.0022033716 0.0046455441 + 1839500 0.0035240764 0.002138617 0.0038731233 + 1839600 0.0048552359 0.0019086747 0.0042983611 + 1839700 0.0046275501 0.0022054288 0.0044830511 + 1839800 0.0061433411 0.0027909655 0.0058146412 + 1839900 0.0051115735 0.003362141 0.0058779935 + 1840000 0.0043355778 0.0026649449 0.0047988622 + 1840100 0.0039629117 0.0021480031 0.0040984987 + 1840200 0.0052880168 0.0023072182 0.004909914 + 1840300 0.003703948 0.0027506274 0.0045736643 + 1840400 0.0047837392 0.0022187004 0.0045731971 + 1840500 0.0043066452 0.0019688382 0.0040885151 + 1840600 0.0047048773 0.0018923935 0.0042080753 + 1840700 0.0060854911 0.001803918 0.0047991206 + 1840800 0.0056423561 0.0018479472 0.0046250444 + 1840900 0.0054586248 0.0025023536 0.0051890205 + 1841000 0.0045120561 0.0026589338 0.0048797114 + 1841100 0.0067874675 0.0026447854 0.0059854921 + 1841200 0.0042639452 0.0031006612 0.0051993217 + 1841300 0.0041482533 0.0030352387 0.0050769572 + 1841400 0.0038132532 0.0031679937 0.0050448293 + 1841500 0.0044754075 0.0028690073 0.0050717469 + 1841600 0.0063003909 0.0024604117 0.0055613854 + 1841700 0.005443117 0.0025248425 0.0052038766 + 1841800 0.0059542241 0.0024440751 0.0053746697 + 1841900 0.0056820871 0.0023919089 0.0051885611 + 1842000 0.0056002572 0.0022758944 0.005032271 + 1842100 0.0062841729 0.0027562468 0.0058492381 + 1842200 0.0070072373 0.0030621633 0.0065110379 + 1842300 0.0052901256 0.0029242559 0.0055279896 + 1842400 0.0064250211 0.0027124332 0.0058747483 + 1842500 0.0032013169 0.0026860044 0.0042616525 + 1842600 0.0052383455 0.0028181649 0.005396413 + 1842700 0.003876699 0.0025635009 0.0044715637 + 1842800 0.004681105 0.0023807037 0.0046846851 + 1842900 0.0038058221 0.0026561105 0.0045292886 + 1843000 0.0031374411 0.0028067391 0.0043509484 + 1843100 0.0034437291 0.002890242 0.0045852025 + 1843200 0.0055005487 0.0030022499 0.0057095513 + 1843300 0.0066187815 0.0031020536 0.0063597351 + 1843400 0.0056141724 0.0026530071 0.0054162326 + 1843500 0.0055028675 0.0024614717 0.0051699143 + 1843600 0.0047286954 0.0029001411 0.0052275459 + 1843700 0.0047483328 0.0027396898 0.0050767599 + 1843800 0.0043114962 0.0025112107 0.0046332752 + 1843900 0.0053255667 0.0028222742 0.0054434516 + 1844000 0.0055063825 0.0027248841 0.0054350567 + 1844100 0.005995951 0.0027936004 0.0057447326 + 1844200 0.00525834 0.0035997644 0.0061878536 + 1844300 0.0063913057 0.0029387898 0.0060845105 + 1844400 0.0057398163 0.0023692291 0.0051942949 + 1844500 0.0049303577 0.0023039681 0.0047306286 + 1844600 0.0053228798 0.0022216551 0.00484151 + 1844700 0.0062028055 0.0023253307 0.0053782741 + 1844800 0.0051854665 0.002427201 0.0049794228 + 1844900 0.0051752145 0.0029444063 0.0054915822 + 1845000 0.0048633508 0.0030481174 0.0054417978 + 1845100 0.0054100765 0.0023216662 0.0049844382 + 1845200 0.0033931006 0.002211614 0.0038816557 + 1845300 0.0039102036 0.0019068004 0.0038313538 + 1845400 0.0045982718 0.0019384795 0.0042016914 + 1845500 0.0053863782 0.0020113982 0.0046625062 + 1845600 0.0038879144 0.0022334204 0.0041470033 + 1845700 0.0043230039 0.0021456784 0.0042734069 + 1845800 0.0044747759 0.002368828 0.0045712567 + 1845900 0.0052528103 0.0022032725 0.0047886401 + 1846000 0.0050501089 0.0022989817 0.0047845821 + 1846100 0.0047334761 0.0022541727 0.0045839305 + 1846200 0.0061418295 0.0023111455 0.0053340772 + 1846300 0.004324252 0.0025513583 0.0046797011 + 1846400 0.0042636433 0.0022563546 0.0043548665 + 1846500 0.0054782855 0.0018529421 0.0045492857 + 1846600 0.0035266422 0.00207149 0.0038072592 + 1846700 0.003980126 0.0019620079 0.0039209761 + 1846800 0.0049576056 0.0020301491 0.0044702206 + 1846900 0.0037566645 0.0020913815 0.0039403648 + 1847000 0.0074370212 0.0022738696 0.0059342785 + 1847100 0.0055391568 0.0027831466 0.0055094503 + 1847200 0.0058107226 0.0029034552 0.0057634202 + 1847300 0.0053903116 0.0026479447 0.0053009887 + 1847400 0.0051315459 0.0025272157 0.0050528985 + 1847500 0.0054583541 0.0023365106 0.0050230442 + 1847600 0.0058665984 0.0024483558 0.0053358222 + 1847700 0.0042191096 0.0022573999 0.0043339929 + 1847800 0.0048494058 0.0021351634 0.0045219803 + 1847900 0.0057518913 0.0024249762 0.0052559851 + 1848000 0.0052140027 0.0027471286 0.0053133956 + 1848100 0.0043116849 0.0030607223 0.0051828797 + 1848200 0.0059343275 0.0030224783 0.0059432802 + 1848300 0.0053012091 0.0027698405 0.0053790294 + 1848400 0.0049026127 0.0026305663 0.005043571 + 1848500 0.0049527885 0.0028184718 0.0052561724 + 1848600 0.0049277826 0.0026671012 0.0050924942 + 1848700 0.0064923106 0.0025751352 0.0057705693 + 1848800 0.005520745 0.0024670871 0.0051843288 + 1848900 0.0035137883 0.0027802361 0.0045096788 + 1849000 0.0057391388 0.0024218212 0.0052465536 + 1849100 0.0041346105 0.0022494778 0.0042844814 + 1849200 0.0048285537 0.0024624766 0.0048390303 + 1849300 0.0059787455 0.0023385673 0.0052812311 + 1849400 0.0056679584 0.0020673609 0.0048570592 + 1849500 0.0043388262 0.0023226355 0.0044581515 + 1849600 0.0039020566 0.0021889626 0.0041095061 + 1849700 0.0051423214 0.0021901434 0.0047211297 + 1849800 0.0041588716 0.0024113381 0.0044582827 + 1849900 0.0047889795 0.0023541586 0.0047112345 + 1850000 0.0054701167 0.0020609581 0.0047532812 + 1850100 0.0051561561 0.0019023555 0.0044401511 + 1850200 0.0054684757 0.0022140279 0.0049055432 + 1850300 0.0058419546 0.0027639845 0.0056393216 + 1850400 0.0047395453 0.0028800426 0.0052127875 + 1850500 0.005440492 0.0032507751 0.0059285173 + 1850600 0.0060472687 0.0028048143 0.0057812044 + 1850700 0.0046958775 0.0023340904 0.0046453426 + 1850800 0.005907375 0.0021186557 0.0050261919 + 1850900 0.0047924349 0.0022905175 0.004649294 + 1851000 0.0063914792 0.0025882201 0.0057340263 + 1851100 0.0032469643 0.0029127235 0.0045108387 + 1851200 0.0047250809 0.0023580627 0.0046836884 + 1851300 0.0052089908 0.0015265973 0.0040903975 + 1851400 0.0041131699 0.0015718937 0.0035963445 + 1851500 0.0036831681 0.0014630573 0.0032758666 + 1851600 0.0037159296 0.0013983301 0.0032272642 + 1851700 0.0040101138 0.0018607753 0.0038345032 + 1851800 0.004011332 0.0018404677 0.0038147952 + 1851900 0.0047563587 0.0018739667 0.0042149869 + 1852000 0.0066618608 0.0016231998 0.0049020844 + 1852100 0.0048725042 0.001927105 0.0043252906 + 1852200 0.0044427003 0.0023702135 0.004556855 + 1852300 0.0058728826 0.0024059513 0.0052965107 + 1852400 0.0046694069 0.0025450211 0.0048432448 + 1852500 0.0059368261 0.0020522557 0.0049742873 + 1852600 0.0051835083 0.0022293381 0.0047805961 + 1852700 0.004355955 0.0026495886 0.0047935352 + 1852800 0.0043433767 0.0024100754 0.0045478311 + 1852900 0.0080393494 0.0020998662 0.0060567335 + 1853000 0.0052742981 0.00238149 0.0049774336 + 1853100 0.0027627244 0.0024602307 0.0038200091 + 1853200 0.0053782923 0.0019533478 0.0046004761 + 1853300 0.0044401265 0.0017260248 0.0039113996 + 1853400 0.0061710703 0.0017133426 0.0047506662 + 1853500 0.0053831452 0.002108737 0.0047582538 + 1853600 0.0044917492 0.0021737943 0.0043845771 + 1853700 0.0057104564 0.0020062373 0.0048168525 + 1853800 0.0046405091 0.0023285396 0.0046125402 + 1853900 0.0047116969 0.0026279192 0.0049469575 + 1854000 0.0045657098 0.0029343337 0.005181519 + 1854100 0.0044083838 0.0032305126 0.005400264 + 1854200 0.006445342 0.003034033 0.0062063498 + 1854300 0.0062933034 0.0021032686 0.0052007538 + 1854400 0.0060543222 0.001853983 0.0048338447 + 1854500 0.0050666184 0.0021003844 0.0045941107 + 1854600 0.004578621 0.0020368137 0.0042903538 + 1854700 0.0045063109 0.0021155744 0.0043335243 + 1854800 0.005788676 0.0024103144 0.0052594283 + 1854900 0.0045090994 0.0027100194 0.0049293418 + 1855000 0.0052852601 0.0026299906 0.0052313295 + 1855100 0.0051090777 0.0025383592 0.0050529834 + 1855200 0.0059633796 0.0025030573 0.0054381582 + 1855300 0.0060547168 0.0026089656 0.0055890216 + 1855400 0.005942301 0.0030870039 0.0060117302 + 1855500 0.0060323975 0.0028775959 0.0058466665 + 1855600 0.0044914918 0.0029659145 0.0051765707 + 1855700 0.0046447907 0.0029362984 0.0052224064 + 1855800 0.0050709649 0.0028102192 0.0053060847 + 1855900 0.0045044459 0.0027585837 0.0049756157 + 1856000 0.0053759087 0.0026559711 0.0053019262 + 1856100 0.0058835944 0.002361057 0.0052568886 + 1856200 0.0049954527 0.0023911883 0.0048498876 + 1856300 0.005819257 0.0027660609 0.0056302264 + 1856400 0.0043246114 0.0028929661 0.0050214858 + 1856500 0.0048563963 0.0030621782 0.0054524358 + 1856600 0.005183256 0.0032893195 0.0058404533 + 1856700 0.0060621826 0.0027747939 0.0057585244 + 1856800 0.004786888 0.0026046232 0.0049606697 + 1856900 0.004117613 0.0032304277 0.0052570654 + 1857000 0.0054191466 0.0032638003 0.0059310365 + 1857100 0.0050972847 0.0033741343 0.0058829542 + 1857200 0.0040699343 0.0033996105 0.0054027813 + 1857300 0.0044551055 0.0034986997 0.005691447 + 1857400 0.0053488266 0.0033568213 0.0059894469 + 1857500 0.0072512264 0.0029683979 0.0065373609 + 1857600 0.0059998998 0.0030829804 0.0060360561 + 1857700 0.0042091998 0.0034962922 0.0055680078 + 1857800 0.0041246336 0.0033688614 0.0053989545 + 1857900 0.0040530961 0.0029742893 0.0049691726 + 1858000 0.0042365566 0.0029267726 0.0050119528 + 1858100 0.0045254882 0.0027310622 0.0049584509 + 1858200 0.0041202261 0.0027814633 0.004809387 + 1858300 0.0048359969 0.0028480663 0.0052282835 + 1858400 0.0051916597 0.0028122215 0.0053674916 + 1858500 0.004312734 0.0022326417 0.0043553155 + 1858600 0.0037118503 0.0021643189 0.0039912452 + 1858700 0.0055983224 0.0017850567 0.004540481 + 1858800 0.0040127434 0.0019226761 0.0038976982 + 1858900 0.0041685891 0.002385415 0.0044371425 + 1859000 0.0058586717 0.0022425827 0.0051261477 + 1859100 0.00485961 0.0022525245 0.0046443638 + 1859200 0.005022355 0.0025836221 0.0050555624 + 1859300 0.0060007994 0.0024264013 0.0053799198 + 1859400 0.0048658579 0.0025989371 0.0049938515 + 1859500 0.0056350989 0.0023542833 0.0051278086 + 1859600 0.0042095655 0.002817197 0.0048890925 + 1859700 0.0048897483 0.0031237484 0.0055304214 + 1859800 0.0052931666 0.0028504465 0.0054556769 + 1859900 0.0047012109 0.0030158859 0.0053297632 + 1860000 0.0051294781 0.0034332347 0.0059578997 + 1860100 0.004941004 0.0031253305 0.0055572309 + 1860200 0.0045243966 0.0031158813 0.0053427327 + 1860300 0.0069113738 0.0024382291 0.0058399209 + 1860400 0.0053427446 0.0021960661 0.0048256982 + 1860500 0.0052037557 0.0020781069 0.0046393304 + 1860600 0.0054119535 0.0021170838 0.0047807797 + 1860700 0.0028694602 0.0024478798 0.0038601923 + 1860800 0.0033430079 0.0026009506 0.0042463373 + 1860900 0.007174849 0.0029064284 0.0064377994 + 1861000 0.005856392 0.0033368092 0.0062192521 + 1861100 0.0045203596 0.0033491825 0.005574047 + 1861200 0.006906198 0.0029948557 0.0063940001 + 1861300 0.0052332643 0.0031872611 0.0057630084 + 1861400 0.0046901329 0.0032490747 0.0055574995 + 1861500 0.0049315672 0.0027240868 0.0051513425 + 1861600 0.0057188748 0.0029013001 0.0057160588 + 1861700 0.0048535225 0.0029231301 0.0053119732 + 1861800 0.005891016 0.0027470833 0.0056465678 + 1861900 0.006937185 0.0029161957 0.0063305915 + 1862000 0.005634874 0.0030000727 0.0057734872 + 1862100 0.0058558206 0.0024243947 0.0053065564 + 1862200 0.0040629506 0.002338382 0.0043381155 + 1862300 0.0033126879 0.002753683 0.0043841466 + 1862400 0.0046742181 0.0028241941 0.0051247858 + 1862500 0.00374513 0.0026649694 0.0045082756 + 1862600 0.0054161886 0.0023886372 0.0050544176 + 1862700 0.0031706282 0.0024641461 0.0040246897 + 1862800 0.00575508 0.0022453559 0.0050779343 + 1862900 0.00580198 0.0021053876 0.0049610496 + 1863000 0.0049256086 0.0026866774 0.0051110004 + 1863100 0.0052510916 0.0029516387 0.0055361603 + 1863200 0.005965955 0.0025980246 0.0055343931 + 1863300 0.0058266189 0.00243656 0.005304349 + 1863400 0.0051353719 0.0023412291 0.0048687949 + 1863500 0.0043970366 0.0024521759 0.0046163424 + 1863600 0.0061419605 0.0024346641 0.0054576603 + 1863700 0.0064182798 0.0024390324 0.0055980295 + 1863800 0.0047902072 0.0029105972 0.0052682773 + 1863900 0.0051462424 0.003072362 0.0056052782 + 1864000 0.0053883073 0.0033299411 0.0059819986 + 1864100 0.0053348778 0.0034109151 0.0060366753 + 1864200 0.0051051224 0.0032790048 0.0057916822 + 1864300 0.0048050097 0.0030194893 0.005384455 + 1864400 0.0055690231 0.0028037088 0.0055447123 + 1864500 0.007100897 0.0028960117 0.0063909844 + 1864600 0.0056108796 0.0025358082 0.0052974131 + 1864700 0.004882915 0.0024440182 0.0048473279 + 1864800 0.0055703803 0.002815029 0.0055567006 + 1864900 0.0064487841 0.0022829825 0.0054569934 + 1865000 0.0061763128 0.0020951514 0.0051350554 + 1865100 0.0040235559 0.0020863566 0.0040667005 + 1865200 0.0046086021 0.0021696977 0.004437994 + 1865300 0.007048863 0.0023716368 0.005840999 + 1865400 0.0042937935 0.0030149391 0.0051282906 + 1865500 0.0043727287 0.0027920656 0.0049442681 + 1865600 0.0048721656 0.0024883139 0.004886333 + 1865700 0.0049218301 0.0024961579 0.0049186212 + 1865800 0.0037525528 0.0026512816 0.0044982411 + 1865900 0.0037460623 0.0022848526 0.0041286176 + 1866000 0.005776095 0.0021634673 0.0050063891 + 1866100 0.0037199698 0.0025716927 0.0044026153 + 1866200 0.004541571 0.0024388189 0.0046741234 + 1866300 0.0052545786 0.0019542317 0.0045404696 + 1866400 0.0039580084 0.0019163875 0.0038644698 + 1866500 0.0035921609 0.0018449548 0.0036129715 + 1866600 0.00423047 0.0019275286 0.0040097131 + 1866700 0.0062184773 0.0018626213 0.0049232781 + 1866800 0.0058500973 0.001899177 0.0047785217 + 1866900 0.0048041314 0.0020132104 0.0043777439 + 1867000 0.0047764574 0.0024194226 0.0047703352 + 1867100 0.0045674909 0.0025958529 0.0048439148 + 1867200 0.0040903545 0.0026153052 0.0046285265 + 1867300 0.0052033072 0.0024309914 0.0049919941 + 1867400 0.005209584 0.0023919032 0.0049559953 + 1867500 0.0048780816 0.0022817323 0.004682663 + 1867600 0.0057355416 0.0024456069 0.0052685688 + 1867700 0.0059780291 0.0027144707 0.0056567819 + 1867800 0.0055157223 0.0023292324 0.005044002 + 1867900 0.0043244137 0.0022398044 0.0043682268 + 1868000 0.0068346698 0.0025323319 0.005896271 + 1868100 0.0049760501 0.0024367184 0.0048858681 + 1868200 0.0043621566 0.0026029173 0.0047499162 + 1868300 0.0054992397 0.0025649645 0.0052716215 + 1868400 0.0063147448 0.002555515 0.0056635535 + 1868500 0.0040771683 0.0027433709 0.0047501022 + 1868600 0.0047309589 0.0024361862 0.0047647051 + 1868700 0.0064864773 0.0021200302 0.0053125933 + 1868800 0.0060266931 0.0020461865 0.0050124496 + 1868900 0.0068795497 0.0022254157 0.0056114441 + 1869000 0.0054352952 0.0024310162 0.0051062005 + 1869100 0.0044692643 0.0024716192 0.0046713352 + 1869200 0.0050698281 0.0022691991 0.0047645051 + 1869300 0.0066398809 0.0021033381 0.0053714045 + 1869400 0.0054941917 0.0021583275 0.0048624999 + 1869500 0.0051311871 0.0026243159 0.0051498221 + 1869600 0.0049986939 0.0028130262 0.0052733209 + 1869700 0.0059626852 0.0027016982 0.0056364573 + 1869800 0.0049493404 0.0030189164 0.0054549199 + 1869900 0.0066243421 0.0031556171 0.0064160355 + 1870000 0.0045240699 0.003055826 0.0052825167 + 1870100 0.0046324738 0.0031183197 0.0053983654 + 1870200 0.0036030824 0.0027653448 0.004538737 + 1870300 0.0049482969 0.0030187757 0.0054542656 + 1870400 0.0039968737 0.0031679808 0.0051351921 + 1870500 0.0052059712 0.0030097856 0.0055720996 + 1870600 0.0047171079 0.0029567843 0.0052784859 + 1870700 0.0063473867 0.0025379991 0.0056621035 + 1870800 0.0047778631 0.0025874268 0.0049390313 + 1870900 0.0052243433 0.0028929171 0.0054642735 + 1871000 0.0044553099 0.0031103883 0.0053032361 + 1871100 0.0053490043 0.0028497163 0.0054824294 + 1871200 0.0042241979 0.0021121871 0.0041912846 + 1871300 0.0041443115 0.0018624088 0.0039021871 + 1871400 0.006756833 0.0016359421 0.0049615708 + 1871500 0.0047813936 0.0018529719 0.004206314 + 1871600 0.0043867079 0.0020429153 0.0042019982 + 1871700 0.0044379291 0.0018013234 0.0039856167 + 1871800 0.0046761721 0.0021772487 0.0044788021 + 1871900 0.0054958382 0.0020893481 0.004794331 + 1872000 0.0059607576 0.0020368694 0.0049706798 + 1872100 0.0055018624 0.002696589 0.0054045369 + 1872200 0.0046009642 0.0028447642 0.0051093013 + 1872300 0.0042834465 0.0025376687 0.0046459275 + 1872400 0.0037797137 0.0029443449 0.0048046727 + 1872500 0.005828588 0.0027310478 0.0055998059 + 1872600 0.0045149223 0.0026833277 0.0049055161 + 1872700 0.0044150325 0.0025867928 0.0047598166 + 1872800 0.005794271 0.0022488809 0.0051007486 + 1872900 0.0045129077 0.0020359606 0.0042571574 + 1873000 0.0052561939 0.0020423972 0.0046294302 + 1873100 0.0043939904 0.0019171423 0.0040798095 + 1873200 0.0060949521 0.0019011504 0.0049010096 + 1873300 0.0058761463 0.0020330527 0.0049252185 + 1873400 0.0048963321 0.0024054374 0.0048153508 + 1873500 0.0064491149 0.0022538175 0.0054279912 + 1873600 0.0054457853 0.0021109923 0.0047913398 + 1873700 0.0052060972 0.0019523872 0.0045147632 + 1873800 0.0049325945 0.001625724 0.0040534853 + 1873900 0.0059649722 0.0013497653 0.00428565 + 1874000 0.0046192716 0.0017957223 0.00406927 + 1874100 0.0044043226 0.0020713135 0.004239066 + 1874200 0.004348397 0.0022862139 0.0044264405 + 1874300 0.0043980488 0.0022301978 0.0043948624 + 1874400 0.0055384364 0.0020457469 0.0047716961 + 1874500 0.0038114898 0.0024082427 0.0042842103 + 1874600 0.0062063537 0.0021835877 0.0052382775 + 1874700 0.005289684 0.0021432258 0.0047467422 + 1874800 0.0052264562 0.0021563769 0.0047287733 + 1874900 0.0042062784 0.0021196995 0.0041899771 + 1875000 0.0051387418 0.0020633095 0.004592534 + 1875100 0.0048281497 0.0027889352 0.0051652901 + 1875200 0.0045983106 0.0031257967 0.0053890277 + 1875300 0.0055924693 0.0030964995 0.005849043 + 1875400 0.0043992386 0.0028824018 0.005047652 + 1875500 0.0046670532 0.0024926131 0.0047896784 + 1875600 0.0052590178 0.0023127729 0.0049011957 + 1875700 0.0056722198 0.0021727222 0.0049645179 + 1875800 0.0051897587 0.0020354004 0.0045897348 + 1875900 0.0049763002 0.0020882883 0.0045375611 + 1876000 0.0059528594 0.002035195 0.004965118 + 1876100 0.0054263795 0.0021686337 0.0048394299 + 1876200 0.0044975184 0.0024993213 0.0047129436 + 1876300 0.0057547589 0.0022301694 0.0050625897 + 1876400 0.0063573866 0.0024174958 0.005546522 + 1876500 0.0048612263 0.0030327439 0.0054253788 + 1876600 0.0042261193 0.0030565293 0.0051365724 + 1876700 0.0044980048 0.0027379219 0.0049517836 + 1876800 0.0043664101 0.0025737108 0.0047228033 + 1876900 0.0047523516 0.0022834716 0.0046225197 + 1877000 0.0050803753 0.002367374 0.0048678713 + 1877100 0.0046006543 0.0022684717 0.0045328563 + 1877200 0.0048465519 0.0023522467 0.004737659 + 1877300 0.0046065204 0.0021471774 0.0044144491 + 1877400 0.0045142046 0.0022036652 0.0044255002 + 1877500 0.0047613318 0.0020723379 0.0044158059 + 1877600 0.004612179 0.0023049108 0.0045749677 + 1877700 0.0043730211 0.0025403352 0.0046926816 + 1877800 0.0056333954 0.0025941657 0.0053668525 + 1877900 0.0056188329 0.0025299847 0.0052955041 + 1878000 0.0043592196 0.0027175423 0.0048630957 + 1878100 0.0041645222 0.0028650329 0.0049147586 + 1878200 0.003985234 0.0026551395 0.0046166219 + 1878300 0.0063667535 0.0020433006 0.0051769371 + 1878400 0.0044716572 0.0021770696 0.0043779634 + 1878500 0.0041273664 0.002062141 0.0040935792 + 1878600 0.003695597 0.0021038975 0.0039228242 + 1878700 0.0040410721 0.0022725421 0.0042615073 + 1878800 0.0050836809 0.0021556282 0.0046577524 + 1878900 0.0053602624 0.0026842335 0.0053224876 + 1879000 0.0059684385 0.002687455 0.0056250458 + 1879100 0.0049563284 0.0027429099 0.0051823528 + 1879200 0.0055211972 0.0019567012 0.0046741654 + 1879300 0.0058740237 0.0020862475 0.0049773685 + 1879400 0.0051697637 0.0025034669 0.00504796 + 1879500 0.0043523604 0.0029418483 0.0050840256 + 1879600 0.0038052338 0.0027460003 0.0046188888 + 1879700 0.0054577548 0.0020278433 0.004714082 + 1879800 0.0053393189 0.0016722291 0.0043001751 + 1879900 0.0042706469 0.0020045469 0.0041065059 + 1880000 0.0041588635 0.0019707668 0.0040177074 + 1880100 0.0056334997 0.0019220965 0.0046948346 + 1880200 0.0035521793 0.0021136899 0.0038620281 + 1880300 0.0038509406 0.001948635 0.0038440198 + 1880400 0.0032461177 0.0018797475 0.003477446 + 1880500 0.0055174818 0.0016820166 0.0043976522 + 1880600 0.0043298554 0.0018031562 0.0039342569 + 1880700 0.0042557289 0.0019541601 0.0040487767 + 1880800 0.0053012251 0.0022278545 0.0048370512 + 1880900 0.0050575901 0.0023065071 0.0047957898 + 1881000 0.0042707591 0.0027133315 0.0048153458 + 1881100 0.0046910745 0.0023956075 0.0047044957 + 1881200 0.0065144107 0.0020329881 0.0052392996 + 1881300 0.0051598801 0.0025338848 0.0050735132 + 1881400 0.00505512 0.0027328373 0.0052209041 + 1881500 0.0050849724 0.0023630633 0.0048658232 + 1881600 0.0050155254 0.0023264615 0.0047950404 + 1881700 0.0070139184 0.0021041753 0.0055563383 + 1881800 0.0046250972 0.0019101482 0.0041865632 + 1881900 0.0049034168 0.0015558939 0.0039692944 + 1882000 0.0055570424 0.001730657 0.0044657638 + 1882100 0.0048402397 0.0018567548 0.0042390603 + 1882200 0.0059179228 0.0020411105 0.0049538381 + 1882300 0.0047225951 0.0022266189 0.0045510212 + 1882400 0.0056357875 0.0025366805 0.0053105447 + 1882500 0.0048013455 0.0024987058 0.004861868 + 1882600 0.0042477552 0.0024539069 0.0045445989 + 1882700 0.0036773397 0.0024361645 0.0042461051 + 1882800 0.0041989932 0.0023645868 0.0044312787 + 1882900 0.0045934949 0.0024027486 0.0046636094 + 1883000 0.0038217208 0.0020782918 0.003959295 + 1883100 0.0056743315 0.0019598183 0.0047526533 + 1883200 0.0047343663 0.0017551895 0.0040853854 + 1883300 0.0059014443 0.0016036729 0.00450829 + 1883400 0.0042349215 0.0017464643 0.0038308398 + 1883500 0.0036898214 0.0021214954 0.0039375793 + 1883600 0.0048160705 0.0026638301 0.0050342398 + 1883700 0.0057976416 0.0026520641 0.0055055908 + 1883800 0.004554897 0.002266687 0.0045085504 + 1883900 0.0058228056 0.001494648 0.0043605601 + 1884000 0.0035266237 0.0016786759 0.003414436 + 1884100 0.0058500098 0.0016494703 0.004528772 + 1884200 0.0043684554 0.0016242102 0.0037743093 + 1884300 0.006195006 0.0018161947 0.0048652992 + 1884400 0.0058881955 0.0019572489 0.0048553451 + 1884500 0.0035911007 0.002180089 0.0039475839 + 1884600 0.0046377614 0.001869065 0.0041517132 + 1884700 0.0046806277 0.0018954904 0.0041992368 + 1884800 0.003444748 0.0022582623 0.0039537242 + 1884900 0.0051143112 0.0020213319 0.0045385319 + 1885000 0.0034974452 0.0019405814 0.0036619802 + 1885100 0.0040924134 0.00172944 0.0037436747 + 1885200 0.0036729763 0.0020064004 0.0038141934 + 1885300 0.0037959444 0.0021591138 0.0040274302 + 1885400 0.0063323834 0.0023875949 0.0055043148 + 1885500 0.004655842 0.0026069641 0.0048985113 + 1885600 0.0053028611 0.0020533344 0.0046633364 + 1885700 0.0049850356 0.0015769628 0.004030535 + 1885800 0.0049816619 0.0019593545 0.0044112662 + 1885900 0.0046806184 0.0025347608 0.0048385026 + 1886000 0.0057024816 0.0025532637 0.0053599539 + 1886100 0.0053279816 0.0023700446 0.0049924105 + 1886200 0.005479699 0.0020550159 0.0047520552 + 1886300 0.005047292 0.0017762777 0.0042604917 + 1886400 0.0044146248 0.0016214446 0.0037942677 + 1886500 0.0040524171 0.0018191285 0.0038136775 + 1886600 0.0057021838 0.0019075638 0.0047141073 + 1886700 0.0041784364 0.0020094225 0.0040659966 + 1886800 0.0052509317 0.0020449974 0.0046294404 + 1886900 0.0046349576 0.0018746642 0.0041559323 + 1887000 0.0049529392 0.0019122534 0.0043500281 + 1887100 0.004661776 0.0020309513 0.0043254192 + 1887200 0.0036557668 0.002043711 0.0038430337 + 1887300 0.0040888237 0.0019126882 0.0039251561 + 1887400 0.0060286835 0.0021421505 0.0051093932 + 1887500 0.0049717975 0.002449652 0.0048967086 + 1887600 0.0073813891 0.0022627548 0.0058957822 + 1887700 0.0055732353 0.0024205634 0.0051636402 + 1887800 0.0070941415 0.002930725 0.0064223727 + 1887900 0.005636876 0.0029094849 0.0056838848 + 1888000 0.0056816499 0.0024719786 0.0052684156 + 1888100 0.0046245774 0.0022290291 0.0045051883 + 1888200 0.0063114236 0.0017176486 0.0048240524 + 1888300 0.0043916932 0.0022635028 0.0044250393 + 1888400 0.0058035082 0.0026132683 0.0054696825 + 1888500 0.0051015846 0.0025107855 0.0050217217 + 1888600 0.0052713516 0.002550919 0.0051454124 + 1888700 0.0058000362 0.0019922818 0.0048469871 + 1888800 0.0047354735 0.001622489 0.0039532299 + 1888900 0.0055117103 0.0016145775 0.0043273725 + 1889000 0.0057092592 0.001785768 0.004595794 + 1889100 0.0047709946 0.0020918837 0.0044401076 + 1889200 0.0050482783 0.0022654277 0.0047501272 + 1889300 0.0061151798 0.0023929642 0.0054027793 + 1889400 0.0063336173 0.0026961778 0.0058135051 + 1889500 0.0061583636 0.002820378 0.0058514476 + 1889600 0.0064699151 0.0021157389 0.0053001503 + 1889700 0.0051201489 0.0021565793 0.0046766526 + 1889800 0.0049121072 0.0028000366 0.0052177144 + 1889900 0.0030387554 0.0027141525 0.0042097899 + 1890000 0.0042062304 0.0024462914 0.0045165454 + 1890100 0.0050293524 0.0022088659 0.0046842502 + 1890200 0.0039034811 0.0026135259 0.0045347705 + 1890300 0.0034888769 0.0027515789 0.0044687604 + 1890400 0.0066669734 0.00295295 0.006234351 + 1890500 0.0040402349 0.0024912224 0.0044797755 + 1890600 0.0039183788 0.0027319522 0.0046605293 + 1890700 0.0047365632 0.0024968647 0.0048281419 + 1890800 0.0051791562 0.0021738206 0.0047229365 + 1890900 0.0057150003 0.0024166675 0.0052295192 + 1891000 0.0050478152 0.0019689146 0.0044533861 + 1891100 0.0052799881 0.001860854 0.0044595981 + 1891200 0.0040998981 0.0023531445 0.0043710631 + 1891300 0.0039728547 0.0023457048 0.0043010942 + 1891400 0.0048595483 0.0022642941 0.004656103 + 1891500 0.0044412044 0.0022989655 0.0044848708 + 1891600 0.0050951071 0.0022322929 0.0047400409 + 1891700 0.0042507861 0.0024012922 0.0044934759 + 1891800 0.0046895839 0.002188129 0.0044962835 + 1891900 0.0049597048 0.0022845352 0.0047256399 + 1892000 0.0050099869 0.0022445365 0.0047103894 + 1892100 0.0059925152 0.0024896101 0.0054390512 + 1892200 0.0077902064 0.0032148307 0.0070490729 + 1892300 0.006303119 0.0030261922 0.0061285085 + 1892400 0.0066920142 0.0029825871 0.0062763129 + 1892500 0.0040802134 0.0032032999 0.00521153 + 1892600 0.0053510047 0.0030044884 0.0056381861 + 1892700 0.0051849091 0.0032238496 0.005775797 + 1892800 0.0063142044 0.002836047 0.0059438195 + 1892900 0.0053481166 0.0021463871 0.0047786632 + 1893000 0.0069309538 0.0019279174 0.0053392462 + 1893100 0.0053931864 0.0022440094 0.0048984684 + 1893200 0.0038658145 0.0025187713 0.0044214769 + 1893300 0.0061067045 0.0026550503 0.0056606939 + 1893400 0.0046981341 0.0023181079 0.0046304707 + 1893500 0.0071270809 0.0017187578 0.0052266179 + 1893600 0.0080901997 0.0021248616 0.0061067567 + 1893700 0.0057365471 0.0028460157 0.0056694725 + 1893800 0.0068389839 0.0029483955 0.0063144578 + 1893900 0.005376149 0.0033832866 0.00602936 + 1894000 0.0057957015 0.0031238799 0.0059764518 + 1894100 0.0050235514 0.0025631587 0.0050356879 + 1894200 0.0049391541 0.0021235509 0.0045545408 + 1894300 0.0051867799 0.0021930349 0.0047459031 + 1894400 0.006230486 0.002320752 0.0053873194 + 1894500 0.0048690887 0.0023796468 0.0047761514 + 1894600 0.0053204347 0.0022086936 0.004827345 + 1894700 0.0044088104 0.0021243265 0.0042942879 + 1894800 0.0043764553 0.0024238095 0.0045778461 + 1894900 0.0041280512 0.0024974062 0.0045291814 + 1895000 0.0048355174 0.0023195701 0.0046995513 + 1895100 0.0053022358 0.0020628335 0.0046725277 + 1895200 0.0049901101 0.0020799925 0.0045360623 + 1895300 0.0045410635 0.0020940926 0.0043291473 + 1895400 0.0042245283 0.0021689117 0.0042481718 + 1895500 0.0039773586 0.0025071778 0.004464784 + 1895600 0.0064413932 0.0029770304 0.0061474036 + 1895700 0.0051395562 0.0028473236 0.0053769489 + 1895800 0.0055278879 0.0023450926 0.0050658499 + 1895900 0.0060390843 0.0020362258 0.0050085876 + 1896000 0.0051545954 0.0019877866 0.0045248141 + 1896100 0.0054189475 0.0022472228 0.004914361 + 1896200 0.0058968154 0.0026749681 0.005577307 + 1896300 0.0050191968 0.0025105129 0.0049808989 + 1896400 0.0039256889 0.0029418361 0.0048740111 + 1896500 0.0054341463 0.0025357811 0.0052104 + 1896600 0.0052947666 0.0020190535 0.0046250715 + 1896700 0.005141795 0.002124987 0.0046557142 + 1896800 0.0052080328 0.0022518001 0.0048151288 + 1896900 0.0058334705 0.0021093711 0.0049805324 + 1897000 0.0045062715 0.0022671568 0.0044850873 + 1897100 0.0044513717 0.0023257827 0.0045166922 + 1897200 0.0050414479 0.0020122032 0.0044935408 + 1897300 0.0073251023 0.0021663203 0.005771644 + 1897400 0.0055619114 0.0021584605 0.0048959637 + 1897500 0.0046202924 0.002092301 0.0043663511 + 1897600 0.0046387088 0.0023134812 0.0045965957 + 1897700 0.0047649251 0.0021521145 0.0044973511 + 1897800 0.0051722813 0.0021461667 0.0046918989 + 1897900 0.0043855129 0.0019939438 0.0041524385 + 1898000 0.0051235664 0.0018684049 0.0043901603 + 1898100 0.0049881854 0.0023676376 0.0048227601 + 1898200 0.0053763362 0.0028217756 0.0054679411 + 1898300 0.0043389837 0.0031387307 0.0052743242 + 1898400 0.0057612954 0.0028963912 0.0057320288 + 1898500 0.0063622311 0.0029520987 0.0060835093 + 1898600 0.0044511351 0.0028171385 0.0050079316 + 1898700 0.0057427337 0.0023529681 0.0051794698 + 1898800 0.0060649767 0.0022132747 0.0051983805 + 1898900 0.0055981079 0.0024460427 0.0052013614 + 1899000 0.0041607606 0.0031554496 0.005203324 + 1899100 0.0040453113 0.0034059877 0.0053970394 + 1899200 0.0057374178 0.0026899895 0.0055138748 + 1899300 0.0056993345 0.0021421198 0.004947261 + 1899400 0.006332936 0.0019114325 0.0050284245 + 1899500 0.0037153252 0.0021702309 0.0039988675 + 1899600 0.0053618438 0.0022162483 0.0048552809 + 1899700 0.0064545627 0.0023204581 0.0054973132 + 1899800 0.0043895503 0.0023310634 0.0044915452 + 1899900 0.0048765547 0.0021379324 0.0045381116 + 1900000 0.0043456662 0.0021970375 0.0043359201 + 1900100 0.0043793433 0.0030293039 0.0051847619 + 1900200 0.004543968 0.0034949402 0.0057314245 + 1900300 0.0042497605 0.0029882743 0.0050799533 + 1900400 0.004486564 0.0026579558 0.0048661865 + 1900500 0.0041549405 0.0027639208 0.0048089305 + 1900600 0.0043799709 0.0030862125 0.0052419795 + 1900700 0.0050997178 0.0028736115 0.0053836289 + 1900800 0.0049024027 0.0026012689 0.0050141703 + 1900900 0.0050339707 0.0023224137 0.0048000711 + 1901000 0.0046408465 0.0026773339 0.0049615005 + 1901100 0.0053043148 0.0028589518 0.0054696692 + 1901200 0.0044466185 0.0028678935 0.0050564635 + 1901300 0.0049916807 0.0025072732 0.004964116 + 1901400 0.0058909935 0.0025517873 0.0054512606 + 1901500 0.0054566808 0.0025221631 0.0052078732 + 1901600 0.0066039447 0.002636844 0.005887223 + 1901700 0.0049507531 0.0026600844 0.0050967832 + 1901800 0.00705488 0.0023243034 0.0057966272 + 1901900 0.0046411679 0.0024341645 0.0047184893 + 1902000 0.0053116745 0.0024217008 0.0050360406 + 1902100 0.0042121731 0.0025567747 0.0046299537 + 1902200 0.0035198781 0.0028051445 0.0045375845 + 1902300 0.0038823632 0.0026569819 0.0045678326 + 1902400 0.0055265067 0.0024890799 0.0052091575 + 1902500 0.0057337886 0.0024668359 0.005288935 + 1902600 0.0047772017 0.0022230071 0.0045742861 + 1902700 0.0066254856 0.002505068 0.0057660492 + 1902800 0.005684084 0.0029676908 0.0057653259 + 1902900 0.0036091246 0.0028533665 0.0046297325 + 1903000 0.0049730896 0.0025058533 0.0049535459 + 1903100 0.0036536611 0.0028070019 0.0046052883 + 1903200 0.004152262 0.0029541969 0.0049978883 + 1903300 0.0060399097 0.0028598322 0.0058326003 + 1903400 0.0052242056 0.0028505521 0.0054218408 + 1903500 0.0042396777 0.0026922876 0.004779004 + 1903600 0.0042957869 0.0026671652 0.0047814978 + 1903700 0.0053952224 0.0025797917 0.0052352527 + 1903800 0.0040298711 0.0029321994 0.0049156516 + 1903900 0.0050743959 0.0025886394 0.0050861936 + 1904000 0.0049554617 0.0022425528 0.0046815691 + 1904100 0.0059125601 0.0020703635 0.0049804517 + 1904200 0.0054048414 0.0020211405 0.0046813359 + 1904300 0.0051386017 0.0017135037 0.0042426592 + 1904400 0.005095372 0.0017835043 0.0042913828 + 1904500 0.0039151686 0.0017674407 0.0036944378 + 1904600 0.0057365073 0.0022004832 0.0050239204 + 1904700 0.0050960405 0.0021110555 0.004619263 + 1904800 0.0052888078 0.0019990871 0.0046021722 + 1904900 0.0053179558 0.0024467821 0.0050642134 + 1905000 0.006802629 0.0021532719 0.0055014408 + 1905100 0.0075031322 0.0022645707 0.0059575186 + 1905200 0.0058070135 0.0026271713 0.0054853108 + 1905300 0.0054023551 0.0028932688 0.0055522405 + 1905400 0.0041383012 0.0026894259 0.004726246 + 1905500 0.0050310005 0.0022659506 0.0047421461 + 1905600 0.0041581945 0.0022880687 0.00433468 + 1905700 0.0025436059 0.0024731936 0.0037251246 + 1905800 0.0056613263 0.0025050403 0.0052914743 + 1905900 0.0044946998 0.0022495027 0.0044617378 + 1906000 0.0042768215 0.0023693844 0.0044743825 + 1906100 0.0054550418 0.0022870876 0.004971991 + 1906200 0.0053006024 0.0022471603 0.0048560505 + 1906300 0.0047601127 0.0020725433 0.0044154112 + 1906400 0.0043426308 0.0017830553 0.0039204439 + 1906500 0.0044078296 0.0017917176 0.0039611962 + 1906600 0.0050273864 0.0019915009 0.0044659176 + 1906700 0.0054379245 0.0024129534 0.0050894319 + 1906800 0.004331341 0.0025201245 0.0046519564 + 1906900 0.0063099168 0.0023521046 0.0054577668 + 1907000 0.0034437584 0.0024277555 0.0041227303 + 1907100 0.0056616877 0.0022021025 0.0049887144 + 1907200 0.0053262423 0.00208219 0.0047036998 + 1907300 0.0059995619 0.002592462 0.0055453714 + 1907400 0.0070311211 0.0028615669 0.0063221967 + 1907500 0.0069626297 0.0030425819 0.0064695012 + 1907600 0.0051883837 0.0031247156 0.0056783731 + 1907700 0.0052345718 0.0035302232 0.0061066139 + 1907800 0.007407569 0.0030682767 0.0067141896 + 1907900 0.0046467109 0.0029713816 0.0052584346 + 1908000 0.0059881502 0.0028003231 0.0057476157 + 1908100 0.0054063627 0.0024131797 0.0050741239 + 1908200 0.0051148008 0.0028691383 0.0053865793 + 1908300 0.0050265259 0.0027257068 0.0051997 + 1908400 0.0054002065 0.0025768759 0.0052347901 + 1908500 0.0039744672 0.0030030921 0.0049592752 + 1908600 0.0053265995 0.0026874774 0.0053091631 + 1908700 0.004729641 0.0029330554 0.0052609255 + 1908800 0.0043799158 0.0031678492 0.0053235889 + 1908900 0.006068706 0.0034134992 0.0064004405 + 1909000 0.0056271209 0.0033760133 0.0061456119 + 1909100 0.0065949836 0.0030160461 0.0062620146 + 1909200 0.0048574949 0.0032534341 0.0056442324 + 1909300 0.0066299046 0.0029227414 0.0061858976 + 1909400 0.0060586569 0.0026434609 0.0056254561 + 1909500 0.0053960599 0.0030855333 0.0057414065 + 1909600 0.0050419308 0.0028712916 0.0053528669 + 1909700 0.0032045192 0.0028469541 0.0044241785 + 1909800 0.0061441543 0.0024398294 0.0054639053 + 1909900 0.0044539362 0.002822636 0.0050148078 + 1910000 0.0051633097 0.003173802 0.0057151185 + 1910100 0.004838801 0.0028281332 0.0052097306 + 1910200 0.0039151588 0.002719723 0.0046467152 + 1910300 0.0053867368 0.0027648393 0.0054161239 + 1910400 0.0047883178 0.0027310778 0.0050878279 + 1910500 0.0044689839 0.002457148 0.004656726 + 1910600 0.0035509552 0.002692882 0.0044406178 + 1910700 0.005123139 0.002308879 0.0048304239 + 1910800 0.0048122089 0.0023827898 0.0047512989 + 1910900 0.0081181532 0.0027233078 0.0067189613 + 1911000 0.0048683618 0.0034233596 0.0058195064 + 1911100 0.0037549504 0.0036571434 0.0055052831 + 1911200 0.0041650792 0.0032913353 0.0053413352 + 1911300 0.0051186974 0.0030308084 0.0055501673 + 1911400 0.0042217387 0.0027332151 0.0048111021 + 1911500 0.004682911 0.0024322732 0.0047371434 + 1911600 0.0055665434 0.0022741848 0.0050139679 + 1911700 0.0053825619 0.0027759609 0.0054251906 + 1911800 0.0056070375 0.0032328343 0.005992548 + 1911900 0.0052592614 0.0029291293 0.0055176721 + 1912000 0.0054767695 0.0027668657 0.0054624632 + 1912100 0.0044058104 0.0030278438 0.0051963286 + 1912200 0.0061682385 0.0031800428 0.0062159727 + 1912300 0.0054818366 0.0025324083 0.0052304997 + 1912400 0.0058738154 0.002480401 0.0053714195 + 1912500 0.004992234 0.0030556531 0.0055127683 + 1912600 0.0047396403 0.0027360535 0.0050688452 + 1912700 0.005190719 0.002875212 0.0054300189 + 1912800 0.0032459836 0.0028363389 0.0044339714 + 1912900 0.0042356472 0.0026281396 0.0047128722 + 1913000 0.0051142145 0.0024702105 0.0049873629 + 1913100 0.0047370124 0.0022210099 0.0045525082 + 1913200 0.0052818234 0.0023226606 0.0049223081 + 1913300 0.0049244501 0.0024017881 0.0048255409 + 1913400 0.004030087 0.002496837 0.0044803955 + 1913500 0.0066303644 0.0025940067 0.0058573892 + 1913600 0.0049734339 0.0029455892 0.0053934512 + 1913700 0.0038715841 0.0025404078 0.0044459531 + 1913800 0.0054936581 0.002218937 0.0049228468 + 1913900 0.0040736679 0.0021496548 0.0041546632 + 1914000 0.0036362249 0.0020724131 0.0038621176 + 1914100 0.0040449874 0.0017259222 0.0037168145 + 1914200 0.0043084372 0.0020009298 0.0041214888 + 1914300 0.0076682968 0.0022573249 0.0060315647 + 1914400 0.0058179489 0.0022205321 0.0050840538 + 1914500 0.0048293571 0.0022537173 0.0046306665 + 1914600 0.0053466993 0.0021327229 0.0047643015 + 1914700 0.0066170886 0.0023173729 0.0055742213 + 1914800 0.004600395 0.0033076016 0.0055718585 + 1914900 0.0043616169 0.0029214763 0.0050682097 + 1915000 0.0058928075 0.0022316467 0.0051320129 + 1915100 0.0042474411 0.0021873227 0.0042778601 + 1915200 0.0055313353 0.0023349709 0.005057425 + 1915300 0.0056034483 0.0025409139 0.0052988611 + 1915400 0.0064952993 0.0023835706 0.0055804757 + 1915500 0.0059271446 0.0022747054 0.0051919718 + 1915600 0.0044718675 0.00269988 0.0049008772 + 1915700 0.004452722 0.0029718634 0.0051634376 + 1915800 0.0063362683 0.0028693615 0.0059879935 + 1915900 0.0065101143 0.0025842872 0.0057884841 + 1916000 0.0038634733 0.0027155833 0.0046171366 + 1916100 0.004013169 0.0027185103 0.0046937419 + 1916200 0.0041893475 0.0023513276 0.004413272 + 1916300 0.0066122252 0.0023505594 0.005605014 + 1916400 0.0044033991 0.0023747237 0.0045420217 + 1916500 0.0061230829 0.0025007727 0.0055144775 + 1916600 0.0060899145 0.002418923 0.0054163028 + 1916700 0.0052060664 0.0023569451 0.0049193059 + 1916800 0.0054895773 0.0020612337 0.0047631351 + 1916900 0.0043015074 0.0018825018 0.00399965 + 1917000 0.0039566591 0.0022125133 0.0041599315 + 1917100 0.0060901772 0.0022812415 0.0052787505 + 1917200 0.0051807927 0.0021118118 0.0046617332 + 1917300 0.0035091109 0.002217183 0.0039443235 + 1917400 0.0048379596 0.0024341811 0.0048153643 + 1917500 0.0046143274 0.0023716705 0.0046427848 + 1917600 0.0046302403 0.0024112562 0.0046902026 + 1917700 0.0045389284 0.0024304084 0.0046644122 + 1917800 0.0059510614 0.0020830031 0.0050120411 + 1917900 0.0038553455 0.0022910248 0.0041885777 + 1918000 0.0047111337 0.0026970634 0.0050158245 + 1918100 0.0051308633 0.0026433609 0.0051687077 + 1918200 0.0051334256 0.0024474637 0.0049740716 + 1918300 0.0060202597 0.0022322381 0.0051953347 + 1918400 0.0051574692 0.0024429967 0.0049814386 + 1918500 0.0052267575 0.0027093786 0.0052819233 + 1918600 0.0061451131 0.0022157439 0.0052402918 + 1918700 0.0043869983 0.0024217587 0.0045809845 + 1918800 0.0053752092 0.0025245621 0.0051701728 + 1918900 0.0045529158 0.0022590102 0.0044998985 + 1919000 0.0052687595 0.0019375739 0.0045307915 + 1919100 0.0046442978 0.0020624555 0.0043483208 + 1919200 0.006966526 0.0028785267 0.0063073637 + 1919300 0.0052773955 0.0037975138 0.0063949819 + 1919400 0.0053470317 0.0029643812 0.0055961234 + 1919500 0.0056594859 0.0023721758 0.005157704 + 1919600 0.0046507179 0.0023426492 0.0046316745 + 1919700 0.0053937628 0.002401126 0.0050558686 + 1919800 0.0050035406 0.0026752546 0.0051379348 + 1919900 0.0054581288 0.0031684439 0.0058548667 + 1920000 0.0048592261 0.0031833597 0.00557501 + 1920100 0.006192711 0.0029285174 0.0059764924 + 1920200 0.0056199698 0.002662466 0.0054285449 + 1920300 0.004330002 0.0023144393 0.0044456122 + 1920400 0.0062492858 0.0022383572 0.0053141776 + 1920500 0.0047181848 0.0022361034 0.004558335 + 1920600 0.0038364754 0.0025090869 0.0043973521 + 1920700 0.0068344475 0.0023837169 0.0057475465 + 1920800 0.0044132874 0.0030706552 0.00524282 + 1920900 0.0052377413 0.0035375331 0.006115484 + 1921000 0.0050625826 0.0032258597 0.0057175996 + 1921100 0.0045934687 0.0023099084 0.0045707563 + 1921200 0.0053722789 0.0017992989 0.0044434675 + 1921300 0.0040921716 0.0020110185 0.0040251342 + 1921400 0.0042464826 0.0022998931 0.0043899587 + 1921500 0.0047161555 0.002400351 0.0047215838 + 1921600 0.0043718698 0.0025759465 0.0047277261 + 1921700 0.005958452 0.0022764436 0.0052091192 + 1921800 0.0051043897 0.0020567558 0.0045690726 + 1921900 0.0054548477 0.0023524339 0.0050372417 + 1922000 0.0059675359 0.0025768155 0.0055139621 + 1922100 0.0046638111 0.0023542306 0.0046497001 + 1922200 0.0053266461 0.0022338096 0.0048555183 + 1922300 0.0051130485 0.0024335486 0.0049501271 + 1922400 0.0062873794 0.002200314 0.0052948835 + 1922500 0.0054390613 0.0022615009 0.0049385389 + 1922600 0.0062105712 0.0026585435 0.005715309 + 1922700 0.0041735152 0.0029526922 0.0050068442 + 1922800 0.0057196655 0.0029435175 0.0057586654 + 1922900 0.0050838975 0.0032262563 0.0057284871 + 1923000 0.0055052109 0.0027754636 0.0054850595 + 1923100 0.0048874809 0.002472526 0.004878083 + 1923200 0.0048721977 0.0021844402 0.004582475 + 1923300 0.0043495432 0.0027166532 0.004857444 + 1923400 0.0065056077 0.0027026314 0.0059046102 + 1923500 0.0054171093 0.0023684218 0.0050346553 + 1923600 0.0039196964 0.0022290693 0.0041582949 + 1923700 0.0045133208 0.0019066507 0.0041280508 + 1923800 0.0045834849 0.002071156 0.00432709 + 1923900 0.0039835383 0.0021541397 0.0041147875 + 1924000 0.0053179027 0.0021439353 0.0047613406 + 1924100 0.0070365419 0.0021608708 0.0056241688 + 1924200 0.0042590485 0.0022848428 0.0043810933 + 1924300 0.005243419 0.0021193224 0.0047000677 + 1924400 0.005708324 0.0017312487 0.0045408144 + 1924500 0.0058006141 0.0025520895 0.0054070792 + 1924600 0.0061062966 0.0026323906 0.0056378335 + 1924700 0.0057147517 0.0024386026 0.0052513319 + 1924800 0.0048322046 0.0019017119 0.0042800626 + 1924900 0.0061314671 0.0018149495 0.004832781 + 1925000 0.0051744137 0.0019979348 0.0045447166 + 1925100 0.0064318709 0.0025987993 0.0057644857 + 1925200 0.0046765376 0.0027726185 0.0050743519 + 1925300 0.0055356922 0.0023857581 0.0051103566 + 1925400 0.0050583514 0.0019422296 0.0044318869 + 1925500 0.0040128399 0.0019514756 0.0039265452 + 1925600 0.0067039827 0.0023935311 0.0056931476 + 1925700 0.0069478566 0.0028311334 0.0062507816 + 1925800 0.0048440453 0.0025322055 0.004916384 + 1925900 0.0067386862 0.002112198 0.0054288951 + 1926000 0.0038864551 0.0027006221 0.0046134867 + 1926100 0.0036076212 0.0029339823 0.0047096083 + 1926200 0.0047824068 0.0028823612 0.005236202 + 1926300 0.0048338084 0.0027569753 0.0051361154 + 1926400 0.0057084534 0.0022770253 0.0050866547 + 1926500 0.0055422737 0.0016498642 0.004377702 + 1926600 0.0058188688 0.0018576627 0.0047216372 + 1926700 0.0056285623 0.001828754 0.004599062 + 1926800 0.0053804792 0.0019692935 0.0046174981 + 1926900 0.0042728488 0.0023850994 0.0044881421 + 1927000 0.0050311616 0.001896969 0.0043732438 + 1927100 0.0045917693 0.0017541135 0.0040141249 + 1927200 0.0054952581 0.0019134538 0.0046181511 + 1927300 0.0044454668 0.0023989129 0.0045869161 + 1927400 0.005406817 0.0024731726 0.0051343404 + 1927500 0.004545335 0.0026019434 0.0048391004 + 1927600 0.0051874367 0.003056019 0.0056092105 + 1927700 0.0054108605 0.002903521 0.0055666789 + 1927800 0.0043701043 0.0028301099 0.0049810206 + 1927900 0.0067663321 0.002532235 0.0058625391 + 1928000 0.0048834042 0.0024836653 0.0048872158 + 1928100 0.005003884 0.002126817 0.0045896662 + 1928200 0.0038291612 0.0019638419 0.0038485072 + 1928300 0.0070826926 0.0020214702 0.0055074829 + 1928400 0.0060110113 0.0021453643 0.0051039089 + 1928500 0.0053331534 0.0025847183 0.0052096297 + 1928600 0.0055783933 0.0030469046 0.00579252 + 1928700 0.0058932337 0.0031083961 0.0060089721 + 1928800 0.0058713754 0.0028322979 0.0057221155 + 1928900 0.0043825763 0.0028972926 0.0050543419 + 1929000 0.0064651835 0.0030917794 0.0062738619 + 1929100 0.0047675589 0.0030667707 0.0054133036 + 1929200 0.0064344047 0.0024199223 0.0055868559 + 1929300 0.0041613915 0.002608236 0.0046564209 + 1929400 0.0052434542 0.0026003693 0.0051811319 + 1929500 0.0042788031 0.0028419888 0.0049479622 + 1929600 0.0051311717 0.0030508041 0.0055763027 + 1929700 0.0041357664 0.0031811759 0.0052167484 + 1929800 0.0053405536 0.0031355912 0.0057641449 + 1929900 0.0053568786 0.0025764194 0.0052130081 + 1930000 0.0035314915 0.0026400042 0.0043781602 + 1930100 0.0047677643 0.0032163283 0.0055629623 + 1930200 0.004678255 0.0029343888 0.0052369675 + 1930300 0.003306335 0.0025310104 0.0041583472 + 1930400 0.0040825228 0.0025154543 0.004524821 + 1930500 0.0052109936 0.0026427655 0.0052075514 + 1930600 0.0059333994 0.0025087032 0.0054290482 + 1930700 0.0048580653 0.0026817369 0.0050728159 + 1930800 0.0061855253 0.0025327523 0.0055771906 + 1930900 0.0053319275 0.0025883007 0.0052126087 + 1931000 0.0039990717 0.002553903 0.0045221961 + 1931100 0.0040501791 0.0022323782 0.0042258257 + 1931200 0.0042180624 0.0017578194 0.003833897 + 1931300 0.0050443054 0.0017015862 0.0041843303 + 1931400 0.0040566486 0.0018690432 0.0038656749 + 1931500 0.0059665029 0.0019603292 0.0048969674 + 1931600 0.0054376933 0.0015740379 0.0042504026 + 1931700 0.0050713584 0.0015823515 0.0040784107 + 1931800 0.0043029995 0.0017684269 0.0038863095 + 1931900 0.0053551015 0.0016877853 0.0043234993 + 1932000 0.0059243172 0.001745908 0.0046617829 + 1932100 0.0032134698 0.0025426012 0.0041242309 + 1932200 0.0046879819 0.0023305068 0.0046378729 + 1932300 0.0055771194 0.0023206857 0.0050656742 + 1932400 0.0051247402 0.0022794726 0.0048018057 + 1932500 0.0044660029 0.002197239 0.0043953498 + 1932600 0.0055681978 0.0020173864 0.0047579837 + 1932700 0.0044720137 0.0017784764 0.0039795456 + 1932800 0.0057204328 0.0019462168 0.0047617423 + 1932900 0.0063015774 0.0024615516 0.0055631093 + 1933000 0.0061731608 0.0020845797 0.0051229323 + 1933100 0.0045674762 0.0023528394 0.0046008941 + 1933200 0.0053501274 0.0021261898 0.0047594556 + 1933300 0.0055846555 0.001966533 0.0047152306 + 1933400 0.0041056353 0.0024456809 0.0044664233 + 1933500 0.0066441958 0.002097642 0.0053678321 + 1933600 0.0037798348 0.0021727892 0.0040331767 + 1933700 0.0041807703 0.0020733723 0.0041310952 + 1933800 0.0043092601 0.0021589949 0.0042799588 + 1933900 0.0052814169 0.0023221663 0.0049216137 + 1934000 0.0047009604 0.0025455383 0.0048592922 + 1934100 0.0043929394 0.002858411 0.0050205609 + 1934200 0.004877666 0.0028724634 0.0052731896 + 1934300 0.005689155 0.0024654787 0.0052656097 + 1934400 0.0064128496 0.0027048915 0.0058612159 + 1934500 0.0049423581 0.0032146203 0.0056471871 + 1934600 0.005407287 0.0030924902 0.0057538893 + 1934700 0.0053414612 0.0025397309 0.0051687313 + 1934800 0.0051096145 0.0021110809 0.0046259693 + 1934900 0.0047699233 0.00193222 0.0042799166 + 1935000 0.0037299528 0.0020382571 0.0038740932 + 1935100 0.004692111 0.0018402431 0.0041496414 + 1935200 0.0051072204 0.001731499 0.004245209 + 1935300 0.005000162 0.0021683886 0.0046294058 + 1935400 0.005286832 0.0019450034 0.004547116 + 1935500 0.0051939352 0.0021857548 0.0047421448 + 1935600 0.00644339 0.0022291894 0.0054005454 + 1935700 0.0071900586 0.0021164536 0.0056553106 + 1935800 0.0055004842 0.0021257832 0.0048330528 + 1935900 0.0035549909 0.0025679207 0.0043176428 + 1936000 0.0038259495 0.0025239053 0.0044069898 + 1936100 0.0048043476 0.002104575 0.0044692149 + 1936200 0.0064956738 0.0024944978 0.0056915872 + 1936300 0.0059778758 0.002905859 0.0058480947 + 1936400 0.0061613659 0.0029779558 0.0060105031 + 1936500 0.0043324271 0.0027632046 0.0048955711 + 1936600 0.0046121668 0.0023749216 0.0046449724 + 1936700 0.0060858071 0.0026214388 0.005616797 + 1936800 0.0051709009 0.0028814411 0.0054264939 + 1936900 0.004226439 0.0026343311 0.0047145316 + 1937000 0.0043876144 0.0021528921 0.004312421 + 1937100 0.0044157044 0.0022535556 0.0044269101 + 1937200 0.0047588056 0.0020209118 0.0043631364 + 1937300 0.0065581199 0.0022997553 0.00552758 + 1937400 0.0036893646 0.0025006946 0.0043165537 + 1937500 0.0058091169 0.0022247854 0.0050839602 + 1937600 0.005120915 0.0027894393 0.0053098896 + 1937700 0.0057998658 0.0028762809 0.0057309023 + 1937800 0.0050942553 0.0025534618 0.0050607906 + 1937900 0.0054574882 0.0023642792 0.0050503866 + 1938000 0.0042063799 0.0019526762 0.0040230038 + 1938100 0.0053050435 0.001973706 0.0045847821 + 1938200 0.0061108513 0.0023514397 0.0053591244 + 1938300 0.0044327145 0.0027682141 0.0049499408 + 1938400 0.0045960542 0.0026946725 0.0049567929 + 1938500 0.0046179853 0.0024980571 0.0047709717 + 1938600 0.0044325297 0.0028228987 0.0050045344 + 1938700 0.0059707891 0.0032402563 0.0061790041 + 1938800 0.0050818692 0.0033757848 0.0058770173 + 1938900 0.0063042715 0.0034017244 0.006504608 + 1939000 0.0058689984 0.0031688747 0.0060575223 + 1939100 0.0062984481 0.0027884007 0.0058884182 + 1939200 0.0042516827 0.0027211141 0.0048137392 + 1939300 0.0055852617 0.0028288735 0.0055778695 + 1939400 0.0059443656 0.0027939633 0.0057197058 + 1939500 0.0044849095 0.0030751509 0.0052825673 + 1939600 0.0073540225 0.0029376592 0.0065572171 + 1939700 0.0058212565 0.0027820104 0.0056471601 + 1939800 0.0054193497 0.0027682873 0.0054356235 + 1939900 0.0064416349 0.0033076992 0.0064781914 + 1940000 0.0052415054 0.0031668298 0.0057466332 + 1940100 0.0059695318 0.0028141583 0.0057522872 + 1940200 0.0047844406 0.0030469658 0.0054018076 + 1940300 0.0045235778 0.0029133561 0.0051398045 + 1940400 0.005486135 0.0023386076 0.0050388147 + 1940500 0.0052212236 0.0026086981 0.0051785191 + 1940600 0.004868448 0.0026270879 0.0050232772 + 1940700 0.0071970414 0.0026281287 0.0061704225 + 1940800 0.0056430134 0.0034515461 0.0062289668 + 1940900 0.0053340621 0.0037555634 0.006380922 + 1941000 0.0049319097 0.0035145699 0.0059419942 + 1941100 0.0050221034 0.0038370433 0.0063088599 + 1941200 0.0055321024 0.003051018 0.0057738497 + 1941300 0.0041915875 0.002214242 0.004277289 + 1941400 0.0049878524 0.00197035 0.0044253085 + 1941500 0.0055034125 0.0022729302 0.004981641 + 1941600 0.0053666436 0.0026669515 0.0053083464 + 1941700 0.0041627765 0.0032548749 0.0053037414 + 1941800 0.0043623951 0.0034906228 0.0056377391 + 1941900 0.0034835984 0.0034378913 0.0051524749 + 1942000 0.0056847685 0.003051769 0.005849741 + 1942100 0.0057556863 0.001951808 0.0047846849 + 1942200 0.0060839021 0.002008404 0.0050028245 + 1942300 0.0045323697 0.0020439559 0.0042747316 + 1942400 0.0046040714 0.001721521 0.0039875874 + 1942500 0.0046438812 0.0013562373 0.0036418976 + 1942600 0.004158342 0.0013194538 0.0033661378 + 1942700 0.0046637812 0.001702855 0.0039983099 + 1942800 0.0062838957 0.0020581977 0.0051510527 + 1942900 0.0071831869 0.0024291385 0.0059646133 + 1943000 0.0050244835 0.0027874513 0.0052604393 + 1943100 0.0045697951 0.0023104857 0.0045596817 + 1943200 0.0051384675 0.0018046707 0.0043337602 + 1943300 0.003556892 0.002299325 0.0040499827 + 1943400 0.004777104 0.0023338744 0.0046851053 + 1943500 0.0048931914 0.0023489872 0.0047573549 + 1943600 0.0030260166 0.0022962563 0.0037856238 + 1943700 0.0059935989 0.0022079142 0.0051578887 + 1943800 0.0041742244 0.0024655797 0.0045200808 + 1943900 0.0071192188 0.0020574313 0.0055614218 + 1944000 0.0047882085 0.0018263065 0.0041830029 + 1944100 0.0057996421 0.0016884755 0.0045429869 + 1944200 0.0057450216 0.0021086764 0.0049363043 + 1944300 0.0065961603 0.0027030243 0.005949572 + 1944400 0.0052262423 0.0027619885 0.0053342796 + 1944500 0.0045837099 0.0025227105 0.0047787552 + 1944600 0.0043572839 0.0024910502 0.0046356509 + 1944700 0.0038461622 0.0024563801 0.004349413 + 1944800 0.0066779131 0.0023488247 0.00563561 + 1944900 0.0061684992 0.0022805332 0.0053165913 + 1945000 0.0046183303 0.0025061738 0.0047792582 + 1945100 0.0060686083 0.0026098363 0.0055967294 + 1945200 0.006302049 0.0028400443 0.005941834 + 1945300 0.0041619882 0.002875805 0.0049242835 + 1945400 0.0045392246 0.0024872674 0.004721417 + 1945500 0.004788768 0.002341422 0.0046983937 + 1945600 0.0068003512 0.0018903704 0.0052374183 + 1945700 0.005354327 0.0018558797 0.0044912126 + 1945800 0.0051109486 0.0022146238 0.0047301688 + 1945900 0.0042800015 0.0022164891 0.0043230524 + 1946000 0.0050544186 0.0023136442 0.0048013658 + 1946100 0.0040574935 0.0025921725 0.0045892201 + 1946200 0.0060294764 0.0026184607 0.0055860936 + 1946300 0.0038442817 0.0028544052 0.0047465126 + 1946400 0.0052554143 0.0021231339 0.0047097831 + 1946500 0.0036103926 0.0019464465 0.0037234366 + 1946600 0.0037319802 0.0021007238 0.0039375578 + 1946700 0.0047750959 0.0023237361 0.0046739786 + 1946800 0.0059808432 0.0023604375 0.0053041338 + 1946900 0.0051591368 0.0026466873 0.0051859499 + 1947000 0.0055581688 0.0025523781 0.0052880393 + 1947100 0.0037177628 0.002504245 0.0043340814 + 1947200 0.0058009122 0.0019920139 0.0048471504 + 1947300 0.0058081754 0.0019559148 0.0048146262 + 1947400 0.0044063667 0.0022865131 0.0044552717 + 1947500 0.0041734164 0.0020979631 0.0041520665 + 1947600 0.0043305008 0.0019552981 0.0040867165 + 1947700 0.0048403374 0.0017671576 0.0041495112 + 1947800 0.0053003123 0.0022150025 0.0048237499 + 1947900 0.0044338509 0.0026767257 0.0048590117 + 1948000 0.0056110532 0.0028304549 0.0055921452 + 1948100 0.0048102169 0.0030133628 0.0053808914 + 1948200 0.0045265515 0.00275435 0.0049822621 + 1948300 0.0060881154 0.0020682125 0.0050647068 + 1948400 0.0046306615 0.0019027405 0.0041818942 + 1948500 0.0055676485 0.0018808563 0.0046211833 + 1948600 0.0042734816 0.0017054533 0.0038088075 + 1948700 0.0036355489 0.0016916969 0.0034810686 + 1948800 0.004590274 0.0018233496 0.0040826251 + 1948900 0.0041779645 0.002092464 0.0041488059 + 1949000 0.0050915833 0.0023156868 0.0048217004 + 1949100 0.0039488311 0.0019632255 0.0039067909 + 1949200 0.0044730038 0.0018821053 0.0040836619 + 1949300 0.0042214869 0.002108772 0.0041865351 + 1949400 0.00438614 0.0022550226 0.0044138259 + 1949500 0.0070104042 0.0019165951 0.0053670284 + 1949600 0.004337837 0.0019558641 0.0040908932 + 1949700 0.004938766 0.0022647281 0.0046955269 + 1949800 0.0061550364 0.0019890647 0.0050184967 + 1949900 0.0036435399 0.0022014401 0.0039947449 + 1950000 0.0051231702 0.0026722163 0.0051937767 + 1950100 0.0061761192 0.0023461744 0.0053859831 + 1950200 0.0052544786 0.0024609231 0.0050471118 + 1950300 0.0049698897 0.0027583698 0.0052044874 + 1950400 0.0047757593 0.0029634688 0.0053140378 + 1950500 0.0058921072 0.0030138878 0.0059139094 + 1950600 0.0062332072 0.0030210892 0.0060889959 + 1950700 0.0051183582 0.0028439915 0.0053631834 + 1950800 0.0050172471 0.0027103311 0.0051797574 + 1950900 0.0045950816 0.0024165827 0.0046782244 + 1951000 0.0047382081 0.0019532869 0.0042853737 + 1951100 0.0039407513 0.0020571328 0.0039967213 + 1951200 0.0048356356 0.0016102402 0.0039902796 + 1951300 0.0041751276 0.0017435179 0.0037984635 + 1951400 0.0040588326 0.0023624454 0.0043601521 + 1951500 0.0058778344 0.0025834822 0.0054764788 + 1951600 0.0063941441 0.0029821422 0.00612926 + 1951700 0.0056562701 0.0023183776 0.0051023231 + 1951800 0.0048264504 0.0019548835 0.004330402 + 1951900 0.0062045654 0.0021516686 0.0052054782 + 1952000 0.0042897572 0.0020502277 0.0041615925 + 1952100 0.0059818312 0.0018799987 0.0048241812 + 1952200 0.0034165882 0.0021824738 0.0038640758 + 1952300 0.0043020258 0.0021782343 0.0042956377 + 1952400 0.00519647 0.0018900586 0.0044476962 + 1952500 0.0057732949 0.0021985672 0.0050401108 + 1952600 0.0041574269 0.0024977711 0.0045440047 + 1952700 0.0063289385 0.0020445623 0.0051595867 + 1952800 0.0048921736 0.0020274326 0.0044352993 + 1952900 0.0044313354 0.0026314385 0.0048124864 + 1953000 0.0064333997 0.0025942498 0.0057606887 + 1953100 0.0065624207 0.0022420747 0.0054720162 + 1953200 0.003548008 0.0024522868 0.004198572 + 1953300 0.0045217632 0.002378023 0.0046035784 + 1953400 0.0047003282 0.0022333381 0.0045467808 + 1953500 0.0039800589 0.0021303665 0.0040893018 + 1953600 0.0051977643 0.0019285515 0.0044868261 + 1953700 0.0045300298 0.0025816278 0.0048112519 + 1953800 0.0052281123 0.0020846826 0.0046578941 + 1953900 0.0050875789 0.0018757677 0.0043798105 + 1954000 0.0073630713 0.0014708889 0.0050949005 + 1954100 0.005888075 0.0016951194 0.0045931564 + 1954200 0.0040477305 0.0025104363 0.0045026787 + 1954300 0.0040159159 0.0028807755 0.0048573591 + 1954400 0.0057639811 0.0024426199 0.0052795793 + 1954500 0.0046990691 0.0023312931 0.0046441162 + 1954600 0.0062294968 0.0019907943 0.0050568748 + 1954700 0.0038134165 0.0023362223 0.0042131383 + 1954800 0.0043384228 0.0022677487 0.0044030662 + 1954900 0.0041086895 0.002575238 0.0045974836 + 1955000 0.0057618147 0.0026503823 0.0054862754 + 1955100 0.0053866195 0.0028547051 0.0055059319 + 1955200 0.0065060895 0.0029907507 0.0061929666 + 1955300 0.0051540395 0.0024268348 0.0049635886 + 1955400 0.005918247 0.0022200104 0.0051328976 + 1955500 0.00527401 0.0020125439 0.0046083457 + 1955600 0.0057023232 0.001829265 0.0046358772 + 1955700 0.0044354442 0.002064399 0.0042474692 + 1955800 0.0028178835 0.0020570509 0.003443978 + 1955900 0.0052400123 0.0014843542 0.0040634228 + 1956000 0.0044515493 0.0013945085 0.0035855054 + 1956100 0.0062732301 0.0014166444 0.0045042498 + 1956200 0.0058625883 0.001880113 0.0047656057 + 1956300 0.0048796907 0.0019016454 0.0043033681 + 1956400 0.0043503072 0.0019897976 0.0041309644 + 1956500 0.0047072638 0.002014239 0.0043310954 + 1956600 0.004040348 0.0021437387 0.0041323475 + 1956700 0.0059166536 0.0022461659 0.0051582688 + 1956800 0.0047412221 0.0023105859 0.0046441562 + 1956900 0.0058967643 0.0020323519 0.0049346656 + 1957000 0.0050170232 0.0022913868 0.0047607029 + 1957100 0.0051360562 0.002353474 0.0048813767 + 1957200 0.0051993477 0.0023753953 0.0049344492 + 1957300 0.0075910763 0.0020369698 0.0057732026 + 1957400 0.0060897096 0.0023980093 0.0053952883 + 1957500 0.0063140278 0.0027847931 0.0058924787 + 1957600 0.0054957856 0.0027947956 0.0054997526 + 1957700 0.0041769473 0.0024245732 0.0044804144 + 1957800 0.0043894414 0.0026513851 0.0048118133 + 1957900 0.006061054 0.0025421013 0.0055252763 + 1958000 0.0057354608 0.0020623481 0.0048852702 + 1958100 0.0039545206 0.0017615936 0.0037079592 + 1958200 0.0037806376 0.0017925673 0.0036533498 + 1958300 0.0046866414 0.0022769038 0.0045836102 + 1958400 0.0056758527 0.0027548794 0.0055484631 + 1958500 0.0057331959 0.0026797272 0.0055015346 + 1958600 0.0055173524 0.0028425703 0.0055581422 + 1958700 0.0043320248 0.0031474432 0.0052796116 + 1958800 0.0067276345 0.0027510618 0.0060623194 + 1958900 0.0058622506 0.0025557482 0.0054410746 + 1959000 0.0047431314 0.0024561714 0.0047906813 + 1959100 0.0044309755 0.0018525584 0.0040334292 + 1959200 0.0064284583 0.0019178471 0.0050818539 + 1959300 0.0039232343 0.0028774845 0.0048084514 + 1959400 0.0048943551 0.0032274365 0.0056363769 + 1959500 0.0043600509 0.003034413 0.0051803755 + 1959600 0.0058800444 0.0026355566 0.0055296409 + 1959700 0.0044944449 0.0025639432 0.0047760528 + 1959800 0.005528302 0.0021286715 0.0048496326 + 1959900 0.00391563 0.0018230644 0.0037502885 + 1960000 0.0043009187 0.0018197585 0.0039366169 + 1960100 0.0045976068 0.0021029098 0.0043657944 + 1960200 0.0038440412 0.0020744119 0.0039664009 + 1960300 0.0051809904 0.0021146997 0.0046647185 + 1960400 0.0044555659 0.001894392 0.0040873659 + 1960500 0.004866486 0.0021133084 0.0045085319 + 1960600 0.0051720432 0.0021001547 0.0046457697 + 1960700 0.004844078 0.0023657313 0.004749926 + 1960800 0.0045788827 0.0023075766 0.0045612454 + 1960900 0.0052030572 0.0020636233 0.0046245031 + 1961000 0.0035280792 0.0022292553 0.0039657318 + 1961100 0.0040345965 0.0025924621 0.00457824 + 1961200 0.0047711305 0.0019968839 0.0043451747 + 1961300 0.0043140613 0.0015766238 0.0036999508 + 1961400 0.0050526152 0.0019508331 0.0044376671 + 1961500 0.0062219855 0.0023485514 0.0054109349 + 1961600 0.0055718507 0.0028739577 0.0056163529 + 1961700 0.0060134994 0.0028711164 0.0058308857 + 1961800 0.0038449441 0.0023706876 0.004263121 + 1961900 0.0055905866 0.002436064 0.0051876808 + 1962000 0.003931949 0.0029453362 0.0048805924 + 1962100 0.0036639542 0.0026018508 0.0044052032 + 1962200 0.0038179277 0.0027216413 0.0046007776 + 1962300 0.0070629224 0.0023816472 0.0058579293 + 1962400 0.0053193057 0.0026084756 0.0052265714 + 1962500 0.0041011754 0.0028148603 0.0048334076 + 1962600 0.0049099188 0.0025712547 0.0049878554 + 1962700 0.0033398167 0.0024234008 0.0040672168 + 1962800 0.0050646402 0.0024292192 0.0049219718 + 1962900 0.006115325 0.0025410084 0.0055508949 + 1963000 0.0048081411 0.0024715717 0.0048380787 + 1963100 0.0048101648 0.0025687031 0.0049362061 + 1963200 0.0060622333 0.0027488979 0.0057326533 + 1963300 0.0050848351 0.0031212801 0.0056239723 + 1963400 0.0047200984 0.0033849079 0.0057080813 + 1963500 0.0063871316 0.0027465439 0.0058902102 + 1963600 0.0049201673 0.0026733202 0.005094965 + 1963700 0.0059731457 0.0024461418 0.0053860494 + 1963800 0.0043685298 0.0024379986 0.0045881344 + 1963900 0.0040538819 0.0024972757 0.0044925457 + 1964000 0.0044021569 0.0020981707 0.0042648573 + 1964100 0.0060576169 0.0018181885 0.0047996718 + 1964200 0.0041034429 0.0017188646 0.0037385279 + 1964300 0.0035045935 0.0015705621 0.0032954792 + 1964400 0.0035214944 0.0019167752 0.0036500107 + 1964500 0.0055267248 0.0022641806 0.0049843654 + 1964600 0.0040407335 0.0023263417 0.0043151402 + 1964700 0.0038319704 0.0024393851 0.004325433 + 1964800 0.0068207458 0.0025497371 0.0059068229 + 1964900 0.0053023593 0.0027493608 0.0053591157 + 1965000 0.0063577043 0.0025418261 0.0056710086 + 1965100 0.0050059486 0.002606692 0.0050705573 + 1965200 0.0054695403 0.0026632069 0.0053552462 + 1965300 0.0052190538 0.0027575158 0.0053262688 + 1965400 0.0053617598 0.0025362095 0.0051752007 + 1965500 0.0057303209 0.0020405503 0.0048609426 + 1965600 0.0067614337 0.0024043677 0.0057322609 + 1965700 0.0067062646 0.0027667175 0.0060674571 + 1965800 0.0040011517 0.0024551339 0.0044244507 + 1965900 0.0062326558 0.0021690624 0.0052366976 + 1966000 0.0058405272 0.0022528503 0.0051274848 + 1966100 0.0037411039 0.002395169 0.0042364936 + 1966200 0.0050806558 0.002402328 0.0049029633 + 1966300 0.0054836211 0.0024380918 0.0051370616 + 1966400 0.0044450393 0.0020777425 0.0042655352 + 1966500 0.0051132422 0.0018010772 0.0043177511 + 1966600 0.003656032 0.0020400365 0.0038394897 + 1966700 0.0041207461 0.0021180504 0.0041462302 + 1966800 0.0045797136 0.0021848257 0.0044389035 + 1966900 0.0061018381 0.0027371496 0.0057403981 + 1967000 0.005661954 0.0025965471 0.0053832901 + 1967100 0.0060926362 0.0026552122 0.0056539315 + 1967200 0.0057948131 0.0021289476 0.0049810822 + 1967300 0.0047413638 0.0021041628 0.0044378028 + 1967400 0.0047225822 0.0023754572 0.0046998532 + 1967500 0.0047036249 0.0022176643 0.0045327297 + 1967600 0.0043852775 0.0025284402 0.004686819 + 1967700 0.0045473778 0.0029978622 0.0052360248 + 1967800 0.0044720524 0.0027242031 0.0049252913 + 1967900 0.0041343662 0.0025077714 0.0045426548 + 1968000 0.0051008836 0.0015424749 0.0040530661 + 1968100 0.0044266162 0.0015126516 0.0036913768 + 1968200 0.0052096508 0.0019109596 0.0044750846 + 1968300 0.005410992 0.0023438293 0.0050070519 + 1968400 0.0052020452 0.0022122354 0.004772617 + 1968500 0.0062668959 0.0020335453 0.0051180331 + 1968600 0.0058239703 0.0020508671 0.0049173525 + 1968700 0.0060667961 0.0020515531 0.0050375543 + 1968800 0.0054576229 0.002212246 0.0048984198 + 1968900 0.0035614849 0.0026052277 0.004358146 + 1969000 0.0054188189 0.002573247 0.0052403219 + 1969100 0.0043227859 0.0021020917 0.0042297129 + 1969200 0.0051133051 0.0021091525 0.0046258573 + 1969300 0.0058454842 0.0019518892 0.0048289634 + 1969400 0.0041841745 0.0019568573 0.0040162556 + 1969500 0.0055483137 0.0019161023 0.004646913 + 1969600 0.0055371254 0.0022012944 0.0049265983 + 1969700 0.0045267169 0.0025249533 0.0047529468 + 1969800 0.0061279605 0.002665873 0.0056819786 + 1969900 0.0048941496 0.0029549784 0.0053638176 + 1970000 0.0063825049 0.0030570939 0.0061984831 + 1970100 0.0079492512 0.0027469063 0.0066594283 + 1970200 0.0042565002 0.0025904999 0.0046854961 + 1970300 0.0061828154 0.0027827784 0.0058258829 + 1970400 0.0044564635 0.0031298734 0.0053232891 + 1970500 0.0055782859 0.0029247608 0.0056703235 + 1970600 0.0056623962 0.0027874039 0.0055743646 + 1970700 0.0046475914 0.0025042377 0.0047917241 + 1970800 0.0052519542 0.0023905823 0.0049755285 + 1970900 0.0087668221 0.0027393317 0.007054252 + 1971000 0.0048657029 0.003062321 0.0054571591 + 1971100 0.0053896951 0.0032058845 0.005858625 + 1971200 0.0042152604 0.0030911895 0.005165888 + 1971300 0.0042244388 0.0027016 0.0047808159 + 1971400 0.0041581328 0.0026380988 0.0046846798 + 1971500 0.0056693654 0.0023601876 0.0051505784 + 1971600 0.0047501817 0.0021694997 0.0045074797 + 1971700 0.0036260845 0.002277363 0.0040620765 + 1971800 0.0039920487 0.0025434426 0.0045082791 + 1971900 0.0052947029 0.0030542676 0.0056602542 + 1972000 0.0048847203 0.0031348497 0.005539048 + 1972100 0.0051804965 0.0029293056 0.0054790813 + 1972200 0.0044032118 0.0026739334 0.0048411392 + 1972300 0.0055325795 0.0023577961 0.0050808626 + 1972400 0.0036836982 0.0024419225 0.0042549927 + 1972500 0.0049796973 0.0025287977 0.0049797425 + 1972600 0.0047891595 0.0028103724 0.0051675368 + 1972700 0.0040273808 0.0028180666 0.0048002931 + 1972800 0.0052139 0.0026281261 0.0051943425 + 1972900 0.0045494083 0.0026969517 0.0049361136 + 1973000 0.0042662645 0.0023557858 0.0044555878 + 1973100 0.0039034448 0.0028230566 0.0047442833 + 1973200 0.0052748034 0.0029705491 0.0055667414 + 1973300 0.0051664682 0.0029784724 0.0055213435 + 1973400 0.0047046857 0.0027277293 0.0050433169 + 1973500 0.0053830562 0.002779874 0.0054293469 + 1973600 0.0066215512 0.0023810291 0.0056400738 + 1973700 0.0040740518 0.0026570758 0.0046622731 + 1973800 0.0035686539 0.0029934372 0.0047498841 + 1973900 0.0059361546 0.003181333 0.0061030341 + 1974000 0.0062321998 0.0033460501 0.006413461 + 1974100 0.005172146 0.0031859296 0.0057315952 + 1974200 0.0051031433 0.0031881479 0.0056998512 + 1974300 0.0060544445 0.0032340787 0.0062140006 + 1974400 0.005987858 0.0031463562 0.006093505 + 1974500 0.0053304511 0.0030716635 0.0056952449 + 1974600 0.0053468791 0.0029142453 0.0055459123 + 1974700 0.0073553963 0.0022399864 0.0058602206 + 1974800 0.0059522639 0.0025337519 0.0054633817 + 1974900 0.0049358799 0.0027719504 0.0052013288 + 1975000 0.004461605 0.0030395025 0.0052354487 + 1975100 0.0045897928 0.0028020992 0.0050611378 + 1975200 0.0047956843 0.002848826 0.0052092018 + 1975300 0.0042229187 0.002913311 0.0049917787 + 1975400 0.0050738012 0.0031093931 0.0056066547 + 1975500 0.0040048451 0.0030316112 0.0050027459 + 1975600 0.0057452333 0.002423874 0.005251606 + 1975700 0.0052523968 0.0021502419 0.004735406 + 1975800 0.0069328718 0.0021047481 0.0055170209 + 1975900 0.0064558464 0.0023314058 0.0055088927 + 1976000 0.0052138878 0.0023618796 0.00492809 + 1976100 0.0045089978 0.0026409467 0.0048602191 + 1976200 0.0044029812 0.0024717308 0.0046388231 + 1976300 0.003671671 0.0021052169 0.0039123675 + 1976400 0.0049931252 0.0021350389 0.0045925927 + 1976500 0.0046462479 0.0026576123 0.0049444374 + 1976600 0.0051001143 0.002915772 0.0054259845 + 1976700 0.0054783617 0.0029714565 0.0056678377 + 1976800 0.0037483847 0.0026669281 0.0045118362 + 1976900 0.0051239828 0.0022477273 0.0047696876 + 1977000 0.0041990913 0.0028161513 0.0048828915 + 1977100 0.0039594802 0.0032010428 0.0051498494 + 1977200 0.0058079619 0.0025410678 0.0053996741 + 1977300 0.0059823154 0.0025806854 0.0055251063 + 1977400 0.0061891562 0.0028776728 0.0059238981 + 1977500 0.003159823 0.003219768 0.0047749934 + 1977600 0.0047505594 0.0031008448 0.0054390108 + 1977700 0.0039090978 0.0031140292 0.0050380383 + 1977800 0.00483506 0.0027406432 0.0051203993 + 1977900 0.0038597978 0.0026374838 0.004537228 + 1978000 0.0048744559 0.0026458429 0.0050449892 + 1978100 0.0057549102 0.0027040842 0.0055365791 + 1978200 0.0045618443 0.0029584259 0.0052037086 + 1978300 0.005370497 0.0031401241 0.0057834156 + 1978400 0.0043056396 0.0035560459 0.0056752279 + 1978500 0.0049577181 0.0029973742 0.0054375011 + 1978600 0.0054238419 0.0025874049 0.005256952 + 1978700 0.0048098895 0.0028211325 0.0051885 + 1978800 0.0044888178 0.0030247895 0.0052341295 + 1978900 0.0045758057 0.0029502179 0.0052023723 + 1979000 0.0060411791 0.0029548338 0.0059282266 + 1979100 0.0043154893 0.0030199504 0.0051439803 + 1979200 0.0058870093 0.0027335317 0.0056310441 + 1979300 0.0047422594 0.0027734638 0.0051075446 + 1979400 0.0045072403 0.0029437671 0.0051621745 + 1979500 0.0054360951 0.0024135131 0.0050890911 + 1979600 0.0039778749 0.0019942777 0.003952138 + 1979700 0.0056449301 0.0017813829 0.0045597469 + 1979800 0.0041530596 0.0023567126 0.0044007966 + 1979900 0.0050503597 0.0028423141 0.005328038 + 1980000 0.0062999048 0.0024439437 0.0055446781 + 1980100 0.0052505953 0.0025956758 0.0051799532 + 1980200 0.0049434609 0.002769345 0.0052024547 + 1980300 0.0065141845 0.0020366298 0.00524283 + 1980400 0.0061064227 0.0018875618 0.0048930668 + 1980500 0.0050600753 0.0021138048 0.0046043107 + 1980600 0.0052154245 0.0028344629 0.0054014297 + 1980700 0.0055430207 0.0026775714 0.0054057769 + 1980800 0.0069388202 0.0029468265 0.0063620271 + 1980900 0.004781961 0.0028670738 0.0052206952 + 1981000 0.0042950309 0.0030986563 0.0052126168 + 1981100 0.0058934329 0.0028801275 0.0057808015 + 1981200 0.0051552375 0.0025165771 0.0050539206 + 1981300 0.0041582899 0.0024423829 0.0044890413 + 1981400 0.0041224335 0.0027406088 0.0047696191 + 1981500 0.0041688508 0.003124121 0.0051759772 + 1981600 0.0054967786 0.0025034131 0.0052088588 + 1981700 0.0059341759 0.0023962616 0.0053169888 + 1981800 0.0050288218 0.0029115977 0.0053867209 + 1981900 0.0073145799 0.0031682516 0.0067683964 + 1982000 0.0050831158 0.0027414071 0.0052432531 + 1982100 0.0030982604 0.0023919215 0.0039168466 + 1982200 0.0049525901 0.0019992191 0.004436822 + 1982300 0.004505022 0.0022314753 0.0044487909 + 1982400 0.0049952129 0.0025842099 0.0050427912 + 1982500 0.0038319548 0.0025762614 0.0044623017 + 1982600 0.0047335587 0.0020768117 0.0044066102 + 1982700 0.0047315554 0.0020836694 0.0044124818 + 1982800 0.0037731958 0.0027345713 0.0045916911 + 1982900 0.0045711762 0.0026494406 0.0048993164 + 1983000 0.0054898125 0.0021691463 0.0048711634 + 1983100 0.0046453786 0.0019030225 0.0041894198 + 1983200 0.0054186195 0.0022998265 0.0049668032 + 1983300 0.0054853187 0.0024850769 0.0051848822 + 1983400 0.0050157473 0.0024651767 0.0049338649 + 1983500 0.0034265672 0.0028266297 0.0045131432 + 1983600 0.0058993849 0.0026177563 0.0055213598 + 1983700 0.0042001526 0.0022676125 0.0043348751 + 1983800 0.0055705242 0.0022174523 0.0049591946 + 1983900 0.0050699448 0.0022974572 0.0047928206 + 1984000 0.0050657324 0.0025681994 0.0050614896 + 1984100 0.0053734977 0.0024815444 0.0051263129 + 1984200 0.0053513621 0.0018492774 0.0044831509 + 1984300 0.0054531232 0.0018767829 0.004560742 + 1984400 0.0049844047 0.0021000771 0.0045533388 + 1984500 0.0042442045 0.0030772223 0.0051661667 + 1984600 0.0037087739 0.0029275743 0.0047529864 + 1984700 0.0080061441 0.0023483682 0.0062888923 + 1984800 0.005685293 0.0024488912 0.0052471214 + 1984900 0.0048997754 0.001879708 0.0042913162 + 1985000 0.0047381092 0.0016232973 0.0039553354 + 1985100 0.005041188 0.0016960054 0.0041772151 + 1985200 0.0068723264 0.0019689625 0.0053514357 + 1985300 0.0059336976 0.002259717 0.0051802088 + 1985400 0.0056969021 0.0023596115 0.0051635555 + 1985500 0.0054995841 0.0019500888 0.0046569153 + 1985600 0.0055650213 0.0018248935 0.0045639275 + 1985700 0.003298754 0.0015875152 0.0032111206 + 1985800 0.0046976021 0.0019011104 0.0042132115 + 1985900 0.0048921792 0.0020709354 0.0044788048 + 1986000 0.0050250805 0.0020213273 0.0044946091 + 1986100 0.0053275615 0.0021487742 0.0047709334 + 1986200 0.0039628512 0.002647106 0.0045975718 + 1986300 0.0042828966 0.0028408882 0.0049488764 + 1986400 0.0065968618 0.0024620465 0.0057089395 + 1986500 0.0049763336 0.0022323524 0.0046816416 + 1986600 0.0050415652 0.0019012453 0.0043826406 + 1986700 0.005718796 0.0019400205 0.0047547404 + 1986800 0.0049314747 0.002240595 0.0046678052 + 1986900 0.0057709462 0.0020852965 0.0049256841 + 1987000 0.0055647812 0.0017174938 0.0044564095 + 1987100 0.0055902158 0.0017661794 0.0045176137 + 1987200 0.0061639556 0.0024604312 0.0054942531 + 1987300 0.0053606871 0.0024218447 0.0050603078 + 1987400 0.0044048414 0.0021148092 0.0042828171 + 1987500 0.0050490279 0.0026949514 0.0051800198 + 1987600 0.0033034539 0.0028827272 0.0045086459 + 1987700 0.0056157258 0.0026394497 0.0054034398 + 1987800 0.0046056081 0.0024753942 0.004742217 + 1987900 0.0053904937 0.0019866846 0.0046398182 + 1988000 0.0050083182 0.0021466774 0.004611709 + 1988100 0.003811463 0.0023440655 0.0042200199 + 1988200 0.0054874956 0.0018172397 0.0045181165 + 1988300 0.0046301681 0.0017158983 0.0039948092 + 1988400 0.0045802489 0.0018986344 0.0041529757 + 1988500 0.0042252891 0.0021489599 0.0042285943 + 1988600 0.00464105 0.0027011784 0.0049854453 + 1988700 0.0057547229 0.0027889251 0.0056213278 + 1988800 0.0047532467 0.0025011755 0.0048406641 + 1988900 0.0056052759 0.0020999981 0.0048588448 + 1989000 0.0046328768 0.0022881468 0.0045683908 + 1989100 0.005010845 0.0021371748 0.0046034501 + 1989200 0.0040517167 0.0018519146 0.0038461189 + 1989300 0.0059914567 0.0015364795 0.0044853996 + 1989400 0.0034603101 0.0018072419 0.0035103633 + 1989500 0.0042466357 0.0020787266 0.0041688676 + 1989600 0.0051598579 0.002514277 0.0050538946 + 1989700 0.0043113683 0.0025939534 0.0047159549 + 1989800 0.0041294298 0.0025453096 0.0045777634 + 1989900 0.0038935313 0.0026856849 0.0046020323 + 1990000 0.0056438403 0.0022228385 0.0050006661 + 1990100 0.0047138269 0.0022843105 0.0046043972 + 1990200 0.0051151787 0.0025090598 0.0050266868 + 1990300 0.0049282742 0.0023855288 0.0048111637 + 1990400 0.0052360244 0.0023640181 0.0049411239 + 1990500 0.0052002449 0.0020073376 0.0045668331 + 1990600 0.0052603077 0.0018676685 0.0044567262 + 1990700 0.0032799454 0.0019433734 0.0035577215 + 1990800 0.0043308412 0.0019865754 0.0041181613 + 1990900 0.0049651471 0.0020408853 0.0044846686 + 1991000 0.0064263516 0.0023365408 0.0054995107 + 1991100 0.005110402 0.0024265468 0.0049418228 + 1991200 0.0052620821 0.0028286653 0.0054185964 + 1991300 0.0034043815 0.0029405703 0.0046161643 + 1991400 0.0056655427 0.002730733 0.0055192423 + 1991500 0.0056683951 0.002308152 0.0050980653 + 1991600 0.0050704672 0.0025708244 0.005066445 + 1991700 0.0043307914 0.0029145105 0.0050460719 + 1991800 0.0052904937 0.0030241416 0.0056280565 + 1991900 0.0048906864 0.0032815402 0.0056886749 + 1992000 0.0054884386 0.0034554958 0.0061568366 + 1992100 0.0058638076 0.0032399942 0.006126087 + 1992200 0.0045975454 0.002824056 0.0050869104 + 1992300 0.0047427854 0.0025829998 0.0049173394 + 1992400 0.0038374403 0.002542284 0.0044310241 + 1992500 0.0057449529 0.0024547601 0.0052823541 + 1992600 0.0059882545 0.0020066323 0.0049539764 + 1992700 0.0051644924 0.0020321311 0.0045740297 + 1992800 0.0051663507 0.0025529926 0.0050958058 + 1992900 0.0052874852 0.0029005984 0.0055030325 + 1993000 0.0051789834 0.002932028 0.0054810588 + 1993100 0.0046394072 0.0029994144 0.0052828727 + 1993200 0.005234685 0.0028774698 0.0054539163 + 1993300 0.0047522556 0.0025951217 0.0049341224 + 1993400 0.0074959829 0.0025009687 0.0061903978 + 1993500 0.0039129976 0.0032317131 0.0051576416 + 1993600 0.0043637664 0.0032938349 0.0054416262 + 1993700 0.0043572388 0.0031057684 0.0052503469 + 1993800 0.0074529602 0.0026348982 0.0063031521 + 1993900 0.0037679233 0.0026274942 0.0044820189 + 1994000 0.0049829756 0.0021650901 0.0046176484 + 1994100 0.0055307292 0.0020324649 0.0047546207 + 1994200 0.0047293982 0.0024693387 0.0047970894 + 1994300 0.0063571425 0.0024678261 0.0055967322 + 1994400 0.0052947511 0.0024082668 0.0050142771 + 1994500 0.0047607034 0.0022730389 0.0046161976 + 1994600 0.0070307226 0.0018187729 0.0052792067 + 1994700 0.0063189855 0.0015227998 0.0046329255 + 1994800 0.0058463265 0.0016856726 0.0045631614 + 1994900 0.0044550514 0.0019621556 0.0041548762 + 1995000 0.0051622777 0.0020446714 0.0045854799 + 1995100 0.0041940515 0.00222956 0.0042938197 + 1995200 0.0039296763 0.0022136127 0.0041477503 + 1995300 0.004062208 0.0018235115 0.0038228795 + 1995400 0.0049330481 0.0016191577 0.0040471423 + 1995500 0.00509695 0.0019933343 0.0045019894 + 1995600 0.0062257088 0.0020172697 0.0050814857 + 1995700 0.0039886567 0.0017794217 0.0037425886 + 1995800 0.0044976542 0.0017709365 0.0039846257 + 1995900 0.0053579657 0.0021039712 0.0047410949 + 1996000 0.0064835665 0.0020022043 0.0051933347 + 1996100 0.0046543009 0.0021049099 0.0043956986 + 1996200 0.0057234402 0.002259823 0.0050768287 + 1996300 0.0040347378 0.0023433742 0.0043292217 + 1996400 0.0051954764 0.0026857358 0.0052428843 + 1996500 0.0044238311 0.0025509056 0.00472826 + 1996600 0.0064962637 0.0021231854 0.0053205652 + 1996700 0.0037554311 0.0020482724 0.0038966486 + 1996800 0.003913544 0.0021095955 0.0040357929 + 1996900 0.0044236762 0.002243618 0.0044208961 + 1997000 0.0044884775 0.0024545671 0.0046637396 + 1997100 0.0054405354 0.0025390388 0.0052168023 + 1997200 0.004465932 0.0023606972 0.0045587731 + 1997300 0.0045632708 0.0025142273 0.0047602122 + 1997400 0.0052344775 0.0027464507 0.0053227951 + 1997500 0.0047759755 0.002783892 0.0051345675 + 1997600 0.0056364942 0.0021685357 0.0049427477 + 1997700 0.0037913202 0.0019583496 0.00382439 + 1997800 0.0050482422 0.0022335132 0.0047181949 + 1997900 0.0050208922 0.0027812269 0.0052524473 + 1998000 0.0046525474 0.0028043102 0.0050942359 + 1998100 0.0069723101 0.0019055429 0.0053372267 + 1998200 0.0064172699 0.0018082562 0.0049667562 + 1998300 0.0060220135 0.0020378316 0.0050017913 + 1998400 0.0062648643 0.0026460546 0.0057295425 + 1998500 0.0042685253 0.0027045125 0.0048054273 + 1998600 0.0047982195 0.0024999167 0.0048615404 + 1998700 0.0045770619 0.0023965866 0.0046493593 + 1998800 0.006166689 0.0022217336 0.0052569009 + 1998900 0.0060578663 0.0023546222 0.0053362283 + 1999000 0.004238593 0.0024786217 0.0045648042 + 1999100 0.0054266305 0.0028549884 0.0055259081 + 1999200 0.0033827038 0.0027990632 0.0044639877 + 1999300 0.0047584445 0.0023526277 0.0046946746 + 1999400 0.0056181695 0.0020335116 0.0047987044 + 1999500 0.0033374664 0.0023030393 0.0039456986 + 1999600 0.0053943118 0.0023096891 0.004964702 + 1999700 0.0047621637 0.0021943385 0.0045382159 + 1999800 0.0058336388 0.0020055057 0.0048767498 + 1999900 0.0058349189 0.002299977 0.0051718512 + 2000000 0.0046591833 0.0026625608 0.0049557526 +Loop time of 12.6681 on 1 procs for 2000000 steps with 64 atoms + +Performance: 68203007.046 tau/day, 157877.331 timesteps/s, 10.104 Matom-step/s +96.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0.86381 | 0.86381 | 0.86381 | 0.0 | 6.82 +Neigh | 1.2565 | 1.2565 | 1.2565 | 0.0 | 9.92 +Comm | 1.0357 | 1.0357 | 1.0357 | 0.0 | 8.18 +Output | 0.071243 | 0.071243 | 0.071243 | 0.0 | 0.56 +Modify | 7.5928 | 7.5928 | 7.5928 | 0.0 | 59.94 +Other | | 1.848 | | | 14.59 + +Nlocal: 64 ave 64 max 64 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 6 +Neighbor list builds = 2000000 +Dangerous builds not checked +Total wall time: 0:00:12 diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.4 b/examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.4 new file mode 100644 index 0000000000..2bb0c1c972 --- /dev/null +++ b/examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.4 @@ -0,0 +1,20125 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3D simple cubic lattice simulation +dimension 2 +boundary p f p + +units lj +atom_style bond +atom_modify sort 0 1. +bond_style harmonic +pair_style none +comm_modify cutoff 2.0 + +# geometry +read_data data.pos +Reading data file ... + orthogonal box = (0 0 -0.5) to (64 1 0.5) + 4 by 1 by 1 MPI processor grid + reading atoms ... + 64 atoms + scanning bonds ... + 2 = max bonds/atom + reading bonds ... + 64 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +# +neighbor 1.0 nsq +neigh_modify delay 0 check no + +#Langevin random seed +variable r equal 571101 + +#Langevin Temperature +variable t equal 0.005 + +# Langevin Damping variable +variable d equal 0.5 + +# Create velocities and equilibrate +compute MyTemp all temp/partial 1 0 0 +velocity all create $t 28711 mom yes rot yes dist gaussian temp MyTemp +velocity all create 0.005 28711 mom yes rot yes dist gaussian temp MyTemp +velocity all set NULL 0.0 0.0 units box +# +fix 1 all langevin $t $t $d $r +fix 1 all langevin 0.005 $t $d $r +fix 1 all langevin 0.005 0.005 $d $r +fix 1 all langevin 0.005 0.005 0.5 $r +fix 1 all langevin 0.005 0.005 0.5 571101 +fix_modify 1 temp MyTemp +fix 2 all setforce NULL 0. 0. +fix 3 all nve +fix 4 all phonon 10 50000 500000 map.in phonon sysdim 1 +fix_modify 4 temp MyTemp + +# 1 2 3 4 +thermo_style custom step temp pe etotal +thermo_modify temp MyTemp +thermo 100 + +# +run 2000000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix phonon command: doi:10.1016/j.cpc.2011.04.019 + +@Article{Kong11, + author = {L. T. Kong}, + title = {Phonon Dispersion Measured Directly from Molecular Dynamics Simulations}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2011, + volume = 182, + pages = {2201--2207} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: Communication cutoff 2 is shorter than a bond length based estimate of 2.5. This may lead to errors. (src/comm.cpp:723) +WARNING: Communication cutoff 2 is shorter than a bond length based estimate of 2.5. This may lead to errors. (src/comm.cpp:723) +WARNING: Inconsistent image flags (src/domain.cpp:815) +Per MPI rank memory allocation (min/avg/max) = 3.235 | 3.235 | 3.235 Mbytes + Step Temp PotEng TotEng + 0 0.005 0 0.0024609375 + 100 0.0031092926 0.00040379819 0.0019341531 + 200 0.0039279141 0.00086859939 0.0028018696 + 300 0.0064511702 0.0014805212 0.0046557066 + 400 0.0047373042 0.0020887555 0.0044203974 + 500 0.0051359955 0.0024683239 0.0049961967 + 600 0.0056790179 0.0026466922 0.0054418338 + 700 0.0054525242 0.0028225133 0.0055061775 + 800 0.0055112651 0.0021776912 0.004890267 + 900 0.0050003129 0.0015646928 0.0040257843 + 1000 0.0049003177 0.001701767 0.0041136421 + 1100 0.0047411466 0.0021193246 0.0044528577 + 1200 0.0053835193 0.0019054194 0.0045551204 + 1300 0.0044792417 0.0020111925 0.0042158192 + 1400 0.0059891894 0.0019319674 0.0048797715 + 1500 0.0047035184 0.0023987012 0.0047137141 + 1600 0.0056797568 0.002766631 0.0055621363 + 1700 0.0063182531 0.0024726126 0.0055823778 + 1800 0.0040048174 0.0028326258 0.0048037469 + 1900 0.0046114794 0.0030783445 0.005348057 + 2000 0.0047870171 0.0029788442 0.0053349541 + 2100 0.0065542828 0.002712365 0.005938301 + 2200 0.0065784683 0.0028786985 0.0061165384 + 2300 0.0061937464 0.0036292734 0.006677758 + 2400 0.0066933832 0.0034035578 0.0066979573 + 2500 0.0065453168 0.0024818357 0.0057033588 + 2600 0.0052756649 0.0019078406 0.004504457 + 2700 0.0056619034 0.0013428201 0.0041295382 + 2800 0.0035394016 0.0014177079 0.0031597571 + 2900 0.004269206 0.001530366 0.0036316158 + 3000 0.0054419762 0.0020503515 0.0047288241 + 3100 0.0049565797 0.0024108077 0.0048503743 + 3200 0.00567568 0.0020776217 0.0048711205 + 3300 0.0046753683 0.0022037424 0.0045049003 + 3400 0.0054246376 0.0017626146 0.0044325534 + 3500 0.0054421912 0.0017537041 0.0044322826 + 3600 0.0061099993 0.0020075611 0.0050148264 + 3700 0.0040163755 0.0023383265 0.0043151363 + 3800 0.006683076 0.0019795058 0.0052688323 + 3900 0.0051400304 0.0017273226 0.0042571813 + 4000 0.004545797 0.0020524725 0.0042898569 + 4100 0.0061776203 0.0021697773 0.0052103248 + 4200 0.007241124 0.0017791449 0.0053431357 + 4300 0.0053079733 0.0013440496 0.0039565677 + 4400 0.0041356873 0.0016127731 0.0036483066 + 4500 0.0042719034 0.0016663692 0.0037689467 + 4600 0.0051491675 0.0016802514 0.0042146073 + 4700 0.0050961811 0.0022752318 0.0047835085 + 4800 0.0055374753 0.0024167371 0.0051422132 + 4900 0.0068004041 0.0022243353 0.0055714092 + 5000 0.0056272867 0.0024832453 0.0052529255 + 5100 0.0052627898 0.0026340507 0.0052243301 + 5200 0.0056680235 0.0025933592 0.0053830895 + 5300 0.0068164135 0.0033952558 0.0067502093 + 5400 0.0050555376 0.003557345 0.0060456174 + 5500 0.0059976858 0.0026983783 0.0056503643 + 5600 0.0054411749 0.0023033738 0.0049814521 + 5700 0.0060289983 0.0022403571 0.0052077547 + 5800 0.0043641156 0.0019509792 0.0040989423 + 5900 0.0054432847 0.00196019 0.0046393066 + 6000 0.0034082909 0.0020112851 0.0036888032 + 6100 0.0043928106 0.0018741478 0.0040362343 + 6200 0.0045230673 0.0017133115 0.0039395086 + 6300 0.0065489561 0.0022496203 0.0054729346 + 6400 0.0052678358 0.0024260994 0.0050188624 + 6500 0.0045943377 0.0023203803 0.0045816559 + 6600 0.0045040258 0.0023560041 0.0045728293 + 6700 0.0035414453 0.0022506129 0.0039936679 + 6800 0.0045245181 0.0021720697 0.004398981 + 6900 0.0043446261 0.0021090094 0.00424738 + 7000 0.0050994842 0.0022381066 0.004748009 + 7100 0.0035382116 0.002622187 0.0043636505 + 7200 0.0058864282 0.0026836924 0.0055809187 + 7300 0.0052436597 0.0021487099 0.0047295736 + 7400 0.005685301 0.0015839674 0.0043822015 + 7500 0.0056483316 0.0016032465 0.0043832847 + 7600 0.0035757235 0.0021629578 0.0039228842 + 7700 0.0051999693 0.002193788 0.0047531479 + 7800 0.006313871 0.0021671161 0.0052747245 + 7900 0.0047730576 0.002335035 0.0046842742 + 8000 0.0044387794 0.0025123631 0.0046970748 + 8100 0.0069234991 0.0024867047 0.0058943644 + 8200 0.0066840194 0.0024363507 0.0057261415 + 8300 0.0039825115 0.0026934721 0.0046536145 + 8400 0.0036344523 0.0029203838 0.0047092158 + 8500 0.0056537256 0.0027069512 0.0054896442 + 8600 0.0049288586 0.0020880106 0.0045139332 + 8700 0.0037567885 0.0018937 0.0037427443 + 8800 0.0051885248 0.0022767457 0.0048304727 + 8900 0.0048656999 0.0021481017 0.0045429384 + 9000 0.0053786685 0.0021649391 0.0048122525 + 9100 0.0041150429 0.0021872196 0.0042125923 + 9200 0.0045133627 0.0020803165 0.0043017372 + 9300 0.0060373426 0.0022172154 0.00518872 + 9400 0.0054588295 0.0027773114 0.005464079 + 9500 0.0058802452 0.0027602448 0.005654428 + 9600 0.0042195084 0.0032924694 0.0053692586 + 9700 0.0060165549 0.0025534048 0.005514678 + 9800 0.0050241517 0.001807778 0.0042806027 + 9900 0.0061489635 0.0023496208 0.0053760638 + 10000 0.0052326955 0.0027879909 0.0053634582 + 10100 0.0035569213 0.0026944818 0.004445154 + 10200 0.0066401928 0.0020453285 0.0053135484 + 10300 0.0060613441 0.002091832 0.0050751498 + 10400 0.0067776283 0.0026018522 0.0059377162 + 10500 0.004803969 0.0027545887 0.0051190422 + 10600 0.0071177837 0.0021458255 0.0056491097 + 10700 0.0051269808 0.0023613253 0.0048847611 + 10800 0.0047839896 0.0024783254 0.0048329453 + 10900 0.0067420174 0.0027433441 0.0060616808 + 11000 0.0050132918 0.0027008413 0.0051683209 + 11100 0.0047697403 0.002321385 0.0046689915 + 11200 0.0064471511 0.0025069987 0.0056802059 + 11300 0.0038256685 0.0031693059 0.0050522521 + 11400 0.0069277531 0.0030919855 0.006501739 + 11500 0.0054211261 0.0030552674 0.0057234779 + 11600 0.0058557273 0.0024084707 0.0052905865 + 11700 0.0046548338 0.0026850494 0.0049761004 + 11800 0.0048975299 0.0028348556 0.0052453586 + 11900 0.0056311916 0.0032767124 0.0060483145 + 12000 0.0049885908 0.0030157871 0.0054711092 + 12100 0.0048655578 0.002553305 0.0049480717 + 12200 0.0045185421 0.002484567 0.004708537 + 12300 0.0040890369 0.0024332877 0.0044458606 + 12400 0.0050885895 0.0023510207 0.0048555608 + 12500 0.004919956 0.0026253729 0.0050469137 + 12600 0.0050042266 0.0032084168 0.0056714346 + 12700 0.0043770546 0.0030207212 0.0051750527 + 12800 0.004449569 0.0032156953 0.0054057175 + 12900 0.0052140394 0.0033329527 0.0058992377 + 13000 0.0050918569 0.0032002078 0.0057063561 + 13100 0.0057436034 0.0029710222 0.005797952 + 13200 0.004775945 0.0029036859 0.0052543463 + 13300 0.0063195631 0.0026689886 0.0057793986 + 13400 0.0056684048 0.0025854251 0.0053753431 + 13500 0.0042746154 0.0027119481 0.0048158603 + 13600 0.0051941538 0.0029753599 0.0055318575 + 13700 0.0045493047 0.0034187278 0.0056578387 + 13800 0.0046606562 0.0037771756 0.0060710923 + 13900 0.0055316524 0.0032705549 0.0059931651 + 14000 0.0049580813 0.0027899606 0.0052302662 + 14100 0.0070364257 0.0022597167 0.0057229575 + 14200 0.0065490894 0.0023408445 0.0055642244 + 14300 0.0073815901 0.0023889763 0.0060221027 + 14400 0.0053736605 0.0027999105 0.005444759 + 14500 0.0050721119 0.0027714491 0.0052678792 + 14600 0.0046831327 0.0024454872 0.0047504666 + 14700 0.0055929323 0.002116225 0.0048689964 + 14800 0.00487938 0.0022487257 0.0046502955 + 14900 0.0041725188 0.0026516791 0.0047053407 + 15000 0.0048485447 0.0025045419 0.0048909351 + 15100 0.0053467949 0.0026021928 0.0052338184 + 15200 0.005600918 0.0024956603 0.0052523621 + 15300 0.0063638104 0.0028988598 0.0060310477 + 15400 0.0048681522 0.0031580964 0.0055541401 + 15500 0.004181491 0.0032345472 0.0052926248 + 15600 0.0051507408 0.0026730128 0.005208143 + 15700 0.0049806355 0.0021046656 0.0045560722 + 15800 0.0032597397 0.0024267351 0.0040311383 + 15900 0.0049003502 0.002432989 0.0048448802 + 16000 0.0050497143 0.0027552322 0.0052406384 + 16100 0.0069256157 0.0028386702 0.0062473717 + 16200 0.0046227818 0.0024819379 0.0047572133 + 16300 0.0054134318 0.0023405561 0.0050049796 + 16400 0.006374811 0.0025726433 0.0057102456 + 16500 0.0066448674 0.0030882352 0.0063587559 + 16600 0.0045447667 0.0031809644 0.0054178418 + 16700 0.0034559814 0.002855938 0.0045569288 + 16800 0.0051066369 0.0029599979 0.0054734207 + 16900 0.0067744469 0.0028635139 0.0061978119 + 17000 0.0046669786 0.0030451959 0.0053422245 + 17100 0.0048511517 0.0029146776 0.0053023538 + 17200 0.0052254364 0.0031715416 0.005743436 + 17300 0.0051298417 0.0028949342 0.0054197782 + 17400 0.0052361032 0.0027066784 0.0052838229 + 17500 0.0050390546 0.0025040195 0.0049841791 + 17600 0.0040351246 0.0028207324 0.0048067703 + 17700 0.0056635824 0.002820155 0.0056076995 + 17800 0.0056887209 0.00317468 0.0059745974 + 17900 0.0049440169 0.003511139 0.0059445223 + 18000 0.0054897198 0.0033864147 0.0060883862 + 18100 0.005879619 0.0033533515 0.0062472265 + 18200 0.0041932291 0.0032324656 0.0052963205 + 18300 0.0044018703 0.0027032247 0.0048697703 + 18400 0.0041983735 0.00288756 0.0049539469 + 18500 0.0053416187 0.0032088075 0.0058378854 + 18600 0.004562029 0.0034476786 0.0056930523 + 18700 0.0057561306 0.0033556537 0.0061887493 + 18800 0.0058986022 0.0027969897 0.005700208 + 18900 0.004171279 0.0027614162 0.0048144676 + 19000 0.0054946224 0.0026177619 0.0053221464 + 19100 0.0049922844 0.0023638596 0.0048209995 + 19200 0.004687501 0.0022800612 0.0045871906 + 19300 0.0050481806 0.0024432668 0.0049279181 + 19400 0.0047490937 0.0024888854 0.00482633 + 19500 0.0054990369 0.0021439626 0.0048505198 + 19600 0.0047928046 0.0020857284 0.0044446869 + 19700 0.0036340477 0.0022735134 0.0040621463 + 19800 0.0051410333 0.0021618653 0.0046922177 + 19900 0.0065478784 0.0025517473 0.0057745312 + 20000 0.0035167257 0.0027721702 0.0045030586 + 20100 0.0041179286 0.0024535857 0.0044803787 + 20200 0.0043676783 0.0021276434 0.0042773601 + 20300 0.0050148447 0.0020943064 0.0045625503 + 20400 0.0054429129 0.0022268018 0.0049057356 + 20500 0.0058321233 0.0022379381 0.0051084362 + 20600 0.0066270292 0.0020393432 0.0053010842 + 20700 0.004295378 0.0024717644 0.0045858958 + 20800 0.0055329877 0.002509889 0.0052331563 + 20900 0.0045122556 0.0025360094 0.0047568852 + 21000 0.005270327 0.0027971303 0.0053911193 + 21100 0.0043225609 0.0034493845 0.005576895 + 21200 0.0052944547 0.0033038906 0.005909755 + 21300 0.0059584834 0.0024788501 0.0054115412 + 21400 0.0044898274 0.0024249254 0.0046347623 + 21500 0.0059771607 0.0023183759 0.0052602597 + 21600 0.004790593 0.0017687452 0.0041266152 + 21700 0.0050672709 0.0020666766 0.004560724 + 21800 0.0050570228 0.0027424564 0.0052314598 + 21900 0.0053769964 0.0028247055 0.0054711959 + 22000 0.0062028834 0.0025287646 0.0055817463 + 22100 0.0045987403 0.0028021561 0.0050655986 + 22200 0.0056176826 0.002809137 0.0055740902 + 22300 0.0048838611 0.0029758252 0.0053796006 + 22400 0.0063379833 0.0029710695 0.0060905457 + 22500 0.004581338 0.0032559908 0.0055108681 + 22600 0.0052400691 0.0028046327 0.0053837292 + 22700 0.006448842 0.0021840962 0.0053581356 + 22800 0.00575483 0.0020443807 0.0048768361 + 22900 0.005732221 0.0021246212 0.0049459487 + 23000 0.005264346 0.0025494884 0.0051405337 + 23100 0.0034644345 0.0030264045 0.0047315558 + 23200 0.0048601736 0.0030798408 0.0054719575 + 23300 0.0072877103 0.0025255208 0.0061124407 + 23400 0.0076319628 0.0025273033 0.00628366 + 23500 0.0061085785 0.0027717487 0.0057783147 + 23600 0.0055387401 0.0029187435 0.0056448421 + 23700 0.0042649846 0.0026187689 0.004717941 + 23800 0.0045735494 0.0027724545 0.0050234983 + 23900 0.0034010395 0.0031538022 0.0048277514 + 24000 0.0045051528 0.003327378 0.0055447579 + 24100 0.0068309338 0.0032021011 0.0065642013 + 24200 0.0039097742 0.0033365467 0.0052608887 + 24300 0.0065925239 0.0030325694 0.0062773273 + 24400 0.0067880973 0.0028966348 0.0062376515 + 24500 0.0056149109 0.0030633411 0.00582693 + 24600 0.0043486613 0.0036810389 0.0058213956 + 24700 0.0056721851 0.0031597698 0.0059515485 + 24800 0.0070161406 0.0030335373 0.006486794 + 24900 0.0057156254 0.0033636552 0.0061768146 + 25000 0.0045449739 0.0032291656 0.0054661449 + 25100 0.0051999223 0.0030856763 0.005645013 + 25200 0.0055890758 0.0034022145 0.0061530878 + 25300 0.006235958 0.0032149996 0.0062842602 + 25400 0.0035615605 0.0031945875 0.0049475431 + 25500 0.0042495603 0.0032143371 0.0053059176 + 25600 0.0048304585 0.003015531 0.0053930222 + 25700 0.0056845479 0.0029249434 0.0057228068 + 25800 0.0075757358 0.0024320672 0.0061607497 + 25900 0.0042768233 0.0025083058 0.0046133048 + 26000 0.0050457092 0.0021254399 0.0046088749 + 26100 0.005330724 0.0020636982 0.0046874139 + 26200 0.0041813514 0.0020444241 0.004102433 + 26300 0.0048650223 0.0017385057 0.0041330088 + 26400 0.0037818418 0.0018839961 0.0037453714 + 26500 0.0057264594 0.0017003156 0.0045188074 + 26600 0.0046952689 0.0020179294 0.004328882 + 26700 0.0046541949 0.0023098013 0.0046005379 + 26800 0.0041627743 0.0022906129 0.0043394784 + 26900 0.0050172995 0.0023363927 0.0048058448 + 27000 0.0050219399 0.0026852 0.005156936 + 27100 0.0047405592 0.0026176105 0.0049508544 + 27200 0.0044825745 0.0024694682 0.0046757354 + 27300 0.0047274423 0.0021207316 0.0044475196 + 27400 0.0050886794 0.0018025682 0.0043071526 + 27500 0.004285933 0.0017975262 0.0039070088 + 27600 0.0047306842 0.0015745587 0.0039029424 + 27700 0.0055355996 0.0018138195 0.0045383724 + 27800 0.0040352679 0.001845378 0.0038314864 + 27900 0.0052799246 0.0018621238 0.0044608367 + 28000 0.0037930104 0.0021002345 0.0039671068 + 28100 0.0042318968 0.0025565718 0.0046394585 + 28200 0.0061595984 0.0021361623 0.0051678396 + 28300 0.0038497065 0.0018018518 0.0036966292 + 28400 0.003245253 0.0021151839 0.0037124568 + 28500 0.0052368494 0.002063938 0.0046414498 + 28600 0.0037896292 0.0018143999 0.003679608 + 28700 0.0040484295 0.0016286098 0.0036211961 + 28800 0.0057167495 0.0014573467 0.0042710594 + 28900 0.0058690264 0.0016224728 0.0045111342 + 29000 0.0041766642 0.0019000434 0.0039557453 + 29100 0.0064427458 0.0020981369 0.0052691758 + 29200 0.0047567776 0.0025555943 0.0048968208 + 29300 0.0076126557 0.0027153701 0.0064622241 + 29400 0.0060747608 0.0029299654 0.0059198867 + 29500 0.0057414909 0.0029908265 0.0058167165 + 29600 0.0050366775 0.0029775661 0.0054565559 + 29700 0.0048702432 0.0027577685 0.0051548414 + 29800 0.0042150351 0.0022249531 0.0042995407 + 29900 0.0050072153 0.002188825 0.0046533138 + 30000 0.0052385931 0.0019504754 0.0045288454 + 30100 0.0047964015 0.0022543927 0.0046151216 + 30200 0.0056668869 0.0027090712 0.0054982421 + 30300 0.0064152664 0.0029260648 0.0060835788 + 30400 0.0062010296 0.003120472 0.0061725413 + 30500 0.0074267397 0.0029896791 0.0066450276 + 30600 0.0045120905 0.0023382835 0.004559078 + 30700 0.0055545204 0.0018773436 0.0046112091 + 30800 0.0056187483 0.0021024235 0.0048679011 + 30900 0.0047279802 0.0023396354 0.0046666881 + 31000 0.0042382678 0.0023830179 0.0044690404 + 31100 0.0048707358 0.0020682878 0.0044656031 + 31200 0.004261005 0.0029128294 0.0050100428 + 31300 0.0047470895 0.0029022367 0.0052386948 + 31400 0.0061144328 0.0025283589 0.0055378063 + 31500 0.0056163879 0.0027902851 0.005554601 + 31600 0.0041200566 0.0030247304 0.0050525707 + 31700 0.0043076058 0.0025774137 0.0046975635 + 31800 0.0052202256 0.0022890934 0.0048584231 + 31900 0.0039812256 0.0024323832 0.0043918927 + 32000 0.0038963387 0.0029255952 0.0048433244 + 32100 0.0055946825 0.0031187197 0.0058723525 + 32200 0.0039750694 0.0039995895 0.005956069 + 32300 0.0041170866 0.0034436832 0.0054700618 + 32400 0.0034177152 0.0028501717 0.0045323284 + 32500 0.005211506 0.0021803993 0.0047454374 + 32600 0.0044555612 0.0023413902 0.0045343617 + 32700 0.0047028007 0.0025708999 0.0048855596 + 32800 0.0040347665 0.0029579324 0.004943794 + 32900 0.0041328875 0.0031629897 0.0051971453 + 33000 0.0062793076 0.0026142846 0.0057048813 + 33100 0.0041605022 0.0027985246 0.0048462718 + 33200 0.0072365722 0.0026690435 0.0062307939 + 33300 0.0044803372 0.0024881199 0.0046932859 + 33400 0.0048456915 0.0024046471 0.0047896359 + 33500 0.004893503 0.0021586304 0.0045671514 + 33600 0.0042559619 0.0021639019 0.0042586331 + 33700 0.0056756713 0.0021576654 0.0049511599 + 33800 0.0063596382 0.0024806605 0.005610795 + 33900 0.0055994926 0.0026727578 0.0054287581 + 34000 0.0064562521 0.0025124205 0.0056901071 + 34100 0.003913677 0.0028074552 0.0047337181 + 34200 0.0050900746 0.0025231402 0.0050284113 + 34300 0.0065617931 0.0026154256 0.0058450581 + 34400 0.0048011692 0.0030905988 0.0054536743 + 34500 0.0048056709 0.0032156058 0.0055808969 + 34600 0.0040354422 0.0030971678 0.005083362 + 34700 0.006087834 0.0027728878 0.0057692436 + 34800 0.0053797652 0.0026855103 0.0053333635 + 34900 0.0058378493 0.0028486122 0.0057219287 + 35000 0.0049625915 0.0026119678 0.0050544933 + 35100 0.00730345 0.0022506484 0.0058453152 + 35200 0.0052971237 0.0025621919 0.0051693699 + 35300 0.0059798176 0.0025908986 0.0055340901 + 35400 0.0072213603 0.0027714175 0.0063256808 + 35500 0.0036919283 0.0031586592 0.0049757801 + 35600 0.0059948028 0.002976643 0.00592721 + 35700 0.0058987959 0.0025320278 0.0054353415 + 35800 0.0085632108 0.0024165878 0.0066312932 + 35900 0.0049659305 0.002623482 0.0050676509 + 36000 0.0048871312 0.0026692854 0.0050746703 + 36100 0.0050423605 0.0028126033 0.0052943902 + 36200 0.0054508664 0.0027813974 0.0054642457 + 36300 0.0043917001 0.0024449272 0.0046064671 + 36400 0.0058852486 0.001662152 0.0045587978 + 36500 0.004376686 0.0012946708 0.003448821 + 36600 0.0045995068 0.0014132429 0.0036770626 + 36700 0.0052640792 0.0016298257 0.0042207397 + 36800 0.0046101058 0.0022292853 0.0044983217 + 36900 0.0062925203 0.0027288883 0.0058259881 + 37000 0.0058887204 0.0030900839 0.0059884384 + 37100 0.003955873 0.00280184 0.0047488712 + 37200 0.0051728133 0.0023278277 0.0048738217 + 37300 0.0044624074 0.002153214 0.0043495552 + 37400 0.0054219103 0.0021778367 0.0048464331 + 37500 0.0056408011 0.0022706441 0.0050469759 + 37600 0.0056867515 0.0020669251 0.0048658731 + 37700 0.0054355104 0.0018766256 0.0045519159 + 37800 0.0060895364 0.002088862 0.0050860557 + 37900 0.0052695007 0.0020859158 0.0046794982 + 38000 0.0051904573 0.0018629764 0.0044176546 + 38100 0.0051914814 0.002059636 0.0046148182 + 38200 0.0052801103 0.0020918637 0.004690668 + 38300 0.0043833673 0.0021607426 0.0043181812 + 38400 0.0063337657 0.0022764335 0.0053938338 + 38500 0.0061489876 0.002666119 0.0056925738 + 38600 0.0065438448 0.0028713253 0.0060921239 + 38700 0.0069803926 0.0029497225 0.0063853844 + 38800 0.0042546671 0.0032903986 0.0053844925 + 38900 0.006328746 0.0034787891 0.0065937188 + 39000 0.0062059977 0.0037241942 0.0067787087 + 39100 0.0058922502 0.0032950137 0.0061951056 + 39200 0.0069862319 0.0024531871 0.0058917231 + 39300 0.0068722351 0.0026125238 0.005994952 + 39400 0.0044678762 0.0029836049 0.0051826378 + 39500 0.0048324623 0.0024639161 0.0048423936 + 39600 0.0052848494 0.0018086831 0.0044098199 + 39700 0.0057744393 0.0017420292 0.0045841361 + 39800 0.0055283138 0.0020003167 0.0047212837 + 39900 0.0054910471 0.001966547 0.0046691718 + 40000 0.0058599724 0.0020328682 0.0049170734 + 40100 0.0056009066 0.0021835491 0.0049402454 + 40200 0.0061286205 0.0022872447 0.0053036752 + 40300 0.0055799686 0.0023823168 0.0051287076 + 40400 0.0056994039 0.0027070242 0.0055121996 + 40500 0.0047968544 0.0028433836 0.0052043354 + 40600 0.0046229571 0.0024847847 0.0047601464 + 40700 0.0054599132 0.0023632247 0.0050505257 + 40800 0.0048089307 0.0022941492 0.0046610448 + 40900 0.0059855807 0.0024140102 0.0053600382 + 41000 0.0049511345 0.002463219 0.0049001055 + 41100 0.0043615952 0.0024588088 0.0046055315 + 41200 0.0054054808 0.0024869736 0.0051474837 + 41300 0.0035397634 0.0029027072 0.0046449345 + 41400 0.0060651017 0.0026547866 0.0056399539 + 41500 0.0047277528 0.0025713454 0.0048982863 + 41600 0.0048286022 0.0021934611 0.0045700388 + 41700 0.0045903816 0.0020430148 0.0043023432 + 41800 0.0043399978 0.0022056343 0.0043417269 + 41900 0.0051569228 0.0020364457 0.0045746186 + 42000 0.0047952234 0.0018950341 0.0042551831 + 42100 0.0050371729 0.0021271879 0.0046064214 + 42200 0.0050711136 0.0025738144 0.0050697532 + 42300 0.0048236072 0.0029130705 0.0052871896 + 42400 0.0044010377 0.0031443185 0.0053104543 + 42500 0.0059897978 0.0028640967 0.0058122003 + 42600 0.0038422824 0.0028080627 0.0046991861 + 42700 0.0056509967 0.0027291941 0.005510544 + 42800 0.0042071761 0.0029230606 0.0049937801 + 42900 0.0042193067 0.0026382709 0.0047149609 + 43000 0.0052480966 0.0022338417 0.0048168892 + 43100 0.005522502 0.002039487 0.0047575934 + 43200 0.0058423562 0.0023365092 0.0052120438 + 43300 0.0046834013 0.0024156241 0.0047207356 + 43400 0.0041374095 0.0021058427 0.0041422239 + 43500 0.0058634201 0.0022094852 0.0050953872 + 43600 0.0046182426 0.0024466051 0.0047196464 + 43700 0.0049200288 0.0022391918 0.0046607685 + 43800 0.0057244756 0.0022968649 0.0051143803 + 43900 0.0058377262 0.0022191461 0.005092402 + 44000 0.0045298591 0.0027006662 0.0049302063 + 44100 0.0034804595 0.0031901258 0.0049031645 + 44200 0.0046654548 0.0028375831 0.0051338616 + 44300 0.0065913375 0.0023608728 0.0056050467 + 44400 0.004852674 0.0025328711 0.0049212966 + 44500 0.0060857702 0.0022299535 0.0052252936 + 44600 0.004425753 0.0022909724 0.0044692727 + 44700 0.0053830457 0.0021993527 0.0048488205 + 44800 0.0054246736 0.0027316494 0.0054016059 + 44900 0.0056320375 0.0028277009 0.0055997194 + 45000 0.0066433951 0.0024791215 0.0057489176 + 45100 0.0064237078 0.0020807233 0.005242392 + 45200 0.0050712488 0.0024388037 0.004934809 + 45300 0.0061357574 0.0025291205 0.0055490636 + 45400 0.0051832243 0.0025725279 0.0051236461 + 45500 0.0053433545 0.0018614422 0.0044913745 + 45600 0.0046224495 0.0017536992 0.0040288111 + 45700 0.0044520617 0.0016574041 0.0038486532 + 45800 0.0048541322 0.0018061685 0.0041953117 + 45900 0.0037656301 0.0019218755 0.0037752715 + 46000 0.0049253038 0.0017347223 0.0041588952 + 46100 0.0080366601 0.0018538199 0.0058093636 + 46200 0.0051968486 0.0020311005 0.0045889244 + 46300 0.0036341036 0.0023502428 0.0041389031 + 46400 0.0048643106 0.0021348796 0.0045290325 + 46500 0.0042532667 0.0017966314 0.0038900361 + 46600 0.0051351736 0.0022954508 0.004822919 + 46700 0.0064077543 0.0022535448 0.0054073614 + 46800 0.0053069906 0.0019501388 0.0045621732 + 46900 0.00444173 0.0017552894 0.0039414533 + 47000 0.0045493159 0.0017915283 0.0040306447 + 47100 0.0047988382 0.0020509901 0.0044129182 + 47200 0.0046359373 0.0021243589 0.0044061093 + 47300 0.0058430427 0.001944178 0.0048200506 + 47400 0.0051240047 0.0019098295 0.0044318006 + 47500 0.0044751278 0.0020569405 0.0042595425 + 47600 0.0056649938 0.0020727306 0.0048609697 + 47700 0.0032412862 0.0022585668 0.0038538873 + 47800 0.0068755144 0.0017509017 0.005134944 + 47900 0.0037889607 0.0017356028 0.0036004819 + 48000 0.0045654479 0.0022019401 0.0044489965 + 48100 0.0050696536 0.0025464754 0.0050416956 + 48200 0.0055857755 0.0028438484 0.0055930973 + 48300 0.0044025891 0.002854618 0.0050215174 + 48400 0.0036912724 0.0022986696 0.0041154677 + 48500 0.0046860971 0.0020477439 0.0043541824 + 48600 0.0048275121 0.001977789 0.0043538301 + 48700 0.0037416362 0.0026342835 0.00447587 + 48800 0.0055730939 0.0025685349 0.0053115421 + 48900 0.0051819998 0.002543137 0.0050936526 + 49000 0.0052188892 0.0024982216 0.0050668936 + 49100 0.0051652225 0.0026542001 0.0051964581 + 49200 0.0054453028 0.0030541746 0.0057342845 + 49300 0.0053947386 0.002738394 0.0053936168 + 49400 0.0063579991 0.00239582 0.0055251477 + 49500 0.006528586 0.0022369185 0.0054502069 + 49600 0.0044034693 0.0028330478 0.0050003804 + 49700 0.0056727625 0.0028099507 0.0056020135 + 49800 0.0043653481 0.002720564 0.0048691338 + 49900 0.0046597798 0.0025349663 0.0048284516 + 50000 0.0052933222 0.0027579917 0.0053632987 + 50100 0.0039339254 0.0027051142 0.0046413431 + 50200 0.0041284865 0.0022670852 0.0042990747 + 50300 0.0042675751 0.002292962 0.0043934091 + 50400 0.004289444 0.0025165916 0.0046278023 + 50500 0.0037658203 0.0028293094 0.0046827991 + 50600 0.0048503604 0.0025583313 0.0049456181 + 50700 0.0061761989 0.0020442165 0.0050840643 + 50800 0.0052612743 0.002184757 0.0047742904 + 50900 0.0073896746 0.0024261726 0.006063278 + 51000 0.0062873711 0.0023875812 0.0054821466 + 51100 0.0064470829 0.0021771864 0.00535036 + 51200 0.004880062 0.0024538531 0.0048557587 + 51300 0.0052523628 0.0022732214 0.0048583687 + 51400 0.0052394924 0.0023781803 0.004956993 + 51500 0.0039796224 0.0029113805 0.0048701008 + 51600 0.0064184777 0.0027375379 0.0058966324 + 51700 0.0056029741 0.0029126654 0.0056703793 + 51800 0.0059927679 0.0029288337 0.0058783992 + 51900 0.0059489382 0.0028366718 0.0057646649 + 52000 0.0058144888 0.0026501852 0.0055120039 + 52100 0.0059379992 0.0022779526 0.0052005615 + 52200 0.0065256134 0.0019969986 0.005208824 + 52300 0.0048225829 0.0022542333 0.0046278483 + 52400 0.005131577 0.002066672 0.0045923701 + 52500 0.0040958222 0.0017579172 0.0037738297 + 52600 0.005194631 0.0016662004 0.0042229328 + 52700 0.0035620693 0.0016046777 0.0033578837 + 52800 0.0055449807 0.001454566 0.0041837362 + 52900 0.0039053835 0.001887189 0.0038093699 + 53000 0.0043031657 0.0022651418 0.0043831062 + 53100 0.0039730849 0.0023945596 0.0043500623 + 53200 0.0052178592 0.0018976116 0.0044657767 + 53300 0.005307497 0.0016101643 0.004222448 + 53400 0.0046646002 0.0019185625 0.0042144204 + 53500 0.0026995641 0.0023139328 0.0036426245 + 53600 0.0052326327 0.0023278376 0.004903274 + 53700 0.0037869084 0.0023525329 0.0042164019 + 53800 0.0037463138 0.0021992956 0.0040431844 + 53900 0.004496825 0.0022581519 0.004471433 + 54000 0.0057660791 0.0024945312 0.0053325232 + 54100 0.0061380315 0.0037129682 0.0067340305 + 54200 0.0046104183 0.0036979259 0.0059671161 + 54300 0.0057958224 0.0034695141 0.0063221455 + 54400 0.0048332403 0.0034151314 0.0057939918 + 54500 0.0049693773 0.002820724 0.0052665894 + 54600 0.0045103017 0.0027294131 0.0049493272 + 54700 0.0043333968 0.0027706615 0.0049035053 + 54800 0.0046199654 0.0022569874 0.0045308766 + 54900 0.0052861212 0.0021567699 0.0047585327 + 55000 0.0047585824 0.0023981935 0.0047403083 + 55100 0.005124486 0.0023184498 0.0048406578 + 55200 0.0058088782 0.002483519 0.0053425762 + 55300 0.005216959 0.0021403532 0.0047080752 + 55400 0.0046261335 0.0025583826 0.0048353077 + 55500 0.0057579771 0.0027232685 0.0055572728 + 55600 0.0041409444 0.0025401723 0.0045782933 + 55700 0.0042118565 0.0022279306 0.0043009537 + 55800 0.0053401908 0.0019908841 0.0046192593 + 55900 0.0046193509 0.0024350302 0.004708617 + 56000 0.0058551596 0.0027796935 0.0056615299 + 56100 0.0062778834 0.0021096314 0.0051995271 + 56200 0.0049990389 0.0019808532 0.0044413176 + 56300 0.005667261 0.0021110132 0.0049003682 + 56400 0.0043763366 0.0027361171 0.0048900953 + 56500 0.0044730567 0.0038021939 0.0060037765 + 56600 0.0055258064 0.0036028104 0.0063225432 + 56700 0.0062959125 0.0032143303 0.0063130998 + 56800 0.0042019051 0.0031651388 0.005233264 + 56900 0.0060869881 0.002905635 0.0059015744 + 57000 0.0057868988 0.0027878009 0.0056360401 + 57100 0.0064950497 0.0029399405 0.0061367228 + 57200 0.0050587709 0.0026105139 0.0051003777 + 57300 0.0053527418 0.0023974504 0.005032003 + 57400 0.003922727 0.0021677513 0.0040984684 + 57500 0.0037475815 0.0024135009 0.0042580137 + 57600 0.0053270862 0.002463369 0.0050852943 + 57700 0.0045609319 0.0028937259 0.0051385595 + 57800 0.0069238565 0.0028018135 0.0062096492 + 57900 0.006054894 0.0026147955 0.0055949386 + 58000 0.0057192263 0.0029135455 0.0057284772 + 58100 0.0048946299 0.0025414547 0.0049505303 + 58200 0.003849572 0.002477886 0.0043725973 + 58300 0.0041912557 0.0023914223 0.0044543059 + 58400 0.0052934173 0.0021797269 0.0047850807 + 58500 0.0039186585 0.0019992363 0.003927951 + 58600 0.0053470831 0.0019047638 0.0045365312 + 58700 0.0085743974 0.0016808313 0.0059010425 + 58800 0.0048791203 0.0022616712 0.0046631132 + 58900 0.0050189617 0.0024291926 0.0048994628 + 59000 0.004253455 0.0020956428 0.0041891402 + 59100 0.0060767167 0.0023415227 0.0053324067 + 59200 0.0048321865 0.0027353929 0.0051137347 + 59300 0.0048977252 0.0027351029 0.0051457021 + 59400 0.0069428306 0.0028635561 0.0062807305 + 59500 0.0060870338 0.0028130836 0.0058090455 + 59600 0.0053928323 0.0023989577 0.0050532423 + 59700 0.004054515 0.0018770089 0.0038725905 + 59800 0.0054963992 0.0015445642 0.0042498232 + 59900 0.0042701987 0.0017503963 0.0038521348 + 60000 0.0043336871 0.0019396657 0.0040726523 + 60100 0.0041307694 0.0022506674 0.0042837805 + 60200 0.003790249 0.0022967599 0.004162273 + 60300 0.0055833267 0.0021989572 0.0049470008 + 60400 0.0036377404 0.0022479319 0.0040383822 + 60500 0.0058214434 0.0018167156 0.0046819573 + 60600 0.0046723496 0.0021228113 0.0044224834 + 60700 0.0047974296 0.0023165037 0.0046777386 + 60800 0.0044223476 0.002395644 0.0045722682 + 60900 0.0050279614 0.0024646163 0.004939316 + 61000 0.0060984498 0.002411333 0.0054129137 + 61100 0.0051019827 0.0026219034 0.0051330355 + 61200 0.0050952837 0.0026447827 0.0051526177 + 61300 0.0060527815 0.00238081 0.0053599134 + 61400 0.0049286023 0.0025701005 0.0049958969 + 61500 0.005969882 0.0021249039 0.0050632051 + 61600 0.0046007253 0.0023236173 0.0045880368 + 61700 0.0044396835 0.0025771435 0.0047623002 + 61800 0.0056639445 0.0023601406 0.0051478633 + 61900 0.006055309 0.0021640884 0.0051444358 + 62000 0.0057279406 0.0025880729 0.0054072937 + 62100 0.0067898204 0.0027957117 0.0061375765 + 62200 0.0047542979 0.0029157249 0.0052557309 + 62300 0.0055163244 0.0030389236 0.0057539895 + 62400 0.004623678 0.0029257019 0.0052014185 + 62500 0.006981775 0.0028329928 0.0062693352 + 62600 0.0052790636 0.0025089823 0.0051072715 + 62700 0.004502983 0.0025521714 0.0047684833 + 62800 0.005198644 0.002347132 0.0049058396 + 62900 0.0056829005 0.0019331054 0.004730158 + 63000 0.0061506305 0.0024549965 0.0054822599 + 63100 0.0053233931 0.002854602 0.0054747096 + 63200 0.0039360144 0.0027564754 0.0046937325 + 63300 0.004489603 0.0027418476 0.0049515741 + 63400 0.0045865176 0.0025666641 0.0048240907 + 63500 0.0053091807 0.0025226324 0.0051357448 + 63600 0.0058253669 0.0025830883 0.0054502611 + 63700 0.0048093506 0.0023022853 0.0046693876 + 63800 0.0045950013 0.002432953 0.0046945552 + 63900 0.0051578718 0.0023777817 0.0049164218 + 64000 0.0047482866 0.002104565 0.0044416124 + 64100 0.0070255221 0.0021853492 0.0056432233 + 64200 0.0046851077 0.0026144698 0.0049204212 + 64300 0.0039295793 0.0030161401 0.0049502299 + 64400 0.0048660988 0.0026698987 0.0050649317 + 64500 0.0063953974 0.0028111385 0.0059588731 + 64600 0.0056994558 0.0028564498 0.0056616507 + 64700 0.0053282082 0.0028300066 0.005452484 + 64800 0.00507252 0.0030659405 0.0055625715 + 64900 0.0041852498 0.0031037884 0.005163716 + 65000 0.0045581036 0.0032779545 0.0055213961 + 65100 0.0046913219 0.0032499247 0.0055589347 + 65200 0.0054147947 0.0031621711 0.0058272654 + 65300 0.0054888969 0.0029858355 0.005687402 + 65400 0.0065697151 0.0029281082 0.0061616398 + 65500 0.0060901872 0.0034613474 0.0064588614 + 65600 0.0049597153 0.0033572894 0.0057983993 + 65700 0.0039222949 0.0029538356 0.0048843402 + 65800 0.0044882884 0.0029928496 0.0052019291 + 65900 0.0052161718 0.0026758705 0.0052432051 + 66000 0.0065934271 0.0022680927 0.0055132951 + 66100 0.0050492444 0.0023166854 0.0048018603 + 66200 0.0056593498 0.0025581565 0.0053436177 + 66300 0.0049524609 0.0023519584 0.0047894978 + 66400 0.0063402264 0.0023849748 0.005505555 + 66500 0.004771672 0.00244859 0.0047971473 + 66600 0.0051824552 0.002613505 0.0051642446 + 66700 0.005774468 0.0028348791 0.005677 + 66800 0.0046950833 0.0030075585 0.0053184198 + 66900 0.0053165495 0.0027537876 0.0053705268 + 67000 0.0057308856 0.0025272009 0.0053478711 + 67100 0.0046796202 0.0026661548 0.0049694054 + 67200 0.0047437058 0.0027420071 0.0050767998 + 67300 0.0050394751 0.0025004341 0.0049808008 + 67400 0.0055788811 0.0026418202 0.0053876757 + 67500 0.0070713654 0.0028505191 0.0063309568 + 67600 0.0059801004 0.002765848 0.0057091787 + 67700 0.0040164007 0.0031384648 0.0051152871 + 67800 0.0075967981 0.0028843543 0.0066234034 + 67900 0.0047833735 0.0027882528 0.0051425694 + 68000 0.0063575501 0.0022887647 0.0054178714 + 68100 0.0065862164 0.0024200602 0.0056617136 + 68200 0.0046499936 0.0024835086 0.0047721774 + 68300 0.0043503721 0.0023886701 0.0045298689 + 68400 0.0053742441 0.0021740698 0.0048192056 + 68500 0.0059063897 0.0020291838 0.004936235 + 68600 0.0037691784 0.0023709168 0.0042260593 + 68700 0.0042457471 0.0025315096 0.0046212133 + 68800 0.0047705747 0.0028486739 0.0051966911 + 68900 0.0056572728 0.0027676577 0.0055520966 + 69000 0.0048876697 0.0026945633 0.0051002133 + 69100 0.0052634311 0.0025543709 0.0051449659 + 69200 0.0039270634 0.0024077842 0.0043406358 + 69300 0.0047719266 0.0025001822 0.0048488648 + 69400 0.0045964308 0.0031156371 0.0053779429 + 69500 0.0038131207 0.0031568404 0.0050336107 + 69600 0.0040019157 0.0028941661 0.0048638589 + 69700 0.0057987524 0.0024173543 0.0052714277 + 69800 0.0055944122 0.0023275401 0.0050810399 + 69900 0.0055300148 0.0028197269 0.005541531 + 70000 0.0051611491 0.0030411359 0.005581389 + 70100 0.0040971549 0.0031491635 0.0051657319 + 70200 0.0055808339 0.0027528473 0.0054996639 + 70300 0.0042680699 0.0031070625 0.0052077532 + 70400 0.0055008862 0.0028543271 0.0055617945 + 70500 0.0039595314 0.0030008573 0.0049496891 + 70600 0.0045317436 0.0031540993 0.0053845669 + 70700 0.0063358217 0.0026458835 0.0057642957 + 70800 0.0056228319 0.0027053506 0.0054728382 + 70900 0.0038862998 0.0030872936 0.0050000818 + 71000 0.0037652125 0.0030456236 0.0048988141 + 71100 0.0058617583 0.0027103107 0.0055953949 + 71200 0.0047988175 0.0035246525 0.0058865705 + 71300 0.0039944958 0.0037905669 0.0057566078 + 71400 0.0044217413 0.0034184861 0.0055948119 + 71500 0.0053516896 0.0026979819 0.0053320166 + 71600 0.005877523 0.0025172463 0.0054100897 + 71700 0.004796699 0.0024635307 0.0048244059 + 71800 0.0054039206 0.002438195 0.0050979372 + 71900 0.0059330037 0.0027598928 0.0056800431 + 72000 0.0035154301 0.0025919891 0.0043222399 + 72100 0.0053907319 0.0023632867 0.0050165376 + 72200 0.0039996053 0.0023936698 0.0043622255 + 72300 0.0056224097 0.0020771766 0.0048444563 + 72400 0.0048398147 0.0023749691 0.0047570654 + 72500 0.0045617379 0.0025707433 0.0048159736 + 72600 0.0060582008 0.0026253095 0.0056070802 + 72700 0.0046195931 0.0025751137 0.0048488197 + 72800 0.0048813644 0.002833168 0.0052357145 + 72900 0.0056481557 0.0027074701 0.0054874217 + 73000 0.006292515 0.0026396304 0.0057367277 + 73100 0.0053764044 0.0024208455 0.0050670445 + 73200 0.0059340445 0.0020910744 0.0050117369 + 73300 0.0045107467 0.0018860273 0.0041061604 + 73400 0.0042894239 0.0019444778 0.0040556787 + 73500 0.0043062405 0.0019736233 0.004093101 + 73600 0.0042642569 0.0019793602 0.0040781741 + 73700 0.0033844928 0.0020560248 0.0037218298 + 73800 0.0047683045 0.0017120433 0.0040589432 + 73900 0.0049814296 0.0020021175 0.0044539149 + 74000 0.0051039521 0.0018494992 0.0043616006 + 74100 0.0044872886 0.0017563487 0.003964936 + 74200 0.0042683632 0.0021370509 0.0042378859 + 74300 0.0044182173 0.0020842929 0.0042588842 + 74400 0.004146047 0.0018979692 0.0039386017 + 74500 0.005618121 0.0016769569 0.0044421258 + 74600 0.0041630417 0.0015606788 0.0036096758 + 74700 0.00469299 0.0014615955 0.0037714265 + 74800 0.003438476 0.0016440585 0.0033364334 + 74900 0.0032591127 0.0016853854 0.00328948 + 75000 0.0044285675 0.0020511374 0.004230823 + 75100 0.0061376235 0.0023545114 0.0053753729 + 75200 0.0058007348 0.0026356641 0.0054907132 + 75300 0.0062121848 0.0025091645 0.0055667242 + 75400 0.0052656835 0.00222879 0.0048204936 + 75500 0.0058606828 0.0017085793 0.0045931341 + 75600 0.0050754009 0.0019710511 0.0044691 + 75700 0.0042340893 0.0026732432 0.004757209 + 75800 0.0054321853 0.0027528315 0.0054264852 + 75900 0.0061882937 0.0018661997 0.0049120005 + 76000 0.0066425031 0.0018949786 0.0051643356 + 76100 0.004637703 0.0023976495 0.004680269 + 76200 0.0057871464 0.0022146154 0.0050629765 + 76300 0.0056041364 0.0021844582 0.0049427441 + 76400 0.0047894742 0.0024401459 0.0047974652 + 76500 0.0058023585 0.0023425909 0.0051984393 + 76600 0.0049052887 0.0025078887 0.0049222105 + 76700 0.0049974918 0.0019694335 0.0044291365 + 76800 0.0042191193 0.0016510723 0.0037276701 + 76900 0.0039503471 0.0016873391 0.0036316505 + 77000 0.0047298801 0.0019322374 0.0042602253 + 77100 0.0049992408 0.0018474957 0.0043080595 + 77200 0.0032936644 0.002130223 0.0037513235 + 77300 0.0048303958 0.0023550529 0.0047325133 + 77400 0.0063234799 0.0028929245 0.0060052622 + 77500 0.00463004 0.0027082779 0.0049871257 + 77600 0.0050929326 0.0025020123 0.0050086901 + 77700 0.003384678 0.0023701129 0.0040360091 + 77800 0.0041880355 0.0019308741 0.0039921728 + 77900 0.0049763231 0.0021491433 0.0045984273 + 78000 0.003992385 0.0026137623 0.0045787643 + 78100 0.0051057387 0.0027451908 0.0052581715 + 78200 0.0054348861 0.0025577891 0.0052327721 + 78300 0.0057776202 0.0023891943 0.0052328667 + 78400 0.0048359892 0.0024817177 0.0048619312 + 78500 0.0048704429 0.0028022562 0.0051994273 + 78600 0.0054872014 0.0027906432 0.0054913751 + 78700 0.005509956 0.0026370384 0.0053489699 + 78800 0.0048209086 0.0025299026 0.0049026936 + 78900 0.0045972366 0.002261219 0.0045239214 + 79000 0.0040975737 0.002188761 0.0042055355 + 79100 0.0054985041 0.0019990431 0.0047053381 + 79200 0.0049955306 0.0020001032 0.0044588409 + 79300 0.0039372456 0.001866941 0.003804804 + 79400 0.0036515198 0.0018464302 0.0036436626 + 79500 0.0048873976 0.0018264761 0.0042319921 + 79600 0.005304039 0.0022275707 0.0048381524 + 79700 0.005194031 0.0024761037 0.0050325409 + 79800 0.0052406455 0.0025873547 0.0051667349 + 79900 0.004216836 0.0025392835 0.0046147575 + 80000 0.005005837 0.0023327163 0.0047965267 + 80100 0.0046348948 0.0021326396 0.0044138769 + 80200 0.0067222787 0.0024210591 0.0057296806 + 80300 0.0053915682 0.0027591997 0.0054128621 + 80400 0.0056163828 0.0028198112 0.0055841246 + 80500 0.0036451048 0.0028991527 0.0046932278 + 80600 0.004460046 0.0031348911 0.00533007 + 80700 0.005176748 0.002861288 0.0054092187 + 80800 0.0052764546 0.0026789984 0.0052760035 + 80900 0.0045249993 0.0026485499 0.004875698 + 81000 0.0042943847 0.002686603 0.0048002454 + 81100 0.0046355411 0.0027805802 0.0050621356 + 81200 0.0056521846 0.0026661315 0.0054480661 + 81300 0.0054679611 0.002602514 0.0052937761 + 81400 0.0047593182 0.0031466731 0.0054891501 + 81500 0.0045296063 0.0033412661 0.0055706817 + 81600 0.0070010873 0.0032878869 0.0067337345 + 81700 0.0074436949 0.0033922567 0.0070559503 + 81800 0.005610758 0.0036244321 0.0063859771 + 81900 0.0053273856 0.003409863 0.0060319356 + 82000 0.0063763287 0.0026304698 0.0057688191 + 82100 0.00515822 0.0025793429 0.0051181543 + 82200 0.0051360532 0.003051596 0.0055794972 + 82300 0.0044412777 0.0028681254 0.0050540667 + 82400 0.0064105925 0.0030078272 0.0061630407 + 82500 0.0040821554 0.0033344019 0.0053435877 + 82600 0.0044197889 0.0031022601 0.005277625 + 82700 0.0047935976 0.0025883712 0.00494772 + 82800 0.003738449 0.0023020582 0.0041420761 + 82900 0.0053933957 0.0025158866 0.0051704485 + 83000 0.0047459556 0.0030100237 0.0053459237 + 83100 0.0043152191 0.0032077675 0.0053316644 + 83200 0.0045985383 0.0027825467 0.0050458898 + 83300 0.003769822 0.0025818133 0.0044372725 + 83400 0.0067398285 0.002684571 0.0060018303 + 83500 0.0045499328 0.0030768795 0.0053162995 + 83600 0.0035234858 0.0030251824 0.0047593981 + 83700 0.0049511097 0.0029298231 0.0053666974 + 83800 0.0045676475 0.0028474562 0.0050955952 + 83900 0.0044610737 0.002519446 0.0047151307 + 84000 0.0064545826 0.0025222216 0.0056990865 + 84100 0.004653975 0.0027302156 0.0050208439 + 84200 0.0036167014 0.0030734672 0.0048535624 + 84300 0.0057445599 0.0027562257 0.0055836263 + 84400 0.0058224252 0.0024675774 0.0053333023 + 84500 0.0047973173 0.0023781583 0.0047393379 + 84600 0.0039284071 0.0024652748 0.0043987876 + 84700 0.0029638347 0.0025692972 0.0040280596 + 84800 0.0047887044 0.0029186118 0.0052755522 + 84900 0.0055379755 0.0025806577 0.00530638 + 85000 0.0050508036 0.0027085904 0.0051945329 + 85100 0.0052692208 0.002708691 0.0053021357 + 85200 0.0046732792 0.0025088182 0.0048089478 + 85300 0.0054368212 0.0027754547 0.0054513901 + 85400 0.0041549798 0.0031598353 0.0052048644 + 85500 0.0047011152 0.0032261337 0.0055399639 + 85600 0.0055808536 0.0027000149 0.0054468413 + 85700 0.0048434129 0.0026429768 0.0050268441 + 85800 0.0048083651 0.002842628 0.0052092452 + 85900 0.0068372124 0.0027700697 0.0061352602 + 86000 0.0057512903 0.0032940136 0.0061247267 + 86100 0.0040721642 0.0039506876 0.005954956 + 86200 0.0036910287 0.0039669643 0.0057836425 + 86300 0.0054343665 0.0034411799 0.0061159072 + 86400 0.0062628222 0.0032835749 0.0063660577 + 86500 0.0048513507 0.0035688868 0.005956661 + 86600 0.0069173355 0.0031980342 0.0066026603 + 86700 0.0081806389 0.0029566119 0.0069830201 + 86800 0.0062293924 0.0027879988 0.0058540278 + 86900 0.0056635501 0.0030769808 0.0058645094 + 87000 0.0050517479 0.0034190971 0.0059055043 + 87100 0.0042098299 0.0032866868 0.0053587124 + 87200 0.0051519893 0.0023312815 0.0048670263 + 87300 0.0053215622 0.0019148403 0.0045340467 + 87400 0.0032577713 0.0022767786 0.0038802129 + 87500 0.0044570195 0.0022494502 0.0044431395 + 87600 0.0052392036 0.0021528124 0.0047314829 + 87700 0.0053547779 0.0023921325 0.0050276873 + 87800 0.0045686383 0.0022639202 0.0045125469 + 87900 0.0054222401 0.0021765081 0.0048452669 + 88000 0.0072019377 0.0019999176 0.0055446213 + 88100 0.0051035154 0.0019149795 0.004426866 + 88200 0.0060975634 0.0017265057 0.0047276502 + 88300 0.0061669752 0.0020150074 0.0050503155 + 88400 0.0058805473 0.0027046436 0.0055989755 + 88500 0.0056084198 0.0029070098 0.005667404 + 88600 0.0055620748 0.0024571016 0.0051946853 + 88700 0.0057423726 0.0020670094 0.0048933333 + 88800 0.0045542811 0.0022137937 0.004455354 + 88900 0.0048961572 0.0025511938 0.0049610211 + 89000 0.0050029344 0.0025574486 0.0050198304 + 89100 0.0053494041 0.002790112 0.0054230218 + 89200 0.0062382018 0.0029382962 0.0060086611 + 89300 0.0046549933 0.0025582805 0.00484941 + 89400 0.0061553926 0.0028467604 0.0058763677 + 89500 0.0054415236 0.0027038997 0.0053821496 + 89600 0.0049929284 0.0024439412 0.0049013981 + 89700 0.0052089147 0.0020782333 0.004641996 + 89800 0.0054194082 0.0019060222 0.0045733872 + 89900 0.0042438172 0.0020655704 0.0041543242 + 90000 0.0053810893 0.0022202497 0.0048687545 + 90100 0.0041317433 0.0025163811 0.0045499735 + 90200 0.0049091287 0.0025324657 0.0049486775 + 90300 0.0051286993 0.0024879148 0.0050121964 + 90400 0.0050204469 0.0025904592 0.0050614604 + 90500 0.0042464315 0.0025457079 0.0046357484 + 90600 0.0052250066 0.0023698037 0.0049414866 + 90700 0.0045462634 0.0023097843 0.0045473983 + 90800 0.0037093636 0.002571643 0.0043973454 + 90900 0.0063113799 0.0028984616 0.0060048439 + 91000 0.0043201494 0.0035103634 0.0056366869 + 91100 0.0047435479 0.0028845182 0.0052192332 + 91200 0.0065770065 0.0024854189 0.0057225393 + 91300 0.0062774446 0.0029098606 0.0059995404 + 91400 0.0049078754 0.0033611622 0.0057767571 + 91500 0.0053685781 0.0029029245 0.0055452715 + 91600 0.0053490556 0.0027350213 0.0053677596 + 91700 0.0058290963 0.0025725331 0.0054415414 + 91800 0.0072866405 0.0023256296 0.0059120229 + 91900 0.0058739958 0.002397964 0.0052890713 + 92000 0.0054562234 0.0023199876 0.0050054725 + 92100 0.005611244 0.0020159579 0.004777742 + 92200 0.0056938966 0.0019908685 0.0047933333 + 92300 0.0045806723 0.0018484046 0.0041029543 + 92400 0.004021423 0.0017415055 0.0037207996 + 92500 0.0062152423 0.0016326148 0.0046916794 + 92600 0.0041680258 0.002100735 0.0041521852 + 92700 0.0062858018 0.0020078107 0.0051016038 + 92800 0.0050359408 0.0019708759 0.004449503 + 92900 0.0045713716 0.0019061094 0.0041560814 + 93000 0.0053129071 0.0017527225 0.004367669 + 93100 0.0057446369 0.0018012696 0.0046287081 + 93200 0.0054739901 0.0024684525 0.005162682 + 93300 0.0045647369 0.0031014684 0.0053481748 + 93400 0.0036193876 0.0029006396 0.0046820569 + 93500 0.0060601698 0.0019741831 0.004956923 + 93600 0.0046004665 0.0020015396 0.0042658317 + 93700 0.0042683715 0.0021208495 0.0042216887 + 93800 0.0042496451 0.0021423506 0.0042339729 + 93900 0.0050268403 0.0021521183 0.0046262662 + 94000 0.0040358142 0.0025002024 0.0044865797 + 94100 0.0053294078 0.0023011019 0.0049241698 + 94200 0.0054369608 0.002656387 0.0053323911 + 94300 0.0050797075 0.0022979222 0.0047980907 + 94400 0.0050921226 0.0023796543 0.0048859334 + 94500 0.0049329385 0.0025064774 0.004934408 + 94600 0.0062590368 0.0023118525 0.0053924721 + 94700 0.0051941686 0.0020324496 0.0045889545 + 94800 0.0061044642 0.0022752168 0.0052797577 + 94900 0.0058587855 0.0022442433 0.0051278642 + 95000 0.0040628882 0.0023417837 0.0043414865 + 95100 0.0044093913 0.0024604208 0.0046306681 + 95200 0.0052381724 0.0024953602 0.0050735231 + 95300 0.0041843167 0.0023526891 0.0044121575 + 95400 0.0036206776 0.0024898436 0.0042718959 + 95500 0.0055885007 0.0024269834 0.0051775736 + 95600 0.0053328236 0.0028022568 0.0054270059 + 95700 0.0055391784 0.0026378076 0.005364122 + 95800 0.0053066117 0.0022822165 0.0048940645 + 95900 0.0046804735 0.0024918323 0.0047955029 + 96000 0.0067041432 0.0019985496 0.0052982451 + 96100 0.0048748809 0.0023756505 0.0047750059 + 96200 0.0037728758 0.0023720232 0.0042289855 + 96300 0.0044732638 0.0024277705 0.004629455 + 96400 0.0060579424 0.0023268191 0.0053084627 + 96500 0.0038456366 0.0025592995 0.0044520738 + 96600 0.0049971155 0.0027362251 0.0051957429 + 96700 0.0076930517 0.0024331244 0.0062195483 + 96800 0.0050724787 0.0025514936 0.0050481042 + 96900 0.0060769703 0.0024391751 0.0054301839 + 97000 0.0048021801 0.0021185012 0.0044820743 + 97100 0.005660294 0.0023463709 0.0051322969 + 97200 0.0048179777 0.0030827943 0.0054541426 + 97300 0.0053757318 0.0030170491 0.0056629171 + 97400 0.0067381828 0.0026761785 0.0059926278 + 97500 0.0042197502 0.002912353 0.0049892613 + 97600 0.0057027576 0.0030602803 0.0058671063 + 97700 0.0061693172 0.0025635465 0.0056000073 + 97800 0.0045497375 0.002284389 0.0045237129 + 97900 0.004449448 0.0023558994 0.004545862 + 98000 0.0043326526 0.002198167 0.0043306445 + 98100 0.0050126314 0.0024800737 0.0049472282 + 98200 0.0037659765 0.0027438261 0.0045973926 + 98300 0.0066021495 0.0026389775 0.0058884729 + 98400 0.0047517542 0.0026253143 0.0049640683 + 98500 0.0040493294 0.0025695401 0.0045625693 + 98600 0.0031819859 0.0025493936 0.0041155272 + 98700 0.0050691486 0.0019875569 0.0044825284 + 98800 0.0057652299 0.0020979909 0.0049355649 + 98900 0.0044760097 0.0021491409 0.0043521769 + 99000 0.0073474081 0.0023083358 0.0059246382 + 99100 0.0051021109 0.0029499858 0.005461181 + 99200 0.0049845442 0.0030591608 0.0055124912 + 99300 0.0062195698 0.0028596317 0.0059208262 + 99400 0.0053308323 0.0027370214 0.0053607905 + 99500 0.0079201013 0.0027481443 0.0066463192 + 99600 0.0063782264 0.0029359374 0.0060752207 + 99700 0.0061058594 0.002578078 0.0055833057 + 99800 0.0038451427 0.0023133588 0.00420589 + 99900 0.0061566822 0.0018607765 0.0048910185 + 100000 0.0068927201 0.0020927363 0.005485247 + 100100 0.0047391181 0.0028683768 0.0052009115 + 100200 0.0053483393 0.0029064148 0.0055388005 + 100300 0.0045258461 0.0031283243 0.0053558891 + 100400 0.0050365226 0.0030179463 0.0054968598 + 100500 0.0047312271 0.0029646693 0.0052933201 + 100600 0.0061205474 0.0026210987 0.0056335556 + 100700 0.0025651757 0.002853931 0.0041164784 + 100800 0.0039133509 0.0023758551 0.0043019575 + 100900 0.0052092894 0.0020576226 0.0046215697 + 101000 0.0047933685 0.0019465261 0.0043057621 + 101100 0.003956389 0.0021475561 0.0040948413 + 101200 0.0050643083 0.0024413601 0.0049339493 + 101300 0.00586629 0.0027702329 0.0056575475 + 101400 0.0041134663 0.0028491547 0.0048737514 + 101500 0.0042609904 0.0027710094 0.0048682156 + 101600 0.0040332019 0.0028290391 0.0048141307 + 101700 0.0044978865 0.0027827381 0.0049965416 + 101800 0.0060428561 0.0022749661 0.0052491843 + 101900 0.0051600197 0.0021403985 0.0046800957 + 102000 0.0045333669 0.0023159227 0.0045471892 + 102100 0.0070046179 0.0023404156 0.005788001 + 102200 0.0061519161 0.0022998284 0.0053277247 + 102300 0.0054322922 0.0028143567 0.0054880629 + 102400 0.0067449733 0.0027663729 0.0060861645 + 102500 0.0055718833 0.0028907092 0.0056331205 + 102600 0.005492805 0.003230284 0.005933774 + 102700 0.0057980123 0.0026981722 0.0055518814 + 102800 0.0046380472 0.0021701776 0.0044529664 + 102900 0.0048709823 0.0021799543 0.004577391 + 103000 0.0042697277 0.0023603737 0.0044618803 + 103100 0.0055478928 0.0024828905 0.005213494 + 103200 0.0058182369 0.002465523 0.0053291864 + 103300 0.0059052791 0.0028961956 0.0058027001 + 103400 0.0044892107 0.0033950945 0.0056046279 + 103500 0.0044678566 0.002913743 0.0051127662 + 103600 0.0047670318 0.0030027417 0.0053490152 + 103700 0.005096998 0.0027861302 0.0052948089 + 103800 0.0058219052 0.0025488868 0.0054143558 + 103900 0.0055457492 0.0027238297 0.0054533781 + 104000 0.0053618337 0.0031234195 0.005762447 + 104100 0.0046966491 0.0030342066 0.0053458386 + 104200 0.0056029936 0.0025226951 0.0052804185 + 104300 0.0048428918 0.002439357 0.0048229678 + 104400 0.0049155836 0.002751652 0.0051710407 + 104500 0.0050080274 0.0031713836 0.0056362721 + 104600 0.0052479614 0.0032808705 0.0058638515 + 104700 0.0058029768 0.0030601196 0.0059162722 + 104800 0.0059414983 0.002753915 0.0056782462 + 104900 0.0055676729 0.0027724396 0.0055127786 + 105000 0.0057471966 0.0028378259 0.0056665242 + 105100 0.0062413446 0.0034486799 0.0065205916 + 105200 0.0046813066 0.0037080686 0.0060121492 + 105300 0.006480056 0.0040398659 0.0072292685 + 105400 0.0048801732 0.0040482258 0.006450186 + 105500 0.005828717 0.003617556 0.0064863776 + 105600 0.0075420792 0.0028916713 0.0066037884 + 105700 0.0062363383 0.0023966336 0.0054660814 + 105800 0.0062864114 0.0022015099 0.005295603 + 105900 0.0040615775 0.0025536747 0.0045527324 + 106000 0.0063290288 0.0023102446 0.0054253134 + 106100 0.0051585324 0.002286666 0.0048256311 + 106200 0.0034732608 0.0022578884 0.0039673839 + 106300 0.0044176304 0.0020919564 0.0042662589 + 106400 0.0041908911 0.0019892799 0.0040519841 + 106500 0.0039026099 0.0023120102 0.004232826 + 106600 0.0048572336 0.0024848361 0.0048755058 + 106700 0.0063257167 0.0021928248 0.0053062635 + 106800 0.0036730623 0.0025819264 0.0043897617 + 106900 0.0059944179 0.0028382753 0.0057886528 + 107000 0.0064580669 0.0030999903 0.0062785701 + 107100 0.0046255253 0.0031334458 0.0054100715 + 107200 0.0049283482 0.0030364233 0.0054620947 + 107300 0.0063133439 0.0031381277 0.0062454766 + 107400 0.0041474774 0.0030566705 0.0050980071 + 107500 0.0046740446 0.0026914709 0.0049919772 + 107600 0.0047388492 0.0030377523 0.0053701547 + 107700 0.0054282275 0.0028094709 0.0054811766 + 107800 0.0053721217 0.0023284663 0.0049725574 + 107900 0.004243258 0.0018403539 0.0039288324 + 108000 0.0049353152 0.0019312174 0.0043603179 + 108100 0.0055130508 0.0025271957 0.0052406504 + 108200 0.0060558392 0.0024565719 0.0054371802 + 108300 0.0045859105 0.0023894119 0.0046465397 + 108400 0.0058885278 0.002025608 0.0049238677 + 108500 0.0054340107 0.0023452816 0.0050198337 + 108600 0.0044141867 0.0027647819 0.0049373895 + 108700 0.0058358218 0.002351073 0.0052233915 + 108800 0.0046712028 0.0020506598 0.0043497674 + 108900 0.0060486201 0.0022072723 0.0051843275 + 109000 0.004853394 0.002811998 0.0052007778 + 109100 0.0057238236 0.0026146211 0.0054318155 + 109200 0.0053979441 0.0026364855 0.0052932861 + 109300 0.0050589705 0.0025353887 0.0050253508 + 109400 0.0045738921 0.0024354124 0.004686625 + 109500 0.0046261854 0.0029166817 0.0051936324 + 109600 0.0041689619 0.0030250569 0.0050769678 + 109700 0.0039751906 0.0031283774 0.0050849166 + 109800 0.0059722001 0.0028077245 0.0057471667 + 109900 0.0064808043 0.0030567557 0.0062465266 + 110000 0.0044133757 0.0032871436 0.0054593519 + 110100 0.0062212538 0.002947876 0.0060098993 + 110200 0.0048243587 0.0028732762 0.0052477653 + 110300 0.0053680497 0.0024404749 0.0050825619 + 110400 0.0056285554 0.0027253265 0.0054956311 + 110500 0.0043921234 0.0031812544 0.0053430026 + 110600 0.0052145725 0.0034524517 0.0060189991 + 110700 0.0059297045 0.0035462473 0.0064647737 + 110800 0.0039791183 0.0035589564 0.0055174287 + 110900 0.0050631029 0.0032870617 0.0057790576 + 111000 0.0045785739 0.0032190924 0.0054726092 + 111100 0.0054237583 0.0031450294 0.0058145354 + 111200 0.0035705701 0.0032154539 0.0049728439 + 111300 0.004091047 0.0030329976 0.0050465598 + 111400 0.0055188185 0.0020035252 0.0047198186 + 111500 0.0051455747 0.001780299 0.0043128866 + 111600 0.0053045141 0.0021690289 0.0047798444 + 111700 0.0046372748 0.0023414381 0.0046238468 + 111800 0.0052027731 0.0021395942 0.0047003341 + 111900 0.0052496752 0.0022014434 0.0047852679 + 112000 0.0028159529 0.0022920464 0.0036780232 + 112100 0.0063535899 0.0023859576 0.0055131152 + 112200 0.0039606696 0.0028131121 0.0047625042 + 112300 0.0043064443 0.0026684668 0.0047880449 + 112400 0.0025763379 0.0024405732 0.0037086145 + 112500 0.0044170283 0.0024207001 0.0045947062 + 112600 0.0054643594 0.0024536122 0.0051431015 + 112700 0.005955353 0.0023101328 0.0052412831 + 112800 0.0068939122 0.0023991721 0.0057922695 + 112900 0.0048423154 0.0022677423 0.0046510694 + 113000 0.0024904304 0.0024689214 0.0036946801 + 113100 0.0040994351 0.0022112216 0.0042289123 + 113200 0.0041927948 0.0024644187 0.0045280599 + 113300 0.0059215586 0.0022238183 0.0051383354 + 113400 0.0037381398 0.0026043886 0.0044442543 + 113500 0.0054818864 0.0028451912 0.0055433072 + 113600 0.0080378216 0.0030499469 0.0070060622 + 113700 0.0045790699 0.0034810623 0.0057348233 + 113800 0.0054508947 0.0038292872 0.0065121494 + 113900 0.0063119462 0.0039706622 0.0070773233 + 114000 0.0049062179 0.0040489597 0.0064637388 + 114100 0.0060687528 0.0035775812 0.0065645454 + 114200 0.0048148785 0.0029373954 0.0053072185 + 114300 0.00424213 0.002213809 0.0043017323 + 114400 0.0044688861 0.0020153475 0.0042148774 + 114500 0.0043934851 0.0022074317 0.0043698501 + 114600 0.0031678524 0.0024544466 0.004013624 + 114700 0.0042061988 0.0022330402 0.0043032787 + 114800 0.0050375599 0.0017099923 0.0041894163 + 114900 0.0052476925 0.0022381717 0.0048210204 + 115000 0.004291679 0.0024672021 0.0045795128 + 115100 0.0033461379 0.0025738305 0.0042207577 + 115200 0.0047508507 0.0023793279 0.0047176372 + 115300 0.0045127302 0.0021958678 0.0044169772 + 115400 0.0042068752 0.0023957038 0.0044662752 + 115500 0.0037285941 0.0028463631 0.0046815305 + 115600 0.0041860224 0.0029260055 0.0049863134 + 115700 0.004168745 0.0027625036 0.0048143078 + 115800 0.0066204617 0.0020382981 0.0052968066 + 115900 0.0044148392 0.0023831315 0.0045560601 + 116000 0.0036425746 0.0027894567 0.0045822864 + 116100 0.0066123437 0.0025253525 0.0057798654 + 116200 0.0043932293 0.0025026014 0.004664894 + 116300 0.0056396985 0.0025709236 0.0053467127 + 116400 0.005249659 0.0024941895 0.005078006 + 116500 0.0048737354 0.0021327014 0.004531493 + 116600 0.0060342766 0.0020303848 0.0050003803 + 116700 0.0043521148 0.0023331204 0.004475177 + 116800 0.0046410869 0.002373728 0.0046580129 + 116900 0.0042897946 0.001961581 0.0040729643 + 117000 0.004750975 0.0015980869 0.0039364574 + 117100 0.0061153179 0.0014042146 0.0044140977 + 117200 0.0054286137 0.0022777892 0.004949685 + 117300 0.0048997545 0.0024122729 0.0048238708 + 117400 0.0049525901 0.0021413592 0.0045789621 + 117500 0.0060313513 0.0022504283 0.005218984 + 117600 0.0037243337 0.0021229818 0.0039560523 + 117700 0.0044672452 0.0022478248 0.004446547 + 117800 0.0063305931 0.0023211774 0.0054370162 + 117900 0.0046473976 0.0023775733 0.0046649643 + 118000 0.0057980765 0.0026267782 0.005480519 + 118100 0.0057644375 0.0022614293 0.0050986134 + 118200 0.0053759352 0.002184078 0.0048300461 + 118300 0.00350863 0.002208991 0.0039358949 + 118400 0.0044288284 0.001965456 0.0041452699 + 118500 0.0043770258 0.0023589102 0.0045132276 + 118600 0.0034849389 0.0028846954 0.0045999387 + 118700 0.0052191098 0.0031236261 0.0056924067 + 118800 0.0048827199 0.0031725471 0.0055757608 + 118900 0.0051153876 0.0028000437 0.0053177736 + 119000 0.0040971591 0.002313308 0.0043298784 + 119100 0.0057227038 0.001881064 0.0046977073 + 119200 0.0056176632 0.0020407526 0.0048056963 + 119300 0.0041188652 0.0022214132 0.0042486672 + 119400 0.0050258033 0.0023982737 0.0048719112 + 119500 0.0051708736 0.0023822894 0.0049273288 + 119600 0.0072497277 0.0017190797 0.005287305 + 119700 0.0049186695 0.0014997358 0.0039206434 + 119800 0.0046465176 0.0016186327 0.0039055906 + 119900 0.0035278697 0.0018591078 0.0035954811 + 120000 0.0040577145 0.0019211545 0.0039183108 + 120100 0.0057931299 0.0020505043 0.0049018104 + 120200 0.0054083879 0.0023873443 0.0050492853 + 120300 0.004472033 0.0032540249 0.0054551037 + 120400 0.0057364472 0.003440831 0.0062642387 + 120500 0.0044371632 0.0032682687 0.005452185 + 120600 0.0063617472 0.0027073182 0.0058384906 + 120700 0.0056331876 0.0024164048 0.0051889894 + 120800 0.0049574073 0.002579453 0.0050194269 + 120900 0.0063554724 0.0024675274 0.0055956115 + 121000 0.0050136393 0.0028690616 0.0053367122 + 121100 0.0057016186 0.0030473984 0.0058536638 + 121200 0.0034069274 0.0029406284 0.0046174755 + 121300 0.005908511 0.0024885791 0.0053966743 + 121400 0.0057957821 0.002047517 0.0049001285 + 121500 0.0044996932 0.0021861322 0.0044008249 + 121600 0.0049906281 0.0024747946 0.0049311194 + 121700 0.0060887065 0.002855947 0.0058527323 + 121800 0.004711195 0.0030064421 0.0053252333 + 121900 0.0049532559 0.0025154823 0.0049534129 + 122000 0.0059505907 0.0017859567 0.004714763 + 122100 0.0052105709 0.0018487319 0.0044133098 + 122200 0.0039354219 0.0023273716 0.0042643371 + 122300 0.005401392 0.0028101278 0.0054686255 + 122400 0.0056674886 0.0030709657 0.0058604328 + 122500 0.0061112212 0.0027812454 0.0057891121 + 122600 0.0047755166 0.0028547195 0.0052051691 + 122700 0.0041808644 0.0029896441 0.0050474133 + 122800 0.0077709546 0.0028883017 0.0067130684 + 122900 0.0042970339 0.0032379295 0.0053528759 + 123000 0.0075226296 0.0027071748 0.006409719 + 123100 0.005367627 0.0023276368 0.0049695157 + 123200 0.0041869074 0.0023193481 0.0043800916 + 123300 0.0041202043 0.0023587885 0.0043867016 + 123400 0.0056211685 0.0025252194 0.0052918882 + 123500 0.0043712009 0.0028400139 0.0049914644 + 123600 0.0037914677 0.0024664059 0.0043325189 + 123700 0.0038488631 0.0026006088 0.0044949711 + 123800 0.0031128641 0.0028649081 0.0043970209 + 123900 0.0044313471 0.0025276524 0.004708706 + 124000 0.0056320112 0.0027359714 0.0055079769 + 124100 0.0064750184 0.0027770805 0.0059640036 + 124200 0.0044987626 0.0032505587 0.0054647935 + 124300 0.006510302 0.0031229655 0.0063272547 + 124400 0.006619952 0.0029509754 0.006209233 + 124500 0.0047679095 0.0029512296 0.005297935 + 124600 0.0047701325 0.002816422 0.0051642216 + 124700 0.006678067 0.0028511954 0.0061380565 + 124800 0.0060663232 0.0024223656 0.0054081341 + 124900 0.003844719 0.0026911177 0.0045834404 + 125000 0.0041647942 0.0031817005 0.0052315602 + 125100 0.0050881992 0.0028574448 0.0053617929 + 125200 0.0037529619 0.0024375219 0.0042846828 + 125300 0.0050005985 0.002394114 0.0048553461 + 125400 0.0052503824 0.0023653029 0.0049494755 + 125500 0.0048088113 0.0025903931 0.0049572299 + 125600 0.0038505247 0.0025145197 0.0044096998 + 125700 0.0040790621 0.0026110609 0.0046187243 + 125800 0.0048334165 0.0025063267 0.0048852739 + 125900 0.0071298224 0.0023279068 0.0058371163 + 126000 0.0047556503 0.0025211966 0.0048618683 + 126100 0.0060659642 0.0024950479 0.0054806396 + 126200 0.0037014517 0.0031655455 0.0049873538 + 126300 0.0049728628 0.0035461648 0.0059937457 + 126400 0.0041408641 0.0035428252 0.0055809067 + 126500 0.0038449795 0.0033059564 0.0051984072 + 126600 0.0066626245 0.002801587 0.0060808475 + 126700 0.0049966227 0.0029878413 0.0054471166 + 126800 0.0047933269 0.0034440127 0.0058032283 + 126900 0.0069443863 0.0029671072 0.0063850473 + 127000 0.006278224 0.0028666475 0.0059567109 + 127100 0.0053949188 0.002669936 0.0053252476 + 127200 0.005096313 0.0020292732 0.0045376148 + 127300 0.004632969 0.0024694119 0.0047497013 + 127400 0.0040407222 0.0029519618 0.0049407547 + 127500 0.0067337362 0.0027864718 0.0061007326 + 127600 0.0048046858 0.002784265 0.0051490713 + 127700 0.0049217312 0.0028916068 0.0053140213 + 127800 0.0047809578 0.0027657663 0.0051188939 + 127900 0.0037821584 0.0027926455 0.0046541766 + 128000 0.0047841444 0.0030150198 0.0053697159 + 128100 0.0057148258 0.003019537 0.0058323029 + 128200 0.0049766972 0.0032299129 0.0056793811 + 128300 0.0053534075 0.0030153571 0.0056502374 + 128400 0.0040248704 0.0025979375 0.0045789284 + 128500 0.0052981287 0.0023984432 0.0050061159 + 128600 0.0057796888 0.0029875603 0.0058322509 + 128700 0.0072908316 0.0033206486 0.0069091048 + 128800 0.0050902396 0.0035021684 0.0060075207 + 128900 0.0058251458 0.0027165912 0.0055836552 + 129000 0.0048756176 0.0026574316 0.0050571496 + 129100 0.0046723639 0.0024646451 0.0047643242 + 129200 0.0038316242 0.0022505067 0.0041363842 + 129300 0.0060166322 0.0021926397 0.0051539509 + 129400 0.0057549304 0.0027197829 0.0055522877 + 129500 0.0028962582 0.0030377794 0.0044632815 + 129600 0.0038922573 0.0024899203 0.0044056407 + 129700 0.0042411643 0.0023759221 0.0044633702 + 129800 0.006548476 0.0023240161 0.0055470941 + 129900 0.0049729391 0.0028642532 0.0053118717 + 130000 0.0050890459 0.0028088299 0.0053135946 + 130100 0.0029038256 0.0027921066 0.0042213333 + 130200 0.0059512066 0.0027683475 0.005697457 + 130300 0.0051614526 0.00301503 0.0055554325 + 130400 0.004222731 0.003405594 0.0054839694 + 130500 0.0050986052 0.0028953762 0.0054048459 + 130600 0.0046849881 0.0026998659 0.0050057585 + 130700 0.0043345774 0.0026810714 0.0048144962 + 130800 0.0044094469 0.0026339556 0.0048042303 + 130900 0.0049347584 0.0027561296 0.005184956 + 131000 0.0050455262 0.002312234 0.0047955789 + 131100 0.0042198059 0.0022460696 0.0043230053 + 131200 0.0054589123 0.0027009148 0.0053877232 + 131300 0.004288358 0.0027913246 0.0049020008 + 131400 0.004764887 0.0024861655 0.0048313833 + 131500 0.0035330946 0.0021225872 0.0038615322 + 131600 0.0041490186 0.001770521 0.0038126161 + 131700 0.0038325307 0.0023784068 0.0042647305 + 131800 0.0039187208 0.0030081226 0.004936868 + 131900 0.0056226883 0.0027875838 0.0055550007 + 132000 0.0072295511 0.0024125427 0.0059708374 + 132100 0.0046347951 0.0027197012 0.0050008894 + 132200 0.0056619899 0.0031905621 0.0059773228 + 132300 0.0044276207 0.0030490221 0.0052282417 + 132400 0.005951752 0.0025991866 0.0055285645 + 132500 0.0061282756 0.0025352287 0.0055514893 + 132600 0.0055495961 0.0025212417 0.0052526835 + 132700 0.0048877637 0.0027421997 0.005147896 + 132800 0.0034509233 0.0027896644 0.0044881657 + 132900 0.005277937 0.0024213042 0.0050190389 + 133000 0.0051294936 0.002263101 0.0047877736 + 133100 0.0036120892 0.0022617565 0.0040395817 + 133200 0.004439563 0.0022846635 0.0044697609 + 133300 0.0035550703 0.0021552705 0.0039050317 + 133400 0.0056073403 0.002274687 0.0050345498 + 133500 0.0041909664 0.0025752587 0.004638 + 133600 0.0051610993 0.0023581062 0.0048983347 + 133700 0.0054679436 0.0020752744 0.0047665279 + 133800 0.0055609206 0.0021740809 0.0049110965 + 133900 0.0054706246 0.0022358669 0.0049284399 + 134000 0.0072174486 0.0022197526 0.0057720906 + 134100 0.0056280937 0.0020959985 0.0048660759 + 134200 0.00320157 0.0022067432 0.0037825159 + 134300 0.0036899818 0.0023298354 0.0041459984 + 134400 0.0046726079 0.0020348693 0.0043346685 + 134500 0.0057699374 0.0020992695 0.0049391606 + 134600 0.0046495065 0.0028228922 0.0051113212 + 134700 0.0055851509 0.0027449905 0.005493932 + 134800 0.0057087169 0.0024403493 0.0052501084 + 134900 0.0062368544 0.0025605615 0.0056302633 + 135000 0.0047129051 0.002878744 0.0051983769 + 135100 0.0067149977 0.0028027509 0.0061077889 + 135200 0.0060036119 0.0030845849 0.0060394876 + 135300 0.0047894219 0.0033706831 0.0057279767 + 135400 0.0059559832 0.0031160128 0.0060474733 + 135500 0.0043512947 0.0027041016 0.0048457544 + 135600 0.005859584 0.0025719437 0.0054559577 + 135700 0.0056721565 0.002248849 0.0050406136 + 135800 0.0032238519 0.0024688859 0.0040556255 + 135900 0.0059933399 0.0026121893 0.0055620363 + 136000 0.0056552632 0.0025388815 0.0053223314 + 136100 0.0050593197 0.0022617223 0.0047518562 + 136200 0.0050047211 0.0021421627 0.0046054238 + 136300 0.0045940525 0.0029279919 0.0051891272 + 136400 0.003724996 0.0033720961 0.0052054926 + 136500 0.0045012527 0.003297171 0.0055126313 + 136600 0.0060896246 0.0036641993 0.0066614364 + 136700 0.0049609583 0.0032629857 0.0057047073 + 136800 0.0040463819 0.0027778349 0.0047694135 + 136900 0.006408245 0.0025904147 0.0057444728 + 137000 0.0050540566 0.0026528671 0.0051404106 + 137100 0.0047870635 0.003245626 0.0056017587 + 137200 0.0074121915 0.0037180989 0.0073662869 + 137300 0.0052349364 0.0033878165 0.0059643867 + 137400 0.0058541837 0.0031318797 0.0060132358 + 137500 0.0040823976 0.0036330008 0.0056423059 + 137600 0.0053323801 0.0034120443 0.0060365752 + 137700 0.0067755067 0.0029591037 0.0062939235 + 137800 0.004991057 0.0031590074 0.0056155433 + 137900 0.0052144771 0.0027804173 0.0053469178 + 138000 0.0057173559 0.0025035738 0.0053175849 + 138100 0.0063300389 0.0026457222 0.0057612882 + 138200 0.0046665103 0.0026325565 0.0049293545 + 138300 0.0038463653 0.0027528063 0.0046459392 + 138400 0.0038282657 0.0023279826 0.0042122071 + 138500 0.004285187 0.0021769479 0.0042860634 + 138600 0.0036035568 0.0023719659 0.0041455915 + 138700 0.0037155657 0.0022815446 0.0041102996 + 138800 0.0067540559 0.0023474794 0.0056717413 + 138900 0.0052553201 0.0025828327 0.0051694356 + 139000 0.0048674684 0.0029406494 0.0053363565 + 139100 0.0059678472 0.0025270168 0.0054643166 + 139200 0.0031008877 0.0025340614 0.0040602796 + 139300 0.0061751052 0.0020039506 0.0050432602 + 139400 0.0060990107 0.0024530115 0.0054548683 + 139500 0.0053108621 0.0026250503 0.0052389903 + 139600 0.007318019 0.0025050101 0.0061068475 + 139700 0.0050636844 0.0023382691 0.0048305513 + 139800 0.0038298708 0.0027151808 0.0046001954 + 139900 0.0047285822 0.0028639871 0.0051913361 + 140000 0.0046841634 0.0029255187 0.0052310054 + 140100 0.0056061179 0.0031796896 0.0059389507 + 140200 0.0038705077 0.0027080388 0.0046130543 + 140300 0.0051424444 0.0026064153 0.0051374622 + 140400 0.0065045864 0.0027068243 0.0059083005 + 140500 0.0046017649 0.0027195837 0.0049845149 + 140600 0.0040298853 0.0031429802 0.0051264394 + 140700 0.0037369929 0.0034842423 0.0053235435 + 140800 0.0058948699 0.0031347601 0.0060361414 + 140900 0.0065136025 0.0026883729 0.0058942866 + 141000 0.0050676416 0.0023541001 0.00484833 + 141100 0.0053267963 0.0029896649 0.0056114474 + 141200 0.0046416643 0.0031167179 0.0054012871 + 141300 0.0051519915 0.0029593653 0.0054951112 + 141400 0.0048294707 0.0028335515 0.0052105566 + 141500 0.0052590565 0.0025592497 0.0051476915 + 141600 0.0043637556 0.0023779375 0.0045257234 + 141700 0.0051475278 0.0023975576 0.0049311064 + 141800 0.006713657 0.0025250403 0.0058294184 + 141900 0.0060193024 0.0025528064 0.0055154318 + 142000 0.004065715 0.0023551248 0.0043562189 + 142100 0.0041284712 0.0023653344 0.0043973163 + 142200 0.0054852282 0.00233491 0.0050346707 + 142300 0.0067942632 0.0019412508 0.0052853023 + 142400 0.0049805305 0.002606619 0.0050579738 + 142500 0.0048308913 0.0025076625 0.0048853668 + 142600 0.004614004 0.0023748148 0.0046457699 + 142700 0.0051328841 0.0025104499 0.0050367913 + 142800 0.0044062746 0.0021163207 0.004285034 + 142900 0.0040404159 0.0022546703 0.0042433125 + 143000 0.0065640881 0.0023586717 0.0055894338 + 143100 0.003516694 0.0025346147 0.0042654875 + 143200 0.007276868 0.0020486423 0.0056302258 + 143300 0.0046541822 0.0024620998 0.0047528301 + 143400 0.0056799685 0.0028777415 0.005673351 + 143500 0.0045914574 0.0029610551 0.005220913 + 143600 0.0055265034 0.0026883383 0.0054084142 + 143700 0.0057692562 0.0027838501 0.0056234059 + 143800 0.005251827 0.0030910286 0.0056759122 + 143900 0.005895299 0.0030406374 0.0059422299 + 144000 0.0059802117 0.0029996761 0.0059430615 + 144100 0.0057776726 0.0027359486 0.0055796468 + 144200 0.0063136629 0.0025318903 0.0056393963 + 144300 0.0050762109 0.0029654917 0.0054639392 + 144400 0.0064340233 0.0030450431 0.0062117889 + 144500 0.0039014963 0.0028079833 0.004728251 + 144600 0.0063785732 0.0026160555 0.0057555095 + 144700 0.0056440049 0.0028442142 0.0056221228 + 144800 0.0058923689 0.0026688125 0.0055689628 + 144900 0.0049193227 0.0027595818 0.0051808109 + 145000 0.0046421203 0.0028055789 0.0050903725 + 145100 0.0038722053 0.0028558462 0.0047616973 + 145200 0.0047170512 0.0026870237 0.0050086974 + 145300 0.003834807 0.0024850018 0.0043724459 + 145400 0.0047690841 0.0022338669 0.0045811505 + 145500 0.0037166949 0.002027839 0.0038571497 + 145600 0.0047000444 0.0020381383 0.0043514414 + 145700 0.0057814336 0.0016998888 0.0045454382 + 145800 0.0033900556 0.0016602961 0.0033288391 + 145900 0.0041450863 0.0019435152 0.0039836749 + 146000 0.0045887174 0.0019038834 0.0041623927 + 146100 0.0065125829 0.0021933647 0.0053987767 + 146200 0.0049932067 0.0024568665 0.0049144604 + 146300 0.0039152773 0.0027466834 0.0046737339 + 146400 0.0060507017 0.0028514257 0.0058295054 + 146500 0.0047387714 0.0029390682 0.0052714322 + 146600 0.0052024922 0.0028442935 0.0054048951 + 146700 0.0060052565 0.0023899495 0.0053456617 + 146800 0.0051683287 0.0023090933 0.0048528801 + 146900 0.0053436024 0.0022974242 0.0049274785 + 147000 0.0071639077 0.0024480552 0.005974041 + 147100 0.0065196954 0.002632821 0.0058417335 + 147200 0.0050609312 0.0027223509 0.005213278 + 147300 0.0057571621 0.0027745068 0.0056081101 + 147400 0.0053649115 0.0027177632 0.0053583056 + 147500 0.0045414889 0.0028874559 0.00512272 + 147600 0.0049332062 0.0031211521 0.0055492146 + 147700 0.0056962388 0.0029720779 0.0057756955 + 147800 0.0059606235 0.0027767006 0.005710445 + 147900 0.0072320549 0.0024933807 0.0060529078 + 148000 0.0045939467 0.00265624 0.0049173231 + 148100 0.0046023761 0.0027506387 0.0050158707 + 148200 0.0061995344 0.0030586875 0.0061100208 + 148300 0.0045765669 0.0030359713 0.0052885003 + 148400 0.005660659 0.0026315461 0.0054176517 + 148500 0.0052784394 0.0023206442 0.0049186261 + 148600 0.0049285188 0.0019616177 0.0043873731 + 148700 0.0046873725 0.0017461676 0.0040532337 + 148800 0.0040508611 0.0017552738 0.003749057 + 148900 0.0055427422 0.0017803286 0.0045083971 + 149000 0.0050605911 0.0019526318 0.0044433915 + 149100 0.0050969601 0.0020073586 0.0045160187 + 149200 0.0059374245 0.0019822838 0.0049046099 + 149300 0.0058870088 0.002030079 0.0049275911 + 149400 0.0054993195 0.0025284438 0.0052351401 + 149500 0.0049191244 0.0029002019 0.0053213335 + 149600 0.0057266649 0.0025645302 0.0053831231 + 149700 0.0055070722 0.0019129299 0.004623442 + 149800 0.0062900436 0.0017665204 0.0048624012 + 149900 0.0056877644 0.0023568921 0.0051563387 + 150000 0.0040633032 0.0024978653 0.0044977723 + 150100 0.0059065441 0.0025713664 0.0054784936 + 150200 0.0043786317 0.0022960291 0.0044511368 + 150300 0.0044678144 0.0023551093 0.0045541117 + 150400 0.0047664427 0.0030327699 0.0053787534 + 150500 0.0043626469 0.0032115727 0.005358813 + 150600 0.0055810764 0.0027438669 0.005490803 + 150700 0.0052176237 0.0021268922 0.0046949414 + 150800 0.0041288456 0.001970191 0.0040023572 + 150900 0.0055062279 0.0022251822 0.0049352788 + 151000 0.0045719801 0.0021531267 0.0044033981 + 151100 0.0055794305 0.0019287943 0.0046749203 + 151200 0.0049703667 0.0021704752 0.0046168275 + 151300 0.0036916574 0.0028849682 0.0047019559 + 151400 0.0058815715 0.0030944158 0.0059892517 + 151500 0.0048832927 0.002950691 0.0053541866 + 151600 0.0045976362 0.0026309069 0.004893806 + 151700 0.006120255 0.0020285213 0.0050408343 + 151800 0.0051372399 0.0021839875 0.0047124728 + 151900 0.0052042876 0.00240085 0.0049623353 + 152000 0.0050205716 0.0029259719 0.0053970345 + 152100 0.0058522251 0.0025955031 0.0054758952 + 152200 0.0042887877 0.0020095241 0.0041204118 + 152300 0.005330074 0.0018272849 0.0044506807 + 152400 0.00480544 0.0021606375 0.004525815 + 152500 0.0074797268 0.0021726001 0.0058540281 + 152600 0.0039565212 0.0023273415 0.0042746917 + 152700 0.0063912512 0.0022634526 0.0054091465 + 152800 0.0065790217 0.0019853118 0.005223424 + 152900 0.0050869368 0.0018109616 0.0043146883 + 153000 0.0070899745 0.0021123703 0.0056019671 + 153100 0.0037925084 0.0025104721 0.0043770974 + 153200 0.0042449525 0.0024655595 0.004554872 + 153300 0.0059961265 0.0020824899 0.0050337084 + 153400 0.0044138562 0.0019774571 0.004149902 + 153500 0.0053096128 0.0017418099 0.0043551349 + 153600 0.0042743405 0.001879478 0.003983255 + 153700 0.0067359596 0.0021980064 0.0055133615 + 153800 0.0055408257 0.0028711074 0.0055982326 + 153900 0.0057967511 0.0028049991 0.0056580876 + 154000 0.0070378351 0.0026033769 0.0060673114 + 154100 0.0050904115 0.0023128522 0.0048182891 + 154200 0.0071553266 0.0023426286 0.0058643909 + 154300 0.0058171174 0.0027082947 0.0055714072 + 154400 0.0049291425 0.0033458473 0.0057719096 + 154500 0.0048097717 0.0030533034 0.0054206129 + 154600 0.0075785535 0.0028909271 0.0066209964 + 154700 0.0036126655 0.0025970315 0.0043751403 + 154800 0.006061279 0.0022181966 0.0052014823 + 154900 0.0036169182 0.0022535085 0.0040337104 + 155000 0.0066066541 0.0020625025 0.005314215 + 155100 0.0043648438 0.0025657248 0.0047140463 + 155200 0.0049003929 0.0024141609 0.004826073 + 155300 0.0066730751 0.0025663091 0.0058507133 + 155400 0.0057846151 0.0027551201 0.0056022354 + 155500 0.0049225698 0.0027598451 0.0051826725 + 155600 0.004069593 0.0024696688 0.0044726716 + 155700 0.0049670105 0.0023122728 0.0047569733 + 155800 0.004701923 0.002148021 0.0044622487 + 155900 0.0049726636 0.0021941072 0.00464159 + 156000 0.004012041 0.0026518994 0.0046265758 + 156100 0.0035723047 0.0027119276 0.0044701713 + 156200 0.0048944322 0.0022870219 0.0046960002 + 156300 0.0044790987 0.0022607505 0.0044653069 + 156400 0.0037681326 0.0020707356 0.0039253634 + 156500 0.0038962953 0.0021613676 0.0040790754 + 156600 0.0048530822 0.0024600508 0.0048486772 + 156700 0.0053963457 0.0028032013 0.0054592152 + 156800 0.0048844591 0.0031611314 0.0055652011 + 156900 0.0068226061 0.00236135 0.0057193514 + 157000 0.0056876583 0.002456648 0.0052560423 + 157100 0.0047627014 0.0026931216 0.0050372637 + 157200 0.0046972571 0.0026466014 0.0049585326 + 157300 0.0050567087 0.002495932 0.0049847808 + 157400 0.0035624655 0.0027512197 0.0045046207 + 157500 0.0049063616 0.0026304156 0.0050452655 + 157600 0.0048010882 0.0025177335 0.0048807691 + 157700 0.0046076904 0.0023802712 0.0046481188 + 157800 0.0047613498 0.0026738143 0.0050172911 + 157900 0.0041881969 0.0027614712 0.0048228494 + 158000 0.0035935616 0.0029168835 0.0046855896 + 158100 0.0040061622 0.0028677451 0.0048395281 + 158200 0.0049728455 0.0025366116 0.004984184 + 158300 0.0053012414 0.0026293091 0.0052385138 + 158400 0.0049653937 0.0025138193 0.004957724 + 158500 0.0056274582 0.0024311565 0.005200921 + 158600 0.0050253217 0.0020865216 0.0045599221 + 158700 0.0048937323 0.0019749515 0.0043835853 + 158800 0.0054613692 0.0023358198 0.0050238375 + 158900 0.004625328 0.0021293997 0.0044059283 + 159000 0.0049608724 0.0019581014 0.0043997808 + 159100 0.0042975604 0.001813401 0.0039286065 + 159200 0.004007979 0.0018575257 0.0038302028 + 159300 0.0044807819 0.001919341 0.0041247258 + 159400 0.0035247127 0.0019541894 0.0036890089 + 159500 0.0047180245 0.0021532023 0.004475355 + 159600 0.0060139986 0.0022546591 0.005214674 + 159700 0.0034318228 0.0027334226 0.0044225229 + 159800 0.004857026 0.0023139283 0.0047044957 + 159900 0.0069916401 0.0020898519 0.0055310497 + 160000 0.0045818962 0.0025318923 0.0047870443 + 160100 0.0053253562 0.0025424674 0.0051635411 + 160200 0.0047916339 0.0026900881 0.0050484704 + 160300 0.0052348832 0.0027013373 0.0052778814 + 160400 0.0049859532 0.0026081746 0.0050621984 + 160500 0.0052201659 0.0021964198 0.0047657201 + 160600 0.0036651159 0.0020128449 0.0038167691 + 160700 0.0048709859 0.0018466158 0.0042440542 + 160800 0.006627867 0.0019662856 0.0052284389 + 160900 0.0043266125 0.0025279695 0.0046574741 + 161000 0.0044245664 0.0023871324 0.0045648487 + 161100 0.0041329709 0.0019688615 0.0040030581 + 161200 0.003846364 0.0023829855 0.0042761178 + 161300 0.0043839637 0.0027475765 0.0049053086 + 161400 0.0064710166 0.0028860966 0.0060710501 + 161500 0.0057036433 0.0028480773 0.0056553392 + 161600 0.0043459523 0.0026377332 0.0047767566 + 161700 0.0073058079 0.0024453325 0.0060411598 + 161800 0.0050609128 0.0028560094 0.0053469274 + 161900 0.004887756 0.0026446548 0.0050503472 + 162000 0.0075617163 0.0023839144 0.0061056966 + 162100 0.0057689049 0.0025047694 0.0053441523 + 162200 0.0045838307 0.0024136448 0.004669749 + 162300 0.0044540312 0.0021479755 0.004340194 + 162400 0.0048578866 0.0017214838 0.0041124749 + 162500 0.0041754591 0.0017337166 0.0037888254 + 162600 0.0046655816 0.0017788833 0.0040752242 + 162700 0.0055272708 0.0020256211 0.0047460747 + 162800 0.0049871135 0.0023953587 0.0048499536 + 162900 0.0058831999 0.0019619296 0.004857567 + 163000 0.0058358671 0.0017928747 0.0046652156 + 163100 0.0037075099 0.0018195836 0.0036443736 + 163200 0.0045824458 0.0017214233 0.0039768459 + 163300 0.0046740031 0.0018998972 0.0042003831 + 163400 0.0061252749 0.0024023533 0.005417137 + 163500 0.0058329728 0.0023640534 0.0052349697 + 163600 0.0056629825 0.0024562254 0.0052434747 + 163700 0.0045043298 0.002524817 0.0047417919 + 163800 0.006520856 0.0025508284 0.0057603122 + 163900 0.0046895637 0.0028482818 0.0051564264 + 164000 0.0063727699 0.0028461265 0.0059827242 + 164100 0.0072127749 0.0020941392 0.0056441769 + 164200 0.0049270053 0.0018662336 0.004291244 + 164300 0.0049993373 0.0017534565 0.0042140678 + 164400 0.0046943021 0.0018510102 0.004161487 + 164500 0.0052074774 0.0018782512 0.0044413065 + 164600 0.0056074789 0.0019756211 0.0047355521 + 164700 0.0050911148 0.0021591126 0.0046648956 + 164800 0.0049991449 0.0025027994 0.0049633161 + 164900 0.0073525565 0.0025799205 0.0061987569 + 165000 0.0048121021 0.0024706973 0.0048391538 + 165100 0.005524344 0.0024716576 0.0051906707 + 165200 0.0052685784 0.0022100267 0.0048031552 + 165300 0.0044971001 0.0019953906 0.004208807 + 165400 0.005100979 0.0021059179 0.0046165559 + 165500 0.0040575225 0.0023336897 0.0043307516 + 165600 0.0038918738 0.0025639854 0.004479517 + 165700 0.0051465714 0.0021657196 0.0046987977 + 165800 0.0061822505 0.0016470318 0.0046898582 + 165900 0.0063303416 0.0014378917 0.0045536067 + 166000 0.0054264257 0.0017100199 0.0043808388 + 166100 0.004349781 0.0023426964 0.0044836043 + 166200 0.0049066658 0.0024949134 0.004909913 + 166300 0.0040176584 0.0020554523 0.0040328936 + 166400 0.0046246853 0.0022087886 0.0044850009 + 166500 0.0070682051 0.0022058492 0.0056847314 + 166600 0.0055349229 0.0019238282 0.0046480481 + 166700 0.0043578158 0.0019355173 0.0040803798 + 166800 0.0047413261 0.0023332956 0.0046669171 + 166900 0.0053527634 0.0020351239 0.0046696872 + 167000 0.0052364061 0.0017401564 0.0043174501 + 167100 0.0053651494 0.0018747937 0.0045154531 + 167200 0.0052888317 0.0026672339 0.0052703308 + 167300 0.0050726371 0.0028682798 0.0053649684 + 167400 0.003677792 0.0023844951 0.0041946584 + 167500 0.0053201652 0.0020006082 0.004619127 + 167600 0.004544796 0.0020132012 0.004250093 + 167700 0.0058567705 0.0020572976 0.0049399268 + 167800 0.0035784184 0.0023080577 0.0040693106 + 167900 0.0039790572 0.0021859386 0.0041443808 + 168000 0.0045600905 0.0018777913 0.0041222109 + 168100 0.0036832321 0.0023875818 0.0042004227 + 168200 0.0048776744 0.0024996797 0.0049004101 + 168300 0.0053292789 0.0026748888 0.0052978932 + 168400 0.0036995894 0.0026349365 0.0044558281 + 168500 0.0062535501 0.0020514616 0.0051293809 + 168600 0.0049770649 0.0019781783 0.0044278274 + 168700 0.0045961011 0.0022477077 0.0045098512 + 168800 0.005663714 0.0025628908 0.0053505001 + 168900 0.0055292611 0.002352109 0.0050735422 + 169000 0.0046436978 0.0022098576 0.0044954276 + 169100 0.0041333651 0.0020241907 0.0040585813 + 169200 0.0037197293 0.0024016937 0.004232498 + 169300 0.005489457 0.0024605161 0.0051623582 + 169400 0.0040865096 0.0026496824 0.0046610114 + 169500 0.0040373825 0.0026353905 0.0046225396 + 169600 0.0034674041 0.0023267865 0.0040333995 + 169700 0.0059029064 0.002017751 0.0049230878 + 169800 0.0046989578 0.002650261 0.0049630293 + 169900 0.0036133101 0.0031956684 0.0049740945 + 170000 0.0053628981 0.0024685505 0.0051081019 + 170100 0.0061608451 0.0019685258 0.0050008168 + 170200 0.0047571172 0.0020772106 0.0044186042 + 170300 0.0055534355 0.0019430253 0.0046763568 + 170400 0.0057422237 0.0019967064 0.0048229571 + 170500 0.0052788553 0.0022124737 0.0048106603 + 170600 0.004586182 0.0018828529 0.0041401143 + 170700 0.0047478216 0.0019445734 0.0042813918 + 170800 0.0040305399 0.0025672056 0.004550987 + 170900 0.0057189788 0.0021522978 0.0049671077 + 171000 0.0049629948 0.0019913638 0.0044340878 + 171100 0.0053121838 0.0020424918 0.0046570822 + 171200 0.0052132895 0.0019396927 0.0045056087 + 171300 0.0059575306 0.0021419452 0.0050741672 + 171400 0.006214123 0.0028038074 0.0058623211 + 171500 0.0048343055 0.0030135182 0.005392903 + 171600 0.0041593422 0.0030681451 0.0051153214 + 171700 0.0053209585 0.0025819887 0.005200898 + 171800 0.00301784 0.0025028146 0.0039881578 + 171900 0.0052223272 0.0025128108 0.005083175 + 172000 0.0039693658 0.002487965 0.0044416373 + 172100 0.0054053735 0.0023729125 0.0050333698 + 172200 0.0061139551 0.0024945771 0.0055037894 + 172300 0.0065982303 0.0026244557 0.0058720222 + 172400 0.0044461568 0.0031227546 0.0053110974 + 172500 0.0045374438 0.0030506348 0.0052839079 + 172600 0.0048310711 0.002667172 0.0050449649 + 172700 0.0047433722 0.0024186416 0.00475327 + 172800 0.0050026524 0.002798637 0.00526088 + 172900 0.0054883234 0.0031020136 0.0058032978 + 173000 0.0039163405 0.0031224461 0.0050500199 + 173100 0.0050517875 0.0027021584 0.0051885851 + 173200 0.0050566296 0.0021681634 0.0046569733 + 173300 0.0036273553 0.0020996555 0.0038849945 + 173400 0.0042698436 0.0020779564 0.0041795201 + 173500 0.0044170938 0.0020961149 0.0042701533 + 173600 0.0041224682 0.0018911372 0.0039201645 + 173700 0.0047891012 0.0017303651 0.0040875009 + 173800 0.004100556 0.0017392489 0.0037574913 + 173900 0.0037423726 0.0019070066 0.0037489556 + 174000 0.0048682515 0.0020535707 0.0044496633 + 174100 0.003646044 0.0021295261 0.0039240634 + 174200 0.0050172914 0.0020854307 0.0045548788 + 174300 0.0051566865 0.0023028563 0.004840913 + 174400 0.0052841038 0.0024630354 0.0050638053 + 174500 0.004490522 0.0022349459 0.0044451247 + 174600 0.0047782341 0.0020849184 0.0044367055 + 174700 0.0040964372 0.0024977226 0.0045139378 + 174800 0.0040551893 0.0025963858 0.0045922993 + 174900 0.0059994098 0.0021935499 0.0051463845 + 175000 0.0065729476 0.0021281108 0.0053632334 + 175100 0.0049796021 0.0016327698 0.0040836677 + 175200 0.0042227705 0.0016724506 0.0037508455 + 175300 0.0044238664 0.0019777182 0.0041550899 + 175400 0.0061949884 0.001707499 0.0047565949 + 175500 0.0043817437 0.0017329954 0.0038896349 + 175600 0.0044265344 0.0021545832 0.0043332681 + 175700 0.0047536219 0.0020801393 0.0044198126 + 175800 0.005704211 0.0020559587 0.0048635 + 175900 0.0046785331 0.0022904666 0.0045931821 + 176000 0.0034089204 0.0022107383 0.0038885663 + 176100 0.0045071064 0.0021344055 0.0043527469 + 176200 0.005613267 0.0018453411 0.0046081209 + 176300 0.0056495081 0.0016542671 0.0044348844 + 176400 0.0046394758 0.0024333497 0.0047168416 + 176500 0.0069611352 0.0023052451 0.0057314288 + 176600 0.00483255 0.0024479322 0.0048264529 + 176700 0.0034912079 0.0024137278 0.0041320567 + 176800 0.0051365409 0.0021038756 0.0046320168 + 176900 0.0058711759 0.0022695046 0.0051592239 + 177000 0.0047640289 0.002532547 0.0048773424 + 177100 0.0053943745 0.0024351039 0.0050901476 + 177200 0.00386933 0.0027150553 0.0046194912 + 177300 0.0048801683 0.0024310324 0.0048329902 + 177400 0.0049975809 0.0028054134 0.0052651603 + 177500 0.0053986777 0.0031848207 0.0058419824 + 177600 0.004805723 0.0026165852 0.004981902 + 177700 0.0065635799 0.0025133608 0.0057438728 + 177800 0.0033628824 0.0026449453 0.004300114 + 177900 0.0047631895 0.0025551761 0.0048995584 + 178000 0.0060088141 0.0023785052 0.0053359683 + 178100 0.0063254964 0.0023370019 0.0054503322 + 178200 0.0057124108 0.0031303054 0.0059418826 + 178300 0.005123675 0.0038711114 0.0063929202 + 178400 0.0030555371 0.0037363059 0.005240203 + 178500 0.0047061112 0.0027637771 0.0050800662 + 178600 0.0048588126 0.0023288757 0.0047203225 + 178700 0.0053281264 0.0021882143 0.0048106515 + 178800 0.0052294455 0.0022595207 0.0048333884 + 178900 0.0041615502 0.0020373922 0.0040856552 + 179000 0.004428132 0.0021075527 0.0042870239 + 179100 0.0037152765 0.0019860589 0.0038146715 + 179200 0.0049731731 0.0018360222 0.0042837558 + 179300 0.0042773946 0.0022274504 0.0043327306 + 179400 0.0046810595 0.0019552727 0.0042592317 + 179500 0.0058305835 0.0017417261 0.0046114664 + 179600 0.0058480135 0.00189033 0.0047686491 + 179700 0.0049242416 0.002069512 0.0044931622 + 179800 0.0033260189 0.0025168914 0.0041539163 + 179900 0.0051746784 0.0021788731 0.0047257852 + 180000 0.0040196775 0.0016545892 0.0036330242 + 180100 0.0048295889 0.0015275207 0.003904584 + 180200 0.0043740754 0.0018049372 0.0039578024 + 180300 0.0035676308 0.0021859754 0.0039419187 + 180400 0.0057953096 0.0019296322 0.0047820111 + 180500 0.0044506249 0.0021893219 0.0043798638 + 180600 0.0049140423 0.0022269566 0.0046455867 + 180700 0.0047712139 0.0021436328 0.0044919646 + 180800 0.0045407452 0.0024161174 0.0046510154 + 180900 0.0053600713 0.002771809 0.005409969 + 181000 0.004434367 0.0026187908 0.0048013307 + 181100 0.0071169343 0.0023010471 0.0058039132 + 181200 0.004285378 0.0019717332 0.0040809427 + 181300 0.0041564306 0.0022597755 0.0043055187 + 181400 0.0053792166 0.0023339319 0.004981515 + 181500 0.0051305197 0.0024697858 0.0049949634 + 181600 0.0051295553 0.0025783593 0.0051030623 + 181700 0.009124747 0.0020825581 0.0065736445 + 181800 0.0047726843 0.0021801695 0.004529225 + 181900 0.0059808113 0.0020797918 0.0050234723 + 182000 0.0051825644 0.0022786675 0.004829461 + 182100 0.0050588588 0.0020712119 0.0045611189 + 182200 0.0062617528 0.0019050456 0.0049870021 + 182300 0.005109916 0.0027709936 0.0052860304 + 182400 0.0051822025 0.0031720051 0.0057226204 + 182500 0.0052780941 0.0027301085 0.0053279204 + 182600 0.0061596153 0.0025281391 0.0055598247 + 182700 0.0045751785 0.0032274056 0.0054792513 + 182800 0.0049043855 0.0028058466 0.0052197239 + 182900 0.0045887427 0.0022676583 0.0045261801 + 183000 0.0044753868 0.0019190827 0.0041218121 + 183100 0.0054517901 0.0019729475 0.0046562504 + 183200 0.0039342381 0.0025168143 0.0044531971 + 183300 0.0057890057 0.0027806477 0.005629924 + 183400 0.0036536159 0.0023044945 0.0041027586 + 183500 0.0053228603 0.0023476772 0.0049675225 + 183600 0.0052981316 0.0020753827 0.0046830569 + 183700 0.0062605211 0.0016048064 0.0046861566 + 183800 0.0049081239 0.0017252993 0.0041410165 + 183900 0.0057950751 0.0018612511 0.0047135147 + 184000 0.0063049269 0.0016872024 0.0047904086 + 184100 0.0042631014 0.0018950664 0.0039933116 + 184200 0.0047372243 0.0024578143 0.0047894169 + 184300 0.0053135723 0.0025455874 0.0051608612 + 184400 0.0038799938 0.0025098987 0.0044195832 + 184500 0.0045957427 0.0025714652 0.0048334324 + 184600 0.0067499861 0.0023078239 0.0056300827 + 184700 0.0047108752 0.0023209042 0.0046395381 + 184800 0.0049793386 0.0023064359 0.0047572041 + 184900 0.0050227224 0.0023910147 0.0048631359 + 185000 0.0042363105 0.0024464388 0.0045314979 + 185100 0.00740465 0.002053654 0.0056981302 + 185200 0.0044881728 0.0023690322 0.0045780547 + 185300 0.004517252 0.0026305967 0.0048539317 + 185400 0.0048224464 0.0030154052 0.005388953 + 185500 0.0042217705 0.0024790573 0.00455696 + 185600 0.0057903525 0.0023386591 0.0051885982 + 185700 0.0063881358 0.0030633771 0.0062075376 + 185800 0.0056718967 0.0036215638 0.0064132005 + 185900 0.0047302451 0.0033010317 0.0056291992 + 186000 0.005203559 0.0023262793 0.004887406 + 186100 0.0032175832 0.0022258041 0.0038094584 + 186200 0.0033506874 0.0023935202 0.0040426867 + 186300 0.0056397707 0.0025183023 0.0052941269 + 186400 0.0049725471 0.00284336 0.0052907855 + 186500 0.0066831373 0.0028567372 0.0061460938 + 186600 0.0057502365 0.0026832031 0.0055133976 + 186700 0.0044696376 0.0026444162 0.004844316 + 186800 0.0044932944 0.0019395356 0.004151079 + 186900 0.0046353455 0.0018717352 0.0041531943 + 187000 0.005669231 0.0022282147 0.0050185394 + 187100 0.0065580156 0.0025604875 0.0057882608 + 187200 0.0049545514 0.0022997772 0.0047383455 + 187300 0.0052254104 0.0023301278 0.0049020095 + 187400 0.0049236313 0.0023556567 0.0047790065 + 187500 0.0049793641 0.0022683903 0.0047191711 + 187600 0.0044811794 0.0017970363 0.0040026168 + 187700 0.0034976653 0.0018531272 0.0035746344 + 187800 0.0035191021 0.0019180821 0.0036501402 + 187900 0.0044275647 0.0022800765 0.0044592685 + 188000 0.0052082732 0.0027710913 0.0053345382 + 188100 0.0044241932 0.0030186278 0.0051961603 + 188200 0.0045787244 0.0024479479 0.0047015388 + 188300 0.004634167 0.0021515401 0.0044324191 + 188400 0.004167344 0.0020327636 0.0040838782 + 188500 0.0043919582 0.0021576481 0.004319315 + 188600 0.005322047 0.002064414 0.004683859 + 188700 0.0061529318 0.0020282018 0.0050565979 + 188800 0.0032070569 0.0022023773 0.0037808506 + 188900 0.0053872432 0.0019923792 0.004643913 + 189000 0.0045016806 0.0021488207 0.0043644916 + 189100 0.0057274129 0.0022466839 0.0050656449 + 189200 0.0046221949 0.0021069141 0.0043819007 + 189300 0.0068490993 0.0019226229 0.005293664 + 189400 0.0037350971 0.0022583555 0.0040967236 + 189500 0.003885258 0.0021444394 0.0040567149 + 189600 0.0046976325 0.002503803 0.004815919 + 189700 0.0048606634 0.0024978715 0.0048902293 + 189800 0.003433156 0.0021227889 0.0038125454 + 189900 0.0037856576 0.0022632313 0.0041264846 + 190000 0.0056254693 0.0024565838 0.0052253694 + 190100 0.0044766869 0.0023167453 0.0045201146 + 190200 0.0070538823 0.0022203604 0.0056921931 + 190300 0.0065013101 0.0022362545 0.0054361181 + 190400 0.0054918463 0.0021174997 0.0048205179 + 190500 0.0043990819 0.0022698655 0.0044350386 + 190600 0.0043012959 0.0023794308 0.0044964749 + 190700 0.0055971591 0.0023693936 0.0051242454 + 190800 0.0045773608 0.0024611651 0.0047140848 + 190900 0.0052964741 0.0024180061 0.0050248644 + 191000 0.0050287916 0.002092457 0.0045675654 + 191100 0.0056337201 0.0022029358 0.0049757824 + 191200 0.0033560932 0.0025174468 0.0041692739 + 191300 0.0044463779 0.0024772054 0.004665657 + 191400 0.0047705366 0.0023694483 0.0047174468 + 191500 0.0051969542 0.0021932209 0.0047510968 + 191600 0.0053674342 0.0023989609 0.0050407449 + 191700 0.0052798798 0.0023126525 0.0049113433 + 191800 0.0045860385 0.0020829852 0.004340176 + 191900 0.0045687607 0.0020453302 0.0042940171 + 192000 0.0063496622 0.002374989 0.0055002134 + 192100 0.0053699797 0.0020497046 0.0046927415 + 192200 0.004333292 0.002095074 0.0042278662 + 192300 0.0063626022 0.0022385443 0.0053701376 + 192400 0.0057531456 0.0031913241 0.0060229505 + 192500 0.0057794668 0.0032200226 0.0060646039 + 192600 0.0066419351 0.0029578844 0.0062269619 + 192700 0.0072512743 0.0029194062 0.0064883928 + 192800 0.0041357556 0.0028900502 0.0049256174 + 192900 0.0040896636 0.0025366207 0.004549502 + 193000 0.0046796306 0.0027052001 0.0050084558 + 193100 0.0062739864 0.0022782079 0.0053661856 + 193200 0.0048617253 0.0023235562 0.0047164366 + 193300 0.0062369691 0.0020696454 0.0051394036 + 193400 0.004256416 0.001924225 0.0040191797 + 193500 0.0057754498 0.0020574176 0.0049000219 + 193600 0.0056877426 0.0022726429 0.0050720787 + 193700 0.005256276 0.0029808507 0.005567924 + 193800 0.004945056 0.0028183792 0.0052522739 + 193900 0.0042030795 0.0022309003 0.0042996035 + 194000 0.0043105551 0.0017612245 0.0038828259 + 194100 0.0041899101 0.0015768691 0.0036390905 + 194200 0.0043291821 0.0016591278 0.0037898972 + 194300 0.0044585655 0.0015293406 0.0037237908 + 194400 0.0053153199 0.0018284505 0.0044445845 + 194500 0.0061449818 0.0020592782 0.0050837615 + 194600 0.0061376146 0.0026356104 0.0056564675 + 194700 0.0056698285 0.0026079796 0.0053985983 + 194800 0.0064004851 0.0031548317 0.0063050704 + 194900 0.0053617929 0.0035448699 0.0061838773 + 195000 0.0045282291 0.0027882956 0.0050170334 + 195100 0.0059081249 0.0027889328 0.005696838 + 195200 0.0032729464 0.0025447778 0.0041556811 + 195300 0.0042985832 0.002524723 0.0046404319 + 195400 0.0047661351 0.0023914788 0.0047373109 + 195500 0.0038593606 0.00238978 0.004289309 + 195600 0.005075743 0.0024251201 0.0049233374 + 195700 0.0045398143 0.0022220348 0.0044564746 + 195800 0.004937009 0.0017655956 0.0041955298 + 195900 0.0060583299 0.0019017701 0.0048836044 + 196000 0.0076291999 0.0027184432 0.00647344 + 196100 0.0061440581 0.0030237989 0.0060478275 + 196200 0.0060455899 0.0030641276 0.0060396913 + 196300 0.0058385045 0.00273602 0.005609659 + 196400 0.0055596615 0.0028144818 0.0055508776 + 196500 0.004697577 0.0026391329 0.0049512215 + 196600 0.005737456 0.0019909962 0.0048149003 + 196700 0.0054136171 0.0022208007 0.0048853154 + 196800 0.0048088201 0.0027594425 0.0051262836 + 196900 0.0055985364 0.0026448882 0.0054004179 + 197000 0.0044740806 0.0024931522 0.0046952387 + 197100 0.0041001315 0.0027948555 0.004812889 + 197200 0.0038338796 0.0031093612 0.0049963488 + 197300 0.0062949104 0.0027018131 0.0058000893 + 197400 0.0047446356 0.0029366982 0.0052719485 + 197500 0.0057944843 0.0027999689 0.0056519416 + 197600 0.0053559467 0.0024977472 0.0051338773 + 197700 0.0048897126 0.0020364402 0.0044430956 + 197800 0.0059481337 0.002160028 0.0050876251 + 197900 0.005345526 0.0025859299 0.005216931 + 198000 0.0047040647 0.0026455784 0.0049608602 + 198100 0.0056515831 0.0025990005 0.0053806391 + 198200 0.0048142535 0.0028615487 0.0052310641 + 198300 0.0043242099 0.0031347877 0.0052631097 + 198400 0.005807058 0.0027468337 0.0056049951 + 198500 0.0061511925 0.0027441751 0.0057717152 + 198600 0.0053996441 0.0023009638 0.0049586012 + 198700 0.0066572726 0.0024529527 0.0057295791 + 198800 0.0043062101 0.0029815024 0.0051009651 + 198900 0.0047533396 0.0031481027 0.0054876371 + 199000 0.0050250906 0.0026846351 0.0051579219 + 199100 0.0044296701 0.0026991238 0.004879352 + 199200 0.004750793 0.0030099909 0.0053482719 + 199300 0.0063902038 0.0026691129 0.0058142913 + 199400 0.0035302494 0.0029283298 0.0046658745 + 199500 0.0053457865 0.0026855497 0.0053166789 + 199600 0.004942038 0.0022475159 0.0046799252 + 199700 0.0044123628 0.0021423566 0.0043140664 + 199800 0.0051721474 0.0025822506 0.0051279169 + 199900 0.0067216405 0.0027738371 0.0060821445 + 200000 0.0041999242 0.0033280621 0.0053952123 + 200100 0.0053853215 0.0028134835 0.0054640715 + 200200 0.0070326806 0.0023628302 0.0058242277 + 200300 0.0064740704 0.002282518 0.0054689746 + 200400 0.0055416572 0.0024834017 0.0052109361 + 200500 0.004109526 0.0019832724 0.0040059297 + 200600 0.0044651691 0.0017090321 0.0039067325 + 200700 0.0038325448 0.0018320484 0.003718379 + 200800 0.0049511768 0.0024366153 0.0048735226 + 200900 0.0041947457 0.0029313781 0.0049959795 + 201000 0.0063873725 0.0022336584 0.0053774433 + 201100 0.0069929335 0.002034948 0.0054767825 + 201200 0.0050143912 0.0021640919 0.0046321126 + 201300 0.0050905906 0.0016847499 0.004190275 + 201400 0.0049727172 0.0016768572 0.0041243664 + 201500 0.0046479509 0.0019203048 0.0042079682 + 201600 0.0047688674 0.0018733406 0.0042205175 + 201700 0.004804047 0.0020160994 0.0043805913 + 201800 0.0054441503 0.002052441 0.0047319837 + 201900 0.0051429261 0.001669314 0.004200598 + 202000 0.0049024111 0.0016081589 0.0040210644 + 202100 0.0042113786 0.0019490637 0.0040218515 + 202200 0.004111462 0.0022001332 0.0042237434 + 202300 0.0046680541 0.0026443269 0.0049418848 + 202400 0.0036635719 0.0023805656 0.0041837299 + 202500 0.0054525369 0.0020080216 0.0046916921 + 202600 0.005937081 0.0023620036 0.0052841606 + 202700 0.0051676288 0.0029471165 0.0054905588 + 202800 0.004759393 0.0027313526 0.0050738664 + 202900 0.0057345927 0.0024192778 0.0052417726 + 203000 0.0047367148 0.0025740525 0.0049054043 + 203100 0.0057929086 0.002468494 0.0053196912 + 203200 0.0054904975 0.0020961964 0.0047985507 + 203300 0.0063134233 0.0021722452 0.0052796332 + 203400 0.0051885883 0.0028214429 0.0053752012 + 203500 0.0044270709 0.0029040288 0.0050829778 + 203600 0.0046992443 0.0021915657 0.004504475 + 203700 0.0059437513 0.0025333722 0.0054588123 + 203800 0.0053737015 0.002810977 0.0054558457 + 203900 0.0066920242 0.0024644919 0.0057582226 + 204000 0.006243038 0.0025903378 0.005663083 + 204100 0.0056129344 0.0025774994 0.0053401156 + 204200 0.0048078247 0.0023617848 0.004728136 + 204300 0.0039033054 0.0025607926 0.0044819507 + 204400 0.0045629641 0.0020741264 0.0043199603 + 204500 0.0033175956 0.001717367 0.0033502461 + 204600 0.0040958831 0.0019772267 0.0039931692 + 204700 0.0039958114 0.0024394696 0.004406158 + 204800 0.0048196769 0.0023969146 0.0047690993 + 204900 0.0051131635 0.0022316528 0.004748288 + 205000 0.0059828248 0.0021182188 0.0050628904 + 205100 0.0051022085 0.0026633045 0.0051745477 + 205200 0.0052887323 0.00292452 0.0055275679 + 205300 0.0062273339 0.0027976118 0.0058626277 + 205400 0.0051367864 0.0024056458 0.0049339079 + 205500 0.0055875058 0.0027185751 0.0054686757 + 205600 0.00468734 0.0030357362 0.0053427864 + 205700 0.0054954466 0.0029601312 0.0056649213 + 205800 0.0048609678 0.0030414698 0.0054339774 + 205900 0.0054288731 0.0034074542 0.0060794777 + 206000 0.0051448428 0.0036281669 0.0061603942 + 206100 0.0048684587 0.0030152249 0.0054114194 + 206200 0.0052992523 0.0021403745 0.0047486002 + 206300 0.0048983015 0.0024127494 0.0048236322 + 206400 0.0045774258 0.0024722444 0.0047251962 + 206500 0.0047342701 0.0022539591 0.0045841077 + 206600 0.0035954723 0.0022302778 0.0039999244 + 206700 0.0047492822 0.002494433 0.0048319703 + 206800 0.0044127539 0.0030415744 0.0052134767 + 206900 0.0070963809 0.0027009435 0.0061936935 + 207000 0.0046251506 0.0026018927 0.004878334 + 207100 0.0050813155 0.0027401742 0.0052411342 + 207200 0.0047673375 0.0023453195 0.0046917434 + 207300 0.0037448637 0.0021069549 0.00395013 + 207400 0.0039488791 0.0019467734 0.0038903624 + 207500 0.0035155969 0.0015758529 0.0033061858 + 207600 0.0056508505 0.0018424313 0.0046237093 + 207700 0.0052555391 0.0025433071 0.0051300177 + 207800 0.0042075733 0.0023281315 0.0043990465 + 207900 0.0042010999 0.0021518 0.0042195288 + 208000 0.0044481116 0.0022338561 0.004423161 + 208100 0.0051551973 0.0021666464 0.0047039701 + 208200 0.0053914538 0.0023752575 0.0050288637 + 208300 0.0053525975 0.0026841155 0.0053185971 + 208400 0.0060511996 0.0031570164 0.0061353412 + 208500 0.0051730288 0.002940035 0.0054861351 + 208600 0.0052149457 0.003216135 0.0057828661 + 208700 0.004828151 0.0031983072 0.0055746628 + 208800 0.0044526029 0.0028915398 0.0050830553 + 208900 0.0040981326 0.0024623903 0.0044794399 + 209000 0.0058089547 0.0022475677 0.0051066626 + 209100 0.0057334283 0.0022034171 0.0050253388 + 209200 0.0063096948 0.0024183518 0.0055239047 + 209300 0.0039976111 0.0022370908 0.004204665 + 209400 0.0055610622 0.0021147052 0.0048517905 + 209500 0.0053008893 0.0023916369 0.0050006683 + 209600 0.0070691985 0.0019004331 0.0053798043 + 209700 0.0062931622 0.0021488898 0.0052463056 + 209800 0.0048644074 0.0021023193 0.0044965198 + 209900 0.003924071 0.0026411717 0.0045725504 + 210000 0.0063880485 0.0028103649 0.0059544825 + 210100 0.0057982449 0.0028924307 0.0057462544 + 210200 0.0047734612 0.0030308233 0.0053802612 + 210300 0.0054816582 0.0027751167 0.0054731203 + 210400 0.0052958465 0.0024222574 0.0050288069 + 210500 0.0057722258 0.0023469976 0.0051880149 + 210600 0.0035149635 0.0023618861 0.0040919072 + 210700 0.0058076782 0.0025043674 0.005362834 + 210800 0.004459559 0.0021467134 0.0043416526 + 210900 0.0044791566 0.0024051969 0.0046097818 + 211000 0.0042569465 0.0027750241 0.00487024 + 211100 0.0055279109 0.0026435626 0.0053643313 + 211200 0.004493039 0.0027203652 0.0049317828 + 211300 0.0046735215 0.0029132749 0.0052135237 + 211400 0.0050920638 0.0026008955 0.0051071457 + 211500 0.0049222996 0.0023215203 0.0047442147 + 211600 0.0050756892 0.0022876547 0.0047858455 + 211700 0.0065229765 0.0023501437 0.0055606712 + 211800 0.0054191296 0.0026280366 0.0052952645 + 211900 0.0050024632 0.0026274652 0.0050896151 + 212000 0.00590247 0.0025616998 0.0054668217 + 212100 0.0048186591 0.0023566123 0.004728296 + 212200 0.0054431288 0.0021070132 0.0047860532 + 212300 0.0063542075 0.00227693 0.0054043915 + 212400 0.005162244 0.0027068134 0.0052476054 + 212500 0.0040114671 0.0026427266 0.0046171206 + 212600 0.0048006208 0.0023054264 0.004668232 + 212700 0.0052229435 0.0025578575 0.005128525 + 212800 0.0038931308 0.0026227374 0.0045388877 + 212900 0.0048290439 0.0026415281 0.0050183231 + 213000 0.0040905801 0.0029631218 0.0049764543 + 213100 0.005207265 0.0031066913 0.005669642 + 213200 0.0054019102 0.0027748876 0.0054336402 + 213300 0.0044333387 0.0029849175 0.0051669514 + 213400 0.0056501601 0.0034215949 0.0062025331 + 213500 0.0061760554 0.0039982134 0.0070379907 + 213600 0.0045489709 0.0038971774 0.006136124 + 213700 0.0048863296 0.0031860245 0.0055910149 + 213800 0.0050085949 0.0025913387 0.0050565065 + 213900 0.0051986788 0.0022305244 0.0047892491 + 214000 0.0055735953 0.0024720068 0.0052152607 + 214100 0.0037980273 0.0027517675 0.0046211091 + 214200 0.0050520706 0.002312817 0.004799383 + 214300 0.0050857961 0.0017696903 0.0042728556 + 214400 0.0060684553 0.0019088957 0.0048957135 + 214500 0.0044446644 0.0019350112 0.0041226195 + 214600 0.006092336 0.0023805274 0.005379099 + 214700 0.0052035114 0.0024779863 0.0050390895 + 214800 0.0048829249 0.0025147529 0.0049180675 + 214900 0.0047669341 0.0026790249 0.0050252502 + 215000 0.0047873677 0.0024137417 0.0047700242 + 215100 0.0066486351 0.0021263004 0.0053986755 + 215200 0.0045455448 0.0019261038 0.0041633642 + 215300 0.0049052148 0.0021954316 0.004609717 + 215400 0.0041021395 0.0028887951 0.0049078169 + 215500 0.0053038751 0.0025718828 0.0051823838 + 215600 0.0058534039 0.0021976474 0.0050786196 + 215700 0.003262341 0.0023300071 0.0039356906 + 215800 0.0051064175 0.0024531906 0.0049665054 + 215900 0.0051592426 0.0026491808 0.0051884955 + 216000 0.0053203134 0.0030577737 0.0056763655 + 216100 0.0053277381 0.0033275955 0.0059498415 + 216200 0.0042801 0.0031816935 0.0052883052 + 216300 0.0041623512 0.0027636796 0.0048123368 + 216400 0.0058105992 0.0026117987 0.005471703 + 216500 0.0053768073 0.0025606112 0.0052070086 + 216600 0.0051228059 0.0022271737 0.0047485547 + 216700 0.0059058162 0.0021608278 0.0050675967 + 216800 0.0039726736 0.0021441307 0.004099431 + 216900 0.0043721624 0.0025840483 0.004735972 + 217000 0.0056160388 0.0028437801 0.0056079242 + 217100 0.0041746786 0.0032536978 0.0053084224 + 217200 0.0057100735 0.0032289914 0.0060394182 + 217300 0.0043162838 0.0030216469 0.0051460678 + 217400 0.0043752374 0.002668579 0.0048220161 + 217500 0.0042170934 0.0023912275 0.0044668281 + 217600 0.0063328705 0.0020422916 0.0051592513 + 217700 0.0062497029 0.0019591966 0.0050352222 + 217800 0.0053580767 0.0022857659 0.0049229442 + 217900 0.0053639089 0.002351745 0.0049917939 + 218000 0.0055645868 0.0024061236 0.0051449436 + 218100 0.0051222358 0.0028660671 0.0053871675 + 218200 0.0049982641 0.0024891982 0.0049492814 + 218300 0.0059825879 0.0023176901 0.0052622451 + 218400 0.005143539 0.0029416527 0.0054732383 + 218500 0.0055190938 0.0027878516 0.0055042806 + 218600 0.006129199 0.0025430613 0.0055597765 + 218700 0.0046476328 0.0028899442 0.0051774509 + 218800 0.0038840204 0.0029759293 0.0048875956 + 218900 0.0051657211 0.0026541382 0.0051966415 + 219000 0.0034380395 0.0029766585 0.0046688186 + 219100 0.0043871508 0.0026438629 0.0048031637 + 219200 0.0042349797 0.0025555416 0.0046399457 + 219300 0.0045959531 0.0022516306 0.0045137013 + 219400 0.0039925205 0.0017821794 0.003747248 + 219500 0.0032141506 0.0018235224 0.0034054871 + 219600 0.0039302688 0.0019496116 0.0038840408 + 219700 0.0052048532 0.0020464329 0.0046081966 + 219800 0.0037366259 0.0019415147 0.0037806353 + 219900 0.003831393 0.0015200661 0.0034058299 + 220000 0.0040281887 0.0013973882 0.0033800124 + 220100 0.0061221965 0.0015689058 0.0045821744 + 220200 0.0030405005 0.0020696027 0.0035660991 + 220300 0.0045173747 0.0017877476 0.004011143 + 220400 0.0038068216 0.0015903681 0.0034640381 + 220500 0.0043229742 0.0017417515 0.0038694654 + 220600 0.0042954897 0.0018155923 0.0039297786 + 220700 0.0049732473 0.0024552979 0.0049030681 + 220800 0.0039199489 0.0027399926 0.0046693424 + 220900 0.0073803199 0.0024402571 0.0060727583 + 221000 0.003586343 0.0026747028 0.0044398561 + 221100 0.0057945914 0.0023872022 0.0052392277 + 221200 0.0055027712 0.0018946027 0.0046029979 + 221300 0.0044562983 0.0021319529 0.0043252872 + 221400 0.0062133198 0.0019380015 0.0049961198 + 221500 0.0059396047 0.0017425494 0.0046659485 + 221600 0.0056772919 0.0021063674 0.0049006595 + 221700 0.0042231859 0.0027231848 0.0048017841 + 221800 0.0069971396 0.0019467534 0.0053906581 + 221900 0.0047647337 0.00149565 0.0038407924 + 222000 0.0048914915 0.0013644292 0.0037719601 + 222100 0.005321636 0.0013088827 0.0039281255 + 222200 0.0042663514 0.0021165683 0.0042164131 + 222300 0.0033959772 0.0022480461 0.0039195036 + 222400 0.0041632543 0.0021762272 0.0042253289 + 222500 0.0047245586 0.0021173604 0.0044427291 + 222600 0.0048775399 0.0017432812 0.0041439454 + 222700 0.0034951236 0.0021196042 0.0038398603 + 222800 0.0058638408 0.0023959613 0.0052820705 + 222900 0.0054272464 0.0026363638 0.0053075867 + 223000 0.0049185603 0.0024817254 0.0049025793 + 223100 0.0050773088 0.0024038692 0.0049028571 + 223200 0.0054103988 0.0023483231 0.0050112537 + 223300 0.0043200682 0.0025139327 0.0046402163 + 223400 0.0052427547 0.0022273127 0.0048077311 + 223500 0.0052465395 0.0022672168 0.0048494979 + 223600 0.0044880346 0.002368036 0.0045769905 + 223700 0.0045494549 0.0022684947 0.0045076795 + 223800 0.0040233301 0.0020226378 0.0040028706 + 223900 0.0040900073 0.0016837016 0.0036967521 + 224000 0.0046923093 0.0021489467 0.0044584427 + 224100 0.0041836547 0.0023007104 0.0043598529 + 224200 0.0049110786 0.0021286982 0.0045458697 + 224300 0.0043506761 0.002204002 0.0043453504 + 224400 0.0042240932 0.0019477304 0.0040267763 + 224500 0.0042659728 0.0019181336 0.0040177921 + 224600 0.0043398124 0.0020081426 0.004144144 + 224700 0.004507153 0.0017996491 0.0040180134 + 224800 0.0044701452 0.0019725813 0.0041727309 + 224900 0.0039622704 0.0019842942 0.0039344742 + 225000 0.0061308817 0.0019529588 0.0049705021 + 225100 0.0049435145 0.0020911039 0.0045242399 + 225200 0.004093472 0.0022209585 0.0042357142 + 225300 0.0047675321 0.0018703171 0.0042168368 + 225400 0.0054186533 0.0019290268 0.0045960202 + 225500 0.0050741402 0.0025760999 0.0050735283 + 225600 0.0042325475 0.0029652791 0.0050484861 + 225700 0.0047659685 0.002169149 0.0045148991 + 225800 0.0044735046 0.0021195531 0.0043213561 + 225900 0.0048556388 0.0023854946 0.0047753793 + 226000 0.0044344359 0.0023214448 0.0045040187 + 226100 0.0046480913 0.0025863895 0.0048741219 + 226200 0.0067682057 0.0028617035 0.0061929298 + 226300 0.0047391087 0.0031847517 0.0055172818 + 226400 0.0041577996 0.0029053245 0.0049517415 + 226500 0.0048128696 0.0026742352 0.0050430694 + 226600 0.0036982291 0.0021646791 0.0039849013 + 226700 0.0048764169 0.0018070649 0.0042071763 + 226800 0.0052699491 0.0019498185 0.0045436215 + 226900 0.0047176152 0.001774989 0.0040969402 + 227000 0.0032664881 0.0021215201 0.0037292447 + 227100 0.0044379577 0.0020645635 0.0042488708 + 227200 0.0045471488 0.0023553554 0.0045934052 + 227300 0.0049479197 0.002573389 0.0050086932 + 227400 0.0042580597 0.0024427868 0.0045385505 + 227500 0.0049785047 0.0023167638 0.0047671216 + 227600 0.0050195967 0.0023385458 0.0048091286 + 227700 0.0054479636 0.002276985 0.0049584046 + 227800 0.0066448825 0.0021532774 0.0054238055 + 227900 0.0044228305 0.0021582146 0.0043350765 + 228000 0.0065803091 0.0020088199 0.0052475658 + 228100 0.0060904258 0.0021659211 0.0051635525 + 228200 0.0042738922 0.0022420018 0.0043455582 + 228300 0.004993816 0.0020883526 0.0045462465 + 228400 0.0045299657 0.0023619708 0.0045915633 + 228500 0.0041310785 0.0025303085 0.0045635737 + 228600 0.0046645032 0.0027388841 0.0050346943 + 228700 0.0050783726 0.0027031329 0.0052026444 + 228800 0.0048723473 0.0026635349 0.0050616434 + 228900 0.0051210643 0.0024312419 0.0049517657 + 229000 0.0056534064 0.0024600154 0.0052425514 + 229100 0.0065483176 0.0029636461 0.0061866462 + 229200 0.0065222087 0.002519589 0.0057297386 + 229300 0.0059642952 0.0020866457 0.0050221972 + 229400 0.0061439508 0.0025676517 0.0055916275 + 229500 0.0067820621 0.0026830015 0.0060210477 + 229600 0.0038758927 0.0024921968 0.0043998627 + 229700 0.0064483738 0.0022381942 0.0054120031 + 229800 0.0060546752 0.0018472046 0.0048272401 + 229900 0.005306472 0.0022029503 0.0048147294 + 230000 0.0051602156 0.0023345223 0.0048743159 + 230100 0.0053637798 0.0026126728 0.0052526581 + 230200 0.0048303598 0.0027153666 0.0050928092 + 230300 0.0055390956 0.0023667793 0.0050930529 + 230400 0.0069008046 0.002702245 0.0060987348 + 230500 0.005674929 0.0030255945 0.0058187236 + 230600 0.0038220683 0.0032918801 0.0051730543 + 230700 0.0058390829 0.0034674187 0.0063413423 + 230800 0.0060442338 0.0032144945 0.0061893908 + 230900 0.0049582871 0.0032287515 0.0056691584 + 231000 0.0060141024 0.0028696808 0.0058297468 + 231100 0.0044554257 0.0027249244 0.0049178293 + 231200 0.0051708668 0.002716268 0.005261304 + 231300 0.0048006639 0.002983935 0.0053467618 + 231400 0.00447391 0.0031280619 0.0053300645 + 231500 0.0045577149 0.0027811627 0.005024413 + 231600 0.0044139752 0.0027117444 0.0048842478 + 231700 0.0045026682 0.0020092596 0.0042254166 + 231800 0.0054919855 0.0017344951 0.0044375817 + 231900 0.0041387616 0.0023232467 0.0043602935 + 232000 0.0036803056 0.001968189 0.0037795894 + 232100 0.0059672175 0.0017298054 0.0046667953 + 232200 0.0032707783 0.0018709559 0.0034807921 + 232300 0.0045974806 0.001789405 0.0040522275 + 232400 0.0036469432 0.0022394379 0.0040344178 + 232500 0.0039472231 0.0026651405 0.0046079144 + 232600 0.005434308 0.0022587927 0.0049334912 + 232700 0.0057623437 0.0024269615 0.005263115 + 232800 0.0074961308 0.0024851743 0.0061746761 + 232900 0.0071901387 0.0026527301 0.0061916265 + 233000 0.0050607391 0.0024967284 0.0049875609 + 233100 0.0053620609 0.0023970829 0.0050362222 + 233200 0.0045476637 0.0023561432 0.0045944465 + 233300 0.0037525232 0.0024906652 0.0043376102 + 233400 0.0047688718 0.0024408783 0.0047880574 + 233500 0.0031299432 0.0025887748 0.0041292937 + 233600 0.0045164181 0.0024591527 0.0046820772 + 233700 0.0053150152 0.0021681933 0.0047841773 + 233800 0.004637423 0.0021773795 0.0044598611 + 233900 0.0053695921 0.002167214 0.0048100601 + 234000 0.0043348454 0.0022093939 0.0043429506 + 234100 0.004011328 0.0025255007 0.0044998262 + 234200 0.0052998864 0.0022559962 0.004864534 + 234300 0.0063518506 0.001817946 0.0049442474 + 234400 0.0050703705 0.0024368694 0.0049324424 + 234500 0.004706701 0.0025247229 0.0048413023 + 234600 0.0052302431 0.0023364061 0.0049106664 + 234700 0.0041092847 0.0021047635 0.004127302 + 234800 0.0039826386 0.0017951385 0.0037553434 + 234900 0.0062424634 0.0015996352 0.0046720976 + 235000 0.0052565368 0.0015346848 0.0041218866 + 235100 0.0049046889 0.0016930612 0.0041070877 + 235200 0.0036400599 0.0019723421 0.0037639341 + 235300 0.0046744425 0.0021098891 0.0044105913 + 235400 0.0051539142 0.0017594183 0.0042961104 + 235500 0.0037746039 0.0016242011 0.003482014 + 235600 0.0051648463 0.0017812158 0.0043232886 + 235700 0.0047729525 0.0023454259 0.0046946135 + 235800 0.0033649924 0.0023188302 0.0039750374 + 235900 0.0062172441 0.0021089836 0.0051690335 + 236000 0.004816518 0.0019992696 0.0043698996 + 236100 0.0052151793 0.002070719 0.0046375651 + 236200 0.004827451 0.0019135343 0.0042895453 + 236300 0.0050046961 0.0022186646 0.0046819134 + 236400 0.0045881808 0.0022662024 0.0045244476 + 236500 0.0051239845 0.0024099301 0.0049318913 + 236600 0.004602264 0.0023974703 0.0046626471 + 236700 0.0047128878 0.0024920603 0.0048116848 + 236800 0.0032384716 0.002523293 0.0041172283 + 236900 0.0048657456 0.0022385965 0.0046334556 + 237000 0.0046383124 0.0020388087 0.0043217281 + 237100 0.005574622 0.001893651 0.0046374103 + 237200 0.003168054 0.0017013078 0.0032605843 + 237300 0.0055563406 0.0018175233 0.0045522847 + 237400 0.0039793843 0.0020594735 0.0040180767 + 237500 0.0046518134 0.0020248512 0.0043144156 + 237600 0.004374617 0.0017693036 0.0039224354 + 237700 0.0050219449 0.0018428722 0.0043146107 + 237800 0.0048871638 0.0021417501 0.004547151 + 237900 0.0055150938 0.0021436014 0.0048580616 + 238000 0.0054367667 0.0019979912 0.0046738998 + 238100 0.0048788176 0.0019144875 0.0043157805 + 238200 0.0034208499 0.0020565788 0.0037402783 + 238300 0.0036257698 0.0021378522 0.0039224107 + 238400 0.0067556513 0.0018475876 0.0051726347 + 238500 0.003586729 0.0020164915 0.0037818347 + 238600 0.0068775855 0.0018754989 0.0052605605 + 238700 0.0048328396 0.0020861216 0.0044647848 + 238800 0.0061728932 0.0018529232 0.0048911441 + 238900 0.0043040098 0.0019173776 0.0040357574 + 239000 0.0043357825 0.0022716839 0.0044057018 + 239100 0.0048714117 0.0022363767 0.0046340247 + 239200 0.0058877048 0.0018485912 0.0047464459 + 239300 0.0032062995 0.0019814322 0.0035595327 + 239400 0.0043306548 0.0020342208 0.004165715 + 239500 0.0046305069 0.0023963576 0.0046754353 + 239600 0.0044101756 0.0025950626 0.0047656959 + 239700 0.0059885339 0.0021475971 0.0050950786 + 239800 0.0041349637 0.0024153231 0.0044505005 + 239900 0.006019093 0.0031009006 0.0060634229 + 240000 0.0062222551 0.0032156189 0.0062781351 + 240100 0.0068837101 0.0035459217 0.0069339978 + 240200 0.0070769059 0.0034775843 0.006960749 + 240300 0.0047264308 0.0031586594 0.0054849495 + 240400 0.0070571559 0.0023748236 0.0058482675 + 240500 0.0056444694 0.0025732561 0.0053513933 + 240600 0.0043331132 0.0025159805 0.0046486847 + 240700 0.0048812369 0.0023677523 0.0047702361 + 240800 0.0051870695 0.0022107441 0.0047637549 + 240900 0.0052767918 0.001995697 0.0045928679 + 241000 0.0041558792 0.0022979826 0.0043434544 + 241100 0.005156414 0.0020280011 0.0045659236 + 241200 0.0067894849 0.002462208 0.0058039076 + 241300 0.0041140169 0.0027553109 0.0047801786 + 241400 0.0057473376 0.0023666685 0.0051954362 + 241500 0.0043314787 0.0024565619 0.0045884616 + 241600 0.0055436011 0.0025640577 0.0052925488 + 241700 0.006488099 0.0024387671 0.0056321283 + 241800 0.0047686136 0.0027419827 0.0050890347 + 241900 0.0035681806 0.0029254163 0.0046816302 + 242000 0.0051391235 0.0026567797 0.0051861921 + 242100 0.0048716115 0.0021453854 0.0045431317 + 242200 0.0042724274 0.0023953815 0.0044982168 + 242300 0.0055093195 0.0026496059 0.0053612241 + 242400 0.0049881973 0.0027754248 0.0052305532 + 242500 0.0030932127 0.0026554965 0.0041779372 + 242600 0.006591986 0.0018831107 0.0051276038 + 242700 0.0052147612 0.0018969429 0.0044635832 + 242800 0.0065116712 0.0023513647 0.0055563279 + 242900 0.0045148103 0.0030660355 0.0052881688 + 243000 0.0073799916 0.0025790274 0.006211367 + 243100 0.0053290473 0.0031175444 0.0057404349 + 243200 0.0051171329 0.0028754983 0.0053940871 + 243300 0.0051409155 0.0025578671 0.0050881615 + 243400 0.0047165809 0.0021923363 0.0045137784 + 243500 0.0045166148 0.002121142 0.0043441634 + 243600 0.0040809112 0.0026735313 0.0046821048 + 243700 0.0051543951 0.0025845985 0.0051215273 + 243800 0.0064490971 0.0023334505 0.0055076155 + 243900 0.0051410772 0.0026519156 0.0051822895 + 244000 0.0039820685 0.0027639209 0.0047238452 + 244100 0.00467663 0.0027908214 0.0050926003 + 244200 0.0046588357 0.0028141759 0.0051071966 + 244300 0.005293506 0.0025865973 0.0051919948 + 244400 0.007410014 0.0023239121 0.0059710284 + 244500 0.0060935897 0.0024278533 0.0054270419 + 244600 0.0040435345 0.002851639 0.0048418161 + 244700 0.0050820046 0.0029799471 0.0054812462 + 244800 0.0074354578 0.0029476987 0.006607338 + 244900 0.0053798653 0.0029793821 0.0056272845 + 245000 0.005461727 0.0026410394 0.0053292332 + 245100 0.0054569366 0.0026636556 0.0053494916 + 245200 0.003503583 0.0021219611 0.0038463808 + 245300 0.004803962 0.0021641468 0.0045285969 + 245400 0.0055260245 0.0019720338 0.004691874 + 245500 0.0070330405 0.0019615817 0.0054231563 + 245600 0.0044170027 0.002300428 0.0044744215 + 245700 0.0055870428 0.0021603908 0.0049102635 + 245800 0.0059776788 0.0019954428 0.0049375816 + 245900 0.0052225416 0.0023577331 0.0049282027 + 246000 0.0073096844 0.002961027 0.0065587623 + 246100 0.006976596 0.0026136294 0.0060474228 + 246200 0.0047291107 0.0024682308 0.00479584 + 246300 0.0035398277 0.0022342451 0.0039765041 + 246400 0.0051353885 0.0021948366 0.0047224107 + 246500 0.0054684473 0.0025837802 0.0052752816 + 246600 0.0061479108 0.0029136241 0.0059395489 + 246700 0.0044727679 0.0027485025 0.0049499429 + 246800 0.0045592778 0.0025094564 0.0047534759 + 246900 0.0053064118 0.0024518521 0.0050636017 + 247000 0.0061524526 0.0024515267 0.005479687 + 247100 0.0051825215 0.0026882781 0.0052390504 + 247200 0.0052143843 0.0025116965 0.0050781512 + 247300 0.0053565922 0.0026009001 0.0052373479 + 247400 0.0053628231 0.0021800805 0.004819595 + 247500 0.0045375959 0.0021211071 0.0043544551 + 247600 0.0035183901 0.0021182138 0.0038499214 + 247700 0.0047370254 0.001590041 0.0039215457 + 247800 0.0058390555 0.0019137687 0.0047876788 + 247900 0.0037134827 0.001709548 0.0035372777 + 248000 0.0050337255 0.001700029 0.0041775658 + 248100 0.0037386078 0.0020601957 0.0039002917 + 248200 0.0054324972 0.0022723521 0.0049461594 + 248300 0.0047860707 0.0023921765 0.0047478207 + 248400 0.0036917857 0.002483896 0.0043009467 + 248500 0.0042347002 0.0022806585 0.004364925 + 248600 0.0056371569 0.0020586646 0.0048332028 + 248700 0.0038616582 0.0020865615 0.0039872214 + 248800 0.0049690029 0.0019674185 0.0044130996 + 248900 0.0060562505 0.0018561439 0.0048369547 + 249000 0.0037071369 0.0017740044 0.0035986108 + 249100 0.0046435369 0.0021335631 0.004419054 + 249200 0.0045768741 0.0026080068 0.004860687 + 249300 0.0057961662 0.0024776344 0.0053304349 + 249400 0.0040843161 0.0024293322 0.0044395815 + 249500 0.0052446971 0.0022759552 0.0048573296 + 249600 0.0046992647 0.0022456298 0.0045585492 + 249700 0.0048278528 0.0021651532 0.004541362 + 249800 0.0058364223 0.0022095797 0.0050821938 + 249900 0.0057887328 0.0018955162 0.0047446582 + 250000 0.005766292 0.0019312345 0.0047693313 + 250100 0.0044347727 0.0021503825 0.0043331222 + 250200 0.0057409838 0.0024672049 0.0052928453 + 250300 0.0044670368 0.0027981122 0.0049967319 + 250400 0.0044230751 0.0027211607 0.004898143 + 250500 0.0057820925 0.002541331 0.0053872047 + 250600 0.0051627471 0.0022660729 0.0048071125 + 250700 0.006222781 0.0017949222 0.0048576972 + 250800 0.0048515551 0.0020782094 0.0044660842 + 250900 0.0053778934 0.0020392427 0.0046861746 + 251000 0.0035470004 0.0023890874 0.0041348767 + 251100 0.0058639003 0.0025621387 0.0054482771 + 251200 0.0044575198 0.0024243884 0.004618324 + 251300 0.0041964307 0.0023136695 0.0043791002 + 251400 0.0052759725 0.0025327243 0.005129492 + 251500 0.0060932987 0.0027095021 0.0057085475 + 251600 0.0054235915 0.0027192669 0.0053886909 + 251700 0.0048087035 0.0031589222 0.005525706 + 251800 0.0055717805 0.0028770134 0.0056193741 + 251900 0.0064562737 0.0022667949 0.0054444921 + 252000 0.0055850782 0.0021761081 0.0049250138 + 252100 0.0042212292 0.0021828232 0.0042604594 + 252200 0.0048215953 0.002215147 0.004588276 + 252300 0.0055022284 0.0022217011 0.0049298291 + 252400 0.0053869711 0.0022784748 0.0049298746 + 252500 0.0052113896 0.0022338286 0.0047988094 + 252600 0.0047584188 0.0025935874 0.0049356217 + 252700 0.004885046 0.0024642652 0.0048686237 + 252800 0.0037774495 0.0021112627 0.0039704761 + 252900 0.0051623982 0.0018081986 0.0043490664 + 253000 0.0033831247 0.0018589365 0.0035240682 + 253100 0.0054786023 0.0017626771 0.0044591767 + 253200 0.0055143728 0.0021930637 0.0049071691 + 253300 0.0055880461 0.002934803 0.0056851695 + 253400 0.0061899165 0.0026872344 0.0057338339 + 253500 0.0053919807 0.0025861505 0.005240016 + 253600 0.0069050127 0.0025976196 0.0059961805 + 253700 0.0043969004 0.0027177493 0.0048818487 + 253800 0.0060593172 0.0032471949 0.006229515 + 253900 0.0054770114 0.0034515027 0.0061472192 + 254000 0.005677278 0.0027528802 0.0055471655 + 254100 0.0059649178 0.0021551076 0.0050909656 + 254200 0.0048490131 0.0026424101 0.0050290338 + 254300 0.0030850129 0.0029960545 0.0045144593 + 254400 0.0039100981 0.0028624729 0.0047869743 + 254500 0.0041339674 0.0027036415 0.0047383286 + 254600 0.0059359927 0.0023949706 0.005316592 + 254700 0.0054328699 0.0022170107 0.0048910013 + 254800 0.0061202254 0.0025467067 0.0055590052 + 254900 0.0051695256 0.003107667 0.0056520428 + 255000 0.0052321648 0.0028179227 0.0053931288 + 255100 0.0053902046 0.0024878739 0.0051408652 + 255200 0.0061044305 0.0021629863 0.0051675106 + 255300 0.0054170789 0.0025807149 0.0052469334 + 255400 0.0042852911 0.002962793 0.0050719597 + 255500 0.0046953618 0.0031960683 0.0055070667 + 255600 0.0046254968 0.0029824855 0.0052590972 + 255700 0.0053649263 0.0027370741 0.0053776238 + 255800 0.0049026614 0.0031016189 0.0055146476 + 255900 0.0051831572 0.0033466161 0.0058977013 + 256000 0.0047143739 0.0031897814 0.0055101373 + 256100 0.0054324992 0.0025118324 0.0051856406 + 256200 0.0046152598 0.0025538157 0.0048253889 + 256300 0.0048185045 0.0028945382 0.0052661459 + 256400 0.0035905472 0.0029428424 0.0047100649 + 256500 0.0045253579 0.0028312116 0.0050585362 + 256600 0.0047945979 0.0025714886 0.0049313297 + 256700 0.0042507765 0.0024655156 0.0045576947 + 256800 0.0052837562 0.0024614333 0.005062032 + 256900 0.0029970273 0.0026530506 0.00412815 + 257000 0.0049476461 0.0024544353 0.0048896049 + 257100 0.0057154753 0.0021078991 0.0049209846 + 257200 0.004822972 0.0018847068 0.0042585133 + 257300 0.0052251462 0.0019582799 0.0045300315 + 257400 0.0041542922 0.0021554507 0.0042001414 + 257500 0.0048590528 0.002090325 0.00448189 + 257600 0.0047565192 0.0021258705 0.0044669699 + 257700 0.0050121183 0.0023239571 0.004790859 + 257800 0.0048230951 0.0027104922 0.0050843593 + 257900 0.0073882235 0.0023333304 0.0059697217 + 258000 0.0048040541 0.0026207284 0.0049852238 + 258100 0.0057370765 0.0030749722 0.0058986895 + 258200 0.0086275468 0.002406991 0.0066533617 + 258300 0.0068190781 0.0022083534 0.0055646184 + 258400 0.0038955943 0.0029984438 0.0049158066 + 258500 0.0050790798 0.0023683648 0.0048682244 + 258600 0.0057060467 0.0019393257 0.0047477706 + 258700 0.0058761263 0.0021863165 0.0050784724 + 258800 0.0042695446 0.0024579352 0.0045593517 + 258900 0.0048734225 0.0022232974 0.004621935 + 259000 0.0064742108 0.0023051028 0.0054916284 + 259100 0.0055228109 0.0018554306 0.0045736891 + 259200 0.0046681449 0.001928608 0.0042262106 + 259300 0.006851663 0.0020977546 0.0054700575 + 259400 0.0060051478 0.0026387322 0.0055943909 + 259500 0.0066374892 0.0032712177 0.0065381069 + 259600 0.0053979837 0.0035836781 0.0062404982 + 259700 0.0056378245 0.0029352379 0.0057101046 + 259800 0.0046709741 0.0026555918 0.0049545868 + 259900 0.0053878537 0.0025585221 0.0052103563 + 260000 0.0041472709 0.0030544091 0.005095644 + 260100 0.0058015409 0.0032901529 0.0061455988 + 260200 0.0058043045 0.0028484159 0.005705222 + 260300 0.0063112964 0.0027237023 0.0058300435 + 260400 0.004888389 0.0028105416 0.0052165455 + 260500 0.005743362 0.0024645621 0.0052913731 + 260600 0.0063971611 0.0023468937 0.0054954965 + 260700 0.0060643796 0.0020915464 0.0050763582 + 260800 0.0053032794 0.0022447692 0.004854977 + 260900 0.0049412903 0.0026773427 0.005109384 + 261000 0.0051488793 0.0026011995 0.0051354135 + 261100 0.0050018153 0.0026049926 0.0050668236 + 261200 0.0047576989 0.0025007075 0.0048423874 + 261300 0.005488335 0.002368724 0.0050700138 + 261400 0.0033948108 0.0024873819 0.0041582653 + 261500 0.0054931755 0.0023500966 0.0050537689 + 261600 0.0045049483 0.0021238935 0.0043411727 + 261700 0.0053819848 0.0021026222 0.0047515678 + 261800 0.0037550445 0.0022476753 0.0040958613 + 261900 0.0042092584 0.0024831976 0.004554942 + 262000 0.0061032563 0.0025187791 0.0055227256 + 262100 0.0032646717 0.0034947116 0.0051015422 + 262200 0.0058171386 0.003345222 0.0062083448 + 262300 0.0051294092 0.0025496041 0.0050742352 + 262400 0.0069985607 0.0021288406 0.0055734447 + 262500 0.0053512462 0.0021857548 0.0048195713 + 262600 0.0056136203 0.002196112 0.0049590657 + 262700 0.0050849366 0.0020444571 0.0045471993 + 262800 0.0052005694 0.0016438204 0.0042034756 + 262900 0.0036698385 0.0019815514 0.0037878001 + 263000 0.0052594093 0.0017579142 0.0043465297 + 263100 0.0045832546 0.0021698059 0.0044256265 + 263200 0.005429286 0.0023872757 0.0050595024 + 263300 0.0065589654 0.0025425652 0.005770806 + 263400 0.0057144099 0.0026034921 0.0054160532 + 263500 0.0045003518 0.0022595255 0.0044745424 + 263600 0.007043766 0.0017513601 0.0052182137 + 263700 0.0058368479 0.0016774469 0.0045502705 + 263800 0.0034969649 0.0016830667 0.0034042291 + 263900 0.0034891345 0.0018228878 0.0035401962 + 264000 0.0040784466 0.0020991871 0.0041065476 + 264100 0.0051487519 0.0021269137 0.0046610651 + 264200 0.0051558638 0.0023399809 0.0048776326 + 264300 0.0050344344 0.0023833725 0.0048612582 + 264400 0.0063132187 0.0020069765 0.0051142638 + 264500 0.0058024096 0.0020529968 0.0049088703 + 264600 0.0034500529 0.0025446645 0.0042427374 + 264700 0.005475134 0.003125887 0.0058206795 + 264800 0.005652738 0.0031370399 0.0059192469 + 264900 0.0043293716 0.002756773 0.0048876356 + 265000 0.0046905052 0.0025610499 0.0048696579 + 265100 0.0050314013 0.0024782675 0.0049546603 + 265200 0.0060076556 0.0023303362 0.0052872292 + 265300 0.004414654 0.0024172735 0.004590111 + 265400 0.0044391079 0.0028101685 0.0049950419 + 265500 0.0055350488 0.0025610695 0.0052853514 + 265600 0.0046998035 0.0025062201 0.0048194046 + 265700 0.0045818552 0.0029235414 0.0051786732 + 265800 0.0068294118 0.0028823303 0.0062436814 + 265900 0.0058922634 0.0027458189 0.0056459173 + 266000 0.0039611817 0.0023991811 0.0043488253 + 266100 0.0050522317 0.002052021 0.0045386663 + 266200 0.0047255882 0.0019069089 0.0042327843 + 266300 0.0054821522 0.0021498777 0.0048481245 + 266400 0.0045789401 0.0023611946 0.0046148917 + 266500 0.0049732766 0.0024839127 0.0049316973 + 266600 0.0051742985 0.0020437673 0.0045904923 + 266700 0.0042534319 0.0022289814 0.0043224674 + 266800 0.0047598023 0.0021948578 0.004537573 + 266900 0.0043521559 0.0022447536 0.0043868303 + 267000 0.0030030503 0.0022235043 0.0037015682 + 267100 0.0056318508 0.0021111904 0.004883117 + 267200 0.0056486203 0.0018486505 0.0046288308 + 267300 0.0043919401 0.0016374544 0.0037991124 + 267400 0.0034201523 0.0018373823 0.0035207385 + 267500 0.0041631712 0.0015199241 0.0035689849 + 267600 0.0043853219 0.0015730807 0.0037314813 + 267700 0.0047349113 0.0020448675 0.0043753316 + 267800 0.0057064072 0.002052198 0.0048608203 + 267900 0.0048879024 0.0021724229 0.0045781874 + 268000 0.0036880069 0.0023244635 0.0041396544 + 268100 0.0046500657 0.0022488981 0.0045376023 + 268200 0.0062520963 0.0017204735 0.0047976771 + 268300 0.0041402314 0.0019649792 0.0040027494 + 268400 0.0048741269 0.0020965177 0.004495502 + 268500 0.0048367265 0.0020543502 0.0044349265 + 268600 0.0051142029 0.0022333307 0.0047504775 + 268700 0.0042878026 0.0023510373 0.0044614401 + 268800 0.0045307574 0.0021211832 0.0043511654 + 268900 0.00455761 0.0022488731 0.0044920717 + 269000 0.0049876702 0.0025762372 0.0050311061 + 269100 0.0060612968 0.0026941079 0.0056774025 + 269200 0.0047706622 0.0030300039 0.0053780643 + 269300 0.0055034628 0.0025282654 0.005237001 + 269400 0.0051665434 0.0025667272 0.0051096353 + 269500 0.0067853662 0.0025462185 0.0058858909 + 269600 0.0057552605 0.0024596427 0.00529231 + 269700 0.0046026785 0.0027242011 0.0049895819 + 269800 0.0047756766 0.0032599333 0.0056104616 + 269900 0.0056819028 0.0031370133 0.0059335748 + 270000 0.0038138629 0.0026166211 0.0044937567 + 270100 0.0052549669 0.0024476731 0.0050341021 + 270200 0.0046403825 0.0024317144 0.0047156527 + 270300 0.0051303407 0.0022715849 0.0047966745 + 270400 0.0052906216 0.0022821953 0.0048861731 + 270500 0.0044572239 0.0027448594 0.0049386493 + 270600 0.0057436359 0.0025424269 0.0053693727 + 270700 0.0035282271 0.0024938792 0.0042304285 + 270800 0.0062899179 0.0022304452 0.0053262642 + 270900 0.0040232843 0.0025252652 0.0045054754 + 271000 0.0057043653 0.0024694752 0.0052770925 + 271100 0.0047376736 0.0029535112 0.0052853349 + 271200 0.0071916728 0.0038766784 0.0074163299 + 271300 0.0038019027 0.0042604784 0.0061317274 + 271400 0.0062011796 0.0033202443 0.0063723874 + 271500 0.0061725106 0.0023913344 0.005429367 + 271600 0.0040400288 0.0024642975 0.0044527492 + 271700 0.0049995611 0.0029251118 0.0053858333 + 271800 0.0043864127 0.0030331718 0.0051921093 + 271900 0.0048245412 0.0027774713 0.0051520502 + 272000 0.0043961962 0.0026798624 0.0048436152 + 272100 0.0047323099 0.0027448225 0.0050740063 + 272200 0.0038012171 0.0022177537 0.0040886652 + 272300 0.0070157315 0.0018218668 0.0052749221 + 272400 0.0056453519 0.0019079812 0.0046865528 + 272500 0.0035721491 0.0024429576 0.0042011247 + 272600 0.004341789 0.002456488 0.0045934622 + 272700 0.0054913402 0.002143827 0.004846596 + 272800 0.00472976 0.0020590328 0.0043869615 + 272900 0.0052466068 0.0019148565 0.0044971708 + 273000 0.004114626 0.0019289496 0.0039541171 + 273100 0.0043257018 0.0024297984 0.0045588548 + 273200 0.0068234818 0.0023784841 0.0057369166 + 273300 0.0048907409 0.0023618315 0.004768993 + 273400 0.0052861533 0.0021219302 0.0047237087 + 273500 0.0048357096 0.0022009855 0.0045810613 + 273600 0.0045986824 0.0025838893 0.0048473033 + 273700 0.0063393364 0.0027712962 0.0058914383 + 273800 0.0062942563 0.0031424736 0.0062404279 + 273900 0.005184468 0.003038091 0.0055898213 + 274000 0.005938651 0.0027505581 0.0056734878 + 274100 0.0051104729 0.0026690997 0.0051844106 + 274200 0.0060224727 0.00277046 0.0057346458 + 274300 0.0061933058 0.0029951289 0.0060433966 + 274400 0.0074816655 0.0027840875 0.0064664698 + 274500 0.0062352194 0.0021505307 0.0052194277 + 274600 0.0039661179 0.0023385474 0.004290621 + 274700 0.0048211693 0.0024625605 0.0048354797 + 274800 0.0044796313 0.0023878641 0.0045926826 + 274900 0.0049559171 0.0022526569 0.0046918974 + 275000 0.0046755167 0.0022411409 0.0045423717 + 275100 0.0049049277 0.002756779 0.0051709231 + 275200 0.0046037389 0.0025833068 0.0048492096 + 275300 0.00522018 0.0024355984 0.0050049058 + 275400 0.0037799788 0.0024536307 0.004314089 + 275500 0.0069942519 0.0018332474 0.0052757308 + 275600 0.0039112852 0.0016966517 0.0036217374 + 275700 0.0051908681 0.0017787769 0.0043336573 + 275800 0.0063278127 0.0024873404 0.0056018107 + 275900 0.0040360013 0.0027921382 0.0047786076 + 276000 0.004500949 0.0021230842 0.004338395 + 276100 0.0041897723 0.0019974884 0.0040596419 + 276200 0.0046088875 0.0020858035 0.0043542403 + 276300 0.0072240131 0.002094959 0.0056505279 + 276400 0.0055478904 0.0022366082 0.0049672105 + 276500 0.0055579578 0.0026998819 0.0054354393 + 276600 0.0043318636 0.0024750289 0.004607118 + 276700 0.0064119674 0.0021705242 0.0053264144 + 276800 0.0053954591 0.0022477407 0.0049033182 + 276900 0.0052614567 0.0024098325 0.0049994557 + 277000 0.0048636238 0.0018590855 0.0042529003 + 277100 0.003520994 0.0016787062 0.0034116954 + 277200 0.004140638 0.0013561996 0.0033941699 + 277300 0.0042454512 0.0015178683 0.0036074263 + 277400 0.0054319431 0.001564842 0.0042383764 + 277500 0.0046889981 0.0016627103 0.0039705766 + 277600 0.0043380388 0.0022512305 0.0043863589 + 277700 0.0056332479 0.0023634649 0.0051360791 + 277800 0.0057502842 0.0016951058 0.0045253238 + 277900 0.0056749196 0.001981014 0.0047741385 + 278000 0.0036075385 0.0026654385 0.0044410239 + 278100 0.0052572262 0.0027417245 0.0053292656 + 278200 0.0042513624 0.002936908 0.0050293754 + 278300 0.0050386651 0.0030552669 0.0055352349 + 278400 0.0072303073 0.0021701343 0.0057288011 + 278500 0.0063783166 0.0022290795 0.0053684072 + 278600 0.0043831161 0.0024259208 0.0045832358 + 278700 0.0065951424 0.00194576 0.0051918067 + 278800 0.0054278298 0.001956374 0.004627884 + 278900 0.0053726837 0.0019995452 0.004643913 + 279000 0.0060749824 0.0016992056 0.004689236 + 279100 0.0061532296 0.0019178694 0.0049464121 + 279200 0.0057572341 0.002129961 0.0049635997 + 279300 0.0068822259 0.002405421 0.0057927666 + 279400 0.0054554468 0.0026650646 0.0053501674 + 279500 0.0048317323 0.0029288986 0.0053070168 + 279600 0.0065983663 0.0021639858 0.0054116192 + 279700 0.005003009 0.0021960955 0.004658514 + 279800 0.0042077492 0.002117982 0.0041889836 + 279900 0.0050582914 0.0028482785 0.0053379063 + 280000 0.0051803771 0.0031812829 0.0057309998 + 280100 0.0068770128 0.0025702195 0.0059549992 + 280200 0.004635281 0.0021733645 0.0044547919 + 280300 0.0047597789 0.0017885257 0.0041312294 + 280400 0.0049991935 0.0020213712 0.0044819118 + 280500 0.0049963018 0.0020851906 0.0045443079 + 280600 0.0044653591 0.0022407593 0.0044385532 + 280700 0.0049027816 0.0024770707 0.0048901585 + 280800 0.0045988823 0.0018999586 0.004163471 + 280900 0.0054186092 0.0016150068 0.0042819785 + 281000 0.0047496988 0.0021406007 0.0044783431 + 281100 0.0043663199 0.0024074713 0.0045565194 + 281200 0.0046968367 0.0021369448 0.0044486692 + 281300 0.0045476529 0.0017696397 0.0040079377 + 281400 0.0064500517 0.0015921606 0.0047667954 + 281500 0.0043363341 0.0020210274 0.0041553169 + 281600 0.0042955159 0.0022738612 0.0043880604 + 281700 0.0042434109 0.0018594373 0.0039479911 + 281800 0.0042175849 0.0019760324 0.0040518749 + 281900 0.0035388071 0.0025743888 0.0043161454 + 282000 0.0046843838 0.0023981728 0.004703768 + 282100 0.0056874711 0.0020478275 0.0048471296 + 282200 0.0058917464 0.0020042797 0.0049041237 + 282300 0.0045129028 0.0023344608 0.0045556552 + 282400 0.0057282285 0.0024930632 0.0053124257 + 282500 0.0066411478 0.0032656145 0.0065343044 + 282600 0.0069439342 0.003100206 0.0065179236 + 282700 0.004129887 0.0025246121 0.0045572909 + 282800 0.0053519687 0.0025942337 0.0052284058 + 282900 0.0041982288 0.0023332108 0.0043995266 + 283000 0.0044830169 0.0022258465 0.0044323314 + 283100 0.0063056098 0.0021801693 0.0052837116 + 283200 0.0050993641 0.002300683 0.0048105262 + 283300 0.004185084 0.002661567 0.0047214131 + 283400 0.0034945964 0.0023137574 0.0040337541 + 283500 0.0030590252 0.0022222645 0.0037278785 + 283600 0.0061361734 0.0023552407 0.0053753886 + 283700 0.004768576 0.0027039614 0.0050509949 + 283800 0.0045701799 0.0024720693 0.0047214548 + 283900 0.0049408708 0.0023043212 0.0047361561 + 284000 0.0049358636 0.002203072 0.0046324424 + 284100 0.0047068783 0.0018293951 0.0041460617 + 284200 0.0057271662 0.0019050539 0.0047238935 + 284300 0.0048602186 0.0020232597 0.0044153985 + 284400 0.0046399298 0.0017306248 0.0040143402 + 284500 0.004838342 0.0021547082 0.0045360796 + 284600 0.0053105939 0.0022403043 0.0048541123 + 284700 0.0049292796 0.0023180445 0.0047441743 + 284800 0.0052194381 0.0023143728 0.004883315 + 284900 0.0052130417 0.0023936567 0.0049594507 + 285000 0.0043442216 0.0024261814 0.004564353 + 285100 0.006233051 0.0024174475 0.0054852773 + 285200 0.0050914973 0.0019829213 0.0044888926 + 285300 0.0046185212 0.0019569279 0.0042301063 + 285400 0.0045282902 0.0019725166 0.0042012844 + 285500 0.0049141769 0.0018458871 0.0042645836 + 285600 0.0056971937 0.001808528 0.0046126155 + 285700 0.0049916766 0.0019151184 0.0043719592 + 285800 0.0053458969 0.0020794961 0.0047106797 + 285900 0.0054678514 0.0017456399 0.004436848 + 286000 0.0059128621 0.0017128373 0.0046230741 + 286100 0.0047479889 0.0023382417 0.0046751425 + 286200 0.006799768 0.0025924905 0.0059392513 + 286300 0.0053577271 0.0030510977 0.005688104 + 286400 0.0039977238 0.0026332707 0.0046009003 + 286500 0.0069462545 0.0025059442 0.0059248038 + 286600 0.0043150032 0.0029942664 0.0051180571 + 286700 0.00560429 0.0023949108 0.0051532723 + 286800 0.0055775448 0.0023973771 0.0051425749 + 286900 0.0063759399 0.0026614711 0.005799629 + 287000 0.0045365168 0.0026515829 0.0048843997 + 287100 0.0060747941 0.0027114281 0.0057013658 + 287200 0.004172689 0.0028114402 0.0048651856 + 287300 0.0045376667 0.0026113572 0.0048447401 + 287400 0.0060645654 0.0024012045 0.0053861078 + 287500 0.0052383311 0.0023951955 0.0049734366 + 287600 0.0055368562 0.0022310437 0.0049562151 + 287700 0.0052636091 0.0018138397 0.0044045223 + 287800 0.0062828453 0.0021714179 0.0052637558 + 287900 0.0042104707 0.0022595452 0.0043318863 + 288000 0.0057777004 0.0018355297 0.0046792416 + 288100 0.0051921985 0.0021810501 0.0047365853 + 288200 0.0058528773 0.0026100163 0.0054907293 + 288300 0.0058341614 0.0026436807 0.005515182 + 288400 0.0052182311 0.0026295384 0.0051978865 + 288500 0.004299066 0.0025109751 0.0046269216 + 288600 0.0043859205 0.0019025164 0.0040612117 + 288700 0.0052304298 0.0016545307 0.0042288828 + 288800 0.0037215091 0.001916718 0.0037483982 + 288900 0.0035523313 0.00209225 0.0038406631 + 289000 0.0040814138 0.0018715773 0.0038803982 + 289100 0.0040749802 0.0015220359 0.0035276902 + 289200 0.004563635 0.0016286313 0.0038747954 + 289300 0.0043571533 0.0018914432 0.0040359796 + 289400 0.0036877039 0.0021866842 0.004001726 + 289500 0.0033650594 0.0020512442 0.0037074844 + 289600 0.0052908587 0.0019624332 0.0045665277 + 289700 0.005062489 0.0020473023 0.0045389961 + 289800 0.0049112042 0.0022290304 0.0046462637 + 289900 0.0053688528 0.0022261331 0.0048686153 + 290000 0.0054714003 0.00238285 0.0050758048 + 290100 0.0054705891 0.0024137111 0.0051062667 + 290200 0.0048228561 0.0023046324 0.0046783819 + 290300 0.0048015411 0.0021683083 0.0045315668 + 290400 0.0050067351 0.0021795458 0.0046437982 + 290500 0.0058691785 0.0019661364 0.0048548727 + 290600 0.0047319972 0.002243638 0.0045726679 + 290700 0.0061390566 0.002591001 0.0056125679 + 290800 0.005353336 0.0027388023 0.0053736473 + 290900 0.0059276512 0.0031800288 0.0060975447 + 291000 0.0049850416 0.0029089602 0.0053625353 + 291100 0.0061668677 0.0020745749 0.0051098301 + 291200 0.0051890402 0.0016073654 0.0041613462 + 291300 0.0048298542 0.0019888237 0.0043660176 + 291400 0.0045341831 0.0022236302 0.0044552984 + 291500 0.0063239277 0.0019171301 0.0050296883 + 291600 0.0065558982 0.0023911498 0.0056178809 + 291700 0.0054762724 0.0028171959 0.0055125487 + 291800 0.005722823 0.0029778241 0.005794526 + 291900 0.004683525 0.0026245364 0.0049297089 + 292000 0.0057753239 0.0023005972 0.0051431395 + 292100 0.0046110268 0.0024812047 0.0047506945 + 292200 0.0048003443 0.0023713009 0.0047339703 + 292300 0.004681882 0.0024257536 0.0047301174 + 292400 0.0052092643 0.0023472006 0.0049111354 + 292500 0.0056114893 0.0024010271 0.005162932 + 292600 0.0047876668 0.0020866721 0.0044431019 + 292700 0.0053880281 0.0021662566 0.0048181767 + 292800 0.0052626616 0.0028133611 0.0054035773 + 292900 0.0051567001 0.0026750901 0.0052131534 + 293000 0.0050489134 0.0025886298 0.0050736419 + 293100 0.0038216528 0.0027921383 0.004673108 + 293200 0.005623423 0.0025697967 0.0053375752 + 293300 0.0065145971 0.0018053043 0.0050117076 + 293400 0.004938578 0.0019736633 0.0044043696 + 293500 0.0044552349 0.0024181591 0.00461097 + 293600 0.0060091635 0.0027142015 0.0056718367 + 293700 0.0045917332 0.0030291169 0.0052891106 + 293800 0.0063812958 0.0029222789 0.0060630729 + 293900 0.0061683918 0.0026194997 0.005655505 + 294000 0.0050876898 0.0025255452 0.0050296425 + 294100 0.0064434002 0.0025515397 0.0057229008 + 294200 0.0050263743 0.0022643841 0.0047383027 + 294300 0.0046935827 0.0018206187 0.0041307414 + 294400 0.0043713792 0.0019639927 0.0041155309 + 294500 0.0038691431 0.0023440425 0.0042483863 + 294600 0.0041443337 0.0023542929 0.0043940821 + 294700 0.0047761357 0.0023763704 0.0047271247 + 294800 0.0058036973 0.002577991 0.0054344983 + 294900 0.0032174384 0.0031578984 0.0047414814 + 295000 0.0041326157 0.0028312804 0.0048653023 + 295100 0.0047699002 0.0027233964 0.0050710817 + 295200 0.0053388613 0.0028745491 0.0055022699 + 295300 0.0044648536 0.003102311 0.0052998561 + 295400 0.0037315193 0.0037024038 0.005539011 + 295500 0.0047320782 0.0038539053 0.0061829751 + 295600 0.0047945335 0.0039841369 0.0063439463 + 295700 0.004501885 0.0035775416 0.0057933132 + 295800 0.0046577659 0.0033848838 0.0056773779 + 295900 0.0043655634 0.0031507441 0.0052994198 + 296000 0.0050425134 0.003369187 0.005851049 + 296100 0.0048280944 0.0039351316 0.0063114594 + 296200 0.0057850591 0.004011328 0.0068586618 + 296300 0.0047632502 0.0034987583 0.0058431705 + 296400 0.0045903924 0.0034994806 0.0057588143 + 296500 0.0054547929 0.0036914364 0.0063762173 + 296600 0.0056680887 0.0041171169 0.0069068793 + 296700 0.0044638722 0.0038960668 0.0060931289 + 296800 0.0046988564 0.0038288201 0.0061415385 + 296900 0.0053482637 0.0033676742 0.0060000227 + 297000 0.0049736501 0.0026883851 0.0051363535 + 297100 0.0048279476 0.002489462 0.0048657174 + 297200 0.0067151482 0.0023855199 0.0056906319 + 297300 0.0036861091 0.0028255392 0.004639796 + 297400 0.0037353804 0.0030810524 0.00491956 + 297500 0.005054177 0.0028445885 0.0053321912 + 297600 0.0041982683 0.003414521 0.0054808562 + 297700 0.0051665777 0.0029158035 0.0054587285 + 297800 0.0056267008 0.0029932491 0.0057626409 + 297900 0.0047894391 0.0033125728 0.0056698748 + 298000 0.0050938468 0.0029143325 0.0054214603 + 298100 0.006560443 0.0024815059 0.0057104739 + 298200 0.0064361012 0.0025811904 0.005748959 + 298300 0.0042625674 0.0029099596 0.005007942 + 298400 0.0057987348 0.0027819543 0.0056360191 + 298500 0.0041916361 0.0029221337 0.0049852046 + 298600 0.0040299317 0.0035713987 0.0055548807 + 298700 0.0047716656 0.0031948652 0.0055434194 + 298800 0.0054470654 0.0027142585 0.005395236 + 298900 0.0050687642 0.0029528231 0.0054476055 + 299000 0.0045661962 0.0030635187 0.0053109434 + 299100 0.0044955442 0.0028338279 0.0050464786 + 299200 0.0056666178 0.0027740768 0.0055631152 + 299300 0.0045737756 0.0023572754 0.0046084306 + 299400 0.0066380545 0.0021379187 0.0054050861 + 299500 0.0057717039 0.0025196605 0.005360421 + 299600 0.0054850732 0.0033670609 0.0060667454 + 299700 0.0059891698 0.0034666421 0.0064144367 + 299800 0.0055398687 0.0030127846 0.0057394387 + 299900 0.0048303464 0.0028326083 0.0052100444 + 300000 0.004407302 0.0023494468 0.0045186658 + 300100 0.00477637 0.0021841283 0.0045349979 + 300200 0.0048083762 0.0024451386 0.0048117612 + 300300 0.0056085078 0.002680185 0.0054406225 + 300400 0.0074233179 0.0023134305 0.0059670948 + 300500 0.0050704408 0.0026439586 0.0051395662 + 300600 0.0049634917 0.0022972331 0.0047402017 + 300700 0.0036546055 0.001960305 0.0037590562 + 300800 0.0049432606 0.0023915163 0.0048245274 + 300900 0.0053253321 0.0027894647 0.0054105265 + 301000 0.0053744909 0.002529552 0.0051748093 + 301100 0.0051558756 0.002276316 0.0048139735 + 301200 0.0050724895 0.0026398044 0.0051364204 + 301300 0.0054766116 0.0028522677 0.0055477875 + 301400 0.0082819788 0.0023352417 0.0064115281 + 301500 0.0070224256 0.0019944516 0.0054508018 + 301600 0.0050522409 0.0020378151 0.0045244649 + 301700 0.0049488574 0.0020421286 0.0044778943 + 301800 0.0050908856 0.0022183443 0.0047240145 + 301900 0.0041866625 0.0020786426 0.0041392656 + 302000 0.004739559 0.0017319415 0.0040646932 + 302100 0.0037248892 0.0023807207 0.0042140646 + 302200 0.0042094663 0.0022181837 0.0042900304 + 302300 0.0039733197 0.002222742 0.0041783603 + 302400 0.0047346361 0.0019066583 0.004236987 + 302500 0.0050623457 0.0017640479 0.0042556712 + 302600 0.0052462504 0.0016013883 0.0041835272 + 302700 0.0042686844 0.0015541398 0.0036551329 + 302800 0.0042301754 0.002104899 0.0041869385 + 302900 0.0033483017 0.0021384126 0.0037864048 + 303000 0.00442122 0.0018350766 0.0040111458 + 303100 0.0062186178 0.0017203988 0.0047811248 + 303200 0.0047340346 0.0019720364 0.0043020691 + 303300 0.004689168 0.0020101917 0.0043181416 + 303400 0.0045578588 0.0020445194 0.0042878406 + 303500 0.0043817621 0.0021850783 0.0043417268 + 303600 0.0035841208 0.0021516824 0.0039157419 + 303700 0.0058968622 0.0019518054 0.0048541672 + 303800 0.0033484182 0.0020529718 0.0037010214 + 303900 0.0050449146 0.0022799799 0.0047630238 + 304000 0.0036037773 0.0026255556 0.0043992897 + 304100 0.0062312177 0.0024235938 0.0054905213 + 304200 0.0041263208 0.0023744005 0.004405324 + 304300 0.0043984139 0.0020822054 0.0042470498 + 304400 0.0040928712 0.002374974 0.0043894341 + 304500 0.0055371047 0.0021760806 0.0049013743 + 304600 0.0044048041 0.0026272372 0.0047952267 + 304700 0.0058012126 0.0030399629 0.0058952472 + 304800 0.0050516176 0.0033354943 0.0058218374 + 304900 0.006836836 0.0025240536 0.0058890589 + 305000 0.0050902157 0.0025884308 0.0050937713 + 305100 0.0057291004 0.0023419568 0.0051617485 + 305200 0.0053228108 0.0020239837 0.0046438046 + 305300 0.0053955911 0.0019479152 0.0046035577 + 305400 0.0040193581 0.0021271401 0.0041054179 + 305500 0.0041849574 0.0018470205 0.0039068042 + 305600 0.0049514905 0.0018458081 0.0042828699 + 305700 0.0052652823 0.0019558431 0.0045473492 + 305800 0.0034979488 0.0022951898 0.0040168364 + 305900 0.0052354035 0.0025450889 0.0051218891 + 306000 0.0031370684 0.0024383519 0.0039823777 + 306100 0.0045551135 0.0023856564 0.0046276263 + 306200 0.0050935701 0.0021239503 0.0046309418 + 306300 0.0040784925 0.0022937909 0.0043011739 + 306400 0.0042540116 0.002397879 0.0044916504 + 306500 0.0052467446 0.002004087 0.0045864691 + 306600 0.0065488406 0.0020348609 0.0052581183 + 306700 0.0043596903 0.0029051269 0.0050509119 + 306800 0.0046645979 0.002972177 0.0052680338 + 306900 0.0047547176 0.0033045484 0.005644761 + 307000 0.0047681746 0.0031120867 0.0054589227 + 307100 0.0054867773 0.0026596551 0.0053601783 + 307200 0.0058500079 0.0025111704 0.0053904712 + 307300 0.0063982978 0.0027160652 0.0058652274 + 307400 0.0059730175 0.0028699288 0.0058097734 + 307500 0.0050090784 0.0026526477 0.0051180535 + 307600 0.0048612647 0.0024766319 0.0048692856 + 307700 0.0059681011 0.0028568836 0.0057943084 + 307800 0.0054060074 0.0030058971 0.0056666664 + 307900 0.0053494347 0.0029024838 0.0055354088 + 308000 0.0058962963 0.0023574841 0.0052595674 + 308100 0.005637914 0.0022458487 0.0050207595 + 308200 0.0049152158 0.0022066836 0.0046258914 + 308300 0.0056515714 0.0022415117 0.0050231445 + 308400 0.005359579 0.0020391035 0.0046770213 + 308500 0.0046308227 0.0019509338 0.0042301669 + 308600 0.0048121191 0.0020273697 0.0043958346 + 308700 0.0049875113 0.0022333949 0.0046881856 + 308800 0.0047266329 0.0020339881 0.0043603777 + 308900 0.0042208711 0.0021573432 0.0042348032 + 309000 0.0037077832 0.0023635859 0.0041885104 + 309100 0.0040910602 0.0023000052 0.0043135739 + 309200 0.0049812937 0.002431241 0.0048829715 + 309300 0.0055188262 0.002133444 0.0048497413 + 309400 0.0054182701 0.0021795727 0.0048463775 + 309500 0.0051889796 0.0022679366 0.0048218875 + 309600 0.0035676311 0.0023042104 0.0040601538 + 309700 0.0058294328 0.0020906737 0.0049598477 + 309800 0.0054913561 0.0021131805 0.0048159573 + 309900 0.0054057385 0.001950806 0.0046114429 + 310000 0.0039120885 0.0022033321 0.0041288131 + 310100 0.0043571969 0.0025734192 0.0047179771 + 310200 0.0059126183 0.0023678949 0.0052780118 + 310300 0.0043364634 0.0020560957 0.0041904488 + 310400 0.007548701 0.0018570945 0.0055724707 + 310500 0.0060028963 0.0016888139 0.0046433644 + 310600 0.0038766214 0.0018548754 0.0037629 + 310700 0.0052795658 0.0018261991 0.0044247354 + 310800 0.0056715525 0.0021457627 0.0049372299 + 310900 0.0056869259 0.0022381788 0.0050372126 + 311000 0.0053091031 0.002502259 0.0051153332 + 311100 0.0044708064 0.0022637002 0.0044641752 + 311200 0.0047870457 0.0015593789 0.003915503 + 311300 0.0044255125 0.0017381618 0.0039163437 + 311400 0.0050789394 0.0022633584 0.0047631489 + 311500 0.0055457542 0.0022889548 0.0050185058 + 311600 0.0061165704 0.0020854722 0.0050959717 + 311700 0.0046995428 0.0021023285 0.0044153847 + 311800 0.0051916003 0.0023305646 0.0048858054 + 311900 0.0041874877 0.002382633 0.0044436621 + 312000 0.0056161507 0.0019128454 0.0046770445 + 312100 0.0056300932 0.0017734256 0.0045444871 + 312200 0.0046984931 0.0019349466 0.0042474862 + 312300 0.0058892667 0.0019832623 0.0048818857 + 312400 0.0046603011 0.0018206541 0.0041143961 + 312500 0.0051248228 0.0016915406 0.0042139143 + 312600 0.003623361 0.0025082263 0.0042915993 + 312700 0.00436203 0.0027990309 0.0049459675 + 312800 0.0051419582 0.0022438221 0.0047746296 + 312900 0.0053865161 0.0019997127 0.0046508885 + 313000 0.0032852554 0.0020405837 0.0036575454 + 313100 0.0053423861 0.0021515747 0.0047810303 + 313200 0.0055723456 0.0022226532 0.004965292 + 313300 0.0043421363 0.0025150696 0.0046522148 + 313400 0.0041458275 0.0026320537 0.0046725782 + 313500 0.0054786839 0.0023822567 0.0050787965 + 313600 0.0052435321 0.0020792066 0.0046600076 + 313700 0.0034127325 0.0017954081 0.0034751124 + 313800 0.0061383639 0.001561761 0.004582987 + 313900 0.0045462185 0.0016283636 0.0038659555 + 314000 0.0052934339 0.0023337136 0.0049390756 + 314100 0.0036827914 0.0027374778 0.0045501017 + 314200 0.0051690441 0.0026335222 0.0051776611 + 314300 0.0045593208 0.0023326227 0.0045766634 + 314400 0.0048705022 0.0022515356 0.0046487359 + 314500 0.003898442 0.0022965814 0.0042153458 + 314600 0.0040825937 0.0023101072 0.0043195088 + 314700 0.006707449 0.0022111779 0.0055125005 + 314800 0.0046805158 0.002372918 0.0046766093 + 314900 0.0055302609 0.0027370076 0.0054589329 + 315000 0.0051276004 0.002757763 0.0052815038 + 315100 0.0049702658 0.0024483286 0.0048946313 + 315200 0.0037529144 0.002543446 0.0043905835 + 315300 0.0042338203 0.0028972502 0.0049810836 + 315400 0.0063067169 0.0029903698 0.006094457 + 315500 0.0047048896 0.0031393154 0.0054550032 + 315600 0.0051435142 0.0028387204 0.0053702938 + 315700 0.0062954677 0.0021036712 0.0052022218 + 315800 0.004237169 0.0023599097 0.0044453913 + 315900 0.004397165 0.0023196885 0.0044839182 + 316000 0.0043302122 0.0020323299 0.0041636062 + 316100 0.0049271998 0.0020654736 0.0044905797 + 316200 0.0053085607 0.0027064701 0.0053192773 + 316300 0.0044725613 0.0033813536 0.0055826924 + 316400 0.0046519413 0.0029610602 0.0052506875 + 316500 0.0054014814 0.0023263517 0.0049848933 + 316600 0.0044283178 0.002510769 0.0046903316 + 316700 0.0067717605 0.001844347 0.0051773229 + 316800 0.0044669332 0.0021077543 0.004306323 + 316900 0.0036547785 0.0025468883 0.0043457246 + 317000 0.0050171048 0.0023962162 0.0048655725 + 317100 0.0071787377 0.0024097465 0.0059430314 + 317200 0.0044148338 0.0020594222 0.0042323482 + 317300 0.0043079915 0.0021105472 0.0042308867 + 317400 0.0038560663 0.0024198225 0.0043177301 + 317500 0.0050116933 0.0027338187 0.0052005115 + 317600 0.0060326032 0.002347974 0.0053171459 + 317700 0.0054623456 0.0021779604 0.0048664587 + 317800 0.0048331001 0.0021761574 0.0045549488 + 317900 0.0063524084 0.0022339737 0.0053605498 + 318000 0.004901513 0.0024114101 0.0048238736 + 318100 0.0040332184 0.002412127 0.0043972267 + 318200 0.0029339959 0.0025659409 0.004010017 + 318300 0.0045585473 0.0023486087 0.0045922688 + 318400 0.0054704093 0.0020840383 0.0047765053 + 318500 0.0050797247 0.0021891589 0.0046893359 + 318600 0.0054525684 0.0019969945 0.0046806805 + 318700 0.0053762293 0.001726044 0.0043721569 + 318800 0.0054249501 0.0017018242 0.0043719169 + 318900 0.004330402 0.0019833171 0.0041146868 + 319000 0.0038360328 0.0021522708 0.0040403181 + 319100 0.0055684809 0.0020167165 0.0047574532 + 319200 0.004284045 0.0019434688 0.0040520222 + 319300 0.0063718334 0.0017816172 0.0049177539 + 319400 0.0051533336 0.0018074207 0.004343827 + 319500 0.0048021719 0.00171344 0.004077009 + 319600 0.0037444614 0.0018686862 0.0037116633 + 319700 0.0052170381 0.0018346701 0.0044024311 + 319800 0.0049567957 0.0015128261 0.0039524989 + 319900 0.005423445 0.0015575245 0.0042268763 + 320000 0.0047558433 0.0020817794 0.004422546 + 320100 0.0053541203 0.0022594276 0.0048946586 + 320200 0.0048890929 0.0027585231 0.0051648735 + 320300 0.0046885042 0.0027292093 0.0050368325 + 320400 0.0042832678 0.0024342388 0.0045424096 + 320500 0.006275035 0.0025951797 0.0056836735 + 320600 0.004313069 0.0029318888 0.0050547275 + 320700 0.0059163932 0.0027556207 0.0056675955 + 320800 0.0054062737 0.0029163113 0.0055772116 + 320900 0.0041848346 0.0025107955 0.0045705188 + 321000 0.0049411991 0.0020041346 0.004436131 + 321100 0.0077328449 0.0016776986 0.0054837082 + 321200 0.0057871649 0.0017208619 0.0045692321 + 321300 0.0060196546 0.0022030384 0.0051658372 + 321400 0.00461595 0.0026544299 0.0049263428 + 321500 0.0042537204 0.0027478067 0.0048414347 + 321600 0.0046237703 0.0026813013 0.0049570633 + 321700 0.0055182986 0.002393261 0.0051092986 + 321800 0.0047211208 0.0016341463 0.0039578229 + 321900 0.0061683206 0.0016900629 0.0047260332 + 322000 0.0047461837 0.0019787575 0.0043147697 + 322100 0.0060556065 0.0019963216 0.0049768154 + 322200 0.0055081249 0.0022298018 0.004940832 + 322300 0.0054487291 0.0021818264 0.0048636228 + 322400 0.0044364616 0.0023282912 0.0045118622 + 322500 0.0049557678 0.0022436216 0.0046827886 + 322600 0.0036995459 0.0019292417 0.0037501119 + 322700 0.0062886367 0.0019391413 0.0050343297 + 322800 0.0059683071 0.0022501036 0.0051876298 + 322900 0.0049483262 0.0021878231 0.0046233273 + 323000 0.0046811018 0.0020223173 0.0043262971 + 323100 0.0052530583 0.0021954349 0.0047809245 + 323200 0.0042666355 0.0024625931 0.0045625777 + 323300 0.0051179845 0.0027274651 0.0052464731 + 323400 0.0042851112 0.0028408075 0.0049498857 + 323500 0.0051256743 0.0024649027 0.0049876955 + 323600 0.0069470662 0.002182073 0.0056013322 + 323700 0.0052414917 0.0021300172 0.0047098139 + 323800 0.0046729298 0.0021642415 0.0044641991 + 323900 0.003672568 0.0022504011 0.0040579931 + 324000 0.0040985566 0.002603244 0.0046205023 + 324100 0.0055987003 0.0020428228 0.004798433 + 324200 0.0046573668 0.0020766897 0.0043689874 + 324300 0.0053773689 0.0021114389 0.0047581126 + 324400 0.0049274468 0.0021303746 0.0045556023 + 324500 0.0040833991 0.0022241856 0.0042339836 + 324600 0.0047327468 0.0022688538 0.0045982526 + 324700 0.0048887141 0.0020520794 0.0044582434 + 324800 0.0046422501 0.0021103133 0.0043951708 + 324900 0.0048881105 0.0023761989 0.0047820658 + 325000 0.0060047671 0.0025870226 0.0055424939 + 325100 0.0049180187 0.0027790555 0.0051996428 + 325200 0.0062007002 0.0023988109 0.005450718 + 325300 0.0044993526 0.0024316518 0.0046461769 + 325400 0.0055093535 0.0024568251 0.00516846 + 325500 0.0069679736 0.0026954358 0.0061249853 + 325600 0.0069193015 0.0022678818 0.0056734755 + 325700 0.0045540257 0.0020017747 0.0042432092 + 325800 0.0053570349 0.0021692353 0.004805901 + 325900 0.0053877121 0.0025044219 0.0051561865 + 326000 0.0046825941 0.0025691204 0.0048738347 + 326100 0.003925802 0.0022019042 0.0041341349 + 326200 0.0062582327 0.0015244106 0.0046046345 + 326300 0.0068347571 0.0020053268 0.0053693088 + 326400 0.0046983633 0.00297375 0.0052862258 + 326500 0.0058448115 0.0030711255 0.0059478687 + 326600 0.005139949 0.0027408719 0.0052706906 + 326700 0.0054095148 0.0026682707 0.0053307663 + 326800 0.0054034172 0.0026692949 0.0053287893 + 326900 0.0050380489 0.0030087552 0.0054884199 + 327000 0.0034580091 0.0030424687 0.0047444575 + 327100 0.0052446371 0.0024043662 0.004985711 + 327200 0.0046463652 0.0024948102 0.0047816931 + 327300 0.0038620132 0.002641501 0.0045423356 + 327400 0.0073741605 0.0025322087 0.0061616783 + 327500 0.0052571985 0.0027780421 0.0053655695 + 327600 0.005088172 0.0030493757 0.0055537103 + 327700 0.0065554774 0.0032792446 0.0065057686 + 327800 0.0052343162 0.0030574814 0.0056337464 + 327900 0.0049236987 0.0031555679 0.0055789509 + 328000 0.0052031062 0.0035526073 0.0061135112 + 328100 0.0060673871 0.0037342013 0.0067204934 + 328200 0.0050889049 0.0036389355 0.0061436309 + 328300 0.0050785826 0.0035460685 0.0060456833 + 328400 0.0045434383 0.0034408666 0.0056770901 + 328500 0.0052877579 0.0029696224 0.0055721908 + 328600 0.0050253347 0.0024848099 0.0049582168 + 328700 0.0052512171 0.0022022801 0.0047868635 + 328800 0.0049160892 0.0025730983 0.0049927359 + 328900 0.0050941844 0.0025926357 0.0050999296 + 329000 0.0039180984 0.0026692127 0.0045976517 + 329100 0.0054585344 0.002482941 0.0051695634 + 329200 0.0054954159 0.0026444515 0.0053492265 + 329300 0.0046143964 0.0025941152 0.0048652634 + 329400 0.006960367 0.0019194005 0.0053452061 + 329500 0.0047686944 0.0019079107 0.0042550025 + 329600 0.0051870621 0.0018777292 0.0044307363 + 329700 0.0059538034 0.0015264193 0.0044568069 + 329800 0.0043799686 0.0020161335 0.0041718993 + 329900 0.0052712923 0.0021590463 0.0047535105 + 330000 0.0053332301 0.0025410555 0.0051660047 + 330100 0.0046552418 0.0024851589 0.0047764107 + 330200 0.0048900717 0.0023225208 0.0047293529 + 330300 0.0053167511 0.0022525034 0.0048693418 + 330400 0.0048345322 0.002077708 0.0044572044 + 330500 0.0048050781 0.0019270586 0.004292058 + 330600 0.0047251509 0.002101988 0.0044276482 + 330700 0.0039152501 0.002329562 0.0042565992 + 330800 0.0046767587 0.002431382 0.0047332242 + 330900 0.0056838327 0.0022556699 0.0050531812 + 331000 0.0055205194 0.0021515436 0.0048686743 + 331100 0.0049053012 0.0020338647 0.0044481926 + 331200 0.0045840723 0.0019497666 0.0042059897 + 331300 0.0056883506 0.0018411301 0.0046408652 + 331400 0.0035325639 0.0021928754 0.0039315592 + 331500 0.005869627 0.0021434509 0.0050324079 + 331600 0.004183353 0.0023965949 0.0044555889 + 331700 0.0051743173 0.0021144378 0.0046611722 + 331800 0.0038044271 0.0017878303 0.0036603217 + 331900 0.0053013268 0.001670427 0.0042796739 + 332000 0.0047421602 0.002057254 0.0043912859 + 332100 0.0042269323 0.0024985037 0.004578947 + 332200 0.0053408182 0.0028982098 0.0055268937 + 332300 0.0051917881 0.00265377 0.0052091031 + 332400 0.0055172461 0.0022514795 0.0049669991 + 332500 0.0041866221 0.0026833936 0.0047439967 + 332600 0.0043529057 0.0029903164 0.0051327622 + 332700 0.0062293779 0.0020483112 0.0051143331 + 332800 0.0068322091 0.0018817668 0.0052444948 + 332900 0.0040134166 0.0018680803 0.0038434338 + 333000 0.0061292018 0.0022366792 0.0052533957 + 333100 0.004932516 0.0023471574 0.0047748801 + 333200 0.0061575874 0.0021419923 0.0051726799 + 333300 0.0050726641 0.0022762897 0.0047729916 + 333400 0.0054191051 0.00214659 0.0048138057 + 333500 0.0063655078 0.0017205742 0.0048535975 + 333600 0.0045410157 0.0018944772 0.0041295083 + 333700 0.0030479874 0.0022480072 0.0037481885 + 333800 0.004962038 0.0023021475 0.0047444006 + 333900 0.0057596988 0.0021670178 0.0050018696 + 334000 0.0049113554 0.0025308301 0.0049481378 + 334100 0.0039345305 0.0025575924 0.0044941191 + 334200 0.0048117365 0.0031461428 0.0055144194 + 334300 0.0051048097 0.0029536036 0.0054661272 + 334400 0.0068333567 0.0021771046 0.0055403973 + 334500 0.0052793974 0.0018210092 0.0044194626 + 334600 0.0056259121 0.0019640803 0.0047330839 + 334700 0.0053889992 0.0023503824 0.0050027805 + 334800 0.0044886898 0.0024747015 0.0046839786 + 334900 0.0047925746 0.0025418338 0.0049006791 + 335000 0.0044154385 0.0023696633 0.0045428869 + 335100 0.0047571411 0.0024285907 0.004769996 + 335200 0.003993589 0.0022499831 0.0042155777 + 335300 0.004287693 0.0020806816 0.0041910305 + 335400 0.0045631241 0.0024013919 0.0046473046 + 335500 0.0055096628 0.0024665395 0.0051783266 + 335600 0.0040940996 0.0027143798 0.0047294445 + 335700 0.0052403425 0.002967039 0.0055462701 + 335800 0.0056061618 0.0035106349 0.0062699176 + 335900 0.0075980496 0.0034431504 0.0071828154 + 336000 0.0032215472 0.0033426906 0.0049282959 + 336100 0.0047077911 0.0026971073 0.0050142232 + 336200 0.0047663834 0.0022553563 0.0046013106 + 336300 0.0039328458 0.0020954134 0.0040311109 + 336400 0.0042018264 0.0022164094 0.0042844958 + 336500 0.0037977169 0.0027396769 0.0046088657 + 336600 0.0042739423 0.0025487615 0.0046523425 + 336700 0.0059793975 0.0023591355 0.0053021202 + 336800 0.0035023616 0.0024340604 0.004157879 + 336900 0.0040055936 0.0026585124 0.0046300155 + 337000 0.0049780844 0.002325301 0.0047754519 + 337100 0.0043256106 0.0022734046 0.0044024161 + 337200 0.004248647 0.0021038438 0.0041949748 + 337300 0.0052712734 0.0024560847 0.0050505396 + 337400 0.0069396545 0.0024496106 0.0058652219 + 337500 0.0060548065 0.0025200127 0.0055001128 + 337600 0.0045335519 0.002500282 0.0047316395 + 337700 0.0057117138 0.0024246632 0.0052358974 + 337800 0.0042014384 0.0022945544 0.0043624499 + 337900 0.004430173 0.0023453638 0.0045258396 + 338000 0.005024134 0.0027260699 0.0051988859 + 338100 0.0059976787 0.0027225217 0.0056745042 + 338200 0.0037443738 0.0027902104 0.0046331444 + 338300 0.0075222074 0.0021777655 0.0058801019 + 338400 0.006247184 0.001938065 0.0050128508 + 338500 0.0060858226 0.0023556697 0.0053510355 + 338600 0.0068085553 0.0025197505 0.0058708363 + 338700 0.0056970965 0.0025558051 0.0053598448 + 338800 0.0045576536 0.0023970817 0.0046403019 + 338900 0.0057812553 0.0025753358 0.0054207973 + 339000 0.0048550782 0.0025046226 0.0048942315 + 339100 0.0052733407 0.0024456583 0.0050411307 + 339200 0.0057388997 0.0020362481 0.0048608628 + 339300 0.0043296026 0.001772134 0.0039031103 + 339400 0.0038653054 0.0017886144 0.0036910694 + 339500 0.0051677407 0.0016747718 0.0042182692 + 339600 0.0049165801 0.0020145517 0.0044344309 + 339700 0.0045459704 0.0022275759 0.0044650457 + 339800 0.0056806909 0.0020143637 0.0048103287 + 339900 0.0052448513 0.0016424735 0.0042239237 + 340000 0.0052300848 0.001790711 0.0043648934 + 340100 0.0042548148 0.0020412132 0.0041353798 + 340200 0.004370051 0.0021633834 0.0043142679 + 340300 0.005587929 0.0023610796 0.0051113884 + 340400 0.0065133915 0.002703027 0.0059088369 + 340500 0.0043944002 0.0025235791 0.004686448 + 340600 0.005600272 0.0024071242 0.0051635081 + 340700 0.005864293 0.0020337677 0.0049200994 + 340800 0.004874457 0.0020398375 0.0044389843 + 340900 0.0056183186 0.0022348228 0.005000089 + 341000 0.0056199942 0.0022891475 0.0050552384 + 341100 0.0053342145 0.0018592687 0.0044847024 + 341200 0.0045659325 0.0017646364 0.0040119313 + 341300 0.003986842 0.0017677218 0.0037299956 + 341400 0.0047341378 0.0015510869 0.0038811704 + 341500 0.0044615818 0.0021497669 0.0043457017 + 341600 0.0050248061 0.0019984824 0.0044716292 + 341700 0.0040796134 0.002259972 0.0042679067 + 341800 0.0056162977 0.0021136203 0.0048778918 + 341900 0.0050670342 0.0025915947 0.0050855256 + 342000 0.0056804688 0.0025376988 0.0053335546 + 342100 0.0046931583 0.0023418552 0.0046517691 + 342200 0.0050276846 0.0018057045 0.004280268 + 342300 0.0052501665 0.0018632587 0.004447325 + 342400 0.0063160445 0.0019544946 0.0050631728 + 342500 0.0041530206 0.0021098871 0.004153952 + 342600 0.0062532956 0.0022192512 0.0052970452 + 342700 0.0058333135 0.0021487073 0.0050197913 + 342800 0.0051613759 0.0022681408 0.0048085055 + 342900 0.0059367913 0.0020783207 0.0050003351 + 343000 0.005200571 0.0021443554 0.0047040115 + 343100 0.0054280202 0.002408529 0.0050801326 + 343200 0.0049806026 0.0023304687 0.0047818591 + 343300 0.0054342149 0.0027119661 0.0053866188 + 343400 0.0063576618 0.0029670865 0.0060962482 + 343500 0.0053713221 0.0029423801 0.0055860777 + 343600 0.0041584408 0.0030906259 0.0051373585 + 343700 0.0032876152 0.0025705187 0.0041886418 + 343800 0.0050104163 0.0024429653 0.0049090296 + 343900 0.0048543915 0.0021944261 0.0045836969 + 344000 0.0048703942 0.0019176586 0.0043148057 + 344100 0.003295204 0.002284444 0.0039063022 + 344200 0.0055771511 0.0025991401 0.0053441441 + 344300 0.0042652153 0.0024363283 0.004535614 + 344400 0.0062176097 0.0021150784 0.0051753082 + 344500 0.0050678934 0.0021044766 0.0045988304 + 344600 0.0047160249 0.0020509256 0.0043720941 + 344700 0.0046508414 0.0023662449 0.0046553309 + 344800 0.0051567984 0.0018469929 0.0043851046 + 344900 0.004570061 0.0021653553 0.0044146822 + 345000 0.003046877 0.0022178712 0.0037175059 + 345100 0.0057348254 0.0022616528 0.0050842621 + 345200 0.006161358 0.0023404022 0.0053729456 + 345300 0.0058887984 0.0022254971 0.0051238901 + 345400 0.0044436968 0.002257732 0.004444864 + 345500 0.0042144354 0.0023213119 0.0043956043 + 345600 0.0057327721 0.0021188182 0.0049404169 + 345700 0.0052592935 0.0020069359 0.0045954945 + 345800 0.0042459225 0.0019016069 0.0039913969 + 345900 0.0052239414 0.0019851562 0.0045563148 + 346000 0.0061328181 0.0017614999 0.0047799964 + 346100 0.0052357636 0.0022311453 0.0048081227 + 346200 0.0045645144 0.0021838692 0.0044304662 + 346300 0.0037821052 0.0020397909 0.0039012958 + 346400 0.0043074193 0.0018144091 0.003934467 + 346500 0.0045143135 0.001417883 0.0036397717 + 346600 0.0055195658 0.0013540051 0.0040706664 + 346700 0.0047593025 0.0017194118 0.004061881 + 346800 0.0039306834 0.0016931342 0.0036277674 + 346900 0.0046604632 0.0017326507 0.0040264725 + 347000 0.0053054693 0.0016788032 0.0042900889 + 347100 0.0042388825 0.0021964062 0.0042827312 + 347200 0.0045697501 0.0023196422 0.004568816 + 347300 0.0034768158 0.0025364478 0.004247693 + 347400 0.0053914204 0.0022946437 0.0049482335 + 347500 0.0052014527 0.0019618516 0.0045219416 + 347600 0.0045722789 0.0015520863 0.0038025048 + 347700 0.0051123531 0.0015106333 0.0040268696 + 347800 0.0049361696 0.0017032092 0.0041327302 + 347900 0.005568933 0.0019522179 0.0046931771 + 348000 0.0051310638 0.0017643202 0.0042897656 + 348100 0.0039881148 0.0018777774 0.0038406777 + 348200 0.0035851959 0.0020266836 0.0037912722 + 348300 0.002952394 0.0022995776 0.003752709 + 348400 0.0039129392 0.0023289081 0.0042548078 + 348500 0.0064633647 0.0028891802 0.0060703675 + 348600 0.0048935115 0.0031469066 0.0055554318 + 348700 0.006335867 0.0024411307 0.0055595652 + 348800 0.0061243203 0.0024221811 0.0054364951 + 348900 0.0042463709 0.0022673099 0.0043573205 + 349000 0.0045989837 0.0022633951 0.0045269574 + 349100 0.0037373698 0.0025027384 0.0043422251 + 349200 0.0039409397 0.0025641848 0.004503866 + 349300 0.0045460844 0.0020147025 0.0042522284 + 349400 0.0044503 0.0016873567 0.0038777387 + 349500 0.0059720428 0.0017295309 0.0046688957 + 349600 0.0056155027 0.0022519698 0.0050158501 + 349700 0.0047371619 0.0026709878 0.0050025597 + 349800 0.0048362076 0.0023802091 0.0047605301 + 349900 0.0057864608 0.0021830239 0.0050310476 + 350000 0.0052236517 0.0024527568 0.0050237728 + 350100 0.004443983 0.0023268555 0.0045141284 + 350200 0.0042408303 0.0018857004 0.0039729841 + 350300 0.0047812553 0.0018573259 0.0042106 + 350400 0.0045467398 0.0021199094 0.0043577579 + 350500 0.0066430437 0.0019432182 0.0052128412 + 350600 0.0063660177 0.0016070519 0.0047403262 + 350700 0.0065046781 0.0022041933 0.0054057145 + 350800 0.0046062013 0.0025287184 0.0047958331 + 350900 0.0047136967 0.0023056726 0.0046256952 + 351000 0.0037208199 0.0024926689 0.00432401 + 351100 0.0053651181 0.0020464525 0.0046870965 + 351200 0.0070890549 0.002316582 0.0058057262 + 351300 0.0056898337 0.003073965 0.0058744301 + 351400 0.0050563954 0.0034530042 0.0059416988 + 351500 0.0051013005 0.0031434943 0.0056542907 + 351600 0.0048574345 0.0027764805 0.005167249 + 351700 0.0048242624 0.0022667373 0.004641179 + 351800 0.0065455496 0.0015948543 0.004816492 + 351900 0.0047199093 0.0016903909 0.0040134713 + 352000 0.0067600009 0.0019906811 0.0053178691 + 352100 0.0045308667 0.0021729548 0.0044029907 + 352200 0.0042702607 0.0022084932 0.0043102622 + 352300 0.0037805789 0.0023423166 0.0042030703 + 352400 0.0049377228 0.0021132711 0.0045435566 + 352500 0.0041337811 0.0022709297 0.004305525 + 352600 0.0037402035 0.0027041041 0.0045449855 + 352700 0.0046461666 0.0024632001 0.0047499853 + 352800 0.0040061669 0.0026069994 0.0045787847 + 352900 0.0039695487 0.0028137069 0.0047674691 + 353000 0.0047639571 0.0026280765 0.0049728367 + 353100 0.0050503369 0.002767478 0.0052531907 + 353200 0.0041564164 0.0027499747 0.0047957109 + 353300 0.0070587247 0.0027295157 0.0062037317 + 353400 0.0059001183 0.0027995774 0.0057035418 + 353500 0.0053257885 0.0022998181 0.0049211046 + 353600 0.0047305707 0.0023745987 0.0047029265 + 353700 0.0050102512 0.0028648263 0.0053308093 + 353800 0.0056849573 0.0024770559 0.0052751208 + 353900 0.0044813979 0.0022631815 0.0044688696 + 354000 0.0055161576 0.0023909407 0.0051059245 + 354100 0.0048404168 0.0022772173 0.00465961 + 354200 0.0057038953 0.0015820519 0.0043894378 + 354300 0.0043058737 0.001735639 0.0038549362 + 354400 0.0042045104 0.0015723333 0.0036417408 + 354500 0.0043803684 0.0015700105 0.003725973 + 354600 0.0050025429 0.0019000321 0.0043622212 + 354700 0.004157403 0.001746301 0.0037925228 + 354800 0.0060940671 0.0018859622 0.0048853859 + 354900 0.0044883981 0.001880682 0.0040898155 + 355000 0.0051495155 0.0017852587 0.0043197859 + 355100 0.0053839798 0.0017588497 0.0044087773 + 355200 0.0068927923 0.0021738583 0.0055664045 + 355300 0.0036031045 0.0032279987 0.0050014017 + 355400 0.005480126 0.0027975742 0.0054948237 + 355500 0.0053967714 0.0021242724 0.0047804958 + 355600 0.0053995162 0.0016477232 0.0043052976 + 355700 0.0057097148 0.0014781684 0.0042884187 + 355800 0.0058772949 0.0013284102 0.0042211413 + 355900 0.0057805829 0.0015749209 0.0044200515 + 356000 0.0031881402 0.0017178125 0.0032869753 + 356100 0.0044083241 0.001687507 0.003857229 + 356200 0.0045478118 0.0017810036 0.0040193797 + 356300 0.0048317708 0.0016252077 0.0040033449 + 356400 0.0057608244 0.0017447128 0.0045801185 + 356500 0.0052239484 0.0018080834 0.0043792455 + 356600 0.0049041803 0.0020249336 0.0044387098 + 356700 0.0049211642 0.0022583051 0.0046804406 + 356800 0.005101814 0.0028033816 0.0053144307 + 356900 0.005559252 0.0025624363 0.0052986307 + 357000 0.0056867421 0.0026256587 0.005424602 + 357100 0.0046447779 0.0029195852 0.0052056868 + 357200 0.0051405217 0.0031960105 0.005726111 + 357300 0.0044273431 0.0031255901 0.005304673 + 357400 0.0048561252 0.0029612265 0.0053513507 + 357500 0.0046381398 0.0024819059 0.0047647403 + 357600 0.0040553696 0.0021980486 0.0041940508 + 357700 0.0043534115 0.002515168 0.0046578627 + 357800 0.0038247247 0.0028892718 0.0047717535 + 357900 0.0038564116 0.002645514 0.0045435916 + 358000 0.0038190195 0.0023736503 0.0042533239 + 358100 0.00383418 0.0020918592 0.0039789947 + 358200 0.0051289665 0.0023491995 0.0048736127 + 358300 0.0054105038 0.0022878658 0.0049508481 + 358400 0.0051548996 0.0022956278 0.004832805 + 358500 0.005582117 0.0026474914 0.0053949397 + 358600 0.0051827846 0.0031447863 0.0056956881 + 358700 0.0048289959 0.0032998477 0.0056766191 + 358800 0.0045535349 0.0031330255 0.0053742185 + 358900 0.0049885472 0.0027565335 0.0052118341 + 359000 0.0042926172 0.0024316256 0.0045443981 + 359100 0.0039553894 0.0025613879 0.0045081811 + 359200 0.0058890794 0.0026341857 0.005532717 + 359300 0.0051335292 0.0026376642 0.0051643231 + 359400 0.0042050352 0.0027508188 0.0048204846 + 359500 0.0051651838 0.0027907153 0.0053329542 + 359600 0.0059861306 0.002556911 0.0055032097 + 359700 0.0035331462 0.0023967432 0.0041357136 + 359800 0.0044701602 0.0026125734 0.0048127304 + 359900 0.0046197256 0.0027209638 0.004994735 + 360000 0.003826488 0.0025254866 0.0044088362 + 360100 0.0057010919 0.0029236803 0.0057296865 + 360200 0.0062217937 0.002596345 0.0056586341 + 360300 0.0050082644 0.0021212355 0.0045862407 + 360400 0.0063035736 0.0022942297 0.0053967698 + 360500 0.0051811312 0.0023572081 0.0049072961 + 360600 0.0053847567 0.002264755 0.0049150649 + 360700 0.0043525426 0.0024928382 0.0046351052 + 360800 0.0035449933 0.0028026614 0.0045474627 + 360900 0.0045761792 0.0029321144 0.0051844526 + 361000 0.006418951 0.0024244741 0.0055838015 + 361100 0.0048888227 0.0023515354 0.0047577528 + 361200 0.005590229 0.0025751538 0.0053265946 + 361300 0.0045680386 0.0025977709 0.0048461024 + 361400 0.0043073006 0.0025119767 0.0046319762 + 361500 0.0051932604 0.0026035312 0.0051595891 + 361600 0.0051029719 0.0028634654 0.0053750844 + 361700 0.0049703706 0.0030584263 0.0055047806 + 361800 0.0053682149 0.0030109239 0.0056530921 + 361900 0.0046340989 0.0026149764 0.0048958219 + 362000 0.0044337144 0.0028667231 0.0050489419 + 362100 0.0037900896 0.0029358974 0.0048013321 + 362200 0.0045572918 0.0025977653 0.0048408074 + 362300 0.0051541845 0.002507614 0.0050444392 + 362400 0.0036798969 0.0029684042 0.0047796034 + 362500 0.0053942301 0.0032072582 0.0058622308 + 362600 0.0059965458 0.0030234627 0.0059748876 + 362700 0.0055647085 0.002921344 0.005660224 + 362800 0.0068377821 0.0029774723 0.0063429432 + 362900 0.0040328601 0.0034893948 0.0054743182 + 363000 0.0040211106 0.0030535168 0.0050326572 + 363100 0.0044453628 0.0025806379 0.0047685899 + 363200 0.0046861453 0.0026920287 0.0049984908 + 363300 0.003920987 0.0030635274 0.0049933881 + 363400 0.0053557601 0.0029157199 0.0055517581 + 363500 0.0046297417 0.0029025019 0.0051812029 + 363600 0.0054474366 0.0028309299 0.0055120901 + 363700 0.0032631435 0.0027046737 0.0043107522 + 363800 0.0050650548 0.0027002807 0.0051932373 + 363900 0.0044619191 0.0029004621 0.0050965629 + 364000 0.0042331362 0.0028459578 0.0049294545 + 364100 0.0055407869 0.0025089149 0.0052360209 + 364200 0.0039098862 0.0022996242 0.0042240213 + 364300 0.0052674167 0.0018408621 0.0044334187 + 364400 0.0044423689 0.0024026902 0.0045891687 + 364500 0.0079041322 0.00280496 0.0066952751 + 364600 0.0051143194 0.0026418296 0.0051590337 + 364700 0.0047828604 0.0029699388 0.0053240029 + 364800 0.0056099862 0.0024971838 0.0052583489 + 364900 0.0068162944 0.0022217465 0.0055766413 + 365000 0.0056810363 0.0026367662 0.0054329012 + 365100 0.0065621524 0.0024227694 0.0056525788 + 365200 0.0043264355 0.0026420779 0.0047714954 + 365300 0.0061444505 0.0024775777 0.0055017994 + 365400 0.0051151466 0.0021545518 0.004672163 + 365500 0.0037642577 0.0018100691 0.0036627896 + 365600 0.0041892358 0.001437979 0.0034998685 + 365700 0.0044815934 0.0018826293 0.0040884136 + 365800 0.004227186 0.0023346047 0.0044151729 + 365900 0.0050893539 0.0020157002 0.0045206166 + 366000 0.0067765342 0.0016351577 0.0049704831 + 366100 0.004503594 0.0016687757 0.0038853884 + 366200 0.0054952026 0.0017288319 0.0044335019 + 366300 0.0045206345 0.0021248622 0.004349862 + 366400 0.0048190603 0.0021468052 0.0045186864 + 366500 0.0034764003 0.0019209508 0.0036319915 + 366600 0.004070208 0.0021028907 0.0041061962 + 366700 0.0044960444 0.0018028436 0.0040157405 + 366800 0.0049959761 0.0014927447 0.0039517017 + 366900 0.0058464971 0.0017464698 0.0046240426 + 367000 0.0052557459 0.0024559809 0.0050427934 + 367100 0.0056219633 0.0025583438 0.0053254039 + 367200 0.0056735324 0.0018656336 0.0046580754 + 367300 0.0046061308 0.0019960168 0.0042630968 + 367400 0.0054879805 0.0018296945 0.0045308099 + 367500 0.0048690481 0.0019543268 0.0043508114 + 367600 0.0045085157 0.0024236125 0.0046426475 + 367700 0.0053453336 0.0028186949 0.0054496013 + 367800 0.0066653883 0.0023978067 0.0056784275 + 367900 0.0057930777 0.0021632049 0.0050144853 + 368000 0.0052863626 0.0022370954 0.004838977 + 368100 0.0061681137 0.0025777265 0.005613595 + 368200 0.0041789828 0.0026862845 0.0047431276 + 368300 0.0053900043 0.0028459017 0.0054987944 + 368400 0.0048330578 0.0026487085 0.0050274791 + 368500 0.0049339107 0.0025886978 0.005017107 + 368600 0.0074057061 0.0018744803 0.0055194763 + 368700 0.0037564702 0.0021013434 0.0039502311 + 368800 0.0040380378 0.002094915 0.0040823867 + 368900 0.0061492214 0.0020928831 0.005119453 + 369000 0.0044535626 0.0025959766 0.0047879645 + 369100 0.0044467504 0.0026116317 0.0048002667 + 369200 0.0042535156 0.0021720853 0.0042656125 + 369300 0.0058457148 0.0021052312 0.004982419 + 369400 0.0048374549 0.0027433288 0.0051242636 + 369500 0.0063571235 0.0030965832 0.0062254799 + 369600 0.0054989072 0.0027768044 0.0054832978 + 369700 0.0052306424 0.0023624463 0.0049369031 + 369800 0.0048024356 0.0023000117 0.0046637105 + 369900 0.0050992058 0.0027093642 0.0052191296 + 370000 0.0052195061 0.0026522548 0.0052212305 + 370100 0.0042770081 0.0021442792 0.0042493691 + 370200 0.0052822795 0.0021836793 0.0047835512 + 370300 0.0058296697 0.00190065 0.0047699405 + 370400 0.0048358072 0.0015845327 0.0039646566 + 370500 0.0067371797 0.0018252829 0.0051412386 + 370600 0.0040577775 0.0022673171 0.0042645045 + 370700 0.0036049264 0.002252263 0.0040265627 + 370800 0.0036451611 0.0025052199 0.0042993226 + 370900 0.0063666324 0.0022322711 0.005365848 + 371000 0.0064587555 0.0020610469 0.0052399655 + 371100 0.0041514091 0.0022305568 0.0042738285 + 371200 0.0048404655 0.0021123975 0.0044948141 + 371300 0.0059211936 0.0022478923 0.0051622298 + 371400 0.0039685199 0.0025903263 0.0045435822 + 371500 0.0050317235 0.0026771571 0.0051537085 + 371600 0.0050717625 0.0025996467 0.0050959048 + 371700 0.0050450148 0.0027546635 0.0052377567 + 371800 0.0055764248 0.0025246952 0.0052693418 + 371900 0.0062088457 0.0025022017 0.0055581179 + 372000 0.004615516 0.0024876295 0.0047593288 + 372100 0.0070883365 0.0016605565 0.0051493472 + 372200 0.0065387283 0.0018632921 0.0050815725 + 372300 0.0065411034 0.0023815307 0.0056009801 + 372400 0.004292892 0.002815987 0.0049288948 + 372500 0.0056721637 0.0026204415 0.0054122096 + 372600 0.0046103322 0.0026530131 0.004922161 + 372700 0.0057484843 0.0024825179 0.0053118501 + 372800 0.0053928496 0.002591855 0.0052461482 + 372900 0.0043492636 0.0025573154 0.0046979686 + 373000 0.005140919 0.0029383081 0.0054686042 + 373100 0.0045577228 0.0029350342 0.0051782884 + 373200 0.0055239786 0.0027913601 0.0055101933 + 373300 0.0047386558 0.0029049082 0.0052372153 + 373400 0.0069952409 0.003134556 0.0065775261 + 373500 0.0064730239 0.0034655317 0.0066514731 + 373600 0.0050156889 0.0034284125 0.0058970719 + 373700 0.0066410028 0.0030874307 0.0063560493 + 373800 0.0053736632 0.0032626808 0.0059075306 + 373900 0.0060341633 0.0030149769 0.0059849167 + 374000 0.0069991454 0.0032646462 0.0067095381 + 374100 0.0036710776 0.0040067129 0.0058135714 + 374200 0.0038490373 0.0038355523 0.0057300004 + 374300 0.0055866792 0.0033463606 0.0060960543 + 374400 0.0040107618 0.0031078979 0.0050819447 + 374500 0.0066085704 0.0023919616 0.0056446173 + 374600 0.0071683062 0.0021447763 0.005672927 + 374700 0.0057951522 0.0024039755 0.0052562769 + 374800 0.0059625885 0.0031241176 0.0060588291 + 374900 0.0033171414 0.0030051793 0.0046378348 + 375000 0.0039944654 0.0025346506 0.0045006766 + 375100 0.0037728536 0.002476127 0.0043330784 + 375200 0.0039802256 0.0023493678 0.0043083851 + 375300 0.0059677755 0.002629459 0.0055667235 + 375400 0.006034149 0.0028094903 0.005779423 + 375500 0.0045596302 0.0029853431 0.0052295361 + 375600 0.0056436788 0.0030391934 0.0058169416 + 375700 0.0075819451 0.0031409582 0.0068726968 + 375800 0.0048490462 0.0036850126 0.0060716525 + 375900 0.0052054991 0.0035537389 0.0061158205 + 376000 0.0058926361 0.0035980018 0.0064982836 + 376100 0.0046593485 0.0034971656 0.0057904387 + 376200 0.0056096489 0.0030792972 0.0058402963 + 376300 0.0047129095 0.0030371127 0.0053567478 + 376400 0.0051539653 0.0027874571 0.0053241744 + 376500 0.003356937 0.0027589412 0.0044111836 + 376600 0.0034592499 0.0030280998 0.0047306993 + 376700 0.0043236339 0.0031292379 0.0052572764 + 376800 0.0057987638 0.0024689135 0.0053229926 + 376900 0.0034856722 0.0022105859 0.0039261902 + 377000 0.0049742213 0.0025868095 0.0050350591 + 377100 0.005936407 0.0023481746 0.0052699999 + 377200 0.0059749849 0.002150067 0.0050908799 + 377300 0.0051719634 0.0018407016 0.0043862773 + 377400 0.005403138 0.0017415029 0.0044008599 + 377500 0.0032340795 0.0021705081 0.0037622816 + 377600 0.0043518118 0.0021109525 0.0042528598 + 377700 0.0048616155 0.0023511083 0.0047439347 + 377800 0.0055685351 0.0027660297 0.005506793 + 377900 0.0039647789 0.0029691018 0.0049205164 + 378000 0.0036941273 0.003005458 0.0048236613 + 378100 0.0043388564 0.0030004052 0.0051359361 + 378200 0.0058206483 0.0026659632 0.0055308136 + 378300 0.0075120853 0.0021739658 0.0058713203 + 378400 0.0051371965 0.0028166365 0.0053451004 + 378500 0.0034284171 0.0028800181 0.0045674422 + 378600 0.0048101159 0.0024066549 0.0047741339 + 378700 0.0040349294 0.0026111408 0.0045970826 + 378800 0.0055592754 0.0023556025 0.0050918084 + 378900 0.0049068976 0.002171014 0.0045861277 + 379000 0.0051329043 0.0022628589 0.0047892102 + 379100 0.0056864329 0.0022750068 0.005073798 + 379200 0.0032617896 0.0023435066 0.0039489187 + 379300 0.0047321979 0.0024452479 0.0047743766 + 379400 0.0052941575 0.0021408734 0.0047465916 + 379500 0.0054851678 0.0022930021 0.0049927332 + 379600 0.0046255205 0.0025222524 0.0047988757 + 379700 0.0046739953 0.0027250167 0.0050254988 + 379800 0.0055754016 0.0027379662 0.0054821092 + 379900 0.0053446134 0.0018645103 0.0044950622 + 380000 0.0052832099 0.0021185872 0.0047189171 + 380100 0.0047543806 0.0021337331 0.0044737798 + 380200 0.0047243927 0.0018343106 0.0041595977 + 380300 0.0071342311 0.0018027978 0.0053141772 + 380400 0.0046540675 0.0022513182 0.0045419921 + 380500 0.005430611 0.0024422704 0.0051151493 + 380600 0.0055598436 0.0022235198 0.0049600053 + 380700 0.0047808646 0.0023014323 0.0046545141 + 380800 0.0047719801 0.0022931772 0.0046418861 + 380900 0.0058720736 0.0019508954 0.0048410567 + 381000 0.0051157921 0.0019031631 0.004421092 + 381100 0.0050590818 0.0019750264 0.0044650432 + 381200 0.0049092735 0.0023897376 0.0048060207 + 381300 0.0048078244 0.0028529381 0.0052192892 + 381400 0.0042791378 0.0030976819 0.00520382 + 381500 0.0055912775 0.0029106099 0.0056625668 + 381600 0.0057732899 0.0024834551 0.0053249962 + 381700 0.0049503884 0.0024793745 0.0049158938 + 381800 0.0076225649 0.0024193349 0.0061710661 + 381900 0.0043758236 0.0027466687 0.0049003943 + 382000 0.00670672 0.0025761987 0.0058771624 + 382100 0.0059750372 0.00250242 0.0054432587 + 382200 0.004061035 0.0027026999 0.0047014906 + 382300 0.005179748 0.0022644219 0.0048138291 + 382400 0.0066741501 0.0020538692 0.0053388025 + 382500 0.0052325779 0.001772029 0.0043474384 + 382600 0.0066314187 0.0016952126 0.0049591139 + 382700 0.0061792218 0.0018636264 0.0049049621 + 382800 0.0039181168 0.0022157817 0.0041442298 + 382900 0.0050249222 0.0018233354 0.0042965392 + 383000 0.0043565395 0.0019847984 0.0041290326 + 383100 0.0048747943 0.0023253889 0.0047247017 + 383200 0.0057085417 0.0021536469 0.0049633198 + 383300 0.0040618511 0.0019923134 0.0039915057 + 383400 0.0051685132 0.0015375197 0.0040813973 + 383500 0.004537572 0.0016425445 0.0038758807 + 383600 0.0044125732 0.0016269627 0.0037987761 + 383700 0.0038235325 0.0013046466 0.0031865415 + 383800 0.0049839923 0.0015618624 0.0040149211 + 383900 0.005599459 0.0015725937 0.0043285774 + 384000 0.0056120148 0.0014096534 0.0041718169 + 384100 0.0057160586 0.0014749326 0.0042883052 + 384200 0.0044946646 0.0022598642 0.0044720819 + 384300 0.0057834664 0.0021757405 0.0050222903 + 384400 0.0063814723 0.0020677428 0.0052086237 + 384500 0.0051198425 0.0023553967 0.0048753191 + 384600 0.0036811419 0.0020213603 0.0038331723 + 384700 0.0048712374 0.0019316235 0.0043291857 + 384800 0.0052867771 0.0019163016 0.0045183872 + 384900 0.0050037456 0.0016058495 0.0040686306 + 385000 0.004629819 0.0014932635 0.0037720025 + 385100 0.003621437 0.0019264185 0.0037088446 + 385200 0.0041512086 0.0019095153 0.0039526883 + 385300 0.0049662167 0.0015398708 0.0039841806 + 385400 0.0044505366 0.0016125096 0.0038030081 + 385500 0.0042839461 0.0019203714 0.0040288761 + 385600 0.0057445216 0.0018816442 0.0047090259 + 385700 0.0052631243 0.0018210388 0.0044114827 + 385800 0.0054834397 0.0017079642 0.0044068446 + 385900 0.0044265542 0.0016367302 0.0038154248 + 386000 0.0052257242 0.0016450837 0.0042171198 + 386100 0.004924848 0.0017389956 0.0041629442 + 386200 0.0038440846 0.0019943585 0.0038863688 + 386300 0.0053790199 0.0020895 0.0047369864 + 386400 0.0039781022 0.0023868398 0.004344812 + 386500 0.0062682513 0.0020130821 0.0050982371 + 386600 0.0055580273 0.0022954078 0.0050309994 + 386700 0.0039313011 0.0027214366 0.0046563739 + 386800 0.0054600219 0.0027293549 0.0054167094 + 386900 0.0044751158 0.0025374533 0.0047400494 + 387000 0.0061837575 0.0019120577 0.0049556259 + 387100 0.0044751813 0.0017798241 0.0039824524 + 387200 0.0051079555 0.0022547222 0.0047687941 + 387300 0.0039627002 0.0027185708 0.0046689623 + 387400 0.0048424487 0.0026268827 0.0050102754 + 387500 0.0043333555 0.0020027234 0.0041355468 + 387600 0.0034502914 0.0021711309 0.0038693212 + 387700 0.0048684961 0.0023310785 0.0047272914 + 387800 0.0043911386 0.0019911313 0.0041523948 + 387900 0.0052612356 0.0017202415 0.0043097559 + 388000 0.0047683854 0.0017627475 0.0041096872 + 388100 0.0050746485 0.0019335968 0.0044312754 + 388200 0.0052815751 0.0023861899 0.0049857152 + 388300 0.0037020012 0.0026708354 0.0044929141 + 388400 0.0040451703 0.002743392 0.0047343743 + 388500 0.0041615884 0.0023114165 0.0043596983 + 388600 0.0047844671 0.0020661821 0.004421037 + 388700 0.0054800283 0.0019985392 0.0046957406 + 388800 0.0043317967 0.002124605 0.0042566611 + 388900 0.005170542 0.0022716202 0.0048164964 + 389000 0.0058464669 0.0027811942 0.0056587521 + 389100 0.0041030202 0.0026611754 0.0046806306 + 389200 0.0045495291 0.0022345635 0.0044737848 + 389300 0.0054459122 0.0022391771 0.004919587 + 389400 0.0052199665 0.0027601721 0.0053293744 + 389500 0.0061368246 0.0031539181 0.0061743864 + 389600 0.005976284 0.0030673504 0.0060088027 + 389700 0.0048885453 0.003542297 0.0059483779 + 389800 0.0054708972 0.0035083419 0.0062010491 + 389900 0.0058812136 0.002832449 0.0057271088 + 390000 0.0075254603 0.002799743 0.0065036805 + 390100 0.0051405863 0.0025908091 0.0051209414 + 390200 0.0053042959 0.0022388224 0.0048495305 + 390300 0.0062614014 0.0017239901 0.0048057736 + 390400 0.0049845896 0.0020168628 0.0044702155 + 390500 0.0042006555 0.0025443162 0.0046118263 + 390600 0.0051464122 0.0026996731 0.0052326729 + 390700 0.0062757033 0.0025431388 0.0056319615 + 390800 0.0053428403 0.0019901679 0.0046198471 + 390900 0.0053973964 0.0018692048 0.0045257359 + 391000 0.0036987263 0.0025336343 0.0043541012 + 391100 0.0050458013 0.0024420126 0.0049254929 + 391200 0.0052119876 0.0021778808 0.0047431559 + 391300 0.0050953256 0.0018835177 0.0043913733 + 391400 0.0033812666 0.0020759366 0.0037401537 + 391500 0.0057080908 0.0019698948 0.0047793458 + 391600 0.0063328665 0.0021557665 0.0052727242 + 391700 0.0039413836 0.0020073962 0.0039472959 + 391800 0.0039660017 0.0022614295 0.0042134459 + 391900 0.0049916707 0.0024842946 0.0049411325 + 392000 0.0054398213 0.0028382263 0.0055156384 + 392100 0.0054508902 0.0027488044 0.0054316645 + 392200 0.0057977372 0.0026315258 0.0054850996 + 392300 0.0050042207 0.0025526988 0.0050157136 + 392400 0.0048271986 0.0023941185 0.0047700053 + 392500 0.0041025076 0.0022663865 0.0042855894 + 392600 0.0072755732 0.0020557916 0.0056367378 + 392700 0.0043496317 0.0023674108 0.0045082451 + 392800 0.0046855649 0.0021045149 0.0044106913 + 392900 0.0033446104 0.0020005006 0.003646676 + 393000 0.0045990188 0.00206054 0.0043241196 + 393100 0.0052460599 0.0022303716 0.0048124167 + 393200 0.0047711466 0.0021205833 0.004468882 + 393300 0.0051892965 0.0024648732 0.0050189801 + 393400 0.0053033686 0.0025422831 0.0051525349 + 393500 0.0048955456 0.002798047 0.0052075733 + 393600 0.0049881142 0.0028002267 0.0052553141 + 393700 0.0055092927 0.0028509924 0.0055625974 + 393800 0.0039317225 0.0030930416 0.0050281863 + 393900 0.0052430539 0.0026911126 0.0052716782 + 394000 0.0035015433 0.0023637284 0.0040871442 + 394100 0.0046074061 0.002126733 0.0043944407 + 394200 0.0043153184 0.0020149208 0.0041388666 + 394300 0.0052504473 0.0020255151 0.0046097196 + 394400 0.0052092352 0.0019813196 0.0045452401 + 394500 0.0042736867 0.0021541083 0.0042575635 + 394600 0.0039595791 0.0018631834 0.0038120388 + 394700 0.0051925469 0.0023120649 0.0048677716 + 394800 0.0050869559 0.0023572538 0.0048609899 + 394900 0.006922066 0.0020525605 0.0054595149 + 395000 0.0054273534 0.0019966284 0.004667904 + 395100 0.0051762939 0.0026548825 0.0052025896 + 395200 0.0053514461 0.0027991235 0.0054330384 + 395300 0.0035088138 0.0029537349 0.0046807292 + 395400 0.0055483576 0.0027634919 0.0054943242 + 395500 0.0052687351 0.0028045266 0.0053977322 + 395600 0.0044483922 0.0023468054 0.0045362485 + 395700 0.0041267691 0.002164359 0.0041955032 + 395800 0.0043741869 0.0021252485 0.0042781686 + 395900 0.0063243753 0.0024648914 0.0055776699 + 396000 0.0054708636 0.0026390235 0.0053317142 + 396100 0.0051723307 0.0022118304 0.0047575869 + 396200 0.004586684 0.0022586325 0.004516141 + 396300 0.0059440511 0.0023310228 0.0052566105 + 396400 0.0055609213 0.002590236 0.005327252 + 396500 0.0050870244 0.002239868 0.0047436378 + 396600 0.0041804941 0.0021616126 0.0042191995 + 396700 0.0038802145 0.0018423161 0.0037521092 + 396800 0.0061203299 0.0018534766 0.0048658265 + 396900 0.0043399754 0.0023803309 0.0045164126 + 397000 0.0058284046 0.0020924743 0.0049611422 + 397100 0.0055217707 0.0021022139 0.0048199604 + 397200 0.0044277227 0.002107601 0.0042868708 + 397300 0.0056150894 0.001720883 0.0044845598 + 397400 0.0041102587 0.0017757548 0.0037987727 + 397500 0.0046513414 0.0017220752 0.0040114073 + 397600 0.0050377627 0.0016181233 0.0040976472 + 397700 0.0061769992 0.0023764348 0.0054166766 + 397800 0.0047808194 0.0030165689 0.0053696285 + 397900 0.0055760698 0.002053534 0.0047980059 + 398000 0.0055691418 0.0017499215 0.0044909834 + 398100 0.0049167129 0.0018910418 0.0043109865 + 398200 0.0058016316 0.0021041361 0.0049596267 + 398300 0.0054140041 0.0026576633 0.0053223684 + 398400 0.0041558734 0.0025154532 0.0045609221 + 398500 0.0043547218 0.0023237664 0.0044671061 + 398600 0.0044622602 0.0026300108 0.0048262795 + 398700 0.005146999 0.0022122839 0.0047455724 + 398800 0.0040351362 0.0023315336 0.0043175772 + 398900 0.0045359275 0.0020565524 0.0042890792 + 399000 0.0063761678 0.002550587 0.0056888571 + 399100 0.004652718 0.0026902888 0.0049802985 + 399200 0.0049144492 0.0028750259 0.0052938564 + 399300 0.0056568011 0.0032765483 0.006060755 + 399400 0.0052632656 0.0033600169 0.0059505304 + 399500 0.0053307568 0.0029159846 0.0055397164 + 399600 0.0051225843 0.0025197604 0.0050410323 + 399700 0.0051607817 0.002632922 0.0051729943 + 399800 0.0067008821 0.0022503663 0.0055484568 + 399900 0.0040684948 0.0022012331 0.0042036954 + 400000 0.0043018412 0.0024955532 0.0046128656 + 400100 0.0059699682 0.0022849274 0.0052232711 + 400200 0.0042878974 0.0023960084 0.0045064579 + 400300 0.0048843103 0.0024968616 0.0049008581 + 400400 0.0043269842 0.0025766782 0.0047063657 + 400500 0.0044718328 0.0029791321 0.0051801123 + 400600 0.0047500116 0.0026937861 0.0050316824 + 400700 0.0059071301 0.0023402093 0.0052476249 + 400800 0.0043340052 0.0022095755 0.0043427186 + 400900 0.0065827032 0.0019167528 0.005156677 + 401000 0.0062302996 0.0020241588 0.0050906344 + 401100 0.0046408824 0.0023453388 0.0046295231 + 401200 0.0062343081 0.0020570225 0.0051254711 + 401300 0.0059727946 0.0021337157 0.0050734505 + 401400 0.0064103273 0.0023292325 0.0054843155 + 401500 0.0044584443 0.0028893329 0.0050837234 + 401600 0.0051522431 0.0028248711 0.0053607408 + 401700 0.0066058449 0.0029438494 0.0061951637 + 401800 0.0047124582 0.0028307476 0.0051501607 + 401900 0.0067387796 0.0021581179 0.005474861 + 402000 0.0050326979 0.0021973456 0.0046743766 + 402100 0.0046879033 0.0025553426 0.00486267 + 402200 0.0040704799 0.0033767801 0.0053802194 + 402300 0.006324689 0.003453047 0.0065659799 + 402400 0.0055930564 0.0028165406 0.0055693731 + 402500 0.0052275947 0.002096669 0.0046696257 + 402600 0.004642966 0.0018434276 0.0041286375 + 402700 0.003650016 0.0020953312 0.0038918234 + 402800 0.0051012346 0.0022120484 0.0047228123 + 402900 0.0071794719 0.0022412118 0.0057748581 + 403000 0.0043225531 0.0021409343 0.0042684409 + 403100 0.0044772254 0.0020203404 0.0042239748 + 403200 0.0057605354 0.0017503586 0.0045856221 + 403300 0.005048701 0.001929942 0.0044148495 + 403400 0.005443421 0.0023007026 0.0049798863 + 403500 0.0044011609 0.002868656 0.0050348524 + 403600 0.005736204 0.0021998111 0.005023099 + 403700 0.0054169133 0.0017653574 0.0044314944 + 403800 0.0038011991 0.0018261146 0.0036970173 + 403900 0.003980187 0.0018807697 0.0038397679 + 404000 0.0035236389 0.0017103613 0.0034446524 + 404100 0.006442942 0.0016647618 0.0048358973 + 404200 0.0042810324 0.0019267793 0.0040338499 + 404300 0.0047810948 0.0022050801 0.0045582752 + 404400 0.0061455956 0.002928854 0.0059536393 + 404500 0.0041327763 0.0032360306 0.0052701314 + 404600 0.0046176919 0.0026511236 0.0049238938 + 404700 0.0061944191 0.0020123266 0.0050611423 + 404800 0.0069023557 0.0021162494 0.0055135026 + 404900 0.0057298909 0.0026481841 0.0054683648 + 405000 0.0042274535 0.0029363207 0.0050170205 + 405100 0.0052259568 0.0024285241 0.0050006747 + 405200 0.0035815838 0.0022430987 0.0040059095 + 405300 0.0049390262 0.0020767126 0.0045076395 + 405400 0.004717932 0.001867227 0.0041893341 + 405500 0.0052931139 0.0020971236 0.0047023281 + 405600 0.0053121316 0.0022131399 0.0048277047 + 405700 0.0050983594 0.0024652851 0.0049746339 + 405800 0.0049376121 0.0025140209 0.0049442518 + 405900 0.0032520175 0.0028221934 0.0044227957 + 406000 0.0061568184 0.0024774472 0.0055077563 + 406100 0.0055818615 0.0021588711 0.0049061935 + 406200 0.0046639999 0.0018787306 0.0041742931 + 406300 0.005288292 0.0019252654 0.0045280966 + 406400 0.0044953572 0.0025592984 0.004771857 + 406500 0.0045969456 0.0029879646 0.0052505237 + 406600 0.0048280014 0.0028576873 0.0052339693 + 406700 0.0075352637 0.0022201315 0.0059288941 + 406800 0.0049389902 0.0026568922 0.0050878014 + 406900 0.0045650707 0.0023703714 0.0046172422 + 407000 0.0071900314 0.0026088725 0.006147716 + 407100 0.0053131289 0.0028406675 0.0054557232 + 407200 0.0059784932 0.0029032333 0.0058457729 + 407300 0.0039669509 0.0026236302 0.0045761138 + 407400 0.0050915389 0.0021379728 0.0046439646 + 407500 0.0051873221 0.0020674196 0.0046205547 + 407600 0.004596137 0.001878313 0.0041404742 + 407700 0.0029142961 0.0021418341 0.0035762142 + 407800 0.004192577 0.0021681804 0.0042317144 + 407900 0.0041639613 0.0022486384 0.0042980882 + 408000 0.0042055132 0.0025019355 0.0045718365 + 408100 0.005824106 0.0023034534 0.0051700056 + 408200 0.0033730116 0.0020252282 0.0036853824 + 408300 0.00409374 0.0018757058 0.0038905934 + 408400 0.0036809656 0.0017112464 0.0035229716 + 408500 0.0036534748 0.0016096065 0.0034078012 + 408600 0.004633451 0.0014825582 0.0037630849 + 408700 0.0059630793 0.0017265514 0.0046615045 + 408800 0.0045231384 0.0023268125 0.0045530447 + 408900 0.0057182403 0.0026175172 0.0054319636 + 409000 0.0043355235 0.0026464753 0.0047803657 + 409100 0.0056915541 0.0027048394 0.0055061512 + 409200 0.004974869 0.0030863196 0.005534888 + 409300 0.0048047823 0.003019594 0.0053844478 + 409400 0.0059671689 0.0024226096 0.0053595755 + 409500 0.004858147 0.002386313 0.0047774322 + 409600 0.0045269099 0.002359549 0.0045876375 + 409700 0.003870913 0.0025489371 0.0044541521 + 409800 0.0043690901 0.0025586078 0.0047090193 + 409900 0.0058640869 0.0021878973 0.0050741276 + 410000 0.0037403759 0.0025190102 0.0043599765 + 410100 0.0052327647 0.0027818596 0.005357361 + 410200 0.0059281145 0.002461922 0.0053796659 + 410300 0.0057749358 0.0018851778 0.004727529 + 410400 0.0049929226 0.001736443 0.0041938971 + 410500 0.0035856203 0.0017603808 0.0035251783 + 410600 0.0045872938 0.0017937803 0.004051589 + 410700 0.0050094979 0.0025314291 0.0049970414 + 410800 0.0054287713 0.0030284571 0.0057004304 + 410900 0.0048362245 0.0038101647 0.0061904939 + 411000 0.0066822701 0.0030889273 0.0063778571 + 411100 0.0063592501 0.0024981252 0.0056280687 + 411200 0.0047201365 0.0029595497 0.0052827419 + 411300 0.0047526329 0.0031654787 0.0055046652 + 411400 0.0050393599 0.0030306518 0.0055109618 + 411500 0.0050225251 0.0029973033 0.0054693274 + 411600 0.0047860691 0.0028408056 0.005196449 + 411700 0.004869027 0.0023060273 0.0047025015 + 411800 0.0053446949 0.0027356731 0.0053662651 + 411900 0.0051415781 0.0027057792 0.0052363997 + 412000 0.0055999076 0.0021980561 0.0049542607 + 412100 0.0050468522 0.0022509375 0.004734935 + 412200 0.0044268034 0.0022585115 0.0044373288 + 412300 0.0042449861 0.0022543572 0.0043436863 + 412400 0.0043439458 0.001970501 0.0041085368 + 412500 0.0043183232 0.0021298697 0.0042552944 + 412600 0.0052741602 0.002362392 0.0049582677 + 412700 0.0046125276 0.0023717109 0.0046419393 + 412800 0.0055467249 0.0023574327 0.0050874614 + 412900 0.004153537 0.0023308486 0.0043751677 + 413000 0.0045403446 0.0026363117 0.0048710126 + 413100 0.0043818882 0.002819361 0.0049760716 + 413200 0.0054472765 0.0024632019 0.0051442833 + 413300 0.0043313992 0.0024744064 0.004606267 + 413400 0.0044642051 0.0021129509 0.0043101768 + 413500 0.0057733722 0.0024896552 0.0053312368 + 413600 0.0042665759 0.0028461258 0.0049460811 + 413700 0.0046983345 0.0029020421 0.0052145036 + 413800 0.0049755327 0.0025669546 0.0050158496 + 413900 0.0043618534 0.0028830989 0.0050299486 + 414000 0.0050574281 0.0029275896 0.0054167925 + 414100 0.0055602426 0.0026315294 0.0053682113 + 414200 0.0035059435 0.002834075 0.0045596566 + 414300 0.0044110285 0.0024380785 0.0046091316 + 414400 0.0071638669 0.0020640485 0.0055900142 + 414500 0.0044645007 0.0022021175 0.0043994889 + 414600 0.0042361647 0.0021003205 0.0041853078 + 414700 0.004324298 0.0021053877 0.0042337531 + 414800 0.0050041792 0.0021898809 0.0046528753 + 414900 0.0035924864 0.0026056453 0.0043738221 + 415000 0.0039756323 0.0026275672 0.0045843237 + 415100 0.0042889175 0.0023790951 0.0044900467 + 415200 0.0057031315 0.0023889869 0.0051959969 + 415300 0.003885794 0.002617586 0.0045301253 + 415400 0.0058873633 0.0024223398 0.0053200264 + 415500 0.0043650511 0.0025619916 0.0047104152 + 415600 0.0041506416 0.0022492491 0.0042921431 + 415700 0.0053210922 0.0020073885 0.0046263636 + 415800 0.0045855203 0.0018974571 0.0041543929 + 415900 0.0039438321 0.0020553135 0.0039964184 + 416000 0.0042912814 0.0019882355 0.0041003506 + 416100 0.0055537428 0.0019247581 0.0046582408 + 416200 0.0039375991 0.0019060405 0.0038440776 + 416300 0.0043386973 0.0020110548 0.0041465074 + 416400 0.0048703639 0.0019117811 0.0043089133 + 416500 0.0036318688 0.002232718 0.0040202784 + 416600 0.0045061035 0.0021808995 0.0043987473 + 416700 0.0038484738 0.0020900586 0.0039842293 + 416800 0.0060766697 0.0020908887 0.0050817495 + 416900 0.0044503596 0.002939364 0.0051297754 + 417000 0.0051947804 0.003092305 0.005649111 + 417100 0.0053205909 0.0024934826 0.0051122109 + 417200 0.0056995871 0.0018547069 0.0046599724 + 417300 0.0053189225 0.0020483838 0.004666291 + 417400 0.0043605184 0.0019106202 0.0040568128 + 417500 0.0052530821 0.0015683689 0.0041538703 + 417600 0.0047238242 0.0017873985 0.0041124058 + 417700 0.0048574953 0.0022838904 0.0046746888 + 417800 0.0047167364 0.001886919 0.0042084377 + 417900 0.0058392773 0.0015386529 0.0044126721 + 418000 0.0044770075 0.0018533642 0.0040568914 + 418100 0.0046507652 0.0023710027 0.0046600512 + 418200 0.0052404781 0.0023787116 0.0049580094 + 418300 0.0047689575 0.0022274773 0.0045746985 + 418400 0.0046257639 0.002264732 0.0045414752 + 418500 0.0042565343 0.0023245965 0.0044196094 + 418600 0.0047293329 0.0019753981 0.0043031167 + 418700 0.0049000291 0.001740778 0.0041525111 + 418800 0.0055998097 0.0021400571 0.0048962134 + 418900 0.0048123092 0.0034072988 0.0057758573 + 419000 0.0064975634 0.0033271204 0.0065251399 + 419100 0.0085356322 0.0025131153 0.0067142467 + 419200 0.0049143263 0.0023312089 0.0047499788 + 419300 0.0056220407 0.0023425596 0.0051096578 + 419400 0.0054148317 0.0025526594 0.0052177719 + 419500 0.0077865118 0.0025572295 0.0063896532 + 419600 0.0052747393 0.0025238105 0.0051199712 + 419700 0.0039679733 0.0025346956 0.0044876825 + 419800 0.0049853952 0.0028580195 0.0053117687 + 419900 0.0054021217 0.0028767954 0.0055356522 + 420000 0.005763454 0.0027572119 0.0055939119 + 420100 0.0035204725 0.0027272971 0.0044600297 + 420200 0.0049905275 0.0024039454 0.0048602207 + 420300 0.0057948939 0.002174696 0.0050268704 + 420400 0.0044494325 0.0025569092 0.0047468643 + 420500 0.005003256 0.0026797063 0.0051422464 + 420600 0.005618271 0.0024976176 0.0052628603 + 420700 0.0055368195 0.0022974848 0.0050226382 + 420800 0.00424107 0.0022712416 0.0043586433 + 420900 0.0043137072 0.002796883 0.0049200357 + 421000 0.0046340692 0.0029130927 0.0051939236 + 421100 0.0056340681 0.0029497881 0.0057228059 + 421200 0.0047466351 0.0031042458 0.0054404803 + 421300 0.0051041013 0.0028386976 0.0053508724 + 421400 0.0051331138 0.0027126068 0.0052390613 + 421500 0.0053369591 0.0025299346 0.0051567192 + 421600 0.0039603425 0.0022840561 0.0042332872 + 421700 0.0052014706 0.0021820603 0.0047421592 + 421800 0.004959982 0.0024361108 0.004877352 + 421900 0.0050124541 0.0024341897 0.0049012569 + 422000 0.0036809774 0.0025452674 0.0043569985 + 422100 0.0050287987 0.0021130574 0.0045881692 + 422200 0.0049904039 0.0017798304 0.0042360448 + 422300 0.0047627961 0.0018213789 0.0041655676 + 422400 0.0070572271 0.0019513244 0.0054248034 + 422500 0.0025878606 0.0024927842 0.0037664969 + 422600 0.0058429503 0.0021879054 0.0050637325 + 422700 0.0059793792 0.0021894635 0.0051324392 + 422800 0.0068102853 0.0022534581 0.0056053954 + 422900 0.00513117 0.0022902775 0.0048157752 + 423000 0.004869771 0.0027014317 0.0050982721 + 423100 0.0068459967 0.0024292313 0.0057987453 + 423200 0.0040564865 0.0024604928 0.0044570447 + 423300 0.0071066634 0.0023490455 0.0058468564 + 423400 0.0053297986 0.0024547415 0.0050780017 + 423500 0.0057300694 0.0026067489 0.0054270174 + 423600 0.005462869 0.0024086835 0.0050974393 + 423700 0.0040400249 0.0025980073 0.0045864571 + 423800 0.0047669862 0.0025918986 0.0049381497 + 423900 0.0050894481 0.0023447609 0.0048497236 + 424000 0.0054140458 0.0026637855 0.0053285112 + 424100 0.005742278 0.0025952579 0.0054215353 + 424200 0.0053091398 0.0024951889 0.0051082812 + 424300 0.0055271007 0.0022279962 0.0049483661 + 424400 0.004335276 0.0028134023 0.004947171 + 424500 0.0049645868 0.002949325 0.0053928325 + 424600 0.0045511416 0.0030486697 0.0052886848 + 424700 0.0046897902 0.0028161827 0.0051244389 + 424800 0.0047826404 0.0025451707 0.0048991265 + 424900 0.0044037183 0.0026653914 0.0048328465 + 425000 0.0047263108 0.0029452697 0.0052715008 + 425100 0.0042236365 0.0032527113 0.0053315324 + 425200 0.0059704012 0.0028545028 0.0057930596 + 425300 0.0053083475 0.0030473486 0.0056600509 + 425400 0.0043103677 0.0031419894 0.0052634985 + 425500 0.0056328248 0.0030460121 0.0058184181 + 425600 0.0045775337 0.0029628604 0.0052158653 + 425700 0.0059618261 0.0027694765 0.0057038128 + 425800 0.0056627757 0.0024645855 0.0052517329 + 425900 0.006125291 0.0021401558 0.0051549474 + 426000 0.0047825361 0.0020632386 0.0044171431 + 426100 0.004655465 0.0021854254 0.0044767871 + 426200 0.0041052989 0.0019959741 0.0040165509 + 426300 0.0052515051 0.002169575 0.0047543002 + 426400 0.0063697634 0.002221899 0.0053570169 + 426500 0.0046001194 0.0024848402 0.0047489615 + 426600 0.0043989318 0.0027649269 0.0049300261 + 426700 0.0063745156 0.0026984302 0.0058358872 + 426800 0.0047877763 0.0023551764 0.0047116601 + 426900 0.0037951803 0.0022073733 0.0040753136 + 427000 0.0043729153 0.0020238016 0.0041760959 + 427100 0.0040415536 0.0022133412 0.0042025434 + 427200 0.0050872818 0.0021796139 0.0046835104 + 427300 0.0044208076 0.0021622689 0.0043381352 + 427400 0.0058996469 0.0026229149 0.0055266474 + 427500 0.0049355568 0.002581367 0.0050105864 + 427600 0.0061306551 0.002690291 0.0057077228 + 427700 0.004904284 0.0026895883 0.0051034156 + 427800 0.0045280309 0.0027706166 0.0049992568 + 427900 0.00495987 0.0030856274 0.0055268134 + 428000 0.0040824467 0.0026083349 0.0046176641 + 428100 0.0049747806 0.0023404584 0.0047889832 + 428200 0.0052040074 0.002172916 0.0047342634 + 428300 0.004939376 0.0022174506 0.0046485497 + 428400 0.0048382592 0.0026002661 0.0049815968 + 428500 0.0046416071 0.0025656128 0.0048501538 + 428600 0.0044767955 0.0026843672 0.00488779 + 428700 0.0035735796 0.0025660251 0.0043248963 + 428800 0.004311085 0.0022366942 0.0043585563 + 428900 0.0050739677 0.0023455166 0.0048428601 + 429000 0.0037940541 0.0023601602 0.0042275462 + 429100 0.0055547918 0.0021105462 0.0048445453 + 429200 0.0042162856 0.0017486627 0.0038238658 + 429300 0.0057382749 0.0016813081 0.0045056153 + 429400 0.0055631786 0.0015729118 0.0043110388 + 429500 0.0051857756 0.0018445086 0.0043968825 + 429600 0.0040706664 0.0018051675 0.0038086986 + 429700 0.0053408112 0.0018253439 0.0044540244 + 429800 0.0050966219 0.0021874378 0.0046959314 + 429900 0.0050524891 0.002366694 0.004853466 + 430000 0.003398462 0.0030885928 0.0047612734 + 430100 0.0053794525 0.0026414764 0.0052891756 + 430200 0.0071897547 0.0023218784 0.0058605858 + 430300 0.0045791566 0.0026704002 0.0049242038 + 430400 0.0041643946 0.0029423716 0.0049920346 + 430500 0.0050914714 0.0020934158 0.0045993744 + 430600 0.004780942 0.0015313717 0.0038844916 + 430700 0.0061559996 0.0014365062 0.0044664122 + 430800 0.0037960187 0.0016939491 0.003562302 + 430900 0.0024408521 0.00218683 0.0033881869 + 431000 0.0044516881 0.0027738647 0.0049649299 + 431100 0.0034320705 0.0030180523 0.0047072745 + 431200 0.0047076332 0.0028021699 0.0051192081 + 431300 0.0042540836 0.0026279929 0.0047217996 + 431400 0.0060260477 0.0027428293 0.0057087746 + 431500 0.0043970662 0.0028934887 0.0050576697 + 431600 0.0058863532 0.0024602894 0.0053574789 + 431700 0.0054390145 0.002425187 0.005102202 + 431800 0.0058500297 0.0025461408 0.0054254523 + 431900 0.0045494164 0.0029165301 0.005155696 + 432000 0.0051378428 0.0025261381 0.0050549201 + 432100 0.0038577352 0.002686937 0.004585666 + 432200 0.0050002653 0.0024768137 0.0049378818 + 432300 0.0048282351 0.0022950422 0.0046714391 + 432400 0.0048922691 0.0029345556 0.0053424693 + 432500 0.0064276735 0.0031582107 0.0063218313 + 432600 0.0044386569 0.003027335 0.0052119864 + 432700 0.0050995574 0.0030344573 0.0055443957 + 432800 0.0058159344 0.002553705 0.0054162353 + 432900 0.0046480596 0.0021526667 0.0044403835 + 433000 0.0070024766 0.0020139073 0.0054604388 + 433100 0.0034873712 0.0023987998 0.0041152403 + 433200 0.004439647 0.0024713654 0.0046565041 + 433300 0.006508401 0.0022871094 0.005490463 + 433400 0.0059845556 0.0020134721 0.0049589956 + 433500 0.0050847483 0.0024438795 0.004946529 + 433600 0.006185912 0.0024574478 0.0055020764 + 433700 0.0041403265 0.0026688688 0.0047066857 + 433800 0.0067771947 0.0026388797 0.0059745302 + 433900 0.0062387002 0.0028799063 0.0059505165 + 434000 0.0053668018 0.0037214375 0.0063629102 + 434100 0.0055743868 0.0037356521 0.0064792956 + 434200 0.0062527803 0.0033607041 0.0064382444 + 434300 0.0063616802 0.0025677963 0.0056989358 + 434400 0.0055334166 0.0027557942 0.0054792727 + 434500 0.0047707111 0.002786872 0.0051349563 + 434600 0.0047452219 0.0025210648 0.0048566037 + 434700 0.0051707406 0.0025207327 0.0050657066 + 434800 0.0039854204 0.0023178351 0.0042794092 + 434900 0.0043699641 0.002353035 0.0045038767 + 435000 0.0058124542 0.0028029362 0.0056637535 + 435100 0.0039308403 0.0030755628 0.0050102733 + 435200 0.0067578729 0.0028093062 0.0061354468 + 435300 0.0045503254 0.0026289301 0.0048685434 + 435400 0.0054826654 0.0020654017 0.0047639011 + 435500 0.0058699816 0.0020616899 0.0049508215 + 435600 0.0063944339 0.002345736 0.0054929965 + 435700 0.0055379767 0.0025789184 0.0053046413 + 435800 0.0038171469 0.0023916575 0.0042704095 + 435900 0.0050577016 0.0019156315 0.004404969 + 436000 0.0039126465 0.0017374666 0.0036632223 + 436100 0.0048960534 0.0016009147 0.004010691 + 436200 0.0039395923 0.0018295104 0.0037685285 + 436300 0.0047905566 0.0020261744 0.0043840264 + 436400 0.0051604041 0.0021377624 0.0046776489 + 436500 0.0061764261 0.0022112608 0.0052512205 + 436600 0.0038333103 0.0020677709 0.0039544783 + 436700 0.0045392087 0.0017584762 0.0039926179 + 436800 0.0058969792 0.0018721305 0.0047745499 + 436900 0.0043249159 0.0028724516 0.0050011211 + 437000 0.0051787197 0.0030897366 0.0056386377 + 437100 0.0055898883 0.002854714 0.0056059872 + 437200 0.005234784 0.0027668905 0.0053433858 + 437300 0.0069970957 0.0023683678 0.0058122509 + 437400 0.0047714146 0.0022484354 0.004596866 + 437500 0.0045872059 0.0025493246 0.00480709 + 437600 0.0051512787 0.0028601383 0.0053955333 + 437700 0.0047786884 0.0029814433 0.005333454 + 437800 0.0080754113 0.0022956461 0.0062702626 + 437900 0.0048525166 0.0017660863 0.0041544343 + 438000 0.0048193669 0.001697799 0.0040698312 + 438100 0.0060441868 0.0016112007 0.0045860739 + 438200 0.0039414958 0.0021760853 0.0041160403 + 438300 0.00576472 0.0022154007 0.0050527238 + 438400 0.0040716287 0.0017808774 0.0037848822 + 438500 0.0041537765 0.0019990225 0.0040434594 + 438600 0.0062210369 0.0018943866 0.0049563032 + 438700 0.0064164013 0.0017760566 0.0049341291 + 438800 0.0058880484 0.0021867145 0.0050847383 + 438900 0.00405706 0.0026600552 0.0046568894 + 439000 0.0055796719 0.0020772304 0.0048234751 + 439100 0.0045044706 0.0016667818 0.0038838259 + 439200 0.004923599 0.0022425513 0.0046658852 + 439300 0.0055227663 0.0025733597 0.0052915963 + 439400 0.0030831807 0.0027848077 0.0043023107 + 439500 0.0048515837 0.0027475117 0.0051354006 + 439600 0.0057318888 0.0026987713 0.0055199353 + 439700 0.004861225 0.0027377519 0.0051303861 + 439800 0.0051200189 0.0021845632 0.0047045725 + 439900 0.0051621361 0.0020527049 0.0045934438 + 440000 0.0057624599 0.0024782095 0.0053144202 + 440100 0.0046420464 0.0031000907 0.0053848479 + 440200 0.0062301057 0.0032207917 0.0062871718 + 440300 0.0061432702 0.0028770404 0.0059006812 + 440400 0.0067205213 0.0027212803 0.0060290369 + 440500 0.0059789602 0.0028137637 0.0057565332 + 440600 0.0058185988 0.0031652411 0.0060290826 + 440700 0.0050817892 0.0033031854 0.0058043785 + 440800 0.0062662568 0.0027604333 0.0058446066 + 440900 0.0050632565 0.0027724837 0.0052645553 + 441000 0.0052671579 0.0031092681 0.0057016974 + 441100 0.0043811116 0.00299583 0.0051521584 + 441200 0.0045549877 0.0027253519 0.0049672599 + 441300 0.0057420638 0.0025819531 0.0054081252 + 441400 0.005067782 0.0026179863 0.0051122852 + 441500 0.0045041831 0.0025853352 0.0048022379 + 441600 0.0041433391 0.0026831201 0.0047224198 + 441700 0.0054100776 0.0025651141 0.0052278867 + 441800 0.0067533953 0.0029852045 0.0063091413 + 441900 0.0047596663 0.0037059499 0.0060485981 + 442000 0.0053624036 0.0032738252 0.0059131332 + 442100 0.0051464151 0.0027944117 0.0053274129 + 442200 0.0051920309 0.002840755 0.0053962077 + 442300 0.0056636797 0.0032036189 0.0059912113 + 442400 0.0045649429 0.0035508434 0.0057976512 + 442500 0.0046142528 0.0033136726 0.0055847502 + 442600 0.0052747653 0.002910494 0.0055066675 + 442700 0.0066585845 0.0028269246 0.0061041966 + 442800 0.0039361539 0.0026358168 0.0045731425 + 442900 0.0043322365 0.0026993357 0.0048316084 + 443000 0.0045744428 0.0028032386 0.0050547222 + 443100 0.0062439027 0.0028911264 0.0059642973 + 443200 0.0052513708 0.0033682986 0.0059529577 + 443300 0.0055303817 0.0033086407 0.0060306254 + 443400 0.0041924954 0.0028599614 0.0049234553 + 443500 0.0046536434 0.002758171 0.0050486361 + 443600 0.0045545631 0.0028416143 0.0050833134 + 443700 0.0035428713 0.0033599083 0.0051036652 + 443800 0.004382897 0.0035001787 0.0056573858 + 443900 0.0079017189 0.0031349304 0.0070240577 + 444000 0.0047893428 0.002777063 0.0051343177 + 444100 0.0047657192 0.0023260369 0.0046716643 + 444200 0.0040943267 0.002504197 0.0045193735 + 444300 0.0064630785 0.0024236971 0.0056047436 + 444400 0.0059552873 0.0024331697 0.0053642876 + 444500 0.0053767272 0.0023226653 0.0049690232 + 444600 0.0043329638 0.0020887919 0.0042214225 + 444700 0.0047737783 0.0026844343 0.0050340283 + 444800 0.003977059 0.0031674735 0.0051249323 + 444900 0.0039964901 0.0030856666 0.005052689 + 445000 0.0045421486 0.0024993426 0.0047349314 + 445100 0.004346563 0.0024721799 0.0046115039 + 445200 0.0036088105 0.0027974261 0.0045736375 + 445300 0.0043189962 0.0030255567 0.0051513126 + 445400 0.0066857306 0.0032457048 0.0065363378 + 445500 0.0044152075 0.0031630004 0.0053361104 + 445600 0.0047243431 0.0029252312 0.0052504938 + 445700 0.0041430176 0.0029075299 0.0049466714 + 445800 0.0038293036 0.0028271549 0.0047118903 + 445900 0.0050057749 0.003030862 0.0054946418 + 446000 0.0059914923 0.0027640874 0.005713025 + 446100 0.0053058957 0.0027253537 0.0053368492 + 446200 0.0051471977 0.0029108501 0.0054442365 + 446300 0.0042789589 0.0033591159 0.005465166 + 446400 0.0039802854 0.0032692142 0.0052282609 + 446500 0.0044080596 0.0023517907 0.0045213826 + 446600 0.0053742938 0.0024764041 0.0051215643 + 446700 0.004611337 0.0027471864 0.0050168289 + 446800 0.0053493577 0.0029255183 0.0055584053 + 446900 0.0041720928 0.0029517011 0.0050051531 + 447000 0.006767249 0.002405073 0.0057358283 + 447100 0.0055221371 0.0024966572 0.0052145841 + 447200 0.0044134446 0.0024369374 0.0046091796 + 447300 0.0050011161 0.0020977666 0.0045592534 + 447400 0.0042823765 0.0024540106 0.0045617428 + 447500 0.0047928719 0.0026555482 0.0050145399 + 447600 0.0047801156 0.0025843827 0.0049370959 + 447700 0.0044906232 0.0027341634 0.004944392 + 447800 0.0060969943 0.002609903 0.0056107674 + 447900 0.006031385 0.0024408677 0.00540944 + 448000 0.0040669389 0.002399875 0.0044015715 + 448100 0.0060424713 0.0022333173 0.0052073462 + 448200 0.0051840932 0.0022802285 0.0048317744 + 448300 0.0047547848 0.0022446017 0.0045848473 + 448400 0.0060123001 0.0022435216 0.0052027005 + 448500 0.0052020181 0.0023442604 0.0049046287 + 448600 0.005561712 0.0019589965 0.0046964016 + 448700 0.0036234954 0.002007808 0.0037912471 + 448800 0.0045741838 0.002034732 0.0042860881 + 448900 0.0043718779 0.0023066934 0.0044584771 + 449000 0.0046757031 0.0026611636 0.0049624862 + 449100 0.0060425739 0.0023168305 0.0052909098 + 449200 0.0041186587 0.0021362647 0.0041634171 + 449300 0.0037822041 0.0023871591 0.0042487127 + 449400 0.005178331 0.0025698083 0.0051185181 + 449500 0.0040157755 0.0025357032 0.0045122177 + 449600 0.0053278221 0.0024104043 0.0050326917 + 449700 0.0045527409 0.0021997974 0.0044405996 + 449800 0.0038990635 0.0020818205 0.0040008908 + 449900 0.0044828095 0.0020369569 0.0042433397 + 450000 0.0049635114 0.0020262884 0.0044692667 + 450100 0.0035521786 0.0020849276 0.0038332655 + 450200 0.0052211697 0.002294343 0.0048641375 + 450300 0.0052857225 0.0023754817 0.0049770482 + 450400 0.0043063693 0.0021362378 0.0042557789 + 450500 0.0043226818 0.0019038797 0.0040314496 + 450600 0.003823413 0.0019815114 0.0038633475 + 450700 0.0042747631 0.0019115549 0.0040155398 + 450800 0.0055858659 0.0020405967 0.00478989 + 450900 0.0057604484 0.0027347747 0.0055699954 + 451000 0.0042386959 0.0032725975 0.0053588306 + 451100 0.0071826399 0.0030908682 0.0066260738 + 451200 0.0039124654 0.0032342266 0.0051598932 + 451300 0.0058677828 0.0034854186 0.0063734679 + 451400 0.006438282 0.0031748312 0.0063436731 + 451500 0.0048921136 0.0026345962 0.0050424334 + 451600 0.005938308 0.0023880651 0.0053108261 + 451700 0.0046262983 0.0024120701 0.0046890763 + 451800 0.0037430292 0.0023094939 0.0041517661 + 451900 0.0048428483 0.0022834568 0.0046670462 + 452000 0.0059854173 0.0022567287 0.0052026763 + 452100 0.0062183354 0.0022347644 0.0052953514 + 452200 0.0054658653 0.0026200388 0.0053102694 + 452300 0.0055524403 0.0024750422 0.0052078839 + 452400 0.005003563 0.0023289167 0.0047916079 + 452500 0.0056818278 0.0028104012 0.0056069259 + 452600 0.005223316 0.0031013676 0.0056722185 + 452700 0.0057401607 0.0026157339 0.0054409692 + 452800 0.0058957429 0.0022609006 0.0051627115 + 452900 0.0042137134 0.0027284137 0.0048023508 + 453000 0.0062862727 0.0026278574 0.0057218823 + 453100 0.0043662392 0.0027550166 0.0049040249 + 453200 0.0044442918 0.003355687 0.0055431119 + 453300 0.0059963335 0.0029296648 0.0058809852 + 453400 0.0051329863 0.0026573336 0.0051837253 + 453500 0.0068271168 0.002694962 0.0060551835 + 453600 0.0053483136 0.0026032439 0.005235617 + 453700 0.0072114255 0.0026164658 0.0061658393 + 453800 0.004458976 0.0027643614 0.0049590137 + 453900 0.0055182098 0.0024153394 0.0051313333 + 454000 0.0044179965 0.0022301483 0.0044046309 + 454100 0.0059172601 0.002008565 0.0049209665 + 454200 0.0052779251 0.0020142719 0.0046120007 + 454300 0.0066158891 0.0022093718 0.0054656297 + 454400 0.0052858488 0.0021808304 0.0047824591 + 454500 0.0053429253 0.0022636096 0.0048933307 + 454600 0.0067293251 0.0022505756 0.0055626653 + 454700 0.0042449219 0.0025087988 0.0045980963 + 454800 0.0044919377 0.0025451342 0.0047560097 + 454900 0.0050262759 0.0025491515 0.0050230217 + 455000 0.0041853295 0.0025363501 0.0045963169 + 455100 0.0050320969 0.0026618337 0.0051385689 + 455200 0.0042504549 0.0023550321 0.0044470528 + 455300 0.0043846502 0.0024753922 0.0046334622 + 455400 0.0056711031 0.0028728801 0.0056641262 + 455500 0.0046295285 0.0029786781 0.0052572742 + 455600 0.0049766747 0.0024987513 0.0049482083 + 455700 0.0044787663 0.0025870158 0.0047914086 + 455800 0.0055729364 0.0024142832 0.0051572129 + 455900 0.0050974515 0.0025042982 0.0050132001 + 456000 0.0052151739 0.0024428946 0.0050097381 + 456100 0.0057634102 0.0022723744 0.0051090529 + 456200 0.005357478 0.0023478286 0.0049847123 + 456300 0.0058908281 0.0024826179 0.0053820099 + 456400 0.0068280572 0.0022588768 0.0056195612 + 456500 0.0062276117 0.0024500104 0.005515163 + 456600 0.0049359192 0.0024581389 0.0048875367 + 456700 0.0055209556 0.0020815055 0.0047988508 + 456800 0.0065737104 0.0020362311 0.0052717292 + 456900 0.0037896207 0.0023080375 0.0041732414 + 457000 0.0035330667 0.0023567518 0.0040956831 + 457100 0.0050664596 0.0019113863 0.0044050344 + 457200 0.0051997284 0.0018109329 0.0043701742 + 457300 0.0048649627 0.0022044861 0.0045989599 + 457400 0.0040363741 0.0030680025 0.0050546554 + 457500 0.004868475 0.0029337509 0.0053299535 + 457600 0.0058488769 0.0026264389 0.005505183 + 457700 0.0048008691 0.0022143343 0.0045772621 + 457800 0.0045491183 0.0022430535 0.0044820727 + 457900 0.0052229109 0.0027455195 0.0053161709 + 458000 0.0045521843 0.0028892488 0.005129777 + 458100 0.0037843087 0.0029750347 0.0048376241 + 458200 0.0058908568 0.0027113375 0.0056107437 + 458300 0.0044390666 0.0026214171 0.0048062702 + 458400 0.0058694169 0.0022180462 0.0051068998 + 458500 0.0046465162 0.0021476773 0.0044346345 + 458600 0.0041999142 0.0023323288 0.0043994741 + 458700 0.004038393 0.0024470405 0.0044346871 + 458800 0.0049249626 0.0022905638 0.0047145688 + 458900 0.0059248629 0.0026560582 0.0055722017 + 459000 0.0058551851 0.0030105384 0.0058923873 + 459100 0.0059704562 0.0037080985 0.0066466824 + 459200 0.0067476875 0.0035140401 0.0068351676 + 459300 0.0063549107 0.0032055615 0.0063333691 + 459400 0.0056231677 0.0032093101 0.0059769629 + 459500 0.0049721481 0.0027567568 0.005203986 + 459600 0.0050804815 0.0024140192 0.0049145687 + 459700 0.005090543 0.0029386329 0.0054441345 + 459800 0.0073273375 0.0026589513 0.0062653752 + 459900 0.0047069482 0.0030363903 0.0053530913 + 460000 0.0071149664 0.002485934 0.0059878315 + 460100 0.0045232327 0.0023422229 0.0045685015 + 460200 0.0039011479 0.0023880728 0.004308169 + 460300 0.0052166063 0.0023895815 0.0049571299 + 460400 0.0058553717 0.002356049 0.0052379897 + 460500 0.003769331 0.0023024807 0.0041576983 + 460600 0.0044425891 0.0025901201 0.0047767069 + 460700 0.0048049249 0.0030762461 0.0054411701 + 460800 0.0038050787 0.0030156292 0.0048884413 + 460900 0.0055574724 0.0026837961 0.0054191146 + 461000 0.0037252063 0.0024689779 0.0043024779 + 461100 0.0044132608 0.0025482741 0.0047204259 + 461200 0.0047577847 0.0028085289 0.0051502511 + 461300 0.0062671948 0.0027518409 0.0058364758 + 461400 0.0048884672 0.0028345273 0.0052405697 + 461500 0.0059439611 0.0031444593 0.0060700026 + 461600 0.0051192876 0.0033559026 0.0058755519 + 461700 0.0057464447 0.0030058714 0.0058341997 + 461800 0.0043789235 0.0031391124 0.0052943638 + 461900 0.0053001274 0.0027662812 0.0053749377 + 462000 0.0040188296 0.0025387826 0.0045168003 + 462100 0.0053038913 0.0019849181 0.004595427 + 462200 0.0036834213 0.0021394645 0.0039523985 + 462300 0.0061241928 0.0022375652 0.0052518163 + 462400 0.0067665333 0.0023209908 0.0056513939 + 462500 0.0048055384 0.0026984827 0.0050637087 + 462600 0.0053325179 0.0030094649 0.0056340635 + 462700 0.0063219786 0.003195951 0.0063075499 + 462800 0.0059905139 0.0029845222 0.0059329783 + 462900 0.0043668187 0.003197193 0.0053464866 + 463000 0.0056486229 0.0029108923 0.0056910739 + 463100 0.0054583055 0.003052586 0.0057390958 + 463200 0.0045377986 0.003046073 0.0052795207 + 463300 0.0065258803 0.002281827 0.0054937838 + 463400 0.0052539664 0.0019165157 0.0045024523 + 463500 0.0042581457 0.0019578191 0.0040536251 + 463600 0.0058754416 0.002011521 0.0049033399 + 463700 0.0052016904 0.0022716019 0.0048318089 + 463800 0.005303376 0.0022294118 0.0048396672 + 463900 0.0053250346 0.002138638 0.0047595535 + 464000 0.0045370561 0.0026446085 0.0048776908 + 464100 0.0036276267 0.0021673417 0.0039528142 + 464200 0.0058074579 0.0023499331 0.0052082913 + 464300 0.0058987413 0.0023788095 0.0052820962 + 464400 0.0050863288 0.0027761836 0.005279611 + 464500 0.0051814999 0.0028533438 0.0054036133 + 464600 0.0052262215 0.0026760432 0.0052483241 + 464700 0.0047922317 0.0026530435 0.0050117201 + 464800 0.0072995516 0.0023369637 0.0059297118 + 464900 0.0062876596 0.0023273194 0.0054220268 + 465000 0.0047130915 0.0027722073 0.005091932 + 465100 0.0053059015 0.0030296809 0.0056411793 + 465200 0.0071140274 0.002829789 0.0063312243 + 465300 0.0051996013 0.0030640614 0.0056232402 + 465400 0.0049424294 0.0026204389 0.0050530409 + 465500 0.004640903 0.002538005 0.0048221995 + 465600 0.0057528853 0.0024688011 0.0053002993 + 465700 0.0057775328 0.0025397103 0.0053833397 + 465800 0.0043930409 0.0023570419 0.0045192417 + 465900 0.0058210189 0.0025337639 0.0053987966 + 466000 0.0037705558 0.0025837434 0.0044395639 + 466100 0.0033904199 0.0024455778 0.0041143001 + 466200 0.0040639443 0.0024181859 0.0044184085 + 466300 0.0049604044 0.0021711037 0.0046125527 + 466400 0.0057981659 0.0019002999 0.0047540846 + 466500 0.0050051265 0.0020456512 0.0045091119 + 466600 0.0038299856 0.0023921224 0.0042771934 + 466700 0.0051769004 0.0020811644 0.0046291701 + 466800 0.0049427206 0.001945279 0.0043780244 + 466900 0.0039545539 0.002530434 0.004476816 + 467000 0.0056279428 0.0020895652 0.0048595682 + 467100 0.0043166941 0.0018834558 0.0040080787 + 467200 0.004521646 0.0022178899 0.0044433875 + 467300 0.0043993546 0.0024630686 0.0046283759 + 467400 0.0060550244 0.0028708605 0.0058510678 + 467500 0.0039694642 0.0028413901 0.0047951108 + 467600 0.0059745687 0.002223368 0.005163976 + 467700 0.0073579967 0.0018062479 0.0054277619 + 467800 0.0058510996 0.0025646917 0.0054445298 + 467900 0.0056589511 0.002398842 0.005184107 + 468000 0.0066277241 0.001717702 0.004979785 + 468100 0.004289371 0.00210594 0.0042171148 + 468200 0.0059869494 0.0022550407 0.0052017423 + 468300 0.0042434072 0.0024812083 0.0045697602 + 468400 0.0047578634 0.0026845806 0.0050263415 + 468500 0.0044200406 0.0028427741 0.0050182628 + 468600 0.0049601847 0.0024759274 0.0049172683 + 468700 0.0051813637 0.0022432679 0.0047934703 + 468800 0.0055160049 0.0019861104 0.0047010191 + 468900 0.0054145172 0.0018606241 0.0045255818 + 469000 0.0050179497 0.0017698286 0.0042396007 + 469100 0.006827133 0.0018968222 0.0052570517 + 469200 0.0043364205 0.0023818024 0.0045161344 + 469300 0.0042779268 0.0025621595 0.0046677016 + 469400 0.0043609692 0.0023604094 0.0045068239 + 469500 0.00435664 0.0022746122 0.004418896 + 469600 0.0054624151 0.002047811 0.0047363435 + 469700 0.0030212366 0.002020544 0.0035075588 + 469800 0.0030569168 0.0020561535 0.0035607298 + 469900 0.004441992 0.0018756072 0.0040619002 + 470000 0.0050354214 0.002190655 0.0046690264 + 470100 0.0052605988 0.0021559112 0.0047451121 + 470200 0.0039628229 0.0022485019 0.0041989538 + 470300 0.0038882512 0.002129247 0.0040429956 + 470400 0.0055003439 0.0021092776 0.0048164781 + 470500 0.0066998865 0.0024644286 0.005762029 + 470600 0.005626229 0.0027918429 0.0055610025 + 470700 0.0058792826 0.002680778 0.0055744874 + 470800 0.00429514 0.0022853162 0.0043993304 + 470900 0.0054355737 0.0024780238 0.0051533452 + 471000 0.0047345322 0.0026393068 0.0049695844 + 471100 0.0047741354 0.0027944164 0.0051441861 + 471200 0.0049859781 0.0021690278 0.0046230639 + 471300 0.0044161031 0.0018747419 0.0040482927 + 471400 0.0050214682 0.0020725083 0.0045440122 + 471500 0.0053692348 0.0026075721 0.0052502424 + 471600 0.006675278 0.0029349539 0.0062204423 + 471700 0.0055883027 0.0030122013 0.005762694 + 471800 0.0059790976 0.0033320077 0.0062748448 + 471900 0.0042649589 0.0037324354 0.0058315948 + 472000 0.0063931188 0.0036847621 0.0068313753 + 472100 0.0054117434 0.0041079481 0.0067715405 + 472200 0.0058045282 0.0036964952 0.0065534115 + 472300 0.0067190517 0.0027155745 0.0060226077 + 472400 0.0055353417 0.0022480471 0.0049724731 + 472500 0.0056498597 0.0024376224 0.0052184127 + 472600 0.0049199615 0.0027682172 0.0051897607 + 472700 0.0070035183 0.0030364636 0.0064835077 + 472800 0.0042817298 0.0032854213 0.0053928352 + 472900 0.0048778224 0.0031066164 0.0055074196 + 473000 0.0042209319 0.0030407662 0.0051182561 + 473100 0.0054840538 0.0026403523 0.0053395351 + 473200 0.0038314423 0.0026744629 0.0045602509 + 473300 0.0044381532 0.0026483069 0.0048327104 + 473400 0.0048748604 0.002879944 0.0052792894 + 473500 0.0055695798 0.0030065843 0.0057478619 + 473600 0.0052383457 0.0032031928 0.0057814411 + 473700 0.0062898565 0.0029743557 0.0060701444 + 473800 0.0074973081 0.0024897566 0.0061798379 + 473900 0.0051826012 0.0024512145 0.005002026 + 474000 0.0045143492 0.0024703317 0.004692238 + 474100 0.0042104287 0.0026474891 0.0047198095 + 474200 0.0061543926 0.0028413105 0.0058704256 + 474300 0.0053929571 0.0027057955 0.0053601415 + 474400 0.0042807328 0.0023167678 0.004423691 + 474500 0.0053386276 0.0019614777 0.0045890835 + 474600 0.0051915979 0.0022256763 0.0047809159 + 474700 0.0053101143 0.0027458601 0.005359432 + 474800 0.0065996491 0.0023805353 0.0056288001 + 474900 0.006165849 0.0019566348 0.0049913886 + 475000 0.0053501971 0.0023707722 0.0050040723 + 475100 0.0056335557 0.0019874605 0.0047602261 + 475200 0.0047311216 0.0017060137 0.0040346126 + 475300 0.0045025627 0.0017024679 0.003918573 + 475400 0.0054300759 0.0019177566 0.004590372 + 475500 0.005692519 0.0020686134 0.0048704001 + 475600 0.0045116865 0.0024280755 0.0046486712 + 475700 0.0046015725 0.0021616525 0.004426489 + 475800 0.0036448189 0.0022573947 0.004051329 + 475900 0.0050416596 0.0020447145 0.0045261563 + 476000 0.0049772145 0.0022565836 0.0047063064 + 476100 0.0050821571 0.0021573196 0.0046586938 + 476200 0.0057763973 0.0016699889 0.0045130594 + 476300 0.0042236306 0.0017734591 0.0038522773 + 476400 0.0048830418 0.002281843 0.0046852152 + 476500 0.0051305768 0.0022456879 0.0047708937 + 476600 0.0044399123 0.0017674343 0.0039527037 + 476700 0.0048235126 0.001747622 0.0041216946 + 476800 0.0029895271 0.002332608 0.0038040158 + 476900 0.0039065839 0.0023735788 0.0042963506 + 477000 0.0057358643 0.0025747243 0.005397845 + 477100 0.006495331 0.0028459599 0.0060428806 + 477200 0.0036942739 0.0030729041 0.0048911795 + 477300 0.0054288887 0.0026720818 0.0053441129 + 477400 0.0054835947 0.0025946863 0.0052936431 + 477500 0.0054529548 0.0021918722 0.0048757484 + 477600 0.0068092185 0.0020296056 0.0053810178 + 477700 0.0045444619 0.0023456665 0.0045823938 + 477800 0.0046679139 0.0025203573 0.0048178462 + 477900 0.0058005592 0.0025796245 0.0054345873 + 478000 0.005102984 0.0021915734 0.0047031984 + 478100 0.0048480484 0.0021639013 0.0045500501 + 478200 0.0058537532 0.002293732 0.0051748762 + 478300 0.0047485895 0.0030168759 0.0053540723 + 478400 0.005321422 0.0031839717 0.005803109 + 478500 0.0045197113 0.0034829863 0.0057075317 + 478600 0.003920075 0.0031543959 0.0050838078 + 478700 0.0045942518 0.0026425301 0.0049037634 + 478800 0.0053606151 0.0027259872 0.005364415 + 478900 0.0055184989 0.0025430031 0.0052591393 + 479000 0.0054709108 0.0025178673 0.0052105813 + 479100 0.0060734552 0.0025457248 0.0055350035 + 479200 0.0038710543 0.0029572874 0.0048625719 + 479300 0.0064768831 0.0025555783 0.0057434192 + 479400 0.0047266405 0.0022165166 0.0045429099 + 479500 0.0041899517 0.0021105472 0.004172789 + 479600 0.0051089757 0.0019238963 0.0044384702 + 479700 0.0052763911 0.0018409582 0.004437932 + 479800 0.0056727056 0.0020507629 0.0048427977 + 479900 0.0046079909 0.0022477124 0.0045157079 + 480000 0.0047371187 0.001880386 0.0042119366 + 480100 0.0055126582 0.0016567758 0.0043700372 + 480200 0.0036651617 0.0020150547 0.0038190014 + 480300 0.0043983013 0.0020484185 0.0042132074 + 480400 0.0041201815 0.0024795705 0.0045074723 + 480500 0.0035539699 0.0028926755 0.0046418951 + 480600 0.0040479456 0.0026857801 0.0046781284 + 480700 0.0048059515 0.0024318132 0.0047972425 + 480800 0.0056649585 0.0019205828 0.0047088046 + 480900 0.005004063 0.0019652244 0.0044281617 + 481000 0.0040456025 0.0020738351 0.0040650301 + 481100 0.0037035211 0.0018714687 0.0036942955 + 481200 0.0054814298 0.0020116416 0.0047095328 + 481300 0.0053114325 0.0016704856 0.0042847063 + 481400 0.0045450479 0.0015930901 0.0038301059 + 481500 0.0044955159 0.0019785231 0.0041911598 + 481600 0.004382536 0.0021368844 0.0042939138 + 481700 0.0041638758 0.0022370161 0.0042864238 + 481800 0.0048225945 0.0021764818 0.0045501026 + 481900 0.0043109698 0.0020686081 0.0041904136 + 482000 0.0051000011 0.002273925 0.0047840818 + 482100 0.0051725369 0.0026287365 0.0051745945 + 482200 0.0043606825 0.0026763124 0.0048225858 + 482300 0.0062271789 0.0022903576 0.0053552972 + 482400 0.006336912 0.0018858078 0.0050047567 + 482500 0.005813882 0.0020471028 0.0049086228 + 482600 0.0041865602 0.0023336123 0.0043941849 + 482700 0.0050079387 0.0022384298 0.0047032746 + 482800 0.0063791574 0.0026138117 0.0057535532 + 482900 0.004725331 0.0026780171 0.005003766 + 483000 0.005001861 0.0022868335 0.0047486869 + 483100 0.0046748767 0.0020798573 0.0043807732 + 483200 0.005604248 0.0021659655 0.0049243063 + 483300 0.0055097862 0.0027288832 0.0054407311 + 483400 0.0054278063 0.0024357829 0.0051072812 + 483500 0.0054492427 0.0020743408 0.00475639 + 483600 0.0045108603 0.0019886831 0.0042088722 + 483700 0.0036391367 0.0025148911 0.0043060287 + 483800 0.003780863 0.0024865492 0.0043474427 + 483900 0.004548274 0.0023844515 0.0046230552 + 484000 0.0048207915 0.0022779288 0.0046506621 + 484100 0.0048812449 0.0022334274 0.0046359151 + 484200 0.0070497565 0.0020759908 0.0055457928 + 484300 0.0068034416 0.002098698 0.0054472669 + 484400 0.0066215726 0.0019078977 0.005166953 + 484500 0.0039564701 0.002120789 0.0040681142 + 484600 0.0043868999 0.0020779724 0.0042371497 + 484700 0.0042864089 0.0018287335 0.0039384504 + 484800 0.0046100097 0.0019454191 0.0042144082 + 484900 0.0044831969 0.0020484014 0.0042549749 + 485000 0.0056751244 0.0018998529 0.0046930782 + 485100 0.0048586946 0.0015079674 0.0038993561 + 485200 0.0058916409 0.0017304499 0.0046302419 + 485300 0.0052061446 0.0018185229 0.0043809222 + 485400 0.0054987992 0.0020373649 0.0047438051 + 485500 0.0046091525 0.0018914765 0.0041600437 + 485600 0.0051514373 0.0018770523 0.0044125254 + 485700 0.0064069401 0.0018052085 0.0049586243 + 485800 0.0054154306 0.0023821156 0.0050475229 + 485900 0.0067457162 0.0029937362 0.0063138935 + 486000 0.0046136854 0.0031141199 0.0053849182 + 486100 0.0053139263 0.0024085899 0.0050240381 + 486200 0.0053620471 0.0019773408 0.0046164734 + 486300 0.0037387618 0.0021997594 0.0040399312 + 486400 0.0060661866 0.002301865 0.0052875662 + 486500 0.0045466293 0.0024188852 0.0046566793 + 486600 0.0051930471 0.0023155754 0.0048715282 + 486700 0.004942165 0.0024410016 0.0048734735 + 486800 0.0063950557 0.0022798436 0.0054274101 + 486900 0.0055105421 0.0026051746 0.0053173945 + 487000 0.0061576212 0.0023509877 0.0053816918 + 487100 0.0057075088 0.0023993584 0.0052085229 + 487200 0.0050952116 0.0025734102 0.0050812097 + 487300 0.0048605523 0.0021885109 0.004580814 + 487400 0.0051484957 0.0019376002 0.0044716254 + 487500 0.0036660335 0.0020809783 0.0038853541 + 487600 0.0053173554 0.0022569108 0.0048740467 + 487700 0.0050517592 0.0024071751 0.0048935879 + 487800 0.0054306478 0.002276436 0.004949333 + 487900 0.0049553062 0.0024631857 0.0049021255 + 488000 0.004595676 0.0025667823 0.0048287166 + 488100 0.0042972543 0.0026330129 0.0047480677 + 488200 0.0042027735 0.0026677265 0.004736279 + 488300 0.0042555673 0.0021093122 0.0042038492 + 488400 0.0039788366 0.0019465279 0.0039048615 + 488500 0.0046010947 0.0020319976 0.0042965989 + 488600 0.0053535197 0.0022985798 0.0049335153 + 488700 0.0047867103 0.0026788752 0.0050348342 + 488800 0.0045671245 0.0023502175 0.0045980991 + 488900 0.0043042132 0.0021525849 0.0042710648 + 489000 0.0040621391 0.0020836197 0.0040829538 + 489100 0.0035002268 0.0024774803 0.0042002482 + 489200 0.003617471 0.0022934435 0.0040739175 + 489300 0.0040389742 0.002265435 0.0042533676 + 489400 0.0052632795 0.0020305529 0.0046210733 + 489500 0.0051889776 0.002110869 0.0046648189 + 489600 0.0057555511 0.0024457472 0.0052785575 + 489700 0.0064930083 0.0029294758 0.0061252533 + 489800 0.0053644955 0.0033192481 0.0059595857 + 489900 0.0042996195 0.0029290722 0.0050452912 + 490000 0.0063427722 0.0026770177 0.0057988509 + 490100 0.0056094738 0.0028773619 0.0056382748 + 490200 0.0046299985 0.0029781372 0.0052569646 + 490300 0.0048014492 0.0026442064 0.0050074197 + 490400 0.0044407485 0.0023484415 0.0045341224 + 490500 0.004567439 0.0021386784 0.0043867147 + 490600 0.0066762667 0.0024293248 0.0057152998 + 490700 0.004466595 0.002712336 0.0049107382 + 490800 0.0043845317 0.0025788969 0.0047369086 + 490900 0.0048682176 0.0024263241 0.0048224 + 491000 0.0045882402 0.0026391377 0.0048974122 + 491100 0.0038772274 0.0022269042 0.0041352271 + 491200 0.0042423617 0.0020141747 0.0041022121 + 491300 0.0041589917 0.0022197861 0.0042667898 + 491400 0.0046337074 0.0023064972 0.0045871501 + 491500 0.0055676083 0.0022678105 0.0050081177 + 491600 0.0049517356 0.002723131 0.0051603134 + 491700 0.0068671087 0.002767813 0.0061477181 + 491800 0.0055963991 0.0029715769 0.0057260546 + 491900 0.0050704958 0.0033386805 0.0058343151 + 492000 0.0051144032 0.0032329584 0.0057502038 + 492100 0.0046705906 0.0029790669 0.0052778732 + 492200 0.0049224905 0.0028076296 0.0052304179 + 492300 0.0057805255 0.0025200417 0.0053651441 + 492400 0.0048184702 0.0022873195 0.0046589103 + 492500 0.004366199 0.002504202 0.0046531905 + 492600 0.0048857155 0.0028146177 0.0052193058 + 492700 0.0034530568 0.0028282291 0.0045277805 + 492800 0.0043684869 0.0022276855 0.0043778002 + 492900 0.0051460853 0.0021215629 0.0046544018 + 493000 0.0051312971 0.001845894 0.0043714544 + 493100 0.0056375988 0.0018482441 0.0046229998 + 493200 0.0040150112 0.0021702332 0.0041463715 + 493300 0.0054452575 0.0019266548 0.0046067425 + 493400 0.0052135454 0.0019255353 0.0044915772 + 493500 0.0048256624 0.0021935035 0.0045686342 + 493600 0.0049299229 0.0019969559 0.0044234023 + 493700 0.0047551348 0.0018740337 0.0042144517 + 493800 0.0032140244 0.0021466197 0.0037285223 + 493900 0.0041551801 0.0023500339 0.0043951616 + 494000 0.0038107074 0.0022371858 0.0041127683 + 494100 0.0032834325 0.0022900782 0.0039061427 + 494200 0.0046757787 0.0022883286 0.0045896885 + 494300 0.0045219864 0.0023410112 0.0045666764 + 494400 0.0046774086 0.00218029 0.004482452 + 494500 0.0064367496 0.0019536285 0.0051217162 + 494600 0.0047397831 0.0025279638 0.0048608258 + 494700 0.0050026501 0.0028421811 0.005304423 + 494800 0.0045419983 0.0026340343 0.0048695491 + 494900 0.0056420265 0.0028753428 0.0056522776 + 495000 0.005507323 0.0028003863 0.0055110219 + 495100 0.0047008538 0.0024023383 0.0047160398 + 495200 0.0053552105 0.0021364541 0.0047722218 + 495300 0.0034040418 0.0018591845 0.0035346113 + 495400 0.0048995382 0.0016600105 0.0040715019 + 495500 0.005778084 0.002001479 0.0048453797 + 495600 0.0047276551 0.0026102186 0.0049371114 + 495700 0.0051477279 0.0027275966 0.005261244 + 495800 0.0056346969 0.0030160442 0.0057893716 + 495900 0.007548474 0.0027741931 0.0064894577 + 496000 0.004194577 0.0027022593 0.0047667776 + 496100 0.0049067335 0.0023000918 0.0047151247 + 496200 0.0058939002 0.0018330963 0.0047340003 + 496300 0.0046005158 0.0019081988 0.0041725151 + 496400 0.0064731697 0.0020485627 0.0052345759 + 496500 0.0049280334 0.0024483804 0.0048738968 + 496600 0.005490108 0.0020169475 0.00471911 + 496700 0.0044688839 0.0018056445 0.0040051734 + 496800 0.0049985486 0.0016347172 0.0040949403 + 496900 0.0051988524 0.0018173291 0.0043761393 + 497000 0.004844001 0.00235639 0.0047405467 + 497100 0.0061112077 0.0023566644 0.0053645244 + 497200 0.0078006514 0.0022437953 0.0060831784 + 497300 0.004558918 0.0025357951 0.0047796376 + 497400 0.0047921801 0.0025138945 0.0048725457 + 497500 0.0048843636 0.0021674974 0.0045715202 + 497600 0.0056120386 0.0024121104 0.0051742857 + 497700 0.0045760778 0.0027305961 0.0049828844 + 497800 0.0035819925 0.0024594192 0.0042224312 + 497900 0.0074781907 0.0018958138 0.0055764858 + 498000 0.0045278918 0.0021953068 0.0044238786 + 498100 0.0050322353 0.0019859024 0.0044627057 + 498200 0.0044954206 0.0017299993 0.0039425891 + 498300 0.0040242139 0.0017524434 0.0037331112 + 498400 0.0055497334 0.0018656262 0.0045971357 + 498500 0.0049968978 0.0017442568 0.0042036674 + 498600 0.0050737898 0.0022926717 0.0047899276 + 498700 0.005525373 0.0023865778 0.0051060973 + 498800 0.0057704614 0.0020944633 0.0049346123 + 498900 0.0055561655 0.0023676252 0.0051023005 + 499000 0.0040895872 0.0025225513 0.004535395 + 499100 0.0042393223 0.0024756279 0.0045621693 + 499200 0.0077667447 0.0023186237 0.0061413183 + 499300 0.0064844065 0.0021250581 0.005316602 + 499400 0.0057094806 0.0018238033 0.0046339383 + 499500 0.0044348281 0.0018955745 0.0040783415 + 499600 0.0045596766 0.0022754682 0.004519684 + 499700 0.0048571506 0.0024647578 0.0048553866 + 499800 0.005310784 0.0024297556 0.0050436571 + 499900 0.0061446883 0.0019408077 0.0049651465 + 500000 0.0056624348 0.0024138843 0.0052008639 + 500100 0.0048835137 0.002178494 0.0045820984 + 500200 0.0055733307 0.002016472 0.0047595958 + 500300 0.0051382959 0.0023847449 0.0049137499 + 500400 0.004525495 0.0022094289 0.004436821 + 500500 0.0044443143 0.0022040318 0.0043914677 + 500600 0.0042794941 0.0019443915 0.004050705 + 500700 0.0035095916 0.001651998 0.0033793752 + 500800 0.0051789805 0.0014859761 0.0040350055 + 500900 0.0037251403 0.0017888331 0.0036223006 + 501000 0.005196477 0.0015769704 0.0041346114 + 501100 0.0048340341 0.0016927793 0.0040720304 + 501200 0.0047134371 0.0018507837 0.0041706786 + 501300 0.0043296181 0.0019996355 0.0041306194 + 501400 0.0056750864 0.0020678129 0.0048610195 + 501500 0.0043584182 0.0023054272 0.0044505861 + 501600 0.0059924049 0.0022003219 0.0051497087 + 501700 0.0049630935 0.0023988592 0.0048416318 + 501800 0.0058468728 0.0024451022 0.0053228599 + 501900 0.0049186537 0.0028502889 0.0052711888 + 502000 0.0061707998 0.0028398213 0.0058770118 + 502100 0.005503032 0.0028803688 0.0055888923 + 502200 0.0070180528 0.0031244659 0.0065786637 + 502300 0.0066838755 0.0031566969 0.0064464169 + 502400 0.0058283947 0.0023332199 0.0052018829 + 502500 0.004509389 0.0025082531 0.004727718 + 502600 0.0039601786 0.0026125611 0.0045617115 + 502700 0.0045416411 0.0026236358 0.0048589748 + 502800 0.0063011943 0.002491442 0.0055928111 + 502900 0.0050682158 0.0024076976 0.0049022101 + 503000 0.0070107344 0.001862217 0.0053128128 + 503100 0.0061854647 0.0020742312 0.0051186397 + 503200 0.0041900694 0.001880071 0.0039423708 + 503300 0.0058227259 0.0021278756 0.0049937485 + 503400 0.005453523 0.0021369014 0.0048210572 + 503500 0.0063048575 0.0020907495 0.0051939215 + 503600 0.0053862005 0.0026757929 0.0053268135 + 503700 0.0033275451 0.0027795829 0.004417359 + 503800 0.004557141 0.0026406128 0.0048835807 + 503900 0.0058531039 0.0023728567 0.0052536813 + 504000 0.0036455145 0.0021363477 0.0039306244 + 504100 0.0049457892 0.0018438005 0.0042780562 + 504200 0.004395065 0.0015966349 0.0037598309 + 504300 0.0046427608 0.0016608848 0.0039459936 + 504400 0.0045025319 0.0016507706 0.0038668606 + 504500 0.0045890442 0.0019425051 0.0042011753 + 504600 0.0047648729 0.0016263507 0.0039715616 + 504700 0.0046581454 0.0015048587 0.0037975397 + 504800 0.0043827462 0.001824576 0.0039817089 + 504900 0.0040884205 0.0018720093 0.0038842788 + 505000 0.0042261644 0.0018175427 0.0038976079 + 505100 0.0057494313 0.0018561532 0.0046859514 + 505200 0.0063262964 0.0020478088 0.0051615328 + 505300 0.0046771356 0.0024535425 0.0047555702 + 505400 0.0054914877 0.0026326858 0.0053355274 + 505500 0.0052362328 0.0026905597 0.005267768 + 505600 0.0070355087 0.0023559431 0.0058187325 + 505700 0.0041237394 0.0027402428 0.0047698958 + 505800 0.0044894867 0.0030239292 0.0052335984 + 505900 0.0049179813 0.0024798941 0.004900463 + 506000 0.0055150845 0.0020895527 0.0048040083 + 506100 0.0056561347 0.0027135545 0.0054974333 + 506200 0.0054337959 0.0029230384 0.0055974848 + 506300 0.0065274065 0.0024525733 0.0056652812 + 506400 0.0053089612 0.0018536343 0.0044666386 + 506500 0.0044572255 0.0018064189 0.0040002096 + 506600 0.0050722866 0.0014997487 0.0039962647 + 506700 0.0032767142 0.0013797102 0.002992468 + 506800 0.0034362649 0.0013548045 0.0030460911 + 506900 0.0050170389 0.0017192413 0.0041885651 + 507000 0.0055718197 0.0018875544 0.0046299344 + 507100 0.0071455244 0.0022827922 0.00579973 + 507200 0.0047344092 0.0024193278 0.0047495449 + 507300 0.0050290498 0.0022646182 0.0047398537 + 507400 0.0058703886 0.0017460469 0.0046353788 + 507500 0.0048327524 0.0016765618 0.0040551821 + 507600 0.0042987642 0.0016261512 0.0037419492 + 507700 0.0044786554 0.0021650077 0.0043693459 + 507800 0.004213251 0.0023742269 0.0044479364 + 507900 0.0060305488 0.0019401768 0.0049083375 + 508000 0.003595985 0.0019049745 0.0036748734 + 508100 0.0033402846 0.001802375 0.0034464213 + 508200 0.0043488891 0.002163127 0.0043035958 + 508300 0.0048044042 0.0025134679 0.0048781356 + 508400 0.0035499684 0.0025288183 0.0042760684 + 508500 0.0044713204 0.0023492824 0.0045500104 + 508600 0.0058588449 0.002351898 0.0052355483 + 508700 0.0032789412 0.0025474405 0.0041612943 + 508800 0.0051226125 0.0023944953 0.0049157811 + 508900 0.0062531839 0.0025439781 0.0056217171 + 509000 0.0035942299 0.0026501611 0.0044191962 + 509100 0.0061266408 0.0021961913 0.0052116473 + 509200 0.0041447386 0.0024501888 0.0044901773 + 509300 0.0061417541 0.0024764782 0.0054993727 + 509400 0.0065466947 0.0022071231 0.0054293244 + 509500 0.0052427949 0.0020891604 0.0046695985 + 509600 0.004688901 0.002059927 0.0043677455 + 509700 0.005319515 0.0026855881 0.0053037868 + 509800 0.0074845041 0.0029748415 0.0066586208 + 509900 0.0079878654 0.00291482 0.0068463475 + 510000 0.0066976224 0.0027541766 0.0060506626 + 510100 0.00683835 0.0021812792 0.0055470296 + 510200 0.0069571827 0.0021433416 0.0055675799 + 510300 0.0069416195 0.0023640465 0.0057806248 + 510400 0.0058623055 0.0022858652 0.0051712187 + 510500 0.0051198073 0.0024065676 0.0049264727 + 510600 0.0040816845 0.0022519116 0.0042608657 + 510700 0.0062419196 0.0019902787 0.0050624735 + 510800 0.004801117 0.0025262548 0.0048893046 + 510900 0.0059795981 0.0021087622 0.0050518457 + 511000 0.0063875193 0.0018539342 0.0049977914 + 511100 0.0054673922 0.0017633445 0.0044543266 + 511200 0.005795674 0.0015987836 0.0044513419 + 511300 0.0045666154 0.0016318381 0.0038794692 + 511400 0.0052553269 0.0020294053 0.0046160115 + 511500 0.0057930053 0.0019662174 0.0048174622 + 511600 0.0055270902 0.0016826762 0.0044030408 + 511700 0.0041399938 0.0017255193 0.0037631725 + 511800 0.0051729386 0.0017139027 0.0042599584 + 511900 0.0041396625 0.0022103365 0.0042478267 + 512000 0.0054187933 0.00205081 0.0047178724 + 512100 0.0056454439 0.0024898735 0.0052684904 + 512200 0.0068296237 0.0024373531 0.0057988085 + 512300 0.0054543851 0.0021255845 0.0048101646 + 512400 0.00447135 0.0024816884 0.004682431 + 512500 0.0054418554 0.0026090002 0.0052874135 + 512600 0.0050686832 0.0024335164 0.0049282589 + 512700 0.0062524184 0.0024246974 0.0055020595 + 512800 0.0047736173 0.0026574487 0.0050069635 + 512900 0.0040728674 0.002671811 0.0046764254 + 513000 0.0061994319 0.0024946726 0.0055459555 + 513100 0.0062538144 0.0023801221 0.0054581714 + 513200 0.0053455585 0.0026299108 0.0052609278 + 513300 0.0046967656 0.0022179163 0.0045296056 + 513400 0.0038996581 0.0021689066 0.0040882696 + 513500 0.0039149384 0.0021444307 0.0040713145 + 513600 0.0043341152 0.0024228919 0.0045560892 + 513700 0.0047852266 0.0027363072 0.0050915359 + 513800 0.0048969481 0.0024886463 0.0048988629 + 513900 0.0051300205 0.001893264 0.0044181959 + 514000 0.005614362 0.0017692143 0.0045325331 + 514100 0.0054211534 0.0016662906 0.0043345145 + 514200 0.0038296943 0.0018453568 0.0037302845 + 514300 0.0062263199 0.0016673401 0.004731857 + 514400 0.0061946996 0.0021080595 0.0051570132 + 514500 0.0049183927 0.0022027334 0.0046235048 + 514600 0.0064182885 0.0016088657 0.0047678671 + 514700 0.0050388119 0.0017274156 0.0042074558 + 514800 0.0052376557 0.0021864596 0.0047643682 + 514900 0.0053547913 0.0023719811 0.0050075424 + 515000 0.0042433818 0.0026020279 0.0046905674 + 515100 0.0054477361 0.0024901747 0.0051714823 + 515200 0.0052281857 0.0019065957 0.0044798434 + 515300 0.0065536511 0.0021660396 0.0053916648 + 515400 0.0039901416 0.0024720998 0.0044359976 + 515500 0.0048997544 0.0019462009 0.0043577988 + 515600 0.0045650123 0.0019063118 0.0041531538 + 515700 0.0041162934 0.0018106048 0.003836593 + 515800 0.0050461063 0.0015311981 0.0040148285 + 515900 0.0046146387 0.0016262137 0.0038974812 + 516000 0.0035174612 0.0018358289 0.0035670794 + 516100 0.0042844152 0.0016509081 0.0037596438 + 516200 0.0055611281 0.0014246619 0.0041617796 + 516300 0.005136607 0.0019813589 0.0045095327 + 516400 0.0043396551 0.0021748914 0.0043108154 + 516500 0.0043006405 0.0021204066 0.0042371281 + 516600 0.004263579 0.0016289506 0.0037274309 + 516700 0.0045408959 0.0014671841 0.0037021563 + 516800 0.0029021403 0.001943065 0.0033714622 + 516900 0.0059783309 0.001760332 0.0047027917 + 517000 0.0045705432 0.0016934536 0.0039430178 + 517100 0.0049468442 0.0021404428 0.0045752177 + 517200 0.004555038 0.0026605313 0.0049024641 + 517300 0.0052369647 0.0025063917 0.0050839602 + 517400 0.004330215 0.0029978763 0.005129154 + 517500 0.0055578571 0.0028711662 0.005606674 + 517600 0.0047299052 0.0024803027 0.0048083029 + 517700 0.0047423011 0.0024190556 0.0047531569 + 517800 0.0053251604 0.0020217861 0.0046427635 + 517900 0.0058197363 0.0017676349 0.0046320364 + 518000 0.0046937168 0.0016494521 0.0039596408 + 518100 0.0043342057 0.0016191619 0.0037524037 + 518200 0.0055818627 0.0018660005 0.0046133236 + 518300 0.0048042523 0.0019743529 0.0043389459 + 518400 0.0050937389 0.0022712502 0.0047783248 + 518500 0.0064487381 0.0023938224 0.0055678107 + 518600 0.0047140933 0.0022674993 0.0045877171 + 518700 0.0062927264 0.0023209448 0.0054181461 + 518800 0.0054475856 0.0026373643 0.0053185978 + 518900 0.0043727702 0.0024855831 0.0046378059 + 519000 0.0046556641 0.0028674161 0.0051588758 + 519100 0.0055212701 0.0024771327 0.0051946328 + 519200 0.0043848974 0.0020756139 0.0042338056 + 519300 0.0045381871 0.0022370443 0.0044706833 + 519400 0.0046222962 0.0024174005 0.0046924369 + 519500 0.0037252776 0.002817078 0.004650613 + 519600 0.0057771277 0.0028654359 0.005708866 + 519700 0.0045003544 0.0033403785 0.0055553967 + 519800 0.0054131291 0.0037315303 0.0063958048 + 519900 0.004651672 0.0038220128 0.0061115076 + 520000 0.0050434872 0.0036480255 0.0061303669 + 520100 0.0061169838 0.0032543786 0.0062650815 + 520200 0.0057008896 0.0026115024 0.005417409 + 520300 0.0058616515 0.0024870899 0.0053721214 + 520400 0.0055688332 0.0023874843 0.0051283944 + 520500 0.0060654097 0.002484404 0.0054697228 + 520600 0.0050095443 0.0028558316 0.0053214666 + 520700 0.0048441201 0.0030830217 0.0054672371 + 520800 0.0046001051 0.002607227 0.0048713412 + 520900 0.0065132277 0.0023634371 0.0055691663 + 521000 0.0037069127 0.0024112798 0.0042357759 + 521100 0.0045263865 0.0020989574 0.0043267883 + 521200 0.0058255187 0.0019188448 0.0047860923 + 521300 0.0056548613 0.0022866326 0.0050698846 + 521400 0.0057180677 0.0021968144 0.0050111758 + 521500 0.006054992 0.0020747359 0.0050549273 + 521600 0.0054204845 0.0018491084 0.0045170031 + 521700 0.0050595869 0.0015769048 0.0040671702 + 521800 0.00429125 0.001683371 0.0037954706 + 521900 0.004160497 0.0012801153 0.0033278599 + 522000 0.0043488192 0.0015318305 0.003672265 + 522100 0.0037533835 0.0016263224 0.0034736908 + 522200 0.0046829056 0.0016752456 0.0039801132 + 522300 0.004603022 0.0020112177 0.0042767676 + 522400 0.0038600481 0.0023859312 0.0042857987 + 522500 0.0036600432 0.0022469683 0.0040483959 + 522600 0.0050387204 0.0022731068 0.004753102 + 522700 0.0046225004 0.0020466085 0.0043217454 + 522800 0.0061591162 0.0018474901 0.0048789301 + 522900 0.0058733193 0.0021453235 0.0050360978 + 523000 0.0057785358 0.0026381246 0.0054822476 + 523100 0.0058086284 0.0029752782 0.0058342125 + 523200 0.0053045463 0.0033197256 0.005930557 + 523300 0.0056368931 0.0025175604 0.0052919688 + 523400 0.0054357745 0.0020576795 0.0047330998 + 523500 0.0045152407 0.0022688592 0.0044912042 + 523600 0.0054775569 0.0025929659 0.0052889509 + 523700 0.0056957761 0.0027874973 0.0055908871 + 523800 0.0072141772 0.0024197701 0.0059704979 + 523900 0.0050966289 0.0027573896 0.0052658867 + 524000 0.0036952035 0.0029085073 0.0047272403 + 524100 0.0058049953 0.002612452 0.0054695981 + 524200 0.0049804089 0.0033325738 0.0057838687 + 524300 0.004271243 0.0034427836 0.005545036 + 524400 0.0054026763 0.0029469565 0.0056060862 + 524500 0.0051462743 0.0024733652 0.0050062971 + 524600 0.0051864714 0.0026963626 0.005249079 + 524700 0.0064426316 0.002571182 0.0057421647 + 524800 0.005406054 0.0022945869 0.0049553791 + 524900 0.0057138623 0.0022691303 0.0050814219 + 525000 0.0053074613 0.0026613026 0.0052735688 + 525100 0.0052577072 0.0031688864 0.0057566642 + 525200 0.0059542925 0.0033829437 0.006313572 + 525300 0.0054027386 0.0028180348 0.0054771952 + 525400 0.0039002838 0.0027143462 0.0046340172 + 525500 0.0050597481 0.0027312205 0.0052215653 + 525600 0.0075880083 0.0023357388 0.0060704617 + 525700 0.0058801604 0.0024164394 0.0053105809 + 525800 0.0056364664 0.0028568707 0.0056310689 + 525900 0.0049235435 0.0033485449 0.0057718515 + 526000 0.0053048523 0.0029586924 0.0055696743 + 526100 0.0035919151 0.0023545624 0.0041224581 + 526200 0.0041038347 0.0022221535 0.0042420097 + 526300 0.0043376887 0.0023080409 0.0044429971 + 526400 0.0047448765 0.0026320614 0.0049674303 + 526500 0.0045152225 0.0026403474 0.0048626834 + 526600 0.0055994586 0.0024555189 0.0052115024 + 526700 0.0034248408 0.002340957 0.0040266209 + 526800 0.0039971892 0.0024833456 0.0044507122 + 526900 0.0048292603 0.0023836693 0.0047605709 + 527000 0.0044772355 0.0025830502 0.0047866895 + 527100 0.0046630396 0.0024453473 0.0047404371 + 527200 0.0052724274 0.002432336 0.0050273589 + 527300 0.0028373624 0.0027964359 0.0041929502 + 527400 0.0039430992 0.0023777745 0.0043185187 + 527500 0.0054090314 0.0023759811 0.0050382388 + 527600 0.002929373 0.0023180902 0.003759891 + 527700 0.0042005719 0.002268532 0.004336001 + 527800 0.0072953928 0.002750324 0.0063410251 + 527900 0.0046688096 0.0029938168 0.0052917465 + 528000 0.0041370893 0.0024909946 0.0045272183 + 528100 0.0056945304 0.0019620629 0.0047648396 + 528200 0.0051985379 0.0025677196 0.005126375 + 528300 0.0048719708 0.0027115162 0.0051094393 + 528400 0.0040207091 0.0024323355 0.0044112783 + 528500 0.008099733 0.0020396175 0.0060262048 + 528600 0.004857595 0.0020991004 0.0044899479 + 528700 0.005155611 0.0019757452 0.0045132725 + 528800 0.0063363581 0.0024680208 0.005586697 + 528900 0.0057551823 0.0026058676 0.0054384964 + 529000 0.0057822176 0.0022160173 0.0050619525 + 529100 0.0052314068 0.0022714314 0.0048462644 + 529200 0.0040419062 0.0019752328 0.0039646085 + 529300 0.0054694946 0.0018209101 0.0045129269 + 529400 0.005525826 0.0027032016 0.005422944 + 529500 0.0035249839 0.0031436108 0.0048785638 + 529600 0.0063949814 0.0022703901 0.00541792 + 529700 0.0048449065 0.0024352411 0.0048198436 + 529800 0.0038710993 0.0025057492 0.0044110559 + 529900 0.0035913338 0.0022896252 0.0040572348 + 530000 0.004025439 0.0021796409 0.0041609116 + 530100 0.0055054913 0.0021316764 0.0048414104 + 530200 0.004662836 0.0023023495 0.0045973391 + 530300 0.0050819495 0.0023109283 0.0048122003 + 530400 0.0049697193 0.0019635192 0.0044095529 + 530500 0.0050245349 0.0017477613 0.0042207746 + 530600 0.0054880307 0.0018981388 0.0045992789 + 530700 0.0038854129 0.0027918618 0.0047042135 + 530800 0.0030971261 0.0028578368 0.0043822036 + 530900 0.0046396336 0.0025274611 0.0048110308 + 531000 0.0061496971 0.0021006601 0.0051274641 + 531100 0.003942664 0.0024380325 0.0043785624 + 531200 0.0053784531 0.0025994681 0.0052466755 + 531300 0.0040589994 0.0027927185 0.0047905073 + 531400 0.0042906615 0.0028627686 0.0049745785 + 531500 0.0042420365 0.0024396007 0.0045274781 + 531600 0.0041338267 0.0022819651 0.004316583 + 531700 0.0051967044 0.0026242374 0.0051819903 + 531800 0.0056961593 0.0024130521 0.0052166306 + 531900 0.0052508334 0.0029224754 0.00550687 + 532000 0.0046108669 0.0028793818 0.0051487928 + 532100 0.0053268141 0.0026098765 0.0052316678 + 532200 0.0042737838 0.0028470577 0.0049505607 + 532300 0.0060723965 0.0022620961 0.0052508537 + 532400 0.0043630915 0.0022714526 0.0044189117 + 532500 0.005759076 0.0023319795 0.0051665248 + 532600 0.0039721966 0.0024627492 0.0044178147 + 532700 0.0037964448 0.0027724839 0.0046410466 + 532800 0.0069269806 0.0022317266 0.0056410999 + 532900 0.0052320668 0.002354348 0.0049295059 + 533000 0.0054862846 0.0026839308 0.0053842115 + 533100 0.0059860538 0.002910234 0.0058564949 + 533200 0.0043883215 0.0029217455 0.0050816225 + 533300 0.0069007279 0.002367797 0.005764249 + 533400 0.0044460037 0.0026977982 0.0048860657 + 533500 0.0038453385 0.0031650502 0.0050576778 + 533600 0.0042990919 0.0033082497 0.005424209 + 533700 0.0046166648 0.0028810644 0.0051533292 + 533800 0.0071946642 0.0022606732 0.005801797 + 533900 0.0043421277 0.0022322144 0.0043693554 + 534000 0.0053836981 0.0022624715 0.0049122604 + 534100 0.0057333637 0.0020435452 0.0048654352 + 534200 0.0046205351 0.0019239585 0.0041981281 + 534300 0.0043759909 0.0019749801 0.0041287882 + 534400 0.0043723622 0.0022821136 0.0044341356 + 534500 0.0064669782 0.0024836541 0.0056666199 + 534600 0.0053992901 0.002679735 0.0053371981 + 534700 0.0049876905 0.0023443119 0.0047991908 + 534800 0.0048767244 0.0018868546 0.0042871174 + 534900 0.0048734234 0.0020307143 0.0044293524 + 535000 0.0045361321 0.0024068776 0.0046395051 + 535100 0.0038598892 0.0022537706 0.0041535598 + 535200 0.0037093726 0.0023198876 0.0041455944 + 535300 0.0058200876 0.0023561987 0.0052207731 + 535400 0.0040214392 0.0021999067 0.0041792088 + 535500 0.0053283215 0.0021840804 0.0048066137 + 535600 0.0050856007 0.0017131378 0.004216207 + 535700 0.0041746577 0.0015726541 0.0036273685 + 535800 0.0031498584 0.0019191818 0.0034695027 + 535900 0.0060209231 0.0017883815 0.0047518046 + 536000 0.0060685328 0.0018642805 0.0048511365 + 536100 0.0049621059 0.0021014525 0.0045437389 + 536200 0.0055513401 0.0023605364 0.0050928367 + 536300 0.0043818501 0.0029696806 0.0051263724 + 536400 0.0052789959 0.0028790008 0.0054772566 + 536500 0.0084113473 0.0025030039 0.0066429639 + 536600 0.0075315133 0.0026804486 0.0063873653 + 536700 0.0053195672 0.0030633716 0.0056815961 + 536800 0.0058334754 0.0026098017 0.0054809654 + 536900 0.0043435181 0.0024756003 0.0046134256 + 537000 0.0041578301 0.0027205673 0.0047669993 + 537100 0.0050098109 0.0029256014 0.0053913677 + 537200 0.0049368827 0.0028776081 0.00530748 + 537300 0.0042533814 0.0028406052 0.0049340664 + 537400 0.0061248467 0.002577896 0.005592469 + 537500 0.0053425137 0.0024121422 0.0050416607 + 537600 0.00419403 0.0025514424 0.0046156915 + 537700 0.0043984167 0.0022420152 0.0044068609 + 537800 0.0060509307 0.0020128573 0.0049910497 + 537900 0.0057582777 0.0021682095 0.0050023618 + 538000 0.005168106 0.0019183638 0.0044620409 + 538100 0.00415536 0.0022882644 0.0043334807 + 538200 0.0041758214 0.002094797 0.0041500841 + 538300 0.0060414073 0.0016009722 0.0045744774 + 538400 0.0059164627 0.001440212 0.004352221 + 538500 0.0059881408 0.0018887063 0.0048359943 + 538600 0.0054638882 0.0022798466 0.0049691041 + 538700 0.004676916 0.0025521609 0.0048540805 + 538800 0.0036823962 0.0024285518 0.0042409812 + 538900 0.0032520028 0.0023278175 0.0039284126 + 539000 0.0064569985 0.0025443511 0.005722405 + 539100 0.0058323304 0.0023683166 0.0052389167 + 539200 0.0058181532 0.0024261978 0.0052898201 + 539300 0.0063346496 0.0027685561 0.0058863914 + 539400 0.0049713382 0.0032664342 0.0057132647 + 539500 0.0051553469 0.0028072772 0.0053446745 + 539600 0.0034955774 0.002000709 0.0037211885 + 539700 0.0046341533 0.0018053916 0.004086264 + 539800 0.0058158875 0.0016858552 0.0045483623 + 539900 0.0033440158 0.0020741365 0.0037200192 + 540000 0.0059217478 0.0018056509 0.0047202611 + 540100 0.0058188436 0.0020188269 0.004882789 + 540200 0.0053669225 0.0019813497 0.0046228819 + 540300 0.0056309524 0.0021264207 0.0048979051 + 540400 0.0059687146 0.0019614176 0.0048991443 + 540500 0.0071577582 0.0022036206 0.0057265797 + 540600 0.0044357735 0.0023275145 0.0045107468 + 540700 0.003720775 0.0023254591 0.0041567781 + 540800 0.0042992901 0.0026158502 0.0047319071 + 540900 0.0058258956 0.0021921781 0.0050596111 + 541000 0.0042267588 0.0021452375 0.0042255953 + 541100 0.0042663757 0.0018815804 0.0039814372 + 541200 0.0051209425 0.0018726817 0.0043931456 + 541300 0.0048161694 0.0022325362 0.0046029946 + 541400 0.003410056 0.0026263498 0.0043047367 + 541500 0.0060970468 0.0021104368 0.005111327 + 541600 0.0054115585 0.0020121991 0.0046757006 + 541700 0.005550315 0.0024542955 0.0051860911 + 541800 0.0046569833 0.0030407556 0.0053328646 + 541900 0.0065198796 0.0023648156 0.0055738188 + 542000 0.0035914259 0.0020516067 0.0038192617 + 542100 0.004027831 0.0020051808 0.0039876289 + 542200 0.0050244724 0.0020811023 0.0045540849 + 542300 0.0041593742 0.0024232781 0.0044704701 + 542400 0.0034621805 0.0025172793 0.0042213213 + 542500 0.0047468793 0.0022263168 0.0045626714 + 542600 0.0059738078 0.0022147048 0.0051549383 + 542700 0.0050328936 0.0027857707 0.005262898 + 542800 0.0040358938 0.0027701607 0.0047565771 + 542900 0.0061454759 0.0026578754 0.0056826018 + 543000 0.0050489272 0.0022291438 0.0047141627 + 543100 0.0053874388 0.0024079489 0.0050595789 + 543200 0.0045328634 0.0024302986 0.0046613173 + 543300 0.0048580572 0.0024755301 0.0048666052 + 543400 0.0040171779 0.002471646 0.0044488508 + 543500 0.0056598939 0.0018505406 0.0046362697 + 543600 0.005848611 0.0015529006 0.0044315138 + 543700 0.0050739241 0.0016990497 0.0041963717 + 543800 0.0042209717 0.0019467347 0.0040242443 + 543900 0.0050311154 0.0021651464 0.0046413985 + 544000 0.0041655246 0.0026758865 0.0047261056 + 544100 0.0062185838 0.0023812783 0.0054419875 + 544200 0.0077343388 0.0025669031 0.006373648 + 544300 0.005050591 0.0027903521 0.0052761899 + 544400 0.007226173 0.0023742654 0.0059308974 + 544500 0.005130265 0.0019896907 0.004514743 + 544600 0.0052409765 0.002094925 0.0046744681 + 544700 0.0046914294 0.0024294572 0.0047385201 + 544800 0.0045133219 0.0026119667 0.0048333673 + 544900 0.0044826015 0.0023664504 0.0045727309 + 545000 0.0051121156 0.0020420349 0.0045581543 + 545100 0.0053803874 0.0019188337 0.0045669931 + 545200 0.0053647116 0.0022799689 0.0049204129 + 545300 0.0044422481 0.0020683904 0.0042548094 + 545400 0.0033663788 0.0019715546 0.0036284442 + 545500 0.0049923823 0.0015867938 0.0040439819 + 545600 0.0059574551 0.0016125929 0.0045447778 + 545700 0.0048046611 0.001825263 0.0041900572 + 545800 0.005824663 0.0020227069 0.0048895332 + 545900 0.0042698559 0.0021754563 0.004277026 + 546000 0.0043578576 0.0022632576 0.0044081407 + 546100 0.0040583638 0.002198756 0.0041962319 + 546200 0.0047029774 0.0024125192 0.0047272659 + 546300 0.0056260242 0.0025609863 0.0053300451 + 546400 0.0034356425 0.0024043193 0.0040952995 + 546500 0.0042306732 0.0019864245 0.004068709 + 546600 0.0041433197 0.0019824813 0.0040217715 + 546700 0.0049038611 0.0020612044 0.0044748235 + 546800 0.0042639962 0.0020043224 0.004103008 + 546900 0.0052710799 0.0019062284 0.0045005881 + 547000 0.0066669992 0.002154315 0.0054357287 + 547100 0.0061413883 0.0025319701 0.0055546847 + 547200 0.0030254062 0.0025678408 0.0040569079 + 547300 0.0046777581 0.0022667526 0.0045690867 + 547400 0.0060405154 0.0019033233 0.0048763895 + 547500 0.0066588726 0.0019681875 0.0052456014 + 547600 0.0050597946 0.0024286851 0.0049190528 + 547700 0.0046251098 0.0026985338 0.004974955 + 547800 0.0060958738 0.0026454609 0.0056457738 + 547900 0.0050132859 0.0025522635 0.0050197402 + 548000 0.0048546843 0.0023714008 0.0047608157 + 548100 0.0040929333 0.0026554505 0.0046699411 + 548200 0.0053919288 0.0025106214 0.0051644613 + 548300 0.0046740067 0.0022920559 0.0045925436 + 548400 0.005816646 0.0020822344 0.0049451149 + 548500 0.0050631929 0.0019517423 0.0044437825 + 548600 0.0049312768 0.0018535691 0.0042806819 + 548700 0.0068481014 0.001717803 0.0050883529 + 548800 0.0057663949 0.0018578809 0.0046960284 + 548900 0.0047880553 0.0019291643 0.0042857852 + 549000 0.005647146 0.0023733327 0.0051527873 + 549100 0.005955082 0.0021947139 0.0051257308 + 549200 0.0040082975 0.0021145905 0.0040874244 + 549300 0.0052782893 0.0019891543 0.0045870624 + 549400 0.0041237668 0.0020754653 0.0041051318 + 549500 0.0055532475 0.0024332307 0.0051664697 + 549600 0.0053535557 0.0025181818 0.005153135 + 549700 0.0034846362 0.0030958099 0.0048109042 + 549800 0.0059212735 0.002758143 0.0056725198 + 549900 0.0057608429 0.0023236346 0.0051590494 + 550000 0.0045939652 0.0022032395 0.0044643317 + 550100 0.0037323526 0.0020145162 0.0038515335 + 550200 0.0052089504 0.0017874963 0.0043512766 + 550300 0.004500074 0.0019714429 0.004186323 + 550400 0.0048810035 0.0022435691 0.004645938 + 550500 0.0042663666 0.0023390606 0.0044389129 + 550600 0.0048501483 0.0022594958 0.0046466781 + 550700 0.0045184594 0.0021241862 0.0043481154 + 550800 0.0046434911 0.0023434839 0.0046289522 + 550900 0.0051087154 0.0022932464 0.0048076923 + 551000 0.0048192033 0.0021711174 0.004543069 + 551100 0.0050727505 0.0022333439 0.0047300883 + 551200 0.005791656 0.002012016 0.0048625967 + 551300 0.0050885804 0.0022819228 0.0047864585 + 551400 0.0048236218 0.0022396143 0.0046137406 + 551500 0.0070503252 0.0016283797 0.0050984617 + 551600 0.0044409029 0.0019605985 0.0041463554 + 551700 0.0060555511 0.0026070818 0.0055875484 + 551800 0.0058308889 0.0021959086 0.0050657992 + 551900 0.0042057309 0.0018932022 0.0039632104 + 552000 0.0047984144 0.0019302616 0.0042919812 + 552100 0.0046190862 0.0021148146 0.0043882711 + 552200 0.0042768651 0.002328956 0.0044339755 + 552300 0.003312967 0.0022450634 0.0038756643 + 552400 0.0036442508 0.0019043076 0.0036979623 + 552500 0.0045792904 0.0018768082 0.0041306777 + 552600 0.0031660457 0.0020909654 0.0036492535 + 552700 0.0039195736 0.0020074154 0.0039365805 + 552800 0.0041600967 0.001949835 0.0039973825 + 552900 0.0056814093 0.0021148695 0.0049111882 + 553000 0.0044316611 0.0020235485 0.0042047567 + 553100 0.0032779102 0.0024635199 0.0040768663 + 553200 0.0062724871 0.0019422959 0.0050295356 + 553300 0.0058122063 0.0014643447 0.00432504 + 553400 0.0059535416 0.0016042485 0.0045345072 + 553500 0.0054425556 0.0024698445 0.0051486023 + 553600 0.0042715664 0.0026722028 0.0047746143 + 553700 0.0052049274 0.0022531065 0.0048149067 + 553800 0.0044114588 0.0019917296 0.0041629945 + 553900 0.005019873 0.0020902186 0.0045609374 + 554000 0.0048724991 0.0022581706 0.0046563537 + 554100 0.0041247776 0.0021034624 0.0041336264 + 554200 0.005230158 0.0015227596 0.004096978 + 554300 0.0055851201 0.0020506436 0.00479957 + 554400 0.0049064765 0.0024283642 0.0048432706 + 554500 0.0055257832 0.0021889441 0.0049086656 + 554600 0.0053455494 0.0022406453 0.0048716579 + 554700 0.0064986966 0.0026730186 0.0058715959 + 554800 0.0047959593 0.0029160204 0.0052765317 + 554900 0.006471976 0.0024125427 0.0055979684 + 555000 0.0048199236 0.0030314226 0.0054037287 + 555100 0.0053014895 0.0033913513 0.0060006781 + 555200 0.0065357944 0.0028693931 0.0060862294 + 555300 0.0054135004 0.0025289464 0.0051934037 + 555400 0.0057436291 0.0020738062 0.0049007487 + 555500 0.0037904234 0.0019676084 0.0038332075 + 555600 0.0041233701 0.001985574 0.0040150452 + 555700 0.006063 0.001598577 0.0045827098 + 555800 0.0053988216 0.0018088027 0.0044660352 + 555900 0.0052647816 0.0018307233 0.004421983 + 556000 0.0043853277 0.0019996375 0.004158041 + 556100 0.0038447135 0.0022144896 0.0041068096 + 556200 0.004958842 0.002127997 0.0045686771 + 556300 0.0048188125 0.0023337222 0.0047054815 + 556400 0.0048051071 0.0021403949 0.0045054086 + 556500 0.0050575357 0.0019753808 0.0044646366 + 556600 0.0054179298 0.0021179519 0.0047845893 + 556700 0.0031056624 0.0020357358 0.003564304 + 556800 0.0047824441 0.0019551935 0.0043090527 + 556900 0.0042412927 0.0021890562 0.0042765675 + 557000 0.0049296875 0.0024746358 0.0049009663 + 557100 0.0042721054 0.0025116584 0.0046143353 + 557200 0.0048072134 0.0021655477 0.004531598 + 557300 0.0050023537 0.0025096059 0.0049717019 + 557400 0.0050536706 0.0029729969 0.0054603503 + 557500 0.0056734761 0.0029830862 0.0057755002 + 557600 0.0060015705 0.0021667435 0.0051206414 + 557700 0.005033288 0.002144194 0.0046215155 + 557800 0.00523837 0.0020057976 0.0045840578 + 557900 0.0048486604 0.0020898024 0.0044762525 + 558000 0.0049463276 0.0023242504 0.004758771 + 558100 0.0051096864 0.0020377359 0.0045526597 + 558200 0.0045483317 0.0021476351 0.0043862671 + 558300 0.0041507479 0.0022509973 0.0042939435 + 558400 0.0053334765 0.0021878993 0.0048129698 + 558500 0.0038861547 0.0024494651 0.0043621819 + 558600 0.0044352415 0.0027335732 0.0049165437 + 558700 0.0057870176 0.0020676911 0.0049159888 + 558800 0.0051092973 0.0020211822 0.0045359144 + 558900 0.0064785841 0.00230617 0.0054948481 + 559000 0.0043688487 0.0025187759 0.0046690686 + 559100 0.0044935855 0.0021971957 0.0044088824 + 559200 0.0049416359 0.0022499604 0.0046821718 + 559300 0.0053359854 0.002413445 0.0050397503 + 559400 0.0045221477 0.0030577286 0.0052834732 + 559500 0.0052521066 0.0028591842 0.0054442054 + 559600 0.0040636593 0.002436944 0.0044370263 + 559700 0.0043246015 0.002125368 0.0042538828 + 559800 0.0051114218 0.0023872844 0.0049030624 + 559900 0.0058918302 0.0027504275 0.0056503127 + 560000 0.0064093462 0.0031291053 0.0062837054 + 560100 0.0060729024 0.0025741335 0.0055631402 + 560200 0.0061194885 0.0021625676 0.0051745034 + 560300 0.0046349769 0.0024547972 0.0047360748 + 560400 0.0051075739 0.0025494206 0.0050633046 + 560500 0.0051281554 0.0028335732 0.0053575871 + 560600 0.0032772103 0.0032526599 0.0048656618 + 560700 0.0044674242 0.0027695865 0.0049683968 + 560800 0.0050710021 0.0025364888 0.0050323727 + 560900 0.0055251157 0.0023370866 0.0050564795 + 561000 0.0052039099 0.0022622719 0.0048235713 + 561100 0.0050769531 0.0027883226 0.0052871354 + 561200 0.0064498497 0.0026542987 0.0058288341 + 561300 0.0036017295 0.002621181 0.0043939072 + 561400 0.004206566 0.0026095236 0.0046799428 + 561500 0.0046478216 0.0023907074 0.0046783071 + 561600 0.0049888696 0.002736511 0.0051919703 + 561700 0.0041836223 0.0026446832 0.0047038098 + 561800 0.0068578053 0.0024014708 0.0057767968 + 561900 0.0058495127 0.0019104121 0.0047894691 + 562000 0.0050983777 0.0022487807 0.0047581385 + 562100 0.0059747553 0.0023111634 0.0052518633 + 562200 0.0056388428 0.0020751077 0.0048504756 + 562300 0.0054779083 0.0020684032 0.0047645612 + 562400 0.0040993817 0.002414198 0.0044318624 + 562500 0.0046115122 0.0028224859 0.0050922146 + 562600 0.0066544027 0.0025397551 0.005814969 + 562700 0.0074955373 0.0024252014 0.0061144112 + 562800 0.0044636138 0.0027536356 0.0049505705 + 562900 0.0047588846 0.0022307195 0.004572983 + 563000 0.0060616198 0.0020455854 0.0050290389 + 563100 0.005611219 0.0022601964 0.0050219682 + 563200 0.0051858853 0.0023609568 0.0049133848 + 563300 0.0054360326 0.0025230713 0.0051986186 + 563400 0.0038014879 0.0028472427 0.0047182875 + 563500 0.0037714532 0.0028341622 0.0046904243 + 563600 0.0051438334 0.0019551062 0.0044868367 + 563700 0.0045488643 0.0020665859 0.00430548 + 563800 0.0045385299 0.0018884888 0.0041222965 + 563900 0.0040290187 0.0018242781 0.0038073108 + 564000 0.0043997931 0.0017174145 0.0038829377 + 564100 0.0047580164 0.0019064199 0.0042482561 + 564200 0.0039910361 0.0023872913 0.0043516294 + 564300 0.0052640516 0.0024250879 0.0050159883 + 564400 0.0075413638 0.0023396526 0.0060514176 + 564500 0.0074387955 0.0029699319 0.006631214 + 564600 0.0043817146 0.003694873 0.0058514982 + 564700 0.004109151 0.0030417378 0.0050642106 + 564800 0.0052158901 0.00257147 0.0051386659 + 564900 0.0048216327 0.0022272255 0.0046003729 + 565000 0.0054344654 0.0019176622 0.0045924381 + 565100 0.0040944942 0.0023389508 0.0043542096 + 565200 0.0044856034 0.003058305 0.0052660629 + 565300 0.0056420202 0.0027681028 0.0055450347 + 565400 0.0062712969 0.002764641 0.005851295 + 565500 0.0077591687 0.0024233073 0.0062422732 + 565600 0.0046909461 0.0020748412 0.0043836663 + 565700 0.004748616 0.0021739876 0.0045111971 + 565800 0.0049728644 0.0022705921 0.0047181738 + 565900 0.0052254287 0.0024067331 0.0049786238 + 566000 0.0050621302 0.0027815034 0.0052730207 + 566100 0.0049361047 0.0028373296 0.0052668186 + 566200 0.0051447584 0.0024639085 0.0049960943 + 566300 0.0048032478 0.002570619 0.0049347175 + 566400 0.0053431566 0.0022532643 0.0048830992 + 566500 0.0058516703 0.0026135977 0.0054937167 + 566600 0.0048309574 0.0032879602 0.005665697 + 566700 0.0052846372 0.0029515238 0.0055525562 + 566800 0.0061046131 0.0026136774 0.0056182916 + 566900 0.0058063172 0.0027813308 0.0056391276 + 567000 0.0059914488 0.0029786529 0.0059275691 + 567100 0.0056421402 0.0031551932 0.0059321841 + 567200 0.0048636411 0.003085854 0.0054796774 + 567300 0.0077936006 0.0025445446 0.0063804574 + 567400 0.005579526 0.0026794657 0.0054256386 + 567500 0.0043730167 0.0023228948 0.0044752389 + 567600 0.0039097291 0.0022243704 0.0041486902 + 567700 0.0034960561 0.0019875226 0.0037082377 + 567800 0.0045981092 0.0020639147 0.0043270466 + 567900 0.0035917092 0.0021803528 0.0039481472 + 568000 0.0063089338 0.0020727167 0.005177895 + 568100 0.0055816686 0.0021771309 0.0049243584 + 568200 0.0043595924 0.0021749455 0.0043206824 + 568300 0.0047785853 0.0020720599 0.0044240198 + 568400 0.0041301238 0.0017934743 0.0038262696 + 568500 0.0054451207 0.0017941048 0.0044741251 + 568600 0.0047132475 0.0021022026 0.0044220041 + 568700 0.0048710068 0.0020065718 0.0044040205 + 568800 0.0044336099 0.0017164622 0.0038986296 + 568900 0.0045796105 0.0017998488 0.0040538759 + 569000 0.0041369526 0.0017806823 0.0038168386 + 569100 0.0040258792 0.0015974165 0.0035789039 + 569200 0.0046680277 0.0018978914 0.0041954362 + 569300 0.0036308384 0.0022652697 0.004052323 + 569400 0.0054802555 0.0020382481 0.0047355614 + 569500 0.0067300447 0.0019385014 0.0052509453 + 569600 0.0036313658 0.002445643 0.0042329558 + 569700 0.0036027736 0.0021229508 0.0038961909 + 569800 0.0056460881 0.0019873213 0.0047662553 + 569900 0.0050268359 0.0019225914 0.0043967372 + 570000 0.0051339175 0.0021950732 0.0047219232 + 570100 0.0048405507 0.0023727071 0.0047551657 + 570200 0.0051211215 0.0019885747 0.0045091267 + 570300 0.0061297598 0.0016611436 0.0046781347 + 570400 0.0040666234 0.0021270379 0.0041285791 + 570500 0.004322568 0.0022993174 0.0044268313 + 570600 0.0047291109 0.0021352739 0.0044628832 + 570700 0.0046008836 0.0021211702 0.0043856676 + 570800 0.0051786752 0.0019494628 0.004498342 + 570900 0.0062254505 0.0017268259 0.0047909148 + 571000 0.0068823285 0.0017017302 0.0050891263 + 571100 0.0049498776 0.0023745564 0.0048108242 + 571200 0.0036800103 0.0027306997 0.0045419547 + 571300 0.0053700291 0.0020990142 0.0047420754 + 571400 0.0034965741 0.0019696681 0.0036906382 + 571500 0.0047592008 0.001681059 0.0040234781 + 571600 0.0041193898 0.001686567 0.0037140792 + 571700 0.0054669725 0.0022189993 0.0049097749 + 571800 0.0064934294 0.0026560311 0.0058520159 + 571900 0.005047058 0.0028623253 0.0053464242 + 572000 0.005998126 0.0024644319 0.0054166345 + 572100 0.0043491174 0.0023203107 0.0044608919 + 572200 0.0052337935 0.0023319929 0.0049080006 + 572300 0.0072045616 0.0023940229 0.005940018 + 572400 0.0054550143 0.0024196343 0.0051045242 + 572500 0.0049230177 0.002367782 0.0047908297 + 572600 0.0060671525 0.0023702291 0.0053564057 + 572700 0.0062847963 0.0023754855 0.0054687837 + 572800 0.0053567603 0.0028237978 0.0054603282 + 572900 0.0043655155 0.0026894889 0.0048381411 + 573000 0.0063725382 0.0022279938 0.0053644774 + 573100 0.0047699084 0.0025742942 0.0049219835 + 573200 0.0036180176 0.0028280552 0.0046087983 + 573300 0.0050248209 0.0029792412 0.0054523952 + 573400 0.0044223145 0.0029865528 0.0051631607 + 573500 0.0057885747 0.0023286736 0.0051777377 + 573600 0.0048237176 0.0021931474 0.0045673209 + 573700 0.0042547699 0.0024557432 0.0045498878 + 573800 0.0031182702 0.0023675255 0.0039022992 + 573900 0.0052423501 0.0022464255 0.0048266447 + 574000 0.0046406461 0.0023493008 0.0046333688 + 574100 0.004734204 0.0017032876 0.0040334036 + 574200 0.005099507 0.0014834884 0.003993402 + 574300 0.0035158464 0.0016571093 0.0033875649 + 574400 0.0054534886 0.0019244782 0.0046086171 + 574500 0.0051266865 0.0019386542 0.0044619452 + 574600 0.0033872137 0.0020081573 0.0036753015 + 574700 0.004655954 0.0019817619 0.0042733642 + 574800 0.0046185312 0.0020618404 0.0043350237 + 574900 0.0047995006 0.0023048497 0.0046671039 + 575000 0.0050755125 0.0026755071 0.0051736109 + 575100 0.0036707798 0.0024006589 0.0042073708 + 575200 0.0051468898 0.0022196228 0.0047528576 + 575300 0.0064164476 0.0016211148 0.0047792101 + 575400 0.0051481085 0.0018695341 0.0044033687 + 575500 0.003592246 0.0024615973 0.0042296559 + 575600 0.0034785956 0.0025856151 0.0042977364 + 575700 0.0047854945 0.002123119 0.0044784796 + 575800 0.0053542315 0.0018618491 0.0044971349 + 575900 0.0066491088 0.0018320604 0.0051046687 + 576000 0.0044632955 0.0019028983 0.0040996765 + 576100 0.0049400038 0.002159288 0.0045906961 + 576200 0.0056257127 0.0025529044 0.0053218099 + 576300 0.0065379809 0.0022652213 0.0054831338 + 576400 0.0064144884 0.0018842407 0.0050413718 + 576500 0.0066138068 0.0016959868 0.0049512198 + 576600 0.0051943681 0.001691939 0.004248542 + 576700 0.0051076808 0.0021260857 0.0046400223 + 576800 0.0057374598 0.0022202768 0.0050441828 + 576900 0.0051313803 0.002232652 0.0047582532 + 577000 0.0053677554 0.0025087556 0.0051506977 + 577100 0.0039931891 0.0031944649 0.0051598626 + 577200 0.0045661265 0.0029783113 0.0052257017 + 577300 0.0061150982 0.002926073 0.0059358479 + 577400 0.0063128481 0.0034037144 0.0065108193 + 577500 0.00529392 0.0032683196 0.0058739209 + 577600 0.0052953873 0.0029013563 0.0055076797 + 577700 0.0054031807 0.0025436719 0.00520305 + 577800 0.0049522059 0.0028277539 0.0052651677 + 577900 0.003186122 0.002391623 0.0039597924 + 578000 0.0041565062 0.0019792218 0.0040250022 + 578100 0.0046856165 0.0021640189 0.0044702207 + 578200 0.005004822 0.0024979706 0.0049612815 + 578300 0.0049643222 0.002297127 0.0047405043 + 578400 0.0048462687 0.0024736235 0.0048588964 + 578500 0.0053253421 0.0024362043 0.0050572711 + 578600 0.0048523498 0.0024553941 0.00484366 + 578700 0.0041173504 0.0031647435 0.0051912519 + 578800 0.0058969382 0.0027387727 0.0056411719 + 578900 0.0048351795 0.0027667317 0.0051465466 + 579000 0.005392456 0.0024834153 0.0051375148 + 579100 0.0050003489 0.0022460832 0.0047071924 + 579200 0.004761308 0.0020586608 0.0044021171 + 579300 0.0064933985 0.002085013 0.0052809825 + 579400 0.0044239087 0.0023406677 0.0045180602 + 579500 0.0044149344 0.0019855554 0.0041585309 + 579600 0.004343994 0.0020321108 0.0041701703 + 579700 0.0061534638 0.0024957909 0.0055244489 + 579800 0.0054074957 0.0026312662 0.005292768 + 579900 0.0038822773 0.0027822137 0.0046930221 + 580000 0.0045458864 0.0028466773 0.0050841058 + 580100 0.0062173217 0.0027678126 0.0058279007 + 580200 0.0048361142 0.0033189745 0.0056992494 + 580300 0.0060229706 0.0029449387 0.0059093696 + 580400 0.0055788728 0.0020902743 0.0048361257 + 580500 0.0053304907 0.0015617874 0.0041853883 + 580600 0.0060043773 0.0015750012 0.0045302807 + 580700 0.0042033116 0.0022161988 0.0042850163 + 580800 0.0037392645 0.0023529392 0.0041933584 + 580900 0.0053314339 0.0019321542 0.0045562193 + 581000 0.0045078405 0.0022429492 0.0044616519 + 581100 0.004653413 0.0026129934 0.0049033451 + 581200 0.0046418397 0.0029003329 0.0051849883 + 581300 0.0055802853 0.0030312157 0.0057777624 + 581400 0.0058276453 0.0030040272 0.0058723214 + 581500 0.0057710868 0.0027307924 0.0055712492 + 581600 0.0049846721 0.0022437484 0.0046971417 + 581700 0.0053645595 0.002238059 0.0048784281 + 581800 0.0041218909 0.002876401 0.0049051442 + 581900 0.003990832 0.0029297999 0.0048940375 + 582000 0.0065845461 0.0026587263 0.0058995576 + 582100 0.005644132 0.0028451555 0.0056231267 + 582200 0.0039747651 0.0029563596 0.0049126893 + 582300 0.0056126114 0.0023658176 0.0051282747 + 582400 0.0037075478 0.0024873975 0.0043122062 + 582500 0.0050110884 0.0023822924 0.0048486875 + 582600 0.0057463571 0.002143084 0.0049713691 + 582700 0.0065125666 0.0026221532 0.0058275571 + 582800 0.0047086628 0.002345687 0.004663232 + 582900 0.0061582236 0.0016433638 0.0046743645 + 583000 0.0054020617 0.0018412531 0.0045000803 + 583100 0.004836987 0.0017160122 0.0040967167 + 583200 0.0046984081 0.0022266216 0.0045391193 + 583300 0.0032951672 0.0022620211 0.0038838612 + 583400 0.0040623566 0.0017210981 0.0037205393 + 583500 0.0046090068 0.0019804218 0.0042489174 + 583600 0.0046019311 0.0019187379 0.0041837508 + 583700 0.0068769673 0.0023676715 0.0057524288 + 583800 0.0044378935 0.0023142313 0.004498507 + 583900 0.0045304084 0.0022479313 0.0044777417 + 584000 0.0036520832 0.0024147512 0.0042122609 + 584100 0.005192162 0.0022978101 0.0048533273 + 584200 0.0056412988 0.0021722692 0.004948846 + 584300 0.0056996831 0.0018859777 0.0046912905 + 584400 0.0057460235 0.0021211956 0.0049493165 + 584500 0.0049503433 0.0025916272 0.0050281243 + 584600 0.0034366684 0.0024101098 0.004101595 + 584700 0.0057011918 0.0021863047 0.00499236 + 584800 0.0046062865 0.0021186076 0.0043857643 + 584900 0.0037326112 0.00263873 0.0044758746 + 585000 0.0056768629 0.0028334697 0.0056275507 + 585100 0.0050605832 0.0027540462 0.005244802 + 585200 0.0054018867 0.0020682263 0.0047269674 + 585300 0.0051439537 0.0017651079 0.0042968976 + 585400 0.0055837263 0.0021888048 0.0049370451 + 585500 0.0052868487 0.002050249 0.0046523698 + 585600 0.0055739294 0.0017872622 0.0045306806 + 585700 0.0045102005 0.0019919907 0.004211855 + 585800 0.0048682387 0.0020703826 0.0044664689 + 585900 0.0044081675 0.002029607 0.004199252 + 586000 0.0047445369 0.0019135712 0.0042487729 + 586100 0.0061438683 0.0023290354 0.0053529706 + 586200 0.0064298934 0.0026815881 0.0058463013 + 586300 0.0063310353 0.0026776793 0.0057937357 + 586400 0.0056225587 0.0023231989 0.005090552 + 586500 0.004513313 0.0022252042 0.0044466005 + 586600 0.0036709334 0.0025141921 0.0043209797 + 586700 0.0039206763 0.0027882455 0.0047179534 + 586800 0.0056586078 0.0025878302 0.0053729262 + 586900 0.0043161426 0.0023246934 0.0044490448 + 587000 0.005302919 0.0018250371 0.0044350675 + 587100 0.0053848123 0.0017673888 0.0044177261 + 587200 0.0060450607 0.001607223 0.0045825263 + 587300 0.0033986866 0.0016475711 0.0033203622 + 587400 0.0048842299 0.0015627839 0.0039667408 + 587500 0.0048093807 0.001503945 0.0038710621 + 587600 0.0064296816 0.0016741785 0.0048387874 + 587700 0.004477964 0.0017481161 0.003952114 + 587800 0.004673766 0.001872592 0.0041729612 + 587900 0.0045154712 0.0019943067 0.0042167651 + 588000 0.0058179436 0.0021686087 0.0050321278 + 588100 0.0063296355 0.0028528066 0.005968174 + 588200 0.0063104763 0.0030326314 0.0061385689 + 588300 0.0053733711 0.002671832 0.0053165381 + 588400 0.0069668213 0.002331082 0.0057600644 + 588500 0.0042131761 0.0027724587 0.0048461313 + 588600 0.0049260723 0.0026324256 0.0050569768 + 588700 0.0061105632 0.0027176386 0.0057251814 + 588800 0.0044183313 0.0023861135 0.0045607609 + 588900 0.0062797917 0.0017388073 0.0048296423 + 589000 0.0053554554 0.0017750262 0.0044109144 + 589100 0.0052395848 0.0019123143 0.0044911724 + 589200 0.005649998 0.0016765471 0.0044574055 + 589300 0.0048455209 0.0020097164 0.0043946212 + 589400 0.0049680434 0.0025145261 0.004959735 + 589500 0.0048758217 0.0023823071 0.0047821256 + 589600 0.0069714655 0.0019972605 0.0054285287 + 589700 0.0061939342 0.0020663066 0.0051148836 + 589800 0.0040019715 0.0022239792 0.0041936996 + 589900 0.0054484724 0.0025713165 0.0052529866 + 590000 0.0055838244 0.0025997242 0.0053480128 + 590100 0.0056311476 0.0026402196 0.0054118 + 590200 0.0045600356 0.0029196214 0.0051640139 + 590300 0.0056221651 0.0029479643 0.0057151237 + 590400 0.0053037629 0.0028772134 0.0054876593 + 590500 0.0053861522 0.002774568 0.0054255648 + 590600 0.0052524451 0.0027616944 0.0053468823 + 590700 0.005687739 0.0024413732 0.0052408072 + 590800 0.005327012 0.0026521622 0.0052740509 + 590900 0.0050047274 0.0026926897 0.005155954 + 591000 0.0047363931 0.0029678113 0.0052990048 + 591100 0.0057592426 0.002838585 0.0056732123 + 591200 0.0054888565 0.0028349957 0.0055365422 + 591300 0.0062098712 0.0028917928 0.0059482138 + 591400 0.0048013896 0.0026163868 0.0049795707 + 591500 0.0069362598 0.002417891 0.0058318314 + 591600 0.0042975064 0.0025297769 0.0046449558 + 591700 0.0035558072 0.0028050285 0.0045551523 + 591800 0.0041361128 0.0024496664 0.0044854094 + 591900 0.004860677 0.0022450309 0.0046373953 + 592000 0.0047403664 0.0022856139 0.004618763 + 592100 0.0045160144 0.0025640772 0.004786803 + 592200 0.0048421437 0.0026499851 0.0050332277 + 592300 0.0045459374 0.0024911724 0.004728626 + 592400 0.0057099908 0.0021439264 0.0049543125 + 592500 0.0057702407 0.0018874768 0.0047275172 + 592600 0.0059749222 0.0021945078 0.0051352899 + 592700 0.0054896634 0.0021052349 0.0048071786 + 592800 0.0052247694 0.0022646772 0.0048362434 + 592900 0.0043722841 0.0025692903 0.0047212739 + 593000 0.0046009259 0.0028896647 0.0051541829 + 593100 0.0064131909 0.0024141139 0.0055706063 + 593200 0.0060932381 0.002212048 0.0052110637 + 593300 0.0051408667 0.002031581 0.0045618514 + 593400 0.0058225232 0.002196462 0.0050622351 + 593500 0.0046498137 0.003115453 0.0054040331 + 593600 0.0043473891 0.003080368 0.0052200985 + 593700 0.0060869269 0.0022570863 0.0052529956 + 593800 0.0055092603 0.0017456013 0.0044571903 + 593900 0.0054248965 0.0018515588 0.004521625 + 594000 0.0047615775 0.0021745107 0.0045180997 + 594100 0.0045181701 0.0023870431 0.00461083 + 594200 0.0036143221 0.0024367859 0.00421571 + 594300 0.003974357 0.0022068963 0.0041630251 + 594400 0.0048553709 0.0023302648 0.0047200177 + 594500 0.0038107739 0.0024341095 0.0043097248 + 594600 0.0045993946 0.0022795729 0.0045433374 + 594700 0.0054976161 0.0022087075 0.0049145654 + 594800 0.0053993254 0.001955223 0.0046127034 + 594900 0.004650678 0.002448248 0.0047372536 + 595000 0.0051513077 0.0021824852 0.0047178945 + 595100 0.0052257158 0.0019043536 0.0044763856 + 595200 0.0058765106 0.0019741531 0.0048664982 + 595300 0.0065246371 0.0019511974 0.0051625422 + 595400 0.0045766779 0.0017792743 0.0040318579 + 595500 0.0048113662 0.0022210946 0.0045891889 + 595600 0.005632944 0.0020008283 0.004773293 + 595700 0.0047322748 0.0018307627 0.0041599293 + 595800 0.0063239196 0.0019812652 0.0050938193 + 595900 0.005473129 0.0021331571 0.0048269627 + 596000 0.0050048901 0.0024547859 0.0049181302 + 596100 0.0060253459 0.0024626162 0.0054282161 + 596200 0.005422019 0.0021810368 0.0048496868 + 596300 0.0055884721 0.0019972391 0.0047478152 + 596400 0.0061635212 0.001828353 0.0048619611 + 596500 0.0047397326 0.0019519134 0.0042847505 + 596600 0.0058896097 0.0022336338 0.0051324261 + 596700 0.0047341535 0.002369863 0.0046999541 + 596800 0.0045741426 0.0025141491 0.0047654849 + 596900 0.005337334 0.0021601309 0.0047870999 + 597000 0.0061277343 0.0021172384 0.0051332327 + 597100 0.0036795387 0.0025224095 0.0043334325 + 597200 0.0058694246 0.0025360382 0.0054248956 + 597300 0.0046305382 0.0021926977 0.0044717907 + 597400 0.0056575838 0.0020280863 0.0048126783 + 597500 0.0062503851 0.0026014208 0.0056777823 + 597600 0.0037152694 0.0032871415 0.0051157506 + 597700 0.00771326 0.0024935039 0.0062898741 + 597800 0.0040256438 0.0021219145 0.0041032861 + 597900 0.0044198802 0.0019964589 0.0041718687 + 598000 0.0044679102 0.0022707963 0.0044698459 + 598100 0.0050917027 0.0024086888 0.0049147612 + 598200 0.0054250737 0.002540289 0.0052104424 + 598300 0.006305976 0.0024264458 0.0055301684 + 598400 0.0040358751 0.0022316632 0.0042180705 + 598500 0.0033344307 0.0019989719 0.003640137 + 598600 0.0034738689 0.0023782545 0.0040880494 + 598700 0.0039590814 0.0026611544 0.0046097647 + 598800 0.0057954655 0.0023354018 0.0051878575 + 598900 0.0062037578 0.0019928266 0.0050462386 + 599000 0.0042501876 0.0018293697 0.0039212589 + 599100 0.0041485661 0.0020379257 0.0040797981 + 599200 0.0066555938 0.0020083351 0.0052841351 + 599300 0.0045276838 0.0023003655 0.0045288349 + 599400 0.0057774175 0.0024949729 0.0053385456 + 599500 0.0046491947 0.0029501216 0.0052383972 + 599600 0.004673742 0.0030391208 0.0053394782 + 599700 0.0043514765 0.0031535601 0.0052953024 + 599800 0.0043890737 0.0030622054 0.0052224527 + 599900 0.006153685 0.0025380814 0.0055668482 + 600000 0.0053250562 0.0023735739 0.0049945 + 600100 0.0051923368 0.0022278712 0.0047834745 + 600200 0.0051601375 0.0020776365 0.0046173917 + 600300 0.0047451337 0.0018672369 0.0042027324 + 600400 0.0072017421 0.0019302936 0.0054749011 + 600500 0.0057781583 0.0020605644 0.0049045017 + 600600 0.0053688308 0.0026460537 0.0052885251 + 600700 0.0065266991 0.0023957225 0.0056080822 + 600800 0.0053747177 0.0022308544 0.0048762233 + 600900 0.0041958749 0.0020003326 0.0040654898 + 601000 0.0044500222 0.0016525808 0.0038428261 + 601100 0.004507416 0.0019866672 0.004205161 + 601200 0.0051222044 0.0022547829 0.0047758679 + 601300 0.0048267342 0.0023113338 0.004686992 + 601400 0.0041048859 0.0022274836 0.0042478571 + 601500 0.0049359514 0.0020777653 0.0045071789 + 601600 0.0046811202 0.0023189063 0.0046228951 + 601700 0.0044403219 0.0027660103 0.0049514812 + 601800 0.0046581458 0.002279938 0.0045726192 + 601900 0.0054774248 0.0024664524 0.0051623724 + 602000 0.0044761111 0.0027990972 0.0050021831 + 602100 0.0053949784 0.0021598374 0.0048151783 + 602200 0.0065961549 0.0019629617 0.0052095067 + 602300 0.0058830721 0.0019253204 0.0048208949 + 602400 0.004323113 0.0019698611 0.0040976433 + 602500 0.0032642145 0.0021476033 0.0037542088 + 602600 0.0041136691 0.0024186966 0.0044433931 + 602700 0.0053804627 0.0022303295 0.004878526 + 602800 0.0043982191 0.0021097309 0.0042744793 + 602900 0.0056686651 0.0020894482 0.0048794943 + 603000 0.0056659766 0.0021676326 0.0049563555 + 603100 0.0039847668 0.0023057418 0.0042669943 + 603200 0.0058915925 0.0019705007 0.0048702689 + 603300 0.0051528896 0.0016406049 0.0041767928 + 603400 0.0057263824 0.002041463 0.0048599169 + 603500 0.0044328977 0.0021793681 0.0043611849 + 603600 0.0037981835 0.0019397355 0.0038091539 + 603700 0.0053760914 0.0017484471 0.004394492 + 603800 0.0046883621 0.0020180116 0.0043255648 + 603900 0.0048092774 0.0025723477 0.004939414 + 604000 0.0055031443 0.0020055891 0.004714168 + 604100 0.0049165117 0.0016542489 0.0040740945 + 604200 0.0040828727 0.0019696457 0.0039791847 + 604300 0.0043682844 0.0024886216 0.0046386366 + 604400 0.0046197689 0.0026497709 0.0049235634 + 604500 0.0055894567 0.0021413627 0.0048924234 + 604600 0.0051903511 0.0019364268 0.0044910528 + 604700 0.0045037919 0.0020095349 0.004226245 + 604800 0.004439308 0.0022324465 0.0044174184 + 604900 0.005534611 0.0018035673 0.0045276336 + 605000 0.0043921597 0.0018216509 0.003983417 + 605100 0.0049845736 0.0022729573 0.0047263021 + 605200 0.0058519356 0.0026644841 0.0055447336 + 605300 0.0060847891 0.002632108 0.0056269651 + 605400 0.0058721197 0.0024658698 0.0053560537 + 605500 0.0048410899 0.0021976889 0.0045804128 + 605600 0.0045105084 0.002031265 0.0042512809 + 605700 0.0054546884 0.0023471 0.0050318294 + 605800 0.0044642467 0.0026603244 0.0048575708 + 605900 0.0052115226 0.0024833467 0.005048393 + 606000 0.0045358862 0.0021000657 0.0043325722 + 606100 0.0044181697 0.002163983 0.0043385509 + 606200 0.0043422965 0.0020795148 0.0042167388 + 606300 0.0066575095 0.0017280339 0.0050047768 + 606400 0.0049151812 0.001729473 0.0041486637 + 606500 0.0045643775 0.00192391 0.0041704395 + 606600 0.0057121431 0.0019577762 0.0047692216 + 606700 0.0050703909 0.0018009024 0.0042964854 + 606800 0.0064835237 0.0014302314 0.0046213407 + 606900 0.0038252176 0.0014071276 0.0032898519 + 607000 0.003533358 0.0016815253 0.0034206 + 607100 0.0034298026 0.0019241227 0.0036122287 + 607200 0.0048350844 0.0017218934 0.0041016615 + 607300 0.0033857435 0.0016487304 0.003315151 + 607400 0.0050785215 0.0014842241 0.0039838089 + 607500 0.0043484731 0.0018211387 0.0039614028 + 607600 0.003566615 0.0020247633 0.0037802066 + 607700 0.0043900488 0.0020668224 0.0042275495 + 607800 0.0054984024 0.0023190031 0.005025248 + 607900 0.0066379578 0.0029109345 0.0061780544 + 608000 0.0055598457 0.0030563313 0.0057928179 + 608100 0.0053966565 0.002798497 0.0054546638 + 608200 0.0041338743 0.0026660756 0.0047007168 + 608300 0.0045551021 0.0024265738 0.0046685381 + 608400 0.006568203 0.0023811538 0.0056139412 + 608500 0.0040888072 0.0025593743 0.004571834 + 608600 0.0043456235 0.0024356597 0.0045745213 + 608700 0.0060409638 0.0018571908 0.0048304776 + 608800 0.0058438598 0.0018232312 0.0046995059 + 608900 0.006004032 0.0019789492 0.0049340588 + 609000 0.0050607345 0.0023679371 0.0048587673 + 609100 0.0046156525 0.0019710778 0.0042428442 + 609200 0.0045967442 0.0016086155 0.0038710755 + 609300 0.0059047244 0.0019481547 0.0048543863 + 609400 0.0055602021 0.0024430208 0.0051796827 + 609500 0.0041727583 0.0027666172 0.0048203967 + 609600 0.0048091172 0.0025705369 0.0049375242 + 609700 0.0043510872 0.0023665611 0.0045081118 + 609800 0.005206994 0.0022562946 0.004819112 + 609900 0.0040851589 0.0024266715 0.0044373356 + 610000 0.0048453122 0.0024051044 0.0047899065 + 610100 0.0044807184 0.0023205294 0.004525883 + 610200 0.0044065311 0.0024904142 0.0046592538 + 610300 0.0063767003 0.0020675909 0.0052061231 + 610400 0.0052350124 0.002591465 0.0051680727 + 610500 0.0064631881 0.0030060703 0.0061871707 + 610600 0.0046917817 0.0026273403 0.0049365766 + 610700 0.0041433235 0.0017814437 0.0038207357 + 610800 0.0053980184 0.0015865843 0.0042434214 + 610900 0.0059560617 0.0020122326 0.0049437317 + 611000 0.0059825823 0.0021664867 0.0051110389 + 611100 0.0054522541 0.0019767842 0.0046603155 + 611200 0.0043686732 0.0021365528 0.0042867592 + 611300 0.0049592097 0.0021467476 0.0045876086 + 611400 0.0053829924 0.00208063 0.0047300716 + 611500 0.0054176248 0.0021074343 0.0047739216 + 611600 0.0040710466 0.0026186241 0.0046223424 + 611700 0.0047167969 0.0027069152 0.0050284637 + 611800 0.0047889997 0.0025358679 0.0048929537 + 611900 0.0043770268 0.0024141511 0.004568469 + 612000 0.0045986959 0.0020628682 0.0043262888 + 612100 0.0048910599 0.0021146283 0.0045219469 + 612200 0.0046236932 0.0026374171 0.004913141 + 612300 0.0049948833 0.0025406442 0.0049990633 + 612400 0.0042780397 0.0020545487 0.0041601463 + 612500 0.0040714977 0.0020563876 0.0040603278 + 612600 0.0057202277 0.0020535336 0.0048689582 + 612700 0.0061748031 0.0021679693 0.0052071302 + 612800 0.0037393841 0.0021654217 0.0040058998 + 612900 0.0045130221 0.0019423264 0.0041635795 + 613000 0.0052607902 0.001859876 0.0044491712 + 613100 0.0040937432 0.0025051568 0.004520046 + 613200 0.0052245028 0.0018813284 0.0044527633 + 613300 0.0046609094 0.0015406041 0.0038346454 + 613400 0.0040357494 0.0016795821 0.0036659276 + 613500 0.0049109961 0.0015273187 0.0039444496 + 613600 0.0038297486 0.0017335481 0.0036185025 + 613700 0.005237457 0.0014093008 0.0039871117 + 613800 0.0036330253 0.0013500078 0.0031381374 + 613900 0.004394622 0.0016292279 0.0037922059 + 614000 0.0055512133 0.0016394119 0.0043716497 + 614100 0.0033392815 0.0015896177 0.0032331703 + 614200 0.0042461685 0.001492845 0.0035827561 + 614300 0.0058257262 0.0017078365 0.0045751861 + 614400 0.0056881367 0.0018670217 0.0046666515 + 614500 0.0048485166 0.0018422658 0.0042286451 + 614600 0.0040512309 0.001645056 0.0036390212 + 614700 0.0045304479 0.0018352233 0.0040650531 + 614800 0.0038727677 0.0022118342 0.004117962 + 614900 0.0037916265 0.0024098281 0.0042760193 + 615000 0.0042176584 0.0017797123 0.003855591 + 615100 0.0061138681 0.0015509966 0.0045601661 + 615200 0.0054113915 0.0019054779 0.0045688972 + 615300 0.0041271695 0.0027278208 0.0047591621 + 615400 0.0052153877 0.0029214117 0.0054883603 + 615500 0.004793971 0.0020710263 0.0044305589 + 615600 0.004138146 0.0020102637 0.0040470075 + 615700 0.0044327345 0.002187274 0.0043690105 + 615800 0.0058516503 0.0018461544 0.0047262635 + 615900 0.0065407361 0.0020272045 0.0052464731 + 616000 0.0051881886 0.002592717 0.0051462786 + 616100 0.003837684 0.0025177092 0.0044065692 + 616200 0.0059031089 0.002107387 0.0050128234 + 616300 0.00583192 0.002223385 0.0050937831 + 616400 0.0054435045 0.0025798535 0.0052590783 + 616500 0.0046041874 0.002461751 0.0047278745 + 616600 0.0061574066 0.0021681603 0.0051987589 + 616700 0.0047348293 0.0026742579 0.0050046817 + 616800 0.0035516777 0.0029646958 0.0047127871 + 616900 0.0044848245 0.0026513603 0.0048587349 + 617000 0.0049517836 0.0023856472 0.0048228531 + 617100 0.0046457178 0.0020401329 0.0043266972 + 617200 0.0045045946 0.0019031618 0.0041202669 + 617300 0.0068110496 0.0019038815 0.0052561949 + 617400 0.0047803818 0.002395717 0.0047485611 + 617500 0.0052556533 0.0025569267 0.0051436935 + 617600 0.0048927737 0.0028869456 0.0052951077 + 617700 0.0042618982 0.0030312032 0.0051288562 + 617800 0.0046338249 0.0028899038 0.0051706145 + 617900 0.0060684584 0.0022534314 0.0052402508 + 618000 0.0057880345 0.0022323041 0.0050811023 + 618100 0.005214687 0.002130533 0.0046971367 + 618200 0.0048455591 0.0020066945 0.0043916181 + 618300 0.0052590363 0.0017051076 0.0042935395 + 618400 0.0043967357 0.0017189625 0.0038829808 + 618500 0.0055488351 0.0017334525 0.0044645198 + 618600 0.0041961022 0.0019250703 0.0039903394 + 618700 0.0040643501 0.0017954215 0.0037958437 + 618800 0.0045993293 0.0015869514 0.0038506838 + 618900 0.0040624691 0.0018512324 0.0038507289 + 619000 0.0037251591 0.0018965683 0.0037300451 + 619100 0.0062023456 0.0018104882 0.0048632052 + 619200 0.0045998756 0.0022067339 0.0044707352 + 619300 0.0045081589 0.0025797222 0.0047985816 + 619400 0.0046268111 0.0026170835 0.0048943421 + 619500 0.003219306 0.0023457757 0.0039302779 + 619600 0.0048224076 0.0017779151 0.0041514438 + 619700 0.0049464104 0.0017941006 0.004228662 + 619800 0.0042063704 0.0016940673 0.0037643902 + 619900 0.005106122 0.0018045929 0.0043177623 + 620000 0.0044278464 0.0019235971 0.0041029278 + 620100 0.0043162431 0.0023825751 0.004506976 + 620200 0.0048456849 0.002446585 0.0048315705 + 620300 0.0067651998 0.0020879817 0.0054177285 + 620400 0.0041466803 0.0028435653 0.0048845095 + 620500 0.0052929719 0.0034085991 0.0060137337 + 620600 0.0052917723 0.0036858638 0.006290408 + 620700 0.0042548671 0.0033700569 0.0054642493 + 620800 0.0065818056 0.0027272418 0.0059667243 + 620900 0.0055124027 0.0023433273 0.005056463 + 621000 0.0048642478 0.0025391538 0.0049332758 + 621100 0.0041027017 0.0024180698 0.0044373683 + 621200 0.005387674 0.0024843949 0.0051361407 + 621300 0.0053318621 0.0027513444 0.0053756203 + 621400 0.0044139363 0.0028044446 0.0049769289 + 621500 0.0054543163 0.0025668798 0.0052514261 + 621600 0.0054456173 0.0027056228 0.0053858875 + 621700 0.0056413401 0.0026635871 0.0054401842 + 621800 0.0058271818 0.0020148299 0.0048828959 + 621900 0.0050115225 0.0020928403 0.004559449 + 622000 0.0054314449 0.0021543662 0.0048276555 + 622100 0.0052691813 0.0021078945 0.0047013197 + 622200 0.0054480627 0.0023136176 0.004995086 + 622300 0.0057243689 0.0024292731 0.005246736 + 622400 0.0050841528 0.0022032422 0.0047055986 + 622500 0.0060356811 0.0021222613 0.0050929481 + 622600 0.0048995914 0.0021113047 0.0045228224 + 622700 0.0048154551 0.0019710144 0.0043411212 + 622800 0.0044431358 0.0023705001 0.004557356 + 622900 0.005901811 0.0025726307 0.0054774283 + 623000 0.0052898325 0.0026709143 0.0052745037 + 623100 0.0056074346 0.0026132226 0.0053731318 + 623200 0.0033188788 0.0031632455 0.0047967562 + 623300 0.0042801315 0.0028731309 0.0049797581 + 623400 0.0067990512 0.0023847001 0.0057311081 + 623500 0.004584067 0.0021272064 0.0043834269 + 623600 0.0058148825 0.0019868721 0.0048488845 + 623700 0.0044906605 0.001966891 0.0041771379 + 623800 0.0050101027 0.0021213739 0.0045872838 + 623900 0.0041308774 0.0022590918 0.004292258 + 624000 0.0039088916 0.0021258761 0.0040497836 + 624100 0.0067143641 0.0019403738 0.0052450999 + 624200 0.0042684698 0.0024479993 0.0045488868 + 624300 0.0034836813 0.0020500657 0.0037646901 + 624400 0.0049981541 0.0016871721 0.004147201 + 624500 0.00406509 0.0015825335 0.00358332 + 624600 0.0044498772 0.0016054629 0.0037956368 + 624700 0.0055950397 0.0020721753 0.0048259839 + 624800 0.0035597631 0.0023670798 0.0041191507 + 624900 0.0068086764 0.0022343328 0.0055854782 + 625000 0.0048656857 0.0025869298 0.0049817595 + 625100 0.0052158221 0.0023580585 0.004925221 + 625200 0.0058551533 0.0021285191 0.0050103524 + 625300 0.0053019161 0.0020973334 0.0047068702 + 625400 0.0040714243 0.0024396637 0.0044435679 + 625500 0.0047771684 0.0024940706 0.0048453331 + 625600 0.0044665783 0.0020710149 0.0042694089 + 625700 0.0047428876 0.0017047169 0.0040391069 + 625800 0.0061800942 0.0021315332 0.0051732984 + 625900 0.0040623507 0.0025865355 0.0045859737 + 626000 0.0042000536 0.0022702762 0.0043374901 + 626100 0.0049874336 0.002068315 0.0045230675 + 626200 0.0048294883 0.002125679 0.0045026928 + 626300 0.0039624165 0.0021900756 0.0041403275 + 626400 0.0050521584 0.0021750688 0.004661678 + 626500 0.0045628492 0.002671477 0.0049172543 + 626600 0.0058034392 0.0028381132 0.0056944934 + 626700 0.0043802864 0.0027828709 0.0049387931 + 626800 0.0055787823 0.0022801198 0.0050259267 + 626900 0.0047261128 0.002642978 0.0049691117 + 627000 0.0046310906 0.0027162425 0.0049956074 + 627100 0.0052641576 0.0028193662 0.0054103188 + 627200 0.004641862 0.0030909146 0.0053755811 + 627300 0.0057270046 0.0028490403 0.0056678004 + 627400 0.0045621716 0.0029096211 0.005155065 + 627500 0.007032323 0.0028103944 0.0062716159 + 627600 0.0039459225 0.003064009 0.0050061427 + 627700 0.0038587382 0.0028518976 0.0047511203 + 627800 0.0075717393 0.0020585279 0.0057852433 + 627900 0.0051357981 0.0021364778 0.0046642534 + 628000 0.0044260964 0.0025114879 0.0046899572 + 628100 0.0060593105 0.0027756842 0.0057580011 + 628200 0.0043547263 0.0027668765 0.0049102183 + 628300 0.0037209496 0.0025657362 0.0043971411 + 628400 0.0045627953 0.002248441 0.0044941918 + 628500 0.005239751 0.0026664844 0.0052454244 + 628600 0.0046453025 0.003765475 0.0060518348 + 628700 0.0066401358 0.0038796887 0.0071478805 + 628800 0.0059895125 0.0033733858 0.006321349 + 628900 0.0070768624 0.0029143348 0.006397478 + 629000 0.0054266687 0.0027572044 0.0054281429 + 629100 0.0034375238 0.0026996285 0.0043915348 + 629200 0.0051925923 0.0024610111 0.0050167401 + 629300 0.0041555817 0.0027128264 0.0047581517 + 629400 0.0044521086 0.0027204906 0.0049117628 + 629500 0.0041809334 0.002529072 0.0045868752 + 629600 0.0042669357 0.0020779439 0.0041780763 + 629700 0.0045680512 0.0020945771 0.0043429148 + 629800 0.0059147104 0.0023078883 0.0052190348 + 629900 0.0043712888 0.0026237507 0.0047752444 + 630000 0.0048157422 0.0026045603 0.0049748084 + 630100 0.0055707573 0.0030457721 0.0057876292 + 630200 0.0045766477 0.0033000415 0.0055526103 + 630300 0.0057071689 0.0028730917 0.0056820889 + 630400 0.0067087598 0.0026110316 0.0059129994 + 630500 0.0056872862 0.0021737422 0.0049729534 + 630600 0.0056833597 0.0023016848 0.0050989634 + 630700 0.0059496266 0.0022055037 0.0051338355 + 630800 0.0065498756 0.0023516507 0.0055754176 + 630900 0.0064522018 0.0024759231 0.0056516161 + 631000 0.0063096132 0.0026066423 0.005712155 + 631100 0.00549989 0.0025803672 0.0052873443 + 631200 0.0049976878 0.0028900495 0.0053498489 + 631300 0.0045690105 0.0026839249 0.0049327347 + 631400 0.0062222616 0.0026718145 0.0057343339 + 631500 0.0063024813 0.0026585647 0.0057605672 + 631600 0.0040453333 0.0028058985 0.004796961 + 631700 0.0057699328 0.0028600471 0.0056999359 + 631800 0.0061370821 0.0025596931 0.0055802881 + 631900 0.0055751983 0.0021654586 0.0049095015 + 632000 0.0038636372 0.0025999688 0.0045016028 + 632100 0.0056280259 0.0025686555 0.0053386995 + 632200 0.0050487326 0.002587086 0.0050720091 + 632300 0.0040208309 0.002606145 0.0045851477 + 632400 0.0058991885 0.0027613761 0.005664883 + 632500 0.0049623844 0.0026638914 0.005106315 + 632600 0.0044826823 0.0025823913 0.0047887114 + 632700 0.0050605848 0.0030645981 0.0055553548 + 632800 0.0046536373 0.0030282114 0.0053186735 + 632900 0.0059450116 0.0028035921 0.0057296525 + 633000 0.005127998 0.002693259 0.0052171955 + 633100 0.0048254285 0.0024465338 0.0048215494 + 633200 0.0055120519 0.0027326057 0.0054455688 + 633300 0.0050428877 0.0026823999 0.0051644461 + 633400 0.0041148125 0.002450661 0.0044759203 + 633500 0.0056274963 0.0021191733 0.0048889566 + 633600 0.0053931469 0.0016944153 0.0043488548 + 633700 0.0054379029 0.0019339488 0.0046104166 + 633800 0.0062857743 0.0023004847 0.0053942643 + 633900 0.0053106209 0.002283413 0.0048972342 + 634000 0.006609494 0.0020822009 0.0053353113 + 634100 0.0063953619 0.0023051764 0.0054528935 + 634200 0.0039006993 0.0024728184 0.0043926939 + 634300 0.0045421041 0.002010268 0.0042458349 + 634400 0.0060688812 0.0019176166 0.0049046441 + 634500 0.0048143248 0.0023138428 0.0046833933 + 634600 0.0038704497 0.0027908592 0.0046958461 + 634700 0.0050077691 0.0029276721 0.0053924335 + 634800 0.0040518363 0.0025723648 0.004566628 + 634900 0.0061577116 0.0022448278 0.0052755764 + 635000 0.003805301 0.0021431074 0.004016029 + 635100 0.0060436908 0.0020338949 0.005008524 + 635200 0.0053662142 0.0017545172 0.0043957008 + 635300 0.0046101363 0.0017445886 0.0040136401 + 635400 0.0057987552 0.001506208 0.0043602828 + 635500 0.0046143387 0.0018567985 0.0041279183 + 635600 0.0052171456 0.001698415 0.0042662289 + 635700 0.0040155062 0.0018533852 0.0038297672 + 635800 0.0051347926 0.0016021457 0.0041294264 + 635900 0.0051390971 0.0019683836 0.004497783 + 636000 0.0038733629 0.0022666666 0.0041730875 + 636100 0.0057102314 0.0021733446 0.0049838491 + 636200 0.0051251761 0.0020994622 0.0046220098 + 636300 0.0074337052 0.0020145623 0.0056733391 + 636400 0.0044536816 0.0019611078 0.0041531542 + 636500 0.0033599938 0.0022054654 0.0038592123 + 636600 0.0046226138 0.0022417738 0.0045169665 + 636700 0.0060414146 0.0022826514 0.0052561602 + 636800 0.004148215 0.0026954367 0.0047371363 + 636900 0.0034877892 0.0026158173 0.0043324635 + 637000 0.0069044682 0.0021132824 0.0055115754 + 637100 0.0050049356 0.002607555 0.0050709218 + 637200 0.0054464766 0.0027141338 0.0053948215 + 637300 0.00623623 0.0023363033 0.0054056978 + 637400 0.0062249278 0.0025260644 0.0055898961 + 637500 0.0037915594 0.0026230007 0.0044891589 + 637600 0.0043693529 0.0024867305 0.0046372714 + 637700 0.00498965 0.002001712 0.0044575554 + 637800 0.0038762921 0.0021788283 0.0040866909 + 637900 0.0044616372 0.0024603771 0.0046563392 + 638000 0.0044222798 0.0024634653 0.0046400561 + 638100 0.0051703666 0.0021879269 0.0047327168 + 638200 0.004445918 0.0021376613 0.0043258865 + 638300 0.005299031 0.0021928211 0.0048009379 + 638400 0.0059526405 0.0020993716 0.0050291869 + 638500 0.005175845 0.0023209956 0.0048684819 + 638600 0.0047167462 0.0025777505 0.004899274 + 638700 0.0041727393 0.0025332559 0.0045870261 + 638800 0.0058723164 0.0022994916 0.0051897723 + 638900 0.0060132619 0.0022657134 0.0052253658 + 639000 0.004945629 0.0024772919 0.0049114687 + 639100 0.0052189351 0.0024241949 0.0049928895 + 639200 0.0066683921 0.0025594879 0.0058415871 + 639300 0.0062841785 0.0028762519 0.005969246 + 639400 0.0063586768 0.0029737082 0.0061033695 + 639500 0.0065281995 0.0023083036 0.0055214018 + 639600 0.0054707149 0.0025453049 0.0052379224 + 639700 0.0055758524 0.002709463 0.0054538278 + 639800 0.0034595929 0.0029669909 0.0046697593 + 639900 0.0041244752 0.0026762085 0.0047062236 + 640000 0.0051431498 0.0028808391 0.0054122331 + 640100 0.0051798608 0.0031722331 0.0057216958 + 640200 0.0057214799 0.0032292551 0.006045296 + 640300 0.0054455284 0.0027157322 0.0053959532 + 640400 0.0054455773 0.0024854322 0.0051656772 + 640500 0.0047345391 0.0027558777 0.0050861587 + 640600 0.006733415 0.0025880406 0.0059021433 + 640700 0.0047395064 0.0027336703 0.0050663962 + 640800 0.0062411417 0.0025408779 0.0056126898 + 640900 0.0050998752 0.0017375373 0.0042476321 + 641000 0.0056561156 0.0021846421 0.0049685115 + 641100 0.0058538656 0.00254139 0.0054225895 + 641200 0.004950766 0.0024075581 0.0048442632 + 641300 0.0056893086 0.0023597147 0.0051599213 + 641400 0.0043746791 0.0022920463 0.0044452086 + 641500 0.0037236182 0.00256163 0.0043943483 + 641600 0.0053100116 0.0023907191 0.0050042405 + 641700 0.005428081 0.0030217147 0.0056933483 + 641800 0.006267192 0.0029533727 0.0060380063 + 641900 0.0057774934 0.0026972 0.0055408101 + 642000 0.0038449551 0.0027537668 0.0046462057 + 642100 0.004257314 0.0023520245 0.0044474213 + 642200 0.0052856624 0.0023596918 0.0049612288 + 642300 0.0048658893 0.002423782 0.0048187119 + 642400 0.005788242 0.0026162355 0.0054651359 + 642500 0.0062273412 0.002805341 0.0058703605 + 642600 0.0054248221 0.0024190649 0.0050890945 + 642700 0.005242129 0.0023067004 0.0048868108 + 642800 0.0043918511 0.0023322406 0.0044938547 + 642900 0.00522115 0.0024326377 0.0050024225 + 643000 0.0059783853 0.0024072907 0.0053497772 + 643100 0.0046466198 0.0027894466 0.0050764547 + 643200 0.0073782268 0.0023709219 0.0060023929 + 643300 0.0046385936 0.0025431633 0.0048262211 + 643400 0.0047608314 0.0030721144 0.0054153361 + 643500 0.0059928139 0.0027744882 0.0057240763 + 643600 0.0062677345 0.0027672141 0.0058521147 + 643700 0.0042997232 0.0025965554 0.0047128254 + 643800 0.0032344451 0.0026778483 0.0042698017 + 643900 0.0050154163 0.0029332673 0.0054017925 + 644000 0.0042367343 0.0030487334 0.0051340011 + 644100 0.0045176293 0.0029652125 0.0051887331 + 644200 0.0063381078 0.0028825089 0.0060020463 + 644300 0.0055938005 0.002905058 0.0056582567 + 644400 0.0062274671 0.00319695 0.0062620315 + 644500 0.0062583222 0.0030839128 0.0061641808 + 644600 0.0054015352 0.0026252837 0.0052838518 + 644700 0.0046114722 0.0027973553 0.0050670642 + 644800 0.003662566 0.0028125415 0.0046152107 + 644900 0.0052232858 0.0024610493 0.0050318853 + 645000 0.0047116173 0.0028904605 0.0052094596 + 645100 0.0042203776 0.0027169972 0.0047942144 + 645200 0.00521798 0.0027041334 0.0052723579 + 645300 0.0047877258 0.0022574666 0.0046139253 + 645400 0.0049967796 0.002360128 0.0048194804 + 645500 0.0046544965 0.0027686961 0.0050595811 + 645600 0.0058639216 0.00319602 0.0060821689 + 645700 0.0061195699 0.0030413845 0.0060533603 + 645800 0.0062476449 0.0028991103 0.005974123 + 645900 0.0047045655 0.0028685941 0.0051841224 + 646000 0.0057156769 0.0028558408 0.0056690255 + 646100 0.0048367545 0.0032304886 0.0056110787 + 646200 0.0043506056 0.0032550353 0.005396349 + 646300 0.0047896466 0.0034602373 0.0058176415 + 646400 0.0048127578 0.0033759485 0.0057447277 + 646500 0.0079171257 0.0028440797 0.00674079 + 646600 0.0046406121 0.0029226344 0.0052066856 + 646700 0.0043823644 0.0028112692 0.0049682142 + 646800 0.0057005003 0.0026941916 0.0054999066 + 646900 0.0046881273 0.0030427356 0.0053501733 + 647000 0.0048731972 0.0032385919 0.0056371186 + 647100 0.0045438203 0.0029999841 0.0052363957 + 647200 0.0041087108 0.0025699262 0.0045921823 + 647300 0.006103715 0.0025286993 0.0055328715 + 647400 0.0057582841 0.0027017994 0.0055359549 + 647500 0.0052698904 0.0024237885 0.0050175627 + 647600 0.0046473686 0.0022767467 0.0045641235 + 647700 0.0051930613 0.0024123431 0.004968303 + 647800 0.0030099998 0.0025578748 0.0040393591 + 647900 0.0045835614 0.0025889726 0.0048449443 + 648000 0.0051944396 0.0026892889 0.0052459272 + 648100 0.0044701583 0.0023626703 0.0045628263 + 648200 0.0055983539 0.0022048592 0.004960299 + 648300 0.0046608376 0.002568065 0.004862071 + 648400 0.0070467314 0.0026525806 0.0061208937 + 648500 0.00433232 0.0028869277 0.0050192415 + 648600 0.0055700874 0.0028983493 0.0056398767 + 648700 0.0060783889 0.0033107944 0.0063025014 + 648800 0.0044530661 0.0031112078 0.0053029513 + 648900 0.00539632 0.0027147238 0.005370725 + 649000 0.0048906836 0.0024972733 0.0049044067 + 649100 0.00577515 0.0023305507 0.0051730073 + 649200 0.0069418625 0.0020726629 0.0054893609 + 649300 0.0057817901 0.0020721015 0.0049178263 + 649400 0.0049206736 0.0022024286 0.0046243226 + 649500 0.0058331836 0.0021678396 0.0050388597 + 649600 0.0051056921 0.002231002 0.0047439598 + 649700 0.0047737879 0.0021059489 0.0044555476 + 649800 0.0034085119 0.0023418649 0.0040194918 + 649900 0.0036290612 0.0026512326 0.0044374112 + 650000 0.0055876481 0.0023001662 0.0050503367 + 650100 0.0063976091 0.0022125706 0.0053613938 + 650200 0.005549217 0.0023748841 0.0051061393 + 650300 0.010122103 0.0021425897 0.0071245623 + 650400 0.0057239955 0.0026101986 0.0054274776 + 650500 0.0043453731 0.002656293 0.0047950313 + 650600 0.005404793 0.0023107703 0.0049709418 + 650700 0.0035842984 0.0023157029 0.0040798498 + 650800 0.004741598 0.0023375455 0.0046713008 + 650900 0.003503162 0.0023624188 0.0040866313 + 651000 0.0042828139 0.0024384175 0.004546365 + 651100 0.005249292 0.0021924408 0.0047760767 + 651200 0.0049361955 0.0024318934 0.0048614271 + 651300 0.0056836505 0.0029006425 0.0056980642 + 651400 0.0063771265 0.002756177 0.0058949189 + 651500 0.0044791824 0.0024500014 0.004654599 + 651600 0.0063510815 0.0021498176 0.0052757405 + 651700 0.004056697 0.0023661319 0.0043627875 + 651800 0.0059306413 0.0022351787 0.0051541662 + 651900 0.0050098469 0.0020806394 0.0045464234 + 652000 0.0045068621 0.0026001152 0.0048183364 + 652100 0.0073138478 0.0028822319 0.0064820164 + 652200 0.0050386438 0.0028524696 0.0053324271 + 652300 0.0068609347 0.0027507388 0.0061276051 + 652400 0.0040357993 0.0032675321 0.0052539021 + 652500 0.0044223185 0.0031589622 0.0053355721 + 652600 0.0071099531 0.0023663198 0.0058657499 + 652700 0.0047823944 0.0022182036 0.0045720383 + 652800 0.005776848 0.0023723041 0.0052155965 + 652900 0.00572282 0.0026074588 0.0054241593 + 653000 0.0042549244 0.0026574061 0.0047516267 + 653100 0.0056084627 0.0019873651 0.0047477803 + 653200 0.0059677483 0.0022955007 0.0052327518 + 653300 0.0055424756 0.0026901218 0.005418059 + 653400 0.0063838408 0.0027866778 0.0059287244 + 653500 0.0052673411 0.0022409184 0.0048334379 + 653600 0.0051225949 0.0023047784 0.0048260556 + 653700 0.0062962611 0.0024906142 0.0055895552 + 653800 0.0047930993 0.0023325022 0.0046916058 + 653900 0.0040081401 0.0024313595 0.0044041159 + 654000 0.005197082 0.0021265944 0.0046845332 + 654100 0.0051660522 0.0020277143 0.0045703806 + 654200 0.0044144694 0.0018197764 0.003992523 + 654300 0.0062144097 0.0023999229 0.0054585777 + 654400 0.0036439381 0.0028235644 0.0046170651 + 654500 0.0059737055 0.0028104599 0.0057506431 + 654600 0.0050318712 0.0030389249 0.005515549 + 654700 0.0053381176 0.0027020291 0.0053293839 + 654800 0.0044745761 0.0026045181 0.0048068486 + 654900 0.0050335091 0.0025190728 0.0049965031 + 655000 0.0035823255 0.0027932457 0.0045564215 + 655100 0.0031145377 0.0027425765 0.0042755131 + 655200 0.004523821 0.0025811687 0.0048077368 + 655300 0.0056799679 0.0025656115 0.0053612207 + 655400 0.0052750453 0.0026293177 0.0052256291 + 655500 0.0039275872 0.0028153933 0.0047485026 + 655600 0.0051506333 0.0031891073 0.0057241846 + 655700 0.0060668386 0.0027962755 0.0057822976 + 655800 0.0053528591 0.0024782729 0.0051128833 + 655900 0.0048490024 0.0029672557 0.0053538741 + 656000 0.0038765256 0.0029823242 0.0048903017 + 656100 0.0063262315 0.0029792859 0.0060929779 + 656200 0.0069794214 0.0033128463 0.0067480303 + 656300 0.005430877 0.0032071729 0.0058801827 + 656400 0.0051778186 0.0030660778 0.0056145354 + 656500 0.0066455386 0.0027016573 0.0059725083 + 656600 0.0048145464 0.0024933758 0.0048630354 + 656700 0.0051648104 0.0022596874 0.0048017425 + 656800 0.0058420524 0.0023401866 0.0052155717 + 656900 0.0060911542 0.0023967711 0.0053947611 + 657000 0.0050724879 0.0023719824 0.0048685976 + 657100 0.0047839971 0.0024083538 0.0047629774 + 657200 0.0042935016 0.0022699323 0.0043831402 + 657300 0.0076523948 0.0024543099 0.006220723 + 657400 0.0054883571 0.0026136972 0.0053149979 + 657500 0.0044652898 0.0022016236 0.0043993835 + 657600 0.0053922258 0.0020590236 0.0047130097 + 657700 0.0050393137 0.0023210855 0.0048013727 + 657800 0.0047615883 0.0020667547 0.0044103489 + 657900 0.0053117209 0.0022677203 0.0048820829 + 658000 0.0049096828 0.0023405402 0.0047570247 + 658100 0.0057210923 0.0024097005 0.0052255506 + 658200 0.0050190404 0.0027066755 0.0051769844 + 658300 0.0062904591 0.0023236289 0.0054197142 + 658400 0.0042330469 0.002433001 0.0045164538 + 658500 0.005746468 0.0024194768 0.0052478165 + 658600 0.0053290685 0.0023569296 0.0049798305 + 658700 0.0062772674 0.0030012961 0.0060908886 + 658800 0.0042964322 0.0032341805 0.0053488308 + 658900 0.0049114128 0.0030434204 0.0054607564 + 659000 0.0053887215 0.0028402765 0.0054925378 + 659100 0.0053730616 0.0028320801 0.0054766338 + 659200 0.0051381145 0.0025886388 0.0051175545 + 659300 0.0040950091 0.002325604 0.0043411163 + 659400 0.0056198041 0.0022914045 0.0050574018 + 659500 0.0045701885 0.0027807956 0.0050301852 + 659600 0.0045987793 0.0030294027 0.0052928644 + 659700 0.0046749862 0.0033867049 0.0056876747 + 659800 0.0049548898 0.003396649 0.0058353838 + 659900 0.0057340161 0.003264883 0.006087094 + 660000 0.0043456804 0.0030503143 0.0051892039 + 660100 0.0061547561 0.0030670215 0.0060963155 + 660200 0.0053016947 0.0037459804 0.0063554083 + 660300 0.0058320576 0.003482043 0.0063525089 + 660400 0.0058433814 0.002991962 0.0058680013 + 660500 0.0038152604 0.0026380893 0.0045159128 + 660600 0.0041979416 0.0024439138 0.0045100882 + 660700 0.0045026778 0.0025470847 0.0047632464 + 660800 0.0030148277 0.0024512742 0.0039351348 + 660900 0.0057236057 0.0027723553 0.0055894425 + 661000 0.00478601 0.0033528334 0.0057084477 + 661100 0.0049081098 0.003399793 0.0058155033 + 661200 0.0040955174 0.0033996693 0.0054154317 + 661300 0.0051870201 0.0032877553 0.0058407418 + 661400 0.005914557 0.0026544292 0.0055655002 + 661500 0.0047236399 0.003297436 0.0056223525 + 661600 0.0053756574 0.003452547 0.0060983784 + 661700 0.0039603795 0.0028781585 0.0048274077 + 661800 0.0045453956 0.002559566 0.0047967529 + 661900 0.0052764044 0.0027021228 0.0052991031 + 662000 0.0040959093 0.0028115687 0.004827524 + 662100 0.0044642394 0.0029976633 0.0051949061 + 662200 0.0052828556 0.0027781662 0.0053783217 + 662300 0.0035876386 0.0029732175 0.0047390084 + 662400 0.0040105239 0.0031401024 0.0051140321 + 662500 0.0047787451 0.0030440407 0.0053960793 + 662600 0.0057775994 0.002887736 0.0057313981 + 662700 0.0044382023 0.002727297 0.0049117247 + 662800 0.0048301824 0.0026968292 0.0050741847 + 662900 0.0040239137 0.002362009 0.004342529 + 663000 0.0042490754 0.0022350926 0.0043264344 + 663100 0.0033249458 0.0024511597 0.0040876565 + 663200 0.0041609336 0.0023234858 0.0043714454 + 663300 0.0041017235 0.0023567329 0.00437555 + 663400 0.0044477459 0.0026955444 0.0048846694 + 663500 0.0060014893 0.0025435244 0.0054973825 + 663600 0.004307415 0.0025365654 0.0046566212 + 663700 0.0056159136 0.0024039253 0.0051680078 + 663800 0.0065390204 0.00219668 0.0054151041 + 663900 0.0054912535 0.0020606719 0.0047633983 + 664000 0.0044345913 0.002293131 0.0044757814 + 664100 0.0041555742 0.0023161922 0.0043615139 + 664200 0.0031413095 0.0025453338 0.0040914471 + 664300 0.0041105942 0.0029195214 0.0049427045 + 664400 0.0046428992 0.0028746548 0.0051598318 + 664500 0.0072655144 0.0025847828 0.0061607782 + 664600 0.0052345667 0.0025762996 0.0051526878 + 664700 0.0037331669 0.0022941981 0.0041316162 + 664800 0.0051810305 0.0021994156 0.004749454 + 664900 0.004509729 0.0024132263 0.0046328586 + 665000 0.00477035 0.0028265272 0.0051744338 + 665100 0.0044087451 0.0022770806 0.0044470099 + 665200 0.0040520462 0.0021113227 0.0041056891 + 665300 0.0043239509 0.0020739875 0.0042021821 + 665400 0.0049726428 0.0021277087 0.0045751814 + 665500 0.0045771515 0.0021318443 0.004384661 + 665600 0.0059517816 0.0021595798 0.0050889723 + 665700 0.0054603901 0.0022029878 0.0048905235 + 665800 0.0040986578 0.0025710884 0.0045883965 + 665900 0.0048044861 0.0029357238 0.0053004318 + 666000 0.0061509383 0.0025987652 0.0056261801 + 666100 0.0056196583 0.0026415148 0.0054074404 + 666200 0.0067696314 0.0030948428 0.0064267707 + 666300 0.0052439667 0.00329714 0.0058781548 + 666400 0.0044176999 0.0036885531 0.0058628898 + 666500 0.0053416813 0.0035022872 0.006131396 + 666600 0.0055569702 0.003379198 0.0061142693 + 666700 0.0050913226 0.0032818023 0.0057876876 + 666800 0.0063432195 0.0028554882 0.0059775416 + 666900 0.0047056859 0.0028873971 0.0052034768 + 667000 0.0041611872 0.0028857933 0.0049338777 + 667100 0.0050493897 0.002788189 0.0052734355 + 667200 0.004808921 0.0024794586 0.0048463494 + 667300 0.0039109027 0.0024515955 0.0043764929 + 667400 0.0052156733 0.0027301177 0.0052972069 + 667500 0.0039116631 0.0031553488 0.0050806205 + 667600 0.0047971516 0.0032446073 0.0056057053 + 667700 0.0047793195 0.0032200247 0.0055723461 + 667800 0.0055620497 0.0024211613 0.0051587327 + 667900 0.0053043672 0.0019433618 0.004554105 + 668000 0.0058205962 0.0020698374 0.0049346621 + 668100 0.0054995063 0.0025926252 0.0052994135 + 668200 0.0049666162 0.0026698209 0.0051143273 + 668300 0.0046388342 0.002617397 0.0049005732 + 668400 0.0044927457 0.0026358236 0.0048470969 + 668500 0.0052749997 0.002235145 0.0048314339 + 668600 0.0044983063 0.0019778732 0.0041918834 + 668700 0.0045923066 0.0021011957 0.0043614716 + 668800 0.0061028751 0.0021476038 0.0051513626 + 668900 0.0043012972 0.0022644137 0.0043814584 + 669000 0.0045107511 0.0023343617 0.004554497 + 669100 0.004660623 0.0024002674 0.0046941677 + 669200 0.0038898097 0.002060501 0.0039750167 + 669300 0.005517835 0.0022014052 0.0049172147 + 669400 0.0055111529 0.001894235 0.0046067556 + 669500 0.005334685 0.0019934578 0.0046191231 + 669600 0.0044794144 0.0021519832 0.004356695 + 669700 0.0038738662 0.0019494654 0.0038561339 + 669800 0.0052420468 0.0023466568 0.0049267267 + 669900 0.0048688313 0.0024703167 0.0048666946 + 670000 0.0037509523 0.0022570741 0.0041032459 + 670100 0.0039704158 0.00242549 0.0043796791 + 670200 0.004389933 0.0021552119 0.004315882 + 670300 0.0042967313 0.0023080071 0.0044228045 + 670400 0.0059354496 0.0021755822 0.0050969364 + 670500 0.0050977279 0.0021836059 0.0046926438 + 670600 0.0036038403 0.0024191941 0.0041929593 + 670700 0.004241098 0.0023258681 0.0044132835 + 670800 0.0061144714 0.0020769683 0.0050864347 + 670900 0.0054586183 0.002522163 0.0052088267 + 671000 0.0049240076 0.0024891554 0.0049126904 + 671100 0.0050374809 0.0023642003 0.0048435855 + 671200 0.0060233694 0.0027136158 0.005678243 + 671300 0.0046272145 0.0031537379 0.005431195 + 671400 0.0061035517 0.0031646937 0.0061687855 + 671500 0.0036325136 0.00292582 0.0047136978 + 671600 0.0049905021 0.0025717689 0.0050280317 + 671700 0.0050943456 0.002249328 0.0047567012 + 671800 0.0039089411 0.0019585399 0.0038824718 + 671900 0.0055331273 0.001495158 0.0042184941 + 672000 0.0044196264 0.0017786762 0.0039539611 + 672100 0.0043487363 0.0018029131 0.0039433067 + 672200 0.0051027201 0.001669001 0.004180496 + 672300 0.0036104074 0.0017716858 0.0035486832 + 672400 0.0061954906 0.0020552037 0.0051045467 + 672500 0.0035817099 0.0022520607 0.0040149335 + 672600 0.0031469774 0.0024142178 0.0039631207 + 672700 0.005077208 0.0022658858 0.0047648241 + 672800 0.0045872279 0.0025772249 0.0048350011 + 672900 0.0055735376 0.0026322159 0.0053754415 + 673000 0.0053303444 0.0028112249 0.0054347537 + 673100 0.0037327751 0.0025838194 0.0044210446 + 673200 0.0021470028 0.0023446057 0.0034013336 + 673300 0.0046628152 0.0022917576 0.004586737 + 673400 0.0042823257 0.0024690401 0.0045767473 + 673500 0.004298241 0.0022871669 0.0044027074 + 673600 0.0043526995 0.002488095 0.0046304393 + 673700 0.004340375 0.002559932 0.0046962103 + 673800 0.0051615566 0.0023889993 0.004929453 + 673900 0.0048620725 0.0023335343 0.0047265856 + 674000 0.0052473234 0.0025124802 0.0050951472 + 674100 0.0058235506 0.0022467762 0.005113055 + 674200 0.005971909 0.0021765562 0.0051158552 + 674300 0.0061295706 0.0022893125 0.0053062106 + 674400 0.0064053288 0.0027204323 0.0058730551 + 674500 0.0051944822 0.0026923899 0.0052490492 + 674600 0.005530208 0.0022271259 0.0049490252 + 674700 0.0040987322 0.002279689 0.0042970337 + 674800 0.0051864583 0.0022054378 0.0047581478 + 674900 0.0048975851 0.0026255119 0.0050360421 + 675000 0.0061868725 0.0031807853 0.0062258866 + 675100 0.0049910107 0.0036069689 0.006063482 + 675200 0.0052145371 0.0036034489 0.0061699789 + 675300 0.0071562015 0.003549751 0.0070719439 + 675400 0.0068272948 0.002947095 0.0063074041 + 675500 0.0063077902 0.0026762608 0.0057808763 + 675600 0.0049959875 0.0025691493 0.005028112 + 675700 0.0056173626 0.0025009228 0.0052657185 + 675800 0.0049445943 0.0024747085 0.004908376 + 675900 0.0040933695 0.0018895094 0.0039042147 + 676000 0.0038499582 0.0018027333 0.0036976346 + 676100 0.0053556425 0.0022149216 0.0048509019 + 676200 0.0043945477 0.0025367759 0.0046997174 + 676300 0.0052902428 0.0022239496 0.0048277409 + 676400 0.0054658557 0.0019620313 0.0046522572 + 676500 0.0045682552 0.0021504799 0.0043989181 + 676600 0.0047928675 0.0025692272 0.0049282166 + 676700 0.0037063938 0.002727848 0.0045520887 + 676800 0.0052998716 0.0021376821 0.0047462127 + 676900 0.002981355 0.0023638045 0.0038311902 + 677000 0.0046045802 0.0023589924 0.0046253092 + 677100 0.0047930207 0.0023450887 0.0047041535 + 677200 0.0040678771 0.0022644103 0.0042665686 + 677300 0.0056949119 0.0020827341 0.0048856986 + 677400 0.0062007205 0.0027037348 0.0057556519 + 677500 0.0041438311 0.0027203797 0.0047599216 + 677600 0.0050703669 0.0021918764 0.0046874476 + 677700 0.0053101137 0.0024337346 0.0050473062 + 677800 0.0037488165 0.0029075701 0.0047526907 + 677900 0.0061416311 0.0024859027 0.0055087367 + 678000 0.0044144874 0.0025958413 0.0047685968 + 678100 0.0045070083 0.0028767384 0.0050950315 + 678200 0.0068741949 0.0021578233 0.0055412161 + 678300 0.0058371933 0.0021994966 0.0050724902 + 678400 0.0051618932 0.0021726343 0.0047132536 + 678500 0.0047813898 0.0025517853 0.0049051257 + 678600 0.0039093504 0.0025394571 0.0044635904 + 678700 0.0039859698 0.0026482893 0.0046101338 + 678800 0.0054728443 0.0025646763 0.0052583419 + 678900 0.003280819 0.002153447 0.0037682251 + 679000 0.0038402396 0.0023250387 0.0042151566 + 679100 0.0054007843 0.0027640666 0.0054222651 + 679200 0.0052352712 0.0027588435 0.0053355786 + 679300 0.0052942134 0.0024277342 0.0050334798 + 679400 0.005358493 0.0022742269 0.0049116101 + 679500 0.0052606863 0.0022295884 0.0048188325 + 679600 0.0047119994 0.0021846381 0.0045038253 + 679700 0.0056274384 0.0023296111 0.0050993659 + 679800 0.0040239884 0.0027632393 0.0047437961 + 679900 0.0053055881 0.0026751014 0.0052864455 + 680000 0.0044272325 0.0024984124 0.0046774409 + 680100 0.0047556236 0.0022982334 0.0046388919 + 680200 0.0031146306 0.00220906 0.0037420422 + 680300 0.0050145817 0.0021406391 0.0046087535 + 680400 0.0053935909 0.0019910477 0.0046457057 + 680500 0.0047470971 0.0024143648 0.0047508266 + 680600 0.0050237752 0.0023396701 0.0048123095 + 680700 0.0056330079 0.002291643 0.0050641391 + 680800 0.0056525231 0.0026917594 0.0054738606 + 680900 0.0042202242 0.0027786697 0.0048558113 + 681000 0.0055496706 0.002723179 0.0054546575 + 681100 0.0057328028 0.0024413472 0.0052629611 + 681200 0.0036770533 0.0023757596 0.0041855592 + 681300 0.0068943649 0.0025635894 0.0059569096 + 681400 0.004365415 0.0029915489 0.0051401516 + 681500 0.0048292843 0.0025122366 0.0048891499 + 681600 0.0046729137 0.0026269375 0.0049268872 + 681700 0.0052587478 0.0027901751 0.005378465 + 681800 0.0053986633 0.0025703286 0.0052274832 + 681900 0.0055200028 0.002635407 0.0053522834 + 682000 0.0050348627 0.002648181 0.0051262775 + 682100 0.0060930243 0.0023042949 0.0053032053 + 682200 0.0048238041 0.0022753912 0.0046496073 + 682300 0.0033731226 0.0020911932 0.0037514019 + 682400 0.0047006592 0.0017690846 0.0040826903 + 682500 0.0040590832 0.0018470383 0.0038448683 + 682600 0.0049279955 0.0016606833 0.004086181 + 682700 0.0062723448 0.0019820331 0.0050692028 + 682800 0.0049858927 0.0021062893 0.0045602834 + 682900 0.005843359 0.002378021 0.0052540492 + 683000 0.0053403477 0.0029523177 0.0055807701 + 683100 0.007141127 0.0028043233 0.0063190968 + 683200 0.0053756185 0.0025610361 0.0052068484 + 683300 0.0063403102 0.0019175933 0.0050382147 + 683400 0.005286925 0.0020250927 0.0046272511 + 683500 0.0032896195 0.0027237685 0.0043428781 + 683600 0.0035291663 0.0029344631 0.0046714747 + 683700 0.0053300525 0.0025880607 0.0052114459 + 683800 0.0045404678 0.0020184882 0.0042532497 + 683900 0.0068308586 0.0020201859 0.0053822491 + 684000 0.0054309634 0.0026511971 0.0053242494 + 684100 0.005690009 0.0027232831 0.0055238344 + 684200 0.0040589861 0.0028239168 0.004821699 + 684300 0.0048223761 0.002591848 0.0049653612 + 684400 0.0054688888 0.0023825297 0.0050742484 + 684500 0.0058457586 0.0021276148 0.0050048241 + 684600 0.0035423932 0.0024468397 0.0041903613 + 684700 0.005906867 0.0019767239 0.00488401 + 684800 0.004022751 0.0022921804 0.0042721281 + 684900 0.0058477743 0.002581546 0.0054597474 + 685000 0.0031587125 0.002792986 0.0043476649 + 685100 0.0046839259 0.0027068184 0.0050121882 + 685200 0.0067969476 0.0022681923 0.005613565 + 685300 0.0040723286 0.002451904 0.0044562532 + 685400 0.0057689485 0.0025663392 0.0054057436 + 685500 0.0041937554 0.0025959229 0.0046600369 + 685600 0.0061519493 0.0024277747 0.0054556872 + 685700 0.0040462883 0.0026984659 0.0046899984 + 685800 0.0049665892 0.0025976855 0.0050421787 + 685900 0.0048190275 0.0032881929 0.005660058 + 686000 0.0056700317 0.0029955809 0.0057862996 + 686100 0.0057197953 0.0022135045 0.0050287163 + 686200 0.006461703 0.0021460036 0.005326373 + 686300 0.0057309934 0.0019162675 0.0047369908 + 686400 0.0034657999 0.0019788982 0.0036847215 + 686500 0.0054336578 0.0020558777 0.0047302562 + 686600 0.0054148542 0.0025794794 0.0052446029 + 686700 0.0032248387 0.0031089248 0.0046961501 + 686800 0.0061278649 0.0027967657 0.0058128242 + 686900 0.004529436 0.002491336 0.0047206678 + 687000 0.0056825745 0.001860347 0.0046572392 + 687100 0.003269067 0.0019987436 0.0036077375 + 687200 0.0045473012 0.0019795031 0.0042176279 + 687300 0.0054199685 0.001873784 0.0045414247 + 687400 0.0044179304 0.0022389661 0.0044134162 + 687500 0.005622913 0.0022898795 0.005057407 + 687600 0.0039455683 0.0021209384 0.0040628978 + 687700 0.0046210474 0.0021059863 0.0043804081 + 687800 0.0033482461 0.0020703246 0.0037182895 + 687900 0.0052151452 0.0019813269 0.0045481562 + 688000 0.0064005433 0.0021959734 0.0053462408 + 688100 0.0046320544 0.0024764816 0.0047563208 + 688200 0.0044479257 0.0027352324 0.0049244458 + 688300 0.0051492371 0.0030631473 0.0055975375 + 688400 0.0061971718 0.0030425443 0.0060927148 + 688500 0.0048181888 0.0027562769 0.0051277292 + 688600 0.0059391397 0.0028595698 0.0057827402 + 688700 0.0083395992 0.0028312354 0.0069358818 + 688800 0.0057413722 0.0028519838 0.0056778154 + 688900 0.0070947493 0.002324726 0.0058166729 + 689000 0.0043702745 0.0020002506 0.004151245 + 689100 0.0074966626 0.0017087373 0.0053985009 + 689200 0.0038439821 0.0016333631 0.0035253231 + 689300 0.0048249571 0.001692116 0.0040668996 + 689400 0.0048025941 0.0017815433 0.0041453201 + 689500 0.0048111646 0.0020338184 0.0044018135 + 689600 0.0064846653 0.0023232847 0.0055149559 + 689700 0.0060028621 0.0026510607 0.0056055944 + 689800 0.0057983924 0.0028210466 0.0056749428 + 689900 0.005149903 0.0027938967 0.0053286145 + 690000 0.003202341 0.0025112226 0.0040873749 + 690100 0.0067104832 0.0019881771 0.005290993 + 690200 0.0053097285 0.0025332165 0.0051465985 + 690300 0.005308733 0.0032841344 0.0058970264 + 690400 0.0051393221 0.0031945747 0.0057240848 + 690500 0.00429844 0.0033796868 0.0054953252 + 690600 0.0045519958 0.0027409324 0.0049813679 + 690700 0.006255421 0.0023842528 0.0054630929 + 690800 0.0055972577 0.0021945875 0.0049494877 + 690900 0.0049481257 0.0020997778 0.0045351834 + 691000 0.0058362779 0.001910773 0.004783316 + 691100 0.0038302671 0.0018277377 0.0037129473 + 691200 0.0064727675 0.0018151094 0.0050009246 + 691300 0.0046563863 0.0020750831 0.0043668982 + 691400 0.0055699853 0.0022216957 0.0049631729 + 691500 0.0049138735 0.0021900945 0.0046086417 + 691600 0.0041234164 0.0025392924 0.0045687864 + 691700 0.0043149641 0.0027751766 0.004898948 + 691800 0.0040520687 0.0032759214 0.005270299 + 691900 0.0051580231 0.0030757943 0.0056145088 + 692000 0.0047824642 0.0026482193 0.0050020884 + 692100 0.0067906469 0.0023072361 0.0056495076 + 692200 0.0036106605 0.0023881266 0.0041652486 + 692300 0.0049948273 0.0020861055 0.0045444971 + 692400 0.0039468959 0.0019467946 0.0038894074 + 692500 0.0046830259 0.0016006911 0.0039056179 + 692600 0.0049307313 0.0016842817 0.004111126 + 692700 0.0051398368 0.0017911757 0.0043209391 + 692800 0.0063658709 0.0019689722 0.0051021742 + 692900 0.0061205335 0.0019943214 0.0050067715 + 693000 0.0056235116 0.0026542262 0.0054220483 + 693100 0.0054698188 0.0032086183 0.0059007947 + 693200 0.0054884238 0.0032776495 0.0059789831 + 693300 0.0055605495 0.0029475647 0.0056843976 + 693400 0.0044205303 0.0030115011 0.0051872308 + 693500 0.0043788568 0.00331665 0.0054718686 + 693600 0.0062080812 0.0027304523 0.0057859923 + 693700 0.0064421283 0.0027132037 0.0058839387 + 693800 0.0048190733 0.0030086171 0.0053805048 + 693900 0.0035663692 0.0026693435 0.0044246658 + 694000 0.0049551919 0.0020523111 0.0044911946 + 694100 0.0042917013 0.0021157585 0.0042280802 + 694200 0.0050861912 0.0022263312 0.004729691 + 694300 0.0047008671 0.0021239756 0.0044376836 + 694400 0.0065839257 0.0023323718 0.0055728977 + 694500 0.0051649728 0.0025604207 0.0051025558 + 694600 0.004161208 0.0024873112 0.0045354057 + 694700 0.0053816544 0.0024059169 0.0050546999 + 694800 0.0039079174 0.0023925747 0.0043160028 + 694900 0.0052342298 0.0024296906 0.0050059131 + 695000 0.0045785519 0.002423683 0.004677189 + 695100 0.004942542 0.0025335757 0.0049662331 + 695200 0.0054862293 0.0027311761 0.0054314296 + 695300 0.0043264172 0.0028932393 0.0050226478 + 695400 0.0057449819 0.0030830821 0.0059106904 + 695500 0.0045755071 0.0030204289 0.0052724362 + 695600 0.0053786098 0.0026297036 0.0052769881 + 695700 0.0032127587 0.0023970437 0.0039783234 + 695800 0.0060046894 0.0021069328 0.0050623658 + 695900 0.005282996 0.0023494363 0.0049496609 + 696000 0.0043922614 0.001965721 0.0041275372 + 696100 0.0047761182 0.0024122064 0.0047629521 + 696200 0.0050412806 0.0027314678 0.0052127231 + 696300 0.0047357034 0.0023462451 0.0046770991 + 696400 0.005151523 0.0021060238 0.004641539 + 696500 0.0043950834 0.0019924204 0.0041556255 + 696600 0.0056044277 0.0017410294 0.0044994587 + 696700 0.0035545853 0.0020995916 0.003849114 + 696800 0.0066133881 0.0019195232 0.0051745502 + 696900 0.0048738247 0.0019333298 0.0043321654 + 697000 0.0045971713 0.0023028107 0.0045654809 + 697100 0.004872788 0.0028971132 0.0052954386 + 697200 0.0051673617 0.0026475285 0.0051908393 + 697300 0.0057018968 0.0028076319 0.0056140343 + 697400 0.0054994568 0.0024258287 0.0051325926 + 697500 0.0052152962 0.0023774554 0.004944359 + 697600 0.0035638043 0.0025040999 0.0042581598 + 697700 0.0059742414 0.0018971561 0.0048376031 + 697800 0.0051163238 0.0015506097 0.0040688003 + 697900 0.0040014726 0.0018450493 0.0038145241 + 698000 0.0036444684 0.0017862762 0.003580038 + 698100 0.003456669 0.0018392049 0.0035405342 + 698200 0.0044518898 0.0017127222 0.0039038867 + 698300 0.0049224576 0.0017226284 0.0041454005 + 698400 0.0039122177 0.002005895 0.0039314397 + 698500 0.0042037796 0.0019736603 0.004042708 + 698600 0.0039839161 0.0019802182 0.0039410519 + 698700 0.0052816896 0.0021115766 0.0047111581 + 698800 0.0046944807 0.002336338 0.0046469027 + 698900 0.0063060853 0.0024049554 0.0055087317 + 699000 0.0058585456 0.0022754832 0.0051589861 + 699100 0.0045469282 0.0024992762 0.0047372174 + 699200 0.0049749888 0.0026374173 0.0050860446 + 699300 0.0062545908 0.0025193238 0.0055977552 + 699400 0.0048357232 0.0026991695 0.005079252 + 699500 0.0053216969 0.0028707531 0.0054900258 + 699600 0.0060161903 0.0027668616 0.0057279553 + 699700 0.0052737675 0.0030158514 0.0056115338 + 699800 0.0070877686 0.0026564191 0.0061449302 + 699900 0.0052166355 0.0025147301 0.0050822929 + 700000 0.0043656451 0.0022753302 0.0044240462 + 700100 0.0038248471 0.0024563771 0.004338919 + 700200 0.0039052765 0.0030551085 0.0049772367 + 700300 0.0045890661 0.0032331093 0.0054917903 + 700400 0.0039151458 0.0027732711 0.0047002569 + 700500 0.0050300543 0.0025740969 0.0050498268 + 700600 0.0039374238 0.0025378489 0.0044757997 + 700700 0.0051782203 0.002504175 0.0050528303 + 700800 0.0054187677 0.0023400363 0.005007086 + 700900 0.006505807 0.0024131263 0.0056152032 + 701000 0.0054748113 0.0027502337 0.0054448674 + 701100 0.0050406519 0.0031163654 0.0055973112 + 701200 0.0059312561 0.0031836647 0.0061029548 + 701300 0.0064894032 0.0032781757 0.0064721788 + 701400 0.0067586946 0.0031228986 0.0064494436 + 701500 0.0079498192 0.0035992447 0.0075120463 + 701600 0.0067890795 0.0032774748 0.0066189748 + 701700 0.0057666493 0.0033529933 0.006191266 + 701800 0.0061152287 0.0026072872 0.0056171263 + 701900 0.0055090796 0.0024911615 0.0052026616 + 702000 0.0047980613 0.002759375 0.0051209208 + 702100 0.0053628652 0.0025502574 0.0051897927 + 702200 0.0060940457 0.0028786485 0.0058780616 + 702300 0.0064213441 0.0036896673 0.0068501725 + 702400 0.0039651695 0.0040855501 0.0060371569 + 702500 0.0078126301 0.0036911419 0.0075364207 + 702600 0.0048401619 0.0035713261 0.0059535933 + 702700 0.0060419287 0.0025751888 0.0055489506 + 702800 0.0050751146 0.0026985018 0.0051964097 + 702900 0.0052876667 0.002683773 0.0052862965 + 703000 0.0061366809 0.0024348293 0.0054552269 + 703100 0.0065617107 0.0019630791 0.0051926711 + 703200 0.004459442 0.0021737174 0.004368599 + 703300 0.0055795098 0.0017449326 0.0044910975 + 703400 0.0054370048 0.0017591508 0.0044351767 + 703500 0.0056359461 0.0019718565 0.0047457987 + 703600 0.0040142247 0.0021038417 0.0040795929 + 703700 0.0039467871 0.0021153821 0.0040579414 + 703800 0.0048677085 0.0017092132 0.0041050384 + 703900 0.0047805898 0.0019800674 0.004333014 + 704000 0.0065745575 0.0023760323 0.0056119473 + 704100 0.0052528146 0.0027106932 0.0052960629 + 704200 0.0046279808 0.0029476253 0.0052254595 + 704300 0.0055893629 0.0027219461 0.0054729606 + 704400 0.0045085078 0.0025716229 0.0047906541 + 704500 0.0044128057 0.0026455169 0.0048174447 + 704600 0.0045177452 0.0023134205 0.0045369982 + 704700 0.0049044048 0.0024051055 0.0048189922 + 704800 0.0045436443 0.0022976942 0.0045340191 + 704900 0.0060282825 0.0027985832 0.0057656284 + 705000 0.0046240486 0.002625725 0.004901624 + 705100 0.0051970905 0.0020774812 0.0046354241 + 705200 0.0048665355 0.0022636847 0.0046589326 + 705300 0.0038669055 0.0028939318 0.0047971743 + 705400 0.003865597 0.0031912499 0.0050938484 + 705500 0.0053482865 0.0029835091 0.0056158688 + 705600 0.0067143262 0.0029365411 0.0062412485 + 705700 0.005349037 0.0032857481 0.0059184772 + 705800 0.0070342073 0.003516182 0.0069783309 + 705900 0.0045458984 0.0033659256 0.0056033599 + 706000 0.005193812 0.0031890808 0.0057454102 + 706100 0.0048946495 0.0025809619 0.0049900472 + 706200 0.0053234925 0.0024864197 0.0051065762 + 706300 0.0053787553 0.0031654582 0.0058128143 + 706400 0.0062128883 0.0033701447 0.0064280506 + 706500 0.0046118733 0.0029534369 0.0052233433 + 706600 0.0050105622 0.002029364 0.0044955001 + 706700 0.0041301378 0.0022551608 0.004287963 + 706800 0.0052515482 0.0023203385 0.0049050849 + 706900 0.0053555944 0.0021989623 0.0048349189 + 707000 0.0065960435 0.0019334874 0.0051799776 + 707100 0.0047494675 0.0020813733 0.0044190018 + 707200 0.004411809 0.0022401271 0.0044115644 + 707300 0.0055757284 0.0025192364 0.0052635402 + 707400 0.0044690587 0.0025381789 0.0047377938 + 707500 0.0042259374 0.0024787763 0.0045587299 + 707600 0.0055279177 0.0021244417 0.0048452137 + 707700 0.0059313348 0.0020475149 0.0049668437 + 707800 0.0058807941 0.0028627967 0.00575725 + 707900 0.0043843154 0.0032188183 0.0053767235 + 708000 0.0054983794 0.0028080194 0.005514253 + 708100 0.0039486999 0.0029197832 0.0048632839 + 708200 0.0062866856 0.0026086502 0.0057028782 + 708300 0.0042988486 0.0029498118 0.0050656513 + 708400 0.005467111 0.0027582341 0.0054490778 + 708500 0.0065089567 0.0022993939 0.005503021 + 708600 0.0059031768 0.0015965052 0.004501975 + 708700 0.0056030837 0.0017044547 0.0044622224 + 708800 0.0053787377 0.0019851778 0.0046325253 + 708900 0.0065322946 0.0021057384 0.0053208522 + 709000 0.0036546299 0.0031490959 0.0049478591 + 709100 0.0053508048 0.0027071513 0.0053407506 + 709200 0.0054144376 0.0019445567 0.0046094752 + 709300 0.0045926855 0.0023090503 0.0045695127 + 709400 0.0051262002 0.0022386092 0.0047616609 + 709500 0.0067580094 0.0019344051 0.0052606129 + 709600 0.0047565686 0.0020066518 0.0043477754 + 709700 0.0055281051 0.0022272428 0.004948107 + 709800 0.0050394896 0.0023210705 0.0048014443 + 709900 0.0043467543 0.0024097948 0.0045492129 + 710000 0.0046377978 0.0021771895 0.0044598556 + 710100 0.0038945639 0.0022082369 0.0041250925 + 710200 0.005114854 0.0022464631 0.0047639303 + 710300 0.0043179925 0.0023043977 0.0044296596 + 710400 0.0044721534 0.0023526122 0.0045537502 + 710500 0.0061011947 0.0021718633 0.0051747951 + 710600 0.0041095909 0.0020957155 0.0041184048 + 710700 0.0043425914 0.0025276117 0.0046649809 + 710800 0.0055329933 0.0027102522 0.0054335224 + 710900 0.0047922339 0.0025213419 0.0048800195 + 711000 0.003777331 0.0027220295 0.0045811846 + 711100 0.0046333654 0.0026482427 0.0049287272 + 711200 0.0051131809 0.0024321926 0.0049488363 + 711300 0.004969291 0.0023286381 0.004774461 + 711400 0.0055487239 0.0020670584 0.0047980709 + 711500 0.0045571881 0.0024348796 0.0046778706 + 711600 0.0057029589 0.002580169 0.0053870941 + 711700 0.0059238486 0.002158135 0.0050737793 + 711800 0.0054291269 0.0022525066 0.0049246549 + 711900 0.0055356996 0.0024208035 0.0051454057 + 712000 0.0054332053 0.002218367 0.0048925227 + 712100 0.0045596575 0.0025629241 0.0048071306 + 712200 0.0046111395 0.0024311062 0.0047006514 + 712300 0.0046815876 0.0025041039 0.0048083228 + 712400 0.0053776866 0.0024831017 0.0051299318 + 712500 0.0048059949 0.0023630946 0.0047285452 + 712600 0.0075089824 0.0024169834 0.0061128107 + 712700 0.0059636133 0.0025822403 0.0055174562 + 712800 0.0067052662 0.0029849303 0.0062851785 + 712900 0.0070633496 0.0025705535 0.0060470459 + 713000 0.0073174454 0.0019810563 0.0055826114 + 713100 0.0062012887 0.001842188 0.0048943847 + 713200 0.0052279567 0.0019254976 0.0044986325 + 713300 0.0035630502 0.0024204873 0.004174176 + 713400 0.0038866131 0.0027946661 0.0047076085 + 713500 0.005436294 0.0024269547 0.0051026307 + 713600 0.0054913525 0.0023055267 0.0050083018 + 713700 0.0047577729 0.0022621909 0.0046039073 + 713800 0.0050094978 0.0023593693 0.0048249815 + 713900 0.0052272859 0.0021960237 0.0047688285 + 714000 0.0037754536 0.002080327 0.003938558 + 714100 0.0036131911 0.0022313015 0.0040096689 + 714200 0.005572197 0.0023395547 0.0050821204 + 714300 0.0060405507 0.0023356166 0.0053087001 + 714400 0.0059057598 0.0023838361 0.0052905773 + 714500 0.004815325 0.0022134954 0.0045835382 + 714600 0.0065631757 0.0021038864 0.0053341994 + 714700 0.0056217254 0.0019521372 0.0047190802 + 714800 0.0048494398 0.002261962 0.0046487957 + 714900 0.0057168146 0.0033001182 0.0061138629 + 715000 0.0042673805 0.0040649223 0.0061652736 + 715100 0.0056094541 0.0038416147 0.0066025179 + 715200 0.0045385049 0.0032558893 0.0054896846 + 715300 0.0044344348 0.0028437694 0.0050263428 + 715400 0.0051412962 0.0021987822 0.004729264 + 715500 0.0067280066 0.0017929539 0.0051043946 + 715600 0.0049976754 0.001942729 0.0044025223 + 715700 0.0042026405 0.0020876476 0.0041561347 + 715800 0.0033701938 0.0021584986 0.0038172659 + 715900 0.0042704953 0.001858297 0.0039601814 + 716000 0.0062776028 0.0020182626 0.0051080202 + 716100 0.0043923828 0.0028390013 0.0050008772 + 716200 0.0044739218 0.0032557221 0.0054577305 + 716300 0.0059027968 0.0028455185 0.0057508013 + 716400 0.0047753669 0.0023594388 0.0047098147 + 716500 0.0039242318 0.0021649586 0.0040964164 + 716600 0.0041162833 0.0020596414 0.0040856246 + 716700 0.0051407387 0.0019324103 0.0044626176 + 716800 0.0032567257 0.0022339627 0.0038368824 + 716900 0.0047781832 0.002890841 0.005242603 + 717000 0.005362996 0.0026430192 0.0052826187 + 717100 0.0032694743 0.0025196458 0.0041288402 + 717200 0.00303582 0.0024200494 0.0039142421 + 717300 0.0061655031 0.0020208089 0.0050553925 + 717400 0.0053491122 0.0018235811 0.0044563472 + 717500 0.0059446826 0.0017592563 0.0046851548 + 717600 0.0054103892 0.0013710466 0.0040339726 + 717700 0.0034506329 0.0014272723 0.0031256307 + 717800 0.0060774516 0.0015903789 0.0045816246 + 717900 0.0063366707 0.0021087518 0.0052275819 + 718000 0.0051277503 0.0024408011 0.0049646158 + 718100 0.0061196173 0.0022053979 0.005217397 + 718200 0.0046569744 0.0023762196 0.0046683242 + 718300 0.0045601427 0.002328325 0.0045727702 + 718400 0.0038138021 0.0023071153 0.004184221 + 718500 0.0043383604 0.0024379992 0.0045732859 + 718600 0.0051590137 0.0022957248 0.0048349268 + 718700 0.0048019051 0.0023756484 0.004739086 + 718800 0.0041363971 0.0024992354 0.0045351184 + 718900 0.0051252981 0.0021998585 0.0047224662 + 719000 0.0050416755 0.0020400467 0.0045214964 + 719100 0.0047732706 0.0022350821 0.0045844263 + 719200 0.0040107702 0.002539189 0.00451324 + 719300 0.0044102958 0.0024285728 0.0045992653 + 719400 0.005394967 0.0020668545 0.0047221898 + 719500 0.0047031958 0.0021800341 0.0044948883 + 719600 0.0054826076 0.0018629606 0.0045614316 + 719700 0.0053742676 0.0016332506 0.004278398 + 719800 0.0044933134 0.0015845889 0.0037961416 + 719900 0.0048316198 0.0016699271 0.00404799 + 720000 0.0044009979 0.0022967587 0.0044628748 + 720100 0.0046157872 0.0025948562 0.004866689 + 720200 0.0045968951 0.0023475158 0.0046100501 + 720300 0.0056405285 0.0023282128 0.0051044104 + 720400 0.004081373 0.0027609139 0.0047697146 + 720500 0.0063183681 0.0024888059 0.0055986277 + 720600 0.0043897229 0.002364405 0.0045249717 + 720700 0.0068735792 0.0022074214 0.0055905111 + 720800 0.0052012383 0.0020444746 0.004604459 + 720900 0.0043798592 0.001974445 0.0041301569 + 721000 0.0065869777 0.0018998551 0.0051418831 + 721100 0.0038719779 0.0019618727 0.0038676118 + 721200 0.0037178686 0.0016285312 0.0034584196 + 721300 0.0051754265 0.0016035959 0.0041508761 + 721400 0.0050593837 0.002083898 0.0045740634 + 721500 0.0056238935 0.0020732821 0.0048412921 + 721600 0.0055898373 0.0018958154 0.0046470634 + 721700 0.0054736698 0.0021549098 0.0048489816 + 721800 0.0047690517 0.0023819473 0.0047292149 + 721900 0.0046385799 0.0023754131 0.0046584641 + 722000 0.0048266965 0.0020213168 0.0043969565 + 722100 0.0065359604 0.0016495777 0.0048664957 + 722200 0.0056110704 0.002069987 0.0048316857 + 722300 0.0046437798 0.0022194724 0.0045050828 + 722400 0.0044219512 0.0023336052 0.0045100343 + 722500 0.0057637987 0.0024396943 0.005276564 + 722600 0.0068569524 0.0022002239 0.0055751301 + 722700 0.00489327 0.0021076028 0.0045160091 + 722800 0.0064488761 0.001834134 0.0050081902 + 722900 0.0047199538 0.0021433898 0.004466492 + 723000 0.0046343299 0.0022189409 0.0044999002 + 723100 0.0040187433 0.0019295973 0.0039075726 + 723200 0.0056927685 0.0020502952 0.0048522047 + 723300 0.0053209446 0.0021308252 0.0047497276 + 723400 0.0057209692 0.0018369192 0.0046527087 + 723500 0.0060742861 0.0022030505 0.0051927382 + 723600 0.0046539939 0.002395629 0.0046862666 + 723700 0.0043948755 0.0026596484 0.0048227512 + 723800 0.0039201086 0.0024227399 0.0043521683 + 723900 0.0042463127 0.0019974934 0.0040874755 + 724000 0.0053764131 0.0020813008 0.0047275041 + 724100 0.0050054805 0.0020645239 0.0045281588 + 724200 0.0030416609 0.0019389042 0.0034359716 + 724300 0.0051475674 0.0021296144 0.0046631827 + 724400 0.0062966118 0.0023690792 0.0054681928 + 724500 0.0044374414 0.0020514846 0.0042355378 + 724600 0.0047622713 0.0017687188 0.0041126492 + 724700 0.0054120222 0.0020329107 0.0046966403 + 724800 0.0048278186 0.0021385048 0.0045146967 + 724900 0.003790716 0.0019964167 0.0038621597 + 725000 0.0047111423 0.0017825789 0.0041013443 + 725100 0.0076197824 0.0019621731 0.0057125347 + 725200 0.0061800745 0.0028202387 0.0058619941 + 725300 0.0052023023 0.0026039075 0.0051644157 + 725400 0.0053225263 0.002438601 0.0050582819 + 725500 0.0045884247 0.0025743388 0.004832704 + 725600 0.0042209056 0.0025340883 0.0046115652 + 725700 0.0035742778 0.0022203132 0.003979528 + 725800 0.0051896437 0.0017626514 0.0043169292 + 725900 0.0034237294 0.0020494556 0.0037345724 + 726000 0.0035126469 0.0021759176 0.0039047985 + 726100 0.0050979404 0.0019967913 0.0045059338 + 726200 0.005400228 0.0019442488 0.0046021735 + 726300 0.0053241518 0.0019917598 0.0046122408 + 726400 0.0047922283 0.0021125464 0.0044712212 + 726500 0.0062934292 0.0025852952 0.0056828424 + 726600 0.0068871812 0.0025894803 0.0059792648 + 726700 0.0057481382 0.0030624425 0.0058916043 + 726800 0.0051076262 0.0027320123 0.005245922 + 726900 0.0071252611 0.0024222027 0.0059291671 + 727000 0.0043081431 0.0022913017 0.0044117159 + 727100 0.0035038303 0.0027152053 0.0044397468 + 727200 0.004971815 0.0030147941 0.0054618593 + 727300 0.0050114237 0.0030855522 0.0055521123 + 727400 0.0049208531 0.003093055 0.0055150374 + 727500 0.004048348 0.0032602868 0.0052528331 + 727600 0.0043135635 0.0028272546 0.0049503367 + 727700 0.0067816701 0.0027467811 0.0060846344 + 727800 0.0050062801 0.002632651 0.0050966795 + 727900 0.0041864224 0.0022979583 0.0043584631 + 728000 0.0045874719 0.0023110379 0.0045689343 + 728100 0.0040309908 0.0023044119 0.0042884152 + 728200 0.0058208039 0.0022129918 0.0050779187 + 728300 0.0057514283 0.0020346896 0.0048654707 + 728400 0.0033553012 0.0021923086 0.0038437459 + 728500 0.0064943402 0.0016356901 0.0048321232 + 728600 0.0061545843 0.0018918073 0.0049210168 + 728700 0.0050793377 0.0021681376 0.0046681241 + 728800 0.0037438959 0.002418843 0.0042615418 + 728900 0.0057983032 0.002054287 0.0049081394 + 729000 0.0036446773 0.0020218482 0.0038157128 + 729100 0.0055742242 0.002123656 0.0048672194 + 729200 0.0046344169 0.0028789632 0.0051599652 + 729300 0.0042595225 0.0034435113 0.005539995 + 729400 0.0043330443 0.0036886568 0.0058213271 + 729500 0.0031170831 0.0033450665 0.0048792558 + 729600 0.0053967356 0.0024891989 0.0051454047 + 729700 0.0063001806 0.0025011334 0.0056020036 + 729800 0.0045251016 0.0032457683 0.0054729667 + 729900 0.0048342587 0.0029639239 0.0053432857 + 730000 0.0059392598 0.0026949735 0.005618203 + 730100 0.0056717061 0.0029569172 0.0057484601 + 730200 0.0043491807 0.0028451784 0.0049857908 + 730300 0.0055032566 0.0026930997 0.0054017338 + 730400 0.0052249806 0.0025131677 0.0050848378 + 730500 0.0054093335 0.0026603814 0.0053227877 + 730600 0.0045744435 0.0027667822 0.0050182661 + 730700 0.0052148304 0.0031969425 0.0057636169 + 730800 0.0047945084 0.003408421 0.0057682182 + 730900 0.0048729856 0.0028616339 0.0052600565 + 731000 0.0042953513 0.0029651854 0.0050793037 + 731100 0.0054031574 0.002660524 0.0053198906 + 731200 0.0050108492 0.0022365669 0.0047028442 + 731300 0.0042820532 0.002440682 0.004548255 + 731400 0.0051015884 0.0025032937 0.0050142318 + 731500 0.0045485441 0.0030044094 0.005243146 + 731600 0.0049433119 0.0032675711 0.0057006074 + 731700 0.0050136146 0.0028915148 0.0053591532 + 731800 0.0058504203 0.0020692829 0.0049487867 + 731900 0.0056545564 0.0018356314 0.0046187334 + 732000 0.0055365062 0.002465336 0.0051903351 + 732100 0.0048269584 0.002845543 0.0052213116 + 732200 0.0040214559 0.0023334848 0.0043127951 + 732300 0.0060689862 0.0020615689 0.005048648 + 732400 0.0043281202 0.002386317 0.0045165636 + 732500 0.0044936918 0.0022454272 0.0044571662 + 732600 0.0053919466 0.0018381749 0.0044920236 + 732700 0.0062948216 0.0023543685 0.005452601 + 732800 0.0058712882 0.0027419303 0.005631705 + 732900 0.0072402981 0.0028241528 0.006387737 + 733000 0.005300886 0.0030270134 0.0056360432 + 733100 0.005806499 0.0029434368 0.005801323 + 733200 0.0058314609 0.0026517042 0.0055218764 + 733300 0.0064181169 0.0026108541 0.0057697711 + 733400 0.0050350329 0.0020280231 0.0045062033 + 733500 0.0044040811 0.0019480113 0.004115645 + 733600 0.0058020214 0.0022679654 0.0051236478 + 733700 0.0056595075 0.0025638232 0.0053493621 + 733800 0.0051598293 0.002908228 0.0054478315 + 733900 0.0034276756 0.0025831737 0.0042702328 + 734000 0.0038637224 0.0026986202 0.0046002961 + 734100 0.0044866442 0.0026556864 0.0048639566 + 734200 0.0051683061 0.0025767887 0.0051205643 + 734300 0.0047391777 0.0025859796 0.0049185436 + 734400 0.0046773298 0.0025071128 0.0048092361 + 734500 0.0043405635 0.0023732969 0.004509668 + 734600 0.0055912762 0.0019958036 0.0047477599 + 734700 0.0050623016 0.0018510404 0.004342642 + 734800 0.0055904453 0.0016775835 0.0044291307 + 734900 0.0036779715 0.0021978797 0.0040081313 + 735000 0.0048906206 0.0025461169 0.0049532192 + 735100 0.005978406 0.0027309068 0.0056734035 + 735200 0.0051531358 0.002341746 0.004878055 + 735300 0.0039368425 0.0022489053 0.00418657 + 735400 0.0038454338 0.0023016979 0.0041943724 + 735500 0.0043071771 0.0021294342 0.0042493729 + 735600 0.0050312379 0.0018828246 0.004359137 + 735700 0.0043093364 0.0018967474 0.0040177489 + 735800 0.0047147624 0.0021604137 0.0044809608 + 735900 0.0030199658 0.0027764313 0.0042628207 + 736000 0.0050935813 0.0023405077 0.0048475047 + 736100 0.0045580387 0.0021779977 0.0044214074 + 736200 0.0049650743 0.0019677906 0.0044115381 + 736300 0.004870898 0.0018643179 0.004261713 + 736400 0.0046667319 0.0020463287 0.0043432358 + 736500 0.0047715393 0.0017558702 0.0041043622 + 736600 0.0045041016 0.0017048531 0.0039217156 + 736700 0.0043108506 0.0020032578 0.0041250046 + 736800 0.0045604163 0.0020349451 0.004279525 + 736900 0.00535843 0.0018928249 0.0045301772 + 737000 0.0056279625 0.0017121702 0.004482183 + 737100 0.0055642409 0.0020663802 0.0048050301 + 737200 0.0042567065 0.0025666106 0.0046617083 + 737300 0.0042753296 0.0025465534 0.0046508172 + 737400 0.0049357129 0.002079254 0.0045085502 + 737500 0.0054578617 0.0021741677 0.004860459 + 737600 0.0043933223 0.0028710213 0.0050333596 + 737700 0.0059859883 0.0031130226 0.0060592512 + 737800 0.005357095 0.0026852972 0.0053219924 + 737900 0.0044232547 0.0025071792 0.0046842499 + 738000 0.0043737931 0.0027776339 0.0049303601 + 738100 0.0064713883 0.0025523608 0.0057374972 + 738200 0.005119339 0.002104403 0.0046240777 + 738300 0.0058725927 0.0022482921 0.0051387088 + 738400 0.0048219806 0.0023421527 0.0047154713 + 738500 0.0050991435 0.001966196 0.0044759306 + 738600 0.0044333489 0.0018307801 0.0040128189 + 738700 0.0048206686 0.0022797802 0.004652453 + 738800 0.0057341053 0.0026292127 0.0054514677 + 738900 0.005682821 0.0020034377 0.0048004512 + 739000 0.0055442433 0.0016583726 0.0043871798 + 739100 0.0058367103 0.0018728019 0.0047455578 + 739200 0.0041532237 0.0022743746 0.0043185393 + 739300 0.0061060411 0.0024561268 0.0054614439 + 739400 0.0033542462 0.0025406408 0.0041915589 + 739500 0.0051448578 0.0024508977 0.0049831324 + 739600 0.0042500232 0.002498221 0.0045900293 + 739700 0.0054344356 0.0021729132 0.0048476745 + 739800 0.005424145 0.0020177152 0.0046874116 + 739900 0.0061891945 0.0020361312 0.0050823753 + 740000 0.0043174918 0.0023125631 0.0044375786 + 740100 0.0051585474 0.0026053477 0.0051443203 + 740200 0.0052789958 0.0025394875 0.0051377432 + 740300 0.0054712123 0.0025613241 0.0052541865 + 740400 0.0054906009 0.0028328086 0.0055352137 + 740500 0.0057915209 0.0033959999 0.0062465141 + 740600 0.0048085848 0.0033966339 0.0057633592 + 740700 0.0067239593 0.0027255705 0.0060350193 + 740800 0.0068087706 0.0021009331 0.0054521249 + 740900 0.0051377925 0.0020202842 0.0045490414 + 741000 0.0054481905 0.0022881454 0.0049696766 + 741100 0.0058888098 0.0025542973 0.0054526959 + 741200 0.006035978 0.0024297582 0.0054005911 + 741300 0.0056965947 0.0026673252 0.0054711179 + 741400 0.0049146757 0.0030784935 0.0054974355 + 741500 0.0049512111 0.0030985624 0.0055354866 + 741600 0.0059101221 0.0028383478 0.005747236 + 741700 0.0052241035 0.0027529354 0.0053241738 + 741800 0.0074419477 0.0025358889 0.0061987226 + 741900 0.0040063141 0.0026553044 0.0046271621 + 742000 0.0035948293 0.0026051272 0.0043744573 + 742100 0.0056012483 0.0023199726 0.005076837 + 742200 0.0052170834 0.0024293687 0.0049971519 + 742300 0.004432285 0.0027302752 0.0049117905 + 742400 0.005183309 0.0026959605 0.0052471205 + 742500 0.0046727283 0.002434232 0.0047340905 + 742600 0.0072137158 0.0025553091 0.0061058099 + 742700 0.0035173514 0.0027809368 0.0045121332 + 742800 0.008059325 0.0022618696 0.0062285687 + 742900 0.0062201972 0.0019453589 0.0050068622 + 743000 0.0056167006 0.0020745358 0.0048390056 + 743100 0.0039879594 0.0024223906 0.0043852143 + 743200 0.0035775616 0.0024025592 0.0041633903 + 743300 0.0044830022 0.0023662205 0.0045726982 + 743400 0.0048368773 0.0024054851 0.0047861356 + 743500 0.0044356506 0.0023736002 0.004556772 + 743600 0.0053004465 0.002140258 0.0047490716 + 743700 0.0064087954 0.0024067588 0.0055610878 + 743800 0.0055876259 0.0030821595 0.0058323191 + 743900 0.0049731911 0.0025850852 0.0050328277 + 744000 0.0049793238 0.0021190323 0.0045697933 + 744100 0.0049167387 0.0021646866 0.0045846439 + 744200 0.0051236254 0.0018829068 0.0044046912 + 744300 0.0039245386 0.0022456602 0.004177269 + 744400 0.0049974654 0.0025969943 0.0050566843 + 744500 0.0034847202 0.0026357934 0.0043509291 + 744600 0.0052624414 0.0019537824 0.0045438903 + 744700 0.0053786115 0.0019307552 0.0045780406 + 744800 0.0047300017 0.0023005865 0.0046286342 + 744900 0.0041245936 0.0023117237 0.0043417972 + 745000 0.0057282403 0.0017873801 0.0046067483 + 745100 0.0050972652 0.0017212006 0.0042300108 + 745200 0.0038212104 0.0023404583 0.0042212103 + 745300 0.0049302563 0.0024605839 0.0048871944 + 745400 0.0065370839 0.0025476501 0.0057651211 + 745500 0.0056277783 0.0025405949 0.005310517 + 745600 0.0078289395 0.002142735 0.0059960411 + 745700 0.0061431655 0.0021653679 0.0051889572 + 745800 0.0057991225 0.0024787764 0.005333032 + 745900 0.0069651012 0.0028018803 0.0062300161 + 746000 0.0079754912 0.0021183436 0.0060437807 + 746100 0.0051304897 0.0020079666 0.0045331295 + 746200 0.0053757426 0.0019411738 0.0045870472 + 746300 0.0032664429 0.0022089573 0.0038166597 + 746400 0.0036527735 0.0023651091 0.0041629586 + 746500 0.0053152746 0.0021534059 0.0047695176 + 746600 0.0041534754 0.0022998665 0.0043441552 + 746700 0.0040065159 0.0026149481 0.0045869051 + 746800 0.0054141531 0.0024193093 0.0050840878 + 746900 0.0053495874 0.0022732559 0.0049062559 + 747000 0.0051896532 0.0024684212 0.0050227036 + 747100 0.0038318199 0.0026711753 0.0045571492 + 747200 0.0046102827 0.0025753776 0.0048445011 + 747300 0.0049852879 0.0026972451 0.0051509415 + 747400 0.0054558913 0.0028715739 0.0055568954 + 747500 0.0035844854 0.0025251745 0.0042894134 + 747600 0.0044205374 0.0021099855 0.0042857188 + 747700 0.00485057 0.0020085397 0.0043959296 + 747800 0.0036916064 0.0022435908 0.0040605533 + 747900 0.0049314137 0.0021907709 0.0046179511 + 748000 0.005719573 0.0020352825 0.0048503848 + 748100 0.0061416186 0.0022724288 0.0052952567 + 748200 0.0034921703 0.0028009301 0.0045197327 + 748300 0.0058159445 0.0022358013 0.0050983365 + 748400 0.0049961167 0.0025341405 0.0049931667 + 748500 0.0052746275 0.0026099368 0.0052060425 + 748600 0.0050180595 0.0026405261 0.0051103523 + 748700 0.0062016583 0.0026385235 0.0056909022 + 748800 0.0052601716 0.003079793 0.0056687837 + 748900 0.005853724 0.0031613433 0.0060424731 + 749000 0.0062165121 0.0024266276 0.0054863172 + 749100 0.0076571985 0.0021034499 0.0058722273 + 749200 0.0062859393 0.002735961 0.0058298217 + 749300 0.0051662172 0.0033661615 0.0059089091 + 749400 0.0044989474 0.003103798 0.0053181237 + 749500 0.004798559 0.0029880876 0.0053498784 + 749600 0.005569171 0.0026183755 0.0053594519 + 749700 0.0056433523 0.0025349102 0.0053124976 + 749800 0.0047298486 0.0029280485 0.0052560209 + 749900 0.0053621285 0.0027955367 0.0054347094 + 750000 0.0047814272 0.002737316 0.0050906747 + 750100 0.0045115387 0.0026256934 0.0048462163 + 750200 0.0042634748 0.0023735172 0.0044719462 + 750300 0.0045286176 0.0025137241 0.004742653 + 750400 0.0056692348 0.0024638555 0.0052541821 + 750500 0.0036316193 0.0029661957 0.0047536333 + 750600 0.0056676641 0.0027882462 0.0055777996 + 750700 0.0049060896 0.0025740246 0.0049887406 + 750800 0.0047350967 0.0023335966 0.004664152 + 750900 0.0043063069 0.0027179673 0.0048374778 + 751000 0.0062313908 0.0020905522 0.0051575649 + 751100 0.0058157046 0.0026164246 0.0054788418 + 751200 0.0050407483 0.0025733076 0.0050543009 + 751300 0.0058316777 0.0020142477 0.0048845265 + 751400 0.0040703245 0.0018952526 0.0038986154 + 751500 0.0051713511 0.0019109119 0.0044561863 + 751600 0.0049521989 0.0019625409 0.0043999513 + 751700 0.0049054184 0.0024154813 0.0048298669 + 751800 0.0056621992 0.0026889602 0.0054758239 + 751900 0.005291383 0.0026336329 0.0052379854 + 752000 0.0043776385 0.0024230635 0.0045776824 + 752100 0.0034775952 0.0025240478 0.0042356766 + 752200 0.0058619384 0.0025123738 0.0053975466 + 752300 0.0044869209 0.0027601138 0.0049685202 + 752400 0.004020747 0.0024646445 0.0044436059 + 752500 0.0039535061 0.0021655355 0.0041114018 + 752600 0.0052333954 0.001682192 0.0042580038 + 752700 0.0039968518 0.0018483139 0.0038155144 + 752800 0.0045548923 0.0020836178 0.0043254789 + 752900 0.0042650734 0.0016833199 0.0037825357 + 753000 0.0047808174 0.0016967796 0.0040498381 + 753100 0.0045745612 0.0019397316 0.0041912734 + 753200 0.0056203371 0.0018492651 0.0046155248 + 753300 0.0050010431 0.0019703543 0.0044318052 + 753400 0.0068736011 0.0023634706 0.0057465712 + 753500 0.0039157879 0.0031806869 0.0051079887 + 753600 0.0048615179 0.003137976 0.0055307543 + 753700 0.0063350762 0.0025190034 0.0056370487 + 753800 0.0060476745 0.0023617181 0.0053383078 + 753900 0.0043087866 0.0023951336 0.0045158645 + 754000 0.0048586901 0.0019528375 0.0043442241 + 754100 0.0058651522 0.0016054624 0.004492217 + 754200 0.0043544407 0.0019387502 0.0040819515 + 754300 0.0042534688 0.0021986749 0.0042921791 + 754400 0.0062550204 0.0025323084 0.0056109512 + 754500 0.0051378396 0.0026370458 0.0051658262 + 754600 0.00394405 0.0032456185 0.0051868306 + 754700 0.005010206 0.0028467424 0.0053127031 + 754800 0.0048608538 0.0026053491 0.0049978006 + 754900 0.0058425418 0.0024078918 0.0052835179 + 755000 0.0060563467 0.0024548609 0.0054357191 + 755100 0.0059836758 0.0021114443 0.0050565348 + 755200 0.0050013983 0.0022752098 0.0047368355 + 755300 0.0032615824 0.0024061907 0.0040115007 + 755400 0.0064150999 0.002246985 0.0054044169 + 755500 0.0055112882 0.002460885 0.0051734722 + 755600 0.0052222051 0.0024289879 0.0049992919 + 755700 0.0052218758 0.0024813171 0.0050514591 + 755800 0.006114554 0.0024650675 0.0054745746 + 755900 0.0054320736 0.0026670715 0.0053406702 + 756000 0.0053319724 0.0024794791 0.0051038093 + 756100 0.0048143464 0.0024638363 0.0048333974 + 756200 0.0055361104 0.002505422 0.0052302263 + 756300 0.0057105042 0.0030322741 0.0058429129 + 756400 0.0034691314 0.0033961299 0.005103593 + 756500 0.0057434107 0.0027792298 0.0056060648 + 756600 0.0047914668 0.0026447284 0.0050030285 + 756700 0.0046594967 0.0034020138 0.0056953598 + 756800 0.0053054054 0.0031268215 0.0057380758 + 756900 0.0050841106 0.0023417634 0.004844099 + 757000 0.0063364823 0.0020951387 0.005213876 + 757100 0.0048196269 0.0019269659 0.004299126 + 757200 0.0062587926 0.0022842501 0.0053647495 + 757300 0.0056206295 0.0027809256 0.0055473292 + 757400 0.0061145063 0.0024919758 0.0055014594 + 757500 0.0049652892 0.002206854 0.0046507073 + 757600 0.0051136781 0.0018515575 0.004368446 + 757700 0.0052543809 0.0019105107 0.0044966513 + 757800 0.0036294043 0.0022245789 0.0040109263 + 757900 0.0039912572 0.0020383654 0.0040028122 + 758000 0.0043439363 0.0018703499 0.004008381 + 758100 0.0060640938 0.0020722687 0.0050569399 + 758200 0.0044688256 0.0023686952 0.0045681953 + 758300 0.0052102099 0.0027399926 0.0053043927 + 758400 0.0045943514 0.0028186671 0.0050799494 + 758500 0.0053338356 0.0025993864 0.0052246336 + 758600 0.0052645778 0.0023392636 0.004930423 + 758700 0.0038525558 0.0026449583 0.0045411381 + 758800 0.0037095431 0.002197116 0.0040229067 + 758900 0.0036907583 0.0021893151 0.0040058602 + 759000 0.0058859333 0.0022531865 0.0051501693 + 759100 0.005295062 0.0023043466 0.0049105099 + 759200 0.005104182 0.0021126566 0.0046248711 + 759300 0.0051899574 0.0025045635 0.0050589957 + 759400 0.0054487332 0.0021820928 0.0048638912 + 759500 0.0047455734 0.001787527 0.0041232389 + 759600 0.0044024984 0.0020522199 0.0042190746 + 759700 0.0039504517 0.0024014315 0.0043457944 + 759800 0.0050707058 0.0022847825 0.0047805205 + 759900 0.004735368 0.0019863397 0.0043170287 + 760000 0.0055820948 0.0020319172 0.0047793545 + 760100 0.0051653585 0.0025402744 0.0050825993 + 760200 0.0060967935 0.0023310098 0.0053317753 + 760300 0.0063768843 0.0019767753 0.005115398 + 760400 0.0053995693 0.0023735712 0.0050311717 + 760500 0.0065081311 0.0026416632 0.005844884 + 760600 0.0064264647 0.0029777989 0.0061408245 + 760700 0.0045365752 0.0028659822 0.0050988278 + 760800 0.003332127 0.002676562 0.0043165933 + 760900 0.0049914289 0.0023518271 0.004808546 + 761000 0.0072336956 0.002327499 0.0058878335 + 761100 0.0065748081 0.0027127844 0.0059488228 + 761200 0.0060559915 0.0029002183 0.0058809016 + 761300 0.0056729967 0.0024674665 0.0052596445 + 761400 0.0055529551 0.002141332 0.0048744271 + 761500 0.0050047078 0.002133781 0.0045970356 + 761600 0.0039916897 0.002162554 0.0041272138 + 761700 0.0058271515 0.0020632058 0.0049312569 + 761800 0.0042683088 0.0024213818 0.0045221901 + 761900 0.0047985638 0.0021766999 0.0045384931 + 762000 0.0062651128 0.0019364312 0.0050200414 + 762100 0.0055235339 0.0020838229 0.0048024373 + 762200 0.0042158333 0.0028139894 0.0048889698 + 762300 0.0044478736 0.0028097732 0.004998961 + 762400 0.0039739399 0.0022994461 0.0042553696 + 762500 0.0048120456 0.0017444468 0.0041128755 + 762600 0.0059390801 0.0020323701 0.0049555111 + 762700 0.0044992462 0.0024930479 0.0047075207 + 762800 0.0038452853 0.0026129176 0.004505519 + 762900 0.0039066441 0.0026089578 0.0045317592 + 763000 0.0033345723 0.0027622918 0.0044035266 + 763100 0.0048157479 0.0026280419 0.0049982929 + 763200 0.0048598637 0.0026240558 0.00501602 + 763300 0.0050436839 0.0026234043 0.0051058425 + 763400 0.0038756331 0.0026958028 0.004603341 + 763500 0.0059289088 0.0024552231 0.0053733579 + 763600 0.0052284732 0.002811908 0.0053852971 + 763700 0.0055330587 0.003274904 0.0059982063 + 763800 0.0060076317 0.0032582717 0.0062151529 + 763900 0.0038501729 0.0030276593 0.0049226663 + 764000 0.0043871332 0.0025676327 0.0047269248 + 764100 0.0076227508 0.0023979944 0.006149817 + 764200 0.0050682044 0.0023724815 0.0048669884 + 764300 0.0043784839 0.0022766926 0.0044317276 + 764400 0.0043873095 0.0022449605 0.0044043394 + 764500 0.005315215 0.0020012792 0.0046173616 + 764600 0.0049733579 0.0020683703 0.0045161949 + 764700 0.0039314839 0.0021614655 0.0040964927 + 764800 0.003993667 0.0024026635 0.0043682964 + 764900 0.0044241521 0.0025711868 0.0047486992 + 765000 0.0046273827 0.0032019815 0.0054795214 + 765100 0.0049916148 0.002737624 0.0051944344 + 765200 0.0062204629 0.0026077145 0.0056693486 + 765300 0.0048271291 0.0024289455 0.0048047981 + 765400 0.0046716859 0.0023253422 0.0046246876 + 765500 0.0042397209 0.0026811739 0.0047679115 + 765600 0.0060421002 0.0027055727 0.0056794189 + 765700 0.0048138334 0.0027440907 0.0051133993 + 765800 0.0065963991 0.0022859406 0.0055326058 + 765900 0.0062031805 0.0027792521 0.00583238 + 766000 0.0055473522 0.0027023316 0.005432669 + 766100 0.0058429861 0.0025317798 0.0054076245 + 766200 0.0049090397 0.0023518712 0.0047680392 + 766300 0.0057174021 0.0025726663 0.0053867002 + 766400 0.005629205 0.0024151496 0.0051857739 + 766500 0.0040836388 0.0024054743 0.0044153902 + 766600 0.005482046 0.0024045756 0.0051027701 + 766700 0.0058142484 0.0025493402 0.0054110406 + 766800 0.0053665291 0.002208853 0.0048501916 + 766900 0.0050070973 0.0020269846 0.0044914153 + 767000 0.0047397166 0.0018797855 0.0042126147 + 767100 0.0046293083 0.0020523048 0.0043307925 + 767200 0.0060042706 0.0025108996 0.0054661266 + 767300 0.0050154283 0.0024544538 0.004922985 + 767400 0.0044375875 0.0023681538 0.0045522789 + 767500 0.0052030538 0.0023383775 0.0048992556 + 767600 0.0047573317 0.0025381811 0.0048796803 + 767700 0.005152448 0.0024578097 0.0049937802 + 767800 0.0043095077 0.0024065976 0.0045276834 + 767900 0.0042822422 0.0023716626 0.0044793287 + 768000 0.0044621689 0.0022150359 0.0044112597 + 768100 0.0050672685 0.0023475872 0.0048416334 + 768200 0.0051289214 0.0023446091 0.0048690001 + 768300 0.0053161536 0.002121147 0.0047376913 + 768400 0.0042290818 0.0025597476 0.0046412487 + 768500 0.0048607904 0.0026112919 0.0050037122 + 768600 0.0052147421 0.0028593152 0.005425946 + 768700 0.0047442289 0.0035166206 0.0058516708 + 768800 0.0055487604 0.0033900581 0.0061210886 + 768900 0.00573745 0.0027431647 0.0055670659 + 769000 0.0041616147 0.0028770425 0.0049253373 + 769100 0.0061700821 0.003226473 0.0062633103 + 769200 0.0044752015 0.0032798427 0.0054824809 + 769300 0.0053666671 0.0030895562 0.0057309626 + 769400 0.0056023884 0.0022726676 0.0050300931 + 769500 0.0071285806 0.0019874931 0.0054960914 + 769600 0.0054672449 0.0022031037 0.0048940133 + 769700 0.0038263919 0.0032436106 0.0051269128 + 769800 0.005041845 0.0033667251 0.0058482582 + 769900 0.0055291178 0.0025141957 0.0052355584 + 770000 0.0070725226 0.0019445541 0.0054255613 + 770100 0.004558823 0.001975975 0.0042197707 + 770200 0.0059836012 0.0017639695 0.0047090232 + 770300 0.005793066 0.0021543867 0.0050056614 + 770400 0.0054308914 0.0025249752 0.0051979921 + 770500 0.0060921971 0.0024846156 0.0054831189 + 770600 0.0060799265 0.0024033767 0.0053958405 + 770700 0.0055749707 0.0023116933 0.0050556242 + 770800 0.0047797009 0.0021853795 0.0045378885 + 770900 0.0050924076 0.0016771495 0.0041835689 + 771000 0.005557092 0.0018612545 0.0045963857 + 771100 0.0049572328 0.0020001769 0.004440065 + 771200 0.0063685021 0.0017397864 0.0048742835 + 771300 0.0054974556 0.0017494668 0.0044552458 + 771400 0.0053677031 0.0019536369 0.0045955533 + 771500 0.0050200806 0.0018165396 0.0042873605 + 771600 0.0062513544 0.0020398877 0.0051167261 + 771700 0.0062473819 0.0020595708 0.0051344541 + 771800 0.0048147962 0.0023673582 0.0047371407 + 771900 0.0052968686 0.0024888995 0.005095952 + 772000 0.0053363505 0.0028277463 0.0054542313 + 772100 0.0057577622 0.0026211062 0.0054550048 + 772200 0.0073484072 0.0020615063 0.0056783005 + 772300 0.002975839 0.0023146615 0.0037793322 + 772400 0.0043204091 0.0022832278 0.0044096791 + 772500 0.0048559531 0.0023750704 0.0047651099 + 772600 0.0058114234 0.0026981403 0.0055584502 + 772700 0.0059717182 0.0026789983 0.0056182033 + 772800 0.0057452682 0.0027494978 0.005577247 + 772900 0.0059714966 0.002392934 0.00533203 + 773000 0.0053569769 0.0027807761 0.0054174132 + 773100 0.0041032389 0.0031769908 0.0051965537 + 773200 0.0050144398 0.0028010678 0.0052691124 + 773300 0.0045182463 0.0028195835 0.0050434079 + 773400 0.0069073227 0.0023782412 0.0057779391 + 773500 0.0082597995 0.0020566188 0.0061219889 + 773600 0.005147002 0.0024416284 0.0049749184 + 773700 0.0042807528 0.002565868 0.0046728011 + 773800 0.00457699 0.002403341 0.0046560783 + 773900 0.0062048751 0.0024270339 0.0054809958 + 774000 0.0056010928 0.0020881458 0.0048449337 + 774100 0.0044762802 0.0021822966 0.0043854658 + 774200 0.0036800125 0.0024923543 0.0043036104 + 774300 0.0042170452 0.0023471803 0.0044227572 + 774400 0.0046551411 0.0026871489 0.0049783511 + 774500 0.0044597262 0.0024406649 0.0046356863 + 774600 0.0073621053 0.0024495009 0.0060730371 + 774700 0.0051899996 0.002945165 0.0054996179 + 774800 0.0049350352 0.0033925016 0.0058214643 + 774900 0.0054288445 0.0026769383 0.0053489477 + 775000 0.0040132507 0.0024423643 0.0044176361 + 775100 0.0065604102 0.0023241885 0.0055531404 + 775200 0.004759022 0.0024775733 0.0048199045 + 775300 0.0041721974 0.0029305047 0.0049840081 + 775400 0.004920214 0.0022956908 0.0047173586 + 775500 0.0058795278 0.0017957661 0.0046895962 + 775600 0.005796192 0.0018490861 0.0047018994 + 775700 0.0040082245 0.0025694174 0.0045422154 + 775800 0.0043240482 0.0026851831 0.0048134256 + 775900 0.0054032696 0.0020722437 0.0047316655 + 776000 0.0050791041 0.0018415783 0.0043414498 + 776100 0.003712392 0.0020749131 0.003902106 + 776200 0.0050031104 0.0018389152 0.0043013836 + 776300 0.0052068302 0.0019219169 0.0044846536 + 776400 0.0049490613 0.0018079807 0.0042438468 + 776500 0.0074777663 0.0015148391 0.0051953023 + 776600 0.0042342345 0.0021527084 0.0042367456 + 776700 0.0048625562 0.0023111446 0.004704434 + 776800 0.0040961535 0.0025732416 0.0045893172 + 776900 0.0044756072 0.0026365796 0.0048394175 + 777000 0.0075152789 0.0024206838 0.0061196101 + 777100 0.005516003 0.0025210172 0.005235925 + 777200 0.0039787127 0.0029551346 0.0049134073 + 777300 0.0045254023 0.0027871241 0.0050144705 + 777400 0.0040747213 0.0025684238 0.0045739507 + 777500 0.0039554892 0.0023369173 0.0042837596 + 777600 0.0053270046 0.0020339961 0.0046558812 + 777700 0.0047351195 0.0023738108 0.0047043774 + 777800 0.0048394304 0.0024999231 0.0048818303 + 777900 0.0033198296 0.0027432777 0.0043772563 + 778000 0.0046165114 0.0029775303 0.0052497195 + 778100 0.0050645882 0.0029087409 0.0054014679 + 778200 0.0052084141 0.0026043365 0.0051678528 + 778300 0.0053292339 0.00256176 0.0051847423 + 778400 0.0059918921 0.002225962 0.0051750964 + 778500 0.0067156137 0.0019427497 0.0052480909 + 778600 0.0069734406 0.0018350799 0.0052673201 + 778700 0.005302429 0.0018841217 0.004493911 + 778800 0.0055933066 0.0016819542 0.0044349097 + 778900 0.004203678 0.0016117157 0.0036807135 + 779000 0.004488953 0.0019639954 0.004173402 + 779100 0.0056610631 0.0023156645 0.005101969 + 779200 0.0040946405 0.0024329528 0.0044482837 + 779300 0.0052846985 0.0020834698 0.0046845323 + 779400 0.0036760387 0.0019529647 0.003762265 + 779500 0.0055183491 0.0022353649 0.0049514274 + 779600 0.0050240303 0.0024130809 0.0048858459 + 779700 0.00563063 0.002610883 0.0053822087 + 779800 0.0059641117 0.0029555541 0.0058910154 + 779900 0.0057599065 0.0030016898 0.0058366438 + 780000 0.0062650131 0.0033034901 0.0063870512 + 780100 0.0055228764 0.0031071226 0.0058254134 + 780200 0.0062994446 0.003268714 0.0063692219 + 780300 0.0047601264 0.0031671408 0.0055100155 + 780400 0.0055441548 0.0025255896 0.0052543533 + 780500 0.0049467338 0.0028893302 0.0053240507 + 780600 0.0034495926 0.003200194 0.0048980404 + 780700 0.0055558855 0.0031304973 0.0058650347 + 780800 0.0071873858 0.0028675799 0.0064051214 + 780900 0.0052971745 0.0031174567 0.0057246598 + 781000 0.005232574 0.0031133494 0.0056887569 + 781100 0.0055835546 0.0028390865 0.0055872423 + 781200 0.0053366164 0.0027047133 0.0053313291 + 781300 0.0063079107 0.0025731785 0.0056778534 + 781400 0.004272414 0.0020582954 0.0041611241 + 781500 0.0050782059 0.0018694264 0.0043688558 + 781600 0.0049321778 0.0022682076 0.0046957638 + 781700 0.0040452874 0.0026057338 0.0045967737 + 781800 0.0042787784 0.0022918146 0.0043977759 + 781900 0.0055658209 0.0015948091 0.0043342366 + 782000 0.0049635319 0.0017448473 0.0041878356 + 782100 0.0039689732 0.0024424109 0.0043958899 + 782200 0.0055774124 0.0023117967 0.0050569294 + 782300 0.0044049023 0.0026385013 0.0048065392 + 782400 0.0046955026 0.0025664482 0.0048775159 + 782500 0.005206874 0.0030234487 0.005586207 + 782600 0.0054369101 0.0030450337 0.0057210129 + 782700 0.0058401265 0.0027044715 0.0055789088 + 782800 0.005014852 0.0024818598 0.0049501072 + 782900 0.0039286022 0.0024247586 0.0043583675 + 783000 0.0052167959 0.0024465143 0.005014156 + 783100 0.0072079775 0.0022555094 0.0058031858 + 783200 0.0047624473 0.0031643028 0.0055083198 + 783300 0.0048995074 0.0034948063 0.0059062826 + 783400 0.0046136716 0.0037939777 0.0060647692 + 783500 0.0065051727 0.0034428863 0.006644651 + 783600 0.0063888688 0.0031794108 0.0063239322 + 783700 0.0059546255 0.0033902113 0.0063210035 + 783800 0.003981038 0.004103358 0.0060627751 + 783900 0.0050363632 0.0036396981 0.0061185332 + 784000 0.0076586393 0.0029908699 0.0067603564 + 784100 0.0055753142 0.0030340918 0.0057781917 + 784200 0.0069190314 0.0029226973 0.0063281581 + 784300 0.0038070664 0.0024916788 0.0043654693 + 784400 0.0066383628 0.001980977 0.0052482961 + 784500 0.0046661378 0.0022706602 0.0045672749 + 784600 0.0048888651 0.0021972716 0.0046035099 + 784700 0.0043550302 0.0024462272 0.0045897187 + 784800 0.0045183354 0.0027124689 0.0049363371 + 784900 0.00504639 0.0023728589 0.004856629 + 785000 0.0042504652 0.0024410086 0.0045330344 + 785100 0.0054230573 0.002188386 0.004857547 + 785200 0.0057269141 0.0026201598 0.0054388753 + 785300 0.0042627752 0.0030103451 0.0051084298 + 785400 0.0038880708 0.002907284 0.0048209438 + 785500 0.0047396732 0.0026660689 0.0049988768 + 785600 0.0063119048 0.0024097134 0.0055163541 + 785700 0.0063059906 0.0027964404 0.0059001702 + 785800 0.0039141781 0.0032885487 0.0052150583 + 785900 0.0057452056 0.0026362407 0.0054639591 + 786000 0.0050209909 0.0024243071 0.0048955761 + 786100 0.0074743471 0.0022596872 0.0059384674 + 786200 0.0048594268 0.0027905696 0.0051823187 + 786300 0.005558456 0.0034110404 0.006146843 + 786400 0.0051930229 0.0028765149 0.0054324558 + 786500 0.0063318406 0.0025370832 0.0056535359 + 786600 0.0047517847 0.0031060132 0.0054447822 + 786700 0.0043178485 0.0030523422 0.0051775333 + 786800 0.0050807331 0.0029497895 0.0054504628 + 786900 0.0051932324 0.0025771339 0.005133178 + 787000 0.0075099697 0.002408286 0.0061045992 + 787100 0.0051749965 0.0029180851 0.0054651536 + 787200 0.0046956748 0.0031920242 0.0055031766 + 787300 0.0056945396 0.0028486358 0.005651417 + 787400 0.0051738955 0.0022781349 0.0048246616 + 787500 0.0061350007 0.0022389242 0.0052584949 + 787600 0.0052392248 0.0022610752 0.0048397562 + 787700 0.0058328586 0.0024856656 0.0053565257 + 787800 0.0039304377 0.0023579027 0.004292415 + 787900 0.0043956102 0.0023691894 0.0045326538 + 788000 0.0057275376 0.0023895609 0.0052085832 + 788100 0.0078830504 0.0024566936 0.0063366325 + 788200 0.0066063144 0.0030933481 0.0063448935 + 788300 0.0046591439 0.0034039288 0.0056971012 + 788400 0.0060329283 0.0030307123 0.0060000441 + 788500 0.0055952219 0.0027958962 0.0055497944 + 788600 0.0051344836 0.0021654916 0.0046926203 + 788700 0.0056725362 0.001929883 0.0047218344 + 788800 0.0038733196 0.0026761222 0.0045825218 + 788900 0.0053701776 0.0031225403 0.0057656746 + 789000 0.0049600165 0.0034779797 0.0059192379 + 789100 0.0051412283 0.0028203029 0.0053507511 + 789200 0.0049923965 0.0024412984 0.0048984935 + 789300 0.0041070026 0.0026724464 0.0046938617 + 789400 0.0060319495 0.0023889766 0.0053578267 + 789500 0.0068776647 0.0026133459 0.0059984465 + 789600 0.005097349 0.0025823783 0.0050912297 + 789700 0.0044953441 0.0022414706 0.0044540227 + 789800 0.0045150978 0.0023070835 0.0045293582 + 789900 0.0058959864 0.0022280303 0.0051299611 + 790000 0.0046694084 0.0018942873 0.0041925117 + 790100 0.0045552816 0.0019587076 0.0042007603 + 790200 0.0049424973 0.001908115 0.0043407504 + 790300 0.0052614537 0.0018640156 0.0044536373 + 790400 0.0075504859 0.0022933042 0.006009559 + 790500 0.004808548 0.0026137646 0.0049804718 + 790600 0.0063962849 0.0018414099 0.0049895814 + 790700 0.0048067395 0.0017041349 0.004069952 + 790800 0.0062313664 0.0019806043 0.005047605 + 790900 0.0036257424 0.0021211523 0.0039056974 + 791000 0.0058206821 0.0019762484 0.0048411153 + 791100 0.0042831491 0.0019485765 0.0040566889 + 791200 0.0046565941 0.0020206007 0.0043125181 + 791300 0.0060108654 0.0017238755 0.0046823483 + 791400 0.0059959569 0.0018649616 0.0048160966 + 791500 0.0046180379 0.0019989843 0.0042719248 + 791600 0.0047133935 0.002089358 0.0044092314 + 791700 0.0036772708 0.0023762114 0.0041861181 + 791800 0.002887288 0.0025457891 0.0039668761 + 791900 0.0059905242 0.0020872762 0.0050357373 + 792000 0.0050223864 0.0021270534 0.0045990092 + 792100 0.0036972524 0.0020106586 0.0038304 + 792200 0.0052037036 0.0012554535 0.0038166513 + 792300 0.0041601446 0.0015070173 0.0035545885 + 792400 0.0033984236 0.0021023334 0.003774995 + 792500 0.0045788178 0.0018724928 0.0041261296 + 792600 0.0062773072 0.0017197006 0.0048093127 + 792700 0.0065576029 0.0021682807 0.0053958508 + 792800 0.0036962742 0.002305865 0.004125125 + 792900 0.0049206412 0.0025385391 0.0049604172 + 793000 0.005425183 0.0026990851 0.0053692924 + 793100 0.0052441961 0.0024180741 0.0049992019 + 793200 0.0059867232 0.0021662683 0.0051128586 + 793300 0.005243021 0.0024385778 0.0050191272 + 793400 0.0054777778 0.002528862 0.0052249558 + 793500 0.0052732979 0.002767387 0.0053628383 + 793600 0.0054084433 0.0029939388 0.005655907 + 793700 0.0033607073 0.0027016978 0.0043557959 + 793800 0.006092199 0.0025279025 0.0055264067 + 793900 0.0052426301 0.0028191001 0.0053994571 + 794000 0.0032016821 0.0026345757 0.0042104036 + 794100 0.0069855605 0.0027516789 0.0061898844 + 794200 0.0044505305 0.0031718852 0.0053623807 + 794300 0.0039255971 0.0031462577 0.0050783875 + 794400 0.0072739024 0.0024652809 0.0060454048 + 794500 0.0059843804 0.0023263538 0.005271791 + 794600 0.0059572874 0.00265106 0.0055831624 + 794700 0.0056308405 0.0026385093 0.0054099386 + 794800 0.0055757483 0.0025204431 0.0052647566 + 794900 0.0048433799 0.0026034563 0.0049873074 + 795000 0.0057871667 0.002114272 0.0049626431 + 795100 0.0061411986 0.0022719705 0.0052945917 + 795200 0.0059645963 0.0027751968 0.0057108966 + 795300 0.005676599 0.0023542591 0.0051482102 + 795400 0.005879839 0.0019507861 0.0048447693 + 795500 0.0054648022 0.0019161389 0.0046058462 + 795600 0.0037909814 0.0020571438 0.0039230175 + 795700 0.0049760238 0.0020926043 0.004541741 + 795800 0.0060876649 0.0020096976 0.0050059702 + 795900 0.0051249872 0.0021676485 0.0046901031 + 796000 0.0047406622 0.00227329 0.0046065846 + 796100 0.0051477449 0.0020569483 0.004590604 + 796200 0.0054224438 0.0018557372 0.0045245963 + 796300 0.0041579411 0.0018900422 0.0039365289 + 796400 0.0049537068 0.0024485388 0.0048866913 + 796500 0.0054012053 0.0022064874 0.0048648931 + 796600 0.003885557 0.0019672262 0.0038796488 + 796700 0.0041971368 0.0021457437 0.004211522 + 796800 0.0049260887 0.0020477808 0.00447234 + 796900 0.0052150441 0.0022691767 0.0048359562 + 797000 0.0049949753 0.0026724226 0.005130887 + 797100 0.0048429289 0.0028514076 0.0052350366 + 797200 0.0036630101 0.0030279523 0.0048308401 + 797300 0.0049861638 0.0033185025 0.00577263 + 797400 0.0059589929 0.0035099587 0.0064429005 + 797500 0.0068001361 0.0027775149 0.0061244569 + 797600 0.0050843421 0.0022672926 0.0047697423 + 797700 0.0054247252 0.0021785194 0.0048485013 + 797800 0.0060898437 0.0022373119 0.0052346568 + 797900 0.0045254692 0.0024615852 0.0046889646 + 798000 0.0053348881 0.0023765669 0.0050023322 + 798100 0.0059633229 0.0023727995 0.0053078725 + 798200 0.0040366384 0.0028223447 0.0048091277 + 798300 0.0054853851 0.0028382476 0.0055380856 + 798400 0.0037344918 0.0031003154 0.0049383856 + 798500 0.0055912322 0.0026149833 0.0053669179 + 798600 0.0067329291 0.0022204979 0.0055343614 + 798700 0.0055965816 0.0024667148 0.0052212823 + 798800 0.0065797282 0.0025959885 0.0058344485 + 798900 0.0065713894 0.0030480415 0.0062823972 + 799000 0.0045786624 0.0030380876 0.005291648 + 799100 0.0051307304 0.0028176862 0.0053429676 + 799200 0.0051815512 0.0033167456 0.0058670403 + 799300 0.0055247645 0.0034934721 0.0062126922 + 799400 0.0036280497 0.0036858235 0.0054715042 + 799500 0.0054181693 0.0028831203 0.0055498755 + 799600 0.004307995 0.0026311681 0.0047515094 + 799700 0.0054128937 0.0026943111 0.0053584697 + 799800 0.0050671056 0.0024314113 0.0049253773 + 799900 0.0040153685 0.0024327399 0.0044090541 + 800000 0.0065944192 0.0026461924 0.0058918831 + 800100 0.0056989692 0.0030248047 0.0058297661 + 800200 0.0052238894 0.0028770789 0.005448212 + 800300 0.0053472908 0.0024979291 0.0051297988 + 800400 0.0050119433 0.0028198426 0.0052866584 + 800500 0.0044052211 0.0032197175 0.0053879122 + 800600 0.0047769985 0.0028232399 0.0051744189 + 800700 0.0050875244 0.0021924727 0.0046964886 + 800800 0.0050891894 0.0021763624 0.0046811978 + 800900 0.0046180592 0.0022233713 0.0044963224 + 801000 0.0049110187 0.0022157727 0.0046329147 + 801100 0.0046612339 0.0025801033 0.0048743044 + 801200 0.0057912024 0.0023779979 0.0052283553 + 801300 0.004580307 0.0025391576 0.0047935274 + 801400 0.0053558831 0.0023927555 0.0050288543 + 801500 0.0071264353 0.0021692121 0.0056767544 + 801600 0.0044605458 0.0026787021 0.004874127 + 801700 0.0051829383 0.0026085316 0.005159509 + 801800 0.0036555488 0.0028779315 0.0046771469 + 801900 0.0037129209 0.0028543062 0.0046817595 + 802000 0.0042029235 0.0025157385 0.0045843649 + 802100 0.0048948294 0.0021574943 0.0045666681 + 802200 0.0054047182 0.0019907317 0.0046508664 + 802300 0.0066340302 0.0019599801 0.0052251668 + 802400 0.0033611588 0.0026488687 0.0043031891 + 802500 0.0057964131 0.0026330065 0.0054859286 + 802600 0.0042573213 0.0027230031 0.0048184035 + 802700 0.0050715141 0.0023323401 0.004828476 + 802800 0.0052455293 0.0021727989 0.0047545829 + 802900 0.0043382456 0.0021369005 0.0042721307 + 803000 0.004858222 0.0019771173 0.0043682735 + 803100 0.0056956279 0.0021257568 0.0049290737 + 803200 0.0034836913 0.0028634706 0.0045780999 + 803300 0.0076588062 0.0026262354 0.0063958041 + 803400 0.0065363167 0.0026984061 0.0059154995 + 803500 0.0053437716 0.0028397229 0.0054698605 + 803600 0.0048283264 0.0026542571 0.005030699 + 803700 0.0063854525 0.002338144 0.0054809839 + 803800 0.0048028882 0.0027134361 0.0050773576 + 803900 0.0049903332 0.0027050008 0.0051611805 + 804000 0.0040286695 0.0021686719 0.0041515326 + 804100 0.0044837713 0.0017533571 0.0039602133 + 804200 0.005427535 0.0017705946 0.0044419594 + 804300 0.0039781982 0.0023860224 0.0043440418 + 804400 0.0059611923 0.0026586393 0.0055926637 + 804500 0.0063743443 0.0028160383 0.0059534109 + 804600 0.0048014459 0.0027203277 0.0050835394 + 804700 0.0069980563 0.0028722118 0.0063165676 + 804800 0.0053090994 0.0030856864 0.0056987587 + 804900 0.0044798155 0.0026560302 0.0048609394 + 805000 0.0046060196 0.0022414286 0.0045084538 + 805100 0.0037810915 0.0023793877 0.0042403937 + 805200 0.0054648779 0.0023693187 0.0050590633 + 805300 0.0047273624 0.0025142 0.0048409487 + 805400 0.003802994 0.0025995938 0.0044713799 + 805500 0.0054997805 0.0020551479 0.0047620711 + 805600 0.0059762316 0.0015803165 0.0045217431 + 805700 0.0050585977 0.0021848695 0.004674648 + 805800 0.0058137721 0.0024660738 0.0053275398 + 805900 0.0051647894 0.0027307872 0.005272832 + 806000 0.0041972157 0.0026033447 0.0046691618 + 806100 0.0059938686 0.0018452851 0.0047953923 + 806200 0.0054752685 0.0019755942 0.0046704529 + 806300 0.0045191957 0.0021209591 0.0043452507 + 806400 0.0047783795 0.0022730863 0.0046249449 + 806500 0.0070927761 0.0023474042 0.0058383799 + 806600 0.0048031679 0.0030793229 0.0054433821 + 806700 0.0048519426 0.0033300207 0.0057180862 + 806800 0.0058446772 0.0034086568 0.0062853339 + 806900 0.0044759346 0.0035216341 0.0057246332 + 807000 0.0061450902 0.0032800906 0.0063046271 + 807100 0.0060654966 0.0036027682 0.0065881298 + 807200 0.0051107256 0.0032783332 0.0057937685 + 807300 0.0038824921 0.0031026085 0.0050135226 + 807400 0.0042073679 0.0029456845 0.0050164983 + 807500 0.0045022625 0.0024579652 0.0046739225 + 807600 0.0038076074 0.0026790433 0.0045531 + 807700 0.0047200224 0.0029318709 0.005255007 + 807800 0.0059020995 0.0024778281 0.0053827677 + 807900 0.0056249985 0.0025086952 0.0052772492 + 808000 0.0050013296 0.0031225578 0.0055841497 + 808100 0.0062035485 0.0036662574 0.0067195664 + 808200 0.0053092942 0.0033327398 0.005945908 + 808300 0.0072860121 0.0026954477 0.0062815318 + 808400 0.0055869222 0.0029131222 0.0056629355 + 808500 0.0066775721 0.0029521033 0.0062387209 + 808600 0.0064914464 0.0028710074 0.0060660162 + 808700 0.0038194408 0.0026761059 0.0045559869 + 808800 0.0042538905 0.0022051746 0.0042988864 + 808900 0.0058142114 0.0020698715 0.0049315537 + 809000 0.0041814801 0.0023882557 0.0044463279 + 809100 0.0043059143 0.0020387136 0.0041580308 + 809200 0.0070717432 0.0017621612 0.0052427848 + 809300 0.006369485 0.0026626448 0.0057976257 + 809400 0.0048244078 0.0027335988 0.005108112 + 809500 0.0056788469 0.0025628971 0.0053579546 + 809600 0.0060233095 0.0022524465 0.0052170442 + 809700 0.0058706495 0.0026325095 0.0055219698 + 809800 0.0062622474 0.0028198752 0.0059020751 + 809900 0.0062105443 0.0029134764 0.0059702287 + 810000 0.0053129268 0.0030607132 0.0056756694 + 810100 0.0051102102 0.0026993188 0.0052145004 + 810200 0.0039650609 0.002621871 0.0045734244 + 810300 0.0054564162 0.0024894124 0.0051749922 + 810400 0.0038501687 0.0026797162 0.0045747211 + 810500 0.0034502108 0.0029647467 0.0046628974 + 810600 0.0047395758 0.002651548 0.0049843079 + 810700 0.0039382437 0.0019980361 0.0039363904 + 810800 0.0078414055 0.0018974779 0.0057569197 + 810900 0.0052435374 0.0022607785 0.004841582 + 811000 0.0045516226 0.0023289666 0.0045692184 + 811100 0.0051127818 0.0022919624 0.0048084097 + 811200 0.0052257612 0.002606625 0.0051786794 + 811300 0.0030990609 0.002794074 0.004319393 + 811400 0.0053885374 0.0027246085 0.0053767793 + 811500 0.006305813 0.0025706286 0.005674271 + 811600 0.0051746001 0.0029853519 0.0055322254 + 811700 0.0042235266 0.0033744363 0.0054532033 + 811800 0.0047639426 0.0029524662 0.0052972192 + 811900 0.0060282306 0.0028285126 0.0057955323 + 812000 0.0050358032 0.0028832301 0.0053617895 + 812100 0.0034431429 0.0025625559 0.0042572278 + 812200 0.0055558408 0.0023655687 0.0051000841 + 812300 0.0051115359 0.0020510076 0.0045668417 + 812400 0.0053085223 0.0019050442 0.0045178326 + 812500 0.0046592557 0.0017725341 0.0040657615 + 812600 0.0045477712 0.001636453 0.0038748092 + 812700 0.0046586394 0.0023007102 0.0045936343 + 812800 0.005347923 0.0030437473 0.0056759281 + 812900 0.0057864324 0.0027437754 0.0055917851 + 813000 0.0047082049 0.0024572109 0.0047745305 + 813100 0.0048234159 0.0021548033 0.0045288283 + 813200 0.0045164183 0.0021058069 0.0043287315 + 813300 0.0044567175 0.002278956 0.0044724967 + 813400 0.0038570192 0.0020864357 0.0039848123 + 813500 0.005390578 0.0022027026 0.0048558778 + 813600 0.0060454772 0.0022775256 0.0052530339 + 813700 0.0056213831 0.0023370284 0.0051038029 + 813800 0.00617676 0.0021093688 0.0051494929 + 813900 0.0052385667 0.0021538883 0.0047322454 + 814000 0.0048262646 0.002281692 0.0046571191 + 814100 0.0043604831 0.0024548068 0.004600982 + 814200 0.0055924177 0.0028025747 0.0055550928 + 814300 0.0024676711 0.0031120374 0.0043265943 + 814400 0.0056064942 0.0025836149 0.0053430613 + 814500 0.0048332501 0.0024809125 0.0048597777 + 814600 0.0054700397 0.0025805494 0.0052728345 + 814700 0.0073709857 0.0025606557 0.0061885627 + 814800 0.0055112011 0.0025935914 0.0053061357 + 814900 0.004469499 0.0021824735 0.004382305 + 815000 0.0052821803 0.0021281717 0.0047279948 + 815100 0.0058845079 0.0019969061 0.0048931873 + 815200 0.0043466261 0.0026758964 0.0048152515 + 815300 0.0046557657 0.0026979474 0.004989457 + 815400 0.0041724988 0.0026112509 0.0046649027 + 815500 0.005230108 0.0020750763 0.0046492701 + 815600 0.0034916183 0.002120006 0.0038385369 + 815700 0.0048880473 0.0019371784 0.0043430142 + 815800 0.0054127907 0.0021834009 0.0048475088 + 815900 0.0055169433 0.0024209194 0.00513629 + 816000 0.0052105913 0.0024144845 0.0049790724 + 816100 0.0051669103 0.0021614205 0.0047045091 + 816200 0.0029282456 0.0028004218 0.0042416676 + 816300 0.0037742281 0.0026643525 0.0045219804 + 816400 0.0045134635 0.0024647099 0.0046861802 + 816500 0.0050553838 0.0021643943 0.004652591 + 816600 0.006750546 0.0021206207 0.0054431551 + 816700 0.0045652547 0.0024425843 0.0046895456 + 816800 0.005098987 0.0026671035 0.0051767612 + 816900 0.0051446774 0.0023562307 0.0048883767 + 817000 0.0046907594 0.0024474226 0.0047561558 + 817100 0.0049376664 0.0024954336 0.0049256913 + 817200 0.0063755109 0.0020884892 0.005226436 + 817300 0.0050217952 0.002250477 0.0047221418 + 817400 0.0055436193 0.0021318247 0.0048603249 + 817500 0.0045157298 0.0023013466 0.0045239324 + 817600 0.0048899348 0.0024105862 0.004817351 + 817700 0.0047597253 0.0022672832 0.0046099605 + 817800 0.0042519945 0.0020183078 0.0041110863 + 817900 0.0049386271 0.0023245278 0.0047552583 + 818000 0.0053478265 0.0022932201 0.0049253535 + 818100 0.0058260413 0.0019750755 0.0048425802 + 818200 0.0056738847 0.0018350978 0.0046277129 + 818300 0.0049890329 0.0016483373 0.0041038769 + 818400 0.0053050784 0.0023398563 0.0049509496 + 818500 0.0044153357 0.0025953789 0.0047685519 + 818600 0.0040644025 0.0026176535 0.0046181016 + 818700 0.0037671356 0.0026916745 0.0045458115 + 818800 0.0051673248 0.0023176376 0.0048609303 + 818900 0.0043143121 0.0022128089 0.0043362594 + 819000 0.0048645145 0.0024652201 0.0048594733 + 819100 0.0039076097 0.0026636471 0.0045869238 + 819200 0.0053402698 0.0023723756 0.0050007896 + 819300 0.0054896598 0.0023903158 0.0050922577 + 819400 0.0062950555 0.0025041797 0.0056025273 + 819500 0.0042995286 0.0023192551 0.0044354294 + 819600 0.0050977358 0.0021398276 0.0046488694 + 819700 0.0033851602 0.0020613621 0.0037274956 + 819800 0.0057279711 0.0021562646 0.0049755004 + 819900 0.0055345619 0.0025553706 0.0052794128 + 820000 0.0054932106 0.0029321909 0.0056358805 + 820100 0.0057881279 0.0029813774 0.0058302216 + 820200 0.0049272735 0.0031184211 0.0055435636 + 820300 0.0052148123 0.0029212885 0.0054879539 + 820400 0.0036501024 0.0027993487 0.0045958835 + 820500 0.0054548757 0.0025969142 0.0052817358 + 820600 0.0039310263 0.0026021358 0.0045369378 + 820700 0.0058548012 0.0026423526 0.0055240126 + 820800 0.0050437526 0.0025368918 0.0050193638 + 820900 0.0041487109 0.0025821969 0.0046241405 + 821000 0.0039444755 0.0025633104 0.004504732 + 821100 0.0042631919 0.002858954 0.0049572438 + 821200 0.005324654 0.0032457827 0.0058665108 + 821300 0.0063770026 0.0033584102 0.0064970911 + 821400 0.0047782836 0.0033903159 0.0057421273 + 821500 0.0051002851 0.0029829868 0.0054932833 + 821600 0.0043650859 0.0028791752 0.0050276159 + 821700 0.0039764429 0.002922572 0.0048797274 + 821800 0.0044366813 0.0029655011 0.0051491802 + 821900 0.0040988183 0.0029867356 0.0050041227 + 822000 0.0035100697 0.0030989025 0.004826515 + 822100 0.0045662868 0.0030472147 0.005294684 + 822200 0.0038758233 0.0030606952 0.004968327 + 822300 0.0056096867 0.0030637911 0.0058248088 + 822400 0.004947784 0.0026891223 0.0051243597 + 822500 0.0048144104 0.0025652587 0.0049348513 + 822600 0.0039923199 0.0027059663 0.0046709362 + 822700 0.0049376488 0.0028180233 0.0052482724 + 822800 0.0054299778 0.0025793821 0.0052519493 + 822900 0.0041272905 0.0025425475 0.0045739484 + 823000 0.0055881399 0.0021937761 0.0049441887 + 823100 0.0054151207 0.0020701387 0.0047353934 + 823200 0.0038821076 0.0019102878 0.0038210126 + 823300 0.0056778598 0.0017094149 0.0045039865 + 823400 0.0040836726 0.0019064115 0.0039163441 + 823500 0.0053048696 0.0019444695 0.00455546 + 823600 0.0048216716 0.0022049637 0.0045781302 + 823700 0.0039284639 0.0020996013 0.0040331421 + 823800 0.0042195351 0.0023768979 0.0044537004 + 823900 0.005601324 0.0026252928 0.0053821945 + 824000 0.0050219716 0.0028229175 0.0052946691 + 824100 0.0052959335 0.0022815642 0.0048881564 + 824200 0.0055805462 0.0021881823 0.0049348574 + 824300 0.0047781199 0.0022548008 0.0046065317 + 824400 0.0032454504 0.0029006742 0.0044980443 + 824500 0.0050552362 0.0024921692 0.0049802932 + 824600 0.0052998174 0.0024646544 0.0050731582 + 824700 0.0046838476 0.0027293078 0.005034639 + 824800 0.0049608225 0.0028445248 0.0052861797 + 824900 0.0057234437 0.0028347525 0.00565176 + 825000 0.0039898669 0.0028940124 0.0048577751 + 825100 0.0060108361 0.00246201 0.0054204684 + 825200 0.0048572569 0.0023865772 0.0047772583 + 825300 0.0042387482 0.0027490317 0.0048352906 + 825400 0.0040558687 0.0025411782 0.0045374261 + 825500 0.0073690023 0.0023202327 0.0059471636 + 825600 0.0045074993 0.002842335 0.0050608698 + 825700 0.0059004928 0.0029013025 0.0058054513 + 825800 0.0030570323 0.002513558 0.0040181911 + 825900 0.0068532306 0.0021470654 0.0055201398 + 826000 0.0054651262 0.0023016432 0.00499151 + 826100 0.00600929 0.0025972132 0.0055549106 + 826200 0.005615815 0.0030305354 0.0057945694 + 826300 0.0053858028 0.002954521 0.0056053458 + 826400 0.0043427054 0.0026753748 0.0048128001 + 826500 0.0049137282 0.0024463094 0.004864785 + 826600 0.0056030162 0.0024198797 0.0051776142 + 826700 0.0047923425 0.0027123483 0.0050710793 + 826800 0.004480837 0.0031168027 0.0053222147 + 826900 0.0052948044 0.0022387271 0.0048447637 + 827000 0.0061302789 0.0019062717 0.0049235183 + 827100 0.0052407143 0.0023239037 0.0049033178 + 827200 0.0046216986 0.002913732 0.0051884743 + 827300 0.00528304 0.0029154353 0.0055156815 + 827400 0.0037126406 0.0030299464 0.0048572617 + 827500 0.0050832313 0.0029000665 0.0054019694 + 827600 0.0051182806 0.0023884696 0.0049076234 + 827700 0.0036645257 0.0021600213 0.003963655 + 827800 0.004080861 0.0024773445 0.0044858932 + 827900 0.0049191818 0.0021084062 0.004529566 + 828000 0.00362901 0.0021830474 0.0039692008 + 828100 0.0050172891 0.0023702078 0.0048396548 + 828200 0.0047746271 0.0023254822 0.0046754939 + 828300 0.0044402471 0.0023823007 0.0045677348 + 828400 0.0053961049 0.0021354421 0.0047913375 + 828500 0.0038138387 0.0023981459 0.0042752696 + 828600 0.0059832955 0.001921518 0.0048664213 + 828700 0.0050969047 0.0018561853 0.0043648181 + 828800 0.0050271234 0.0019802599 0.0044545472 + 828900 0.0048085201 0.0022099886 0.0045766821 + 829000 0.0044675786 0.0024593423 0.0046582286 + 829100 0.0047367418 0.0031082657 0.0054396309 + 829200 0.0040472784 0.0028075952 0.0047996151 + 829300 0.0070695819 0.0022950797 0.0057746395 + 829400 0.0053395782 0.0028319101 0.0054599837 + 829500 0.0039429987 0.0024019919 0.0043426866 + 829600 0.0065078515 0.0021143094 0.0053173925 + 829700 0.0050003217 0.0025047706 0.0049658664 + 829800 0.0046791749 0.0022751731 0.0045782045 + 829900 0.0052979047 0.0023433787 0.0049509412 + 830000 0.0048703133 0.0025783734 0.0049754807 + 830100 0.0055378797 0.0024628142 0.0051884894 + 830200 0.0053565765 0.0023746135 0.0050110535 + 830300 0.0043463736 0.0021639139 0.0043031447 + 830400 0.0048430295 0.0021869289 0.0045706075 + 830500 0.0052325384 0.0022040368 0.0047794268 + 830600 0.0043599191 0.0027313738 0.0048772715 + 830700 0.0043692796 0.0030693007 0.0052198055 + 830800 0.0045882154 0.0033811099 0.0056393722 + 830900 0.0065486927 0.0028642139 0.0060873986 + 831000 0.0045815645 0.002936361 0.0051913497 + 831100 0.0042075418 0.0027288216 0.0047997211 + 831200 0.0046459571 0.0022604463 0.0045471283 + 831300 0.005797726 0.002243048 0.0050966162 + 831400 0.0056988836 0.00231096 0.0051158793 + 831500 0.0057072059 0.0023576581 0.0051666735 + 831600 0.0046982061 0.0021843834 0.0044967817 + 831700 0.0053486451 0.0022056794 0.0048382157 + 831800 0.0040010323 0.0024779339 0.0044471919 + 831900 0.006494833 0.0028728765 0.0060695521 + 832000 0.0047117583 0.0034687133 0.0057877818 + 832100 0.0057912782 0.0029683894 0.0058187841 + 832200 0.0060270765 0.002157138 0.0051235897 + 832300 0.007251224 0.0018967637 0.0054657255 + 832400 0.0064009397 0.0021945388 0.0053450013 + 832500 0.0050111675 0.0022410424 0.0047074764 + 832600 0.0048378848 0.0026886963 0.0050698427 + 832700 0.0051787344 0.0027255999 0.0052745083 + 832800 0.004689871 0.0024316257 0.0047399215 + 832900 0.0034277032 0.0023790435 0.0040661161 + 833000 0.0044696008 0.0021099471 0.0043098288 + 833100 0.0061699925 0.0020857204 0.0051225136 + 833200 0.0039125187 0.0025067028 0.0044323955 + 833300 0.0048502082 0.0021609541 0.0045481659 + 833400 0.0059054619 0.0021440786 0.0050506731 + 833500 0.004940462 0.0025142294 0.0049458631 + 833600 0.0041902354 0.0024913621 0.0045537436 + 833700 0.0052703174 0.0022940175 0.0048880018 + 833800 0.004340896 0.0023446826 0.0044812173 + 833900 0.004877385 0.0022282105 0.0046287985 + 834000 0.0053425262 0.002756142 0.0053856666 + 834100 0.0043125357 0.0029359606 0.0050585368 + 834200 0.0046649327 0.002747609 0.0050436306 + 834300 0.0064561711 0.0025779917 0.0057556384 + 834400 0.0048930787 0.0027202162 0.0051285284 + 834500 0.0047205745 0.0022929183 0.0046163261 + 834600 0.0048492618 0.0021825588 0.0045693048 + 834700 0.0049459976 0.0016719606 0.0041063188 + 834800 0.0047953843 0.0016602176 0.0040204459 + 834900 0.0046820874 0.0020502498 0.0043547147 + 835000 0.0065979768 0.0024129932 0.0056604349 + 835100 0.0045576155 0.0022692913 0.0045124927 + 835200 0.0065135153 0.0022846469 0.0054905177 + 835300 0.0030009983 0.0022460122 0.0037230661 + 835400 0.0059658493 0.0020883267 0.0050246431 + 835500 0.0048315203 0.0019948457 0.0043728596 + 835600 0.0031239653 0.0019994841 0.0035370608 + 835700 0.0041565135 0.0019148482 0.0039606322 + 835800 0.003809809 0.0021929065 0.0040680468 + 835900 0.0053705759 0.0023229546 0.004966285 + 836000 0.005077358 0.002500607 0.0049996192 + 836100 0.0053556847 0.0031143364 0.0057503375 + 836200 0.004984942 0.0035721228 0.006025649 + 836300 0.0070822924 0.0032554602 0.006741276 + 836400 0.0054718886 0.0028136939 0.005506889 + 836500 0.0056159526 0.0025325959 0.0052966975 + 836600 0.0060192042 0.0027861157 0.0057486928 + 836700 0.0043592167 0.003107011 0.005252563 + 836800 0.0055948438 0.002760963 0.0055146752 + 836900 0.0049064934 0.0027830004 0.0051979151 + 837000 0.0055784883 0.0023866885 0.0051323507 + 837100 0.0044902457 0.0021617784 0.0043718212 + 837200 0.0052561964 0.002303115 0.0048901492 + 837300 0.0050954864 0.0028496403 0.005357575 + 837400 0.0048755876 0.0030837587 0.005483462 + 837500 0.005742323 0.0026072527 0.0054335524 + 837600 0.0055079335 0.0022230215 0.0049339576 + 837700 0.0061817618 0.0017959298 0.0048385157 + 837800 0.0045943077 0.0018951829 0.0041564437 + 837900 0.0048133439 0.0023006799 0.0046697476 + 838000 0.0050914579 0.0024750258 0.0049809777 + 838100 0.0040188361 0.0028593434 0.0048373643 + 838200 0.0058977205 0.0029581159 0.0058609002 + 838300 0.0061398872 0.0029178629 0.0059398387 + 838400 0.0047173224 0.0034011131 0.0057229203 + 838500 0.0059173999 0.003634333 0.0065468033 + 838600 0.0045664846 0.003552914 0.0058004806 + 838700 0.0031958228 0.0031295864 0.0047025304 + 838800 0.0045723699 0.0026815559 0.0049320192 + 838900 0.0056059034 0.0026598876 0.0054190431 + 839000 0.004779818 0.0025396969 0.0048922635 + 839100 0.0052729036 0.0025454183 0.0051406755 + 839200 0.0039037152 0.0028924148 0.0048137746 + 839300 0.0043905103 0.0025542932 0.0047152475 + 839400 0.0053546337 0.0025942139 0.0052296977 + 839500 0.0059565767 0.0027355327 0.0056672853 + 839600 0.0039087203 0.0031716571 0.0050954803 + 839700 0.0049869404 0.0031173201 0.0055718298 + 839800 0.0060750044 0.0025489499 0.0055389912 + 839900 0.0044465404 0.0030400992 0.0052286308 + 840000 0.0054299585 0.0033522919 0.0060248496 + 840100 0.0056288379 0.0026073121 0.0053777557 + 840200 0.0052150847 0.0025111071 0.0050779066 + 840300 0.0043187097 0.0025895315 0.0047151464 + 840400 0.0046921722 0.0024899817 0.0047994102 + 840500 0.0054253911 0.0021632061 0.0048335158 + 840600 0.0050713173 0.0023490407 0.0048450797 + 840700 0.0048181018 0.0031911941 0.0055626036 + 840800 0.0054794177 0.0037547057 0.0064516066 + 840900 0.0050973124 0.0035508984 0.0060597318 + 841000 0.0046546587 0.0031148726 0.0054058374 + 841100 0.0055435348 0.0025287132 0.0052571718 + 841200 0.0053457034 0.0024573792 0.0050884676 + 841300 0.0077636694 0.0023208367 0.0061420177 + 841400 0.0065009065 0.002283152 0.0054828169 + 841500 0.0071009391 0.0024377083 0.0059327018 + 841600 0.005411894 0.0031726215 0.0058362881 + 841700 0.0053544432 0.0030108837 0.0056462736 + 841800 0.0045817388 0.0028917445 0.005146819 + 841900 0.0040236834 0.0030585056 0.0050389123 + 842000 0.0054125498 0.0028390331 0.0055030225 + 842100 0.004217771 0.0030911423 0.0051670765 + 842200 0.0050450088 0.0027716445 0.0052547348 + 842300 0.0054880727 0.0023543394 0.0050555002 + 842400 0.0044084595 0.0023339506 0.0045037392 + 842500 0.0042131717 0.0023259479 0.0043996183 + 842600 0.0047286046 0.0027934971 0.0051208572 + 842700 0.0038817184 0.0033092298 0.0052197631 + 842800 0.0055294802 0.0027377888 0.0054593298 + 842900 0.0068443704 0.002315121 0.0056838345 + 843000 0.0061434578 0.0024437274 0.0054674605 + 843100 0.0054599568 0.0023488016 0.0050361241 + 843200 0.0032087412 0.0024780623 0.0040573646 + 843300 0.0045024692 0.0026513626 0.0048674217 + 843400 0.0066423531 0.003003852 0.0062731351 + 843500 0.0051296741 0.0034133493 0.0059381107 + 843600 0.0041860763 0.0029404614 0.0050007958 + 843700 0.007019709 0.0023880577 0.0058430707 + 843800 0.0051683152 0.00223293 0.0047767102 + 843900 0.0058690921 0.0022658004 0.0051544941 + 844000 0.0043587705 0.0025141786 0.0046595109 + 844100 0.005153663 0.0029748237 0.0055113922 + 844200 0.0044371928 0.0025179889 0.0047019197 + 844300 0.0056225988 0.0026683005 0.0054356733 + 844400 0.0050551583 0.0029424128 0.0054304985 + 844500 0.0053918434 0.0030217492 0.0056755471 + 844600 0.0046854649 0.0031671229 0.0054732502 + 844700 0.0049030199 0.0032470253 0.0056602304 + 844800 0.0069112327 0.0032788667 0.006680489 + 844900 0.0051291929 0.0038400186 0.0063645433 + 845000 0.0047786344 0.0033021459 0.0056541301 + 845100 0.0039412797 0.002778399 0.0047182476 + 845200 0.0038569212 0.0025232811 0.0044216095 + 845300 0.0051891665 0.0023906364 0.0049446793 + 845400 0.0046390859 0.0022719516 0.0045552516 + 845500 0.0040747373 0.0021928635 0.0041983983 + 845600 0.004439015 0.0024843315 0.0046691591 + 845700 0.0037536404 0.0025601048 0.0044075997 + 845800 0.004936483 0.0025444605 0.0049741357 + 845900 0.0068460187 0.0026147899 0.0059843147 + 846000 0.0065297456 0.002630307 0.0058441662 + 846100 0.0062047508 0.0026208418 0.0056747426 + 846200 0.0054360299 0.002198023 0.004873569 + 846300 0.0052640758 0.0017395057 0.004330418 + 846400 0.0043880683 0.0017628444 0.0039225968 + 846500 0.0049087537 0.0024932444 0.0049092717 + 846600 0.004847951 0.0025475294 0.0049336303 + 846700 0.0065963223 0.0020577711 0.0053043985 + 846800 0.0053818794 0.002395288 0.0050441818 + 846900 0.0050628592 0.0025462946 0.0050381706 + 847000 0.0030152207 0.0026005513 0.0040846052 + 847100 0.0048974099 0.0022957326 0.0047061765 + 847200 0.0074260501 0.0024629201 0.0061179291 + 847300 0.0063674402 0.0025647345 0.005698709 + 847400 0.0059714852 0.0027637178 0.0057028082 + 847500 0.0044461781 0.0029573809 0.0051457342 + 847600 0.0039300116 0.0027828305 0.0047171331 + 847700 0.0056456528 0.0030841981 0.0058629179 + 847800 0.0035710533 0.0029204866 0.0046781144 + 847900 0.0060548804 0.0025563895 0.005536526 + 848000 0.0044579307 0.0024987105 0.0046928483 + 848100 0.0049145358 0.0022204382 0.0046393113 + 848200 0.0049688023 0.0018621017 0.0043076841 + 848300 0.0058046021 0.0018948349 0.0047517875 + 848400 0.0045410421 0.0021858663 0.0044209104 + 848500 0.0042418565 0.0020027414 0.0040905302 + 848600 0.0038243924 0.0021694921 0.0040518103 + 848700 0.0036310145 0.0021458241 0.0039329641 + 848800 0.0038689581 0.002344805 0.0042490578 + 848900 0.0062173243 0.0022170695 0.0052771588 + 849000 0.0051361401 0.0024436387 0.0049715826 + 849100 0.0054569233 0.0021134058 0.0047992352 + 849200 0.0044187938 0.0022433272 0.0044182022 + 849300 0.0037376707 0.0023789326 0.0042185674 + 849400 0.0061614861 0.0020562427 0.0050888491 + 849500 0.0053275016 0.0021568831 0.0047790128 + 849600 0.0044802347 0.0021865194 0.004391635 + 849700 0.0049496131 0.0020513572 0.0044874949 + 849800 0.0045186258 0.0022854632 0.0045094743 + 849900 0.0052761374 0.0023739826 0.0049708315 + 850000 0.0031951692 0.0023910345 0.0039636568 + 850100 0.0054835915 0.002238687 0.0049376422 + 850200 0.004938231 0.0021920139 0.0046225494 + 850300 0.0058156764 0.002612582 0.0054749852 + 850400 0.0043563993 0.0028685719 0.0050127371 + 850500 0.0054055009 0.0024091998 0.0050697198 + 850600 0.0061932353 0.002280135 0.005328368 + 850700 0.0041984771 0.00314148 0.0052079179 + 850800 0.0047025906 0.0035446434 0.0058591998 + 850900 0.0063035928 0.0025097659 0.0056123155 + 851000 0.0068277239 0.0022311821 0.0055917025 + 851100 0.0044138337 0.0022501442 0.004422578 + 851200 0.0061451331 0.002742787 0.0057673447 + 851300 0.0046803139 0.0030287901 0.0053323821 + 851400 0.0045533093 0.0030086242 0.0052497062 + 851500 0.0044985227 0.0028307677 0.0050448843 + 851600 0.0056300243 0.0023372586 0.0051082862 + 851700 0.0061220994 0.0020470821 0.0050603029 + 851800 0.0047962774 0.002609977 0.0049706448 + 851900 0.003749986 0.0028374135 0.0046831098 + 852000 0.0049728472 0.0028294276 0.0052770009 + 852100 0.0048955801 0.0028485923 0.0052581356 + 852200 0.004968306 0.0032638565 0.0057091946 + 852300 0.0063265199 0.0030749267 0.0061887607 + 852400 0.0054089856 0.0025708859 0.005233121 + 852500 0.0053983314 0.0028026127 0.0054596039 + 852600 0.0054176427 0.0032084888 0.0058749848 + 852700 0.004396246 0.0029406828 0.0051044602 + 852800 0.0050987555 0.0027320307 0.0052415744 + 852900 0.0050349584 0.0026316085 0.005109752 + 853000 0.0033336831 0.0026232081 0.0042640053 + 853100 0.0039614122 0.0024374997 0.0043872572 + 853200 0.0042126843 0.002265329 0.0043387595 + 853300 0.0043689158 0.0022569557 0.0044072814 + 853400 0.0053997596 0.0018455159 0.0045032101 + 853500 0.0043725553 0.0020590971 0.0042112142 + 853600 0.0066079854 0.0023185132 0.0055708811 + 853700 0.0044475381 0.0026119592 0.0048009819 + 853800 0.005120285 0.0028352514 0.0053553917 + 853900 0.0048482072 0.0024305649 0.0048167919 + 854000 0.0051312592 0.0022356521 0.0047611938 + 854100 0.004877251 0.0020973453 0.0044978672 + 854200 0.004725607 0.0018644349 0.0041903196 + 854300 0.005317072 0.0018847972 0.0045017936 + 854400 0.0041692348 0.0018684678 0.003920513 + 854500 0.0051985727 0.0020537527 0.0046124251 + 854600 0.0047524657 0.0023958702 0.0047349744 + 854700 0.0043306889 0.0024600159 0.0045915268 + 854800 0.0048310429 0.0023657731 0.0047435521 + 854900 0.0044791801 0.0027094822 0.0049140787 + 855000 0.0033942401 0.0025814724 0.004252075 + 855100 0.0038074896 0.0024091642 0.004283163 + 855200 0.0050636891 0.0022372461 0.0047295306 + 855300 0.0034044483 0.0022587457 0.0039343726 + 855400 0.0039835644 0.0018077957 0.0037684564 + 855500 0.002777819 0.0019279028 0.0032951106 + 855600 0.0038774754 0.002150586 0.0040590309 + 855700 0.0049144272 0.0023586484 0.004777468 + 855800 0.0049106582 0.0025654576 0.0049824222 + 855900 0.0069343928 0.0024336718 0.0058466932 + 856000 0.0036455591 0.0022646433 0.0040589419 + 856100 0.003605119 0.0022924618 0.0040668564 + 856200 0.0035791984 0.0026400735 0.0044017102 + 856300 0.0048799897 0.0027372824 0.0051391524 + 856400 0.002746728 0.0026192462 0.0039711514 + 856500 0.0054380667 0.0022567382 0.0049332866 + 856600 0.0061749226 0.0020849511 0.0051241708 + 856700 0.0040058165 0.0026154647 0.0045870775 + 856800 0.0059931241 0.0025562353 0.0055059761 + 856900 0.0048963625 0.0024004269 0.0048103553 + 857000 0.0055969158 0.0026876335 0.0054423654 + 857100 0.0051739402 0.002743231 0.0052897797 + 857200 0.0053840182 0.0026751473 0.0053250938 + 857300 0.0041924419 0.0027998611 0.0048633286 + 857400 0.0053299334 0.0028202003 0.0054435269 + 857500 0.0061154301 0.0028077169 0.0058176551 + 857600 0.0072261092 0.0024978662 0.0060544668 + 857700 0.0058980682 0.0023804081 0.0052833635 + 857800 0.0055182489 0.0025612469 0.00527726 + 857900 0.0063052204 0.002538328 0.0056416787 + 858000 0.0040196686 0.0023013359 0.0042797666 + 858100 0.0050606719 0.0018555096 0.004346309 + 858200 0.0037567222 0.0019220316 0.0037710433 + 858300 0.0056589692 0.0018470131 0.004632287 + 858400 0.0055303252 0.0021392818 0.0048612387 + 858500 0.0055460937 0.0021100707 0.0048397887 + 858600 0.0050637443 0.0017672698 0.0042595814 + 858700 0.004568835 0.0021402251 0.0043889486 + 858800 0.0045902894 0.0019767149 0.0042359979 + 858900 0.0045756598 0.0021266806 0.0043787632 + 859000 0.0042768864 0.0020382898 0.0041433198 + 859100 0.0063249855 0.0015563279 0.0046694067 + 859200 0.0047500419 0.0017342378 0.004072149 + 859300 0.0041323893 0.0014718818 0.0035057922 + 859400 0.0053391123 0.0015656832 0.0041935275 + 859500 0.0036048887 0.0020851876 0.0038594688 + 859600 0.0048495304 0.0019913219 0.0043782002 + 859700 0.0041414289 0.0021313542 0.0041697137 + 859800 0.0073432898 0.0023626989 0.0059769743 + 859900 0.0039892847 0.00293476 0.0048982361 + 860000 0.0062440094 0.0023615056 0.005434729 + 860100 0.004860226 0.0020959942 0.0044881367 + 860200 0.0049370042 0.0020951569 0.0045250886 + 860300 0.0059990317 0.0021673993 0.0051200477 + 860400 0.0040931682 0.0023978527 0.0044124589 + 860500 0.0044690059 0.0023391057 0.0045386946 + 860600 0.0038942531 0.0018940647 0.0038107674 + 860700 0.0048111881 0.0016635408 0.0040315474 + 860800 0.0044683155 0.00208925 0.004288499 + 860900 0.0044256109 0.0021941586 0.004372389 + 861000 0.0046894162 0.0019986658 0.0043067378 + 861100 0.0065398693 0.0017114946 0.0049303365 + 861200 0.0061990516 0.0019206304 0.0049717261 + 861300 0.0048464537 0.0024697348 0.0048550987 + 861400 0.005717148 0.0023265078 0.0051404166 + 861500 0.0043728718 0.0024148899 0.0045671627 + 861600 0.004735949 0.0024070653 0.0047380402 + 861700 0.0055232233 0.002578912 0.0052973735 + 861800 0.0049098209 0.0023724617 0.0047890142 + 861900 0.0038719959 0.0024398792 0.0043456272 + 862000 0.0035976822 0.0021922779 0.0039630121 + 862100 0.0047977125 0.0022317417 0.0045931158 + 862200 0.0042093705 0.0020941211 0.0041659206 + 862300 0.004098719 0.0023950239 0.0044123622 + 862400 0.0067901916 0.0017165889 0.0050586363 + 862500 0.0060635942 0.001788462 0.0047728873 + 862600 0.0056808841 0.0031429867 0.0059390468 + 862700 0.0052697406 0.0032587958 0.0058524963 + 862800 0.0065579644 0.0023749745 0.0056027226 + 862900 0.0043646147 0.0024241015 0.0045723103 + 863000 0.0050196426 0.0027259426 0.0051965479 + 863100 0.0047535419 0.0025022154 0.0048418494 + 863200 0.0045128092 0.0024136688 0.0046348171 + 863300 0.0064311044 0.0020482532 0.0052135624 + 863400 0.0059720491 0.0019479799 0.0048873478 + 863500 0.0037512207 0.0022301873 0.0040764913 + 863600 0.0046887442 0.0025060694 0.0048138107 + 863700 0.0036761278 0.0027176719 0.004527016 + 863800 0.004801365 0.0029085195 0.0052716914 + 863900 0.003726435 0.0029671611 0.0048012658 + 864000 0.004563945 0.0027771311 0.0050234478 + 864100 0.0042075493 0.0026485287 0.0047194318 + 864200 0.0053500739 0.0023761281 0.0050093676 + 864300 0.0058965633 0.0021942201 0.0050964349 + 864400 0.0044294321 0.0025881461 0.0047682573 + 864500 0.0055091965 0.0028472954 0.005558853 + 864600 0.0053872189 0.002728326 0.0053798478 + 864700 0.0060962017 0.0029691766 0.0059696509 + 864800 0.0061778466 0.0030355507 0.0060762095 + 864900 0.0051570779 0.0031916041 0.0057298534 + 865000 0.0076162223 0.0026611587 0.0064097681 + 865100 0.005605806 0.0026873748 0.0054464825 + 865200 0.0044798342 0.003021487 0.0052264054 + 865300 0.003816902 0.0033328768 0.0052115082 + 865400 0.0048835204 0.003611202 0.0060148097 + 865500 0.0041657438 0.0031582993 0.0052086264 + 865600 0.0062170297 0.0028311768 0.0058911211 + 865700 0.0058919921 0.0027710742 0.0056710391 + 865800 0.0050460616 0.0028093818 0.0052929902 + 865900 0.0056643922 0.0027508349 0.0055387779 + 866000 0.0064485225 0.0034281957 0.0066020778 + 866100 0.0052162797 0.0041055345 0.0066729221 + 866200 0.0044365377 0.0037313985 0.0059150069 + 866300 0.0054305542 0.00302673 0.0056995809 + 866400 0.0045273144 0.0028125537 0.0050408413 + 866500 0.0043386962 0.0024119597 0.0045474117 + 866600 0.0026668785 0.0024523789 0.0037649832 + 866700 0.0043138994 0.002673674 0.0047969213 + 866800 0.0044669174 0.0027166851 0.0049152461 + 866900 0.0066887152 0.0027194908 0.0060115928 + 867000 0.0042560968 0.0030809594 0.0051757571 + 867100 0.0046671202 0.0032843436 0.0055814419 + 867200 0.0044372122 0.0030699941 0.0052539345 + 867300 0.0050802141 0.0033639198 0.0058643376 + 867400 0.0057253046 0.0036424245 0.0064603479 + 867500 0.00538732 0.003499042 0.0061506135 + 867600 0.0045810379 0.0030143233 0.0052690529 + 867700 0.0035375601 0.0027386694 0.0044798123 + 867800 0.0045027028 0.0024866845 0.0047028585 + 867900 0.0058403886 0.0027708111 0.0056453774 + 868000 0.0052393628 0.0027198422 0.0052985911 + 868100 0.0048576061 0.0025891137 0.0049799667 + 868200 0.0055655333 0.0023044659 0.0050437519 + 868300 0.0073108728 0.0020413027 0.0056396229 + 868400 0.0045469132 0.002444579 0.0046825129 + 868500 0.0042068955 0.0027359177 0.0048064991 + 868600 0.0056316646 0.0025111397 0.0052829746 + 868700 0.0057845446 0.0023856671 0.0052327476 + 868800 0.0054262611 0.0025627625 0.0052335004 + 868900 0.0050228084 0.0023199342 0.0047920977 + 869000 0.0050111096 0.0020432288 0.0045096343 + 869100 0.0057876833 0.0021763286 0.005024954 + 869200 0.0049956749 0.0027460896 0.0052048984 + 869300 0.0051612695 0.0025240398 0.0050643521 + 869400 0.006180273 0.0031015584 0.0061434115 + 869500 0.0042293455 0.0030540464 0.0051356774 + 869600 0.0049385343 0.002738009 0.0051686938 + 869700 0.0052798852 0.0025776016 0.0051762951 + 869800 0.0058137121 0.0023094281 0.0051708645 + 869900 0.0050872991 0.0025746108 0.0050785159 + 870000 0.004436364 0.0025758295 0.0047593524 + 870100 0.0058172526 0.0022240053 0.0050871843 + 870200 0.0043002265 0.0026084377 0.0047249554 + 870300 0.0068404555 0.0030605106 0.0064272973 + 870400 0.0049248825 0.0032091221 0.0056330877 + 870500 0.0063886929 0.0028342472 0.005978682 + 870600 0.0047967993 0.0027241096 0.0050850342 + 870700 0.0058920983 0.0026130555 0.0055130726 + 870800 0.0055714851 0.0028513391 0.0055935544 + 870900 0.005075158 0.0027694497 0.0052673791 + 871000 0.0050083249 0.0030357328 0.0055007677 + 871100 0.0051257829 0.0035278133 0.0060506596 + 871200 0.0056707628 0.0036260715 0.0064171501 + 871300 0.006641047 0.0032972225 0.0065658628 + 871400 0.0041912828 0.0029429554 0.0050058525 + 871500 0.0046522246 0.0029040134 0.0051937802 + 871600 0.0044957678 0.0029768658 0.0051896265 + 871700 0.0043461442 0.0029419727 0.0050810905 + 871800 0.006611967 0.0027163394 0.0059706669 + 871900 0.0057757588 0.0025923131 0.0054350694 + 872000 0.0055330044 0.0023399861 0.0050632618 + 872100 0.0048293014 0.0021329394 0.0045098611 + 872200 0.0063156247 0.0022077412 0.0053162127 + 872300 0.0057142658 0.0025045721 0.0053170623 + 872400 0.0037642739 0.0024837807 0.0043365092 + 872500 0.0047268162 0.0022720222 0.004598502 + 872600 0.0055781157 0.0019483221 0.004693801 + 872700 0.0040060737 0.0016381042 0.0036098436 + 872800 0.0045142624 0.0017598408 0.0039817043 + 872900 0.0032839412 0.0017495705 0.0033658853 + 873000 0.0040106283 0.0018620763 0.0038360574 + 873100 0.0035795915 0.001895944 0.0036577741 + 873200 0.0048052089 0.0021190547 0.0044841185 + 873300 0.003960684 0.0021806234 0.0041300226 + 873400 0.0037994705 0.0020216668 0.0038917187 + 873500 0.0046901124 0.0019348788 0.0042432935 + 873600 0.0061179499 0.0019589955 0.004970174 + 873700 0.0048190738 0.0018480141 0.004219902 + 873800 0.0059665981 0.002232979 0.005169664 + 873900 0.0047685943 0.002407071 0.0047541135 + 874000 0.0057719709 0.002088015 0.0049289069 + 874100 0.0041464616 0.0025388006 0.0045796372 + 874200 0.0045916669 0.0021885724 0.0044485335 + 874300 0.0048332391 0.0021505507 0.0045294106 + 874400 0.006486308 0.002256696 0.0054491757 + 874500 0.0053741781 0.002334104 0.0049792073 + 874600 0.0047163007 0.0021698643 0.0044911686 + 874700 0.0054901067 0.0023056173 0.0050077792 + 874800 0.0040647614 0.0023218565 0.0043224812 + 874900 0.0062427249 0.002194796 0.0052673872 + 875000 0.0045240017 0.0026142598 0.0048409168 + 875100 0.0067621737 0.0029344402 0.0062626975 + 875200 0.0054000376 0.0031982849 0.0058561159 + 875300 0.0058077998 0.0026048379 0.0054633644 + 875400 0.0045109922 0.0022342593 0.0044545133 + 875500 0.0045533051 0.0019957561 0.004236836 + 875600 0.0048779342 0.0021514217 0.00455228 + 875700 0.0052436207 0.0023813744 0.004962219 + 875800 0.0069509741 0.0025043261 0.0059255086 + 875900 0.0041365959 0.0027307059 0.0047666867 + 876000 0.0041683689 0.0023980233 0.0044496424 + 876100 0.0044818974 0.0023080499 0.0045139838 + 876200 0.0055356339 0.0023281093 0.0050526791 + 876300 0.00513072 0.0028247312 0.0053500074 + 876400 0.0036105803 0.002752252 0.0045293345 + 876500 0.0053410201 0.0027367805 0.0053655639 + 876600 0.0067312377 0.0023960519 0.005709083 + 876700 0.0048540433 0.0021947179 0.0045838173 + 876800 0.00880151 0.0024503637 0.0067823569 + 876900 0.0046331472 0.0026565607 0.0049369378 + 877000 0.004905985 0.0023807329 0.0047953973 + 877100 0.004617521 0.0020409056 0.0043135917 + 877200 0.0058643511 0.0020728182 0.0049591785 + 877300 0.0038735243 0.0027327707 0.0046392709 + 877400 0.0050967443 0.0027072748 0.0052158286 + 877500 0.0063793264 0.0027483633 0.005888188 + 877600 0.00403064 0.0028343681 0.0048181988 + 877700 0.0051088484 0.0023991886 0.0049136999 + 877800 0.0057543479 0.0023554394 0.0051876575 + 877900 0.0039270919 0.0022284197 0.0041612853 + 878000 0.0053222998 0.0020218725 0.0046414419 + 878100 0.0047902295 0.0020631431 0.0044208342 + 878200 0.0043340027 0.00231719 0.0044503319 + 878300 0.0054717621 0.0024053434 0.0050984763 + 878400 0.0031097682 0.0027653396 0.0042959286 + 878500 0.004790605 0.0023610385 0.0047189144 + 878600 0.0031274303 0.002191831 0.0037311131 + 878700 0.0036689744 0.0022415149 0.0040473383 + 878800 0.0038995636 0.0020067935 0.0039261099 + 878900 0.0062542244 0.0017543833 0.0048326344 + 879000 0.00474175 0.0019873939 0.004321224 + 879100 0.0052369868 0.0022792552 0.0048568346 + 879200 0.0064249611 0.0023138618 0.0054761474 + 879300 0.0056699912 0.0024631786 0.0052538773 + 879400 0.0048663356 0.0022185995 0.0046137491 + 879500 0.0058871335 0.0015116222 0.0044091957 + 879600 0.0061483032 0.0017329028 0.0047590208 + 879700 0.0055595524 0.0022580625 0.0049944047 + 879800 0.0056313023 0.0020773869 0.0048490435 + 879900 0.0048404677 0.0025494979 0.0049319155 + 880000 0.0040448833 0.0026216084 0.0046124494 + 880100 0.0045252148 0.0023408464 0.0045681006 + 880200 0.005936884 0.0019798395 0.0049018996 + 880300 0.0050693011 0.0020955269 0.0045905736 + 880400 0.0060913318 0.0022565687 0.005254646 + 880500 0.0060456891 0.001835741 0.0048113537 + 880600 0.0040864686 0.0019716202 0.003982929 + 880700 0.004756474 0.0023789686 0.0047200456 + 880800 0.0051401003 0.0031718114 0.0057017045 + 880900 0.0041480808 0.003085802 0.0051274355 + 881000 0.0048996801 0.0026138552 0.0050254165 + 881100 0.0048452029 0.0021694403 0.0045541886 + 881200 0.0066722963 0.0020492008 0.0053332216 + 881300 0.0058587938 0.0023327799 0.0052164049 + 881400 0.0043007331 0.0024314499 0.0045482169 + 881500 0.004468019 0.0024242582 0.0046233613 + 881600 0.005868686 0.0018921017 0.0047805956 + 881700 0.0043253173 0.0019337986 0.0040626657 + 881800 0.0063366724 0.0026035135 0.0057223444 + 881900 0.0039472875 0.002625037 0.0045678426 + 882000 0.0053638009 0.0027222261 0.0053622219 + 882100 0.0056831005 0.0025810808 0.0053782319 + 882200 0.0040140185 0.0025357768 0.0045114265 + 882300 0.0041209138 0.0023556268 0.0043838891 + 882400 0.0034619986 0.002513694 0.0042176465 + 882500 0.0043527108 0.0025881754 0.0047305252 + 882600 0.0049268614 0.0029792959 0.0054042355 + 882700 0.0046309437 0.0027390805 0.0050183731 + 882800 0.0052378206 0.0023544931 0.0049324829 + 882900 0.0062184447 0.0027192116 0.0057798524 + 883000 0.0043203617 0.0032189361 0.0053453641 + 883100 0.0063489264 0.0027537505 0.0058786127 + 883200 0.0048147937 0.002134571 0.0045043523 + 883300 0.004277267 0.0019209472 0.0040261646 + 883400 0.0038598613 0.0019715336 0.003871309 + 883500 0.0040542753 0.0022615955 0.0042570591 + 883600 0.004916653 0.0022659212 0.0046858364 + 883700 0.0056886929 0.0023650792 0.0051649827 + 883800 0.0057146391 0.0027283382 0.0055410122 + 883900 0.0049039897 0.0033535674 0.0057672498 + 884000 0.0036804375 0.002989282 0.0048007473 + 884100 0.0080928572 0.0026990704 0.0066822736 + 884200 0.0044607618 0.0026092282 0.0048047594 + 884300 0.0039954684 0.0022201633 0.0041866829 + 884400 0.0042467578 0.0019744931 0.0040646942 + 884500 0.0051340083 0.0019964091 0.0045233038 + 884600 0.003100419 0.0023613492 0.0038873366 + 884700 0.0041449656 0.0022216534 0.0042617536 + 884800 0.0033603474 0.0022331405 0.0038870616 + 884900 0.0048812673 0.0024164915 0.0048189902 + 885000 0.0042665966 0.0025352993 0.0046352648 + 885100 0.0054631535 0.0022137156 0.0049026115 + 885200 0.0069571409 0.001915605 0.0053398227 + 885300 0.0049421166 0.0023023362 0.0047347841 + 885400 0.0055708664 0.0023132033 0.0050551141 + 885500 0.0055058378 0.002477637 0.0051875416 + 885600 0.0037021519 0.0027240328 0.0045461856 + 885700 0.0056733761 0.0028714199 0.0056637847 + 885800 0.0054825803 0.0023433392 0.0050417967 + 885900 0.0040208964 0.001898886 0.003877921 + 886000 0.0058827386 0.0021022735 0.0049976839 + 886100 0.0051112767 0.0026441841 0.0051598906 + 886200 0.0059883547 0.002345352 0.0052927453 + 886300 0.0056269975 0.0021332867 0.0049028245 + 886400 0.0049726928 0.0021445223 0.0045920195 + 886500 0.0041298088 0.0022254303 0.0042580706 + 886600 0.0050615884 0.0021906527 0.0046819033 + 886700 0.0037399563 0.0026923643 0.0045331241 + 886800 0.0039432036 0.002596804 0.0045375995 + 886900 0.0043618806 0.0025544807 0.0047013438 + 887000 0.0037841737 0.0028361698 0.0046986928 + 887100 0.0056115396 0.0023784116 0.0051403413 + 887200 0.0053603542 0.0021550098 0.0047933092 + 887300 0.0051647738 0.0024022075 0.0049442446 + 887400 0.0029236063 0.0022744631 0.0037134256 + 887500 0.0050034686 0.0022457197 0.0047083644 + 887600 0.004708532 0.0023879169 0.0047053975 + 887700 0.0050590601 0.0021671028 0.0046571089 + 887800 0.0077791709 0.0020773967 0.0059062074 + 887900 0.0056139027 0.0023325158 0.0050956086 + 888000 0.0045523085 0.0026130965 0.0048536858 + 888100 0.0039871808 0.0030177469 0.0049801874 + 888200 0.0057709602 0.0023512353 0.0051916298 + 888300 0.0051665456 0.0020936322 0.0046365413 + 888400 0.0077188166 0.0020481416 0.0058472467 + 888500 0.0039039817 0.0029153255 0.0048368165 + 888600 0.0041614589 0.0029893635 0.0050375815 + 888700 0.0045992298 0.0029448165 0.0052085 + 888800 0.0058725833 0.0024482657 0.0053386778 + 888900 0.0035874335 0.0019298779 0.0036955678 + 889000 0.0059200477 0.0020298543 0.0049436278 + 889100 0.0042555304 0.0028009792 0.0048954981 + 889200 0.0046057575 0.0025407934 0.0048076897 + 889300 0.0057758907 0.0023389256 0.0051817468 + 889400 0.0053544819 0.0023413119 0.0049767209 + 889500 0.0049923356 0.0024262825 0.0048834477 + 889600 0.0063049296 0.0026107213 0.0057139289 + 889700 0.0049646716 0.0027958326 0.005239382 + 889800 0.0039571107 0.0022758524 0.0042234929 + 889900 0.0047717947 0.0020637322 0.0044123498 + 890000 0.0069206807 0.0019908668 0.0053971393 + 890100 0.0059347109 0.0025491412 0.0054701317 + 890200 0.0052049866 0.003007148 0.0055689774 + 890300 0.0053196822 0.0031648453 0.0057831264 + 890400 0.0048521128 0.0030192572 0.0054074064 + 890500 0.0048677904 0.0026446925 0.0050405581 + 890600 0.0067814112 0.0029473075 0.0062850334 + 890700 0.0046930538 0.0030981052 0.0054079676 + 890800 0.0039973048 0.0028045827 0.0047720061 + 890900 0.00626743 0.0024104092 0.0054951599 + 891000 0.0049200327 0.0024471786 0.0048687572 + 891100 0.0062977728 0.0023927152 0.0054924002 + 891200 0.0035214956 0.0029145079 0.004647744 + 891300 0.0047377268 0.0029986041 0.005330454 + 891400 0.0050334107 0.002647294 0.0051246758 + 891500 0.0055015247 0.0019884857 0.0046962674 + 891600 0.0041820649 0.0015573603 0.0036157204 + 891700 0.0048282537 0.0018235864 0.0041999925 + 891800 0.0047139661 0.002625204 0.0049453592 + 891900 0.0048805778 0.0025626557 0.0049648151 + 892000 0.0051501763 0.0018350364 0.0043698888 + 892100 0.0033330381 0.0022052422 0.0038457219 + 892200 0.0036016393 0.0020583874 0.0038310693 + 892300 0.0047351724 0.002025046 0.0043556387 + 892400 0.005399144 0.0021626363 0.0048200275 + 892500 0.0056372482 0.002503977 0.0052785601 + 892600 0.0048218047 0.0024895486 0.0048627806 + 892700 0.0067038324 0.0025951106 0.0058946531 + 892800 0.004451721 0.0028017194 0.0049928009 + 892900 0.0047129257 0.0025067759 0.004826419 + 893000 0.0049398088 0.0025082581 0.0049395703 + 893100 0.0035313693 0.0024098384 0.0041479342 + 893200 0.0051151295 0.0023215639 0.0048391667 + 893300 0.0047619871 0.0018017262 0.0041455167 + 893400 0.0049459564 0.0016298623 0.0040642002 + 893500 0.0043644189 0.0018853857 0.0040334981 + 893600 0.0050062027 0.0023044961 0.0047684865 + 893700 0.0052140925 0.0021896748 0.004755986 + 893800 0.0064170406 0.0021065672 0.0052649544 + 893900 0.004747034 0.0024907052 0.004827136 + 894000 0.0041950389 0.0023292477 0.0043939935 + 894100 0.0046881287 0.00241676 0.0047241983 + 894200 0.0058082824 0.0024070911 0.0052658551 + 894300 0.0053581062 0.0021717635 0.0048089564 + 894400 0.0050816598 0.0022045332 0.0047056627 + 894500 0.0047434229 0.0022897741 0.0046244276 + 894600 0.0049731068 0.0022710964 0.0047187974 + 894700 0.0046697396 0.0022836032 0.0045819906 + 894800 0.0051144298 0.0019455928 0.0044628513 + 894900 0.0049148252 0.002232214 0.0046512295 + 895000 0.0058526189 0.0026614775 0.0055420633 + 895100 0.0042649513 0.0021418529 0.0042410086 + 895200 0.0045468513 0.0017405662 0.0039784696 + 895300 0.0050808261 0.0018094842 0.0043102033 + 895400 0.0058382994 0.0021427028 0.0050162408 + 895500 0.004106316 0.0021081735 0.0041292509 + 895600 0.0067530066 0.0023948249 0.0057185703 + 895700 0.0044877522 0.0028302256 0.0050390411 + 895800 0.0044197682 0.002863379 0.0050387336 + 895900 0.0058222767 0.0026615852 0.0055272371 + 896000 0.0063856689 0.0031503295 0.0062932759 + 896100 0.0046409102 0.0028214295 0.0051056274 + 896200 0.0049070431 0.0025574599 0.0049726452 + 896300 0.0053852951 0.0024679903 0.0051185652 + 896400 0.0044671985 0.0027184706 0.0049171699 + 896500 0.0058328064 0.002745444 0.0056162784 + 896600 0.0065478399 0.0021114362 0.0053342011 + 896700 0.0061439048 0.0021665239 0.0051904771 + 896800 0.0036829305 0.0027589793 0.0045716717 + 896900 0.0044508603 0.0030245961 0.0052152538 + 897000 0.0050272643 0.0025669108 0.0050412675 + 897100 0.0050802269 0.0021774833 0.0046779075 + 897200 0.0042164763 0.0019903137 0.0040656106 + 897300 0.0041734314 0.0023467402 0.004400851 + 897400 0.0043216406 0.0026199988 0.0047470562 + 897500 0.0036269146 0.002690346 0.004475468 + 897600 0.0046437661 0.0026545276 0.0049401312 + 897700 0.0054832617 0.0027667434 0.0054655363 + 897800 0.0041538692 0.0028489247 0.0048934072 + 897900 0.0065105841 0.0029924388 0.0061968669 + 898000 0.004299604 0.0031579409 0.0052741523 + 898100 0.0052186398 0.0029154994 0.0054840487 + 898200 0.0035310151 0.0026704237 0.0044083452 + 898300 0.0051850188 0.0028335734 0.0053855748 + 898400 0.0054968972 0.0028471248 0.0055526289 + 898500 0.0051974416 0.0030740068 0.0056321225 + 898600 0.0051864874 0.003142801 0.0056955253 + 898700 0.0055671615 0.0030370295 0.0057771167 + 898800 0.0038765726 0.0026755214 0.004583522 + 898900 0.0048034816 0.0021779084 0.0045421219 + 899000 0.0046593988 0.0023266387 0.0046199365 + 899100 0.0041435908 0.0024061951 0.0044456187 + 899200 0.0056456566 0.0021338593 0.0049125809 + 899300 0.0061629923 0.0019429937 0.0049763414 + 899400 0.0055107345 0.0019098829 0.0046221976 + 899500 0.0066799499 0.0023135203 0.0056013081 + 899600 0.005545488 0.0025098915 0.0052393114 + 899700 0.0056387523 0.0024068424 0.0051821658 + 899800 0.0052677192 0.0025708827 0.0051635882 + 899900 0.0064063305 0.0026330632 0.005786179 + 900000 0.0051896554 0.0026394357 0.0051937192 + 900100 0.0051424257 0.0023731255 0.0049041631 + 900200 0.0053264588 0.0029323066 0.0055539231 + 900300 0.0053726428 0.0034458433 0.006090191 + 900400 0.0048000036 0.0036932606 0.0060557623 + 900500 0.005780796 0.0032810089 0.0061262444 + 900600 0.0046671391 0.0028289157 0.0051260232 + 900700 0.0053174645 0.0026545405 0.00527173 + 900800 0.0051488013 0.00193654 0.0044707156 + 900900 0.003116809 0.0023804557 0.0039145102 + 901000 0.004077861 0.0025178214 0.0045248937 + 901100 0.0042719277 0.0018802099 0.0039827993 + 901200 0.0048587422 0.0016647607 0.0040561729 + 901300 0.0039318658 0.0019997331 0.0039349482 + 901400 0.0044805585 0.0020621932 0.0042674681 + 901500 0.0060297803 0.0018512514 0.0048190339 + 901600 0.0039994996 0.0025063376 0.0044748413 + 901700 0.0034125925 0.0029590806 0.004638716 + 901800 0.0045463418 0.0023386836 0.0045763362 + 901900 0.0050268241 0.0021964724 0.0046706124 + 902000 0.0044808963 0.0024731456 0.0046785868 + 902100 0.0051115058 0.0024148337 0.004930653 + 902200 0.005531322 0.0027690417 0.0054914892 + 902300 0.0037200675 0.0031584568 0.0049894275 + 902400 0.0069074203 0.0024208256 0.0058205715 + 902500 0.0055928815 0.0018101716 0.0045629179 + 902600 0.0054221857 0.0015644734 0.0042332055 + 902700 0.0064962399 0.0021000223 0.0052973904 + 902800 0.004849673 0.0024158471 0.0048027955 + 902900 0.0048140188 0.0023172684 0.0046866683 + 903000 0.0035801467 0.0024054441 0.0041675475 + 903100 0.0050845457 0.0023943017 0.0048968516 + 903200 0.0049651469 0.0024342683 0.0048780515 + 903300 0.0043481802 0.0022700021 0.004410122 + 903400 0.005027613 0.0022551328 0.004729661 + 903500 0.0043957529 0.0021295682 0.0042931028 + 903600 0.0049175925 0.0022158232 0.0046362007 + 903700 0.0040175087 0.0021626444 0.004140012 + 903800 0.0055263848 0.0023220466 0.0050420641 + 903900 0.0047937213 0.0026752084 0.0050346182 + 904000 0.004467783 0.0025544565 0.0047534434 + 904100 0.0064322884 0.0023668003 0.0055326923 + 904200 0.0043566861 0.0027039954 0.0048483018 + 904300 0.0055333259 0.0024370724 0.0051605063 + 904400 0.0052625818 0.0023261315 0.0049163085 + 904500 0.0064790833 0.0018271918 0.0050161156 + 904600 0.0040258508 0.0019372338 0.0039187072 + 904700 0.0042438272 0.0021382229 0.0042269816 + 904800 0.0038983496 0.002465181 0.0043838999 + 904900 0.0034373802 0.0025154921 0.0042073276 + 905000 0.0047749684 0.0020926246 0.0044428043 + 905100 0.00519731 0.0018125935 0.0043706445 + 905200 0.0041247178 0.0015505379 0.0035806725 + 905300 0.004085031 0.0017677597 0.0037783609 + 905400 0.0053755281 0.0019285148 0.0045742825 + 905500 0.003456825 0.0021468759 0.003848282 + 905600 0.0041703039 0.0020036896 0.004056261 + 905700 0.0053675936 0.0017989072 0.0044407697 + 905800 0.0056304321 0.0018881238 0.0046593521 + 905900 0.0051827582 0.002111801 0.0046626899 + 906000 0.0046268981 0.0021604913 0.0044377927 + 906100 0.0048778891 0.0017415816 0.0041424176 + 906200 0.0048284554 0.001606012 0.0039825174 + 906300 0.0050097732 0.0018370374 0.0043027852 + 906400 0.0052951566 0.0023753996 0.0049816095 + 906500 0.00360998 0.0026529742 0.0044297612 + 906600 0.0049020618 0.0023203924 0.004733126 + 906700 0.0039728164 0.0018402498 0.0037956204 + 906800 0.0051668375 0.0021418819 0.0046849348 + 906900 0.006029456 0.0025353953 0.0055030181 + 907000 0.0048182768 0.0028396772 0.0052111728 + 907100 0.0036523186 0.002486252 0.0042838775 + 907200 0.0051804608 0.0021969438 0.0047467019 + 907300 0.0039423503 0.0023228638 0.0042632394 + 907400 0.005958297 0.0020076149 0.0049402142 + 907500 0.0048427423 0.0020886078 0.0044721451 + 907600 0.004835821 0.0023873406 0.0047674712 + 907700 0.0050311498 0.0026626227 0.0051388917 + 907800 0.0044004019 0.0027295723 0.0048953951 + 907900 0.0057030186 0.002624149 0.0054311035 + 908000 0.0042225539 0.0023421616 0.0044204499 + 908100 0.0045252748 0.0022372436 0.0044645273 + 908200 0.0046938466 0.0022998039 0.0046100565 + 908300 0.0051968877 0.0018848299 0.004442673 + 908400 0.0044940251 0.0018741044 0.0040860074 + 908500 0.0055300511 0.0020345523 0.0047563743 + 908600 0.0038314241 0.0020939873 0.0039797664 + 908700 0.0048246269 0.0022942635 0.0046688846 + 908800 0.0044088803 0.0022280308 0.0043980265 + 908900 0.0045746775 0.0020235409 0.00427514 + 909000 0.0050827935 0.0018146604 0.0043163478 + 909100 0.0043291849 0.0022176685 0.0043484392 + 909200 0.0039598556 0.0025095571 0.0044585485 + 909300 0.0048759012 0.0023761529 0.0047760105 + 909400 0.0041999011 0.0024309747 0.0044981135 + 909500 0.0046997417 0.0023285298 0.0046416839 + 909600 0.0059034033 0.0023520687 0.00525765 + 909700 0.0067561221 0.0022643851 0.005589664 + 909800 0.005264055 0.0026799018 0.0052708038 + 909900 0.0055196706 0.0025711149 0.0052878278 + 910000 0.0062146072 0.0024327557 0.0054915076 + 910100 0.0053605092 0.002071339 0.0047097146 + 910200 0.0052003627 0.0018847933 0.0044443468 + 910300 0.004986245 0.0023018261 0.0047559936 + 910400 0.0048801521 0.002320487 0.0047224368 + 910500 0.004200677 0.0021142694 0.0041817901 + 910600 0.0049719859 0.0021912313 0.0046383806 + 910700 0.0037471977 0.0019161405 0.0037604644 + 910800 0.0038389037 0.0021119146 0.004001375 + 910900 0.0037920245 0.00236374 0.0042301271 + 911000 0.0043721584 0.0026287394 0.0047806611 + 911100 0.0049263575 0.0024380386 0.0048627302 + 911200 0.0059134533 0.0019308571 0.0048413849 + 911300 0.0064167319 0.0020178936 0.0051761288 + 911400 0.0048285169 0.0020266596 0.0044031953 + 911500 0.0046326742 0.001782392 0.0040625363 + 911600 0.0040839881 0.0018114111 0.003821499 + 911700 0.0030959627 0.002070187 0.0035939811 + 911800 0.0047393469 0.0019927063 0.0043253536 + 911900 0.0046939067 0.0019820098 0.004292292 + 912000 0.004420928 0.0018938262 0.0040697517 + 912100 0.004395885 0.0018882566 0.0040518562 + 912200 0.0041323549 0.0023464686 0.004380362 + 912300 0.0043761685 0.0029673675 0.0051212629 + 912400 0.0056509547 0.0030831731 0.0058645023 + 912500 0.0051194264 0.003034336 0.0055540537 + 912600 0.0051966358 0.0025092989 0.0050670181 + 912700 0.0055324059 0.0023396096 0.0050625907 + 912800 0.0047506141 0.0026615199 0.0049997128 + 912900 0.0039486766 0.0025280358 0.0044715251 + 913000 0.004373017 0.0022402261 0.0043925704 + 913100 0.0039033431 0.0019819891 0.0039031658 + 913200 0.0053159262 0.0019174568 0.0045338892 + 913300 0.0052168605 0.0024007616 0.0049684351 + 913400 0.0055527821 0.0024970091 0.0052300191 + 913500 0.0046554484 0.0023618506 0.0046532041 + 913600 0.0070462828 0.0019004153 0.0053685076 + 913700 0.0041963773 0.0022378223 0.0043032268 + 913800 0.0056328715 0.0022897384 0.0050621673 + 913900 0.0053138456 0.002097841 0.0047132494 + 914000 0.0037398641 0.002182162 0.0040228764 + 914100 0.0052541978 0.0023648724 0.0049509229 + 914200 0.0058063138 0.0022929702 0.0051507652 + 914300 0.0045500048 0.0020048574 0.0042443129 + 914400 0.0052569465 0.0019113962 0.0044987996 + 914500 0.0054154439 0.0018967399 0.0045621537 + 914600 0.0039986677 0.0020059697 0.0039740639 + 914700 0.0048618809 0.0020141853 0.0044071423 + 914800 0.0052625525 0.0022567853 0.0048469478 + 914900 0.0049194382 0.002049686 0.004470972 + 915000 0.0063626364 0.0022869034 0.0054185135 + 915100 0.0054391834 0.0024435513 0.0051206493 + 915200 0.0068518643 0.0022031435 0.0055755454 + 915300 0.0057379642 0.0024685895 0.0052927437 + 915400 0.0055694189 0.0028649298 0.0056061282 + 915500 0.0066814905 0.0023894394 0.0056779855 + 915600 0.006617267 0.0017228016 0.0049797377 + 915700 0.0049821151 0.001960516 0.0044126508 + 915800 0.004374652 0.0023311884 0.0044843374 + 915900 0.0055239533 0.0025468219 0.0052656427 + 916000 0.0044149637 0.0025288393 0.0047018293 + 916100 0.0052821089 0.0022409764 0.0048407644 + 916200 0.0054109994 0.0027208874 0.0053841137 + 916300 0.0054591035 0.0029888188 0.0056757214 + 916400 0.0051584313 0.0027536913 0.0052926067 + 916500 0.0049676597 0.0022049074 0.0046499274 + 916600 0.0052999312 0.0021233569 0.0047319168 + 916700 0.004787813 0.0020811328 0.0044376345 + 916800 0.0042617761 0.002414167 0.0045117599 + 916900 0.0039547541 0.0024373515 0.0043838321 + 917000 0.0047993266 0.0021320374 0.0044942059 + 917100 0.0050136032 0.0021069187 0.0045745515 + 917200 0.0053652832 0.00202814 0.0046688653 + 917300 0.0052628699 0.0019093167 0.0044996355 + 917400 0.0049229523 0.0025203343 0.0049433499 + 917500 0.005809302 0.0028338009 0.0056930667 + 917600 0.0055712206 0.0020231028 0.0047651879 + 917700 0.0062799992 0.0016827936 0.0047737307 + 917800 0.0051908567 0.0020571311 0.0046120058 + 917900 0.0065142937 0.0021426872 0.0053489412 + 918000 0.0046367163 0.0028041505 0.0050862843 + 918100 0.0048450661 0.0028857279 0.0052704089 + 918200 0.005410084 0.0025368448 0.0051996205 + 918300 0.0047911948 0.0027259989 0.0050841651 + 918400 0.00427912 0.0024676312 0.0045737606 + 918500 0.0048245465 0.0022192971 0.0045938786 + 918600 0.0049379289 0.0023679803 0.0047983672 + 918700 0.0049156677 0.0019446651 0.0043640953 + 918800 0.0052779085 0.0021049093 0.0047026299 + 918900 0.0059643791 0.002599548 0.0055351409 + 919000 0.0046481243 0.0030577347 0.0053454834 + 919100 0.0048180207 0.0026039327 0.0049753023 + 919200 0.0055939875 0.0024421783 0.0051954691 + 919300 0.0046148186 0.0024993115 0.0047706676 + 919400 0.0055463641 0.0018848679 0.004614719 + 919500 0.004104701 0.0019455644 0.003965847 + 919600 0.0053001198 0.0018246676 0.0044333203 + 919700 0.0037959858 0.001735494 0.0036038308 + 919800 0.0050620719 0.001912069 0.0044035575 + 919900 0.0058138327 0.0021383286 0.0049998244 + 920000 0.004642861 0.0025800829 0.0048652411 + 920100 0.0040573286 0.0021370816 0.004134048 + 920200 0.0048501684 0.0024113612 0.0047985534 + 920300 0.0052341946 0.0022744757 0.0048506808 + 920400 0.0037841596 0.0023285473 0.0041910633 + 920500 0.0060918899 0.0024068471 0.0054051992 + 920600 0.0042072636 0.002481413 0.0045521755 + 920700 0.0046767655 0.0024857938 0.0047876393 + 920800 0.0046189717 0.0023065742 0.0045799744 + 920900 0.0047623473 0.0019080102 0.004251978 + 921000 0.0063031126 0.0014992809 0.0046015941 + 921100 0.0048650079 0.0015990944 0.0039935904 + 921200 0.0040323277 0.0016520694 0.0036367307 + 921300 0.005558326 0.0013382922 0.0040740307 + 921400 0.0044101514 0.0012694396 0.0034400609 + 921500 0.0050585866 0.00117576 0.0036655331 + 921600 0.0070669766 0.0016424342 0.0051207117 + 921700 0.0056199389 0.002807347 0.0055734106 + 921800 0.0033955469 0.0025573448 0.0042285906 + 921900 0.0051801323 0.0021881293 0.0047377257 + 922000 0.0043708721 0.0025531149 0.0047044035 + 922100 0.0057740512 0.0025266342 0.0053685501 + 922200 0.0048701307 0.0024925675 0.0048895849 + 922300 0.0050470222 0.0022464522 0.0047305334 + 922400 0.0042561643 0.0021318229 0.0042266537 + 922500 0.0051114651 0.0017115714 0.0042273706 + 922600 0.0054348521 0.0015433214 0.0042182876 + 922700 0.0059361619 0.0016659807 0.0045876853 + 922800 0.0051299906 0.0020099622 0.0045348795 + 922900 0.0057384537 0.0024503723 0.0052747675 + 923000 0.005634874 0.0028824962 0.0056559107 + 923100 0.0043511282 0.0030385815 0.0051801524 + 923200 0.0059011403 0.0028525032 0.0057569707 + 923300 0.0054503706 0.0026074421 0.0052900463 + 923400 0.0044338149 0.00233958 0.0045218483 + 923500 0.0056876908 0.0024450671 0.0052444774 + 923600 0.0053548725 0.0024238017 0.005059403 + 923700 0.0041610726 0.0026370685 0.0046850964 + 923800 0.0054549439 0.0026620921 0.0053469473 + 923900 0.0060462426 0.0024251044 0.0054009894 + 924000 0.0061486763 0.0017146287 0.0047409303 + 924100 0.004507576 0.0018390553 0.0040576279 + 924200 0.0034168225 0.0019163151 0.0035980324 + 924300 0.0054691574 0.0019024082 0.0045942591 + 924400 0.0039611614 0.0024174581 0.0043670922 + 924500 0.0053401689 0.002610925 0.0052392893 + 924600 0.0051411284 0.0027116465 0.0052420456 + 924700 0.0054969837 0.0029139914 0.005619538 + 924800 0.005116258 0.0033864836 0.0059046418 + 924900 0.0043689912 0.0037963878 0.0059467507 + 925000 0.0048611998 0.0027932738 0.0051858956 + 925100 0.0057674136 0.0021834085 0.0050220573 + 925200 0.0043701244 0.0018700985 0.0040210192 + 925300 0.0050861714 0.002356186 0.004859536 + 925400 0.004891706 0.0025516349 0.0049592714 + 925500 0.0063681802 0.0025185198 0.0056528585 + 925600 0.0058278042 0.0027964462 0.0056648186 + 925700 0.0042685023 0.0024918294 0.0045927329 + 925800 0.0052014945 0.0021294976 0.0046896082 + 925900 0.0052965415 0.0020046196 0.0046115112 + 926000 0.0038945964 0.0022407669 0.0041576385 + 926100 0.0049378928 0.0019338653 0.0043642344 + 926200 0.0039983645 0.0020208436 0.0039887887 + 926300 0.0049777957 0.0020083615 0.0044583703 + 926400 0.004938174 0.0022088875 0.004639395 + 926500 0.0047395914 0.0023426808 0.0046754485 + 926600 0.0041298425 0.002563619 0.0045962758 + 926700 0.0060335777 0.0020011078 0.0049707594 + 926800 0.0058276761 0.0019550486 0.0048233579 + 926900 0.0053588424 0.0021297578 0.004767313 + 927000 0.0047052876 0.0026836065 0.0049994902 + 927100 0.0040548089 0.0031515587 0.0051472849 + 927200 0.0039159035 0.0031973402 0.005124699 + 927300 0.0055796588 0.0025156008 0.0052618391 + 927400 0.0036371989 0.0025330991 0.0043232829 + 927500 0.0048493519 0.002644484 0.0050312744 + 927600 0.0045915698 0.0023485232 0.0046084365 + 927700 0.0057341515 0.0020982342 0.0049205119 + 927800 0.0052595564 0.0020665295 0.0046552174 + 927900 0.003396242 0.0021541864 0.0038257743 + 928000 0.0057551108 0.0021484576 0.0049810512 + 928100 0.0042093886 0.0022079188 0.0042797273 + 928200 0.0057364553 0.0024043462 0.0052277577 + 928300 0.0053995242 0.0026189272 0.0052765055 + 928400 0.0045129009 0.0025028327 0.0047240261 + 928500 0.0050918747 0.00242307 0.0049292271 + 928600 0.0047191248 0.0029643215 0.0052870157 + 928700 0.0056036212 0.0030811318 0.0058391641 + 928800 0.0046392643 0.0029314724 0.0052148603 + 928900 0.0049473007 0.0023843057 0.0048193052 + 929000 0.0048188628 0.0024122828 0.0047840668 + 929100 0.0042367487 0.0021726274 0.0042579021 + 929200 0.0048459381 0.0017390697 0.0041241799 + 929300 0.0036791651 0.0019192079 0.003730047 + 929400 0.0043344527 0.0024421972 0.0045755607 + 929500 0.0038389118 0.002643325 0.0045327894 + 929600 0.0053219726 0.0026959858 0.0053153942 + 929700 0.0038805304 0.0026494063 0.0045593548 + 929800 0.0048373892 0.0025029799 0.0048838824 + 929900 0.0050956037 0.0028198027 0.0053277952 + 930000 0.0054092309 0.0031296845 0.0057920403 + 930100 0.0052065626 0.0033493884 0.0059119934 + 930200 0.0060104759 0.0035229027 0.0064811838 + 930300 0.0045309219 0.0031274206 0.0053574838 + 930400 0.007266367 0.0027468187 0.0063232337 + 930500 0.0045850537 0.0032635695 0.0055202756 + 930600 0.0043762842 0.0031506709 0.0053046232 + 930700 0.0044604384 0.0026714507 0.0048668228 + 930800 0.0051464237 0.0022446364 0.0047776418 + 930900 0.0060339021 0.0020165491 0.0049863603 + 931000 0.0071020203 0.0024638627 0.0059593883 + 931100 0.0056639732 0.0033222923 0.0061100291 + 931200 0.0044304106 0.0035117304 0.0056923232 + 931300 0.0047807737 0.0034171773 0.0057702143 + 931400 0.0045114333 0.0026519549 0.0048724259 + 931500 0.0053472048 0.0023658636 0.004997691 + 931600 0.00421367 0.0024548988 0.0045288145 + 931700 0.0047050512 0.0023228339 0.0046386013 + 931800 0.0058761409 0.0023940254 0.0052861885 + 931900 0.0054523806 0.0022427319 0.0049263255 + 932000 0.0062041289 0.0022833672 0.0053369619 + 932100 0.005553912 0.0029192016 0.0056527677 + 932200 0.0053969721 0.0030977278 0.00575405 + 932300 0.0038672837 0.0030317984 0.0049352271 + 932400 0.0041890234 0.002940507 0.005002292 + 932500 0.006199807 0.0023398115 0.005391279 + 932600 0.0060328623 0.0021920828 0.0051613822 + 932700 0.0056022576 0.0021436183 0.0049009795 + 932800 0.0037513242 0.0022034674 0.0040498222 + 932900 0.0057822151 0.0022280361 0.0050739701 + 933000 0.004073598 0.0027069939 0.0047119679 + 933100 0.0040395685 0.0026693543 0.0046575794 + 933200 0.004896641 0.0029657658 0.0053758313 + 933300 0.0033809608 0.0030693651 0.0047334317 + 933400 0.0035249135 0.0029027 0.0046376184 + 933500 0.0037263457 0.0028186316 0.0046526924 + 933600 0.0053147414 0.0027182781 0.0053341273 + 933700 0.0042836624 0.0021090264 0.0042173915 + 933800 0.0039882246 0.002014775 0.0039777293 + 933900 0.0058757471 0.002213763 0.0051057323 + 934000 0.0039019677 0.0023645871 0.0042850869 + 934100 0.0045881015 0.0025526282 0.0048108344 + 934200 0.0048076113 0.0025711084 0.0049373545 + 934300 0.0064304546 0.0024602113 0.0056252007 + 934400 0.0044470448 0.0025451466 0.0047339264 + 934500 0.0046184101 0.0027887184 0.0050618422 + 934600 0.0051422959 0.0029513366 0.0054823104 + 934700 0.0059289564 0.0030727061 0.0059908644 + 934800 0.0040907699 0.0028460848 0.0048595106 + 934900 0.0058702665 0.0022105463 0.0050998181 + 935000 0.0042501409 0.0021318175 0.0042236837 + 935100 0.0042552609 0.0023089585 0.0044033447 + 935200 0.0046383473 0.00242752 0.0047104565 + 935300 0.0036176388 0.002688679 0.0044692356 + 935400 0.0058130486 0.0028215994 0.0056827093 + 935500 0.0060911113 0.0031725991 0.0061705679 + 935600 0.0061797377 0.0030352173 0.006076807 + 935700 0.0056871505 0.0027031988 0.0055023432 + 935800 0.0070082996 0.0023441877 0.0057935851 + 935900 0.0045674525 0.0026709615 0.0049190046 + 936000 0.0064976042 0.0027217517 0.0059197912 + 936100 0.0049208596 0.0029439921 0.0053659777 + 936200 0.0059595122 0.0025776072 0.0055108046 + 936300 0.0057494793 0.0024622841 0.005292106 + 936400 0.0053918274 0.0023191201 0.0049729101 + 936500 0.0046591399 0.0022943274 0.0045874979 + 936600 0.0041456389 0.0022140195 0.0042544511 + 936700 0.0049345798 0.0022264915 0.00465523 + 936800 0.0042294849 0.0026834699 0.0047651696 + 936900 0.0044745315 0.0027253656 0.0049276741 + 937000 0.0043750472 0.0024856963 0.0046390399 + 937100 0.0065205043 0.0020256014 0.0052349121 + 937200 0.003894459 0.0021326678 0.0040494719 + 937300 0.0042757519 0.002342313 0.0044467847 + 937400 0.005789107 0.0020006931 0.0048500192 + 937500 0.0053955103 0.0022000383 0.0048556411 + 937600 0.0057601113 0.0026158752 0.00545093 + 937700 0.0042768243 0.0025861258 0.0046911253 + 937800 0.0052665614 0.0028553205 0.0054474563 + 937900 0.0048967551 0.0030680345 0.0054781561 + 938000 0.0044598184 0.0029767424 0.0051718093 + 938100 0.0051669013 0.0027480699 0.0052911542 + 938200 0.005058361 0.0022343884 0.0047240504 + 938300 0.0055617119 0.0022157697 0.0049531747 + 938400 0.0055006492 0.0030293846 0.0057367354 + 938500 0.0047615923 0.0032788869 0.0056224831 + 938600 0.0043054883 0.0029317573 0.0050508648 + 938700 0.0047922707 0.00245256 0.0048112557 + 938800 0.0062419456 0.001938114 0.0050103216 + 938900 0.0051272045 0.0021837101 0.0047072561 + 939000 0.0046132337 0.0025506977 0.0048212736 + 939100 0.0042723858 0.0028687715 0.0049715864 + 939200 0.0057209927 0.0025703367 0.0053861378 + 939300 0.0045563957 0.0025772742 0.0048198752 + 939400 0.0036301583 0.0028005332 0.0045872517 + 939500 0.0047717076 0.0028537755 0.0052023504 + 939600 0.005847651 0.0026699104 0.0055480511 + 939700 0.0058028807 0.0026750506 0.0055311559 + 939800 0.0041662964 0.0029831398 0.0050337388 + 939900 0.0057540793 0.0025766038 0.0054086897 + 940000 0.0055865214 0.0022934528 0.0050430688 + 940100 0.0055537429 0.0017258368 0.0044593197 + 940200 0.00530236 0.0020064863 0.0046162416 + 940300 0.0062258222 0.0025992646 0.0056635365 + 940400 0.0038571234 0.0023207923 0.0042192202 + 940500 0.0047267027 0.0022756132 0.0046020372 + 940600 0.0052180928 0.0023328223 0.0049011024 + 940700 0.0052404956 0.002184849 0.0047641554 + 940800 0.0050910967 0.0026406146 0.0051463887 + 940900 0.006916421 0.0025829048 0.0059870807 + 941000 0.0059410891 0.0023656385 0.0052897683 + 941100 0.0047842835 0.002450873 0.0048056375 + 941200 0.0059869149 0.0025221128 0.0054687975 + 941300 0.0055028583 0.0025628549 0.005271293 + 941400 0.004044303 0.0026673609 0.0046579163 + 941500 0.005232939 0.0027992363 0.0053748235 + 941600 0.0054789374 0.0025693566 0.0052660211 + 941700 0.0058847145 0.002512034 0.0054084169 + 941800 0.0046831932 0.0025126173 0.0048176265 + 941900 0.0058933143 0.0024832708 0.0053838864 + 942000 0.0052535013 0.0027002764 0.0052859841 + 942100 0.0040428723 0.0026460414 0.0046358926 + 942200 0.0029825638 0.0027818726 0.0042498532 + 942300 0.0042674152 0.0029062828 0.0050066512 + 942400 0.007551551 0.0024815077 0.0061982867 + 942500 0.0053853304 0.002300703 0.0049512953 + 942600 0.0044000582 0.0024228008 0.0045884544 + 942700 0.0055262419 0.0026545484 0.0053744956 + 942800 0.0045500215 0.0031296539 0.0053691176 + 942900 0.0048788686 0.0026166526 0.0050179707 + 943000 0.0063967354 0.0024988661 0.0056472593 + 943100 0.0037014131 0.0027575411 0.0045793303 + 943200 0.0052847483 0.0029265673 0.0055276544 + 943300 0.0058889948 0.0026026083 0.0055010979 + 943400 0.0049484459 0.0030018104 0.0054373736 + 943500 0.0040954753 0.0037254432 0.005741185 + 943600 0.0059729898 0.0037985025 0.0067383334 + 943700 0.005429131 0.0035912496 0.0062634 + 943800 0.0057702796 0.0030298208 0.0058698803 + 943900 0.0063097178 0.0024069178 0.005512482 + 944000 0.0063115687 0.0018228507 0.0049293259 + 944100 0.0047306978 0.0021377933 0.0044661836 + 944200 0.0049731402 0.0022457233 0.0046934407 + 944300 0.0050328435 0.0027647491 0.0052418518 + 944400 0.0048402985 0.0027084786 0.005090813 + 944500 0.0049663793 0.0023661841 0.0048105738 + 944600 0.0055851171 0.0025338039 0.0052827287 + 944700 0.0047259597 0.0028206648 0.0051467231 + 944800 0.0055804226 0.002790576 0.0055371903 + 944900 0.004539636 0.0025764804 0.0048108325 + 945000 0.0049546389 0.002670543 0.0051091543 + 945100 0.00629192 0.0024849238 0.0055817282 + 945200 0.0055061487 0.0021399441 0.0048500017 + 945300 0.0042405755 0.0018943107 0.003981469 + 945400 0.0046383428 0.0019598295 0.0042427638 + 945500 0.0053577969 0.0022172381 0.0048542787 + 945600 0.0067188967 0.0022628882 0.0055698451 + 945700 0.0054645058 0.0028110695 0.005500631 + 945800 0.0057043696 0.0026245262 0.0054321456 + 945900 0.0050061015 0.0024214893 0.0048854299 + 946000 0.0054027856 0.0022816078 0.0049407913 + 946100 0.0057359931 0.0023312369 0.005154421 + 946200 0.0039478941 0.0029821023 0.0049252065 + 946300 0.0036498332 0.0026728435 0.0044692458 + 946400 0.0030426277 0.0022709828 0.0037685261 + 946500 0.0040760536 0.001987561 0.0039937436 + 946600 0.0052555951 0.001818584 0.0044053222 + 946700 0.0040844329 0.0019546641 0.0039649709 + 946800 0.003721803 0.0022740336 0.0041058585 + 946900 0.0050439767 0.002654704 0.0051372863 + 947000 0.0057007413 0.0028250808 0.0056309144 + 947100 0.0053458807 0.0030505089 0.0056816845 + 947200 0.0059890647 0.0026540915 0.0056018343 + 947300 0.0053634335 0.0021911688 0.0048309838 + 947400 0.0062812626 0.0025456603 0.0056372193 + 947500 0.0055662807 0.0029317744 0.0056714282 + 947600 0.0058796594 0.0029795713 0.0058734662 + 947700 0.0045831884 0.0026968115 0.0049525996 + 947800 0.0049316095 0.0021935426 0.0046208192 + 947900 0.0045622238 0.0021104641 0.0043559336 + 948000 0.0049015154 0.0024799711 0.0048924357 + 948100 0.0051006123 0.0024315928 0.0049420505 + 948200 0.0044246905 0.0023395206 0.0045172979 + 948300 0.0042431313 0.0024323421 0.0045207583 + 948400 0.0061765315 0.0020255371 0.0050655487 + 948500 0.0040925191 0.0021204769 0.0041347636 + 948600 0.0062126189 0.0020628051 0.0051205784 + 948700 0.0038472073 0.0024518676 0.0043454149 + 948800 0.0056633353 0.0026472281 0.0054346509 + 948900 0.0069753118 0.0024827005 0.0059158618 + 949000 0.0047123715 0.0023976062 0.0047169765 + 949100 0.0036626458 0.0025671018 0.0043698103 + 949200 0.0051176564 0.0023153214 0.0048341679 + 949300 0.0049317815 0.00238205 0.0048094112 + 949400 0.0053877343 0.0022436456 0.0048954211 + 949500 0.0050071881 0.0024375935 0.0049020689 + 949600 0.0052238604 0.0025904968 0.0051616156 + 949700 0.0059739605 0.0022618692 0.0052021778 + 949800 0.0066254491 0.0018933576 0.0051543209 + 949900 0.0052973689 0.0018922931 0.0044995919 + 950000 0.005871615 0.0023023909 0.0051923264 + 950100 0.0043702924 0.0022634459 0.0044144492 + 950200 0.0052240399 0.0019970327 0.0045682398 + 950300 0.0050474881 0.0022985127 0.0047828233 + 950400 0.0034046545 0.00262315 0.0042988784 + 950500 0.0067568238 0.0021261418 0.005451766 + 950600 0.0066191696 0.0020446596 0.0053025322 + 950700 0.0051685827 0.0022882745 0.0048321863 + 950800 0.0057577136 0.0024297998 0.0052636745 + 950900 0.0049442696 0.0026405251 0.0050740328 + 951000 0.0043484213 0.0025744845 0.0047147231 + 951100 0.0056253987 0.0023795711 0.005148322 + 951200 0.0045659117 0.0022679499 0.0045152345 + 951300 0.0043378108 0.0018926746 0.0040276908 + 951400 0.0065256962 0.0016194286 0.0048312947 + 951500 0.0049328263 0.0018101225 0.0042379979 + 951600 0.0054955109 0.0021776736 0.0048824954 + 951700 0.0051266456 0.0023573296 0.0048806005 + 951800 0.0056545541 0.0018344479 0.0046175487 + 951900 0.0044242089 0.0020848418 0.0042623821 + 952000 0.004295656 0.002310632 0.0044249002 + 952100 0.0054488928 0.0023271455 0.0050090225 + 952200 0.0053456947 0.0025244414 0.0051555255 + 952300 0.0039378611 0.0027640493 0.0047022153 + 952400 0.0062848054 0.0026895723 0.005782875 + 952500 0.0052284652 0.0027776272 0.0053510124 + 952600 0.004612894 0.0029092513 0.00517966 + 952700 0.0031301463 0.0032166521 0.004757271 + 952800 0.0054251697 0.0029185922 0.0055887929 + 952900 0.0045127441 0.0030191288 0.0052402451 + 953000 0.0042209796 0.0033981003 0.0054756137 + 953100 0.0053297597 0.0031183136 0.0057415548 + 953200 0.0057773043 0.0027225539 0.0055660709 + 953300 0.0049408349 0.0031541272 0.0055859444 + 953400 0.0048188352 0.0034399608 0.0058117312 + 953500 0.0070756999 0.0035650154 0.0070475864 + 953600 0.0069269414 0.0029926105 0.0064019644 + 953700 0.0042365424 0.0025294809 0.0046146541 + 953800 0.0052880541 0.0024942767 0.0050969908 + 953900 0.0040853431 0.0025450474 0.0045558022 + 954000 0.0053354698 0.0024467394 0.005072791 + 954100 0.0068383884 0.0024883028 0.0058540721 + 954200 0.0059830907 0.0029992574 0.0059440599 + 954300 0.0051325576 0.0032958988 0.0058220795 + 954400 0.0053431121 0.0035292586 0.0061590715 + 954500 0.0062911869 0.0028190741 0.0059155176 + 954600 0.0056662969 0.0027713601 0.0055602406 + 954700 0.004839716 0.0030467468 0.0054287946 + 954800 0.0040856117 0.0031213348 0.0051322218 + 954900 0.0061049369 0.0024529619 0.0054577355 + 955000 0.0067830182 0.0022949625 0.0056334793 + 955100 0.0048124159 0.0026790293 0.0050476402 + 955200 0.0051320904 0.0026637322 0.0051896829 + 955300 0.0044366945 0.0026572959 0.0048409815 + 955400 0.0043384277 0.0029294092 0.0050647291 + 955500 0.0043606052 0.0025305988 0.0046768341 + 955600 0.0049270141 0.0023991187 0.0048241335 + 955700 0.0055404666 0.0024470576 0.005174006 + 955800 0.0048660762 0.0025300831 0.004925105 + 955900 0.0045288338 0.0025020567 0.0047310921 + 956000 0.0037373819 0.0027021187 0.0045416113 + 956100 0.0054147805 0.002217414 0.0048825013 + 956200 0.0054748648 0.0021616306 0.0048562906 + 956300 0.0048912715 0.0026420371 0.0050494598 + 956400 0.0060685353 0.0030810823 0.0060679395 + 956500 0.0067688139 0.0029920088 0.0063235344 + 956600 0.0065194866 0.0027315496 0.0059403594 + 956700 0.0052484005 0.0029923982 0.0055755954 + 956800 0.0073177895 0.0032899337 0.0068916582 + 956900 0.00369462 0.0037931516 0.0056115974 + 957000 0.0046778423 0.0032054554 0.005507831 + 957100 0.0073346237 0.0025621863 0.0061721964 + 957200 0.0052161599 0.0026695404 0.0052368691 + 957300 0.0062881644 0.002733055 0.0058280109 + 957400 0.0066282065 0.002796169 0.0060584894 + 957500 0.0054778016 0.0027070739 0.0054031794 + 957600 0.0040035548 0.0025968919 0.0045673915 + 957700 0.0063525773 0.0031867178 0.0063133769 + 957800 0.0063702191 0.003345988 0.0064813302 + 957900 0.0048880732 0.0030220289 0.0054278775 + 958000 0.0051681918 0.0025990416 0.005142761 + 958100 0.0062247171 0.0028495466 0.0059132745 + 958200 0.0053088503 0.0035062588 0.0061192085 + 958300 0.0056476554 0.0038400067 0.0066197121 + 958400 0.0064903041 0.0035941482 0.0067885947 + 958500 0.0044972172 0.0029075558 0.0051210299 + 958600 0.0050582398 0.0029406203 0.0054302228 + 958700 0.0052528671 0.0031631749 0.0057485704 + 958800 0.006320579 0.0033955212 0.0065064311 + 958900 0.0047043381 0.0030384364 0.0053538529 + 959000 0.0046587727 0.0031213947 0.0054143844 + 959100 0.0046601284 0.0030741291 0.0053677861 + 959200 0.0057811055 0.0031875593 0.0060329472 + 959300 0.0063902738 0.0029558541 0.006101067 + 959400 0.0045763232 0.0030535503 0.0053059593 + 959500 0.0049363889 0.0027582756 0.0051879045 + 959600 0.0057086478 0.0022773497 0.0050870748 + 959700 0.0041746861 0.001880601 0.0039353293 + 959800 0.0067161598 0.0019156643 0.0052212742 + 959900 0.0055711488 0.0021579566 0.0049000064 + 960000 0.0036301064 0.0022034891 0.0039901821 + 960100 0.0050614143 0.0022651395 0.0047563044 + 960200 0.0053190788 0.0022989089 0.004916893 + 960300 0.0048745753 0.0022139832 0.0046131882 + 960400 0.0037753518 0.002381552 0.004239733 + 960500 0.0047743809 0.0021340948 0.0044839854 + 960600 0.0050978142 0.0021010776 0.004610158 + 960700 0.0046660592 0.0025711972 0.0048677732 + 960800 0.0053728543 0.0024075427 0.0050519944 + 960900 0.0050684637 0.002379489 0.0048741234 + 961000 0.0040528163 0.0026684818 0.0046632273 + 961100 0.0050397994 0.0023025136 0.0047830398 + 961200 0.005869114 0.0024980724 0.0053867769 + 961300 0.00460283 0.0027099919 0.0049754473 + 961400 0.0033418859 0.0025795541 0.0042243886 + 961500 0.0045319783 0.0023352223 0.0045658054 + 961600 0.0047375909 0.0026318039 0.0049635869 + 961700 0.0054719538 0.0028897986 0.0055830259 + 961800 0.0052110218 0.0032483011 0.0058131009 + 961900 0.0055237285 0.0032202476 0.0059389578 + 962000 0.0049923225 0.0036686818 0.0061258405 + 962100 0.0051654824 0.0033459152 0.005888301 + 962200 0.0046553772 0.003007577 0.0052988955 + 962300 0.0051898955 0.0026861344 0.005240536 + 962400 0.0047444432 0.0026110999 0.0049462555 + 962500 0.0046547194 0.0024057364 0.0046967311 + 962600 0.0043444244 0.0022185106 0.004356782 + 962700 0.0045710532 0.0022787153 0.0045285305 + 962800 0.0056309538 0.0025598267 0.0053313118 + 962900 0.0056799637 0.0028003728 0.0055959799 + 963000 0.0054720794 0.0033730209 0.00606631 + 963100 0.0048060275 0.0033059762 0.0056714429 + 963200 0.0060132481 0.003040183 0.0059998285 + 963300 0.0060286894 0.0023676814 0.005334927 + 963400 0.0042948451 0.0019431746 0.0040570437 + 963500 0.0049993469 0.0018178056 0.0042784217 + 963600 0.0046736506 0.0019528234 0.0042531358 + 963700 0.0051311231 0.0022791924 0.004804667 + 963800 0.0044148408 0.0030809563 0.0052538858 + 963900 0.0034097809 0.0033801416 0.0050583932 + 964000 0.0044419105 0.0030615022 0.005247755 + 964100 0.0038787818 0.0027943085 0.0047033964 + 964200 0.0048640733 0.0023350531 0.0047290892 + 964300 0.0043575879 0.0026652359 0.0048099862 + 964400 0.00515347 0.0025261831 0.0050626566 + 964500 0.0058013073 0.0025799651 0.0054352961 + 964600 0.0042752995 0.0030501086 0.0051543576 + 964700 0.0039066008 0.0031121239 0.005034904 + 964800 0.0044702605 0.002633125 0.0048333313 + 964900 0.0055637268 0.0025685072 0.005306904 + 965000 0.0063072728 0.0031860859 0.0062904467 + 965100 0.0044775059 0.0033925959 0.0055963683 + 965200 0.0049590206 0.0035235257 0.0059642936 + 965300 0.006077838 0.0033054811 0.006296917 + 965400 0.0053871944 0.0035425306 0.0061940403 + 965500 0.005775289 0.003313173 0.006155698 + 965600 0.0043051279 0.0032338621 0.0053527923 + 965700 0.0048105097 0.0031314818 0.0054991545 + 965800 0.0051837212 0.0029806351 0.0055319979 + 965900 0.0060806147 0.0028220307 0.0058148332 + 966000 0.0073224969 0.0027265501 0.0063305916 + 966100 0.0054534369 0.0029525469 0.0056366604 + 966200 0.0052222476 0.0027012929 0.0052716179 + 966300 0.00521233 0.0023217229 0.0048871665 + 966400 0.0057072644 0.0022546914 0.0050637356 + 966500 0.0050167813 0.0024404549 0.004909652 + 966600 0.0054217678 0.0022421428 0.0049106691 + 966700 0.0060904884 0.0023933786 0.0053910409 + 966800 0.0056468198 0.002944943 0.0057242371 + 966900 0.0042769952 0.0031348273 0.0052399109 + 967000 0.0057855226 0.0031396883 0.0059872501 + 967100 0.0066250209 0.0029328255 0.006193578 + 967200 0.0058449091 0.0027103353 0.0055871266 + 967300 0.0045471547 0.0027637775 0.0050018302 + 967400 0.0052337235 0.0028440651 0.0054200383 + 967500 0.005479885 0.0030187323 0.0057158632 + 967600 0.0050895891 0.002381631 0.0048866631 + 967700 0.0038354455 0.0027555543 0.0046433127 + 967800 0.0048407113 0.0026137701 0.0049963078 + 967900 0.0051305605 0.0024706873 0.0049958851 + 968000 0.0055470194 0.0024453347 0.0051755083 + 968100 0.0052279897 0.0025694082 0.0051425594 + 968200 0.0055225297 0.0026274135 0.0053455336 + 968300 0.0046820165 0.0025232228 0.0048276528 + 968400 0.0049002252 0.0027831473 0.0051949769 + 968500 0.0048682168 0.0021295981 0.0045256736 + 968600 0.0054144194 0.0018143244 0.0044792339 + 968700 0.0045578242 0.002160903 0.0044042071 + 968800 0.0055532297 0.0025480002 0.0052812304 + 968900 0.0059639747 0.0022492709 0.0051846647 + 969000 0.0051230932 0.0024924616 0.005013984 + 969100 0.0053698262 0.002713762 0.0053567234 + 969200 0.0045618098 0.0028775127 0.0051227785 + 969300 0.0043560547 0.0024619789 0.0046059745 + 969400 0.0049038556 0.0025159774 0.0049295938 + 969500 0.0056376871 0.0026553717 0.0054301708 + 969600 0.005043098 0.0025124895 0.0049946393 + 969700 0.0050046294 0.0027719528 0.0052351688 + 969800 0.0042023088 0.0031761414 0.0052444653 + 969900 0.0050246276 0.0030673514 0.0055404102 + 970000 0.0048542202 0.002921362 0.0053105485 + 970100 0.0049725212 0.0025353311 0.0049827439 + 970200 0.0073508767 0.0026966449 0.0063146545 + 970300 0.0056753656 0.0033404216 0.0061337656 + 970400 0.0049212835 0.0037268567 0.0061490509 + 970500 0.0047838439 0.0036177179 0.0059722661 + 970600 0.0049137632 0.0032094314 0.0056279242 + 970700 0.0053006436 0.0028654733 0.0054743838 + 970800 0.0047455832 0.0029088356 0.0052445523 + 970900 0.0058562198 0.0028616988 0.005744057 + 971000 0.0046797299 0.0027642705 0.0050675751 + 971100 0.0035736731 0.0027741373 0.0045330546 + 971200 0.0048921041 0.0021112037 0.0045190362 + 971300 0.0055196962 0.0019084903 0.0046252158 + 971400 0.0056464769 0.0022449631 0.0050240885 + 971500 0.0038859703 0.002663827 0.004576453 + 971600 0.0047725244 0.0025582852 0.004907262 + 971700 0.0046081126 0.0025390258 0.0048070812 + 971800 0.0043262709 0.0026059807 0.0047353171 + 971900 0.006566044 0.002471612 0.0057033367 + 972000 0.0057944598 0.0025446497 0.0053966104 + 972100 0.0058313404 0.0026248712 0.005494984 + 972200 0.0031429178 0.0027992152 0.0043461201 + 972300 0.0052467752 0.0028551449 0.0054375421 + 972400 0.0055893576 0.0027462849 0.0054972968 + 972500 0.0061902888 0.0025071501 0.0055539329 + 972600 0.0057115877 0.0032148349 0.006026007 + 972700 0.0047704902 0.0030924464 0.005440422 + 972800 0.0058587438 0.0030758046 0.0059594051 + 972900 0.0048952981 0.0028195135 0.0052289181 + 973000 0.0045538318 0.0025685315 0.0048098706 + 973100 0.0042741367 0.0028053202 0.0049089968 + 973200 0.0035746403 0.0024357127 0.0041951059 + 973300 0.0045904176 0.0023875068 0.004646853 + 973400 0.0048457394 0.0023069306 0.0046919429 + 973500 0.0042837146 0.0027912615 0.0048996523 + 973600 0.0047674613 0.0028068874 0.0051533723 + 973700 0.0049523031 0.002596494 0.0050339557 + 973800 0.0068748342 0.0027046842 0.0060883917 + 973900 0.0057609804 0.0024336636 0.0052691462 + 974000 0.0056063668 0.0024964712 0.0052558549 + 974100 0.0051900314 0.0023804685 0.0049349371 + 974200 0.0064487718 0.002307078 0.0054810829 + 974300 0.0061834083 0.0025944841 0.0056378803 + 974400 0.0057025311 0.0027520556 0.0055587701 + 974500 0.0042751238 0.0024166917 0.0045208542 + 974600 0.0053766503 0.0021838034 0.0048301235 + 974700 0.0030039709 0.0025841816 0.0040626986 + 974800 0.0046691123 0.0025361846 0.0048342633 + 974900 0.0052974161 0.0029100697 0.0055173917 + 975000 0.0040907323 0.0033242655 0.0053376728 + 975100 0.0047023544 0.0028784567 0.0051928967 + 975200 0.0050075817 0.0026531915 0.0051178606 + 975300 0.0058441367 0.0024578842 0.0053342952 + 975400 0.0039066278 0.0026738475 0.0045966408 + 975500 0.0045124393 0.002391999 0.0046129652 + 975600 0.0040024196 0.0022331199 0.0042030608 + 975700 0.0040280973 0.0025148811 0.0044974602 + 975800 0.0059446815 0.0023142213 0.0052401192 + 975900 0.003542666 0.0022327459 0.0039764018 + 976000 0.0058896396 0.0020503669 0.0049491739 + 976100 0.0055778445 0.0024299175 0.0051752629 + 976200 0.0047260621 0.0024655669 0.0047916756 + 976300 0.0035849619 0.0024940339 0.0042585073 + 976400 0.0049926099 0.002404931 0.0048622312 + 976500 0.0070676434 0.0020788192 0.005557425 + 976600 0.0054104219 0.0023046444 0.0049675864 + 976700 0.0036560688 0.0026005898 0.0044000612 + 976800 0.0043873014 0.0025404343 0.0046998092 + 976900 0.0046546409 0.0025788444 0.0048698005 + 977000 0.0056209652 0.0027395092 0.005506078 + 977100 0.005725543 0.0031284995 0.0059465402 + 977200 0.0055606875 0.0025838678 0.0053207686 + 977300 0.0043430628 0.0028360571 0.0049736583 + 977400 0.0037029631 0.0028367586 0.0046593107 + 977500 0.0069719144 0.001938028 0.0053695171 + 977600 0.0057626055 0.0019937371 0.0048300195 + 977700 0.0060237783 0.002190744 0.0051555723 + 977800 0.0050946393 0.0026385334 0.0051460512 + 977900 0.0037238203 0.0028303221 0.0046631399 + 978000 0.0044458966 0.0028124466 0.0050006613 + 978100 0.0043034232 0.0030163878 0.0051344789 + 978200 0.0066942561 0.0027167802 0.0060116094 + 978300 0.0045747149 0.0027150106 0.0049666281 + 978400 0.0043064495 0.0022617086 0.0043812892 + 978500 0.0070645926 0.0017127655 0.0051898697 + 978600 0.0061699792 0.0016400269 0.0046768135 + 978700 0.0036209581 0.0021046637 0.003886854 + 978800 0.0040657748 0.002035424 0.0040365476 + 978900 0.0047386898 0.0024307211 0.004763045 + 979000 0.0045105558 0.0025228213 0.0047428605 + 979100 0.0036730443 0.0026645951 0.0044724216 + 979200 0.0051323164 0.0023169247 0.0048429867 + 979300 0.0057187874 0.0018002487 0.0046149644 + 979400 0.0042600571 0.0018455482 0.0039422951 + 979500 0.0041048546 0.0017923513 0.0038127094 + 979600 0.003105054 0.0020439512 0.00357222 + 979700 0.0049926746 0.001661332 0.004118664 + 979800 0.0046366505 0.0014668497 0.0037489511 + 979900 0.0044969741 0.0017386524 0.0039520069 + 980000 0.0051131067 0.0020044239 0.0045210311 + 980100 0.0046570978 0.0025129328 0.0048050981 + 980200 0.0051005303 0.002560698 0.0050711152 + 980300 0.0055117421 0.0026174832 0.0053302938 + 980400 0.0058534693 0.0025608534 0.0054418578 + 980500 0.0057978676 0.0021891361 0.0050427741 + 980600 0.0044253449 0.0021351924 0.0043132919 + 980700 0.0043456794 0.0022010256 0.0043399147 + 980800 0.0056947785 0.0020800787 0.0048829775 + 980900 0.0048152358 0.001968839 0.0043388378 + 981000 0.0029653224 0.002164821 0.0036243156 + 981100 0.0040486421 0.0023118002 0.0043044912 + 981200 0.0045338017 0.0024766984 0.0047081789 + 981300 0.0046008279 0.0023761418 0.0046406118 + 981400 0.0056993449 0.0023749512 0.0051800975 + 981500 0.0054130928 0.002659066 0.0053233226 + 981600 0.005610702 0.0026451966 0.005406714 + 981700 0.0045894496 0.0028323961 0.0050912659 + 981800 0.0063038393 0.0026143064 0.0057169773 + 981900 0.0050714527 0.0026284386 0.0051245442 + 982000 0.0041796551 0.0021776633 0.0042348373 + 982100 0.0043339387 0.0019022954 0.0040354059 + 982200 0.0043746088 0.0023569466 0.0045100743 + 982300 0.0040782177 0.0025824333 0.0045896811 + 982400 0.0045632306 0.0023712852 0.0046172503 + 982500 0.0049301252 0.0021066786 0.0045332246 + 982600 0.0036209218 0.0022648047 0.0040469771 + 982700 0.0033353884 0.0021042753 0.0037459118 + 982800 0.0045760063 0.0019367141 0.0041889672 + 982900 0.0050377889 0.0019743714 0.0044539081 + 983000 0.0042943915 0.0020259614 0.0041396073 + 983100 0.0052937197 0.002134796 0.0047402987 + 983200 0.0056382139 0.0021933519 0.0049684103 + 983300 0.0053333703 0.0022857977 0.0049108159 + 983400 0.0069554299 0.0020510222 0.0054743979 + 983500 0.0056814687 0.0023336303 0.0051299782 + 983600 0.0052359144 0.0025928945 0.0051699461 + 983700 0.0053388082 0.0023695764 0.0049972711 + 983800 0.0047616257 0.0023042835 0.0046478961 + 983900 0.0046452937 0.0024219967 0.0047083522 + 984000 0.0040258955 0.0025652991 0.0045467945 + 984100 0.0041818839 0.0026859109 0.0047441819 + 984200 0.0042180805 0.0022511493 0.0043272358 + 984300 0.0047444256 0.0017922791 0.004127426 + 984400 0.0047754173 0.0022868123 0.004637213 + 984500 0.0050065817 0.0025157426 0.0049799195 + 984600 0.0040293114 0.0025699096 0.0045530863 + 984700 0.0066311489 0.0022045242 0.0054682928 + 984800 0.0047586844 0.0020744293 0.0044165942 + 984900 0.0040522337 0.002212741 0.0042071998 + 985000 0.0043877025 0.0023442663 0.0045038386 + 985100 0.0047194088 0.0024219322 0.0047447662 + 985200 0.0050078776 0.0027892304 0.0052540452 + 985300 0.0064805713 0.003028348 0.0062180042 + 985400 0.0050827564 0.0026706738 0.005172343 + 985500 0.0072465769 0.0018527453 0.0054194199 + 985600 0.0058564897 0.001726072 0.004608563 + 985700 0.0041509868 0.0019787873 0.0040218511 + 985800 0.0051875305 0.0022633469 0.0048165846 + 985900 0.0044728751 0.0026456499 0.0048471432 + 986000 0.0036312795 0.0029691821 0.0047564525 + 986100 0.0053595988 0.0027197938 0.0053577213 + 986200 0.0055906173 0.0021037715 0.0048554035 + 986300 0.0047186748 0.0016520983 0.0039745711 + 986400 0.0058123615 0.0017820438 0.0046428155 + 986500 0.0066101727 0.0016947645 0.0049482088 + 986600 0.0036669052 0.0018614828 0.0036662877 + 986700 0.0052426282 0.002364853 0.0049452091 + 986800 0.0047556773 0.0024987693 0.0048394542 + 986900 0.0043722851 0.0020883044 0.0042402884 + 987000 0.0058560623 0.0018318586 0.0047141393 + 987100 0.0046471891 0.0022574238 0.0045447122 + 987200 0.005769302 0.0023883314 0.0052279097 + 987300 0.005340578 0.00297314 0.0056017057 + 987400 0.0041984966 0.0030720457 0.0051384932 + 987500 0.0055734875 0.0030758856 0.0058190865 + 987600 0.0049103416 0.0029534745 0.0053702833 + 987700 0.0045587859 0.0030990145 0.005342792 + 987800 0.0066957473 0.0027528671 0.0060484302 + 987900 0.0056831183 0.0021810314 0.0049781912 + 988000 0.0045077179 0.0024094969 0.0046281393 + 988100 0.0062549101 0.002726276 0.0058048646 + 988200 0.0068147466 0.0029799176 0.0063340507 + 988300 0.0052853542 0.0027561071 0.0053574924 + 988400 0.0046311802 0.0026079829 0.0048873919 + 988500 0.0046459606 0.0026749404 0.0049616242 + 988600 0.0059728465 0.0023656494 0.0053054098 + 988700 0.0049717089 0.0021957331 0.004642746 + 988800 0.0047747132 0.0022157475 0.0045658016 + 988900 0.0042181843 0.002401465 0.0044776026 + 989000 0.0047821828 0.0028397489 0.0051934795 + 989100 0.0053718057 0.002497782 0.0051417176 + 989200 0.0066377755 0.0021378332 0.0054048634 + 989300 0.0060905417 0.0022763824 0.0052740709 + 989400 0.0037452542 0.0021602432 0.0040036105 + 989500 0.0043685903 0.0022350323 0.0043851978 + 989600 0.0069068776 0.0022565415 0.0056560203 + 989700 0.0046816061 0.0027092837 0.0050135117 + 989800 0.00490818 0.0027726734 0.0051884183 + 989900 0.0043398336 0.0024285008 0.0045645126 + 990000 0.0069544621 0.0022539892 0.0056768885 + 990100 0.003624218 0.0024782567 0.0042620515 + 990200 0.0066288969 0.0028806224 0.0061432826 + 990300 0.0069195306 0.0027260589 0.0061317654 + 990400 0.0054687046 0.0029015494 0.0055931774 + 990500 0.005405137 0.0031001144 0.0057604552 + 990600 0.0060387136 0.0029450032 0.0059171826 + 990700 0.0059216057 0.0036512444 0.0065657847 + 990800 0.0058546676 0.0038843742 0.0067659684 + 990900 0.0056179445 0.0035174389 0.006282521 + 991000 0.0047503494 0.0029900174 0.00532808 + 991100 0.0056318629 0.0027035374 0.0054754699 + 991200 0.0052598092 0.002498335 0.0050871473 + 991300 0.0033715191 0.0023957363 0.0040551559 + 991400 0.0050440027 0.0023087044 0.0047912995 + 991500 0.0044482628 0.0023793485 0.0045687279 + 991600 0.0032028784 0.002523457 0.0040998737 + 991700 0.0049485832 0.0019852062 0.004420837 + 991800 0.0056996799 0.0016747567 0.0044800679 + 991900 0.0041014305 0.0021716022 0.004190275 + 992000 0.0063350615 0.0020193899 0.005137428 + 992100 0.004976477 0.0020866343 0.004535994 + 992200 0.0049413425 0.0018221806 0.0042542476 + 992300 0.0047170725 0.0016484546 0.0039701387 + 992400 0.0042431954 0.0017753624 0.0038638101 + 992500 0.004570868 0.002151285 0.0044010091 + 992600 0.0047171369 0.0024519763 0.0047736922 + 992700 0.0052287214 0.0025553304 0.0051288417 + 992800 0.0066636663 0.0020834451 0.0053632184 + 992900 0.0038725765 0.0020896936 0.0039957273 + 993000 0.0040123605 0.0021346996 0.0041095333 + 993100 0.005667179 0.0023106654 0.0050999801 + 993200 0.005458508 0.0024129144 0.0050995238 + 993300 0.0045746999 0.0023087006 0.0045603106 + 993400 0.0045178636 0.0021612608 0.0043848968 + 993500 0.0043224283 0.0022167168 0.004344162 + 993600 0.0045043539 0.0021878761 0.0044048628 + 993700 0.0058663594 0.0021263902 0.0050137389 + 993800 0.0055741808 0.0023690888 0.0051126309 + 993900 0.0044862602 0.0025900667 0.0047981479 + 994000 0.0066439917 0.0022507587 0.0055208484 + 994100 0.0041967791 0.0020804078 0.00414601 + 994200 0.0054912069 0.001927211 0.0046299144 + 994300 0.0051995124 0.0020930127 0.0046521477 + 994400 0.0040071081 0.0024384396 0.0044106882 + 994500 0.0049260802 0.0023990951 0.0048236502 + 994600 0.0064031087 0.0026113315 0.0057628615 + 994700 0.0067609024 0.0024949952 0.0058226268 + 994800 0.0043920228 0.0028643466 0.0050260453 + 994900 0.005128719 0.002999845 0.0055241364 + 995000 0.0046327629 0.0029911327 0.0052713207 + 995100 0.0041598878 0.0028300294 0.0048774741 + 995200 0.0047627074 0.0024182285 0.0047623736 + 995300 0.0061863427 0.0025083093 0.0055531499 + 995400 0.0037393553 0.0033186768 0.0051591408 + 995500 0.0050329205 0.0035142706 0.0059914111 + 995600 0.0060284058 0.0028443355 0.0058114415 + 995700 0.0047874711 0.0024486666 0.004805 + 995800 0.0042591236 0.0024370641 0.0045333515 + 995900 0.0055620273 0.0022726227 0.005010183 + 996000 0.005385517 0.0021813918 0.004832076 + 996100 0.0036977244 0.0024519957 0.0042719695 + 996200 0.0049012424 0.0026396055 0.0050519357 + 996300 0.0066092072 0.0022052398 0.005458209 + 996400 0.0054576964 0.0019726874 0.0046588973 + 996500 0.0046304117 0.0026276713 0.0049067021 + 996600 0.006361277 0.0025277726 0.0056587137 + 996700 0.0061761539 0.0026615286 0.0057013544 + 996800 0.0063618554 0.002861389 0.0059926147 + 996900 0.0044350199 0.0029396208 0.0051224821 + 997000 0.0064446301 0.003154206 0.0063261724 + 997100 0.0061720505 0.003261819 0.0062996251 + 997200 0.0069770107 0.0034193368 0.0068533343 + 997300 0.0063646032 0.00355161 0.0066841881 + 997400 0.003787801 0.0031669672 0.0050312755 + 997500 0.0046285794 0.0028086618 0.0050867908 + 997600 0.0054970574 0.0028917883 0.0055973712 + 997700 0.0046989528 0.003231901 0.0055446669 + 997800 0.0045025204 0.003176973 0.0053930572 + 997900 0.0049197127 0.0033125007 0.0057339218 + 998000 0.0053014456 0.0033725734 0.0059818786 + 998100 0.0056266485 0.0030373836 0.0058067496 + 998200 0.0063411088 0.0028264742 0.0059474887 + 998300 0.003737419 0.0024761208 0.0043156317 + 998400 0.0053751435 0.0023075905 0.004953169 + 998500 0.0047116107 0.0025685752 0.0048875711 + 998600 0.0049634078 0.0026877375 0.0051306648 + 998700 0.0046450477 0.0023514683 0.0046377027 + 998800 0.0055964607 0.002087633 0.004842141 + 998900 0.0043958493 0.0019594316 0.0041230137 + 999000 0.0044517957 0.0019771562 0.0041682744 + 999100 0.0053311029 0.0021296631 0.0047535653 + 999200 0.0055097537 0.0023279157 0.0050397476 + 999300 0.004760601 0.0030707458 0.0054138541 + 999400 0.0056533655 0.0026483438 0.0054308596 + 999500 0.0044695981 0.0023121902 0.0045120705 + 999600 0.0037290837 0.0025775742 0.0044129826 + 999700 0.0042972643 0.0027132524 0.0048283122 + 999800 0.0036132133 0.0025116103 0.0042899887 + 999900 0.0057246924 0.0022913205 0.0051089426 + 1000000 0.0056460263 0.0023395355 0.0051184391 + 1000100 0.0055925972 0.0025469812 0.0052995876 + 1000200 0.0049404491 0.002321484 0.0047531113 + 1000300 0.0054957555 0.0022888156 0.0049937578 + 1000400 0.0046862982 0.0021826163 0.0044891537 + 1000500 0.0037980366 0.0025190111 0.0043883573 + 1000600 0.0047866591 0.0025732813 0.004929215 + 1000700 0.0041300225 0.0025274855 0.004560231 + 1000800 0.0039164373 0.0028742943 0.0048019158 + 1000900 0.0054213217 0.0026365205 0.0053048272 + 1001000 0.0055433366 0.0027732863 0.0055016473 + 1001100 0.0047810859 0.0031906429 0.0055438336 + 1001200 0.0054012041 0.0028428434 0.0055012486 + 1001300 0.0052415762 0.002150741 0.0047305793 + 1001400 0.0044536038 0.0022164367 0.0044084448 + 1001500 0.0090839552 0.0022883312 0.0067593404 + 1001600 0.0060289464 0.002254895 0.005222267 + 1001700 0.004808016 0.0029290838 0.0052955292 + 1001800 0.0066931606 0.0030378049 0.0063320949 + 1001900 0.0072971659 0.0022743284 0.0058659022 + 1002000 0.0052141929 0.0024361955 0.005002556 + 1002100 0.0045579305 0.0029278932 0.0051712496 + 1002200 0.004027045 0.0025954366 0.0045774978 + 1002300 0.0038366619 0.0025258411 0.0044141981 + 1002400 0.004892441 0.0022978236 0.0047058219 + 1002500 0.0051598819 0.0022536903 0.0047933197 + 1002600 0.0054597833 0.002205033 0.0048922701 + 1002700 0.0063493283 0.0021952269 0.0053202869 + 1002800 0.0045402255 0.0021480357 0.004382678 + 1002900 0.0042396971 0.0024238819 0.0045106078 + 1003000 0.0034689584 0.0024635573 0.0041709353 + 1003100 0.0042858918 0.0023220502 0.0044315126 + 1003200 0.0061034048 0.0023044817 0.0053085012 + 1003300 0.0039023206 0.0025276932 0.0044483667 + 1003400 0.0045827387 0.0024600243 0.004715591 + 1003500 0.0052577672 0.0026563215 0.0052441288 + 1003600 0.0039052656 0.002845093 0.0047672159 + 1003700 0.0055635868 0.0024214113 0.0051597392 + 1003800 0.0045321932 0.0023714378 0.0046021266 + 1003900 0.0060495599 0.0022254556 0.0052029734 + 1004000 0.005878573 0.0018478455 0.0047412057 + 1004100 0.0051935743 0.0018609558 0.0044171681 + 1004200 0.0039750285 0.0019441779 0.0039006373 + 1004300 0.0051701754 0.0020535639 0.0045982596 + 1004400 0.0041768503 0.0021855518 0.0042413453 + 1004500 0.0049735822 0.0020513392 0.0044992742 + 1004600 0.0045107956 0.0023109299 0.0045310871 + 1004700 0.0052150484 0.0024771721 0.0050439538 + 1004800 0.004797247 0.0024644966 0.0048256416 + 1004900 0.0066434817 0.0023848305 0.0056546691 + 1005000 0.0049735537 0.0029804031 0.0054283241 + 1005100 0.0049326833 0.0029300963 0.0053579013 + 1005200 0.0047033198 0.0030759027 0.0053908179 + 1005300 0.005377862 0.0027275664 0.0053744829 + 1005400 0.0046481151 0.0027200572 0.0050078014 + 1005500 0.0050095914 0.0027808697 0.0052465279 + 1005600 0.0058203327 0.0026450922 0.0055097872 + 1005700 0.0044990729 0.0030670383 0.0052814257 + 1005800 0.00471133 0.0033806322 0.0056994899 + 1005900 0.0054468085 0.0029076273 0.0055884784 + 1006000 0.0066365579 0.0024329113 0.0056993421 + 1006100 0.0061112237 0.0021582131 0.005166081 + 1006200 0.0050375063 0.0020974781 0.0045768757 + 1006300 0.006214733 0.0021794305 0.0052382444 + 1006400 0.0051363281 0.0023407516 0.004868788 + 1006500 0.0063977697 0.002087327 0.0052362293 + 1006600 0.0052450373 0.002214863 0.0047964048 + 1006700 0.0045021858 0.0025157918 0.0047317114 + 1006800 0.00640584 0.0020166602 0.0051695346 + 1006900 0.0046386971 0.0020043477 0.0042874564 + 1007000 0.0052009765 0.0021094924 0.004669348 + 1007100 0.0044833914 0.0026257176 0.0048323868 + 1007200 0.0047693876 0.0026738145 0.0050212474 + 1007300 0.0050582544 0.0029430705 0.0054326801 + 1007400 0.0053537263 0.003070521 0.0057055582 + 1007500 0.0056470207 0.0027410876 0.0055204806 + 1007600 0.0060484161 0.0027151647 0.0056921195 + 1007700 0.0064279864 0.0025495891 0.0057133637 + 1007800 0.005664372 0.0029086173 0.0056965504 + 1007900 0.006264195 0.0030758331 0.0061589915 + 1008000 0.005047561 0.002678869 0.0051632154 + 1008100 0.0047047593 0.0029555783 0.005271202 + 1008200 0.0050279474 0.0032566603 0.0057313532 + 1008300 0.0043459602 0.0030469507 0.005185978 + 1008400 0.0044912988 0.0026299113 0.0048404724 + 1008500 0.0046034076 0.0023590584 0.0046247981 + 1008600 0.0049719661 0.0026203384 0.005067478 + 1008700 0.0045239408 0.0022576156 0.0044842427 + 1008800 0.0048960588 0.0021032399 0.0045130188 + 1008900 0.0056016537 0.0020386298 0.0047956937 + 1009000 0.0052307197 0.0021401789 0.0047146737 + 1009100 0.0038945398 0.0021638606 0.0040807044 + 1009200 0.0055867154 0.0020401487 0.0047898601 + 1009300 0.0039606007 0.0022601655 0.0042095237 + 1009400 0.0046665152 0.0025774366 0.004874237 + 1009500 0.0038493457 0.0026096636 0.0045042635 + 1009600 0.0047686705 0.0022906869 0.0046377669 + 1009700 0.003422839 0.0026168221 0.0043015007 + 1009800 0.0043868918 0.0023785341 0.0045377074 + 1009900 0.0044431887 0.0021734503 0.0043603322 + 1010000 0.004982549 0.0022031208 0.0046554691 + 1010100 0.0045963734 0.0022073422 0.0044696197 + 1010200 0.0047870851 0.0026913638 0.0050475072 + 1010300 0.0053647354 0.0028038627 0.0054443184 + 1010400 0.005608622 0.0025437515 0.0053042452 + 1010500 0.0049488301 0.0020356942 0.0044714465 + 1010600 0.0044432401 0.0018759504 0.0040628577 + 1010700 0.0050949186 0.0019258416 0.0044334969 + 1010800 0.0061712835 0.0019990447 0.0050364733 + 1010900 0.003973647 0.0022901128 0.0042458922 + 1011000 0.0041232887 0.0023360449 0.004365476 + 1011100 0.0063822151 0.0023583906 0.005499637 + 1011200 0.0043137382 0.0024890332 0.0046122012 + 1011300 0.0065759485 0.0022779248 0.0055145244 + 1011400 0.0063608752 0.0023077078 0.0054384511 + 1011500 0.0045697116 0.0026429442 0.0048920991 + 1011600 0.0060195287 0.0024735057 0.0054362425 + 1011700 0.0061936993 0.0026793061 0.0057277675 + 1011800 0.0051055855 0.0024514962 0.0049644015 + 1011900 0.0071199242 0.0025240351 0.0060283728 + 1012000 0.0054640925 0.0029037924 0.0055931505 + 1012100 0.0056327508 0.0027148393 0.0054872088 + 1012200 0.0045772432 0.0024595027 0.0047123646 + 1012300 0.0049687731 0.0022664609 0.0047120289 + 1012400 0.0053170161 0.0024294649 0.0050464337 + 1012500 0.0041548385 0.0021781115 0.0042230711 + 1012600 0.0074842286 0.0017828361 0.0054664798 + 1012700 0.0055591688 0.0026313289 0.0053674823 + 1012800 0.0071579766 0.0029887313 0.0065117979 + 1012900 0.0052912295 0.0027163137 0.0053205907 + 1013000 0.0043067221 0.0026354253 0.0047551401 + 1013100 0.0049634332 0.0031198179 0.0055627576 + 1013200 0.0044245604 0.0032035239 0.0053812372 + 1013300 0.0053686334 0.0029911603 0.0056335345 + 1013400 0.0074941349 0.0031623933 0.0068509128 + 1013500 0.0052407188 0.0028572022 0.0054366185 + 1013600 0.0069862984 0.0022736861 0.0057122549 + 1013700 0.006895488 0.0021934615 0.0055873345 + 1013800 0.0042190758 0.0023383858 0.0044149621 + 1013900 0.0052714821 0.002461343 0.0050559006 + 1014000 0.0051893648 0.0025186639 0.0050728044 + 1014100 0.0034648094 0.0033059024 0.0050112383 + 1014200 0.0054156946 0.003495732 0.0061612691 + 1014300 0.0066456565 0.0028781187 0.0061490277 + 1014400 0.0056414451 0.0031596938 0.0059363426 + 1014500 0.0053655242 0.0032750266 0.0059158706 + 1014600 0.0067668484 0.0028596963 0.0061902545 + 1014700 0.004855123 0.0025514308 0.0049410616 + 1014800 0.0039045587 0.0025898877 0.0045116627 + 1014900 0.0039530411 0.0025041728 0.0044498103 + 1015000 0.0052164742 0.0025878275 0.0051553109 + 1015100 0.0037975422 0.0022417212 0.004110824 + 1015200 0.0059088556 0.0022527878 0.0051610526 + 1015300 0.0044214116 0.002366024 0.0045421875 + 1015400 0.0037317535 0.0027976996 0.004634422 + 1015500 0.0056334429 0.0024407041 0.0052134142 + 1015600 0.0047252401 0.0027632169 0.005088921 + 1015700 0.0048131246 0.0028550838 0.0052240436 + 1015800 0.0039696199 0.0026109567 0.004564754 + 1015900 0.0052833784 0.0025924449 0.0051928577 + 1016000 0.0040654035 0.0028735682 0.0048745089 + 1016100 0.0040838074 0.0028431033 0.0048531022 + 1016200 0.007055341 0.0028789506 0.0063515012 + 1016300 0.0065955547 0.0027295654 0.005975815 + 1016400 0.0063679265 0.0026007381 0.0057349519 + 1016500 0.0035261923 0.0032998354 0.0050353832 + 1016600 0.00565319 0.0033438681 0.0061262976 + 1016700 0.0051877016 0.0034282309 0.0059815527 + 1016800 0.0045822119 0.0032877188 0.0055430262 + 1016900 0.0052128882 0.0028161425 0.0053818609 + 1017000 0.0061094799 0.0022271491 0.0052341588 + 1017100 0.0048128522 0.0021643862 0.0045332119 + 1017200 0.0041341478 0.0023965775 0.0044313534 + 1017300 0.004861161 0.0030056504 0.0053982531 + 1017400 0.0043091835 0.0025107886 0.0046317148 + 1017500 0.0064074082 0.0021442245 0.0052978707 + 1017600 0.0041004166 0.0024507208 0.0044688946 + 1017700 0.0046147676 0.0021990114 0.0044703424 + 1017800 0.0062978426 0.0019078119 0.0050075313 + 1017900 0.0039308586 0.0022156637 0.0041503832 + 1018000 0.0042533743 0.0025879166 0.0046813742 + 1018100 0.0060273296 0.0019700983 0.0049366746 + 1018200 0.0052618879 0.0022546608 0.0048444962 + 1018300 0.0058727698 0.0022800978 0.0051706017 + 1018400 0.0050656894 0.0023928571 0.0048861261 + 1018500 0.0049474227 0.0025969853 0.0050320449 + 1018600 0.006753281 0.0029732748 0.0062971553 + 1018700 0.0067815896 0.0026340429 0.0059718566 + 1018800 0.0051700244 0.0022675786 0.0048122 + 1018900 0.0040301288 0.0021687977 0.0041523767 + 1019000 0.0039022649 0.0024709112 0.0043915572 + 1019100 0.0041957549 0.0023506926 0.0044157907 + 1019200 0.0064048561 0.002129576 0.0052819661 + 1019300 0.0036714477 0.0023579966 0.0041650373 + 1019400 0.004949139 0.0021320484 0.0045679527 + 1019500 0.0039555393 0.0018034412 0.0037503082 + 1019600 0.0039237387 0.0018747247 0.0038059398 + 1019700 0.0058459751 0.0023337152 0.0052110311 + 1019800 0.0030055574 0.002700978 0.0041802758 + 1019900 0.0045948385 0.0026562661 0.0049177882 + 1020000 0.0037442323 0.0028082915 0.0046511558 + 1020100 0.0050822173 0.0023297736 0.0048311774 + 1020200 0.0047431634 0.0021846878 0.0045192135 + 1020300 0.0048174068 0.0020707747 0.0044418421 + 1020400 0.0052878167 0.0021668599 0.0047694572 + 1020500 0.0046586105 0.0021630136 0.0044559235 + 1020600 0.0041115518 0.0021562598 0.0041799142 + 1020700 0.0070692603 0.0021471224 0.005626524 + 1020800 0.0049966096 0.0020732028 0.0045324716 + 1020900 0.0057126558 0.0018681623 0.0046798601 + 1021000 0.0054867353 0.002212568 0.0049130705 + 1021100 0.0031660929 0.0024306364 0.0039889478 + 1021200 0.0046211302 0.0023213505 0.004595813 + 1021300 0.0051739286 0.0021331967 0.0046797396 + 1021400 0.0066759471 0.0020019665 0.0052877843 + 1021500 0.0055615571 0.0022180374 0.0049553663 + 1021600 0.0048452217 0.0022480855 0.004632843 + 1021700 0.0049729257 0.0019979276 0.0044455395 + 1021800 0.0056743075 0.0020786042 0.0048714274 + 1021900 0.0035081707 0.0027023469 0.0044290247 + 1022000 0.0042483712 0.0024500584 0.0045410536 + 1022100 0.0054522015 0.0019163385 0.0045998439 + 1022200 0.0051889018 0.001945688 0.0044996006 + 1022300 0.0056453622 0.0025589467 0.0053375234 + 1022400 0.0052698463 0.0028181365 0.005411889 + 1022500 0.0037795005 0.0031166408 0.0049768637 + 1022600 0.0048316383 0.0027854127 0.0051634847 + 1022700 0.0050223218 0.0026125368 0.0050844608 + 1022800 0.004507058 0.0026040657 0.0048223833 + 1022900 0.0039695077 0.0022136965 0.0041674385 + 1023000 0.0055012884 0.0019982476 0.004705913 + 1023100 0.0031998583 0.0021423046 0.0037172349 + 1023200 0.0030743204 0.0021726006 0.0036857427 + 1023300 0.0045831944 0.001844792 0.0041005831 + 1023400 0.0035512706 0.0018087445 0.0035566355 + 1023500 0.0043856175 0.0016421703 0.0038007165 + 1023600 0.0047541206 0.0015588046 0.0038987233 + 1023700 0.005342409 0.0019806762 0.0046101431 + 1023800 0.0052089716 0.0024834254 0.0050472161 + 1023900 0.0051995455 0.0029949422 0.0055540935 + 1024000 0.0056098248 0.0030495287 0.0058106144 + 1024100 0.0056642534 0.0025572257 0.0053451004 + 1024200 0.0046282702 0.0024859596 0.0047639363 + 1024300 0.0040953808 0.0025336156 0.0045493108 + 1024400 0.004206298 0.0023734888 0.0044437761 + 1024500 0.0046211817 0.002417612 0.0046920999 + 1024600 0.0056735951 0.0023509242 0.0051433968 + 1024700 0.0054664077 0.0019450977 0.0046355952 + 1024800 0.0046590403 0.0021779678 0.0044710892 + 1024900 0.0065578161 0.0021859776 0.0054136527 + 1025000 0.0039042053 0.0022559555 0.0041775565 + 1025100 0.0058996046 0.0024532852 0.0053569968 + 1025200 0.0058789711 0.0023141485 0.0052077046 + 1025300 0.003353529 0.0028383109 0.0044888759 + 1025400 0.00428017 0.0027336024 0.0048402486 + 1025500 0.0052123803 0.0026358664 0.0052013348 + 1025600 0.0041789987 0.0023090152 0.0043658661 + 1025700 0.0029325475 0.002124299 0.0035676622 + 1025800 0.0036000024 0.0020680759 0.0038399521 + 1025900 0.0043034191 0.002531819 0.0046499081 + 1026000 0.0068327855 0.0027075529 0.0060705645 + 1026100 0.0045502651 0.0027166403 0.0049562239 + 1026200 0.0060979761 0.0026784401 0.0056797877 + 1026300 0.0038960402 0.0027433396 0.0046609219 + 1026400 0.0041401031 0.002529271 0.004566978 + 1026500 0.0053055982 0.0025591734 0.0051705226 + 1026600 0.0043658678 0.0023006977 0.0044495233 + 1026700 0.0039513916 0.0023675073 0.0043123328 + 1026800 0.0069903036 0.0027282405 0.0061687806 + 1026900 0.0057826378 0.0032537872 0.0060999292 + 1027000 0.0057596853 0.0026638181 0.0054986632 + 1027100 0.005701483 0.002278483 0.0050846817 + 1027200 0.0061633312 0.0020357238 0.0050692383 + 1027300 0.003532871 0.0024438422 0.0041826771 + 1027400 0.0055014258 0.0022205979 0.0049283309 + 1027500 0.0046229601 0.0019521677 0.0042275309 + 1027600 0.006989442 0.0016118572 0.0050519732 + 1027700 0.0049635506 0.0019589396 0.0044019371 + 1027800 0.0056758478 0.0028576428 0.0056512242 + 1027900 0.00327597 0.003041804 0.0046541955 + 1028000 0.0037628282 0.0027102062 0.0045622232 + 1028100 0.0052724157 0.0027003378 0.0052953549 + 1028200 0.006080691 0.0028126407 0.0058054808 + 1028300 0.0065649944 0.0028255554 0.0060567635 + 1028400 0.0050121108 0.0033382707 0.005805169 + 1028500 0.0056826092 0.0032084631 0.0060053723 + 1028600 0.0042002579 0.002694079 0.0047613934 + 1028700 0.0066834895 0.002258917 0.005548447 + 1028800 0.0045922851 0.0022420059 0.0045022713 + 1028900 0.0048712045 0.0025183997 0.0049159457 + 1029000 0.0052646881 0.0033633473 0.005954561 + 1029100 0.0048625918 0.0029534062 0.0053467131 + 1029200 0.0057014379 0.0026375615 0.005443738 + 1029300 0.0048608271 0.0025414757 0.0049339141 + 1029400 0.0051651592 0.0023982954 0.0049405221 + 1029500 0.0045357622 0.0021540142 0.0043864597 + 1029600 0.0054649613 0.0019855178 0.0046753034 + 1029700 0.0046980766 0.0023724499 0.0046847845 + 1029800 0.0040914081 0.0030789948 0.0050927347 + 1029900 0.0047981622 0.0031598229 0.0055214184 + 1030000 0.0058612544 0.002776013 0.0056608491 + 1030100 0.0064202814 0.0024708739 0.0056308561 + 1030200 0.0050861532 0.0020215724 0.0045249134 + 1030300 0.0067062245 0.0018720248 0.0051727447 + 1030400 0.0049224867 0.0021800762 0.0046028626 + 1030500 0.0041215173 0.0022080898 0.0042366491 + 1030600 0.0041207036 0.0022127356 0.0042408944 + 1030700 0.0068400848 0.0023983496 0.0057649539 + 1030800 0.0044528346 0.0027687749 0.0049604045 + 1030900 0.0070479509 0.0023833474 0.0058522607 + 1031000 0.0049759289 0.0024377004 0.0048867904 + 1031100 0.0032327895 0.0028998531 0.0044909917 + 1031200 0.0048615806 0.0032685191 0.0056613283 + 1031300 0.005370078 0.0026277545 0.0052708398 + 1031400 0.0060750751 0.0021748115 0.0051648875 + 1031500 0.005379745 0.0017666943 0.0044145376 + 1031600 0.0045140212 0.0017730508 0.0039947956 + 1031700 0.0043665694 0.0020032745 0.0041524453 + 1031800 0.0041726974 0.0025691982 0.0046229477 + 1031900 0.0050521332 0.0026458068 0.0051324036 + 1032000 0.0053705352 0.0025099068 0.0051532171 + 1032100 0.007654016 0.0024031304 0.0061703413 + 1032200 0.0040749908 0.0025051007 0.0045107602 + 1032300 0.0046165709 0.0022078209 0.0044800394 + 1032400 0.0036751055 0.0020709356 0.0038797766 + 1032500 0.0033839086 0.0021195431 0.0037850606 + 1032600 0.0051066616 0.0021381895 0.0046516245 + 1032700 0.0050656637 0.0021250325 0.0046182889 + 1032800 0.0040431094 0.0025213176 0.0045112855 + 1032900 0.0066792729 0.0020981347 0.0053855893 + 1033000 0.004824984 0.0025398143 0.0049146111 + 1033100 0.0048996561 0.0025738096 0.0049853591 + 1033200 0.0050806143 0.0020029674 0.0045035822 + 1033300 0.0046642364 0.0018067472 0.004102426 + 1033400 0.0040403936 0.0016397664 0.0036283976 + 1033500 0.0053939136 0.0018843594 0.0045391763 + 1033600 0.005484246 0.0020506463 0.0047499236 + 1033700 0.0036159886 0.0020227503 0.0038024947 + 1033800 0.0050148351 0.0022406347 0.0047088738 + 1033900 0.0047444928 0.002296645 0.0046318251 + 1034000 0.0050312986 0.0027366299 0.0052129722 + 1034100 0.0063589272 0.0030381955 0.00616798 + 1034200 0.0067236977 0.0023092184 0.0056185384 + 1034300 0.0049680327 0.0026865028 0.0051317064 + 1034400 0.0051523917 0.0027076268 0.0052435695 + 1034500 0.0041234999 0.0024502128 0.0044797479 + 1034600 0.0061890826 0.0024552299 0.0055014189 + 1034700 0.0064972983 0.002343888 0.005541777 + 1034800 0.0050713399 0.0022881858 0.0047842359 + 1034900 0.0057461717 0.0024244137 0.0052526076 + 1035000 0.0034326384 0.0027770791 0.0044665808 + 1035100 0.0055798365 0.0024750063 0.0052213321 + 1035200 0.0056296425 0.0023080801 0.0050789198 + 1035300 0.0043531282 0.0019049271 0.0040474823 + 1035400 0.0043662512 0.0017353607 0.0038843749 + 1035500 0.0051634335 0.0016711893 0.0042125667 + 1035600 0.0048670405 0.0017633646 0.0041588611 + 1035700 0.0042291318 0.0020773239 0.0041588497 + 1035800 0.0045279649 0.0020359836 0.0042645913 + 1035900 0.0038965146 0.002398115 0.0043159307 + 1036000 0.0031336769 0.0027202013 0.0042625579 + 1036100 0.0042775167 0.0029523849 0.0050577251 + 1036200 0.00486144 0.0024360053 0.0048287453 + 1036300 0.0047166622 0.0024865987 0.0048080808 + 1036400 0.0038127293 0.0030536732 0.0049302509 + 1036500 0.0075581794 0.0028831116 0.006603153 + 1036600 0.0061946015 0.0031505143 0.0061994198 + 1036700 0.0067447053 0.0032815784 0.006601238 + 1036800 0.0034089842 0.0033389783 0.0050168377 + 1036900 0.0061686821 0.0027241569 0.0057603051 + 1037000 0.006077241 0.0019963662 0.0049875082 + 1037100 0.0039250741 0.0025042577 0.0044361301 + 1037200 0.0035140072 0.0030047125 0.0047342629 + 1037300 0.0029208577 0.0033796455 0.0048172552 + 1037400 0.0032743346 0.0031189712 0.0047305578 + 1037500 0.0050406973 0.0027320608 0.005213029 + 1037600 0.0057236087 0.0024500467 0.0052671354 + 1037700 0.0048327434 0.0025967861 0.004975402 + 1037800 0.0047829972 0.0028708018 0.0052249333 + 1037900 0.0047536848 0.0026018532 0.0049415574 + 1038000 0.0051140073 0.0025934792 0.0051105297 + 1038100 0.0049294402 0.0019130294 0.0043392383 + 1038200 0.0042351704 0.0021029265 0.0041874245 + 1038300 0.0040168887 0.0021304997 0.0041075621 + 1038400 0.0059694792 0.0019527881 0.0048908911 + 1038500 0.0043211159 0.0020289906 0.0041557898 + 1038600 0.0048248303 0.0020029572 0.0043776783 + 1038700 0.0058992733 0.0020822776 0.0049858262 + 1038800 0.0052211833 0.0021498538 0.004719655 + 1038900 0.004649293 0.0024529093 0.0047412332 + 1039000 0.0039990718 0.0029562236 0.0049245167 + 1039100 0.0042098056 0.0028912042 0.0049632179 + 1039200 0.0050850596 0.0025319277 0.0050347305 + 1039300 0.0045152753 0.0023520479 0.00457441 + 1039400 0.0062259963 0.0020046102 0.0050689678 + 1039500 0.0056779939 0.0022651941 0.0050598318 + 1039600 0.0044277367 0.0026782715 0.0048575482 + 1039700 0.0045023155 0.002354273 0.0045702564 + 1039800 0.0043247257 0.002163382 0.0042919579 + 1039900 0.0042062967 0.0022468955 0.0043171822 + 1040000 0.0050778196 0.0022544566 0.004753696 + 1040100 0.0050600155 0.0021103293 0.0046008057 + 1040200 0.0054684698 0.0018513772 0.0045428897 + 1040300 0.0053051289 0.001983815 0.0045949332 + 1040400 0.0044366112 0.0020872667 0.0042709113 + 1040500 0.0054431214 0.0020871011 0.0047661375 + 1040600 0.005470087 0.0021104266 0.0048027351 + 1040700 0.0056049725 0.0023505042 0.0051092016 + 1040800 0.0041774901 0.0026097938 0.0046659022 + 1040900 0.0051490801 0.0026461129 0.0051804257 + 1041000 0.004636891 0.002916294 0.0051985138 + 1041100 0.005797887 0.0028243474 0.0056779949 + 1041200 0.0062323018 0.0029256871 0.0059931481 + 1041300 0.0051272126 0.002661483 0.005185033 + 1041400 0.0049660447 0.0027418935 0.0051861187 + 1041500 0.0063268978 0.0028045148 0.0059185348 + 1041600 0.0032933076 0.002962613 0.0045835378 + 1041700 0.0047449892 0.0024270775 0.0047625019 + 1041800 0.0042863222 0.0020111771 0.0041208513 + 1041900 0.0031221317 0.0022484954 0.0037851696 + 1042000 0.0051021031 0.0021521482 0.0046633396 + 1042100 0.0063941336 0.0020735218 0.0052206345 + 1042200 0.0049537948 0.0022361872 0.0046743831 + 1042300 0.004606095 0.0024272725 0.0046943349 + 1042400 0.0039299391 0.0025002881 0.004434555 + 1042500 0.0061159768 0.0024378667 0.005448074 + 1042600 0.0061582222 0.0025559948 0.0055869949 + 1042700 0.0056590016 0.0028669022 0.005652192 + 1042800 0.0050548371 0.0032235904 0.005711518 + 1042900 0.0046886958 0.0028335908 0.0051413083 + 1043000 0.0053970903 0.0027777278 0.0054341082 + 1043100 0.0048160391 0.0024478811 0.0048182753 + 1043200 0.0051052775 0.0023440728 0.0048568266 + 1043300 0.0041327156 0.0028550155 0.0048890865 + 1043400 0.0042999566 0.0031370727 0.0052534575 + 1043500 0.0048790912 0.0033641257 0.0057655534 + 1043600 0.0056772384 0.0025724774 0.0053667431 + 1043700 0.0052546233 0.0025480548 0.0051343147 + 1043800 0.0066995902 0.0024847741 0.0057822287 + 1043900 0.0049228817 0.0023839181 0.0048068989 + 1044000 0.0038825555 0.0026640037 0.004574949 + 1044100 0.0046232202 0.0025700351 0.0048455263 + 1044200 0.0054467126 0.0023249683 0.0050057722 + 1044300 0.0055569048 0.0022421717 0.0049772108 + 1044400 0.0054774512 0.0022269166 0.0049228496 + 1044500 0.005297665 0.0021177744 0.0047252189 + 1044600 0.004792443 0.0017570498 0.0041158304 + 1044700 0.0043103617 0.0018999688 0.004021475 + 1044800 0.0047607025 0.0020687055 0.0044118637 + 1044900 0.005188426 0.0023009111 0.0048545896 + 1045000 0.0047132412 0.0024222409 0.0047420393 + 1045100 0.0048284502 0.0022050733 0.0045815761 + 1045200 0.0047990478 0.0022127995 0.0045748308 + 1045300 0.0036429103 0.0024676326 0.0042606275 + 1045400 0.0051774784 0.0024435297 0.0049918198 + 1045500 0.003526419 0.0025120435 0.0042477028 + 1045600 0.004052625 0.0024949063 0.0044895576 + 1045700 0.0061855437 0.0019188763 0.0049633236 + 1045800 0.0056353166 0.0023585587 0.0051321911 + 1045900 0.0047320758 0.0025462735 0.0048753421 + 1046000 0.0039974744 0.0022675962 0.0042351032 + 1046100 0.0042089129 0.0021978262 0.0042694005 + 1046200 0.0041472096 0.002726829 0.0047680337 + 1046300 0.0042897623 0.0031143064 0.0052256738 + 1046400 0.0032148421 0.0031788379 0.004761143 + 1046500 0.0060073043 0.0023539846 0.0053107047 + 1046600 0.0059217441 0.0019800292 0.0048946376 + 1046700 0.0070923465 0.001995713 0.0054864773 + 1046800 0.0046101133 0.0021113562 0.0043803963 + 1046900 0.0040281716 0.0021943662 0.0041769819 + 1047000 0.00494774 0.0023237031 0.0047589189 + 1047100 0.0063487124 0.0021444182 0.0052691751 + 1047200 0.0046085803 0.0024751562 0.0047434418 + 1047300 0.0054211418 0.0025821576 0.0052503759 + 1047400 0.0043964793 0.0029702128 0.0051341049 + 1047500 0.0038873134 0.0032882296 0.0052015166 + 1047600 0.0048863502 0.0030063797 0.0054113802 + 1047700 0.0048951105 0.002709894 0.0051192062 + 1047800 0.0041848377 0.0025860244 0.0046457492 + 1047900 0.0048545431 0.0025313172 0.0049206626 + 1048000 0.0045360574 0.002661593 0.0048941837 + 1048100 0.0059789344 0.0024387825 0.0053815393 + 1048200 0.0051828945 0.0021444717 0.0046954275 + 1048300 0.0045380715 0.002409739 0.0046433211 + 1048400 0.0052356153 0.0020703302 0.0046472346 + 1048500 0.0051557175 0.0024810119 0.0050185916 + 1048600 0.0045977536 0.0027847469 0.0050477037 + 1048700 0.0048478097 0.0023566152 0.0047426465 + 1048800 0.0055093782 0.0024929778 0.0052046249 + 1048900 0.0039553153 0.0024438856 0.0043906424 + 1049000 0.0040823259 0.0026089679 0.0046182377 + 1049100 0.0076277943 0.0026128366 0.0063671416 + 1049200 0.0042105489 0.0031028121 0.0051751916 + 1049300 0.0041216467 0.0027669077 0.0047955307 + 1049400 0.0062214385 0.002509011 0.0055711253 + 1049500 0.0054882658 0.0032558477 0.0059571035 + 1049600 0.0057038885 0.0034858542 0.0062932369 + 1049700 0.0041505135 0.003560942 0.0056037729 + 1049800 0.0057747316 0.0037821635 0.0066244142 + 1049900 0.0057856154 0.0032717652 0.0061193727 + 1050000 0.0042047871 0.0024100016 0.0044795452 + 1050100 0.0036964469 0.0024784851 0.0042978301 + 1050200 0.0060601747 0.0028347601 0.0058175023 + 1050300 0.0068647019 0.0030168639 0.0063955844 + 1050400 0.0055108827 0.0032336446 0.0059460322 + 1050500 0.0059029714 0.0031163664 0.0060217351 + 1050600 0.0045831405 0.0034041692 0.0056599336 + 1050700 0.0056225022 0.0028948311 0.0056621564 + 1050800 0.0054385373 0.0034187587 0.0060955387 + 1050900 0.0041420812 0.0034765905 0.0055152711 + 1051000 0.0054202714 0.0033764429 0.0060442327 + 1051100 0.0070931713 0.0029071698 0.00639834 + 1051200 0.0062197505 0.0029072753 0.0059685588 + 1051300 0.005773752 0.0035899535 0.0064317221 + 1051400 0.0053251736 0.0040512836 0.0066722674 + 1051500 0.0060711831 0.0039747321 0.0069628925 + 1051600 0.0050026212 0.0039654476 0.0064276752 + 1051700 0.0054554154 0.0032540198 0.0059391071 + 1051800 0.0062104722 0.0029732962 0.0060300129 + 1051900 0.0050860198 0.0032166721 0.0057199475 + 1052000 0.005618611 0.0033127191 0.0060781292 + 1052100 0.0057510475 0.0031361652 0.0059667589 + 1052200 0.0053800618 0.0028166539 0.0054646531 + 1052300 0.005934636 0.0026446472 0.0055656008 + 1052400 0.0048657105 0.0030668855 0.0054617274 + 1052500 0.0048261271 0.0031663667 0.0055417261 + 1052600 0.0053508985 0.0027302487 0.005363894 + 1052700 0.0043122647 0.0022299637 0.0043524065 + 1052800 0.004156491 0.0021443532 0.0041901261 + 1052900 0.0064610133 0.0019927145 0.0051727445 + 1053000 0.0056900592 0.0021618251 0.0049624011 + 1053100 0.0050738083 0.0023582383 0.0048555034 + 1053200 0.005169665 0.0024546964 0.004999141 + 1053300 0.0048086664 0.0029187332 0.0052854987 + 1053400 0.0068823741 0.0025032829 0.0058907014 + 1053500 0.0062402815 0.0022958385 0.005367227 + 1053600 0.0045801043 0.0026869731 0.0049412432 + 1053700 0.0049426641 0.00290874 0.0053414575 + 1053800 0.0071865543 0.0025369435 0.0060740758 + 1053900 0.0066551745 0.0022308572 0.0055064508 + 1054000 0.0056791594 0.0024123703 0.0052075816 + 1054100 0.0048040372 0.0026697991 0.0050342862 + 1054200 0.0065363305 0.0026876027 0.0059047029 + 1054300 0.0052406243 0.0027342756 0.0053136454 + 1054400 0.0040328958 0.0026811586 0.0046660995 + 1054500 0.0068565851 0.0019411716 0.005315897 + 1054600 0.0061828038 0.0019754481 0.0050185469 + 1054700 0.0057490897 0.0023759729 0.005205603 + 1054800 0.0054780946 0.0025889696 0.0052852193 + 1054900 0.0031630598 0.0028625985 0.004419417 + 1055000 0.0046252846 0.0030009133 0.0052774205 + 1055100 0.0057295902 0.0029710117 0.0057910443 + 1055200 0.0039852723 0.0026451163 0.0046066175 + 1055300 0.0045792635 0.0025946253 0.0048484816 + 1055400 0.0050512772 0.0024243108 0.0049104864 + 1055500 0.0046710081 0.0023984222 0.004697434 + 1055600 0.004064158 0.002640357 0.0046406848 + 1055700 0.0043403858 0.0022113994 0.004347683 + 1055800 0.0047893124 0.0023132678 0.0046705075 + 1055900 0.0049643701 0.0021176158 0.0045610167 + 1056000 0.0050560403 0.0020733767 0.0045618965 + 1056100 0.003822777 0.0024153468 0.0042968699 + 1056200 0.0053453124 0.0024334823 0.0050643782 + 1056300 0.0054654944 0.0023942621 0.0050843101 + 1056400 0.0061418846 0.0019636694 0.0049866283 + 1056500 0.0078055518 0.0020010399 0.0058428349 + 1056600 0.005828319 0.0023465097 0.0052151355 + 1056700 0.0040936119 0.0023131712 0.0043279957 + 1056800 0.0049924181 0.0019591194 0.0044163251 + 1056900 0.0050563712 0.0017106101 0.0041992928 + 1057000 0.0054691798 0.0019355926 0.0046274545 + 1057100 0.0055072846 0.0025524802 0.0052630968 + 1057200 0.0047293493 0.0026997224 0.005027449 + 1057300 0.006766143 0.0022512997 0.0055815106 + 1057400 0.0053911503 0.0024351642 0.0050886209 + 1057500 0.0059934543 0.0032983108 0.0062482141 + 1057600 0.0041526128 0.0032558743 0.0052997384 + 1057700 0.0029271056 0.0027670944 0.0042077792 + 1057800 0.0049712062 0.0023654439 0.0048122094 + 1057900 0.0068825354 0.0017792863 0.0051667842 + 1058000 0.0038872595 0.0021290149 0.0040422754 + 1058100 0.0049173235 0.0018035509 0.004223796 + 1058200 0.0049732258 0.0022749909 0.0047227504 + 1058300 0.0052963958 0.0026782333 0.0052850531 + 1058400 0.0063698896 0.0025766077 0.0057117878 + 1058500 0.0038892637 0.0026545892 0.0045688361 + 1058600 0.0048697182 0.0028129428 0.0052097572 + 1058700 0.0058980224 0.0026557009 0.0055586337 + 1058800 0.0053079912 0.0023920218 0.0050045487 + 1058900 0.0050286067 0.0018416637 0.0043166811 + 1059000 0.0041795491 0.0022315536 0.0042886754 + 1059100 0.0058059944 0.002452839 0.0053104768 + 1059200 0.003888127 0.0024895906 0.0044032781 + 1059300 0.0046750972 0.0028080422 0.0051090666 + 1059400 0.0053055211 0.0031517514 0.0057630625 + 1059500 0.0058755794 0.0033107276 0.0062026144 + 1059600 0.0055786412 0.0026934351 0.0054391726 + 1059700 0.0061653947 0.0021073495 0.0051418797 + 1059800 0.0051092848 0.0022944385 0.0048091646 + 1059900 0.0043441472 0.0025713605 0.0047094955 + 1060000 0.0045837812 0.0023739797 0.0046300595 + 1060100 0.0043629392 0.002312605 0.0044599891 + 1060200 0.0055347271 0.0023507322 0.0050748557 + 1060300 0.0043194338 0.002663673 0.0047896444 + 1060400 0.0046859735 0.0027593042 0.0050656818 + 1060500 0.0056984767 0.0025233456 0.0053280646 + 1060600 0.0057564598 0.0027905443 0.0056238019 + 1060700 0.0041918037 0.0031057917 0.005168945 + 1060800 0.0070834384 0.0026294246 0.0061158044 + 1060900 0.0055551728 0.0019980861 0.0047322727 + 1061000 0.0046477009 0.0023674057 0.004654946 + 1061100 0.0058145986 0.002421291 0.0052831637 + 1061200 0.0050784454 0.0023578108 0.0048573581 + 1061300 0.0041811937 0.0023800504 0.0044379816 + 1061400 0.0047079893 0.0024121653 0.0047293787 + 1061500 0.0045711304 0.0023126703 0.0045625235 + 1061600 0.0060801668 0.0021770771 0.0051696593 + 1061700 0.0050183147 0.0021265805 0.0045965322 + 1061800 0.0062643977 0.002293271 0.0053765292 + 1061900 0.0050294164 0.002248784 0.0047241999 + 1062000 0.0043932399 0.0025695124 0.0047318102 + 1062100 0.0053972384 0.0026090754 0.0052655287 + 1062200 0.0049893665 0.0023665266 0.0048222304 + 1062300 0.0061404767 0.0023090531 0.005331319 + 1062400 0.0052303118 0.0023985816 0.0049728756 + 1062500 0.0048996138 0.0028252861 0.0052368147 + 1062600 0.0039666964 0.0033605008 0.0053128592 + 1062700 0.0054994412 0.00319705 0.0059038062 + 1062800 0.0059722355 0.0027228091 0.0056622687 + 1062900 0.0043496912 0.0023798889 0.0045207526 + 1063000 0.0039705444 0.0024176681 0.0043719204 + 1063100 0.005567729 0.0022576682 0.0049980348 + 1063200 0.0053774795 0.0024144739 0.0050612021 + 1063300 0.0051704325 0.0022874457 0.004832268 + 1063400 0.0040351031 0.002310991 0.0042970183 + 1063500 0.0048870978 0.002130999 0.0045363674 + 1063600 0.0042309172 0.0023871232 0.0044695277 + 1063700 0.005053422 0.0024658746 0.0049531057 + 1063800 0.0056475084 0.0028286416 0.0056082746 + 1063900 0.0039982268 0.0029188803 0.0048867576 + 1064000 0.0069210301 0.0029448261 0.0063512706 + 1064100 0.0046528209 0.0028776774 0.0051677377 + 1064200 0.0036073156 0.0027160184 0.0044914941 + 1064300 0.0056696787 0.0024033492 0.0051938942 + 1064400 0.0056701401 0.0021075391 0.0048983112 + 1064500 0.0045408005 0.0018719118 0.0041068371 + 1064600 0.004725092 0.0019959201 0.0043215514 + 1064700 0.006284125 0.0022605886 0.0053535563 + 1064800 0.0064287862 0.0023742947 0.0055384629 + 1064900 0.0055662564 0.0025012275 0.0052408693 + 1065000 0.0064851171 0.0028555826 0.0060474762 + 1065100 0.0056197366 0.0029586835 0.0057246476 + 1065200 0.0057245445 0.0028671029 0.0056846521 + 1065300 0.0047337282 0.0029046823 0.0052345641 + 1065400 0.0063285799 0.0027092138 0.0058240618 + 1065500 0.0043268792 0.0029769128 0.0051065487 + 1065600 0.0054257702 0.0031061809 0.0057766771 + 1065700 0.0054664973 0.0031297433 0.005820285 + 1065800 0.0040822963 0.0034954676 0.0055047229 + 1065900 0.0049137945 0.0032967998 0.005715308 + 1066000 0.0058926799 0.0028143017 0.0057146051 + 1066100 0.0056563695 0.0027499484 0.0055339427 + 1066200 0.0062467356 0.0028537012 0.0059282664 + 1066300 0.0073693688 0.0026044 0.0062315112 + 1066400 0.0060120514 0.0026182466 0.0055773032 + 1066500 0.0040973823 0.0026165032 0.0046331835 + 1066600 0.0039854163 0.0031027607 0.0050643327 + 1066700 0.0047397458 0.0027503869 0.0050832305 + 1066800 0.00590011 0.0021123173 0.0050162777 + 1066900 0.0037940229 0.001928945 0.0037963157 + 1067000 0.0043354963 0.0020437126 0.0041775896 + 1067100 0.0047574423 0.0022942643 0.004635818 + 1067200 0.0050872629 0.002232211 0.0047360983 + 1067300 0.0054004118 0.00204635 0.0047043652 + 1067400 0.0054064917 0.0022174827 0.0048784903 + 1067500 0.0036920924 0.0026552233 0.004472425 + 1067600 0.0049692357 0.0030407846 0.0054865803 + 1067700 0.0054789427 0.0028102312 0.0055068983 + 1067800 0.0043502847 0.002737795 0.0048789508 + 1067900 0.0057116591 0.0025866331 0.0053978403 + 1068000 0.0047162985 0.0027443836 0.0050656868 + 1068100 0.0046957898 0.0031324129 0.005443622 + 1068200 0.0063257767 0.0035651848 0.006678653 + 1068300 0.0037195518 0.0038397049 0.0056704218 + 1068400 0.004852633 0.003077699 0.0054661043 + 1068500 0.0058535828 0.0027935501 0.0056746104 + 1068600 0.0047325461 0.0027083081 0.0050376081 + 1068700 0.0044167822 0.0028614135 0.0050352985 + 1068800 0.0047446084 0.0028989832 0.0052342202 + 1068900 0.0063512833 0.002654074 0.0057800963 + 1069000 0.0047793122 0.0024758412 0.004828159 + 1069100 0.0051811346 0.0025445125 0.0050946022 + 1069200 0.0047010716 0.0028835242 0.0051973329 + 1069300 0.0052618791 0.0027086704 0.0052985015 + 1069400 0.004888299 0.0026074289 0.0050133885 + 1069500 0.0044375186 0.0027279184 0.0049120096 + 1069600 0.0052230937 0.0022720115 0.0048427529 + 1069700 0.0072007172 0.0025756473 0.0061197503 + 1069800 0.0050286119 0.0030640604 0.0055390803 + 1069900 0.0085755702 0.002620021 0.0068408095 + 1070000 0.0063898418 0.0024859562 0.0056309565 + 1070100 0.0037901848 0.0026965068 0.0045619884 + 1070200 0.0053735462 0.0022948244 0.0049396167 + 1070300 0.0049299673 0.0023826327 0.004809101 + 1070400 0.0056260718 0.0027134328 0.005482515 + 1070500 0.0047629685 0.0033598436 0.0057041172 + 1070600 0.003668694 0.0032343632 0.0050400485 + 1070700 0.0043588321 0.0027665365 0.0049118992 + 1070800 0.0045553223 0.0025374489 0.0047795216 + 1070900 0.0049787867 0.0025848164 0.005035313 + 1071000 0.0055645677 0.0025540902 0.0052929009 + 1071100 0.0060909405 0.0021403627 0.0051382474 + 1071200 0.0045806933 0.0018936821 0.0041482421 + 1071300 0.0032846087 0.0022340657 0.0038507091 + 1071400 0.0058318034 0.0024500427 0.0053203835 + 1071500 0.0045498135 0.0026834445 0.0049228058 + 1071600 0.0039651275 0.002807732 0.0047593182 + 1071700 0.0049895963 0.0024876941 0.0049435111 + 1071800 0.0048134742 0.0024926215 0.0048617533 + 1071900 0.0056370171 0.0026275974 0.0054020668 + 1072000 0.0050050004 0.0026910944 0.0051544931 + 1072100 0.0044595304 0.003013443 0.0052083681 + 1072200 0.0038933253 0.0029741407 0.0048903867 + 1072300 0.0041948316 0.0027654225 0.0048300661 + 1072400 0.0049727132 0.0027848273 0.0052323345 + 1072500 0.0050778093 0.0025209376 0.0050201718 + 1072600 0.0041405667 0.0022033216 0.0042412568 + 1072700 0.0057947264 0.002025359 0.0048774509 + 1072800 0.0052722166 0.0021427002 0.0047376193 + 1072900 0.005475667 0.0019976495 0.0046927043 + 1073000 0.0038378647 0.002153581 0.00404253 + 1073100 0.0032542165 0.0022408197 0.0038425044 + 1073200 0.0049229257 0.0018017672 0.0042247697 + 1073300 0.0035415818 0.0015470817 0.0032902039 + 1073400 0.0036064963 0.0015745929 0.0033496653 + 1073500 0.0039269445 0.0016751601 0.0036079531 + 1073600 0.0050532556 0.0018794 0.0043665493 + 1073700 0.0029316432 0.002229927 0.0036728451 + 1073800 0.0051061941 0.0021754033 0.0046886082 + 1073900 0.0046971027 0.0020389008 0.004350756 + 1074000 0.0041729655 0.0018001895 0.0038540709 + 1074100 0.0052385474 0.0024877395 0.005066087 + 1074200 0.0043502878 0.0026966594 0.0048378166 + 1074300 0.0057408911 0.0018698347 0.0046954295 + 1074400 0.0057025576 0.0017746376 0.0045813652 + 1074500 0.0043141202 0.0020345196 0.0041578756 + 1074600 0.0061410207 0.0022506193 0.0052731529 + 1074700 0.0055733968 0.0027841709 0.0055273272 + 1074800 0.0045372683 0.0032624646 0.0054956513 + 1074900 0.0040977405 0.0033103539 0.0053272105 + 1075000 0.0052420929 0.0031054134 0.005685506 + 1075100 0.0051580972 0.0030433218 0.0055820728 + 1075200 0.0047594115 0.0027162161 0.005058739 + 1075300 0.0050802329 0.0028596573 0.0053600844 + 1075400 0.0065437208 0.0022655901 0.0054863277 + 1075500 0.005183424 0.0020029541 0.0045541706 + 1075600 0.0043149449 0.0018319177 0.0039556797 + 1075700 0.0062130022 0.0016198308 0.0046777929 + 1075800 0.0053953611 0.0015267456 0.0041822749 + 1075900 0.0047669979 0.0016072218 0.0039534786 + 1076000 0.0047293632 0.0020709283 0.0043986617 + 1076100 0.0035504664 0.0026779538 0.004425449 + 1076200 0.0059223142 0.0027265862 0.0056414752 + 1076300 0.006096387 0.0026496305 0.005650196 + 1076400 0.0041063944 0.0021349173 0.0041560333 + 1076500 0.0044300915 0.0019323655 0.0041128011 + 1076600 0.0060205277 0.0021861268 0.0051493552 + 1076700 0.0043351276 0.0018373869 0.0039710825 + 1076800 0.0050224661 0.0019119707 0.0043839657 + 1076900 0.00391171 0.0020561677 0.0039814625 + 1077000 0.0059798301 0.0019964244 0.004939622 + 1077100 0.0031892114 0.0021507743 0.0037204643 + 1077200 0.0034359303 0.0022751959 0.0039663178 + 1077300 0.005047831 0.0024452014 0.0049296807 + 1077400 0.0043738481 0.0030225937 0.0051753471 + 1077500 0.0049582207 0.0031882872 0.0056286615 + 1077600 0.0053649063 0.002724706 0.0053652458 + 1077700 0.0037679264 0.0023930301 0.0042475564 + 1077800 0.0049571704 0.0022785097 0.004718367 + 1077900 0.005416246 0.0025695818 0.0052353904 + 1078000 0.004467054 0.0030290654 0.0052276935 + 1078100 0.0046475494 0.0028718292 0.0051592949 + 1078200 0.0055450946 0.0022910815 0.0050203078 + 1078300 0.0046436016 0.0022666217 0.0045521443 + 1078400 0.0055005947 0.0023517169 0.0050590409 + 1078500 0.0056130485 0.0023138668 0.0050765391 + 1078600 0.005605679 0.00220806 0.0049671051 + 1078700 0.0048962771 0.0025550052 0.0049648915 + 1078800 0.0036046679 0.003271447 0.0050456195 + 1078900 0.0045646665 0.0029417218 0.0051883936 + 1079000 0.0040934077 0.0025125144 0.0045272385 + 1079100 0.0046760352 0.0027001637 0.0050016498 + 1079200 0.0059155935 0.0025063829 0.0054179641 + 1079300 0.0071362612 0.0026083804 0.0061207589 + 1079400 0.005938656 0.0027956073 0.0057185395 + 1079500 0.005592672 0.0026282391 0.0053808823 + 1079600 0.003896231 0.0026444981 0.0045621743 + 1079700 0.0047958225 0.0027565223 0.0051169661 + 1079800 0.006112223 0.0027491265 0.0057574862 + 1079900 0.0065473326 0.0027224073 0.0059449226 + 1080000 0.0048917781 0.0027805786 0.0051882507 + 1080100 0.0052670537 0.002935789 0.005528167 + 1080200 0.0043095396 0.0031971787 0.0053182802 + 1080300 0.0060951897 0.0026964138 0.00569639 + 1080400 0.0045032997 0.002198183 0.0044146508 + 1080500 0.0038001125 0.0020764719 0.0039468398 + 1080600 0.0048871704 0.0021575469 0.0045629511 + 1080700 0.0054363121 0.0024862923 0.0051619772 + 1080800 0.0044893367 0.0024585634 0.0046681587 + 1080900 0.0048832574 0.0027283429 0.0051318212 + 1081000 0.0047755718 0.002959496 0.0053099727 + 1081100 0.004872503 0.0024630054 0.0048611905 + 1081200 0.0055966963 0.0022451393 0.0049997633 + 1081300 0.0042412156 0.0028958994 0.0049833727 + 1081400 0.0038990521 0.0037099269 0.0056289915 + 1081500 0.0042750356 0.0035788489 0.005682968 + 1081600 0.006615429 0.0028688493 0.0061248808 + 1081700 0.0056996149 0.0026226931 0.0054279723 + 1081800 0.0051053415 0.0029649529 0.0054777382 + 1081900 0.0048595941 0.0034337354 0.0058255669 + 1082000 0.0062193259 0.0034325703 0.0064936448 + 1082100 0.0048331093 0.0035249084 0.0059037044 + 1082200 0.0051151239 0.0034046527 0.0059222527 + 1082300 0.00493154 0.0030745955 0.0055018379 + 1082400 0.0044693479 0.0031159836 0.0053157408 + 1082500 0.0058638532 0.0028169761 0.0057030913 + 1082600 0.0041780913 0.0025863866 0.004642791 + 1082700 0.0037747212 0.0024670411 0.0043249117 + 1082800 0.0053714275 0.0021659715 0.004809721 + 1082900 0.0061908659 0.0021121818 0.0051592486 + 1083000 0.0051041448 0.0024815937 0.00499379 + 1083100 0.0048362885 0.0024887335 0.0048690943 + 1083200 0.0053731486 0.0022247408 0.0048693373 + 1083300 0.0052460965 0.0017187401 0.0043008032 + 1083400 0.0050109214 0.0020012092 0.0044675221 + 1083500 0.0068066228 0.0024791764 0.005829311 + 1083600 0.0049458772 0.0024121554 0.0048464543 + 1083700 0.0044916069 0.0025901572 0.00480087 + 1083800 0.004923253 0.0026081468 0.0050313103 + 1083900 0.0048735484 0.0028020698 0.0052007694 + 1084000 0.0041624025 0.0029322659 0.0049809484 + 1084100 0.006205252 0.0031182059 0.0061723534 + 1084200 0.0037106073 0.0030484985 0.004874813 + 1084300 0.0053533091 0.0026747679 0.0053095998 + 1084400 0.0056121921 0.0029517881 0.0057140388 + 1084500 0.0046431639 0.0030992712 0.0053845785 + 1084600 0.0063682974 0.002592441 0.0057268374 + 1084700 0.0042805742 0.0022285835 0.0043354286 + 1084800 0.0027032657 0.002303809 0.0036343226 + 1084900 0.0039309322 0.002455015 0.0043897707 + 1085000 0.0044096026 0.0027970884 0.0049674397 + 1085100 0.0052117026 0.0029502571 0.005515392 + 1085200 0.0064769424 0.0029959552 0.0061838253 + 1085300 0.0043720636 0.0036096296 0.0057615047 + 1085400 0.0054703209 0.0034989211 0.0061913447 + 1085500 0.0038822012 0.0035048785 0.0054156494 + 1085600 0.0052788723 0.0029675189 0.0055657139 + 1085700 0.0045274179 0.0027299671 0.0049583056 + 1085800 0.0044645668 0.002825656 0.00502306 + 1085900 0.0043675785 0.0030463151 0.0051959826 + 1086000 0.0059505616 0.0027220478 0.0056508398 + 1086100 0.0040700521 0.0026931771 0.0046964059 + 1086200 0.0044977942 0.0031799124 0.0053936705 + 1086300 0.0066923989 0.0028642334 0.0061581484 + 1086400 0.0043081672 0.0029675082 0.0050879342 + 1086500 0.0043837507 0.0032079369 0.0053655642 + 1086600 0.0050099159 0.0031628159 0.0056286338 + 1086700 0.0060057466 0.0032024532 0.0061584066 + 1086800 0.0058924724 0.003201816 0.0061020172 + 1086900 0.004208976 0.0027094985 0.0047811039 + 1087000 0.0043129066 0.002510114 0.0046328727 + 1087100 0.0052634365 0.0025257353 0.0051163329 + 1087200 0.0050161221 0.0028914861 0.0053603586 + 1087300 0.0042362844 0.0032639546 0.0053490008 + 1087400 0.0066333219 0.0032997231 0.0065645612 + 1087500 0.0047676373 0.003316343 0.0056629144 + 1087600 0.0054587979 0.0034528468 0.0061395988 + 1087700 0.0056237402 0.0033054877 0.0060734223 + 1087800 0.0065933117 0.0032501976 0.0064953432 + 1087900 0.0040468073 0.003255591 0.0052473789 + 1088000 0.0074887149 0.0028797848 0.0065656367 + 1088100 0.0054764936 0.0027159713 0.005411433 + 1088200 0.0056946021 0.0024425464 0.0052453583 + 1088300 0.0060849286 0.0025722701 0.0055671959 + 1088400 0.0051000428 0.0028576697 0.005367847 + 1088500 0.0051255179 0.0028039101 0.005326626 + 1088600 0.0038954711 0.0029710128 0.004888315 + 1088700 0.0034305855 0.0027619242 0.0044504155 + 1088800 0.0037428918 0.0027496111 0.0045918157 + 1088900 0.0040431797 0.0028494559 0.0048394584 + 1089000 0.0035803629 0.0026116108 0.0043738207 + 1089100 0.0053684429 0.0028894118 0.0055316923 + 1089200 0.0044596094 0.002952058 0.005147022 + 1089300 0.0043188878 0.0030839375 0.0052096401 + 1089400 0.0052916548 0.0031374219 0.0057419083 + 1089500 0.0046807865 0.0034781569 0.0057819816 + 1089600 0.0048251677 0.0038108961 0.0061857833 + 1089700 0.0034556163 0.0037571051 0.0054579162 + 1089800 0.0074133481 0.0028065438 0.006455301 + 1089900 0.0046841111 0.0024983653 0.0048038263 + 1090000 0.0051884507 0.0031555509 0.0057092415 + 1090100 0.0054482173 0.0034610661 0.0061426105 + 1090200 0.0059911472 0.0025684533 0.0055172211 + 1090300 0.0040312954 0.0026682576 0.0046524108 + 1090400 0.0052286887 0.0032912613 0.0058647565 + 1090500 0.0047397058 0.0033986175 0.0057314414 + 1090600 0.0058992293 0.0029277967 0.0058313236 + 1090700 0.0063641369 0.0030260694 0.006158418 + 1090800 0.0049009632 0.0033877119 0.0057999047 + 1090900 0.0047493294 0.0035438112 0.0058813718 + 1091000 0.0044137633 0.0039778149 0.006150214 + 1091100 0.0047881064 0.0040988497 0.0064554958 + 1091200 0.0070672605 0.0039443578 0.007422775 + 1091300 0.004157013 0.0034959657 0.0055419955 + 1091400 0.0058447547 0.0029215613 0.0057982765 + 1091500 0.0049583333 0.0027792141 0.0052196438 + 1091600 0.0045865089 0.0030769706 0.0053343929 + 1091700 0.0053466059 0.003346286 0.0059778186 + 1091800 0.0044793431 0.0037073938 0.0059120705 + 1091900 0.0043111727 0.0031683281 0.0052902334 + 1092000 0.0047856628 0.0026660719 0.0050215153 + 1092100 0.0057388409 0.002815794 0.0056403797 + 1092200 0.0045472782 0.0031640204 0.0054021338 + 1092300 0.0038222552 0.0029303328 0.004811599 + 1092400 0.0047550644 0.0030006651 0.0053410483 + 1092500 0.0061579705 0.0027703337 0.0058012098 + 1092600 0.0045403249 0.0031470111 0.0053817022 + 1092700 0.0060487987 0.002794692 0.0057718351 + 1092800 0.0055724709 0.0024135542 0.0051562547 + 1092900 0.0053899147 0.0022472497 0.0049000983 + 1093000 0.0043028728 0.002771622 0.0048894422 + 1093100 0.0053187592 0.0026675746 0.0052854014 + 1093200 0.0052470305 0.0024737278 0.0050562506 + 1093300 0.005454694 0.0026662751 0.0053510074 + 1093400 0.0039611401 0.0027646924 0.004714316 + 1093500 0.0048669861 0.0033328893 0.005728359 + 1093600 0.0037383672 0.0031549245 0.004994902 + 1093700 0.0048840972 0.0028624802 0.0052663718 + 1093800 0.0047558044 0.0028671691 0.0052079166 + 1093900 0.0031406878 0.0028045363 0.0043503436 + 1094000 0.0040212351 0.0024880253 0.0044672269 + 1094100 0.0047756878 0.0024108135 0.0047613473 + 1094200 0.0042974814 0.002855119 0.0049702857 + 1094300 0.004245122 0.0035434008 0.0056327968 + 1094400 0.0047275343 0.0033492979 0.0056761312 + 1094500 0.0043017978 0.0034618206 0.0055791117 + 1094600 0.0052820172 0.003350155 0.0059498979 + 1094700 0.005846617 0.0033122682 0.0061899 + 1094800 0.0076372806 0.0033354068 0.0070943809 + 1094900 0.0075696499 0.0028223891 0.0065480762 + 1095000 0.0058048741 0.0030054632 0.0058625497 + 1095100 0.006514947 0.0031572997 0.0063638752 + 1095200 0.0067973185 0.0027644498 0.006110005 + 1095300 0.0052075666 0.0026829768 0.005246076 + 1095400 0.0050859841 0.0026749356 0.0051781934 + 1095500 0.0047844675 0.0027987008 0.0051535559 + 1095600 0.004964642 0.0031577504 0.0056012851 + 1095700 0.0063751853 0.0033985748 0.0065363613 + 1095800 0.0052637185 0.0029777664 0.0055685029 + 1095900 0.0048437485 0.0021287915 0.004512824 + 1096000 0.0071799037 0.0019550673 0.0054889261 + 1096100 0.0042820795 0.0027420654 0.0048496514 + 1096200 0.0042616034 0.0031958372 0.0052933451 + 1096300 0.004546308 0.0027355321 0.0049731681 + 1096400 0.005880272 0.0027142967 0.005608493 + 1096500 0.0052145024 0.0029664608 0.0055329737 + 1096600 0.006097337 0.0029990159 0.0060000489 + 1096700 0.0061077747 0.0030041845 0.0060103549 + 1096800 0.0053759658 0.0026647462 0.0053107294 + 1096900 0.004641537 0.0025205632 0.0048050697 + 1097000 0.0043981788 0.0022997894 0.004464518 + 1097100 0.0061608046 0.0023072473 0.0053395183 + 1097200 0.0052842569 0.0027276479 0.0053284931 + 1097300 0.0061853197 0.0031356541 0.0061799912 + 1097400 0.0046691285 0.0027509386 0.0050490253 + 1097500 0.0048377639 0.0025019963 0.0048830832 + 1097600 0.0036085757 0.0027531557 0.0045292515 + 1097700 0.0044541715 0.002782877 0.0049751646 + 1097800 0.0053040802 0.002477923 0.005088525 + 1097900 0.0058856988 0.0027721508 0.0056690182 + 1098000 0.005630234 0.002802467 0.0055735978 + 1098100 0.0050669173 0.0021735762 0.0046674496 + 1098200 0.0043006493 0.0020985577 0.0042152835 + 1098300 0.0042142147 0.0025351751 0.0046093589 + 1098400 0.0055460485 0.0026564166 0.0053861124 + 1098500 0.0066466011 0.0029106803 0.0061820543 + 1098600 0.0052778224 0.0027367443 0.0053344225 + 1098700 0.0035720015 0.0024204502 0.0041785447 + 1098800 0.0059336745 0.0019021694 0.0048226498 + 1098900 0.0040676837 0.0022085909 0.004210654 + 1099000 0.0043963704 0.0022216116 0.0043854501 + 1099100 0.0043395385 0.0023649065 0.0045007731 + 1099200 0.0042487895 0.0022400281 0.0043312291 + 1099300 0.0050951978 0.0022955915 0.0048033842 + 1099400 0.0051662805 0.0026230135 0.0051657922 + 1099500 0.005843817 0.0026581326 0.0055343863 + 1099600 0.0048025849 0.0029193367 0.0052831089 + 1099700 0.0060163494 0.0024397982 0.0054009702 + 1099800 0.0074527006 0.0021978046 0.0058659307 + 1099900 0.0042199 0.0030633222 0.0051403043 + 1100000 0.0059267004 0.0033132126 0.0062302605 + 1100100 0.0046449284 0.0034101761 0.0056963517 + 1100200 0.0054285311 0.0030123607 0.0056842159 + 1100300 0.0052340931 0.0028578364 0.0054339916 + 1100400 0.005613654 0.0028146167 0.005577587 + 1100500 0.0034880064 0.0030111327 0.0047278858 + 1100600 0.0055052288 0.0031023809 0.0058119857 + 1100700 0.0065035281 0.0027536672 0.0059546224 + 1100800 0.0042586252 0.0027588273 0.0048548694 + 1100900 0.0055027071 0.0028274268 0.0055357904 + 1101000 0.0055884697 0.0029285279 0.0056791028 + 1101100 0.0065992595 0.0032411437 0.0064892168 + 1101200 0.0048236311 0.0031405174 0.0055146483 + 1101300 0.0057644928 0.0034794768 0.0063166881 + 1101400 0.00636087 0.0034247465 0.0065554872 + 1101500 0.0052617456 0.0034005258 0.0059902912 + 1101600 0.0048447888 0.0028654637 0.0052500082 + 1101700 0.0057304487 0.0025991781 0.0054196333 + 1101800 0.0043166664 0.0026380458 0.0047626551 + 1101900 0.0027638389 0.0028116671 0.004171994 + 1102000 0.0048992046 0.0024858449 0.0048971722 + 1102100 0.0038775517 0.002519444 0.0044279264 + 1102200 0.0041692432 0.0024935402 0.0045455896 + 1102300 0.0038888929 0.0024295069 0.0043435713 + 1102400 0.0041193365 0.0025743431 0.0046018291 + 1102500 0.004123797 0.002277048 0.0043067294 + 1102600 0.0053109536 0.0018566664 0.0044706514 + 1102700 0.0069572075 0.0021575208 0.0055817714 + 1102800 0.0050476968 0.0027018202 0.0051862335 + 1102900 0.0057096398 0.002377766 0.0051879793 + 1103000 0.0046701312 0.0021527478 0.004451328 + 1103100 0.0043433053 0.0020793194 0.00421704 + 1103200 0.004512025 0.0024148928 0.0046356551 + 1103300 0.0043354877 0.0027021723 0.0048360452 + 1103400 0.0041653132 0.0032567755 0.0053068906 + 1103500 0.0051845222 0.0035569339 0.0061086909 + 1103600 0.005750755 0.0031233115 0.0059537612 + 1103700 0.0052475368 0.0030386087 0.0056213807 + 1103800 0.0048063859 0.0029824061 0.0053480491 + 1103900 0.003819012 0.0028912402 0.0047709102 + 1104000 0.0054647042 0.0024102136 0.0050998727 + 1104100 0.0056975108 0.002479472 0.0052837156 + 1104200 0.0056329711 0.0026448816 0.0054173595 + 1104300 0.0059294505 0.0030120391 0.0059304406 + 1104400 0.0057232558 0.003021047 0.0058379619 + 1104500 0.0046629593 0.0031525806 0.0054476309 + 1104600 0.0052709774 0.0029765276 0.0055708367 + 1104700 0.0051723182 0.0027645804 0.0053103307 + 1104800 0.0056703815 0.0026743494 0.0054652403 + 1104900 0.0050425953 0.0028684863 0.0053503887 + 1105000 0.0060872054 0.00272533 0.0057213764 + 1105100 0.0040165237 0.0025744825 0.0045513653 + 1105200 0.0048238085 0.0027923003 0.0051665186 + 1105300 0.0057075778 0.0035665247 0.0063757231 + 1105400 0.0044266737 0.0039846573 0.0061634107 + 1105500 0.0048511787 0.003849831 0.0062375205 + 1105600 0.0070319024 0.0027396393 0.0062006538 + 1105700 0.0065411117 0.0028334912 0.0060529446 + 1105800 0.0046391095 0.0033648917 0.0056482034 + 1105900 0.0043926351 0.0031788257 0.0053408258 + 1106000 0.0057881828 0.0028727267 0.0057215979 + 1106100 0.0051342171 0.0031000844 0.0056270818 + 1106200 0.0041727057 0.003015779 0.0050695325 + 1106300 0.0076241874 0.0029438473 0.006696377 + 1106400 0.0034871605 0.0032176077 0.0049339445 + 1106500 0.0062672852 0.0030482699 0.0061329493 + 1106600 0.0059029193 0.0031323135 0.0060376566 + 1106700 0.0054376249 0.0028816527 0.0055579837 + 1106800 0.0043782432 0.0026193093 0.0047742259 + 1106900 0.0038931144 0.0024937205 0.0044098628 + 1107000 0.0049565251 0.0026380511 0.0050775908 + 1107100 0.0061656321 0.0027992464 0.0058338934 + 1107200 0.0055203319 0.0029685796 0.005685618 + 1107300 0.004924756 0.0031084248 0.0055323282 + 1107400 0.0049074939 0.0029308127 0.0053462198 + 1107500 0.0055539598 0.0028535955 0.0055871851 + 1107600 0.005530852 0.002638223 0.0053604392 + 1107700 0.0056035848 0.002753771 0.0055117854 + 1107800 0.0044316081 0.00310817 0.0052893521 + 1107900 0.0055694135 0.0028708967 0.0056120925 + 1108000 0.0068393656 0.0025340838 0.005900334 + 1108100 0.0050314529 0.0023480599 0.0048244781 + 1108200 0.0054633946 0.0023381371 0.0050271516 + 1108300 0.003331477 0.0024024803 0.0040421916 + 1108400 0.0048764772 0.0026439327 0.0050440739 + 1108500 0.0048347789 0.0027128469 0.0050924646 + 1108600 0.0051338042 0.0025066029 0.0050333971 + 1108700 0.0056911884 0.0023415182 0.00514265 + 1108800 0.004523905 0.0024261128 0.0046527223 + 1108900 0.0054715166 0.002375838 0.0050688501 + 1109000 0.0058647252 0.0027451538 0.0056316982 + 1109100 0.0058143007 0.0031428907 0.0060046168 + 1109200 0.0046175991 0.0027672911 0.0050400157 + 1109300 0.0046730626 0.0020632209 0.0043632439 + 1109400 0.0048874505 0.0021198384 0.0045253804 + 1109500 0.0043572696 0.0029215498 0.0050661434 + 1109600 0.0056067547 0.0032222032 0.0059817778 + 1109700 0.0067303045 0.0027024346 0.0060150064 + 1109800 0.0055496828 0.0023598693 0.0050913537 + 1109900 0.0042777807 0.0026225494 0.0047280196 + 1110000 0.0053521616 0.0029618295 0.0055960965 + 1110100 0.0036331605 0.0030226 0.0048107962 + 1110200 0.0041319109 0.0029802932 0.0050139681 + 1110300 0.0039246772 0.0028420728 0.0047737499 + 1110400 0.0049573681 0.0028340487 0.0052740033 + 1110500 0.0057927134 0.0026073461 0.0054584472 + 1110600 0.0044012245 0.0027377315 0.0049039592 + 1110700 0.0049880632 0.0028399774 0.0052950398 + 1110800 0.0059612936 0.0028884767 0.0058225509 + 1110900 0.0060762308 0.002972223 0.0059628679 + 1111000 0.0050389978 0.0031182376 0.0055983694 + 1111100 0.003790939 0.0026517711 0.0045176239 + 1111200 0.0046618916 0.0024736532 0.004768178 + 1111300 0.0054599593 0.0026168622 0.0053041859 + 1111400 0.0045384405 0.0028312576 0.0050650213 + 1111500 0.0038829066 0.0030965173 0.0050076353 + 1111600 0.0041840858 0.0031965068 0.0052558615 + 1111700 0.0043844937 0.0026048493 0.0047628423 + 1111800 0.0041321366 0.0022903279 0.0043241139 + 1111900 0.003964238 0.0023112138 0.0042623623 + 1112000 0.0027238711 0.0026258506 0.0039665059 + 1112100 0.0039635869 0.0025339846 0.0044848125 + 1112200 0.0062341302 0.0025339899 0.0056023509 + 1112300 0.0052680537 0.0032535158 0.005846386 + 1112400 0.0042264651 0.0037682305 0.0058484438 + 1112500 0.0036646009 0.0035047427 0.0053084135 + 1112600 0.0050881358 0.0027003687 0.0052046856 + 1112700 0.0054198161 0.002762181 0.0054297468 + 1112800 0.0044966586 0.0027843272 0.0049975263 + 1112900 0.0055852218 0.0026674687 0.0054164451 + 1113000 0.0061931076 0.0032676133 0.0063157835 + 1113100 0.0055056777 0.0032258007 0.0059356265 + 1113200 0.004039471 0.0029580929 0.0049462701 + 1113300 0.0065675563 0.0023906935 0.0056231627 + 1113400 0.0050072538 0.0024108193 0.004875327 + 1113500 0.0078146016 0.0032376491 0.0070838983 + 1113600 0.0048579328 0.0035665594 0.0059575732 + 1113700 0.0081687388 0.002899786 0.0069203371 + 1113800 0.0058866491 0.0027624973 0.0056598324 + 1113900 0.0058893593 0.0030807964 0.0059794654 + 1114000 0.0051587937 0.0034598296 0.0059989234 + 1114100 0.0046150411 0.0026419868 0.0049134523 + 1114200 0.0060719435 0.0025878344 0.0055763691 + 1114300 0.0049825373 0.0026597145 0.0051120571 + 1114400 0.0057845958 0.0029815559 0.0058286616 + 1114500 0.0046539977 0.0032007859 0.0054914254 + 1114600 0.004392356 0.0031609728 0.0053228356 + 1114700 0.0046761557 0.0029197406 0.005221286 + 1114800 0.0045048321 0.0027661549 0.0049833769 + 1114900 0.00508801 0.0028334242 0.0053376791 + 1115000 0.0050853557 0.002923528 0.0054264765 + 1115100 0.0052494842 0.002847849 0.0054315795 + 1115200 0.006317395 0.0024858691 0.005595212 + 1115300 0.0054294419 0.0027658066 0.00543811 + 1115400 0.0042300512 0.0031350702 0.0052170485 + 1115500 0.0053541606 0.0031074253 0.0057426762 + 1115600 0.0050243323 0.0028907704 0.0053636839 + 1115700 0.0049021237 0.0030137226 0.0054264866 + 1115800 0.0047303487 0.0029760977 0.0053043162 + 1115900 0.0036881927 0.0029575114 0.0047727937 + 1116000 0.0050958215 0.0024771551 0.0049852547 + 1116100 0.0040445735 0.0023626829 0.0043533715 + 1116200 0.0041473562 0.0025356497 0.0045769266 + 1116300 0.0039785856 0.002882779 0.0048409891 + 1116400 0.0053961779 0.0031478078 0.0058037391 + 1116500 0.0048252247 0.0034242473 0.0057991626 + 1116600 0.0047889659 0.0033063643 0.0056634335 + 1116700 0.0038779709 0.0031517499 0.0050604387 + 1116800 0.0049438184 0.002966657 0.0053999426 + 1116900 0.004168775 0.00313996 0.0051917789 + 1117000 0.0048980233 0.0032930253 0.0057037712 + 1117100 0.0048019162 0.0036822573 0.0060457004 + 1117200 0.00538707 0.003629423 0.0062808716 + 1117300 0.0040782169 0.0034862798 0.0054935272 + 1117400 0.0048477334 0.003726453 0.0061124468 + 1117500 0.0052247772 0.0043192514 0.0068908214 + 1117600 0.0059275607 0.0041564718 0.0070739431 + 1117700 0.005604071 0.0038637016 0.0066219553 + 1117800 0.0044473977 0.0036268456 0.0058157991 + 1117900 0.0034891594 0.0030316632 0.0047489838 + 1118000 0.0049087571 0.0028317598 0.0052477886 + 1118100 0.0046843325 0.0028990456 0.0052046155 + 1118200 0.0046039055 0.0029277624 0.0051937471 + 1118300 0.0045140778 0.002908801 0.0051305737 + 1118400 0.0044524158 0.0028951052 0.0050865286 + 1118500 0.0044554001 0.002956587 0.0051494792 + 1118600 0.0065673552 0.003009158 0.0062415281 + 1118700 0.0054890846 0.0033987449 0.0061004038 + 1118800 0.006250578 0.0034284943 0.0065049507 + 1118900 0.0056715143 0.0028887606 0.005680209 + 1119000 0.0055559111 0.0026634225 0.0053979725 + 1119100 0.0048735286 0.0028519205 0.0052506104 + 1119200 0.0033187482 0.0031943185 0.0048277649 + 1119300 0.0049638123 0.0027545601 0.0051976865 + 1119400 0.0055929886 0.0030380799 0.0057908789 + 1119500 0.0048867214 0.0027795248 0.005184708 + 1119600 0.0041770599 0.0028756076 0.0049315043 + 1119700 0.0051865995 0.0029954143 0.0055481938 + 1119800 0.005642964 0.0026927286 0.005470125 + 1119900 0.0039845423 0.0027506115 0.0047117534 + 1120000 0.0069531815 0.0027996708 0.0062219399 + 1120100 0.0039960026 0.0027866146 0.0047533971 + 1120200 0.0053982884 0.0029162425 0.0055732126 + 1120300 0.0046132877 0.0029844992 0.0052551017 + 1120400 0.0043427505 0.0032586985 0.005396146 + 1120500 0.0043349062 0.003704319 0.0058379057 + 1120600 0.0048054036 0.0035245379 0.0058896974 + 1120700 0.0052581624 0.0032188142 0.0058068159 + 1120800 0.0051729728 0.0029025762 0.0054486487 + 1120900 0.0049286823 0.0025691546 0.0049949904 + 1121000 0.0043083161 0.0021423808 0.0042628802 + 1121100 0.0054077786 0.0019890021 0.0046506431 + 1121200 0.0047822158 0.0022276192 0.004581366 + 1121300 0.0039936991 0.0022821507 0.0042477995 + 1121400 0.0044991906 0.0024168375 0.0046312829 + 1121500 0.0052349057 0.0024563312 0.0050328863 + 1121600 0.0052056368 0.0023494289 0.0049115782 + 1121700 0.0045432751 0.002012715 0.0042488582 + 1121800 0.0060093355 0.0021693047 0.0051270245 + 1121900 0.0046350748 0.0030168312 0.0052981571 + 1122000 0.0037322971 0.0036723751 0.0055093651 + 1122100 0.0033744806 0.0033288604 0.0049897375 + 1122200 0.0048366756 0.0026560772 0.0050366285 + 1122300 0.0061682736 0.002095147 0.0051310941 + 1122400 0.0050386627 0.0023030757 0.0047830425 + 1122500 0.0053367311 0.002326859 0.0049535313 + 1122600 0.0067898682 0.0023832506 0.0057251388 + 1122700 0.0053118303 0.0028403753 0.0054547918 + 1122800 0.0042001575 0.0036077992 0.0056750642 + 1122900 0.0053676878 0.0031778103 0.0058197192 + 1123000 0.0063103099 0.0023234944 0.0054293501 + 1123100 0.0041018874 0.0024070343 0.0044259321 + 1123200 0.0043128544 0.0026609753 0.0047837083 + 1123300 0.0041202396 0.002637988 0.0046659185 + 1123400 0.0058061377 0.0022749523 0.0051326607 + 1123500 0.0050071048 0.0023962674 0.0048607019 + 1123600 0.0059089931 0.0031031763 0.0060115089 + 1123700 0.0058659697 0.0031411138 0.0060282708 + 1123800 0.0042967587 0.0029434151 0.0050582261 + 1123900 0.0039773969 0.0027235156 0.0046811406 + 1124000 0.0059008284 0.0023867927 0.0052911067 + 1124100 0.0057712028 0.0027152902 0.0055558041 + 1124200 0.0068375925 0.0024356401 0.0058010177 + 1124300 0.0035722141 0.0024466982 0.0042048973 + 1124400 0.0068371762 0.0024781781 0.0058433508 + 1124500 0.0037194717 0.0027963904 0.0046270679 + 1124600 0.0058691357 0.0026854232 0.0055741384 + 1124700 0.0051238493 0.0025774731 0.0050993676 + 1124800 0.0069454108 0.0029511609 0.0063696053 + 1124900 0.0056908804 0.0033754416 0.0061764218 + 1125000 0.0047231927 0.0027796281 0.0051043245 + 1125100 0.0047771442 0.0022741655 0.0046254162 + 1125200 0.0045494031 0.0023848487 0.0046240081 + 1125300 0.0044130306 0.0024930325 0.004665071 + 1125400 0.0055293135 0.0028201865 0.0055416455 + 1125500 0.0035395239 0.002796676 0.0045387855 + 1125600 0.0041082491 0.0028563266 0.0048783555 + 1125700 0.0054929104 0.0026744254 0.0053779673 + 1125800 0.0047522349 0.0034239661 0.0057629568 + 1125900 0.0054165929 0.0036463155 0.0063122948 + 1126000 0.0050288382 0.0037659683 0.0062410996 + 1126100 0.0045067468 0.0032037123 0.0054218767 + 1126200 0.0066272022 0.0030449963 0.0063068224 + 1126300 0.0052951503 0.0032423892 0.005848596 + 1126400 0.0041545886 0.0034982854 0.0055431219 + 1126500 0.0065379293 0.0027955152 0.0060134023 + 1126600 0.0064513712 0.0028665936 0.0060418778 + 1126700 0.003713694 0.0036422336 0.0054700674 + 1126800 0.0053573898 0.0033575081 0.0059943484 + 1126900 0.0042053516 0.0029462366 0.0050160581 + 1127000 0.005211016 0.0029060059 0.0054708028 + 1127100 0.0049170855 0.0027006019 0.0051207299 + 1127200 0.004778754 0.0024525487 0.0048045917 + 1127300 0.0053425937 0.0020716853 0.0047012432 + 1127400 0.0040075613 0.002011512 0.0039839836 + 1127500 0.0045776187 0.0021253659 0.0043784126 + 1127600 0.0074041408 0.002199831 0.0058440565 + 1127700 0.0050858668 0.0026175938 0.0051207938 + 1127800 0.0071645465 0.0026332148 0.006159515 + 1127900 0.004865156 0.0027723183 0.0051668872 + 1128000 0.0052602656 0.0028692267 0.0054582636 + 1128100 0.0038944366 0.0024272007 0.0043439937 + 1128200 0.0052921202 0.0024326607 0.0050373761 + 1128300 0.0036266174 0.0026925419 0.0044775177 + 1128400 0.0053389319 0.0026699171 0.0052976727 + 1128500 0.004845435 0.0027231857 0.0051080482 + 1128600 0.0059441984 0.002658333 0.0055839931 + 1128700 0.0069702298 0.0028026823 0.0062333423 + 1128800 0.0061068787 0.0025464921 0.0055522215 + 1128900 0.0060763736 0.0026927429 0.0056834581 + 1129000 0.0045725068 0.0025243574 0.0047748881 + 1129100 0.0054260351 0.0017802705 0.0044508971 + 1129200 0.0038238499 0.0014001411 0.0032821922 + 1129300 0.0039509387 0.0018399105 0.0037845131 + 1129400 0.0065081657 0.0018697709 0.0050730088 + 1129500 0.0045965217 0.001990162 0.0042525126 + 1129600 0.0050957838 0.0020342802 0.0045423613 + 1129700 0.0041746003 0.0020685903 0.0041232764 + 1129800 0.0050746827 0.0019749545 0.0044726499 + 1129900 0.0041243667 0.0019410774 0.0039710391 + 1130000 0.0043662854 0.0020184339 0.0041674649 + 1130100 0.0040571233 0.0022509175 0.0042477829 + 1130200 0.0047284553 0.002371551 0.0046988376 + 1130300 0.0051584115 0.0024082177 0.0049471233 + 1130400 0.0041029511 0.0023910341 0.0044104554 + 1130500 0.005448655 0.0026135566 0.0052953165 + 1130600 0.0054196881 0.0030882846 0.0057557874 + 1130700 0.0054924079 0.0033689168 0.0060722113 + 1130800 0.005646432 0.0026018046 0.0053809078 + 1130900 0.0050255575 0.0018517844 0.0043253009 + 1131000 0.0079075971 0.0021922249 0.0060842454 + 1131100 0.0046615269 0.0025926579 0.0048870032 + 1131200 0.0057055402 0.0024085839 0.0052167795 + 1131300 0.0040890575 0.0022249797 0.0042375627 + 1131400 0.0041310337 0.0020446897 0.0040779329 + 1131500 0.0038024149 0.0022842948 0.0041557959 + 1131600 0.0059112325 0.0025170925 0.0054265273 + 1131700 0.0061367789 0.0025448653 0.0055653111 + 1131800 0.0056715825 0.0025966246 0.0053881066 + 1131900 0.0044246862 0.002915148 0.0050929232 + 1132000 0.0052359607 0.0030426753 0.0056197497 + 1132100 0.004949879 0.0026345452 0.0050708137 + 1132200 0.0057100459 0.0027191888 0.0055296021 + 1132300 0.0060828724 0.0027222307 0.0057161445 + 1132400 0.0046719916 0.0026893135 0.0049888093 + 1132500 0.0042833766 0.00253215 0.0046403744 + 1132600 0.0048644527 0.002039096 0.0044333188 + 1132700 0.0042309328 0.0017465433 0.0038289555 + 1132800 0.005005301 0.0020633663 0.0045269129 + 1132900 0.0045563432 0.0023035522 0.0045461274 + 1133000 0.0061924739 0.0026896772 0.0057375354 + 1133100 0.0056900484 0.002531901 0.0053324717 + 1133200 0.0055411445 0.0028574732 0.0055847553 + 1133300 0.005022954 0.0032690401 0.0057412753 + 1133400 0.0066423782 0.0025068638 0.0057761593 + 1133500 0.0036826021 0.0023458121 0.0041583428 + 1133600 0.0040931249 0.0024900803 0.0045046652 + 1133700 0.0033514787 0.002912181 0.004561737 + 1133800 0.0057362119 0.0028126433 0.005635935 + 1133900 0.0060792279 0.0028441399 0.0058362599 + 1134000 0.0032759607 0.002922868 0.004535255 + 1134100 0.0055051399 0.0018452961 0.0045548571 + 1134200 0.0034090913 0.0018186237 0.0034965358 + 1134300 0.0042155821 0.0017104255 0.0037852823 + 1134400 0.0059398095 0.0015079166 0.0044314166 + 1134500 0.005455146 0.0019404188 0.0046253735 + 1134600 0.0047454946 0.002081255 0.0044169281 + 1134700 0.0043066885 0.0023352016 0.0044548998 + 1134800 0.0060191115 0.0021199172 0.0050824487 + 1134900 0.0044722726 0.0020554492 0.0042566459 + 1135000 0.0036781893 0.0024230089 0.0042333677 + 1135100 0.0059304579 0.002443407 0.0053623042 + 1135200 0.0044434966 0.0026759436 0.0048629771 + 1135300 0.0029924711 0.0024543955 0.0039272523 + 1135400 0.0046413704 0.0019591521 0.0042435766 + 1135500 0.0059219661 0.0018629257 0.0047776434 + 1135600 0.0044778117 0.0022832529 0.0044871758 + 1135700 0.0050899973 0.0024709733 0.0049762064 + 1135800 0.0043232067 0.0023191549 0.0044469832 + 1135900 0.0055312962 0.0020871278 0.0048095627 + 1136000 0.0042206897 0.0020206712 0.0040980419 + 1136100 0.0041385623 0.0019670665 0.0040040151 + 1136200 0.0044843484 0.0022235988 0.004430739 + 1136300 0.004153764 0.0022768102 0.0043212409 + 1136400 0.0048923707 0.0020464932 0.0044544569 + 1136500 0.004328573 0.0024003093 0.0045307788 + 1136600 0.0052369604 0.0025833333 0.0051608998 + 1136700 0.0062547118 0.0024746839 0.0055531749 + 1136800 0.0051821616 0.0022200364 0.0047706316 + 1136900 0.0049912465 0.0020782946 0.0045349237 + 1137000 0.0058701458 0.00188489 0.0047741024 + 1137100 0.0035517707 0.0021527121 0.0039008492 + 1137200 0.0043852135 0.0021579537 0.0043163009 + 1137300 0.0045063646 0.0022883438 0.0045063202 + 1137400 0.005572923 0.0020480991 0.0047910222 + 1137500 0.0044852717 0.0020959642 0.0043035589 + 1137600 0.0055150731 0.0019985983 0.0047130484 + 1137700 0.0056286604 0.0017177688 0.0044881251 + 1137800 0.0047889261 0.001895732 0.0042527816 + 1137900 0.0047509835 0.0022335227 0.0045718974 + 1138000 0.0057392689 0.0021102105 0.0049350069 + 1138100 0.004432503 0.0020734015 0.0042550241 + 1138200 0.0059331456 0.0019019884 0.0048222085 + 1138300 0.0058238831 0.0024896459 0.0053560884 + 1138400 0.0026837126 0.0027631533 0.004084043 + 1138500 0.0055655421 0.0021269364 0.0048662266 + 1138600 0.0033664595 0.0023344491 0.0039913784 + 1138700 0.0046844709 0.0022620781 0.0045677161 + 1138800 0.004178015 0.0024932855 0.0045496523 + 1138900 0.0040537708 0.0023631609 0.0043583762 + 1139000 0.0050104474 0.002501626 0.0049677056 + 1139100 0.0041621783 0.0025818249 0.004630397 + 1139200 0.0072838621 0.00222524 0.0058102658 + 1139300 0.0048259561 0.0021804377 0.004555713 + 1139400 0.0037696823 0.0020818909 0.0039372814 + 1139500 0.0049182909 0.0020523446 0.0044730659 + 1139600 0.0053017872 0.0021928937 0.0048023671 + 1139700 0.0045049615 0.0022101674 0.0044274532 + 1139800 0.0042656371 0.0020617143 0.0041612076 + 1139900 0.0058591777 0.0018000012 0.0046838153 + 1140000 0.0045797183 0.0019666384 0.0042207185 + 1140100 0.006799421 0.0022179847 0.0055645748 + 1140200 0.0059603338 0.002857669 0.0057912708 + 1140300 0.0053543064 0.0028976006 0.0055329233 + 1140400 0.0048310468 0.0026990113 0.0050767921 + 1140500 0.0060259214 0.0024750315 0.0054409147 + 1140600 0.0042224912 0.0025842334 0.0046624908 + 1140700 0.0083554354 0.0022495943 0.0063620352 + 1140800 0.0064376315 0.0025016654 0.0056701872 + 1140900 0.00462634 0.002845412 0.0051224388 + 1141000 0.003755128 0.0034845312 0.0053327582 + 1141100 0.0058033437 0.0030097483 0.0058660815 + 1141200 0.0051914254 0.0027186019 0.0052737566 + 1141300 0.0052176293 0.0021925811 0.004760633 + 1141400 0.0064614253 0.0021854035 0.0053656363 + 1141500 0.0053155189 0.0029044796 0.0055207116 + 1141600 0.0055475507 0.00331853 0.0060489652 + 1141700 0.0058365928 0.0030010657 0.0058737637 + 1141800 0.0044465947 0.0032620772 0.0054506356 + 1141900 0.0051888352 0.0031481739 0.0057020537 + 1142000 0.0059901266 0.0031214835 0.006069749 + 1142100 0.004964298 0.0031480725 0.0055914379 + 1142200 0.0047599814 0.0031955994 0.0055384027 + 1142300 0.0049590525 0.0030336796 0.0054744633 + 1142400 0.0057945174 0.0030835573 0.0059355463 + 1142500 0.0049633691 0.0034745133 0.0059174215 + 1142600 0.0048709654 0.0033475063 0.0057449346 + 1142700 0.0053944404 0.0031492669 0.005804343 + 1142800 0.005587364 0.0025762505 0.0053262812 + 1142900 0.0035158469 0.0022894285 0.0040198844 + 1143000 0.0036430008 0.0022809425 0.004073982 + 1143100 0.0068415242 0.0029874186 0.0063547313 + 1143200 0.0054087814 0.0037370419 0.0063991765 + 1143300 0.005041422 0.0035666714 0.0060479963 + 1143400 0.0047988846 0.0032867552 0.0056487062 + 1143500 0.006094082 0.0031151592 0.0061145902 + 1143600 0.0055997101 0.0027744749 0.0055305822 + 1143700 0.0050554445 0.0027773346 0.0052655612 + 1143800 0.0054194726 0.0032904415 0.0059578382 + 1143900 0.006081078 0.0032604416 0.0062534722 + 1144000 0.0043726651 0.0039695038 0.0061216749 + 1144100 0.0070897374 0.0038437499 0.00733323 + 1144200 0.0062554518 0.003240405 0.0063192602 + 1144300 0.0067990493 0.0028106923 0.0061570993 + 1144400 0.0050523484 0.0028197361 0.0053064388 + 1144500 0.0050316195 0.0025003773 0.0049768776 + 1144600 0.0055260234 0.0021241281 0.0048439678 + 1144700 0.0046538337 0.0026878997 0.0049784584 + 1144800 0.0045116736 0.0028840203 0.0051046097 + 1144900 0.0047690452 0.0030304645 0.0053777289 + 1145000 0.0041923249 0.0029496974 0.0050131073 + 1145100 0.0042856152 0.0027723354 0.0048816616 + 1145200 0.003858879 0.0027661064 0.0046653984 + 1145300 0.0048555426 0.0025297419 0.0049195793 + 1145400 0.0044020542 0.0024055422 0.0045721782 + 1145500 0.0042114879 0.0030076383 0.00508048 + 1145600 0.0061286127 0.0027618552 0.0057782817 + 1145700 0.0040497919 0.0027825898 0.0047758467 + 1145800 0.0051717522 0.0027408747 0.0052863465 + 1145900 0.005043385 0.002977228 0.0054595191 + 1146000 0.00487679 0.0028547198 0.0052550149 + 1146100 0.0051262654 0.0029757146 0.0054987984 + 1146200 0.0054027078 0.0024410994 0.0051002447 + 1146300 0.0062796599 0.0020873077 0.0051780778 + 1146400 0.0042986867 0.002429872 0.0045456319 + 1146500 0.0048742659 0.0030478994 0.0054469522 + 1146600 0.0054907564 0.0031056462 0.0058081279 + 1146700 0.0054203032 0.0031191747 0.0057869802 + 1146800 0.0049624525 0.0029869776 0.0054294346 + 1146900 0.0057191657 0.0025235814 0.0053384832 + 1147000 0.0047452564 0.0023382209 0.0046737768 + 1147100 0.0053177956 0.0025852402 0.0052025927 + 1147200 0.0051177414 0.0030058017 0.0055246901 + 1147300 0.0043957011 0.0024358068 0.0045993159 + 1147400 0.0068955573 0.0020416908 0.0054355979 + 1147500 0.0039819063 0.0022809825 0.004240827 + 1147600 0.0057598084 0.0023468667 0.0051817724 + 1147700 0.0051407156 0.0025736437 0.0051038396 + 1147800 0.0040143988 0.0026598219 0.0046356588 + 1147900 0.0054370383 0.0027854725 0.0054615148 + 1148000 0.0054395972 0.0027262414 0.0054035432 + 1148100 0.0042234288 0.0024214974 0.0045002163 + 1148200 0.0076328876 0.0022770374 0.0060338493 + 1148300 0.006336389 0.0025838144 0.0057025058 + 1148400 0.0060396468 0.0024529575 0.0054255962 + 1148500 0.0039388604 0.0020865441 0.004025202 + 1148600 0.005392957 0.0023357212 0.0049900673 + 1148700 0.0039748445 0.0024967208 0.0044530895 + 1148800 0.0046196112 0.0025132019 0.0047869168 + 1148900 0.0059514473 0.0021981811 0.0051274091 + 1149000 0.0065715698 0.0023463684 0.0055808129 + 1149100 0.004644607 0.0027008002 0.0049868177 + 1149200 0.0049295679 0.0028220968 0.0052483685 + 1149300 0.0054460119 0.0030006984 0.0056811574 + 1149400 0.0062745756 0.0031781903 0.0062664579 + 1149500 0.0065741428 0.0029813645 0.0062170754 + 1149600 0.0066934974 0.0026913747 0.0059858304 + 1149700 0.0061721547 0.0023873349 0.0054251923 + 1149800 0.0056961844 0.0022140533 0.0050176441 + 1149900 0.0053112574 0.002285355 0.0048994895 + 1150000 0.0050948997 0.0025496493 0.0050572952 + 1150100 0.0050678753 0.0025414941 0.005035839 + 1150200 0.0040393003 0.0024599009 0.004447994 + 1150300 0.0068148184 0.0024749029 0.0058290714 + 1150400 0.0044849052 0.0030183919 0.0052258061 + 1150500 0.003847672 0.0033638448 0.0052576208 + 1150600 0.0053835341 0.0033924855 0.0060421936 + 1150700 0.0038954774 0.0027037363 0.0046210416 + 1150800 0.0052811873 0.0024068783 0.0050062127 + 1150900 0.0059872014 0.0024297753 0.005376601 + 1151000 0.0038092582 0.0021765381 0.0040514074 + 1151100 0.0042447037 0.0022539031 0.0043430932 + 1151200 0.0070673892 0.0024505015 0.0059289821 + 1151300 0.0043538011 0.0029209815 0.005063868 + 1151400 0.0052917274 0.0029787268 0.0055832488 + 1151500 0.0058722166 0.0028939542 0.0057841858 + 1151600 0.0065003816 0.002971586 0.0061709926 + 1151700 0.005964835 0.0027736243 0.0057094415 + 1151800 0.0055927159 0.0028631465 0.0056158114 + 1151900 0.0070862591 0.0028099427 0.0062977109 + 1152000 0.0063895324 0.0032125527 0.0063574007 + 1152100 0.0069302755 0.0029309385 0.0063419335 + 1152200 0.0056270659 0.0025569668 0.0053265383 + 1152300 0.0059818122 0.0024037914 0.0053479646 + 1152400 0.0050044954 0.0021718436 0.0046349936 + 1152500 0.0048276408 0.0024321417 0.0048082461 + 1152600 0.005707324 0.0028117132 0.0056207867 + 1152700 0.0062034468 0.0021821569 0.0052354159 + 1152800 0.0054674082 0.0020680969 0.0047590869 + 1152900 0.0050083654 0.0020320315 0.0044970863 + 1153000 0.0052598796 0.0023987311 0.0049875781 + 1153100 0.004380988 0.0029213973 0.0050776648 + 1153200 0.0042603186 0.002988854 0.0050857296 + 1153300 0.0045907718 0.0028126646 0.005072185 + 1153400 0.0068902445 0.0025427023 0.0059339945 + 1153500 0.0045968112 0.002409876 0.004672369 + 1153600 0.0044429877 0.0023526366 0.0045394196 + 1153700 0.0057036918 0.0025287389 0.0053360247 + 1153800 0.0041296805 0.0023828448 0.0044154219 + 1153900 0.0049974928 0.0023435344 0.0048032379 + 1154000 0.0046145454 0.002246546 0.0045177676 + 1154100 0.0053412966 0.0023104251 0.0049393445 + 1154200 0.004387453 0.0022474293 0.0044068788 + 1154300 0.0053281904 0.0019741384 0.0045966071 + 1154400 0.0038556997 0.002038094 0.0039358212 + 1154500 0.0050912216 0.0019561753 0.004462011 + 1154600 0.0040327874 0.0024639552 0.0044488428 + 1154700 0.0046551425 0.0025220734 0.0048132763 + 1154800 0.0039495982 0.0023863499 0.0043302928 + 1154900 0.0047598169 0.0020644866 0.004407209 + 1155000 0.0052886324 0.0018055326 0.0044085313 + 1155100 0.0040620694 0.0019977608 0.0039970605 + 1155200 0.0054041003 0.0026143342 0.0052741648 + 1155300 0.0062970629 0.0027024812 0.0058018169 + 1155400 0.0056788951 0.0025768732 0.0053719544 + 1155500 0.0042006685 0.0028132226 0.0048807391 + 1155600 0.0064618626 0.0025673829 0.0057478309 + 1155700 0.0059508173 0.0021324526 0.0050613705 + 1155800 0.0053607303 0.0022007029 0.0048391873 + 1155900 0.0042130574 0.002179215 0.0042528292 + 1156000 0.0057980857 0.0021669138 0.0050206591 + 1156100 0.0062799394 0.0019364683 0.005027376 + 1156200 0.0049606833 0.0017206393 0.0041622256 + 1156300 0.004882085 0.0017647469 0.0041676481 + 1156400 0.0042137427 0.0024250595 0.004499011 + 1156500 0.0057096837 0.0022910102 0.0051012452 + 1156600 0.0068839597 0.0020614243 0.0054496233 + 1156700 0.0047515617 0.002192974 0.0045316333 + 1156800 0.0039846241 0.002398469 0.0043596512 + 1156900 0.0032979713 0.0026289664 0.0042521867 + 1157000 0.0059024896 0.0025113206 0.0054164522 + 1157100 0.0050548931 0.0024592359 0.004947191 + 1157200 0.0034494624 0.002539371 0.0042371532 + 1157300 0.0062868937 0.0025209392 0.0056152697 + 1157400 0.0043955494 0.0027577788 0.0049212133 + 1157500 0.0057931094 0.0024382099 0.0052895059 + 1157600 0.0051723891 0.0025154181 0.0050612033 + 1157700 0.0040309427 0.0030887434 0.005072723 + 1157800 0.0046537214 0.0029713749 0.0052618784 + 1157900 0.0045166723 0.0025401378 0.0047631874 + 1158000 0.0044460371 0.0022204408 0.0044087247 + 1158100 0.0061720571 0.0017919298 0.0048297391 + 1158200 0.0070801632 0.0024560702 0.005940838 + 1158300 0.003710306 0.0033438674 0.0051700336 + 1158400 0.0059739584 0.0031238426 0.0060641502 + 1158500 0.0069038189 0.0025304498 0.0059284231 + 1158600 0.0066933107 0.0027249536 0.0060193175 + 1158700 0.0046808802 0.0030893743 0.005393245 + 1158800 0.0048868161 0.0028010529 0.0052062827 + 1158900 0.0054891034 0.0028741305 0.0055757986 + 1159000 0.0052035258 0.0028440212 0.0054051316 + 1159100 0.0068173318 0.0026018756 0.0059572811 + 1159200 0.0048183584 0.0024923509 0.0048638867 + 1159300 0.005989711 0.0022968108 0.0052448717 + 1159400 0.0049890905 0.0023906538 0.0048462217 + 1159500 0.0060369553 0.0023628325 0.0053341464 + 1159600 0.0059590704 0.0023355014 0.0052684814 + 1159700 0.0042444954 0.0025064035 0.0045954911 + 1159800 0.0052971469 0.0021382116 0.0047454011 + 1159900 0.0042318877 0.0020720237 0.0041549059 + 1160000 0.00351868 0.002514236 0.0042460863 + 1160100 0.0066969894 0.00257182 0.0058679945 + 1160200 0.0038614306 0.0031237184 0.0050242663 + 1160300 0.0046983561 0.0028904567 0.0052029288 + 1160400 0.0030716934 0.0026409312 0.0041527803 + 1160500 0.0052267964 0.0021895292 0.0047620931 + 1160600 0.0046378065 0.0019163119 0.0041989823 + 1160700 0.0042175194 0.0018441714 0.0039199817 + 1160800 0.004119872 0.0020197566 0.0040475061 + 1160900 0.0066885874 0.0023592573 0.0056512963 + 1161000 0.0062817519 0.0024409372 0.005532737 + 1161100 0.0043047443 0.0027891213 0.0049078626 + 1161200 0.0055424564 0.0031741721 0.0059020999 + 1161300 0.0068180176 0.0031334374 0.0064891804 + 1161400 0.0052523061 0.0029059118 0.0054910312 + 1161500 0.0053394151 0.0027825841 0.0054105774 + 1161600 0.0052175716 0.0027850143 0.0053530378 + 1161700 0.0058371023 0.0030451302 0.005918079 + 1161800 0.0046462809 0.0036679083 0.0059547496 + 1161900 0.0052051272 0.0035706762 0.0061325747 + 1162000 0.0061977264 0.0035990255 0.0066494689 + 1162100 0.004412788 0.0036140777 0.0057859968 + 1162200 0.005279992 0.0030114317 0.0056101778 + 1162300 0.0053489006 0.0024663095 0.0050989716 + 1162400 0.0051826986 0.0025710789 0.0051219384 + 1162500 0.0041518787 0.0026848105 0.0047283133 + 1162600 0.0042278114 0.0026027182 0.0046835941 + 1162700 0.0045350174 0.0025259162 0.0047579951 + 1162800 0.0049717421 0.0024233772 0.0048704065 + 1162900 0.0061833751 0.0027600097 0.0058033896 + 1163000 0.0045985286 0.002663015 0.0049263533 + 1163100 0.0043285286 0.0024415438 0.0045719915 + 1163200 0.003518059 0.0021892783 0.0039208229 + 1163300 0.0051012578 0.00205001 0.0045607854 + 1163400 0.0063332 0.0019746295 0.0050917514 + 1163500 0.0053964042 0.002497155 0.0051531977 + 1163600 0.0043853153 0.0025334414 0.0046918388 + 1163700 0.0044904719 0.0023034259 0.0045135801 + 1163800 0.0052070762 0.0023525066 0.0049153644 + 1163900 0.0048182308 0.0029634691 0.0053349421 + 1164000 0.0036711715 0.0037256151 0.0055325198 + 1164100 0.0038251069 0.0039143036 0.0057969734 + 1164200 0.004398862 0.0034824065 0.0056474714 + 1164300 0.0055652425 0.0027858543 0.0055249971 + 1164400 0.004946589 0.0028534432 0.0052880925 + 1164500 0.0041932217 0.0026544717 0.004718323 + 1164600 0.0047320303 0.0024419029 0.0047709491 + 1164700 0.0057750472 0.0023389878 0.0051813938 + 1164800 0.0055549588 0.0022642726 0.0049983539 + 1164900 0.0057307896 0.0022644654 0.0050850884 + 1165000 0.0050992325 0.0024432553 0.0049530338 + 1165100 0.0040929979 0.0025582408 0.0045727632 + 1165200 0.0064004732 0.0025392066 0.0056894395 + 1165300 0.0045058913 0.0028809184 0.0050986617 + 1165400 0.0046544792 0.0026359716 0.004926848 + 1165500 0.004676084 0.0025443979 0.004845908 + 1165600 0.0054654932 0.0024314702 0.0051215176 + 1165700 0.0056674154 0.0023169313 0.0051063623 + 1165800 0.0043325588 0.0029596515 0.0050920828 + 1165900 0.0043694497 0.0026137643 0.0047643529 + 1166000 0.0045798263 0.0022492718 0.004503405 + 1166100 0.0037324988 0.0023447688 0.004181858 + 1166200 0.0037846013 0.0022211252 0.0040838586 + 1166300 0.0054494978 0.0022710841 0.0049532588 + 1166400 0.0057987108 0.0017948656 0.0046489186 + 1166500 0.0054510181 0.001888682 0.004571605 + 1166600 0.0036951387 0.002652078 0.004470779 + 1166700 0.004327766 0.0028526145 0.0049826868 + 1166800 0.0059865961 0.0027068614 0.0056533892 + 1166900 0.0049662672 0.002369812 0.0048141466 + 1167000 0.0052248943 0.0023887458 0.0049603735 + 1167100 0.0060574567 0.0028789108 0.0058603153 + 1167200 0.0046697662 0.0031525082 0.0054509088 + 1167300 0.0043243664 0.0029180149 0.0050464139 + 1167400 0.0040481769 0.0029175807 0.0049100428 + 1167500 0.0055289242 0.0028617992 0.0055830665 + 1167600 0.0056033944 0.0029915571 0.0057494778 + 1167700 0.005541443 0.0022367362 0.0049641652 + 1167800 0.0041649882 0.0019923605 0.0040423157 + 1167900 0.0055732615 0.0020125636 0.0047556533 + 1168000 0.0036963562 0.0017472726 0.0035665729 + 1168100 0.0047060459 0.0014476708 0.0037639277 + 1168200 0.0037110034 0.0017130432 0.0035395527 + 1168300 0.0060673715 0.0017580067 0.0047442911 + 1168400 0.0050998199 0.0023848287 0.0048948963 + 1168500 0.0057262186 0.0026451176 0.0054634908 + 1168600 0.0062939148 0.0026012351 0.0056990213 + 1168700 0.003159149 0.0024273557 0.0039822493 + 1168800 0.0043798862 0.002309753 0.0044654782 + 1168900 0.0056548979 0.0024391306 0.0052224007 + 1169000 0.0048026548 0.0021642805 0.0045280872 + 1169100 0.0054092119 0.0019561542 0.0046185007 + 1169200 0.003738173 0.0023235919 0.0041634739 + 1169300 0.0039532398 0.0022717969 0.0042175321 + 1169400 0.0032537448 0.002682017 0.0042834695 + 1169500 0.0041327232 0.0021719829 0.0042060576 + 1169600 0.0043419362 0.0019775222 0.0041145689 + 1169700 0.004748595 0.0019876143 0.0043248134 + 1169800 0.0056697658 0.0020470842 0.0048376721 + 1169900 0.0044353827 0.0019305571 0.004113597 + 1170000 0.0037253516 0.0017034733 0.0035370448 + 1170100 0.0049573517 0.0015529842 0.0039929307 + 1170200 0.0037455132 0.0018269178 0.0036704126 + 1170300 0.0041743208 0.0021201616 0.0041747101 + 1170400 0.0043594119 0.0026248244 0.0047704724 + 1170500 0.0053548436 0.0030385871 0.0056741742 + 1170600 0.0046997873 0.0028542741 0.0051674506 + 1170700 0.0064066847 0.0025629233 0.0057162134 + 1170800 0.0052964884 0.0021969164 0.0048037818 + 1170900 0.0053465931 0.0020653296 0.0046968559 + 1171000 0.0048145525 0.002233113 0.0046027756 + 1171100 0.0060869163 0.0019659032 0.0049618073 + 1171200 0.0033836448 0.0019653842 0.0036307719 + 1171300 0.0046879148 0.0021495696 0.0044569027 + 1171400 0.0052650136 0.001996975 0.0045883488 + 1171500 0.0035296954 0.0020638305 0.0038011024 + 1171600 0.0054637452 0.0021336988 0.0048228858 + 1171700 0.0048900894 0.0024550597 0.0048619006 + 1171800 0.0056638798 0.0025900718 0.0053777626 + 1171900 0.0063126928 0.0024321339 0.0055391624 + 1172000 0.0048455705 0.0025653563 0.0049502856 + 1172100 0.004444044 0.0025908494 0.0047781523 + 1172200 0.0031678039 0.0028580957 0.0044172492 + 1172300 0.0046678172 0.0027381246 0.0050355659 + 1172400 0.0065547607 0.002437567 0.0056637383 + 1172500 0.0060032435 0.0025888242 0.0055435457 + 1172600 0.0064226591 0.0028556585 0.006016811 + 1172700 0.0043133701 0.0027896919 0.0049126788 + 1172800 0.0053294855 0.0026299469 0.0052530531 + 1172900 0.0055391479 0.0027580615 0.0054843609 + 1173000 0.0061858496 0.0025420879 0.0055866858 + 1173100 0.0047490726 0.0031570437 0.0054944779 + 1173200 0.0054078653 0.0032804223 0.0059421061 + 1173300 0.0072529073 0.003089422 0.0066592123 + 1173400 0.004692452 0.0029490379 0.0052586041 + 1173500 0.0046613553 0.0025599399 0.0048542007 + 1173600 0.0040277376 0.002349293 0.0043316951 + 1173700 0.0041603796 0.0023433277 0.0043910146 + 1173800 0.0043688357 0.0025202401 0.0046705264 + 1173900 0.0044338406 0.0028192768 0.0050015577 + 1174000 0.0045044621 0.002727417 0.0049444569 + 1174100 0.005096092 0.0022582654 0.0047664982 + 1174200 0.0056749221 0.0017818969 0.0045750226 + 1174300 0.003942828 0.0024378895 0.0043785001 + 1174400 0.005951958 0.0028397226 0.005769202 + 1174500 0.0056212459 0.0024190973 0.0051858043 + 1174600 0.0062481626 0.0018684616 0.0049437291 + 1174700 0.0067416182 0.0025830895 0.0059012298 + 1174800 0.0049533623 0.0035013385 0.0059393215 + 1174900 0.0058340134 0.0032780306 0.006149459 + 1175000 0.0041998637 0.0029299207 0.0049970412 + 1175100 0.0055400732 0.0020585066 0.0047852613 + 1175200 0.0064043085 0.0023244419 0.0054765625 + 1175300 0.0047464305 0.0025797315 0.0049158652 + 1175400 0.0059348523 0.0029275519 0.005848612 + 1175500 0.0051865477 0.0030396448 0.0055923987 + 1175600 0.0077088102 0.0028146722 0.0066088523 + 1175700 0.0063130683 0.0026984058 0.0058056191 + 1175800 0.0049192826 0.0029703542 0.0053915636 + 1175900 0.0050546501 0.0026505964 0.005138432 + 1176000 0.0040904086 0.0019651511 0.0039783991 + 1176100 0.0043341675 0.0018367671 0.0039699901 + 1176200 0.0052052122 0.0020969552 0.0046588956 + 1176300 0.0040757998 0.0022114969 0.0042175547 + 1176400 0.0039461845 0.0021321726 0.0040744353 + 1176500 0.006336472 0.0018931402 0.0050118725 + 1176600 0.0066427846 0.0023034734 0.0055729689 + 1176700 0.0045019307 0.0022430277 0.0044588217 + 1176800 0.0063319042 0.002069983 0.0051864671 + 1176900 0.0052891837 0.0024657456 0.0050690157 + 1177000 0.0036843528 0.0027365214 0.0045499138 + 1177100 0.0042864055 0.0024777354 0.0045874506 + 1177200 0.0041220866 0.0022832015 0.004312041 + 1177300 0.0053775703 0.0022213111 0.004868084 + 1177400 0.0055859864 0.0023010898 0.0050504425 + 1177500 0.0042188371 0.0023825489 0.0044590078 + 1177600 0.0056927446 0.0024284464 0.0052303442 + 1177700 0.0053174458 0.0023601307 0.0049773111 + 1177800 0.005168293 0.0021356313 0.0046794005 + 1177900 0.0031412513 0.0019649382 0.0035110229 + 1178000 0.0059873307 0.0016150744 0.0045619638 + 1178100 0.004143903 0.0017602381 0.0037998154 + 1178200 0.0049959225 0.0019092126 0.0043681432 + 1178300 0.0057147826 0.0019867035 0.004799448 + 1178400 0.0048129129 0.0021947187 0.0045635743 + 1178500 0.0042483087 0.0022782669 0.0043692314 + 1178600 0.0050576881 0.0023484644 0.0048377953 + 1178700 0.0048444148 0.0025869996 0.00497136 + 1178800 0.0063556511 0.0024622267 0.0055903987 + 1178900 0.0057913696 0.0021326696 0.0049831093 + 1179000 0.0059626013 0.0023376304 0.0052723482 + 1179100 0.0054727498 0.0026862452 0.0053798643 + 1179200 0.0048555283 0.0025847172 0.0049745476 + 1179300 0.0044836121 0.0026095063 0.0048162841 + 1179400 0.0043266466 0.0024350687 0.0045645901 + 1179500 0.0039582008 0.0023566882 0.0043048651 + 1179600 0.0048051695 0.0025067073 0.0048717516 + 1179700 0.0047746316 0.0028089674 0.0051589814 + 1179800 0.0058299741 0.0027176342 0.0055870745 + 1179900 0.0050721931 0.0031787474 0.0056752175 + 1180000 0.0061434713 0.0030231722 0.006046912 + 1180100 0.0057428555 0.0027753954 0.0056019571 + 1180200 0.0054234191 0.0025434542 0.0052127933 + 1180300 0.0043601598 0.0023017696 0.0044477858 + 1180400 0.0045403158 0.0021549236 0.0043896103 + 1180500 0.0062461813 0.0017550637 0.0048293561 + 1180600 0.0044974135 0.0019947003 0.004208271 + 1180700 0.006208301 0.0026084983 0.0056641464 + 1180800 0.0063334274 0.002457788 0.0055750218 + 1180900 0.0039596166 0.0027407643 0.0046896381 + 1181000 0.004952683 0.0027582917 0.0051959404 + 1181100 0.0048849928 0.0025387567 0.0049430891 + 1181200 0.0050443956 0.002015645 0.0044984335 + 1181300 0.0055044393 0.0021406168 0.004849833 + 1181400 0.0058327819 0.0022550041 0.0051258265 + 1181500 0.0052830581 0.0029003197 0.0055005748 + 1181600 0.0059132546 0.0032795724 0.0061900024 + 1181700 0.0035293467 0.0031779192 0.0049150195 + 1181800 0.0057662108 0.0023630044 0.0052010612 + 1181900 0.0049395101 0.002106951 0.0045381161 + 1182000 0.0050756116 0.0022284007 0.0047265533 + 1182100 0.0043723065 0.0024940211 0.0046460156 + 1182200 0.0041432942 0.0025832265 0.0046225041 + 1182300 0.006530988 0.0026565395 0.0058710102 + 1182400 0.0052039057 0.0026001157 0.005161413 + 1182500 0.0043670294 0.002851637 0.0050010343 + 1182600 0.0036643534 0.0027037538 0.0045073028 + 1182700 0.0047665803 0.0024367009 0.0047827522 + 1182800 0.0059181168 0.0025051703 0.0054179934 + 1182900 0.0040956014 0.0028548993 0.0048707031 + 1183000 0.0057044306 0.0030553917 0.0058630411 + 1183100 0.0061465504 0.0029568253 0.0059820806 + 1183200 0.0056679999 0.0026530258 0.0054427445 + 1183300 0.005777735 0.0027327255 0.0055764544 + 1183400 0.0040930111 0.0032974296 0.0053119585 + 1183500 0.0051705135 0.003274415 0.0058192772 + 1183600 0.0057094442 0.0031288311 0.0059389482 + 1183700 0.0042705016 0.0032260223 0.0053279098 + 1183800 0.0064781772 0.0028046848 0.0059931627 + 1183900 0.0050003358 0.0029120368 0.0053731396 + 1184000 0.0051838396 0.0028965787 0.0054479998 + 1184100 0.0058658657 0.0025465789 0.0054336847 + 1184200 0.0057378387 0.0025710062 0.0053950987 + 1184300 0.0065389265 0.003051613 0.0062699908 + 1184400 0.0042784931 0.0031456068 0.0052514276 + 1184500 0.0075543107 0.002770699 0.0064888363 + 1184600 0.0038320684 0.0030671733 0.0049532694 + 1184700 0.0068836248 0.003172189 0.0065602231 + 1184800 0.0052381555 0.0028405657 0.0054187204 + 1184900 0.0048053257 0.0024891774 0.0048542986 + 1185000 0.0049123818 0.0024740836 0.0048918966 + 1185100 0.0069480544 0.002541521 0.0059612665 + 1185200 0.0061035233 0.0026864663 0.0056905442 + 1185300 0.0065204125 0.0028128582 0.0060221238 + 1185400 0.0057378361 0.003140701 0.0059647922 + 1185500 0.0052995998 0.0031761247 0.0057845215 + 1185600 0.0047898299 0.0031024801 0.0054599745 + 1185700 0.0047598911 0.0028927963 0.0052355552 + 1185800 0.0043205025 0.0027088378 0.0048353351 + 1185900 0.004182238 0.0032609939 0.0053194391 + 1186000 0.0049466611 0.0037203843 0.0061550691 + 1186100 0.0075153834 0.0029633421 0.0066623199 + 1186200 0.005952768 0.0024214338 0.0053513118 + 1186300 0.0045338439 0.0024857197 0.004717221 + 1186400 0.0039728987 0.0028940752 0.0048494863 + 1186500 0.0070007291 0.0038725181 0.0073181894 + 1186600 0.006721709 0.0038388568 0.0071471979 + 1186700 0.0055335323 0.0040923156 0.006815851 + 1186800 0.0054868375 0.0039391915 0.0066397443 + 1186900 0.0065071584 0.0032156689 0.0064184109 + 1187000 0.0049099978 0.0025488954 0.0049655349 + 1187100 0.0042134564 0.0025800176 0.0046538282 + 1187200 0.0031585852 0.003300472 0.0048550882 + 1187300 0.0067737322 0.0034098551 0.0067438014 + 1187400 0.0050297259 0.0037287664 0.0062043346 + 1187500 0.0051397838 0.0030057959 0.0055355332 + 1187600 0.0055468048 0.0020691524 0.0047992204 + 1187700 0.0050564984 0.0020236563 0.0045124016 + 1187800 0.0042675667 0.0021311754 0.0042316184 + 1187900 0.0037595055 0.0019511377 0.0038015193 + 1188000 0.0037697331 0.0017586814 0.0036140969 + 1188100 0.0045335396 0.002314244 0.0045455955 + 1188200 0.0045182737 0.0021209098 0.0043447476 + 1188300 0.0051985895 0.001672396 0.0042310768 + 1188400 0.0041695541 0.0021293336 0.004181536 + 1188500 0.006292215 0.0021865288 0.0052834784 + 1188600 0.004942999 0.002043249 0.0044761313 + 1188700 0.005022989 0.0025872393 0.0050594917 + 1188800 0.0045609679 0.002596793 0.0048416444 + 1188900 0.0045641782 0.0032085696 0.005455001 + 1189000 0.0042988048 0.0027869089 0.0049027269 + 1189100 0.00398304 0.0020922677 0.0040526701 + 1189200 0.0045048309 0.0019077949 0.0041250164 + 1189300 0.0051786009 0.0019808636 0.0045297062 + 1189400 0.0045784854 0.0020093532 0.0042628265 + 1189500 0.0051120721 0.001970535 0.004486633 + 1189600 0.0044467672 0.0017839838 0.003972627 + 1189700 0.0045131602 0.0022403643 0.0044616853 + 1189800 0.0032331007 0.002984013 0.0045753047 + 1189900 0.006078208 0.0026766843 0.0056683023 + 1190000 0.0045261564 0.0022569076 0.0044846252 + 1190100 0.0051987448 0.002049329 0.0046080862 + 1190200 0.004779418 0.0024251929 0.0047775626 + 1190300 0.004300943 0.0025241437 0.0046410141 + 1190400 0.0053516946 0.0023511687 0.0049852059 + 1190500 0.0043150056 0.0023743763 0.0044981681 + 1190600 0.0061088807 0.0025507729 0.0055574876 + 1190700 0.0038351394 0.002551762 0.0044393697 + 1190800 0.004246945 0.0022584567 0.0043487499 + 1190900 0.0051584521 0.0020761387 0.0046150644 + 1191000 0.0047115158 0.0022670361 0.0045859853 + 1191100 0.0044893315 0.0028303402 0.0050399331 + 1191200 0.006536 0.0026859904 0.0059029279 + 1191300 0.0055540728 0.0024653055 0.0051989507 + 1191400 0.0059039227 0.0022034473 0.0051092843 + 1191500 0.0058159591 0.0020265524 0.0048890948 + 1191600 0.0047863245 0.0020225771 0.0043783462 + 1191700 0.004174721 0.0022398252 0.0042945707 + 1191800 0.0048588091 0.0023797117 0.0047711568 + 1191900 0.0046831749 0.002571828 0.0048768281 + 1192000 0.0059062127 0.0024127937 0.0053197577 + 1192100 0.0041490352 0.0024751031 0.0045172064 + 1192200 0.0042252197 0.0026869817 0.004766582 + 1192300 0.0055778715 0.0024317705 0.0051771291 + 1192400 0.0037959591 0.0026252441 0.0044935677 + 1192500 0.00512867 0.0023077147 0.004831982 + 1192600 0.0054102835 0.0023072061 0.0049700801 + 1192700 0.00597936 0.0024631871 0.0054061533 + 1192800 0.0053236067 0.0028505863 0.005470799 + 1192900 0.0047977701 0.0028662483 0.0052276508 + 1193000 0.0045713589 0.0024265417 0.0046765075 + 1193100 0.0066379493 0.0019736457 0.0052407613 + 1193200 0.0050147636 0.0024739857 0.0049421897 + 1193300 0.0045421238 0.0029527775 0.0051883541 + 1193400 0.0043817168 0.0027741839 0.0049308101 + 1193500 0.0038367714 0.0024843455 0.0043727565 + 1193600 0.0041309784 0.0022113174 0.0042445333 + 1193700 0.0043505506 0.0020424261 0.0041837127 + 1193800 0.0047451944 0.0022211147 0.0045566401 + 1193900 0.0055200967 0.0023524861 0.0050694087 + 1194000 0.0058636965 0.0022775113 0.0051635495 + 1194100 0.0037152706 0.0025999101 0.0044285199 + 1194200 0.0056987911 0.002667719 0.0054725927 + 1194300 0.0041701203 0.002457221 0.0045097021 + 1194400 0.0054497342 0.00203528 0.0047175711 + 1194500 0.0054747112 0.0023559541 0.0050505386 + 1194600 0.0043077965 0.0032010485 0.0053212921 + 1194700 0.0051202382 0.0035221661 0.0060422834 + 1194800 0.0061111349 0.0031092602 0.0061170844 + 1194900 0.0055465458 0.0028487031 0.0055786436 + 1195000 0.006222553 0.0033181768 0.0063808395 + 1195100 0.0056269139 0.0033225421 0.0060920388 + 1195200 0.0043792785 0.0026808946 0.0048363208 + 1195300 0.0063252799 0.001867458 0.0049806817 + 1195400 0.0052557957 0.0018806725 0.0044675095 + 1195500 0.0063833465 0.0020589345 0.0052007379 + 1195600 0.0058089094 0.0016676694 0.0045267419 + 1195700 0.0056211091 0.0017257006 0.0044923402 + 1195800 0.0040383424 0.0021526042 0.0041402259 + 1195900 0.0037384857 0.0020636524 0.0039036883 + 1196000 0.005395895 0.0020982908 0.0047540829 + 1196100 0.0057120149 0.0022121456 0.0050235279 + 1196200 0.0060694071 0.0018394085 0.0048266948 + 1196300 0.0057823095 0.0020887703 0.0049347507 + 1196400 0.0052219441 0.0021773909 0.0047475665 + 1196500 0.0045627781 0.0022801312 0.0045258736 + 1196600 0.00485071 0.0021984811 0.0045859399 + 1196700 0.0052611535 0.0022251852 0.0048146592 + 1196800 0.0051198557 0.0022075362 0.0047274652 + 1196900 0.0048117363 0.001798591 0.0041668675 + 1197000 0.0042825533 0.001790112 0.0038979312 + 1197100 0.005348905 0.0019353591 0.0045680232 + 1197200 0.0033154904 0.0022278409 0.0038596838 + 1197300 0.0041906882 0.0022437829 0.0043063873 + 1197400 0.0045090534 0.0020926386 0.0043119383 + 1197500 0.0040574934 0.0016657874 0.0036628349 + 1197600 0.0048762441 0.0018493608 0.0042493872 + 1197700 0.0063497312 0.0024132025 0.0055384608 + 1197800 0.0046251597 0.0026708513 0.0049472971 + 1197900 0.0069719337 0.0028551476 0.0062866462 + 1198000 0.0044692544 0.0027583599 0.0049580711 + 1198100 0.0041915325 0.0028717737 0.0049347936 + 1198200 0.0061294936 0.0028767867 0.0058936469 + 1198300 0.0053198892 0.0024869179 0.0051053009 + 1198400 0.0058837829 0.0021386245 0.0050345489 + 1198500 0.0049132505 0.0022760239 0.0046942644 + 1198600 0.0046412712 0.0021718954 0.0044562711 + 1198700 0.0045286575 0.0020474986 0.0042764472 + 1198800 0.0043951777 0.0020693259 0.0042325774 + 1198900 0.0053010447 0.0020598185 0.0046689264 + 1199000 0.0048610389 0.0022977388 0.0046902814 + 1199100 0.0065968829 0.0024693606 0.0057162638 + 1199200 0.0053155687 0.0027039851 0.0053202416 + 1199300 0.0054972004 0.0028530892 0.0055587425 + 1199400 0.0062024119 0.0026212792 0.0056740288 + 1199500 0.0055216234 0.0024368083 0.0051544823 + 1199600 0.0053384574 0.0024057002 0.0050332222 + 1199700 0.006368849 0.0020448513 0.0051795192 + 1199800 0.0050780972 0.0022440811 0.004743457 + 1199900 0.0038633873 0.0025688801 0.004470391 + 1200000 0.0063516408 0.002298404 0.0054246022 + 1200100 0.0060878359 0.0021627557 0.0051591124 + 1200200 0.0056388388 0.0030333991 0.005808765 + 1200300 0.0041902877 0.0025999267 0.004662334 + 1200400 0.006283227 0.0019402546 0.0050327804 + 1200500 0.0049190135 0.0022570221 0.004678099 + 1200600 0.0038708868 0.0024980423 0.0044032444 + 1200700 0.0050114163 0.0022676177 0.0047341741 + 1200800 0.0063653733 0.0021734237 0.0053063808 + 1200900 0.006365828 0.0026078258 0.0057410068 + 1201000 0.0043852148 0.0028734331 0.0050317811 + 1201100 0.0058261542 0.0024732687 0.005340829 + 1201200 0.0036321832 0.0027904805 0.0045781956 + 1201300 0.0051301588 0.0020646165 0.0045896165 + 1201400 0.0061405895 0.0017890215 0.0048113429 + 1201500 0.0056523574 0.0019911248 0.0047731445 + 1201600 0.0053925963 0.0026782981 0.0053324666 + 1201700 0.0040852599 0.003057261 0.0050679748 + 1201800 0.0055135883 0.0029445968 0.0056583161 + 1201900 0.0068881019 0.002473658 0.0058638956 + 1202000 0.0052123226 0.0027273492 0.0052927892 + 1202100 0.004391538 0.0034495005 0.0056109607 + 1202200 0.0055299325 0.0038105343 0.006532298 + 1202300 0.0055390954 0.0031234096 0.0058496831 + 1202400 0.0042184034 0.0027781002 0.0048543456 + 1202500 0.0044268132 0.0026497483 0.0048285704 + 1202600 0.0035727428 0.0029738294 0.0047322888 + 1202700 0.0056870229 0.0028863676 0.0056854492 + 1202800 0.0071989522 0.0027630507 0.006306285 + 1202900 0.0053495528 0.0027265564 0.0053595394 + 1203000 0.0053397479 0.0025457053 0.0051738625 + 1203100 0.0060050412 0.0024113071 0.0053669133 + 1203200 0.0047153054 0.0025209357 0.00484175 + 1203300 0.0051919812 0.0022908377 0.0048462659 + 1203400 0.0043544467 0.0023448058 0.0044880101 + 1203500 0.0048804861 0.0026118225 0.0050139368 + 1203600 0.0054587809 0.0025165811 0.0052033248 + 1203700 0.0062025059 0.0027152537 0.0057680496 + 1203800 0.0048681232 0.0026932237 0.0050892531 + 1203900 0.0052276618 0.0025048792 0.005077869 + 1204000 0.005391501 0.0026909576 0.0053445869 + 1204100 0.0054879044 0.0029869106 0.0056879886 + 1204200 0.0058702558 0.0028882563 0.0057775228 + 1204300 0.0053966617 0.0023805119 0.0050366813 + 1204400 0.0051530045 0.0022804132 0.0048166576 + 1204500 0.0043694889 0.0022980178 0.0044486256 + 1204600 0.0042641912 0.0023092076 0.0044079891 + 1204700 0.0043579375 0.0018831675 0.0040280898 + 1204800 0.0063257606 0.0020704301 0.0051838904 + 1204900 0.0040565681 0.0029066513 0.0049032434 + 1205000 0.0054050621 0.0029396294 0.0055999334 + 1205100 0.005238259 0.0026855753 0.0052637809 + 1205200 0.0071015998 0.0025507977 0.0060461164 + 1205300 0.006183181 0.0025522171 0.0055955014 + 1205400 0.004574534 0.0024545717 0.0047061002 + 1205500 0.0041011224 0.0023142169 0.004332738 + 1205600 0.005027222 0.0021264348 0.0046007707 + 1205700 0.0060686013 0.0021661145 0.0051530042 + 1205800 0.0036859521 0.0023152981 0.0041294777 + 1205900 0.0048740334 0.0023601685 0.0047591068 + 1206000 0.0039938866 0.0022827523 0.0042484933 + 1206100 0.004598437 0.0029596057 0.005222899 + 1206200 0.0061176075 0.0031908898 0.0062018998 + 1206300 0.0049089949 0.0032143304 0.0056304763 + 1206400 0.0048250026 0.0033186466 0.0056934526 + 1206500 0.0079203023 0.0028411902 0.006739464 + 1206600 0.005126173 0.0026027671 0.0051258054 + 1206700 0.0061990389 0.002382026 0.0054331154 + 1206800 0.0051924774 0.0026427427 0.0051984152 + 1206900 0.0048387575 0.0027599881 0.005141564 + 1207000 0.0039574445 0.0025281809 0.0044759856 + 1207100 0.0041307843 0.0025409862 0.0045741066 + 1207200 0.0065283404 0.0021442065 0.005357374 + 1207300 0.0067602325 0.0027666066 0.0060939085 + 1207400 0.003488681 0.0028096689 0.004526754 + 1207500 0.0046239732 0.002663219 0.0049390808 + 1207600 0.0045139502 0.0027245595 0.0049462693 + 1207700 0.0046586126 0.002904697 0.0051976079 + 1207800 0.0040451527 0.0025829366 0.0045739103 + 1207900 0.006075512 0.002070365 0.005060656 + 1208000 0.0045789412 0.0024051743 0.0046588719 + 1208100 0.0034270935 0.002879007 0.0045657796 + 1208200 0.0048866811 0.002990118 0.0053952813 + 1208300 0.004878715 0.0021802661 0.0045815086 + 1208400 0.0046005415 0.0021559196 0.0044202486 + 1208500 0.003794187 0.0023419928 0.0042094442 + 1208600 0.0044917269 0.0021401392 0.0043509111 + 1208700 0.0052782087 0.0021255783 0.0047234466 + 1208800 0.0032139954 0.0021575543 0.0037394427 + 1208900 0.0052089674 0.0023045086 0.0048682972 + 1209000 0.0043451726 0.002438959 0.0045775986 + 1209100 0.0057368825 0.0023651193 0.0051887412 + 1209200 0.0045244364 0.002240435 0.0044673061 + 1209300 0.0035334841 0.0023505147 0.0040896514 + 1209400 0.0056041319 0.0019833219 0.0047416056 + 1209500 0.0048418143 0.0023288677 0.0047119482 + 1209600 0.0031655068 0.0029315672 0.0044895901 + 1209700 0.004838994 0.0030706471 0.0054523394 + 1209800 0.0036682544 0.0022524355 0.0040579044 + 1209900 0.0045842512 0.0020862844 0.0043425955 + 1210000 0.0050247231 0.0028474949 0.0053206008 + 1210100 0.0045348375 0.0030376679 0.0052696583 + 1210200 0.0044115513 0.0026146068 0.0047859172 + 1210300 0.0039577719 0.0030639563 0.0050119222 + 1210400 0.0040121174 0.0033666407 0.0053413547 + 1210500 0.004291115 0.0029086275 0.0050206606 + 1210600 0.0051341666 0.0022969974 0.00482397 + 1210700 0.0054623978 0.0019654705 0.0046539944 + 1210800 0.0044452188 0.0018080347 0.0039959159 + 1210900 0.0062156842 0.0020326357 0.0050919178 + 1211000 0.0045460868 0.0025444714 0.0047819986 + 1211100 0.0046081628 0.0025749359 0.0048430161 + 1211200 0.0042054752 0.0028479585 0.0049178409 + 1211300 0.0066137494 0.0027989566 0.0060541614 + 1211400 0.0036237938 0.0030879047 0.0048714907 + 1211500 0.0049260143 0.0025228434 0.004947366 + 1211600 0.0063240736 0.0018881664 0.0050007964 + 1211700 0.0052058662 0.0021143387 0.004676601 + 1211800 0.005590774 0.0021511607 0.0049028697 + 1211900 0.0051080676 0.0029728547 0.0054869817 + 1212000 0.0034521876 0.003272257 0.0049713806 + 1212100 0.0054039309 0.0027924899 0.0054522371 + 1212200 0.0051201925 0.0027393095 0.0052594042 + 1212300 0.0044661615 0.0028008169 0.0049990058 + 1212400 0.0054341553 0.0021948104 0.0048694337 + 1212500 0.0048796641 0.0024926942 0.0048944039 + 1212600 0.0041127434 0.0028233507 0.0048475916 + 1212700 0.004579734 0.002767175 0.0050212628 + 1212800 0.0061633083 0.0023965215 0.0054300248 + 1212900 0.0060578411 0.0019172243 0.0048988179 + 1213000 0.0036610178 0.002367632 0.0041695391 + 1213100 0.0046571032 0.0027114991 0.0050036671 + 1213200 0.0054698003 0.0026627465 0.0053549138 + 1213300 0.0050183098 0.0026858727 0.0051558221 + 1213400 0.0051273521 0.0027227894 0.0052464081 + 1213500 0.0046831448 0.0028815833 0.0051865686 + 1213600 0.0054902203 0.0025840078 0.0052862256 + 1213700 0.0043893301 0.0025072203 0.0046675937 + 1213800 0.0046068689 0.0028205018 0.0050879451 + 1213900 0.0048969775 0.0025526331 0.0049628642 + 1214000 0.0041943033 0.0025804505 0.0046448342 + 1214100 0.0040121294 0.0025999254 0.0045746453 + 1214200 0.005370481 0.0028013232 0.0054446068 + 1214300 0.0059072742 0.0025840855 0.005491572 + 1214400 0.0055304882 0.0030404927 0.0057625299 + 1214500 0.0043891872 0.0034059984 0.0055663015 + 1214600 0.0055994545 0.0030175621 0.0057735436 + 1214700 0.0061481569 0.0028873538 0.0059133998 + 1214800 0.0079943925 0.0025610039 0.0064957439 + 1214900 0.0052602164 0.0025253318 0.0051143446 + 1215000 0.0038680243 0.0023029883 0.0042067815 + 1215100 0.0050890387 0.00242963 0.0049343912 + 1215200 0.004113272 0.0023497481 0.0043742492 + 1215300 0.0038499734 0.0021963382 0.004091247 + 1215400 0.0041281775 0.0022528088 0.0042846461 + 1215500 0.0051454557 0.0024478937 0.0049804227 + 1215600 0.0072871312 0.0017700365 0.0053566714 + 1215700 0.0050108738 0.0016902288 0.0041565183 + 1215800 0.004871837 0.002165082 0.0045629393 + 1215900 0.0064086284 0.0025597535 0.0057140003 + 1216000 0.0041459309 0.0028659035 0.0049064789 + 1216100 0.0049227991 0.002844425 0.0052673652 + 1216200 0.0051910481 0.0025537837 0.0051087527 + 1216300 0.0044374623 0.0027883326 0.0049723961 + 1216400 0.0071951181 0.0029668755 0.0065082227 + 1216500 0.0043799416 0.0029180915 0.005073844 + 1216600 0.0047258169 0.0030544293 0.0053804173 + 1216700 0.0045218103 0.0027350443 0.0049606228 + 1216800 0.0044661716 0.0022175622 0.004415756 + 1216900 0.0049903781 0.0021374137 0.0045936155 + 1217000 0.0043389059 0.0022385076 0.0043740629 + 1217100 0.006407007 0.0023647134 0.0055181622 + 1217200 0.0048730074 0.0025264623 0.0049248956 + 1217300 0.0049369975 0.0023502554 0.0047801839 + 1217400 0.0046140018 0.00266051 0.004931464 + 1217500 0.0053336802 0.0022569629 0.0048821336 + 1217600 0.0040862154 0.0020516741 0.0040628583 + 1217700 0.0049972171 0.0018410143 0.0043005821 + 1217800 0.0035183377 0.0018542972 0.003585979 + 1217900 0.005207947 0.0020501278 0.0046134142 + 1218000 0.0037648244 0.0021702667 0.0040232662 + 1218100 0.0042024998 0.0021898638 0.0042582817 + 1218200 0.0055091201 0.0018748013 0.0045863214 + 1218300 0.0055223909 0.002071586 0.0047896378 + 1218400 0.0045717671 0.0024112625 0.0046614291 + 1218500 0.0059612069 0.0023071113 0.0052411429 + 1218600 0.0054463893 0.0018107338 0.0044913786 + 1218700 0.0053892503 0.0019350361 0.0045875577 + 1218800 0.0053832629 0.0019235672 0.0045731419 + 1218900 0.0047018368 0.0020795533 0.0043937386 + 1219000 0.0042371614 0.0019729418 0.0040584196 + 1219100 0.0045700183 0.0015310568 0.0037803627 + 1219200 0.0047594762 0.0014156176 0.0037581723 + 1219300 0.003685734 0.0018034542 0.0036175264 + 1219400 0.0048707931 0.0021272098 0.0045245532 + 1219500 0.0049542694 0.0022203142 0.0046587437 + 1219600 0.0050473906 0.0023030486 0.0047873112 + 1219700 0.0040256572 0.0024668173 0.0044481955 + 1219800 0.0044644207 0.0025585266 0.0047558586 + 1219900 0.0048460796 0.0029030836 0.0052882634 + 1220000 0.0062816604 0.0030527926 0.0061445473 + 1220100 0.005115471 0.0027505235 0.0052682943 + 1220200 0.0062119902 0.0025631034 0.0056205674 + 1220300 0.0060884229 0.0023511886 0.0053478342 + 1220400 0.0045214209 0.002504838 0.0047302248 + 1220500 0.0046308707 0.0024313914 0.0047106481 + 1220600 0.0041174951 0.0022973487 0.0043239283 + 1220700 0.0053244446 0.0023537237 0.0049743488 + 1220800 0.0059630339 0.0029036463 0.005838577 + 1220900 0.0047749352 0.0029832469 0.0053334103 + 1221000 0.0056946746 0.0030348287 0.0058376764 + 1221100 0.0059814455 0.0030607263 0.006004719 + 1221200 0.0051202788 0.0023622434 0.0048823807 + 1221300 0.004984285 0.0020689303 0.004522133 + 1221400 0.0068744926 0.0022085256 0.0055920649 + 1221500 0.0040543232 0.0026313856 0.0046268728 + 1221600 0.0077106493 0.0024936013 0.0062886865 + 1221700 0.0051547144 0.0026715004 0.0052085864 + 1221800 0.0063239398 0.0021493055 0.0052618697 + 1221900 0.0054208799 0.0021977296 0.004865819 + 1222000 0.004665222 0.002428667 0.004724831 + 1222100 0.004561046 0.0025830993 0.0048279891 + 1222200 0.0056901502 0.0028618947 0.0056625155 + 1222300 0.0050248446 0.0034538667 0.0059270324 + 1222400 0.0052476439 0.0037342998 0.0063171245 + 1222500 0.0048766086 0.0034432902 0.0058434959 + 1222600 0.0051544272 0.0025827195 0.0051196642 + 1222700 0.0051347832 0.0023111877 0.0048384638 + 1222800 0.0043624262 0.0021475217 0.0042946534 + 1222900 0.0041498605 0.0025728196 0.0046153291 + 1223000 0.0033467348 0.0024887573 0.0041359783 + 1223100 0.0050613256 0.0022335996 0.0047247208 + 1223200 0.005643903 0.0024287302 0.0052065887 + 1223300 0.0038254939 0.0024166386 0.0042994989 + 1223400 0.0042332384 0.0020770815 0.0041606285 + 1223500 0.0044656332 0.0020583747 0.0042563035 + 1223600 0.004882894 0.0021446391 0.0045479385 + 1223700 0.0061946461 0.0026042832 0.0056532106 + 1223800 0.0056527037 0.0029556689 0.005737859 + 1223900 0.0049803219 0.002904934 0.0053561862 + 1224000 0.0060799778 0.0026895715 0.0056820606 + 1224100 0.0053600648 0.0023380187 0.0049761756 + 1224200 0.0056949114 0.0023339672 0.0051369314 + 1224300 0.0053694402 0.0025057888 0.0051485601 + 1224400 0.0038090966 0.0023248217 0.0041996114 + 1224500 0.004489443 0.0026708532 0.0048805009 + 1224600 0.0045501674 0.0030569115 0.005296447 + 1224700 0.0052479327 0.0029799229 0.0055628897 + 1224800 0.0047647318 0.0026428132 0.0049879546 + 1224900 0.0051321248 0.0018748554 0.004400823 + 1225000 0.0039272498 0.0016638217 0.0035967649 + 1225100 0.0051763008 0.0018644654 0.004412176 + 1225200 0.0034056793 0.002181257 0.0038574897 + 1225300 0.0042970863 0.0024283062 0.0045432784 + 1225400 0.0063294294 0.0025823334 0.0056975994 + 1225500 0.0058664982 0.0024376931 0.0053251102 + 1225600 0.0039685805 0.0025568649 0.0045101507 + 1225700 0.0048389399 0.0026306393 0.005012305 + 1225800 0.0053039688 0.0024337781 0.0050443252 + 1225900 0.0062284234 0.0023811229 0.005446675 + 1226000 0.0057656623 0.0021774755 0.0050152624 + 1226100 0.005838147 0.0022816553 0.0051551183 + 1226200 0.0037740306 0.0025397216 0.0043972523 + 1226300 0.0048268885 0.0025327635 0.0049084977 + 1226400 0.0054671593 0.0025382635 0.005229131 + 1226500 0.0047711244 0.0018531878 0.0042014756 + 1226600 0.0054091403 0.0017847566 0.0044470679 + 1226700 0.0039490498 0.0017919361 0.0037356091 + 1226800 0.0047240603 0.0020807899 0.0044059133 + 1226900 0.0059246705 0.0023325061 0.0052485549 + 1227000 0.0067133475 0.0024037951 0.0057080208 + 1227100 0.0072778075 0.00195123 0.0055332758 + 1227200 0.0050639405 0.0014984279 0.0039908361 + 1227300 0.0064431428 0.0014502432 0.0046214776 + 1227400 0.0051629137 0.0022838419 0.0048249635 + 1227500 0.0057692552 0.002377012 0.0052165673 + 1227600 0.0051643892 0.0023501072 0.004891955 + 1227700 0.0044807812 0.0026594571 0.0048648416 + 1227800 0.0054256379 0.0028703044 0.0055407356 + 1227900 0.0045980454 0.0027284553 0.0049915558 + 1228000 0.0054522573 0.0020856729 0.0047692058 + 1228100 0.004651788 0.0019381089 0.0042276608 + 1228200 0.0055255044 0.0018826055 0.0046021897 + 1228300 0.0038131475 0.002277255 0.0041540386 + 1228400 0.0043024746 0.0023641452 0.0044817694 + 1228500 0.0043454544 0.002704886 0.0048436643 + 1228600 0.0042641503 0.0025622065 0.004660968 + 1228700 0.0062657222 0.0025456916 0.0056296018 + 1228800 0.0058883258 0.0030563682 0.0059545286 + 1228900 0.0048127256 0.0032604177 0.0056291811 + 1229000 0.0062757459 0.0033524372 0.0064412809 + 1229100 0.0043987704 0.0033447963 0.0055098161 + 1229200 0.0040227961 0.0029886022 0.0049685722 + 1229300 0.0047777432 0.0021405055 0.0044920509 + 1229400 0.0059707574 0.0022418934 0.0051806255 + 1229500 0.0053975498 0.002500489 0.0051570956 + 1229600 0.0055231112 0.0026426461 0.0053610523 + 1229700 0.0056529972 0.0021888815 0.004971216 + 1229800 0.0055793423 0.0024043653 0.0051504478 + 1229900 0.0048799599 0.0026996918 0.0051015471 + 1230000 0.0046353733 0.0027718384 0.0050533112 + 1230100 0.0055496431 0.0027506062 0.0054820712 + 1230200 0.0041035506 0.0025397285 0.0045594448 + 1230300 0.0062103949 0.0020806814 0.0051373601 + 1230400 0.0043182268 0.0020946737 0.004220051 + 1230500 0.0036885647 0.0021831723 0.0039986378 + 1230600 0.0056248193 0.0021180569 0.0048865227 + 1230700 0.0044823617 0.0024665023 0.0046726647 + 1230800 0.0048606692 0.0026319366 0.0050242972 + 1230900 0.006954861 0.0026320497 0.0060551454 + 1231000 0.0051091836 0.0029824315 0.0054971078 + 1231100 0.0041626925 0.0028876089 0.0049364341 + 1231200 0.0045914579 0.0025669224 0.0048267806 + 1231300 0.0047678458 0.0021666702 0.0045133444 + 1231400 0.0036605949 0.0023152733 0.0041169723 + 1231500 0.0043314978 0.0020713238 0.0042032329 + 1231600 0.0053069871 0.0017444958 0.0043565285 + 1231700 0.005708117 0.0017088876 0.0045183515 + 1231800 0.0053830154 0.0026496624 0.0052991153 + 1231900 0.0036640032 0.0036700839 0.0054734605 + 1232000 0.0043220393 0.0030603265 0.0051875802 + 1232100 0.0037258748 0.0025194033 0.0043532323 + 1232200 0.0034496491 0.0020861816 0.0037840558 + 1232300 0.0053270842 0.0020708744 0.0046927987 + 1232400 0.0042033393 0.0026599472 0.0047287783 + 1232500 0.0061102992 0.0026926754 0.0057000883 + 1232600 0.0047928605 0.0030711248 0.0054301108 + 1232700 0.0071167887 0.0024327563 0.0059355508 + 1232800 0.0060771973 0.0022222102 0.0052133308 + 1232900 0.0053936094 0.002627009 0.0052816761 + 1233000 0.0043989744 0.0029923013 0.0051574215 + 1233100 0.0056766237 0.0027430432 0.0055370065 + 1233200 0.0041768729 0.0025051303 0.0045609349 + 1233300 0.0054621012 0.00250129 0.0051896679 + 1233400 0.0041819147 0.0026967584 0.0047550446 + 1233500 0.0042737594 0.0025959457 0.0046994367 + 1233600 0.0053408721 0.0023063565 0.004935067 + 1233700 0.0048960868 0.0022227763 0.004632569 + 1233800 0.0039189465 0.0022867624 0.0042156188 + 1233900 0.0057765804 0.002576005 0.0054191657 + 1234000 0.0069178609 0.0024075564 0.0058124411 + 1234100 0.0043975132 0.0024984576 0.0046628586 + 1234200 0.0042745042 0.0019636661 0.0040675236 + 1234300 0.0044879497 0.0018346459 0.0040435587 + 1234400 0.0057215411 0.0019048462 0.0047209172 + 1234500 0.0037360609 0.0023247393 0.0041635817 + 1234600 0.0047554119 0.002626854 0.0049674083 + 1234700 0.0050763103 0.0029239588 0.0054224553 + 1234800 0.0049046266 0.0028083403 0.0052223362 + 1234900 0.0046145975 0.0025095645 0.0047808117 + 1235000 0.0047921218 0.0021808027 0.0045394251 + 1235100 0.0042700287 0.002295769 0.0043974237 + 1235200 0.0038482945 0.0021909844 0.0040850669 + 1235300 0.0045825618 0.0019163761 0.0041718558 + 1235400 0.0041311554 0.0024132391 0.0044465421 + 1235500 0.0047370207 0.0031069405 0.0054384429 + 1235600 0.00373988 0.0030761298 0.004916852 + 1235700 0.0060064825 0.0024516316 0.0054079472 + 1235800 0.0061177475 0.0023615081 0.0053725869 + 1235900 0.006159879 0.0021250975 0.0051569129 + 1236000 0.0058612164 0.0022562619 0.0051410793 + 1236100 0.0060475072 0.0019796602 0.0049561677 + 1236200 0.0049684718 0.0019399702 0.00438539 + 1236300 0.0053781401 0.0026981992 0.0053452525 + 1236400 0.0064149306 0.0025157133 0.0056730619 + 1236500 0.0058547292 0.0020364638 0.0049180883 + 1236600 0.0040103451 0.0025521737 0.0045260154 + 1236700 0.0042719426 0.0025629835 0.0046655802 + 1236800 0.004833378 0.0023881747 0.004767103 + 1236900 0.0044091721 0.0026180986 0.0047882379 + 1237000 0.0046093257 0.0025342568 0.0048029093 + 1237100 0.0054837127 0.0024302138 0.0051292286 + 1237200 0.0039341753 0.0023007611 0.004237113 + 1237300 0.0056239102 0.0024324635 0.0052004818 + 1237400 0.0049500967 0.002999984 0.0054363598 + 1237500 0.0075011598 0.0028325701 0.0065245472 + 1237600 0.005198688 0.0028007344 0.0053594637 + 1237700 0.0049169038 0.0024811417 0.0049011803 + 1237800 0.006895949 0.001834309 0.0052284089 + 1237900 0.0041566386 0.0022463588 0.0042922044 + 1238000 0.0042289922 0.0023531907 0.0044346478 + 1238100 0.0039810506 0.002502626 0.0044620493 + 1238200 0.004325473 0.0025079471 0.0046368908 + 1238300 0.0048173677 0.0025212234 0.0048922715 + 1238400 0.0048334717 0.0026695324 0.0050485068 + 1238500 0.0043255666 0.0026408459 0.0047698357 + 1238600 0.0044900681 0.0023952619 0.0046052173 + 1238700 0.005529738 0.0025672294 0.0052888973 + 1238800 0.005892341 0.002629252 0.0055293886 + 1238900 0.0057493991 0.0029808837 0.005810666 + 1239000 0.0050842998 0.0026610781 0.0051635069 + 1239100 0.005402205 0.0020199312 0.004678829 + 1239200 0.0050887736 0.0017646991 0.0042693299 + 1239300 0.0050525796 0.0015686358 0.0040554524 + 1239400 0.0053817066 0.002034434 0.0046832427 + 1239500 0.0031516887 0.0019438558 0.0034950776 + 1239600 0.004361034 0.0018879041 0.0040343505 + 1239700 0.0045376641 0.0019096202 0.0041430017 + 1239800 0.0047135365 0.0021581154 0.0044780592 + 1239900 0.0041943226 0.0023199793 0.0043843724 + 1240000 0.0042095597 0.0021025454 0.0041744381 + 1240100 0.006361896 0.0016263007 0.0047575464 + 1240200 0.0052315661 0.001995568 0.0045704794 + 1240300 0.0039738485 0.0020966359 0.0040525144 + 1240400 0.0047027534 0.0020261601 0.0043407966 + 1240500 0.0049545106 0.0021995237 0.0046380719 + 1240600 0.0045555274 0.0023394034 0.004581577 + 1240700 0.0056259389 0.0026881174 0.0054571342 + 1240800 0.0064411215 0.003023571 0.0061938105 + 1240900 0.0045918611 0.0023963356 0.0046563922 + 1241000 0.0041647131 0.0021808588 0.0042306786 + 1241100 0.0031115428 0.0022087599 0.0037402224 + 1241200 0.0043263135 0.0017696856 0.003899043 + 1241300 0.0059652902 0.0017637852 0.0046998265 + 1241400 0.0045793273 0.0022310398 0.0044849274 + 1241500 0.0053760529 0.0023243538 0.0049703799 + 1241600 0.0069613694 0.0022295328 0.0056558319 + 1241700 0.004557503 0.0023185125 0.0045616585 + 1241800 0.004421102 0.0023811321 0.0045571432 + 1241900 0.005293685 0.0020572319 0.0046627175 + 1242000 0.0042236835 0.0020949383 0.0041737826 + 1242100 0.0049813958 0.0017347528 0.0041865335 + 1242200 0.0046286537 0.0015366416 0.0038148071 + 1242300 0.0056019204 0.0015712564 0.0043284515 + 1242400 0.0044299573 0.0020403187 0.0042206883 + 1242500 0.005884893 0.0021766038 0.0050730746 + 1242600 0.0060181075 0.0022818061 0.0052438435 + 1242700 0.0061915833 0.0028851781 0.005932598 + 1242800 0.0054666741 0.0034095046 0.0061001333 + 1242900 0.0044537691 0.0034758297 0.0056679191 + 1243000 0.0038960623 0.0031817676 0.0050993608 + 1243100 0.0049062633 0.0031651505 0.0055799519 + 1243200 0.0065486118 0.0031715825 0.0063947274 + 1243300 0.0047188445 0.0025620573 0.0048846136 + 1243400 0.0057704927 0.0021701573 0.0050103217 + 1243500 0.0035741859 0.0018957017 0.0036548713 + 1243600 0.0056915738 0.0021370061 0.0049383276 + 1243700 0.0039153985 0.0025552514 0.0044823616 + 1243800 0.004248202 0.0024909052 0.0045818171 + 1243900 0.0059063496 0.0022068916 0.0051139231 + 1244000 0.0042924198 0.0024878186 0.004600494 + 1244100 0.0049464861 0.0021981589 0.0046327575 + 1244200 0.0039386262 0.0021126086 0.0040511512 + 1244300 0.0044794383 0.0021601754 0.004364899 + 1244400 0.0058050358 0.0017535608 0.0046107269 + 1244500 0.0037262091 0.0017156123 0.0035496058 + 1244600 0.0048218188 0.0020799612 0.0044532001 + 1244700 0.005281099 0.0025872285 0.0051865194 + 1244800 0.0060592511 0.0024499943 0.005432282 + 1244900 0.0061557819 0.0023318476 0.0053616465 + 1245000 0.0051001008 0.0022596072 0.0047698131 + 1245100 0.0068533709 0.0018865416 0.0052596851 + 1245200 0.0070521047 0.0024309425 0.0059019003 + 1245300 0.0060652015 0.002497493 0.0054827093 + 1245400 0.0057376612 0.002371629 0.0051956341 + 1245500 0.0036478228 0.0024440589 0.0042394717 + 1245600 0.0044295832 0.0024164436 0.0045966291 + 1245700 0.0045774433 0.0024675169 0.0047204773 + 1245800 0.0048708952 0.0023456459 0.0047430397 + 1245900 0.0053982012 0.0020858189 0.0047427461 + 1246000 0.005949572 0.0020024537 0.0049307587 + 1246100 0.0060547259 0.0017811305 0.0047611909 + 1246200 0.004149582 0.0024029431 0.0044453155 + 1246300 0.0036826277 0.0030291277 0.004841671 + 1246400 0.0050697929 0.0026378997 0.0051331884 + 1246500 0.004285921 0.0022861323 0.0043956091 + 1246600 0.0052123302 0.0019897554 0.0045551991 + 1246700 0.0049395052 0.0023668114 0.0047979741 + 1246800 0.0041676953 0.0020604126 0.0041117001 + 1246900 0.0050253551 0.0014601163 0.0039335332 + 1247000 0.0052725604 0.0018131491 0.0044082375 + 1247100 0.0056207002 0.0025944627 0.0053609011 + 1247200 0.0053042701 0.0021843276 0.004795023 + 1247300 0.0066225027 0.0019442009 0.005203714 + 1247400 0.0045829178 0.0026496071 0.0049052619 + 1247500 0.0053950636 0.0024578334 0.0051132163 + 1247600 0.0053962454 0.0027077757 0.0053637402 + 1247700 0.0063574467 0.003018317 0.0061473728 + 1247800 0.0057401367 0.0024415871 0.0052668107 + 1247900 0.0041255425 0.0024351803 0.0044657208 + 1248000 0.0045485357 0.0020640608 0.0043027932 + 1248100 0.0058557041 0.0021805141 0.0050626184 + 1248200 0.0047681597 0.0017256095 0.0040724381 + 1248300 0.0061723227 0.0013588286 0.0043967687 + 1248400 0.0057440725 0.0016045363 0.004431697 + 1248500 0.0050541103 0.0019015551 0.004389125 + 1248600 0.005194954 0.0019991933 0.0045560847 + 1248700 0.0045980205 0.0019043989 0.0041674871 + 1248800 0.0050777552 0.0018843722 0.0043835798 + 1248900 0.004314401 0.0021801937 0.0043036879 + 1249000 0.0048678427 0.0022597345 0.0046556259 + 1249100 0.004092595 0.0027551512 0.0047694753 + 1249200 0.0047721336 0.0030088746 0.0053576591 + 1249300 0.0050816372 0.0028521877 0.005353306 + 1249400 0.0063576148 0.002427066 0.0055562045 + 1249500 0.0036990649 0.0024611517 0.0042817852 + 1249600 0.0050419771 0.0024140406 0.0048956387 + 1249700 0.0031269649 0.0022617243 0.0038007773 + 1249800 0.0043072241 0.0022122073 0.0043321691 + 1249900 0.0047704581 0.0028009544 0.0051489142 + 1250000 0.0052331951 0.0029601114 0.0055358247 + 1250100 0.0056057494 0.0028641059 0.0056231856 + 1250200 0.0060326351 0.0022729152 0.0052421028 + 1250300 0.0059143589 0.0022987328 0.0052097064 + 1250400 0.0056956622 0.0026016941 0.0054050278 + 1250500 0.0055853586 0.0028715748 0.0056206185 + 1250600 0.0061218323 0.0032564797 0.006269569 + 1250700 0.0050352955 0.0029814804 0.0054597899 + 1250800 0.0049930933 0.0026107761 0.0050683142 + 1250900 0.0068241939 0.0027534664 0.0061122494 + 1251000 0.0056336945 0.002647932 0.005420766 + 1251100 0.0048892312 0.0025137672 0.0049201856 + 1251200 0.0056769569 0.0020866923 0.0048808195 + 1251300 0.0066610289 0.0020548956 0.0053333708 + 1251400 0.0062824255 0.0021345477 0.005226679 + 1251500 0.0047830545 0.0023398281 0.0046939878 + 1251600 0.0043830779 0.0025993728 0.004756669 + 1251700 0.0047791709 0.0024633784 0.0048156266 + 1251800 0.0069457744 0.0018281291 0.0052467525 + 1251900 0.0050721329 0.0018724086 0.0043688491 + 1252000 0.0056959932 0.002104696 0.0049081926 + 1252100 0.0056018746 0.0018195869 0.0045767596 + 1252200 0.0065083891 0.0020233906 0.0052267384 + 1252300 0.0041738624 0.0025150219 0.0045693447 + 1252400 0.0049806385 0.0020388475 0.0044902555 + 1252500 0.0042445446 0.0019895591 0.0040786709 + 1252600 0.0048289597 0.0023598032 0.0047365568 + 1252700 0.0050732777 0.0025454336 0.0050424375 + 1252800 0.0044916142 0.0025030147 0.004713731 + 1252900 0.0050828067 0.0023946628 0.0048963568 + 1253000 0.003945415 0.0021563692 0.0040982532 + 1253100 0.0039446635 0.0017538754 0.0036953894 + 1253200 0.0039950502 0.0016394741 0.0036057878 + 1253300 0.0046291346 0.0016212072 0.0038996094 + 1253400 0.0059530463 0.0017102855 0.0046403005 + 1253500 0.0042673817 0.0019484789 0.0040488308 + 1253600 0.0055016773 0.0020139752 0.004721832 + 1253700 0.005804968 0.0020689216 0.0049260543 + 1253800 0.0056275497 0.0023846243 0.0051544339 + 1253900 0.0062942883 0.0021953753 0.0052933453 + 1254000 0.0061455537 0.0023129797 0.0053377444 + 1254100 0.0049964026 0.0029944237 0.0054535906 + 1254200 0.0044968647 0.002874252 0.0050875526 + 1254300 0.0061828547 0.0028060096 0.0058491334 + 1254400 0.0055164693 0.0028355909 0.0055507281 + 1254500 0.0061291487 0.0030606727 0.0060773631 + 1254600 0.0039797254 0.003045895 0.0050046661 + 1254700 0.0061688457 0.0020015548 0.0050377836 + 1254800 0.0050912067 0.0017322179 0.0042380462 + 1254900 0.0060011143 0.0015170152 0.0044706886 + 1255000 0.0044109154 0.0018179682 0.0039889656 + 1255100 0.0064610884 0.0021346891 0.005314756 + 1255200 0.0044966342 0.0022704627 0.0044836498 + 1255300 0.0054248317 0.0021371271 0.0048071615 + 1255400 0.0048697031 0.0024376184 0.0048344254 + 1255500 0.0059804359 0.0021786033 0.0051220991 + 1255600 0.0053355867 0.0019957714 0.0046218805 + 1255700 0.0047458488 0.0024143463 0.0047501937 + 1255800 0.0041851148 0.0027236399 0.0047835011 + 1255900 0.0052105185 0.0025267383 0.0050912904 + 1256000 0.0053169454 0.0025991168 0.0052160508 + 1256100 0.0050789603 0.0031105131 0.0056103138 + 1256200 0.0034150202 0.0030450513 0.0047258816 + 1256300 0.0040982094 0.002933445 0.0049505324 + 1256400 0.0052326115 0.0027884472 0.0053638732 + 1256500 0.0064559231 0.0023473946 0.0055249192 + 1256600 0.0052522449 0.0025575942 0.0051426835 + 1256700 0.0065159043 0.0023919892 0.0055990358 + 1256800 0.0052520935 0.0027223939 0.0053074087 + 1256900 0.0062531749 0.0028335815 0.005911316 + 1257000 0.0072695069 0.0022134769 0.0057914373 + 1257100 0.0045859324 0.0022675638 0.0045247024 + 1257200 0.0047520053 0.0021313714 0.0044702491 + 1257300 0.005208273 0.0020655842 0.0046290311 + 1257400 0.0042694504 0.0022850074 0.0043863775 + 1257500 0.0060035765 0.0026670262 0.0056219115 + 1257600 0.0049377937 0.0027640616 0.005194382 + 1257700 0.0045883492 0.0026414281 0.0048997562 + 1257800 0.0035054205 0.002957949 0.0046832731 + 1257900 0.0041021238 0.0025911398 0.0046101539 + 1258000 0.0042425292 0.0021648724 0.0042529922 + 1258100 0.0038783702 0.0021636251 0.0040725104 + 1258200 0.0049314377 0.0022404999 0.0046676919 + 1258300 0.004383105 0.0024180282 0.0045753377 + 1258400 0.0058674759 0.0022268751 0.0051147734 + 1258500 0.0039854301 0.002030164 0.0039917429 + 1258600 0.0047845389 0.0021255972 0.0044804874 + 1258700 0.004916498 0.0023219582 0.0047417971 + 1258800 0.0063731813 0.0029666689 0.0061034691 + 1258900 0.0070238099 0.0030723153 0.0065293468 + 1259000 0.0070281169 0.0023253999 0.0057845512 + 1259100 0.0042275779 0.0022120615 0.0042928225 + 1259200 0.0046852796 0.0019739008 0.0042799368 + 1259300 0.0040230084 0.0020194646 0.003999539 + 1259400 0.0048987767 0.0020996855 0.0045108022 + 1259500 0.0052139889 0.0023287746 0.0048950347 + 1259600 0.0038484752 0.0026882144 0.0045823858 + 1259700 0.0043336225 0.002349405 0.0044823598 + 1259800 0.0045256856 0.0019957654 0.0042232513 + 1259900 0.004135825 0.0019639849 0.0039995863 + 1260000 0.0048135316 0.0021056216 0.0044747817 + 1260100 0.0039922884 0.0019626137 0.0039275682 + 1260200 0.0046371657 0.0021139224 0.0043962774 + 1260300 0.0046146944 0.00269005 0.0049613449 + 1260400 0.0046088196 0.0027662379 0.0050346413 + 1260500 0.007496484 0.0021167645 0.0058064402 + 1260600 0.0059731892 0.0021704359 0.005110365 + 1260700 0.0036115229 0.0031229313 0.0049004778 + 1260800 0.0050833385 0.0030301514 0.005532107 + 1260900 0.0067312723 0.0026507531 0.0059638012 + 1261000 0.0038910819 0.0027218801 0.004637022 + 1261100 0.0045767167 0.0028027581 0.0050553608 + 1261200 0.0052984234 0.0030808649 0.0056886827 + 1261300 0.0072408068 0.0028611759 0.0064250105 + 1261400 0.0056274943 0.0028950468 0.0056648292 + 1261500 0.0040025423 0.0027093837 0.004679385 + 1261600 0.0049634345 0.0023136959 0.0047566364 + 1261700 0.003792224 0.0027369892 0.0046034745 + 1261800 0.0040855923 0.0026194226 0.0046303001 + 1261900 0.0048152561 0.0024691538 0.0048391627 + 1262000 0.0038502854 0.0024988895 0.0043939518 + 1262100 0.0045586083 0.0026735646 0.0049172546 + 1262200 0.0059022594 0.002798233 0.0057032513 + 1262300 0.0035697295 0.0027093266 0.0044663029 + 1262400 0.0065371694 0.0025939997 0.0058115127 + 1262500 0.0054877994 0.0025334462 0.0052344725 + 1262600 0.0056248979 0.0025622537 0.0053307581 + 1262700 0.0043621344 0.0023971945 0.0045441825 + 1262800 0.0038116068 0.0026918804 0.0045679056 + 1262900 0.0053218445 0.0026901213 0.0053094666 + 1263000 0.0047305365 0.0025782915 0.0049066024 + 1263100 0.0049638177 0.0022739294 0.0047170585 + 1263200 0.0054327659 0.0023463161 0.0050202555 + 1263300 0.0046124951 0.0024644764 0.0047346889 + 1263400 0.0036554243 0.0020640248 0.0038631789 + 1263500 0.0041028019 0.0017903805 0.0038097283 + 1263600 0.0045240089 0.0016447729 0.0038714335 + 1263700 0.0041895753 0.0017794052 0.0038414618 + 1263800 0.0051557971 0.0020365172 0.0045741361 + 1263900 0.0043256578 0.0019912309 0.0041202655 + 1264000 0.0047471869 0.0018797711 0.0042162771 + 1264100 0.0046488414 0.0019981751 0.0042862767 + 1264200 0.0051216997 0.0021538422 0.0046746787 + 1264300 0.0038097216 0.0021457989 0.0040208962 + 1264400 0.0051324448 0.0019656371 0.0044917623 + 1264500 0.0046652061 0.0019259822 0.0042221384 + 1264600 0.0050749085 0.001857272 0.0043550785 + 1264700 0.0039166541 0.0018672053 0.0037949335 + 1264800 0.0051591673 0.0021480735 0.0046873511 + 1264900 0.0048215165 0.0021417758 0.0045148659 + 1265000 0.0043828449 0.0018293595 0.0039865409 + 1265100 0.0047276098 0.001551421 0.0038782915 + 1265200 0.0048435475 0.0016594301 0.0040433636 + 1265300 0.0049928364 0.0020071353 0.0044645469 + 1265400 0.0052496923 0.0021314404 0.0047152733 + 1265500 0.0039774491 0.0024442901 0.0044019408 + 1265600 0.0034485401 0.002975025 0.0046723533 + 1265700 0.0036397541 0.0031535501 0.0049449915 + 1265800 0.0049352024 0.0022495895 0.0046786344 + 1265900 0.0050899526 0.0017772874 0.0042824985 + 1266000 0.0039706952 0.0016351106 0.0035894372 + 1266100 0.0050076621 0.0018948135 0.0043595222 + 1266200 0.0043589228 0.0018746047 0.0040200121 + 1266300 0.0043359866 0.0019773719 0.0041114903 + 1266400 0.0047944497 0.0021943349 0.0045541031 + 1266500 0.0050571877 0.0019932923 0.0044823768 + 1266600 0.0037649203 0.0020637737 0.0039168204 + 1266700 0.005415593 0.0016638512 0.0043293384 + 1266800 0.0035149272 0.0016796292 0.0034096324 + 1266900 0.0066362225 0.001646221 0.0049124867 + 1267000 0.0043631006 0.0019970428 0.0041445064 + 1267100 0.0061836156 0.0020359313 0.0050794296 + 1267200 0.0056714327 0.0018106785 0.0046020868 + 1267300 0.0045399002 0.0018453094 0.0040797915 + 1267400 0.0042831043 0.002317129 0.0044252194 + 1267500 0.0044892039 0.0020743315 0.0042838615 + 1267600 0.0047712105 0.0015674485 0.0039157787 + 1267700 0.0039578391 0.0015019717 0.0034499706 + 1267800 0.004719006 0.0019000561 0.0042226918 + 1267900 0.0051073314 0.0018833601 0.0043971248 + 1268000 0.004534352 0.00203952 0.0042712714 + 1268100 0.0075758796 0.0023946619 0.0061234151 + 1268200 0.0056484724 0.0031559055 0.005936013 + 1268300 0.0054592866 0.0037145009 0.0064014935 + 1268400 0.0066572843 0.0029393347 0.0062159668 + 1268500 0.0067362929 0.0022252994 0.0055408186 + 1268600 0.0041212835 0.0028569721 0.0048854164 + 1268700 0.0034742303 0.0029639137 0.0046738864 + 1268800 0.0048618295 0.0024254117 0.0048183434 + 1268900 0.0044240368 0.0027357933 0.004913249 + 1269000 0.0039780356 0.0027338525 0.0046917919 + 1269100 0.0053928715 0.002556738 0.0052110419 + 1269200 0.0059683909 0.002589831 0.0055273984 + 1269300 0.0050186157 0.0026472713 0.0051173712 + 1269400 0.0062543485 0.0026670949 0.0057454071 + 1269500 0.0052293196 0.0023594512 0.0049332569 + 1269600 0.0050776239 0.0021722148 0.0046713578 + 1269700 0.0059244307 0.0023814938 0.0052974245 + 1269800 0.0044007005 0.0026461181 0.0048120879 + 1269900 0.0042182669 0.0024365483 0.0045127265 + 1270000 0.0043757445 0.0022098613 0.004363548 + 1270100 0.0059931442 0.0016347971 0.0045845477 + 1270200 0.0075170145 0.0016395935 0.0053393741 + 1270300 0.004650979 0.0021299084 0.0044190622 + 1270400 0.0043663045 0.0025937054 0.0047427459 + 1270500 0.0054776448 0.0023453046 0.0050413329 + 1270600 0.0052700157 0.002169385 0.0047632209 + 1270700 0.004734685 0.0026844269 0.0050147796 + 1270800 0.0048319864 0.0026507655 0.0050290088 + 1270900 0.0058990686 0.0024232473 0.0053266951 + 1271000 0.0070376897 0.0026928116 0.0061566744 + 1271100 0.0055303319 0.0033017004 0.0060236606 + 1271200 0.0050094361 0.0032412087 0.0057067905 + 1271300 0.0056558432 0.0029480892 0.0057318245 + 1271400 0.0062570954 0.0029896576 0.0060693217 + 1271500 0.0057105778 0.0032004854 0.0060111604 + 1271600 0.0065771935 0.0033566866 0.006593899 + 1271700 0.0052114545 0.0032267951 0.0057918078 + 1271800 0.0058218655 0.0026854654 0.0055509148 + 1271900 0.0045363584 0.0021518912 0.0043846301 + 1272000 0.0056083395 0.0022698806 0.0050302352 + 1272100 0.0043711723 0.0024181903 0.0045696266 + 1272200 0.0044461398 0.0023753122 0.0045636467 + 1272300 0.0038250346 0.0018676954 0.0037503296 + 1272400 0.0047422828 0.0021935991 0.0045276914 + 1272500 0.0054635067 0.0024208523 0.0051099221 + 1272600 0.0059221017 0.0026300926 0.005544877 + 1272700 0.00426459 0.0026036698 0.0047026476 + 1272800 0.0065933213 0.0024117317 0.0056568821 + 1272900 0.0058032049 0.0021026665 0.0049589314 + 1273000 0.0048533311 0.0021194656 0.0045082145 + 1273100 0.0063012947 0.0025567737 0.0056581922 + 1273200 0.0070065095 0.0030258424 0.0064743588 + 1273300 0.0051095723 0.0029033073 0.0054181749 + 1273400 0.0066487079 0.0028050361 0.006077447 + 1273500 0.0059564656 0.0029464078 0.0058781057 + 1273600 0.0039381536 0.0025748696 0.0045131796 + 1273700 0.0063935376 0.0021528312 0.0052996505 + 1273800 0.0051158521 0.0023602316 0.00487819 + 1273900 0.0051802599 0.0022448789 0.004794538 + 1274000 0.0048345491 0.0020093415 0.0043888461 + 1274100 0.0044752189 0.0018842162 0.0040868631 + 1274200 0.0040952078 0.0020271582 0.0040427683 + 1274300 0.004318966 0.0019796158 0.0041053569 + 1274400 0.0045475638 0.001903687 0.0041419411 + 1274500 0.0055600563 0.0016639487 0.004400539 + 1274600 0.0048019347 0.0015094691 0.0038729213 + 1274700 0.0045092434 0.0018339002 0.0040532934 + 1274800 0.0054991684 0.0022605913 0.0049672132 + 1274900 0.0035911121 0.0025760015 0.004343502 + 1275000 0.0065164449 0.0023141198 0.0055214325 + 1275100 0.0052328648 0.0021867471 0.0047622978 + 1275200 0.0053613393 0.0021531471 0.0047919312 + 1275300 0.0046667852 0.0026661312 0.0049630645 + 1275400 0.006373836 0.0024886835 0.0056258059 + 1275500 0.0040731515 0.002269662 0.0042744162 + 1275600 0.0062119263 0.0024087146 0.0054661471 + 1275700 0.0051719034 0.0024297147 0.0049752609 + 1275800 0.0056651452 0.002771521 0.0055598346 + 1275900 0.0052050722 0.0025840821 0.0051459535 + 1276000 0.0053226707 0.0022863707 0.0049061227 + 1276100 0.0039101406 0.0021336831 0.0040582054 + 1276200 0.0043155352 0.0017367922 0.0038608447 + 1276300 0.003902112 0.0019705743 0.003891145 + 1276400 0.0048918915 0.0019912642 0.0043989921 + 1276500 0.0052831492 0.0019657521 0.0045660521 + 1276600 0.0058667952 0.0017097341 0.0045972973 + 1276700 0.0062050592 0.0014719301 0.0045259827 + 1276800 0.0056872434 0.0013999448 0.0041991349 + 1276900 0.0071579343 0.0020016913 0.005524737 + 1277000 0.004920243 0.0026973258 0.0051190079 + 1277100 0.004946847 0.0029133052 0.0053480815 + 1277200 0.0060297215 0.0022182369 0.0051859904 + 1277300 0.0052502573 0.0018631962 0.0044473072 + 1277400 0.0040771475 0.0021689845 0.0041757056 + 1277500 0.0041071352 0.0020898994 0.00411138 + 1277600 0.0046195149 0.0023380026 0.0046116701 + 1277700 0.0050880003 0.0021680247 0.0046722749 + 1277800 0.0038880853 0.002530482 0.0044441489 + 1277900 0.0055898234 0.0022796498 0.005030891 + 1278000 0.0039854232 0.0024499127 0.0044114882 + 1278100 0.0077490952 0.0022294451 0.0060434529 + 1278200 0.0043336377 0.002435803 0.0045687653 + 1278300 0.0036847587 0.0019786923 0.0037922844 + 1278400 0.0052585362 0.002077264 0.0046654498 + 1278500 0.005048084 0.001993466 0.0044780698 + 1278600 0.0043629144 0.0025468716 0.0046942435 + 1278700 0.0051815526 0.0020233999 0.0045736954 + 1278800 0.0043553193 0.0017704049 0.0039140386 + 1278900 0.0072733185 0.0018771025 0.005456939 + 1279000 0.0046582087 0.0027018592 0.0049945713 + 1279100 0.0034695022 0.0027206127 0.0044282584 + 1279200 0.0049120037 0.0025377403 0.0049553671 + 1279300 0.0052479788 0.0021079817 0.0046909713 + 1279400 0.0052584818 0.002131801 0.00471996 + 1279500 0.0042196435 0.0020795002 0.004156356 + 1279600 0.0066724898 0.0019345263 0.0052186424 + 1279700 0.0053535603 0.0027004971 0.0053354526 + 1279800 0.0043585993 0.0028582528 0.0050035008 + 1279900 0.0051692679 0.0023290374 0.0048732864 + 1280000 0.0046154313 0.0021295486 0.0044012063 + 1280100 0.0039297216 0.0026048557 0.0045390155 + 1280200 0.0043417294 0.002247867 0.0043848119 + 1280300 0.004556513 0.0022133787 0.0044560375 + 1280400 0.0041139005 0.0023648199 0.0043896303 + 1280500 0.0043705114 0.0023890139 0.004540125 + 1280600 0.0053784575 0.0023984458 0.0050456554 + 1280700 0.0037306235 0.0022731305 0.0041092967 + 1280800 0.0065428261 0.0018869982 0.0051072954 + 1280900 0.0052579566 0.0018662422 0.0044541427 + 1281000 0.0060004163 0.0020358786 0.0049892085 + 1281100 0.0039264182 0.0019259962 0.0038585301 + 1281200 0.0060467639 0.0019496107 0.0049257523 + 1281300 0.0051568329 0.0025145391 0.0050526678 + 1281400 0.0043019847 0.0027371581 0.0048545412 + 1281500 0.0051069734 0.0026398081 0.0051533966 + 1281600 0.0045569652 0.0024305907 0.004673472 + 1281700 0.00524928 0.0027864174 0.0053700475 + 1281800 0.0042813112 0.0034256952 0.0055329031 + 1281900 0.0037585272 0.0033767846 0.0052266847 + 1282000 0.004716521 0.0027878291 0.0051092418 + 1282100 0.0046578015 0.0025768224 0.0048693341 + 1282200 0.0062327656 0.0025196432 0.0055873325 + 1282300 0.0040442993 0.0025882951 0.0045788487 + 1282400 0.0043923137 0.0026517348 0.0048135768 + 1282500 0.0057967541 0.0027407631 0.005593853 + 1282600 0.0035645611 0.0027161683 0.0044706007 + 1282700 0.0049900158 0.002233612 0.0046896354 + 1282800 0.0063215929 0.0019414174 0.0050528264 + 1282900 0.0039847773 0.0021751268 0.0041363844 + 1283000 0.005333826 0.0017561445 0.004381387 + 1283100 0.0049079485 0.0024158249 0.0048314558 + 1283200 0.0048502699 0.0026187192 0.0050059614 + 1283300 0.0063238833 0.0023429996 0.0054555359 + 1283400 0.0057914854 0.0020676189 0.0049181156 + 1283500 0.0038765347 0.0021716809 0.0040796628 + 1283600 0.0053226361 0.0022529374 0.0048726723 + 1283700 0.0046733714 0.0026349176 0.0049350926 + 1283800 0.0061943648 0.0026970806 0.0057458695 + 1283900 0.005437314 0.0028516028 0.0055277808 + 1284000 0.005241537 0.0029778597 0.0055576787 + 1284100 0.0058351875 0.0028317665 0.0057037729 + 1284200 0.005128987 0.0024220686 0.0049464919 + 1284300 0.0048743552 0.0023159063 0.0047150031 + 1284400 0.004666322 0.0022891627 0.0045858681 + 1284500 0.0037144729 0.0027942687 0.0046224858 + 1284600 0.0056775441 0.0029842618 0.005778678 + 1284700 0.0077326076 0.0032309666 0.0070368594 + 1284800 0.004806199 0.0030734393 0.0054389904 + 1284900 0.0057886138 0.0028126586 0.0056617419 + 1285000 0.0039315946 0.0026927647 0.0046278465 + 1285100 0.0052100042 0.0022970264 0.0048613254 + 1285200 0.0038682251 0.0028332006 0.0047370926 + 1285300 0.0061454299 0.0027189749 0.0057436787 + 1285400 0.0060465085 0.0021152531 0.005091269 + 1285500 0.0054263656 0.0019972367 0.004668026 + 1285600 0.0043923443 0.0024085029 0.0045703598 + 1285700 0.0067195945 0.0022556587 0.0055629591 + 1285800 0.0056400981 0.0023942358 0.0051702216 + 1285900 0.0060181758 0.0026954565 0.0056575274 + 1286000 0.0033905206 0.0026292685 0.0042980404 + 1286100 0.0056425315 0.0025395511 0.0053167346 + 1286200 0.0036935485 0.0023340726 0.004151991 + 1286300 0.0054996006 0.001896125 0.0046029597 + 1286400 0.0036781271 0.0022324092 0.0040427374 + 1286500 0.0043731176 0.0025428834 0.0046952772 + 1286600 0.0064313766 0.0023024728 0.0054679159 + 1286700 0.004614995 0.0025078218 0.0047792646 + 1286800 0.0052866371 0.0024659616 0.0050679783 + 1286900 0.0052077374 0.0023186504 0.0048818337 + 1287000 0.004834278 0.0022560506 0.0046354217 + 1287100 0.0042351698 0.0021119081 0.0041964057 + 1287200 0.0051913982 0.0019024949 0.0044576362 + 1287300 0.0038507277 0.0017254568 0.0036207369 + 1287400 0.0057109234 0.0016285509 0.004439396 + 1287500 0.0047549451 0.0021048336 0.0044451581 + 1287600 0.0052288919 0.0022144912 0.0047880865 + 1287700 0.0053429165 0.0023054743 0.0049351911 + 1287800 0.0050057396 0.002698224 0.0051619865 + 1287900 0.0051948169 0.0026109728 0.0051677967 + 1288000 0.0034642672 0.002330309 0.004035378 + 1288100 0.0056452647 0.0019440692 0.0047225979 + 1288200 0.0047203594 0.0019212081 0.00424451 + 1288300 0.0045941649 0.0023984241 0.0046596147 + 1288400 0.0047405396 0.0023366171 0.0046698515 + 1288500 0.0045384661 0.0021841877 0.004417964 + 1288600 0.0060031591 0.0023569592 0.0053116391 + 1288700 0.0047789175 0.0029660367 0.0053181601 + 1288800 0.0043178709 0.003185107 0.0053103091 + 1288900 0.0050314079 0.0032613879 0.005737784 + 1289000 0.0054847054 0.0028880313 0.0055875347 + 1289100 0.0054373778 0.0024343929 0.0051106022 + 1289200 0.0066309269 0.0025081338 0.0057717931 + 1289300 0.0047413955 0.0029530894 0.005286745 + 1289400 0.0039863896 0.0027094705 0.0046715216 + 1289500 0.0049473488 0.0024372587 0.0048722819 + 1289600 0.0057462964 0.0018727182 0.0047009734 + 1289700 0.0057686372 0.0017207404 0.0045599915 + 1289800 0.0043557709 0.001792863 0.003936719 + 1289900 0.0041273681 0.0016964763 0.0037279152 + 1290000 0.0053144833 0.0017841723 0.0043998945 + 1290100 0.0047569819 0.0022076539 0.0045489809 + 1290200 0.0055750443 0.0020595431 0.0048035102 + 1290300 0.0048428391 0.0018932829 0.0042768678 + 1290400 0.0044331353 0.0016787648 0.0038606986 + 1290500 0.0048808868 0.0014937853 0.0038960968 + 1290600 0.004218793 0.0015453106 0.0036217478 + 1290700 0.0048549763 0.0015021431 0.0038917017 + 1290800 0.0045296508 0.0017409693 0.0039704068 + 1290900 0.0050890985 0.0015810193 0.0040858099 + 1291000 0.0049844279 0.0018739663 0.0043272394 + 1291100 0.0045762096 0.0018474655 0.0040998186 + 1291200 0.0049043243 0.0018668618 0.0042807089 + 1291300 0.0038826354 0.0018389436 0.0037499282 + 1291400 0.0057706323 0.0016375277 0.0044777608 + 1291500 0.0055352718 0.0018231913 0.0045475829 + 1291600 0.0052628768 0.0022690623 0.0048593845 + 1291700 0.005426893 0.0024836235 0.0051546724 + 1291800 0.0037051135 0.0026695893 0.0044931999 + 1291900 0.0048106329 0.0032962079 0.0056639413 + 1292000 0.0040176978 0.0030217171 0.0049991777 + 1292100 0.0058617714 0.0021905295 0.0050756201 + 1292200 0.0038408765 0.0021384439 0.0040288753 + 1292300 0.0042436494 0.0025698934 0.0046585646 + 1292400 0.0056897873 0.0023307487 0.0051311909 + 1292500 0.0047617294 0.0024239905 0.0047676542 + 1292600 0.0052942167 0.0022829183 0.0048886656 + 1292700 0.0060571419 0.0027024369 0.0056836865 + 1292800 0.0050420125 0.0028759907 0.0053576063 + 1292900 0.003509557 0.0031597494 0.0048871095 + 1293000 0.0057753709 0.0033348113 0.0061773766 + 1293100 0.0042397259 0.0032138135 0.0053005536 + 1293200 0.0046888985 0.0027153014 0.0050231186 + 1293300 0.0053824995 0.0019944201 0.0046436191 + 1293400 0.0057934476 0.0017772745 0.004628737 + 1293500 0.0047313211 0.001981136 0.0043098331 + 1293600 0.0051635629 0.0019478368 0.0044892779 + 1293700 0.0038353433 0.0020448066 0.0039325146 + 1293800 0.0061114688 0.0022537933 0.0052617819 + 1293900 0.0049067925 0.0019206236 0.0043356855 + 1294000 0.0046724442 0.0019507337 0.0042504523 + 1294100 0.0049783033 0.0022958007 0.0047460594 + 1294200 0.0040962167 0.0020994628 0.0041155695 + 1294300 0.004691515 0.0018898253 0.0041989303 + 1294400 0.0048528884 0.0018420012 0.0042305321 + 1294500 0.0034979404 0.0018019085 0.0035235511 + 1294600 0.0041904175 0.0020610464 0.0041235175 + 1294700 0.004244099 0.0024337126 0.0045226051 + 1294800 0.0047492492 0.0029036127 0.0052411338 + 1294900 0.0062505222 0.002429814 0.0055062429 + 1295000 0.0049284586 0.0023525051 0.0047782308 + 1295100 0.005095385 0.002337882 0.0048457668 + 1295200 0.0045085926 0.0028861564 0.0051052293 + 1295300 0.0056793709 0.0033316584 0.0061269738 + 1295400 0.0056727142 0.0032461854 0.0060382244 + 1295500 0.0056987782 0.0028868567 0.0056917241 + 1295600 0.0052952669 0.0023557641 0.0049620283 + 1295700 0.0047752035 0.0018555602 0.0042058556 + 1295800 0.0048329384 0.0018996702 0.0042783821 + 1295900 0.0052574655 0.0023346183 0.0049222771 + 1296000 0.0061336061 0.0026497217 0.005668606 + 1296100 0.0059500707 0.0029118799 0.0058404303 + 1296200 0.0041852224 0.0028314094 0.0048913236 + 1296300 0.0054145364 0.0024127528 0.00507772 + 1296400 0.0064876605 0.0023333435 0.0055264889 + 1296500 0.0052440376 0.0023652597 0.0049463094 + 1296600 0.0050537266 0.0019984823 0.0044858634 + 1296700 0.0057959064 0.0021612137 0.0050138864 + 1296800 0.0031366436 0.0028490475 0.0043928642 + 1296900 0.0051956778 0.0026188002 0.0051760479 + 1297000 0.0069192422 0.0020621756 0.0054677401 + 1297100 0.0051681657 0.0020721975 0.004615904 + 1297200 0.0047207752 0.0022187467 0.0045422533 + 1297300 0.0026050302 0.0018984188 0.0031805822 + 1297400 0.0041298001 0.0019502354 0.0039828714 + 1297500 0.0057421586 0.0020800908 0.0049063095 + 1297600 0.004727166 0.0022271596 0.0045538116 + 1297700 0.0035950726 0.002310093 0.0040795428 + 1297800 0.0040894731 0.0024801264 0.0044929139 + 1297900 0.0040173096 0.0022493922 0.0042266617 + 1298000 0.004732309 0.0021064006 0.004435584 + 1298100 0.0039909297 0.0027235952 0.0046878809 + 1298200 0.00404955 0.0025892348 0.0045823727 + 1298300 0.0053614151 0.0021615622 0.0048003837 + 1298400 0.0046184346 0.0019269352 0.004200071 + 1298500 0.0072085174 0.0020209514 0.0055688936 + 1298600 0.0039383709 0.0026037262 0.0045421431 + 1298700 0.0041980903 0.0025836938 0.0046499414 + 1298800 0.0065135536 0.0025115771 0.0057174667 + 1298900 0.0048173062 0.0023721827 0.0047432006 + 1299000 0.0065079036 0.0022319568 0.0054350656 + 1299100 0.006895437 0.0020281353 0.0054219832 + 1299200 0.0053169139 0.0024321923 0.0050491109 + 1299300 0.0046262719 0.0026900852 0.0049670784 + 1299400 0.004984608 0.0028113372 0.005264699 + 1299500 0.0053141054 0.0029227961 0.0055383324 + 1299600 0.0053004874 0.0024795352 0.0050883688 + 1299700 0.0045987718 0.0020239613 0.0042874193 + 1299800 0.0043145306 0.0025024767 0.0046260347 + 1299900 0.0041202946 0.0027228599 0.0047508174 + 1300000 0.0063318497 0.002383176 0.0054996333 + 1300100 0.0058924308 0.0025114608 0.0054116416 + 1300200 0.0047190394 0.0027996247 0.005122277 + 1300300 0.006119855 0.0024985709 0.0055106871 + 1300400 0.0049513388 0.0030684339 0.005505421 + 1300500 0.0035864566 0.0039749297 0.0057401388 + 1300600 0.0078897247 0.003159147 0.0070423708 + 1300700 0.0074980434 0.0023777395 0.0060681827 + 1300800 0.0049443405 0.0023728318 0.0048063744 + 1300900 0.0065631147 0.0023697549 0.0056000379 + 1301000 0.0068541253 0.0026724691 0.0060459839 + 1301100 0.0063326822 0.0029901544 0.0061070214 + 1301200 0.0044681542 0.0028569617 0.0050561313 + 1301300 0.0047778029 0.0029640798 0.0053156547 + 1301400 0.0055199611 0.0024961316 0.0052129874 + 1301500 0.0047857048 0.0025829155 0.0049383796 + 1301600 0.0052368839 0.0025823341 0.0051598629 + 1301700 0.0058375992 0.0025756704 0.0054488638 + 1301800 0.0045759399 0.0026315022 0.0048837226 + 1301900 0.0038729533 0.0028467091 0.0047529283 + 1302000 0.0047841826 0.002732407 0.0050871218 + 1302100 0.0054710205 0.002255795 0.0049485628 + 1302200 0.0055366333 0.0027258422 0.0054509039 + 1302300 0.0055797878 0.0033512831 0.0060975849 + 1302400 0.008012364 0.0028787189 0.0068223043 + 1302500 0.0047470227 0.0022700922 0.0046065174 + 1302600 0.0037328167 0.0018648912 0.0037021369 + 1302700 0.0046862858 0.0021769215 0.0044834528 + 1302800 0.0029581106 0.0025193922 0.0039753372 + 1302900 0.0039481834 0.0024326789 0.0043759253 + 1303000 0.0058570943 0.0022785114 0.0051613 + 1303100 0.0042446774 0.0026479492 0.0047371264 + 1303200 0.0060134081 0.0025963109 0.0055560352 + 1303300 0.0055307325 0.0024036497 0.0051258071 + 1303400 0.0055739678 0.0026690511 0.0054124884 + 1303500 0.0045533781 0.0026853452 0.004926461 + 1303600 0.0043397855 0.0025520173 0.0046880055 + 1303700 0.0048949281 0.0024918458 0.0049010683 + 1303800 0.0073805965 0.0025010398 0.0061336771 + 1303900 0.0041160847 0.0028930763 0.0049189618 + 1304000 0.0050564246 0.0023557194 0.0048444284 + 1304100 0.0055585864 0.0019823434 0.0047182101 + 1304200 0.0047442236 0.002081771 0.0044168185 + 1304300 0.0052379918 0.0021168174 0.0046948915 + 1304400 0.0032972055 0.0018660346 0.0034888779 + 1304500 0.0053540355 0.0017924938 0.0044276832 + 1304600 0.004160738 0.0026294566 0.0046773199 + 1304700 0.0036667952 0.0028224335 0.0046271842 + 1304800 0.0061833866 0.0026240191 0.0056674047 + 1304900 0.0041754701 0.0029445809 0.0049996951 + 1305000 0.0050113825 0.0031360568 0.0056025966 + 1305100 0.0054532853 0.0030513264 0.0057353653 + 1305200 0.0056638958 0.0027671768 0.0055548756 + 1305300 0.0066031207 0.0024026678 0.0056526413 + 1305400 0.0049350302 0.0025612308 0.004990191 + 1305500 0.0055379898 0.0026943295 0.0054200588 + 1305600 0.0054150835 0.0024006606 0.005065897 + 1305700 0.0060223613 0.0023234695 0.0052876004 + 1305800 0.0054136813 0.0025763155 0.0052408618 + 1305900 0.0058265019 0.0028968054 0.0057645368 + 1306000 0.0041709635 0.0026336032 0.0046864993 + 1306100 0.0052690259 0.002491682 0.0050850307 + 1306200 0.0052224147 0.0021281024 0.0046985096 + 1306300 0.0051334901 0.0021110008 0.0046376405 + 1306400 0.0037565609 0.0020199453 0.0038688776 + 1306500 0.0044588317 0.0017988904 0.0039934716 + 1306600 0.0050584299 0.001883929 0.0043736249 + 1306700 0.0052725285 0.0021647011 0.0047597738 + 1306800 0.0053388024 0.001959278 0.0045869699 + 1306900 0.0043045428 0.002072168 0.0041908102 + 1307000 0.0047974469 0.0023824403 0.0047436837 + 1307100 0.0047658452 0.0023996225 0.0047453119 + 1307200 0.0044477612 0.0018380783 0.0040272108 + 1307300 0.0044486747 0.0018294167 0.0040189988 + 1307400 0.0042020658 0.0017112162 0.0037794204 + 1307500 0.0045640352 0.0019226782 0.0041690392 + 1307600 0.0049743397 0.0019186721 0.0043669799 + 1307700 0.0045399014 0.001958924 0.0041934067 + 1307800 0.0059437523 0.0022159869 0.0051414274 + 1307900 0.0054231063 0.0023395783 0.0050087635 + 1308000 0.0059547942 0.0022445252 0.0051754005 + 1308100 0.0030864476 0.0022796335 0.0037987444 + 1308200 0.0054134391 0.0018593406 0.0045237676 + 1308300 0.0037585955 0.001975202 0.0038251357 + 1308400 0.004772209 0.0021247716 0.0044735932 + 1308500 0.0053156378 0.0027577425 0.005374033 + 1308600 0.0042825586 0.0031260446 0.0052338664 + 1308700 0.0072289601 0.0023626387 0.0059206425 + 1308800 0.0057848658 0.0021194363 0.004966675 + 1308900 0.0050592795 0.0022264552 0.0047165694 + 1309000 0.0047948371 0.001967209 0.0043271678 + 1309100 0.0050628652 0.0019598453 0.0044517243 + 1309200 0.0045653538 0.0022606621 0.0045076721 + 1309300 0.0034881047 0.0019703826 0.0036871841 + 1309400 0.0057416754 0.0013083198 0.0041343007 + 1309500 0.0062314421 0.0014450903 0.0045121282 + 1309600 0.0039869932 0.0022578662 0.0042202144 + 1309700 0.0045724231 0.0024042073 0.0046546968 + 1309800 0.0057962679 0.0021869695 0.0050398201 + 1309900 0.0047623068 0.002019708 0.0043636559 + 1310000 0.006010524 0.0020491106 0.0050074154 + 1310100 0.0063881855 0.0023587898 0.0055029748 + 1310200 0.0057403147 0.0027564242 0.0055817354 + 1310300 0.0041667314 0.0029802032 0.0050310163 + 1310400 0.0045074555 0.0029624944 0.0051810076 + 1310500 0.0049398482 0.0029647237 0.0053960552 + 1310600 0.0046007132 0.002475195 0.0047396085 + 1310700 0.004681337 0.0022003984 0.004504494 + 1310800 0.0035588329 0.0026823482 0.0044339612 + 1310900 0.0047674313 0.0026533775 0.0049998476 + 1311000 0.0047063185 0.0021736029 0.0044899941 + 1311100 0.0068675182 0.0021725165 0.0055526231 + 1311200 0.004714824 0.0025992398 0.0049198173 + 1311300 0.0043657608 0.0026720831 0.004820856 + 1311400 0.0053233531 0.0021414352 0.0047615231 + 1311500 0.0048528002 0.0023300311 0.0047185186 + 1311600 0.0048648359 0.0025019264 0.0048963379 + 1311700 0.0057355414 0.0028332134 0.0056561752 + 1311800 0.005761288 0.0031786825 0.0060143165 + 1311900 0.0054464151 0.0032021235 0.0058827809 + 1312000 0.0058257821 0.0025665599 0.005433937 + 1312100 0.0060107606 0.0029074531 0.0058658743 + 1312200 0.0058985501 0.0027837857 0.0056869784 + 1312300 0.0044218122 0.0029637148 0.0051400754 + 1312400 0.0060886097 0.0025520911 0.0055488287 + 1312500 0.0059123834 0.0023494089 0.0052594102 + 1312600 0.0044203703 0.002743389 0.00491904 + 1312700 0.0066212413 0.0026749252 0.0059338174 + 1312800 0.0043883943 0.0025376001 0.0046975129 + 1312900 0.0066471741 0.0022666217 0.0055382777 + 1313000 0.0049294896 0.0020452223 0.0044714555 + 1313100 0.0031926113 0.0021226432 0.0036940065 + 1313200 0.0081627269 0.0019084054 0.0059259976 + 1313300 0.0046723847 0.0016345553 0.0039342447 + 1313400 0.0054953076 0.0016279459 0.0043326676 + 1313500 0.0049167963 0.0016096459 0.0040296316 + 1313600 0.0034147962 0.002232161 0.003912881 + 1313700 0.0042865522 0.0020564636 0.004166251 + 1313800 0.0063754328 0.0019852318 0.0051231401 + 1313900 0.0053446121 0.0022451801 0.0048757314 + 1314000 0.0054806464 0.0026543182 0.0053518238 + 1314100 0.0037620547 0.002532458 0.0043840943 + 1314200 0.0055236325 0.0022861611 0.005004824 + 1314300 0.0044446622 0.0020671074 0.0042547146 + 1314400 0.0054415455 0.0018320524 0.0045103131 + 1314500 0.0044742128 0.0020821003 0.0042842519 + 1314600 0.0060765781 0.0022830349 0.0052738507 + 1314700 0.0048609746 0.002164675 0.0045571859 + 1314800 0.0050611193 0.001931775 0.0044227947 + 1314900 0.0031835563 0.0015990136 0.0031659202 + 1315000 0.0048448505 0.0016075714 0.0039921463 + 1315100 0.0045800033 0.0017796564 0.0040338768 + 1315200 0.0050566482 0.0015131318 0.0040019508 + 1315300 0.003121771 0.0017355511 0.0032720478 + 1315400 0.0049908046 0.0022625539 0.0047189655 + 1315500 0.0050345205 0.0023551663 0.0048330944 + 1315600 0.0047374689 0.0023769969 0.0047087199 + 1315700 0.0067175031 0.0019480283 0.0052542993 + 1315800 0.0050003592 0.0018314684 0.0042925827 + 1315900 0.006555917 0.0021866357 0.0054133761 + 1316000 0.0041628346 0.0027225212 0.0047714164 + 1316100 0.0045263055 0.002924497 0.005152288 + 1316200 0.0063396275 0.0027704946 0.00589078 + 1316300 0.0049334165 0.0025866266 0.0050147925 + 1316400 0.0053120144 0.0022826761 0.0048971832 + 1316500 0.0050207788 0.0020722717 0.0045434363 + 1316600 0.0055709462 0.0021418247 0.0048837748 + 1316700 0.004618274 0.0030081087 0.0052811655 + 1316800 0.0049970391 0.0030728058 0.005532286 + 1316900 0.0072853512 0.0024633598 0.0060491186 + 1317000 0.0043933221 0.0026119401 0.0047742783 + 1317100 0.0064698274 0.0022560107 0.0054403789 + 1317200 0.0038169296 0.0019576924 0.0038363375 + 1317300 0.0043120935 0.0017473908 0.0038697493 + 1317400 0.0043378312 0.0020248322 0.0041598585 + 1317500 0.0038572541 0.0022726373 0.0041711296 + 1317600 0.0041751471 0.0022350877 0.0042900429 + 1317700 0.0043202067 0.0021274519 0.0042538037 + 1317800 0.0059104057 0.0017443936 0.0046534214 + 1317900 0.0041221135 0.0015620515 0.0035909042 + 1318000 0.0038528002 0.0015433018 0.0034396019 + 1318100 0.0046837172 0.0016156081 0.0039208751 + 1318200 0.0052158081 0.0019080154 0.004475171 + 1318300 0.0043686683 0.001880018 0.004030222 + 1318400 0.0042554142 0.001944707 0.0040391687 + 1318500 0.0062269787 0.0018645643 0.0049294054 + 1318600 0.0062687 0.0020977331 0.0051831089 + 1318700 0.0062477071 0.0019755689 0.0050506122 + 1318800 0.0051285308 0.0024723491 0.0049965479 + 1318900 0.0048644966 0.002957521 0.0053517655 + 1319000 0.0043894324 0.0026339482 0.0047943719 + 1319100 0.0051644991 0.0022991922 0.004841094 + 1319200 0.0042128386 0.0019868967 0.0040604032 + 1319300 0.0042892487 0.0023964282 0.0045075429 + 1319400 0.0050401256 0.0026237441 0.0051044309 + 1319500 0.0056353201 0.0030609734 0.0058346075 + 1319600 0.0053338451 0.0038180637 0.0064433156 + 1319700 0.0061271665 0.0035417716 0.0065574863 + 1319800 0.0052866271 0.0031822504 0.0057842622 + 1319900 0.0051945639 0.0031091778 0.0056658772 + 1320000 0.0036354723 0.0031032225 0.0048925565 + 1320100 0.0059922101 0.0027224754 0.0056717663 + 1320200 0.0055425097 0.0025032817 0.0052312357 + 1320300 0.0053273268 0.0029668172 0.0055888609 + 1320400 0.0058744953 0.003197833 0.0060891861 + 1320500 0.0068309239 0.0028633521 0.0062254474 + 1320600 0.0043075886 0.0028819985 0.0050021398 + 1320700 0.0054108464 0.0024493972 0.0051125481 + 1320800 0.0056855522 0.0021711014 0.0049694591 + 1320900 0.0049077983 0.0024618536 0.0048774106 + 1321000 0.0050513098 0.0025980052 0.0050841967 + 1321100 0.0072981138 0.0027970905 0.0063891309 + 1321200 0.006663933 0.0022312708 0.0055111753 + 1321300 0.0051856161 0.0020460811 0.0045983766 + 1321400 0.0050452514 0.0021111615 0.0045943712 + 1321500 0.0046100615 0.0025294342 0.0047984488 + 1321600 0.006070899 0.0029265955 0.0059146161 + 1321700 0.0055473991 0.0028674822 0.0055978427 + 1321800 0.0075481008 0.0026368849 0.0063519657 + 1321900 0.0051309003 0.0032514508 0.0057768158 + 1322000 0.0081653066 0.0033505697 0.0073694316 + 1322100 0.0073334421 0.0027962711 0.0064056996 + 1322200 0.0041823714 0.0025300655 0.0045885765 + 1322300 0.005331712 0.0025994568 0.0052236588 + 1322400 0.0047718131 0.0026093121 0.0049579388 + 1322500 0.0048615916 0.0027934076 0.0051862223 + 1322600 0.0047245619 0.0026811396 0.0050065099 + 1322700 0.0049123381 0.0022657358 0.0046835272 + 1322800 0.00599223 0.0023381803 0.005287481 + 1322900 0.0052575185 0.0022575157 0.0048452006 + 1323000 0.0041925048 0.0020506911 0.0041141895 + 1323100 0.0039236439 0.0020415527 0.0039727211 + 1323200 0.0046909879 0.0019899959 0.0042988415 + 1323300 0.0056710861 0.0019381784 0.0047294161 + 1323400 0.0055745393 0.0022217745 0.004965493 + 1323500 0.0042807803 0.0025358963 0.0046428429 + 1323600 0.0039593358 0.0025527773 0.0045015129 + 1323700 0.0049697314 0.0025557685 0.0050018082 + 1323800 0.0046007031 0.0021142751 0.0043786837 + 1323900 0.0048612775 0.0019082628 0.0043009229 + 1324000 0.0057909608 0.0020334915 0.00488373 + 1324100 0.0062867379 0.0016358048 0.0047300586 + 1324200 0.0059660378 0.0018609988 0.004797408 + 1324300 0.0053545971 0.0022412025 0.0048766683 + 1324400 0.005059312 0.0023038485 0.0047939787 + 1324500 0.0043704429 0.0018531157 0.004004193 + 1324600 0.0040098116 0.0016902994 0.0036638785 + 1324700 0.0038288168 0.0018753497 0.0037598455 + 1324800 0.003634961 0.0023175369 0.0041066193 + 1324900 0.0036898777 0.0025320998 0.0043482115 + 1325000 0.0043241273 0.0023565374 0.0044848188 + 1325100 0.0049317178 0.0022734395 0.0047007693 + 1325200 0.0053162192 0.0022242533 0.0048408299 + 1325300 0.0055476208 0.0021152755 0.0048457452 + 1325400 0.003593686 0.0024150048 0.0041837721 + 1325500 0.0054378462 0.0022592048 0.0049356447 + 1325600 0.0065536227 0.0024994002 0.0057250114 + 1325700 0.0051601511 0.0023257224 0.0048654843 + 1325800 0.0051302228 0.0018518724 0.0043769039 + 1325900 0.0038699145 0.0020730197 0.0039777433 + 1326000 0.0050568901 0.0021423929 0.004631331 + 1326100 0.0049834618 0.0022408244 0.004693622 + 1326200 0.0039913258 0.0025861856 0.0045506663 + 1326300 0.0046295579 0.0021294106 0.0044080212 + 1326400 0.0050571824 0.0022061731 0.004695255 + 1326500 0.0041045925 0.0025970629 0.0046172921 + 1326600 0.0036795721 0.0028988748 0.0047099142 + 1326700 0.0036310784 0.0028073248 0.0045944962 + 1326800 0.0046110163 0.003243329 0.0055128136 + 1326900 0.0053736135 0.0033280973 0.0059729227 + 1327000 0.006116951 0.0033888801 0.0063995669 + 1327100 0.0055968367 0.0031568103 0.0059115034 + 1327200 0.0053334135 0.0032142692 0.0058393086 + 1327300 0.0038907116 0.0027329829 0.0046479425 + 1327400 0.005035743 0.0023316143 0.004810144 + 1327500 0.0051806815 0.002275878 0.0048257447 + 1327600 0.0048021868 0.0024414936 0.00480507 + 1327700 0.0057451109 0.0023501828 0.0051778546 + 1327800 0.0066435498 0.0022101027 0.0054799749 + 1327900 0.0042889838 0.002431948 0.0045429322 + 1328000 0.0041318662 0.002739031 0.0047726839 + 1328100 0.0080839781 0.0024701014 0.0064489344 + 1328200 0.004340025 0.0024494179 0.0045855239 + 1328300 0.005571553 0.0021016374 0.0048438862 + 1328400 0.0056852909 0.0023511077 0.0051493368 + 1328500 0.0044940153 0.0027860141 0.0049979122 + 1328600 0.0049238943 0.0026880061 0.0051114853 + 1328700 0.0041697256 0.00320047 0.0052527568 + 1328800 0.0046159989 0.003298046 0.0055699829 + 1328900 0.0024936561 0.002896332 0.0041236784 + 1329000 0.0045764717 0.0026403675 0.0048928496 + 1329100 0.005666672 0.0025095134 0.0052985786 + 1329200 0.0032736006 0.0027008984 0.0043121237 + 1329300 0.0044711177 0.002749349 0.0049499773 + 1329400 0.0052201992 0.0025947614 0.0051640782 + 1329500 0.0038943875 0.0025350925 0.0044518613 + 1329600 0.0049273528 0.0030029785 0.00542816 + 1329700 0.004170178 0.0029865062 0.0050390156 + 1329800 0.0048316617 0.0026719112 0.0050499947 + 1329900 0.005994336 0.0025215992 0.0054719364 + 1330000 0.005634686 0.0021991972 0.0049725192 + 1330100 0.0051535929 0.0021950222 0.0047315562 + 1330200 0.0041320697 0.0024517377 0.0044854907 + 1330300 0.0036614323 0.0024577361 0.0042598473 + 1330400 0.0048935853 0.0023500908 0.0047586523 + 1330500 0.0059952222 0.0024943092 0.0054450826 + 1330600 0.0046077683 0.0025550958 0.0048229818 + 1330700 0.0077625645 0.0026010177 0.0064216549 + 1330800 0.0051712081 0.0026230549 0.0051682589 + 1330900 0.004206721 0.0025753929 0.0046458884 + 1331000 0.0041955917 0.0027088907 0.0047739085 + 1331100 0.0046515083 0.0026022701 0.0048916844 + 1331200 0.0042688927 0.0027323654 0.004833461 + 1331300 0.0041266134 0.0029076859 0.0049387535 + 1331400 0.0053966186 0.0027796791 0.0054358273 + 1331500 0.0063188639 0.0024244064 0.0055344722 + 1331600 0.0047033434 0.0021718461 0.0044867729 + 1331700 0.0055746234 0.0021927332 0.0049364932 + 1331800 0.0051666193 0.0023701982 0.0049131436 + 1331900 0.005132011 0.0030923612 0.0056182729 + 1332000 0.004194713 0.0033502508 0.0054148361 + 1332100 0.0073531477 0.0030711859 0.0066903132 + 1332200 0.0060039477 0.0027666097 0.0057216777 + 1332300 0.0057952067 0.002719257 0.0055715853 + 1332400 0.0053484218 0.0027663985 0.0053988249 + 1332500 0.0068405678 0.0020850382 0.0054518802 + 1332600 0.0059786481 0.0019350833 0.0048776992 + 1332700 0.0060012222 0.002070284 0.0050240106 + 1332800 0.0044401403 0.0020546247 0.0042400062 + 1332900 0.0043389129 0.0022251648 0.0043607235 + 1333000 0.0057895692 0.0025565252 0.0054060788 + 1333100 0.0077065246 0.0026668306 0.0064598856 + 1333200 0.004930992 0.0029902563 0.005417229 + 1333300 0.0058446597 0.002726706 0.0056033745 + 1333400 0.0040019498 0.002781458 0.0047511677 + 1333500 0.0040081658 0.002625907 0.0045986761 + 1333600 0.0041485598 0.0026174851 0.0046593543 + 1333700 0.0058732874 0.0024478221 0.0053385808 + 1333800 0.0063626751 0.0022574262 0.0053890554 + 1333900 0.0055350904 0.0021114796 0.0048357819 + 1334000 0.0050497307 0.0026191756 0.0051045899 + 1334100 0.0051952617 0.0029758758 0.0055329187 + 1334200 0.0045465732 0.0030337241 0.0052714906 + 1334300 0.0046851797 0.0030513293 0.0053573162 + 1334400 0.0056387258 0.0027600579 0.0055353682 + 1334500 0.0046192477 0.002500339 0.004773875 + 1334600 0.00661801 0.0019942108 0.0052515125 + 1334700 0.0051871112 0.0026447844 0.0051978157 + 1334800 0.0054291948 0.0030497532 0.005721935 + 1334900 0.0043393084 0.0031671771 0.0053029305 + 1335000 0.0062092515 0.0028069572 0.0058630731 + 1335100 0.0058768444 0.0028152451 0.0057077544 + 1335200 0.0040368328 0.0028336874 0.0048205661 + 1335300 0.0063797454 0.002746821 0.005886852 + 1335400 0.0045712127 0.0030284788 0.0052783726 + 1335500 0.0038403251 0.0032400197 0.0051301797 + 1335600 0.0071077784 0.0028727039 0.0063710636 + 1335700 0.0048099518 0.0031127822 0.0054801803 + 1335800 0.0048838951 0.0033383409 0.005742133 + 1335900 0.0037513822 0.0026508781 0.0044972616 + 1336000 0.0041077627 0.0027594889 0.0047812783 + 1336100 0.0058204146 0.0035619603 0.0064266957 + 1336200 0.0053185961 0.0035882292 0.0062059757 + 1336300 0.0079743208 0.0033866001 0.0073114611 + 1336400 0.0054255868 0.0042452623 0.0069156683 + 1336500 0.0048787138 0.0044623244 0.0068635663 + 1336600 0.0043129635 0.0043634161 0.0064862029 + 1336700 0.0053430313 0.003899773 0.0065295462 + 1336800 0.0060226608 0.0032980439 0.0062623223 + 1336900 0.0070485694 0.0032966692 0.0067658869 + 1337000 0.0059972029 0.0023817954 0.0053335437 + 1337100 0.0057111381 0.0025360793 0.0053470301 + 1337200 0.0056306631 0.0034286623 0.0062000043 + 1337300 0.0074969404 0.0036383442 0.0073282446 + 1337400 0.0061731357 0.003217388 0.0062557282 + 1337500 0.0046330353 0.0029544196 0.0052347416 + 1337600 0.0058621957 0.0028039457 0.0056892452 + 1337700 0.0033712179 0.0027917321 0.0044510034 + 1337800 0.0051222183 0.0025578965 0.0050789883 + 1337900 0.006150864 0.0025886202 0.0056159986 + 1338000 0.0062904863 0.0025201486 0.0056162473 + 1338100 0.0090442156 0.0022704368 0.0067218866 + 1338200 0.0055219362 0.0027221274 0.0054399554 + 1338300 0.0044216323 0.0027554375 0.0049317096 + 1338400 0.0036170976 0.0024635778 0.0042438681 + 1338500 0.0054122108 0.0022287029 0.0048925255 + 1338600 0.0051408818 0.0018556385 0.0043859162 + 1338700 0.0062157671 0.0017829456 0.0048422685 + 1338800 0.0052733462 0.0020899404 0.0046854155 + 1338900 0.0040266085 0.0025472467 0.0045290931 + 1339000 0.0059769368 0.0025161414 0.0054579149 + 1339100 0.0064176357 0.0029140347 0.0060727148 + 1339200 0.0059952995 0.0030772987 0.0060281102 + 1339300 0.005510149 0.0031389529 0.0058509793 + 1339400 0.0062226767 0.0028701708 0.0059328945 + 1339500 0.0052721357 0.0027984569 0.0053933363 + 1339600 0.0064937151 0.0029543752 0.0061505006 + 1339700 0.0045414908 0.0024640072 0.0046992722 + 1339800 0.0057017861 0.0019411994 0.0047475472 + 1339900 0.0060653445 0.0026938939 0.0056791806 + 1340000 0.0060733913 0.0027951113 0.0057843586 + 1340100 0.0045991231 0.0022282446 0.0044918755 + 1340200 0.0058776858 0.0019026173 0.0047955408 + 1340300 0.0047311392 0.0017483915 0.0040769991 + 1340400 0.0048036326 0.0020358501 0.004400138 + 1340500 0.0060117414 0.0024049153 0.0053638193 + 1340600 0.0054463015 0.0025823892 0.0052629907 + 1340700 0.0049779703 0.0024763418 0.0049264366 + 1340800 0.0054919886 0.0027870233 0.0054901114 + 1340900 0.0043576847 0.0029130939 0.0050578919 + 1341000 0.0044825572 0.0029853123 0.005191571 + 1341100 0.004812787 0.0028205146 0.0051893083 + 1341200 0.0047120136 0.0035305025 0.0058496967 + 1341300 0.0046874408 0.0039690178 0.0062761176 + 1341400 0.0062361867 0.0041520563 0.0072214294 + 1341500 0.0053851253 0.0037644361 0.0064149275 + 1341600 0.0048433352 0.0034153259 0.0057991549 + 1341700 0.0062951354 0.0028126532 0.0059110402 + 1341800 0.0048438234 0.0028391529 0.0052232223 + 1341900 0.005753849 0.0031752305 0.006007203 + 1342000 0.0061179451 0.0029080192 0.0059191953 + 1342100 0.0034962727 0.0029368628 0.0046576845 + 1342200 0.0058502171 0.0026401364 0.0055195402 + 1342300 0.0064866752 0.0027425055 0.0059351659 + 1342400 0.0052087411 0.0025834393 0.0051471165 + 1342500 0.0049940199 0.0025171344 0.0049751286 + 1342600 0.004668018 0.0024558743 0.0047534144 + 1342700 0.0045189485 0.0024520217 0.0046761916 + 1342800 0.0051233226 0.0026228428 0.0051444781 + 1342900 0.0037468134 0.0030431627 0.0048872974 + 1343000 0.0059696663 0.0031614331 0.0060996283 + 1343100 0.0047878162 0.0032144616 0.0055709649 + 1343200 0.003748029 0.0033109103 0.0051556433 + 1343300 0.0042460427 0.0024980532 0.0045879024 + 1343400 0.0071586165 0.0023060272 0.0058294088 + 1343500 0.0054150368 0.0024142849 0.0050794984 + 1343600 0.0050525185 0.0020655618 0.0045523482 + 1343700 0.0036280325 0.0019928042 0.0037784764 + 1343800 0.0030708368 0.0020350864 0.0035465138 + 1343900 0.0056312438 0.0019941158 0.0047657436 + 1344000 0.0046013413 0.0024535005 0.0047182232 + 1344100 0.0044111254 0.0029581505 0.0051292513 + 1344200 0.0043114147 0.0030502024 0.0051722268 + 1344300 0.0047897279 0.002736236 0.0050936803 + 1344400 0.0046347873 0.0020429184 0.0043241028 + 1344500 0.0030899935 0.0020031706 0.0035240268 + 1344600 0.0045524167 0.002145954 0.0043865966 + 1344700 0.0055744055 0.0021592649 0.0049029176 + 1344800 0.0054264093 0.0026838488 0.0053546596 + 1344900 0.0043485031 0.0025354476 0.0046757265 + 1345000 0.0045794977 0.0023844479 0.0046384194 + 1345100 0.0053136504 0.0025082475 0.0051235598 + 1345200 0.0039413589 0.0026366487 0.0045765363 + 1345300 0.0052593533 0.0023455841 0.0049341721 + 1345400 0.0055447428 0.0017910846 0.0045201377 + 1345500 0.0046586533 0.0020962018 0.0043891327 + 1345600 0.0052934612 0.0026739222 0.0052792976 + 1345700 0.005405319 0.0028124209 0.0054728514 + 1345800 0.0045011632 0.0028842278 0.005099644 + 1345900 0.0039341866 0.0031378069 0.0050741643 + 1346000 0.0063389135 0.0025380989 0.0056580329 + 1346100 0.0049265084 0.0026473603 0.0050721262 + 1346200 0.006199529 0.0024838111 0.0055351417 + 1346300 0.0056512162 0.0025248709 0.0053063289 + 1346400 0.0035233342 0.0022480104 0.0039821514 + 1346500 0.0037405183 0.0019571467 0.003798183 + 1346600 0.004239601 0.0018713685 0.0039580472 + 1346700 0.0052613443 0.0020079701 0.0045975381 + 1346800 0.0068687575 0.0023641613 0.0057448779 + 1346900 0.0048423561 0.0026223662 0.0050057133 + 1347000 0.0041527469 0.0026040351 0.0046479652 + 1347100 0.0058195047 0.0022164907 0.0050807782 + 1347200 0.0052838005 0.0026694485 0.005270069 + 1347300 0.0053870977 0.0029657113 0.0056171734 + 1347400 0.0049156879 0.0027651035 0.0051845436 + 1347500 0.0060204226 0.0024759603 0.005439137 + 1347600 0.0060074505 0.0026284011 0.0055851931 + 1347700 0.0050182713 0.0024896555 0.0049595859 + 1347800 0.0055916167 0.002352011 0.0051041348 + 1347900 0.006572813 0.0024590334 0.0056940898 + 1348000 0.0056708211 0.0025097013 0.0053008085 + 1348100 0.0042530986 0.0022979118 0.0043912338 + 1348200 0.0028864114 0.0022777394 0.003698395 + 1348300 0.0042211773 0.0024194518 0.0044970625 + 1348400 0.0049976965 0.0022735815 0.0047333852 + 1348500 0.0051690487 0.0021795207 0.0047236618 + 1348600 0.005745913 0.0021596383 0.0049877049 + 1348700 0.0045772967 0.0025931426 0.0048460309 + 1348800 0.0047734237 0.002524238 0.0048736575 + 1348900 0.0057790179 0.0026104297 0.0054547901 + 1349000 0.0040291367 0.0028712989 0.0048543896 + 1349100 0.0055353725 0.003011239 0.0057356801 + 1349200 0.0035565093 0.0029028549 0.0046533243 + 1349300 0.0057598021 0.0024045361 0.0052394387 + 1349400 0.0045457273 0.0025915639 0.0048289141 + 1349500 0.0051984019 0.0026340478 0.0051926363 + 1349600 0.0063117772 0.0022005038 0.0053070816 + 1349700 0.0053675584 0.0020648774 0.0047067225 + 1349800 0.0064013234 0.0021678472 0.0053184986 + 1349900 0.0051652732 0.0025819533 0.0051242362 + 1350000 0.0061489672 0.0028685568 0.0058950016 + 1350100 0.0051945323 0.0029455158 0.0055021997 + 1350200 0.0063950707 0.0023318749 0.0054794487 + 1350300 0.0061334439 0.0022348893 0.0052536937 + 1350400 0.0047820017 0.0024147963 0.0047684377 + 1350500 0.0055520437 0.0023877299 0.0051203764 + 1350600 0.0054365525 0.0021674789 0.0048432821 + 1350700 0.0054262848 0.0020371929 0.0047079424 + 1350800 0.0036663641 0.0016138033 0.0034183419 + 1350900 0.0051550118 0.0015592237 0.004096456 + 1351000 0.0047444531 0.0021163606 0.0044515212 + 1351100 0.0047630752 0.0022207498 0.0045650759 + 1351200 0.0051396364 0.0024945558 0.0050242206 + 1351300 0.004223836 0.0025096511 0.0045885704 + 1351400 0.0044342209 0.0027247095 0.0049071776 + 1351500 0.0061294065 0.002579511 0.0055963282 + 1351600 0.0052921542 0.0027355767 0.0053403088 + 1351700 0.0061588383 0.0024930531 0.0055243564 + 1351800 0.0054294794 0.0025044012 0.0051767231 + 1351900 0.005222382 0.0027450371 0.0053154282 + 1352000 0.0058741779 0.0026341143 0.0055253113 + 1352100 0.006512934 0.0029059796 0.0061115643 + 1352200 0.0048053391 0.0028965504 0.0052616782 + 1352300 0.0056441611 0.002789877 0.0055678625 + 1352400 0.0046254687 0.0028678069 0.0051444048 + 1352500 0.0065434778 0.0029485829 0.0061692009 + 1352600 0.0047033512 0.0031293814 0.0054443121 + 1352700 0.0050283096 0.0032199787 0.0056948498 + 1352800 0.0043913492 0.0028294768 0.004990844 + 1352900 0.0043700659 0.0023937124 0.0045446042 + 1353000 0.0059012254 0.0024030148 0.0053075242 + 1353100 0.0070277264 0.0026494734 0.0061084325 + 1353200 0.0074233353 0.0031915629 0.0068452357 + 1353300 0.0064124848 0.0027680261 0.005924171 + 1353400 0.0071027239 0.0023876857 0.0058835576 + 1353500 0.0038552646 0.0025189983 0.0044165114 + 1353600 0.0055503716 0.0022744537 0.0050062773 + 1353700 0.004778845 0.0018819004 0.0042339882 + 1353800 0.0057824228 0.0019463579 0.0047923941 + 1353900 0.0047835506 0.0022958582 0.004650262 + 1354000 0.0054779744 0.0021111112 0.0048073017 + 1354100 0.0061425235 0.0025028274 0.0055261007 + 1354200 0.0051854215 0.0024342367 0.0049864363 + 1354300 0.0039274316 0.002535983 0.0044690157 + 1354400 0.0042692706 0.002371632 0.0044729136 + 1354500 0.0038360423 0.0021761755 0.0040642276 + 1354600 0.0039095084 0.0023657203 0.0042899315 + 1354700 0.005640079 0.0027085285 0.0054845048 + 1354800 0.0065654227 0.0023567947 0.0055882136 + 1354900 0.0047764848 0.0021899886 0.0045409147 + 1355000 0.0047514716 0.0021386772 0.0044772921 + 1355100 0.0059254953 0.0020006412 0.0049170959 + 1355200 0.0052485364 0.0020261954 0.0046094595 + 1355300 0.0037172656 0.0021765283 0.00400612 + 1355400 0.0041559155 0.0023544809 0.0043999706 + 1355500 0.007614316 0.0022218767 0.0059695479 + 1355600 0.0043285265 0.0020952705 0.0042257171 + 1355700 0.0060534546 0.002162354 0.0051417887 + 1355800 0.007003944 0.0026862317 0.0061334854 + 1355900 0.003382962 0.002598167 0.0042632186 + 1356000 0.0048292677 0.0027267651 0.0051036703 + 1356100 0.0075319393 0.002510707 0.0062178334 + 1356200 0.0042146369 0.0021920779 0.0042664695 + 1356300 0.0042826116 0.0022811095 0.0043889574 + 1356400 0.0039850137 0.0025090705 0.0044704444 + 1356500 0.0046626478 0.0021257785 0.0044206755 + 1356600 0.0049294599 0.0022641708 0.0046903894 + 1356700 0.0033946579 0.0027947723 0.0044655805 + 1356800 0.0040896769 0.0027440673 0.0047569552 + 1356900 0.0054707515 0.0023872108 0.0050798463 + 1357000 0.0046655946 0.0024757648 0.0047721121 + 1357100 0.0044920876 0.0022482339 0.0044591833 + 1357200 0.0049553418 0.002366729 0.0048056863 + 1357300 0.005430416 0.0026721541 0.0053449369 + 1357400 0.0039011414 0.002866198 0.004786291 + 1357500 0.0058819296 0.0024513283 0.0053463405 + 1357600 0.0040965182 0.0026845347 0.0047007897 + 1357700 0.0052188848 0.0024601741 0.0050288439 + 1357800 0.0062073246 0.0022481489 0.0053033165 + 1357900 0.0065512908 0.002711113 0.0059355765 + 1358000 0.0046814605 0.0028668985 0.0051710549 + 1358100 0.004979439 0.0025952819 0.0050460996 + 1358200 0.0041863042 0.0026328755 0.0046933221 + 1358300 0.004501508 0.0024852607 0.0047008467 + 1358400 0.0055387631 0.002404934 0.0051310439 + 1358500 0.0071217518 0.0019834913 0.0054887286 + 1358600 0.0067406243 0.0016264772 0.0049441282 + 1358700 0.0058251985 0.0021082062 0.0049752961 + 1358800 0.0054444216 0.0023034329 0.0049831091 + 1358900 0.0041516559 0.002207006 0.0042503991 + 1359000 0.0035025061 0.0022372591 0.0039611488 + 1359100 0.0048683872 0.0026926188 0.0050887781 + 1359200 0.0033508885 0.0022916454 0.0039409108 + 1359300 0.003684996 0.0018596605 0.0036733695 + 1359400 0.0051367803 0.001833884 0.004362143 + 1359500 0.0057700939 0.0023271078 0.0051670759 + 1359600 0.0038451497 0.0026079034 0.004500438 + 1359700 0.0049856781 0.0024218929 0.0048757814 + 1359800 0.0038083926 0.0026713731 0.0045458163 + 1359900 0.0053079165 0.0026585908 0.0052710809 + 1360000 0.0070424418 0.0028033016 0.0062695034 + 1360100 0.0070129166 0.0031687987 0.0066204686 + 1360200 0.0049512599 0.0033150781 0.0057520264 + 1360300 0.0057900455 0.002775088 0.005624876 + 1360400 0.0052846286 0.0027305871 0.0053316153 + 1360500 0.0054593557 0.0027302337 0.0054172604 + 1360600 0.0052779536 0.0029040683 0.0055018112 + 1360700 0.0056158583 0.0030390576 0.0058031129 + 1360800 0.006021119 0.002635504 0.0055990235 + 1360900 0.0060886518 0.0024344262 0.0054311845 + 1361000 0.0034433358 0.0027968794 0.0044916463 + 1361100 0.0052800544 0.0023468674 0.0049456442 + 1361200 0.0050996455 0.0024597342 0.004969716 + 1361300 0.0055134603 0.0022332651 0.0049469213 + 1361400 0.0060201774 0.0026436949 0.0056067509 + 1361500 0.0047837746 0.0031119594 0.0054664734 + 1361600 0.0049968706 0.0035871622 0.0060465595 + 1361700 0.0052847765 0.0036411671 0.0062422681 + 1361800 0.0047483277 0.0036035808 0.0059406483 + 1361900 0.0046022373 0.0032126376 0.0054778013 + 1362000 0.0053303556 0.0026575736 0.005281108 + 1362100 0.0044206563 0.0025572208 0.0047330125 + 1362200 0.0055513172 0.0028263117 0.0055586006 + 1362300 0.0049790228 0.0034409754 0.0058915882 + 1362400 0.0062354751 0.0032915892 0.0063606121 + 1362500 0.0052675234 0.0027958624 0.0053884715 + 1362600 0.0044285831 0.0027185281 0.0048982214 + 1362700 0.004273845 0.0025648183 0.0046683514 + 1362800 0.0037216327 0.0025191664 0.0043509075 + 1362900 0.0046843028 0.002941438 0.0052469933 + 1363000 0.0041896306 0.0025724117 0.0046344955 + 1363100 0.0047848653 0.0025250147 0.0048800656 + 1363200 0.0031452389 0.003150532 0.0046985793 + 1363300 0.0040066875 0.0031387705 0.005110812 + 1363400 0.0065905579 0.0025417543 0.0057855445 + 1363500 0.0062923443 0.00228471 0.0053817232 + 1363600 0.0049765582 0.0022733277 0.0047227274 + 1363700 0.0030730054 0.0028960576 0.0044085524 + 1363800 0.0043929667 0.0029771493 0.0051393126 + 1363900 0.0048725358 0.0026824766 0.0050806779 + 1364000 0.0038249288 0.0029814497 0.0048640319 + 1364100 0.0054574286 0.003020073 0.0057061512 + 1364200 0.0039298161 0.0029464596 0.0048806659 + 1364300 0.004536227 0.0030005574 0.0052332317 + 1364400 0.004816354 0.0027606315 0.0051311808 + 1364500 0.004803634 0.0024553638 0.0048196524 + 1364600 0.0039853997 0.0025906502 0.0045522141 + 1364700 0.0053842034 0.0026555195 0.0053055571 + 1364800 0.0043792255 0.0026089764 0.0047643765 + 1364900 0.0043202046 0.0022143949 0.0043407456 + 1365000 0.004448748 0.0023153769 0.004504995 + 1365100 0.0054760585 0.0020816887 0.0047769362 + 1365200 0.0044783685 0.002125354 0.004329551 + 1365300 0.0053731159 0.0024329133 0.0050774937 + 1365400 0.0060482012 0.0023122466 0.0052890956 + 1365500 0.0048616953 0.0026601918 0.0050530575 + 1365600 0.0050382639 0.0028262154 0.0053059859 + 1365700 0.0038354542 0.0029892576 0.0048770202 + 1365800 0.0053649235 0.0031520912 0.0057926394 + 1365900 0.0052164089 0.0034336542 0.0060011054 + 1366000 0.0038693933 0.0031653439 0.0050698109 + 1366100 0.0048232241 0.0027148007 0.0050887313 + 1366200 0.005991603 0.0025343347 0.0054833268 + 1366300 0.0053327477 0.002346802 0.0049715137 + 1366400 0.0059033656 0.0022157559 0.0051213187 + 1366500 0.0049315497 0.0021889845 0.0046162316 + 1366600 0.0059422025 0.0023771276 0.0053018054 + 1366700 0.0049347182 0.0021336645 0.0045624711 + 1366800 0.0059787853 0.0026492116 0.005591895 + 1366900 0.0040455472 0.0027909488 0.0047821166 + 1367000 0.0044107965 0.0026217779 0.0047927168 + 1367100 0.0050067021 0.0026992804 0.0051635165 + 1367200 0.0062367001 0.0021512005 0.0052208264 + 1367300 0.0053865002 0.0020431639 0.004694332 + 1367400 0.0061007328 0.0025602517 0.0055629561 + 1367500 0.0045700224 0.0029570155 0.0052063234 + 1367600 0.0044795846 0.0028327889 0.0050375845 + 1367700 0.0041458666 0.0026055042 0.0046460479 + 1367800 0.0045942513 0.0027318955 0.0049931285 + 1367900 0.004590477 0.0027579932 0.0050173686 + 1368000 0.00660291 0.0026223106 0.0058721804 + 1368100 0.0040591401 0.0023286265 0.0043264845 + 1368200 0.0057205248 0.0023171749 0.0051327457 + 1368300 0.0056575557 0.0024465994 0.0052311776 + 1368400 0.005405829 0.0026891818 0.0053498633 + 1368500 0.0038041054 0.0024733766 0.0043457098 + 1368600 0.0051527562 0.0025497919 0.0050859141 + 1368700 0.0043403407 0.0022796446 0.0044159061 + 1368800 0.0050239174 0.0018707422 0.0043434515 + 1368900 0.0041224383 0.0019787577 0.0040077703 + 1369000 0.0050095389 0.0019513113 0.0044169437 + 1369100 0.0040483261 0.0020941849 0.0040867205 + 1369200 0.0041680534 0.0021381952 0.004189659 + 1369300 0.0060371137 0.0017795273 0.0047509192 + 1369400 0.0048006131 0.0019823201 0.0043451218 + 1369500 0.0053456708 0.0022801428 0.0049112152 + 1369600 0.0047752185 0.0026026417 0.0049529446 + 1369700 0.0046759912 0.0027713409 0.0050728053 + 1369800 0.0065674778 0.0022577215 0.005490152 + 1369900 0.0051240338 0.0025134504 0.0050354358 + 1370000 0.0042779335 0.0027196276 0.004825173 + 1370100 0.0046008162 0.0027288754 0.0049933396 + 1370200 0.0037258743 0.0025655217 0.0043993505 + 1370300 0.0063847982 0.0022990335 0.0054415514 + 1370400 0.0062723432 0.0026387989 0.0057259678 + 1370500 0.0056679874 0.0024897478 0.0052794604 + 1370600 0.006007491 0.0024511697 0.0054079817 + 1370700 0.0053914519 0.0025546795 0.0052082847 + 1370800 0.005140136 0.0024776721 0.0050075828 + 1370900 0.0068324942 0.0025842952 0.0059471634 + 1371000 0.0044867656 0.0026935644 0.0049018943 + 1371100 0.0043471291 0.0028951221 0.0050347246 + 1371200 0.0044821242 0.0029385657 0.0051446112 + 1371300 0.0036421296 0.0030005054 0.0047931161 + 1371400 0.0050516135 0.0028168389 0.0053031799 + 1371500 0.0048613532 0.002799346 0.0051920433 + 1371600 0.0046638012 0.0027167168 0.0050121815 + 1371700 0.0035211509 0.0025288562 0.0042619227 + 1371800 0.0043718984 0.0022533588 0.0044051525 + 1371900 0.0057436387 0.0023710617 0.0051980089 + 1372000 0.0066918091 0.0023301956 0.0056238204 + 1372100 0.0055533972 0.00287002 0.0056033327 + 1372200 0.0044120588 0.0028955698 0.00506713 + 1372300 0.0036606528 0.00264503 0.0044467575 + 1372400 0.0068266652 0.0023074641 0.0056674633 + 1372500 0.0039932459 0.0021267422 0.0040921679 + 1372600 0.0050924226 0.001849234 0.0043556607 + 1372700 0.0041900582 0.0018830052 0.0039452994 + 1372800 0.0057581939 0.0017174227 0.0045515337 + 1372900 0.0056212734 0.0020544957 0.0048212162 + 1373000 0.0051362813 0.0024625721 0.0049905855 + 1373100 0.004420521 0.002843354 0.0050190791 + 1373200 0.006994455 0.0023119602 0.0057545435 + 1373300 0.0043804486 0.0021562964 0.0043122984 + 1373400 0.0055908842 0.0027180377 0.005469801 + 1373500 0.0055545001 0.0027004915 0.005434347 + 1373600 0.0049964643 0.0025042428 0.00496344 + 1373700 0.0059565605 0.0028292935 0.0057610381 + 1373800 0.0045191823 0.0030257553 0.0052500403 + 1373900 0.0048228188 0.0027483677 0.0051220988 + 1374000 0.0038692592 0.0026323156 0.0045367166 + 1374100 0.0053129432 0.0024874683 0.0051024325 + 1374200 0.0035090085 0.0025746049 0.0043016951 + 1374300 0.0048379138 0.0025242465 0.0049054072 + 1374400 0.0048351945 0.0022746343 0.0046544566 + 1374500 0.0041074203 0.0024100529 0.0044316738 + 1374600 0.0060503318 0.0024627725 0.0054406702 + 1374700 0.003720018 0.0026661522 0.0044970986 + 1374800 0.0051323403 0.0024995494 0.0050256232 + 1374900 0.0071069164 0.0023077314 0.0058056668 + 1375000 0.0064681669 0.0022733145 0.0054568654 + 1375100 0.005713488 0.0021367807 0.004948888 + 1375200 0.0043884823 0.0025265454 0.0046865016 + 1375300 0.0064791296 0.0024661429 0.0056550895 + 1375400 0.0032028826 0.0023610545 0.0039374733 + 1375500 0.0057308712 0.0019669554 0.0047876185 + 1375600 0.0060933872 0.0018502144 0.0048493034 + 1375700 0.0056707894 0.0020047714 0.004795863 + 1375800 0.0043556855 0.0021166618 0.0042604757 + 1375900 0.0047383094 0.0028115022 0.0051436389 + 1376000 0.003369995 0.003313391 0.0049720604 + 1376100 0.0043901263 0.0031818314 0.0053425967 + 1376200 0.0049552584 0.0027434664 0.0051823827 + 1376300 0.0055328561 0.0021543456 0.0048775483 + 1376400 0.0066840919 0.0020951682 0.0053849947 + 1376500 0.0049523805 0.0031931449 0.0056306447 + 1376600 0.0046269547 0.0031329523 0.0054102816 + 1376700 0.0047203308 0.0028021993 0.0051254871 + 1376800 0.0057598509 0.0028326267 0.0056675533 + 1376900 0.0059352636 0.0026557153 0.0055769779 + 1377000 0.0051117088 0.0027528145 0.0052687337 + 1377100 0.0047858397 0.0026368492 0.0049923796 + 1377200 0.0064076164 0.0022926805 0.0054464292 + 1377300 0.0061607345 0.0027053284 0.005737565 + 1377400 0.0042827741 0.0031675459 0.0052754738 + 1377500 0.0077493073 0.0027727932 0.0065869053 + 1377600 0.0054846595 0.0027228269 0.0054223077 + 1377700 0.0046581701 0.0025742096 0.0048669028 + 1377800 0.0048034992 0.002660924 0.0050251463 + 1377900 0.0054795036 0.0026411017 0.0053380449 + 1378000 0.0040536713 0.0025241149 0.0045192813 + 1378100 0.0042009423 0.0024901139 0.0045577652 + 1378200 0.004290137 0.0024493139 0.0045608657 + 1378300 0.0038522385 0.0025039501 0.0043999737 + 1378400 0.0056331318 0.002705141 0.005477698 + 1378500 0.0058776485 0.0029471347 0.0058400398 + 1378600 0.0052791536 0.0033260137 0.0059243471 + 1378700 0.0039045194 0.003624063 0.0055458186 + 1378800 0.0058561895 0.0031905142 0.0060728575 + 1378900 0.0053241845 0.0025723597 0.0051928568 + 1379000 0.0054487883 0.0023700146 0.0050518401 + 1379100 0.0049724266 0.0030305187 0.0054778849 + 1379200 0.0061134763 0.00347509 0.0064840666 + 1379300 0.0055127161 0.0034911912 0.0062044812 + 1379400 0.0063223653 0.0033225032 0.0064342924 + 1379500 0.0039045201 0.0036121194 0.0055338754 + 1379600 0.0046887391 0.0031285179 0.0054362567 + 1379700 0.0057605866 0.0030296451 0.0058649339 + 1379800 0.0043808195 0.0033532686 0.0055094532 + 1379900 0.0048643306 0.0031954903 0.005589653 + 1380000 0.0052066593 0.0027956075 0.0053582601 + 1380100 0.0059142902 0.002585564 0.0054965038 + 1380200 0.0057022018 0.0027301492 0.0055367017 + 1380300 0.0042643626 0.0026578184 0.0047566844 + 1380400 0.0043408676 0.0022711847 0.0044077054 + 1380500 0.0047938933 0.0022235653 0.0045830597 + 1380600 0.0048401908 0.0024125846 0.0047948661 + 1380700 0.0058005223 0.002367375 0.0052223196 + 1380800 0.0039217587 0.0029924713 0.0049227119 + 1380900 0.0043217222 0.0028836934 0.005010791 + 1381000 0.0040554117 0.0023582632 0.0043542862 + 1381100 0.0041104258 0.0027403491 0.0047634493 + 1381200 0.0044090813 0.0025880563 0.0047581509 + 1381300 0.0049424333 0.0024753729 0.0049079768 + 1381400 0.0071372836 0.002233558 0.0057464398 + 1381500 0.004864107 0.0021015708 0.0044956234 + 1381600 0.0043234647 0.0018926445 0.0040205998 + 1381700 0.0053246453 0.0019524166 0.0045731405 + 1381800 0.0037194739 0.0021037315 0.0039344101 + 1381900 0.0058521311 0.0025043552 0.005384701 + 1382000 0.0059877189 0.0031034795 0.0060505599 + 1382100 0.0039152219 0.0022544397 0.004181463 + 1382200 0.0057985071 0.0024927294 0.0053466821 + 1382300 0.0049599457 0.0024854875 0.0049267108 + 1382400 0.0046615641 0.0017695422 0.0040639058 + 1382500 0.0056258529 0.0016495668 0.0044185413 + 1382600 0.0027196945 0.0020409437 0.0033795433 + 1382700 0.0044635994 0.0025041931 0.0047011209 + 1382800 0.0047085053 0.0021446382 0.0044621057 + 1382900 0.0031565347 0.0020338222 0.0035874291 + 1383000 0.0048301801 0.0023537063 0.0047310605 + 1383100 0.0052687726 0.0023545489 0.004947773 + 1383200 0.0059326958 0.0023358331 0.0052558319 + 1383300 0.0053950166 0.0024843432 0.0051397029 + 1383400 0.0058808491 0.0029365362 0.0058310167 + 1383500 0.003498115 0.0030465674 0.0047682958 + 1383600 0.0059266946 0.0025574051 0.0054744501 + 1383700 0.0041248594 0.0024522053 0.0044824096 + 1383800 0.0044439165 0.0027815012 0.0049687413 + 1383900 0.0053774968 0.0030764356 0.0057231723 + 1384000 0.0049430654 0.0031114321 0.0055443471 + 1384100 0.0077421164 0.0019722222 0.0057827951 + 1384200 0.0041176808 0.0020922688 0.0041189398 + 1384300 0.0055643417 0.0026576903 0.0053963897 + 1384400 0.0062522007 0.0028146412 0.0058918963 + 1384500 0.0057189457 0.0031444818 0.0059592754 + 1384600 0.0045070919 0.002578521 0.0047968553 + 1384700 0.0043052618 0.0021955204 0.0043145165 + 1384800 0.0034509273 0.0024958848 0.0041943881 + 1384900 0.005964358 0.0020483185 0.0049839009 + 1385000 0.0052523753 0.0018066152 0.0043917687 + 1385100 0.0053182048 0.0017405603 0.0043581143 + 1385200 0.0045830918 0.0019227603 0.0041785008 + 1385300 0.0038263004 0.002445385 0.0043286422 + 1385400 0.0048999145 0.0025926065 0.0050042831 + 1385500 0.0050265515 0.0024456204 0.0049196263 + 1385600 0.0046592111 0.0023169782 0.0046101837 + 1385700 0.0048439557 0.0023436511 0.0047277856 + 1385800 0.0051102594 0.0023832948 0.0048985006 + 1385900 0.005097566 0.002197439 0.0047063972 + 1386000 0.0055034929 0.0023651223 0.0050738727 + 1386100 0.0053618765 0.0023556973 0.0049947459 + 1386200 0.0049401423 0.0027887962 0.0052202726 + 1386300 0.0060835687 0.0028214624 0.0058157189 + 1386400 0.0052298097 0.002420377 0.004994424 + 1386500 0.0046326105 0.0025011284 0.0047812414 + 1386600 0.0041846435 0.0025955924 0.0046552216 + 1386700 0.0053699307 0.0025923061 0.0052353189 + 1386800 0.0050752653 0.0023933673 0.0048913494 + 1386900 0.0038100606 0.0021799461 0.0040552103 + 1387000 0.0027825717 0.0023671291 0.0037366761 + 1387100 0.0056646214 0.0019065572 0.004694613 + 1387200 0.0058515892 0.0020952467 0.0049753258 + 1387300 0.0052014967 0.0026152078 0.0051753194 + 1387400 0.0054468701 0.002868124 0.0055490054 + 1387500 0.0049546438 0.0027840904 0.0052227041 + 1387600 0.0050834858 0.002735424 0.0052374521 + 1387700 0.005294044 0.0023068178 0.0049124801 + 1387800 0.0059292767 0.0021208877 0.0050392035 + 1387900 0.0049726888 0.0022517468 0.0046992421 + 1388000 0.0050748431 0.0023324416 0.0048302159 + 1388100 0.0061823804 0.0023433389 0.0053862293 + 1388200 0.0061800202 0.0022116259 0.0052533545 + 1388300 0.0060599155 0.0020563983 0.0050390129 + 1388400 0.0081273283 0.0019108661 0.0059110355 + 1388500 0.0048822166 0.0024273613 0.0048303272 + 1388600 0.0055914916 0.0018437407 0.004595803 + 1388700 0.0040400148 0.0016320931 0.0036205379 + 1388800 0.003315494 0.0016944327 0.0033262774 + 1388900 0.0056041126 0.0015154323 0.0042737065 + 1389000 0.0051634656 0.0020095043 0.0045508976 + 1389100 0.0077519268 0.0023886343 0.0062040358 + 1389200 0.0047421629 0.002795006 0.0051290393 + 1389300 0.0072830377 0.0025444038 0.0061290239 + 1389400 0.0039758082 0.0023370772 0.0042939204 + 1389500 0.0045014668 0.00209694 0.0043125057 + 1389600 0.0056653389 0.0017721951 0.0045606041 + 1389700 0.0038439194 0.0016812581 0.0035731871 + 1389800 0.0066542217 0.0019536286 0.0052287533 + 1389900 0.0057979307 0.0023518705 0.0052055396 + 1390000 0.0065244596 0.0026432895 0.0058545469 + 1390100 0.0062268979 0.0022803711 0.0053451724 + 1390200 0.0060332135 0.0014948514 0.0044643237 + 1390300 0.004638955 0.0018432881 0.0041265237 + 1390400 0.006000733 0.0019995923 0.004953078 + 1390500 0.0051978383 0.0025632791 0.0051215902 + 1390600 0.0068836604 0.0023081201 0.0056961717 + 1390700 0.0061642467 0.0023160299 0.0053499951 + 1390800 0.0035151043 0.0024808454 0.0042109358 + 1390900 0.0042163109 0.0018628074 0.0039380229 + 1391000 0.0041924498 0.0017926912 0.0038561626 + 1391100 0.004257087 0.001779405 0.00387469 + 1391200 0.0065678552 0.001806068 0.0050386842 + 1391300 0.0035077118 0.0020024134 0.0037288653 + 1391400 0.0049926938 0.0018832768 0.0043406183 + 1391500 0.0042934198 0.0020384009 0.0041515685 + 1391600 0.0044105593 0.00191361 0.0040844322 + 1391700 0.0056736827 0.0020034135 0.0047959292 + 1391800 0.0053283721 0.0027215393 0.0053440974 + 1391900 0.0058274844 0.0030893836 0.0059575985 + 1392000 0.0056948766 0.0024408455 0.0052437925 + 1392100 0.0040291659 0.0028067072 0.0047898123 + 1392200 0.0053320943 0.0027494571 0.0053738473 + 1392300 0.0042347176 0.0023535007 0.0044377758 + 1392400 0.0046434501 0.0023318117 0.0046172598 + 1392500 0.0041601812 0.0022528202 0.0043004094 + 1392600 0.0059326069 0.0020042193 0.0049241743 + 1392700 0.0045019796 0.0020520711 0.0042678892 + 1392800 0.0045287497 0.0020824205 0.0043114145 + 1392900 0.0051219935 0.0019224175 0.0044433987 + 1393000 0.0043681857 0.0018015013 0.0039514677 + 1393100 0.0040097755 0.0017928609 0.0037664223 + 1393200 0.0060186943 0.0021266753 0.0050890014 + 1393300 0.0059054561 0.0023682531 0.0052748448 + 1393400 0.0041007117 0.0024603225 0.0044786415 + 1393500 0.0042056147 0.0024775538 0.0045475048 + 1393600 0.0064406819 0.0019802619 0.005150285 + 1393700 0.0040469533 0.001863383 0.0038552428 + 1393800 0.0039331739 0.0022106732 0.0041465322 + 1393900 0.0042773763 0.0024608711 0.0045661422 + 1394000 0.004912718 0.0018365224 0.0042545008 + 1394100 0.0037398122 0.0020778426 0.0039185314 + 1394200 0.0067070249 0.0026440655 0.0059451793 + 1394300 0.0062294574 0.0033164969 0.006382558 + 1394400 0.0076921893 0.0026728947 0.0064588941 + 1394500 0.003772347 0.0028257467 0.0046824487 + 1394600 0.00492703 0.0024630736 0.0048880962 + 1394700 0.0045590646 0.0024214734 0.004665388 + 1394800 0.0052728396 0.0023403819 0.0049356076 + 1394900 0.0051183066 0.0024787588 0.0049979253 + 1395000 0.0063347727 0.0023964146 0.0055143105 + 1395100 0.0085961162 0.0030390948 0.0072699957 + 1395200 0.0039968919 0.0033541955 0.0053214157 + 1395300 0.0054313808 0.0030986174 0.0057718752 + 1395400 0.0048543786 0.0027312053 0.0051204698 + 1395500 0.0047898364 0.0025140637 0.0048715612 + 1395600 0.0044162468 0.0020544255 0.0042280469 + 1395700 0.0068440373 0.0019609388 0.0053294884 + 1395800 0.0047888273 0.0025359123 0.0048929132 + 1395900 0.0046368688 0.0029256514 0.0052078602 + 1396000 0.0050655448 0.0030031942 0.0054963921 + 1396100 0.0041816405 0.0027205875 0.0047787387 + 1396200 0.0057937274 0.0023066717 0.0051582719 + 1396300 0.0054536244 0.0025519768 0.0052361825 + 1396400 0.0055837431 0.0024065702 0.0051548187 + 1396500 0.0049677582 0.0020968158 0.0045418843 + 1396600 0.004950519 0.0018304169 0.0042670005 + 1396700 0.0047346309 0.0019387682 0.0042690944 + 1396800 0.0043763015 0.0022641564 0.0044181173 + 1396900 0.0055078836 0.0025413725 0.005252284 + 1397000 0.0046450959 0.0027456177 0.0050318758 + 1397100 0.0060479213 0.0023048863 0.0052815976 + 1397200 0.0051315156 0.0024582334 0.0049839012 + 1397300 0.0054124547 0.0026769481 0.0053408907 + 1397400 0.0070818639 0.0021288068 0.0056144117 + 1397500 0.0051144829 0.0019562111 0.0044734957 + 1397600 0.0043340122 0.0021336067 0.0042667533 + 1397700 0.0048913556 0.0025183865 0.0049258505 + 1397800 0.004269518 0.0028041077 0.0049055111 + 1397900 0.0058187686 0.0023056572 0.0051695823 + 1398000 0.0052958955 0.0024076944 0.005014268 + 1398100 0.0044953541 0.0022148202 0.0044273773 + 1398200 0.0045447813 0.001856671 0.0040935556 + 1398300 0.0046573162 0.001896079 0.0041883518 + 1398400 0.0056681065 0.0015856992 0.0043754703 + 1398500 0.0058260297 0.0017271741 0.0045946731 + 1398600 0.0048653889 0.0024889319 0.0048836155 + 1398700 0.0032867756 0.0029814438 0.0045991537 + 1398800 0.005091339 0.0027242378 0.0052301312 + 1398900 0.0063739917 0.0020979954 0.0052351945 + 1399000 0.0049657724 0.0018951759 0.004339267 + 1399100 0.0079280938 0.0022599653 0.006162074 + 1399200 0.0054413145 0.0023479982 0.0050261451 + 1399300 0.0053029798 0.0020527476 0.0046628079 + 1399400 0.0037127856 0.0022006595 0.0040280462 + 1399500 0.0043171438 0.0024632286 0.0045880728 + 1399600 0.0047700481 0.0021488597 0.0044966177 + 1399700 0.0044252691 0.0021624154 0.0043404775 + 1399800 0.004712566 0.0024338814 0.0047533475 + 1399900 0.0045630593 0.0024536113 0.004699492 + 1400000 0.0050441316 0.002293786 0.0047764445 + 1400100 0.005884545 0.002139929 0.0050362284 + 1400200 0.0067089218 0.002526209 0.0058282565 + 1400300 0.0048965769 0.0023295728 0.0047396068 + 1400400 0.0064632934 0.0021102491 0.0052914013 + 1400500 0.0044438541 0.0019925579 0.0041797673 + 1400600 0.0038355105 0.0022040582 0.0040918485 + 1400700 0.005609214 0.0020780174 0.0048388024 + 1400800 0.0064602544 0.0021037228 0.0052833793 + 1400900 0.0062014801 0.0020631208 0.0051154118 + 1401000 0.0046865264 0.0024384858 0.0047451355 + 1401100 0.0040522448 0.0023669264 0.0043613906 + 1401200 0.0055314211 0.0020897636 0.0048122599 + 1401300 0.0038952545 0.002252076 0.0041692715 + 1401400 0.0049680234 0.0025932578 0.0050384569 + 1401500 0.0057466972 0.0021908268 0.0050192793 + 1401600 0.0048899971 0.001850184 0.0042569795 + 1401700 0.0044039108 0.0020796495 0.0042471993 + 1401800 0.0052759102 0.0021623436 0.0047590807 + 1401900 0.0056641043 0.0017749996 0.0045628009 + 1402000 0.0048259031 0.0018187773 0.0041940265 + 1402100 0.0051795513 0.0019673175 0.0045166279 + 1402200 0.0062081206 0.0018107023 0.0048662616 + 1402300 0.0059204175 0.0015481878 0.0044621433 + 1402400 0.0070532029 0.0016620232 0.0051335215 + 1402500 0.0058339141 0.0021255055 0.0049968851 + 1402600 0.0049797504 0.0021236641 0.0045746351 + 1402700 0.0041325201 0.0022442035 0.0042781782 + 1402800 0.0042712305 0.0020672155 0.0041694617 + 1402900 0.00626073 0.0018812718 0.0049627249 + 1403000 0.0053949688 0.0018579026 0.0045132389 + 1403100 0.0041685215 0.0022632883 0.0043149824 + 1403200 0.0037772177 0.0021590866 0.0040181859 + 1403300 0.0073647119 0.0017244294 0.0053492486 + 1403400 0.0062529904 0.001633673 0.0047113167 + 1403500 0.0047434028 0.0015658685 0.0039005121 + 1403600 0.0048095962 0.0018481468 0.0042153699 + 1403700 0.0045989196 0.0022947951 0.0045583258 + 1403800 0.0053966194 0.0020036787 0.0046598273 + 1403900 0.0049214911 0.0015972635 0.0040195599 + 1404000 0.0058046167 0.0021863572 0.0050433169 + 1404100 0.0045043343 0.0026923424 0.0049093194 + 1404200 0.0042507413 0.0025661025 0.0046582643 + 1404300 0.0044336806 0.0021525653 0.0043347675 + 1404400 0.0058452471 0.0019173289 0.0047942865 + 1404500 0.0044938233 0.0019475828 0.0041593865 + 1404600 0.0052160013 0.0021173465 0.0046845971 + 1404700 0.0064727549 0.0019206939 0.0051065029 + 1404800 0.0040322651 0.0017340039 0.0037186344 + 1404900 0.005320893 0.0016277989 0.0042466759 + 1405000 0.0049636041 0.0013835698 0.0038265937 + 1405100 0.0048197926 0.0013452459 0.0037174876 + 1405200 0.0045605998 0.0018178601 0.0040625303 + 1405300 0.0047448721 0.0019539274 0.0042892942 + 1405400 0.0044662357 0.0019626794 0.0041609048 + 1405500 0.0058710166 0.0020015871 0.0048912281 + 1405600 0.0072834406 0.0020615868 0.0056464052 + 1405700 0.0054691081 0.0023628802 0.0050547068 + 1405800 0.0061126433 0.002127078 0.0051356446 + 1405900 0.0045216511 0.0017470681 0.0039725683 + 1406000 0.0049452294 0.0020164693 0.0044504494 + 1406100 0.0052583438 0.002646415 0.0052345061 + 1406200 0.0060117951 0.0021514577 0.005110388 + 1406300 0.0069862352 0.001600923 0.0050394606 + 1406400 0.0064211682 0.0021164317 0.0052768504 + 1406500 0.0041442684 0.0025158448 0.0045556018 + 1406600 0.0062461737 0.0023336452 0.0054079338 + 1406700 0.006370823 0.0018583335 0.004993973 + 1406800 0.0041218087 0.0018522121 0.0038809148 + 1406900 0.0032811107 0.0019560163 0.003570938 + 1407000 0.0048422263 0.0020684399 0.0044517231 + 1407100 0.0046762305 0.001767189 0.0040687712 + 1407200 0.0043096575 0.0017406311 0.0038617906 + 1407300 0.0033414758 0.0018336178 0.0034782504 + 1407400 0.0035297471 0.0017924997 0.0035297971 + 1407500 0.00551669 0.0017227697 0.0044380156 + 1407600 0.0050492352 0.0018212256 0.0043063961 + 1407700 0.0044198469 0.0017613497 0.0039367431 + 1407800 0.0048478069 0.0021409441 0.0045269741 + 1407900 0.0049858308 0.0021828756 0.0046368391 + 1408000 0.0059416311 0.0021784915 0.005102888 + 1408100 0.006304377 0.0022863817 0.0053893172 + 1408200 0.0049035958 0.0020689528 0.0044824414 + 1408300 0.0024817942 0.0026002882 0.0038217963 + 1408400 0.0042149928 0.0026229414 0.0046975081 + 1408500 0.0047464814 0.00251167 0.0048478288 + 1408600 0.0050719648 0.0024369902 0.0049333479 + 1408700 0.0068529715 0.002460844 0.0058337909 + 1408800 0.0040882124 0.0029439273 0.0049560944 + 1408900 0.0056456505 0.0027721407 0.0055508594 + 1409000 0.0061861696 0.00245789 0.0055026454 + 1409100 0.0059626585 0.0031786524 0.0061133984 + 1409200 0.0039518235 0.0030457018 0.0049907399 + 1409300 0.0056880065 0.0026150734 0.0054146391 + 1409400 0.0047162412 0.0026982089 0.0050194839 + 1409500 0.0075248413 0.0022082831 0.0059119159 + 1409600 0.0055070884 0.0021998962 0.0049104162 + 1409700 0.0055103928 0.0024378716 0.005150018 + 1409800 0.0057270973 0.0023099444 0.0051287501 + 1409900 0.004676644 0.0024124006 0.0047141863 + 1410000 0.0043602869 0.002624488 0.0047705667 + 1410100 0.0045999126 0.0022686924 0.0045327119 + 1410200 0.0055974244 0.0021259133 0.0048808956 + 1410300 0.0057667478 0.0024842892 0.0053226104 + 1410400 0.0046715711 0.0029920908 0.0052913797 + 1410500 0.0048448389 0.0029463715 0.0053309407 + 1410600 0.0054656439 0.0030657024 0.005755824 + 1410700 0.0049726984 0.0029410071 0.0053885071 + 1410800 0.0058018312 0.002787135 0.0056427238 + 1410900 0.0048483785 0.0025351841 0.0049214954 + 1411000 0.003972459 0.0026847541 0.0046399487 + 1411100 0.0065904265 0.0020437351 0.0052874606 + 1411200 0.0054339446 0.0020560422 0.0047305618 + 1411300 0.0055871438 0.0025332117 0.005283134 + 1411400 0.0048479229 0.0024596312 0.0048457183 + 1411500 0.0062420874 0.0018631743 0.0049354517 + 1411600 0.0051529465 0.0019177311 0.004453947 + 1411700 0.0041874656 0.0021472403 0.0042082585 + 1411800 0.0058248434 0.0023667335 0.0052336486 + 1411900 0.0048059491 0.0022596634 0.0046250915 + 1412000 0.0055370802 0.0022395777 0.0049648593 + 1412100 0.0057668035 0.0024354386 0.0052737872 + 1412200 0.0042536289 0.002943695 0.0050372779 + 1412300 0.0068905819 0.0027123855 0.0061038438 + 1412400 0.0063466928 0.002675755 0.0057995179 + 1412500 0.005289756 0.0023353579 0.0049389097 + 1412600 0.0051156946 0.0019511318 0.0044690127 + 1412700 0.0032339255 0.001983898 0.0035755957 + 1412800 0.006151708 0.0019942778 0.0050220715 + 1412900 0.0049400502 0.0019181631 0.004349594 + 1413000 0.0038480264 0.0020093782 0.0039033287 + 1413100 0.0041308533 0.0022864912 0.0043196455 + 1413200 0.0047160649 0.0024681572 0.0047893454 + 1413300 0.0047491359 0.0028660693 0.0052035346 + 1413400 0.0048899455 0.0029305739 0.0053373439 + 1413500 0.0049750938 0.0030247321 0.0054734111 + 1413600 0.0044119376 0.0029846335 0.0051561341 + 1413700 0.0045397391 0.0028850754 0.0051194782 + 1413800 0.0045330509 0.0027892603 0.0050203712 + 1413900 0.0059092656 0.0030510733 0.0059595399 + 1414000 0.0038343482 0.0034283198 0.005315538 + 1414100 0.0039727392 0.0032328562 0.0051881888 + 1414200 0.0058877676 0.0025957049 0.0054935905 + 1414300 0.0056516924 0.002884864 0.0056665564 + 1414400 0.0024034572 0.0032587213 0.0044416729 + 1414500 0.004080519 0.003035109 0.0050434895 + 1414600 0.0040575619 0.0029614199 0.0049585012 + 1414700 0.0049398755 0.0025281402 0.0049594852 + 1414800 0.0075758289 0.0018531298 0.005581858 + 1414900 0.00396713 0.0019682838 0.0039208556 + 1415000 0.0059201663 0.0024522685 0.0053661004 + 1415100 0.0049733052 0.0029931033 0.0054409019 + 1415200 0.0050491458 0.0028060701 0.0052911966 + 1415300 0.0065707012 0.0030711824 0.0063051994 + 1415400 0.003352944 0.0035074663 0.0051577434 + 1415500 0.0045806217 0.00274312 0.0049976448 + 1415600 0.0056798655 0.0020595189 0.0048550777 + 1415700 0.0046042666 0.002098173 0.0043643355 + 1415800 0.0035619644 0.0023239903 0.0040771447 + 1415900 0.0044145426 0.0021076908 0.0042804735 + 1416000 0.0053595814 0.0023009462 0.0049388652 + 1416100 0.0050806441 0.0027275913 0.0052282209 + 1416200 0.0056979698 0.0021357993 0.0049402688 + 1416300 0.0061872509 0.0018716818 0.0049169693 + 1416400 0.0051137964 0.0021402847 0.0046572314 + 1416500 0.0037018659 0.0022504401 0.0040724523 + 1416600 0.0044822439 0.0023139098 0.0045200142 + 1416700 0.0043803787 0.0020548641 0.0042108317 + 1416800 0.0044826212 0.0019739233 0.0041802134 + 1416900 0.0046207299 0.0020074893 0.0042817547 + 1417000 0.0039294667 0.0023141243 0.0042481587 + 1417100 0.0065451848 0.002157864 0.0053793222 + 1417200 0.005947878 0.0024429508 0.0053704221 + 1417300 0.0037575213 0.0033187838 0.0051681888 + 1417400 0.0057373323 0.0027288802 0.0055527234 + 1417500 0.0044995578 0.0023550337 0.0045696598 + 1417600 0.0045897823 0.002138835 0.0043978685 + 1417700 0.0055259583 0.0024355759 0.0051553835 + 1417800 0.0059815937 0.0026245834 0.0055686491 + 1417900 0.0063182268 0.0024548889 0.0055646412 + 1418000 0.0030992474 0.002694297 0.0042197078 + 1418100 0.0040815812 0.0029448435 0.0049537468 + 1418200 0.0043203521 0.0029740036 0.0051004268 + 1418300 0.0037188968 0.002562317 0.0043927116 + 1418400 0.0043957647 0.0025653629 0.0047289033 + 1418500 0.0064206371 0.0032936412 0.0064537985 + 1418600 0.0060074215 0.0033807126 0.0063374904 + 1418700 0.0032931458 0.0033714594 0.0049923046 + 1418800 0.0048915101 0.0026509672 0.0050585074 + 1418900 0.0047061966 0.0027184623 0.0050347935 + 1419000 0.0058009971 0.0033541081 0.0062092864 + 1419100 0.0059318588 0.0037992659 0.0067188526 + 1419200 0.0037720965 0.0036195795 0.0054761583 + 1419300 0.0045452305 0.0034947155 0.0057318212 + 1419400 0.0040872037 0.0028220499 0.0048337204 + 1419500 0.0051763184 0.0026132334 0.0051609526 + 1419600 0.0057723043 0.0026511485 0.0054922045 + 1419700 0.0053712436 0.0029634344 0.0056070933 + 1419800 0.003875883 0.0026958328 0.0046034939 + 1419900 0.0049101116 0.0026091423 0.0050258379 + 1420000 0.0046593643 0.0026570764 0.0049503573 + 1420100 0.0043938575 0.0027414192 0.0049040209 + 1420200 0.0051232387 0.0024231691 0.0049447631 + 1420300 0.0040824108 0.0022876674 0.004296979 + 1420400 0.0053195795 0.0023735423 0.0049917728 + 1420500 0.0050854893 0.002943533 0.0054465473 + 1420600 0.0059712993 0.0032117487 0.0061507476 + 1420700 0.0054116575 0.0028386029 0.0055021531 + 1420800 0.0057148673 0.002514515 0.0053273012 + 1420900 0.0053243183 0.002448204 0.0050687669 + 1421000 0.0046180013 0.0021215381 0.0043944606 + 1421100 0.0057133146 0.0016472621 0.0044592841 + 1421200 0.0048431267 0.0022168891 0.0046006155 + 1421300 0.0056165797 0.0025037692 0.0052681796 + 1421400 0.0051827921 0.0026469223 0.0051978278 + 1421500 0.0047183099 0.002586304 0.0049085971 + 1421600 0.005958832 0.0025452401 0.0054781027 + 1421700 0.0046246945 0.0025227735 0.0047989903 + 1421800 0.0037779473 0.0025287096 0.004388168 + 1421900 0.0043298828 0.0026032767 0.0047343909 + 1422000 0.0063606692 0.0023835416 0.0055141835 + 1422100 0.0048741326 0.0022394921 0.0046384793 + 1422200 0.0042804419 0.0022160233 0.0043228033 + 1422300 0.0049379216 0.0022764636 0.0047068469 + 1422400 0.0048834432 0.0021742013 0.0045777711 + 1422500 0.0057540192 0.0021860295 0.0050180858 + 1422600 0.0038040223 0.002625094 0.0044973862 + 1422700 0.0045870123 0.0024481714 0.0047058415 + 1422800 0.0037634991 0.0021753329 0.0040276801 + 1422900 0.0045659321 0.0018487676 0.0040960623 + 1423000 0.0041025657 0.0017801957 0.0037994273 + 1423100 0.0061653758 0.0017647278 0.0047992487 + 1423200 0.0046336171 0.0019368685 0.0042174769 + 1423300 0.0038136443 0.0021560201 0.0040330481 + 1423400 0.0056931864 0.0018369336 0.0046390488 + 1423500 0.0049613568 0.0023346021 0.0047765199 + 1423600 0.0044319331 0.0026202699 0.004801612 + 1423700 0.0044642519 0.0024679515 0.0046652004 + 1423800 0.0069624655 0.0019199625 0.0053468009 + 1423900 0.0042217524 0.0021698171 0.0042477108 + 1424000 0.0041997421 0.0022778342 0.0043448947 + 1424100 0.0041949004 0.0022304471 0.0042951247 + 1424200 0.0037193036 0.0020177833 0.003848378 + 1424300 0.004477307 0.0018853168 0.0040889914 + 1424400 0.0048135482 0.0019485257 0.004317694 + 1424500 0.0039760097 0.0021879688 0.004144911 + 1424600 0.0046306159 0.0019504621 0.0042295933 + 1424700 0.0041760633 0.0021163537 0.0041717599 + 1424800 0.0038341962 0.0021494171 0.0040365605 + 1424900 0.0060069134 0.0019118316 0.0048683593 + 1425000 0.0051222256 0.0021169997 0.0046380951 + 1425100 0.0042080918 0.0023442505 0.0044154207 + 1425200 0.0051451874 0.0021195976 0.0046519945 + 1425300 0.0046919685 0.0019849175 0.0042942458 + 1425400 0.0029448126 0.0021875881 0.003636988 + 1425500 0.0056150153 0.0021291168 0.0048927572 + 1425600 0.0057258393 0.0023859578 0.0052041443 + 1425700 0.0058540309 0.0026903369 0.0055716177 + 1425800 0.004607402 0.0026668309 0.0049345366 + 1425900 0.0048503463 0.0027673552 0.005154635 + 1426000 0.0051856149 0.0028928958 0.0054451906 + 1426100 0.0049212914 0.002458609 0.0048808071 + 1426200 0.0040150755 0.0023965958 0.0043727658 + 1426300 0.0055526007 0.0027746756 0.0055075963 + 1426400 0.0050941733 0.0029592341 0.0054665225 + 1426500 0.0055943274 0.0026924484 0.0054459064 + 1426600 0.0063167422 0.0032528438 0.0063618654 + 1426700 0.0058260444 0.0035007272 0.0063682334 + 1426800 0.0050706644 0.0032670129 0.0057627306 + 1426900 0.0056200015 0.0031391065 0.005905201 + 1427000 0.0042976223 0.0032810072 0.0053962432 + 1427100 0.0035026036 0.00285109 0.0045750276 + 1427200 0.0054204273 0.0024187151 0.0050865816 + 1427300 0.0067860862 0.0026632934 0.0060033202 + 1427400 0.0057488551 0.0034868608 0.0063163754 + 1427500 0.0037526345 0.0036570191 0.0055040189 + 1427600 0.0063865124 0.0030493785 0.0061927401 + 1427700 0.0045230296 0.0024286482 0.0046548268 + 1427800 0.0048550254 0.0023431677 0.0047327505 + 1427900 0.0068763801 0.00269326 0.0060777283 + 1428000 0.0039128282 0.0033556872 0.0052815323 + 1428100 0.0058812336 0.0031982827 0.0060929524 + 1428200 0.004862504 0.0029580364 0.0053513001 + 1428300 0.0039839097 0.0030305431 0.0049913737 + 1428400 0.005540365 0.0031940979 0.0059209963 + 1428500 0.0044665434 0.0031866693 0.0053850461 + 1428600 0.0039367857 0.0026192068 0.0045568435 + 1428700 0.0039081451 0.0023297897 0.0042533299 + 1428800 0.0038859173 0.0020671783 0.0039797782 + 1428900 0.004614208 0.0018966859 0.0041677414 + 1429000 0.0040791609 0.0019174472 0.0039251592 + 1429100 0.0049809311 0.0022253532 0.0046769053 + 1429200 0.0035392322 0.0023446258 0.0040865916 + 1429300 0.0044707735 0.0020387873 0.0042392461 + 1429400 0.0036306403 0.0018331621 0.0036201178 + 1429500 0.0045832229 0.0017889949 0.0040447999 + 1429600 0.0033719921 0.0017651013 0.0034247537 + 1429700 0.0044152319 0.0017670475 0.0039401695 + 1429800 0.0046767401 0.0020657831 0.0043676161 + 1429900 0.0046249504 0.0024544419 0.0047307847 + 1430000 0.0060512532 0.0029355448 0.005913896 + 1430100 0.0047008641 0.0032411461 0.0055548526 + 1430200 0.0053547302 0.0032773767 0.0059129079 + 1430300 0.005674024 0.0031556542 0.0059483379 + 1430400 0.0053671208 0.0033877724 0.0060294022 + 1430500 0.0048807142 0.0032189601 0.0056211866 + 1430600 0.0045737284 0.003034807 0.005285939 + 1430700 0.0063771833 0.0029526905 0.0060914604 + 1430800 0.0052296066 0.0031792514 0.0057531984 + 1430900 0.0046091446 0.0033850788 0.0056536422 + 1431000 0.0065393065 0.003344019 0.0065625839 + 1431100 0.004039168 0.0033444783 0.0053325063 + 1431200 0.0058758103 0.0031112909 0.0060032913 + 1431300 0.0052079777 0.0031130958 0.0056763974 + 1431400 0.0044750576 0.0030913061 0.0052938735 + 1431500 0.0049264866 0.0025112825 0.0049360376 + 1431600 0.0042592641 0.0024594311 0.0045557876 + 1431700 0.005180374 0.0026233222 0.0051730375 + 1431800 0.0074936313 0.002476675 0.0061649467 + 1431900 0.0066400435 0.0030618004 0.0063299468 + 1432000 0.0055772139 0.0029666252 0.0057116602 + 1432100 0.0058966112 0.0023887891 0.0052910274 + 1432200 0.0042749928 0.0018730972 0.0039771952 + 1432300 0.0049999818 0.0019223549 0.0043832834 + 1432400 0.0048250027 0.002295356 0.004670162 + 1432500 0.0060396365 0.0023457053 0.0053183389 + 1432600 0.0057324454 0.0022400664 0.0050615044 + 1432700 0.005363965 0.0026163955 0.005256472 + 1432800 0.0050075785 0.0026595463 0.0051242138 + 1432900 0.0042893362 0.0026875946 0.0047987523 + 1433000 0.0045611716 0.0026330418 0.0048779934 + 1433100 0.00465964 0.0027916005 0.0050850171 + 1433200 0.0061552467 0.0029171144 0.0059466499 + 1433300 0.0056094678 0.0026675907 0.0054285006 + 1433400 0.0053265269 0.0024159035 0.0050375535 + 1433500 0.0038590825 0.0024329433 0.0043323355 + 1433600 0.0044033454 0.0026159454 0.0047832169 + 1433700 0.0041468863 0.0026695755 0.0047106211 + 1433800 0.0041679617 0.0030237319 0.0050751505 + 1433900 0.0038013566 0.0031920962 0.0050630764 + 1434000 0.0048009919 0.0032215223 0.0055845105 + 1434100 0.0062220681 0.0031399342 0.0062023583 + 1434200 0.0047067417 0.0031472046 0.005463804 + 1434300 0.0077590008 0.002767342 0.0065862252 + 1434400 0.0049347294 0.0027083628 0.0051371749 + 1434500 0.0061143463 0.0027658535 0.0057752583 + 1434600 0.0041698266 0.0030096482 0.0050619847 + 1434700 0.0066896359 0.0025061234 0.0057986786 + 1434800 0.0054389684 0.0022756697 0.004952662 + 1434900 0.0044642156 0.0026164627 0.0048136938 + 1435000 0.0071203603 0.0024730972 0.0059776495 + 1435100 0.0051733797 0.0026072382 0.005153511 + 1435200 0.0041493519 0.0025274205 0.0045696796 + 1435300 0.0041278929 0.0024306965 0.0044623938 + 1435400 0.0072007584 0.0022959957 0.005840119 + 1435500 0.005853858 0.0025098361 0.0053910318 + 1435600 0.0042311078 0.0021256596 0.004208158 + 1435700 0.0053947507 0.0018976604 0.0045528892 + 1435800 0.0046587813 0.0022350255 0.0045280194 + 1435900 0.0051568135 0.0023879679 0.004926087 + 1436000 0.004689413 0.0024575838 0.0047656543 + 1436100 0.0064492499 0.0024726658 0.005646906 + 1436200 0.0056397554 0.002326034 0.0051018511 + 1436300 0.0045117135 0.0019313491 0.004151958 + 1436400 0.0051725826 0.00185188 0.0043977606 + 1436500 0.0051835086 0.0018276659 0.0043789241 + 1436600 0.0039485909 0.0018069561 0.0037504032 + 1436700 0.0066622717 0.0019004813 0.0051795682 + 1436800 0.0044471134 0.0024430301 0.0046318437 + 1436900 0.0063969341 0.0030047971 0.0061532881 + 1437000 0.0050722313 0.0032966995 0.0057931884 + 1437100 0.0058487644 0.0030681418 0.0059468305 + 1437200 0.0044010133 0.0027904207 0.0049565444 + 1437300 0.0052683285 0.0028661448 0.0054591503 + 1437400 0.0042825745 0.0031537971 0.0052616267 + 1437500 0.0053789821 0.0031724922 0.00581996 + 1437600 0.0037898966 0.0028121157 0.0046774554 + 1437700 0.0057249014 0.0026112139 0.0054289388 + 1437800 0.0043055358 0.0026869283 0.0048060593 + 1437900 0.0051372852 0.0025925853 0.0051210929 + 1438000 0.0062371876 0.0024895657 0.0055594314 + 1438100 0.0043429541 0.0028577695 0.0049953172 + 1438200 0.0050273593 0.0025634328 0.0050378362 + 1438300 0.0040876143 0.0024319938 0.0044438664 + 1438400 0.0053721147 0.0026425148 0.0052866025 + 1438500 0.0053019738 0.0026097358 0.005219301 + 1438600 0.0050182032 0.0027777995 0.0052476964 + 1438700 0.0052319622 0.0025874407 0.0051625471 + 1438800 0.004865052 0.002622406 0.0050169238 + 1438900 0.0045267218 0.002735087 0.0049630829 + 1439000 0.0036766682 0.0035072499 0.00531686 + 1439100 0.0037483544 0.0035607348 0.005405628 + 1439200 0.005057265 0.003383369 0.0058724916 + 1439300 0.0043238521 0.0029849554 0.0051131013 + 1439400 0.005447654 0.0024062295 0.0050874967 + 1439500 0.0042586719 0.0023278687 0.0044239338 + 1439600 0.0042839139 0.0025047442 0.004613233 + 1439700 0.0039699955 0.002836945 0.0047909271 + 1439800 0.0073573063 0.0020980224 0.0057191966 + 1439900 0.0057070566 0.0018489974 0.0046579393 + 1440000 0.0043169329 0.0022238596 0.0043486 + 1440100 0.005424819 0.0023264109 0.004996439 + 1440200 0.0077547356 0.0028212794 0.0066380633 + 1440300 0.0059920446 0.0033401334 0.0062893428 + 1440400 0.006210324 0.0036509719 0.0067076157 + 1440500 0.0069205094 0.0033510362 0.0067572244 + 1440600 0.004366601 0.0028025405 0.0049517269 + 1440700 0.003419389 0.0025554143 0.0042383948 + 1440800 0.0061205151 0.0024210308 0.0054334718 + 1440900 0.0033713355 0.0021514838 0.003810813 + 1441000 0.0060930342 0.0016456214 0.0046445367 + 1441100 0.0060782582 0.0014728375 0.0044644802 + 1441200 0.0038471131 0.0014511922 0.0033446932 + 1441300 0.0044028729 0.0018749659 0.004042005 + 1441400 0.0049957365 0.0018888735 0.0043477125 + 1441500 0.0046945114 0.0021143378 0.0044249176 + 1441600 0.0048686501 0.002873822 0.0052701107 + 1441700 0.0061461648 0.0024593988 0.0054844643 + 1441800 0.0054095989 0.0019481442 0.0046106811 + 1441900 0.0047732928 0.0018827268 0.0042320818 + 1442000 0.0043566391 0.0018049507 0.003949234 + 1442100 0.0049246192 0.0016849818 0.0041088178 + 1442200 0.0051331701 0.001510982 0.0040374642 + 1442300 0.0047237487 0.0022966642 0.0046216343 + 1442400 0.005205616 0.0023564314 0.0049185706 + 1442500 0.0033111438 0.0024028153 0.0040325188 + 1442600 0.0038076136 0.0024315412 0.004305601 + 1442700 0.0041834843 0.0022509457 0.0043100044 + 1442800 0.0033832594 0.0020936288 0.0037588268 + 1442900 0.0072466003 0.002616541 0.0061832271 + 1443000 0.0056678557 0.0026737095 0.0054633572 + 1443100 0.0056162833 0.0020415509 0.0048058154 + 1443200 0.0047003583 0.0018092275 0.0041226851 + 1443300 0.0054230227 0.0021907618 0.0048599058 + 1443400 0.0060076393 0.0025045069 0.0054613919 + 1443500 0.0057365619 0.00249493 0.0053183941 + 1443600 0.0057454022 0.0027271928 0.0055550079 + 1443700 0.0036891058 0.0029053171 0.0047210488 + 1443800 0.0052046652 0.0023740994 0.0049357706 + 1443900 0.0060853437 0.0018951579 0.004890288 + 1444000 0.0033746743 0.0021448017 0.0038057742 + 1444100 0.0045957475 0.0016251082 0.0038870776 + 1444200 0.0032711442 0.0016953905 0.0033054068 + 1444300 0.0048267611 0.0014518034 0.0038274749 + 1444400 0.0047041789 0.001455071 0.003770409 + 1444500 0.0033695726 0.0016990436 0.0033575052 + 1444600 0.0046304075 0.0020972522 0.0043762809 + 1444700 0.0047709036 0.002343727 0.0046919061 + 1444800 0.0061913282 0.002284743 0.0053320373 + 1444900 0.0038224879 0.002180168 0.0040615488 + 1445000 0.0041551203 0.0020946074 0.0041397057 + 1445100 0.0053307594 0.0019885424 0.0046122755 + 1445200 0.0062070668 0.0021543342 0.0052093749 + 1445300 0.0033452066 0.0022744384 0.0039209073 + 1445400 0.0040652002 0.002272147 0.0042729877 + 1445500 0.0049986389 0.0019508348 0.0044111024 + 1445600 0.0039451482 0.0020397607 0.0039815133 + 1445700 0.0046986102 0.0021330733 0.0044456705 + 1445800 0.0040063248 0.002022896 0.003994759 + 1445900 0.0051736492 0.0015726398 0.0041190453 + 1446000 0.0048487738 0.0015494474 0.0039359533 + 1446100 0.0054270883 0.0018074572 0.0044786023 + 1446200 0.0051941443 0.0019785764 0.0045350693 + 1446300 0.005240828 0.0021337001 0.0047131701 + 1446400 0.0043475722 0.0019946795 0.0041345002 + 1446500 0.0042253843 0.0021009192 0.0041806005 + 1446600 0.0040124958 0.0022467842 0.0042216844 + 1446700 0.0029282008 0.0023951028 0.0038363267 + 1446800 0.0037829749 0.00260343 0.004465363 + 1446900 0.0038237612 0.0027111854 0.0045931928 + 1447000 0.0052923386 0.0030299865 0.0056348094 + 1447100 0.0056314903 0.002601682 0.0053734312 + 1447200 0.0042386703 0.0022058389 0.0042920594 + 1447300 0.0059929731 0.0018260525 0.004775719 + 1447400 0.0056382379 0.0019062243 0.0046812946 + 1447500 0.0045954483 0.0017624888 0.004024311 + 1447600 0.0028827762 0.0020027431 0.0034216095 + 1447700 0.0058178612 0.0019664775 0.004829956 + 1447800 0.0042025449 0.0018736292 0.0039420693 + 1447900 0.0043853535 0.0019969059 0.0041553221 + 1448000 0.004923998 0.002436158 0.0048596883 + 1448100 0.0059679476 0.0024572882 0.0053946374 + 1448200 0.005562388 0.0033488044 0.0060865422 + 1448300 0.0075013533 0.0029034993 0.0065955716 + 1448400 0.00741849 0.0025502384 0.0062015265 + 1448500 0.0068307866 0.0024353392 0.005797367 + 1448600 0.0040839612 0.0030510415 0.0050611161 + 1448700 0.0047352284 0.003371044 0.0057016643 + 1448800 0.0061347559 0.0027022902 0.0057217403 + 1448900 0.0057856125 0.0021750061 0.0050226122 + 1449000 0.0056679569 0.0021770964 0.004966794 + 1449100 0.0058896196 0.0021826603 0.0050814575 + 1449200 0.0048985384 0.002330404 0.0047414034 + 1449300 0.0049679344 0.0022560267 0.0047011819 + 1449400 0.0055477203 0.0027234923 0.0054540109 + 1449500 0.0079004369 0.0027862263 0.0066747226 + 1449600 0.0054172067 0.0031762107 0.0058424921 + 1449700 0.005002464 0.0028379056 0.0053000559 + 1449800 0.0051160257 0.0028982981 0.005416342 + 1449900 0.0051227352 0.003004742 0.0055260882 + 1450000 0.0057287502 0.0025450802 0.0053646995 + 1450100 0.0056073162 0.0024995799 0.0052594308 + 1450200 0.0057836175 0.0024013992 0.0052480234 + 1450300 0.0067750006 0.0027628082 0.0060973789 + 1450400 0.0043972296 0.0027105035 0.0048747649 + 1450500 0.0054763071 0.0024891225 0.0051844924 + 1450600 0.0057178618 0.0022464556 0.0050607157 + 1450700 0.0061579281 0.0024982733 0.0055291285 + 1450800 0.0045390397 0.0028799091 0.0051139677 + 1450900 0.0051685032 0.0024463529 0.0049902255 + 1451000 0.0044305376 0.0022938701 0.0044745253 + 1451100 0.0047133739 0.0021006966 0.0044205603 + 1451200 0.0057235908 0.0018461718 0.0046632517 + 1451300 0.006004086 0.0021519183 0.0051070544 + 1451400 0.0040322374 0.002756033 0.0047406498 + 1451500 0.0043728001 0.0027247223 0.0048769598 + 1451600 0.0055212588 0.002258472 0.0049759665 + 1451700 0.0066730515 0.0020929581 0.0053773506 + 1451800 0.0031665051 0.0022776347 0.003836149 + 1451900 0.003784522 0.0018660426 0.003728737 + 1452000 0.0033821802 0.0017906676 0.0034553344 + 1452100 0.006757293 0.0022897792 0.0056156344 + 1452200 0.0048573513 0.0026142077 0.0050049353 + 1452300 0.00430802 0.0025490515 0.0046694051 + 1452400 0.0039294661 0.0021559485 0.0040899826 + 1452500 0.0038969615 0.0017022484 0.0036202841 + 1452600 0.004590687 0.0018409684 0.0041004471 + 1452700 0.0051159474 0.0020458798 0.0045638852 + 1452800 0.0049528227 0.0026631002 0.0051008176 + 1452900 0.0047330997 0.0027702829 0.0050998554 + 1453000 0.0063737402 0.0023140752 0.0054511505 + 1453100 0.0047500343 0.0024479873 0.0047858948 + 1453200 0.0045168395 0.0027721472 0.0049952791 + 1453300 0.0042891789 0.0029214883 0.0050325685 + 1453400 0.0057065644 0.0027375142 0.0055462138 + 1453500 0.0038001202 0.0027552502 0.0046256218 + 1453600 0.0058150295 0.0026504164 0.0055125013 + 1453700 0.0055896222 0.0022478202 0.0049989624 + 1453800 0.0036936041 0.0024832638 0.0043012096 + 1453900 0.005369649 0.0025091606 0.0051520347 + 1454000 0.0044864475 0.0024324321 0.0046406055 + 1454100 0.0063129997 0.0021847129 0.0052918924 + 1454200 0.0037074548 0.0021045029 0.0039292658 + 1454300 0.0043195772 0.0023780094 0.0045040513 + 1454400 0.0046585735 0.0031234365 0.0054163281 + 1454500 0.0059755822 0.0025557227 0.0054968295 + 1454600 0.0058701787 0.0021950335 0.0050842621 + 1454700 0.0054183465 0.0023235048 0.0049903472 + 1454800 0.0042733961 0.0025290183 0.0046323304 + 1454900 0.0052068067 0.0024189489 0.0049816741 + 1455000 0.0045823865 0.002526235 0.0047816284 + 1455100 0.0039746281 0.0021867448 0.004143007 + 1455200 0.0043305595 0.0021487817 0.0042802289 + 1455300 0.0051120048 0.0020130464 0.0045291112 + 1455400 0.004177744 0.0019791264 0.0040353598 + 1455500 0.0053220478 0.0022573257 0.0048767712 + 1455600 0.0048477936 0.0025940657 0.0049800891 + 1455700 0.0055753043 0.0024142587 0.0051583537 + 1455800 0.0050433735 0.0026035325 0.0050858178 + 1455900 0.005470185 0.0023727319 0.0050650886 + 1456000 0.0040940075 0.0021411249 0.0041561442 + 1456100 0.0052399543 0.0025715758 0.0051506158 + 1456200 0.0042775702 0.0028511985 0.0049565651 + 1456300 0.0067405309 0.0025485822 0.0058661872 + 1456400 0.0048037026 0.002187046 0.0045513683 + 1456500 0.0044465658 0.0018457881 0.0040343322 + 1456600 0.0052870243 0.0021567241 0.0047589314 + 1456700 0.0042506386 0.0025892883 0.0046813995 + 1456800 0.0032239448 0.0026797197 0.0042665051 + 1456900 0.0066837645 0.0025508937 0.0058405591 + 1457000 0.0049765339 0.0023108589 0.0047602467 + 1457100 0.0052639881 0.0020040843 0.0045949535 + 1457200 0.004533619 0.0018602956 0.0040916862 + 1457300 0.0036115982 0.0019603396 0.0037379231 + 1457400 0.0039622841 0.0021887416 0.0041389283 + 1457500 0.003628022 0.0020672615 0.0038529285 + 1457600 0.0041987843 0.0019779216 0.0040445107 + 1457700 0.0064684783 0.0020336792 0.0052173833 + 1457800 0.0055919081 0.0027547662 0.0055070335 + 1457900 0.0040480185 0.0026999851 0.0046923692 + 1458000 0.0049271598 0.0022785609 0.0047036474 + 1458100 0.004411403 0.0023597613 0.0045309987 + 1458200 0.0042684819 0.0022268958 0.0043277892 + 1458300 0.0044130884 0.0021596972 0.0043317641 + 1458400 0.0039889629 0.0020908569 0.0040541746 + 1458500 0.0057810361 0.0021389487 0.0049843025 + 1458600 0.0067682536 0.0024884909 0.0058197407 + 1458700 0.0052194691 0.0027670519 0.0053360094 + 1458800 0.0057028913 0.0028593874 0.0056662792 + 1458900 0.0042364424 0.0028407231 0.0049258472 + 1459000 0.0050717595 0.003081125 0.0055773817 + 1459100 0.0059575122 0.0032758295 0.0062080425 + 1459200 0.0063490171 0.00335972 0.0064846268 + 1459300 0.0048450028 0.0034255311 0.0058101809 + 1459400 0.006431161 0.0031247824 0.0062901195 + 1459500 0.0065274619 0.0024631518 0.0056758869 + 1459600 0.0054235214 0.002268305 0.0049376944 + 1459700 0.0066661359 0.0024164514 0.0056974402 + 1459800 0.0055828744 0.0029385904 0.0056864114 + 1459900 0.0057898606 0.002960113 0.00580981 + 1460000 0.0040429684 0.0031424571 0.0051323556 + 1460100 0.0053984364 0.002911853 0.0055688959 + 1460200 0.0048510764 0.0034719082 0.0058595474 + 1460300 0.0055578698 0.003237171 0.0059726851 + 1460400 0.0057300397 0.0026785547 0.0054988087 + 1460500 0.0043904262 0.0023793642 0.0045402771 + 1460600 0.0055959248 0.0022681705 0.0050224147 + 1460700 0.0062984814 0.0026292347 0.0057292685 + 1460800 0.0055824753 0.0026330777 0.0053807023 + 1460900 0.0047477963 0.002217434 0.00455424 + 1461000 0.0046012085 0.0022280726 0.00449273 + 1461100 0.0054480127 0.0024424 0.0051238438 + 1461200 0.0052206685 0.0028659688 0.0054355166 + 1461300 0.0052527756 0.0024147268 0.0050000773 + 1461400 0.0072866321 0.0020829109 0.0056693002 + 1461500 0.0050582989 0.0024242565 0.004913888 + 1461600 0.0047584564 0.0023354111 0.0046774638 + 1461700 0.0076589149 0.0022571312 0.0060267534 + 1461800 0.0067435548 0.0018879362 0.0052070295 + 1461900 0.0051466183 0.0023318232 0.0048649244 + 1462000 0.0036180322 0.0025931276 0.0043738778 + 1462100 0.0041584662 0.0021369045 0.0041836496 + 1462200 0.0062149343 0.002137702 0.005196615 + 1462300 0.003977728 0.0029530984 0.0049108864 + 1462400 0.0065095274 0.0027551624 0.0059590704 + 1462500 0.0062027956 0.0023767697 0.0054297081 + 1462600 0.0045769702 0.0026008842 0.0048536117 + 1462700 0.0052513074 0.0025039544 0.0050885823 + 1462800 0.0066536642 0.0019483993 0.0052232497 + 1462900 0.005776343 0.0020865772 0.004929621 + 1463000 0.0036490773 0.0022883712 0.0040844014 + 1463100 0.0058244427 0.0022447865 0.0051115044 + 1463200 0.0049889112 0.0023059539 0.0047614336 + 1463300 0.0045998231 0.0023042272 0.0045682026 + 1463400 0.0049815666 0.0018444765 0.0042963413 + 1463500 0.0055929434 0.0022918485 0.0050446254 + 1463600 0.0049432748 0.0025023304 0.0049353485 + 1463700 0.003424031 0.0023527265 0.0040379918 + 1463800 0.0045431041 0.002447584 0.0046836431 + 1463900 0.0048955886 0.0023734147 0.0047829622 + 1464000 0.0066348236 0.002060525 0.0053261022 + 1464100 0.0057107225 0.0023333381 0.0051440844 + 1464200 0.0055438538 0.0026334714 0.0053620869 + 1464300 0.0061978063 0.0022721314 0.0053226142 + 1464400 0.005690344 0.0024404756 0.0052411918 + 1464500 0.0060017244 0.0027629292 0.005716903 + 1464600 0.0050996835 0.0028358017 0.0053458021 + 1464700 0.0068572701 0.0027675129 0.0061425755 + 1464800 0.0050784274 0.0034150994 0.0059146379 + 1464900 0.00480379 0.003686251 0.0060506164 + 1465000 0.0060346086 0.0031148032 0.0060849621 + 1465100 0.0057877135 0.0023019812 0.0051506214 + 1465200 0.0047170825 0.0023329417 0.0046546307 + 1465300 0.0042120459 0.0023207367 0.004393853 + 1465400 0.0047381237 0.0021609611 0.0044930063 + 1465500 0.0047560804 0.0023159773 0.0046568606 + 1465600 0.0070705082 0.0020260567 0.0055060724 + 1465700 0.0047406443 0.0024266878 0.0047599737 + 1465800 0.0054114649 0.0023368911 0.0050003465 + 1465900 0.0044373747 0.0021945591 0.0043785795 + 1466000 0.0044150512 0.0024043259 0.0045773589 + 1466100 0.0049416282 0.0025720422 0.0050042498 + 1466200 0.0051049888 0.0022625869 0.0047751986 + 1466300 0.0045339219 0.0024677109 0.0046992506 + 1466400 0.004114492 0.002246497 0.0042715985 + 1466500 0.0071668824 0.0017953977 0.0053228477 + 1466600 0.0049167774 0.0022771426 0.004697119 + 1466700 0.0052092216 0.0021438916 0.0047078053 + 1466800 0.0044954395 0.0024071387 0.0046197379 + 1466900 0.0050708051 0.0023547693 0.0048505562 + 1467000 0.0052134645 0.0026376577 0.0052036597 + 1467100 0.004587448 0.002622622 0.0048805066 + 1467200 0.0064027846 0.0021179006 0.0052692711 + 1467300 0.0063330238 0.0018152113 0.0049322465 + 1467400 0.0046208364 0.0022465397 0.0045208576 + 1467500 0.004333651 0.002667768 0.0048007369 + 1467600 0.0061702818 0.0026351145 0.00567205 + 1467700 0.0065303527 0.0024746949 0.0056888529 + 1467800 0.0042485407 0.0026341985 0.0047252772 + 1467900 0.004694991 0.0026103457 0.0049211616 + 1468000 0.0052837688 0.0022527529 0.0048533579 + 1468100 0.0056016699 0.0024369382 0.0051940101 + 1468200 0.0062133675 0.0019404347 0.0049985766 + 1468300 0.00601011 0.0016561732 0.0046142743 + 1468400 0.0047013064 0.0018050459 0.0041189702 + 1468500 0.0056601348 0.0020547939 0.0048406415 + 1468600 0.0044467185 0.0021549376 0.0043435568 + 1468700 0.0041179744 0.0018986262 0.0039254418 + 1468800 0.0043878715 0.0015282776 0.0036879331 + 1468900 0.0051371501 0.0015488467 0.0040772878 + 1469000 0.0049479192 0.0023444453 0.0047797492 + 1469100 0.0054398595 0.0027022634 0.0053796943 + 1469200 0.0056765977 0.0020330578 0.0048270082 + 1469300 0.0050707162 0.0016686052 0.0041643484 + 1469400 0.0069028637 0.0020304272 0.0054279304 + 1469500 0.004890926 0.0022983424 0.0047055951 + 1469600 0.0056510005 0.0021684306 0.0049497824 + 1469700 0.0046332447 0.002512428 0.0047928532 + 1469800 0.0052006364 0.0028424492 0.0054021374 + 1469900 0.0055142704 0.0029572797 0.0056713346 + 1470000 0.0055273568 0.0024273814 0.0051478773 + 1470100 0.0048683878 0.0024629137 0.0048590733 + 1470200 0.0069393672 0.0026128819 0.0060283518 + 1470300 0.0053999965 0.0026718679 0.0053296787 + 1470400 0.0067236716 0.0022527171 0.0055620242 + 1470500 0.0047192917 0.0022250513 0.0045478277 + 1470600 0.0060719696 0.002539689 0.0055282365 + 1470700 0.0057277748 0.0023767538 0.0051958929 + 1470800 0.0056209507 0.0022084025 0.0049749642 + 1470900 0.0056186702 0.0023145028 0.005079942 + 1471000 0.0063817253 0.0023437256 0.0054847311 + 1471100 0.0053445351 0.0020555339 0.0046860473 + 1471200 0.0043327826 0.0022779233 0.0044104648 + 1471300 0.0043414345 0.0023480815 0.0044848813 + 1471400 0.0057345165 0.0021856098 0.0050080671 + 1471500 0.0064971867 0.002404988 0.0056028221 + 1471600 0.0050126522 0.0027622884 0.0052294531 + 1471700 0.0038746346 0.0025350489 0.0044420956 + 1471800 0.0066146334 0.0019971439 0.0052527838 + 1471900 0.0063681302 0.0020055633 0.0051398774 + 1472000 0.0038600908 0.0025509082 0.0044507967 + 1472100 0.004367434 0.0025174181 0.0046670145 + 1472200 0.0071786446 0.0023775269 0.0059107661 + 1472300 0.0046705956 0.0022826273 0.004581436 + 1472400 0.0054363988 0.0020504344 0.004726162 + 1472500 0.0046461542 0.0022746565 0.0045614355 + 1472600 0.005314631 0.0022164427 0.0048322377 + 1472700 0.0067796005 0.0019299724 0.0052668071 + 1472800 0.004128349 0.0017329796 0.0037649014 + 1472900 0.0053983828 0.0020979339 0.0047549504 + 1473000 0.0050981295 0.0029855991 0.0054948347 + 1473100 0.0044317302 0.0027105703 0.0048918125 + 1473200 0.0052674001 0.002350431 0.0049429795 + 1473300 0.0047583554 0.0022722707 0.0046142738 + 1473400 0.0055641101 0.0020521962 0.0047907817 + 1473500 0.0062635726 0.0024082455 0.0054910976 + 1473600 0.004803321 0.0025972829 0.0049614174 + 1473700 0.0059629301 0.0029341712 0.0058690509 + 1473800 0.0050663072 0.0028576311 0.0053512041 + 1473900 0.0048037108 0.0029600332 0.0053243596 + 1474000 0.0064609221 0.0027529455 0.0059329306 + 1474100 0.004504887 0.0022432005 0.0044604496 + 1474200 0.006262558 0.0021333738 0.0052157266 + 1474300 0.0066860989 0.0020858499 0.0053766642 + 1474400 0.0063537689 0.0020729112 0.0052001568 + 1474500 0.0052112374 0.0023280462 0.0048929522 + 1474600 0.0054448975 0.0020925606 0.0047724711 + 1474700 0.0055568044 0.0019825739 0.0047175636 + 1474800 0.0055099186 0.0023573583 0.0050692713 + 1474900 0.0053901266 0.00270733 0.0053602829 + 1475000 0.0051487918 0.0024568702 0.0049910412 + 1475100 0.0052225871 0.0021899388 0.0047604309 + 1475200 0.0035847137 0.0018299457 0.0035942969 + 1475300 0.0052938929 0.0015623582 0.0041679462 + 1475400 0.0062480864 0.0014841899 0.0045594199 + 1475500 0.0049200375 0.0018945347 0.0043161157 + 1475600 0.0041628526 0.0021226127 0.0041715167 + 1475700 0.0048937401 0.0020962814 0.0045049191 + 1475800 0.005001836 0.0027191328 0.0051809739 + 1475900 0.0050684017 0.0022827944 0.0047773983 + 1476000 0.0064653641 0.0017858346 0.004968006 + 1476100 0.0048719284 0.001744476 0.0041423782 + 1476200 0.0044265506 0.0014426705 0.0036213634 + 1476300 0.0042645464 0.0015400447 0.0036390011 + 1476400 0.0049766439 0.0018430531 0.004292495 + 1476500 0.0039332336 0.0020300184 0.0039659068 + 1476600 0.0042324804 0.0019421907 0.0040253646 + 1476700 0.0039475384 0.0021347964 0.0040777255 + 1476800 0.0054406227 0.0020541111 0.0047319176 + 1476900 0.0063202244 0.0019913085 0.0051020439 + 1477000 0.0056546316 0.0023345486 0.0051176877 + 1477100 0.0049516908 0.0022678467 0.0047050071 + 1477200 0.0049938071 0.0024696178 0.0049275072 + 1477300 0.0045860693 0.0022613707 0.0045185766 + 1477400 0.0045566549 0.0020962228 0.0043389514 + 1477500 0.0045477738 0.0019943135 0.0042326709 + 1477600 0.0046846204 0.0018779482 0.0041836598 + 1477700 0.0041273213 0.0018629945 0.0038944105 + 1477800 0.0050560778 0.0018053873 0.0042939256 + 1477900 0.0060566834 0.0014884678 0.0044694917 + 1478000 0.0051855187 0.0011171863 0.0036694338 + 1478100 0.0052310828 0.0015611093 0.0041357829 + 1478200 0.0047953975 0.0017766127 0.0041368474 + 1478300 0.0046528399 0.0018336402 0.0041237098 + 1478400 0.0060154979 0.0018421339 0.0048028868 + 1478500 0.0053784248 0.0024503669 0.0050975604 + 1478600 0.0046429232 0.0022968087 0.0045819975 + 1478700 0.0067284193 0.0021758036 0.0054874475 + 1478800 0.0050115026 0.0022227094 0.0046893084 + 1478900 0.0045114978 0.0015503601 0.0037708629 + 1479000 0.0055216442 0.001679603 0.0043972872 + 1479100 0.0041891036 0.0017839304 0.0038457548 + 1479200 0.0041611876 0.0015113242 0.0035594087 + 1479300 0.0054527307 0.0014065528 0.0040903187 + 1479400 0.0039386086 0.0016150861 0.00355362 + 1479500 0.0056676296 0.0015645083 0.0043540447 + 1479600 0.004822647 0.0019940677 0.0043677142 + 1479700 0.0044497442 0.0027908501 0.0049809586 + 1479800 0.0057669155 0.002624823 0.0054632268 + 1479900 0.0042047679 0.0025630706 0.0046326048 + 1480000 0.0050431171 0.0024760455 0.0049582047 + 1480100 0.0061117135 0.0025113859 0.0055194949 + 1480200 0.0057352556 0.0025155273 0.0053383484 + 1480300 0.0050146779 0.0022565727 0.0047247345 + 1480400 0.0063004993 0.0028655144 0.0059665414 + 1480500 0.0042920716 0.0026999663 0.0048124703 + 1480600 0.0045764047 0.002342623 0.0045950722 + 1480700 0.0054609237 0.0024976116 0.00518541 + 1480800 0.0049035546 0.0021295064 0.0045429747 + 1480900 0.0039866434 0.0017366011 0.0036987772 + 1481000 0.0036916328 0.0020342146 0.0038511902 + 1481100 0.0041188845 0.0021314762 0.0041587397 + 1481200 0.0058121795 0.0017894109 0.004650093 + 1481300 0.0040802464 0.0016895716 0.0036978178 + 1481400 0.0055503583 0.0018426349 0.0045744519 + 1481500 0.0058914632 0.0021599163 0.0050596208 + 1481600 0.0044502035 0.0029060345 0.005096369 + 1481700 0.0048910845 0.0026019552 0.0050092858 + 1481800 0.0063106649 0.0023004421 0.0054064725 + 1481900 0.0050949244 0.0024992173 0.0050068754 + 1482000 0.0051341869 0.0021600334 0.004687016 + 1482100 0.0064304467 0.0021020243 0.0052670098 + 1482200 0.0049084147 0.0020880092 0.0045038696 + 1482300 0.0041204628 0.0016909803 0.0037190206 + 1482400 0.0058032882 0.0015042723 0.0043605782 + 1482500 0.0051307142 0.0017599099 0.0042851833 + 1482600 0.0052421887 0.0018621517 0.0044422915 + 1482700 0.006646007 0.0024415578 0.0057126394 + 1482800 0.0064926819 0.0029369848 0.0061326017 + 1482900 0.0065884364 0.0025405146 0.0057832607 + 1483000 0.0068402767 0.002302549 0.0056692478 + 1483100 0.0050608817 0.0023741377 0.0048650405 + 1483200 0.0049697599 0.002175639 0.0046216927 + 1483300 0.0050340224 0.0018722527 0.0043499356 + 1483400 0.0057834455 0.0017602342 0.0046067738 + 1483500 0.0066866057 0.0016509414 0.0049420051 + 1483600 0.0055550211 0.0020781017 0.0048122136 + 1483700 0.006104311 0.0021885593 0.0051930248 + 1483800 0.0058966765 0.0024804227 0.0053826931 + 1483900 0.0043964438 0.0027289334 0.0048928081 + 1484000 0.0047159393 0.0020820676 0.004403194 + 1484100 0.0066091914 0.0020903083 0.0053432697 + 1484200 0.0042605202 0.0023689465 0.0044659213 + 1484300 0.0038418114 0.0022427861 0.0041336777 + 1484400 0.0043127083 0.0023704967 0.0044931578 + 1484500 0.0042626909 0.003248652 0.0053466952 + 1484600 0.0057875468 0.0025695493 0.0054181075 + 1484700 0.0062562714 0.0021442807 0.0052235393 + 1484800 0.0061775564 0.0024192038 0.0054597199 + 1484900 0.0058244198 0.0025321533 0.0053988599 + 1485000 0.0064011168 0.0021796884 0.0053302381 + 1485100 0.0057683433 0.0021396062 0.0049787127 + 1485200 0.0052737627 0.0020723638 0.0046680439 + 1485300 0.0051698008 0.0020710236 0.0046155349 + 1485400 0.006249243 0.0029123539 0.0059881532 + 1485500 0.0053272757 0.0031115657 0.0057335842 + 1485600 0.0050587034 0.003023072 0.0055129025 + 1485700 0.0066414695 0.0026033803 0.0058722286 + 1485800 0.0050254321 0.0025565475 0.0050300023 + 1485900 0.0038230771 0.0024541329 0.0043358036 + 1486000 0.0051966152 0.0024303941 0.0049881031 + 1486100 0.0041447857 0.0024191238 0.0044591356 + 1486200 0.006229588 0.0024534984 0.0055196237 + 1486300 0.0053477883 0.0025194976 0.0051516122 + 1486400 0.0051445091 0.002563166 0.0050952291 + 1486500 0.0048010582 0.0026166701 0.0049796909 + 1486600 0.0055046283 0.0021550499 0.0048643591 + 1486700 0.0050818744 0.0021313674 0.0046326024 + 1486800 0.006125438 0.0024647437 0.0054796077 + 1486900 0.0047716284 0.0024313536 0.0047798895 + 1487000 0.0051899323 0.0025743453 0.0051287651 + 1487100 0.0042189233 0.0024940298 0.0045705311 + 1487200 0.004076262 0.0030572656 0.0050635508 + 1487300 0.004194235 0.0030033736 0.0050677236 + 1487400 0.0062500574 0.0026047445 0.0056809447 + 1487500 0.0044748327 0.0023108773 0.0045133341 + 1487600 0.0056194873 0.0019896162 0.0047554576 + 1487700 0.0054284888 0.0023929764 0.0050648107 + 1487800 0.0047589912 0.0027743725 0.0051166885 + 1487900 0.0052179466 0.0024708585 0.0050390666 + 1488000 0.0036881592 0.0020585629 0.0038738288 + 1488100 0.0049204744 0.0025546259 0.0049764219 + 1488200 0.0045336161 0.0029335264 0.0051649156 + 1488300 0.0055008577 0.0022299626 0.004937416 + 1488400 0.0061090111 0.0018189885 0.0048257674 + 1488500 0.0046179961 0.0021770042 0.0044499242 + 1488600 0.0069132106 0.0023410417 0.0057436376 + 1488700 0.0056893547 0.0028095385 0.0056097677 + 1488800 0.0048925947 0.0028995595 0.0053076335 + 1488900 0.0057893355 0.0028502474 0.0056996859 + 1489000 0.00415178 0.0024843174 0.0045277716 + 1489100 0.0050210302 0.0025341819 0.0050054702 + 1489200 0.0048679593 0.0026137649 0.0050097136 + 1489300 0.005426067 0.0025187047 0.0051893471 + 1489400 0.0064736768 0.0028559938 0.0060422566 + 1489500 0.0057840197 0.0032920224 0.0061388446 + 1489600 0.0048647292 0.0032400299 0.0056343888 + 1489700 0.0053791984 0.0030591685 0.0057067427 + 1489800 0.0051093602 0.0028832665 0.0053980297 + 1489900 0.0043490522 0.0029364476 0.0050769967 + 1490000 0.0046189313 0.002438904 0.0047122843 + 1490100 0.0033522025 0.0020940342 0.0037439464 + 1490200 0.0055979414 0.0024641723 0.0052194091 + 1490300 0.0041294925 0.0024326997 0.0044651843 + 1490400 0.0047052833 0.0024030769 0.0047189586 + 1490500 0.00517226 0.002628905 0.0051746267 + 1490600 0.0043274521 0.0027095497 0.0048394676 + 1490700 0.0066316653 0.0017565496 0.0050205723 + 1490800 0.0042497492 0.001764226 0.0038558995 + 1490900 0.004954974 0.0020042894 0.0044430656 + 1491000 0.0039548675 0.0023036213 0.0042501577 + 1491100 0.003773325 0.0024488615 0.0043060449 + 1491200 0.0047884728 0.0019777285 0.004334555 + 1491300 0.0055490741 0.0018135504 0.0045447353 + 1491400 0.0055137577 0.0023082874 0.00502209 + 1491500 0.0054323077 0.0026281402 0.0053018542 + 1491600 0.0063562754 0.0025802906 0.0057087699 + 1491700 0.0041067902 0.0027600437 0.0047813545 + 1491800 0.004834544 0.0025465431 0.0049260452 + 1491900 0.0036699567 0.0025353092 0.004341616 + 1492000 0.0048825864 0.002831887 0.005235035 + 1492100 0.0053571916 0.0023050577 0.0049418005 + 1492200 0.0057715032 0.0022149698 0.0050556315 + 1492300 0.0049405883 0.0023843264 0.0048160222 + 1492400 0.0066728689 0.0022023718 0.0054866745 + 1492500 0.0044326416 0.002041683 0.0042233738 + 1492600 0.006490182 0.0019115657 0.0051059521 + 1492700 0.0055712094 0.0021821509 0.0049242305 + 1492800 0.00458795 0.002453384 0.0047115156 + 1492900 0.0039544866 0.0024181832 0.004364532 + 1493000 0.0038174705 0.0026419092 0.0045208204 + 1493100 0.0056453831 0.0021570913 0.0049356783 + 1493200 0.0054524912 0.0022872231 0.0049708712 + 1493300 0.0038577378 0.0024559837 0.004354714 + 1493400 0.0050575116 0.002332611 0.004821855 + 1493500 0.0057376621 0.0024308796 0.0052548851 + 1493600 0.0054328631 0.0025320639 0.0052060512 + 1493700 0.0065261449 0.0021761289 0.0053882159 + 1493800 0.005320308 0.0020082427 0.0046268318 + 1493900 0.0059649493 0.002102895 0.0050387685 + 1494000 0.0058234588 0.0027285889 0.0055948225 + 1494100 0.0053757132 0.0027801939 0.0054260528 + 1494200 0.0051656065 0.0026532617 0.0051957087 + 1494300 0.0043183978 0.0021887599 0.0043142213 + 1494400 0.0066697141 0.0017503538 0.0050331037 + 1494500 0.0045145738 0.0019145802 0.004136597 + 1494600 0.0037149068 0.0020392749 0.0038677056 + 1494700 0.0051592063 0.0018813202 0.0044206171 + 1494800 0.0050549936 0.0019659229 0.0044539275 + 1494900 0.0047057111 0.0022269378 0.00454303 + 1495000 0.0041444478 0.0023923208 0.0044321662 + 1495100 0.0047424852 0.0023234021 0.004657594 + 1495200 0.0039052112 0.0021759884 0.0040980846 + 1495300 0.0047780586 0.002266316 0.0046180167 + 1495400 0.0046673535 0.0025270391 0.0048242521 + 1495500 0.0064114797 0.0023275695 0.0054832197 + 1495600 0.0049701781 0.0022977568 0.0047440163 + 1495700 0.0049019178 0.002397053 0.0048097156 + 1495800 0.0077236118 0.0019149853 0.0057164505 + 1495900 0.005481349 0.0016512729 0.0043491243 + 1496000 0.0055172321 0.0021117788 0.0048272915 + 1496100 0.004949446 0.0022249438 0.0046609992 + 1496200 0.0045173884 0.0023780281 0.0046014301 + 1496300 0.0082592452 0.0023396396 0.0064047369 + 1496400 0.0045293643 0.0026151919 0.0048444884 + 1496500 0.0047793989 0.0025621841 0.0049145445 + 1496600 0.0055908705 0.0026107526 0.0053625091 + 1496700 0.0061451609 0.0028421959 0.0058667672 + 1496800 0.0042212423 0.0029899813 0.005067624 + 1496900 0.0031428117 0.0030264036 0.0045732562 + 1497000 0.003683848 0.0028440791 0.0046572231 + 1497100 0.0063902706 0.0022090411 0.0053542525 + 1497200 0.0062598919 0.0021438666 0.0052249072 + 1497300 0.0060909246 0.0027378289 0.0057357058 + 1497400 0.0052964001 0.0027707184 0.0053775403 + 1497500 0.0037257199 0.0022313963 0.0040651491 + 1497600 0.0033112858 0.001663395 0.0032931685 + 1497700 0.0047040547 0.0018477307 0.0041630076 + 1497800 0.006174548 0.0019172736 0.004956309 + 1497900 0.0052007276 0.0023374717 0.0048972048 + 1498000 0.0039442666 0.0027556655 0.0046969842 + 1498100 0.0058569341 0.0024576744 0.0053403841 + 1498200 0.0057243381 0.0021443321 0.0049617798 + 1498300 0.0042955436 0.0020230429 0.0041372558 + 1498400 0.0053213624 0.002081689 0.004700797 + 1498500 0.0039679231 0.0022580276 0.0042109897 + 1498600 0.003331932 0.0021629341 0.0038028694 + 1498700 0.0051669311 0.002404877 0.004947976 + 1498800 0.0053953503 0.0023317074 0.0049872314 + 1498900 0.0054637311 0.0021053178 0.0047944979 + 1499000 0.0050388391 0.0025664001 0.0050464538 + 1499100 0.0044079666 0.0021888991 0.0043584452 + 1499200 0.0049043333 0.0017430348 0.0041568864 + 1499300 0.0052984377 0.0023471789 0.0049550037 + 1499400 0.0047145914 0.002660722 0.004981185 + 1499500 0.0054142053 0.0027892003 0.0054540044 + 1499600 0.004719967 0.0023175015 0.0046406103 + 1499700 0.0036133681 0.0023205375 0.0040989921 + 1499800 0.00450027 0.0023143678 0.0045293444 + 1499900 0.0054411038 0.0021356146 0.0048136578 + 1500000 0.003692483 0.0023129774 0.0041303713 + 1500100 0.0048437867 0.0024122836 0.0047963348 + 1500200 0.0052954254 0.002259854 0.0048661962 + 1500300 0.0049388982 0.0023352299 0.0047660938 + 1500400 0.0057716217 0.0024258008 0.0052665208 + 1500500 0.0037373169 0.0025623923 0.0044018529 + 1500600 0.0047272109 0.0025192239 0.004845898 + 1500700 0.0056212462 0.0027350862 0.0055017933 + 1500800 0.0050268939 0.0023463102 0.0048204846 + 1500900 0.0043949774 0.0021224014 0.0042855543 + 1501000 0.0058346776 0.0019533886 0.004825144 + 1501100 0.0046513122 0.0020630596 0.0043523773 + 1501200 0.0048750665 0.0017524234 0.0041518702 + 1501300 0.0064348679 0.0017643754 0.004931537 + 1501400 0.0047596434 0.0020704603 0.0044130973 + 1501500 0.0055008538 0.0021180663 0.0048255177 + 1501600 0.0056532213 0.0020692981 0.004851743 + 1501700 0.005034928 0.0021075373 0.0045856659 + 1501800 0.0036573041 0.0019906614 0.0037907408 + 1501900 0.0050235745 0.001981936 0.0044544766 + 1502000 0.0049797687 0.0022951094 0.0047460894 + 1502100 0.0038400142 0.0023399632 0.0042299702 + 1502200 0.0043136045 0.0028452033 0.0049683055 + 1502300 0.004264136 0.0028787613 0.0049775158 + 1502400 0.005475586 0.0029304531 0.0056254681 + 1502500 0.005151299 0.0029667837 0.0055021886 + 1502600 0.004591292 0.0024222029 0.0046819794 + 1502700 0.005192881 0.0020815332 0.0046374043 + 1502800 0.0046316052 0.0020810151 0.0043606333 + 1502900 0.0072536694 0.0018461915 0.0054163569 + 1503000 0.0048483571 0.0018659627 0.0042522634 + 1503100 0.0041771063 0.0024975326 0.0045534521 + 1503200 0.0067754644 0.00264407 0.0059788689 + 1503300 0.005246429 0.0024073594 0.0049895862 + 1503400 0.0037686212 0.0020060442 0.0038609125 + 1503500 0.0049456813 0.0021985607 0.0046327632 + 1503600 0.004706661 0.0025430087 0.0048595684 + 1503700 0.0043172581 0.0024631599 0.0045880604 + 1503800 0.0048456167 0.0027736778 0.0051586298 + 1503900 0.0070687461 0.0024267498 0.0059058983 + 1504000 0.0061946677 0.0025087077 0.0055576457 + 1504100 0.0057969605 0.0025579169 0.0054111084 + 1504200 0.0060882876 0.0024898842 0.0054864632 + 1504300 0.0035113445 0.0032156063 0.0049438462 + 1504400 0.0056295335 0.0035082388 0.0062790249 + 1504500 0.0042719482 0.0031324959 0.0052350954 + 1504600 0.0049853268 0.002535756 0.0049894715 + 1504700 0.004836319 0.0024196194 0.0047999951 + 1504800 0.0046044734 0.0024723642 0.0047386284 + 1504900 0.0059045754 0.0022435526 0.0051497108 + 1505000 0.00450463 0.0022781843 0.0044953068 + 1505100 0.0056751165 0.0025929471 0.0053861685 + 1505200 0.0055928607 0.0027419721 0.0054947083 + 1505300 0.004852877 0.0030134988 0.0054020242 + 1505400 0.0048841943 0.0027220665 0.0051260059 + 1505500 0.0054190807 0.0025197263 0.0051869301 + 1505600 0.0050878703 0.0025592491 0.0050634353 + 1505700 0.0059066315 0.0020012867 0.0049084569 + 1505800 0.0043431493 0.0021715195 0.0043091633 + 1505900 0.0051571201 0.0026563155 0.0051945855 + 1506000 0.0050411292 0.0033442162 0.0058253969 + 1506100 0.0046846707 0.0033790392 0.0056847756 + 1506200 0.0046829373 0.0031229548 0.005427838 + 1506300 0.0070290175 0.0030060876 0.0064656822 + 1506400 0.0054024936 0.0027031191 0.0053621589 + 1506500 0.0048924758 0.0025044441 0.0049124596 + 1506600 0.0052747398 0.0021042506 0.0047004116 + 1506700 0.0038663284 0.0017686475 0.003671606 + 1506800 0.0056411864 0.0018078569 0.0045843783 + 1506900 0.004383927 0.0020145698 0.0041722839 + 1507000 0.005774592 0.0018382765 0.0046804585 + 1507100 0.0039662937 0.0023561308 0.004308291 + 1507200 0.0043004457 0.0025469096 0.0046635352 + 1507300 0.0050651623 0.0025465585 0.0050395681 + 1507400 0.0051002197 0.0023519865 0.0048622509 + 1507500 0.0050313437 0.0026107957 0.0050871602 + 1507600 0.0056537164 0.002480808 0.0052634966 + 1507700 0.0058010691 0.0022854669 0.0051406806 + 1507800 0.0062232559 0.0020584311 0.0051214399 + 1507900 0.0035227126 0.0022692556 0.0040030907 + 1508000 0.0043524771 0.0021906377 0.0043328725 + 1508100 0.0050897435 0.0022349241 0.0047400322 + 1508200 0.0045667767 0.0028489971 0.0050967075 + 1508300 0.0050808813 0.002659235 0.0051599813 + 1508400 0.0060607612 0.0028851161 0.005868147 + 1508500 0.004753333 0.002973656 0.0053131871 + 1508600 0.0058419217 0.0031440409 0.0060193618 + 1508700 0.006273995 0.00268066 0.005768642 + 1508800 0.0048476588 0.0023281634 0.0047141204 + 1508900 0.0058189326 0.0025546534 0.0054186593 + 1509000 0.0044159499 0.0032721708 0.0054456461 + 1509100 0.0058170787 0.0031932807 0.0060563741 + 1509200 0.0047685919 0.0029035743 0.0052506156 + 1509300 0.0043946348 0.002896467 0.0050594513 + 1509400 0.0045418719 0.0027978564 0.005033309 + 1509500 0.0059876446 0.003277519 0.0062245628 + 1509600 0.005548594 0.0039081741 0.0066391227 + 1509700 0.0052395058 0.0030080807 0.0055869 + 1509800 0.0044032345 0.0023611931 0.0045284101 + 1509900 0.0053346307 0.0020282123 0.0046538509 + 1510000 0.0050269552 0.0018426489 0.0043168534 + 1510100 0.0050750293 0.0019851865 0.0044830525 + 1510200 0.0057687046 0.0023530403 0.0051923246 + 1510300 0.003871221 0.0026073051 0.0045126716 + 1510400 0.0043704133 0.0031429376 0.0052940003 + 1510500 0.0061154086 0.0029420951 0.0059520227 + 1510600 0.004459885 0.0030707475 0.0052658471 + 1510700 0.005376231 0.0027203347 0.0053664484 + 1510800 0.0038731297 0.0021574806 0.0040637866 + 1510900 0.0052683603 0.0026376541 0.0052306752 + 1511000 0.0037464295 0.0028302782 0.004674224 + 1511100 0.0045320129 0.0031903483 0.0054209484 + 1511200 0.0055896773 0.0032769903 0.0060281596 + 1511300 0.0062370698 0.002866001 0.0059358088 + 1511400 0.0057949626 0.0026065195 0.0054587277 + 1511500 0.0060494835 0.0026769118 0.0056543919 + 1511600 0.0056089006 0.0029465465 0.0057071773 + 1511700 0.0046997517 0.0027089258 0.0050220848 + 1511800 0.0061638515 0.0028846233 0.005918394 + 1511900 0.0049957453 0.002883685 0.0053425284 + 1512000 0.0051966791 0.0025995418 0.0051572823 + 1512100 0.003608936 0.0021167813 0.0038930544 + 1512200 0.0049258816 0.002110402 0.0045348594 + 1512300 0.0054037442 0.0022535711 0.0049132265 + 1512400 0.0035455988 0.0027464541 0.0044915535 + 1512500 0.0051608497 0.0027003003 0.005240406 + 1512600 0.0049070876 0.0026834776 0.0050986847 + 1512700 0.0049026272 0.0028898928 0.0053029046 + 1512800 0.0050683608 0.0027479985 0.0052425823 + 1512900 0.0039218045 0.0027878891 0.0047181522 + 1513000 0.0046677332 0.002917759 0.005215159 + 1513100 0.0046583706 0.0031248395 0.0054176313 + 1513200 0.0071732993 0.0031145553 0.0066451636 + 1513300 0.0045780892 0.0032303843 0.0054836625 + 1513400 0.0062466189 0.0032223703 0.0062968781 + 1513500 0.0054313875 0.0033740107 0.0060472717 + 1513600 0.0055785173 0.003281944 0.0060276205 + 1513700 0.0043455686 0.002885176 0.0050240106 + 1513800 0.0053708571 0.0024919923 0.005135461 + 1513900 0.0038019162 0.0022680529 0.0041393086 + 1514000 0.0053917242 0.0019656528 0.0046193921 + 1514100 0.0041095939 0.0022867564 0.0043094472 + 1514200 0.0052631127 0.0025396083 0.0051300466 + 1514300 0.0054031409 0.0026616348 0.0053209932 + 1514400 0.0056201314 0.0024949737 0.0052611321 + 1514500 0.0041186107 0.0027015114 0.0047286401 + 1514600 0.0054978585 0.0024662829 0.0051722601 + 1514700 0.0044095454 0.0026676095 0.0048379326 + 1514800 0.0061763494 0.0023333684 0.0053732903 + 1514900 0.0064733013 0.0021786155 0.0053646935 + 1515000 0.0047025267 0.0025933626 0.0049078875 + 1515100 0.0064364848 0.0024439485 0.0056119059 + 1515200 0.0064785247 0.0020598219 0.0052484708 + 1515300 0.0054058637 0.002352911 0.0050136096 + 1515400 0.0035196655 0.0029374648 0.0046698002 + 1515500 0.0046591607 0.0026673898 0.0049605704 + 1515600 0.0058240967 0.0023377858 0.0052043334 + 1515700 0.0063877695 0.0022772613 0.0054212416 + 1515800 0.0057246993 0.0022628483 0.0050804737 + 1515900 0.0067557799 0.0023205617 0.0056456721 + 1516000 0.0033645883 0.0024208876 0.0040768959 + 1516100 0.0049322586 0.0026586114 0.0050862074 + 1516200 0.0077598111 0.0025611761 0.0063804582 + 1516300 0.004583774 0.0025529129 0.0048089891 + 1516400 0.0032283146 0.0023499976 0.0039389337 + 1516500 0.0050646805 0.0024564714 0.0049492439 + 1516600 0.0049312161 0.0027461695 0.0051732524 + 1516700 0.0049292925 0.0027017394 0.0051278756 + 1516800 0.0047413676 0.0021838956 0.0045175374 + 1516900 0.0045861571 0.0023085691 0.0045658183 + 1517000 0.0052190606 0.0021452376 0.004713994 + 1517100 0.0075244806 0.0024523544 0.0061558098 + 1517200 0.0046739777 0.0029301371 0.0052306104 + 1517300 0.0049476584 0.0030381463 0.0054733219 + 1517400 0.0042247175 0.0028007397 0.0048800928 + 1517500 0.0058546129 0.002322779 0.0052043463 + 1517600 0.0041058096 0.0027633287 0.0047841569 + 1517700 0.0034118361 0.0026435835 0.0043228466 + 1517800 0.0046436478 0.0027065678 0.0049921132 + 1517900 0.004960714 0.0026498213 0.0050914228 + 1518000 0.0053723254 0.0023325332 0.0049767246 + 1518100 0.0043651051 0.0019841936 0.0041326438 + 1518200 0.0042547728 0.0019971338 0.0040912797 + 1518300 0.005349718 0.0016782622 0.0043113266 + 1518400 0.0050426352 0.0019862987 0.0044682207 + 1518500 0.0042076019 0.0023805951 0.0044515242 + 1518600 0.0059405852 0.0023732735 0.0052971553 + 1518700 0.0048373115 0.0021172394 0.0044981036 + 1518800 0.0046984628 0.0025864678 0.0048989924 + 1518900 0.0050606077 0.0028272321 0.005318 + 1519000 0.0067051867 0.0026284892 0.0059286982 + 1519100 0.0034635304 0.0026457294 0.0043504358 + 1519200 0.0038027621 0.0029790045 0.0048506765 + 1519300 0.0035132516 0.0026789858 0.0044081643 + 1519400 0.0054281937 0.0022760129 0.0049477019 + 1519500 0.0053354834 0.0020876523 0.0047137105 + 1519600 0.0045332797 0.0018763811 0.0041076048 + 1519700 0.0051547779 0.0019357277 0.0044728449 + 1519800 0.006465676 0.0021385211 0.005320846 + 1519900 0.00592553 0.0023707039 0.0052871757 + 1520000 0.0056563535 0.0022812893 0.0050652757 + 1520100 0.0035088515 0.0028004546 0.0045274674 + 1520200 0.006777475 0.0030619931 0.0063977816 + 1520300 0.0040148036 0.0032220093 0.0051980455 + 1520400 0.0060604652 0.0029068991 0.0058897843 + 1520500 0.0055641449 0.0025986286 0.0053372312 + 1520600 0.0071392396 0.0028755928 0.0063894373 + 1520700 0.0048708368 0.0031084928 0.0055058578 + 1520800 0.003327894 0.0029560407 0.0045939885 + 1520900 0.0045192286 0.0023064943 0.0045308021 + 1521000 0.0038920152 0.0021220011 0.0040376024 + 1521100 0.0037565449 0.0022599902 0.0041089146 + 1521200 0.0054251517 0.0023433955 0.0050135874 + 1521300 0.0052638002 0.0027460222 0.0053367989 + 1521400 0.0054406847 0.0030494301 0.005727267 + 1521500 0.0065680204 0.0028561027 0.0060888002 + 1521600 0.0058159078 0.002439693 0.0053022101 + 1521700 0.0050361473 0.0022403798 0.0047191085 + 1521800 0.0053216889 0.00258813 0.0052073988 + 1521900 0.0035867315 0.0026119032 0.0043772476 + 1522000 0.004816737 0.0022542272 0.004624965 + 1522100 0.0040602217 0.0022138651 0.0042122555 + 1522200 0.005048014 0.0020438724 0.0045284418 + 1522300 0.0065026322 0.001975679 0.0051761933 + 1522400 0.0057451906 0.0021097916 0.0049375026 + 1522500 0.0041024372 0.0024762711 0.0044954394 + 1522600 0.0035038985 0.0020505258 0.0037751008 + 1522700 0.0053581729 0.0016786098 0.0043158355 + 1522800 0.0062303491 0.0015978292 0.0046643292 + 1522900 0.005156271 0.0019659533 0.0045038054 + 1523000 0.0047210836 0.0022106091 0.0045342675 + 1523100 0.0072655139 0.001674445 0.0052504401 + 1523200 0.0058223083 0.0022099884 0.0050756557 + 1523300 0.0052542189 0.0021546581 0.0047407189 + 1523400 0.0038248179 0.002031898 0.0039144256 + 1523500 0.0040684159 0.0017311467 0.0037335702 + 1523600 0.0045892724 0.0017262398 0.0039850223 + 1523700 0.0057007942 0.0021419263 0.004947786 + 1523800 0.0058240746 0.0027114113 0.005577948 + 1523900 0.0045568081 0.0022774626 0.0045202666 + 1524000 0.0048793233 0.0019350567 0.0043365986 + 1524100 0.0050696995 0.0019202817 0.0044155245 + 1524200 0.0053973318 0.0016401749 0.0042966741 + 1524300 0.0048903316 0.0012890357 0.0036959957 + 1524400 0.0042671585 0.0014012825 0.0035015246 + 1524500 0.0058517035 0.0017872867 0.004667422 + 1524600 0.0046382072 0.0021606416 0.0044435092 + 1524700 0.0056462898 0.0023916627 0.0051706959 + 1524800 0.0046598496 0.0021024821 0.0043960018 + 1524900 0.005699419 0.0019046468 0.0047098295 + 1525000 0.0033273306 0.0020862783 0.0037239488 + 1525100 0.004380102 0.0021761421 0.0043319736 + 1525200 0.003772649 0.0024649238 0.0043217745 + 1525300 0.0031545137 0.002608771 0.0041613832 + 1525400 0.0045836032 0.0022768501 0.0045328424 + 1525500 0.0040823067 0.0024713746 0.0044806349 + 1525600 0.0044000888 0.002280304 0.0044459728 + 1525700 0.0047722393 0.0019108724 0.0042597089 + 1525800 0.0056080435 0.001453594 0.0042138028 + 1525900 0.0055114815 0.0011634271 0.0038761094 + 1526000 0.0049483707 0.0011495022 0.0035850284 + 1526100 0.004880522 0.0012172963 0.0036194283 + 1526200 0.0066191966 0.0017733835 0.0050312693 + 1526300 0.0042405728 0.0020251292 0.0041122861 + 1526400 0.0062244928 0.002448245 0.0055118625 + 1526500 0.0054271942 0.0030468702 0.0057180674 + 1526600 0.0050285319 0.0027171131 0.0051920936 + 1526700 0.0050968715 0.0021430509 0.0046516673 + 1526800 0.0045901611 0.0022790588 0.0045382787 + 1526900 0.0055944149 0.0026258018 0.0053793029 + 1527000 0.007271411 0.0029679187 0.0065468163 + 1527100 0.0062374365 0.0033103765 0.0063803648 + 1527200 0.0059625783 0.003199183 0.0061338895 + 1527300 0.006152816 0.0028605336 0.0058888728 + 1527400 0.0052729746 0.0032309848 0.005826277 + 1527500 0.0042462431 0.0028631373 0.0049530851 + 1527600 0.0042751497 0.0025674118 0.0046715871 + 1527700 0.0061364049 0.0020669095 0.0050871712 + 1527800 0.0057262025 0.0022617607 0.005080126 + 1527900 0.004447093 0.0025921138 0.0047809174 + 1528000 0.0054677083 0.0022600516 0.0049511893 + 1528100 0.0035077599 0.0021074302 0.0038339057 + 1528200 0.0050339039 0.0021972778 0.0046749024 + 1528300 0.0035779288 0.0021746523 0.0039356641 + 1528400 0.0037058746 0.0023775368 0.0042015219 + 1528500 0.0055175536 0.002566403 0.0052820739 + 1528600 0.0060170038 0.0023403913 0.0053018854 + 1528700 0.0060599653 0.0021607648 0.005143404 + 1528800 0.0043113863 0.0024480216 0.004570032 + 1528900 0.0047744163 0.0030696956 0.0054196036 + 1529000 0.0054983022 0.0024304098 0.0051366054 + 1529100 0.0044617616 0.0023990051 0.0045950284 + 1529200 0.0057001376 0.0026844996 0.0054900361 + 1529300 0.005629834 0.0024551056 0.0052260395 + 1529400 0.0045716833 0.0020872858 0.0043374112 + 1529500 0.0048700684 0.0016741262 0.004071113 + 1529600 0.0041708913 0.0018676733 0.0039205339 + 1529700 0.0046767871 0.0024642599 0.0047661161 + 1529800 0.0065608406 0.0022412618 0.0054704255 + 1529900 0.0056425372 0.0016516657 0.004428852 + 1530000 0.0056781382 0.0018525568 0.0046472654 + 1530100 0.0064421167 0.0019045627 0.005075292 + 1530200 0.0051904175 0.0020134169 0.0045680755 + 1530300 0.0042652287 0.0020004009 0.0040996932 + 1530400 0.0036809683 0.0019963378 0.0038080644 + 1530500 0.003931933 0.0022663249 0.0042015732 + 1530600 0.0057025957 0.0023396532 0.0051463995 + 1530700 0.0057559291 0.0025509846 0.005383981 + 1530800 0.0058789303 0.0024201973 0.0053137333 + 1530900 0.0058919176 0.0021648812 0.0050648094 + 1531000 0.0037402069 0.0021719081 0.0040127912 + 1531100 0.0045172382 0.002313688 0.0045370162 + 1531200 0.0060054078 0.0022131898 0.0051689765 + 1531300 0.0049078552 0.0023051962 0.0047207812 + 1531400 0.0069658187 0.0022046454 0.0056331343 + 1531500 0.0054110155 0.0024928736 0.0051561078 + 1531600 0.0051969973 0.0025620164 0.0051199135 + 1531700 0.0061682978 0.0022709324 0.0053068914 + 1531800 0.0054760205 0.0022977592 0.004992988 + 1531900 0.0051575334 0.0023001205 0.004838594 + 1532000 0.0059494425 0.0022736404 0.0052018817 + 1532100 0.0050624768 0.0019928451 0.0044845329 + 1532200 0.004513116 0.0019978229 0.0042191222 + 1532300 0.0056896545 0.0020731942 0.004873571 + 1532400 0.004422191 0.0019142836 0.0040908307 + 1532500 0.0045479223 0.0017495232 0.0039879537 + 1532600 0.0052601888 0.001881266 0.0044702651 + 1532700 0.0047343173 0.0018501595 0.0041803312 + 1532800 0.004219267 0.0020565466 0.004133217 + 1532900 0.0048048121 0.0022081962 0.0045730647 + 1533000 0.005459758 0.0021851742 0.0048723988 + 1533100 0.0035073099 0.0024671686 0.0041934227 + 1533200 0.0057664048 0.0024882695 0.0053264219 + 1533300 0.0055170407 0.0024787857 0.0051942042 + 1533400 0.0052506378 0.0027841019 0.0053684002 + 1533500 0.0056440975 0.0029101428 0.005688097 + 1533600 0.0055919165 0.0026154285 0.0053676999 + 1533700 0.005526397 0.0023944184 0.0051144419 + 1533800 0.0060976591 0.0026665055 0.0056676971 + 1533900 0.0034250528 0.0028399375 0.0045257057 + 1534000 0.0040608144 0.0025872934 0.0045859755 + 1534100 0.005695719 0.0018685143 0.0046718761 + 1534200 0.0045769448 0.0017572461 0.0040099611 + 1534300 0.0052523754 0.002338458 0.0049236115 + 1534400 0.0061583398 0.0026915553 0.0057226132 + 1534500 0.0059382109 0.0024314764 0.0053541896 + 1534600 0.0063817566 0.0024703845 0.0056114053 + 1534700 0.0060212244 0.0024575091 0.0054210805 + 1534800 0.004397083 0.0028757537 0.005039943 + 1534900 0.0052448261 0.0029087019 0.0054901398 + 1535000 0.0048596332 0.0026952883 0.005087139 + 1535100 0.0052326678 0.002306521 0.0048819747 + 1535200 0.0043461906 0.00242336 0.0045625007 + 1535300 0.0047011188 0.0026460045 0.0049598364 + 1535400 0.0042047306 0.0025449711 0.004614487 + 1535500 0.00389625 0.0024598073 0.0043774929 + 1535600 0.0036640904 0.0025447922 0.0043482117 + 1535700 0.0034240249 0.0023507886 0.0040360509 + 1535800 0.0067547516 0.0020350715 0.0053596758 + 1535900 0.0049287347 0.0022134401 0.0046393017 + 1536000 0.0039353368 0.0019829678 0.0039198914 + 1536100 0.0059513461 0.0016972403 0.0046264184 + 1536200 0.0050637477 0.0017898257 0.004282139 + 1536300 0.0035436011 0.0020083628 0.003752479 + 1536400 0.0046172399 0.0020550739 0.0043276217 + 1536500 0.0046188634 0.0025311816 0.0048045284 + 1536600 0.0053677689 0.0021381806 0.0047801294 + 1536700 0.0032368701 0.0021737899 0.0037669368 + 1536800 0.004523468 0.0022055795 0.0044319739 + 1536900 0.0045830083 0.0018056926 0.004061392 + 1537000 0.0051529215 0.0015647277 0.0041009312 + 1537100 0.0048608143 0.0019785247 0.0043709567 + 1537200 0.0088069716 0.0024620797 0.0067967611 + 1537300 0.0039463486 0.0026649205 0.0046072639 + 1537400 0.0051417103 0.0021576768 0.0046883624 + 1537500 0.0034474026 0.002186201 0.0038829694 + 1537600 0.0033782808 0.002178071 0.0038408186 + 1537700 0.0044970731 0.0017589217 0.0039723248 + 1537800 0.0057016841 0.0016827233 0.0044890209 + 1537900 0.0053415632 0.0023490164 0.0049780671 + 1538000 0.0051761174 0.0024022989 0.0049499192 + 1538100 0.0054635239 0.0024362009 0.0051252791 + 1538200 0.0059026473 0.0018707031 0.0047759123 + 1538300 0.0050695193 0.0018136585 0.0043088125 + 1538400 0.0049479685 0.0016753992 0.0041107274 + 1538500 0.0037874736 0.0015919478 0.003456095 + 1538600 0.0046191218 0.0020246729 0.0042981469 + 1538700 0.0046027844 0.0021111764 0.0043766093 + 1538800 0.0053654563 0.0020837403 0.0047245508 + 1538900 0.0051519032 0.0019825155 0.0045182178 + 1539000 0.0054852319 0.0017924088 0.0044921714 + 1539100 0.0064525184 0.0019315498 0.0051073988 + 1539200 0.005022124 0.0025702357 0.0050420624 + 1539300 0.0048117996 0.0028129769 0.0051812845 + 1539400 0.0058846479 0.0025438698 0.0054402199 + 1539500 0.0062570543 0.0021936379 0.0052732819 + 1539600 0.0048810692 0.0022976237 0.0047000249 + 1539700 0.0050917779 0.0020800769 0.0045861863 + 1539800 0.0054301892 0.0020102526 0.0046829238 + 1539900 0.0042800002 0.0022409951 0.0043475577 + 1540000 0.0045259097 0.0028604526 0.0050880488 + 1540100 0.003699824 0.0032641746 0.0050851818 + 1540200 0.0064647524 0.0024899553 0.0056718257 + 1540300 0.0044177153 0.002269611 0.0044439553 + 1540400 0.0049358382 0.002018089 0.0044474469 + 1540500 0.0045251845 0.0018036285 0.0040308677 + 1540600 0.0051773712 0.0021349386 0.004683176 + 1540700 0.0061310739 0.0025459328 0.0055635708 + 1540800 0.0044024036 0.0031785384 0.0053453464 + 1540900 0.003425442 0.0031501075 0.0048360673 + 1541000 0.0051088863 0.0029283194 0.0054428494 + 1541100 0.0052663012 0.0022540631 0.0048460707 + 1541200 0.005514526 0.002189611 0.0049037918 + 1541300 0.0044469988 0.0021840852 0.0043728424 + 1541400 0.0037437795 0.0022589825 0.004101624 + 1541500 0.0048368767 0.002200111 0.0045807612 + 1541600 0.0046556834 0.0024134665 0.0047049356 + 1541700 0.0057578219 0.0019904727 0.0048244006 + 1541800 0.0044806061 0.0016673371 0.0038726354 + 1541900 0.0043681814 0.0022009742 0.0043509384 + 1542000 0.005284266 0.002392908 0.0049937576 + 1542100 0.006311621 0.0023553227 0.0054618236 + 1542200 0.0041792886 0.0021222636 0.0041792572 + 1542300 0.005735288 0.0020917566 0.0049145936 + 1542400 0.0051138688 0.0023002341 0.0048172164 + 1542500 0.0048049767 0.0024909505 0.0048558999 + 1542600 0.0036473256 0.0024624813 0.0042576494 + 1542700 0.0034860965 0.0029428155 0.0046586286 + 1542800 0.0046743259 0.0029915618 0.0052922065 + 1542900 0.0050119983 0.0030731574 0.0055400003 + 1543000 0.0040117193 0.0027692368 0.0047437549 + 1543100 0.0048512923 0.0023842277 0.0047719731 + 1543200 0.0041948797 0.0026204843 0.0046851517 + 1543300 0.0044936253 0.0029585084 0.0051702147 + 1543400 0.004782282 0.0024038001 0.0047575795 + 1543500 0.004760535 0.0025329418 0.0048760176 + 1543600 0.0047605751 0.0023896778 0.0047327733 + 1543700 0.0048908368 0.0021242821 0.0045314909 + 1543800 0.0054728162 0.0023349131 0.0050285649 + 1543900 0.0041394744 0.0025766949 0.0046140925 + 1544000 0.0056611587 0.0022906364 0.005076988 + 1544100 0.0062848321 0.0018919016 0.0049852174 + 1544200 0.0063645765 0.0019639396 0.0050965046 + 1544300 0.0051563851 0.0023822716 0.0049201799 + 1544400 0.0042751784 0.0024224496 0.004526639 + 1544500 0.0054372793 0.0022954412 0.0049716021 + 1544600 0.0059955988 0.0021405696 0.0050915284 + 1544700 0.0054492994 0.0023862223 0.0050682994 + 1544800 0.0047284173 0.0026070387 0.0049343066 + 1544900 0.0041799411 0.002874978 0.0049322928 + 1545000 0.0044513121 0.0027695064 0.0049603866 + 1545100 0.0043498639 0.0022266397 0.0043675884 + 1545200 0.0055854833 0.001817255 0.00456636 + 1545300 0.004961312 0.001906352 0.0043482478 + 1545400 0.0044626703 0.001683627 0.0038800975 + 1545500 0.0043587683 0.0015523116 0.0036976428 + 1545600 0.0049680507 0.002174711 0.0046199235 + 1545700 0.0048802957 0.0024387794 0.0048408 + 1545800 0.0048990582 0.0026014625 0.0050127177 + 1545900 0.0040208125 0.0026997052 0.0046786988 + 1546000 0.00597365 0.002537669 0.0054778249 + 1546100 0.0057277683 0.0023687902 0.0051879261 + 1546200 0.005057944 0.0027132956 0.0052027525 + 1546300 0.004990625 0.0027979527 0.0052542759 + 1546400 0.0048134654 0.0024433377 0.0048124652 + 1546500 0.0053544909 0.002052532 0.0046879455 + 1546600 0.0035835438 0.0018170021 0.0035807776 + 1546700 0.0031818596 0.0020105699 0.0035766415 + 1546800 0.0041296545 0.0023579785 0.0043905429 + 1546900 0.0049519121 0.0021007495 0.0045380187 + 1547000 0.0052590613 0.0019921058 0.0045805501 + 1547100 0.0051841247 0.0025264615 0.0050780229 + 1547200 0.0036882999 0.0028666434 0.0046819785 + 1547300 0.0053979815 0.0029666146 0.0056234336 + 1547400 0.0045796068 0.0032987433 0.0055527686 + 1547500 0.0049277645 0.0035473312 0.0059727154 + 1547600 0.0056794609 0.002463717 0.0052590767 + 1547700 0.0048957825 0.0025200875 0.0049297305 + 1547800 0.0058745378 0.0025502142 0.0054415882 + 1547900 0.006107305 0.0026210089 0.005626948 + 1548000 0.0052155442 0.002826823 0.0053938486 + 1548100 0.0067649827 0.0031701257 0.0064997656 + 1548200 0.0065480011 0.0034575327 0.006680377 + 1548300 0.00693597 0.0036824911 0.0070962888 + 1548400 0.0050376185 0.0036363632 0.006115816 + 1548500 0.0069316353 0.0031809632 0.0065926274 + 1548600 0.0061262461 0.0031000575 0.0061153193 + 1548700 0.0067660079 0.002967052 0.0062971965 + 1548800 0.0051999785 0.0027437061 0.0053030705 + 1548900 0.005616526 0.002353903 0.0051182869 + 1549000 0.0054199462 0.0020781156 0.0047457454 + 1549100 0.0044017848 0.0019792967 0.0041458001 + 1549200 0.0044710664 0.0019886486 0.0041892516 + 1549300 0.0036999037 0.0020115357 0.003832582 + 1549400 0.0042153577 0.0021927975 0.0042675439 + 1549500 0.0043799663 0.0020311401 0.0041869048 + 1549600 0.0055076624 0.0025016586 0.0052124612 + 1549700 0.0048872159 0.002369643 0.0047750695 + 1549800 0.0067538825 0.0018839929 0.0052081694 + 1549900 0.0073850869 0.0023238275 0.0059586749 + 1550000 0.0036540187 0.0029872679 0.0047857302 + 1550100 0.0051176982 0.0027125064 0.0052313735 + 1550200 0.0044115149 0.0025269582 0.0046982507 + 1550300 0.0056773761 0.0022729769 0.0050673105 + 1550400 0.0043159449 0.0020628824 0.0041871365 + 1550500 0.0051065179 0.0023380585 0.0048514228 + 1550600 0.0067672786 0.0025360643 0.0058668342 + 1550700 0.0041815169 0.0029661652 0.0050242555 + 1550800 0.0054616532 0.0034341655 0.006122323 + 1550900 0.0050806329 0.0032867971 0.0057874211 + 1551000 0.0056234876 0.0036643577 0.006432168 + 1551100 0.0058331718 0.0036579161 0.0065289304 + 1551200 0.0059735795 0.0032301194 0.0061702406 + 1551300 0.0045565996 0.0034074881 0.0056501895 + 1551400 0.0070408232 0.0031591746 0.0066245797 + 1551500 0.0042744188 0.003055926 0.0051597415 + 1551600 0.0043088661 0.0030345927 0.0051553627 + 1551700 0.0037500171 0.0026331215 0.0044788331 + 1551800 0.0053886076 0.0022630092 0.0049152145 + 1551900 0.0057658943 0.0026335949 0.005471496 + 1552000 0.004726228 0.0032258143 0.0055520047 + 1552100 0.0049840266 0.0027459769 0.0051990525 + 1552200 0.0043885475 0.0027689024 0.0049288906 + 1552300 0.0047545967 0.0027484336 0.0050885866 + 1552400 0.0052219712 0.0029181204 0.0054883093 + 1552500 0.0057933387 0.002758486 0.0056098949 + 1552600 0.0057672845 0.0026547237 0.005493309 + 1552700 0.0038088142 0.0024888889 0.0043635397 + 1552800 0.0042326931 0.002099703 0.0041829816 + 1552900 0.0042945873 0.0016344803 0.0037482225 + 1553000 0.0040237006 0.0016031735 0.0035835886 + 1553100 0.0047354146 0.0016413763 0.0039720882 + 1553200 0.0043518342 0.0017431132 0.0038850316 + 1553300 0.0044655552 0.0022221739 0.0044200643 + 1553400 0.0032544635 0.0024872041 0.0040890103 + 1553500 0.0054762767 0.0023572263 0.0050525812 + 1553600 0.0053052545 0.0025754657 0.0051866456 + 1553700 0.0057703163 0.0024725409 0.0053126185 + 1553800 0.0070628381 0.0021733528 0.0056495934 + 1553900 0.0044485514 0.0024114066 0.004600928 + 1554000 0.0048000492 0.0023376959 0.0047002202 + 1554100 0.0053545858 0.0023948322 0.0050302924 + 1554200 0.0039072501 0.0022023497 0.0041254494 + 1554300 0.0052130058 0.0021025071 0.0046682834 + 1554400 0.0037969667 0.0022474161 0.0041162357 + 1554500 0.0038771236 0.0020462205 0.0039544923 + 1554600 0.0057874886 0.001833177 0.0046817065 + 1554700 0.0044090276 0.002274185 0.0044442532 + 1554800 0.0059207439 0.0023017309 0.005215847 + 1554900 0.0054595916 0.0027646818 0.0054518245 + 1555000 0.0048483286 0.0024453112 0.004831598 + 1555100 0.005367942 0.0019472447 0.0045892787 + 1555200 0.0049508357 0.0016240006 0.00406074 + 1555300 0.0057651464 0.0017553945 0.0045929275 + 1555400 0.0054749217 0.0018012444 0.0044959325 + 1555500 0.0041884452 0.0021093043 0.0041708047 + 1555600 0.0046477399 0.0022997883 0.0045873478 + 1555700 0.0043078793 0.0029847072 0.0051049915 + 1555800 0.0051528631 0.0033103206 0.0058464954 + 1555900 0.005451874 0.0034756225 0.0061589667 + 1556000 0.0047588319 0.0032504079 0.0055926455 + 1556100 0.0040095088 0.003018379 0.0049918091 + 1556200 0.0047343028 0.0027966566 0.0051268213 + 1556300 0.0043266906 0.0028814078 0.0050109509 + 1556400 0.0045723048 0.0028028855 0.0050533168 + 1556500 0.0060305483 0.0027028082 0.0056709687 + 1556600 0.0057502385 0.0028782077 0.0057084032 + 1556700 0.0051685131 0.0027396522 0.0052835297 + 1556800 0.0059130043 0.0019557545 0.0048660613 + 1556900 0.0052229255 0.0023622163 0.004932875 + 1557000 0.0045622635 0.0025359096 0.0047813986 + 1557100 0.0055684382 0.0023834029 0.0051241185 + 1557200 0.0039598822 0.0027676995 0.0047167041 + 1557300 0.0036836182 0.0031003314 0.0049133623 + 1557400 0.0045167478 0.0028115192 0.005034606 + 1557500 0.0048607686 0.0026872981 0.0050797077 + 1557600 0.004861016 0.0025320047 0.004924536 + 1557700 0.004475153 0.0026295053 0.0048321196 + 1557800 0.0050595554 0.0023366253 0.0048268752 + 1557900 0.003669774 0.0025344748 0.0043406917 + 1558000 0.0041765532 0.0027528734 0.0048085207 + 1558100 0.0053149597 0.0028206091 0.0054365658 + 1558200 0.0044533673 0.0028644336 0.0050563254 + 1558300 0.0036254705 0.0027349636 0.0045193749 + 1558400 0.0041824331 0.002437578 0.0044961193 + 1558500 0.0051048976 0.0026325474 0.0051451142 + 1558600 0.0052429436 0.0030328575 0.0056133688 + 1558700 0.0055600486 0.002731636 0.0054682224 + 1558800 0.0051893675 0.0024179856 0.0049721274 + 1558900 0.005815597 0.0022107297 0.0050730939 + 1559000 0.0054505298 0.0023367119 0.0050193946 + 1559100 0.0058093854 0.0023649962 0.0052243031 + 1559200 0.0051535747 0.0024576971 0.0049942222 + 1559300 0.0050128095 0.0023239978 0.0047912399 + 1559400 0.0053293801 0.002677283 0.0053003373 + 1559500 0.0052142291 0.0031004537 0.0056668321 + 1559600 0.0063234508 0.0032555938 0.0063679173 + 1559700 0.0046763389 0.0032946785 0.0055963141 + 1559800 0.0043880308 0.0030634527 0.0052231866 + 1559900 0.0055477434 0.0028084237 0.0055389537 + 1560000 0.0039171092 0.0024033934 0.0043313456 + 1560100 0.0045587131 0.0024299253 0.0046736669 + 1560200 0.006588495 0.0026669276 0.0059097025 + 1560300 0.0046821669 0.0026213344 0.0049258385 + 1560400 0.0053608103 0.0024192915 0.0050578153 + 1560500 0.0042207404 0.0025510163 0.004628412 + 1560600 0.0043822379 0.0022382682 0.0043951509 + 1560700 0.0046645361 0.0025470572 0.0048428836 + 1560800 0.0045664755 0.0028849658 0.0051325279 + 1560900 0.0067676531 0.0027526658 0.00608362 + 1561000 0.0046937446 0.0034233834 0.0057335858 + 1561100 0.0042776007 0.0028918474 0.0049972291 + 1561200 0.0047479383 0.0022768042 0.00461368 + 1561300 0.0049006596 0.0024473743 0.0048594177 + 1561400 0.0057880646 0.0028522229 0.005701036 + 1561500 0.0045697412 0.0028891095 0.0051382791 + 1561600 0.0047120346 0.0027677684 0.005086973 + 1561700 0.004570985 0.0028210686 0.0050708503 + 1561800 0.005451917 0.0025110432 0.0051944086 + 1561900 0.0045451022 0.0028960948 0.0051331373 + 1562000 0.0037731379 0.003004109 0.0048612003 + 1562100 0.0066911155 0.0034157886 0.006709072 + 1562200 0.0057186409 0.0030798792 0.0058945228 + 1562300 0.0045255742 0.0027237664 0.0049511974 + 1562400 0.005358735 0.0027016837 0.0053391861 + 1562500 0.0063072895 0.0028867093 0.0059910783 + 1562600 0.0038327284 0.0028936279 0.0047800489 + 1562700 0.0040731312 0.0027665793 0.0047713235 + 1562800 0.0048582361 0.0026246688 0.0050158319 + 1562900 0.0066632136 0.0025262875 0.0058058379 + 1563000 0.0041865481 0.0029494919 0.0050100586 + 1563100 0.0061145195 0.0029564432 0.0059659333 + 1563200 0.0044923207 0.00298449 0.0051955541 + 1563300 0.0047703776 0.0024665174 0.0048144376 + 1563400 0.0060025774 0.0022536254 0.005208019 + 1563500 0.0059916154 0.0021820335 0.0051310317 + 1563600 0.0051765934 0.002866766 0.0054146206 + 1563700 0.0042054106 0.0033189354 0.0053887859 + 1563800 0.0047910563 0.0030094648 0.0053675628 + 1563900 0.0048881185 0.0024678151 0.0048736859 + 1564000 0.003813069 0.0021769922 0.0040537371 + 1564100 0.0042811758 0.002276822 0.0043839632 + 1564200 0.0065097921 0.0019191227 0.005123161 + 1564300 0.0078023108 0.0020849617 0.0059251616 + 1564400 0.0052355653 0.0022005422 0.004777422 + 1564500 0.0046497289 0.002637401 0.0049259395 + 1564600 0.0048406506 0.0024257913 0.004808299 + 1564700 0.0045454054 0.0023774458 0.0046146376 + 1564800 0.0048901436 0.0021995889 0.0046064564 + 1564900 0.0052027904 0.0021939137 0.0047546622 + 1565000 0.0043025045 0.0027430719 0.0048607108 + 1565100 0.0042745229 0.0029218375 0.0050257042 + 1565200 0.0060169714 0.0035898249 0.006551303 + 1565300 0.0082240018 0.0030279015 0.0070756524 + 1565400 0.0053254684 0.0030352171 0.0056563461 + 1565500 0.0052567654 0.0030996129 0.0056869271 + 1565600 0.0048247676 0.0031188943 0.0054935846 + 1565700 0.0040267048 0.0030141485 0.0049960423 + 1565800 0.0054220929 0.0027826566 0.0054513429 + 1565900 0.0060505542 0.0024242195 0.0054022267 + 1566000 0.0045775848 0.0026193906 0.0048724207 + 1566100 0.0056984137 0.0027122851 0.0055169731 + 1566200 0.0052827088 0.0026895976 0.0052896808 + 1566300 0.0049700517 0.0027388731 0.0051850704 + 1566400 0.0059108245 0.0024681642 0.0053773982 + 1566500 0.0046202996 0.0026454739 0.0049195277 + 1566600 0.0057839407 0.0025296035 0.0053763868 + 1566700 0.0060465361 0.0023105483 0.0052865778 + 1566800 0.0043092435 0.002489544 0.0046104998 + 1566900 0.0044036108 0.0026586647 0.0048260669 + 1567000 0.0053389413 0.0025952438 0.005223004 + 1567100 0.0067758074 0.0026620791 0.0059970469 + 1567200 0.0069635451 0.0023732118 0.0058005816 + 1567300 0.0041601971 0.0021614714 0.0042090684 + 1567400 0.0062606858 0.0021807497 0.005262181 + 1567500 0.0068357038 0.0026498956 0.0060143436 + 1567600 0.0038671557 0.0025664376 0.0044698033 + 1567700 0.0057484679 0.0022801596 0.0051094836 + 1567800 0.0068087945 0.0024563609 0.0058075645 + 1567900 0.0057511292 0.0022973528 0.0051279867 + 1568000 0.0053167168 0.0025422583 0.0051590798 + 1568100 0.0040447274 0.002513191 0.0045039553 + 1568200 0.0056956958 0.0027224075 0.0055257578 + 1568300 0.0046687461 0.0033777321 0.0056756306 + 1568400 0.0057649763 0.003909089 0.0067465382 + 1568500 0.0063496693 0.0041098667 0.0072350945 + 1568600 0.0059244561 0.0038862205 0.0068021638 + 1568700 0.0057863508 0.0038168779 0.0066648475 + 1568800 0.006409447 0.0029544805 0.0061091302 + 1568900 0.0062785977 0.0026452272 0.0057354745 + 1569000 0.0048372743 0.0026289445 0.0050097904 + 1569100 0.0046569917 0.0022795465 0.0045716596 + 1569200 0.0037983755 0.0023473909 0.0042169039 + 1569300 0.0052964668 0.0020512979 0.0046581526 + 1569400 0.0062053515 0.0018841169 0.0049383133 + 1569500 0.0048116922 0.0017820862 0.0041503409 + 1569600 0.005461677 0.0019620395 0.0046502087 + 1569700 0.0056772611 0.0021785916 0.0049728686 + 1569800 0.0047518715 0.0024066823 0.0047454941 + 1569900 0.005076947 0.002045635 0.0045444448 + 1570000 0.0049919299 0.0022560758 0.0047130413 + 1570100 0.0063363454 0.0026851953 0.0058038653 + 1570200 0.0063076606 0.003211753 0.0063163048 + 1570300 0.0047404908 0.0036467863 0.0059799967 + 1570400 0.0051974715 0.003165474 0.0057236045 + 1570500 0.0048665615 0.0027748966 0.0051701574 + 1570600 0.0053529951 0.0028245095 0.0054591868 + 1570700 0.0049419578 0.0027699052 0.0052022751 + 1570800 0.0051238104 0.0025681235 0.0050899989 + 1570900 0.0048235233 0.0026017958 0.0049758736 + 1571000 0.0086286711 0.0025990266 0.0068459506 + 1571100 0.0056619418 0.0027627726 0.0055495096 + 1571200 0.0060733655 0.0022951696 0.0052844042 + 1571300 0.00631883 0.0019235717 0.0050336208 + 1571400 0.0033686878 0.0021983491 0.0038563752 + 1571500 0.0052567712 0.0024273572 0.0050146742 + 1571600 0.0045142022 0.0025754127 0.0047972466 + 1571700 0.0045888073 0.0021527891 0.0044113427 + 1571800 0.0051401099 0.0020776066 0.0046075044 + 1571900 0.0035801561 0.0023862875 0.0041483956 + 1572000 0.0061267775 0.0022776938 0.0052932171 + 1572100 0.0056790952 0.0020952677 0.0048904474 + 1572200 0.0063761139 0.0020529344 0.0051911779 + 1572300 0.0065699641 0.002525814 0.0057594683 + 1572400 0.0039547661 0.0027677027 0.0047141892 + 1572500 0.00536703 0.0026510483 0.0052926334 + 1572600 0.0042758921 0.0026869867 0.0047915274 + 1572700 0.0055924844 0.0028031408 0.0055556917 + 1572800 0.0043813905 0.0034406119 0.0055970775 + 1572900 0.0053080182 0.0032792483 0.0058917885 + 1573000 0.005464643 0.0027397626 0.0054293916 + 1573100 0.0052726896 0.0021621871 0.004757339 + 1573200 0.0046117138 0.0023189045 0.0045887324 + 1573300 0.0050671473 0.0027146027 0.0052085892 + 1573400 0.0043960363 0.0027354985 0.0048991727 + 1573500 0.0035983274 0.0025008931 0.0042719448 + 1573600 0.0050384741 0.0023847208 0.0048645948 + 1573700 0.0075343602 0.0021438265 0.0058521445 + 1573800 0.0043693056 0.00290184 0.0050523576 + 1573900 0.0054669231 0.0030048682 0.0056956194 + 1574000 0.0052884919 0.0030516633 0.005654593 + 1574100 0.0050084727 0.0028981622 0.0053632699 + 1574200 0.0043080829 0.0028604821 0.0049808666 + 1574300 0.0069234385 0.0027914303 0.0061990602 + 1574400 0.0063446762 0.0025018224 0.0056245927 + 1574500 0.0049590251 0.0021153102 0.0045560803 + 1574600 0.0058866942 0.0019927614 0.0048901187 + 1574700 0.0057685203 0.0023762166 0.0052154102 + 1574800 0.0055198906 0.0027462669 0.0054630881 + 1574900 0.0049793801 0.0026808213 0.00513161 + 1575000 0.00475631 0.0027485152 0.0050895115 + 1575100 0.0069835417 0.0026263427 0.0060635546 + 1575200 0.005350482 0.0025791114 0.0052125518 + 1575300 0.0041986807 0.0026548958 0.0047214339 + 1575400 0.0050169598 0.002922725 0.00539201 + 1575500 0.0064598945 0.0025940488 0.0057735282 + 1575600 0.0048722792 0.0027182243 0.0051162992 + 1575700 0.0043504723 0.0028340165 0.0049752645 + 1575800 0.0047074307 0.0027192736 0.0050362122 + 1575900 0.0052286924 0.0023240203 0.0048975174 + 1576000 0.0047314031 0.0022900335 0.004618771 + 1576100 0.005524252 0.0026189422 0.00533791 + 1576200 0.0043854326 0.0026524414 0.0048108965 + 1576300 0.0044578575 0.0024188341 0.0046129358 + 1576400 0.0055619115 0.0020595673 0.0047970706 + 1576500 0.0036223306 0.0024144712 0.004197337 + 1576600 0.0055367264 0.002393796 0.0051189036 + 1576700 0.0053150098 0.0027311765 0.0053471579 + 1576800 0.0046246012 0.0025291783 0.0048053492 + 1576900 0.005442827 0.0022180158 0.0048969072 + 1577000 0.0040140158 0.0021730544 0.0041487028 + 1577100 0.0058246422 0.00203707 0.004903886 + 1577200 0.0049362886 0.0023732595 0.0048028391 + 1577300 0.0049600536 0.0025984126 0.005039689 + 1577400 0.0047085737 0.0024837429 0.004801244 + 1577500 0.0038727613 0.00240444 0.0043105647 + 1577600 0.0046659364 0.0020658619 0.0043623774 + 1577700 0.0058526039 0.0018967139 0.0047772924 + 1577800 0.0040599744 0.0024265771 0.0044248457 + 1577900 0.0041714662 0.002561777 0.0046149205 + 1578000 0.0043181295 0.0018919788 0.0040173082 + 1578100 0.0051365203 0.0015413851 0.0040695162 + 1578200 0.0044781166 0.0016587765 0.0038628495 + 1578300 0.0049549922 0.0015587223 0.0039975075 + 1578400 0.0047740401 0.0019001204 0.0042498432 + 1578500 0.0043444513 0.0020618389 0.0042001235 + 1578600 0.0044951295 0.0018380812 0.0040505278 + 1578700 0.0056927786 0.0018400944 0.0046420088 + 1578800 0.004620508 0.0019560352 0.0042301915 + 1578900 0.0065141856 0.0015900942 0.0047962949 + 1579000 0.0051614282 0.001669409 0.0042097995 + 1579100 0.0053378887 0.0020525591 0.0046798012 + 1579200 0.005392074 0.0023021448 0.0049560562 + 1579300 0.0036725035 0.0020895691 0.0038971294 + 1579400 0.0044592716 0.0021248912 0.0043196889 + 1579500 0.0037967168 0.0022242395 0.0040929361 + 1579600 0.0048190561 0.0021811914 0.0045530706 + 1579700 0.0045198986 0.0021946519 0.0044192895 + 1579800 0.0063532953 0.0017606555 0.004887668 + 1579900 0.0051164479 0.0018315908 0.0043498425 + 1580000 0.0055424258 0.0020218277 0.0047497404 + 1580100 0.0062613017 0.0024941768 0.0055759112 + 1580200 0.0061615565 0.0029073231 0.0059399642 + 1580300 0.0060279579 0.0026668152 0.0056337008 + 1580400 0.0054242212 0.002789877 0.0054596109 + 1580500 0.0057453488 0.0027876283 0.0056154172 + 1580600 0.0064534862 0.0024339198 0.0056102451 + 1580700 0.0041853434 0.0025441333 0.004604107 + 1580800 0.0060576386 0.0027034795 0.0056849735 + 1580900 0.0051243464 0.0024781252 0.0050002644 + 1581000 0.004201813 0.0017640459 0.0038321257 + 1581100 0.00399069 0.0019651346 0.0039293023 + 1581200 0.0038954181 0.0018747589 0.003792035 + 1581300 0.0049893215 0.0018552405 0.0043109222 + 1581400 0.0059389441 0.0017281545 0.0046512286 + 1581500 0.004642993 0.0020063355 0.0042915587 + 1581600 0.0069953305 0.0020260346 0.0054690488 + 1581700 0.0057983709 0.0024335216 0.0052874072 + 1581800 0.0051675129 0.0024758566 0.0050192419 + 1581900 0.0047957573 0.002498002 0.0048584138 + 1582000 0.0054338341 0.0021006881 0.0047751533 + 1582100 0.0039773121 0.0021127204 0.0040703036 + 1582200 0.0050427516 0.0024058944 0.0048878737 + 1582300 0.003659936 0.0025395938 0.0043409685 + 1582400 0.006786266 0.0022891211 0.0056292364 + 1582500 0.0052109448 0.0025695398 0.0051343017 + 1582600 0.0044367894 0.0027099083 0.0048936406 + 1582700 0.0050424744 0.0018603725 0.0043422153 + 1582800 0.0038373601 0.0019327149 0.0038214156 + 1582900 0.0052585109 0.0021884031 0.0047765764 + 1583000 0.0052591541 0.0023334893 0.0049219793 + 1583100 0.0040441909 0.0025093222 0.0044998225 + 1583200 0.0042386512 0.0023923727 0.0044785838 + 1583300 0.0051433678 0.0025190245 0.0050505258 + 1583400 0.0046488221 0.0023850326 0.0046731248 + 1583500 0.0051018558 0.0025406176 0.0050516872 + 1583600 0.0044565595 0.0021359378 0.0043294007 + 1583700 0.0035215033 0.0019136578 0.0036468977 + 1583800 0.0049237651 0.0020508311 0.0044742467 + 1583900 0.004752269 0.0024858143 0.0048248217 + 1584000 0.0056544259 0.0031694034 0.0059524411 + 1584100 0.0065647375 0.0031621713 0.0063932531 + 1584200 0.005722126 0.0030735519 0.0058899108 + 1584300 0.0049034313 0.0028310581 0.0052444657 + 1584400 0.0057131705 0.0026416531 0.0054536042 + 1584500 0.0045166034 0.0026237106 0.0048467263 + 1584600 0.0052876157 0.0026324345 0.0052349329 + 1584700 0.0052133152 0.0022351073 0.0048010359 + 1584800 0.0037175023 0.0021677287 0.0039974369 + 1584900 0.0044229281 0.0024542445 0.0046311544 + 1585000 0.0040643582 0.002680055 0.0046804813 + 1585100 0.0047491753 0.0027617283 0.005099213 + 1585200 0.0047422029 0.002174019 0.004508072 + 1585300 0.004563221 0.0021086898 0.0043546502 + 1585400 0.005063662 0.0018487429 0.0043410141 + 1585500 0.0042928544 0.0017799855 0.0038928748 + 1585600 0.0048379594 0.0015194877 0.0039006708 + 1585700 0.0049071725 0.0016724981 0.0040877471 + 1585800 0.0041223902 0.001487846 0.003516835 + 1585900 0.0058114851 0.0016416867 0.004502027 + 1586000 0.0050988122 0.0017834031 0.0042929748 + 1586100 0.0042925348 0.0020469953 0.0041597272 + 1586200 0.0039994056 0.0019360671 0.0039045245 + 1586300 0.003975639 0.0023560783 0.0043128381 + 1586400 0.0045719919 0.0020939443 0.0043442215 + 1586500 0.0042069506 0.0017573745 0.003827983 + 1586600 0.0047634178 0.0017355396 0.0040800343 + 1586700 0.0047785687 0.001918367 0.0042703188 + 1586800 0.0047154733 0.0022767577 0.0045976547 + 1586900 0.0059446193 0.0021681572 0.0050940245 + 1587000 0.0053180013 0.0022556846 0.0048731384 + 1587100 0.0038084594 0.0024737511 0.0043482272 + 1587200 0.005483877 0.002421265 0.0051203607 + 1587300 0.0054600607 0.0021972497 0.0048846233 + 1587400 0.0051333407 0.0023517236 0.0048782898 + 1587500 0.0043969768 0.0027337463 0.0048978834 + 1587600 0.0058871872 0.0024230005 0.0053206004 + 1587700 0.0048570012 0.0023281502 0.0047187055 + 1587800 0.0064710044 0.002314667 0.0054996145 + 1587900 0.0040037605 0.0023307285 0.0043013293 + 1588000 0.0050947644 0.0023675887 0.0048751681 + 1588100 0.0035596616 0.0027212233 0.0044732443 + 1588200 0.0054708254 0.0024669485 0.0051596204 + 1588300 0.0056779045 0.0025657491 0.0053603427 + 1588400 0.0053866156 0.0022524994 0.0049037242 + 1588500 0.0051547904 0.0024222047 0.0049593281 + 1588600 0.0052069795 0.0027689779 0.0053317881 + 1588700 0.0047003245 0.0027823105 0.0050957515 + 1588800 0.0045631305 0.0030203816 0.0052662974 + 1588900 0.0046944171 0.0030409638 0.0053514972 + 1589000 0.0074931965 0.0029736483 0.006661706 + 1589100 0.0068660716 0.0030742168 0.0064536114 + 1589200 0.0074997257 0.0029327195 0.0066239907 + 1589300 0.0043630058 0.0031850642 0.0053324811 + 1589400 0.0042071613 0.0026943915 0.0047651037 + 1589500 0.0071988634 0.0023138689 0.0058570595 + 1589600 0.0044055538 0.0023443862 0.0045127447 + 1589700 0.0054214139 0.0024266549 0.005095007 + 1589800 0.0050860237 0.0024378587 0.004941136 + 1589900 0.0036188718 0.0023155232 0.0040966867 + 1590000 0.0042047185 0.0020460981 0.0041156079 + 1590100 0.0046529004 0.0019620829 0.0042521823 + 1590200 0.0029176668 0.0020368272 0.0034728663 + 1590300 0.0038188616 0.0019107387 0.0037903347 + 1590400 0.0040788245 0.0018480652 0.0038556116 + 1590500 0.0042179801 0.0019019887 0.0039780258 + 1590600 0.0036532922 0.0021922504 0.0039903551 + 1590700 0.0054326519 0.0023167716 0.004990655 + 1590800 0.0046169288 0.0024788242 0.0047512188 + 1590900 0.0068430849 0.0027411775 0.0061092583 + 1591000 0.0058273156 0.0026316154 0.0054997473 + 1591100 0.0060569145 0.0028112725 0.0057924101 + 1591200 0.0048064262 0.0025595322 0.0049251951 + 1591300 0.0049661251 0.0023136436 0.0047579083 + 1591400 0.003707035 0.0022752267 0.0040997829 + 1591500 0.0056829709 0.0016898806 0.0044869679 + 1591600 0.0040203096 0.0014872958 0.0034660419 + 1591700 0.0047930891 0.0015071324 0.003866231 + 1591800 0.0040708759 0.0019583731 0.0039620073 + 1591900 0.0054918717 0.0018054008 0.0045084314 + 1592000 0.004151575 0.0019016307 0.0039449841 + 1592100 0.0044988222 0.001899889 0.004114153 + 1592200 0.005217525 0.0018724489 0.0044404495 + 1592300 0.0052766034 0.0021268755 0.0047239538 + 1592400 0.0054603656 0.0025998236 0.0052873473 + 1592500 0.0046175049 0.0022968326 0.0045695108 + 1592600 0.0043958853 0.0022511283 0.0044147281 + 1592700 0.0049991939 0.0025153151 0.0049758559 + 1592800 0.0051857696 0.002302592 0.004854963 + 1592900 0.0046877663 0.002330559 0.004637819 + 1593000 0.004854663 0.0023214067 0.0047108112 + 1593100 0.0040062659 0.0025394328 0.0045112668 + 1593200 0.005343076 0.0029215819 0.0055513772 + 1593300 0.0032162973 0.0033184519 0.0049014732 + 1593400 0.0051703845 0.0032382371 0.0057830358 + 1593500 0.0036450322 0.0032421903 0.0050362296 + 1593600 0.0048849217 0.0029863749 0.0053906723 + 1593700 0.0065149431 0.0023045919 0.0055111655 + 1593800 0.003501124 0.0027234924 0.0044467018 + 1593900 0.004084296 0.0024861167 0.0044963561 + 1594000 0.0062021136 0.0024135847 0.0054661875 + 1594100 0.0049631209 0.0022160357 0.0046588217 + 1594200 0.0063790042 0.0022593298 0.005398996 + 1594300 0.0047455938 0.0025855721 0.0049212941 + 1594400 0.0043011359 0.0026189978 0.0047359632 + 1594500 0.002851039 0.0024450878 0.0038483335 + 1594600 0.0053812708 0.0025525663 0.0052011605 + 1594700 0.0071642142 0.0021648256 0.0056909623 + 1594800 0.0044149043 0.0023987726 0.0045717333 + 1594900 0.0058370022 0.0025200124 0.0053929119 + 1595000 0.0039393348 0.0023332235 0.0042721148 + 1595100 0.0042156263 0.0019120281 0.0039869067 + 1595200 0.0054885343 0.0018058998 0.0045072878 + 1595300 0.0038360159 0.0020610299 0.003949069 + 1595400 0.0055459077 0.0024246996 0.005154326 + 1595500 0.0054824196 0.0027138236 0.0054122019 + 1595600 0.0053939296 0.0029786621 0.0056334869 + 1595700 0.0065460013 0.0021857483 0.0054076083 + 1595800 0.0052831684 0.0019938121 0.0045941215 + 1595900 0.0041178288 0.0018523463 0.0038790902 + 1596000 0.0055697399 0.0021568962 0.0048982525 + 1596100 0.0041816597 0.0030199677 0.0050781283 + 1596200 0.0031115822 0.0032706168 0.0048020987 + 1596300 0.0049608444 0.0029127704 0.005354436 + 1596400 0.0039215722 0.0031558551 0.0050860039 + 1596500 0.0047328975 0.003024492 0.005353965 + 1596600 0.0042035268 0.0028061399 0.0048750632 + 1596700 0.0049004179 0.0030208491 0.0054327736 + 1596800 0.0047628173 0.0027882283 0.0051324274 + 1596900 0.0060027044 0.0024469472 0.0054014032 + 1597000 0.0057209146 0.0027601928 0.0055759554 + 1597100 0.0047408142 0.0030426648 0.0053760342 + 1597200 0.0030014282 0.0027572923 0.0042345578 + 1597300 0.004846891 0.0022740761 0.0046596553 + 1597400 0.0037410297 0.0021874315 0.0040287196 + 1597500 0.0043874138 0.0019160558 0.0040754861 + 1597600 0.0049913003 0.0019499917 0.0044066473 + 1597700 0.0047622203 0.0021108237 0.004454729 + 1597800 0.0043343069 0.0022779198 0.0044112115 + 1597900 0.0055585837 0.0023139456 0.005049811 + 1598000 0.0038272801 0.0024246616 0.004308401 + 1598100 0.0041382353 0.0025562953 0.004593083 + 1598200 0.0050540289 0.0026864618 0.0051739916 + 1598300 0.0056165474 0.0031356775 0.0059000719 + 1598400 0.0052344469 0.0031516162 0.0057279455 + 1598500 0.0054082041 0.0025284788 0.0051903293 + 1598600 0.0052479792 0.0022988491 0.0048818389 + 1598700 0.0046545918 0.0025686884 0.0048596204 + 1598800 0.0046024249 0.0030872571 0.0053525131 + 1598900 0.0058678106 0.0032713377 0.0061594007 + 1599000 0.0048277854 0.0033193301 0.0056955057 + 1599100 0.00439184 0.0034086673 0.0055702761 + 1599200 0.0041094072 0.003150597 0.0051731959 + 1599300 0.0050949157 0.0032221352 0.005729789 + 1599400 0.0039936995 0.0032152734 0.0051809224 + 1599500 0.0063211533 0.0023917176 0.0055029102 + 1599600 0.0058423018 0.0023804816 0.0052559895 + 1599700 0.0046246365 0.0024989802 0.0047751685 + 1599800 0.0049495828 0.0028262729 0.0052623957 + 1599900 0.004017195 0.0026675133 0.0046447265 + 1600000 0.0043745132 0.0022793758 0.0044324565 + 1600100 0.0045895815 0.0019854556 0.0042443902 + 1600200 0.0046984851 0.0019322348 0.0042447704 + 1600300 0.0042268557 0.002334804 0.0044152095 + 1600400 0.004793568 0.00266546 0.0050247942 + 1600500 0.0034391627 0.0025632569 0.0042559698 + 1600600 0.0070550335 0.0018301032 0.0053025025 + 1600700 0.0049394058 0.0018528273 0.0042839411 + 1600800 0.0028422524 0.0021068447 0.0035057658 + 1600900 0.0067434009 0.0024164147 0.0057354323 + 1601000 0.0056388282 0.0025440986 0.0053194594 + 1601100 0.0053751386 0.0028182141 0.0054637901 + 1601200 0.0052389928 0.0029078564 0.0054864232 + 1601300 0.0050333931 0.0025304788 0.005007852 + 1601400 0.0059482039 0.0021028452 0.0050304768 + 1601500 0.0055213581 0.0024346701 0.0051522135 + 1601600 0.0037288743 0.002324804 0.0041601093 + 1601700 0.0056556503 0.0022049677 0.0049886081 + 1601800 0.0040624726 0.0024726491 0.0044721474 + 1601900 0.0034867964 0.0027830459 0.0044992035 + 1602000 0.0049679296 0.0029009672 0.0053461201 + 1602100 0.0055335335 0.0027743488 0.0054978849 + 1602200 0.0045418546 0.0034519694 0.0056874134 + 1602300 0.0052809575 0.0034501904 0.0060494116 + 1602400 0.0058651238 0.0025227757 0.0054095163 + 1602500 0.0049361528 0.00231091 0.0047404227 + 1602600 0.0043104513 0.0022764544 0.0043980046 + 1602700 0.0053271617 0.0024139678 0.0050359302 + 1602800 0.0058995609 0.0028624595 0.0057661496 + 1602900 0.0054241437 0.0032762902 0.005945986 + 1603000 0.0050448779 0.0032366549 0.0057196807 + 1603100 0.0057075978 0.0023601516 0.0051693599 + 1603200 0.0041655963 0.0023425385 0.0043927929 + 1603300 0.0060295574 0.0020519236 0.0050195963 + 1603400 0.005426414 0.0017187423 0.0043895555 + 1603500 0.0056009155 0.0017236258 0.0044803264 + 1603600 0.006974447 0.0019857075 0.0054184431 + 1603700 0.0048882396 0.002523061 0.0049289914 + 1603800 0.0043380562 0.0025434864 0.0046786235 + 1603900 0.0052584945 0.0024918351 0.0050800004 + 1604000 0.0059326972 0.002127988 0.0050479874 + 1604100 0.0065950881 0.0017500762 0.0049960961 + 1604200 0.00482263 0.0020711601 0.0044447983 + 1604300 0.0051458668 0.0023107803 0.0048435117 + 1604400 0.0042680554 0.0023723408 0.0044730243 + 1604500 0.0053742789 0.002362173 0.0050073259 + 1604600 0.0041118319 0.002375179 0.0043989712 + 1604700 0.0050831249 0.0022667311 0.0047685816 + 1604800 0.0041086992 0.0022873299 0.0043095803 + 1604900 0.0047018885 0.0026513396 0.0049655503 + 1605000 0.0053649309 0.0026216195 0.0052621715 + 1605100 0.0060363937 0.0024252532 0.0053962908 + 1605200 0.0054765132 0.002795359 0.0054908303 + 1605300 0.0039269883 0.00303796 0.0049707745 + 1605400 0.0051422275 0.0027354927 0.0052664327 + 1605500 0.0054841678 0.0024499587 0.0051491976 + 1605600 0.0055229626 0.0025339272 0.0052522603 + 1605700 0.005089259 0.0029509259 0.0054557956 + 1605800 0.0043764435 0.0032017757 0.0053558065 + 1605900 0.004190651 0.0031920615 0.0052546475 + 1606000 0.0047882674 0.0029578637 0.005314589 + 1606100 0.0059971781 0.0026759884 0.0056277245 + 1606200 0.005728652 0.0025349262 0.0053544971 + 1606300 0.0062639303 0.0024751203 0.0055581485 + 1606400 0.0041794934 0.0025617197 0.0046188141 + 1606500 0.0064613885 0.0020815211 0.0052617358 + 1606600 0.0045546195 0.0021451614 0.0043868882 + 1606700 0.0047886895 0.0024426601 0.0047995932 + 1606800 0.0056471202 0.0024305207 0.0052099627 + 1606900 0.0049907273 0.002468332 0.0049247056 + 1607000 0.0041845634 0.0022233762 0.0042829659 + 1607100 0.0042700232 0.0027501835 0.0048518355 + 1607200 0.0052964323 0.0027567015 0.0053635393 + 1607300 0.0055170809 0.0025907369 0.0053061752 + 1607400 0.0048916594 0.0027149177 0.0051225313 + 1607500 0.0044964207 0.0025374189 0.004750501 + 1607600 0.0039441887 0.0024275679 0.0043688482 + 1607700 0.003897614 0.0021153706 0.0040337275 + 1607800 0.0040291982 0.0020320668 0.0040151878 + 1607900 0.004002073 0.0018992941 0.0038690644 + 1608000 0.0050251084 0.0022581123 0.0047314079 + 1608100 0.004070836 0.0021913543 0.0041949689 + 1608200 0.0046930311 0.002632906 0.0049427573 + 1608300 0.003937739 0.0025916814 0.0045297873 + 1608400 0.0056694888 0.0021333682 0.0049238197 + 1608500 0.0065816405 0.0020128297 0.0052522309 + 1608600 0.0046214969 0.0021051358 0.0043797788 + 1608700 0.0047078134 0.0023058353 0.0046229621 + 1608800 0.0053080629 0.0026603705 0.0052729327 + 1608900 0.0056237557 0.0024408175 0.0052087598 + 1609000 0.0052624346 0.0024042331 0.0049943377 + 1609100 0.0063787001 0.0024748284 0.0056143449 + 1609200 0.0035646447 0.0031737737 0.0049282473 + 1609300 0.0049314463 0.0036753054 0.0061025017 + 1609400 0.0051582992 0.0037673146 0.006306165 + 1609500 0.0040492678 0.0037583079 0.0057513069 + 1609600 0.0044385477 0.0030328268 0.0052174245 + 1609700 0.0051611024 0.0025641295 0.0051043596 + 1609800 0.0045539401 0.0023415549 0.0045829473 + 1609900 0.0038430315 0.0025131945 0.0044046866 + 1610000 0.0047565674 0.0028025376 0.0051436606 + 1610100 0.0057652593 0.0029541475 0.005791736 + 1610200 0.0059286459 0.0030276191 0.0059456246 + 1610300 0.0059947404 0.0028466799 0.0057972162 + 1610400 0.00604313 0.0030184176 0.0059927707 + 1610500 0.0065487436 0.0024534783 0.005676688 + 1610600 0.0052184953 0.0023768378 0.004945316 + 1610700 0.0037095881 0.002417048 0.0042428609 + 1610800 0.0045604004 0.0024595834 0.0047041555 + 1610900 0.0055044472 0.0027086299 0.0054178501 + 1611000 0.0053146434 0.0028215083 0.0054373094 + 1611100 0.005082257 0.0029581165 0.0054595399 + 1611200 0.005223638 0.0031048414 0.0056758508 + 1611300 0.004918254 0.0026950221 0.0051157252 + 1611400 0.0052047618 0.0025115833 0.005073302 + 1611500 0.0062551376 0.0027344763 0.0058131768 + 1611600 0.006252729 0.0030881086 0.0061656236 + 1611700 0.0047875219 0.0031112528 0.0054676112 + 1611800 0.0044900789 0.0031881043 0.005398065 + 1611900 0.0076259731 0.0025564529 0.0063098615 + 1612000 0.0060367684 0.0028074859 0.0057787079 + 1612100 0.0042247907 0.0030352014 0.0051145906 + 1612200 0.005590746 0.0024210295 0.0051727248 + 1612300 0.0041198692 0.0022966997 0.0043244479 + 1612400 0.0049503843 0.0021513411 0.0045878584 + 1612500 0.0060779413 0.0019982704 0.0049897571 + 1612600 0.0050257062 0.002223146 0.0046967357 + 1612700 0.0039217894 0.0021930495 0.0041233053 + 1612800 0.0045941635 0.0022158566 0.0044770464 + 1612900 0.0034313888 0.0026800819 0.0043689686 + 1613000 0.0057187795 0.0025554462 0.005370158 + 1613100 0.0055306355 0.0030900529 0.0058121626 + 1613200 0.0048194059 0.0032506782 0.0056227296 + 1613300 0.005985996 0.0030830993 0.0060293317 + 1613400 0.0050039417 0.0024906743 0.0049535519 + 1613500 0.0051001646 0.0019312625 0.0044414998 + 1613600 0.0046083342 0.0021513844 0.0044195489 + 1613700 0.0043670427 0.002499628 0.0046490318 + 1613800 0.004959452 0.0024819977 0.004922978 + 1613900 0.0034556631 0.0021691991 0.0038700333 + 1614000 0.0050439013 0.0021366176 0.0046191627 + 1614100 0.0050370021 0.0018127313 0.0042918808 + 1614200 0.0058431277 0.0017967849 0.0046726993 + 1614300 0.0058064709 0.0017086086 0.0045664811 + 1614400 0.0031850803 0.0018955573 0.003463214 + 1614500 0.0031524332 0.0018781936 0.0034297819 + 1614600 0.0054399302 0.0019625674 0.004640033 + 1614700 0.0048807247 0.0018930391 0.0042952708 + 1614800 0.0062686613 0.0018580308 0.0049433875 + 1614900 0.0056355562 0.0030230741 0.0057968244 + 1615000 0.0050039235 0.0038420801 0.0063049486 + 1615100 0.0058849708 0.0030824938 0.0059790029 + 1615200 0.0047278331 0.0027362131 0.0050631934 + 1615300 0.0041897113 0.0027089164 0.0047710399 + 1615400 0.0050328856 0.0025802944 0.0050574178 + 1615500 0.0052364461 0.0027253615 0.0053026748 + 1615600 0.0048289286 0.0028643359 0.0052410742 + 1615700 0.0044498189 0.0030454785 0.0052356238 + 1615800 0.0060777622 0.0026071206 0.0055985192 + 1615900 0.0051868459 0.0019963934 0.0045492941 + 1616000 0.0040910556 0.0024157473 0.0044293138 + 1616100 0.0057285988 0.002600197 0.0054197418 + 1616200 0.0059873455 0.002843569 0.0057904656 + 1616300 0.0053956511 0.0032552266 0.0059108986 + 1616400 0.0054550829 0.0031686793 0.0058536029 + 1616500 0.0039139207 0.0027483776 0.0046747604 + 1616600 0.0055410923 0.0023791693 0.0051064256 + 1616700 0.0036428497 0.0021620253 0.0039549904 + 1616800 0.004636639 0.0015438197 0.0038259154 + 1616900 0.0042411274 0.0013967856 0.0034842155 + 1617000 0.0039721117 0.001893474 0.0038484977 + 1617100 0.0049619091 0.0022864851 0.0047286747 + 1617200 0.0064114705 0.0020242968 0.0051799425 + 1617300 0.0051911132 0.002031956 0.0045869571 + 1617400 0.0051283708 0.002290093 0.004814213 + 1617500 0.0050483959 0.0021394307 0.0046241881 + 1617600 0.0037335683 0.0018799636 0.0037175793 + 1617700 0.0055778747 0.0023572778 0.005102638 + 1617800 0.0046368528 0.0031646796 0.0054468806 + 1617900 0.0038817368 0.0036307631 0.0055413054 + 1618000 0.0043367073 0.0037103184 0.0058447915 + 1618100 0.0065962211 0.0034912398 0.0067378174 + 1618200 0.00467878 0.0032058599 0.0055086969 + 1618300 0.0050097712 0.0031584135 0.0056241603 + 1618400 0.0046472607 0.0030264288 0.0053137524 + 1618500 0.0041731709 0.0028593788 0.0049133613 + 1618600 0.0051558456 0.0027209578 0.0052586006 + 1618700 0.0032559283 0.0025755236 0.0041780508 + 1618800 0.0042700649 0.0026039108 0.0047055834 + 1618900 0.0065345854 0.0023880844 0.0056043257 + 1619000 0.0062264592 0.0022482142 0.0053127995 + 1619100 0.0055246046 0.0023476098 0.0050667511 + 1619200 0.0051234802 0.0024532434 0.0049749563 + 1619300 0.0051797105 0.0026008207 0.0051502095 + 1619400 0.0046729854 0.0022908786 0.0045908637 + 1619500 0.0077088643 0.0020655663 0.0058597729 + 1619600 0.0046048984 0.0019554412 0.0042219146 + 1619700 0.0042809713 0.002305986 0.0044130266 + 1619800 0.0045569727 0.0024190566 0.0046619415 + 1619900 0.0055875873 0.0028185852 0.0055687259 + 1620000 0.004069753 0.0026058147 0.0046088962 + 1620100 0.0057136736 0.001923045 0.0047352437 + 1620200 0.0038524831 0.0018775909 0.0037737349 + 1620300 0.0056943401 0.0016436055 0.0044462885 + 1620400 0.0045443441 0.0018236454 0.0040603147 + 1620500 0.0055055138 0.0016650387 0.0043747838 + 1620600 0.0054116992 0.0017311293 0.0043947 + 1620700 0.0043399493 0.0021194979 0.0042555668 + 1620800 0.0049012284 0.002388003 0.0048003264 + 1620900 0.0052355446 0.0020395893 0.0046164589 + 1621000 0.0052271193 0.0021228159 0.0046955387 + 1621100 0.0047243264 0.0023256548 0.0046509092 + 1621200 0.0050317528 0.0027437459 0.0052203118 + 1621300 0.0069274452 0.0021082389 0.0055178408 + 1621400 0.0047931032 0.0017879408 0.0041470463 + 1621500 0.0039750451 0.0020664823 0.0040229498 + 1621600 0.0049770175 0.0023538565 0.0048034823 + 1621700 0.0051236208 0.0025961348 0.0051179169 + 1621800 0.0039706733 0.0031798159 0.0051341317 + 1621900 0.0044144927 0.0031730312 0.0053457893 + 1622000 0.0061727206 0.0028347637 0.0058728996 + 1622100 0.0068922047 0.002671952 0.006064209 + 1622200 0.0060694586 0.0023774697 0.0053647813 + 1622300 0.0035296616 0.0027419844 0.0044792398 + 1622400 0.0054848875 0.0026790469 0.00537864 + 1622500 0.0046569572 0.0023896803 0.0046817764 + 1622600 0.0042448492 0.0022519102 0.0043411719 + 1622700 0.0040219761 0.0024328623 0.0044124286 + 1622800 0.006761474 0.0020758997 0.0054038127 + 1622900 0.0065386789 0.0022789119 0.0054971679 + 1623000 0.0048234463 0.0024385541 0.004812594 + 1623100 0.0051826743 0.0023765145 0.004927362 + 1623200 0.0055099879 0.0023364152 0.0050483624 + 1623300 0.0061305308 0.0024291831 0.0054465537 + 1623400 0.0048143376 0.0022020317 0.0045715885 + 1623500 0.0063231518 0.0020475996 0.0051597759 + 1623600 0.0048362488 0.0027074938 0.005087835 + 1623700 0.0051264523 0.0031535852 0.0056767609 + 1623800 0.0059167033 0.0028247082 0.0057368356 + 1623900 0.0043472213 0.0030819772 0.0052216252 + 1624000 0.0041945757 0.0032209636 0.0052854813 + 1624100 0.005769571 0.0028767547 0.0057164654 + 1624200 0.0054000973 0.0022651088 0.0049229692 + 1624300 0.0046450249 0.0023470824 0.0046333056 + 1624400 0.0053520891 0.0025735368 0.0052077682 + 1624500 0.0048352307 0.0029505627 0.0053304028 + 1624600 0.0057423747 0.0025602142 0.0053865393 + 1624700 0.0050811784 0.0021761335 0.004677026 + 1624800 0.0062851906 0.0020633224 0.0051568147 + 1624900 0.0051625935 0.0021535413 0.0046945053 + 1625000 0.0053742102 0.0022922023 0.0049373214 + 1625100 0.0059552561 0.0027078308 0.0056389334 + 1625200 0.0057537797 0.0027966082 0.0056285466 + 1625300 0.0055376466 0.002702153 0.0054277134 + 1625400 0.0050500825 0.0025712995 0.005056887 + 1625500 0.0049123106 0.0023778981 0.004795676 + 1625600 0.006623826 0.0023224303 0.0055825946 + 1625700 0.0046174679 0.002357534 0.004630194 + 1625800 0.0046199285 0.0022650083 0.0045388794 + 1625900 0.0056211094 0.0024038515 0.0051704913 + 1626000 0.0048052309 0.0025036039 0.0048686785 + 1626100 0.0062085869 0.0027676748 0.0058234636 + 1626200 0.0061373307 0.0033297401 0.0063504576 + 1626300 0.0038421058 0.0030980308 0.0049890672 + 1626400 0.0042609983 0.0025424415 0.0046396516 + 1626500 0.0056352702 0.0025241234 0.005297733 + 1626600 0.0055172432 0.0027162898 0.0054318079 + 1626700 0.0037323362 0.0031402975 0.0049773067 + 1626800 0.0039318522 0.0032914627 0.0052266712 + 1626900 0.0060979201 0.0032529212 0.0062542413 + 1627000 0.0043537504 0.0030233391 0.0051662006 + 1627100 0.0049206028 0.002186197 0.0046080562 + 1627200 0.0057422648 0.0021457331 0.0049720041 + 1627300 0.004403158 0.0026612933 0.0048284726 + 1627400 0.005056037 0.0029223082 0.0054108264 + 1627500 0.0049147125 0.0025198291 0.0049387892 + 1627600 0.0053600139 0.00203519 0.0046733218 + 1627700 0.0042672984 0.0020480385 0.0041483494 + 1627800 0.0042166744 0.0022010821 0.0042764766 + 1627900 0.0050680205 0.0024940153 0.0049884316 + 1628000 0.0053959379 0.0026639245 0.0053197376 + 1628100 0.0049595815 0.0022600307 0.0047010748 + 1628200 0.0064586278 0.0023881653 0.0055670211 + 1628300 0.003738002 0.0027477314 0.0045875292 + 1628400 0.0048302966 0.0029700254 0.0053474371 + 1628500 0.00474228 0.0031086821 0.005442773 + 1628600 0.0050933528 0.0028325779 0.0053394625 + 1628700 0.0069159227 0.0021626039 0.0055665345 + 1628800 0.0061590076 0.0016894485 0.0047208351 + 1628900 0.0055693382 0.0018720607 0.0046132193 + 1629000 0.0035110004 0.0021282166 0.0038562871 + 1629100 0.0054786117 0.0025277063 0.0052242105 + 1629200 0.0046665496 0.0027566722 0.0050534896 + 1629300 0.0042015802 0.0027778225 0.0048457877 + 1629400 0.0046114205 0.0023158745 0.004585558 + 1629500 0.0056258802 0.0020232622 0.0047922502 + 1629600 0.0052780758 0.0020347554 0.0046325583 + 1629700 0.0050536447 0.0028635086 0.0053508494 + 1629800 0.0045489142 0.0032840751 0.0055229938 + 1629900 0.0057616707 0.0027969242 0.0056327465 + 1630000 0.0044952206 0.0021671687 0.0043796601 + 1630100 0.005175771 0.0017846996 0.0043321494 + 1630200 0.0052578936 0.0021064821 0.0046943516 + 1630300 0.0058081063 0.0025947688 0.0054534462 + 1630400 0.0064989604 0.002710731 0.0059094381 + 1630500 0.0048784994 0.0025497719 0.0049509083 + 1630600 0.0048836394 0.0024608266 0.0048644929 + 1630700 0.0048533056 0.0021653284 0.0045540647 + 1630800 0.0056883516 0.0019247002 0.0047244357 + 1630900 0.0062773573 0.0020333458 0.0051229825 + 1631000 0.0063469812 0.0025840923 0.0057079971 + 1631100 0.0069346937 0.0029617968 0.0063749664 + 1631200 0.0069704389 0.0025497776 0.0059805405 + 1631300 0.0059225172 0.0023180072 0.0052329961 + 1631400 0.0041619167 0.0022605463 0.0043089897 + 1631500 0.0057852318 0.0019792434 0.0048266622 + 1631600 0.0045032988 0.0022015293 0.0044179966 + 1631700 0.0046514025 0.0021371129 0.004426475 + 1631800 0.0049671876 0.0028075758 0.0052523635 + 1631900 0.0046606132 0.0033572768 0.0056511724 + 1632000 0.0042631595 0.0029797503 0.0050780241 + 1632100 0.0061697088 0.0026422356 0.0056788891 + 1632200 0.0047099849 0.0021214464 0.0044396421 + 1632300 0.0059211095 0.0017733082 0.0046876043 + 1632400 0.0049198584 0.0020800075 0.0045015003 + 1632500 0.0064742254 0.0022836297 0.0054701625 + 1632600 0.0062013553 0.0024054881 0.0054577176 + 1632700 0.00588076 0.0028656448 0.0057600814 + 1632800 0.0055642166 0.0027528004 0.0054914382 + 1632900 0.0049799097 0.0026234336 0.0050744829 + 1633000 0.0045192972 0.0023621559 0.0045864975 + 1633100 0.0054099189 0.0018772981 0.0045399925 + 1633200 0.0054714614 0.0018240143 0.0045169992 + 1633300 0.0043990218 0.0018639283 0.0040290719 + 1633400 0.0037577995 0.0016362336 0.0034857756 + 1633500 0.0039789509 0.0017359692 0.0036943591 + 1633600 0.0042237819 0.0022135662 0.0042924589 + 1633700 0.0057468718 0.0025683349 0.0053968734 + 1633800 0.0045695268 0.003020167 0.0052692309 + 1633900 0.0042656834 0.0029782749 0.005077791 + 1634000 0.0061215854 0.0025177236 0.0055306914 + 1634100 0.0059072133 0.0019412479 0.0048487045 + 1634200 0.0056780875 0.0016467691 0.0044414528 + 1634300 0.0049634004 0.002002322 0.0044452457 + 1634400 0.0052354444 0.0026459167 0.005222737 + 1634500 0.0057632708 0.0025715148 0.0054081247 + 1634600 0.006977854 0.0022393232 0.0056737357 + 1634700 0.005373763 0.0021560613 0.0048009602 + 1634800 0.0055571687 0.0022063484 0.0049415174 + 1634900 0.0039352395 0.0021792153 0.004116091 + 1635000 0.0035996991 0.0020578823 0.0038296092 + 1635100 0.0080275978 0.0020440022 0.0059950855 + 1635200 0.0051361061 0.0027250581 0.0052529853 + 1635300 0.0046517485 0.0028249261 0.0051144586 + 1635400 0.0085592717 0.0024083495 0.006621116 + 1635500 0.0044164378 0.0023721724 0.0045458879 + 1635600 0.0038091226 0.0026827804 0.0045575829 + 1635700 0.0047492692 0.0026181388 0.0049556698 + 1635800 0.0042338235 0.0025616553 0.0046454904 + 1635900 0.0041432559 0.002319641 0.0043588998 + 1636000 0.0033411533 0.002425732 0.0040702059 + 1636100 0.0046156345 0.0024984543 0.0047702119 + 1636200 0.0050523088 0.0021237386 0.0046104218 + 1636300 0.0051887301 0.0019337478 0.004487576 + 1636400 0.0052894465 0.0022246757 0.0048280751 + 1636500 0.0055323546 0.0023719902 0.005094946 + 1636600 0.0055015505 0.0020191821 0.0047269765 + 1636700 0.0039812323 0.0021974022 0.0041569149 + 1636800 0.0041680721 0.0022886818 0.0043401548 + 1636900 0.0041758935 0.0022210578 0.0042763804 + 1637000 0.0049950675 0.002051427 0.0045099368 + 1637100 0.0049663671 0.0018956794 0.0043400632 + 1637200 0.004944914 0.0021587288 0.0045925537 + 1637300 0.0047666796 0.0024115456 0.0047576457 + 1637400 0.0051511647 0.002569223 0.0051045619 + 1637500 0.0050151646 0.0023708316 0.0048392329 + 1637600 0.0058132528 0.0024623259 0.0053235362 + 1637700 0.0044726589 0.0023785111 0.0045798978 + 1637800 0.005370535 0.002954867 0.0055981772 + 1637900 0.0052765312 0.00251666 0.0051137026 + 1638000 0.0044304033 0.0023362903 0.0045168794 + 1638100 0.0045640885 0.0021043068 0.0043506941 + 1638200 0.0050252096 0.0023229557 0.0047963011 + 1638300 0.0049887057 0.0026141302 0.0050695088 + 1638400 0.0035790815 0.0026280199 0.0043895991 + 1638500 0.0046552131 0.0025423504 0.0048335881 + 1638600 0.0049783321 0.0027208202 0.0051710931 + 1638700 0.0041591378 0.0029549208 0.0050019964 + 1638800 0.0058582287 0.0025536019 0.0054369488 + 1638900 0.0056607428 0.0030769611 0.0058631079 + 1639000 0.0072361981 0.0029926139 0.0065541801 + 1639100 0.0046509286 0.0026856811 0.0049748101 + 1639200 0.0064654748 0.0024811394 0.0056633652 + 1639300 0.00352715 0.0030059536 0.0047419728 + 1639400 0.0050461223 0.0028462486 0.005329887 + 1639500 0.0045677728 0.0024787602 0.0047269609 + 1639600 0.0056377859 0.0021431362 0.004917984 + 1639700 0.0037059762 0.0019844566 0.0038084918 + 1639800 0.0040719222 0.0017164905 0.0037206397 + 1639900 0.0060908267 0.0019582406 0.0049560694 + 1640000 0.0045410056 0.0022245163 0.0044595425 + 1640100 0.004051639 0.0018886349 0.003882801 + 1640200 0.0043235934 0.0016937806 0.0038217992 + 1640300 0.0058178259 0.0020958472 0.0049593084 + 1640400 0.0037231025 0.0025010978 0.0043335624 + 1640500 0.0041800004 0.0026498196 0.0047071636 + 1640600 0.005073165 0.002454756 0.0049517043 + 1640700 0.0044725616 0.0027014949 0.0049028338 + 1640800 0.0058231768 0.0022295233 0.0050956181 + 1640900 0.0049430822 0.0022890794 0.0047220027 + 1641000 0.0046040644 0.0022284851 0.004494548 + 1641100 0.0052002351 0.0022077572 0.0047672479 + 1641200 0.0052113786 0.0023835201 0.0049484955 + 1641300 0.0043909589 0.002467231 0.0046284061 + 1641400 0.0057458452 0.0020714104 0.0048994436 + 1641500 0.0053750168 0.0020864374 0.0047319534 + 1641600 0.0047343153 0.0021055206 0.0044356915 + 1641700 0.0050024467 0.0022565155 0.0047186572 + 1641800 0.005852285 0.0022835126 0.0051639341 + 1641900 0.0062388318 0.0021736646 0.0052443396 + 1642000 0.0041015452 0.0023450328 0.0043637621 + 1642100 0.0067141688 0.0019960771 0.005300707 + 1642200 0.0048695968 0.0020602101 0.0044569648 + 1642300 0.0047596882 0.0024240118 0.0047666709 + 1642400 0.0060196093 0.0023088085 0.005271585 + 1642500 0.0056968972 0.0022273214 0.005031263 + 1642600 0.0053325754 0.002342622 0.0049672489 + 1642700 0.004734313 0.0023336757 0.0046638454 + 1642800 0.0034524647 0.0021735944 0.0038728544 + 1642900 0.0047110762 0.0020137212 0.004332454 + 1643000 0.0052530703 0.0019243252 0.0045098208 + 1643100 0.0042071248 0.002184782 0.0042554762 + 1643200 0.005309823 0.0020204783 0.0046339068 + 1643300 0.0055969946 0.0016053296 0.0043601004 + 1643400 0.0046944544 0.0016350964 0.0039456482 + 1643500 0.0046872271 0.0017775691 0.0040845637 + 1643600 0.004456623 0.0018231447 0.0040166389 + 1643700 0.0045745729 0.002229039 0.0044805865 + 1643800 0.0049420481 0.0021201689 0.0045525832 + 1643900 0.0053830565 0.0019851232 0.0046345964 + 1644000 0.0048761574 0.0018573314 0.0042573151 + 1644100 0.004203885 0.0023868949 0.0044559945 + 1644200 0.0046810059 0.0024584876 0.0047624201 + 1644300 0.0057094973 0.0022872121 0.0050973552 + 1644400 0.0036886261 0.0023515285 0.0041670241 + 1644500 0.0061717763 0.0016600464 0.0046977175 + 1644600 0.0064580816 0.0017915058 0.0049700928 + 1644700 0.0048948705 0.0021610397 0.0045702338 + 1644800 0.005350294 0.002323976 0.0049573239 + 1644900 0.0057308318 0.0022471738 0.0050678176 + 1645000 0.0058401386 0.0022263211 0.0051007643 + 1645100 0.0051245414 0.002651606 0.0051738412 + 1645200 0.0043246553 0.0030279313 0.0051564726 + 1645300 0.0053147706 0.0030558999 0.0056717636 + 1645400 0.0051852042 0.0027270999 0.0052791926 + 1645500 0.0051742084 0.002438322 0.0049850027 + 1645600 0.0046101765 0.0019685538 0.0042376251 + 1645700 0.0065742187 0.0017178365 0.0049535847 + 1645800 0.003744466 0.0018470719 0.0036900513 + 1645900 0.0048028998 0.0020872345 0.0044511617 + 1646000 0.0047617152 0.0021237043 0.004467361 + 1646100 0.0040649426 0.0023238395 0.0043245535 + 1646200 0.0039288231 0.0028882708 0.0048219884 + 1646300 0.0052156694 0.0023394604 0.0049065476 + 1646400 0.005042431 0.00196693 0.0044487515 + 1646500 0.0042764998 0.0019860174 0.0040908571 + 1646600 0.0047395959 0.0017888618 0.0041216316 + 1646700 0.0043932592 0.0013821653 0.0035444726 + 1646800 0.0051547645 0.0015001972 0.0040373079 + 1646900 0.0061073591 0.0015255675 0.0045315333 + 1647000 0.0054275967 0.0014669585 0.0041383537 + 1647100 0.0053632638 0.0016748215 0.0043145529 + 1647200 0.0035703868 0.0016687946 0.0034260943 + 1647300 0.0056618388 0.0020187385 0.0048054248 + 1647400 0.0048287363 0.002438593 0.0048152366 + 1647500 0.0057216898 0.0027596351 0.0055757793 + 1647600 0.005174181 0.0025202777 0.0050669449 + 1647700 0.0049651472 0.0024866401 0.0049304235 + 1647800 0.005365863 0.0023570155 0.0049980262 + 1647900 0.0049891614 0.0021156593 0.0045712622 + 1648000 0.0050403045 0.0021424665 0.0046232414 + 1648100 0.0057883806 0.0024484355 0.0052974041 + 1648200 0.006788147 0.0026289427 0.0059699838 + 1648300 0.0060802954 0.0025762088 0.0055688542 + 1648400 0.0040705205 0.0026997454 0.0047032047 + 1648500 0.0042312687 0.0027606764 0.0048432539 + 1648600 0.0052099077 0.0028541129 0.0054183644 + 1648700 0.0048747767 0.0022169149 0.004616219 + 1648800 0.0045461198 0.0020350518 0.0042725951 + 1648900 0.0036588286 0.0022366512 0.0040374809 + 1649000 0.0044501012 0.0018600042 0.0040502884 + 1649100 0.0046691915 0.0020453656 0.0043434833 + 1649200 0.006534594 0.0022373371 0.0054535825 + 1649300 0.0055112234 0.0024064786 0.0051190338 + 1649400 0.0048348508 0.0028218328 0.005201486 + 1649500 0.0057298082 0.003018723 0.005838863 + 1649600 0.0055498254 0.003307464 0.0060390187 + 1649700 0.0038254094 0.0035860049 0.0054688236 + 1649800 0.0064265648 0.0031516322 0.006314707 + 1649900 0.0069550081 0.0028445611 0.0062677291 + 1650000 0.0043346511 0.0026495477 0.0047830088 + 1650100 0.0071385732 0.0025394594 0.0060529759 + 1650200 0.0048832825 0.0025524716 0.0049559622 + 1650300 0.0073649069 0.0021808723 0.0058057874 + 1650400 0.0043002427 0.0025423651 0.0046588908 + 1650500 0.004002758 0.0026089955 0.0045791029 + 1650600 0.005764212 0.002684259 0.0055213321 + 1650700 0.0058951212 0.002844901 0.005746406 + 1650800 0.0047659832 0.0026960216 0.0050417789 + 1650900 0.0041101714 0.0025265818 0.0045495568 + 1651000 0.0068366225 0.002338385 0.0057032851 + 1651100 0.0054091101 0.00219484 0.0048571363 + 1651200 0.0042423197 0.0024169674 0.0045049841 + 1651300 0.0058451037 0.0023428666 0.0052197536 + 1651400 0.0042711944 0.0016752953 0.0037775238 + 1651500 0.0040859549 0.0017150754 0.0037261313 + 1651600 0.0049498582 0.002099282 0.0045355404 + 1651700 0.0071591447 0.0017078561 0.0052314976 + 1651800 0.0044158684 0.0016028476 0.0037762829 + 1651900 0.0057140894 0.0020705471 0.0048829505 + 1652000 0.0043954789 0.002714584 0.0048779838 + 1652100 0.005968871 0.0025068393 0.005444643 + 1652200 0.0059905433 0.0022364479 0.0051849184 + 1652300 0.0052800563 0.0024656047 0.0050643824 + 1652400 0.0032568076 0.0028114822 0.0044144422 + 1652500 0.0055076691 0.0022849174 0.0049957233 + 1652600 0.0049072924 0.0023961135 0.0048114215 + 1652700 0.0042663949 0.0025427503 0.0046426166 + 1652800 0.0049975923 0.0026153236 0.0050750761 + 1652900 0.0049781945 0.0022515197 0.0047017248 + 1653000 0.0064871623 0.0019588341 0.0051517343 + 1653100 0.005997703 0.0018025305 0.0047545249 + 1653200 0.0053907864 0.0018882893 0.004541567 + 1653300 0.0053181104 0.0024260116 0.0050435191 + 1653400 0.0054540544 0.0024953582 0.0051797756 + 1653500 0.0053275091 0.0022279021 0.0048500355 + 1653600 0.0038624052 0.0019759723 0.0038769998 + 1653700 0.0057824753 0.0018891486 0.0047352107 + 1653800 0.0051869983 0.0019369949 0.0044899707 + 1653900 0.0047357151 0.0023242155 0.0046550753 + 1654000 0.0045571681 0.0026031531 0.0048461343 + 1654100 0.0045124027 0.0026096595 0.0048306077 + 1654200 0.0048158776 0.0022834244 0.0046537391 + 1654300 0.0051855525 0.0019980286 0.0045502927 + 1654400 0.0053669265 0.0019027346 0.0045442688 + 1654500 0.0055509681 0.001821465 0.0045535821 + 1654600 0.0053908861 0.0018949818 0.0045483085 + 1654700 0.004909933 0.0017923273 0.0042089349 + 1654800 0.0044074265 0.0022359887 0.0044052689 + 1654900 0.0050157816 0.0021074928 0.0045761978 + 1655000 0.0044967248 0.00224264 0.0044558718 + 1655100 0.0052806149 0.0026926491 0.0052917018 + 1655200 0.0039931656 0.003019199 0.0049845852 + 1655300 0.0056810886 0.0024113102 0.005207471 + 1655400 0.0033289016 0.0022053174 0.0038437612 + 1655500 0.0050977383 0.0024188615 0.0049279046 + 1655600 0.0053128523 0.0023835679 0.0049984874 + 1655700 0.0046083619 0.0025461394 0.0048143175 + 1655800 0.0053062306 0.0029176684 0.0055293287 + 1655900 0.0037384072 0.002677357 0.0045173543 + 1656000 0.0059792257 0.0020171686 0.0049600688 + 1656100 0.004817052 0.0020729078 0.0044438006 + 1656200 0.0057515925 0.0022344672 0.0050653291 + 1656300 0.0048807521 0.0022234719 0.0046257171 + 1656400 0.0056049874 0.0020820174 0.0048407221 + 1656500 0.0044133141 0.0022394391 0.0044116171 + 1656600 0.0044195492 0.0018437626 0.0040190094 + 1656700 0.0062446246 0.0018543824 0.0049279086 + 1656800 0.0047787372 0.0019739203 0.004325955 + 1656900 0.0038336776 0.002212807 0.0040996952 + 1657000 0.003613762 0.0022597548 0.0040384032 + 1657100 0.00382004 0.0023198041 0.00419998 + 1657200 0.004011871 0.0022682655 0.0042428583 + 1657300 0.0047145067 0.0020443257 0.004364747 + 1657400 0.0055184307 0.0019131706 0.0046292732 + 1657500 0.0071289261 0.0014594171 0.0049681854 + 1657600 0.0048660577 0.0016103183 0.0040053311 + 1657700 0.0045341645 0.002336157 0.0045678161 + 1657800 0.0046757823 0.0028887139 0.0051900755 + 1657900 0.0053410644 0.0021816234 0.0048104285 + 1658000 0.0047402858 0.0025156678 0.0048487772 + 1658100 0.0056370865 0.0023643725 0.0051388761 + 1658200 0.0041935172 0.0023914255 0.0044554222 + 1658300 0.004282907 0.0024746079 0.0045826012 + 1658400 0.0074479312 0.0021177672 0.0057835458 + 1658500 0.0049777291 0.0017289873 0.0041789633 + 1658600 0.0050417065 0.0020276574 0.0045091223 + 1658700 0.0050307397 0.0023185055 0.0047945727 + 1658800 0.004038375 0.0021679743 0.004155612 + 1658900 0.003503584 0.0021720952 0.0038965155 + 1659000 0.0052910905 0.002196961 0.0048011696 + 1659100 0.0048228184 0.0019366531 0.0043103841 + 1659200 0.0046174833 0.0021720084 0.004444676 + 1659300 0.0055542595 0.0025131509 0.005246888 + 1659400 0.0057695858 0.0025978611 0.0054375791 + 1659500 0.004711788 0.0024758593 0.0047949425 + 1659600 0.0051384912 0.0022936803 0.0048227814 + 1659700 0.0044010537 0.0020707101 0.0042368537 + 1659800 0.0049095162 0.0020439981 0.0044604006 + 1659900 0.0046780174 0.0022854578 0.0045879195 + 1660000 0.0067450043 0.0017224023 0.0050422091 + 1660100 0.0058403823 0.0017588759 0.004633439 + 1660200 0.0046878432 0.0023436733 0.0046509711 + 1660300 0.0054210102 0.0025995127 0.0052676661 + 1660400 0.0047963715 0.002945149 0.0053058631 + 1660500 0.0057319761 0.0031710179 0.0059922249 + 1660600 0.0052229398 0.0032772148 0.0058478805 + 1660700 0.0059206401 0.0029207202 0.0058347852 + 1660800 0.004843871 0.0029971263 0.005381219 + 1660900 0.0055889606 0.0025804251 0.0053312416 + 1661000 0.0055644767 0.0022201058 0.0049588716 + 1661100 0.0059282833 0.0023293448 0.0052471717 + 1661200 0.0046391517 0.0024696833 0.0047530158 + 1661300 0.0040642617 0.0027455921 0.0047459709 + 1661400 0.0042933276 0.0026179097 0.0047310319 + 1661500 0.0040151082 0.0028631675 0.0048393535 + 1661600 0.004279003 0.0030381897 0.0051442615 + 1661700 0.0057435606 0.0028888754 0.0057157841 + 1661800 0.0037448561 0.0031836693 0.0050268407 + 1661900 0.004596708 0.0032387053 0.0055011475 + 1662000 0.0050759346 0.0024366423 0.0049349538 + 1662100 0.0052257239 0.0023533473 0.0049253833 + 1662200 0.0044210899 0.0024990602 0.0046750654 + 1662300 0.0056033107 0.0025848174 0.0053426969 + 1662400 0.0066358506 0.0027587089 0.0060247917 + 1662500 0.0056071654 0.003014511 0.0057742877 + 1662600 0.0049660039 0.0027533011 0.0051975061 + 1662700 0.0060531281 0.0021308389 0.0051101129 + 1662800 0.005861853 0.0021454145 0.0050305453 + 1662900 0.0038908696 0.0025902343 0.0045052717 + 1663000 0.0056522176 0.0025143287 0.0052962796 + 1663100 0.0055372797 0.0021035973 0.0048289772 + 1663200 0.0042768356 0.0021210177 0.0042260227 + 1663300 0.0053558636 0.0024040597 0.0050401488 + 1663400 0.0060922937 0.0027221776 0.0057207284 + 1663500 0.006375591 0.002663702 0.0058016882 + 1663600 0.0059875267 0.0028963196 0.0058433054 + 1663700 0.0068278961 0.0024397941 0.0058003992 + 1663800 0.0061057916 0.0018157217 0.004820916 + 1663900 0.0055429349 0.0017891884 0.0045173516 + 1664000 0.0055361968 0.0022779825 0.0050028294 + 1664100 0.0037665714 0.0026955057 0.0045493651 + 1664200 0.0051487852 0.0020746861 0.0046088538 + 1664300 0.0046889523 0.0019963856 0.0043042293 + 1664400 0.0056569895 0.0019737372 0.0047580367 + 1664500 0.0051386538 0.0019180699 0.0044472511 + 1664600 0.0042875221 0.0018323782 0.003942643 + 1664700 0.0049439524 0.001640022 0.0040733735 + 1664800 0.0045238293 0.0020440857 0.004270658 + 1664900 0.003767421 0.0023254001 0.0041796777 + 1665000 0.0056924923 0.0021444421 0.0049462156 + 1665100 0.0051674341 0.0022042301 0.0047475766 + 1665200 0.0045523603 0.0027783077 0.0050189226 + 1665300 0.0040445851 0.0031882475 0.0051789417 + 1665400 0.0055891826 0.0029354134 0.0056863392 + 1665500 0.004918696 0.002677685 0.0050986057 + 1665600 0.0057772188 0.0027209958 0.0055644706 + 1665700 0.0053459306 0.0027669584 0.0053981586 + 1665800 0.0065039066 0.0020904471 0.0052915886 + 1665900 0.0051640527 0.0020862773 0.0046279594 + 1666000 0.0045137265 0.002360831 0.0045824307 + 1666100 0.0056749129 0.0024788174 0.0052719386 + 1666200 0.0046995294 0.0022842106 0.0045972603 + 1666300 0.0060180922 0.0021221867 0.0050842164 + 1666400 0.0059973676 0.0020055143 0.0049573437 + 1666500 0.0046005561 0.0022143808 0.004478717 + 1666600 0.0050999365 0.0021271135 0.0046372385 + 1666700 0.0045718363 0.002574887 0.0048250876 + 1666800 0.0043060392 0.0028577207 0.0049770994 + 1666900 0.0062483995 0.0027974397 0.0058728238 + 1667000 0.0054655357 0.002828494 0.0055185623 + 1667100 0.0047892466 0.0027235163 0.0050807236 + 1667200 0.0046299293 0.0026575845 0.0049363778 + 1667300 0.0058404138 0.0025011877 0.0053757664 + 1667400 0.0065386361 0.0024784556 0.0056966905 + 1667500 0.0047697226 0.0026577261 0.0050053239 + 1667600 0.0053969427 0.0026984417 0.0053547495 + 1667700 0.0044686528 0.002670472 0.004869887 + 1667800 0.0046989791 0.0023980879 0.0047108667 + 1667900 0.0050816208 0.0024705813 0.0049716916 + 1668000 0.005494463 0.0025077321 0.0052120381 + 1668100 0.0044802436 0.0024892007 0.0046943205 + 1668200 0.0054701406 0.0021126596 0.0048049944 + 1668300 0.005322637 0.0022732534 0.0048929887 + 1668400 0.0046224305 0.0027679012 0.0050430037 + 1668500 0.0059863822 0.0027543955 0.005700818 + 1668600 0.0067773042 0.0022175776 0.005553282 + 1668700 0.0057689524 0.0020546536 0.0048940599 + 1668800 0.0048062032 0.0021636872 0.0045292403 + 1668900 0.0053034886 0.0021450456 0.0047553564 + 1669000 0.0048433929 0.0020064959 0.0043903533 + 1669100 0.0053798451 0.0020987039 0.0047465964 + 1669200 0.003625422 0.0021724521 0.0039568394 + 1669300 0.0062224189 0.0022577831 0.0053203799 + 1669400 0.0069485989 0.0026287473 0.0060487608 + 1669500 0.0052677537 0.002401227 0.0049939495 + 1669600 0.0044691072 0.0020244913 0.00422413 + 1669700 0.0050508983 0.0015346902 0.0040206792 + 1669800 0.0062203771 0.0019352856 0.0049968775 + 1669900 0.005613948 0.0026852408 0.0054483558 + 1670000 0.0041907667 0.0028269567 0.0048895997 + 1670100 0.0047219185 0.0020474959 0.0043715652 + 1670200 0.0056121418 0.0018635246 0.0046257507 + 1670300 0.0042865423 0.0021050837 0.0042148662 + 1670400 0.003567557 0.0023989219 0.0041548288 + 1670500 0.0055933638 0.0021686759 0.0049216597 + 1670600 0.0049794729 0.0020792613 0.0045300956 + 1670700 0.0067706171 0.0022141404 0.0055465535 + 1670800 0.0045230302 0.0025492911 0.0047754701 + 1670900 0.0057870654 0.0020608917 0.004909213 + 1671000 0.0070929888 0.0019743299 0.0054654103 + 1671100 0.0053601366 0.0021461588 0.0047843511 + 1671200 0.0054056705 0.0020350043 0.0046956078 + 1671300 0.0039767668 0.0024049113 0.0043622262 + 1671400 0.005272827 0.0025935639 0.0051887834 + 1671500 0.0055982468 0.0024444846 0.0051998717 + 1671600 0.0057442249 0.0024223484 0.0052495841 + 1671700 0.005872344 0.0026005668 0.0054908611 + 1671800 0.0051788125 0.0020654797 0.0046144265 + 1671900 0.0056998229 0.0019196817 0.0047250633 + 1672000 0.0047271802 0.0017368779 0.0040635369 + 1672100 0.0041147306 0.0019900875 0.0040153065 + 1672200 0.0048646279 0.0021454986 0.0045398076 + 1672300 0.0052613865 0.0021080168 0.0046976055 + 1672400 0.0068598059 0.0024943899 0.0058707006 + 1672500 0.0071453478 0.0023933276 0.0059101784 + 1672600 0.0053388106 0.0023785698 0.0050062656 + 1672700 0.0056790277 0.0024228613 0.0052180077 + 1672800 0.00612055 0.0026082393 0.0056206975 + 1672900 0.0060649115 0.002480152 0.0054652256 + 1673000 0.006398725 0.0021722026 0.0053215751 + 1673100 0.0064629458 0.0020909211 0.0052719023 + 1673200 0.0049756806 0.0022082863 0.0046572541 + 1673300 0.0050955516 0.0026182129 0.0051261797 + 1673400 0.0048670881 0.0030422543 0.0054377743 + 1673500 0.00435027 0.0032331649 0.0053743134 + 1673600 0.0057140135 0.0029927025 0.0058050685 + 1673700 0.0052241095 0.0023597901 0.0049310315 + 1673800 0.0059210982 0.0020953483 0.0050096388 + 1673900 0.0045984702 0.0019641754 0.0042274849 + 1674000 0.0052111232 0.0019985364 0.0045633861 + 1674100 0.0049404241 0.002138367 0.0045699821 + 1674200 0.004949596 0.0023530277 0.004789157 + 1674300 0.0059613218 0.0024327488 0.0053668369 + 1674400 0.0041206076 0.0021671419 0.0041952534 + 1674500 0.0059138656 0.00181156 0.0047222908 + 1674600 0.0041828823 0.0018620115 0.0039207739 + 1674700 0.0062326368 0.0018314432 0.0048990691 + 1674800 0.0060605352 0.0020712824 0.005054202 + 1674900 0.0061480029 0.0019892975 0.0050152676 + 1675000 0.0058656144 0.0018297909 0.004716773 + 1675100 0.0042155328 0.0018778111 0.0039526437 + 1675200 0.0038010469 0.0020645614 0.0039353892 + 1675300 0.0049817644 0.0014450409 0.0038970031 + 1675400 0.0055140976 0.0012367732 0.0039507431 + 1675500 0.0049999613 0.0016601845 0.004121103 + 1675600 0.0056076093 0.0019721892 0.0047321844 + 1675700 0.0034637433 0.002040257 0.0037450682 + 1675800 0.0056737957 0.0015911388 0.0043837101 + 1675900 0.0055187843 0.0019051038 0.0046213805 + 1676000 0.0060135832 0.0018931377 0.0048529482 + 1676100 0.0060554459 0.0019484996 0.0049289144 + 1676200 0.0048749309 0.0019809843 0.0043803644 + 1676300 0.004646842 0.0021205611 0.0044076787 + 1676400 0.003756463 0.0023220134 0.0041708975 + 1676500 0.0047217859 0.002193846 0.00451785 + 1676600 0.006938833 0.0021052843 0.0055204912 + 1676700 0.0051262152 0.003228301 0.0057513601 + 1676800 0.0046691732 0.0027773671 0.0050754758 + 1676900 0.0051147667 0.0021441148 0.004661539 + 1677000 0.0049699795 0.001986653 0.0044328148 + 1677100 0.0051059588 0.0018211347 0.0043342238 + 1677200 0.0050164516 0.001868413 0.0043374478 + 1677300 0.0053919104 0.0019392475 0.0045930784 + 1677400 0.004265035 0.0025210687 0.0046202656 + 1677500 0.0053678762 0.0024159384 0.0050579399 + 1677600 0.0046856566 0.0020674361 0.0043736577 + 1677700 0.0067544377 0.0019414865 0.0052659363 + 1677800 0.0048636793 0.0021498625 0.0045437046 + 1677900 0.006095801 0.0019579207 0.0049581977 + 1678000 0.0070614343 0.0017215473 0.005197097 + 1678100 0.0037641082 0.0016898817 0.0035425286 + 1678200 0.0030619173 0.0016572848 0.0031643223 + 1678300 0.0039417801 0.0015721245 0.0035122194 + 1678400 0.0056865549 0.001502897 0.0043017483 + 1678500 0.0050092314 0.0018234828 0.0042889639 + 1678600 0.0037644644 0.0019357319 0.0037885542 + 1678700 0.005790249 0.0016854407 0.0045353289 + 1678800 0.005207895 0.0019534793 0.0045167401 + 1678900 0.0055836472 0.0021891766 0.004937378 + 1679000 0.006021064 0.0022783801 0.0052418725 + 1679100 0.0039483813 0.0021736078 0.0041169517 + 1679200 0.0051534614 0.0023403315 0.0048768008 + 1679300 0.0051195957 0.0027035659 0.0052233669 + 1679400 0.0053812285 0.0027283617 0.0053769351 + 1679500 0.0053915381 0.002206345 0.0048599927 + 1679600 0.0044169094 0.002048059 0.0042220066 + 1679700 0.0040523024 0.0021903319 0.0041848245 + 1679800 0.0037773561 0.00240033 0.0042594975 + 1679900 0.0052642345 0.0026135516 0.005204542 + 1680000 0.0051726831 0.0025790545 0.0051249844 + 1680100 0.0046970977 0.0022283635 0.0045402163 + 1680200 0.0055309133 0.001823907 0.0045461535 + 1680300 0.0060103453 0.0020912003 0.0050494171 + 1680400 0.0030804795 0.0029340626 0.0044502361 + 1680500 0.0055184597 0.0026877484 0.0054038653 + 1680600 0.0048956382 0.0025526903 0.0049622622 + 1680700 0.0043616208 0.0026705607 0.0048172959 + 1680800 0.0054125566 0.0023646613 0.005028654 + 1680900 0.0035094527 0.001920997 0.0036483058 + 1681000 0.0040307683 0.0019898291 0.0039737229 + 1681100 0.0050070499 0.0023311567 0.0047955641 + 1681200 0.0039452883 0.0029432592 0.0048850808 + 1681300 0.0041985467 0.0031603501 0.0052268223 + 1681400 0.0054056552 0.0024097785 0.0050703745 + 1681500 0.0044889187 0.0023051434 0.004514533 + 1681600 0.0055183655 0.002209528 0.0049255985 + 1681700 0.0062193521 0.0024846889 0.0055457762 + 1681800 0.0050016948 0.0026756631 0.0051374348 + 1681900 0.0052219423 0.0030217479 0.0055919226 + 1682000 0.0065966068 0.0031257917 0.0063725591 + 1682100 0.0068945714 0.003045179 0.0064386008 + 1682200 0.0039225445 0.0027087104 0.0046393378 + 1682300 0.0069350552 0.0023046824 0.0057180299 + 1682400 0.005081251 0.0028677373 0.0053686655 + 1682500 0.0054667375 0.0031227074 0.0058133673 + 1682600 0.0052851341 0.0030673474 0.0056686243 + 1682700 0.0047172623 0.0028387872 0.0051605647 + 1682800 0.0052213115 0.0028535054 0.0054233696 + 1682900 0.005646337 0.0028315594 0.0056106159 + 1683000 0.004864205 0.0027184025 0.0051125034 + 1683100 0.0057060774 0.0028881904 0.0056966503 + 1683200 0.0059643864 0.0027967164 0.0057323129 + 1683300 0.0053439693 0.0023684992 0.0049987341 + 1683400 0.0054720417 0.0030495957 0.0057428662 + 1683500 0.0050509147 0.0030444096 0.0055304067 + 1683600 0.0044670716 0.0029421827 0.0051408195 + 1683700 0.0044509651 0.0027491608 0.0049398702 + 1683800 0.0042771773 0.0028355603 0.0049407335 + 1683900 0.0058907075 0.0027761909 0.0056755235 + 1684000 0.0064230909 0.0025499557 0.0057113207 + 1684100 0.0046143274 0.0026336545 0.0049047688 + 1684200 0.0048588108 0.0029707889 0.0053622348 + 1684300 0.0049979528 0.0028206406 0.0052805705 + 1684400 0.0056373186 0.0023278037 0.0051024214 + 1684500 0.0044867251 0.0019375735 0.0041458835 + 1684600 0.0055330235 0.0017307224 0.0044540074 + 1684700 0.0049594562 0.0018351243 0.0042761066 + 1684800 0.0050224067 0.0017177572 0.0041897229 + 1684900 0.0046879136 0.001868948 0.0041762805 + 1685000 0.0053686339 0.002213986 0.0048563605 + 1685100 0.0049776179 0.0023309804 0.0047809017 + 1685200 0.0059131572 0.0023384271 0.0052488092 + 1685300 0.0049339424 0.002445643 0.0048740678 + 1685400 0.0047701195 0.0023646905 0.0047124837 + 1685500 0.0054994964 0.0024831177 0.0051899011 + 1685600 0.0044702614 0.0026097483 0.0048099551 + 1685700 0.0055175683 0.0026254428 0.005341121 + 1685800 0.0057847605 0.0021670434 0.0050142302 + 1685900 0.005828247 0.0018884032 0.0047569936 + 1686000 0.0073418969 0.0014845811 0.005098171 + 1686100 0.0059717393 0.0019117382 0.0048509537 + 1686200 0.0039565474 0.0021409912 0.0040883544 + 1686300 0.0043816387 0.0024659672 0.004622555 + 1686400 0.0049826522 0.0028654726 0.0053178717 + 1686500 0.0056715263 0.0028726972 0.0056641515 + 1686600 0.007200648 0.0025468223 0.0060908912 + 1686700 0.0056622289 0.0024166647 0.005203543 + 1686800 0.004821981 0.0020118716 0.0043851904 + 1686900 0.005103465 0.0021146795 0.0046265412 + 1687000 0.0048123822 0.0023339864 0.0047025807 + 1687100 0.0058652336 0.0020801433 0.0049669379 + 1687200 0.0043159507 0.0020089092 0.0041331661 + 1687300 0.0049713385 0.0021222347 0.0045690654 + 1687400 0.0047213951 0.0025416277 0.0048654393 + 1687500 0.0045627644 0.0024400393 0.0046857749 + 1687600 0.0060246892 0.0022401909 0.0052054676 + 1687700 0.0037779644 0.0025440011 0.004403468 + 1687800 0.0058370091 0.002311969 0.005184872 + 1687900 0.0045638173 0.0024581199 0.0047043737 + 1688000 0.005009825 0.0021787833 0.0046445565 + 1688100 0.0037870547 0.0022061434 0.0040700843 + 1688200 0.0060846387 0.0022696422 0.0052644253 + 1688300 0.0041685659 0.0024404582 0.0044921743 + 1688400 0.0058952625 0.0025881016 0.0054896761 + 1688500 0.0056082931 0.0018546913 0.004615023 + 1688600 0.0049918098 0.0016011217 0.0040580281 + 1688700 0.0058209952 0.001992981 0.0048580021 + 1688800 0.0036908754 0.0023583132 0.0041749159 + 1688900 0.0048933435 0.0020087851 0.0044172276 + 1689000 0.0045659188 0.0016725446 0.0039198327 + 1689100 0.0041830992 0.0021205737 0.0041794429 + 1689200 0.0043387846 0.0022361143 0.0043716099 + 1689300 0.0032971642 0.0025564555 0.0041792785 + 1689400 0.0059961602 0.0021961742 0.0051474093 + 1689500 0.0064726187 0.0019109443 0.0050966863 + 1689600 0.0045205387 0.0021734301 0.0043983828 + 1689700 0.0051682228 0.0018960825 0.0044398171 + 1689800 0.0049304983 0.0019966725 0.0044234021 + 1689900 0.005158526 0.0018383717 0.0043773337 + 1690000 0.0049949479 0.0021698854 0.0046283363 + 1690100 0.0046354043 0.0031514331 0.0054329212 + 1690200 0.0049276351 0.0028578185 0.0052831389 + 1690300 0.0050069607 0.0025875588 0.0050519223 + 1690400 0.0047365309 0.0025075357 0.004838797 + 1690500 0.0037630878 0.0024350151 0.0042871599 + 1690600 0.0045872131 0.0019578405 0.0042156095 + 1690700 0.0048813653 0.0021953555 0.0045979025 + 1690800 0.0041415209 0.0025141611 0.0045525659 + 1690900 0.0044696141 0.0023942639 0.0045941521 + 1691000 0.0056572446 0.0021756034 0.0049600285 + 1691100 0.0058266755 0.0022201025 0.0050879193 + 1691200 0.0044476272 0.0027759971 0.0049650636 + 1691300 0.0049278874 0.0024873101 0.0049127547 + 1691400 0.0058763902 0.0021191849 0.0050114707 + 1691500 0.0067004195 0.0023270967 0.0056249594 + 1691600 0.0061361219 0.0023605488 0.0053806713 + 1691700 0.0050870456 0.0023223018 0.004826082 + 1691800 0.0033801789 0.0023251286 0.0039888104 + 1691900 0.0034618409 0.0022333275 0.0039372023 + 1692000 0.0052712328 0.0020088894 0.0046033243 + 1692100 0.0059036477 0.0022171935 0.0051228951 + 1692200 0.0055530562 0.0024232732 0.0051564181 + 1692300 0.0058564598 0.0022826423 0.0051651186 + 1692400 0.0037755082 0.0020210377 0.0038792956 + 1692500 0.0052610567 0.0018548199 0.0044442462 + 1692600 0.0052613525 0.0021471481 0.00473672 + 1692700 0.0042279636 0.0024295043 0.0045104552 + 1692800 0.005643333 0.0023774779 0.0051550559 + 1692900 0.0049733984 0.0020458491 0.0044936936 + 1693000 0.0042226196 0.001990415 0.0040687356 + 1693100 0.0039577414 0.0019044884 0.0038524393 + 1693200 0.0046929889 0.0021724697 0.0044823002 + 1693300 0.0041046759 0.0022490669 0.0042693371 + 1693400 0.0048665525 0.002265257 0.0046605133 + 1693500 0.0065438573 0.0026435769 0.0058643817 + 1693600 0.004706746 0.0028577945 0.005174396 + 1693700 0.0050037331 0.0028921999 0.0053549748 + 1693800 0.0030648437 0.003280814 0.0047892918 + 1693900 0.0055577253 0.0028791117 0.0056145546 + 1694000 0.0053553139 0.0023924481 0.0050282666 + 1694100 0.0059621076 0.0023868327 0.0053213076 + 1694200 0.0046620923 0.0025646853 0.0048593089 + 1694300 0.0039610244 0.0022463705 0.0041959372 + 1694400 0.0047666857 0.0021612589 0.0045073621 + 1694500 0.0046015337 0.0020646855 0.0043295029 + 1694600 0.0066090269 0.0019120672 0.0051649477 + 1694700 0.0044822576 0.002264004 0.0044701152 + 1694800 0.0049069022 0.0022100667 0.0046251826 + 1694900 0.0049347657 0.0020863662 0.0045151962 + 1695000 0.0068638184 0.0019541598 0.0053324454 + 1695100 0.0045912109 0.0021151595 0.0043748961 + 1695200 0.0045865522 0.0022019492 0.0044593928 + 1695300 0.0061455752 0.0027120027 0.005736778 + 1695400 0.0061065704 0.0028371916 0.0058427692 + 1695500 0.0048899424 0.0026800725 0.005086841 + 1695600 0.0063326684 0.0026822491 0.0057991093 + 1695700 0.0062497879 0.0028592737 0.0059353412 + 1695800 0.00543492 0.0028128673 0.005487867 + 1695900 0.0067846997 0.0028772382 0.0062165826 + 1696000 0.0050755091 0.0028608453 0.0053589475 + 1696100 0.0063024638 0.0030227116 0.0061247055 + 1696200 0.0046773063 0.0030021956 0.0053043073 + 1696300 0.0045386006 0.00276819 0.0050020325 + 1696400 0.0044588795 0.0026306405 0.0048252453 + 1696500 0.0050428824 0.0027622029 0.0052442466 + 1696600 0.0045331693 0.002437122 0.0046682912 + 1696700 0.0041191378 0.003153731 0.0051811191 + 1696800 0.003790192 0.003478938 0.0053444231 + 1696900 0.0074946347 0.0031787544 0.0068675199 + 1697000 0.0053002535 0.0031406512 0.0057493698 + 1697100 0.0045657695 0.002872699 0.0051199137 + 1697200 0.0060227464 0.0025343595 0.00549868 + 1697300 0.0063164693 0.0025475248 0.0056564121 + 1697400 0.0056078822 0.0027558392 0.0055159688 + 1697500 0.0062467275 0.0031465532 0.0062211144 + 1697600 0.0047984031 0.002994675 0.005356389 + 1697700 0.0040674815 0.0022853538 0.0042873174 + 1697800 0.0044000689 0.0023943086 0.0045599676 + 1697900 0.0040461376 0.0024633528 0.0044548111 + 1698000 0.0042780589 0.0025779397 0.0046835468 + 1698100 0.0040982139 0.0029530235 0.0049701132 + 1698200 0.005179126 0.0028799004 0.0054290014 + 1698300 0.0061904816 0.0024054236 0.0054523012 + 1698400 0.0037483858 0.0022315175 0.0040764262 + 1698500 0.0043744499 0.0022750423 0.0044280919 + 1698600 0.0045943146 0.0022676178 0.004528882 + 1698700 0.0046645402 0.0024890384 0.0047848668 + 1698800 0.0055412028 0.0029328581 0.0056601688 + 1698900 0.0045247288 0.0033074187 0.0055344337 + 1699000 0.0071931793 0.0031680643 0.0067084572 + 1699100 0.0057400966 0.0024842645 0.0053094683 + 1699200 0.0050198865 0.0021812991 0.0046520245 + 1699300 0.0039768139 0.0020243712 0.0039817093 + 1699400 0.0040131263 0.0021110317 0.0040862423 + 1699500 0.0059980641 0.002305602 0.0052577742 + 1699600 0.0040698211 0.0030060368 0.0050091519 + 1699700 0.0048736651 0.0034222629 0.00582102 + 1699800 0.0037396603 0.0029263142 0.0047669282 + 1699900 0.005812955 0.0023645279 0.0052255916 + 1700000 0.0043845413 0.0024027115 0.0045607279 + 1700100 0.0058442843 0.0028842342 0.0057607178 + 1700200 0.0043183262 0.0030371006 0.0051625267 + 1700300 0.0048563337 0.0027832128 0.0051734395 + 1700400 0.0051907672 0.0023527638 0.0049075945 + 1700500 0.0061239688 0.0021440684 0.0051582093 + 1700600 0.0075516637 0.0020132237 0.0057300582 + 1700700 0.0060023891 0.0022469515 0.0052012524 + 1700800 0.0039046849 0.0025709881 0.0044928252 + 1700900 0.0058202189 0.0027260074 0.0055906464 + 1701000 0.0038186414 0.0026064183 0.0044859058 + 1701100 0.0055169896 0.0021622337 0.004877627 + 1701200 0.0035377113 0.0021944242 0.0039356414 + 1701300 0.0056848348 0.0021002236 0.0048982282 + 1701400 0.0039646886 0.002296089 0.0042474591 + 1701500 0.0062804092 0.0022082397 0.0052993786 + 1701600 0.0051691493 0.0025823267 0.0051265173 + 1701700 0.0046055456 0.0022893038 0.0045560957 + 1701800 0.0038991571 0.0021524593 0.0040715756 + 1701900 0.0057664311 0.0019572691 0.0047954344 + 1702000 0.0051982639 0.0019444218 0.0045029423 + 1702100 0.0074901503 0.0018939837 0.005580542 + 1702200 0.0045923713 0.0021526629 0.0044129706 + 1702300 0.0052590589 0.0020203443 0.0046087873 + 1702400 0.00562086 0.0019095756 0.0046760926 + 1702500 0.0045260931 0.002434388 0.0046620745 + 1702600 0.0049580746 0.0025288246 0.0049691269 + 1702700 0.0046608894 0.0023512482 0.0046452797 + 1702800 0.004232211 0.002031554 0.0041145953 + 1702900 0.0051420169 0.0021886814 0.0047195179 + 1703000 0.0048701075 0.0023115125 0.0047085185 + 1703100 0.0066663748 0.0018846152 0.0051657216 + 1703200 0.0058193063 0.0019368901 0.0048010799 + 1703300 0.0057523808 0.0020795274 0.0049107773 + 1703400 0.0038127113 0.0019419422 0.0038185111 + 1703500 0.0038297536 0.0021754131 0.0040603699 + 1703600 0.0047884726 0.0020231452 0.0043799716 + 1703700 0.0053417439 0.0016724836 0.0043016232 + 1703800 0.0055351552 0.0016088683 0.0043332024 + 1703900 0.0036108303 0.0022069815 0.003984187 + 1704000 0.0048132642 0.0027614978 0.0051305263 + 1704100 0.0049786669 0.0026363488 0.0050867864 + 1704200 0.0046169784 0.0021642682 0.0044366873 + 1704300 0.0045591769 0.0022268986 0.0044708684 + 1704400 0.0051917094 0.0019459154 0.0045012099 + 1704500 0.0057288018 0.0019151471 0.0047347918 + 1704600 0.0045614962 0.0023304544 0.0045755658 + 1704700 0.0063141938 0.0029081443 0.0060159116 + 1704800 0.0056709682 0.0027781829 0.0055693625 + 1704900 0.0064564287 0.0022907553 0.0054685289 + 1705000 0.0060661198 0.0018756588 0.0048613272 + 1705100 0.004523384 0.0023463366 0.0045726896 + 1705200 0.0055134655 0.0030393394 0.0057529982 + 1705300 0.0065298392 0.0032757044 0.0064896096 + 1705400 0.0064532296 0.0032297929 0.0064059918 + 1705500 0.0053057903 0.0029300504 0.0055414941 + 1705600 0.0040101676 0.0026020394 0.0045757938 + 1705700 0.0043889528 0.0024649928 0.0046251805 + 1705800 0.0054629294 0.0027865229 0.0054753085 + 1705900 0.0041038994 0.0028548707 0.0048747587 + 1706000 0.0054834713 0.002831437 0.0055303331 + 1706100 0.0061631691 0.0027932874 0.0058267222 + 1706200 0.0037654773 0.0028468871 0.0047002079 + 1706300 0.0058183111 0.0025206243 0.0053843243 + 1706400 0.0057390232 0.0022611407 0.0050858162 + 1706500 0.004448892 0.0024399848 0.0046296738 + 1706600 0.0053657894 0.0027618764 0.0054028509 + 1706700 0.0048799613 0.0026704158 0.0050722718 + 1706800 0.0042349506 0.0024490041 0.0045333938 + 1706900 0.0058377051 0.0024342326 0.0053074781 + 1707000 0.0056214367 0.0031205536 0.0058873545 + 1707100 0.0050421001 0.0028504566 0.0053321152 + 1707200 0.0063760843 0.0019474256 0.0050856546 + 1707300 0.0037013061 0.0021756931 0.0039974297 + 1707400 0.0042345312 0.0023778414 0.0044620248 + 1707500 0.0039682208 0.0029143143 0.004867423 + 1707600 0.0048770237 0.0029002257 0.0053006358 + 1707700 0.0062507511 0.0023030401 0.0053795816 + 1707800 0.0045440603 0.0023498187 0.0045863483 + 1707900 0.004203353 0.0025034626 0.0045723004 + 1708000 0.0054485601 0.0025294876 0.0052112008 + 1708100 0.0056778897 0.002889679 0.0056842653 + 1708200 0.00486668 0.0029723962 0.0053677152 + 1708300 0.0045578278 0.0031055638 0.0053488696 + 1708400 0.004834638 0.003271001 0.0056505494 + 1708500 0.0032618431 0.0035429708 0.0051484093 + 1708600 0.0047874808 0.0028477783 0.0052041165 + 1708700 0.0044189216 0.0028793893 0.0050543273 + 1708800 0.0063994629 0.0024695401 0.0056192757 + 1708900 0.0050542008 0.0022476358 0.0047352503 + 1709000 0.004981572 0.0020024182 0.0044542857 + 1709100 0.004380795 0.0019388329 0.0040950055 + 1709200 0.0051848657 0.0019921372 0.0045440632 + 1709300 0.0055768814 0.0019313221 0.0046761935 + 1709400 0.004979277 0.0019154694 0.0043662073 + 1709500 0.0043973499 0.0024717259 0.0046360466 + 1709600 0.0035456104 0.0026785732 0.0044236784 + 1709700 0.005811699 0.0027179228 0.0055783684 + 1709800 0.007121913 0.0026080058 0.0061133224 + 1709900 0.0060638604 0.0028350371 0.0058195934 + 1710000 0.0052678181 0.0025898001 0.0051825543 + 1710100 0.0041049129 0.0025065893 0.0045269761 + 1710200 0.0043330288 0.0024041512 0.0045368138 + 1710300 0.0062867594 0.0020655328 0.0051597972 + 1710400 0.0055314338 0.0024767251 0.0051992277 + 1710500 0.0063878448 0.0024929878 0.0056370052 + 1710600 0.0045406588 0.0025411819 0.0047760374 + 1710700 0.006297162 0.0022004628 0.0052998472 + 1710800 0.005283643 0.0018751683 0.0044757113 + 1710900 0.0051578629 0.0017091581 0.0042477937 + 1711000 0.0052006994 0.002173989 0.0047337082 + 1711100 0.0043173133 0.0025699813 0.0046949089 + 1711200 0.0040983822 0.0025260258 0.0045431983 + 1711300 0.0052746121 0.0022863144 0.0048824126 + 1711400 0.0054878368 0.0028984867 0.0055995314 + 1711500 0.0067796982 0.0024076926 0.0057445753 + 1711600 0.0046536889 0.0018240342 0.0041145217 + 1711700 0.0044821112 0.0020286266 0.0042346657 + 1711800 0.0046361385 0.0025561028 0.0048379522 + 1711900 0.0051071964 0.002365253 0.0048789512 + 1712000 0.0047836003 0.0027295539 0.0050839822 + 1712100 0.00450808 0.0027601316 0.0049789522 + 1712200 0.0048206304 0.0026220614 0.0049947155 + 1712300 0.0049373103 0.0025958148 0.0050258972 + 1712400 0.0054125974 0.0020513319 0.0047153447 + 1712500 0.0063145579 0.0015689169 0.0046768634 + 1712600 0.004602017 0.0017320941 0.0039971493 + 1712700 0.0052998147 0.0018798854 0.004488388 + 1712800 0.0048614561 0.0018325451 0.004225293 + 1712900 0.0052841559 0.0020508191 0.0046516146 + 1713000 0.0057652637 0.0021943842 0.005031975 + 1713100 0.006024923 0.002322297 0.0052876888 + 1713200 0.005376508 0.0026399715 0.0052862215 + 1713300 0.0065228323 0.0023875486 0.0055980051 + 1713400 0.0060933161 0.0025868367 0.0055858907 + 1713500 0.0044001372 0.0020899264 0.0042556189 + 1713600 0.0035216397 0.0020020822 0.0037353893 + 1713700 0.0046788741 0.0019875388 0.0042904221 + 1713800 0.0050208677 0.0023745141 0.0048457224 + 1713900 0.0052495855 0.0023949139 0.0049786943 + 1714000 0.0056364473 0.0023444906 0.0051186795 + 1714100 0.0049006202 0.0022546098 0.0046666338 + 1714200 0.0045867763 0.0019007925 0.0041583465 + 1714300 0.005763989 0.0021735831 0.0050105464 + 1714400 0.0045662585 0.0030313777 0.005278833 + 1714500 0.0051186681 0.0031132575 0.0056326019 + 1714600 0.0042558895 0.0031583369 0.0052530325 + 1714700 0.0057047354 0.0026772491 0.0054850485 + 1714800 0.0060437255 0.0025699737 0.0055446198 + 1714900 0.0055806561 0.0025590688 0.0053057979 + 1715000 0.0029840206 0.0027135554 0.004182253 + 1715100 0.0046986882 0.0023745359 0.0046871715 + 1715200 0.0046699587 0.0021566073 0.0044551025 + 1715300 0.0063129638 0.0023194822 0.005426644 + 1715400 0.0060508057 0.0032501938 0.0062283248 + 1715500 0.0048982439 0.0031362751 0.0055471295 + 1715600 0.0044264639 0.0026582882 0.0048369384 + 1715700 0.0052883932 0.0024098368 0.0050127178 + 1715800 0.0050448903 0.002322774 0.0048058059 + 1715900 0.0051867992 0.0024794327 0.0050323104 + 1716000 0.00560592 0.0026269281 0.0053860919 + 1716100 0.0043141282 0.0026639167 0.0047872767 + 1716200 0.0045769226 0.0027645745 0.0050172785 + 1716300 0.0065411569 0.0027867164 0.0060061921 + 1716400 0.0070310857 0.0030806852 0.0065412978 + 1716500 0.0052503854 0.0029026902 0.0054868642 + 1716600 0.0073343976 0.0028403264 0.0064502252 + 1716700 0.0060832658 0.0028613958 0.0058555031 + 1716800 0.0054910473 0.0026808131 0.0053834379 + 1716900 0.0055143214 0.0023098799 0.00502396 + 1717000 0.0053015252 0.0023394848 0.0049488292 + 1717100 0.0063310111 0.0024857154 0.0056017599 + 1717200 0.0063915913 0.0019914027 0.0051372641 + 1717300 0.0060075176 0.001826661 0.004783486 + 1717400 0.0043173293 0.0021524442 0.0042773797 + 1717500 0.0063110656 0.0019123339 0.0050185615 + 1717600 0.003714028 0.0022806782 0.0041086764 + 1717700 0.005229619 0.0022376 0.0048115531 + 1717800 0.0042302071 0.0019218967 0.0040039517 + 1717900 0.00523954 0.0021312324 0.0047100685 + 1718000 0.0042949752 0.0026912957 0.0048052288 + 1718100 0.0050237827 0.0029157174 0.0053883604 + 1718200 0.0047100714 0.0028888956 0.0052071339 + 1718300 0.004921693 0.0030119914 0.0054343871 + 1718400 0.0064274601 0.0028578029 0.0060213184 + 1718500 0.0060473624 0.0028072471 0.0057836833 + 1718600 0.005322243 0.0028398995 0.0054594409 + 1718700 0.0051491598 0.0024344432 0.0049687953 + 1718800 0.0046066858 0.0024387693 0.0047061225 + 1718900 0.004317617 0.0023245261 0.0044496032 + 1719000 0.0046023531 0.0020304826 0.0042957032 + 1719100 0.0044009245 0.0018714929 0.0040375729 + 1719200 0.0054529023 0.0020497318 0.0047335821 + 1719300 0.0053240309 0.0019026124 0.0045230339 + 1719400 0.0057705078 0.00208724 0.0049274118 + 1719500 0.0034143162 0.0021937311 0.0038742149 + 1719600 0.0045486215 0.0021857068 0.0044244814 + 1719700 0.0042197367 0.0019289062 0.0040058078 + 1719800 0.0049475497 0.002148299 0.0045834211 + 1719900 0.0050196127 0.0029051055 0.0053756962 + 1720000 0.0031861708 0.0029043778 0.0044725712 + 1720100 0.0056102436 0.0023391481 0.0051004399 + 1720200 0.0051394595 0.0023564239 0.0048860016 + 1720300 0.0046551852 0.0022145993 0.0045058233 + 1720400 0.0041847096 0.0022112213 0.004270883 + 1720500 0.0053792014 0.001572803 0.0042203786 + 1720600 0.0044692687 0.0018748164 0.0040745345 + 1720700 0.0046099398 0.0021347627 0.0044037175 + 1720800 0.0058001166 0.0015841667 0.0044389116 + 1720900 0.0051775216 0.0015937382 0.0041420496 + 1721000 0.0034829949 0.0018005603 0.0035148468 + 1721100 0.0052871982 0.0018043927 0.0044066856 + 1721200 0.006733601 0.0022294213 0.0055436155 + 1721300 0.0064700555 0.0030380252 0.0062225056 + 1721400 0.0047180721 0.0029784584 0.0053006345 + 1721500 0.0076652437 0.0019180907 0.0056908279 + 1721600 0.0043591984 0.0015023846 0.0036479275 + 1721700 0.0040924691 0.0013835104 0.0033977726 + 1721800 0.0069590769 0.0016430724 0.005068243 + 1721900 0.005888223 0.0024684194 0.0053665292 + 1722000 0.0060792815 0.0031727526 0.006164899 + 1722100 0.0053337144 0.0032363978 0.0058615853 + 1722200 0.0062244435 0.0026659275 0.0057295208 + 1722300 0.0066817233 0.0021012552 0.0053899159 + 1722400 0.0058894697 0.0020705418 0.0049692652 + 1722500 0.0060091617 0.0022747576 0.0052323918 + 1722600 0.0055482894 0.002422441 0.0051532397 + 1722700 0.0058563119 0.0029568822 0.0058392858 + 1722800 0.0066227587 0.0030549084 0.0063145474 + 1722900 0.0048284115 0.0029260073 0.0053024911 + 1723000 0.0039981336 0.0023979103 0.0043657417 + 1723100 0.0039827832 0.0018998726 0.0038601487 + 1723200 0.0049538319 0.0019711155 0.0044093296 + 1723300 0.0055817528 0.0019876434 0.0047349123 + 1723400 0.0043783572 0.0021933487 0.0043483214 + 1723500 0.0056451818 0.0025688522 0.0053473401 + 1723600 0.0054384757 0.0027440816 0.0054208313 + 1723700 0.0042192451 0.002427783 0.0045044427 + 1723800 0.0038456054 0.0020218435 0.0039146024 + 1723900 0.0061537909 0.0016705805 0.0046993994 + 1724000 0.0045234255 0.0020633598 0.0042897333 + 1724100 0.0048428337 0.0021404811 0.0045240633 + 1724200 0.0052521743 0.0023169849 0.0049020394 + 1724300 0.0050320999 0.0022964643 0.004773201 + 1724400 0.0059580847 0.0024015023 0.0053339971 + 1724500 0.0057872266 0.0023950672 0.0052434678 + 1724600 0.0050606072 0.0022167972 0.0047075648 + 1724700 0.0049062328 0.0022146898 0.0046294762 + 1724800 0.0049686435 0.0024106913 0.0048561955 + 1724900 0.0060563298 0.0024966263 0.0054774761 + 1725000 0.0038113479 0.002464901 0.0043407988 + 1725100 0.0045482817 0.0028201911 0.0050587985 + 1725200 0.0052076841 0.0029658556 0.0055290127 + 1725300 0.0041491695 0.0026856708 0.0047278401 + 1725400 0.0041076971 0.0027076816 0.0047294388 + 1725500 0.0037062003 0.0030584796 0.0048826251 + 1725600 0.0053074667 0.0026501246 0.0052623934 + 1725700 0.0056133252 0.0023024226 0.0050652311 + 1725800 0.0043313045 0.002469979 0.0046017929 + 1725900 0.0054246761 0.0027169335 0.0053868913 + 1726000 0.0043837252 0.0024208172 0.0045784319 + 1726100 0.0045089484 0.0022415402 0.0044607882 + 1726200 0.0042631905 0.0025925055 0.0046907946 + 1726300 0.0051095727 0.0024154812 0.004930349 + 1726400 0.0057676911 0.0020817917 0.0049205772 + 1726500 0.0043065966 0.002364921 0.0044845741 + 1726600 0.0053119615 0.0026665319 0.0052810129 + 1726700 0.0042699524 0.0027657891 0.0048674063 + 1726800 0.0053099412 0.0028063367 0.0054198233 + 1726900 0.0064073753 0.0026696871 0.0058233172 + 1727000 0.0072150546 0.0023502149 0.0059013745 + 1727100 0.0038983305 0.0025433124 0.0044620219 + 1727200 0.006077243 0.0025276981 0.0055188412 + 1727300 0.0047260409 0.0023199206 0.0046460188 + 1727400 0.0044766195 0.0026016189 0.0048049551 + 1727500 0.0053718047 0.0025990809 0.0052430161 + 1727600 0.0041486924 0.0028502005 0.0048921351 + 1727700 0.0047980587 0.0023080979 0.0046696424 + 1727800 0.0056871021 0.0028268952 0.0056260157 + 1727900 0.0050535172 0.0028632376 0.0053505156 + 1728000 0.0046062398 0.0025663411 0.0048334747 + 1728100 0.0060639525 0.0018200523 0.0048046539 + 1728200 0.0055950405 0.0018252946 0.0045791036 + 1728300 0.0049891693 0.0024725115 0.0049281183 + 1728400 0.0035810118 0.0029311959 0.0046937251 + 1728500 0.0050982016 0.0031985656 0.0057078367 + 1728600 0.0048283847 0.0027699274 0.005146398 + 1728700 0.0068009511 0.0022593819 0.005606725 + 1728800 0.0056008109 0.0025192903 0.0052759394 + 1728900 0.004340848 0.0030637037 0.0052002148 + 1729000 0.0062897524 0.0030514447 0.0061471822 + 1729100 0.0066984596 0.0033338893 0.0066307874 + 1729200 0.0058507682 0.0030451916 0.0059248666 + 1729300 0.0063427553 0.0028599179 0.0059817428 + 1729400 0.0044810845 0.0027491532 0.0049546869 + 1729500 0.0053676808 0.0026872247 0.0053291301 + 1729600 0.0056848847 0.0024208062 0.0052188354 + 1729700 0.0048245478 0.0026170187 0.0049916008 + 1729800 0.0047839915 0.0024735474 0.0048281683 + 1729900 0.005369634 0.0022589357 0.0049018024 + 1730000 0.0054132155 0.0026537454 0.0053180624 + 1730100 0.0067092891 0.00267764 0.0059798683 + 1730200 0.0052392966 0.0022639266 0.004842643 + 1730300 0.0070786864 0.0022898876 0.0057739286 + 1730400 0.0053631597 0.0023351666 0.0049748468 + 1730500 0.0051859122 0.0023506696 0.0049031107 + 1730600 0.0059060715 0.0023268948 0.0052337893 + 1730700 0.0046630515 0.0026580973 0.004953193 + 1730800 0.0055499333 0.0024273991 0.0051590069 + 1730900 0.0065771148 0.0020621896 0.0052993632 + 1731000 0.0062080359 0.002153805 0.0052093227 + 1731100 0.0047950708 0.0021417547 0.0045018286 + 1731200 0.0048497873 0.0020427185 0.0044297232 + 1731300 0.0039781935 0.0018545331 0.0038125502 + 1731400 0.0045776067 0.0021795081 0.0044325489 + 1731500 0.0046391258 0.0022278836 0.0045112033 + 1731600 0.0050808086 0.0023625847 0.0048632951 + 1731700 0.0055104565 0.0020754336 0.0047876115 + 1731800 0.0044293541 0.002198454 0.0043785267 + 1731900 0.0049140692 0.0025269286 0.004945572 + 1732000 0.00490804 0.0026160225 0.0050316984 + 1732100 0.0057014812 0.0029634804 0.0057696782 + 1732200 0.0044007956 0.002791257 0.0049572735 + 1732300 0.0045349131 0.0024191716 0.0046511991 + 1732400 0.0045752525 0.0020678262 0.0043197083 + 1732500 0.0048191459 0.0019219057 0.0042938291 + 1732600 0.0044850116 0.0021579714 0.0043654381 + 1732700 0.0056861348 0.0023623702 0.0051610147 + 1732800 0.0058499013 0.0024021711 0.0052814194 + 1732900 0.0044577069 0.0026117377 0.0048057653 + 1733000 0.0058006109 0.0024127759 0.0052677641 + 1733100 0.0057115163 0.0026029781 0.005414115 + 1733200 0.0063385098 0.0029817493 0.0061014845 + 1733300 0.0042983826 0.0034761469 0.0055917571 + 1733400 0.0046202366 0.0030800108 0.0053540335 + 1733500 0.0036891307 0.0029338799 0.0047496239 + 1733600 0.0051229184 0.0026892348 0.0052106711 + 1733700 0.0044154352 0.0025617963 0.0047350183 + 1733800 0.0063241233 0.0027785077 0.0058911621 + 1733900 0.00695156 0.0035955266 0.0070169975 + 1734000 0.0041615833 0.0040419459 0.0060902252 + 1734100 0.0038936387 0.0034600406 0.0053764409 + 1734200 0.0051605063 0.0031800992 0.0057200359 + 1734300 0.0052366256 0.0030672198 0.0056446215 + 1734400 0.004005989 0.0028126786 0.0047843762 + 1734500 0.0048799029 0.0027625902 0.0051644175 + 1734600 0.0047937047 0.0025813175 0.004940719 + 1734700 0.0032032412 0.00252313 0.0040997253 + 1734800 0.0062017067 0.0021254437 0.0051778462 + 1734900 0.0051053319 0.0022121972 0.0047249778 + 1735000 0.0048231672 0.0024125499 0.0047864525 + 1735100 0.0059116522 0.0024619012 0.0053715425 + 1735200 0.0062627461 0.0026025598 0.0056850051 + 1735300 0.0054669841 0.0023448144 0.0050355956 + 1735400 0.0041177792 0.0022470984 0.0042738178 + 1735500 0.0045989274 0.0023512596 0.0046147942 + 1735600 0.0055093436 0.0027905061 0.0055021362 + 1735700 0.0057805058 0.002543616 0.0053887086 + 1735800 0.0057664189 0.0025011423 0.0053393016 + 1735900 0.0039254981 0.0028128323 0.0047449134 + 1736000 0.0057750142 0.0027684877 0.0056108775 + 1736100 0.0057675921 0.0026827251 0.0055214618 + 1736200 0.0048528378 0.0029633434 0.0053518495 + 1736300 0.0053781396 0.002940768 0.0055878211 + 1736400 0.0044925727 0.0029930026 0.0052041907 + 1736500 0.0051701291 0.0027590954 0.0053037683 + 1736600 0.0038588675 0.0026475135 0.0045467998 + 1736700 0.004522238 0.002638509 0.004864298 + 1736800 0.0064431004 0.0029030268 0.0060742402 + 1736900 0.0050815426 0.003294226 0.0057952977 + 1737000 0.0053920476 0.0032753809 0.0059292793 + 1737100 0.0052459742 0.0024737034 0.0050557064 + 1737200 0.0063836724 0.0022389735 0.0053809373 + 1737300 0.0051639744 0.0021257583 0.0046674019 + 1737400 0.0054670811 0.0017755298 0.0044663588 + 1737500 0.0057685714 0.002231081 0.0050702998 + 1737600 0.0046858408 0.0029350811 0.0052413933 + 1737700 0.0058984801 0.0028674427 0.0057706009 + 1737800 0.0043988792 0.0023111859 0.0044762593 + 1737900 0.0044264889 0.0020485231 0.0042271856 + 1738000 0.0051393712 0.0017608114 0.0042903456 + 1738100 0.0045917014 0.0022926984 0.0045526764 + 1738200 0.004479761 0.0023728341 0.0045777164 + 1738300 0.005368063 0.0021680184 0.0048101119 + 1738400 0.0057442615 0.0018745348 0.0047017885 + 1738500 0.0046054117 0.0018873064 0.0041540325 + 1738600 0.0033398128 0.0020601099 0.003703924 + 1738700 0.0051835482 0.0017944772 0.0043457548 + 1738800 0.0053885307 0.0017879887 0.0044401562 + 1738900 0.0040761492 0.0022166725 0.0042229021 + 1739000 0.0069041919 0.0022615675 0.0056597244 + 1739100 0.0051931889 0.0023298349 0.0048858576 + 1739200 0.0055963117 0.0026465353 0.0054009699 + 1739300 0.0056318977 0.0026716832 0.0054436328 + 1739400 0.0055306769 0.0029035576 0.0056256876 + 1739500 0.006867315 0.0029206439 0.0063006505 + 1739600 0.0053242811 0.0031762226 0.0057967672 + 1739700 0.0048751434 0.0029073433 0.0053068279 + 1739800 0.0048751874 0.0026590832 0.0050585895 + 1739900 0.0057703437 0.0021867227 0.0050268138 + 1740000 0.0042725377 0.0019134551 0.0040163448 + 1740100 0.0041024861 0.001898583 0.0039177754 + 1740200 0.0051091329 0.0021492398 0.0046638912 + 1740300 0.0052013669 0.0021924903 0.0047525381 + 1740400 0.0062141991 0.0019572732 0.0050158243 + 1740500 0.0057470593 0.00227032 0.0050989507 + 1740600 0.0047373262 0.0021800544 0.0045117071 + 1740700 0.005092345 0.0020785724 0.0045849609 + 1740800 0.0039890719 0.0020188979 0.0039822692 + 1740900 0.005393016 0.0021570442 0.0048114193 + 1741000 0.0072792977 0.0020286493 0.0056114286 + 1741100 0.0056773867 0.0023842726 0.0051786114 + 1741200 0.0054747849 0.0023036758 0.0049982965 + 1741300 0.0050466157 0.0017955336 0.0042794148 + 1741400 0.0030123306 0.0019412241 0.0034238556 + 1741500 0.0046932208 0.0024352894 0.0047452341 + 1741600 0.0055899586 0.0028532974 0.0056046051 + 1741700 0.0054984135 0.0024685359 0.0051747863 + 1741800 0.0052463227 0.0024792121 0.0050613866 + 1741900 0.0060522107 0.0023063321 0.0052851545 + 1742000 0.0050315299 0.002062553 0.0045390091 + 1742100 0.0046617886 0.0024981284 0.0047926025 + 1742200 0.0055813063 0.0024535839 0.0052006331 + 1742300 0.0064262397 0.0027195953 0.0058825101 + 1742400 0.0059582045 0.0030589613 0.0059915151 + 1742500 0.0054657407 0.0027300688 0.005420238 + 1742600 0.0058010795 0.002480272 0.0053354908 + 1742700 0.0054963929 0.0028385366 0.0055437925 + 1742800 0.0048028497 0.0027724027 0.0051363053 + 1742900 0.0056208353 0.0025022304 0.0052687353 + 1743000 0.004246989 0.0026303846 0.0047206995 + 1743100 0.0062022262 0.0024694876 0.0055221458 + 1743200 0.0058462665 0.0023832838 0.0052607431 + 1743300 0.0053549727 0.0021810879 0.0048167385 + 1743400 0.0047035584 0.0023735358 0.0046885684 + 1743500 0.0034134059 0.002592851 0.0042728867 + 1743600 0.0051712008 0.0025261332 0.0050713336 + 1743700 0.0044363511 0.0026329242 0.0048164408 + 1743800 0.0053060297 0.0026032613 0.0052148228 + 1743900 0.0054716927 0.002332985 0.0050260837 + 1744000 0.0063445202 0.0024138597 0.0055365532 + 1744100 0.0043863175 0.0028443544 0.005003245 + 1744200 0.0045464123 0.0027069968 0.0049446842 + 1744300 0.005951118 0.0022016178 0.0051306837 + 1744400 0.0050947173 0.001724297 0.0042318531 + 1744500 0.0048014688 0.0021897829 0.0045530058 + 1744600 0.00487067 0.0022233159 0.0046205988 + 1744700 0.0048236901 0.0019837245 0.0043578845 + 1744800 0.004999187 0.0017956371 0.0042561744 + 1744900 0.0035831861 0.0020680084 0.0038316078 + 1745000 0.0042314275 0.0022480265 0.0043306823 + 1745100 0.0042478908 0.0025489479 0.0046397067 + 1745200 0.0052483172 0.0024313491 0.0050145052 + 1745300 0.0045378881 0.0020740335 0.0043075253 + 1745400 0.0043915261 0.0023843865 0.0045458408 + 1745500 0.0053291165 0.0026037176 0.0052266421 + 1745600 0.0054009538 0.0028146595 0.0054729414 + 1745700 0.0068645466 0.002672489 0.0060511331 + 1745800 0.0056311371 0.0031068617 0.005878437 + 1745900 0.0042973983 0.002653416 0.0047685417 + 1746000 0.0046242551 0.0023277919 0.0046037925 + 1746100 0.0044363567 0.0022964124 0.0044799317 + 1746200 0.0060753117 0.0022112382 0.0052014307 + 1746300 0.0050968031 0.0022395165 0.0047480993 + 1746400 0.0064975577 0.0025083368 0.0057063535 + 1746500 0.0039253878 0.0030012192 0.004933246 + 1746600 0.0045624115 0.0024381548 0.0046837167 + 1746700 0.0050428968 0.002286799 0.0047688498 + 1746800 0.0053986739 0.0028348423 0.0054920021 + 1746900 0.0053338222 0.0031627113 0.0057879519 + 1747000 0.004808345 0.0029430475 0.0053096548 + 1747100 0.0049854319 0.0026326346 0.0050864018 + 1747200 0.0043278169 0.0026074625 0.0047375598 + 1747300 0.0058127942 0.0021512535 0.0050122382 + 1747400 0.0050299536 0.0019513494 0.0044270297 + 1747500 0.0033296707 0.0018749604 0.0035137826 + 1747600 0.0050821451 0.0019248895 0.0044262578 + 1747700 0.003142756 0.0021924738 0.0037392991 + 1747800 0.0049419141 0.0024137461 0.0048460944 + 1747900 0.0055905406 0.0023531513 0.0051047455 + 1748000 0.0046477209 0.002188752 0.0044763022 + 1748100 0.0040046171 0.0022227146 0.004193737 + 1748200 0.0040960373 0.002194631 0.0042106494 + 1748300 0.005282793 0.0017988512 0.0043989758 + 1748400 0.0043921949 0.0020864533 0.0042482368 + 1748500 0.0042543171 0.0022500011 0.0043439228 + 1748600 0.0066522817 0.0020993677 0.0053735376 + 1748700 0.0056817628 0.0022326134 0.0050291061 + 1748800 0.0050795857 0.0021900957 0.0046902043 + 1748900 0.0047185086 0.0023217423 0.0046441332 + 1749000 0.0050972477 0.0025653027 0.0050741044 + 1749100 0.0050868432 0.0026435291 0.0051472097 + 1749200 0.0051871881 0.0023108891 0.0048639582 + 1749300 0.0064264388 0.0017740441 0.004937057 + 1749400 0.0063055008 0.0018011861 0.0049046748 + 1749500 0.0069004729 0.002116499 0.0055128255 + 1749600 0.006438433 0.0026964641 0.0058653803 + 1749700 0.0049059039 0.0030643461 0.0054789707 + 1749800 0.0053504113 0.0031932531 0.0058266587 + 1749900 0.006567927 0.0027408992 0.0059735508 + 1750000 0.0047004473 0.0026999458 0.0050134472 + 1750100 0.0045194218 0.0030544121 0.005278815 + 1750200 0.0046574412 0.0031933932 0.0054857275 + 1750300 0.0050384001 0.0026517994 0.0051316369 + 1750400 0.0045103148 0.0024982068 0.0047181274 + 1750500 0.0054787126 0.0022292761 0.0049258299 + 1750600 0.0053521577 0.0022898362 0.0049241013 + 1750700 0.0051119653 0.0021675508 0.0046835962 + 1750800 0.0047665826 0.0026361204 0.0049821727 + 1750900 0.004580188 0.0028859618 0.0051402731 + 1751000 0.0042656883 0.0029205065 0.005020025 + 1751100 0.0056277709 0.0023845488 0.0051544673 + 1751200 0.0045446094 0.0025149174 0.0047517173 + 1751300 0.0050549662 0.0026517505 0.0051397417 + 1751400 0.0050120001 0.0026755338 0.0051423776 + 1751500 0.0062114627 0.0020897298 0.0051469341 + 1751600 0.004914896 0.0017117639 0.0041308143 + 1751700 0.0055210158 0.0018511901 0.004568565 + 1751800 0.0050834351 0.0018927326 0.0043947358 + 1751900 0.0039311635 0.0021238117 0.0040586813 + 1752000 0.0049438864 0.0017887845 0.0042221036 + 1752100 0.0032405662 0.0018654634 0.0034604295 + 1752200 0.0044732747 0.0014953347 0.0036970245 + 1752300 0.0045395614 0.0019769274 0.0042112428 + 1752400 0.0028218285 0.0022511914 0.0036400601 + 1752500 0.0044655688 0.001972408 0.0041703051 + 1752600 0.0039814906 0.0020485341 0.004008174 + 1752700 0.0046969606 0.0024785517 0.004790337 + 1752800 0.0048822206 0.0028935692 0.0052965372 + 1752900 0.0047247037 0.0032678542 0.0055932943 + 1753000 0.0042201198 0.003098704 0.0051757942 + 1753100 0.0063567307 0.002653466 0.0057821694 + 1753200 0.0045079292 0.0025000387 0.0047187851 + 1753300 0.0052004298 0.0024806622 0.0050402487 + 1753400 0.0046461842 0.0027618625 0.0050486563 + 1753500 0.0053771996 0.002723434 0.0053700245 + 1753600 0.0055640019 0.0029344634 0.0056729956 + 1753700 0.005369234 0.0024611314 0.0051038013 + 1753800 0.005321373 0.0021165929 0.0047357061 + 1753900 0.0054002143 0.0023984184 0.0050563364 + 1754000 0.0053405146 0.0022725361 0.0049010706 + 1754100 0.0053506228 0.0026329247 0.0052664343 + 1754200 0.0049644493 0.0029107086 0.0053541485 + 1754300 0.0072825315 0.0022295067 0.0058138777 + 1754400 0.0046835638 0.0025033155 0.0048085071 + 1754500 0.0036046763 0.0027013682 0.0044755448 + 1754600 0.0041478466 0.0025137778 0.004555296 + 1754700 0.0034703992 0.0023181957 0.0040262828 + 1754800 0.0047454946 0.002392268 0.0047279412 + 1754900 0.0051593718 0.0020220853 0.0045614636 + 1755000 0.0040566811 0.0019432997 0.0039399474 + 1755100 0.0036832981 0.0023505985 0.0041634718 + 1755200 0.0041252032 0.0022304634 0.0042608368 + 1755300 0.0051401338 0.0023037253 0.004833635 + 1755400 0.0051469098 0.0024113026 0.0049445473 + 1755500 0.0064663223 0.0022295903 0.0054122332 + 1755600 0.0060200869 0.0023455369 0.0053085484 + 1755700 0.0055601216 0.0024580054 0.0051946277 + 1755800 0.0054160084 0.0025995885 0.0052652802 + 1755900 0.0057054685 0.0032258196 0.0060339799 + 1756000 0.0050384958 0.0030416904 0.005521575 + 1756100 0.0064460307 0.0026068692 0.0057795249 + 1756200 0.0042743526 0.0028990377 0.0050028207 + 1756300 0.0043740773 0.0025659955 0.0047188617 + 1756400 0.0061618572 0.0023346896 0.0053674787 + 1756500 0.0046699095 0.0025047206 0.0048031917 + 1756600 0.0044528692 0.0024633848 0.0046550314 + 1756700 0.0046800795 0.0025193571 0.0048228337 + 1756800 0.0049480248 0.0020294093 0.0044647653 + 1756900 0.0050684272 0.0019403402 0.0044349568 + 1757000 0.0050713927 0.0023070178 0.0048030939 + 1757100 0.0055811681 0.0025373925 0.0052843737 + 1757200 0.0070233652 0.0022706571 0.0057274696 + 1757300 0.0060053821 0.0022451238 0.0052008978 + 1757400 0.0037923252 0.0025159235 0.0043824585 + 1757500 0.0042712408 0.0023591884 0.0044614398 + 1757600 0.0061874432 0.001672791 0.0047181732 + 1757700 0.0036913929 0.0015459509 0.0033628083 + 1757800 0.0029228911 0.0015724136 0.0030110241 + 1757900 0.0054732729 0.0015790886 0.0042729651 + 1758000 0.0051505571 0.001693166 0.0042282058 + 1758100 0.0039613463 0.0021498169 0.004099542 + 1758200 0.0044882075 0.0020920253 0.0043010649 + 1758300 0.0039216968 0.0021544446 0.0040846547 + 1758400 0.0040729263 0.0024950147 0.0044996581 + 1758500 0.0046871637 0.0025124835 0.0048194469 + 1758600 0.0033049105 0.0026269344 0.00425357 + 1758700 0.005944781 0.0018212274 0.0047471743 + 1758800 0.0059269598 0.0022017409 0.0051189165 + 1758900 0.0038105644 0.0027549024 0.0046304146 + 1759000 0.0063515853 0.0024268464 0.0055530173 + 1759100 0.0075137089 0.0023561528 0.0060543064 + 1759200 0.004955617 0.002454792 0.0048938847 + 1759300 0.0040819976 0.0024533724 0.0044624806 + 1759400 0.0054967202 0.0024749852 0.0051804021 + 1759500 0.0052375042 0.0026054462 0.0051832803 + 1759600 0.0051787794 0.0026267342 0.0051756647 + 1759700 0.0047241651 0.0027049664 0.0050301414 + 1759800 0.0042256753 0.0024974489 0.0045772735 + 1759900 0.0053545264 0.0023130628 0.0049484938 + 1760000 0.0045371057 0.0021044397 0.0043375464 + 1760100 0.0058708692 0.0018275733 0.0047171417 + 1760200 0.0049432998 0.0020164781 0.0044495084 + 1760300 0.005098235 0.0022965971 0.0048058846 + 1760400 0.0052112863 0.0022551184 0.0048200484 + 1760500 0.0046281779 0.0030128816 0.0052908129 + 1760600 0.0050295467 0.0033600964 0.0058355764 + 1760700 0.0051623181 0.0031915651 0.0057323935 + 1760800 0.0058188278 0.0032168985 0.0060808528 + 1760900 0.0062977821 0.0031408311 0.0062405207 + 1761000 0.00422701 0.0031908397 0.0052713211 + 1761100 0.0046367969 0.0029861078 0.0052682812 + 1761200 0.0062811768 0.0025988762 0.0056903929 + 1761300 0.0061118847 0.0024525882 0.0054607815 + 1761400 0.0050238429 0.0023429421 0.0048156148 + 1761500 0.0053899847 0.002376252 0.0050291351 + 1761600 0.0060125414 0.0023916819 0.0053509796 + 1761700 0.0054018546 0.0021545491 0.0048132744 + 1761800 0.0045294624 0.0024458619 0.0046752067 + 1761900 0.005624374 0.0027897247 0.0055579712 + 1762000 0.005834977 0.0028015735 0.0056734763 + 1762100 0.0057335507 0.0026593649 0.0054813469 + 1762200 0.0047114546 0.0028165613 0.0051354803 + 1762300 0.0059473398 0.0029636195 0.0058908258 + 1762400 0.0042657685 0.0029506188 0.0050501767 + 1762500 0.0051752849 0.00256444 0.0051116505 + 1762600 0.0038390399 0.0024854031 0.0043749305 + 1762700 0.0047251022 0.0023227533 0.0046483895 + 1762800 0.0036082298 0.0025819829 0.0043579085 + 1762900 0.0062208891 0.002803894 0.0058657378 + 1763000 0.004668174 0.0027365137 0.0050341306 + 1763100 0.0047268707 0.0027806895 0.0051071961 + 1763200 0.0049680651 0.0025420326 0.0049872522 + 1763300 0.0033834284 0.002560723 0.0042260041 + 1763400 0.0046479766 0.0026313033 0.0049189792 + 1763500 0.0046283393 0.0024873487 0.0047653595 + 1763600 0.0043134868 0.0024691937 0.0045922379 + 1763700 0.0036518016 0.0026640547 0.0044614258 + 1763800 0.0045016499 0.0023901206 0.0046057764 + 1763900 0.0034139343 0.0024598745 0.0041401702 + 1764000 0.0051095608 0.0025838779 0.0050987399 + 1764100 0.0059879693 0.0032477739 0.0061949776 + 1764200 0.0038739884 0.0031753722 0.0050821008 + 1764300 0.0045022117 0.002956489 0.0051724213 + 1764400 0.0049689066 0.0028721882 0.0053178219 + 1764500 0.004725437 0.0029149328 0.0052407338 + 1764600 0.0044185456 0.0025944638 0.0047692167 + 1764700 0.0043172934 0.00253465 0.0046595679 + 1764800 0.0062150719 0.0022688738 0.0053278545 + 1764900 0.0048847625 0.0028064925 0.0052107115 + 1765000 0.0042511322 0.0033522905 0.0054446447 + 1765100 0.0051236373 0.0031647562 0.0056865464 + 1765200 0.0042022183 0.0027575327 0.0048258121 + 1765300 0.0035379434 0.002656183 0.0043975146 + 1765400 0.00501983 0.0026551129 0.0051258105 + 1765500 0.0049277529 0.0023778612 0.0048032396 + 1765600 0.0032482655 0.0028854581 0.0044842138 + 1765700 0.0037625191 0.0026790169 0.0045308818 + 1765800 0.0032768664 0.0022626258 0.0038754584 + 1765900 0.0047176096 0.0021862251 0.0045081735 + 1766000 0.0057603886 0.0024699226 0.0053051139 + 1766100 0.0064225896 0.002793772 0.0059548903 + 1766200 0.0047063355 0.0023876736 0.0047040731 + 1766300 0.0054504107 0.0023765764 0.0050592005 + 1766400 0.0039914591 0.0024297976 0.0043943439 + 1766500 0.0041184626 0.0021772636 0.0042043194 + 1766600 0.0050240567 0.0019588307 0.0044316086 + 1766700 0.0054256421 0.0017246903 0.0043951236 + 1766800 0.0050071608 0.0017291922 0.0041936541 + 1766900 0.005745941 0.0020018055 0.0048298858 + 1767000 0.0045803157 0.0022706831 0.0045250572 + 1767100 0.0050169129 0.0023754304 0.0048446923 + 1767200 0.0045450991 0.002406946 0.0046439869 + 1767300 0.0050894201 0.0025236226 0.0050285716 + 1767400 0.0043824933 0.0023941991 0.0045512075 + 1767500 0.0053138151 0.0020306504 0.0046460438 + 1767600 0.0058160192 0.0018605639 0.0047231358 + 1767700 0.0042062534 0.002223653 0.0042939184 + 1767800 0.0055246376 0.0018462537 0.0045654113 + 1767900 0.0051960875 0.0015849198 0.0041423691 + 1768000 0.0054945511 0.0022419146 0.004946264 + 1768100 0.0047796386 0.0027742682 0.0051267466 + 1768200 0.0057204779 0.0023769826 0.0051925303 + 1768300 0.0048841351 0.0019376981 0.0043416083 + 1768400 0.0045570713 0.0021471694 0.004390103 + 1768500 0.0049952252 0.0024233299 0.0048819173 + 1768600 0.0052583811 0.0019924977 0.0045806072 + 1768700 0.0043546323 0.0020115575 0.0041548531 + 1768800 0.0045224593 0.0021622621 0.00438816 + 1768900 0.005460156 0.002583 0.0052704205 + 1769000 0.0065372568 0.0026006482 0.0058182043 + 1769100 0.006265027 0.0019833354 0.0050669034 + 1769200 0.0052385439 0.001702913 0.0042812588 + 1769300 0.0040683256 0.0022594428 0.0042618218 + 1769400 0.0043657782 0.0027289293 0.0048777107 + 1769500 0.00767431 0.0027602894 0.0065374888 + 1769600 0.0044288334 0.0030303808 0.0052101972 + 1769700 0.0048089151 0.0035398793 0.0059067672 + 1769800 0.0060987505 0.0033649264 0.0063666551 + 1769900 0.0064223065 0.0030716754 0.0062326544 + 1770000 0.0056170546 0.0025165594 0.0052812035 + 1770100 0.0045576038 0.0023796836 0.0046228792 + 1770200 0.0048410652 0.0022840302 0.004666742 + 1770300 0.0041289055 0.0027210727 0.0047532684 + 1770400 0.0047516537 0.00248652 0.0048252246 + 1770500 0.0060319301 0.0023529561 0.0053217967 + 1770600 0.0045258466 0.0028277178 0.005055283 + 1770700 0.0046942117 0.0027847865 0.0050952188 + 1770800 0.0044130319 0.0024541237 0.0046261629 + 1770900 0.0052257846 0.0020278697 0.0045999356 + 1771000 0.0047804097 0.0021104194 0.0044632773 + 1771100 0.0047788573 0.002017952 0.0043700458 + 1771200 0.0048548681 0.0021137355 0.0045032409 + 1771300 0.0032823452 0.0024028568 0.0040183861 + 1771400 0.0050210262 0.0024165568 0.0048878431 + 1771500 0.0051847841 0.0022569155 0.0048088015 + 1771600 0.0055445935 0.0017646575 0.0044936371 + 1771700 0.0045388396 0.0018851815 0.0041191416 + 1771800 0.0035953536 0.0018975416 0.0036671297 + 1771900 0.0049724604 0.0016857843 0.0041331671 + 1772000 0.0056706013 0.0018515761 0.0046425751 + 1772100 0.003944834 0.0020786246 0.0040202225 + 1772200 0.0036079367 0.0024033752 0.0041791565 + 1772300 0.0045755857 0.0026162412 0.0048682873 + 1772400 0.0034933029 0.0025777384 0.0042970984 + 1772500 0.0065414067 0.0022375359 0.0054571346 + 1772600 0.0048097969 0.0023539945 0.0047213164 + 1772700 0.0053549039 0.0019986889 0.0046343057 + 1772800 0.0038070911 0.0016934381 0.0035672407 + 1772900 0.0059690059 0.0017327728 0.0046706428 + 1773000 0.004082254 0.0017151733 0.0037244077 + 1773100 0.0040046099 0.0018915948 0.0038626138 + 1773200 0.0038222815 0.0019968983 0.0038781775 + 1773300 0.0067406891 0.0017732555 0.0050909384 + 1773400 0.0051026719 0.0022672364 0.0047787078 + 1773500 0.0036955801 0.0020537126 0.0038726309 + 1773600 0.0041731451 0.0017187541 0.003772724 + 1773700 0.004499991 0.0018739643 0.0040888036 + 1773800 0.0043067617 0.0021409255 0.0042606598 + 1773900 0.0051347174 0.0023815608 0.0049088045 + 1774000 0.0064573384 0.0025505981 0.0057288194 + 1774100 0.0050917658 0.0024168508 0.0049229543 + 1774200 0.0044585869 0.0024851286 0.0046795894 + 1774300 0.0056536853 0.0023538464 0.0051365196 + 1774400 0.0056005701 0.0022998213 0.0050563519 + 1774500 0.0061285672 0.0024625455 0.0054789497 + 1774600 0.0054776543 0.0024151804 0.0051112134 + 1774700 0.0056619309 0.0025847439 0.0053714755 + 1774800 0.0062016705 0.0025874183 0.005639803 + 1774900 0.0058421881 0.002557017 0.005432469 + 1775000 0.0045985656 0.002236606 0.0044999625 + 1775100 0.0051291932 0.0024843423 0.0050088671 + 1775200 0.004364618 0.0024996764 0.0046478868 + 1775300 0.0039051873 0.0027646763 0.0046867607 + 1775400 0.0063795741 0.0025588832 0.0056988299 + 1775500 0.0063119559 0.0021169356 0.0052236013 + 1775600 0.0059617581 0.0025238383 0.0054581411 + 1775700 0.0054899653 0.0024468952 0.0051489875 + 1775800 0.0055215207 0.0023390288 0.0050566523 + 1775900 0.0050550214 0.0025284907 0.005016509 + 1776000 0.0045892131 0.0025194148 0.0047781681 + 1776100 0.0041501854 0.0027014616 0.004744131 + 1776200 0.0047754886 0.0020028362 0.004353272 + 1776300 0.0053003665 0.0018877121 0.0044964862 + 1776400 0.0044651847 0.0021418288 0.0043395369 + 1776500 0.0044603025 0.0024485244 0.0046438296 + 1776600 0.0037560289 0.0021867801 0.0040354506 + 1776700 0.0046238846 0.0019446178 0.004220436 + 1776800 0.004213288 0.0023911607 0.0044648883 + 1776900 0.0031976243 0.0026071422 0.0041809729 + 1777000 0.0047968598 0.0026668333 0.0050277877 + 1777100 0.0038244761 0.0028225083 0.0047048676 + 1777200 0.0037937198 0.002586164 0.0044533855 + 1777300 0.0046655009 0.0025263289 0.0048226301 + 1777400 0.004661397 0.0025190752 0.0048133565 + 1777500 0.0051573993 0.0024386198 0.0049770273 + 1777600 0.0047780367 0.0030031455 0.0053548355 + 1777700 0.0062093471 0.0030732274 0.0061293904 + 1777800 0.0045540466 0.0032030161 0.0054444609 + 1777900 0.0046611195 0.0032616967 0.0055558415 + 1778000 0.0048099464 0.0033393575 0.005706753 + 1778100 0.0054995684 0.002944977 0.0056517959 + 1778200 0.0061905557 0.0026740946 0.0057210087 + 1778300 0.0056353786 0.0027930353 0.0055666982 + 1778400 0.0053455046 0.0024575583 0.0050885489 + 1778500 0.004047745 0.0022540148 0.0042462643 + 1778600 0.0049280135 0.0025675526 0.0049930592 + 1778700 0.0045322632 0.002666127 0.0048968503 + 1778800 0.0046544841 0.0025353683 0.0048262472 + 1778900 0.0044000911 0.0022777715 0.0044434414 + 1779000 0.0054709604 0.0019663544 0.0046590927 + 1779100 0.0047062465 0.0019247036 0.0042410593 + 1779200 0.0038895696 0.0022424024 0.0041568 + 1779300 0.0041003082 0.0023400037 0.0043581242 + 1779400 0.003122224 0.002192082 0.0037288016 + 1779500 0.0055292436 0.0019280265 0.004649451 + 1779600 0.0042103362 0.0021639245 0.0042361993 + 1779700 0.0067593303 0.0022199682 0.0055468261 + 1779800 0.0031135546 0.0023966387 0.0039290913 + 1779900 0.0049619773 0.0018687106 0.0043109338 + 1780000 0.0053476912 0.0018497737 0.0044818404 + 1780100 0.0058108125 0.0020454815 0.0049054908 + 1780200 0.0049814562 0.0025073961 0.0049592066 + 1780300 0.0048875921 0.0025185966 0.0049242083 + 1780400 0.0043619666 0.0022252011 0.0043721066 + 1780500 0.0049801472 0.0022018527 0.0046530189 + 1780600 0.0049276642 0.0022632027 0.0046885375 + 1780700 0.0072821118 0.0023415561 0.0059257205 + 1780800 0.0046587299 0.0023160076 0.0046089762 + 1780900 0.0057270468 0.0021868433 0.0050056241 + 1781000 0.0053100277 0.0023471591 0.0049606883 + 1781100 0.0051602547 0.0026407639 0.0051805768 + 1781200 0.0075585811 0.0024489102 0.0061691494 + 1781300 0.0047285189 0.0024636041 0.004790922 + 1781400 0.0050752927 0.0023149127 0.0048129083 + 1781500 0.0065357036 0.0020783903 0.005295182 + 1781600 0.0055870461 0.0025538669 0.0053037411 + 1781700 0.0058373832 0.0028694358 0.0057425228 + 1781800 0.0033691874 0.0030648432 0.0047231151 + 1781900 0.0059878738 0.0022801759 0.0052273326 + 1782000 0.0045812605 0.0025404348 0.004795274 + 1782100 0.0065449764 0.0023287566 0.0055501122 + 1782200 0.0047833168 0.0023686811 0.0047229698 + 1782300 0.0068409392 0.0023189956 0.0056860204 + 1782400 0.0061206634 0.0027325156 0.0057450296 + 1782500 0.0055069281 0.0028051864 0.0055156276 + 1782600 0.0049337196 0.0029745736 0.0054028887 + 1782700 0.0060572787 0.0029598738 0.0059411906 + 1782800 0.0055754749 0.0030039771 0.0057481562 + 1782900 0.00652515 0.0024693664 0.0056809637 + 1783000 0.006289504 0.0020173063 0.0051129215 + 1783100 0.0043428969 0.0020575078 0.0041950273 + 1783200 0.0042364574 0.0021425806 0.0042277119 + 1783300 0.0050842706 0.0020651561 0.0045675706 + 1783400 0.0061688945 0.0022703542 0.005306607 + 1783500 0.0042145013 0.0033602784 0.0054346032 + 1783600 0.0052167031 0.0034854415 0.0060530375 + 1783700 0.0065535817 0.003167534 0.006393125 + 1783800 0.0049478334 0.0027693058 0.0052045676 + 1783900 0.0045044198 0.0023400403 0.0045570594 + 1784000 0.0040945657 0.0019824516 0.0039977456 + 1784100 0.0048018115 0.0023189907 0.0046823823 + 1784200 0.0036853516 0.0025391673 0.0043530512 + 1784300 0.0047241047 0.002068943 0.0043940883 + 1784400 0.0060395304 0.0020553237 0.0050279051 + 1784500 0.0048996812 0.0019777268 0.0043892886 + 1784600 0.0042767825 0.001967195 0.0040721739 + 1784700 0.0043782022 0.0024274982 0.0045823946 + 1784800 0.0036696254 0.0027925397 0.0045986834 + 1784900 0.0051607344 0.0022783573 0.0048184063 + 1785000 0.0042759146 0.0022080339 0.0043125856 + 1785100 0.0040806956 0.0023333323 0.0043417996 + 1785200 0.0050233404 0.0028172137 0.0052896391 + 1785300 0.0051710019 0.0034114921 0.0059565945 + 1785400 0.0061249297 0.003462239 0.0064768528 + 1785500 0.0071444001 0.0028132054 0.0063295898 + 1785600 0.0052201819 0.0032469836 0.0058162919 + 1785700 0.0045679197 0.0034563029 0.0057045758 + 1785800 0.006371421 0.0034568883 0.0065928221 + 1785900 0.0044025559 0.0036331347 0.0058000177 + 1786000 0.0056747568 0.0032167273 0.0060097717 + 1786100 0.0044482833 0.0030602478 0.0052496373 + 1786200 0.0061749483 0.0027846231 0.0058238555 + 1786300 0.0046543536 0.0021852494 0.0044760641 + 1786400 0.0040429031 0.0021625208 0.0041523871 + 1786500 0.0039926837 0.0023723509 0.0043375 + 1786600 0.0045251912 0.0024880654 0.0047153079 + 1786700 0.0033676835 0.0021443193 0.003801851 + 1786800 0.0071275007 0.0022943165 0.0058023833 + 1786900 0.0054443683 0.0026333719 0.0053130219 + 1787000 0.0046480987 0.0024945135 0.0047822496 + 1787100 0.0038736523 0.0023465056 0.0042530689 + 1787200 0.0043702918 0.0019372402 0.0040882432 + 1787300 0.0045753069 0.0018687866 0.0041206955 + 1787400 0.0045993547 0.0019468858 0.0042106307 + 1787500 0.0036721395 0.0021265306 0.0039339117 + 1787600 0.0047381551 0.0026714295 0.0050034903 + 1787700 0.0063692624 0.0020714331 0.0052063045 + 1787800 0.0050480957 0.0022112319 0.0046958416 + 1787900 0.0059645152 0.00228359 0.0052192499 + 1788000 0.0062284456 0.0020928765 0.0051584395 + 1788100 0.0049550279 0.0022546672 0.00469347 + 1788200 0.0047497157 0.0024974632 0.0048352139 + 1788300 0.004883545 0.002277743 0.0046813629 + 1788400 0.0047690289 0.002529262 0.0048765184 + 1788500 0.0045930804 0.0022623929 0.0045230496 + 1788600 0.0041145534 0.0022540232 0.0042791549 + 1788700 0.0057297777 0.0019660715 0.0047861964 + 1788800 0.0062106233 0.0020883237 0.0051451148 + 1788900 0.0048168965 0.0024904224 0.0048612386 + 1789000 0.0066720646 0.0020628324 0.0053467391 + 1789100 0.0055595363 0.0016561054 0.0043924396 + 1789200 0.0035366758 0.0019938788 0.0037345864 + 1789300 0.0062950624 0.0019099528 0.0050083038 + 1789400 0.005390661 0.0019621774 0.0046153933 + 1789500 0.0052982008 0.00184072 0.0044484282 + 1789600 0.0046340165 0.0015254903 0.0038062953 + 1789700 0.0053650023 0.0018657511 0.0045063382 + 1789800 0.0056764113 0.0025286467 0.0053225054 + 1789900 0.0059640442 0.0028336945 0.0057691225 + 1790000 0.0055700194 0.0024838164 0.0052253104 + 1790100 0.0066266938 0.0018925115 0.0051540873 + 1790200 0.0057497024 0.0020974604 0.004927392 + 1790300 0.0043426342 0.0020648547 0.004202245 + 1790400 0.0060369059 0.0016816501 0.0046529397 + 1790500 0.0042515587 0.0017756815 0.0038682455 + 1790600 0.0052347697 0.001813969 0.0043904572 + 1790700 0.0058858514 0.0017520453 0.0046489877 + 1790800 0.004288986 0.0021989975 0.0043099827 + 1790900 0.0039229725 0.0028944506 0.0048252886 + 1791000 0.0062508781 0.0023255079 0.005402112 + 1791100 0.0052110481 0.0022855325 0.0048503452 + 1791200 0.003643579 0.002472176 0.0042655001 + 1791300 0.004417113 0.0026033906 0.0047774384 + 1791400 0.0045490242 0.0027782909 0.0050172637 + 1791500 0.0049576122 0.0026151461 0.0050552208 + 1791600 0.0031474745 0.0026379926 0.0041871402 + 1791700 0.003473677 0.0025859974 0.0042956978 + 1791800 0.0051139383 0.0026600311 0.0051770476 + 1791900 0.0043073444 0.0028623952 0.0049824162 + 1792000 0.0041164567 0.0024874879 0.0045135565 + 1792100 0.0048384165 0.0024690971 0.0048505052 + 1792200 0.0081298217 0.0021309406 0.0061323373 + 1792300 0.0042194584 0.0022042249 0.0042809896 + 1792400 0.0052419579 0.0019675574 0.0045475835 + 1792500 0.0049762092 0.0024835844 0.0049328124 + 1792600 0.0055012919 0.0029609719 0.005668639 + 1792700 0.0067921371 0.0025997114 0.0059427164 + 1792800 0.0043036458 0.0020167091 0.0041349098 + 1792900 0.005603795 0.0024892864 0.0052474043 + 1793000 0.0062540866 0.0027110432 0.0057892265 + 1793100 0.0050546532 0.0021701394 0.0046579765 + 1793200 0.0047276132 0.0024940732 0.0048209453 + 1793300 0.0053447093 0.0027126427 0.0053432418 + 1793400 0.0054095087 0.002814228 0.0054767205 + 1793500 0.0041129745 0.0032604421 0.0052847967 + 1793600 0.0050352564 0.0033898781 0.0058681683 + 1793700 0.0050851983 0.0031814995 0.0056843705 + 1793800 0.0047760778 0.0027621752 0.005112901 + 1793900 0.0039936773 0.0024451121 0.0044107502 + 1794000 0.0047359123 0.0024294758 0.0047604326 + 1794100 0.0042061233 0.0024328535 0.0045030548 + 1794200 0.0048059312 0.0025799667 0.0049453859 + 1794300 0.0046132211 0.0022759787 0.0045465485 + 1794400 0.0066490626 0.0021967793 0.0054693648 + 1794500 0.0050924174 0.0019320815 0.0044385057 + 1794600 0.0040034002 0.0021522317 0.0041226553 + 1794700 0.0051065497 0.0023634646 0.0048768446 + 1794800 0.005632733 0.0024962085 0.0052685693 + 1794900 0.0045298416 0.002225933 0.0044554644 + 1795000 0.0040491323 0.0020795061 0.0040724384 + 1795100 0.0048983409 0.0019013468 0.0043122489 + 1795200 0.0040405817 0.0020045194 0.0039932432 + 1795300 0.0050364633 0.0020112284 0.0044901127 + 1795400 0.0057389492 0.0023073648 0.0051320039 + 1795500 0.0039780355 0.0025641144 0.0045220538 + 1795600 0.0049730091 0.0025085013 0.0049561542 + 1795700 0.006408733 0.0021673348 0.0053216331 + 1795800 0.004792136 0.0022256335 0.0045842629 + 1795900 0.0045630255 0.0022705129 0.004516377 + 1796000 0.0035277562 0.0026300382 0.0043663557 + 1796100 0.0045241839 0.002372766 0.0045995128 + 1796200 0.0055173256 0.0025898165 0.0053053752 + 1796300 0.0061117678 0.0025571562 0.0055652919 + 1796400 0.0073479505 0.0026268481 0.0062434175 + 1796500 0.0043183253 0.0023712776 0.0044967033 + 1796600 0.004348155 0.0016179511 0.0037580586 + 1796700 0.0056450051 0.0014752798 0.0042536807 + 1796800 0.0046353843 0.0021901388 0.004471617 + 1796900 0.006225231 0.0026176423 0.0056816232 + 1797000 0.0063068047 0.0026679007 0.0057720311 + 1797100 0.0055678998 0.0026393356 0.0053797863 + 1797200 0.0051309108 0.0024992416 0.0050246118 + 1797300 0.0044473401 0.002421524 0.0046104492 + 1797400 0.0044643018 0.0028370186 0.0050342921 + 1797500 0.0055023377 0.0024784811 0.005186663 + 1797600 0.0053411191 0.0022540413 0.0048828734 + 1797700 0.0051552838 0.0021151485 0.0046525147 + 1797800 0.0038869259 0.0024056219 0.0043187182 + 1797900 0.0030820401 0.002228797 0.0037457387 + 1798000 0.0051881965 0.0017716914 0.0043252569 + 1798100 0.0059743982 0.0016350333 0.0045755574 + 1798200 0.0061993433 0.0020781476 0.0051293869 + 1798300 0.0059991001 0.0024557678 0.0054084499 + 1798400 0.0055412849 0.0028825844 0.0056099356 + 1798500 0.0050483943 0.003015748 0.0055005045 + 1798600 0.005495592 0.0031350153 0.0058398769 + 1798700 0.0063751072 0.003091301 0.0062290491 + 1798800 0.0054270709 0.0028957027 0.0055668391 + 1798900 0.0052123766 0.0027072041 0.0052726707 + 1799000 0.0041180592 0.0027582874 0.0047851447 + 1799100 0.0043172201 0.0029182905 0.0050431723 + 1799200 0.0044023884 0.0029764053 0.0051432059 + 1799300 0.0044921479 0.0028306598 0.0050416388 + 1799400 0.0041433792 0.0027556472 0.0047949667 + 1799500 0.0049875556 0.0026105429 0.0050653555 + 1799600 0.0077610393 0.0023674491 0.0061873357 + 1799700 0.0047891382 0.0023438601 0.0047010141 + 1799800 0.0053020443 0.0020783495 0.0046879494 + 1799900 0.0049234214 0.0019104437 0.0043336902 + 1800000 0.0047790741 0.0021032157 0.0044554162 + 1800100 0.0036331741 0.0020843366 0.0038725395 + 1800200 0.0047352244 0.0020710509 0.0044016692 + 1800300 0.005294135 0.0020941923 0.0046998994 + 1800400 0.0058007625 0.0025984834 0.0054535462 + 1800500 0.005617984 0.0025262781 0.0052913796 + 1800600 0.0039413893 0.0024314475 0.00437135 + 1800700 0.0049376613 0.0020359733 0.0044662285 + 1800800 0.0033301203 0.0018367925 0.0034758361 + 1800900 0.0047274678 0.0017935172 0.0041203178 + 1801000 0.0048379544 0.0022453291 0.0046265098 + 1801100 0.0051383544 0.0023018712 0.004830905 + 1801200 0.0042695393 0.0030315824 0.0051329963 + 1801300 0.0067603929 0.0028633405 0.0061907213 + 1801400 0.0059697546 0.0028735332 0.0058117718 + 1801500 0.0042024252 0.0025750555 0.0046434367 + 1801600 0.0048701801 0.002174067 0.0045711088 + 1801700 0.0049899462 0.0022169824 0.0046729716 + 1801800 0.0057771597 0.0020375094 0.0048809552 + 1801900 0.0056149879 0.0019598968 0.0047235236 + 1802000 0.0036617644 0.0024695573 0.004271832 + 1802100 0.0056811563 0.0020365192 0.0048327134 + 1802200 0.0053013932 0.0016783998 0.0042876793 + 1802300 0.0042807333 0.0020946101 0.0042015336 + 1802400 0.0030761482 0.0027197703 0.004233812 + 1802500 0.0044610182 0.0023432902 0.0045389476 + 1802600 0.0038763209 0.002305101 0.0042129777 + 1802700 0.0045107335 0.0019496306 0.0041697572 + 1802800 0.006385859 0.0016505536 0.0047935936 + 1802900 0.0049579119 0.0023155467 0.004755769 + 1803000 0.007050688 0.0025810672 0.0060513277 + 1803100 0.0053073952 0.0028196259 0.0054318595 + 1803200 0.0059726292 0.0027635339 0.0057031873 + 1803300 0.0060180776 0.002857788 0.0058198105 + 1803400 0.0047705381 0.0023731285 0.0047211277 + 1803500 0.0074020479 0.0020872728 0.0057304682 + 1803600 0.005030685 0.0022777715 0.0047538118 + 1803700 0.00457286 0.0027636967 0.0050144013 + 1803800 0.0042654121 0.0027562982 0.0048556807 + 1803900 0.0048499235 0.0024959102 0.004882982 + 1804000 0.0044309401 0.0021332478 0.0043141011 + 1804100 0.0045031058 0.0025722384 0.0047886108 + 1804200 0.0058344395 0.0026002066 0.0054718448 + 1804300 0.0052151495 0.0022070644 0.0047738958 + 1804400 0.0051989006 0.0023666234 0.0049254572 + 1804500 0.0050393713 0.002613227 0.0050935425 + 1804600 0.0045627497 0.0026765674 0.0049222957 + 1804700 0.0042077504 0.0029243555 0.0049953576 + 1804800 0.0057969629 0.0027573975 0.0056105901 + 1804900 0.0059594583 0.0032498059 0.0061829768 + 1805000 0.0055313757 0.0034137522 0.0061362261 + 1805100 0.005438106 0.0032742994 0.0059508672 + 1805200 0.0057383228 0.0031829228 0.0060072536 + 1805300 0.006237904 0.0031414153 0.0062116336 + 1805400 0.0049817683 0.0033836116 0.0058355757 + 1805500 0.0050987143 0.0034076224 0.0059171458 + 1805600 0.0061698457 0.0030538861 0.006090607 + 1805700 0.0047790807 0.0027976751 0.0051498789 + 1805800 0.0048309245 0.0028614727 0.0052391933 + 1805900 0.004706441 0.0030729632 0.0053894146 + 1806000 0.0041337097 0.0037866101 0.0058211703 + 1806100 0.0040957301 0.004015511 0.0060313781 + 1806200 0.0056328146 0.0030470795 0.0058194804 + 1806300 0.0044991058 0.0027411549 0.0049555585 + 1806400 0.0047439478 0.0029891761 0.0053240879 + 1806500 0.0048563413 0.0029672809 0.0053575113 + 1806600 0.0049094802 0.0028120515 0.0052284363 + 1806700 0.0047098824 0.0025304342 0.0048485794 + 1806800 0.0049030447 0.0024805041 0.0048937215 + 1806900 0.0052827546 0.0027779274 0.0053780332 + 1807000 0.0058354393 0.0028757122 0.0057478425 + 1807100 0.003983775 0.0030556651 0.0050164294 + 1807200 0.0027642773 0.0030092899 0.0043698326 + 1807300 0.0046877138 0.0027178962 0.0050251303 + 1807400 0.0035589686 0.0023291201 0.0040807999 + 1807500 0.0063153338 0.0023452137 0.0054535421 + 1807600 0.0031179518 0.0026524695 0.0041870864 + 1807700 0.0037822925 0.0023258721 0.0041874692 + 1807800 0.0044255119 0.0023930883 0.0045712699 + 1807900 0.0054514361 0.0019036431 0.0045867718 + 1808000 0.0048670089 0.0016465127 0.0040419937 + 1808100 0.006382617 0.0018253762 0.0049668205 + 1808200 0.0054746023 0.0024120266 0.0051065574 + 1808300 0.0057489736 0.0022222572 0.0050518301 + 1808400 0.0062400488 0.0022291045 0.0053003785 + 1808500 0.0051033353 0.0021942179 0.0047060157 + 1808600 0.0061352781 0.0023033122 0.0053230194 + 1808700 0.0048054119 0.0022359599 0.0046011236 + 1808800 0.0036561264 0.0026253442 0.004424844 + 1808900 0.0040567113 0.0030081741 0.0050048367 + 1809000 0.0061695427 0.0025226723 0.0055592441 + 1809100 0.0071837656 0.0020580988 0.0055938585 + 1809200 0.0056956086 0.0024984009 0.0053017082 + 1809300 0.0051972427 0.0027185435 0.0052765614 + 1809400 0.0079311974 0.0027442756 0.0066479118 + 1809500 0.0049998155 0.003119772 0.0055806187 + 1809600 0.0069964643 0.0029875658 0.0064311381 + 1809700 0.0063042904 0.0024823795 0.0055852725 + 1809800 0.005637542 0.0029733828 0.0057481105 + 1809900 0.0060714202 0.0028060165 0.0057942937 + 1810000 0.0050768332 0.0026431881 0.005141942 + 1810100 0.0045561462 0.0023121113 0.0045545895 + 1810200 0.0042086515 0.0022474412 0.0043188868 + 1810300 0.0044359051 0.0024022058 0.0045855029 + 1810400 0.0050926811 0.0024792052 0.0049857592 + 1810500 0.0032949713 0.0027228062 0.0043445499 + 1810600 0.006193523 0.0025635152 0.0056118897 + 1810700 0.0054281214 0.0026447226 0.0053163761 + 1810800 0.0067506687 0.0025418124 0.0058644071 + 1810900 0.0060839581 0.0025406905 0.0055351387 + 1811000 0.0048144367 0.0027323007 0.0051019062 + 1811100 0.0049938575 0.0027521135 0.0052100277 + 1811200 0.00390463 0.0027507189 0.004672529 + 1811300 0.0049517444 0.0027146902 0.0051518769 + 1811400 0.0052000821 0.0021609212 0.0047203366 + 1811500 0.0063498616 0.0024710959 0.0055964184 + 1811600 0.0050803669 0.0029993646 0.0054998577 + 1811700 0.0047756192 0.0027249939 0.005075494 + 1811800 0.0068853768 0.0023880439 0.0057769403 + 1811900 0.004555979 0.0027325448 0.0049749407 + 1812000 0.0053250845 0.0023328951 0.0049538351 + 1812100 0.0059492168 0.002518421 0.0054465511 + 1812200 0.0046827926 0.0026257674 0.0049305793 + 1812300 0.0051616054 0.0025007015 0.0050411791 + 1812400 0.0052380017 0.0021615585 0.0047396375 + 1812500 0.0044126591 0.002665687 0.0048375426 + 1812600 0.0042683156 0.0031074861 0.0052082977 + 1812700 0.005323682 0.0031201705 0.0057404202 + 1812800 0.0055819242 0.0029026502 0.0056500036 + 1812900 0.0056904979 0.0022598696 0.0050606615 + 1813000 0.0069260468 0.0019485827 0.0053574964 + 1813100 0.0048736966 0.0024965992 0.0048953717 + 1813200 0.0043880241 0.0026394422 0.0047991728 + 1813300 0.0058141021 0.002507025 0.0053686534 + 1813400 0.005709122 0.002700422 0.0055103805 + 1813500 0.0069937004 0.0019116894 0.0053539013 + 1813600 0.0047739814 0.0021839834 0.0045336774 + 1813700 0.0045464559 0.0022655343 0.004503243 + 1813800 0.0056461766 0.0023303373 0.0051093148 + 1813900 0.004352647 0.0027811815 0.0049234999 + 1814000 0.0044952028 0.0026657318 0.0048782144 + 1814100 0.0046573603 0.0025483313 0.0048406258 + 1814200 0.0068988388 0.0025475036 0.0059430258 + 1814300 0.0060974564 0.0026201891 0.0056212809 + 1814400 0.0040782139 0.0025123895 0.0045196354 + 1814500 0.0051203506 0.0027590515 0.005279224 + 1814600 0.0062988146 0.0029661 0.0060662977 + 1814700 0.0053368726 0.0027230676 0.0053498096 + 1814800 0.0051942452 0.0025613875 0.00511793 + 1814900 0.0046503534 0.0027056294 0.0049944752 + 1815000 0.0050202285 0.0027555903 0.005226484 + 1815100 0.0046419172 0.0033262235 0.0056109171 + 1815200 0.0048453775 0.003650058 0.0060348922 + 1815300 0.0055045876 0.0031494782 0.0058587674 + 1815400 0.0060460494 0.0025753044 0.0055510943 + 1815500 0.0053716556 0.0030874821 0.0057313439 + 1815600 0.0055977108 0.0026731943 0.0054283176 + 1815700 0.0056485114 0.0023216996 0.0051018263 + 1815800 0.0052491614 0.001975069 0.0045586406 + 1815900 0.0030587047 0.0018193543 0.0033248105 + 1816000 0.0035629556 0.001642153 0.0033957952 + 1816100 0.0052583811 0.0016951501 0.0042832595 + 1816200 0.0063133885 0.0017456907 0.0048530617 + 1816300 0.0050960136 0.0019174212 0.0044256154 + 1816400 0.0042485794 0.00238597 0.0044770677 + 1816500 0.0057376651 0.0026643009 0.0054883079 + 1816600 0.0045847907 0.0025752483 0.004831825 + 1816700 0.0047144177 0.0025976475 0.0049180249 + 1816800 0.0057581802 0.0024717067 0.005305811 + 1816900 0.0080771832 0.0018970414 0.00587253 + 1817000 0.0053785857 0.0022783972 0.0049256699 + 1817100 0.0054556602 0.0027939516 0.0054791593 + 1817200 0.0027870945 0.0031233444 0.0044951174 + 1817300 0.0066350469 0.002494526 0.0057602131 + 1817400 0.0054674496 0.0023148108 0.0050058211 + 1817500 0.005389846 0.0028802171 0.0055330319 + 1817600 0.0039749506 0.0028155659 0.0047719869 + 1817700 0.0059075619 0.0021050701 0.0050126982 + 1817800 0.0037151036 0.0021345158 0.0039630433 + 1817900 0.0041381898 0.0021953792 0.0042321445 + 1818000 0.0045639526 0.0024114218 0.0046577422 + 1818100 0.0056582819 0.0022595447 0.0050444803 + 1818200 0.0061542921 0.0019802879 0.0050093536 + 1818300 0.0035436361 0.0022900333 0.0040341667 + 1818400 0.0030906352 0.0022577108 0.0037788828 + 1818500 0.005299035 0.0021427952 0.004750914 + 1818600 0.0044605286 0.0030211344 0.0052165509 + 1818700 0.0084252615 0.0029141882 0.0070609966 + 1818800 0.0052654956 0.0028931681 0.0054847792 + 1818900 0.0064927064 0.0026932096 0.0058888386 + 1819000 0.0042155278 0.0031478047 0.0052226348 + 1819100 0.0061241663 0.0027834883 0.0057977264 + 1819200 0.0047188444 0.0025616591 0.0048842153 + 1819300 0.0046865926 0.0022295961 0.0045362784 + 1819400 0.0047011684 0.0020899192 0.0044037755 + 1819500 0.0046125463 0.0017626294 0.004032867 + 1819600 0.006569472 0.001940279 0.005173691 + 1819700 0.0050470459 0.0020577459 0.0045418388 + 1819800 0.0046823175 0.0018815438 0.0041861219 + 1819900 0.0047398166 0.0018877692 0.0042206477 + 1820000 0.0055046266 0.0020156473 0.0047249557 + 1820100 0.0052743619 0.0019628005 0.0045587755 + 1820200 0.0036075098 0.0020577587 0.0038333299 + 1820300 0.0040706159 0.0018824593 0.0038859656 + 1820400 0.0039578743 0.0019991012 0.0039471174 + 1820500 0.0048044345 0.0017974638 0.0041621464 + 1820600 0.0047396822 0.0021966943 0.0045295066 + 1820700 0.004221107 0.0024852846 0.0045628607 + 1820800 0.0057762266 0.0021183352 0.0049613217 + 1820900 0.0049292566 0.0020930433 0.0045191617 + 1821000 0.0051252232 0.0022882071 0.0048107779 + 1821100 0.0044850187 0.002830597 0.0050380671 + 1821200 0.0061189455 0.002898423 0.0059100915 + 1821300 0.0045778032 0.0025490465 0.004802184 + 1821400 0.0072489223 0.0024855257 0.0060533546 + 1821500 0.0050077595 0.0029467603 0.005411517 + 1821600 0.0048030003 0.002704961 0.0050689378 + 1821700 0.0061186786 0.0024799416 0.0054914787 + 1821800 0.0054033741 0.0030831135 0.0057425867 + 1821900 0.0053313872 0.0036172759 0.006241318 + 1822000 0.0064464205 0.0033732684 0.0065461159 + 1822100 0.00719653 0.0030434248 0.0065854669 + 1822200 0.0050603549 0.0027627911 0.0052534345 + 1822300 0.0041442588 0.0029611955 0.0050009479 + 1822400 0.0057457721 0.0033040127 0.00613201 + 1822500 0.0060276161 0.0034863523 0.0064530696 + 1822600 0.0049598557 0.0035633034 0.0060044824 + 1822700 0.0048481249 0.0035280276 0.0059142141 + 1822800 0.0057377127 0.0030747693 0.0058987998 + 1822900 0.0047174951 0.0030567746 0.0053786667 + 1823000 0.004346437 0.0032114091 0.005350671 + 1823100 0.0044479236 0.003055827 0.0052450394 + 1823200 0.0053455065 0.0027133252 0.0053443167 + 1823300 0.0049241651 0.0024630671 0.0048866796 + 1823400 0.0059108284 0.0023917394 0.0053009753 + 1823500 0.0061144291 0.0024484684 0.0054579139 + 1823600 0.0045269391 0.0023719378 0.0046000407 + 1823700 0.0054659545 0.0026420181 0.0053322926 + 1823800 0.0056600927 0.0025921534 0.0053779802 + 1823900 0.0060232515 0.0023613412 0.0053259103 + 1824000 0.0043007121 0.0023806413 0.004497398 + 1824100 0.0068658427 0.0024411754 0.0058204573 + 1824200 0.0057992292 0.0031316194 0.0059859275 + 1824300 0.0042782816 0.0029725392 0.0050782559 + 1824400 0.0043930448 0.0022916297 0.0044538315 + 1824500 0.0066307409 0.002382041 0.0056456088 + 1824600 0.0046970932 0.0029140734 0.0052259239 + 1824700 0.0052341104 0.0027628339 0.0053389976 + 1824800 0.0057090688 0.0023714315 0.0051813638 + 1824900 0.0041767944 0.0029039131 0.0049596791 + 1825000 0.0047985349 0.0032829106 0.0056446895 + 1825100 0.0054354559 0.0030923425 0.005767606 + 1825200 0.0047763358 0.0026897147 0.0050405674 + 1825300 0.0046690722 0.0026267875 0.0049248464 + 1825400 0.0053295392 0.0025708265 0.0051939591 + 1825500 0.0052039664 0.0026326981 0.0051940254 + 1825600 0.005168094 0.0028084954 0.0053521666 + 1825700 0.0052807938 0.0031881972 0.0057873379 + 1825800 0.0063996855 0.0031917795 0.0063416247 + 1825900 0.0049656207 0.0025723001 0.0050163165 + 1826000 0.0044579691 0.0026210072 0.0048151639 + 1826100 0.0039711717 0.0027422528 0.0046968139 + 1826200 0.0042724386 0.0027052279 0.0048080688 + 1826300 0.0049160374 0.0022891764 0.0047087886 + 1826400 0.0052075253 0.0021843586 0.0047474375 + 1826500 0.0049262254 0.0024342733 0.0048588998 + 1826600 0.0062682518 0.0025638302 0.0056489854 + 1826700 0.005087883 0.0024378312 0.0049420235 + 1826800 0.0066816683 0.0026729123 0.005961546 + 1826900 0.0058840259 0.0028664687 0.0057625127 + 1827000 0.0043170339 0.0031289596 0.0052537497 + 1827100 0.0033102255 0.0030834146 0.0047126662 + 1827200 0.005304711 0.003083488 0.0056944004 + 1827300 0.0048934582 0.00292277 0.0053312689 + 1827400 0.0070284222 0.0026549206 0.0061142221 + 1827500 0.0057499984 0.0026277568 0.0054578341 + 1827600 0.0035804456 0.0026635442 0.0044257947 + 1827700 0.0061231124 0.0025581302 0.0055718496 + 1827800 0.0061432991 0.0024547061 0.0054783611 + 1827900 0.005415717 0.0018447313 0.0045102795 + 1828000 0.0042125419 0.0018357509 0.0039091114 + 1828100 0.0044047823 0.0020566684 0.0042246472 + 1828200 0.0044642671 0.0020736408 0.0042708973 + 1828300 0.0042333244 0.0025415446 0.0046251339 + 1828400 0.004676091 0.0026121607 0.0049136743 + 1828500 0.0047821278 0.002265139 0.0046188425 + 1828600 0.0056606687 0.0023629358 0.0051490462 + 1828700 0.0042643567 0.0023600494 0.0044589125 + 1828800 0.0055143145 0.0019632792 0.0046773558 + 1828900 0.0053505859 0.0022500497 0.0048835412 + 1829000 0.0054430077 0.0026329033 0.0053118836 + 1829100 0.0037750871 0.0030123678 0.0048704185 + 1829200 0.0051351073 0.0028976646 0.0054251002 + 1829300 0.003705895 0.0023914385 0.0042154337 + 1829400 0.0052122035 0.0022645812 0.0048299626 + 1829500 0.0050618367 0.0021924018 0.0046837746 + 1829600 0.0037012563 0.0027290508 0.0045507629 + 1829700 0.0057358305 0.0034644657 0.0062875698 + 1829800 0.0059052509 0.0033467078 0.0062531985 + 1829900 0.0050542655 0.0027401648 0.0052278111 + 1830000 0.0057027576 0.0021682464 0.0049750724 + 1830100 0.0048569274 0.0022625129 0.0046530318 + 1830200 0.0058706701 0.0026763652 0.0055658356 + 1830300 0.0059568705 0.0029857847 0.0059176819 + 1830400 0.0045320701 0.0029337449 0.0051643732 + 1830500 0.0059118425 0.0020544785 0.0049642135 + 1830600 0.0052206447 0.002079378 0.0046489141 + 1830700 0.0053053301 0.0024817254 0.0050929425 + 1830800 0.0042621922 0.0027185603 0.0048163581 + 1830900 0.0043277719 0.0023677986 0.0044978738 + 1831000 0.0042477281 0.0021741656 0.0042648442 + 1831100 0.0054975051 0.0021475996 0.0048534029 + 1831200 0.0055499534 0.0022680067 0.0049996244 + 1831300 0.0058004202 0.0021802601 0.0050351544 + 1831400 0.0045817929 0.0020443244 0.0042994256 + 1831500 0.005024284 0.0019508498 0.0044237395 + 1831600 0.0063923386 0.0016479732 0.0047942023 + 1831700 0.0053891001 0.0021805845 0.0048330323 + 1831800 0.0042736062 0.0020027254 0.004106141 + 1831900 0.0058263068 0.0019485808 0.0048162161 + 1832000 0.0048090669 0.0024221702 0.0047891328 + 1832100 0.0058706145 0.0021870863 0.0050765294 + 1832200 0.0060252898 0.0020606339 0.0050262062 + 1832300 0.0057948786 0.0019945458 0.0048467126 + 1832400 0.0046757112 0.0026301785 0.0049315051 + 1832500 0.0051749671 0.0024789905 0.0050260446 + 1832600 0.0043664165 0.0020048783 0.0041539739 + 1832700 0.0045591068 0.0018953011 0.0041392364 + 1832800 0.0046872018 0.0018004993 0.0041074814 + 1832900 0.0037222815 0.0021428358 0.0039748962 + 1833000 0.005116769 0.0020980478 0.0046164576 + 1833100 0.0042426721 0.0022351938 0.004323384 + 1833200 0.0059273852 0.0018062704 0.0047236553 + 1833300 0.0050169575 0.0015648148 0.0040340985 + 1833400 0.0036444582 0.0018204961 0.0036142529 + 1833500 0.0041192498 0.0016766313 0.0037040746 + 1833600 0.0060917824 0.0013252966 0.0043235957 + 1833700 0.0039343989 0.0015139989 0.0034504609 + 1833800 0.0045641837 0.0016012208 0.0038476549 + 1833900 0.0038779444 0.0015620393 0.0034707151 + 1834000 0.0034397932 0.0014937013 0.0031867245 + 1834100 0.0041536156 0.0016923532 0.0037367109 + 1834200 0.0061741431 0.0020231792 0.0050620152 + 1834300 0.00700956 0.0025129784 0.0059629962 + 1834400 0.004511051 0.00277052 0.0049908029 + 1834500 0.0066063277 0.0023224758 0.0055740277 + 1834600 0.0063307989 0.0021381683 0.0052541084 + 1834700 0.0053347989 0.002864189 0.0054899104 + 1834800 0.003810059 0.0031292314 0.0050044948 + 1834900 0.0039350338 0.0023325102 0.0042692847 + 1835000 0.0039253816 0.0023004742 0.0042324979 + 1835100 0.0043493171 0.0026065013 0.0047471809 + 1835200 0.0059382305 0.0020238556 0.0049465784 + 1835300 0.0055512799 0.0020961808 0.0048284514 + 1835400 0.004560111 0.0025052234 0.0047496531 + 1835500 0.0061620989 0.0021435891 0.0051764971 + 1835600 0.0060534744 0.0020609768 0.0050404213 + 1835700 0.0050988575 0.0023864775 0.0048960715 + 1835800 0.0040857965 0.0029020823 0.0049130602 + 1835900 0.0056307064 0.0022661865 0.0050375498 + 1836000 0.0047747567 0.0020853721 0.0044354477 + 1836100 0.0040440968 0.002506713 0.0044971668 + 1836200 0.0067721313 0.002122843 0.0054560014 + 1836300 0.0061105582 0.0023768815 0.0053844218 + 1836400 0.0043726814 0.0021686447 0.0043208239 + 1836500 0.0061544343 0.0019122589 0.0049413945 + 1836600 0.0043637841 0.0021561815 0.0043039815 + 1836700 0.0053660962 0.0020910825 0.004732208 + 1836800 0.0057512497 0.0020633396 0.0048940328 + 1836900 0.0031473321 0.0024506435 0.003999721 + 1837000 0.0044484178 0.0024652237 0.0046546794 + 1837100 0.0043878205 0.0023345958 0.0044942262 + 1837200 0.0053451094 0.002484964 0.00511576 + 1837300 0.0048560547 0.0028732618 0.0052633512 + 1837400 0.0051813158 0.0027726192 0.005322798 + 1837500 0.0050665778 0.0026530164 0.0051467226 + 1837600 0.0042243288 0.0026143297 0.0046934915 + 1837700 0.0058733006 0.0022217371 0.0051125023 + 1837800 0.0059696299 0.0019280442 0.0048662214 + 1837900 0.0066097859 0.0022531339 0.005506388 + 1838000 0.0045753028 0.0024758607 0.0047277675 + 1838100 0.0050992566 0.0025984728 0.0051082631 + 1838200 0.0071713953 0.0027416285 0.0062712996 + 1838300 0.0046583695 0.0027351704 0.0050279617 + 1838400 0.0048769053 0.0025654867 0.0049658385 + 1838500 0.0059869798 0.0024622399 0.0054089565 + 1838600 0.0046443328 0.0024363716 0.0047222541 + 1838700 0.0059914538 0.0025693318 0.0055182505 + 1838800 0.0041579393 0.0025931373 0.004639623 + 1838900 0.0052373178 0.0024469232 0.0050246656 + 1839000 0.0053400258 0.0029002151 0.005528509 + 1839100 0.0052395177 0.0031068153 0.0056856404 + 1839200 0.0037071654 0.0029448845 0.0047695049 + 1839300 0.0056261925 0.0025735682 0.0053427098 + 1839400 0.0059516351 0.0023083108 0.0052376312 + 1839500 0.0038140735 0.00212545 0.0040026893 + 1839600 0.0049929643 0.0022773455 0.0047348201 + 1839700 0.004022392 0.0018980272 0.0038777983 + 1839800 0.0045130695 0.0015877761 0.0038090525 + 1839900 0.0062050786 0.001686639 0.0047407012 + 1840000 0.0035642651 0.001629771 0.0033840578 + 1840100 0.0042978546 0.0018277923 0.0039431426 + 1840200 0.0061407046 0.0019549632 0.0049773412 + 1840300 0.0041827911 0.0018496769 0.0039083943 + 1840400 0.0063945954 0.0023121147 0.0054594546 + 1840500 0.0058929146 0.0025536802 0.0054540991 + 1840600 0.0043325298 0.0027928762 0.0049252932 + 1840700 0.0040040946 0.002453111 0.0044238764 + 1840800 0.0067747652 0.0022475444 0.0055819991 + 1840900 0.0065009975 0.0022714826 0.0054711923 + 1841000 0.0050763861 0.0026430654 0.0051415992 + 1841100 0.0042768045 0.0024847768 0.0045897666 + 1841200 0.0063417284 0.0020045203 0.0051258397 + 1841300 0.0070350604 0.0021580166 0.0056205854 + 1841400 0.0052567241 0.0025163768 0.0051036706 + 1841500 0.0055590012 0.0023723552 0.0051084261 + 1841600 0.0053868186 0.0024026588 0.0050539836 + 1841700 0.0037579794 0.0025671645 0.0044167949 + 1841800 0.0043316275 0.0025265842 0.0046585571 + 1841900 0.0057632867 0.0018918011 0.0047284188 + 1842000 0.0062377117 0.0018049957 0.0048751194 + 1842100 0.0048405258 0.0018059836 0.0041884299 + 1842200 0.0053049944 0.0019553899 0.0045664419 + 1842300 0.0036553117 0.0024211139 0.0042202126 + 1842400 0.0048940481 0.0022653279 0.0046741172 + 1842500 0.0067878786 0.0019725053 0.0053134143 + 1842600 0.0042258662 0.0021923432 0.0042722617 + 1842700 0.003957031 0.0021651342 0.0041127353 + 1842800 0.0066389383 0.0016018918 0.0048694942 + 1842900 0.0042927053 0.0016011071 0.003713923 + 1843000 0.0033250501 0.0018255905 0.0034621386 + 1843100 0.0050949771 0.0018026786 0.0043103626 + 1843200 0.006508666 0.0018330325 0.0050365166 + 1843300 0.0033278315 0.001954456 0.0035923731 + 1843400 0.0048972395 0.0022044465 0.0046148065 + 1843500 0.0048153418 0.0020468086 0.0044168596 + 1843600 0.0037205933 0.0014914504 0.0033226799 + 1843700 0.0047488901 0.0013849712 0.0037223155 + 1843800 0.0033948239 0.0019311101 0.0036020001 + 1843900 0.0045488295 0.0020181184 0.0042569955 + 1844000 0.0045874363 0.001811521 0.0040693998 + 1844100 0.0052658303 0.0021204679 0.0047122437 + 1844200 0.0045968924 0.0022905404 0.0045530734 + 1844300 0.0060474182 0.0021894167 0.0051658804 + 1844400 0.0049932763 0.0025474994 0.0050051276 + 1844500 0.0048293397 0.0023694126 0.0047463532 + 1844600 0.0052131184 0.0024645913 0.005030423 + 1844700 0.0061719866 0.0022514869 0.0052892615 + 1844800 0.0050334766 0.0021639955 0.0046414097 + 1844900 0.0055293568 0.0024199037 0.005141384 + 1845000 0.0044610265 0.0029095308 0.0051051923 + 1845100 0.0042041923 0.0025764383 0.0046456892 + 1845200 0.0051668084 0.0023306589 0.0048736974 + 1845300 0.005157825 0.0025926176 0.0051312346 + 1845400 0.0054317547 0.0022402149 0.0049136566 + 1845500 0.0041568267 0.0023582423 0.0044041804 + 1845600 0.0057886644 0.0025178985 0.0053670068 + 1845700 0.0059044547 0.0024941627 0.0054002615 + 1845800 0.0059969151 0.0023975717 0.0053491783 + 1845900 0.0047543229 0.002571547 0.0049115653 + 1846000 0.0039368594 0.0025859241 0.0045235971 + 1846100 0.004775652 0.0022191813 0.0045696975 + 1846200 0.0037914846 0.0019438728 0.0038099942 + 1846300 0.0043008757 0.0016148405 0.0037316777 + 1846400 0.0044770452 0.0021008033 0.004304349 + 1846500 0.0051053014 0.0023464521 0.0048592176 + 1846600 0.0054041435 0.002645248 0.0053050999 + 1846700 0.0050141443 0.0024578393 0.0049257384 + 1846800 0.0055054676 0.0026416981 0.0053514204 + 1846900 0.0044873244 0.003125533 0.005334138 + 1847000 0.0058283333 0.0032702439 0.0061388767 + 1847100 0.0042937873 0.0033463131 0.0054596616 + 1847200 0.0057513306 0.0030710728 0.0059018058 + 1847300 0.006793525 0.002961628 0.0063053161 + 1847400 0.0038773767 0.0029170547 0.0048254511 + 1847500 0.0041149712 0.0029708609 0.0049961983 + 1847600 0.0039325399 0.0028078588 0.0047434058 + 1847700 0.006893422 0.0027425911 0.0061354473 + 1847800 0.0051960168 0.0031100695 0.005667484 + 1847900 0.0051463719 0.0031311171 0.005664097 + 1848000 0.0061257952 0.002339528 0.0053545678 + 1848100 0.0054010959 0.0022581169 0.0049164688 + 1848200 0.0047333457 0.0022860651 0.0046157587 + 1848300 0.0057888656 0.002194388 0.0050435953 + 1848400 0.0054622628 0.0023915895 0.005080047 + 1848500 0.0059248318 0.0029236314 0.0058397596 + 1848600 0.0040095068 0.0030648882 0.0050383173 + 1848700 0.0059111071 0.0023688248 0.0052781979 + 1848800 0.0054172868 0.0024390272 0.0051053481 + 1848900 0.0070208916 0.0025671618 0.0060227569 + 1849000 0.004724782 0.0025884869 0.0049139655 + 1849100 0.0053265164 0.0026514622 0.005273107 + 1849200 0.0033529411 0.0023697388 0.0040200145 + 1849300 0.0044540227 0.0023620306 0.0045542449 + 1849400 0.0055284968 0.0022315086 0.0049525656 + 1849500 0.0036457713 0.0022485933 0.0040429964 + 1849600 0.0047417136 0.0021222733 0.0044560854 + 1849700 0.0057860543 0.001774611 0.0046224346 + 1849800 0.0053944584 0.002060481 0.004715566 + 1849900 0.0038387652 0.0026056477 0.0044950399 + 1850000 0.0049164014 0.0024579002 0.0048776915 + 1850100 0.0058634625 0.0019565724 0.0048424953 + 1850200 0.0073364201 0.0020673989 0.0056782931 + 1850300 0.0042555208 0.0021681261 0.0042626403 + 1850400 0.0056087858 0.0023942487 0.005154823 + 1850500 0.0057459801 0.0029505264 0.0057786259 + 1850600 0.0042882882 0.0029515747 0.0050622165 + 1850700 0.0046174863 0.0024875534 0.0047602225 + 1850800 0.0036369905 0.0025078208 0.0042979021 + 1850900 0.0044561347 0.0022503581 0.004443612 + 1851000 0.0044843582 0.0023873753 0.0045945203 + 1851100 0.0049394703 0.0023392001 0.0047703456 + 1851200 0.0042230222 0.0023102304 0.0043887491 + 1851300 0.0071762252 0.0022007768 0.0057328252 + 1851400 0.0042970609 0.0026495172 0.0047644768 + 1851500 0.0058965459 0.0026745763 0.0055767825 + 1851600 0.0054059417 0.0025722442 0.0052329812 + 1851700 0.0066319401 0.0026965125 0.0059606705 + 1851800 0.0066072348 0.0030885972 0.0063405956 + 1851900 0.0056313101 0.0030698164 0.0058414768 + 1852000 0.0053502195 0.0031426859 0.005775997 + 1852100 0.0058557708 0.0026686303 0.0055507675 + 1852200 0.0038576923 0.0026235122 0.0045222201 + 1852300 0.0038111654 0.0024515931 0.0043274011 + 1852400 0.0052085258 0.0021442695 0.0047078407 + 1852500 0.005401477 0.0026355922 0.0052941317 + 1852600 0.006985303 0.0027080225 0.0061461013 + 1852700 0.0056859042 0.0027272822 0.0055258131 + 1852800 0.0057359892 0.0031463233 0.0059695055 + 1852900 0.0046615671 0.0029153198 0.0052096849 + 1853000 0.0044095797 0.0024852492 0.0046555892 + 1853100 0.0046837822 0.0031883826 0.0054936816 + 1853200 0.0049301988 0.0035737318 0.006000314 + 1853300 0.0065595738 0.0029043468 0.006132887 + 1853400 0.0055032558 0.0024367131 0.0051453468 + 1853500 0.0038057409 0.0023078545 0.0041809926 + 1853600 0.0045012882 0.0023006524 0.0045161302 + 1853700 0.0052065069 0.002500923 0.0050635006 + 1853800 0.0042202466 0.0019984945 0.0040756472 + 1853900 0.004339723 0.0020389863 0.0041749437 + 1854000 0.0041196616 0.0021069941 0.00413464 + 1854100 0.0061360722 0.0020723062 0.0050924043 + 1854200 0.0040347251 0.0027041865 0.0046900278 + 1854300 0.0054632755 0.0025811143 0.0052700702 + 1854400 0.0064021063 0.002334433 0.0054854697 + 1854500 0.0058030263 0.0022148894 0.0050710664 + 1854600 0.0049767724 0.0018175855 0.0042670906 + 1854700 0.0055312395 0.0016646701 0.004387077 + 1854800 0.0045300512 0.0023492809 0.0045789155 + 1854900 0.004640963 0.0023878105 0.0046720345 + 1855000 0.0048504668 0.0021932125 0.0045805516 + 1855100 0.004647965 0.0024363792 0.0047240495 + 1855200 0.0078412364 0.002015546 0.0058749045 + 1855300 0.0049130905 0.002331263 0.0047494248 + 1855400 0.0051127284 0.0022695687 0.0047859897 + 1855500 0.0079244979 0.0022374752 0.006137814 + 1855600 0.0042753444 0.0024377542 0.0045420253 + 1855700 0.0049556914 0.0024035775 0.0048427068 + 1855800 0.0036937537 0.0022895355 0.0041075549 + 1855900 0.005991489 0.0027525034 0.0057014394 + 1856000 0.004689148 0.0033877572 0.0056956973 + 1856100 0.0062211485 0.0031845146 0.0062464862 + 1856200 0.0053055331 0.0033115284 0.0059228455 + 1856300 0.0057074055 0.0039510784 0.0067601921 + 1856400 0.0055782585 0.0037769536 0.0065225026 + 1856500 0.0048280099 0.0033241821 0.0057004682 + 1856600 0.0069805862 0.0026401759 0.0060759332 + 1856700 0.0064498861 0.0022167681 0.0053913214 + 1856800 0.0058621504 0.0028292454 0.0057145225 + 1856900 0.0037879703 0.0031138749 0.0049782665 + 1857000 0.003467584 0.0026480154 0.0043547169 + 1857100 0.0047823127 0.0022996061 0.0046534006 + 1857200 0.0038895265 0.0028356516 0.004750028 + 1857300 0.0043347494 0.002869831 0.0050033405 + 1857400 0.0054685304 0.0023681724 0.0050597147 + 1857500 0.0060147552 0.0022652952 0.0052256825 + 1857600 0.0045478284 0.002851587 0.0050899712 + 1857700 0.0053586913 0.0027302396 0.0053677205 + 1857800 0.0070846109 0.0017387752 0.0052257322 + 1857900 0.0064475545 0.0014661036 0.0046395093 + 1858000 0.0043763018 0.0019593739 0.0041133349 + 1858100 0.0053690229 0.0021017813 0.0047443472 + 1858200 0.0046563575 0.0025059352 0.0047977362 + 1858300 0.0041396473 0.002555403 0.0045928856 + 1858400 0.0047728038 0.0026282998 0.0049774142 + 1858500 0.006470428 0.0030093594 0.0061940232 + 1858600 0.0047605149 0.0031440111 0.005487077 + 1858700 0.0077366335 0.0030706843 0.0068785585 + 1858800 0.0048647783 0.0030753872 0.0054697703 + 1858900 0.004820027 0.0028120882 0.0051844453 + 1859000 0.0063891291 0.0026005306 0.0057451801 + 1859100 0.0051560952 0.0030488979 0.0055866636 + 1859200 0.0060566406 0.0028970592 0.005878062 + 1859300 0.0046943006 0.002506563 0.004817039 + 1859400 0.0055425033 0.0020302093 0.0047581601 + 1859500 0.0045982237 0.0018146755 0.0040778638 + 1859600 0.0035399145 0.0018665588 0.0036088604 + 1859700 0.0045423087 0.0021282529 0.0043639205 + 1859800 0.0037207733 0.0021305612 0.0039618793 + 1859900 0.0044054061 0.0021796917 0.0043479775 + 1860000 0.005932068 0.0022732282 0.0051929179 + 1860100 0.0043755592 0.0024842854 0.0046378809 + 1860200 0.0032876748 0.0028363968 0.0044545492 + 1860300 0.0059272851 0.0025166359 0.0054339715 + 1860400 0.004321436 0.0025575052 0.004684462 + 1860500 0.0054558672 0.002274636 0.0049599456 + 1860600 0.0049036477 0.0024563222 0.0048698363 + 1860700 0.0048760824 0.0019898265 0.0043897733 + 1860800 0.0046641324 0.0018851635 0.0041807912 + 1860900 0.0043780566 0.0020062402 0.004161065 + 1861000 0.0055492165 0.0020167843 0.0047480394 + 1861100 0.0033389333 0.0022804701 0.0039238514 + 1861200 0.0063803098 0.0024292257 0.0055695344 + 1861300 0.0035786872 0.0023830349 0.0041444201 + 1861400 0.0035567786 0.0025782852 0.0043288871 + 1861500 0.0032348035 0.0026225013 0.0042146311 + 1861600 0.0045525206 0.002443316 0.0046840097 + 1861700 0.0040119361 0.0025023235 0.0044769483 + 1861800 0.0045266604 0.0025172593 0.004745225 + 1861900 0.0045295604 0.002656538 0.004885931 + 1862000 0.0054644802 0.0028322449 0.0055217938 + 1862100 0.003208986 0.0024021322 0.003981555 + 1862200 0.0048134817 0.0022811453 0.0046502808 + 1862300 0.0048584428 0.0023475763 0.0047388411 + 1862400 0.0067717978 0.0026599531 0.0059929474 + 1862500 0.0059808181 0.0029197271 0.005863411 + 1862600 0.0039679724 0.0028907525 0.0048437389 + 1862700 0.0064531904 0.0030437782 0.0062199578 + 1862800 0.0065118712 0.0030695858 0.0062746474 + 1862900 0.0053216122 0.0027991428 0.0054183738 + 1863000 0.004739374 0.0027211267 0.0050537873 + 1863100 0.0052326824 0.0022610528 0.0048365137 + 1863200 0.0050972266 0.0021115552 0.0046203465 + 1863300 0.0066119305 0.0021021437 0.0053564533 + 1863400 0.0053203613 0.0023532343 0.0049718496 + 1863500 0.0050885517 0.0028047989 0.0053093205 + 1863600 0.0044068727 0.0026052602 0.0047742679 + 1863700 0.0056863712 0.0023029932 0.005101754 + 1863800 0.0044268932 0.0023771973 0.0045560588 + 1863900 0.0055537315 0.0027405363 0.0054740135 + 1864000 0.0068573457 0.0030670774 0.0064421772 + 1864100 0.0057276391 0.002540487 0.0053595594 + 1864200 0.0030694617 0.0029692888 0.0044800395 + 1864300 0.0048608225 0.0032036573 0.0055960934 + 1864400 0.0044595741 0.0028210258 0.0050159724 + 1864500 0.0051874258 0.0024520545 0.0050052407 + 1864600 0.0067960006 0.0022809881 0.0056258946 + 1864700 0.0059179746 0.002829365 0.0057421181 + 1864800 0.0052415302 0.0026229942 0.0052028099 + 1864900 0.0060549964 0.0029101503 0.0058903438 + 1865000 0.0045203163 0.0025853498 0.004810193 + 1865100 0.006091938 0.0019235087 0.0049218844 + 1865200 0.0047302797 0.0018730234 0.0042012079 + 1865300 0.0055399286 0.0021125419 0.0048392255 + 1865400 0.0039701251 0.0023686322 0.0043226782 + 1865500 0.0045390367 0.0026779331 0.0049119902 + 1865600 0.0053537474 0.0033727682 0.0060078157 + 1865700 0.004090182 0.0033816516 0.005394788 + 1865800 0.0064397508 0.0025797728 0.0057493377 + 1865900 0.0035855119 0.0028525187 0.0046172628 + 1866000 0.0051443394 0.0037132803 0.0062452598 + 1866100 0.0066165548 0.0031818656 0.0064384511 + 1866200 0.0048653112 0.0027777515 0.0051723968 + 1866300 0.0037216276 0.0023893801 0.0042211187 + 1866400 0.0049615152 0.0021048897 0.0045468854 + 1866500 0.0047106262 0.0022430462 0.0045615576 + 1866600 0.0048975355 0.0023237048 0.0047342105 + 1866700 0.0038036004 0.0023038832 0.0041759678 + 1866800 0.0053448426 0.0020609693 0.004691634 + 1866900 0.0054731906 0.0019144473 0.0046082833 + 1867000 0.0043384198 0.0019936323 0.0041289483 + 1867100 0.0034268818 0.002425875 0.0041125434 + 1867200 0.0033523165 0.0026065871 0.0042565554 + 1867300 0.0037396548 0.0023672759 0.0042078872 + 1867400 0.005117206 0.0023976735 0.0049162984 + 1867500 0.0052770044 0.002535848 0.0051331236 + 1867600 0.004308679 0.0030070198 0.0051276977 + 1867700 0.0055263505 0.0032094499 0.0059294505 + 1867800 0.0061098128 0.0031781068 0.0061852803 + 1867900 0.004660493 0.0032951244 0.0055889608 + 1868000 0.0067854571 0.0026265577 0.0059662748 + 1868100 0.0050968912 0.0022260605 0.0047346866 + 1868200 0.0048572885 0.0024735446 0.0048642412 + 1868300 0.0039092563 0.0021621323 0.0040862194 + 1868400 0.0056991046 0.0020548994 0.0048599274 + 1868500 0.005284039 0.0029604537 0.0055611917 + 1868600 0.0045160986 0.0034292952 0.0056520625 + 1868700 0.0034092828 0.003518588 0.0051965944 + 1868800 0.0030193527 0.0032730338 0.0047591215 + 1868900 0.0034438338 0.0028386575 0.0045336695 + 1869000 0.0047307941 0.0027731924 0.0051016302 + 1869100 0.0040447984 0.0028021227 0.0047929219 + 1869200 0.0048505393 0.0028608647 0.0052482395 + 1869300 0.0063625905 0.002919718 0.0060513055 + 1869400 0.0067848495 0.0031793113 0.0065187294 + 1869500 0.0045596958 0.0031859167 0.005430142 + 1869600 0.0057924945 0.0024790922 0.0053300856 + 1869700 0.0053072377 0.0021731322 0.0047852883 + 1869800 0.0056780667 0.0021036353 0.0048983087 + 1869900 0.0043032269 0.002188774 0.0043067685 + 1870000 0.0043671548 0.0024678133 0.0046172723 + 1870100 0.0046922885 0.002552911 0.0048623968 + 1870200 0.0053225288 0.0025836047 0.0052032868 + 1870300 0.0049462468 0.0025937607 0.0050282416 + 1870400 0.0060739788 0.0028547255 0.0058442619 + 1870500 0.0048340341 0.0028473073 0.0052265585 + 1870600 0.0058118076 0.0029229831 0.0057834821 + 1870700 0.0073615574 0.0032111231 0.0068343897 + 1870800 0.0042308895 0.0036316201 0.005714011 + 1870900 0.0053891732 0.0029727284 0.0056252121 + 1871000 0.004779606 0.0022234438 0.0045759062 + 1871100 0.0061932698 0.0024094366 0.0054576866 + 1871200 0.0045215771 0.002432079 0.0046575427 + 1871300 0.0041758229 0.002499802 0.0045550898 + 1871400 0.0056554092 0.0026633131 0.0054468349 + 1871500 0.0054185251 0.0029096757 0.005576606 + 1871600 0.0067017516 0.0031502069 0.0064487253 + 1871700 0.0047055816 0.0034096238 0.0057256523 + 1871800 0.0057692407 0.0032562317 0.0060957799 + 1871900 0.0046890195 0.0031299242 0.005437801 + 1872000 0.0055600953 0.0027866123 0.0055232217 + 1872100 0.0048912463 0.0023618494 0.0047692597 + 1872200 0.0046469393 0.0020241062 0.0043112716 + 1872300 0.0041755244 0.002041704 0.0040968449 + 1872400 0.0041896567 0.0025998113 0.004661908 + 1872500 0.004458692 0.002983104 0.0051776165 + 1872600 0.004688445 0.0027472915 0.0050548855 + 1872700 0.0040757138 0.0027332641 0.0047392794 + 1872800 0.0054063048 0.0026866045 0.0053475201 + 1872900 0.0037723437 0.0026832536 0.0045399541 + 1873000 0.0065930219 0.0028084968 0.0060534997 + 1873100 0.0051760692 0.0026146639 0.0051622605 + 1873200 0.004892065 0.0022055328 0.004613346 + 1873300 0.0055419029 0.0022264827 0.004954138 + 1873400 0.0048259498 0.0027062102 0.0050814824 + 1873500 0.0057972147 0.0024657324 0.005319049 + 1873600 0.0055570476 0.0021369903 0.0048720996 + 1873700 0.0043602796 0.0023875278 0.0045336029 + 1873800 0.0045517076 0.0024379645 0.0046782581 + 1873900 0.0063473709 0.0022268464 0.005350943 + 1874000 0.0043228575 0.0019217877 0.0040494441 + 1874100 0.0040155173 0.001815175 0.0037915624 + 1874200 0.0057612223 0.001763671 0.0045992726 + 1874300 0.0062082252 0.0022728136 0.0053284245 + 1874400 0.0045750219 0.002456557 0.0047083256 + 1874500 0.0037742823 0.0021123756 0.0039700302 + 1874600 0.004915498 0.0019859566 0.0044053033 + 1874700 0.0055706526 0.0019498607 0.0046916663 + 1874800 0.0054142919 0.0027370279 0.0054018747 + 1874900 0.0043241254 0.0025236152 0.0046518957 + 1875000 0.0048042712 0.0019815289 0.0043461311 + 1875100 0.0032159292 0.0019538075 0.0035366477 + 1875200 0.0058984061 0.0019814429 0.0048845647 + 1875300 0.0052965178 0.0021199849 0.0047268648 + 1875400 0.0047214343 0.0023473952 0.0046712262 + 1875500 0.0043756696 0.0025274583 0.0046811082 + 1875600 0.0049256375 0.0024113159 0.0048356531 + 1875700 0.0047309759 0.0022856241 0.0046141513 + 1875800 0.0057840598 0.0025421354 0.0053889773 + 1875900 0.0042040125 0.0029851736 0.005054336 + 1876000 0.0059212467 0.0024668687 0.0053812323 + 1876100 0.0054522521 0.0020222667 0.0047057971 + 1876200 0.0054662073 0.0022376383 0.0049280372 + 1876300 0.0050719505 0.0024173332 0.0049136838 + 1876400 0.0063523372 0.0025429751 0.005669516 + 1876500 0.0055843888 0.0029053706 0.005653937 + 1876600 0.0047151009 0.0027060821 0.0050267958 + 1876700 0.0054850462 0.0024727002 0.0051723714 + 1876800 0.0046210661 0.0025601136 0.0048345445 + 1876900 0.0037496477 0.0025373327 0.0043828624 + 1877000 0.0050432999 0.0019806088 0.004462858 + 1877100 0.0054592549 0.0020040705 0.0046910475 + 1877200 0.0051109297 0.0019649997 0.0044805354 + 1877300 0.0042384714 0.0022323685 0.0043184912 + 1877400 0.0041413068 0.0020872925 0.004125592 + 1877500 0.0052160394 0.0023711887 0.0049384581 + 1877600 0.0046370853 0.0029830081 0.0052653235 + 1877700 0.0057520258 0.0025043489 0.0053354241 + 1877800 0.0060626651 0.0024434345 0.0054274024 + 1877900 0.006902339 0.0027798959 0.0061771409 + 1878000 0.0051071781 0.0025592496 0.0050729388 + 1878100 0.0062690779 0.0027477316 0.0058332934 + 1878200 0.0047883709 0.0027006309 0.0050574072 + 1878300 0.0058615201 0.0024216622 0.0053066291 + 1878400 0.0060143139 0.0021480149 0.005108185 + 1878500 0.0048049723 0.0021512093 0.0045161565 + 1878600 0.0055340504 0.0025787165 0.0053025069 + 1878700 0.0052206628 0.0027529708 0.0053225158 + 1878800 0.0063180219 0.0030097719 0.0061194233 + 1878900 0.0063870988 0.0028288825 0.0059725327 + 1879000 0.0048685795 0.0032422683 0.0056385222 + 1879100 0.0034628061 0.0033188076 0.0050231575 + 1879200 0.005136643 0.0033882664 0.0059164579 + 1879300 0.005524731 0.0024085276 0.0051277312 + 1879400 0.0060786859 0.0019167448 0.0049085981 + 1879500 0.0077670229 0.0021747841 0.0059976157 + 1879600 0.0036522971 0.0030366173 0.0048342323 + 1879700 0.0052145422 0.0026096262 0.0051761586 + 1879800 0.0051987423 0.0024065817 0.0049653376 + 1879900 0.0060038876 0.0023294786 0.005284517 + 1880000 0.0053217054 0.0025471026 0.0051663794 + 1880100 0.004968597 0.0025506045 0.0049960858 + 1880200 0.0052091552 0.0022117118 0.0047755928 + 1880300 0.0058151918 0.0024907447 0.0053529094 + 1880400 0.0050961756 0.0028089656 0.0053172395 + 1880500 0.0040564377 0.0030026217 0.0049991496 + 1880600 0.0060662002 0.002636631 0.0056223389 + 1880700 0.0052255074 0.0024262224 0.0049981518 + 1880800 0.0053339541 0.002773885 0.0053991905 + 1880900 0.0055355189 0.0029046548 0.005629168 + 1881000 0.0056006053 0.0032436923 0.0060002402 + 1881100 0.0064665222 0.0033238678 0.0065066092 + 1881200 0.0054231342 0.0031412439 0.0058104427 + 1881300 0.0043154036 0.0028406641 0.0049646518 + 1881400 0.0045191024 0.0025884783 0.004812724 + 1881500 0.0044045411 0.0029250214 0.0050928815 + 1881600 0.0057528265 0.0026481177 0.005479587 + 1881700 0.0060190793 0.0025043423 0.0054668579 + 1881800 0.0045887559 0.0025979437 0.004856472 + 1881900 0.0057782809 0.0025737541 0.0054177517 + 1882000 0.0065270374 0.0026359224 0.0058484487 + 1882100 0.0060406032 0.0027429199 0.0057160293 + 1882200 0.0039788448 0.0029224545 0.0048807922 + 1882300 0.0066074788 0.0027595086 0.0060116271 + 1882400 0.0051453686 0.0025387668 0.0050712529 + 1882500 0.0060317613 0.002098868 0.0050676255 + 1882600 0.006448898 0.001923362 0.0050974289 + 1882700 0.0059669499 0.0023562779 0.0052931361 + 1882800 0.0060680488 0.0022946316 0.0052812494 + 1882900 0.0056021761 0.0020088256 0.0047661467 + 1883000 0.0056953704 0.0023894936 0.0051926837 + 1883100 0.0053216772 0.0029541438 0.0055734068 + 1883200 0.0065061726 0.0025832715 0.0057855284 + 1883300 0.0063202896 0.0024345595 0.005545327 + 1883400 0.0068579801 0.002325842 0.0057012541 + 1883500 0.0071121464 0.002743176 0.0062436856 + 1883600 0.0046543549 0.0032268637 0.005517679 + 1883700 0.0057006858 0.0028152103 0.0056210166 + 1883800 0.004771784 0.002453251 0.0048018635 + 1883900 0.0045633295 0.0022838651 0.0045298789 + 1884000 0.005878393 0.0025256948 0.0054189664 + 1884100 0.0054179506 0.0026863669 0.0053530144 + 1884200 0.0047204083 0.0025593078 0.0048826338 + 1884300 0.0056404512 0.0021281989 0.0049043585 + 1884400 0.0043066859 0.0025346106 0.0046543076 + 1884500 0.0051859231 0.0022041059 0.0047565524 + 1884600 0.0053210003 0.0021424945 0.0047614244 + 1884700 0.0047036404 0.002283601 0.004598674 + 1884800 0.0049688403 0.0020394648 0.0044850659 + 1884900 0.0054371927 0.0020240565 0.0047001747 + 1885000 0.0037103272 0.0021438145 0.0039699912 + 1885100 0.0054058411 0.0022021696 0.004862857 + 1885200 0.0046737251 0.0026378657 0.0049382147 + 1885300 0.0043638761 0.0024339663 0.0045818116 + 1885400 0.0034712784 0.0020999025 0.0038084224 + 1885500 0.0045385593 0.0022503089 0.0044841311 + 1885600 0.0054440823 0.0026524943 0.0053320035 + 1885700 0.0036201468 0.0030876091 0.0048694001 + 1885800 0.0050205264 0.0026878016 0.0051588419 + 1885900 0.0062864707 0.0023182757 0.005412398 + 1886000 0.0044907035 0.0029694419 0.0051797101 + 1886100 0.0044914696 0.0033071486 0.0055177938 + 1886200 0.0053991399 0.0030902825 0.0057476717 + 1886300 0.004363116 0.0030140239 0.0051614951 + 1886400 0.004098891 0.0025808328 0.0045982557 + 1886500 0.006086939 0.0027443563 0.0057402716 + 1886600 0.005660049 0.0021133646 0.00489917 + 1886700 0.0058828921 0.0022571012 0.0051525872 + 1886800 0.0057290175 0.0024425344 0.0052622852 + 1886900 0.0052050316 0.0024592864 0.0050211379 + 1887000 0.0062320746 0.002126873 0.0051942222 + 1887100 0.0047384274 0.0019866885 0.0043188832 + 1887200 0.0054033272 0.002203792 0.0048632421 + 1887300 0.0059731553 0.0024067677 0.00534668 + 1887400 0.0056235999 0.0026351924 0.005403058 + 1887500 0.0050510843 0.0025432248 0.0050293054 + 1887600 0.0063842634 0.001975656 0.0051179107 + 1887700 0.0049133788 0.0020984213 0.0045167249 + 1887800 0.0035723495 0.0027499399 0.0045082057 + 1887900 0.0043977587 0.002784853 0.0049493749 + 1888000 0.0041508509 0.0026746503 0.0047176473 + 1888100 0.0037450268 0.0028595053 0.0047027607 + 1888200 0.0054304018 0.0028392663 0.0055120423 + 1888300 0.0059788406 0.0023610872 0.0053037978 + 1888400 0.0044911688 0.0023294794 0.0045399765 + 1888500 0.0048887035 0.002411555 0.0048177137 + 1888600 0.0067854657 0.0025141355 0.0058538568 + 1888700 0.0054149271 0.0024267432 0.0050919026 + 1888800 0.0059421908 0.002135976 0.005060648 + 1888900 0.0065538005 0.0026626792 0.0058883779 + 1889000 0.0057745754 0.003396202 0.0062383758 + 1889100 0.0050456416 0.0033006467 0.0057840484 + 1889200 0.0064315123 0.0026438821 0.0058093921 + 1889300 0.0047622908 0.0026906596 0.0050345996 + 1889400 0.0066720012 0.0024799867 0.0057638623 + 1889500 0.005092495 0.0030872875 0.0055937499 + 1889600 0.0055532969 0.002912351 0.0056456144 + 1889700 0.0049216734 0.0025312593 0.0049536454 + 1889800 0.0055179201 0.0021624802 0.0048783316 + 1889900 0.0058660801 0.0023685641 0.0052557754 + 1890000 0.0040871469 0.0025248624 0.004536505 + 1890100 0.0039133457 0.002547627 0.0044737268 + 1890200 0.0048779036 0.0020820696 0.0044829128 + 1890300 0.003670163 0.0021596624 0.0039660708 + 1890400 0.0038677989 0.0017526133 0.0036562956 + 1890500 0.0045336887 0.0019887565 0.0042201814 + 1890600 0.0046748432 0.0021420554 0.0044429548 + 1890700 0.0051422933 0.0021353131 0.0046662856 + 1890800 0.004183233 0.0022456088 0.0043045438 + 1890900 0.0046981875 0.0024632108 0.0047756 + 1891000 0.0054956389 0.0026731675 0.0053780523 + 1891100 0.00592023 0.0026331005 0.0055469637 + 1891200 0.0045474332 0.0026325063 0.0048706961 + 1891300 0.004608103 0.0023316489 0.0045996996 + 1891400 0.0049420919 0.0022813318 0.0047137676 + 1891500 0.0040376491 0.0023860826 0.0043733631 + 1891600 0.0050536753 0.0023425254 0.0048298812 + 1891700 0.006246103 0.0024611363 0.0055353901 + 1891800 0.0054245812 0.0026307377 0.0053006488 + 1891900 0.0034357716 0.0028114619 0.0045025057 + 1892000 0.005852963 0.0025949164 0.0054756716 + 1892100 0.0032238035 0.0026165193 0.0042032351 + 1892200 0.0043276504 0.0022178521 0.0043478676 + 1892300 0.0029282277 0.0023074366 0.0037486737 + 1892400 0.0047213097 0.002145576 0.0044693456 + 1892500 0.0052583168 0.0026234272 0.005211505 + 1892600 0.0045403233 0.0029854234 0.0052201137 + 1892700 0.0046729552 0.0024699087 0.0047698788 + 1892800 0.0036037751 0.0024426173 0.0042163504 + 1892900 0.0041537882 0.0026871798 0.0047316225 + 1893000 0.0043700778 0.0024405039 0.0045914015 + 1893100 0.0057534432 0.0026399166 0.0054716895 + 1893200 0.0057451902 0.0031598989 0.0059876097 + 1893300 0.0046728407 0.0032290993 0.0055290131 + 1893400 0.0051401508 0.0025692376 0.0050991556 + 1893500 0.0053003285 0.0025457037 0.0051544592 + 1893600 0.0043298698 0.0027343414 0.0048654492 + 1893700 0.0057948319 0.002908147 0.0057602908 + 1893800 0.0053442013 0.0031336372 0.0057639863 + 1893900 0.0049870934 0.0030326422 0.0054872273 + 1894000 0.0069012689 0.0024843334 0.0058810517 + 1894100 0.0067647341 0.0022403894 0.0055699069 + 1894200 0.005279849 0.002743924 0.0053425996 + 1894300 0.0047544748 0.0029099247 0.0052500177 + 1894400 0.005261512 0.0026219833 0.0052116337 + 1894500 0.0047897687 0.0022566937 0.004614158 + 1894600 0.0038228123 0.0023490056 0.0042305461 + 1894700 0.0048933473 0.0023661411 0.0047745855 + 1894800 0.004569812 0.0023610351 0.0046102394 + 1894900 0.0056709631 0.0022587003 0.0050498774 + 1895000 0.0046414976 0.0025295381 0.0048140252 + 1895100 0.0049476506 0.0022759687 0.0047111405 + 1895200 0.0046190611 0.0021311927 0.0044046369 + 1895300 0.0053049037 0.0020429943 0.0046540015 + 1895400 0.0057968098 0.0028995619 0.0057526792 + 1895500 0.0058788921 0.0027155978 0.005609115 + 1895600 0.0052798314 0.0021210403 0.0047197073 + 1895700 0.0056612492 0.0022980319 0.005084428 + 1895800 0.0057096335 0.0022189923 0.0050292025 + 1895900 0.0069880069 0.0023877053 0.005827115 + 1896000 0.0039568412 0.0024774863 0.0044249941 + 1896100 0.0047992374 0.0025952209 0.0049573455 + 1896200 0.0049993603 0.0022526371 0.0047132598 + 1896300 0.0048849859 0.0018396167 0.0042439457 + 1896400 0.0059910115 0.0016357106 0.0045844115 + 1896500 0.0054455163 0.0026757124 0.0053559275 + 1896600 0.0055475272 0.0029801363 0.0057105598 + 1896700 0.0062025814 0.0026967139 0.005749547 + 1896800 0.0053409441 0.0026173818 0.0052461277 + 1896900 0.0059782583 0.002331711 0.005274135 + 1897000 0.0041660061 0.002263472 0.0043139281 + 1897100 0.0060125142 0.0025125687 0.005471853 + 1897200 0.0052006584 0.002801335 0.005361034 + 1897300 0.0039730566 0.0025779126 0.0045334014 + 1897400 0.0064602853 0.0024174398 0.0055971114 + 1897500 0.0043274972 0.002183524 0.0043134641 + 1897600 0.0047117235 0.0023839942 0.0047030456 + 1897700 0.0041941499 0.0023383437 0.0044026518 + 1897800 0.0053648276 0.0021908695 0.0048313706 + 1897900 0.0046141106 0.0025917137 0.0048627213 + 1898000 0.0070300038 0.0020430173 0.0055030973 + 1898100 0.0060237868 0.0020215711 0.0049864036 + 1898200 0.0046759737 0.0025797097 0.0048811655 + 1898300 0.0048025004 0.0030650425 0.0054287732 + 1898400 0.0051496978 0.0025402781 0.005074895 + 1898500 0.0047195978 0.0024327316 0.0047556586 + 1898600 0.0063573374 0.0024042639 0.0055332659 + 1898700 0.0046162812 0.0024931112 0.0047651871 + 1898800 0.0041033627 0.0023308286 0.0043504525 + 1898900 0.0041240946 0.0021934837 0.0042233115 + 1899000 0.004850002 0.0021318491 0.0045189594 + 1899100 0.0065869038 0.0020879619 0.0053299536 + 1899200 0.0043778449 0.0018211242 0.0039758448 + 1899300 0.0050030669 0.0012983126 0.0037607596 + 1899400 0.0039187712 0.0013228747 0.0032516449 + 1899500 0.0032449361 0.0016668573 0.0032639742 + 1899600 0.0056672129 0.0018036778 0.0045930091 + 1899700 0.0037992044 0.0020791727 0.0039490937 + 1899800 0.0045470024 0.0021182486 0.0043562263 + 1899900 0.0047231047 0.0022173972 0.0045420503 + 1900000 0.0053300875 0.0022916035 0.004915006 + 1900100 0.0048306604 0.0025569351 0.0049345257 + 1900200 0.0040966856 0.0027455851 0.0047619225 + 1900300 0.0043303269 0.002996066 0.0051273987 + 1900400 0.0051381071 0.0028505418 0.0053794539 + 1900500 0.0059490862 0.0020907957 0.0050188616 + 1900600 0.0048679756 0.0022374171 0.0046333739 + 1900700 0.005012857 0.0021693215 0.0046365871 + 1900800 0.0050708109 0.0023779739 0.0048737636 + 1900900 0.0041821971 0.0026376227 0.0046960478 + 1901000 0.005404535 0.0030704857 0.0057305302 + 1901100 0.0047944112 0.0030860373 0.0054457865 + 1901200 0.0070357249 0.0026255956 0.0060884914 + 1901300 0.0045535371 0.002569472 0.0048106661 + 1901400 0.0039118465 0.0026214576 0.0045468195 + 1901500 0.0073550191 0.0024203993 0.0060404477 + 1901600 0.0057117371 0.0027114287 0.0055226743 + 1901700 0.0065490838 0.0025668453 0.0057902224 + 1901800 0.004260773 0.0024469972 0.0045440964 + 1901900 0.0041750038 0.0021509692 0.0042058539 + 1902000 0.0045457156 0.0024178128 0.0046551572 + 1902100 0.0059872773 0.0024372182 0.0053840813 + 1902200 0.0045160632 0.0035003738 0.0057231237 + 1902300 0.0055001476 0.0034006115 0.0061077154 + 1902400 0.0059550829 0.0031375481 0.0060685655 + 1902500 0.0050391372 0.0031961305 0.0056763308 + 1902600 0.0042426149 0.0025121536 0.0046003156 + 1902700 0.0047949495 0.0021866065 0.0045466207 + 1902800 0.0039367236 0.0023732024 0.0043108086 + 1902900 0.0047595488 0.0026923367 0.0050349271 + 1903000 0.0044576031 0.0031222722 0.0053162487 + 1903100 0.004150805 0.0028512973 0.0048942716 + 1903200 0.0039852276 0.0024151036 0.0043765828 + 1903300 0.0037228981 0.0022708435 0.0041032073 + 1903400 0.004917446 0.0022102479 0.0046305533 + 1903500 0.0047431145 0.002589296 0.0049237977 + 1903600 0.0043696452 0.0027557655 0.0049064503 + 1903700 0.005185098 0.0025393957 0.0050914361 + 1903800 0.0057310578 0.0023195051 0.0051402601 + 1903900 0.0053102874 0.0024383993 0.0050520564 + 1904000 0.0052027173 0.0026509567 0.0052116691 + 1904100 0.0043211835 0.0025741276 0.0047009601 + 1904200 0.0041580641 0.0023446171 0.0043911642 + 1904300 0.0041864551 0.0024657771 0.004526298 + 1904400 0.0056566883 0.0021790954 0.0049632467 + 1904500 0.006778714 0.002712637 0.0060490354 + 1904600 0.0039736841 0.0031408601 0.0050966578 + 1904700 0.0050912493 0.0028153415 0.0053211908 + 1904800 0.005076642 0.0028085208 0.0053071805 + 1904900 0.0032943059 0.0024980852 0.0041195014 + 1905000 0.0037882655 0.0020867276 0.0039512645 + 1905100 0.0053723012 0.0021475057 0.0047916852 + 1905200 0.0073327848 0.002153062 0.005762167 + 1905300 0.005440251 0.002276741 0.0049543645 + 1905400 0.0032125915 0.0028348256 0.004416023 + 1905500 0.0054312733 0.002476392 0.0051495968 + 1905600 0.0048966453 0.001953348 0.0043634156 + 1905700 0.0048121145 0.0016774856 0.0040459482 + 1905800 0.0046266203 0.002101896 0.0043790607 + 1905900 0.0057664022 0.0019710096 0.0048091607 + 1906000 0.0049416028 0.0024064764 0.0048386715 + 1906100 0.007570037 0.0025902875 0.0063161651 + 1906200 0.0068214384 0.0029560065 0.0063134332 + 1906300 0.0050311319 0.0029884823 0.0054647425 + 1906400 0.0060765472 0.0028586423 0.0058494428 + 1906500 0.0046787191 0.0025389079 0.004841715 + 1906600 0.0044540714 0.0022714216 0.0044636598 + 1906700 0.0044067025 0.0019346154 0.0041035393 + 1906800 0.005059984 0.0019276435 0.0044181043 + 1906900 0.0050416392 0.0021345997 0.0046160315 + 1907000 0.002996101 0.0021540088 0.0036286523 + 1907100 0.0051071641 0.0019251077 0.00443879 + 1907200 0.0044396102 0.0016589167 0.0038440374 + 1907300 0.0050889076 0.0020489349 0.0045536316 + 1907400 0.0055755347 0.0023837472 0.0051279557 + 1907500 0.0049106105 0.0021196967 0.0045366379 + 1907600 0.0059661707 0.0020762518 0.0050127265 + 1907700 0.0047166881 0.0024016827 0.0047231776 + 1907800 0.0049089498 0.0031022377 0.0055183614 + 1907900 0.005397857 0.0031730682 0.0058298259 + 1908000 0.0047662876 0.0023375764 0.0046834836 + 1908100 0.0046199691 0.001775239 0.00404913 + 1908200 0.0050452228 0.0018444428 0.0043276383 + 1908300 0.0047603733 0.0017920082 0.0041350045 + 1908400 0.0038675141 0.0016875472 0.0035910893 + 1908500 0.004835123 0.0016088029 0.00398859 + 1908600 0.0058328719 0.0018367944 0.0047076611 + 1908700 0.0047179976 0.0020597241 0.0043818635 + 1908800 0.0059366768 0.0024961091 0.0054180672 + 1908900 0.004227242 0.0028320478 0.0049126435 + 1909000 0.0057554033 0.0030182397 0.0058509772 + 1909100 0.0061576564 0.0027027229 0.0057334444 + 1909200 0.0052513319 0.0033031546 0.0058877945 + 1909300 0.0048859401 0.0036683538 0.0060731524 + 1909400 0.0055377487 0.0029829006 0.0057085113 + 1909500 0.0047643415 0.0027919961 0.0051369454 + 1909600 0.0054951702 0.0029891037 0.0056937578 + 1909700 0.0041095528 0.0025528422 0.0045755127 + 1909800 0.007272566 0.0022218834 0.0058013495 + 1909900 0.0039220409 0.0022547404 0.0041851199 + 1910000 0.0047225379 0.002514619 0.0048389931 + 1910100 0.0058879728 0.0027466564 0.005644643 + 1910200 0.006528338 0.0026450181 0.0058581845 + 1910300 0.0046439253 0.0024163572 0.0047020392 + 1910400 0.0051834228 0.0026579842 0.0052092 + 1910500 0.0040563731 0.0026631551 0.0046596512 + 1910600 0.0050328442 0.0029919211 0.0054690242 + 1910700 0.0050630107 0.0035057353 0.0059976859 + 1910800 0.0049746875 0.0026685022 0.0051169812 + 1910900 0.0057173477 0.0020991767 0.0049131837 + 1911000 0.0046907694 0.0022966537 0.0046053918 + 1911100 0.0065888469 0.0026599633 0.0059029114 + 1911200 0.00427356 0.0022274448 0.0043308376 + 1911300 0.0053582195 0.002015108 0.0046523566 + 1911400 0.0048187241 0.0021585839 0.0045302997 + 1911500 0.0058522389 0.0023088198 0.0051892186 + 1911600 0.0057870962 0.0023608358 0.0052091722 + 1911700 0.0060391836 0.0028022399 0.0057746506 + 1911800 0.004150109 0.0032498756 0.0052925074 + 1911900 0.007629351 0.0028020814 0.0065571526 + 1912000 0.0066731973 0.0032815621 0.0065660263 + 1912100 0.0050280362 0.0032963667 0.0057711032 + 1912200 0.0045765045 0.0028652027 0.005117701 + 1912300 0.0047195925 0.0027956166 0.005118541 + 1912400 0.0077001644 0.0027999169 0.0065898416 + 1912500 0.0048165925 0.0025380028 0.0049086694 + 1912600 0.007696698 0.0026624425 0.006450661 + 1912700 0.0041079889 0.0028555062 0.004877407 + 1912800 0.0052192108 0.0024016141 0.0049704444 + 1912900 0.0049426902 0.002582116 0.0050148463 + 1913000 0.0046256853 0.0030066141 0.0052833186 + 1913100 0.0047843624 0.0035995933 0.0059543967 + 1913200 0.0063358234 0.003427947 0.0065463601 + 1913300 0.0059560744 0.002920499 0.0058520043 + 1913400 0.0041158383 0.0028066148 0.004832379 + 1913500 0.0064308144 0.0023463427 0.0055115092 + 1913600 0.005041651 0.00265289 0.0051343275 + 1913700 0.0046494252 0.0030958059 0.0053841949 + 1913800 0.0047279327 0.0027650252 0.0050920546 + 1913900 0.0069718217 0.002398766 0.0058302095 + 1914000 0.0040504757 0.0022822345 0.004275828 + 1914100 0.0068041484 0.0022742631 0.0056231798 + 1914200 0.0054643207 0.002142423 0.0048318934 + 1914300 0.0056139546 0.002363668 0.0051267863 + 1914400 0.0057601367 0.0027706486 0.0056057158 + 1914500 0.0027285846 0.00303235 0.0043753252 + 1914600 0.0059873074 0.0029319225 0.0058788004 + 1914700 0.0040133114 0.0027049917 0.0046802934 + 1914800 0.0049003588 0.0022504487 0.0046623441 + 1914900 0.0044893426 0.0021901289 0.0043997272 + 1915000 0.0066817682 0.0020660453 0.0053547281 + 1915100 0.0047132426 0.0021029413 0.0044227404 + 1915200 0.005278895 0.0019373865 0.0045355926 + 1915300 0.0051287813 0.0018019601 0.0043262822 + 1915400 0.0059525341 0.002014033 0.0049437959 + 1915500 0.0056357336 0.0018295806 0.0046034182 + 1915600 0.0049980416 0.0018706758 0.0043306494 + 1915700 0.0056904148 0.0022325439 0.0050332949 + 1915800 0.0058885468 0.0025350444 0.0054333135 + 1915900 0.005349483 0.0024452148 0.0050781635 + 1916000 0.0050838221 0.0020246399 0.0045268337 + 1916100 0.0051209928 0.001816397 0.0043368857 + 1916200 0.0058039751 0.0022564188 0.0051130627 + 1916300 0.0055975955 0.0024994365 0.0052545031 + 1916400 0.0047112445 0.0025587713 0.004877587 + 1916500 0.0042882349 0.003044653 0.0051552687 + 1916600 0.0053242482 0.0027546238 0.0053751522 + 1916700 0.0038883807 0.0026727715 0.0045865839 + 1916800 0.003688847 0.0030532563 0.0048688606 + 1916900 0.0037975175 0.003511902 0.0053809926 + 1917000 0.0057643247 0.0029355395 0.005772668 + 1917100 0.005111019 0.0028043355 0.0053199151 + 1917200 0.0060825139 0.0025017641 0.0054955014 + 1917300 0.0062536089 0.0029044536 0.0059824018 + 1917400 0.0050425253 0.0025370735 0.0050189414 + 1917500 0.0054135027 0.002245707 0.0049101654 + 1917600 0.0065485632 0.0023249025 0.0055480234 + 1917700 0.0048849791 0.0022546502 0.0046589759 + 1917800 0.0051482475 0.0021951351 0.0047290382 + 1917900 0.0053544621 0.0020075348 0.0046429341 + 1918000 0.0053262883 0.0019328457 0.0045543783 + 1918100 0.0060461978 0.001651526 0.004627389 + 1918200 0.0046698301 0.0018758811 0.0041743132 + 1918300 0.0042708431 0.0019947964 0.004096852 + 1918400 0.0039956408 0.0019069849 0.0038735893 + 1918500 0.0038001177 0.0020832957 0.0039536662 + 1918600 0.0048608402 0.0020100984 0.0044025432 + 1918700 0.0036821439 0.0024000724 0.0042123776 + 1918800 0.0061682744 0.0024691375 0.005505085 + 1918900 0.006099424 0.0024157024 0.0054177626 + 1919000 0.0043264222 0.002640324 0.004769735 + 1919100 0.0038973467 0.0025444394 0.0044626648 + 1919200 0.0050867038 0.0025724956 0.0050761077 + 1919300 0.0052029358 0.0024809639 0.0050417839 + 1919400 0.0050322349 0.002048704 0.0045255071 + 1919500 0.0060410557 0.0021798289 0.005153161 + 1919600 0.0037607224 0.0022657796 0.0041167601 + 1919700 0.0051398142 0.0020738906 0.0046036429 + 1919800 0.0037165375 0.0019577776 0.0037870109 + 1919900 0.0031281502 0.0018735888 0.0034132252 + 1920000 0.0051947165 0.0017730936 0.0043298682 + 1920100 0.004330287 0.002288851 0.0044201641 + 1920200 0.0048950272 0.0025740787 0.0049833498 + 1920300 0.0035704254 0.0025333977 0.0042907165 + 1920400 0.0043962745 0.0026224325 0.0047862238 + 1920500 0.0039251136 0.0027513093 0.0046832012 + 1920600 0.0044635229 0.0031175181 0.0053144083 + 1920700 0.0056043101 0.0033182104 0.0060765818 + 1920800 0.0046069116 0.0034868964 0.0057543607 + 1920900 0.003577433 0.0037292382 0.005490006 + 1921000 0.0063838813 0.0027244262 0.0058664928 + 1921100 0.0041506989 0.0025888331 0.0046317552 + 1921200 0.0048619386 0.0022635713 0.0046565567 + 1921300 0.0044773337 0.0021662926 0.0043699803 + 1921400 0.003900307 0.0023464508 0.0042661331 + 1921500 0.0044703712 0.0023756772 0.004575938 + 1921600 0.004932632 0.0023256903 0.0047534701 + 1921700 0.0043420133 0.0023648547 0.0045019394 + 1921800 0.0045997431 0.0022586051 0.0045225412 + 1921900 0.0053365641 0.0023498205 0.0049764107 + 1922000 0.0053821284 0.0025420177 0.005191034 + 1922100 0.0052308199 0.0028014342 0.0053759784 + 1922200 0.0041631041 0.0026841886 0.0047332164 + 1922300 0.0054832129 0.0024144963 0.0051132651 + 1922400 0.0055782326 0.002206884 0.0049524204 + 1922500 0.0032460741 0.0020926455 0.0036903226 + 1922600 0.0066380088 0.0020062945 0.0052734395 + 1922700 0.0056985402 0.0025442235 0.0053489738 + 1922800 0.0036198238 0.0032067891 0.0049884211 + 1922900 0.0054192648 0.0030056309 0.0056729252 + 1923000 0.0061245558 0.0027178274 0.0057322572 + 1923100 0.0051370424 0.0025178819 0.00504627 + 1923200 0.0047593132 0.0028112136 0.005153688 + 1923300 0.0044549868 0.0025814598 0.0047741486 + 1923400 0.0049665583 0.0022443608 0.0046888387 + 1923500 0.0051670012 0.0023279618 0.0048710952 + 1923600 0.0039239176 0.002548313 0.0044796162 + 1923700 0.0044777504 0.0020788479 0.0042827407 + 1923800 0.004624284 0.0020832828 0.0043592976 + 1923900 0.0051181058 0.0023570135 0.0048760812 + 1924000 0.0040273889 0.0027529132 0.0047351437 + 1924100 0.0053706508 0.0025842545 0.0052276217 + 1924200 0.0049351878 0.0029627551 0.0053917928 + 1924300 0.003545962 0.0035518227 0.0052971009 + 1924400 0.0058439293 0.0027194861 0.005595795 + 1924500 0.0049057266 0.0020828384 0.0044973757 + 1924600 0.0046912841 0.0017704634 0.0040794548 + 1924700 0.0063113997 0.0018522129 0.0049586049 + 1924800 0.0059624955 0.0023540125 0.0052886782 + 1924900 0.0044409137 0.0027953922 0.0049811544 + 1925000 0.0039595608 0.0028850509 0.0048338972 + 1925100 0.0065169571 0.0023095459 0.0055171108 + 1925200 0.0067160917 0.0020422623 0.0053478387 + 1925300 0.0058567461 0.0023641951 0.0052468123 + 1925400 0.0060221967 0.0028426603 0.0058067103 + 1925500 0.005649952 0.0032380688 0.0060189045 + 1925600 0.0041657719 0.0031699087 0.0052202495 + 1925700 0.0060815552 0.0023825441 0.0053758096 + 1925800 0.0063190234 0.0016302848 0.0047404292 + 1925900 0.0046709849 0.0022551573 0.0045541577 + 1926000 0.0058368811 0.0031983217 0.0060711616 + 1926100 0.0052961946 0.0038102184 0.0064169391 + 1926200 0.0052895126 0.003454049 0.006057481 + 1926300 0.006124378 0.0034426464 0.0064569887 + 1926400 0.0044815633 0.0040705536 0.0062763231 + 1926500 0.0044242635 0.0036164399 0.0057940071 + 1926600 0.0052713896 0.0030829619 0.005677474 + 1926700 0.0072500218 0.0030359495 0.0066043196 + 1926800 0.0055454671 0.0030713128 0.0058007224 + 1926900 0.0074944746 0.0027506489 0.0064393357 + 1927000 0.0049960805 0.0029627922 0.0054218006 + 1927100 0.004418773 0.0028766592 0.005051524 + 1927200 0.0043189672 0.0030675052 0.0051932469 + 1927300 0.0049815153 0.0023808584 0.004832698 + 1927400 0.006308883 0.0017544495 0.0048596028 + 1927500 0.004438817 0.0018419462 0.0040266764 + 1927600 0.0055998075 0.0018429951 0.0045991503 + 1927700 0.0039662932 0.0021295364 0.0040816963 + 1927800 0.0044685427 0.0026220553 0.0048214162 + 1927900 0.0049762662 0.002725274 0.00517453 + 1928000 0.0053023664 0.0023780196 0.004987778 + 1928100 0.0041435239 0.0023367904 0.0043761811 + 1928200 0.0049575096 0.00210858 0.0045486043 + 1928300 0.0063884718 0.0018600774 0.0050044033 + 1928400 0.0055266316 0.0019648135 0.0046849525 + 1928500 0.0050120423 0.0022745893 0.0047414539 + 1928600 0.0043486374 0.0026795747 0.0048199197 + 1928700 0.005879917 0.0029380033 0.005832025 + 1928800 0.0065891246 0.0026662551 0.0059093399 + 1928900 0.0039052761 0.0023757496 0.0042978777 + 1929000 0.0053138672 0.0021842282 0.0047996472 + 1929100 0.0031450727 0.0020439062 0.0035918717 + 1929200 0.0047279656 0.0018760313 0.0042030769 + 1929300 0.0050209108 0.0019270717 0.0043983012 + 1929400 0.005032235 0.0015083042 0.0039851074 + 1929500 0.0040398011 0.0017281006 0.0037164402 + 1929600 0.0040108597 0.0021542557 0.0041283507 + 1929700 0.0051965528 0.0024851577 0.0050428361 + 1929800 0.0052707378 0.0027267839 0.0053209752 + 1929900 0.0028536884 0.0025999506 0.0040045004 + 1930000 0.0042516575 0.0024275455 0.0045201582 + 1930100 0.004983334 0.0024988933 0.004951628 + 1930200 0.0050479883 0.0026307939 0.0051153506 + 1930300 0.0065120059 0.002245208 0.0054503359 + 1930400 0.0062018765 0.0024094151 0.0054619012 + 1930500 0.0043514347 0.0023706209 0.0045123427 + 1930600 0.0043563884 0.0026113649 0.0047555248 + 1930700 0.0060091242 0.00236401 0.0053216258 + 1930800 0.003104329 0.002848696 0.004376608 + 1930900 0.0048784827 0.0026897402 0.0050908684 + 1931000 0.0063577913 0.0025383558 0.0056675812 + 1931100 0.0033163564 0.00284296 0.0044752292 + 1931200 0.0060514918 0.002577335 0.0055558036 + 1931300 0.0051392801 0.0025614613 0.0050909507 + 1931400 0.0050410908 0.0028551437 0.0053363055 + 1931500 0.00511992 0.0030768724 0.005596833 + 1931600 0.0050654393 0.0033412104 0.0058343563 + 1931700 0.0044601041 0.0025499883 0.0047451958 + 1931800 0.0036216655 0.0025702389 0.0043527774 + 1931900 0.0047548449 0.0028661313 0.0052064066 + 1932000 0.0049478185 0.0027961375 0.0052313919 + 1932100 0.0050225206 0.002730362 0.0052023839 + 1932200 0.005778871 0.0025453649 0.005389653 + 1932300 0.0049965016 0.0024927179 0.0049519335 + 1932400 0.0057106809 0.0025594703 0.0053701961 + 1932500 0.0055127515 0.0026162254 0.0053295328 + 1932600 0.0043926689 0.0026909047 0.0048529214 + 1932700 0.0051962762 0.0023331953 0.0048907374 + 1932800 0.0047392967 0.0024737647 0.0048063873 + 1932900 0.0054556969 0.002823279 0.0055085048 + 1933000 0.004956996 0.0028693847 0.0053091561 + 1933100 0.0042062344 0.002938057 0.005008313 + 1933200 0.0056051874 0.0034255414 0.0061843446 + 1933300 0.0048563142 0.0033062822 0.0056964993 + 1933400 0.005235212 0.0031473982 0.0057241041 + 1933500 0.0065727364 0.0023668875 0.0056019062 + 1933600 0.0059748916 0.0023437225 0.0052844894 + 1933700 0.0053190794 0.0031124324 0.0057304168 + 1933800 0.005985915 0.0036479081 0.0065941006 + 1933900 0.0059375943 0.0033772407 0.0062996504 + 1934000 0.004699284 0.003005606 0.0053185349 + 1934100 0.004053937 0.0031747434 0.0051700405 + 1934200 0.0058182129 0.0028281804 0.0056918321 + 1934300 0.0050716018 0.0025387934 0.0050349724 + 1934400 0.0036908703 0.0027327942 0.0045493944 + 1934500 0.0032370182 0.0024725305 0.0040657504 + 1934600 0.0035705637 0.00224111 0.0039984968 + 1934700 0.0039971964 0.002169627 0.0041369971 + 1934800 0.0051397675 0.0017770427 0.0043067721 + 1934900 0.00461032 0.0021080832 0.0043772251 + 1935000 0.004324499 0.0022287176 0.0043571819 + 1935100 0.0034532641 0.0023118702 0.0040115236 + 1935200 0.0051344814 0.0021074178 0.0046345454 + 1935300 0.0050470782 0.0021592986 0.0046434074 + 1935400 0.0033818952 0.0024234119 0.0040879385 + 1935500 0.0045808859 0.0025190898 0.0047737445 + 1935600 0.0054240134 0.0026066994 0.005276331 + 1935700 0.0042887173 0.0029593556 0.0050702086 + 1935800 0.0059985647 0.0026345396 0.0055869581 + 1935900 0.004796757 0.0025065503 0.0048674541 + 1936000 0.0049364587 0.0024822509 0.0049119141 + 1936100 0.004594675 0.0023203344 0.004581776 + 1936200 0.0046762124 0.0021445269 0.0044461002 + 1936300 0.0048598418 0.0022677673 0.0046597207 + 1936400 0.0065516638 0.00171545 0.004940097 + 1936500 0.0060673449 0.0016095987 0.00459587 + 1936600 0.0070462544 0.0018204232 0.0052885015 + 1936700 0.0055736607 0.0025027203 0.0052460065 + 1936800 0.0044036138 0.0025697214 0.0047371251 + 1936900 0.0039441818 0.0020478288 0.0039891057 + 1937000 0.0061509227 0.002090052 0.0051174593 + 1937100 0.0036223589 0.0022728492 0.004055729 + 1937200 0.0042139815 0.0022576716 0.0043317406 + 1937300 0.0037037538 0.002398906 0.0042218473 + 1937400 0.0049894115 0.0025814065 0.0050371324 + 1937500 0.0055789872 0.0028142555 0.0055601633 + 1937600 0.007081208 0.0032461718 0.0067314539 + 1937700 0.006231307 0.0026053404 0.0056723118 + 1937800 0.0060089869 0.0019677451 0.0049252933 + 1937900 0.0067739124 0.0024650536 0.0057990886 + 1938000 0.0039062844 0.0031418473 0.0050644716 + 1938100 0.0051518303 0.0026025551 0.0051382215 + 1938200 0.0047388189 0.0027721714 0.0051045588 + 1938300 0.0043781574 0.003108054 0.0052629284 + 1938400 0.0054552864 0.0034289281 0.0061139519 + 1938500 0.0041296853 0.0034670651 0.0054996446 + 1938600 0.0053058604 0.0032443571 0.0058558353 + 1938700 0.0055949361 0.0025779202 0.0053316779 + 1938800 0.0045073852 0.0021296711 0.0043481497 + 1938900 0.0058585983 0.002019133 0.0049026619 + 1939000 0.0032239611 0.0023200403 0.0039068337 + 1939100 0.0037828325 0.0027700149 0.0046318778 + 1939200 0.0069787351 0.0022294261 0.0056642723 + 1939300 0.0061903712 0.0022751341 0.0053219574 + 1939400 0.0055902515 0.0028733596 0.0056248115 + 1939500 0.0050402591 0.0029988342 0.0054795867 + 1939600 0.0048763755 0.0029215586 0.0053216497 + 1939700 0.0041482246 0.0024516211 0.0044933254 + 1939800 0.0043516185 0.0023939686 0.0045357808 + 1939900 0.0054472655 0.0025505052 0.0052315812 + 1940000 0.005145342 0.002662653 0.005195126 + 1940100 0.0057011228 0.0027953131 0.0056013344 + 1940200 0.0040785332 0.0030854661 0.0050928692 + 1940300 0.0040788998 0.0032542251 0.0052618086 + 1940400 0.0050658017 0.0030313349 0.0055246592 + 1940500 0.0055474925 0.0027979373 0.0055283437 + 1940600 0.0047742798 0.00298593 0.0053357709 + 1940700 0.0062188236 0.0025469831 0.0056078103 + 1940800 0.005945815 0.0026606777 0.0055871335 + 1940900 0.0052952546 0.0023847389 0.004990997 + 1941000 0.0052949543 0.0022026723 0.0048087826 + 1941100 0.0037063373 0.0022480371 0.0040722499 + 1941200 0.0055405733 0.0024726819 0.0051996829 + 1941300 0.0047065967 0.0028062748 0.0051228029 + 1941400 0.0050484149 0.0027680862 0.0052528529 + 1941500 0.0042915311 0.0027787379 0.0048909759 + 1941600 0.0051582995 0.0029162229 0.0054550734 + 1941700 0.0055366248 0.002838226 0.0055632836 + 1941800 0.0053780047 0.002775794 0.0054227807 + 1941900 0.006706415 0.0024265135 0.0057273272 + 1942000 0.0065832043 0.0024869133 0.0057270841 + 1942100 0.0032782944 0.0026915956 0.0043051311 + 1942200 0.0066601518 0.0025991007 0.0058771441 + 1942300 0.0041240012 0.002563401 0.0045931828 + 1942400 0.0054204446 0.0023165569 0.004984432 + 1942500 0.0037172072 0.0024435977 0.0042731606 + 1942600 0.0037926762 0.002328878 0.0041955858 + 1942700 0.0053463379 0.0021802338 0.0048116345 + 1942800 0.0045507092 0.0022007949 0.0044405971 + 1942900 0.0048258246 0.0022631148 0.0046383254 + 1943000 0.0034955483 0.0024004294 0.0041208946 + 1943100 0.0049050615 0.0020473969 0.0044616069 + 1943200 0.0047890735 0.0019402588 0.0042973809 + 1943300 0.0054653259 0.0020487305 0.0047386956 + 1943400 0.0047863015 0.0027511799 0.0051069377 + 1943500 0.0058998465 0.0033449399 0.0062487706 + 1943600 0.0057805839 0.0031070824 0.0059522136 + 1943700 0.0047936014 0.0031259179 0.0054852686 + 1943800 0.0050677506 0.0026732705 0.005167554 + 1943900 0.0045127824 0.0027795124 0.0050006475 + 1944000 0.0050546056 0.0028049731 0.0052927868 + 1944100 0.0053359488 0.0024160982 0.0050423855 + 1944200 0.0045904277 0.0021568462 0.0044161973 + 1944300 0.0033639452 0.0023327646 0.0039884564 + 1944400 0.0050876393 0.0023524658 0.0048565383 + 1944500 0.0054270074 0.0022140652 0.0048851704 + 1944600 0.0050238062 0.002558082 0.0050307367 + 1944700 0.0051051852 0.0026625399 0.0051752483 + 1944800 0.0061227416 0.0027734205 0.0057869574 + 1944900 0.0031995157 0.0031089271 0.0046836887 + 1945000 0.0044512474 0.0027137285 0.0049045768 + 1945100 0.0047594509 0.0027200654 0.0050626076 + 1945200 0.0046775037 0.0027543994 0.0050566083 + 1945300 0.0052743168 0.0031578542 0.0057538069 + 1945400 0.0053682525 0.0035269489 0.0061691357 + 1945500 0.006350538 0.002948923 0.0060745784 + 1945600 0.0064832924 0.0027263817 0.0059173771 + 1945700 0.0074028235 0.0026305927 0.0062741699 + 1945800 0.0058663562 0.0027916007 0.0056789478 + 1945900 0.0050019607 0.0025371587 0.0049990612 + 1946000 0.0044238312 0.0025426852 0.0047200396 + 1946100 0.0037030356 0.0025740606 0.0043966485 + 1946200 0.0042838995 0.0027502205 0.0048587023 + 1946300 0.0047773872 0.002786207 0.0051375773 + 1946400 0.0051526495 0.0026014516 0.0051375213 + 1946500 0.0076270688 0.0026415451 0.0063954931 + 1946600 0.0047242571 0.0025659365 0.0048911568 + 1946700 0.0048333514 0.0023590609 0.004737976 + 1946800 0.0053565315 0.002257476 0.0048938938 + 1946900 0.0059610525 0.0023695108 0.0053034664 + 1947000 0.0045577812 0.0031901352 0.0054334181 + 1947100 0.005844588 0.0034009342 0.0062775673 + 1947200 0.0064723263 0.003016532 0.0062021301 + 1947300 0.0047410241 0.002407734 0.0047412068 + 1947400 0.0051796106 0.0021166615 0.004666001 + 1947500 0.0056131407 0.0023017822 0.0050644999 + 1947600 0.0040413068 0.0025051076 0.0044941883 + 1947700 0.0071707001 0.002672227 0.006201556 + 1947800 0.0057692155 0.002125059 0.0049645947 + 1947900 0.0053170554 0.0024372873 0.0050542756 + 1948000 0.0072151446 0.002708757 0.006259961 + 1948100 0.0058242903 0.003000284 0.0058669269 + 1948200 0.0040369356 0.0031077036 0.0050946329 + 1948300 0.0035193017 0.0030335402 0.0047656965 + 1948400 0.0038302612 0.002361838 0.0042470447 + 1948500 0.0059146757 0.0021739636 0.0050850931 + 1948600 0.0039929097 0.0025196666 0.0044849269 + 1948700 0.004166267 0.0026297952 0.0046803798 + 1948800 0.0058336366 0.0026636158 0.0055348588 + 1948900 0.0049999772 0.0029040774 0.0053650037 + 1949000 0.0059989511 0.0026607328 0.0056133415 + 1949100 0.0047545626 0.0025554586 0.0048955949 + 1949200 0.0057977146 0.002594913 0.0054484756 + 1949300 0.0064667773 0.003339303 0.0065221699 + 1949400 0.0049615943 0.0033409148 0.0057829495 + 1949500 0.0067899672 0.002648112 0.005990049 + 1949600 0.0068948266 0.0024144686 0.0058080161 + 1949700 0.0050326154 0.0024139038 0.0048908942 + 1949800 0.0048365048 0.0028725814 0.0052530486 + 1949900 0.0044952425 0.0026543335 0.0048668356 + 1950000 0.0050917471 0.0021394626 0.0046455569 + 1950100 0.0050872701 0.0021925374 0.0046964282 + 1950200 0.0046731912 0.0021802616 0.0044803479 + 1950300 0.0050813338 0.0024437577 0.0049447267 + 1950400 0.0065714472 0.0029035187 0.0061379029 + 1950500 0.0055752144 0.0031158284 0.0058598793 + 1950600 0.004228857 0.0027501269 0.0048315175 + 1950700 0.0051847602 0.0023106036 0.0048624777 + 1950800 0.0043578089 0.0020012967 0.0041461558 + 1950900 0.006663119 0.0020215627 0.0053010665 + 1951000 0.0047351301 0.0025493217 0.0048798936 + 1951100 0.005562217 0.0021867041 0.0049243578 + 1951200 0.0064418701 0.0019500702 0.0051206782 + 1951300 0.0057807315 0.00236247 0.0052076738 + 1951400 0.004772253 0.002189906 0.0045387492 + 1951500 0.0041916669 0.0023603503 0.0044234363 + 1951600 0.0067226276 0.0025296423 0.0058384356 + 1951700 0.0040191775 0.0025013843 0.0044795733 + 1951800 0.004524232 0.0028105252 0.0050372957 + 1951900 0.0043891412 0.0029057761 0.0050660565 + 1952000 0.0068677649 0.0027262976 0.0061065256 + 1952100 0.0051094236 0.0021597537 0.0046745481 + 1952200 0.0040898544 0.0023383224 0.0043512977 + 1952300 0.0043464376 0.002503438 0.0046427003 + 1952400 0.0041903513 0.0030089787 0.0050714173 + 1952500 0.0064205284 0.0031231322 0.0062832361 + 1952600 0.0058704025 0.0031556656 0.0060450044 + 1952700 0.0049274505 0.0031297258 0.0055549554 + 1952800 0.0048737599 0.0033222941 0.0057210978 + 1952900 0.0066088582 0.003444252 0.0066970494 + 1953000 0.0054236332 0.0032509523 0.0059203968 + 1953100 0.0053846099 0.0030959985 0.0057462362 + 1953200 0.0028500022 0.0031333156 0.004536051 + 1953300 0.0046566587 0.0025504478 0.004842397 + 1953400 0.0077711968 0.0019007523 0.0057256382 + 1953500 0.0069616574 0.0023644328 0.0057908736 + 1953600 0.0048881206 0.0026264793 0.0050323511 + 1953700 0.0052888933 0.0027474138 0.0053505409 + 1953800 0.0074956975 0.0026425758 0.0063318644 + 1953900 0.0056179827 0.0023914299 0.0051565308 + 1954000 0.0053870586 0.0022106596 0.0048621025 + 1954100 0.004424963 0.002500458 0.0046783695 + 1954200 0.0046798898 0.0026370373 0.0049404206 + 1954300 0.0052544217 0.0021605854 0.0047467461 + 1954400 0.0050273269 0.002165618 0.0046400054 + 1954500 0.0046684298 0.002686144 0.0049838868 + 1954600 0.0054626524 0.0028373524 0.0055260016 + 1954700 0.0066007504 0.0028672996 0.0061161064 + 1954800 0.0059563656 0.0028522115 0.0057838602 + 1954900 0.0054633579 0.0026666691 0.0053556656 + 1955000 0.0046503677 0.002707889 0.0049967418 + 1955100 0.0047431397 0.0027024929 0.0050370069 + 1955200 0.0050195107 0.0023682479 0.0048387883 + 1955300 0.0045741621 0.0020076468 0.0042589922 + 1955400 0.0038039197 0.0016487356 0.0035209773 + 1955500 0.0056133631 0.0016971895 0.0044600166 + 1955600 0.0039780835 0.0019722123 0.0039301753 + 1955700 0.0040127551 0.0024941871 0.004469215 + 1955800 0.0054595832 0.0028275734 0.005514712 + 1955900 0.0063029842 0.0027363005 0.0058385505 + 1956000 0.0051445844 0.0027147023 0.0052468024 + 1956100 0.0048667928 0.0029448916 0.0053402662 + 1956200 0.0040899994 0.0030969522 0.0051099987 + 1956300 0.0037899769 0.0029835146 0.0048488938 + 1956400 0.0048812065 0.0023568734 0.0047593423 + 1956500 0.0055074596 0.0019658601 0.0046765628 + 1956600 0.0058901341 0.0020758098 0.0049748602 + 1956700 0.0048194316 0.0025490661 0.0049211301 + 1956800 0.0046468987 0.0032572576 0.0055444031 + 1956900 0.0052343258 0.0033531535 0.0059294233 + 1957000 0.0055998221 0.0030170602 0.0057732226 + 1957100 0.0068342514 0.0022217251 0.0055854582 + 1957200 0.0051168869 0.0022720953 0.0047905631 + 1957300 0.0055558371 0.0026512202 0.0053857337 + 1957400 0.0053567749 0.0029787585 0.0056152962 + 1957500 0.0042399255 0.0029031937 0.004990032 + 1957600 0.0040041379 0.002232762 0.0042035486 + 1957700 0.004641315 0.002192824 0.0044772213 + 1957800 0.0050283382 0.0020983373 0.0045732225 + 1957900 0.0057780746 0.0019640651 0.0048079612 + 1958000 0.0057950254 0.0022857947 0.0051380338 + 1958100 0.0066803377 0.0023297289 0.0056177076 + 1958200 0.0043241561 0.0023626924 0.0044909879 + 1958300 0.0034570657 0.0024143197 0.0041158442 + 1958400 0.0073499538 0.0021226688 0.0057402242 + 1958500 0.0073945849 0.0020975105 0.0057370328 + 1958600 0.0040551392 0.002633804 0.0046296928 + 1958700 0.0046865437 0.0025870524 0.0048937107 + 1958800 0.0043491703 0.0027173619 0.0048579692 + 1958900 0.0055667036 0.0019983184 0.0047381803 + 1959000 0.0053060665 0.0019304823 0.0045420619 + 1959100 0.0047756449 0.0026499171 0.0050004299 + 1959200 0.0054528555 0.0024816743 0.0051655017 + 1959300 0.004815367 0.0024863101 0.0048563735 + 1959400 0.0055988808 0.0026555272 0.0054112264 + 1959500 0.0061027932 0.0023869042 0.0053906227 + 1959600 0.0060132203 0.0023539141 0.005313546 + 1959700 0.0043376207 0.0027019675 0.0048368902 + 1959800 0.0052857044 0.0026223824 0.00522394 + 1959900 0.0050688623 0.0026707624 0.0051655931 + 1960000 0.0046591238 0.0029970502 0.0052902127 + 1960100 0.005477859 0.0027695929 0.0054657266 + 1960200 0.0040375931 0.0026603595 0.0046476124 + 1960300 0.0046429165 0.0031988093 0.0054839947 + 1960400 0.0044887887 0.0033220371 0.0055313628 + 1960500 0.0066373727 0.0025943416 0.0058611735 + 1960600 0.0056922809 0.0024955233 0.0052971928 + 1960700 0.0041416495 0.0024605267 0.0044989948 + 1960800 0.0048993467 0.002402592 0.0048139892 + 1960900 0.0045304907 0.0029118729 0.0051417237 + 1961000 0.0042019432 0.0035134647 0.0055816086 + 1961100 0.0061618032 0.0037809757 0.0068137383 + 1961200 0.0049303858 0.0038546414 0.0062813157 + 1961300 0.0050455763 0.0033860774 0.0058694469 + 1961400 0.0061649589 0.0036026256 0.0066369413 + 1961500 0.0048234046 0.003484642 0.0058586614 + 1961600 0.0059422179 0.0032452576 0.006169943 + 1961700 0.0065296381 0.003098156 0.0063119623 + 1961800 0.0060899224 0.0034118878 0.0064092715 + 1961900 0.0052955754 0.0032686534 0.0058750694 + 1962000 0.0038683442 0.0033408285 0.0052447791 + 1962100 0.0063367427 0.0028744196 0.0059932851 + 1962200 0.005404768 0.0026065862 0.0052667454 + 1962300 0.0031756845 0.0022704803 0.0038335125 + 1962400 0.003420545 0.0019062778 0.0035898273 + 1962500 0.004691671 0.001735755 0.0040449368 + 1962600 0.0043914784 0.0019029559 0.0040643867 + 1962700 0.0027455303 0.0021064122 0.0034577279 + 1962800 0.0035606309 0.0020828882 0.0038353862 + 1962900 0.0058632975 0.0016839897 0.0045698315 + 1963000 0.00467719 0.001668561 0.0039706154 + 1963100 0.0042506773 0.0017901663 0.0038822966 + 1963200 0.0039646745 0.0019753484 0.0039267116 + 1963300 0.0051894469 0.0020689034 0.0046230843 + 1963400 0.0048809231 0.0022483025 0.0046506318 + 1963500 0.0048083714 0.0021423363 0.0045089566 + 1963600 0.0032428015 0.0022220203 0.0038180866 + 1963700 0.0028174699 0.0021783896 0.0035651131 + 1963800 0.0062744596 0.0020330543 0.0051212649 + 1963900 0.0041645521 0.0020185667 0.0040683072 + 1964000 0.0052158431 0.0019924735 0.0045596463 + 1964100 0.0036921621 0.0022743034 0.0040915394 + 1964200 0.0052800557 0.0023193504 0.0049181278 + 1964300 0.0067953305 0.0019550107 0.0052995874 + 1964400 0.006800689 0.0022361702 0.0055833843 + 1964500 0.0043669842 0.0029376954 0.0050870704 + 1964600 0.0053926428 0.0033148006 0.005968992 + 1964700 0.0047360625 0.0028978717 0.0052289024 + 1964800 0.0072769312 0.0024402664 0.0060218809 + 1964900 0.005094762 0.0023892467 0.0048968248 + 1965000 0.0044721133 0.0031615481 0.0053626664 + 1965100 0.0061740158 0.0026497547 0.0056885282 + 1965200 0.0066903482 0.0024959895 0.0057888953 + 1965300 0.0056803286 0.0020346543 0.004830441 + 1965400 0.006155835 0.0019636441 0.0049934691 + 1965500 0.0047015071 0.0023071994 0.0046212224 + 1965600 0.0061535427 0.0021489944 0.0051776912 + 1965700 0.0063394401 0.0019596995 0.0050798926 + 1965800 0.0039961068 0.0022404754 0.0042073092 + 1965900 0.0047642305 0.0019956955 0.0043405901 + 1966000 0.0058794784 0.0020433316 0.0049371373 + 1966100 0.0044863111 0.0026222613 0.0048303675 + 1966200 0.0089809411 0.0022778255 0.0066981325 + 1966300 0.0050404211 0.0027158817 0.005196714 + 1966400 0.0040094505 0.0030998228 0.0050732242 + 1966500 0.005631371 0.0031255424 0.0058972327 + 1966600 0.0051370621 0.002859266 0.0053876638 + 1966700 0.0042151008 0.0022332093 0.0043078293 + 1966800 0.0044673367 0.0022326175 0.0044313848 + 1966900 0.0033525125 0.0023818343 0.0040318991 + 1967000 0.0040219548 0.0022764338 0.0042559897 + 1967100 0.0046302799 0.0021484902 0.0044274561 + 1967200 0.0049714506 0.0020357125 0.0044825983 + 1967300 0.005977992 0.0021433671 0.00508566 + 1967400 0.0053902316 0.0020022409 0.0046552456 + 1967500 0.0046586404 0.0019883349 0.0042812595 + 1967600 0.0039033117 0.0023083811 0.0042295423 + 1967700 0.0043752254 0.0025024203 0.0046558515 + 1967800 0.0043589795 0.0024982533 0.0046436885 + 1967900 0.0052777293 0.0025180008 0.0051156332 + 1968000 0.0034189485 0.0024891574 0.0041719211 + 1968100 0.0048088533 0.0023660067 0.0047328642 + 1968200 0.0064220903 0.0022541356 0.0054150081 + 1968300 0.0060765069 0.0026611767 0.0056519575 + 1968400 0.0039367764 0.0027331653 0.0046707974 + 1968500 0.0060924498 0.0030554742 0.0060541019 + 1968600 0.00614092 0.0033329465 0.0063554306 + 1968700 0.0047542107 0.0029760359 0.0053159989 + 1968800 0.0054506215 0.0025875217 0.0052702495 + 1968900 0.0043579159 0.002381629 0.0045265407 + 1969000 0.0040054447 0.0024285121 0.0043999419 + 1969100 0.0042311652 0.0026493681 0.0047318947 + 1969200 0.0053567692 0.0024350446 0.0050715794 + 1969300 0.0056387297 0.002089391 0.0048647032 + 1969400 0.0051026868 0.0017434762 0.0042549549 + 1969500 0.0048391876 0.001917665 0.0042994526 + 1969600 0.0037442695 0.0018411399 0.0036840225 + 1969700 0.0041662021 0.0023597055 0.0044102581 + 1969800 0.0048332633 0.003008715 0.0053875868 + 1969900 0.0035195388 0.0031190537 0.0048513267 + 1970000 0.0037215918 0.0023704618 0.0042021828 + 1970100 0.0045265138 0.002228958 0.0044568515 + 1970200 0.0053884757 0.0022231472 0.0048752876 + 1970300 0.0060521133 0.0023611798 0.0053399543 + 1970400 0.0067249521 0.0024082083 0.0057181457 + 1970500 0.0056554492 0.0029147842 0.0056983256 + 1970600 0.0042355139 0.0033454496 0.0054301166 + 1970700 0.0052954485 0.0033357837 0.0059421372 + 1970800 0.0039578327 0.003382902 0.0053308978 + 1970900 0.0070756702 0.0033565376 0.006839094 + 1971000 0.0038925924 0.0033054241 0.0052213094 + 1971100 0.0057297208 0.0028192575 0.0056393545 + 1971200 0.0053615822 0.0030168347 0.0056557385 + 1971300 0.0047059075 0.0033849381 0.0057011269 + 1971400 0.0057164524 0.0028652423 0.0056788087 + 1971500 0.0055595605 0.002817329 0.0055536752 + 1971600 0.0058039023 0.0030304874 0.0058870956 + 1971700 0.0043448922 0.003096274 0.0052347757 + 1971800 0.0036321233 0.0029971895 0.0047848752 + 1971900 0.005140237 0.0029246325 0.0054545928 + 1972000 0.0047777658 0.0030824931 0.0054340497 + 1972100 0.0067663028 0.0032434707 0.0065737604 + 1972200 0.0059467742 0.003827276 0.0067542039 + 1972300 0.0052360169 0.0038464504 0.0064235524 + 1972400 0.0054253556 0.0033726987 0.006042991 + 1972500 0.0047094539 0.0027297566 0.0050476909 + 1972600 0.0049655731 0.0027897336 0.0052337266 + 1972700 0.0042014405 0.0028846031 0.0049524997 + 1972800 0.0067617805 0.0027408443 0.0060689082 + 1972900 0.0047488406 0.0035163253 0.0058536453 + 1973000 0.0050213518 0.0036927106 0.0061641572 + 1973100 0.0045958668 0.0034397612 0.0057017894 + 1973200 0.00491002 0.0029937584 0.0054104088 + 1973300 0.0060429046 0.0028447392 0.0058189814 + 1973400 0.0055203192 0.0025766793 0.0052937114 + 1973500 0.0055681405 0.0023389798 0.005079549 + 1973600 0.0043210092 0.0028398802 0.0049666269 + 1973700 0.0049103211 0.0028410593 0.005257858 + 1973800 0.0045391302 0.003143301 0.0053774041 + 1973900 0.0041241205 0.0026072632 0.0046371038 + 1974000 0.0051957384 0.0021001088 0.0046573864 + 1974100 0.0060325521 0.0020217554 0.0049909021 + 1974200 0.0047307958 0.0023757612 0.0047041998 + 1974300 0.0062928884 0.0022520228 0.0053493038 + 1974400 0.0048969188 0.0027798908 0.005190093 + 1974500 0.0060556348 0.0025749225 0.0055554303 + 1974600 0.0064805615 0.0021720665 0.0053617179 + 1974700 0.0044676811 0.0025536507 0.0047525875 + 1974800 0.0068051163 0.0028049398 0.006154333 + 1974900 0.0068328027 0.0024118326 0.0057748527 + 1975000 0.0055704185 0.0024589736 0.005200664 + 1975100 0.0059750587 0.0024398561 0.0053807053 + 1975200 0.0062643598 0.0023495976 0.0054328372 + 1975300 0.0060022128 0.0026989646 0.0056531788 + 1975400 0.0066336948 0.0025435592 0.0058085808 + 1975500 0.0055590611 0.0024328755 0.0051689759 + 1975600 0.0057934535 0.002595223 0.0054466884 + 1975700 0.0050700463 0.0028409376 0.005336351 + 1975800 0.0041203695 0.0026620262 0.0046900206 + 1975900 0.006391252 0.0022078384 0.0053535327 + 1976000 0.005554686 0.0020056826 0.0047396296 + 1976100 0.0056292475 0.0021034226 0.0048740678 + 1976200 0.0053536508 0.0026886722 0.0053236722 + 1976300 0.005483876 0.0026237706 0.0053228658 + 1976400 0.0049829385 0.0022140453 0.0046665854 + 1976500 0.0038646913 0.001928554 0.0038307067 + 1976600 0.0056354078 0.001951041 0.0047247183 + 1976700 0.006322617 0.0020049399 0.005116853 + 1976800 0.0068346506 0.0028231365 0.0061870661 + 1976900 0.004425002 0.0029317198 0.0051096504 + 1977000 0.0039872885 0.0028442901 0.0048067837 + 1977100 0.0051132872 0.0027037761 0.0052204721 + 1977200 0.0065234064 0.0023518813 0.0055626204 + 1977300 0.006834685 0.0024803098 0.0058442564 + 1977400 0.0048422499 0.0027909748 0.0051742697 + 1977500 0.003860027 0.0028217769 0.0047216339 + 1977600 0.004524088 0.0020753902 0.0043020897 + 1977700 0.0039299072 0.001968914 0.0039031652 + 1977800 0.0052786677 0.0016284221 0.0042265163 + 1977900 0.0058670623 0.0019257935 0.0048134883 + 1978000 0.005328742 0.0018319712 0.0044547114 + 1978100 0.0053149862 0.0015611072 0.004177077 + 1978200 0.0047016678 0.0017958738 0.0041099759 + 1978300 0.0040021215 0.0017083803 0.0036781744 + 1978400 0.0050191291 0.0019845438 0.0044548964 + 1978500 0.0053307985 0.0021834192 0.0048071716 + 1978600 0.0045795286 0.0015629799 0.0038169666 + 1978700 0.0040588884 0.0016023327 0.0036000669 + 1978800 0.0056087102 0.0017337129 0.00449425 + 1978900 0.0042195899 0.0016850083 0.0037618377 + 1979000 0.0041282468 0.001924472 0.0039563435 + 1979100 0.0041563346 0.0021684014 0.0042140974 + 1979200 0.0047855088 0.0019797408 0.0043351084 + 1979300 0.004713838 0.0022519439 0.004572036 + 1979400 0.0053922758 0.0024204081 0.0050744189 + 1979500 0.0044929275 0.0023548922 0.004566255 + 1979600 0.0052116931 0.002142128 0.0047072581 + 1979700 0.0044301591 0.002051807 0.0042322759 + 1979800 0.0049303952 0.0020448889 0.0044715678 + 1979900 0.0043640762 0.0023095794 0.0044575232 + 1980000 0.0066283108 0.0027330313 0.005995403 + 1980100 0.0059506906 0.0028329204 0.0057617759 + 1980200 0.0059808309 0.0020017151 0.0049454053 + 1980300 0.0040694112 0.0015880621 0.0035909755 + 1980400 0.0062363532 0.0014758557 0.0045453108 + 1980500 0.0053348598 0.0016729627 0.004298714 + 1980600 0.0060339265 0.002075905 0.0050457282 + 1980700 0.0058317331 0.0024649366 0.0053352428 + 1980800 0.0053585871 0.0025072608 0.0051446904 + 1980900 0.0047268588 0.0027389226 0.0050654234 + 1981000 0.0046919327 0.0025076764 0.004816987 + 1981100 0.0054195362 0.002119352 0.00478678 + 1981200 0.0049859359 0.002384692 0.0048387073 + 1981300 0.0046362027 0.0021999107 0.0044817917 + 1981400 0.004668489 0.0025675308 0.0048653027 + 1981500 0.0051245574 0.0023607949 0.004883038 + 1981600 0.0045853814 0.0029000395 0.0051569069 + 1981700 0.0040460053 0.0029528043 0.0049441976 + 1981800 0.0074680387 0.0022237666 0.0058994419 + 1981900 0.0053653048 0.0020252809 0.0046660168 + 1982000 0.0055223326 0.0019722649 0.004690288 + 1982100 0.0049637703 0.0020603435 0.0045034492 + 1982200 0.0056249922 0.0023490878 0.0051176387 + 1982300 0.004992881 0.0018096202 0.0042670538 + 1982400 0.0052150644 0.001666925 0.0042337145 + 1982500 0.005313939 0.0016009002 0.0042163545 + 1982600 0.0041870273 0.0016989236 0.0037597261 + 1982700 0.004182574 0.0020278464 0.004086457 + 1982800 0.0054656535 0.0018606793 0.0045508056 + 1982900 0.0070960884 0.0017181386 0.0052107446 + 1983000 0.0060347209 0.0021900075 0.0051602217 + 1983100 0.0035152978 0.0024311352 0.0041613209 + 1983200 0.0046516392 0.002079688 0.0043691666 + 1983300 0.0051688307 0.0020050591 0.004549093 + 1983400 0.0048165233 0.0022223044 0.0045929369 + 1983500 0.006040761 0.0028677546 0.0058409416 + 1983600 0.0046465971 0.0031376505 0.0054246475 + 1983700 0.0070986138 0.0034349895 0.0069288385 + 1983800 0.0056043517 0.0030140473 0.0057724392 + 1983900 0.0056223852 0.0027937842 0.005561052 + 1984000 0.0050532751 0.0024712755 0.0049584344 + 1984100 0.0056924885 0.0024401928 0.0052419645 + 1984200 0.0056846356 0.0021283476 0.0049262542 + 1984300 0.0039684604 0.0022801088 0.0042333354 + 1984400 0.0057022348 0.0023077644 0.0051143331 + 1984500 0.0050569045 0.0029058378 0.005394783 + 1984600 0.0042357858 0.0029254972 0.005010298 + 1984700 0.0061819768 0.002168067 0.0052107587 + 1984800 0.0045070634 0.0017174146 0.0039357348 + 1984900 0.0064325048 0.0016413865 0.0048073849 + 1985000 0.00469054 0.0022749654 0.0045835906 + 1985100 0.005221984 0.0023528129 0.0049230081 + 1985200 0.0034586036 0.0022755683 0.0039778498 + 1985300 0.0055984832 0.0021331389 0.0048886424 + 1985400 0.0048608198 0.0026110527 0.0050034875 + 1985500 0.0035728121 0.003113909 0.0048724025 + 1985600 0.0057716041 0.0024205499 0.0052612613 + 1985700 0.0056227728 0.0023218579 0.0050893164 + 1985800 0.0048254807 0.0024124083 0.0047874496 + 1985900 0.0043041213 0.002521663 0.0046400977 + 1986000 0.0060402316 0.0023918867 0.0053648131 + 1986100 0.0045195804 0.0025196187 0.0047440997 + 1986200 0.0056304062 0.0028655702 0.0056367858 + 1986300 0.004940732 0.0029267485 0.0053585151 + 1986400 0.0051048822 0.0025004927 0.0050130519 + 1986500 0.0051543479 0.0022587456 0.0047956512 + 1986600 0.0052495893 0.0020899933 0.0046737756 + 1986700 0.0057607706 0.0023671158 0.0052024951 + 1986800 0.0058301603 0.0021323223 0.0050018543 + 1986900 0.0055676168 0.0015264375 0.0042667489 + 1987000 0.0042138366 0.0014262963 0.003500294 + 1987100 0.0062862323 0.0016101627 0.0047041676 + 1987200 0.0058300172 0.0014433623 0.0043128239 + 1987300 0.0042680877 0.0016998945 0.0038005939 + 1987400 0.0056182989 0.0018484745 0.004613731 + 1987500 0.0065123996 0.001742609 0.0049479307 + 1987600 0.0056369884 0.0017309688 0.004505424 + 1987700 0.0048519312 0.002041564 0.0044296239 + 1987800 0.0046661666 0.0027280469 0.0050246757 + 1987900 0.0057507062 0.0029982409 0.0058286666 + 1988000 0.0046941817 0.0028044002 0.0051148177 + 1988100 0.0056456028 0.0021826056 0.0049613007 + 1988200 0.0054698025 0.0019572188 0.0046493872 + 1988300 0.0050247915 0.0023554816 0.0048286212 + 1988400 0.0042434649 0.0020184918 0.0041070722 + 1988500 0.0051100694 0.0018169564 0.0043320687 + 1988600 0.0064519371 0.0022968105 0.0054723733 + 1988700 0.004244774 0.0028191818 0.0049084065 + 1988800 0.0055475823 0.0023268452 0.0050572959 + 1988900 0.0047735124 0.0021846311 0.0045340942 + 1989000 0.0067925537 0.0021052906 0.0054485006 + 1989100 0.0053264826 0.0027883386 0.0054099668 + 1989200 0.0044899899 0.0026529638 0.0048628807 + 1989300 0.0044819859 0.0020405624 0.0042465398 + 1989400 0.0055102469 0.0020744229 0.0047864975 + 1989500 0.0032349766 0.0022298778 0.0038220928 + 1989600 0.0042232508 0.0024966295 0.0045752607 + 1989700 0.0058795448 0.0022546869 0.0051485253 + 1989800 0.0077871398 0.0024580206 0.0062907534 + 1989900 0.0066070218 0.0026114385 0.005863332 + 1990000 0.0055028717 0.0021736585 0.0048821031 + 1990100 0.0058517627 0.0019654744 0.0048456389 + 1990200 0.005259527 0.0023259082 0.0049145816 + 1990300 0.0039825638 0.0032344198 0.0051945879 + 1990400 0.0046223289 0.003680173 0.0059552254 + 1990500 0.0041608433 0.003327208 0.0053751231 + 1990600 0.0051822972 0.0020900233 0.0046406852 + 1990700 0.0045353647 0.0020709256 0.0043031754 + 1990800 0.004117584 0.0026043084 0.0046309317 + 1990900 0.0031785486 0.0023566873 0.0039211291 + 1991000 0.0046371325 0.0022251759 0.0045075145 + 1991100 0.0031842429 0.0021117931 0.0036790376 + 1991200 0.0064351612 0.0018734894 0.0050407954 + 1991300 0.0044154695 0.0017651334 0.0039383723 + 1991400 0.0051370601 0.001617819 0.0041462158 + 1991500 0.0068023705 0.0021464791 0.0054945208 + 1991600 0.004941278 0.0024908807 0.004922916 + 1991700 0.0071691365 0.0023977738 0.0059263332 + 1991800 0.004928178 0.0024002531 0.0048258407 + 1991900 0.0044836427 0.0024387138 0.0046455067 + 1992000 0.0043522849 0.002431429 0.0045735693 + 1992100 0.0055260491 0.0022524073 0.0049722596 + 1992200 0.0064724232 0.0022818623 0.0054675081 + 1992300 0.0057010022 0.0026553879 0.00546135 + 1992400 0.005649787 0.0021582975 0.0049390521 + 1992500 0.0059608769 0.001989569 0.0049234381 + 1992600 0.0044612397 0.0018231766 0.004018943 + 1992700 0.0054501286 0.0021690321 0.0048515173 + 1992800 0.0051572844 0.0027260947 0.0052644457 + 1992900 0.0041187454 0.0028101566 0.0048373517 + 1993000 0.0039292726 0.0028538619 0.0047878007 + 1993100 0.004333378 0.0026337387 0.0047665731 + 1993200 0.0055955453 0.0024484898 0.0052025472 + 1993300 0.0046788239 0.0021023181 0.0044051767 + 1993400 0.0054766711 0.0021039039 0.004799453 + 1993500 0.0044777734 0.0023353662 0.0045392704 + 1993600 0.0046387967 0.0020376463 0.0043208041 + 1993700 0.0067209752 0.0017739096 0.0050818896 + 1993800 0.0036846547 0.0021362854 0.0039498264 + 1993900 0.0035441194 0.0021016423 0.0038460136 + 1994000 0.0046487757 0.002166301 0.0044543703 + 1994100 0.0061404977 0.001974164 0.0049964402 + 1994200 0.0052462447 0.0025239715 0.0051061076 + 1994300 0.0061448229 0.0033154981 0.0063399032 + 1994400 0.0060807602 0.0030597861 0.0060526603 + 1994500 0.0055340069 0.0024630001 0.0051867691 + 1994600 0.0048207495 0.0024412778 0.0048139905 + 1994700 0.0056573062 0.0021671285 0.0049515839 + 1994800 0.0040610277 0.0024453574 0.0044441445 + 1994900 0.0055377006 0.0025202564 0.0052458435 + 1995000 0.0056677693 0.0025586879 0.0053482931 + 1995100 0.0050007413 0.002912869 0.0053741714 + 1995200 0.0036082484 0.0026871674 0.0044631022 + 1995300 0.0031404131 0.0025518402 0.0040975123 + 1995400 0.0045197622 0.0024076203 0.0046321908 + 1995500 0.0053878155 0.0022927619 0.0049445773 + 1995600 0.0055513181 0.0023714437 0.005103733 + 1995700 0.004986409 0.0021815935 0.0046358417 + 1995800 0.0059840528 0.0022040675 0.0051493435 + 1995900 0.0048047694 0.0028504619 0.0052153093 + 1996000 0.0041188062 0.0032162296 0.0052434545 + 1996100 0.0057045074 0.0030025305 0.0058102177 + 1996200 0.0053857785 0.0030991164 0.0057499293 + 1996300 0.004934022 0.0032275728 0.0056560368 + 1996400 0.0052477409 0.0029614228 0.0055442952 + 1996500 0.0057506584 0.0026090882 0.0054394904 + 1996600 0.0054215917 0.0028450729 0.0055135126 + 1996700 0.0040779023 0.0029812633 0.0049883559 + 1996800 0.004955063 0.0029577484 0.0053965685 + 1996900 0.0045757937 0.0030085418 0.0052606903 + 1997000 0.0042222687 0.0030588955 0.0051370433 + 1997100 0.0046832438 0.002815517 0.005120551 + 1997200 0.0051500003 0.0021958113 0.004730577 + 1997300 0.0045633612 0.0017893532 0.0040353825 + 1997400 0.0036703158 0.0018360092 0.0036424928 + 1997500 0.0044518319 0.002115422 0.0043065581 + 1997600 0.0047498709 0.0023608622 0.0046986893 + 1997700 0.0059294019 0.0022669779 0.0051853554 + 1997800 0.0039899174 0.0024775314 0.0044413189 + 1997900 0.0055844392 0.0021641055 0.0049126966 + 1998000 0.0051106512 0.0018176641 0.0043330627 + 1998100 0.0056143278 0.0022659689 0.0050292709 + 1998200 0.0043151851 0.0025546655 0.0046785456 + 1998300 0.0052712957 0.0024152156 0.0050096815 + 1998400 0.0042348839 0.0024296798 0.0045140367 + 1998500 0.0030287342 0.002623803 0.0041145081 + 1998600 0.0055051309 0.0021173655 0.0048269221 + 1998700 0.0057217041 0.0017686861 0.0045848373 + 1998800 0.0048875419 0.0018746291 0.0042802161 + 1998900 0.007364676 0.0019868413 0.0056116428 + 1999000 0.0053002642 0.0021333448 0.0047420686 + 1999100 0.0044239819 0.0026956169 0.0048730454 + 1999200 0.0037866761 0.0031115123 0.0049752669 + 1999300 0.0045921308 0.0027207583 0.0049809477 + 1999400 0.0052107996 0.0020772636 0.004641954 + 1999500 0.0049143451 0.001868372 0.0042871512 + 1999600 0.0059949807 0.0022728405 0.0052234951 + 1999700 0.0050216233 0.002669087 0.0051406673 + 1999800 0.0049219953 0.0025093587 0.0049319033 + 1999900 0.0045165212 0.0022190108 0.004441986 + 2000000 0.0049904073 0.001955233 0.0044114491 +Loop time of 22.6651 on 4 procs for 2000000 steps with 64 atoms + +Performance: 38120276.772 tau/day, 88241.381 timesteps/s, 5.647 Matom-step/s +96.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0.37899 | 0.39755 | 0.41982 | 2.3 | 1.75 +Neigh | 2.9184 | 3.0178 | 3.1717 | 5.4 | 13.31 +Comm | 10.429 | 10.694 | 11.003 | 6.2 | 47.18 +Output | 0.12974 | 0.14293 | 0.17878 | 5.5 | 0.63 +Modify | 6.4203 | 6.5794 | 6.7365 | 4.5 | 29.03 +Other | | 1.833 | | | 8.09 + +Nlocal: 16 ave 16 max 16 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 4 ave 4 max 4 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 6 +Neighbor list builds = 2000000 +Dangerous builds not checked +Total wall time: 0:00:22 diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/log.lammps b/examples/PACKAGES/phonon/2-1D-diatomic/log.lammps deleted file mode 100644 index b5867bb658..0000000000 --- a/examples/PACKAGES/phonon/2-1D-diatomic/log.lammps +++ /dev/null @@ -1,20088 +0,0 @@ -LAMMPS (23 Sep 2013) -# 3D simple cubic lattice simulation -dimension 2 -boundary p f p - -units lj -atom_style bond -atom_modify sort 0 1. -bond_style harmonic -pair_style none -communicate single cutoff 2.0 - -# geometry -read_data data.pos - 2 = max bonds/atom - orthogonal box = (0 0 0) to (64 1 1) - 1 by 1 by 1 MPI processor grid - 64 atoms - 64 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - -# -neighbor 1.0 nsq -neigh_modify delay 0 check no - -#Langevin random seed -variable r equal 571101 - -#Langevin Temperature -variable t equal 0.005 - -# Langevin Damping variable -variable d equal 0.5 - -# Create velocities and equilibrate -compute MyTemp all temp/partial 1 0 0 -velocity all create $t 28711 mom yes rot yes dist gaussian temp MyTemp -velocity all create 0.0050000000000000001041 28711 mom yes rot yes dist gaussian temp MyTemp -velocity all set NULL 0.0 0.0 units box -# -fix 1 all langevin $t $t $d $r -fix 1 all langevin 0.0050000000000000001041 $t $d $r -fix 1 all langevin 0.0050000000000000001041 0.0050000000000000001041 $d $r -fix 1 all langevin 0.0050000000000000001041 0.0050000000000000001041 0.5 $r -fix 1 all langevin 0.0050000000000000001041 0.0050000000000000001041 0.5 571101 -fix_modify 1 temp MyTemp -fix 2 all setforce NULL 0. 0. -fix 3 all nve -fix 4 all phonon 10 50000 500000 map.in phonon sysdim 1 -fix_modify 4 temp MyTemp - -# 1 2 3 4 -thermo_style custom step temp pe etotal -thermo_modify temp MyTemp -thermo 100 - -# -run 2000000 -Memory usage per processor = 2.01061 Mbytes -Step Temp PotEng TotEng - 0 0.005 0 0.002421875 - 100 0.0044233185 0.00069227571 0.0028348206 - 200 0.0051557212 0.0012425996 0.003739902 - 300 0.004357315 0.0012750554 0.0033856298 - 400 0.0048269093 0.0014376622 0.0037756964 - 500 0.0047025425 0.0016352541 0.0039130482 - 600 0.0054651713 0.0016709504 0.0043181428 - 700 0.0053552729 0.0018353947 0.0044293551 - 800 0.005954909 0.0019755263 0.0048599354 - 900 0.0042057592 0.0023020508 0.0043392155 - 1000 0.0057669621 0.0025897902 0.0053831625 - 1100 0.0040680049 0.0026989519 0.0046693918 - 1200 0.0046829459 0.0024368094 0.0047051113 - 1300 0.0044905385 0.0024665322 0.0046416368 - 1400 0.0074275036 0.0018704053 0.0054681024 - 1500 0.0052733986 0.0017110596 0.0042653621 - 1600 0.0045302499 0.0017525366 0.0039468764 - 1700 0.0055159362 0.002127395 0.0047991766 - 1800 0.0051833134 0.0024402092 0.0049508766 - 1900 0.0052803653 0.0024879535 0.0050456305 - 2000 0.0056694273 0.0023283837 0.0050745125 - 2100 0.0057566849 0.0021451166 0.0049335108 - 2200 0.00386807 0.0021520647 0.0040256611 - 2300 0.0058041566 0.0023206647 0.0051320531 - 2400 0.0049628786 0.0021353417 0.004539236 - 2500 0.0047613146 0.0019441945 0.0042504562 - 2600 0.0040749997 0.002513164 0.004486992 - 2700 0.0058050329 0.0028770553 0.0056888682 - 2800 0.0047471027 0.0030253369 0.0053247148 - 2900 0.0052674274 0.0019963239 0.004547734 - 3000 0.0070755768 0.0012651894 0.0046924219 - 3100 0.004904144 0.001906362 0.0042818068 - 3200 0.0046180231 0.0022520542 0.0044889091 - 3300 0.0047402454 0.0022380719 0.0045341283 - 3400 0.004526243 0.0019165088 0.0041089077 - 3500 0.0040109678 0.0018036815 0.003746494 - 3600 0.0046845845 0.0022599412 0.0045290368 - 3700 0.0045085962 0.0024312547 0.0046151059 - 3800 0.005224178 0.002911252 0.0054417132 - 3900 0.0062560876 0.00261489 0.0056451824 - 4000 0.0062177588 0.0026008254 0.0056125523 - 4100 0.0065797211 0.0026930138 0.0058800662 - 4200 0.0066811803 0.0023916324 0.0056278291 - 4300 0.0062371547 0.0022726451 0.0052937669 - 4400 0.0059163392 0.0022861682 0.005151895 - 4500 0.0062722067 0.0026254197 0.0056635198 - 4600 0.0040357278 0.0030401402 0.0049949458 - 4700 0.004112287 0.0028318222 0.0048237112 - 4800 0.0049222174 0.0026333499 0.0050175489 - 4900 0.0053288359 0.0023349026 0.0049160575 - 5000 0.0052122846 0.0020219366 0.0045466369 - 5100 0.0058812614 0.0021999893 0.0050487252 - 5200 0.0051967264 0.0018998782 0.0044170426 - 5300 0.005879625 0.0019625602 0.0048105036 - 5400 0.0059624731 0.0021443126 0.0050323855 - 5500 0.0059591574 0.0023506099 0.0052370768 - 5600 0.003079608 0.0029662562 0.0044579413 - 5700 0.0056499809 0.0030961313 0.0058328408 - 5800 0.004573757 0.0024716554 0.004687069 - 5900 0.0061564453 0.0021550869 0.0051371151 - 6000 0.0075508592 0.0021537409 0.0058111883 - 6100 0.0063879372 0.0024185024 0.0055126595 - 6200 0.0041526115 0.0027590092 0.0047704304 - 6300 0.0053061863 0.0025648127 0.0051349967 - 6400 0.006060304 0.0027159393 0.0056513991 - 6500 0.0056452086 0.0030946398 0.0058290377 - 6600 0.0041209765 0.0033636656 0.0053597636 - 6700 0.0045845779 0.0028218743 0.0050425293 - 6800 0.0059546759 0.0023227413 0.0052070374 - 6900 0.0040117754 0.0023341431 0.0042773468 - 7000 0.0042824332 0.0023350167 0.0044093203 - 7100 0.0055815793 0.0020343862 0.0047379636 - 7200 0.0047361478 0.0021430515 0.0044371231 - 7300 0.0046591248 0.0021899851 0.0044467487 - 7400 0.0055490678 0.0024363348 0.0051241645 - 7500 0.0062602828 0.0022183901 0.0052507145 - 7600 0.0071038558 0.0023618503 0.0058027804 - 7700 0.0049840045 0.0028164024 0.0052305296 - 7800 0.0060742119 0.0028555113 0.0057977076 - 7900 0.0057662888 0.0026868797 0.0054799259 - 8000 0.0055472766 0.0026213197 0.0053082818 - 8100 0.0061220787 0.0024665333 0.0054319151 - 8200 0.0035301258 0.0022766722 0.0039865769 - 8300 0.0047057949 0.0020748339 0.0043542033 - 8400 0.0056584891 0.0025104488 0.0052512795 - 8500 0.0052931944 0.0031335003 0.0056973914 - 8600 0.006813214 0.0031081279 0.0064082784 - 8700 0.0057000798 0.0031294549 0.0058904311 - 8800 0.0063988595 0.0029939656 0.0060934132 - 8900 0.0050809819 0.0033860223 0.0058471229 - 9000 0.0058880586 0.0027651879 0.0056172163 - 9100 0.0051273933 0.0025437215 0.0050273027 - 9200 0.0043046349 0.0024518668 0.0045369243 - 9300 0.006666349 0.0021761986 0.0054052113 - 9400 0.0047012258 0.0027272975 0.0050044538 - 9500 0.0051760716 0.0035739909 0.0060811506 - 9600 0.0057728292 0.0032402839 0.006036498 - 9700 0.0055216035 0.0027984706 0.0054729973 - 9800 0.004703682 0.0029933541 0.0052717001 - 9900 0.0041593147 0.0030192883 0.0050339564 - 10000 0.0046929175 0.0027902403 0.0050633722 - 10100 0.0055668751 0.0024845169 0.005180972 - 10200 0.0037097247 0.0027718476 0.0045687455 - 10300 0.0059339557 0.0024143878 0.0052886476 - 10400 0.0062305492 0.0023004427 0.0053183649 - 10500 0.006469886 0.0023585975 0.0054924485 - 10600 0.005657095 0.0024652988 0.0052054542 - 10700 0.0045489624 0.0022108292 0.0044142329 - 10800 0.0039137671 0.0021290713 0.0040248023 - 10900 0.0060584769 0.0014383624 0.0043729371 - 11000 0.0047773964 0.0017109606 0.0040250119 - 11100 0.0049103899 0.0022149005 0.0045933706 - 11200 0.0046635517 0.0023331593 0.0045920672 - 11300 0.0058616014 0.0023070819 0.0051462951 - 11400 0.0058097494 0.0021263416 0.0049404389 - 11500 0.0042942986 0.0014448672 0.003524918 - 11600 0.0040720183 0.0016123951 0.0035847789 - 11700 0.0053356245 0.0021014328 0.0046858759 - 11800 0.004687293 0.0021548492 0.0044252567 - 11900 0.0063532628 0.0019672104 0.005044572 - 12000 0.0043395406 0.0022585224 0.0043604874 - 12100 0.0053231095 0.0021427925 0.0047211737 - 12200 0.0048807984 0.0020771697 0.0044413064 - 12300 0.005499659 0.0021925484 0.0048564457 - 12400 0.005787679 0.0024101225 0.0052135295 - 12500 0.0040004679 0.0025784294 0.0045161561 - 12600 0.0058999596 0.0023774445 0.0052352374 - 12700 0.0051056486 0.0021385748 0.0046116234 - 12800 0.0047215983 0.002353936 0.0046409602 - 12900 0.0041353898 0.0026153486 0.0046184281 - 13000 0.0051901137 0.0025926707 0.0051066321 - 13100 0.0060193473 0.0023755093 0.0052911307 - 13200 0.005107327 0.0027866382 0.0052604997 - 13300 0.0047592681 0.0028306117 0.0051358822 - 13400 0.0061681377 0.002657851 0.0056455427 - 13500 0.0072085778 0.0028599475 0.0063516024 - 13600 0.0050179552 0.0027511364 0.0051817084 - 13700 0.0059074923 0.0022787841 0.0051402257 - 13800 0.0051721231 0.0023292898 0.0048345369 - 13900 0.0056939157 0.0020847768 0.0048427673 - 14000 0.0049202318 0.0020644018 0.0044476391 - 14100 0.0040767722 0.0020900385 0.004064725 - 14200 0.0060941803 0.0018489783 0.0048008469 - 14300 0.0054383001 0.0020061738 0.0046403505 - 14400 0.0053425018 0.0021812163 0.0047689906 - 14500 0.0058368713 0.0024358519 0.0052630865 - 14600 0.0054571894 0.0023154743 0.0049588004 - 14700 0.0056178837 0.0023659893 0.0050871518 - 14800 0.0064882962 0.0020825205 0.0052252889 - 14900 0.005756471 0.0021430626 0.0049313532 - 15000 0.0046968536 0.0026066542 0.0048816927 - 15100 0.004720725 0.0032852489 0.0055718501 - 15200 0.0041348554 0.0029406617 0.0049434823 - 15300 0.0066270017 0.0024823417 0.0056922957 - 15400 0.0062516894 0.0023389147 0.0053670767 - 15500 0.0063330891 0.0025187531 0.0055863432 - 15600 0.0037977587 0.0029118772 0.0047514165 - 15700 0.0060562637 0.0031529593 0.006086462 - 15800 0.0043590131 0.0042309954 0.0063423924 - 15900 0.0054996632 0.0039737454 0.0066376448 - 16000 0.0041029463 0.0027442708 0.0047316355 - 16100 0.0042593335 0.00241485 0.0044779647 - 16200 0.0042988081 0.0023259836 0.0044082188 - 16300 0.0041297023 0.0022021148 0.0042024394 - 16400 0.0061941988 0.0022393604 0.0052396755 - 16500 0.0048353816 0.002554023 0.0048961609 - 16600 0.0038443719 0.0027341543 0.0045962719 - 16700 0.0061213827 0.0026077704 0.0055728152 - 16800 0.0047782061 0.0025470655 0.0048615091 - 16900 0.0039175995 0.0029583529 0.0048559402 - 17000 0.0061051305 0.0026385274 0.0055957 - 17100 0.0068087722 0.0022961877 0.0055941868 - 17200 0.0055006619 0.0019430445 0.0046074277 - 17300 0.0055775768 0.0016768303 0.0043784691 - 17400 0.0046182935 0.0014177136 0.0036546995 - 17500 0.0055841841 0.0017164119 0.0044212511 - 17600 0.0059014797 0.0020151382 0.0048736675 - 17700 0.0050213328 0.0020801248 0.0045123329 - 17800 0.0038746517 0.0018465872 0.0037233716 - 17900 0.0052844911 0.0016009704 0.0041606458 - 18000 0.0035418291 0.0019176939 0.0036332673 - 18100 0.0051249341 0.0021592843 0.0046416743 - 18200 0.0051268243 0.0024105073 0.0048938128 - 18300 0.0044284461 0.0029788146 0.0051238432 - 18400 0.0054172764 0.0033614937 0.005985487 - 18500 0.0049756673 0.0036188793 0.0060289681 - 18600 0.0048959297 0.0029290296 0.0053004956 - 18700 0.0055142947 0.0025621639 0.0052331504 - 18800 0.0051765163 0.0026813913 0.0051887663 - 18900 0.0040512918 0.0032544717 0.0052168162 - 19000 0.0044329832 0.0029897042 0.0051369304 - 19100 0.0046617492 0.0027504707 0.0050085055 - 19200 0.0066856654 0.0029502301 0.0061885992 - 19300 0.005695229 0.0032255642 0.0059841907 - 19400 0.0054773421 0.0030408839 0.0056939715 - 19500 0.0058641449 0.0028107365 0.0056511817 - 19600 0.0051606233 0.0032742325 0.0057739094 - 19700 0.006336015 0.0039769501 0.0070459574 - 19800 0.005961745 0.0038052578 0.0066929781 - 19900 0.0050629494 0.0031771549 0.005629521 - 20000 0.0048692221 0.0031411072 0.0054996367 - 20100 0.0051220625 0.0035425191 0.0060235181 - 20200 0.0059705121 0.0034199888 0.0063119556 - 20300 0.0064367845 0.0037184565 0.006836274 - 20400 0.0035516568 0.0040344529 0.0057547867 - 20500 0.0068050837 0.0032583702 0.0065545826 - 20600 0.0059588791 0.0028310909 0.0057174229 - 20700 0.0043616569 0.0031799688 0.0052926464 - 20800 0.0057048259 0.0033570742 0.0061203492 - 20900 0.0080710352 0.0026310052 0.0065404129 - 21000 0.0059029844 0.0023584706 0.0052177287 - 21100 0.0051953361 0.0027721438 0.0052886347 - 21200 0.0056943428 0.0029476308 0.0057058281 - 21300 0.0049915906 0.0033105902 0.0057283919 - 21400 0.0061267053 0.0026490823 0.0056167052 - 21500 0.0064465952 0.002037581 0.0051601506 - 21600 0.0041680365 0.0025317962 0.0045506889 - 21700 0.0050285899 0.0027899923 0.0052257155 - 21800 0.0054184947 0.0028818109 0.0055063943 - 21900 0.0057267707 0.0030080119 0.0057819164 - 22000 0.0054268504 0.0029637096 0.0055923403 - 22100 0.0067493917 0.0027743804 0.006043617 - 22200 0.0045902214 0.0027471146 0.0049705031 - 22300 0.0059222982 0.0031696808 0.006038294 - 22400 0.0048914946 0.0035294815 0.0058987992 - 22500 0.0040811307 0.0031259245 0.0051027222 - 22600 0.0055866271 0.0029409967 0.0056470192 - 22700 0.0036328459 0.0028084271 0.0045680868 - 22800 0.0051276977 0.0028518928 0.0053356213 - 22900 0.0051798654 0.0031764952 0.0056854925 - 23000 0.0063744515 0.0033434283 0.0064310533 - 23100 0.0060796668 0.0033795647 0.0063244033 - 23200 0.0069620292 0.0038535022 0.0072257351 - 23300 0.00545905 0.0040805422 0.0067247696 - 23400 0.0039613172 0.0037091454 0.0056279085 - 23500 0.0044549281 0.0033245481 0.0054824039 - 23600 0.0054469272 0.0030351464 0.0056735018 - 23700 0.0050671251 0.0033868405 0.0058412292 - 23800 0.0056075201 0.0035940982 0.0063102407 - 23900 0.0061485936 0.0035529151 0.0065311401 - 24000 0.0053796477 0.003261894 0.0058676608 - 24100 0.00472662 0.0022780761 0.0045675327 - 24200 0.004909189 0.0021154602 0.0044933486 - 24300 0.0046818374 0.0026013054 0.0048690704 - 24400 0.0056878596 0.0026242394 0.0053792964 - 24500 0.0049548837 0.0023025163 0.0047025381 - 24600 0.0058855025 0.0020313353 0.0048821255 - 24700 0.0057197921 0.001865509 0.0046360333 - 24800 0.0045906296 0.0018954295 0.0041190156 - 24900 0.0053914928 0.0018988531 0.0045103574 - 25000 0.0052923355 0.0019126127 0.0044760877 - 25100 0.0055086636 0.0022551009 0.0049233598 - 25200 0.0050354993 0.0025207667 0.0049598366 - 25300 0.0062771114 0.002689693 0.0057301688 - 25400 0.0051407684 0.0026353614 0.0051254211 - 25500 0.0049473786 0.002035293 0.0044316795 - 25600 0.0049497931 0.0017289305 0.0041264865 - 25700 0.0038828638 0.0017067677 0.0035875299 - 25800 0.0041032253 0.0016555139 0.0036430136 - 25900 0.0043960907 0.0019220131 0.0040513695 - 26000 0.0054947112 0.0019971585 0.0046586592 - 26100 0.0050400022 0.0025193504 0.0049606015 - 26200 0.0057018652 0.0025971986 0.0053590396 - 26300 0.005011558 0.0026140868 0.0050415602 - 26400 0.0054824751 0.0030303377 0.0056859116 - 26500 0.0046574698 0.0032112751 0.0054672371 - 26600 0.0049652224 0.0034011085 0.0058061381 - 26700 0.0061257817 0.0030244937 0.0059916692 - 26800 0.005980876 0.0023447196 0.0052417064 - 26900 0.0060087308 0.0021342555 0.0050447345 - 27000 0.0048195443 0.0022132999 0.0045477667 - 27100 0.0046801222 0.0022269075 0.0044938417 - 27200 0.0048517121 0.0018881337 0.0042381817 - 27300 0.0049279497 0.0019983652 0.0043853408 - 27400 0.0056404921 0.0022896346 0.005021748 - 27500 0.0035470369 0.0020012119 0.0037193079 - 27600 0.0046343287 0.0015742386 0.0038189915 - 27700 0.0055773176 0.0020371974 0.0047387107 - 27800 0.0044427908 0.0021849169 0.0043368936 - 27900 0.0060403259 0.0021016061 0.0050273889 - 28000 0.0062634535 0.0020122561 0.0050461164 - 28100 0.0041086235 0.0020061686 0.0039962831 - 28200 0.0057899213 0.0018915964 0.0046960896 - 28300 0.0044324131 0.0016828195 0.0038297696 - 28400 0.0050883025 0.0020824193 0.0045470658 - 28500 0.0049381249 0.0021670207 0.004558925 - 28600 0.0050259897 0.0024610669 0.0048955306 - 28700 0.0049500964 0.0019898824 0.0043875854 - 28800 0.0050759356 0.0020809308 0.0045395871 - 28900 0.0040248015 0.0027204362 0.0046699494 - 29000 0.0047153614 0.0026787292 0.0049627323 - 29100 0.0040957835 0.0024111307 0.0043950258 - 29200 0.0056519885 0.0021787617 0.0049164437 - 29300 0.0047676273 0.0023988021 0.0047081216 - 29400 0.0055401434 0.0021774177 0.0048609246 - 29500 0.0049873906 0.0023485753 0.0047643426 - 29600 0.0044948166 0.0027077998 0.0048849766 - 29700 0.0045424759 0.0030638874 0.0052641492 - 29800 0.0058669608 0.0032529844 0.0060947935 - 29900 0.0048799697 0.0027421848 0.0051059202 - 30000 0.0056811578 0.002309364 0.0050611748 - 30100 0.0047488378 0.0021725318 0.0044727501 - 30200 0.0049144139 0.0019817158 0.0043621351 - 30300 0.0057501213 0.0021028142 0.0048880292 - 30400 0.0042716315 0.0025429944 0.004612066 - 30500 0.0067528421 0.0028193599 0.0060902678 - 30600 0.0057971722 0.0027646877 0.005572693 - 30700 0.0046519658 0.0021713071 0.0044246031 - 30800 0.0062556802 0.0024026847 0.0054327798 - 30900 0.0062369515 0.0028131674 0.0058341908 - 31000 0.0058799256 0.0033815814 0.0062296703 - 31100 0.0056127161 0.0032625824 0.0059812417 - 31200 0.0059713954 0.0032344169 0.0061268115 - 31300 0.0038908456 0.0033710537 0.005255682 - 31400 0.0052843391 0.0023752877 0.0049348894 - 31500 0.0046910063 0.0022372171 0.0045094233 - 31600 0.0055172099 0.0022328649 0.0049052634 - 31700 0.0053802906 0.0023889173 0.0049949955 - 31800 0.0038325771 0.0033449711 0.0052013757 - 31900 0.0037186998 0.0034627943 0.0052640395 - 32000 0.0049583079 0.0033150552 0.0057167356 - 32100 0.0053326022 0.0037481206 0.0063310998 - 32200 0.0057556792 0.0037742283 0.0065621354 - 32300 0.0051391774 0.0033843618 0.0058736509 - 32400 0.006500734 0.0030393375 0.0061881305 - 32500 0.0045531068 0.0030148805 0.0052202916 - 32600 0.0073127557 0.002436045 0.005978161 - 32700 0.0055198561 0.0020534511 0.0047271314 - 32800 0.0046088417 0.0024366817 0.0046690894 - 32900 0.0044566327 0.0025665994 0.0047252809 - 33000 0.0062871 0.0024855066 0.0055308207 - 33100 0.0061567926 0.0029374257 0.0059196221 - 33200 0.0052775834 0.0029602392 0.0055165687 - 33300 0.004685985 0.0026471956 0.0049169696 - 33400 0.0049421143 0.0024079735 0.0048018101 - 33500 0.0051545234 0.0025147584 0.0050114806 - 33600 0.0045488623 0.0025390452 0.0047424003 - 33700 0.0055326329 0.0022224498 0.0049023188 - 33800 0.0052992461 0.0025359157 0.005102738 - 33900 0.0057505741 0.0023395306 0.005124965 - 34000 0.0058652694 0.0023020932 0.0051430831 - 34100 0.0061933253 0.0021174817 0.0051173736 - 34200 0.0046537724 0.0025895065 0.0048436775 - 34300 0.004264356 0.0028746019 0.0049401494 - 34400 0.0042366824 0.0028783879 0.0049305309 - 34500 0.0057063776 0.0022336498 0.0049976764 - 34600 0.005758766 0.0025030016 0.0052924039 - 34700 0.0049833459 0.0027923014 0.0052061095 - 34800 0.0052309003 0.0028121502 0.0053458675 - 34900 0.005864006 0.0025934089 0.0054337868 - 35000 0.0044589164 0.0025795618 0.0047393495 - 35100 0.0033028726 0.0027300683 0.0043298972 - 35200 0.0044310294 0.0026994133 0.0048456932 - 35300 0.0050963569 0.0023707266 0.0048392745 - 35400 0.0039651028 0.0020705618 0.0039911584 - 35500 0.0045984269 0.0021294605 0.0043568236 - 35600 0.0060885016 0.0019210399 0.0048701579 - 35700 0.0051118945 0.0021462282 0.0046223021 - 35800 0.0062500349 0.0022475991 0.0052749598 - 35900 0.0045383142 0.0025734167 0.0047716626 - 36000 0.0046724525 0.0024962743 0.0047594935 - 36100 0.0055275874 0.0026324039 0.005309829 - 36200 0.0035475281 0.0024770701 0.004195404 - 36300 0.004057809 0.0023731267 0.0043386279 - 36400 0.0050400913 0.00202538 0.0044666742 - 36500 0.0045837726 0.002006235 0.0042264998 - 36600 0.0048101942 0.0020225857 0.0043525235 - 36700 0.0051934098 0.0018959513 0.0044115092 - 36800 0.0050127358 0.0020565516 0.0044845955 - 36900 0.0053246432 0.0020928223 0.0046719463 - 37000 0.0053723732 0.0027875044 0.0053897477 - 37100 0.0049468732 0.0031870831 0.0055832248 - 37200 0.006831562 0.0028839943 0.0061930321 - 37300 0.0063607127 0.0026862884 0.0057672587 - 37400 0.0054788572 0.002514145 0.0051679664 - 37500 0.0054031478 0.0026456973 0.005262847 - 37600 0.0039371481 0.0025561282 0.0044631844 - 37700 0.0066068788 0.0020766222 0.0052768291 - 37800 0.0032801454 0.0020764102 0.0036652307 - 37900 0.0041339612 0.0026674868 0.0046698742 - 38000 0.0055823449 0.0032666872 0.0059706355 - 38100 0.005973594 0.0035272518 0.0064207114 - 38200 0.0065961453 0.0031633082 0.0063583161 - 38300 0.0040993355 0.0030945568 0.0050801724 - 38400 0.0056239193 0.0026509411 0.005375027 - 38500 0.0054596641 0.0024468678 0.0050913925 - 38600 0.0047467989 0.0024470794 0.0047463101 - 38700 0.0051589986 0.0024852238 0.0049841137 - 38800 0.0040314269 0.0023425102 0.0042952326 - 38900 0.0055494799 0.0024739439 0.0051619732 - 39000 0.0057123393 0.0029043123 0.0056712266 - 39100 0.004762561 0.0031165168 0.0054233823 - 39200 0.0045190791 0.0034780146 0.0056669435 - 39300 0.0053509933 0.0032816447 0.005873532 - 39400 0.0066184379 0.0027647815 0.0059705874 - 39500 0.004686954 0.0027430682 0.0050133115 - 39600 0.0040613984 0.0027835233 0.0047507631 - 39700 0.00436362 0.0028185692 0.0049321977 - 39800 0.0041818019 0.0026689778 0.0046945381 - 39900 0.0044652386 0.0026446309 0.0048074808 - 40000 0.0043859781 0.0029722398 0.0050966979 - 40100 0.0048911651 0.0035377264 0.0059068845 - 40200 0.0054885033 0.0034219954 0.0060804892 - 40300 0.0048882782 0.003313088 0.0056808478 - 40400 0.0045649906 0.002663118 0.0048742853 - 40500 0.0032042203 0.0025591672 0.0041112114 - 40600 0.0037560453 0.0024499954 0.0042693299 - 40700 0.0050624348 0.0023781604 0.0048302772 - 40800 0.0050378892 0.0028467059 0.0052869335 - 40900 0.0041181479 0.002696186 0.0046909139 - 41000 0.0035577537 0.0024444495 0.0041677365 - 41100 0.0040897334 0.0020456915 0.0040266561 - 41200 0.0061506262 0.0023639004 0.0053431099 - 41300 0.0059776113 0.0025750297 0.0054704352 - 41400 0.00577835 0.0026284328 0.0054273211 - 41500 0.0054837764 0.0029007679 0.0055569721 - 41600 0.0053454726 0.002971531 0.0055607443 - 41700 0.0049686369 0.0028284588 0.0052351423 - 41800 0.0053946647 0.0028582538 0.0054712945 - 41900 0.0062644531 0.0027138489 0.0057481934 - 42000 0.0049638948 0.0025881998 0.0049925863 - 42100 0.0052367551 0.0024496317 0.004986185 - 42200 0.0055528583 0.0021027513 0.0047924171 - 42300 0.0064240321 0.0023581031 0.0054697437 - 42400 0.0048573302 0.0025692651 0.0049220344 - 42500 0.0055153024 0.0025061428 0.0051776174 - 42600 0.0053402657 0.002518657 0.0051053482 - 42700 0.0055903918 0.002742837 0.005450683 - 42800 0.0042357447 0.0025491503 0.0046008391 - 42900 0.0062111691 0.0024254143 0.0054339493 - 43000 0.0058532768 0.0024727352 0.0053079161 - 43100 0.0064674118 0.0021505975 0.0052832501 - 43200 0.0076669666 0.0020239967 0.0057376837 - 43300 0.0059820853 0.0025064513 0.0054040239 - 43400 0.0037967844 0.0028834415 0.0047225089 - 43500 0.0050749536 0.0028538958 0.0053120764 - 43600 0.0048557888 0.0027304777 0.0050825004 - 43700 0.0051716941 0.0030697631 0.0055748024 - 43800 0.0052060302 0.0033859119 0.0059075827 - 43900 0.0057196614 0.0025229604 0.0052934214 - 44000 0.0067206824 0.0018883388 0.0051436693 - 44100 0.0042383267 0.0020011317 0.0040540712 - 44200 0.0053722894 0.0022571199 0.0048593226 - 44300 0.0044275281 0.0025010136 0.0046455975 - 44400 0.0043012685 0.0022262373 0.0043096642 - 44500 0.0061094887 0.0019067784 0.004866062 - 44600 0.0051340212 0.001770822 0.0042576135 - 44700 0.0049228722 0.0019485124 0.0043330286 - 44800 0.0047224749 0.0024206022 0.004708051 - 44900 0.0052923059 0.0025880463 0.005151507 - 45000 0.0064914225 0.0028052885 0.0059495713 - 45100 0.0059607581 0.00259952 0.0054867623 - 45200 0.0047371886 0.0028174016 0.0051119773 - 45300 0.0046126347 0.0030326037 0.0052668486 - 45400 0.0035204206 0.0030079807 0.0047131844 - 45500 0.00494563 0.0027042174 0.0050997569 - 45600 0.0063314331 0.0024492755 0.0055160634 - 45700 0.0061351887 0.0026754165 0.0056471485 - 45800 0.0048941125 0.0024666734 0.0048372591 - 45900 0.0047081916 0.0024228099 0.0047033402 - 46000 0.0049590605 0.0025580479 0.0049600929 - 46100 0.0051945351 0.0020052558 0.0045213587 - 46200 0.0052197173 0.0023940852 0.0049223858 - 46300 0.004827257 0.0022937074 0.00463191 - 46400 0.0044532629 0.0020113079 0.0041683571 - 46500 0.0034159661 0.0022722167 0.0039268253 - 46600 0.0049121478 0.0020406144 0.004419936 - 46700 0.0064815376 0.0019302174 0.0050697122 - 46800 0.0045098648 0.0018962701 0.0040807359 - 46900 0.0062450317 0.0022291702 0.0052541075 - 47000 0.0035127948 0.0024280893 0.0041295993 - 47100 0.006492068 0.0021365674 0.0052811628 - 47200 0.0042201123 0.0022357441 0.004279861 - 47300 0.0063195803 0.0022819849 0.0053430316 - 47400 0.0043423628 0.0024638177 0.0045671497 - 47500 0.0050864859 0.0024792265 0.0049429932 - 47600 0.005518443 0.0024967413 0.0051697371 - 47700 0.0048723978 0.0027333198 0.0050933874 - 47800 0.0053948693 0.0026147393 0.0052278791 - 47900 0.0058932227 0.0024898507 0.0053443804 - 48000 0.0041492471 0.0024426199 0.0044524114 - 48100 0.0059808441 0.0023673784 0.0052643497 - 48200 0.0058362548 0.002247142 0.0050740779 - 48300 0.0040490527 0.0019009578 0.0038622177 - 48400 0.0061822623 0.0017955615 0.0047900947 - 48500 0.0061813661 0.0020093812 0.0050034804 - 48600 0.0053920983 0.0025090577 0.0051208554 - 48700 0.004592587 0.0024533089 0.0046778432 - 48800 0.0050657386 0.0026800425 0.0051337597 - 48900 0.0052137153 0.0028926037 0.005417997 - 49000 0.0037940992 0.002916792 0.0047545588 - 49100 0.0077501956 0.0023703921 0.006124393 - 49200 0.0054885198 0.0023761014 0.0050346032 - 49300 0.0046145502 0.002223878 0.0044590507 - 49400 0.0051217949 0.0019930866 0.004473956 - 49500 0.0057785479 0.0022009466 0.0049999307 - 49600 0.0047012565 0.0023248618 0.0046020329 - 49700 0.0046750482 0.0024799876 0.004744464 - 49800 0.00351766 0.0025689197 0.0042727863 - 49900 0.0051033202 0.0022472872 0.0047192079 - 50000 0.0047317705 0.0022400935 0.0045320448 - 50100 0.0055201845 0.0031067555 0.0057805949 - 50200 0.0069692937 0.0033680673 0.0067438189 - 50300 0.0040680843 0.0031412817 0.00511176 - 50400 0.0058262804 0.0028436797 0.0056657843 - 50500 0.0076287107 0.002556941 0.0062520978 - 50600 0.0050080379 0.0026449193 0.0050706876 - 50700 0.0048428632 0.0024425476 0.0047883095 - 50800 0.0060281456 0.002736442 0.005656325 - 50900 0.0049388392 0.0024590955 0.0048513457 - 51000 0.0050367373 0.0025554771 0.0049951467 - 51100 0.0053142174 0.0027915755 0.0053656495 - 51200 0.0049006094 0.003084364 0.0054580967 - 51300 0.0053791559 0.0028159019 0.0054214306 - 51400 0.0042938503 0.0029417859 0.0050216197 - 51500 0.0043081475 0.0027751418 0.0048619007 - 51600 0.0088102151 0.0023316717 0.0065991196 - 51700 0.0052813802 0.0026402437 0.0051984123 - 51800 0.004604044 0.0023271625 0.0045572463 - 51900 0.0057863468 0.0017470293 0.004549791 - 52000 0.0057661775 0.00183123 0.0046242222 - 52100 0.0061247121 0.0015843677 0.0045510251 - 52200 0.0071722834 0.0017511898 0.0052252645 - 52300 0.0046260782 0.0022794638 0.0045202205 - 52400 0.0048161519 0.0026170508 0.0049498744 - 52500 0.0049589132 0.0025467959 0.0049487695 - 52600 0.0054419295 0.0022110196 0.0048469542 - 52700 0.0042229886 0.001917851 0.0039633611 - 52800 0.0046001197 0.0016801582 0.0039083412 - 52900 0.004914422 0.0018046979 0.0041851211 - 53000 0.0046991263 0.0019851838 0.0042613231 - 53100 0.0042639054 0.0023242775 0.0043896067 - 53200 0.0045067401 0.0025471883 0.0047301406 - 53300 0.0047538542 0.0019830045 0.0042856526 - 53400 0.0047486025 0.0019324063 0.0042325106 - 53500 0.0048083968 0.0017693685 0.0040984357 - 53600 0.0065633193 0.0021607598 0.0053398676 - 53700 0.0041226678 0.0021096217 0.0041065389 - 53800 0.0065666343 0.001859017 0.0050397305 - 53900 0.0043684625 0.0023654451 0.0044814191 - 54000 0.00661965 0.0020896491 0.005296042 - 54100 0.0056617034 0.0024751997 0.0052175873 - 54200 0.0056699902 0.0029135378 0.0056599393 - 54300 0.0065132674 0.002260152 0.0054150159 - 54400 0.0052304147 0.0022743599 0.004807842 - 54500 0.003902541 0.0025482596 0.0044385529 - 54600 0.0042006917 0.0023859112 0.0044206212 - 54700 0.0049002253 0.0017799436 0.0041534902 - 54800 0.0063188116 0.0019720347 0.0050327091 - 54900 0.003883617 0.0027179506 0.0045990776 - 55000 0.0047682205 0.0023564442 0.004666051 - 55100 0.0049795399 0.0022132117 0.0046251763 - 55200 0.0045826496 0.0025256612 0.004745382 - 55300 0.0049672743 0.0024701981 0.0048762216 - 55400 0.0057203318 0.0025342839 0.0053050696 - 55500 0.0063745311 0.0030385825 0.006126246 - 55600 0.0046079574 0.003329151 0.0055611304 - 55700 0.0054436227 0.0029024557 0.0055392104 - 55800 0.0039797603 0.0025810969 0.0045087933 - 55900 0.0048568595 0.0021527815 0.0045053228 - 56000 0.0040275306 0.0022058644 0.0041566995 - 56100 0.0061120989 0.0021592222 0.0051197701 - 56200 0.0057123527 0.0025617635 0.0053286843 - 56300 0.0046194509 0.0025573711 0.0047949177 - 56400 0.0039442485 0.0023640907 0.004274586 - 56500 0.0038660966 0.002758116 0.0046307566 - 56600 0.0032326056 0.0033549076 0.004920701 - 56700 0.0056923409 0.0031221452 0.0058793728 - 56800 0.0060646237 0.0030141178 0.0059516699 - 56900 0.006115688 0.003334233 0.0062965194 - 57000 0.0053874687 0.0029809086 0.0055904638 - 57100 0.0054521391 0.0024928762 0.0051337561 - 57200 0.0031401527 0.002510637 0.0040316484 - 57300 0.0047253215 0.0019448527 0.0042336803 - 57400 0.0057749118 0.0014821744 0.0042793972 - 57500 0.0044322247 0.0015605608 0.0037074196 - 57600 0.0044258001 0.0020299208 0.0041736677 - 57700 0.0075688346 0.0022068043 0.0058729586 - 57800 0.0045678533 0.0022477979 0.0044603519 - 57900 0.0058210499 0.0021932846 0.0050128556 - 58000 0.0039106773 0.0023497057 0.0042439401 - 58100 0.0043659259 0.0023985942 0.0045133396 - 58200 0.0052811537 0.0025796006 0.0051376594 - 58300 0.0060919327 0.0025554362 0.0055062161 - 58400 0.0059583906 0.0024175234 0.0053036189 - 58500 0.0048347897 0.0027857753 0.0051276266 - 58600 0.0047331614 0.0029995955 0.0052922205 - 58700 0.004541713 0.0033203508 0.005520243 - 58800 0.0052809511 0.0030393743 0.005597335 - 58900 0.0042685389 0.002498237 0.0045658106 - 59000 0.0048942191 0.0023499639 0.0047206013 - 59100 0.0045228238 0.0021725498 0.0043632926 - 59200 0.0040432327 0.0020297669 0.0039882077 - 59300 0.0042141076 0.0021916311 0.0042328394 - 59400 0.0049196661 0.0023702708 0.0047532341 - 59500 0.0041507688 0.0026243121 0.0046348407 - 59600 0.0036895214 0.0023204866 0.0041075985 - 59700 0.0053414352 0.0022056775 0.0047929352 - 59800 0.0060050644 0.0021506186 0.0050593216 - 59900 0.005024536 0.002515958 0.0049497177 - 60000 0.0052421833 0.0025078435 0.005047026 - 60100 0.0035915521 0.0023423059 0.0040819639 - 60200 0.0051291229 0.0019083665 0.0043927854 - 60300 0.0043115937 0.0018644636 0.0039528917 - 60400 0.0045119236 0.0021517262 0.0043371892 - 60500 0.0046815212 0.0021488682 0.00441648 - 60600 0.0048052376 0.0020429475 0.0043704844 - 60700 0.0050119835 0.0023182045 0.004745884 - 60800 0.0049760362 0.0019843876 0.0043946551 - 60900 0.0045491831 0.0020072164 0.004210727 - 61000 0.0041761499 0.0021053473 0.0041281699 - 61100 0.0065150362 0.0017252353 0.004880956 - 61200 0.0065141561 0.0022325099 0.0053878042 - 61300 0.0046754362 0.0023997879 0.0046644523 - 61400 0.0055955869 0.0025219758 0.0052323382 - 61500 0.0059363172 0.0024926639 0.0053680675 - 61600 0.0059652198 0.002390112 0.0052795153 - 61700 0.0052771229 0.0026384214 0.0051945278 - 61800 0.0053741127 0.0027089185 0.0053120043 - 61900 0.004194665 0.0025417051 0.004573496 - 62000 0.0055512641 0.0022903635 0.0049792571 - 62100 0.0036711721 0.002286762 0.004064986 - 62200 0.0051575367 0.0022098016 0.0047079834 - 62300 0.0063992682 0.0026185075 0.0057181531 - 62400 0.0048267437 0.0034547814 0.0057927354 - 62500 0.0052452969 0.0030296057 0.0055702964 - 62600 0.0055306378 0.0026198443 0.005298747 - 62700 0.0061692352 0.002705465 0.0056936883 - 62800 0.0039775361 0.0025686951 0.0044953142 - 62900 0.0050395494 0.0027264043 0.0051674361 - 63000 0.0042250592 0.0026460156 0.0046925287 - 63100 0.0069409293 0.002427531 0.0057895437 - 63200 0.0040096476 0.0028749921 0.0048171651 - 63300 0.0042946451 0.0029661691 0.0050463878 - 63400 0.0051014173 0.0027802312 0.0052512302 - 63500 0.0056054677 0.0028154461 0.0055305945 - 63600 0.0052449525 0.0028559522 0.005396476 - 63700 0.0033595984 0.0026309727 0.0042582782 - 63800 0.0047839734 0.0023940687 0.0047113058 - 63900 0.0044410395 0.0021801679 0.0043312964 - 64000 0.0055577161 0.0027829926 0.0054750113 - 64100 0.004048642 0.0028515993 0.0048126603 - 64200 0.0044841913 0.0026711683 0.0048431985 - 64300 0.0047136338 0.0022843925 0.0045675589 - 64400 0.0049709033 0.0025534181 0.0049611994 - 64500 0.0047805405 0.0030334391 0.0053490134 - 64600 0.0057422735 0.0036739468 0.0064553605 - 64700 0.0061023866 0.0037429091 0.0066987526 - 64800 0.0048404033 0.0031406146 0.0054851849 - 64900 0.0040186357 0.0031754299 0.0051219566 - 65000 0.0057484996 0.0026695165 0.005453946 - 65100 0.006219253 0.0025334997 0.0055459503 - 65200 0.0047424095 0.0027193037 0.0050164083 - 65300 0.0053205035 0.0026214206 0.0051985395 - 65400 0.0043465598 0.0028623895 0.0049677544 - 65500 0.0038907909 0.0032448815 0.0051294834 - 65600 0.0048670438 0.0025113118 0.0048687861 - 65700 0.0073689169 0.0020844691 0.0056537882 - 65800 0.0039196302 0.0026456796 0.0045442505 - 65900 0.0055500851 0.0030361829 0.0057245054 - 66000 0.0045567352 0.0034902943 0.005697463 - 66100 0.0074516027 0.0033760203 0.0069853903 - 66200 0.0065781665 0.0030425231 0.0062288225 - 66300 0.004619924 0.0029103623 0.005148138 - 66400 0.0040646631 0.002963337 0.0049321583 - 66500 0.0045000401 0.0028953359 0.0050750429 - 66600 0.0051483879 0.0031211333 0.0056148837 - 66700 0.0040349733 0.0031688416 0.0051232818 - 66800 0.0048868605 0.003276955 0.0056440281 - 66900 0.0067859836 0.0035137595 0.0068007203 - 67000 0.0058265386 0.0034412575 0.0062634871 - 67100 0.0052633353 0.0034055609 0.0059549889 - 67200 0.0064284956 0.0032394384 0.0063532409 - 67300 0.0027000434 0.0035506332 0.0048584668 - 67400 0.0050159624 0.0028996921 0.0053292989 - 67500 0.0049480369 0.0020429813 0.0044396867 - 67600 0.0054561308 0.0018739843 0.0045167977 - 67700 0.0051401736 0.002447023 0.0049367946 - 67800 0.0054504276 0.0025875138 0.0052275646 - 67900 0.0049973108 0.0027785558 0.0051991283 - 68000 0.0046135151 0.0025744134 0.0048090847 - 68100 0.0058902686 0.0025091051 0.0053622039 - 68200 0.006525741 0.00277525 0.0059361558 - 68300 0.0062333605 0.003294486 0.0063137701 - 68400 0.0038789664 0.0031190984 0.0049979727 - 68500 0.006344903 0.0027980168 0.0058713292 - 68600 0.0059552753 0.0029377461 0.0058223326 - 68700 0.006534808 0.0024723211 0.0056376187 - 68800 0.0049830423 0.0026495847 0.0050632458 - 68900 0.0055194895 0.0026376665 0.0053111693 - 69000 0.005248464 0.0027441409 0.0052863656 - 69100 0.00610038 0.0025242272 0.0054790988 - 69200 0.0056081198 0.002615829 0.005332262 - 69300 0.0046932551 0.0031978213 0.0054711167 - 69400 0.0044797368 0.0033121118 0.0054819843 - 69500 0.0040834073 0.0027978938 0.0047757942 - 69600 0.0046264427 0.0024383867 0.0046793199 - 69700 0.0057525135 0.0024217076 0.0052080813 - 69800 0.0035937948 0.0030663858 0.0048071302 - 69900 0.0063268299 0.0031536224 0.0062181806 - 70000 0.0050163574 0.0031688775 0.0055986757 - 70100 0.0065569871 0.0026073082 0.0057833488 - 70200 0.006758981 0.0028884486 0.00616233 - 70300 0.0052551484 0.0029803949 0.0055258574 - 70400 0.0039765128 0.0021870199 0.0041131433 - 70500 0.0033767572 0.0022690098 0.0039046266 - 70600 0.0043322512 0.0028274575 0.0049258917 - 70700 0.0039618499 0.0026013424 0.0045203635 - 70800 0.0046505746 0.002561616 0.0048142381 - 70900 0.0049752977 0.0027637395 0.0051736494 - 71000 0.006268218 0.0025706371 0.0056068052 - 71100 0.0050346124 0.0027204481 0.0051590885 - 71200 0.0037601067 0.0027686558 0.0045899575 - 71300 0.0035681459 0.0023250873 0.0040534079 - 71400 0.0060254663 0.001740141 0.0046587262 - 71500 0.0050622254 0.0022541539 0.0047061694 - 71600 0.0048347187 0.0022714046 0.0046132215 - 71700 0.0055556574 0.0023434464 0.005034468 - 71800 0.0053445551 0.0027155957 0.0053043646 - 71900 0.0079132467 0.0027812266 0.0066142054 - 72000 0.0054146716 0.0027339743 0.0053567058 - 72100 0.0047148006 0.0025977096 0.0048814412 - 72200 0.0050282558 0.0021100138 0.0045455752 - 72300 0.0062543109 0.0019785708 0.0050080026 - 72400 0.0072896671 0.0020219907 0.0055529232 - 72500 0.0046146006 0.0024291039 0.0046643011 - 72600 0.0069708546 0.0022660823 0.00564259 - 72700 0.0054515937 0.0025579627 0.0051985784 - 72800 0.0046026466 0.0027741876 0.0050035946 - 72900 0.0064497579 0.0030699937 0.0061940952 - 73000 0.0039078342 0.0030667562 0.0049596133 - 73100 0.00561605 0.0027168376 0.0054371118 - 73200 0.0068059247 0.0029699092 0.006266529 - 73300 0.005497213 0.0028514874 0.0055141999 - 73400 0.0049823935 0.0028217111 0.005235058 - 73500 0.0057119756 0.0024973709 0.0052641091 - 73600 0.0046997505 0.0020906123 0.0043670539 - 73700 0.0050232687 0.0020640359 0.0044971816 - 73800 0.0041944443 0.0022356183 0.0042673022 - 73900 0.0045972572 0.0023048966 0.004531693 - 74000 0.0047054619 0.0019601751 0.0042393832 - 74100 0.0042026724 0.0022902352 0.0043259047 - 74200 0.0059282033 0.0025191425 0.0053906159 - 74300 0.005877514 0.0029029143 0.0057498351 - 74400 0.0069952655 0.0034254568 0.0068137885 - 74500 0.0070912842 0.0039348173 0.0073696581 - 74600 0.0050307689 0.0036515215 0.0060883002 - 74700 0.0047360866 0.0033218963 0.0056159383 - 74800 0.0053356726 0.0036256723 0.0062101387 - 74900 0.006863753 0.0031790434 0.0065036738 - 75000 0.005580115 0.0027386146 0.0054414829 - 75100 0.0078636186 0.0026344761 0.0064434164 - 75200 0.0040973716 0.0025574235 0.0045420879 - 75300 0.0054074111 0.0026065051 0.0052257198 - 75400 0.005254965 0.0028002385 0.0053456122 - 75500 0.0044720107 0.0028930439 0.0050591741 - 75600 0.0060863331 0.0026520671 0.0056001347 - 75700 0.0066099709 0.0027123812 0.0059140858 - 75800 0.0038365247 0.0024724153 0.0043307319 - 75900 0.005075693 0.0025125634 0.0049711022 - 76000 0.0054433305 0.0026148583 0.0052514715 - 76100 0.0051580329 0.0029510855 0.0054495077 - 76200 0.0057161531 0.0026737724 0.0054425341 - 76300 0.0043657759 0.0027971583 0.004911831 - 76400 0.0034616864 0.0026831546 0.0043599089 - 76500 0.004966147 0.0021238462 0.0045293237 - 76600 0.0051730714 0.0018829864 0.0043886929 - 76700 0.0044397151 0.0020428068 0.0041932937 - 76800 0.0039450716 0.0022134128 0.0041243069 - 76900 0.0036250139 0.0021532973 0.0039091634 - 77000 0.0040164772 0.0024830857 0.0044285669 - 77100 0.0046688773 0.00263704 0.0048985274 - 77200 0.0064065334 0.0021917237 0.0052948883 - 77300 0.0058595336 0.0020535165 0.004891728 - 77400 0.0048718733 0.002122692 0.0044825057 - 77500 0.0060504111 0.0023263985 0.0052570664 - 77600 0.0065032321 0.0024305826 0.0055805856 - 77700 0.0056393474 0.002711323 0.0054428819 - 77800 0.0030755162 0.002956813 0.0044465161 - 77900 0.0057298975 0.0021610632 0.0049364823 - 78000 0.0045418424 0.002100903 0.0043008579 - 78100 0.0049140678 0.0019305455 0.0043107971 - 78200 0.0041294307 0.0020458946 0.0040460875 - 78300 0.0052952164 0.0023708202 0.0049356906 - 78400 0.004457679 0.0026233814 0.0047825697 - 78500 0.0070009253 0.0021412988 0.005532372 - 78600 0.0061236104 0.0023672944 0.0053334182 - 78700 0.0053717833 0.0025820229 0.0051839805 - 78800 0.0060639382 0.0021566479 0.005093868 - 78900 0.0041250294 0.0021847706 0.0041828317 - 79000 0.005706545 0.002315735 0.0050798427 - 79100 0.0042556826 0.0024410485 0.0045023948 - 79200 0.0059974474 0.0021755407 0.0050805543 - 79300 0.0055114287 0.0020889466 0.0047585449 - 79400 0.0055983464 0.0021016464 0.0048133455 - 79500 0.0082437534 0.0021285658 0.0061216339 - 79600 0.0050465926 0.0021368629 0.0045813062 - 79700 0.0069452511 0.0018334751 0.0051975811 - 79800 0.0056488933 0.0024177836 0.0051539663 - 79900 0.0052280726 0.0030449064 0.0055772541 - 80000 0.0041110439 0.0032288172 0.0052201041 - 80100 0.0057369848 0.00272939 0.005508242 - 80200 0.0053777867 0.0028405433 0.0054454087 - 80300 0.0046586072 0.00315523 0.0054117429 - 80400 0.0051137896 0.0029395986 0.0054165905 - 80500 0.0059399739 0.0029858116 0.0058629865 - 80600 0.0048061983 0.0032012276 0.0055292299 - 80700 0.0051087799 0.0028180944 0.0052926596 - 80800 0.0048093725 0.0027996258 0.0051291657 - 80900 0.0049792769 0.0020527068 0.004464544 - 81000 0.0049096707 0.0024235204 0.0048016421 - 81100 0.0059262559 0.0025178365 0.0053883667 - 81200 0.0051276429 0.0027750924 0.0052587944 - 81300 0.0054372475 0.0028985058 0.0055321726 - 81400 0.0057780692 0.0025358419 0.0053345942 - 81500 0.0041024598 0.0028027443 0.0047898733 - 81600 0.0045601815 0.0025630314 0.0047718693 - 81700 0.0063894925 0.0021932971 0.0052882075 - 81800 0.0064732463 0.0018812447 0.0050167234 - 81900 0.0066474483 0.0017587537 0.0049786115 - 82000 0.004917615 0.001924415 0.0043063847 - 82100 0.004489754 0.0019222251 0.0040969497 - 82200 0.0056075768 0.0025398812 0.0052560512 - 82300 0.0059249982 0.0026874967 0.0055574177 - 82400 0.0048363982 0.0023776424 0.0047202728 - 82500 0.0052834032 0.0026662934 0.0052254418 - 82600 0.0057631869 0.0029563341 0.0057478778 - 82700 0.0050851893 0.0030043059 0.0054674445 - 82800 0.0041206627 0.0034284014 0.0054243474 - 82900 0.0035620119 0.0030847655 0.004810115 - 83000 0.0041407295 0.0029260086 0.0049316745 - 83100 0.0054412358 0.0030196489 0.0056552475 - 83200 0.004583473 0.0032571778 0.0054772976 - 83300 0.0055113619 0.0023589494 0.0050285153 - 83400 0.0069174692 0.0017824873 0.0051331364 - 83500 0.0061866193 0.0016827484 0.0046793921 - 83600 0.004353602 0.0019381363 0.0040469122 - 83700 0.0050190239 0.0018789372 0.0043100269 - 83800 0.0041536901 0.0021615758 0.0041735194 - 83900 0.0059183519 0.0021545118 0.0050212134 - 84000 0.0037340364 0.0024722566 0.0042809305 - 84100 0.0050033916 0.0026976825 0.0051212003 - 84200 0.0048944916 0.0024718609 0.0048426303 - 84300 0.0042001892 0.0021077311 0.0041421977 - 84400 0.0049456355 0.0015073227 0.0039028649 - 84500 0.0044720662 0.001611771 0.0037779281 - 84600 0.0052346177 0.0015177681 0.004053286 - 84700 0.0045013366 0.0017618261 0.003942161 - 84800 0.0049107432 0.0013961452 0.0037747864 - 84900 0.0043488879 0.0013498269 0.0034563195 - 85000 0.0064998215 0.0020456528 0.0051940038 - 85100 0.0048853371 0.0021624427 0.0045287779 - 85200 0.0045485871 0.0018881244 0.0040913463 - 85300 0.0050653798 0.0020477097 0.0045012531 - 85400 0.0049699322 0.0023741228 0.0047814337 - 85500 0.0045490788 0.0023015527 0.0045050128 - 85600 0.0060800789 0.0020008583 0.0049458965 - 85700 0.0059808413 0.0020764162 0.0049733862 - 85800 0.0052986641 0.0021173971 0.0046839375 - 85900 0.0057675585 0.0019953221 0.0047889832 - 86000 0.0039523946 0.0022732048 0.0041876459 - 86100 0.0050423764 0.0026499257 0.0050923268 - 86200 0.003318581 0.0023325784 0.0039400161 - 86300 0.0059300665 0.0019402382 0.0048126141 - 86400 0.0070320099 0.001944154 0.0053502838 - 86500 0.0052833995 0.0024706684 0.0050298151 - 86600 0.0055891057 0.0025374932 0.0052447163 - 86700 0.0057373949 0.0022411441 0.0050201947 - 86800 0.0056764233 0.0021929884 0.0049425059 - 86900 0.004803751 0.0021964892 0.0045233061 - 87000 0.0052359699 0.0020543494 0.0045905223 - 87100 0.0046570125 0.001713431 0.0039691714 - 87200 0.0051248727 0.001336361 0.0038187212 - 87300 0.0047000868 0.0015192696 0.0037958742 - 87400 0.004118889 0.0015514147 0.0035465016 - 87500 0.005870272 0.001753756 0.004597169 - 87600 0.0044572848 0.0018585281 0.0040175254 - 87700 0.0041683219 0.0016429101 0.0036619411 - 87800 0.0058514031 0.0019633765 0.0047976499 - 87900 0.0061125854 0.0022856206 0.0052464042 - 88000 0.0066943363 0.0021441552 0.0053867243 - 88100 0.0039254348 0.002316744 0.0042181265 - 88200 0.0068588709 0.0024739218 0.0057961873 - 88300 0.0069057205 0.002288677 0.0056336354 - 88400 0.0054266107 0.0022548597 0.0048833742 - 88500 0.0052064282 0.0020090861 0.0045309498 - 88600 0.0052768536 0.0019089121 0.0044648881 - 88700 0.0042445073 0.0021549179 0.0042108511 - 88800 0.0062812522 0.001799475 0.0048419565 - 88900 0.0059142482 0.0018745193 0.0047392332 - 89000 0.0043694972 0.0019744394 0.0040909146 - 89100 0.0052108663 0.0019301472 0.0044541606 - 89200 0.0057143594 0.0021044317 0.0048723246 - 89300 0.0043582991 0.0024466939 0.004557745 - 89400 0.0048023043 0.0020949795 0.0044210957 - 89500 0.004808124 0.0019284386 0.0042573737 - 89600 0.00476397 0.001930445 0.0042379929 - 89700 0.004604502 0.002337612 0.0045679177 - 89800 0.0057879007 0.0022949631 0.0050984775 - 89900 0.0052946831 0.0024925967 0.0050572089 - 90000 0.0055378441 0.0024039415 0.0050863348 - 90100 0.0058684269 0.002880647 0.0057231663 - 90200 0.005552366 0.0032169118 0.0059063391 - 90300 0.0053845858 0.0031744294 0.0057825882 - 90400 0.0075823295 0.00265476 0.0063274508 - 90500 0.006822235 0.0021741833 0.0054787034 - 90600 0.0057406108 0.0018564442 0.0046370525 - 90700 0.0061929261 0.0022094774 0.005209176 - 90800 0.0050952982 0.0023266713 0.0047947064 - 90900 0.0039625948 0.0023297199 0.0042491018 - 91000 0.0063407759 0.0021713965 0.0052427099 - 91100 0.0052086163 0.0020914303 0.0046143538 - 91200 0.0054182748 0.0015990891 0.0042235659 - 91300 0.0057321371 0.0016774485 0.0044539524 - 91400 0.0050441742 0.0020159357 0.0044592076 - 91500 0.0037670303 0.002371835 0.0041964903 - 91600 0.0049966484 0.0026391458 0.0050593974 - 91700 0.0047454346 0.0027592353 0.0050578052 - 91800 0.0053011709 0.0024995523 0.005067307 - 91900 0.0056618924 0.0021128378 0.004855317 - 92000 0.0062095965 0.0024252744 0.0054330477 - 92100 0.0063171116 0.0025200663 0.0055799172 - 92200 0.0056119567 0.0017711912 0.0044894827 - 92300 0.0058378255 0.0019380853 0.0047657821 - 92400 0.0042336652 0.0018008081 0.0038514897 - 92500 0.0042370425 0.0022072158 0.0042595333 - 92600 0.0043235339 0.0024379119 0.0045321236 - 92700 0.0044879422 0.0024475679 0.0046214149 - 92800 0.0058834505 0.0023251113 0.0051749077 - 92900 0.005756043 0.0024066582 0.0051947415 - 93000 0.0044536031 0.0025373832 0.0046945972 - 93100 0.0051969383 0.0026852596 0.0052025266 - 93200 0.0037687496 0.002611426 0.0044369141 - 93300 0.0058500822 0.0021886453 0.0050222788 - 93400 0.0046393328 0.0022539185 0.0045010953 - 93500 0.0060990277 0.0020735348 0.0050277514 - 93600 0.0057903995 0.0022677422 0.0050724669 - 93700 0.004039946 0.0024796678 0.0044365166 - 93800 0.0040127246 0.0026040197 0.0045476832 - 93900 0.0055350421 0.0021933771 0.0048744131 - 94000 0.0058327734 0.0018346472 0.0046598968 - 94100 0.0070996451 0.0025435671 0.0059824577 - 94200 0.0050671066 0.0034214701 0.0058758499 - 94300 0.0043795491 0.002999433 0.0051207771 - 94400 0.0052674244 0.0026593973 0.005210806 - 94500 0.0051818237 0.0030455114 0.0055554573 - 94600 0.0065697865 0.0024956948 0.0056779351 - 94700 0.0070094641 0.0024252992 0.0058205083 - 94800 0.0054917442 0.0027604714 0.005420535 - 94900 0.0066119691 0.0028869362 0.0060896087 - 95000 0.0056385088 0.0029829856 0.0057141383 - 95100 0.0050993484 0.0028679566 0.0053379534 - 95200 0.0058858168 0.0022729168 0.0051238593 - 95300 0.0062965949 0.0018579187 0.0049078318 - 95400 0.0044611397 0.0020835659 0.0042444305 - 95500 0.0063304895 0.0022082517 0.0052745825 - 95600 0.005184073 0.0021347568 0.0046457922 - 95700 0.0048956427 0.0020223769 0.0043937039 - 95800 0.0046100111 0.0021281529 0.004361127 - 95900 0.0032666395 0.0018612349 0.0034435134 - 96000 0.0060483222 0.0014379132 0.0043675693 - 96100 0.0041513227 0.0017725748 0.0037833718 - 96200 0.0045880407 0.0019493675 0.0041716997 - 96300 0.0059601324 0.0019194048 0.0048063439 - 96400 0.0043881156 0.0022762073 0.0044017007 - 96500 0.0041805335 0.0022317369 0.0042566828 - 96600 0.004881105 0.0023583859 0.0047226711 - 96700 0.0052846465 0.0022912902 0.0048510409 - 96800 0.0047966695 0.0020744338 0.0043978206 - 96900 0.0050533015 0.0021496448 0.0045973377 - 97000 0.0045114593 0.0025112984 0.0046965365 - 97100 0.0054643775 0.0026864011 0.005333209 - 97200 0.0043249951 0.0025447095 0.004639629 - 97300 0.0066926436 0.0020899918 0.005331741 - 97400 0.0058913938 0.0016239444 0.0044775882 - 97500 0.0053658761 0.0021217711 0.0047208673 - 97600 0.0036553349 0.0025763458 0.0043468986 - 97700 0.0043394248 0.002288061 0.0043899699 - 97800 0.0056212435 0.0018992525 0.0046220423 - 97900 0.0054798177 0.0021919399 0.0048462266 - 98000 0.0049509021 0.0019962544 0.0043943476 - 98100 0.0042790442 0.0018627951 0.0039354571 - 98200 0.0037401669 0.0017788287 0.003590472 - 98300 0.0068480188 0.0015246766 0.0048416857 - 98400 0.0039201126 0.0017635201 0.0036623246 - 98500 0.0054968742 0.0016443104 0.0043068588 - 98600 0.0041370186 0.0019667231 0.0039705915 - 98700 0.0052825266 0.0026388381 0.0051975619 - 98800 0.0040041632 0.0028434737 0.0047829903 - 98900 0.0065165253 0.0023111822 0.0054676242 - 99000 0.0064681397 0.0020668099 0.0051998151 - 99100 0.0063149096 0.0019019507 0.004960735 - 99200 0.0049314203 0.0019410197 0.0043296764 - 99300 0.0046497177 0.0023414394 0.0045936464 - 99400 0.0038879343 0.0022197012 0.0041029194 - 99500 0.0050567291 0.0021887068 0.00463806 - 99600 0.005655471 0.0022006669 0.0049400357 - 99700 0.0048840573 0.0021113179 0.0044770331 - 99800 0.005823411 0.0021126246 0.0049333393 - 99900 0.0047618653 0.0021259239 0.0044324524 - 100000 0.007696203 0.0024388401 0.0061666884 - 100100 0.0073106081 0.0023243372 0.005865413 - 100200 0.006016061 0.0029521521 0.0058661816 - 100300 0.0055273814 0.0031697806 0.005847106 - 100400 0.0053392471 0.0034314149 0.0060176127 - 100500 0.0062960647 0.0031182896 0.0061679459 - 100600 0.0070199816 0.002492006 0.0058923096 - 100700 0.0051043528 0.002902067 0.0053744879 - 100800 0.0038326997 0.0026239068 0.0044803707 - 100900 0.0057151104 0.0019074322 0.0046756888 - 101000 0.0057532049 0.0016153895 0.0044020982 - 101100 0.0040796154 0.001817895 0.0037939587 - 101200 0.0047624823 0.0019289102 0.0042357376 - 101300 0.0051036634 0.0018719042 0.0043439911 - 101400 0.0065753722 0.0015822094 0.0047671553 - 101500 0.0039828229 0.0020203059 0.0039494858 - 101600 0.0046735947 0.0018433764 0.0041071488 - 101700 0.0049722882 0.0019188186 0.0043272707 - 101800 0.0048222828 0.0023774593 0.0047132525 - 101900 0.0054160514 0.0025370853 0.0051604852 - 102000 0.0048117095 0.0024001219 0.0047307937 - 102100 0.0046555088 0.0022769933 0.0045320054 - 102200 0.0066544461 0.0022551433 0.0054783906 - 102300 0.0047551273 0.0020009904 0.0043042552 - 102400 0.0054685518 0.0018656486 0.0045144783 - 102500 0.0059973091 0.0016290337 0.0045339803 - 102600 0.0039780027 0.0017456321 0.0036724772 - 102700 0.0042633081 0.0020866242 0.0041516641 - 102800 0.0031365937 0.0026861296 0.0042054172 - 102900 0.0050579011 0.0024823838 0.0049323047 - 103000 0.0046816361 0.0026508931 0.0049185606 - 103100 0.0056716538 0.0029522162 0.0056994235 - 103200 0.0053933432 0.0033957726 0.0060081732 - 103300 0.0043404863 0.0030780057 0.0051804287 - 103400 0.0074855511 0.0021918547 0.0058176685 - 103500 0.0062016772 0.0020714767 0.0050754141 - 103600 0.0055218621 0.0026433814 0.0053180333 - 103700 0.0059561235 0.0028396713 0.0057246686 - 103800 0.0060169586 0.0032316614 0.0061461257 - 103900 0.0048927283 0.0033080421 0.0056779574 - 104000 0.0056498689 0.0029920653 0.0057287206 - 104100 0.0066860038 0.0022159582 0.0054544913 - 104200 0.0058035262 0.002343808 0.005154891 - 104300 0.0041835713 0.003347017 0.0053734343 - 104400 0.0057079552 0.0029430141 0.0057078049 - 104500 0.0059374467 0.002449276 0.0053252268 - 104600 0.0048214353 0.0018531817 0.0041885644 - 104700 0.0052779165 0.0017432416 0.0042997324 - 104800 0.0048858272 0.0018834502 0.0042500228 - 104900 0.0057512645 0.0016220764 0.0044078452 - 105000 0.0052988573 0.0021380146 0.0047046487 - 105100 0.0058832222 0.0019673084 0.0048169942 - 105200 0.0053475525 0.0019948531 0.0045850738 - 105300 0.0041397427 0.0020907945 0.0040959823 - 105400 0.0045790287 0.0020310304 0.0042489975 - 105500 0.0043722927 0.0021508461 0.0042686754 - 105600 0.0046067426 0.0024228679 0.0046542589 - 105700 0.005018148 0.002080523 0.0045111884 - 105800 0.0052749529 0.0022413182 0.0047963736 - 105900 0.0076960461 0.0024406842 0.0061684565 - 106000 0.0045639319 0.0026210451 0.0048316996 - 106100 0.0038509526 0.0024808189 0.0043461241 - 106200 0.0040054331 0.0021623439 0.0041024756 - 106300 0.0039114456 0.0021949342 0.0040895406 - 106400 0.0052278257 0.0024897576 0.0050219857 - 106500 0.0045390508 0.0025443522 0.004742955 - 106600 0.0061024335 0.0022728907 0.0052287569 - 106700 0.0051527587 0.0024614051 0.0049572726 - 106800 0.0052183827 0.0026997783 0.0052274324 - 106900 0.0056088639 0.0023585648 0.0050753583 - 107000 0.0046101111 0.0024816484 0.004714671 - 107100 0.0044679439 0.0022694233 0.0044335836 - 107200 0.0045860203 0.0019392897 0.0041606432 - 107300 0.0058802136 0.0019804881 0.0048287166 - 107400 0.0049646531 0.002064715 0.0044694688 - 107500 0.0052613236 0.0023954167 0.0049438703 - 107600 0.0043194571 0.0024957442 0.0045879813 - 107700 0.0066364807 0.0028354197 0.006049965 - 107800 0.0042517261 0.0025732018 0.0046326316 - 107900 0.00524204 0.0019576809 0.004496794 - 108000 0.0050961112 0.0018965904 0.0043650192 - 108100 0.0067936578 0.0019144154 0.0052050934 - 108200 0.0053161285 0.0022588286 0.0048338283 - 108300 0.0045306332 0.0026376774 0.0048322028 - 108400 0.0063826772 0.0024520193 0.0055436286 - 108500 0.0046676579 0.002490945 0.0047518418 - 108600 0.0051416199 0.0021937019 0.004684174 - 108700 0.0064869086 0.0016906363 0.0048327326 - 108800 0.0040160856 0.0020567216 0.004002013 - 108900 0.0035565191 0.0023242864 0.0040469753 - 109000 0.0036516065 0.0022500229 0.0040187698 - 109100 0.0037524697 0.0018657768 0.0036833793 - 109200 0.0036620517 0.0017786876 0.0035524939 - 109300 0.0043601873 0.0017838727 0.0038958384 - 109400 0.0054085444 0.0023048718 0.0049246355 - 109500 0.0074864336 0.0021898475 0.0058160887 - 109600 0.0066111758 0.0024873854 0.0056896737 - 109700 0.0045604734 0.0027053979 0.0049143772 - 109800 0.0039595043 0.0024113819 0.0043292668 - 109900 0.0047338973 0.0021033612 0.0043963427 - 110000 0.0056269506 0.002674601 0.0054001552 - 110100 0.0036531246 0.0032054268 0.0049749091 - 110200 0.0048667259 0.0030104597 0.0053677801 - 110300 0.006168454 0.0030602215 0.0060480664 - 110400 0.0041761191 0.0030911546 0.0051139623 - 110500 0.0059090568 0.002598239 0.0054604384 - 110600 0.0045375909 0.0022431194 0.004441015 - 110700 0.0057696608 0.0023805379 0.0051752173 - 110800 0.0046650742 0.0030865629 0.0053462082 - 110900 0.0043046474 0.002795159 0.0048802226 - 111000 0.0042240019 0.0021821467 0.0042281476 - 111100 0.0048321444 0.0019847152 0.0043252851 - 111200 0.0050803984 0.002198103 0.004658921 - 111300 0.0064427053 0.0022849608 0.0054056462 - 111400 0.0035957555 0.0021962891 0.0039379832 - 111500 0.006515365 0.0021400543 0.0052959342 - 111600 0.0074862529 0.0028302675 0.0064564212 - 111700 0.0058507754 0.0031502207 0.00598419 - 111800 0.0035653772 0.0028608031 0.0045877827 - 111900 0.0059250528 0.002726309 0.0055962564 - 112000 0.0058440437 0.0029221579 0.0057528666 - 112100 0.00482355 0.0028232538 0.0051596609 - 112200 0.0070596595 0.0025463696 0.0059658922 - 112300 0.0045960365 0.0022749048 0.00450111 - 112400 0.0056799328 0.0022098531 0.0049610706 - 112500 0.0054811811 0.0022190694 0.0048740165 - 112600 0.0045042898 0.00268168 0.0048634454 - 112700 0.0062558009 0.0029466832 0.0059768368 - 112800 0.0049366105 0.0029908095 0.0053819803 - 112900 0.0066481338 0.0027347409 0.0059549307 - 113000 0.0052279053 0.0027963475 0.0053286141 - 113100 0.0042225202 0.003162054 0.0052073373 - 113200 0.0040749023 0.0027371589 0.0047109397 - 113300 0.0048998505 0.0021637767 0.0045371418 - 113400 0.00352536 0.0017261671 0.0034337633 - 113500 0.0029015566 0.0017978024 0.0032032439 - 113600 0.0038776359 0.0019394359 0.0038176658 - 113700 0.0051849841 0.0019772248 0.0044887015 - 113800 0.0058124854 0.0017174622 0.0045328848 - 113900 0.0037047808 0.0017787627 0.0035732659 - 114000 0.0041666284 0.0020308384 0.004049049 - 114100 0.0061662468 0.002638101 0.0056248768 - 114200 0.004304001 0.0026532178 0.0047379682 - 114300 0.0050490776 0.0022522054 0.0046978523 - 114400 0.0056884414 0.002042042 0.0047973808 - 114500 0.0052554417 0.0020783942 0.0046239988 - 114600 0.0038518772 0.0026483718 0.0045141249 - 114700 0.0051543718 0.0029475245 0.0054441733 - 114800 0.0058737052 0.0029875361 0.0058326121 - 114900 0.0041440283 0.0023984051 0.0044056687 - 115000 0.0051027808 0.0022201759 0.0046918354 - 115100 0.0034641834 0.0023163688 0.0039943326 - 115200 0.0061293381 0.0024178044 0.0053867025 - 115300 0.0053766092 0.0020885186 0.0046928137 - 115400 0.0034780508 0.0021764521 0.0038611329 - 115500 0.0048067076 0.0023054965 0.0046337455 - 115600 0.0054101573 0.00237602 0.004996565 - 115700 0.0044630353 0.0022184252 0.0043802079 - 115800 0.0045209922 0.0018593802 0.0040492358 - 115900 0.0038611647 0.002162646 0.0040328977 - 116000 0.004944749 0.0025678436 0.0049629563 - 116100 0.0051720362 0.0029651205 0.0054703255 - 116200 0.00689407 0.0026147194 0.0059540346 - 116300 0.0054057159 0.0028143039 0.0054326975 - 116400 0.0057806459 0.0029415951 0.0057415955 - 116500 0.005766428 0.0023509824 0.0051440959 - 116600 0.0051498164 0.0018616126 0.0043560549 - 116700 0.0051476664 0.0022472774 0.0047406783 - 116800 0.0063542739 0.0024037036 0.005481555 - 116900 0.0057602129 0.0025620152 0.0053521184 - 117000 0.0054987673 0.0021147012 0.0047781666 - 117100 0.0052519826 0.0018913517 0.0044352807 - 117200 0.0045214673 0.0015938769 0.0037839626 - 117300 0.0046828548 0.0018861704 0.0041544282 - 117400 0.0044177668 0.002280712 0.0044205678 - 117500 0.0074609125 0.0024627621 0.0060766416 - 117600 0.0056408566 0.0027237603 0.0054560502 - 117700 0.0061117954 0.0021693105 0.0051297114 - 117800 0.0055664488 0.0023697025 0.0050659511 - 117900 0.0050747675 0.0024835866 0.0049416771 - 118000 0.0068481927 0.0023967767 0.0057138701 - 118100 0.0042235647 0.0025089998 0.0045547889 - 118200 0.003953235 0.002553726 0.0044685742 - 118300 0.0054646384 0.0027956747 0.005442609 - 118400 0.0050824794 0.0029863688 0.0054481948 - 118500 0.0054210026 0.0025003759 0.005126174 - 118600 0.0043803858 0.0029519831 0.0050737325 - 118700 0.0056351702 0.0028630059 0.0055925414 - 118800 0.0066681825 0.002437407 0.0056673079 - 118900 0.0055705813 0.0019361373 0.0046343876 - 119000 0.0042805896 0.0020391194 0.00411253 - 119100 0.0056592447 0.0026603383 0.005401535 - 119200 0.0051993665 0.0030146209 0.005533064 - 119300 0.0052828783 0.002805073 0.0053639672 - 119400 0.0059544946 0.0021309711 0.0050151794 - 119500 0.0056381361 0.002120532 0.0048515042 - 119600 0.0046777484 0.0020266262 0.0042924106 - 119700 0.0059582531 0.0021689571 0.005054986 - 119800 0.0061083063 0.0022955138 0.0052542247 - 119900 0.0044808404 0.0022726761 0.0044430832 - 120000 0.005586272 0.0026431059 0.0053489564 - 120100 0.0069725386 0.0025349201 0.0059122435 - 120200 0.005239046 0.0026784609 0.0052161239 - 120300 0.0035828465 0.0026037115 0.0043391528 - 120400 0.0048374798 0.0027079318 0.0050510861 - 120500 0.0062721365 0.0025611543 0.0055992204 - 120600 0.0043448161 0.00264874 0.0047532603 - 120700 0.0061063366 0.0020413566 0.0049991134 - 120800 0.0045121108 0.0022386167 0.0044241704 - 120900 0.003211123 0.0026053078 0.0041606955 - 121000 0.0044652744 0.0020954059 0.0042582732 - 121100 0.0055905388 0.0021312478 0.0048391651 - 121200 0.0059609496 0.002299694 0.005187029 - 121300 0.0058848236 0.0020347078 0.0048851692 - 121400 0.0038825674 0.0017813083 0.0036619269 - 121500 0.0052612828 0.0017220779 0.0042705117 - 121600 0.0049516632 0.0021784769 0.0045769388 - 121700 0.0045087736 0.0024613827 0.00464532 - 121800 0.0055802324 0.0021942805 0.0048972056 - 121900 0.0050904435 0.002520569 0.0049862526 - 122000 0.0060818097 0.0028956291 0.0058415056 - 122100 0.004955435 0.0025629837 0.0049632725 - 122200 0.0065624036 0.0024590743 0.0056377386 - 122300 0.0052915293 0.002316756 0.0048798405 - 122400 0.0061768745 0.0023721373 0.0053640609 - 122500 0.0071503935 0.0020375418 0.0055010136 - 122600 0.0058391142 0.0023298915 0.0051582124 - 122700 0.0055384253 0.0025179109 0.0052005856 - 122800 0.004922185 0.0022975915 0.0046817748 - 122900 0.0062145361 0.0018251859 0.0048353518 - 123000 0.0051446009 0.0019396813 0.0044315974 - 123100 0.005033431 0.0025734129 0.005011481 - 123200 0.0050837213 0.0032938548 0.0057562823 - 123300 0.0064502745 0.0031506704 0.0062750221 - 123400 0.004930603 0.0032083157 0.0055965765 - 123500 0.005579077 0.0028103192 0.0055126846 - 123600 0.0036742864 0.0028206076 0.00460034 - 123700 0.0055457877 0.0023946382 0.0050808791 - 123800 0.0066992709 0.0028619902 0.0061069496 - 123900 0.0055512535 0.003128291 0.0058171794 - 124000 0.0051873346 0.0024910731 0.0050036884 - 124100 0.0063742546 0.002077798 0.0051653276 - 124200 0.0070468958 0.0024365725 0.0058499126 - 124300 0.0040212963 0.0028721437 0.0048199591 - 124400 0.0056996044 0.0022874889 0.0050482348 - 124500 0.0050007059 0.0022836172 0.0047058342 - 124600 0.0066381217 0.0023507994 0.0055661396 - 124700 0.0045878966 0.0026262496 0.0048485121 - 124800 0.0041311011 0.003228213 0.0052292151 - 124900 0.0047211922 0.0027416919 0.0050285194 - 125000 0.0067181938 0.0020426993 0.0052968244 - 125100 0.0046811656 0.002124116 0.0043915555 - 125200 0.0063842025 0.0022294397 0.0053217878 - 125300 0.0048965277 0.0022377438 0.0046094993 - 125400 0.0035615968 0.0029051559 0.0046303043 - 125500 0.0058938775 0.0033189741 0.006173821 - 125600 0.0059156882 0.0030288852 0.0058942967 - 125700 0.0044481406 0.0027651789 0.004919747 - 125800 0.0050424118 0.0029785848 0.005421003 - 125900 0.0041718929 0.0029094986 0.0049302592 - 126000 0.0051708876 0.002787446 0.0052920947 - 126100 0.0045373432 0.0024920161 0.0046897917 - 126200 0.00578265 0.0024835149 0.0052844859 - 126300 0.0034767501 0.0024732559 0.0041573068 - 126400 0.0056102439 0.001927748 0.0046452099 - 126500 0.0055713772 0.0021818464 0.0048804822 - 126600 0.0042567305 0.00277519 0.0048370439 - 126700 0.0053931507 0.0029052193 0.0055175267 - 126800 0.0056438831 0.0028716506 0.0056054064 - 126900 0.005468644 0.0025559187 0.0052047932 - 127000 0.0048493901 0.0027848419 0.0051337652 - 127100 0.0061565307 0.0030662974 0.006048367 - 127200 0.0070176183 0.0030468032 0.006445962 - 127300 0.0058282552 0.0025238628 0.0053469239 - 127400 0.0063471689 0.00259904 0.00567345 - 127500 0.0057057753 0.0031367728 0.0059005077 - 127600 0.0056791759 0.0033984394 0.0061492902 - 127700 0.0051632474 0.0030074298 0.0055083777 - 127800 0.0076534247 0.0019689299 0.0056760575 - 127900 0.0075903554 0.0019104056 0.0055869839 - 128000 0.0049649457 0.0020599031 0.0044647987 - 128100 0.0052604523 0.0021126715 0.004660703 - 128200 0.00440192 0.0022472278 0.0043794078 - 128300 0.0050805988 0.0020540917 0.0045150068 - 128400 0.0047370458 0.0020113349 0.0043058414 - 128500 0.004362165 0.0023161298 0.0044290534 - 128600 0.0051177 0.0025994429 0.0050783289 - 128700 0.0061461819 0.0026905569 0.0056676138 - 128800 0.00593289 0.0028499342 0.0057236778 - 128900 0.0060278748 0.0024285885 0.0053483404 - 129000 0.0041100872 0.0025625362 0.0045533597 - 129100 0.0052959873 0.0027574793 0.0053227232 - 129200 0.0059443213 0.0023214797 0.0052007603 - 129300 0.0040543032 0.00269661 0.0046604131 - 129400 0.0046175229 0.0024916497 0.0047282624 - 129500 0.0048136754 0.0028084895 0.0051401135 - 129600 0.0028513253 0.0033409943 0.004722105 - 129700 0.0047955687 0.0027549778 0.0050778314 - 129800 0.0047586562 0.0020609534 0.0043659275 - 129900 0.0054215136 0.0018842388 0.0045102844 - 130000 0.0062627092 0.0020731162 0.005106616 - 130100 0.0051958703 0.0026240978 0.0051408475 - 130200 0.0052627168 0.0024846778 0.0050338063 - 130300 0.0045012577 0.002389936 0.0045702327 - 130400 0.0066390792 0.0022602413 0.0054760453 - 130500 0.0049662946 0.0025500829 0.0049556319 - 130600 0.0050060477 0.0027712711 0.0051960754 - 130700 0.00572121 0.0025719353 0.0053431464 - 130800 0.0046974207 0.0028413186 0.0051166318 - 130900 0.0056757871 0.0027935027 0.0055427121 - 131000 0.0059115566 0.002712697 0.0055761072 - 131100 0.0058740958 0.0022982408 0.005143506 - 131200 0.0044974806 0.0023774641 0.0045559312 - 131300 0.0045800058 0.0025689254 0.0047873657 - 131400 0.0056834525 0.0029619575 0.0057148798 - 131500 0.0046631825 0.0031582242 0.0054169533 - 131600 0.0058674328 0.0026092811 0.0054513188 - 131700 0.005347855 0.0023478025 0.0049381697 - 131800 0.0040916227 0.0020894628 0.0040713426 - 131900 0.0054778529 0.0018078835 0.0044612185 - 132000 0.0040909488 0.0021097034 0.0040912567 - 132100 0.004968684 0.0020752518 0.0044819582 - 132200 0.0047008895 0.0018997441 0.0041767374 - 132300 0.0051219925 0.002124006 0.0046049711 - 132400 0.0029927443 0.0022202672 0.0036698777 - 132500 0.0062934079 0.0020373737 0.0050857431 - 132600 0.0059057473 0.002004911 0.0048655073 - 132700 0.0054848535 0.0024189325 0.0050756584 - 132800 0.0049497118 0.0030761345 0.0054736512 - 132900 0.0060071004 0.0024503953 0.0053600846 - 133000 0.006063228 0.0019646295 0.0049015056 - 133100 0.0040063655 0.0025435752 0.0044841585 - 133200 0.0065750003 0.0028405289 0.0060252947 - 133300 0.0058067939 0.0031386337 0.0059512995 - 133400 0.0066559606 0.0027113969 0.0059353778 - 133500 0.0038450659 0.00221617 0.0040786238 - 133600 0.0056503038 0.0020836055 0.0048204714 - 133700 0.0046146841 0.0023213839 0.0045566216 - 133800 0.0045373707 0.0023564923 0.0045542812 - 133900 0.0048099217 0.0026987664 0.0050285723 - 134000 0.0053884792 0.0027682068 0.0053782514 - 134100 0.0062308953 0.0029554363 0.0059735263 - 134200 0.0056985904 0.0030222108 0.0057824655 - 134300 0.0034586671 0.003375087 0.0050503788 - 134400 0.0056563554 0.0030824737 0.0058222708 - 134500 0.0043856518 0.0029930593 0.0051173594 - 134600 0.0049009155 0.0032451473 0.0056190283 - 134700 0.0051442581 0.0033158062 0.0058075562 - 134800 0.0051442524 0.0032756692 0.0057674164 - 134900 0.004658872 0.0032892871 0.0055459282 - 135000 0.0053586994 0.0035369077 0.0061325278 - 135100 0.0055197609 0.003257191 0.0059308252 - 135200 0.0055811044 0.0030434867 0.0057468341 - 135300 0.0044441028 0.0031685312 0.0053211435 - 135400 0.0035533718 0.0027638989 0.0044850634 - 135500 0.005805911 0.0024396273 0.0052518654 - 135600 0.0045487175 0.0019475857 0.0041508707 - 135700 0.0041470552 0.0021127304 0.0041214603 - 135800 0.0047611845 0.002468967 0.0047751657 - 135900 0.0050767944 0.0027340037 0.005193076 - 136000 0.0048970377 0.0025228559 0.0048948585 - 136100 0.0059651074 0.0025362529 0.0054256018 - 136200 0.0041991551 0.0023371698 0.0043711356 - 136300 0.0063424191 0.0020084803 0.0050805895 - 136400 0.0042579555 0.002092712 0.0041551592 - 136500 0.006265943 0.0020801076 0.0051151737 - 136600 0.0049942562 0.0022305941 0.0046496869 - 136700 0.0056534345 0.0026953219 0.0054337042 - 136800 0.0055302327 0.0024611458 0.0051398523 - 136900 0.005975365 0.0019086862 0.0048030036 - 137000 0.0043744043 0.0022763343 0.0043951864 - 137100 0.0050144275 0.0025196852 0.0049485486 - 137200 0.0043714787 0.0023049478 0.0044223828 - 137300 0.0041946477 0.0021135551 0.0041453376 - 137400 0.0042185648 0.0023681816 0.0044115489 - 137500 0.005496559 0.0021891207 0.0048515165 - 137600 0.0041936411 0.0021033565 0.0041346514 - 137700 0.0049805828 0.0020122729 0.0044247427 - 137800 0.0038037327 0.0017927632 0.0036351962 - 137900 0.0049124267 0.0017033379 0.0040827945 - 138000 0.0043758127 0.0020785279 0.0041980622 - 138100 0.0056667732 0.0023714127 0.005116256 - 138200 0.0041246039 0.0022178694 0.0042157244 - 138300 0.0056451416 0.0019974971 0.0047318626 - 138400 0.0055119572 0.0017079461 0.0043778004 - 138500 0.0055075486 0.0020796613 0.0047473802 - 138600 0.0046743392 0.0022015344 0.0044656674 - 138700 0.0047707846 0.0021651892 0.004476038 - 138800 0.005304505 0.0025850164 0.005154386 - 138900 0.0043337924 0.0027784473 0.004877628 - 139000 0.0043623991 0.0025036672 0.0046167042 - 139100 0.004608583 0.0024286917 0.0046609741 - 139200 0.0048135512 0.0033003566 0.0056319204 - 139300 0.0054805599 0.0033301416 0.0059847878 - 139400 0.0042028378 0.0027178659 0.0047536155 - 139500 0.0044043451 0.0019977873 0.0041311419 - 139600 0.0048424859 0.0022821291 0.0046277082 - 139700 0.0062551406 0.0019294553 0.004959289 - 139800 0.0051915488 0.001832374 0.0043470305 - 139900 0.0049121661 0.0022556117 0.0046349422 - 140000 0.0045235999 0.0024629987 0.0046541175 - 140100 0.0050676825 0.0027743925 0.0052290512 - 140200 0.0073821926 0.0028178922 0.0063936417 - 140300 0.0052860239 0.0028341073 0.0053945252 - 140400 0.0064413543 0.0027307036 0.0058507345 - 140500 0.0050360424 0.0025924429 0.005031776 - 140600 0.0061859291 0.0023847305 0.00538104 - 140700 0.0065076809 0.0021052799 0.0052574378 - 140800 0.0047956367 0.0023749728 0.0046978593 - 140900 0.0073244499 0.0024139165 0.0059616969 - 141000 0.0044205127 0.0023799657 0.0045211516 - 141100 0.0051551949 0.0023011933 0.0047982408 - 141200 0.0052905842 0.0020279007 0.0045905274 - 141300 0.0041089305 0.001786607 0.0037768702 - 141400 0.0034866208 0.0019499329 0.0036387648 - 141500 0.0050545911 0.0019635877 0.0044119052 - 141600 0.005756048 0.0021824888 0.0049705745 - 141700 0.0049588215 0.0023978791 0.0047998083 - 141800 0.0057578448 0.0022673785 0.0050563346 - 141900 0.0050405481 0.0027058216 0.0051473371 - 142000 0.0046272214 0.0028562472 0.0050975575 - 142100 0.0044570694 0.0027280231 0.0048869161 - 142200 0.0069467632 0.0019940643 0.0053589028 - 142300 0.0045994605 0.001931807 0.0041596707 - 142400 0.0054041239 0.0020891157 0.0047067382 - 142500 0.0049300054 0.0024431095 0.0048310808 - 142600 0.0050131352 0.0024489808 0.0048772181 - 142700 0.0048672102 0.0023631343 0.0047206893 - 142800 0.0051326778 0.002794142 0.0052802828 - 142900 0.0053560719 0.0026083604 0.0052027077 - 143000 0.005599714 0.0025999276 0.0053122891 - 143100 0.0039117899 0.0023040853 0.0041988586 - 143200 0.0051584001 0.0022889875 0.0047875876 - 143300 0.0064411135 0.0026773848 0.0057972991 - 143400 0.0051558872 0.0029735879 0.0054709708 - 143500 0.0046394507 0.0028406391 0.005087873 - 143600 0.0042859102 0.002926405 0.0050023927 - 143700 0.0061690604 0.0029937245 0.0059818631 - 143800 0.003917043 0.002896098 0.0047934157 - 143900 0.0048680247 0.0029521148 0.0053100642 - 144000 0.0041163453 0.0029744737 0.0049683284 - 144100 0.0042369012 0.0023264242 0.0043786733 - 144200 0.0041434632 0.0024513983 0.0044583883 - 144300 0.0045265932 0.0023645957 0.0045571643 - 144400 0.0064452761 0.0023171252 0.0054390559 - 144500 0.0050201953 0.0029854517 0.0054171088 - 144600 0.0065017758 0.0034607356 0.0066100333 - 144700 0.0054259719 0.0031138693 0.0057420744 - 144800 0.0054103325 0.0027970467 0.0054176765 - 144900 0.0067084004 0.0024817036 0.005731085 - 145000 0.0067026941 0.0025945691 0.0058411866 - 145100 0.0048057835 0.0033560496 0.0056838509 - 145200 0.0045413099 0.0031222249 0.0053219219 - 145300 0.0041646006 0.00296848 0.0049857084 - 145400 0.0046490635 0.0029314585 0.0051833486 - 145500 0.0052566106 0.0031541388 0.0057003095 - 145600 0.0063179019 0.0030547471 0.0061149809 - 145700 0.0052922615 0.0026764387 0.0052398779 - 145800 0.0056831002 0.0025356996 0.0052884513 - 145900 0.0053312045 0.0024035209 0.0049858231 - 146000 0.0045855023 0.0023246479 0.0045457505 - 146100 0.0062503124 0.0025600011 0.0055874962 - 146200 0.0045591971 0.0023141248 0.0045224858 - 146300 0.004481118 0.0021588429 0.0043293844 - 146400 0.0054696099 0.002005789 0.0046551313 - 146500 0.0045938394 0.0020148029 0.0042399439 - 146600 0.0042479958 0.0023147482 0.0043723712 - 146700 0.0030578505 0.0024294713 0.0039106177 - 146800 0.0033832871 0.0019653841 0.0036041638 - 146900 0.0046161514 0.0018298665 0.0040658148 - 147000 0.0045288419 0.0018626625 0.0040563203 - 147100 0.0063009162 0.0017128736 0.0047648799 - 147200 0.0068037669 0.0016677784 0.004963353 - 147300 0.0044446367 0.0019195138 0.0040723847 - 147400 0.0047164853 0.0025261143 0.0048106619 - 147500 0.0049797033 0.0026090611 0.0050211048 - 147600 0.0048701452 0.0025958424 0.004954819 - 147700 0.0039382902 0.002775244 0.0046828534 - 147800 0.0068881798 0.0023115448 0.0056480069 - 147900 0.0057560178 0.0025356828 0.0053237539 - 148000 0.0037795347 0.0027412825 0.0045719947 - 148100 0.0049886603 0.0025711459 0.0049875282 - 148200 0.0054287608 0.002708267 0.005337823 - 148300 0.004795759 0.0026062378 0.0049291836 - 148400 0.005351881 0.0027086998 0.0053010171 - 148500 0.0044378564 0.0029363355 0.0050859222 - 148600 0.0040598016 0.0029548032 0.0049212696 - 148700 0.0042479132 0.0028292548 0.0048868378 - 148800 0.0050079853 0.0022032719 0.0046290148 - 148900 0.0049560196 0.0022388164 0.0046393884 - 149000 0.0053142859 0.0024087774 0.0049828846 - 149100 0.0043892665 0.002474407 0.0046004579 - 149200 0.0050040943 0.0025886343 0.0050124925 - 149300 0.003785899 0.0030963039 0.0049300987 - 149400 0.0046572747 0.0029329657 0.0051888331 - 149500 0.005182398 0.0022291726 0.0047393966 - 149600 0.0051034073 0.002645802 0.0051177649 - 149700 0.0062453156 0.0027451965 0.0057702713 - 149800 0.0040003697 0.0031180403 0.0050557194 - 149900 0.0052578932 0.0034325933 0.0059793853 - 150000 0.0055673012 0.0031025456 0.0057992071 - 150100 0.0042120305 0.0033666032 0.0054068055 - 150200 0.0047008151 0.0028921646 0.0051691219 - 150300 0.006436053 0.0021398593 0.0052573225 - 150400 0.0039478372 0.0021817371 0.0040939708 - 150500 0.0036672454 0.0021634299 0.0039397519 - 150600 0.0038281746 0.0022922422 0.0041465143 - 150700 0.0049741354 0.0024764518 0.0048857986 - 150800 0.0053414497 0.0028145888 0.0054018535 - 150900 0.0044913569 0.0029924045 0.0051679055 - 151000 0.0047310275 0.0028749769 0.0051665684 - 151100 0.0054432615 0.002923927 0.0055605067 - 151200 0.0044545471 0.0027202175 0.0048778888 - 151300 0.005200589 0.0026043818 0.0051234171 - 151400 0.0046763629 0.0024565223 0.0047216356 - 151500 0.0064746861 0.0022237364 0.0053599125 - 151600 0.0045998426 0.0024988315 0.0047268802 - 151700 0.0046772489 0.0026060623 0.0048716047 - 151800 0.0042034604 0.0022417296 0.0042777807 - 151900 0.0054320399 0.0020370203 0.0046681646 - 152000 0.0047593132 0.0021594689 0.0044647613 - 152100 0.0060243811 0.0018982484 0.004816308 - 152200 0.0057493286 0.00215867 0.0049435011 - 152300 0.006338288 0.0022354437 0.0053055519 - 152400 0.0049191092 0.0026941585 0.005076852 - 152500 0.0036713332 0.0027742011 0.0045525031 - 152600 0.0053815381 0.0024932392 0.0050999217 - 152700 0.0044817213 0.0019686182 0.0041394519 - 152800 0.0052429979 0.0018338469 0.004373424 - 152900 0.0055636332 0.002105456 0.0048003408 - 153000 0.0038718233 0.0024007181 0.0042761326 - 153100 0.0044198318 0.0027341842 0.0048750402 - 153200 0.004164547 0.0024886887 0.0045058911 - 153300 0.0066801176 0.0021850502 0.0054207322 - 153400 0.0066444838 0.0030123744 0.0062307963 - 153500 0.0046670883 0.0027962745 0.0050568954 - 153600 0.0050569859 0.0023953035 0.0048447811 - 153700 0.0056574767 0.0024891698 0.0052295101 - 153800 0.0052700823 0.0023535181 0.0049062142 - 153900 0.0051632144 0.0022715295 0.0047724615 - 154000 0.0042337596 0.0021679538 0.0042186811 - 154100 0.005491921 0.0021899006 0.0048500498 - 154200 0.0047673306 0.002659424 0.0049685998 - 154300 0.0072143942 0.0023794034 0.0058738756 - 154400 0.0052574085 0.0021847983 0.0047313555 - 154500 0.0049066593 0.0023323421 0.0047090052 - 154600 0.0049329687 0.0020242138 0.0044136206 - 154700 0.0044738201 0.0023567162 0.0045237228 - 154800 0.0069959333 0.0025653453 0.0059540005 - 154900 0.0054682055 0.0024833758 0.0051320378 - 155000 0.0043667131 0.0024252642 0.0045403908 - 155100 0.0048510794 0.002432654 0.0047823956 - 155200 0.0053573126 0.0021590407 0.004753989 - 155300 0.0038716761 0.0022326442 0.0041079873 - 155400 0.0044067852 0.0022416321 0.0043761687 - 155500 0.0048673892 0.0025992402 0.0049568818 - 155600 0.0062431377 0.0022925316 0.0053165515 - 155700 0.0065293515 0.0020887983 0.0052514529 - 155800 0.0064674854 0.0019299478 0.005062636 - 155900 0.0049443007 0.0018346679 0.0042295635 - 156000 0.0046110401 0.0022421651 0.0044756377 - 156100 0.0035320908 0.0028460672 0.0045569237 - 156200 0.0051375215 0.0029886751 0.0054771621 - 156300 0.0045384454 0.0035289115 0.0057272209 - 156400 0.007449067 0.0030849724 0.0066931142 - 156500 0.0058027133 0.0025212537 0.0053319429 - 156600 0.004794061 0.0025330507 0.004855174 - 156700 0.0046444186 0.0024802054 0.0047298457 - 156800 0.0036685867 0.0024427138 0.0042196855 - 156900 0.0057219502 0.0020886566 0.0048602262 - 157000 0.0045312197 0.0023553929 0.0045502024 - 157100 0.0049651552 0.0023599911 0.0047649882 - 157200 0.0056482905 0.0019587615 0.0046946522 - 157300 0.0050909533 0.001890189 0.0043561195 - 157400 0.0051901878 0.0017647626 0.0042787598 - 157500 0.0051705452 0.00139791 0.0039023928 - 157600 0.0048677016 0.0013188193 0.0036766123 - 157700 0.0045459928 0.0015970186 0.0037989839 - 157800 0.0049654654 0.0017060322 0.0041111795 - 157900 0.005077764 0.0019306335 0.0043901754 - 158000 0.0055413432 0.0022015826 0.0048856707 - 158100 0.0060683005 0.0017923339 0.004731667 - 158200 0.0051983427 0.0016303503 0.0041482975 - 158300 0.0050188722 0.0016466829 0.0040776991 - 158400 0.0042586344 0.0019458243 0.0040086004 - 158500 0.0039015186 0.002230434 0.0041202321 - 158600 0.0059018117 0.0020963845 0.0049550746 - 158700 0.0045117917 0.0026484076 0.0048338067 - 158800 0.0039525279 0.002537756 0.0044522617 - 158900 0.0053521188 0.0026255837 0.0052180163 - 159000 0.0051960364 0.0030255902 0.0055424204 - 159100 0.0054781755 0.0028587191 0.0055122103 - 159200 0.003580188 0.0027664748 0.0045006283 - 159300 0.0043438726 0.0026956299 0.0047996932 - 159400 0.0064902022 0.0022900838 0.0054337755 - 159500 0.0061888156 0.0021282956 0.0051260032 - 159600 0.0054523759 0.0028752149 0.0055162095 - 159700 0.0043848522 0.0028030229 0.0049269357 - 159800 0.0051834959 0.0025268622 0.005037618 - 159900 0.0058104463 0.00204287 0.0048573049 - 160000 0.0050935227 0.0021823931 0.0046495682 - 160100 0.0045065106 0.0018609616 0.0040438026 - 160200 0.0065247049 0.0019719606 0.0051323645 - 160300 0.0043202581 0.0025761183 0.0046687432 - 160400 0.0037731082 0.0029681783 0.0047957776 - 160500 0.0048078738 0.0027838241 0.0051126379 - 160600 0.0056656097 0.002514063 0.0052583427 - 160700 0.0047905705 0.0025004306 0.0048208631 - 160800 0.0059485762 0.0027451888 0.0056265303 - 160900 0.0069172279 0.0025777952 0.0059283274 - 161000 0.0045929814 0.002757201 0.0049819264 - 161100 0.0050765581 0.0022732258 0.0047321836 - 161200 0.0048672061 0.0021223981 0.0044799511 - 161300 0.0084339973 0.0017979256 0.005883143 - 161400 0.0043087197 0.0020939555 0.0041809916 - 161500 0.0048125215 0.0019393911 0.0042704562 - 161600 0.0061851204 0.0018939874 0.0048899051 - 161700 0.0048819373 0.0017452599 0.0041099482 - 161800 0.0053347953 0.0017629933 0.0043470347 - 161900 0.0059179407 0.0020049844 0.004871487 - 162000 0.0056691395 0.0026944993 0.0054404887 - 162100 0.0062329956 0.0028188328 0.00583794 - 162200 0.0065406343 0.0028653361 0.0060334558 - 162300 0.0047925456 0.0027958749 0.0051172642 - 162400 0.0042940493 0.0024094122 0.0044893424 - 162500 0.004674617 0.0020342223 0.0042984899 - 162600 0.0048720063 0.0018968445 0.0042567226 - 162700 0.0047032571 0.0020574632 0.0043356034 - 162800 0.0063507849 0.0024420795 0.0055182409 - 162900 0.0046496671 0.0021915443 0.0044437268 - 163000 0.0052163891 0.0019197839 0.0044464724 - 163100 0.0042621643 0.0017866294 0.0038511153 - 163200 0.003913794 0.0022974134 0.0041931574 - 163300 0.0043629936 0.0022760116 0.0043893366 - 163400 0.006070931 0.0022716007 0.0052122079 - 163500 0.0046416141 0.0025036778 0.0047519596 - 163600 0.0071688341 0.0024717357 0.0059441397 - 163700 0.0051661612 0.0024036609 0.0049060202 - 163800 0.006407258 0.0023039278 0.0054074435 - 163900 0.0049495761 0.0029762358 0.0053736867 - 164000 0.0056070224 0.002607829 0.0053237304 - 164100 0.0049666508 0.002887288 0.0052930095 - 164200 0.0058178851 0.0025532376 0.0053712757 - 164300 0.0057135711 0.0022369992 0.0050045102 - 164400 0.0039687789 0.0018559992 0.0037783764 - 164500 0.0052175444 0.0018823853 0.0044096334 - 164600 0.0053989443 0.0027528088 0.0053679224 - 164700 0.0052602067 0.0024845198 0.0050324324 - 164800 0.0060999519 0.0017206815 0.0046753457 - 164900 0.0072795707 0.0019280897 0.0054541318 - 165000 0.004577988 0.0021762846 0.0043937475 - 165100 0.0066311513 0.00211785 0.0053298139 - 165200 0.0053043591 0.0024129504 0.0049822493 - 165300 0.0050505966 0.002193457 0.0046398397 - 165400 0.0053447822 0.0023196192 0.0049084981 - 165500 0.0052686317 0.0024356049 0.0049875984 - 165600 0.0037062287 0.0022874951 0.0040826997 - 165700 0.0065031044 0.0018203609 0.004970302 - 165800 0.0042549744 0.0022655152 0.0043265184 - 165900 0.0049047866 0.002865856 0.005241612 - 166000 0.0042771074 0.0029348981 0.005006622 - 166100 0.0044818132 0.0027141984 0.0048850766 - 166200 0.005394058 0.0022853924 0.0048981393 - 166300 0.0040815134 0.0023739117 0.0043508948 - 166400 0.0054641429 0.002521733 0.0051684273 - 166500 0.0051554511 0.0030905531 0.0055877247 - 166600 0.0048378447 0.0025567763 0.0049001073 - 166700 0.0084159574 0.00216405 0.0062405294 - 166800 0.0040051911 0.0026447406 0.0045847551 - 166900 0.0040266005 0.0026342481 0.0045846327 - 167000 0.0049446525 0.0027660638 0.0051611298 - 167100 0.0053975892 0.0026433147 0.0052577719 - 167200 0.0040086986 0.0024036545 0.0043453678 - 167300 0.0045407865 0.0022339223 0.0044333658 - 167400 0.0042888042 0.0021276537 0.0042050432 - 167500 0.0049512221 0.0023172703 0.0047155185 - 167600 0.0066094263 0.002166447 0.0053678878 - 167700 0.0055063393 0.0026266253 0.0052937585 - 167800 0.0063715344 0.0025261516 0.0056123636 - 167900 0.0060565087 0.0023051275 0.0052387489 - 168000 0.0046761261 0.0029428931 0.0052078917 - 168100 0.0042716448 0.0034805445 0.0055496224 - 168200 0.0045763221 0.003173535 0.005390191 - 168300 0.0052264064 0.0027643524 0.005295893 - 168400 0.005614281 0.0026517138 0.0053711312 - 168500 0.0045414774 0.0026239022 0.0048236803 - 168600 0.004369677 0.0024286681 0.0045452304 - 168700 0.0047279523 0.0022579649 0.0045480668 - 168800 0.0058736256 0.0022428108 0.0050878482 - 168900 0.0042201681 0.002250521 0.004294665 - 169000 0.0050922908 0.0022707129 0.0047372913 - 169100 0.0050772604 0.0020877072 0.0045470053 - 169200 0.0043384511 0.0020589712 0.0041604084 - 169300 0.0038461152 0.0020456951 0.0039086572 - 169400 0.0038110489 0.0018595937 0.0037055705 - 169500 0.0053986464 0.0019227898 0.0045377592 - 169600 0.0033657695 0.0026934035 0.0043236981 - 169700 0.0047444138 0.0025662912 0.0048643667 - 169800 0.0057891597 0.0021446014 0.0049487256 - 169900 0.0044467918 0.0022621392 0.0044160539 - 170000 0.0040623737 0.002449087 0.0044167993 - 170100 0.0059199183 0.002008681 0.0048761414 - 170200 0.0046689524 0.00236858 0.0046301039 - 170300 0.0059912456 0.0028317645 0.0057337741 - 170400 0.0040889385 0.0031981785 0.0051787581 - 170500 0.0053163322 0.0030502131 0.0056253115 - 170600 0.0044476618 0.0032635911 0.0054179273 - 170700 0.0072373312 0.0032582239 0.0067638062 - 170800 0.0057174135 0.0029927618 0.0057621339 - 170900 0.0051583236 0.0030367685 0.0055353315 - 171000 0.004752941 0.0028672361 0.0051694419 - 171100 0.0067618001 0.0027897097 0.0060649567 - 171200 0.006125981 0.0029634779 0.0059307499 - 171300 0.0051492572 0.0032023616 0.005696533 - 171400 0.0048470645 0.0024037324 0.0047515293 - 171500 0.0048322247 0.0020342993 0.0043749082 - 171600 0.0048465763 0.0021079081 0.0044554685 - 171700 0.0050603844 0.0023483275 0.0047994512 - 171800 0.0060571521 0.0028178385 0.0057517715 - 171900 0.0053419868 0.00291038 0.0054979048 - 172000 0.0055085435 0.0025834794 0.0052516802 - 172100 0.0047816038 0.0026764145 0.0049925039 - 172200 0.0057277113 0.002473442 0.0052478022 - 172300 0.0051192765 0.0027374121 0.0052170616 - 172400 0.005596358 0.0030916856 0.0058024214 - 172500 0.0042281872 0.0029650156 0.0050130438 - 172600 0.0048929982 0.0026994372 0.0050694832 - 172700 0.0046070082 0.0028262354 0.005057755 - 172800 0.0045721369 0.0024372032 0.004651832 - 172900 0.0042542587 0.0028236651 0.0048843217 - 173000 0.0040198806 0.0025763625 0.0045234922 - 173100 0.0038632863 0.0024507968 0.0043220761 - 173200 0.005179401 0.0023385965 0.0048473688 - 173300 0.0045384982 0.0023440778 0.0045424129 - 173400 0.003819509 0.0024128415 0.0042629162 - 173500 0.0038319386 0.0024929789 0.0043490742 - 173600 0.0041644251 0.0029191284 0.0049362718 - 173700 0.0037860578 0.0033559084 0.0051897802 - 173800 0.0053638365 0.003062021 0.0056601293 - 173900 0.0045422519 0.0025494231 0.0047495764 - 174000 0.0046648823 0.002151625 0.0044111774 - 174100 0.00419413 0.0024077856 0.0044393173 - 174200 0.006513566 0.00248414 0.0056391485 - 174300 0.0070665639 0.0026349534 0.0060578202 - 174400 0.0050057449 0.002819314 0.0052439717 - 174500 0.0046849136 0.0029546937 0.0052239487 - 174600 0.0061534255 0.0024333402 0.0054139057 - 174700 0.0047288255 0.0023150192 0.004605544 - 174800 0.0046613413 0.0023306249 0.0045884621 - 174900 0.0059836457 0.0019996837 0.0048980121 - 175000 0.0049117306 0.0021873632 0.0045664827 - 175100 0.0056488975 0.0026604624 0.0053966471 - 175200 0.0051269617 0.0023215836 0.0048049557 - 175300 0.0046810432 0.0021657823 0.0044331626 - 175400 0.0068231356 0.0025416854 0.0058466417 - 175500 0.0048125289 0.0025211253 0.0048521939 - 175600 0.0059890689 0.002143281 0.0050442362 - 175700 0.0061277037 0.0023581915 0.005326298 - 175800 0.0056664343 0.0026984486 0.0054431278 - 175900 0.006226498 0.0026334748 0.0056494348 - 176000 0.0036742198 0.0033117737 0.0050914739 - 176100 0.0050177728 0.0029069105 0.0053373942 - 176200 0.0046582718 0.0022242181 0.0044805685 - 176300 0.0041702059 0.0020266951 0.0040466386 - 176400 0.0043947762 0.0022945087 0.0044232284 - 176500 0.0050314031 0.0023279738 0.0047650597 - 176600 0.0067434407 0.0021558213 0.0054221753 - 176700 0.0057649581 0.0021036347 0.0048960363 - 176800 0.0045517789 0.0020718413 0.0042766092 - 176900 0.0045014192 0.002306267 0.0044866419 - 177000 0.0039469761 0.002131983 0.0040437995 - 177100 0.0052114292 0.0017970982 0.0043213843 - 177200 0.0044156937 0.0019055287 0.0040443804 - 177300 0.0037534259 0.0018644198 0.0036824855 - 177400 0.0054399325 0.0020093058 0.0046442731 - 177500 0.0057693264 0.0020479726 0.0048424901 - 177600 0.0054223268 0.0022352031 0.0048616427 - 177700 0.0073963469 0.002506764 0.0060893696 - 177800 0.0052954181 0.0025605429 0.005125511 - 177900 0.004069189 0.002576384 0.0045473974 - 178000 0.0038721198 0.0023007757 0.0041763337 - 178100 0.0045339862 0.0022879117 0.0044840612 - 178200 0.006320902 0.0025996003 0.0056612872 - 178300 0.0068138857 0.002397765 0.0056982409 - 178400 0.0077096252 0.0025457506 0.0062801003 - 178500 0.0043518136 0.0027738328 0.0048817425 - 178600 0.0053528388 0.0024783057 0.005071087 - 178700 0.006383901 0.0022961462 0.0053883482 - 178800 0.0057754086 0.0024095078 0.0052069714 - 178900 0.0045293708 0.0025332296 0.0047271436 - 179000 0.0050434616 0.0028301783 0.005273105 - 179100 0.0055845463 0.0027675743 0.0054725889 - 179200 0.0039278071 0.0028319306 0.0047344622 - 179300 0.004081491 0.003000061 0.0049770332 - 179400 0.0062062904 0.0028575068 0.0058636787 - 179500 0.0052464655 0.0023084301 0.0048496869 - 179600 0.0052736987 0.0022150575 0.0047695053 - 179700 0.0042601771 0.0029507932 0.0050143165 - 179800 0.004979261 0.003274902 0.0056867316 - 179900 0.0061351201 0.0031000563 0.0060717551 - 180000 0.0066566727 0.0028260329 0.0060503588 - 180100 0.0064538913 0.0029894834 0.006115587 - 180200 0.0046227557 0.0033606421 0.0055997894 - 180300 0.0058760106 0.0031954553 0.0060416479 - 180400 0.0066399034 0.0028787069 0.0060949102 - 180500 0.0048316771 0.003121693 0.0054620366 - 180600 0.0043999536 0.0031631323 0.0052943598 - 180700 0.0050133232 0.0029488755 0.0053772039 - 180800 0.0060917075 0.003139579 0.0060902498 - 180900 0.0067565673 0.0031876283 0.0064603406 - 181000 0.0054760351 0.0034357265 0.0060881811 - 181100 0.0059791683 0.0031307651 0.0060269248 - 181200 0.0049620975 0.0027527775 0.0051562934 - 181300 0.0058168352 0.0025542441 0.0053717737 - 181400 0.0074124776 0.0027314387 0.0063218575 - 181500 0.0047401492 0.002528518 0.0048245278 - 181600 0.0053862645 0.0027190833 0.0053280552 - 181700 0.0054039109 0.0029065742 0.0055240935 - 181800 0.00733339 0.0028731752 0.0064252859 - 181900 0.006454915 0.003000843 0.0061274424 - 182000 0.0056203447 0.0037176893 0.0064400438 - 182100 0.0060120851 0.0031727342 0.0060848379 - 182200 0.0043869015 0.0025403986 0.004665304 - 182300 0.0040502603 0.0026548658 0.0046167107 - 182400 0.0047276291 0.0024992324 0.0047891777 - 182500 0.0069399783 0.0021612268 0.0055227788 - 182600 0.0052651879 0.0021067349 0.0046570603 - 182700 0.0046511944 0.0019013654 0.0041542877 - 182800 0.0039678969 0.0017224289 0.003644379 - 182900 0.0060322293 0.0019686185 0.0048904796 - 183000 0.0044312063 0.0024721146 0.0046184801 - 183100 0.0055569702 0.0024702265 0.005161884 - 183200 0.0044802585 0.0025738277 0.0047439529 - 183300 0.0039253332 0.0024418988 0.0043432321 - 183400 0.0054920333 0.002521262 0.0051814656 - 183500 0.0043290383 0.0027746516 0.0048715296 - 183600 0.0052618606 0.0025950347 0.0051437484 - 183700 0.0041607749 0.0033383627 0.0053537381 - 183800 0.0062872104 0.0033602091 0.0064055767 - 183900 0.0053335613 0.0031962745 0.0057797182 - 184000 0.0057493116 0.0029152922 0.005700115 - 184100 0.0034488087 0.0028402707 0.0045107874 - 184200 0.0052121074 0.002817431 0.0053420455 - 184300 0.0046878421 0.003004564 0.0052752375 - 184400 0.0060565068 0.0024850035 0.005418624 - 184500 0.004775217 0.0021330363 0.004446032 - 184600 0.0045152901 0.0020452738 0.0042323675 - 184700 0.0052189619 0.0028027033 0.005330638 - 184800 0.0044494116 0.002797766 0.0049529498 - 184900 0.0044963623 0.0022585517 0.0044364772 - 185000 0.0049105831 0.0023633887 0.0047419524 - 185100 0.0057402555 0.0029314345 0.0057118707 - 185200 0.0052035643 0.0032472885 0.0057677649 - 185300 0.0044396187 0.0031022778 0.0052527181 - 185400 0.00552578 0.0027084551 0.0053850048 - 185500 0.0059026866 0.0020049507 0.0048640645 - 185600 0.0040026931 0.0024818848 0.0044206893 - 185700 0.0053803795 0.0026164507 0.0052225721 - 185800 0.003861688 0.0023225395 0.0041930446 - 185900 0.0053582503 0.0021537608 0.0047491633 - 186000 0.0046154584 0.0022786866 0.0045142993 - 186100 0.0049055032 0.0023179292 0.0046940323 - 186200 0.0052858241 0.0021079373 0.0046682584 - 186300 0.0052024362 0.0024076039 0.004927534 - 186400 0.004857801 0.0023052738 0.0046582711 - 186500 0.004023298 0.0021850719 0.0041338569 - 186600 0.0036155255 0.002280809 0.0040320792 - 186700 0.0038579955 0.0027198323 0.0045885489 - 186800 0.0063677161 0.0025739598 0.0056583222 - 186900 0.0045225785 0.0024861386 0.0046767625 - 187000 0.0049835336 0.0020343537 0.0044482528 - 187100 0.0045320336 0.0021878754 0.0043830792 - 187200 0.0034144141 0.0026306899 0.0042845467 - 187300 0.0039057395 0.002513463 0.0044053056 - 187400 0.0058619531 0.0020707321 0.0049101156 - 187500 0.0064173394 0.0019263661 0.0050347649 - 187600 0.0053520084 0.0019748014 0.0045671805 - 187700 0.0052174347 0.0020493688 0.0045765637 - 187800 0.0046195121 0.0023494084 0.0045869846 - 187900 0.003689577 0.002147859 0.0039349979 - 188000 0.0059961492 0.0017618515 0.0046662363 - 188100 0.0041823325 0.0017718191 0.0037976365 - 188200 0.0043850261 0.00196323 0.004087227 - 188300 0.003635617 0.0019857711 0.0037467731 - 188400 0.0059524417 0.0016029899 0.0044862039 - 188500 0.0056924296 0.0018621911 0.0046194617 - 188600 0.0048042949 0.0024473011 0.0047743814 - 188700 0.0058318226 0.0022984831 0.0051232721 - 188800 0.0052188059 0.0026443254 0.0051721845 - 188900 0.0056113973 0.0025944274 0.0053124479 - 189000 0.0044310254 0.0022104356 0.0043567136 - 189100 0.0047866433 0.0025570562 0.0048755866 - 189200 0.0033139611 0.002889829 0.0044950289 - 189300 0.0038916042 0.0030517495 0.0049367453 - 189400 0.004604689 0.0023109722 0.0045413684 - 189500 0.0062908433 0.0017933712 0.0048404984 - 189600 0.0047164727 0.0021168432 0.0044013847 - 189700 0.0043846343 0.0023526239 0.0044764312 - 189800 0.0062542294 0.0024680157 0.0054974081 - 189900 0.0054322102 0.0028654338 0.0054966607 - 190000 0.0052922781 0.0035149977 0.0060784449 - 190100 0.0048195915 0.0033319567 0.0056664464 - 190200 0.0049659617 0.0031083355 0.0055137232 - 190300 0.0048846338 0.002618541 0.0049845355 - 190400 0.0072407499 0.0025871515 0.0060943898 - 190500 0.0051735903 0.0033501057 0.0058560635 - 190600 0.0040078499 0.0037742335 0.0057155358 - 190700 0.006697174 0.003039924 0.0062838677 - 190800 0.0053998872 0.0029342198 0.0055497901 - 190900 0.0050070716 0.0032378488 0.0056631491 - 191000 0.0044775182 0.0032919033 0.0054607011 - 191100 0.0048496929 0.0029186711 0.0052677411 - 191200 0.0046411987 0.0026224616 0.0048705422 - 191300 0.0055062313 0.0028360695 0.0055031503 - 191400 0.0043036098 0.0030423482 0.0051269092 - 191500 0.0047557858 0.0028837441 0.0051873279 - 191600 0.0049657398 0.0031398468 0.0055451271 - 191700 0.0057967036 0.0027231302 0.0055309085 - 191800 0.0046446397 0.0023950176 0.0046447649 - 191900 0.0060831854 0.0021788919 0.0051254348 - 192000 0.0050062294 0.0025966413 0.0050215337 - 192100 0.0043299953 0.0029248104 0.0050221519 - 192200 0.0055555236 0.0024065811 0.0050975378 - 192300 0.0055035662 0.0023360749 0.0050018648 - 192400 0.0035013393 0.0024301448 0.004126106 - 192500 0.0039670881 0.0021160113 0.0040375696 - 192600 0.0054090169 0.0020258664 0.0046458589 - 192700 0.0043622174 0.0025770528 0.0046900019 - 192800 0.0044188753 0.0025913243 0.004731717 - 192900 0.0054753877 0.0025689278 0.0052210687 - 193000 0.0030370073 0.0026801634 0.0041512138 - 193100 0.004409951 0.0022050277 0.0043410977 - 193200 0.0057759185 0.001896822 0.0046945325 - 193300 0.0042752982 0.0025307205 0.0046015681 - 193400 0.0055186183 0.0031917268 0.0058648075 - 193500 0.0060706248 0.0030096467 0.0059501056 - 193600 0.0042938989 0.00264227 0.0047221273 - 193700 0.0055878445 0.0026675461 0.0053741583 - 193800 0.0041577783 0.0032179247 0.0052318486 - 193900 0.0044302076 0.0028307011 0.004976583 - 194000 0.0045536136 0.0026532486 0.0048589052 - 194100 0.0042068026 0.0024913282 0.0045289982 - 194200 0.0037699595 0.0026229049 0.004448979 - 194300 0.0037420602 0.0026526448 0.0044652052 - 194400 0.003878494 0.0026486011 0.0045272466 - 194500 0.0046998411 0.0024972143 0.0047736999 - 194600 0.0074446112 0.0023454877 0.0059514713 - 194700 0.0035616348 0.0025592457 0.0042844125 - 194800 0.004454451 0.0026486558 0.0048062805 - 194900 0.0041375053 0.0031289022 0.0051330063 - 195000 0.0055855352 0.0023818302 0.0050873238 - 195100 0.0049993147 0.0022307876 0.0046523307 - 195200 0.0050902708 0.0024878171 0.004953417 - 195300 0.0052889476 0.0028110914 0.0053729254 - 195400 0.0069216615 0.0026928476 0.0060455273 - 195500 0.0056653594 0.0028165203 0.0055606787 - 195600 0.0068159974 0.0033075535 0.0066090523 - 195700 0.0038892912 0.0033528858 0.0052367612 - 195800 0.0050771126 0.0029442862 0.0054035126 - 195900 0.0049673801 0.0024786018 0.0048846766 - 196000 0.0045366143 0.0023858427 0.0045832652 - 196100 0.0034262945 0.0023407836 0.004000395 - 196200 0.0080690464 0.002105792 0.0060142364 - 196300 0.0055825313 0.0026808195 0.0053848581 - 196400 0.0058569898 0.0025960602 0.0054330397 - 196500 0.0049358445 0.0023874592 0.0047782588 - 196600 0.0057120089 0.0030756087 0.005842363 - 196700 0.0065281028 0.0036266314 0.0067886812 - 196800 0.0083678972 0.002787348 0.0068405482 - 196900 0.0053579919 0.0027321079 0.0053273852 - 197000 0.0051319658 0.0031094842 0.0055952801 - 197100 0.0051893931 0.0026560568 0.0051696691 - 197200 0.0057025248 0.0025227845 0.005284945 - 197300 0.0057190745 0.0021218735 0.0048920502 - 197400 0.0054308536 0.0021085758 0.0047391455 - 197500 0.0061738386 0.0024553693 0.0054458224 - 197600 0.0073637833 0.0034092835 0.006976116 - 197700 0.006880961 0.0038654894 0.0071984549 - 197800 0.0045154568 0.003905548 0.0060927224 - 197900 0.0058546478 0.0034661516 0.0063019967 - 198000 0.006251792 0.0032547858 0.0062829976 - 198100 0.0047231964 0.0027934021 0.0050812004 - 198200 0.0050989071 0.0024584673 0.0049282504 - 198300 0.0066451305 0.0021919512 0.0054106863 - 198400 0.0052993565 0.0027496567 0.0053165324 - 198500 0.0048914502 0.0030021438 0.00537144 - 198600 0.0045970991 0.0028914871 0.005118207 - 198700 0.0046075146 0.0028712859 0.0051030508 - 198800 0.0044019458 0.0030324028 0.0051645953 - 198900 0.0064983384 0.0028781354 0.006025768 - 199000 0.0043115478 0.0026259277 0.0047143336 - 199100 0.0052927869 0.0030187438 0.0055824374 - 199200 0.0046158741 0.0034427209 0.0056785349 - 199300 0.0057827879 0.0033809411 0.0061819789 - 199400 0.0047102404 0.0030595364 0.0053410591 - 199500 0.0065787425 0.0026770398 0.0058636182 - 199600 0.0051927359 0.0026411966 0.005156428 - 199700 0.0045327092 0.0027294203 0.0049249513 - 199800 0.0048496623 0.0025053467 0.0048544019 - 199900 0.0054228679 0.0020631595 0.0046898612 - 200000 0.0055794195 0.0018362356 0.0045387669 - 200100 0.0046262225 0.0020656778 0.0043065043 - 200200 0.003627737 0.002270457 0.0040276421 - 200300 0.0038479801 0.0021699958 0.0040338612 - 200400 0.0050120202 0.002216547 0.0046442443 - 200500 0.0049172792 0.0023821287 0.0047639358 - 200600 0.0036694163 0.0025848857 0.0043622592 - 200700 0.0041600694 0.0027527852 0.0047678188 - 200800 0.004511666 0.0024639128 0.004649251 - 200900 0.0066329627 0.0025066272 0.0057194686 - 201000 0.0050300515 0.0032750403 0.0057114715 - 201100 0.0059981294 0.0034641684 0.0063695123 - 201200 0.0053221902 0.0032550253 0.0058329612 - 201300 0.004780854 0.0027813602 0.0050970863 - 201400 0.0047724553 0.0027331203 0.0050447783 - 201500 0.0083500719 0.0026781623 0.0067227284 - 201600 0.0057064719 0.0026443441 0.0054084164 - 201700 0.0053270485 0.0031907506 0.0057710397 - 201800 0.0056772678 0.0027345683 0.0054844949 - 201900 0.0051556952 0.0026502128 0.0051475027 - 202000 0.0054386571 0.0024793145 0.0051136641 - 202100 0.0060716989 0.002756279 0.0056972581 - 202200 0.0040641357 0.0033367206 0.0053052863 - 202300 0.0046033751 0.0032435963 0.0054733561 - 202400 0.004246771 0.0028810152 0.0049380449 - 202500 0.0058791109 0.002499567 0.0053472613 - 202600 0.0044302003 0.0030500904 0.0051959687 - 202700 0.0045842744 0.0028628921 0.0050834 - 202800 0.0056273109 0.0031744904 0.0059002191 - 202900 0.0066554885 0.0030585302 0.0062822825 - 203000 0.0059381392 0.0028487683 0.0057250544 - 203100 0.0051322804 0.0031226977 0.005608646 - 203200 0.0055475824 0.0025834209 0.0052705311 - 203300 0.0049699258 0.0025155703 0.0049228781 - 203400 0.0050097429 0.0023647721 0.0047913663 - 203500 0.0044111825 0.0023675111 0.0045041776 - 203600 0.0040262051 0.0027285627 0.0046787558 - 203700 0.0053123872 0.003257171 0.0058303585 - 203800 0.005475602 0.0030955672 0.0057478119 - 203900 0.0063764118 0.0027558197 0.0058443942 - 204000 0.0063038368 0.0024937674 0.0055471884 - 204100 0.0050449743 0.0026723037 0.0051159631 - 204200 0.0067524323 0.0025882042 0.0058589137 - 204300 0.0073031627 0.0026445353 0.0061820047 - 204400 0.0050223894 0.002810413 0.0052431329 - 204500 0.0037718568 0.0030748839 0.004901877 - 204600 0.0062012174 0.0032083521 0.0062120668 - 204700 0.0054393438 0.0028176179 0.0054523 - 204800 0.0088331665 0.002493314 0.006771879 - 204900 0.0053942416 0.0025172599 0.0051300957 - 205000 0.0037609622 0.0030769793 0.0048986954 - 205100 0.0063160379 0.0030003872 0.006059718 - 205200 0.0042026933 0.0026768992 0.0047125788 - 205300 0.0058727251 0.0025895103 0.0054341116 - 205400 0.0067897991 0.002280172 0.005568981 - 205500 0.0055292419 0.002319809 0.0049980356 - 205600 0.0052534527 0.0026419529 0.0051865941 - 205700 0.0043953817 0.0023659035 0.0044949165 - 205800 0.0045353981 0.0024362533 0.0046330868 - 205900 0.0031392895 0.0024728119 0.0039934052 - 206000 0.0045591585 0.0023565796 0.004564922 - 206100 0.0053648652 0.0021715123 0.0047701189 - 206200 0.0051829247 0.0019909078 0.0045013869 - 206300 0.0050365147 0.0026592167 0.0050987785 - 206400 0.0050082255 0.0028922498 0.005318109 - 206500 0.0052750194 0.0029120324 0.0054671199 - 206600 0.0055912708 0.0023448232 0.005053095 - 206700 0.0046981304 0.0021110812 0.0043867381 - 206800 0.0058175925 0.0023570336 0.00517493 - 206900 0.0049001501 0.002548525 0.0049220352 - 207000 0.005069773 0.0027047998 0.005160471 - 207100 0.0051734466 0.002815373 0.0053212611 - 207200 0.0060320982 0.0024832317 0.0054050292 - 207300 0.0057246583 0.0025824224 0.0053553038 - 207400 0.0039285605 0.0031760522 0.0050789488 - 207500 0.0056609938 0.0027601583 0.0055022022 - 207600 0.0075766164 0.0025548419 0.0062247655 - 207700 0.0062695972 0.0026526646 0.0056895007 - 207800 0.0054721533 0.0026693164 0.0053198907 - 207900 0.0051668536 0.0022696373 0.004772332 - 208000 0.0056308201 0.0020367354 0.0047641639 - 208100 0.0044197953 0.0020936931 0.0042345314 - 208200 0.0047528949 0.0021909893 0.0044931728 - 208300 0.0050687545 0.0022296153 0.0046847933 - 208400 0.0048438733 0.0025091078 0.0048553589 - 208500 0.0054793216 0.0023856561 0.0050397025 - 208600 0.0045392641 0.0025997239 0.00479843 - 208700 0.0069382514 0.0028903382 0.0062510537 - 208800 0.0051695301 0.0024669796 0.0049709708 - 208900 0.0047937797 0.0023494014 0.0046713884 - 209000 0.0058598094 0.0027101484 0.0055484936 - 209100 0.003453191 0.0028632708 0.0045359102 - 209200 0.0044239072 0.002822116 0.004964946 - 209300 0.0040727375 0.0028257088 0.004798441 - 209400 0.0049134092 0.0033985709 0.0057785035 - 209500 0.004197963 0.0032123208 0.0052457091 - 209600 0.004950149 0.0030137388 0.0054114672 - 209700 0.0056623336 0.0031856888 0.0059283816 - 209800 0.0037767196 0.0031179024 0.004947251 - 209900 0.0054877261 0.0030862769 0.0057443942 - 210000 0.0067233116 0.0032367487 0.0064933527 - 210100 0.0059930893 0.0035364581 0.0064393608 - 210200 0.0059538067 0.0030089911 0.0058928662 - 210300 0.0052167989 0.0027591159 0.0052860029 - 210400 0.0057580904 0.0023534834 0.0051425584 - 210500 0.0057889341 0.0019918568 0.0047958718 - 210600 0.0048658675 0.0022582845 0.0046151891 - 210700 0.0049044132 0.0027921752 0.0051677504 - 210800 0.006885278 0.0028135277 0.0061485842 - 210900 0.0066110515 0.0031688163 0.0063710444 - 211000 0.0054439086 0.0030748344 0.0057117276 - 211100 0.0053383283 0.0029234553 0.0055092081 - 211200 0.0068191874 0.0024696249 0.0057726689 - 211300 0.0057627794 0.0026758586 0.0054672049 - 211400 0.0045150576 0.0032959442 0.0054829253 - 211500 0.0060131577 0.0032466078 0.0061592311 - 211600 0.0062034207 0.0034196759 0.0064244579 - 211700 0.0065560387 0.0034097479 0.0065853292 - 211800 0.0045648133 0.0033793404 0.0055904218 - 211900 0.0033423538 0.0033912292 0.0050101818 - 212000 0.0055023199 0.003326599 0.0059917852 - 212100 0.0065361398 0.0031275845 0.0062935272 - 212200 0.004875831 0.0032259827 0.0055877133 - 212300 0.0054858679 0.0029599265 0.0056171438 - 212400 0.0061264953 0.002381524 0.0053490452 - 212500 0.005214498 0.001990062 0.0045158345 - 212600 0.0057493994 0.0019943938 0.0047792592 - 212700 0.005623798 0.0020935105 0.0048175377 - 212800 0.0065557591 0.002189019 0.0053644648 - 212900 0.0059814045 0.0023138649 0.0052111077 - 213000 0.0043864828 0.002104435 0.0042291376 - 213100 0.0051890328 0.0025328931 0.0050463308 - 213200 0.005177568 0.0024633304 0.0049712149 - 213300 0.0043030541 0.0023018382 0.00438613 - 213400 0.0053245053 0.0023578072 0.0049368645 - 213500 0.0052064675 0.0024410219 0.0049629046 - 213600 0.0040067453 0.0023947802 0.0043355474 - 213700 0.0050007498 0.0027064505 0.0051286887 - 213800 0.0054415807 0.0027049209 0.0053406866 - 213900 0.0040205892 0.0024956952 0.0044431681 - 214000 0.0051135836 0.0027462569 0.005223149 - 214100 0.0043145674 0.0029988943 0.0050887628 - 214200 0.0046628981 0.0029250343 0.0051836256 - 214300 0.0056386487 0.0026121313 0.0053433518 - 214400 0.0052691657 0.0024649062 0.0050171584 - 214500 0.0053264764 0.0026753261 0.0052553382 - 214600 0.0051007139 0.003263655 0.0057343133 - 214700 0.0044406768 0.0027810427 0.0049319955 - 214800 0.0041287444 0.0021758036 0.0041756642 - 214900 0.0041351767 0.0020965452 0.0040995214 - 215000 0.0059756871 0.0024289882 0.0053234617 - 215100 0.0063538104 0.0024425944 0.0055202213 - 215200 0.0044142672 0.0021936266 0.0043317872 - 215300 0.0053632676 0.0023117074 0.0049095402 - 215400 0.0041813117 0.0024621573 0.0044874801 - 215500 0.0039120259 0.0024418236 0.0043367112 - 215600 0.0049408678 0.002201248 0.0045944808 - 215700 0.0055855941 0.0018770499 0.004582572 - 215800 0.0058154559 0.0018535909 0.0046704524 - 215900 0.0047862493 0.0022969899 0.0046153294 - 216000 0.0066111398 0.0024597439 0.0056620148 - 216100 0.0044377463 0.0032458319 0.0053953653 - 216200 0.0033917 0.0030578865 0.0047007412 - 216300 0.0053549289 0.0027917723 0.005385566 - 216400 0.0057641906 0.0027734806 0.0055655104 - 216500 0.0035664256 0.0030744324 0.0048019198 - 216600 0.0053216588 0.0028866069 0.0054642854 - 216700 0.0060473874 0.0025742992 0.0055035025 - 216800 0.00527329 0.0024363575 0.0049906074 - 216900 0.0041275952 0.0028042369 0.0048035408 - 217000 0.0052517655 0.0027585654 0.0053023893 - 217100 0.0041891447 0.0022853911 0.0043145081 - 217200 0.0056755423 0.0024929182 0.005242009 - 217300 0.0048143059 0.0034005223 0.0057324517 - 217400 0.0051420074 0.0035189033 0.0060095632 - 217500 0.0050148067 0.0033553455 0.0057843924 - 217600 0.0061779397 0.002547201 0.0055396405 - 217700 0.0046718327 0.002432099 0.0046950179 - 217800 0.0054400962 0.002252869 0.0048879157 - 217900 0.0052228186 0.001961152 0.0044909548 - 218000 0.0042315155 0.0020871308 0.0041367711 - 218100 0.0040349799 0.0023119007 0.0042663441 - 218200 0.0045962683 0.0025354819 0.0047617993 - 218300 0.0052550654 0.0029716284 0.0055170507 - 218400 0.0049325395 0.0025894029 0.0049786017 - 218500 0.0043424276 0.0024087658 0.0045121292 - 218600 0.0046181375 0.0024001065 0.0046370169 - 218700 0.0063442927 0.0023319855 0.0054050023 - 218800 0.0063210459 0.002292401 0.0053541576 - 218900 0.004425962 0.002161475 0.0043053003 - 219000 0.0053481681 0.0023158821 0.004906401 - 219100 0.0048637667 0.0029258406 0.0052817276 - 219200 0.0056117679 0.0035876087 0.0063058088 - 219300 0.0054586012 0.0030469409 0.0056909508 - 219400 0.0042932422 0.0026438157 0.0047233549 - 219500 0.0064948926 0.0019504585 0.0050964221 - 219600 0.0058272923 0.0018366736 0.0046592683 - 219700 0.0059606981 0.0025572656 0.0054444787 - 219800 0.0051471199 0.0027081645 0.0052013007 - 219900 0.0063578155 0.0022763014 0.0053558683 - 220000 0.0051302098 0.0020347664 0.0045197117 - 220100 0.005186118 0.0016477173 0.0041597432 - 220200 0.0040678023 0.0016691751 0.0036395168 - 220300 0.0052729398 0.001620618 0.0041746983 - 220400 0.0038373588 0.0019250365 0.0037837571 - 220500 0.0031123609 0.0022007598 0.0037083096 - 220600 0.003778775 0.0024907121 0.0043210562 - 220700 0.0052178506 0.0022113497 0.004738746 - 220800 0.0054711128 0.0021446446 0.0047947149 - 220900 0.003199606 0.0024607572 0.0040105663 - 221000 0.0044880533 0.0026779085 0.0048518093 - 221100 0.004125102 0.0026335148 0.0046316111 - 221200 0.0062759649 0.002487109 0.0055270295 - 221300 0.0065846908 0.0025336522 0.0057231119 - 221400 0.00623465 0.002282917 0.0053028256 - 221500 0.0031856136 0.0021569919 0.0037000235 - 221600 0.0053218097 0.001894651 0.0044724026 - 221700 0.0038260613 0.0022992947 0.0041525431 - 221800 0.0041522995 0.0025537836 0.0045650537 - 221900 0.0042572831 0.0022230627 0.0042851842 - 222000 0.0030534317 0.0021013358 0.0035803418 - 222100 0.005488967 0.0017795994 0.0044383178 - 222200 0.0056175036 0.0021400928 0.0048610711 - 222300 0.005063635 0.0029091567 0.0053618549 - 222400 0.0041365371 0.0029853006 0.0049889358 - 222500 0.0077756175 0.002877737 0.0066440517 - 222600 0.0056018509 0.003098357 0.0058117536 - 222700 0.0045511141 0.0030353608 0.0052398067 - 222800 0.0060903168 0.0026433974 0.0055933946 - 222900 0.0067682161 0.0023094817 0.0055878364 - 223000 0.0061405979 0.0025118402 0.0054861923 - 223100 0.0047410389 0.0027534355 0.0050498763 - 223200 0.0060495475 0.002271013 0.0052012625 - 223300 0.0046638557 0.0023831345 0.0046421896 - 223400 0.0038669393 0.0023398699 0.0042129186 - 223500 0.0039575513 0.0024278834 0.0043448222 - 223600 0.0041017738 0.002334902 0.0043216987 - 223700 0.0043298244 0.0021836209 0.0042808796 - 223800 0.0054089227 0.0023133144 0.0049332614 - 223900 0.0045626207 0.0022696781 0.0044796975 - 224000 0.0056860084 0.0018120713 0.0045662316 - 224100 0.0059062196 0.0022074251 0.0050682502 - 224200 0.0064250817 0.0026978093 0.0058099582 - 224300 0.005542489 0.0026783338 0.0053629769 - 224400 0.0074546374 0.0025328532 0.0061436932 - 224500 0.0064812195 0.0027228111 0.0058621518 - 224600 0.005741166 0.0028837977 0.0056646749 - 224700 0.0069747847 0.0026264433 0.0060048546 - 224800 0.0052410051 0.0030167347 0.0055553466 - 224900 0.0059214962 0.0037691787 0.0066374034 - 225000 0.005412622 0.0039626798 0.0065844186 - 225100 0.006309758 0.0028737625 0.0059300516 - 225200 0.0064634513 0.0024383195 0.0055690537 - 225300 0.0045406866 0.0022316267 0.0044310217 - 225400 0.0049487621 0.0022483332 0.0046453898 - 225500 0.0062329741 0.0023148391 0.0053339359 - 225600 0.0041232072 0.0026638528 0.0046610313 - 225700 0.0050742266 0.0025713808 0.0050292093 - 225800 0.0044303136 0.0026256376 0.0047715707 - 225900 0.0056311072 0.0026817455 0.005409313 - 226000 0.0068033319 0.00261131 0.005906674 - 226100 0.0043961786 0.002808152 0.004937551 - 226200 0.0046141673 0.0031405336 0.0053755208 - 226300 0.0054519637 0.0027800399 0.0054208349 - 226400 0.004847372 0.0024578222 0.004805768 - 226500 0.0045188545 0.0026329527 0.0048217728 - 226600 0.0057554771 0.0021998924 0.0049877017 - 226700 0.0044097186 0.002266295 0.0044022525 - 226800 0.0035189588 0.0024047027 0.0041091983 - 226900 0.003098653 0.0021289864 0.0036298964 - 227000 0.0047172095 0.0018439527 0.0041288511 - 227100 0.0048103259 0.002404556 0.0047345576 - 227200 0.0037297016 0.0027718781 0.0045784523 - 227300 0.0045447955 0.0026217206 0.004823106 - 227400 0.0045007704 0.0023878138 0.0045678745 - 227500 0.0058323633 0.002389255 0.005214306 - 227600 0.0068183459 0.0022908101 0.0055934464 - 227700 0.0045747189 0.0026717476 0.004887627 - 227800 0.0050176575 0.0026163603 0.0050467882 - 227900 0.0036796247 0.0025454418 0.00432776 - 228000 0.00491033 0.0024189057 0.0047973467 - 228100 0.0055126097 0.0025724337 0.005242604 - 228200 0.0041685076 0.0029127549 0.0049318758 - 228300 0.0051510468 0.0026914224 0.0051864607 - 228400 0.0047856628 0.0021502655 0.0044683209 - 228500 0.004866734 0.0019715281 0.0043288523 - 228600 0.0051592719 0.0021102646 0.0046092869 - 228700 0.0049746105 0.0020757778 0.0044853548 - 228800 0.0036021676 0.0023614814 0.0041062813 - 228900 0.0059877605 0.0024416265 0.005341948 - 229000 0.0043174828 0.0023997436 0.0044910243 - 229100 0.0042049422 0.0022650903 0.0043018592 - 229200 0.0065286288 0.0024941617 0.0056564663 - 229300 0.0056362557 0.0027213769 0.0054514383 - 229400 0.0051290209 0.00327929 0.0057636595 - 229500 0.0066789243 0.0030820398 0.0063171438 - 229600 0.0059183637 0.0024901584 0.0053568658 - 229700 0.0057982286 0.0019707058 0.0047792228 - 229800 0.0050011252 0.0019480566 0.0043704766 - 229900 0.004321825 0.0024300528 0.0045234368 - 230000 0.0036508331 0.0025123539 0.0042807262 - 230100 0.005509942 0.0022644247 0.0049333029 - 230200 0.0043507952 0.0026559428 0.0047633593 - 230300 0.0057676122 0.0029358721 0.0057295593 - 230400 0.0048036056 0.0029227902 0.0052495366 - 230500 0.0036636385 0.0028767116 0.0046512865 - 230600 0.0054154284 0.0028489494 0.0054720476 - 230700 0.0045368166 0.0029584635 0.0051559841 - 230800 0.0045140404 0.0031217297 0.005308218 - 230900 0.0043387024 0.0028636045 0.0049651635 - 231000 0.0050769646 0.0027490438 0.0052081986 - 231100 0.0059429853 0.0028782857 0.0057569192 - 231200 0.0053044903 0.0032167657 0.0057861281 - 231300 0.0050297408 0.0027882783 0.005224559 - 231400 0.0045738539 0.0026328267 0.0048482872 - 231500 0.0046681392 0.0027775309 0.0050386608 - 231600 0.0052148423 0.0025689982 0.0050949375 - 231700 0.0043153243 0.0023895363 0.0044797715 - 231800 0.0061385936 0.0023294802 0.0053028615 - 231900 0.0049635039 0.0025419727 0.0049461699 - 232000 0.004241066 0.0026458287 0.0047000951 - 232100 0.0045435424 0.0023174664 0.0045182448 - 232200 0.0051189457 0.002062294 0.0045417833 - 232300 0.0047419469 0.0022054825 0.004502363 - 232400 0.00431206 0.0024493511 0.0045380051 - 232500 0.0056251612 0.0022659696 0.0049906571 - 232600 0.0052658156 0.0030317167 0.0055823461 - 232700 0.0046908845 0.0029861642 0.0052583113 - 232800 0.0055743866 0.0024753 0.0051753935 - 232900 0.0066765767 0.0026818058 0.0059157726 - 233000 0.0062234094 0.0029064813 0.0059209452 - 233100 0.0070658898 0.0029850791 0.0064076194 - 233200 0.0052167812 0.0032092181 0.0057360965 - 233300 0.0060124385 0.003310662 0.0062229369 - 233400 0.0063823996 0.002877688 0.0059691628 - 233500 0.0060331803 0.0025431953 0.005465517 - 233600 0.0063644023 0.0025974016 0.005680159 - 233700 0.0051628902 0.0027301284 0.0052309033 - 233800 0.0053145861 0.0027527723 0.0053270249 - 233900 0.0043206694 0.0029547987 0.0050476229 - 234000 0.0059020228 0.0027340506 0.0055928429 - 234100 0.0050062994 0.0022053905 0.0046303167 - 234200 0.0078100793 0.0017037514 0.0054867586 - 234300 0.0046161667 0.0019596835 0.0041956393 - 234400 0.0050944878 0.0018116463 0.0042792888 - 234500 0.0042634506 0.0023415788 0.0044066877 - 234600 0.00428626 0.0028626135 0.0049387706 - 234700 0.004968459 0.0027870733 0.0051936706 - 234800 0.0051382846 0.0022763257 0.0047651824 - 234900 0.0045315332 0.0020101406 0.004205102 - 235000 0.004975662 0.001865673 0.0042757593 - 235100 0.0043909004 0.0017625098 0.0038893522 - 235200 0.0051800331 0.0020328034 0.0045418819 - 235300 0.0032674907 0.002124785 0.0037074758 - 235400 0.0055269996 0.0017186312 0.0043957717 - 235500 0.0057467803 0.0019456791 0.0047292758 - 235600 0.0045077765 0.0021374404 0.0043208947 - 235700 0.0042028378 0.0018902358 0.0039259853 - 235800 0.005099313 0.0020037983 0.004473778 - 235900 0.0033529963 0.0025725767 0.0041966843 - 236000 0.0053995268 0.0023464522 0.004961848 - 236100 0.0045012156 0.0021930247 0.0043733011 - 236200 0.0049091554 0.0024386405 0.0048165126 - 236300 0.0069653901 0.0021055867 0.0054794475 - 236400 0.0047438608 0.002191105 0.0044889125 - 236500 0.0051546019 0.0022057965 0.0047025568 - 236600 0.0065103421 0.0025948815 0.0057483284 - 236700 0.0053195594 0.0024629027 0.0050395642 - 236800 0.0052766115 0.0020286706 0.0045845293 - 236900 0.0035092625 0.0021947349 0.0038945339 - 237000 0.0041926683 0.0024914111 0.0045222349 - 237100 0.0044278678 0.0020756898 0.0042204383 - 237200 0.0038339831 0.0019751766 0.0038322622 - 237300 0.0061213563 0.0017586027 0.0047236346 - 237400 0.0048298873 0.0022858627 0.0046253394 - 237500 0.0059646373 0.0021850835 0.0050742047 - 237600 0.0055278003 0.0022226724 0.0049002007 - 237700 0.0051456295 0.0024101967 0.004902611 - 237800 0.0050009637 0.0026858219 0.0051081637 - 237900 0.0071672981 0.0028339163 0.0063055763 - 238000 0.005171969 0.0034742749 0.0059794474 - 238100 0.0052052185 0.0028177443 0.0053390221 - 238200 0.0072680303 0.0021368642 0.0056573163 - 238300 0.0050799934 0.0020391314 0.0044997532 - 238400 0.005749211 0.0024366369 0.005221411 - 238500 0.0049573153 0.0025454828 0.0049466824 - 238600 0.0057230289 0.0020965603 0.0048686525 - 238700 0.0040923544 0.00186858 0.0038508142 - 238800 0.004060711 0.0019959986 0.0039629055 - 238900 0.0033652206 0.0020618457 0.0036918744 - 239000 0.0052277575 0.0019478561 0.0044800512 - 239100 0.0052226557 0.001803707 0.0043334309 - 239200 0.0047376558 0.0020792031 0.0043740051 - 239300 0.0042251937 0.0022198789 0.0042664571 - 239400 0.0057153848 0.0017859459 0.0045543354 - 239500 0.0046256172 0.0015505472 0.0037910806 - 239600 0.0056163318 0.0018025965 0.0045230072 - 239700 0.0036285918 0.0021637379 0.0039213371 - 239800 0.0049236661 0.0019910547 0.0043759554 - 239900 0.0058635086 0.0018882717 0.0047284087 - 240000 0.0066624837 0.0019866379 0.0052137784 - 240100 0.0034821625 0.0022488416 0.003935514 - 240200 0.004819533 0.0018478152 0.0041822765 - 240300 0.0057981808 0.0021402994 0.0049487932 - 240400 0.0059115361 0.0026527898 0.0055161901 - 240500 0.0069781136 0.0030914393 0.006471463 - 240600 0.0084656388 0.0029081066 0.0070086504 - 240700 0.0047583135 0.0024661669 0.004770975 - 240800 0.0045821282 0.0021581271 0.0043775955 - 240900 0.0055760107 0.0020904089 0.004791289 - 241000 0.0041513608 0.0024897069 0.0045005223 - 241100 0.0052704366 0.0027482605 0.0053011282 - 241200 0.0044913521 0.0026331314 0.0048086301 - 241300 0.0056699947 0.002370938 0.0051173416 - 241400 0.0033328361 0.0019750094 0.0035893519 - 241500 0.0046973668 0.0020117941 0.0042870812 - 241600 0.005138729 0.0022091038 0.0046981757 - 241700 0.0059157493 0.0019198655 0.0047853066 - 241800 0.0052186784 0.0019003946 0.004428192 - 241900 0.0053083921 0.0020270629 0.0045983153 - 242000 0.0045613929 0.0017495958 0.0039590204 - 242100 0.0053975892 0.0017730026 0.0043874599 - 242200 0.0058277191 0.0020860266 0.0049088281 - 242300 0.005049181 0.0022593641 0.0047050612 - 242400 0.0048413414 0.0024018051 0.0047468299 - 242500 0.0052376124 0.0026273034 0.0051642719 - 242600 0.0060061037 0.0026127499 0.0055219564 - 242700 0.0059299632 0.0025155919 0.0053879178 - 242800 0.0054485027 0.0024640599 0.0051031784 - 242900 0.0047623829 0.0022967118 0.004603491 - 243000 0.0063633347 0.0025207717 0.0056030119 - 243100 0.0045125438 0.0027099903 0.0048957537 - 243200 0.0048052365 0.0027052507 0.0050327871 - 243300 0.0059757193 0.0024615976 0.0053560866 - 243400 0.0061589753 0.0022001475 0.0051834012 - 243500 0.0047142979 0.0021799774 0.0044634655 - 243600 0.0047056913 0.0022800163 0.0045593356 - 243700 0.0059142249 0.0020880174 0.0049527201 - 243800 0.0064136136 0.0020587049 0.005165299 - 243900 0.0048816043 0.0024468295 0.0048113566 - 244000 0.0048074604 0.0033398968 0.0056685104 - 244100 0.0046559031 0.003248713 0.0055039161 - 244200 0.0055436955 0.0027289447 0.0054141722 - 244300 0.0070264054 0.0024818683 0.0058852834 - 244400 0.0051233199 0.0031479758 0.0056295838 - 244500 0.0056598048 0.0031698625 0.0059113305 - 244600 0.0057580601 0.0025725437 0.0053616041 - 244700 0.0049095636 0.0025240111 0.0049020809 - 244800 0.0057913166 0.0025613171 0.0053664861 - 244900 0.0041071411 0.0026002993 0.0045896957 - 245000 0.0046756988 0.0024115673 0.0046763589 - 245100 0.0056179717 0.0025698964 0.0052911014 - 245200 0.0034182365 0.0022096604 0.0038653687 - 245300 0.0046988398 0.002179747 0.0044557475 - 245400 0.0049488171 0.0022804486 0.0046775318 - 245500 0.0041323873 0.0028051411 0.0048067662 - 245600 0.0046980622 0.0031284548 0.0054040787 - 245700 0.0056452324 0.0031059223 0.0058403318 - 245800 0.0054631839 0.0029054784 0.0055517081 - 245900 0.0070675091 0.0025991726 0.0060224973 - 246000 0.0045481252 0.002713764 0.0049167622 - 246100 0.0054761255 0.0028389041 0.0054914024 - 246200 0.0044324429 0.0029082778 0.0050552424 - 246300 0.0040348864 0.0025527813 0.0045071794 - 246400 0.0056796243 0.0029614693 0.0057125373 - 246500 0.0055188937 0.0036872414 0.0063604556 - 246600 0.0055529288 0.0035214136 0.0062111135 - 246700 0.0047160145 0.0029122135 0.005196533 - 246800 0.00594989 0.0029536689 0.0058356469 - 246900 0.007630909 0.0027956558 0.0064918773 - 247000 0.0054893054 0.0034634935 0.0061223759 - 247100 0.0061033789 0.0031795788 0.006135903 - 247200 0.0072617431 0.0028361746 0.0063535815 - 247300 0.006263785 0.0022991135 0.0053331344 - 247400 0.0038192951 0.0021797875 0.0040297586 - 247500 0.0055273506 0.0022985558 0.0049758662 - 247600 0.0036791679 0.002800514 0.004582611 - 247700 0.004826145 0.0026802853 0.0050179492 - 247800 0.006046772 0.002848815 0.0057777202 - 247900 0.004601667 0.0029376211 0.0051665536 - 248000 0.0046772133 0.0026812409 0.0049467661 - 248100 0.0046937623 0.0026567352 0.0049302763 - 248200 0.0051140555 0.0026949542 0.0051720748 - 248300 0.0032589626 0.0026990045 0.0042775645 - 248400 0.0042668957 0.0023476537 0.0044144313 - 248500 0.0067954071 0.0022232043 0.0055147296 - 248600 0.004832643 0.0025040369 0.0048448484 - 248700 0.0036562785 0.002936838 0.0047078479 - 248800 0.0044334735 0.0026584576 0.0048059214 - 248900 0.0038348191 0.0020077313 0.0038652218 - 249000 0.0051633196 0.001938844 0.0044398269 - 249100 0.0044188972 0.0022355097 0.004375913 - 249200 0.0059340369 0.002308091 0.0051823901 - 249300 0.0068290885 0.0022267603 0.0055346001 - 249400 0.0076446534 0.00282856 0.006531439 - 249500 0.0055814904 0.003103097 0.0058066314 - 249600 0.0040654125 0.0031745258 0.00514371 - 249700 0.004792743 0.0025014055 0.0048228904 - 249800 0.004687433 0.0018758624 0.0041463378 - 249900 0.0062360216 0.0016514885 0.0046720614 - 250000 0.003840373 0.0018880808 0.0037482615 - 250100 0.0040635215 0.0022489819 0.0042172502 - 250200 0.0054691913 0.0023548199 0.0050039594 - 250300 0.0055497907 0.002583402 0.0052715819 - 250400 0.0066972725 0.0023764237 0.0056204151 - 250500 0.0039151024 0.0026815474 0.0045779251 - 250600 0.0047727283 0.0025481241 0.0048599144 - 250700 0.0048081972 0.0024981607 0.0048271312 - 250800 0.0054004036 0.002419393 0.0050352135 - 250900 0.0061612216 0.0023458556 0.0053301974 - 251000 0.0047173707 0.0024238338 0.0047088102 - 251100 0.0048779337 0.0022743677 0.0046371168 - 251200 0.003745594 0.002236078 0.0040503501 - 251300 0.0043768581 0.0020309988 0.0041510394 - 251400 0.00665493 0.0019439845 0.0051674662 - 251500 0.0051692409 0.0021034041 0.0046072551 - 251600 0.0055274991 0.0023233535 0.0050007359 - 251700 0.0056784684 0.0022824742 0.0050329824 - 251800 0.0041177387 0.0026288709 0.0046234006 - 251900 0.0050046679 0.002329221 0.0047533571 - 252000 0.0049046167 0.0022239012 0.0045995749 - 252100 0.0034935569 0.0024088088 0.0041010004 - 252200 0.0059590747 0.0024981145 0.0053845413 - 252300 0.0058021477 0.0026390515 0.0054494668 - 252400 0.0063264705 0.0021374718 0.0052018559 - 252500 0.0061055523 0.0020083589 0.0049657358 - 252600 0.0052691677 0.0021870556 0.0047393087 - 252700 0.0052619769 0.0016690207 0.0042177907 - 252800 0.0055049973 0.0017162665 0.0043827495 - 252900 0.0047765533 0.0026056401 0.0049192831 - 253000 0.0043137988 0.002672107 0.0047616033 - 253100 0.0063097391 0.0023078445 0.0053641244 - 253200 0.0051381574 0.0029118366 0.0054006316 - 253300 0.0049068724 0.0029160435 0.0052928098 - 253400 0.0052657429 0.0027378798 0.0052884741 - 253500 0.0064790318 0.0028014598 0.0059397408 - 253600 0.0063917984 0.0027995179 0.0058955452 - 253700 0.0055354347 0.0035172324 0.0061984586 - 253800 0.0057571901 0.0028000939 0.0055887328 - 253900 0.0045623111 0.002337468 0.0045473375 - 254000 0.0057972895 0.0018763191 0.0046843813 - 254100 0.0046534865 0.0019720253 0.0042260578 - 254200 0.0062063142 0.0019539618 0.0049601453 - 254300 0.0065166813 0.0021526593 0.0053091768 - 254400 0.0052643329 0.0025896358 0.005139547 - 254500 0.0045225071 0.0026638556 0.004854445 - 254600 0.0031138976 0.0026644157 0.0041727098 - 254700 0.0059205565 0.0024847408 0.0053525104 - 254800 0.0046780353 0.002174108 0.0044400313 - 254900 0.0035450308 0.0021388027 0.0038559269 - 255000 0.0045117963 0.0018425622 0.0040279636 - 255100 0.0055112361 0.0018357121 0.004505217 - 255200 0.005448322 0.0020169782 0.0046560092 - 255300 0.0039385542 0.0021829323 0.0040906695 - 255400 0.0055187856 0.0024696756 0.0051428374 - 255500 0.0038962748 0.0025246636 0.0044119217 - 255600 0.004967245 0.0019611141 0.0043671234 - 255700 0.0070388522 0.0019371036 0.0053465476 - 255800 0.0046384403 0.0026255333 0.0048722778 - 255900 0.0048755865 0.0025144246 0.0048760369 - 256000 0.0038340659 0.0027963864 0.0046535121 - 256100 0.0051841428 0.0023232545 0.0048343237 - 256200 0.0056245827 0.0019116833 0.0046360906 - 256300 0.0045934747 0.0021885543 0.0044135186 - 256400 0.0056472024 0.0023536517 0.0050890153 - 256500 0.006807783 0.0026539258 0.0059514457 - 256600 0.0047411602 0.0033621027 0.0056586021 - 256700 0.0057565452 0.002670742 0.0054590686 - 256800 0.0059444935 0.0022357305 0.0051150945 - 256900 0.0052931747 0.0020825413 0.0046464228 - 257000 0.0040115329 0.0018494872 0.0037925734 - 257100 0.0043291471 0.0017512208 0.0038481514 - 257200 0.005263762 0.0015998007 0.0041494354 - 257300 0.0033568335 0.001849402 0.0034753682 - 257400 0.0061843764 0.0016072137 0.004602771 - 257500 0.0047233481 0.0016758338 0.0039637056 - 257600 0.0053182 0.0017493486 0.0043253517 - 257700 0.0058757336 0.0014883028 0.0043343613 - 257800 0.0072035285 0.0016602537 0.0051494628 - 257900 0.0081186197 0.0023863179 0.0063187742 - 258000 0.0047178719 0.002478951 0.0047641702 - 258100 0.0044518041 0.0019618207 0.0041181633 - 258200 0.0056257992 0.0017697468 0.0044947433 - 258300 0.0068307063 0.001612456 0.0049210793 - 258400 0.0050706728 0.001572694 0.0040288012 - 258500 0.0052675117 0.0017788725 0.0043303235 - 258600 0.0041691913 0.0019043594 0.0039238114 - 258700 0.0049803928 0.0016351828 0.0040475606 - 258800 0.0050754091 0.0019049334 0.0043633346 - 258900 0.0046983234 0.0019595429 0.0042352933 - 259000 0.0037413885 0.0017440124 0.0035562475 - 259100 0.0047359317 0.0016126095 0.0039065765 - 259200 0.0042083283 0.0013044754 0.0033428844 - 259300 0.0049319722 0.0015333001 0.0039222241 - 259400 0.0052157592 0.0019103726 0.004436756 - 259500 0.0053248415 0.0022973329 0.004876553 - 259600 0.0035088334 0.0025321158 0.0042317069 - 259700 0.0038089627 0.0024491585 0.0042941247 - 259800 0.0065161276 0.0021674025 0.0053236518 - 259900 0.0054174005 0.002420808 0.0050448614 - 260000 0.0053639465 0.0020315595 0.004629721 - 260100 0.0056403216 0.001915745 0.0046477758 - 260200 0.0060100441 0.0018028914 0.0047140065 - 260300 0.0070289878 0.0013973018 0.0048019677 - 260400 0.0046458117 0.0015503525 0.0038006675 - 260500 0.0046196673 0.0018023303 0.0040399817 - 260600 0.0051224754 0.0020177918 0.0044989908 - 260700 0.0044753941 0.0024621841 0.0046299531 - 260800 0.0038536982 0.002254166 0.004120801 - 260900 0.0064126039 0.0021229393 0.0052290443 - 261000 0.0059060211 0.002330416 0.005191145 - 261100 0.0043724941 0.002545062 0.0046629888 - 261200 0.0042461847 0.0023467461 0.0044034918 - 261300 0.0035961487 0.0019028116 0.0036446962 - 261400 0.004368446 0.0017323522 0.0038483183 - 261500 0.0045048792 0.0018762463 0.0040582971 - 261600 0.0047085558 0.0024625933 0.0047433 - 261700 0.0049114324 0.0028608159 0.005239791 - 261800 0.0053085783 0.002588982 0.0051603246 - 261900 0.0069671853 0.0023205412 0.0056952716 - 262000 0.0054254569 0.0023912166 0.0050191722 - 262100 0.0045823603 0.0025509483 0.004770529 - 262200 0.0053517612 0.0020984567 0.0046907161 - 262300 0.0049300848 0.002140889 0.0045288988 - 262400 0.0049967998 0.0026679139 0.0050882389 - 262500 0.0050594767 0.0024939854 0.0049446694 - 262600 0.0047555061 0.00248758 0.0047910282 - 262700 0.0052783707 0.0022081259 0.0047648366 - 262800 0.0070256528 0.0016249947 0.0050280453 - 262900 0.0062812456 0.0017980906 0.0048405689 - 263000 0.0052501371 0.0025614117 0.0051044469 - 263100 0.0052752081 0.0028004919 0.0053556708 - 263200 0.0037143549 0.003007998 0.0048071386 - 263300 0.004653718 0.0027045379 0.0049586825 - 263400 0.0039925604 0.0027309094 0.0046648059 - 263500 0.0058124768 0.0029632682 0.0057786867 - 263600 0.0063280629 0.0023086314 0.0053737869 - 263700 0.004888505 0.0020311736 0.0043990432 - 263800 0.0062590033 0.0019924896 0.0050241943 - 263900 0.006010035 0.0029262332 0.0058373439 - 264000 0.0060439634 0.0027627943 0.0056903391 - 264100 0.0058323953 0.0021963594 0.0050214258 - 264200 0.0036784955 0.0020079337 0.0037897049 - 264300 0.0053164691 0.0020363197 0.0046114844 - 264400 0.0049534119 0.0023598538 0.0047591627 - 264500 0.0040397091 0.0025499337 0.0045066678 - 264600 0.0068337725 0.0022580577 0.0055681663 - 264700 0.0050256089 0.0021739529 0.0046082322 - 264800 0.0061090579 0.0024530614 0.0054121363 - 264900 0.0058760972 0.0022871067 0.0051333413 - 265000 0.005269257 0.0025112506 0.0050635469 - 265100 0.0052786475 0.0026716069 0.0052284517 - 265200 0.0032038901 0.0024457031 0.0039975874 - 265300 0.0036163004 0.0027541053 0.0045057508 - 265400 0.0053942386 0.003153057 0.0057658913 - 265500 0.0068235888 0.0027737242 0.0060789 - 265600 0.0044997171 0.0027788114 0.0049583619 - 265700 0.0058253902 0.0026537882 0.0054754616 - 265800 0.0044442585 0.0027484697 0.0049011575 - 265900 0.0048903982 0.0024715873 0.004840374 - 266000 0.0050069657 0.0020938724 0.0045191214 - 266100 0.0047747954 0.0019140341 0.0042268257 - 266200 0.0048106546 0.0021224453 0.0044526061 - 266300 0.0049650657 0.0021317683 0.004536722 - 266400 0.0043768411 0.0021909305 0.0043109629 - 266500 0.0058784635 0.002003797 0.0048511778 - 266600 0.0045040309 0.0021315267 0.0043131667 - 266700 0.0054342663 0.0022362437 0.0048684664 - 266800 0.0044080591 0.0023166886 0.0044518422 - 266900 0.0050127374 0.002206361 0.0046344057 - 267000 0.0064913981 0.0020625532 0.0052068242 - 267100 0.005103823 0.0021572166 0.0046293809 - 267200 0.0061272682 0.0019306543 0.0048985499 - 267300 0.0049305577 0.001825894 0.0042141328 - 267400 0.0058503107 0.0017260539 0.0045597982 - 267500 0.0052797997 0.0022498457 0.0048072487 - 267600 0.0050441061 0.0028620063 0.0053052452 - 267700 0.0057612156 0.0030081609 0.0057987498 - 267800 0.0054779221 0.002698006 0.0053513745 - 267900 0.0079551644 0.002574791 0.0064280737 - 268000 0.0032258988 0.0034479065 0.0050104512 - 268100 0.0079095856 0.0029698567 0.0068010622 - 268200 0.0062905401 0.0032786888 0.0063256692 - 268300 0.0062639493 0.0035496172 0.0065837176 - 268400 0.0045671719 0.0033094009 0.0055216248 - 268500 0.0040976821 0.002966342 0.0049511568 - 268600 0.0047931753 0.0025829905 0.0049046848 - 268700 0.0048779032 0.0021015423 0.0044642766 - 268800 0.0050637887 0.0021027144 0.004555487 - 268900 0.0056090882 0.0024495757 0.0051664778 - 269000 0.0039906473 0.0024452565 0.0043782263 - 269100 0.0052418125 0.0027980797 0.0053370826 - 269200 0.0057434724 0.0021612499 0.0049432443 - 269300 0.005216396 0.0020249492 0.0045516411 - 269400 0.0048396659 0.0025649611 0.0049091743 - 269500 0.0054167538 0.0031129076 0.0057366478 - 269600 0.004820009 0.0032376547 0.0055723466 - 269700 0.0070270559 0.0026947011 0.0060984313 - 269800 0.0047443209 0.0025550696 0.0048531001 - 269900 0.0045481729 0.0024033357 0.004606357 - 270000 0.0049086693 0.002049567 0.0044272037 - 270100 0.0058908276 0.0022962981 0.0051496677 - 270200 0.0036067232 0.0026432303 0.0043902368 - 270300 0.0057928784 0.0021974127 0.0050033381 - 270400 0.005053916 0.0021177841 0.0045657746 - 270500 0.0048752186 0.0022275082 0.0045889422 - 270600 0.0032699991 0.0024956807 0.0040795865 - 270700 0.0052927934 0.0025353381 0.0050990349 - 270800 0.0054887423 0.0023931662 0.0050517757 - 270900 0.0058302123 0.0020122873 0.0048362964 - 271000 0.005731027 0.00224232 0.0050182862 - 271100 0.0034969976 0.0023273249 0.0040211832 - 271200 0.0042467378 0.0019570577 0.0040140713 - 271300 0.0031121141 0.0017977344 0.0033051647 - 271400 0.0066475516 0.0016530553 0.0048729631 - 271500 0.0051375937 0.0017690675 0.0042575895 - 271600 0.0041799961 0.0017029927 0.0037276783 - 271700 0.006194718 0.0014154489 0.0044160154 - 271800 0.0047177134 0.0017953302 0.0040804727 - 271900 0.0055799394 0.0019350397 0.0046378228 - 272000 0.0062912494 0.0018971412 0.0049444651 - 272100 0.0035682792 0.0022253613 0.0039537465 - 272200 0.0034853716 0.0020921557 0.0037803825 - 272300 0.0036736845 0.0022032473 0.0039826882 - 272400 0.0050344634 0.0019178184 0.0043563866 - 272500 0.0052441209 0.0019685079 0.0045086289 - 272600 0.0047231838 0.0021900195 0.0044778116 - 272700 0.0058294404 0.0020799349 0.00490357 - 272800 0.0043272736 0.0020678163 0.0041638395 - 272900 0.0038811321 0.002426714 0.0043066374 - 273000 0.005139986 0.002649716 0.0051393967 - 273100 0.0053415066 0.0026965721 0.0052838644 - 273200 0.0063481812 0.0028196737 0.005894574 - 273300 0.0047283376 0.0025522987 0.0048425872 - 273400 0.005696289 0.0026374024 0.0053965423 - 273500 0.0042219208 0.0022958007 0.0043407936 - 273600 0.0036241646 0.0022526091 0.0040080638 - 273700 0.0048816003 0.0021735548 0.0045380799 - 273800 0.0057076251 0.002618648 0.0053832789 - 273900 0.0063742635 0.002580039 0.0056675729 - 274000 0.0056345699 0.0026608727 0.0053901175 - 274100 0.004416718 0.0028973893 0.0050367371 - 274200 0.0057477014 0.0031518095 0.0059358523 - 274300 0.006004147 0.0036299621 0.0065382208 - 274400 0.0063051377 0.0031482632 0.0062023143 - 274500 0.0059790665 0.0027668806 0.0056629909 - 274600 0.0057493674 0.0027634284 0.0055482783 - 274700 0.0072968155 0.0029853977 0.0065197927 - 274800 0.005198957 0.0029540255 0.0054722703 - 274900 0.0050155325 0.0025202834 0.0049496819 - 275000 0.0043899364 0.0026373259 0.0047637014 - 275100 0.0053222175 0.0024349247 0.0050128738 - 275200 0.0040656324 0.0022086715 0.0041779622 - 275300 0.0048220551 0.0020300752 0.0043657581 - 275400 0.0035440769 0.0017625278 0.00347919 - 275500 0.0039093294 0.0017268248 0.0036204062 - 275600 0.0056235296 0.0020717263 0.0047956234 - 275700 0.0056060804 0.0024730979 0.0051885431 - 275800 0.0049264396 0.0023195304 0.0047057746 - 275900 0.0049825251 0.0023696041 0.0047830147 - 276000 0.0054700564 0.0026505187 0.0053000773 - 276100 0.0044169178 0.002485561 0.0046250056 - 276200 0.0055586222 0.0023222053 0.0050146629 - 276300 0.0053705712 0.0023236344 0.0049250048 - 276400 0.0060547452 0.0019992997 0.0049320669 - 276500 0.0046606582 0.0023984461 0.0046559524 - 276600 0.0060511553 0.0026341288 0.0055651571 - 276700 0.0039796743 0.0027619682 0.0046896229 - 276800 0.0054915481 0.0023263863 0.0049863549 - 276900 0.0048440017 0.0023136712 0.0046599846 - 277000 0.0044227366 0.0022648297 0.0044070928 - 277100 0.0038632582 0.0023099025 0.0041811682 - 277200 0.0038444967 0.0021885764 0.0040507545 - 277300 0.0055892187 0.00200039 0.0047076679 - 277400 0.0039236785 0.0020672236 0.0039677554 - 277500 0.0034056352 0.0020528058 0.0037024104 - 277600 0.0036934351 0.00213724 0.0039262476 - 277700 0.0046906213 0.0021499904 0.0044220102 - 277800 0.00609252 0.0018436492 0.0047947136 - 277900 0.0049513435 0.0014812055 0.0038795125 - 278000 0.003047044 0.0015995049 0.0030754169 - 278100 0.0034529396 0.0022277632 0.0039002809 - 278200 0.0043306675 0.0022844394 0.0043821065 - 278300 0.0054848878 0.0022335678 0.0048903103 - 278400 0.0057710311 0.0021207813 0.0049161245 - 278500 0.0039414831 0.0022412189 0.0041503748 - 278600 0.0034676854 0.0028701517 0.0045498118 - 278700 0.0062396434 0.0026863731 0.0057087004 - 278800 0.0057227613 0.0024608786 0.0052328412 - 278900 0.0051820952 0.0026300063 0.0051400837 - 279000 0.005976977 0.0026068986 0.0055019968 - 279100 0.0044933695 0.002436609 0.0046130849 - 279200 0.006899132 0.0024907889 0.0058325559 - 279300 0.003761944 0.0026302171 0.0044524087 - 279400 0.0043545816 0.0024801557 0.0045894062 - 279500 0.0053597518 0.0027179644 0.0053140942 - 279600 0.0050414284 0.0027654488 0.0052073906 - 279700 0.0042915111 0.002860104 0.0049388047 - 279800 0.004025961 0.0032152861 0.005165361 - 279900 0.0047655282 0.0030243479 0.0053326506 - 280000 0.0054075633 0.0028544309 0.0054737194 - 280100 0.0044873034 0.0026352172 0.0048087548 - 280200 0.0048953564 0.0022515318 0.0046227201 - 280300 0.00460641 0.0022037379 0.0044349677 - 280400 0.0050615033 0.0024758118 0.0049274775 - 280500 0.0043289014 0.001877696 0.0039745076 - 280600 0.0048357445 0.0017671946 0.0041095083 - 280700 0.0033548259 0.0017203931 0.0033453869 - 280800 0.0046363266 0.0018056278 0.0040513485 - 280900 0.0053820712 0.0019477469 0.0045546877 - 281000 0.0065609301 0.002316338 0.0054942886 - 281100 0.0055500429 0.0019422518 0.0046305538 - 281200 0.003664777 0.0018951105 0.0036702368 - 281300 0.0062900219 0.0021375778 0.0051843071 - 281400 0.004712892 0.00246706 0.0047498671 - 281500 0.0034911336 0.0023968133 0.0040878311 - 281600 0.0061169372 0.0018671526 0.0048300441 - 281700 0.0046924866 0.0024158831 0.0046888063 - 281800 0.0045594828 0.0025793598 0.0047878592 - 281900 0.0044891123 0.0023825568 0.0045569706 - 282000 0.0047646967 0.0021679185 0.0044758185 - 282100 0.0054799134 0.0020904725 0.0047448055 - 282200 0.0049555397 0.0017257586 0.0041260981 - 282300 0.0048169727 0.0015553753 0.0038885965 - 282400 0.0038647632 0.0014253841 0.0032973788 - 282500 0.0062442579 0.0013567627 0.0043813251 - 282600 0.0035521143 0.0016501699 0.0033707253 - 282700 0.0060996729 0.0017251984 0.0046797275 - 282800 0.003993268 0.0021202349 0.0040544741 - 282900 0.005003996 0.0017605337 0.0041843442 - 283000 0.0047445357 0.0017664565 0.004064591 - 283100 0.0050042115 0.0022662518 0.0046901667 - 283200 0.0041964413 0.0024572061 0.0044898573 - 283300 0.0043024732 0.0026301756 0.0047141861 - 283400 0.0071269919 0.0026617283 0.006113865 - 283500 0.0061461533 0.0023906431 0.0053676861 - 283600 0.0038239749 0.0024142 0.0042664378 - 283700 0.0052982747 0.0023992978 0.0049656496 - 283800 0.0060131159 0.0024285987 0.0053412017 - 283900 0.0046165231 0.0023469422 0.0045830706 - 284000 0.0040749037 0.0024865385 0.00446032 - 284100 0.0051019896 0.0025776224 0.0050488986 - 284200 0.0051827365 0.00292629 0.005436678 - 284300 0.0042477718 0.0033523498 0.0054098642 - 284400 0.0040148339 0.0026454072 0.0045900924 - 284500 0.005786173 0.001843288 0.0046459655 - 284600 0.0045501146 0.0018996266 0.0041035884 - 284700 0.0034149759 0.0021404735 0.0037946024 - 284800 0.0060329469 0.0019663474 0.0048885561 - 284900 0.0060143164 0.0023801317 0.0052933162 - 285000 0.0051160004 0.0029107115 0.0053887742 - 285100 0.0051120351 0.0024212153 0.0048973573 - 285200 0.0046770328 0.0019142654 0.0041797032 - 285300 0.0061166259 0.0014248263 0.0043875669 - 285400 0.0042472827 0.0019623021 0.0040195796 - 285500 0.003554286 0.0019961642 0.0037177714 - 285600 0.0052552881 0.0016050932 0.0041506234 - 285700 0.0061879424 0.0017956191 0.0047929037 - 285800 0.0056271643 0.0022742261 0.0049998838 - 285900 0.0049265381 0.0023623822 0.0047486741 - 286000 0.0045074912 0.0024537117 0.0046370277 - 286100 0.0064203719 0.0020527594 0.005162627 - 286200 0.0051812531 0.0024050303 0.0049146998 - 286300 0.0052708805 0.0023959674 0.0049490501 - 286400 0.0051490525 0.0021706606 0.0046647329 - 286500 0.0049610143 0.0021289454 0.0045319367 - 286600 0.0050519506 0.0028283491 0.0052753877 - 286700 0.0037305106 0.0032208086 0.0050277747 - 286800 0.0061379725 0.0031427698 0.0061158502 - 286900 0.0055056139 0.0030135492 0.0056803309 - 287000 0.0057428556 0.002687509 0.0054692047 - 287100 0.005668155 0.0026121588 0.0053576713 - 287200 0.0056442236 0.00260797 0.0053418908 - 287300 0.0055024462 0.0026422113 0.0053074587 - 287400 0.0075779213 0.0023957023 0.0060662579 - 287500 0.0047342733 0.0022842035 0.0045773671 - 287600 0.0068547693 0.0021751277 0.0054954066 - 287700 0.0054653308 0.0025214307 0.0051687003 - 287800 0.0049848633 0.0028654939 0.005280037 - 287900 0.0042434717 0.0028334978 0.0048889294 - 288000 0.0056501839 0.0023412273 0.0050780352 - 288100 0.0037990131 0.0024017251 0.004241872 - 288200 0.0057313819 0.0023093976 0.0050855356 - 288300 0.0046235434 0.0020671971 0.0043067259 - 288400 0.0048044071 0.0019254613 0.004252596 - 288500 0.0053265656 0.0021301946 0.0047102498 - 288600 0.0049862582 0.002333241 0.0047484599 - 288700 0.0056025701 0.0025692856 0.0052830304 - 288800 0.0042550719 0.0023849649 0.0044460153 - 288900 0.0062047048 0.0018742869 0.0048796908 - 289000 0.0049504005 0.0018319234 0.0042297736 - 289100 0.0042249641 0.0019319721 0.003978439 - 289200 0.0054274524 0.0020533005 0.0046822227 - 289300 0.0049626652 0.0020780142 0.0044818051 - 289400 0.0049047062 0.0022827933 0.0046585104 - 289500 0.0053574873 0.0022592846 0.0048543175 - 289600 0.0037800207 0.0024930435 0.0043239911 - 289700 0.0036875602 0.0024109536 0.0041971155 - 289800 0.0034075936 0.0024153023 0.0040658554 - 289900 0.0049780497 0.0022573917 0.0046686345 - 290000 0.0051216526 0.001905486 0.0043862864 - 290100 0.0038758829 0.0021757955 0.0040531762 - 290200 0.0038574497 0.0017233101 0.0035917623 - 290300 0.0043717036 0.0018746528 0.0039921967 - 290400 0.0068083572 0.0016338543 0.0049316523 - 290500 0.0044327986 0.0019991163 0.0041462531 - 290600 0.0056221578 0.0020720494 0.0047952821 - 290700 0.0047315666 0.0020690294 0.004360882 - 290800 0.0072145469 0.0020831747 0.0055777209 - 290900 0.0042575088 0.0024865838 0.0045488146 - 291000 0.0041466948 0.0027040413 0.0047125965 - 291100 0.0058427124 0.0026887315 0.0055187953 - 291200 0.0061456833 0.0028577563 0.0058345717 - 291300 0.0061423461 0.0028322275 0.0058074264 - 291400 0.0047802823 0.0023821023 0.0046975515 - 291500 0.0054344087 0.0020621012 0.0046943929 - 291600 0.0049758333 0.0019609841 0.0043711534 - 291700 0.0041863687 0.0020423122 0.0040700846 - 291800 0.0055801607 0.0023351118 0.0050380021 - 291900 0.0056856988 0.0026243119 0.0053783222 - 292000 0.005754962 0.0027465637 0.0055341234 - 292100 0.0042304984 0.002228974 0.0042781217 - 292200 0.0060096783 0.0020208493 0.0049317873 - 292300 0.0052146218 0.0021279129 0.0046537453 - 292400 0.0062311074 0.0017922221 0.0048104147 - 292500 0.0044781582 0.002050183 0.0042192909 - 292600 0.0058848216 0.0020830024 0.0049334629 - 292700 0.0060493032 0.0020534975 0.0049836288 - 292800 0.0044165524 0.0022990951 0.0044383627 - 292900 0.0058789535 0.0022567444 0.0051043626 - 293000 0.005662544 0.0020769191 0.0048197138 - 293100 0.0072232266 0.0022425996 0.00574135 - 293200 0.0061232458 0.0031284991 0.0060944462 - 293300 0.0059246434 0.0033541553 0.0062239045 - 293400 0.0067097379 0.0029505219 0.0062005512 - 293500 0.0056296657 0.0030218491 0.0057487184 - 293600 0.0039748938 0.0029699761 0.0048953153 - 293700 0.0065484728 0.0026244721 0.0057963886 - 293800 0.0073392563 0.0026925692 0.0062475214 - 293900 0.0057582151 0.0028094831 0.0055986185 - 294000 0.004538544 0.002509564 0.0047079213 - 294100 0.0044047648 0.0022007731 0.0043343311 - 294200 0.0052934666 0.0020390474 0.0046030702 - 294300 0.0061058705 0.0021158672 0.0050733982 - 294400 0.0050344655 0.0021113529 0.0045499222 - 294500 0.0045809326 0.0023376689 0.0045565581 - 294600 0.0054211049 0.0022611612 0.0048870088 - 294700 0.0058076795 0.0020239704 0.0048370652 - 294800 0.0057590055 0.0021965197 0.004986038 - 294900 0.0050513169 0.002200315 0.0046470466 - 295000 0.0049075058 0.0022296147 0.0046066879 - 295100 0.0055401878 0.0024273575 0.0051108859 - 295200 0.00607398 0.002159578 0.0051016621 - 295300 0.0037684568 0.0021293416 0.0039546879 - 295400 0.0043112743 0.0019853384 0.0040736119 - 295500 0.0045270608 0.00226977 0.0044625651 - 295600 0.0047932152 0.0025499174 0.004871631 - 295700 0.00624084 0.0022932062 0.0053161131 - 295800 0.0064115155 0.0019563073 0.0050618852 - 295900 0.0039986193 0.0023714683 0.0043082995 - 296000 0.0045616 0.0024176892 0.0046272142 - 296100 0.0047329649 0.0025202435 0.0048127734 - 296200 0.0073159209 0.0027672246 0.0063108738 - 296300 0.0051610177 0.0028790672 0.0053789351 - 296400 0.0043827003 0.002245762 0.0043686324 - 296500 0.0065197923 0.0022129578 0.0053709822 - 296600 0.0059304012 0.0021762535 0.0050487916 - 296700 0.0062477932 0.0023235058 0.0053497806 - 296800 0.0057577672 0.0026256775 0.005414596 - 296900 0.0052910129 0.0023150716 0.004877906 - 297000 0.0065153992 0.0022116377 0.0053675342 - 297100 0.0049235535 0.0023376145 0.0047224607 - 297200 0.0052307269 0.002447234 0.0049808674 - 297300 0.0043038583 0.0026640542 0.0047487355 - 297400 0.0060021428 0.0027115781 0.0056188661 - 297500 0.0050781134 0.0026797757 0.0051394869 - 297600 0.0063573219 0.0030559718 0.0061352996 - 297700 0.0044253373 0.0029716449 0.0051151677 - 297800 0.006339385 0.0028369719 0.0059076115 - 297900 0.0062965307 0.002624069 0.0056739511 - 298000 0.0038797199 0.0027087948 0.0045880342 - 298100 0.0049882281 0.0023853754 0.0048015484 - 298200 0.0042051452 0.0021808957 0.0042177629 - 298300 0.003786051 0.0021775112 0.0040113796 - 298400 0.0049912473 0.0021294928 0.0045471282 - 298500 0.0047586844 0.0017965245 0.0041015122 - 298600 0.0048716934 0.0017142086 0.0040739351 - 298700 0.0056879465 0.0019625094 0.0047176085 - 298800 0.0052335251 0.0020504705 0.0045854592 - 298900 0.0058194918 0.002044887 0.0048637034 - 299000 0.0048018757 0.0020833163 0.0044092248 - 299100 0.0059772835 0.0018254251 0.0047206718 - 299200 0.0038077208 0.001879495 0.0037238597 - 299300 0.0065616236 0.0019687144 0.0051470008 - 299400 0.0051041607 0.0019767518 0.0044490796 - 299500 0.0064380036 0.0020033074 0.0051217153 - 299600 0.0053702061 0.0019924504 0.004593644 - 299700 0.0065251193 0.0020709074 0.0052315121 - 299800 0.0044270964 0.0020909696 0.0042353445 - 299900 0.0038858323 0.0022098233 0.0040920233 - 300000 0.0051697864 0.0023828084 0.0048869237 - 300100 0.0056852366 0.0026037287 0.0053575151 - 300200 0.005237369 0.0022095344 0.004746385 - 300300 0.0042697415 0.0024767489 0.004544905 - 300400 0.0040226593 0.0023191483 0.0042676239 - 300500 0.0045656996 0.0021236544 0.0043351652 - 300600 0.004428291 0.0022743039 0.0044192574 - 300700 0.0067076301 0.0024061226 0.0056551309 - 300800 0.004711198 0.0024809999 0.0047629864 - 300900 0.0050098608 0.0023185445 0.0047451959 - 301000 0.0046160334 0.0019968755 0.0042327667 - 301100 0.0053764575 0.0017902758 0.0043944974 - 301200 0.0049342316 0.0018952057 0.0042852241 - 301300 0.0050924735 0.0021512481 0.004617915 - 301400 0.0052204774 0.002006928 0.0045355968 - 301500 0.0047082749 0.0017361699 0.0040167406 - 301600 0.0048625692 0.0016964196 0.0040517265 - 301700 0.0043972004 0.0020556723 0.0041855663 - 301800 0.0035864233 0.0020547534 0.0037919271 - 301900 0.0069740594 0.0017763235 0.0051543835 - 302000 0.0030741852 0.0021111307 0.0036001891 - 302100 0.0062654625 0.0023596327 0.0053944661 - 302200 0.0054746563 0.0026259513 0.0052777379 - 302300 0.0054139906 0.0020563704 0.0046787721 - 302400 0.0046312364 0.0022165393 0.0044597945 - 302500 0.0051235109 0.0025393308 0.0050210314 - 302600 0.0042370704 0.0027944635 0.0048467945 - 302700 0.0047036264 0.0024697095 0.0047480286 - 302800 0.0050692922 0.002165856 0.0046212945 - 302900 0.0044198074 0.002720335 0.0048611792 - 303000 0.0049197537 0.0028570571 0.0052400628 - 303100 0.0043388125 0.0025930336 0.0046946459 - 303200 0.0044678415 0.0020970143 0.004261125 - 303300 0.0040236227 0.0017369246 0.0036858668 - 303400 0.0049769434 0.0017071217 0.0041178287 - 303500 0.0049072332 0.0018950275 0.0042719686 - 303600 0.0043772125 0.001995364 0.0041155763 - 303700 0.0043669385 0.0024568834 0.0045721192 - 303800 0.0043307663 0.002545941 0.0046436559 - 303900 0.0042300286 0.0021400475 0.0041889676 - 304000 0.0052738864 0.0015509765 0.0041055152 - 304100 0.0046433498 0.0016978455 0.0039469681 - 304200 0.0037355155 0.0023674443 0.0041768347 - 304300 0.0046679388 0.0022864153 0.0045474481 - 304400 0.0049127508 0.0024410788 0.0048206925 - 304500 0.0049198448 0.0024822241 0.0048652739 - 304600 0.0033705167 0.0021655031 0.0037980972 - 304700 0.0044683088 0.0018748499 0.004039187 - 304800 0.0048398483 0.0017818811 0.0041261826 - 304900 0.0057192778 0.0019196914 0.0046899666 - 305000 0.0054198301 0.0023417641 0.0049669944 - 305100 0.005658651 0.0023636853 0.0051045944 - 305200 0.0064689008 0.0023452214 0.0054785952 - 305300 0.0060902269 0.0026367845 0.0055867382 - 305400 0.0033567927 0.0029501828 0.0045761292 - 305500 0.0042164705 0.0027017896 0.0047441426 - 305600 0.0042503504 0.0026358114 0.0046945749 - 305700 0.0046530992 0.0022386204 0.0044924653 - 305800 0.0045921582 0.0022401021 0.0044644287 - 305900 0.0030666111 0.0025930676 0.0040784574 - 306000 0.0064337535 0.0025821995 0.0056985489 - 306100 0.0044606564 0.002705796 0.0048664264 - 306200 0.0055262061 0.0024500124 0.0051267684 - 306300 0.0058160386 0.0018711082 0.0046882519 - 306400 0.0045778824 0.0019313201 0.0041487319 - 306500 0.0067246156 0.0023495257 0.0056067613 - 306600 0.0043343898 0.0024501064 0.0045495765 - 306700 0.0050596271 0.002031493 0.0044822498 - 306800 0.0052212339 0.0014487258 0.0039777609 - 306900 0.0034556631 0.0016509755 0.0033248123 - 307000 0.0045210562 0.0018402752 0.0040301619 - 307100 0.0040733763 0.002018593 0.0039916347 - 307200 0.0062392431 0.0018685074 0.0048906408 - 307300 0.004717321 0.0023319148 0.0046168672 - 307400 0.0045625533 0.0026460381 0.0048560248 - 307500 0.0065293324 0.0024289333 0.0055915786 - 307600 0.0064661655 0.0020303867 0.0051624356 - 307700 0.0055993079 0.0018244228 0.0045365876 - 307800 0.0064311429 0.0023455802 0.0054606651 - 307900 0.0048806105 0.0027903247 0.0051543705 - 308000 0.0044242805 0.0024212854 0.0045642963 - 308100 0.0044772849 0.0024033528 0.0045720377 - 308200 0.0034400384 0.0026575495 0.0043238181 - 308300 0.0053243721 0.0025601048 0.0051390976 - 308400 0.0051437615 0.0026309935 0.0051225029 - 308500 0.0049764554 0.0025213035 0.0049317741 - 308600 0.0055129734 0.0022898018 0.0049601483 - 308700 0.004229622 0.0023842385 0.0044329617 - 308800 0.003878809 0.0021722385 0.0040510366 - 308900 0.004391638 0.0024504288 0.0045776285 - 309000 0.0037982747 0.0024222511 0.0042620404 - 309100 0.0057581475 0.0022771556 0.0050662583 - 309200 0.0050143736 0.0027918241 0.0052206613 - 309300 0.0048434915 0.0030118163 0.0053578825 - 309400 0.005497243 0.0027303471 0.0053930742 - 309500 0.0045694354 0.0024562012 0.0046695215 - 309600 0.0054987405 0.0022856018 0.0049490542 - 309700 0.0052955631 0.0024276709 0.0049927093 - 309800 0.0039840021 0.00280008 0.004729831 - 309900 0.0045019149 0.0025729222 0.0047535372 - 310000 0.0034586245 0.0021421196 0.0038173908 - 310100 0.0038138403 0.0019081209 0.0037554498 - 310200 0.0041810826 0.0021447346 0.0041699465 - 310300 0.0062348317 0.0020328312 0.0050528278 - 310400 0.0074580415 0.0019295828 0.0055420717 - 310500 0.0040171861 0.0023896365 0.0043354611 - 310600 0.0050458501 0.0025892375 0.0050333211 - 310700 0.0061784641 0.0024350176 0.0054277111 - 310800 0.0043775919 0.0026637609 0.004784157 - 310900 0.0064152905 0.002782843 0.0058902494 - 311000 0.0044313688 0.0024267642 0.0045732085 - 311100 0.0067116167 0.0022425931 0.0054935324 - 311200 0.0067085984 0.0022356766 0.005485154 - 311300 0.0047843671 0.0027619115 0.0050793393 - 311400 0.0047137963 0.0025079929 0.004791238 - 311500 0.0032132491 0.0026945801 0.0042509976 - 311600 0.0055397163 0.002515562 0.0051988621 - 311700 0.0054750437 0.0031895375 0.0058415118 - 311800 0.0061897 0.0031564834 0.0061546193 - 311900 0.0063037731 0.0029239269 0.005977317 - 312000 0.0058006901 0.0024698674 0.0052795767 - 312100 0.0048859388 0.0020722211 0.0044388478 - 312200 0.0052031237 0.0017145158 0.0042347788 - 312300 0.0056612279 0.0020349417 0.0047770989 - 312400 0.0053487988 0.0024027483 0.0049935727 - 312500 0.0045596714 0.0023881513 0.0045967421 - 312600 0.0060677253 0.0021044293 0.0050434838 - 312700 0.0039097786 0.0024468246 0.0043406236 - 312800 0.0044116546 0.0027561856 0.0048930808 - 312900 0.0040679797 0.0027926295 0.0047630572 - 313000 0.0042333158 0.0031291415 0.0051796538 - 313100 0.0056606347 0.0033573681 0.006099238 - 313200 0.0066384706 0.0027863829 0.0060018921 - 313300 0.0056735102 0.002026208 0.0047743145 - 313400 0.0051857966 0.001989157 0.0045010273 - 313500 0.0047678964 0.001952217 0.0042616669 - 313600 0.0057782129 0.0021224277 0.0049212495 - 313700 0.0046493881 0.0019022251 0.0041542725 - 313800 0.0043099587 0.0017742296 0.0038618659 - 313900 0.004480202 0.0018380441 0.004008142 - 314000 0.0042542315 0.001783789 0.0038444324 - 314100 0.007785569 0.0018297916 0.0056009266 - 314200 0.0066732828 0.0020146496 0.005247021 - 314300 0.0062985715 0.0020935048 0.0051443754 - 314400 0.0049784092 0.0018755834 0.0042870003 - 314500 0.0047713347 0.0016820373 0.0039931525 - 314600 0.0052198137 0.0016648185 0.0041931658 - 314700 0.0061979521 0.0019535301 0.0049556632 - 314800 0.0049515303 0.0021285482 0.0045269457 - 314900 0.0045132376 0.002465457 0.0046515564 - 315000 0.0048123613 0.0023122931 0.0046432806 - 315100 0.0051132724 0.0022380397 0.004714781 - 315200 0.0039218844 0.002403125 0.0043027877 - 315300 0.0083593784 0.002053197 0.006102271 - 315400 0.0032322871 0.0026759522 0.0042415913 - 315500 0.0039416833 0.0027338555 0.0046431084 - 315600 0.004825659 0.0025893625 0.004926791 - 315700 0.0037613117 0.0025357775 0.0043576628 - 315800 0.0051007694 0.002537531 0.0050082161 - 315900 0.0049208238 0.0026820177 0.0050655418 - 316000 0.0045147451 0.0022733028 0.0044601324 - 316100 0.0049485332 0.0020010714 0.0043980171 - 316200 0.0038538121 0.0019222601 0.0037889503 - 316300 0.0037903815 0.0020680216 0.0039039876 - 316400 0.0068227753 0.0017544868 0.0050592686 - 316500 0.0049345852 0.0021567763 0.004546966 - 316600 0.0054031524 0.0024862258 0.0051033777 - 316700 0.0051304454 0.0024481279 0.0049331874 - 316800 0.0048610189 0.002166237 0.004520793 - 316900 0.005192057 0.0018025573 0.0043174599 - 317000 0.0047356143 0.0014142953 0.0037081085 - 317100 0.0047218415 0.0017572361 0.0040443781 - 317200 0.0047211141 0.0020307216 0.0043175112 - 317300 0.0043180202 0.0025274522 0.0046189933 - 317400 0.004995451 0.0027447598 0.0051644314 - 317500 0.0045832886 0.0028351687 0.0050551992 - 317600 0.003636182 0.0025288171 0.0042900927 - 317700 0.00517903 0.0020476817 0.0045562744 - 317800 0.0049644459 0.0022254804 0.0046301339 - 317900 0.0066883205 0.0021698853 0.0054095406 - 318000 0.0046736221 0.0026543574 0.0049181431 - 318100 0.0057384413 0.0029254511 0.0057050087 - 318200 0.0056906776 0.0030658223 0.0058222443 - 318300 0.0060708371 0.0030123286 0.0059528904 - 318400 0.0062898126 0.0028016735 0.0058483015 - 318500 0.0056893881 0.0028201687 0.005575966 - 318600 0.0075068126 0.0021660662 0.0058021785 - 318700 0.0040378679 0.0026751663 0.0046310086 - 318800 0.0044841708 0.0027530532 0.0049250734 - 318900 0.0036053596 0.0032303 0.004976646 - 319000 0.0051597759 0.0031017345 0.005601001 - 319100 0.0059055047 0.0024139917 0.0052744705 - 319200 0.0044774986 0.0028188261 0.0049876144 - 319300 0.0042752053 0.0024653574 0.0045361599 - 319400 0.0044617121 0.0021085313 0.0042696731 - 319500 0.0036710069 0.0019352053 0.0037133493 - 319600 0.003573466 0.0018392521 0.0035701497 - 319700 0.0035782806 0.0020374161 0.0037706458 - 319800 0.0047320345 0.0023280944 0.0046201737 - 319900 0.005212714 0.0025998087 0.005124717 - 320000 0.0048382529 0.0025219708 0.0048654996 - 320100 0.0048526767 0.0025556548 0.0049061701 - 320200 0.0045535429 0.0026952901 0.0049009124 - 320300 0.0053986582 0.002847617 0.0054625921 - 320400 0.0058061803 0.0025845145 0.0053968831 - 320500 0.0056475748 0.0019888273 0.0047243714 - 320600 0.0050077215 0.0023612725 0.0047868876 - 320700 0.0027967195 0.0026141653 0.0039688263 - 320800 0.0035679851 0.0024721846 0.0042004274 - 320900 0.0062719149 0.0024061903 0.0054441491 - 321000 0.0053386164 0.0025222781 0.0051081704 - 321100 0.0049358394 0.0027162487 0.0051070459 - 321200 0.0046641643 0.0030701027 0.0053293073 - 321300 0.0063828707 0.0031742168 0.0062659198 - 321400 0.0069542474 0.0032779068 0.0066463704 - 321500 0.0049380597 0.0030341532 0.0054260259 - 321600 0.0063153572 0.003053056 0.0061120571 - 321700 0.0050487503 0.0035569924 0.0060024808 - 321800 0.0058858416 0.003088806 0.0059397605 - 321900 0.00459321 0.0026922259 0.004917062 - 322000 0.0061449898 0.0025908962 0.0055673756 - 322100 0.0050782733 0.0023956834 0.004855472 - 322200 0.0056183878 0.001938786 0.0046601926 - 322300 0.0045948467 0.0020185653 0.0042441942 - 322400 0.0065018301 0.0022373027 0.0053866266 - 322500 0.0052984038 0.0022473439 0.0048137582 - 322600 0.0048928372 0.0022208698 0.0045908379 - 322700 0.006704038 0.0023453206 0.005592589 - 322800 0.0051410371 0.0024095212 0.0048997111 - 322900 0.0051478534 0.0023195697 0.0048130612 - 323000 0.0054594467 0.0023695538 0.0050139733 - 323100 0.0066693942 0.0021823144 0.0054128022 - 323200 0.0059523107 0.0025005645 0.005383715 - 323300 0.0023798394 0.0031890469 0.0043417816 - 323400 0.0060256569 0.0029678729 0.0058865504 - 323500 0.0055538314 0.002613578 0.0053037151 - 323600 0.0050657291 0.0025802014 0.005033914 - 323700 0.0040218588 0.0025862687 0.0045343566 - 323800 0.0063346253 0.0025661317 0.0056344658 - 323900 0.0064242241 0.0028022614 0.0059139949 - 324000 0.0057008445 0.0028443506 0.0056056972 - 324100 0.0045477325 0.0027213013 0.0049241093 - 324200 0.005294888 0.0021739585 0.0047386699 - 324300 0.0052320005 0.0023656514 0.0048999016 - 324400 0.0064986617 0.0022451232 0.0053929125 - 324500 0.0060030927 0.0023547613 0.0052625094 - 324600 0.0053592441 0.0026246294 0.0052205133 - 324700 0.004884889 0.0023617381 0.0047278562 - 324800 0.0045261905 0.0024111151 0.0046034886 - 324900 0.0044270898 0.0024311094 0.004575481 - 325000 0.0049208698 0.0022783678 0.0046619141 - 325100 0.0057024592 0.0022683858 0.0050305145 - 325200 0.0056971011 0.0025565539 0.0053160873 - 325300 0.0052872603 0.0021960778 0.0047570945 - 325400 0.0053993826 0.0018134537 0.0044287797 - 325500 0.0040905242 0.0023465547 0.0043279023 - 325600 0.0057239098 0.0019642632 0.004736782 - 325700 0.0048993033 0.0016525162 0.0040256162 - 325800 0.0034508452 0.0018311044 0.0035026076 - 325900 0.0057442468 0.0020400661 0.0048224356 - 326000 0.0054486244 0.0023744639 0.0050136413 - 326100 0.0051852192 0.0022124472 0.0047240377 - 326200 0.004597662 0.0021126922 0.0043396848 - 326300 0.0056227048 0.0021766025 0.0049001002 - 326400 0.0044456844 0.0020952158 0.0042485942 - 326500 0.0038966976 0.0020385023 0.0039259652 - 326600 0.0049391006 0.0017399899 0.0041323668 - 326700 0.0051069879 0.0017263433 0.0042000405 - 326800 0.004825054 0.0019122312 0.0042493667 - 326900 0.0045616528 0.0022371183 0.0044466689 - 327000 0.0053301094 0.0023392119 0.0049209836 - 327100 0.0046038147 0.00252156 0.0047515328 - 327200 0.0076582834 0.002502766 0.006212247 - 327300 0.0058739609 0.0030597489 0.0059049488 - 327400 0.005318151 0.0030405806 0.0056165599 - 327500 0.004108564 0.0026701574 0.0046602431 - 327600 0.0051222234 0.0025710616 0.0050521385 - 327700 0.00526734 0.0025892791 0.0051406469 - 327800 0.004633207 0.0026371515 0.0048813612 - 327900 0.0042578901 0.0024764477 0.0045388633 - 328000 0.0061341342 0.002199158 0.0051703793 - 328100 0.0059296881 0.0024213865 0.0052935792 - 328200 0.0047308055 0.0022493501 0.004540834 - 328300 0.0051095618 0.0020667013 0.0045416453 - 328400 0.0065704568 0.0023281586 0.0055107236 - 328500 0.0055472521 0.0026281843 0.0053151345 - 328600 0.0058252683 0.0027028113 0.0055244256 - 328700 0.0052960788 0.0028003223 0.0053656105 - 328800 0.005239674 0.0028444496 0.0053824166 - 328900 0.0048355624 0.0028244206 0.0051666462 - 329000 0.0055135704 0.0030078856 0.0056785213 - 329100 0.0056082875 0.0030155158 0.0057320301 - 329200 0.0054081217 0.0030536672 0.0056732261 - 329300 0.0058533314 0.002474638 0.0053098454 - 329400 0.0054120825 0.0020666285 0.0046881059 - 329500 0.0029524802 0.0021124801 0.0035425877 - 329600 0.0056423413 0.0020353883 0.0047683974 - 329700 0.0063692706 0.0016034125 0.0046885279 - 329800 0.0052127034 0.0016826417 0.0042075449 - 329900 0.005319199 0.0019604341 0.0045369212 - 330000 0.0031781654 0.0025373045 0.0040767283 - 330100 0.0051778758 0.002231448 0.0047394816 - 330200 0.0046986679 0.0024939429 0.0047698602 - 330300 0.0052715716 0.0023932901 0.0049467076 - 330400 0.0060492513 0.0022028467 0.0051329528 - 330500 0.0049429205 0.0021978873 0.0045921145 - 330600 0.0059849426 0.0016749698 0.0045739264 - 330700 0.0048362684 0.0018933464 0.0042359139 - 330800 0.0040928753 0.0022445987 0.0042270852 - 330900 0.004788993 0.0021104313 0.0044300998 - 331000 0.0035220178 0.0019528163 0.0036587936 - 331100 0.0041588681 0.0018828693 0.0038973211 - 331200 0.0049155071 0.0021225164 0.0045034651 - 331300 0.0056269467 0.0020925279 0.0048180803 - 331400 0.0069319787 0.0021043349 0.0054620121 - 331500 0.00659538 0.0019441258 0.005138763 - 331600 0.0049352845 0.0019508261 0.0043413546 - 331700 0.0044196233 0.0023500907 0.0044908457 - 331800 0.0059327528 0.0028495309 0.005723208 - 331900 0.0044496564 0.0037254643 0.0058807666 - 332000 0.0044923866 0.0034383168 0.0056143165 - 332100 0.0070982856 0.0022357874 0.0056740195 - 332200 0.0041835882 0.0021270369 0.0041534624 - 332300 0.0049890085 0.0019882427 0.0044047937 - 332400 0.003888717 0.0018989748 0.0037825721 - 332500 0.0046439838 0.0024378098 0.0046872395 - 332600 0.0051160988 0.0023721099 0.0048502203 - 332700 0.0054519003 0.0020552572 0.0046960214 - 332800 0.0058611617 0.0023626351 0.0052016353 - 332900 0.0054913653 0.002470806 0.0051306861 - 333000 0.0029572721 0.0023991224 0.003831551 - 333100 0.0059373877 0.0018772887 0.0047532108 - 333200 0.005308089 0.0023503354 0.004921441 - 333300 0.0046825859 0.002290478 0.0045586055 - 333400 0.0038212563 0.0025509067 0.0044018277 - 333500 0.0058047513 0.0024241104 0.0052357868 - 333600 0.0050387501 0.0023256982 0.0047663428 - 333700 0.0041169855 0.0025522254 0.0045463903 - 333800 0.004679942 0.0024299344 0.0046967813 - 333900 0.0060903701 0.0025326401 0.0054826632 - 334000 0.0050898225 0.0026975775 0.0051629603 - 334100 0.004900185 0.0023177322 0.0046912593 - 334200 0.0048231169 0.002258431 0.0045946283 - 334300 0.0048147853 0.0020960946 0.0044282562 - 334400 0.0045463442 0.0022295431 0.0044316785 - 334500 0.0047733832 0.0029920799 0.0053041873 - 334600 0.0097144254 0.0032108556 0.0079162804 - 334700 0.0061505394 0.0031333631 0.0061125306 - 334800 0.0055260316 0.0029627022 0.0056393737 - 334900 0.0049076409 0.0030378466 0.0054149852 - 335000 0.0036839807 0.0028541777 0.0046386059 - 335100 0.0049859442 0.0027093376 0.0051244044 - 335200 0.0038504892 0.0025810605 0.0044461412 - 335300 0.0049462904 0.0025528079 0.0049486673 - 335400 0.0048827618 0.0026368989 0.0050019866 - 335500 0.0062973069 0.0021259208 0.0051761789 - 335600 0.0045021732 0.0020506002 0.0042313403 - 335700 0.0049909774 0.0022228444 0.0046403491 - 335800 0.0055753185 0.0026098621 0.005310407 - 335900 0.0040463795 0.0029354359 0.0048954009 - 336000 0.0043721389 0.0030566588 0.0051744135 - 336100 0.0046608869 0.0029231261 0.0051807432 - 336200 0.0054174795 0.0026295651 0.0052536567 - 336300 0.0042727531 0.0027406648 0.0048102796 - 336400 0.0047314887 0.0030293834 0.0053211983 - 336500 0.0047866781 0.0026620877 0.0049806349 - 336600 0.005846287 0.0022922518 0.0051240471 - 336700 0.0052613179 0.002335401 0.0048838519 - 336800 0.0056813937 0.0021341754 0.0048861005 - 336900 0.0048770803 0.0021274594 0.0044897952 - 337000 0.0045430444 0.0021509319 0.0043514691 - 337100 0.004403098 0.002220429 0.0043531796 - 337200 0.0035826279 0.0021590887 0.0038944241 - 337300 0.0033679162 0.0021686487 0.0037999831 - 337400 0.0047831536 0.0021443759 0.0044612159 - 337500 0.0068131508 0.0022543776 0.0055544975 - 337600 0.0048288303 0.0026662698 0.0050052345 - 337700 0.0034902634 0.003140606 0.0048312024 - 337800 0.005567371 0.0028961124 0.0055928077 - 337900 0.0057694038 0.0029107966 0.0057053516 - 338000 0.0039878655 0.0027504314 0.0046820538 - 338100 0.0047098683 0.0025734041 0.0048547466 - 338200 0.0054980197 0.0027488587 0.005411962 - 338300 0.0054251321 0.0029753605 0.0056031589 - 338400 0.0051737429 0.0029896244 0.0054956561 - 338500 0.004943038 0.0023970068 0.0047912909 - 338600 0.0063702391 0.0019280976 0.0050136822 - 338700 0.0045608474 0.0022345273 0.0044436877 - 338800 0.0040878137 0.0027390887 0.0047191235 - 338900 0.0042452994 0.0027617771 0.004818094 - 339000 0.0039021612 0.0022736808 0.0041637902 - 339100 0.0060276391 0.0020012803 0.004920918 - 339200 0.0047841092 0.0024369505 0.0047542534 - 339300 0.0049094772 0.0021615807 0.0045396088 - 339400 0.0047248845 0.0024432645 0.0047318804 - 339500 0.0055656576 0.002490558 0.0051864234 - 339600 0.0049199975 0.0025736211 0.0049567449 - 339700 0.0051537482 0.0023708669 0.0048672136 - 339800 0.0040265375 0.002602244 0.0045525981 - 339900 0.0054048083 0.0028400428 0.0054579968 - 340000 0.0049765272 0.0029617317 0.005372237 - 340100 0.0048412234 0.0029535905 0.0052985581 - 340200 0.0047843411 0.0025721132 0.0048895284 - 340300 0.0045713559 0.0024667344 0.004680985 - 340400 0.0057567487 0.0024981084 0.0052865336 - 340500 0.0049553019 0.0024494608 0.0048496851 - 340600 0.0050265744 0.0026196028 0.0050543498 - 340700 0.0044765528 0.0025233412 0.0046916714 - 340800 0.00574 0.0018868627 0.0046671752 - 340900 0.005349896 0.0018484248 0.0044397806 - 341000 0.0048649386 0.0021560492 0.0045125038 - 341100 0.0049278029 0.0027207663 0.0051076708 - 341200 0.0057887649 0.0026844366 0.0054883697 - 341300 0.0046534073 0.00217078 0.0044247742 - 341400 0.0045935247 0.0016889279 0.0039139165 - 341500 0.0056172434 0.001602469 0.0043233213 - 341600 0.0045061094 0.0021855376 0.0043681843 - 341700 0.0036667087 0.0026911592 0.0044672212 - 341800 0.004218731 0.0022562677 0.0042997155 - 341900 0.0048540371 0.0019424288 0.004293603 - 342000 0.0042194485 0.0021296655 0.0041734608 - 342100 0.00291096 0.0021059025 0.0035158987 - 342200 0.0053330814 0.0019954015 0.0045786127 - 342300 0.0060649643 0.002180444 0.0051181611 - 342400 0.0043359767 0.0022677723 0.004368011 - 342500 0.0041545178 0.0017680065 0.0037803511 - 342600 0.005220769 0.0014495199 0.0039783299 - 342700 0.0052679593 0.001554432 0.0041060997 - 342800 0.0073623384 0.0019399489 0.0055060816 - 342900 0.0058025599 0.0021426526 0.0049532676 - 343000 0.0050067426 0.0027331704 0.0051583114 - 343100 0.0052475675 0.0029613201 0.0055031106 - 343200 0.0049787356 0.002732876 0.005144451 - 343300 0.0050050821 0.0023573649 0.0047817016 - 343400 0.0060127489 0.0023719067 0.0052843319 - 343500 0.0052888831 0.0022036853 0.004765488 - 343600 0.0038877446 0.0023350413 0.0042181676 - 343700 0.0048944747 0.0019501029 0.0043208641 - 343800 0.0049853906 0.0019470734 0.004361872 - 343900 0.0059018263 0.001941951 0.0048006481 - 344000 0.0045591589 0.0023470633 0.0045554059 - 344100 0.0053389811 0.0023904807 0.0049765497 - 344200 0.0053317461 0.0023412748 0.0049238394 - 344300 0.0050618663 0.0024256499 0.0048774914 - 344400 0.00690968 0.0027064163 0.0060532925 - 344500 0.005103634 0.0030125908 0.0054846635 - 344600 0.0042091513 0.0025111973 0.0045500049 - 344700 0.0060091623 0.0021741883 0.0050848762 - 344800 0.0051273217 0.0019761751 0.0044597215 - 344900 0.0050030764 0.0022010452 0.0046244103 - 345000 0.0057694698 0.0020909773 0.0048855642 - 345100 0.0035877435 0.0017911026 0.0035289159 - 345200 0.0036062959 0.0015365912 0.0032833908 - 345300 0.0031951796 0.0018936674 0.0034413326 - 345400 0.0034816668 0.0020222861 0.0037087185 - 345500 0.003763315 0.0018916301 0.0037144858 - 345600 0.0054069349 0.0020093515 0.0046283356 - 345700 0.0047233039 0.0018926228 0.0041804731 - 345800 0.0051817811 0.0017747192 0.0042846444 - 345900 0.0052220362 0.001850183 0.0043796068 - 346000 0.006857246 0.0017546439 0.0050761225 - 346100 0.0055127842 0.0024375967 0.0051078515 - 346200 0.0067006279 0.0029091753 0.006154792 - 346300 0.0048875955 0.0025522464 0.0049196755 - 346400 0.0077679694 0.0021572702 0.0059198804 - 346500 0.0049868831 0.0021613379 0.0045768594 - 346600 0.0055361799 0.0021385042 0.0048200913 - 346700 0.0046978917 0.0024720808 0.0047476221 - 346800 0.0043800358 0.0024128641 0.0045344439 - 346900 0.0044561285 0.0021908365 0.0043492737 - 347000 0.0051132039 0.0019562118 0.0044329199 - 347100 0.0060675557 0.0022186208 0.005157593 - 347200 0.0045103555 0.0020556763 0.0042403797 - 347300 0.0061713583 0.0017531988 0.0047424504 - 347400 0.0052496816 0.0017929852 0.0043357997 - 347500 0.0059896294 0.0018061397 0.0047073665 - 347600 0.005114099 0.0016944751 0.0041716168 - 347700 0.0055253278 0.0018751539 0.0045514846 - 347800 0.0040174613 0.0024613338 0.0044072916 - 347900 0.004939336 0.0024695232 0.0048620141 - 348000 0.0041367654 0.0026495433 0.0046532891 - 348100 0.0061157659 0.0024433116 0.0054056357 - 348200 0.0049043857 0.0022791079 0.0046546698 - 348300 0.0049858097 0.001960082 0.0043750836 - 348400 0.0063625638 0.0021468966 0.0052287634 - 348500 0.0046534443 0.002895145 0.0051491571 - 348600 0.0071626187 0.0028821055 0.0063514989 - 348700 0.0065202411 0.0028128889 0.0059711307 - 348800 0.0049185243 0.0036066776 0.0059890878 - 348900 0.0043340694 0.0029956783 0.0050949931 - 349000 0.0052353904 0.0021492663 0.0046851586 - 349100 0.0058658004 0.0021469575 0.0049882045 - 349200 0.0054979908 0.0026438916 0.0053069809 - 349300 0.005598686 0.0030374771 0.0057493407 - 349400 0.0050758835 0.0033165949 0.0057752259 - 349500 0.0045072534 0.0030711642 0.0052543651 - 349600 0.0041270414 0.0022614421 0.0042604778 - 349700 0.0062161033 0.0022995855 0.0053105106 - 349800 0.0052260993 0.0023036268 0.0048350187 - 349900 0.0040492653 0.0022545184 0.0042158813 - 350000 0.0071036482 0.0018332831 0.0052741127 - 350100 0.0062627346 0.0020781741 0.0051116862 - 350200 0.0049440408 0.0025683567 0.0049631264 - 350300 0.0051871083 0.0027938642 0.0053063698 - 350400 0.0049304782 0.0032151404 0.0056033408 - 350500 0.0048109718 0.0029305421 0.0052608565 - 350600 0.0073699325 0.0026251371 0.0061949482 - 350700 0.0061293139 0.0030161161 0.0059850025 - 350800 0.0065422315 0.00257019 0.0057390834 - 350900 0.0055973003 0.0024246423 0.0051358346 - 351000 0.004151137 0.0024112769 0.0044219839 - 351100 0.0058075002 0.0021696597 0.0049826677 - 351200 0.0057605532 0.0024704787 0.0052607466 - 351300 0.0050120828 0.0027125186 0.0051402462 - 351400 0.0066718116 0.0029859347 0.0062175935 - 351500 0.0050726648 0.0029548392 0.0054119112 - 351600 0.0058976325 0.0027070123 0.0055636781 - 351700 0.0060088923 0.0025527872 0.0054633444 - 351800 0.0038116073 0.0022483249 0.0040945722 - 351900 0.0044322067 0.0018848967 0.0040317468 - 352000 0.0063802444 0.0019466298 0.0050370607 - 352100 0.0044398785 0.0027682394 0.0049188055 - 352200 0.0049293607 0.0030408161 0.0054284751 - 352300 0.0076429576 0.0024955279 0.0061975855 - 352400 0.0050524066 0.0022966541 0.0047439136 - 352500 0.0057917216 0.0024724635 0.0052778286 - 352600 0.0041703127 0.0027577142 0.0047777094 - 352700 0.005043015 0.0025352942 0.0049780046 - 352800 0.005155016 0.0023089575 0.0048059184 - 352900 0.0047436065 0.0024820003 0.0047796847 - 353000 0.0048589104 0.0023511224 0.0047046571 - 353100 0.0063703048 0.0023922717 0.0054778881 - 353200 0.0043278275 0.0025672153 0.0046635067 - 353300 0.0049967227 0.0022859233 0.0047062108 - 353400 0.0065974702 0.0020531897 0.0052488393 - 353500 0.0051870056 0.0025204902 0.005032946 - 353600 0.0040917971 0.0031766427 0.0051586069 - 353700 0.0046298273 0.0033724671 0.0056150397 - 353800 0.004228123 0.002659879 0.0047078761 - 353900 0.0064391069 0.0019715778 0.0050905203 - 354000 0.0040083593 0.0025368842 0.0044784332 - 354100 0.0064822763 0.002335157 0.0054750096 - 354200 0.0047068833 0.0029898341 0.0052697307 - 354300 0.004090677 0.0026772689 0.0046586906 - 354400 0.0048499735 0.0020506704 0.0043998763 - 354500 0.0050036008 0.0018554385 0.0042790576 - 354600 0.0064253536 0.0017479398 0.0048602204 - 354700 0.0071442908 0.0017115622 0.005172078 - 354800 0.0059548725 0.0020935264 0.0049779178 - 354900 0.0057452998 0.0026087667 0.0053916463 - 355000 0.0047944367 0.0030901188 0.0054124241 - 355100 0.0048969973 0.0030072782 0.0053792613 - 355200 0.0062846194 0.0025923696 0.0056364821 - 355300 0.0056735741 0.0023952384 0.0051433759 - 355400 0.0054072986 0.0022308494 0.0048500096 - 355500 0.0048295021 0.0024809613 0.0048202514 - 355600 0.0052444432 0.0022106923 0.0047509695 - 355700 0.0048991384 0.0026599844 0.0050330045 - 355800 0.004768268 0.0031037627 0.0054133924 - 355900 0.0058397767 0.0030012694 0.0058299112 - 356000 0.0054827447 0.0023742002 0.0050299047 - 356100 0.0054077406 0.0022962487 0.0049156231 - 356200 0.0062324509 0.0029818147 0.0060006581 - 356300 0.0051602121 0.0033505043 0.0058499821 - 356400 0.0040983305 0.0026873388 0.0046724676 - 356500 0.0069404309 0.0021781972 0.0055399684 - 356600 0.0055192079 0.0021980461 0.0048714124 - 356700 0.005452268 0.0025026557 0.0051435981 - 356800 0.0045021406 0.0030242858 0.0052050101 - 356900 0.0044137895 0.0035037082 0.0056416375 - 357000 0.0070062302 0.0029445345 0.0063381772 - 357100 0.0054642355 0.0017913948 0.0044381339 - 357200 0.0049786334 0.0016507557 0.0040622812 - 357300 0.0041890392 0.0019167914 0.0039458573 - 357400 0.0044573655 0.0020337826 0.004192819 - 357500 0.0047521598 0.0020275139 0.0043293414 - 357600 0.0041528112 0.0021636151 0.0041751331 - 357700 0.0042429198 0.0023077561 0.0043629204 - 357800 0.0063877418 0.0023709461 0.0054650085 - 357900 0.0060418631 0.0026718996 0.0055984271 - 358000 0.0045903354 0.0032530541 0.0054764979 - 358100 0.0043107269 0.003083957 0.0051719653 - 358200 0.0051628539 0.002532991 0.0050337483 - 358300 0.0066009424 0.002737997 0.0059353285 - 358400 0.0043457425 0.002725158 0.004830127 - 358500 0.0050858093 0.002652948 0.0051163869 - 358600 0.0045657904 0.0030159922 0.0052275469 - 358700 0.0046286254 0.0027097253 0.0049517157 - 358800 0.0053362126 0.0024109801 0.0049957081 - 358900 0.0051314307 0.0025756755 0.0050612123 - 359000 0.0040758652 0.0029600554 0.0049343026 - 359100 0.0030005844 0.0029732736 0.0044266816 - 359200 0.0059441748 0.0026677613 0.0055469709 - 359300 0.0050201958 0.002785985 0.0052176423 - 359400 0.0058001353 0.0027232936 0.0055327342 - 359500 0.0043475659 0.0026200801 0.0047259324 - 359600 0.0044712302 0.0025859651 0.0047517172 - 359700 0.0054052925 0.0025298612 0.0051480497 - 359800 0.0055587443 0.0025683059 0.0052608227 - 359900 0.004690763 0.0030372187 0.0053093071 - 360000 0.0050841418 0.0029792511 0.0054418823 - 360100 0.0048458707 0.0023198526 0.0046670712 - 360200 0.0063378746 0.0021607871 0.0052306952 - 360300 0.0060908649 0.0023085938 0.0052588565 - 360400 0.0056279001 0.0024335505 0.0051595646 - 360500 0.0048047643 0.0022144044 0.0045417121 - 360600 0.0038479048 0.0020981483 0.0039619772 - 360700 0.0047175513 0.0023411492 0.0046262131 - 360800 0.0045992797 0.0023056362 0.0045334123 - 360900 0.0034723795 0.0023504913 0.0040324251 - 361000 0.004936281 0.0024664558 0.0048574669 - 361100 0.0049876284 0.0025390449 0.0049549274 - 361200 0.0037735964 0.0021145653 0.0039424011 - 361300 0.0051327684 0.0016573788 0.0041435635 - 361400 0.0039618481 0.00188808 0.0038071002 - 361500 0.0056722135 0.0022020042 0.0049494826 - 361600 0.004241234 0.0021685789 0.0042229266 - 361700 0.0053737298 0.002229472 0.0048323723 - 361800 0.0062359481 0.0026249476 0.0056454849 - 361900 0.0038147183 0.0029447575 0.0047925117 - 362000 0.0049200062 0.0024012722 0.0047844002 - 362100 0.0047088458 0.0019604414 0.0042412886 - 362200 0.0048458078 0.0018643423 0.0042115304 - 362300 0.00373887 0.0020104441 0.0038214592 - 362400 0.004137062 0.0020303362 0.0040342256 - 362500 0.0054929975 0.0023052904 0.004965961 - 362600 0.0043747247 0.0026918772 0.0048108845 - 362700 0.004693766 0.0025232952 0.0047968381 - 362800 0.0046265942 0.0022262411 0.0044672476 - 362900 0.0035378333 0.0022794319 0.0039930699 - 363000 0.0050652832 0.0024757111 0.0049292076 - 363100 0.0044421206 0.0021882849 0.004339937 - 363200 0.0065214227 0.0020451298 0.0052039439 - 363300 0.0051229857 0.0023692513 0.0048506975 - 363400 0.0050582979 0.0024944748 0.0049445878 - 363500 0.0043183757 0.0028522617 0.0049439749 - 363600 0.0065760558 0.0026348187 0.0058200958 - 363700 0.0050494935 0.0026059791 0.0050518275 - 363800 0.0041075793 0.0024742488 0.0044638575 - 363900 0.0053428213 0.0026835448 0.0052714738 - 364000 0.005789288 0.0028848042 0.0056889905 - 364100 0.0038597354 0.0030855839 0.0049551432 - 364200 0.0051784709 0.0026492793 0.0051576011 - 364300 0.0061041308 0.0025653899 0.0055220783 - 364400 0.0052134816 0.00235263 0.0048779101 - 364500 0.005569615 0.0020512566 0.0047490389 - 364600 0.0050043314 0.0016572699 0.0040812429 - 364700 0.0050432066 0.0018647914 0.0043075946 - 364800 0.0054092522 0.0022860252 0.0049061317 - 364900 0.0059678829 0.002521721 0.0054124143 - 365000 0.0046346546 0.0024411733 0.0046860841 - 365100 0.0063012634 0.0023529686 0.0054051431 - 365200 0.0042098789 0.0030070803 0.0050462404 - 365300 0.0048654423 0.0032252344 0.005581933 - 365400 0.0053507101 0.0025832082 0.0051749584 - 365500 0.0064741101 0.0018436384 0.0049795355 - 365600 0.0054284316 0.0020357948 0.0046651914 - 365700 0.0044664429 0.0022757716 0.0044392049 - 365800 0.0049116222 0.002150403 0.00452947 - 365900 0.0053647771 0.0021813839 0.0047799478 - 366000 0.0044184109 0.0017891215 0.0039292893 - 366100 0.0038571497 0.0016414143 0.0035097212 - 366200 0.0060548026 0.0016134144 0.0045462094 - 366300 0.0060344003 0.0018898605 0.0048127731 - 366400 0.0039762963 0.0021023087 0.0040283272 - 366500 0.0036709328 0.0021205777 0.0038986858 - 366600 0.0057415043 0.0016959637 0.0044770048 - 366700 0.0061604602 0.0015514467 0.0045354196 - 366800 0.0050585675 0.0018181566 0.0042684003 - 366900 0.0047495168 0.0019097624 0.0042103096 - 367000 0.0042367123 0.0023680278 0.0044201853 - 367100 0.0047269412 0.0024953421 0.0047849542 - 367200 0.0046005605 0.0020026819 0.0042310784 - 367300 0.0052073081 0.0021610141 0.004683304 - 367400 0.0052623605 0.0021777394 0.0047266952 - 367500 0.0032245289 0.0023220384 0.0038839196 - 367600 0.0038546672 0.0018498922 0.0037169966 - 367700 0.0058147029 0.001894461 0.0047109577 - 367800 0.005788861 0.0019467002 0.0047506797 - 367900 0.0039220752 0.0023457218 0.004245477 - 368000 0.0044410852 0.0021265457 0.0042776964 - 368100 0.0062932391 0.0023995194 0.0054478071 - 368200 0.0061534367 0.0022959159 0.0052764868 - 368300 0.0048747348 0.0023846121 0.0047458118 - 368400 0.0047498957 0.0020328836 0.0043336144 - 368500 0.0055666292 0.0022313659 0.0049277019 - 368600 0.0066515698 0.002362172 0.0055840262 - 368700 0.0047022426 0.0025148732 0.004792522 - 368800 0.0054439592 0.0025244475 0.0051613653 - 368900 0.0037232638 0.0027629526 0.0045664085 - 369000 0.0053908167 0.0023021471 0.004913324 - 369100 0.0064289349 0.0022944388 0.0054084541 - 369200 0.0043677078 0.0025667495 0.0046823579 - 369300 0.0049641876 0.0022586389 0.0046631672 - 369400 0.0046140287 0.0018615143 0.0040964345 - 369500 0.0043457083 0.0017634152 0.0038683677 - 369600 0.0044870155 0.0018472039 0.004020602 - 369700 0.0047220954 0.0021038107 0.0043910757 - 369800 0.0034588534 0.0024939666 0.0041693487 - 369900 0.0036523706 0.0024143144 0.0041834314 - 370000 0.0057506335 0.0017899602 0.0045754233 - 370100 0.0054900793 0.0020198975 0.0046791546 - 370200 0.0043429339 0.0023431134 0.004446722 - 370300 0.0042917608 0.0022614472 0.0043402688 - 370400 0.0039151261 0.0022290107 0.0041253999 - 370500 0.0054618266 0.0022246547 0.004870227 - 370600 0.0073050345 0.0019328328 0.0054712089 - 370700 0.0054144237 0.0020994081 0.0047220195 - 370800 0.004496771 0.0021007025 0.0042788259 - 370900 0.0064962334 0.0019075861 0.0050541992 - 371000 0.0052257869 0.0023972213 0.0049284619 - 371100 0.0038712474 0.0029998611 0.0048749966 - 371200 0.0067856813 0.0025273484 0.0058141627 - 371300 0.0053616878 0.0026117921 0.0052088596 - 371400 0.006098118 0.0023771462 0.0053309221 - 371500 0.0062442531 0.0024052295 0.0054297896 - 371600 0.0037694751 0.0026567068 0.0044825463 - 371700 0.0038281479 0.002824822 0.0046790811 - 371800 0.0046382014 0.0027472909 0.0049939197 - 371900 0.0061838396 0.0020543151 0.0050496123 - 372000 0.0061538492 0.0015782731 0.0045590438 - 372100 0.004494937 0.0018586817 0.0040359168 - 372200 0.0055573091 0.0022335001 0.0049253217 - 372300 0.0051561421 0.0024337641 0.0049312704 - 372400 0.0072745187 0.0021669262 0.0056905212 - 372500 0.0064038816 0.0025302666 0.0056321468 - 372600 0.0055966719 0.0027668451 0.005477733 - 372700 0.0048800383 0.0028855944 0.0052493629 - 372800 0.0058255511 0.0027342412 0.0055559925 - 372900 0.0054284356 0.0027460206 0.0053754191 - 373000 0.0052916361 0.0026187748 0.005181911 - 373100 0.0053779016 0.0023993129 0.0050042339 - 373200 0.0047299643 0.0023962069 0.0046872834 - 373300 0.0036101243 0.0022315396 0.0039801935 - 373400 0.0039676565 0.0023413781 0.0042632117 - 373500 0.0058344104 0.0027150431 0.0055410857 - 373600 0.0053741481 0.0032718597 0.0058749626 - 373700 0.0059462559 0.003237619 0.0061178368 - 373800 0.0052514381 0.0026365379 0.0051802032 - 373900 0.0052684752 0.0025070228 0.0050589405 - 374000 0.0047303746 0.0029361146 0.0052273898 - 374100 0.0051157192 0.0027747753 0.0052527018 - 374200 0.0053496479 0.0026101415 0.0052013771 - 374300 0.0053821191 0.0026441054 0.0052510694 - 374400 0.0040405491 0.0031346792 0.0050918202 - 374500 0.0032364036 0.0038823842 0.0054500172 - 374600 0.0057874835 0.0028498786 0.0056531909 - 374700 0.0058654305 0.0019901131 0.004831181 - 374800 0.0070698268 0.0021374901 0.0055619375 - 374900 0.0040614933 0.0027342217 0.0047015075 - 375000 0.0066983213 0.0023997047 0.0056442041 - 375100 0.0058111193 0.0018238021 0.004638563 - 375200 0.0050194707 0.0020900834 0.0045213895 - 375300 0.0050484978 0.0023687028 0.0048140689 - 375400 0.0051342338 0.0018234779 0.0043103724 - 375500 0.0055454423 0.0018897099 0.0045757835 - 375600 0.0042351417 0.0020340688 0.0040854656 - 375700 0.0075552315 0.0012575392 0.0049171045 - 375800 0.0045342398 0.0013084394 0.0035047117 - 375900 0.0049355581 0.0018762058 0.0042668668 - 376000 0.0053168704 0.00233916 0.0049145191 - 376100 0.0047647187 0.0024492353 0.0047571459 - 376200 0.0049414131 0.0030966092 0.0054901062 - 376300 0.0069178264 0.0032253188 0.006576141 - 376400 0.0065542884 0.0029524979 0.0061272313 - 376500 0.0063105418 0.0025513362 0.0056080049 - 376600 0.0064464841 0.0024227894 0.0055453052 - 376700 0.0056234833 0.003148961 0.0058728357 - 376800 0.0056481403 0.0029914922 0.0057273102 - 376900 0.0060710761 0.002355089 0.0052957664 - 377000 0.0055242222 0.0023326022 0.0050083973 - 377100 0.0027938815 0.002325327 0.0036786133 - 377200 0.0061533643 0.0023041254 0.0052846612 - 377300 0.0056260704 0.0024538556 0.0051789834 - 377400 0.0052614173 0.002694112 0.005242611 - 377500 0.0049172504 0.0027265502 0.0051083434 - 377600 0.0050607111 0.0026552202 0.0051065021 - 377700 0.006025699 0.0023492575 0.0052679555 - 377800 0.0057757164 0.0022351039 0.0050327165 - 377900 0.0050803256 0.0023358829 0.0047966656 - 378000 0.0056059778 0.0020677619 0.0047831574 - 378100 0.0038782128 0.0020201379 0.0038986472 - 378200 0.0046745422 0.0021004768 0.0043647082 - 378300 0.004264994 0.0023083777 0.0043742341 - 378400 0.0049834023 0.0018573012 0.0042711366 - 378500 0.0049769256 0.0016000005 0.0040106988 - 378600 0.0056047913 0.0015140782 0.0042288989 - 378700 0.0039242373 0.0017666102 0.0036674126 - 378800 0.0048707542 0.0019823688 0.0043416404 - 378900 0.0050304857 0.0025846748 0.0050213163 - 379000 0.0054773384 0.0024122645 0.0050653503 - 379100 0.0061868895 0.0023417188 0.0053384934 - 379200 0.004864575 0.0021864276 0.0045427061 - 379300 0.0070102921 0.0017517106 0.0051473208 - 379400 0.0044130485 0.0020127605 0.0041503309 - 379500 0.0050704695 0.0018277408 0.0042837495 - 379600 0.0042181719 0.0018277686 0.0038709456 - 379700 0.0041412021 0.0022538301 0.0042597249 - 379800 0.0061616466 0.0022012625 0.0051858101 - 379900 0.0052826992 0.0023009707 0.0048597781 - 380000 0.0056579829 0.0023778931 0.0051184786 - 380100 0.0047308726 0.0025454751 0.0048369915 - 380200 0.0050606212 0.0027679146 0.005219153 - 380300 0.0038462978 0.0030491766 0.0049122271 - 380400 0.007920252 0.0025756765 0.0064120486 - 380500 0.0050392171 0.002412302 0.0048531728 - 380600 0.0062714115 0.0019993477 0.0050370626 - 380700 0.0035938811 0.0017924415 0.0035332276 - 380800 0.0053381132 0.0018515881 0.0044372367 - 380900 0.0053209269 0.0021585337 0.0047358576 - 381000 0.004030254 0.0025312431 0.0044833974 - 381100 0.0068533214 0.002523909 0.0058434865 - 381200 0.0062503436 0.0028462152 0.0058737254 - 381300 0.0043650647 0.0033162949 0.0054306231 - 381400 0.0049792042 0.0035683593 0.0059801614 - 381500 0.0059637828 0.0030838404 0.0059725476 - 381600 0.0045778639 0.0021561013 0.0043735041 - 381700 0.0061325827 0.0020028052 0.004973275 - 381800 0.0045811788 0.0021488781 0.0043678865 - 381900 0.0043737714 0.0021952623 0.0043138078 - 382000 0.0067488457 0.0023733458 0.0056423179 - 382100 0.007096274 0.0024034921 0.0058407498 - 382200 0.0040588649 0.0028906392 0.0048566519 - 382300 0.0058508966 0.0026077954 0.0054418235 - 382400 0.0057288496 0.0029715216 0.0057464332 - 382500 0.0049548858 0.0035722101 0.0059722329 - 382600 0.0055348172 0.0028582552 0.0055391823 - 382700 0.0052730996 0.0026933655 0.0052475232 - 382800 0.00588835 0.002627519 0.0054796885 - 382900 0.0057445099 0.002174486 0.004956983 - 383000 0.0044767034 0.0019377746 0.0041061778 - 383100 0.0067457424 0.0020981539 0.0053656229 - 383200 0.0049244358 0.0021907756 0.0045760492 - 383300 0.0054147508 0.0019686602 0.0045914302 - 383400 0.0039859814 0.0020545081 0.0039852178 - 383500 0.005155284 0.0019896319 0.0044867226 - 383600 0.0049941121 0.0018146036 0.0042336266 - 383700 0.0055640813 0.0020982904 0.0047933923 - 383800 0.0054213892 0.0020343575 0.0046603429 - 383900 0.0048909689 0.0020865409 0.0044556039 - 384000 0.0045885133 0.0023111712 0.0045337323 - 384100 0.0046349451 0.0024907067 0.0047357582 - 384200 0.00557791 0.0019133513 0.0046151514 - 384300 0.0037512794 0.0016797464 0.0034967724 - 384400 0.0038551851 0.0019735947 0.00384095 - 384500 0.0042202422 0.0021804137 0.0042245935 - 384600 0.0057087788 0.0023249015 0.0050900913 - 384700 0.0046454282 0.0023753019 0.0046254311 - 384800 0.0054745253 0.0021937988 0.004845522 - 384900 0.0045368239 0.0026965207 0.0048940447 - 385000 0.0041982847 0.0026933246 0.0047268688 - 385100 0.0048760554 0.0022167305 0.0045785698 - 385200 0.0053039028 0.0022225456 0.0047916235 - 385300 0.0039120963 0.0022315063 0.0041264279 - 385400 0.0040402711 0.0019954893 0.0039524956 - 385500 0.0049102712 0.0023788165 0.0047572291 - 385600 0.0046045115 0.0025209069 0.0047512172 - 385700 0.0044898126 0.0024522162 0.0046269692 - 385800 0.0048645889 0.0021385085 0.0044947938 - 385900 0.0040572112 0.0024039829 0.0043691946 - 386000 0.0050023948 0.002378024 0.004801059 - 386100 0.0059455195 0.0020115004 0.0048913614 - 386200 0.005255952 0.0022580301 0.0048038818 - 386300 0.0052751673 0.0026572858 0.005212445 - 386400 0.004685733 0.0029002822 0.0051699341 - 386500 0.0052910176 0.0030087101 0.0055715467 - 386600 0.0053419821 0.0031555864 0.005743109 - 386700 0.0055457528 0.0027924329 0.0054786569 - 386800 0.0068090896 0.0026024024 0.0059005552 - 386900 0.0059236179 0.0026913956 0.0055606481 - 387000 0.005019468 0.0028113342 0.005242639 - 387100 0.0063875014 0.002743005 0.005836951 - 387200 0.0050408865 0.0024721569 0.0049138363 - 387300 0.0063298479 0.0020659062 0.0051319263 - 387400 0.0053971579 0.0021171442 0.0047313926 - 387500 0.003889334 0.0020530896 0.0039369858 - 387600 0.0036848432 0.0020258659 0.0038107118 - 387700 0.0048606687 0.0023081219 0.0046625083 - 387800 0.0049167267 0.0024678758 0.0048494153 - 387900 0.0053050876 0.0025032767 0.0050729285 - 388000 0.0068339955 0.0026636149 0.0059738314 - 388100 0.0060226312 0.0028259382 0.0057431502 - 388200 0.0070972792 0.0025621982 0.0059999428 - 388300 0.0063299827 0.0024126507 0.005478736 - 388400 0.0054560601 0.0020461083 0.0046888874 - 388500 0.0044626467 0.0020704918 0.0042320863 - 388600 0.0051394192 0.0019947789 0.0044841851 - 388700 0.0053205237 0.0018231985 0.0044003272 - 388800 0.0040460268 0.0019298472 0.0038896414 - 388900 0.00517331 0.0019418184 0.0044476404 - 389000 0.0055168558 0.001929991 0.004602218 - 389100 0.0052681133 0.0023239736 0.004875716 - 389200 0.0057689787 0.0024079422 0.0052022912 - 389300 0.0053535958 0.0026644446 0.0052575926 - 389400 0.0040697188 0.0024623991 0.0044336692 - 389500 0.0052346571 0.0024821788 0.0050177158 - 389600 0.0047062598 0.0024712312 0.0047508258 - 389700 0.0041715435 0.0023442407 0.004364832 - 389800 0.0047404988 0.0021067988 0.0044029779 - 389900 0.0047802322 0.0020847983 0.0044002232 - 390000 0.0035226638 0.0024382367 0.004144527 - 390100 0.0035037774 0.0029083852 0.0046055274 - 390200 0.0042542554 0.0030030028 0.0050636578 - 390300 0.0054835175 0.0028489525 0.0055050313 - 390400 0.0046314911 0.0024568398 0.0047002183 - 390500 0.0067075809 0.0028102929 0.0060592774 - 390600 0.0047297019 0.0027998308 0.0050907801 - 390700 0.0048304299 0.0023968628 0.0047366023 - 390800 0.0069044771 0.0020082827 0.0053526388 - 390900 0.0052642517 0.0021623094 0.0047121813 - 391000 0.00517168 0.0021082263 0.0046132588 - 391100 0.0050084246 0.0021258905 0.0045518461 - 391200 0.007297029 0.0018807664 0.0054152648 - 391300 0.0060103399 0.0024932568 0.0054045152 - 391400 0.0046376913 0.0030062456 0.0052526273 - 391500 0.0066260625 0.0028858552 0.0060953542 - 391600 0.0048720628 0.0025879289 0.0049478343 - 391700 0.0050226836 0.0023601445 0.0047930069 - 391800 0.0050890899 0.0020242809 0.0044893088 - 391900 0.0045969094 0.0019641815 0.0041908095 - 392000 0.0054029133 0.0028547385 0.0054717747 - 392100 0.0051548209 0.0029750811 0.0054719475 - 392200 0.0051447656 0.0024835182 0.004975514 - 392300 0.0061617073 0.002127041 0.005111618 - 392400 0.0062132303 0.0025841984 0.0055937319 - 392500 0.0057195931 0.0027630511 0.005533479 - 392600 0.0050982327 0.0023951079 0.0048645644 - 392700 0.0045998322 0.0020559036 0.0042839473 - 392800 0.0050371292 0.0021851769 0.0046250363 - 392900 0.0048820782 0.002119745 0.0044845016 - 393000 0.0045272589 0.0023212573 0.0045141483 - 393100 0.0049704781 0.0024117378 0.0048193132 - 393200 0.0052321435 0.0022862779 0.0048205973 - 393300 0.0034738982 0.0026210674 0.0043037369 - 393400 0.0054256079 0.0027963895 0.0054244183 - 393500 0.0055837333 0.0030730053 0.0057776261 - 393600 0.0056042252 0.0030140984 0.005728645 - 393700 0.0049696694 0.0026476291 0.0050548127 - 393800 0.0061737694 0.0025250726 0.0055154922 - 393900 0.0047655834 0.0024639268 0.0047722563 - 394000 0.0054849443 0.0022933223 0.0049500922 - 394100 0.0060242384 0.0024522707 0.0053702612 - 394200 0.0056736627 0.0024299 0.0051780804 - 394300 0.0054494012 0.002227172 0.0048667257 - 394400 0.0046974816 0.0025945743 0.004869917 - 394500 0.004435697 0.0026222773 0.004770818 - 394600 0.0050512314 0.0024303805 0.0048770707 - 394700 0.0047245126 0.0022545045 0.0045429403 - 394800 0.0058243602 0.002184723 0.0050058975 - 394900 0.0039107579 0.0022496546 0.004143928 - 395000 0.0036116806 0.0023107702 0.004060178 - 395100 0.0035638378 0.0023290413 0.0040552752 - 395200 0.0052422859 0.0023899765 0.0049292087 - 395300 0.005014301 0.0025214134 0.0049502155 - 395400 0.0060291757 0.0023454762 0.0052658582 - 395500 0.004091934 0.0021419017 0.0041239323 - 395600 0.0055352597 0.0019628586 0.004644 - 395700 0.0041618106 0.002274486 0.0042903631 - 395800 0.0051687075 0.0025634985 0.0050670912 - 395900 0.005752105 0.0024676809 0.0052538567 - 396000 0.0054319731 0.0027179064 0.0053490184 - 396100 0.0049860914 0.0025247158 0.0049398538 - 396200 0.0029080513 0.0024982392 0.0039068265 - 396300 0.0046659348 0.001961431 0.0042214932 - 396400 0.0069662435 0.0020488809 0.0054231551 - 396500 0.0049207411 0.0023979841 0.0047814681 - 396600 0.0052927354 0.0026543393 0.005218008 - 396700 0.0047469755 0.0025058928 0.004805209 - 396800 0.0042466319 0.0019756599 0.0040326222 - 396900 0.0044531738 0.0021057029 0.0042627089 - 397000 0.0041011013 0.0022198619 0.0042063328 - 397100 0.0060654742 0.0023404234 0.0052783875 - 397200 0.0048515552 0.0021960724 0.0045460445 - 397300 0.0048631821 0.0025634241 0.004919028 - 397400 0.0055134828 0.0028094622 0.0054800554 - 397500 0.0062739519 0.0027608224 0.0057997678 - 397600 0.0053863916 0.0024085405 0.0050175739 - 397700 0.0053237766 0.0025580333 0.0051367377 - 397800 0.0038631946 0.0026306728 0.0045019077 - 397900 0.0051794447 0.0023244451 0.0048332386 - 398000 0.0046537886 0.0024109717 0.0046651505 - 398100 0.004651872 0.0021782076 0.0044314581 - 398200 0.0039933405 0.0022504689 0.0041847432 - 398300 0.0055355804 0.0023094689 0.0049907656 - 398400 0.004309813 0.0021575462 0.0042451119 - 398500 0.0042760593 0.0021373776 0.0042085938 - 398600 0.005587814 0.0021958705 0.0049024679 - 398700 0.0046963949 0.0020186235 0.0042934398 - 398800 0.0053325242 0.001896144 0.0044790854 - 398900 0.0049222169 0.001696836 0.0040810349 - 399000 0.0037193794 0.0018952072 0.0036967816 - 399100 0.0041384213 0.0019039509 0.0039084987 - 399200 0.0062966861 0.0017337739 0.0047837312 - 399300 0.0047742271 0.0019824213 0.0042949376 - 399400 0.0047343106 0.0022855637 0.0045787454 - 399500 0.0052284105 0.0022776034 0.0048101148 - 399600 0.0038893043 0.0025003793 0.0043842611 - 399700 0.0042321875 0.0025865726 0.0046365384 - 399800 0.0054769425 0.0025327063 0.0051856003 - 399900 0.0048819399 0.0027764048 0.0051410944 - 400000 0.0054971165 0.0023154855 0.0049781513 - 400100 0.0049020722 0.0021193958 0.004493837 - 400200 0.0051687326 0.0021615092 0.0046651141 - 400300 0.0052764246 0.0021081105 0.0046638787 - 400400 0.0038036695 0.0019309536 0.0037733561 - 400500 0.0057192507 0.0020251235 0.0047953856 - 400600 0.0036970181 0.0023841691 0.0041749122 - 400700 0.0042249475 0.0028010696 0.0048475285 - 400800 0.0059055369 0.0029165254 0.0057770198 - 400900 0.0053985339 0.0025694867 0.0051844015 - 401000 0.0068201387 0.0026167518 0.0059202565 - 401100 0.0056930801 0.0023914329 0.0051490185 - 401200 0.0068661998 0.0018792671 0.0052050827 - 401300 0.0044198332 0.0017516325 0.0038924892 - 401400 0.0046234299 0.0018906723 0.0041301462 - 401500 0.005060961 0.0022426063 0.0046940093 - 401600 0.005973636 0.0023131321 0.005206612 - 401700 0.0061747115 0.0027018962 0.0056927721 - 401800 0.0057152695 0.0030514405 0.0058197742 - 401900 0.0050132193 0.0032193983 0.0056476764 - 402000 0.006553072 0.0030194846 0.0061936288 - 402100 0.006236895 0.0030409563 0.0060619523 - 402200 0.0056200018 0.0026922506 0.005414439 - 402300 0.0067452694 0.002263087 0.0055303269 - 402400 0.0047985403 0.0022443819 0.0045686749 - 402500 0.0060978119 0.002518161 0.0054717887 - 402600 0.0055573429 0.0025338671 0.0052257051 - 402700 0.0035089611 0.0022546148 0.0039542678 - 402800 0.0058257135 0.0021417564 0.0049635864 - 402900 0.0059108734 0.0031117723 0.0059748516 - 403000 0.0061945489 0.0030161351 0.0060166197 - 403100 0.0071448356 0.002955554 0.0064163337 - 403200 0.0065212796 0.0030648142 0.006223559 - 403300 0.0058874707 0.0031999763 0.00605172 - 403400 0.0038552771 0.0030656649 0.0049330648 - 403500 0.0058762856 0.0028519846 0.0056983104 - 403600 0.005243254 0.0020336661 0.0045733673 - 403700 0.0050301941 0.002070891 0.0045073913 - 403800 0.0041329802 0.0024189339 0.0044208462 - 403900 0.0057325517 0.0026915508 0.0054682555 - 404000 0.0051663862 0.0031819551 0.0056844235 - 404100 0.0046680848 0.0035233366 0.0057844402 - 404200 0.0052407682 0.0031365335 0.0056750306 - 404300 0.006118943 0.0025470622 0.0055109252 - 404400 0.0062770986 0.0020781821 0.0051186518 - 404500 0.0042990092 0.002337786 0.0044201185 - 404600 0.006380319 0.0022807018 0.0053711688 - 404700 0.0064189486 0.0019722941 0.0050814723 - 404800 0.0042294192 0.0024867612 0.0045353861 - 404900 0.0051766252 0.0028692212 0.005376649 - 405000 0.006188712 0.0023468957 0.0053445531 - 405100 0.0040600397 0.0024924713 0.004459053 - 405200 0.0058677946 0.0024291229 0.0052713359 - 405300 0.0038978375 0.0028050426 0.0046930576 - 405400 0.0050456589 0.002506996 0.004950987 - 405500 0.0050703669 0.0025318754 0.0049878343 - 405600 0.0055195057 0.0027307213 0.0054042318 - 405700 0.0077525638 0.0033918945 0.0071470426 - 405800 0.0059740858 0.0039859171 0.0068796149 - 405900 0.0050558689 0.0040599615 0.006508898 - 406000 0.0048017535 0.0034136431 0.0057394925 - 406100 0.0056616935 0.00327427 0.0060166528 - 406200 0.0054017031 0.0032330535 0.0058495035 - 406300 0.004139828 0.0030840516 0.0050892808 - 406400 0.0050158857 0.0026629251 0.0050924947 - 406500 0.0051772966 0.0027778067 0.0052855597 - 406600 0.0050885005 0.002760866 0.0052256085 - 406700 0.0053468184 0.0024164541 0.0050063192 - 406800 0.0077593706 0.0024724681 0.0062309133 - 406900 0.0060073036 0.0027856094 0.0056953971 - 407000 0.0048343261 0.0032969608 0.0056385875 - 407100 0.0059989357 0.0030699531 0.0059756876 - 407200 0.0062461321 0.0028453468 0.005870817 - 407300 0.0065219581 0.003259075 0.0064181484 - 407400 0.0060103362 0.002998524 0.0059097806 - 407500 0.0075833918 0.0028067775 0.0064799829 - 407600 0.0058960865 0.0025440109 0.0053999278 - 407700 0.0064055037 0.002455696 0.0055583618 - 407800 0.0061378518 0.0024576689 0.0054306909 - 407900 0.0067168283 0.0022320897 0.0054855534 - 408000 0.005147035 0.0023989795 0.0048920745 - 408100 0.0052563459 0.0025811102 0.0051271528 - 408200 0.0067295018 0.0027950061 0.0060546086 - 408300 0.004847408 0.0032791902 0.0056271534 - 408400 0.004721639 0.0022915073 0.0045785512 - 408500 0.0037493394 0.0020831623 0.0038992486 - 408600 0.0047151725 0.0023054263 0.0045893379 - 408700 0.0054573374 0.0026063159 0.0052497137 - 408800 0.0058973929 0.0029486697 0.0058052194 - 408900 0.0046417132 0.0027660227 0.0050143525 - 409000 0.0033982879 0.0025031766 0.0041492223 - 409100 0.0050213121 0.0025931697 0.0050253678 - 409200 0.0058632901 0.0020407525 0.0048807836 - 409300 0.0039329481 0.0020735754 0.0039785971 - 409400 0.0050545291 0.001838585 0.0042868726 - 409500 0.0041695059 0.0018406817 0.0038602861 - 409600 0.0047331569 0.0020856872 0.0043783101 - 409700 0.004506268 0.002749117 0.0049318405 - 409800 0.0049838897 0.0028763119 0.0052903834 - 409900 0.0067057462 0.0026319943 0.0058800901 - 410000 0.0053021841 0.0027157352 0.0052839806 - 410100 0.003677237 0.002634277 0.0044154387 - 410200 0.0050044679 0.0022930352 0.0047170743 - 410300 0.0053328213 0.0022350644 0.0048181497 - 410400 0.0052038123 0.0022547515 0.0047753481 - 410500 0.0046231517 0.0026848487 0.0049241878 - 410600 0.0036668068 0.0027466132 0.0045227227 - 410700 0.0060875377 0.0028886548 0.0058373059 - 410800 0.0048889219 0.0030379812 0.0054060527 - 410900 0.0059186621 0.0029971644 0.0058640163 - 411000 0.0045995436 0.0031337849 0.0053616889 - 411100 0.0047893354 0.0027800193 0.0050998536 - 411200 0.0078335215 0.0024599709 0.0062543329 - 411300 0.0048721448 0.0025801454 0.0049400905 - 411400 0.0044060747 0.0028158105 0.004950003 - 411500 0.0048431546 0.0025460788 0.0048919818 - 411600 0.0043361762 0.0024090158 0.0045093512 - 411700 0.0055880584 0.0024752196 0.0051819354 - 411800 0.0055588542 0.0029273973 0.0056199673 - 411900 0.0062306345 0.0024680098 0.0054859734 - 412000 0.0034560688 0.0022948239 0.0039688572 - 412100 0.0058910954 0.0020181429 0.0048716422 - 412200 0.0036857373 0.0019992098 0.0037844888 - 412300 0.005661197 0.0018969868 0.0046391291 - 412400 0.004170256 0.0017962836 0.0038162513 - 412500 0.0040732849 0.00160117 0.0035741673 - 412600 0.0049315278 0.0016077148 0.0039964235 - 412700 0.0047056412 0.0023026565 0.0045819515 - 412800 0.004353635 0.0026561675 0.0047649595 - 412900 0.0064621964 0.0025224959 0.0056526223 - 413000 0.0061502835 0.0024735596 0.0054526031 - 413100 0.0062503106 0.0025919043 0.0056193985 - 413200 0.0042201858 0.0024676344 0.0045117869 - 413300 0.0051966993 0.0023118479 0.0048289991 - 413400 0.0047788245 0.0019991813 0.0043139244 - 413500 0.0057097124 0.0020898967 0.0048555387 - 413600 0.0048331519 0.0025041699 0.0048452278 - 413700 0.0039819509 0.0024789337 0.0044076912 - 413800 0.0051388331 0.0026471797 0.005136302 - 413900 0.0041262329 0.0024354132 0.0044340573 - 414000 0.0055383514 0.0025391181 0.0052217571 - 414100 0.0052716755 0.0030084829 0.0055619508 - 414200 0.0053130295 0.0030561504 0.0056296491 - 414300 0.0034808745 0.0033891831 0.0050752317 - 414400 0.0054529154 0.003137434 0.0057786899 - 414500 0.0051753854 0.0028505564 0.0053573837 - 414600 0.0047143388 0.0022334856 0.0045169935 - 414700 0.0050825057 0.0021198938 0.0045817325 - 414800 0.0052153433 0.0026020197 0.0051282017 - 414900 0.0049845209 0.0027269736 0.005141351 - 415000 0.0056716037 0.0026061842 0.0053533673 - 415100 0.0044417484 0.0025407915 0.0046922634 - 415200 0.0059854077 0.0021892381 0.0050884199 - 415300 0.0053260185 0.0019859315 0.0045657217 - 415400 0.0049563112 0.0023237551 0.0047244684 - 415500 0.005619213 0.0026669822 0.0053887885 - 415600 0.0045760155 0.0026044316 0.0048209391 - 415700 0.0060167792 0.0023132047 0.0052275821 - 415800 0.004778248 0.0024071716 0.0047216355 - 415900 0.0054434502 0.0024851074 0.0051217786 - 416000 0.0041734557 0.0028904633 0.0049119809 - 416100 0.0043722658 0.0025678854 0.0046857016 - 416200 0.0055766919 0.0024055416 0.0051067518 - 416300 0.0040862151 0.0026948418 0.0046741022 - 416400 0.0045933582 0.0025514984 0.0047764063 - 416500 0.0065527376 0.0022956923 0.0054696745 - 416600 0.0045715082 0.0027203571 0.0049346814 - 416700 0.0054360988 0.0028537377 0.0054868481 - 416800 0.0069851873 0.0024937376 0.0058771877 - 416900 0.0041290898 0.0030002282 0.0050002561 - 417000 0.0059552477 0.0033220072 0.0062065804 - 417100 0.0062428209 0.0027337051 0.0057575715 - 417200 0.0051862093 0.0029679518 0.0054800219 - 417300 0.0049066696 0.0030618144 0.0054384825 - 417400 0.0043344808 0.0028716467 0.0049711608 - 417500 0.0038876842 0.0025501953 0.0044332923 - 417600 0.0052516091 0.0023687366 0.0049124847 - 417700 0.0051636209 0.0021993517 0.0047004806 - 417800 0.0056924341 0.0022551084 0.0050123812 - 417900 0.0059063933 0.0021018131 0.0049627224 - 418000 0.0038453719 0.0024869162 0.0043495182 - 418100 0.0049634587 0.0028910919 0.0052952672 - 418200 0.0069812973 0.0023440498 0.0057256157 - 418300 0.0052909739 0.00279429 0.0053571055 - 418400 0.0052271327 0.0028003247 0.0053322171 - 418500 0.0038542523 0.0027291811 0.0045960846 - 418600 0.0061266077 0.0026279099 0.0055954855 - 418700 0.0053169639 0.0029543195 0.0055297239 - 418800 0.0054337647 0.0032846554 0.0059166352 - 418900 0.0045968611 0.0030534001 0.0052800047 - 419000 0.0047300231 0.0028375869 0.0051286918 - 419100 0.0043735173 0.0027147932 0.0048332156 - 419200 0.0060355106 0.0027265951 0.0056500455 - 419300 0.0049770785 0.0022958926 0.0047066649 - 419400 0.0055153777 0.0021487895 0.0048203006 - 419500 0.0055419904 0.0021098232 0.0047942248 - 419600 0.0058756283 0.0019564927 0.0048025002 - 419700 0.0046805727 0.0024650344 0.0047321868 - 419800 0.0050236302 0.0028256536 0.0052589745 - 419900 0.0044036821 0.0028769025 0.005009936 - 420000 0.0052814151 0.0025711405 0.005129326 - 420100 0.0062414066 0.0024752553 0.0054984366 - 420200 0.0076801213 0.0024229542 0.0061430129 - 420300 0.0054017759 0.0032648228 0.005881308 - 420400 0.0048868548 0.0035074226 0.0058744929 - 420500 0.0050401825 0.0039219814 0.0063633198 - 420600 0.0056346012 0.0040289739 0.0067582339 - 420700 0.005210317 0.0033026834 0.0058264307 - 420800 0.0062652227 0.0023589165 0.0053936338 - 420900 0.0072435399 0.0020388105 0.0055474001 - 421000 0.0045204962 0.0022345535 0.0044241689 - 421100 0.00570234 0.0024718979 0.0052339689 - 421200 0.0047340395 0.0022362456 0.004529296 - 421300 0.0058873303 0.0021517483 0.005003424 - 421400 0.0052195557 0.0027362553 0.0052644776 - 421500 0.0069194345 0.0028201261 0.0061717272 - 421600 0.005244691 0.0025572254 0.0050976226 - 421700 0.0049734212 0.0023424059 0.0047514068 - 421800 0.0052348219 0.0021845593 0.0047201761 - 421900 0.0036451446 0.0022215207 0.0039871377 - 422000 0.0059207679 0.0022021456 0.0050700175 - 422100 0.0050464878 0.0023330637 0.0047774562 - 422200 0.0059821344 0.0022987101 0.0051963065 - 422300 0.0043008955 0.002695735 0.0047789812 - 422400 0.0050555975 0.0030041086 0.0054529137 - 422500 0.0046106206 0.0027468557 0.0049801251 - 422600 0.0043235185 0.0024039042 0.0044981085 - 422700 0.0038835426 0.002326193 0.004207284 - 422800 0.004805624 0.0022759415 0.0046036656 - 422900 0.0052912463 0.0021744692 0.0047374166 - 423000 0.0051484534 0.0022364306 0.0047302127 - 423100 0.0045718491 0.0024199035 0.004634393 - 423200 0.0039855898 0.0020349218 0.0039654418 - 423300 0.0038674441 0.002025704 0.0038989972 - 423400 0.0048534919 0.0021005553 0.0044514655 - 423500 0.0038856692 0.0023685728 0.0042506939 - 423600 0.0043426981 0.0023259277 0.004429422 - 423700 0.0060664094 0.00224099 0.0051794071 - 423800 0.0043944189 0.0028714746 0.0050000212 - 423900 0.0038914906 0.0028862596 0.0047712004 - 424000 0.0052726166 0.0029826157 0.0055365393 - 424100 0.0069035294 0.0030466699 0.0063905669 - 424200 0.0049447598 0.0032745516 0.0056696696 - 424300 0.0061752168 0.0027763243 0.0057674449 - 424400 0.0053004933 0.0029320463 0.0054994728 - 424500 0.0063289736 0.002828952 0.0058945485 - 424600 0.0052330378 0.0023325888 0.0048673415 - 424700 0.0040903473 0.0023907117 0.0043719736 - 424800 0.0058061588 0.0024713058 0.005283664 - 424900 0.0047234552 0.0023834412 0.0046713648 - 425000 0.0056159001 0.0027061662 0.0054263678 - 425100 0.004317379 0.002883791 0.0049750214 - 425200 0.0047944389 0.0029740056 0.0052963119 - 425300 0.0063999265 0.002265734 0.0053656984 - 425400 0.0048456693 0.0022264372 0.0045735583 - 425500 0.0058459948 0.0027136885 0.0055453422 - 425600 0.0059024846 0.002953972 0.005812988 - 425700 0.0055674131 0.0024693588 0.0051660745 - 425800 0.0060809528 0.0021867195 0.005132181 - 425900 0.0049124572 0.0020839003 0.0044633718 - 426000 0.0051395903 0.0020107872 0.0045002763 - 426100 0.0040665807 0.0019838211 0.0039535711 - 426200 0.0044772782 0.0019058981 0.0040745797 - 426300 0.0052691555 0.0019254647 0.0044777119 - 426400 0.0054233912 0.0018184285 0.0044453836 - 426500 0.0041085937 0.0021685478 0.0041586479 - 426600 0.005104878 0.0024581194 0.0049307947 - 426700 0.0059516019 0.0023957277 0.0052785348 - 426800 0.0058927852 0.0019747364 0.0048290542 - 426900 0.0051361365 0.0020515313 0.0045393474 - 427000 0.0053125373 0.002232748 0.0048060083 - 427100 0.0037012838 0.0023368297 0.004129639 - 427200 0.0045289731 0.002268002 0.0044617233 - 427300 0.0066293558 0.002056483 0.0052675772 - 427400 0.0052936788 0.0020965395 0.0046606652 - 427500 0.0040511646 0.0022634689 0.0042257517 - 427600 0.0046447955 0.0021646374 0.0044144602 - 427700 0.0055241268 0.0023366476 0.0050123965 - 427800 0.0039869769 0.0024190539 0.0043502459 - 427900 0.0046675908 0.0028077933 0.0050686576 - 428000 0.0063656046 0.0026707242 0.0057540639 - 428100 0.0044759408 0.0028749573 0.0050429911 - 428200 0.004320327 0.0029070374 0.0049996958 - 428300 0.0069303822 0.0024814858 0.0058383897 - 428400 0.0053510652 0.0023380708 0.0049299931 - 428500 0.0057235183 0.0022187229 0.0049910521 - 428600 0.0061546563 0.002541028 0.0055221896 - 428700 0.0036562173 0.0031815053 0.0049524856 - 428800 0.0030185995 0.0032467613 0.0047088954 - 428900 0.0048982718 0.0022316109 0.0046042113 - 429000 0.0042196398 0.0021338092 0.0041776972 - 429100 0.0058111588 0.0022229382 0.0050377182 - 429200 0.0055322703 0.0021004876 0.0047801811 - 429300 0.003688935 0.0021099166 0.0038967445 - 429400 0.004697761 0.0021825378 0.0044580157 - 429500 0.006397937 0.0021049304 0.0052039312 - 429600 0.004619885 0.002056297 0.0042940538 - 429700 0.0047807866 0.0020649638 0.0043806573 - 429800 0.0037916936 0.0020722431 0.0039088447 - 429900 0.0070862366 0.0021503969 0.0055827928 - 430000 0.0045131066 0.0022617536 0.0044477896 - 430100 0.0038803583 0.0023696756 0.0042492241 - 430200 0.0041781365 0.002476643 0.0045004279 - 430300 0.0051852469 0.0023023564 0.0048139604 - 430400 0.0072137494 0.0020312368 0.0055253967 - 430500 0.0047224911 0.002259334 0.0045467906 - 430600 0.0060491839 0.002470788 0.0054008615 - 430700 0.0057229043 0.0021657655 0.0049377972 - 430800 0.0043303563 0.0023166548 0.0044141711 - 430900 0.0038138203 0.0027010051 0.0045483243 - 431000 0.0056109611 0.002161303 0.0048791122 - 431100 0.0059947772 0.0024452417 0.0053489619 - 431200 0.0035379187 0.0027658852 0.0044795646 - 431300 0.0050563557 0.0027822379 0.0052314102 - 431400 0.0060875788 0.0024567352 0.0054054062 - 431500 0.0061094402 0.0029285083 0.0058877684 - 431600 0.0053299591 0.0031103118 0.0056920107 - 431700 0.0064131032 0.0021108409 0.0052171878 - 431800 0.0054748041 0.0025894507 0.0052413089 - 431900 0.0026382562 0.0027952086 0.0040731139 - 432000 0.0040430957 0.0025217745 0.004480149 - 432100 0.0049409803 0.0025327998 0.0049260871 - 432200 0.0052637756 0.0031393112 0.0056889526 - 432300 0.0040699721 0.0035648841 0.0055362769 - 432400 0.0064323484 0.0031847047 0.0063003734 - 432500 0.0060511658 0.003082211 0.0060132444 - 432600 0.0051561811 0.0031221832 0.0056197085 - 432700 0.0059170822 0.0030807323 0.005946819 - 432800 0.0046692875 0.0027336935 0.0049953797 - 432900 0.0038371161 0.0025776949 0.004436298 - 433000 0.0051188266 0.0022520041 0.0047314357 - 433100 0.0062506315 0.0019394112 0.0049670608 - 433200 0.00477566 0.0022321984 0.0045454087 - 433300 0.0060174646 0.0025902417 0.0055049511 - 433400 0.0047128125 0.0028288271 0.0051115957 - 433500 0.0041135921 0.0028680725 0.0048605937 - 433600 0.0039796269 0.0027961466 0.0047237784 - 433700 0.005704948 0.002621645 0.0053849792 - 433800 0.0065693643 0.0027395171 0.0059215529 - 433900 0.0059580431 0.0032491161 0.0061350433 - 434000 0.0049694843 0.0035143711 0.005921465 - 434100 0.0049454108 0.0033922508 0.0057876842 - 434200 0.0060175473 0.0031519151 0.0060666645 - 434300 0.0062454043 0.0029528088 0.0059779265 - 434400 0.005953159 0.0031014936 0.005985055 - 434500 0.0068590686 0.0032557575 0.0065781188 - 434600 0.0062663702 0.0032967429 0.0063320159 - 434700 0.0045297029 0.0035633732 0.005757448 - 434800 0.0050358333 0.0034506553 0.0058898871 - 434900 0.0052598495 0.0025840728 0.0051318124 - 435000 0.004977605 0.002737558 0.0051485854 - 435100 0.0058482721 0.002794456 0.0056272128 - 435200 0.0054889635 0.0024834131 0.0051421298 - 435300 0.0054804827 0.0022941314 0.0049487402 - 435400 0.0040455699 0.0021202447 0.0040798177 - 435500 0.0045747967 0.002254459 0.0044703761 - 435600 0.0053912234 0.0020819737 0.0046933476 - 435700 0.0050825415 0.0021037105 0.0045655666 - 435800 0.0060423632 0.0019772745 0.0049040442 - 435900 0.0061221962 0.0024945649 0.0054600037 - 436000 0.0063794515 0.0022291809 0.0053192278 - 436100 0.0057486479 0.0022536627 0.0050381641 - 436200 0.0051125446 0.0026623921 0.0051387809 - 436300 0.0051738519 0.0027121245 0.005218209 - 436400 0.0049957896 0.0022705847 0.0046904203 - 436500 0.0049061291 0.0023757265 0.0047521328 - 436600 0.004872339 0.0026072779 0.0049673171 - 436700 0.0043638986 0.0019601845 0.0040739478 - 436800 0.0046614598 0.0020037993 0.0042616939 - 436900 0.0064931625 0.0019569359 0.0051020615 - 437000 0.0050229191 0.0021982672 0.0046312437 - 437100 0.0049491361 0.0020996176 0.0044968554 - 437200 0.0040133024 0.0023928801 0.0043368235 - 437300 0.004732141 0.0021672999 0.0044594307 - 437400 0.0039027089 0.0020617697 0.0039521444 - 437500 0.0053213686 0.0020560268 0.0046335647 - 437600 0.0039906748 0.0021539653 0.0040869484 - 437700 0.0056821581 0.0022516145 0.0050039098 - 437800 0.0057280028 0.0024107266 0.0051852279 - 437900 0.0051237764 0.0025551037 0.0050369329 - 438000 0.0045497669 0.0029150198 0.0051188132 - 438100 0.0047067718 0.0028485579 0.0051284005 - 438200 0.0051276324 0.0026184025 0.0051020994 - 438300 0.0044044677 0.0024708694 0.0046042834 - 438400 0.0038735561 0.0024589185 0.0043351722 - 438500 0.0052507269 0.0026342594 0.0051775803 - 438600 0.004504654 0.0025961378 0.0047780796 - 438700 0.0063411005 0.0023135992 0.0053850697 - 438800 0.0053666926 0.0022526463 0.004852138 - 438900 0.0051093451 0.0022752354 0.0047500744 - 439000 0.0045348347 0.0022672838 0.0044638444 - 439100 0.0045837085 0.0024623979 0.0046826317 - 439200 0.0038949019 0.002712393 0.0045989861 - 439300 0.0055394059 0.0023633942 0.0050465439 - 439400 0.0046458983 0.0024489439 0.0046993009 - 439500 0.0049315477 0.0021856943 0.0045744127 - 439600 0.0055589007 0.0020184611 0.0047110536 - 439700 0.0044839226 0.0020780021 0.0042499021 - 439800 0.0058451045 0.0017566506 0.004587873 - 439900 0.0066556588 0.0019478607 0.0051716954 - 440000 0.0038763241 0.0025927928 0.0044703873 - 440100 0.0040264139 0.0025847032 0.0045349975 - 440200 0.004368939 0.0022345108 0.0043507156 - 440300 0.0045593163 0.0022591732 0.0044675921 - 440400 0.0054583549 0.0022702532 0.0049141438 - 440500 0.0058446581 0.0022950396 0.0051260459 - 440600 0.0074502176 0.0022824376 0.0058911367 - 440700 0.0042515148 0.0025754742 0.0046348017 - 440800 0.0040710737 0.0024429413 0.0044148676 - 440900 0.0053892596 0.0024030798 0.0050135024 - 441000 0.0059084227 0.0023073074 0.0051691996 - 441100 0.0064284544 0.0025054598 0.0056192425 - 441200 0.0050114011 0.0026423659 0.0050697633 - 441300 0.0056897836 0.0025674894 0.0053234783 - 441400 0.003644692 0.0024668604 0.0042322581 - 441500 0.0055505498 0.0024682961 0.0051568437 - 441600 0.0054658323 0.0027970285 0.005444541 - 441700 0.0036264425 0.0026009549 0.004357513 - 441800 0.0060290114 0.0019727234 0.0048930258 - 441900 0.0061890395 0.0019004749 0.0048982909 - 442000 0.0063915963 0.0026094476 0.005705377 - 442100 0.0054312455 0.0034459156 0.0060766751 - 442200 0.0057242071 0.0028559507 0.0056286135 - 442300 0.0049966897 0.0022302049 0.0046504765 - 442400 0.0060377355 0.0020588152 0.0049833433 - 442500 0.005509326 0.0028034627 0.0054720425 - 442600 0.0058447055 0.0034193739 0.0062504031 - 442700 0.0047888657 0.0032285186 0.0055481254 - 442800 0.0056235415 0.0024926141 0.005216517 - 442900 0.0046838061 0.0020827056 0.0043514242 - 443000 0.0052792355 0.0019325021 0.0044896318 - 443100 0.0047644953 0.0024231876 0.00473099 - 443200 0.0046478557 0.0029372723 0.0051885774 - 443300 0.0061748527 0.0032137013 0.0062046456 - 443400 0.0055171142 0.0025889621 0.0052613143 - 443500 0.0044773134 0.0025791405 0.0047478392 - 443600 0.0032214787 0.0031917051 0.0047521088 - 443700 0.0044811655 0.0030316829 0.0052022475 - 443800 0.004073356 0.0029690422 0.004942074 - 443900 0.0069225984 0.002720051 0.0060731846 - 444000 0.0054977397 0.00291295 0.0055759177 - 444100 0.0053405449 0.0037313384 0.0063181649 - 444200 0.0065501685 0.0040549551 0.007227693 - 444300 0.0061987199 0.0038925499 0.0068950549 - 444400 0.0049018816 0.0036557519 0.0060301008 - 444500 0.0071244309 0.0034038307 0.0068547269 - 444600 0.0042899028 0.0031291384 0.00520706 - 444700 0.0054303442 0.0027711153 0.0054014383 - 444800 0.005383763 0.0025833021 0.0051910623 - 444900 0.0030531577 0.0026130436 0.0040919168 - 445000 0.0041345518 0.0028126007 0.0048152743 - 445100 0.0050731766 0.0030335351 0.005490855 - 445200 0.0068678662 0.0027903902 0.0061170129 - 445300 0.004087145 0.0026925674 0.0046722782 - 445400 0.0046928391 0.002356826 0.0046299199 - 445500 0.0060427525 0.0022303665 0.0051573247 - 445600 0.0043554795 0.0025763304 0.0046860158 - 445700 0.0054766424 0.0029944104 0.0056471591 - 445800 0.0051649562 0.0025696988 0.0050714744 - 445900 0.0049719471 0.0024780604 0.0048863473 - 446000 0.0058458562 0.0023196258 0.0051512124 - 446100 0.0043090146 0.0025248336 0.0046120126 - 446200 0.0038578489 0.0026222138 0.0044908594 - 446300 0.0054940749 0.0025485342 0.0052097267 - 446400 0.0054517815 0.0022344298 0.0048751364 - 446500 0.0058581454 0.0022655311 0.0051030703 - 446600 0.0059353474 0.0024510751 0.0053260089 - 446700 0.0045173182 0.0023462853 0.0045343613 - 446800 0.0041856295 0.0025763069 0.0046037211 - 446900 0.0053092458 0.0024233605 0.0049950265 - 447000 0.0043462462 0.0026704237 0.0047756367 - 447100 0.0046794193 0.0034471994 0.0057137931 - 447200 0.0050817813 0.0034844031 0.0059458909 - 447300 0.0049599601 0.0032981373 0.0057006179 - 447400 0.0043756359 0.0034179081 0.0055373567 - 447500 0.0063507401 0.0031783937 0.0062545334 - 447600 0.0059493562 0.0032156254 0.0060973448 - 447700 0.0055673052 0.0027750916 0.0054717551 - 447800 0.0043280759 0.0028954816 0.0049918933 - 447900 0.006845838 0.0026950325 0.0060109853 - 448000 0.0064587539 0.0031736977 0.0063021566 - 448100 0.0063555826 0.0032581095 0.0063365948 - 448200 0.0053336269 0.0030057102 0.0055891857 - 448300 0.0046960139 0.0031478774 0.0054225092 - 448400 0.0050279503 0.0031663325 0.005601746 - 448500 0.0070074117 0.002875415 0.0062696301 - 448600 0.0070850293 0.002653168 0.006084979 - 448700 0.0056082659 0.0028270019 0.0055435057 - 448800 0.0050853289 0.0028400634 0.0053032696 - 448900 0.003998957 0.0024190209 0.0043560157 - 449000 0.0054434758 0.0020866001 0.0047232837 - 449100 0.0043006918 0.0018381771 0.0039213247 - 449200 0.0046627218 0.0021391119 0.0043976177 - 449300 0.0052183904 0.0029195624 0.0054472203 - 449400 0.00431807 0.0030521884 0.0051437536 - 449500 0.0056376026 0.0024495885 0.0051803022 - 449600 0.0061994374 0.0021465085 0.005149361 - 449700 0.005423881 0.0022025166 0.004829709 - 449800 0.0047532776 0.0024468856 0.0047492544 - 449900 0.006421684 0.0024803518 0.005590855 - 450000 0.0047478554 0.0023229784 0.0046227208 - 450100 0.0045620761 0.0021688281 0.0043785837 - 450200 0.0051537911 0.0021357496 0.0046321171 - 450300 0.0063189366 0.0022942822 0.0053550172 - 450400 0.0050262373 0.002449932 0.0048845157 - 450500 0.0048805256 0.0028562846 0.0052202892 - 450600 0.0051208622 0.0029036994 0.005384117 - 450700 0.0051662128 0.0028916655 0.0053940498 - 450800 0.0057414448 0.0025452145 0.0053262268 - 450900 0.004090118 0.0023873882 0.0043685391 - 451000 0.0052255759 0.0027011919 0.0052323302 - 451100 0.0053629329 0.0030474355 0.0056451061 - 451200 0.0046697502 0.0030776341 0.0053395443 - 451300 0.0057023219 0.0027807614 0.0055428236 - 451400 0.0054955354 0.0024054393 0.0050673392 - 451500 0.0047976555 0.0027607982 0.0050846626 - 451600 0.0043777644 0.002938968 0.0050594476 - 451700 0.0041803844 0.0030347882 0.0050596619 - 451800 0.0058279612 0.0028832692 0.0057061879 - 451900 0.0062109245 0.002370356 0.0053787726 - 452000 0.0049976907 0.0024844504 0.0049052068 - 452100 0.0050768153 0.0028267807 0.0052858631 - 452200 0.004550057 0.0030756141 0.005279548 - 452300 0.0064725183 0.0025437904 0.0056789165 - 452400 0.0072352403 0.0031611671 0.0066657366 - 452500 0.0050385991 0.0038626705 0.006303242 - 452600 0.0064204671 0.0033418522 0.006451766 - 452700 0.0062414072 0.0028506418 0.0058738234 - 452800 0.0054558138 0.0027473951 0.0053900549 - 452900 0.0039786799 0.0023745218 0.0043016948 - 453000 0.0047009013 0.00254688 0.0048238791 - 453100 0.0055546321 0.0025861957 0.0052767206 - 453200 0.0035168791 0.0028880904 0.0045915787 - 453300 0.006350497 0.0030771007 0.0061531227 - 453400 0.0056300359 0.0030012693 0.0057283179 - 453500 0.0067192178 0.0024758651 0.0057304863 - 453600 0.0080590266 0.0025544191 0.0064580101 - 453700 0.0059000442 0.0029318986 0.0057897325 - 453800 0.0048860256 0.0028765246 0.0052431933 - 453900 0.0051051352 0.0031726859 0.0056454858 - 454000 0.0054795537 0.0030538955 0.0057080543 - 454100 0.0056747996 0.0027650331 0.0055137641 - 454200 0.0057054139 0.0028350401 0.0055986 - 454300 0.005806749 0.0027026965 0.0055153406 - 454400 0.0058146592 0.0029583278 0.0057748034 - 454500 0.0058884462 0.0030421028 0.0058943189 - 454600 0.0047479489 0.0028260254 0.0051258132 - 454700 0.0062909083 0.0028095167 0.0058566754 - 454800 0.0049724924 0.0030430497 0.0054516006 - 454900 0.005890218 0.0028166014 0.0056696757 - 455000 0.0056237283 0.0029832876 0.005707281 - 455100 0.00376877 0.0039480735 0.0057735715 - 455200 0.0071852094 0.003881456 0.0073617918 - 455300 0.0051527917 0.0035524373 0.0060483208 - 455400 0.0048938375 0.003083862 0.0054543146 - 455500 0.0054056278 0.0032024377 0.0058207886 - 455600 0.007051777 0.0030208489 0.0064365534 - 455700 0.0043723675 0.0028930394 0.0050109049 - 455800 0.0048421539 0.0029360286 0.0052814469 - 455900 0.0044086164 0.0030320833 0.0051675069 - 456000 0.0062692258 0.0028234293 0.0058600856 - 456100 0.0064945504 0.0027770243 0.0059228222 - 456200 0.0046398552 0.002835239 0.0050826689 - 456300 0.0055122776 0.0027002912 0.0053703007 - 456400 0.0046684185 0.0027225083 0.0049837735 - 456500 0.0062210862 0.0028579871 0.0058713258 - 456600 0.0076488393 0.0028041182 0.0065090247 - 456700 0.0062952337 0.0029791448 0.0060283986 - 456800 0.0051191322 0.0030421104 0.00552169 - 456900 0.0053816786 0.0028118267 0.0054185773 - 457000 0.0045053465 0.002470759 0.0046530362 - 457100 0.0043803094 0.0026134603 0.0047351727 - 457200 0.0037081417 0.002855833 0.0046519642 - 457300 0.0055045022 0.0026106633 0.0052769065 - 457400 0.0050546824 0.0026161506 0.0050645124 - 457500 0.003875194 0.0025188248 0.0043958719 - 457600 0.0052271818 0.002360878 0.0048927942 - 457700 0.004247155 0.0026022215 0.0046594372 - 457800 0.0045453239 0.0020820236 0.0042836649 - 457900 0.0059224278 0.0021974558 0.0050661318 - 458000 0.0047835591 0.0028747455 0.0051917819 - 458100 0.0054580427 0.0033037412 0.0059474806 - 458200 0.007007129 0.0032106155 0.0066046936 - 458300 0.0059139826 0.0028762564 0.0057408417 - 458400 0.0056018526 0.002604292 0.0053176894 - 458500 0.0063406889 0.0022052498 0.005276521 - 458600 0.0049251086 0.0024799383 0.0048655377 - 458700 0.0038896155 0.0026525315 0.004536564 - 458800 0.0058831884 0.0030999513 0.0059496207 - 458900 0.0038147877 0.0033297579 0.0051775457 - 459000 0.0044368504 0.0032250401 0.0053741395 - 459100 0.0055578761 0.0028281511 0.0055202474 - 459200 0.0045819344 0.0025303804 0.0047497549 - 459300 0.004350653 0.0022661296 0.0043734771 - 459400 0.004297496 0.0022762772 0.0043578768 - 459500 0.0029976294 0.0028355235 0.0042875002 - 459600 0.0034583798 0.0026951884 0.0043703411 - 459700 0.0059890612 0.002473296 0.0053742475 - 459800 0.0044784116 0.0020856324 0.004254863 - 459900 0.0044595644 0.0020551488 0.0042152503 - 460000 0.0053501598 0.0026182739 0.0052097576 - 460100 0.003453547 0.0027610646 0.0044338764 - 460200 0.0043920065 0.0023457773 0.0044731555 - 460300 0.0048950399 0.0027266088 0.0050976437 - 460400 0.0047851559 0.002961256 0.0052790659 - 460500 0.004659885 0.0028081637 0.0050652955 - 460600 0.0045167295 0.0022622011 0.004449992 - 460700 0.0072618797 0.0018863082 0.0054037812 - 460800 0.006022984 0.0019881652 0.0049055481 - 460900 0.0055259531 0.0023352087 0.0050118422 - 461000 0.0059433396 0.0022813582 0.0051601633 - 461100 0.0045057466 0.0023737986 0.0045562696 - 461200 0.0041792022 0.002068705 0.0040930061 - 461300 0.0053678386 0.0026074736 0.0052075204 - 461400 0.0054419753 0.0030231227 0.0056590795 - 461500 0.005323714 0.0031494026 0.0057280765 - 461600 0.0058385364 0.0027426333 0.0055706744 - 461700 0.0073974517 0.0024786139 0.0060617545 - 461800 0.0035894959 0.0024510088 0.0041896708 - 461900 0.0044768725 0.0026161916 0.0047846767 - 462000 0.0055114468 0.0030533012 0.0057229083 - 462100 0.0047175112 0.0031423588 0.0054274033 - 462200 0.0052353089 0.0027731063 0.0053089591 - 462300 0.0049740684 0.0025537392 0.0049630536 - 462400 0.0049755153 0.0027822515 0.0051922667 - 462500 0.0053013034 0.0028200769 0.0053878958 - 462600 0.004289165 0.0023978625 0.0044754268 - 462700 0.003589266 0.0022184266 0.0039569773 - 462800 0.0047705792 0.0023837207 0.00469447 - 462900 0.00495507 0.0024610334 0.0048611454 - 463000 0.0031718224 0.0030998244 0.0046361759 - 463100 0.0047733922 0.0026613902 0.004973502 - 463200 0.004526524 0.0021014179 0.0042939529 - 463300 0.0051778162 0.0022895959 0.0047976006 - 463400 0.0057278144 0.0024091346 0.0051835447 - 463500 0.0051855034 0.002446119 0.0049578472 - 463600 0.0058818137 0.0025018521 0.0053508557 - 463700 0.0042466823 0.003112027 0.0051690138 - 463800 0.0066176255 0.0031451192 0.0063505315 - 463900 0.0064131719 0.0024892332 0.0055956134 - 464000 0.0044034654 0.0023699711 0.0045028997 - 464100 0.0046517162 0.0024455665 0.0046987415 - 464200 0.0045470732 0.0025966804 0.004799169 - 464300 0.0056081725 0.0026711557 0.0053876142 - 464400 0.0041758909 0.002669336 0.0046920332 - 464500 0.0065173927 0.0022740883 0.0054309504 - 464600 0.004795367 0.0023085544 0.0046313103 - 464700 0.0060123803 0.0024667575 0.0053790042 - 464800 0.0061133552 0.0026939326 0.005655089 - 464900 0.0073981283 0.0026726401 0.0062561085 - 465000 0.0055176495 0.0025129761 0.0051855875 - 465100 0.0054005351 0.0021372197 0.0047531039 - 465200 0.0048375629 0.0024096319 0.0047528264 - 465300 0.0049518725 0.002238308 0.0046368712 - 465400 0.0045510705 0.0023216286 0.0045260534 - 465500 0.0041226116 0.0023034734 0.0043003634 - 465600 0.0042707142 0.0019977614 0.0040663885 - 465700 0.0044170241 0.0019817908 0.0041212868 - 465800 0.0051370437 0.0023564533 0.0048447089 - 465900 0.0050902416 0.0025562218 0.0050218075 - 466000 0.0050582914 0.0031053103 0.0055554202 - 466100 0.0044923213 0.0029250102 0.0051009784 - 466200 0.0055093251 0.0028027457 0.005471325 - 466300 0.0053037066 0.0028960262 0.0054650091 - 466400 0.005686728 0.0030377418 0.0057922506 - 466500 0.0058243221 0.0028219046 0.0056430606 - 466600 0.0039067467 0.0022156433 0.0041079737 - 466700 0.0036875231 0.0022678153 0.0040539593 - 466800 0.0055231775 0.0025775643 0.0052528534 - 466900 0.0055038439 0.0025838294 0.0052497538 - 467000 0.0052010892 0.0025630844 0.005082362 - 467100 0.005734232 0.0028699829 0.0056475015 - 467200 0.0061112718 0.002948751 0.0059088982 - 467300 0.0051865532 0.0027163 0.0052285367 - 467400 0.0051895309 0.0027321041 0.0052457831 - 467500 0.0036503258 0.0028480099 0.0046161364 - 467600 0.0048030006 0.0029583971 0.0052848505 - 467700 0.0036877342 0.0028107078 0.004596954 - 467800 0.0066095066 0.0030059336 0.0062074133 - 467900 0.0051842984 0.0026010532 0.0051121978 - 468000 0.0039397534 0.0023264182 0.0042347363 - 468100 0.0037234713 0.0023651876 0.004168744 - 468200 0.0067800612 0.0025571048 0.0058411969 - 468300 0.0038759777 0.0029221067 0.0047995334 - 468400 0.0048200184 0.0030211112 0.0053558076 - 468500 0.0060484364 0.0030409125 0.0059706239 - 468600 0.0051223971 0.0025728844 0.0050540455 - 468700 0.0054904658 0.00252257 0.0051820143 - 468800 0.0050111907 0.0024827574 0.0049100529 - 468900 0.0053405749 0.00249678 0.005083621 - 469000 0.0057075859 0.0029768292 0.0057414411 - 469100 0.004113966 0.0033809821 0.0053736844 - 469200 0.0068339598 0.0026462172 0.0059564164 - 469300 0.0057308688 0.0022934808 0.0050693704 - 469400 0.0043906061 0.0026716699 0.0047983697 - 469500 0.0041102734 0.0023651329 0.0043560466 - 469600 0.0050020005 0.0022355994 0.0046584434 - 469700 0.0047809143 0.0016936142 0.0040093696 - 469800 0.0053525448 0.0016388859 0.0042315248 - 469900 0.0040648353 0.0017442947 0.0037131993 - 470000 0.0065669517 0.0021260069 0.0053068741 - 470100 0.0061563359 0.002619176 0.0056011512 - 470200 0.0055368398 0.0025622012 0.005244108 - 470300 0.0055135083 0.0022126658 0.0048832714 - 470400 0.0046652993 0.0022566421 0.0045163965 - 470500 0.0057863488 0.0026392313 0.005441994 - 470600 0.0057693355 0.0029498632 0.0057443851 - 470700 0.0052941336 0.0027606765 0.0053250225 - 470800 0.0063990183 0.0028790913 0.0059786158 - 470900 0.0047568965 0.0028435053 0.005147627 - 471000 0.0068842813 0.0023150918 0.0056496656 - 471100 0.0046841211 0.0022445525 0.0045134237 - 471200 0.0038055846 0.0027523206 0.0045956506 - 471300 0.0044792146 0.0028532789 0.0050228985 - 471400 0.0061465558 0.0023009884 0.0052782264 - 471500 0.0062277801 0.0017097465 0.0047263275 - 471600 0.0061480745 0.002141529 0.0051195026 - 471700 0.0033705514 0.0031674206 0.0048000315 - 471800 0.0050154944 0.00292139 0.0053507701 - 471900 0.006058648 0.0024881689 0.0054228265 - 472000 0.0062640041 0.0021995047 0.0052336317 - 472100 0.0054340402 0.0024308306 0.0050629438 - 472200 0.003989829 0.0028188225 0.004751396 - 472300 0.0049953992 0.0027601455 0.005179792 - 472400 0.0052276132 0.0027333281 0.0052654532 - 472500 0.0058165242 0.0025059776 0.0053233565 - 472600 0.0057906813 0.0024657288 0.0052705901 - 472700 0.006942916 0.0024809942 0.0058439691 - 472800 0.0053825615 0.0020544002 0.0046615784 - 472900 0.0048004165 0.0016298001 0.0039550018 - 473000 0.005028153 0.0019650909 0.0044006025 - 473100 0.0034255614 0.0024144212 0.0040736775 - 473200 0.0050628649 0.0023795654 0.0048318906 - 473300 0.0057794328 0.0024983032 0.0052977159 - 473400 0.0045618358 0.0028688348 0.005078474 - 473500 0.0048513833 0.0026101497 0.0049600385 - 473600 0.0055356638 0.002498511 0.0051798481 - 473700 0.0053802262 0.0025464115 0.0051524585 - 473800 0.00510818 0.0025319921 0.0050062667 - 473900 0.0051381487 0.0022146597 0.0047034505 - 474000 0.0061947311 0.0023603237 0.0053608966 - 474100 0.0040313428 0.0024041483 0.0043568299 - 474200 0.0044744569 0.0028143051 0.0049816201 - 474300 0.0038278713 0.0025114087 0.0043655339 - 474400 0.0054127797 0.0021975254 0.0048193405 - 474500 0.0041154942 0.0023292419 0.0043226844 - 474600 0.0046469881 0.0025673108 0.0048181957 - 474700 0.0048213144 0.0029798253 0.0053151495 - 474800 0.0049389856 0.0028280421 0.0052203633 - 474900 0.006975293 0.0026281598 0.0060068173 - 475000 0.0037697184 0.0027662455 0.0045922029 - 475100 0.0040236326 0.0021722207 0.0041211678 - 475200 0.0051575315 0.0018508504 0.0043490297 - 475300 0.0031432952 0.0021764192 0.0036989528 - 475400 0.0049911628 0.0023398656 0.0047574601 - 475500 0.0055415252 0.0027072592 0.0053914354 - 475600 0.0041433484 0.0027500932 0.0047570276 - 475700 0.005270634 0.0028656569 0.0054186203 - 475800 0.0056942608 0.0025594595 0.0053176171 - 475900 0.004088747 0.002201128 0.0041816148 - 476000 0.0042204076 0.0020281487 0.0040724086 - 476100 0.0058318125 0.0016574783 0.0044822625 - 476200 0.0058442963 0.0024371189 0.0052679499 - 476300 0.0053412202 0.0031334036 0.0057205571 - 476400 0.0059018669 0.0026057579 0.0054644747 - 476500 0.0048338722 0.0020527281 0.004394135 - 476600 0.0048924179 0.0019357911 0.004305556 - 476700 0.0043861243 0.0019441015 0.0040686305 - 476800 0.0045619196 0.0019501892 0.004159869 - 476900 0.0047551197 0.0014535839 0.003756845 - 477000 0.0061913648 0.0015592099 0.0045581522 - 477100 0.0055891591 0.002176388 0.0048836369 - 477200 0.0043540467 0.0024863996 0.004595391 - 477300 0.0038601577 0.0022787226 0.0041484865 - 477400 0.0049695626 0.0018644863 0.0042716182 - 477500 0.004815476 0.0021441269 0.0044766231 - 477600 0.0055105663 0.0020697639 0.0047389444 - 477700 0.0043536467 0.0020429499 0.0041517475 - 477800 0.0066836796 0.0022652205 0.0055026278 - 477900 0.0053369824 0.0026153528 0.0052004537 - 478000 0.0064369971 0.0021442077 0.0052621282 - 478100 0.0050672513 0.0021770221 0.004631472 - 478200 0.0038828643 0.0022036068 0.0040843692 - 478300 0.0063421829 0.0021303865 0.0052023813 - 478400 0.0060391036 0.0022127507 0.0051379415 - 478500 0.0038634428 0.0023748576 0.0042462127 - 478600 0.0054894562 0.0023423196 0.005001275 - 478700 0.0049855855 0.0024445405 0.0048594334 - 478800 0.006223373 0.0024455837 0.00546003 - 478900 0.0059515923 0.0026736669 0.0055564694 - 479000 0.005061052 0.0027552864 0.0052067335 - 479100 0.0058725485 0.0025906534 0.0054351691 - 479200 0.0061519135 0.0021153659 0.0050951989 - 479300 0.0052336076 0.0020207057 0.0045557344 - 479400 0.005518007 0.0019533006 0.0046260853 - 479500 0.0042448295 0.0024134167 0.0044695061 - 479600 0.0046681683 0.0029527287 0.0052138728 - 479700 0.0047548467 0.0022224256 0.0045255544 - 479800 0.0038900149 0.0017235818 0.0036078078 - 479900 0.0049294055 0.0021023951 0.0044900759 - 480000 0.0047510802 0.0026168286 0.004918133 - 480100 0.0042979725 0.0028063914 0.0048882219 - 480200 0.0046264572 0.0027966415 0.0050375817 - 480300 0.0051964603 0.0028133213 0.0053303567 - 480400 0.0055337007 0.0028171919 0.0054975782 - 480500 0.0063877434 0.0036253917 0.0067194549 - 480600 0.005643884 0.0033820883 0.0061158447 - 480700 0.0053621487 0.0024628249 0.0050601157 - 480800 0.004797464 0.00217778 0.0045015516 - 480900 0.0062509053 0.0023138143 0.0053415965 - 481000 0.0053753897 0.0027678286 0.005371533 - 481100 0.0035616035 0.0030472353 0.004772387 - 481200 0.0047866279 0.0024235187 0.0047420416 - 481300 0.0051455542 0.0022735106 0.0047658884 - 481400 0.0041237359 0.0022113623 0.0042087968 - 481500 0.004631156 0.0020929481 0.0043361643 - 481600 0.0044058355 0.0019197726 0.0040538492 - 481700 0.0041088335 0.0020123232 0.0040025395 - 481800 0.0056109013 0.0028408442 0.0055586245 - 481900 0.0047374006 0.0033206808 0.0056153592 - 482000 0.0063229265 0.0030079055 0.006070573 - 482100 0.0058130422 0.0033215035 0.0061371958 - 482200 0.0077597113 0.0027019655 0.0064605756 - 482300 0.0065893859 0.0024973977 0.0056891315 - 482400 0.0040189965 0.0028641766 0.0048108781 - 482500 0.0049202031 0.0027526888 0.0051359122 - 482600 0.0055123705 0.0023734266 0.005043481 - 482700 0.0052790229 0.0026558566 0.0052128833 - 482800 0.0058743937 0.0023690474 0.0052144569 - 482900 0.0070221647 0.0022373664 0.0056387275 - 483000 0.0033126406 0.0025439634 0.0041485237 - 483100 0.0044123706 0.0024516572 0.0045888993 - 483200 0.0044650094 0.0027014088 0.0048641477 - 483300 0.0041912031 0.0027619887 0.0047921027 - 483400 0.0055412704 0.0023540897 0.0050381425 - 483500 0.005532407 0.0026335591 0.0053133187 - 483600 0.0051762304 0.0029242918 0.0054315284 - 483700 0.0073514053 0.0023795961 0.005940433 - 483800 0.0058492076 0.0025639254 0.0053971353 - 483900 0.0044365157 0.0027681927 0.00491713 - 484000 0.0045005475 0.0030809363 0.005260889 - 484100 0.0069803061 0.0031873174 0.0065684032 - 484200 0.0069927654 0.0029874716 0.0063745923 - 484300 0.0052848507 0.0030180195 0.0055778691 - 484400 0.004411049 0.0028691039 0.0050057058 - 484500 0.0039799474 0.002893732 0.004821519 - 484600 0.0062447324 0.0023519146 0.0053767068 - 484700 0.0054977304 0.0020609726 0.0047239358 - 484800 0.0058587631 0.0018428905 0.0046807289 - 484900 0.0070459057 0.0018226241 0.0052354847 - 485000 0.0048149848 0.0024355553 0.0047678135 - 485100 0.0061339948 0.0026951561 0.0056663098 - 485200 0.0043157218 0.0022598951 0.0043503228 - 485300 0.0044903653 0.0024462859 0.0046213066 - 485400 0.0050274164 0.0023231168 0.0047582716 - 485500 0.0048916211 0.0023777703 0.0047471493 - 485600 0.0062398267 0.002534779 0.0055571951 - 485700 0.005392126 0.002458414 0.005070225 - 485800 0.0063614205 0.0025063479 0.0055876609 - 485900 0.0040874542 0.0025754494 0.00455531 - 486000 0.0060414141 0.0023754748 0.0053017848 - 486100 0.0048688957 0.0026864735 0.0050448449 - 486200 0.0059322501 0.0024450211 0.0053184548 - 486300 0.0043875702 0.0023348433 0.0044600726 - 486400 0.006080852 0.002134399 0.0050798117 - 486500 0.0044129482 0.0019195061 0.0040570279 - 486600 0.0063001527 0.0017271637 0.0047788001 - 486700 0.0046375809 0.0017990925 0.0040454208 - 486800 0.0048029231 0.0022103281 0.004536744 - 486900 0.0057973393 0.0025631719 0.0053712581 - 487000 0.0044288513 0.0028839957 0.0050292206 - 487100 0.0067442949 0.0029683185 0.0062350863 - 487200 0.005202376 0.0028901392 0.0054100401 - 487300 0.0055701185 0.0027489451 0.0054469713 - 487400 0.0056681665 0.0025479244 0.0052934426 - 487500 0.0056600707 0.0025386846 0.0052802814 - 487600 0.0053033218 0.0025799102 0.0051487068 - 487700 0.0038349214 0.0029554471 0.0048129872 - 487800 0.0034292781 0.0027318193 0.0043928759 - 487900 0.00460703 0.0025018369 0.004733367 - 488000 0.0069637079 0.0023022664 0.0056753124 - 488100 0.0037580135 0.0027982885 0.0046185763 - 488200 0.0056614055 0.0028352006 0.0055774439 - 488300 0.006494712 0.0025897247 0.0057356008 - 488400 0.0054954672 0.0026168543 0.0052787212 - 488500 0.0055350169 0.0028524087 0.0055334326 - 488600 0.0050322799 0.0030931201 0.0055306306 - 488700 0.0043574902 0.0031448059 0.0052554653 - 488800 0.0051975433 0.0030613534 0.0055789134 - 488900 0.0058839388 0.0026396949 0.0054897277 - 489000 0.0064419514 0.0021984565 0.0053187768 - 489100 0.0046967809 0.0020257794 0.0043007827 - 489200 0.0054692971 0.0023685484 0.0050177392 - 489300 0.00504637 0.0028794102 0.0053237457 - 489400 0.0044891299 0.003181306 0.0053557283 - 489500 0.0046455323 0.0031940408 0.0054442205 - 489600 0.0065218709 0.0025912034 0.0057502346 - 489700 0.0051733115 0.0026077014 0.0051135241 - 489800 0.0035644192 0.0025546123 0.0042811278 - 489900 0.0039191628 0.0025915928 0.0044899373 - 490000 0.0041132212 0.0028041708 0.0047965123 - 490100 0.005582137 0.0028368998 0.0055407474 - 490200 0.0048301335 0.0027130162 0.0050526121 - 490300 0.0056799428 0.0026787901 0.0054300124 - 490400 0.0082013455 0.0027427555 0.0067152822 - 490500 0.0056668702 0.0026429724 0.0053878626 - 490600 0.0057139562 0.0024760455 0.0052437431 - 490700 0.0048259677 0.0022843124 0.0046218905 - 490800 0.0049652057 0.0019312249 0.0043362464 - 490900 0.0031312324 0.0018946916 0.0034113822 - 491000 0.0047512333 0.0020526531 0.0043540317 - 491100 0.0051339485 0.0025687189 0.0050554752 - 491200 0.0049289692 0.00299753 0.0053849995 - 491300 0.0078189444 0.002631964 0.0064192652 - 491400 0.0048727403 0.002678362 0.0050385956 - 491500 0.0051279573 0.0024615657 0.0049454201 - 491600 0.0044386014 0.0020626901 0.0042126376 - 491700 0.0047699638 0.0024301759 0.0047406271 - 491800 0.006072844 0.0028367656 0.0057782995 - 491900 0.0060515169 0.0033275671 0.0062587706 - 492000 0.0042752675 0.0036966936 0.0057675263 - 492100 0.0046502036 0.0032003561 0.0054527985 - 492200 0.0043685985 0.0027508513 0.0048668912 - 492300 0.0060963321 0.0027585912 0.0057115021 - 492400 0.0046449449 0.0024397023 0.0046895976 - 492500 0.0037262744 0.0025491993 0.0043541135 - 492600 0.0060159311 0.0023798466 0.0052938132 - 492700 0.0065088358 0.0022733982 0.0054261155 - 492800 0.0051664449 0.0023954969 0.0048979936 - 492900 0.005992178 0.0021306929 0.0050331541 - 493000 0.0038677015 0.0022277328 0.0041011507 - 493100 0.0041956215 0.0025727383 0.0046049924 - 493200 0.0070230245 0.0023435232 0.0057453007 - 493300 0.0054371153 0.0021532253 0.004786828 - 493400 0.0043550985 0.0022763165 0.0043858173 - 493500 0.0049367902 0.0022698571 0.0046611149 - 493600 0.0037335368 0.0025787193 0.0043871512 - 493700 0.0054326046 0.0027819426 0.0054133605 - 493800 0.0053550772 0.0027033185 0.005297184 - 493900 0.0051164232 0.0026523102 0.0051305777 - 494000 0.0054370919 0.0029831151 0.0056167064 - 494100 0.0053694006 0.0030988999 0.0056997033 - 494200 0.0055338393 0.0030150907 0.0056955441 - 494300 0.0067353752 0.0029400985 0.0062025459 - 494400 0.0050803428 0.0031076738 0.0055684649 - 494500 0.00578682 0.0029392056 0.0057421965 - 494600 0.0057609042 0.0028929604 0.0056833984 - 494700 0.0045089385 0.0031176949 0.005301712 - 494800 0.0048663498 0.003228167 0.0055853052 - 494900 0.0052534245 0.0027495147 0.0052941422 - 495000 0.0077561 0.0026203896 0.0063772505 - 495100 0.0059820726 0.0036574487 0.0065550151 - 495200 0.0056909423 0.0039711075 0.0067276577 - 495300 0.0040527282 0.0033268043 0.0052898445 - 495400 0.0060957274 0.0030422517 0.0059948696 - 495500 0.0058034516 0.0028594082 0.0056704551 - 495600 0.0054701476 0.002743286 0.0053928888 - 495700 0.0047603497 0.0030076384 0.0053134328 - 495800 0.0050545047 0.0027340816 0.0051823573 - 495900 0.0058939397 0.0023361559 0.005191033 - 496000 0.0061110569 0.0030029718 0.005963015 - 496100 0.0058853412 0.0033621921 0.0062129042 - 496200 0.0067248343 0.0028319212 0.0060892629 - 496300 0.0066981065 0.002770805 0.0060152004 - 496400 0.0064863025 0.0031447331 0.0062865359 - 496500 0.0061897639 0.003199935 0.0061981019 - 496600 0.0051472149 0.0028675541 0.0053607363 - 496700 0.006382336 0.0025626756 0.0056541196 - 496800 0.006204864 0.0027518023 0.0057572833 - 496900 0.0049929385 0.0025816073 0.0050000619 - 497000 0.0044177274 0.0020356099 0.0041754466 - 497100 0.0036613656 0.0019894594 0.0037629334 - 497200 0.0070057139 0.0022869125 0.0056803052 - 497300 0.0061026336 0.0028285277 0.0057844908 - 497400 0.0057677369 0.0033667937 0.0061605412 - 497500 0.006522736 0.0031774545 0.0063369047 - 497600 0.005729313 0.0023769947 0.0051521307 - 497700 0.0056048631 0.0022468609 0.0049617164 - 497800 0.0039242035 0.0024076038 0.0043083899 - 497900 0.005087084 0.0024470648 0.0049111211 - 498000 0.0046375807 0.0027283772 0.0049747053 - 498100 0.0042674298 0.0025705554 0.0046375917 - 498200 0.0060898466 0.0022674248 0.0052171943 - 498300 0.0071775611 0.0027975309 0.006274162 - 498400 0.0041129562 0.0029626355 0.0049548487 - 498500 0.0051784607 0.0031997129 0.0057080298 - 498600 0.0044023236 0.0028993885 0.005031764 - 498700 0.0047330695 0.0025855405 0.0048781211 - 498800 0.0065985036 0.0018670715 0.0050632217 - 498900 0.0059491851 0.0017070008 0.0045886374 - 499000 0.0070807184 0.0015857537 0.0050154767 - 499100 0.006738136 0.0016622015 0.0049259862 - 499200 0.0059721871 0.0021384546 0.0050312327 - 499300 0.0051852902 0.0020369556 0.0045485806 - 499400 0.0046114789 0.001874611 0.0041082961 - 499500 0.00443148 0.001637688 0.0037841861 - 499600 0.0042865988 0.0018736111 0.0039499324 - 499700 0.005312305 0.0018473267 0.0044204745 - 499800 0.0049067888 0.0017631609 0.0041398867 - 499900 0.0043170056 0.001667882 0.0037589316 - 500000 0.0032993183 0.001608823 0.0032069303 - 500100 0.0042357324 0.0016772916 0.0037289745 - 500200 0.0064164971 0.0016756118 0.0047836025 - 500300 0.0058427162 0.0018270082 0.0046570738 - 500400 0.0049681423 0.00214396 0.004550404 - 500500 0.0053330078 0.0017446589 0.0043278345 - 500600 0.0048810588 0.0018252984 0.0041895613 - 500700 0.0055179408 0.0019875371 0.0046602896 - 500800 0.0063163315 0.0022790737 0.0053385468 - 500900 0.0043383108 0.0020630132 0.0041643825 - 501000 0.0067816853 0.0020876045 0.0053724833 - 501100 0.0043433248 0.0026634376 0.0047672356 - 501200 0.004296162 0.0027911033 0.0048720568 - 501300 0.0051173998 0.0021797378 0.0046584783 - 501400 0.0054966542 0.0020433582 0.0047058001 - 501500 0.0059269688 0.0018618921 0.0047327676 - 501600 0.005592786 0.0022180779 0.0049270836 - 501700 0.0053995068 0.0021221823 0.0047375684 - 501800 0.0051127126 0.0020865538 0.004563024 - 501900 0.0048960788 0.0020942046 0.0044657428 - 502000 0.0038682703 0.00259403 0.0044677234 - 502100 0.0043085251 0.002859221 0.0049461628 - 502200 0.0053673749 0.0025324398 0.005132262 - 502300 0.0072176813 0.002002544 0.0054986084 - 502400 0.0045092757 0.0022813867 0.0044655671 - 502500 0.0052097042 0.0023251606 0.004848611 - 502600 0.0049740612 0.0022295801 0.0046388909 - 502700 0.0057863047 0.0022169832 0.0050197246 - 502800 0.006009963 0.0019928939 0.0049039698 - 502900 0.0048387329 0.0023641772 0.0047079384 - 503000 0.0061073403 0.0028606656 0.0058189086 - 503100 0.0040274401 0.0028389299 0.0047897212 - 503200 0.0056944715 0.0026483614 0.005406621 - 503300 0.0057543444 0.0024669461 0.0052542067 - 503400 0.0052244853 0.0022540072 0.0047846173 - 503500 0.0059037997 0.0021992031 0.0050588561 - 503600 0.0060853152 0.0023168731 0.0052644477 - 503700 0.0067237791 0.0020783954 0.0053352259 - 503800 0.0064061539 0.0017827275 0.0048857083 - 503900 0.0042079696 0.0023148491 0.0043530843 - 504000 0.0060932822 0.002303571 0.0052550046 - 504100 0.0037727513 0.002495298 0.0043227244 - 504200 0.0055797927 0.0023454399 0.005048152 - 504300 0.0055118653 0.0020767092 0.0047465189 - 504400 0.0043522126 0.0018645119 0.0039726149 - 504500 0.0047224479 0.0020586461 0.0043460818 - 504600 0.0057028805 0.0021327978 0.0048951306 - 504700 0.006450019 0.0019334898 0.0050577178 - 504800 0.0052435035 0.0018945815 0.0044344035 - 504900 0.0056019153 0.0019536788 0.0046671065 - 505000 0.0048879769 0.0018372793 0.0042048932 - 505100 0.0040663519 0.0014307809 0.0034004201 - 505200 0.0042107345 0.0015649617 0.0036045362 - 505300 0.0045448375 0.0013343663 0.003535772 - 505400 0.0056575824 0.0013886024 0.0041289939 - 505500 0.0070898906 0.0016637565 0.0050979223 - 505600 0.0040480823 0.0023299536 0.0042907435 - 505700 0.0042093282 0.0024478238 0.0044867172 - 505800 0.0054540222 0.0020082786 0.0046500706 - 505900 0.004444581 0.0022319756 0.0043848195 - 506000 0.0050779026 0.00239419 0.0048537991 - 506100 0.0055617835 0.0023060387 0.0050000276 - 506200 0.0049453096 0.0017253624 0.0041207468 - 506300 0.0046165318 0.0013407189 0.0035768515 - 506400 0.0046173862 0.0018982109 0.0041347574 - 506500 0.0051447666 0.0021955252 0.0046875215 - 506600 0.0038350621 0.0021778985 0.0040355067 - 506700 0.0053889377 0.0022283549 0.0048386216 - 506800 0.0057043432 0.0021142348 0.004877276 - 506900 0.0041008627 0.0021726822 0.0041590376 - 507000 0.0061094419 0.002116832 0.0050760929 - 507100 0.0058585442 0.0024369803 0.0052747127 - 507200 0.0048739543 0.0024024533 0.004763275 - 507300 0.0047561266 0.002519304 0.0048230528 - 507400 0.0064345371 0.0022637258 0.0053804547 - 507500 0.0059195023 0.0025663938 0.0054336528 - 507600 0.0049725061 0.0024661253 0.0048746829 - 507700 0.005032419 0.002013263 0.004450841 - 507800 0.0051551019 0.0018199718 0.0043169743 - 507900 0.0033728938 0.0022862555 0.0039200009 - 508000 0.0050433686 0.0025749666 0.0050178482 - 508100 0.0035832264 0.0024158857 0.004151511 - 508200 0.0074599094 0.0020443429 0.0056577365 - 508300 0.0059261755 0.002683676 0.0055541673 - 508400 0.0059608876 0.0029674757 0.0058547806 - 508500 0.0043143783 0.0029347162 0.0050244932 - 508600 0.0057436375 0.0028869161 0.0056689906 - 508700 0.005534383 0.0024124568 0.0050931736 - 508800 0.0046972026 0.0023144925 0.0045897 - 508900 0.005517408 0.0026294877 0.0053019822 - 509000 0.0057774567 0.0028002115 0.0055986671 - 509100 0.005319679 0.0026796271 0.0052563466 - 509200 0.0050245704 0.0028189534 0.0052527297 - 509300 0.0055063743 0.0030860361 0.0057531861 - 509400 0.0051820755 0.0035204776 0.0060305454 - 509500 0.0056591015 0.003207115 0.0059482423 - 509600 0.0041583931 0.0029289109 0.0049431326 - 509700 0.0051650282 0.0026571604 0.005158971 - 509800 0.0058293214 0.0026431534 0.005466731 - 509900 0.0048557482 0.0019842825 0.0043362856 - 510000 0.0051225107 0.002272965 0.0047541812 - 510100 0.0050807332 0.0023745949 0.004835575 - 510200 0.0051961337 0.0026978518 0.005214729 - 510300 0.0044597975 0.0030027027 0.0051629171 - 510400 0.0040932708 0.0029733033 0.0049559813 - 510500 0.0049138672 0.0031562323 0.0055363868 - 510600 0.0069482384 0.0032743482 0.0066399011 - 510700 0.0047196643 0.0033558816 0.005641969 - 510800 0.0051683347 0.0034435438 0.0059469559 - 510900 0.0046348361 0.0033150483 0.005560047 - 511000 0.0062301549 0.0028742535 0.0058919848 - 511100 0.0050414037 0.0025331935 0.0049751234 - 511200 0.0051946735 0.0024103631 0.0049265331 - 511300 0.0047184754 0.0026058351 0.0048913466 - 511400 0.005450099 0.0025748181 0.0052147098 - 511500 0.0045578619 0.001776277 0.0039839914 - 511600 0.0049702742 0.001599674 0.0040071506 - 511700 0.0050248182 0.00214128 0.0045751763 - 511800 0.0051323377 0.0025174666 0.0050034427 - 511900 0.0047391173 0.002103458 0.004398968 - 512000 0.0044518967 0.0017788708 0.0039352582 - 512100 0.0049511977 0.0019213591 0.0043195955 - 512200 0.003799335 0.0025925316 0.0044328344 - 512300 0.0044135984 0.003154165 0.0052920017 - 512400 0.0041401946 0.0030853768 0.0050907836 - 512500 0.0050183023 0.00283652 0.0052672601 - 512600 0.0042379312 0.0024487124 0.0045014603 - 512700 0.0045547711 0.0020163616 0.0042225789 - 512800 0.0051106968 0.002003509 0.0044790027 - 512900 0.0043370996 0.0020885269 0.0041893095 - 513000 0.0041131414 0.0023995112 0.0043918141 - 513100 0.0053108806 0.0023586101 0.0049310679 - 513200 0.0050290451 0.0020706313 0.004506575 - 513300 0.004762348 0.0019348467 0.004241609 - 513400 0.0069595561 0.0017505745 0.0051216095 - 513500 0.0046538615 0.0021654951 0.0044197092 - 513600 0.0043824693 0.0026427366 0.0047654951 - 513700 0.0049757312 0.0021447029 0.0045548227 - 513800 0.0054334602 0.0026033851 0.0052352174 - 513900 0.0062849501 0.0026074037 0.0056516763 - 514000 0.0069508307 0.0025719548 0.0059387634 - 514100 0.0065189194 0.0030267894 0.006184391 - 514200 0.0050982116 0.0034218581 0.0058913043 - 514300 0.0049487333 0.0031817942 0.005578837 - 514400 0.0044062001 0.0027490446 0.0048832978 - 514500 0.0064269289 0.0024542652 0.0055673089 - 514600 0.0050822234 0.0027032718 0.0051649737 - 514700 0.004094303 0.0025875443 0.0045707223 - 514800 0.0061221175 0.002139394 0.0051047946 - 514900 0.0072661036 0.0020340325 0.0055535514 - 515000 0.0058090075 0.0024749012 0.0052886392 - 515100 0.0054032506 0.002551522 0.0051687215 - 515200 0.0052785575 0.0025564872 0.0051132885 - 515300 0.0047983842 0.0027508199 0.0050750372 - 515400 0.0042785383 0.0025338003 0.0046062173 - 515500 0.0050673841 0.0019894325 0.0044439467 - 515600 0.0044860431 0.002081796 0.0042547231 - 515700 0.003250059 0.0021068181 0.0036810654 - 515800 0.0059909491 0.0021341952 0.0050360612 - 515900 0.0046746796 0.0017890336 0.0040533315 - 516000 0.0055209368 0.0020708156 0.0047450194 - 516100 0.0065994269 0.0022743588 0.0054709562 - 516200 0.0074097058 0.0020125602 0.0056016364 - 516300 0.0063357708 0.002287745 0.005356634 - 516400 0.0048568167 0.0025736188 0.0049261394 - 516500 0.0064312669 0.00201034 0.0051254849 - 516600 0.0040751731 0.0020361769 0.0040100888 - 516700 0.0048689178 0.0020394246 0.0043978067 - 516800 0.0049192351 0.002433234 0.0048159885 - 516900 0.0051745795 0.0027563148 0.0052627518 - 517000 0.0072987087 0.0028593399 0.0063946519 - 517100 0.0045933572 0.0030878862 0.0053127936 - 517200 0.005575091 0.0027067367 0.0054071714 - 517300 0.0055050529 0.0021070531 0.0047735631 - 517400 0.0056718869 0.0017623465 0.0045096667 - 517500 0.0038031478 0.0018628454 0.0037049951 - 517600 0.0036833675 0.0019709456 0.0037550767 - 517700 0.0061270973 0.0020203165 0.0049881292 - 517800 0.0060546287 0.0024413626 0.0053740733 - 517900 0.0040255476 0.0028285136 0.0047783882 - 518000 0.0050631726 0.002699403 0.0051518773 - 518100 0.0054577569 0.0026273923 0.0052709933 - 518200 0.0036984147 0.0025929924 0.004384412 - 518300 0.0039632636 0.0021709854 0.0040906912 - 518400 0.0055198472 0.0021706724 0.0048443484 - 518500 0.0035248928 0.0024582597 0.0041656296 - 518600 0.0059881825 0.0023383408 0.0052388667 - 518700 0.0065783757 0.0023440884 0.0055304892 - 518800 0.0043088939 0.0026734737 0.0047605942 - 518900 0.0047910759 0.0023773425 0.0046980198 - 519000 0.006128246 0.0024030049 0.005371374 - 519100 0.0052525367 0.0029440895 0.0054882869 - 519200 0.0046234724 0.0029171888 0.0051566833 - 519300 0.0050081952 0.0029163714 0.005342216 - 519400 0.0063769364 0.0027632127 0.0058520413 - 519500 0.0061558435 0.0023306795 0.0053124162 - 519600 0.0064683508 0.0026070135 0.0057401209 - 519700 0.0053973891 0.0027328971 0.0053472575 - 519800 0.0041931304 0.0028241892 0.0048552367 - 519900 0.0052737178 0.0023597445 0.0049142016 - 520000 0.0043678529 0.0021867615 0.0043024402 - 520100 0.0037919305 0.0023121052 0.0041488216 - 520200 0.0060554262 0.0023096823 0.0052427793 - 520300 0.0042703557 0.0024533441 0.0045217976 - 520400 0.0051831553 0.0026934706 0.0052040614 - 520500 0.0040682467 0.0025176755 0.0044882325 - 520600 0.0056862538 0.002228791 0.0049830701 - 520700 0.0058732667 0.0022347786 0.0050796422 - 520800 0.0055104174 0.002255991 0.0049250994 - 520900 0.0027963696 0.0022621147 0.0036166062 - 521000 0.0061852593 0.0020585009 0.0050544858 - 521100 0.0053609789 0.0023966648 0.0049933889 - 521200 0.0050655709 0.0025323242 0.0049859601 - 521300 0.0048224285 0.0025241414 0.0048600052 - 521400 0.0045896641 0.0027450743 0.0049681929 - 521500 0.0043301314 0.0028501055 0.0049475129 - 521600 0.0056775565 0.0027695238 0.0055195903 - 521700 0.0053361086 0.0025308467 0.0051155243 - 521800 0.0047211673 0.0027485948 0.0050354103 - 521900 0.0049204998 0.0027896047 0.0051729718 - 522000 0.0035939448 0.00267229 0.004413107 - 522100 0.0047248755 0.0027422123 0.0050308238 - 522200 0.0058240433 0.0023953096 0.0052163306 - 522300 0.0052382428 0.002252974 0.0047902478 - 522400 0.0045279111 0.0019238053 0.0041170122 - 522500 0.0046539876 0.0018687635 0.0041230387 - 522600 0.0050176079 0.0020362121 0.0044666159 - 522700 0.0039190908 0.002052654 0.0039509636 - 522800 0.0037650101 0.0024136507 0.0042373275 - 522900 0.0052380532 0.0023970329 0.0049342149 - 523000 0.0052934291 0.0022348659 0.0047988706 - 523100 0.0044140673 0.0026742949 0.0048123588 - 523200 0.0039445915 0.0027364646 0.0046471261 - 523300 0.0058018272 0.0030182347 0.0058284948 - 523400 0.0047642957 0.0025753349 0.0048830407 - 523500 0.0050962305 0.0026421463 0.0051106329 - 523600 0.0042194131 0.0024307968 0.004474575 - 523700 0.0047678774 0.0027618331 0.0050712737 - 523800 0.0046844303 0.0026263306 0.0048953516 - 523900 0.0046023044 0.0024740574 0.0047032986 - 524000 0.0041949733 0.0028498556 0.0048817958 - 524100 0.0048278994 0.0023345719 0.0046730857 - 524200 0.0050404078 0.0028544728 0.0052959204 - 524300 0.0064614116 0.0030249036 0.0061546499 - 524400 0.0046792492 0.0031111465 0.0053776578 - 524500 0.0061400821 0.0021432673 0.0051173695 - 524600 0.0057563996 0.0020390118 0.0048272679 - 524700 0.0041016163 0.0025689606 0.004555681 - 524800 0.0069216083 0.0024188171 0.0057714711 - 524900 0.0044262017 0.0028725975 0.0050165389 - 525000 0.005270869 0.00290703 0.0054601072 - 525100 0.0050602989 0.0026134293 0.0050645116 - 525200 0.0055269238 0.002518869 0.0051959727 - 525300 0.0046077825 0.0026939195 0.0049258142 - 525400 0.0055437744 0.0027602664 0.0054455321 - 525500 0.0041887532 0.0029035383 0.0049324656 - 525600 0.0057813788 0.0027885095 0.0055888649 - 525700 0.0056689891 0.0027608076 0.0055067242 - 525800 0.0050156214 0.0029108956 0.0053403372 - 525900 0.0055844563 0.0030354489 0.0057404199 - 526000 0.0061368784 0.0031595708 0.0061321213 - 526100 0.0047292281 0.0028878349 0.0051785548 - 526200 0.0058960157 0.0028097507 0.0056656333 - 526300 0.0045894403 0.0031987078 0.005421718 - 526400 0.0045465856 0.0031275745 0.0053298269 - 526500 0.0055590305 0.0030423327 0.0057349881 - 526600 0.006441985 0.0029351996 0.0060555361 - 526700 0.0060417134 0.0032939947 0.0062204496 - 526800 0.0048378535 0.0029341458 0.0052774811 - 526900 0.005632075 0.0025309015 0.0052589378 - 527000 0.0054437634 0.0021829688 0.0048197917 - 527100 0.0044776113 0.0025882043 0.0047570473 - 527200 0.0056378241 0.002616825 0.005347646 - 527300 0.004737756 0.0022615187 0.0045563692 - 527400 0.0048228289 0.00212585 0.0044619077 - 527500 0.0037632344 0.0023241302 0.0041469469 - 527600 0.0048313496 0.002447901 0.004788086 - 527700 0.0043116834 0.0024711283 0.0045596 - 527800 0.0043658095 0.0024952566 0.0046099456 - 527900 0.0035715458 0.0024969292 0.0042268967 - 528000 0.0047002505 0.0022032522 0.004479936 - 528100 0.0051051873 0.0023209632 0.0047937883 - 528200 0.0048817825 0.0023785122 0.0047431256 - 528300 0.0040758726 0.002595663 0.0045699138 - 528400 0.0052915039 0.0031980005 0.0057610727 - 528500 0.0067582652 0.0025388476 0.0058123822 - 528600 0.005876625 0.0022449191 0.0050914093 - 528700 0.003192079 0.0027509498 0.0042971131 - 528800 0.0062133903 0.0027307251 0.0057403361 - 528900 0.0066980458 0.0023929775 0.0056373435 - 529000 0.0054134206 0.0026524197 0.0052745454 - 529100 0.0042328582 0.0026033952 0.0046536859 - 529200 0.005390425 0.0027496564 0.0053606436 - 529300 0.005661039 0.0030432251 0.0057852909 - 529400 0.0044075278 0.0036563439 0.0057912402 - 529500 0.0060970279 0.0033904348 0.0063436827 - 529600 0.0059589195 0.0023417613 0.005228113 - 529700 0.00537436 0.0023981647 0.0050013703 - 529800 0.0041100465 0.0027147159 0.0047055196 - 529900 0.0043527516 0.0029683936 0.0050767577 - 530000 0.0034469239 0.003247984 0.0049175877 - 530100 0.0060432222 0.0027891952 0.005716381 - 530200 0.0079598154 0.002101132 0.0059566676 - 530300 0.005617787 0.0025370682 0.0052581838 - 530400 0.0059327995 0.0029956944 0.0058693941 - 530500 0.0061360322 0.0024922302 0.0054643708 - 530600 0.0055974427 0.0024131506 0.0051244119 - 530700 0.0050820876 0.0023386907 0.0048003268 - 530800 0.0043898693 0.0025794687 0.0047058117 - 530900 0.0058921107 0.0020376901 0.0048916812 - 531000 0.0041646959 0.0022086635 0.0042259381 - 531100 0.0063311425 0.0023063582 0.0053730054 - 531200 0.0045421264 0.0024370267 0.0046371192 - 531300 0.0052786792 0.0026721308 0.005228991 - 531400 0.0045737654 0.0028191735 0.0050345911 - 531500 0.0054695654 0.0027645049 0.0054138257 - 531600 0.0047359359 0.0027416939 0.0050356628 - 531700 0.0056099499 0.0029627744 0.0056800938 - 531800 0.0053850423 0.0029220142 0.0055303941 - 531900 0.0045832073 0.0025194258 0.0047394168 - 532000 0.0048063271 0.0023408247 0.0046688894 - 532100 0.0051526845 0.002074624 0.0045704555 - 532200 0.0053657602 0.0019700955 0.0045691356 - 532300 0.0059173056 0.0019633779 0.0048295729 - 532400 0.0051278744 0.0019910645 0.0044748787 - 532500 0.0045224823 0.0024439173 0.0046344947 - 532600 0.0044857315 0.0027554372 0.0049282134 - 532700 0.0049487519 0.0025345837 0.0049316354 - 532800 0.0052825167 0.0023857729 0.004944492 - 532900 0.0047027298 0.0024816738 0.0047595586 - 533000 0.0062123182 0.0026632936 0.0056723852 - 533100 0.004973404 0.0030723643 0.0054813568 - 533200 0.0039915497 0.003372246 0.0053056528 - 533300 0.0044911181 0.0028831997 0.005058585 - 533400 0.0053964049 0.0029285286 0.0055424122 - 533500 0.0050886418 0.0025140144 0.0049788253 - 533600 0.0041492704 0.0026412702 0.0046510731 - 533700 0.0054136313 0.0024986979 0.0051209256 - 533800 0.00619048 0.0022164931 0.0052150068 - 533900 0.0073377797 0.0022046517 0.0057588888 - 534000 0.0040091409 0.0024189944 0.0043609221 - 534100 0.0067725197 0.0027079106 0.0059883499 - 534200 0.003573658 0.0024979908 0.0042289814 - 534300 0.0068819459 0.0020445816 0.0053780242 - 534400 0.0067056665 0.002220251 0.0054683082 - 534500 0.0061318764 0.0026200407 0.0055901683 - 534600 0.0065528202 0.0029693524 0.0061433747 - 534700 0.004640391 0.003209905 0.0054575944 - 534800 0.005574734 0.0024278335 0.0051280953 - 534900 0.0059694192 0.0024344037 0.0053258411 - 535000 0.0037700408 0.0023400032 0.0041661167 - 535100 0.0045623732 0.0022638721 0.0044737716 - 535200 0.0039927421 0.002451231 0.0043852155 - 535300 0.0060670048 0.0024403036 0.005379009 - 535400 0.0048485349 0.002337623 0.0046861321 - 535500 0.0057886916 0.0022999702 0.0051038677 - 535600 0.0055892771 0.0023917824 0.0050990885 - 535700 0.0067239878 0.0026262541 0.0058831857 - 535800 0.0064324593 0.0025380457 0.0056537682 - 535900 0.0043815235 0.0029904056 0.0051127061 - 536000 0.0051528263 0.0027175001 0.0052134003 - 536100 0.0053703445 0.0028556705 0.0054569312 - 536200 0.0056732611 0.0029379122 0.0056858981 - 536300 0.0072480956 0.0025030799 0.0060138762 - 536400 0.004849866 0.0027211814 0.0050703352 - 536500 0.0049455511 0.002674492 0.0050699933 - 536600 0.0043236403 0.002722026 0.0048162893 - 536700 0.0048792434 0.0032566543 0.0056200378 - 536800 0.0040785002 0.0034062068 0.0053817303 - 536900 0.0042769548 0.0030672294 0.0051388793 - 537000 0.0045045904 0.003072091 0.0052540019 - 537100 0.0054746796 0.0029187715 0.0055705695 - 537200 0.0048578342 0.0032657387 0.0056187522 - 537300 0.0042425648 0.0035328063 0.0055877986 - 537400 0.0052875365 0.0030021833 0.0055633338 - 537500 0.0050230528 0.0026416536 0.0050746948 - 537600 0.0055640674 0.002219872 0.0049149671 - 537700 0.0041085805 0.0025016353 0.004491729 - 537800 0.0049245499 0.0023915509 0.0047768797 - 537900 0.0047427385 0.002450941 0.0047482049 - 538000 0.0053619141 0.0025597995 0.0051569766 - 538100 0.0052720346 0.0027714816 0.0053251234 - 538200 0.0058818627 0.0029899107 0.005838938 - 538300 0.0038771199 0.0028823677 0.0047603476 - 538400 0.0048174302 0.0026088135 0.0049422562 - 538500 0.0050546274 0.0027221434 0.0051704785 - 538600 0.006485699 0.0021895159 0.0053310264 - 538700 0.0054858447 0.0017149738 0.0043721799 - 538800 0.0058693539 0.0018093993 0.0046523676 - 538900 0.0058723108 0.002409977 0.0052543776 - 539000 0.0055144372 0.0025692191 0.0052402746 - 539100 0.005679146 0.0023069777 0.005057814 - 539200 0.0046027402 0.0025965173 0.0048259696 - 539300 0.0044752163 0.0027180412 0.0048857241 - 539400 0.005018521 0.0023036925 0.0047345386 - 539500 0.0052616517 0.0022767507 0.0048253632 - 539600 0.0057967175 0.0029869117 0.0057946967 - 539700 0.0065233118 0.003283493 0.0064432222 - 539800 0.0057916386 0.0027382902 0.0055436152 - 539900 0.0062385876 0.002839082 0.0058608979 - 540000 0.0042398106 0.0025290867 0.0045827449 - 540100 0.0051541769 0.0021387814 0.0046353359 - 540200 0.0041572182 0.0021274714 0.0041411239 - 540300 0.0053917702 0.0024025154 0.0050141541 - 540400 0.0040857752 0.002021617 0.0040006644 - 540500 0.0047667756 0.0015378008 0.0038467077 - 540600 0.0042663822 0.0015484675 0.0036149964 - 540700 0.0034663952 0.0016797444 0.0033587796 - 540800 0.0034561166 0.0016935162 0.0033675726 - 540900 0.0047643628 0.0019110343 0.0042187726 - 541000 0.0050728441 0.0021718839 0.0046290427 - 541100 0.0042811193 0.0024130893 0.0044867565 - 541200 0.0048496487 0.0028563414 0.00520539 - 541300 0.004985339 0.0027095842 0.0051243577 - 541400 0.0047979341 0.0021403486 0.0044643479 - 541500 0.0070123367 0.0019429512 0.0053395518 - 541600 0.0050958651 0.0020924082 0.0045607179 - 541700 0.0062014117 0.0020082089 0.0050120177 - 541800 0.0062289094 0.0019066496 0.0049237776 - 541900 0.0055593914 0.0022653977 0.004958228 - 542000 0.0059408554 0.002100056 0.0049776578 - 542100 0.0053898641 0.0018001363 0.0044108517 - 542200 0.0036741772 0.0017627849 0.0035424645 - 542300 0.0059332111 0.0016099044 0.0044838036 - 542400 0.0058705079 0.0017543757 0.004597903 - 542500 0.0048775726 0.0021754716 0.0045380458 - 542600 0.0063241432 0.0021277654 0.0051910223 - 542700 0.0049632936 0.0022798731 0.0046839684 - 542800 0.0043557734 0.0026352364 0.0047450641 - 542900 0.0051525096 0.0025076471 0.005003394 - 543000 0.0050169822 0.002181007 0.0046111078 - 543100 0.0038258799 0.0020574173 0.0039105779 - 543200 0.0044343136 0.0018112041 0.0039590747 - 543300 0.0060264237 0.0020397335 0.0049587825 - 543400 0.0054954441 0.0018406213 0.0045024771 - 543500 0.0065228721 0.0016899228 0.004849439 - 543600 0.0055522906 0.0021284948 0.0048178855 - 543700 0.0045604336 0.002127948 0.004336908 - 543800 0.0053220422 0.0019926537 0.0045705179 - 543900 0.0061586744 0.0018268841 0.004809992 - 544000 0.0044582323 0.0021649635 0.0043244197 - 544100 0.0059623704 0.0022976386 0.0051856618 - 544200 0.0052569243 0.0025356408 0.0050819635 - 544300 0.0066984546 0.0022820027 0.0055265666 - 544400 0.0046757291 0.0024797539 0.0047445601 - 544500 0.0071127802 0.0022473474 0.0056926004 - 544600 0.0048893296 0.0023939896 0.0047622586 - 544700 0.0054489713 0.0028634881 0.0055028336 - 544800 0.0048259232 0.0027948668 0.0051324234 - 544900 0.005591875 0.0028614048 0.0055699692 - 545000 0.0063602716 0.0029283287 0.0060090852 - 545100 0.0053541423 0.0030610758 0.0056544885 - 545200 0.005367 0.0029470335 0.0055466742 - 545300 0.0055167935 0.0025523012 0.005224498 - 545400 0.0056994426 0.0031139026 0.0058745702 - 545500 0.0049711927 0.0031339213 0.0055418428 - 545600 0.0067128676 0.0025305074 0.0057820526 - 545700 0.0048757416 0.0028043836 0.005166071 - 545800 0.0045876251 0.0025670638 0.0047891947 - 545900 0.0052128519 0.0023168105 0.0048417856 - 546000 0.0034372463 0.0019928599 0.0036577761 - 546100 0.0056069829 0.0021675362 0.0048834185 - 546200 0.0040260483 0.0024720319 0.004422149 - 546300 0.0067950546 0.0025877631 0.0058791176 - 546400 0.003741411 0.0028748663 0.0046871123 - 546500 0.0040389871 0.0027047795 0.0046611639 - 546600 0.0053129735 0.0017738416 0.0043473131 - 546700 0.0056363023 0.0016238683 0.0043539522 - 546800 0.0046586255 0.0018591555 0.0041156772 - 546900 0.005669432 0.0015447616 0.0042908927 - 547000 0.0049574839 0.0021173359 0.0045186171 - 547100 0.005673349 0.0026730733 0.0054211018 - 547200 0.0056621797 0.0029414848 0.0056841031 - 547300 0.0055313387 0.0026521003 0.0053313425 - 547400 0.004791434 0.0028046766 0.0051255275 - 547500 0.0068359552 0.0027378389 0.0060490047 - 547600 0.0047248234 0.0032162033 0.0055047896 - 547700 0.0060239238 0.003290781 0.006208619 - 547800 0.0059068114 0.0033377135 0.0061988252 - 547900 0.0047055594 0.0034838926 0.0057631479 - 548000 0.0052767565 0.0030846194 0.0056405483 - 548100 0.0060383957 0.0028032946 0.0057281425 - 548200 0.0057868592 0.0025618723 0.0053648823 - 548300 0.0051638843 0.0027179067 0.0052191631 - 548400 0.0048326397 0.0028127524 0.0051535622 - 548500 0.0051525275 0.0024394769 0.0049352324 - 548600 0.0055293108 0.0029110203 0.0055892803 - 548700 0.0065319309 0.0029424413 0.0061063454 - 548800 0.0058464787 0.0027876145 0.0056195027 - 548900 0.0049390242 0.0025658396 0.0049581795 - 549000 0.0045890529 0.0025049634 0.0047277859 - 549100 0.0055569036 0.0019885545 0.0046801797 - 549200 0.0063905529 0.0019840373 0.0050794613 - 549300 0.0074596359 0.0025135672 0.0061268283 - 549400 0.0053570405 0.0026304188 0.0052252353 - 549500 0.0059581054 0.0029910037 0.005876961 - 549600 0.0059996128 0.0036784752 0.0065845376 - 549700 0.0065633644 0.0035407328 0.0067198624 - 549800 0.0052195882 0.0034048172 0.0059330552 - 549900 0.0057289021 0.0033532747 0.0061282116 - 550000 0.0053460939 0.0032148215 0.0058043357 - 550100 0.0040697751 0.002680677 0.0046519743 - 550200 0.0060442477 0.0023970957 0.0053247781 - 550300 0.0060730882 0.0023659472 0.0053075993 - 550400 0.005383023 0.0027085021 0.0053159039 - 550500 0.0049215108 0.0032069103 0.005590767 - 550600 0.0054517942 0.003274207 0.0059149198 - 550700 0.0085432901 0.0025334433 0.0066715995 - 550800 0.0030382077 0.0031491088 0.0046207407 - 550900 0.0043019362 0.003428497 0.0055122473 - 551000 0.0053686924 0.0023712412 0.0049717016 - 551100 0.0049034898 0.0024837107 0.0048588386 - 551200 0.0049745712 0.0028061251 0.005215683 - 551300 0.0048695427 0.0026473504 0.0050060351 - 551400 0.004751729 0.0024002048 0.0047018235 - 551500 0.0063330524 0.0020949948 0.005162567 - 551600 0.0048328391 0.0022455182 0.0045864246 - 551700 0.0042282344 0.0024611929 0.004509244 - 551800 0.006645412 0.0024614426 0.0056803141 - 551900 0.0058188745 0.0024700601 0.0052885775 - 552000 0.0052480831 0.0027316998 0.00527374 - 552100 0.0051608891 0.0030063072 0.0055061129 - 552200 0.0069377272 0.0031822037 0.0065426653 - 552300 0.0064965079 0.0027447965 0.0058915425 - 552400 0.005648899 0.0023861342 0.0051223196 - 552500 0.0051724006 0.002758018 0.0052633995 - 552600 0.0060622783 0.0028512502 0.0057876663 - 552700 0.0053510862 0.0023097979 0.0049017302 - 552800 0.0045094362 0.0019871691 0.0041714273 - 552900 0.0047247043 0.0020072662 0.0042957949 - 553000 0.0052287121 0.0020893712 0.0046220286 - 553100 0.0047968374 0.0017615888 0.0040850569 - 553200 0.0060118052 0.0021291319 0.0050411 - 553300 0.0051192929 0.0028327505 0.005312408 - 553400 0.0061220269 0.0026817943 0.0056471511 - 553500 0.0048618021 0.0031680587 0.0055229941 - 553600 0.0049757191 0.0029539105 0.0053640245 - 553700 0.006398669 0.0025574573 0.0056568126 - 553800 0.0063491838 0.0021123389 0.0051877248 - 553900 0.0035501791 0.0024234802 0.0041430982 - 554000 0.004650797 0.0023025755 0.0045553053 - 554100 0.005103852 0.0023614604 0.0048336387 - 554200 0.0045803999 0.0020769879 0.0042956191 - 554300 0.0037749249 0.0021486843 0.0039771635 - 554400 0.0058275668 0.002386078 0.0052088057 - 554500 0.0054455353 0.0025230376 0.0051607188 - 554600 0.0041495072 0.0024906535 0.004500571 - 554700 0.0047690675 0.0025086365 0.0048186536 - 554800 0.004730561 0.0022737814 0.0045651469 - 554900 0.0047985433 0.0019142053 0.0042384997 - 555000 0.0053987469 0.0018575384 0.0044725565 - 555100 0.0049494794 0.0022035226 0.0046009266 - 555200 0.0043292626 0.002689409 0.0047863955 - 555300 0.0070094524 0.0022869527 0.0056821562 - 555400 0.0056551207 0.0025896651 0.0053288642 - 555500 0.0041549163 0.0024945708 0.0045071083 - 555600 0.0041394489 0.0020455779 0.0040506234 - 555700 0.0060699101 0.0022911545 0.0052312672 - 555800 0.0056416981 0.0027009029 0.0054336005 - 555900 0.0051060529 0.0024774947 0.004950739 - 556000 0.0043632804 0.0025630387 0.0046765026 - 556100 0.0038305992 0.0026185893 0.0044740358 - 556200 0.0053018187 0.0023434465 0.004911515 - 556300 0.0054067067 0.0026663608 0.0052852344 - 556400 0.0038957743 0.0031066874 0.004993703 - 556500 0.0044632625 0.0033383817 0.0055002744 - 556600 0.0044782644 0.0036390777 0.005808237 - 556700 0.0059487086 0.0037976422 0.0066790479 - 556800 0.0044252004 0.0040839509 0.0062274073 - 556900 0.00567655 0.003422323 0.0061719019 - 557000 0.0059510629 0.0028719535 0.0057544996 - 557100 0.0053962821 0.0033076055 0.0059214297 - 557200 0.0044468039 0.0038077489 0.0059616695 - 557300 0.0053667309 0.0034013805 0.0060008908 - 557400 0.0042969709 0.0032749134 0.0053562587 - 557500 0.0057635181 0.0033549242 0.0061466283 - 557600 0.0045923005 0.0035420806 0.0057664762 - 557700 0.0050336654 0.0034669515 0.0059051332 - 557800 0.0045029422 0.0034417716 0.0056228843 - 557900 0.0049087297 0.0035286255 0.0059062915 - 558000 0.0071669009 0.0034222098 0.0068936774 - 558100 0.0044803667 0.0035720869 0.0057422645 - 558200 0.0048098196 0.0033264889 0.0056562452 - 558300 0.005665179 0.0029665022 0.0057105733 - 558400 0.0050084658 0.0028889195 0.0053148951 - 558500 0.0049637486 0.0022276252 0.0046319409 - 558600 0.0047102319 0.0018273654 0.004108884 - 558700 0.0052060921 0.0022405643 0.0047622651 - 558800 0.004256262 0.0024815709 0.0045431978 - 558900 0.0048328412 0.0027288284 0.0050697359 - 559000 0.004950576 0.0034809715 0.0058789068 - 559100 0.0046400131 0.0028063872 0.0050538936 - 559200 0.0062002762 0.0025458413 0.0055491001 - 559300 0.0053867446 0.0025883249 0.0051975293 - 559400 0.005097148 0.0023479295 0.0048168606 - 559500 0.0041573112 0.0022932205 0.0043069181 - 559600 0.0058009466 0.0025664433 0.0053762768 - 559700 0.0045778723 0.0029491909 0.0051665978 - 559800 0.0054819145 0.0028927039 0.0055480062 - 559900 0.0063432834 0.0028790588 0.0059515867 - 560000 0.0052693025 0.0031518026 0.005704121 - 560100 0.0047670539 0.0027430314 0.0050520731 - 560200 0.0059506311 0.0026132512 0.0054955881 - 560300 0.0044793549 0.002365114 0.0045348016 - 560400 0.0043856086 0.0027140097 0.0048382889 - 560500 0.0078566419 0.0019981387 0.0058036996 - 560600 0.0053404982 0.0019517182 0.004538522 - 560700 0.0043392268 0.0022451393 0.0043469522 - 560800 0.0042384263 0.0023081762 0.0043611639 - 560900 0.0049598431 0.0023038774 0.0047063014 - 561000 0.0058709185 0.0022256569 0.0050693831 - 561100 0.0056821077 0.0022213306 0.0049736015 - 561200 0.0056826907 0.0023658244 0.0051183777 - 561300 0.0042262345 0.0023014833 0.0043485656 - 561400 0.0053049356 0.0029730917 0.0055426699 - 561500 0.0055826907 0.0030928568 0.0057969726 - 561600 0.0053138105 0.0030017266 0.0055756035 - 561700 0.0052442943 0.0029462163 0.0054864213 - 561800 0.0046041163 0.0025334727 0.0047635916 - 561900 0.0045386072 0.0023110773 0.0045094652 - 562000 0.0041405604 0.002381026 0.0043866099 - 562100 0.0046860868 0.0023243365 0.0045941598 - 562200 0.0029126828 0.002627475 0.0040383058 - 562300 0.0058375945 0.0023399186 0.0051675034 - 562400 0.0058190319 0.0028734544 0.0056920479 - 562500 0.0048735206 0.0030178865 0.005378498 - 562600 0.0068327385 0.0026772317 0.0059868394 - 562700 0.0048888087 0.0024921787 0.0048601954 - 562800 0.0050589018 0.0023455174 0.0047959229 - 562900 0.0049672296 0.0025210562 0.0049270581 - 563000 0.005268997 0.002729622 0.0052817925 - 563100 0.0053517709 0.002843902 0.0054361661 - 563200 0.00545499 0.0026374431 0.0052797039 - 563300 0.0064488147 0.0023001928 0.0054238374 - 563400 0.0046953317 0.002285711 0.0045600123 - 563500 0.0051955613 0.002079381 0.004595981 - 563600 0.0052779514 0.0017234271 0.0042799348 - 563700 0.0047973492 0.0020281315 0.0043518475 - 563800 0.0054621479 0.0025317577 0.0051774856 - 563900 0.0051929537 0.0028131926 0.0053285295 - 564000 0.0072362803 0.0020217117 0.0055267849 - 564100 0.0039150339 0.0019401062 0.0038364507 - 564200 0.0046878472 0.0027288067 0.0049994827 - 564300 0.0044096451 0.0028260808 0.0049620027 - 564400 0.0061368213 0.0025805866 0.0055531095 - 564500 0.0041824455 0.0025719321 0.0045978041 - 564600 0.0062068369 0.0023567258 0.0053631624 - 564700 0.0045105936 0.0021898751 0.0043746939 - 564800 0.0056758537 0.0017783342 0.0045275758 - 564900 0.0063329952 0.0019254818 0.0049930263 - 565000 0.0043766664 0.0020688561 0.0041888038 - 565100 0.0052294762 0.0019728707 0.0045058982 - 565200 0.0061905575 0.0023958362 0.0053943875 - 565300 0.0053314899 0.0028834002 0.0054658406 - 565400 0.0048444228 0.0032183002 0.0055648175 - 565500 0.0056439254 0.0029225231 0.0056562995 - 565600 0.005917008 0.0032057072 0.006071758 - 565700 0.0048871355 0.0032373109 0.0056045172 - 565800 0.0070092999 0.0024233164 0.005818446 - 565900 0.0054682116 0.0020229284 0.0046715934 - 566000 0.004153986 0.0019968257 0.0040089126 - 566100 0.0054182927 0.0019209488 0.0045454344 - 566200 0.0036807871 0.0022040309 0.0039869122 - 566300 0.0045306205 0.0023012544 0.0044957737 - 566400 0.0035309596 0.0022710814 0.0039813899 - 566500 0.0053806981 0.0018619677 0.0044682433 - 566600 0.0059620037 0.0015829686 0.0044708141 - 566700 0.0054927918 0.0019137998 0.0045743708 - 566800 0.0053191002 0.0022904636 0.0048669028 - 566900 0.005621882 0.0026460591 0.0053691582 - 567000 0.0040788095 0.002427557 0.0044032303 - 567100 0.0059935969 0.0025448623 0.0054480108 - 567200 0.0040795787 0.0022714506 0.0042474966 - 567300 0.005316039 0.0019406895 0.0045156459 - 567400 0.0035027851 0.0020375326 0.0037341942 - 567500 0.0034897908 0.0022624785 0.0039528459 - 567600 0.0044838562 0.002222508 0.0043943758 - 567700 0.0049189607 0.0019294352 0.0043120567 - 567800 0.0039905751 0.0019713002 0.003904235 - 567900 0.0062203406 0.0019721982 0.0049851756 - 568000 0.0047616312 0.0015886092 0.0038950243 - 568100 0.0047439315 0.0017862275 0.0040840693 - 568200 0.0057143125 0.0020805602 0.0048484303 - 568300 0.0050452993 0.0027774559 0.0052212727 - 568400 0.005536293 0.0026913124 0.0053729543 - 568500 0.0046165243 0.0023774366 0.0046135656 - 568600 0.0058226265 0.0021804142 0.0050007488 - 568700 0.0041836392 0.0025424702 0.0045689204 - 568800 0.0034610878 0.0022805793 0.0039570437 - 568900 0.0044855547 0.0023788355 0.004551526 - 569000 0.0058404264 0.0023044837 0.0051334403 - 569100 0.0042392076 0.0024207024 0.0044740686 - 569200 0.0053231419 0.0021758782 0.004754275 - 569300 0.0058044246 0.0017940681 0.0046055862 - 569400 0.0055691129 0.0022604127 0.0049579517 - 569500 0.0056908511 0.0023315964 0.0050881024 - 569600 0.005347966 0.0023778656 0.0049682867 - 569700 0.0049655365 0.0025284994 0.0049336812 - 569800 0.0044045975 0.0023244635 0.0044579404 - 569900 0.0035977424 0.0021046906 0.0038473471 - 570000 0.0048878658 0.0017960988 0.0041636588 - 570100 0.0057159303 0.002115094 0.0048837477 - 570200 0.0057231973 0.002152781 0.0049249547 - 570300 0.0048571769 0.0021359817 0.0044886768 - 570400 0.0046636965 0.0018421515 0.0041011295 - 570500 0.0050473351 0.0016909525 0.0041357555 - 570600 0.0059122595 0.0018742998 0.0047380505 - 570700 0.0066142378 0.0023071467 0.0055109182 - 570800 0.0045663969 0.0021410171 0.0043528656 - 570900 0.0043005975 0.0018595665 0.0039426684 - 571000 0.004365716 0.0018880743 0.004002718 - 571100 0.0054197439 0.0025447466 0.005169935 - 571200 0.0046023816 0.0026663425 0.0048956211 - 571300 0.0042130697 0.0028514873 0.004892193 - 571400 0.0053773445 0.003046215 0.0056508662 - 571500 0.005151531 0.0029880663 0.0054833391 - 571600 0.0048257185 0.0025322004 0.0048696578 - 571700 0.0071501901 0.0018950047 0.0053583781 - 571800 0.0037726475 0.0026406037 0.0044679798 - 571900 0.0051743859 0.0029719928 0.005478336 - 572000 0.0055720615 0.002755352 0.0054543193 - 572100 0.0050067807 0.0026246089 0.0050497683 - 572200 0.0052502753 0.0026146423 0.0051577444 - 572300 0.0038490615 0.0031194786 0.0049838678 - 572400 0.0052921085 0.0029725435 0.0055359085 - 572500 0.0048249775 0.0028960781 0.0052331766 - 572600 0.0056514052 0.0026837899 0.0054211893 - 572700 0.0049457719 0.0023664883 0.0047620965 - 572800 0.0054198222 0.0023147184 0.0049399448 - 572900 0.0051884982 0.0024949148 0.0050080937 - 573000 0.0051863051 0.0023221056 0.0048342222 - 573100 0.0041251158 0.0019139735 0.0039120765 - 573200 0.0036677216 0.0023580012 0.0041345539 - 573300 0.0064586439 0.0027053822 0.0058337879 - 573400 0.0057469927 0.0030710761 0.0058547757 - 573500 0.0060612491 0.0024866911 0.0054226086 - 573600 0.005296336 0.0022407624 0.0048061751 - 573700 0.0050339136 0.0024846172 0.0049229191 - 573800 0.0056866566 0.0019681328 0.004722607 - 573900 0.0051274175 0.0019053087 0.0043889016 - 574000 0.0048654904 0.0023930987 0.0047498206 - 574100 0.0066689278 0.0023990055 0.0056292674 - 574200 0.0058598904 0.002262743 0.0051011274 - 574300 0.0076259923 0.0022129178 0.0059067578 - 574400 0.0050186568 0.0026119935 0.0050429054 - 574500 0.0045679515 0.0023577668 0.0045703683 - 574600 0.0050572993 0.0017981672 0.0042477966 - 574700 0.0047969436 0.0019949194 0.0043184389 - 574800 0.004996707 0.002274167 0.004694447 - 574900 0.0056161366 0.0025614245 0.0052817406 - 575000 0.0048281111 0.0024793372 0.0048179535 - 575100 0.0051480389 0.0022941684 0.0047877497 - 575200 0.0047216774 0.0022719963 0.0045590588 - 575300 0.0051022312 0.0025309176 0.0050023109 - 575400 0.0037788111 0.0024546856 0.0042850473 - 575500 0.004722155 0.002165322 0.0044526158 - 575600 0.005530176 0.0020774921 0.0047561711 - 575700 0.0054101916 0.0018948057 0.0045153672 - 575800 0.00566099 0.0019362194 0.0046782614 - 575900 0.0042141688 0.0022593145 0.0043005525 - 576000 0.003995031 0.0023162375 0.0042513306 - 576100 0.0051075243 0.0020628273 0.0045367843 - 576200 0.0040353824 0.0018711377 0.003825776 - 576300 0.0053867586 0.0018096085 0.0044188197 - 576400 0.004994048 0.0024198997 0.0048388917 - 576500 0.0043661134 0.0029810936 0.0050959298 - 576600 0.006449466 0.0024125024 0.0055364625 - 576700 0.0046565073 0.0022207506 0.0044762463 - 576800 0.0050519205 0.0018216963 0.0042687203 - 576900 0.0068888466 0.0018001895 0.0051369745 - 577000 0.0044995997 0.0021451098 0.0043246034 - 577100 0.0053461967 0.0021973805 0.0047869445 - 577200 0.0043472923 0.0024903759 0.0045960956 - 577300 0.0054902913 0.002118658 0.0047780179 - 577400 0.005680523 0.0017659191 0.0045174224 - 577500 0.0055636137 0.0015917143 0.0042865897 - 577600 0.004094923 0.0019678584 0.0039513367 - 577700 0.0065741417 0.0018517993 0.0050361492 - 577800 0.004018276 0.0020673864 0.0040137388 - 577900 0.005147125 0.0021927783 0.004685917 - 578000 0.0047783174 0.0026254334 0.0049399309 - 578100 0.0053791051 0.0026928419 0.0052983459 - 578200 0.0054760298 0.0025707991 0.005223251 - 578300 0.004471636 0.0027044734 0.0048704221 - 578400 0.0077722145 0.0025363261 0.0063009925 - 578500 0.0052044765 0.0029307988 0.0054517171 - 578600 0.0053368897 0.0027898134 0.0053748694 - 578700 0.0063207843 0.0027058233 0.0057674532 - 578800 0.0045879814 0.0028044757 0.0050267792 - 578900 0.0051532451 0.0025437989 0.005039902 - 579000 0.0060760873 0.0022193309 0.0051624357 - 579100 0.0053354325 0.0022602309 0.004844581 - 579200 0.0071025332 0.0022644918 0.0057047813 - 579300 0.0056916861 0.0020917064 0.0048486169 - 579400 0.0052676038 0.0019895352 0.0045410308 - 579500 0.0043892688 0.0021754853 0.0043015374 - 579600 0.0059140073 0.00244846 0.0053130573 - 579700 0.005333148 0.0022967025 0.0048799461 - 579800 0.0052086138 0.0023374885 0.0048604108 - 579900 0.0054262718 0.0023785446 0.005006895 - 580000 0.0047908914 0.0022496267 0.0045702147 - 580100 0.0039691459 0.0022101204 0.0041326755 - 580200 0.004246553 0.0021550652 0.0042119893 - 580300 0.0055687574 0.0020470027 0.0047443695 - 580400 0.006397478 0.0020796483 0.0051784267 - 580500 0.0045698236 0.0021203567 0.004333865 - 580600 0.0045570141 0.0022014054 0.0044087091 - 580700 0.0036813985 0.0018904147 0.0036735921 - 580800 0.0052226358 0.0018776943 0.0044074086 - 580900 0.0037791449 0.0022117553 0.0040422786 - 581000 0.0037394385 0.0022158315 0.004027122 - 581100 0.0062858838 0.0019365271 0.0049812521 - 581200 0.006981861 0.0018671227 0.0052489617 - 581300 0.0050643651 0.0021483694 0.0046014212 - 581400 0.0065827375 0.00244155 0.0056300635 - 581500 0.004356633 0.0026328181 0.0047430622 - 581600 0.0053606425 0.0025549691 0.0051515303 - 581700 0.0046857334 0.0022514176 0.0045210697 - 581800 0.0065889038 0.0018657528 0.0050572531 - 581900 0.0035159025 0.0020216664 0.0037246816 - 582000 0.0049457166 0.0020693488 0.0044649303 - 582100 0.0056514548 0.0018261843 0.0045636077 - 582200 0.0055447799 0.0019666333 0.0046523861 - 582300 0.0046920434 0.0020912087 0.0043639172 - 582400 0.0059142573 0.0019985159 0.0048632343 - 582500 0.0039366388 0.002160278 0.0040670874 - 582600 0.0038930912 0.0022078573 0.0040935733 - 582700 0.0062497002 0.00229459 0.0053217885 - 582800 0.0043595331 0.0022361469 0.0043477957 - 582900 0.0052498318 0.0022092525 0.0047521398 - 583000 0.0063621866 0.0022527295 0.0053344136 - 583100 0.0040075774 0.0025863269 0.0045274972 - 583200 0.0053688862 0.0017826092 0.0043831634 - 583300 0.0038017052 0.0018327198 0.0036741707 - 583400 0.0048429254 0.0020580946 0.0044038866 - 583500 0.0051043128 0.0019083875 0.004380789 - 583600 0.0042978354 0.0019707394 0.0040525034 - 583700 0.0069939743 0.002251433 0.0056391393 - 583800 0.0048676208 0.0027602344 0.0051179882 - 583900 0.00563248 0.0024567127 0.0051849452 - 584000 0.0049855462 0.0023539679 0.0047688418 - 584100 0.0058837958 0.0024355611 0.0052855247 - 584200 0.0040267152 0.0023685215 0.0043189617 - 584300 0.0040310772 0.0024628353 0.0044153883 - 584400 0.0045279405 0.0021244603 0.0043176815 - 584500 0.0048347445 0.0021055119 0.0044473413 - 584600 0.0040552802 0.0025672857 0.004531562 - 584700 0.0055827368 0.0024898033 0.0051939414 - 584800 0.0048785334 0.0022409179 0.0046039575 - 584900 0.0047728119 0.0019586659 0.0042704967 - 585000 0.0037337632 0.0020502266 0.0038587681 - 585100 0.0044596645 0.0024199543 0.0045801043 - 585200 0.0056002614 0.0026780933 0.0053907199 - 585300 0.0053507488 0.0029041255 0.0054958945 - 585400 0.0058900916 0.0029864319 0.005839445 - 585500 0.0056585598 0.0028735227 0.0056143876 - 585600 0.0060010165 0.0022200333 0.0051267757 - 585700 0.0050713235 0.0021134884 0.0045699107 - 585800 0.0050383859 0.0025796999 0.0050201681 - 585900 0.0050430704 0.0026889603 0.0051316975 - 586000 0.0043594606 0.0031144241 0.0052260379 - 586100 0.0046140152 0.0030361977 0.0052711113 - 586200 0.0056762717 0.0026327688 0.0053822129 - 586300 0.0054413094 0.0025779401 0.0052135743 - 586400 0.0056725994 0.002508729 0.0052563943 - 586500 0.0054727409 0.0025777079 0.0052285668 - 586600 0.0063742816 0.0029656339 0.0060531766 - 586700 0.0066110337 0.0033284206 0.00653064 - 586800 0.0052307319 0.0032797937 0.0058134294 - 586900 0.0052112207 0.0031464111 0.0056705962 - 587000 0.0051203385 0.0027282062 0.0052083702 - 587100 0.0054830413 0.0026759733 0.0053318214 - 587200 0.0048701787 0.0030480695 0.0054070624 - 587300 0.0073515763 0.002847786 0.0064087058 - 587400 0.0068226363 0.002809434 0.0061141485 - 587500 0.0034443722 0.002730412 0.0043987798 - 587600 0.0047060473 0.0025369559 0.0048164475 - 587700 0.0036077049 0.0027831397 0.0045306218 - 587800 0.0061897322 0.002450218 0.0054483695 - 587900 0.0045423993 0.0026826762 0.0048829009 - 588000 0.0054403083 0.0028441477 0.0054792971 - 588100 0.0049353534 0.0027585242 0.005149086 - 588200 0.0061888996 0.0029234407 0.0059211889 - 588300 0.0045508764 0.0032466398 0.0054509705 - 588400 0.0057536464 0.0027211011 0.0055080236 - 588500 0.006034468 0.0025857625 0.0055087079 - 588600 0.0049979888 0.0024256673 0.0048465681 - 588700 0.0059419058 0.0021659919 0.0050441025 - 588800 0.003903197 0.0022222871 0.0041128981 - 588900 0.0063481921 0.0019367782 0.0050116837 - 589000 0.004409767 0.0020771987 0.0042131796 - 589100 0.0055286344 0.002443433 0.0051213653 - 589200 0.0060668705 0.0020685177 0.0050071581 - 589300 0.003703552 0.00200943 0.003803338 - 589400 0.004142518 0.0020240463 0.0040305785 - 589500 0.0062051192 0.0023596171 0.0053652217 - 589600 0.0043732584 0.0021106892 0.0042289862 - 589700 0.004093096 0.001865429 0.0038480224 - 589800 0.0050829529 0.0016250203 0.0040870756 - 589900 0.0060659504 0.0015656779 0.0045038726 - 590000 0.0049192951 0.0018621855 0.0042449691 - 590100 0.0046151737 0.0019554026 0.0041908774 - 590200 0.0046022836 0.0024321566 0.0046613877 - 590300 0.0045768985 0.0016620822 0.0038790174 - 590400 0.0047481584 0.0014528227 0.003752712 - 590500 0.0037163931 0.0016887921 0.0034889201 - 590600 0.0039726384 0.0022465013 0.0041707481 - 590700 0.003773466 0.0023419013 0.0041696739 - 590800 0.0047333435 0.0025571155 0.0048498287 - 590900 0.0061694199 0.0024195091 0.0054078219 - 591000 0.0059641877 0.0024174285 0.005306332 - 591100 0.0068089308 0.002721689 0.0060197649 - 591200 0.0051856511 0.0028565289 0.0053683287 - 591300 0.0048107153 0.0027426459 0.0050728362 - 591400 0.0049020988 0.0022573702 0.0046318243 - 591500 0.0059114402 0.002284648 0.0051480018 - 591600 0.0040608347 0.0023083381 0.0042753049 - 591700 0.0040979408 0.0027080069 0.004692947 - 591800 0.0059665936 0.0024603025 0.0053503712 - 591900 0.005781307 0.0025990853 0.0053994059 - 592000 0.0038640567 0.0025206084 0.0043922609 - 592100 0.004966791 0.0023860662 0.0047918556 - 592200 0.0051226029 0.0025910121 0.0050722728 - 592300 0.005269477 0.0026585271 0.00521093 - 592400 0.0054378732 0.0025596623 0.0051936322 - 592500 0.0062555044 0.0024313702 0.0054613802 - 592600 0.0050955845 0.0022173185 0.0046854922 - 592700 0.0047113539 0.0024480802 0.0047301422 - 592800 0.0049408578 0.0024020534 0.0047952814 - 592900 0.0063286134 0.0024861758 0.0055515979 - 593000 0.0053766602 0.0021220622 0.004726382 - 593100 0.00468887 0.0019018462 0.0041730176 - 593200 0.0042140248 0.0018336464 0.0038748146 - 593300 0.0065338812 0.0015470171 0.0047118658 - 593400 0.0064535658 0.0015625482 0.0046884941 - 593500 0.0051040685 0.0020374888 0.004509772 - 593600 0.0043862731 0.0027730001 0.0048976012 - 593700 0.0042857779 0.0029345919 0.0050105156 - 593800 0.0072749112 0.0018530304 0.0053768155 - 593900 0.0058046392 0.0017711364 0.0045827586 - 594000 0.0040528586 0.0021770611 0.0041401645 - 594100 0.0038723016 0.00221391 0.004089556 - 594200 0.0060275726 0.0020048264 0.0049244319 - 594300 0.0051810084 0.0018212388 0.0043307898 - 594400 0.0056183067 0.0021499802 0.0048713475 - 594500 0.0040747085 0.0022558408 0.0042295278 - 594600 0.004771173 0.0018437442 0.0041547811 - 594700 0.0046581926 0.0014142102 0.0036705222 - 594800 0.003944575 0.0015819722 0.0034926256 - 594900 0.0054661531 0.0019707854 0.0046184533 - 595000 0.0061380584 0.0024011396 0.0053742616 - 595100 0.0056062424 0.0027481416 0.0054636652 - 595200 0.0050679888 0.0024913607 0.0049461677 - 595300 0.0052161116 0.002080179 0.0046067331 - 595400 0.0038553365 0.0018362256 0.0037036542 - 595500 0.0031693558 0.0016669144 0.0032020711 - 595600 0.0044522818 0.0015670139 0.0037235879 - 595700 0.0042943002 0.0015542919 0.0036343436 - 595800 0.0059788964 0.0018517215 0.0047477494 - 595900 0.003655345 0.0020485162 0.003819074 - 596000 0.0053356645 0.0021727047 0.0047571672 - 596100 0.0046558441 0.0023158474 0.0045710218 - 596200 0.0052402621 0.0022562724 0.0047945244 - 596300 0.0051345659 0.0025507771 0.0050378325 - 596400 0.0044697162 0.0031747214 0.0053397402 - 596500 0.0063030476 0.0027841645 0.0058372032 - 596600 0.0069757582 0.0023681824 0.0057470653 - 596700 0.0044496942 0.0020447256 0.0042000462 - 596800 0.0045516872 0.0020404215 0.0042451449 - 596900 0.0035969409 0.0018840124 0.0036262807 - 597000 0.0037257667 0.0014483245 0.0032529928 - 597100 0.0059259126 0.0011014717 0.0039718357 - 597200 0.0038202466 0.0014159628 0.0032663947 - 597300 0.0054639165 0.0020757876 0.0047223721 - 597400 0.0055508918 0.0024530948 0.005141808 - 597500 0.0060970772 0.0027347671 0.0056880389 - 597600 0.0047898846 0.0031130306 0.005433131 - 597700 0.0047920774 0.002819026 0.0051401885 - 597800 0.0057367874 0.0024342385 0.0052129949 - 597900 0.0052008783 0.0023280547 0.0048472301 - 598000 0.0060790881 0.0022224971 0.0051670554 - 598100 0.0066451146 0.0027582806 0.005977008 - 598200 0.0057492219 0.0029968452 0.0057816245 - 598300 0.0050374512 0.0029906533 0.0054306687 - 598400 0.0047051169 0.0025070469 0.0047860879 - 598500 0.0073726388 0.0021858281 0.0057569501 - 598600 0.0063648226 0.0027452724 0.0058282333 - 598700 0.0060104608 0.0026152305 0.0055265474 - 598800 0.0042659693 0.0022141516 0.0042804805 - 598900 0.0038705346 0.0021315164 0.0040063066 - 599000 0.0040809048 0.0019868679 0.0039635562 - 599100 0.0052769221 0.0022817798 0.004837789 - 599200 0.0053171262 0.0025118948 0.0050873778 - 599300 0.0054256982 0.0023001168 0.0049281894 - 599400 0.0054228178 0.0025721744 0.0051988518 - 599500 0.0062359325 0.002417204 0.0054377338 - 599600 0.0045351537 0.0029738275 0.0051705425 - 599700 0.0050776069 0.002684245 0.0051437108 - 599800 0.0050648728 0.0022275391 0.0046808368 - 599900 0.0046943522 0.002135554 0.0044093808 - 600000 0.0048747364 0.0020071338 0.0043683343 - 600100 0.005588673 0.0018407788 0.0045477922 - 600200 0.0058351814 0.0018871888 0.0047136048 - 600300 0.0053250862 0.0023515371 0.0049308757 - 600400 0.0050543566 0.0026164485 0.0050646525 - 600500 0.005100373 0.00206325 0.0045337432 - 600600 0.0036177016 0.0016838579 0.0034361821 - 600700 0.0049672784 0.0019065677 0.0043125932 - 600800 0.0042946395 0.0017929836 0.0038731996 - 600900 0.0044124241 0.0018286858 0.0039659538 - 601000 0.0055566732 0.0020189989 0.0047105125 - 601100 0.0057210813 0.0024097924 0.0051809412 - 601200 0.0065911495 0.0024405002 0.0056330882 - 601300 0.0054445906 0.0022317553 0.0048689789 - 601400 0.0047864467 0.002222181 0.0045406161 - 601500 0.0056464782 0.0021247293 0.0048597422 - 601600 0.0037568496 0.0024808978 0.0043006218 - 601700 0.006309968 0.0025792352 0.005635626 - 601800 0.0059192473 0.0023827215 0.0052498569 - 601900 0.004776623 0.0023849748 0.0046986516 - 602000 0.0053800555 0.0025392025 0.0051451669 - 602100 0.0054156019 0.0022077453 0.0048309275 - 602200 0.0045437293 0.0017201682 0.0039210371 - 602300 0.0023581833 0.0020646479 0.0032068929 - 602400 0.0038876477 0.0025498183 0.0044328976 - 602500 0.0062171854 0.0023509631 0.0053624123 - 602600 0.0043768894 0.002301513 0.0044215688 - 602700 0.0049346904 0.0016964475 0.0040866882 - 602800 0.0050908826 0.0017507888 0.004216685 - 602900 0.0042612807 0.0019044076 0.0039684654 - 603000 0.0043949688 0.0018798754 0.0040086884 - 603100 0.0048314579 0.0019852753 0.0043255127 - 603200 0.0043642178 0.0023282332 0.0044421512 - 603300 0.0051557421 0.0027632118 0.0052605244 - 603400 0.0061843769 0.0025066026 0.0055021601 - 603500 0.0046609128 0.0022847999 0.0045424295 - 603600 0.0033696244 0.0025563924 0.0041885542 - 603700 0.0040809355 0.002544763 0.0045214661 - 603800 0.0061179104 0.002370599 0.0053339619 - 603900 0.0045220011 0.0026008307 0.0047911751 - 604000 0.0064351235 0.001996465 0.0051134779 - 604100 0.0049820944 0.0016284274 0.0040416294 - 604200 0.0035321138 0.001795098 0.0035059656 - 604300 0.0044365546 0.0018980504 0.0040470065 - 604400 0.0066611702 0.0017332138 0.0049597181 - 604500 0.0054184841 0.002029382 0.0046539602 - 604600 0.0050670034 0.002162919 0.0046172487 - 604700 0.0052688345 0.0023969963 0.004949088 - 604800 0.004897347 0.0021697703 0.0045419227 - 604900 0.0044088073 0.0027876351 0.0049231511 - 605000 0.0057715934 0.0033970758 0.0061926913 - 605100 0.0051651147 0.0029561565 0.005458009 - 605200 0.0069009771 0.0024125512 0.005755212 - 605300 0.0047669484 0.0023245698 0.0046335604 - 605400 0.0043236483 0.0024379013 0.0045321684 - 605500 0.0048466368 0.0022995594 0.0046471491 - 605600 0.0044497614 0.0022697388 0.004425092 - 605700 0.0030225433 0.0026421513 0.0041061957 - 605800 0.0052359275 0.0027525463 0.0052886987 - 605900 0.0053218883 0.0028680552 0.0054458448 - 606000 0.0041924005 0.0026707342 0.0047014282 - 606100 0.0054381278 0.0023711233 0.0050052164 - 606200 0.004612356 0.0019344863 0.0041685963 - 606300 0.0050316184 0.0021089642 0.0045461543 - 606400 0.0052729529 0.0019932211 0.0045473077 - 606500 0.0027029929 0.0020289367 0.0033381989 - 606600 0.0032779252 0.0023257194 0.0039134644 - 606700 0.0053961404 0.00220816 0.0048219154 - 606800 0.0040901423 0.0020302675 0.0040114302 - 606900 0.0056080644 0.0021432471 0.0048596533 - 607000 0.0061819575 0.0020380811 0.0050324667 - 607100 0.0036832622 0.0023800416 0.0041641217 - 607200 0.0059458583 0.0026246877 0.0055047128 - 607300 0.0053715634 0.0027345848 0.0053364358 - 607400 0.0078374131 0.0027998144 0.0065960614 - 607500 0.0045643397 0.0028804667 0.0050913187 - 607600 0.0049622041 0.0024997918 0.0049033594 - 607700 0.0041277037 0.0024666813 0.0044660378 - 607800 0.005601648 0.0024629267 0.0051762249 - 607900 0.0055009706 0.0022822899 0.0049468225 - 608000 0.0035645658 0.0027395243 0.0044661108 - 608100 0.0041109552 0.0028614573 0.0048527013 - 608200 0.0057750365 0.002457851 0.0052551343 - 608300 0.0048665497 0.0022568586 0.0046140936 - 608400 0.0048629459 0.0023761253 0.0047316148 - 608500 0.0038691023 0.0023095905 0.0041836869 - 608600 0.0050669773 0.0022197971 0.0046741143 - 608700 0.0052757452 0.002186054 0.0047414931 - 608800 0.003457623 0.0020846226 0.0037594088 - 608900 0.0054173549 0.0021994456 0.0048234769 - 609000 0.0066742275 0.0022840277 0.0055168567 - 609100 0.0061517546 0.0023931156 0.0053728717 - 609200 0.0046287734 0.0022138782 0.0044559403 - 609300 0.0037747215 0.0020491822 0.0038775629 - 609400 0.0031764508 0.0020181942 0.0035567876 - 609500 0.003926951 0.0023734595 0.0042755764 - 609600 0.0058807065 0.0027651429 0.0056136101 - 609700 0.0049768693 0.0032489737 0.0056596448 - 609800 0.0063842675 0.0029459049 0.0060382845 - 609900 0.0058046808 0.0024674666 0.0052791089 - 610000 0.0055194699 0.0020248242 0.0046983174 - 610100 0.0050228984 0.0019085419 0.0043415083 - 610200 0.0050074021 0.002141871 0.0045673314 - 610300 0.00464046 0.0031249423 0.0053726651 - 610400 0.0052716169 0.0031306349 0.0056840743 - 610500 0.0064972781 0.0029696299 0.006116749 - 610600 0.0053459962 0.0025745357 0.0051640026 - 610700 0.0052570201 0.0026166633 0.0051630324 - 610800 0.0066789241 0.0029452789 0.0061803828 - 610900 0.0060472576 0.003004564 0.0059337044 - 611000 0.0059201032 0.0027356622 0.0056032122 - 611100 0.0062575544 0.0028911301 0.005922133 - 611200 0.0037583286 0.0028732128 0.0046936532 - 611300 0.0060949335 0.0027142313 0.0056664647 - 611400 0.0053176366 0.0021932164 0.0047689466 - 611500 0.0050365003 0.0019057165 0.0043452713 - 611600 0.003809659 0.0019748334 0.003820137 - 611700 0.004460536 0.0021256494 0.0042862216 - 611800 0.005168518 0.0023163913 0.0048198922 - 611900 0.0039613685 0.0025127458 0.0044315337 - 612000 0.0064079681 0.0030166932 0.0061205527 - 612100 0.0056480103 0.003019512 0.0057552669 - 612200 0.0046690319 0.0029198561 0.0051814185 - 612300 0.0056495421 0.0028206225 0.0055571194 - 612400 0.0052683581 0.0025215495 0.0050734105 - 612500 0.0043764328 0.0028677151 0.0049875497 - 612600 0.0048068091 0.003196749 0.0055250472 - 612700 0.0042094011 0.0031532786 0.0051922073 - 612800 0.0055065477 0.0028945235 0.0055617576 - 612900 0.0049832613 0.0031854012 0.0055991684 - 613000 0.0049536497 0.0030987095 0.0054981336 - 613100 0.0052435517 0.002801174 0.0053410193 - 613200 0.003698988 0.0031045472 0.0048962445 - 613300 0.0048910452 0.0027478364 0.0051169364 - 613400 0.0059321058 0.0026634493 0.005536813 - 613500 0.0053143832 0.002953302 0.0055274564 - 613600 0.004624879 0.0030357275 0.0052759032 - 613700 0.005572153 0.0033003207 0.0059993323 - 613800 0.0048909014 0.0033029937 0.0056720241 - 613900 0.0041964208 0.0029993354 0.0050319768 - 614000 0.0049687758 0.0023300172 0.004736768 - 614100 0.004791737 0.0020516828 0.0043726804 - 614200 0.0035785719 0.0024639203 0.0041972911 - 614300 0.0041536001 0.0028766013 0.0048885013 - 614400 0.0048820826 0.0028376523 0.0052024111 - 614500 0.0062377832 0.0026423372 0.0056637635 - 614600 0.0052549168 0.0024802607 0.005025611 - 614700 0.0054194919 0.0021043041 0.0047293705 - 614800 0.0047128893 0.0020498995 0.0043327052 - 614900 0.0055991866 0.0017388454 0.0044509515 - 615000 0.0053194065 0.0015924528 0.0041690403 - 615100 0.0047353813 0.0020494904 0.0043431907 - 615200 0.0058927017 0.0024588897 0.0053131671 - 615300 0.0046463883 0.0027834552 0.0050340495 - 615400 0.0046414915 0.0027317377 0.0049799602 - 615500 0.0034574516 0.0023867994 0.0040615025 - 615600 0.005093183 0.0021629293 0.0046299398 - 615700 0.004922949 0.0019916942 0.0043762477 - 615800 0.0053117527 0.0022224986 0.0047953789 - 615900 0.0039845357 0.002662029 0.0045920385 - 616000 0.006530012 0.0019979231 0.0051608977 - 616100 0.006320235 0.0020304834 0.0050918473 - 616200 0.0065351758 0.001915805 0.0050812808 - 616300 0.0065782172 0.0025804614 0.0057667853 - 616400 0.0063488866 0.0025710868 0.0056463287 - 616500 0.0052326963 0.0022704766 0.0048050638 - 616600 0.0048913444 0.0023485667 0.0047178116 - 616700 0.0065422932 0.0025848099 0.0057537332 - 616800 0.0058546972 0.002387942 0.0052238109 - 616900 0.0042008495 0.002116814 0.0041516005 - 617000 0.0052811333 0.001867439 0.0044254879 - 617100 0.0041609741 0.0020155051 0.0040309769 - 617200 0.0050556713 0.0019738319 0.0044226727 - 617300 0.003897861 0.0022266424 0.0041146688 - 617400 0.0046011176 0.0021923506 0.004421017 - 617500 0.0046833685 0.0020624888 0.0043309954 - 617600 0.0059696124 0.0021619725 0.0050535035 - 617700 0.0065099946 0.002793131 0.0059464096 - 617800 0.0047033887 0.0031199095 0.0053981133 - 617900 0.0070180143 0.0030188275 0.0064181782 - 618000 0.0054651912 0.0025897816 0.0052369836 - 618100 0.0044343628 0.0025003918 0.0046482863 - 618200 0.0049723012 0.0024652435 0.0048737019 - 618300 0.0048008842 0.0024438239 0.0047692522 - 618400 0.0067515642 0.0023571949 0.0056274838 - 618500 0.0049093292 0.0023338791 0.0047118354 - 618600 0.0036863014 0.0027801086 0.0045656608 - 618700 0.0063932221 0.002851233 0.0059479499 - 618800 0.0047122664 0.0028200536 0.0051025576 - 618900 0.003530486 0.0028275992 0.0045376783 - 619000 0.0041286567 0.0026782452 0.0046780633 - 619100 0.0045740226 0.0029194595 0.0051350017 - 619200 0.004219104 0.0030115484 0.0050551769 - 619300 0.0053312255 0.0029366558 0.0055189681 - 619400 0.0053521071 0.0029125056 0.0055049325 - 619500 0.0060033189 0.0030257178 0.0059335754 - 619600 0.0058429977 0.0030648124 0.0058950144 - 619700 0.0053758151 0.0034239431 0.0060278535 - 619800 0.0061492432 0.0031701512 0.0061486909 - 619900 0.0038256625 0.0032681921 0.0051212474 - 620000 0.0057498593 0.00278742 0.0055725081 - 620100 0.007399701 0.0026377902 0.0062220203 - 620200 0.0032833421 0.002553577 0.0041439458 - 620300 0.0067235446 0.0023477115 0.0056044284 - 620400 0.0068798281 0.0027762437 0.0061086605 - 620500 0.0053722954 0.0029271581 0.0055293636 - 620600 0.007010691 0.0027605746 0.0061563781 - 620700 0.0053074436 0.0025517512 0.0051225442 - 620800 0.0044906385 0.0024814966 0.0046566496 - 620900 0.0044122107 0.0025883901 0.0047255547 - 621000 0.0055044253 0.0025960965 0.0052623025 - 621100 0.0037348797 0.0026990263 0.0045081087 - 621200 0.0041841773 0.0019390366 0.0039657474 - 621300 0.005370255 0.0018683078 0.0044695251 - 621400 0.0046827423 0.0024821464 0.0047503497 - 621500 0.0032553094 0.0029293424 0.0045061329 - 621600 0.0056249789 0.0022121287 0.0049367278 - 621700 0.0053355169 0.0025528185 0.0051372095 - 621800 0.0056138509 0.0029616762 0.0056808852 - 621900 0.0052041488 0.002507202 0.0050279616 - 622000 0.0038459894 0.0024646415 0.0043275427 - 622100 0.0053101939 0.0023494945 0.0049216196 - 622200 0.0053406418 0.0021402416 0.004727115 - 622300 0.0060133494 0.0020082382 0.0049209543 - 622400 0.0057465184 0.0017641299 0.0045475998 - 622500 0.0041440519 0.0020403021 0.0040475773 - 622600 0.0054036265 0.0021693869 0.0047867685 - 622700 0.0051386108 0.0024482117 0.0049372263 - 622800 0.0049837905 0.0025556902 0.0049697137 - 622900 0.0048685918 0.0026593345 0.0050175586 - 623000 0.006147535 0.0021392113 0.0051169235 - 623100 0.0057624115 0.0023107247 0.0051018928 - 623200 0.0049008253 0.002622959 0.0049967962 - 623300 0.0044468787 0.0024302964 0.0045842533 - 623400 0.0056108462 0.0026983243 0.0054160779 - 623500 0.0055734708 0.0028317319 0.0055313818 - 623600 0.0060542196 0.0029881227 0.0059206353 - 623700 0.0071445663 0.0033772984 0.0068379477 - 623800 0.0044900495 0.0035743549 0.0057492226 - 623900 0.0057530383 0.0024801593 0.0052667872 - 624000 0.0045026316 0.0023335392 0.0045145014 - 624100 0.0036760964 0.0024322088 0.004212818 - 624200 0.0052370134 0.0022798154 0.0048164937 - 624300 0.0056922835 0.0020539089 0.0048111087 - 624400 0.0046660505 0.0020280045 0.0042881227 - 624500 0.0057315692 0.0018557687 0.0046319975 - 624600 0.0036427234 0.0021510104 0.0039154546 - 624700 0.0063984091 0.0025790383 0.0056782677 - 624800 0.0047408233 0.0027501161 0.0050464523 - 624900 0.0058191939 0.0024231203 0.0052417923 - 625000 0.0046005372 0.0027703911 0.0049987763 - 625100 0.0044261841 0.0026501042 0.0047940371 - 625200 0.0049550339 0.0028058854 0.00520598 - 625300 0.0056578482 0.0029696101 0.0057101303 - 625400 0.0069969058 0.0025700942 0.0059592204 - 625500 0.0060664935 0.0025986927 0.0055371505 - 625600 0.0058373845 0.0024865746 0.0053140577 - 625700 0.0064864064 0.002056236 0.0051980891 - 625800 0.0056530619 0.0017298982 0.0044681 - 625900 0.00629157 0.0022366251 0.0052841043 - 626000 0.0050924897 0.0028542946 0.0053209694 - 626100 0.0046623572 0.00271281 0.0049711393 - 626200 0.0051348586 0.0024870893 0.0049742865 - 626300 0.0048646866 0.0023213911 0.0046777237 - 626400 0.0054906395 0.0024105779 0.0050701064 - 626500 0.0054598049 0.0026026187 0.0052472117 - 626600 0.0056884155 0.0027111938 0.0054665201 - 626700 0.0048485612 0.0023931273 0.0047416491 - 626800 0.0061027427 0.0021594794 0.0051154954 - 626900 0.0042279316 0.002232961 0.0042808654 - 627000 0.0058900381 0.0025719736 0.0054249608 - 627100 0.0044722036 0.0029610814 0.005127305 - 627200 0.0051982234 0.0027889563 0.0053068458 - 627300 0.0049415118 0.0030509928 0.0054445376 - 627400 0.0060853266 0.0027679946 0.0057155747 - 627500 0.0052674199 0.0027472018 0.0052986083 - 627600 0.0042928341 0.0021784377 0.0042577793 - 627700 0.0058874463 0.001891201 0.0047429328 - 627800 0.0039091894 0.0021941946 0.0040877083 - 627900 0.0055796868 0.0028062552 0.0055089161 - 628000 0.0068355562 0.0030495206 0.0063604932 - 628100 0.0048401644 0.0031278611 0.0054723158 - 628200 0.0054692296 0.0024930113 0.0051421694 - 628300 0.005675327 0.0024334811 0.0051824677 - 628400 0.0068574662 0.0029182884 0.0062398737 - 628500 0.0043666402 0.0030285597 0.0051436511 - 628600 0.0049560913 0.0026880101 0.0050886168 - 628700 0.0048714803 0.0021658821 0.0045255054 - 628800 0.0064625829 0.0017107986 0.0048411122 - 628900 0.0052324998 0.0015760162 0.0041105083 - 629000 0.0065545984 0.0016857281 0.0048606117 - 629100 0.0047776243 0.0016975766 0.0040117384 - 629200 0.004832408 0.0019075865 0.0042482841 - 629300 0.0049306992 0.001723074 0.0041113814 - 629400 0.0049602384 0.0017450372 0.0041476527 - 629500 0.0038682459 0.0015511167 0.0034247983 - 629600 0.0064627828 0.0019343707 0.0050647811 - 629700 0.0058556025 0.0021735815 0.0050098889 - 629800 0.0053579114 0.0021547466 0.0047499849 - 629900 0.0049218809 0.0020461756 0.0044302116 - 630000 0.0062799871 0.0016371053 0.0046789741 - 630100 0.0054975274 0.0015974837 0.0042603485 - 630200 0.0038199249 0.0017306618 0.0035809379 - 630300 0.0057386414 0.0019858483 0.0047655027 - 630400 0.0031865565 0.0028659344 0.0044094227 - 630500 0.0039400617 0.002853807 0.0047622744 - 630600 0.0046150669 0.0027036041 0.0049390271 - 630700 0.0050376394 0.0024288036 0.0048689102 - 630800 0.0055047619 0.0025578912 0.0052242602 - 630900 0.0060534795 0.002327708 0.0052598622 - 631000 0.0051725442 0.0020780083 0.0045834594 - 631100 0.0041018511 0.0022359015 0.0042227357 - 631200 0.0044559887 0.0024747023 0.0046330718 - 631300 0.0051086611 0.0022323999 0.0047069076 - 631400 0.0051913154 0.0020389331 0.0045534765 - 631500 0.0061621441 0.0023679372 0.0053527258 - 631600 0.0054744902 0.0028776466 0.0055293528 - 631700 0.0065295203 0.002200441 0.0053631774 - 631800 0.0055585597 0.0017262841 0.0044187114 - 631900 0.0039463699 0.0020326862 0.0039442091 - 632000 0.005717277 0.0018812113 0.0046505174 - 632100 0.0050585563 0.0015742099 0.0040244481 - 632200 0.00473 0.0021514877 0.0044425815 - 632300 0.0052694681 0.0023481641 0.0049005627 - 632400 0.0063208537 0.0019694978 0.0050311613 - 632500 0.0035673501 0.0015993505 0.0033272857 - 632600 0.0050990688 0.001644455 0.0041143165 - 632700 0.0041691286 0.0018980907 0.0039175124 - 632800 0.0032918626 0.0022724765 0.0038669725 - 632900 0.0040420381 0.0018994847 0.0038573469 - 633000 0.0054287672 0.0018757184 0.0045052775 - 633100 0.004236058 0.0026012857 0.0046531263 - 633200 0.004345557 0.003022086 0.0051269651 - 633300 0.0048562645 0.0028752129 0.005227466 - 633400 0.0053548986 0.0022003587 0.0047941378 - 633500 0.0052741251 0.0025138555 0.0050685098 - 633600 0.0044190281 0.0026608225 0.0048012892 - 633700 0.0043849331 0.0023786182 0.0045025702 - 633800 0.0061766849 0.0023331491 0.0053249808 - 633900 0.0088525921 0.0027226023 0.0070105766 - 634000 0.0056096816 0.0037804422 0.0064976317 - 634100 0.0060617844 0.003193831 0.0061300078 - 634200 0.0039535419 0.0028626417 0.0047776385 - 634300 0.00590905 0.0028060761 0.0056682722 - 634400 0.0046472647 0.0029562611 0.00520728 - 634500 0.004518618 0.0026952576 0.0048839631 - 634600 0.006131264 0.0022140264 0.0051838574 - 634700 0.0061562261 0.0022022194 0.0051841414 - 634800 0.0043827421 0.0020616123 0.004184503 - 634900 0.0048128584 0.0025007034 0.0048319317 - 635000 0.0064847444 0.0031499142 0.0062909623 - 635100 0.0041063782 0.0035147184 0.0055037453 - 635200 0.0059764842 0.0029388929 0.0058337524 - 635300 0.0073039221 0.0024250847 0.005962922 - 635400 0.0060600892 0.0024760171 0.0054113728 - 635500 0.0057470201 0.0030342223 0.0058179352 - 635600 0.0047454981 0.0030955946 0.0053941952 - 635700 0.0051693255 0.0029176509 0.0054215429 - 635800 0.0045023723 0.0027717603 0.0049525969 - 635900 0.0040753195 0.0027852955 0.0047592784 - 636000 0.0044083465 0.002507491 0.0046427838 - 636100 0.0043058174 0.001820477 0.0039061073 - 636200 0.0063650766 0.0015277999 0.0046108839 - 636300 0.0050426478 0.0016900544 0.0041325869 - 636400 0.0049588381 0.0019033688 0.004305306 - 636500 0.0057901207 0.0022092922 0.005013882 - 636600 0.004185967 0.0024775314 0.0045051091 - 636700 0.0038040838 0.0022263207 0.0040689238 - 636800 0.0043084256 0.0018243316 0.0039112252 - 636900 0.0038994503 0.0017236301 0.0036124264 - 637000 0.0051161702 0.0015266561 0.004004801 - 637100 0.00596317 0.0018561718 0.0047445823 - 637200 0.0051350513 0.002078083 0.0045653734 - 637300 0.0054747903 0.002089245 0.0047410966 - 637400 0.0043667579 0.0020342331 0.0041493815 - 637500 0.0056973589 0.0021073184 0.0048669766 - 637600 0.0041750965 0.0026542574 0.0046765698 - 637700 0.0061792871 0.002745641 0.0057387332 - 637800 0.0057331349 0.0025961205 0.0053731077 - 637900 0.0041919304 0.0025483633 0.0045788296 - 638000 0.005294641 0.0023035016 0.0048680933 - 638100 0.0064870668 0.0019328689 0.0050750419 - 638200 0.0048194902 0.0016038068 0.0039382474 - 638300 0.0044331258 0.001610414 0.0037577093 - 638400 0.0052085348 0.0017607055 0.0042835896 - 638500 0.0049535922 0.0017793689 0.0041787652 - 638600 0.0046224152 0.0020689614 0.0043079437 - 638700 0.0042983057 0.0025444203 0.0046264121 - 638800 0.003812503 0.0022338003 0.0040804815 - 638900 0.0052513836 0.0020647703 0.0046084093 - 639000 0.0067964588 0.0023641762 0.0056562109 - 639100 0.0053183139 0.0026339867 0.005210045 - 639200 0.0055152971 0.0025328994 0.0052043714 - 639300 0.0062121589 0.0022446323 0.0052536468 - 639400 0.0050641085 0.0022539557 0.0047068833 - 639500 0.0057559088 0.0029046959 0.0056927142 - 639600 0.005367169 0.0027441501 0.0053438725 - 639700 0.0047234995 0.0018984967 0.0041864418 - 639800 0.00513697 0.0019668202 0.00445504 - 639900 0.0062925294 0.0021999826 0.0052479266 - 640000 0.0057511344 0.002506752 0.0052924577 - 640100 0.0049154211 0.0026473046 0.0050282117 - 640200 0.0048126792 0.0025176641 0.0048488056 - 640300 0.0044936129 0.0024960518 0.0046726455 - 640400 0.0068434047 0.0020052544 0.0053200285 - 640500 0.004583629 0.001953175 0.0041733703 - 640600 0.0039392555 0.0020652496 0.0039733264 - 640700 0.0047267993 0.0020139826 0.004303526 - 640800 0.004051912 0.0022327478 0.0041953927 - 640900 0.0041520424 0.0023614187 0.0043725642 - 641000 0.0053617247 0.0025669101 0.0051639955 - 641100 0.0053435491 0.0028292284 0.00541751 - 641200 0.0075655041 0.0030415885 0.0067061296 - 641300 0.0053307771 0.0027276584 0.0053097535 - 641400 0.0047348811 0.0023506567 0.0046441148 - 641500 0.0043262569 0.0024170891 0.0045126198 - 641600 0.0057657956 0.0026866723 0.0054794796 - 641700 0.0044775737 0.003128199 0.0052970238 - 641800 0.0040335931 0.0029748774 0.004928649 - 641900 0.0062890788 0.0026869569 0.0057332295 - 642000 0.0059535789 0.0025124595 0.0053962243 - 642100 0.004690481 0.0025410986 0.0048130503 - 642200 0.0053817835 0.002337803 0.0049446044 - 642300 0.0053687173 0.0019952094 0.0045956818 - 642400 0.0047505812 0.0018220118 0.0041230745 - 642500 0.0058057443 0.0016874929 0.0044996503 - 642600 0.0030658627 0.0016180681 0.0031030953 - 642700 0.0036966047 0.0017713105 0.0035618534 - 642800 0.0052508799 0.0023782125 0.0049216074 - 642900 0.0049901825 0.0021817129 0.0045988325 - 643000 0.0049296018 0.0018497522 0.0042375281 - 643100 0.00515626 0.0018355722 0.0043331356 - 643200 0.0051617449 0.0019973384 0.0044975586 - 643300 0.0055244066 0.0020477734 0.0047236578 - 643400 0.0053767668 0.0022053729 0.0048097443 - 643500 0.00434843 0.0023365469 0.0044428177 - 643600 0.0049882766 0.0025266936 0.0049428901 - 643700 0.0037566915 0.0023079415 0.0041275889 - 643800 0.0056980087 0.0019817678 0.0047417407 - 643900 0.0041423264 0.0023963407 0.0044027801 - 644000 0.0037912548 0.0024222865 0.0042586755 - 644100 0.0057603357 0.002101442 0.0048916046 - 644200 0.00532663 0.002110891 0.0046909774 - 644300 0.0057190969 0.0020262215 0.004796409 - 644400 0.0043800588 0.0018601308 0.0039817218 - 644500 0.0054245978 0.0019536585 0.004581198 - 644600 0.005281386 0.0026610488 0.0052192202 - 644700 0.0065105136 0.0030431518 0.0061966819 - 644800 0.0060627218 0.0026206971 0.005557328 - 644900 0.0072041067 0.0022367692 0.0057262584 - 645000 0.0039946857 0.0025027339 0.0044376598 - 645100 0.0041685849 0.0023142783 0.0043334366 - 645200 0.0047317383 0.0024040888 0.0046960246 - 645300 0.006799252 0.0021872851 0.0054806728 - 645400 0.004984767 0.001611568 0.0040260645 - 645500 0.0044552706 0.0020202222 0.0041782439 - 645600 0.0055154873 0.0021567896 0.0048283538 - 645700 0.0056363245 0.0022036445 0.0049337391 - 645800 0.0049785046 0.0019962464 0.0044077095 - 645900 0.0042090368 0.0018332818 0.003872034 - 646000 0.0061780986 0.0018658506 0.0048583671 - 646100 0.003923402 0.0017647928 0.0036651906 - 646200 0.0054927756 0.0016453366 0.0043058998 - 646300 0.0053939014 0.0017874352 0.0044001062 - 646400 0.0060586182 0.0019088366 0.0048434798 - 646500 0.0047905578 0.0024876828 0.0048081093 - 646600 0.0048955254 0.0025217938 0.0048930639 - 646700 0.0046908636 0.0021415008 0.0044136379 - 646800 0.0055205929 0.0020183798 0.004692417 - 646900 0.0047197025 0.0023522788 0.0046383846 - 647000 0.0055525974 0.0020173281 0.0047068674 - 647100 0.0047900259 0.0020948305 0.0044149993 - 647200 0.0039464537 0.0025422166 0.0044537801 - 647300 0.0071061145 0.0021658687 0.0056078929 - 647400 0.0067457385 0.0021034903 0.0053709574 - 647500 0.004881933 0.0022831652 0.0046478515 - 647600 0.0038573267 0.0020709541 0.0039393467 - 647700 0.0031484268 0.0022126625 0.0037376817 - 647800 0.004245487 0.0025194612 0.004575869 - 647900 0.0064904909 0.0023994081 0.0055432396 - 648000 0.003875315 0.0026297528 0.0045068585 - 648100 0.0056863273 0.002233484 0.0049877988 - 648200 0.006800374 0.002049273 0.0053432042 - 648300 0.0049228805 0.0027597797 0.0051442999 - 648400 0.0058948425 0.0033134619 0.0061687762 - 648500 0.0044187231 0.0035694988 0.0057098178 - 648600 0.0048949381 0.0037049491 0.0060759347 - 648700 0.0047370767 0.0032176095 0.005512131 - 648800 0.0067112199 0.0025373004 0.0057880475 - 648900 0.00506353 0.0025289941 0.0049816414 - 649000 0.0044099058 0.0023883548 0.0045244029 - 649100 0.0048435638 0.0021324996 0.0044786008 - 649200 0.0062953522 0.0018395101 0.0048888213 - 649300 0.0057140417 0.0017273488 0.0044950877 - 649400 0.0046219473 0.0019399734 0.0041787292 - 649500 0.0049905247 0.0020640816 0.0044813671 - 649600 0.0031804226 0.002003618 0.0035441352 - 649700 0.0042359115 0.0018474485 0.0038992182 - 649800 0.006846573 0.0019491861 0.0052654949 - 649900 0.0051430937 0.002608293 0.0050994791 - 650000 0.005663919 0.0025385806 0.0052820413 - 650100 0.0051394907 0.002552119 0.0050415598 - 650200 0.0046411116 0.0025305983 0.0047786367 - 650300 0.0043540221 0.0024243567 0.0045333361 - 650400 0.0054640694 0.0022720191 0.0049186777 - 650500 0.0048787208 0.0026291645 0.0049922949 - 650600 0.0070533492 0.0028568861 0.0062733521 - 650700 0.0056402206 0.0029314141 0.0056633959 - 650800 0.0039633843 0.0028581039 0.0047778682 - 650900 0.0049035621 0.0025752015 0.0049503644 - 651000 0.0043974216 0.0025016429 0.004631644 - 651100 0.0054508527 0.0025367073 0.0051769641 - 651200 0.0060408669 0.0026193911 0.005545436 - 651300 0.0067377857 0.0027126697 0.0059762846 - 651400 0.0046457135 0.0026466361 0.0048969036 - 651500 0.0069560897 0.0024836006 0.0058529565 - 651600 0.0058218941 0.002398065 0.005218045 - 651700 0.0038882045 0.0023190403 0.0042023893 - 651800 0.0052891264 0.0023576551 0.0049195757 - 651900 0.0059361115 0.0023180711 0.0051933751 - 652000 0.0049822704 0.002723253 0.0051365402 - 652100 0.0047691359 0.0025777617 0.0048878119 - 652200 0.0035934774 0.0023214278 0.0040620184 - 652300 0.0066565234 0.0019705312 0.0051947847 - 652400 0.0055082759 0.0018146544 0.0044827255 - 652500 0.0045457233 0.0018222331 0.0040240678 - 652600 0.0042907296 0.0020565138 0.004134836 - 652700 0.0052918522 0.0026195994 0.0051828403 - 652800 0.0050375595 0.0031837901 0.005623858 - 652900 0.0069732202 0.0033649566 0.0067426101 - 653000 0.0053387676 0.0029891304 0.005575096 - 653100 0.005126136 0.0026014038 0.0050843759 - 653200 0.0055425591 0.0026917599 0.005376437 - 653300 0.0051494142 0.0027768342 0.0052710816 - 653400 0.0046667682 0.0028796715 0.0051401374 - 653500 0.0047060503 0.0028268332 0.0051063263 - 653600 0.0056044243 0.0029280817 0.0056427248 - 653700 0.0038584977 0.002763066 0.0046320258 - 653800 0.0057715139 0.0028576027 0.0056531797 - 653900 0.0055351929 0.0028996208 0.0055807298 - 654000 0.0046023606 0.0024168021 0.0046460705 - 654100 0.0049783603 0.0022988069 0.0047102001 - 654200 0.0045671311 0.0021763806 0.0043885847 - 654300 0.0049080779 0.001945487 0.0043228372 - 654400 0.0055039094 0.0019530808 0.004619037 - 654500 0.0053434534 0.0020517196 0.0046399548 - 654600 0.0064515856 0.0020262481 0.0051512348 - 654700 0.0054236439 0.0021331314 0.0047602089 - 654800 0.0058858807 0.0025702839 0.0054212573 - 654900 0.003758986 0.002832568 0.0046533268 - 655000 0.0040142218 0.0026273239 0.0045717126 - 655100 0.0030834239 0.0024823978 0.0039759313 - 655200 0.004943824 0.002359078 0.0047537428 - 655300 0.0053238326 0.0028080644 0.0053867958 - 655400 0.0039314736 0.0034448535 0.005349161 - 655500 0.0062947606 0.003003687 0.0060527117 - 655600 0.005831412 0.0024507158 0.005275306 - 655700 0.0051031302 0.0027437667 0.0052155954 - 655800 0.0053921088 0.0027836714 0.0053954742 - 655900 0.003042301 0.0028407348 0.0043143494 - 656000 0.0044334354 0.0027647513 0.0049121966 - 656100 0.0063124688 0.0026640428 0.0057216448 - 656200 0.0067039677 0.0024197087 0.0056669431 - 656300 0.0064594907 0.0031459207 0.0062747365 - 656400 0.0063143318 0.0040595144 0.0071180188 - 656500 0.0047835356 0.0038918809 0.006208906 - 656600 0.006173573 0.0036461384 0.0066364629 - 656700 0.0060779953 0.0035508436 0.0064948725 - 656800 0.0051100696 0.0036661918 0.0061413818 - 656900 0.0045448402 0.0032612164 0.0054626233 - 657000 0.0042624843 0.0031360191 0.00520066 - 657100 0.0061780642 0.0028013427 0.0057938426 - 657200 0.0063834342 0.0030723427 0.0061643187 - 657300 0.0064985571 0.0030556917 0.0062034303 - 657400 0.0046493367 0.0027233375 0.00497536 - 657500 0.0039536099 0.0023789087 0.0042939384 - 657600 0.0040609235 0.0024138076 0.0043808174 - 657700 0.0057497035 0.002153922 0.0049389346 - 657800 0.0050982439 0.0022214829 0.0046909448 - 657900 0.003856894 0.0021461622 0.0040143452 - 658000 0.004875946 0.0016817935 0.0040435798 - 658100 0.0052966117 0.0017318736 0.0042974199 - 658200 0.0036333057 0.0024492223 0.0042091048 - 658300 0.0055014078 0.0028560834 0.0055208278 - 658400 0.0048445811 0.0026367831 0.004983377 - 658500 0.0043502915 0.0024185839 0.0045257564 - 658600 0.005252141 0.0024774002 0.0050214059 - 658700 0.0057420291 0.0025360799 0.0053173753 - 658800 0.0045631064 0.0026801526 0.0048904072 - 658900 0.0049866389 0.002590223 0.0050056262 - 659000 0.0045274279 0.0029992893 0.0051922622 - 659100 0.007209328 0.0025473612 0.0060393795 - 659200 0.0051121409 0.0024476878 0.004923881 - 659300 0.0057217422 0.0026059033 0.0053773722 - 659400 0.0048380715 0.0026662877 0.0050097286 - 659500 0.0043877335 0.003044067 0.0051693754 - 659600 0.0056171148 0.0028647986 0.0055855886 - 659700 0.0037907919 0.0027043927 0.0045405576 - 659800 0.005247633 0.0026988874 0.0052407096 - 659900 0.0071151958 0.0026892424 0.0061356653 - 660000 0.0051081289 0.0028144848 0.0052887347 - 660100 0.0045772269 0.0026756309 0.0048927252 - 660200 0.0056775029 0.0026207046 0.0053707451 - 660300 0.0048854512 0.0022776415 0.0046440319 - 660400 0.0073197634 0.0018182451 0.0053637555 - 660500 0.0061799104 0.0021687695 0.0051621636 - 660600 0.0032734561 0.0021423746 0.0037279549 - 660700 0.0059749782 0.0020075174 0.0049016475 - 660800 0.0055942463 0.0024850403 0.0051947533 - 660900 0.0039168013 0.0030655364 0.004962737 - 661000 0.0036937267 0.0028047689 0.0045939178 - 661100 0.0070880239 0.0022191658 0.0056524274 - 661200 0.0041299842 0.0022620895 0.0042625506 - 661300 0.0066088736 0.0022758094 0.0054769825 - 661400 0.0042766706 0.0024043409 0.0044758532 - 661500 0.0037452718 0.0022768785 0.0040909946 - 661600 0.0039826649 0.0020812471 0.0040103504 - 661700 0.0052712392 0.0022630614 0.0048163179 - 661800 0.0035303187 0.0024049235 0.0041149217 - 661900 0.0041050006 0.0026587881 0.0046471478 - 662000 0.0053046069 0.0027413493 0.0053107683 - 662100 0.0064409263 0.003098326 0.0062181497 - 662200 0.0048305218 0.0036770192 0.0060168031 - 662300 0.0059453223 0.0035500629 0.0064298283 - 662400 0.0058585213 0.0027763552 0.0056140764 - 662500 0.0076515022 0.0020899482 0.0057961446 - 662600 0.0061928708 0.0022959624 0.0052956342 - 662700 0.0035047787 0.0026848167 0.0043824439 - 662800 0.0039718028 0.0026594289 0.0045832709 - 662900 0.006190969 0.00262631 0.0056250607 - 663000 0.0064937098 0.0029484641 0.0060938548 - 663100 0.0048884593 0.0029218466 0.005289694 - 663200 0.0052110482 0.0024708453 0.0049949468 - 663300 0.0048992134 0.0023383819 0.0047114384 - 663400 0.0039907543 0.0027080232 0.0046410448 - 663500 0.0039238123 0.0027687968 0.0046693934 - 663600 0.0048269203 0.0023904833 0.0047285228 - 663700 0.0043343422 0.0022459179 0.0043453649 - 663800 0.0051654036 0.0017995455 0.0043015378 - 663900 0.0059653237 0.0020627862 0.0049522398 - 664000 0.0057718231 0.0022683372 0.005064064 - 664100 0.0046163062 0.0022393083 0.0044753316 - 664200 0.0032325147 0.0019707946 0.0035365439 - 664300 0.0045698841 0.0022761214 0.004489659 - 664400 0.0052345545 0.0025435159 0.0050790032 - 664500 0.0039974158 0.0024938858 0.0044301341 - 664600 0.0046914913 0.0022486292 0.0045210703 - 664700 0.0039342229 0.0024992378 0.0044048771 - 664800 0.0050004568 0.0028348354 0.0052569317 - 664900 0.0050375832 0.0028845156 0.0053245949 - 665000 0.0050255197 0.0025445442 0.0049787803 - 665100 0.0054461118 0.0024663843 0.0051043447 - 665200 0.0060032804 0.0025972092 0.0055050482 - 665300 0.0051966285 0.0024782834 0.0049954003 - 665400 0.0050295425 0.0023870574 0.004823242 - 665500 0.0065092317 0.0027998044 0.0059527135 - 665600 0.0049951082 0.0033540077 0.0057735133 - 665700 0.0044626353 0.0031241047 0.0052856937 - 665800 0.0056197071 0.002527722 0.0052497677 - 665900 0.0045284169 0.0023701414 0.0045635933 - 666000 0.0045781813 0.0023526428 0.0045701994 - 666100 0.0045018062 0.0024962708 0.0046768332 - 666200 0.0044095361 0.0026102522 0.0047461213 - 666300 0.0056640952 0.00220317 0.0049467161 - 666400 0.0042839775 0.0020539057 0.0041289573 - 666500 0.0050379341 0.0022393053 0.0046795547 - 666600 0.0042928593 0.002469051 0.0045484047 - 666700 0.0058179651 0.0022106921 0.005028769 - 666800 0.0056580281 0.0023105133 0.0050511206 - 666900 0.0040756478 0.0024162372 0.0043903791 - 667000 0.0065846572 0.0027105478 0.0058999912 - 667100 0.0055445292 0.0028426254 0.0055282567 - 667200 0.0061404972 0.0027759535 0.0057502568 - 667300 0.0035910058 0.0024062949 0.0041456883 - 667400 0.0048036523 0.0020610535 0.0043878226 - 667500 0.003457991 0.0019794819 0.0036544462 - 667600 0.0038203384 0.001968766 0.0038192424 - 667700 0.0032395937 0.0019771201 0.0035462982 - 667800 0.0044064509 0.0025733893 0.004707764 - 667900 0.0055470123 0.0023080042 0.0049948383 - 668000 0.0047103893 0.0023611953 0.0046427901 - 668100 0.0046817142 0.002491793 0.0047594984 - 668200 0.0063145839 0.0021554981 0.0052141247 - 668300 0.0056526054 0.0021614282 0.004899409 - 668400 0.0046070692 0.0021935806 0.0044251298 - 668500 0.0050492037 0.0021590651 0.0046047732 - 668600 0.0088383081 0.0018305981 0.0061116536 - 668700 0.0044401579 0.0023136281 0.0044643296 - 668800 0.0044978628 0.0024863303 0.0046649826 - 668900 0.0049398112 0.002252732 0.0046454531 - 669000 0.0060791426 0.0025346379 0.0054792226 - 669100 0.0045527823 0.002356554 0.0045618079 - 669200 0.0047368266 0.0021394846 0.004433885 - 669300 0.0050729684 0.0020526462 0.0045098653 - 669400 0.0047574176 0.0021275938 0.004431968 - 669500 0.0052082424 0.0022788136 0.0048015561 - 669600 0.0055135217 0.0021206537 0.0047912658 - 669700 0.0043991675 0.0017870453 0.003917892 - 669800 0.0057803454 0.001716041 0.0045158958 - 669900 0.0052209085 0.0019883816 0.0045172592 - 670000 0.00487207 0.0024860514 0.0048459603 - 670100 0.0052612955 0.0027424239 0.0052908639 - 670200 0.0047554345 0.0025028587 0.0048062723 - 670300 0.0069987632 0.0022817887 0.0056718146 - 670400 0.0057736247 0.0026996808 0.0054962803 - 670500 0.0054649502 0.0028821895 0.0055292747 - 670600 0.0045800927 0.0030836457 0.0053021281 - 670700 0.0064241944 0.0030539157 0.0061656349 - 670800 0.0042970309 0.0032665449 0.0053479193 - 670900 0.0074591033 0.0032366526 0.0068496558 - 671000 0.0060037934 0.003266237 0.0061743244 - 671100 0.0051022413 0.0032044483 0.0056758465 - 671200 0.0047392309 0.003150356 0.005445921 - 671300 0.0048220238 0.0028274751 0.0051631428 - 671400 0.0049543229 0.0029732546 0.0053730047 - 671500 0.0054379883 0.0032481333 0.0058821589 - 671600 0.0039607189 0.0033397411 0.0052582143 - 671700 0.0051199914 0.0028648786 0.0053448745 - 671800 0.0060965899 0.0028614991 0.0058145348 - 671900 0.0040823295 0.0029249817 0.00490236 - 672000 0.0048224752 0.0028554703 0.0051913567 - 672100 0.0045443499 0.002951749 0.0051529185 - 672200 0.0056765236 0.0023936426 0.0051432087 - 672300 0.0033590441 0.001847507 0.003474544 - 672400 0.0047584909 0.0023142257 0.0046191197 - 672500 0.0057905861 0.0024139131 0.0052187282 - 672600 0.0044930103 0.0022105582 0.0043868601 - 672700 0.0056529034 0.0021606619 0.004898787 - 672800 0.0029842424 0.0024735124 0.0039190048 - 672900 0.0055176969 0.0024383986 0.0051110331 - 673000 0.0058900887 0.002437771 0.0052907827 - 673100 0.0055556903 0.0029462787 0.0056373161 - 673200 0.0044478004 0.0031054349 0.0052598382 - 673300 0.0063511054 0.0032243219 0.0063006385 - 673400 0.0051153695 0.0025921229 0.00506988 - 673500 0.0076496927 0.0019056578 0.0056109777 - 673600 0.0050444928 0.0021748386 0.0046182648 - 673700 0.0042447845 0.0021829548 0.0042390223 - 673800 0.0045986287 0.0025209503 0.0047484111 - 673900 0.0054706216 0.0026675827 0.005317415 - 674000 0.0049650717 0.0025137742 0.0049187308 - 674100 0.0054329525 0.0020138869 0.0046454733 - 674200 0.0048640549 0.0019913979 0.0043474245 - 674300 0.0050858849 0.0019248412 0.0043883167 - 674400 0.0044601137 0.0020593264 0.0042196939 - 674500 0.0050922499 0.0019393671 0.0044059256 - 674600 0.0052855109 0.0022119747 0.0047721441 - 674700 0.0059545537 0.0022713499 0.0051555869 - 674800 0.0055734975 0.0022645956 0.0049642584 - 674900 0.0043798167 0.0022470664 0.0043685401 - 675000 0.0051503739 0.002456838 0.0049515503 - 675100 0.0052250542 0.0027520001 0.0052828857 - 675200 0.0075699276 0.0023520192 0.0060187029 - 675300 0.0035411458 0.0025540116 0.0042692541 - 675400 0.0040744192 0.0024365958 0.0044101426 - 675500 0.0061467774 0.0021582575 0.0051356028 - 675600 0.0044258898 0.0026457176 0.0047895079 - 675700 0.0061952699 0.0025115971 0.005512431 - 675800 0.0052217221 0.0023770971 0.0049063687 - 675900 0.0042423637 0.0025823778 0.0046372727 - 676000 0.0049014411 0.002256747 0.0046308825 - 676100 0.0037324483 0.0025248464 0.0043327511 - 676200 0.004568583 0.0023808197 0.0045937271 - 676300 0.0049923416 0.002333082 0.0047512474 - 676400 0.0048964395 0.002360636 0.0047323489 - 676500 0.0047273964 0.0022093084 0.0044991411 - 676600 0.003985956 0.0020733573 0.0040040547 - 676700 0.0057483484 0.0018608836 0.0046452398 - 676800 0.0057907928 0.0020612579 0.0048661732 - 676900 0.0041273828 0.0021948485 0.0041940496 - 677000 0.0044050488 0.0020142167 0.0041479122 - 677100 0.0054080404 0.0022972057 0.0049167253 - 677200 0.0048803105 0.0024456699 0.0048095703 - 677300 0.00576458 0.0023249019 0.0051171203 - 677400 0.0054136493 0.002586122 0.0052083584 - 677500 0.0050461954 0.0023619758 0.0048062267 - 677600 0.0046359273 0.0018034277 0.004048955 - 677700 0.0041651905 0.0018005079 0.003818022 - 677800 0.0044502978 0.0020047214 0.0041603344 - 677900 0.0057833273 0.0024324326 0.0052337317 - 678000 0.0058113764 0.0026540691 0.0054689545 - 678100 0.0047202253 0.0023342639 0.0046206231 - 678200 0.0035894822 0.0020762461 0.0038149016 - 678300 0.0052947317 0.0021884505 0.0047530861 - 678400 0.0053057264 0.0025350042 0.0051049654 - 678500 0.0033285114 0.0026962737 0.0043085214 - 678600 0.0044892321 0.0020850169 0.0042594887 - 678700 0.0032158902 0.0023200238 0.0038777206 - 678800 0.0041575443 0.0026867478 0.0047005584 - 678900 0.0058519511 0.003124892 0.0059594308 - 679000 0.0048723103 0.002904829 0.0052648543 - 679100 0.0045899694 0.0026390094 0.0048622758 - 679200 0.0048564843 0.0022594594 0.004611819 - 679300 0.0059384571 0.0019245889 0.004801029 - 679400 0.0077187753 0.0021703106 0.0059090923 - 679500 0.0051688044 0.0026888859 0.0051925255 - 679600 0.004070692 0.0028872213 0.0048589627 - 679700 0.0048345879 0.0029798607 0.0053216142 - 679800 0.005860978 0.0028466624 0.0056855736 - 679900 0.0052474297 0.0030261892 0.005567913 - 680000 0.0076275458 0.0025858365 0.006280429 - 680100 0.0055989288 0.0024195857 0.0051315669 - 680200 0.0056377985 0.0021929221 0.0049237307 - 680300 0.00565205 0.0023102093 0.005047921 - 680400 0.0056759079 0.0025225486 0.0052718165 - 680500 0.0051132394 0.0026571143 0.0051338396 - 680600 0.0065130406 0.0025316933 0.0056864473 - 680700 0.0058029179 0.0024899958 0.0053007841 - 680800 0.0049472536 0.0021309981 0.004527324 - 680900 0.0046929495 0.0022271788 0.0045003262 - 681000 0.004361032 0.002533281 0.0046456559 - 681100 0.0038968901 0.0026932862 0.0045808423 - 681200 0.0041876199 0.0025821553 0.0046105337 - 681300 0.0051278282 0.0023649284 0.0048487202 - 681400 0.005898771 0.0022149776 0.0050721948 - 681500 0.0059602298 0.0029478383 0.0058348246 - 681600 0.0067050198 0.0034200323 0.0066677763 - 681700 0.0048052461 0.0037840072 0.0061115483 - 681800 0.0065597367 0.0028143517 0.0059917242 - 681900 0.0046579302 0.0024974117 0.0047535967 - 682000 0.0049615574 0.002466016 0.0048692704 - 682100 0.0048412638 0.0025752921 0.0049202792 - 682200 0.0048487745 0.0024238825 0.0047725076 - 682300 0.0045227888 0.0020818299 0.0042725557 - 682400 0.0053009738 0.0016715858 0.004239245 - 682500 0.0051125039 0.0017264847 0.0042028538 - 682600 0.0043904292 0.0018105733 0.0039371874 - 682700 0.0053926513 0.0019181475 0.004530213 - 682800 0.0048312899 0.0022087878 0.0045489438 - 682900 0.0047987695 0.0027864544 0.0051108584 - 683000 0.0059111909 0.0024126045 0.0052758376 - 683100 0.0057995783 0.0025636252 0.005372796 - 683200 0.0067236482 0.0022166267 0.0054733938 - 683300 0.0050484878 0.0019651876 0.0044105489 - 683400 0.0065888504 0.0019511123 0.0051425867 - 683500 0.0045550119 0.0020965571 0.004302891 - 683600 0.0028744234 0.0022215432 0.0036138421 - 683700 0.0056943205 0.001929467 0.0046876535 - 683800 0.0056803787 0.0020244787 0.0047759122 - 683900 0.00475549 0.0019410179 0.0042444584 - 684000 0.0049528209 0.0020333643 0.0044323869 - 684100 0.0049093654 0.0024540671 0.0048320409 - 684200 0.0051899527 0.0023308208 0.0048447042 - 684300 0.0059806939 0.0022141523 0.0051110509 - 684400 0.0024605996 0.0024779473 0.0036698003 - 684500 0.0054022965 0.0023591908 0.0049759282 - 684600 0.0055633664 0.0028738941 0.0055686497 - 684700 0.006130549 0.0030061541 0.0059756388 - 684800 0.0047513093 0.0025464458 0.0048478613 - 684900 0.0055100128 0.002691452 0.0053603645 - 685000 0.004735371 0.0027147674 0.0050084627 - 685100 0.0058698091 0.0025501516 0.0053933404 - 685200 0.0078923931 0.0032148157 0.0070376936 - 685300 0.0045854891 0.0039288576 0.0061499539 - 685400 0.0052587644 0.0033902472 0.0059374612 - 685500 0.0040129245 0.003204865 0.0051486253 - 685600 0.0052833065 0.002810966 0.0053700676 - 685700 0.0051453278 0.0025628998 0.005055168 - 685800 0.0045324805 0.0026705858 0.004866006 - 685900 0.0077763308 0.0026602773 0.0064269375 - 686000 0.0033311875 0.0025365934 0.0041501374 - 686100 0.0051084726 0.0028058989 0.0052803153 - 686200 0.0059598068 0.0024300372 0.0053168187 - 686300 0.0057803801 0.002433187 0.0052330587 - 686400 0.0043392471 0.0026967121 0.0047985349 - 686500 0.0052508574 0.0026750609 0.005218445 - 686600 0.0056321984 0.0023164449 0.005044541 - 686700 0.0057485401 0.0021157315 0.0049001806 - 686800 0.003423079 0.0025194249 0.0041774788 - 686900 0.0045575634 0.002295016 0.0045025858 - 687000 0.004619164 0.0022850766 0.0045224841 - 687100 0.0046654728 0.0022283087 0.0044881471 - 687200 0.004863556 0.0023487564 0.0047045413 - 687300 0.006172934 0.002240496 0.0052305109 - 687400 0.0049606063 0.0023311927 0.0047339864 - 687500 0.0045253287 0.001962663 0.0041546191 - 687600 0.003957309 0.0017706064 0.003687428 - 687700 0.0047020149 0.0025448263 0.0048223648 - 687800 0.0061684784 0.0026165334 0.0056043901 - 687900 0.0054085211 0.0027118165 0.0053315689 - 688000 0.0063006496 0.0032390254 0.0062909025 - 688100 0.0060432639 0.0029908844 0.0059180903 - 688200 0.0063558115 0.0021358221 0.0052144183 - 688300 0.0056745978 0.0016409605 0.0043895938 - 688400 0.0042063538 0.0014861797 0.0035236323 - 688500 0.0058117274 0.0016127107 0.0044277662 - 688600 0.0051227145 0.0019692893 0.0044506042 - 688700 0.0047235935 0.002250906 0.0045388966 - 688800 0.0049586961 0.0023860639 0.0047879323 - 688900 0.0073283806 0.0024628402 0.0060125245 - 689000 0.0063520585 0.0025219784 0.0055987567 - 689100 0.0063643007 0.0026380952 0.0057208034 - 689200 0.0045782251 0.0022181105 0.0044356882 - 689300 0.0045791388 0.0020769127 0.004294933 - 689400 0.0043718521 0.0021233551 0.004240971 - 689500 0.0054560001 0.0018926329 0.0045353829 - 689600 0.0055724106 0.0019569141 0.0046560505 - 689700 0.0043345714 0.0021556018 0.0042551598 - 689800 0.0038935601 0.0023508292 0.0042367724 - 689900 0.0052007588 0.0023658891 0.0048850067 - 690000 0.0052563947 0.0020806806 0.0046267468 - 690100 0.0048999668 0.0020947318 0.0044681533 - 690200 0.0062732998 0.0018237452 0.0048623748 - 690300 0.0048219074 0.0017034242 0.0040390356 - 690400 0.0047122131 0.0021077306 0.0043902088 - 690500 0.0046980895 0.0026692926 0.0049449297 - 690600 0.0071789315 0.0024391651 0.00591646 - 690700 0.0056947468 0.0027471965 0.0055055894 - 690800 0.0057765625 0.0027483369 0.0055463594 - 690900 0.0057439325 0.0028271717 0.005609389 - 691000 0.0058139247 0.0025706292 0.005386749 - 691100 0.0052781061 0.0030115843 0.0055681669 - 691200 0.0044837473 0.003576585 0.0057484001 - 691300 0.0049365253 0.0035070865 0.005898216 - 691400 0.0062517786 0.0031108732 0.0061390784 - 691500 0.0040722653 0.0032249173 0.0051974208 - 691600 0.0061018542 0.0031453214 0.006100907 - 691700 0.0059338826 0.0026904008 0.0055646252 - 691800 0.0055201967 0.002653074 0.0053269192 - 691900 0.0043633046 0.0023197013 0.0044331769 - 692000 0.0045333564 0.0020832707 0.0042791153 - 692100 0.0063676516 0.0019233611 0.0050076923 - 692200 0.0042678043 0.0021041334 0.0041713511 - 692300 0.0054541041 0.001656117 0.0042979486 - 692400 0.0048317635 0.0024898739 0.0048302594 - 692500 0.006048147 0.0029900424 0.0059196136 - 692600 0.005374931 0.0031780219 0.0057815041 - 692700 0.0049558733 0.0028020917 0.0052025928 - 692800 0.0058100517 0.0028638218 0.0056780656 - 692900 0.0054230936 0.0026270138 0.0052538247 - 693000 0.0055547687 0.002490169 0.0051807601 - 693100 0.0074226986 0.0025287077 0.0061240774 - 693200 0.0046690469 0.0027059757 0.0049675453 - 693300 0.0051606818 0.0022748099 0.0047745152 - 693400 0.0054636867 0.0020126602 0.0046591335 - 693500 0.0055681757 0.0022273983 0.0049244834 - 693600 0.0041752017 0.0024957423 0.0045181056 - 693700 0.0042382072 0.0025918975 0.0046447792 - 693800 0.0044741799 0.0028116242 0.004978805 - 693900 0.0058244331 0.0026048594 0.0054260691 - 694000 0.0041558302 0.0023163249 0.0043293051 - 694100 0.0050020092 0.0022471803 0.0046700285 - 694200 0.0058270531 0.0024211746 0.0052436534 - 694300 0.004738693 0.002571209 0.0048665134 - 694400 0.0061088216 0.0023734428 0.0053324033 - 694500 0.005458943 0.0020365569 0.0046807324 - 694600 0.0063820424 0.0021100497 0.0052013515 - 694700 0.0055482577 0.0024067036 0.005094141 - 694800 0.0062675316 0.0023689426 0.0054047782 - 694900 0.0096804294 0.0019935477 0.0066825057 - 695000 0.0048710209 0.0024501114 0.0048095122 - 695100 0.0038570269 0.0026339212 0.0045021686 - 695200 0.0057671424 0.0024888803 0.0052823399 - 695300 0.0066145345 0.0027993367 0.0060032519 - 695400 0.0052143337 0.0028904789 0.0054161717 - 695500 0.0070589196 0.0024182345 0.0058373986 - 695600 0.0057425513 0.0021734505 0.0049549988 - 695700 0.0056989086 0.0021237303 0.0048841392 - 695800 0.0061171483 0.0025549098 0.0055179035 - 695900 0.0052580699 0.0028852457 0.0054321233 - 696000 0.0050614627 0.0030283082 0.0054799542 - 696100 0.0047960868 0.0026645625 0.0049876671 - 696200 0.0061891809 0.0024145045 0.005412389 - 696300 0.0058555315 0.0022909599 0.0051272329 - 696400 0.0062036252 0.0020355491 0.00504043 - 696500 0.0053945537 0.0018318959 0.0044448829 - 696600 0.0065690238 0.0020428696 0.0052247405 - 696700 0.0043967929 0.0026228024 0.004752499 - 696800 0.004853418 0.0020895256 0.0044404 - 696900 0.0055846588 0.0015044996 0.0042095687 - 697000 0.0058338276 0.0021565543 0.0049823146 - 697100 0.0050625761 0.0022433303 0.0046955156 - 697200 0.0069969662 0.0019204202 0.0053095757 - 697300 0.0063957018 0.0021658064 0.0052637245 - 697400 0.0045989005 0.0027498639 0.0049774563 - 697500 0.0060780181 0.0029234193 0.0058674593 - 697600 0.0050057552 0.00293233 0.0053569926 - 697700 0.004193981 0.0024610964 0.004492556 - 697800 0.0042423477 0.0027867136 0.0048416008 - 697900 0.0045899491 0.0028606019 0.0050838585 - 698000 0.004401685 0.0025704307 0.0047024969 - 698100 0.0042580508 0.00215044 0.0042129333 - 698200 0.0044041405 0.0023475741 0.0044808296 - 698300 0.0049493948 0.0019581358 0.0043554989 - 698400 0.0037983504 0.0021331644 0.0039729904 - 698500 0.005515871 0.0025001123 0.0051718623 - 698600 0.0065573906 0.0027314198 0.0059076558 - 698700 0.0049387288 0.0023230356 0.0047152324 - 698800 0.0050345082 0.0022071756 0.0046457655 - 698900 0.0047717199 0.0023317987 0.0046431005 - 699000 0.0048294157 0.0024121938 0.004751442 - 699100 0.0045909584 0.0025376875 0.004761433 - 699200 0.0043954709 0.0023829204 0.0045119766 - 699300 0.0048221455 0.0024294355 0.0047651622 - 699400 0.0048300187 0.002467943 0.0048074833 - 699500 0.0043811204 0.0027106607 0.0048327659 - 699600 0.0052703921 0.0024916009 0.005044447 - 699700 0.0057587106 0.0023043241 0.0050936995 - 699800 0.0044870729 0.0023423374 0.0045157634 - 699900 0.0047304532 0.0020414022 0.0043327155 - 700000 0.0041787728 0.0021283157 0.0041524087 - 700100 0.0036062352 0.0025431083 0.0042898785 - 700200 0.0051262547 0.0025122709 0.0049953005 - 700300 0.0054914527 0.002226945 0.0048868674 - 700400 0.0041895469 0.0019509109 0.0039802227 - 700500 0.0060707193 0.0018257735 0.0047662781 - 700600 0.0043026401 0.0020288969 0.0041129882 - 700700 0.0041768192 0.0016857469 0.0037088937 - 700800 0.0063879782 0.0022266324 0.0053208094 - 700900 0.0044052334 0.0025686507 0.0047024356 - 701000 0.0054788822 0.0020676298 0.0047214634 - 701100 0.004801091 0.00199119 0.0043167185 - 701200 0.0062348055 0.0017184038 0.0047383877 - 701300 0.0065042721 0.0018401704 0.0049906772 - 701400 0.0044736986 0.0028332273 0.0050001751 - 701500 0.0055927476 0.002506155 0.0052151421 - 701600 0.0059604078 0.0017129648 0.0046000374 - 701700 0.0056015271 0.0019616901 0.0046749298 - 701800 0.0050607986 0.0022307498 0.0046820741 - 701900 0.0046002042 0.0019739656 0.0042021895 - 702000 0.0038108384 0.0025604899 0.0044063648 - 702100 0.0049169166 0.0026641501 0.0050457815 - 702200 0.0085618524 0.0021639486 0.0063110959 - 702300 0.0049097207 0.0022283997 0.0046065457 - 702400 0.0067935192 0.0024463853 0.0057369961 - 702500 0.0053811683 0.0019627941 0.0045692975 - 702600 0.0046809674 0.001991516 0.0042588595 - 702700 0.0054086504 0.0022730097 0.0048928247 - 702800 0.0056085158 0.0025759436 0.0052925685 - 702900 0.0055426653 0.0026017016 0.0052864301 - 703000 0.00471894 0.002794403 0.0050801396 - 703100 0.0045774664 0.002415893 0.0046331033 - 703200 0.00522573 0.0021451707 0.0046763837 - 703300 0.0057025498 0.0022242361 0.0049864086 - 703400 0.0064690111 0.0023730992 0.0055065264 - 703500 0.0041530995 0.0027858813 0.0047975388 - 703600 0.0055286027 0.0026429566 0.0053208736 - 703700 0.0056172277 0.0026507208 0.0053715654 - 703800 0.0047195323 0.0027030308 0.0049890543 - 703900 0.0055108569 0.0027462047 0.0054155261 - 704000 0.0046224079 0.0027388825 0.0049778613 - 704100 0.0053297097 0.00195107 0.0045326481 - 704200 0.0051174881 0.0020559212 0.0045347045 - 704300 0.0045424814 0.0025013062 0.0047015706 - 704400 0.0046666796 0.0025500648 0.0048104877 - 704500 0.0056375077 0.0029254977 0.0056561654 - 704600 0.0057353016 0.0032640429 0.0060420796 - 704700 0.0054522922 0.0032827885 0.0059237426 - 704800 0.0070030835 0.0029405143 0.0063326329 - 704900 0.0063082631 0.0023411845 0.0053967494 - 705000 0.0054770895 0.0024367068 0.005089672 - 705100 0.0045910072 0.002352379 0.0045761481 - 705200 0.005661665 0.0023450564 0.0050874254 - 705300 0.004060935 0.0025280924 0.0044951078 - 705400 0.0037944195 0.0025931871 0.004431109 - 705500 0.0044786852 0.0025880873 0.0047574504 - 705600 0.006410589 0.0023408854 0.0054460145 - 705700 0.0061954683 0.001956196 0.004957126 - 705800 0.0054776268 0.0024576837 0.0051109092 - 705900 0.0045295236 0.0026511833 0.0048451714 - 706000 0.006460047 0.0023223801 0.0054514654 - 706100 0.0042067492 0.0022495603 0.0042872044 - 706200 0.0051741735 0.0022777741 0.0047840144 - 706300 0.0052556869 0.0024797707 0.0050254941 - 706400 0.0042497782 0.002251837 0.0043103234 - 706500 0.0051002473 0.0021288003 0.0045992326 - 706600 0.0037299088 0.0021225139 0.0039291885 - 706700 0.0053655139 0.0022394159 0.0048383367 - 706800 0.0034480242 0.0022469429 0.0039170797 - 706900 0.0066706638 0.0022409199 0.0054720227 - 707000 0.0056595753 0.0020052435 0.0047466003 - 707100 0.0039446335 0.002327033 0.0042377149 - 707200 0.0043109189 0.0025031611 0.0045912624 - 707300 0.0046741891 0.002655885 0.0049199453 - 707400 0.0054345414 0.00280855 0.005440906 - 707500 0.0053535833 0.002488227 0.0050813689 - 707600 0.0051239294 0.0023952979 0.0048772012 - 707700 0.0051169251 0.0027353397 0.0052138503 - 707800 0.0046251019 0.0030465967 0.0052868804 - 707900 0.0063908658 0.0027051759 0.0058007515 - 708000 0.0054480412 0.0025166826 0.0051555776 - 708100 0.0042853989 0.002730763 0.004806503 - 708200 0.0059379999 0.0027442805 0.0056204992 - 708300 0.00540226 0.0025189229 0.0051356426 - 708400 0.0058787883 0.0024221046 0.0052696427 - 708500 0.004507402 0.0024928195 0.0046760924 - 708600 0.0049856809 0.0023358504 0.0047507896 - 708700 0.0055204688 0.0026213505 0.0052953276 - 708800 0.0050879996 0.0028986757 0.0053631755 - 708900 0.005434699 0.0026172187 0.005249651 - 709000 0.0052427384 0.0026232354 0.0051626868 - 709100 0.0048797346 0.0025167894 0.0048804109 - 709200 0.0040083715 0.0022219025 0.0041634574 - 709300 0.0035651663 0.0017662253 0.0034931027 - 709400 0.0036406016 0.0017804123 0.0035438287 - 709500 0.0035924717 0.0018424879 0.0035825913 - 709600 0.0047120851 0.0020122145 0.0042946307 - 709700 0.00512661 0.0020424767 0.0045256784 - 709800 0.0047428596 0.0017808349 0.0040781575 - 709900 0.00375979 0.0017657161 0.0035868644 - 710000 0.006641813 0.0017993057 0.0050164338 - 710100 0.0060820427 0.0024764488 0.0054224383 - 710200 0.0043855466 0.0028485729 0.004972822 - 710300 0.0064794195 0.0026963601 0.005834829 - 710400 0.0053344625 0.0022294512 0.0048133314 - 710500 0.0055311904 0.0022657644 0.0049449347 - 710600 0.0068281191 0.0024796327 0.0057870029 - 710700 0.0038703626 0.0025687053 0.0044434122 - 710800 0.0061813258 0.0022215143 0.005215594 - 710900 0.00453134 0.00251339 0.0047082578 - 711000 0.0045235043 0.00202264 0.0042137124 - 711100 0.0063642965 0.0017762558 0.0048589619 - 711200 0.0044582341 0.0018577366 0.0040171938 - 711300 0.0051839424 0.0024149878 0.0049259598 - 711400 0.0064769999 0.0025255185 0.0056628154 - 711500 0.0075827087 0.0021529086 0.0058257832 - 711600 0.0050624708 0.0021041466 0.0045562809 - 711700 0.00580146 0.0024517783 0.0052618605 - 711800 0.0068480653 0.002462522 0.0057795536 - 711900 0.0054221114 0.0025731586 0.0051994938 - 712000 0.006717789 0.0026344255 0.0058883546 - 712100 0.0051453455 0.002686562 0.0051788387 - 712200 0.0054526541 0.0026373189 0.0052784483 - 712300 0.0043582019 0.0023859562 0.0044969602 - 712400 0.0043750678 0.0018745419 0.0039937154 - 712500 0.0046554989 0.0018892455 0.0041442528 - 712600 0.0050356755 0.0020698643 0.0045090196 - 712700 0.0047184824 0.0024959341 0.004781449 - 712800 0.0050791685 0.002759856 0.0052200783 - 712900 0.0074202693 0.0031212529 0.0067154459 - 713000 0.0062772241 0.0034683118 0.0065088422 - 713100 0.0056318167 0.0039743641 0.0067022753 - 713200 0.0051846605 0.0033834126 0.0058947325 - 713300 0.0058652172 0.0028223214 0.005663286 - 713400 0.004675212 0.0024177259 0.0046822817 - 713500 0.0061257909 0.0022293893 0.0051965692 - 713600 0.004664284 0.0021263336 0.0043855961 - 713700 0.0056371949 0.0027043603 0.0054348766 - 713800 0.0049996223 0.0033824589 0.005804151 - 713900 0.0070068641 0.0024378561 0.0058318058 - 714000 0.0062026798 0.002099055 0.005103478 - 714100 0.0035215667 0.0023217679 0.0040275268 - 714200 0.0054993005 0.0027180656 0.0053817893 - 714300 0.005857727 0.0030096041 0.0058469407 - 714400 0.0055024108 0.0026080412 0.0052732714 - 714500 0.0057747828 0.0026751069 0.0054722673 - 714600 0.0049955232 0.0025379785 0.0049576851 - 714700 0.0032006078 0.0028130535 0.0043633479 - 714800 0.0055393563 0.0027983131 0.0054814388 - 714900 0.0049694286 0.0026166982 0.0050237652 - 715000 0.0059805941 0.0024806119 0.0053774621 - 715100 0.0065716092 0.0024302014 0.0056133246 - 715200 0.0089228858 0.0028459847 0.0071680075 - 715300 0.0052927921 0.0031428369 0.0057065331 - 715400 0.0057132413 0.0031519668 0.0059193181 - 715500 0.0040462124 0.0032436261 0.0052035102 - 715600 0.0059612609 0.0030884882 0.0059759739 - 715700 0.0063344395 0.0027913305 0.0058595747 - 715800 0.0046259357 0.0023895745 0.0046302621 - 715900 0.005379215 0.0021756668 0.0047812241 - 716000 0.0057383734 0.0023385969 0.0051181215 - 716100 0.0055421502 0.0026878091 0.0053722881 - 716200 0.0056300734 0.0024158274 0.0051428942 - 716300 0.0050441384 0.0019328656 0.0043761201 - 716400 0.0059025446 0.0017314084 0.0045904535 - 716500 0.0057807667 0.0022435514 0.0050436103 - 716600 0.004393764 0.0029567948 0.0050850243 - 716700 0.004702431 0.0034130027 0.0056907427 - 716800 0.0045778145 0.0033550789 0.0055724578 - 716900 0.0059064196 0.00301146 0.005872382 - 717000 0.0046480886 0.0030216706 0.0052730885 - 717100 0.0069054657 0.0031217447 0.0064665796 - 717200 0.005477618 0.0031696663 0.0058228875 - 717300 0.0051154363 0.003292638 0.0057704275 - 717400 0.0077441087 0.0027250486 0.0064761013 - 717500 0.0052524103 0.00256508 0.0051092162 - 717600 0.0048748806 0.0025907291 0.0049519994 - 717700 0.0047600452 0.0025672634 0.0048729104 - 717800 0.0054090412 0.00230352 0.0049235243 - 717900 0.0046619741 0.0020731011 0.0043312448 - 718000 0.0053294537 0.0018008467 0.0043823008 - 718100 0.0046162088 0.0018206496 0.0040566258 - 718200 0.0050000238 0.0016794416 0.0041013281 - 718300 0.0051873158 0.0021215089 0.004634115 - 718400 0.0051626891 0.0024075919 0.0049082695 - 718500 0.0036214193 0.002433216 0.0041873409 - 718600 0.0051045272 0.0023379762 0.0048104816 - 718700 0.0062954773 0.0023335726 0.0053829444 - 718800 0.0050353454 0.0022728486 0.004711844 - 718900 0.004746775 0.0025205597 0.0048197789 - 719000 0.0038732396 0.0022713257 0.0041474262 - 719100 0.0047661558 0.0023954525 0.0047040592 - 719200 0.005178044 0.0026623781 0.0051704932 - 719300 0.0046655945 0.0030847939 0.0053446912 - 719400 0.0069183978 0.0029502808 0.0063013797 - 719500 0.0055334561 0.0029425732 0.005622841 - 719600 0.0049183826 0.0029125595 0.0052949011 - 719700 0.0059499532 0.0032769089 0.0061589175 - 719800 0.006188803 0.0030911611 0.0060888626 - 719900 0.005991225 0.0028312971 0.0057332967 - 720000 0.0044274497 0.0029269585 0.0050715044 - 720100 0.0055029076 0.0026692124 0.0053346833 - 720200 0.0063939702 0.0022701919 0.0053672713 - 720300 0.0056366996 0.0024956361 0.0052259125 - 720400 0.0048413749 0.0027543861 0.005099427 - 720500 0.0049474431 0.0026370285 0.0050334462 - 720600 0.0040908057 0.002450589 0.004432073 - 720700 0.0044459328 0.0024159328 0.0045694315 - 720800 0.0045523702 0.0027966544 0.0050017087 - 720900 0.005643145 0.0031534819 0.0058868803 - 721000 0.0059065884 0.0031807245 0.0060417283 - 721100 0.0051923351 0.0027039451 0.0052189824 - 721200 0.0064785591 0.0028758243 0.0060138763 - 721300 0.00615862 0.0028269129 0.0058099945 - 721400 0.0068610949 0.0022807146 0.0056040575 - 721500 0.0081061997 0.0024625907 0.0063890312 - 721600 0.0040233968 0.0025551384 0.0045039712 - 721700 0.0052388964 0.0028190221 0.0053566126 - 721800 0.0061999915 0.0023274298 0.0053305507 - 721900 0.0054358053 0.0024741949 0.0051071631 - 722000 0.003838774 0.0026506795 0.0045100857 - 722100 0.0049583625 0.0023802069 0.0047819137 - 722200 0.0056906814 0.002351271 0.0051076948 - 722300 0.0049567868 0.0025054283 0.0049063719 - 722400 0.0059891071 0.0029824551 0.0058834289 - 722500 0.0068570938 0.003371585 0.0066929898 - 722600 0.0056510958 0.0029229383 0.0056601878 - 722700 0.0040444824 0.0026627006 0.0046217467 - 722800 0.004727718 0.0022822784 0.0045722668 - 722900 0.0048145231 0.001986105 0.0043181396 - 723000 0.0054619861 0.0019466744 0.004592324 - 723100 0.0040061672 0.0025296308 0.0044701181 - 723200 0.0048038597 0.0025590709 0.0048859404 - 723300 0.0074883816 0.0021660182 0.0057932031 - 723400 0.0049083665 0.0021579121 0.0045354021 - 723500 0.0062112268 0.0021783702 0.0051869332 - 723600 0.0061727035 0.0025749245 0.0055648277 - 723700 0.0063961978 0.0027922863 0.0058904446 - 723800 0.0044859702 0.0026529682 0.00482586 - 723900 0.0055046322 0.0021750135 0.0048413197 - 724000 0.0050565022 0.0018012154 0.0042504586 - 724100 0.0049084558 0.0022080456 0.0045855789 - 724200 0.0046985032 0.0026523124 0.0049281499 - 724300 0.0068714735 0.0022923772 0.0056207471 - 724400 0.0057126867 0.0027152326 0.0054823152 - 724500 0.0050816253 0.0029965363 0.0054579485 - 724600 0.0055755977 0.0032361909 0.005936871 - 724700 0.0050996932 0.0026581843 0.0051283482 - 724800 0.0047294723 0.0022998906 0.0045907288 - 724900 0.0054790539 0.002350356 0.0050042727 - 725000 0.004895326 0.0022109548 0.0045821284 - 725100 0.003846575 0.0019044002 0.003767585 - 725200 0.0052504129 0.0020034579 0.0045466267 - 725300 0.0037154404 0.0018571547 0.0036568211 - 725400 0.0050111834 0.0017600516 0.0041873436 - 725500 0.0054783632 0.0020577438 0.004711326 - 725600 0.0049330416 0.0024695381 0.0048589801 - 725700 0.0055647825 0.0025517997 0.0052472412 - 725800 0.0057036083 0.0017989134 0.0045615987 - 725900 0.0037192811 0.0024376915 0.0042392183 - 726000 0.0051508533 0.0023964737 0.0048914182 - 726100 0.0061501248 0.0021742851 0.0051532518 - 726200 0.0063181753 0.0019830661 0.0050434322 - 726300 0.0046982274 0.0026372459 0.0049129498 - 726400 0.0038511484 0.0029006239 0.0047660239 - 726500 0.0043958673 0.002509471 0.0046387193 - 726600 0.0042715344 0.0024953303 0.0045643548 - 726700 0.0048458546 0.0023768848 0.0047240956 - 726800 0.0063770561 0.0024485501 0.0055374367 - 726900 0.0047400097 0.0029890736 0.0052850158 - 727000 0.0070673478 0.0028327918 0.0062560384 - 727100 0.0070820335 0.0029651394 0.0063954994 - 727200 0.0039479674 0.0026858343 0.0045981309 - 727300 0.0054003542 0.0019873831 0.0046031797 - 727400 0.0049316484 0.0021305775 0.0045193447 - 727500 0.0061709029 0.0021613939 0.0051504249 - 727600 0.0055272865 0.0025956251 0.0052729045 - 727700 0.0038785519 0.0029926998 0.0048713733 - 727800 0.0053280881 0.0029926047 0.0055733974 - 727900 0.0054815309 0.0027662502 0.0054213667 - 728000 0.005753936 0.002666976 0.0054540388 - 728100 0.0053589103 0.0025921523 0.0051878745 - 728200 0.0056192421 0.0023553162 0.0050771366 - 728300 0.0052589139 0.0020550223 0.0046023087 - 728400 0.005409234 0.0018375977 0.0044576954 - 728500 0.0054857729 0.0020158551 0.0046730263 - 728600 0.0051191676 0.0024437289 0.0049233257 - 728700 0.0053719274 0.0026498071 0.0052518344 - 728800 0.0046494949 0.0027278381 0.0049799372 - 728900 0.0048771526 0.0029355335 0.0052979043 - 729000 0.00544485 0.0030578125 0.0056951617 - 729100 0.0053852974 0.00309945 0.0057079535 - 729200 0.0048740017 0.0025077498 0.0048685944 - 729300 0.0066120823 0.0022496715 0.0054523989 - 729400 0.0060449538 0.0023088178 0.0052368423 - 729500 0.0049026886 0.002701094 0.0050758338 - 729600 0.0044761231 0.0027181035 0.0048862256 - 729700 0.004676877 0.0028727864 0.0051381487 - 729800 0.0036183095 0.0035781064 0.0053307251 - 729900 0.0045331122 0.0031313448 0.0053270711 - 730000 0.005476015 0.0029534265 0.0056058712 - 730100 0.0043627708 0.0030523971 0.0051656142 - 730200 0.0032777449 0.0028982212 0.0044858789 - 730300 0.007563967 0.0022146651 0.0058784616 - 730400 0.0067371872 0.0023302466 0.0055935717 - 730500 0.0045065954 0.0022213373 0.0044042194 - 730600 0.0052704309 0.0019390478 0.0044919128 - 730700 0.0059137964 0.0022802388 0.0051447339 - 730800 0.0050608309 0.0026025608 0.0050539007 - 730900 0.0062398714 0.0027097877 0.0057322254 - 731000 0.0047617397 0.0030275973 0.0053340649 - 731100 0.0046792512 0.0034529954 0.0057195077 - 731200 0.00509595 0.0035170925 0.0059854433 - 731300 0.0050659312 0.0034050824 0.0058588928 - 731400 0.005371438 0.0031989564 0.0058007467 - 731500 0.005112203 0.0036221626 0.0060983859 - 731600 0.0032918372 0.0036360984 0.005230582 - 731700 0.0037735471 0.0035277316 0.0053555434 - 731800 0.0066359347 0.0028484347 0.0060627156 - 731900 0.0049579401 0.0022694499 0.0046709522 - 732000 0.0063631568 0.0021209446 0.0052030987 - 732100 0.0042288681 0.0023739762 0.0044223341 - 732200 0.005429492 0.0024005795 0.0050304897 - 732300 0.0040277822 0.0022119968 0.0041629538 - 732400 0.0058670828 0.0022432964 0.0050851646 - 732500 0.003673472 0.0021578765 0.0039372145 - 732600 0.0042044913 0.00193757 0.0039741205 - 732700 0.0047431313 0.0024785032 0.0047759575 - 732800 0.0044952429 0.0028991998 0.0050765831 - 732900 0.0048338689 0.003438596 0.0057800012 - 733000 0.006339951 0.002922159 0.0059930728 - 733100 0.0051831495 0.0026119494 0.0051225374 - 733200 0.0052697338 0.0027533717 0.005305899 - 733300 0.0042280104 0.002757402 0.0048053445 - 733400 0.0049814098 0.0032544518 0.0056673222 - 733500 0.0044752987 0.0024661513 0.0046338741 - 733600 0.0052063619 0.00224759 0.0047694215 - 733700 0.0050382146 0.0018829762 0.0043233614 - 733800 0.0066544331 0.0024645099 0.005687751 - 733900 0.006680338 0.0030030583 0.006238847 - 734000 0.0042505333 0.0035291224 0.0055879744 - 734100 0.0063307112 0.0031534516 0.0062198898 - 734200 0.004658071 0.0027625536 0.0050188067 - 734300 0.0047759022 0.0027887309 0.0051020585 - 734400 0.0048203603 0.002524387 0.0048592491 - 734500 0.0055671495 0.0025837948 0.0052803828 - 734600 0.0061529575 0.0022458698 0.0052262086 - 734700 0.0058559872 0.0020677774 0.0049042712 - 734800 0.0057407184 0.0022955265 0.005076187 - 734900 0.00590117 0.0021992038 0.005057583 - 735000 0.0063566285 0.0022259034 0.0053048953 - 735100 0.0057565592 0.0022854259 0.0050737593 - 735200 0.0055835748 0.0022336839 0.004938228 - 735300 0.0049543367 0.0023675736 0.0047673304 - 735400 0.0036807121 0.0024222398 0.0042050847 - 735500 0.0054778125 0.0024658539 0.0051191693 - 735600 0.0030518812 0.0028967815 0.0043750364 - 735700 0.007310571 0.0025167039 0.0060577617 - 735800 0.0055438135 0.0024278822 0.0051131668 - 735900 0.006869377 0.0022290848 0.0055564393 - 736000 0.0048027921 0.0025056309 0.0048319833 - 736100 0.0045425242 0.0024042116 0.0046044967 - 736200 0.0042525718 0.0026010843 0.0046609238 - 736300 0.006492408 0.0021993545 0.0053441146 - 736400 0.004651565 0.0021165602 0.004369662 - 736500 0.0043953403 0.0018186068 0.0039475998 - 736600 0.0050792169 0.0016558183 0.004116064 - 736700 0.004369873 0.0019698061 0.0040864634 - 736800 0.0040026795 0.0024088807 0.0043476785 - 736900 0.0040976156 0.0027644994 0.004749282 - 737000 0.004106859 0.0028900938 0.0048793536 - 737100 0.0063158418 0.0024556265 0.0055148624 - 737200 0.005431213 0.0024243357 0.0050550795 - 737300 0.005924806 0.0025342033 0.0054040312 - 737400 0.0056796882 0.0024188332 0.0051699322 - 737500 0.004441957 0.0022944116 0.0044459845 - 737600 0.0046113627 0.0025849434 0.0048185723 - 737700 0.006737235 0.0023813028 0.0056446511 - 737800 0.0046750137 0.0024699824 0.0047344421 - 737900 0.0039763111 0.0025747852 0.0045008109 - 738000 0.0037607063 0.0023300044 0.0041515965 - 738100 0.0039031745 0.0019904941 0.0038810942 - 738200 0.0043225888 0.001900879 0.003994633 - 738300 0.0046372094 0.0023146899 0.0045608382 - 738400 0.0047023575 0.0022026998 0.0044804042 - 738500 0.0052622949 0.0021012261 0.0046501502 - 738600 0.0047068299 0.0024054083 0.0046852791 - 738700 0.0055278223 0.002171961 0.0048495 - 738800 0.0046122254 0.002473151 0.0047071977 - 738900 0.0045559611 0.002332265 0.0045390586 - 739000 0.0039625867 0.0024779491 0.0043973271 - 739100 0.0044235959 0.0025991656 0.0047418449 - 739200 0.0041743994 0.003076561 0.0050985357 - 739300 0.0051131572 0.002866324 0.0053430095 - 739400 0.004852732 0.0023808085 0.0047313506 - 739500 0.0059609727 0.0026254409 0.005512787 - 739600 0.0051284258 0.0026784955 0.0051625767 - 739700 0.0059700262 0.003273439 0.0061651704 - 739800 0.0049349826 0.0034952679 0.0058856501 - 739900 0.0063161443 0.003178255 0.0062376374 - 740000 0.0050214979 0.003500517 0.005932805 - 740100 0.0044791321 0.0037168261 0.0058864058 - 740200 0.0051620237 0.0034217746 0.0059221299 - 740300 0.0052648278 0.0033173481 0.005867499 - 740400 0.0051052842 0.0030848359 0.005557708 - 740500 0.005663582 0.002711443 0.0054547406 - 740600 0.0063090029 0.0024317647 0.005487688 - 740700 0.0060103622 0.0023786942 0.0052899634 - 740800 0.0051195162 0.0025854687 0.0050652344 - 740900 0.0060392541 0.0021965562 0.0051218199 - 741000 0.0054283708 0.0023331421 0.0049625092 - 741100 0.004959905 0.0025730253 0.0049754793 - 741200 0.0045670398 0.0026805109 0.0048926708 - 741300 0.0039605947 0.0026560074 0.0045744205 - 741400 0.0060403575 0.0026328527 0.0055586508 - 741500 0.0039740358 0.0027231264 0.00464805 - 741600 0.0060432851 0.0027643436 0.0056915598 - 741700 0.006483741 0.0028111811 0.0059517431 - 741800 0.0076532232 0.0028429088 0.0065499388 - 741900 0.0051189486 0.0032586507 0.0057381414 - 742000 0.0046819489 0.0035386888 0.0058065078 - 742100 0.0051041558 0.0036295736 0.0061018991 - 742200 0.005788989 0.0028306425 0.0056346841 - 742300 0.0057061059 0.0024026868 0.0051665819 - 742400 0.0052611338 0.0021069177 0.0046552794 - 742500 0.0039797073 0.0024740437 0.0044017145 - 742600 0.0039453249 0.002707852 0.0046188688 - 742700 0.0066975677 0.0025890346 0.005833169 - 742800 0.0047498702 0.0020913817 0.0043921001 - 742900 0.0053681222 0.0018372542 0.0044374384 - 743000 0.0034797339 0.0018860329 0.003571529 - 743100 0.0055241222 0.0023034785 0.0049792252 - 743200 0.0057624014 0.0028859194 0.0056770826 - 743300 0.003636597 0.0027915731 0.0045530498 - 743400 0.0052645043 0.0022671512 0.0048171454 - 743500 0.006251133 0.0022775673 0.0053054598 - 743600 0.0056627135 0.0025409092 0.0052837861 - 743700 0.0040757197 0.0023474295 0.0043216062 - 743800 0.0045966008 0.0029579302 0.0051844087 - 743900 0.0051542333 0.0025058832 0.0050024649 - 744000 0.0061734254 0.0025085221 0.005498775 - 744100 0.0044154528 0.0031359684 0.0052747034 - 744200 0.0062188552 0.0023755464 0.0053878044 - 744300 0.0069102997 0.0020440984 0.0053912748 - 744400 0.004558688 0.0023369767 0.0045450912 - 744500 0.004487921 0.0022783019 0.0044521387 - 744600 0.0055070974 0.0024048963 0.0050723967 - 744700 0.0059737448 0.0022449237 0.0051384563 - 744800 0.006120748 0.0027785327 0.00574327 - 744900 0.0050077844 0.0025295672 0.0049552128 - 745000 0.0074628841 0.0024675969 0.0060824314 - 745100 0.0054194922 0.0024743236 0.0050993902 - 745200 0.005389157 0.0017995255 0.0044098984 - 745300 0.0048279349 0.0020036814 0.0043422124 - 745400 0.0041397304 0.0022696933 0.0042748752 - 745500 0.0046419307 0.0020256092 0.0042740444 - 745600 0.0044425491 0.0020537265 0.0042055863 - 745700 0.0047651403 0.0020931056 0.0044012204 - 745800 0.0054236402 0.0020263822 0.0046534579 - 745900 0.0047853379 0.0019938002 0.0043116982 - 746000 0.0060623507 0.0020429619 0.004979413 - 746100 0.0047014606 0.0025135848 0.0047908548 - 746200 0.004965934 0.0024344046 0.0048397788 - 746300 0.0055932152 0.002343357 0.0050525706 - 746400 0.0049266452 0.0021113809 0.0044977246 - 746500 0.0047652677 0.0019402465 0.0042484231 - 746600 0.0038562713 0.0018309787 0.0036988601 - 746700 0.0048342466 0.0019831078 0.004324696 - 746800 0.0056932941 0.0019735554 0.0047312447 - 746900 0.0041886205 0.0023945189 0.004423382 - 747000 0.0044613347 0.0027148872 0.0048758462 - 747100 0.0057865536 0.0023054795 0.0051083414 - 747200 0.0063054382 0.0024579913 0.0055121879 - 747300 0.0034634401 0.0023988042 0.004076408 - 747400 0.0064502427 0.0021514503 0.0052757866 - 747500 0.0048032995 0.0026462871 0.0049728853 - 747600 0.0041190058 0.0025815516 0.0045766951 - 747700 0.0057858322 0.0024797184 0.0052822309 - 747800 0.0045919208 0.0024305716 0.0046547832 - 747900 0.0058002231 0.0028026068 0.0056120899 - 748000 0.005291906 0.0031069468 0.0056702138 - 748100 0.0065461449 0.0030200336 0.0061908225 - 748200 0.0063951989 0.0032524008 0.0063500752 - 748300 0.0066038243 0.0029102526 0.00610898 - 748400 0.0042697851 0.0022912265 0.0043594037 - 748500 0.0056437412 0.0021802531 0.0049139402 - 748600 0.0049512502 0.0024454459 0.0048437077 - 748700 0.0045302969 0.0027310978 0.0049254604 - 748800 0.0047146439 0.0024759289 0.0047595846 - 748900 0.0060893946 0.0024500201 0.0053995706 - 749000 0.0060740652 0.0027602487 0.0057023741 - 749100 0.0051665738 0.0026116324 0.0051141916 - 749200 0.0053525043 0.0025882461 0.0051808654 - 749300 0.005388829 0.0025634208 0.0051736348 - 749400 0.0039177951 0.0024934771 0.0043911591 - 749500 0.0059754451 0.0022399138 0.00513427 - 749600 0.0028647676 0.0024167983 0.0038044201 - 749700 0.0048010271 0.0020752415 0.004400739 - 749800 0.0040762963 0.0022194436 0.0041938997 - 749900 0.0036431979 0.0025568843 0.0043215583 - 750000 0.0051223711 0.0022636794 0.0047448279 - 750100 0.0055678037 0.0021985637 0.0048954686 - 750200 0.0065057278 0.0022547973 0.0054060092 - 750300 0.0054631994 0.0023072157 0.0049534529 - 750400 0.0048736048 0.002499519 0.0048601713 - 750500 0.0045445828 0.0021143772 0.0043156595 - 750600 0.0049993729 0.001952963 0.0043745342 - 750700 0.005681936 0.0019977134 0.0047499012 - 750800 0.0049616794 0.0023975306 0.004800844 - 750900 0.0044389315 0.0024066039 0.0045567113 - 751000 0.0060116574 0.0028109387 0.0057228352 - 751100 0.005210912 0.0028238686 0.0053479041 - 751200 0.0037262721 0.0027795016 0.0045844146 - 751300 0.005451559 0.0029350603 0.0055756592 - 751400 0.0052447297 0.0026386973 0.0051791133 - 751500 0.0037289958 0.0026517222 0.0044579545 - 751600 0.005314361 0.0026473018 0.0052214454 - 751700 0.0043641172 0.0026516604 0.0047655296 - 751800 0.0050005554 0.0027447694 0.0051669134 - 751900 0.0054921374 0.0024544434 0.0051146975 - 752000 0.0047860822 0.0020991973 0.0044174559 - 752100 0.0053936535 0.0025581267 0.0051706776 - 752200 0.0052058217 0.0028061856 0.0053277555 - 752300 0.0053276668 0.0031186998 0.0056992884 - 752400 0.0056203561 0.0026319277 0.0053542877 - 752500 0.0056658717 0.0025710355 0.0053154421 - 752600 0.0072025488 0.0023217371 0.0058104717 - 752700 0.0038432475 0.0023981565 0.0042597294 - 752800 0.0065637344 0.0019056435 0.0050849524 - 752900 0.006098587 0.0018743678 0.0048283709 - 753000 0.0057722569 0.0020573056 0.0048532426 - 753100 0.005283166 0.0021980095 0.0047570431 - 753200 0.0053553191 0.0021525907 0.0047465734 - 753300 0.0061588546 0.0023756162 0.0053588115 - 753400 0.0043267982 0.0021563942 0.004252187 - 753500 0.0035980486 0.0022225813 0.0039653861 - 753600 0.0060803977 0.0023276238 0.0052728165 - 753700 0.0049304522 0.002205605 0.0045937928 - 753800 0.006626439 0.002533506 0.0057431874 - 753900 0.0053653956 0.0027791533 0.0053780168 - 754000 0.0042466864 0.0029996416 0.0050566304 - 754100 0.0054300014 0.0027544546 0.0053846115 - 754200 0.0043776796 0.0025675863 0.0046880248 - 754300 0.005130299 0.002415471 0.0049004595 - 754400 0.005256581 0.0026462188 0.0051923753 - 754500 0.0041268074 0.0030563532 0.0050552755 - 754600 0.0058975481 0.0028677897 0.0057244146 - 754700 0.0068271457 0.0028995498 0.0062064485 - 754800 0.0056316753 0.0028354888 0.0055633315 - 754900 0.0050352331 0.0029661539 0.0054050949 - 755000 0.0035691332 0.0031042698 0.0048330687 - 755100 0.0049233296 0.0030150711 0.0053998089 - 755200 0.0049701606 0.0027056074 0.005113029 - 755300 0.0072109985 0.0027659171 0.0062587445 - 755400 0.0057320045 0.0026131273 0.005389567 - 755500 0.006045405 0.002740203 0.005668446 - 755600 0.0049883527 0.0036078526 0.0060240859 - 755700 0.007375558 0.003442929 0.007015465 - 755800 0.0049255536 0.0030685589 0.0054543739 - 755900 0.0075131738 0.0027511586 0.0063903522 - 756000 0.0058314536 0.0023131334 0.0051377438 - 756100 0.0050831922 0.0024018327 0.0048640039 - 756200 0.0051101252 0.0032160797 0.0056912966 - 756300 0.0063157093 0.003100306 0.0061594777 - 756400 0.0058551919 0.0027757749 0.0056118835 - 756500 0.0034390559 0.0028984755 0.0045642682 - 756600 0.0030949448 0.0028122705 0.0043113844 - 756700 0.0050795401 0.002650893 0.0051112953 - 756800 0.0055264962 0.0027177763 0.0053946729 - 756900 0.0065383041 0.0022873804 0.0054543715 - 757000 0.0055022238 0.0020434471 0.0047085868 - 757100 0.0040272703 0.0024719108 0.0044226198 - 757200 0.0035809542 0.002695377 0.0044299017 - 757300 0.0066347846 0.0027342805 0.0059480042 - 757400 0.0043478004 0.0028754261 0.0049813919 - 757500 0.0041702637 0.0027873973 0.0048073688 - 757600 0.0053590816 0.0028180694 0.0054138746 - 757700 0.0054521619 0.0027859351 0.0054268261 - 757800 0.0046260183 0.0025376646 0.0047783922 - 757900 0.0064311432 0.0019950017 0.0051100867 - 758000 0.0039471388 0.0024018758 0.0043137712 - 758100 0.0047190504 0.0022817925 0.0045675826 - 758200 0.0060506376 0.0024595959 0.0053903735 - 758300 0.0064513402 0.0027083457 0.0058332136 - 758400 0.006371663 0.0025824607 0.005668735 - 758500 0.0058915518 0.0024169712 0.0052706916 - 758600 0.0046536692 0.0029309559 0.0051850769 - 758700 0.0051647844 0.0027650834 0.0052667759 - 758800 0.005316229 0.0021738362 0.0047488846 - 758900 0.0051350478 0.0018826566 0.0043699454 - 759000 0.004111089 0.001742928 0.0037342367 - 759100 0.0048536547 0.0016458146 0.0039968036 - 759200 0.0042480668 0.0020348014 0.0040924587 - 759300 0.006021987 0.0024389562 0.0053558562 - 759400 0.0058332154 0.0027157682 0.0055412319 - 759500 0.0047712508 0.0025260977 0.0048371723 - 759600 0.0043742449 0.0017030151 0.0038217899 - 759700 0.0032574524 0.002141725 0.0037195535 - 759800 0.0036935759 0.0024476493 0.0042367251 - 759900 0.0059037414 0.0029378824 0.0057975071 - 760000 0.0041140134 0.00298536 0.0049780853 - 760100 0.004846587 0.0025676484 0.004915214 - 760200 0.0058447973 0.0023933416 0.0052244153 - 760300 0.0050325076 0.0024624451 0.004900066 - 760400 0.0041477248 0.0026224419 0.0046314962 - 760500 0.0050871668 0.0027115628 0.0051756592 - 760600 0.0055421819 0.0024283168 0.0051128111 - 760700 0.0054932916 0.0026428738 0.0053036869 - 760800 0.0046297764 0.003240853 0.0054834009 - 760900 0.0047812315 0.0027771494 0.0050930584 - 761000 0.0063199186 0.002028444 0.0050896545 - 761100 0.0054294376 0.0019878905 0.0046177743 - 761200 0.0045154336 0.0021774757 0.0043646389 - 761300 0.0045396783 0.0018706437 0.0040695504 - 761400 0.0051653631 0.0016833531 0.0041853259 - 761500 0.005599997 0.0015899286 0.0043024271 - 761600 0.0048078471 0.0020348496 0.0043636506 - 761700 0.0047482323 0.0021097505 0.0044096755 - 761800 0.0038246889 0.0018414955 0.0036940792 - 761900 0.0056827051 0.0016474277 0.004399988 - 762000 0.0057092964 0.0015420724 0.0043075128 - 762100 0.0045391566 0.0013602237 0.0035588777 - 762200 0.0044899605 0.0016686965 0.0038435211 - 762300 0.0045852026 0.0022528575 0.004473815 - 762400 0.0042588948 0.0025304091 0.0045933113 - 762500 0.0047312281 0.0021688453 0.0044605339 - 762600 0.0050346723 0.0021304441 0.0045691135 - 762700 0.0051240336 0.0022373005 0.0047192542 - 762800 0.0051444506 0.0018788635 0.0043707067 - 762900 0.0043869905 0.0019426454 0.004067594 - 763000 0.005154752 0.0016757875 0.0041726205 - 763100 0.004498083 0.0019305754 0.0041093344 - 763200 0.0046439111 0.0022114515 0.0044608459 - 763300 0.0036196794 0.002333305 0.0040865872 - 763400 0.0056886715 0.0023068945 0.0050623448 - 763500 0.0053048215 0.0019912101 0.004560733 - 763600 0.0069263831 0.0017200815 0.0050750483 - 763700 0.004600454 0.0020582521 0.0042865969 - 763800 0.004662196 0.0023221987 0.0045804499 - 763900 0.0048687124 0.0019326067 0.0042908893 - 764000 0.0067789492 0.0021889297 0.0054724832 - 764100 0.003512793 0.002483274 0.0041847832 - 764200 0.0045074322 0.0023041714 0.0044874589 - 764300 0.0063804463 0.002341384 0.0054319127 - 764400 0.0055391229 0.0026013616 0.0052843743 - 764500 0.005470308 0.0023600216 0.005009702 - 764600 0.0058792358 0.0021133491 0.0049611039 - 764700 0.0045520362 0.0023204235 0.004525316 - 764800 0.0058203481 0.0019314854 0.0047507165 - 764900 0.007226176 0.0015771483 0.0050773273 - 765000 0.0041915838 0.0018653523 0.0038956507 - 765100 0.0043062752 0.0025462814 0.0046321334 - 765200 0.0033303954 0.0026985551 0.0043117154 - 765300 0.0039700027 0.0022315652 0.0041545353 - 765400 0.0047482265 0.0017876401 0.0040875623 - 765500 0.0038673149 0.0017415293 0.00361476 - 765600 0.0054561829 0.0016139741 0.0042568127 - 765700 0.0038406618 0.0015785869 0.0034389074 - 765800 0.0038183622 0.0016474664 0.0034969856 - 765900 0.0052547365 0.0017919565 0.0043372195 - 766000 0.0051985145 0.0020601801 0.0045782106 - 766100 0.0042378925 0.0026218784 0.0046746076 - 766200 0.0050418782 0.0027996782 0.0052418379 - 766300 0.0062241225 0.0028392902 0.0058540995 - 766400 0.0052219179 0.0031309494 0.0056603159 - 766500 0.0045914774 0.0029361548 0.0051601516 - 766600 0.006053504 0.0028461203 0.0057782863 - 766700 0.006490654 0.0029992186 0.0061431292 - 766800 0.0059316478 0.0028198417 0.0056929837 - 766900 0.0062483812 0.0026499744 0.005676534 - 767000 0.0063401191 0.0027706011 0.0058415964 - 767100 0.0045772214 0.0034799406 0.0056970322 - 767200 0.0057522581 0.0032044323 0.0059906823 - 767300 0.0062610441 0.0024192544 0.0054519476 - 767400 0.0079693394 0.0021777674 0.0060379161 - 767500 0.0050124547 0.002129649 0.0045575567 - 767600 0.0040684071 0.0016102289 0.0035808635 - 767700 0.0053711113 0.0015707906 0.0041724227 - 767800 0.005673462 0.0017966338 0.0045447169 - 767900 0.0058188138 0.0019611954 0.0047796834 - 768000 0.0076103836 0.0023318847 0.0060181643 - 768100 0.005160982 0.0024465886 0.0049464392 - 768200 0.0055875218 0.0024912298 0.0051976857 - 768300 0.0047596471 0.0022167908 0.0045222449 - 768400 0.0056920429 0.0022247557 0.0049818389 - 768500 0.0055513026 0.0023712328 0.0050601449 - 768600 0.0042729207 0.0030495216 0.0051192176 - 768700 0.0040998653 0.0031651913 0.0051510636 - 768800 0.0057019028 0.0036939395 0.0064557987 - 768900 0.0061303314 0.004016652 0.0069860313 - 769000 0.005091407 0.0034525733 0.0059187236 - 769100 0.0050085212 0.0033528847 0.0057788871 - 769200 0.0048595465 0.0029380505 0.0052918934 - 769300 0.0053831445 0.0026332593 0.0052407199 - 769400 0.0037350487 0.0027467781 0.0045559424 - 769500 0.0056596388 0.0023588059 0.0051001934 - 769600 0.0049638689 0.0026193113 0.0050236853 - 769700 0.005880014 0.0027755263 0.0056236581 - 769800 0.0049185317 0.0029133649 0.0052957787 - 769900 0.0055495319 0.0033933876 0.0060814421 - 770000 0.0072312795 0.0035631031 0.0070657541 - 770100 0.0049660885 0.0034444712 0.0058499204 - 770200 0.0038022003 0.0037673844 0.0056090751 - 770300 0.0053781293 0.0036302366 0.006235268 - 770400 0.0070369037 0.0028442022 0.0062527024 - 770500 0.0069346263 0.0026336852 0.0059926448 - 770600 0.0044757625 0.0030408404 0.0052087879 - 770700 0.0038475836 0.0029697149 0.0048333882 - 770800 0.0040728708 0.0027753497 0.0047481465 - 770900 0.0053466617 0.0028792354 0.0054690247 - 771000 0.0045467066 0.0030823496 0.0052846606 - 771100 0.0063461058 0.0025265989 0.0056004938 - 771200 0.0071804675 0.0023081993 0.0057862383 - 771300 0.0062137302 0.0025046709 0.0055144464 - 771400 0.0047367989 0.0026184791 0.004912866 - 771500 0.0058469579 0.0028931719 0.0057252921 - 771600 0.0045922794 0.0035144117 0.005738797 - 771700 0.006211922 0.0029465701 0.0059554698 - 771800 0.0075044618 0.002348316 0.0059832896 - 771900 0.0052031558 0.0024728731 0.0049931516 - 772000 0.0043842597 0.0022069377 0.0043305635 - 772100 0.0055186163 0.0023029587 0.0049760384 - 772200 0.0054323961 0.0023195224 0.0049508393 - 772300 0.0055308186 0.0025630966 0.0052420868 - 772400 0.0058004329 0.0025809632 0.0053905479 - 772500 0.0036009933 0.0019350198 0.0036792509 - 772600 0.0047034409 0.0016816952 0.0039599244 - 772700 0.0044906129 0.0018893042 0.0040644448 - 772800 0.0034435177 0.0024549315 0.0041228854 - 772900 0.0058846827 0.0022318815 0.0050822747 - 773000 0.0048578079 0.001942489 0.0042954897 - 773100 0.0048396002 0.0024491423 0.0047933237 - 773200 0.0051959981 0.0025537678 0.0050705793 - 773300 0.0050210125 0.0026527471 0.0050848001 - 773400 0.005193196 0.002619867 0.0051353213 - 773500 0.0048600405 0.0029955685 0.0053496507 - 773600 0.0061346354 0.0034482659 0.0064197299 - 773700 0.0054241287 0.0030892889 0.0057166012 - 773800 0.0056551397 0.002416815 0.0051560233 - 773900 0.0031414659 0.0023677344 0.0038893819 - 774000 0.0042022152 0.0021140919 0.0041495399 - 774100 0.0067430155 0.0021443027 0.0054104508 - 774200 0.0040815876 0.002589673 0.004566692 - 774300 0.0075856022 0.0022858271 0.0059601031 - 774400 0.0057176383 0.0025224593 0.0052919403 - 774500 0.0045136615 0.0032333048 0.0054196096 - 774600 0.0052038233 0.0031053426 0.0056259445 - 774700 0.0058805838 0.0028883253 0.005736733 - 774800 0.0068381669 0.0028162281 0.0061284652 - 774900 0.0051330328 0.0031573072 0.00564362 - 775000 0.0046320973 0.0033635907 0.0056072628 - 775100 0.0057604451 0.0034379325 0.0062281481 - 775200 0.0065829877 0.0030264928 0.0062151274 - 775300 0.0061989428 0.0027139555 0.0057165684 - 775400 0.004328927 0.0029518611 0.0050486851 - 775500 0.0042196001 0.0029703788 0.0050142476 - 775600 0.0055112491 0.0032962412 0.0059657525 - 775700 0.0054171732 0.0030866034 0.0057105467 - 775800 0.0054601155 0.0031831501 0.0058278936 - 775900 0.0047543219 0.003605209 0.0059080836 - 776000 0.0057972416 0.0034041003 0.0062121392 - 776100 0.0065506343 0.0032086367 0.0063816002 - 776200 0.0046267739 0.0033980772 0.0056391707 - 776300 0.0058471091 0.0030471992 0.0058793926 - 776400 0.0060407587 0.0031433282 0.0060693207 - 776500 0.0061459646 0.0028574333 0.0058343849 - 776600 0.0042212348 0.0029027784 0.004947439 - 776700 0.0053848391 0.0029405997 0.0055488811 - 776800 0.0047608593 0.003401405 0.0057074463 - 776900 0.0050052561 0.003005481 0.0054299019 - 777000 0.0055942116 0.0026950137 0.00540471 - 777100 0.0044105799 0.002386982 0.0045233566 - 777200 0.0043093702 0.002394251 0.0044816022 - 777300 0.0066878881 0.002272038 0.0055114838 - 777400 0.0057520506 0.0021157524 0.0049019019 - 777500 0.004196014 0.002441151 0.0044735953 - 777600 0.0066036579 0.0028874357 0.0060860825 - 777700 0.0061497894 0.0031155066 0.0060943109 - 777800 0.0052234092 0.0036152428 0.0061453316 - 777900 0.0064354415 0.0029589116 0.0060760786 - 778000 0.0052803406 0.002707939 0.005265604 - 778100 0.0043416772 0.0026640603 0.0047670602 - 778200 0.0062529936 0.002782534 0.0058113277 - 778300 0.004925973 0.0030307002 0.0054167184 - 778400 0.0042397819 0.0028110987 0.004864743 - 778500 0.0057403466 0.0021069102 0.0048873906 - 778600 0.0047379679 0.0020266598 0.004321613 - 778700 0.0061697769 0.0021260553 0.005114541 - 778800 0.0048290043 0.0023258503 0.0046648993 - 778900 0.0038024903 0.0023862016 0.0042280329 - 779000 0.0049636359 0.0022436361 0.0046478972 - 779100 0.0056587188 0.0018776125 0.0046185544 - 779200 0.0051884985 0.001737976 0.004251155 - 779300 0.004428864 0.0021747248 0.0043199558 - 779400 0.0044203285 0.0023124029 0.0044534996 - 779500 0.0041852597 0.0026123789 0.0046396141 - 779600 0.0043785287 0.0025600038 0.0046808536 - 779700 0.0051466607 0.00211242 0.0046053338 - 779800 0.00539287 0.0023269039 0.0049390754 - 779900 0.0043092757 0.0025621266 0.004649432 - 780000 0.0061319749 0.002146481 0.0051166563 - 780100 0.0037993999 0.002122117 0.0039624513 - 780200 0.0056727583 0.0022600386 0.0050077809 - 780300 0.0047386817 0.002763709 0.005059008 - 780400 0.0027402503 0.0026923316 0.0040196403 - 780500 0.005039469 0.0028133382 0.005254331 - 780600 0.0054691872 0.0028716393 0.0055207769 - 780700 0.006186041 0.0023984169 0.0053947805 - 780800 0.0047902584 0.0023238028 0.0046440842 - 780900 0.0053550477 0.0022342833 0.0048281346 - 781000 0.0039026581 0.0023692796 0.0042596296 - 781100 0.0045739 0.0020617424 0.0042772252 - 781200 0.0054327527 0.0021556443 0.0047871339 - 781300 0.0043185853 0.0025787618 0.0046705765 - 781400 0.0037805224 0.0028517752 0.0046829657 - 781500 0.004510459 0.002617395 0.0048021486 - 781600 0.0051567532 0.0026570397 0.005154842 - 781700 0.0048122974 0.0025233215 0.004854278 - 781800 0.0042923759 0.0023535142 0.0044326338 - 781900 0.0073519916 0.0019243201 0.005485441 - 782000 0.0053594197 0.0021839152 0.0047798841 - 782100 0.0050034751 0.0024937685 0.0049173268 - 782200 0.007034737 0.0028054286 0.0062128793 - 782300 0.0042522772 0.002639807 0.0046995037 - 782400 0.0069283346 0.002375895 0.0057318071 - 782500 0.0064697184 0.0022963202 0.00543009 - 782600 0.0041290731 0.0023164519 0.0043164717 - 782700 0.0043035881 0.0021345434 0.0042190939 - 782800 0.0051568851 0.0021508274 0.0046486936 - 782900 0.0041302919 0.0026853061 0.0046859162 - 783000 0.0050220793 0.0029409727 0.0053735423 - 783100 0.0061099399 0.0031032797 0.0060627819 - 783200 0.0053528697 0.0031694985 0.0057622947 - 783300 0.0050766355 0.0028753798 0.0053343751 - 783400 0.0058419523 0.0024931283 0.0053228239 - 783500 0.005095339 0.0024761415 0.0049441964 - 783600 0.0039667446 0.0025661282 0.0044875202 - 783700 0.0060219446 0.0022169923 0.0051338718 - 783800 0.0046304073 0.0026046009 0.0048474545 - 783900 0.0048265872 0.0025451026 0.0048829808 - 784000 0.0063051752 0.0025355689 0.0055896382 - 784100 0.0057969752 0.0027322558 0.0055401656 - 784200 0.0044060043 0.0027604817 0.0048946401 - 784300 0.0060862992 0.0024487098 0.005396761 - 784400 0.0067962271 0.0023379813 0.0056299038 - 784500 0.0058019109 0.0025348177 0.0053451183 - 784600 0.0057904029 0.0024636475 0.0052683739 - 784700 0.0048924686 0.002481917 0.0048517065 - 784800 0.0050918641 0.0026235301 0.0050899017 - 784900 0.0072269338 0.0025243451 0.0060248911 - 785000 0.0063741897 0.0025066148 0.005594113 - 785100 0.0054284688 0.002749544 0.0053789586 - 785200 0.005382125 0.002482863 0.0050898298 - 785300 0.0059917513 0.0023745615 0.0052768161 - 785400 0.0054359468 0.0024237914 0.0050568282 - 785500 0.0054103836 0.0021565967 0.0047772513 - 785600 0.0063025639 0.0023888144 0.0054416188 - 785700 0.0058403688 0.0031639769 0.0059929055 - 785800 0.0050944071 0.0034536552 0.0059212587 - 785900 0.0059987992 0.0035046578 0.0064103262 - 786000 0.007365797 0.002823302 0.0063911099 - 786100 0.0059774224 0.0026193208 0.0055146348 - 786200 0.0067888447 0.0023828628 0.0056712094 - 786300 0.0048203911 0.0023224673 0.0046573442 - 786400 0.0056565512 0.0023624136 0.0051023057 - 786500 0.0045103285 0.0021360012 0.0043206915 - 786600 0.0050192577 0.0017155007 0.0041467036 - 786700 0.0056275175 0.0023742941 0.0051001229 - 786800 0.0049795458 0.0032716907 0.0056836582 - 786900 0.0060163758 0.0033736329 0.0062878149 - 787000 0.0051015085 0.0029061632 0.0053772063 - 787100 0.006020987 0.0028350614 0.005751477 - 787200 0.0038499633 0.0027990029 0.0046638288 - 787300 0.0055830509 0.0028928335 0.0055971238 - 787400 0.0041788037 0.0032199135 0.0052440216 - 787500 0.0062399409 0.0029044215 0.0059268929 - 787600 0.0044890697 0.0030002263 0.0051746195 - 787700 0.003872958 0.0030851533 0.0049611174 - 787800 0.0041240279 0.0031358287 0.0051334047 - 787900 0.0054346661 0.0027475833 0.0053799996 - 788000 0.0058159249 0.0025360746 0.0053531632 - 788100 0.0067224099 0.0026364286 0.0058925959 - 788200 0.0039361813 0.0028674176 0.0047740054 - 788300 0.005066175 0.0027480897 0.0052020182 - 788400 0.006335758 0.0022750505 0.0053439333 - 788500 0.0080288311 0.0027454652 0.0066344302 - 788600 0.0064851161 0.0031200006 0.0062612287 - 788700 0.0052477636 0.0028632594 0.0054051449 - 788800 0.0063507679 0.0026100182 0.0056861715 - 788900 0.0051707543 0.0022791367 0.0047837208 - 789000 0.0049561856 0.0023462195 0.0047468719 - 789100 0.0075346557 0.0028996014 0.0065492003 - 789200 0.0047133113 0.0032678341 0.0055508443 - 789300 0.0035991573 0.0030768573 0.0048201992 - 789400 0.0061032262 0.0026794783 0.0056357285 - 789500 0.0040440181 0.0025375031 0.0044963244 - 789600 0.0061664379 0.0023631136 0.0053499819 - 789700 0.0037562959 0.0022183743 0.0040378301 - 789800 0.0061894462 0.0019284215 0.0049264345 - 789900 0.0051870598 0.002191797 0.0047042792 - 790000 0.0046911163 0.0024566555 0.004728915 - 790100 0.0051610317 0.0022107976 0.0047106724 - 790200 0.00703089 0.0023355758 0.0057411632 - 790300 0.0050151645 0.0024155135 0.0048447339 - 790400 0.0048150512 0.0030825666 0.005414857 - 790500 0.0033664783 0.003715539 0.0053461769 - 790600 0.006469053 0.0034377822 0.0065712298 - 790700 0.00661032 0.0024262 0.0056280737 - 790800 0.0060666158 0.00216567 0.005104187 - 790900 0.0048253715 0.0024571803 0.0047944696 - 791000 0.0045823763 0.0024203794 0.0046399679 - 791100 0.0055175786 0.0021846406 0.0048572177 - 791200 0.0050922867 0.0025544083 0.0050209846 - 791300 0.0045760914 0.00247051 0.0046870543 - 791400 0.0055465528 0.0024334271 0.0051200386 - 791500 0.0050837449 0.0025317863 0.0049942252 - 791600 0.0053087569 0.002640896 0.0052123251 - 791700 0.0040875617 0.0023412963 0.004321209 - 791800 0.0046665602 0.0021708959 0.004431261 - 791900 0.0043882835 0.0025420913 0.0046676662 - 792000 0.0053989692 0.0023110929 0.0049262186 - 792100 0.0047919182 0.002471106 0.0047921914 - 792200 0.0056883463 0.0024642553 0.005219548 - 792300 0.0068011527 0.0025467801 0.0058410885 - 792400 0.0053716563 0.002740569 0.005342465 - 792500 0.0059280188 0.0023645531 0.0052359373 - 792600 0.0043803749 0.0023545515 0.0044762956 - 792700 0.0037302302 0.0024857876 0.0042926178 - 792800 0.0054451195 0.0026501033 0.0052875831 - 792900 0.0052758624 0.0025013372 0.0050568331 - 793000 0.0049554304 0.0026457917 0.0050460783 - 793100 0.0053906797 0.0025512692 0.0051623797 - 793200 0.0066731694 0.0025679801 0.0058002965 - 793300 0.0046964898 0.0027293009 0.0050041632 - 793400 0.0061949154 0.0021946091 0.0051952712 - 793500 0.0066926357 0.0020275373 0.0052692827 - 793600 0.005096658 0.002443357 0.0049120507 - 793700 0.00424849 0.0023193463 0.0043772086 - 793800 0.0066745706 0.0025340148 0.00576701 - 793900 0.0070540937 0.0025223119 0.0059391386 - 794000 0.0058003628 0.0022466743 0.0050562251 - 794100 0.0060000635 0.0020879807 0.0049942615 - 794200 0.0036570128 0.0021624611 0.0039338267 - 794300 0.0042110466 0.0019991982 0.0040389239 - 794400 0.0048903858 0.002301327 0.0046701076 - 794500 0.0064509973 0.0020550647 0.0051797665 - 794600 0.0045797045 0.0018709143 0.0040892087 - 794700 0.0067579869 0.0016562854 0.0049296853 - 794800 0.005898519 0.0023543859 0.005211481 - 794900 0.0055031199 0.0030154153 0.005680989 - 795000 0.0060232779 0.0028694574 0.0057869826 - 795100 0.0049901187 0.0027053821 0.0051224708 - 795200 0.0053616533 0.0026213693 0.0052184201 - 795300 0.0076826033 0.0029623531 0.0066836141 - 795400 0.0042119303 0.0034530381 0.0054931918 - 795500 0.0046889232 0.0029879769 0.005259174 - 795600 0.0052160389 0.0022391611 0.00476568 - 795700 0.0046833032 0.0016673794 0.0039358544 - 795800 0.0037768559 0.001499013 0.0033284276 - 795900 0.0043021475 0.0017011868 0.0037850395 - 796000 0.0047962353 0.002013108 0.0043362845 - 796100 0.0043519043 0.0024872694 0.004595223 - 796200 0.0048730316 0.0022701394 0.0046305141 - 796300 0.0045697255 0.0019273391 0.0041407999 - 796400 0.0055406149 0.0020086141 0.0046923494 - 796500 0.0058441736 0.0017623916 0.0045931631 - 796600 0.0048537925 0.0021300292 0.004481085 - 796700 0.0053195548 0.0019603263 0.0045369857 - 796800 0.0046852532 0.0022430875 0.004512507 - 796900 0.0040477748 0.0024227966 0.0043834375 - 797000 0.004584546 0.0026333979 0.0048540374 - 797100 0.0049978086 0.0028167795 0.005237593 - 797200 0.0035660844 0.0024404344 0.0041677565 - 797300 0.004161226 0.002210263 0.0042258568 - 797400 0.0063315251 0.0021242358 0.0051910682 - 797500 0.0047108257 0.0024901344 0.0047719406 - 797600 0.0039679786 0.002775946 0.0046979357 - 797700 0.006004146 0.0023484324 0.0052566906 - 797800 0.0040026266 0.0029875041 0.0049262763 - 797900 0.0051295441 0.0030263987 0.0055110216 - 798000 0.0049667934 0.0026418226 0.0050476132 - 798100 0.0056748962 0.0018637972 0.0046125751 - 798200 0.00443772 0.0016415176 0.0037910382 - 798300 0.0038997708 0.0016732375 0.003562189 - 798400 0.0048351834 0.0018440517 0.0041860936 - 798500 0.0054684527 0.0021918258 0.0048406076 - 798600 0.0050622247 0.0022664717 0.0047184868 - 798700 0.0034878488 0.0023997354 0.0040891622 - 798800 0.0063455738 0.0026420358 0.0057156731 - 798900 0.0033816345 0.0026003388 0.004238318 - 799000 0.0046508612 0.0024228237 0.0046755846 - 799100 0.0043451546 0.002680875 0.0047855592 - 799200 0.0060037474 0.0025517871 0.0054598522 - 799300 0.0055035177 0.0026729891 0.0053387554 - 799400 0.0050511333 0.002686959 0.0051336017 - 799500 0.005696337 0.0022016365 0.0049607998 - 799600 0.0063514853 0.0024087426 0.0054852433 - 799700 0.0043875335 0.0026511468 0.0047763583 - 799800 0.0036962295 0.0025332789 0.0043236401 - 799900 0.0089483024 0.0023210805 0.0066554145 - 800000 0.0048241531 0.0029766507 0.0053133498 - 800100 0.0054647709 0.0028408666 0.005487865 - 800200 0.0043247672 0.0023569362 0.0044517453 - 800300 0.0070851407 0.0020174042 0.0054492692 - 800400 0.0053275451 0.0020128999 0.0045934296 - 800500 0.005550409 0.0022073302 0.0048958096 - 800600 0.0054000562 0.002410543 0.0050261952 - 800700 0.0043177208 0.0023005844 0.0043919804 - 800800 0.0050099681 0.0022270827 0.004653786 - 800900 0.004330821 0.0029943279 0.0050920693 - 801000 0.0071417783 0.0032012301 0.006660529 - 801100 0.0044119307 0.003283531 0.0054205599 - 801200 0.0053930979 0.0031962479 0.0058085297 - 801300 0.0046087716 0.0031324869 0.0053648606 - 801400 0.0048559015 0.002898965 0.0052510423 - 801500 0.0054965396 0.0026962475 0.0053586338 - 801600 0.0046347188 0.0027814959 0.0050264378 - 801700 0.0060662199 0.0022734888 0.0052118141 - 801800 0.0064599217 0.0023274667 0.0054564912 - 801900 0.007951916 0.0020824898 0.0059341991 - 802000 0.0047665775 0.0024332216 0.0047420326 - 802100 0.0060335782 0.0020841797 0.0050066942 - 802200 0.0037688539 0.0020819125 0.0039074511 - 802300 0.0048953376 0.002468559 0.0048397382 - 802400 0.0051327827 0.002269863 0.0047560546 - 802500 0.0064748682 0.0022055939 0.0053418582 - 802600 0.0039265823 0.002563091 0.0044650293 - 802700 0.0048141546 0.0024164156 0.0047482718 - 802800 0.0045818185 0.0023733639 0.0045926822 - 802900 0.0034634497 0.0020788953 0.0037565037 - 803000 0.0048284168 0.0016107118 0.0039494762 - 803100 0.0052698664 0.0013974394 0.003950031 - 803200 0.0048823365 0.001440539 0.0038054207 - 803300 0.0041602655 0.0016900505 0.0037051791 - 803400 0.0048944712 0.0022910621 0.0046618216 - 803500 0.0061035768 0.0025738369 0.0055302569 - 803600 0.0055991496 0.0024420685 0.0051541566 - 803700 0.0053701395 0.0023765241 0.0049776855 - 803800 0.0058012696 0.0018933414 0.0047033314 - 803900 0.0059155228 0.0023422865 0.0052076179 - 804000 0.0064140647 0.0031504246 0.0062572372 - 804100 0.006582868 0.0034353101 0.0066238867 - 804200 0.0038774186 0.0030593907 0.0049375153 - 804300 0.0038547624 0.002892681 0.0047598315 - 804400 0.0042139853 0.002302636 0.0043437852 - 804500 0.0060779217 0.0021414117 0.005085405 - 804600 0.0058543673 0.0024938675 0.0053295766 - 804700 0.0059720078 0.0026776589 0.0055703502 - 804800 0.0056342763 0.00267543 0.0054045326 - 804900 0.0041959188 0.0024365954 0.0044689936 - 805000 0.0053405163 0.0025304368 0.0051172493 - 805100 0.0044991504 0.0026069109 0.0047861868 - 805200 0.0042837011 0.0025428591 0.0046177768 - 805300 0.0052127931 0.0023518956 0.0048768423 - 805400 0.0057905767 0.0021446834 0.004949494 - 805500 0.0041522068 0.0026968416 0.0047080668 - 805600 0.0054307549 0.0024950014 0.0051255233 - 805700 0.0047075309 0.0030051671 0.0052853774 - 805800 0.0063916131 0.0031190659 0.0062150034 - 805900 0.0060611731 0.0027166388 0.0056525196 - 806000 0.0053310461 0.0021056274 0.0046878529 - 806100 0.0038815868 0.0019579432 0.0038380868 - 806200 0.0046136763 0.0026710497 0.0049057992 - 806300 0.0047977439 0.0023336816 0.0046575888 - 806400 0.0051951821 0.0019755149 0.0044919312 - 806500 0.0047076023 0.0019514081 0.0042316529 - 806600 0.0050819841 0.0019632875 0.0044248736 - 806700 0.0046669729 0.0020581683 0.0043187332 - 806800 0.0041476382 0.0017416763 0.0037506885 - 806900 0.006398114 0.001795272 0.0048943584 - 807000 0.0053636428 0.0027161842 0.0053141987 - 807100 0.0057529022 0.0025147737 0.0053013357 - 807200 0.0049986034 0.0018273876 0.0042485861 - 807300 0.0056682742 0.0018010432 0.0045466135 - 807400 0.0035597721 0.0024616454 0.00418591 - 807500 0.0049803409 0.0028477034 0.0052600561 - 807600 0.0028980816 0.0028793742 0.0042831324 - 807700 0.0043731907 0.0024081686 0.0045264328 - 807800 0.0055733309 0.0023037616 0.0050033438 - 807900 0.004798967 0.002316374 0.0046408736 - 808000 0.0061418714 0.0019980631 0.0049730321 - 808100 0.0043169957 0.0020577852 0.00414883 - 808200 0.0046232709 0.0019028098 0.0041422067 - 808300 0.0044524603 0.0021268768 0.0042835373 - 808400 0.0049722384 0.0022953434 0.0047037714 - 808500 0.0040467963 0.0018311444 0.0037913113 - 808600 0.0045854102 0.0017467643 0.0039678223 - 808700 0.0044628094 0.0018715614 0.0040332347 - 808800 0.0053457962 0.0022691551 0.0048585251 - 808900 0.0051987077 0.0021620711 0.0046801951 - 809000 0.0054532984 0.0018102708 0.0044517122 - 809100 0.0060608195 0.0013841888 0.0043198982 - 809200 0.0040661344 0.0017803551 0.003749889 - 809300 0.0048948286 0.0014959495 0.0038668821 - 809400 0.0044786658 0.0015185586 0.0036879124 - 809500 0.0039656841 0.0014976983 0.0034185765 - 809600 0.0044908414 0.0017383442 0.0039135955 - 809700 0.0061750245 0.0018944717 0.0048854991 - 809800 0.0053226146 0.0022708 0.0048489415 - 809900 0.0063337286 0.0025189983 0.0055868981 - 810000 0.0052957978 0.0027215971 0.0052867491 - 810100 0.0047616338 0.0027908366 0.0050972529 - 810200 0.0054302874 0.0030171718 0.0056474673 - 810300 0.0044523643 0.0031941878 0.0053508018 - 810400 0.003536477 0.0030359691 0.0047489502 - 810500 0.007317624 0.0029644726 0.0065089467 - 810600 0.0045130004 0.0029755527 0.0051615372 - 810700 0.0053853279 0.0021462294 0.0047547476 - 810800 0.0062156153 0.0018983025 0.0049089911 - 810900 0.0048582993 0.0018117879 0.0041650267 - 811000 0.0047600881 0.0017826443 0.004088312 - 811100 0.0042342742 0.0017290717 0.0037800483 - 811200 0.005100782 0.0019897446 0.0044604359 - 811300 0.0052689568 0.0022833533 0.0048355043 - 811400 0.0051788182 0.0024110831 0.0049195732 - 811500 0.0056704868 0.0023328576 0.0050794996 - 811600 0.005411715 0.0025396021 0.0051609016 - 811700 0.0054108428 0.0022864462 0.0049073232 - 811800 0.0075556749 0.001997445 0.005657225 - 811900 0.00554471 0.00230139 0.0049871089 - 812000 0.0053942999 0.002590243 0.005203107 - 812100 0.0067589535 0.0025940667 0.0058679348 - 812200 0.0053461533 0.0025595601 0.0051491031 - 812300 0.0053976153 0.0026792054 0.0052936753 - 812400 0.0045248244 0.002899332 0.0050910438 - 812500 0.005058527 0.0027971215 0.0052473455 - 812600 0.0042214738 0.0024650766 0.004509853 - 812700 0.0043970669 0.002361145 0.0044909743 - 812800 0.0060833748 0.0022479285 0.0051945632 - 812900 0.0058132524 0.0021884717 0.0050042659 - 813000 0.0066235166 0.002836232 0.0060444978 - 813100 0.0069291524 0.0031433991 0.0064997073 - 813200 0.0065763602 0.0030410795 0.006226504 - 813300 0.0050079383 0.0028699491 0.0052956693 - 813400 0.0045644355 0.0027430744 0.0049539729 - 813500 0.0051998769 0.0028019323 0.0053206227 - 813600 0.006348489 0.0028319583 0.0059070076 - 813700 0.0038615467 0.0028423917 0.0047128284 - 813800 0.0053029383 0.0023853611 0.0049539719 - 813900 0.0041421367 0.0021021236 0.0041084711 - 814000 0.0050269011 0.0020561868 0.0044910921 - 814100 0.0036844239 0.0023533644 0.0041380072 - 814200 0.0049654017 0.0022529463 0.0046580627 - 814300 0.0054536355 0.0021934848 0.0048350895 - 814400 0.0046075175 0.0018983617 0.004130128 - 814500 0.0048065781 0.0017752168 0.0041034031 - 814600 0.0040994038 0.0024690427 0.0044546914 - 814700 0.0079657545 0.0023152406 0.0061736529 - 814800 0.0043990628 0.0024007933 0.0045315893 - 814900 0.0055395883 0.00264252 0.0053257581 - 815000 0.0062987728 0.0028213425 0.0058723106 - 815100 0.0050061862 0.003216012 0.0056408834 - 815200 0.0050951073 0.0033079696 0.0057759122 - 815300 0.0064539887 0.002742085 0.0058682358 - 815400 0.0064236241 0.002094496 0.0052059389 - 815500 0.0053050967 0.0021351667 0.0047048229 - 815600 0.0069063243 0.0023045455 0.0056497963 - 815700 0.0060321364 0.0023675894 0.0052894054 - 815800 0.0065677686 0.0024314381 0.0056127011 - 815900 0.0034465652 0.0025807393 0.0042501694 - 816000 0.0053124549 0.0026352826 0.005208503 - 816100 0.006542271 0.0023116137 0.0054805262 - 816200 0.0053675486 0.0028666974 0.0054666037 - 816300 0.005744887 0.0027759716 0.0055586513 - 816400 0.0053165842 0.0021723714 0.0047475919 - 816500 0.0055401157 0.0020055299 0.0046890234 - 816600 0.0050324525 0.0023088615 0.0047464557 - 816700 0.0045545448 0.0025013925 0.0047075002 - 816800 0.0056833114 0.0020522488 0.0048051028 - 816900 0.0048159357 0.0022739445 0.0046066634 - 817000 0.0048672835 0.0025941683 0.0049517588 - 817100 0.006170043 0.0024014536 0.0053900682 - 817200 0.0067570661 0.0018879019 0.0051608558 - 817300 0.0047699812 0.0023337634 0.004644223 - 817400 0.0042205243 0.0022243729 0.0042686893 - 817500 0.0050890877 0.0023099498 0.0047749766 - 817600 0.0053995223 0.0020555472 0.0046709408 - 817700 0.0056584825 0.0023506662 0.0050914936 - 817800 0.0040069341 0.0027738289 0.0047146876 - 817900 0.0059275203 0.0022911699 0.0051623125 - 818000 0.0047603286 0.0021436879 0.004449472 - 818100 0.004165436 0.0025337735 0.0045514066 - 818200 0.0042734701 0.0021938012 0.0042637632 - 818300 0.006579353 0.001542726 0.0047296001 - 818400 0.0052622085 0.0017699251 0.0043188074 - 818500 0.0052237755 0.0021898032 0.0047200695 - 818600 0.0041879128 0.0023140823 0.0043426025 - 818700 0.0045616964 0.0022472322 0.0044568039 - 818800 0.0050839222 0.0024176008 0.0048801257 - 818900 0.0028601999 0.0026067491 0.0039921584 - 819000 0.0063770968 0.0023904689 0.0054793752 - 819100 0.0064956601 0.0026430923 0.0057894277 - 819200 0.0064966105 0.0028862621 0.0060330578 - 819300 0.0050632659 0.002776409 0.0052289284 - 819400 0.0057113969 0.0025809281 0.005347386 - 819500 0.0060251734 0.0022263679 0.0051448113 - 819600 0.0039914411 0.002575696 0.0045090503 - 819700 0.0065432677 0.0029028869 0.0060722822 - 819800 0.0060557595 0.0029447287 0.0058779872 - 819900 0.0055422868 0.0026225556 0.0053071008 - 820000 0.0033393236 0.0024233731 0.004040858 - 820100 0.0035101684 0.002490749 0.0041909868 - 820200 0.0037944477 0.0022334698 0.0040714053 - 820300 0.0047857218 0.0022799217 0.0045980057 - 820400 0.0064000593 0.0024310187 0.0055310475 - 820500 0.0057143791 0.0023734809 0.0051413833 - 820600 0.0050626088 0.0021192712 0.0045714724 - 820700 0.0052328071 0.0020425149 0.0045771558 - 820800 0.005325438 0.0020128773 0.0045923863 - 820900 0.0046107253 0.0023131901 0.0045465102 - 821000 0.005930006 0.0023645718 0.0052369185 - 821100 0.0051765739 0.0031304243 0.0056378273 - 821200 0.0047440929 0.0031335897 0.0054315097 - 821300 0.0052369826 0.0029940386 0.005530702 - 821400 0.0043493819 0.0029779325 0.0050846644 - 821500 0.0069021163 0.0025988339 0.0059420465 - 821600 0.0028944514 0.002193758 0.0035957579 - 821700 0.0045841121 0.0022284613 0.0044488906 - 821800 0.0047160235 0.0022930871 0.004577411 - 821900 0.0049876826 0.0019863048 0.0044022136 - 822000 0.0045513185 0.0021394762 0.0043440211 - 822100 0.0042197203 0.002150464 0.004194391 - 822200 0.004001737 0.0018142528 0.0037525942 - 822300 0.0048013639 0.0018633444 0.004189005 - 822400 0.0060998734 0.0021488861 0.0051035123 - 822500 0.0052544879 0.0021969756 0.0047421182 - 822600 0.0057795582 0.002034021 0.0048334945 - 822700 0.0045897083 0.0024494283 0.0046725682 - 822800 0.0041447443 0.0026608005 0.004668411 - 822900 0.0048164089 0.0029775656 0.0053105136 - 823000 0.0060693132 0.0029476817 0.0058875053 - 823100 0.0068741238 0.0025658432 0.0058954969 - 823200 0.0053158639 0.002192046 0.0047669176 - 823300 0.0041441383 0.002466153 0.00447347 - 823400 0.0065336327 0.0022529207 0.0054176491 - 823500 0.0040817626 0.0020893023 0.0040664061 - 823600 0.0035413419 0.0022180494 0.0039333869 - 823700 0.0034978393 0.0021319421 0.003826208 - 823800 0.0040189958 0.0023192821 0.0042659832 - 823900 0.0050449297 0.0027002211 0.0051438589 - 824000 0.0044065578 0.00241935 0.0045537764 - 824100 0.0049948908 0.0027630434 0.0051824437 - 824200 0.0052255683 0.0025264072 0.0050575419 - 824300 0.0034338671 0.0026672169 0.0043304963 - 824400 0.0040301041 0.0024379426 0.0043900243 - 824500 0.0043939947 0.0021353393 0.0042636805 - 824600 0.0046015261 0.0023034962 0.0045323604 - 824700 0.0055116021 0.0019687488 0.004638431 - 824800 0.0057457895 0.0019137463 0.0046968631 - 824900 0.0061598914 0.0022012977 0.005184995 - 825000 0.005980911 0.0025340696 0.0054310734 - 825100 0.0040388393 0.0026518289 0.0046081417 - 825200 0.0045036012 0.0026641868 0.0048456186 - 825300 0.0049192598 0.0026286721 0.0050114386 - 825400 0.0043730318 0.0027937184 0.0049119057 - 825500 0.0047907837 0.0028431576 0.0051636934 - 825600 0.0045912123 0.0028346942 0.0050585627 - 825700 0.0034615048 0.0024475823 0.0041242487 - 825800 0.0057425965 0.0025805558 0.0053621259 - 825900 0.0039801694 0.0025144349 0.0044423295 - 826000 0.0056857335 0.0020423031 0.0047963302 - 826100 0.0047997786 0.0018884482 0.0042133409 - 826200 0.0049843393 0.0018359854 0.0042502747 - 826300 0.0064825593 0.0021620584 0.0053020481 - 826400 0.0053932601 0.0023900746 0.005002435 - 826500 0.006056701 0.0023642806 0.0052979952 - 826600 0.0062265065 0.002377576 0.0053935401 - 826700 0.0045355 0.0021999674 0.0043968502 - 826800 0.0050379029 0.0020220155 0.0044622497 - 826900 0.0046593627 0.0019770457 0.0042339245 - 827000 0.0049981096 0.0021686279 0.0045895872 - 827100 0.0049193146 0.0020620868 0.0044448798 - 827200 0.00459885 0.0023080332 0.0045356011 - 827300 0.004613596 0.0023329309 0.0045676415 - 827400 0.0054427924 0.0023947827 0.0050311353 - 827500 0.0055947344 0.0029717256 0.0056816751 - 827600 0.0057356231 0.0028960672 0.0056742596 - 827700 0.0039488977 0.0028574619 0.0047702092 - 827800 0.0054817551 0.0025028525 0.0051580776 - 827900 0.0057111596 0.0029706195 0.0057369625 - 828000 0.0058450403 0.0032386558 0.0060698471 - 828100 0.0062228118 0.0033842814 0.0063984559 - 828200 0.0054049447 0.0036594447 0.0062774648 - 828300 0.0059065699 0.0032876541 0.0061486489 - 828400 0.005179526 0.0025602192 0.0050690521 - 828500 0.0062229252 0.0026861668 0.0057003962 - 828600 0.0068777957 0.0023503301 0.0056817624 - 828700 0.0035515058 0.0027120034 0.004432264 - 828800 0.005118853 0.0024464101 0.0049258545 - 828900 0.0043459863 0.0023968363 0.0045019235 - 829000 0.00487111 0.0026423938 0.0050018377 - 829100 0.0048978132 0.0029040012 0.0052763794 - 829200 0.0058389628 0.0025143534 0.005342601 - 829300 0.0047915658 0.0025204788 0.0048413935 - 829400 0.0061962764 0.0029958507 0.0059971721 - 829500 0.0047366063 0.0030922363 0.00538653 - 829600 0.0040120395 0.0025893264 0.0045326581 - 829700 0.005352479 0.0022548532 0.0048474602 - 829800 0.0046655326 0.0023244881 0.0045843554 - 829900 0.0051785426 0.0023708818 0.0048792383 - 830000 0.0049267985 0.0022590341 0.0046454521 - 830100 0.0034315258 0.0022996178 0.0039617632 - 830200 0.0043360919 0.0020753282 0.0041756228 - 830300 0.0046260226 0.0022220398 0.0044627694 - 830400 0.0059769369 0.0024802649 0.0053753437 - 830500 0.0058350569 0.0022756619 0.0051020175 - 830600 0.0058028164 0.0020120768 0.004822816 - 830700 0.005518512 0.0023972716 0.0050703008 - 830800 0.0059080228 0.0023178378 0.0051795364 - 830900 0.0044971516 0.0023351242 0.004513432 - 831000 0.0061761945 0.0025086881 0.0055002823 - 831100 0.0038117296 0.0028707326 0.0047170391 - 831200 0.0051339365 0.0022681902 0.0047549407 - 831300 0.004010342 0.0018099531 0.0037524625 - 831400 0.0060078819 0.0017692154 0.0046792832 - 831500 0.0055727414 0.0021407587 0.0048400553 - 831600 0.0040245431 0.0024121882 0.0043615763 - 831700 0.0056943699 0.0023282783 0.0050864887 - 831800 0.0053188756 0.0024197897 0.0049961201 - 831900 0.0062563522 0.0023068296 0.0053372502 - 832000 0.0052745773 0.002474497 0.0050293704 - 832100 0.0037176737 0.0021889589 0.0039897071 - 832200 0.0079583488 0.0015772511 0.0054320763 - 832300 0.0045830933 0.0021184677 0.0043384035 - 832400 0.0061970706 0.0024167754 0.0054184815 - 832500 0.0054147424 0.0023379442 0.0049607101 - 832600 0.0045424213 0.002082179 0.0042824143 - 832700 0.0050937126 0.0021369516 0.0046042186 - 832800 0.0036796767 0.0025341454 0.0043164888 - 832900 0.0049846049 0.0020885783 0.0045029964 - 833000 0.0055207885 0.0022813384 0.0049554704 - 833100 0.0051201046 0.0024835693 0.00496362 - 833200 0.0058830742 0.002816323 0.005665937 - 833300 0.0054137401 0.0029264813 0.0055487616 - 833400 0.0051874226 0.0028107166 0.0053233744 - 833500 0.0040988918 0.0026917799 0.0046771806 - 833600 0.004302148 0.0021876737 0.0042715266 - 833700 0.0066157197 0.0014693206 0.0046738098 - 833800 0.0045364452 0.0017716483 0.0039689889 - 833900 0.0066623366 0.0019840621 0.0052111314 - 834000 0.0040989843 0.0024341347 0.0044195802 - 834100 0.0037467081 0.0024179441 0.0042327559 - 834200 0.0041269421 0.0025669429 0.0045659304 - 834300 0.0056012893 0.0021579695 0.004871094 - 834400 0.0058678559 0.0021478039 0.0049900466 - 834500 0.0047017494 0.0021682526 0.0044456625 - 834600 0.0055502488 0.0019675529 0.0046559547 - 834700 0.0053420939 0.0020092097 0.0045967864 - 834800 0.0045949008 0.0024704585 0.0046961136 - 834900 0.004337325 0.0024703569 0.0045712487 - 835000 0.0045422146 0.0028491574 0.0050492926 - 835100 0.0062929794 0.0025783793 0.0056265412 - 835200 0.0052948594 0.0024411945 0.005005892 - 835300 0.0037158626 0.0026309993 0.0044308702 - 835400 0.0045912973 0.0023154577 0.0045393673 - 835500 0.0045197763 0.0021770982 0.0043663648 - 835600 0.0055790169 0.0022450968 0.0049474331 - 835700 0.0054329092 0.0019989442 0.0046305097 - 835800 0.0052921154 0.0021705242 0.0047338926 - 835900 0.0045914653 0.0025838512 0.0048078423 - 836000 0.00480491 0.002649399 0.0049767773 - 836100 0.0057766663 0.0021896471 0.0049877199 - 836200 0.0044991783 0.0022957362 0.0044750257 - 836300 0.0056510698 0.0025503386 0.0052875755 - 836400 0.0048522203 0.0026181684 0.0049684626 - 836500 0.0073145606 0.0028265682 0.0063695585 - 836600 0.0058313206 0.0031592187 0.0059837646 - 836700 0.0040188518 0.0027793702 0.0047260016 - 836800 0.0045976337 0.0025512495 0.0047782283 - 836900 0.0043706733 0.0023690972 0.0044861421 - 837000 0.0052712761 0.002313835 0.0048671093 - 837100 0.0059679898 0.0023961018 0.0052868469 - 837200 0.0038697098 0.0025417435 0.0044161342 - 837300 0.0062701213 0.0025193594 0.0055564494 - 837400 0.004342511 0.0025749844 0.0046783882 - 837500 0.0078962961 0.0021384158 0.0059631842 - 837600 0.0063414999 0.0023705574 0.0054422214 - 837700 0.0047926252 0.0023893503 0.0047107781 - 837800 0.0056513239 0.0023528334 0.0050901934 - 837900 0.0055139365 0.0024624729 0.0051332859 - 838000 0.0049581246 0.002512766 0.0049143576 - 838100 0.0058663078 0.0023105879 0.0051520807 - 838200 0.0056090756 0.0023337216 0.0050506176 - 838300 0.0041015021 0.002127573 0.0041142381 - 838400 0.0056437258 0.0023825146 0.0051161943 - 838500 0.004199298 0.0023708453 0.0044048803 - 838600 0.004998893 0.0020697711 0.0044911099 - 838700 0.0053021263 0.0019570358 0.0045252532 - 838800 0.0051229968 0.0018582538 0.0043397054 - 838900 0.0038871496 0.0017116579 0.003594496 - 839000 0.0046071258 0.0018011569 0.0040327334 - 839100 0.0035353213 0.001936047 0.0036484683 - 839200 0.004412277 0.0023337095 0.0044709062 - 839300 0.0071344419 0.0022619689 0.0057177141 - 839400 0.0046304856 0.0029365632 0.0051794547 - 839500 0.003635207 0.0034120498 0.0051728531 - 839600 0.0040909069 0.0029285483 0.0049100813 - 839700 0.0052435848 0.0023147554 0.0048546168 - 839800 0.0028826631 0.0021162648 0.0035125548 - 839900 0.0054795308 0.0020162644 0.0046704121 - 840000 0.0049045616 0.0017858008 0.0041614478 - 840100 0.0038253155 0.002003736 0.0038566231 - 840200 0.0040379277 0.0021812672 0.0041371384 - 840300 0.0053418251 0.0024734887 0.0050609353 - 840400 0.0067309497 0.0030962639 0.0063565676 - 840500 0.0044313056 0.003124712 0.0052711257 - 840600 0.0046469022 0.0031021083 0.0053529515 - 840700 0.0045061259 0.0024353235 0.0046179782 - 840800 0.0034020917 0.0022570163 0.0039049045 - 840900 0.004742868 0.0025826689 0.0048799956 - 841000 0.0040852077 0.0027812847 0.0047600572 - 841100 0.0048806397 0.0026939012 0.005057961 - 841200 0.0043685743 0.0024993002 0.0046153284 - 841300 0.004985408 0.0022976992 0.0047125062 - 841400 0.0047789092 0.0022122699 0.0045270541 - 841500 0.0037330465 0.0022782194 0.0040864138 - 841600 0.0049585875 0.0020628673 0.0044646831 - 841700 0.0061202055 0.0019682301 0.0049327046 - 841800 0.0048181385 0.0021143409 0.0044481268 - 841900 0.0054938713 0.0023905406 0.0050516345 - 842000 0.0054432633 0.0023828496 0.0050194302 - 842100 0.0047971672 0.0023132216 0.0046368495 - 842200 0.005414443 0.0016615812 0.004284202 - 842300 0.0040518641 0.0014658586 0.0034284803 - 842400 0.0051666151 0.0018372752 0.0043398544 - 842500 0.0047905582 0.0021211996 0.0044416263 - 842600 0.0066801764 0.0020455703 0.0052812807 - 842700 0.0054692178 0.0022100907 0.004859243 - 842800 0.0072044893 0.0028864104 0.0063760849 - 842900 0.0063627307 0.0031421571 0.0062241048 - 843000 0.0075163131 0.0024377602 0.0060784744 - 843100 0.0078431844 0.0021741203 0.0059731627 - 843200 0.0053367244 0.0023543176 0.0049392935 - 843300 0.0060816561 0.0022066505 0.0051524527 - 843400 0.0061239287 0.0022866255 0.0052529035 - 843500 0.0053474298 0.00251117 0.0051013313 - 843600 0.0065357194 0.0020490237 0.0052147628 - 843700 0.0056361432 0.0017052454 0.0044352523 - 843800 0.0048813018 0.0022678594 0.00463224 - 843900 0.0053272225 0.0027229423 0.0053033157 - 844000 0.0059293796 0.0025452792 0.0054173225 - 844100 0.0064942587 0.002198614 0.0053442705 - 844200 0.0053751023 0.0028066296 0.0054101948 - 844300 0.0046364829 0.0034054878 0.0056512842 - 844400 0.0043410389 0.0032769394 0.0053796301 - 844500 0.0078233555 0.00275888 0.0065483178 - 844600 0.0053461678 0.0023630164 0.0049525664 - 844700 0.005604804 0.0019556998 0.0046705268 - 844800 0.0044237592 0.0018393265 0.0039820849 - 844900 0.0057805607 0.0017300913 0.0045300504 - 845000 0.0035871937 0.0019901145 0.0037276614 - 845100 0.0056223523 0.0024746851 0.005198012 - 845200 0.0042528666 0.002868687 0.0049286693 - 845300 0.0050594811 0.0025666168 0.0050173029 - 845400 0.005854056 0.0021362682 0.0049718266 - 845500 0.0055824248 0.0017349966 0.0044389836 - 845600 0.0031475808 0.002219519 0.0037441284 - 845700 0.0054859728 0.0022972851 0.0049545532 - 845800 0.0047401683 0.0023717831 0.0046678022 - 845900 0.0045984093 0.0020473423 0.0042746968 - 846000 0.0043674519 0.0017364579 0.0038519424 - 846100 0.0043055989 0.0018138571 0.0038993816 - 846200 0.0042141115 0.002067507 0.0041087173 - 846300 0.004734706 0.0020638533 0.0043572265 - 846400 0.0057632516 0.0021146701 0.0049062451 - 846500 0.0057678768 0.0017697501 0.0045635654 - 846600 0.0056407848 0.0018700167 0.0046022718 - 846700 0.0045046841 0.0024373158 0.0046192722 - 846800 0.0048742509 0.0024873948 0.0048483601 - 846900 0.0061905879 0.0024314535 0.0054300195 - 847000 0.0066294527 0.0023046501 0.0055157913 - 847100 0.0059596026 0.0025653313 0.0054520138 - 847200 0.0060575006 0.0023033575 0.0052374594 - 847300 0.0053473826 0.0020083009 0.0045984393 - 847400 0.0046242044 0.0018274772 0.0040673262 - 847500 0.0047585162 0.0018791618 0.0041840681 - 847600 0.0066284825 0.0015820347 0.0047927059 - 847700 0.0049443664 0.0020828085 0.0044777359 - 847800 0.0044812173 0.0025104955 0.0046810851 - 847900 0.00570263 0.0022656499 0.0050278613 - 848000 0.0050332411 0.0021970468 0.004635023 - 848100 0.0065102341 0.0022228496 0.0053762443 - 848200 0.0053020083 0.0023642775 0.0049324378 - 848300 0.0053274385 0.0021139618 0.0046944398 - 848400 0.0053183634 0.0018275016 0.0044035838 - 848500 0.004827764 0.0020952437 0.0044336919 - 848600 0.0063194465 0.0021583366 0.0052193185 - 848700 0.0051665827 0.0027331178 0.0052356813 - 848800 0.0047422019 0.0031194839 0.0054164879 - 848900 0.0058795123 0.0026998931 0.0055477818 - 849000 0.0041452078 0.0024759441 0.0044837791 - 849100 0.0070765726 0.0021107849 0.0055384997 - 849200 0.0047761626 0.0020776899 0.0043911437 - 849300 0.006662591 0.0020612993 0.0052884918 - 849400 0.0068060427 0.0021599752 0.0054566522 - 849500 0.0038453469 0.002101379 0.0039639689 - 849600 0.0060106407 0.0019559547 0.0048673588 - 849700 0.004552989 0.0019320627 0.0041374167 - 849800 0.0050282681 0.0018207869 0.0042563542 - 849900 0.0047089863 0.0017501765 0.0040310917 - 850000 0.0043243929 0.0019558883 0.0040505161 - 850100 0.0056564703 0.0018933254 0.0046331782 - 850200 0.0052461651 0.0018375648 0.004378676 - 850300 0.006151586 0.0021834358 0.0051631102 - 850400 0.0065256154 0.0017365857 0.0048974306 - 850500 0.0046127787 0.0016723056 0.0039066203 - 850600 0.0044770506 0.0023173061 0.0044858774 - 850700 0.0063483717 0.0025545353 0.0056295279 - 850800 0.0055342617 0.0024077276 0.0050883856 - 850900 0.0048869174 0.0027211888 0.0050882894 - 851000 0.0060937245 0.0026640692 0.005615717 - 851100 0.0059759438 0.002279412 0.0051740098 - 851200 0.0054568681 0.0021773895 0.00482056 - 851300 0.0054415679 0.0021548459 0.0047906053 - 851400 0.005322702 0.002165118 0.0047433018 - 851500 0.0048832469 0.0022932947 0.0046586174 - 851600 0.0056398491 0.0023176497 0.0050494516 - 851700 0.0049476685 0.0023908128 0.0047873397 - 851800 0.0043297269 0.0025219515 0.0046191629 - 851900 0.0053344877 0.002362204 0.0049460965 - 852000 0.005651052 0.0027253419 0.0054625702 - 852100 0.0052554842 0.0029110326 0.0054566577 - 852200 0.0068338062 0.002393966 0.0057040908 - 852300 0.0066171613 0.0022001058 0.0054052933 - 852400 0.0045747562 0.0024792577 0.0046951552 - 852500 0.0054963541 0.0026458971 0.0053081936 - 852600 0.0051301672 0.0024514297 0.0049363545 - 852700 0.0046758254 0.0022307605 0.0044956134 - 852800 0.0054242631 0.0020245972 0.0046519747 - 852900 0.0055965071 0.0017909959 0.0045018041 - 853000 0.0047093561 0.0019958598 0.0042769542 - 853100 0.0038906764 0.0023574268 0.0042419732 - 853200 0.0045265386 0.002205101 0.0043976431 - 853300 0.0060613464 0.0017927315 0.0047286962 - 853400 0.0038360721 0.0019044134 0.0037625108 - 853500 0.0069481094 0.001961426 0.0053269165 - 853600 0.0061749654 0.0026702197 0.0056612186 - 853700 0.0039727464 0.0027154868 0.0046397858 - 853800 0.0062323726 0.0023276151 0.0053464205 - 853900 0.0058344756 0.0025840553 0.0054101295 - 854000 0.0054062086 0.0027285542 0.0053471864 - 854100 0.0068726921 0.0024558042 0.0057847644 - 854200 0.0047506581 0.002789197 0.005090297 - 854300 0.0046492118 0.0027093244 0.0049612864 - 854400 0.0053650482 0.0026714527 0.0052701479 - 854500 0.0042997042 0.0026879602 0.0047706294 - 854600 0.0032125823 0.0024378487 0.0039939432 - 854700 0.0048370649 0.0021016679 0.0044446212 - 854800 0.0032609397 0.0020056082 0.0035851258 - 854900 0.0047658867 0.0019665593 0.0042750357 - 855000 0.0051441662 0.0019664955 0.004458201 - 855100 0.0045112696 0.0018055282 0.0039906745 - 855200 0.0048344969 0.0016857722 0.0040274816 - 855300 0.0059210706 0.0017305205 0.004598539 - 855400 0.0057537109 0.0019684333 0.004755387 - 855500 0.0046773708 0.0019018094 0.0041674108 - 855600 0.0056116668 0.001564644 0.0042827951 - 855700 0.0048116404 0.0020640989 0.0043947372 - 855800 0.0054605995 0.0023709866 0.0050159645 - 855900 0.0055447047 0.0019926245 0.0046783409 - 856000 0.0050054473 0.0020305152 0.0044550288 - 856100 0.0048380213 0.0020647083 0.0044081249 - 856200 0.0037347387 0.0025173661 0.0043263802 - 856300 0.0039466067 0.0030060816 0.0049177193 - 856400 0.0055201911 0.0027180454 0.0053918879 - 856500 0.0046404214 0.0024800248 0.0047277289 - 856600 0.004603687 0.0027250226 0.0049549335 - 856700 0.0066560246 0.0025893617 0.0058133736 - 856800 0.0039967012 0.0029387001 0.0048746023 - 856900 0.0053172122 0.0026016934 0.0051772181 - 857000 0.0059338459 0.0027521462 0.0056263528 - 857100 0.0047370318 0.0026488803 0.00494338 - 857200 0.0045607335 0.0023662758 0.0045753812 - 857300 0.0059721903 0.002197875 0.0050906547 - 857400 0.0065228781 0.0024161879 0.005575707 - 857500 0.0062006409 0.0028075766 0.0058110121 - 857600 0.0038365911 0.0028732953 0.0047316441 - 857700 0.0054072567 0.0021494542 0.0047685942 - 857800 0.0056006298 0.0019976169 0.004710422 - 857900 0.0057936282 0.0025047956 0.0053110842 - 858000 0.0050862902 0.0029010384 0.0053647102 - 858100 0.0049961001 0.0026673228 0.0050873088 - 858200 0.0059523257 0.0023044549 0.0051876127 - 858300 0.0047614486 0.0021864549 0.0044927816 - 858400 0.004968407 0.0021119848 0.0045185569 - 858500 0.0057749881 0.0018307458 0.0046280056 - 858600 0.0066652147 0.0018144372 0.0050429005 - 858700 0.0061584912 0.0022876948 0.005270714 - 858800 0.0046949773 0.0025472064 0.0048213361 - 858900 0.0050928117 0.0024940559 0.0049608866 - 859000 0.0049797355 0.0022765165 0.0046885759 - 859100 0.0056067745 0.0020718244 0.0047876058 - 859200 0.0054229514 0.0020380228 0.0046647649 - 859300 0.0039780228 0.0018189108 0.0037457656 - 859400 0.0042505982 0.001724247 0.0037831305 - 859500 0.0052628541 0.0016918975 0.0042410925 - 859600 0.0048974198 0.0024996152 0.0048718029 - 859700 0.0047976964 0.0023383387 0.0046622229 - 859800 0.0057708349 0.0018095158 0.004604764 - 859900 0.0064772899 0.0018962116 0.0050336489 - 860000 0.0034462723 0.0023083792 0.0039776674 - 860100 0.0061993454 0.0018095954 0.0048124033 - 860200 0.0057034573 0.0015984848 0.0043610969 - 860300 0.0058192592 0.001697176 0.0045158796 - 860400 0.0049323521 0.0019389007 0.0043280088 - 860500 0.0054758397 0.0016975892 0.004349949 - 860600 0.004427477 0.0015387656 0.0036833247 - 860700 0.0053766726 0.0018820538 0.0044863796 - 860800 0.0040810129 0.0023712742 0.0043480148 - 860900 0.0053870128 0.0017524227 0.004361757 - 861000 0.0045158816 0.0017887084 0.0039760886 - 861100 0.0050735179 0.0018720085 0.0043294938 - 861200 0.0073476016 0.001434559 0.0049935535 - 861300 0.00308931 0.001910658 0.0034070426 - 861400 0.0053646876 0.0022540369 0.0048525574 - 861500 0.0071445394 0.0025223269 0.0059829632 - 861600 0.0057081751 0.0022294717 0.004994369 - 861700 0.0063887216 0.0019052813 0.0049998183 - 861800 0.0032269482 0.0020065916 0.0035696446 - 861900 0.0042111684 0.0018873598 0.0039271445 - 862000 0.0041561577 0.0015282853 0.0035414241 - 862100 0.0056271413 0.001517036 0.0042426825 - 862200 0.0042311892 0.0017120049 0.0037614871 - 862300 0.0050005287 0.0018080548 0.0042301858 - 862400 0.0054122903 0.0013855865 0.0040071646 - 862500 0.0054489963 0.0018658846 0.0045052422 - 862600 0.0040738253 0.0024948433 0.0044681024 - 862700 0.0039638648 0.002588913 0.00450891 - 862800 0.0070186638 0.0020004464 0.0054001117 - 862900 0.004618009 0.0023952034 0.0046320516 - 863000 0.0053286422 0.0020605854 0.0046416465 - 863100 0.004821944 0.0020788595 0.0044144886 - 863200 0.0046004549 0.0021816466 0.0044099919 - 863300 0.0059568402 0.0020204467 0.0049057911 - 863400 0.0048051147 0.0022981038 0.0046255812 - 863500 0.0064309824 0.0023055222 0.0054205293 - 863600 0.004371846 0.0018549647 0.0039725776 - 863700 0.005676439 0.0015940985 0.0043436237 - 863800 0.0032598176 0.0018324503 0.0034114244 - 863900 0.0038777622 0.0020756202 0.0039539113 - 864000 0.0055107621 0.0022622969 0.0049315723 - 864100 0.0056518722 0.0029205846 0.0056582102 - 864200 0.0040179165 0.0031639942 0.0051101725 - 864300 0.0043485825 0.0026786517 0.0047849963 - 864400 0.0053794451 0.0022325172 0.0048381859 - 864500 0.0060767923 0.0016320858 0.0045755321 - 864600 0.0044020236 0.0018533493 0.0039855794 - 864700 0.0049490534 0.0022481836 0.0046453813 - 864800 0.004145541 0.0023796275 0.0043876239 - 864900 0.0037447399 0.0029604778 0.0047743362 - 865000 0.004296659 0.0031483916 0.0052295858 - 865100 0.0058345092 0.0032608653 0.0060869557 - 865200 0.0054960718 0.0031744876 0.0058366473 - 865300 0.0045008081 0.0032947914 0.0054748703 - 865400 0.0045653353 0.0030730639 0.0052843982 - 865500 0.0071978057 0.0026306075 0.0061170447 - 865600 0.0063455199 0.0028166189 0.0058902301 - 865700 0.0050912691 0.0028198794 0.0052859629 - 865800 0.0060307172 0.0024094242 0.0053305528 - 865900 0.0041719136 0.0023382874 0.0043590581 - 866000 0.0044351216 0.0020427447 0.0041910067 - 866100 0.004781782 0.0016894987 0.0040056743 - 866200 0.0055641472 0.0018026637 0.0044977975 - 866300 0.0045042024 0.002469276 0.0046509991 - 866400 0.0059607457 0.0024847772 0.0053720134 - 866500 0.0054225 0.0024807233 0.0051072467 - 866600 0.0054996571 0.0023395445 0.0050034409 - 866700 0.0057250688 0.0021726529 0.0049457331 - 866800 0.005871109 0.0021315082 0.0049753266 - 866900 0.0047196067 0.0021038641 0.0043899236 - 867000 0.0050635695 0.0020815585 0.0045342249 - 867100 0.0056827948 0.0024987451 0.0052513489 - 867200 0.0051267951 0.0028326384 0.0053159298 - 867300 0.0057432587 0.002637855 0.0054197459 - 867400 0.0045812587 0.0026254513 0.0048444985 - 867500 0.0046908666 0.0027738758 0.0050460143 - 867600 0.0050349511 0.0023926967 0.0048315012 - 867700 0.0055894676 0.0021833812 0.0048907795 - 867800 0.0032962255 0.0021784017 0.0037750109 - 867900 0.0050099061 0.0023848044 0.0048114777 - 868000 0.0052312897 0.0026183719 0.0051522779 - 868100 0.0059175261 0.0025713594 0.0054376611 - 868200 0.0068417628 0.002708126 0.0060221049 - 868300 0.0063183105 0.0029442976 0.0060047292 - 868400 0.0056966803 0.0024823776 0.0052417071 - 868500 0.0053847449 0.0020218806 0.0046301164 - 868600 0.0057887812 0.0019590944 0.0047630353 - 868700 0.0059481688 0.001974104 0.0048552483 - 868800 0.0065051111 0.0018759743 0.0050268875 - 868900 0.0037922577 0.0019039411 0.0037408159 - 869000 0.0052164416 0.0025044649 0.0050311788 - 869100 0.0053844601 0.0024453599 0.0050534577 - 869200 0.0059956641 0.0019829856 0.0048871354 - 869300 0.0052352734 0.0017753918 0.0043112273 - 869400 0.0039440863 0.0016644951 0.0035749119 - 869500 0.0056507857 0.0013360053 0.0040731046 - 869600 0.0039593142 0.0015651736 0.0034829664 - 869700 0.0050498121 0.0017194958 0.0041654985 - 869800 0.0045089653 0.0018625733 0.0040466033 - 869900 0.0040847952 0.0021729251 0.0041514978 - 870000 0.0053131464 0.002425373 0.0049989283 - 870100 0.0046395931 0.0029205034 0.0051678063 - 870200 0.0051698091 0.0031165061 0.0056206324 - 870300 0.00526207 0.0026580498 0.005206865 - 870400 0.0044115242 0.0025758166 0.0047126487 - 870500 0.0053439686 0.0022063411 0.0047948259 - 870600 0.0048150245 0.0022421613 0.0045744388 - 870700 0.0045740713 0.0026258586 0.0048414243 - 870800 0.0058442331 0.0023316024 0.0051624028 - 870900 0.0045884688 0.0020398695 0.004262409 - 871000 0.006745615 0.0023629332 0.0056303405 - 871100 0.0029735211 0.0029038651 0.0043441644 - 871200 0.0029176933 0.0027037768 0.0041170345 - 871300 0.00370194 0.0024572035 0.0042503307 - 871400 0.0047947072 0.002195163 0.0045175993 - 871500 0.0040491894 0.0021832617 0.0041445879 - 871600 0.004131186 0.0020976391 0.0040986823 - 871700 0.0036244676 0.0025006773 0.0042562788 - 871800 0.0050327311 0.0028469612 0.0052846903 - 871900 0.0059752716 0.002640368 0.0055346401 - 872000 0.0072052441 0.0026021206 0.0060921607 - 872100 0.0054599654 0.003356316 0.0060009867 - 872200 0.0061494091 0.0034011473 0.0063797674 - 872300 0.0062216418 0.0029028621 0.0059164698 - 872400 0.0057700572 0.002376346 0.0051712175 - 872500 0.0054605262 0.0017247568 0.0043696991 - 872600 0.0065060645 0.0019192938 0.0050706688 - 872700 0.0034921797 0.00214903 0.0038405545 - 872800 0.0046568465 0.001904314 0.0041599741 - 872900 0.0047508738 0.0018934728 0.0041946773 - 873000 0.0039989058 0.0023370909 0.0042740609 - 873100 0.0046116014 0.0024025697 0.0046363141 - 873200 0.0058362033 0.0024107606 0.0052376716 - 873300 0.0050052353 0.0021089349 0.0045333457 - 873400 0.0043243666 0.0018570149 0.0039516299 - 873500 0.0060417746 0.0017800661 0.0047065506 - 873600 0.0058286883 0.0016270908 0.0044503617 - 873700 0.0059504082 0.0016722526 0.0045544816 - 873800 0.0047201343 0.001502395 0.00378871 - 873900 0.0051643384 0.0019103465 0.0044118229 - 874000 0.0044716935 0.0019164247 0.0040824012 - 874100 0.0055209738 0.0016687887 0.0043430104 - 874200 0.005541297 0.0017268129 0.0044108787 - 874300 0.0043406096 0.0018662017 0.0039686845 - 874400 0.004566841 0.0020667351 0.0042787987 - 874500 0.0053422991 0.0021666657 0.0047543418 - 874600 0.0035525786 0.0024153898 0.0041361701 - 874700 0.005953952 0.0024292206 0.0053131661 - 874800 0.0058431573 0.0024488044 0.0052790837 - 874900 0.0064058203 0.0024285904 0.0055314096 - 875000 0.00405313 0.0020533357 0.0040165705 - 875100 0.0037929332 0.0019596841 0.0037968861 - 875200 0.0050701367 0.0021221614 0.0045780088 - 875300 0.0060715716 0.0017051027 0.0046460202 - 875400 0.004710324 0.0014137658 0.003695329 - 875500 0.0043335123 0.0016019138 0.0037009589 - 875600 0.0042025856 0.0018473997 0.0038830271 - 875700 0.0049053841 0.0017878385 0.0041638839 - 875800 0.0041899618 0.0019920418 0.0040215545 - 875900 0.0044421586 0.0024465964 0.0045982669 - 876000 0.0064750486 0.0024625979 0.0055989496 - 876100 0.0046489407 0.0024328187 0.0046846493 - 876200 0.0054684069 0.0026573109 0.0053060705 - 876300 0.0059946188 0.0025223652 0.0054260087 - 876400 0.005264461 0.002009759 0.0045597323 - 876500 0.0047465956 0.0023134978 0.0046126301 - 876600 0.0038953848 0.0025319194 0.0044187464 - 876700 0.0059633005 0.0024601723 0.005348646 - 876800 0.0052690376 0.0023696607 0.0049218508 - 876900 0.0051080073 0.0027025657 0.0051767568 - 877000 0.0053158923 0.0022440654 0.0048189508 - 877100 0.0043594579 0.0018305838 0.0039421963 - 877200 0.0049671968 0.0015844873 0.0039904732 - 877300 0.0039512363 0.0015694145 0.0034832945 - 877400 0.0038771032 0.0016423989 0.0035203707 - 877500 0.0045670734 0.0017279506 0.0039401268 - 877600 0.0044039909 0.0018076409 0.003940824 - 877700 0.0071993151 0.0015499751 0.0050371433 - 877800 0.0056428781 0.0021374626 0.0048707317 - 877900 0.0055321069 0.002384965 0.0050645793 - 878000 0.0043618243 0.0021396002 0.0042523589 - 878100 0.0061990178 0.0018258514 0.0048285006 - 878200 0.0053402256 0.0019623311 0.0045490028 - 878300 0.0038492453 0.0021352829 0.0039997611 - 878400 0.0054717178 0.0018519674 0.0045023307 - 878500 0.0052963635 0.0023764019 0.004941828 - 878600 0.0043833021 0.002746165 0.0048693269 - 878700 0.0044160999 0.0022371139 0.0043761623 - 878800 0.0061904195 0.0018416638 0.0048401482 - 878900 0.0047326323 0.0022643587 0.0045567275 - 879000 0.0051858318 0.0024106959 0.0049225832 - 879100 0.0079683743 0.0022448074 0.0061044887 - 879200 0.0051239936 0.0026982857 0.0051802201 - 879300 0.0047041908 0.0026877246 0.004966317 - 879400 0.0055377993 0.0023778524 0.005060224 - 879500 0.0055742892 0.0016449477 0.004344994 - 879600 0.0044573179 0.0014146499 0.0035736632 - 879700 0.0045609099 0.0019616657 0.0041708564 - 879800 0.0046675853 0.0020757603 0.0043366219 - 879900 0.0043234176 0.0019717256 0.004065881 - 880000 0.0058968536 0.0018146106 0.0046708991 - 880100 0.0055390001 0.0019235335 0.0046064867 - 880200 0.0039529748 0.0024218493 0.0043365715 - 880300 0.0046439565 0.0023837985 0.004633215 - 880400 0.0071932878 0.0023345259 0.0058187747 - 880500 0.0052674529 0.0021674933 0.0047189158 - 880600 0.005248383 0.0018679768 0.0044101623 - 880700 0.0048606276 0.0020791383 0.0044335048 - 880800 0.0048506162 0.0024348835 0.0047844008 - 880900 0.0050412458 0.002781054 0.0052229074 - 881000 0.0042634156 0.0029056002 0.0049706921 - 881100 0.0052326974 0.0025866147 0.0051212026 - 881200 0.0043613578 0.0027186653 0.004831198 - 881300 0.004146849 0.0026637517 0.0046723816 - 881400 0.0042814352 0.0026028388 0.004676659 - 881500 0.003785976 0.00278726 0.0046210921 - 881600 0.0052532072 0.0028894347 0.0054339569 - 881700 0.005764702 0.0030157881 0.0058080656 - 881800 0.0056337431 0.0028247563 0.0055536006 - 881900 0.0043008144 0.0024057746 0.0044889815 - 882000 0.0047230168 0.0027151318 0.005002843 - 882100 0.0046751936 0.0027084039 0.0049729508 - 882200 0.0041987458 0.0025262908 0.0045600583 - 882300 0.0060678202 0.0023405991 0.0052796995 - 882400 0.0042507609 0.0024753505 0.0045343129 - 882500 0.0042872149 0.0028020391 0.0048786589 - 882600 0.0045338505 0.0021538453 0.0043499291 - 882700 0.004983702 0.0016432505 0.0040572312 - 882800 0.0050595637 0.0015767053 0.0040274315 - 882900 0.0044370081 0.0019226743 0.0040718501 - 883000 0.005687331 0.0022366066 0.0049914075 - 883100 0.0053818283 0.0030032195 0.0056100426 - 883200 0.0050895469 0.0036501023 0.0061153515 - 883300 0.0038622119 0.0036312824 0.0055020413 - 883400 0.0074901418 0.0028521747 0.0064802121 - 883500 0.0056732364 0.0027929712 0.0055409451 - 883600 0.0039074301 0.0034270502 0.0053197116 - 883700 0.0046025349 0.0030687325 0.0052980853 - 883800 0.0034021955 0.0028092021 0.0044571405 - 883900 0.0064375422 0.0021370687 0.0052552532 - 884000 0.0067525074 0.0026539708 0.0059247165 - 884100 0.0036573499 0.0034490249 0.0052205538 - 884200 0.0051928922 0.00303347 0.0055487772 - 884300 0.0065179501 0.002426461 0.005583593 - 884400 0.0062911228 0.0022301253 0.005277388 - 884500 0.0034050143 0.0025816056 0.0042309094 - 884600 0.0064674698 0.0024211082 0.0055537889 - 884700 0.0046329158 0.0025708732 0.0048149418 - 884800 0.0072985087 0.0022377646 0.0057729797 - 884900 0.0038575832 0.0020324469 0.0039009637 - 885000 0.0050410193 0.0022163007 0.0046580444 - 885100 0.0043707072 0.0022736629 0.0043907242 - 885200 0.004138619 0.0021482775 0.0041529211 - 885300 0.0039862609 0.002079799 0.0040106441 - 885400 0.0059560956 0.0020044921 0.0048894759 - 885500 0.005322811 0.0020141479 0.0045923845 - 885600 0.0058956604 0.0020864892 0.0049421997 - 885700 0.0049946359 0.002453454 0.0048727308 - 885800 0.0056644697 0.002332643 0.0050763705 - 885900 0.0050716607 0.002964918 0.0054215036 - 886000 0.0054045129 0.0025100331 0.0051278441 - 886100 0.0059882925 0.0020659526 0.0049665318 - 886200 0.006096828 0.0020023039 0.004955455 - 886300 0.0053336988 0.002271011 0.0048545214 - 886400 0.0052045542 0.0024073449 0.0049283008 - 886500 0.0048959906 0.0029383142 0.0053098096 - 886600 0.004638033 0.0029994036 0.0052459508 - 886700 0.0045122938 0.002907806 0.0050934483 - 886800 0.0051713532 0.0024628951 0.0049677693 - 886900 0.0042443536 0.001928563 0.0039844217 - 887000 0.0028255773 0.0019292419 0.0032978809 - 887100 0.0068117491 0.0019577002 0.0052571411 - 887200 0.0045456934 0.0024212392 0.0046230595 - 887300 0.0058900422 0.0021755969 0.0050285861 - 887400 0.0062706005 0.0023322932 0.0053696153 - 887500 0.005548478 0.0023313272 0.0050188713 - 887600 0.0054736861 0.0024643622 0.005115679 - 887700 0.0039463103 0.0024272924 0.0043387864 - 887800 0.0039924175 0.0021788804 0.0041127076 - 887900 0.0055343364 0.0016450099 0.0043257041 - 888000 0.0047919084 0.0016353844 0.003956465 - 888100 0.0049460331 0.0019212786 0.0043170133 - 888200 0.0059661917 0.0021576517 0.0050475258 - 888300 0.0049179065 0.0024993666 0.0048814775 - 888400 0.0036315647 0.0026611834 0.0044202225 - 888500 0.0058186933 0.0027077724 0.0055262019 - 888600 0.0058492566 0.0029980904 0.005831324 - 888700 0.0064297926 0.0029913321 0.0061057628 - 888800 0.0070386539 0.0024357744 0.0058451223 - 888900 0.0057771403 0.0021590932 0.0049573955 - 889000 0.0044407088 0.0024799225 0.0046308908 - 889100 0.0054594916 0.0023096099 0.0049540511 - 889200 0.0049090422 0.0021031621 0.0044809795 - 889300 0.0065360724 0.0021871981 0.0053531081 - 889400 0.005691903 0.0028192648 0.0055762803 - 889500 0.0051702174 0.0030208834 0.0055252074 - 889600 0.0047698676 0.0024453573 0.0047557619 - 889700 0.003996052 0.0021937929 0.0041293805 - 889800 0.0054418871 0.0019022418 0.0045381559 - 889900 0.0043950819 0.0020598343 0.0041887021 - 890000 0.0044762402 0.002387122 0.0045553008 - 890100 0.0042872516 0.002504315 0.0045809525 - 890200 0.0055197558 0.0023429889 0.0050166207 - 890300 0.0056102307 0.0023759244 0.0050933799 - 890400 0.0050478269 0.0020259344 0.0044709755 - 890500 0.0052168402 0.0019840923 0.0045109993 - 890600 0.0056599383 0.0019663242 0.0047078568 - 890700 0.0050345104 0.0024545533 0.0048931442 - 890800 0.0070266932 0.0026905877 0.0060941422 - 890900 0.0061902914 0.002874101 0.0058725234 - 891000 0.005704681 0.0026272594 0.0053904642 - 891100 0.0043684334 0.0025106053 0.0046265652 - 891200 0.0060222599 0.0024555351 0.0053725672 - 891300 0.0041504194 0.0027426637 0.004753023 - 891400 0.0067955548 0.002646601 0.0059381979 - 891500 0.0054975194 0.0025001104 0.0051629714 - 891600 0.005069437 0.0024447005 0.0049002091 - 891700 0.0038224773 0.0022549932 0.0041065057 - 891800 0.003605403 0.0023547885 0.0041011556 - 891900 0.0045216269 0.0021268917 0.0043170547 - 892000 0.0053800219 0.0018694963 0.0044754444 - 892100 0.0041062631 0.0020859348 0.0040749059 - 892200 0.0032373267 0.0021789853 0.0037470654 - 892300 0.0042217013 0.001770897 0.0038157836 - 892400 0.0052008904 0.0016918711 0.0042110524 - 892500 0.0036185822 0.0017684996 0.0035212504 - 892600 0.0045543661 0.0017652825 0.0039713036 - 892700 0.0047761223 0.0018555434 0.0041689776 - 892800 0.0064822186 0.0019634839 0.0051033085 - 892900 0.0051606404 0.0021953698 0.004695055 - 893000 0.005993053 0.0024585912 0.0053614762 - 893100 0.0054240582 0.0025574685 0.0051847467 - 893200 0.0030233616 0.0025515256 0.0040159664 - 893300 0.0042492579 0.002072348 0.0041305823 - 893400 0.0058409863 0.001823827 0.0046530548 - 893500 0.0051256547 0.0018506098 0.0043333488 - 893600 0.0036487024 0.002215258 0.0039825982 - 893700 0.0045363689 0.0024568576 0.0046541613 - 893800 0.0056094856 0.0020533916 0.0047704861 - 893900 0.0034179908 0.0022169955 0.0038725848 - 894000 0.0058012414 0.0019435341 0.0047535104 - 894100 0.0044939125 0.0019489307 0.0041256696 - 894200 0.0046610004 0.0017225125 0.0039801845 - 894300 0.0046431468 0.0015357668 0.003784791 - 894400 0.0048812667 0.0016672496 0.0040316132 - 894500 0.0056409101 0.0017675592 0.004499875 - 894600 0.0050777632 0.0022585899 0.0047181315 - 894700 0.0042065658 0.0024203815 0.0044579369 - 894800 0.0062284713 0.0019149874 0.0049319032 - 894900 0.0045448629 0.0021619562 0.0043633741 - 895000 0.005606208 0.0019612157 0.0046767228 - 895100 0.0065788197 0.001983889 0.0051705049 - 895200 0.0067371629 0.0018369417 0.005100255 - 895300 0.0046520004 0.0020163795 0.0042696922 - 895400 0.0050037902 0.0018940856 0.0043177965 - 895500 0.0048304878 0.002493375 0.0048331426 - 895600 0.005643987 0.0027981961 0.0055320023 - 895700 0.0049259569 0.0024999227 0.0048859331 - 895800 0.0040459693 0.0020146088 0.0039743751 - 895900 0.0040014398 0.0018255828 0.0037637802 - 896000 0.0045106381 0.0020483397 0.00423318 - 896100 0.0046739256 0.0022489978 0.0045129306 - 896200 0.005499405 0.0019130071 0.0045767814 - 896300 0.006365639 0.0017611681 0.0048445245 - 896400 0.0044027731 0.0024713067 0.0046038999 - 896500 0.0044174393 0.0026651805 0.0048048777 - 896600 0.0052201871 0.002545059 0.0050735872 - 896700 0.0046186165 0.0025037594 0.0047409017 - 896800 0.005272724 0.0022104342 0.0047644098 - 896900 0.0033805803 0.00258318 0.0042206486 - 897000 0.0057561129 0.0029572318 0.005745349 - 897100 0.0055640408 0.0027971872 0.0054922694 - 897200 0.0055860325 0.0020999322 0.0048056667 - 897300 0.006012205 0.0019762244 0.0048883862 - 897400 0.0057359195 0.0020488708 0.0048272068 - 897500 0.0074420565 0.0020755737 0.0056803198 - 897600 0.0052695622 0.0022607462 0.0048131904 - 897700 0.0065516547 0.0020369783 0.005210436 - 897800 0.0046123884 0.0020223656 0.0042564913 - 897900 0.0055838272 0.0021178249 0.0048224912 - 898000 0.0064646132 0.00221803 0.005349327 - 898100 0.0050159452 0.0026882594 0.0051178579 - 898200 0.0065906009 0.0022600013 0.0054523236 - 898300 0.004929631 0.0024263577 0.0048141477 - 898400 0.0052301095 0.0028008482 0.0053341825 - 898500 0.0044976538 0.0032755229 0.005454074 - 898600 0.0058539133 0.0028076731 0.0056431624 - 898700 0.0044959341 0.0024642021 0.0046419202 - 898800 0.0049091907 0.0021018413 0.0044797306 - 898900 0.0055770912 0.0023902317 0.0050916352 - 899000 0.0041398471 0.0023403177 0.0043455561 - 899100 0.0048142021 0.0021322023 0.0044640814 - 899200 0.0063231358 0.0020418595 0.0051046285 - 899300 0.0055685133 0.0022262928 0.0049235414 - 899400 0.0061629855 0.0020302209 0.005015417 - 899500 0.0062020526 0.0024865451 0.0054906644 - 899600 0.0051226892 0.0027278271 0.0052091297 - 899700 0.0042703558 0.0022399043 0.0043083579 - 899800 0.0059025635 0.001767706 0.0046267602 - 899900 0.0043578793 0.0020483386 0.0041591864 - 900000 0.0042593814 0.0021364835 0.0041996214 - 900100 0.0054281984 0.0017004785 0.004329762 - 900200 0.0042193539 0.0017787872 0.0038225367 - 900300 0.004738457 0.0020132917 0.0043084818 - 900400 0.0058560486 0.0022871326 0.0051236561 - 900500 0.0068740444 0.0019033736 0.0052329889 - 900600 0.006127382 0.0018686183 0.0048365689 - 900700 0.0048922163 0.0024524544 0.0048221217 - 900800 0.0060117479 0.0021581181 0.0050700585 - 900900 0.0045395544 0.0020258677 0.0042247143 - 901000 0.004295454 0.0024485912 0.0045292017 - 901100 0.0065956402 0.0022540921 0.0054488553 - 901200 0.0048978414 0.0025596015 0.0049319934 - 901300 0.0040791314 0.0022668264 0.0042426557 - 901400 0.0049997796 0.0021101881 0.0045319563 - 901500 0.0040500611 0.0024226095 0.0043843579 - 901600 0.007115019 0.0024922533 0.0059385906 - 901700 0.0049235539 0.0026210768 0.0050059232 - 901800 0.0048686323 0.0025609599 0.0049192037 - 901900 0.0043760732 0.0025170182 0.0046366787 - 902000 0.0065086153 0.0020525186 0.0052051291 - 902100 0.0046337373 0.002230444 0.0044749105 - 902200 0.0050318966 0.0024600463 0.0048973712 - 902300 0.0050944373 0.0020308522 0.0044984702 - 902400 0.0049888847 0.0016579245 0.0040744156 - 902500 0.0054903286 0.0016660084 0.0043253863 - 902600 0.0043177795 0.0018904717 0.0039818962 - 902700 0.0062790814 0.0018594397 0.0049008697 - 902800 0.003207295 0.0022846115 0.003838145 - 902900 0.0042602569 0.0021324935 0.0041960554 - 903000 0.0049859075 0.001727202 0.0041422509 - 903100 0.0054440976 0.001476138 0.0041131228 - 903200 0.0055207865 0.0018628086 0.0045369396 - 903300 0.0045460418 0.0019234322 0.0041254211 - 903400 0.0057253382 0.0016142898 0.0043875005 - 903500 0.004517051 0.0017783756 0.0039663222 - 903600 0.0036438615 0.0024402376 0.004205233 - 903700 0.0052197102 0.0023653566 0.0048936538 - 903800 0.0059419561 0.0016433414 0.0045214764 - 903900 0.0056567843 0.0019317653 0.0046717702 - 904000 0.0052937106 0.0021048981 0.0046690391 - 904100 0.0048080967 0.0018316583 0.0041605802 - 904200 0.0060970424 0.0018468035 0.0048000585 - 904300 0.0041421769 0.0021458098 0.0041521768 - 904400 0.007146738 0.0016215836 0.0050832848 - 904500 0.007787798 0.0014163473 0.0051885619 - 904600 0.005668724 0.0023374203 0.0050832085 - 904700 0.0053693372 0.0024650056 0.0050657783 - 904800 0.005154094 0.001878347 0.0043748613 - 904900 0.0057698256 0.0017504915 0.0045452508 - 905000 0.0041696751 0.0018211408 0.0038408271 - 905100 0.0043531354 0.0019840178 0.0040925678 - 905200 0.0058451703 0.0019799254 0.0048111798 - 905300 0.0054650983 0.0021764289 0.0048235859 - 905400 0.0057499869 0.0026637349 0.0054488847 - 905500 0.0056918362 0.003046413 0.0058033962 - 905600 0.0044745722 0.0038276114 0.0059949823 - 905700 0.0047424721 0.0038826027 0.0061797377 - 905800 0.005093406 0.003193247 0.0056603655 - 905900 0.0060736532 0.0027080366 0.0056499624 - 906000 0.0035037543 0.0028134255 0.0045105565 - 906100 0.0050714809 0.0027230573 0.0051795559 - 906200 0.0056115002 0.0023651339 0.0050832043 - 906300 0.0045996265 0.001853458 0.0040814021 - 906400 0.0035727116 0.0022892824 0.0040198146 - 906500 0.0034137939 0.0021799407 0.0038334971 - 906600 0.0037305271 0.0023158212 0.0041227953 - 906700 0.0045167623 0.0022119196 0.0043997263 - 906800 0.0040065008 0.0025050385 0.0044456873 - 906900 0.0046923231 0.0025804452 0.0048532892 - 907000 0.0043457245 0.002189401 0.0042943613 - 907100 0.0061746189 0.0016894069 0.0046802379 - 907200 0.0050401136 0.0018341432 0.0042754482 - 907300 0.005057163 0.0019376799 0.0043872433 - 907400 0.005042958 0.0016542677 0.0040969505 - 907500 0.0048932089 0.0019045592 0.0042747073 - 907600 0.0047952827 0.001759932 0.004082647 - 907700 0.0050272746 0.0014515635 0.0038866496 - 907800 0.0046504439 0.0018944389 0.0041469977 - 907900 0.0044410563 0.0018247923 0.0039759289 - 908000 0.0046761434 0.0016539908 0.0039189977 - 908100 0.0034004304 0.0019854184 0.0036325019 - 908200 0.0068044767 0.0018748429 0.0051707613 - 908300 0.0040347687 0.0019124011 0.0038667422 - 908400 0.0046679579 0.0018401347 0.0041011768 - 908500 0.0054585099 0.0019853505 0.0046293162 - 908600 0.004330041 0.0021322935 0.0042296571 - 908700 0.0044300126 0.0022972809 0.0044430683 - 908800 0.004697979 0.002173199 0.0044487826 - 908900 0.0061717845 0.0023025761 0.0052920342 - 909000 0.0041861233 0.0026203846 0.0046480381 - 909100 0.0045995902 0.0027069095 0.004934836 - 909200 0.0052120131 0.0024671095 0.0049916783 - 909300 0.0051970506 0.002422193 0.0049395144 - 909400 0.0048531837 0.0024188656 0.0047696265 - 909500 0.0039914626 0.0019779275 0.0039112922 - 909600 0.0056878237 0.0020939493 0.0048489889 - 909700 0.0056175673 0.0026174903 0.0053384995 - 909800 0.00697851 0.0020714194 0.0054516352 - 909900 0.0060132183 0.0021055463 0.0050181989 - 910000 0.0051857925 0.0022876334 0.0047995017 - 910100 0.0041871586 0.0026873841 0.0047155391 - 910200 0.0038338552 0.0027169581 0.0045739817 - 910300 0.0061645318 0.0023320838 0.0053180289 - 910400 0.0063824166 0.0021287008 0.0052201838 - 910500 0.0057394552 0.0022033969 0.0049834455 - 910600 0.0059210169 0.0022818269 0.0051498195 - 910700 0.003469782 0.0022701182 0.0039507938 - 910800 0.0044905947 0.0021681536 0.0043432855 - 910900 0.0058791896 0.0019750787 0.0048228111 - 911000 0.0053555664 0.0022856094 0.0048797118 - 911100 0.005213983 0.0023249692 0.0048504922 - 911200 0.0045698415 0.0022585285 0.0044720454 - 911300 0.0061612242 0.0021085581 0.005092901 - 911400 0.0058758465 0.0022432827 0.0050893959 - 911500 0.0044027955 0.0027507593 0.0048833633 - 911600 0.0052156486 0.002696259 0.0052225888 - 911700 0.0063856789 0.0027295991 0.0058226624 - 911800 0.0056817151 0.0028727171 0.0056247978 - 911900 0.0063451275 0.002500619 0.0055740401 - 912000 0.005737267 0.0027046381 0.0054836269 - 912100 0.0060002515 0.0030092083 0.0059155801 - 912200 0.0059424739 0.0024705787 0.0053489645 - 912300 0.0047851733 0.0023035004 0.0046213187 - 912400 0.0047256407 0.0023664881 0.0046554703 - 912500 0.0043052672 0.0021955463 0.0042809101 - 912600 0.003144249 0.002479325 0.0040023206 - 912700 0.0046216139 0.0022396193 0.0044782135 - 912800 0.0042552103 0.0018742801 0.0039353976 - 912900 0.0042687944 0.0021970494 0.0042647467 - 913000 0.004027396 0.0023966575 0.0043474275 - 913100 0.0034939552 0.0025796824 0.0042720669 - 913200 0.0067819467 0.0027322256 0.0060172311 - 913300 0.0038331843 0.0030352932 0.0048919919 - 913400 0.0050591405 0.0029329178 0.005383439 - 913500 0.0051101589 0.0026816536 0.0051568868 - 913600 0.0046362084 0.0026826872 0.0049283506 - 913700 0.0039210399 0.002137312 0.0040365657 - 913800 0.0051157981 0.0023175874 0.004795552 - 913900 0.0048268969 0.0021036862 0.0044417144 - 914000 0.0044905287 0.0020587357 0.0042338355 - 914100 0.0045170325 0.0021239335 0.0043118711 - 914200 0.0044158162 0.0023683157 0.0045072266 - 914300 0.0055705512 0.0022064565 0.0049046923 - 914400 0.0060907842 0.0016856105 0.0046358341 - 914500 0.0048729554 0.0021228839 0.0044832217 - 914600 0.0065464239 0.00241981 0.0055907341 - 914700 0.0046573176 0.0025388147 0.0047947029 - 914800 0.0054240097 0.0027172833 0.005344538 - 914900 0.0057883048 0.0029735479 0.005777258 - 915000 0.0045808023 0.0027395684 0.0049583945 - 915100 0.0038683618 0.0023550161 0.0042287539 - 915200 0.004703271 0.0018115949 0.0040897418 - 915300 0.0051867167 0.0020276543 0.0045399702 - 915400 0.0032235799 0.0024626438 0.0040240653 - 915500 0.0040876354 0.0024397717 0.0044197201 - 915600 0.0074145058 0.002155763 0.0057471642 - 915700 0.0043724886 0.0022494778 0.0043674019 - 915800 0.0053016308 0.0025366596 0.005104637 - 915900 0.0056865713 0.0026991698 0.0054536028 - 916000 0.0054463197 0.0029504799 0.005588541 - 916100 0.0050555737 0.0031390158 0.0055878093 - 916200 0.0071986191 0.0027097586 0.0061965898 - 916300 0.0060022288 0.0026426113 0.0055499409 - 916400 0.0053392027 0.0030975023 0.0056836786 - 916500 0.005177007 0.0036593801 0.0061669928 - 916600 0.0067229465 0.0039288046 0.0071852318 - 916700 0.0053893356 0.0037001688 0.0063106283 - 916800 0.0059365521 0.0033425896 0.0062181071 - 916900 0.0074573754 0.0032091367 0.0068213029 - 917000 0.0050574434 0.0027750643 0.0052247634 - 917100 0.0054116714 0.0022393159 0.0048605943 - 917200 0.0061593956 0.0024190565 0.0054025138 - 917300 0.0067936658 0.0026052085 0.0058958904 - 917400 0.0057355551 0.0024771158 0.0052552753 - 917500 0.0050371089 0.0020639598 0.0045038094 - 917600 0.0050725547 0.001887216 0.0043442346 - 917700 0.0042605592 0.0024512378 0.0045149461 - 917800 0.0064137993 0.0027059867 0.0058126708 - 917900 0.004250677 0.0029623601 0.0050212818 - 918000 0.0039084173 0.0030945255 0.0049876652 - 918100 0.0058246688 0.0026456898 0.0054670137 - 918200 0.0056728585 0.0022751624 0.0050229533 - 918300 0.0054981502 0.0024477511 0.0051109176 - 918400 0.004901977 0.0026690499 0.005043445 - 918500 0.0061602568 0.0020866042 0.0050704786 - 918600 0.0063151199 0.0018891448 0.004948031 - 918700 0.0051182627 0.0019971801 0.0044763386 - 918800 0.0063975702 0.0023723127 0.0054711358 - 918900 0.0041444452 0.0026970552 0.0047045208 - 919000 0.0058041953 0.0024597086 0.0052711157 - 919100 0.0033992011 0.0019129039 0.003559392 - 919200 0.0043897882 0.0022468364 0.00437314 - 919300 0.0057987982 0.0026871317 0.0054959246 - 919400 0.0046330509 0.00319299 0.0054371241 - 919500 0.0054502423 0.0030455807 0.0056855418 - 919600 0.0049949754 0.0025858498 0.005005291 - 919700 0.0052284024 0.0022286936 0.004761201 - 919800 0.0045669225 0.0019831564 0.0041952594 - 919900 0.005767867 0.0021537537 0.0049475643 - 920000 0.006044791 0.0024163542 0.0053442999 - 920100 0.0040664588 0.002423536 0.0043932269 - 920200 0.0052343123 0.0024604368 0.0049958068 - 920300 0.0054357889 0.0026202217 0.0052531819 - 920400 0.0067858593 0.0025088107 0.0057957113 - 920500 0.0052729414 0.002991958 0.005546039 - 920600 0.0043010869 0.0028094671 0.0048928061 - 920700 0.0057952162 0.0024490479 0.0052561057 - 920800 0.0060168758 0.0023668369 0.0052812611 - 920900 0.0058670716 0.0019157896 0.0047576524 - 921000 0.003767353 0.0015371493 0.0033619609 - 921100 0.0031087698 0.0020596462 0.0035654565 - 921200 0.0042799954 0.0023118854 0.0043850082 - 921300 0.0039054558 0.0021787667 0.0040704718 - 921400 0.0047381845 0.0021212198 0.0044162779 - 921500 0.0053355864 0.0020007995 0.0045852241 - 921600 0.0033417958 0.0019832992 0.0036019815 - 921700 0.0043265103 0.0020510336 0.0041466871 - 921800 0.0051211654 0.0019196867 0.0044002512 - 921900 0.0055913981 0.0018312269 0.0045395603 - 922000 0.0043358958 0.002234489 0.0043346885 - 922100 0.0046468326 0.0024925429 0.0047433524 - 922200 0.0042407173 0.0026368236 0.004690921 - 922300 0.0040624497 0.0026026131 0.0045703621 - 922400 0.0053370338 0.0023605738 0.0049456995 - 922500 0.0042330465 0.002272125 0.0043225069 - 922600 0.005584522 0.002173176 0.0048781788 - 922700 0.006278129 0.0021570855 0.0051980542 - 922800 0.006107336 0.0021422133 0.0051004542 - 922900 0.0042554764 0.0022539021 0.0043151485 - 923000 0.0035923982 0.0027196989 0.0044597668 - 923100 0.0052124833 0.0029739745 0.0054987711 - 923200 0.004134719 0.0036283332 0.0056310877 - 923300 0.0036562 0.0037877734 0.0055587452 - 923400 0.0054100314 0.0027443176 0.0053648016 - 923500 0.005234214 0.0026622469 0.0051975693 - 923600 0.0038672531 0.0025845211 0.0044577219 - 923700 0.0047025023 0.0023204832 0.0045982577 - 923800 0.0049111746 0.0026406177 0.0050194679 - 923900 0.0040796996 0.0025583441 0.0045344486 - 924000 0.0047663556 0.0022207037 0.0045294072 - 924100 0.0044868492 0.002828208 0.0050015256 - 924200 0.004954876 0.0030483145 0.0054483326 - 924300 0.0082057481 0.0025911319 0.0065657911 - 924400 0.0051054897 0.002820739 0.0052937105 - 924500 0.0038842349 0.002818311 0.0046997373 - 924600 0.0042711068 0.0026089651 0.0046777824 - 924700 0.0058377554 0.0026266715 0.0054543342 - 924800 0.0060193981 0.0030570738 0.0059727198 - 924900 0.0052110871 0.0032506449 0.0057747652 - 925000 0.0053566852 0.0023863316 0.0049809759 - 925100 0.0048543748 0.0020251345 0.0043764723 - 925200 0.0042410717 0.0024322038 0.0044864729 - 925300 0.0044960593 0.002768516 0.0049462947 - 925400 0.0060057645 0.0025291227 0.0054381649 - 925500 0.0049844822 0.0019662695 0.0043806281 - 925600 0.0050490504 0.0018776896 0.0043233233 - 925700 0.0062993092 0.0022325223 0.0052837501 - 925800 0.0049836832 0.0022213381 0.0046353096 - 925900 0.0046641415 0.0024474086 0.0047066022 - 926000 0.0032548816 0.0029021561 0.0044787394 - 926100 0.0048230251 0.0029527108 0.0052888635 - 926200 0.0056117445 0.0025699743 0.0052881631 - 926300 0.0051753219 0.0023572425 0.004864039 - 926400 0.0051483961 0.0025076044 0.0050013588 - 926500 0.0061967042 0.0018575716 0.0048591002 - 926600 0.0071504607 0.0018387821 0.0053022865 - 926700 0.0048674033 0.0024301001 0.0047877486 - 926800 0.0057691943 0.003027284 0.0058217375 - 926900 0.0053634028 0.0026781552 0.0052760534 - 927000 0.0065061219 0.0025474992 0.005698902 - 927100 0.0051804666 0.0026992705 0.005208559 - 927200 0.0049918042 0.0024906806 0.0049085857 - 927300 0.0051527194 0.0024263638 0.0049222123 - 927400 0.0053902259 0.002445864 0.0050567546 - 927500 0.0049548899 0.002520241 0.0049202658 - 927600 0.006396757 0.0022163214 0.0053147506 - 927700 0.00596603 0.0020855771 0.0049753729 - 927800 0.0049203407 0.0022184662 0.0046017562 - 927900 0.0042733869 0.0022094773 0.0042793991 - 928000 0.0051944121 0.0022818802 0.0047979235 - 928100 0.0037828276 0.0026725548 0.0045048619 - 928200 0.00576688 0.0023255125 0.005118845 - 928300 0.0048896022 0.0022407986 0.0046091997 - 928400 0.0067378852 0.0021471449 0.0054108081 - 928500 0.0058434172 0.0025542447 0.0053846499 - 928600 0.0044746314 0.002593051 0.0047604505 - 928700 0.0046253994 0.0028466128 0.0050870406 - 928800 0.005743956 0.0026235145 0.0054057432 - 928900 0.0058176895 0.0023592641 0.0051772075 - 929000 0.0062319268 0.0022942373 0.0053128268 - 929100 0.0055421003 0.0029425765 0.0056270313 - 929200 0.0051330945 0.0031922185 0.0056785612 - 929300 0.0039561701 0.002923185 0.0048394548 - 929400 0.0042949374 0.0024044956 0.0044848559 - 929500 0.0047085653 0.0023569925 0.0046377038 - 929600 0.004934285 0.0020820992 0.0044721435 - 929700 0.0047294666 0.0015832845 0.0038741199 - 929800 0.0057836402 0.0016239214 0.0044253721 - 929900 0.0055655917 0.0022330285 0.004928862 - 930000 0.0049863661 0.0027601712 0.0051754422 - 930100 0.0051293089 0.0030517166 0.0055362256 - 930200 0.0057293197 0.0030946544 0.0058697936 - 930300 0.0051039828 0.0031148554 0.0055870971 - 930400 0.0038427628 0.0033508434 0.0052121816 - 930500 0.0051922515 0.0029043348 0.0054193316 - 930600 0.0053145138 0.0022133247 0.0047875423 - 930700 0.0034529574 0.0023477352 0.0040202614 - 930800 0.0046203866 0.0023255838 0.0045635836 - 930900 0.0052839928 0.0026095954 0.0051690294 - 931000 0.0065618837 0.0026381287 0.0058165411 - 931100 0.0043599334 0.0028267436 0.0049385864 - 931200 0.0035621095 0.0029160512 0.004641448 - 931300 0.0053401607 0.0026662148 0.0052528551 - 931400 0.0061804861 0.0028247452 0.0058184182 - 931500 0.0045931684 0.0027248582 0.0049496741 - 931600 0.0060140835 0.0026924976 0.0056055693 - 931700 0.004904271 0.0026734892 0.0050489954 - 931800 0.0044298363 0.0028193181 0.0049650201 - 931900 0.0048944374 0.0027562625 0.0051270056 - 932000 0.0071154618 0.0024511833 0.0058977351 - 932100 0.003860532 0.0031107282 0.0049806734 - 932200 0.0068208984 0.0028945422 0.0061984149 - 932300 0.0046845672 0.0026342887 0.0049033759 - 932400 0.0053276433 0.0027672522 0.0053478295 - 932500 0.0064986706 0.002241014 0.0053888076 - 932600 0.0051487462 0.0018146476 0.0043085716 - 932700 0.0042916111 0.0016016391 0.0036803882 - 932800 0.0041685914 0.0021902094 0.0042093709 - 932900 0.0052071217 0.0024670542 0.0049892538 - 933000 0.0045115141 0.0023520526 0.0045373173 - 933100 0.0052643306 0.0020472923 0.0045972024 - 933200 0.0062967363 0.0021521319 0.0052021135 - 933300 0.0044429328 0.0028898726 0.0050419181 - 933400 0.0048935659 0.0028798925 0.0052502135 - 933500 0.0052139498 0.0026799801 0.0052054871 - 933600 0.0069463374 0.0023720407 0.0057366729 - 933700 0.0066049392 0.0021761456 0.005375413 - 933800 0.0053360362 0.0029085199 0.0054931625 - 933900 0.0047683956 0.0035885992 0.0058982908 - 934000 0.0052247587 0.002537406 0.0050681485 - 934100 0.0054624088 0.0021797338 0.004825588 - 934200 0.0045599789 0.0021010767 0.0043098165 - 934300 0.0058858189 0.002057112 0.0049080556 - 934400 0.0035967249 0.0018614409 0.0036036045 - 934500 0.0049413456 0.0017813772 0.0041748415 - 934600 0.0047759456 0.0016350869 0.0039484355 - 934700 0.0037973415 0.0021312356 0.0039705729 - 934800 0.0050670225 0.0022912836 0.0047456226 - 934900 0.0048448934 0.0021616178 0.0045083631 - 935000 0.004402585 0.0021219578 0.0042544599 - 935100 0.0058958687 0.0020132321 0.0048690435 - 935200 0.0037062857 0.001953819 0.0037490512 - 935300 0.0058526465 0.0018491855 0.0046840611 - 935400 0.0042845237 0.0021022821 0.0041775983 - 935500 0.0047717854 0.0021027694 0.004414103 - 935600 0.0040405173 0.0022639309 0.0042210565 - 935700 0.0053764713 0.0024574989 0.0050617272 - 935800 0.0049258183 0.0022476217 0.004633565 - 935900 0.0055006753 0.0017809537 0.0044453433 - 936000 0.0065473003 0.0021087918 0.0052801404 - 936100 0.0044343634 0.0028015241 0.0049494188 - 936200 0.0061595775 0.0027402436 0.005723789 - 936300 0.0060430921 0.0025683632 0.005495486 - 936400 0.0051984418 0.0027383144 0.0052563096 - 936500 0.0039275214 0.0024941812 0.0043965744 - 936600 0.0062931767 0.0019471787 0.0049954362 - 936700 0.0042759639 0.0022225781 0.0042937481 - 936800 0.0040872639 0.0023745899 0.0043543584 - 936900 0.0048975196 0.0023378734 0.0047101095 - 937000 0.0032179144 0.0026585836 0.0042172609 - 937100 0.0052467175 0.0024809538 0.0050223326 - 937200 0.0063316569 0.0022425738 0.0053094701 - 937300 0.0043823871 0.0023939209 0.0045166397 - 937400 0.0037825542 0.0019736449 0.0038058196 - 937500 0.006945398 0.001727082 0.0050912592 - 937600 0.0044025021 0.0019377315 0.0040701934 - 937700 0.0045997414 0.0021051691 0.0043331689 - 937800 0.0051405122 0.0017352909 0.0042252265 - 937900 0.0052900352 0.0016068988 0.0041692596 - 938000 0.0043683697 0.0022520078 0.0043679368 - 938100 0.0053322185 0.0023079194 0.0048907128 - 938200 0.0044762555 0.0020837585 0.0042519448 - 938300 0.0042120204 0.0021331489 0.0041733463 - 938400 0.0045968366 0.0021254906 0.0043520834 - 938500 0.0053763696 0.0024403812 0.0050445602 - 938600 0.0046906164 0.002448163 0.0047201803 - 938700 0.0070948586 0.0023749902 0.0058115623 - 938800 0.0060569508 0.0022366681 0.0051705037 - 938900 0.0044139434 0.0021018629 0.0042398668 - 939000 0.0047177505 0.0022456193 0.0045307797 - 939100 0.0060812161 0.0024174248 0.0053630139 - 939200 0.0053180732 0.0030814073 0.005657349 - 939300 0.005757489 0.0035168383 0.006305622 - 939400 0.0044985973 0.0034419901 0.0056209982 - 939500 0.0067988373 0.0024250929 0.0057182798 - 939600 0.005756216 0.0018577468 0.0046459139 - 939700 0.0045083919 0.0021324049 0.0043161572 - 939800 0.0052943144 0.0022828249 0.0048472584 - 939900 0.0058716815 0.0018424029 0.0046864986 - 940000 0.0055416488 0.0018416544 0.0045258906 - 940100 0.0031436003 0.0022041912 0.0037268726 - 940200 0.0055225652 0.0019159445 0.0045909371 - 940300 0.0054997233 0.0022909675 0.004954896 - 940400 0.004628769 0.0022951016 0.0045371615 - 940500 0.005589582 0.0018861739 0.0045936276 - 940600 0.0047684808 0.0022485015 0.0045582344 - 940700 0.0062162041 0.0024726269 0.0054836008 - 940800 0.0042707863 0.0022847921 0.0043534542 - 940900 0.0066448263 0.0026329137 0.0058515015 - 941000 0.0051064829 0.0025892115 0.0050626642 - 941100 0.004041892 0.0028100085 0.0047677999 - 941200 0.003785463 0.0027129149 0.0045464986 - 941300 0.0046511635 0.0025333914 0.0047862987 - 941400 0.0045344153 0.0022348387 0.0044311962 - 941500 0.005084644 0.0021555214 0.0046183958 - 941600 0.0050205532 0.0023537695 0.0047856 - 941700 0.0062520441 0.0022463079 0.0052746417 - 941800 0.0042861818 0.0021466886 0.0042228079 - 941900 0.004392198 0.002190112 0.0043175829 - 942000 0.0034351542 0.0019786369 0.0036425397 - 942100 0.0040987862 0.0018693301 0.0038546796 - 942200 0.005630164 0.0017928489 0.0045199596 - 942300 0.0053026795 0.0016426074 0.0042110928 - 942400 0.0035599233 0.0015657275 0.0032900653 - 942500 0.0045835524 0.0016203927 0.0038405509 - 942600 0.0053250268 0.0023007467 0.0048800566 - 942700 0.0048466492 0.0025985395 0.0049461352 - 942800 0.0046209911 0.0025038338 0.0047421264 - 942900 0.0068072383 0.0025411377 0.0058383938 - 943000 0.005411537 0.0026705977 0.0052918109 - 943100 0.0036802679 0.0027317137 0.0045143434 - 943200 0.0052115453 0.0028054444 0.0053297867 - 943300 0.006023415 0.0027199325 0.0056375241 - 943400 0.0051481728 0.002571866 0.0050655122 - 943500 0.0044697046 0.0022288141 0.0043938273 - 943600 0.005675314 0.0018073149 0.0045562951 - 943700 0.0052683777 0.0016124523 0.0041643227 - 943800 0.0063775556 0.0014874661 0.0045765946 - 943900 0.0079578724 0.0020475722 0.0059021667 - 944000 0.004360418 0.0029470757 0.0050591532 - 944100 0.0049746408 0.0027739785 0.0051835702 - 944200 0.0050460203 0.0024382669 0.004882433 - 944300 0.0041933764 0.0025049891 0.0045361558 - 944400 0.0050356239 0.0024802493 0.0049193796 - 944500 0.0039023641 0.0022275687 0.0041177763 - 944600 0.0048365324 0.0023149804 0.0046576758 - 944700 0.0034079495 0.0021403785 0.0037911041 - 944800 0.0038934696 0.0022816553 0.0041675546 - 944900 0.0049994576 0.0023964179 0.0048180302 - 945000 0.0051028167 0.0024058153 0.0048774922 - 945100 0.0041022427 0.0021579791 0.0041450029 - 945200 0.0048800623 0.0018972421 0.0042610223 - 945300 0.005403965 0.0018377338 0.0044552794 - 945400 0.0028189269 0.0018746929 0.0032401106 - 945500 0.0061938881 0.0018988392 0.0048990037 - 945600 0.0041378738 0.0022335236 0.0042378062 - 945700 0.0045096853 0.0023237851 0.004508164 - 945800 0.0052720965 0.0021733537 0.0047270255 - 945900 0.0033297437 0.0024562721 0.0040691167 - 946000 0.0056340142 0.0029726908 0.0057016665 - 946100 0.0041008987 0.0032302616 0.0052166344 - 946200 0.0051130462 0.0027650909 0.0052417227 - 946300 0.0056753951 0.0025245556 0.005273575 - 946400 0.0072498138 0.0029957017 0.0065073302 - 946500 0.0051987779 0.0038308286 0.0063489866 - 946600 0.0059265893 0.0043868597 0.0072575514 - 946700 0.0062096998 0.0034209343 0.0064287576 - 946800 0.0079950045 0.0025314299 0.0064040102 - 946900 0.0051343178 0.0026700614 0.0051569966 - 947000 0.0049109735 0.0034117973 0.0057905501 - 947100 0.0046992868 0.0030929475 0.0053691646 - 947200 0.0043415693 0.00236724 0.0044701876 - 947300 0.0061322055 0.0017398769 0.004710164 - 947400 0.0049727991 0.0019178436 0.0043265432 - 947500 0.0064763975 0.002839243 0.005976248 - 947600 0.0044282292 0.0025117934 0.0046567169 - 947700 0.0068256802 0.0020960784 0.0054022673 - 947800 0.003521005 0.0019985364 0.0037040232 - 947900 0.0059596959 0.0020234897 0.0049102174 - 948000 0.005005203 0.0022069317 0.0046313269 - 948100 0.0038802047 0.0022964781 0.0041759522 - 948200 0.005091983 0.0021104511 0.0045768804 - 948300 0.0032690026 0.0020940331 0.0036774562 - 948400 0.0054928067 0.0019917874 0.0046523656 - 948500 0.0063228598 0.0017077834 0.0047704186 - 948600 0.005332437 0.0015879005 0.0041707997 - 948700 0.0042068674 0.0020733234 0.0041110248 - 948800 0.005213208 0.0022764196 0.0048015672 - 948900 0.0046888905 0.0022654908 0.0045366722 - 949000 0.0061654031 0.0022942677 0.0052806348 - 949100 0.0045621684 0.0023463816 0.0045561819 - 949200 0.0050308026 0.0026853832 0.0051221783 - 949300 0.0062045131 0.0030100737 0.0060153848 - 949400 0.0062289807 0.0030469915 0.006064154 - 949500 0.0065569173 0.0026823296 0.0058583364 - 949600 0.0056407572 0.0026618394 0.0053940811 - 949700 0.0062082815 0.0021954619 0.0052025983 - 949800 0.0052405865 0.0021203296 0.0046587387 - 949900 0.0033519112 0.0025513791 0.0041749611 - 950000 0.0053131252 0.0019912283 0.0045647733 - 950100 0.0049894741 0.0016561234 0.0040728999 - 950200 0.0053411158 0.0016456956 0.0042327985 - 950300 0.0039732811 0.0019581877 0.0038827457 - 950400 0.0059342095 0.0023727343 0.0052471171 - 950500 0.0057752607 0.0027487682 0.0055461601 - 950600 0.0057572419 0.002894755 0.005683419 - 950700 0.0056000498 0.0027801129 0.005492637 - 950800 0.0042088159 0.0028489361 0.0048875813 - 950900 0.0061734962 0.0028081964 0.0057984836 - 951000 0.0043815689 0.0031820963 0.0053044187 - 951100 0.0051664904 0.0029436207 0.0054461395 - 951200 0.0044327504 0.0024947531 0.0046418665 - 951300 0.005171337 0.0026408234 0.0051456898 - 951400 0.0068744234 0.0029331053 0.0062629041 - 951500 0.0047606888 0.0033934423 0.005699401 - 951600 0.0037071288 0.0033728531 0.0051684937 - 951700 0.0053865368 0.0032247545 0.0058338583 - 951800 0.0049175734 0.0036315834 0.006013533 - 951900 0.0051782682 0.0038334192 0.0063416429 - 952000 0.0040840689 0.0031068683 0.0050850892 - 952100 0.0058587822 0.0027311967 0.0055690444 - 952200 0.0046111946 0.002773444 0.0050069913 - 952300 0.0053522936 0.002912185 0.0055047022 - 952400 0.0065907487 0.003172013 0.0063644069 - 952500 0.0055674737 0.0029210535 0.0056177986 - 952600 0.0069084289 0.0028771526 0.0062234229 - 952700 0.0060708507 0.0028515029 0.0057920713 - 952800 0.0069585295 0.0025188217 0.0058893594 - 952900 0.0048204144 0.002485112 0.0048200002 - 953000 0.0069428352 0.0028080094 0.0061709452 - 953100 0.0047471093 0.0028290936 0.0051284746 - 953200 0.0036051639 0.0028000619 0.0045463132 - 953300 0.0056673368 0.0030097582 0.0057548745 - 953400 0.0060320612 0.0032784386 0.0062002182 - 953500 0.0057180543 0.0034351563 0.0062048389 - 953600 0.0038916943 0.003025445 0.0049104845 - 953700 0.00737188 0.0026030746 0.006173829 - 953800 0.0062597288 0.0028046327 0.0058366888 - 953900 0.0056359009 0.0024194409 0.0051493304 - 954000 0.00643797 0.0023126947 0.0054310864 - 954100 0.0049080539 0.0026652063 0.005042545 - 954200 0.0034596401 0.0024356395 0.0041114027 - 954300 0.0038744587 0.0022654954 0.0041421864 - 954400 0.004950674 0.0026744576 0.0050724404 - 954500 0.0050698128 0.0027979152 0.0052536057 - 954600 0.0058338159 0.0025317718 0.0053575264 - 954700 0.0040856969 0.002203056 0.0041820654 - 954800 0.0055699018 0.0018720323 0.0045699535 - 954900 0.0047980173 0.0018126325 0.0041366721 - 955000 0.0055898982 0.0022302791 0.0049378861 - 955100 0.0053229546 0.0021141285 0.0046924346 - 955200 0.0047164182 0.0022851334 0.0045696484 - 955300 0.0052976166 0.002277011 0.0048430441 - 955400 0.0044672816 0.0025256492 0.0046894887 - 955500 0.0039087567 0.0023362256 0.0042295297 - 955600 0.0040131683 0.002094189 0.0040380674 - 955700 0.0064930612 0.0015757988 0.0047208753 - 955800 0.0050546006 0.0017680817 0.0042164038 - 955900 0.0045747457 0.0019607462 0.0041766387 - 956000 0.0050182033 0.0024105161 0.0048412083 - 956100 0.0040137932 0.002189101 0.0041332822 - 956200 0.0061792428 0.0021681473 0.005161218 - 956300 0.0057191765 0.0024544626 0.0052246887 - 956400 0.0047886321 0.0022090529 0.0045285466 - 956500 0.00560629 0.0020619527 0.0047774994 - 956600 0.0053011552 0.0019516047 0.0045193517 - 956700 0.0059302 0.002239956 0.0051123966 - 956800 0.0048866442 0.0025588454 0.0049258136 - 956900 0.0036529137 0.0029422396 0.0047116196 - 957000 0.0056451389 0.0029132276 0.0056475917 - 957100 0.0070470705 0.0026443147 0.0060577395 - 957200 0.0040377774 0.0022018026 0.004157601 - 957300 0.0044653293 0.002212534 0.0043754279 - 957400 0.0056186963 0.0021741388 0.0048956948 - 957500 0.004049556 0.0019940025 0.0039555062 - 957600 0.0047872015 0.0020116963 0.004330497 - 957700 0.0052721379 0.0020372776 0.0045909693 - 957800 0.0062856865 0.0025436691 0.0055882985 - 957900 0.0043697159 0.0026838986 0.0048004798 - 958000 0.0049416664 0.0026650965 0.0050587161 - 958100 0.0047999366 0.0027154956 0.0050404649 - 958200 0.0050593847 0.0022163736 0.0046670131 - 958300 0.0046629457 0.0019513039 0.0042099183 - 958400 0.0058839581 0.0025983195 0.0054483617 - 958500 0.0038060689 0.0026717825 0.0045153471 - 958600 0.0037977217 0.0020216229 0.0038611443 - 958700 0.0037925678 0.001969528 0.003806553 - 958800 0.0042955345 0.0014518741 0.0035325236 - 958900 0.0043793328 0.0017684281 0.0038896674 - 959000 0.0057369549 0.0022281857 0.0050070232 - 959100 0.0064752034 0.0025851078 0.0057215345 - 959200 0.0064714173 0.0022009826 0.0053355754 - 959300 0.0060301539 0.0023047435 0.0052255993 - 959400 0.0045810197 0.0025677903 0.0047867218 - 959500 0.0059542854 0.0026858088 0.0055699158 - 959600 0.0056682423 0.0022321446 0.0049776995 - 959700 0.0050938783 0.0022735076 0.0047408549 - 959800 0.0049016391 0.0018602921 0.0042345235 - 959900 0.0067222321 0.0018380015 0.0050940827 - 960000 0.003409282 0.0021628656 0.0038142365 - 960100 0.0042491695 0.0021001705 0.004158362 - 960200 0.0046222876 0.0019667416 0.0042056622 - 960300 0.0036195501 0.0024447524 0.004197972 - 960400 0.0039536324 0.0026212194 0.0045362601 - 960500 0.0059259416 0.0024468969 0.0053172749 - 960600 0.0048850081 0.0027166128 0.0050827886 - 960700 0.0040476218 0.0026169123 0.0045774791 - 960800 0.0061431448 0.0028528319 0.0058284177 - 960900 0.0052175395 0.0033753033 0.005902549 - 961000 0.005760718 0.0038911803 0.0066815281 - 961100 0.0051228469 0.0036594519 0.0061408308 - 961200 0.0051653392 0.0034565846 0.0059585457 - 961300 0.0042495426 0.0039830906 0.0060414628 - 961400 0.0044687998 0.0037522314 0.0059168063 - 961500 0.0058159173 0.0033407056 0.0061577905 - 961600 0.0044613401 0.003477246 0.0056382076 - 961700 0.0053861932 0.0030882922 0.0056972296 - 961800 0.0049455504 0.0029627196 0.0053582206 - 961900 0.0054369273 0.002848965 0.0054824766 - 962000 0.0064603154 0.0028437102 0.0059729255 - 962100 0.0063945766 0.0023526109 0.0054499839 - 962200 0.0058369491 0.0021947195 0.0050219917 - 962300 0.0066036713 0.0021596896 0.0053583429 - 962400 0.0053764386 0.001943272 0.0045474844 - 962500 0.0047865341 0.0017216339 0.0040401114 - 962600 0.0038031509 0.0021001021 0.0039422533 - 962700 0.0040399494 0.0023889489 0.0043457994 - 962800 0.0057168874 0.0022548604 0.0050239778 - 962900 0.004672955 0.0020505425 0.0043140051 - 963000 0.0050582114 0.0018664446 0.0043165158 - 963100 0.0071511998 0.0018459503 0.0053098127 - 963200 0.0047589308 0.0019341507 0.0042392578 - 963300 0.0043425273 0.0021516761 0.0042550878 - 963400 0.0049150006 0.002149957 0.0045306604 - 963500 0.0044473681 0.0022949989 0.0044491928 - 963600 0.005628517 0.0023341139 0.0050604269 - 963700 0.0046958708 0.0024041639 0.0046787263 - 963800 0.004767959 0.0023676483 0.0046771284 - 963900 0.0042201912 0.0021342763 0.0041784314 - 964000 0.0053728519 0.0018726357 0.0044751109 - 964100 0.0043961126 0.0024115831 0.0045409502 - 964200 0.0064928159 0.0021475366 0.0052924943 - 964300 0.005506791 0.0023284356 0.0049957875 - 964400 0.0050950167 0.0024139679 0.0048818666 - 964500 0.004102306 0.0024621087 0.0044491631 - 964600 0.00395354 0.0026947947 0.0046097906 - 964700 0.005293674 0.0022967198 0.0048608432 - 964800 0.005031552 0.0022575097 0.0046946677 - 964900 0.0040922668 0.0022363905 0.0042185822 - 965000 0.0044885756 0.0022792882 0.004453442 - 965100 0.0045409485 0.0022216162 0.0044211382 - 965200 0.004201773 0.0021195251 0.0041547589 - 965300 0.0039640352 0.0021926107 0.0041126902 - 965400 0.0044334689 0.0026161672 0.0047636288 - 965500 0.0046109958 0.0032256686 0.0054591197 - 965600 0.0049730528 0.0030283091 0.0054371316 - 965700 0.0058801371 0.002400504 0.0052486954 - 965800 0.0046741331 0.0020507299 0.0043147631 - 965900 0.0041467241 0.0025946329 0.0046032023 - 966000 0.0050482258 0.0024024378 0.0048476721 - 966100 0.0046646201 0.0017780347 0.00403746 - 966200 0.0035482684 0.0018961322 0.0036148247 - 966300 0.0056065278 0.002354511 0.0050701729 - 966400 0.0051263193 0.0025615649 0.0050446258 - 966500 0.0047595387 0.0021873787 0.0044927802 - 966600 0.0052113283 0.0021902013 0.0047144385 - 966700 0.005161612 0.0028715693 0.0053717252 - 966800 0.0051562039 0.0029199303 0.0054174666 - 966900 0.0045355762 0.0025349815 0.0047319012 - 967000 0.0058331776 0.0021280568 0.0049535022 - 967100 0.0060020769 0.0019397131 0.0048469691 - 967200 0.0051808475 0.0023787496 0.0048882226 - 967300 0.0050747134 0.0022780389 0.0047361032 - 967400 0.0051112508 0.0022006553 0.0046764174 - 967500 0.0055156654 0.001924989 0.0045966395 - 967600 0.0055930633 0.0018527671 0.0045619071 - 967700 0.0056062244 0.0019661198 0.0046816347 - 967800 0.0060888986 0.0022285445 0.0051778548 - 967900 0.0054797657 0.0025613281 0.0052155896 - 968000 0.0038443421 0.0022827109 0.0041448141 - 968100 0.0056246951 0.0017000515 0.0044245132 - 968200 0.0046822858 0.0016397629 0.003907745 - 968300 0.0039266085 0.0022635909 0.0041655419 - 968400 0.0042855011 0.0027002421 0.0047760317 - 968500 0.0052867339 0.0028617173 0.005422479 - 968600 0.0048331683 0.0022474225 0.0045884884 - 968700 0.004051918 0.0019738994 0.0039365472 - 968800 0.0057849919 0.0015582885 0.004360394 - 968900 0.0048411833 0.0020793549 0.004424303 - 969000 0.0044723103 0.0025175534 0.0046838287 - 969100 0.0049496066 0.0023548657 0.0047523314 - 969200 0.0035932671 0.0022298021 0.0039702909 - 969300 0.0066821846 0.0018532983 0.0050899815 - 969400 0.0054573758 0.0019228919 0.0045663083 - 969500 0.0048132251 0.0018704082 0.0042018141 - 969600 0.0049205294 0.0019723359 0.0043557173 - 969700 0.0048956781 0.0022518534 0.0046231975 - 969800 0.0057715991 0.0023461999 0.0051418182 - 969900 0.0063703485 0.0023492566 0.0054348942 - 970000 0.0054874448 0.0023271783 0.0049851594 - 970100 0.0064599441 0.0021323502 0.0052613856 - 970200 0.0069126232 0.0020025521 0.005350854 - 970300 0.0055695495 0.0026123443 0.0053100949 - 970400 0.0055752524 0.0022515158 0.0049520286 - 970500 0.0045340588 0.0018256185 0.0040218032 - 970600 0.0046580967 0.0017761751 0.0040324406 - 970700 0.0063583315 0.0018913878 0.0049712046 - 970800 0.0060803259 0.0016933755 0.0046385333 - 970900 0.0040675354 0.0017244813 0.0036946937 - 971000 0.0050124103 0.0021135393 0.0045414256 - 971100 0.0050606206 0.0023659304 0.0048171685 - 971200 0.0063052563 0.0026184269 0.0056725354 - 971300 0.005419171 0.0027364852 0.0053613962 - 971400 0.0054045242 0.0028213625 0.0054391789 - 971500 0.0077329379 0.0024044216 0.0061500634 - 971600 0.0047739165 0.0022373645 0.0045497303 - 971700 0.0055566069 0.0017801453 0.0044716268 - 971800 0.0052343581 0.0018126707 0.004348063 - 971900 0.0054768402 0.0021509283 0.0048037727 - 972000 0.0053380778 0.0020617765 0.004647408 - 972100 0.0067599231 0.0020485566 0.0053228943 - 972200 0.0039044427 0.0026390995 0.004530314 - 972300 0.0046807297 0.0023372425 0.004604471 - 972400 0.006701176 0.0021606903 0.0054065725 - 972500 0.0047470287 0.0021208545 0.0044201965 - 972600 0.0042133114 0.0014399456 0.0034807682 - 972700 0.0049169814 0.0013970871 0.00377875 - 972800 0.0033900015 0.0013416909 0.0029837228 - 972900 0.0034041824 0.0015178454 0.0031667463 - 973000 0.0042446951 0.0018632652 0.0039192894 - 973100 0.0053080875 0.0023574145 0.0049285194 - 973200 0.0053518641 0.0024310562 0.0050233654 - 973300 0.0043804356 0.0027399221 0.0048616956 - 973400 0.0050171847 0.0029705252 0.0054007241 - 973500 0.0045817863 0.0032140553 0.0054333581 - 973600 0.0036593217 0.00308736 0.0048598439 - 973700 0.0040972453 0.0023760405 0.0043606437 - 973800 0.005064119 0.0020923803 0.0045453129 - 973900 0.0045015528 0.0023680602 0.0045484999 - 974000 0.0048204211 0.0022864414 0.0046213329 - 974100 0.0051560809 0.0020707058 0.0045681825 - 974200 0.00602797 0.001955475 0.0048752729 - 974300 0.003836624 0.0022801636 0.0041385284 - 974400 0.0039592505 0.0023065004 0.0042242623 - 974500 0.0040104255 0.0022297553 0.0041723051 - 974600 0.0053318389 0.0020914797 0.0046740892 - 974700 0.0058503584 0.0024939504 0.0053277177 - 974800 0.0050485207 0.0032573583 0.0057027355 - 974900 0.00684454 0.0032466028 0.0065619269 - 975000 0.0065628332 0.0028270935 0.0060059658 - 975100 0.0060170006 0.0028585747 0.0057730594 - 975200 0.004893265 0.0027797997 0.005149975 - 975300 0.005644511 0.0027780836 0.0055121436 - 975400 0.0055351566 0.0033663627 0.0060474542 - 975500 0.0053213933 0.0031887808 0.0057663307 - 975600 0.0069410274 0.0030508696 0.0064129298 - 975700 0.0046329958 0.003080082 0.0053241893 - 975800 0.0050454201 0.0029018929 0.0053457683 - 975900 0.0048680015 0.0028571501 0.0052150884 - 976000 0.005530198 0.0027703853 0.0054490749 - 976100 0.0041685669 0.002721175 0.0047403246 - 976200 0.0057433846 0.0023367878 0.0051187397 - 976300 0.0053536412 0.0023081854 0.0049013554 - 976400 0.0040894139 0.0027627095 0.0047435193 - 976500 0.0030183026 0.0024657537 0.003927744 - 976600 0.0039368946 0.0023823389 0.0042892722 - 976700 0.0049231391 0.0022510183 0.0046356638 - 976800 0.0051838972 0.0022889363 0.0047998865 - 976900 0.0037797387 0.0029159468 0.0047467578 - 977000 0.0047089653 0.0027337466 0.0050146517 - 977100 0.0062333277 0.0020681056 0.0050873737 - 977200 0.0044708493 0.0019937729 0.0041593405 - 977300 0.0044729184 0.0017957091 0.0039622789 - 977400 0.0066330325 0.0018076326 0.0050205077 - 977500 0.004426551 0.0028198862 0.0049639969 - 977600 0.0065115133 0.0025534828 0.0057074971 - 977700 0.0064903401 0.0025028762 0.0056466347 - 977800 0.0055693107 0.0022845376 0.0049821725 - 977900 0.0043181723 0.0026889857 0.0047806004 - 978000 0.0043189901 0.0029497055 0.0050417163 - 978100 0.0060070167 0.0025654377 0.0054750864 - 978200 0.0064760654 0.0023437558 0.0054805999 - 978300 0.0050723855 0.0021510459 0.0046079826 - 978400 0.0056119258 0.0021307259 0.0048490025 - 978500 0.0047867612 0.0022562573 0.0045748447 - 978600 0.0039879435 0.0026199733 0.0045516335 - 978700 0.0049050977 0.0024594011 0.0048353078 - 978800 0.0040357991 0.0022414028 0.0041962429 - 978900 0.0059215407 0.0018829325 0.0047511788 - 979000 0.004971728 0.002111431 0.0045196118 - 979100 0.0047046426 0.0020773071 0.0043561184 - 979200 0.0051497091 0.0021219768 0.0046163672 - 979300 0.0063997397 0.0018407598 0.0049406337 - 979400 0.0037710937 0.0018396016 0.0036662251 - 979500 0.0052133577 0.0015330069 0.004058227 - 979600 0.0035530153 0.0014376514 0.0031586432 - 979700 0.0038593393 0.0012101149 0.0030794823 - 979800 0.0051400442 0.0016692327 0.0041589416 - 979900 0.004175554 0.0018759758 0.0038985097 - 980000 0.0057141708 0.0018474672 0.0046152687 - 980100 0.0040635511 0.0016710327 0.0036393153 - 980200 0.0040758613 0.0018260053 0.0038002506 - 980300 0.0042276844 0.0020454007 0.0040931854 - 980400 0.005166425 0.0023569629 0.00485945 - 980500 0.0059196891 0.0031162177 0.0059835671 - 980600 0.0041985485 0.0032641418 0.0052978137 - 980700 0.0068137465 0.0024877256 0.005788134 - 980800 0.003480164 0.0027054452 0.0043911496 - 980900 0.0049228132 0.0028757806 0.0052602682 - 981000 0.005568669 0.0024680185 0.0051653426 - 981100 0.0072705156 0.0024366666 0.0059583226 - 981200 0.0051728396 0.0026419647 0.0051475589 - 981300 0.0055306637 0.0024943223 0.0051732375 - 981400 0.0052103892 0.0023333708 0.0048571531 - 981500 0.0040845731 0.0025041816 0.0044826467 - 981600 0.0056801175 0.002924182 0.005675489 - 981700 0.0056894542 0.0027554171 0.0055112465 - 981800 0.0052287571 0.0026502694 0.0051829486 - 981900 0.0062279797 0.0021750588 0.0051917365 - 982000 0.0035609025 0.0023668943 0.0040917064 - 982100 0.0046843957 0.0022972056 0.0045662098 - 982200 0.0050642359 0.0023734028 0.004826392 - 982300 0.0051849696 0.0023793118 0.0048907815 - 982400 0.0057742239 0.002574319 0.0053712088 - 982500 0.0049765671 0.0028488026 0.0052593273 - 982600 0.0041687924 0.003227985 0.0052472439 - 982700 0.0043092096 0.0037344593 0.0058217327 - 982800 0.0048516688 0.0035613854 0.0059114125 - 982900 0.0053535195 0.0028726144 0.0054657254 - 983000 0.0057700954 0.0029743286 0.0057692185 - 983100 0.0049637843 0.0028201132 0.0052244462 - 983200 0.0050106838 0.0027453406 0.0051723905 - 983300 0.0063687241 0.0023219668 0.0054068175 - 983400 0.0044638791 0.0023708038 0.0045329952 - 983500 0.0041380905 0.0019094296 0.0039138172 - 983600 0.0052992071 0.0024262577 0.0049930611 - 983700 0.0044133835 0.0026049554 0.004742688 - 983800 0.0051286117 0.0023722774 0.0048564487 - 983900 0.0044055984 0.0025840093 0.004717971 - 984000 0.0048390587 0.0026660006 0.0050099196 - 984100 0.0052517817 0.0024934895 0.0050373213 - 984200 0.0050511034 0.0024526566 0.0048992848 - 984300 0.005120445 0.0027967948 0.0052770104 - 984400 0.0035825618 0.0029222764 0.0046575798 - 984500 0.005688478 0.0027526784 0.0055080349 - 984600 0.0064180043 0.0027642814 0.0058730022 - 984700 0.0044222089 0.0029104482 0.0050524556 - 984800 0.0045402345 0.0031145431 0.0053137192 - 984900 0.0055922187 0.003055667 0.005764398 - 985000 0.0041009438 0.0033472978 0.0053336924 - 985100 0.004308171 0.0030740969 0.0051608672 - 985200 0.0060160165 0.0032917994 0.0062058073 - 985300 0.004556486 0.0033076654 0.0055147133 - 985400 0.0062118039 0.0033594401 0.0063682826 - 985500 0.0050290706 0.0032243699 0.005660326 - 985600 0.0050700655 0.0027963229 0.0052521359 - 985700 0.0051243403 0.0026648049 0.0051469072 - 985800 0.0064421767 0.0029352288 0.0060556581 - 985900 0.0059146031 0.0030297651 0.005894651 - 986000 0.0059471673 0.0030318393 0.0059124985 - 986100 0.005221966 0.0029639791 0.005493369 - 986200 0.0049872668 0.0028562779 0.0052719853 - 986300 0.0064083426 0.0029136954 0.0060177363 - 986400 0.0075816646 0.0030321867 0.0067045555 - 986500 0.0048120934 0.0031939484 0.0055248061 - 986600 0.0056758174 0.0029077879 0.0056570119 - 986700 0.0038237583 0.0031529826 0.0050051155 - 986800 0.0052247197 0.0029449946 0.0054757182 - 986900 0.0039987404 0.0027345012 0.0046713911 - 987000 0.0045769183 0.0027946598 0.0050116046 - 987100 0.003948505 0.0025608629 0.00447342 - 987200 0.0053330342 0.0027178034 0.0053009919 - 987300 0.0037690257 0.0029005868 0.0047262086 - 987400 0.0071917129 0.0027798141 0.0062633 - 987500 0.0036855695 0.0028413445 0.0046265422 - 987600 0.0071626415 0.0024860097 0.0059554142 - 987700 0.0065228409 0.0024253988 0.0055848998 - 987800 0.0060545617 0.0027159338 0.0056486121 - 987900 0.0067510413 0.0026475906 0.0059176263 - 988000 0.0069241755 0.0028980733 0.0062519708 - 988100 0.0074866761 0.0028463305 0.0064726892 - 988200 0.0065304623 0.0028229601 0.0059861527 - 988300 0.004561441 0.0028819666 0.0050914145 - 988400 0.0052258114 0.0028251015 0.0053563539 - 988500 0.0049742407 0.0028904207 0.0052998185 - 988600 0.0063154069 0.0023979318 0.005456957 - 988700 0.007664824 0.0024812106 0.0061938597 - 988800 0.005302173 0.0028687568 0.0054369968 - 988900 0.0068591097 0.002768468 0.0060908493 - 989000 0.0044832982 0.0028805115 0.0050521091 - 989100 0.0057414168 0.0028877942 0.005668793 - 989200 0.0057768758 0.0030672771 0.0058654513 - 989300 0.0065666095 0.002497555 0.0056782565 - 989400 0.0055048397 0.0022052964 0.0048717031 - 989500 0.004988756 0.002719427 0.0051358557 - 989600 0.0038988202 0.0030875314 0.0049760224 - 989700 0.0046371331 0.0024280134 0.0046741247 - 989800 0.006387656 0.0021870487 0.0052810696 - 989900 0.0040767604 0.0022977586 0.0042724394 - 990000 0.0032176587 0.0024655837 0.0040241372 - 990100 0.0053518026 0.0024501974 0.0050424768 - 990200 0.0061678928 0.0023492996 0.0053368726 - 990300 0.0030407835 0.0026476097 0.0041204893 - 990400 0.0058147888 0.0028046956 0.0056212339 - 990500 0.0042721774 0.0031280593 0.0051973952 - 990600 0.008633618 0.0026677063 0.006849615 - 990700 0.0057711898 0.0026465389 0.005441959 - 990800 0.0037519197 0.0029536112 0.0047709474 - 990900 0.0064820509 0.0030311292 0.0061708726 - 991000 0.0061953423 0.003375455 0.0063763239 - 991100 0.0063170428 0.0038461082 0.0069059257 - 991200 0.0045007117 0.0034323775 0.0056124098 - 991300 0.0047824764 0.00275659 0.005073102 - 991400 0.0061370086 0.002512749 0.0054853626 - 991500 0.0044609952 0.0026613919 0.0048221865 - 991600 0.0065778786 0.0021112289 0.0052973888 - 991700 0.0048911768 0.0021462033 0.004515367 - 991800 0.0058746502 0.0021097485 0.0049552822 - 991900 0.0048116993 0.002448547 0.0047792139 - 992000 0.0051390565 0.0021558063 0.0046450368 - 992100 0.0042368811 0.0026219544 0.0046741936 - 992200 0.003584564 0.0025554912 0.0042917644 - 992300 0.0074277829 0.0024056232 0.0060034556 - 992400 0.0045093328 0.0026966481 0.0048808562 - 992500 0.0048638458 0.0024237171 0.0047796424 - 992600 0.0042387456 0.0020709134 0.0041240558 - 992700 0.0058346584 0.0020567557 0.0048829183 - 992800 0.0047791806 0.0021638155 0.0044787311 - 992900 0.0050432375 0.0022831604 0.0047259786 - 993000 0.0058545493 0.0022022786 0.0050380759 - 993100 0.0060523061 0.0020840039 0.0050155897 - 993200 0.0061682071 0.0027081922 0.0056959175 - 993300 0.0036947729 0.0027494034 0.004539059 - 993400 0.0050775395 0.002264335 0.0047237682 - 993500 0.0052163964 0.0023020636 0.0048287556 - 993600 0.0039278289 0.0025151362 0.0044176783 - 993700 0.0050935582 0.0022132214 0.0046804136 - 993800 0.0049088391 0.0021669247 0.0045446437 - 993900 0.0043640255 0.0022723071 0.004386132 - 994000 0.0039512455 0.0023597147 0.0042735992 - 994100 0.0044082107 0.0026960218 0.0048312488 - 994200 0.005542011 0.002690482 0.0053748936 - 994300 0.0051035675 0.0031918265 0.0056638671 - 994400 0.0044666727 0.0036362587 0.0057998033 - 994500 0.0048418996 0.0031226028 0.0054678979 - 994600 0.0052553142 0.0029700689 0.0055156117 - 994700 0.0053126877 0.0030852112 0.0056585443 - 994800 0.0041947089 0.0025849569 0.004616769 - 994900 0.0048992634 0.0025351245 0.0049082052 - 995000 0.0052567554 0.0023247117 0.0048709526 - 995100 0.005468025 0.0023076779 0.0049562526 - 995200 0.0056871936 0.0024085952 0.0051633296 - 995300 0.0070999095 0.0024732653 0.005912284 - 995400 0.0048040698 0.0023683595 0.0046953308 - 995500 0.0044043002 0.0023087316 0.0044420645 - 995600 0.0050913645 0.0022640307 0.0047301604 - 995700 0.0048861939 0.0023118181 0.0046785683 - 995800 0.0058665606 0.0027848978 0.005626513 - 995900 0.0055226934 0.0032062019 0.0058812565 - 996000 0.0068720583 0.0027828838 0.006111537 - 996100 0.0057494514 0.0024266921 0.0052115826 - 996200 0.005113965 0.0024579443 0.0049350211 - 996300 0.0043592503 0.0023953088 0.0045068207 - 996400 0.0046924445 0.0022902873 0.00456319 - 996500 0.004365909 0.0020184398 0.004133177 - 996600 0.002989 0.0022717449 0.0037195418 - 996700 0.0045663138 0.0026969407 0.004908749 - 996800 0.0054185325 0.0029500719 0.0055746735 - 996900 0.0060091344 0.0026772403 0.0055879147 - 997000 0.0039072152 0.0024993702 0.0043919276 - 997100 0.0053123441 0.0021697932 0.0047429599 - 997200 0.0049014502 0.0019825895 0.0043567295 - 997300 0.0064721126 0.0016866843 0.0048216139 - 997400 0.0058443936 0.002200832 0.0050317102 - 997500 0.0053118919 0.0028131674 0.005386115 - 997600 0.0057866158 0.002527966 0.005330858 - 997700 0.0039495061 0.0020253583 0.0039384003 - 997800 0.0048430509 0.0019361416 0.0042819944 - 997900 0.004348259 0.0019607491 0.004066937 - 998000 0.004070038 0.0023530402 0.0043244649 - 998100 0.0043265054 0.0020690333 0.0041646844 - 998200 0.006440916 0.0018058566 0.0049256753 - 998300 0.0047030221 0.0017507567 0.004028783 - 998400 0.0045244802 0.0018707626 0.0040623077 - 998500 0.0056847629 0.0017229935 0.0044765505 - 998600 0.0060921182 0.0019074388 0.0048583085 - 998700 0.0065815686 0.0020988255 0.0052867728 - 998800 0.0047238556 0.0022786743 0.0045667919 - 998900 0.0047305893 0.0021402839 0.0044316631 - 999000 0.0039749926 0.0023083816 0.0042337686 - 999100 0.0043500216 0.002498269 0.0046053107 - 999200 0.0053912988 0.0022375668 0.0048489771 - 999300 0.0046214368 0.0018447362 0.0040832446 - 999400 0.0072041574 0.0017386224 0.0052281361 - 999500 0.0041062982 0.00186204 0.0038510281 - 999600 0.0045259828 0.0017033787 0.0038956516 - 999700 0.0044195358 0.0020669123 0.0042076249 - 999800 0.0048482789 0.0025011758 0.0048495609 - 999900 0.0042323155 0.0023462542 0.004396282 - 1000000 0.0070195744 0.0020962934 0.0054963997 - 1000100 0.0052325519 0.0025812336 0.0051157509 - 1000200 0.0053701453 0.0026391364 0.0052403005 - 1000300 0.0065498581 0.0021817095 0.005354297 - 1000400 0.0041255626 0.0025574907 0.0045558101 - 1000500 0.0068536711 0.0020642998 0.0053840467 - 1000600 0.0047630137 0.0025446958 0.0048517805 - 1000700 0.0060269635 0.0024016652 0.0053209757 - 1000800 0.0046985302 0.0024313838 0.0047072344 - 1000900 0.0067033466 0.0025403247 0.0057872581 - 1001000 0.0040097015 0.0032729377 0.0052151369 - 1001100 0.0052482508 0.0034639203 0.0060060418 - 1001200 0.0060915552 0.0027361193 0.0056867163 - 1001300 0.0056792722 0.0023643931 0.0051152905 - 1001400 0.0054905462 0.0024136607 0.005073144 - 1001500 0.0046295517 0.0026468889 0.004889328 - 1001600 0.0054502247 0.0028193046 0.0054592572 - 1001700 0.0052788064 0.0028894148 0.0054463367 - 1001800 0.0055583299 0.0033857366 0.0060780526 - 1001900 0.0047587923 0.003369221 0.005674261 - 1002000 0.0056817373 0.0029473319 0.0056994234 - 1002100 0.0056383287 0.0026581838 0.0053892493 - 1002200 0.0064859239 0.0025746735 0.0057162929 - 1002300 0.0046104042 0.0027650586 0.0049982232 - 1002400 0.0059714729 0.0024222294 0.0053146616 - 1002500 0.0063302697 0.0021997444 0.0052659688 - 1002600 0.0044932739 0.0023220662 0.0044984958 - 1002700 0.0049096682 0.0024521597 0.0048302802 - 1002800 0.0063771561 0.0024211933 0.0055101283 - 1002900 0.0046441679 0.0022813492 0.0045308681 - 1003000 0.0053822089 0.002286375 0.0048933824 - 1003100 0.0049075636 0.0018562121 0.0042333132 - 1003200 0.0065958629 0.001719224 0.0049140951 - 1003300 0.004025014 0.002488262 0.0044378782 - 1003400 0.0046172338 0.0024646716 0.0047011443 - 1003500 0.0064930447 0.0019758945 0.0051209631 - 1003600 0.0040095284 0.0024768536 0.0044189689 - 1003700 0.0048585659 0.0030287471 0.0053821149 - 1003800 0.0061509045 0.0025724101 0.0055517545 - 1003900 0.0047175866 0.0021163149 0.004401396 - 1004000 0.0045241505 0.0021242432 0.0043156285 - 1004100 0.0047481811 0.0025187357 0.004818636 - 1004200 0.006617178 0.0020720806 0.0052772762 - 1004300 0.0050368325 0.0018419125 0.0042816283 - 1004400 0.005106638 0.0019006513 0.004374179 - 1004500 0.0039323097 0.0023159722 0.0042206847 - 1004600 0.0053007172 0.0022477189 0.0048152538 - 1004700 0.0065897868 0.0020144991 0.0052064271 - 1004800 0.0054973969 0.0023697468 0.0050325484 - 1004900 0.0058628253 0.0026540284 0.0054938344 - 1005000 0.00413297 0.0026888362 0.0046907435 - 1005100 0.00412526 0.0023138106 0.0043119834 - 1005200 0.0049363457 0.0024143357 0.0048053781 - 1005300 0.0045071406 0.0026901017 0.0048732479 - 1005400 0.0048519358 0.0026978177 0.0050479741 - 1005500 0.0064146042 0.0024478435 0.0055549174 - 1005600 0.0054513568 0.0023177772 0.0049582781 - 1005700 0.00447881 0.001963008 0.0041324316 - 1005800 0.0053050187 0.0019798199 0.0045494383 - 1005900 0.0047930078 0.0020366258 0.0043582389 - 1006000 0.0065162712 0.0023037002 0.0054600191 - 1006100 0.004875834 0.0021997989 0.004561531 - 1006200 0.0027085454 0.0022747815 0.0035867332 - 1006300 0.0067881906 0.001950608 0.0052386378 - 1006400 0.0059613196 0.0022863746 0.0051738887 - 1006500 0.0044118402 0.002802581 0.0049395661 - 1006600 0.0042169602 0.0022632247 0.0043058147 - 1006700 0.0056546605 0.0017322046 0.0044711808 - 1006800 0.0062867256 0.002003197 0.0050483297 - 1006900 0.0057937642 0.0021739543 0.0049803088 - 1007000 0.0034848698 0.0020343903 0.0037223741 - 1007100 0.005348628 0.0021950729 0.0047858146 - 1007200 0.0048438885 0.0020535682 0.0043998266 - 1007300 0.0062452268 0.0022640794 0.0052891111 - 1007400 0.005227317 0.0024503951 0.0049823768 - 1007500 0.0053465064 0.0024460091 0.0050357231 - 1007600 0.0046799404 0.002512578 0.0047794242 - 1007700 0.0072895832 0.0028336923 0.0063645842 - 1007800 0.0046507198 0.0024023875 0.0046550799 - 1007900 0.0051192108 0.0025190649 0.0049986826 - 1008000 0.0046550281 0.0029909017 0.005245681 - 1008100 0.0053984828 0.0025362398 0.0051511299 - 1008200 0.0043161306 0.0019302334 0.0040208591 - 1008300 0.0043527491 0.0019643249 0.0040726877 - 1008400 0.0033611641 0.0020162 0.0036442639 - 1008500 0.0063591108 0.0018061396 0.0048863339 - 1008600 0.0057279212 0.0023369356 0.0051113974 - 1008700 0.0056912092 0.0026669715 0.0054236509 - 1008800 0.0062573403 0.0023190033 0.0053499025 - 1008900 0.0045910917 0.0023248534 0.0045486635 - 1009000 0.0045538104 0.00246036 0.0046661119 - 1009100 0.0044797773 0.0019869571 0.0041568492 - 1009200 0.0052965561 0.0016599991 0.0042255184 - 1009300 0.0045962559 0.0023272984 0.0045536099 - 1009400 0.0051370128 0.0028127386 0.0053009792 - 1009500 0.0053695149 0.0025544086 0.0051552674 - 1009600 0.004616299 0.0020260733 0.0042620931 - 1009700 0.0057652885 0.0017984997 0.0045910613 - 1009800 0.0048354733 0.0015946763 0.0039368587 - 1009900 0.0041120965 0.0023055816 0.0042973783 - 1010000 0.0060496451 0.0023587392 0.0052890361 - 1010100 0.0048651693 0.0026004243 0.0049569907 - 1010200 0.0066348692 0.0026431761 0.0058569409 - 1010300 0.0052862234 0.0027032003 0.0052637147 - 1010400 0.0051022076 0.0023330273 0.0048044091 - 1010500 0.0051775151 0.0020150587 0.0045229176 - 1010600 0.0082577855 0.001539418 0.0055392828 - 1010700 0.0069191579 0.0020209849 0.005372452 - 1010800 0.0060028173 0.0026247777 0.0055323923 - 1010900 0.0052966547 0.0027692911 0.0053348582 - 1011000 0.0069224708 0.0026458177 0.0059988895 - 1011100 0.0053068061 0.0027163641 0.0052868483 - 1011200 0.004687591 0.0030474854 0.0053180373 - 1011300 0.0057899877 0.0027832973 0.0055878226 - 1011400 0.0066418206 0.0025730008 0.0057901327 - 1011500 0.0053138794 0.0026094625 0.0051833728 - 1011600 0.0060165823 0.0023032517 0.0052175337 - 1011700 0.0061856289 0.0020557481 0.0050519121 - 1011800 0.0066706745 0.0019218252 0.0051529331 - 1011900 0.0045293602 0.0023039189 0.0044978277 - 1012000 0.0057647557 0.002531751 0.0053240545 - 1012100 0.0049911994 0.0022824955 0.0047001077 - 1012200 0.0051439875 0.0022418214 0.0047334403 - 1012300 0.0057384728 0.0023284362 0.0051080089 - 1012400 0.0066250661 0.0026167188 0.0058257352 - 1012500 0.0068708197 0.0025897903 0.0059178436 - 1012600 0.0050975326 0.0027880521 0.0052571694 - 1012700 0.0052715421 0.0025888901 0.0051422933 - 1012800 0.0052074254 0.0024156259 0.0049379726 - 1012900 0.0044039857 0.0027058371 0.0048390177 - 1013000 0.0052763111 0.0025897156 0.0051454288 - 1013100 0.0051636261 0.0020046097 0.0045057411 - 1013200 0.0049832625 0.0023956177 0.0048093855 - 1013300 0.0046930831 0.0026373177 0.0049105299 - 1013400 0.0067062999 0.0027374673 0.0059858313 - 1013500 0.0047248591 0.002877889 0.0051664927 - 1013600 0.0061764498 0.0023986205 0.0053903384 - 1013700 0.0065034853 0.0021889873 0.005339113 - 1013800 0.0043887207 0.0021668113 0.0042925979 - 1013900 0.0053222402 0.0024537634 0.0050317234 - 1014000 0.006520899 0.0027566654 0.0059152259 - 1014100 0.0049332213 0.0023208718 0.0047104009 - 1014200 0.0038336999 0.0019617069 0.0038186553 - 1014300 0.0051914237 0.0019169924 0.0044315883 - 1014400 0.0046941658 0.0018816177 0.0041553542 - 1014500 0.0060464859 0.0019279088 0.0048566754 - 1014600 0.0036892386 0.0017710766 0.0035580516 - 1014700 0.0053947819 0.0017358422 0.0043489396 - 1014800 0.0044155349 0.0020296398 0.0041684145 - 1014900 0.0046298261 0.0025822178 0.0048247898 - 1015000 0.0036701402 0.002841104 0.0046188282 - 1015100 0.0038641773 0.0027268024 0.0045985133 - 1015200 0.0032599393 0.002317249 0.0038962821 - 1015300 0.0041118648 0.0023775971 0.0043692816 - 1015400 0.0045885034 0.0031171535 0.0053397098 - 1015500 0.0054260317 0.0031654748 0.0057937089 - 1015600 0.0047105721 0.0030056696 0.005287353 - 1015700 0.005108738 0.0030577765 0.0055323214 - 1015800 0.0059870645 0.0031986424 0.0060986268 - 1015900 0.0064254133 0.0032086769 0.0063209865 - 1016000 0.0050439835 0.002408469 0.0048516485 - 1016100 0.0048624278 0.0020007332 0.0043559717 - 1016200 0.0044088157 0.0021621199 0.00429764 - 1016300 0.0055024204 0.0025066122 0.005171847 - 1016400 0.00393655 0.0028599956 0.004766762 - 1016500 0.0054707951 0.0028846604 0.0055345768 - 1016600 0.0059370087 0.0024472741 0.0053230127 - 1016700 0.0069316485 0.0020347046 0.0053922219 - 1016800 0.0045213751 0.0025442309 0.0047342719 - 1016900 0.0034594828 0.0028401787 0.0045158657 - 1017000 0.0065232298 0.0021223617 0.0052820512 - 1017100 0.0051342279 0.0020001091 0.0044870008 - 1017200 0.0072780507 0.0022567284 0.0057820342 - 1017300 0.0058161913 0.0021464675 0.0049636852 - 1017400 0.0047325847 0.0023252538 0.0046175995 - 1017500 0.0042997801 0.0029184885 0.0050011944 - 1017600 0.0066824044 0.0026343497 0.0058711394 - 1017700 0.0044266708 0.0025660203 0.004710189 - 1017800 0.0062487075 0.003179033 0.0062057507 - 1017900 0.005401907 0.0030382399 0.0056547886 - 1018000 0.0053601609 0.0026615858 0.0052579138 - 1018100 0.0056794837 0.0024091544 0.0051601544 - 1018200 0.0045919502 0.0021240911 0.004348317 - 1018300 0.0043435173 0.0018917078 0.003995599 - 1018400 0.0034351708 0.002317108 0.0039810188 - 1018500 0.0053939175 0.002771873 0.0053845518 - 1018600 0.0058856424 0.0032101345 0.0060609926 - 1018700 0.0044480017 0.0033875564 0.0055420572 - 1018800 0.0057047297 0.0033283391 0.0060915676 - 1018900 0.0054730739 0.0026372475 0.0052882676 - 1019000 0.0042629903 0.0022800879 0.0043449738 - 1019100 0.0052077081 0.0022464353 0.0047689189 - 1019200 0.0050942183 0.0018721845 0.0043396965 - 1019300 0.0040548417 0.0018056177 0.0037696817 - 1019400 0.0044711706 0.0017214879 0.0038872111 - 1019500 0.0047484589 0.0018031314 0.0041031662 - 1019600 0.0041579299 0.0020998886 0.0041138859 - 1019700 0.0046275548 0.0019312803 0.0041727522 - 1019800 0.0063528809 0.0021346335 0.0052118102 - 1019900 0.0042460417 0.003027595 0.0050842715 - 1020000 0.0042832434 0.002899557 0.004974253 - 1020100 0.0053464014 0.0028771418 0.005466805 - 1020200 0.0044230013 0.0028524105 0.0049948017 - 1020300 0.0047357866 0.0021806217 0.0044745183 - 1020400 0.0045821536 0.0023735922 0.0045930728 - 1020500 0.0054775413 0.0021853522 0.0048385363 - 1020600 0.0040751981 0.0023345907 0.0043085148 - 1020700 0.0055512772 0.0022365656 0.0049254655 - 1020800 0.0054598107 0.0025796584 0.0052242541 - 1020900 0.0035040119 0.0026447199 0.0043419757 - 1021000 0.0053143151 0.0026582772 0.0052323985 - 1021100 0.005507319 0.0025363521 0.0052039597 - 1021200 0.0057728261 0.0023159916 0.0051122042 - 1021300 0.0073548629 0.0023251855 0.0058876972 - 1021400 0.0060504748 0.0030086748 0.0059393735 - 1021500 0.0061221796 0.0030706907 0.0060361214 - 1021600 0.0060702426 0.0026691374 0.0056094111 - 1021700 0.0051405374 0.0024112139 0.0049011617 - 1021800 0.0057808999 0.0022662419 0.0050663653 - 1021900 0.0048026619 0.0021260782 0.0044523675 - 1022000 0.0036357903 0.0020737877 0.0038348736 - 1022100 0.0051158048 0.0022228122 0.0047007802 - 1022200 0.005755132 0.002668009 0.0054556511 - 1022300 0.0059996099 0.0033110409 0.0062171019 - 1022400 0.0047671679 0.0032533003 0.0055623973 - 1022500 0.0054285991 0.0027284783 0.005357956 - 1022600 0.0052230554 0.0029468718 0.0054767892 - 1022700 0.0048664548 0.0031295435 0.0054867326 - 1022800 0.0043943918 0.002896219 0.0050247526 - 1022900 0.0043247706 0.0025882603 0.004683071 - 1023000 0.0048848365 0.0022677683 0.004633861 - 1023100 0.0049178948 0.0025966102 0.0049787155 - 1023200 0.0033315308 0.0030363188 0.0046500291 - 1023300 0.0044013643 0.0029460343 0.0050779452 - 1023400 0.005364758 0.0027550706 0.0053536253 - 1023500 0.0073007812 0.0030776823 0.0066139982 - 1023600 0.0065841722 0.0031133426 0.006302551 - 1023700 0.0056889932 0.0028873636 0.0056429697 - 1023800 0.0051669262 0.0028117141 0.0053144439 - 1023900 0.004827673 0.0021873848 0.0045257889 - 1024000 0.0043853363 0.0020483858 0.004172533 - 1024100 0.0059189432 0.0021419052 0.0050088933 - 1024200 0.0055283239 0.0026150491 0.005292831 - 1024300 0.0061155448 0.0027077361 0.0056699531 - 1024400 0.0068760867 0.0026466595 0.005977264 - 1024500 0.0051925935 0.002561036 0.0050761984 - 1024600 0.0082323947 0.0020422552 0.0060298214 - 1024700 0.005799531 0.0020187446 0.0048278924 - 1024800 0.0054000261 0.0025314144 0.0051470521 - 1024900 0.0044695438 0.0025731411 0.0047380764 - 1025000 0.0045952976 0.0024691567 0.004695004 - 1025100 0.0053044745 0.0023498442 0.0049191991 - 1025200 0.005024066 0.0023510773 0.0047846093 - 1025300 0.0065706122 0.0019071369 0.0050897772 - 1025400 0.0048238984 0.001767191 0.0041037668 - 1025500 0.0055314211 0.0017209956 0.0044002777 - 1025600 0.0060320515 0.0017505847 0.0046723597 - 1025700 0.0038934672 0.0024498057 0.0043357039 - 1025800 0.0050289387 0.0028339978 0.00526989 - 1025900 0.0045919126 0.0023474646 0.0045716723 - 1026000 0.0044114923 0.0021050676 0.0042418842 - 1026100 0.0046321802 0.00221666 0.0044603723 - 1026200 0.0040821634 0.0023186665 0.0042959644 - 1026300 0.0037296863 0.0022467572 0.0040533241 - 1026400 0.0052337583 0.0022928352 0.0048279369 - 1026500 0.0039430283 0.0022245955 0.0041344998 - 1026600 0.0054602296 0.0020235758 0.0046683745 - 1026700 0.0049102192 0.0014182042 0.0037965917 - 1026800 0.0053014117 0.0013866048 0.0039544761 - 1026900 0.0056513537 0.0018480663 0.0045854408 - 1027000 0.0045532286 0.0022905244 0.0044959945 - 1027100 0.0046316927 0.0023136766 0.0045571527 - 1027200 0.0051660201 0.001963923 0.004466214 - 1027300 0.0048393052 0.0018556331 0.0041996715 - 1027400 0.0067613969 0.0021984102 0.0054734618 - 1027500 0.0049713888 0.0022700187 0.0046780352 - 1027600 0.0037095075 0.0024084557 0.0042052484 - 1027700 0.0038349611 0.0021637889 0.0040213482 - 1027800 0.0048790817 0.0020022 0.0043655052 - 1027900 0.0045423054 0.0020654942 0.0042656734 - 1028000 0.0057283811 0.0020610393 0.0048357239 - 1028100 0.0061367674 0.0019742205 0.0049467172 - 1028200 0.0052771557 0.0023865824 0.0049427047 - 1028300 0.005535402 0.0023787155 0.0050599258 - 1028400 0.0064866915 0.0020018412 0.0051438324 - 1028500 0.0041083578 0.0020369798 0.0040269656 - 1028600 0.0059207484 0.0019689878 0.0048368504 - 1028700 0.0067323034 0.0021136548 0.0053746143 - 1028800 0.0042043387 0.0022973977 0.0043338742 - 1028900 0.0053116358 0.002290996 0.0048638196 - 1029000 0.0049354483 0.0022147525 0.0046053603 - 1029100 0.0044698549 0.0025776517 0.0047427377 - 1029200 0.0047584209 0.0022950643 0.0045999244 - 1029300 0.0052892301 0.0018724979 0.0044344687 - 1029400 0.0054818444 0.0017704023 0.0044256707 - 1029500 0.0038388059 0.0018927733 0.0037521949 - 1029600 0.0045650783 0.0019485516 0.0041597614 - 1029700 0.0036446442 0.0026707846 0.0044361591 - 1029800 0.0038678333 0.0033154554 0.0051889372 - 1029900 0.0047884069 0.002955111 0.0052744956 - 1030000 0.0064022555 0.0027724387 0.0058735311 - 1030100 0.0060573778 0.00286997 0.0058040124 - 1030200 0.0044693759 0.0023823694 0.0045472234 - 1030300 0.0030920786 0.0023227516 0.0038204771 - 1030400 0.005346967 0.002197186 0.0047871232 - 1030500 0.0066086334 0.0018782556 0.0050793124 - 1030600 0.0051829132 0.0020068367 0.0045173103 - 1030700 0.0063067222 0.0025056412 0.0055604598 - 1030800 0.0056677641 0.0026663239 0.0054116471 - 1030900 0.0050968529 0.0024672351 0.0049360232 - 1031000 0.0067383123 0.0023181787 0.0055820488 - 1031100 0.0059881676 0.0020466332 0.0049471519 - 1031200 0.0055663863 0.0021368423 0.0048330607 - 1031300 0.0034025601 0.0022124228 0.0038605379 - 1031400 0.0045634291 0.0017948023 0.0040052133 - 1031500 0.0044045767 0.0020297085 0.0041631753 - 1031600 0.0041718604 0.0019618614 0.0039826063 - 1031700 0.0058755956 0.0017305672 0.0045765589 - 1031800 0.0045726897 0.0018680982 0.0040829947 - 1031900 0.0042671092 0.0020754387 0.0041423197 - 1032000 0.0060461418 0.00278744 0.0057160399 - 1032100 0.0042543898 0.0033105136 0.0053712336 - 1032200 0.005748412 0.0030131374 0.0057975245 - 1032300 0.004084875 0.0024920976 0.0044707089 - 1032400 0.004669198 0.002714266 0.0049759088 - 1032500 0.005942937 0.0022159467 0.0050945569 - 1032600 0.0051193792 0.002368764 0.0048484633 - 1032700 0.0063379135 0.0022401018 0.0053100286 - 1032800 0.0084550659 0.0025119917 0.0066074143 - 1032900 0.0047609683 0.0027068607 0.0050129548 - 1033000 0.0058041584 0.0019943702 0.0048057594 - 1033100 0.0046967721 0.0020954505 0.0043704495 - 1033200 0.0047987375 0.0025848757 0.0049092642 - 1033300 0.0042214905 0.0024116275 0.004456412 - 1033400 0.0047379009 0.0020986235 0.0043935442 - 1033500 0.006200839 0.002276343 0.0052798744 - 1033600 0.0038524451 0.0027764324 0.0046424605 - 1033700 0.0040667331 0.0025559094 0.0045257333 - 1033800 0.0070318244 0.002408968 0.005815008 - 1033900 0.0057186479 0.0027291526 0.0054991227 - 1034000 0.0041315 0.002980724 0.0049819193 - 1034100 0.005460398 0.0029034493 0.0055483296 - 1034200 0.005516467 0.0030485242 0.0057205629 - 1034300 0.0068329585 0.0024180015 0.0057277158 - 1034400 0.0055535597 0.0021037621 0.0047937676 - 1034500 0.0051150841 0.0025129772 0.0049905961 - 1034600 0.0042055861 0.0030079548 0.0050450356 - 1034700 0.0048726576 0.0023807 0.0047408935 - 1034800 0.0040564246 0.0018694469 0.0038342775 - 1034900 0.0046597231 0.0014423714 0.0036994248 - 1035000 0.0048417142 0.0014394467 0.003784652 - 1035100 0.0038869062 0.0018775773 0.0037602974 - 1035200 0.0044563262 0.0021910738 0.0043496069 - 1035300 0.0059008165 0.0022340779 0.0050922859 - 1035400 0.0053356457 0.0025991782 0.0051836316 - 1035500 0.0058445117 0.0026273926 0.005458328 - 1035600 0.0047444516 0.0028242283 0.0051223221 - 1035700 0.0055535084 0.0026596127 0.0053495933 - 1035800 0.0058252839 0.0027804829 0.0056021048 - 1035900 0.0050175613 0.0023998764 0.0048302577 - 1036000 0.0055744515 0.0025014985 0.0052016235 - 1036100 0.0057709245 0.0029080149 0.0057033065 - 1036200 0.0066537631 0.0026296507 0.0058525672 - 1036300 0.0052007765 0.0023603519 0.004879478 - 1036400 0.0065285278 0.0021221336 0.0052843892 - 1036500 0.0043333792 0.0024160752 0.0045150557 - 1036600 0.0046607865 0.0028951698 0.0051527383 - 1036700 0.0061910196 0.0027600601 0.0057588352 - 1036800 0.0050137415 0.0028037611 0.0052322922 - 1036900 0.0040788343 0.0030605631 0.0050362485 - 1037000 0.0044214633 0.0024932595 0.0046349057 - 1037100 0.0051084848 0.0020303693 0.0045047916 - 1037200 0.0030348555 0.0021146815 0.0035846897 - 1037300 0.0058140438 0.002246274 0.0050624514 - 1037400 0.0045038662 0.0024294542 0.0046110144 - 1037500 0.0038990828 0.002157604 0.0040462223 - 1037600 0.0055521666 0.0017895905 0.0044789212 - 1037700 0.0040583161 0.0022472954 0.0042130423 - 1037800 0.0051801598 0.0026879189 0.0051970588 - 1037900 0.0041998569 0.0026330274 0.0046673331 - 1038000 0.0033788944 0.0029466503 0.0045833023 - 1038100 0.0055669201 0.0030588649 0.0057553418 - 1038200 0.0054285881 0.0032098628 0.0058393352 - 1038300 0.0056126542 0.0025868315 0.0053054609 - 1038400 0.005698879 0.0023028664 0.0050632609 - 1038500 0.0051723592 0.0019114659 0.0044168274 - 1038600 0.0041034937 0.0017290724 0.0037167021 - 1038700 0.0049592381 0.0021875468 0.0045896778 - 1038800 0.0053936999 0.0028163553 0.0054289287 - 1038900 0.0058354323 0.002639329 0.0054658665 - 1039000 0.0050145579 0.0026121307 0.0050410572 - 1039100 0.0054386513 0.0026849777 0.0053193244 - 1039200 0.0048402409 0.0025755885 0.0049200802 - 1039300 0.0052599645 0.0023768188 0.0049246141 - 1039400 0.0036211664 0.0024595735 0.0042135759 - 1039500 0.0053673878 0.0024711159 0.0050709443 - 1039600 0.0061094993 0.0022200131 0.0051793019 - 1039700 0.0049153573 0.0024831547 0.0048640309 - 1039800 0.0043960102 0.0027346177 0.0048639351 - 1039900 0.004557728 0.0027471346 0.0049547841 - 1040000 0.0045089496 0.0030803048 0.0052643273 - 1040100 0.0054162653 0.0033029735 0.005926477 - 1040200 0.0060171899 0.0033187059 0.0062332822 - 1040300 0.0058441532 0.0029577083 0.0057884701 - 1040400 0.0039903492 0.0030342981 0.0049671235 - 1040500 0.0043964848 0.003054063 0.0051836104 - 1040600 0.0035111309 0.0030924659 0.0047931699 - 1040700 0.0044344771 0.0027323146 0.0048802644 - 1040800 0.0040750729 0.002455651 0.0044295144 - 1040900 0.005689888 0.0028733694 0.0056294089 - 1041000 0.006339962 0.0030181983 0.0060891173 - 1041100 0.0056099484 0.0028785466 0.0055958653 - 1041200 0.0045686949 0.0022862077 0.0044991693 - 1041300 0.0047887414 0.0022941411 0.0046136877 - 1041400 0.0053800141 0.0023019229 0.0049078672 - 1041500 0.0071157371 0.002158894 0.0056055792 - 1041600 0.0061180607 0.0022994036 0.0052628392 - 1041700 0.0053016762 0.0021743767 0.0047423761 - 1041800 0.0057957357 0.0020731587 0.0048804682 - 1041900 0.0053512814 0.0020942794 0.0046863063 - 1042000 0.0059834344 0.0020764351 0.0049746611 - 1042100 0.0045966144 0.002599633 0.0048261181 - 1042200 0.0050997589 0.0030943349 0.0055645306 - 1042300 0.0061422446 0.0030520076 0.0060271573 - 1042400 0.0059954307 0.0026142224 0.0055182591 - 1042500 0.0051482924 0.0026071774 0.0051008816 - 1042600 0.007061626 0.0026629009 0.006083376 - 1042700 0.0067436831 0.0027230907 0.0059895622 - 1042800 0.0046298555 0.003072998 0.0053155842 - 1042900 0.0050186883 0.0027021479 0.005133075 - 1043000 0.0050903713 0.0022409002 0.0047065488 - 1043100 0.0044588871 0.0024278795 0.0045876529 - 1043200 0.0052072144 0.0026102171 0.0051324616 - 1043300 0.0030839047 0.0027556461 0.0042494125 - 1043400 0.0059592906 0.002698681 0.0055852124 - 1043500 0.0050922919 0.0034398161 0.005906395 - 1043600 0.0038020976 0.0032725893 0.0051142303 - 1043700 0.0049406202 0.0029200179 0.0053131308 - 1043800 0.0060987179 0.0023572155 0.005311282 - 1043900 0.0040090898 0.0020428714 0.0039847743 - 1044000 0.0058859457 0.0022271144 0.0050781194 - 1044100 0.0035222421 0.0028677327 0.0045738187 - 1044200 0.004567284 0.0029862066 0.0051984848 - 1044300 0.0056237352 0.0030926997 0.0058166964 - 1044400 0.0047226262 0.0030008259 0.005288348 - 1044500 0.0045797583 0.0031397002 0.0053580206 - 1044600 0.0042709434 0.0033023234 0.0053710617 - 1044700 0.0056781867 0.0030103629 0.0057607346 - 1044800 0.006156635 0.0029568962 0.0059390163 - 1044900 0.0041001197 0.0027493668 0.0047353623 - 1045000 0.0052522924 0.0027817665 0.0053258456 - 1045100 0.0040277478 0.0027064855 0.0046574258 - 1045200 0.0043634287 0.0026709197 0.0047844555 - 1045300 0.0058868151 0.0030714997 0.0059229257 - 1045400 0.0050471839 0.0033394996 0.0057842293 - 1045500 0.0058434188 0.0030523226 0.0058827286 - 1045600 0.0045523559 0.0024874115 0.0046924589 - 1045700 0.0044619269 0.0020011725 0.0041624184 - 1045800 0.0055585861 0.0025449897 0.0052374299 - 1045900 0.0040431393 0.0029213592 0.0048797548 - 1046000 0.0048892381 0.0026265189 0.0049947436 - 1046100 0.0037503361 0.002481961 0.0042985301 - 1046200 0.0044872095 0.0022634926 0.0044369847 - 1046300 0.0047746797 0.0022874475 0.004600183 - 1046400 0.0061950467 0.0023911164 0.0053918421 - 1046500 0.0051735862 0.0023944166 0.0049003724 - 1046600 0.0043333193 0.0022191308 0.0043180824 - 1046700 0.0054754352 0.0023761788 0.0050283427 - 1046800 0.0051042846 0.0022944247 0.0047668125 - 1046900 0.0041417916 0.0019654933 0.0039716737 - 1047000 0.0043957265 0.001923832 0.004053012 - 1047100 0.0043303464 0.0023049735 0.0044024851 - 1047200 0.0047851687 0.0018690607 0.0041868768 - 1047300 0.0051151393 0.0017590889 0.0042367345 - 1047400 0.0048118511 0.0018008274 0.0041315677 - 1047500 0.0047303586 0.0019035053 0.0041947728 - 1047600 0.0065920633 0.0019855473 0.0051785779 - 1047700 0.0062582789 0.0023615578 0.0053929116 - 1047800 0.0048014767 0.0027926979 0.0051184131 - 1047900 0.0057384066 0.0032674862 0.0060470269 - 1048000 0.0059847998 0.0030799753 0.0059788627 - 1048100 0.005076815 0.0026382659 0.0050973481 - 1048200 0.0044421798 0.0032793435 0.0054310243 - 1048300 0.0050194106 0.0037750581 0.0062063351 - 1048400 0.0062738555 0.003956149 0.0069950477 - 1048500 0.0062953867 0.0037226807 0.0067720087 - 1048600 0.0054240372 0.0033741468 0.0060014148 - 1048700 0.0069298408 0.00330614 0.0066627817 - 1048800 0.0035072166 0.0031158584 0.0048146665 - 1048900 0.0054537628 0.0028931217 0.005534788 - 1049000 0.0048183121 0.0032362375 0.0055701074 - 1049100 0.0058951537 0.0025658331 0.0054212981 - 1049200 0.0046208027 0.0020463783 0.0042845796 - 1049300 0.0032212387 0.0020255072 0.0035857947 - 1049400 0.0049216459 0.0023464476 0.0047303698 - 1049500 0.005070999 0.0021575179 0.004613783 - 1049600 0.0041882551 0.0024114365 0.0044401225 - 1049700 0.0051884589 0.0031825664 0.0056957262 - 1049800 0.0044853504 0.0031304689 0.0053030605 - 1049900 0.0060712477 0.003068241 0.0060090016 - 1050000 0.0037048753 0.0034713129 0.0052658619 - 1050100 0.0062138653 0.0027698093 0.0057796503 - 1050200 0.0057780981 0.0019958669 0.0047946332 - 1050300 0.0045655908 0.0020439664 0.0042554244 - 1050400 0.0046907112 0.0025375955 0.0048096587 - 1050500 0.0039409238 0.0028274892 0.0047363741 - 1050600 0.0039198834 0.002950878 0.0048495715 - 1050700 0.0059775774 0.002684179 0.0055795681 - 1050800 0.006151992 0.0023402862 0.0053201573 - 1050900 0.0032610249 0.0032720798 0.0048516387 - 1051000 0.0030154085 0.0031736418 0.0046342303 - 1051100 0.00548625 0.0029361669 0.0055935692 - 1051200 0.0058514998 0.0027292874 0.0055636076 - 1051300 0.0060877556 0.00219913 0.0051478866 - 1051400 0.0057433428 0.0023417702 0.0051237019 - 1051500 0.0042960148 0.0029116988 0.0049925809 - 1051600 0.0046403897 0.0032794007 0.0055270895 - 1051700 0.0062749217 0.0029328392 0.0059722544 - 1051800 0.0061847335 0.0026417056 0.0056374359 - 1051900 0.0066949391 0.0022436035 0.0054864646 - 1052000 0.0070111648 0.0022360041 0.005632037 - 1052100 0.0055455373 0.0027194826 0.0054056022 - 1052200 0.0067458887 0.0031767594 0.0064442993 - 1052300 0.0067892815 0.0034247701 0.0067133284 - 1052400 0.0051307248 0.0037775062 0.006262701 - 1052500 0.0060415184 0.0032124949 0.0061388554 - 1052600 0.0067726888 0.0020240372 0.0053045583 - 1052700 0.0052825891 0.0016935366 0.0042522907 - 1052800 0.0054954954 0.0020682107 0.0047300913 - 1052900 0.0041623514 0.0023108258 0.0043269647 - 1053000 0.0044068318 0.0025164544 0.0046510136 - 1053100 0.0049483196 0.0024965868 0.0048934291 - 1053200 0.0051731368 0.0024294693 0.0049352075 - 1053300 0.0064350229 0.0025382805 0.0056552447 - 1053400 0.0059161963 0.0024864121 0.0053520696 - 1053500 0.0065120382 0.0023189527 0.0054732212 - 1053600 0.0057853163 0.002302472 0.0051047346 - 1053700 0.0056497473 0.0024376302 0.0051742265 - 1053800 0.0054466864 0.0026715737 0.0053098125 - 1053900 0.0050118649 0.0025753306 0.0050029527 - 1054000 0.0063104427 0.002557761 0.0056143817 - 1054100 0.0070722156 0.0021673502 0.0055929547 - 1054200 0.0064075669 0.0023814499 0.0054851151 - 1054300 0.0044291901 0.0025413633 0.0046867522 - 1054400 0.0048569824 0.00275675 0.0051093509 - 1054500 0.0037186115 0.002959103 0.0047603054 - 1054600 0.0045431532 0.0026088075 0.0048093974 - 1054700 0.0047717656 0.0025090238 0.0048203478 - 1054800 0.0042690326 0.0023342283 0.004402041 - 1054900 0.0064558073 0.0020389246 0.0051659563 - 1055000 0.0064952929 0.0020231563 0.0051693138 - 1055100 0.0055631201 0.002830059 0.0055246953 - 1055200 0.005929974 0.0033165703 0.0061889015 - 1055300 0.0054133698 0.0032224003 0.0058445013 - 1055400 0.006704382 0.0035141798 0.0067616148 - 1055500 0.0065665987 0.0039308979 0.0071115941 - 1055600 0.0056407958 0.0042461384 0.0069783989 - 1055700 0.0050383267 0.0038020497 0.0062424892 - 1055800 0.0073291938 0.0029503413 0.0065004195 - 1055900 0.0048628571 0.0026550806 0.005010527 - 1056000 0.0056038271 0.0027748167 0.0054891704 - 1056100 0.0046476641 0.0032541372 0.0055053496 - 1056200 0.0042379505 0.0030272735 0.0050800307 - 1056300 0.0057602149 0.0025603505 0.0053504546 - 1056400 0.0062273259 0.002449477 0.005465838 - 1056500 0.0050699956 0.0030696623 0.0055254414 - 1056600 0.0053945912 0.0045063382 0.0071193434 - 1056700 0.0042991792 0.0046079341 0.006690349 - 1056800 0.0048685728 0.0039257182 0.0062839332 - 1056900 0.0057098515 0.0037414312 0.0065071405 - 1057000 0.0062060513 0.0037755561 0.0067816123 - 1057100 0.0065460533 0.0039003539 0.0070710985 - 1057200 0.0066316759 0.0032084111 0.0064206291 - 1057300 0.005828463 0.0034881754 0.0063113372 - 1057400 0.0065445572 0.0033703576 0.0065403775 - 1057500 0.0058463579 0.0026365689 0.0054683985 - 1057600 0.0034784512 0.0024947119 0.0041795867 - 1057700 0.0057155074 0.0019677195 0.0047361684 - 1057800 0.0043230509 0.0018008337 0.0038948115 - 1057900 0.0035915871 0.0018859172 0.0036255922 - 1058000 0.0060777562 0.0015778999 0.0045218131 - 1058100 0.0058803871 0.0019388495 0.004787162 - 1058200 0.0051487605 0.0024604192 0.0049543501 - 1058300 0.0043828267 0.002756867 0.0048797986 - 1058400 0.0062692343 0.00220817 0.0052448304 - 1058500 0.0054219083 0.0025666724 0.0051929093 - 1058600 0.0055797464 0.002608373 0.0053110627 - 1058700 0.0052995868 0.0027703229 0.0053373102 - 1058800 0.0073359145 0.0030646463 0.0066179799 - 1058900 0.0046243616 0.0033812324 0.0056211575 - 1059000 0.0049853284 0.003233533 0.0056483014 - 1059100 0.0042738678 0.0029096613 0.004979816 - 1059200 0.0042917895 0.0029561942 0.0050350298 - 1059300 0.0040655166 0.0024745533 0.0044437879 - 1059400 0.0064983645 0.0019758052 0.0051234505 - 1059500 0.0053038844 0.0021747977 0.0047438667 - 1059600 0.0055261105 0.0027298097 0.0054065195 - 1059700 0.0046599033 0.0028093564 0.0050664971 - 1059800 0.0056066714 0.0025771745 0.005292906 - 1059900 0.0057200307 0.0025716419 0.0053422817 - 1060000 0.0040774116 0.0027644989 0.0047394951 - 1060100 0.0060385475 0.0029319419 0.0058568634 - 1060200 0.004403367 0.0031743624 0.0053072433 - 1060300 0.0055782871 0.0027670858 0.0054690686 - 1060400 0.0052127148 0.0022694991 0.0047944079 - 1060500 0.0057499156 0.0018471167 0.0046322321 - 1060600 0.0037755025 0.0015496331 0.0033783921 - 1060700 0.0057008363 0.0014365452 0.0041978877 - 1060800 0.0057756579 0.0020766006 0.0048741848 - 1060900 0.0047304387 0.0020955578 0.0043868641 - 1061000 0.0053721483 0.001716578 0.0043187123 - 1061100 0.0061881217 0.0016818852 0.0046792567 - 1061200 0.0053977085 0.0016705273 0.0042850424 - 1061300 0.0054413248 0.001565074 0.0042007157 - 1061400 0.0062270368 0.0015772183 0.0045934392 - 1061500 0.0041608748 0.001645915 0.0036613388 - 1061600 0.0054254472 0.0016396001 0.0042675511 - 1061700 0.0051121133 0.0019411305 0.0044173104 - 1061800 0.0038195247 0.0026587595 0.0045088418 - 1061900 0.0046565658 0.002804854 0.0050603781 - 1062000 0.0072129372 0.0025331379 0.0060269044 - 1062100 0.0058446079 0.0023355077 0.0051664897 - 1062200 0.0045619497 0.0026551988 0.0048648932 - 1062300 0.0046954009 0.0026782401 0.0049525749 - 1062400 0.004151728 0.0023599309 0.0043709242 - 1062500 0.0040055555 0.0022044975 0.0041446885 - 1062600 0.0044022221 0.0022161696 0.0043484959 - 1062700 0.0052402662 0.0020015138 0.0045397677 - 1062800 0.0058893502 0.0017352069 0.0045878609 - 1062900 0.004345349 0.0021104423 0.0042152208 - 1063000 0.0052990573 0.002310091 0.0048768219 - 1063100 0.0061570614 0.0019882184 0.004970545 - 1063200 0.0056408495 0.0018660051 0.0045982916 - 1063300 0.0041914651 0.0019360779 0.0039663188 - 1063400 0.0039457356 0.0020012734 0.0039124891 - 1063500 0.0050815845 0.0020923654 0.0045537579 - 1063600 0.0046082951 0.0026829683 0.0049151112 - 1063700 0.004837358 0.0024757163 0.0048188116 - 1063800 0.0058201796 0.0024716145 0.005290764 - 1063900 0.0036369087 0.0026853306 0.0044469582 - 1064000 0.0078034501 0.0023398396 0.0061196357 - 1064100 0.0056235376 0.0026643974 0.0053882984 - 1064200 0.0061286389 0.0031405553 0.0061091147 - 1064300 0.0066948352 0.0029835287 0.0062263395 - 1064400 0.0058562282 0.0025721444 0.005408755 - 1064500 0.0052049294 0.0027184014 0.0052395391 - 1064600 0.0060106572 0.0025434626 0.0054548747 - 1064700 0.004139262 0.0025798194 0.0045847744 - 1064800 0.0041960076 0.0028008187 0.0048332599 - 1064900 0.0051237683 0.0026398529 0.0051216781 - 1065000 0.0050899836 0.0022007599 0.0046662207 - 1065100 0.0067047136 0.0020528636 0.0053004592 - 1065200 0.0067567947 0.0019493579 0.0052221803 - 1065300 0.0049399675 0.0019026907 0.0042954875 - 1065400 0.0038262215 0.0021771459 0.0040304719 - 1065500 0.0053400521 0.0019820075 0.0045685952 - 1065600 0.0050473174 0.0017233238 0.0041681182 - 1065700 0.004214167 0.001760672 0.0038019092 - 1065800 0.0045188192 0.0018128844 0.0040016875 - 1065900 0.004855718 0.0022630805 0.0046150689 - 1066000 0.0061694764 0.0025067599 0.0054951001 - 1066100 0.0062629758 0.0025781844 0.0056118133 - 1066200 0.0053971934 0.0026271061 0.0052413717 - 1066300 0.0054583889 0.0024786217 0.0051225288 - 1066400 0.0066783919 0.0029599581 0.0061948042 - 1066500 0.0048273498 0.0031028566 0.0054411042 - 1066600 0.0075934216 0.0027159893 0.0063940528 - 1066700 0.0048507704 0.0028648581 0.00521445 - 1066800 0.0054257182 0.0024405457 0.005068628 - 1066900 0.0059615996 0.002494611 0.0053822608 - 1067000 0.0049202046 0.0026677185 0.0050509426 - 1067100 0.0048389678 0.0028802797 0.0052241547 - 1067200 0.0067269628 0.0022334361 0.0054918087 - 1067300 0.0042104549 0.0018509037 0.0038903428 - 1067400 0.0058557906 0.0019117902 0.0047481888 - 1067500 0.0047894741 0.0023249914 0.0046448929 - 1067600 0.0071288993 0.00197306 0.0054261206 - 1067700 0.0053343027 0.0021844588 0.0047682617 - 1067800 0.0045779734 0.0027827298 0.0050001856 - 1067900 0.0042417169 0.0027237383 0.0047783199 - 1068000 0.0056787605 0.0024828195 0.0052334691 - 1068100 0.0059353986 0.0028029681 0.0056779268 - 1068200 0.0044727687 0.002924487 0.0050909843 - 1068300 0.005831936 0.0027612081 0.0055860521 - 1068400 0.0043533764 0.0026320975 0.0047407642 - 1068500 0.0057880229 0.0024978604 0.0053014341 - 1068600 0.0057365807 0.0020388752 0.0048175315 - 1068700 0.0052910634 0.0022031318 0.0047659906 - 1068800 0.0064654001 0.0028170835 0.0059487617 - 1068900 0.0045878083 0.0032811689 0.0055033886 - 1069000 0.0049800743 0.0027801098 0.0051923333 - 1069100 0.0046679996 0.0025181876 0.0047792499 - 1069200 0.0044618053 0.0017327119 0.0038938988 - 1069300 0.0038116456 0.0015180858 0.0033643516 - 1069400 0.0039335752 0.0018722093 0.0037775348 - 1069500 0.0051494146 0.001938108 0.0044323557 - 1069600 0.0044461151 0.0024778803 0.0046314673 - 1069700 0.0062141006 0.0023860154 0.0053959703 - 1069800 0.0067091416 0.0022180703 0.0054678108 - 1069900 0.0049835145 0.0023402862 0.0047541761 - 1070000 0.003682953 0.0025998111 0.0043837415 - 1070100 0.0044706102 0.0019022076 0.0040676595 - 1070200 0.005844165 0.0019072231 0.0047379905 - 1070300 0.0050964082 0.002200525 0.0046690977 - 1070400 0.0049611698 0.0022761776 0.0046792442 - 1070500 0.0038319172 0.0028136051 0.00466969 - 1070600 0.0036730169 0.0028883859 0.0046675034 - 1070700 0.005598575 0.0025701362 0.005281946 - 1070800 0.007484964 0.0022683349 0.0058938643 - 1070900 0.0042687366 0.0028643037 0.004931973 - 1071000 0.0046200037 0.0029875217 0.005225336 - 1071100 0.0055579145 0.0026213159 0.0053134307 - 1071200 0.0061021545 0.0022301124 0.0051858435 - 1071300 0.0054617713 0.0021597839 0.0048053294 - 1071400 0.0032741073 0.0022637534 0.0038496492 - 1071500 0.0043790948 0.0022033629 0.0043244869 - 1071600 0.0051281837 0.0021010726 0.0045850366 - 1071700 0.0043904939 0.0025936202 0.0047202657 - 1071800 0.0053387648 0.0030932876 0.0056792518 - 1071900 0.0065516798 0.0027998983 0.0059733682 - 1072000 0.0059552678 0.0027023453 0.0055869281 - 1072100 0.0059425762 0.0020332934 0.0049117288 - 1072200 0.0059463548 0.0020830808 0.0049633464 - 1072300 0.0058470068 0.0027795029 0.0056116468 - 1072400 0.0052839663 0.0028729709 0.005432392 - 1072500 0.0049315434 0.0027870366 0.005175753 - 1072600 0.0058698035 0.0026447414 0.0054879274 - 1072700 0.0055127353 0.0025056931 0.0051759243 - 1072800 0.006370666 0.0026674273 0.0057532187 - 1072900 0.0044177152 0.0024215995 0.0045614303 - 1073000 0.0042947762 0.0022283569 0.0043086391 - 1073100 0.0046906838 0.0022703413 0.0045423913 - 1073200 0.0047041404 0.0025142477 0.0047928157 - 1073300 0.0034514166 0.0026269133 0.0042986933 - 1073400 0.0065085288 0.0023934425 0.0055460112 - 1073500 0.0061174172 0.0026043912 0.0055675152 - 1073600 0.0047951799 0.0030919927 0.005414658 - 1073700 0.0076000464 0.0026579508 0.0063392233 - 1073800 0.0069264645 0.002706163 0.0060611693 - 1073900 0.0046299095 0.0029257534 0.0051683658 - 1074000 0.0053674834 0.0034473729 0.0060472477 - 1074100 0.0038936925 0.0037577365 0.0056437438 - 1074200 0.0059799725 0.0034188257 0.0063153748 - 1074300 0.0050837335 0.0028437468 0.0053061802 - 1074400 0.0052559988 0.0022050832 0.0047509576 - 1074500 0.0049198956 0.0023034264 0.0046865008 - 1074600 0.0045299432 0.0021370969 0.0043312881 - 1074700 0.0051216889 0.001780517 0.0042613351 - 1074800 0.0039887919 0.001806484 0.0037385551 - 1074900 0.0046432137 0.002014284 0.0042633406 - 1075000 0.0053522762 0.0024692315 0.0050617403 - 1075100 0.0042995741 0.0025792318 0.004661838 - 1075200 0.0056007671 0.0023316338 0.0050445054 - 1075300 0.0058112372 0.0025766208 0.0053914388 - 1075400 0.0037581538 0.0024082249 0.0042285806 - 1075500 0.0054067897 0.0024169922 0.005035906 - 1075600 0.0053876161 0.0026546878 0.0052643143 - 1075700 0.0047732148 0.0028792878 0.0051913137 - 1075800 0.0062756856 0.0030154041 0.0060551893 - 1075900 0.0053291246 0.0030932407 0.0056745354 - 1076000 0.0037451606 0.0025468615 0.0043609237 - 1076100 0.0055731402 0.0025652329 0.0052647227 - 1076200 0.0046541114 0.0028917112 0.0051460465 - 1076300 0.0047945322 0.0029389111 0.0052612627 - 1076400 0.0045376223 0.0030961292 0.00529404 - 1076500 0.0060245954 0.0030571803 0.0059753437 - 1076600 0.0065666797 0.0024033465 0.005584082 - 1076700 0.0044585111 0.0020850858 0.004244677 - 1076800 0.0050259096 0.0021037503 0.0045381752 - 1076900 0.004517216 0.0025253606 0.0047133871 - 1077000 0.0058184988 0.0029104177 0.005728753 - 1077100 0.0042568295 0.0031385046 0.0052004064 - 1077200 0.0046488275 0.0025823447 0.0048341205 - 1077300 0.0053147997 0.0024347093 0.0050090654 - 1077400 0.0049139489 0.0027841294 0.0051643233 - 1077500 0.0052737353 0.0032653728 0.0058198384 - 1077600 0.0049110962 0.0036155012 0.0059943134 - 1077700 0.0053438111 0.0035104136 0.0060988222 - 1077800 0.0054875029 0.0029817499 0.0056397592 - 1077900 0.0058752377 0.0030208154 0.0058666336 - 1078000 0.005022463 0.003602896 0.0060356515 - 1078100 0.0050301108 0.0035783781 0.0060148381 - 1078200 0.0049986179 0.0031954153 0.0056166208 - 1078300 0.0045141079 0.003561313 0.005747834 - 1078400 0.0048877816 0.0037896446 0.0061571638 - 1078500 0.0048377315 0.0034986031 0.0058418793 - 1078600 0.0047511969 0.0031997045 0.0055010655 - 1078700 0.0047245413 0.0030228882 0.0053113379 - 1078800 0.0049058976 0.0031776122 0.0055539064 - 1078900 0.0048460187 0.0032666028 0.0056138931 - 1079000 0.0047336415 0.0032013578 0.0054942154 - 1079100 0.0056347075 0.0031540874 0.0058833988 - 1079200 0.0063244884 0.0028355945 0.0058990185 - 1079300 0.0062209545 0.0029855291 0.0059988039 - 1079400 0.0049189622 0.0032107604 0.0055933827 - 1079500 0.0046984723 0.0028938558 0.0051696783 - 1079600 0.0071821467 0.0026490425 0.0061278948 - 1079700 0.0043954308 0.0032076955 0.0053367323 - 1079800 0.0062837609 0.0030542165 0.0060979132 - 1079900 0.0035804175 0.0030759134 0.0048101781 - 1080000 0.00413089 0.0025929534 0.0045938532 - 1080100 0.0064720667 0.0022263148 0.0053612221 - 1080200 0.0049039451 0.002406281 0.0047816294 - 1080300 0.0058499506 0.002542893 0.0053764628 - 1080400 0.0068680201 0.0023637122 0.0056904094 - 1080500 0.0068432802 0.0023583301 0.005673044 - 1080600 0.0051043323 0.0023137969 0.0047862079 - 1080700 0.0036361119 0.0024553934 0.0042166351 - 1080800 0.0050686804 0.0025085116 0.0049636536 - 1080900 0.0056685578 0.0026168808 0.0053625885 - 1081000 0.006285144 0.0027857389 0.0058301055 - 1081100 0.0066115043 0.002691254 0.0058937014 - 1081200 0.0047199328 0.0031120423 0.0053982598 - 1081300 0.0060021691 0.0028452056 0.0057525062 - 1081400 0.0059395421 0.0020962444 0.0049732101 - 1081500 0.0041509946 0.0020058129 0.0040164509 - 1081600 0.0047306847 0.0020368086 0.004328234 - 1081700 0.0042517241 0.0017678698 0.0038272987 - 1081800 0.0038830918 0.0016707911 0.0035516637 - 1081900 0.0061499979 0.0019014037 0.0048803089 - 1082000 0.0053069563 0.0024609679 0.0050315248 - 1082100 0.0061721772 0.0027669499 0.0057565983 - 1082200 0.0051514099 0.0033449617 0.0058401759 - 1082300 0.0069381534 0.0025696723 0.0059303404 - 1082400 0.0058283773 0.0028981662 0.0057212864 - 1082500 0.0042527905 0.0031421766 0.005202122 - 1082600 0.006291325 0.0029199973 0.0059673579 - 1082700 0.0063749642 0.0027457085 0.0058335818 - 1082800 0.0053867165 0.0024652256 0.0050744164 - 1082900 0.004526233 0.002508989 0.0047013831 - 1083000 0.0062218671 0.0024099527 0.0054236696 - 1083100 0.0039332786 0.0025421425 0.0044473244 - 1083200 0.0053251035 0.0024543846 0.0050337316 - 1083300 0.0055171858 0.0024383084 0.0051106952 - 1083400 0.0073011089 0.0023249905 0.0058614652 - 1083500 0.0066255735 0.0022984878 0.0055077499 - 1083600 0.0042253786 0.0025105389 0.0045572066 - 1083700 0.0061031018 0.0022635761 0.005219766 - 1083800 0.0053642938 0.002501247 0.0050995769 - 1083900 0.0042374529 0.0029500561 0.0050025724 - 1084000 0.0070899487 0.0022117555 0.0056459493 - 1084100 0.0052819776 0.0016432927 0.0042017506 - 1084200 0.0035519341 0.0015223978 0.0032428659 - 1084300 0.0054370929 0.0020647973 0.0046983892 - 1084400 0.005199213 0.0026951671 0.0052135359 - 1084500 0.004901397 0.0030029438 0.0053770579 - 1084600 0.0050176827 0.0027900435 0.0052204836 - 1084700 0.0040626743 0.0026848518 0.0046527096 - 1084800 0.0051023786 0.0026899918 0.0051614565 - 1084900 0.0041363238 0.0027096805 0.0047132124 - 1085000 0.0051984633 0.0024818649 0.0049998706 - 1085100 0.0049879299 0.0027960061 0.0052120346 - 1085200 0.0050963683 0.0025423165 0.0050108698 - 1085300 0.0056810978 0.0023327391 0.0050845209 - 1085400 0.003929703 0.0027566722 0.0046601221 - 1085500 0.0049665299 0.0027425427 0.0051482056 - 1085600 0.0055375709 0.0021395541 0.004821815 - 1085700 0.0043848892 0.0018988622 0.0040227929 - 1085800 0.0066533659 0.0022316966 0.0054544207 - 1085900 0.0060173732 0.0034272297 0.0063418948 - 1086000 0.0049067337 0.003172581 0.0055492801 - 1086100 0.0054230169 0.0021921553 0.0048189291 - 1086200 0.0051146639 0.0019398928 0.0044173081 - 1086300 0.0060094973 0.002334398 0.0052452482 - 1086400 0.0053635788 0.0023997769 0.0049977604 - 1086500 0.0065649857 0.0029721423 0.0061520573 - 1086600 0.0054509822 0.0029376332 0.0055779528 - 1086700 0.0067697855 0.002919432 0.0061985468 - 1086800 0.0038698382 0.0027073339 0.0045817868 - 1086900 0.0041462811 0.0025393404 0.0045476953 - 1087000 0.0039218087 0.0021702546 0.0040698807 - 1087100 0.0051017785 0.0021793002 0.0046504742 - 1087200 0.0046870121 0.0025643787 0.0048346502 - 1087300 0.0061004172 0.0027058036 0.0056606932 - 1087400 0.0044975843 0.003109418 0.0052879354 - 1087500 0.0048917646 0.0033787504 0.0057481989 - 1087600 0.0053630695 0.0029418973 0.0055396341 - 1087700 0.0036779683 0.0029262482 0.0047077641 - 1087800 0.0042476704 0.0027759393 0.0048334046 - 1087900 0.0044328727 0.0027920923 0.004939265 - 1088000 0.0044451138 0.0030057364 0.0051588384 - 1088100 0.0033832642 0.0034892546 0.0051280231 - 1088200 0.0052867194 0.0032730449 0.0058337996 - 1088300 0.005313392 0.0033817117 0.005955386 - 1088400 0.0052061788 0.0030114041 0.005533147 - 1088500 0.0066228439 0.0023470256 0.0055549656 - 1088600 0.0055471282 0.00221387 0.0049007602 - 1088700 0.0052273034 0.0024938962 0.0050258713 - 1088800 0.0042261537 0.0027704328 0.004817476 - 1088900 0.0041904178 0.0028947435 0.0049244772 - 1089000 0.0064554797 0.0029244896 0.0060513626 - 1089100 0.0044300513 0.0032489615 0.0053947676 - 1089200 0.0049959879 0.0035487045 0.0059686362 - 1089300 0.0061074032 0.0034910762 0.0064493497 - 1089400 0.0055831794 0.0030407135 0.0057450661 - 1089500 0.0058929272 0.0027509463 0.005605333 - 1089600 0.0046946959 0.0028189206 0.005092914 - 1089700 0.0037690347 0.0028420626 0.0046676888 - 1089800 0.0043982276 0.0030437195 0.005174111 - 1089900 0.0057188771 0.0031449167 0.0059149978 - 1090000 0.0042804412 0.0032502663 0.005323605 - 1090100 0.004624 0.0028172726 0.0050570226 - 1090200 0.0054208404 0.002574581 0.0052003006 - 1090300 0.004381194 0.0026126879 0.0047348287 - 1090400 0.0056822356 0.0024056565 0.0051579893 - 1090500 0.0044728531 0.0026230644 0.0047896026 - 1090600 0.0058636985 0.0028425754 0.0056828044 - 1090700 0.0052922545 0.0032845389 0.0058479747 - 1090800 0.0059587635 0.0032711927 0.0061574688 - 1090900 0.0050426757 0.0029143158 0.0053568618 - 1091000 0.0066291784 0.0026128168 0.0058238251 - 1091100 0.0062415851 0.0030065233 0.006029791 - 1091200 0.0047395576 0.0033559212 0.0056516444 - 1091300 0.0060363753 0.0030735504 0.0059974197 - 1091400 0.0056152549 0.0026535724 0.0053734615 - 1091500 0.0054639905 0.0023296178 0.0049762382 - 1091600 0.0044183066 0.0023990736 0.0045391908 - 1091700 0.0043174156 0.0024249343 0.0045161825 - 1091800 0.0054132335 0.0024531886 0.0050752236 - 1091900 0.0039395657 0.002534241 0.0044424681 - 1092000 0.0054842532 0.0023192122 0.0049756473 - 1092100 0.0055053252 0.0027242549 0.0053908968 - 1092200 0.0053012881 0.0033752722 0.0059430836 - 1092300 0.0047234863 0.0035138794 0.0058018181 - 1092400 0.0064323818 0.003321107 0.0064367919 - 1092500 0.0054843572 0.0037079042 0.0063643897 - 1092600 0.0078370494 0.0030336152 0.006829686 - 1092700 0.0063446346 0.002613754 0.0056869364 - 1092800 0.0059633842 0.0028710929 0.0057596071 - 1092900 0.0070269941 0.0031533841 0.0065570843 - 1093000 0.0042992649 0.0029021803 0.0049846367 - 1093100 0.0060839256 0.0028782594 0.0058251609 - 1093200 0.0056994562 0.0030218662 0.0057825403 - 1093300 0.0051146382 0.0033306376 0.0058080405 - 1093400 0.0083655337 0.002656526 0.0067085814 - 1093500 0.0051782097 0.0026098689 0.0051180643 - 1093600 0.0065426647 0.0027739553 0.0059430585 - 1093700 0.0045447284 0.0029828382 0.005184191 - 1093800 0.0064101173 0.002605975 0.0057108756 - 1093900 0.0058614236 0.0024542958 0.0052934229 - 1094000 0.0042904413 0.0025811201 0.0046593026 - 1094100 0.0056625542 0.0033440361 0.0060868358 - 1094200 0.0057784117 0.0036718478 0.0064707659 - 1094300 0.0055079029 0.0035276765 0.006195567 - 1094400 0.0056188048 0.0033436822 0.0060652908 - 1094500 0.0040676415 0.0031825821 0.005152846 - 1094600 0.0067734376 0.002647229 0.0059281128 - 1094700 0.0059217287 0.002564425 0.0054327623 - 1094800 0.0057097806 0.0026486609 0.0054143358 - 1094900 0.0044006018 0.0032307565 0.005362298 - 1095000 0.0044884359 0.0027571699 0.004931256 - 1095100 0.0048498768 0.00280179 0.005150949 - 1095200 0.006350535 0.0024003655 0.0054764058 - 1095300 0.0051251269 0.0025898814 0.0050723648 - 1095400 0.003691519 0.0027482362 0.0045363158 - 1095500 0.0057008243 0.0026220713 0.005383408 - 1095600 0.0056188682 0.0028694236 0.0055910629 - 1095700 0.005221882 0.0033289373 0.0058582864 - 1095800 0.0047047848 0.0032167767 0.0054956568 - 1095900 0.0046865817 0.003161965 0.0054320281 - 1096000 0.0055159007 0.0031809461 0.0058527105 - 1096100 0.0040095595 0.0032243972 0.0051665275 - 1096200 0.0043930547 0.0027103273 0.0048382132 - 1096300 0.0058256689 0.0025833607 0.0054051691 - 1096400 0.0047355783 0.0029756063 0.005269402 - 1096500 0.0063579513 0.0036096963 0.0066893289 - 1096600 0.006432794 0.00379917 0.0069150546 - 1096700 0.0040803141 0.0033797392 0.0053561413 - 1096800 0.0049613199 0.002858169 0.0052613083 - 1096900 0.0050754582 0.0026693845 0.0051278095 - 1097000 0.0060352652 0.0027035402 0.0056268718 - 1097100 0.007082164 0.0026357406 0.0060661638 - 1097200 0.0043619888 0.0030000695 0.0051129079 - 1097300 0.0049814198 0.0028316353 0.0052445105 - 1097400 0.0060979598 0.0029761349 0.0059298342 - 1097500 0.0054745878 0.0029114111 0.0055631646 - 1097600 0.0057292214 0.0026563798 0.0054314714 - 1097700 0.0071978013 0.0023953117 0.0058817468 - 1097800 0.0058154671 0.0023072287 0.0051240956 - 1097900 0.0053895188 0.0021798597 0.0047904078 - 1098000 0.0048657227 0.0018576008 0.0042144353 - 1098100 0.0042690898 0.0018168772 0.0038847176 - 1098200 0.0045405828 0.0019814854 0.0041808302 - 1098300 0.0047981163 0.0022366803 0.0045607679 - 1098400 0.0044396598 0.0022386456 0.0043891058 - 1098500 0.0040698196 0.0018875362 0.0038588551 - 1098600 0.0048147055 0.002000718 0.004332841 - 1098700 0.0060187487 0.0029066347 0.0058219661 - 1098800 0.0057693796 0.0035289047 0.0063234479 - 1098900 0.0071693028 0.002916203 0.0063888341 - 1099000 0.0073210081 0.0030789026 0.0066250159 - 1099100 0.0067435558 0.0029762179 0.0062426277 - 1099200 0.0048226972 0.0029145459 0.0052505398 - 1099300 0.0046461714 0.0029592078 0.0052096971 - 1099400 0.0069408269 0.0021730429 0.0055350059 - 1099500 0.0043041789 0.0019335274 0.0040183641 - 1099600 0.003603541 0.00216291 0.0039083752 - 1099700 0.003894492 0.0021533131 0.0040397077 - 1099800 0.005168519 0.0021102807 0.0046137821 - 1099900 0.0045393919 0.0022872039 0.0044859718 - 1100000 0.005991602 0.0028215728 0.005723755 - 1100100 0.0050655252 0.0029993638 0.0054529776 - 1100200 0.0055902586 0.0024816416 0.005189423 - 1100300 0.0074988604 0.0020600139 0.0056922744 - 1100400 0.0043779754 0.0027274697 0.0048480516 - 1100500 0.0049486275 0.0026323365 0.005029328 - 1100600 0.005717754 0.002607548 0.0053770851 - 1100700 0.0035280902 0.0030057222 0.0047146408 - 1100800 0.0052552356 0.0022842801 0.0048297848 - 1100900 0.0057624002 0.0019534868 0.0047446494 - 1101000 0.0065461063 0.0022116816 0.0053824519 - 1101100 0.0044729927 0.0027498418 0.0049164477 - 1101200 0.0053173352 0.0028275565 0.0054031408 - 1101300 0.0062939468 0.0027415691 0.0057901996 - 1101400 0.0060473494 0.0027084644 0.0056376493 - 1101500 0.0076713162 0.0024222086 0.0061380024 - 1101600 0.0055393709 0.0023420687 0.0050252015 - 1101700 0.005769938 0.0027323685 0.0055271822 - 1101800 0.0056879359 0.0028914594 0.0056465533 - 1101900 0.004281146 0.0030105743 0.0050842544 - 1102000 0.0062108899 0.0027505116 0.0057589114 - 1102100 0.0042766193 0.0034124381 0.0054839255 - 1102200 0.0070866685 0.0026569773 0.0060895823 - 1102300 0.0059960313 0.0021652996 0.0050696273 - 1102400 0.006073389 0.0025011958 0.0054429936 - 1102500 0.0067239677 0.0027330961 0.005990018 - 1102600 0.0057148376 0.0023671297 0.0051352542 - 1102700 0.0055588686 0.002208501 0.0049010779 - 1102800 0.0057283742 0.0024804578 0.005255139 - 1102900 0.0042399939 0.0021502968 0.0042040438 - 1103000 0.0056430688 0.0015586125 0.004291974 - 1103100 0.0051763224 0.0020368495 0.0045441307 - 1103200 0.0047321503 0.0020808634 0.0043729987 - 1103300 0.0044539193 0.002333621 0.0044909882 - 1103400 0.004527375 0.0025516773 0.0047446246 - 1103500 0.0050443504 0.0026124683 0.0050558255 - 1103600 0.0061479287 0.0028957526 0.0058736556 - 1103700 0.0052408946 0.0026595735 0.0051981318 - 1103800 0.0059141539 0.0026558015 0.0055204698 - 1103900 0.0059907394 0.0029483244 0.0058500887 - 1104000 0.004982474 0.0029546977 0.0053680835 - 1104100 0.0073602118 0.0023425188 0.0059076214 - 1104200 0.0057828528 0.0022520712 0.0050531405 - 1104300 0.0055333856 0.0023419635 0.0050221971 - 1104400 0.0060315657 0.0022093135 0.0051308531 - 1104500 0.0047213363 0.0027605439 0.0050474412 - 1104600 0.0069538672 0.0028847 0.0062529794 - 1104700 0.0049158793 0.0035468761 0.0059280051 - 1104800 0.0060768314 0.0035000048 0.0064434701 - 1104900 0.0069096594 0.0033658437 0.00671271 - 1105000 0.0064244297 0.0025905511 0.0057023842 - 1105100 0.0046026557 0.0027842294 0.0050136408 - 1105200 0.0036388043 0.002994907 0.0047574528 - 1105300 0.0077870325 0.0025917826 0.0063636265 - 1105400 0.0057526193 0.0027424675 0.0055288925 - 1105500 0.0051400807 0.002753312 0.0052430386 - 1105600 0.0040027181 0.0026940899 0.0046329065 - 1105700 0.0041962949 0.0029002116 0.0049327919 - 1105800 0.0044277254 0.0028368954 0.0049815749 - 1105900 0.0056800184 0.0030259142 0.0057771731 - 1106000 0.004715906 0.0033293001 0.005613567 - 1106100 0.0053016618 0.0029800702 0.0055480627 - 1106200 0.004759044 0.0022602746 0.0045654365 - 1106300 0.0051209233 0.0019345967 0.0044150439 - 1106400 0.0048572817 0.0018998365 0.0042525823 - 1106500 0.0041739278 0.002232467 0.0042542133 - 1106600 0.00445912 0.0025034246 0.0046633108 - 1106700 0.0056106446 0.0019190265 0.0046366825 - 1106800 0.0063655654 0.0019334817 0.0050168024 - 1106900 0.0068860158 0.0024513237 0.0057867376 - 1107000 0.0040029011 0.0025818941 0.0045207993 - 1107100 0.0055620575 0.0023053265 0.004999448 - 1107200 0.0054078069 0.0024843063 0.0051037127 - 1107300 0.0040787447 0.002713159 0.004688801 - 1107400 0.0049364509 0.0027653613 0.0051564547 - 1107500 0.0049182113 0.0027939281 0.0051761867 - 1107600 0.0063447058 0.0033471401 0.006420357 - 1107700 0.0054817401 0.0034237314 0.0060789493 - 1107800 0.005538563 0.0029211627 0.0056039042 - 1107900 0.0055796166 0.0029718666 0.0056744934 - 1108000 0.0065057892 0.0029371454 0.006088387 - 1108100 0.0051297066 0.002561892 0.0050465937 - 1108200 0.0050588149 0.0024788572 0.0049292207 - 1108300 0.0047802043 0.002681684 0.0049970955 - 1108400 0.0063243561 0.0022674154 0.0053307754 - 1108500 0.0058038146 0.0019768639 0.0047880866 - 1108600 0.0041419714 0.0018362636 0.0038425309 - 1108700 0.0046970636 0.0016418472 0.0039169874 - 1108800 0.0048032611 0.0018533547 0.0041799343 - 1108900 0.0052189894 0.0024763651 0.0050043131 - 1109000 0.0044299576 0.0028127601 0.0049585208 - 1109100 0.0051990741 0.0027628922 0.0052811937 - 1109200 0.0062447348 0.0031271589 0.0061519523 - 1109300 0.005239519 0.003407012 0.005944904 - 1109400 0.0061915785 0.0028100926 0.0058091384 - 1109500 0.004669854 0.0021393798 0.0044013404 - 1109600 0.0053710694 0.0024599835 0.0050615953 - 1109700 0.0043475318 0.0030414075 0.0051472432 - 1109800 0.0049280213 0.0029226095 0.0053096198 - 1109900 0.0044991705 0.0028915679 0.0050708536 - 1110000 0.0042017831 0.0028794884 0.0049147271 - 1110100 0.0059891207 0.0028923404 0.0057933207 - 1110200 0.0061235873 0.0029086248 0.0058747374 - 1110300 0.0057204854 0.0028717441 0.0056426042 - 1110400 0.0055783107 0.0029003033 0.0056022975 - 1110500 0.0066020431 0.0023540105 0.0055518751 - 1110600 0.0046055133 0.0021596553 0.0043904508 - 1110700 0.0042039683 0.0025462803 0.0045825774 - 1110800 0.00591305 0.0028137331 0.0056778667 - 1110900 0.0048127822 0.0030802342 0.0054114256 - 1111000 0.0062253191 0.0023251833 0.0053405722 - 1111100 0.0035526035 0.0020666596 0.0037874519 - 1111200 0.0054558046 0.0022146625 0.0048573179 - 1111300 0.0045353779 0.0024494886 0.0046463123 - 1111400 0.0043986653 0.0028053301 0.0049359336 - 1111500 0.004393291 0.002867982 0.0049959823 - 1111600 0.0062179306 0.0026386135 0.0056504237 - 1111700 0.0051220633 0.0027601392 0.0052411386 - 1111800 0.0072570875 0.0030809078 0.0065960596 - 1111900 0.0045708254 0.0032789128 0.0054929064 - 1112000 0.007134497 0.0028967331 0.0063525051 - 1112100 0.0057309567 0.0026336111 0.0054095432 - 1112200 0.0055190149 0.0025008303 0.0051741031 - 1112300 0.0077837574 0.002888359 0.0066586165 - 1112400 0.0046867737 0.0030217336 0.0052918896 - 1112500 0.0060998888 0.0027859074 0.005740541 - 1112600 0.004250596 0.0029630435 0.005021926 - 1112700 0.0057270844 0.0031149313 0.0058889878 - 1112800 0.0059949933 0.0029216089 0.0058254338 - 1112900 0.0038490955 0.0033003677 0.0051647733 - 1113000 0.0049005718 0.0029372453 0.0053109598 - 1113100 0.0074636184 0.0026301645 0.0062453547 - 1113200 0.0059426318 0.0032439437 0.006122406 - 1113300 0.0050525439 0.0037705819 0.0062179078 - 1113400 0.0061163791 0.0033813594 0.0063439806 - 1113500 0.0050377043 0.0033490719 0.0057892099 - 1113600 0.0064889473 0.002885276 0.0060283598 - 1113700 0.005297396 0.0028426061 0.0054085323 - 1113800 0.0065973159 0.0026799041 0.005875479 - 1113900 0.004461859 0.0029127513 0.0050739642 - 1114000 0.0046785 0.0027714446 0.005037593 - 1114100 0.0052176923 0.002746836 0.0052741557 - 1114200 0.0053826716 0.0025609802 0.0051682118 - 1114300 0.0056213693 0.0025951344 0.0053179852 - 1114400 0.0065630034 0.0026482467 0.0058272014 - 1114500 0.0060913688 0.0024537136 0.0054042203 - 1114600 0.0051503109 0.0025607417 0.0050554235 - 1114700 0.0041454833 0.002518074 0.0045260425 - 1114800 0.0046998443 0.0020204196 0.0042969067 - 1114900 0.0056620937 0.0017501652 0.0044927418 - 1115000 0.0077727034 0.0021252153 0.0058901185 - 1115100 0.0034333436 0.0027088295 0.0043718553 - 1115200 0.0050058601 0.0026338398 0.0050585533 - 1115300 0.0051960552 0.0023730127 0.004889852 - 1115400 0.0049552232 0.0025254066 0.0049255928 - 1115500 0.0057052902 0.0025194608 0.0052829607 - 1115600 0.0053390851 0.0022372035 0.0048233228 - 1115700 0.0059887923 0.0020338894 0.0049347106 - 1115800 0.0051627314 0.0023646213 0.0048653193 - 1115900 0.0045640861 0.0025179668 0.004728696 - 1116000 0.0060555999 0.0022952809 0.0052284621 - 1116100 0.0041919601 0.0026195274 0.0046500081 - 1116200 0.0051495525 0.0025018039 0.0049961184 - 1116300 0.005519823 0.0022266146 0.0049002788 - 1116400 0.0051210825 0.0020035653 0.0044840897 - 1116500 0.0062988818 0.0022884472 0.005339468 - 1116600 0.0061087928 0.0024641851 0.0054231316 - 1116700 0.0046177278 0.0021939512 0.0044306631 - 1116800 0.0041769198 0.0019891339 0.0040123294 - 1116900 0.006167003 0.0019083148 0.0048954569 - 1117000 0.0042236196 0.0023301626 0.0043759784 - 1117100 0.0062767353 0.0023550938 0.0053953875 - 1117200 0.0071159125 0.001978103 0.005424873 - 1117300 0.0057704407 0.0018903744 0.0046854316 - 1117400 0.0033183309 0.0019777585 0.003585075 - 1117500 0.0034051181 0.0025133751 0.0041627292 - 1117600 0.0045513233 0.0021574214 0.0043619686 - 1117700 0.0052935223 0.0020450649 0.0046091147 - 1117800 0.0043975907 0.0022937522 0.0044238352 - 1117900 0.0063904534 0.0020517868 0.0051471627 - 1118000 0.0052364858 0.0020489557 0.0045853785 - 1118100 0.0043162274 0.0018152976 0.0039059702 - 1118200 0.0047738302 0.0019587773 0.0042711013 - 1118300 0.004757437 0.0025165433 0.0048209269 - 1118400 0.0048395872 0.0027462713 0.0050904463 - 1118500 0.0050019611 0.0024198526 0.0048426775 - 1118600 0.0035624735 0.0026980004 0.0044235735 - 1118700 0.0067613143 0.0029532848 0.0062282964 - 1118800 0.0047228201 0.0034329798 0.0057205958 - 1118900 0.0058421184 0.0029928159 0.005822592 - 1119000 0.0049576564 0.0023965506 0.0047979155 - 1119100 0.0034416312 0.0024797063 0.0041467464 - 1119200 0.0046850377 0.0023303402 0.0045996553 - 1119300 0.0052078449 0.00183094 0.0043534898 - 1119400 0.004644418 0.0016409615 0.0038906015 - 1119500 0.0046271457 0.0018955022 0.0041367759 - 1119600 0.0041463097 0.0020388906 0.0040472593 - 1119700 0.0048725502 0.0020397247 0.0043998662 - 1119800 0.0046815582 0.0018494379 0.0041170677 - 1119900 0.0053195369 0.0016650809 0.0042417315 - 1120000 0.0044638291 0.0020760454 0.0042382126 - 1120100 0.004469075 0.0020868379 0.0042515461 - 1120200 0.0042341547 0.0018719823 0.003922901 - 1120300 0.0036386296 0.002030855 0.0037933162 - 1120400 0.0064265565 0.0020943397 0.005207203 - 1120500 0.0066591907 0.0022433355 0.005468881 - 1120600 0.0045775824 0.0022661987 0.0044834652 - 1120700 0.0046390369 0.0020878846 0.0043349181 - 1120800 0.0067438183 0.0020808827 0.0053474197 - 1120900 0.0059543147 0.001750714 0.0046348351 - 1121000 0.0061220649 0.0017307582 0.0046961334 - 1121100 0.0033660968 0.0020448046 0.0036752578 - 1121200 0.0054772212 0.0019817192 0.0046347482 - 1121300 0.0035526849 0.0021489675 0.0038697993 - 1121400 0.0051126388 0.0024042 0.0048806344 - 1121500 0.0044333375 0.0026802185 0.0048276164 - 1121600 0.0048808525 0.0023961655 0.0047603284 - 1121700 0.005102982 0.0024768871 0.004948644 - 1121800 0.0047777656 0.0025316264 0.0048458566 - 1121900 0.0039108025 0.002762688 0.004656983 - 1122000 0.0042828427 0.0026290946 0.0047035965 - 1122100 0.0058676683 0.0022950888 0.0051372406 - 1122200 0.0058639977 0.0022225089 0.0050628828 - 1122300 0.0040040898 0.002282767 0.004222248 - 1122400 0.0070540323 0.0020981883 0.0055149852 - 1122500 0.0042517997 0.0022902103 0.0043496758 - 1122600 0.0041411567 0.0026633962 0.004669269 - 1122700 0.0064431414 0.0027870392 0.0059079358 - 1122800 0.004849307 0.0029201935 0.0052690766 - 1122900 0.0062730927 0.0029414558 0.0059799851 - 1123000 0.0048430293 0.0029907684 0.0053366107 - 1123100 0.0035634674 0.0035276685 0.005253723 - 1123200 0.0053990425 0.0033959872 0.0060111484 - 1123300 0.0048499045 0.0028202987 0.0051694711 - 1123400 0.0057250731 0.0027939386 0.0055670209 - 1123500 0.0062777701 0.0028752902 0.0059160851 - 1123600 0.006419634 0.0030133771 0.0061228873 - 1123700 0.0064464662 0.0028294986 0.0059520057 - 1123800 0.0048177011 0.0032187242 0.0055522982 - 1123900 0.0053172438 0.003386106 0.005961646 - 1124000 0.0049536166 0.0031748826 0.0055742906 - 1124100 0.0043508357 0.0034000784 0.0055075145 - 1124200 0.0057146728 0.0030273085 0.0057953532 - 1124300 0.0048722754 0.0021931561 0.0045531645 - 1124400 0.0056537312 0.0021740404 0.0049125664 - 1124500 0.0038434346 0.0023524702 0.0042141338 - 1124600 0.0057773022 0.0026292496 0.0054276304 - 1124700 0.0044487795 0.0028939264 0.005048804 - 1124800 0.0052577368 0.0023432951 0.0048900114 - 1124900 0.0044307009 0.0019914533 0.0041375741 - 1125000 0.0049754345 0.0018164568 0.0042264329 - 1125100 0.0048936445 0.0018742551 0.0042446142 - 1125200 0.0045839548 0.0020350977 0.0042554509 - 1125300 0.0044937451 0.0019347001 0.0041113579 - 1125400 0.0044921595 0.0017968958 0.0039727856 - 1125500 0.0053508522 0.0015407948 0.0041326139 - 1125600 0.0054916355 0.001982856 0.0046428669 - 1125700 0.0040330866 0.0023768527 0.004330379 - 1125800 0.0056965677 0.0021504936 0.0049097685 - 1125900 0.0049613874 0.0018191145 0.0042222866 - 1126000 0.005100772 0.0017902025 0.004260889 - 1126100 0.0049466069 0.0019919154 0.0043879281 - 1126200 0.0039808296 0.0021888208 0.0041170351 - 1126300 0.0058040337 0.0024938039 0.0053051328 - 1126400 0.0047554511 0.0024425025 0.0047459242 - 1126500 0.0049186823 0.0022966247 0.0046791114 - 1126600 0.0051539093 0.0022966779 0.0047931027 - 1126700 0.0059964275 0.0022608342 0.0051653538 - 1126800 0.006373339 0.0022071396 0.0052942256 - 1126900 0.0040377024 0.0031021856 0.0050579477 - 1127000 0.0048268246 0.0030383962 0.0053763894 - 1127100 0.0040887107 0.0023748909 0.0043553601 - 1127200 0.005146414 0.0022876806 0.0047804749 - 1127300 0.0053639923 0.0025736865 0.0051718703 - 1127400 0.0057177598 0.0028185099 0.0055880498 - 1127500 0.0051573895 0.0027891926 0.0052873031 - 1127600 0.0043687495 0.0030341861 0.0051502991 - 1127700 0.0064834901 0.0029172103 0.0060576509 - 1127800 0.0049592445 0.0027902871 0.0051924211 - 1127900 0.0060249661 0.0023578618 0.0052762047 - 1128000 0.0055681941 0.0023378738 0.0050349678 - 1128100 0.0055507674 0.0026383758 0.0053270288 - 1128200 0.0059521439 0.0028025264 0.0056855961 - 1128300 0.004542843 0.0023843268 0.0045847664 - 1128400 0.0045249636 0.0024192494 0.0046110286 - 1128500 0.005428913 0.0023932526 0.0050228824 - 1128600 0.0057016471 0.0020499638 0.0048116991 - 1128700 0.0053989465 0.0020597678 0.0046748825 - 1128800 0.0059949082 0.00187658 0.0047803636 - 1128900 0.0036698125 0.0018608379 0.0036384033 - 1129000 0.0040045207 0.001965745 0.0039054348 - 1129100 0.0041111786 0.0021296467 0.0041209989 - 1129200 0.004428244 0.0018543296 0.0039992603 - 1129300 0.0041130019 0.0018402294 0.0038324647 - 1129400 0.0059280141 0.001535005 0.0044063868 - 1129500 0.0049854461 0.0018838907 0.0042987162 - 1129600 0.0056838182 0.0019430536 0.004696153 - 1129700 0.0049260912 0.0020110878 0.0043971632 - 1129800 0.0037792077 0.0026032696 0.0044338234 - 1129900 0.0092903375 0.0022446137 0.0067446209 - 1130000 0.0071727897 0.0023438992 0.0058182192 - 1130100 0.0047729598 0.0028365257 0.0051484281 - 1130200 0.0044948817 0.0030416691 0.0052188774 - 1130300 0.0059845982 0.0032434583 0.0061422481 - 1130400 0.0037997161 0.0029790204 0.0048195079 - 1130500 0.0046746905 0.0030231297 0.0052874329 - 1130600 0.0060855439 0.0026444695 0.0055921548 - 1130700 0.0057220403 0.0023969026 0.0051685159 - 1130800 0.0052709218 0.0025276501 0.0050807529 - 1130900 0.005930761 0.0023715632 0.0052442755 - 1131000 0.0068947365 0.0018801823 0.0052198203 - 1131100 0.0046048901 0.0020515075 0.0042820011 - 1131200 0.0052443648 0.0018972692 0.0044375083 - 1131300 0.0061898383 0.0019176224 0.0049158254 - 1131400 0.007276682 0.001730895 0.0052555378 - 1131500 0.004736313 0.0019458369 0.0042399885 - 1131600 0.0048378441 0.0017806011 0.0041239318 - 1131700 0.0054226114 0.0020329675 0.0046595449 - 1131800 0.0063813903 0.002365146 0.0054561319 - 1131900 0.0046646189 0.0028605455 0.0051199703 - 1132000 0.0061067643 0.0027505798 0.0057085437 - 1132100 0.0045950579 0.0031127224 0.0053384536 - 1132200 0.0051791691 0.0030967707 0.0056054307 - 1132300 0.005756028 0.0026704394 0.0054585154 - 1132400 0.0051868515 0.0022424932 0.0047548744 - 1132500 0.0038081643 0.0023206964 0.0041652759 - 1132600 0.004017069 0.0025793955 0.0045251633 - 1132700 0.0044857237 0.0029310032 0.0051037756 - 1132800 0.0067974446 0.0024922917 0.005784804 - 1132900 0.005318313 0.0026365893 0.0052126471 - 1133000 0.0048777784 0.0027148725 0.0050775464 - 1133100 0.0039737055 0.0026241037 0.0045488673 - 1133200 0.0046920138 0.0026337053 0.0049063995 - 1133300 0.0065746946 0.0019987642 0.0051833819 - 1133400 0.0049969322 0.0020182263 0.0044386154 - 1133500 0.0044596953 0.0021717284 0.0043318933 - 1133600 0.0048443667 0.0026703531 0.0050168432 - 1133700 0.0067524272 0.0026803801 0.005951087 - 1133800 0.006077686 0.0031234238 0.006067303 - 1133900 0.0063143095 0.0028867496 0.0059452433 - 1134000 0.0052392593 0.0025298732 0.0050676394 - 1134100 0.0048002399 0.0021696776 0.0044947938 - 1134200 0.0050572431 0.0021992034 0.0046488055 - 1134300 0.0048731409 0.0024642864 0.004824714 - 1134400 0.0043047554 0.0025640256 0.0046491415 - 1134500 0.0052255753 0.002372054 0.0049031921 - 1134600 0.0031178221 0.0024094554 0.0039196505 - 1134700 0.0044015147 0.0024269397 0.0045589234 - 1134800 0.0033238445 0.0024320706 0.0040420577 - 1134900 0.004194843 0.0025241635 0.0045560405 - 1135000 0.0037101822 0.0025068941 0.0043040136 - 1135100 0.0055116838 0.0025373396 0.0052070615 - 1135200 0.0041575901 0.0026237589 0.0046375916 - 1135300 0.0057561629 0.0032163866 0.006004528 - 1135400 0.0072900048 0.0029171034 0.0064481995 - 1135500 0.0060000158 0.0030302729 0.0059365306 - 1135600 0.0058020688 0.0026631488 0.0054735259 - 1135700 0.0058279284 0.0022712096 0.0050941124 - 1135800 0.0060632932 0.0027881186 0.0057250262 - 1135900 0.005640887 0.003176418 0.0059087227 - 1136000 0.0046643868 0.0027777878 0.0050371001 - 1136100 0.005054532 0.0023652102 0.0048134992 - 1136200 0.0041459412 0.0020396758 0.0040478661 - 1136300 0.0055293795 0.0022452614 0.0049235546 - 1136400 0.0047179597 0.002881262 0.0051665238 - 1136500 0.0049248434 0.0027086224 0.0050940934 - 1136600 0.0052963933 0.0028196874 0.0053851279 - 1136700 0.0046928838 0.0027364285 0.0050095442 - 1136800 0.0057326002 0.002394365 0.0051710932 - 1136900 0.0038948981 0.0021896122 0.0040762034 - 1137000 0.0028945288 0.0026541865 0.0040562239 - 1137100 0.0043781798 0.0028407502 0.0049614311 - 1137200 0.0069554365 0.0025825056 0.0059515452 - 1137300 0.00452629 0.0022532396 0.0044456614 - 1137400 0.0046279734 0.0024334904 0.0046751651 - 1137500 0.004351536 0.0024884751 0.0045962503 - 1137600 0.0037869838 0.0023028259 0.0041371461 - 1137700 0.0055295977 0.0020823934 0.0047607922 - 1137800 0.0038467064 0.0020212928 0.0038845412 - 1137900 0.0055221435 0.0023685114 0.0050432996 - 1138000 0.0039674752 0.0028974309 0.0048191767 - 1138100 0.0052700656 0.0024208576 0.0049735457 - 1138200 0.0044167752 0.0023445886 0.0044839641 - 1138300 0.005636097 0.0025104928 0.0052404773 - 1138400 0.005037631 0.0031525233 0.0055926258 - 1138500 0.0041855768 0.0031913415 0.0052187302 - 1138600 0.0065921315 0.0030949552 0.0062880188 - 1138700 0.0061945647 0.0025664285 0.0055669208 - 1138800 0.0064623825 0.0028272715 0.005957488 - 1138900 0.0034648015 0.0033808311 0.0050590944 - 1139000 0.0044857387 0.0027614942 0.0049342739 - 1139100 0.0064566944 0.0023789154 0.0055063768 - 1139200 0.0055943762 0.0023901095 0.0050998855 - 1139300 0.0056841484 0.0023423223 0.0050955816 - 1139400 0.0040183559 0.0022154101 0.0041618013 - 1139500 0.0055868231 0.0020725301 0.0047786476 - 1139600 0.0047389599 0.0021389583 0.004434392 - 1139700 0.0049494874 0.0027890667 0.0051864746 - 1139800 0.0069506112 0.0024615196 0.0058282218 - 1139900 0.0048973033 0.0020186337 0.004390765 - 1140000 0.0060081604 0.0020201391 0.0049303418 - 1140100 0.0048438413 0.002255988 0.0046022236 - 1140200 0.0060653977 0.0023438986 0.0052818256 - 1140300 0.0048104365 0.0024028173 0.0047328725 - 1140400 0.0039991755 0.0024701378 0.0044072385 - 1140500 0.0048700301 0.0024254186 0.0047843394 - 1140600 0.0069221784 0.0023357184 0.0056886486 - 1140700 0.0060691426 0.0027869742 0.0057267152 - 1140800 0.0048910647 0.0034900842 0.0058591936 - 1140900 0.0040398267 0.0038232433 0.0057800343 - 1141000 0.0042180412 0.0038243315 0.0058674452 - 1141100 0.0059231824 0.002839534 0.0057085755 - 1141200 0.005354011 0.0022931714 0.0048865205 - 1141300 0.0051783931 0.0021378174 0.0046461015 - 1141400 0.0052849808 0.0020395781 0.0045994907 - 1141500 0.0051487452 0.0020115977 0.0045055211 - 1141600 0.0064735056 0.0025616568 0.0056972611 - 1141700 0.0067311662 0.0025635414 0.0058239501 - 1141800 0.005132103 0.002553306 0.0050391685 - 1141900 0.0041027243 0.0024260529 0.00441331 - 1142000 0.0056809702 0.002295273 0.0050469929 - 1142100 0.0048483519 0.0025983382 0.0049467587 - 1142200 0.0038145108 0.0025929405 0.0044405942 - 1142300 0.0055250683 0.0023849663 0.0050611713 - 1142400 0.0040095032 0.0024642064 0.0044063095 - 1142500 0.0036528503 0.0026264631 0.0043958125 - 1142600 0.0048429037 0.0023045779 0.0046503594 - 1142700 0.0045429605 0.0020963047 0.0042968012 - 1142800 0.0061348102 0.001664454 0.0046360027 - 1142900 0.0044486375 0.0017260722 0.003880881 - 1143000 0.0046413341 0.0017294928 0.003977639 - 1143100 0.004661328 0.002147277 0.0044051078 - 1143200 0.0049650758 0.0022086045 0.0046135631 - 1143300 0.0052880292 0.0019103406 0.0044717297 - 1143400 0.0052014909 0.0021098644 0.0046293365 - 1143500 0.0055887642 0.0025796942 0.0052867518 - 1143600 0.0055839114 0.0023187104 0.0050234175 - 1143700 0.0052810842 0.0017850873 0.0043431124 - 1143800 0.004990785 0.0017853719 0.0042027834 - 1143900 0.0033289232 0.0020039866 0.0036164338 - 1144000 0.0035391305 0.0017679694 0.0034822357 - 1144100 0.0045314249 0.0020405056 0.0042354145 - 1144200 0.0052419059 0.0021604978 0.004699546 - 1144300 0.0039735865 0.0020807649 0.0040054709 - 1144400 0.0056485876 0.0020263179 0.0047623525 - 1144500 0.0064180831 0.0019639866 0.0050727455 - 1144600 0.0056327825 0.002239834 0.004968213 - 1144700 0.0040408967 0.0026488634 0.0046061727 - 1144800 0.0041419951 0.0025415288 0.0045478077 - 1144900 0.0053995326 0.00236156 0.0049769586 - 1145000 0.0064408989 0.0021087864 0.0052285968 - 1145100 0.0047141744 0.0018330811 0.0041165093 - 1145200 0.0058855252 0.0021813025 0.0050321038 - 1145300 0.0055913673 0.0024222387 0.0051305573 - 1145400 0.0057917742 0.0027683887 0.0055737793 - 1145500 0.004572236 0.0025683676 0.0047830444 - 1145600 0.005489683 0.0030352154 0.0056942806 - 1145700 0.0044046618 0.0033050713 0.0054385793 - 1145800 0.0057185236 0.0030036789 0.0057735888 - 1145900 0.0064315575 0.0024926004 0.0056078861 - 1146000 0.0034863621 0.0023780838 0.0040667904 - 1146100 0.0047479772 0.002209847 0.0045096485 - 1146200 0.0053816828 0.0021303573 0.0047371099 - 1146300 0.0046908666 0.0028590413 0.0051311798 - 1146400 0.0050655753 0.003205932 0.0056595701 - 1146500 0.0057557474 0.0031469046 0.0059348447 - 1146600 0.0046373063 0.0029709954 0.0052171906 - 1146700 0.0044204311 0.0028087058 0.0049498521 - 1146800 0.0042089964 0.0028495072 0.0048882398 - 1146900 0.0064497306 0.0023582928 0.0054823811 - 1147000 0.0070101159 0.0021117471 0.005507272 - 1147100 0.0037115607 0.0024469689 0.004244756 - 1147200 0.0068034881 0.0021093185 0.0054047581 - 1147300 0.0054872021 0.0018853208 0.0045431843 - 1147400 0.0049567945 0.0018875303 0.0042884776 - 1147500 0.0041831361 0.0019190025 0.003945209 - 1147600 0.005534308 0.0015985132 0.0042791936 - 1147700 0.0037389826 0.0014457724 0.0032568422 - 1147800 0.0040270568 0.0016509832 0.0036015888 - 1147900 0.0046347787 0.0018677006 0.0041126715 - 1148000 0.0040695851 0.0018336304 0.0038048357 - 1148100 0.0043609626 0.0021018722 0.0042142134 - 1148200 0.0061600166 0.0020763864 0.0050601444 - 1148300 0.004122537 0.0021940581 0.004190912 - 1148400 0.0041961177 0.0020782247 0.0041107192 - 1148500 0.0054746186 0.0016956954 0.0043474638 - 1148600 0.0047176508 0.0019699054 0.0042550175 - 1148700 0.0056169718 0.0021662702 0.0048869909 - 1148800 0.005319238 0.0026655882 0.005242094 - 1148900 0.0059076752 0.0026971705 0.0055587007 - 1149000 0.0061821927 0.0029378161 0.0059323157 - 1149100 0.004627763 0.0029031071 0.0051446797 - 1149200 0.0050339947 0.0027509186 0.0051892598 - 1149300 0.0047412975 0.0025125938 0.0048091597 - 1149400 0.0050014719 0.0021590348 0.0045816228 - 1149500 0.0048325291 0.0017321232 0.0040728795 - 1149600 0.0065474606 0.0021118484 0.0052832746 - 1149700 0.004934817 0.0024773103 0.0048676123 - 1149800 0.0049132583 0.0019481887 0.0043280482 - 1149900 0.0049227776 0.0018385922 0.0042230625 - 1150000 0.004463006 0.0016429621 0.0038047306 - 1150100 0.0042063395 0.0015992787 0.0036367244 - 1150200 0.0056543585 0.0020034111 0.004742241 - 1150300 0.0053451622 0.0023993574 0.0049884204 - 1150400 0.0042737151 0.0025646748 0.0046347556 - 1150500 0.005469964 0.0027067461 0.0053562599 - 1150600 0.0058441675 0.0027847815 0.0056155501 - 1150700 0.0050601939 0.0024704898 0.0049215212 - 1150800 0.0049544684 0.0022731289 0.0046729495 - 1150900 0.0056828075 0.0024480259 0.0052006357 - 1151000 0.0067327591 0.0029036662 0.0061648465 - 1151100 0.0047833804 0.0030969221 0.005413872 - 1151200 0.0062155971 0.0025157406 0.0055264205 - 1151300 0.0050750297 0.0022496955 0.004707913 - 1151400 0.0053811112 0.0023982762 0.0050047519 - 1151500 0.0045474608 0.0028874092 0.0050900855 - 1151600 0.0047204352 0.0029783471 0.0052648079 - 1151700 0.0046256848 0.0024319571 0.0046725231 - 1151800 0.0038990487 0.0021065752 0.0039951769 - 1151900 0.0049082795 0.0020635624 0.0044410103 - 1152000 0.0044721368 0.002517005 0.0046831963 - 1152100 0.0046331998 0.0022642517 0.0045084578 - 1152200 0.0062709569 0.0021277085 0.0051652032 - 1152300 0.0050871865 0.0021558777 0.0046199836 - 1152400 0.0078327636 0.0019303702 0.0057243651 - 1152500 0.0067162473 0.0020356992 0.0052888815 - 1152600 0.0045632633 0.0023332814 0.0045436121 - 1152700 0.0054022418 0.0023111839 0.0049278948 - 1152800 0.0051404923 0.0022776969 0.0047676229 - 1152900 0.005410548 0.0022727145 0.0048934487 - 1153000 0.0033356045 0.0026712951 0.0042869785 - 1153100 0.005308631 0.0023333334 0.0049047015 - 1153200 0.0042502864 0.0026002696 0.004659002 - 1153300 0.0044371689 0.0029815279 0.0051307816 - 1153400 0.0046751321 0.0032048231 0.0054693402 - 1153500 0.0045475933 0.0029934218 0.0051961623 - 1153600 0.0056811283 0.0024302611 0.0051820576 - 1153700 0.0047596739 0.0020725254 0.0043779925 - 1153800 0.0049513328 0.0019882906 0.0043865924 - 1153900 0.0042089108 0.0023100833 0.0043487744 - 1154000 0.0051241546 0.0024838021 0.0049658145 - 1154100 0.004148685 0.0025244875 0.0045340068 - 1154200 0.0030936242 0.0023448182 0.0038432925 - 1154300 0.0055907764 0.0020982963 0.0048063287 - 1154400 0.0033639279 0.0023536402 0.0039830428 - 1154500 0.005775588 0.002322239 0.0051197894 - 1154600 0.006807368 0.0019288445 0.0052261634 - 1154700 0.0041662545 0.0019925029 0.0040105324 - 1154800 0.0062519183 0.002435379 0.005463652 - 1154900 0.0044657432 0.0028550737 0.0050181681 - 1155000 0.0064057432 0.0025670144 0.0056697963 - 1155100 0.00584164 0.0022505298 0.0050800742 - 1155200 0.004591415 0.0021340382 0.0043580048 - 1155300 0.0037893327 0.0023898363 0.0042252943 - 1155400 0.0058423898 0.0024319363 0.0052618439 - 1155500 0.0058690804 0.0027719697 0.0056148056 - 1155600 0.0040446518 0.0029840043 0.0049431326 - 1155700 0.0063385443 0.0030291639 0.0060993963 - 1155800 0.0047188443 0.0028375141 0.0051232043 - 1155900 0.0056731312 0.0023122165 0.0050601394 - 1156000 0.0047967701 0.0025346972 0.0048581327 - 1156100 0.004742185 0.0026980564 0.0049950523 - 1156200 0.0062806427 0.0022128942 0.0052550806 - 1156300 0.005752198 0.0023934842 0.0051797051 - 1156400 0.0054382789 0.0024522381 0.0050864044 - 1156500 0.0054639354 0.0024890812 0.0051356749 - 1156600 0.0053616253 0.0025512007 0.0051482379 - 1156700 0.0051434637 0.0025540462 0.0050454114 - 1156800 0.0042257554 0.0029251492 0.0049719995 - 1156900 0.0047665581 0.0031324847 0.0054412863 - 1157000 0.0067044008 0.0029561489 0.006203593 - 1157100 0.0042689636 0.0031678353 0.0052356146 - 1157200 0.0040518559 0.0032194132 0.0051820308 - 1157300 0.0052178027 0.0027988205 0.0053261937 - 1157400 0.0066043359 0.0027000523 0.0058990275 - 1157500 0.006079544 0.002746934 0.0056917131 - 1157600 0.0050606169 0.002901775 0.0053530114 - 1157700 0.0064603918 0.0030100238 0.0061392761 - 1157800 0.0053001861 0.0039106169 0.0064778945 - 1157900 0.0052000787 0.0040684566 0.0065872447 - 1158000 0.0057580036 0.0033320745 0.0061211075 - 1158100 0.0047785153 0.0027090016 0.0050235949 - 1158200 0.0052707945 0.0023323705 0.0048854116 - 1158300 0.0048516238 0.0019314777 0.004281483 - 1158400 0.0049688433 0.0018769058 0.0042836893 - 1158500 0.004519836 0.002230922 0.0044202176 - 1158600 0.0042537213 0.0024296025 0.0044899988 - 1158700 0.005228664 0.0021030758 0.00463571 - 1158800 0.0054164343 0.0018861956 0.004509781 - 1158900 0.0034716845 0.002509759 0.0041913562 - 1159000 0.0045915777 0.0023593109 0.0045833564 - 1159100 0.0047700178 0.002063104 0.0043735814 - 1159200 0.004393079 0.0022659601 0.0043938577 - 1159300 0.0045198018 0.0024125764 0.0046018554 - 1159400 0.0051428213 0.0022100385 0.0047010925 - 1159500 0.0052661664 0.0023362145 0.0048870138 - 1159600 0.0055894649 0.0024125218 0.0051199189 - 1159700 0.0046727592 0.0021117032 0.004375071 - 1159800 0.0051435457 0.001855243 0.004346648 - 1159900 0.0038777256 0.0020174798 0.0038957531 - 1160000 0.0051413829 0.0021263973 0.0046167547 - 1160100 0.0055307658 0.0022768119 0.0049557766 - 1160200 0.0035424441 0.0024968603 0.0042127317 - 1160300 0.0059435967 0.0024692376 0.0053481673 - 1160400 0.0041756292 0.0029479272 0.0049704976 - 1160500 0.0049589139 0.0029675708 0.0053695447 - 1160600 0.0043712388 0.0029440476 0.0050613664 - 1160700 0.0045163172 0.0025657061 0.0047532972 - 1160800 0.0051944969 0.0021255825 0.0046416669 - 1160900 0.0067156297 0.0025178324 0.0057707155 - 1161000 0.004056431 0.0031259619 0.0050907956 - 1161100 0.0058931919 0.0025434951 0.0053980099 - 1161200 0.0054224487 0.0022502999 0.0048767985 - 1161300 0.0038735843 0.0022187697 0.0040950371 - 1161400 0.0048544085 0.002012969 0.0043643231 - 1161500 0.0054645696 0.001985245 0.0046321459 - 1161600 0.0051928536 0.0027684766 0.0052837651 - 1161700 0.0046319851 0.0031193095 0.0053629273 - 1161800 0.0060638797 0.002475454 0.0054126457 - 1161900 0.005199675 0.0021923891 0.0047109817 - 1162000 0.004609249 0.0028669194 0.0050995244 - 1162100 0.0052152847 0.0030444007 0.0055705542 - 1162200 0.0049732691 0.00316177 0.0055706973 - 1162300 0.0043144549 0.0025844113 0.0046742254 - 1162400 0.0049420528 0.0021909709 0.0045847778 - 1162500 0.0048188898 0.0023145201 0.0046486698 - 1162600 0.0048454528 0.0027245295 0.0050715457 - 1162700 0.0043467401 0.0028178892 0.0049233414 - 1162800 0.005277177 0.0024147811 0.0049709137 - 1162900 0.0064408747 0.0024004291 0.0055202277 - 1163000 0.0047007331 0.0029561356 0.0052330532 - 1163100 0.00384003 0.0030524672 0.0049124817 - 1163200 0.0050005668 0.0031115352 0.0055336847 - 1163300 0.0038528077 0.0027836992 0.0046499029 - 1163400 0.0048839398 0.0024628476 0.004828506 - 1163500 0.0042905247 0.0019774004 0.0040556233 - 1163600 0.0030253242 0.0019848756 0.003450267 - 1163700 0.0041910011 0.0020495388 0.004079555 - 1163800 0.0055929031 0.002375368 0.0050844304 - 1163900 0.0035780342 0.0026764014 0.0044095117 - 1164000 0.0046883122 0.0020709336 0.0043418348 - 1164100 0.0049748143 0.002316272 0.0047259477 - 1164200 0.0040163357 0.0023203852 0.0042657977 - 1164300 0.0054430167 0.0022088405 0.0048453017 - 1164400 0.0046973612 0.0020902446 0.004365529 - 1164500 0.0049222902 0.002044263 0.0044284973 - 1164600 0.006837137 0.0018565641 0.0051683023 - 1164700 0.0028880519 0.0024721747 0.0038710748 - 1164800 0.0046019881 0.0025122619 0.0047413499 - 1164900 0.0045414854 0.0025276193 0.0047274013 - 1165000 0.0053724376 0.0025158496 0.0051181241 - 1165100 0.0048636324 0.0025720036 0.0049278255 - 1165200 0.0054537349 0.002452536 0.0050941889 - 1165300 0.006479511 0.002087116 0.0052256292 - 1165400 0.00686202 0.0030014009 0.0063251918 - 1165500 0.0058301325 0.0035626293 0.0063865997 - 1165600 0.0057124913 0.0034256968 0.0061926847 - 1165700 0.0065684472 0.0029512992 0.0061328908 - 1165800 0.0058284569 0.0026635837 0.0054867425 - 1165900 0.0044832508 0.0025447563 0.0047163309 - 1166000 0.0058243965 0.0023778288 0.0051990208 - 1166100 0.0051730047 0.0022850604 0.0047907346 - 1166200 0.0066384024 0.0022510929 0.005466569 - 1166300 0.0047868141 0.002695027 0.0050136401 - 1166400 0.0065758606 0.0032109238 0.0063961063 - 1166500 0.0043023234 0.0034306608 0.0055145987 - 1166600 0.0049265512 0.0029820011 0.0053682993 - 1166700 0.0045727332 0.0025140699 0.0047289875 - 1166800 0.0047759424 0.0024453899 0.004758737 - 1166900 0.005173594 0.0022658269 0.0047717865 - 1167000 0.0039025459 0.0021562335 0.0040465292 - 1167100 0.0039856359 0.002165961 0.0040965034 - 1167200 0.0039958669 0.0024126402 0.0043481382 - 1167300 0.0042446413 0.0032827656 0.0053387637 - 1167400 0.0049762607 0.0034069206 0.0058172968 - 1167500 0.0052126589 0.0024697638 0.0049946455 - 1167600 0.0040196118 0.0023346643 0.0042816638 - 1167700 0.0048311145 0.0023110255 0.0046510966 - 1167800 0.0043694444 0.0025354481 0.0046518978 - 1167900 0.0049424504 0.0024844164 0.0048784158 - 1168000 0.0045488547 0.0023984554 0.0046018069 - 1168100 0.0045202761 0.0027310081 0.0049205168 - 1168200 0.0042782163 0.0023629623 0.0044352233 - 1168300 0.0064277693 0.0018937928 0.0050072436 - 1168400 0.0053344235 0.0020768669 0.0046607283 - 1168500 0.0043275709 0.0024407358 0.0045369029 - 1168600 0.0049017376 0.0023591401 0.0047334193 - 1168700 0.005873306 0.0024652248 0.0053101074 - 1168800 0.0042387361 0.0023883085 0.0044414463 - 1168900 0.0065426224 0.0024837578 0.0056528405 - 1169000 0.0056974501 0.0027936649 0.0055533673 - 1169100 0.0066269728 0.0028578974 0.0060678373 - 1169200 0.0040959955 0.0030193983 0.0050033961 - 1169300 0.0057523744 0.003143069 0.0059293753 - 1169400 0.0046176896 0.0032268029 0.0054634963 - 1169500 0.0043953845 0.0025841484 0.0047131627 - 1169600 0.0051315166 0.0017313412 0.0042169196 - 1169700 0.0058794712 0.0021161831 0.0049640519 - 1169800 0.003871864 0.0026928155 0.0045682496 - 1169900 0.0042063296 0.0023702738 0.0044077147 - 1170000 0.0057896056 0.0016652633 0.0044696036 - 1170100 0.0055594229 0.0017822843 0.0044751298 - 1170200 0.0047880241 0.0022270201 0.0045462193 - 1170300 0.0057381842 0.0024352392 0.0052146722 - 1170400 0.0055401153 0.0024108044 0.0050942978 - 1170500 0.0044162091 0.0022997972 0.0044388985 - 1170600 0.0037248632 0.0021282888 0.0039325195 - 1170700 0.0049929569 0.0017596661 0.0041781296 - 1170800 0.0062924172 0.0019396599 0.0049875495 - 1170900 0.0053535269 0.0019155251 0.0045086397 - 1171000 0.0075768576 0.0019644782 0.0056345186 - 1171100 0.0037131394 0.0021682169 0.0039667688 - 1171200 0.0061774121 0.0024212122 0.0054133962 - 1171300 0.0037588839 0.0024388311 0.0042595405 - 1171400 0.0060738879 0.0021122886 0.005054328 - 1171500 0.0045812274 0.002515479 0.004734511 - 1171600 0.0059664161 0.0027905401 0.0056805229 - 1171700 0.0048494476 0.0026247164 0.0049736676 - 1171800 0.0071080493 0.0019299827 0.0053729441 - 1171900 0.006434183 0.0022755446 0.005392102 - 1172000 0.0058992121 0.0023690337 0.0052264646 - 1172100 0.0062123352 0.0021197917 0.0051288916 - 1172200 0.0053937212 0.0016966344 0.0043092181 - 1172300 0.0052825226 0.0015841693 0.0041428912 - 1172400 0.0048459559 0.0020028441 0.004350104 - 1172500 0.0047064226 0.0017632155 0.004042889 - 1172600 0.0034104937 0.0018752952 0.0035272531 - 1172700 0.0038355432 0.002323123 0.0041809643 - 1172800 0.0049897464 0.0021250163 0.0045419247 - 1172900 0.0046203785 0.0018660073 0.0041040031 - 1173000 0.0052473138 0.0018495388 0.0043912064 - 1173100 0.0038746641 0.0018378357 0.0037146261 - 1173200 0.0051192795 0.002143589 0.00462324 - 1173300 0.0050206119 0.0023724366 0.0048042955 - 1173400 0.0051859152 0.002783138 0.0052950657 - 1173500 0.0043256999 0.002872541 0.0049678018 - 1173600 0.007824927 0.0024461239 0.0062363229 - 1173700 0.0046905358 0.0026937725 0.0049657507 - 1173800 0.0038467589 0.0022569463 0.0041202201 - 1173900 0.0050128096 0.0019452811 0.0043733608 - 1174000 0.0041676276 0.0022181862 0.0042368808 - 1174100 0.0061456358 0.0021457384 0.0051225307 - 1174200 0.0049790512 0.0020724066 0.0044841345 - 1174300 0.0042807079 0.0022588583 0.0043323261 - 1174400 0.0043958607 0.0021924599 0.0043217049 - 1174500 0.0039945787 0.0024284072 0.0043632813 - 1174600 0.0039141396 0.0023998598 0.0042957712 - 1174700 0.00592057 0.0024268401 0.0052946162 - 1174800 0.0046836092 0.0029519281 0.0052205513 - 1174900 0.0042100443 0.0024945281 0.0045337683 - 1175000 0.004555474 0.0021455185 0.0043520762 - 1175100 0.0040266634 0.0019073988 0.0038578139 - 1175200 0.0044518199 0.001962242 0.0041185923 - 1175300 0.0049319684 0.0020340511 0.0044229733 - 1175400 0.0073012935 0.0023085304 0.0058450944 - 1175500 0.0036314558 0.0020844619 0.0038434483 - 1175600 0.0048303783 0.0018599165 0.004199631 - 1175700 0.0046831136 0.0022565358 0.004524919 - 1175800 0.003667105 0.0020974421 0.0038736961 - 1175900 0.0059629243 0.0019099833 0.0047982748 - 1176000 0.0042820405 0.0020400316 0.004114145 - 1176100 0.002882526 0.0026047853 0.0040010089 - 1176200 0.0039880935 0.0024917037 0.0044234365 - 1176300 0.0044890764 0.0023121327 0.0044865291 - 1176400 0.006402357 0.0021668743 0.005268016 - 1176500 0.0068220544 0.002511791 0.0058162236 - 1176600 0.0065478346 0.0023442913 0.0055158987 - 1176700 0.004415574 0.0021797742 0.0043185679 - 1176800 0.0067775478 0.0021687048 0.0054515795 - 1176900 0.004536699 0.0025751044 0.004772568 - 1177000 0.0050447624 0.0019739316 0.0044174884 - 1177100 0.0041040536 0.0017096242 0.0036975251 - 1177200 0.0036805728 0.0014637519 0.0032465294 - 1177300 0.0049878148 0.0015821721 0.0039981449 - 1177400 0.0051238387 0.001588212 0.0040700713 - 1177500 0.0048911254 0.0015118057 0.0038809446 - 1177600 0.0041081177 0.0016980359 0.0036879054 - 1177700 0.0040021213 0.001792513 0.0037310405 - 1177800 0.0048175083 0.0026672846 0.0050007652 - 1177900 0.0042832538 0.0032040022 0.0052787033 - 1178000 0.0068988774 0.00264225 0.0059838937 - 1178100 0.0050128526 0.0023763172 0.0048044177 - 1178200 0.0047913966 0.0021814621 0.0045022949 - 1178300 0.0051414325 0.002273276 0.0047636574 - 1178400 0.0047297924 0.0024419408 0.004732934 - 1178500 0.0040644294 0.002360043 0.004328751 - 1178600 0.0044288023 0.0020151122 0.0041603133 - 1178700 0.0048002345 0.0019130799 0.0042381935 - 1178800 0.0047787705 0.0023020386 0.0046167555 - 1178900 0.0047314243 0.0024021331 0.0046939167 - 1179000 0.0038919923 0.0025676374 0.0044528211 - 1179100 0.0031954782 0.0022251053 0.0037729151 - 1179200 0.0068985342 0.001648906 0.0049903835 - 1179300 0.0047685609 0.0014714233 0.003781195 - 1179400 0.004381248 0.0020468868 0.0041690538 - 1179500 0.0047941051 0.0026078147 0.0049299594 - 1179600 0.005012138 0.0025112968 0.0049390511 - 1179700 0.0045255626 0.0023470214 0.0045390908 - 1179800 0.0058994351 0.0023236233 0.0051811622 - 1179900 0.0060066972 0.0022762666 0.0051857605 - 1180000 0.0049537983 0.0020207385 0.0044202346 - 1180100 0.0066203856 0.002078508 0.0052852572 - 1180200 0.0037162083 0.0026383307 0.0044383691 - 1180300 0.0053323173 0.0026081403 0.0051909815 - 1180400 0.0051119578 0.0022195585 0.0046956631 - 1180500 0.0035903571 0.0023114156 0.0040504948 - 1180600 0.0051080322 0.0023296422 0.0048038453 - 1180700 0.0053457774 0.002271874 0.0048612349 - 1180800 0.0051614058 0.0025802622 0.0050803181 - 1180900 0.0050568184 0.0024055716 0.004854968 - 1181000 0.004108013 0.0025953808 0.0045851995 - 1181100 0.0043293367 0.0025687202 0.0046657427 - 1181200 0.0062507523 0.0023469588 0.0053746669 - 1181300 0.0046203396 0.0027506522 0.0049886292 - 1181400 0.0062401812 0.0027056729 0.0057282606 - 1181500 0.0056492719 0.0028907288 0.0056270949 - 1181600 0.0054881664 0.0030904927 0.0057488233 - 1181700 0.0039879122 0.0026063543 0.0045379992 - 1181800 0.0057417757 0.0024085556 0.0051897281 - 1181900 0.0056109766 0.0023109873 0.0050288041 - 1182000 0.0051799753 0.0026242636 0.0051333141 - 1182100 0.0046984826 0.0022896625 0.00456549 - 1182200 0.0055136486 0.0024874653 0.0051581388 - 1182300 0.0058043985 0.0023176154 0.0051291209 - 1182400 0.0035866867 0.0020672864 0.0038045877 - 1182500 0.0044080327 0.0021304846 0.0042656255 - 1182600 0.0056253012 0.0023689819 0.0050937372 - 1182700 0.0054809246 0.0022514377 0.0049062606 - 1182800 0.0077617017 0.0024223415 0.0061819157 - 1182900 0.0062932739 0.0024085414 0.005456846 - 1183000 0.0039199039 0.0020384246 0.0039371281 - 1183100 0.0049506324 0.0019051828 0.0043031453 - 1183200 0.0044565274 0.0021550442 0.0043136747 - 1183300 0.0062465775 0.0020275333 0.0050532193 - 1183400 0.0046630554 0.0023294189 0.0045880864 - 1183500 0.0039317819 0.0023654475 0.0042699044 - 1183600 0.0046629388 0.0023057807 0.0045643916 - 1183700 0.0043288068 0.0022457181 0.0043424839 - 1183800 0.003674881 0.0024490101 0.0042290306 - 1183900 0.0049171557 0.0029464191 0.0053281664 - 1184000 0.0061970925 0.0031610052 0.0061627219 - 1184100 0.0059542318 0.0024357261 0.0053198072 - 1184200 0.0049391352 0.0023022205 0.0046946141 - 1184300 0.0054461539 0.0021793013 0.0048172821 - 1184400 0.0055607466 0.0020359436 0.0047294302 - 1184500 0.0056697056 0.002066312 0.0048125756 - 1184600 0.005452119 0.0021088614 0.0047497316 - 1184700 0.0037488016 0.0026518767 0.0044677025 - 1184800 0.0054216932 0.002567196 0.0051933286 - 1184900 0.006278547 0.0023180459 0.0053592171 - 1185000 0.0059389949 0.0027032063 0.005579907 - 1185100 0.0056804494 0.0030042081 0.0057556758 - 1185200 0.0060434927 0.0029700023 0.0058973191 - 1185300 0.0040560852 0.0027415736 0.0047062399 - 1185400 0.0042675345 0.0026256638 0.0046927508 - 1185500 0.0047619154 0.0027929246 0.0050994774 - 1185600 0.0047999158 0.00288006 0.0052050192 - 1185700 0.0073698083 0.0019651635 0.0055349144 - 1185800 0.0042515272 0.0021515817 0.0042109152 - 1185900 0.0058080172 0.0025284239 0.0053416823 - 1186000 0.0064057318 0.0029228325 0.0060256088 - 1186100 0.0053994127 0.0037628881 0.0063782287 - 1186200 0.0073016068 0.0032657857 0.0068025015 - 1186300 0.0070827474 0.0026548214 0.0060855272 - 1186400 0.0086037644 0.0021435384 0.0063109868 - 1186500 0.005339263 0.0021214684 0.0047076739 - 1186600 0.0038071346 0.0022997496 0.0041438304 - 1186700 0.0053435017 0.0023755827 0.0049638413 - 1186800 0.006353603 0.0026558421 0.0057333685 - 1186900 0.0045292822 0.0024257155 0.0046195866 - 1187000 0.0048949739 0.0024944005 0.0048654035 - 1187100 0.0045380517 0.002479702 0.0046778208 - 1187200 0.0045376708 0.0019301164 0.0041280507 - 1187300 0.0046149873 0.001881184 0.0041165685 - 1187400 0.006698441 0.0019588324 0.0052033897 - 1187500 0.0059552389 0.0024342935 0.0053188623 - 1187600 0.0041006221 0.0025110839 0.0044973227 - 1187700 0.0046151032 0.0021571739 0.0043926145 - 1187800 0.0048414665 0.0018105437 0.004155629 - 1187900 0.0042571611 0.0016638499 0.0037259123 - 1188000 0.0050652611 0.0019404814 0.0043939672 - 1188100 0.0071805015 0.0021707718 0.0056488272 - 1188200 0.006137743 0.0019553275 0.0049282968 - 1188300 0.0050000145 0.0020737628 0.0044956448 - 1188400 0.0047550674 0.0019977318 0.0043009676 - 1188500 0.0046787907 0.001939539 0.0042058282 - 1188600 0.0055523404 0.0020064595 0.0046958743 - 1188700 0.0034704683 0.0023600094 0.0040410175 - 1188800 0.0059400224 0.0025647976 0.005441996 - 1188900 0.0042171745 0.0027053406 0.0047480345 - 1189000 0.0058162169 0.0029918002 0.0058090303 - 1189100 0.006670854 0.0025979775 0.0058291724 - 1189200 0.0043491407 0.0023721368 0.0044787519 - 1189300 0.0042049856 0.002337125 0.0043739149 - 1189400 0.0047152786 0.0026720338 0.0049559969 - 1189500 0.0039717774 0.0025808407 0.0045046704 - 1189600 0.0046243281 0.0026732666 0.0049131755 - 1189700 0.0048578414 0.0025633285 0.0049163455 - 1189800 0.0058636306 0.0031625825 0.0060027786 - 1189900 0.0056060891 0.0030481 0.0057635494 - 1190000 0.0063938616 0.0021359855 0.0052330122 - 1190100 0.0042004244 0.0021845521 0.0042191327 - 1190200 0.0040073128 0.0020296652 0.0039707074 - 1190300 0.0036962138 0.0020591844 0.0038495379 - 1190400 0.0048840682 0.0023058623 0.0046715828 - 1190500 0.0052009256 0.0022862697 0.004805468 - 1190600 0.0047434101 0.0022795131 0.0045771024 - 1190700 0.0052147482 0.0022472257 0.0047731194 - 1190800 0.0050435132 0.0022835267 0.0047264785 - 1190900 0.0039759071 0.0020546351 0.0039804651 - 1191000 0.004272648 0.0019849377 0.0040545016 - 1191100 0.0050748904 0.0017359821 0.0041941322 - 1191200 0.0060385774 0.0016542624 0.0045791984 - 1191300 0.005166003 0.0017188646 0.0042211473 - 1191400 0.0044422656 0.0018790101 0.0040307325 - 1191500 0.0040973167 0.0019895569 0.0039741946 - 1191600 0.0055433474 0.0020110553 0.0046961142 - 1191700 0.005872401 0.0020567417 0.0049011859 - 1191800 0.0034242248 0.0027096618 0.0043682707 - 1191900 0.0046761346 0.0023207091 0.0045857119 - 1192000 0.0045463853 0.0018351575 0.0040373129 - 1192100 0.0043949101 0.0015115511 0.0036403357 - 1192200 0.0048172077 0.001649426 0.0039827609 - 1192300 0.0039633881 0.0018879691 0.0038077352 - 1192400 0.005121225 0.0018985476 0.004379141 - 1192500 0.0035159614 0.001935446 0.0036384899 - 1192600 0.00462523 0.0019099518 0.0041502976 - 1192700 0.004987127 0.0019549301 0.0043705697 - 1192800 0.0048740294 0.0018555793 0.0042164372 - 1192900 0.0049972329 0.0020964493 0.004516984 - 1193000 0.0046604352 0.0023266828 0.0045840811 - 1193100 0.0058576877 0.0021047202 0.0049420376 - 1193200 0.0049262877 0.0023131917 0.0046993623 - 1193300 0.0050646297 0.0027435018 0.0051966818 - 1193400 0.0065256267 0.0029053417 0.0060661921 - 1193500 0.0056710608 0.0028548136 0.0056017337 - 1193600 0.0056971645 0.0021960871 0.0049556512 - 1193700 0.0040703693 0.0021133201 0.0040849053 - 1193800 0.0042480186 0.0022843307 0.0043419647 - 1193900 0.0045032378 0.0024790074 0.0046602632 - 1194000 0.0056184973 0.0026354129 0.0053568725 - 1194100 0.0051114061 0.0024175057 0.0048933431 - 1194200 0.0044774567 0.0020824519 0.00425122 - 1194300 0.0051701356 0.0021112587 0.0046155431 - 1194400 0.0065754563 0.0019888308 0.0051738175 - 1194500 0.0063887758 0.0023228454 0.0054174087 - 1194600 0.0063784919 0.0030785424 0.0061681244 - 1194700 0.0041245033 0.0034276752 0.0054254815 - 1194800 0.0038480974 0.0025435448 0.004407467 - 1194900 0.0045902926 0.0022693672 0.0044927902 - 1195000 0.00444941 0.0017348978 0.0038900808 - 1195100 0.0065697695 0.0017118726 0.0048941047 - 1195200 0.0052617115 0.0021676791 0.0047163206 - 1195300 0.005401466 0.0022911142 0.0049074492 - 1195400 0.0053272992 0.0018647167 0.0044451272 - 1195500 0.0052324403 0.002005871 0.0045403343 - 1195600 0.0059317817 0.0024961236 0.0053693304 - 1195700 0.004778824 0.0026631803 0.0049779232 - 1195800 0.0057112506 0.0028577368 0.0056241238 - 1195900 0.0044570466 0.0035689755 0.0057278574 - 1196000 0.0056817962 0.0033943345 0.0061464545 - 1196100 0.0075838241 0.0025033852 0.0061768 - 1196200 0.0044318524 0.0021710353 0.0043177138 - 1196300 0.0041773121 0.002498458 0.0045218435 - 1196400 0.0057460925 0.0026845718 0.0054678354 - 1196500 0.0060661691 0.00242575 0.0053640507 - 1196600 0.0062616779 0.0028053175 0.0058383178 - 1196700 0.0053178298 0.0030421055 0.0056179293 - 1196800 0.006789594 0.0025901899 0.0058788994 - 1196900 0.005792022 0.0020054826 0.0048109933 - 1197000 0.0051869986 0.0023050199 0.0048174723 - 1197100 0.0046092146 0.0023315401 0.0045641285 - 1197200 0.0056427868 0.0023609728 0.0050941977 - 1197300 0.0045103962 0.0023409294 0.0045256525 - 1197400 0.0061182832 0.0022347056 0.0051982491 - 1197500 0.0058828596 0.0023731811 0.0052226912 - 1197600 0.005071483 0.0024972521 0.0049537517 - 1197700 0.0057572694 0.0022244783 0.0050131557 - 1197800 0.0052064455 0.0020711178 0.0045929899 - 1197900 0.0040300838 0.0021037315 0.0040558034 - 1198000 0.0043941016 0.0021482489 0.0042766419 - 1198100 0.0050793494 0.0024683807 0.0049286906 - 1198200 0.0048804613 0.0026816146 0.005045588 - 1198300 0.0056802502 0.0025406139 0.0052919851 - 1198400 0.0046270069 0.0021070613 0.0043482677 - 1198500 0.0074783438 0.001918237 0.0055405598 - 1198600 0.0052435499 0.0018358318 0.0043756763 - 1198700 0.00554753 0.0022805033 0.0049675881 - 1198800 0.0057127562 0.0026884223 0.0054555386 - 1198900 0.0061620664 0.0029718136 0.0059565646 - 1199000 0.0062193976 0.0031038696 0.0061163903 - 1199100 0.0054285473 0.0030823506 0.0057118032 - 1199200 0.0048121845 0.0024891519 0.0048200537 - 1199300 0.0043784253 0.0018196529 0.0039404526 - 1199400 0.0053131352 0.0019874939 0.0045610438 - 1199500 0.0038451508 0.0022714013 0.0041338962 - 1199600 0.0044678741 0.0024702036 0.0046343301 - 1199700 0.0038271826 0.0025157273 0.0043695188 - 1199800 0.0044241211 0.00259263 0.0047355637 - 1199900 0.0045219798 0.0025772057 0.0047675397 - 1200000 0.0049178434 0.0029985254 0.0053806058 - 1200100 0.0057867189 0.0029591496 0.0057620916 - 1200200 0.0043658806 0.0024517638 0.0045664872 - 1200300 0.0086750271 0.0020721422 0.0062741084 - 1200400 0.0057429282 0.0018125884 0.0045943193 - 1200500 0.0050067716 0.0017250759 0.0041502308 - 1200600 0.005122786 0.0020159676 0.0044973171 - 1200700 0.0035610109 0.0023133519 0.0040382166 - 1200800 0.0060502314 0.0020210513 0.0049516322 - 1200900 0.0055021196 0.0024644983 0.0051295875 - 1201000 0.0057069922 0.0028034334 0.0055677577 - 1201100 0.0052009842 0.0026247314 0.0051439581 - 1201200 0.0050840246 0.0024022792 0.0048648536 - 1201300 0.0041212154 0.002162859 0.0041590727 - 1201400 0.0039455008 0.0021018947 0.0040129967 - 1201500 0.0049240065 0.0023208324 0.004705898 - 1201600 0.003692277 0.002507891 0.0042963377 - 1201700 0.0061318703 0.0019479496 0.0049180742 - 1201800 0.0049227074 0.0016942285 0.0040786649 - 1201900 0.0063873679 0.0022072477 0.005301129 - 1202000 0.0040121082 0.0026036133 0.0045469782 - 1202100 0.0040518608 0.0024622432 0.0044248633 - 1202200 0.0044805205 0.002355052 0.0045253041 - 1202300 0.0062310615 0.0022311533 0.0052493237 - 1202400 0.0048190273 0.0022765668 0.0046107832 - 1202500 0.0046616419 0.0020317304 0.0042897132 - 1202600 0.0049389405 0.0021915055 0.0045838048 - 1202700 0.0052353253 0.0024042987 0.0049401594 - 1202800 0.0039859463 0.0028017198 0.0047324125 - 1202900 0.0050805867 0.0023570894 0.0048179986 - 1203000 0.0049568867 0.0024650853 0.0048660773 - 1203100 0.00498873 0.0023223237 0.0047387398 - 1203200 0.0051270789 0.0018854191 0.0043688479 - 1203300 0.0061260889 0.001421438 0.0043887623 - 1203400 0.0038257806 0.0017868116 0.0036399241 - 1203500 0.0040065299 0.0018061983 0.0037468612 - 1203600 0.0056549452 0.0017170103 0.0044561244 - 1203700 0.0053109783 0.001281404 0.0038539091 - 1203800 0.004262954 0.0014866532 0.0035515216 - 1203900 0.0056330968 0.0016976927 0.004426224 - 1204000 0.0058477801 0.0021212646 0.004953783 - 1204100 0.0050239048 0.002782588 0.0052160419 - 1204200 0.0039232745 0.0031707592 0.0050710953 - 1204300 0.0032934731 0.0027428717 0.0043381478 - 1204400 0.0052429164 0.0022302411 0.0047697788 - 1204500 0.0052885503 0.0017547717 0.0043164132 - 1204600 0.0059708084 0.001655476 0.0045475863 - 1204700 0.0048819931 0.0014743571 0.0038390725 - 1204800 0.0039504151 0.0017113885 0.0036248708 - 1204900 0.0043843929 0.0023967269 0.0045204173 - 1205000 0.0046206984 0.0024106195 0.0046487703 - 1205100 0.0055802741 0.0022877994 0.0049907447 - 1205200 0.0046803596 0.0021972855 0.0044643347 - 1205300 0.0049596108 0.0023384042 0.0047407157 - 1205400 0.0071013343 0.0024347014 0.0058744102 - 1205500 0.005332256 0.0027896271 0.0053724386 - 1205600 0.0052023365 0.003033026 0.0055529078 - 1205700 0.0047039393 0.0029726993 0.0052511699 - 1205800 0.0042013701 0.002889224 0.0049242627 - 1205900 0.0043922595 0.0027759965 0.0049034973 - 1206000 0.0049692113 0.002282187 0.0046891487 - 1206100 0.0055531878 0.0022470734 0.0049368988 - 1206200 0.0058439703 0.0026436416 0.0054743147 - 1206300 0.0058617849 0.0030555779 0.0058948799 - 1206400 0.0043519545 0.0029736637 0.0050816417 - 1206500 0.0046485012 0.0024274583 0.0046790761 - 1206600 0.0042392321 0.0024792821 0.0045326601 - 1206700 0.0047694 0.0023621667 0.0046723448 - 1206800 0.006177448 0.0026988067 0.005691008 - 1206900 0.0055557264 0.0024406264 0.0051316813 - 1207000 0.0055453053 0.0026956574 0.0053816647 - 1207100 0.0064343341 0.0031107784 0.006227409 - 1207200 0.0053819306 0.0032640035 0.0058708761 - 1207300 0.0061640315 0.0032755208 0.0062612235 - 1207400 0.005756469 0.002390232 0.0051785217 - 1207500 0.0059684594 0.0022128592 0.0051038317 - 1207600 0.0048181263 0.0026211381 0.004954918 - 1207700 0.0035904662 0.0024777924 0.0042169245 - 1207800 0.0046352935 0.002042445 0.0042876653 - 1207900 0.0073589872 0.0020643137 0.0056288231 - 1208000 0.0050508822 0.0023341849 0.004780706 - 1208100 0.0060483655 0.0028754375 0.0058051145 - 1208200 0.0038020354 0.0030007853 0.0048423962 - 1208300 0.003969456 0.0028588994 0.0047816046 - 1208400 0.0058488432 0.002724714 0.0055577474 - 1208500 0.0034006879 0.0025108053 0.0041580135 - 1208600 0.0044346557 0.0023749365 0.0045229729 - 1208700 0.0068049155 0.0022545427 0.0055506737 - 1208800 0.0060514832 0.0022253286 0.0051565158 - 1208900 0.0064198391 0.0022312312 0.0053408408 - 1209000 0.0055364121 0.0024447725 0.0051264721 - 1209100 0.0050292962 0.0024643825 0.0049004479 - 1209200 0.005342726 0.0026074309 0.0051953138 - 1209300 0.0059490636 0.0026915776 0.0055731553 - 1209400 0.0060813123 0.002375609 0.0053212446 - 1209500 0.0045478019 0.0024801069 0.0046829485 - 1209600 0.0049852812 0.0025211221 0.0049358677 - 1209700 0.0056374604 0.0022117562 0.0049424011 - 1209800 0.0050869393 0.0024196658 0.004883652 - 1209900 0.0037555279 0.002582736 0.0044018198 - 1210000 0.0042975302 0.0028066588 0.004888275 - 1210100 0.0035908886 0.0025379151 0.0042772518 - 1210200 0.0077857827 0.0020594973 0.0058307358 - 1210300 0.0064202934 0.0025595049 0.0056693345 - 1210400 0.0049447166 0.0029147448 0.0053098419 - 1210500 0.0060984795 0.0026292062 0.0055831572 - 1210600 0.0049969918 0.0024200584 0.0048404763 - 1210700 0.0052440637 0.0028653836 0.0054054769 - 1210800 0.0052062256 0.0023827098 0.0049044753 - 1210900 0.0040240384 0.0020561345 0.0040052782 - 1211000 0.0049684412 0.0021050262 0.0045116149 - 1211100 0.0039119159 0.0023847973 0.0042796315 - 1211200 0.0060114263 0.0019227733 0.0048345579 - 1211300 0.0043717478 0.0023200618 0.0044376272 - 1211400 0.005344072 0.002718649 0.0053071839 - 1211500 0.0059034403 0.0026406223 0.0055001012 - 1211600 0.0055494004 0.0029309485 0.0056189393 - 1211700 0.0048150893 0.0029021282 0.0052344371 - 1211800 0.0046128532 0.0028571666 0.0050915174 - 1211900 0.0050088055 0.0026905359 0.0051166761 - 1212000 0.0049435934 0.0029652787 0.0053598318 - 1212100 0.0063402342 0.0030240974 0.0060951483 - 1212200 0.0049798321 0.0030903527 0.0055024589 - 1212300 0.0060096683 0.0023333719 0.0052443049 - 1212400 0.0058212386 0.0017663708 0.0045860333 - 1212500 0.005535689 0.0019140842 0.0045954335 - 1212600 0.0053941892 0.0021288283 0.0047416387 - 1212700 0.0067459767 0.0022754933 0.0055430757 - 1212800 0.0072885235 0.0022786689 0.0058090475 - 1212900 0.0059733573 0.0019472542 0.0048405992 - 1213000 0.004722237 0.0021778349 0.0044651685 - 1213100 0.0058712411 0.0022246784 0.0050685608 - 1213200 0.004588422 0.0029014014 0.0051239183 - 1213300 0.0049258376 0.0029637325 0.0053496851 - 1213400 0.0074698543 0.0023502775 0.0059684882 - 1213500 0.0054982225 0.0028666653 0.0055298669 - 1213600 0.0031830238 0.0032006807 0.0047424579 - 1213700 0.0045753175 0.0030996529 0.0053158223 - 1213800 0.0061134865 0.0025878049 0.0055490249 - 1213900 0.0053311072 0.0029593042 0.0055415592 - 1214000 0.0063694011 0.0035237722 0.0066089509 - 1214100 0.0055791108 0.0036058439 0.0063082257 - 1214200 0.0057734212 0.0034950392 0.00629154 - 1214300 0.0048801253 0.0032925129 0.0056563235 - 1214400 0.0063048151 0.0031647131 0.0062186079 - 1214500 0.0054318264 0.0031535 0.0057845409 - 1214600 0.0035853061 0.0028929178 0.0046295505 - 1214700 0.0049784293 0.0028063808 0.0052178075 - 1214800 0.0049368497 0.0026939112 0.0050851977 - 1214900 0.0060710959 0.0026882957 0.0056289828 - 1215000 0.0055339998 0.0028681759 0.0055487071 - 1215100 0.0043712911 0.0035028345 0.0056201786 - 1215200 0.0048858445 0.0032874425 0.0056540235 - 1215300 0.0058685499 0.0025592429 0.0054018217 - 1215400 0.0064716329 0.002151554 0.0052862512 - 1215500 0.0043416261 0.0021666805 0.0042696557 - 1215600 0.00475838 0.0021832442 0.0044880845 - 1215700 0.003330975 0.0024834746 0.0040969157 - 1215800 0.005871541 0.002535503 0.0053795306 - 1215900 0.0045125028 0.0029748491 0.0051605926 - 1216000 0.006655752 0.0035888902 0.0068127701 - 1216100 0.0053353024 0.0035314747 0.0061157618 - 1216200 0.0044523032 0.0025426369 0.0046992212 - 1216300 0.0063207633 0.002094104 0.0051557237 - 1216400 0.0044733335 0.0020092758 0.0041760467 - 1216500 0.0040638732 0.0020833824 0.004051821 - 1216600 0.0048229063 0.0020617051 0.0043978003 - 1216700 0.0051516952 0.0023547202 0.0048500726 - 1216800 0.0058445856 0.0024278842 0.0052588553 - 1216900 0.0046358435 0.0025186488 0.0047641355 - 1217000 0.0048541881 0.0031284465 0.0054796939 - 1217100 0.0066969277 0.002479284 0.0057231083 - 1217200 0.0071061259 0.0023088158 0.0057508456 - 1217300 0.0050118454 0.0024709939 0.0048986065 - 1217400 0.0049475484 0.0020320224 0.0044284912 - 1217500 0.0060314934 0.0018033543 0.0047248589 - 1217600 0.0063067889 0.002187672 0.0052425229 - 1217700 0.0053348249 0.00296921 0.0055532658 - 1217800 0.004984643 0.0029142777 0.0053287142 - 1217900 0.0054784159 0.002379077 0.0050326847 - 1218000 0.0054916213 0.0020913024 0.0047513065 - 1218100 0.0043888942 0.0024267048 0.0045525755 - 1218200 0.0046132498 0.0024769657 0.0047115085 - 1218300 0.0048159641 0.0025773831 0.0049101157 - 1218400 0.0060231613 0.0023056917 0.0052231605 - 1218500 0.0042030125 0.0022195036 0.0042553378 - 1218600 0.0040437448 0.0022358132 0.0041945021 - 1218700 0.0052767813 0.0023052182 0.0048611592 - 1218800 0.0056739435 0.0028242516 0.005572568 - 1218900 0.0053775781 0.002941635 0.0055463994 - 1219000 0.0057697921 0.0025639944 0.0053587375 - 1219100 0.007439845 0.0027177935 0.0063214684 - 1219200 0.0065999183 0.0026965439 0.0058933793 - 1219300 0.003719831 0.0026617539 0.004463547 - 1219400 0.0042560613 0.0026505068 0.0047120365 - 1219500 0.0031173992 0.0027965838 0.004306574 - 1219600 0.0052741237 0.0027523666 0.0053070202 - 1219700 0.0049068936 0.0023566697 0.0047334464 - 1219800 0.005878186 0.0021035456 0.0049507919 - 1219900 0.0033208851 0.0023120882 0.003920642 - 1220000 0.00472975 0.0025902241 0.0048811967 - 1220100 0.0043553594 0.0026667382 0.0047763654 - 1220200 0.004615552 0.0028601542 0.0050958122 - 1220300 0.0052499012 0.0028299723 0.0053728931 - 1220400 0.0046989367 0.0027409923 0.0050170398 - 1220500 0.0041636167 0.0024237456 0.0044404974 - 1220600 0.0053300644 0.0023119411 0.004893691 - 1220700 0.0051615185 0.0025396096 0.0050397201 - 1220800 0.0058051342 0.0021088713 0.0049207331 - 1220900 0.0045875933 0.0018779955 0.004100111 - 1221000 0.0043016235 0.0016137135 0.0036973124 - 1221100 0.0046817204 0.0016511602 0.0039188685 - 1221200 0.0042687202 0.002302614 0.0043702753 - 1221300 0.0040956356 0.002404108 0.0043879315 - 1221400 0.0042768623 0.001996467 0.0040680721 - 1221500 0.0049044417 0.0015570101 0.003932599 - 1221600 0.0043281329 0.0019672714 0.0040637108 - 1221700 0.0050442921 0.0019786935 0.0044220225 - 1221800 0.0052122322 0.0017801083 0.0043047832 - 1221900 0.0051549722 0.0024127553 0.0049096949 - 1222000 0.007084518 0.0027819869 0.0062135503 - 1222100 0.0047767795 0.0027660321 0.0050797846 - 1222200 0.0064111878 0.0026184044 0.0057238235 - 1222300 0.0056678013 0.00260465 0.0053499912 - 1222400 0.005156974 0.0025146824 0.0050125917 - 1222500 0.0042748183 0.0020582983 0.0041289134 - 1222600 0.005848478 0.0022597906 0.0050926471 - 1222700 0.0045153553 0.0029161554 0.0051032806 - 1222800 0.0050758989 0.0025484776 0.0050071161 - 1222900 0.0064920275 0.0022665723 0.0054111481 - 1223000 0.0038283265 0.0028607942 0.0047151399 - 1223100 0.0047955048 0.0026286743 0.0049514969 - 1223200 0.0048234536 0.0016519714 0.0039883317 - 1223300 0.0054008252 0.0015170434 0.0041330681 - 1223400 0.0058527969 0.0021115203 0.0049464688 - 1223500 0.0058106155 0.0024325882 0.0052471051 - 1223600 0.0083990887 0.0023807175 0.0064490261 - 1223700 0.0050784203 0.0029653545 0.0054252143 - 1223800 0.0049991912 0.0028840716 0.0053055548 - 1223900 0.0048625684 0.0028033543 0.0051586608 - 1224000 0.0055268817 0.0028703582 0.0055474415 - 1224100 0.0059059893 0.0027146789 0.0055753925 - 1224200 0.0059315906 0.0022979286 0.0051710428 - 1224300 0.0046104784 0.0020993286 0.0043325291 - 1224400 0.0048916049 0.0021293203 0.0044986914 - 1224500 0.0041026607 0.0020698327 0.0040570589 - 1224600 0.0057418493 0.002063074 0.0048442822 - 1224700 0.0047295649 0.0020300756 0.0043209586 - 1224800 0.0059427066 0.0018757672 0.0047542656 - 1224900 0.0050060828 0.0016251179 0.0040499393 - 1225000 0.004921513 0.0016336109 0.0040174687 - 1225100 0.0049011914 0.0017063202 0.0040803348 - 1225200 0.0069164518 0.0017354214 0.0050855777 - 1225300 0.004892743 0.0023169682 0.0046868906 - 1225400 0.0062728587 0.0018313699 0.0048697859 - 1225500 0.0055356772 0.0017642771 0.0044456207 - 1225600 0.0045883967 0.0017940164 0.0040165211 - 1225700 0.0040463516 0.0015221257 0.0034820772 - 1225800 0.0045439313 0.0015499657 0.0037509324 - 1225900 0.0040607474 0.0015641427 0.0035310672 - 1226000 0.0049239319 0.0014110059 0.0037960354 - 1226100 0.0045963532 0.001631044 0.0038574026 - 1226200 0.0074669831 0.0017745575 0.0053913775 - 1226300 0.0051231263 0.0021549454 0.0046364597 - 1226400 0.0060262892 0.0024179556 0.0053369394 - 1226500 0.0065081667 0.0022420931 0.0053944863 - 1226600 0.0046140479 0.0024521858 0.0046871152 - 1226700 0.0054692146 0.0025228679 0.0051720187 - 1226800 0.0060497292 0.0025681724 0.00549851 - 1226900 0.0056093624 0.0025305108 0.0052475457 - 1227000 0.0049866565 0.0022913688 0.0047067805 - 1227100 0.0055243878 0.0020503133 0.0047261886 - 1227200 0.0052554164 0.0019892482 0.0045348405 - 1227300 0.0043499996 0.0018530044 0.0039600355 - 1227400 0.0047263691 0.0024073878 0.0046967229 - 1227500 0.0043359635 0.0024568344 0.0045570668 - 1227600 0.0043284083 0.0020765118 0.0041730845 - 1227700 0.0066677828 0.0020490525 0.0052787598 - 1227800 0.007036154 0.0018717082 0.0052798453 - 1227900 0.0050815899 0.0023627638 0.0048241589 - 1228000 0.0049045733 0.002281396 0.0046570486 - 1228100 0.0070317759 0.0021534439 0.0055594604 - 1228200 0.0041319188 0.002437249 0.0044386471 - 1228300 0.005462702 0.0022533064 0.0048993026 - 1228400 0.0071039169 0.0021034827 0.0055444425 - 1228500 0.003981553 0.002430185 0.0043587497 - 1228600 0.0054905863 0.0019964671 0.0046559699 - 1228700 0.0061307369 0.0019935843 0.0049631599 - 1228800 0.0049367833 0.0027281079 0.0051193624 - 1228900 0.0051164384 0.0028492337 0.0053275085 - 1229000 0.0048720402 0.0025420406 0.0049019351 - 1229100 0.0066970075 0.0023499617 0.0055938247 - 1229200 0.0060263532 0.0024204175 0.0053394324 - 1229300 0.0050175755 0.0028035737 0.0052339619 - 1229400 0.0051625507 0.0023594841 0.0048600946 - 1229500 0.0060239765 0.0025266228 0.0054444864 - 1229600 0.0047583171 0.0029776205 0.0052824303 - 1229700 0.0045956294 0.0025642299 0.0047902378 - 1229800 0.0079386309 0.0023407876 0.0061860619 - 1229900 0.005185279 0.0024801823 0.0049918018 - 1230000 0.0029226681 0.0025941207 0.0040097881 - 1230100 0.0057940757 0.0021764441 0.0049829496 - 1230200 0.0061117766 0.0022411486 0.0052015403 - 1230300 0.0051060853 0.0028780631 0.0053513232 - 1230400 0.0070958233 0.0031589414 0.0065959809 - 1230500 0.0049193376 0.0031412514 0.0055240556 - 1230600 0.005652116 0.0026360253 0.005373769 - 1230700 0.0054312848 0.002300077 0.0049308556 - 1230800 0.0044369133 0.0018254803 0.0039746102 - 1230900 0.0059736199 0.0017862477 0.0046797198 - 1231000 0.0054484211 0.0019112507 0.0045503297 - 1231100 0.0057591166 0.0019270215 0.0047165936 - 1231200 0.0053210673 0.0021275956 0.0047049876 - 1231300 0.0062321969 0.0024628224 0.0054815428 - 1231400 0.0058405258 0.0025994762 0.0054284809 - 1231500 0.0051335537 0.0021636921 0.0046502572 - 1231600 0.0046903008 0.0021841067 0.0044559711 - 1231700 0.0044877018 0.0024861854 0.0046599159 - 1231800 0.0051171549 0.0031316728 0.0056102947 - 1231900 0.0062075656 0.0032046378 0.0062114273 - 1232000 0.0054741857 0.0033050268 0.0059565855 - 1232100 0.0051165287 0.0031471438 0.0056254624 - 1232200 0.0052617272 0.0026260737 0.0051747228 - 1232300 0.0032609935 0.0032636099 0.0048431536 - 1232400 0.0050854235 0.0035896428 0.0060528948 - 1232500 0.0054223983 0.0031602652 0.0057867394 - 1232600 0.0062990837 0.0031502771 0.0062013957 - 1232700 0.0040185175 0.0030124199 0.0049588893 - 1232800 0.0044089017 0.0024555548 0.0045911165 - 1232900 0.0047482258 0.002128154 0.0044280759 - 1233000 0.0049608551 0.0021940671 0.0045969813 - 1233100 0.0039761765 0.00234896 0.0042749205 - 1233200 0.0064340887 0.0022327233 0.005349235 - 1233300 0.0048738011 0.0021576711 0.0045184185 - 1233400 0.0061177767 0.0022781815 0.0052414795 - 1233500 0.0034266987 0.0028253178 0.004485125 - 1233600 0.004704931 0.0029106819 0.0051896329 - 1233700 0.0049840616 0.0029237816 0.0053379364 - 1233800 0.0062400184 0.0028068974 0.0058294063 - 1233900 0.0068915177 0.0024173896 0.0057554685 - 1234000 0.0041463549 0.0024376954 0.0044460861 - 1234100 0.004161518 0.0023895534 0.0044052887 - 1234200 0.0050535035 0.0018259751 0.0042737659 - 1234300 0.0052124569 0.0016215276 0.0041463115 - 1234400 0.0034582499 0.0018033431 0.0034784329 - 1234500 0.0054189279 0.0017289161 0.0043537093 - 1234600 0.004812648 0.0018868345 0.0042179608 - 1234700 0.0034907773 0.0025200455 0.0042108908 - 1234800 0.0054484369 0.0029337718 0.0055728584 - 1234900 0.0055347788 0.0027910671 0.0054719756 - 1235000 0.006688656 0.0022884819 0.0055282997 - 1235100 0.0069773428 0.0016106396 0.0049902901 - 1235200 0.0055413457 0.0020016552 0.0046857445 - 1235300 0.0047674783 0.0024287352 0.0047379825 - 1235400 0.0057233285 0.002445846 0.0052180833 - 1235500 0.0055059385 0.0020603348 0.0047272738 - 1235600 0.0035404211 0.0020043585 0.0037192499 - 1235700 0.0057070168 0.0018251455 0.0045894818 - 1235800 0.0054710166 0.002228948 0.0048789717 - 1235900 0.0039764106 0.0021824128 0.0041084867 - 1236000 0.0048746016 0.0023671696 0.0047283047 - 1236100 0.0059101395 0.0025488036 0.0054115275 - 1236200 0.0049901216 0.0026593405 0.0050764307 - 1236300 0.0065171719 0.0022623216 0.0054190767 - 1236400 0.0049528886 0.0022921082 0.0046911636 - 1236500 0.0039931478 0.0022233683 0.0041575493 - 1236600 0.004893389 0.0018914065 0.0042616418 - 1236700 0.0051958075 0.0020781277 0.0045948469 - 1236800 0.006428876 0.0025620711 0.0056760579 - 1236900 0.0057591417 0.0030686558 0.0058582401 - 1237000 0.0057141551 0.0027688021 0.005536596 - 1237100 0.0061175797 0.0020805294 0.0050437321 - 1237200 0.0047172341 0.0019584215 0.0042433318 - 1237300 0.0045432816 0.0024178469 0.0046184989 - 1237400 0.0042130675 0.0023478731 0.0043885777 - 1237500 0.0043361222 0.0022112943 0.0043116035 - 1237600 0.0061992667 0.0022907719 0.0052935417 - 1237700 0.003776618 0.0023374851 0.0041667845 - 1237800 0.0053307368 0.0023049456 0.0048870212 - 1237900 0.0043382729 0.0022395823 0.0043409332 - 1238000 0.0043016439 0.0021542758 0.0042378846 - 1238100 0.0059859371 0.0019259586 0.0048253969 - 1238200 0.005344889 0.0020199149 0.0046088455 - 1238300 0.003976737 0.002278884 0.004205116 - 1238400 0.0039909835 0.0026023592 0.0045354918 - 1238500 0.0056286883 0.002334869 0.0050612649 - 1238600 0.0058031134 0.0023119051 0.0051227881 - 1238700 0.0059074796 0.0022243015 0.0050857369 - 1238800 0.0063755409 0.0018667249 0.0049548775 - 1238900 0.0038078742 0.001855116 0.0036995551 - 1239000 0.0049281625 0.0020325386 0.0044196173 - 1239100 0.0063726362 0.0018883841 0.0049751298 - 1239200 0.0034319835 0.0026940145 0.0043563815 - 1239300 0.0048807835 0.0026714625 0.005035592 - 1239400 0.0061473822 0.0019450109 0.0049226491 - 1239500 0.0034145554 0.0015045451 0.0031584704 - 1239600 0.0044328163 0.0014635049 0.0036106502 - 1239700 0.00379952 0.0017988299 0.0036392224 - 1239800 0.0047992195 0.002043694 0.004368316 - 1239900 0.0062659572 0.0017709376 0.0048060106 - 1240000 0.0049308356 0.0017247608 0.0041131343 - 1240100 0.0049449539 0.0015665742 0.0039617862 - 1240200 0.005803467 0.0017806763 0.0045917306 - 1240300 0.0056041204 0.0018243486 0.0045388444 - 1240400 0.0039573039 0.0015186488 0.0034354679 - 1240500 0.0043845858 0.0023025543 0.0044263381 - 1240600 0.004024584 0.0021148354 0.0040642433 - 1240700 0.0054133648 0.0019414303 0.0045635289 - 1240800 0.0047235432 0.0020199191 0.0043078853 - 1240900 0.0057660124 0.0020271434 0.0048200557 - 1241000 0.0049150405 0.0019919981 0.0043727208 - 1241100 0.0057187145 0.0017171797 0.0044871821 - 1241200 0.0042985718 0.0014768617 0.0035589824 - 1241300 0.0041385555 0.0020742721 0.0040788849 - 1241400 0.00501059 0.0028123287 0.0052393332 - 1241500 0.0063921949 0.0022959924 0.0053922118 - 1241600 0.0062644021 0.0020517286 0.0050860484 - 1241700 0.0073804379 0.0020427448 0.0056176444 - 1241800 0.0045787407 0.002277954 0.0044957816 - 1241900 0.0051952782 0.002304919 0.0048213819 - 1242000 0.0046827923 0.0020342912 0.0043025188 - 1242100 0.0052684227 0.001744761 0.0042966532 - 1242200 0.0056834162 0.0017502616 0.0045031664 - 1242300 0.0036431951 0.0014742469 0.0032389195 - 1242400 0.0042550911 0.0014568165 0.0035178762 - 1242500 0.0051477795 0.0016534031 0.0041468588 - 1242600 0.0044675827 0.0018749647 0.00403895 - 1242700 0.0060015067 0.0017737252 0.004680705 - 1242800 0.0044224139 0.0017524942 0.0038946009 - 1242900 0.0040277025 0.0013373081 0.0032882265 - 1243000 0.0077903842 0.0016882676 0.0054617349 - 1243100 0.0053430906 0.0019545873 0.0045426468 - 1243200 0.0049447682 0.0018871902 0.0042823123 - 1243300 0.0059080496 0.001682517 0.0045442285 - 1243400 0.0040276328 0.0020406104 0.003991495 - 1243500 0.0041143056 0.0022657198 0.0042585866 - 1243600 0.0048261133 0.0019765161 0.0043141647 - 1243700 0.0036433056 0.0021508215 0.0039155477 - 1243800 0.0041580299 0.0022962466 0.0043102923 - 1243900 0.0054054509 0.0019429551 0.0045612204 - 1244000 0.0030539324 0.0021602589 0.0036395074 - 1244100 0.0033893751 0.0027500569 0.0043917854 - 1244200 0.0053626505 0.0029715007 0.0055690346 - 1244300 0.0065091564 0.0029145613 0.0060674339 - 1244400 0.0071228679 0.0027039244 0.0061540635 - 1244500 0.0065876579 0.0026991709 0.0058900677 - 1244600 0.0053093129 0.0032123008 0.0057839992 - 1244700 0.006987052 0.0032989401 0.0066832934 - 1244800 0.0047797553 0.0029660193 0.0052812133 - 1244900 0.007095144 0.0019494858 0.0053861962 - 1245000 0.0052835689 0.0022563224 0.0048155511 - 1245100 0.0057418898 0.002885857 0.0056670849 - 1245200 0.0040715876 0.0031731832 0.0051453585 - 1245300 0.0047229904 0.0028963248 0.0051840232 - 1245400 0.003095711 0.0028463494 0.0043458344 - 1245500 0.0038725865 0.0023741172 0.0042499013 - 1245600 0.0058419464 0.0022147666 0.0050444594 - 1245700 0.0043959601 0.0022812967 0.0044105899 - 1245800 0.0047677993 0.0023697743 0.004679177 - 1245900 0.004892943 0.0025547437 0.0049247629 - 1246000 0.007894544 0.0027441203 0.00656804 - 1246100 0.0031893515 0.0033184994 0.0048633416 - 1246200 0.0048964471 0.0030776475 0.0054493641 - 1246300 0.0046172331 0.0021451121 0.0043815843 - 1246400 0.0051651233 0.0016076591 0.0041095157 - 1246500 0.0044594109 0.0015074191 0.0036674463 - 1246600 0.0036960575 0.0018362406 0.0036265184 - 1246700 0.0056261242 0.0020523228 0.0047774767 - 1246800 0.0063227359 0.0025646121 0.0056271873 - 1246900 0.0053813852 0.0022625165 0.0048691249 - 1247000 0.0051639871 0.0020673616 0.0045686678 - 1247100 0.0051954556 0.002669238 0.0051857868 - 1247200 0.004930802 0.0031635051 0.0055518624 - 1247300 0.0057482776 0.0027960734 0.0055803954 - 1247400 0.0050850224 0.002881808 0.0053448657 - 1247500 0.0063559825 0.0028008668 0.0058795458 - 1247600 0.0056856861 0.0022960405 0.0050500447 - 1247700 0.0047095565 0.0024055515 0.0046867429 - 1247800 0.006187156 0.002954424 0.0059513277 - 1247900 0.004530405 0.0035792014 0.0057736163 - 1248000 0.0045294568 0.0035629229 0.0057568786 - 1248100 0.0070295466 0.0029516876 0.0063566242 - 1248200 0.0046885379 0.0027011071 0.0049721176 - 1248300 0.0058452543 0.0026464451 0.0054777402 - 1248400 0.0054584687 0.0025581152 0.005202061 - 1248500 0.0060671649 0.0026113909 0.0055501739 - 1248600 0.0055918883 0.0020214102 0.0047299811 - 1248700 0.004523266 0.0021902838 0.0043812408 - 1248800 0.0065253154 0.00227167 0.0054323696 - 1248900 0.0050404107 0.0023595486 0.0048009976 - 1249000 0.0034864497 0.0020667344 0.0037554835 - 1249100 0.0045014515 0.0021673257 0.0043477163 - 1249200 0.004191657 0.0022342742 0.0042646081 - 1249300 0.0050300312 0.0021730971 0.0046095184 - 1249400 0.0052317936 0.0021966464 0.0047307964 - 1249500 0.005331759 0.0020765935 0.0046591643 - 1249600 0.0045618193 0.0018389406 0.0040485719 - 1249700 0.0051951008 0.0017623738 0.0042787507 - 1249800 0.0056998028 0.0019023752 0.0046632172 - 1249900 0.0059129152 0.0022496807 0.005113749 - 1250000 0.0052940849 0.0027700664 0.0053343888 - 1250100 0.0051532756 0.0024198653 0.0049159832 - 1250200 0.0045154402 0.0022467301 0.0044338964 - 1250300 0.0058858098 0.0025512052 0.0054021443 - 1250400 0.0052653818 0.0025784565 0.0051288758 - 1250500 0.0057810244 0.0025473468 0.0053475305 - 1250600 0.0053313643 0.0022839405 0.0048663201 - 1250700 0.0046852438 0.0023912268 0.0046606417 - 1250800 0.0044189454 0.0025559206 0.0046963473 - 1250900 0.003908807 0.0023499847 0.0042433131 - 1251000 0.0072700221 0.0019762438 0.0054976608 - 1251100 0.005241866 0.0020334382 0.004572467 - 1251200 0.0049898792 0.001787422 0.0042043948 - 1251300 0.004280811 0.0018863659 0.0039598838 - 1251400 0.0057228763 0.0019039961 0.0046760142 - 1251500 0.0053589766 0.0017944966 0.0043902509 - 1251600 0.0053039102 0.0017194333 0.0042885148 - 1251700 0.0051756292 0.0016517745 0.0041587199 - 1251800 0.0036042105 0.0022112791 0.0039570686 - 1251900 0.0058239065 0.0018934172 0.0047143719 - 1252000 0.0061243514 0.0016775045 0.0046439872 - 1252100 0.0046157588 0.0017356136 0.0039713717 - 1252200 0.0028382504 0.0021219107 0.0034966882 - 1252300 0.0057089171 0.0022779862 0.0050432429 - 1252400 0.0057277328 0.0024937588 0.0052681294 - 1252500 0.0035658874 0.0020417072 0.0037689339 - 1252600 0.0049755319 0.0019366739 0.0043466971 - 1252700 0.0046711615 0.0021699412 0.004432535 - 1252800 0.004315405 0.0022645294 0.0043548037 - 1252900 0.0066935114 0.0026386857 0.0058808553 - 1253000 0.0041401533 0.0026695803 0.0046749671 - 1253100 0.0035875286 0.0025757127 0.0043134218 - 1253200 0.005363691 0.0022827211 0.0048807589 - 1253300 0.0032826884 0.0020802296 0.0036702817 - 1253400 0.0043019855 0.0019818671 0.0040656413 - 1253500 0.0058663701 0.0021168621 0.0049583851 - 1253600 0.0058686211 0.0020946062 0.0049372196 - 1253700 0.0048306908 0.0025731901 0.004913056 - 1253800 0.0051982091 0.0022647518 0.0047826344 - 1253900 0.0057220162 0.0021559519 0.0049275535 - 1254000 0.0064522194 0.002147253 0.0052725467 - 1254100 0.0052211718 0.0021362962 0.0046653013 - 1254200 0.0041205626 0.0023760812 0.0043719787 - 1254300 0.0055882297 0.0025700577 0.0052768565 - 1254400 0.004884527 0.0022084548 0.0045743976 - 1254500 0.005180365 0.0020131971 0.0045224364 - 1254600 0.0061098196 0.0015883031 0.0045477469 - 1254700 0.0050090734 0.00153934 0.0039656099 - 1254800 0.00427303 0.0015992443 0.0036689932 - 1254900 0.0040224673 0.0020671933 0.0040155759 - 1255000 0.0050167958 0.002478413 0.0049084235 - 1255100 0.0049392632 0.0026458685 0.0050383241 - 1255200 0.006244506 0.002916698 0.0059413806 - 1255300 0.0046706661 0.0028031206 0.0050654745 - 1255400 0.0047253877 0.0025965393 0.004885399 - 1255500 0.0043701091 0.0025821638 0.0046989354 - 1255600 0.0049638207 0.0024757164 0.0048800671 - 1255700 0.0050497679 0.002709241 0.0051552223 - 1255800 0.0064005608 0.0021356945 0.0052359662 - 1255900 0.0060500088 0.0019223622 0.0048528352 - 1256000 0.0046656882 0.0023686365 0.0046285793 - 1256100 0.0044895513 0.0025674865 0.0047421129 - 1256200 0.0047775974 0.0025031397 0.0048172885 - 1256300 0.0053283614 0.0022174894 0.0047984145 - 1256400 0.0041130641 0.0021096928 0.0041019582 - 1256500 0.0043535074 0.0024933832 0.0046021134 - 1256600 0.0050263177 0.0027620741 0.0051966968 - 1256700 0.0046079301 0.002605662 0.0048376281 - 1256800 0.0069480556 0.0018968784 0.0052623429 - 1256900 0.005522555 0.0023096631 0.0049846506 - 1257000 0.005291689 0.0023794705 0.0049426324 - 1257100 0.0053675165 0.0022487453 0.0048486361 - 1257200 0.0065814821 0.0023939645 0.0055818699 - 1257300 0.0054650717 0.0029255245 0.0055726686 - 1257400 0.0051365143 0.0030409 0.0055288991 - 1257500 0.0041991243 0.0029288321 0.004962783 - 1257600 0.0048028384 0.0025940793 0.0049204541 - 1257700 0.0056457124 0.0024913369 0.0052259789 - 1257800 0.0046795314 0.0025721618 0.0048388099 - 1257900 0.0035392908 0.0024338562 0.0041482002 - 1258000 0.0047256003 0.0021195332 0.0044084958 - 1258100 0.0057558078 0.0019703004 0.0047582698 - 1258200 0.0043664471 0.002346211 0.0044612088 - 1258300 0.0045156938 0.0023822153 0.0045695045 - 1258400 0.005384514 0.0021016822 0.0047098061 - 1258500 0.0057489064 0.0018780586 0.0046626852 - 1258600 0.0042872648 0.0018434342 0.0039200781 - 1258700 0.003698113 0.0018222667 0.0036135401 - 1258800 0.0048925058 0.0018014152 0.0041712227 - 1258900 0.0046148283 0.0017216018 0.0039569093 - 1259000 0.004277507 0.0016719185 0.003743836 - 1259100 0.0041192508 0.0019326373 0.0039278994 - 1259200 0.004485483 0.0019388396 0.0041114954 - 1259300 0.0043447491 0.0022871433 0.0043916312 - 1259400 0.004648178 0.002163975 0.0044154362 - 1259500 0.0050437208 0.0020469027 0.004489955 - 1259600 0.0052003717 0.0017550119 0.0042739419 - 1259700 0.0054029674 0.0019504788 0.0045675411 - 1259800 0.0047191827 0.0027554542 0.0050413083 - 1259900 0.005498408 0.0023281712 0.0049914626 - 1260000 0.0058155796 0.0021893799 0.0050063013 - 1260100 0.0044537378 0.0024390519 0.0045963311 - 1260200 0.0054965664 0.0023968841 0.0050592834 - 1260300 0.0054454828 0.002361037 0.0049986927 - 1260400 0.0050638537 0.0023996042 0.0048524084 - 1260500 0.0045914982 0.0022619345 0.0044859414 - 1260600 0.0050153142 0.0024519988 0.0048812916 - 1260700 0.0070352772 0.0026982906 0.006106003 - 1260800 0.0039680685 0.0033932164 0.0053152496 - 1260900 0.0048518643 0.0033624118 0.0057125336 - 1261000 0.0037400276 0.0031797897 0.0049913656 - 1261100 0.0048214752 0.0029382891 0.0052736911 - 1261200 0.0054242064 0.0028402267 0.0054675767 - 1261300 0.005904405 0.0027167544 0.0055767006 - 1261400 0.0059163811 0.0025474059 0.005413153 - 1261500 0.0063522866 0.0021493945 0.0052262834 - 1261600 0.004787085 0.0022597336 0.0045784779 - 1261700 0.0047126012 0.0021188633 0.0044015295 - 1261800 0.0050303594 0.0020977856 0.0045343659 - 1261900 0.0050305614 0.0019679115 0.0044045897 - 1262000 0.0038857476 0.0016356642 0.0035178232 - 1262100 0.0051757636 0.0016714183 0.0041784287 - 1262200 0.0050755882 0.0022963014 0.0047547895 - 1262300 0.0044442903 0.0028051949 0.004957898 - 1262400 0.0046115364 0.0025811155 0.0048148285 - 1262500 0.0045978213 0.0024290828 0.0046561525 - 1262600 0.0042021484 0.0024218344 0.00445725 - 1262700 0.0059484082 0.002440528 0.0053217882 - 1262800 0.0052988389 0.0026516726 0.0052182977 - 1262900 0.0047690517 0.0028653833 0.0051753927 - 1263000 0.0059274781 0.0020919062 0.0049630284 - 1263100 0.00551961 0.0017718889 0.00444545 - 1263200 0.0046659403 0.0020708754 0.0043309402 - 1263300 0.0066492308 0.0024577785 0.0056784997 - 1263400 0.0043384199 0.0022926194 0.0043940416 - 1263500 0.0046786437 0.0023552944 0.0046215124 - 1263600 0.0081117179 0.0024477266 0.00637684 - 1263700 0.0070270083 0.0027513823 0.0061550895 - 1263800 0.0068596895 0.0027863642 0.0061090263 - 1263900 0.0056129986 0.0028311872 0.0055499834 - 1264000 0.0048651651 0.0028762078 0.0052327721 - 1264100 0.0057598174 0.0026949404 0.005484852 - 1264200 0.0036056624 0.0025236573 0.00427015 - 1264300 0.0054143172 0.0022470143 0.0048695742 - 1264400 0.005594979 0.0024930823 0.0052031503 - 1264500 0.0053945676 0.0025555437 0.0051685373 - 1264600 0.0054053854 0.002515013 0.0051332465 - 1264700 0.0051755967 0.0025257348 0.0050326644 - 1264800 0.006117553 0.0025010072 0.005464197 - 1264900 0.004120579 0.0026651547 0.0046610601 - 1265000 0.0037041865 0.0029995038 0.0047937191 - 1265100 0.0049951264 0.0029827541 0.0054022685 - 1265200 0.0041796225 0.0025406002 0.0045651048 - 1265300 0.0051935111 0.0025849979 0.0051006049 - 1265400 0.0042499019 0.0027199691 0.0047785154 - 1265500 0.0046336387 0.0025880601 0.0048324789 - 1265600 0.0048740112 0.0024656017 0.0048264509 - 1265700 0.0035154987 0.0027882154 0.0044910351 - 1265800 0.0046458142 0.0025509862 0.0048013025 - 1265900 0.0046462098 0.0024609568 0.0047114647 - 1266000 0.005121899 0.0027884087 0.0052693285 - 1266100 0.0051479903 0.0031376491 0.0056312069 - 1266200 0.0059481562 0.0028142476 0.0056953858 - 1266300 0.0058382403 0.002599435 0.0054273326 - 1266400 0.0055933474 0.0028408249 0.0055501026 - 1266500 0.0040635205 0.0024595149 0.0044277826 - 1266600 0.0046905431 0.0019839779 0.0042559598 - 1266700 0.0035428505 0.0021161738 0.003832242 - 1266800 0.0058736093 0.0021697168 0.0050147464 - 1266900 0.0041219641 0.0025220154 0.0045185918 - 1267000 0.0050073062 0.0023810284 0.0048064423 - 1267100 0.0055590026 0.0024038781 0.00509652 - 1267200 0.006112241 0.0026177984 0.0055784152 - 1267300 0.0054448763 0.002756427 0.005393789 - 1267400 0.0057510893 0.0023642022 0.0051498861 - 1267500 0.004726983 0.0022965078 0.0045861402 - 1267600 0.0052841632 0.0025536933 0.0051132098 - 1267700 0.004893576 0.0029233821 0.005293708 - 1267800 0.0052192321 0.0031144665 0.0056425321 - 1267900 0.0068439839 0.0025061132 0.0058211679 - 1268000 0.006015045 0.0020837816 0.004997319 - 1268100 0.0067004026 0.001849905 0.0050954125 - 1268200 0.0052155676 0.0024157609 0.0049420514 - 1268300 0.0053797659 0.0022264712 0.0048322953 - 1268400 0.006090211 0.0019831158 0.0049330618 - 1268500 0.0057234742 0.0019514436 0.0047237514 - 1268600 0.0040136207 0.0022929217 0.0042370192 - 1268700 0.0053206468 0.0021682533 0.0047454416 - 1268800 0.0050408184 0.0019052075 0.0043468539 - 1268900 0.0064632841 0.001808451 0.0049391042 - 1269000 0.0063654221 0.0023635958 0.0054468471 - 1269100 0.0049178974 0.002646587 0.0050286935 - 1269200 0.004558907 0.0024484067 0.0046566272 - 1269300 0.005183017 0.0016509455 0.0041614694 - 1269400 0.0048106869 0.0017051754 0.0040353518 - 1269500 0.0034839283 0.0019419014 0.0036294291 - 1269600 0.0050151894 0.0018527323 0.0042819646 - 1269700 0.0043271063 0.0019872363 0.0040831784 - 1269800 0.0041169398 0.0024216859 0.0044158287 - 1269900 0.0060725149 0.0021824588 0.0051238332 - 1270000 0.0036881158 0.0019589247 0.0037453557 - 1270100 0.0036529915 0.0019579495 0.0037273673 - 1270200 0.0043997901 0.0021169968 0.0042481451 - 1270300 0.0050831959 0.002049996 0.004512169 - 1270400 0.0043736466 0.0023178162 0.0044363013 - 1270500 0.0038346692 0.0028785936 0.0047360115 - 1270600 0.0038538815 0.0028418676 0.0047085915 - 1270700 0.0052714211 0.0026212423 0.0051745869 - 1270800 0.0059236599 0.001929483 0.0047987558 - 1270900 0.0056472623 0.0020782132 0.0048136059 - 1271000 0.0056543991 0.0021814364 0.0049202859 - 1271100 0.0055728695 0.0017650436 0.0044644023 - 1271200 0.00669089 0.0021438305 0.0053847303 - 1271300 0.0057294494 0.0025840571 0.0053592591 - 1271400 0.0058204713 0.0024865487 0.0053058395 - 1271500 0.0049648613 0.002011054 0.0044159087 - 1271600 0.0061488191 0.0022867356 0.0052650698 - 1271700 0.0064169485 0.0020398351 0.0051480446 - 1271800 0.0050070455 0.0020750005 0.0045002881 - 1271900 0.0044633557 0.0018492295 0.0040111675 - 1272000 0.0034659456 0.0018990853 0.0035779027 - 1272100 0.0051227402 0.0016317041 0.0041130314 - 1272200 0.0054004548 0.0012639756 0.0038798209 - 1272300 0.0047745581 0.0018941511 0.0042068276 - 1272400 0.0047879851 0.0021988857 0.004518066 - 1272500 0.0054188953 0.0025150331 0.0051398106 - 1272600 0.0032329649 0.0027299847 0.0042959521 - 1272700 0.0045381928 0.0022358111 0.0044339982 - 1272800 0.005448293 0.0025173538 0.0051563707 - 1272900 0.0051895648 0.0029809905 0.005494686 - 1273000 0.0080493198 0.0025570831 0.0064559723 - 1273100 0.0068926071 0.0022789551 0.0056175616 - 1273200 0.0072389935 0.0023297541 0.0058361416 - 1273300 0.0054306658 0.0027975617 0.0054280404 - 1273400 0.0065772332 0.0027566007 0.0059424481 - 1273500 0.0035954493 0.0027403812 0.004481927 - 1273600 0.0048382702 0.0027424797 0.0050860168 - 1273700 0.0067244737 0.0025106691 0.0057678361 - 1273800 0.0056770307 0.0022897857 0.0050395974 - 1273900 0.0045156029 0.0021286204 0.0043158655 - 1274000 0.0047463153 0.0020892833 0.0043882798 - 1274100 0.0053467924 0.0022288199 0.0048186725 - 1274200 0.004210154 0.0022996886 0.004338982 - 1274300 0.0058287445 0.0020791596 0.0049024578 - 1274400 0.0051212252 0.0018140554 0.0042946489 - 1274500 0.0053836841 0.0017111172 0.0043188392 - 1274600 0.0045995462 0.0021480291 0.0043759343 - 1274700 0.004736306 0.0021010662 0.0043952145 - 1274800 0.0045626016 0.0024020618 0.004612072 - 1274900 0.0057526691 0.0028701369 0.005656586 - 1275000 0.0052067339 0.0028076295 0.0053296412 - 1275100 0.0059893588 0.0021389463 0.005040042 - 1275200 0.0043640454 0.0021323025 0.004246137 - 1275300 0.0044244657 0.0019251339 0.0040682345 - 1275400 0.0054503622 0.0016327918 0.004272811 - 1275500 0.0059898545 0.001680761 0.0045820968 - 1275600 0.0049949558 0.0021944837 0.0046139154 - 1275700 0.0053151612 0.0020638268 0.004638358 - 1275800 0.0035133146 0.0021728542 0.003874616 - 1275900 0.0042820938 0.0020820809 0.0041562201 - 1276000 0.006302479 0.0019631955 0.0050159588 - 1276100 0.0075173802 0.0021911947 0.0058324257 - 1276200 0.0040415786 0.0025754661 0.0045331058 - 1276300 0.0037149708 0.0029517072 0.0047511462 - 1276400 0.0052395791 0.0025466854 0.0050846065 - 1276500 0.0054035544 0.0018786156 0.0044959622 - 1276600 0.0052663016 0.0019922776 0.0045431425 - 1276700 0.0035341683 0.0022344873 0.0039463501 - 1276800 0.004792851 0.0018843444 0.0042058816 - 1276900 0.0051386003 0.001809417 0.0042984265 - 1277000 0.0038144222 0.0021995103 0.004047121 - 1277100 0.0050619792 0.0019032495 0.0043551457 - 1277200 0.0050635874 0.0016043514 0.0040570266 - 1277300 0.005892845 0.0018388632 0.00469321 - 1277400 0.0054994829 0.0020686446 0.0047324566 - 1277500 0.006449458 0.0019685343 0.0050924905 - 1277600 0.0046668781 0.0023198812 0.0045804003 - 1277700 0.0038129965 0.0023189199 0.0041658401 - 1277800 0.0050773616 0.0018566298 0.0043159768 - 1277900 0.0044451025 0.0018188709 0.0039719674 - 1278000 0.0058034958 0.0019452732 0.0047563415 - 1278100 0.0036896975 0.0021041152 0.0038913125 - 1278200 0.0060281793 0.0020339102 0.0049538095 - 1278300 0.0048170914 0.0022418237 0.0045751023 - 1278400 0.0061225662 0.0023684487 0.0053340667 - 1278500 0.0047394519 0.0026189651 0.0049146371 - 1278600 0.0046273216 0.0027322041 0.004973563 - 1278700 0.0048580758 0.0024011987 0.0047543292 - 1278800 0.0058413855 0.0024757388 0.0053051599 - 1278900 0.0068279367 0.002575051 0.0058823328 - 1279000 0.0041608637 0.0038182758 0.0058336941 - 1279100 0.0039574372 0.0036643829 0.0055812665 - 1279200 0.0073424393 0.0031405014 0.0066969955 - 1279300 0.0069274582 0.0031659309 0.0065214184 - 1279400 0.0062037888 0.0030355417 0.0060405018 - 1279500 0.0047645041 0.0031335263 0.0054413329 - 1279600 0.0072831085 0.0024789868 0.0060067425 - 1279700 0.0063648036 0.0022177982 0.0053007499 - 1279800 0.0046030873 0.0021134042 0.0043430246 - 1279900 0.0045734686 0.0025056312 0.004720905 - 1280000 0.0054448211 0.0028613583 0.0054986935 - 1280100 0.0047755977 0.002957628 0.0052708081 - 1280200 0.0049864165 0.0024774675 0.0048927629 - 1280300 0.0048303351 0.0022050035 0.0045446971 - 1280400 0.0037687861 0.0020989046 0.0039244104 - 1280500 0.0048720666 0.0020236906 0.0043835978 - 1280600 0.0041780474 0.0020881521 0.0041118938 - 1280700 0.0037508529 0.0022478487 0.0040646681 - 1280800 0.0048334227 0.0024601944 0.0048013835 - 1280900 0.004866536 0.0025403803 0.0048976086 - 1281000 0.005357517 0.0023480616 0.0049431089 - 1281100 0.007081713 0.0028770828 0.0063072875 - 1281200 0.0048786822 0.0035933942 0.0059565059 - 1281300 0.0065024741 0.0029399244 0.0060895603 - 1281400 0.0044867118 0.0023828678 0.0045561188 - 1281500 0.0064076919 0.0020963473 0.0052000731 - 1281600 0.0041094339 0.0022930052 0.0042835122 - 1281700 0.0035088027 0.0025446943 0.0042442706 - 1281800 0.0044792103 0.0027133779 0.0048829954 - 1281900 0.0053105081 0.0022973717 0.004869649 - 1282000 0.0058249827 0.0024108865 0.0052323625 - 1282100 0.0043288694 0.0025181884 0.0046149845 - 1282200 0.0047727959 0.0022762186 0.0045880416 - 1282300 0.0057292503 0.0019293189 0.0047044245 - 1282400 0.0046039653 0.0016641086 0.0038941543 - 1282500 0.0068539171 0.0020208918 0.0053407578 - 1282600 0.0052448539 0.0023453854 0.0048858615 - 1282700 0.0053703258 0.0021306929 0.0047319445 - 1282800 0.0049612464 0.0020056242 0.0044087279 - 1282900 0.0059366497 0.002052736 0.0049283007 - 1283000 0.0033837336 0.0022902157 0.0039292117 - 1283100 0.003787647 0.0021245712 0.0039592127 - 1283200 0.0034226759 0.0023977189 0.0040555776 - 1283300 0.0049076598 0.0022182461 0.0045953938 - 1283400 0.0060122274 0.0018784345 0.0047906071 - 1283500 0.0046374794 0.0023414151 0.0045876942 - 1283600 0.0039392385 0.0022086089 0.0041166775 - 1283700 0.0052832368 0.0020530878 0.0046121556 - 1283800 0.0046127545 0.0024056402 0.0046399432 - 1283900 0.0046825384 0.0025795085 0.004847613 - 1284000 0.0048764729 0.0026838852 0.0050459267 - 1284100 0.0051390955 0.0029242529 0.0054135023 - 1284200 0.0035898256 0.0031292177 0.0048680394 - 1284300 0.0058622857 0.0029495029 0.0057890475 - 1284400 0.0032257894 0.0027082216 0.0042707133 - 1284500 0.0055081072 0.0025489176 0.0052169071 - 1284600 0.0047205585 0.002521007 0.0048075275 - 1284700 0.0062537564 0.0024854074 0.0055145706 - 1284800 0.0051173461 0.0022817812 0.0047604957 - 1284900 0.006335434 0.0018494295 0.0049181553 - 1285000 0.0045391072 0.0023631691 0.0045617991 - 1285100 0.0043489659 0.0026086388 0.0047151692 - 1285200 0.0050695706 0.0023520548 0.0048076281 - 1285300 0.0052618673 0.0023386651 0.0048873821 - 1285400 0.0048140219 0.0023881348 0.0047199266 - 1285500 0.0034291253 0.0022948654 0.003955848 - 1285600 0.0047697153 0.002847982 0.0051583128 - 1285700 0.0069806976 0.0027773559 0.0061586313 - 1285800 0.0040963419 0.0028422471 0.0048264126 - 1285900 0.0055955035 0.0028761195 0.0055864415 - 1286000 0.0046638362 0.0029338249 0.0051928706 - 1286100 0.0066887506 0.0032045186 0.0064443822 - 1286200 0.004281666 0.003406107 0.005480039 - 1286300 0.0075467096 0.002842744 0.0064981815 - 1286400 0.0061818072 0.0025135825 0.0055078953 - 1286500 0.0063239327 0.0021569168 0.0052200717 - 1286600 0.0047966338 0.0019203679 0.0042437374 - 1286700 0.0049568917 0.0019823801 0.0043833745 - 1286800 0.0050851044 0.0019916719 0.0044547693 - 1286900 0.0038203463 0.0017507089 0.0036011891 - 1287000 0.0042748099 0.001614616 0.0036852271 - 1287100 0.0043224826 0.0019437723 0.0040374748 - 1287200 0.0044769301 0.0018963357 0.0040648487 - 1287300 0.0050949924 0.0020600429 0.0045279298 - 1287400 0.0072118041 0.0021476597 0.0056408773 - 1287500 0.0053817812 0.002173356 0.0047801563 - 1287600 0.0060568623 0.0023285637 0.0052623564 - 1287700 0.0054102665 0.0025510062 0.0051716041 - 1287800 0.0039157062 0.002494659 0.0043913292 - 1287900 0.0034439124 0.0024845925 0.0041527376 - 1288000 0.0052143332 0.0024074442 0.0049331368 - 1288100 0.004584184 0.0026676725 0.0048881366 - 1288200 0.0052976488 0.0025527301 0.0051187788 - 1288300 0.0051404273 0.0024200461 0.0049099406 - 1288400 0.0053864798 0.0025649907 0.0051740668 - 1288500 0.0058319276 0.0022525462 0.0050773862 - 1288600 0.0050467973 0.0026424966 0.005087039 - 1288700 0.0040845071 0.002179605 0.0041580381 - 1288800 0.0046423035 0.0021262386 0.0043748543 - 1288900 0.0060296353 0.0021972359 0.0051178405 - 1289000 0.0045404212 0.0021195238 0.0043187903 - 1289100 0.0044094403 0.0020349185 0.0041707411 - 1289200 0.0054471511 0.0021730514 0.0048115152 - 1289300 0.0057995312 0.002165052 0.0049741999 - 1289400 0.0043979301 0.002287874 0.0044181213 - 1289500 0.0046353374 0.0020704133 0.0043156548 - 1289600 0.0045194832 0.0019933791 0.0041825038 - 1289700 0.0046821702 0.0024486703 0.0047165965 - 1289800 0.0048861478 0.00322119 0.0055879178 - 1289900 0.0066851539 0.0029991519 0.0062372733 - 1290000 0.0055016397 0.002548459 0.0052133157 - 1290100 0.0045345344 0.0021762822 0.0043726973 - 1290200 0.005046144 0.0022061273 0.0046503533 - 1290300 0.004815596 0.0024521573 0.0047847116 - 1290400 0.0041293538 0.0025546914 0.0045548472 - 1290500 0.0047233136 0.0022415116 0.0045293666 - 1290600 0.0045613929 0.0022961169 0.0045055416 - 1290700 0.0057411811 0.0024032826 0.0051841672 - 1290800 0.004858854 0.0024783056 0.0048318131 - 1290900 0.0061352039 0.0028119659 0.0057837053 - 1291000 0.0034925672 0.0032017775 0.0048934898 - 1291100 0.0055603675 0.002889636 0.005582939 - 1291200 0.006003773 0.0036041555 0.006512233 - 1291300 0.0042455057 0.0033123339 0.0053687507 - 1291400 0.0052095932 0.0025423314 0.0050657281 - 1291500 0.005900647 0.0023954565 0.0052535824 - 1291600 0.0048225696 0.0019939535 0.0043298856 - 1291700 0.0055703022 0.0020256229 0.004723738 - 1291800 0.005000291 0.0021047392 0.0045267552 - 1291900 0.0038942105 0.0025379841 0.0044242424 - 1292000 0.0042634486 0.0028009091 0.004866017 - 1292100 0.0049206109 0.0027884001 0.005171821 - 1292200 0.0051542356 0.0025507607 0.0050473436 - 1292300 0.0059494275 0.0027376293 0.0056193832 - 1292400 0.004254004 0.0029220243 0.0049825575 - 1292500 0.0063668871 0.0026389121 0.0057228731 - 1292600 0.0046253879 0.0023340603 0.0045744825 - 1292700 0.0027944644 0.0022530854 0.0036066541 - 1292800 0.004940825 0.0025278745 0.0049210866 - 1292900 0.0046408419 0.0026507808 0.0048986886 - 1293000 0.0058365468 0.0024233075 0.0052503849 - 1293100 0.0055170462 0.0027343692 0.0054066884 - 1293200 0.0061249813 0.0034896714 0.0064564592 - 1293300 0.0060021342 0.0034744703 0.0063817541 - 1293400 0.0067494085 0.0036111321 0.0068803769 - 1293500 0.0048118459 0.0039735676 0.0063043055 - 1293600 0.005277314 0.0037894625 0.0063456614 - 1293700 0.0040811921 0.0031665327 0.0051433602 - 1293800 0.0053372178 0.0030764463 0.0056616612 - 1293900 0.0044746794 0.0034413389 0.0056087618 - 1294000 0.005379032 0.0033656172 0.0059710858 - 1294100 0.0062371457 0.0034749766 0.0064960941 - 1294200 0.0065969088 0.0034673699 0.0066627476 - 1294300 0.005748518 0.0034818957 0.0062663341 - 1294400 0.004776456 0.0032827255 0.0055963213 - 1294500 0.0052245739 0.0031232448 0.0056538978 - 1294600 0.0055192741 0.0032293454 0.0059027438 - 1294700 0.0056277333 0.0037427341 0.0064686674 - 1294800 0.0041575208 0.0032730166 0.0052868157 - 1294900 0.0064073053 0.0027902714 0.0058938099 - 1295000 0.0044645509 0.0029290562 0.005091573 - 1295100 0.0060279306 0.00242134 0.0053411189 - 1295200 0.004316886 0.0021133018 0.0042042935 - 1295300 0.0038075525 0.0020200234 0.0038643066 - 1295400 0.0061587533 0.002303015 0.0052861611 - 1295500 0.0041703776 0.0029753769 0.0049954035 - 1295600 0.0042256827 0.002605182 0.0046519971 - 1295700 0.00511659 0.0026034508 0.0050817991 - 1295800 0.0047528552 0.0030627162 0.0053648804 - 1295900 0.0049079279 0.0028354998 0.0052127773 - 1296000 0.0044802857 0.0026455852 0.0048157236 - 1296100 0.0055264197 0.0023943634 0.0050712229 - 1296200 0.0058229966 0.002232791 0.005053305 - 1296300 0.0044870973 0.0021870901 0.0043605278 - 1296400 0.0043727981 0.002362077 0.004480151 - 1296500 0.0060162428 0.0022883869 0.0052025045 - 1296600 0.0051169221 0.0024197885 0.0048982977 - 1296700 0.0061633637 0.0026637064 0.0056490857 - 1296800 0.0038074607 0.0026839864 0.0045282251 - 1296900 0.004437799 0.0027971168 0.0049466757 - 1297000 0.0052040017 0.0030055743 0.0055262626 - 1297100 0.0057486932 0.0028997721 0.0056842953 - 1297200 0.0064793816 0.0029016399 0.0060400903 - 1297300 0.0048409695 0.0030354571 0.0053803017 - 1297400 0.0051753506 0.0029149012 0.0054217117 - 1297500 0.0045719507 0.0029962842 0.0052108228 - 1297600 0.0042330336 0.0026701866 0.0047205623 - 1297700 0.0059075468 0.0024958682 0.0053573361 - 1297800 0.0058920119 0.0027422346 0.0055961779 - 1297900 0.006884647 0.0027628241 0.006097575 - 1298000 0.0055174813 0.003073784 0.0057463141 - 1298100 0.0066868528 0.0031085375 0.0063474818 - 1298200 0.003830987 0.0032062489 0.0050618832 - 1298300 0.0043861602 0.0027548725 0.0048794188 - 1298400 0.004570615 0.0024642115 0.0046781032 - 1298500 0.0048022362 0.0023428191 0.0046689022 - 1298600 0.0048892631 0.0025882173 0.0049564541 - 1298700 0.0051745235 0.0026441548 0.0051505646 - 1298800 0.0049471341 0.0025284962 0.0049247643 - 1298900 0.003679593 0.0024152399 0.0041975427 - 1299000 0.0047307403 0.0026222504 0.0049137028 - 1299100 0.0037958256 0.0032150672 0.0050536703 - 1299200 0.0036344963 0.0030787989 0.004839258 - 1299300 0.0054537457 0.0024380877 0.0050797458 - 1299400 0.006060622 0.0020960634 0.0050316772 - 1299500 0.0046659051 0.0028779847 0.0051380325 - 1299600 0.0040003475 0.0033352742 0.0052729425 - 1299700 0.004340343 0.0030103902 0.0051127438 - 1299800 0.0069633486 0.0023517461 0.0057246181 - 1299900 0.0044592952 0.0027200292 0.0048800003 - 1300000 0.0038296562 0.0028113159 0.0046663056 - 1300100 0.0060201146 0.0024384309 0.0053544239 - 1300200 0.0065376802 0.0023236078 0.0054902967 - 1300300 0.004719727 0.0023967682 0.004682886 - 1300400 0.0040748627 0.0023205396 0.0042943012 - 1300500 0.0038573324 0.002396932 0.0042653274 - 1300600 0.0055863434 0.0020235282 0.0047294133 - 1300700 0.0060967855 0.0020999905 0.005053121 - 1300800 0.0051006236 0.0020750363 0.0045456509 - 1300900 0.0043702175 0.0025221597 0.0046389838 - 1301000 0.0063017495 0.0024325598 0.0054849697 - 1301100 0.004423975 0.0024009547 0.0045438175 - 1301200 0.0055266716 0.0027406919 0.0054176734 - 1301300 0.0049299754 0.003066513 0.0054544699 - 1301400 0.005242104 0.0031496419 0.005688786 - 1301500 0.0057021425 0.0031480319 0.0059100071 - 1301600 0.0055851721 0.0025869804 0.0052922981 - 1301700 0.0056344151 0.0023206745 0.0050498443 - 1301800 0.0065892392 0.0021104516 0.0053021143 - 1301900 0.0054126842 0.0022865177 0.0049082866 - 1302000 0.0056250192 0.0023445507 0.0050691694 - 1302100 0.0058567594 0.0020047945 0.0048416623 - 1302200 0.0048603921 0.0021826516 0.004536904 - 1302300 0.0048524701 0.0026448889 0.0049953041 - 1302400 0.0046197117 0.0025350023 0.0047726751 - 1302500 0.0059416704 0.0024585463 0.0053365429 - 1302600 0.0041938038 0.0024621638 0.0044935375 - 1302700 0.0046746321 0.0024965625 0.0047608374 - 1302800 0.0046112315 0.0026276196 0.0048611848 - 1302900 0.0055839956 0.0026995854 0.0054043333 - 1303000 0.0044404271 0.0028008981 0.00495173 - 1303100 0.0041615144 0.0030291805 0.005044914 - 1303200 0.0035692272 0.0029663074 0.0046951518 - 1303300 0.0043116154 0.0028252291 0.0049136678 - 1303400 0.0075539651 0.0026299938 0.0062889457 - 1303500 0.0056644886 0.003310817 0.0060545537 - 1303600 0.0074436378 0.0034947017 0.0071002138 - 1303700 0.0051459946 0.0031423149 0.005634906 - 1303800 0.004554309 0.0028653651 0.0050713585 - 1303900 0.0046625471 0.0024539978 0.0047124191 - 1304000 0.0086195105 0.0019904523 0.0061655276 - 1304100 0.0052924219 0.0025605624 0.0051240793 - 1304200 0.0057177877 0.0026454658 0.0054150192 - 1304300 0.0075197471 0.002433864 0.0060762415 - 1304400 0.0047356113 0.0026326027 0.0049264144 - 1304500 0.0059167699 0.0024866439 0.0053525793 - 1304600 0.0031989391 0.0027161534 0.0042656395 - 1304700 0.0059111632 0.0030626962 0.0059259158 - 1304800 0.0061844009 0.0035542282 0.0065497974 - 1304900 0.0051251127 0.003138996 0.0056214725 - 1305000 0.0066526319 0.0022380795 0.0054604481 - 1305100 0.0039837433 0.0021924998 0.0041221254 - 1305200 0.0056528241 0.002435391 0.0051734777 - 1305300 0.0046622491 0.002339628 0.0045979049 - 1305400 0.0062092438 0.0023667011 0.0053743035 - 1305500 0.0054266208 0.0027479987 0.0053765181 - 1305600 0.0063534719 0.002721084 0.005798547 - 1305700 0.0060235185 0.0027950514 0.0057126931 - 1305800 0.004633712 0.0027901674 0.0050346216 - 1305900 0.0047814015 0.0026752888 0.0049912801 - 1306000 0.007456621 0.0016913705 0.0053031713 - 1306100 0.0048302248 0.0013143558 0.003653996 - 1306200 0.005293255 0.0015010486 0.0040649689 - 1306300 0.0059032821 0.0018312082 0.0046906105 - 1306400 0.0070912426 0.00232095 0.0057557706 - 1306500 0.0046952946 0.0032948764 0.0055691597 - 1306600 0.0056029605 0.0030919796 0.0058059136 - 1306700 0.006682492 0.0023697816 0.0056066137 - 1306800 0.0046124668 0.0018709543 0.0041051179 - 1306900 0.0041602675 0.0019885625 0.0040036921 - 1307000 0.0052943388 0.0020131381 0.0045775834 - 1307100 0.0059622923 0.0017661021 0.0046540874 - 1307200 0.0050239974 0.0016888104 0.0041223091 - 1307300 0.0046454497 0.0020899035 0.0043400432 - 1307400 0.0040564403 0.002435565 0.0044004033 - 1307500 0.0061032142 0.0021375068 0.0050937512 - 1307600 0.0061170493 0.0020569854 0.0050199311 - 1307700 0.0046977623 0.0020313531 0.0043068317 - 1307800 0.005081132 0.0021348384 0.0045960118 - 1307900 0.0038160407 0.0020515868 0.0038999816 - 1308000 0.0057975484 0.0017762873 0.0045844748 - 1308100 0.0056038699 0.0023448766 0.0050592511 - 1308200 0.0027211948 0.0023355951 0.0036536738 - 1308300 0.0031335772 0.0019526396 0.003470466 - 1308400 0.0046713061 0.0019360729 0.0041987368 - 1308500 0.0042611148 0.0017894489 0.0038534264 - 1308600 0.0046446003 0.0018539057 0.004103634 - 1308700 0.0044153849 0.0019696363 0.0041083383 - 1308800 0.0047845204 0.0022124789 0.0045299809 - 1308900 0.0040252719 0.0027255954 0.0046753364 - 1309000 0.004801004 0.0023736481 0.0046991344 - 1309100 0.006959958 0.0020287396 0.0053999693 - 1309200 0.004550505 0.0026413017 0.0048454526 - 1309300 0.0048033008 0.0031968762 0.005523475 - 1309400 0.0058189786 0.0035973973 0.0064159651 - 1309500 0.0042502966 0.003291709 0.0053504465 - 1309600 0.0054896109 0.0035236263 0.0061826566 - 1309700 0.0052918622 0.0030799686 0.0056432143 - 1309800 0.0045868128 0.0025666216 0.0047883591 - 1309900 0.0060925411 0.0021452002 0.0050962748 - 1310000 0.0070919688 0.0024413334 0.0058765057 - 1310100 0.0056974646 0.0026906491 0.0054503585 - 1310200 0.0049215875 0.0029137362 0.0052976301 - 1310300 0.0063790799 0.0026703504 0.0057602172 - 1310400 0.00616978 0.0028168275 0.0058053147 - 1310500 0.006857825 0.0028337436 0.0061555026 - 1310600 0.0075962849 0.0025291558 0.0062086063 - 1310700 0.0052724335 0.0026284933 0.0051823283 - 1310800 0.0046006162 0.0027972408 0.0050256643 - 1310900 0.0047445129 0.0025675546 0.0048656781 - 1311000 0.0044299631 0.0022842106 0.004429974 - 1311100 0.0035889954 0.0025668812 0.0043053009 - 1311200 0.0058840888 0.0025185278 0.0053686333 - 1311300 0.0037606718 0.0031535751 0.0049751505 - 1311400 0.0056131621 0.0032141645 0.0059330399 - 1311500 0.0062993608 0.0031596062 0.0062108591 - 1311600 0.0033833763 0.0030387867 0.0046776096 - 1311700 0.0058443372 0.002550865 0.0053817158 - 1311800 0.005498277 0.0024977241 0.005160952 - 1311900 0.0052511813 0.0028211448 0.0053646858 - 1312000 0.0050043128 0.0023100887 0.0047340528 - 1312100 0.0052212053 0.0019058932 0.0044349145 - 1312200 0.0056921982 0.0018439299 0.0046010884 - 1312300 0.0038305369 0.0020287042 0.0038841206 - 1312400 0.0043073746 0.0018391418 0.0039255264 - 1312500 0.0065964024 0.001863998 0.0050591304 - 1312600 0.0046788011 0.0018124273 0.0040787215 - 1312700 0.0048105844 0.0017493588 0.0040794857 - 1312800 0.0068537531 0.0018377602 0.0051575469 - 1312900 0.0029005875 0.0023323374 0.0037373095 - 1313000 0.0054008371 0.0022103283 0.0048263588 - 1313100 0.0044776676 0.002051426 0.0042202962 - 1313200 0.0076773103 0.0016271142 0.0053458114 - 1313300 0.0048130196 0.0019172189 0.0042485253 - 1313400 0.0045021401 0.0021476983 0.0043284224 - 1313500 0.0062965366 0.0015903403 0.0046402252 - 1313600 0.0069658982 0.0017869116 0.0051610186 - 1313700 0.0050262849 0.0024805189 0.0049151256 - 1313800 0.0055742062 0.0028937752 0.0055937813 - 1313900 0.0057535897 0.0034574039 0.0062442989 - 1314000 0.0037628017 0.0034830954 0.0053057025 - 1314100 0.0048461786 0.0031172735 0.0054646412 - 1314200 0.0057819426 0.0029704063 0.0057710347 - 1314300 0.0064140473 0.0032407872 0.0063475914 - 1314400 0.0056980152 0.0035887562 0.0063487323 - 1314500 0.0054516297 0.0031483364 0.0057889696 - 1314600 0.0052912801 0.0030188315 0.0055817953 - 1314700 0.0063342463 0.0024933201 0.0055614706 - 1314800 0.0065404081 0.0024060224 0.0055740326 - 1314900 0.0068318769 0.0023149008 0.0056240912 - 1315000 0.0041929874 0.00272503 0.0047560083 - 1315100 0.0050221764 0.0024650781 0.0048976948 - 1315200 0.0050488053 0.001992144 0.004437659 - 1315300 0.0037998177 0.0018829724 0.003723509 - 1315400 0.0060248305 0.0021299462 0.0050482235 - 1315500 0.0061274232 0.0022738278 0.0052417985 - 1315600 0.0058109339 0.0020893828 0.004904054 - 1315700 0.0052543069 0.0021579749 0.0047030298 - 1315800 0.0057726217 0.0022469975 0.0050431111 - 1315900 0.0072054859 0.0030993114 0.0065894686 - 1316000 0.0043301879 0.0037581146 0.0058555493 - 1316100 0.0054082115 0.0033239738 0.0059435762 - 1316200 0.0045062938 0.0029033682 0.0050861042 - 1316300 0.0049168056 0.0030019247 0.0053835024 - 1316400 0.0051851836 0.0029407412 0.0054523145 - 1316500 0.005285561 0.0025437415 0.0051039351 - 1316600 0.0059203691 0.0023069911 0.0051746699 - 1316700 0.0052673328 0.0021521715 0.0047035358 - 1316800 0.0052258605 0.0017174975 0.0042487737 - 1316900 0.0059577412 0.0016150508 0.0045008317 - 1317000 0.0027082396 0.0017315117 0.0030433153 - 1317100 0.0042515004 0.0014016511 0.0034609716 - 1317200 0.0054153371 0.0016271594 0.0042502133 - 1317300 0.0054249153 0.0018136621 0.0044413554 - 1317400 0.0059212403 0.0023568706 0.0052249714 - 1317500 0.0052377124 0.0026620327 0.0051990496 - 1317600 0.0048178299 0.0027629361 0.0050965725 - 1317700 0.006659327 0.0023071912 0.0055328027 - 1317800 0.0047547638 0.0020389067 0.0043419954 - 1317900 0.0031705047 0.0020734899 0.0036092031 - 1318000 0.0052329294 0.0020842421 0.0046189423 - 1318100 0.0048743014 0.0019927003 0.00435369 - 1318200 0.0057364376 0.0024611329 0.0052397199 - 1318300 0.0054642239 0.0027212341 0.0053679676 - 1318400 0.0054065882 0.0029979774 0.0056167935 - 1318500 0.0058297772 0.0033003627 0.0061241611 - 1318600 0.0062027141 0.002913958 0.0059183977 - 1318700 0.0071287264 0.0028761232 0.0063291 - 1318800 0.0058002414 0.0034346216 0.0062441136 - 1318900 0.0067401316 0.0033586488 0.0066234001 - 1319000 0.0042134386 0.0025922133 0.0046330976 - 1319100 0.0048967079 0.0018087897 0.0041806325 - 1319200 0.0037246548 0.0020956462 0.0038997758 - 1319300 0.0045792605 0.002351358 0.0045694373 - 1319400 0.0040727466 0.0020148305 0.0039875671 - 1319500 0.0051870074 0.0020849562 0.0045974129 - 1319600 0.0046243118 0.0025719486 0.0048118496 - 1319700 0.0067238334 0.0026222059 0.0058790627 - 1319800 0.0049413188 0.0022117022 0.0046051535 - 1319900 0.0051431357 0.0019248779 0.0044160842 - 1320000 0.0040072146 0.0019473083 0.0038883029 - 1320100 0.0053366539 0.0016771373 0.0042620791 - 1320200 0.0037413567 0.0017120596 0.0035242792 - 1320300 0.0050318459 0.0017610079 0.0041983082 - 1320400 0.0064347074 0.0017029411 0.0048197525 - 1320500 0.0037608609 0.0019024995 0.0037241665 - 1320600 0.0039884612 0.0019570078 0.0038889187 - 1320700 0.0043248644 0.0021416397 0.0042364959 - 1320800 0.0048114321 0.0017844097 0.0041149471 - 1320900 0.0047395049 0.0017854068 0.0040811045 - 1321000 0.004818463 0.0017061329 0.0040400759 - 1321100 0.0046053516 0.0019672793 0.0041979965 - 1321200 0.0054628543 0.0023179918 0.0049640619 - 1321300 0.0055804938 0.0030855144 0.0057885661 - 1321400 0.0051888889 0.0025923166 0.0051056847 - 1321500 0.0058107464 0.0022320493 0.0050466296 - 1321600 0.005442017 0.0020282938 0.0046642708 - 1321700 0.005097286 0.0019144713 0.0043834692 - 1321800 0.0058237191 0.0021584466 0.0049793105 - 1321900 0.0032567102 0.0026366459 0.0042141149 - 1322000 0.0056461974 0.0020955612 0.0048304381 - 1322100 0.0047776123 0.0020441572 0.0043583131 - 1322200 0.0052094126 0.0021450647 0.0046683739 - 1322300 0.0049936822 0.0025233456 0.0049421604 - 1322400 0.0057426835 0.0027080528 0.0054896651 - 1322500 0.006591027 0.0029686884 0.0061612172 - 1322600 0.0053922485 0.0028461152 0.0054579856 - 1322700 0.004014444 0.0027285587 0.0046730551 - 1322800 0.0037287623 0.0022288103 0.0040349296 - 1322900 0.0058368854 0.0020861196 0.0049133609 - 1323000 0.005631828 0.0023106332 0.0050385499 - 1323100 0.0074959955 0.0024784357 0.0061093085 - 1323200 0.004761421 0.0031405469 0.0054468602 - 1323300 0.0046685592 0.002541018 0.0048023513 - 1323400 0.0045125752 0.002170558 0.0043563366 - 1323500 0.0065552779 0.0022174467 0.0053926595 - 1323600 0.0047468403 0.0021286126 0.0044278634 - 1323700 0.0041211634 0.0025648095 0.0045609981 - 1323800 0.004203325 0.0028280897 0.0048640752 - 1323900 0.0047060877 0.0025866559 0.0048661672 - 1324000 0.0059285379 0.002253259 0.0051248945 - 1324100 0.005210881 0.0022260071 0.0047500276 - 1324200 0.0052515764 0.0021981356 0.0047418679 - 1324300 0.0052896132 0.0022916874 0.0048538438 - 1324400 0.0064688124 0.0027878465 0.0059211775 - 1324500 0.0026505475 0.0031246163 0.0044084752 - 1324600 0.0045054783 0.002260094 0.004442435 - 1324700 0.0044549722 0.0019247253 0.0040826025 - 1324800 0.0044392253 0.0022468111 0.0043970608 - 1324900 0.0048567716 0.0020120918 0.0043645905 - 1325000 0.0039150215 0.001908425 0.0038047636 - 1325100 0.0051480328 0.0018407952 0.0043343735 - 1325200 0.0052965227 0.0023220547 0.0048875579 - 1325300 0.004839946 0.0025121856 0.0048565345 - 1325400 0.0050598996 0.0026038404 0.0050547292 - 1325500 0.0043991967 0.0026205252 0.0047513861 - 1325600 0.0052121009 0.002583058 0.0051076694 - 1325700 0.0043334556 0.00250869 0.0046077076 - 1325800 0.0054377906 0.0025171968 0.0051511267 - 1325900 0.0050828747 0.0024079516 0.004869969 - 1326000 0.0060158419 0.0024589928 0.0053729163 - 1326100 0.005108652 0.0025896645 0.0050641679 - 1326200 0.0048385569 0.0026779229 0.0050215989 - 1326300 0.0053661626 0.002694689 0.005293924 - 1326400 0.0056024574 0.0022262695 0.0049399598 - 1326500 0.0063696665 0.0017841321 0.0048694393 - 1326600 0.0049504127 0.002247982 0.0046458381 - 1326700 0.0053396156 0.0025312235 0.0051175998 - 1326800 0.0064460538 0.0025551822 0.0056774895 - 1326900 0.005575178 0.0024695788 0.0051700556 - 1327000 0.005792611 0.0025224 0.005328196 - 1327100 0.0050231144 0.002028517 0.004461588 - 1327200 0.0038390724 0.0019162142 0.0037757649 - 1327300 0.0066125092 0.0023244163 0.0055273504 - 1327400 0.0043979566 0.0023801189 0.0045103791 - 1327500 0.0049258376 0.0022380758 0.0046240284 - 1327600 0.0045764619 0.0023607248 0.0045774486 - 1327700 0.0046312579 0.0019454542 0.0041887198 - 1327800 0.004749834 0.001850953 0.0041516538 - 1327900 0.0039398369 0.0018377931 0.0037461516 - 1328000 0.005698629 0.0023089467 0.0050692201 - 1328100 0.0052348136 0.0030423454 0.0055779583 - 1328200 0.0038733702 0.0031075606 0.0049837244 - 1328300 0.0055541257 0.0020194938 0.0047097735 - 1328400 0.0077009393 0.0015945698 0.0053247123 - 1328500 0.0039341051 0.0018776257 0.0037832078 - 1328600 0.0055229825 0.0018082549 0.0044834496 - 1328700 0.0059255924 0.0020274142 0.004897623 - 1328800 0.0063194864 0.002351228 0.0054122292 - 1328900 0.005926943 0.0028326879 0.005703551 - 1329000 0.0047557474 0.0028179537 0.0051215189 - 1329100 0.0044025406 0.002690386 0.0048228666 - 1329200 0.0060342216 0.0022566001 0.0051794262 - 1329300 0.0044065282 0.0026216747 0.0047560869 - 1329400 0.0047402797 0.0029482665 0.0052443395 - 1329500 0.004955904 0.0028800418 0.0052805578 - 1329600 0.0044552897 0.0024246571 0.004582688 - 1329700 0.0049262623 0.0022184158 0.004604574 - 1329800 0.004086915 0.0026203236 0.0045999231 - 1329900 0.0046866147 0.0031113284 0.0053814074 - 1330000 0.0040654001 0.0036182808 0.0055874589 - 1330100 0.004890503 0.00357724 0.0059460774 - 1330200 0.0051097294 0.0034518272 0.0059268524 - 1330300 0.0051791624 0.003214085 0.0057227419 - 1330400 0.0052921084 0.002472314 0.005035679 - 1330500 0.0051216933 0.0025140706 0.0049948908 - 1330600 0.0060157468 0.0024999178 0.0054137951 - 1330700 0.0053619475 0.0026380866 0.0052352799 - 1330800 0.0043089933 0.0027779795 0.0048651482 - 1330900 0.0042864111 0.0025061353 0.0045823657 - 1331000 0.0070792342 0.0025596348 0.0059886389 - 1331100 0.0050996357 0.0030582167 0.0055283527 - 1331200 0.0052770725 0.0027794376 0.0053355196 - 1331300 0.0024921346 0.0027633882 0.0039705159 - 1331400 0.0064004071 0.0024991778 0.0055993751 - 1331500 0.0048630502 0.0026848612 0.0050404011 - 1331600 0.0036407985 0.0027657057 0.0045292174 - 1331700 0.0056092453 0.0023471102 0.0050640884 - 1331800 0.0048641732 0.0024050969 0.0047611808 - 1331900 0.0062211576 0.0022662797 0.0052796529 - 1332000 0.0041467738 0.0025093853 0.0045179789 - 1332100 0.0065359142 0.0025199892 0.0056858226 - 1332200 0.0067606906 0.0024374032 0.0057121127 - 1332300 0.007179957 0.0028086143 0.0062864059 - 1332400 0.0049355459 0.0030413103 0.0054319653 - 1332500 0.0058545048 0.0028953373 0.005731113 - 1332600 0.0059424933 0.0032645174 0.0061429126 - 1332700 0.0079205503 0.0031888658 0.0070253823 - 1332800 0.0054700599 0.0030109877 0.005660548 - 1332900 0.0056226942 0.0027441113 0.0054676038 - 1333000 0.0053878655 0.0024861014 0.0050958488 - 1333100 0.0064695694 0.0025872037 0.0057209013 - 1333200 0.0058545077 0.002664498 0.0055002751 - 1333300 0.0051804067 0.0024299727 0.0049392322 - 1333400 0.0048608866 0.0025692041 0.004923696 - 1333500 0.0055169407 0.002635253 0.0053075212 - 1333600 0.0053276787 0.002886663 0.0054672573 - 1333700 0.0050513054 0.003062686 0.0055094121 - 1333800 0.0057491541 0.0030830375 0.005867784 - 1333900 0.004953189 0.0032025191 0.0056017201 - 1334000 0.0075212857 0.0031199996 0.0067631223 - 1334100 0.0052017789 0.0034677585 0.0059873701 - 1334200 0.0066068493 0.0029946611 0.0061948537 - 1334300 0.0064183761 0.0028680064 0.0059769074 - 1334400 0.0057479591 0.0034995943 0.006283762 - 1334500 0.005645431 0.0031033473 0.0058378529 - 1334600 0.0060518268 0.0028373724 0.005768726 - 1334700 0.0055827212 0.0032525937 0.0059567243 - 1334800 0.0064489425 0.0028848012 0.0060085077 - 1334900 0.0069259693 0.0024674747 0.0058222411 - 1335000 0.0047497339 0.0027331228 0.0050337752 - 1335100 0.0055324993 0.0027694255 0.0054492298 - 1335200 0.0066443053 0.0028855109 0.0061038462 - 1335300 0.0063232756 0.0028422946 0.0059051312 - 1335400 0.0047341242 0.0030415409 0.0053346323 - 1335500 0.0046565289 0.0028753787 0.0051308849 - 1335600 0.0057063802 0.0027832706 0.0055472985 - 1335700 0.0057183575 0.0027520447 0.0055218741 - 1335800 0.0040579102 0.0027696629 0.0047352131 - 1335900 0.0046676478 0.0030169607 0.0052778526 - 1336000 0.0054602684 0.0031068954 0.0057517129 - 1336100 0.0047257578 0.0026696558 0.0049586947 - 1336200 0.0056836179 0.0021847634 0.0049377658 - 1336300 0.0044872473 0.0022876398 0.0044611502 - 1336400 0.0045956998 0.0022505909 0.004476633 - 1336500 0.004343332 0.0023114797 0.0044152812 - 1336600 0.0040223395 0.0027323792 0.0046806999 - 1336700 0.0050175562 0.0026538611 0.0050842399 - 1336800 0.0071359505 0.0023115884 0.0057680644 - 1336900 0.0054697847 0.0023857753 0.0050352022 - 1337000 0.0052059343 0.0023244825 0.0048461069 - 1337100 0.0046151663 0.0027228164 0.0049582875 - 1337200 0.0051296392 0.0025105029 0.0049951719 - 1337300 0.005493466 0.0023534632 0.0050143608 - 1337400 0.0043844226 0.0024919035 0.0046156082 - 1337500 0.0050151634 0.0025529682 0.004982188 - 1337600 0.0050214337 0.0024895878 0.0049218448 - 1337700 0.005946964 0.0026839035 0.0055644642 - 1337800 0.0048330031 0.0023337476 0.0046747335 - 1337900 0.0056610087 0.0021882782 0.0049303293 - 1338000 0.004828186 0.001949356 0.0042880086 - 1338100 0.0057962156 0.0019577912 0.0047653331 - 1338200 0.0071955783 0.0027163337 0.0062016919 - 1338300 0.0050787817 0.0032624701 0.005722505 - 1338400 0.0059102978 0.0028584672 0.0057212677 - 1338500 0.005357822 0.002423348 0.0050185431 - 1338600 0.005368441 0.0024682839 0.0050686225 - 1338700 0.0060928429 0.0021858409 0.0051370617 - 1338800 0.0059222715 0.002316441 0.0051850413 - 1338900 0.0030355888 0.0028862474 0.0043566107 - 1339000 0.0044750749 0.0032254019 0.0053930163 - 1339100 0.0039922876 0.0034044822 0.0053382465 - 1339200 0.0046037156 0.0029628566 0.0051927813 - 1339300 0.0063309024 0.0025823213 0.0056488522 - 1339400 0.004707632 0.0025048604 0.0047851196 - 1339500 0.0039684438 0.0026220879 0.0045443028 - 1339600 0.0062145458 0.0025471003 0.0055572709 - 1339700 0.0044953083 0.002795338 0.004972753 - 1339800 0.0049553282 0.0031230237 0.0055232608 - 1339900 0.0050050968 0.0027865074 0.0052108512 - 1340000 0.0060725343 0.002489127 0.0054305108 - 1340100 0.0057177086 0.0027509032 0.0055204183 - 1340200 0.0055090148 0.0026450089 0.005313438 - 1340300 0.0059892118 0.0027873977 0.0056884222 - 1340400 0.0054785295 0.0033318122 0.005985475 - 1340500 0.0063070233 0.0028040279 0.0058589923 - 1340600 0.0062522964 0.0019767882 0.0050052443 - 1340700 0.0055425587 0.0020186921 0.004703369 - 1340800 0.004203107 0.0024559656 0.0044918455 - 1340900 0.0058441873 0.0024261645 0.0052569428 - 1341000 0.0054353491 0.0024233247 0.0050560719 - 1341100 0.0039016934 0.0028237193 0.0047136021 - 1341200 0.0046369946 0.002670428 0.0049164723 - 1341300 0.0052461022 0.002601759 0.0051428397 - 1341400 0.003820381 0.0025381772 0.0043886743 - 1341500 0.0052639846 0.0026078263 0.0051575688 - 1341600 0.0052159257 0.0027023633 0.0052288273 - 1341700 0.0057879786 0.0029707248 0.005774277 - 1341800 0.0035912433 0.0032974045 0.0050369129 - 1341900 0.0055773024 0.0034433537 0.0061448595 - 1342000 0.0042126249 0.003103768 0.0051442582 - 1342100 0.0045756004 0.0025792256 0.004795532 - 1342200 0.0046505721 0.0021279333 0.0043805542 - 1342300 0.0042507532 0.0021191744 0.0041781329 - 1342400 0.0035172017 0.0023162806 0.0040199252 - 1342500 0.0054751646 0.0020337777 0.0046858106 - 1342600 0.0061373962 0.0021206109 0.0050934122 - 1342700 0.0056135338 0.0027345275 0.0054535829 - 1342800 0.0044202432 0.0030683963 0.0052094517 - 1342900 0.0061070019 0.0027938605 0.0057519396 - 1343000 0.0038967519 0.0025158125 0.0044033017 - 1343100 0.0036467716 0.0022138358 0.0039802408 - 1343200 0.0040012868 0.0021319806 0.0040701039 - 1343300 0.0047435129 0.0023037236 0.0046013626 - 1343400 0.0066623237 0.002612731 0.0058397941 - 1343500 0.005762419 0.0027233081 0.0055144798 - 1343600 0.0040528207 0.0029435992 0.0049066843 - 1343700 0.0050141261 0.0028823047 0.005311022 - 1343800 0.004302369 0.0027238141 0.0048077741 - 1343900 0.0040648698 0.0019444421 0.0039133634 - 1344000 0.0062825029 0.0017156357 0.0047587231 - 1344100 0.0034203785 0.0025170079 0.0041737537 - 1344200 0.004594304 0.0029623151 0.0051876811 - 1344300 0.0052824884 0.0025441422 0.0051028476 - 1344400 0.0059163231 0.0024040155 0.0052697345 - 1344500 0.0055281176 0.0022810479 0.0049587299 - 1344600 0.0052198572 0.0025390414 0.0050674098 - 1344700 0.0054303505 0.0028194962 0.0054498223 - 1344800 0.0064331566 0.002566021 0.0056820812 - 1344900 0.005086968 0.0030821238 0.005546124 - 1345000 0.0058588845 0.0025819266 0.0054198238 - 1345100 0.0066036491 0.0023954182 0.0055940608 - 1345200 0.0049715264 0.0025480421 0.0049561252 - 1345300 0.0052151503 0.0020204305 0.0045465189 - 1345400 0.0047384509 0.0020915321 0.0043867192 - 1345500 0.0037608655 0.0024855435 0.0043072127 - 1345600 0.0054009616 0.0023869493 0.0050030401 - 1345700 0.0051532436 0.0023226272 0.0048187296 - 1345800 0.0067548301 0.0024843739 0.0057562447 - 1345900 0.0059468508 0.002505412 0.0053859179 - 1346000 0.0057084776 0.0028895471 0.0056545909 - 1346100 0.0049169792 0.0031177891 0.0054994509 - 1346200 0.0051719767 0.0029768303 0.0054820066 - 1346300 0.0067626045 0.0026226331 0.0058982696 - 1346400 0.0061938138 0.0022071818 0.0052073104 - 1346500 0.0043198512 0.0018583285 0.0039507564 - 1346600 0.0042930692 0.0021971975 0.0042766529 - 1346700 0.005941673 0.0026347565 0.0055127544 - 1346800 0.0062942479 0.0025972502 0.0056460265 - 1346900 0.0054406417 0.0030377957 0.0056731066 - 1347000 0.00473916 0.0028704452 0.0051659759 - 1347100 0.0048892198 0.0027417479 0.0051099637 - 1347200 0.0046349656 0.0028122905 0.005057352 - 1347300 0.0054065847 0.0025843853 0.0052031998 - 1347400 0.0048138068 0.0025627826 0.0048944703 - 1347500 0.0042559616 0.002518535 0.0045800164 - 1347600 0.0056121957 0.0020170945 0.0047355017 - 1347700 0.0047983542 0.0018921731 0.0042163759 - 1347800 0.0058324541 0.0021274267 0.0049525216 - 1347900 0.0058449287 0.0024929027 0.00532404 - 1348000 0.0069319448 0.0025922189 0.0059498796 - 1348100 0.0085146926 0.0029122681 0.0070365723 - 1348200 0.0049597956 0.0040961873 0.0064985883 - 1348300 0.0054691838 0.0046358932 0.0072850291 - 1348400 0.0063458972 0.0040713712 0.0071451651 - 1348500 0.0060540321 0.0031556825 0.0060881043 - 1348600 0.0064569969 0.0031562988 0.0062839067 - 1348700 0.0059287675 0.0033549645 0.0062267113 - 1348800 0.0053492573 0.002810193 0.0054012395 - 1348900 0.0058673638 0.0028741046 0.0057161089 - 1349000 0.0044919468 0.0029234044 0.0050991912 - 1349100 0.0064593562 0.0026685232 0.0057972739 - 1349200 0.0056065482 0.002425348 0.0051410198 - 1349300 0.0050298767 0.002658849 0.0050951955 - 1349400 0.004063572 0.0028301826 0.0047984752 - 1349500 0.0052567472 0.0025813215 0.0051275584 - 1349600 0.004302198 0.0025724225 0.0046562997 - 1349700 0.0042333182 0.0022195691 0.0042700826 - 1349800 0.0041577814 0.0025716983 0.0045856237 - 1349900 0.0050808381 0.0026537707 0.0051148016 - 1350000 0.0055004512 0.0028487224 0.0055130034 - 1350100 0.0046024133 0.0030881938 0.0053174877 - 1350200 0.006500949 0.0032338259 0.0063827231 - 1350300 0.0057963475 0.0032112697 0.0060188755 - 1350400 0.005206231 0.0034883551 0.0060101232 - 1350500 0.0051491304 0.0031372888 0.0056313989 - 1350600 0.003245251 0.0031502395 0.0047221579 - 1350700 0.0038762679 0.0026880711 0.0045656383 - 1350800 0.0048149501 0.0026705819 0.0050028234 - 1350900 0.0037687107 0.0024680973 0.0042935665 - 1351000 0.0054188793 0.0022462469 0.0048710166 - 1351100 0.0045548355 0.0024547092 0.0046609577 - 1351200 0.0045619231 0.0027949448 0.0050046263 - 1351300 0.004268475 0.0033785019 0.0054460445 - 1351400 0.0058519171 0.0027892332 0.0056237555 - 1351500 0.0043928844 0.002806925 0.0049347284 - 1351600 0.0054783765 0.0031406067 0.0057941953 - 1351700 0.0059201418 0.0029828067 0.0058503754 - 1351800 0.0052181403 0.0027695262 0.0052970629 - 1351900 0.0064030255 0.0025447926 0.005646258 - 1352000 0.0036232797 0.0027476266 0.0045026527 - 1352100 0.0035783924 0.0029204238 0.0046537076 - 1352200 0.0048202235 0.0031386566 0.0054734524 - 1352300 0.0056540311 0.0030615851 0.0058002565 - 1352400 0.0054242731 0.0025120673 0.0051394495 - 1352500 0.0044640134 0.0024065305 0.004568787 - 1352600 0.0051711594 0.0023284044 0.0048331848 - 1352700 0.0041618513 0.0024553396 0.0044712364 - 1352800 0.0058610425 0.0022204371 0.0050593795 - 1352900 0.0047416633 0.0019982752 0.0042950184 - 1353000 0.0047039663 0.002175734 0.0044542177 - 1353100 0.0060814531 0.002179217 0.0051249209 - 1353200 0.0056035372 0.0023906938 0.0051049071 - 1353300 0.0055858175 0.0025442868 0.0052499171 - 1353400 0.0054720737 0.0021577309 0.0048082666 - 1353500 0.0036804807 0.0019666826 0.0037494154 - 1353600 0.0044853953 0.0016990156 0.0038716289 - 1353700 0.0037357607 0.001917073 0.0037265821 - 1353800 0.0038589449 0.0025510147 0.0044201911 - 1353900 0.0047045557 0.0032191703 0.0054979395 - 1354000 0.0036138644 0.003099647 0.0048501126 - 1354100 0.0058925677 0.0034009611 0.0062551736 - 1354200 0.0054869521 0.0031106737 0.0057684161 - 1354300 0.0041949782 0.0026826122 0.0047145548 - 1354400 0.0053275805 0.002880469 0.0054610158 - 1354500 0.0059880463 0.0024160364 0.0053164963 - 1354600 0.0050710523 0.0019712689 0.0044275598 - 1354700 0.0042329579 0.0020696871 0.004120026 - 1354800 0.0039366533 0.0021220929 0.0040289094 - 1354900 0.0057084466 0.0017811669 0.0045461958 - 1355000 0.0052864405 0.0018062435 0.0043668631 - 1355100 0.0039166873 0.0019901138 0.0038872592 - 1355200 0.0053211406 0.0020403972 0.0046178247 - 1355300 0.0042864208 0.0021292702 0.0042055052 - 1355400 0.0042476693 0.0025937939 0.0046512588 - 1355500 0.0067592026 0.0026632413 0.0059372301 - 1355600 0.0049658059 0.0028230599 0.0052283721 - 1355700 0.0061500647 0.0025272872 0.0055062248 - 1355800 0.0046247666 0.0024033583 0.0046434797 - 1355900 0.005434074 0.0019197455 0.0045518752 - 1356000 0.0046307429 0.0017468709 0.0039898869 - 1356100 0.0051161917 0.0023400029 0.0048181582 - 1356200 0.004735664 0.0025238473 0.0048176846 - 1356300 0.0050908777 0.0029303291 0.005396223 - 1356400 0.0046612974 0.0030952604 0.0053530763 - 1356500 0.0046247479 0.0028427599 0.0050828722 - 1356600 0.006215008 0.0032329556 0.0062433501 - 1356700 0.0056228001 0.0035730287 0.0062965724 - 1356800 0.0043768388 0.003476292 0.0055963233 - 1356900 0.0049159284 0.0029816134 0.0053627663 - 1357000 0.0050511445 0.002881153 0.0053278011 - 1357100 0.004499096 0.0027689514 0.0049482011 - 1357200 0.0048679127 0.0027100694 0.0050679645 - 1357300 0.0070780818 0.0029473796 0.0063758255 - 1357400 0.0049875412 0.0028466584 0.0052624987 - 1357500 0.0052353142 0.0025437583 0.0050796137 - 1357600 0.006263088 0.002106929 0.0051406122 - 1357700 0.0063854761 0.0019630221 0.0050559871 - 1357800 0.0061471645 0.0024307922 0.005408325 - 1357900 0.0054708707 0.0025268774 0.0051768304 - 1358000 0.0051831173 0.0025627029 0.0050732754 - 1358100 0.0054118122 0.0023076687 0.0049290152 - 1358200 0.003917521 0.0023449971 0.0042425463 - 1358300 0.0039895988 0.0024311235 0.0043635854 - 1358400 0.0042220238 0.0023980522 0.004443095 - 1358500 0.0048114151 0.0024682622 0.0047987914 - 1358600 0.006079977 0.0025013913 0.0054463801 - 1358700 0.0047708041 0.0025361267 0.004846985 - 1358800 0.0042808813 0.0029690915 0.0050426434 - 1358900 0.0048806249 0.002871493 0.0052355457 - 1359000 0.0034419372 0.0028216681 0.0044888564 - 1359100 0.0050356609 0.0027743121 0.0052134604 - 1359200 0.0041109754 0.0025866239 0.0045778776 - 1359300 0.0062250068 0.0023004068 0.0053156444 - 1359400 0.0044697527 0.0022874234 0.0044524599 - 1359500 0.0045273805 0.0025195553 0.0047125052 - 1359600 0.0049832086 0.0026248059 0.0050385475 - 1359700 0.0065888436 0.0029961584 0.0061876295 - 1359800 0.0061949196 0.0027798554 0.0057805196 - 1359900 0.0054490025 0.003040614 0.0056799746 - 1360000 0.0051436414 0.003034625 0.0055260762 - 1360100 0.0058959129 0.0030329482 0.005888781 - 1360200 0.003755807 0.0030324996 0.0048517187 - 1360300 0.0050554567 0.0027416869 0.0051904238 - 1360400 0.0054656887 0.0027305349 0.0053779779 - 1360500 0.0061544239 0.0025929524 0.0055740014 - 1360600 0.0043975007 0.002753423 0.0048834624 - 1360700 0.0046076948 0.0029400305 0.0051718827 - 1360800 0.0058549922 0.0031682868 0.0060042987 - 1360900 0.0063120918 0.0031630454 0.0062204649 - 1361000 0.0041394299 0.0029177574 0.0049227937 - 1361100 0.0049771717 0.0023099236 0.0047207411 - 1361200 0.0048001715 0.0019696625 0.0042947456 - 1361300 0.005633868 0.0026181623 0.0053470672 - 1361400 0.0058700094 0.0031273078 0.0059705936 - 1361500 0.0057154065 0.0030175801 0.0057859801 - 1361600 0.0055716565 0.0025644445 0.0052632156 - 1361700 0.0045820065 0.0023422844 0.0045616938 - 1361800 0.0058893624 0.0026253089 0.0054779689 - 1361900 0.0052352042 0.0025820178 0.0051178199 - 1362000 0.00535648 0.0022529551 0.0048475001 - 1362100 0.0054611373 0.0021606231 0.0048058615 - 1362200 0.0051765571 0.0027224202 0.005229815 - 1362300 0.0052124036 0.0028813758 0.0054061338 - 1362400 0.0066742305 0.0027390738 0.0059719042 - 1362500 0.0041492709 0.0027843057 0.0047941088 - 1362600 0.0039229779 0.0029373315 0.0048375239 - 1362700 0.0065180699 0.0027995264 0.0059567165 - 1362800 0.0055971499 0.002448642 0.0051597615 - 1362900 0.0053430804 0.0026932171 0.0052812716 - 1363000 0.0040794388 0.0027994011 0.0047753793 - 1363100 0.0053713556 0.0026742253 0.0052759756 - 1363200 0.0066494568 0.0027621627 0.0059829934 - 1363300 0.0040938115 0.0029803535 0.0049632935 - 1363400 0.0043685008 0.0029811075 0.0050971 - 1363500 0.0065712395 0.0030804851 0.0062634292 - 1363600 0.0058222989 0.0029560679 0.0057762439 - 1363700 0.0049408826 0.0027258453 0.0051190853 - 1363800 0.00538456 0.0026194879 0.0052276342 - 1363900 0.005336458 0.0028322565 0.0054171033 - 1364000 0.0046217701 0.0027996862 0.0050383561 - 1364100 0.0055335672 0.0026258715 0.0053061931 - 1364200 0.0051948079 0.0026322935 0.0051485286 - 1364300 0.0047401247 0.0026237186 0.0049197164 - 1364400 0.00590418 0.0026039228 0.00546376 - 1364500 0.0060922464 0.0024697735 0.0054207054 - 1364600 0.005326947 0.0023452554 0.0049254953 - 1364700 0.0029242057 0.0023019521 0.0037183642 - 1364800 0.0047951803 0.0020983044 0.0044209699 - 1364900 0.0042085574 0.0019951793 0.0040336993 - 1365000 0.0039467274 0.0019753817 0.0038870778 - 1365100 0.0047110666 0.0021385113 0.0044204342 - 1365200 0.0045190353 0.002218225 0.0044071327 - 1365300 0.0048530447 0.0020277145 0.004378408 - 1365400 0.0039376314 0.0019180144 0.0038253046 - 1365500 0.0030669611 0.0024606562 0.0039462155 - 1365600 0.0046539891 0.0025744452 0.0048287212 - 1365700 0.0050144205 0.002722342 0.0051512019 - 1365800 0.0053347697 0.0029497731 0.0055338021 - 1365900 0.0057187752 0.0033939982 0.00616403 - 1366000 0.0059497245 0.0028647186 0.0057466164 - 1366100 0.0051743816 0.0023292003 0.0048355414 - 1366200 0.0038743472 0.002838269 0.0047149059 - 1366300 0.0057422494 0.0024073443 0.0051887464 - 1366400 0.0045363151 0.0018981073 0.0040953849 - 1366500 0.0044346556 0.0019122919 0.0040603282 - 1366600 0.0049968574 0.0022090527 0.0046294055 - 1366700 0.0049974427 0.0022878477 0.004708484 - 1366800 0.0047987409 0.0022536962 0.0045780864 - 1366900 0.0056571679 0.0022332546 0.0049734453 - 1367000 0.004813609 0.0023159375 0.0046475294 - 1367100 0.0045268032 0.002507884 0.0047005543 - 1367200 0.0046869487 0.0026352366 0.0049054774 - 1367300 0.0060009189 0.0029588109 0.005865506 - 1367400 0.0037493738 0.0033762508 0.0051923538 - 1367500 0.0052761747 0.003281422 0.0058370691 - 1367600 0.0049055816 0.0030134658 0.0053896069 - 1367700 0.0057906975 0.0027439794 0.0055488485 - 1367800 0.0069104413 0.0022292695 0.0055765145 - 1367900 0.0063612306 0.0024244227 0.0055056438 - 1368000 0.0043658731 0.0024118666 0.0045265864 - 1368100 0.0072791775 0.0022974128 0.0058232644 - 1368200 0.0041908572 0.002317056 0.0043470024 - 1368300 0.00412716 0.0020481947 0.0040472879 - 1368400 0.0045072189 0.0018808685 0.0040640526 - 1368500 0.0049205156 0.0022729942 0.004656369 - 1368600 0.0064693109 0.0027221516 0.005855724 - 1368700 0.0062935419 0.0031170673 0.0061655016 - 1368800 0.0058339329 0.0031220135 0.0059478248 - 1368900 0.0062942579 0.0026180729 0.0056668541 - 1369000 0.0055486392 0.0025116192 0.0051992413 - 1369100 0.0058866258 0.0027319249 0.0055832593 - 1369200 0.0059528058 0.0025611777 0.005444568 - 1369300 0.0050737254 0.0028624168 0.0053200026 - 1369400 0.0048677797 0.0023932451 0.0047510759 - 1369500 0.0048389258 0.0022404084 0.0045842631 - 1369600 0.0051830138 0.002162883 0.0046734053 - 1369700 0.0070505919 0.0023977616 0.005812892 - 1369800 0.0061463209 0.0024345094 0.0054116336 - 1369900 0.0039799177 0.0025226641 0.0044504367 - 1370000 0.0039353668 0.002370141 0.0042763343 - 1370100 0.0054050674 0.0017940268 0.0044121063 - 1370200 0.0058469952 0.0018744267 0.004706565 - 1370300 0.0057263803 0.0017279136 0.004501629 - 1370400 0.0038617263 0.0016740925 0.0035446162 - 1370500 0.004625051 0.0019493658 0.0041896249 - 1370600 0.0066885713 0.0022880522 0.0055278289 - 1370700 0.0061286047 0.0024799712 0.0054485141 - 1370800 0.0044150722 0.0022565582 0.0043951088 - 1370900 0.004293598 0.0023248681 0.0044045797 - 1371000 0.0053076591 0.0018587271 0.0044296245 - 1371100 0.0041441972 0.0020248754 0.0040322209 - 1371200 0.0045236599 0.002190417 0.0043815648 - 1371300 0.0044226598 0.0018311919 0.0039734177 - 1371400 0.0045584247 0.0018516032 0.0040595902 - 1371500 0.0056333867 0.0018929048 0.0046215765 - 1371600 0.0036725302 0.0021316879 0.0039105697 - 1371700 0.0044208894 0.0021971199 0.0043384883 - 1371800 0.0048357572 0.002130924 0.0044732439 - 1371900 0.0041106848 0.0021726409 0.0041637539 - 1372000 0.0055413978 0.0025574785 0.0052415931 - 1372100 0.0039063966 0.0028759261 0.0047680869 - 1372200 0.0055168631 0.0024869336 0.0051591642 - 1372300 0.0051155846 0.0026580564 0.0051359176 - 1372400 0.0052627113 0.0025738307 0.0051229564 - 1372500 0.007126888 0.0024828964 0.0059349828 - 1372600 0.0054603903 0.0027914426 0.0054363192 - 1372700 0.0062409204 0.0028274246 0.0058503704 - 1372800 0.0050738977 0.0028085322 0.0052662014 - 1372900 0.0055962146 0.0025643645 0.0052750309 - 1373000 0.0031905655 0.0025605965 0.0041060267 - 1373100 0.0054562366 0.0022826202 0.0049254848 - 1373200 0.0043526961 0.001899089 0.0040074261 - 1373300 0.0053944678 0.0018068009 0.0044197462 - 1373400 0.0064690351 0.0021681425 0.0053015813 - 1373500 0.0042162903 0.0024970963 0.0045393619 - 1373600 0.0048110271 0.0028586544 0.0051889957 - 1373700 0.005213855 0.0028899424 0.0054154034 - 1373800 0.0046653269 0.0030690699 0.0053288376 - 1373900 0.0044778933 0.0026719358 0.0048409154 - 1374000 0.0048993095 0.0023940511 0.0047671542 - 1374100 0.0046707744 0.0021940172 0.0044564236 - 1374200 0.0060907522 0.0020064602 0.0049566683 - 1374300 0.0046118768 0.0019759873 0.0042098651 - 1374400 0.003656688 0.0022542325 0.0040254407 - 1374500 0.0054364933 0.0020901911 0.0047234925 - 1374600 0.0044537331 0.0018702351 0.0040275121 - 1374700 0.0052974158 0.0019365131 0.0045024489 - 1374800 0.0039011149 0.0018064856 0.0036960881 - 1374900 0.005664869 0.0015264967 0.0042704177 - 1375000 0.0045063355 0.0016820948 0.0038648511 - 1375100 0.0046614776 0.0023163881 0.0045742913 - 1375200 0.0060504456 0.0026673506 0.0055980351 - 1375300 0.0044105975 0.002136047 0.0042724302 - 1375400 0.0057459852 0.0019286425 0.0047118541 - 1375500 0.006401563 0.0023856755 0.0054864326 - 1375600 0.004204011 0.0031175279 0.0051538458 - 1375700 0.0060431072 0.0031470563 0.0060741864 - 1375800 0.0047209898 0.0027311732 0.0050179026 - 1375900 0.0059682293 0.0023445841 0.0052354451 - 1376000 0.0040790606 0.0022409659 0.0042167609 - 1376100 0.0038949239 0.001810078 0.0036966817 - 1376200 0.0052418713 0.0015656032 0.0041046346 - 1376300 0.00525566 0.0016484827 0.004194193 - 1376400 0.0054201906 0.0023585174 0.0049839222 - 1376500 0.0057463124 0.002842205 0.005625575 - 1376600 0.0056603804 0.0022497659 0.0049915126 - 1376700 0.0057055928 0.0021518314 0.0049154779 - 1376800 0.0055877194 0.0025006416 0.0052071932 - 1376900 0.0064259334 0.0021155572 0.0052281187 - 1377000 0.0063069539 0.0017971424 0.0048520731 - 1377100 0.0061854637 0.0017772077 0.0047732917 - 1377200 0.0044451808 0.0019666261 0.0041197605 - 1377300 0.0066203962 0.0020580973 0.0052648517 - 1377400 0.0040240252 0.0022636583 0.0042127955 - 1377500 0.0053248723 0.0022936697 0.0048729048 - 1377600 0.0040870547 0.0018493746 0.0038290418 - 1377700 0.0037284775 0.0019617656 0.0037677469 - 1377800 0.0043641432 0.0019992972 0.0041131791 - 1377900 0.0052119327 0.0019853086 0.0045098386 - 1378000 0.0051793298 0.0019888203 0.0044975582 - 1378100 0.0066711164 0.0021672742 0.0053985962 - 1378200 0.0046361394 0.0023629256 0.0046085556 - 1378300 0.0038142736 0.0027886984 0.0046362372 - 1378400 0.0050109253 0.0023658676 0.0047930345 - 1378500 0.0060437615 0.0017465649 0.0046740118 - 1378600 0.0054801184 0.0018138946 0.004468327 - 1378700 0.0048424133 0.0022991672 0.0046447112 - 1378800 0.0047006756 0.0022948113 0.0045717011 - 1378900 0.0043072916 0.0021674104 0.0042537548 - 1379000 0.005928501 0.0018492159 0.0047208336 - 1379100 0.006134436 0.0021295359 0.0051009033 - 1379200 0.0044402166 0.0023025729 0.0044533028 - 1379300 0.0044614511 0.0023310684 0.0044920838 - 1379400 0.0053886971 0.0022665625 0.0048767126 - 1379500 0.0051790111 0.002039778 0.0045483615 - 1379600 0.0052488182 0.001769963 0.0043123593 - 1379700 0.0046417268 0.0020398661 0.0042882026 - 1379800 0.005411015 0.002548004 0.0051689644 - 1379900 0.0040558686 0.0029753316 0.0049398929 - 1380000 0.0069404391 0.0026164112 0.0059781864 - 1380100 0.0059403951 0.0019113699 0.0047887488 - 1380200 0.0045451221 0.0018107683 0.0040123119 - 1380300 0.0038609308 0.0020865075 0.0039566458 - 1380400 0.0047732313 0.0017854574 0.0040974913 - 1380500 0.0054586951 0.0016731841 0.0043172395 - 1380600 0.0049798434 0.0019549043 0.0043670159 - 1380700 0.0041975017 0.0026008657 0.0046340306 - 1380800 0.0040253706 0.0026606084 0.0046103973 - 1380900 0.0045817728 0.0024009266 0.0046202228 - 1381000 0.0045047504 0.002535392 0.0047173805 - 1381100 0.0067763681 0.0025541275 0.0058364308 - 1381200 0.0052645648 0.0022331116 0.0047831352 - 1381300 0.005779599 0.001766959 0.0045664523 - 1381400 0.0062293429 0.0023325835 0.0053499214 - 1381500 0.0051682384 0.0027365281 0.0052398936 - 1381600 0.0060447248 0.002918324 0.0058462375 - 1381700 0.005242083 0.0031120618 0.0056511958 - 1381800 0.0047690575 0.0030393441 0.0053493563 - 1381900 0.0056563507 0.0023141276 0.0050539225 - 1382000 0.0058673695 0.0021538198 0.0049958269 - 1382100 0.0046723383 0.0024766822 0.0047398461 - 1382200 0.0050953626 0.0025356785 0.0050037448 - 1382300 0.0056762742 0.0024138735 0.0051633188 - 1382400 0.0048324988 0.0023093299 0.0046500715 - 1382500 0.0042324975 0.0022498939 0.0043000099 - 1382600 0.0058795802 0.0023550857 0.0052030073 - 1382700 0.005153358 0.0027273361 0.0052234939 - 1382800 0.0051683541 0.0027905311 0.0052939526 - 1382900 0.0053388664 0.0022418258 0.0048278392 - 1383000 0.0052822444 0.0019532777 0.0045118648 - 1383100 0.0052969755 0.0022287686 0.0047944911 - 1383200 0.0048906216 0.0020434792 0.0044123741 - 1383300 0.0043440422 0.0019259714 0.0040301169 - 1383400 0.0048495426 0.0018718843 0.0042208815 - 1383500 0.0045081114 0.0024159287 0.0045995452 - 1383600 0.0066508065 0.0021617314 0.0053832158 - 1383700 0.0047646431 0.0020357538 0.0043436278 - 1383800 0.0060329763 0.0022115346 0.0051337575 - 1383900 0.0043489689 0.0026317117 0.0047382435 - 1384000 0.0048198098 0.0030449367 0.0053795321 - 1384100 0.0046463705 0.0029123528 0.0051629386 - 1384200 0.0044240319 0.0028515181 0.0049944086 - 1384300 0.003766173 0.002773788 0.0045980281 - 1384400 0.0055637926 0.0023142296 0.0050091917 - 1384500 0.0048990127 0.0021444985 0.0045174577 - 1384600 0.0042814231 0.0021430882 0.0042169025 - 1384700 0.0055967712 0.0021088724 0.0048198085 - 1384800 0.0056540954 0.0024450226 0.0051837251 - 1384900 0.0053451899 0.0027210632 0.0053101396 - 1385000 0.0056950573 0.0029384698 0.0056970132 - 1385100 0.0037892145 0.0034060227 0.0052414235 - 1385200 0.0057744213 0.0033212083 0.0061181936 - 1385300 0.0034791776 0.0033340949 0.0050193215 - 1385400 0.0052484126 0.0033978604 0.0059400603 - 1385500 0.0053592442 0.0037671616 0.0063630455 - 1385600 0.0044920711 0.0040932284 0.0062690753 - 1385700 0.0032120601 0.0037969714 0.005352813 - 1385800 0.0055922957 0.0034972972 0.0062060654 - 1385900 0.0046160757 0.0035657394 0.0058016511 - 1386000 0.0052495422 0.0032761289 0.0058188759 - 1386100 0.0051213375 0.0031221506 0.0056027984 - 1386200 0.0052136359 0.0030211372 0.0055464921 - 1386300 0.0043477625 0.0029191726 0.0050251201 - 1386400 0.0061538462 0.0028948633 0.0058756326 - 1386500 0.0039634133 0.0030752942 0.0049950726 - 1386600 0.005286128 0.0031926639 0.0057531321 - 1386700 0.0061644125 0.0025783842 0.0055642715 - 1386800 0.0047864192 0.002765282 0.0050837038 - 1386900 0.0050986912 0.0032404021 0.0057100806 - 1387000 0.0058863695 0.0037306016 0.0065818118 - 1387100 0.0055216926 0.0034448063 0.0061193761 - 1387200 0.0042461973 0.0031076441 0.005164396 - 1387300 0.0052071454 0.0027499919 0.005272203 - 1387400 0.0056311347 0.0030177641 0.005745345 - 1387500 0.0070175758 0.0028751327 0.006274271 - 1387600 0.0042335698 0.0028570489 0.0049076843 - 1387700 0.0041601764 0.0030541457 0.0050692311 - 1387800 0.0048741506 0.0027582611 0.0051191778 - 1387900 0.0058136133 0.0023188206 0.0051347896 - 1388000 0.004043825 0.0025644687 0.0045231964 - 1388100 0.0045802911 0.002534434 0.0047530125 - 1388200 0.004075494 0.0024801553 0.0044542226 - 1388300 0.0044252179 0.0022462107 0.0043896757 - 1388400 0.0042473856 0.0022749915 0.0043323189 - 1388500 0.0035886419 0.0022836438 0.0040218922 - 1388600 0.0052031072 0.0022241099 0.004744365 - 1388700 0.0043883707 0.0024692353 0.0045948523 - 1388800 0.0064316377 0.0021300197 0.0052453442 - 1388900 0.0056939205 0.0021748889 0.0049328816 - 1389000 0.0046850629 0.0025342245 0.0048035519 - 1389100 0.0050362047 0.0027527431 0.0051921548 - 1389200 0.0072314221 0.0031964471 0.0066991672 - 1389300 0.0055840011 0.0028337412 0.0055384918 - 1389400 0.005725758 0.0025736385 0.0053470525 - 1389500 0.004444506 0.0026647175 0.0048175251 - 1389600 0.0041636336 0.0026446031 0.0046613632 - 1389700 0.0052688478 0.0022784582 0.0048305563 - 1389800 0.0047083849 0.0023686258 0.0046492497 - 1389900 0.0057010312 0.0025340889 0.0052955259 - 1390000 0.0062932929 0.0029386129 0.0059869266 - 1390100 0.0059704325 0.002694354 0.0055862823 - 1390200 0.0039371246 0.0028791439 0.0047861886 - 1390300 0.0060348461 0.002576335 0.0054994636 - 1390400 0.0050221954 0.0022800283 0.0047126542 - 1390500 0.0052916619 0.0020109226 0.0045740713 - 1390600 0.0052778355 0.0025003453 0.0050567968 - 1390700 0.0062761055 0.0025602772 0.0056002658 - 1390800 0.0044774625 0.0024840417 0.0046528126 - 1390900 0.0059681329 0.0025905334 0.0054813478 - 1391000 0.0059800037 0.0029492858 0.0058458501 - 1391100 0.0043150528 0.0029742313 0.005064335 - 1391200 0.0040455381 0.0027768148 0.0047363723 - 1391300 0.0060104581 0.0021620684 0.0050733841 - 1391400 0.0050371964 0.0020682822 0.0045081742 - 1391500 0.0049574149 0.0023958543 0.0047971022 - 1391600 0.0060203672 0.0022753669 0.0051914823 - 1391700 0.0057996139 0.002033661 0.0048428489 - 1391800 0.0058372652 0.001919913 0.0047473384 - 1391900 0.004388007 0.0019562949 0.0040817358 - 1392000 0.0051597346 0.0017588239 0.0042580704 - 1392100 0.0046972299 0.001928926 0.0042041467 - 1392200 0.0051121948 0.0020543798 0.0045305991 - 1392300 0.0040083942 0.0021073865 0.0040489525 - 1392400 0.0060192347 0.0018140833 0.0047296501 - 1392500 0.0036398537 0.0020026072 0.0037656613 - 1392600 0.0050666649 0.0021834705 0.0046376363 - 1392700 0.0061329021 0.0024163221 0.0053869466 - 1392800 0.0044616929 0.0024171167 0.0045782492 - 1392900 0.0047491817 0.0021609852 0.0044613701 - 1393000 0.0060749107 0.0022228128 0.0051653477 - 1393100 0.0043212265 0.0027987798 0.0048918739 - 1393200 0.0039441989 0.002785934 0.0046964054 - 1393300 0.0046901102 0.0022819304 0.0045537026 - 1393400 0.0046306425 0.0019967482 0.0042397157 - 1393500 0.0064199787 0.0021827396 0.0052924168 - 1393600 0.0059689912 0.0023099044 0.0052011345 - 1393700 0.0053361758 0.0018288219 0.0044135321 - 1393800 0.0056514212 0.0021978611 0.0049352682 - 1393900 0.0038096992 0.0030511112 0.0048964342 - 1394000 0.007898829 0.0027966506 0.0066226459 - 1394100 0.004846359 0.0026547916 0.0050022468 - 1394200 0.0057661491 0.0029227296 0.0057157081 - 1394300 0.0047969366 0.0031258418 0.0054493579 - 1394400 0.0049587174 0.0025860354 0.0049879141 - 1394500 0.0037110031 0.0020792133 0.0038767305 - 1394600 0.0054842773 0.0023399525 0.0049963993 - 1394700 0.0047574016 0.0026034959 0.0049078624 - 1394800 0.0063889786 0.0021892089 0.0052838704 - 1394900 0.0069535806 0.002090831 0.0054589716 - 1395000 0.0053560011 0.00214633 0.004740643 - 1395100 0.0050841597 0.0026378239 0.0051004638 - 1395200 0.0045833296 0.0027533463 0.0049733966 - 1395300 0.0039602617 0.0026235108 0.0045417625 - 1395400 0.005398048 0.0021072402 0.0047219197 - 1395500 0.0056210729 0.0021395114 0.0048622186 - 1395600 0.0040487718 0.0026368631 0.0045979869 - 1395700 0.0057286937 0.0024672988 0.0052421348 - 1395800 0.0050261228 0.0024963864 0.0049309146 - 1395900 0.005126749 0.002351409 0.0048346781 - 1396000 0.0067990676 0.0024335471 0.0057268455 - 1396100 0.0051783103 0.0028245018 0.0053327458 - 1396200 0.004164026 0.0033703313 0.0053872813 - 1396300 0.004640551 0.0029284202 0.005176187 - 1396400 0.0043399632 0.002749262 0.0048514316 - 1396500 0.0051047991 0.0023958113 0.0048684484 - 1396600 0.00399534 0.0023969557 0.0043321985 - 1396700 0.0051869685 0.0027841703 0.0052966082 - 1396800 0.0050377023 0.0032592848 0.0056994218 - 1396900 0.0037429684 0.0040791933 0.0058921936 - 1397000 0.0052174808 0.0043093782 0.0068365954 - 1397100 0.0062192847 0.0036112633 0.0066237293 - 1397200 0.0074913555 0.0030689685 0.0066975938 - 1397300 0.00578335 0.0031925681 0.0059938783 - 1397400 0.0045316943 0.0033107467 0.0055057861 - 1397500 0.0053074719 0.0031783061 0.0057491128 - 1397600 0.0055957327 0.0031915664 0.0059019994 - 1397700 0.0048719462 0.0031384855 0.0054983344 - 1397800 0.0051306775 0.0028371911 0.005322363 - 1397900 0.0055997159 0.0029296977 0.0056420601 - 1398000 0.0050676108 0.0031698549 0.0056244789 - 1398100 0.0050669857 0.0025712703 0.0050255915 - 1398200 0.0052279926 0.0024549887 0.0049872976 - 1398300 0.0047318684 0.0028208497 0.0051128485 - 1398400 0.0044250028 0.0029130517 0.0050564124 - 1398500 0.0043153121 0.0028274579 0.0049176872 - 1398600 0.0063078491 0.002854384 0.0059097484 - 1398700 0.0053881859 0.0029924627 0.0056023652 - 1398800 0.0067260388 0.0027960081 0.0060539332 - 1398900 0.0045060289 0.0022929912 0.004475599 - 1399000 0.0028283298 0.0018549152 0.0032248874 - 1399100 0.0043190583 0.0016897773 0.0037818212 - 1399200 0.0046972205 0.0014700539 0.00374527 - 1399300 0.0040901257 0.0012616025 0.0032427572 - 1399400 0.0045401559 0.0012739443 0.0034730823 - 1399500 0.0052164618 0.0016412946 0.0041680183 - 1399600 0.0045761408 0.0023073874 0.0045239556 - 1399700 0.0056248844 0.002593531 0.0053180843 - 1399800 0.0041000904 0.0027663879 0.0047523692 - 1399900 0.0040722694 0.0026792658 0.0046517713 - 1400000 0.0052861458 0.002459721 0.0050201978 - 1400100 0.0050072026 0.0022774445 0.0047028083 - 1400200 0.005753223 0.0023518388 0.0051385562 - 1400300 0.0045843046 0.002416928 0.0046374506 - 1400400 0.0059357987 0.0026978563 0.0055730088 - 1400500 0.0040329336 0.0025618809 0.0045153331 - 1400600 0.0054909256 0.0023149535 0.0049746206 - 1400700 0.004113711 0.0025851478 0.0045777265 - 1400800 0.0045366327 0.0028522382 0.0050496697 - 1400900 0.0035328044 0.0026515887 0.0043627908 - 1401000 0.0039255562 0.0024297123 0.0043311536 - 1401100 0.004358655 0.0020715954 0.0041828189 - 1401200 0.0069278009 0.0021096746 0.0054653282 - 1401300 0.0067905562 0.0023471469 0.0056363225 - 1401400 0.0040942544 0.0023020103 0.0042851648 - 1401500 0.0053406955 0.0025968744 0.0051837738 - 1401600 0.0059069933 0.0028410918 0.0057022917 - 1401700 0.0057399104 0.0027856403 0.0055659094 - 1401800 0.0050709939 0.0026351644 0.0050914271 - 1401900 0.005798589 0.0025849613 0.0053936529 - 1402000 0.004911999 0.0027165135 0.005095763 - 1402100 0.0059691509 0.0028052648 0.0056965723 - 1402200 0.0053125479 0.0030224465 0.0055957119 - 1402300 0.0043157476 0.0034294009 0.0055198411 - 1402400 0.0054650606 0.0027266615 0.0053738002 - 1402500 0.003901049 0.0022903266 0.0041798972 - 1402600 0.0057728288 0.0022576709 0.0050538849 - 1402700 0.0067564679 0.0025680634 0.0058407275 - 1402800 0.0051853656 0.0027544837 0.0052661451 - 1402900 0.0056858701 0.0032650075 0.0060191008 - 1403000 0.0045531112 0.0027997561 0.0050051694 - 1403100 0.0054745892 0.0022744771 0.0049262312 - 1403200 0.0063178943 0.0024053235 0.0054655536 - 1403300 0.004914873 0.0025310272 0.0049116688 - 1403400 0.0051021243 0.0024985627 0.0049699042 - 1403500 0.0048771968 0.0029527907 0.0053151829 - 1403600 0.0054624857 0.0033550169 0.0060009084 - 1403700 0.0065756931 0.0030011584 0.0061862598 - 1403800 0.0046106862 0.0024351445 0.0046684457 - 1403900 0.0041008479 0.0020397088 0.004026057 - 1404000 0.0063841771 0.0022757992 0.005368135 - 1404100 0.0046719487 0.0025021536 0.0047651287 - 1404200 0.0045160192 0.002597848 0.0047852948 - 1404300 0.003994474 0.00219177 0.0041265934 - 1404400 0.005559268 0.0021415725 0.0048343429 - 1404500 0.0037950602 0.0021665101 0.0040047424 - 1404600 0.0057506146 0.001984024 0.004769478 - 1404700 0.0051995168 0.0021015387 0.0046200546 - 1404800 0.0055828052 0.0026958665 0.0054000378 - 1404900 0.0047412434 0.0027185346 0.0050150744 - 1405000 0.0044999295 0.0027605933 0.0049402466 - 1405100 0.0052138374 0.0024257692 0.0049512216 - 1405200 0.0043248029 0.0027394126 0.004834239 - 1405300 0.0059242158 0.0030478259 0.005917368 - 1405400 0.0047775562 0.0034137685 0.0057278973 - 1405500 0.0058985889 0.0032024894 0.0060596184 - 1405600 0.0053548303 0.003312417 0.0059061629 - 1405700 0.0066740242 0.0031577129 0.0063904433 - 1405800 0.0061333683 0.003255636 0.0062264863 - 1405900 0.0056550627 0.0032573489 0.0059965199 - 1406000 0.0064050927 0.0030490882 0.006151555 - 1406100 0.0054124152 0.0032679185 0.0058895572 - 1406200 0.0050806477 0.0033954131 0.0058563518 - 1406300 0.0058406144 0.0029879867 0.0058170343 - 1406400 0.0051908225 0.0031934027 0.0057077074 - 1406500 0.0042051839 0.0029958039 0.0050326898 - 1406600 0.0060525493 0.0029464259 0.0058781295 - 1406700 0.0039546818 0.0032436548 0.0051592038 - 1406800 0.0041074945 0.0036741037 0.0056636714 - 1406900 0.0048736342 0.0034921062 0.0058527727 - 1407000 0.0054505403 0.0035308836 0.0061709891 - 1407100 0.0048402212 0.0032930471 0.0056375293 - 1407200 0.0067493202 0.0028424081 0.0061116101 - 1407300 0.0054003467 0.0030410217 0.0056568147 - 1407400 0.0045240003 0.0033133442 0.0055046568 - 1407500 0.0041963824 0.0029767839 0.0050094067 - 1407600 0.0053414237 0.0026683251 0.0052555772 - 1407700 0.0052606871 0.0031616861 0.0057098315 - 1407800 0.004464005 0.0031436271 0.0053058795 - 1407900 0.0052452471 0.0026386612 0.0051793278 - 1408000 0.0050670825 0.0022685205 0.0047228886 - 1408100 0.0060969703 0.0023376454 0.0052908653 - 1408200 0.0063349759 0.0031313758 0.0061998797 - 1408300 0.0042745189 0.0036212391 0.0056917092 - 1408400 0.005244884 0.003714541 0.0062550317 - 1408500 0.0054411942 0.0033346759 0.0059702543 - 1408600 0.0060711658 0.0031483525 0.0060890734 - 1408700 0.003770678 0.0034445929 0.0052710151 - 1408800 0.0041506589 0.0033959886 0.005406464 - 1408900 0.0057733949 0.0026967551 0.0054932432 - 1409000 0.0048042568 0.002610706 0.0049377679 - 1409100 0.0052683941 0.0027701993 0.0053220777 - 1409200 0.0058911029 0.0029536291 0.0058071321 - 1409300 0.0065337652 0.0027021729 0.0058669655 - 1409400 0.0055331783 0.0024156795 0.0050958128 - 1409500 0.005130369 0.0024428512 0.0049278737 - 1409600 0.0062742914 0.0023963509 0.0054354608 - 1409700 0.0055503151 0.0027276719 0.0054161058 - 1409800 0.0062707805 0.0033063573 0.0063437666 - 1409900 0.0042424242 0.0034680627 0.0055229869 - 1410000 0.0055625392 0.0029263881 0.005620743 - 1410100 0.0061364225 0.002306783 0.0052791127 - 1410200 0.0048980443 0.0022589097 0.0046313999 - 1410300 0.0043854633 0.0022506481 0.0043748569 - 1410400 0.0039369896 0.0023349109 0.0042418902 - 1410500 0.0036714676 0.0030337354 0.0048121025 - 1410600 0.00789003 0.0031926131 0.0070143464 - 1410700 0.0044221873 0.0030919599 0.0052339569 - 1410800 0.0045001107 0.0022004444 0.0043801855 - 1410900 0.0053159256 0.0022091312 0.0047840327 - 1411000 0.0064650696 0.0025519181 0.0056834362 - 1411100 0.0062975078 0.0031927926 0.0062431479 - 1411200 0.0051305868 0.0033955537 0.0058806817 - 1411300 0.0051795239 0.003090989 0.0055998209 - 1411400 0.0049000043 0.0028246836 0.0051981232 - 1411500 0.0068305088 0.0033724251 0.0066809527 - 1411600 0.0043042554 0.0034437448 0.0055286186 - 1411700 0.0050747099 0.0025337676 0.0049918302 - 1411800 0.0047816996 0.0022759021 0.0045920379 - 1411900 0.0056001869 0.0024861426 0.0051987331 - 1412000 0.0051146558 0.0026881904 0.0051656018 - 1412100 0.00530764 0.0031878104 0.0057586985 - 1412200 0.0058019626 0.0032770597 0.0060873853 - 1412300 0.0061335993 0.0033220285 0.0062929906 - 1412400 0.0051923029 0.003314234 0.0058292557 - 1412500 0.0050082213 0.0032339912 0.0056598484 - 1412600 0.0048916625 0.003129302 0.0054987011 - 1412700 0.0049923336 0.0032467423 0.0056649039 - 1412800 0.0048119354 0.0033531713 0.0056839525 - 1412900 0.0051408931 0.0035879063 0.0060780264 - 1413000 0.0054892206 0.003704881 0.0063637222 - 1413100 0.0072065778 0.003659767 0.0071504532 - 1413200 0.0067469882 0.0037399875 0.0070080599 - 1413300 0.0054779853 0.0038716764 0.0065250755 - 1413400 0.00533822 0.0029305434 0.0055162438 - 1413500 0.0051511802 0.0028090249 0.0053041278 - 1413600 0.0060988775 0.0024369297 0.0053910735 - 1413700 0.0047666918 0.0025498978 0.0048587641 - 1413800 0.0058675697 0.0020431829 0.0048852869 - 1413900 0.0057942262 0.0021201431 0.0049267214 - 1414000 0.0055229375 0.0023981245 0.0050732973 - 1414100 0.0054111403 0.0022922413 0.0049132624 - 1414200 0.0041551103 0.0025300665 0.0045426981 - 1414300 0.0045264972 0.0022943056 0.0044868277 - 1414400 0.0048276583 0.0022724472 0.0046108442 - 1414500 0.0060510031 0.0022133475 0.0051443021 - 1414600 0.0038064809 0.0024177958 0.00426156 - 1414700 0.0047201409 0.0025757065 0.0048620248 - 1414800 0.0068399602 0.0026816792 0.005994785 - 1414900 0.0052368925 0.0027837174 0.0053203372 - 1415000 0.0038464007 0.0027034421 0.0045665425 - 1415100 0.00506918 0.0027574332 0.0052128172 - 1415200 0.004328419 0.002638491 0.0047350689 - 1415300 0.0059016872 0.0029248714 0.0057835012 - 1415400 0.0051391245 0.0032996659 0.0057889294 - 1415500 0.0057616931 0.0029018704 0.0056926905 - 1415600 0.0042487579 0.0031262222 0.0051842143 - 1415700 0.0037107501 0.003244745 0.0050421396 - 1415800 0.0065790745 0.0031260138 0.006312753 - 1415900 0.0035098192 0.0031496813 0.00484975 - 1416000 0.0044513748 0.0027863266 0.0049424613 - 1416100 0.0041380909 0.0025684026 0.0045727904 - 1416200 0.0044826373 0.0025757684 0.0047470458 - 1416300 0.003709527 0.002562363 0.0043591651 - 1416400 0.0051887179 0.0026946148 0.0052079001 - 1416500 0.0068308566 0.0026560836 0.0059647797 - 1416600 0.0038371026 0.0029163879 0.0047749844 - 1416700 0.0031742388 0.0026027702 0.0041402921 - 1416800 0.0046108937 0.0024827909 0.0047161926 - 1416900 0.0050319603 0.0024183605 0.0048557163 - 1417000 0.0049280589 0.0022355464 0.004622575 - 1417100 0.0059184117 0.0022074119 0.0050741425 - 1417200 0.0042593845 0.0028073431 0.0048704825 - 1417300 0.0065893717 0.0027342817 0.0059260086 - 1417400 0.0038739259 0.0030216286 0.0048980615 - 1417500 0.0050479432 0.0031184997 0.0055635972 - 1417600 0.0055774043 0.0028253043 0.0055268595 - 1417700 0.005289253 0.0023758075 0.0049377894 - 1417800 0.0064332833 0.0024013228 0.0055174445 - 1417900 0.0053798183 0.0023996786 0.0050055281 - 1418000 0.0056042569 0.0026026617 0.0053172236 - 1418100 0.0041625757 0.0029904048 0.0050066524 - 1418200 0.0050295476 0.0030167244 0.0054529116 - 1418300 0.0058880054 0.0030100875 0.0058620902 - 1418400 0.0063065548 0.002849766 0.0059045034 - 1418500 0.0063848573 0.0029900782 0.0060827435 - 1418600 0.0041341297 0.0031483069 0.005150776 - 1418700 0.0050185927 0.0027247819 0.0051556628 - 1418800 0.0044475444 0.0029927998 0.0051470791 - 1418900 0.0049219635 0.0032068648 0.0055909409 - 1419000 0.0053963541 0.0025883369 0.0052021959 - 1419100 0.0053178762 0.0025807333 0.0051565795 - 1419200 0.0054118583 0.0024292292 0.005050598 - 1419300 0.0065426953 0.0020988403 0.0052679583 - 1419400 0.0062607395 0.0024683203 0.0055008659 - 1419500 0.0052686927 0.0031655113 0.0057175343 - 1419600 0.0064960219 0.0030163424 0.006162853 - 1419700 0.0046774321 0.0027644404 0.0050300716 - 1419800 0.0042110993 0.0025890347 0.004628786 - 1419900 0.0051945091 0.0022724136 0.0047885039 - 1420000 0.0048014479 0.002007493 0.0043331943 - 1420100 0.0039473264 0.0025664984 0.0044784846 - 1420200 0.0045890452 0.0027912914 0.0050141101 - 1420300 0.0053816292 0.0023703402 0.0049770669 - 1420400 0.0047180715 0.0025704443 0.0048557602 - 1420500 0.0049492764 0.0029085663 0.0053058721 - 1420600 0.0028554475 0.0033327634 0.0047158708 - 1420700 0.0034188207 0.0028944929 0.0045504842 - 1420800 0.005109273 0.0023418884 0.0048166925 - 1420900 0.0050788428 0.0024787356 0.0049388001 - 1421000 0.004576774 0.0027657644 0.0049826393 - 1421100 0.006125803 0.0027176006 0.0056847864 - 1421200 0.0060519435 0.0024328576 0.0053642678 - 1421300 0.0052014212 0.0024395395 0.0049589779 - 1421400 0.0041994942 0.0027694868 0.0048036168 - 1421500 0.0041408815 0.0027993833 0.0048051228 - 1421600 0.007352047 0.0026982168 0.0062593646 - 1421700 0.0064821643 0.0024120238 0.0055518222 - 1421800 0.0052974662 0.0027377024 0.0053036626 - 1421900 0.0061211783 0.0033043756 0.0062693213 - 1422000 0.0079727514 0.0031804708 0.0070422722 - 1422100 0.0044431302 0.003033485 0.0051856262 - 1422200 0.0057372679 0.0026342132 0.0054132023 - 1422300 0.0051762026 0.0026965174 0.0052037405 - 1422400 0.0047807381 0.0030989875 0.0054146575 - 1422500 0.0051031598 0.0031348104 0.0056066534 - 1422600 0.0058824252 0.0030098666 0.0058591663 - 1422700 0.0046803592 0.0028218013 0.0050888503 - 1422800 0.0054272664 0.0027982338 0.0054270659 - 1422900 0.0047282127 0.0029309312 0.0052211592 - 1423000 0.0049851642 0.0030114939 0.0054261828 - 1423100 0.0053218889 0.002487146 0.005064936 - 1423200 0.0044087788 0.0024888258 0.004624328 - 1423300 0.0040954046 0.0027476445 0.0047313561 - 1423400 0.0042993857 0.0027614898 0.0048440048 - 1423500 0.0056534026 0.0027782264 0.0055165933 - 1423600 0.00324703 0.0029009424 0.0044737225 - 1423700 0.0035685278 0.0026468924 0.004375398 - 1423800 0.0047214521 0.0022770935 0.0045640468 - 1423900 0.005329836 0.0025211128 0.0051027521 - 1424000 0.00728158 0.0021667223 0.0056937376 - 1424100 0.0048393325 0.0020212875 0.0043653391 - 1424200 0.0055717492 0.0020382632 0.0047370792 - 1424300 0.0054603701 0.0023362746 0.0049811414 - 1424400 0.0049874006 0.0025861162 0.0050018883 - 1424500 0.0045631026 0.0022474004 0.0044576533 - 1424600 0.0057434195 0.0023140759 0.0050960447 - 1424700 0.0053902585 0.0029713812 0.0055822876 - 1424800 0.0045985443 0.0031781182 0.0054055381 - 1424900 0.0053685274 0.0025910653 0.0051914457 - 1425000 0.0083783746 0.0022901564 0.0063484317 - 1425100 0.0060878255 0.0025821524 0.0055309429 - 1425200 0.005396139 0.0023744444 0.0049881993 - 1425300 0.0040988467 0.002459758 0.0044451369 - 1425400 0.0045996753 0.0026327833 0.004860751 - 1425500 0.006534108 0.0027998028 0.0059647613 - 1425600 0.0075040403 0.0030499078 0.0066846773 - 1425700 0.0059892674 0.0031893347 0.0060903861 - 1425800 0.0065715183 0.0028778653 0.0060609445 - 1425900 0.0060237449 0.0029445942 0.0058623457 - 1426000 0.0045161938 0.0027931347 0.0049806661 - 1426100 0.005860092 0.0023149931 0.0051534751 - 1426200 0.0053308375 0.0023875341 0.0049696585 - 1426300 0.0049415476 0.0026166118 0.0050101739 - 1426400 0.0045943722 0.002636283 0.004861682 - 1426500 0.0047976052 0.0031739707 0.0054978107 - 1426600 0.0050735928 0.0031306286 0.0055881501 - 1426700 0.0065124877 0.0029291042 0.0060835904 - 1426800 0.0053097985 0.0025923876 0.0051643212 - 1426900 0.0054691755 0.0022421068 0.0048912387 - 1427000 0.0036498518 0.0022370207 0.0040049177 - 1427100 0.0041620288 0.0020754944 0.0040914771 - 1427200 0.0052150429 0.0021007897 0.0046268261 - 1427300 0.0041255658 0.0025050139 0.0045033348 - 1427400 0.0045432682 0.0025850285 0.0047856741 - 1427500 0.0041154929 0.0025410729 0.0045345148 - 1427600 0.00516477 0.0025172963 0.0050189818 - 1427700 0.0041717085 0.0028537479 0.0048744192 - 1427800 0.0024619272 0.0030832771 0.0042757731 - 1427900 0.0055483241 0.0026724811 0.0053599506 - 1428000 0.0049842681 0.0027130595 0.0051273144 - 1428100 0.0049040152 0.0028260645 0.0052014469 - 1428200 0.0037798325 0.0027347102 0.0045655666 - 1428300 0.0053953643 0.0029220933 0.0055354729 - 1428400 0.0048844827 0.002402343 0.0047682643 - 1428500 0.0048822436 0.001892698 0.0042575348 - 1428600 0.004427746 0.0018820528 0.0040267423 - 1428700 0.0058502412 0.0022412238 0.0050749344 - 1428800 0.0056958713 0.0021375436 0.0048964813 - 1428900 0.0056733162 0.0022515304 0.0049995429 - 1429000 0.0053080208 0.0020697863 0.0046408589 - 1429100 0.0051538469 0.0026791964 0.005175591 - 1429200 0.0067087903 0.0028741892 0.0061237595 - 1429300 0.0049330012 0.0029177848 0.0053072072 - 1429400 0.0043614497 0.0021813539 0.0042939311 - 1429500 0.0055733299 0.0019252148 0.0046247964 - 1429600 0.0058785433 0.0021971473 0.0050445667 - 1429700 0.0047159923 0.0021559311 0.0044402399 - 1429800 0.0060655302 0.0023604719 0.0052984631 - 1429900 0.0063033419 0.0021960013 0.0052491826 - 1430000 0.006152043 0.002449022 0.0054289178 - 1430100 0.0051400619 0.0026934507 0.0051831682 - 1430200 0.0051414995 0.003352586 0.0058429998 - 1430300 0.006314044 0.0030940561 0.0061524211 - 1430400 0.0050195927 0.0025194472 0.0049508124 - 1430500 0.0061777494 0.0020537929 0.0050461403 - 1430600 0.0032893 0.002252765 0.0038460197 - 1430700 0.0054234326 0.0024066189 0.0050335941 - 1430800 0.005790535 0.0022558397 0.0050606301 - 1430900 0.0056579838 0.0020494159 0.0047900018 - 1431000 0.0052375238 0.0016790916 0.0042160172 - 1431100 0.0044825482 0.0016999911 0.0038712254 - 1431200 0.0050527117 0.0017500633 0.0041974705 - 1431300 0.0057605949 0.0015995463 0.0043898344 - 1431400 0.0044411377 0.0020946092 0.0042457853 - 1431500 0.0055203401 0.0021353874 0.0048093022 - 1431600 0.0057991646 0.0021680644 0.0049770348 - 1431700 0.0041894608 0.0021667478 0.0041960178 - 1431800 0.0043944145 0.0022622848 0.0043908293 - 1431900 0.0047469191 0.0022751089 0.0045743978 - 1432000 0.0049646007 0.0022524835 0.0046572119 - 1432100 0.0056739172 0.0022525258 0.0050008294 - 1432200 0.0059920176 0.0026246282 0.0055270117 - 1432300 0.0050899887 0.0026478738 0.0051133371 - 1432400 0.0041917172 0.0027458839 0.0047762469 - 1432500 0.0044134046 0.0026382676 0.0047760104 - 1432600 0.0056961389 0.0021280454 0.0048871127 - 1432700 0.0046479861 0.0016275427 0.0038789109 - 1432800 0.0063408677 0.0013349783 0.0044063361 - 1432900 0.0050811438 0.0016386217 0.0040998007 - 1433000 0.0052891807 0.0018045322 0.0043664791 - 1433100 0.0058638635 0.0016988386 0.0045391475 - 1433200 0.0055865013 0.0019606535 0.0046666151 - 1433300 0.0051205988 0.0021616254 0.0046419155 - 1433400 0.0053505754 0.0023184884 0.0049101734 - 1433500 0.0050819317 0.0025079667 0.0049695274 - 1433600 0.0032099748 0.0028332531 0.0043880847 - 1433700 0.004569241 0.0029483783 0.0051616044 - 1433800 0.0051732542 0.0027733554 0.0052791504 - 1433900 0.0052085796 0.0019788994 0.0045018052 - 1434000 0.0055279157 0.0018001395 0.0044777236 - 1434100 0.0042912122 0.0022584196 0.0043369756 - 1434200 0.0044231601 0.0028090256 0.0049514938 - 1434300 0.0060338696 0.0034177201 0.0063403757 - 1434400 0.0041270675 0.0036160973 0.0056151456 - 1434500 0.0061956001 0.0029985763 0.0059995701 - 1434600 0.0074851689 0.002846217 0.0064718457 - 1434700 0.0058999823 0.0029870497 0.0058448536 - 1434800 0.0058431338 0.0028623888 0.0056926567 - 1434900 0.0054151778 0.002641745 0.0052647217 - 1435000 0.006011084 0.0025597028 0.0054713216 - 1435100 0.0050077952 0.0026331505 0.0050588013 - 1435200 0.0048446594 0.0021828222 0.0045294541 - 1435300 0.0055653102 0.0018942076 0.0045899047 - 1435400 0.0043955541 0.0019244442 0.0040535407 - 1435500 0.0055095354 0.0018963803 0.0045650615 - 1435600 0.0045531287 0.002085246 0.0042906677 - 1435700 0.004099606 0.0022378687 0.0042236154 - 1435800 0.0055202209 0.0025600583 0.0052339152 - 1435900 0.0041890304 0.0028700994 0.004899161 - 1436000 0.0073427402 0.0028647652 0.006421405 - 1436100 0.0058952182 0.0032415686 0.0060970649 - 1436200 0.0062598481 0.0031053695 0.0061374835 - 1436300 0.0047890937 0.0032552726 0.0055749899 - 1436400 0.0054727412 0.003001336 0.005652195 - 1436500 0.0065378312 0.0028470678 0.0060138298 - 1436600 0.0054584082 0.002864798 0.0055087145 - 1436700 0.005627276 0.0027871126 0.0055128244 - 1436800 0.0046347518 0.002859949 0.005104907 - 1436900 0.0042902898 0.002874094 0.0049522031 - 1437000 0.0079236171 0.0025174233 0.0063554253 - 1437100 0.0054069554 0.0023615542 0.0049805482 - 1437200 0.004776893 0.00207739 0.0043911975 - 1437300 0.005380493 0.0021359815 0.0047421578 - 1437400 0.0049655551 0.0020217506 0.0044269413 - 1437500 0.0055776995 0.0025781751 0.0052798733 - 1437600 0.0061139986 0.0029510693 0.0059125374 - 1437700 0.005869232 0.003013193 0.0058561022 - 1437800 0.0043435399 0.002921156 0.0050250581 - 1437900 0.0043984886 0.0025980065 0.0047285244 - 1438000 0.0055783053 0.0026974277 0.0053994193 - 1438100 0.0052641115 0.0024263256 0.0049761296 - 1438200 0.0054929693 0.002291602 0.004952259 - 1438300 0.004075263 0.0024238677 0.0043978233 - 1438400 0.0040946735 0.0025545688 0.0045379262 - 1438500 0.0056693064 0.0022661911 0.0050122613 - 1438600 0.0060601899 0.0019286167 0.0048640211 - 1438700 0.0057987633 0.0019006841 0.0047094601 - 1438800 0.0053032257 0.0021096273 0.0046783772 - 1438900 0.0053820648 0.0021453668 0.0047523044 - 1439000 0.0042361119 0.0022259988 0.0042778655 - 1439100 0.0041322437 0.0025337168 0.0045352724 - 1439200 0.0046909672 0.0026098631 0.0048820503 - 1439300 0.0034029145 0.0029359534 0.0045842401 - 1439400 0.0056520017 0.0023619289 0.0050996172 - 1439500 0.0060052874 0.0023526232 0.0052614343 - 1439600 0.0059328622 0.0026161541 0.0054898842 - 1439700 0.0037213418 0.0031811399 0.0049836649 - 1439800 0.0070127944 0.0025731689 0.0059699912 - 1439900 0.0047538479 0.0023258865 0.0046285316 - 1440000 0.0055386581 0.002210269 0.0048930565 - 1440100 0.0051210995 0.0026474696 0.0051280022 - 1440200 0.0054662913 0.0024084579 0.0050561928 - 1440300 0.0057341256 0.0023226261 0.0051000932 - 1440400 0.0052006008 0.0027513824 0.0052704234 - 1440500 0.0048286035 0.0028749452 0.0052138 - 1440600 0.0055177421 0.0031951099 0.0058677663 - 1440700 0.0072662408 0.0030634789 0.0065830643 - 1440800 0.0057891198 0.0030730619 0.0058771668 - 1440900 0.0057471166 0.0030118754 0.005795635 - 1441000 0.0054925668 0.0027729535 0.0054334156 - 1441100 0.0043894138 0.0022451223 0.0043712446 - 1441200 0.0054905573 0.0018899427 0.0045494313 - 1441300 0.0041415462 0.0023276347 0.0043336962 - 1441400 0.0058547553 0.0019449892 0.0047808863 - 1441500 0.0039253684 0.0016789644 0.0035803148 - 1441600 0.0046096849 0.0015595662 0.0037923823 - 1441700 0.0044429727 0.0019924642 0.0041445291 - 1441800 0.0055727525 0.0024369316 0.0051362336 - 1441900 0.0042709314 0.0023866714 0.0044554038 - 1442000 0.0042308855 0.0020515104 0.0041008456 - 1442100 0.0055854409 0.0015529455 0.0042583935 - 1442200 0.0053943572 0.0018537677 0.0044666595 - 1442300 0.005247451 0.0021990254 0.0047407595 - 1442400 0.0083661474 0.0023690264 0.0064213791 - 1442500 0.0056012065 0.0028025244 0.0055156088 - 1442600 0.0048970703 0.0026169957 0.0049890141 - 1442700 0.0057922934 0.002424423 0.0052300651 - 1442800 0.0043785692 0.0025881903 0.0047090597 - 1442900 0.0050093672 0.0023320153 0.0047584276 - 1443000 0.0046003759 0.0019311697 0.0041594768 - 1443100 0.0046115135 0.002387794 0.0046214958 - 1443200 0.005059255 0.0027053195 0.0051558961 - 1443300 0.0042460789 0.0021435517 0.0042002462 - 1443400 0.0043546969 0.0016467595 0.0037560658 - 1443500 0.0040162235 0.0018501846 0.0037955428 - 1443600 0.0055650662 0.0022476462 0.0049432252 - 1443700 0.0041642478 0.0028715376 0.0048885951 - 1443800 0.0052649365 0.0027773399 0.0053275435 - 1443900 0.0059555504 0.0022845213 0.005169241 - 1444000 0.0061670422 0.0020427004 0.0050298615 - 1444100 0.0043426387 0.0020409033 0.0041443689 - 1444200 0.0058530781 0.0019919121 0.0048269968 - 1444300 0.0052279998 0.0022678342 0.0048001466 - 1444400 0.0062794005 0.0023187529 0.0053603375 - 1444500 0.0055026379 0.0024194086 0.0050847488 - 1444600 0.0043939542 0.0022184009 0.0043467224 - 1444700 0.0041570688 0.0023268713 0.0043404515 - 1444800 0.0068463309 0.0022334445 0.0055496361 - 1444900 0.0047583259 0.002129779 0.0044345931 - 1445000 0.0052741295 0.0021541894 0.0047088459 - 1445100 0.0041880718 0.0026114721 0.0046400693 - 1445200 0.0051189019 0.0027721383 0.0052516065 - 1445300 0.0050509073 0.002454661 0.0049011942 - 1445400 0.0051021147 0.0022458508 0.0047171876 - 1445500 0.0065883592 0.0024859923 0.0056772288 - 1445600 0.0042419078 0.0029991109 0.005053785 - 1445700 0.0046827266 0.0029649496 0.0052331453 - 1445800 0.0057736163 0.002475268 0.0052718634 - 1445900 0.0062225149 0.0026520178 0.0056660485 - 1446000 0.0060835186 0.0025457312 0.0054924356 - 1446100 0.0043464511 0.0022629432 0.0043682555 - 1446200 0.0050593733 0.0024076408 0.0048582747 - 1446300 0.0046682394 0.0023031089 0.0045642873 - 1446400 0.0060961787 0.0022169243 0.0051697608 - 1446500 0.0065732522 0.0024717625 0.0056556815 - 1446600 0.0066036673 0.002626856 0.0058255074 - 1446700 0.0045817017 0.0031544351 0.0053736968 - 1446800 0.0050119036 0.003436858 0.0058644989 - 1446900 0.0052415023 0.0029532937 0.0054921463 - 1447000 0.0066083812 0.0025383845 0.0057393191 - 1447100 0.0066006519 0.0022439445 0.0054411353 - 1447200 0.00561719 0.0025307011 0.0052515275 - 1447300 0.0036575007 0.0029116647 0.0046832665 - 1447400 0.0039580195 0.0031160751 0.0050332408 - 1447500 0.00445176 0.003076702 0.0052330232 - 1447600 0.0039444754 0.0029572712 0.0048678764 - 1447700 0.0044678284 0.0025777737 0.004741878 - 1447800 0.0052717194 0.0026655529 0.005219042 - 1447900 0.0059623814 0.0030522887 0.0059403172 - 1448000 0.0057029035 0.0031992812 0.0059616251 - 1448100 0.0047796939 0.002992389 0.0053075532 - 1448200 0.0053319672 0.002755556 0.0053382276 - 1448300 0.0046396121 0.0025343869 0.004781699 - 1448400 0.0043942412 0.002363594 0.0044920545 - 1448500 0.0049476393 0.0022792345 0.0046757473 - 1448600 0.00415622 0.002271355 0.0042845241 - 1448700 0.0045251586 0.0021779166 0.0043697903 - 1448800 0.0055283537 0.0023911526 0.0050689489 - 1448900 0.0056889426 0.0025444658 0.0053000473 - 1449000 0.0041647053 0.0028586779 0.004875957 - 1449100 0.0039666991 0.0026663488 0.0045877186 - 1449200 0.0052734045 0.0020487543 0.0046030596 - 1449300 0.0047389878 0.0022182569 0.0045137041 - 1449400 0.0048089777 0.0024823688 0.0048117173 - 1449500 0.0044615341 0.00289044 0.0050514956 - 1449600 0.0050843203 0.0023626654 0.004825383 - 1449700 0.0045616467 0.0018008958 0.0040104434 - 1449800 0.0042049416 0.0018550536 0.0038918222 - 1449900 0.0046202819 0.0018294381 0.0040673872 - 1450000 0.0054305816 0.0018850201 0.0045154581 - 1450100 0.0053933994 0.0019291134 0.0045415412 - 1450200 0.0047525332 0.0018372378 0.0041392461 - 1450300 0.0041722537 0.0017501484 0.0037710837 - 1450400 0.0046176538 0.0022331698 0.0044698459 - 1450500 0.0041577865 0.00227851 0.0042924379 - 1450600 0.0045247094 0.0025245705 0.0047162266 - 1450700 0.0078488772 0.0025732969 0.0063750968 - 1450800 0.0047484289 0.0026031573 0.0049031776 - 1450900 0.0052397071 0.0022305417 0.0047685249 - 1451000 0.0048296975 0.0024731204 0.0048125051 - 1451100 0.005468788 0.002143506 0.0047924501 - 1451200 0.0040565805 0.0018576415 0.0038225477 - 1451300 0.0041059124 0.0018373091 0.0038261104 - 1451400 0.0058702603 0.002020262 0.0048636693 - 1451500 0.0058725388 0.0023819825 0.0052264935 - 1451600 0.0060460925 0.0025541218 0.0054826978 - 1451700 0.0050731614 0.0026118846 0.0050691972 - 1451800 0.0043393856 0.0027377157 0.0048396056 - 1451900 0.0062822734 0.0023534094 0.0053963856 - 1452000 0.0062129803 0.0020336791 0.0050430914 - 1452100 0.0051168346 0.0019193825 0.0043978493 - 1452200 0.0051282777 0.0017585784 0.0042425879 - 1452300 0.0058535995 0.0018222199 0.0046575572 - 1452400 0.0053793817 0.0023354181 0.0049410561 - 1452500 0.0045876476 0.0024835416 0.0047056834 - 1452600 0.0039243908 0.0025165734 0.0044174502 - 1452700 0.0048125701 0.0017215179 0.0040526065 - 1452800 0.0036942169 0.001475301 0.0032646873 - 1452900 0.0045017114 0.0015320014 0.0037125179 - 1453000 0.003017507 0.0015336841 0.0029952891 - 1453100 0.0045223992 0.0015056022 0.0036961393 - 1453200 0.0040319027 0.001728229 0.0036811819 - 1453300 0.0045007919 0.0019994794 0.0041795505 - 1453400 0.0038832827 0.0021453491 0.0040263141 - 1453500 0.0030108823 0.0022646143 0.0037230104 - 1453600 0.0041583932 0.0022455757 0.0042597974 - 1453700 0.004235194 0.0021353046 0.0041867267 - 1453800 0.0049647494 0.0017002946 0.0041050951 - 1453900 0.0046890268 0.0019458161 0.0042170634 - 1454000 0.0044383071 0.0023311429 0.004480948 - 1454100 0.0046371347 0.0028739891 0.0051201012 - 1454200 0.0058445341 0.0025747457 0.0054056919 - 1454300 0.0062683955 0.0028100651 0.0058463192 - 1454400 0.0056668135 0.0030342801 0.0057791429 - 1454500 0.0044128792 0.0029081862 0.0050456746 - 1454600 0.0040774055 0.0027128225 0.0046878158 - 1454700 0.0068453359 0.0025867486 0.0059024581 - 1454800 0.0055923434 0.0027013082 0.0054100995 - 1454900 0.0054915709 0.0027630477 0.0054230273 - 1455000 0.0052844697 0.0030228782 0.0055825432 - 1455100 0.0054076767 0.0025187365 0.0051380799 - 1455200 0.0063209657 0.0024602475 0.0055219653 - 1455300 0.0046223837 0.0026144805 0.0048534476 - 1455400 0.00585989 0.0026796241 0.0055180083 - 1455500 0.0058569777 0.0024844484 0.0053214219 - 1455600 0.0044302039 0.0025393191 0.0046851991 - 1455700 0.0041729425 0.0024459049 0.0044671739 - 1455800 0.0054724284 0.002475139 0.0051258465 - 1455900 0.0065403071 0.0026968246 0.0058647859 - 1456000 0.0057533495 0.0031409851 0.0059277637 - 1456100 0.0061232571 0.0032823801 0.0062483328 - 1456200 0.0045203092 0.0031527594 0.0053422842 - 1456300 0.0076543351 0.0028630929 0.0065706614 - 1456400 0.005042995 0.0029909502 0.005433651 - 1456500 0.0067028995 0.0024942414 0.0057409584 - 1456600 0.0041055622 0.0025584217 0.0045470534 - 1456700 0.0039033101 0.0023942429 0.0042849088 - 1456800 0.0041293248 0.002311224 0.0043113657 - 1456900 0.0060504485 0.0022862609 0.0052169469 - 1457000 0.0061619097 0.0026073962 0.0055920712 - 1457100 0.005172901 0.0034496822 0.0059553061 - 1457200 0.0049638948 0.0037802086 0.0061845951 - 1457300 0.0058748535 0.0033663699 0.0062120021 - 1457400 0.0053391857 0.0033025128 0.0058886809 - 1457500 0.0041438643 0.003037704 0.0050448883 - 1457600 0.0072144406 0.0022131144 0.0057076091 - 1457700 0.0054581719 0.0022630314 0.0049068334 - 1457800 0.0053508953 0.0025290105 0.0051208505 - 1457900 0.0049958151 0.0024379133 0.0048577612 - 1458000 0.0040909771 0.0019845504 0.0039661174 - 1458100 0.0056840678 0.0017082142 0.0044614346 - 1458200 0.0052491057 0.0016877934 0.004230329 - 1458300 0.0048079871 0.0016884559 0.0040173246 - 1458400 0.0056933713 0.0014917075 0.0042494342 - 1458500 0.004567392 0.001994127 0.0042064575 - 1458600 0.0046386752 0.0020245202 0.0042713785 - 1458700 0.0061025795 0.0021905003 0.0051464372 - 1458800 0.0050645731 0.0027703996 0.0052235522 - 1458900 0.0037732264 0.0026619421 0.0044895986 - 1459000 0.0051215636 0.0024254723 0.0049062297 - 1459100 0.0040638848 0.0026144426 0.0045828868 - 1459200 0.0054211124 0.0025063166 0.005132168 - 1459300 0.0048435835 0.0026823016 0.0050284123 - 1459400 0.0054033204 0.0026533112 0.0052705445 - 1459500 0.005996486 0.0027041753 0.0056087232 - 1459600 0.0052702068 0.0025666865 0.0051194429 - 1459700 0.0057097689 0.002077063 0.0048427324 - 1459800 0.0040372518 0.0017560864 0.0037116302 - 1459900 0.004152134 0.0020447881 0.004055978 - 1460000 0.0039223034 0.0020413075 0.0039411732 - 1460100 0.0057823342 0.0019006589 0.004701477 - 1460200 0.0043736233 0.0022036998 0.0043221736 - 1460300 0.0036655753 0.0022997644 0.0040752774 - 1460400 0.005587805 0.002308138 0.0050147311 - 1460500 0.005452974 0.0027498506 0.0053911349 - 1460600 0.0042749173 0.0029686162 0.0050392793 - 1460700 0.0057333093 0.0022207922 0.0049978638 - 1460800 0.0037151814 0.0023297069 0.0041292479 - 1460900 0.0049936504 0.0024820876 0.004900887 - 1461000 0.0051491177 0.0025591363 0.0050532402 - 1461100 0.00564253 0.0025323576 0.005265458 - 1461200 0.0046004555 0.002636337 0.0048646826 - 1461300 0.0052384352 0.0019793549 0.0045167219 - 1461400 0.005185575 0.0020839819 0.0045957448 - 1461500 0.0047494917 0.0022035409 0.004504076 - 1461600 0.00517071 0.0021381603 0.004642723 - 1461700 0.0045553058 0.0021038136 0.0043102899 - 1461800 0.0053458721 0.0022237267 0.0048131335 - 1461900 0.0064996469 0.0020461019 0.0051943684 - 1462000 0.0048865463 0.0022758218 0.0046427427 - 1462100 0.00592766 0.002133831 0.0050050413 - 1462200 0.0059272249 0.0025610087 0.0054320082 - 1462300 0.0074469225 0.00252742 0.0061345231 - 1462400 0.0075698702 0.0024670252 0.0061336811 - 1462500 0.005326331 0.0026172659 0.0051972075 - 1462600 0.0038911471 0.0028119197 0.0046966941 - 1462700 0.00514366 0.002542355 0.0050338153 - 1462800 0.0062528005 0.0019765026 0.0050052028 - 1462900 0.0043829268 0.0019872676 0.0041102478 - 1463000 0.0047443906 0.0017370829 0.0040351471 - 1463100 0.0057068768 0.0020160308 0.0047802993 - 1463200 0.0067022269 0.0018375592 0.0050839503 - 1463300 0.0045989095 0.0023728015 0.0046003983 - 1463400 0.0057096208 0.0025908741 0.0053564717 - 1463500 0.0039557416 0.002524481 0.0044405433 - 1463600 0.0052876704 0.0023961968 0.0049574121 - 1463700 0.006149774 0.002736188 0.0057149848 - 1463800 0.0061171523 0.0024609783 0.005423974 - 1463900 0.0063471872 0.0024860457 0.0055604645 - 1464000 0.0047370024 0.0029283765 0.005222862 - 1464100 0.0054372708 0.0027915094 0.0054251875 - 1464200 0.0053296042 0.0021251285 0.0047066555 - 1464300 0.004666464 0.0022092789 0.0044695974 - 1464400 0.0065849986 0.0021178272 0.0053074359 - 1464500 0.0059178804 0.0019091398 0.0047756131 - 1464600 0.0058489701 0.002381125 0.0052142199 - 1464700 0.006418593 0.0026015072 0.0057105132 - 1464800 0.0056141558 0.0025190176 0.0052383743 - 1464900 0.006000079 0.0022264514 0.0051327396 - 1465000 0.0048748833 0.0021112483 0.0044725199 - 1465100 0.0048899635 0.0024455181 0.0048140942 - 1465200 0.0042582541 0.0022126681 0.0042752599 - 1465300 0.0053747412 0.0017741453 0.0043775355 - 1465400 0.003601226 0.0021130303 0.0038573742 - 1465500 0.0064819429 0.0023004169 0.005440108 - 1465600 0.0053892889 0.0022174481 0.004827885 - 1465700 0.0054480436 0.0017845301 0.0044234262 - 1465800 0.0065318604 0.001846151 0.0050100209 - 1465900 0.0044632289 0.0022435296 0.0044054061 - 1466000 0.0057122349 0.0020737457 0.0048406095 - 1466100 0.0070421201 0.001982267 0.0053932939 - 1466200 0.0039865832 0.0025076493 0.0044386506 - 1466300 0.004415774 0.0030262603 0.0051651509 - 1466400 0.0055850578 0.0026624456 0.005367708 - 1466500 0.005236096 0.0021233158 0.0046595498 - 1466600 0.005184864 0.0020208704 0.0045322889 - 1466700 0.003751572 0.0026417048 0.0044588724 - 1466800 0.0063741426 0.0027293632 0.0058168385 - 1466900 0.0037445156 0.0026219203 0.0044356701 - 1467000 0.0056197207 0.0021996107 0.0049216629 - 1467100 0.0051139832 0.0022800107 0.0047570963 - 1467200 0.0045816187 0.0026754063 0.0048946279 - 1467300 0.0068272918 0.0024848851 0.0057918546 - 1467400 0.0042173689 0.0025648253 0.0046076134 - 1467500 0.0051009837 0.0016478679 0.0041186569 - 1467600 0.0057623037 0.0012067668 0.0039978826 - 1467700 0.0040304008 0.0015924305 0.0035446559 - 1467800 0.0048284166 0.0017091015 0.0040478658 - 1467900 0.0040969127 0.0019570093 0.0039414514 - 1468000 0.0060652068 0.0021348671 0.0050727017 - 1468100 0.0053063062 0.0022060146 0.0047762567 - 1468200 0.0054375168 0.0022614198 0.004895217 - 1468300 0.0052123748 0.002471451 0.004996195 - 1468400 0.0060355451 0.0026647527 0.0055882199 - 1468500 0.0049142724 0.0027348755 0.0051152261 - 1468600 0.0046400576 0.0026382499 0.0048857778 - 1468700 0.0051567169 0.0021812272 0.0046790119 - 1468800 0.0061593573 0.0024975763 0.005481015 - 1468900 0.0052490452 0.003031924 0.0055744303 - 1469000 0.0050877039 0.0027418176 0.0052061742 - 1469100 0.0064057208 0.0022247739 0.005327545 - 1469200 0.005976163 0.0027591086 0.0056538126 - 1469300 0.0063250797 0.0032317561 0.0062954666 - 1469400 0.0070905916 0.0028726078 0.0063071131 - 1469500 0.0044446052 0.0024176065 0.0045704621 - 1469600 0.0042890828 0.002220526 0.0042980504 - 1469700 0.0050274963 0.0022230267 0.0046582202 - 1469800 0.0041695412 0.0024484634 0.0044680849 - 1469900 0.0054252749 0.0019424022 0.0045702697 - 1470000 0.0053498931 0.0016201944 0.0042115488 - 1470100 0.0042175849 0.0018147625 0.0038576552 - 1470200 0.0039988292 0.0023289283 0.0042658612 - 1470300 0.0052521471 0.0026747721 0.0052187808 - 1470400 0.005546019 0.0029790513 0.0056654043 - 1470500 0.0047759942 0.0030428745 0.0053562467 - 1470600 0.006386243 0.0029369583 0.0060302948 - 1470700 0.0054346118 0.0023425496 0.0049749397 - 1470800 0.0047045485 0.002701677 0.0049804427 - 1470900 0.0054651331 0.0028081891 0.005455363 - 1471000 0.0050780631 0.0030637546 0.0055234414 - 1471100 0.0041094265 0.0033372814 0.0053277848 - 1471200 0.0053352913 0.0024765537 0.0050608354 - 1471300 0.0050103105 0.0020971046 0.0045239737 - 1471400 0.003772461 0.0023584189 0.0041857047 - 1471500 0.0058772755 0.0026375109 0.0054843162 - 1471600 0.0051843898 0.0031088683 0.0056200571 - 1471700 0.0051944526 0.0028057856 0.0053218486 - 1471800 0.0039572667 0.0024537617 0.0043705627 - 1471900 0.0051575941 0.002474715 0.0049729246 - 1472000 0.0041014242 0.0025479071 0.0045345345 - 1472100 0.0055878093 0.0024194879 0.005126083 - 1472200 0.0038000415 0.002272239 0.0041128841 - 1472300 0.005353411 0.0018914908 0.0044845493 - 1472400 0.005906194 0.0019606431 0.0048214558 - 1472500 0.0055040507 0.0021896052 0.0048556298 - 1472600 0.0043703106 0.0024723184 0.0045891876 - 1472700 0.004409094 0.0024839479 0.0046196028 - 1472800 0.0042272393 0.0027484741 0.0047960431 - 1472900 0.006188501 0.0027147119 0.0057122671 - 1473000 0.0057191981 0.0023811832 0.0051514198 - 1473100 0.0044899124 0.002869692 0.0050444933 - 1473200 0.0057157864 0.0028702082 0.0056387923 - 1473300 0.0062213496 0.002543577 0.0055570432 - 1473400 0.005456392 0.0024120497 0.0050549895 - 1473500 0.0046258575 0.0024212013 0.004661851 - 1473600 0.0052027447 0.0024047411 0.0049248206 - 1473700 0.0043982272 0.0024074006 0.0045377919 - 1473800 0.0044458531 0.0026578268 0.0048112868 - 1473900 0.0035305577 0.0026203168 0.0043304307 - 1474000 0.0047710024 0.0024592187 0.004770173 - 1474100 0.0042614391 0.0026414029 0.0047055375 - 1474200 0.0051305652 0.0024951751 0.0049802926 - 1474300 0.0051535413 0.0024813884 0.0049776349 - 1474400 0.0049265871 0.0027535179 0.0051398335 - 1474500 0.0034948082 0.0030861866 0.0047789843 - 1474600 0.0047561724 0.0031116167 0.0054153877 - 1474700 0.0051828571 0.0031586275 0.0056690739 - 1474800 0.0046551379 0.0024959888 0.0047508212 - 1474900 0.0049986661 0.0019684774 0.0043897063 - 1475000 0.0040904193 0.0019438189 0.0039251157 - 1475100 0.0054195461 0.0024355682 0.0050606609 - 1475200 0.0042965556 0.0027882581 0.0048694022 - 1475300 0.0042457106 0.0025092077 0.0045657238 - 1475400 0.005244805 0.0025098724 0.0050503249 - 1475500 0.0047481101 0.0025727239 0.0048725897 - 1475600 0.0049006972 0.0030994913 0.0054732665 - 1475700 0.0054342256 0.0027459424 0.0053781454 - 1475800 0.0057857099 0.00229776 0.0051002133 - 1475900 0.0067680306 0.0021606215 0.0054388863 - 1476000 0.0055385445 0.0027687568 0.0054514893 - 1476100 0.0053315529 0.0029102322 0.0054927031 - 1476200 0.0060831602 0.002585514 0.0055320448 - 1476300 0.0054085062 0.0026988071 0.0053185522 - 1476400 0.0047313369 0.002783342 0.0050750833 - 1476500 0.0058839891 0.0027091415 0.0055591987 - 1476600 0.0052667549 0.0030537101 0.0056047945 - 1476700 0.0052783481 0.0028876048 0.0054443047 - 1476800 0.0065383915 0.002094562 0.0052615954 - 1476900 0.0045817119 0.0020867583 0.004306025 - 1477000 0.0050283669 0.0020289717 0.0044645869 - 1477100 0.0038707806 0.0021030892 0.0039779986 - 1477200 0.0042920342 0.002278068 0.004357022 - 1477300 0.0045645484 0.0022513195 0.0044622727 - 1477400 0.003694654 0.0023117774 0.0041013754 - 1477500 0.0074140287 0.001797872 0.0053890422 - 1477600 0.0058540342 0.0023190632 0.005154611 - 1477700 0.0047878333 0.0029133292 0.005232436 - 1477800 0.0076301469 0.0022616619 0.0059575143 - 1477900 0.0068712101 0.0024795042 0.0058077466 - 1478000 0.0055132914 0.0028823751 0.0055528756 - 1478100 0.0048868703 0.0028407131 0.0052077909 - 1478200 0.0060871388 0.0019986197 0.0049470775 - 1478300 0.0050743554 0.0021843725 0.0046422634 - 1478400 0.0058856081 0.0023615204 0.0052123618 - 1478500 0.0036902753 0.0022833679 0.004070845 - 1478600 0.0052140966 0.0020763462 0.0046019242 - 1478700 0.0042943241 0.0024020623 0.0044821255 - 1478800 0.005532859 0.0025120023 0.0051919809 - 1478900 0.0042791994 0.0022837965 0.0043565337 - 1479000 0.006787581 0.0020283568 0.0053160913 - 1479100 0.0037371549 0.0023141394 0.0041243238 - 1479200 0.0058809472 0.0018695353 0.0047181191 - 1479300 0.0041296177 0.0020498024 0.0040500859 - 1479400 0.0053771498 0.002246603 0.0048511599 - 1479500 0.0054595867 0.0022285204 0.0048730077 - 1479600 0.0056445261 0.0020948337 0.004828901 - 1479700 0.0053976835 0.0022153432 0.0048298461 - 1479800 0.0053165728 0.0021922773 0.0047674922 - 1479900 0.0049900379 0.0024681067 0.0048851563 - 1480000 0.0050718976 0.0024277523 0.0048844527 - 1480100 0.0047640635 0.0023480122 0.0046556055 - 1480200 0.0047264472 0.0021879367 0.0044773096 - 1480300 0.0059123387 0.0016500257 0.0045138147 - 1480400 0.004136953 0.0016185433 0.0036223799 - 1480500 0.0056200498 0.0016013844 0.004323596 - 1480600 0.0052163388 0.0020078688 0.0045345329 - 1480700 0.0052614215 0.0020527763 0.0046012773 - 1480800 0.0036584459 0.0025601138 0.0043321735 - 1480900 0.0051593386 0.0020462776 0.0045453322 - 1481000 0.0048094693 0.001930828 0.0042604147 - 1481100 0.0054279439 0.0019763791 0.0046055394 - 1481200 0.0054017707 0.0023335219 0.0049500046 - 1481300 0.0051254267 0.0027999238 0.0052825524 - 1481400 0.0040692302 0.0027982974 0.0047693308 - 1481500 0.0048482225 0.0022334872 0.004581845 - 1481600 0.0063793942 0.0017350282 0.0048250473 - 1481700 0.0051020843 0.0013425118 0.0038138339 - 1481800 0.0052409701 0.0015166755 0.0040552704 - 1481900 0.004695727 0.0021607594 0.0044352521 - 1482000 0.0053285147 0.0020764316 0.004657431 - 1482100 0.004698224 0.0017972067 0.0040729089 - 1482200 0.003691928 0.0023231522 0.0041114298 - 1482300 0.0053180156 0.0022127552 0.004788669 - 1482400 0.0048082279 0.0019727944 0.0043017798 - 1482500 0.0059785539 0.002029415 0.0049252771 - 1482600 0.0048274508 0.0020749628 0.0044132593 - 1482700 0.0040729609 0.0020724551 0.0040452955 - 1482800 0.0043957192 0.002450936 0.0045801125 - 1482900 0.0055777245 0.0022054277 0.004907138 - 1483000 0.0049863519 0.002195659 0.0046109232 - 1483100 0.0050903432 0.0018827448 0.0043483799 - 1483200 0.0062327284 0.0016051852 0.004624163 - 1483300 0.0035291963 0.0019196136 0.0036290681 - 1483400 0.0058381721 0.0016687622 0.0044966268 - 1483500 0.0042642399 0.0015701748 0.003635666 - 1483600 0.0065663546 0.0020978752 0.0052784532 - 1483700 0.005749216 0.002553032 0.0053378085 - 1483800 0.0051765196 0.0024472087 0.0049545854 - 1483900 0.0061064604 0.0017020895 0.0046599062 - 1484000 0.0049511519 0.0017087075 0.0041069217 - 1484100 0.0059331705 0.0018134559 0.0046873354 - 1484200 0.0041280716 0.001785213 0.0037847477 - 1484300 0.0048904219 0.0019202834 0.0042890815 - 1484400 0.0041109446 0.0019026208 0.0038938596 - 1484500 0.0047130296 0.0020794832 0.0043623569 - 1484600 0.0060579639 0.0022062807 0.0051406069 - 1484700 0.0045462151 0.0023768351 0.0045789081 - 1484800 0.0058191941 0.0025026653 0.0053213374 - 1484900 0.0071424488 0.0026233793 0.0060830029 - 1485000 0.0059538075 0.0021718529 0.0050557285 - 1485100 0.0058673193 0.0021620543 0.0050040371 - 1485200 0.0046977978 0.0022943788 0.0045698746 - 1485300 0.0046974668 0.0020517952 0.0043271307 - 1485400 0.0070835684 0.0019955459 0.0054266493 - 1485500 0.0038207213 0.0025465228 0.0043971847 - 1485600 0.0050472912 0.0023907202 0.0048355018 - 1485700 0.004594153 0.0021361256 0.0043614185 - 1485800 0.0048182401 0.00193531 0.004269145 - 1485900 0.0041596057 0.0018954145 0.0039102235 - 1486000 0.0055098167 0.0019366603 0.0046054778 - 1486100 0.0050543374 0.0019474125 0.0043956071 - 1486200 0.0052143065 0.001746892 0.0042725717 - 1486300 0.0041552295 0.0017679419 0.0037806311 - 1486400 0.0052547326 0.0017500977 0.0042953588 - 1486500 0.0054111628 0.0020025251 0.0046235571 - 1486600 0.0050696033 0.0021669263 0.0046225154 - 1486700 0.0052456719 0.0022207261 0.0047615984 - 1486800 0.0056496829 0.0019780764 0.0047146416 - 1486900 0.0045446647 0.0016565552 0.0038578772 - 1487000 0.0039191701 0.0020878057 0.0039861537 - 1487100 0.0042691731 0.0021082122 0.004176093 - 1487200 0.0041889942 0.001847204 0.003876248 - 1487300 0.0062633622 0.0020288277 0.0050626438 - 1487400 0.004250334 0.0022285924 0.004287348 - 1487500 0.0047984596 0.0021043938 0.0044286477 - 1487600 0.0048498424 0.0021713991 0.0045205415 - 1487700 0.0054894141 0.0021416511 0.004800586 - 1487800 0.0058571743 0.0020056539 0.0048427227 - 1487900 0.0042398225 0.0020685396 0.0041222036 - 1488000 0.0048099469 0.002336157 0.004665975 - 1488100 0.0039827087 0.0022824711 0.0042115956 - 1488200 0.005783661 0.0021527227 0.0049541834 - 1488300 0.00481355 0.002314746 0.0046463093 - 1488400 0.0036768096 0.0022836425 0.0040645971 - 1488500 0.0061749832 0.0022008946 0.0051919021 - 1488600 0.005391242 0.0023792952 0.004990678 - 1488700 0.0050694925 0.0026103559 0.0050658913 - 1488800 0.0048043573 0.0018408078 0.0041679184 - 1488900 0.0051122197 0.0015526673 0.0040288987 - 1489000 0.0030768076 0.0020259143 0.003516243 - 1489100 0.0041410651 0.0017749526 0.0037807811 - 1489200 0.0049935765 0.00182655 0.0042453137 - 1489300 0.0054803968 0.0020533543 0.0047079216 - 1489400 0.0045170474 0.0024197441 0.004607689 - 1489500 0.0050867998 0.0025497106 0.0050136292 - 1489600 0.0042307909 0.0024987037 0.0045479931 - 1489700 0.0036947938 0.0021665333 0.003956199 - 1489800 0.0056096714 0.0019323342 0.0046495188 - 1489900 0.0051936514 0.0021011751 0.00461685 - 1490000 0.0050670625 0.0017306345 0.0041849929 - 1490100 0.0051091938 0.001743046 0.0042178117 - 1490200 0.0055480502 0.0024547322 0.005142069 - 1490300 0.0053356351 0.0030254358 0.005609884 - 1490400 0.0061976443 0.0025870061 0.00558899 - 1490500 0.0047281088 0.0023062917 0.0045964694 - 1490600 0.0052597339 0.0020993804 0.004647064 - 1490700 0.004277447 0.0021408886 0.0042127769 - 1490800 0.0048767301 0.0024004496 0.0047626157 - 1490900 0.0043809375 0.0023268997 0.0044489163 - 1491000 0.007157505 0.0019125128 0.0053794293 - 1491100 0.0052807721 0.0018322031 0.0043900771 - 1491200 0.0066932554 0.0025401164 0.005782162 - 1491300 0.005979757 0.0029071776 0.0058036224 - 1491400 0.0057994359 0.0028003628 0.0056094645 - 1491500 0.0055590694 0.0027567049 0.0054493791 - 1491600 0.0061551541 0.0029741406 0.0059555434 - 1491700 0.0068842481 0.0029093565 0.0062439142 - 1491800 0.0041170823 0.0027457226 0.0047399344 - 1491900 0.0049898554 0.0024389231 0.0048558843 - 1492000 0.0049478603 0.002382194 0.0047788139 - 1492100 0.0040402146 0.0023445617 0.0043015406 - 1492200 0.0040201857 0.0022555002 0.0042027777 - 1492300 0.006239274 0.0022241968 0.0052463451 - 1492400 0.0047739617 0.0021621666 0.0044745543 - 1492500 0.0062614879 0.0023058026 0.0053387108 - 1492600 0.0057638002 0.0022587708 0.0050506116 - 1492700 0.0044449305 0.0019791576 0.0041321708 - 1492800 0.0052005051 0.0016452523 0.0041642469 - 1492900 0.0052043338 0.0017982244 0.0043190736 - 1493000 0.0044067231 0.0020876618 0.0042221683 - 1493100 0.0058031541 0.0020716562 0.0048825589 - 1493200 0.0054961372 0.0018879922 0.0045501836 - 1493300 0.003806672 0.0018742151 0.0037180719 - 1493400 0.0041893358 0.0022328105 0.00426202 - 1493500 0.0043607957 0.0022858664 0.0043981268 - 1493600 0.0039448907 0.0022789052 0.0041897116 - 1493700 0.0046303402 0.0024898583 0.0047326793 - 1493800 0.0049687724 0.002511586 0.0049183352 - 1493900 0.005216078 0.0029583776 0.0054849153 - 1494000 0.0039564267 0.0030287321 0.0049451263 - 1494100 0.0047325081 0.0025916917 0.0048840003 - 1494200 0.004308868 0.0025069613 0.0045940693 - 1494300 0.0048658759 0.0025346103 0.0048915189 - 1494400 0.0037536818 0.0025934398 0.0044116294 - 1494500 0.0052993777 0.0023431775 0.0049100636 - 1494600 0.0046509573 0.0025537281 0.0048065355 - 1494700 0.0057135837 0.0027079346 0.0054754517 - 1494800 0.004773551 0.0028562583 0.0051684471 - 1494900 0.0073955111 0.0023315014 0.0059137021 - 1495000 0.0054763125 0.0029292007 0.0055817896 - 1495100 0.0052144316 0.0031379183 0.0056636586 - 1495200 0.0041003252 0.0027123334 0.0046984285 - 1495300 0.0046814165 0.0021280201 0.0043955813 - 1495400 0.0052068802 0.0024683531 0.0049904357 - 1495500 0.0039765233 0.002757552 0.0046836804 - 1495600 0.0052793295 0.0025614806 0.0051186558 - 1495700 0.0072559162 0.0020065389 0.0055211233 - 1495800 0.0049853552 0.002547521 0.0049623024 - 1495900 0.0055453155 0.0024594402 0.0051454524 - 1496000 0.0049242616 0.0019930538 0.0043782431 - 1496100 0.0047986489 0.0018700009 0.0041943465 - 1496200 0.0059043984 0.002600817 0.00546076 - 1496300 0.0038178668 0.0023775654 0.0042268447 - 1496400 0.0054542479 0.0019266048 0.0045685061 - 1496500 0.003843049 0.0020506038 0.0039120807 - 1496600 0.0044631125 0.0018933131 0.0040551332 - 1496700 0.0049909093 0.0019904042 0.0044078759 - 1496800 0.0065730221 0.0022090458 0.0053928534 - 1496900 0.0057328426 0.0024679365 0.0052447821 - 1497000 0.0044749437 0.0024045301 0.004572081 - 1497100 0.0051054169 0.0022184287 0.004691365 - 1497200 0.004568793 0.0018647046 0.0040777137 - 1497300 0.0058605336 0.0021165442 0.0049552402 - 1497400 0.0065901644 0.0024501237 0.0056422346 - 1497500 0.0049672534 0.0022667889 0.0046728022 - 1497600 0.0044448979 0.0023057229 0.0044587203 - 1497700 0.0052211966 0.0020947972 0.0046238143 - 1497800 0.0057018558 0.0024502475 0.0052120839 - 1497900 0.0047173017 0.0029310253 0.0052159683 - 1498000 0.0049082529 0.0030032859 0.0053807209 - 1498100 0.0054147939 0.0030215831 0.0056443739 - 1498200 0.0062899922 0.0024560006 0.0055027155 - 1498300 0.0048103347 0.0025649886 0.0048949945 - 1498400 0.0048502315 0.0028964423 0.0052457732 - 1498500 0.0059197312 0.0032489682 0.0061163379 - 1498600 0.0053092142 0.0026672475 0.0052388981 - 1498700 0.0067123577 0.0020487635 0.0053000618 - 1498800 0.0053247385 0.0023020849 0.0048812551 - 1498900 0.0058527324 0.0027525906 0.0055875078 - 1499000 0.0065672195 0.003261612 0.006442609 - 1499100 0.0053673793 0.0030295106 0.0056293349 - 1499200 0.0067588681 0.0020029443 0.005276771 - 1499300 0.0052735227 0.0020638007 0.0046181632 - 1499400 0.0047850956 0.0028078733 0.005125654 - 1499500 0.005072873 0.0026393393 0.0050965121 - 1499600 0.0054697287 0.0024310294 0.0050804292 - 1499700 0.0050147247 0.002653142 0.0050821493 - 1499800 0.0042425308 0.0030298658 0.0050848416 - 1499900 0.0040472473 0.0026626597 0.0046230451 - 1500000 0.005391967 0.0024955895 0.0051073236 - 1500100 0.0054682375 0.0024130616 0.0050617391 - 1500200 0.0034275356 0.0025798354 0.004240048 - 1500300 0.0052979033 0.0026616875 0.0052278594 - 1500400 0.0049696894 0.00256389 0.0049710833 - 1500500 0.0056962334 0.0024809108 0.0052400238 - 1500600 0.0084394238 0.0020381304 0.0061259763 - 1500700 0.0040544766 0.0025453819 0.004509269 - 1500800 0.0040078693 0.0028185719 0.0047598836 - 1500900 0.006600141 0.0026945961 0.0058915393 - 1501000 0.005254805 0.0026472671 0.0051925633 - 1501100 0.0046546942 0.0023586042 0.0046132217 - 1501200 0.0055715737 0.0022415292 0.0049402602 - 1501300 0.0057956687 0.0022725187 0.0050797957 - 1501400 0.0058936482 0.0021463039 0.0050010397 - 1501500 0.0049877128 0.0019706151 0.0043865384 - 1501600 0.0055784461 0.0026318307 0.0053338905 - 1501700 0.0055660112 0.0031192022 0.0058152389 - 1501800 0.0066590729 0.002527848 0.0057533364 - 1501900 0.0051037539 0.0017830663 0.004255197 - 1502000 0.0045319587 0.0018606142 0.0040557816 - 1502100 0.004977855 0.0019482666 0.0043594151 - 1502200 0.005173136 0.0020857053 0.004591443 - 1502300 0.0036756262 0.0020145811 0.0037949626 - 1502400 0.0058185183 0.0018877584 0.0047061032 - 1502500 0.0044842041 0.0020455779 0.0042176142 - 1502600 0.005518871 0.0020175809 0.0046907841 - 1502700 0.0066752219 0.0021028036 0.0053361142 - 1502800 0.005614568 0.0020638006 0.004783357 - 1502900 0.0047438241 0.0021815534 0.0044793432 - 1503000 0.0054250193 0.0022470715 0.0048748153 - 1503100 0.0045569251 0.0023578866 0.0045651472 - 1503200 0.0058508483 0.0021617884 0.004995793 - 1503300 0.0054118292 0.0018522453 0.0044736001 - 1503400 0.0038733041 0.0022744395 0.0041505712 - 1503500 0.0035942052 0.0022381228 0.003979066 - 1503600 0.0050190378 0.0018423824 0.0042734788 - 1503700 0.0057417441 0.0018363681 0.0046175254 - 1503800 0.0042757315 0.0023310311 0.0044020885 - 1503900 0.0047740055 0.0022262141 0.004538623 - 1504000 0.005487152 0.0021817691 0.0048396083 - 1504100 0.0077432812 0.0020347027 0.0057853545 - 1504200 0.0050486395 0.0022102093 0.004655644 - 1504300 0.0070789805 0.0021726119 0.005601493 - 1504400 0.0040387872 0.0024647812 0.0044210687 - 1504500 0.0050486134 0.002578387 0.0050238092 - 1504600 0.004724324 0.0025759273 0.0048642717 - 1504700 0.0060772979 0.002542617 0.0054863082 - 1504800 0.0059013442 0.0025918616 0.0054503252 - 1504900 0.0053515646 0.002439487 0.0050316512 - 1505000 0.0040912628 0.0023453789 0.0043270844 - 1505100 0.0049990041 0.0025070305 0.0049284232 - 1505200 0.0052837571 0.0027826172 0.005341937 - 1505300 0.0052590758 0.0027637824 0.0053111472 - 1505400 0.0045049469 0.0025783204 0.004760404 - 1505500 0.0051025614 0.0026814833 0.0051530365 - 1505600 0.0069982289 0.0026910716 0.0060808387 - 1505700 0.0034709757 0.0028530913 0.0045343451 - 1505800 0.0048268019 0.0024340844 0.0047720665 - 1505900 0.0044754574 0.0022618212 0.0044296209 - 1506000 0.0060817651 0.002275757 0.0052216119 - 1506100 0.0049973788 0.0023111951 0.0047318005 - 1506200 0.0053979202 0.0023261461 0.0049407637 - 1506300 0.0056295214 0.0022969425 0.005023742 - 1506400 0.0045138011 0.0022848414 0.0044712138 - 1506500 0.004665066 0.0024650186 0.00472466 - 1506600 0.0030157095 0.0028482977 0.004309032 - 1506700 0.0059962878 0.0027522343 0.0056566862 - 1506800 0.0063096081 0.0027816633 0.0058378797 - 1506900 0.0047589934 0.0027283652 0.0050335027 - 1507000 0.0065415912 0.0025180422 0.0056866254 - 1507100 0.0052145179 0.0019867926 0.0045125747 - 1507200 0.0035282714 0.0019865039 0.0036955103 - 1507300 0.0059480524 0.0019052749 0.0047863628 - 1507400 0.0074867422 0.0020258921 0.0056522829 - 1507500 0.0051737642 0.0024659569 0.004971999 - 1507600 0.003959078 0.0024986301 0.0044163085 - 1507700 0.0057750287 0.0023217916 0.0051190712 - 1507800 0.0047545577 0.0023028329 0.0046058218 - 1507900 0.0056972324 0.0021900065 0.0049496035 - 1508000 0.0058194712 0.0019332008 0.0047520072 - 1508100 0.0049793942 0.0019969272 0.0044088213 - 1508200 0.0050442584 0.002283153 0.0047264656 - 1508300 0.0057045424 0.0025134136 0.0052765514 - 1508400 0.0050951031 0.0024053753 0.0048733159 - 1508500 0.0051705473 0.0022894321 0.004793916 - 1508600 0.0037994537 0.0026972276 0.004537588 - 1508700 0.0059422453 0.0024081132 0.0052863882 - 1508800 0.0047537682 0.0025004575 0.004803064 - 1508900 0.0059558093 0.0023170312 0.0052018763 - 1509000 0.0042812632 0.0022552463 0.0043289832 - 1509100 0.0046126828 0.0021880857 0.0044223539 - 1509200 0.0043856207 0.0021466985 0.0042709835 - 1509300 0.0054961077 0.0020215602 0.0046837374 - 1509400 0.0058359754 0.0018501112 0.0046769118 - 1509500 0.0046516132 0.0021932856 0.0044464107 - 1509600 0.0044435857 0.0022295264 0.0043818882 - 1509700 0.0041537929 0.0021007782 0.0041127717 - 1509800 0.0065052577 0.0020199123 0.0051708965 - 1509900 0.0049997297 0.0022112102 0.0046329543 - 1510000 0.0043948534 0.0020862418 0.0042149989 - 1510100 0.0047218803 0.0018873627 0.0041745235 - 1510200 0.0042081904 0.0022254086 0.0042637509 - 1510300 0.005258069 0.0022916508 0.004838528 - 1510400 0.0050714345 0.0023341844 0.0047906604 - 1510500 0.0056822333 0.0023022392 0.0050545709 - 1510600 0.0060787185 0.0025767656 0.0055211449 - 1510700 0.0053092486 0.0025543414 0.0051260087 - 1510800 0.0050855806 0.0020384034 0.0045017315 - 1510900 0.00523639 0.001982109 0.0045184854 - 1511000 0.003208463 0.0024982925 0.0040523918 - 1511100 0.0047378377 0.0021273302 0.0044222203 - 1511200 0.0067183582 0.0021289698 0.0053831745 - 1511300 0.0054591127 0.0027379717 0.0053822294 - 1511400 0.0064713502 0.0029050801 0.0060396404 - 1511500 0.004330383 0.0030686449 0.0051661742 - 1511600 0.0047264532 0.0028660752 0.005155451 - 1511700 0.0031370083 0.0025843549 0.0041038434 - 1511800 0.0056008931 0.002529563 0.0052424956 - 1511900 0.0067699217 0.0024244852 0.0057036661 - 1512000 0.0047689416 0.0023640688 0.0046740248 - 1512100 0.0044607643 0.0023998791 0.0045605618 - 1512200 0.0048110323 0.0027617529 0.0050920967 - 1512300 0.0062326429 0.0025482623 0.0055671987 - 1512400 0.0050013646 0.0022933987 0.0047159347 - 1512500 0.0048099057 0.0021906598 0.0045204579 - 1512600 0.006733147 0.0026145466 0.0058759147 - 1512700 0.0051315395 0.0031374926 0.0056230821 - 1512800 0.0052873938 0.0030270056 0.005588087 - 1512900 0.0049498888 0.0027322889 0.0051298912 - 1513000 0.0051821017 0.0023608821 0.0048709626 - 1513100 0.003652697 0.0025309924 0.0043002676 - 1513200 0.0045923891 0.0026734714 0.0048979099 - 1513300 0.0049680727 0.0025646955 0.0049711057 - 1513400 0.0050240363 0.002338969 0.0047724865 - 1513500 0.0059291254 0.0018943529 0.004766273 - 1513600 0.0064814711 0.0018104882 0.0049499508 - 1513700 0.005097892 0.0021432146 0.0046125061 - 1513800 0.0046520625 0.0023272486 0.0045805914 - 1513900 0.0064507048 0.0021363241 0.0052608842 - 1514000 0.0038010178 0.0022503744 0.0040914924 - 1514100 0.0052916069 0.0025594105 0.0051225326 - 1514200 0.0043880092 0.0030104598 0.0051359017 - 1514300 0.0036163475 0.0032078688 0.0049595371 - 1514400 0.0058218344 0.0029336174 0.0057535685 - 1514500 0.0057587682 0.0027114487 0.0055008521 - 1514600 0.0040029704 0.0025887225 0.0045276613 - 1514700 0.0047734935 0.0028460018 0.0051581628 - 1514800 0.0030792973 0.0034129825 0.0049045171 - 1514900 0.0048410209 0.0035162204 0.0058610899 - 1515000 0.0068180847 0.0033933101 0.0066958199 - 1515100 0.0056107183 0.0033137075 0.0060313991 - 1515200 0.0071140726 0.00324889 0.006694769 - 1515300 0.0047911522 0.0028407987 0.005161513 - 1515400 0.0053529431 0.0028875587 0.0054803906 - 1515500 0.004437171 0.0026115728 0.0047608275 - 1515600 0.0068796085 0.0027909926 0.0061233029 - 1515700 0.0048175219 0.0027470297 0.0050805168 - 1515800 0.0049257222 0.0024983794 0.004884276 - 1515900 0.005858802 0.001941589 0.0047794463 - 1516000 0.0064051292 0.0019217696 0.0050242541 - 1516100 0.0052851572 0.0023774694 0.0049374674 - 1516200 0.0041539423 0.0024053279 0.0044173937 - 1516300 0.0052446163 0.0026706705 0.0052110315 - 1516400 0.0043961657 0.0027262913 0.004855684 - 1516500 0.006212903 0.0025891175 0.0055984924 - 1516600 0.0058115487 0.0026051141 0.005420083 - 1516700 0.0042065122 0.0026073491 0.0046448784 - 1516800 0.0044058912 0.0024874463 0.0046215499 - 1516900 0.005113136 0.002768596 0.0052452712 - 1517000 0.0045464144 0.0031460338 0.0053482032 - 1517100 0.0060625474 0.0028324735 0.0057690198 - 1517200 0.0050687233 0.0025840117 0.0050391745 - 1517300 0.0072775188 0.0024580667 0.0059831149 - 1517400 0.0051670094 0.0023447324 0.0048475026 - 1517500 0.0040799937 0.0022905317 0.0042667786 - 1517600 0.0034428902 0.0021209967 0.0037886466 - 1517700 0.0046126716 0.0020346857 0.0042689485 - 1517800 0.0057051643 0.0018829777 0.0046464167 - 1517900 0.0050695128 0.0019210955 0.0043766408 - 1518000 0.0066577631 0.0019748282 0.0051996822 - 1518100 0.0052959291 0.0019921583 0.0045573739 - 1518200 0.0053822134 0.0018299904 0.004437 - 1518300 0.0053086742 0.0015980403 0.0041694294 - 1518400 0.0054165306 0.0015758832 0.0041995152 - 1518500 0.0050931877 0.0016362264 0.0041032391 - 1518600 0.0044791591 0.0019285912 0.0040981839 - 1518700 0.0049959638 0.002172694 0.004592614 - 1518800 0.0041418492 0.002814155 0.0048203632 - 1518900 0.0045913239 0.0020974566 0.0043213791 - 1519000 0.0071830392 0.001913368 0.0053926526 - 1519100 0.0047182643 0.0021385759 0.0044239851 - 1519200 0.0069566805 0.0018851864 0.0052548285 - 1519300 0.0037083459 0.0020104365 0.0038066665 - 1519400 0.0041133304 0.0021488441 0.0041412385 - 1519500 0.0066287998 0.00201613 0.0052269548 - 1519600 0.0058821241 0.0025064324 0.0053555862 - 1519700 0.0052259395 0.0029563557 0.0054876701 - 1519800 0.0065573987 0.0028372625 0.0060135025 - 1519900 0.0089463739 0.0026172457 0.0069506456 - 1520000 0.0065474935 0.0022321964 0.0054036386 - 1520100 0.0055510364 0.0025135654 0.0052023486 - 1520200 0.0058049387 0.0026370471 0.0054488143 - 1520300 0.005493844 0.0026271139 0.0052881946 - 1520400 0.0050583876 0.0028512557 0.0053014121 - 1520500 0.0051014632 0.003121894 0.0055929153 - 1520600 0.0044885748 0.0030643542 0.0052385076 - 1520700 0.0054012553 0.0025722405 0.0051884735 - 1520800 0.0042287849 0.0021172571 0.0041655748 - 1520900 0.0052539442 0.0019430455 0.0044879248 - 1521000 0.0052606736 0.0023296951 0.0048778339 - 1521100 0.0050005233 0.0024795835 0.004901712 - 1521200 0.0066735817 0.0026569251 0.0058894412 - 1521300 0.0053296603 0.0028770572 0.0054586114 - 1521400 0.0065353264 0.0027022535 0.0058678023 - 1521500 0.0061327482 0.0032460925 0.0062166425 - 1521600 0.0058992513 0.0040217218 0.0068791717 - 1521700 0.0069443917 0.0035971614 0.0069608512 - 1521800 0.0056206096 0.0028125234 0.0055350061 - 1521900 0.0052831636 0.0021936166 0.004752649 - 1522000 0.0067290562 0.0023391834 0.00559857 - 1522100 0.0052951241 0.0028122174 0.0053770431 - 1522200 0.0046911234 0.0028382652 0.0051105281 - 1522300 0.0057740351 0.0023981143 0.0051949125 - 1522400 0.0049106954 0.0028107489 0.005189367 - 1522500 0.0051294253 0.0032530792 0.0057376445 - 1522600 0.0069066749 0.0024779927 0.0058234134 - 1522700 0.0072016563 0.0024086059 0.0058969082 - 1522800 0.0060828089 0.0026562027 0.0056025633 - 1522900 0.003685837 0.0028420704 0.0046273977 - 1523000 0.0047394273 0.0023901877 0.0046858478 - 1523100 0.0058548714 0.0024875582 0.0053235115 - 1523200 0.0033487126 0.0030950037 0.0047170364 - 1523300 0.0064951024 0.0027971854 0.0059432506 - 1523400 0.0058726599 0.0024008115 0.0052453811 - 1523500 0.0049927155 0.0030599057 0.0054782522 - 1523600 0.0053687169 0.0031263213 0.0057267936 - 1523700 0.0053521834 0.0028800962 0.0054725601 - 1523800 0.0077497072 0.0025457897 0.0062995541 - 1523900 0.0058307214 0.0026457392 0.0054699949 - 1524000 0.0060329954 0.0024858469 0.005408079 - 1524100 0.0051006904 0.0026520058 0.0051226527 - 1524200 0.0045643074 0.0022769421 0.0044877785 - 1524300 0.0045380957 0.0019136592 0.0041117993 - 1524400 0.005687828 0.0019232528 0.0046782945 - 1524500 0.0040131051 0.0022021767 0.0041460245 - 1524600 0.0040284306 0.0021113019 0.0040625729 - 1524700 0.004078557 0.0019386425 0.0039141935 - 1524800 0.0057913044 0.0018115042 0.0046166673 - 1524900 0.0040241515 0.0024694639 0.0044186622 - 1525000 0.0057146143 0.0026153409 0.0053833572 - 1525100 0.0057572734 0.0026190828 0.0054077621 - 1525200 0.0061140807 0.0029249159 0.0058864237 - 1525300 0.0051445183 0.0029653417 0.0054572177 - 1525400 0.004511997 0.0027678536 0.0049533521 - 1525500 0.0036219069 0.0029686452 0.0047230063 - 1525600 0.0064041956 0.0026283431 0.0057303754 - 1525700 0.0067161826 0.0025407841 0.005793935 - 1525800 0.0062912964 0.0021594536 0.0052068002 - 1525900 0.0057274913 0.0020912127 0.0048654663 - 1526000 0.0053418239 0.002275318 0.0048627639 - 1526100 0.0056349329 0.0023111935 0.0050406141 - 1526200 0.0057040253 0.0024527083 0.0052155956 - 1526300 0.0050304481 0.0024303445 0.0048669679 - 1526400 0.0064459372 0.0021751979 0.0052974487 - 1526500 0.006216941 0.0019162951 0.0049276259 - 1526600 0.0062742771 0.0024253074 0.0054644104 - 1526700 0.0033920912 0.0029008603 0.0045439045 - 1526800 0.0049837746 0.0022731766 0.0046871924 - 1526900 0.0042262339 0.002019344 0.0040664261 - 1527000 0.0057606167 0.0023020349 0.0050923336 - 1527100 0.0037095431 0.0027199229 0.0045167329 - 1527200 0.0047251083 0.0028555807 0.0051443051 - 1527300 0.0061763631 0.0024348375 0.0054265134 - 1527400 0.0046357502 0.0020697467 0.0043151882 - 1527500 0.006311376 0.0020592098 0.0051162826 - 1527600 0.0063706679 0.0021537206 0.0052395128 - 1527700 0.0046267961 0.0020650329 0.0043061372 - 1527800 0.0060550905 0.0018617589 0.0047946934 - 1527900 0.0048333307 0.0020586012 0.0043997457 - 1528000 0.0047598541 0.0024850844 0.0047906387 - 1528100 0.0047415352 0.0021564955 0.0044531767 - 1528200 0.0047194619 0.0019189003 0.0042048897 - 1528300 0.0044102519 0.0019490497 0.0040852654 - 1528400 0.0039711705 0.0024318138 0.0043553495 - 1528500 0.0052404466 0.0024381448 0.0049764862 - 1528600 0.0068619367 0.0025456971 0.0058694477 - 1528700 0.006679804 0.0025231539 0.0057586839 - 1528800 0.0053587548 0.0023810339 0.0049766808 - 1528900 0.0053969911 0.0026444526 0.0052586202 - 1529000 0.0031799254 0.0025086225 0.0040488989 - 1529100 0.005553668 0.0020197348 0.0047097927 - 1529200 0.0057930503 0.0021682527 0.0049742614 - 1529300 0.0056971425 0.0029889069 0.0057484603 - 1529400 0.0043176012 0.0032349073 0.0053262453 - 1529500 0.0049380207 0.0031183885 0.0055102423 - 1529600 0.0039491277 0.0026401058 0.0045529646 - 1529700 0.0045088289 0.0018869476 0.0040709116 - 1529800 0.0057490867 0.0018578868 0.0046426006 - 1529900 0.0047216112 0.0017447214 0.0040317518 - 1530000 0.0049973223 0.0017472191 0.0041677971 - 1530100 0.005047189 0.0022327246 0.0046774568 - 1530200 0.0045326232 0.0024750193 0.0046705087 - 1530300 0.0051208417 0.0025413105 0.0050217182 - 1530400 0.0043694259 0.0024226919 0.0045391326 - 1530500 0.0067688609 0.0025130737 0.0057917407 - 1530600 0.0071656045 0.0027064789 0.0061773185 - 1530700 0.0054819656 0.0031448532 0.0058001803 - 1530800 0.0051719879 0.0030697086 0.0055748903 - 1530900 0.0048095701 0.0024066583 0.0047362939 - 1531000 0.00381747 0.0022509714 0.0041000585 - 1531100 0.0048674171 0.0022381289 0.0045957841 - 1531200 0.0043323914 0.0018798702 0.0039783723 - 1531300 0.0052331631 0.0013995626 0.003934376 - 1531400 0.0049382309 0.001567074 0.0039590297 - 1531500 0.006134076 0.0021073591 0.0050785522 - 1531600 0.0048916553 0.0023610481 0.0047304437 - 1531700 0.0042175358 0.0020656414 0.0041085103 - 1531800 0.0038070387 0.0020010158 0.0038450501 - 1531900 0.0048229927 0.0017798739 0.004116011 - 1532000 0.0048150314 0.0017927779 0.0041250588 - 1532100 0.0057375277 0.0019803089 0.0047594239 - 1532200 0.0053579738 0.0019005988 0.0044958674 - 1532300 0.0054386889 0.0019873421 0.004621707 - 1532400 0.0059162583 0.0024460526 0.0053117403 - 1532500 0.0061818537 0.0027528337 0.0057471691 - 1532600 0.0047233049 0.0030605909 0.0053484417 - 1532700 0.0056459292 0.0028029732 0.0055377202 - 1532800 0.0053422351 0.0024691484 0.0050567935 - 1532900 0.0065092657 0.0024053876 0.0055583132 - 1533000 0.0060462098 0.0022792857 0.0052079186 - 1533100 0.005685922 0.0020038494 0.0047579679 - 1533200 0.0075167134 0.0023211018 0.0059620098 - 1533300 0.0060808008 0.0028718073 0.0058171952 - 1533400 0.0062765717 0.0030621368 0.0061023512 - 1533500 0.00460427 0.0027811304 0.0050113237 - 1533600 0.0065100384 0.0020003802 0.0051536801 - 1533700 0.0048556174 0.0019842618 0.0043362015 - 1533800 0.0041709224 0.0018056059 0.0038258964 - 1533900 0.0053745314 0.0021534749 0.0047567636 - 1534000 0.0037659201 0.0023537041 0.0041778216 - 1534100 0.0036466218 0.0019769107 0.0037432431 - 1534200 0.0060279252 0.0022206342 0.0051404105 - 1534300 0.006115698 0.0023957672 0.0053580584 - 1534400 0.0049554498 0.002475283 0.004875579 - 1534500 0.0054832062 0.0027737105 0.0054296386 - 1534600 0.0045081064 0.0025869044 0.0047705184 - 1534700 0.0044151631 0.0025153969 0.0046539916 - 1534800 0.0041230938 0.0027553798 0.0047525034 - 1534900 0.0046633107 0.0030190549 0.005277846 - 1535000 0.0052845571 0.0024124116 0.004972119 - 1535100 0.0057315732 0.0021904489 0.0049666797 - 1535200 0.0041943822 0.0024382849 0.0044699388 - 1535300 0.0046798444 0.0026180448 0.0048848445 - 1535400 0.0059602264 0.002513991 0.0054009756 - 1535500 0.0051666272 0.0029252944 0.0054278794 - 1535600 0.0044883906 0.0030169608 0.005191025 - 1535700 0.004595705 0.0027173102 0.0049433548 - 1535800 0.0061463803 0.0025968294 0.0055739824 - 1535900 0.0061020541 0.0024250976 0.0053807801 - 1536000 0.0057038054 0.0020521669 0.0048149477 - 1536100 0.0058541224 0.0019552126 0.0047908031 - 1536200 0.0043637241 0.0026999818 0.0048136607 - 1536300 0.0055830162 0.0029676081 0.0056718816 - 1536400 0.0046329866 0.0030257561 0.005269859 - 1536500 0.0051584037 0.0025718648 0.0050704666 - 1536600 0.0062931994 0.0027138874 0.0057621559 - 1536700 0.0055477348 0.0032772193 0.0059644034 - 1536800 0.0061132985 0.0031211556 0.0060822845 - 1536900 0.0037353255 0.0032931116 0.0051024099 - 1537000 0.0053229341 0.0033360067 0.0059143029 - 1537100 0.0046616737 0.0036970032 0.0059550014 - 1537200 0.0053915194 0.0035072117 0.0061187289 - 1537300 0.0032724893 0.003221151 0.004806263 - 1537400 0.0053023668 0.0027828608 0.0053511947 - 1537500 0.0037883469 0.0027495561 0.0045845366 - 1537600 0.0063525742 0.0024589749 0.005536003 - 1537700 0.0042816526 0.0021815656 0.0042554911 - 1537800 0.0056479305 0.0021442065 0.0048799229 - 1537900 0.0032893922 0.0027200582 0.0043133576 - 1538000 0.0051604343 0.0028036007 0.0053031861 - 1538100 0.0034857601 0.002791869 0.004480284 - 1538200 0.0056664172 0.0025072339 0.0052519047 - 1538300 0.0048544245 0.0026846791 0.005036041 - 1538400 0.0040331666 0.0029860913 0.0049396564 - 1538500 0.0059755281 0.0028701222 0.0057645186 - 1538600 0.0066036797 0.0030722133 0.0062708706 - 1538700 0.0047189396 0.0034666427 0.0057523791 - 1538800 0.004659844 0.0035587958 0.0058159077 - 1538900 0.0043701407 0.0039314831 0.0060482701 - 1539000 0.0047981421 0.0035056813 0.0058297814 - 1539100 0.0066725155 0.0030348935 0.0062668932 - 1539200 0.0060650031 0.0030912167 0.0060289526 - 1539300 0.0045336925 0.0033982708 0.0055942781 - 1539400 0.0053808188 0.003416013 0.0060223471 - 1539500 0.0044230855 0.0040012211 0.0061436532 - 1539600 0.0057512822 0.0038689584 0.0066547358 - 1539700 0.0046747125 0.0030331443 0.0052974582 - 1539800 0.0057471544 0.0024883643 0.0052721422 - 1539900 0.0052727931 0.0023233805 0.0048773896 - 1540000 0.0048078107 0.0024354863 0.0047642695 - 1540100 0.0050218408 0.0025955771 0.0050280313 - 1540200 0.0053913221 0.0025058668 0.0051172884 - 1540300 0.0045510564 0.0023882271 0.004592645 - 1540400 0.0076239389 0.0021672956 0.005860141 - 1540500 0.0053806617 0.002340476 0.004946734 - 1540600 0.0054819856 0.002576816 0.0052321528 - 1540700 0.0053811901 0.0028037649 0.0054102788 - 1540800 0.004879618 0.0027240799 0.0050876449 - 1540900 0.0060573709 0.0029010782 0.0058351172 - 1541000 0.0057019477 0.0026858834 0.0054477644 - 1541100 0.0074046968 0.0023714239 0.0059580739 - 1541200 0.0055972312 0.0022910696 0.0050022285 - 1541300 0.0048249319 0.0022072333 0.0045443097 - 1541400 0.0043642281 0.0022330614 0.0043469844 - 1541500 0.0041363049 0.0022069037 0.0042104263 - 1541600 0.0040764561 0.0021802991 0.0041548326 - 1541700 0.0049618281 0.0023332904 0.0047366759 - 1541800 0.0044962869 0.0021279203 0.0043058093 - 1541900 0.0052901953 0.0025363907 0.0050988291 - 1542000 0.0054502145 0.0027982366 0.0054381842 - 1542100 0.004911633 0.0030159773 0.0053950495 - 1542200 0.0044252069 0.0028000859 0.0049435456 - 1542300 0.0068383527 0.0024814318 0.0057937589 - 1542400 0.0054435906 0.0024453718 0.005082111 - 1542500 0.0054509609 0.0024175472 0.0050578564 - 1542600 0.0036104805 0.0029393433 0.0046881698 - 1542700 0.0043923032 0.0029686156 0.0050961374 - 1542800 0.0051299233 0.0026798668 0.0051646735 - 1542900 0.0062860742 0.0024221203 0.0054669375 - 1543000 0.0045391163 0.0024924781 0.0046911125 - 1543100 0.0057082868 0.0018544262 0.0046193776 - 1543200 0.0036724159 0.0017456333 0.0035244598 - 1543300 0.0037875389 0.0018219668 0.003656556 - 1543400 0.0050249733 0.00188866 0.0043226315 - 1543500 0.0057108104 0.0019696728 0.0047358465 - 1543600 0.0053842096 0.0022414983 0.0048494748 - 1543700 0.0051278902 0.0027391525 0.0052229743 - 1543800 0.0056986954 0.0025396286 0.0052999341 - 1543900 0.0055139982 0.0023338954 0.0050047383 - 1544000 0.0069820584 0.0024148014 0.005796736 - 1544100 0.0056641422 0.002334605 0.0050781738 - 1544200 0.0048784031 0.0021634979 0.0045264744 - 1544300 0.0052077988 0.0018358571 0.0043583847 - 1544400 0.0031008699 0.002039045 0.0035410289 - 1544500 0.0060038152 0.0020213919 0.0049294899 - 1544600 0.0064675682 0.0024790575 0.0056117859 - 1544700 0.0042751897 0.0027951202 0.0048659152 - 1544800 0.0040617944 0.0030382264 0.005005658 - 1544900 0.0057312871 0.0024612086 0.0052373008 - 1545000 0.0046632995 0.0023989823 0.004657768 - 1545100 0.0040421307 0.0022177581 0.0041756651 - 1545200 0.0058087131 0.0019594178 0.0047730132 - 1545300 0.0055474579 0.0023566146 0.0050436645 - 1545400 0.0051083646 0.0027243851 0.0051987492 - 1545500 0.0050934693 0.0025947986 0.0050619478 - 1545600 0.0065423819 0.0019655234 0.0051344896 - 1545700 0.0054545242 0.0014485508 0.004090586 - 1545800 0.0066364669 0.0016569879 0.0048715266 - 1545900 0.0058141766 0.0022519928 0.0050682345 - 1546000 0.0049244443 0.0024922621 0.0048775398 - 1546100 0.0058152561 0.0022357546 0.0050525193 - 1546200 0.0034717967 0.0025273329 0.0042089845 - 1546300 0.0043397674 0.0024036579 0.0045057328 - 1546400 0.0038928326 0.0022377344 0.0041233252 - 1546500 0.0052632168 0.0018595963 0.0044089669 - 1546600 0.0050994951 0.0020047226 0.0044747906 - 1546700 0.0059251157 0.0020748851 0.0049448631 - 1546800 0.0067560147 0.0022222418 0.0054946864 - 1546900 0.0047862267 0.0024343027 0.0047526313 - 1547000 0.004039567 0.0026486735 0.0046053388 - 1547100 0.004853204 0.0026391783 0.004989949 - 1547200 0.0041605206 0.002560574 0.0045758262 - 1547300 0.0050725544 0.0024429477 0.0048999663 - 1547400 0.0047186292 0.0023559648 0.0046415508 - 1547500 0.0048620048 0.0024245684 0.004779602 - 1547600 0.0048795018 0.0023836883 0.004747197 - 1547700 0.0054913161 0.0024660056 0.0051258619 - 1547800 0.0049288892 0.0023814311 0.0047688618 - 1547900 0.0058303621 0.0028562737 0.0056803553 - 1548000 0.0063821049 0.0035944731 0.0066858052 - 1548100 0.0058249545 0.0032486289 0.0060700912 - 1548200 0.0062438368 0.0034309212 0.0064552796 - 1548300 0.0056379986 0.003053987 0.0057848926 - 1548400 0.0059740347 0.0024700149 0.005363688 - 1548500 0.0038752622 0.0020529903 0.0039300705 - 1548600 0.0040219113 0.0021777208 0.0041258342 - 1548700 0.005942808 0.0019927524 0.0048713 - 1548800 0.0047153261 0.0023345067 0.0046184927 - 1548900 0.0049593488 0.0024369251 0.0048391097 - 1549000 0.0050381079 0.002264049 0.0047043825 - 1549100 0.0059562932 0.0021892915 0.005074371 - 1549200 0.0072277467 0.0027671292 0.006268069 - 1549300 0.0058049349 0.0031527596 0.0059645249 - 1549400 0.0047528117 0.0033128605 0.0056150036 - 1549500 0.0059819052 0.0035221725 0.0064196578 - 1549600 0.0044743048 0.0031282783 0.0052955197 - 1549700 0.0053799847 0.0028112756 0.0054172057 - 1549800 0.0055432839 0.0029213875 0.0056064156 - 1549900 0.0045586922 0.0026948533 0.0049029698 - 1550000 0.0069249362 0.0024560388 0.0058103047 - 1550100 0.0061589195 0.0021452097 0.0051284363 - 1550200 0.0043431459 0.0022612974 0.0043650087 - 1550300 0.0060581698 0.0022047047 0.0051391307 - 1550400 0.0074359927 0.0024189681 0.0060207771 - 1550500 0.0048172184 0.0023341974 0.0046675375 - 1550600 0.0051539578 0.0022709805 0.0047674288 - 1550700 0.0054919653 0.0022913658 0.0049515365 - 1550800 0.0069713208 0.0020794296 0.0054561632 - 1550900 0.0051903058 0.0021099188 0.0046239732 - 1551000 0.0066815544 0.0022508274 0.0054872053 - 1551100 0.0048906283 0.0021545887 0.0045234868 - 1551200 0.0049591075 0.0019567834 0.0043588511 - 1551300 0.0064467673 0.0023898241 0.005512477 - 1551400 0.0053407448 0.0026481821 0.0052351053 - 1551500 0.0048855794 0.002207671 0.0045741236 - 1551600 0.0062588298 0.0023519662 0.0053835869 - 1551700 0.0060434265 0.0023575313 0.005284816 - 1551800 0.0039079931 0.0024641166 0.0043570508 - 1551900 0.0040319075 0.0022303829 0.0041833382 - 1552000 0.0040647749 0.0019093305 0.0038782058 - 1552100 0.0046510565 0.0020988722 0.0043517277 - 1552200 0.0059982107 0.0024147057 0.005320089 - 1552300 0.0042683422 0.0031686023 0.0052360805 - 1552400 0.0068953841 0.0027698477 0.0061097994 - 1552500 0.0054199652 0.0027353543 0.0053606499 - 1552600 0.003778754 0.003144417 0.004974751 - 1552700 0.0041779641 0.0029711369 0.0049948383 - 1552800 0.0043711772 0.0029289084 0.0050461973 - 1552900 0.0040092099 0.0032461781 0.0051881391 - 1553000 0.0064047027 0.0028528994 0.0059551773 - 1553100 0.0059759397 0.002806705 0.0057013008 - 1553200 0.005668937 0.0032952544 0.0060411457 - 1553300 0.0057278984 0.0030868769 0.0058613277 - 1553400 0.0057179503 0.0030613168 0.005830949 - 1553500 0.0042405778 0.0033753112 0.0054293411 - 1553600 0.0057235718 0.0037012504 0.0064736055 - 1553700 0.0063779192 0.0034808355 0.0065701401 - 1553800 0.0062900426 0.0029304415 0.0059771809 - 1553900 0.0050642523 0.0025688157 0.0050218129 - 1554000 0.0061167413 0.0024950424 0.005457839 - 1554100 0.0037144377 0.0024019687 0.0042011494 - 1554200 0.0059503893 0.0027513148 0.0056335346 - 1554300 0.0051254132 0.0029763478 0.0054589698 - 1554400 0.0054766027 0.0028583144 0.0055110438 - 1554500 0.0060667613 0.0025452424 0.0054838299 - 1554600 0.0061854464 0.0022397093 0.0052357849 - 1554700 0.0044567525 0.0022637448 0.0044224843 - 1554800 0.0040499379 0.0025823078 0.0045439964 - 1554900 0.0045746892 0.0023307619 0.004546627 - 1555000 0.0049350472 0.0020514231 0.0044418366 - 1555100 0.0058824909 0.0024944885 0.00534382 - 1555200 0.0066637054 0.0021763634 0.0054040957 - 1555300 0.0046453025 0.0024603376 0.0047104061 - 1555400 0.0046565008 0.0025757797 0.0048312722 - 1555500 0.0052436872 0.002298897 0.004838808 - 1555600 0.0051774016 0.0024582895 0.0049660934 - 1555700 0.0073400035 0.0029532156 0.0065085298 - 1555800 0.0061774254 0.0035498309 0.0065420214 - 1555900 0.0051134144 0.0034919197 0.0059687298 - 1556000 0.0050143806 0.0034916693 0.00592051 - 1556100 0.0062986163 0.0033352973 0.0063861895 - 1556200 0.0057500759 0.0030602233 0.0058454163 - 1556300 0.0047394034 0.0030563036 0.0053519521 - 1556400 0.0034341861 0.0026825998 0.0043460337 - 1556500 0.0034289247 0.0027053653 0.0043662507 - 1556600 0.0038557901 0.0026460385 0.0045136868 - 1556700 0.0051920668 0.002235379 0.0047502864 - 1556800 0.0052298235 0.0022065536 0.0047397494 - 1556900 0.0048180742 0.0020493277 0.0043830824 - 1557000 0.0063224293 0.0021978863 0.005260313 - 1557100 0.005333443 0.0027405498 0.0053239362 - 1557200 0.0065811601 0.0027412408 0.0059289902 - 1557300 0.0045788036 0.0022226432 0.0044405011 - 1557400 0.0052466238 0.0020431062 0.0045844395 - 1557500 0.0057542459 0.0023734926 0.0051607055 - 1557600 0.0054325684 0.0028601809 0.0054915812 - 1557700 0.0059323596 0.0034743464 0.006347833 - 1557800 0.0062371125 0.0029386684 0.0059597697 - 1557900 0.0050294224 0.0021870902 0.0046232167 - 1558000 0.0045626958 0.0019046302 0.0041146859 - 1558100 0.0062439299 0.0017423428 0.0047667464 - 1558200 0.0046561796 0.0022872704 0.0045426075 - 1558300 0.0052643651 0.0023708701 0.0049207969 - 1558400 0.0063084428 0.0019318765 0.0049875285 - 1558500 0.0041715403 0.0022256818 0.0042462716 - 1558600 0.0054211659 0.0027167511 0.0053426283 - 1558700 0.0062450057 0.0028337817 0.0058587063 - 1558800 0.0072601654 0.0025891125 0.0061057552 - 1558900 0.005186857 0.0027040573 0.0052164412 - 1559000 0.0041016859 0.0028150759 0.00480183 - 1559100 0.0057702979 0.0024221651 0.0052171532 - 1559200 0.0054699302 0.0018025774 0.0044520749 - 1559300 0.0067612737 0.0021292969 0.0054042889 - 1559400 0.0059704929 0.0024386761 0.0053306336 - 1559500 0.0051493562 0.0026458687 0.0051400881 - 1559600 0.0049171623 0.0026633958 0.0050451462 - 1559700 0.005404746 0.0029545418 0.0055724656 - 1559800 0.0055039894 0.0030164685 0.0056824633 - 1559900 0.0037630424 0.0030853407 0.0049080644 - 1560000 0.0054813426 0.0028547781 0.0055098034 - 1560100 0.0030315672 0.0028123228 0.0042807382 - 1560200 0.004358684 0.0026426565 0.0047538941 - 1560300 0.0065646563 0.0024969998 0.0056767552 - 1560400 0.0050948868 0.0021671856 0.0046350214 - 1560500 0.0035610079 0.0016874899 0.0034123532 - 1560600 0.0058460608 0.0017116558 0.0045433415 - 1560700 0.0047432978 0.0022116892 0.0045092241 - 1560800 0.0061266891 0.0022149023 0.0051825173 - 1560900 0.0059504999 0.0024796307 0.0053619041 - 1561000 0.0046876429 0.0024955075 0.0047660845 - 1561100 0.0051938449 0.0028757402 0.0053915089 - 1561200 0.006174337 0.0026177415 0.005608436 - 1561300 0.0065804522 0.0025056491 0.0056930557 - 1561400 0.0059930059 0.0024234832 0.0053263455 - 1561500 0.0033781749 0.0022381494 0.0038744529 - 1561600 0.0044425672 0.0014729508 0.0036248192 - 1561700 0.0052424396 0.0014762713 0.004015578 - 1561800 0.006625354 0.0015278728 0.0047370286 - 1561900 0.0037767739 0.0021981998 0.0040275746 - 1562000 0.0033608838 0.0023049965 0.0039329246 - 1562100 0.0050261525 0.0019058826 0.0043404253 - 1562200 0.004967475 0.0016534838 0.0040596045 - 1562300 0.004178352 0.0023251041 0.0043489933 - 1562400 0.0054909014 0.0021576367 0.004817292 - 1562500 0.0051843334 0.0020275755 0.004538737 - 1562600 0.0053732832 0.0024466815 0.0050493655 - 1562700 0.0051696226 0.0022098629 0.0047138988 - 1562800 0.0045019775 0.0022927022 0.0044733475 - 1562900 0.0049725643 0.0020511102 0.0044596961 - 1563000 0.0041735559 0.0017493355 0.0037709016 - 1563100 0.0055456854 0.0016832239 0.0043694153 - 1563200 0.0050891646 0.0023222491 0.0047873132 - 1563300 0.0053023055 0.0023700212 0.0049383254 - 1563400 0.0043133827 0.0025059364 0.0045952311 - 1563500 0.0037285113 0.0020546483 0.0038606459 - 1563600 0.0055501961 0.0018977481 0.0045861243 - 1563700 0.0053362993 0.0024227831 0.0050075531 - 1563800 0.0048692272 0.002541243 0.004899775 - 1563900 0.0059862676 0.0026100128 0.0055096112 - 1564000 0.0048507576 0.0027180264 0.0050676121 - 1564100 0.0067064316 0.0024902449 0.0057386728 - 1564200 0.0060531888 0.0021232645 0.0050552779 - 1564300 0.0052194545 0.0022621795 0.0047903528 - 1564400 0.0066194469 0.0025362183 0.0057425129 - 1564500 0.007056341 0.0026929474 0.0061108626 - 1564600 0.005544745 0.0027331937 0.0054189295 - 1564700 0.0055009836 0.002739827 0.005404366 - 1564800 0.0042922053 0.0026524062 0.0047314431 - 1564900 0.00366396 0.0026086845 0.0043834151 - 1565000 0.0037459385 0.0025970483 0.0044114872 - 1565100 0.0055830437 0.0024963873 0.0052006741 - 1565200 0.0054999604 0.0021718431 0.0048358864 - 1565300 0.004859061 0.0024118025 0.0047654102 - 1565400 0.0067881569 0.0022593598 0.0055473733 - 1565500 0.0060846757 0.0021094329 0.0050566977 - 1565600 0.0045404819 0.0025228103 0.0047221062 - 1565700 0.0035961664 0.0026850348 0.0044269279 - 1565800 0.0064949471 0.0027537403 0.0058997303 - 1565900 0.005743465 0.0031262197 0.0059082105 - 1566000 0.0066817846 0.0032969284 0.0065334178 - 1566100 0.007094427 0.0029889834 0.0064253465 - 1566200 0.0058900617 0.0032229029 0.0060759015 - 1566300 0.0069190386 0.0028646491 0.0062160584 - 1566400 0.0068824773 0.0024631472 0.0057968471 - 1566500 0.0052997844 0.002143086 0.004710169 - 1566600 0.0048612554 0.0021424928 0.0044971634 - 1566700 0.0045941393 0.0019185175 0.0041438037 - 1566800 0.0074168117 0.0018253797 0.0054178979 - 1566900 0.0060304123 0.0025360738 0.0054570548 - 1567000 0.0055494858 0.0027317071 0.0054197393 - 1567100 0.0041388506 0.0027095807 0.0047143364 - 1567200 0.0032499057 0.0024424348 0.0040166078 - 1567300 0.0048222 0.0022037633 0.0045395164 - 1567400 0.0038035159 0.0017526463 0.0035949743 - 1567500 0.004058264 0.0019774415 0.0039431632 - 1567600 0.00416427 0.0021447974 0.0041618656 - 1567700 0.0046170581 0.0018898239 0.0041262114 - 1567800 0.0059122966 0.0019729202 0.0048366889 - 1567900 0.0041760817 0.001869168 0.0038919576 - 1568000 0.0040028232 0.0021096197 0.0040484872 - 1568100 0.0055203241 0.0022428513 0.0049167583 - 1568200 0.0058737343 0.0026171567 0.0054622467 - 1568300 0.0052930766 0.0028405759 0.0054044098 - 1568400 0.0054994628 0.0026289274 0.0052927297 - 1568500 0.0056738462 0.0027745399 0.0055228092 - 1568600 0.0044148165 0.0029221424 0.0050605691 - 1568700 0.005291887 0.0026219008 0.0051851586 - 1568800 0.0054021458 0.0026798166 0.005296481 - 1568900 0.005671631 0.0025323858 0.0052795821 - 1569000 0.004481767 0.0024064009 0.0045772568 - 1569100 0.0055877592 0.0026664611 0.005373032 - 1569200 0.0049932905 0.0024248775 0.0048435026 - 1569300 0.0050379689 0.0027672307 0.0052074969 - 1569400 0.0042708731 0.0030060136 0.0050747177 - 1569500 0.00602201 0.002915038 0.0058319491 - 1569600 0.0063162299 0.0027150678 0.0057744916 - 1569700 0.004944306 0.0024803496 0.0048752478 - 1569800 0.0058631206 0.0023514876 0.0051914366 - 1569900 0.0068159234 0.0026309511 0.005932414 - 1570000 0.004585661 0.0029261631 0.0051473426 - 1570100 0.004618518 0.0026638327 0.0049009273 - 1570200 0.0063847743 0.0024806428 0.0055732679 - 1570300 0.0041964531 0.0025427917 0.0045754486 - 1570400 0.0039845467 0.0022865574 0.0042165722 - 1570500 0.0046699432 0.0017474231 0.0040094269 - 1570600 0.003554783 0.0017308678 0.0034527158 - 1570700 0.0030641801 0.0016265628 0.003110775 - 1570800 0.0045729537 0.0016679825 0.0038830069 - 1570900 0.0035930276 0.001965702 0.0037060747 - 1571000 0.0048295172 0.0020249815 0.0043642789 - 1571100 0.0051350458 0.0016258908 0.0041131786 - 1571200 0.0043058586 0.0017167317 0.0038023819 - 1571300 0.0045808344 0.0021382498 0.0043570915 - 1571400 0.0054078692 0.0022294987 0.0048489353 - 1571500 0.0043733645 0.0024268502 0.0045451987 - 1571600 0.0057357025 0.0024287463 0.0052069771 - 1571700 0.0061519929 0.0028381494 0.005818021 - 1571800 0.0058516003 0.0028587335 0.0056931024 - 1571900 0.0064073845 0.0028820766 0.0059856535 - 1572000 0.0060670239 0.0023682508 0.0053069655 - 1572100 0.0070304053 0.0022075801 0.0056129327 - 1572200 0.0041775114 0.0020822387 0.0041057208 - 1572300 0.0040177918 0.0019885155 0.0039346334 - 1572400 0.0052246177 0.0021287541 0.0046594283 - 1572500 0.0049400018 0.0018238928 0.0042167062 - 1572600 0.0051556601 0.0017600456 0.0042573184 - 1572700 0.003688053 0.0020809909 0.0038673915 - 1572800 0.0048818458 0.0018357934 0.0042004374 - 1572900 0.0063159171 0.001740161 0.0047994334 - 1573000 0.0053955484 0.0022730991 0.0048865678 - 1573100 0.0046575065 0.002566298 0.0048222777 - 1573200 0.0043762553 0.0024991601 0.0046189087 - 1573300 0.0055498503 0.0022597692 0.004947978 - 1573400 0.005588443 0.0020974263 0.0048043284 - 1573500 0.0051597873 0.0022748968 0.0047741688 - 1573600 0.004724524 0.0023916947 0.004680136 - 1573700 0.0051937243 0.0022737852 0.0047894954 - 1573800 0.0048522009 0.0022492778 0.0045995627 - 1573900 0.0051051012 0.0021429441 0.0046157275 - 1574000 0.0044737121 0.0023841149 0.0045510692 - 1574100 0.0053665113 0.0025369493 0.0051363532 - 1574200 0.0038852634 0.00269673 0.0045786545 - 1574300 0.0061255855 0.0022076039 0.0051746844 - 1574400 0.0056418003 0.0019697879 0.0047025349 - 1574500 0.0047851497 0.0018530358 0.0041708427 - 1574600 0.0041814713 0.002099736 0.0041251362 - 1574700 0.0060582406 0.0023489209 0.0052833812 - 1574800 0.0045459003 0.0026265761 0.0048284965 - 1574900 0.005903515 0.0025951479 0.005454663 - 1575000 0.0051688766 0.0023470515 0.0048507261 - 1575100 0.0051336584 0.0019136882 0.004400304 - 1575200 0.006510209 0.0017463165 0.004899699 - 1575300 0.0075866137 0.0017365152 0.0054112812 - 1575400 0.0058238827 0.0019425154 0.0047634586 - 1575500 0.0035118439 0.0022305427 0.0039315921 - 1575600 0.0036827319 0.0022668681 0.0040506914 - 1575700 0.0053042917 0.0022867425 0.0048560088 - 1575800 0.0039034628 0.0024084226 0.0042991624 - 1575900 0.0047127807 0.0020795594 0.0043623126 - 1576000 0.005338424 0.0023309655 0.0049167646 - 1576100 0.0063098201 0.0025646648 0.0056209839 - 1576200 0.0040858156 0.0034101284 0.0053891954 - 1576300 0.0045580215 0.003158786 0.0053665777 - 1576400 0.0055946847 0.0025880959 0.0052980212 - 1576500 0.0038975649 0.0026330796 0.0045209626 - 1576600 0.0045379611 0.0026105917 0.0048086666 - 1576700 0.0043662126 0.0020267962 0.0041416805 - 1576800 0.00539947 0.0017290917 0.00434446 - 1576900 0.0073896777 0.001654251 0.0052336261 - 1577000 0.0065524155 0.0020587501 0.0052325763 - 1577100 0.0060168985 0.0021254348 0.00503987 - 1577200 0.0068182534 0.0022116545 0.005514246 - 1577300 0.0052581477 0.0025621729 0.0051090882 - 1577400 0.0034835981 0.002481416 0.0041687838 - 1577500 0.0057718552 0.0023391018 0.0051348442 - 1577600 0.0048415649 0.0023913012 0.0047364342 - 1577700 0.0049246362 0.0021017696 0.0044871402 - 1577800 0.0048201259 0.0022311365 0.004565885 - 1577900 0.0053458584 0.0025091337 0.0050985339 - 1578000 0.0070270158 0.0028711885 0.0062748993 - 1578100 0.0059240764 0.0032821841 0.0061516586 - 1578200 0.006257051 0.0026032668 0.0056340259 - 1578300 0.00457323 0.0023725588 0.0045877171 - 1578400 0.0059782718 0.0023634342 0.0052591597 - 1578500 0.0044374097 0.0023305084 0.0044798788 - 1578600 0.0052147675 0.0020414369 0.0045673399 - 1578700 0.0045512293 0.0020716588 0.0042761604 - 1578800 0.0043554681 0.0023776294 0.0044873092 - 1578900 0.005595776 0.0022787101 0.0049891641 - 1579000 0.0038411951 0.0020431861 0.003903765 - 1579100 0.0048158991 0.0023391254 0.0046718265 - 1579200 0.005008712 0.0026474081 0.005073503 - 1579300 0.0061811962 0.0023799971 0.005374014 - 1579400 0.0033525994 0.0025564925 0.0041804079 - 1579500 0.0065727218 0.0018775994 0.0050612615 - 1579600 0.0040759281 0.0021520968 0.0041263745 - 1579700 0.0047645885 0.0027848336 0.0050926811 - 1579800 0.0044147898 0.0027557918 0.0048942056 - 1579900 0.0045653269 0.0029750638 0.0051863939 - 1580000 0.0039609959 0.0023674262 0.0042860336 - 1580100 0.0060429259 0.0018431199 0.0047701621 - 1580200 0.004022891 0.002059016 0.0040076039 - 1580300 0.005544227 0.0022127748 0.0048982597 - 1580400 0.0062097975 0.0025707318 0.0055786024 - 1580500 0.004073454 0.0033446527 0.0053177319 - 1580600 0.007933819 0.0028807078 0.0067236514 - 1580700 0.005172183 0.0031580415 0.0056633177 - 1580800 0.0057098872 0.0024851053 0.0052508319 - 1580900 0.0062766807 0.0026643365 0.0057046037 - 1581000 0.0042536845 0.0028545405 0.004914919 - 1581100 0.004446252 0.0025549116 0.0047085649 - 1581200 0.0048964643 0.002423392 0.0047951169 - 1581300 0.0046906057 0.0024415751 0.0047135872 - 1581400 0.0061506853 0.0021826275 0.0051618657 - 1581500 0.0038872016 0.0027125782 0.0045954415 - 1581600 0.004845834 0.0026477711 0.004994972 - 1581700 0.0053802092 0.0021363182 0.004742357 - 1581800 0.0034166458 0.0023547415 0.0040096794 - 1581900 0.0042536831 0.0027583688 0.0048187465 - 1582000 0.0053588439 0.0027099827 0.0053056727 - 1582100 0.0057443399 0.002820329 0.0056027437 - 1582200 0.0049724137 0.002916229 0.0053247418 - 1582300 0.0034221983 0.0029205806 0.0045782079 - 1582400 0.0039625375 0.0026142987 0.0045336528 - 1582500 0.005738429 0.0023236075 0.005103159 - 1582600 0.0048558945 0.0027813053 0.0051333792 - 1582700 0.0056701606 0.0029696602 0.0057161442 - 1582800 0.0043288387 0.0029857465 0.0050825277 - 1582900 0.0044882414 0.0026877424 0.0048617344 - 1583000 0.0054390726 0.0020632727 0.0046978235 - 1583100 0.0051871231 0.0019511516 0.0044636643 - 1583200 0.0060570447 0.0022511711 0.0051850522 - 1583300 0.0057237115 0.0029107612 0.005683184 - 1583400 0.0079339292 0.0033799998 0.0072229967 - 1583500 0.0058444709 0.0033998798 0.0062307954 - 1583600 0.0045169617 0.0029584633 0.0051463666 - 1583700 0.0060801654 0.0024822532 0.0054273333 - 1583800 0.005887333 0.0023676505 0.0052193274 - 1583900 0.0064247921 0.0023074655 0.0054194741 - 1584000 0.006911764 0.0023508953 0.005698781 - 1584100 0.0061378638 0.0024594911 0.0054325189 - 1584200 0.0044543025 0.0025713587 0.0047289115 - 1584300 0.0046215615 0.0027754768 0.0050140457 - 1584400 0.0054444282 0.0026711437 0.0053082886 - 1584500 0.0061435879 0.0021812537 0.005157054 - 1584600 0.005089001 0.0022469563 0.0047119412 - 1584700 0.0038361917 0.0026236127 0.0044817681 - 1584800 0.0051359452 0.0027387524 0.0052264759 - 1584900 0.0056206517 0.0022273997 0.0049499029 - 1585000 0.0055020532 0.0021958311 0.0048608881 - 1585100 0.0056447842 0.002049358 0.0047835504 - 1585200 0.0051968172 0.0022188799 0.0047360882 - 1585300 0.004360805 0.002863436 0.0049757009 - 1585400 0.005571869 0.0029366314 0.0056355055 - 1585500 0.0052485817 0.0025134822 0.0050557639 - 1585600 0.0062999041 0.0021440065 0.0051955225 - 1585700 0.004817355 0.0021832009 0.0045166073 - 1585800 0.0045160556 0.0018375262 0.0040249906 - 1585900 0.0046135889 0.0019863165 0.0042210236 - 1586000 0.0065022664 0.0025320832 0.0056816185 - 1586100 0.0050580105 0.0025146104 0.0049645843 - 1586200 0.0061940693 0.0023587473 0.0053589997 - 1586300 0.0051468949 0.0020418691 0.0045348963 - 1586400 0.004739279 0.0022793706 0.0045749589 - 1586500 0.0037871467 0.0029212508 0.00475565 - 1586600 0.0055036793 0.0025312496 0.0051970943 - 1586700 0.0058667521 0.0020467441 0.0048884521 - 1586800 0.0054855627 0.0021577031 0.0048147725 - 1586900 0.0053854434 0.0023506257 0.0049591998 - 1587000 0.0045905974 0.0026478487 0.0048714194 - 1587100 0.0055986743 0.0024560255 0.0051678834 - 1587200 0.0060409611 0.0025748165 0.005500907 - 1587300 0.0063704 0.0024081259 0.0054937884 - 1587400 0.0058138279 0.0023381184 0.0051541913 - 1587500 0.0045974353 0.0024286617 0.0046555444 - 1587600 0.0046891144 0.0028648672 0.005136157 - 1587700 0.0048080653 0.0030058588 0.0053347655 - 1587800 0.0051723977 0.0032189114 0.0057242915 - 1587900 0.0047430765 0.002796949 0.0050943767 - 1588000 0.0056900378 0.0021470682 0.0049031803 - 1588100 0.0030208379 0.0020844838 0.0035477021 - 1588200 0.0062217503 0.0018153351 0.0048289954 - 1588300 0.0039330395 0.0020960023 0.0040010683 - 1588400 0.005020379 0.0024511254 0.0048828714 - 1588500 0.004927905 0.0024968872 0.0048838412 - 1588600 0.0057974814 0.0024684781 0.0052766332 - 1588700 0.0042895867 0.0027719042 0.0048496728 - 1588800 0.0052065954 0.002703673 0.0052256177 - 1588900 0.0060744684 0.0020877754 0.005030096 - 1589000 0.0067735658 0.0016248491 0.0049057951 - 1589100 0.005212219 0.0016203838 0.0041450524 - 1589200 0.004582361 0.0014005214 0.0036201025 - 1589300 0.0041554592 0.00202873 0.0040415305 - 1589400 0.0038962468 0.0023230755 0.0042103201 - 1589500 0.0049098188 0.0018285982 0.0042067917 - 1589600 0.0052337674 0.0015913847 0.0041264908 - 1589700 0.0050503026 0.0018760557 0.004322296 - 1589800 0.0040185041 0.0022484616 0.0041949245 - 1589900 0.0057769253 0.002283386 0.0050815842 - 1590000 0.0052837519 0.0018854349 0.0044447523 - 1590100 0.0061601181 0.0019418049 0.0049256121 - 1590200 0.003931325 0.0022810722 0.0041853077 - 1590300 0.0049976317 0.0021847809 0.0046055088 - 1590400 0.0039975447 0.0018518217 0.0037881324 - 1590500 0.004673434 0.0024846366 0.0047483312 - 1590600 0.0052058563 0.0023016133 0.0048232 - 1590700 0.0071779323 0.0020372794 0.0055140903 - 1590800 0.0048703577 0.0022512297 0.0046103092 - 1590900 0.0049131031 0.0022913015 0.0046710858 - 1591000 0.005474445 0.0020360191 0.0046877034 - 1591100 0.0049654871 0.0020036224 0.0044087803 - 1591200 0.0044751139 0.0020369531 0.0042045864 - 1591300 0.0043362084 0.0021094425 0.0042097934 - 1591400 0.0047325047 0.0022097231 0.0045020301 - 1591500 0.0053436093 0.0021081032 0.0046964139 - 1591600 0.0069435561 0.0021090135 0.0054722985 - 1591700 0.0040500539 0.0023832782 0.004345023 - 1591800 0.0060395935 0.0020003979 0.004925826 - 1591900 0.0045837452 0.001762029 0.0039822805 - 1592000 0.0039098664 0.0018656185 0.00375946 - 1592100 0.0040513012 0.0019797538 0.0039421029 - 1592200 0.0047614787 0.0015732545 0.0038795957 - 1592300 0.0046774242 0.0018397809 0.0041054082 - 1592400 0.0051032564 0.0022423299 0.0047142197 - 1592500 0.0057913389 0.0022762512 0.005081431 - 1592600 0.0058437728 0.0021445698 0.0049751473 - 1592700 0.005742192 0.0024309453 0.0052123196 - 1592800 0.0057013034 0.0029059839 0.0056675528 - 1592900 0.0045920667 0.002871792 0.0050960744 - 1593000 0.0049385075 0.0034191867 0.0058112763 - 1593100 0.0041099351 0.0037588133 0.0057495631 - 1593200 0.0058538887 0.0032985485 0.0061340258 - 1593300 0.0037264445 0.0024945843 0.0042995808 - 1593400 0.004502 0.002635392 0.0048160482 - 1593500 0.0048451397 0.0033763713 0.0057232358 - 1593600 0.0042784051 0.0035392669 0.0056116194 - 1593700 0.0064201055 0.0027718358 0.0058815744 - 1593800 0.0040364408 0.0025656338 0.0045207848 - 1593900 0.0048964719 0.0026656127 0.0050373413 - 1594000 0.0038329339 0.0024715488 0.0043281262 - 1594100 0.0057414836 0.0021028368 0.0048838679 - 1594200 0.0050067054 0.0022671352 0.0046922581 - 1594300 0.0037189858 0.002442526 0.0042439097 - 1594400 0.0032691329 0.0025327263 0.0041162126 - 1594500 0.0033164759 0.0024706847 0.0040771027 - 1594600 0.0051975795 0.0023696234 0.004887201 - 1594700 0.0045323389 0.0023258662 0.0045212179 - 1594800 0.0056431996 0.0022419514 0.0049753763 - 1594900 0.0049950709 0.0023760932 0.0047955807 - 1595000 0.0068024975 0.0023937858 0.0056887455 - 1595100 0.0047682876 0.002643377 0.0049530163 - 1595200 0.0050407713 0.0033389567 0.0057805803 - 1595300 0.004817933 0.0029572314 0.0052909177 - 1595400 0.0044855328 0.0025750951 0.0047477751 - 1595500 0.0057756774 0.0024672368 0.0052648306 - 1595600 0.005597854 0.0024045082 0.0051159687 - 1595700 0.0058049163 0.0023731212 0.0051848776 - 1595800 0.0048875257 0.0025252662 0.0048926615 - 1595900 0.0055818303 0.0027551668 0.0054588658 - 1596000 0.0058369707 0.0029454581 0.0057727409 - 1596100 0.0047589104 0.0029040067 0.0052091039 - 1596200 0.0054839413 0.0022022657 0.0048585498 - 1596300 0.0075266758 0.002274552 0.0059202856 - 1596400 0.003489475 0.0024234604 0.0041136749 - 1596500 0.0055121816 0.0027867003 0.0054566632 - 1596600 0.0053764957 0.0027413863 0.0053456264 - 1596700 0.0061997062 0.0022582804 0.0052612631 - 1596800 0.0060875951 0.0023891421 0.005337821 - 1596900 0.0054119836 0.002393014 0.0050144435 - 1597000 0.0064647105 0.0021674766 0.0052988207 - 1597100 0.0057005573 0.0017665011 0.0045277085 - 1597200 0.0046045828 0.0017922838 0.0040226286 - 1597300 0.0054231526 0.0014276233 0.0040544628 - 1597400 0.0059075686 0.0016598443 0.0045213229 - 1597500 0.0056974648 0.0019669245 0.004726634 - 1597600 0.0060259872 0.0025141878 0.0054330253 - 1597700 0.0047386317 0.0028752842 0.0051705589 - 1597800 0.004024535 0.0030892225 0.0050386066 - 1597900 0.0055453721 0.0027374835 0.0054235231 - 1598000 0.0063957237 0.0024912787 0.0055892074 - 1598100 0.0049296633 0.0024005768 0.0047883825 - 1598200 0.0055704404 0.0021636528 0.0048618349 - 1598300 0.0043974454 0.0026882539 0.0048182665 - 1598400 0.0055970167 0.0028214825 0.0055325375 - 1598500 0.0048436188 0.0025159258 0.0048620536 - 1598600 0.0058167728 0.0019790813 0.0047965806 - 1598700 0.0046816077 0.0020468852 0.004314539 - 1598800 0.004910951 0.0019988004 0.0043775423 - 1598900 0.0052630188 0.0017776498 0.0043269245 - 1599000 0.0041792012 0.0017650867 0.0037893873 - 1599100 0.0043451789 0.0020188283 0.0041235243 - 1599200 0.0049781157 0.0020039727 0.0044152475 - 1599300 0.0060722229 0.0017117198 0.0046529528 - 1599400 0.0069956048 0.0016397563 0.0050282524 - 1599500 0.0051306505 0.0017304548 0.0042156136 - 1599600 0.0052463366 0.0016726189 0.0042138132 - 1599700 0.0039914895 0.0018541543 0.003787532 - 1599800 0.0055462877 0.0018171214 0.0045036045 - 1599900 0.0034377879 0.0021101955 0.003775374 - 1600000 0.0063423738 0.0013923529 0.0044644402 - 1600100 0.004941173 0.0013082215 0.0037016021 - 1600200 0.0056809893 0.0015322894 0.0042840186 - 1600300 0.0051488717 0.0019520747 0.0044460594 - 1600400 0.0059184055 0.0018650426 0.0047317702 - 1600500 0.0059221076 0.0023119163 0.0051804372 - 1600600 0.0048488837 0.0026175886 0.0049662666 - 1600700 0.0050318854 0.0025068568 0.0049441763 - 1600800 0.0047527624 0.0020908318 0.0043929511 - 1600900 0.0043936014 0.0015765475 0.0037046982 - 1601000 0.0037157943 0.0018904952 0.0036903331 - 1601100 0.0049551976 0.0017723139 0.0041724878 - 1601200 0.003436793 0.0018172682 0.0034819648 - 1601300 0.003684736 0.0020870152 0.0038718092 - 1601400 0.0042919379 0.0021504689 0.0042293763 - 1601500 0.0056278829 0.0021258754 0.0048518811 - 1601600 0.0062361655 0.0020246025 0.0050452452 - 1601700 0.0053370283 0.0020925117 0.0046776348 - 1601800 0.0056527359 0.0019987693 0.0047368133 - 1601900 0.0050533013 0.0020049214 0.0044526143 - 1602000 0.0046857148 0.0019438343 0.0042134774 - 1602100 0.0048185564 0.001923807 0.0042577953 - 1602200 0.0038847128 0.0020160991 0.0038977569 - 1602300 0.0044476679 0.0018843631 0.0040387023 - 1602400 0.0045779074 0.0019511336 0.0041685574 - 1602500 0.0054753114 0.0017115182 0.0043636221 - 1602600 0.0038114378 0.0022823745 0.0041285396 - 1602700 0.0056898258 0.0020694887 0.0048254981 - 1602800 0.0049016459 0.0019655073 0.0043397421 - 1602900 0.0042102547 0.0023110241 0.0043503662 - 1603000 0.0049342351 0.0021056024 0.0044956225 - 1603100 0.0050260846 0.0020352552 0.0044697649 - 1603200 0.0044775376 0.00218468 0.0043534873 - 1603300 0.004580155 0.0018033758 0.0040218884 - 1603400 0.0050143584 0.0015302665 0.0039590963 - 1603500 0.0052364983 0.0019732466 0.0045096754 - 1603600 0.0055187567 0.0022681286 0.0049412764 - 1603700 0.0050013711 0.0022331909 0.00465573 - 1603800 0.0059395131 0.0030138046 0.0058907562 - 1603900 0.0069860915 0.0028200216 0.0062039096 - 1604000 0.0065162123 0.0027574132 0.0059137036 - 1604100 0.0043773052 0.0031415138 0.005261771 - 1604200 0.0043635877 0.0031826749 0.0052962877 - 1604300 0.0051109284 0.0027722156 0.0052478215 - 1604400 0.0053692828 0.0028988645 0.0054996109 - 1604500 0.0046242314 0.0031473764 0.0053872384 - 1604600 0.0058259116 0.0027373207 0.0055592466 - 1604700 0.0062951111 0.0025161468 0.0055653412 - 1604800 0.0047151438 0.0023653119 0.0046492097 - 1604900 0.0051799152 0.0024508226 0.004959844 - 1605000 0.0062943142 0.0024429124 0.0054917209 - 1605100 0.0063855262 0.0024059264 0.0054989157 - 1605200 0.0061103126 0.0024267276 0.0053864103 - 1605300 0.0048723043 0.0027478424 0.0051078648 - 1605400 0.0048573582 0.0026403848 0.0049931677 - 1605500 0.0028884072 0.0026554499 0.0040545221 - 1605600 0.0040538472 0.002735714 0.0046992962 - 1605700 0.0053077046 0.0023521519 0.0049230713 - 1605800 0.0058424611 0.0018836724 0.0047136145 - 1605900 0.0042626924 0.001676679 0.0037414207 - 1606000 0.0044140606 0.0019550443 0.0040931049 - 1606100 0.0052860189 0.0018604842 0.0044208995 - 1606200 0.0047649024 0.0018244751 0.0041324747 - 1606300 0.0053898703 0.0022187601 0.0048294786 - 1606400 0.0067315225 0.0025386649 0.0057992461 - 1606500 0.0059757767 0.0023887748 0.0052832916 - 1606600 0.0049230943 0.002530915 0.0049155388 - 1606700 0.0070253971 0.0021938393 0.005596766 - 1606800 0.0063198431 0.0022604868 0.0053216608 - 1606900 0.0058300316 0.0023451126 0.0051690342 - 1607000 0.0045950265 0.0024492506 0.0046749666 - 1607100 0.003935841 0.0024619517 0.0043683747 - 1607200 0.0038208641 0.0024409365 0.0042916675 - 1607300 0.0039432692 0.0020744345 0.0039844555 - 1607400 0.0065771788 0.0017044802 0.0048903012 - 1607500 0.0056850098 0.0022110101 0.0049646867 - 1607600 0.0040016165 0.0022257014 0.0041639844 - 1607700 0.0050808778 0.0021817796 0.0046428298 - 1607800 0.0049731515 0.0021331741 0.0045420443 - 1607900 0.0045682053 0.0020414561 0.0042541806 - 1608000 0.0051171432 0.001570733 0.0040493492 - 1608100 0.0055484034 0.0020612053 0.0047487132 - 1608200 0.0046164328 0.0025694135 0.0048054981 - 1608300 0.005286003 0.0024523403 0.005012748 - 1608400 0.0047352071 0.0021981084 0.0044917244 - 1608500 0.0063897742 0.0022077686 0.0053028155 - 1608600 0.0056925073 0.001934949 0.0046922572 - 1608700 0.0050732464 0.002343552 0.0048009057 - 1608800 0.0045074471 0.0026211981 0.0048044928 - 1608900 0.0051933358 0.0023360225 0.0048515445 - 1609000 0.0037600096 0.0023066653 0.00412792 - 1609100 0.0055915942 0.0023991489 0.0051075774 - 1609200 0.005944377 0.0023295603 0.0052088679 - 1609300 0.0037036047 0.0025335732 0.0043275067 - 1609400 0.0042546625 0.0025569625 0.0046178147 - 1609500 0.0053328316 0.0026362432 0.0052193335 - 1609600 0.0059219235 0.0026218099 0.0054902416 - 1609700 0.0054456367 0.003011369 0.0056490993 - 1609800 0.0040038948 0.0029020373 0.0048414239 - 1609900 0.0041102741 0.0031724137 0.0051633277 - 1610000 0.003518955 0.0028951428 0.0045996366 - 1610100 0.0056112038 0.0023859309 0.0051038577 - 1610200 0.006003593 0.0021770738 0.0050850641 - 1610300 0.0047762172 0.0021062606 0.0044197408 - 1610400 0.0048711983 0.0019418836 0.0043013703 - 1610500 0.0059027829 0.0019441419 0.0048033024 - 1610600 0.004117446 0.0020521882 0.0040465761 - 1610700 0.0049933061 0.002107624 0.0045262567 - 1610800 0.0049511108 0.0021236228 0.0045218171 - 1610900 0.0033681512 0.0023207441 0.0039521923 - 1611000 0.0062501814 0.0022233798 0.0052508114 - 1611100 0.0038024192 0.0021442203 0.0039860171 - 1611200 0.0039758151 0.0024458566 0.004371642 - 1611300 0.004802705 0.0023163722 0.0046426824 - 1611400 0.0048801719 0.0020670211 0.0044308544 - 1611500 0.0034194365 0.0020365919 0.0036928815 - 1611600 0.0054497406 0.0017436191 0.0043833372 - 1611700 0.0057036923 0.0018150684 0.0045777943 - 1611800 0.0049782914 0.0020971884 0.0045085483 - 1611900 0.0052511906 0.0023554158 0.0048989612 - 1612000 0.0048144117 0.0023491825 0.0046811632 - 1612100 0.005920788 0.0024304728 0.0052983545 - 1612200 0.0044155106 0.0028537633 0.0049925263 - 1612300 0.0060625545 0.002934887 0.0058714369 - 1612400 0.0043816158 0.0025391269 0.004661472 - 1612500 0.0048425712 0.0021459803 0.0044916007 - 1612600 0.0046306395 0.0019249851 0.0041679511 - 1612700 0.0061970992 0.0018412876 0.0048430075 - 1612800 0.0065152336 0.0022380768 0.0053938931 - 1612900 0.0043038506 0.0024148408 0.0044995184 - 1613000 0.006373374 0.0023563558 0.0054434588 - 1613100 0.0053001529 0.0027209971 0.0052882587 - 1613200 0.005189881 0.0032345841 0.0057484327 - 1613300 0.0046420232 0.0029976144 0.0052460943 - 1613400 0.0059594371 0.0025762718 0.0054628741 - 1613500 0.0049439871 0.0023083024 0.0047030461 - 1613600 0.0050113315 0.0024894534 0.0049168171 - 1613700 0.0049184097 0.0025763982 0.0049587529 - 1613800 0.0061991507 0.0027874156 0.0057901292 - 1613900 0.0059266032 0.0033265485 0.0061972469 - 1614000 0.0051354442 0.0030976337 0.0055851145 - 1614100 0.0059500833 0.002300423 0.0051824946 - 1614200 0.0047702683 0.0018826311 0.0041932298 - 1614300 0.00393382 0.0017897011 0.0036951451 - 1614400 0.0045938565 0.0018607571 0.0040859063 - 1614500 0.0038872091 0.0019993862 0.0038822531 - 1614600 0.0043586616 0.0016293924 0.0037406191 - 1614700 0.004858898 0.0018562791 0.0042098079 - 1614800 0.0033568088 0.0025450823 0.0041710366 - 1614900 0.004003977 0.0027900934 0.0047295198 - 1615000 0.0044760764 0.0026389467 0.0048070462 - 1615100 0.006431388 0.0023630463 0.0054782499 - 1615200 0.0037542431 0.0023480022 0.0041664637 - 1615300 0.0049407957 0.0022759538 0.0046691517 - 1615400 0.0044656873 0.0021151735 0.0042782408 - 1615500 0.0049599968 0.0023620574 0.0047645558 - 1615600 0.0043810568 0.0020800812 0.0042021556 - 1615700 0.0056655317 0.00212706 0.0048713019 - 1615800 0.0038156695 0.0026178984 0.0044661133 - 1615900 0.0052716718 0.0023129532 0.0048664192 - 1616000 0.004030695 0.0022289685 0.0041813364 - 1616100 0.0048176837 0.002358245 0.0046918106 - 1616200 0.0055515586 0.0024069412 0.0050959774 - 1616300 0.0059777069 0.0025258067 0.0054212585 - 1616400 0.0048900009 0.0025706712 0.0049392653 - 1616500 0.0054017426 0.0025157769 0.005132246 - 1616600 0.004371241 0.0023713465 0.0044886664 - 1616700 0.0044720521 0.0027206867 0.0048868369 - 1616800 0.0066594396 0.0027337993 0.0059594654 - 1616900 0.0046935506 0.0029192697 0.0051927082 - 1617000 0.0072221321 0.0027065685 0.0062047887 - 1617100 0.0071987937 0.0028022556 0.0062891713 - 1617200 0.0059304534 0.0025249334 0.0053974968 - 1617300 0.0062613883 0.0025373254 0.0055701853 - 1617400 0.0044759404 0.0027396066 0.0049076402 - 1617500 0.0073528028 0.0023789191 0.005940433 - 1617600 0.0045470631 0.0029939162 0.0051963999 - 1617700 0.0051265375 0.0032044172 0.0056875838 - 1617800 0.0064465992 0.0033165708 0.0064391423 - 1617900 0.0071271966 0.0029781028 0.0064303387 - 1618000 0.0044453335 0.0029038576 0.005057066 - 1618100 0.0043006357 0.002856773 0.0049398934 - 1618200 0.0036910513 0.0023082003 0.0040960533 - 1618300 0.004817343 0.0019917086 0.0043251092 - 1618400 0.006247931 0.0017755491 0.0048018907 - 1618500 0.0050997192 0.0022890006 0.0047591771 - 1618600 0.0053659017 0.0019864301 0.0045855388 - 1618700 0.0043488006 0.001974363 0.0040808133 - 1618800 0.0052673118 0.0019211909 0.0044725451 - 1618900 0.0060236189 0.0019886699 0.0049063603 - 1619000 0.0039049264 0.0023959836 0.0042874323 - 1619100 0.004495161 0.0023634299 0.0045407735 - 1619200 0.0057851954 0.0023808163 0.0051830204 - 1619300 0.0053257812 0.0024233158 0.0050029911 - 1619400 0.0058538156 0.0026359765 0.0054714184 - 1619500 0.0036547915 0.0026135085 0.0043837981 - 1619600 0.0045891604 0.0024891857 0.0047120602 - 1619700 0.0042891773 0.0021900327 0.0042676029 - 1619800 0.0060342699 0.0019793429 0.0049021923 - 1619900 0.0047492868 0.0018120153 0.0041124511 - 1620000 0.0049084308 0.0021930553 0.0045705765 - 1620100 0.0038526758 0.0026082599 0.0044743997 - 1620200 0.0048425748 0.0024701357 0.0048157579 - 1620300 0.0035047665 0.0023370466 0.0040346679 - 1620400 0.0055061469 0.0022127462 0.0048797861 - 1620500 0.004778844 0.0022172441 0.0045319967 - 1620600 0.0053738474 0.0018471577 0.004450115 - 1620700 0.0042726627 0.0017492406 0.0038188116 - 1620800 0.0064603861 0.0020983175 0.005227567 - 1620900 0.0040909419 0.0022838291 0.004265379 - 1621000 0.0063984232 0.0022040858 0.0053033221 - 1621100 0.0051104418 0.0023629554 0.0048383257 - 1621200 0.0060284288 0.0025550772 0.0054750974 - 1621300 0.005805582 0.002915039 0.0057271178 - 1621400 0.0050453693 0.0027744422 0.005218293 - 1621500 0.0047890221 0.0025247834 0.004844466 - 1621600 0.0063433545 0.002384962 0.0054575243 - 1621700 0.0070973218 0.0022055093 0.0056432745 - 1621800 0.0069115451 0.0024151239 0.0057629035 - 1621900 0.0054200639 0.0026165783 0.0052419217 - 1622000 0.0056562836 0.0028586865 0.0055984489 - 1622100 0.0041413375 0.0025197303 0.0045256906 - 1622200 0.0054737324 0.0023349276 0.0049862667 - 1622300 0.003967964 0.0024541917 0.0043761742 - 1622400 0.0028976266 0.0025246191 0.003928157 - 1622500 0.0052420506 0.0028677676 0.0054068858 - 1622600 0.0059972196 0.002389707 0.0052946102 - 1622700 0.0040065277 0.0023733734 0.0043140352 - 1622800 0.0056596009 0.0020999108 0.00484128 - 1622900 0.0044299819 0.0023395255 0.004485298 - 1623000 0.0043620809 0.0021797105 0.0042925934 - 1623100 0.005314494 0.0023630158 0.0049372239 - 1623200 0.0058292285 0.0023787636 0.0052022962 - 1623300 0.0051979961 0.0027135576 0.0052313369 - 1623400 0.0057087403 0.0027703772 0.0055355483 - 1623500 0.0039235929 0.0029510234 0.0048515137 - 1623600 0.0067243992 0.0024462914 0.0057034223 - 1623700 0.0053967645 0.0021424792 0.004756537 - 1623800 0.0046381411 0.0027987141 0.0050453137 - 1623900 0.004082387 0.002865963 0.0048433692 - 1624000 0.0065374838 0.0024614396 0.0056280333 - 1624100 0.0040033679 0.0023375995 0.0042767308 - 1624200 0.005624285 0.0017328913 0.0044571543 - 1624300 0.0040024952 0.0017065842 0.0036452928 - 1624400 0.0042813911 0.0018206292 0.003894428 - 1624500 0.0042260725 0.0020283002 0.0040753041 - 1624600 0.0037949571 0.0019461039 0.0037842863 - 1624700 0.0044535748 0.002030114 0.0041873143 - 1624800 0.0034825046 0.001917442 0.0036042802 - 1624900 0.0053292372 0.0017776864 0.0043590357 - 1625000 0.0053245042 0.0021213259 0.0047003826 - 1625100 0.0040410712 0.0031570596 0.0051144534 - 1625200 0.0056874761 0.0028881419 0.0056430131 - 1625300 0.0065705546 0.0024487463 0.0056313586 - 1625400 0.0043055319 0.0027322065 0.0048176985 - 1625500 0.005830842 0.0023244585 0.0051487725 - 1625600 0.0059381743 0.0023655913 0.0052418945 - 1625700 0.0045837976 0.0027661537 0.0049864307 - 1625800 0.0048444556 0.0027100059 0.0050565391 - 1625900 0.0057651216 0.0022416814 0.0050341622 - 1626000 0.0053012028 0.0023681709 0.004935941 - 1626100 0.0049384854 0.003125752 0.0055178309 - 1626200 0.0062358362 0.0026636711 0.0056841543 - 1626300 0.0046874361 0.0024246911 0.004695168 - 1626400 0.0044869431 0.0025052543 0.0046786174 - 1626500 0.0035800262 0.0025192789 0.0042533541 - 1626600 0.0046841285 0.0027655226 0.0050343973 - 1626700 0.0041691909 0.0029542826 0.0049737344 - 1626800 0.0060997562 0.0032292684 0.0061838378 - 1626900 0.0058007849 0.0036176152 0.0064273704 - 1627000 0.0045128215 0.0037184791 0.005904377 - 1627100 0.0050406556 0.0035488479 0.0059904155 - 1627200 0.0040073688 0.0030058363 0.0049469056 - 1627300 0.0061908753 0.0030642657 0.006062971 - 1627400 0.0039065371 0.0032458364 0.0051380653 - 1627500 0.0051642532 0.0028623159 0.005363751 - 1627600 0.0067965514 0.0024610278 0.0057531074 - 1627700 0.0045587892 0.0025545682 0.0047627317 - 1627800 0.0051417132 0.0024227345 0.0049132518 - 1627900 0.0035869146 0.0023942874 0.0041316992 - 1628000 0.0046276091 0.00209971 0.0043412082 - 1628100 0.0046020073 0.0020975148 0.0043266121 - 1628200 0.004382452 0.0018049766 0.0039277268 - 1628300 0.0046630985 0.0015147608 0.0037734492 - 1628400 0.0042045174 0.0018365181 0.0038730813 - 1628500 0.0048461173 0.0020705875 0.0044179255 - 1628600 0.0053558138 0.0022168049 0.0048110272 - 1628700 0.0049043361 0.0025133216 0.0048888594 - 1628800 0.0064171355 0.0032075038 0.0063158038 - 1628900 0.0054735925 0.0028385056 0.005489777 - 1629000 0.0052149699 0.0028510327 0.0053770337 - 1629100 0.0042858848 0.0029193038 0.0049952793 - 1629200 0.0050623489 0.0025912323 0.0050433075 - 1629300 0.0040644984 0.0025444534 0.0045131948 - 1629400 0.0050243592 0.0026086364 0.0050423104 - 1629500 0.0061488142 0.0025917124 0.0055700443 - 1629600 0.0049372577 0.0028130911 0.0052045753 - 1629700 0.0057724154 0.0028065512 0.0056025649 - 1629800 0.0048683759 0.002568613 0.0049267326 - 1629900 0.0044953328 0.0024910462 0.004668473 - 1630000 0.0038418478 0.0033325149 0.0051934099 - 1630100 0.003338324 0.003374816 0.0049918167 - 1630200 0.0060095811 0.0028019869 0.0057128777 - 1630300 0.0045956624 0.0028697213 0.0050957453 - 1630400 0.0045070672 0.0024492956 0.0046324063 - 1630500 0.0033115035 0.0026420192 0.0042460288 - 1630600 0.0044852433 0.0031377632 0.0053103029 - 1630700 0.0067963003 0.0030078724 0.0062998304 - 1630800 0.0052429781 0.0026498517 0.0051894192 - 1630900 0.0051841648 0.0025594328 0.0050705126 - 1631000 0.004858108 0.0025302276 0.0048833736 - 1631100 0.0048785473 0.0028473498 0.0052103961 - 1631200 0.0064626866 0.0029541142 0.006084478 - 1631300 0.0056098377 0.002856209 0.0055734742 - 1631400 0.0045668615 0.0028268309 0.0050389045 - 1631500 0.0038328518 0.0026087637 0.0044653013 - 1631600 0.0058824971 0.002311845 0.0051611795 - 1631700 0.0063147482 0.0024269291 0.0054856352 - 1631800 0.0060659518 0.003286567 0.0062247624 - 1631900 0.0042220233 0.0036497191 0.0056947617 - 1632000 0.0054271323 0.0030586781 0.0056874453 - 1632100 0.0054839155 0.0026613596 0.0053176312 - 1632200 0.0057045884 0.0027607647 0.0055239247 - 1632300 0.0047255922 0.0029713942 0.0052603529 - 1632400 0.0051819134 0.0031252721 0.0056352614 - 1632500 0.0039050894 0.0033140849 0.0052056126 - 1632600 0.0047495726 0.0031580406 0.0054586148 - 1632700 0.0063966709 0.0031000289 0.0061984164 - 1632800 0.0055189822 0.0029952899 0.0056685469 - 1632900 0.0040047371 0.0026489173 0.0045887118 - 1633000 0.0062933265 0.0026433993 0.0056917293 - 1633100 0.0059337427 0.0030116682 0.0058858248 - 1633200 0.006359466 0.0027956507 0.005876017 - 1633300 0.0047104236 0.0029844 0.0052660114 - 1633400 0.0042268 0.002790872 0.0048382283 - 1633500 0.0038591701 0.0028435944 0.0047128799 - 1633600 0.0031940908 0.0030125162 0.004559654 - 1633700 0.0040740916 0.0028865552 0.0048599433 - 1633800 0.0034606577 0.0026572074 0.0043334635 - 1633900 0.0039067085 0.0022911504 0.0041834623 - 1634000 0.0051313415 0.0022158791 0.0047013727 - 1634100 0.0046947443 0.0022191783 0.0044931951 - 1634200 0.0048104103 0.0023955558 0.0047255983 - 1634300 0.0057429069 0.0023626853 0.0051444059 - 1634400 0.0041751574 0.0027762147 0.0047985565 - 1634500 0.0046693438 0.0029445637 0.0052062771 - 1634600 0.0046417766 0.0030257714 0.0052741319 - 1634700 0.0062083201 0.0030294691 0.0060366241 - 1634800 0.003571156 0.0031035372 0.0048333159 - 1634900 0.0051623823 0.0027713637 0.0052718927 - 1635000 0.0037265404 0.0028573222 0.0046623652 - 1635100 0.0058873146 0.0026371731 0.0054888411 - 1635200 0.0047862028 0.0025997832 0.0049181002 - 1635300 0.0049504365 0.0025784801 0.0049763478 - 1635400 0.0035665645 0.0029345955 0.0046621501 - 1635500 0.0042484133 0.0030827688 0.005140594 - 1635600 0.0051219171 0.0026991518 0.0051800804 - 1635700 0.0046885811 0.0027625614 0.0050335929 - 1635800 0.0047536102 0.0029899861 0.0052925161 - 1635900 0.0059540219 0.0025746155 0.0054585949 - 1636000 0.0047358251 0.002245374 0.0045392893 - 1636100 0.002598486 0.0020978585 0.0033565001 - 1636200 0.0040893713 0.0023780209 0.0043588101 - 1636300 0.0041528929 0.0026810101 0.0046925676 - 1636400 0.0035626505 0.0025782016 0.0043038604 - 1636500 0.0045566107 0.0026434374 0.0048505458 - 1636600 0.0063691542 0.0025479012 0.0056329603 - 1636700 0.0047202115 0.0023611332 0.0046474857 - 1636800 0.005245015 0.0024327859 0.0049733401 - 1636900 0.004927184 0.0027972794 0.0051838841 - 1637000 0.0053373397 0.0028844772 0.0054697512 - 1637100 0.0045923645 0.0029665988 0.0051910253 - 1637200 0.0053772536 0.0029839395 0.0055885467 - 1637300 0.0041474294 0.0023581479 0.004367059 - 1637400 0.0049627179 0.0021146657 0.0045184822 - 1637500 0.0041380168 0.0023219887 0.0043263406 - 1637600 0.005419279 0.001809193 0.0044341563 - 1637700 0.0041948871 0.0019582106 0.0039901091 - 1637800 0.0046919734 0.0021692113 0.0044418859 - 1637900 0.004602092 0.0026335818 0.0048627202 - 1638000 0.0042647192 0.0029536203 0.0050193437 - 1638100 0.0048683081 0.0027523447 0.0051104314 - 1638200 0.0060166565 0.0025242223 0.0054385403 - 1638300 0.0045427536 0.0024050329 0.0046054291 - 1638400 0.0046847444 0.0026808727 0.0049500458 - 1638500 0.0047609796 0.0027595263 0.0050656258 - 1638600 0.0050813898 0.0027471393 0.0052084375 - 1638700 0.0066349853 0.0029231793 0.0061370003 - 1638800 0.0062991747 0.0031073219 0.0061584847 - 1638900 0.0053209234 0.0035520849 0.0061294072 - 1639000 0.0074072873 0.0028344147 0.0064223195 - 1639100 0.0042572692 0.0022031492 0.0042652639 - 1639200 0.0062225508 0.0023563522 0.0053704003 - 1639300 0.006479103 0.0030578683 0.0061961838 - 1639400 0.0043455299 0.0032681228 0.0053729889 - 1639500 0.0060938638 0.0031539242 0.0061056394 - 1639600 0.0067729548 0.0029356938 0.0062163438 - 1639700 0.0053452872 0.0027668677 0.0053559912 - 1639800 0.0041779208 0.002420171 0.0044438514 - 1639900 0.0056622493 0.002322991 0.005065643 - 1640000 0.0050286093 0.0027070536 0.0051427863 - 1640100 0.0052117905 0.0026757912 0.0052002522 - 1640200 0.0046801443 0.0022426678 0.0045096127 - 1640300 0.0053165635 0.0018280031 0.0044032135 - 1640400 0.0067909496 0.0020477176 0.0053370838 - 1640500 0.0039028218 0.0028001783 0.0046906076 - 1640600 0.0049552032 0.0029954246 0.0053956012 - 1640700 0.0071560738 0.0031545723 0.0066207956 - 1640800 0.0043465629 0.0034105095 0.0055158759 - 1640900 0.0060644535 0.0025373865 0.0054748561 - 1641000 0.004227289 0.0021605115 0.0042081046 - 1641100 0.0054959094 0.0020836725 0.0047457537 - 1641200 0.0052651289 0.0022941937 0.0048444905 - 1641300 0.0043287493 0.0028155489 0.0049122869 - 1641400 0.0045403401 0.0030781831 0.0052774104 - 1641500 0.0040336592 0.0033298149 0.0052836186 - 1641600 0.0057757351 0.0028875435 0.0056851652 - 1641700 0.0060523972 0.0025243676 0.0054559975 - 1641800 0.006865761 0.0027416026 0.0060672056 - 1641900 0.0040282199 0.0029304026 0.0048815717 - 1642000 0.0049175295 0.0024167297 0.004798658 - 1642100 0.0036910505 0.0025452441 0.0043330966 - 1642200 0.0054144359 0.0024581011 0.0050807184 - 1642300 0.0056887737 0.0021600857 0.0049155855 - 1642400 0.0044845885 0.0023943661 0.0045665886 - 1642500 0.0060156141 0.0027570923 0.0056709054 - 1642600 0.0066799105 0.0031536488 0.0063892305 - 1642700 0.0056270164 0.0027892661 0.0055148522 - 1642800 0.007317675 0.0018435186 0.0053880174 - 1642900 0.0047236616 0.0020708213 0.0043588449 - 1643000 0.0036713734 0.0024174699 0.0041957914 - 1643100 0.0041410821 0.0025324946 0.0045383313 - 1643200 0.002682738 0.0025110384 0.0038104896 - 1643300 0.0057424211 0.0021542636 0.0049357488 - 1643400 0.0067810357 0.0022867498 0.005571314 - 1643500 0.0050166686 0.0021801906 0.0046101395 - 1643600 0.0042042113 0.001954686 0.0039911008 - 1643700 0.0050259711 0.0017595825 0.0041940372 - 1643800 0.0053059853 0.0020562003 0.004626287 - 1643900 0.0047370168 0.0019902403 0.0042847328 - 1644000 0.0052036428 0.0020866507 0.0046071652 - 1644100 0.0051552566 0.002589622 0.0050866994 - 1644200 0.0055395833 0.0026960654 0.0053793011 - 1644300 0.004698711 0.0029258862 0.0052018244 - 1644400 0.0045114785 0.003224238 0.0054094854 - 1644500 0.004647839 0.0029159306 0.0051672276 - 1644600 0.0072926122 0.0029618724 0.0064942315 - 1644700 0.0048948261 0.0030003264 0.0053712578 - 1644800 0.0050000955 0.0027685477 0.0051904689 - 1644900 0.0053723731 0.0023977088 0.004999952 - 1645000 0.0046450849 0.002375725 0.004625688 - 1645100 0.0059106385 0.0021293669 0.0049923324 - 1645200 0.005559943 0.0019184789 0.0046115763 - 1645300 0.0058312894 0.0022329184 0.0050574492 - 1645400 0.0068685548 0.0022083885 0.0055353447 - 1645500 0.0053295913 0.0022470394 0.0048285602 - 1645600 0.0038295985 0.0026698328 0.0045247946 - 1645700 0.0066323347 0.002621146 0.0058336831 - 1645800 0.0050473383 0.0026457454 0.0050905498 - 1645900 0.0047659693 0.002216062 0.0045245784 - 1646000 0.0049610214 0.0026536078 0.0050566025 - 1646100 0.0051274468 0.002716523 0.0052001301 - 1646200 0.0056290751 0.0029433803 0.0056699636 - 1646300 0.0045494065 0.0026903282 0.004893947 - 1646400 0.0057840386 0.0024965354 0.0052981791 - 1646500 0.0045430598 0.0025816441 0.0047821886 - 1646600 0.0042374927 0.0026912156 0.0047437512 - 1646700 0.0058313086 0.0029717251 0.0057962651 - 1646800 0.0064608026 0.0032741846 0.0064036359 - 1646900 0.0050392487 0.0031673301 0.0056082162 - 1647000 0.0040369854 0.002883343 0.0048387578 - 1647100 0.0045121116 0.0030961629 0.0052817169 - 1647200 0.0066765959 0.0032960012 0.0065299773 - 1647300 0.0065253762 0.0029666079 0.006127337 - 1647400 0.0062181518 0.0027576071 0.0057695244 - 1647500 0.0042412434 0.002753699 0.0048080513 - 1647600 0.0052977098 0.0024811452 0.0050472233 - 1647700 0.0057160809 0.0025937582 0.0053624849 - 1647800 0.0054182671 0.0026701766 0.0052946497 - 1647900 0.0056438088 0.0027235245 0.0054572444 - 1648000 0.0058637451 0.0026038961 0.0054441476 - 1648100 0.0051001915 0.0024296314 0.0049000366 - 1648200 0.0052711614 0.0024179414 0.0049711602 - 1648300 0.0051200069 0.0024349808 0.0049149841 - 1648400 0.0050923422 0.0028653332 0.0053319364 - 1648500 0.0043169703 0.0029874531 0.0050784856 - 1648600 0.0047024773 0.0032064927 0.0054842552 - 1648700 0.0046212897 0.0028625484 0.0051009856 - 1648800 0.0040025679 0.0024173995 0.0043561433 - 1648900 0.0055918023 0.0021114459 0.0048199751 - 1649000 0.0049313489 0.0022001459 0.004588768 - 1649100 0.0067971778 0.0025454615 0.0058378445 - 1649200 0.0038288749 0.0025251248 0.0043797361 - 1649300 0.003677428 0.0022998546 0.0040811088 - 1649400 0.0042718662 0.0023312724 0.0044004575 - 1649500 0.0055863449 0.002089348 0.0047952338 - 1649600 0.004638832 0.0020759896 0.0043229238 - 1649700 0.0055232434 0.002607606 0.005282927 - 1649800 0.0053285619 0.0025897867 0.0051708088 - 1649900 0.0047836729 0.0024029504 0.0047200419 - 1650000 0.0053026043 0.0023573708 0.0049258198 - 1650100 0.0049200436 0.0021046538 0.0044877999 - 1650200 0.0044689765 0.0023465201 0.0045111806 - 1650300 0.0053559689 0.0024072497 0.0050015472 - 1650400 0.0057898558 0.0024238325 0.0052282939 - 1650500 0.0047982731 0.00269558 0.0050197435 - 1650600 0.0052538643 0.0027814148 0.0053262553 - 1650700 0.004558796 0.0024770583 0.0046852251 - 1650800 0.0060318192 0.002197683 0.0051193455 - 1650900 0.0047245587 0.0019879444 0.0042764025 - 1651000 0.005931727 0.0017901517 0.0046633319 - 1651100 0.0049338998 0.0021203616 0.0045102193 - 1651200 0.0061610579 0.0023324502 0.0053167126 - 1651300 0.0056758832 0.0023584647 0.0051077207 - 1651400 0.0046728582 0.0021602619 0.0044236776 - 1651500 0.0062928934 0.0025407867 0.005588907 - 1651600 0.0049292478 0.0029060926 0.005293697 - 1651700 0.0053864399 0.0025568017 0.0051658586 - 1651800 0.0067717705 0.0030720433 0.0063521196 - 1651900 0.0058668446 0.0034375463 0.0062792991 - 1652000 0.0049535703 0.0032965519 0.0056959375 - 1652100 0.0065825188 0.0026777047 0.0058661122 - 1652200 0.0055775145 0.0021969455 0.0048985541 - 1652300 0.0048843963 0.0021469747 0.0045128542 - 1652400 0.0033396056 0.0021811277 0.0037987492 - 1652500 0.004672797 0.0019609942 0.0042243802 - 1652600 0.0057929542 0.0018903715 0.0046963337 - 1652700 0.0054160383 0.0020993208 0.0047227144 - 1652800 0.0063179041 0.002269329 0.0053295639 - 1652900 0.0065228553 0.0020596114 0.0052191194 - 1653000 0.0062142204 0.0024181898 0.0054282028 - 1653100 0.0044555618 0.0028594363 0.0050175991 - 1653200 0.0057339087 0.0028209005 0.0055982625 - 1653300 0.0054458467 0.0028351635 0.0054729955 - 1653400 0.0056950155 0.0024045076 0.0051630307 - 1653500 0.005482261 0.002004394 0.0046598641 - 1653600 0.0054143735 0.0021673221 0.0047899093 - 1653700 0.0052203261 0.0022551543 0.0047837498 - 1653800 0.004901459 0.002289129 0.0046632732 - 1653900 0.005338794 0.0020499177 0.0046358961 - 1654000 0.0038477122 0.0019258486 0.0037895842 - 1654100 0.0070551282 0.0019130871 0.0053304148 - 1654200 0.003270829 0.0023271426 0.0039114504 - 1654300 0.0047781474 0.0028411194 0.0051555345 - 1654400 0.0055617546 0.0029205387 0.0056145135 - 1654500 0.0056337318 0.0027186 0.0054474388 - 1654600 0.0050273724 0.0030160756 0.0054512091 - 1654700 0.0054903245 0.0029387259 0.0055981019 - 1654800 0.0059319265 0.0028730688 0.0057463458 - 1654900 0.0035603035 0.0027610498 0.0044855718 - 1655000 0.0050221004 0.0028213336 0.0052539135 - 1655100 0.0048174819 0.0024105864 0.0047440542 - 1655200 0.0057506053 0.0021118137 0.0048972631 - 1655300 0.0056441826 0.00218559 0.004919491 - 1655400 0.0046642681 0.0024055985 0.0046648533 - 1655500 0.0042424914 0.0026403123 0.0046952691 - 1655600 0.0047704053 0.0027893953 0.0051000604 - 1655700 0.0050043839 0.0031701288 0.0055941273 - 1655800 0.0052155537 0.0031189994 0.0056452832 - 1655900 0.0039674553 0.0032597219 0.005181458 - 1656000 0.0060066889 0.0029508746 0.0058603645 - 1656100 0.0049927558 0.003165949 0.0055843151 - 1656200 0.0050036514 0.0032903728 0.0057140165 - 1656300 0.0048771611 0.0030134393 0.0053758142 - 1656400 0.0051021404 0.0032871931 0.0057585423 - 1656500 0.005929017 0.0029820681 0.0058539357 - 1656600 0.0050336388 0.0031878116 0.0056259803 - 1656700 0.0050401042 0.0031045746 0.0055458751 - 1656800 0.0062243019 0.002819135 0.0058340312 - 1656900 0.0048861447 0.0027726628 0.0051393891 - 1657000 0.00532877 0.0028002427 0.0053813657 - 1657100 0.0044469503 0.0029537101 0.0051077017 - 1657200 0.0051694507 0.0029844954 0.0054884481 - 1657300 0.0040011982 0.002767666 0.0047057464 - 1657400 0.0041235359 0.0028464702 0.0048438079 - 1657500 0.0054242683 0.0031632355 0.0057906154 - 1657600 0.0057514689 0.0033881126 0.0061739804 - 1657700 0.0043540667 0.0036254174 0.0057344184 - 1657800 0.0062419726 0.0034503599 0.0064738154 - 1657900 0.0059295514 0.0032782192 0.0061503457 - 1658000 0.004299356 0.0029738728 0.0050563734 - 1658100 0.0052469641 0.0027275998 0.005269098 - 1658200 0.0042614543 0.0030605864 0.0051247284 - 1658300 0.004387671 0.0031253088 0.005250587 - 1658400 0.0059777904 0.0030770988 0.005972591 - 1658500 0.0037922044 0.0030403049 0.004877154 - 1658600 0.0061253352 0.0029950861 0.0059620453 - 1658700 0.0055660518 0.0031917799 0.0058878362 - 1658800 0.0045183302 0.0030141247 0.0052026909 - 1658900 0.0058326645 0.0024600254 0.0052852223 - 1659000 0.004460247 0.0025680061 0.0047284383 - 1659100 0.0057773987 0.0027404625 0.00553889 - 1659200 0.0047587195 0.0024857354 0.0047907402 - 1659300 0.0060320459 0.0023173462 0.0052391185 - 1659400 0.0037153012 0.0032983411 0.0050979401 - 1659500 0.0045802835 0.0034547563 0.0056733311 - 1659600 0.0061315277 0.00295335 0.0059233087 - 1659700 0.004992946 0.0027360904 0.0051545486 - 1659800 0.0050188413 0.0027330461 0.0051640473 - 1659900 0.0044500551 0.002791221 0.0049467165 - 1660000 0.0064847081 0.0027670949 0.0059081254 - 1660100 0.0057592272 0.0027863859 0.0055760116 - 1660200 0.0041086915 0.0030069208 0.0049970683 - 1660300 0.004424 0.0027520579 0.004894933 - 1660400 0.0061762975 0.0027783988 0.005770043 - 1660500 0.0056707581 0.0024719543 0.0052187277 - 1660600 0.0049629861 0.0025328919 0.0049368383 - 1660700 0.0053236665 0.0024633393 0.0050419903 - 1660800 0.0051952247 0.0027176635 0.0052341005 - 1660900 0.0060855014 0.0028970291 0.0058446938 - 1661000 0.003094757 0.0032414196 0.0047404426 - 1661100 0.0050978022 0.002812059 0.005281307 - 1661200 0.0054495562 0.0030411944 0.0056808232 - 1661300 0.0061396435 0.0031575757 0.0061314656 - 1661400 0.00524369 0.0029387947 0.0054787071 - 1661500 0.0040509249 0.0029745906 0.0049367573 - 1661600 0.0047935864 0.0026904799 0.0050123734 - 1661700 0.0056110424 0.0023859158 0.0051037645 - 1661800 0.0061060846 0.0021386659 0.0050963006 - 1661900 0.0051536105 0.0022067945 0.0047030746 - 1662000 0.0052090958 0.0023353282 0.004858484 - 1662100 0.0058810285 0.0022137304 0.0050623536 - 1662200 0.0063334987 0.0022591156 0.005326904 - 1662300 0.0039636817 0.0022059713 0.0041258796 - 1662400 0.0043820542 0.002171334 0.0042938915 - 1662500 0.0067745879 0.0024615018 0.0057429428 - 1662600 0.0049593417 0.0028793199 0.0052815011 - 1662700 0.0056049961 0.0028478548 0.0055627747 - 1662800 0.0040909883 0.0028378733 0.0048194458 - 1662900 0.0058671816 0.0022302971 0.0050722132 - 1663000 0.0054818946 0.0017920656 0.0044473583 - 1663100 0.0061570581 0.0017720004 0.0047543254 - 1663200 0.0039573884 0.0022120312 0.0041288912 - 1663300 0.0043651756 0.0020429395 0.0041573214 - 1663400 0.0058387918 0.0021608615 0.0049890263 - 1663500 0.0042485734 0.0023129427 0.0043708455 - 1663600 0.0057363948 0.0024428526 0.0052214188 - 1663700 0.004371576 0.0023406812 0.0044581633 - 1663800 0.0043484821 0.0022767785 0.0043830745 - 1663900 0.0054013088 0.0021853468 0.0048016058 - 1664000 0.0056252597 0.0022688418 0.0049935769 - 1664100 0.0044189214 0.0027477216 0.0048881367 - 1664200 0.0058551711 0.0025479869 0.0053840855 - 1664300 0.0041716164 0.0027639276 0.0047845543 - 1664400 0.0051236387 0.002611687 0.0050934495 - 1664500 0.0042348443 0.0027628858 0.0048141386 - 1664600 0.0044774774 0.0025950363 0.0047638145 - 1664700 0.0064681525 0.0025912658 0.0057242772 - 1664800 0.0038198166 0.0028182631 0.0046684867 - 1664900 0.0051927189 0.0026352324 0.0051504557 - 1665000 0.0046434758 0.0025132346 0.0047624182 - 1665100 0.0055223565 0.0023805013 0.0050553927 - 1665200 0.0038966918 0.0021006918 0.0039881519 - 1665300 0.0046424246 0.0018347562 0.0040834307 - 1665400 0.0041092346 0.001929404 0.0039198145 - 1665500 0.0054503193 0.0023500693 0.0049900677 - 1665600 0.0057073971 0.0025553248 0.0053198452 - 1665700 0.0057352272 0.0023328468 0.0051108475 - 1665800 0.0053083543 0.0026471907 0.0052184248 - 1665900 0.0044371799 0.0020976483 0.0042469073 - 1666000 0.0071691037 0.0017689638 0.0052414984 - 1666100 0.0045736976 0.0027760855 0.0049914703 - 1666200 0.0051197393 0.0031253638 0.0056052375 - 1666300 0.0063902014 0.0025248986 0.0056201524 - 1666400 0.0049573082 0.0024929864 0.0048941825 - 1666500 0.0048897781 0.0028115785 0.0051800647 - 1666600 0.0055795929 0.0028185713 0.0055211866 - 1666700 0.0065163501 0.0026337759 0.005790133 - 1666800 0.0040128459 0.0023890681 0.0043327903 - 1666900 0.0059335176 0.00242743 0.0053014776 - 1667000 0.0056465668 0.0022669661 0.0050020219 - 1667100 0.0043835393 0.0020672071 0.0041904839 - 1667200 0.0039914458 0.0022459029 0.0041792594 - 1667300 0.004187031 0.0023801076 0.0044082007 - 1667400 0.0041143252 0.0024662325 0.0044591088 - 1667500 0.0043986209 0.0025908975 0.0047214795 - 1667600 0.005014944 0.0029587692 0.0053878827 - 1667700 0.0059444346 0.00277019 0.0056495255 - 1667800 0.0054956009 0.0024442106 0.0051061423 - 1667900 0.0048219251 0.0023319351 0.0046675551 - 1668000 0.0047440535 0.0027615797 0.0050594806 - 1668100 0.0040279565 0.0029996558 0.0049506973 - 1668200 0.0072338731 0.0024664348 0.005970342 - 1668300 0.005334767 0.0027167508 0.0053007785 - 1668400 0.0074994691 0.0030077526 0.0066403079 - 1668500 0.0055513403 0.0035811093 0.0062700398 - 1668600 0.005855234 0.003728927 0.0065650559 - 1668700 0.005006675 0.0036518755 0.0060769837 - 1668800 0.0057382052 0.0036722041 0.0064516472 - 1668900 0.0057108294 0.0034289284 0.0061951114 - 1669000 0.0060763099 0.0026911534 0.0056343661 - 1669100 0.0043275169 0.0029045287 0.0050006697 - 1669200 0.0058463545 0.0029177693 0.0057495973 - 1669300 0.0060536017 0.0023303365 0.0052625498 - 1669400 0.0073690969 0.0027254232 0.0062948295 - 1669500 0.0059538893 0.0029932816 0.0058771968 - 1669600 0.0061858511 0.0021671832 0.0051634548 - 1669700 0.0055942011 0.0023930151 0.0051027063 - 1669800 0.0065231746 0.0022152737 0.0053749364 - 1669900 0.0052193323 0.0020632227 0.0045913368 - 1670000 0.0037711584 0.0023483304 0.0041749852 - 1670100 0.0057263012 0.0023266757 0.0051003528 - 1670200 0.0044866453 0.0025804129 0.0047536318 - 1670300 0.0046890007 0.0028996057 0.0051708404 - 1670400 0.0060182042 0.00291928 0.0058343477 - 1670500 0.004841997 0.0027379466 0.0050832889 - 1670600 0.0044180937 0.0023936051 0.0045336193 - 1670700 0.0045372791 0.002614307 0.0048120516 - 1670800 0.0065033423 0.0025306355 0.0056806919 - 1670900 0.0040590712 0.0026423038 0.0046084164 - 1671000 0.0059158115 0.0024879661 0.0053534372 - 1671100 0.0046224469 0.0024175363 0.0046565341 - 1671200 0.0069059694 0.00252812 0.0058731989 - 1671300 0.0061278345 0.0025989623 0.0055671322 - 1671400 0.006242046 0.0028273765 0.0058508676 - 1671500 0.0040730165 0.0026534562 0.0046263236 - 1671600 0.0044394215 0.0025538108 0.0047041556 - 1671700 0.0071575051 0.0019720231 0.0054389397 - 1671800 0.0047206727 0.0021982079 0.0044847837 - 1671900 0.0043499169 0.0022843206 0.0043913116 - 1672000 0.0048117129 0.0025819102 0.0049125836 - 1672100 0.0052910877 0.0024208409 0.0049837115 - 1672200 0.0050996448 0.002286286 0.0047564265 - 1672300 0.0049723131 0.0020675912 0.0044760554 - 1672400 0.0045631686 0.0019044442 0.004114729 - 1672500 0.0046480125 0.0017034927 0.0039548737 - 1672600 0.0048587596 0.0018307732 0.0041842349 - 1672700 0.0053580944 0.0018771162 0.0044724431 - 1672800 0.0042389298 0.0022153459 0.0042685776 - 1672900 0.0076980108 0.0022126985 0.0059414225 - 1673000 0.0046229108 0.0022658636 0.0045050861 - 1673100 0.0066409683 0.0020784744 0.0052951935 - 1673200 0.003666307 0.0022543852 0.0040302526 - 1673300 0.0071443356 0.0018237573 0.0052842949 - 1673400 0.0058382724 0.002155931 0.0049838442 - 1673500 0.0053453247 0.0028471553 0.0054362969 - 1673600 0.0061513439 0.0032649658 0.0062445231 - 1673700 0.0053566964 0.0033719953 0.0059666451 - 1673800 0.0056947373 0.0030599226 0.005818311 - 1673900 0.0060595929 0.0024340743 0.0053691896 - 1674000 0.0045149765 0.0022988574 0.0044857991 - 1674100 0.0051128026 0.002270119 0.0047466328 - 1674200 0.0050145724 0.0020195983 0.0044485318 - 1674300 0.0042440786 0.0020538248 0.0041095504 - 1674400 0.0044967359 0.0020453402 0.0042234466 - 1674500 0.0055006695 0.0019256854 0.0045900722 - 1674600 0.0061018287 0.0018058804 0.0047614537 - 1674700 0.0048665629 0.0018082569 0.0041654983 - 1674800 0.0042151267 0.0025053937 0.0045470956 - 1674900 0.0059925122 0.0023846704 0.0052872935 - 1675000 0.0043946981 0.0023584928 0.0044871747 - 1675100 0.0053716809 0.002449895 0.005051803 - 1675200 0.0044524563 0.0026122493 0.0047689078 - 1675300 0.0037086699 0.0021754867 0.0039718737 - 1675400 0.0067590548 0.002137703 0.0054116202 - 1675500 0.0059117688 0.0023839454 0.0052474584 - 1675600 0.0051294028 0.0022854145 0.0047699689 - 1675700 0.0057572828 0.0022684261 0.00505711 - 1675800 0.005456718 0.0024292575 0.0050723553 - 1675900 0.005298139 0.0028332593 0.0053995454 - 1676000 0.0052774734 0.0029137972 0.0054700734 - 1676100 0.0057098565 0.0027241047 0.0054898164 - 1676200 0.0047457404 0.0021208312 0.0044195492 - 1676300 0.007425845 0.0022712854 0.005868179 - 1676400 0.0047694518 0.0026426806 0.0049528838 - 1676500 0.0047574395 0.0027392955 0.0050436802 - 1676600 0.007899068 0.0026384036 0.0064645146 - 1676700 0.0043624692 0.0025789576 0.0046920286 - 1676800 0.0048652869 0.0028518242 0.0052084475 - 1676900 0.0047752211 0.0024662982 0.0047792959 - 1677000 0.0045245011 0.0021237793 0.0043153345 - 1677100 0.0049244536 0.0018086983 0.0041939805 - 1677200 0.0058525169 0.0020089855 0.0048437983 - 1677300 0.004842559 0.0021280567 0.0044736712 - 1677400 0.0050723316 0.0023456138 0.0048025245 - 1677500 0.0047256655 0.0024621396 0.0047511338 - 1677600 0.0044767557 0.0023741546 0.0045425831 - 1677700 0.0043205962 0.0020846427 0.0041774314 - 1677800 0.0053579762 0.0018529924 0.0044482621 - 1677900 0.0053761171 0.0021100096 0.0047140664 - 1678000 0.0046707103 0.0021841967 0.0044465721 - 1678100 0.0045718908 0.0028275118 0.0050420214 - 1678200 0.0041610528 0.0024992894 0.0045147994 - 1678300 0.0063336156 0.0022580113 0.0053258563 - 1678400 0.0062512029 0.0024541826 0.005482109 - 1678500 0.0060700487 0.0023914278 0.0053316076 - 1678600 0.0048420113 0.0025636762 0.0049090254 - 1678700 0.0053620531 0.0025706881 0.0051679325 - 1678800 0.0045776711 0.0020647353 0.0042820447 - 1678900 0.0047722517 0.0019902873 0.0043018467 - 1679000 0.0043076379 0.001989093 0.0040756051 - 1679100 0.0066623743 0.0021855178 0.0054126053 - 1679200 0.0050078291 0.0022759748 0.004701642 - 1679300 0.0044347082 0.0022778889 0.0044259507 - 1679400 0.0055476872 0.0023191742 0.0050063352 - 1679500 0.004874041 0.0022130527 0.0045739163 - 1679600 0.0038675807 0.002523013 0.0043963724 - 1679700 0.003931867 0.0028867277 0.0047912258 - 1679800 0.0067152867 0.0019312346 0.0051839516 - 1679900 0.0055194176 0.0020729362 0.0047464041 - 1680000 0.0041322722 0.0025528787 0.0045544481 - 1680100 0.0039825128 0.0025506282 0.0044796578 - 1680200 0.006635767 0.0021797319 0.0053939315 - 1680300 0.0059500114 0.0022422304 0.0051242671 - 1680400 0.0050519802 0.0023645557 0.0048116086 - 1680500 0.0062937583 0.0026182845 0.0056668237 - 1680600 0.0056690547 0.0030498584 0.0057958068 - 1680700 0.0046610928 0.0024100072 0.004667724 - 1680800 0.0063545321 0.0021866325 0.005264609 - 1680900 0.0042783039 0.0026254424 0.0046977459 - 1681000 0.0055563611 0.0026367119 0.0053280743 - 1681100 0.0059049383 0.0026119613 0.0054721658 - 1681200 0.0066024929 0.0023781614 0.0055762439 - 1681300 0.0053813042 0.0028303157 0.0054368849 - 1681400 0.0047812666 0.0031188399 0.005434766 - 1681500 0.0051013229 0.0028076728 0.0052786261 - 1681600 0.0055442081 0.0025577798 0.0052432557 - 1681700 0.0051852852 0.0020308906 0.0045425132 - 1681800 0.0042587659 0.0021526481 0.0042154878 - 1681900 0.0064362692 0.0020341022 0.0051516701 - 1682000 0.00464978 0.0020636815 0.0043159187 - 1682100 0.0056441855 0.0017995643 0.0045334666 - 1682200 0.006275263 0.0015056166 0.0045451971 - 1682300 0.0047256852 0.0018418036 0.0041308074 - 1682400 0.0040296601 0.0020281506 0.0039800172 - 1682500 0.0042551115 0.0026119373 0.0046730069 - 1682600 0.0043238697 0.0027306068 0.0048249812 - 1682700 0.0053185127 0.002467474 0.0050436286 - 1682800 0.0044007223 0.0026712975 0.0048028974 - 1682900 0.0048759963 0.0024107658 0.0047725766 - 1683000 0.0041493974 0.0023715377 0.004381402 - 1683100 0.0062986259 0.0024605377 0.0055114346 - 1683200 0.0037193652 0.0028189022 0.0046204697 - 1683300 0.0065453591 0.0018210297 0.004991438 - 1683400 0.0046202837 0.001985766 0.0042237159 - 1683500 0.0050345051 0.0019645325 0.0044031209 - 1683600 0.0045247532 0.0019452125 0.0041368898 - 1683700 0.0050505053 0.0020634298 0.0045097683 - 1683800 0.0035690654 0.0022963329 0.0040250989 - 1683900 0.0046458049 0.0020764672 0.004326779 - 1684000 0.0050408584 0.0016244194 0.0040660852 - 1684100 0.0055199079 0.00161079 0.0042844954 - 1684200 0.005535216 0.0015977897 0.00427891 - 1684300 0.0063467488 0.0011848094 0.0042590159 - 1684400 0.0048665594 0.0013284399 0.0036856796 - 1684500 0.0049960226 0.001922315 0.0043422634 - 1684600 0.0042657639 0.0023952621 0.0044614915 - 1684700 0.0065680655 0.0025559655 0.0057373723 - 1684800 0.0044846468 0.0028040921 0.0049763429 - 1684900 0.0050656078 0.0024190095 0.0048726633 - 1685000 0.0054944066 0.001904972 0.0045663252 - 1685100 0.0048078204 0.0019482137 0.0042770017 - 1685200 0.0042331569 0.0021978555 0.0042482909 - 1685300 0.0052321913 0.0022645104 0.004798853 - 1685400 0.0049371896 0.0023017344 0.0046931856 - 1685500 0.0045885231 0.0020394309 0.0042619968 - 1685600 0.0053103705 0.001865246 0.0044374568 - 1685700 0.0049527026 0.0022075673 0.0046065326 - 1685800 0.0057904256 0.0027011814 0.0055059188 - 1685900 0.0060466057 0.0028425648 0.0057713894 - 1686000 0.0061075374 0.0026380509 0.0055963893 - 1686100 0.0056271966 0.0032006499 0.0059263233 - 1686200 0.0048798153 0.0031400613 0.0055037218 - 1686300 0.0049475052 0.0029762922 0.00537274 - 1686400 0.0063480739 0.002618879 0.0056937273 - 1686500 0.0061658794 0.0027213028 0.0057079007 - 1686600 0.0034795295 0.0026624062 0.0043478033 - 1686700 0.0048506997 0.0030919031 0.0054414608 - 1686800 0.0044726529 0.0038268359 0.0059932772 - 1686900 0.004686186 0.0038480479 0.0061179193 - 1687000 0.0053684595 0.0030269723 0.0056273199 - 1687100 0.0045065322 0.0023775374 0.0045603889 - 1687200 0.0035444945 0.0022161458 0.0039330103 - 1687300 0.0040613288 0.0023201418 0.004287348 - 1687400 0.0046064418 0.002439353 0.0046705982 - 1687500 0.0046764362 0.0024194358 0.0046845846 - 1687600 0.0054498492 0.0027048043 0.0053445751 - 1687700 0.0048940331 0.0030952735 0.0054658208 - 1687800 0.0054808861 0.00276403 0.0054188342 - 1687900 0.0062174666 0.003032598 0.0060441834 - 1688000 0.0083017196 0.0025968412 0.0066179866 - 1688100 0.0069250651 0.0024728479 0.0058271764 - 1688200 0.005404374 0.0021886109 0.0048063545 - 1688300 0.0048998713 0.0023947246 0.0047680998 - 1688400 0.0046715727 0.0022447761 0.0045075691 - 1688500 0.0053715419 0.0015078315 0.0041096721 - 1688600 0.0046036512 0.0017857927 0.0040156862 - 1688700 0.0048671391 0.0021206851 0.0044782056 - 1688800 0.004135492 0.0022043061 0.0042074351 - 1688900 0.0037334174 0.0023294953 0.0041378693 - 1689000 0.0044658218 0.001949062 0.0041121944 - 1689100 0.0050595436 0.0017621217 0.0042128382 - 1689200 0.0042966604 0.0017501508 0.0038313457 - 1689300 0.0055499858 0.001948421 0.0046366954 - 1689400 0.0057087112 0.0021982751 0.0049634321 - 1689500 0.0055491041 0.0021701226 0.0048579699 - 1689600 0.0062658353 0.0018447043 0.0048797183 - 1689700 0.0036320579 0.0022269457 0.0039862238 - 1689800 0.0046776729 0.0022405421 0.00450629 - 1689900 0.0042357334 0.0021134226 0.004165106 - 1690000 0.0054570692 0.0021917708 0.0048350387 - 1690100 0.0049815701 0.0023892794 0.0048022275 - 1690200 0.0044308841 0.0026051306 0.0047513401 - 1690300 0.0043419451 0.0024092475 0.0045123772 - 1690400 0.0048765805 0.0035104922 0.0058725859 - 1690500 0.0052473241 0.0038558102 0.0063974828 - 1690600 0.0054002341 0.0030268852 0.0056426236 - 1690700 0.0043807304 0.0029255276 0.0050474439 - 1690800 0.0077854265 0.0025436467 0.0063147126 - 1690900 0.0046412038 0.0025388098 0.0047868929 - 1691000 0.0032120693 0.002566905 0.004122751 - 1691100 0.0047209193 0.0027559985 0.0050426937 - 1691200 0.0046386309 0.0022231156 0.0044699525 - 1691300 0.0055257357 0.0020816368 0.0047581651 - 1691400 0.0051422883 0.0022733037 0.0047640996 - 1691500 0.0048546963 0.0023803065 0.0047318 - 1691600 0.0058728697 0.0026529246 0.0054975959 - 1691700 0.004643295 0.0031610662 0.0054101622 - 1691800 0.0043866786 0.0031021327 0.0052269301 - 1691900 0.0057212034 0.0028096152 0.005580823 - 1692000 0.0041441284 0.0023524593 0.0043597715 - 1692100 0.0052684838 0.0023374568 0.0048893787 - 1692200 0.0067811094 0.0021429007 0.0054275006 - 1692300 0.0040183046 0.0025329019 0.0044792682 - 1692400 0.0047323347 0.0022182295 0.0045104542 - 1692500 0.0048830959 0.0021301251 0.0044953747 - 1692600 0.0059300718 0.0026042565 0.005476635 - 1692700 0.0051499855 0.0031838419 0.0056783661 - 1692800 0.005644804 0.0028068759 0.0055410778 - 1692900 0.0047824079 0.0025734316 0.0048899105 - 1693000 0.0056713038 0.0024444527 0.0051914905 - 1693100 0.0049965839 0.0023905282 0.0048107486 - 1693200 0.0043802621 0.0026834304 0.0048051198 - 1693300 0.0040751847 0.0028315151 0.0048054327 - 1693400 0.0042181326 0.0031967489 0.0052399069 - 1693500 0.0057602764 0.0029163668 0.0057065007 - 1693600 0.0042567793 0.0029082641 0.0049701416 - 1693700 0.0044518454 0.0030264195 0.0051827821 - 1693800 0.0050995986 0.0030470358 0.0055171539 - 1693900 0.0059517126 0.002815903 0.0056987638 - 1694000 0.0067513641 0.0025972194 0.0058674114 - 1694100 0.0056586053 0.0030277697 0.0057686567 - 1694200 0.0046637682 0.0036658178 0.0059248305 - 1694300 0.005439127 0.0036297701 0.0062643472 - 1694400 0.0051160619 0.0039862782 0.0064643707 - 1694500 0.0039483615 0.0042482192 0.0061607068 - 1694600 0.005325955 0.0036265039 0.0062062634 - 1694700 0.0053361284 0.0030393016 0.0056239888 - 1694800 0.0049179782 0.0026921285 0.0050742742 - 1694900 0.0043527683 0.0026495055 0.0047578776 - 1695000 0.0057659672 0.002498666 0.0052915564 - 1695100 0.004432284 0.0028164343 0.0049633219 - 1695200 0.004743374 0.0033175497 0.0056151215 - 1695300 0.0057421019 0.002951843 0.0057331737 - 1695400 0.0041242361 0.0027220188 0.0047196956 - 1695500 0.003417054 0.0030043567 0.0046594923 - 1695600 0.005292058 0.0025265849 0.0050899255 - 1695700 0.0052646061 0.0027531568 0.0053032004 - 1695800 0.0048223202 0.0026682904 0.0050041018 - 1695900 0.0065421696 0.0024917235 0.0056605869 - 1696000 0.0059459789 0.0029157385 0.005795822 - 1696100 0.0035108084 0.003118056 0.0048186038 - 1696200 0.0047814448 0.0030217435 0.0053377559 - 1696300 0.0043407004 0.0035084174 0.0056109441 - 1696400 0.0061592856 0.0031439824 0.0061273864 - 1696500 0.005946013 0.0029257318 0.0058058318 - 1696600 0.0060327993 0.0031330337 0.0060551709 - 1696700 0.0051139572 0.0028897556 0.0053668286 - 1696800 0.0055267193 0.0029705954 0.0056476 - 1696900 0.0050712663 0.0026462231 0.0051026177 - 1697000 0.0059021053 0.0029200646 0.0057788969 - 1697100 0.0046878939 0.0027522022 0.0050229008 - 1697200 0.005241688 0.0032285995 0.0057675421 - 1697300 0.0051773707 0.0036424449 0.0061502338 - 1697400 0.0070285928 0.0037332118 0.0071376864 - 1697500 0.0054410632 0.003394432 0.006029947 - 1697600 0.0053675467 0.0031385044 0.0057384099 - 1697700 0.0040797049 0.0028600753 0.0048361824 - 1697800 0.0051592204 0.0025063812 0.0050053786 - 1697900 0.0062935879 0.0021016269 0.0051500835 - 1698000 0.0060761143 0.0028158132 0.0057589311 - 1698100 0.0035102741 0.0035730417 0.0052733307 - 1698200 0.0055163498 0.0029984426 0.0056704245 - 1698300 0.0055709247 0.0029605912 0.0056590078 - 1698400 0.0051024798 0.0028679029 0.0053394166 - 1698500 0.0053735865 0.0025780092 0.0051808402 - 1698600 0.0041733006 0.0022773748 0.0042988173 - 1698700 0.0053040322 0.0020902674 0.0046594081 - 1698800 0.0031770079 0.0017542697 0.0032931329 - 1698900 0.0051743684 0.0020752502 0.0045815849 - 1699000 0.0043776448 0.0020369456 0.0041573673 - 1699100 0.0044468885 0.0019941704 0.004148132 - 1699200 0.0046418006 0.0023063384 0.0045547105 - 1699300 0.0052274268 0.0021935202 0.0047255551 - 1699400 0.0044500966 0.0019588327 0.0041143482 - 1699500 0.0043309253 0.0020360386 0.0041338305 - 1699600 0.0044102557 0.0023318358 0.0044680534 - 1699700 0.0041631471 0.0020567879 0.0040733123 - 1699800 0.0050431049 0.0022420039 0.0046847578 - 1699900 0.0041081511 0.0022995459 0.0042894316 - 1700000 0.0053114036 0.0023752439 0.004947955 - 1700100 0.0047385322 0.0024788783 0.0047741048 - 1700200 0.0036241749 0.0028766263 0.004632086 - 1700300 0.0053333755 0.0025694989 0.0051528526 - 1700400 0.005133738 0.0023409198 0.0048275741 - 1700500 0.0043915741 0.0023260608 0.0044532295 - 1700600 0.0041478594 0.002237391 0.0042465104 - 1700700 0.0029302281 0.0023926425 0.0038119718 - 1700800 0.0042049078 0.0024456111 0.0044823633 - 1700900 0.0039984862 0.0026959405 0.0046327073 - 1701000 0.006656029 0.0029913914 0.0062154054 - 1701100 0.0064332741 0.0034317131 0.0065478302 - 1701200 0.0053808746 0.0034442687 0.0060506298 - 1701300 0.0071836492 0.0024332104 0.0059127905 - 1701400 0.0050971444 0.0023401649 0.0048090942 - 1701500 0.0050012866 0.0023346174 0.0047571155 - 1701600 0.0050199507 0.002251442 0.0046829807 - 1701700 0.0050849211 0.0023097505 0.0047727591 - 1701800 0.0038761859 0.0023392795 0.0042168071 - 1701900 0.0053482145 0.0021927678 0.0047833092 - 1702000 0.0060386689 0.0024264724 0.0053514527 - 1702100 0.006871619 0.0023329272 0.0056613676 - 1702200 0.0059622773 0.0023141196 0.0052020977 - 1702300 0.0050874061 0.0020618454 0.0045260578 - 1702400 0.0053689431 0.0015740742 0.004174656 - 1702500 0.0043232572 0.0012172743 0.003311352 - 1702600 0.0041200656 0.001376304 0.0033719608 - 1702700 0.0042928936 0.0019021361 0.0039815064 - 1702800 0.0044734331 0.0022428951 0.0044097143 - 1702900 0.0036115065 0.0025169635 0.0042662869 - 1703000 0.0052779259 0.002658837 0.0052153323 - 1703100 0.0065897727 0.0029102799 0.006102201 - 1703200 0.0045110953 0.0036666271 0.0058516889 - 1703300 0.0053712768 0.0033929901 0.0059947023 - 1703400 0.0043138533 0.0030860551 0.0051755778 - 1703500 0.0046933038 0.0032001574 0.0054734765 - 1703600 0.0058954052 0.0030559072 0.0059114941 - 1703700 0.0052387875 0.0031179058 0.0056554435 - 1703800 0.0075078065 0.0031200525 0.0067566463 - 1703900 0.0055650291 0.0029466655 0.0056422265 - 1704000 0.0071520064 0.0031791781 0.0066434312 - 1704100 0.0053128352 0.0029855251 0.0055589296 - 1704200 0.0059583304 0.0037642824 0.0066503487 - 1704300 0.0048261284 0.0035450477 0.0058827036 - 1704400 0.0054494603 0.002900639 0.0055402213 - 1704500 0.0044747769 0.0025723891 0.0047398592 - 1704600 0.0046197433 0.0029437427 0.0051814309 - 1704700 0.0042616497 0.0030050544 0.0050692909 - 1704800 0.0049303892 0.0036245081 0.0060126653 - 1704900 0.0057577539 0.0034182937 0.0062072058 - 1705000 0.0072933872 0.0021744692 0.0057072037 - 1705100 0.0040134711 0.0024285575 0.0043725826 - 1705200 0.0043395842 0.0026196742 0.0047216603 - 1705300 0.004181798 0.0026546097 0.0046801681 - 1705400 0.0069324959 0.0023996927 0.0057576204 - 1705500 0.0069451071 0.0027190325 0.0060830687 - 1705600 0.0058839428 0.0035196226 0.0063696574 - 1705700 0.0055465285 0.0036211537 0.0063077534 - 1705800 0.006089453 0.003988566 0.0069381448 - 1705900 0.0062162876 0.0040045673 0.0070155815 - 1706000 0.0053147555 0.0041267183 0.006701053 - 1706100 0.0055631384 0.0040339252 0.0067285704 - 1706200 0.0050516886 0.0032305374 0.0056774491 - 1706300 0.0061979036 0.0025432503 0.0055453599 - 1706400 0.0073983094 0.0024810372 0.0060645933 - 1706500 0.0061493282 0.002555957 0.0055345379 - 1706600 0.0054887171 0.002688232 0.0053468294 - 1706700 0.004694973 0.0030949629 0.0053690905 - 1706800 0.0055740906 0.0030774398 0.0057773899 - 1706900 0.003947304 0.0028045632 0.0047165386 - 1707000 0.005695582 0.0025559039 0.0053147014 - 1707100 0.0064052616 0.0023362423 0.0054387909 - 1707200 0.0033132362 0.0024377487 0.0040425975 - 1707300 0.0042443847 0.0022299753 0.0042858491 - 1707400 0.0053098776 0.0022988101 0.0048707821 - 1707500 0.0054551927 0.0026795847 0.0053219437 - 1707600 0.004937858 0.0031022794 0.0054940544 - 1707700 0.0043328551 0.0028778068 0.0049765335 - 1707800 0.0062935435 0.0027733342 0.0058217693 - 1707900 0.0043523008 0.0032635936 0.0053717393 - 1708000 0.0058332909 0.0029906601 0.0058161604 - 1708100 0.0045924241 0.0029209907 0.0051454461 - 1708200 0.0048619958 0.0024147873 0.0047698165 - 1708300 0.0041213878 0.0027575835 0.0047538807 - 1708400 0.0052568052 0.0029828248 0.0055290898 - 1708500 0.0059131269 0.0026349093 0.0054990802 - 1708600 0.0059196775 0.0027200145 0.0055873583 - 1708700 0.0041248013 0.0029561594 0.0049541101 - 1708800 0.0059913639 0.0027352636 0.0056373305 - 1708900 0.0058537977 0.0027178401 0.0055532733 - 1709000 0.0046670792 0.0028266557 0.0050872722 - 1709100 0.0057799251 0.002734702 0.0055343532 - 1709200 0.0042200709 0.0028053507 0.0048494476 - 1709300 0.0046736202 0.0024743339 0.0047381187 - 1709400 0.0062089396 0.0027434324 0.0057508875 - 1709500 0.0051697641 0.0023635762 0.0048676807 - 1709600 0.0051542583 0.0021020657 0.0045986595 - 1709700 0.0055226533 0.0019652787 0.0046403139 - 1709800 0.0044838564 0.0024041282 0.0045759961 - 1709900 0.0049763574 0.0026142109 0.005024634 - 1710000 0.0057864459 0.002955427 0.0057582367 - 1710100 0.0046115986 0.0025655947 0.0047993378 - 1710200 0.005045252 0.0021502801 0.0045940741 - 1710300 0.0057030965 0.0022698021 0.0050322395 - 1710400 0.0040851978 0.0024006116 0.0043793793 - 1710500 0.0043368994 0.0023648035 0.0044654892 - 1710600 0.0039628908 0.0026275126 0.0045470379 - 1710700 0.0045596257 0.002624845 0.0048334137 - 1710800 0.0054981211 0.0024641204 0.0051272728 - 1710900 0.0047260981 0.0027794633 0.0050686671 - 1711000 0.0058680159 0.0024513809 0.0052937011 - 1711100 0.0067786629 0.002281516 0.0055649309 - 1711200 0.0052374864 0.002383307 0.0049202145 - 1711300 0.0040860612 0.0021987094 0.0041778953 - 1711400 0.0038821168 0.0020059996 0.0038863999 - 1711500 0.005284233 0.001894583 0.0044541333 - 1711600 0.0053296152 0.0018755714 0.0044571037 - 1711700 0.0044982215 0.0020946304 0.0042734565 - 1711800 0.0047158584 0.0027555824 0.0050398263 - 1711900 0.0040609087 0.0027589413 0.0047259439 - 1712000 0.0046444898 0.0029262011 0.0051758759 - 1712100 0.0070853606 0.0025466032 0.0059785747 - 1712200 0.0070912936 0.0027669404 0.0062017857 - 1712300 0.0051302538 0.0029759723 0.005460939 - 1712400 0.0046104587 0.0024141589 0.0046473498 - 1712500 0.0037223561 0.0023480942 0.0041511104 - 1712600 0.0041146425 0.0026345001 0.00462753 - 1712700 0.0052011162 0.0024548427 0.0049741333 - 1712800 0.0064340389 0.0023913174 0.005507805 - 1712900 0.0039103025 0.0025153739 0.0044094266 - 1713000 0.0053379156 0.0025648112 0.0051503641 - 1713100 0.0043918935 0.0023819064 0.0045092298 - 1713200 0.0041141332 0.0024938388 0.0044866221 - 1713300 0.0035377434 0.0028477668 0.0045613613 - 1713400 0.0070673561 0.0022939215 0.0057171721 - 1713500 0.0047353121 0.0020863917 0.0043800585 - 1713600 0.0044174609 0.0019242305 0.0040639381 - 1713700 0.006214727 0.0020682434 0.0050785018 - 1713800 0.0049480968 0.0020798042 0.0044765386 - 1713900 0.0044573343 0.0018929904 0.0040520117 - 1714000 0.0036758783 0.0018935487 0.0036740522 - 1714100 0.0056489752 0.0018911349 0.0046273573 - 1714200 0.0056387951 0.0021031358 0.0048344272 - 1714300 0.0051333895 0.0022898359 0.0047763214 - 1714400 0.0066184704 0.0026657881 0.0058716097 - 1714500 0.0060047552 0.002798812 0.0057073653 - 1714600 0.0030790864 0.0033786505 0.0048700829 - 1714700 0.0055882202 0.0029987457 0.0057055399 - 1714800 0.0046064049 0.0030002794 0.0052315068 - 1714900 0.0048321475 0.0029682094 0.0053087809 - 1715000 0.0046307025 0.0033160534 0.0055590499 - 1715100 0.0041746589 0.0033362842 0.0053583846 - 1715200 0.0065575089 0.0033180601 0.0064943535 - 1715300 0.0045515727 0.0034465794 0.0056512474 - 1715400 0.0067231296 0.0029496673 0.0062061832 - 1715500 0.0048676071 0.0028070931 0.0051648403 - 1715600 0.005348402 0.0026362027 0.0052268349 - 1715700 0.0062783752 0.0026437183 0.0056848063 - 1715800 0.0060313571 0.0026228276 0.0055442662 - 1715900 0.0044982124 0.0022982922 0.0044771138 - 1716000 0.0043762862 0.0017643304 0.0038840941 - 1716100 0.0048156881 0.0018469664 0.0041795654 - 1716200 0.0049822049 0.0019443363 0.0043575918 - 1716300 0.0049509203 0.0019530477 0.0043511497 - 1716400 0.005404445 0.0018474202 0.0044651983 - 1716500 0.0065618746 0.0022431782 0.0054215862 - 1716600 0.0051178307 0.0025324558 0.005011405 - 1716700 0.0056761741 0.0023988723 0.0051482691 - 1716800 0.004578517 0.0020811562 0.0042988753 - 1716900 0.0067851521 0.0020500894 0.0053366474 - 1717000 0.0053938144 0.0023926411 0.0050052699 - 1717100 0.0050020654 0.0018788266 0.004301702 - 1717200 0.0048194091 0.0019461555 0.0042805568 - 1717300 0.004462656 0.00219018 0.004351779 - 1717400 0.0052594949 0.0027239917 0.0052715596 - 1717500 0.0056153336 0.0026636038 0.005383531 - 1717600 0.0052858902 0.0022188323 0.0047791854 - 1717700 0.0043954568 0.0020541768 0.0041832261 - 1717800 0.0062352559 0.0020860453 0.0051062474 - 1717900 0.0050113496 0.0022271322 0.0046545046 - 1718000 0.006433185 0.0021509366 0.0052670106 - 1718100 0.0031906929 0.0022180625 0.0037635544 - 1718200 0.0059618979 0.0015992941 0.0044870884 - 1718300 0.0055904005 0.0015817365 0.0042895867 - 1718400 0.007518611 0.0017988331 0.0054406603 - 1718500 0.0057384505 0.0024225645 0.0052021265 - 1718600 0.0046866077 0.002515872 0.0047859476 - 1718700 0.0052410234 0.0021557094 0.0046943301 - 1718800 0.0062447189 0.0023346366 0.0053594223 - 1718900 0.0051114139 0.0022943734 0.0047702145 - 1719000 0.0053294249 0.0022131931 0.0047946333 - 1719100 0.0048139113 0.0024386867 0.004770425 - 1719200 0.0049053164 0.002342042 0.0047180546 - 1719300 0.0046716487 0.0025212784 0.0047841082 - 1719400 0.0039762069 0.0025179971 0.0044439723 - 1719500 0.0044830249 0.0024602814 0.0046317467 - 1719600 0.0043186533 0.0022705626 0.0043624103 - 1719700 0.0052318096 0.0023329716 0.0048671293 - 1719800 0.0066946871 0.0022724462 0.0055151853 - 1719900 0.0058827034 0.0025280772 0.0053775116 - 1720000 0.0039895886 0.0023200431 0.0042525001 - 1720100 0.0043891422 0.0018757418 0.0040017325 - 1720200 0.0037436855 0.0024320726 0.0042454202 - 1720300 0.0045782398 0.0025501001 0.004767685 - 1720400 0.0054109386 0.0021969348 0.0048178582 - 1720500 0.0035663983 0.0022775072 0.0040049814 - 1720600 0.0044209548 0.0024788686 0.0046202686 - 1720700 0.0057031048 0.0025338382 0.0052962795 - 1720800 0.0047130994 0.0024968535 0.0047797611 - 1720900 0.0037422862 0.0024986228 0.0043112926 - 1721000 0.0052451842 0.0024405518 0.0049811879 - 1721100 0.0055724093 0.0025706392 0.0052697749 - 1721200 0.0035752981 0.0027741261 0.0045059112 - 1721300 0.0050793959 0.0027162868 0.0051766192 - 1721400 0.0058888541 0.0029424959 0.0057949096 - 1721500 0.005425502 0.0028524083 0.0054803858 - 1721600 0.0062508973 0.0028811485 0.0059089269 - 1721700 0.006212506 0.0032301147 0.0062392973 - 1721800 0.0049214507 0.0032649751 0.0056488028 - 1721900 0.0039455307 0.0032204822 0.0051315986 - 1722000 0.0053372904 0.0027097048 0.0052949548 - 1722100 0.005807528 0.0022174199 0.0050304413 - 1722200 0.0058867137 0.0027049408 0.0055563178 - 1722300 0.0045479402 0.0030238012 0.0052267098 - 1722400 0.0054720906 0.0034046023 0.0060551462 - 1722500 0.0043120742 0.0033536195 0.0054422805 - 1722600 0.0039899437 0.0034237158 0.0053563447 - 1722700 0.0057641599 0.0033070821 0.0060990971 - 1722800 0.0047170262 0.0033422137 0.0056270233 - 1722900 0.0056971578 0.0032033124 0.0059628732 - 1723000 0.0043972592 0.0029657644 0.0050956868 - 1723100 0.0042240361 0.0031639539 0.0052099713 - 1723200 0.0048796733 0.0031633643 0.005526956 - 1723300 0.0042558943 0.0026627485 0.0047241973 - 1723400 0.005520903 0.0024027988 0.0050769862 - 1723500 0.0043366714 0.0028786853 0.0049792605 - 1723600 0.0051168869 0.0035168842 0.0059953763 - 1723700 0.0044207572 0.0029525602 0.0050938645 - 1723800 0.0052503344 0.002839718 0.0053828487 - 1723900 0.0072463226 0.0031380267 0.0066479642 - 1724000 0.0054770013 0.0035031784 0.0061561009 - 1724100 0.0042614019 0.0030331305 0.0050972471 - 1724200 0.0043577083 0.0024221973 0.0045329623 - 1724300 0.0051991517 0.0023741116 0.0048924507 - 1724400 0.0055883274 0.0025234336 0.0052302797 - 1724500 0.0065328327 0.0021946966 0.0053590375 - 1724600 0.0059541045 0.0020283983 0.0049124176 - 1724700 0.0058108572 0.0026045802 0.0054192142 - 1724800 0.0048355184 0.0028391677 0.0051813719 - 1724900 0.0045189661 0.0031137516 0.0053026258 - 1725000 0.0052326677 0.0032019723 0.0057365458 - 1725100 0.0053213271 0.0027898061 0.005367324 - 1725200 0.0052778925 0.0026210101 0.0051774893 - 1725300 0.0069296837 0.0029057719 0.0062623374 - 1725400 0.0054396855 0.0031629732 0.0057978208 - 1725500 0.0049085807 0.0031713054 0.0055488992 - 1725600 0.004741848 0.0028387265 0.0051355591 - 1725700 0.0039514598 0.0027266892 0.0046406776 - 1725800 0.005087878 0.0025072005 0.0049716414 - 1725900 0.005606143 0.0023616003 0.0050770758 - 1726000 0.0054373355 0.0026404986 0.005274208 - 1726100 0.0048784219 0.0026220074 0.004984993 - 1726200 0.0051643589 0.0024150674 0.0049165537 - 1726300 0.0055199005 0.0024426962 0.005116398 - 1726400 0.0059238258 0.0025140805 0.0053834336 - 1726500 0.0060611909 0.0024011478 0.0053370372 - 1726600 0.0047572702 0.002340689 0.0046449918 - 1726700 0.0051008582 0.0021882901 0.0046590183 - 1726800 0.003864428 0.0024583189 0.0043301512 - 1726900 0.0062448477 0.0022809602 0.0053058083 - 1727000 0.0054794859 0.0023622989 0.0050164249 - 1727100 0.0050091863 0.0024577831 0.0048841078 - 1727200 0.0054423594 0.002772386 0.0054085289 - 1727300 0.0047285653 0.0031395394 0.0054299382 - 1727400 0.0059209339 0.0025864915 0.0054544439 - 1727500 0.0057485627 0.0022101168 0.0049945768 - 1727600 0.0050710532 0.0026989189 0.0051552103 - 1727700 0.0043521472 0.0032261846 0.0053342559 - 1727800 0.0042031374 0.0038153686 0.0058512633 - 1727900 0.0051773558 0.0037449495 0.0062527312 - 1728000 0.0050651166 0.003363139 0.0058165549 - 1728100 0.0063862113 0.0026769432 0.0057702643 - 1728200 0.0056077777 0.0023633992 0.0050796665 - 1728300 0.0049241961 0.0023358505 0.004721008 - 1728400 0.0039462681 0.0027304114 0.004641885 - 1728500 0.0058177446 0.0026354122 0.0054533823 - 1728600 0.0034391425 0.0024941065 0.0041599411 - 1728700 0.0044696648 0.0021830253 0.0043480192 - 1728800 0.005252547 0.0020954875 0.00463969 - 1728900 0.0048589901 0.0024723949 0.0048259682 - 1729000 0.0060168853 0.0027525474 0.0056669762 - 1729100 0.0037641116 0.0027132143 0.0045364559 - 1729200 0.0050024007 0.0023786015 0.0048016393 - 1729300 0.0056958542 0.0018014237 0.0045603531 - 1729400 0.0056703537 0.0015483738 0.0042949514 - 1729500 0.0052308066 0.0019259366 0.0044596086 - 1729600 0.0044541623 0.0022836024 0.0044410872 - 1729700 0.003680431 0.002342922 0.0041256308 - 1729800 0.0035445482 0.0019767045 0.0036935951 - 1729900 0.0058187938 0.001635036 0.0044535142 - 1730000 0.0054830788 0.002032577 0.0046884433 - 1730100 0.0050635837 0.0026482624 0.0051009358 - 1730200 0.0050729389 0.0029584959 0.0054157006 - 1730300 0.0072848201 0.0029183722 0.0064469569 - 1730400 0.0068022532 0.0030796447 0.0063744861 - 1730500 0.0037254587 0.00328594 0.0050904591 - 1730600 0.0055008246 0.002819862 0.0054843239 - 1730700 0.0039438316 0.0025601518 0.0044704452 - 1730800 0.0042745461 0.002390096 0.0044605792 - 1730900 0.0048998885 0.0022593902 0.0046327737 - 1731000 0.0046618221 0.0022064825 0.0044645526 - 1731100 0.0045758738 0.0022094804 0.0044259192 - 1731200 0.0054697988 0.0021162293 0.0047656631 - 1731300 0.0055104587 0.0026563715 0.0053255 - 1731400 0.0049513246 0.0026593119 0.0050576098 - 1731500 0.0051519284 0.0027212787 0.005216744 - 1731600 0.0059220373 0.0028867846 0.0057552714 - 1731700 0.005015988 0.0027790302 0.0052086494 - 1731800 0.0066149447 0.0023096429 0.0055137567 - 1731900 0.0053663416 0.0024409337 0.0050402554 - 1732000 0.0042174638 0.0027978293 0.0048406634 - 1732100 0.0058469071 0.0026030488 0.0054351445 - 1732200 0.0065262948 0.0024695042 0.0056306782 - 1732300 0.005912915 0.0025921061 0.0054561743 - 1732400 0.0053890573 0.0028277873 0.0054381119 - 1732500 0.0054207713 0.0022297704 0.0048554565 - 1732600 0.0045504261 0.0022605925 0.0044647052 - 1732700 0.0041108803 0.0024149924 0.0044062 - 1732800 0.0057871476 0.0025863984 0.005389548 - 1732900 0.0054156614 0.0023044754 0.0049276864 - 1733000 0.0049320508 0.0021982371 0.0045871991 - 1733100 0.005646787 0.0023427814 0.0050779439 - 1733200 0.0067816597 0.0025596194 0.0058444858 - 1733300 0.005835626 0.0028620027 0.005688634 - 1733400 0.005517103 0.0025419716 0.0052143184 - 1733500 0.0047662079 0.0024765892 0.0047852211 - 1733600 0.0057261405 0.0023095493 0.0050831486 - 1733700 0.0063950819 0.001883593 0.0049812108 - 1733800 0.0047749193 0.0017781318 0.0040909833 - 1733900 0.0057336104 0.002091474 0.0048686916 - 1734000 0.0059317649 0.002551493 0.0054246916 - 1734100 0.0051243122 0.0028676163 0.0053497051 - 1734200 0.004400347 0.0031475932 0.0052790113 - 1734300 0.005360607 0.0029090427 0.0055055867 - 1734400 0.0068878824 0.0026489317 0.0059852497 - 1734500 0.005099337 0.0026840051 0.0051539965 - 1734600 0.0048526033 0.0028659719 0.0052164517 - 1734700 0.0038276018 0.0031484145 0.0050024091 - 1734800 0.0060487652 0.0027164336 0.0056463043 - 1734900 0.0063096194 0.002320614 0.005376836 - 1735000 0.0053885886 0.0021161976 0.0047262952 - 1735100 0.004732009 0.0021988977 0.0044909645 - 1735200 0.0059961776 0.002175547 0.0050799456 - 1735300 0.006295824 0.0025758372 0.005625377 - 1735400 0.005805814 0.0026114738 0.0054236649 - 1735500 0.0064778294 0.0028612729 0.0059989715 - 1735600 0.0054357519 0.0036945892 0.0063275315 - 1735700 0.0046450555 0.0033849831 0.0056349318 - 1735800 0.0031720259 0.0030313018 0.0045677519 - 1735900 0.0058390097 0.0027460987 0.005574369 - 1736000 0.0037811592 0.0025645001 0.0043959991 - 1736100 0.0046851524 0.0023545481 0.0046239189 - 1736200 0.0034983725 0.0023382377 0.0040327619 - 1736300 0.0058303489 0.0019393258 0.004763401 - 1736400 0.005189731 0.0018510839 0.0043648599 - 1736500 0.0048414232 0.0020340178 0.0043790822 - 1736600 0.0045478801 0.0021659472 0.0043688267 - 1736700 0.0044765664 0.0022710857 0.0044394225 - 1736800 0.0039989192 0.0022252823 0.0041622588 - 1736900 0.0050905045 0.00269379 0.0051595031 - 1737000 0.0039474109 0.0029975155 0.0049095426 - 1737100 0.0055620625 0.0023939834 0.0050881074 - 1737200 0.0057942835 0.0022977667 0.0051043728 - 1737300 0.0051538986 0.0026275556 0.0051239752 - 1737400 0.0048696572 0.0026940309 0.0050527711 - 1737500 0.0047847391 0.0025377319 0.0048553399 - 1737600 0.0048975344 0.0020295456 0.0044017888 - 1737700 0.0057893279 0.0019884191 0.0047926248 - 1737800 0.0048362692 0.0024262807 0.0047688486 - 1737900 0.0041363774 0.0028045247 0.0048080825 - 1738000 0.0049876734 0.0025846737 0.005000578 - 1738100 0.005152977 0.0021813444 0.0046773177 - 1738200 0.0039038002 0.0020475184 0.0039384216 - 1738300 0.0044804217 0.0022440428 0.0044142471 - 1738400 0.0052544517 0.0020102751 0.0045554002 - 1738500 0.0061693548 0.0018332096 0.0048214908 - 1738600 0.004124845 0.0022940007 0.0042919725 - 1738700 0.0049896684 0.002320081 0.0047369517 - 1738800 0.0055108264 0.0020358958 0.0047052024 - 1738900 0.0046429714 0.00233662 0.0045855593 - 1739000 0.0046148838 0.0022874765 0.0045228108 - 1739100 0.0056652483 0.0022750601 0.0050191648 - 1739200 0.0050688358 0.0020795018 0.0045347192 - 1739300 0.0053356442 0.0022655514 0.004850004 - 1739400 0.0049855427 0.0027838297 0.0051987019 - 1739500 0.0055345069 0.0031100791 0.0057908559 - 1739600 0.0044601075 0.0028232451 0.0049836097 - 1739700 0.0046116827 0.0025698277 0.0048036115 - 1739800 0.0056393193 0.0028554241 0.0055869694 - 1739900 0.0057610763 0.0027186415 0.0055091628 - 1740000 0.0041441549 0.0022509839 0.0042583089 - 1740100 0.0063718211 0.0021177705 0.0052041213 - 1740200 0.0041829076 0.0025020284 0.0045281243 - 1740300 0.003778859 0.0027873811 0.0046177659 - 1740400 0.0061037003 0.0021157174 0.0050721972 - 1740500 0.0059900681 0.0014310699 0.0043325092 - 1740600 0.0050836353 0.0013524356 0.0038148215 - 1740700 0.0059409694 0.0015518032 0.0044294603 - 1740800 0.004622956 0.0016134569 0.0038527012 - 1740900 0.005818961 0.0020679528 0.0048865121 - 1741000 0.0060804704 0.0021213563 0.0050665842 - 1741100 0.0055174041 0.0022750248 0.0049475174 - 1741200 0.0036452225 0.0026966411 0.0044622958 - 1741300 0.0037640062 0.0026854833 0.0045086738 - 1741400 0.0067500334 0.0018453586 0.005114906 - 1741500 0.0040947605 0.001944766 0.0039281656 - 1741600 0.0036036773 0.0021347868 0.0038803179 - 1741700 0.0056297968 0.0019220741 0.0046490069 - 1741800 0.0055786267 0.0020441281 0.0047462754 - 1741900 0.0034958432 0.0022584051 0.0039517041 - 1742000 0.0060024735 0.0022870484 0.0051944965 - 1742100 0.0055844647 0.0022377165 0.0049426916 - 1742200 0.0047052813 0.0020838146 0.0043629352 - 1742300 0.0054433462 0.00186912 0.0045057408 - 1742400 0.0044093475 0.0019951129 0.0041308906 - 1742500 0.0037928966 0.0021895512 0.0040267355 - 1742600 0.0059471122 0.0022864891 0.0051671216 - 1742700 0.004561805 0.0021836092 0.0043932335 - 1742800 0.005023107 0.0019914996 0.004424567 - 1742900 0.0037629664 0.0021444734 0.0039671602 - 1743000 0.0041214351 0.0019152222 0.0039115423 - 1743100 0.0043606092 0.001996273 0.0041084431 - 1743200 0.0045800093 0.0021475658 0.0043660078 - 1743300 0.005929807 0.0017770545 0.0046493048 - 1743400 0.0048023735 0.001632658 0.0039588076 - 1743500 0.0059172326 0.0018122343 0.0046783939 - 1743600 0.0047762813 0.0022741379 0.0045876491 - 1743700 0.0056136377 0.0020215978 0.0047407036 - 1743800 0.0058828994 0.0014774067 0.0043269361 - 1743900 0.0056188514 0.0016479642 0.0043695954 - 1744000 0.0069335159 0.0023564261 0.0057148479 - 1744100 0.0043247402 0.0023690165 0.0044638125 - 1744200 0.0051701192 0.0021193128 0.0046235893 - 1744300 0.0052669276 0.002049027 0.0046001951 - 1744400 0.0057755358 0.0022660567 0.0050635819 - 1744500 0.0068869471 0.0019263329 0.0052621979 - 1744600 0.003970072 0.0023832976 0.0043063012 - 1744700 0.0052293256 0.0025410232 0.0050739778 - 1744800 0.0053224767 0.0029426217 0.0055206963 - 1744900 0.0039557004 0.0033297261 0.0052457685 - 1745000 0.0045170846 0.0034127598 0.0056007226 - 1745100 0.0050671163 0.0033395938 0.0057939783 - 1745200 0.0056834446 0.0024621668 0.0052150853 - 1745300 0.0044025679 0.0018693986 0.0040018925 - 1745400 0.0053085791 0.0017183416 0.0042896846 - 1745500 0.0037862428 0.001913941 0.0037479023 - 1745600 0.0040464438 0.0021261749 0.0040861712 - 1745700 0.005087493 0.0021309063 0.0045951607 - 1745800 0.0042653112 0.0023213329 0.004387343 - 1745900 0.0048995922 0.0020789667 0.0044522067 - 1746000 0.0052304947 0.0017156651 0.004249186 - 1746100 0.0041607844 0.0021074055 0.0041227854 - 1746200 0.005458065 0.0020561375 0.0046998878 - 1746300 0.0048127731 0.001983398 0.004314585 - 1746400 0.0038096618 0.0021120408 0.0039573458 - 1746500 0.0057017051 0.0019405974 0.0047023608 - 1746600 0.0047474372 0.0018981587 0.0041976986 - 1746700 0.0051174989 0.0025482266 0.0050270152 - 1746800 0.0055723622 0.0030906163 0.0057897293 - 1746900 0.0062126832 0.0025580433 0.0055673117 - 1747000 0.0076343297 0.002046077 0.0057439555 - 1747100 0.0068464404 0.00189538 0.0052116246 - 1747200 0.0048095404 0.0023162136 0.0046458347 - 1747300 0.0054084 0.0018998918 0.0045195855 - 1747400 0.0037292916 0.0019674262 0.0037738018 - 1747500 0.0046616301 0.0024144239 0.004672401 - 1747600 0.0055773085 0.0029831269 0.0056846357 - 1747700 0.0057405012 0.0028568019 0.0056373572 - 1747800 0.0053346718 0.0032635379 0.0058475196 - 1747900 0.004764428 0.0030162028 0.0053239726 - 1748000 0.004600755 0.0025887871 0.0048172778 - 1748100 0.0055574242 0.0024868052 0.0051786825 - 1748200 0.0041941894 0.0028054089 0.0048369694 - 1748300 0.0052222096 0.0024609425 0.0049904502 - 1748400 0.0052719308 0.0026960292 0.0052496207 - 1748500 0.0049784623 0.0026399012 0.0050513439 - 1748600 0.0044706516 0.0022298669 0.0043953387 - 1748700 0.0065311555 0.0023549668 0.0055184953 - 1748800 0.006375288 0.0022570724 0.0053451025 - 1748900 0.0052865623 0.002758453 0.0053191316 - 1749000 0.0040745392 0.0028613902 0.0048349951 - 1749100 0.004948874 0.0028675516 0.0052646624 - 1749200 0.0053088268 0.0028838042 0.0054552672 - 1749300 0.00489567 0.0028736314 0.0052449716 - 1749400 0.0052090975 0.0029320523 0.0054552089 - 1749500 0.007484973 0.0023041125 0.0059296463 - 1749600 0.004374995 0.0024079303 0.0045270685 - 1749700 0.0048299557 0.0020166188 0.0043561286 - 1749800 0.0052771575 0.0017493598 0.0043054829 - 1749900 0.005061026 0.0017576068 0.0042090413 - 1750000 0.0037004873 0.0019395724 0.0037319959 - 1750100 0.0039019406 0.0018811299 0.0037711324 - 1750200 0.0057549197 0.0019623688 0.004749908 - 1750300 0.0066752169 0.0023040241 0.0055373323 - 1750400 0.0052953605 0.0026860758 0.005251016 - 1750500 0.0036997421 0.0033532161 0.0051452787 - 1750600 0.0055894148 0.0032920537 0.0059994265 - 1750700 0.0072110328 0.0026647171 0.0061575611 - 1750800 0.0051382476 0.002760163 0.0052490016 - 1750900 0.0054360561 0.0024858525 0.0051189422 - 1751000 0.0055353842 0.002640353 0.0053215547 - 1751100 0.0056300453 0.0026261803 0.0053532335 - 1751200 0.003667748 0.0027771921 0.0045537576 - 1751300 0.0038318724 0.002593969 0.0044500322 - 1751400 0.0040565835 0.0030453833 0.0050102909 - 1751500 0.0051136385 0.0029510642 0.0054279829 - 1751600 0.0057553874 0.0026041898 0.0053919555 - 1751700 0.0039339117 0.0026424 0.0045478885 - 1751800 0.0044821157 0.0023977291 0.0045687539 - 1751900 0.0048564834 0.0024451759 0.004797535 - 1752000 0.0057608676 0.0028355191 0.0056259393 - 1752100 0.0044769937 0.0027307674 0.0048993112 - 1752200 0.0036795176 0.002562308 0.0043445743 - 1752300 0.0048702572 0.0025269973 0.0048860282 - 1752400 0.004856363 0.0026175864 0.0049698873 - 1752500 0.005421819 0.002855661 0.0054818546 - 1752600 0.0048491186 0.0027612361 0.005110028 - 1752700 0.0051857484 0.0028221558 0.0053340026 - 1752800 0.0053610268 0.0026457975 0.0052425449 - 1752900 0.0039977073 0.0027428813 0.0046792708 - 1753000 0.0065548922 0.0026345971 0.005809623 - 1753100 0.0069755128 0.0027416857 0.0061204497 - 1753200 0.0065503483 0.0028482681 0.0060210931 - 1753300 0.0048068927 0.0025866046 0.0049149433 - 1753400 0.0034993797 0.0025018195 0.0041968316 - 1753500 0.0056137083 0.0025632188 0.0052823587 - 1753600 0.0066701644 0.0030686517 0.0062995125 - 1753700 0.0051195875 0.0029283343 0.0054081345 - 1753800 0.004861754 0.0027391813 0.0050940934 - 1753900 0.0060879641 0.0026551777 0.0056040354 - 1754000 0.005614109 0.0026399483 0.0053592823 - 1754100 0.0045334964 0.0024935474 0.0046894597 - 1754200 0.0054466519 0.0023018231 0.0049400451 - 1754300 0.0031924728 0.0025888855 0.0041352395 - 1754400 0.0049257609 0.002389492 0.0047754074 - 1754500 0.0048819499 0.0026318205 0.004996515 - 1754600 0.0041298967 0.0030238884 0.0050243072 - 1754700 0.0047060078 0.002897246 0.0051767185 - 1754800 0.0067483189 0.0025758437 0.0058445607 - 1754900 0.0046319285 0.0024877318 0.0047313222 - 1755000 0.0064309461 0.0026912977 0.0058062873 - 1755100 0.0063932274 0.0024243139 0.0055210334 - 1755200 0.0052883302 0.0023621441 0.004923679 - 1755300 0.0054592503 0.0023610806 0.0050054049 - 1755400 0.0044399284 0.002293562 0.0044441523 - 1755500 0.0052339361 0.0021584162 0.004693604 - 1755600 0.0048560074 0.0021904854 0.004542614 - 1755700 0.0058573511 0.0018426952 0.0046798497 - 1755800 0.0046095833 0.0017633178 0.0039960847 - 1755900 0.0054356898 0.0018694989 0.0045024111 - 1756000 0.004513965 0.0021108008 0.0042972526 - 1756100 0.0052779082 0.0021304724 0.0046869592 - 1756200 0.0038975911 0.0024121689 0.0043000646 - 1756300 0.0050505672 0.002061538 0.0045079065 - 1756400 0.0036981094 0.0022033478 0.0039946195 - 1756500 0.0045244793 0.0025282263 0.004719771 - 1756600 0.0040756481 0.0025421677 0.0045163097 - 1756700 0.0052700879 0.0021803224 0.0047330212 - 1756800 0.007796999 0.0019657416 0.005742413 - 1756900 0.0052629005 0.0024518841 0.0050011015 - 1757000 0.0046369182 0.0028297712 0.0050757785 - 1757100 0.0058078059 0.0023428292 0.0051559852 - 1757200 0.0049127132 0.0019633376 0.0043429331 - 1757300 0.0042720455 0.0020232255 0.0040924975 - 1757400 0.003419884 0.0025959295 0.0042524359 - 1757500 0.0039326699 0.0029808192 0.0048857062 - 1757600 0.0063878088 0.002873339 0.0059674338 - 1757700 0.0056540715 0.0025655075 0.0053041984 - 1757800 0.0050744129 0.0025898882 0.0050478069 - 1757900 0.0069279625 0.0027319535 0.0060876853 - 1758000 0.0058346224 0.0026574842 0.0054836294 - 1758100 0.0049811589 0.0025222139 0.0049349628 - 1758200 0.0047421511 0.0023578443 0.0046548238 - 1758300 0.0047033164 0.0020701523 0.0043483211 - 1758400 0.0045835601 0.0019655011 0.004185663 - 1758500 0.0046979593 0.0020159534 0.0042915274 - 1758600 0.0042124764 0.0021659897 0.0042064079 - 1758700 0.0052617443 0.0019289318 0.0044775892 - 1758800 0.0046484055 0.0021612705 0.0044128419 - 1758900 0.0078673598 0.0026041625 0.006414915 - 1759000 0.0045318562 0.0035705356 0.0057656534 - 1759100 0.0066427579 0.0026687611 0.005886347 - 1759200 0.0054241883 0.0023476053 0.0049749466 - 1759300 0.0037449 0.0021156971 0.003929633 - 1759400 0.0053582685 0.0018310809 0.0044264922 - 1759500 0.0055506459 0.0017695043 0.0044580984 - 1759600 0.0051812282 0.0021545027 0.0046641601 - 1759700 0.0057611963 0.0023140151 0.0051045945 - 1759800 0.004881094 0.0025651592 0.0049294391 - 1759900 0.0067436035 0.0021701065 0.0054365395 - 1760000 0.005976955 0.0022204213 0.0051155089 - 1760100 0.0059195408 0.0020057335 0.004873011 - 1760200 0.0059667958 0.0022649235 0.0051550902 - 1760300 0.0054079734 0.0023306227 0.0049501098 - 1760400 0.0049209745 0.0019462132 0.0043298102 - 1760500 0.0050255653 0.0021150055 0.0045492637 - 1760600 0.005239503 0.0021394344 0.0046773187 - 1760700 0.0063428919 0.002456977 0.0055293153 - 1760800 0.0050527209 0.0024777978 0.0049252095 - 1760900 0.0059130121 0.0025581804 0.0054222956 - 1761000 0.005953423 0.0023195454 0.0052032347 - 1761100 0.0045463271 0.002366277 0.0045684042 - 1761200 0.0047995894 0.0029343213 0.0052591224 - 1761300 0.0034926964 0.0033588576 0.0050506324 - 1761400 0.0055190612 0.0030128716 0.0056861669 - 1761500 0.005654794 0.0028475325 0.0055865734 - 1761600 0.0041960933 0.0031608643 0.005193347 - 1761700 0.0047864138 0.0031064815 0.0054249007 - 1761800 0.0052319875 0.0030547064 0.0055889504 - 1761900 0.0049687059 0.0028908117 0.0052975287 - 1762000 0.0042068104 0.0026896011 0.0047272749 - 1762100 0.0041817055 0.0023297222 0.0043552358 - 1762200 0.0062132894 0.0023242546 0.0053338166 - 1762300 0.0044240361 0.0026548768 0.0047977693 - 1762400 0.0050999488 0.0029637082 0.0054339959 - 1762500 0.0039216849 0.0027595641 0.0046591302 - 1762600 0.0041569867 0.002911193 0.0049247334 - 1762700 0.0041437392 0.0029964208 0.0050035444 - 1762800 0.0063516673 0.0028213474 0.0058979363 - 1762900 0.0059914693 0.0032020578 0.0061041757 - 1763000 0.0056223222 0.0031209309 0.0058442432 - 1763100 0.0062838262 0.0031093313 0.0061530596 - 1763200 0.0058228767 0.0028744931 0.005694949 - 1763300 0.0067916954 0.0024058355 0.005695563 - 1763400 0.0062490954 0.0029665559 0.0059934615 - 1763500 0.0041273419 0.0035568507 0.0055560319 - 1763600 0.0040845171 0.0031507056 0.0051291436 - 1763700 0.0049509946 0.0024303971 0.0048285351 - 1763800 0.0047749683 0.0024985705 0.0048114458 - 1763900 0.0050915357 0.0027343022 0.0052005148 - 1764000 0.005099525 0.0029683622 0.0054384446 - 1764100 0.00494449 0.0032298905 0.0056248779 - 1764200 0.0036399111 0.0033071952 0.0050702771 - 1764300 0.0055329568 0.0030109296 0.0056909555 - 1764400 0.0050982058 0.0028488798 0.0053183232 - 1764500 0.0056162611 0.002707689 0.0054280655 - 1764600 0.0061687529 0.0023010648 0.0052890544 - 1764700 0.0075445017 0.0024447451 0.0060991131 - 1764800 0.0037381658 0.0034373136 0.0052479876 - 1764900 0.0043042014 0.003479701 0.0055645486 - 1765000 0.0052021414 0.0031467644 0.0056665516 - 1765100 0.0046773613 0.0029567829 0.0052223797 - 1765200 0.0048051699 0.0022340127 0.0045615169 - 1765300 0.0070107159 0.0023721826 0.0057679981 - 1765400 0.0044538081 0.0025344222 0.0046917355 - 1765500 0.0049428911 0.0025755385 0.0049697514 - 1765600 0.0070980777 0.0026202044 0.0060583357 - 1765700 0.0073802038 0.0026085692 0.0061833554 - 1765800 0.0068289049 0.0023127504 0.0056205012 - 1765900 0.0061575527 0.0023281079 0.0053106725 - 1766000 0.0058703435 0.002269321 0.0051127687 - 1766100 0.0039734529 0.0023200114 0.0042446527 - 1766200 0.0062365667 0.0022703678 0.0052912048 - 1766300 0.0041362607 0.0022770093 0.0042805106 - 1766400 0.0042832303 0.001948576 0.0040232657 - 1766500 0.0034818437 0.0020043932 0.0036909112 - 1766600 0.0055520846 0.0020590575 0.0047483485 - 1766700 0.004768124 0.0021698671 0.0044794271 - 1766800 0.0046022818 0.0024400476 0.0046692778 - 1766900 0.0049335094 0.0020637839 0.0044534525 - 1767000 0.0050887024 0.0022794432 0.0047442835 - 1767100 0.0070456257 0.001999528 0.0054122529 - 1767200 0.0039431209 0.0020346708 0.00394462 - 1767300 0.006060991 0.0017611073 0.0046968998 - 1767400 0.004942166 0.0011650154 0.0035588771 - 1767500 0.0061968624 0.0014010857 0.0044026909 - 1767600 0.0053001824 0.0021327381 0.004700014 - 1767700 0.0056365512 0.0021436072 0.0048738117 - 1767800 0.0049292817 0.0020369055 0.0044245263 - 1767900 0.0054942602 0.0017790458 0.0044403281 - 1768000 0.0044413549 0.0019089748 0.004060256 - 1768100 0.0041171976 0.0019619598 0.0039562274 - 1768200 0.0051532192 0.0020866915 0.0045827821 - 1768300 0.00540962 0.0017068329 0.0043271176 - 1768400 0.004637486 0.002023892 0.0042701743 - 1768500 0.0059954728 0.0024646567 0.0053687139 - 1768600 0.0049857929 0.0026947906 0.005109784 - 1768700 0.0069594593 0.0022641161 0.0056351042 - 1768800 0.0043195655 0.0029146745 0.005006964 - 1768900 0.0058878925 0.0030157024 0.0058676503 - 1769000 0.0044247149 0.0030849147 0.005228136 - 1769100 0.0039641138 0.0026169827 0.0045371004 - 1769200 0.0047600495 0.0027454751 0.005051124 - 1769300 0.0062668089 0.0028124258 0.0058479114 - 1769400 0.0070330759 0.0024992722 0.0059059184 - 1769500 0.0039414672 0.00235156 0.0042607081 - 1769600 0.0041663704 0.0021441195 0.0041622051 - 1769700 0.0041008427 0.0021179691 0.0041043148 - 1769800 0.0046494603 0.0028075074 0.0050595898 - 1769900 0.0040035734 0.0028040965 0.0047433274 - 1770000 0.0052879955 0.0025583242 0.005119697 - 1770100 0.0059658915 0.0029483714 0.0058381001 - 1770200 0.0053206482 0.002630979 0.005208168 - 1770300 0.0047782201 0.0024430203 0.0047574706 - 1770400 0.0046648697 0.0024594497 0.004718996 - 1770500 0.0058717048 0.0029522005 0.0057963075 - 1770600 0.0052836672 0.0034222023 0.0059814786 - 1770700 0.0050213661 0.0030500653 0.0054822895 - 1770800 0.005046267 0.0029955153 0.0054398009 - 1770900 0.006535858 0.0028813089 0.0060471152 - 1771000 0.0043297584 0.0031702816 0.0052675083 - 1771100 0.0069121227 0.0028095902 0.0061576496 - 1771200 0.0054118229 0.0027656744 0.0053870261 - 1771300 0.0054304962 0.0027932874 0.005423684 - 1771400 0.0049106206 0.0027707881 0.00514937 - 1771500 0.004709263 0.0027984688 0.005079518 - 1771600 0.0058636818 0.0027542651 0.0055944859 - 1771700 0.0049313557 0.0028024238 0.0051910492 - 1771800 0.0056302853 0.0025530154 0.0052801848 - 1771900 0.0056813159 0.0025072363 0.0052591237 - 1772000 0.0041414825 0.0026546109 0.0046606415 - 1772100 0.0059915532 0.0022388327 0.0051409913 - 1772200 0.0039532822 0.0020175836 0.0039324546 - 1772300 0.0040550051 0.002151522 0.0041156651 - 1772400 0.005026508 0.0023134491 0.0047481639 - 1772500 0.0041907802 0.0020051436 0.0040350528 - 1772600 0.0055715364 0.0016145022 0.0043132151 - 1772700 0.00475751 0.0019032465 0.0042076654 - 1772800 0.0046233614 0.002562031 0.0048014717 - 1772900 0.0051033219 0.0027183469 0.0051902685 - 1773000 0.0043033664 0.0027488046 0.0048332477 - 1773100 0.0041261941 0.0026719993 0.0046706246 - 1773200 0.0055367649 0.0024010905 0.005082961 - 1773300 0.0063053071 0.002264626 0.0053187591 - 1773400 0.0055145155 0.0026401213 0.0053112147 - 1773500 0.0047128666 0.0028636253 0.00514642 - 1773600 0.0046224858 0.0026674483 0.0049064649 - 1773700 0.0049406786 0.0023764833 0.0047696245 - 1773800 0.0057128917 0.0021450384 0.0049122204 - 1773900 0.0072231111 0.0017939058 0.0052926002 - 1774000 0.0045318521 0.0021342937 0.0043294095 - 1774100 0.005184319 0.0020863042 0.0045974587 - 1774200 0.0054152597 0.0019718726 0.004594889 - 1774300 0.0047100161 0.0015172904 0.0037987044 - 1774400 0.0064640867 0.0014542566 0.0045852986 - 1774500 0.005457699 0.0020586972 0.0047022702 - 1774600 0.0056429213 0.0019895532 0.0047228433 - 1774700 0.0055562919 0.002199473 0.0048908019 - 1774800 0.0042853062 0.0027801308 0.004855826 - 1774900 0.0056753382 0.0028298412 0.0055788332 - 1775000 0.0041491834 0.0028824228 0.0048921835 - 1775100 0.0044263042 0.0028346588 0.0049786499 - 1775200 0.0062162459 0.0030111743 0.0060221684 - 1775300 0.0032758586 0.0029474304 0.0045341744 - 1775400 0.0062186063 0.002428581 0.0054407185 - 1775500 0.008083118 0.0023108139 0.0062260742 - 1775600 0.005044522 0.00276241 0.0052058503 - 1775700 0.0061917699 0.0025752404 0.005574379 - 1775800 0.005436902 0.0025629638 0.0051964632 - 1775900 0.0052107725 0.0022943512 0.0048183191 - 1776000 0.0048002158 0.0023079589 0.0046330634 - 1776100 0.0042517568 0.0022336587 0.0042931034 - 1776200 0.0051796352 0.002334791 0.0048436767 - 1776300 0.0054689438 0.0026472787 0.0052962984 - 1776400 0.0057646577 0.0027818278 0.0055740839 - 1776500 0.0051487719 0.0028773371 0.0053712735 - 1776600 0.0046966797 0.0029984632 0.0052734174 - 1776700 0.0056431189 0.0028159659 0.0055493516 - 1776800 0.0060841333 0.0024928572 0.0054398592 - 1776900 0.0050387419 0.0025653569 0.0050059975 - 1777000 0.004133348 0.0027496261 0.0047517165 - 1777100 0.0034824379 0.0028701346 0.0045569405 - 1777200 0.0056669654 0.0024202526 0.005165189 - 1777300 0.0053167609 0.0021988499 0.004774156 - 1777400 0.00423367 0.0022725353 0.0043232192 - 1777500 0.0040303219 0.0024733917 0.0044255788 - 1777600 0.0064496214 0.0020519986 0.005176034 - 1777700 0.0063403776 0.002386448 0.0054575684 - 1777800 0.0046827579 0.0027630417 0.0050312525 - 1777900 0.0057966006 0.0032707838 0.0060785122 - 1778000 0.0045346785 0.0031800774 0.0053765623 - 1778100 0.0058746151 0.0026079301 0.0054534468 - 1778200 0.0059956139 0.0025130779 0.0054172034 - 1778300 0.0039882398 0.0028642641 0.0047960677 - 1778400 0.0045690896 0.0029340009 0.0051471537 - 1778500 0.004366462 0.0030673179 0.0051823229 - 1778600 0.0048759057 0.0031130594 0.0054748263 - 1778700 0.0049014396 0.0028731663 0.0052473012 - 1778800 0.0043710454 0.002503632 0.0046208571 - 1778900 0.003460751 0.0022942317 0.0039705329 - 1779000 0.0055795145 0.0023141332 0.0050167105 - 1779100 0.0060540073 0.0029305955 0.0058630053 - 1779200 0.0035496744 0.0035989623 0.0053183358 - 1779300 0.0050331106 0.0029468239 0.0053847369 - 1779400 0.0060757557 0.0027211616 0.0056641057 - 1779500 0.003939529 0.0025313243 0.0044395336 - 1779600 0.0038423086 0.0026495168 0.004510635 - 1779700 0.0036231179 0.0031040485 0.0048589962 - 1779800 0.0049035489 0.0026063593 0.0049815158 - 1779900 0.0061880428 0.0025777767 0.0055751099 - 1780000 0.0047220657 0.0026709975 0.0049582481 - 1780100 0.0046986336 0.0024090907 0.0046849914 - 1780200 0.0059312602 0.0021832444 0.0050561986 - 1780300 0.0058611467 0.0022504265 0.0050894195 - 1780400 0.0058653585 0.0025438301 0.0053848631 - 1780500 0.0043100974 0.0031741434 0.0052618468 - 1780600 0.0049256165 0.0028696758 0.0052555213 - 1780700 0.003832982 0.0026399361 0.0044965368 - 1780800 0.00424178 0.001960199 0.0040148111 - 1780900 0.0042329525 0.0017731268 0.0038234632 - 1781000 0.0049563082 0.0016448013 0.0040455131 - 1781100 0.0064210212 0.0017065806 0.0048167628 - 1781200 0.0045318381 0.001879459 0.0040745681 - 1781300 0.0055204468 0.0023036097 0.0049775761 - 1781400 0.0044765622 0.0023102496 0.0044785844 - 1781500 0.0033045257 0.002291964 0.0038925936 - 1781600 0.0056598485 0.0020700076 0.0048114967 - 1781700 0.0054377908 0.0021855871 0.004819517 - 1781800 0.0045752486 0.0019600368 0.0041761729 - 1781900 0.0054374088 0.0020245043 0.0046582491 - 1782000 0.0055189486 0.0021251609 0.0047984017 - 1782100 0.0054248835 0.0022920537 0.0049197316 - 1782200 0.0066442234 0.0023241156 0.0055424114 - 1782300 0.0041213512 0.0022686139 0.0042648934 - 1782400 0.0046468882 0.0023143261 0.0045651626 - 1782500 0.0053436234 0.0026405442 0.0052288617 - 1782600 0.0047118189 0.0029231546 0.0052054418 - 1782700 0.0074905039 0.0027891061 0.0064173189 - 1782800 0.0055819076 0.0021449847 0.0048487212 - 1782900 0.0047643333 0.0021902903 0.0044980143 - 1783000 0.0046813344 0.0025810341 0.0048485554 - 1783100 0.0061188459 0.002394027 0.005357843 - 1783200 0.005393048 0.0024263392 0.0050385968 - 1783300 0.0047294566 0.0029387726 0.0052296031 - 1783400 0.005758282 0.002930117 0.0057192848 - 1783500 0.0061275852 0.0027049544 0.0056730034 - 1783600 0.0060478537 0.0022164177 0.0051458469 - 1783700 0.004897352 0.0024817799 0.0048539347 - 1783800 0.0077257718 0.0022558932 0.0059980639 - 1783900 0.003764718 0.0028503903 0.0046739256 - 1784000 0.0040860623 0.0031334031 0.0051125895 - 1784100 0.0049777944 0.0025960249 0.005007144 - 1784200 0.0060074916 0.0022506871 0.0051605658 - 1784300 0.0046732294 0.0021995184 0.0044631139 - 1784400 0.0043556222 0.0026260286 0.0047357831 - 1784500 0.0038872069 0.0028092062 0.004692072 - 1784600 0.0031081476 0.0027881656 0.0042936746 - 1784700 0.0041224644 0.0023186341 0.0043154528 - 1784800 0.0044579727 0.0018129874 0.0039723179 - 1784900 0.0047601441 0.00175495 0.0040606448 - 1785000 0.0061806885 0.0019738247 0.0049675958 - 1785100 0.0077148625 0.0028160789 0.0065529655 - 1785200 0.0051575877 0.0031374411 0.0056356477 - 1785300 0.0066921837 0.0030621414 0.0063036679 - 1785400 0.0056957879 0.0029720366 0.0057309338 - 1785500 0.0063835804 0.0031291351 0.0062211818 - 1785600 0.0047940669 0.0029443423 0.0052664685 - 1785700 0.0044318765 0.0024588577 0.0046055479 - 1785800 0.0041989286 0.0023354447 0.0043693008 - 1785900 0.0045882243 0.0022922611 0.0045146822 - 1786000 0.0041882639 0.0022508424 0.0042795327 - 1786100 0.0051208267 0.0021488358 0.0046292362 - 1786200 0.0049689966 0.0024726164 0.0048794741 - 1786300 0.0046792493 0.0024318467 0.0046983581 - 1786400 0.0051492795 0.0028623713 0.0053565535 - 1786500 0.0052014597 0.0028093578 0.0053288149 - 1786600 0.0064163237 0.002523197 0.0056311038 - 1786700 0.0057180942 0.0024697832 0.0052394851 - 1786800 0.0059587612 0.001859181 0.004745456 - 1786900 0.0038307801 0.0022991978 0.0041547319 - 1787000 0.0042223646 0.0026501701 0.004695378 - 1787100 0.0047652583 0.0024061676 0.0047143396 - 1787200 0.004490013 0.0024693523 0.0046442024 - 1787300 0.0030072218 0.002228887 0.0036855101 - 1787400 0.0058132548 0.002086941 0.0049027363 - 1787500 0.0053278908 0.0020375771 0.0046182742 - 1787600 0.0034276011 0.0023766845 0.0040369287 - 1787700 0.00548168 0.0023280707 0.0049832594 - 1787800 0.0039070234 0.0020653117 0.0039577762 - 1787900 0.0058947559 0.0021315029 0.0049867753 - 1788000 0.0049623967 0.0023042716 0.0047079325 - 1788100 0.0061383917 0.0024436836 0.0054169671 - 1788200 0.0055800873 0.0023972016 0.0051000564 - 1788300 0.0053952805 0.0021909001 0.0048042391 - 1788400 0.0046878244 0.0022054646 0.0044761296 - 1788500 0.0056511033 0.0017865957 0.0045238488 - 1788600 0.0035947502 0.0019443928 0.0036855999 - 1788700 0.003692867 0.0017978838 0.0035866163 - 1788800 0.0037196119 0.0023307898 0.0041324769 - 1788900 0.0044978011 0.0027176314 0.0048962538 - 1789000 0.004638136 0.0023610502 0.0046076473 - 1789100 0.0055001454 0.0016410761 0.004305209 - 1789200 0.004552016 0.0015685684 0.0037734512 - 1789300 0.0050943344 0.0022570514 0.0047246196 - 1789400 0.0036028505 0.0025107962 0.0042559269 - 1789500 0.0055139574 0.002205841 0.0048766641 - 1789600 0.0050173714 0.0019795308 0.00440982 - 1789700 0.0055815588 0.0018279272 0.0045314948 - 1789800 0.005722574 0.0018387372 0.0046106089 - 1789900 0.0055356092 0.001918861 0.0046001717 - 1790000 0.0062153506 0.0017425682 0.0047531287 - 1790100 0.004796836 0.0016293485 0.0039528159 - 1790200 0.0051279994 0.0019104786 0.0043943533 - 1790300 0.0055987436 0.0024045502 0.0051164417 - 1790400 0.0041763259 0.0027701659 0.0047930738 - 1790500 0.0055718086 0.0024186698 0.0051175146 - 1790600 0.0039066104 0.0023187968 0.0042110613 - 1790700 0.0035806075 0.0022849663 0.0040193231 - 1790800 0.0049697523 0.0024260437 0.0048332675 - 1790900 0.0046572771 0.0023135415 0.00456941 - 1791000 0.0049332138 0.0021225359 0.0045120614 - 1791100 0.0058449594 0.0020858755 0.0049170277 - 1791200 0.0050263742 0.0023389117 0.0047735617 - 1791300 0.0067310586 0.0024416075 0.005701964 - 1791400 0.0036623412 0.0026620747 0.0044360212 - 1791500 0.0039465139 0.0021897137 0.0041013064 - 1791600 0.0073945744 0.0019395536 0.0055213006 - 1791700 0.0065038337 0.0021882377 0.0053385321 - 1791800 0.0040323655 0.0030505669 0.0050037439 - 1791900 0.0057200335 0.0026831906 0.0054538319 - 1792000 0.005778894 0.0018498849 0.0046490367 - 1792100 0.0061226313 0.0021763085 0.005141958 - 1792200 0.0049299259 0.0026435444 0.0050314772 - 1792300 0.0053877667 0.0026289588 0.0052386583 - 1792400 0.0050222709 0.0020299176 0.00446258 - 1792500 0.0053590239 0.0016919053 0.0042876825 - 1792600 0.0052194391 0.0019345666 0.0044627325 - 1792700 0.0041998174 0.0023882385 0.0044225251 - 1792800 0.0053791363 0.0022958225 0.0049013416 - 1792900 0.0053985073 0.0028033439 0.0054182458 - 1793000 0.0053487627 0.0028096409 0.0054004478 - 1793100 0.0052068347 0.002445513 0.0049675736 - 1793200 0.0041441379 0.0026710147 0.0046783315 - 1793300 0.0063818052 0.0031101245 0.0062013113 - 1793400 0.0060390113 0.0030451801 0.0059703262 - 1793500 0.005001862 0.0029468156 0.0053695925 - 1793600 0.0059210152 0.0024391155 0.0053071072 - 1793700 0.0059239863 0.0026495866 0.0055190175 - 1793800 0.005193522 0.0023681363 0.0048837486 - 1793900 0.0040129479 0.0024943643 0.0044381359 - 1794000 0.0040558135 0.0028223492 0.0047868839 - 1794100 0.0060945918 0.0026186269 0.0055706948 - 1794200 0.0057466856 0.0028270921 0.0056106429 - 1794300 0.004694005 0.0028630626 0.0051367213 - 1794400 0.0053723237 0.0022770286 0.0048792479 - 1794500 0.0057815612 0.0017861981 0.0045866418 - 1794600 0.0039796965 0.0019003023 0.0038279678 - 1794700 0.00463401 0.001969831 0.0042144297 - 1794800 0.0044872713 0.0021746743 0.0043481963 - 1794900 0.0059194298 0.0020149964 0.0048822202 - 1795000 0.0060338334 0.0018067001 0.0047293381 - 1795100 0.00672707 0.0021804784 0.0054389029 - 1795200 0.0055785731 0.0030134827 0.005715604 - 1795300 0.0061124045 0.0027925295 0.0057532254 - 1795400 0.005914618 0.0024514828 0.0053163759 - 1795500 0.0059897145 0.002399806 0.0053010739 - 1795600 0.0057173274 0.0023844654 0.0051537958 - 1795700 0.0056963219 0.002450215 0.0052093709 - 1795800 0.0048741436 0.0023676529 0.0047285662 - 1795900 0.0043457701 0.0024859965 0.0045909789 - 1796000 0.0034985794 0.0025494097 0.0042440341 - 1796100 0.0052998507 0.0022809971 0.0048481123 - 1796200 0.0046297233 0.0022298978 0.0044724201 - 1796300 0.0044192596 0.0025136044 0.0046541833 - 1796400 0.0046335686 0.0025984887 0.0048428735 - 1796500 0.0034899433 0.0022288922 0.0039193335 - 1796600 0.0059781512 0.0018791715 0.0047748385 - 1796700 0.0065068978 0.0017393544 0.0048911331 - 1796800 0.0067801081 0.0015198839 0.0048039987 - 1796900 0.0059073269 0.0017834999 0.0046448614 - 1797000 0.0033734132 0.0023055387 0.0039395357 - 1797100 0.0050531063 0.0020983906 0.004545989 - 1797200 0.004336552 0.0019825045 0.0040830219 - 1797300 0.0042783464 0.0017770067 0.0038493307 - 1797400 0.0063156576 0.0019446376 0.0050037842 - 1797500 0.0043979929 0.0023630485 0.0044933263 - 1797600 0.0056181643 0.0021726597 0.004893958 - 1797700 0.0052362893 0.0021299458 0.0046662734 - 1797800 0.0054649295 0.0021472624 0.0047943377 - 1797900 0.005578304 0.0024743211 0.0051763121 - 1798000 0.0050828864 0.0019668524 0.0044288755 - 1798100 0.0049586536 0.0017542894 0.0041561372 - 1798200 0.0041722407 0.0019240868 0.0039450159 - 1798300 0.0041940433 0.0021007127 0.0041322024 - 1798400 0.0061281574 0.0019858577 0.004954184 - 1798500 0.0037905494 0.002159946 0.0039959934 - 1798600 0.0048887354 0.0019622036 0.0043301848 - 1798700 0.0048399139 0.0017733343 0.0041176676 - 1798800 0.0050953892 0.0019162265 0.0043843057 - 1798900 0.0044791881 0.0023343658 0.0045039725 - 1799000 0.0045462219 0.002672373 0.0048744492 - 1799100 0.0045978022 0.0024254856 0.0046525461 - 1799200 0.0052349115 0.0021854981 0.0047211583 - 1799300 0.0048507652 0.0019334957 0.0042830851 - 1799400 0.0053997918 0.0017479017 0.0043634258 - 1799500 0.0051615034 0.0021145 0.0046146032 - 1799600 0.0054496087 0.0022798362 0.0049194904 - 1799700 0.0044669421 0.00209576 0.0042594351 - 1799800 0.0052429477 0.0019462249 0.0044857777 - 1799900 0.0041947278 0.0017238122 0.0037556334 - 1800000 0.0051008989 0.0018336353 0.0043043832 - 1800100 0.0055078626 0.0018285548 0.0044964257 - 1800200 0.005630608 0.0016496779 0.0043770037 - 1800300 0.0048889115 0.0022128801 0.0045809466 - 1800400 0.0051222115 0.0021017282 0.0045827994 - 1800500 0.0029393713 0.0020448375 0.0034685955 - 1800600 0.0047881515 0.0021203995 0.0044396604 - 1800700 0.003648385 0.0023243553 0.0040915418 - 1800800 0.0073174908 0.0023519839 0.0058963935 - 1800900 0.0071811372 0.0026557996 0.0061341629 - 1801000 0.0044659929 0.0029656324 0.0051288477 - 1801100 0.0050587267 0.0031797168 0.0056300376 - 1801200 0.0049124188 0.003133135 0.0055125879 - 1801300 0.0050907915 0.0029670405 0.0054328926 - 1801400 0.0046472857 0.0026540108 0.0049050398 - 1801500 0.0053831788 0.00188473 0.0044922072 - 1801600 0.0050362051 0.0018125814 0.0042519932 - 1801700 0.0046411999 0.0023137122 0.0045617934 - 1801800 0.0048847097 0.00239927 0.0047653012 - 1801900 0.005539678 0.0021838492 0.0048671308 - 1802000 0.0049166686 0.0021204268 0.0045019382 - 1802100 0.0051085436 0.0023877924 0.0048622432 - 1802200 0.0055359406 0.0026230783 0.0053045495 - 1802300 0.0065662248 0.0022680816 0.0054485967 - 1802400 0.0059272643 0.0021524903 0.005023509 - 1802500 0.0054956367 0.0026501609 0.00531211 - 1802600 0.0053028644 0.0031496215 0.0057181964 - 1802700 0.0059027673 0.0033896076 0.0062487605 - 1802800 0.0079900853 0.0029915859 0.0068617835 - 1802900 0.0059026916 0.0027089198 0.005568036 - 1803000 0.0052487792 0.0022104843 0.0047528618 - 1803100 0.0047795275 0.0018466871 0.0041617707 - 1803200 0.004104865 0.0019100684 0.0038983624 - 1803300 0.0036918073 0.0020431482 0.0038313673 - 1803400 0.0049428164 0.001831264 0.0042254407 - 1803500 0.0049668758 0.0015985806 0.004004411 - 1803600 0.0041036405 0.0022234904 0.0042111912 - 1803700 0.0056373779 0.0025472614 0.0052778663 - 1803800 0.0056481225 0.0026285267 0.0053643361 - 1803900 0.0054386187 0.0025015258 0.0051358567 - 1804000 0.0051461542 0.0026985171 0.0051911855 - 1804100 0.005653212 0.0028769677 0.0056152423 - 1804200 0.005334466 0.0022671767 0.0048510586 - 1804300 0.0063312028 0.0017298457 0.0047965221 - 1804400 0.0073376616 0.0016212835 0.0051754633 - 1804500 0.004456722 0.0014603646 0.0036190894 - 1804600 0.003626771 0.0013195763 0.0030762935 - 1804700 0.0052261901 0.0013458139 0.0038772497 - 1804800 0.0053879137 0.0013947043 0.004004475 - 1804900 0.0060916381 0.0013947318 0.004345369 - 1805000 0.0040648298 0.0015127389 0.0034816409 - 1805100 0.0040020604 0.0016248502 0.0035633482 - 1805200 0.0041460517 0.0017937128 0.0038019566 - 1805300 0.005223203 0.001982889 0.004512878 - 1805400 0.0041809884 0.0020840224 0.0041091887 - 1805500 0.0053788488 0.002433453 0.0050388329 - 1805600 0.0043732519 0.0024755991 0.004593893 - 1805700 0.0053383664 0.0019706077 0.004556379 - 1805800 0.005993 0.001744512 0.0046473714 - 1805900 0.0046939761 0.0017818079 0.0040554526 - 1806000 0.0058311806 0.0018847317 0.0047092098 - 1806100 0.0041707596 0.0024567792 0.0044769909 - 1806200 0.0050194324 0.0023933061 0.0048245937 - 1806300 0.0046491924 0.0022770898 0.0045290423 - 1806400 0.0067173001 0.0020850674 0.0053387596 - 1806500 0.0056661379 0.0022584236 0.0050029592 - 1806600 0.0047125845 0.0023891696 0.0046718278 - 1806700 0.0053084919 0.0022455467 0.0048168475 - 1806800 0.0053713874 0.0020562155 0.0046579813 - 1806900 0.0044431449 0.0021346013 0.0042867496 - 1807000 0.0043270418 0.0017538513 0.0038497622 - 1807100 0.0051736761 0.0017042892 0.0042102886 - 1807200 0.0065903039 0.0017434812 0.0049356596 - 1807300 0.0055761124 0.0025260482 0.0052269776 - 1807400 0.0045045939 0.0024317598 0.0046136725 - 1807500 0.0038251261 0.0019539319 0.0038067273 - 1807600 0.004573643 0.0016861445 0.0039015028 - 1807700 0.0044207828 0.0017510266 0.0038923432 - 1807800 0.0043033699 0.0020291101 0.0041135549 - 1807900 0.0053919584 0.0021161345 0.0047278644 - 1808000 0.0036066092 0.0024457343 0.0041926857 - 1808100 0.0052544329 0.0023805252 0.0049256411 - 1808200 0.0044048905 0.00225242 0.0043860388 - 1808300 0.0057828474 0.0019825513 0.0047836181 - 1808400 0.0033588311 0.0021919589 0.0038188928 - 1808500 0.0047770034 0.0022135335 0.0045273945 - 1808600 0.0048686716 0.001962992 0.0043212548 - 1808700 0.0042482787 0.0016474527 0.0037052127 - 1808800 0.0048661239 0.0021868305 0.0045438592 - 1808900 0.0052884416 0.0022102271 0.004771816 - 1809000 0.0053960093 0.0021204997 0.0047341917 - 1809100 0.0060387838 0.0022822466 0.0052072825 - 1809200 0.0044320375 0.0021582594 0.0043050276 - 1809300 0.0057117952 0.0022094947 0.0049761455 - 1809400 0.0054726899 0.0024898035 0.0051406377 - 1809500 0.0046739115 0.0024521778 0.0047161037 - 1809600 0.0047214429 0.0026325486 0.0049194975 - 1809700 0.0062205926 0.0026351219 0.0056482214 - 1809800 0.0056786915 0.0022320107 0.0049826269 - 1809900 0.0040295903 0.0021407902 0.004092623 - 1810000 0.0055623985 0.0021090178 0.0048033045 - 1810100 0.0047549592 0.0021628568 0.0044660402 - 1810200 0.0045741698 0.002306516 0.0045221295 - 1810300 0.0050365756 0.0026253834 0.0050649747 - 1810400 0.005280909 0.0025297398 0.00508768 - 1810500 0.0042421182 0.0020617392 0.0041165152 - 1810600 0.0067337654 0.001768072 0.0050297396 - 1810700 0.0045389112 0.001828045 0.0040265801 - 1810800 0.0035591476 0.0018272408 0.0035512029 - 1810900 0.0053072787 0.0019031985 0.0044739116 - 1811000 0.0055915694 0.0018439469 0.0045523633 - 1811100 0.0052310041 0.0017012856 0.0042350532 - 1811200 0.0045937071 0.0018257881 0.004050865 - 1811300 0.0062206714 0.0018637351 0.0048768729 - 1811400 0.0050999845 0.0021803421 0.0046506471 - 1811500 0.0038835928 0.0022958085 0.0041769238 - 1811600 0.0047408645 0.0020867296 0.0043830859 - 1811700 0.0045379287 0.0020110084 0.0042090676 - 1811800 0.0059898657 0.0018120185 0.0047133597 - 1811900 0.006247568 0.0018905092 0.004916675 - 1812000 0.0069390181 0.0025587981 0.005919885 - 1812100 0.0043674677 0.0025838792 0.0046993714 - 1812200 0.004150195 0.0021741864 0.0041844371 - 1812300 0.0049242141 0.0015443123 0.0039294785 - 1812400 0.0042264003 0.0012292974 0.00327646 - 1812500 0.0045565282 0.0015989783 0.0038060466 - 1812600 0.0051469219 0.0023806845 0.0048737248 - 1812700 0.0053444895 0.0026096978 0.0051984349 - 1812800 0.0058250159 0.0030229081 0.0058444002 - 1812900 0.0041985108 0.0027924931 0.0048261468 - 1813000 0.0049191019 0.002278079 0.004660769 - 1813100 0.0055003744 0.0021108995 0.0047751434 - 1813200 0.0043383881 0.0020437136 0.0041451204 - 1813300 0.0042181048 0.0021808827 0.0042240272 - 1813400 0.0051383999 0.002210995 0.0046999075 - 1813500 0.0042055168 0.0023634626 0.0044005098 - 1813600 0.0057286544 0.0019866186 0.0047614355 - 1813700 0.0058554557 0.0019084257 0.0047446621 - 1813800 0.0052327399 0.0022546792 0.0047892876 - 1813900 0.0059514469 0.002106646 0.0049893781 - 1814000 0.0065469751 0.0018140475 0.0049852385 - 1814100 0.0048608801 0.0021259118 0.0044804006 - 1814200 0.0035596448 0.0020245827 0.0037487857 - 1814300 0.00541179 0.0018587861 0.0044801219 - 1814400 0.0054043809 0.0025865585 0.0052043055 - 1814500 0.0058059219 0.0028090179 0.0056212613 - 1814600 0.0044759143 0.002544911 0.004712932 - 1814700 0.00623071 0.0021880426 0.0052060427 - 1814800 0.0044369867 0.0022620835 0.0044112489 - 1814900 0.00442036 0.0023737188 0.0045148307 - 1815000 0.0042635814 0.0022559765 0.0043211488 - 1815100 0.00489117 0.0026119388 0.0049810993 - 1815200 0.0055680761 0.0023027764 0.0049998133 - 1815300 0.0075762499 0.0023829488 0.0060526948 - 1815400 0.0047999181 0.0025488219 0.0048737822 - 1815500 0.0050522361 0.0023776897 0.0048248665 - 1815600 0.0050264638 0.0020948787 0.0045295721 - 1815700 0.0050091849 0.0020578441 0.004484168 - 1815800 0.006005166 0.0022254425 0.0051341947 - 1815900 0.0065878025 0.0018257653 0.0050167321 - 1816000 0.0038652258 0.0017667317 0.0036389505 - 1816100 0.0043064039 0.001665746 0.0037516604 - 1816200 0.0043528116 0.0014872901 0.0035956832 - 1816300 0.0027784069 0.0017685051 0.003114296 - 1816400 0.0050220914 0.0018415012 0.0042740767 - 1816500 0.0052597645 0.0020181384 0.0045658369 - 1816600 0.0039347393 0.0023461983 0.0042520876 - 1816700 0.0047670768 0.0026487154 0.0049577682 - 1816800 0.0059092474 0.0028353047 0.0056975964 - 1816900 0.0049850265 0.0024119757 0.0048265979 - 1817000 0.0038804088 0.0023723007 0.0042518737 - 1817100 0.0073114747 0.001922011 0.0054635066 - 1817200 0.0045496881 0.0023346018 0.004538357 - 1817300 0.0048273568 0.0020837197 0.0044219706 - 1817400 0.0048200667 0.0020439072 0.004378627 - 1817500 0.0069277878 0.001724149 0.0050797962 - 1817600 0.0064291226 0.002268207 0.0053823132 - 1817700 0.0062923275 0.0024968585 0.0055447046 - 1817800 0.006297291 0.00242807 0.0054783203 - 1817900 0.005775209 0.0025754362 0.0053728031 - 1818000 0.0052142599 0.0023586904 0.0048843475 - 1818100 0.0055886242 0.0026209445 0.0053279344 - 1818200 0.0050147356 0.0028101667 0.0052391793 - 1818300 0.004487358 0.0022467394 0.0044203034 - 1818400 0.0057529389 0.0018677415 0.0046543213 - 1818500 0.0057691191 0.0018625341 0.0046569512 - 1818600 0.004072017 0.0024482775 0.0044206607 - 1818700 0.0046713659 0.0025361396 0.0047988324 - 1818800 0.0033903684 0.0022211733 0.003863383 - 1818900 0.0058202654 0.0017202097 0.0045394008 - 1819000 0.0061067075 0.0019301499 0.0048880864 - 1819100 0.0043040734 0.0022413213 0.0043261069 - 1819200 0.005694341 0.0020537688 0.0048119652 - 1819300 0.0041838707 0.0020894718 0.0041160342 - 1819400 0.0044038122 0.0022104548 0.0043435513 - 1819500 0.0041773772 0.0021997327 0.0042231498 - 1819600 0.0055600909 0.0018912931 0.0045844621 - 1819700 0.0044797306 0.0022234239 0.0043932934 - 1819800 0.0050919037 0.0024839654 0.0049503562 - 1819900 0.0068444771 0.0025793045 0.005894598 - 1820000 0.0046521269 0.0024128948 0.0046662688 - 1820100 0.0048087039 0.0025292139 0.0048584299 - 1820200 0.0035855573 0.0028424632 0.0045792175 - 1820300 0.0056558214 0.0026381349 0.0053776734 - 1820400 0.0051685498 0.0022580472 0.0047615635 - 1820500 0.0043338962 0.002290901 0.004390132 - 1820600 0.0058003973 0.0024441893 0.0052537568 - 1820700 0.0046386907 0.0028427194 0.0050895852 - 1820800 0.0067847177 0.0026953142 0.0059816618 - 1820900 0.0062182425 0.0028273266 0.0058392878 - 1821000 0.0063909653 0.0031064493 0.0062020731 - 1821100 0.0053544532 0.0028414566 0.0054350198 - 1821200 0.0056852882 0.0029415206 0.005695332 - 1821300 0.0056199133 0.0030069414 0.0057290869 - 1821400 0.0052474186 0.0024723805 0.0050140989 - 1821500 0.0059081905 0.0024541587 0.0053159385 - 1821600 0.0063538425 0.0020659494 0.0051435919 - 1821700 0.0052461778 0.0020397902 0.0045809076 - 1821800 0.0046169885 0.0019257745 0.0041621283 - 1821900 0.0056345565 0.0019482046 0.0046774429 - 1822000 0.0056734363 0.0016952364 0.0044433071 - 1822100 0.0059293783 0.0022674126 0.0051394552 - 1822200 0.0060406879 0.0026154526 0.0055414108 - 1822300 0.005846704 0.0026422121 0.0054742094 - 1822400 0.0050069504 0.0031599356 0.0055851772 - 1822500 0.0066621521 0.0028672766 0.0060942565 - 1822600 0.0054989712 0.0025713919 0.005234956 - 1822700 0.0053533136 0.0019130172 0.0045060285 - 1822800 0.0058556589 0.0020709897 0.0049073245 - 1822900 0.0033069873 0.0024611533 0.0040629753 - 1823000 0.0053750994 0.0025116939 0.0051152576 - 1823100 0.0056099994 0.0027194884 0.0054368319 - 1823200 0.0047579038 0.0024961837 0.0048007933 - 1823300 0.0039212098 0.0028706743 0.0047700102 - 1823400 0.0044388579 0.002897136 0.0050472078 - 1823500 0.0047251818 0.0028886787 0.0051774386 - 1823600 0.0064603836 0.002357525 0.0054867733 - 1823700 0.0050823171 0.0023102323 0.0047719797 - 1823800 0.0055587146 0.0024512209 0.0051437233 - 1823900 0.0044225187 0.0025567091 0.0046988665 - 1824000 0.0037054573 0.0023888776 0.0041837085 - 1824100 0.0041396543 0.0025297463 0.0045348913 - 1824200 0.0054082532 0.0024573752 0.0050769978 - 1824300 0.0049014309 0.0027748493 0.0051489799 - 1824400 0.0049892029 0.002963136 0.0053797811 - 1824500 0.0039830712 0.0032396865 0.0051689866 - 1824600 0.0057449304 0.0028908438 0.0056735445 - 1824700 0.0051898993 0.0030773949 0.0055912523 - 1824800 0.0047017705 0.0031932343 0.0054706543 - 1824900 0.0055895767 0.0027408181 0.0054482693 - 1825000 0.0065848609 0.002435504 0.0056250459 - 1825100 0.0045350096 0.0021607935 0.0043574388 - 1825200 0.0047665433 0.0021156162 0.0044244106 - 1825300 0.0057075471 0.002486449 0.0052510421 - 1825400 0.0056992223 0.0031838607 0.0059444215 - 1825500 0.0058171576 0.0040203442 0.0068380299 - 1825600 0.0074607473 0.0035058388 0.0071196383 - 1825700 0.004043781 0.0034071638 0.0053658702 - 1825800 0.0057338315 0.0036942527 0.0064715774 - 1825900 0.0067421583 0.0029154354 0.0061811684 - 1826000 0.0053773817 0.0025865907 0.00519126 - 1826100 0.0054723753 0.0025179265 0.0051686083 - 1826200 0.0047024119 0.0029516302 0.005229361 - 1826300 0.0050936318 0.0025141083 0.0049813362 - 1826400 0.0062836644 0.0020968665 0.0051405164 - 1826500 0.0058536616 0.0016991643 0.0045345316 - 1826600 0.0041593877 0.0018112124 0.0038259158 - 1826700 0.0065083026 0.0021517316 0.0053041907 - 1826800 0.0061892795 0.0025781828 0.005576115 - 1826900 0.0057269993 0.0029284798 0.005702495 - 1827000 0.0061911585 0.003587872 0.0065867144 - 1827100 0.0057635382 0.0035963321 0.0063880459 - 1827200 0.0077130877 0.0027357774 0.0064718043 - 1827300 0.0051204531 0.0027835442 0.0052637636 - 1827400 0.0053836868 0.0028255569 0.0054332802 - 1827500 0.0047510497 0.0022988761 0.0046001658 - 1827600 0.0048796192 0.0019763497 0.0043399152 - 1827700 0.0033794002 0.0022274531 0.0038643501 - 1827800 0.0053929574 0.002475652 0.0050878657 - 1827900 0.0061334252 0.0025184841 0.0054893619 - 1828000 0.005173881 0.0026499103 0.0051560089 - 1828100 0.0055536428 0.0032242789 0.0059143246 - 1828200 0.0046355705 0.0028290574 0.0050744119 - 1828300 0.0056396961 0.0028813219 0.0056130497 - 1828400 0.0051126015 0.0030955024 0.0055719187 - 1828500 0.0048631875 0.0025039373 0.0048595438 - 1828600 0.0058739744 0.0022142728 0.0050594792 - 1828700 0.0046286164 0.0022752417 0.0045172277 - 1828800 0.0056386692 0.0026038061 0.0053350365 - 1828900 0.0037746205 0.0024751768 0.0043035086 - 1829000 0.0048283675 0.0025288704 0.0048676109 - 1829100 0.0067160407 0.0021822427 0.0054353249 - 1829200 0.0049246573 0.0023057417 0.0046911226 - 1829300 0.0048654333 0.0025555038 0.004912198 - 1829400 0.0054500987 0.0024945655 0.005134457 - 1829500 0.0067347924 0.0024026486 0.0056648136 - 1829600 0.0067268096 0.0022221081 0.0054804066 - 1829700 0.0044752854 0.0026756166 0.0048433329 - 1829800 0.0074415733 0.0031996435 0.0068041556 - 1829900 0.0053430055 0.0035790705 0.0061670888 - 1830000 0.0035604149 0.0035936995 0.0053182754 - 1830100 0.007456922 0.0034640101 0.0070759567 - 1830200 0.0050186146 0.0031260743 0.0055569657 - 1830300 0.0050367765 0.0028779089 0.0053175975 - 1830400 0.0036594015 0.0030573296 0.0048298522 - 1830500 0.0062091358 0.0031671855 0.0061747357 - 1830600 0.0053042707 0.0030375734 0.0056068295 - 1830700 0.0063280152 0.002874818 0.0059399504 - 1830800 0.0062285596 0.0022317412 0.0052486997 - 1830900 0.0054391696 0.0023210732 0.004955671 - 1831000 0.0049604126 0.0023770409 0.0047797407 - 1831100 0.0049364272 0.0023850182 0.0047761001 - 1831200 0.0044420425 0.0027601381 0.0049117524 - 1831300 0.0047771792 0.0027741834 0.0050881296 - 1831400 0.0048919989 0.0028130008 0.0051825628 - 1831500 0.0049833973 0.0030504252 0.0054642583 - 1831600 0.0059142004 0.0029722202 0.005836911 - 1831700 0.0041825135 0.0028304999 0.0048564048 - 1831800 0.0056151659 0.0023887713 0.0051086172 - 1831900 0.0063506762 0.0026450894 0.0057211982 - 1832000 0.0047413776 0.0028899773 0.0051865821 - 1832100 0.0047632274 0.0029704312 0.0052776195 - 1832200 0.003528458 0.003001404 0.0047105008 - 1832300 0.0046939922 0.0028973645 0.005171017 - 1832400 0.0059194579 0.0031121484 0.0059793858 - 1832500 0.0064369985 0.0027230065 0.0058409277 - 1832600 0.006925543 0.002483896 0.0058384559 - 1832700 0.0048330293 0.0029155139 0.0052565124 - 1832800 0.0048027995 0.0032537412 0.0055800972 - 1832900 0.0040521369 0.0024737073 0.0044364611 - 1833000 0.0050594872 0.0023674267 0.0048181159 - 1833100 0.004291064 0.0027111981 0.0047896823 - 1833200 0.0049643327 0.0025667595 0.0049713582 - 1833300 0.0061877674 0.00230643 0.0053036298 - 1833400 0.0034030178 0.0025526019 0.0042009387 - 1833500 0.0052948556 0.0024917503 0.005056446 - 1833600 0.0062810649 0.00230466 0.0053470509 - 1833700 0.0054959213 0.0027200142 0.0053821011 - 1833800 0.0064424105 0.002733904 0.0058544466 - 1833900 0.0053260042 0.0032147194 0.0057945027 - 1834000 0.004549477 0.0031915703 0.0053952232 - 1834100 0.0049327621 0.0025245388 0.0049138454 - 1834200 0.0045875777 0.0020443214 0.0042664293 - 1834300 0.0048264411 0.0020691337 0.0044069411 - 1834400 0.0042010244 0.0017252186 0.0037600898 - 1834500 0.0047615477 0.001503296 0.0038096707 - 1834600 0.0043579799 0.001786117 0.0038970135 - 1834700 0.004457224 0.0022765088 0.0044354767 - 1834800 0.0049355593 0.0023833073 0.0047739688 - 1834900 0.0046896532 0.0025905697 0.0048621204 - 1835000 0.0048126559 0.0020756603 0.0044067905 - 1835100 0.0053188155 0.0021171089 0.0046934101 - 1835200 0.0051109366 0.00214712 0.0046227299 - 1835300 0.0050131349 0.0018313852 0.0042596224 - 1835400 0.0040018834 0.0021550631 0.0040934754 - 1835500 0.0053611106 0.0023504565 0.0049472444 - 1835600 0.0073914359 0.0022399131 0.0058201399 - 1835700 0.0057344713 0.0029361679 0.0057138025 - 1835800 0.0043884007 0.0028328353 0.0049584669 - 1835900 0.0060291455 0.0022190698 0.0051394372 - 1836000 0.0072537187 0.0019367684 0.0054502884 - 1836100 0.0043346841 0.0024015656 0.0045011782 - 1836200 0.0049809301 0.0022017472 0.0046143852 - 1836300 0.0063595883 0.0021982501 0.0052786757 - 1836400 0.0048642316 0.0028632097 0.0052193219 - 1836500 0.0046640723 0.0036932048 0.0059523648 - 1836600 0.0047092763 0.00332229 0.0056033457 - 1836700 0.0053152697 0.0028558819 0.0054304657 - 1836800 0.0039453693 0.002670632 0.0045816703 - 1836900 0.0061003364 0.0018228672 0.0047777177 - 1837000 0.0049375342 0.0019426702 0.0043342883 - 1837100 0.0042118268 0.002444762 0.0044848656 - 1837200 0.0053237873 0.0027587982 0.0053375076 - 1837300 0.0041371099 0.0027232313 0.0047271439 - 1837400 0.0058916712 0.0030381714 0.0058919496 - 1837500 0.0033988827 0.002762782 0.0044091158 - 1837600 0.007225724 0.0022936466 0.0057936066 - 1837700 0.0048108966 0.0026541124 0.0049843904 - 1837800 0.0038260692 0.0027831146 0.0046363669 - 1837900 0.0067431909 0.0022923037 0.0055585368 - 1838000 0.0052758937 0.0025550769 0.0051105879 - 1838100 0.0049708314 0.0024807615 0.004888508 - 1838200 0.0044353637 0.0029430032 0.0050913824 - 1838300 0.0046048732 0.003330591 0.0055610765 - 1838400 0.0040100092 0.0033183718 0.0052607199 - 1838500 0.0050000587 0.0034866062 0.0059085096 - 1838600 0.0051197795 0.0031018093 0.0055817024 - 1838700 0.0057119474 0.0029045682 0.0056712927 - 1838800 0.004716284 0.0028899959 0.0051744459 - 1838900 0.0053463066 0.0027395499 0.0053291671 - 1839000 0.0053158297 0.0029799841 0.005554839 - 1839100 0.0049389509 0.0029550639 0.0053473682 - 1839200 0.0068643711 0.0023163997 0.0056413294 - 1839300 0.0049851449 0.0022781267 0.0046928063 - 1839400 0.0050419045 0.0022033716 0.0046455441 - 1839500 0.0035809164 0.002138617 0.0038731233 - 1839600 0.0049335462 0.0019086747 0.0042983611 - 1839700 0.004702188 0.0022054288 0.0044830511 - 1839800 0.0062424273 0.0027909655 0.0058146412 - 1839900 0.0051940182 0.003362141 0.0058779935 - 1840000 0.0044055065 0.0026649449 0.0047988622 - 1840100 0.0040268297 0.0021480031 0.0040984987 - 1840200 0.0053733074 0.0023072182 0.004909914 - 1840300 0.0037636891 0.0027506274 0.0045736643 - 1840400 0.0048608963 0.0022187004 0.0045731971 - 1840500 0.0043761072 0.0019688382 0.0040885151 - 1840600 0.0047807624 0.0018923935 0.0042080753 - 1840700 0.0061836442 0.001803918 0.0047991206 - 1840800 0.0057333619 0.0018479472 0.0046250444 - 1840900 0.0055466672 0.0025023536 0.0051890205 - 1841000 0.0045848312 0.0026589338 0.0048797114 - 1841100 0.0068969427 0.0026447854 0.0059854921 - 1841200 0.0043327185 0.0031006612 0.0051993217 - 1841300 0.0042151606 0.0030352387 0.0050769572 - 1841400 0.0038747573 0.0031679937 0.0050448293 - 1841500 0.0045475915 0.0028690073 0.0050717469 - 1841600 0.0064020101 0.0024604117 0.0055613854 - 1841700 0.0055309092 0.0025248425 0.0052038766 - 1841800 0.0060502599 0.0024440751 0.0053746697 - 1841900 0.0057737337 0.0023919089 0.0051885611 - 1842000 0.0056905839 0.0022758944 0.005032271 - 1842100 0.0063855305 0.0027562468 0.0058492381 - 1842200 0.0071202573 0.0030621633 0.0065110379 - 1842300 0.0053754502 0.0029242559 0.0055279896 - 1842400 0.0065286505 0.0027124332 0.0058747483 - 1842500 0.003252951 0.0026860044 0.0042616525 - 1842600 0.0053228349 0.0028181649 0.005396413 - 1842700 0.0039392265 0.0025635009 0.0044715637 - 1842800 0.0047566067 0.0023807037 0.0046846851 - 1842900 0.0038672063 0.0026561105 0.0045292886 - 1843000 0.003188045 0.0028067391 0.0043509484 - 1843100 0.0034992731 0.002890242 0.0045852025 - 1843200 0.0055892673 0.0030022499 0.0057095513 - 1843300 0.006725536 0.0031020536 0.0063597351 - 1843400 0.0057047235 0.0026530071 0.0054162326 - 1843500 0.0055916234 0.0024614717 0.0051699143 - 1843600 0.0048049647 0.0029001411 0.0052275459 - 1843700 0.0048249189 0.0027396898 0.0050767599 - 1843800 0.0043810365 0.0025112107 0.0046332752 - 1843900 0.0054114629 0.0028222742 0.0054434516 - 1844000 0.0055951951 0.0027248841 0.0054350567 - 1844100 0.0060926599 0.0027936004 0.0057447326 - 1844200 0.0053431519 0.0035997644 0.0061878536 - 1844300 0.0064943913 0.0029387898 0.0060845105 - 1844400 0.0058323939 0.0023692291 0.0051942949 - 1844500 0.0050098796 0.0023039681 0.0047306286 - 1844600 0.0054087327 0.0022216551 0.00484151 - 1844700 0.0063028508 0.0023253307 0.0053782741 - 1844800 0.0052691031 0.002427201 0.0049794228 - 1844900 0.0052586857 0.0029444063 0.0054915822 - 1845000 0.004941792 0.0030481174 0.0054417978 - 1845100 0.0054973358 0.0023216662 0.0049844382 - 1845200 0.003447828 0.002211614 0.0038816557 - 1845300 0.0039732714 0.0019068004 0.0038313538 - 1845400 0.0046724375 0.0019384795 0.0042016914 - 1845500 0.0054732553 0.0020113982 0.0046625062 - 1845600 0.0039506227 0.0022334204 0.0041470033 - 1845700 0.0043927298 0.0021456784 0.0042734069 - 1845800 0.0045469497 0.002368828 0.0045712567 - 1845900 0.0053375331 0.0022032725 0.0047886401 - 1846000 0.0051315623 0.0022989817 0.0047845821 - 1846100 0.0048098225 0.0022541727 0.0045839305 - 1846200 0.0062408913 0.0023111455 0.0053340772 - 1846300 0.0043939981 0.0025513583 0.0046797011 - 1846400 0.0043324117 0.0022563546 0.0043548665 - 1846500 0.0055666449 0.0018529421 0.0045492857 - 1846600 0.0035835235 0.00207149 0.0038072592 - 1846700 0.0040443216 0.0019620079 0.0039209761 - 1846800 0.005037567 0.0020301491 0.0044702206 - 1846900 0.0038172558 0.0020913815 0.0039403648 - 1847000 0.0075569731 0.0022738696 0.0059342785 - 1847100 0.005628498 0.0027831466 0.0055094503 - 1847200 0.0059044439 0.0029034552 0.0057634202 - 1847300 0.0054772521 0.0026479447 0.0053009887 - 1847400 0.0052143127 0.0025272157 0.0050528985 - 1847500 0.005546392 0.0023365106 0.0050230442 - 1847600 0.005961221 0.0024483558 0.0053358222 - 1847700 0.0042871597 0.0022573999 0.0043339929 - 1847800 0.004927622 0.0021351634 0.0045219803 - 1847900 0.0058446637 0.0024249762 0.0052559851 - 1848000 0.0052980995 0.0027471286 0.0053133956 - 1848100 0.0043812282 0.0030607223 0.0051828797 - 1848200 0.0060300425 0.0030224783 0.0059432802 - 1848300 0.0053867125 0.0027698405 0.0053790294 - 1848400 0.0049816871 0.0026305663 0.005043571 - 1848500 0.0050326722 0.0028184718 0.0052561724 - 1848600 0.005007263 0.0026671012 0.0050924942 - 1848700 0.0065970253 0.0025751352 0.0057705693 - 1848800 0.0056097893 0.0024670871 0.0051843288 - 1848900 0.0035704623 0.0027802361 0.0045096788 - 1849000 0.0058317055 0.0024218212 0.0052465536 - 1849100 0.0042012977 0.0022494778 0.0042844814 - 1849200 0.0049064336 0.0024624766 0.0048390303 - 1849300 0.0060751769 0.0023385673 0.0052812311 - 1849400 0.005759377 0.0020673609 0.0048570592 - 1849500 0.0044088073 0.0023226355 0.0044581515 - 1849600 0.003964993 0.0021889626 0.0041095061 - 1849700 0.0052252621 0.0021901434 0.0047211297 - 1849800 0.0042259502 0.0024113381 0.0044582827 - 1849900 0.0048662211 0.0023541586 0.0047112345 - 1850000 0.0055583444 0.0020609581 0.0047532812 - 1850100 0.0052393199 0.0019023555 0.0044401511 - 1850200 0.0055566769 0.0022140279 0.0049055432 - 1850300 0.0059361797 0.0027639845 0.0056393216 - 1850400 0.0048159895 0.0028800426 0.0052127875 - 1850500 0.0055282418 0.0032507751 0.0059285173 - 1850600 0.0061448052 0.0028048143 0.0057812044 - 1850700 0.0047716174 0.0023340904 0.0046453426 - 1850800 0.0060026553 0.0021186557 0.0050261919 - 1850900 0.0048697322 0.0022905175 0.004649294 - 1851000 0.0064945676 0.0025882201 0.0057340263 - 1851100 0.0032993346 0.0029127235 0.0045108387 - 1851200 0.0048012918 0.0023580627 0.0046836884 - 1851300 0.0052930068 0.0015265973 0.0040903975 - 1851400 0.0041795114 0.0015718937 0.0035963445 - 1851500 0.003742574 0.0014630573 0.0032758666 - 1851600 0.003775864 0.0013983301 0.0032272642 - 1851700 0.0040747931 0.0018607753 0.0038345032 - 1851800 0.0040760309 0.0018404677 0.0038147952 - 1851900 0.0048330741 0.0018739667 0.0042149869 - 1852000 0.0067693102 0.0016231998 0.0049020844 - 1852100 0.004951093 0.001927105 0.0043252906 - 1852200 0.0045143567 0.0023702135 0.004556855 - 1852300 0.0059676065 0.0024059513 0.0052965107 - 1852400 0.0047447199 0.0025450211 0.0048432448 - 1852500 0.0060325814 0.0020522557 0.0049742873 - 1852600 0.0052671133 0.0022293381 0.0047805961 - 1852700 0.0044262123 0.0026495886 0.0047935352 - 1852800 0.0044134311 0.0024100754 0.0045478311 - 1852900 0.0081690164 0.0020998662 0.0060567335 - 1853000 0.0053593674 0.00238149 0.0049774336 - 1853100 0.0028072845 0.0024602307 0.0038200091 - 1853200 0.0054650389 0.0019533478 0.0046004761 - 1853300 0.0045117415 0.0017260248 0.0039113996 - 1853400 0.0062706037 0.0017133426 0.0047506662 - 1853500 0.0054699701 0.002108737 0.0047582538 - 1853600 0.0045641967 0.0021737943 0.0043845771 - 1853700 0.0058025605 0.0020062373 0.0048168525 - 1853800 0.004715356 0.0023285396 0.0046125402 - 1853900 0.004787692 0.0026279192 0.0049469575 - 1854000 0.0046393503 0.0029343337 0.005181519 - 1854100 0.0044794868 0.0032305126 0.005400264 - 1854200 0.0065492991 0.003034033 0.0062063498 - 1854300 0.0063948083 0.0021032686 0.0052007538 - 1854400 0.0061519726 0.001853983 0.0048338447 - 1854500 0.0051483381 0.0021003844 0.0045941107 - 1854600 0.0046524698 0.0020368137 0.0042903538 - 1854700 0.0045789934 0.0021155744 0.0043335243 - 1854800 0.0058820417 0.0024103144 0.0052594283 - 1854900 0.0045818268 0.0027100194 0.0049293418 - 1855000 0.0053705062 0.0026299906 0.0052313295 - 1855100 0.0051914822 0.0025383592 0.0050529834 - 1855200 0.0060595631 0.0025030573 0.0054381582 - 1855300 0.0061523736 0.0026089656 0.0055890216 - 1855400 0.0060381446 0.0030870039 0.0060117302 - 1855500 0.0061296942 0.0028775959 0.0058466665 - 1855600 0.0045639352 0.0029659145 0.0051765707 - 1855700 0.0047197067 0.0029362984 0.0052224064 - 1855800 0.0051527546 0.0028102192 0.0053060847 - 1855900 0.0045770983 0.0027585837 0.0049756157 - 1856000 0.0054626169 0.0026559711 0.0053019262 - 1856100 0.005978491 0.002361057 0.0052568886 - 1856200 0.0050760245 0.0023911883 0.0048498876 - 1856300 0.005913116 0.0027660609 0.0056302264 - 1856400 0.0043943632 0.0028929661 0.0050214858 - 1856500 0.0049347253 0.0030621782 0.0054524358 - 1856600 0.0052668569 0.0032893195 0.0058404533 - 1856700 0.0061599597 0.0027747939 0.0057585244 - 1856800 0.0048640959 0.0026046232 0.0049606697 - 1856900 0.0041840261 0.0032304277 0.0052570654 - 1857000 0.0055065522 0.0032638003 0.0059310365 - 1857100 0.005179499 0.0033741343 0.0058829542 - 1857200 0.0041355784 0.0033996105 0.0054027813 - 1857300 0.004526962 0.0034986997 0.005691447 - 1857400 0.005435098 0.0033568213 0.0059894469 - 1857500 0.0073681817 0.0029683979 0.0065373609 - 1857600 0.0060966724 0.0030829804 0.0060360561 - 1857700 0.0042770901 0.0034962922 0.0055680078 - 1857800 0.00419116 0.0033688614 0.0053989545 - 1857900 0.0041184686 0.0029742893 0.0049691726 - 1858000 0.0043048881 0.0029267726 0.0050119528 - 1858100 0.00459848 0.0027310622 0.0049584509 - 1858200 0.0041866813 0.0027814633 0.004809387 - 1858300 0.0049139968 0.0028480663 0.0052282835 - 1858400 0.0052753962 0.0028122215 0.0053674916 - 1858500 0.0043822943 0.0022326417 0.0043553155 - 1858600 0.0037717188 0.0021643189 0.0039912452 - 1858700 0.0056886179 0.0017850567 0.004540481 - 1858800 0.004077465 0.0019226761 0.0038976982 - 1858900 0.0042358244 0.002385415 0.0044371425 - 1859000 0.0059531665 0.0022425827 0.0051261477 - 1859100 0.0049379908 0.0022525245 0.0046443638 - 1859200 0.0051033607 0.0025836221 0.0050555624 - 1859300 0.0060975865 0.0024264013 0.0053799198 - 1859400 0.0049443395 0.0025989371 0.0049938515 - 1859500 0.0057259876 0.0023542833 0.0051278086 - 1859600 0.0042774617 0.002817197 0.0048890925 - 1859700 0.0049686152 0.0031237484 0.0055304214 - 1859800 0.0053785402 0.0028504465 0.0054556769 - 1859900 0.0047770369 0.0030158859 0.0053297632 - 1860000 0.0052122116 0.0034332347 0.0059578997 - 1860100 0.0050206976 0.0031253305 0.0055572309 - 1860200 0.0045973708 0.0031158813 0.0053427327 - 1860300 0.0070228476 0.0024382291 0.0058399209 - 1860400 0.0054289179 0.0021960661 0.0048256982 - 1860500 0.0052876873 0.0020781069 0.0046393304 - 1860600 0.005499243 0.0021170838 0.0047807797 - 1860700 0.0029157418 0.0024478798 0.0038601923 - 1860800 0.0033969274 0.0026009506 0.0042463373 - 1860900 0.0072905724 0.0029064284 0.0064377994 - 1861000 0.00595085 0.0033368092 0.0062192521 - 1861100 0.0045932686 0.0033491825 0.005574047 - 1861200 0.0070175883 0.0029948557 0.0063940001 - 1861300 0.0053176718 0.0031872611 0.0057630084 - 1861400 0.0047657802 0.0032490747 0.0055574995 - 1861500 0.0050111086 0.0027240868 0.0051513425 - 1861600 0.0058111147 0.0029013001 0.0057160588 - 1861700 0.0049318051 0.0029231301 0.0053119732 - 1861800 0.0059860324 0.0027470833 0.0056465678 - 1861900 0.0070490751 0.0029161957 0.0063305915 - 1862000 0.0057257591 0.0030000727 0.0057734872 - 1862100 0.0059502694 0.0024243947 0.0053065564 - 1862200 0.0041284821 0.002338382 0.0043381155 - 1862300 0.0033661184 0.002753683 0.0043841466 - 1862400 0.0047496088 0.0028241941 0.0051247858 - 1862500 0.0038055354 0.0026649694 0.0045082756 - 1862600 0.0055035465 0.0023886372 0.0050544176 - 1862700 0.0032217674 0.0024641461 0.0040246897 - 1862800 0.0058479039 0.0022453559 0.0050779343 - 1862900 0.0058955603 0.0021053876 0.0049610496 - 1863000 0.0050050539 0.0026866774 0.0051110004 - 1863100 0.0053357866 0.0029516387 0.0055361603 - 1863200 0.0060621801 0.0025980246 0.0055343931 - 1863300 0.0059205966 0.00243656 0.005304349 - 1863400 0.0052182005 0.0023412291 0.0048687949 - 1863500 0.0044679566 0.0024521759 0.0046163424 - 1863600 0.0062410243 0.0024346641 0.0054576603 - 1863700 0.0065218005 0.0024390324 0.0055980295 - 1863800 0.0048674686 0.0029105972 0.0052682773 - 1863900 0.0052292463 0.003072362 0.0056052782 - 1864000 0.0054752155 0.0033299411 0.0059819986 - 1864100 0.0054209242 0.0034109151 0.0060366753 - 1864200 0.005187463 0.0032790048 0.0057916822 - 1864300 0.0048825099 0.0030194893 0.005384455 - 1864400 0.005658846 0.0028037088 0.0055447123 - 1864500 0.0072154276 0.0028960117 0.0063909844 - 1864600 0.0057013777 0.0025358082 0.0052974131 - 1864700 0.0049616717 0.0024440182 0.0048473279 - 1864800 0.0056602252 0.002815029 0.0055567006 - 1864900 0.0065527968 0.0022829825 0.0054569934 - 1865000 0.0062759308 0.0020951514 0.0051350554 - 1865100 0.004088452 0.0020863566 0.0040667005 - 1865200 0.0046829344 0.0021696977 0.004437994 - 1865300 0.0071625543 0.0023716368 0.005840999 - 1865400 0.0043630482 0.0030149391 0.0051282906 - 1865500 0.0044432566 0.0027920656 0.0049442681 - 1865600 0.0049507489 0.0024883139 0.004886333 - 1865700 0.0050012144 0.0024961579 0.0049186212 - 1865800 0.0038130778 0.0026512816 0.0044982411 - 1865900 0.0038064827 0.0022848526 0.0041286176 - 1866000 0.0058692579 0.0021634673 0.0050063891 - 1866100 0.0037799693 0.0025716927 0.0044026153 - 1866200 0.0046148222 0.0024388189 0.0046741234 - 1866300 0.0053393299 0.0019542317 0.0045404696 - 1866400 0.0040218473 0.0019163875 0.0038644698 - 1866500 0.003650099 0.0018449548 0.0036129715 - 1866600 0.0042987034 0.0019275286 0.0040097131 - 1866700 0.0063187754 0.0018626213 0.0049232781 - 1866800 0.0059444537 0.001899177 0.0047785217 - 1866900 0.0048816174 0.0020132104 0.0043777439 - 1867000 0.0048534971 0.0024194226 0.0047703352 - 1867100 0.0046411602 0.0025958529 0.0048439148 - 1867200 0.004156328 0.0026153052 0.0046285265 - 1867300 0.0052872315 0.0024309914 0.0049919941 - 1867400 0.0052936095 0.0023919032 0.0049559953 - 1867500 0.0049567603 0.0022817323 0.004682663 - 1867600 0.0058280503 0.0024456069 0.0052685688 - 1867700 0.006074449 0.0027144707 0.0056567819 - 1867800 0.0056046855 0.0023292324 0.005044002 - 1867900 0.0043941624 0.0022398044 0.0043682268 - 1868000 0.0069449064 0.0025323319 0.005896271 - 1868100 0.005056309 0.0024367184 0.0048858681 - 1868200 0.004432514 0.0026029173 0.0047499162 - 1868300 0.0055879371 0.0025649645 0.0052716215 - 1868400 0.0064165955 0.002555515 0.0056635535 - 1868500 0.004142929 0.0027433709 0.0047501022 - 1868600 0.0048072647 0.0024361862 0.0047647051 - 1868700 0.0065910979 0.0021200302 0.0053125933 - 1868800 0.0061238979 0.0020461865 0.0050124496 - 1868900 0.0069905102 0.0022254157 0.0056114441 - 1869000 0.0055229613 0.0024310162 0.0051062005 - 1869100 0.0045413492 0.0024716192 0.0046713352 - 1869200 0.0051515995 0.0022691991 0.0047645051 - 1869300 0.0067469758 0.0021033381 0.0053714045 - 1869400 0.0055828077 0.0021583275 0.0048624999 - 1869500 0.0052139482 0.0026243159 0.0051498221 - 1869600 0.005079318 0.0028130262 0.0052733209 - 1869700 0.0060588575 0.0027016982 0.0056364573 - 1869800 0.0050291685 0.0030189164 0.0054549199 - 1869900 0.0067311863 0.0031556171 0.0064160355 - 1870000 0.0045970388 0.003055826 0.0052825167 - 1870100 0.0047071911 0.0031183197 0.0053983654 - 1870200 0.0036611966 0.0027653448 0.004538737 - 1870300 0.0050281081 0.0030187757 0.0054542656 - 1870400 0.0040613395 0.0031679808 0.0051351921 - 1870500 0.0052899385 0.0030097856 0.0055720996 - 1870600 0.0047931903 0.0029567843 0.0052784859 - 1870700 0.0064497639 0.0025379991 0.0056621035 - 1870800 0.0048549254 0.0025874268 0.0049390313 - 1870900 0.0053086069 0.0028929171 0.0054642735 - 1871000 0.0045271697 0.0031103883 0.0053032361 - 1871100 0.0054352786 0.0028497163 0.0054824294 - 1871200 0.0042923301 0.0021121871 0.0041912846 - 1871300 0.0042111552 0.0018624088 0.0039021871 - 1871400 0.0068658141 0.0016359421 0.0049615708 - 1871500 0.0048585128 0.0018529719 0.004206314 - 1871600 0.0044574613 0.0020429153 0.0042019982 - 1871700 0.0045095086 0.0018013234 0.0039856167 - 1871800 0.0047515942 0.0021772487 0.0044788021 - 1871900 0.0055844807 0.0020893481 0.004794331 - 1872000 0.0060568989 0.0020368694 0.0049706798 - 1872100 0.0055906022 0.002696589 0.0054045369 - 1872200 0.0046751733 0.0028447642 0.0051093013 - 1872300 0.0043525343 0.0025376687 0.0046459275 - 1872400 0.0038406768 0.0029443449 0.0048046727 - 1872500 0.0059225974 0.0027310478 0.0055998059 - 1872600 0.0045877437 0.0026833277 0.0049055161 - 1872700 0.0044862427 0.0025867928 0.0047598166 - 1872800 0.005887727 0.0022488809 0.0051007486 - 1872900 0.0045856965 0.0020359606 0.0042571574 - 1873000 0.0053409713 0.0020423972 0.0046294302 - 1873100 0.0044648612 0.0019171423 0.0040798095 - 1873200 0.0061932578 0.0019011504 0.0049010096 - 1873300 0.0059709229 0.0020330527 0.0049252185 - 1873400 0.0049753052 0.0024054374 0.0048153508 - 1873500 0.0065531329 0.0022538175 0.0054279912 - 1873600 0.0055336205 0.0021109923 0.0047913398 - 1873700 0.0052900665 0.0019523872 0.0045147632 - 1873800 0.0050121524 0.001625724 0.0040534853 - 1873900 0.0060611814 0.0013497653 0.00428565 - 1874000 0.004693776 0.0017957223 0.00406927 - 1874100 0.0044753601 0.0020713135 0.004239066 - 1874200 0.0044185325 0.0022862139 0.0044264405 - 1874300 0.0044689851 0.0022301978 0.0043948624 - 1874400 0.0056277661 0.0020457469 0.0047716961 - 1874500 0.0038729654 0.0024082427 0.0042842103 - 1874600 0.0063064562 0.0021835877 0.0052382775 - 1874700 0.0053750015 0.0021432258 0.0047467422 - 1874800 0.0053107539 0.0021563769 0.0047287733 - 1874900 0.0042741216 0.0021196995 0.0041899771 - 1875000 0.0052216247 0.0020633095 0.004592534 - 1875100 0.004906023 0.0027889352 0.0051652901 - 1875200 0.0046724769 0.0031257967 0.0053890277 - 1875300 0.0056826704 0.0030964995 0.005849043 - 1875400 0.004470194 0.0028824018 0.005047652 - 1875500 0.0047423283 0.0024926131 0.0047896784 - 1875600 0.0053438407 0.0023127729 0.0049011957 - 1875700 0.0057637072 0.0021727222 0.0049645179 - 1875800 0.0052734644 0.0020354004 0.0045897348 - 1875900 0.0050565631 0.0020882883 0.0045375611 - 1876000 0.0060488733 0.002035195 0.004965118 - 1876100 0.0055139018 0.0021686337 0.0048394299 - 1876200 0.004570059 0.0024993213 0.0047129436 - 1876300 0.0058475776 0.0022301694 0.0050625897 - 1876400 0.0064599251 0.0024174958 0.005546522 - 1876500 0.0049396332 0.0030327439 0.0054253788 - 1876600 0.0042942825 0.0030565293 0.0051365724 - 1876700 0.0045705533 0.0027379219 0.0049517836 - 1876800 0.004436836 0.0025737108 0.0047228033 - 1876900 0.0048290024 0.0022834716 0.0046225197 - 1877000 0.0051623169 0.002367374 0.0048678713 - 1877100 0.0046748584 0.0022684717 0.0045328563 - 1877200 0.004924722 0.0023522467 0.004737659 - 1877300 0.0046808191 0.0021471774 0.0044144491 - 1877400 0.0045870143 0.0022036652 0.0044255002 - 1877500 0.0048381275 0.0020723379 0.0044158059 - 1877600 0.004686569 0.0023049108 0.0045749677 - 1877700 0.0044435537 0.0025403352 0.0046926816 - 1877800 0.0057242566 0.0025941657 0.0053668525 - 1877900 0.0057094593 0.0025299847 0.0052955041 - 1878000 0.0044295296 0.0027175423 0.0048630957 - 1878100 0.0042316919 0.0028650329 0.0049147586 - 1878200 0.004049512 0.0026551395 0.0046166219 - 1878300 0.0064694431 0.0020433006 0.0051769371 - 1878400 0.0045437807 0.0021770696 0.0043779634 - 1878500 0.0041939368 0.002062141 0.0040935792 - 1878600 0.0037552034 0.0021038975 0.0039228242 - 1878700 0.0041062507 0.0022725421 0.0042615073 - 1878800 0.0051656757 0.0021556282 0.0046577524 - 1878900 0.0054467183 0.0026842335 0.0053224876 - 1879000 0.0060647037 0.002687455 0.0056250458 - 1879100 0.0050362692 0.0027429099 0.0051823528 - 1879200 0.0056102488 0.0019567012 0.0046741654 - 1879300 0.005968766 0.0020862475 0.0049773685 - 1879400 0.005253147 0.0025034669 0.00504796 - 1879500 0.0044225597 0.0029418483 0.0050840256 - 1879600 0.0038666085 0.0027460003 0.0046188888 - 1879700 0.0055457831 0.0020278433 0.004714082 - 1879800 0.005425437 0.0016722291 0.0043001751 - 1879900 0.0043395283 0.0020045469 0.0041065059 - 1880000 0.004225942 0.0019707668 0.0040177074 - 1880100 0.0057243625 0.0019220965 0.0046948346 - 1880200 0.0036094725 0.0021136899 0.0038620281 - 1880300 0.0039130526 0.001948635 0.0038440198 - 1880400 0.0032984745 0.0018797475 0.003477446 - 1880500 0.0056064734 0.0016820166 0.0043976522 - 1880600 0.0043996918 0.0018031562 0.0039342569 - 1880700 0.0043243697 0.0019541601 0.0040487767 - 1880800 0.0053867287 0.0022278545 0.0048370512 - 1880900 0.0051391641 0.0023065071 0.0047957898 - 1881000 0.0043396424 0.0027133315 0.0048153458 - 1881100 0.004766737 0.0023956075 0.0047044957 - 1881200 0.0066194818 0.0020329881 0.0052392996 - 1881300 0.005243104 0.0025338848 0.0050735132 - 1881400 0.0051366542 0.0027328373 0.0052209041 - 1881500 0.0051669881 0.0023630633 0.0048658232 - 1881600 0.005096421 0.0023264615 0.0047950404 - 1881700 0.0071270461 0.0021041753 0.0055563383 - 1881800 0.0046996955 0.0019101482 0.0041865632 - 1881900 0.0049825042 0.0015558939 0.0039692944 - 1882000 0.0056466721 0.001730657 0.0044657638 - 1882100 0.0049183081 0.0018567548 0.0042390603 - 1882200 0.0060133731 0.0020411105 0.0049538381 - 1882300 0.004798766 0.0022266189 0.0045510212 - 1882400 0.0057266873 0.0025366805 0.0053105447 - 1882500 0.0048787865 0.0024987058 0.004861868 - 1882600 0.0043162674 0.0024539069 0.0045445989 - 1882700 0.0037366517 0.0024361645 0.0042461051 - 1882800 0.0042667189 0.0023645868 0.0044312787 - 1882900 0.0046675836 0.0024027486 0.0046636094 - 1883000 0.0038833615 0.0020782918 0.003959295 - 1883100 0.0057658529 0.0019598183 0.0047526533 - 1883200 0.0048107271 0.0017551895 0.0040853854 - 1883300 0.0059966289 0.0016036729 0.00450829 - 1883400 0.0043032267 0.0017464643 0.0038308398 - 1883500 0.0037493347 0.0021214954 0.0039375793 - 1883600 0.004893749 0.0026638301 0.0050342398 - 1883700 0.005891152 0.0026520641 0.0055055908 - 1883800 0.0046283631 0.002266687 0.0045085504 - 1883900 0.0059167218 0.001494648 0.0043605601 - 1884000 0.0035835048 0.0016786759 0.003414436 - 1884100 0.0059443648 0.0016494703 0.004528772 - 1884200 0.0044389143 0.0016242102 0.0037743093 - 1884300 0.0062949255 0.0018161947 0.0048652992 - 1884400 0.0059831664 0.0019572489 0.0048553451 - 1884500 0.0036490217 0.002180089 0.0039475839 - 1884600 0.004712564 0.001869065 0.0041517132 - 1884700 0.0047561217 0.0018954904 0.0041992368 - 1884800 0.0035003084 0.0022582623 0.0039537242 - 1884900 0.0051968001 0.0020213319 0.0045385319 - 1885000 0.0035538557 0.0019405814 0.0036619802 - 1885100 0.00415842 0.00172944 0.0037436747 - 1885200 0.0037322178 0.0020064004 0.0038141934 - 1885300 0.0038571693 0.0021591138 0.0040274302 - 1885400 0.0064345186 0.0023875949 0.0055043148 - 1885500 0.0047309363 0.0026069641 0.0048985113 - 1885600 0.0053883911 0.0020533344 0.0046633364 - 1885700 0.0050654394 0.0015769628 0.004030535 - 1885800 0.0050620112 0.0019593545 0.0044112662 - 1885900 0.0047561122 0.0025347608 0.0048385026 - 1886000 0.0057944571 0.0025532637 0.0053599539 - 1886100 0.0054139168 0.0023700446 0.0049924105 - 1886200 0.0055680812 0.0020550159 0.0047520552 - 1886300 0.0051287 0.0017762777 0.0042604917 - 1886400 0.0044858284 0.0016214446 0.0037942677 - 1886500 0.0041177787 0.0018191285 0.0038136775 - 1886600 0.0057941545 0.0019075638 0.0047141073 - 1886700 0.0042458306 0.0020094225 0.0040659966 - 1886800 0.0053356242 0.0020449974 0.0046294404 - 1886900 0.0047097149 0.0018746642 0.0041559323 - 1887000 0.0050328253 0.0019122534 0.0043500281 - 1887100 0.004736966 0.0020309513 0.0043254192 - 1887200 0.0037147308 0.002043711 0.0038430337 - 1887300 0.0041547725 0.0019126882 0.0039251561 - 1887400 0.0061259204 0.0021421505 0.0051093932 - 1887500 0.0050519878 0.002449652 0.0048967086 - 1887600 0.0075004437 0.0022627548 0.0058957822 - 1887700 0.0056631262 0.0024205634 0.0051636402 - 1887800 0.0072085632 0.002930725 0.0064223727 - 1887900 0.0057277934 0.0029094849 0.0056838848 - 1888000 0.0057732894 0.0024719786 0.0052684156 - 1888100 0.0046991674 0.0022290291 0.0045051883 - 1888200 0.0064132207 0.0017176486 0.0048240524 - 1888300 0.0044625269 0.0022635028 0.0044250393 - 1888400 0.0058971131 0.0026132683 0.0054696825 - 1888500 0.0051838683 0.0025107855 0.0050217217 - 1888600 0.0053563734 0.002550919 0.0051454124 - 1888700 0.0058935851 0.0019922818 0.0048469871 - 1888800 0.0048118521 0.001622489 0.0039532299 - 1888900 0.0056006089 0.0016145775 0.0043273725 - 1889000 0.0058013441 0.001785768 0.004595794 - 1889100 0.0048479461 0.0020918837 0.0044401076 - 1889200 0.0051297022 0.0022654277 0.0047501272 - 1889300 0.0062138118 0.0023929642 0.0054027793 - 1889400 0.0064357724 0.0026961778 0.0058135051 - 1889500 0.0062576921 0.002820378 0.0058514476 - 1889600 0.0065742685 0.0021157389 0.0053001503 - 1889700 0.005202732 0.0021565793 0.0046766526 - 1889800 0.0049913348 0.0028000366 0.0052177144 - 1889900 0.0030877676 0.0027141525 0.0042097899 - 1890000 0.0042740729 0.0024462914 0.0045165454 - 1890100 0.005110471 0.0022088659 0.0046842502 - 1890200 0.0039664404 0.0026135259 0.0045347705 - 1890300 0.0035451491 0.0027515789 0.0044687604 - 1890400 0.0067745053 0.00295295 0.006234351 - 1890500 0.0041054 0.0024912224 0.0044797755 - 1890600 0.0039815785 0.0027319522 0.0046605293 - 1890700 0.0048129594 0.0024968647 0.0048281419 - 1890800 0.005262691 0.0021738206 0.0047229365 - 1890900 0.0058071777 0.0024166675 0.0052295192 - 1891000 0.0051292316 0.0019689146 0.0044533861 - 1891100 0.0053651492 0.001860854 0.0044595981 - 1891200 0.0041660255 0.0023531445 0.0043710631 - 1891300 0.004036933 0.0023457048 0.0043010942 - 1891400 0.0049379281 0.0022642941 0.004656103 - 1891500 0.0045128368 0.0022989655 0.0044848708 - 1891600 0.0051772863 0.0022322929 0.0047400409 - 1891700 0.0043193472 0.0024012922 0.0044934759 - 1891800 0.0047652223 0.002188129 0.0044962835 - 1891900 0.0050397 0.0022845352 0.0047256399 - 1892000 0.0050907931 0.0022445365 0.0047103894 - 1892100 0.0060891686 0.0024896101 0.0054390512 - 1892200 0.0079158549 0.0032148307 0.0070490729 - 1892300 0.0064047822 0.0030261922 0.0061285085 - 1892400 0.0067999499 0.0029825871 0.0062763129 - 1892500 0.0041460233 0.0032032999 0.00521153 - 1892600 0.0054373113 0.0030044884 0.0056381861 - 1892700 0.0052685367 0.0032238496 0.005775797 - 1892800 0.0064160464 0.002836047 0.0059438195 - 1892900 0.0054343766 0.0021463871 0.0047786632 - 1893000 0.0070427434 0.0019279174 0.0053392462 - 1893100 0.0054801733 0.0022440094 0.0048984684 - 1893200 0.0039281664 0.0025187713 0.0044214769 - 1893300 0.0062051998 0.0026550503 0.0056606939 - 1893400 0.0047739104 0.0023181079 0.0046304707 - 1893500 0.0072420339 0.0017187578 0.0052266179 - 1893600 0.0082206867 0.0021248616 0.0061067567 - 1893700 0.0058290721 0.0028460157 0.0056694725 - 1893800 0.00694929 0.0029483955 0.0063144578 - 1893900 0.0054628611 0.0033832866 0.00602936 - 1894000 0.0058891806 0.0031238799 0.0059764518 - 1894100 0.0051045764 0.0025631587 0.0050356879 - 1894200 0.0050188179 0.0021235509 0.0045545408 - 1894300 0.0052704377 0.0021930349 0.0047459031 - 1894400 0.0063309777 0.002320752 0.0053873194 - 1894500 0.0049476224 0.0023796468 0.0047761514 - 1894600 0.0054062481 0.0022086936 0.004827345 - 1894700 0.0044799203 0.0021243265 0.0042942879 - 1894800 0.0044470433 0.0024238095 0.0045778461 - 1894900 0.0041946326 0.0024974062 0.0045291814 - 1895000 0.0049135096 0.0023195701 0.0046995513 - 1895100 0.0053877558 0.0020628335 0.0046725277 - 1895200 0.0050705957 0.0020799925 0.0045360623 - 1895300 0.0046143065 0.0020940926 0.0043291473 - 1895400 0.0042926659 0.0021689117 0.0042481718 - 1895500 0.0040415096 0.0025071778 0.004464784 - 1895600 0.0065452866 0.0029770304 0.0061474036 - 1895700 0.0052224523 0.0028473236 0.0053769489 - 1895800 0.0056170474 0.0023450926 0.0050658499 - 1895900 0.0061364889 0.0020362258 0.0050085876 - 1896000 0.005237734 0.0019877866 0.0045248141 - 1896100 0.0055063499 0.0022472228 0.004914361 - 1896200 0.0059919253 0.0026749681 0.005577307 - 1896300 0.0051001516 0.0025105129 0.0049808989 - 1896400 0.0039890064 0.0029418361 0.0048740111 - 1896500 0.0055217938 0.0025357811 0.0052104 - 1896600 0.0053801661 0.0020190535 0.0046250715 - 1896700 0.0052247271 0.002124987 0.0046557142 - 1896800 0.0052920334 0.0022518001 0.0048151288 - 1896900 0.0059275587 0.0021093711 0.0049805324 - 1897000 0.0045789533 0.0022671568 0.0044850873 - 1897100 0.004523168 0.0023257827 0.0045166922 - 1897200 0.0051227615 0.0020122032 0.0044935408 - 1897300 0.0074432491 0.0021663203 0.005771644 - 1897400 0.0056516197 0.0021584605 0.0048959637 - 1897500 0.0046948132 0.002092301 0.0043663511 - 1897600 0.0047135267 0.0023134812 0.0045965957 - 1897700 0.0048417788 0.0021521145 0.0044973511 - 1897800 0.0052557052 0.0021461667 0.0046918989 - 1897900 0.004456247 0.0019939438 0.0041524385 - 1898000 0.0052062046 0.0018684049 0.0043901603 - 1898100 0.00506864 0.0023676376 0.0048227601 - 1898200 0.0054630513 0.0028217756 0.0054679411 - 1898300 0.0044089673 0.0031387307 0.0052743242 - 1898400 0.0058542196 0.0028963912 0.0057320288 - 1898500 0.0064648477 0.0029520987 0.0060835093 - 1898600 0.0045229276 0.0028171385 0.0050079316 - 1898700 0.0058353584 0.0023529681 0.0051794698 - 1898800 0.0061627989 0.0022132747 0.0051983805 - 1898900 0.0056884 0.0024460427 0.0052013614 - 1899000 0.0042278696 0.0031554496 0.005203324 - 1899100 0.0041105582 0.0034059877 0.0053970394 - 1899200 0.0058299568 0.0026899895 0.0055138748 - 1899300 0.0057912593 0.0021421198 0.004947261 - 1899400 0.0064350801 0.0019114325 0.0050284245 - 1899500 0.0037752498 0.0021702309 0.0039988675 - 1899600 0.0054483252 0.0022162483 0.0048552809 - 1899700 0.0065586686 0.0023204581 0.0054973132 - 1899800 0.0044603494 0.0023310634 0.0044915452 - 1899900 0.0049552088 0.0021379324 0.0045381116 - 1900000 0.0044157576 0.0021970375 0.0043359201 - 1900100 0.0044499778 0.0030293039 0.0051847619 - 1900200 0.0046172578 0.0034949402 0.0057314245 - 1900300 0.0043183051 0.0029882743 0.0050799533 - 1900400 0.0045589279 0.0026579558 0.0048661865 - 1900500 0.0042219557 0.0027639208 0.0048089305 - 1900600 0.0044506156 0.0030862125 0.0052419795 - 1900700 0.0051819713 0.0028736115 0.0053836289 - 1900800 0.0049814737 0.0026012689 0.0050141703 - 1900900 0.0051151638 0.0023224137 0.0048000711 - 1901000 0.0047156988 0.0026773339 0.0049615005 - 1901100 0.0053898683 0.0028589518 0.0054696692 - 1901200 0.0045183381 0.0028678935 0.0050564635 - 1901300 0.0050721917 0.0025072732 0.004964116 - 1901400 0.0059860095 0.0025517873 0.0054512606 - 1901500 0.0055446918 0.0025221631 0.0052078732 - 1901600 0.0067104599 0.002636844 0.005887223 - 1901700 0.0050306039 0.0026600844 0.0050967832 - 1901800 0.0071686684 0.0023243034 0.0057966272 - 1901900 0.0047160254 0.0024341645 0.0047184893 - 1902000 0.0053973467 0.0024217008 0.0050360406 - 1902100 0.0042801114 0.0025567747 0.0046299537 - 1902200 0.0035766503 0.0028051445 0.0045375845 - 1902300 0.003944982 0.0026569819 0.0045678326 - 1902400 0.0056156439 0.0024890799 0.0052091575 - 1902500 0.0058262691 0.0024668359 0.005288935 - 1902600 0.0048542534 0.0022230071 0.0045742861 - 1902700 0.0067323482 0.002505068 0.0057660492 - 1902800 0.0057757627 0.0029676908 0.0057653259 - 1902900 0.0036673363 0.0028533665 0.0046297325 - 1903000 0.0050533007 0.0025058533 0.0049535459 - 1903100 0.0037125912 0.0028070019 0.0046052883 - 1903200 0.004219234 0.0029541969 0.0049978883 - 1903300 0.0061373276 0.0028598322 0.0058326003 - 1903400 0.005308467 0.0028505521 0.0054218408 - 1903500 0.0043080596 0.0026922876 0.004779004 - 1903600 0.0043650738 0.0026671652 0.0047814978 - 1903700 0.0054822421 0.0025797917 0.0052352527 - 1903800 0.004094869 0.0029321994 0.0049156516 - 1903900 0.005156241 0.0025886394 0.0050861936 - 1904000 0.0050353885 0.0022425528 0.0046815691 - 1904100 0.006007924 0.0020703635 0.0049804517 - 1904200 0.0054920162 0.0020211405 0.0046813359 - 1904300 0.0052214824 0.0017135037 0.0042426592 - 1904400 0.0051775555 0.0017835043 0.0042913828 - 1904500 0.0039783165 0.0017674407 0.0036944378 - 1904600 0.0058290316 0.0022004832 0.0050239204 - 1904700 0.0051782347 0.0021110555 0.004619263 - 1904800 0.0053741112 0.0019990871 0.0046021722 - 1904900 0.0054037292 0.0024467821 0.0050642134 - 1905000 0.0069123488 0.0021532719 0.0055014408 - 1905100 0.0076241504 0.0022645707 0.0059575186 - 1905200 0.005900675 0.0026271713 0.0054853108 - 1905300 0.0054894899 0.0028932688 0.0055522405 - 1905400 0.004205048 0.0026894259 0.004726246 - 1905500 0.0051121457 0.0022659506 0.0047421461 - 1905600 0.0042252621 0.0022880687 0.00433468 - 1905700 0.0025846318 0.0024731936 0.0037251246 - 1905800 0.005752638 0.0025050403 0.0052914743 - 1905900 0.0045671949 0.0022495027 0.0044617378 - 1906000 0.0043458025 0.0023693844 0.0044743825 - 1906100 0.0055430264 0.0022870876 0.004971991 - 1906200 0.005386096 0.0022471603 0.0048560505 - 1906300 0.0048368887 0.0020725433 0.0044154112 - 1906400 0.0044126732 0.0017830553 0.0039204439 - 1906500 0.0044789236 0.0017917176 0.0039611962 - 1906600 0.0051084733 0.0019915009 0.0044659176 - 1906700 0.005525633 0.0024129534 0.0050894319 - 1906800 0.0044012013 0.0025201245 0.0046519564 - 1906900 0.0064116897 0.0023521046 0.0054577668 - 1907000 0.0034993029 0.0024277555 0.0041227303 - 1907100 0.0057530052 0.0022021025 0.0049887144 - 1907200 0.0054121494 0.00208219 0.0047036998 - 1907300 0.0060963291 0.002592462 0.0055453714 - 1907400 0.0071445262 0.0028615669 0.0063221967 - 1907500 0.0070749302 0.0030425819 0.0064695012 - 1907600 0.0052720673 0.0031247156 0.0056783731 - 1907700 0.0053190003 0.0035302232 0.0061066139 - 1907800 0.0075270459 0.0030682767 0.0067141896 - 1907900 0.0047216579 0.0029713816 0.0052584346 - 1908000 0.0060847332 0.0028003231 0.0057476157 - 1908100 0.0054935621 0.0024131797 0.0050741239 - 1908200 0.0051972976 0.0028691383 0.0053865793 - 1908300 0.0051075989 0.0027257068 0.0051997 - 1908400 0.0054873066 0.0025768759 0.0052347901 - 1908500 0.0040385715 0.0030030921 0.0049592752 - 1908600 0.0054125124 0.0026874774 0.0053091631 - 1908700 0.0048059255 0.0029330554 0.0052609255 - 1908800 0.0044505596 0.0031678492 0.0053235889 - 1908900 0.0061665884 0.0034134992 0.0064004405 - 1909000 0.0057178809 0.0033760133 0.0061456119 - 1909100 0.0067013543 0.0030160461 0.0062620146 - 1909200 0.0049358416 0.0032534341 0.0056442324 - 1909300 0.0067368385 0.0029227414 0.0061858976 - 1909400 0.0061563772 0.0026434609 0.0056254561 - 1909500 0.0054830931 0.0030855333 0.0057414065 - 1909600 0.0051232523 0.0028712916 0.0053528669 - 1909700 0.003256205 0.0028469541 0.0044241785 - 1909800 0.0062432536 0.0024398294 0.0054639053 - 1909900 0.0045257739 0.002822636 0.0050148078 - 1910000 0.0052465888 0.003173802 0.0057151185 - 1910100 0.0049168462 0.0028281332 0.0052097306 - 1910200 0.0039783065 0.002719723 0.0046467152 - 1910300 0.0054736196 0.0027648393 0.0054161239 - 1910400 0.0048655487 0.0027310778 0.0050878279 - 1910500 0.0045410643 0.002457148 0.004656726 - 1910600 0.0036082287 0.002692882 0.0044406178 - 1910700 0.0052057702 0.002308879 0.0048304239 - 1910800 0.0048898251 0.0023827898 0.0047512989 - 1910900 0.0082490912 0.0027233078 0.0067189613 - 1911000 0.0049468838 0.0034233596 0.0058195064 - 1911100 0.0038155142 0.0036571434 0.0055052831 - 1911200 0.0042322579 0.0032913353 0.0053413352 - 1911300 0.005201257 0.0030308084 0.0055501673 - 1911400 0.0042898312 0.0027332151 0.0048111021 - 1911500 0.0047584419 0.0024322732 0.0047371434 - 1911600 0.0056563264 0.0022741848 0.0050139679 - 1911700 0.0054693774 0.0027759609 0.0054251906 - 1911800 0.0056974736 0.0032328343 0.005992548 - 1911900 0.0053440882 0.0029291293 0.0055176721 - 1912000 0.0055651045 0.0027668657 0.0054624632 - 1912100 0.0044768719 0.0030278438 0.0051963286 - 1912200 0.0062677262 0.0031800428 0.0062159727 - 1912300 0.0055702533 0.0025324083 0.0052304997 - 1912400 0.0059685543 0.002480401 0.0053714195 - 1912500 0.0050727539 0.0030556531 0.0055127683 - 1912600 0.0048160861 0.0027360535 0.0050688452 - 1912700 0.0052744402 0.002875212 0.0054300189 - 1912800 0.0032983382 0.0028363389 0.0044339714 - 1912900 0.0043039641 0.0026281396 0.0047128722 - 1913000 0.0051967018 0.0024702105 0.0049873629 - 1913100 0.0048134159 0.0022210099 0.0045525082 - 1913200 0.0053670141 0.0023226606 0.0049223081 - 1913300 0.0050038767 0.0024017881 0.0048255409 - 1913400 0.0040950884 0.002496837 0.0044803955 - 1913500 0.0067373058 0.0025940067 0.0058573892 - 1913600 0.0050536505 0.0029455892 0.0053934512 - 1913700 0.003934029 0.0025404078 0.0044459531 - 1913800 0.0055822655 0.002218937 0.0049228468 - 1913900 0.0041393723 0.0021496548 0.0041546632 - 1914000 0.0036948737 0.0020724131 0.0038621176 - 1914100 0.0041102291 0.0017259222 0.0037168145 - 1914200 0.0043779282 0.0020009298 0.0041214888 - 1914300 0.007791979 0.0022573249 0.0060315647 - 1914400 0.0059117868 0.0022205321 0.0050840538 - 1914500 0.00490725 0.0022537173 0.0046306665 - 1914600 0.0054329364 0.0021327229 0.0047643015 - 1914700 0.0067238159 0.0023173729 0.0055742213 - 1914800 0.0046745949 0.0033076016 0.0055718585 - 1914900 0.0044319656 0.0029214763 0.0050682097 - 1915000 0.0059878528 0.0022316467 0.0051320129 - 1915100 0.0043159482 0.0021873227 0.0042778601 - 1915200 0.0056205504 0.0023349709 0.005057425 - 1915300 0.0056938265 0.0025409139 0.0052988611 - 1915400 0.0066000622 0.0023835706 0.0055804757 - 1915500 0.0060227437 0.0022747054 0.0051919718 - 1915600 0.0045439944 0.00269988 0.0049008772 - 1915700 0.0045245401 0.0029718634 0.0051634376 - 1915800 0.0064384662 0.0028693615 0.0059879935 - 1915900 0.0066151161 0.0025842872 0.0057884841 - 1916000 0.0039257874 0.0027155833 0.0046171366 - 1916100 0.0040778975 0.0027185103 0.0046937419 - 1916200 0.0042569176 0.0023513276 0.004413272 - 1916300 0.006718874 0.0023505594 0.005605014 - 1916400 0.0044744217 0.0023747237 0.0045420217 - 1916500 0.0062218423 0.0025007727 0.0055144775 - 1916600 0.006188139 0.002418923 0.0054163028 - 1916700 0.0052900352 0.0023569451 0.0049193059 - 1916800 0.0055781189 0.0020612337 0.0047631351 - 1916900 0.0043708865 0.0018825018 0.00399965 - 1917000 0.0040204762 0.0022125133 0.0041599315 - 1917100 0.0061884058 0.0022812415 0.0052787505 - 1917200 0.0052643538 0.0021118118 0.0046617332 - 1917300 0.0035657094 0.002217183 0.0039443235 - 1917400 0.0049159912 0.0024341811 0.0048153643 - 1917500 0.004688752 0.0023716705 0.0046427848 - 1917600 0.0047049216 0.0024112562 0.0046902026 - 1917700 0.0046121369 0.0024304084 0.0046644122 - 1917800 0.0060470462 0.0020830031 0.0050120411 - 1917900 0.0039175285 0.0022910248 0.0041885777 - 1918000 0.0047871197 0.0026970634 0.0050158245 - 1918100 0.0052136192 0.0026433609 0.0051687077 - 1918200 0.0052162228 0.0024474637 0.0049740716 - 1918300 0.0061173607 0.0022322381 0.0051953347 - 1918400 0.0052406541 0.0024429967 0.0049814386 - 1918500 0.0053110601 0.0027093786 0.0052819233 - 1918600 0.0062442279 0.0022157439 0.0052402918 - 1918700 0.0044577563 0.0024217587 0.0045809845 - 1918800 0.0054619061 0.0025245621 0.0051701728 - 1918900 0.0046263499 0.0022590102 0.0044998985 - 1919000 0.0053537395 0.0019375739 0.0045307915 - 1919100 0.0047192058 0.0020624555 0.0043483208 - 1919200 0.0070788893 0.0028785267 0.0063073637 - 1919300 0.0053625148 0.0037975138 0.0063949819 - 1919400 0.0054332742 0.0029643812 0.0055961234 - 1919500 0.0057507679 0.0023721758 0.005157704 - 1919600 0.0047257295 0.0023426492 0.0046316745 - 1919700 0.005480759 0.002401126 0.0050558686 - 1919800 0.0050842429 0.0026752546 0.0051379348 - 1919900 0.0055461631 0.0031684439 0.0058548667 - 1920000 0.0049376008 0.0031833597 0.00557501 - 1920100 0.0062925934 0.0029285174 0.0059764924 - 1920200 0.0057106145 0.002662466 0.0054285449 - 1920300 0.0043998407 0.0023144393 0.0044456122 - 1920400 0.0063500807 0.0022383572 0.0053141776 - 1920500 0.0047942846 0.0022361034 0.004558335 - 1920600 0.003898354 0.0025090869 0.0043973521 - 1920700 0.0069446805 0.0023837169 0.0057475465 - 1920800 0.0044844694 0.0030706552 0.00524282 - 1920900 0.005322221 0.0035375331 0.006115484 - 1921000 0.0051442372 0.0032258597 0.0057175996 - 1921100 0.0046675569 0.0023099084 0.0045707563 - 1921200 0.0054589286 0.0017992989 0.0044434675 - 1921300 0.0041581743 0.0020110185 0.0040251342 - 1921400 0.0043149742 0.0022998931 0.0043899587 - 1921500 0.0047922225 0.002400351 0.0047215838 - 1921600 0.0044423838 0.0025759465 0.0047277261 - 1921700 0.0060545561 0.0022764436 0.0052091192 - 1921800 0.0051867185 0.0020567558 0.0045690726 - 1921900 0.0055428291 0.0023524339 0.0050372417 - 1922000 0.0060637865 0.0025768155 0.0055139621 - 1922100 0.0047390338 0.0023542306 0.0046497001 - 1922200 0.0054125597 0.0022338096 0.0048555183 - 1922300 0.005195517 0.0024335486 0.0049501271 - 1922400 0.0063887887 0.002200314 0.0052948835 - 1922500 0.0055267881 0.0022615009 0.0049385389 - 1922600 0.0063107417 0.0026585435 0.005715309 - 1922700 0.00424083 0.0029526922 0.0050068442 - 1922800 0.0058119182 0.0029435175 0.0057586654 - 1922900 0.0051658958 0.0032262563 0.0057284871 - 1923000 0.0055940046 0.0027754636 0.0054850595 - 1923100 0.0049663112 0.002472526 0.004878083 - 1923200 0.0049507815 0.0021844402 0.004582475 - 1923300 0.0044196971 0.0027166532 0.004857444 - 1923400 0.0066105368 0.0027026314 0.0059046102 - 1923500 0.0055044821 0.0023684218 0.0050346553 - 1923600 0.0039829173 0.0022290693 0.0041582949 - 1923700 0.0045861163 0.0019066507 0.0041280508 - 1923800 0.0046574121 0.002071156 0.00432709 - 1923900 0.0040477889 0.0021541397 0.0041147875 - 1924000 0.0054036753 0.0021439353 0.0047613406 - 1924100 0.0071500346 0.0021608708 0.0056241688 - 1924200 0.0043277428 0.0022848428 0.0043810933 - 1924300 0.0053279903 0.0021193224 0.0047000677 - 1924400 0.0058003937 0.0017312487 0.0045408144 - 1924500 0.0058941724 0.0025520895 0.0054070792 - 1924600 0.0062047853 0.0026323906 0.0056378335 - 1924700 0.0058069251 0.0024386026 0.0052513319 - 1924800 0.0049101434 0.0019017119 0.0042800626 - 1924900 0.0062303618 0.0018149495 0.004832781 - 1925000 0.0052578719 0.0019979348 0.0045447166 - 1925100 0.0065356108 0.0025987993 0.0057644857 - 1925200 0.0047519656 0.0027726185 0.0050743519 - 1925300 0.0056249775 0.0023857581 0.0051103566 - 1925400 0.0051399377 0.0019422296 0.0044318869 - 1925500 0.0040775631 0.0019514756 0.0039265452 - 1925600 0.0068121115 0.0023935311 0.0056931476 - 1925700 0.0070599188 0.0028311334 0.0062507816 - 1925800 0.0049221751 0.0025322055 0.004916384 - 1925900 0.0068473747 0.002112198 0.0054288951 - 1926000 0.0039491399 0.0027006221 0.0046134867 - 1926100 0.0036658086 0.0029339823 0.0047096083 - 1926200 0.0048595424 0.0028823612 0.005236202 - 1926300 0.004911773 0.0027569753 0.0051361154 - 1926400 0.0058005252 0.0022770253 0.0050866547 - 1926500 0.0056316652 0.0016498642 0.004377702 - 1926600 0.0059127215 0.0018576627 0.0047216372 - 1926700 0.0057193456 0.001828754 0.004599062 - 1926800 0.0054672611 0.0019692935 0.0046174981 - 1926900 0.0043417657 0.0023850994 0.0044881421 - 1927000 0.0051123094 0.001896969 0.0043732438 - 1927100 0.0046658301 0.0017541135 0.0040141249 - 1927200 0.0055838912 0.0019134538 0.0046181511 - 1927300 0.0045171678 0.0023989129 0.0045869161 - 1927400 0.0054940238 0.0024731726 0.0051343404 - 1927500 0.0046186468 0.0026019434 0.0048391004 - 1927600 0.005271105 0.003056019 0.0056092105 - 1927700 0.0054981324 0.002903521 0.0055666789 - 1927800 0.0044405898 0.0028301099 0.0049810206 - 1927900 0.0068754665 0.002532235 0.0058625391 - 1928000 0.0049621688 0.0024836653 0.0048872158 - 1928100 0.0050845918 0.002126817 0.0045896662 - 1928200 0.0038909219 0.0019638419 0.0038485072 - 1928300 0.0071969296 0.0020214702 0.0055074829 - 1928400 0.0061079631 0.0021453643 0.0051039089 - 1928500 0.005419172 0.0025847183 0.0052096297 - 1928600 0.0056683673 0.0030469046 0.00579252 - 1928700 0.0059882858 0.0031083961 0.0060089721 - 1928800 0.005966075 0.0028322979 0.0057221155 - 1928900 0.004453263 0.0028972926 0.0050543419 - 1929000 0.0065694606 0.0030917794 0.0062738619 - 1929100 0.004844455 0.0030667707 0.0054133036 - 1929200 0.0065381854 0.0024199223 0.0055868559 - 1929300 0.0042285107 0.002608236 0.0046564209 - 1929400 0.0053280261 0.0026003693 0.0051811319 - 1929500 0.0043478161 0.0028419888 0.0049479622 - 1929600 0.0052139325 0.0030508041 0.0055763027 - 1929700 0.0042024723 0.0031811759 0.0052167484 - 1929800 0.0054266916 0.0031355912 0.0057641449 - 1929900 0.0054432799 0.0025764194 0.0052130081 - 1930000 0.003588451 0.0026400042 0.0043781602 - 1930100 0.0048446637 0.0032163283 0.0055629623 - 1930200 0.0047537108 0.0029343888 0.0052369675 - 1930300 0.0033596629 0.0025310104 0.0041583472 - 1930400 0.0041483699 0.0025154543 0.004524821 - 1930500 0.0052950419 0.0026427655 0.0052075514 - 1930600 0.0060290994 0.0025087032 0.0054290482 - 1930700 0.0049364212 0.0026817369 0.0050728159 - 1930800 0.0062852919 0.0025327523 0.0055771906 - 1930900 0.0054179263 0.0025883007 0.0052126087 - 1931000 0.0040635729 0.002553903 0.0045221961 - 1931100 0.0041155046 0.0022323782 0.0042258257 - 1931200 0.0042860957 0.0017578194 0.003833897 - 1931300 0.0051256651 0.0017015862 0.0041843303 - 1931400 0.0041220785 0.0018690432 0.0038656749 - 1931500 0.0060627369 0.0019603292 0.0048969674 - 1931600 0.005525398 0.0015740379 0.0042504026 - 1931700 0.0051531545 0.0015823515 0.0040784107 - 1931800 0.0043724027 0.0017684269 0.0038863095 - 1931900 0.0054414741 0.0016877853 0.0043234993 - 1932000 0.0060198707 0.001745908 0.0046617829 - 1932100 0.0032653 0.0025426012 0.0041242309 - 1932200 0.0047635945 0.0023305068 0.0046378729 - 1932300 0.005667073 0.0023206857 0.0050656742 - 1932400 0.0052073973 0.0022794726 0.0048018057 - 1932500 0.0045380352 0.002197239 0.0043953498 - 1932600 0.0056580075 0.0020173864 0.0047579837 - 1932700 0.004544143 0.0017784764 0.0039795456 - 1932800 0.0058126978 0.0019462168 0.0047617423 - 1932900 0.0064032158 0.0024615516 0.0055631093 - 1933000 0.0062727279 0.0020845797 0.0051229323 - 1933100 0.0046411452 0.0023528394 0.0046008941 - 1933200 0.0054364198 0.0021261898 0.0047594556 - 1933300 0.0056747306 0.001966533 0.0047152306 - 1933400 0.0041718552 0.0024456809 0.0044664233 - 1933500 0.0067513602 0.002097642 0.0053678321 - 1933600 0.0038407999 0.0021727892 0.0040331767 - 1933700 0.0042482021 0.0020733723 0.0041310952 - 1933800 0.0043787643 0.0021589949 0.0042799588 - 1933900 0.0053666011 0.0023221663 0.0049216137 - 1934000 0.0047767824 0.0025455383 0.0048592922 - 1934100 0.0044637932 0.002858411 0.0050205609 - 1934200 0.0049563381 0.0028724634 0.0052731896 - 1934300 0.0057809156 0.0024654787 0.0052656097 - 1934400 0.0065162827 0.0027048915 0.0058612159 - 1934500 0.0050220735 0.0032146203 0.0056471871 - 1934600 0.0054945013 0.0030924902 0.0057538893 - 1934700 0.0054276138 0.0025397309 0.0051687313 - 1934800 0.0051920276 0.0021110809 0.0046259693 - 1934900 0.0048468575 0.00193222 0.0042799166 - 1935000 0.0037901133 0.0020382571 0.0038740932 - 1935100 0.0047677902 0.0018402431 0.0041496414 - 1935200 0.0051895949 0.001731499 0.004245209 - 1935300 0.0050808098 0.0021683886 0.0046294058 - 1935400 0.0053721035 0.0019450034 0.004547116 - 1935500 0.0052777084 0.0021857548 0.0047421448 - 1935600 0.0065473156 0.0022291894 0.0054005454 - 1935700 0.0073060273 0.0021164536 0.0056553106 - 1935800 0.0055892017 0.0021257832 0.0048330528 - 1935900 0.0036123295 0.0025679207 0.0043176428 - 1936000 0.0038876584 0.0025239053 0.0044069898 - 1936100 0.0048818371 0.002104575 0.0044692149 - 1936200 0.0066004427 0.0024944978 0.0056915872 - 1936300 0.0060742932 0.002905859 0.0058480947 - 1936400 0.0062607428 0.0029779558 0.0060105031 - 1936500 0.004402305 0.0027632046 0.0048955711 - 1936600 0.0046865566 0.0023749216 0.0046449724 - 1936700 0.0061839653 0.0026214388 0.005616797 - 1936800 0.0052543025 0.0028814411 0.0054264939 - 1936900 0.0042946074 0.0026343311 0.0047145316 - 1937000 0.0044583823 0.0021528921 0.004312421 - 1937100 0.0044869254 0.0022535556 0.0044269101 - 1937200 0.0048355605 0.0020209118 0.0043631364 - 1937300 0.0066638961 0.0022997553 0.00552758 - 1937400 0.0037488705 0.0025006946 0.0043165537 - 1937500 0.0059028123 0.0022247854 0.0050839602 - 1937600 0.0052035104 0.0027894393 0.0053098896 - 1937700 0.005893412 0.0028762809 0.0057309023 - 1937800 0.0051764207 0.0025534618 0.0050607906 - 1937900 0.0055455122 0.0023642792 0.0050503866 - 1938000 0.0042742247 0.0019526762 0.0040230038 - 1938100 0.0053906087 0.001973706 0.0045847821 - 1938200 0.0062094134 0.0023514397 0.0053591244 - 1938300 0.0045042099 0.0027682141 0.0049499408 - 1938400 0.0046701841 0.0026946725 0.0049567929 - 1938500 0.0046924689 0.0024980571 0.0047709717 - 1938600 0.0045040222 0.0028228987 0.0050045344 - 1938700 0.0060670921 0.0032402563 0.0061790041 - 1938800 0.0051638349 0.0033757848 0.0058770173 - 1938900 0.0064059533 0.0034017244 0.006504608 - 1939000 0.0059636596 0.0031688747 0.0060575223 - 1939100 0.006400036 0.0027884007 0.0058884182 - 1939200 0.0043202583 0.0027211141 0.0048137392 - 1939300 0.0056753466 0.0028288735 0.0055778695 - 1939400 0.0060402424 0.0027939633 0.0057197058 - 1939500 0.0045572467 0.0030751509 0.0052825673 - 1939600 0.0074726358 0.0029376592 0.0065572171 - 1939700 0.0059151477 0.0027820104 0.0056471601 - 1939800 0.0055067586 0.0027682873 0.0054356235 - 1939900 0.0065455323 0.0033076992 0.0064781914 - 1940000 0.0053260458 0.0031668298 0.0057466332 - 1940100 0.0060658146 0.0028141583 0.0057522872 - 1940200 0.004861609 0.0030469658 0.0054018076 - 1940300 0.0045965388 0.0029133561 0.0051398045 - 1940400 0.0055746211 0.0023386076 0.0050388147 - 1940500 0.0053054369 0.0026086981 0.0051785191 - 1940600 0.0049469713 0.0026270879 0.0050232772 - 1940700 0.0073131228 0.0026281287 0.0061704225 - 1940800 0.0057340298 0.0034515461 0.0062289668 - 1940900 0.0054200953 0.0037555634 0.006380922 - 1941000 0.0050114566 0.0035145699 0.0059419942 - 1941100 0.0051031051 0.0038370433 0.0063088599 - 1941200 0.0056213299 0.003051018 0.0057738497 - 1941300 0.0042591938 0.002214242 0.004277289 - 1941400 0.0050683016 0.00197035 0.0044253085 - 1941500 0.0055921772 0.0022729302 0.004981641 - 1941600 0.0054532024 0.0026669515 0.0053083464 - 1941700 0.004229918 0.0032548749 0.0053037414 - 1941800 0.0044327563 0.0034906228 0.0056377391 - 1941900 0.0035397855 0.0034378913 0.0051524749 - 1942000 0.0057764583 0.003051769 0.005849741 - 1942100 0.00584852 0.001951808 0.0047846849 - 1942200 0.0061820295 0.002008404 0.0050028245 - 1942300 0.0046054724 0.0020439559 0.0042747316 - 1942400 0.0046783306 0.001721521 0.0039875874 - 1942500 0.0047187825 0.0013562373 0.0036418976 - 1942600 0.004225412 0.0013194538 0.0033661378 - 1942700 0.0047390035 0.001702855 0.0039983099 - 1942800 0.0063852489 0.0020581977 0.0051510527 - 1942900 0.0072990447 0.0024291385 0.0059646133 - 1943000 0.0051055236 0.0027874513 0.0052604393 - 1943100 0.0046435015 0.0023104857 0.0045596817 - 1943200 0.005221346 0.0018046707 0.0043337602 - 1943300 0.0036142612 0.002299325 0.0040499827 - 1943400 0.0048541541 0.0023338744 0.0046851053 - 1943500 0.0049721139 0.0023489872 0.0047573549 - 1943600 0.0030748233 0.0022962563 0.0037856238 - 1943700 0.0060902698 0.0022079142 0.0051578887 - 1943800 0.0042415506 0.0024655797 0.0045200808 - 1943900 0.0072340449 0.0020574313 0.0055614218 - 1944000 0.0048654376 0.0018263065 0.0041830029 - 1944100 0.0058931848 0.0016884755 0.0045429869 - 1944200 0.0058376833 0.0021086764 0.0049363043 - 1944300 0.00670255 0.0027030243 0.005949572 - 1944400 0.0053105365 0.0027619885 0.0053342796 - 1944500 0.0046576407 0.0025227105 0.0047787552 - 1944600 0.0044275627 0.0024910502 0.0046356509 - 1944700 0.0039081971 0.0024563801 0.004349413 - 1944800 0.0067856214 0.0023488247 0.00563561 - 1944900 0.0062679911 0.0022805332 0.0053165913 - 1945000 0.0046928195 0.0025061738 0.0047792582 - 1945100 0.0061664891 0.0026098363 0.0055967294 - 1945200 0.006403695 0.0028400443 0.005941834 - 1945300 0.004229117 0.002875805 0.0049242835 - 1945400 0.0046124379 0.0024872674 0.004721417 - 1945500 0.0048660062 0.002341422 0.0046983937 - 1945600 0.0069100343 0.0018903704 0.0052374183 - 1945700 0.0054406872 0.0018558797 0.0044912126 - 1945800 0.0051933832 0.0022146238 0.0047301688 - 1945900 0.0043490338 0.0022164891 0.0043230524 - 1946000 0.0051359415 0.0023136442 0.0048013658 - 1946100 0.004122937 0.0025921725 0.0045892201 - 1946200 0.006126726 0.0026184607 0.0055860936 - 1946300 0.0039062862 0.0028544052 0.0047465126 - 1946400 0.005340179 0.0021231339 0.0047097831 - 1946500 0.0036686247 0.0019464465 0.0037234366 - 1946600 0.0037921734 0.0021007238 0.0039375578 - 1946700 0.0048521136 0.0023237361 0.0046739786 - 1946800 0.0060773084 0.0023604375 0.0053041338 - 1946900 0.0052423486 0.0026466873 0.0051859499 - 1947000 0.0056478166 0.0025523781 0.0052880393 - 1947100 0.0037777268 0.002504245 0.0043340814 - 1947200 0.0058944753 0.0019920139 0.0048471504 - 1947300 0.0059018557 0.0019559148 0.0048146262 - 1947400 0.0044774371 0.0022865131 0.0044552717 - 1947500 0.0042407296 0.0020979631 0.0041520665 - 1947600 0.0044003475 0.0019552981 0.0040867165 - 1947700 0.0049184074 0.0017671576 0.0041495112 - 1947800 0.0053858012 0.0022150025 0.0048237499 - 1947900 0.0045053646 0.0026767257 0.0048590117 - 1948000 0.0057015541 0.0028304549 0.0055921452 - 1948100 0.0048878011 0.0030133628 0.0053808914 - 1948200 0.0045995604 0.00275435 0.0049822621 - 1948300 0.0061863108 0.0020682125 0.0050647068 - 1948400 0.0047053495 0.0019027405 0.0041818942 - 1948500 0.0056574493 0.0018808563 0.0046211833 - 1948600 0.0043424087 0.0017054533 0.0038088075 - 1948700 0.0036941868 0.0016916969 0.0034810686 - 1948800 0.0046643107 0.0018233496 0.0040826251 - 1948900 0.004245351 0.002092464 0.0041488059 - 1949000 0.0051737056 0.0023156868 0.0048217004 - 1949100 0.0040125219 0.0019632255 0.0039067909 - 1949200 0.004545149 0.0018821053 0.0040836619 - 1949300 0.0042895754 0.002108772 0.0041865351 - 1949400 0.0044568842 0.0022550226 0.0044138259 - 1949500 0.0071234752 0.0019165951 0.0053670284 - 1949600 0.0044078021 0.0019558641 0.0040908932 - 1949700 0.0050184235 0.0022647281 0.0046955269 - 1949800 0.0062543112 0.0019890647 0.0050184967 - 1949900 0.0037023066 0.0022014401 0.0039947449 - 1950000 0.005205802 0.0026722163 0.0051937767 - 1950100 0.0062757341 0.0023461744 0.0053859831 - 1950200 0.0053392283 0.0024609231 0.0050471118 - 1950300 0.0050500492 0.0027583698 0.0052044874 - 1950400 0.0048527877 0.0029634688 0.0053140378 - 1950500 0.0059871412 0.0030138878 0.0059139094 - 1950600 0.0063337428 0.0030210892 0.0060889959 - 1950700 0.0052009124 0.0028439915 0.0053631834 - 1950800 0.0050981704 0.0027103311 0.0051797574 - 1950900 0.0046691958 0.0024165827 0.0046782244 - 1951000 0.0048146308 0.0019532869 0.0042853737 - 1951100 0.0040043118 0.0020571328 0.0039967213 - 1951200 0.0049136297 0.0016102402 0.0039902796 - 1951300 0.0042424684 0.0017435179 0.0037984635 - 1951400 0.0041242976 0.0023624454 0.0043601521 - 1951500 0.0059726382 0.0025834822 0.0054764788 - 1951600 0.0064972755 0.0029821422 0.00612926 - 1951700 0.0057475002 0.0023183776 0.0051023231 - 1951800 0.0049042964 0.0019548835 0.004330402 - 1951900 0.0063046391 0.0021516686 0.0052054782 - 1952000 0.0043589469 0.0020502277 0.0041615925 - 1952100 0.0060783123 0.0018799987 0.0048241812 - 1952200 0.0034716945 0.0021824738 0.0038640758 - 1952300 0.0043714133 0.0021782343 0.0042956377 - 1952400 0.005280284 0.0018900586 0.0044476962 - 1952500 0.0058664125 0.0021985672 0.0050401108 - 1952600 0.0042244821 0.0024977711 0.0045440047 - 1952700 0.0064310181 0.0020445623 0.0051595867 - 1952800 0.0049710797 0.0020274326 0.0044352993 - 1952900 0.0045028085 0.0026314385 0.0048124864 - 1953000 0.0065371642 0.0025942498 0.0057606887 - 1953100 0.0066682662 0.0022420747 0.0054720162 - 1953200 0.0036052339 0.0024522868 0.004198572 - 1953300 0.0045946949 0.002378023 0.0046035784 - 1953400 0.00477614 0.0022333381 0.0045467808 - 1953500 0.0040442534 0.0021303665 0.0040893018 - 1953600 0.0052815992 0.0019285515 0.0044868261 - 1953700 0.0046030948 0.0025816278 0.0048112519 - 1953800 0.0053124367 0.0020846826 0.0046578941 - 1953900 0.0051696366 0.0018757677 0.0043798105 - 1954000 0.0074818305 0.0014708889 0.0050949005 - 1954100 0.0059830439 0.0016951194 0.0045931564 - 1954200 0.0041130165 0.0025104363 0.0045026787 - 1954300 0.0040806888 0.0028807755 0.0048573591 - 1954400 0.0058569486 0.0024426199 0.0052795793 - 1954500 0.0047748605 0.0023312931 0.0046441162 - 1954600 0.0063299726 0.0019907943 0.0050568748 - 1954700 0.0038749232 0.0023362223 0.0042131383 - 1954800 0.0044083974 0.0022677487 0.0044030662 - 1954900 0.0041749586 0.002575238 0.0045974836 - 1955000 0.0058547472 0.0026503823 0.0054862754 - 1955100 0.0054735005 0.0028547051 0.0055059319 - 1955200 0.0066110264 0.0029907507 0.0061929666 - 1955300 0.0052371692 0.0024268348 0.0049635886 - 1955400 0.0060137026 0.0022200104 0.0051328976 - 1955500 0.0053590747 0.0020125439 0.0046083457 - 1955600 0.0057942961 0.001829265 0.0046358772 - 1955700 0.0045069836 0.002064399 0.0042474692 - 1955800 0.0028633332 0.0020570509 0.003443978 - 1955900 0.0053245287 0.0014843542 0.0040634228 - 1956000 0.0045233484 0.0013945085 0.0035855054 - 1956100 0.0063744112 0.0014166444 0.0045042498 - 1956200 0.0059571462 0.001880113 0.0047656057 - 1956300 0.0049583954 0.0019016454 0.0043033681 - 1956400 0.0044204734 0.0019897976 0.0041309644 - 1956500 0.0047831875 0.002014239 0.0043310954 - 1956600 0.0041055149 0.0021437387 0.0041323475 - 1956700 0.0060120835 0.0022461659 0.0051582688 - 1956800 0.0048176935 0.0023105859 0.0046441562 - 1956900 0.0059918734 0.0020323519 0.0049346656 - 1957000 0.005097943 0.0022913868 0.0047607029 - 1957100 0.0052188959 0.002353474 0.0048813767 - 1957200 0.0052832082 0.0023753953 0.0049344492 - 1957300 0.0077135131 0.0020369698 0.0057732026 - 1957400 0.0061879307 0.0023980093 0.0053952883 - 1957500 0.0064158669 0.0027847931 0.0058924787 - 1957600 0.0055844273 0.0027947956 0.0054997526 - 1957700 0.0042443174 0.0024245732 0.0044804144 - 1957800 0.0044602389 0.0026513851 0.0048118133 - 1957900 0.006158813 0.0025421013 0.0055252763 - 1958000 0.0058279682 0.0020623481 0.0048852702 - 1958100 0.0040183032 0.0017615936 0.0037079592 - 1958200 0.0038416156 0.0017925673 0.0036533498 - 1958300 0.0047622324 0.0022769038 0.0045836102 - 1958400 0.0057673987 0.0027548794 0.0055484631 - 1958500 0.0058256668 0.0026797272 0.0055015346 - 1958600 0.005606342 0.0028425703 0.0055581422 - 1958700 0.0044018962 0.0031474432 0.0052796116 - 1958800 0.0068361448 0.0027510618 0.0060623194 - 1958900 0.005956803 0.0025557482 0.0054410746 - 1959000 0.0048196335 0.0024561714 0.0047906813 - 1959100 0.0045024429 0.0018525584 0.0040334292 - 1959200 0.0065321431 0.0019178471 0.0050818539 - 1959300 0.0039865123 0.0028774845 0.0048084514 - 1959400 0.0049732963 0.0032274365 0.0056363769 - 1959500 0.0044303743 0.003034413 0.0051803755 - 1959600 0.0059748838 0.0026355566 0.0055296409 - 1959700 0.0045669359 0.0025639432 0.0047760528 - 1959800 0.0056174681 0.0021286715 0.0048496326 - 1959900 0.0039787854 0.0018230644 0.0037502885 - 1960000 0.0043702883 0.0018197585 0.0039366169 - 1960100 0.0046717617 0.0021029098 0.0043657944 - 1960200 0.0039060418 0.0020744119 0.0039664009 - 1960300 0.0052645547 0.0021146997 0.0046647185 - 1960400 0.0045274298 0.001894392 0.0040873659 - 1960500 0.0049449777 0.0021133084 0.0045085319 - 1960600 0.0052554633 0.0021001547 0.0046457697 - 1960700 0.0049222083 0.0023657313 0.004749926 - 1960800 0.0046527356 0.0023075766 0.0045612454 - 1960900 0.0052869775 0.0020636233 0.0046245031 - 1961000 0.0035849838 0.0022292553 0.0039657318 - 1961100 0.0040996707 0.0025924621 0.00457824 - 1961200 0.0048480842 0.0019968839 0.0043451747 - 1961300 0.0043836429 0.0015766238 0.0036999508 - 1961400 0.005134109 0.0019508331 0.0044376671 - 1961500 0.0063223401 0.0023485514 0.0054109349 - 1961600 0.0056617193 0.0028739577 0.0056163529 - 1961700 0.0061104913 0.0028711164 0.0058308857 - 1961800 0.0039069593 0.0023706876 0.004263121 - 1961900 0.0056807574 0.002436064 0.0051876808 - 1962000 0.0039953676 0.0029453362 0.0048805924 - 1962100 0.0037230502 0.0026018508 0.0044052032 - 1962200 0.0038795071 0.0027216413 0.0046007776 - 1962300 0.0071768405 0.0023816472 0.0058579293 - 1962400 0.005405101 0.0026084756 0.0052265714 - 1962500 0.0041673234 0.0028148603 0.0048334076 - 1962600 0.004989111 0.0025712547 0.0049878554 - 1962700 0.0033936847 0.0024234008 0.0040672168 - 1962800 0.005146328 0.0024292192 0.0049219718 - 1962900 0.0062139592 0.0025410084 0.0055508949 - 1963000 0.0048856918 0.0024715717 0.0048380787 - 1963100 0.0048877481 0.0025687031 0.0049362061 - 1963200 0.0061600113 0.0027488979 0.0057326533 - 1963300 0.0051668485 0.0031212801 0.0056239723 - 1963400 0.004796229 0.0033849079 0.0057080813 - 1963500 0.0064901499 0.0027465439 0.0058902102 - 1963600 0.0049995249 0.0026733202 0.005094965 - 1963700 0.0060694867 0.0024461418 0.0053860494 - 1963800 0.0044389899 0.0024379986 0.0045881344 - 1963900 0.0041192671 0.0024972757 0.0044925457 - 1964000 0.0044731595 0.0020981707 0.0042648573 - 1964100 0.0061553204 0.0018181885 0.0047996718 - 1964200 0.0041696274 0.0017188646 0.0037385279 - 1964300 0.0035611192 0.0015705621 0.0032954792 - 1964400 0.0035782927 0.0019167752 0.0036500107 - 1964500 0.0056158655 0.0022641806 0.0049843654 - 1964600 0.0041059066 0.0023263417 0.0043151402 - 1964700 0.0038937764 0.0024393851 0.004325433 - 1964800 0.0069307578 0.0025497371 0.0059068229 - 1964900 0.0053878812 0.0027493608 0.0053591157 - 1965000 0.0064602479 0.0025418261 0.0056710086 - 1965100 0.0050866897 0.002606692 0.0050705573 - 1965200 0.0055577587 0.0026632069 0.0053552462 - 1965300 0.0053032321 0.0027575158 0.0053262688 - 1965400 0.0054482398 0.0025362095 0.0051752007 - 1965500 0.0058227454 0.0020405503 0.0048609426 - 1965600 0.0068704891 0.0024043677 0.0057322609 - 1965700 0.0068144301 0.0027667175 0.0060674571 - 1965800 0.0040656864 0.0024551339 0.0044244507 - 1965900 0.0063331825 0.0021690624 0.0052366976 - 1966000 0.0059347292 0.0022528503 0.0051274848 - 1966100 0.0038014443 0.002395169 0.0042364936 - 1966200 0.0051626019 0.002402328 0.0049029633 - 1966300 0.0055720666 0.0024380918 0.0051370616 - 1966400 0.0045167335 0.0020777425 0.0042655352 - 1966500 0.0051957139 0.0018010772 0.0043177511 - 1966600 0.0037150002 0.0020400365 0.0038394897 - 1966700 0.0041872098 0.0021180504 0.0041462302 - 1966800 0.00465358 0.0021848257 0.0044389035 - 1966900 0.0062002548 0.0027371496 0.0057403981 - 1967000 0.0057532758 0.0025965471 0.0053832901 - 1967100 0.0061909045 0.0026552122 0.0056539315 - 1967200 0.0058882778 0.0021289476 0.0049810822 - 1967300 0.0048178375 0.0021041628 0.0044378028 - 1967400 0.0047987529 0.0023754572 0.0046998532 - 1967500 0.0047794899 0.0022176643 0.0045327297 - 1967600 0.0044560078 0.0025284402 0.004686819 - 1967700 0.0046207226 0.0029978622 0.0052360248 - 1967800 0.0045441823 0.0027242031 0.0049252913 - 1967900 0.0042010496 0.0025077714 0.0045426548 - 1968000 0.0051831559 0.0015424749 0.0040530661 - 1968100 0.0044980132 0.0015126516 0.0036913768 - 1968200 0.0052936774 0.0019109596 0.0044750846 - 1968300 0.0054982661 0.0023438293 0.0050070519 - 1968400 0.0052859491 0.0022122354 0.004772617 - 1968500 0.0063679749 0.0020335453 0.0051180331 - 1968600 0.0059179053 0.0020508671 0.0049173525 - 1968700 0.0061646476 0.0020515531 0.0050375543 - 1968800 0.0055456491 0.002212246 0.0048984198 - 1968900 0.0036189282 0.0026052277 0.004358146 - 1969000 0.0055062192 0.002573247 0.0052403219 - 1969100 0.0043925083 0.0021020917 0.0042297129 - 1969200 0.0051957778 0.0021091525 0.0046258573 - 1969300 0.0059397662 0.0019518892 0.0048289634 - 1969400 0.0042516611 0.0019568573 0.0040162556 - 1969500 0.0056378026 0.0019161023 0.004646913 - 1969600 0.0056264339 0.0022012944 0.0049265983 - 1969700 0.0045997285 0.0025249533 0.0047529468 - 1969800 0.0062267986 0.002665873 0.0056819786 - 1969900 0.0049730875 0.0029549784 0.0053638176 - 1970000 0.0064854485 0.0030570939 0.0061984831 - 1970100 0.0080774649 0.0027469063 0.0066594283 - 1970200 0.0043251534 0.0025904999 0.0046854961 - 1970300 0.0062825382 0.0027827784 0.0058258829 - 1970400 0.004528342 0.0031298734 0.0053232891 - 1970500 0.0056682583 0.0029247608 0.0056703235 - 1970600 0.0057537252 0.0027874039 0.0055743646 - 1970700 0.0047225525 0.0025042377 0.0047917241 - 1970800 0.0053366631 0.0023905823 0.0049755285 - 1970900 0.0089082225 0.0027393317 0.007054252 - 1971000 0.0049441819 0.003062321 0.0054571591 - 1971100 0.0054766257 0.0032058845 0.005858625 - 1971200 0.0042832485 0.0030911895 0.005165888 - 1971300 0.0042925749 0.0027016 0.0047808159 - 1971400 0.0042251995 0.0026380988 0.0046846798 - 1971500 0.0057608068 0.0023601876 0.0051505784 - 1971600 0.0048267975 0.0021694997 0.0045074797 - 1971700 0.0036845697 0.002277363 0.0040620765 - 1971800 0.0040564366 0.0025434426 0.0045082791 - 1971900 0.0053801013 0.0030542676 0.0056602542 - 1972000 0.0049635061 0.0031348497 0.005539048 - 1972100 0.0052640529 0.0029293056 0.0054790813 - 1972200 0.0044742313 0.0026739334 0.0048411392 - 1972300 0.0056218147 0.0023577961 0.0050808626 - 1972400 0.0037431127 0.0024419225 0.0042549927 - 1972500 0.005060015 0.0025287977 0.0049797425 - 1972600 0.004866404 0.0028103724 0.0051675368 - 1972700 0.0040923386 0.0028180666 0.0048002931 - 1972800 0.0052979951 0.0026281261 0.0051943425 - 1972900 0.0046227859 0.0026969517 0.0049361136 - 1973000 0.0043350752 0.0023557858 0.0044555878 - 1973100 0.0039664036 0.0028230566 0.0047442833 - 1973200 0.0053598809 0.0029705491 0.0055667414 - 1973300 0.0052497984 0.0029784724 0.0055213435 - 1973400 0.0047805678 0.0027277293 0.0050433169 - 1973500 0.0054698797 0.002779874 0.0054293469 - 1973600 0.0067283504 0.0023810291 0.0056400738 - 1973700 0.0041397623 0.0026570758 0.0046622731 - 1973800 0.0036262128 0.0029934372 0.0047498841 - 1973900 0.006031899 0.003181333 0.0061030341 - 1974000 0.0063327192 0.0033460501 0.006413461 - 1974100 0.0052555677 0.0031859296 0.0057315952 - 1974200 0.005185452 0.0031881479 0.0056998512 - 1974300 0.0061520968 0.0032340787 0.0062140006 - 1974400 0.0060844363 0.0031463562 0.006093505 - 1974500 0.0054164261 0.0030716635 0.0056952449 - 1974600 0.0054331191 0.0029142453 0.0055459123 - 1974700 0.0074740317 0.0022399864 0.0058602206 - 1974800 0.0060482682 0.0025337519 0.0054633817 - 1974900 0.0050154909 0.0027719504 0.0052013288 - 1975000 0.0045335664 0.0030395025 0.0052354487 - 1975100 0.0046638217 0.0028020992 0.0050611378 - 1975200 0.004873034 0.002848826 0.0052092018 - 1975300 0.0042910303 0.002913311 0.0049917787 - 1975400 0.0051556367 0.0031093931 0.0056066547 - 1975500 0.0040694394 0.0030316112 0.0050027459 - 1975600 0.0058378983 0.002423874 0.005251606 - 1975700 0.0053371129 0.0021502419 0.004735406 - 1975800 0.0070446923 0.0021047481 0.0055170209 - 1975900 0.006559973 0.0023314058 0.0055088927 - 1976000 0.0052979827 0.0023618796 0.00492809 - 1976100 0.0045817236 0.0026409467 0.0048602191 - 1976200 0.004473997 0.0024717308 0.0046388231 - 1976300 0.0037308915 0.0021052169 0.0039123675 - 1976400 0.0050736595 0.0021350389 0.0045925927 - 1976500 0.0047211873 0.0026576123 0.0049444374 - 1976600 0.0051823742 0.002915772 0.0054259845 - 1976700 0.0055667224 0.0029714565 0.0056678377 - 1976800 0.0038088425 0.0026669281 0.0045118362 - 1976900 0.0052066277 0.0022477273 0.0047696876 - 1977000 0.0042668185 0.0028161513 0.0048828915 - 1977100 0.0040233428 0.0032010428 0.0051498494 - 1977200 0.0059016387 0.0025410678 0.0053996741 - 1977300 0.0060788044 0.0025806854 0.0055251063 - 1977400 0.0062889813 0.0028776728 0.0059238981 - 1977500 0.0032107879 0.003219768 0.0047749934 - 1977600 0.0048271814 0.0031008448 0.0054390108 - 1977700 0.0039721478 0.0031140292 0.0050380383 - 1977800 0.0049130448 0.0027406432 0.0051203993 - 1977900 0.0039220526 0.0026374838 0.004537228 - 1978000 0.0049530761 0.0026458429 0.0050449892 - 1978100 0.0058477313 0.0027040842 0.0055365791 - 1978200 0.0046354224 0.0029584259 0.0052037086 - 1978300 0.005457118 0.0031401241 0.0057834156 - 1978400 0.0043750854 0.0035560459 0.0056752279 - 1978500 0.0050376813 0.0029973742 0.0054375011 - 1978600 0.0055113232 0.0025874049 0.005256952 - 1978700 0.0048874684 0.0028211325 0.0051885 - 1978800 0.004561218 0.0030247895 0.0052341295 - 1978900 0.004649609 0.0029502179 0.0052023723 - 1979000 0.0061386174 0.0029548338 0.0059282266 - 1979100 0.0043850939 0.0030199504 0.0051439803 - 1979200 0.0059819611 0.0027335317 0.0056310441 - 1979300 0.0048187475 0.0027734638 0.0051075446 - 1979400 0.0045799377 0.0029437671 0.0051621745 - 1979500 0.005523774 0.0024135131 0.0050890911 - 1979600 0.0040420342 0.0019942777 0.003952138 - 1979700 0.0057359773 0.0017813829 0.0045597469 - 1979800 0.0042200444 0.0023567126 0.0044007966 - 1979900 0.0051318171 0.0028423141 0.005328038 - 1980000 0.0064015161 0.0024439437 0.0055446781 - 1980100 0.0053352823 0.0025956758 0.0051799532 - 1980200 0.0050231942 0.002769345 0.0052024547 - 1980300 0.006619252 0.0020366298 0.00524283 - 1980400 0.0062049134 0.0018875618 0.0048930668 - 1980500 0.0051416895 0.0021138048 0.0046043107 - 1980600 0.0052995442 0.0028344629 0.0054014297 - 1980700 0.0056324243 0.0026775714 0.0054057769 - 1980800 0.0070507367 0.0029468265 0.0063620271 - 1980900 0.0048590894 0.0028670738 0.0052206952 - 1981000 0.0043643056 0.0030986563 0.0052126168 - 1981100 0.0059884883 0.0028801275 0.0057808015 - 1981200 0.0052383865 0.0025165771 0.0050539206 - 1981300 0.0042253591 0.0024423829 0.0044890413 - 1981400 0.0041889244 0.0027406088 0.0047696191 - 1981500 0.0042360903 0.003124121 0.0051759772 - 1981600 0.0055854364 0.0025034131 0.0052088588 - 1981700 0.0060298884 0.0023962616 0.0053169888 - 1981800 0.0051099318 0.0029115977 0.0053867209 - 1981900 0.007432557 0.0031682516 0.0067683964 - 1982000 0.0051651015 0.0027414071 0.0052432531 - 1982100 0.0031482323 0.0023919215 0.0039168466 - 1982200 0.0050324706 0.0019992191 0.004436822 - 1982300 0.0045776837 0.0022314753 0.0044487909 - 1982400 0.0050757808 0.0025842099 0.0050427912 - 1982500 0.0038937605 0.0025762614 0.0044623017 - 1982600 0.0048099064 0.0020768117 0.0044066102 - 1982700 0.0048078708 0.0020836694 0.0044124818 - 1982800 0.0038340538 0.0027345713 0.0045916911 - 1982900 0.0046449049 0.0026494406 0.0048993164 - 1983000 0.0055783579 0.0021691463 0.0048711634 - 1983100 0.0047203041 0.0019030225 0.0041894198 - 1983200 0.0055060166 0.0022998265 0.0049668032 - 1983300 0.0055737916 0.0024850769 0.0051848822 - 1983400 0.0050966465 0.0024651767 0.0049338649 - 1983500 0.0034818344 0.0028266297 0.0045131432 - 1983600 0.0059945363 0.0026177563 0.0055213598 - 1983700 0.004267897 0.0022676125 0.0043348751 - 1983800 0.0056603714 0.0022174523 0.0049591946 - 1983900 0.0051517181 0.0022974572 0.0047928206 - 1984000 0.0051474378 0.0025681994 0.0050614896 - 1984100 0.005460167 0.0024815444 0.0051263129 - 1984200 0.0054376744 0.0018492774 0.0044831509 - 1984300 0.0055410768 0.0018767829 0.004560742 - 1984400 0.0050647983 0.0021000771 0.0045533388 - 1984500 0.0043126595 0.0030772223 0.0051661667 - 1984600 0.0037685928 0.0029275743 0.0047529864 - 1984700 0.0081352754 0.0023483682 0.0062888923 - 1984800 0.0057769913 0.0024488912 0.0052471214 - 1984900 0.004978804 0.001879708 0.0042913162 - 1985000 0.0048145303 0.0016232973 0.0039553354 - 1985100 0.0051224975 0.0016960054 0.0041772151 - 1985200 0.0069831704 0.0019689625 0.0053514357 - 1985300 0.0060294024 0.002259717 0.0051802088 - 1985400 0.0057887876 0.0023596115 0.0051635555 - 1985500 0.005588287 0.0019500888 0.0046569153 - 1985600 0.0056547797 0.0018248935 0.0045639275 - 1985700 0.0033519597 0.0015875152 0.0032111206 - 1985800 0.0047733698 0.0019011104 0.0042132115 - 1985900 0.0049710853 0.0020709354 0.0044788048 - 1986000 0.0051061302 0.0020213273 0.0044946091 - 1986100 0.0054134899 0.0021487742 0.0047709334 - 1986200 0.0040267681 0.002647106 0.0045975718 - 1986300 0.0043519756 0.0028408882 0.0049488764 - 1986400 0.0067032628 0.0024620465 0.0057089395 - 1986500 0.005056597 0.0022323524 0.0046816416 - 1986600 0.0051228808 0.0019012453 0.0043826406 - 1986700 0.0058110347 0.0019400205 0.0047547404 - 1986800 0.0050110146 0.002240595 0.0046678052 - 1986900 0.005864026 0.0020852965 0.0049256841 - 1987000 0.0056545357 0.0017174938 0.0044564095 - 1987100 0.0056803806 0.0017661794 0.0045176137 - 1987200 0.0062633742 0.0024604312 0.0054942531 - 1987300 0.0054471498 0.0024218447 0.0050603078 - 1987400 0.0044758873 0.0021148092 0.0042828171 - 1987500 0.0051304638 0.0026949514 0.0051800198 - 1987600 0.0033567354 0.0028827272 0.0045086459 - 1987700 0.0057063021 0.0026394497 0.0054034398 - 1987800 0.0046798921 0.0024753942 0.004742217 - 1987900 0.0054774371 0.0019866846 0.0046398182 - 1988000 0.0050890975 0.0021466774 0.004611709 - 1988100 0.0038729382 0.0023440655 0.0042200199 - 1988200 0.0055760036 0.0018172397 0.0045181165 - 1988300 0.0047048483 0.0017158983 0.0039948092 - 1988400 0.0046541239 0.0018986344 0.0041529757 - 1988500 0.0042934389 0.0021489599 0.0042285943 - 1988600 0.0047159057 0.0027011784 0.0049854453 - 1988700 0.005847541 0.0027889251 0.0056213278 - 1988800 0.004829912 0.0025011755 0.0048406641 - 1988900 0.0056956836 0.0020999981 0.0048588448 - 1989000 0.0047076006 0.0022881468 0.0045683908 - 1989100 0.005091665 0.0021371748 0.0046034501 - 1989200 0.004117067 0.0018519146 0.0038461189 - 1989300 0.0060880931 0.0015364795 0.0044853996 - 1989400 0.0035161215 0.0018072419 0.0035103633 - 1989500 0.0043151298 0.0020787266 0.0041688676 - 1989600 0.0052430814 0.002514277 0.0050538946 - 1989700 0.0043809065 0.0025939534 0.0047159549 - 1989800 0.0041960335 0.0025453096 0.0045777634 - 1989900 0.0039563302 0.0026856849 0.0046020323 - 1990000 0.0057348699 0.0022228385 0.0050006661 - 1990100 0.0047898563 0.0022843105 0.0046043972 - 1990200 0.0051976815 0.0025090598 0.0050266868 - 1990300 0.0050077625 0.0023855288 0.0048111637 - 1990400 0.0053204764 0.0023640181 0.0049411239 - 1990500 0.0052841198 0.0020073376 0.0045668331 - 1990600 0.0053451514 0.0018676685 0.0044567262 - 1990700 0.0033328477 0.0019433734 0.0035577215 - 1990800 0.0044006934 0.0019865754 0.0041181613 - 1990900 0.0050452301 0.0020408853 0.0044846686 - 1991000 0.0065300025 0.0023365408 0.0054995107 - 1991100 0.0051928278 0.0024265468 0.0049418228 - 1991200 0.0053469544 0.0028286653 0.0054185964 - 1991300 0.0034592909 0.0029405703 0.0046161643 - 1991400 0.0057569225 0.002730733 0.0055192423 - 1991500 0.0057598209 0.002308152 0.0050980653 - 1991600 0.005152249 0.0025708244 0.005066445 - 1991700 0.0044006429 0.0029145105 0.0050460719 - 1991800 0.0053758242 0.0030241416 0.0056280565 - 1991900 0.0049695684 0.0032815402 0.0056886749 - 1992000 0.0055769618 0.0034554958 0.0061568366 - 1992100 0.0059583852 0.0032399942 0.006126087 - 1992200 0.0046716994 0.002824056 0.0050869104 - 1992300 0.0048192819 0.0025829998 0.0049173394 - 1992400 0.0038993345 0.002542284 0.0044310241 - 1992500 0.0058376134 0.0024547601 0.0052823541 - 1992600 0.0060848393 0.0020066323 0.0049539764 - 1992700 0.0052477907 0.0020321311 0.0045740297 - 1992800 0.005249679 0.0025529926 0.0050958058 - 1992900 0.0053727672 0.0029005984 0.0055030325 - 1993000 0.0052625154 0.002932028 0.0054810588 - 1993100 0.0047142363 0.0029994144 0.0052828727 - 1993200 0.0053191154 0.0028774698 0.0054539163 - 1993300 0.0048289049 0.0025951217 0.0049341224 - 1993400 0.0076168859 0.0025009687 0.0061903978 - 1993500 0.0039761104 0.0032317131 0.0051576416 - 1993600 0.0044341498 0.0032938349 0.0054416262 - 1993700 0.0044275168 0.0031057684 0.0052503469 - 1993800 0.0075731693 0.0026348982 0.0063031521 - 1993900 0.0038286962 0.0026274942 0.0044820189 - 1994000 0.0050633462 0.0021650901 0.0046176484 - 1994100 0.0056199345 0.0020324649 0.0047546207 - 1994200 0.0048056788 0.0024693387 0.0047970894 - 1994300 0.006459677 0.0024678261 0.0055967322 - 1994400 0.0053801503 0.0024082668 0.0050142771 - 1994500 0.0048374889 0.0022730389 0.0046161976 - 1994600 0.0071441213 0.0018187729 0.0052792067 - 1994700 0.0064209046 0.0015227998 0.0046329255 - 1994800 0.0059406221 0.0016856726 0.0045631614 - 1994900 0.0045269071 0.0019621556 0.0041548762 - 1995000 0.0052455402 0.0020446714 0.0045854799 - 1995100 0.0042616975 0.00222956 0.0042938197 - 1995200 0.0039930582 0.0022136127 0.0041477503 - 1995300 0.0041277274 0.0018235115 0.0038228795 - 1995400 0.0050126134 0.0016191577 0.0040471423 - 1995500 0.0051791589 0.0019933343 0.0045019894 - 1995600 0.0063261234 0.0020172697 0.0050814857 - 1995700 0.0040529898 0.0017794217 0.0037425886 - 1995800 0.004570197 0.0017709365 0.0039846257 - 1995900 0.0054443845 0.0021039712 0.0047410949 - 1996000 0.0065881402 0.0020022043 0.0051933347 - 1996100 0.0047293703 0.0021049099 0.0043956986 - 1996200 0.0058157538 0.002259823 0.0050768287 - 1996300 0.0040998142 0.0023433742 0.0043292217 - 1996400 0.0052792745 0.0026857358 0.0052428843 - 1996500 0.0044951832 0.0025509056 0.00472826 - 1996600 0.0066010422 0.0021231854 0.0053205652 - 1996700 0.0038160025 0.0020482724 0.0038966486 - 1996800 0.0039766657 0.0021095955 0.0040357929 - 1996900 0.0044950258 0.002243618 0.0044208961 - 1997000 0.0045608723 0.0024545671 0.0046637396 - 1997100 0.005528286 0.0025390388 0.0052168023 - 1997200 0.0045379632 0.0023606972 0.0045587731 - 1997300 0.004636872 0.0025142273 0.0047602122 - 1997400 0.0053189046 0.0027464507 0.0053227951 - 1997500 0.0048530074 0.002783892 0.0051345675 - 1997600 0.0057274054 0.0021685357 0.0049427477 - 1997700 0.0038524705 0.0019583496 0.00382439 - 1997800 0.0051296654 0.0022335132 0.0047181949 - 1997900 0.0051018744 0.0027812269 0.0052524473 - 1998000 0.0047275885 0.0028043102 0.0050942359 - 1998100 0.0070847667 0.0019055429 0.0053372267 - 1998200 0.0065207742 0.0018082562 0.0049667562 - 1998300 0.0061191428 0.0020378316 0.0050017913 - 1998400 0.0063659105 0.0026460546 0.0057295425 - 1998500 0.0043373725 0.0027045125 0.0048054273 - 1998600 0.0048756101 0.0024999167 0.0048615404 - 1998700 0.0046508855 0.0023965866 0.0046493593 - 1998800 0.0062661518 0.0022217336 0.0052569009 - 1998900 0.0061555738 0.0023546222 0.0053362283 - 1999000 0.0043069574 0.0024786217 0.0045648042 - 1999100 0.0055141568 0.0028549884 0.0055259081 - 1999200 0.0034372635 0.0027990632 0.0044639877 - 1999300 0.0048351937 0.0023526277 0.0046946746 - 1999400 0.0057087851 0.0020335116 0.0047987044 - 1999500 0.0033912965 0.0023030393 0.0039456986 - 1999600 0.0054813169 0.0023096891 0.004964702 - 1999700 0.0048389727 0.0021943385 0.0045382159 - 1999800 0.0059277298 0.0020055057 0.0048767498 - 1999900 0.0059290305 0.002299977 0.0051718512 - 2000000 0.0047343315 0.0026625608 0.0049557526 -Loop time of 36.7413 on 1 procs for 2000000 steps with 64 atoms - -Pair time (%) = 0 (0) -Bond time (%) = 6.21948 (16.9278) -Neigh time (%) = 3.63757 (9.9005) -Comm time (%) = 3.27223 (8.90612) -Outpt time (%) = 2.95884 (8.05317) -Other time (%) = 20.6532 (56.2125) - -Nlocal: 64 ave 64 max 64 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 4 ave 4 max 4 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 6 -Neighbor list builds = 2000000 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/phonon.bin.2000000 b/examples/PACKAGES/phonon/2-1D-diatomic/phonon.bin.2000000 deleted file mode 100644 index e68a1d56d4..0000000000 Binary files a/examples/PACKAGES/phonon/2-1D-diatomic/phonon.bin.2000000 and /dev/null differ diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/phonon.log b/examples/PACKAGES/phonon/2-1D-diatomic/phonon.log deleted file mode 100644 index 86c0a385ce..0000000000 --- a/examples/PACKAGES/phonon/2-1D-diatomic/phonon.log +++ /dev/null @@ -1,206 +0,0 @@ -############################################################ -# group name of the atoms under study : all -# total number of atoms in the group : 64 -# dimension of the system : 1 D -# number of atoms per unit cell : 2 -# dimension of the FFT mesh : 32 x 1 x 1 -# number of wait steps before measurement : 500000 -# frequency of the measurement : 10 -# output result after this many measurement: 50000 -# number of processors used by this run : 1 -############################################################ -# mapping information between lattice index and atom id -# nx ny nz nucell -32 1 1 2 -# l1 l2 l3 k atom_id -0 0 0 0 1 -0 0 0 1 2 -1 0 0 0 3 -1 0 0 1 4 -2 0 0 0 5 -2 0 0 1 6 -3 0 0 0 7 -3 0 0 1 8 -4 0 0 0 9 -4 0 0 1 10 -5 0 0 0 11 -5 0 0 1 12 -6 0 0 0 13 -6 0 0 1 14 -7 0 0 0 15 -7 0 0 1 16 -8 0 0 0 17 -8 0 0 1 18 -9 0 0 0 19 -9 0 0 1 20 -10 0 0 0 21 -10 0 0 1 22 -11 0 0 0 23 -11 0 0 1 24 -12 0 0 0 25 -12 0 0 1 26 -13 0 0 0 27 -13 0 0 1 28 -14 0 0 0 29 -14 0 0 1 30 -15 0 0 0 31 -15 0 0 1 32 -16 0 0 0 33 -16 0 0 1 34 -17 0 0 0 35 -17 0 0 1 36 -18 0 0 0 37 -18 0 0 1 38 -19 0 0 0 39 -19 0 0 1 40 -20 0 0 0 41 -20 0 0 1 42 -21 0 0 0 43 -21 0 0 1 44 -22 0 0 0 45 -22 0 0 1 46 -23 0 0 0 47 -23 0 0 1 48 -24 0 0 0 49 -24 0 0 1 50 -25 0 0 0 51 -25 0 0 1 52 -26 0 0 0 53 -26 0 0 1 54 -27 0 0 0 55 -27 0 0 1 56 -28 0 0 0 57 -28 0 0 1 58 -29 0 0 0 59 -29 0 0 1 60 -30 0 0 0 61 -30 0 0 1 62 -31 0 0 0 63 -31 0 0 1 64 -############################################################ -############################################################ -# Current time step : 1000000 -# Total number of measurements : 50000 -# Average temperature of the measurement : 0.00499889 -# Boltzmann constant under current units : 1 -# basis vector A1 = [2 0 0] -# basis vector A2 = [0 1 0] -# basis vector A3 = [0 0 1] -############################################################ -# qx qy qz Phi(q) -0 0 0 2.0269 0 -1.43323 0 -1.43323 0 1.01345 0 -0.03125 0 0 2.06958 0 -1.44367 0.144297 -1.44367 -0.144297 1.03745 0 -0.0625 0 0 2.00734 -7.10386e-17 -1.36818 0.273607 -1.36818 -0.273607 1.02097 0 -0.09375 0 0 2.06033 7.36546e-16 -1.32894 0.389454 -1.32894 -0.389454 1.00889 3.19674e-16 -0.125 0 0 2.04516 7.25738e-16 -1.20961 0.516478 -1.20961 -0.516478 1.0073 2.84154e-16 -0.15625 0 0 2.05756 0 -1.12954 0.615757 -1.12954 -0.615757 1.02862 0 -0.1875 0 0 2.01319 0 -0.970491 0.627631 -0.970491 -0.627631 0.998014 0 -0.21875 0 0 1.92269 1.42077e-16 -0.863486 0.66779 -0.863486 -0.66779 1.00343 8.73509e-17 -0.25 0 0 1.99044 1.71855e-16 -0.671658 0.661397 -0.671658 -0.661397 0.956893 7.10386e-17 -0.28125 0 0 1.96341 -7.10386e-17 -0.556809 0.66713 -0.556809 -0.66713 0.987126 4.2268e-17 -0.3125 0 0 2.04354 0 -0.442943 0.661601 -0.442943 -0.661601 0.961726 1.77596e-17 -0.34375 0 0 1.98412 0 -0.313464 0.632666 -0.313464 -0.632666 1.01134 -2.21836e-17 -0.375 0 0 2.00509 2.17993e-17 -0.187554 0.499349 -0.187554 -0.499349 0.953607 -8.87982e-18 -0.40625 0 0 1.91679 0 -0.0962947 0.408121 -0.0962947 -0.408121 1.02919 0 -0.4375 0 0 1.98963 0 -0.0137565 0.277826 -0.0137565 -0.277826 1.01624 0 -0.46875 0 0 2.08228 0 -0.0312083 0.0872272 -0.0312083 -0.0872272 0.991567 0 -0.5 0 0 1.95481 0 0.0542224 0 0.0542224 0 1.00583 0 -0.53125 0 0 2.08228 0 -0.0312083 -0.0872272 -0.0312083 0.0872272 0.991567 0 -0.5625 0 0 1.98963 0 -0.0137565 -0.277826 -0.0137565 0.277826 1.01624 0 -0.59375 0 0 1.91679 0 -0.0962947 -0.408121 -0.0962947 0.408121 1.02919 0 -0.625 0 0 2.00509 -2.17993e-17 -0.187554 -0.499349 -0.187554 0.499349 0.953607 8.87982e-18 -0.65625 0 0 1.98412 0 -0.313464 -0.632666 -0.313464 0.632666 1.01134 2.21836e-17 -0.6875 0 0 2.04354 0 -0.442943 -0.661601 -0.442943 0.661601 0.961726 -1.77596e-17 -0.71875 0 0 1.96341 7.10386e-17 -0.556809 -0.66713 -0.556809 0.66713 0.987126 -4.2268e-17 -0.75 0 0 1.99044 -1.71855e-16 -0.671658 -0.661397 -0.671658 0.661397 0.956893 -7.10386e-17 -0.78125 0 0 1.92269 -1.42077e-16 -0.863486 -0.66779 -0.863486 0.66779 1.00343 -8.73509e-17 -0.8125 0 0 2.01319 0 -0.970491 -0.627631 -0.970491 0.627631 0.998014 0 -0.84375 0 0 2.05756 0 -1.12954 -0.615757 -1.12954 0.615757 1.02862 0 -0.875 0 0 2.04516 -7.25738e-16 -1.20961 -0.516478 -1.20961 0.516478 1.0073 -2.84154e-16 -0.90625 0 0 2.06033 -7.36546e-16 -1.32894 -0.389454 -1.32894 0.389454 1.00889 -3.19674e-16 -0.9375 0 0 2.00734 7.10386e-17 -1.36818 -0.273607 -1.36818 0.273607 1.02097 0 -0.96875 0 0 2.06958 0 -1.44367 -0.144297 -1.44367 0.144297 1.03745 0 -############################################################ -# Current time step : 1500000 -# Total number of measurements : 100000 -# Average temperature of the measurement : 0.00499969 -# Boltzmann constant under current units : 1 -# basis vector A1 = [2 0 0] -# basis vector A2 = [0 1 0] -# basis vector A3 = [0 0 1] -############################################################ -# qx qy qz Phi(q) -0 0 0 2.00227 0 -1.41582 0 -1.41582 0 1.00114 0 -0.03125 0 0 2.06839 -2.94857e-15 -1.44775 0.141336 -1.44775 -0.141336 1.03568 -1.48867e-15 -0.0625 0 0 1.99449 0 -1.35985 0.267438 -1.35985 -0.267438 0.997747 0 -0.09375 0 0 2.01906 7.07225e-16 -1.30258 0.390432 -1.30258 -0.390432 1.00279 3.55249e-16 -0.125 0 0 2.0047 0 -1.19787 0.503497 -1.19787 -0.503497 1.00067 -3.55249e-17 -0.15625 0 0 2.05042 4.26299e-16 -1.12849 0.613659 -1.12849 -0.613659 1.03457 1.85685e-16 -0.1875 0 0 1.99151 0 -0.971684 0.625667 -0.971684 -0.625667 0.990665 0 -0.21875 0 0 1.96519 -7.10498e-17 -0.861495 0.687109 -0.861495 -0.687109 1.0008 0 -0.25 0 0 2.01865 0 -0.687312 0.684014 -0.687312 -0.684014 0.977055 0 -0.28125 0 0 1.9933 0 -0.560168 0.698726 -0.560168 -0.698726 1.00805 -4.40715e-17 -0.3125 0 0 2.01323 0 -0.446505 0.648764 -0.446505 -0.648764 1.00283 -1.77625e-17 -0.34375 0 0 2.00398 0 -0.313827 0.630741 -0.313827 -0.630741 0.996834 0 -0.375 0 0 2.0191 0 -0.216211 0.499651 -0.216211 -0.499651 0.978322 0 -0.40625 0 0 1.97734 -4.44061e-18 -0.102328 0.398954 -0.102328 -0.398954 1.03793 0 -0.4375 0 0 1.99332 -2.22031e-18 -0.0639782 0.238226 -0.0639782 -0.238226 1.00811 -1.3774e-18 -0.46875 0 0 2.02854 0 -0.0151203 0.0911116 -0.0151203 -0.0911116 1.00593 0 -0.5 0 0 1.99466 0 0.0671755 0 0.0671755 0 0.967275 0 -0.53125 0 0 2.02854 0 -0.0151203 -0.0911116 -0.0151203 0.0911116 1.00593 0 -0.5625 0 0 1.99332 2.22031e-18 -0.0639782 -0.238226 -0.0639782 0.238226 1.00811 1.3774e-18 -0.59375 0 0 1.97734 4.44061e-18 -0.102328 -0.398954 -0.102328 0.398954 1.03793 0 -0.625 0 0 2.0191 0 -0.216211 -0.499651 -0.216211 0.499651 0.978322 0 -0.65625 0 0 2.00398 0 -0.313827 -0.630741 -0.313827 0.630741 0.996834 0 -0.6875 0 0 2.01323 0 -0.446505 -0.648764 -0.446505 0.648764 1.00283 1.77625e-17 -0.71875 0 0 1.9933 0 -0.560168 -0.698726 -0.560168 0.698726 1.00805 4.40715e-17 -0.75 0 0 2.01865 0 -0.687312 -0.684014 -0.687312 0.684014 0.977055 0 -0.78125 0 0 1.96519 7.10498e-17 -0.861495 -0.687109 -0.861495 0.687109 1.0008 0 -0.8125 0 0 1.99151 0 -0.971684 -0.625667 -0.971684 0.625667 0.990665 0 -0.84375 0 0 2.05042 -4.26299e-16 -1.12849 -0.613659 -1.12849 0.613659 1.03457 -1.85685e-16 -0.875 0 0 2.0047 0 -1.19787 -0.503497 -1.19787 0.503497 1.00067 3.55249e-17 -0.90625 0 0 2.01906 -7.07225e-16 -1.30258 -0.390432 -1.30258 0.390432 1.00279 -3.55249e-16 -0.9375 0 0 1.99449 0 -1.35985 -0.267438 -1.35985 0.267438 0.997747 0 -0.96875 0 0 2.06839 2.94857e-15 -1.44775 -0.141336 -1.44775 0.141336 1.03568 1.48867e-15 -############################################################ -# Current time step : 2000000 -# Total number of measurements : 150000 -# Average temperature of the measurement : 0.00499897 -# Boltzmann constant under current units : 1 -# basis vector A1 = [2 0 0] -# basis vector A2 = [0 1 0] -# basis vector A3 = [0 0 1] -############################################################ -# qx qy qz Phi(q) -0 0 0 1.99479 0 -1.41053 0 -1.41053 0 0.997396 0 -0.03125 0 0 2.03068 0 -1.41965 0.138345 -1.41965 -0.138345 1.0155 0 -0.0625 0 0 1.99892 7.10396e-17 -1.36162 0.269053 -1.36162 -0.269053 1.00066 0 -0.09375 0 0 2.00599 0 -1.29893 0.389829 -1.29893 -0.389829 0.995323 0 -0.125 0 0 1.991 6.87803e-16 -1.20232 0.495552 -1.20232 -0.495552 0.991252 2.84159e-16 -0.15625 0 0 2.05187 1.42079e-16 -1.12612 0.617447 -1.12612 -0.617447 1.02736 0 -0.1875 0 0 1.97476 7.10396e-17 -0.972012 0.630423 -0.972012 -0.630423 0.996946 0 -0.21875 0 0 2.00314 0 -0.862555 0.695244 -0.862555 -0.695244 0.999215 0 -0.25 0 0 1.9755 0 -0.69573 0.680591 -0.69573 -0.680591 0.988546 0 -0.28125 0 0 1.99393 0 -0.560979 0.692292 -0.560979 -0.692292 0.995507 -3.55198e-17 -0.3125 0 0 2.00817 0 -0.436753 0.642127 -0.436753 -0.642127 0.989051 0 -0.34375 0 0 2.02348 0 -0.310766 0.620888 -0.310766 -0.620888 1.01631 0 -0.375 0 0 2.01177 0 -0.213987 0.483325 -0.213987 -0.483325 0.98933 0 -0.40625 0 0 1.97394 0 -0.116509 0.382146 -0.116509 -0.382146 1.03672 0 -0.4375 0 0 1.98656 0 -0.0609164 0.250798 -0.0609164 -0.250798 1.01266 1.39007e-18 -0.46875 0 0 2.03013 0 -0.0242785 0.120597 -0.0242785 -0.120597 1.02741 1.78858e-19 -0.5 0 0 1.98872 0 0.0648313 0 0.0648313 0 0.973791 0 -0.53125 0 0 2.03013 0 -0.0242785 -0.120597 -0.0242785 0.120597 1.02741 -1.78858e-19 -0.5625 0 0 1.98656 0 -0.0609164 -0.250798 -0.0609164 0.250798 1.01266 -1.39007e-18 -0.59375 0 0 1.97394 0 -0.116509 -0.382146 -0.116509 0.382146 1.03672 0 -0.625 0 0 2.01177 0 -0.213987 -0.483325 -0.213987 0.483325 0.98933 0 -0.65625 0 0 2.02348 0 -0.310766 -0.620888 -0.310766 0.620888 1.01631 0 -0.6875 0 0 2.00817 0 -0.436753 -0.642127 -0.436753 0.642127 0.989051 0 -0.71875 0 0 1.99393 0 -0.560979 -0.692292 -0.560979 0.692292 0.995507 3.55198e-17 -0.75 0 0 1.9755 0 -0.69573 -0.680591 -0.69573 0.680591 0.988546 0 -0.78125 0 0 2.00314 0 -0.862555 -0.695244 -0.862555 0.695244 0.999215 0 -0.8125 0 0 1.97476 -7.10396e-17 -0.972012 -0.630423 -0.972012 0.630423 0.996946 0 -0.84375 0 0 2.05187 -1.42079e-16 -1.12612 -0.617447 -1.12612 0.617447 1.02736 0 -0.875 0 0 1.991 -6.87803e-16 -1.20232 -0.495552 -1.20232 0.495552 0.991252 -2.84159e-16 -0.90625 0 0 2.00599 0 -1.29893 -0.389829 -1.29893 0.389829 0.995323 0 -0.9375 0 0 1.99892 -7.10396e-17 -1.36162 -0.269053 -1.36162 0.269053 1.00066 0 -0.96875 0 0 2.03068 0 -1.41965 -0.138345 -1.41965 0.138345 1.0155 0 diff --git a/examples/README b/examples/README index 62a09f654d..90831b49f0 100644 --- a/examples/README +++ b/examples/README @@ -104,6 +104,7 @@ prd: parallel replica dynamics of vacancy diffusion in bulk Si python: use of PYTHON package to invoke Python code from input script qeq: use of QEQ package for charge equilibration reaxff: RDX and TATB and several other models using ReaxFF +replicate: use of replicate command rerun: use of rerun and read_dump commands rigid: rigid bodies modeled as independent or coupled shear: sideways shear applied to 2d solid, with and without a void @@ -115,6 +116,7 @@ tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si template: examples for using atom_style template and comparing to atom style molecular tersoff: regression test input for Tersoff variants threebody: regression test input for a variety of threebody potentials +triclinic: general triclinic simulation boxes versus orthogonal boxes ttm: two-temeperature model examples vashishta: models using the Vashishta potential voronoi: Voronoi tesselation via compute voronoi/atom command diff --git a/examples/airebo/in.airebo-0-0 b/examples/airebo/in.airebo-0-0 index 077da68912..0e71644127 100644 --- a/examples/airebo/in.airebo-0-0 +++ b/examples/airebo/in.airebo-0-0 @@ -1,22 +1,22 @@ # AIREBO polyethelene benchmark -units metal -atom_style atomic +units metal +atom_style atomic -read_data data.airebo +read_data data.airebo -replicate 17 16 2 +replicate 17 16 2 -neighbor 0.5 bin -neigh_modify delay 5 every 1 +neighbor 0.5 bin +neigh_modify delay 5 every 1 -pair_style airebo 3.0 0 0 -pair_coeff * * CH.airebo C H +pair_style airebo 3.0 0 0 +pair_coeff * * CH.airebo C H -velocity all create 300.0 761341 +velocity all create 300.0 761341 -fix 1 all nve -timestep 0.0005 +fix 1 all nve +timestep 0.0005 -thermo 10 -run 100 +thermo 10 +run 100 diff --git a/examples/airebo/in.rebo2 b/examples/airebo/in.rebo2 index e06cf462ca..319a60bd50 100644 --- a/examples/airebo/in.rebo2 +++ b/examples/airebo/in.rebo2 @@ -1,22 +1,22 @@ # REBO polyethelene benchmark -units metal -atom_style atomic +units metal +atom_style atomic -read_data data.airebo +read_data data.airebo -replicate 17 16 2 +replicate 17 16 2 -neighbor 0.5 bin -neigh_modify delay 5 every 1 +neighbor 0.5 bin +neigh_modify delay 5 every 1 -pair_style rebo -pair_coeff * * CH.rebo C H +pair_style rebo +pair_coeff * * CH.rebo C H -velocity all create 300.0 761341 +velocity all create 300.0 761341 -fix 1 all nve -timestep 0.0005 +fix 1 all nve +timestep 0.0005 -thermo 10 -run 100 +thermo 10 +run 100 diff --git a/examples/granular/data.particles b/examples/granular/data.particles new file mode 100644 index 0000000000..c9f3bd7a9c --- /dev/null +++ b/examples/granular/data.particles @@ -0,0 +1,18 @@ +Python generated LAMMPS data file + +2 atoms +1 atom types + +0 0.08 xlo xhi +0 0.04 ylo yhi +0 0.08 zlo zhi + +Atoms # sphere + +1 1 0.004 2500 0.04 0.02 0.04 0 0 0 +2 1 0.004 2500 0.04 0.02 0.04416 0 0 0 + +Velocities + +1 0.0 0.0 1 0 0 0 +2 0.0 0.0 -1 0 0 0 diff --git a/examples/granular/in.pour.heat b/examples/granular/in.pour.heat index 907e56dc39..cc6b03f7d0 100644 --- a/examples/granular/in.pour.heat +++ b/examples/granular/in.pour.heat @@ -73,7 +73,8 @@ thermo 100 timestep 0.001 -#dump 1 all custom 1000 ${name}.dump id type radius mass x y z temperature heatflow +compute 1 all property/atom temperature heatflow +#dump 1 all custom 1000 ${name}.dump id type radius mass x y z c_1[*] run 100000 diff --git a/examples/granular/in.restitution b/examples/granular/in.restitution new file mode 100644 index 0000000000..e441ed67a7 --- /dev/null +++ b/examples/granular/in.restitution @@ -0,0 +1,24 @@ +units si +atom_style sphere + +boundary p p f +region box block 0 80e-3 0 40e-3 0 80e-3 open 3 open 4 +create_box 2 box + +read_data data.particles add append +group mb type 1 + +pair_style granular +pair_coeff * * hertz/material 1e6 0.8 0.4 tangential mindlin NULL 0.0 0.5 damping coeff_restitution +# pair_coeff * * hooke 1e6 0.5 tangential mindlin 1 1.0 0.0 damping coeff_restitution +comm_modify vel yes + +timestep 1e-9 +fix 1 all nve/sphere +compute s all stress/atom NULL pair + +#dump 1 all custom 2000000 op.dump id x y z vx vy vz +#dump_modify 1 pad 8 +thermo_style custom step ke +run_style verlet +run 10000000 diff --git a/examples/granular/log.13May23.restitution.g++.1 b/examples/granular/log.13May23.restitution.g++.1 new file mode 100644 index 0000000000..e51709d10d --- /dev/null +++ b/examples/granular/log.13May23.restitution.g++.1 @@ -0,0 +1,80 @@ +LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-93-g4e7bddaa0b) + using 1 OpenMP thread(s) per MPI task +units si +atom_style sphere + +boundary p p f +region box block 0 80e-3 0 40e-3 0 80e-3 open 3 open 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (0.08 0.04 0.08) + 1 by 1 by 1 MPI processor grid + +read_data data.particles add append +Reading data file ... + orthogonal box = (0 0 0) to (0.08 0.04 0.08) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + reading velocities ... + 2 velocities + read_data CPU = 0.002 seconds +group mb type 1 +2 atoms in group mb + +pair_style granular +pair_coeff * * hertz/material 1e6 0.8 0.4 tangential mindlin NULL 0.0 0.5 damping coeff_restitution +# pair_coeff * * hooke 1e6 0.5 tangential mindlin 1 1.0 0.0 damping coeff_restitution +comm_modify vel yes + +timestep 1e-9 +fix 1 all nve/sphere +compute s all stress/atom NULL pair + +#dump 1 all custom 2000000 op.dump id x y z vx vy vz +#dump_modify 1 pad 8 +thermo_style custom step ke +run_style verlet +run 10000000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0.005 + ghost atom cutoff = 0.005 + binsize = 0.0025, bins = 32 16 32 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 10.1 | 10.1 | 10.1 Mbytes + Step KinEng + 0 8.3775804e-05 + 10000000 5.3616513e-05 +Loop time of 5.99782 on 1 procs for 10000000 steps with 2 atoms + +77.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.60235 | 0.60235 | 0.60235 | 0.0 | 10.04 +Neigh | 0.00021965 | 0.00021965 | 0.00021965 | 0.0 | 0.00 +Comm | 1.7939 | 1.7939 | 1.7939 | 0.0 | 29.91 +Output | 2.5955e-05 | 2.5955e-05 | 2.5955e-05 | 0.0 | 0.00 +Modify | 1.7622 | 1.7622 | 1.7622 | 0.0 | 29.38 +Other | | 1.839 | | | 30.66 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 14 +Dangerous builds = 0 +Total wall time: 0:00:06 diff --git a/examples/meam/msmeam/HGa.meam b/examples/meam/msmeam/HGa.meam deleted file mode 100644 index 9f01501c16..0000000000 --- a/examples/meam/msmeam/HGa.meam +++ /dev/null @@ -1,30 +0,0 @@ -bkgd_dyn = 1 -emb_lin_neg = 1 -augt1=0 -ialloy=1 -rc = 5.9 -#H -attrac(1,1)=0.460 -repuls(1,1)=0.460 -Cmin(1,1,1)=1.3 # PuMS -Cmax(1,1,1)= 2.80 -nn2(1,1)=1 -#Ga -rho0(2) = 0.6 -attrac(2,2)=0.097 -repuls(2,2)=0.097 -nn2(2,2)=1 -#HGa -attrac(1,2)=0.300 -repuls(1,2)=0.300 -lattce(1,2)=l12 -re(1,2)=3.19 -delta(1,2)=-0.48 -alpha(1,2)=6.6 -Cmin(1,1,2)=2.0 -Cmin(2,1,2)= 2.0 -Cmin(1,2,1)=2.0 -Cmin(2,2,1) = 1.4 -Cmin(1,2,2) = 1.4 -Cmin(1,1,2) = 1.4 -nn2(1,2)=1 diff --git a/examples/meam/msmeam/HGa.msmeam b/examples/meam/msmeam/HGa.msmeam new file mode 120000 index 0000000000..5629006d1d --- /dev/null +++ b/examples/meam/msmeam/HGa.msmeam @@ -0,0 +1 @@ +../../../potentials/HGa.msmeam \ No newline at end of file diff --git a/examples/meam/msmeam/data.msmeam.bu b/examples/meam/msmeam/data.msmeam.bu deleted file mode 100644 index 576a3c50de..0000000000 --- a/examples/meam/msmeam/data.msmeam.bu +++ /dev/null @@ -1,25 +0,0 @@ -LAMMPS data file via write_data, version 16 Feb 2016, timestep = 1 - -3 atoms -2 atom types - --4.0000000000000000e+00 4.0000000000000000e+00 xlo xhi --4.0000000000000000e+00 4.0000000000000000e+00 ylo yhi --4.0000000000000000e+00 4.0000000000000000e+00 zlo zhi - -Masses - -1 1.0079 -2 69.723 - -Atoms # atomic - -1 1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -2 2 2.2000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -3 2 2.9999999999999999e-01 2.2999999999999998e+00 0.0000000000000000e+00 0 0 0 - -Velocities - -1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 diff --git a/examples/meam/msmeam/in.msmeam b/examples/meam/msmeam/in.msmeam index 82ffb89a13..e8d13f8682 100644 --- a/examples/meam/msmeam/in.msmeam +++ b/examples/meam/msmeam/in.msmeam @@ -1,5 +1,3 @@ -echo both -log log.msmeam # Test of MEAM potential for HGa # ------------------------ INITIALIZATION ---------------------------- @@ -21,11 +19,11 @@ create_atoms 1 single 0 0 0 units box create_atoms 2 single 2.2 0 0 units box create_atoms 2 single 0.3 2.3 0 units box # ---------- Define Settings --------------------- -variable teng equal "c_eatoms" +variable teng equal "c_eatoms" compute pot_energy all pe/atom compute stress all stress/atom NULL dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] -run 1 -write_data data.msmeam +run 1 +#write_data data.msmeam print "All done!" diff --git a/examples/meam/msmeam/library.msmeam b/examples/meam/msmeam/library.msmeam deleted file mode 100644 index 9937eaee08..0000000000 --- a/examples/meam/msmeam/library.msmeam +++ /dev/null @@ -1,14 +0,0 @@ -# DATE: 2018-09-22 UNITS: metal CONTRIBUTOR: Steve Valone, smv@lanl.gov CITATION: Baskes, PRB 1992; smv, sr, mib, JNM 2010 -# ms-meam data format May 2010 -# elt lat z ielement atwt -# alpha b0 b1 b2 b3 b1m b2m b3m alat esub asub -# - t0 t1 t2 t3 t1m t2m t3m rozero ibar -# NOTE: leading character cannot be a space - -'H' 'dim' 1.0 1 1.0079 -2.960 2.960 3.0 1.0 1.0 1.0 3.0 1.0 0.741 2.235 2.50 -1.0 0.44721 0.0 0.00 0.0 0.31623 0 6.70 0 - -'Ga4' 'fcc' 12.0 31 69.723 -4.42 4.80 3.10 6.00 0.00 0.0 0.0 0.5 4.247 2.897 0.97 -1.0 1.649 1.435 0.00 0.0 0.0 2.0 0.70 0 diff --git a/examples/meam/msmeam/library.msmeam b/examples/meam/msmeam/library.msmeam new file mode 120000 index 0000000000..2226ef99da --- /dev/null +++ b/examples/meam/msmeam/library.msmeam @@ -0,0 +1 @@ +../../../potentials/library.msmeam \ No newline at end of file diff --git a/examples/meam/msmeam/log.1Mar2024.msmeam.g++.1 b/examples/meam/msmeam/log.1Mar2024.msmeam.g++.1 new file mode 100644 index 0000000000..70fbbdd89c --- /dev/null +++ b/examples/meam/msmeam/log.1Mar2024.msmeam.g++.1 @@ -0,0 +1,126 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-182-g93942f2013-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Test of MEAM potential for HGa + +# ------------------------ INITIALIZATION ---------------------------- +units metal +dimension 3 +boundary p p p +atom_style atomic +variable latparam equal 4.646 +variable ncell equal 3 + +# ----------------------- ATOM DEFINITION ---------------------------- +region box block -4 4 -4 4 -4 4 +create_box 2 box +Created orthogonal box = (-4 -4 -4) to (4 4 4) + 1 by 1 by 1 MPI processor grid + +# + +include potential.mod +# NOTE: This script can be modified for different pair styles +# See in.elastic for more info. + +variable Pu string H +print "potential chosen ${Pu}" +potential chosen H +# Choose potential +pair_style meam/ms +print "we just executed" +we just executed + +pair_coeff * * library.msmeam ${Pu} Ga4 HGa.msmeam ${Pu} Ga4 +pair_coeff * * library.msmeam H Ga4 HGa.msmeam ${Pu} Ga4 +pair_coeff * * library.msmeam H Ga4 HGa.msmeam H Ga4 +Reading MEAM library file library.msmeam with DATE: 2018-09-22 +# Setup neighbor style +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Setup minimization style +variable dmax equal 1.0e-2 +min_style cg +min_modify dmax ${dmax} line quadratic +min_modify dmax 0.01 line quadratic +compute eng all pe/atom +compute eatoms all reduce sum c_eng + +# Setup output +thermo 100 +thermo_style custom step temp etotal press pxx pyy pzz pxy pxz pyz lx ly lz vol c_eatoms +thermo_modify norm yes +create_atoms 1 single 0 0 0 units box +Created 1 atoms + using box units in orthogonal box = (-4 -4 -4) to (4 4 4) + create_atoms CPU = 0.000 seconds +create_atoms 2 single 2.2 0 0 units box +Created 1 atoms + using box units in orthogonal box = (-4 -4 -4) to (4 4 4) + create_atoms CPU = 0.000 seconds +create_atoms 2 single 0.3 2.3 0 units box +Created 1 atoms + using box units in orthogonal box = (-4 -4 -4) to (4 4 4) + create_atoms CPU = 0.000 seconds +# ---------- Define Settings --------------------- +variable teng equal "c_eatoms" +compute pot_energy all pe/atom +compute stress all stress/atom NULL +# dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] +run 1 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.9 + ghost atom cutoff = 6.9 + binsize = 3.45, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair meam/ms, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (2) pair meam/ms, perpetual, half/full from (1) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 8.587 | 8.587 | 8.587 Mbytes + Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume c_eatoms + 0 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079 + 1 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079 +Loop time of 4.4446e-05 on 1 procs for 1 steps with 3 atoms + +Performance: 1943.932 ns/day, 0.012 hours/ns, 22499.213 timesteps/s, 67.498 katom-step/s +31.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.9908e-05 | 2.9908e-05 | 2.9908e-05 | 0.0 | 67.29 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 1.033e-06 | 1.033e-06 | 1.033e-06 | 0.0 | 2.32 +Output | 9.347e-06 | 9.347e-06 | 9.347e-06 | 0.0 | 21.03 +Modify | 2.02e-07 | 2.02e-07 | 2.02e-07 | 0.0 | 0.45 +Other | | 3.956e-06 | | | 8.90 + +Nlocal: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 78 ave 78 max 78 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7 ave 7 max 7 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 14 ave 14 max 14 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 14 +Ave neighs/atom = 4.6666667 +Neighbor list builds = 0 +Dangerous builds = 0 +#write_data data.msmeam + +print "All done!" +All done! +Total wall time: 0:00:00 diff --git a/examples/meam/msmeam/log.1Mar2024.msmeam.g++.4 b/examples/meam/msmeam/log.1Mar2024.msmeam.g++.4 new file mode 100644 index 0000000000..6951a64945 --- /dev/null +++ b/examples/meam/msmeam/log.1Mar2024.msmeam.g++.4 @@ -0,0 +1,126 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-182-g93942f2013-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Test of MEAM potential for HGa + +# ------------------------ INITIALIZATION ---------------------------- +units metal +dimension 3 +boundary p p p +atom_style atomic +variable latparam equal 4.646 +variable ncell equal 3 + +# ----------------------- ATOM DEFINITION ---------------------------- +region box block -4 4 -4 4 -4 4 +create_box 2 box +Created orthogonal box = (-4 -4 -4) to (4 4 4) + 1 by 2 by 2 MPI processor grid + +# + +include potential.mod +# NOTE: This script can be modified for different pair styles +# See in.elastic for more info. + +variable Pu string H +print "potential chosen ${Pu}" +potential chosen H +# Choose potential +pair_style meam/ms +print "we just executed" +we just executed + +pair_coeff * * library.msmeam ${Pu} Ga4 HGa.msmeam ${Pu} Ga4 +pair_coeff * * library.msmeam H Ga4 HGa.msmeam ${Pu} Ga4 +pair_coeff * * library.msmeam H Ga4 HGa.msmeam H Ga4 +Reading MEAM library file library.msmeam with DATE: 2018-09-22 +# Setup neighbor style +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Setup minimization style +variable dmax equal 1.0e-2 +min_style cg +min_modify dmax ${dmax} line quadratic +min_modify dmax 0.01 line quadratic +compute eng all pe/atom +compute eatoms all reduce sum c_eng + +# Setup output +thermo 100 +thermo_style custom step temp etotal press pxx pyy pzz pxy pxz pyz lx ly lz vol c_eatoms +thermo_modify norm yes +create_atoms 1 single 0 0 0 units box +Created 1 atoms + using box units in orthogonal box = (-4 -4 -4) to (4 4 4) + create_atoms CPU = 0.000 seconds +create_atoms 2 single 2.2 0 0 units box +Created 1 atoms + using box units in orthogonal box = (-4 -4 -4) to (4 4 4) + create_atoms CPU = 0.000 seconds +create_atoms 2 single 0.3 2.3 0 units box +Created 1 atoms + using box units in orthogonal box = (-4 -4 -4) to (4 4 4) + create_atoms CPU = 0.000 seconds +# ---------- Define Settings --------------------- +variable teng equal "c_eatoms" +compute pot_energy all pe/atom +compute stress all stress/atom NULL +# dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] +run 1 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.9 + ghost atom cutoff = 6.9 + binsize = 3.45, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair meam/ms, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (2) pair meam/ms, perpetual, half/full from (1) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 7.965 | 8.123 | 8.594 Mbytes + Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume c_eatoms + 0 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079 + 1 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079 +Loop time of 8.70645e-05 on 4 procs for 1 steps with 3 atoms + +Performance: 992.368 ns/day, 0.024 hours/ns, 11485.738 timesteps/s, 34.457 katom-step/s +29.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.3957e-05 | 4.67e-05 | 5.1056e-05 | 0.0 | 53.64 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 1.105e-05 | 1.3822e-05 | 1.7033e-05 | 0.0 | 15.88 +Output | 1.5765e-05 | 1.9045e-05 | 2.5216e-05 | 0.0 | 21.87 +Modify | 2.58e-07 | 3.465e-07 | 3.81e-07 | 0.0 | 0.40 +Other | | 7.151e-06 | | | 8.21 + +Nlocal: 0.75 ave 3 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 38.25 ave 42 max 36 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Neighs: 1.75 ave 7 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +FullNghs: 3.5 ave 14 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 14 +Ave neighs/atom = 4.6666667 +Neighbor list builds = 0 +Dangerous builds = 0 +#write_data data.msmeam + +print "All done!" +All done! +Total wall time: 0:00:00 diff --git a/examples/meam/msmeam/log.msmeam.bu b/examples/meam/msmeam/log.msmeam.bu deleted file mode 100644 index 8eac453c1e..0000000000 --- a/examples/meam/msmeam/log.msmeam.bu +++ /dev/null @@ -1,107 +0,0 @@ -# Test of MEAM potential for HGa - -# ------------------------ INITIALIZATION ---------------------------- -units metal -dimension 3 -boundary p p p -atom_style atomic -variable latparam equal 4.646 -variable ncell equal 3 - -# ----------------------- ATOM DEFINITION ---------------------------- -region box block -4 4 -4 4 -4 4 -create_box 2 box -Created orthogonal box = (-4 -4 -4) to (4 4 4) - 1 by 1 by 1 MPI processor grid - -# - -include potential.mod -# NOTE: This script can be modified for different pair styles -# See in.elastic for more info. - -variable Pu string H -print "potential chosen ${Pu}" -potential chosen H -# Choose potential -pair_style MSmeam -print "we just executed" -we just executed - -pair_coeff * * library.MSmeam ${Pu} Ga4 HGaMS.meam ${Pu} Ga4 -pair_coeff * * library.MSmeam H Ga4 HGaMS.meam ${Pu} Ga4 -pair_coeff * * library.MSmeam H Ga4 HGaMS.meam H Ga4 -Reading potential file library.MSmeam with DATE: 2018-09-22 -# Setup neighbor style -neighbor 1.0 nsq -neigh_modify once no every 1 delay 0 check yes - -# Setup minimization style -variable dmax equal 1.0e-2 -min_style cg -min_modify dmax ${dmax} line quadratic -min_modify dmax 0.01 line quadratic -compute eng all pe/atom -compute eatoms all reduce sum c_eng - -# Setup output -thermo 100 -thermo_style custom step temp etotal press pxx pyy pzz pxy pxz pyz lx ly lz vol c_eatoms -thermo_modify norm yes -create_atoms 1 single 0 0 0 units box -Created 1 atoms -create_atoms 2 single 2.2 0 0 units box -Created 1 atoms -create_atoms 2 single 0.3 2.3 0 units box -Created 1 atoms -# ---------- Define Settings --------------------- -variable teng equal "c_eatoms" -compute pot_energy all pe/atom -compute stress all stress/atom NULL -dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] -run 1 -WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) -Neighbor list info ... - 2 neighbor list requests - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6.9 - ghost atom cutoff = 6.9 -Memory usage per processor = 12.9295 Mbytes -Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume eatoms - 0 0 15.433079 491354.68 838670.91 635393.13 0 80195.793 0 0 8 8 8 512 15.433079 - 1 0 15.433079 491354.68 838670.91 635393.13 0 80195.793 0 0 8 8 8 512 15.433079 -Loop time of 0.000172138 on 1 procs for 1 steps with 3 atoms - -Performance: 501.922 ns/day, 0.048 hours/ns, 5809.285 timesteps/s -81.3% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 6.6996e-05 | 6.6996e-05 | 6.6996e-05 | 0.0 | 38.92 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.9073e-06 | 1.9073e-06 | 1.9073e-06 | 0.0 | 1.11 -Output | 9.7036e-05 | 9.7036e-05 | 9.7036e-05 | 0.0 | 56.37 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 6.199e-06 | | | 3.60 - -Nlocal: 3 ave 3 max 3 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 78 ave 78 max 78 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 7 ave 7 max 7 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 14 ave 14 max 14 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 14 -Ave neighs/atom = 4.66667 -Neighbor list builds = 0 -Dangerous builds = 0 -write_data data.msmeam - -print "All done!" -All done! -Total wall time: 0:00:00 - diff --git a/examples/meam/msmeam/msmeam.dump.bu b/examples/meam/msmeam/msmeam.dump.bu deleted file mode 100644 index 039f630073..0000000000 --- a/examples/meam/msmeam/msmeam.dump.bu +++ /dev/null @@ -1,24 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -3 -ITEM: BOX BOUNDS pp pp pp --4 4 --4 4 --4 4 -ITEM: ATOMS id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] -1 0 0 0 -131.925 -88.3005 0 22.9153 -2.147e+08 -1.62661e+08 -0 -2.05301e+07 -0 -0 -2 2.2 0 0 120.809 -0.482171 0 14.7692 -2.12028e+08 -0 -0 403352 -0 -0 -3 0.3 2.3 0 11.1159 88.7827 0 8.61478 -2.67145e+06 -1.62661e+08 -0 -2.09335e+07 -0 -0 -ITEM: TIMESTEP -1 -ITEM: NUMBER OF ATOMS -3 -ITEM: BOX BOUNDS pp pp pp --4 4 --4 4 --4 4 -ITEM: ATOMS id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] -1 0 0 0 -131.925 -88.3005 0 22.9153 -2.147e+08 -1.62661e+08 -0 -2.05301e+07 -0 -0 -2 2.2 0 0 120.809 -0.482171 0 14.7692 -2.12028e+08 -0 -0 403352 -0 -0 -3 0.3 2.3 0 11.1159 88.7827 0 8.61478 -2.67145e+06 -1.62661e+08 -0 -2.09335e+07 -0 -0 diff --git a/examples/meam/msmeam/potential.mod b/examples/meam/msmeam/potential.mod index 760cc93503..117736743b 100644 --- a/examples/meam/msmeam/potential.mod +++ b/examples/meam/msmeam/potential.mod @@ -7,7 +7,7 @@ print "potential chosen ${Pu}" pair_style meam/ms print "we just executed" -pair_coeff * * library.msmeam ${Pu} Ga4 HGa.meam ${Pu} Ga4 +pair_coeff * * library.msmeam ${Pu} Ga4 HGa.msmeam ${Pu} Ga4 # Setup neighbor style neighbor 1.0 bin neigh_modify once no every 1 delay 0 check yes diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 deleted file mode 100644 index f1001e6cea..0000000000 --- a/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 +++ /dev/null @@ -1,260 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000473022 secs - read_data CPU = 0.0024147 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.00022316 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.103162 on 1 procs for 500 steps with 1200 atoms - -Performance: 2093802.885 tau/day, 4846.766 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.068308 | 0.068308 | 0.068308 | 0.0 | 66.21 -Bond | 0.004235 | 0.004235 | 0.004235 | 0.0 | 4.11 -Neigh | 0.014069 | 0.014069 | 0.014069 | 0.0 | 13.64 -Comm | 0.0019219 | 0.0019219 | 0.0019219 | 0.0 | 1.86 -Output | 0.00017262 | 0.00017262 | 0.00017262 | 0.0 | 0.17 -Modify | 0.011728 | 0.011728 | 0.011728 | 0.0 | 11.37 -Other | | 0.002726 | | | 2.64 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 197 ave 197 max 197 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3094 ave 3094 max 3094 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3094 -Ave neighs/atom = 2.57833 -Ave special neighs/atom = 0.5 -Neighbor list builds = 52 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.274 | 5.274 | 5.274 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 - 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 - 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 - 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 - 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 - 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 - 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 - 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 - 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 -Loop time of 0.178806 on 1 procs for 500 steps with 1200 atoms - -Performance: 1208012.705 tau/day, 2796.326 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.086131 | 0.086131 | 0.086131 | 0.0 | 48.17 -Bond | 0.0042472 | 0.0042472 | 0.0042472 | 0.0 | 2.38 -Neigh | 0.021317 | 0.021317 | 0.021317 | 0.0 | 11.92 -Comm | 0.0025985 | 0.0025985 | 0.0025985 | 0.0 | 1.45 -Output | 0.000175 | 0.000175 | 0.000175 | 0.0 | 0.10 -Modify | 0.061408 | 0.061408 | 0.061408 | 0.0 | 34.34 -Other | | 0.00293 | | | 1.64 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 416 ave 416 max 416 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8769 ave 8769 max 8769 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8769 -Ave neighs/atom = 7.3075 -Ave special neighs/atom = 0.5 -Neighbor list builds = 47 -Dangerous builds = 2 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 0.00015378 secs -150 rigid bodies with 450 atoms - 1.30435 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Per MPI rank memory allocation (min/avg/max) = 8.64 | 8.64 | 8.64 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 - 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 - 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 - 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 - 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 - 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 - 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 - 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 - 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 - 950 0.48351943 -1.9162485 0.13695201 -1.3868399 2.1891332 - 1000 0.49033701 -1.9115165 0.13695201 -1.3765742 2.1508141 -Loop time of 0.166502 on 1 procs for 500 steps with 1200 atoms - -Performance: 1297278.008 tau/day, 3002.958 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.085767 | 0.085767 | 0.085767 | 0.0 | 51.51 -Bond | 0.0042562 | 0.0042562 | 0.0042562 | 0.0 | 2.56 -Neigh | 0.018039 | 0.018039 | 0.018039 | 0.0 | 10.83 -Comm | 0.0024002 | 0.0024002 | 0.0024002 | 0.0 | 1.44 -Output | 0.00018239 | 0.00018239 | 0.00018239 | 0.0 | 0.11 -Modify | 0.052717 | 0.052717 | 0.052717 | 0.0 | 31.66 -Other | | 0.003141 | | | 1.89 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 415 ave 415 max 415 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8743 ave 8743 max 8743 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8743 -Ave neighs/atom = 7.28583 -Ave special neighs/atom = 0.5 -Neighbor list builds = 40 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 deleted file mode 100644 index e65f67a527..0000000000 --- a/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 +++ /dev/null @@ -1,260 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000422001 secs - read_data CPU = 0.00473404 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000183344 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.0426326 on 4 procs for 500 steps with 1200 atoms - -Performance: 5066547.720 tau/day, 11728.120 timesteps/s -98.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.016784 | 0.019254 | 0.022154 | 1.5 | 45.16 -Bond | 0.0010612 | 0.0012558 | 0.0014153 | 0.4 | 2.95 -Neigh | 0.0046048 | 0.0046697 | 0.0047245 | 0.1 | 10.95 -Comm | 0.0064592 | 0.0097114 | 0.012527 | 2.4 | 22.78 -Output | 0.00022507 | 0.00026393 | 0.00033951 | 0.0 | 0.62 -Modify | 0.0041659 | 0.0048084 | 0.0053945 | 0.8 | 11.28 -Other | | 0.002669 | | | 6.26 - -Nlocal: 300 ave 304 max 292 min -Histogram: 1 0 0 0 0 0 0 0 2 1 -Nghost: 103.5 ave 108 max 98 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Neighs: 773.5 ave 792 max 735 min -Histogram: 1 0 0 0 0 0 0 0 2 1 - -Total # of neighbors = 3094 -Ave neighs/atom = 2.57833 -Ave special neighs/atom = 0.5 -Neighbor list builds = 52 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.251 | 5.282 | 5.374 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 - 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 - 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 - 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 - 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 - 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 - 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 - 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 - 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 -Loop time of 0.0887392 on 4 procs for 500 steps with 1200 atoms - -Performance: 2434100.210 tau/day, 5634.491 timesteps/s -98.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.022611 | 0.022839 | 0.023082 | 0.1 | 25.74 -Bond | 0.0010793 | 0.0011569 | 0.0012515 | 0.2 | 1.30 -Neigh | 0.0064609 | 0.0064996 | 0.0065265 | 0.0 | 7.32 -Comm | 0.0071712 | 0.0073687 | 0.0077734 | 0.3 | 8.30 -Output | 0.00023389 | 0.00025356 | 0.00030327 | 0.0 | 0.29 -Modify | 0.047258 | 0.047683 | 0.048503 | 0.2 | 53.73 -Other | | 0.002938 | | | 3.31 - -Nlocal: 300 ave 309 max 291 min -Histogram: 1 0 0 1 0 0 1 0 0 1 -Nghost: 218.75 ave 223 max 216 min -Histogram: 1 0 2 0 0 0 0 0 0 1 -Neighs: 2192.25 ave 2251 max 2113 min -Histogram: 1 0 0 1 0 0 0 0 0 2 - -Total # of neighbors = 8769 -Ave neighs/atom = 7.3075 -Ave special neighs/atom = 0.5 -Neighbor list builds = 47 -Dangerous builds = 2 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 7.70092e-05 secs -150 rigid bodies with 450 atoms - 1.30435 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Per MPI rank memory allocation (min/avg/max) = 8.565 | 8.597 | 8.69 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 - 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 - 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 - 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 - 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 - 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 - 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 - 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 - 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 - 950 0.48351942 -1.9162485 0.13695201 -1.3868399 2.1891332 - 1000 0.490337 -1.9115164 0.13695201 -1.3765742 2.1508141 -Loop time of 0.0588261 on 4 procs for 500 steps with 1200 atoms - -Performance: 3671840.233 tau/day, 8499.630 timesteps/s -98.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.022407 | 0.022631 | 0.0229 | 0.1 | 38.47 -Bond | 0.0010669 | 0.0011355 | 0.0012124 | 0.2 | 1.93 -Neigh | 0.0052333 | 0.00528 | 0.0053182 | 0.0 | 8.98 -Comm | 0.0063677 | 0.0066406 | 0.0068488 | 0.2 | 11.29 -Output | 0.00023055 | 0.00024778 | 0.00028086 | 0.0 | 0.42 -Modify | 0.020577 | 0.020651 | 0.020834 | 0.1 | 35.11 -Other | | 0.00224 | | | 3.81 - -Nlocal: 300 ave 303 max 295 min -Histogram: 1 0 0 0 0 0 1 0 1 1 -Nghost: 219 ave 224 max 215 min -Histogram: 1 0 0 1 1 0 0 0 0 1 -Neighs: 2185.75 ave 2244 max 2143 min -Histogram: 1 1 0 0 0 1 0 0 0 1 - -Total # of neighbors = 8743 -Ave neighs/atom = 7.28583 -Ave special neighs/atom = 0.5 -Neighbor list builds = 40 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.4Apr2024.micelle-rigid.g++.1 b/examples/micelle/log.4Apr2024.micelle-rigid.g++.1 new file mode 100644 index 0000000000..d3cb98940d --- /dev/null +++ b/examples/micelle/log.4Apr2024.micelle-rigid.g++.1 @@ -0,0 +1,271 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-345-g506bf886ee-modified) +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.005 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.148 | 4.148 | 4.148 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.0365221 on 1 procs for 500 steps with 1200 atoms + +Performance: 5914221.123 tau/day, 13690.327 timesteps/s, 16.428 Matom-step/s +89.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.022939 | 0.022939 | 0.022939 | 0.0 | 62.81 +Bond | 0.00073851 | 0.00073851 | 0.00073851 | 0.0 | 2.02 +Neigh | 0.0078339 | 0.0078339 | 0.0078339 | 0.0 | 21.45 +Comm | 0.00072134 | 0.00072134 | 0.00072134 | 0.0 | 1.98 +Output | 7.1419e-05 | 7.1419e-05 | 7.1419e-05 | 0.0 | 0.20 +Modify | 0.0034868 | 0.0034868 | 0.0034868 | 0.0 | 9.55 +Other | | 0.0007314 | | | 2.00 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 197 ave 197 max 197 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3094 ave 3094 max 3094 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3094 +Ave neighs/atom = 2.5783333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 52 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 + 150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.391 | 5.391 | 5.391 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 + 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 + 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 + 200 0.49410558 -1.7945459 0.13695201 -1.2565449 4.0469262 + 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 + 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 + 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 + 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 + 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 +Loop time of 0.0650638 on 1 procs for 500 steps with 1200 atoms + +Performance: 3319817.322 tau/day, 7684.762 timesteps/s, 9.222 Matom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.027565 | 0.027565 | 0.027565 | 0.0 | 42.37 +Bond | 0.0007043 | 0.0007043 | 0.0007043 | 0.0 | 1.08 +Neigh | 0.012724 | 0.012724 | 0.012724 | 0.0 | 19.56 +Comm | 0.00091442 | 0.00091442 | 0.00091442 | 0.0 | 1.41 +Output | 6.004e-05 | 6.004e-05 | 6.004e-05 | 0.0 | 0.09 +Modify | 0.022329 | 0.022329 | 0.022329 | 0.0 | 34.32 +Other | | 0.0007666 | | | 1.18 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 411 ave 411 max 411 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8759 ave 8759 max 8759 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8759 +Ave neighs/atom = 7.2991667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 46 +Dangerous builds = 2 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 0.000 seconds + 150 rigid bodies with 450 atoms + 1.3043524 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.306 | 9.306 | 9.306 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 + 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 + 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 + 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 + 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 + 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 + 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 + 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 + 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 + 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 + 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630988 +Loop time of 0.0592806 on 1 procs for 500 steps with 1200 atoms + +Performance: 3643690.276 tau/day, 8434.468 timesteps/s, 10.121 Matom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.026866 | 0.026866 | 0.026866 | 0.0 | 45.32 +Bond | 0.00071863 | 0.00071863 | 0.00071863 | 0.0 | 1.21 +Neigh | 0.010927 | 0.010927 | 0.010927 | 0.0 | 18.43 +Comm | 0.00084187 | 0.00084187 | 0.00084187 | 0.0 | 1.42 +Output | 6.8106e-05 | 6.8106e-05 | 6.8106e-05 | 0.0 | 0.11 +Modify | 0.019075 | 0.019075 | 0.019075 | 0.0 | 32.18 +Other | | 0.000783 | | | 1.32 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 417 ave 417 max 417 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8654 ave 8654 max 8654 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8654 +Ave neighs/atom = 7.2116667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 39 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.4Apr2024.micelle-rigid.g++.4 b/examples/micelle/log.4Apr2024.micelle-rigid.g++.4 new file mode 100644 index 0000000000..ce15cfec21 --- /dev/null +++ b/examples/micelle/log.4Apr2024.micelle-rigid.g++.4 @@ -0,0 +1,272 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-345-g506bf886ee-modified) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.126 | 4.126 | 4.127 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.0138659 on 4 procs for 500 steps with 1200 atoms + +Performance: 15577811.312 tau/day, 36059.748 timesteps/s, 43.272 Matom-step/s +99.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0053896 | 0.0057144 | 0.0060899 | 0.4 | 41.21 +Bond | 0.00020074 | 0.00021422 | 0.00022291 | 0.0 | 1.54 +Neigh | 0.0025301 | 0.0025401 | 0.0025501 | 0.0 | 18.32 +Comm | 0.0031194 | 0.0035074 | 0.0038196 | 0.4 | 25.30 +Output | 6.4137e-05 | 6.7743e-05 | 7.7909e-05 | 0.0 | 0.49 +Modify | 0.0013391 | 0.0013582 | 0.0013972 | 0.1 | 9.80 +Other | | 0.0004638 | | | 3.34 + +Nlocal: 300 ave 304 max 292 min +Histogram: 1 0 0 0 0 0 0 0 2 1 +Nghost: 103.5 ave 108 max 98 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 773.5 ave 792 max 735 min +Histogram: 1 0 0 0 0 0 0 0 2 1 + +Total # of neighbors = 3094 +Ave neighs/atom = 2.5783333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 52 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 + 150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.375 | 5.375 | 5.375 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 + 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 + 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 + 200 0.49410558 -1.7945459 0.13695201 -1.2565449 4.0469262 + 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 + 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 + 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 + 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 + 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 +Loop time of 0.0381773 on 4 procs for 500 steps with 1200 atoms + +Performance: 5657810.772 tau/day, 13096.784 timesteps/s, 15.716 Matom-step/s +99.6% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0059651 | 0.0062314 | 0.0066404 | 0.3 | 16.32 +Bond | 0.00021057 | 0.00022477 | 0.0002333 | 0.0 | 0.59 +Neigh | 0.0041424 | 0.0041487 | 0.0041512 | 0.0 | 10.87 +Comm | 0.004264 | 0.0047244 | 0.0050297 | 0.4 | 12.37 +Output | 8.2396e-05 | 8.6559e-05 | 9.6749e-05 | 0.0 | 0.23 +Modify | 0.021833 | 0.021946 | 0.022094 | 0.1 | 57.48 +Other | | 0.0008157 | | | 2.14 + +Nlocal: 300 ave 303 max 296 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Nghost: 216.25 ave 219 max 214 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Neighs: 2189.75 ave 2205 max 2173 min +Histogram: 1 0 0 0 1 0 1 0 0 1 + +Total # of neighbors = 8759 +Ave neighs/atom = 7.2991667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 46 +Dangerous builds = 2 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 0.000 seconds + 150 rigid bodies with 450 atoms + 1.3043524 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.233 | 9.233 | 9.234 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 + 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 + 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 + 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 + 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 + 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 + 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 + 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 + 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 + 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 + 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630987 +Loop time of 0.0236819 on 4 procs for 500 steps with 1200 atoms + +Performance: 9120883.727 tau/day, 21113.157 timesteps/s, 25.336 Matom-step/s +99.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0058656 | 0.0059718 | 0.0061355 | 0.1 | 25.22 +Bond | 0.0002083 | 0.00022447 | 0.00023485 | 0.0 | 0.95 +Neigh | 0.0035477 | 0.0035644 | 0.0035824 | 0.0 | 15.05 +Comm | 0.0041037 | 0.0042227 | 0.0043024 | 0.1 | 17.83 +Output | 7.4355e-05 | 7.8273e-05 | 8.7777e-05 | 0.0 | 0.33 +Modify | 0.008976 | 0.0090549 | 0.0091663 | 0.1 | 38.24 +Other | | 0.0005654 | | | 2.39 + +Nlocal: 300 ave 306 max 295 min +Histogram: 1 0 1 0 0 1 0 0 0 1 +Nghost: 221 ave 226 max 217 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 2163.5 ave 2271 max 2100 min +Histogram: 1 1 0 1 0 0 0 0 0 1 + +Total # of neighbors = 8654 +Ave neighs/atom = 7.2116667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 39 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/mliap/ACE_NN_Pytorch.pt b/examples/mliap/ACE_NN_Pytorch.pt new file mode 100644 index 0000000000..c8fa74f6e0 Binary files /dev/null and b/examples/mliap/ACE_NN_Pytorch.pt differ diff --git a/examples/mliap/Cu_ACE.mliap.pytorch.model.pt b/examples/mliap/Cu_ACE.mliap.pytorch.model.pt new file mode 100644 index 0000000000..cdcff59f44 Binary files /dev/null and b/examples/mliap/Cu_ACE.mliap.pytorch.model.pt differ diff --git a/examples/mliap/H_N_O_ccs.yace b/examples/mliap/H_N_O_ccs.yace new file mode 100644 index 0000000000..2953222216 --- /dev/null +++ b/examples/mliap/H_N_O_ccs.yace @@ -0,0 +1,294 @@ +elements: [H, N, O] +E0: [0.000000, 0.000000, 0.000000] +deltaSplineBins: 0.001000 +embeddings: + 0: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} + 1: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} + 2: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} +bonds: + [0, 0]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.0, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [0, 1]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.5, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [0, 2]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [1, 0]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.5, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [1, 1]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 4.4, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [1, 2]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [2, 0]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [2, 1]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [2, 2]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.5, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} +functions: + 0: + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [2, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + 1: + - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [2, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + 2: + - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [2, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} diff --git a/examples/mliap/README b/examples/mliap/README index 070ce86bfd..26d4640946 100644 --- a/examples/mliap/README +++ b/examples/mliap/README @@ -160,3 +160,44 @@ in.mliap.so3.nn.Si ------------------ Example of NN model with SO3 descriptors for Si + +NOTE: The use of ACE within mliap requires the generalized Glebsch-Gordan +coefficients (a.k.a. coupling coefficients, ccs, etc.) are defined within +a ctilde file. These are used to construct the ACE descriptors for both +linear models and non-linear models within mliap. These define the size +of the ACE basis used as well as hyperparameters for the basis functions +for descriptors in mliap. These files may be generated with various +software for fitting ACE models must follow the format for ACE C-Tilde +potential files in `../PACKAGES/pace/*.ace` or the convenient yaml-based +`.yace` format. For the ACE mliap interface, the coupling coefficient file +should NOT include linear model coefficients. If the linear model coefficients +are included in the coupling coefficient file, mliap will evaluate ACE +contributions to a linear model rather than ACE descriptors. + +One convenient feature of mliap/ace, is that it enables the user to +decouple the linear model coefficients and the ace descriptors. Both are +typically included in ACE potentials with C-Tilde format. This is +demonstrated in the first example for ACE: linear model coefficients are +provided separately (in `linear_ACE_coeff.acecoeff`) from coupling +coefficients (in `linear_ACE_ccs.yace`). They are combined in a linear +pytorch model using `convert_mliap_lin_ACE.py`. + +in.mliap.pytorch.ace +------------------ + +Example of linear model with ACE descriptors for minimal Ta dataset + +in.mliap.ace.compute +------------------ + +Example for calculating multi-element ACE descriptors through ML-IAP + +in.mliap.pytorch.ace.NN +------------------ + +Example of NN model with ACE descriptors for minimal Ta dataset + +mliap_pytorch_ACE.py +------------------ + +Example of NN model with ACE descriptors for minimal Ta dataset through mliappy diff --git a/examples/mliap/Ta06A.mliap.pytorch.model.pt b/examples/mliap/Ta06A.mliap.pytorch.model.pt new file mode 100644 index 0000000000..bbce9a2249 Binary files /dev/null and b/examples/mliap/Ta06A.mliap.pytorch.model.pt differ diff --git a/examples/mliap/Ta_ACE.mliap.pytorch.model.pt b/examples/mliap/Ta_ACE.mliap.pytorch.model.pt new file mode 100644 index 0000000000..905ef37086 Binary files /dev/null and b/examples/mliap/Ta_ACE.mliap.pytorch.model.pt differ diff --git a/examples/mliap/ace_compute_struct.data b/examples/mliap/ace_compute_struct.data new file mode 100644 index 0000000000..b18ec13a4d --- /dev/null +++ b/examples/mliap/ace_compute_struct.data @@ -0,0 +1,172 @@ +latte_cell_0.data (written by ASE) + +161 atoms +3 atom types +0.0 12 xlo xhi +0.0 12 ylo yhi +0.0 12 zlo zhi + + +Atoms + + 1 3 1.2688096799999999 2.0079938400000001 2.7446829899999998 + 2 1 1.5343068200000001 2.0638766500000001 3.7105626900000002 + 3 1 1.7848279600000001 2.6755003400000001 2.2268847200000002 + 4 1 1.56251195 1.1089126899999999 2.3978115199999999 + 5 1 11.61728216 5.71881094 2.4732045999999999 + 6 2 6.5501865600000002 4.7439566800000001 3.6526025500000001 + 7 1 6.4564895299999998 4.1571673000000002 2.6975267999999999 + 8 2 2.0835561 1.59406078 8.5498047600000007 + 9 1 1.1041162499999999 1.4971771599999999 8.1507879200000009 + 10 1 2.60115534 2.2945960400000001 7.95374187 + 11 1 1.9817723300000001 2.0194066400000001 9.5128239400000005 + 12 1 0.99333338000000004 3.6983907299999998 8.1903947899999991 + 13 3 4.9484070999999998 5.3645501400000004 9.16152503 + 14 1 9.0716170599999995 9.3748453999999999 4.2276462400000003 + 15 2 0.30864418999999998 7.7136657499999997 2.9274995599999998 + 16 1 0.47661671 10.1807211 3.71160091 + 17 1 1.07465334 7.8226921999999997 3.5771466900000002 + 18 1 0.38402249999999999 8.3770493300000002 2.1748437100000002 + 19 1 11.435413410000001 7.7903735999999997 3.4040245499999999 + 20 3 6.1570384599999999 10.25988474 3.50899568 + 21 1 5.5932224399999999 9.5632944700000007 3.1446559000000001 + 22 2 1.7785569000000001 7.6312579300000003 9.1488452299999992 + 23 1 2.5594048599999999 6.96832838 9.3069700199999996 + 24 1 2.12441551 8.4547986999999996 8.6428622900000001 + 25 1 1.04552782 7.1697722800000001 8.5894244999999998 + 26 1 0.34824445999999998 10.17844028 9.1629463799999993 + 27 3 5.9638830399999998 10.723709400000001 9.4568803900000002 + 28 1 6.5890835699999997 10.926486110000001 8.7981925800000003 + 29 2 7.1065890400000002 1.83029753 3.3452543600000002 + 30 1 6.9229304999999997 1.8465022099999999 4.3089037100000001 + 31 1 8.0780433600000006 1.9303052199999999 3.2089521400000001 + 32 1 5.6795373600000003 10.471831630000001 4.3244390499999996 + 33 1 6.82999417 0.95850113000000003 2.9815288199999999 + 34 2 11.383805349999999 4.6301225199999996 2.5393688399999998 + 35 1 0.37927047000000003 4.1943216300000001 2.59073807 + 36 3 5.2376410099999999 1.91523463 9.7240636400000007 + 37 1 4.7887202499999999 2.7036936499999999 9.5698142300000004 + 38 1 9.8129906699999996 9.2075140700000002 4.08265499 + 39 1 4.7980879500000002 1.1403494700000001 9.6739962800000008 + 40 1 5.4455845600000004 2.0102099999999998 10.620773509999999 + 41 3 0.90954338999999995 4.6240093199999999 8.3108110600000007 + 42 1 11.909735319999999 4.7483814000000004 8.2500624600000005 + 43 2 7.3223424499999998 7.5866457 3.0245226500000002 + 44 1 7.4470362200000002 8.3169646700000008 3.7148003300000001 + 45 1 6.9073805300000002 7.9385021 2.1723768699999999 + 46 1 5.5542868500000004 5.1176065800000003 3.7655251999999999 + 47 1 6.8124309500000004 6.7778811599999997 3.3973232499999999 + 48 2 0.29575823000000001 11.04303794 3.1016142499999999 + 49 1 0.86490721999999998 11.83879228 3.6389974500000002 + 50 3 6.85201686 8.0846369300000003 8.8762878799999996 + 51 1 7.3351430100000004 7.4263498700000001 9.3821674799999997 + 52 1 6.7919613300000004 7.7595477199999996 7.9716174799999999 + 53 1 3.8990487699999998 6.4283490399999996 8.8832409600000002 + 54 1 5.95997296 9.9329723199999993 9.4746654699999997 + 55 3 11.403658979999999 10.371960359999999 9.2766092199999992 + 56 1 10.983666360000001 9.5157199800000001 9.1478757300000009 + 57 3 1.5223279700000001 5.3327331100000004 0.57537605999999997 + 58 1 2.3815113999999999 5.7251991200000001 0.77945295999999997 + 59 1 0.92079957000000001 6.0931282299999996 0.62203253000000003 + 60 3 11.23490924 2.9153355200000002 6.7585064099999999 + 61 1 10.792340190000001 2.9755225099999998 5.9000018399999998 + 62 1 10.751242059999999 2.1896156000000002 7.1807401500000001 + 63 3 11.39027944 7.3462855600000001 6.7258299499999996 + 64 1 10.92025679 6.69831954 7.2776696599999999 + 65 1 11.12238028 7.0632020999999998 5.8394107799999997 + 66 3 8.4684319499999994 10.71736286 10.60018556 + 67 1 8.5672201599999998 11.420466080000001 11.25794033 + 68 1 9.0803109800000001 10.04804949 10.9406517 + 69 3 6.5851757299999996 9.9940623399999993 6.5574614899999997 + 70 1 7.0276325799999997 10.76096604 6.1723333699999996 + 71 1 5.7419327400000002 10.384583920000001 6.8228822999999998 + 72 3 1.7600546399999999 1.01771919 5.4926787700000004 + 73 1 1.9704209100000001 1.01748419 6.4429703700000003 + 74 1 1.42973007 0.11076352 5.3470644900000002 + 75 1 2.61130613 9.7034123700000006 10.450306830000001 + 76 3 3.05086908 10.48131334 10.085189310000001 + 77 1 3.0032693199999998 10.93357295 9.3652121000000008 + 78 3 6.4631532199999997 8.7652058299999993 11.967847969999999 + 79 1 6.4506808400000004 9.6596595300000008 11.588956019999999 + 80 1 5.6611629700000003 8.3535737700000006 11.638443329999999 + 81 3 1.1745999300000001 5.2420690800000003 5.1001449699999997 + 82 1 1.31932881 5.5236392399999996 6.0128966300000002 + 83 1 0.58053834999999998 4.4898134599999997 5.2325565000000003 + 84 3 6.7275549699999999 0.78840874999999999 7.3817280900000002 + 85 1 6.3887965600000003 1.54670982 6.8634520400000003 + 86 1 7.6791783999999996 0.94039024000000004 7.2649461000000004 + 87 3 8.5476657199999995 0.0064750299999999997 5.0450514100000001 + 88 1 8.8736290899999997 11.10484108 4.8601807900000003 + 89 1 8.0477597599999999 0.20198361000000001 4.2357399400000002 + 90 3 1.2895030000000001 8.4280097900000008 11.82038504 + 91 1 1.4766666399999999 8.1087866399999999 10.87290333 + 92 1 2.10220669 8.1947620200000006 0.29510553 + 93 3 9.6797907599999995 6.4207335499999996 4.3469150599999997 + 94 1 8.9271530099999996 6.72940235 3.7974122399999999 + 95 1 10.20024126 5.9167739199999998 3.66976111 + 96 3 3.57411616 6.7041021699999996 3.8825478499999999 + 97 1 2.8894899500000002 6.1560529800000001 4.2980848099999998 + 98 1 4.3613707699999997 6.4304732400000004 4.3804965400000002 + 99 3 4.7506556 11.441853350000001 1.12537088 + 100 1 4.0861192800000001 10.748523670000001 1.1923347099999999 + 101 1 5.5035301600000004 10.965688249999999 0.73651277000000004 + 102 3 9.5254526399999992 4.8994443900000002 8.3732284099999994 + 103 1 8.7885959800000002 4.3508043900000004 8.6632831400000008 + 104 1 9.6149067499999994 4.6084911499999999 7.4540068699999997 + 105 3 4.1970746700000001 1.34592128 3.67401439 + 106 1 4.9437011999999996 0.74406280999999996 3.514068 + 107 1 4.1905534900000001 1.7730376000000001 2.7963049400000002 + 108 3 1.88232618 11.95451227 0.60024434000000004 + 109 1 2.0464587299999999 11.02454723 0.38329541 + 110 1 1.1518493700000001 0.17494340999999999 11.99928285 + 111 3 3.7593842199999998 11.01685511 6.4562050800000002 + 112 1 3.2125414299999999 10.4553747 5.8894917099999997 + 113 1 3.4166026899999999 10.821557670000001 7.3296563900000002 + 114 3 9.7039841399999993 3.95001545 11.894743249999999 + 115 1 10.461666060000001 3.9163117999999999 11.285435229999999 + 116 1 10.09834695 4.4026997400000001 0.68193007999999999 + 117 3 8.5639596400000002 3.5169507499999999 5.6224104199999996 + 118 1 8.3966650299999994 2.6262214699999999 5.2638164300000003 + 119 1 7.9695371399999999 4.0825059799999996 5.0049407400000003 + 120 3 9.6736245000000007 0.48030482000000002 7.9257577799999996 + 121 1 9.6131980400000003 11.883419180000001 7.1680923999999999 + 122 1 9.9784050299999993 11.90238635 8.63894187 + 123 3 3.9424153099999999 6.9650296699999998 11.60258943 + 124 1 4.2767152700000004 6.8460048999999996 10.670225220000001 + 125 1 4.6570638500000001 6.5129461500000003 0.091159879999999999 + 126 3 3.0570173199999999 9.6631958499999993 3.6611250599999998 + 127 1 2.5400490100000002 9.5743355000000001 2.8444047600000002 + 128 1 2.9314874400000002 8.7809807200000005 4.0425234200000002 + 129 3 7.4549612700000001 5.8430850799999998 11.011384720000001 + 130 1 8.1675884100000005 5.4639182799999997 10.47644287 + 131 1 6.7135573700000002 5.8393818399999997 10.361099749999999 + 132 3 9.8029139300000008 7.9578901699999998 10.21404942 + 133 1 10.38910242 8.3400641400000008 10.87949429 + 134 1 9.0637612000000001 7.6392374099999998 10.756928869999999 + 135 3 4.4963435599999997 4.1067935799999997 11.73387805 + 136 1 4.5473727899999998 4.9577970899999997 11.19223377 + 137 1 5.3588818399999996 4.1756111699999998 0.20355936999999999 + 138 3 9.5923448100000002 7.3418014600000001 1.34856172 + 139 1 8.8715593300000002 7.4776837199999999 2.05040471 + 140 1 9.0443221699999992 7.2732200799999998 0.54011714 + 141 3 7.0350963100000001 3.22348773 0.7070824 + 142 1 7.1784470499999999 4.1340314300000003 1.0184109699999999 + 143 1 7.7787854400000001 2.7888888399999998 1.15838887 + 144 3 9.2124107800000008 0.48085899999999998 1.21751966 + 145 1 9.6620436499999993 11.657271079999999 1.45318397 + 146 1 9.9404883900000005 1.11619136 1.18684594 + 147 3 1.19704207 9.5859959200000002 6.6190888899999996 + 148 1 0.25606413 9.6737366500000004 6.8319340899999998 + 149 1 1.2690051899999999 8.6249354900000004 6.5480112500000001 + 150 3 0.78256133999999999 2.6040609300000002 11.453408359999999 + 151 1 0.61502181 3.5607405999999999 11.40300991 + 152 1 1.55655312 2.5457368800000002 10.866733030000001 + 153 3 5.8627936099999998 7.1217054800000001 5.89173203 + 154 1 6.3432410700000004 7.9400136699999999 6.0855840299999997 + 155 1 5.5077296699999998 6.8468306800000001 6.7436875799999996 + 156 3 10.887828150000001 9.9637482500000001 0.51092815999999996 + 157 1 11.78841776 10.322043069999999 0.44704989000000001 + 158 1 11.02688182 9.2051906700000004 1.0976661299999999 + 159 3 3.93073389 4.1645674499999998 5.7137877000000001 + 160 1 4.6884062999999996 3.5788913299999998 5.5644605800000004 + 161 1 4.2956948500000003 4.7644888099999996 6.3801669700000003 diff --git a/examples/mliap/ccs_single_element.yace b/examples/mliap/ccs_single_element.yace new file mode 100644 index 0000000000..b51ee1320f --- /dev/null +++ b/examples/mliap/ccs_single_element.yace @@ -0,0 +1,46 @@ +elements: [Ta] +E0: [0.000000] +deltaSplineBins: 0.001000 +embeddings: + 0: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} +bonds: + [0, 0]: {nradmax: 8, lmax: 2, nradbasemax: 8, radbasename: ChebExpCos, radparameters: [0.5723], radcoefficients: [[[1, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0]], [[0, 1, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0]], [[0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0]], [[0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0]], [[0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0]], [[0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0]], [[0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 1, 0]], [[0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 1]]], prehc: 0, lambdahc: 0.5723, rcut: 4.842, dcut: 0.01, rcut_in: 0.595, dcut_in: 0.01, inner_cutoff_type: distance} +functions: + 0: + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [3], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [4], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [5], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [6], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [7], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [8], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 1], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 2], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 2], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [3, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [3, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [3, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 2, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [2, 2, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} diff --git a/examples/mliap/convert_mliap_lin_ACE.py b/examples/mliap/convert_mliap_lin_ACE.py new file mode 100644 index 0000000000..a9925989e5 --- /dev/null +++ b/examples/mliap/convert_mliap_lin_ACE.py @@ -0,0 +1,32 @@ +import sys +import numpy as np +import torch + +# torch.nn.modules useful for defining a MLIAPPY model. +from lammps.mliap.pytorch import TorchWrapper, IgnoreElems + +# Read coefficients +coeffs = np.genfromtxt("linear_ACE_coeff.acecoeff",skip_header=4) +# If using the "linear_ACE_pot.yace" instead of just the clebsch-gordan coefficients in "linear_ACE_ccs.yace", +# uncomment below + +#B_coeffs = np.genfromtxt("linear_ACE_coeff.acecoeff",skip_header=4) +#coeffs = np.append(np.zeros(1),np.ones(len(B_coeffs)-1)) + +# Write coefficients to a pytorch linear model +bias = coeffs[0] +weights = coeffs[1:] +lin = torch.nn.Linear(weights.shape[0],1) +lin.to(torch.float64) +with torch.autograd.no_grad(): + lin.weight.set_(torch.from_numpy(weights).unsqueeze(0)) + lin.bias.set_(torch.as_tensor(bias,dtype=torch.float64).unsqueeze(0)) + +# Wrap the pytorch model for usage with mliappy coupling. +model = IgnoreElems(lin) # The linear module does not use the types. +n_descriptors = lin.weight.shape[1] +print ('ndescriptors',n_descriptors) +n_elements = 1 +linked_model = TorchWrapper(model,n_descriptors=n_descriptors,n_elements=n_elements) + +torch.save(linked_model,"Ta_ACE.mliap.pytorch.model.pt") diff --git a/examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.1 b/examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.1 new file mode 100644 index 0000000000..d416269aec --- /dev/null +++ b/examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.1 @@ -0,0 +1,494 @@ +# Time-averaged data for fix ace +# TimeStep Number-of-rows +# Row c_ace[1] c_ace[2] c_ace[3] c_ace[4] c_ace[5] c_ace[6] c_ace[7] c_ace[8] c_ace[9] c_ace[10] c_ace[11] c_ace[12] c_ace[13] c_ace[14] c_ace[15] c_ace[16] c_ace[17] c_ace[18] c_ace[19] c_ace[20] c_ace[21] c_ace[22] c_ace[23] c_ace[24] c_ace[25] c_ace[26] c_ace[27] c_ace[28] c_ace[29] c_ace[30] c_ace[31] c_ace[32] c_ace[33] c_ace[34] c_ace[35] c_ace[36] c_ace[37] c_ace[38] c_ace[39] c_ace[40] c_ace[41] c_ace[42] c_ace[43] c_ace[44] c_ace[45] c_ace[46] c_ace[47] c_ace[48] c_ace[49] c_ace[50] c_ace[51] c_ace[52] c_ace[53] c_ace[54] c_ace[55] c_ace[56] c_ace[57] c_ace[58] c_ace[59] c_ace[60] c_ace[61] c_ace[62] c_ace[63] c_ace[64] c_ace[65] c_ace[66] c_ace[67] c_ace[68] c_ace[69] c_ace[70] c_ace[71] c_ace[72] c_ace[73] c_ace[74] c_ace[75] c_ace[76] c_ace[77] c_ace[78] c_ace[79] c_ace[80] c_ace[81] c_ace[82] c_ace[83] c_ace[84] c_ace[85] c_ace[86] c_ace[87] c_ace[88] c_ace[89] c_ace[90] c_ace[91] c_ace[92] c_ace[93] c_ace[94] c_ace[95] c_ace[96] c_ace[97] c_ace[98] c_ace[99] c_ace[100] c_ace[101] c_ace[102] c_ace[103] c_ace[104] c_ace[105] c_ace[106] c_ace[107] c_ace[108] c_ace[109] c_ace[110] c_ace[111] c_ace[112] c_ace[113] c_ace[114] c_ace[115] c_ace[116] c_ace[117] c_ace[118] c_ace[119] c_ace[120] c_ace[121] c_ace[122] c_ace[123] c_ace[124] c_ace[125] c_ace[126] c_ace[127] c_ace[128] c_ace[129] c_ace[130] c_ace[131] c_ace[132] c_ace[133] c_ace[134] c_ace[135] c_ace[136] c_ace[137] c_ace[138] c_ace[139] c_ace[140] c_ace[141] c_ace[142] c_ace[143] c_ace[144] c_ace[145] c_ace[146] c_ace[147] c_ace[148] c_ace[149] c_ace[150] c_ace[151] c_ace[152] c_ace[153] c_ace[154] c_ace[155] c_ace[156] c_ace[157] c_ace[158] c_ace[159] c_ace[160] c_ace[161] c_ace[162] c_ace[163] c_ace[164] c_ace[165] c_ace[166] c_ace[167] c_ace[168] c_ace[169] c_ace[170] c_ace[171] c_ace[172] c_ace[173] c_ace[174] c_ace[175] c_ace[176] c_ace[177] c_ace[178] c_ace[179] c_ace[180] c_ace[181] c_ace[182] c_ace[183] c_ace[184] c_ace[185] c_ace[186] c_ace[187] c_ace[188] c_ace[189] c_ace[190] c_ace[191] c_ace[192] c_ace[193] c_ace[194] c_ace[195] c_ace[196] c_ace[197] c_ace[198] c_ace[199] c_ace[200] c_ace[201] c_ace[202] c_ace[203] c_ace[204] c_ace[205] c_ace[206] c_ace[207] c_ace[208] c_ace[209] c_ace[210] c_ace[211] c_ace[212] c_ace[213] c_ace[214] c_ace[215] c_ace[216] c_ace[217] c_ace[218] c_ace[219] c_ace[220] c_ace[221] c_ace[222] c_ace[223] c_ace[224] c_ace[225] c_ace[226] c_ace[227] c_ace[228] c_ace[229] c_ace[230] c_ace[231] c_ace[232] c_ace[233] c_ace[234] c_ace[235] c_ace[236] c_ace[237] c_ace[238] c_ace[239] c_ace[240] c_ace[241] c_ace[242] c_ace[243] c_ace[244] c_ace[245] c_ace[246] c_ace[247] c_ace[248] c_ace[249] c_ace[250] c_ace[251] c_ace[252] c_ace[253] c_ace[254] c_ace[255] c_ace[256] c_ace[257] c_ace[258] c_ace[259] c_ace[260] c_ace[261] c_ace[262] c_ace[263] c_ace[264] c_ace[265] c_ace[266] c_ace[267] c_ace[268] c_ace[269] c_ace[270] c_ace[271] c_ace[272] c_ace[273] c_ace[274] c_ace[275] c_ace[276] c_ace[277] +0 490 +1 110 633.523 94.3568 17.1047 76.4593 415.72 84.4227 -10.3669 -22.6058 87.5916 -41.6713 14.2935 27.1643 -8.83449 45.539 0.0366547 86.1936 355.524 -9.24098 -4.62886 253.597 -3.89066 -13.051 12.2233 -13.4372 -10.3377 26.0544 5.90582 -29.6058 -123.735 14.1872 28.3718 -2.68723 -36.2963 17.3347 -7.52363 4.01093 21.5542 -150.176 49.1667 106.382 -20.5777 75.3918 12.7539 111.763 -61.6208 56.1044 -51.3912 -31.1257 -21.8452 31.6135 -16.4593 -46.7547 8.4484 -2.80826 -1.50179 2.5356 12.6505 -3.37075 15.4133 24.4245 -17.8721 -68.7976 3.20778 -20.9546 -24.8015 -0.708063 16.8285 25.2232 -31.5949 10.7568 -4.07798 17.5517 -24.71 -27.9933 19.8963 -19.4328 298.998 84.3421 43.4922 99.149 -70.3035 176.822 52.3432 -31.6464 42.3741 32.5112 80.4142 -51.6128 67.8793 -73.6841 197.193 8 1.52077 0.095878 25.0149 2.59269 17.1047 76.4593 0.0761166 0.811713 -1.30106 -0.00129584 0.111902 -0.0021799 0.0422313 -0.251236 0.0584668 -0.0193025 -0.01626 0.0327912 -0.206827 0.9039 -0.0332059 3.01698 -1.13334 0.00387133 6.40468 4.05506 0.00624923 -0.0527616 -2.82349 22.795 -2.42196 0.0251087 0.553167 6.5214 -0.15104 -5.49453 -0.0802715 0.913327 -0.334148 0.371537 0.101263 -0.293913 0.00293122 -14.9572 -0.0221277 -0.438643 -0.00945227 1.15262 0.325325 -0.0479565 -0.0576038 -2.21483 0.0504201 0.051311 -2.85708 -0.252836 -0.147617 0.195349 0.0168697 -0.173079 -0.290278 -0.122316 0.657922 -0.00989331 -3.23063 -0.0649301 -0.0401127 -0.245247 0.0816411 -0.366203 2.08759 -0.808832 -1.27672 0.0275694 0.976563 0.0311902 44.7557 2.54472 4.6908 0.618434 -0.591044 6.06674 0.00299428 0.0388937 0.216562 0.685479 0.0208758 -0.0286578 0.0927639 -0.175599 1.58264 43 415.72 25.0149 84.4227 2.59269 112.55 11.2771 19.2603 -1.22032 27.1819 -1.40836 -1.25201 -13.3198 -0.183368 -1.72716 2.25056 0.669987 -1.28528 -11.5485 4.82046 32.6867 -23.7778 -1.32993 -3.13072 0.649938 -11.5006 -2.62278 5.10788 0.548024 219.188 10.0932 -110.928 30.4814 0.276871 -8.57081 -42.4809 -0.452488 0.144132 -0.275055 1.20694 -20.9224 3.34223 -0.36309 69.1926 28.1069 -0.140381 1.18327 3.75663 4.05765 -1.06858 -3.14327 -1.12221 0.910422 2.88772 10.5331 -4.93061 -11.8662 3.67678 -3.34633 -0.0501799 0.46571 -1.69755 6.2103 -3.44241 -3.91512 26.2264 -1.55167 1.4658 -0.808121 0.272213 6.48859 2.32689 -2.05316 2.03777 1.25839 0.0492927 -7.12287 381.036 52.2256 27.4835 34.5144 -28.0414 61.287 8.66705 -6.46335 7.84842 5.0521 6.94067 -5.54313 6.83136 -6.70729 14.1039 0 +2 0 0 0 0 0 0.019982 -0.390456 1.12581 1.89207 0 0 -0.857617 -2.61627 0 -6.01795 -0.158418 0 0 0 -0.324065 -7.22232 0 0 0 0 0.667987 0 0 1.00017 8.66857 -1.52916 0 -0.312051 0 0 0.506707 -0.143287 0 0 -2.56201 -2.77154 0 0 -0.537342 -11.0941 0 -1.29022 2.76894 -0.277586 0.796272 0.890361 0.341017 0 0.787035 -0.300377 -0.356484 -0.855919 0.32443 -1.06247 0 0 -0.397307 5.54335 0 -0.407508 -0.911793 -1.37427 0 0 0 0 0.867341 -0.994681 0 2.84811 -0.402481 0 0 0 -3.22735 0 2.45634 -10.0229 0 0.16544 -1.18401 -5.69172 0 1.26917 -4.56391 7.1909 -20.1025 0 0 0 0.241195 0.0639042 0 0 0 -0.0459657 0.106911 0 -0.00389019 0 0.0158326 0.140044 0 0 0 0 0.225331 0 0.0323058 0 0.820656 0 -0.413236 0.587186 0 4.10491e-05 0 0 0.109714 0.0038492 0.159886 0 0.0169011 0 0.00532619 0.256212 0.00602296 0.0759359 0.0641599 0 0.000798758 0 0 0 0.00083204 0 0 -0.0094609 0.00781647 0.485082 0.0136809 0 0 -0.0263238 0 -0.00852847 0 0 0.0410094 0.077558 0.218977 -0.0752142 0 0 0.0530495 -0.0472733 -0.0351926 0.451547 -0.19332 0 0.123094 0.0203026 -0.0339193 0 0 0 -3.49898 0 -0.330478 -0.485167 0 -0.0275285 -0.0415255 -0.510493 0 -0.00307907 -0.00455077 -0.0352637 -0.0835054 0 0.019982 0.241195 -0.390456 0.0639042 -0.759856 -0.181214 1.03324 -1.30879 1.381 0.0063192 0.0219018 1.28024 -0.0002765 0.186461 0.160765 0.0231344 0.0116011 0.122308 -0.781495 -0.972351 -1.97601 -0.256802 0.606571 -0.0875305 0.30287 0.193061 0.128699 -0.0127352 -11.2867 -0.426996 -5.63257 -3.23686 0.0240278 -2.30602 -3.41254 0.0901742 -0.00727082 -0.139421 -0.0691262 1.12675 0.222273 0.0334162 -6.47851 -1.95093 -0.000893356 -0.0376847 -0.29641 -0.0975724 0.459619 0.550056 -4.23274 0.861876 0.0322437 -1.84277 -0.535132 -0.693252 0.39943 -0.607263 -0.496174 -0.341922 -1.2043 0.716828 -0.284252 -0.150106 -14.3868 0.29594 -0.691005 0.0741957 -0.0514309 0.0194368 0.191708 0.110249 -0.0389362 -0.203518 -0.053956 -0.39594 17.8276 -4.5702 9.57124 1.13339 -0.796077 1.31363 -0.24636 0.488727 -0.940132 1.38886 -0.0576275 0.192689 -0.428387 0.667578 -1.20912 0 +3 0 0 0 0 0 0.0808912 0.121547 -0.468948 -2.02778 0 0 -0.0211098 -0.110122 0 0.298021 -0.137775 0 0 0 -0.263913 0.537545 0 0 0 0 -0.476959 0 0 -0.292499 -2.83655 0.0284581 0 -0.289833 0 0 -0.17166 -0.0377945 0 0 -0.34874 0.341692 0 0 -0.179071 -0.0306183 0 0.0729532 -0.775892 -0.182881 0.178164 1.92643 0.269242 0 0.232228 -0.526754 -0.0367362 -1.32587 0.356648 0.304077 0 0 0.47708 0.850274 0 0.945601 -0.298679 0.109121 0 0 0 0 -0.199498 0.249846 0 -1.00804 0.646612 0 0 0 2.5315 0 -0.239321 4.86577 0 0.243573 0.0822844 4.38627 0 0.773894 1.24408 -1.78086 9.02317 0 0 0 0.0385285 0.016165 0 0 0 -0.0682327 0.0851058 0 -0.00878235 0 0.00824645 0.0229843 0 0 0 0 0.043077 0 0.00481633 0 0.115596 0 -0.404257 0.280861 0 -0.0200741 0 0 -0.560308 0.00143565 0.0942226 0 0.0201131 0 0.00419684 0.0452706 -0.112095 0.0332536 0.0209025 0 0.000341982 0 0 0 0.000965924 0 0 -0.00335762 0.00614112 0.140695 0.0200946 0 0 -0.0345502 0 -0.00670051 0 0 0.0320887 0.0351037 0.399265 -0.0186175 0 0 -0.0231112 0.0555032 -0.0687172 0.375625 -0.181111 0 -0.13627 -0.0146118 -0.140983 0 0 0 -0.383753 0 -0.10718 2.09452 0 -0.00349675 0.124709 0.0499567 0 -0.000849806 0.0181515 -0.1053 1.27839 0 0.0808912 0.0385285 0.121547 0.016165 0.0396667 0.107017 0.181988 -0.271861 0.283221 -0.0105426 -0.040489 -0.263158 -0.00303637 -0.0892919 0.0372701 0.0966975 -0.0478863 -0.0194905 -0.137559 0.0814059 0.0287002 -0.120067 -0.158307 0.00694866 -0.0952346 -0.157797 0.574322 0.0239262 -0.651573 -0.0681955 -0.85839 0.424409 0.0070428 -1.22533 -0.210788 -0.0368793 -0.00620844 -0.0149489 -0.0107778 -0.998628 0.0709918 -0.0252828 0.87795 -0.205236 -0.0093014 -0.027996 0.0898784 0.0930962 0.053969 -0.233099 -1.24983 0.032921 0.0470698 1.19676 -0.0965457 -1.05756 0.0766464 0.238181 -0.359521 -0.135526 -0.523919 0.820447 -0.140108 0.32224 7.181 -0.0147846 -0.109635 0.0451754 0.0674679 0.455292 0.24586 0.074375 0.0172685 0.137225 -0.0730147 -0.222617 2.71688 0.0287363 3.08648 0.233067 -0.106681 2.46371 0.0531921 -0.105177 0.116088 1.00822 0.00918331 -0.0242064 0.375106 -0.420228 1.24039 0 +4 0 0 0 0 0 0.0452898 -0.063578 0.368607 0.806365 0 0 0.228512 -0.160687 0 -0.712275 0.0279078 0 0 0 -0.0373852 -4.63921 0 0 0 0 0.360022 0 0 -0.24615 -0.451968 -0.173302 0 0.589696 0 0 0.18565 0.0167827 0 0 -0.0138997 -2.61012 0 0 -0.100685 -0.52385 0 -0.925998 -0.498529 0.818834 0.177402 -0.748757 0.209067 0 0.118052 -0.165513 0.648154 -0.648077 -0.854859 -0.992861 0 0 -0.0916018 7.60687 0 -0.877177 -0.186496 -0.681617 0 0 0 0 0.0259129 -0.225929 0 3.61376 -2.02877 0 0 0 -0.163508 0 0.313512 0.935185 0 -0.103632 -0.0491085 0.402943 0 0.553813 -0.845487 2.13829 -3.82208 0 0 0 -0.0138239 -0.00430116 0 0 0 0.0192541 -0.0135089 0 0.00290607 0 -0.00122098 -0.00158384 0 0 0 0 0.0715531 0 0.00921959 0 0.00644316 0 0.10678 -0.0727613 0 -0.00176368 0 0 -0.127885 -0.000127066 -0.0209269 0 -0.00301229 0 -0.000557267 -0.0422624 -0.0152574 -0.00376812 -0.00871224 0 -4.89132e-05 0 0 0 -0.000131848 0 0 0.000268561 -0.000769474 0.0270579 -0.0203729 0 0 -0.00204804 0 0.000839564 0 0 -0.0107921 0.000602497 0.00595497 -0.00104256 0 0 -0.143447 0.0416175 0.00609016 -0.32548 0.192233 0 -0.216201 -0.010181 -0.000871387 0 0 0 -0.0381932 0 0.00679639 0.526047 0 -0.000823092 0.0394045 0.0669008 0 2.52638e-05 0.00478025 0.00771428 0.185085 0 0.0452898 -0.0138239 -0.063578 -0.00430116 0.140598 0.00606572 -0.0610349 0.19885 2.05121 0.000876118 -0.0471416 -0.0526951 0.000336591 -0.00121708 -0.0104564 0.193935 -0.0149982 -0.00282643 -1.79166 0.728803 -0.195444 0.0802618 0.0368793 -0.261541 -0.123188 0.0695546 1.54961 0.00329416 2.3224 -0.199651 0.303343 0.254843 -0.00172064 0.593824 -0.0687065 0.00609889 -0.0074905 0.0453569 -0.0512152 0.475151 0.255687 0.0124658 0.817688 -1.5711 -0.00600475 -0.0293641 -0.30932 0.0892705 0.1872 0.920629 0.724226 -0.298566 -0.0825022 2.02287 0.0318566 -0.121482 0.0948204 -0.0567802 -0.0548485 0.0134769 0.0320435 -0.123632 0.0904469 -4.41836 -17.7616 -0.144281 -0.0750469 -0.0885355 -0.10918 -0.370314 -0.0387531 0.0262936 -0.000286176 -0.111368 0.125043 -0.16848 -0.960107 0.220408 -2.55308 -0.0669897 0.484527 -1.51276 0.0111375 0.0484268 -0.164428 -0.157305 0.00133172 0.0666093 -0.203816 0.371535 -0.752794 0 +5 0 -0.232794 -0.0616963 0.0467445 0.245503 -0.388057 -0.0359665 0.361907 1.38242 0.436281 -0.731379 0.115134 0.192089 -0.00173486 1.59436 -0.0435745 0.813172 4.11494 -0.102815 -0.0785589 2.69157 -0.0059298 0.147922 0.0058826 -0.186312 0.0302869 0.146664 -0.0251779 -0.217775 -1.36373 0.367893 0.051322 -0.370522 0.388197 0.0711514 -0.0568727 0.00652389 -0.15996 1.50343 0.373454 1.22771 -0.0100066 0.577914 0.0405684 1.27307 -0.0258927 0.499639 -0.475884 -0.653669 0.0299502 -1.51566 -0.35372 10.7643 0.0174314 -0.0518855 0.388459 4.06937 1.28049 0.950391 0.227165 -0.0240726 0.0280116 -1.93941 1.90871 1.46363 1.42964 0.493565 0.560752 -0.465615 -0.0853722 0.339786 -0.392852 -0.315104 -0.0763739 0.0482031 -0.385239 0.95256 -3.51566 1.92154 -4.4012 -1.71921 0.460434 0.324988 0.246866 -0.440832 1.45955 -2.218 0.0101897 -0.0766934 0.281728 -0.362182 1.41046 0 0 0 0 0 0.0467445 0.245503 0.00327173 0 0 0 0 0.000403883 0 0.00727051 0 0 0.00319542 0.0100245 -0.00624784 0 -0.000288429 0.0811033 0.0266167 0 0 -0.150209 0.000497364 0 0.0221567 1.00958 0 0 -0.0153113 0.312941 0 0.201718 0 -0.012899 0 0 -0.000988822 0 0 1.20553 0.0085498 0.06385 0 0.0679282 -0.0988161 0 0 0.37891 0 0.00613803 0.222204 -0.00196321 0 0 -0.00606188 -0.00518758 0 0.0154639 0.0280367 0.00847291 -1.06796 0.0174188 0.0194479 0 0.00946217 -0.0868087 0.175315 -0.0696412 0.077349 0 0 0 -10.2073 -0.676228 -0.689285 -0.0469851 0.0249716 -0.710714 -0.00250696 0.00114308 -0.0361361 0.00749362 0 0 0 0 0 0 -0.388057 0 -0.0359665 0 0 0 0 0.55978 0.06439 0 0 -0.848303 0 -0.107725 0 -0.0315963 0 0 0.151942 0 0.439286 0.177624 -0.387447 0.0207182 0 0 -0.22034 0 1.59205 0 0.271239 0.880185 0 1.27732 0.42582 -0.0501712 0 0.0713995 0 0 -0.0101758 0 1.30683 -0.376565 0 0 -0.0208858 0 0 -0.21399 1.26361 -0.174739 0 0.874533 0 1.14698 -0.14357 0.150074 0.0131105 0.136659 0.567175 -0.591667 0.0549897 0.935337 10.7712 -0.152709 0 0 0 0.347913 -0.013083 0 0 0 0 -0.249851 1.40239 3.27376 -4.33282 0.122262 -0.148392 0.150759 0.248971 -0.29801 0.493138 -0.677066 0 0 0 0 0 0 +6 0 0.408405 0.357908 0.0210414 0.069813 0.0121382 0.0988808 -0.0843766 -1.41271 0.139666 -0.0543387 0.0711436 0.522334 -0.00333143 1.14947 -0.0519767 1.56494 5.98634 0.0345361 -0.136925 3.40896 0.0224456 -0.266276 0.0048031 -0.0398739 -0.35053 0.397117 0.0528194 0.218718 0.183796 0.316476 0.0278382 -0.291541 -0.916301 0.197242 -0.0286349 0.0019955 0.189717 -3.57787 0.0817919 1.76818 -0.0184052 0.98968 -0.000744677 1.18492 -0.0784131 0.931365 0.27197 -0.827576 0.0559693 0.280085 -0.0454733 -6.97518 0.208065 -0.142803 0.0309335 -3.38332 0.646293 -0.484123 0.0835808 0.031293 -1.51917 -3.50286 -0.0703177 0.148122 -0.27325 0.101731 -0.20685 0.172928 -0.0456868 0.0342223 -0.580803 -0.267025 -0.327687 -3.95786 -0.177088 0.0320029 7.85294 -0.301634 4.79276 1.66839 -1.24125 2.597 -0.076337 0.486422 -1.19437 2.8777 0.0308582 -0.0258146 0.00438473 -0.0195124 -0.190093 0 0 0 0 0 0.0210414 0.069813 0.00390804 0 0 0 0 0.00070451 0 -0.0271846 0 0 0.001742 0.00793944 -0.0457844 0 -0.00571608 0.0686257 -0.222931 0 0 -0.0218148 0.000354441 0 -0.0173528 1.20073 0 0 -0.000884387 0.281065 0 -0.0165385 0 -0.00530048 0 0 -7.54096e-05 0 0 0.138385 0.014522 0.038599 0 0.0787747 -0.0531688 0 0 0.198838 0 0.00739533 -0.214807 -0.0200106 0 0 -0.00320281 -0.00625019 0 0.00381666 -0.0950474 0.0101133 -1.06633 -0.0155055 -0.00125055 0 0.016052 0.0366109 0.0759911 -0.102132 0.164446 0 0 0 -0.903147 -0.154794 0.785184 -0.00362794 0.0168752 -0.196163 -0.00113713 0.00445665 -0.053517 0.240793 0 0 0 0 0 0 0.0121382 0 0.0988808 0 0 0 0 -0.296856 1.53245 0 0 -0.0367949 0 0.000503111 0 0.0515035 0 0 0.140467 0 -0.168169 -0.126965 -0.00394148 0.0412205 0 0 0.421519 0 7.82274 0 -2.47619 0.605828 0 -0.70078 -0.663598 -0.000368307 0 -0.0586195 0 0 0.184372 0 2.16301 0.0488073 0 0 0.0711663 0 0 -0.0917698 0.736499 0.265291 0 0.248043 0 0.772304 0.155296 -0.205645 0.522816 0.0618484 0.166679 -0.251909 0.348489 -2.51221 -12.66 -0.0722265 0 0 0 0.078496 -0.0637418 0 0 0 0 -0.500808 8.23373 -0.404815 2.7087 0.872253 -0.818858 1.14246 -0.0226735 0.0453883 -0.0645815 0.47073 0 0 0 0 0 0 +7 0 -0.450487 0.675941 0.0219074 0.0382986 -0.0385997 0.194149 -0.909163 -1.10295 0.276846 -0.0273133 -0.203853 0.67938 -0.00102845 -0.730428 -0.0387389 2.44191 7.22677 0.0557517 -0.0780566 3.6871 0.0250138 -0.98717 0.00321615 -0.0476455 -0.856587 0.892877 -0.0277073 -0.518669 -0.126089 0.355706 0.0304564 -0.448159 -1.66909 -0.0730512 -0.70738 -0.0192773 0.133726 -3.04269 -0.182105 1.87127 -0.00917848 1.20036 -0.0152754 -2.26663 -0.0790092 0.931853 -0.343181 -0.904086 -0.00982556 0.863377 -0.307518 -11.0486 -0.0191785 0.0186644 0.177189 -0.677554 0.492212 0.788317 -0.0289736 -0.0137184 1.44049 -3.80813 0.568879 1.41253 -0.199002 0.053122 -0.731214 0.0336917 -0.0621426 -0.444531 0.631703 -0.0729355 -0.432256 -0.125489 0.201487 -1.63652 9.58292 0.803408 4.39175 0.737338 -0.339191 2.94042 -0.100519 -0.11011 0.522289 -0.181547 0.0310929 0.0260378 0.0656683 0.0785414 0.130409 0 0 0 0 0 0.0219074 0.0382986 0.00135175 0 0 0 0 0.000170666 0 -0.0142318 0 0 0.00156076 0.00496401 -0.0166897 0 -0.00218165 0.0562797 -0.105709 0 0 -0.0876842 0.000247232 0 0.0118746 0.873087 0 0 -0.00541252 0.230771 0 0.104156 0 -0.0059067 0 0 6.39643e-05 0 0 0.417075 0.00362105 0.0310469 0 0.0280098 -0.0604151 0 0 0.00172145 0 0.00253747 -0.503281 -0.0209521 0 0 -0.0029646 -0.00214456 0 0.00134368 0.0440069 -0.00483301 -0.74161 -0.0313344 -0.0103974 0 -0.00399341 0.0918387 0.112916 -0.0450966 -0.155518 0 0 0 -3.14068 -0.252856 0.308595 -0.0137953 0.00620799 -0.200916 -0.00123296 0.000416936 -0.016403 0.133891 0 0 0 0 0 0 -0.0385997 0 0.194149 0 0 0 0 -0.0967718 0.275058 0 0 -0.00415843 0 -0.0074572 0 -0.0288431 0 0 0.36345 0 -0.798876 -0.0304463 0.0691981 0.0395686 0 0 -0.215199 0 1.70101 0 -1.30977 -0.279605 0 -0.153047 -1.01579 0.00669675 0 -0.0157271 0 0 0.0281333 0 -0.133037 -0.252636 0 0 -0.029346 0 0 -0.115157 -3.02996 0.107171 0 0.507548 0 -0.193303 -0.00682507 -0.0233335 -0.122144 -0.0384146 -0.155622 -0.131978 -0.0350041 -0.793717 -5.44704 0.0515272 0 0 0 0.117069 0.0692092 0 0 0 0 -0.120104 -0.129237 0.00390137 -0.233918 0.300365 -0.505751 0.912965 0.0421739 -0.0157202 -0.0137363 0.0429891 0 0 0 0 0 0 +8 0 0.584324 0.29765 0.0636737 0.287644 -0.248735 0.153581 0.135495 1.68446 0.434626 -0.532894 0.19315 2.09657 -0.00824769 3.09109 -0.0402718 2.47489 11.7432 0.0580193 -0.0720326 4.44753 0.0556761 0.0044409 0.0115029 -0.0994597 0.191177 0.540984 0.0373197 -0.268626 -0.325856 0.781959 0.0708024 -0.111851 0.444128 0.362564 -0.178766 0.0302632 0.0502902 2.09309 0.559554 1.91428 -0.0452547 1.50719 0.0867806 8.02709 -0.212336 0.795289 -0.235012 -0.139933 -0.226286 1.54703 -0.0504195 -0.651988 -0.00941635 -0.254261 0.0670759 2.0856 -0.26459 -0.124975 -0.0150691 0.0441198 0.101082 -1.75331 -0.866645 0.711193 -0.39535 0.825997 -1.23592 -0.313545 -0.096901 -0.0800771 -0.73826 0.377743 -0.388239 -0.810143 0.437346 -2.30345 -5.72156 0.335825 -4.53023 -0.989095 -0.783149 0.0886175 -0.0237216 -0.370558 0.790827 -1.11686 0.112021 -0.150298 0.276383 -0.505962 0.584471 0 0 0 0 0 0.0636737 0.287644 0.00239925 0 0 0 0 2.23618e-05 0 -0.00586242 0 0 0.00314778 0.0104555 -0.00860371 0 -0.000874741 0.119954 -0.0577262 0 0 0.0565586 0.000542178 0 0.00935168 1.76942 0 0 0.0128946 0.47395 0 0.166484 0 0.0292118 0 0 0.00463587 0 0 0.987316 0.000677942 0.0625224 0 0.0473443 -0.123853 0 0 0.244484 0 0.00352773 -0.541365 -0.0133744 0 0 -0.00643665 -0.00444539 0 0.0074196 0.0371482 -0.00166275 -1.17522 -0.0437778 0.0144619 0 0.000700365 -0.0176131 0.0384149 -0.0469807 -0.0824571 0 0 0 -8.33186 -0.631117 -0.246891 -0.039225 0.002872 -0.414406 -0.00260963 -0.000219183 -0.0253829 0.0647454 0 0 0 0 0 0 -0.248735 0 0.153581 0 0 0 0 0.302408 1.75888 0 0 -0.543828 0 -0.0685075 0 0.0737097 0 0 0.492553 0 0.656941 0.111571 -0.147128 0.0607748 0 0 0.60657 0 13.9762 0 1.09502 1.59453 0 0.648153 0.981894 -0.0173027 0 0.053953 0 0 0.203376 0 4.58314 1.16437 0 0 0.164221 0 0 -0.129804 -0.277726 -0.167073 0 3.31741 0 -0.283863 -0.150368 0.144605 -0.232226 -0.0276781 -0.105026 -0.0673972 -0.0434842 -1.37371 7.74037 -0.0323949 0 0 0 0.571723 -0.00151934 0 0 0 0 -0.683725 3.8939 2.26122 -1.15804 -0.363648 0.512626 -0.513237 0.197519 -0.178479 0.23702 -0.226405 0 0 0 0 0 0 +9 0 0.154188 0.535924 -0.0267739 -0.0213723 0.0488454 0.284284 -1.7374 -3.06944 -0.25225 0.42952 -0.329674 0.330665 0.00774833 -0.182294 0.0316744 0.960508 1.49145 0.0159877 0.109613 -2.11335 -0.0299366 -0.827103 -0.00981428 0.049616 -0.966205 0.512866 -0.101995 -0.4639 -0.213681 0.2547 -0.0543654 0.131154 -1.73567 -0.112997 -0.682029 -0.0319448 -0.331141 -4.44741 -0.481056 -0.394358 0.0456259 -0.583577 -0.0597516 -0.241779 0.223269 0.305046 -0.372758 0.496298 0.117518 0.132261 0.680502 2.77461 -0.219732 0.260694 0.10241 2.33937 0.526661 0.675451 -0.257438 -0.116347 1.76258 -0.819692 2.99162 1.50207 0.378214 -0.0494956 0.0127507 -0.395871 0.110725 0.527135 0.955675 0.0918825 0.100926 0.180613 -0.149921 0.543808 14.1746 -0.138737 9.15513 0.596944 0.615138 3.68907 0.135092 0.406897 -1.0026 3.80971 -0.117789 0.129731 -0.143868 0.428708 0.383268 0 0 0 0 0 -0.0267739 -0.0213723 0.00393585 0 0 0 0 0.000648707 0 -0.0190722 0 0 0.00215017 0.00205954 -0.0137142 0 -0.00145775 -0.0306431 -0.164115 0 0 -0.143701 8.55657e-05 0 0.0398018 0.716856 0 0 -0.017334 0.0637653 0 0.151735 0 -0.0360641 0 0 -0.00487022 0 0 0.625088 0.0126608 0.0444846 0 0.0765527 -0.0485864 0 0 0.288534 0 0.00867682 0.1251 -0.021123 0 0 -0.00443442 -0.00538783 0 0.0172517 -0.00800338 0.00316036 -0.560336 0.037698 -0.000963914 0 0.0103024 0.0976422 0.426003 -0.146628 0.0500885 0 0 0 -5.87273 -0.425038 0.252088 -0.0280169 0.00551441 -0.322474 -0.00154028 0.00285888 -0.0430216 0.239943 0 0 0 0 0 0 0.0488454 0 0.284284 0 0 0 0 -0.402137 -1.04126 0 0 0.424921 0 0.060032 0 -0.0768639 0 0 -0.00410363 0 -0.464142 -0.143231 0.233608 0.00949784 0 0 -0.629343 0 -0.546806 0 -1.67645 -0.354268 0 -0.951349 -0.690361 0.031077 0 -0.0525322 0 0 -0.126852 0 -1.0584 0.500232 0 0 0.0885047 0 0 -0.171789 -1.55571 0.110432 0 -2.42795 0 -0.26519 0.188239 -0.23953 0.192753 -0.0846432 -0.295572 0.0577574 0.199748 2.27606 2.62445 0.102034 0 0 0 -0.0936066 -0.081837 0 0 0 0 0.294643 5.88268 -1.59725 3.79852 0.763623 -0.771099 1.01195 -0.162746 0.183131 -0.276591 0.559684 0 0 0 0 0 0 +10 0 0.0173956 -0.482869 -0.0118994 -0.0837503 -0.0470194 -0.128835 0.803505 1.0553 -0.0754237 -0.375026 0.0226336 -0.244588 0.00093001 0.339605 -0.00259327 -1.62261 -3.57304 -0.124053 -0.0161114 2.50218 -0.0488618 0.593496 -0.00143811 -0.150603 0.527207 -0.630259 -0.0541153 0.505202 0.994817 -0.28055 -0.00988343 -0.125648 1.22488 -0.128922 0.408986 -0.00390139 -0.27205 2.77858 -0.0512671 0.64386 0.00455731 -1.0159 -0.0159992 2.0944 0.0154753 -0.234041 0.69215 -0.229168 0.0696428 -0.838768 -0.11053 7.70174 0.0131702 -0.000168859 -0.0256962 1.95536 0.671473 0.55148 0.270033 0.0042576 -1.93902 -2.78855 -1.14775 -1.29658 0.472709 -0.977338 0.750232 -0.31154 0.00679921 0.247682 0.0264821 -0.140356 0.295913 -0.63911 -0.4447 1.37073 -8.04425 -0.262402 -3.16357 -0.563999 0.722309 -4.49167 0.674665 -0.34241 0.254433 -2.60695 -0.00816423 0.01372 -0.276294 0.0586189 -1.78435 0 0 0 0 0 -0.0118994 -0.0837503 -0.000498494 0 0 0 0 -1.52335e-06 0 -0.000363752 0 0 -0.000619375 -0.00154712 0.00165975 0 3.01919e-05 -0.0326659 0.0130897 0 0 0.0867996 -7.52074e-05 0 0.00258961 -0.518609 0 0 0.0111143 -0.16119 0 0.00956524 0 0.00847656 0 0 0.00102077 0 0 -0.137653 -0.000194711 -0.0130552 0 -0.0120778 0.0187154 0 0 -0.147885 0 -0.000855879 0.00806315 0.00387802 0 0 0.000972134 0.000827162 0 -0.00588206 -0.0607538 -0.00495171 0.282956 0.0122181 -0.00147389 0 0.000154639 0.0114193 -0.0916798 0.000741508 -0.0663118 0 0 0 1.12659 0.0905059 0.0337027 0.00495559 -0.00342695 0.0868583 0.000429701 -0.00101167 0.0135454 -0.0350344 0 0 0 0 0 0 -0.0470194 0 -0.128835 0 0 0 0 0.0690666 -1.01289 0 0 -0.225003 0 -0.034553 0 -0.0707201 0 0 1.03808 0 0.463917 0.0255822 -0.189126 0.130841 0 0 -0.531027 0 0.657536 0 0.748684 -0.00273801 0 0.225839 0.459011 -0.0264273 0 0.00036115 0 0 -0.136818 0 0.268223 1.79563 0 0 0.228033 0 0 -0.171953 0.758139 0.154944 0 -0.226404 0 0.452418 -0.141217 0.0363962 0.151569 -0.0455233 -0.0629108 -0.125153 0.0454194 2.10703 8.84509 0.0387567 0 0 0 0.235923 -0.0194963 0 0 0 0 0.0361043 -11.0068 0.46528 -2.75474 -0.0113142 -0.227614 0.140126 0.0364532 -0.0868196 0.196104 -0.184286 0 0 0 0 0 0 +11 0 -0.0693869 -0.0499976 0.0748276 0.247259 -0.342451 -0.0167211 0.451829 1.70015 0.556577 -1.09629 0.45859 0.782393 -0.0214446 2.06355 0.12846 0.139865 -0.633913 -0.219971 0.194682 -1.20466 -0.0271918 0.0763624 0.0323794 -0.249373 0.156305 0.140994 0.0243123 -0.279916 -1.59776 0.581485 0.133276 0.780227 0.054433 0.155025 -0.00890998 0.111441 0.159935 0.343293 0.792059 0.0123761 -0.0592228 1.03002 0.19089 2.66989 -0.0830764 0.308574 -0.650271 1.3518 -0.274166 -1.18262 -0.336313 7.48269 -0.468446 0.193032 0.257476 2.62296 0.926927 1.40077 0.337393 0.0445729 -0.538727 -3.69065 0.466801 -0.126965 0.702907 -0.00651531 0.391095 0.00546422 -0.227554 0.489555 -0.20343 0.478364 -0.382356 -0.366818 -0.673711 2.40646 -1.36542 2.73117 -4.54957 -1.51923 0.369952 0.106784 0.540714 -0.553168 1.91297 -2.78226 0.0779878 -0.411016 0.793886 -1.1737 1.69019 0 0 0 0 0 0.0748276 0.247259 0.00525403 0 0 0 0 0.00110809 0 -0.00723532 0 0 0.00364596 0.0186878 -0.0605195 0 -0.00799859 0.189166 -0.0612951 0 0 -0.169939 0.000888124 0 0.0695598 2.02629 0 0 -0.0105701 0.65966 0 0.352367 0 -0.0408651 0 0 -0.0020194 0 0 1.53213 0.023467 0.0744586 0 0.109254 -0.0966191 0 0 0.294938 0 0.00985245 0.181615 -0.0238228 0 0 -0.00687342 -0.00832684 0 0.0157197 0.0301861 0.0124275 -0.0203047 0.039244 0.00269476 0 0.0191249 -0.085905 0.548129 -0.0958675 -0.188713 0 0 0 -12.3513 -0.747986 -0.469465 -0.0555879 0.0728934 -1.2495 -0.00276318 0.00292839 -0.0555585 0.080557 0 0 0 0 0 0 -0.342451 0 -0.0167211 0 0 0 0 0.393571 0.809762 0 0 -0.923945 0 -0.116223 0 0.0381025 0 0 -0.16385 0 0.494512 0.149359 -0.370405 -0.0241201 0 0 0.27596 0 2.54857 0 0.364494 0.923363 0 1.195 0.407333 -0.0479318 0 0.0436596 0 0 0.102034 0 1.62258 -0.564493 0 0 -0.0519929 0 0 -0.664547 1.72801 -0.545285 0 1.76486 0 0.315445 -0.0169185 0.234796 0.569026 0.125845 0.115081 -0.269356 0.0640097 0.0472039 4.92086 -0.192473 0 0 0 0.612174 0.0231085 0 0 0 0 -0.317627 2.96093 3.07744 -3.33541 -0.137062 0.343769 -0.524661 0.286786 -0.326415 0.527595 -0.689124 0 0 0 0 0 0 +12 0 1.08763 -0.339703 0.0929581 0.0620113 0.0618232 -0.244834 1.09338 1.1106 0.501591 -1.66018 0.280322 -1.07438 -0.0410199 -1.1351 -0.0353698 -1.82408 -4.17528 -0.34578 -0.197758 -1.78141 -0.0978375 0.818244 0.0516006 -0.553804 0.762147 -0.744218 -0.0464321 0.38465 -0.551802 -0.568304 0.184114 -0.171205 0.984223 -0.0881162 0.698118 0.0594257 -0.00941733 -0.462672 0.636543 -1.28578 -0.152424 0.59185 0.167029 -2.3867 -0.486016 -0.934852 0.0678156 -0.613687 -0.338627 -0.557586 -0.76854 5.06392 0.344794 -0.186407 0.332673 0.958802 0.438991 0.00423121 0.775857 0.281996 -2.05366 -0.292218 -1.78961 -1.25907 0.505317 -0.244556 0.468115 -0.422644 -0.262368 -0.0731759 -0.491987 0.369057 -0.0129571 0.725302 -0.647967 1.06822 0.909611 1.33353 0.127095 1.92448 -1.7992 2.72689 1.70542 -1.1512 1.632 -0.275263 0.456247 -0.528363 0.516067 -0.597346 0.583723 0 0 0 0 0 0.0929581 0.0620113 -0.00112013 0 0 0 0 0.000192605 0 -0.0498714 0 0 -0.000243409 0.0145843 -0.146375 0 -0.0194829 0.0471023 -0.365096 0 0 -0.100086 0.000668821 0 -0.0188539 -0.78145 0 0 -0.010787 -0.083534 0 -0.0776348 0 -0.0274702 0 0 -0.00119387 0 0 -0.673992 0.00415405 -0.00162333 0 -0.0238746 0.00257757 0 0 -0.0934623 0 -0.00208484 -0.934988 -0.0232388 0 0 0.000548819 0.00176201 0 -0.00162163 0.0272933 -0.00503628 -0.453494 -0.074179 -0.0389019 0 -0.0110741 0.286128 0.099174 -0.0570806 0.0350712 0 0 0 5.72741 0.259743 1.69934 0.0264055 -0.0126404 0.386278 0.000387175 0.00318966 -0.0261531 0.397885 0 0 0 0 0 0 0.0618232 0 -0.244834 0 0 0 0 0.297952 1.42233 0 0 -0.490541 0 -0.0649882 0 0.0278932 0 0 -0.213933 0 0.41794 0.0230929 -0.20806 -0.0245706 0 0 0.225301 0 1.43929 0 -2.32828 -0.0767548 0 0.162597 0.0516616 -0.0277963 0 0.0432921 0 0 0.170198 0 0.0191173 -0.810889 0 0 -0.105753 0 0 -0.149354 0.167227 -0.0662433 0 1.26226 0 0.0865308 0.110864 -0.0101787 0.277215 0.113139 0.162118 -0.163754 -0.0303093 -1.4154 -1.3407 -0.117187 0 0 0 0.233394 0.0539795 0 0 0 0 -0.387902 13.0631 2.4701 -0.519182 0.780618 -0.621508 1.00488 0.175551 -0.169294 0.255116 -0.121288 0 0 0 0 0 0 +13 0 -0.17679 -0.466342 -0.0371808 -0.0858168 0.0607652 -0.040671 0.304687 1.15219 -0.247871 -0.926725 -0.315125 0.711885 0.0128282 1.3673 -0.105015 -2.06737 -6.37106 -0.241063 -0.107423 3.68447 -0.0998675 0.559434 -0.0178078 -0.301294 0.488495 -0.70835 -0.140282 0.410849 0.829927 0.225789 -0.0690255 -0.669395 1.20021 -0.631643 0.273392 -0.0806937 -0.693694 2.68222 -0.521829 1.74984 0.0413415 -2.99388 -0.130215 4.22726 0.0991218 0.644406 0.475722 -0.822277 0.255311 -1.72139 -0.43797 6.03403 0.191344 -0.065993 -0.119214 -2.84996 0.327311 0.564721 0.41989 -0.0563902 -0.649923 -4.1157 -0.749905 -0.93217 1.20768 -0.529732 0.389171 -0.831007 0.109998 0.4145 0.266359 -0.492412 1.05655 -3.00115 0.335764 3.22646 -6.27686 0.396117 -2.60513 -0.937835 1.21105 -2.95658 1.25349 -1.1381 1.52551 -2.60696 -0.0930504 0.291756 -0.441974 0.668053 -0.877937 0 0 0 0 0 -0.0371808 -0.0858168 -0.00256624 0 0 0 0 -0.000648208 0 -0.00170956 0 0 -0.00141757 -0.00987129 0.03109 0 0.00329595 -0.13609 0.0205494 0 0 -0.0606185 -0.00046328 0 0.0469787 -1.71755 0 0 -0.00576424 -0.497611 0 0.110522 0 -0.0102068 0 0 -0.00157108 0 0 -0.0426562 -0.0138335 -0.0301872 0 -0.0549834 0.0540398 0 0 -0.260402 0 -0.00476872 0.0882737 0.0129944 0 0 0.00263919 0.00403031 0 -0.00224748 0.0326018 -0.0111664 1.71736 0.0360411 -0.0230532 0 -0.00923211 0.0696225 0.0172462 0.0671114 -0.256297 0 0 0 0.373178 0.130143 -0.0505412 0.00174221 -9.30923e-05 0.0185015 0.000999429 -0.00238965 0.0326379 -0.0296978 0 0 0 0 0 0 0.0607652 0 -0.040671 0 0 0 0 0.223285 -2.47944 0 0 -0.150544 0 -0.0253725 0 -0.138329 0 0 0.649613 0 0.536738 0.0820745 -0.0886454 0.074966 0 0 -1.11769 0 -6.14128 0 1.79948 -0.505519 0 0.513 0.844503 -0.0127253 0 0.040738 0 0 -0.304716 0 -1.9048 1.44075 0 0 0.159769 0 0 -0.350117 -1.61871 -0.185738 0 -1.72483 0 -0.560699 -0.115015 0.0906634 -0.0596499 -0.110889 -0.45549 -0.0781626 -0.215349 4.70164 17.0008 0.129201 0 0 0 0.177493 0.048957 0 0 0 0 0.541416 -11.4229 0.675964 -3.05231 -0.225889 0.0408535 -0.273627 0.061797 -0.0943719 0.171823 -0.398009 0 0 0 0 0 0 +14 0 -0.360831 -0.0323764 0.0247246 0.0922011 -0.0937539 0.0191402 -0.00977133 -0.134655 -1.8134 0.534012 0.070036 1.11833 -0.165537 1.33332 0.0859014 -0.236246 -2.05392 0.064546 0.437357 0.0937475 0.0909388 0.0479156 -0.0842365 0.576013 0.154091 -0.0052173 -0.115528 -0.0197894 -0.107472 0.391286 -0.49032 0.215804 -0.0224407 -0.68737 0.0973663 0.0583622 -0.114608 -1.3143 0.168803 0.000614598 -0.17634 -2.18501 0.148003 4.10654 -0.204614 -0.00174825 -0.0431387 1.04419 -0.0542582 0.875643 1.0246 0.893025 -1.39882 0.0482768 -0.012478 0.167341 -1.12577 0.372293 -0.850319 0.024352 0.728422 0.169802 0.0912345 1.79032 -0.679794 -0.468785 -2.09532 0.417792 2.2887 0.000547628 0.229903 0.0449257 0.358037 0.81019 0.00305944 -0.279962 5.80864 -0.0584615 0.243582 -0.685418 0.223497 0.274363 -0.344856 -0.254808 0.209691 -0.514139 0.0716785 -0.0468577 0.0275614 -0.0162899 0.00917822 0 0 0 0 0 0.0247246 0.0922011 -0.0126745 0 0 0 0 -0.00328926 0 0.0291657 0 0 -0.000959255 -0.0142722 0.096627 0 0.0136195 1.06 0.274995 0 0 1.73126 -0.000649729 0 0.204086 7.00196 0 0 0.221197 2.69513 0 0.326197 0 0.618185 0 0 0.0762646 0 0 0.391743 -0.0656584 -0.0186367 0 -0.23839 0.0260846 0 0 0.447215 0 -0.00766656 -1.0004 -0.0273554 0 0 -0.0034553 0.0341754 0 0.0468895 0.607507 0.00307607 -4.5769 -0.0275743 0.0488413 0 -0.126849 -0.107715 0.722221 -0.285118 -0.142538 0 0 0 -10.0698 -0.574582 -1.74785 -0.0460902 -0.0577367 -0.00246348 0.000427544 -0.00123193 0.00232103 -0.0272104 0 0 0 0 0 0 -0.0937539 0 0.0191402 0 0 0 0 -0.0379776 -0.948336 0 0 -0.298171 0 -0.0304727 0 -0.0192381 0 0 0.0333784 0 -0.113881 -0.0242694 -0.0419105 0.00371701 0 0 -0.159549 0 -4.29269 0 -2.06952 0.00264889 0 -0.0927754 -0.567024 -0.00266828 0 -0.00903598 0 0 -0.11156 0 -0.543839 0.14633 0 0 0.024392 0 0 -0.304196 0.915784 -0.171196 0 -0.838088 0 0.0814484 0.0970918 0.0905956 -0.120931 -0.104641 0.327342 0.165942 0.108845 0.600114 -0.552073 0.0866875 0 0 0 -0.0415845 -0.127275 0 0 0 0 0.264042 19.7971 4.13295 -0.625901 1.16785 -0.526215 0.647859 0.301294 -0.170951 0.170054 -0.0174692 0 0 0 0 0 0 +15 0 -1.74981 -0.180366 0.19479 -0.141343 -0.0472079 -0.0341252 0.191641 0.460052 -0.0609859 0.822719 0.0158986 0.840814 -0.50052 0.255554 -0.00418887 1.50318 2.57965 -0.209189 -0.141686 -0.515926 -0.16209 0.17329 0.593498 0.533957 0.334929 0.609663 -0.0242707 0.00543818 0.0206274 0.202934 0.723957 0.171332 1.23261 -0.315158 0.106786 0.0312357 -0.647567 6.99018 0.0539241 -0.138911 -0.392623 -2.06232 0.115436 1.80929 -0.269384 -0.0341018 0.00848065 0.70482 -0.18143 0.728863 -0.384145 -6.85084 -0.537922 -0.20894 0.0820144 1.51728 -1.66906 0.582454 -0.21626 0.366449 1.06604 -0.52778 -2.19585 1.04007 -0.73044 0.486711 -0.935033 0.39592 0.0415486 -1.4075 -0.0265205 0.0760188 1.73671 1.41801 -0.0364445 -3.42038 -27.2244 -3.40676 -0.797515 -4.43193 4.10085 -6.50138 -0.898504 0.326861 -0.392984 -0.06427 0.0943683 -0.0322095 0.00788987 -0.000559474 -0.00176161 0 0 0 0 0 0.19479 -0.141343 -0.00147558 0 0 0 0 0.00220936 0 0.00148894 0 0 -0.00110761 -0.0890817 -0.0623125 0 -0.0146898 0.136818 -0.0254981 0 0 -0.360488 -0.0045075 0 -0.876518 -1.59451 0 0 -0.0547433 -0.310649 0 -1.50303 0 -0.375908 0 0 -0.0527484 0 0 -1.27408 0.0379102 -0.0247951 0 -0.0347726 0.171463 0 0 -0.708545 0 0.0072796 0.223667 0.00875984 0 0 0.00397294 0.00977134 0 -0.0282408 -0.112282 -0.0185688 1.22572 0.0614324 0.0152873 0 0.000355272 0.0228722 -0.128228 0.0471051 0.157396 0 0 0 11.2624 0.711635 0.897134 0.0483099 0.0573723 0.0673784 0.00205828 0.00189779 -0.00234957 0.00958323 0 0 0 0 0 0 -0.0472079 0 -0.0341252 0 0 0 0 -0.0125519 0.0550934 0 0 0.195177 0 0.00988143 0 0.00317 0 0 -0.037554 0 0.0377387 0.0234714 0.0424065 -0.00197988 0 0 0.00481324 0 -0.632316 0 2.89844 0.0223073 0 -0.103758 0.47372 0.00245101 0 0.00443619 0 0 0.020623 0 0.00812677 -0.304397 0 0 -0.0281381 0 0 -0.203358 -2.2523 0.106201 0 -0.56297 0 0.581282 -0.101024 0.0230202 0.363188 0.0121617 -0.649084 -0.964466 -0.0649957 -0.701258 -4.48499 -0.109519 0 0 0 -0.0926339 0.0599341 0 0 0 0 -0.0252643 -24.8125 -3.55909 1.50192 -1.9606 1.42751 -1.64924 -0.178869 0.15939 -0.163631 0.0868871 0 0 0 0 0 0 +16 0 -0.270966 -0.184027 -0.0604575 -0.0905579 0.108126 0.0158779 0.125162 0.40223 -3.1684 -0.433939 0.07774 0.333083 -0.103485 0.13427 0.107466 -1.60091 -4.80384 -0.126646 0.71951 -0.854627 -0.0484486 0.0237904 -0.486728 -0.25165 0.157382 -0.524219 -0.188433 -0.00190345 -0.220031 0.00350511 -1.29359 0.250847 0.0358596 -0.684426 0.0215307 0.0259091 -0.920623 0.611157 0.429761 -0.0969294 -0.308759 -2.85819 0.166827 1.29192 -0.812682 -0.003997 -0.0355014 1.73562 0.2048 -0.237984 0.24083 1.29722 -2.07015 0.158133 -0.0711534 1.77113 0.690086 1.34129 -0.198567 -0.313779 0.629697 -0.868479 0.226523 -0.104136 0.352967 -0.389257 0.703953 -0.392965 3.7119 -1.14959 0.403254 -0.100883 0.5074 -0.287565 0.0307212 0.85471 0.084667 0.48827 0.166338 1.1625 -0.425134 0.355631 -0.284864 0.166971 -0.0684344 -0.125126 0.284692 -0.143951 0.0732417 -0.0369448 0.0187909 0 0 0 0 0 -0.0604575 -0.0905579 -0.0129651 0 0 0 0 -0.00634987 0 -0.0285368 0 0 0.00265261 0.0272867 -0.0618557 0 -0.0107882 -0.392857 -0.162714 0 0 -0.654163 0.0015121 0 0.0116914 -4.49546 0 0 -0.0917846 -1.47753 0 0.0760712 0 -0.262716 0 0 -0.0361496 0 0 0.216779 -0.122143 0.0465453 0 -0.252922 -0.067637 0 0 -0.352807 0 -0.0154046 -1.27452 0.0217599 0 0 -0.00545827 0.0280088 0 -0.0296826 -0.0495605 -0.0310996 -1.29359 -0.164827 0.028381 0 0.01487 0.0716928 -0.229016 0.113973 0.0846319 0 0 0 -1.53676 -0.267678 0.636298 -0.00946113 -0.00249218 -0.0259062 -0.00212472 -0.00143468 -0.00446985 0.0155541 0 0 0 0 0 0 0.108126 0 0.0158779 0 0 0 0 0.0382177 -0.359555 0 0 -0.0389935 0 0.00262022 0 -0.0020522 0 0 0.0281428 0 0.0185873 0.0178359 -0.00902641 0.00167759 0 0 -0.0355253 0 -1.60602 0 0.208259 -0.0629378 0 0.0766525 0.0147731 0.000370438 0 0.00637339 0 0 -0.0266552 0 -0.192161 0.0950722 0 0 0.0145409 0 0 0.0883956 2.1377 -0.0814091 0 -0.00931382 0 -0.273262 0.0101873 0.0351078 -0.0616229 -0.0728945 -0.0530757 0.564867 0.0081787 0.108821 2.71833 0.0473585 0 0 0 -0.0639352 0.0157499 0 0 0 0 0.115802 2.05383 0.419007 -0.360624 -0.177772 0.0642749 0.109284 -0.0586237 0.0504371 -0.0151968 0.0355482 0 0 0 0 0 0 +17 0 0 0 0.212765 -0.247103 0 0 0 0 1.90144 0.443722 -0.270175 0 -0.405172 0 0.0329873 0 0 0.0504901 0.492016 0 -0.00617227 0 0.886639 0.0596703 0 0 0.815085 0 0 0 1.30839 -0.029645 0 1.61341 0 0.00610689 2.69664 0 -0.6611 0 0.00738461 5.69819 0.13687 0 2.45333 0 0 0.342499 0.849535 0 0.824258 0 0.874398 0.39809 0.409169 0 -0.433413 -0.501445 -0.141877 -0.628759 0 0 0 0 -0.610755 0 0.195522 2.62967 -3.72972 0.886809 0.0212973 -0.239565 -2.59791 0 0 -0.739295 0 0.617411 0 -5.09291 1.74743 0 -4.46389 1.71525 -0.0210415 0 -7.5895 3.97874 -3.02236 1.19652 0 0 -0.266115 -0.0356754 0.0482922 0.0052401 0.212765 -0.247103 -0.0656318 0.0565692 0.293856 0.00089649 0.0060006 -0.00267657 0.011479 -0.0619308 -0.0483397 0.00881545 -0.00489196 0.0599662 -0.253135 -0.521458 -0.0596328 1.26537 -0.187417 -0.00424296 0.323179 2.39854 0.0012312 -0.000532543 0.0385404 7.69227 -0.200986 -0.00589575 0.336841 3.41692 0.0395879 0.578348 0.0347478 0.80927 -0.0251328 -0.00147217 0.102588 0.0706185 4.92759e-05 1.08917 -0.0564824 -0.00961521 0.00456252 -0.725585 0.210018 0.041047 0.028912 -0.159788 -0.0580094 0.0377183 0.208707 -0.111394 0.157081 -0.0951465 0.00686678 0.347284 0.0108385 -0.0142693 -0.397972 -0.0263042 -4.62628 0.140562 0.0175739 0.0638331 -0.149648 0.273229 -2.52815 0.977903 -0.174669 -0.0424185 -0.114983 -0.0243863 -0.930114 -0.00946623 0.282982 -0.156304 0.16482 -0.0721522 0.0139157 -0.0158248 0.00649672 -0.0102697 -0.0174991 0.0192614 -0.0148423 0.00485937 0.0583008 0 0 0.0482922 0 0.0052401 0 0 0.406647 0 0.317393 0.0901651 -0.00782472 0.194512 0.0135066 0.00961929 0.0473058 -0.0184719 -0.0372978 0.602327 0 0 0 0 0.105335 0 -0.140367 0 -0.109714 0 0 -0.103642 0 0 0.00262537 0 0 0.0185053 -0.0064105 0 -0.0164844 0 0.0593789 0 0 0 -0.00296153 -0.04555 0 0 -0.129992 0 0 0 0.202435 0 -0.247488 0 -0.342808 0.408802 0.127298 0 0 -0.125017 -0.0298886 -0.713448 0 0.0795669 0 -0.0622147 0 -0.228533 0.0882673 0.181669 -0.0899495 -0.114944 0.0997537 0.155673 0 -0.677388 0 -3.68875 0.742404 0 -1.63313 0.704392 -0.268216 0 -1.7241 0.928037 -0.474432 0.0761165 0 0 +18 0 0 0 0.0170252 0.0251478 0 0 0 0 -3.27233 -1.78056 0.190677 0 -0.408804 0 0.0862514 0 0 -0.364901 0.960776 0 -0.0756892 0 -0.56623 -0.465425 0 0 0.0129813 0 0 0 -1.4562 -0.692185 0 -0.333989 0 0.0643235 0.177563 0 1.17549 0 -0.865098 -0.162913 0.282639 0 -2.68729 0 0 0.132767 -1.09976 0 -1.79966 0 -0.56313 -0.481657 -0.0451481 0 0.00729078 0.621319 1.77339 1.3606 0 0 0 0 -0.29862 0 0.455165 1.02177 5.17635 -0.113288 -1.71709 0.509904 2.80622 0 0 2.77689 0 5.85542 0 9.27 -2.72474 0 5.43163 -2.82224 2.7413 0 6.82766 -4.18246 4.37396 -2.32787 0 0 0.0278102 0.00688175 -0.0592334 -0.00576325 0.0170252 0.0251478 0.0498477 -0.0172671 0.272119 -0.000667838 -0.00157958 -0.00799829 -0.00861553 0.0025398 0.0089818 -0.00519899 -0.00685408 0.0526119 0.120802 0.0656159 0.0227879 0.542835 0.110879 0.00101293 -0.162123 -0.194067 0.0128278 0.00665277 0.0832237 1.35749 0.145641 0.0179547 -0.0287789 0.777423 0.0180991 0.000563703 0.0347912 0.0651418 0.0351835 0.112361 0.0232254 -0.0345594 -0.000326606 -0.234485 -0.174478 -0.109752 0.00334828 0.161893 -0.066804 -0.0582627 0.0546766 0.144062 0.0682334 0.143773 0.451906 -0.176613 -0.0205277 -0.0734932 -0.0133563 -0.115073 0.05157 -0.0661745 0.0899957 0.0434338 -4.01361 0.25931 -0.0665869 -0.0303287 -0.235447 0.0605575 -0.178311 -1.28315 -0.387027 -0.0394232 0.0340696 0.0117321 0.200242 -0.234596 -0.0910378 0.326982 -0.375229 -0.0281773 -0.0220996 0.0411602 -0.040174 0.0110575 0.00778003 -0.032954 0.0658127 -0.0679684 -0.0422467 0 0 -0.0592334 0 -0.00576325 0 0 -0.189999 0 -0.532728 -0.0744945 -0.00267574 -0.649663 -0.0118171 -0.157074 -0.00308347 -0.0422441 -0.0240215 -0.462607 0 0 0 0 -0.397897 0 -0.0844357 0 -0.37638 0 0 0.388862 0 0 0.0037239 0 0 -0.0873209 0.00816752 0 0.0540746 0 -0.0840212 0 0 0 -0.00250756 0.0659794 0 0 0.0676036 0 0 0 -0.073181 0 0.120709 0 0.215006 -0.198522 0.455283 0 0 0.230474 -0.653431 -0.37836 0 -0.302422 0 -0.152067 0 -0.0921082 0.859861 -0.486716 0.47947 0.383347 0.00176755 0.210176 0 2.66054 0 3.05874 -1.51844 0 1.84615 -1.10202 0.622801 0 0.898041 -0.896975 0.806183 -0.466616 0 0 +19 0 0 0 0.189262 0.189109 0 0 0 0 1.36504 0.442469 0.535548 0 -0.370522 0 -0.042021 0 0 -0.0990019 0.0105129 0 -0.043313 0 0.484059 0.26036 0 0 0.460825 0 0 0 0.766535 -0.519071 0 0.60759 0 0.126117 2.04398 0 1.6876 0 -0.731311 2.95645 0.547868 0 -1.96524 0 0 -1.91699 -1.61605 0 0.534619 0 0.346652 -0.403405 0.542684 0 -0.70036 -0.756551 -0.388359 1.23746 0 0 0 0 -0.0777269 0 0.223192 1.70519 -1.26385 -0.830242 0.242843 1.95786 -0.479965 0 0 -0.154975 0 0.0692085 0 3.3734 -1.85187 0 1.50348 -1.13977 0.10709 0 6.17173 -4.74081 2.83762 -2.2943 0 0 0.186972 0.0249731 0.099655 -0.065262 0.189262 0.189109 0.0584183 0.0498355 -0.510098 -0.000613067 0.00417534 0.0096217 -0.0170508 -0.155514 0.0338483 -0.00606851 0.0319483 0.170246 -0.207644 0.36605 -0.055214 0.653789 -0.681753 0.00296442 0.474181 0.2146 0.0140292 0.0196269 0.135665 4.45618 0.533057 -0.00157724 0.0181088 2.04641 -0.0432829 0.532865 -0.0464219 0.399388 0.101626 -0.0739045 0.0249684 -0.0488209 -0.000703918 1.27481 0.146418 0.40601 -0.00432529 0.689521 0.322951 -0.0390823 -0.0322803 0.0504726 0.0996584 0.0180803 0.788907 -0.0709673 -0.110244 0.123697 -0.0258754 -0.204249 -0.203515 0.0255235 -0.395037 0.00231497 -3.13932 0.158368 -0.0443101 -0.0237624 0.209014 0.204081 -0.450964 -0.239792 -0.57702 0.0229798 0.0237465 0.016865 -1.08864 -0.476829 0.528648 0.0452547 0.0194863 -0.412501 -0.036801 0.0573098 -0.103631 0.19821 0.0121206 -0.0110653 -0.00222535 0.0278078 -0.154626 0 0 0.099655 0 -0.065262 0 0 -0.365964 0 -0.883435 0.0444626 -0.0824521 -0.80394 0.011557 -0.131646 -0.101826 -0.0339916 -0.10642 -0.0808466 0 0 0 0 -0.133656 0 -0.718543 0 0.00303763 0 0 -0.11427 0 0 -0.0183293 0 0 -0.0346632 -0.0075032 0 -0.0241072 0 -0.244006 0 0 0 -0.0144863 -0.0556901 0 0 -0.278646 0 0 0 0.117479 0 0.225062 0 -1.03697 0.371279 0.356513 0 0 -0.690319 -0.413057 0.220879 0 -0.258532 0 -0.226701 0 -0.217285 0.350098 0.0768363 -0.0854188 -0.154644 0.0999986 0.234774 0 5.12984 0 2.0032 -0.148567 0 1.71372 -0.676144 0.571896 0 0.21079 0.0210786 0.0744976 0.0643425 0 0 +20 0 -0.664041 -0.142974 -0.077982 -0.237593 -0.0113006 -0.0149252 -0.157169 -0.311337 -0.709411 0.355996 -0.125918 0.478537 -0.00941327 0.222154 -0.18855 0.722532 0.824916 -0.121649 -0.640762 -0.185155 -0.165181 0.169936 -0.0918513 -0.144726 0.0510313 0.272096 -0.565665 0.0244481 0.281106 0.0776259 -0.197528 -0.327108 0.648855 -1.2833 0.0178366 -0.0627471 -1.95434 2.21037 -0.214557 -0.0875657 -0.16236 -4.69832 -0.143488 1.23055 -0.693874 -0.0319187 0.0875728 -1.03102 -0.146254 -1.05238 -0.0423472 -2.41323 -0.99657 -1.1885 0.525955 -1.34688 0.252958 1.03739 0.225502 0.436371 0.371651 -0.0884381 0.815282 1.33107 2.51343 0.280674 -0.824183 -4.62691 0.862032 -0.424548 -0.0209966 -0.0644562 -0.686088 0.162306 -0.246462 -2.15754 -6.92874 -4.79517 1.54096 -3.36449 3.00133 -4.19743 -0.384312 1.33931 -2.07104 1.23422 2.45624 -0.1946 -0.190448 0.327644 -0.248823 0 0 0 0 0 -0.077982 -0.237593 -0.0106516 0 0 0 0 -0.00419195 0 -0.0184747 0 0 0.014192 0.093648 -0.120399 0 -0.00833317 -0.561358 -0.306559 0 0 -0.434492 0.00671901 0 -0.420283 -5.62875 0 0 -0.0400822 -1.95775 0 -0.647682 0 -0.213309 0 0 -0.0227165 0 0 -0.879867 -0.0561034 0.196075 0 -0.141836 -0.0373761 0 0 -0.16371 0 -0.031884 -0.194268 0.0900707 0 0 0.0097229 -0.0207137 0 -0.0254882 0.157033 -0.0027159 2.37614 -0.091554 0.028855 0 -0.0383865 -0.176 1.02266 -0.30437 0.0859864 0 0 0 3.5732 0.0205486 0.528975 0.0342449 -0.0267602 0.130778 -0.00882182 0.0158748 -0.0366863 0.0715826 0 0 0 0 0 0 -0.0113006 0 -0.0149252 0 0 0 0 -0.0262373 -0.129883 0 0 0.456178 0 0.0550053 0 -0.00791248 0 0 0.0421651 0 0.160689 0.00206478 0.0891129 0.00852214 0 0 -0.0550186 0 -2.68538 0 1.73266 -0.137137 0 -0.0269651 0.481072 0.010443 0 -0.00168455 0 0 -0.0210196 0 -0.637673 -0.247685 0 0 -0.0261718 0 0 -0.0263238 -0.837777 -0.0474207 0 -0.264484 0 0.976932 -0.272267 0.15898 -0.0067358 0.10836 0.409666 -0.896657 0.0772785 0.594711 -0.898423 -0.00420613 0 0 0 0.0726041 -0.0397331 0 0 0 0 -0.00724648 -15.9556 -4.50995 1.13287 -1.47875 1.22799 -1.37518 -0.507626 0.361327 -0.293796 0.00015456 0 0 0 0 0 0 +21 0 0.0319981 0.0247466 -0.109306 -0.0819507 -0.0954576 0.0619015 -0.428762 -0.189193 1.56837 -0.590189 0.0523884 -0.653902 0.401673 -0.711798 -0.155879 -1.45417 0.0752931 0.0756677 -1.08859 0.340839 0.0656193 -0.269414 -0.251807 -0.0586711 -0.297821 -0.756918 -0.3825 -0.0358223 -0.297913 -0.204919 0.248371 -0.295435 -1.0012 -0.243736 -0.176002 -0.0105996 -0.682269 -4.61515 0.0106153 0.164619 0.686268 0.061248 -0.110059 -1.14163 1.03235 0.0474963 -0.110433 -1.80568 0.359524 -0.883232 0.305911 9.04235 1.12005 -0.411291 -0.00465213 4.62924 2.04682 0.469472 -0.214305 -0.886371 -3.28229 -0.206011 1.58255 -1.25858 0.252309 0.293916 0.982599 -0.192404 -1.91451 2.397 -0.789512 -0.0568331 0.221332 1.05921 0.140429 2.08549 22.6993 9.49064 -2.52003 5.40095 -3.93035 5.34446 -0.0196561 -0.231347 1.18024 -0.0755316 -3.6544 0.835737 0.0703962 -0.251296 0.2637 0 0 0 0 0 -0.109306 -0.0819507 0.0569866 0 0 0 0 0.0326494 0 -0.0388385 0 0 0.0016407 0.000711028 -0.0665751 0 -0.024122 0.0535761 -0.0839282 0 0 0.164178 -0.000212128 0 0.509228 4.91229 0 0 0.0321313 1.28203 0 0.771246 0 -0.146424 0 0 -0.0152615 0 0 0.990266 0.455328 0.0334995 0 0.793052 0.147863 0 0 -0.377843 0 -0.00683746 0.469051 0.0131059 0 0 0.00695974 -0.163101 0 0.0332731 0.0228978 -0.0583603 -5.1546 -0.00799976 -0.0511421 0 0.0952529 -0.0579831 0.218323 -0.728887 0.00111731 0 0 0 -3.34467 0.200886 -0.434596 -0.0644447 0.146287 -0.369901 -0.000431242 -0.00549223 0.0194057 -0.034365 0 0 0 0 0 0 -0.0954576 0 0.0619015 0 0 0 0 0.143848 0.29172 0 0 -0.287058 0 -0.0480163 0 0.0193121 0 0 -0.0468329 0 -0.126102 0.0716949 -0.126678 -0.00448511 0 0 0.130446 0 0.487437 0 -0.35406 -0.230284 0 0.490406 -0.260063 -0.0173849 0 0.0188034 0 0 0.0614323 0 -0.403059 0.234883 0 0 0.0372332 0 0 0.125793 0.0556662 0.455702 0 -0.13549 0 -0.986118 0.363551 -0.410136 0.662349 -0.0302341 -0.443325 0.841532 -0.180188 -0.131032 -3.32678 -0.0314139 0 0 0 0.0172726 0.16491 0 0 0 0 -0.121393 0.611755 2.35198 -3.1231 0.685462 -0.661497 0.656368 0.238193 -0.289325 0.384881 -0.484742 0 0 0 0 0 0 +22 0 -0.598676 -0.010691 -0.352259 -0.23929 0.238855 0.133435 -0.390972 -1.32564 -2.59168 2.37765 0.397905 0.554755 0.338948 1.17176 0.06809 -0.160738 -2.50543 0.83181 0.123697 0.758533 0.436444 -0.16029 -0.692349 0.904638 -0.376851 0.0801798 -0.261895 -0.116163 -1.46845 0.15214 -1.20952 0.24457 -0.0658772 -0.730425 -0.13334 0.105297 -1.28351 1.95093 1.53883 0.305999 0.175737 -4.42263 0.423561 3.83522 -0.852582 0.103168 -0.407069 0.956007 -0.606416 0.827037 0.523654 -0.213321 -0.34422 0.543162 -0.882791 -4.47256 -0.796813 -0.194991 -0.607109 0.327091 0.00192599 -0.636362 -1.19431 2.10738 -0.200768 0.807808 -1.62347 0.0964505 2.73871 -0.839014 -0.865622 0.493735 2.79222 -1.75441 0.809064 3.53514 -10.8909 -6.01523 1.19941 -2.4593 0.571146 -1.43816 -4.15905 1.83431 -1.38711 0.919057 3.01805 -3.42937 2.97641 -1.89656 1.29981 0 0 0 0 0 -0.352259 -0.23929 -0.0470368 0 0 0 0 -0.0165785 0 -0.00308638 0 0 0.00514511 0.0409363 -0.13456 0 -0.0193249 -0.361886 -0.0818727 0 0 0.443661 0.00325371 0 0.179494 -2.28397 0 0 0.0659173 -0.949552 0 0.244696 0 -0.00332503 0 0 0.00419998 0 0 0.530561 -0.230046 0.0657267 0 -0.655266 0.0452114 0 0 -0.203317 0 -0.0234149 0.299421 0.0267602 0 0 -0.0155317 0.124392 0 0.0122806 -0.0355682 0.0463416 3.16628 -0.0702109 -0.01657 0 -0.0831276 -0.0129788 -0.291981 0.521939 0.172351 0 0 0 -1.83492 -0.0646533 -0.00176 -0.045901 0.0808906 -0.170597 -0.00698498 0.0121071 -0.0239276 0.0316654 0 0 0 0 0 0 0.238855 0 0.133435 0 0 0 0 0.0310147 -0.680926 0 0 0.349674 0 0.0532498 0 -0.00408824 0 0 -0.222002 0 -0.191356 -0.0578038 -0.0813163 -0.0275882 0 0 -0.00505234 0 -2.55743 0 -0.399684 -0.0891882 0 -0.38256 -0.266744 -0.00805741 0 0.0011949 0 0 -0.0932367 0 -0.28721 -0.297028 0 0 -0.0377906 0 0 -0.238325 -1.43025 -0.375362 0 -0.721113 0 0.557721 -0.265946 0.31828 -0.386715 0.136449 -0.483378 -0.654664 0.0830981 0.773762 1.73743 -0.116226 0 0 0 -0.0258604 -0.128858 0 0 0 0 0.216815 10.6931 1.13831 0.173318 0.879573 -0.606023 0.497181 -0.261285 0.198613 -0.236538 0.286016 0 0 0 0 0 0 +23 0 0 0 0.180461 0.0875027 0 0 0 0 -0.0619498 -1.23643 -0.0924002 0 -0.332654 0 -0.0639647 0 0 -0.564226 -0.136511 0 -0.309284 0 0.432248 -0.605707 0 0 0.39927 0 0 0 0.471023 -0.279184 0 0.304763 0 0.00651134 1.27273 0 0.189967 0 -0.352637 1.17805 0.171366 0 0.0431431 0 0 -0.0479351 0.0148412 0 -0.89432 0 -0.236533 0.0116901 0.0617325 0 0.266737 1.22889 0.550112 0.0815072 0 0 0 0 0.1429 0 0.844935 1.07723 -0.103484 1.22588 0.247258 0.127508 -1.06878 0 0 -1.40224 0 2.13807 0 -0.12411 0.304362 0 1.59883 -1.1322 2.29351 0 0.726687 -0.281463 0.385471 -0.312596 0 0 0 0 -0.125562 0.00677147 0.180461 0.0875027 0 0.0419417 0 0 0.00887088 0 0 -0.109655 0 0 0 0 -0.325014 0 -0.0666747 1.16389 -0.539822 0 0.188977 -0.0197991 0 -0.00603468 0.561227 4.37501 -0.0613237 0 0.0162447 2.32658 0 0.821756 0 -0.0896296 -0.0186817 0 -0.010376 0 0 1.1997 0 0 0 0 0 0 0 -0.309274 0 0 -0.802185 0 0 0 0 0 0 0 0.0722602 0 -3.84715 0 0.0997353 0.0254288 0 0.10859 -0.49648 0 -0.0870648 0 0.0759879 0 -2.74739 0 0.610724 0 0 0.0185158 0 0 0 0.023642 0 0 0 0 0.00528562 0 0 -0.125562 0 0.00677147 0 0 0.189423 0 0.697503 0.0134184 0.0562856 -0.408781 0.00122711 0.014666 0.0370667 0.026845 0.075897 0.0730907 0 0 0 0 -0.295266 0 0.391588 0 -0.102824 0 0 0.158222 0 0 0.00613138 0 0 -0.00858199 0.0026039 0 0.00524051 0 0.206522 0 0 0 0.0111576 0.026124 0 0 0.200037 0 0 0 -0.168238 0 -0.105329 0 0.172628 0.157417 -0.458971 0 0 0.844958 -0.033672 -0.0183786 0 0.259382 0 0.153119 0 0.356729 -0.0615895 -0.0499094 -0.0300158 0.22541 -0.0559316 -0.669031 0 1.13858 0 -0.590091 -0.18835 0 -0.117313 -0.147442 0.533402 0 -0.106155 0.0274007 0.0664388 -0.0525278 0 0 +24 0 0 0 -0.377229 0.179532 0 0 0 0 -0.860779 3.01483 0.273422 0 0.642216 0 0.0800831 0 0 1.00609 0.459991 0 0.596975 0 -0.813591 1.93163 0 0 -1.159 0 0 0 -0.988585 0.339362 0 -2.0488 0 0.00388342 -3.26987 0 0.463837 0 0.852819 -6.88778 -0.177595 0 0.589656 0 0 0.668296 0.224213 0 1.53412 0 -0.444866 0.414888 -0.356242 0 -0.0119706 -0.25192 -2.24318 -0.763534 0 0 0 0 1.86791 0 -1.10979 -3.84838 0.539223 -4.04937 0.0643077 0.275804 3.17873 0 0 3.11048 0 -5.99398 0 -1.57136 -0.500757 0 -4.6937 1.95176 -1.53245 0 -1.9795 0.437746 -0.298122 -0.458726 0 0 0 0 0.0946151 -0.0104764 -0.377229 0.179532 0 -0.0161018 0 0 -0.00272277 0 0 0.124591 0 0 0 0 0.522876 0 0.0816185 -1.62827 0.801546 0 -0.0649998 0.99494 0 0.00548297 -1.20438 -1.11375 -0.0342185 0 0.114164 -1.61298 0 -1.81973 0 0.69402 0.0103017 0 0.0937854 0 0 -2.75029 0 0 0 0 0 0 0 0.296549 0 0 0.893438 0 0 0 0 0 0 0 0.143884 0 4.22857 0 -0.113948 0.00373456 0 0.032837 1.8019 0 0.074119 0 0.00393226 0 6.29836 0 -0.900855 0 0 0.157708 0 0 0 -0.0343326 0 0 0 0 0.00294937 0 0 0.0946151 0 -0.0104764 0 0 -0.805702 0 -0.338547 -0.0126815 0.0516877 0.183586 0.00123453 0.0750344 -0.121953 -0.0166193 0.0359649 -0.286553 0 0 0 0 -0.00815224 0 0.325791 0 0.125504 0 0 0.23446 0 0 -0.017472 0 0 0.0130877 0.00161452 0 0.0267841 0 -0.143327 0 0 0 0.00549718 0.0159305 0 0 0.162368 0 0 0 -0.254371 0 0.581965 0 0.0577953 -0.0356276 -0.466092 0 0 -0.136283 0.353196 0.00602802 0 0.257662 0 -0.00971212 0 -0.179182 -0.451757 -0.120826 0.0151394 0.227378 0.0606733 0.584508 0 -0.174066 0 0.712645 -0.68614 0 0.188573 -0.162444 0.0568077 0 0.236005 -0.153319 0.0649182 -0.0210479 0 0 +25 0 0 0 0.0423217 0.201305 0 0 0 0 0.188413 -0.685615 -0.301 0 -0.0586579 0 0.026227 0 0 -0.248593 -0.508911 0 -0.293011 0 0.0980494 -0.697499 0 0 -0.129505 0 0 0 0.211375 0.441133 0 0.138955 0 -0.0683124 -0.96087 0 -1.33759 0 -0.0145303 -0.911677 -0.320536 0 0.566477 0 0 0.46428 0.812184 0 0.0867564 0 0.231285 -0.216459 -0.0649416 0 0.20767 0.13392 0.628273 -0.0876843 0 0 0 0 -0.179356 0 -1.30793 -0.89734 -0.399151 0.852676 -0.00805945 -1.22262 0.298443 0 0 0.411877 0 1.40076 0 -0.148 2.31464 0 1.46652 0.500953 0.0555742 0 -0.47606 1.32101 -0.568423 1.03281 0 0 0 0 0.126351 0.0297198 0.0423217 0.201305 0 0.0641535 0 0 0.0132029 0 0 0.00377794 0 0 0 0 -0.100052 0 -0.00918809 -0.920157 -0.00874333 0 0.305654 -0.929199 0 -0.0105493 0.143078 -5.01442 -0.319041 0 -0.0647195 -2.72466 0 0.177037 0 -0.953137 -0.0618239 0 -0.125028 0 0 0.20836 0 0 0 0 0 0 0 0.0744826 0 0 0.19749 0 0 0 0 0 0 0 -0.177767 0 1.44096 0 0.0237017 0.0397082 0 0.161264 -0.511899 0 -0.155522 0 0.121063 0 -0.477159 0 0.0087277 0 0 0.356334 0 0 0 0.00234246 0 0 0 0 0.0274988 0 0 0.126351 0 0.0297198 0 0 0.0151998 0 0.648205 -0.0107062 0.0688384 0.160883 -0.00277167 0.046437 0.0483922 0.0698703 0.0255112 -0.0448279 0 0 0 0 0.21382 0 0.456565 0 0.186622 0 0 -0.0844712 0 0 0.0127466 0 0 0.036325 0.000788246 0 -0.00643069 0 0.202593 0 0 0 0.00616243 -0.000192459 0 0 0.0844742 0 0 0 -0.117104 0 -0.0128542 0 0.0189423 0.0233182 -0.198471 0 0 0.341053 0.203972 -0.642027 0 0.0226434 0 0.0181132 0 0.0754415 -0.0869222 0.0250199 0.0113062 -0.00623328 -0.0239694 -0.437684 0 0.477537 0 -0.196662 0.545437 0 -0.0506475 0.0354918 -0.00877514 0 -0.0787613 0.0763701 -0.0646958 0.0641525 0 0 +26 0 -0.332795 -0.653979 -0.353377 -0.150159 0.0315656 0.0789199 -0.897972 -1.93497 -0.611622 2.21667 0.0293377 -0.0913842 0.56941 -0.947359 0.0345107 -3.43145 -11.9639 1.07478 0.154352 -0.199169 0.671455 0.625686 -0.735105 1.30686 -0.614088 -1.16808 -0.411527 -0.0265658 -0.288922 -0.213156 -0.875864 0.0309597 1.17255 -0.853083 -0.212689 -0.0294574 -0.92605 2.30689 -0.0139686 -0.0476591 0.678441 -2.47191 -0.227642 -1.01813 0.47376 -0.00990424 -0.090548 -0.0138936 0.0993809 -2.15982 1.06765 12.7309 -0.0358915 0.0328951 0.0334114 1.14254 -0.230068 0.0272054 -1.22358 -0.409352 1.18564 -0.211923 -0.785249 1.97962 1.13605 0.450747 -1.38289 -0.91727 0.446639 -1.79576 0.252577 -0.0233225 1.09165 1.2902 0.0142106 3.34391 -9.20819 -6.58232 3.73076 -3.65635 1.04951 -0.0402383 -3.05904 1.65045 -1.56823 2.71155 -1.36139 0.363952 0.16463 -0.20233 0.305523 0 0 0 0 0 -0.353377 -0.150159 0 0 0 0 0 0 0 0.0115632 0 0 0 0 0.0820376 0 0.0125616 -0.382652 0.0985183 0 0 -0.241678 0 0 0.150966 -1.99201 0 0 -0.0351163 -0.890587 0 0.0807459 0 -0.0789292 0 0 -0.0102808 0 0 -0.102064 0 0 0 0 0 0 0 -0.00527704 0 0 0.134483 0 0 0 0 0 0 0 -0.0599054 0 1.37465 0 -0.0109327 0 0 -0.0119363 0.00437626 0 -0.0894015 0 0 0 0.233735 0 -0.112178 0 0 0.00439857 0 0 0 -0.00424575 0 0 0 0 0 0 0.0315656 0 0.0789199 0 0 0 0 0.0596976 -0.632172 0 0 0.136406 0 0.0152225 0 -0.00744932 0 0 0.0320671 0 0.0666348 0.000739183 -0.00608167 0.00368508 0 0 -0.044044 0 -3.61191 0 0.782237 -0.226171 0 0.146525 0.128799 0.000179422 0 0.00428714 0 0 -0.0756291 0 -1.0161 0.560368 0 0 0.0653709 0 0 0.231225 0.0623025 0.230768 0 -0.00886203 0 0.71037 -0.0474719 -0.0190384 -0.0921378 -0.0278931 0.239176 -0.238185 0.0365989 0.45536 2.81059 0.0246148 0 0 0 -0.190897 0.000693634 0 0 0 0 0.179912 -8.74212 -1.28979 -0.489025 -0.0846331 -0.0393118 -0.0854843 -0.0417574 0.0375623 -0.0375145 -0.063283 0 0 0 0 0 0 +27 0 -0.107555 -0.566413 -0.0349551 -0.0148533 0.0317719 -0.0484345 0.271729 1.09496 -0.0605 -0.806316 -0.156614 -0.395096 0.0563246 -0.857254 -0.117436 -2.31827 -10.4201 0.182568 -0.593171 -0.0513622 0.0881501 0.540213 -0.0727147 -0.347515 -0.124244 -0.597012 0.0584315 0.0348639 0.556239 -0.177832 -0.0866382 -0.233566 1.53778 -0.000728786 -0.0602213 -0.084381 0.140818 4.67573 -0.491875 -0.0485797 0.0671096 -0.0903328 -0.27302 -2.38074 0.0468631 -0.0125576 0.142061 -1.19272 0.374588 0.0895191 0.545017 -0.033502 0.576441 -0.528316 0.323458 -0.506477 -0.229442 -0.129857 0.332219 -0.040492 0.221173 -0.0400136 -1.32387 2.46829 -0.0426362 -0.223667 -1.80418 0.182557 0.0441804 1.2492 -0.0205336 -0.337673 -0.0401603 0.365614 -0.205517 -0.229735 -17.1602 -1.48747 -2.14236 -3.60286 3.36429 -5.38629 1.11014 0.141975 -0.476276 -0.793359 -0.134665 0.740739 -0.823979 0.663819 -0.5882 0 0 0 0 0 -0.0349551 -0.0148533 0 0 0 0 0 0 0 0.0238922 0 0 0 0 -0.00358268 0 0.0128605 0.526821 -0.0131592 0 0 -0.976887 0 0 0.775073 -0.393852 0 0 -0.13149 0.414474 0 1.32995 0 -0.49451 0 0 -0.0663969 0 0 2.2525 0 0 0 0 0 0 0 -0.262147 0 0 -0.143805 0 0 0 0 0 0 0 -0.137485 0 -3.39281 0 0.0031119 0 0 0.00253305 -1.02067 0 -0.0281211 0 0 0 -5.15839 0 0.00118978 0 0 -0.0970739 0 0 0 0.00056711 0 0 0 0 0 0 0.0317719 0 -0.0484345 0 0 0 0 0.0564945 -0.797297 0 0 -0.196332 0 -0.0148635 0 -0.0200483 0 0 0.1033 0 0.027239 0.0617571 -0.0023086 0.010958 0 0 -0.176417 0 -2.66072 0 0.974186 -0.164784 0 0.51078 0.131625 0.000476605 0 0.00827302 0 0 -0.094673 0 -0.514707 0.410344 0 0 0.0499459 0 0 0.31473 -1.18526 0.29718 0 -0.545618 0 0.0839808 -0.00420444 -0.0917142 -0.499623 -0.0189451 0.336136 -0.166172 -0.00866277 1.06721 2.24367 0.0151145 0 0 0 -0.244546 0.00237707 0 0 0 0 0.337416 -6.25095 0.644462 -2.55917 -0.0815529 0.113493 -0.462888 0.0805737 -0.0698856 0.0843566 -0.213826 0 0 0 0 0 0 +28 0 0.180002 0.00377013 -0.143963 -0.0611736 0.18233 0.107247 -0.5022 -1.88698 -0.24917 2.0986 0.178232 0.363114 0.231974 0.425923 0.0607121 0.280851 1.68155 0.636924 0.198073 0.0763437 0.396274 0.302782 -0.299477 1.11061 -0.286547 0.00836988 -0.16805 -0.0490078 -0.613757 0.100661 -0.356821 0.10396 0.774668 -0.254866 -0.0245851 0.0729212 0.124624 2.10952 0.551534 0.0189056 0.276392 -0.0328085 0.191843 1.92693 0.193007 0.0113859 -0.181389 0.25905 -0.373896 -1.43676 0.470193 4.03327 -0.143492 0.131513 0.0654416 0.576053 0.302001 0.1866 -1.17411 -0.166767 0.656011 -0.081561 -2.90261 0.321647 0.428283 -0.0368927 -0.532031 0.194537 0.181958 -1.961 0.438567 0.434081 -0.111077 0.380109 -0.0728182 0.813333 -11.0796 -8.35462 5.20469 -4.19372 0.505693 0.894438 -2.92047 0.7688 -0.601246 1.6329 -0.554621 -0.652345 0.779794 -0.737112 0.649022 0 0 0 0 0 -0.143963 -0.0611736 0 0 0 0 0 0 0 -0.0237594 0 0 0 0 -0.0835736 0 -0.00942268 0.492783 -0.188945 0 0 0.900124 0 0 0.124016 4.69739 0 0 0.130112 1.67899 0 0.141306 0 0.477836 0 0 0.069568 0 0 0.143291 0 0 0 0 0 0 0 -0.0743167 0 0 -0.240364 0 0 0 0 0 0 0 0.211398 0 -2.58563 0 0.0132144 0 0 0.0322808 0.283791 0 0.145607 0 0 0 -0.328148 0 0.215466 0 0 -0.00617529 0 0 0 0.00814278 0 0 0 0 0 0 0.18233 0 0.107247 0 0 0 0 0.0539495 -0.184293 0 0 0.0313978 0 0.00528473 0 0.00811384 0 0 0.0627081 0 0.0126638 -0.0107466 -0.0364938 0.0089678 0 0 0.0509382 0 0.216031 0 0.0166813 0.000862685 0 -0.152885 0.11064 -0.00459549 0 0.00900001 0 0 -0.00690647 0 -0.0969475 0.800595 0 0 0.0966626 0 0 0.18788 -0.178211 0.0507365 0 0.144827 0 0.187662 0.0414583 -0.0635818 -0.116349 -0.0330439 -0.0377057 -0.0662467 0.070382 -0.103926 -1.2171 0.00900138 0 0 0 -0.108162 -0.0168885 0 0 0 0 0.0546808 2.89613 -0.476242 1.76349 -0.0564686 0.0374077 0.123466 -0.0459607 0.0420156 -0.0446366 0.1065 0 0 0 0 0 0 +29 0 0.712197 0.748153 0.188621 0.0794154 -0.0967727 0.0114742 0.0712754 -0.0255796 0.323852 -0.413029 0.0815176 0.264179 -0.305585 0.809119 -0.0280419 1.70613 5.66456 -0.674498 0.146565 -0.280479 -0.41363 -0.874085 0.394509 -0.45165 0.325348 0.788461 0.0301461 -0.0224239 -0.408667 0.166236 0.467644 -0.0117842 -2.20001 0.155918 0.117037 0.0566687 -0.654724 -5.75726 0.384499 0.00203256 -0.362235 -0.653024 0.298661 2.26552 -0.250855 0.00692612 -0.0938016 0.589058 -0.326833 0.81782 -1.10476 -9.14191 -0.246397 0.225827 -0.17833 -0.428304 -0.544527 0.0920285 0.298597 0.217005 -0.00776231 0.0482806 -0.207482 -1.89841 -0.1694 -0.140264 0.51086 -0.724351 -0.236772 -1.14913 0.0336156 0.182296 0.42118 0.236624 0.115177 -2.69963 21.9694 4.8651 1.05639 6.06362 -5.1052 8.93223 0.830265 -1.23444 1.77212 -1.03157 0.722548 -0.710668 0.682772 -0.400062 0.306991 0 0 0 0 0 0.188621 0.0794154 0 0 0 0 0 0 0 -0.0273299 0 0 0 0 -0.0574396 0 -0.0187712 -0.316601 -0.074632 0 0 0.829929 0 0 -0.687522 0.89441 0 0 0.101978 -0.278846 0 -1.0762 0 0.324703 0 0 0.0369298 0 0 -1.68235 0 0 0 0 0 0 0 0.341142 0 0 0.353742 0 0 0 0 0 0 0 0.141637 0 -0.168267 0 0.0181007 0 0 0.0113352 0.556464 0 0.175822 0 0 0 3.8527 0 0.0958216 0 0 0.0725025 0 0 0 0.00321634 0 0 0 0 0 0 -0.0967727 0 0.0114742 0 0 0 0 -0.0151586 0.774583 0 0 0.0285995 0 -0.00113436 0 0.0155621 0 0 0.0370732 0 -0.0850408 -0.0259889 0.0034734 0.00544723 0 0 0.128431 0 5.40932 0 -2.10166 0.288483 0 -0.139853 -0.551441 -0.000842026 0 -0.00237207 0 0 0.0881486 0 0.950859 0.236104 0 0 0.0318051 0 0 0.0161718 0.799737 0.0501295 0 0.972863 0 -0.332345 0.0397738 -0.0575745 0.0411964 -0.0335249 0.37512 0.227226 -0.033414 -1.12011 -2.37654 0.0632781 0 0 0 0.103604 -0.00804579 0 0 0 0 -0.238616 14.238 -0.398841 2.84308 0.209504 -0.42942 1.85139 -0.0449878 0.019905 0.0246316 0.14682 0 0 0 0 0 0 +30 0 0.123552 0.303986 0.255286 0.107483 0.0628998 -0.0558254 0.586135 1.3216 0.438312 -1.96056 -0.0456424 -0.0155147 -0.413589 0.716904 -0.0809849 2.09512 7.24938 -0.67309 -0.428253 0.217376 -0.455606 -0.197503 0.533941 -1.21164 0.288837 0.654113 0.376388 0.0122949 0.270846 0.171937 0.632924 -0.09985 -0.327202 0.857302 0.1121 -0.00329874 0.571572 -0.97435 -0.152614 0.0509939 -0.490261 2.12648 0.059039 0.154415 -0.339515 0.0108772 0.0554496 -0.424489 0.0587268 1.14547 -0.599357 -1.52489 0.262004 -0.240131 0.0176815 0.0864323 -0.371512 -0.196646 1.13356 0.293702 -0.668922 0.156463 -2.02774 -0.28109 -0.706797 -0.225345 -0.558013 0.539593 -0.320455 1.94854 -0.346864 -0.0994869 -0.856706 -0.36609 -0.00493327 -2.42479 2.25056 3.3842 -1.33711 1.07815 -0.0587795 0.935131 2.8268 -1.01941 0.984108 -1.55373 0.977919 0.00740515 -0.262544 0.226751 -0.20346 0 0 0 0 0 0.255286 0.107483 0 0 0 0 0 0 0 -7.47269e-05 0 0 0 0 -0.0834977 0 -0.00647241 0.506007 -0.112234 0 0 -0.227773 0 0 0.290411 0.649155 0 0 -0.00478609 0.389658 0 0.660742 0 -0.253465 0 0 -0.0232624 0 0 1.33812 0 0 0 0 0 0 0 -0.209379 0 0 -0.412811 0 0 0 0 0 0 0 -0.017169 0 -0.467304 0 0.00723024 0 0 0.0173983 -0.462309 0 0.0482996 0 0 0 -3.0644 0 0.120268 0 0 -0.0576678 0 0 0 0.00483685 0 0 0 0 0 0 0.0628998 0 -0.0558254 0 0 0 0 0.00967598 0.208217 0 0 -0.280047 0 -0.0300074 0 0.00347108 0 0 -0.0255866 0 -0.0530592 0.0247977 -0.0323039 0.00177737 0 0 0.0204479 0 2.0303 0 -0.161596 0.0898791 0 0.229093 -0.0791701 -0.00441963 0 0.000241086 0 0 0.026359 0 0.56083 -0.141907 0 0 0.0147621 0 0 -0.0626526 0.0853167 0.0927888 0 0.56959 0 0.0565856 -0.0511581 -0.00536559 -0.24275 0.0951301 0.27087 -0.045438 -0.137371 -0.628858 -3.51614 -0.0598107 0 0 0 0.0819468 0.0794413 0 0 0 0 -0.0389294 2.6784 0.465276 0.450039 0.063102 -0.0548764 0.341482 0.103185 -0.0693623 0.0416357 0.029617 0 0 0 0 0 0 +31 0 -0.340284 -0.443988 -0.217214 -0.0914541 0.177005 0.081106 -0.689834 -2.1695 -0.372945 1.89591 0.0806017 -0.0865476 0.351909 -0.170238 0.0557851 -1.58152 -8.12367 0.776709 0.335262 -0.11868 0.459552 0.442766 -0.454313 0.952145 -0.484915 -0.425296 -0.231081 -0.024276 -0.636167 -0.0420525 -0.538535 0.0593741 1.27557 -0.467843 -0.120562 0.0242282 0.122447 3.77209 0.429673 -0.0328123 0.417147 -0.440581 0.10354 -0.310786 0.288882 -0.00519322 -0.124926 0.304399 -0.273193 -1.67325 0.0584854 4.56688 -0.195253 0.178953 -0.0359419 -0.47044 -0.00163912 -0.0128576 -0.888186 -0.249901 0.7473 0.144896 -1.54852 0.87 0.656857 0.0985201 -0.942492 0.0300403 0.272665 -1.32566 0.231857 0.224497 -0.0315139 -0.0267892 0.0402653 1.89706 -11.6693 -5.6009 2.81944 -3.24895 0.796639 -2.29143 -2.18737 0.367195 -0.542878 2.42057 -0.83208 -0.438092 0.807686 -0.559343 0.477889 0 0 0 0 0 -0.217214 -0.0914541 0 0 0 0 0 0 0 -0.014603 0 0 0 0 -0.0597715 0 -0.00201517 0.451821 -0.159562 0 0 0.648732 0 0 0.29344 2.42188 0 0 0.112738 1.29137 0 0.375668 0 0.448993 0 0 0.0755266 0 0 0.463788 0 0 0 0 0 0 0 0.04087 0 0 0.0303838 0 0 0 0 0 0 0 0.151502 0 -0.469916 0 0.0236634 0 0 0.0319319 0.13276 0 0.196095 0 0 0 -1.06211 0 0.179847 0 0 -0.0199874 0 0 0 0.00687648 0 0 0 0 0 0 0.177005 0 0.081106 0 0 0 0 -0.0326906 -0.208099 0 0 0.313467 0 0.0393309 0 0.0093954 0 0 -0.0166785 0 0.183004 -0.0390735 0.0510525 -0.00156152 0 0 0.0783862 0 -2.18683 0 1.85797 0.0229249 0 -0.359943 0.729892 0.00551703 0 -0.00158617 0 0 -0.0150747 0 -0.251367 0.443314 0 0 0.0516735 0 0 -0.0236191 0.971239 -0.104065 0 -0.506067 0 0.428213 -0.0325328 0.0775942 -0.0847584 -0.0109984 0.267299 -0.11224 0.0461786 -0.121101 -1.50069 0.0396486 0 0 0 -0.0637114 -0.0536451 0 0 0 0 0.00988484 -3.79677 -1.77367 2.46282 -0.485879 0.490638 -0.620844 -0.111413 0.106448 -0.154356 0.186159 0 0 0 0 0 0 +32 0 -0.234102 0.15425 -0.0369657 -0.0156126 -0.116126 0.0322931 -0.073771 -0.153386 -0.063642 0.705815 0.160677 0.349162 0.0597779 0.289311 0.268803 2.42835 6.2634 0.272131 0.641743 0.417957 0.143002 -0.0901531 -0.077173 0.277188 -0.0764594 0.873238 0.332868 -0.0423332 -0.0971555 0.0418773 -0.0916392 0.531105 -0.08268 0.774047 -0.040531 0.075888 1.02931 0.280538 0.0531935 0.0828745 0.0709835 2.07132 0.00403337 1.78881 0.0492969 0.0313778 -0.0982888 1.26656 -0.0302792 0.273935 0.152976 -10.6215 -0.615267 0.563902 -0.284981 -1.07413 -0.583474 0.16826 -0.337255 -0.042628 0.783986 0.0901729 0.982465 -0.849801 -0.511801 -0.206598 1.21659 1.16833 0.0465109 -0.802204 0.491915 0.0336063 -1.05441 0.614051 0.139054 -2.99084 -2.69692 -0.459612 -2.29723 0.718896 -1.05891 0.82271 -0.719548 0.295551 -0.190738 -0.292622 -0.141879 -0.0405471 0.121219 -0.0910085 0.0732757 0 0 0 0 0 -0.0369657 -0.0156126 0 0 0 0 0 0 0 -0.013457 0 0 0 0 -0.0252725 0 -0.0075763 -0.535675 -0.0347866 0 0 -0.198667 0 0 -0.313317 -3.19596 0 0 -0.0166007 -1.35507 0 -0.559478 0 -0.112401 0 0 -0.0107863 0 0 -0.976302 0 0 0 0 0 0 0 0.31604 0 0 0.360648 0 0 0 0 0 0 0 -0.0294354 0 3.00688 0 0.0197457 0 0 -0.0116565 0.172483 0 0.0119797 0 0 0 2.2358 0 0.045847 0 0 0.0420748 0 0 0 0.00149916 0 0 0 0 0 0 -0.116126 0 0.0322931 0 0 0 0 0.0686736 0.0355538 0 0 0.03536 0 -0.00141076 0 0.00939043 0 0 0.0595025 0 -0.0417783 0.0165611 0.00679614 0.00870908 0 0 0.0984295 0 2.17785 0 -0.236038 0.16433 0 0.21682 -0.140176 -0.00110631 0 0.00813016 0 0 -0.00265232 0 0.64398 0.413438 0 0 0.0602877 0 0 0.0484009 1.09598 0.192467 0 0.427492 0 0.259602 -0.0796438 0.00748107 0.153912 -0.0416329 0.444099 -0.112876 -0.0123435 -0.737009 -0.676641 0.0791692 0 0 0 -0.0333077 0.00319488 0 0 0 0 -0.0574767 2.92683 -1.09796 1.22871 -0.146817 -0.0541608 0.761966 -0.024686 0.0122512 0.0170633 -0.0865136 0 0 0 0 0 0 +33 0 0.437143 -0.242544 0.154477 0.0652437 0.0069154 -0.0663394 0.22696 0.572225 0.265955 -1.13944 -0.0508829 -0.635944 -0.249807 -0.507625 0.091218 -2.86535 -9.81042 -0.365446 0.353857 -0.0735917 -0.247355 0.0353222 0.322499 -0.720141 -0.00145482 -0.905917 0.430231 0.0219642 0.371272 -0.21229 0.382953 0.151974 0.269538 0.577087 -0.0411883 0.000697187 1.53004 0.995193 -0.324944 -0.0339982 -0.296634 2.99666 -0.069429 -2.62929 -0.206008 -0.013158 0.0855393 0.634413 0.202932 0.191812 -0.428844 2.02588 -0.316694 0.290255 -0.13175 -0.180076 0.470805 0.135008 0.715839 0.178139 0.0730229 -0.000687855 -1.33677 1.11068 -0.546415 0.116181 -0.374682 1.39214 -0.194365 0.906613 0.0132922 -0.269671 -1.39861 -0.290193 0.0589322 0.815144 -3.79227 1.1442 -0.639165 0.347778 0.617577 -2.04855 1.88825 -0.564377 0.125336 -0.210473 0.5929 0.317164 -0.456583 0.393664 -0.280017 0 0 0 0 0 0.154477 0.0652437 0 0 0 0 0 0 0 0.031486 0 0 0 0 0.0731818 0 0.0189851 0.700729 0.0820489 0 0 -0.0464958 0 0 0.540537 0.602235 0 0 0.00467444 0.895564 0 1.00631 0 0.0207062 0 0 0.0119398 0 0 1.81045 0 0 0 0 0 0 0 -0.197471 0 0 0.0216115 0 0 0 0 0 0 0 -0.0435391 0 -1.71634 0 -0.00519851 0 0 0.0256621 -0.619828 0 0.145899 0 0 0 -4.14605 0 -0.105103 0 0 -0.0780231 0 0 0 -0.00353598 0 0 0 0 0 0 0.0069154 0 -0.0663394 0 0 0 0 -0.0299665 0.298332 0 0 -0.0555753 0 0.00260849 0 -0.000704203 0 0 -0.0371647 0 0.122432 0.018201 0.027314 0.000492179 0 0 -0.00364989 0 -0.811643 0 0.796787 -0.088421 0 0.184196 0.227784 0.00490122 0 -0.00530354 0 0 0.0316035 0 -0.17928 -0.411816 0 0 -0.0238024 0 0 0.0931851 -0.0911589 0.149619 0 0.0645251 0 0.584076 -0.0282271 0.00600503 -0.475364 0.107645 0.580029 -0.210543 -0.101576 -0.338657 -2.07499 -0.0205175 0 0 0 -0.0155404 0.013729 0 0 0 0 -0.0721358 -2.81819 -0.110122 -0.108518 0.140847 -0.110223 0.00482553 0.0604145 -0.0401589 -0.00542137 0.023301 0 0 0 0 0 0 +34 0 0.568802 0.391619 0.349748 0.147717 -0.0426659 -0.112574 0.438669 1.00157 0.602144 -2.22088 -0.1631 -0.471511 -0.565584 -0.241296 -0.0364673 -0.192922 2.37115 -1.37657 0.0222228 0.0186235 -0.779128 -0.708198 0.730166 -1.22281 0.426592 -0.23755 0.323562 0.0595829 0.806004 -0.238879 0.867038 -0.130374 -1.78508 -0.00908518 0.0766142 -0.0229519 1.03054 -4.68538 -0.683213 -0.0822539 -0.671604 1.25022 -0.130311 -0.881665 -0.466419 -0.0565153 0.205113 -0.0845547 0.420392 -0.0869703 -0.672079 -0.724602 0.0239905 -0.0219876 0.0707504 1.67311 0.673497 0.180346 1.23438 0.403321 -0.00733422 -0.0200748 2.33145 -1.54461 0.372734 0.0722649 2.91774 0.625389 -0.440059 1.28701 -0.187122 -0.563958 -0.624347 0.182198 -0.0537385 -0.387507 18.0596 8.50855 -2.29344 6.20956 -2.44288 2.19486 3.02081 -1.04363 1.01394 -1.44629 1.34238 0.642553 -0.983972 0.846238 -0.607897 0 0 0 0 0 0.349748 0.147717 0 0 0 0 0 0 0 -0.0111202 0 0 0 0 0.0735959 0 0.000779058 0.138841 0.00594732 0 0 0.0650638 0 0 -0.51329 -0.0188615 0 0 0.0102307 0.260318 0 -0.738049 0 0.134117 0 0 0.026852 0 0 -1.0578 0 0 0 0 0 0 0 0.135066 0 0 -0.0185913 0 0 0 0 0 0 0 0.0456233 0 0.777161 0 -0.000420928 0 0 -0.00735409 0.291997 0 -0.108241 0 0 0 2.42243 0 -0.000292654 0 0 0.0455869 0 0 0 -0.000256306 0 0 0 0 0 0 -0.0426659 0 -0.112574 0 0 0 0 -0.0398103 0.554236 0 0 -0.290334 0 -0.0327501 0 -0.00511908 0 0 0.0472398 0 0.0948536 0.0207409 -0.00893056 0.00733238 0 0 -0.0723989 0 2.79051 0 -1.13709 -0.0421292 0 0.189937 -0.0851718 0.000253882 0 -0.00568432 0 0 0.0684588 0 0.316954 -0.253232 0 0 -0.0192599 0 0 0.0554316 0.0079656 0.047932 0 0.570729 0 0.19967 0.022657 -0.0418263 0.131812 0.00762093 -0.0294308 -0.172989 0.0275326 -0.795826 -2.18105 -0.0405077 0 0 0 0.0205194 0.0405581 0 0 0 0 -0.126476 8.71977 0.692576 0.972427 0.375032 -0.28266 0.443237 0.076018 -0.0551858 0.0675002 -0.059937 0 0 0 0 0 0 +35 0 0.2315 0.197083 -0.0702049 -0.165756 0.184175 0.154279 -0.928464 -2.79161 -0.720359 1.40434 -0.288865 -1.28507 0.0256505 -2.70285 -0.243116 1.53701 5.01133 0.457487 -0.301192 1.31943 0.131955 0.0276191 -0.0416366 0.415572 -0.916959 0.582248 0.0823104 0.153142 0.568883 -0.727598 -0.17654 -0.957574 0.00286056 0.364211 -0.421681 -0.0962623 0.0129012 -1.52441 -0.304174 0.717977 0.0625084 -0.135903 -0.146843 -3.69765 0.071119 0.301186 0.416165 -1.15696 0.204656 -0.283411 1.5767 1.5789 0.52681 -0.380669 0.643274 3.49133 1.38109 0.155688 -0.624499 -0.0988049 0.211141 -0.274474 -1.24011 4.13394 0.128258 0.160661 -1.8485 0.0325967 0.393092 -0.577677 -0.134979 -0.412291 0.239618 0.975557 -1.14848 0.876004 7.2611 -2.52241 7.77194 -1.40614 1.43445 0.883849 -0.872081 1.29109 -2.49459 5.03333 -0.0629656 0.202526 -0.402348 1.18668 -2.40796 0 0 0 0 0 -0.0702049 -0.165756 0 0 0 0 0 0 0 -0.000665475 0 0 0 0 -0.00118391 0 0.00199186 0.11072 -0.0350287 0 0 0.0236832 0 0 0.126058 0.534021 0 0 0.00955709 0.203048 0 0.223452 0 -0.0129989 0 0 0.000205807 0 0 0.30323 0 0 0 0 0 0 0 0.00926595 0 0 0.0700599 0 0 0 0 0 0 0 -0.0244661 0 -0.0651072 0 0.00108755 0 0 -0.0103225 -0.101734 0 -0.00868855 0 0 0 -0.721529 0 0.0397929 0 0 0.0118395 0 0 0 0.0155422 0 0 0 0 0 0 0.184175 0 0.154279 0 0 0 0 -0.490746 -0.503473 0 0 0.444192 0 0.0506944 0 0.0124181 0 0 0.147803 0 -0.832655 -0.167126 0.201823 0.0631889 0 0 0.0888474 0 -0.106482 0 -2.87585 -0.492545 0 -1.08204 -1.51208 0.0242464 0 -0.0792464 0 0 -0.0452861 0 -0.39615 0.83803 0 0 0.181318 0 0 0.0658232 1.98664 0.323101 0 -0.284776 0 1.44153 -0.0958144 -0.00225875 -0.457401 0.205901 1.0825 -0.497402 -0.144593 0.370776 4.0473 -0.0480707 0 0 0 -0.0648335 0.0692555 0 0 0 0 0.0716129 10.1093 -2.61292 5.72777 0.224512 -0.582674 2.03225 -0.113159 0.171151 -0.373701 0.765637 0 0 0 0 0 0 +36 0 0.0466962 0.258278 0.112197 0.0528537 -0.183698 -0.366846 0.698201 2.84627 0.362242 -2.20376 0.0878485 -0.28968 -0.0585853 -1.2879 -0.0488517 1.27878 7.78463 -0.632636 -0.0292905 -0.228948 -0.203194 -0.241234 0.0693576 -0.748369 1.13014 -0.0549971 0.0236347 0.633829 -0.141773 -0.353275 0.215398 -0.668498 -1.06617 0.285147 0.50745 0.0544014 0.492575 -3.90843 0.691119 -0.553759 -0.200738 1.81864 0.264625 -1.03494 -0.637114 -0.881783 0.49516 -0.441242 -0.601039 0.637991 -1.36673 -2.991 0.122301 0.0424418 -0.0535154 1.91835 0.291768 0.196983 0.968889 0.345994 0.507958 0.177979 2.67983 -4.20573 -1.34043 0.570475 2.71316 0.868629 -0.204715 1.12984 -0.228721 0.48006 -0.722103 0.874014 0.00390033 -2.49885 15.8418 7.87873 -5.22533 6.30697 -4.04473 3.56093 1.89741 -2.07776 3.41866 -5.52017 0.564073 -0.913993 1.41114 -1.59799 0.600096 0 0 0 0 0 0.112197 0.0528537 0 0 0 0 0 0 0 -0.0255799 0 0 0 0 -0.0132329 0 -0.00599593 -0.194207 -0.10933 0 0 0.154523 0 0 -0.239293 -0.146501 0 0 0.0138055 -0.257 0 -0.435372 0 0.0783152 0 0 0.00835099 0 0 -1.13894 0 0 0 0 0 0 0 0.126468 0 0 -0.00249026 0 0 0 0 0 0 0 -0.0454294 0 -0.280354 0 0.0292281 0 0 -0.0023467 -0.0414465 0 0.00462167 0 0 0 2.42056 0 0.176953 0 0 0.221523 0 0 0 0.0393784 0 0 0 0 0 0 -0.183698 0 -0.366846 0 0 0 0 0.205625 0.428821 0 0 -0.273372 0 -0.0371732 0 -0.0562718 0 0 0.321399 0 0.597509 0.100294 -0.0528974 0.027702 0 0 -0.448172 0 1.76043 0 1.39001 -0.736047 0 0.827047 0.767299 -0.00719304 0 0.0320836 0 0 0.0387243 0 -0.953183 -0.0147053 0 0 0.000574216 0 0 0.0863791 0.780851 -0.0154511 0 0.990245 0 -0.142869 0.00446724 -0.0229521 0.195103 0.0134392 -0.0242797 0.296089 -0.0853538 -0.747744 0.256155 -0.0192332 0 0 0 -0.0375408 0.0892853 0 0 0 0 -0.0453044 -5.46099 0.378164 -2.24122 -0.268656 0.219644 -0.665315 0.0928168 -0.0786989 0.081245 -0.297517 0 0 0 0 0 0 +37 0 0.555859 0.0316523 -0.0261373 -0.088938 0.165142 0.0670768 -0.954073 -2.94307 -0.369498 1.1189 -0.160152 -0.482191 0.00729087 -1.88711 -0.178134 -1.11519 -2.30981 0.229944 -0.176581 0.412905 0.0582821 -0.00844108 -0.0151397 0.255428 -0.608389 -0.320788 -0.00501817 0.23633 0.609893 -0.389275 -0.0742952 -0.803017 -0.22263 -0.0967926 -0.196465 -0.0520204 0.193379 -1.39743 0.041375 0.408619 0.0103239 0.492656 -0.0302802 -2.61519 -0.0407343 0.0189049 0.532163 -0.696991 0.0392597 -0.614122 0.562594 -2.73328 0.360971 -0.202393 0.6085 2.3961 0.78828 0.211854 -0.411652 -0.0126343 0.462469 -0.903696 -1.00555 1.51002 0.0885204 0.211284 -0.493677 0.365611 0.200726 -1.2486 0.0792348 0.0912853 -0.0809991 0.747432 -1.58588 -1.15146 5.13325 -3.15978 8.14545 -0.425069 0.750673 -0.101031 -0.60706 0.726792 -1.69189 3.96247 0.0360644 -0.0571919 -0.183776 0.494504 -2.58155 0 0 0 0 0 -0.0261373 -0.088938 0 0 0 0 0 0 0 -0.00806071 0 0 0 0 -0.0146765 0 -0.00119831 0.0412957 -0.0724795 0 0 0.0185409 0 0 0.0437159 0.000877971 0 0 -0.00115865 0.0422931 0 0.0639303 0 -0.00749781 0 0 -0.00177425 0 0 0.0195575 0 0 0 0 0 0 0 -0.032452 0 0 -0.143499 0 0 0 0 0 0 0 -0.0475526 0 -0.65471 0 0.0137095 0 0 0.0141928 -0.185413 0 0.125631 0 0 0 -0.098778 0 0.0999089 0 0 0.0487595 0 0 0 0.00544179 0 0 0 0 0 0 0.165142 0 0.0670768 0 0 0 0 -0.521052 0.00863096 0 0 0.431286 0 0.0569463 0 -0.0120808 0 0 0.148578 0 -0.0571044 -0.154882 0.151628 0.0357446 0 0 -0.10673 0 -2.20304 0 -1.29076 -0.541077 0 -1.18376 -0.385746 0.0195139 0 -0.0732699 0 0 0.00938126 0 -1.60252 0.734813 0 0 0.109872 0 0 0.0125317 0.0249471 0.334738 0 -0.789527 0 1.13798 0.0915474 -0.0993756 -0.646989 0.245381 0.689923 -0.461941 -0.162228 0.499018 1.68091 -0.0555493 0 0 0 -0.0640812 -0.0400082 0 0 0 0 -0.03763 6.28961 -1.907 5.06438 0.309159 -0.443601 1.04366 -0.156075 0.170252 -0.281571 0.774685 0 0 0 0 0 0 +38 0 0 0 0 0 0.389276 0.123289 0.371813 0.459603 0 0 0.173854 0.700539 0 0.227828 0.0775508 0 0 0 0.116431 -0.653762 0 0 0 0 0.226411 0 0 -0.326122 0.414575 0.197546 0 0.195738 0 0 0.115106 0.0813792 0 0 -0.258812 0.557576 0 0 0.0454944 0.764947 0 0.225571 -0.468146 0.518062 -0.0500955 -2.61355 0.139616 0 -0.0675242 0.0357602 -0.215682 -0.224912 0.219458 0.141646 0 0 -0.125095 -3.43315 0 0.709937 0.400721 0.116834 0 0 0 0 -0.0131111 -0.236536 0 -2.58526 1.01555 0 0 0 -1.15474 0 -0.0769406 0.906457 0 -0.12564 -0.66747 1.59075 0 -0.0569569 -1.1331 1.95053 -0.99557 0 0 0 0.268581 0.0285151 0 0 0 -0.0180361 0 0 -0.00348483 0 0 0.0050886 0 0 0 0 -0.0792083 0 -0.00735529 0 0.0158446 0 -0.0641573 0.127631 0 0.00427059 0 0 0.251494 0 0.0192808 0 0 0 0 0.0375425 0.0319631 0 0.00537692 0 0 0 0 0 0 0 0 0 0 -0.0479808 0 0 0 0 0 0 0 0 0 0 0.127059 0 0 0 -0.0101572 0.0458806 0 0.0272807 0.0530057 0 -0.0841975 0 0.132651 0 0 0 -0.00227395 0 0 -0.238884 0 0 0 -0.0646642 0 0 0 0 -0.202061 0 0.389276 0.268581 0.123289 0.0285151 -0.496608 -0.0873961 0.144537 0.743263 0.140744 -0.0150791 -0.0165744 -0.277695 -0.00138195 -0.0427007 0.0156208 0.0133664 -0.0198145 -0.152975 -0.0832589 -1.11305 -0.205565 0.138233 -0.152249 0.0196464 -0.0564616 0.0375018 0.109693 -0.00747523 2.70009 -0.181799 0.232204 0.481607 0.00158072 0.993615 -0.265832 -0.018978 -0.00256594 0.0923398 -0.0289675 0.378169 0.0109546 0.00115766 1.09713 -0.656711 -0.00322117 -0.0169628 -0.026926 -0.111146 0.179728 -0.779497 1.57903 -0.0664698 0.0232093 1.44784 -0.0128408 -0.335577 -0.0352987 -0.0200123 0.178027 -0.118299 -0.301446 0.141172 -0.0638114 -0.0139016 1.87213 -0.116196 -0.951384 -0.0136382 -0.0147751 0.460554 0.0925744 0.0163457 0.0238042 -0.0308625 -0.0605107 -0.0425843 -2.57316 1.47557 -4.77454 0.824859 0.317584 -2.37077 0.068736 0.0237273 0.183619 -1.51663 0.0299539 0.0624558 0.0124556 0.260041 -0.950038 0 +39 0 0 0 0 0 -0.452555 -0.349512 0.386406 2.70173 0 0 -0.244574 -0.850091 0 -1.01016 -0.1107 0 0 0 -0.260737 -3.49095 0 0 0 0 0.422665 0 0 0.0572717 0.630041 -0.236143 0 -0.430429 0 0 0.0638237 -0.0644678 0 0 -0.00651378 -2.0835 0 0 0.0436199 -3.69447 0 -0.948807 -0.0432743 -1.11061 -0.0615181 -0.305156 0.0569094 0 0.331373 -0.250414 0.630465 -1.0438 0.499218 0.0458634 0 0 0.917782 3.00502 0 0.83988 0.288715 1.21648 0 0 0 0 0.214257 0.190651 0 -0.691329 -0.308514 0 0 0 -5.68442 0 -0.0220689 -4.406 0 -0.192797 -0.1703 -5.93851 0 -0.156846 0.395734 0.137929 -6.12245 0 0 0 -0.0281126 -0.0130047 0 0 0 0.00637464 0 0 0.00244794 0 0 -0.00170172 0 0 0 0 0.0116525 0 0.0037159 0 -0.0190007 0 -0.0328867 -0.116197 0 -0.00285495 0 0 -0.142245 0 -0.0126223 0 0 0 0 -0.0150738 -0.0207791 0 -0.00295418 0 0 0 0 0 0 0 0 0 0 0.0256078 0 0 0 0 0 0 0 0 0 0 0.0337427 0 0 0 0.0430129 -0.0640923 0 -0.126613 0.0972442 0 0.0309572 0 0.00986106 0 0 0 0.0288838 0 0 0.130986 0 0 0 0.0102163 0 0 0 0 0.129453 0 -0.452555 -0.0281126 -0.349512 -0.0130047 -0.0218654 -0.0245709 -0.141528 0.370407 -0.270164 0.0100076 0.00253295 0.406214 0.000961333 0.0395737 -0.0143703 -0.0179635 0.00748698 0.084787 0.513832 0.360822 0.316157 0.232456 0.201764 0.0782035 0.0647131 0.0265522 -0.208002 0.0113197 1.40799 -0.0948348 1.81694 -0.185931 -0.00134042 1.45334 0.722804 0.0183118 -0.000464785 0.0727873 -0.00499504 0.57651 -0.0227261 -0.00647924 -0.0113109 0.871086 0.000611659 -0.00979152 0.123744 0.0671043 0.00956532 0.158675 2.48923 -0.200756 -0.0297694 0.384109 0.0308204 0.741697 -0.111448 0.204558 0.00707952 -0.0205391 -0.691441 -0.149692 0.137601 -0.289075 2.4766 0.0476963 0.0379432 0.00233364 0.175557 -0.179956 -0.0848508 0.02342 -0.024148 0.0695632 -0.0116082 0.0412061 -20.1343 -2.74421 -7.02579 -0.647669 0.157521 -2.37798 -0.0627987 -0.0782225 -0.266685 -1.12183 -0.0166021 0.0381549 -0.116349 0.0711681 -0.519105 0 +40 0 0 0 0 0 -0.499572 -0.326278 1.06792 3.95898 0 0 0.0532942 -0.265007 0 0.071667 0.034579 0 0 0 -0.0515522 -4.45231 0 0 0 0 0.759132 0 0 0.11716 6.03067 0.0803286 0 0.228256 0 0 0.223924 0.0127044 0 0 -0.103821 -0.424962 0 0 0.0221861 -3.10241 0 -0.115716 1.20422 -0.0786385 -0.0118879 -0.433036 0.0906674 0 -0.00905651 -0.080207 0.589917 2.01657 -0.242432 -0.00810997 0 0 1.48869 1.87168 0 -0.744786 0.27462 -0.320476 0 0 0 0 0.835539 0.376476 0 3.45766 -0.407298 0 0 0 -9.15366 0 -0.367409 -10.741 0 -0.289377 -0.974488 -11.0543 0 -0.025609 -1.71766 2.42338 -19.3034 0 0 0 0.0179859 0.000875953 0 0 0 -0.0183719 0 0 -0.00136973 0 0 -0.00055866 0 0 0 0 -0.0282474 0 -0.00174452 0 -0.0136238 0 -0.21787 -0.282826 0 0.00077767 0 0 0.0627332 0 -0.0177134 0 0 0 0 -0.0777465 0.00745774 0 -0.00506504 0 0 0 0 0 0 0 0 0 0 -0.00111573 0 0 0 0 0 0 0 0 0 0 -0.000980595 0 0 0 -0.00932271 0.0240561 0 0.0432108 0.0316969 0 -0.0403374 0 -0.0224321 0 0 0 0.0155496 0 0 -0.0580437 0 0 0 -0.0090538 0 0 0 0 -0.0560774 0 -0.499572 0.0179859 -0.326278 0.000875953 -0.824092 -0.272168 -0.00335939 0.976114 -0.312046 -0.000140281 0.0249592 -0.202865 -8.30014e-06 -0.012987 -0.000267617 0.000269454 -0.0157114 -0.00314979 -0.389218 -0.839497 0.179376 0.756541 -0.0725936 -0.0519669 -0.110795 0.569774 4.04254e-06 -0.020744 0.205849 -0.195489 1.74822 -0.0649509 -1.53472e-05 3.35758 0.637436 -0.00473187 0.000243261 0.245181 -0.0173951 3.21218 -0.0207193 0.100002 -0.253711 -0.539077 0.00211732 -0.0165416 0.010128 -0.128295 0.0347642 1.76142 1.59289 -0.505344 0.0262862 1.51647 0.00218069 0.241234 -0.0513665 0.265246 0.395936 -0.74282 -1.25596 0.0680657 0.450941 0.132045 0.155654 0.0353463 0.33465 -0.0370341 -0.565023 -0.161902 0.0195411 0.0167286 -0.000639854 0.195406 0.180884 0.0070882 -19.3729 0.649201 -17.952 -0.153707 1.50021 -15.6963 0.020717 0.20653 -0.680228 -5.5477 0.000616758 0.0494164 -0.527403 0.673737 -4.47132 0 +41 0 0.344009 -0.474983 0.0179099 -0.162161 0.295169 0.0903475 -0.384222 -2.02337 -0.0336068 0.363156 0.0261396 -0.990115 -0.0175917 -0.123141 0.00209406 -3.92561 -1.51952 0.168034 -0.018851 0.344344 0.0356036 1.49403 0.0189595 -0.0981594 -0.361605 -2.61768 0.143764 -0.0201472 -0.326331 -0.122276 0.0571007 0.0535329 0.826535 0.157726 -0.0483561 0.000832765 0.882361 -2.30529 -0.0178686 0.0402445 -0.0630261 2.49163 -0.0201524 -0.98595 -0.116954 0.00508826 -0.0867348 0.190315 0.15694 -1.71548 -0.0351327 17.2529 -0.00601524 -0.0680487 -0.232946 8.54561 0.866047 0.0624943 0.234345 0.152149 -1.39392 -0.272437 -2.59158 -0.793712 0.199255 -0.426178 -0.179567 0.393544 -0.0450447 0.400513 -0.298613 -0.193109 -1.4219 0.673837 0.242485 -3.10817 11.7688 -0.522441 8.3765 0.604352 -0.28392 7.21614 -1.1025 0.665269 -0.29891 3.32843 0.084358 -0.00183215 0.164095 -0.0160032 0.258965 0 0 0 0 0 0.0179099 -0.162161 0.00707729 0 0 0 0 0.00109369 0 -0.0582848 0 0 0.00656897 0.0233509 -0.0697686 0 -0.0105946 0.0641922 -0.465242 0 0 -0.191778 0.00153903 0 -0.023236 0.386657 0 0 -0.0394695 0.189431 0 -0.0706902 0 -0.0954249 0 0 -0.015385 0 0 -0.0809134 0.0170736 0.105237 0 0.109533 -0.0417677 0 0 0.00193264 0 0.0100014 -0.265446 0.00398475 0 0 -0.0113411 -0.0151556 0 0.030739 -0.152341 0.0137998 1.26043 -0.0911578 -0.0813863 0 0.0434069 -0.165127 0.325287 -0.0357345 0.0190905 0 0 0 1.00543 -0.199773 1.59988 0.0430491 -0.0662631 0.194979 -0.00745014 0.010566 -0.0408313 0.331755 0 0 0 0 0 0 0.295169 0 0.0903475 0 0 0 0 0.0499942 0.0209846 0 0 -0.183543 0 -0.0313637 0 0.00122562 0 0 0.062388 0 0.0166291 0.0204924 -0.0405804 0.00788819 0 0 -0.00750701 0 1.93131 0 -1.1173 0.0384196 0 0.025965 -0.0699639 -0.00570128 0 0.00818418 0 0 0.0196021 0 0.351825 0.500454 0 0 0.0532763 0 0 0.0380144 -0.561286 -0.128545 0 -0.0159355 0 -0.647762 -0.0323611 -0.0219166 -0.130937 0.056174 0.307643 0.0535585 -0.0971645 0.575423 4.17346 -0.0797491 0 0 0 0.0244348 0.0454102 0 0 0 0 0.00558568 5.08115 0.0180044 2.12095 0.102098 -0.0514636 1.17645 0.00929263 0.014267 0.0608626 0.0460789 0 0 0 0 0 0 +42 0 1.13192 0.29699 0.0633248 0.127521 -0.0213763 -0.0137977 -0.560681 -1.20921 0.455705 -1.48057 -0.132314 -4.3958 -0.0158247 -1.57167 -0.0167294 -2.89203 -7.23127 -0.0179595 -0.111378 0.442493 0.0341199 -0.825122 0.0208768 -0.311275 -0.86638 -0.469696 0.258298 0.0320999 0.555135 -0.870626 0.0984457 -0.120069 -2.83937 2.00909 -0.30048 -0.0187235 0.672237 -10.4719 -0.443141 0.0503697 -0.061539 3.33073 -0.0731791 -7.71666 -0.234861 0.00407259 0.129379 -0.683639 0.10443 -0.686427 0.0697704 27.9641 0.124346 -0.0659261 0.110769 10.7339 1.12579 -0.000195226 0.166644 0.0408485 -0.306876 -0.124186 4.48198 1.51072 0.918065 0.141217 0.395869 -0.731607 -0.179085 1.2707 0.693825 0.106978 -1.34458 0.467172 -0.258623 -2.03161 46.6091 9.00791 4.31145 7.98177 -3.68689 7.36065 1.41417 -0.408376 0.528489 2.00489 0.169403 0.143196 -0.107018 0.215116 -0.440537 0 0 0 0 0 0.0633248 0.127521 -0.00773143 0 0 0 0 -0.00073808 0 -0.0294953 0 0 -0.00171022 0.0112133 -0.0292792 0 -0.00823812 0.0595366 -0.0836287 0 0 -0.0742098 0.0007885 0 -0.0366373 1.17947 0 0 -0.0152715 0.335706 0 -0.135543 0 -0.0788822 0 0 -0.0118564 0 0 -0.882348 -0.0109855 -0.0257353 0 -0.114872 -0.0783737 0 0 -0.203003 0 -0.0134553 -0.308369 0.0161431 0 0 0.00175903 0.0154315 0 0.0201286 0.0448322 -0.0121734 0.323284 -0.00958052 -0.0317232 0 -0.0507602 -0.117891 0.26814 -0.0185342 -0.244652 0 0 0 3.41934 0.140408 0.487556 0.0391253 -0.0455306 0.4356 0.00175168 -0.00419406 0.0120814 0.128655 0 0 0 0 0 0 -0.0213763 0 -0.0137977 0 0 0 0 -0.0315468 0.305795 0 0 -0.175222 0 -0.0379611 0 0.00470764 0 0 -0.0416784 0 0.0101264 -0.00321217 -0.0362337 -0.00532765 0 0 0.0117655 0 0.988514 0 -0.330204 -0.104918 0 0.100932 -0.102043 -0.00903218 0 -0.0065001 0 0 0.0515335 0 -0.0450688 -0.226628 0 0 -0.0269996 0 0 -0.0288974 1.39918 0.0567247 0 -0.048926 0 -0.640729 0.0363948 -0.0967778 0.0217773 -0.0171525 -0.1092 0.804725 -0.0475103 -0.257044 -1.46329 0.0309507 0 0 0 0.0123363 0.0430822 0 0 0 0 -0.0506633 8.92179 2.3672 -1.86509 1.25323 -0.695347 0.232726 0.196331 -0.137664 0.129831 0.125513 0 0 0 0 0 0 +43 0 1.11769 0.331653 0.0630915 0.29013 -0.0819575 -0.0159877 -0.0677654 0.0874157 0.734255 -1.3733 -0.0388397 -1.2228 -0.00722887 -0.692705 -0.0039278 -0.134494 -0.406458 -0.150485 -0.0700033 -0.355448 -0.0255152 -0.478004 0.0195284 -0.394267 -0.204515 0.242749 0.0209262 0.00931568 0.283425 -0.247859 0.116431 -0.00997492 -1.45189 0.444883 -0.0649488 -0.00590355 -0.188775 -5.94824 -0.246543 -0.100255 -0.013264 0.598401 -0.0410864 -2.6242 0.0534018 -0.021575 0.049362 -0.344833 0.0244842 -0.471332 0.204431 19.4381 0.406389 0.110054 -0.00248324 4.54682 0.82151 -0.410162 -0.0465007 -0.0293502 1.02547 0.596393 3.55373 0.620338 0.751835 -0.520759 0.0349289 -1.50989 -0.228753 -0.52065 0.91223 0.0953668 0.0756976 -0.481458 -0.14168 1.20476 27.4534 5.55677 2.1778 4.45487 -1.93991 5.36117 1.11958 -0.592045 1.65488 -0.95169 -0.0385182 0.0926936 -0.123405 0.117881 -0.224917 0 0 0 0 0 0.0630915 0.29013 0.00724972 0 0 0 0 0.00122452 0 -0.0090208 0 0 0.0045368 0.0159462 -0.00596955 0 -0.00362691 0.0212385 0.022709 0 0 -0.289169 0.00116001 0 -0.00852133 0.633477 0 0 -0.0318894 0.102077 0 -0.0309931 0 -0.0889869 0 0 -0.0112957 0 0 -0.231831 0.0168226 0.0590338 0 0.098666 0.0433294 0 0 -0.223913 0 0.016159 0.273358 -0.0257507 0 0 -0.0106998 -0.0111302 0 0.0271549 -0.155576 0.0175478 -0.490609 -0.0362908 -0.0271046 0 0.0390099 0.0542762 0.0514301 -0.00531719 0.0911624 0 0 0 -0.431077 -0.0817336 -0.359568 0.0127818 -0.00788887 -0.127682 -0.00629546 0.0073509 0.000135802 -0.0776037 0 0 0 0 0 0 -0.0819575 0 -0.0159877 0 0 0 0 0.0465556 -0.271408 0 0 -0.688704 0 -0.0969446 0 -0.00780538 0 0 0.0984706 0 -0.075802 0.0473314 -0.104686 0.00935421 0 0 -0.0595079 0 -0.22019 0 -1.87154 -0.117224 0 0.467945 -0.338742 -0.0158953 0 0.00406594 0 0 -0.0427095 0 -0.338627 0.60081 0 0 0.0445344 0 0 0.267992 0.526296 0.240299 0 -0.561071 0 -0.469626 -0.0469339 -0.162713 0.0696964 -0.0933008 -0.4614 0.303816 0.0108186 0.50991 1.09259 -0.0246151 0 0 0 -0.0929768 0.00953644 0 0 0 0 0.031065 17.4951 5.63523 -3.17929 1.50788 -0.777328 0.734504 0.403901 -0.290281 0.496969 -0.499626 0 0 0 0 0 0 +44 0 0 0 0.10968 0.395433 0 0 0 0 -0.0264801 -1.7645 -0.136464 0 -0.00460693 0 0.185156 0 0 -0.0829252 -0.0333484 0 0.00574065 0 0.165663 -0.254835 0 0 0.160288 0 0 0 0.175613 1.05836 0 0.863058 0 -0.0579519 0.842352 0 0.179345 0 -0.125731 3.71857 -0.211312 0 -1.23827 0 0 2.05164 0.549093 0 0.0459174 0 0.113966 1.10842 -0.403975 0 -0.970638 -1.0955 0.0322435 -0.0811643 0 0 0 0 -0.471457 0 0.298559 0.686043 -0.1982 0.506302 0.441902 0.484852 1.31388 0 0 0.251957 0 3.7163 0 0.459077 0.466799 0 1.13444 -0.659734 1.2321 0 2.92009 -1.13883 1.13483 -1.18311 0 0 0.151685 0.0143799 -0.178512 0.000240669 0.10968 0.395433 0.0146551 0.118988 -0.227915 -0.000236771 0.0172423 0.00338152 -0.0137003 -0.105918 0.0133908 -0.00312575 -0.00228221 0.0522527 -0.0689585 0.198836 -0.0156309 0.455948 -0.444054 0.000850139 0.824048 -0.171793 0.00135053 -0.00814512 0.223201 4.10102 0.0157861 -0.00472748 0.0570261 1.59956 -0.0331498 0.5161 -0.0185265 -0.278344 -0.00490176 -0.0471149 0.00208449 -0.0366409 -0.00115559 1.72124 0.0792211 0.0951816 -0.00246312 0.284696 -0.00994563 0.00283682 -0.00771803 0.176284 0.0821787 0.0342654 0.767274 -0.00394394 -0.0408508 0.0660731 0.0286954 -0.0189809 -0.147143 -0.0144574 1.06766 -0.103403 -6.1595 0.236445 0.0424181 -0.0410325 -0.33389 0.03323 -0.894882 -0.214272 -0.17463 -0.0216497 0.451984 0.00849084 -3.90487 0.258698 1.10944 0.183874 -0.0321136 -0.232024 0.0226555 0.00805089 -0.0931624 0.0607946 0.00374733 0.000945728 0.00320888 -0.0370515 -0.00392749 0 0 -0.178512 0 0.000240669 0 0 -0.586035 0 -1.19286 -0.0723717 0.0105998 -0.859682 -0.0112912 -0.144949 -0.0962289 -0.0743489 0.0294473 -0.423512 0 0 0 0 -0.130507 0 0.0856617 0 -0.453192 0 0 -0.0595897 0 0 -0.0148438 0 0 0.00181387 -0.00448484 0 -0.0183745 0 -0.213228 0 0 0 0.00130598 -0.0102459 0 0 0.0792834 0 0 0 -0.128975 0 0.200497 0 0.335952 -0.0927582 0.265069 0 0 0.167898 0.0444279 1.44673 0 0.227139 0 0.148306 0 -0.019821 -0.151031 0.056806 -0.08032 -0.106307 -0.00820982 0.808322 0 5.40464 0 2.29433 -0.313927 0 1.18308 -0.320837 0.276252 0 0.88273 -0.360636 0.239421 0.0197802 0 0 +45 0 0 0 -0.279898 -0.218791 0 0 0 0 2.88035 1.64663 -0.710204 0 0.742446 0 -0.351273 0 0 0.575833 -1.76146 0 0.40078 0 -0.237442 0.905056 0 0 -0.999276 0 0 0 0.603461 -0.142949 0 -1.83247 0 -0.310801 -2.96595 0 -3.18232 0 1.26037 -5.66575 -1.53281 0 2.31892 0 0 -1.58781 3.69473 0 2.62248 0 1.77563 -0.593403 -0.648663 0 -1.96726 -1.30366 -1.35834 -1.07085 0 0 0 0 0.544519 0 -0.753571 -1.98841 -4.2673 -2.2564 -0.296995 -2.52151 3.35538 0 0 1.22114 0 -1.73079 0 -2.93432 3.01273 0 -5.60216 4.52907 -2.22292 0 -7.19309 7.58927 -4.60241 4.25374 0 0 0.00758076 0.00674921 0.102493 0.0436266 -0.279898 -0.218791 0.0280468 0.00547414 -0.191634 -0.000562669 0.000333622 0.022992 -0.0626525 0.0909758 0.00560399 -0.00631619 0.0119728 0.135512 0.222134 0.0282775 0.0535116 -2.14117 0.431178 0.000534714 0.0479212 -3.7961 0.0112883 -0.00101247 -0.991355 -5.9906 0.174701 -0.0343128 -0.415448 -3.52022 -0.0319132 -1.92886 -0.0178398 -2.07903 0.00853544 -0.393006 -0.218579 -0.0632569 -0.00553762 -3.73956 0.536823 0.190918 -0.00278769 0.775479 0.844877 0.0934195 -0.0260402 -1.37051 0.0409999 -0.0670275 -0.914505 0.204947 -0.00644162 0.0341301 -0.0309054 -0.126928 -0.159348 0.156237 -1.17707 0.208309 -4.61635 0.212285 0.158746 0.0679839 0.248956 0.342009 -3.16749 1.10104 -0.290802 -0.130971 0.132369 0.013393 8.48372 1.20666 -1.80512 0.272925 1.04973 0.267025 0.0500407 0.123651 -0.455984 0.00784307 0.00517376 0.0233589 -0.112387 0.183216 -0.0434646 0 0 0.102493 0 0.0436266 0 0 0.230002 0 -0.623786 -0.0642988 0.00883454 0.343629 -0.0120838 0.0188986 0.0481698 -0.0307795 0.0143962 -0.318028 0 0 0 0 0.179977 0 0.185567 0 -0.0464903 0 0 -0.0628869 0 0 0.0065563 0 0 0.036067 0.000199779 0 -0.0028937 0 -0.0896532 0 0 0 -0.000413313 -0.00643371 0 0 0.162542 0 0 0 -0.105029 0 0.128007 0 -0.718915 0.238407 -0.563241 0 0 -0.531793 0.47685 0.341422 0 0.119384 0 0.0280106 0 -0.0298357 -0.320043 0.122458 -0.0226845 -0.0709534 -0.0636243 0.458277 0 -0.309659 0 0.624012 0.656981 0 -0.342239 0.684252 -0.50859 0 0.475506 0.0507657 -0.266166 0.225808 0 0 +46 0 0 0 -0.0965119 -0.0763895 0 0 0 0 0.918428 -0.00303088 0.102066 0 0.304726 0 -0.0331261 0 0 0.0239174 -0.187546 0 0.0727289 0 -0.0687758 0.190154 0 0 -0.760598 0 0 0 0.423983 0.452105 0 -1.70869 0 -0.0355374 -2.64008 0 -0.320507 0 0.330808 -6.05675 -0.17161 0 -0.311097 0 0 0.399769 0.597662 0 0.100094 0 0.8545 0.45842 -0.585703 0 0.518846 -1.00914 0.143651 -0.110773 0 0 0 0 0.691423 0 -0.728837 -3.11898 -2.99006 -0.00683174 0.332789 -0.460774 1.02112 0 0 2.41241 0 -0.93073 0 0.595786 -0.148607 0 -0.778561 0.724198 0.097166 0 -0.156129 0.631529 0.876129 -0.065471 0 0 0.0371394 0.00384188 0.0946707 0.0261346 -0.0965119 -0.0763895 0.0242634 0.00907555 -0.159692 -8.72954e-05 -0.000281212 0.0189352 -0.0122741 0.0417885 0.00354136 -0.00109324 -0.00234131 0.0163181 0.160509 0.0496604 0.0257885 -1.05695 0.256253 0.000234355 0.0221682 -1.43123 0.00113513 -0.00655948 -0.475349 -4.14368 -0.0383311 -0.00461659 -0.261444 -2.07605 -0.0298984 -0.842576 -0.0101895 -0.671776 -0.018918 -0.0721645 -0.123508 -0.0122413 -0.000781114 -1.47095 0.383206 -0.0275137 -0.00175502 0.49164 0.210785 0.0106643 -0.0102078 -0.685345 -0.0592829 -0.0144584 -0.912605 -0.0201624 -0.0102363 0.0214874 0.00117336 -0.0913158 -0.038466 -0.0499895 -0.825346 0.0977509 0.0525919 -0.167865 0.133239 0.0166489 0.170211 0.0179397 -0.802063 -0.0896448 0.0845923 -0.00981601 -0.116986 0.00276931 3.33705 0.340764 -0.808327 0.0665249 0.245916 0.226461 0.00969763 0.0241106 -0.0365704 -0.0453667 0.00118297 0.00329185 -0.00497824 0.0424741 0.00953657 0 0 0.0946707 0 0.0261346 0 0 0.0646691 0 0.35216 -0.0463742 0.00729021 0.204103 -0.000353381 0.0577389 0.078175 0.0701728 -0.0358033 -0.45167 0 0 0 0 0.0480591 0 -0.015212 0 0.36616 0 0 0.133264 0 0 0.0195645 0 0 0.0202019 0.0050189 0 0.0335552 0 0.13612 0 0 0 -0.00311375 0.0271312 0 0 -0.217976 0 0 0 0.420723 0 -0.284652 0 0.432054 -0.0265262 1.4404 0 0 0.677433 -0.0373499 0.941653 0 0.124229 0 -0.0273949 0 0.18211 0.258154 0.0533028 0.0656624 -0.100878 0.0340398 -0.139205 0 0.804388 0 2.27319 -0.622063 0 0.748407 -0.383112 0.283688 0 0.545294 -0.284395 0.282447 -0.0573098 0 0 +47 0 -0.309405 -0.333361 0.0722735 0.0461157 -0.409428 -0.152147 0.602574 2.68075 1.05483 -1.10092 -0.308535 0.162133 -0.0489199 -0.175956 -0.0464326 -0.608302 -4.43965 -0.126813 -0.265514 0.327656 -0.067076 0.268056 0.218792 -0.326123 0.428687 -0.0867885 0.06214 0.061268 1.39655 0.0467333 0.482478 -0.0595011 0.933951 -0.042084 0.0772709 -0.133969 0.16234 3.80579 -1.66611 0.0358616 0.0566104 -0.281141 -0.684157 -1.17461 0.339595 -0.01418 0.291006 -0.666948 -0.0504844 3.59038 0.0652754 4.90719 -0.122282 -0.356986 0.205773 -1.36195 -0.417114 0.448649 -0.308508 -0.0405492 1.10372 -0.0656381 2.2167 2.43545 -1.64187 -0.148192 -1.76989 0.24183 -1.1483 0.105906 0.330231 0.409365 -1.25696 0.285798 -0.188006 0.169022 -13.7605 1.36772 -7.4831 -2.94442 5.25654 -9.77555 1.41618 -0.637609 1.26575 -5.63127 -0.643028 1.6715 -1.64498 1.97062 -2.65486 0 0 0 0 0 0.0722735 0.0461157 0.00233875 0 0 0 0 0.00208623 0 0.128699 0 0 -0.00223309 -0.0276281 0.554446 0 0.0709289 0.472532 1.04831 0 0 -0.527317 -0.00129698 0 0.391269 2.76118 0 0 -0.0327216 1.23164 0 0.939248 0 -0.216506 0 0 -0.00826218 0 0 2.15298 0.0452941 -0.0465706 0 0.0553809 0.130849 0 0 0.0190183 0 0.00615396 0.476982 -0.146958 0 0 0.00131732 -0.00211294 0 0.0193754 0.189613 0.0490939 -5.9599 0.042978 0.0605 0 -0.0472877 0.981084 0.373233 -0.350867 -0.307402 0 0 0 -18.551 -0.457427 -5.09614 -0.0832193 0.208466 -2.76559 0.00108674 -0.00245339 0.0356466 -1.10268 0 0 0 0 0 0 -0.409428 0 -0.152147 0 0 0 0 -0.0231614 -0.713117 0 0 0.00150344 0 0.005552 0 -0.0201281 0 0 0.0504224 0 0.0801948 0.0660556 0.0935796 0.00572808 0 0 -0.174242 0 -4.0758 0 0.980847 0.0471136 0 0.615543 0.158307 0.0122586 0 -0.00445738 0 0 -0.0904751 0 -0.560654 -0.243802 0 0 -0.0096479 0 0 0.0323832 0.815155 0.160888 0 -0.548775 0 0.475922 -0.116416 0.0270276 -0.243115 -0.00155765 0.537604 -0.296891 0.0666318 0.448813 -2.13202 0.0676606 0 0 0 -0.153733 -0.0653686 0 0 0 0 0.22508 -3.75383 -0.0633044 -2.43124 -0.179436 0.238421 -0.963924 -0.0126322 -0.0178821 0.0169872 -0.470574 0 0 0 0 0 0 +48 0 0.951496 0.208907 -0.189744 0.138484 -0.0827031 -0.0111755 0.253104 1.48331 1.49556 -0.470195 -0.0128523 -0.350247 0.553942 -0.209716 -0.13 -1.41907 -1.42212 0.14038 -0.718665 0.459658 0.269384 -0.303913 -0.455166 0.111703 0.269157 -0.634027 -0.0600155 -0.00419739 0.47303 -0.121521 -0.086458 -0.320983 -1.32971 -0.0397813 -0.0261136 -0.0213766 0.180998 -4.88777 0.0400257 0.0884664 0.692352 0.23813 0.0670048 -0.472117 0.862992 0.0213841 0.0188797 -1.5468 -0.0451399 0.386603 0.48683 3.03334 1.08589 -0.198049 0.0907113 -1.08293 -0.223164 -0.106183 -0.52222 -0.572993 -1.02584 0.107667 2.92695 -1.73877 -0.313791 -0.336516 1.71968 0.192791 -1.49944 1.96777 0.592756 0.163585 -0.615809 -0.103281 0.0999887 0.213425 15.2839 3.6384 -2.57933 4.48672 -3.81703 6.06029 0.692137 -0.447901 0.516651 -1.8191 -1.63409 0.201238 -1.26812 0.0930307 -0.899234 0 0 0 0 0 -0.189744 0.138484 0.0168413 0 0 0 0 0.00693258 0 0.00483502 0 0 -0.00144522 0.0227848 -0.132392 0 -0.0229419 -0.0900457 0.0827223 0 0 -0.936297 0.00125519 0 0.485493 1.79827 0 0 -0.0927238 0.342471 0 0.502496 0 -0.382421 0 0 -0.0399527 0 0 -0.406688 0.143256 -0.0398635 0 0.349172 0.178703 0 0 -0.800913 0 0.0183733 -0.163089 -0.0335426 0 0 0.00277994 -0.0370417 0 0.00159903 -0.0503297 -0.0438913 -8.28079 0.150544 -0.00897148 0 0.0524684 0.0918431 -0.151676 -0.303562 -0.491115 0 0 0 0.175893 0.159825 -0.255461 -0.00222942 0.0123515 -0.0858853 0.00165194 -0.00418004 0.0549714 0.0229846 0 0 0 0 0 0 -0.0827031 0 -0.0111755 0 0 0 0 0.0632071 -0.261054 0 0 -0.186538 0 -0.0166163 0 -0.00452976 0 0 0.0363317 0 -0.073458 0.0271256 -0.030735 0.00627062 0 0 -0.0189836 0 1.43945 0 -1.5555 -0.0529083 0 0.367447 -0.2505 -0.00278365 0 0.00554074 0 0 -0.0492894 0 0.0991792 0.27709 0 0 0.0379742 0 0 0.316018 0.186628 0.0725598 0 0.513215 0 -1.36988 0.0611951 -0.146668 -0.28715 -0.0658008 0.0980798 0.74921 -0.158429 0.103767 2.89338 0.0654504 0 0 0 -0.0657368 0.0490626 0 0 0 0 0.0558938 14.2941 2.76301 -1.76228 1.22429 -0.922726 1.36975 0.168424 -0.166655 0.210344 -0.224287 0 0 0 0 0 0 +49 0 0.727074 0.207731 0.254069 0.179395 0.0792974 -0.0298635 0.422933 1.19921 3.99209 -1.13674 -0.174978 -0.435512 -0.143642 -0.45272 -0.0974656 0.223238 0.829662 -0.212864 -0.762899 0.600346 0.01065 -0.124074 0.777076 0.112802 0.252475 0.037646 0.500232 0.0305262 0.646718 -0.104529 1.77467 -0.191123 -0.699176 1.33432 0.0632594 -0.0672093 2.02233 -3.76031 -0.88252 0.0642389 0.254998 5.50696 -0.401378 -1.55552 1.31062 0.00900462 0.143188 -1.60406 0.311651 0.390319 -1.01912 -1.51163 1.49813 -0.297019 0.261265 0.111408 0.731042 0.119203 0.0500855 -0.187783 -1.6792 -0.294257 0.492304 -1.27306 -1.19648 -0.163836 0.290835 1.8243 -4.33724 1.33304 0.107492 0.155107 -3.38682 0.249273 -0.328707 -3.08748 12.3839 2.66072 0.546376 0.915233 -0.302606 3.96693 1.38342 -1.55092 2.22713 -2.45169 -2.48168 1.1987 -1.85804 1.01804 -1.22942 0 0 0 0 0 0.254069 0.179395 0.0212322 0 0 0 0 0.0102342 0 -0.0284601 0 0 -0.00524581 -0.0898869 0.0556919 0 0.00314443 0.708924 -0.122618 0 0 -0.901126 -0.0041441 0 -0.147435 3.45568 0 0 -0.0809411 1.5606 0 -0.696384 0 -0.498287 0 0 -0.0450789 0 0 -1.7927 0.215861 -0.11612 0 0.444484 0.195983 0 0 -0.89934 0 0.0269997 0.43856 -0.0263697 0 0 0.00893733 -0.0430782 0 -0.0127293 0.0336571 -0.0713305 -8.21982 0.305745 -0.0580915 0 0.0569676 -0.217397 0.447028 -0.401605 -1.17398 0 0 0 12.7192 0.825248 1.16845 0.0545842 -0.131189 1.80431 0.00386217 -0.00943875 0.127939 0.158192 0 0 0 0 0 0 0.0792974 0 -0.0298635 0 0 0 0 0.0554304 0.737181 0 0 -0.419915 0 -0.05659 0 0.00762004 0 0 0.0111732 0 -0.0899871 0.0437063 -0.0755632 0.00328154 0 0 0.0391216 0 1.84581 0 -1.55033 0.163208 0 0.20174 -0.325145 -0.0116809 0 0.0085263 0 0 0.0996055 0 0.453644 -0.284251 0 0 -0.02721 0 0 0.0315271 0.548262 0.282858 0 0.627984 0 -0.650108 0.219835 -0.255142 0.455692 0.042941 -0.433924 0.553022 -0.132128 -1.12987 -4.48952 -0.116869 0 0 0 0.0841997 0.142832 0 0 0 0 -0.228902 10.8585 2.80919 -1.08895 0.809765 -0.655206 1.02034 0.263738 -0.253208 0.346646 -0.317343 0 0 0 0 0 0 +50 0 1.45105 0.439237 0.326244 0.288501 -0.133011 -0.122435 0.173007 0.971718 0.36857 -2.59652 -0.245174 0.387551 -0.515663 -0.208678 -0.0480204 1.68547 7.02247 -1.35499 0.226106 0.540805 -0.775662 -0.51185 0.604953 -1.31478 0.376618 0.55828 0.339844 0.056587 0.417731 0.0895559 0.532654 -0.164491 -1.28526 0.105631 0.125981 -0.0537335 0.70234 -5.32595 -0.605096 0.0329047 -0.625427 1.06726 -0.0594351 -0.260344 -0.227107 -0.0152614 0.159062 -0.0778375 0.534444 -0.12959 0.115034 -6.09278 -0.310802 0.360625 -0.163815 -1.34487 0.041543 0.107348 0.736715 0.0431376 0.56753 0.189447 1.70278 -1.96347 -0.149915 -0.346443 2.40491 0.212872 0.239576 1.01982 0.78118 -0.4454 -0.735229 -0.274494 0.014626 -1.71355 17.2157 7.47716 -2.40793 6.72851 -3.15338 4.04503 4.80517 -1.35556 1.67417 -1.42048 0.991826 1.0952 -0.784371 0.756333 -0.470098 0 0 0 0 0 0.326244 0.288501 0.00355687 0 0 0 0 -0.00254144 0 0.0343391 0 0 -0.00299187 0.00519342 0.119033 0 0.0223115 -0.123953 0.299257 0 0 0.084193 0.000431036 0 -0.296772 -0.384686 0 0 -0.0220692 -0.382273 0 -0.533083 0 0.266588 0 0 0.0135767 0 0 -1.6132 -0.0515984 -0.0618869 0 0.0707749 0.0480815 0 0 -0.543186 0 0.00581795 -0.273565 -0.0120013 0 0 0.00302892 -0.00956223 0 -0.00536835 -0.287945 0.0132637 0.850628 0.0666197 0.0444854 0 0.0886916 0.0576575 0.417604 -0.15623 -0.0615806 0 0 0 7.50731 0.494343 -0.757265 0.0291286 0.0248672 0.164528 0.00211695 -0.000295099 0.0252357 -0.175491 0 0 0 0 0 0 -0.133011 0 -0.122435 0 0 0 0 -0.053535 0.555182 0 0 -0.356319 0 -0.0401424 0 -0.00426789 0 0 -0.0201807 0 0.0375622 0.0171728 -0.00527476 -0.00537442 0 0 -0.0549343 0 -0.578282 0 -1.541 -0.316673 0 0.146773 -0.137587 -8.65485e-05 0 -0.00507896 0 0 0.0564238 0 -0.911111 -0.266249 0 0 -0.0313813 0 0 0.180921 0.250872 -0.00610559 0 0.875026 0 -0.0435322 0.172535 -0.123189 -0.18136 0.0707138 0.428827 0.0857088 -0.023293 0.0806175 3.74352 -0.0214563 0 0 0 0.0573314 0.0309027 0 0 0 0 -0.151976 16.7138 2.69617 -0.435853 1.04915 -0.519861 0.56473 0.234507 -0.195392 0.199935 -0.0655046 0 0 0 0 0 0 +51 0 -0.14529 -0.357642 0.016619 -0.0387256 0.136768 0.0438613 -0.297345 -1.55309 -0.146251 -0.354934 0.0488003 -0.145674 -0.11455 0.405844 -0.0366409 -1.85288 -6.81358 -0.0051271 -0.179544 -0.0919027 -0.144479 0.30535 0.129142 -0.538268 -0.463211 -0.51664 0.099821 -0.0020966 0.0147332 0.0492159 0.093639 -0.0618189 0.648409 0.180811 -0.0511017 0.0294272 0.0720014 1.47094 0.278578 -0.0192909 -0.302008 0.157866 0.221459 0.400378 -0.638233 -0.00334811 -0.0212426 -0.325722 -0.711016 -0.535203 -0.388687 2.15677 0.121602 -0.147238 0.0288107 -2.30348 0.200749 0.1282 1.23741 0.707908 -0.280856 -0.0326962 -1.34679 1.23006 1.10476 -0.583504 -0.586303 -0.346406 0.0690394 1.54911 -0.00487871 0.441815 -0.177005 -0.54295 0.0428038 1.90428 -2.73222 -1.16082 2.93872 -0.854551 1.30626 -3.62627 2.08427 -0.246212 -1.15126 2.52267 2.7873 -1.24367 0.326949 -0.142083 -0.0165802 0 0 0 0 0 0.016619 -0.0387256 -0.0241169 0 0 0 0 -0.0134244 0 -0.0687204 0 0 -0.0022336 -0.000882573 -0.215407 0 -0.0266376 0.26978 -0.50172 0 0 0.927009 -0.000792439 0 0.583832 -1.42298 0 0 0.0865371 -0.105291 0 1.08389 0 0.53272 0 0 0.0531625 0 0 2.04798 -0.262742 -0.0113186 0 -0.476036 -0.213203 0 0 0.696764 0 -0.00126125 1.44946 -0.00854 0 0 0.0085681 0.0742846 0 -0.0122929 -0.0112793 0.101064 3.58683 0.0238123 -0.201563 0 -0.101627 0.063411 0.181148 0.0579365 0.306331 0 0 0 -3.09824 0.217294 1.7484 0.00174758 0.132684 -1.42408 0.000565931 0.00671497 -0.0560685 0.153774 0 0 0 0 0 0 0.136768 0 0.0438613 0 0 0 0 -0.0541343 0.0415322 0 0 -0.00527611 0 -0.00933488 0 0.00344985 0 0 0.00167328 0 0.217483 -0.0207853 0.0150958 -0.00124255 0 0 0.0524398 0 -0.452361 0 0.802123 0.0774992 0 -0.174549 0.394253 0.00036997 0 -0.00514014 0 0 -0.00472504 0 0.193973 0.180455 0 0 0.015994 0 0 0.188748 -1.58478 -0.0960703 0 -0.0732507 0 0.659922 -0.104711 0.124996 -0.138604 -0.038403 0.143701 -0.726152 0.0601316 -0.0920034 -1.7356 0.00133888 0 0 0 -0.110539 -0.0241495 0 0 0 0 0.0194355 -2.34236 -0.804624 1.7705 -0.531678 0.705625 -0.92233 0.0173458 0.0573643 -0.1727 0.241746 0 0 0 0 0 0 +52 0 0.285161 0.371355 0.270295 0.204552 -0.00336214 -0.0719047 0.490567 1.11793 0.409516 -2.45911 -0.0416554 0.190127 -0.43833 -0.195317 0.214319 0.944586 2.36773 -0.916516 0.77592 0.146531 -0.505509 -0.522239 0.521897 -1.23183 0.341395 0.512342 0.718809 0.0187827 0.58706 0.0604018 0.504104 0.372846 -1.2318 1.03918 0.112852 0.0332082 2.00257 -3.10906 -0.536319 -0.0239697 -0.548067 3.77899 -0.0475057 -1.16742 -0.264512 -0.00888342 0.110182 1.11282 0.353911 0.27531 -0.229228 -1.62939 -0.402079 0.943479 -0.363295 -0.938064 -0.835513 -0.255259 0.734033 0.142055 0.372258 0.297769 1.60791 -0.750713 -0.370358 -0.584875 1.58049 2.02461 0.0649054 0.914955 0.759453 -0.301944 -0.547291 0.0341247 0.139303 -1.22989 6.70262 5.96747 -4.09317 5.82886 -2.1858 1.8533 4.36815 -1.0467 1.32868 -1.64768 1.15518 0.907784 -1.13307 0.886204 -0.660655 0 0 0 0 0 0.270295 0.204552 0.00468702 0 0 0 0 -0.00107555 0 -0.0199619 0 0 0.000171554 0.0287365 -0.0639946 0 0.0039855 0.522784 -0.203285 0 0 -0.36903 0.00161097 0 0.101409 2.43212 0 0 0.00141534 1.12861 0 0.401604 0 0.0709269 0 0 0.0325937 0 0 0.461081 -0.0238418 0.000444464 0 0.0904144 0.209762 0 0 -0.179645 0 0.00861757 0.506763 0.00546781 0 0 0.00500952 -0.00389948 0 -0.0140875 0.294733 -0.037216 -3.17472 0.06304 -0.0508287 0 -0.0715157 -0.0577974 -0.353021 0.0164286 -0.159543 0 0 0 3.09033 0.326197 1.1376 0.0213116 0.0031087 0.0811372 0.00120268 -0.000317853 0.0118638 0.0632013 0 0 0 0 0 0 -0.00336214 0 -0.0719047 0 0 0 0 0.0517495 0.624797 0 0 -0.404321 0 -0.0384972 0 0.0102363 0 0 0.00534916 0 0.0139552 0.0913482 -0.0212227 0.00369252 0 0 0.0529898 0 3.39142 0 0.790481 0.149643 0 0.555106 0.188316 -0.00171023 0 0.0108165 0 0 0.0914161 0 0.711671 -0.0609845 0 0 0.00643378 0 0 -0.316824 2.86753 0.152767 0 0.628298 0 -0.160208 0.162184 -0.113037 0.055034 0.0658995 0.367809 0.703789 -0.0141577 -0.452267 1.03129 -0.0337551 0 0 0 0.344206 0.0629751 0 0 0 0 -0.296023 2.946 2.72364 -2.98106 0.578264 -0.630564 0.419854 0.286393 -0.252572 0.266869 -0.309584 0 0 0 0 0 0 +53 0 0.627836 0.131904 0.0398322 0.117364 -0.180096 0.00421504 -0.188413 0.264855 0.165783 -0.407004 0.0632934 0.84639 -0.0389314 1.21901 0.0764618 1.38283 3.58023 -0.0402929 0.532824 0.123276 0.0202771 0.0810752 0.0743037 -0.0651056 0.140667 0.540303 0.420917 -0.0201611 -0.276656 0.269179 0.0688951 0.123256 -0.0393149 0.647989 0.0262415 0.0366956 0.563174 -1.77562 0.078028 0.0100463 -0.0169535 0.530494 0.0546332 3.76386 0.114151 -0.00577153 -0.0675606 0.883398 0.142129 0.558772 0.537108 -0.17878 0.130245 0.564436 -0.3152 -0.634961 -0.325272 -0.580209 -0.1781 -0.0445555 0.842297 0.51965 0.821994 -0.636443 -0.755474 -0.232613 1.28483 1.16492 -0.284874 -0.397476 0.843615 -0.140856 -0.676373 -0.946189 0.0575068 -0.355263 7.9368 1.58794 0.0699354 1.51752 -1.2305 1.57583 0.543874 -0.570819 0.940713 -1.5653 -0.347561 -0.0012355 0.319032 -0.354719 0.495103 0 0 0 0 0 0.0398322 0.117364 -0.00501976 0 0 0 0 -0.00292607 0 0.00478226 0 0 -0.00417126 -0.0410108 0.103644 0 -0.00351046 -0.336926 0.31355 0 0 0.378854 -0.00210244 0 -0.160695 -1.4561 0 0 0.0313934 -0.878559 0 -0.488876 0 0.139122 0 0 0.0087169 0 0 -1.33755 -0.0534199 -0.0832784 0 -0.0893089 -0.126906 0 0 -0.116846 0 0.000732418 0.26845 -0.033116 0 0 -0.00474867 0.0185532 0 0.0206478 -0.476652 0.0419044 3.24451 0.0463322 0.0230714 0 0.109622 0.100182 0.276689 0.116695 -0.0313154 0 0 0 1.53164 0.151359 -1.50473 0.00438059 0.0535977 -0.422619 0.000389745 0.00132966 0.0127477 -0.217666 0 0 0 0 0 0 -0.180096 0 0.00421504 0 0 0 0 -0.0107494 -0.358652 0 0 -0.134169 0 -0.0211366 0 -0.0156238 0 0 0.0864251 0 0.0456869 -0.0333979 -0.0441038 0.010776 0 0 -0.105784 0 -3.44488 0 -1.35795 -0.187009 0 -0.149198 -0.181355 -0.00692494 0 -0.0047647 0 0 -0.0532644 0 -0.942333 0.169119 0 0 0.0273991 0 0 0.252886 0.178531 -0.192089 0 0.0176665 0 -0.100175 -0.01472 0.0783595 -0.304262 0.0487109 0.244113 0.139132 -0.000936692 0.49171 4.64298 0.0126385 0 0 0 -0.18655 -0.045263 0 0 0 0 0.126491 18.6539 2.58031 0.223969 0.88302 -0.476638 0.762878 0.138441 -0.0968436 0.0966078 0.0550349 0 0 0 0 0 0 +54 0 0.189541 0.0493996 0.192928 0.0638854 0.140093 -0.0092573 -0.197867 -0.853797 -1.3807 -0.869055 0.0431119 -0.00601442 -0.549767 -0.110715 0.168508 -0.539366 -2.39002 -0.578192 0.84201 -0.20952 -0.437469 -0.202854 0.462772 -0.694164 -0.193442 -0.0493239 0.772629 0.0234458 0.621622 0.0282907 0.0189118 0.304415 -0.393961 0.921672 -0.012971 0.0766792 1.9543 -1.22358 0.132516 -0.0635219 -0.888225 2.71753 0.322002 -0.704091 -1.26118 -0.0168665 0.116095 1.36746 -0.876697 -0.839503 -0.0600357 -3.382 -1.28117 0.32761 0.001668 -1.44119 -0.289951 -0.0380533 0.744002 1.01426 -0.12063 0.277664 0.450133 0.361817 0.781723 -0.704674 0.894061 1.08754 1.74513 1.60481 0.431887 0.672638 -1.93611 0.355957 -0.113638 -0.76802 4.75205 0.828361 0.481935 2.54945 -0.784702 -1.23008 3.26691 -0.492761 -1.55355 2.53116 3.83998 -1.5005 0.182164 0.52157 -1.11245 0 0 0 0 0 0.192928 0.0638854 -0.0305561 0 0 0 0 -0.0172207 0 -0.0618582 0 0 -0.00205074 0.0056483 -0.158759 0 -0.0254843 0.421774 -0.396326 0 0 1.03732 -5.61422e-06 0 0.294324 -0.502665 0 0 0.079437 0.310672 0 0.573943 0 0.776866 0 0 0.0667475 0 0 0.966407 -0.345949 -0.0193612 0 -0.618485 -0.0725266 0 0 0.556376 0 0.00156381 1.15975 0.00300775 0 0 0.00452333 0.091857 0 -0.0118654 0.207934 0.060018 2.82782 0.00603712 -0.128853 0 -0.144247 0.0761064 0.718994 -0.16085 0.495632 0 0 0 2.34512 0.404494 1.58846 0.0238086 0.105968 -0.913444 0.000771823 0.00712706 -0.0562289 0.088372 0 0 0 0 0 0 0.140093 0 -0.0092573 0 0 0 0 -0.0378174 -0.150656 0 0 -0.124929 0 -0.0133892 0 -0.00983583 0 0 0.0519793 0 0.136394 -0.00603374 0.0297121 0.00383124 0 0 -0.0715217 0 -0.510718 0 0.92174 -0.0705216 0 0.0809071 0.408272 0.0032258 0 -0.00588488 0 0 -0.0273259 0 -0.10055 0.263695 0 0 0.0230689 0 0 0.360585 -0.311191 -0.175382 0 0.650048 0 0.519988 -0.130976 0.171397 -0.374984 -0.105819 0.513453 -0.440822 0.148448 0.558008 4.54507 0.0883159 0 0 0 -0.0937556 -0.0905295 0 0 0 0 0.167362 0.402162 0.392892 0.188196 -0.0522356 0.350845 -0.721562 0.0926361 0.012995 -0.146497 0.223761 0 0 0 0 0 0 +55 0 -0.266048 -0.494283 -0.330323 -0.203293 0.263161 0.17926 -0.291098 -1.69897 -3.36917 2.04217 0.370867 -0.0610474 0.361871 1.39733 0.115835 -2.97503 -11.1181 1.14193 0.308523 -0.788517 0.66341 0.677539 -0.795244 1.04662 -0.571065 -0.9422 -0.34364 -0.0943288 -1.30281 0.100623 -1.54388 0.244723 1.31308 -0.520314 -0.119863 0.113839 -0.509595 3.02998 1.56053 -0.0730259 0.128812 -2.08482 0.542793 2.84811 -0.81224 0.00652172 -0.361395 0.998302 -1.18415 -0.0227834 -0.150754 4.83026 -1.18167 0.100115 -0.0860377 -0.487622 -0.724068 -0.0103997 -0.548022 0.171583 0.908799 0.0470032 -3.0139 1.67749 0.237731 -0.307027 -2.42972 -0.150336 3.77692 -1.09037 -0.0920214 1.04515 0.165726 -1.06265 0.255396 0.369173 -11.2014 -6.04771 4.97882 -4.83539 2.08184 -1.57506 -2.37162 0.45994 -0.81294 1.40574 2.47307 -3.21215 2.71016 -2.73799 2.33151 0 0 0 0 0 -0.330323 -0.203293 -0.0323939 0 0 0 0 -0.0159471 0 -0.0682711 0 0 -0.00026129 -0.00561982 -0.196057 0 -0.0282503 -0.0317962 -0.449117 0 0 1.1417 -0.000977121 0 0.557248 -1.65474 0 0 0.0974688 -0.379548 0 1.01727 0 0.411541 0 0 0.0337769 0 0 1.9433 -0.32004 0.0139668 0 -0.650836 -0.223372 0 0 0.759803 0 -0.00747891 0.00391156 0.0221557 0 0 0.000375206 0.0916617 0 0.00438238 0.147646 0.0478583 1.81879 -0.0794576 -0.13125 0 -0.139903 -0.0532594 0.142738 -0.0418616 0.236999 0 0 0 -8.33436 -0.344346 1.06117 -0.0313016 0.0396332 -0.785061 -0.00122672 0.00215694 -0.0324855 0.218473 0 0 0 0 0 0 0.263161 0 0.17926 0 0 0 0 -0.0185691 -0.315838 0 0 0.151333 0 0.0387428 0 0.0255115 0 0 -0.0676711 0 0.0806394 -0.0258848 -0.0208226 -0.00264655 0 0 0.178704 0 0.560156 0 0.023774 0.235219 0 -0.388678 -0.000719972 0.00682783 0 -0.000749449 0 0 -0.00941204 0 0.791129 0.399501 0 0 0.0672108 0 0 -0.161676 1.20897 -0.332819 0 0.127744 0 0.337252 -0.193087 0.294854 -0.221428 0.0620658 0.160626 0.098313 -0.0223689 -0.423191 0.456871 -0.0277303 0 0 0 0.0914024 -0.0132629 0 0 0 0 -0.0136923 2.97153 -0.516043 2.207 -0.135128 -0.257427 0.663798 -0.166853 0.128075 -0.0962832 0.274262 0 0 0 0 0 0 +56 0 -0.0404916 -0.233571 -0.343126 0.00095837 -0.315225 0.0979722 -0.690927 -1.42935 0.392377 2.83807 0.0970542 -0.503429 0.606576 0.82062 -0.0283656 -0.509139 0.953511 1.46614 -0.234111 0.857441 0.849833 0.611464 -0.667519 1.44158 -0.676973 -0.415711 -0.563233 -0.0692642 -0.349724 -0.047472 -0.34672 -0.0353392 0.718362 -0.54606 -0.274376 0.0220357 -1.28057 0.0887757 0.082403 0.216573 0.744832 -2.41761 0.0494525 1.22643 0.651218 0.0574626 -0.160967 -0.462478 -0.261692 -0.179704 1.29749 5.94749 -0.263461 -0.382708 -0.017018 -5.01233 -0.538964 0.612489 -1.52265 -0.18045 1.27747 -0.144318 -0.207023 2.66841 1.18242 -0.288094 -2.80317 -0.986705 -0.370555 -2.10529 0.491416 0.0766118 1.39355 -0.60848 0.00970543 5.81212 12.107 -2.8443 2.67789 -2.24037 0.338972 -0.707403 -4.76584 1.74606 -2.15641 0.723265 -2.00456 -0.0140469 0.268868 -0.0946527 0.289338 0 0 0 0 0 -0.343126 0.00095837 -0.00308022 0 0 0 0 0.00536703 0 -0.0333616 0 0 0.00177804 0.01204 -0.123814 0 -0.0163785 0.0515492 -0.0801113 0 0 0.463585 0.000533022 0 0.335291 1.702 0 0 0.0836648 0.331416 0 0.682497 0 0.0749347 0 0 0.0202088 0 0 0.828586 0.107245 0.0313249 0 -0.0489018 -0.067964 0 0 0.39239 0 -0.0096209 0.158116 -0.000708922 0 0 -0.00606734 0.00550451 0 0.0372108 0.10502 0.020565 -0.504676 -0.0908201 -0.0610984 0 -0.018817 0.0554574 0.106192 0.0151424 0.248486 0 0 0 -7.24919 -0.412459 -0.280383 -0.00202113 -0.00143696 -0.654819 -0.00291273 0.00375188 -0.0241212 -0.00355426 0 0 0 0 0 0 -0.315225 0 0.0979722 0 0 0 0 0.0676525 -1.20393 0 0 -0.0154725 0 -0.0146499 0 -0.0204281 0 0 0.0893982 0 -0.153227 -0.00673019 -0.0854605 0.0102206 0 0 -0.142237 0 -1.92106 0 -1.06931 -0.100879 0 0.0576028 -0.530692 -0.012937 0 0.00129196 0 0 -0.139779 0 -0.26108 0.527522 0 0 0.0665149 0 0 -0.166915 1.83341 0.000140655 0 -1.17424 0 -0.111361 -0.00872107 0.00934997 -0.410743 -0.0593211 0.554125 0.403331 0.165556 1.57814 1.81314 0.167826 0 0 0 -0.124926 -0.141398 0 0 0 0 0.2916 18.5935 3.10726 -2.19762 1.24926 -0.488443 0.0947018 0.127951 -0.0633131 -0.00623437 -0.0184301 0 0 0 0 0 0 +57 0 0.00412685 -0.0401682 0.0381537 0.0273122 0.174181 0.110082 -0.393449 -1.97904 0.126 0.623194 0.246485 0.276919 -0.0441887 0.888919 0.319279 -0.831954 -1.87342 0.425011 1.44645 0.0842351 0.142086 0.0544304 0.0578757 0.145067 -0.554304 -0.362597 0.26924 -0.0413338 0.128608 0.103406 0.0983293 0.472145 -0.0554955 0.985835 -0.104101 0.164264 1.13422 -0.904196 0.83797 0.0511318 -0.015101 3.27268 0.553357 2.51956 0.0442765 0.0199638 -0.0508072 2.13242 -0.920407 -1.23077 -0.131649 3.00292 -1.62453 0.932023 0.159771 -2.67725 -0.471475 1.24452 0.125224 -0.129142 -0.79405 0.112195 -1.19123 1.45976 1.01897 -0.471281 -0.793766 -0.694393 -0.338103 0.689262 0.355688 0.212024 -2.44676 0.406326 0.103923 -0.615743 7.4199 -2.76676 6.68889 -1.73737 0.5979 0.302028 -0.887853 0.242412 -1.41291 3.86501 -0.13629 -1.28204 -0.216254 -0.324368 -0.106401 0 0 0 0 0 0.0381537 0.0273122 0.00180091 0 0 0 0 0.000771596 0 -0.0915273 0 0 -0.00468794 -0.0215402 -0.237314 0 -0.0346999 1.16179 -0.631879 0 0 1.36467 -0.00191696 0 0.5012 5.09643 0 0 0.170103 2.49042 0 0.765576 0 0.672955 0 0 0.0855888 0 0 1.07028 0.00743368 -0.053353 0 0.0216685 -0.246357 0 0 0.747689 0 0.00267746 0.320004 0.0467852 0 0 0.0111628 -0.00504205 0 -0.0153248 0.567203 0.100315 0.588903 0.02253 -0.209801 0 -0.087098 -0.204207 1.14685 -0.419576 0.639685 0 0 0 3.45174 0.528324 2.56086 0.0289102 0.0850086 -0.664265 0.00238997 0.0061876 -0.0514132 0.33183 0 0 0 0 0 0 0.174181 0 0.110082 0 0 0 0 0.000454742 0.514101 0 0 -0.298843 0 -0.0430865 0 0.0147152 0 0 0.0257227 0 -0.0548738 -0.008892 -0.0807016 0.000780323 0 0 0.13781 0 0.316401 0 -0.614298 -0.0182133 0 -0.151829 -0.189616 -0.0108058 0 -0.000820876 0 0 0.0609264 0 0.182921 0.304877 0 0 0.0245816 0 0 0.088532 -1.30205 -0.0678495 0 0.221637 0 0.489747 0.122972 -0.0185231 -0.121603 -0.07416 0.212338 -0.428509 0.0462361 0.169299 0.576811 0.00255204 0 0 0 0.0590192 -0.00995763 0 0 0 0 -0.0846265 8.1945 1.57871 1.38614 0.202474 0.301535 -0.370431 0.231676 -0.0876092 -0.0236288 0.231769 0 0 0 0 0 0 +58 0 0.342194 0.250964 0.211896 0.187931 0.0696207 -0.0205905 0.350872 0.612722 1.15001 -1.19821 -0.0608678 0.219481 -0.296689 0.434934 -0.0186446 0.45766 2.57008 -0.564929 -0.1286 0.54134 -0.325472 -0.374637 0.386471 -0.396351 0.23115 0.0455316 0.491833 0.0240254 0.421606 0.0625004 0.533221 -0.109502 -0.695553 0.92365 0.0916367 0.0170715 2.01532 -2.63062 -0.420617 0.0647556 -0.13179 4.32187 -0.097328 0.55483 0.607176 -0.002457 0.095485 -0.637776 -0.0783077 0.146624 -0.389476 5.46639 -0.860032 -0.241458 0.258307 1.01877 -0.681342 0.700416 0.323061 0.00294156 -0.181256 -0.119933 1.68251 -0.848379 -0.784798 -0.30752 1.98313 2.25652 0.524724 0.472962 0.062463 0.0933575 -0.667927 0.572105 -0.143807 -0.767529 8.77535 4.42921 -2.61879 2.85264 -2.21933 3.04063 1.32878 -1.30146 1.64709 -1.62428 -1.86899 0.752514 -0.900054 0.247009 -0.348808 0 0 0 0 0 0.211896 0.187931 0.00272467 0 0 0 0 -0.0020248 0 -0.0460971 0 0 -0.00386745 -0.0407944 0.00633383 0 -0.0165425 0.445247 -0.116288 0 0 0.031934 -0.00211804 0 -0.0477011 2.02992 0 0 0.0480628 0.947958 0 -0.255061 0 0.0791538 0 0 0.0340325 0 0 -0.855062 -0.0411707 -0.0759086 0 0.0522796 -0.0112795 0 0 -0.0508481 0 0.00912209 0.440103 0.00436926 0 0 -0.000992076 0.00432055 0 0.00183961 0.107612 0.00404185 -0.93102 0.0955659 -0.0453208 0 -0.00386084 -0.0853433 -0.00670539 0.0587013 -0.0586805 0 0 0 5.55999 0.422542 0.479816 0.0230712 0.0200861 0.105329 0.0010797 0.000842412 0.0168558 0.043629 0 0 0 0 0 0 0.0696207 0 -0.0205905 0 0 0 0 0.071936 0.193068 0 0 -0.572433 0 -0.0618098 0 0.00230457 0 0 0.0288458 0 0.0610231 0.0396997 -0.11806 0.00213088 0 0 -0.0222857 0 1.16886 0 -0.656267 0.205759 0 0.263094 -8.96201e-06 -0.0130976 0 0.00916474 0 0 0.0454047 0 0.568381 -0.0686588 0 0 -0.0118966 0 0 -0.146987 2.5904 -0.0151944 0 0.238985 0 -0.524822 0.205956 -0.0526446 -0.260589 -0.0115676 0.198129 1.09504 -0.05893 0.0177639 2.37231 -0.000796867 0 0 0 0.205308 0.0208522 0 0 0 0 -0.144052 13.4876 4.72348 -2.24059 0.973074 -0.864139 1.0495 0.43775 -0.311586 0.335443 -0.190393 0 0 0 0 0 0 +59 0 0 0 0 0 -0.493445 0.20096 0.489476 2.93738 0 0 0.320916 0.88833 0 1.70876 -0.0104092 0 0 0 -0.192209 4.00301 0 0 0 0 0.321035 0 0 -0.943977 -5.95709 0.722022 0 -0.0299352 0 0 -0.093143 0.0338779 0 0 1.2062 1.27929 0 0 0.232788 2.50926 0 0.945546 -2.04213 -0.66241 -0.32365 2.29532 -0.410426 0 0.0180782 0.0615 -0.392286 2.64146 1.24182 0.839698 0 0 -0.590434 -3.07311 0 -0.42178 -0.245914 1.11596 0 0 0 0 -0.198236 0.793973 0 -2.84592 2.30134 0 0 0 -5.63428 0 -1.01663 5.02328 0 -0.447476 2.22598 -5.51589 0 -0.0236781 2.67816 -6.87043 20.8341 0 0 0 -0.173426 -0.0466124 0 0 0 0.117567 -0.176603 0 0.0157768 0 -0.0200175 0.0393666 0 0 0 0 0.105312 0 0.0179854 0 0.257972 0 0.847181 -0.0593338 0 0.00785893 0 0 0.278795 -0.00707849 -0.0061316 0 -0.0263626 0 -0.0125557 -0.0228887 0.0525001 -0.0996203 -0.00387135 0 -0.00141625 0 0 0 -0.00186777 0 0 0.018665 -0.0196428 -0.0218073 -0.0537302 0 0 0.00934618 0 0.0218319 0 0 -0.0879649 0.0457722 -0.0974748 -0.0136815 0 0 0.000630081 0.0451758 0.00913563 -0.0401464 0.0204589 0 -0.0622508 -0.00564341 0.346096 0 0 0 -0.329655 0 0.123612 -0.37506 0 -0.0123678 0.0362312 -0.134621 0 0.00907502 -0.0255501 0.0601021 -0.134887 0 -0.493445 -0.173426 0.20096 -0.0466124 0.67151 0.175065 -0.876306 0.486149 -0.918396 0.00346453 0.0767434 -0.398411 0.00358612 -0.050216 -0.137592 0.0135853 0.0730679 -0.0755439 -0.419266 -0.309451 0.192436 0.296223 -0.0751598 -0.103074 0.403697 -0.287741 0.174795 -0.00472383 3.00166 0.65503 -0.0840313 1.68875 -0.0208768 1.55348 0.206478 -0.0163724 0.0129972 0.0674359 0.123922 -1.94793 -0.156736 -0.0420839 2.74394 -0.380223 0.0132152 0.0585034 -0.0799499 -0.0625837 0.082632 -0.0157978 1.40713 -0.353438 -0.203676 0.50834 0.474953 0.0214481 -0.238022 0.321467 0.187538 -0.0660161 0.44524 -0.222297 -0.0292457 0.075387 -4.46363 0.225732 -0.0411984 0.103458 -0.0845482 0.130849 -0.0422631 -0.110887 -0.0224624 0.205074 0.0157623 0.235612 0.236648 0.562012 -3.52201 0.120941 -1.28987 4.37817 0.0699767 -0.502073 1.19133 -1.74583 0.0261923 -0.297927 0.76725 -1.24584 2.66802 0 +60 0 0 0 0 0 0.130973 0.179034 -0.329444 0.372428 0 0 -0.250571 0.748422 0 0.563761 -0.122145 0 0 0 -0.0788784 -3.0712 0 0 0 0 -0.0340874 0 0 -0.374401 2.25899 0.277103 0 -0.182502 0 0 -0.155041 -0.0853201 0 0 -0.662489 -0.597554 0 0 -0.253726 2.10464 0 0.150101 0.0180023 0.569745 0.571009 -0.46826 0.787682 0 -0.345994 -0.327275 0.0522337 2.16818 0.37595 1.58083 0 0 0.326317 2.45234 0 0.569349 0.500544 -0.265899 0 0 0 0 0.124433 -1.10051 0 2.91241 0.61784 0 0 0 -1.72312 0 1.42898 -6.3149 0 0.76714 -1.51617 -3.80842 0 0.934466 -1.83504 2.10944 -10.1945 0 0 0 0.0367024 0.0448656 0 0 0 0.10764 -0.0676304 0 0.0211118 0 0.0069979 0.0158298 0 0 0 0 0.0467584 0 -0.00133015 0 0.149749 0 0.571387 -0.231552 0 0.00467032 0 0 0.225919 -0.00228345 -0.0562039 0 -0.00893555 0 -0.00489502 -0.152445 0.022562 -0.0300207 -0.0322746 0 0.000457649 0 0 0 -0.000658554 0 0 0.00626417 -0.0105576 0.0283959 -0.0340914 0 0 0.0255012 0 0.00630143 0 0 0.0220956 0.0251299 -0.149457 -0.0132883 0 0 -0.119019 -0.0351999 0.0144211 -0.122884 0.0168487 0 -0.115573 0.025263 -0.110355 0 0 0 -0.31093 0 0.126691 -0.653845 0 -0.00886134 0.0495639 -0.204561 0 0.00330664 -0.0230155 0.0799665 -0.261242 0 0.130973 0.0367024 0.179034 0.0448656 -0.230739 -0.0940335 0.163334 0.198931 0.243376 -0.0835266 0.0610125 -0.244341 -0.0196057 -0.0558521 0.0827681 0.0357558 0.0130126 -0.335111 -0.158004 -1.16949 0.275995 0.131574 -0.0700062 0.0157356 0.466896 0.0329941 0.113309 -0.028743 4.65764 0.410914 1.80939 1.11989 0.0201258 0.90018 0.897112 -0.0104942 0.0133105 0.0308238 0.0627182 0.482482 0.133922 0.00323069 2.66767 -0.491538 0.00167109 0.100826 -0.0246089 -0.182392 0.13976 0.897902 -0.4564 1.16876 -0.0812905 0.153442 -0.087418 -0.631587 0.386492 -0.607302 0.376053 -0.014665 -1.33724 -0.0145359 -0.108478 0.702207 3.29149 -0.227536 0.130189 -0.0732662 0.261631 -0.0110822 0.114178 -0.266235 0.169519 0.191778 0.0119465 -0.129795 -5.0956 0.32229 -3.81382 0.158194 -0.496295 -2.58817 0.0463897 -0.271426 0.144005 -1.50037 0.116189 -0.186421 0.157335 -0.227997 -0.918376 0 +61 0 0 0 0 0 -0.368169 -0.248729 0.833881 2.53229 0 0 0.163747 -1.18257 0 -1.36077 -0.040789 0 0 0 0.0730903 -1.96876 0 0 0 0 0.318401 0 0 0.264742 4.03966 -0.408931 0 -0.116005 0 0 0.140695 0.013271 0 0 -0.238382 -0.0731341 0 0 -0.0521012 -4.82253 0 -0.094414 0.60412 0.162467 -0.103325 0.749792 -0.0142953 0 -0.271806 -0.10531 0.465994 -3.40369 -1.19137 0.239984 0 0 -1.26773 -2.22962 0 -0.147247 0.0250622 -0.405847 0 0 0 0 0.11371 0.81934 0 1.23295 -1.06373 0 0 0 -5.51489 0 -0.999497 -4.8181 0 -0.838583 -0.37177 -6.14333 0 -0.107137 -1.35793 1.86872 -13.701 0 0 0 0.0553165 0.0168712 0 0 0 -0.0236588 0.0810885 0 -0.00099506 0 0.00828783 0.0230527 0 0 0 0 0.0489507 0 0.00277123 0 0.216843 0 -0.245137 -0.137896 0 -0.000711555 0 0 -0.0645016 0.00291151 -0.0170596 0 0.0124216 0 0.00573473 0.0591158 -0.00935832 0.0412162 0.00524675 0 0.00058398 0 0 0 0.000876191 0 0 -0.00768881 0.00913161 -0.127888 0.0241116 0 0 0.0137364 0 -0.00983731 0 0 0.0048512 0.036548 -0.020345 0.0348885 0 0 -0.115455 -0.0140221 0.0114203 -0.037223 0.0292473 0 -0.000755569 -0.00666463 0.386045 0 0 0 -0.308908 0 -0.0432239 0.0640609 0 0.00467723 -0.00715345 -0.0436876 0 -0.00371334 0.00581314 -0.0146837 0.0211629 0 -0.368169 0.0553165 -0.248729 0.0168712 -0.585154 -0.0971778 0.283872 0.467022 0.428582 -0.00431097 0.0286517 -0.390063 -0.00194625 -0.0749919 0.04745 -0.0104082 0.00823189 0.0122425 -0.235398 -0.434298 -0.416844 0.342509 -0.238077 -0.0660691 -0.000723893 0.17553 0.170491 -0.000438885 -0.767366 -0.34745 -2.29224 -0.705708 0.00755911 1.60184 -1.0403 -0.0464447 -0.00111214 0.0819033 -0.023407 1.80032 0.0253443 0.0118336 -0.824992 -0.580742 0.00544592 -0.0335144 -0.102223 -0.0597318 0.0830842 -0.3015 -0.565275 0.346942 0.00690171 0.907178 -0.154156 0.0901703 -0.100018 0.187483 -0.135036 -0.183413 -0.173513 0.254994 -0.0997799 0.351123 0.87712 -0.0558335 -0.534535 0.0195396 0.1392 0.0747563 0.0911042 0.0114305 0.0133891 0.0783658 -0.0444572 -0.0974198 6.45539 0.57682 -3.1381 0.380141 -0.233686 -1.81824 0.0674735 -0.0884612 0.0590126 -1.98641 -0.00424468 0.0973559 -0.530156 0.859397 -2.91793 0 +62 0 -1.04959 -0.239685 -0.0811961 -0.254899 0.203111 -0.0748439 -0.28562 -1.65026 -0.609443 1.36543 -0.448672 -0.476161 0.0247249 -0.915226 0.0112766 -1.20342 -4.54419 0.233264 0.0278653 -0.152686 0.0333861 0.099361 -0.0335228 0.308169 -0.267143 -0.317264 -0.0300722 0.581005 1.76099 -0.332136 -0.147668 -0.167851 0.864645 -0.457219 0.019489 -0.100952 -0.467525 5.68141 -0.811539 -0.293656 0.0926986 -2.60167 -0.210571 -0.867599 0.267531 -0.366222 0.983704 -0.254728 0.503241 -1.84918 0.88768 -0.723017 0.0505514 0.078363 0.213024 -3.09953 -0.869511 -0.093296 -0.360472 -0.153895 1.29493 0.275683 0.0697533 1.19778 0.898796 -0.547703 -0.130796 -0.0845462 0.263212 -0.68203 0.695338 -0.986998 1.01504 0.639951 -0.898773 1.62769 -16.7222 -4.3124 1.85158 -2.98313 3.6171 -9.05009 -0.362838 1.16082 -2.81043 2.69513 -0.252915 0.553934 -1.28007 2.47922 -5.89364 0 0 0 0 0 -0.0811961 -0.254899 -0.00967129 0 0 0 0 -0.00112731 0 0.0176742 0 0 -0.00764652 -0.0257764 0.0340309 0 0.00204484 0.0328776 0.151886 0 0 0.140488 -0.00181147 0 0.0374474 0.0769947 0 0 0.0158184 0.0302108 0 0.0922023 0 -0.0182246 0 0 -0.00474185 0 0 0.280639 -0.0160192 -0.108011 0 -0.136599 -0.0362369 0 0 0.190049 0 -0.0169306 -0.0105538 0.0261195 0 0 0.0156745 0.0183751 0 -0.0334706 0.0204987 -0.0255855 -0.0324418 0.0173132 0.0391547 0 -0.035877 -0.0399921 0.00029687 0.0156298 -0.0362879 0 0 0 -0.633484 0.145616 -0.237855 -0.0256629 0.0347307 -0.0540832 0.0097135 -0.0126759 0.0188613 -0.0302018 0 0 0 0 0 0 0.203111 0 -0.0748439 0 0 0 0 -0.622048 -1.5913 0 0 0.944722 0 0.137864 0 -0.0923249 0 0 0.341052 0 -0.0250824 -0.173213 0.378568 0.0620661 0 0 -0.727216 0 -7.49393 0 1.3223 -1.29189 0 -1.49489 0.135479 0.0628455 0 -0.0714856 0 0 -0.204805 0 -2.94452 0.558994 0 0 0.0953283 0 0 0.181249 -1.03918 0.0727495 0 -1.59732 0 0.383877 0.0695365 -0.00683361 -0.495749 -0.257466 -0.216725 0.0184936 0.264616 1.68992 3.77845 0.174783 0 0 0 -0.444619 -0.179318 0 0 0 0 0.615594 -8.82113 -3.52972 3.85652 -0.995515 0.710639 -1.16084 -0.329731 0.386983 -0.671271 1.0419 0 0 0 0 0 0 +63 0 0.246256 -0.10212 0.0844349 0.160658 -0.241052 -0.320018 1.18152 2.68213 0.603069 -1.7125 0.391592 -0.990108 -0.0307107 -1.12682 0.0105696 -0.304511 0.436641 -0.235633 -0.0324459 -1.27371 -0.0874011 0.138137 0.038262 -0.581591 0.596991 -0.330524 -0.015453 0.338792 -0.490819 -0.329334 0.163543 0.193268 0.10743 0.413693 0.365152 0.0623105 0.039774 -0.0654541 0.897268 -0.901326 -0.143837 1.88013 0.18373 -3.88135 -0.631524 -0.705221 0.100952 0.206612 -0.483055 0.667492 -1.14896 2.29143 0.0188246 -0.145562 -0.195857 3.37826 0.435928 -0.0474241 1.09245 0.318766 -1.46439 0.350795 1.47269 -1.65089 -0.585159 0.297252 0.799447 -0.012371 -0.277785 2.07587 -1.03662 0.589933 -0.346697 0.898738 0.181931 -0.489809 1.7007 4.23584 -5.40055 1.55299 -0.995555 -1.51939 2.3037 -1.66702 2.30437 -4.36068 0.597021 -0.826207 1.28879 -1.81398 1.64266 0 0 0 0 0 0.0844349 0.160658 -0.0046367 0 0 0 0 -0.00137554 0 0.0273503 0 0 -0.00303831 0.00861642 -0.0112759 0 0.00395355 -0.100093 0.0924241 0 0 0.395627 0.000600622 0 -0.024284 0.134908 0 0 0.0702492 -0.206422 0 0.0494558 0 0.115198 0 0 0.0193934 0 0 0.424021 -0.0195638 -0.0428281 0 -0.0661174 -0.0171909 0 0 0.0198317 0 -0.0209961 -0.169867 0.0335854 0 0 0.0070111 0.0010297 0 -0.0217571 0.014776 -0.0145409 -0.322735 0.0490832 0.0396259 0 -0.00595191 -0.0612578 -0.136227 -0.0249039 -0.0666848 0 0 0 -0.991548 0.146721 -0.310958 -0.0383617 0.053339 -0.0863748 0.00440768 -0.00850566 0.0182762 -0.0410722 0 0 0 0 0 0 -0.241052 0 -0.320018 0 0 0 0 0.308534 1.78414 0 0 -0.414875 0 -0.0587426 0 0.0958266 0 0 -0.611435 0 0.311042 0.109246 -0.173476 -0.0940895 0 0 0.742524 0 1.73267 0 -0.0850505 -0.0612787 0 0.985241 -0.077371 -0.023401 0 0.0386013 0 0 0.220498 0 0.333873 -1.56055 0 0 -0.217302 0 0 -0.0741716 -0.118381 0.134687 0 1.91707 0 0.467925 0.0318256 -0.00578491 -0.0179393 0.147865 0.267862 -0.0190623 -0.128168 -1.63642 -0.380849 -0.0457459 0 0 0 0.311893 0.0710929 0 0 0 0 -0.519122 -6.3005 0.216785 -2.99664 0.325132 -0.360117 -0.271417 0.170115 -0.175017 0.253993 -0.704563 0 0 0 0 0 0 +64 0 -0.81905 -0.32515 0.00487453 -0.00286122 -0.219042 -0.157116 0.631592 1.95493 0.0170374 -0.221558 -0.0605941 0.524195 -0.00175382 0.719122 0.0100138 -1.10964 -3.29002 -0.102291 0.0252685 -0.882389 -0.0140062 0.239224 0.00225062 -0.00591127 0.572969 -0.568433 -0.0196188 0.211683 0.154436 0.162308 0.00833533 -0.0119746 0.529078 -0.218691 0.295608 -0.0115949 0.14755 3.2579 -0.171075 -0.718086 -0.00637247 0.00054209 -0.0259685 0.960335 -0.0168735 -0.53987 0.14262 0.0334053 0.0775567 -0.965191 0.267449 -4.68318 -0.105319 0.0521202 -0.148096 0.353816 0.195501 0.1406 -0.034387 0.00915948 0.025016 0.164461 -0.0466812 0.455915 0.444778 0.105406 0.250508 0.288708 -0.00946772 -0.0199043 0.00834408 -0.380712 -0.27826 -0.981336 0.506788 -1.02566 -13.4428 -3.72979 -3.01693 -2.73497 2.41696 -5.66573 -0.268762 0.216848 0.291097 -2.72413 0.0159516 0.070121 -0.0447634 0.384603 -0.516864 0 0 0 0 0 0.00487453 -0.00286122 0.00197333 0 0 0 0 0.000437673 0 0.00258683 0 0 0.00126518 0.00427093 -0.00182486 0 0.000334524 0.0264622 0.00293536 0 0 -0.139481 0.000299187 0 0.0123249 -0.242262 0 0 -0.0133045 0.0662102 0 0.0764384 0 -0.0209841 0 0 -0.00167486 0 0 0.370174 0.00624459 0.0182402 0 0.0283625 0.035918 0 0 0.00769693 0 0.00532369 0.0292384 -0.0032417 0 0 -0.00282767 -0.00267296 0 -0.00869031 0.197003 0.00592053 0.0210355 0.0474254 0.00538315 0 -0.0289199 -0.0022564 -0.03652 0.0385572 -0.067164 0 0 0 -0.746565 0.0292012 -0.0843131 -0.0336989 0.0429672 -0.0614235 -0.00166999 0.00176503 -0.00169746 -0.00239865 0 0 0 0 0 0 -0.219042 0 -0.157116 0 0 0 0 0.405717 -0.900585 0 0 -0.356642 0 -0.0344512 0 -0.0356332 0 0 0.56866 0 0.727373 0.132047 -0.139269 0.0851344 0 0 -0.416696 0 0.908742 0 3.42764 0.332703 0 1.22025 1.171 -0.00920408 0 0.0380009 0 0 -0.079895 0 0.733847 0.867972 0 0 0.150843 0 0 -0.618988 2.74782 0.0521318 0 -0.996413 0 1.42099 -0.110965 0.108291 0.686073 0.0123816 -0.787062 -0.598459 0.199613 0.960732 0.743001 -0.0379185 0 0 0 0.292197 -0.0230776 0 0 0 0 -0.000665204 -10.299 0.754642 -3.98236 -0.717565 1.01015 -2.84748 0.113598 -0.178294 0.299734 -0.941285 0 0 0 0 0 0 +65 0 0 0 -0.170338 -0.071513 0 0 0 0 -0.921231 0.932075 -0.633092 0 0.262755 0 -0.0853935 0 0 0.330139 0.126772 0 0.16813 0 -0.341807 0.321588 0 0 -0.423042 0 0 0 -0.512093 -0.529969 0 -0.762227 0 -0.138419 -1.36589 0 -1.69426 0 0.376587 -2.72763 -0.672967 0 0.192909 0 0 0.463151 1.07258 0 1.62532 0 -0.170358 -0.0546738 -0.186507 0 -0.162278 0.858511 -0.427173 -0.42329 0 0 0 0 0.398294 0 0.306694 -2.08923 0.579732 -0.0128208 0.137966 -1.3584 1.20286 0 0 -0.0994756 0 -2.3844 0 -0.149101 2.00192 0 -1.12512 2.70624 -2.10439 0 -1.37853 2.48684 -1.05603 1.8016 0 0 0 0 0.0759403 0.0438281 -0.170338 -0.071513 0 0.0916293 0 0 0.0153594 0 0 0.129665 0 0 0 0 0.34931 0 0.0440995 -0.807705 0.889485 0 0.504804 -0.221892 0 0.00504011 -0.445988 -4.75629 -0.11363 0 0.106644 -1.98732 0 -0.854645 0 -0.239317 0.00618365 0 0.0391771 0 0 -1.6875 0 0 0 0 0 0 0 -0.802655 0 0 -1.06803 0 0 0 0 0 0 0 -0.50426 0 -0.306233 0 0.319152 -0.113524 0 -0.024492 -1.08604 0 0.696902 0 0.0375237 0 3.17584 0 -0.59318 0 0 0.812352 0 0 0 -0.355414 0 0 0 0 0.0950013 0 0 0.0759403 0 0.0438281 0 0 0.254736 0 1.61029 -0.00672453 0.0674137 0.981071 -0.00157896 0.122109 0.0631671 0.0581416 0.0525054 -0.119893 0 0 0 0 0.360325 0 0.670994 0 0.418766 0 0 0.0472641 0 0 0.0127483 0 0 0.0392556 0.0020263 0 0.0153392 0 0.238719 0 0 0 0.00511516 0.00144356 0 0 0.197013 0 0 0 -0.0443474 0 -0.159392 0 0.168068 0.0856157 0.152792 0 0 0.431784 0.250285 -0.517564 0 0.443561 0 0.122374 0 0.451124 -0.215527 0.0130283 -0.0619742 0.0548071 0.0189899 -0.703054 0 -2.78035 0 0.0922058 -0.194542 0 0.0217459 0.148679 -0.48606 0 0.134731 0.00370752 -0.0204697 -0.00533268 0 0 +66 0 0 0 -0.103808 -0.334039 0 0 0 0 -1.05008 4.61556 0.00735936 0 -0.0975337 0 0.161015 0 0 0.779577 0.59202 0 0.275109 0 0.114352 1.61244 0 0 0.652767 0 0 0 -0.148374 0.715261 0 0.877652 0 0.0338331 1.84309 0 0.859827 0 0.029056 1.22175 0.582714 0 0.783618 0 0 1.13175 -0.837015 0 0.720447 0 -0.7928 0.0932187 0.103151 0 -0.253977 -0.0802919 -1.978 -0.20226 0 0 0 0 0.343698 0 1.89434 0.99093 0.579296 -4.2923 0.495387 1.51605 -0.586813 0 0 0.606607 0 -7.21605 0 -0.461623 -1.95793 0 -4.23141 1.30221 -4.40415 0 -0.128702 -1.14627 -0.777945 -0.437086 0 0 0 0 -0.0958231 -0.0540598 -0.103808 -0.334039 0 0.0378022 0 0 -0.000271206 0 0 0.0739461 0 0 0 0 -0.156679 0 -0.025567 1.25274 0.115619 0 0.524709 1.63752 0 0.0235847 0.0153121 8.15272 0.557514 0 0.0844486 3.63909 0 -0.365586 0 0.753771 0.116784 0 0.0349152 0 0 -2.22894 0 0 0 0 0 0 0 -0.0779676 0 0 -0.749201 0 0 0 0 0 0 0 0.387874 0 -2.45567 0 0.201048 -0.00333417 0 -0.208368 0.0987094 0 0.137222 0 0.400477 0 4.19482 0 0.213246 0 0 0.407153 0 0 0 -0.128883 0 0 0 0 -0.466116 0 0 -0.0958231 0 -0.0540598 0 0 -0.445221 0 -1.51738 0.0568246 -0.0223812 1.44471 0.0123293 0.339731 -0.120535 -0.00647695 -0.000143879 0.371458 0 0 0 0 0.585472 0 -0.390842 0 -0.139521 0 0 -0.0500162 0 0 -0.0231713 0 0 0.146165 0.00251678 0 -0.0122964 0 -0.211514 0 0 0 0.00451957 0.0224017 0 0 -0.199984 0 0 0 -0.0498083 0 0.332557 0 -0.622248 0.16997 -0.926814 0 0 -0.718295 0.211161 0.10242 0 -0.00926809 0 -0.0200992 0 -0.221235 -0.552496 0.0198744 -0.167565 0.0918284 -0.0112787 0.443967 0 -3.92668 0 -1.17222 0.175334 0 -0.602602 0.481136 -0.588231 0 -0.363165 0.160769 -0.026131 -0.112962 0 0 +67 0 0 0 0.108132 -0.254147 0 0 0 0 -0.615649 0.890886 0.253858 0 -0.398565 0 -0.298507 0 0 -0.159979 -0.716738 0 -0.287375 0 0.489929 -0.0579167 0 0 0.279151 0 0 0 0.280112 -0.518871 0 0.381486 0 0.0107975 0.51887 0 1.8265 0 -0.373031 -0.069991 0.636912 0 -0.328965 0 0 -2.10432 -0.850046 0 -1.27921 0 0.812995 -0.772627 0.420298 0 -0.212134 -0.7461 -0.2522 0.131572 0 0 0 0 0.981376 0 -1.09442 0.317826 0.236637 -0.970552 -1.1533 1.29243 -0.00229338 0 0 -0.833535 0 -1.26033 0 1.08425 -3.44876 0 0.00398568 -1.18535 -1.48948 0 1.12248 -1.98791 -0.133984 -1.60277 0 0 0 0 -0.148495 -0.0692679 0.108132 -0.254147 0 0.000812443 0 0 -0.0105007 0 0 -0.0724313 0 0 0 0 -0.584433 0 -0.108181 1.7067 -0.68542 0 0.060409 0.222636 0 0.0299107 0.591177 4.5934 0.448405 0 0.0237062 2.61237 0 0.687237 0 0.0259764 0.123462 0 -0.000334666 0 0 0.844312 0 0 0 0 0 0 0 0.917723 0 0 2.60071 0 0 0 0 0 0 0 0.266998 0 3.75537 0 -0.225746 -0.162324 0 -0.595315 0.704014 0 -0.786794 0 0.0890982 0 -1.58897 0 0.522984 0 0 -0.774892 0 0 0 0.22174 0 0 0 0 -0.374894 0 0 -0.148495 0 -0.0692679 0 0 -0.687576 0 -1.06205 0.0253862 -0.0312426 0.271098 0.0107164 0.0798242 -0.182687 -0.0973515 0.091677 0.139892 0 0 0 0 0.0903434 0 -0.194161 0 -0.244467 0 0 0.0455038 0 0 -0.0381344 0 0 0.0485639 0.00126272 0 0.00667199 0 -0.27037 0 0 0 0.0099528 -0.00163964 0 0 0.121759 0 0 0 -0.318778 0 0.548747 0 -0.261991 -0.160843 -0.0807882 0 0 -1.16197 -0.344668 0.924156 0 -0.0385477 0 0.0709989 0 -0.201243 -0.0989557 -0.0953602 0.0163011 0.00602665 -0.0380311 0.542659 0 -1.88571 0 -0.109134 -0.657548 0 0.0163788 -0.0102787 -0.332781 0 -0.150108 0.0166181 -0.0278042 -0.0826048 0 0 +68 0 0.16086 -0.0133036 0.292913 0.12081 -0.15182 -0.0575947 -0.0952268 0.969534 0.492025 -3.30458 -0.140299 0.0892205 -0.482001 -0.60589 -0.0892617 -2.31504 -6.49371 -1.3132 -0.0385172 0.604049 -0.823181 -0.293195 0.622264 -1.87373 0.285068 -0.758525 0.124284 0.0495629 0.981345 -0.0524455 0.726966 -0.195905 -0.796906 -0.342752 0.0178438 -0.0387266 0.387522 -1.33201 -0.664841 0.0258574 -0.562456 -0.244248 -0.205968 -0.425414 -0.37879 -0.00449878 0.221868 -0.27708 0.44278 -0.725164 -0.337158 4.48608 0.108926 -0.0996118 0.202911 1.10202 0.893331 0.485703 1.83145 0.329418 0.343582 0.037201 0.837279 -0.139193 0.718466 -0.0478041 0.69942 -0.188642 -0.360925 3.00612 0.232757 -0.267564 0.0039191 0.783915 -0.269889 2.20677 -1.03018 8.69468 -3.95364 3.94769 1.59981 -4.39092 4.75765 -1.0249 1.24564 -1.07959 1.09808 0.754437 -1.14857 1.02267 -1.4189 0 0 0 0 0 0.292913 0.12081 0 0 0 0 0 0 0 0.0102371 0 0 0 0 0.138824 0 0.0216887 0.38196 0.0296387 0 0 0.548756 0 0 0.106975 1.62203 0 0 0.0782549 0.938107 0 0.633048 0 0.327716 0 0 0.0321589 0 0 1.48026 0 0 0 0 0 0 0 0.199169 0 0 0.552225 0 0 0 0 0 0 0 0.423745 0 4.00594 0 -0.106933 0 0 -0.0224381 1.39545 0 -0.0135312 0 0 0 -2.78508 0 -0.242016 0 0 -0.61946 0 0 0 -0.0123716 0 0 0 0 0 0 -0.15182 0 -0.0575947 0 0 0 0 0.0460791 0.645264 0 0 -0.198646 0 -0.0296757 0 0.0106916 0 0 0.160481 0 0.257993 0.0500222 0.0277478 0.0225053 0 0 0.065287 0 3.58826 0 2.91199 0.0062064 0 0.348375 0.964565 0.000720263 0 0.00746375 0 0 0.0799532 0 0.473487 0.395386 0 0 0.059612 0 0 0.14599 0.218594 0.074092 0 0.898448 0 0.230122 -0.0648694 0.0137244 -0.0813603 -0.0224998 0.638715 -0.106862 0.00588611 -1.24722 -3.9983 0.063252 0 0 0 0.0577839 -0.00226841 0 0 0 0 -0.216158 -20.5221 0.748981 -4.94344 -0.108877 0.274941 -1.99164 0.0758983 -0.0392051 0.0490849 -0.203216 0 0 0 0 0 0 +69 0 -1.06735 -0.529136 -0.248663 -0.0935985 -0.0653528 0.0460054 -0.380513 -0.448041 -0.418124 1.38601 0.0887654 -0.265659 0.409228 0.145125 -0.059898 -2.39543 -10.7034 0.72488 -0.429671 0.381437 0.41476 0.262892 -0.528294 0.737424 -0.35645 -0.472906 -0.920409 -0.00478578 -0.184645 -0.114529 -0.617292 -0.0952521 1.20602 -1.58035 -0.166181 0.0173351 -2.93523 6.34051 0.351538 0.0795015 0.481749 -5.70755 0.0646993 0.992235 0.337824 0.0164225 -0.0261896 -0.656489 -0.212709 -0.57593 0.535344 10.1655 0.344736 -0.31505 0.235958 0.0916911 0.731097 0.570361 -0.755871 -0.289167 0.538693 -0.162588 -3.62653 3.50708 1.12565 0.585599 -5.44875 -2.72354 0.306721 -1.17186 -0.61082 0.28568 2.71407 0.634725 -0.00604627 5.86089 -22.2423 -6.82716 2.1078 -4.95508 3.07763 -6.65331 -1.66592 0.583223 -1.10321 1.00374 -0.97932 -0.322946 0.023408 -0.356127 0.266974 0 0 0 0 0 -0.248663 -0.0935985 0 0 0 0 0 0 0 0.0173812 0 0 0 0 -0.0832013 0 -0.00479075 -0.195913 0.042182 0 0 0.297866 0 0 0.260519 -0.115399 0 0 0.0673756 -0.346459 0 0.541463 0 0.118409 0 0 0.0422564 0 0 1.60154 0 0 0 0 0 0 0 0.192011 0 0 0.61537 0 0 0 0 0 0 0 0.473 0 5.26909 0 -0.144789 0 0 0.0694669 1.67594 0 0.0562382 0 0 0 -3.00612 0 -0.273892 0 0 -0.676792 0 0 0 -0.0174261 0 0 0 0 0 0 -0.0653528 0 0.0460054 0 0 0 0 0.0428597 -0.752005 0 0 0.180788 0 0.039086 0 -0.0131823 0 0 0.0363433 0 0.161017 -0.00863664 -0.00897637 0.0075659 0 0 -0.096208 0 -3.596 0 2.69181 -0.127557 0 -0.0146381 0.617501 0.00336832 0 0.0050902 0 0 -0.0948921 0 -0.674556 0.534911 0 0 0.0748279 0 0 0.074534 -1.4265 0.212917 0 -0.764048 0 0.282378 0.0588519 -0.106746 -0.626532 0.0123919 0.253129 -0.473546 0.04104 1.5225 4.59021 0.0251915 0 0 0 -0.157373 -0.097228 0 0 0 0 0.302999 -11.5989 -1.15284 0.216483 -0.505412 0.589871 -0.975476 -0.0957541 0.0488381 0.0187834 -0.123963 0 0 0 0 0 0 +70 0 -0.812018 0.00707306 0.059318 0.02549 -0.139926 -0.131499 0.828282 2.54576 0.0995913 -1.57568 -0.21461 -0.198872 -0.0976054 0.228613 -0.0257491 1.08501 -2.10854 -0.248157 -0.364789 0.0755588 -0.14386 -0.0332532 0.126011 -0.806758 0.42665 0.757406 0.394387 0.0572718 1.27405 0.10709 0.147201 -0.0544715 0.578454 0.671258 0.11406 -0.104479 0.0675174 3.33783 -1.19063 -0.0673466 -0.113416 -0.138414 -0.589906 -1.69224 -0.0748495 -0.0267499 0.275976 -0.743856 0.878604 0.573208 0.673067 -2.99461 0.358081 -0.328532 0.187205 -0.287838 0.454164 0.229497 0.898118 0.0656225 -0.881984 -0.12636 -0.920796 -0.624645 -0.139068 -0.0952387 1.08576 -0.00691063 -0.0730543 1.9313 -0.025737 -0.554188 0.0144471 -0.663436 -0.290407 -0.888072 -13.7915 2.1531 -7.43539 -1.30759 3.78006 -7.50783 2.22627 0.316284 0.0294049 -3.21768 0.216982 1.68441 -1.79257 1.56446 -1.84213 0 0 0 0 0 0.059318 0.02549 0 0 0 0 0 0 0 0.0970156 0 0 0 0 0.330172 0 0.0536978 -0.782916 0.587826 0 0 -1.26611 0 0 -0.348456 -5.58439 0 0 -0.141777 -2.17357 0 -0.286481 0 -0.648687 0 0 -0.0753153 0 0 0.0760141 0 0 0 0 0 0 0 -0.443067 0 0 -0.805892 0 0 0 0 0 0 0 0.0952402 0 2.44407 0 0.028164 0 0 0.435986 0.620372 0 0.479925 0 0 0 -0.141927 0 -0.564516 0 0 -0.0328141 0 0 0 -0.245704 0 0 0 0 0 0 -0.139926 0 -0.131499 0 0 0 0 0.053692 -0.216609 0 0 0.137289 0 0.0213122 0 -0.0156979 0 0 0.105509 0 0.162437 0.0386062 0.033816 0.00972859 0 0 -0.136784 0 -1.80991 0 1.47032 -0.0629785 0 0.16915 0.46144 0.006842 0 0.011672 0 0 -0.0223212 0 -0.23405 -0.523958 0 0 -0.0822002 0 0 0.178458 -2.33524 0.022465 0 0.116237 0 -0.551545 0.0518176 -0.069592 -0.272884 -0.0420372 -0.106171 -0.0833048 -0.0477 -0.05717 0.811363 0.0722676 0 0 0 -0.110097 -0.0395687 0 0 0 0 0.077787 -13.0719 -0.199639 -3.09212 -0.231754 0.291628 -1.12895 -0.0705406 0.0213226 -0.00696315 -0.199819 0 0 0 0 0 0 +71 0 0.436461 0.360401 0.131723 0.0537063 -0.0961282 0.0612742 -0.24692 -0.731246 0.255881 0.0981168 0.175595 0.54474 -0.218402 0.322441 0.132662 2.32291 11.2756 -0.150216 0.434586 0.510321 -0.114341 -0.0953254 0.28229 0.0874944 -0.096564 0.549328 0.39705 -0.0101626 -0.24753 0.0846052 0.338122 0.259322 -0.367502 0.847047 0.0216485 0.108654 1.45748 -1.07036 0.423011 0.115602 -0.247964 3.23952 0.274959 2.95488 -0.154947 0.0211717 -0.0354997 0.870113 -0.331473 -0.500096 -0.368337 5.57452 -0.406009 0.389473 0.0214773 3.49434 0.865085 0.205098 -0.190775 0.146599 0.373047 -0.132218 2.23474 -0.540164 -0.300457 -0.386496 1.2875 1.55112 -0.189218 -0.255613 0.417438 0.192567 -1.40131 1.05278 -0.141263 -0.191458 3.37071 -0.0293502 0.939266 -1.18848 0.0827983 0.345481 -0.582886 -0.284303 0.257149 0.843788 0.442527 -0.676868 0.455714 -0.395442 0.326668 0 0 0 0 0 0.131723 0.0537063 0 0 0 0 0 0 0 -0.0437753 0 0 0 0 -0.186992 0 -0.0222112 0.597196 -0.371342 0 0 1.45138 0 0 0.142714 5.94722 0 0 0.165155 2.01426 0 0.155741 0 0.705081 0 0 0.0795763 0 0 0.253771 0 0 0 0 0 0 0 0.256764 0 0 0.200035 0 0 0 0 0 0 0 0.509278 0 3.19797 0 -0.136954 0 0 -0.0447677 1.5551 0 0.102793 0 0 0 -0.477057 0 0.312589 0 0 -0.106574 0 0 0 0.15522 0 0 0 0 0 0 -0.0961282 0 0.0612742 0 0 0 0 0.00565037 0.591165 0 0 -0.247759 0 -0.0332338 0 0.0160049 0 0 0.104435 0 -0.0324757 0.0217359 -0.0284509 0.010751 0 0 0.141532 0 7.09615 0 0.811443 0.195206 0 0.18765 0.117026 -0.00534224 0 0.000463276 0 0 0.067047 0 1.31243 1.0861 0 0 0.123068 0 0 0.109842 2.3839 0.029842 0 0.827858 0 0.162053 -0.0184522 -0.00123328 -0.00835476 0.00338808 1.07046 0.192203 -0.000383038 -0.670196 -0.147692 0.0442956 0 0 0 0.0437779 0.0303254 0 0 0 0 -0.119752 -2.20208 1.42209 -1.80359 0.0349506 0.0478611 -0.496247 0.0870697 -0.0349896 0.0731389 -0.0615955 0 0 0 0 0 0 +72 0 -0.064655 0.356679 0.3128 0.0685186 -0.0712384 -0.146787 0.502012 1.32396 0.369211 -2.22143 -0.182837 0.287772 -0.521377 0.403162 0.02442 1.85117 5.05719 -1.3027 0.00186792 -0.452341 -0.816491 -0.619813 0.670715 -1.43965 0.717945 0.718318 0.388759 0.0426494 0.463078 0.128073 0.741697 0.065507 -0.689251 0.632386 0.200505 -0.0629842 0.0682979 0.371961 -0.722235 -0.134857 -0.641541 0.590691 -0.278581 0.0781552 -0.557616 -0.0423611 0.14262 0.129937 0.561897 1.34896 -0.289069 -6.52061 -0.0374644 0.0174066 -0.406069 -1.65709 -1.39536 -0.56058 1.48387 0.407763 -0.133369 0.447918 0.0770756 -1.55316 -1.38483 0.142114 0.576638 0.0256582 -0.273184 2.29028 -0.40692 -0.491632 -0.151765 -0.211398 0.289375 -3.68414 3.42217 5.75813 -3.17382 2.84696 0.642967 -1.8068 3.71772 -0.566935 1.33339 -1.6301 1.59255 0.76932 -0.293326 0.694176 -0.61113 0 0 0 0 0 0.3128 0.0685186 0 0 0 0 0 0 0 0.0693792 0 0 0 0 0.257133 0 0.0385836 -0.553041 0.461372 0 0 -0.643007 0 0 -0.406943 -3.34458 0 0 -0.0664583 -1.66428 0 -0.509312 0 -0.46449 0 0 -0.0515633 0 0 0.00681536 0 0 0 0 0 0 0 -0.294443 0 0 -0.828034 0 0 0 0 0 0 0 -0.428272 0 -5.53415 0 0.0466895 0 0 0.0229451 -1.70399 0 -0.135422 0 0 0 0.047361 0 -0.455799 0 0 -0.0581451 0 0 0 -0.192374 0 0 0 0 0 0 -0.0712384 0 -0.146787 0 0 0 0 -0.0383905 0.568347 0 0 0.133039 0 0.0144216 0 -0.00243387 0 0 0.0015199 0 0.260042 -0.0289691 0.0508944 0.00527146 0 0 -0.0331382 0 0.618926 0 1.41949 0.315775 0 -0.174869 0.674762 0.00703912 0 -0.00642347 0 0 0.071229 0 0.643149 -0.902926 0 0 -0.0779693 0 0 -0.556638 -1.16535 -0.085643 0 -0.267309 0 0.309776 -0.0216845 0.0755458 -0.357849 -0.0463995 -0.191531 -0.385223 0.00857245 -0.786217 -4.38494 -0.0223797 0 0 0 0.174101 -0.0400801 0 0 0 0 -0.173044 -7.58029 -0.739024 0.732045 -0.202104 0.390629 -0.591974 -0.084699 0.0615096 -0.00648443 -0.0378922 0 0 0 0 0 0 +73 0 -0.594926 -0.404461 -0.192683 -0.0768385 -0.0796225 -0.00534097 -0.201549 0.0927666 -0.367341 0.87755 0.036213 -0.261056 0.319556 -0.206179 0.0666694 -2.21952 -10.1007 0.650003 0.327197 0.0665016 0.364174 0.240596 -0.412941 0.517186 -0.252461 -0.567004 -0.375998 -0.0257543 0.062594 -0.117818 -0.492814 0.117497 0.845057 -0.765145 -0.158111 -0.0055909 -0.709007 2.91577 -0.0222899 0.0833904 0.364256 -2.14502 -0.0901789 -0.722337 0.23219 0.0289517 -0.0412499 0.566064 0.0468523 0.182417 0.784603 0.998752 -0.289464 0.258743 -0.20408 -2.90114 -0.292057 -0.304015 -0.516602 -0.216183 -1.06336 0.0154648 -3.48263 2.12329 0.34142 0.0965695 -2.38351 -0.728827 0.271645 -0.670631 -0.208996 0.0466877 0.784379 -0.953997 0.0938291 2.75785 -10.8538 -3.53534 1.82703 -2.78953 2.58066 -3.94253 -1.12851 0.858041 -1.08309 0.1185 -0.663133 0.140938 -0.242596 0.0441215 -0.0826062 0 0 0 0 0 -0.192683 -0.0768385 0 0 0 0 0 0 0 0.0834096 0 0 0 0 0.23703 0 0.0426507 -0.420685 0.472727 0 0 0.12252 0 0 -0.0167568 -0.787525 0 0 0.0253902 -0.44417 0 0.350792 0 0.143826 0 0 0.0233489 0 0 1.14015 0 0 0 0 0 0 0 -0.202268 0 0 -0.993238 0 0 0 0 0 0 0 -0.349769 0 -6.52684 0 -0.0643527 0 0 0.058799 -1.58559 0 -0.27143 0 0 0 -2.14663 0 -0.609141 0 0 -0.475802 0 0 0 -0.197832 0 0 0 0 0 0 -0.0796225 0 -0.00534097 0 0 0 0 -0.00950342 -0.933227 0 0 0.142146 0 0.0264298 0 -0.0141169 0 0 -0.0489418 0 0.0666471 -0.0245588 0.0180523 -0.00720335 0 0 -0.108965 0 -5.20965 0 0.870133 -0.240983 0 -0.0219768 0.164516 0.00336632 0 -0.0043043 0 0 -0.10311 0 -0.965439 -0.0830803 0 0 -0.0170428 0 0 -0.0211328 -2.75935 0.0516633 0 -1.50975 0 -0.366417 0.0107541 -0.045138 -0.426223 -0.0586244 -0.166704 -0.242752 -0.0142881 1.18839 1.02175 0.0670064 0 0 0 -0.218462 -0.0554621 0 0 0 0 0.291112 -10.2811 -1.285 -0.456177 -0.232726 0.212607 -0.552982 -0.0667148 0.0373863 -0.048458 -0.0227652 0 0 0 0 0 0 +74 0 -0.375659 -0.577656 -0.277215 -0.112787 0.155588 0.121033 -0.824386 -2.38326 -0.461904 2.42826 0.0849979 -0.773113 0.458153 -0.795445 -0.129142 -2.47726 -7.56975 1.24335 -0.927141 -0.0436472 0.757394 0.698601 -0.591473 1.45901 -0.918342 -0.839341 -0.445564 -0.038154 -0.377992 -0.268173 -0.687972 -0.208284 1.30971 -0.618264 -0.264679 -0.00764446 -1.6543 2.86924 0.496653 0.0287311 0.532901 -2.4413 0.074476 -1.54328 0.357789 0.0122393 -0.118001 -1.53703 -0.300215 -1.06574 0.361738 -3.71902 0.784297 -0.71882 0.205225 -1.68606 -0.0411971 -0.366895 -1.40913 -0.310833 -1.49356 -0.102081 -2.92883 2.07144 1.08648 0.340994 -3.31251 -1.34195 0.339146 -2.74119 -1.25631 0.534297 1.28488 -0.246481 0.0218351 1.10058 -11.7208 -7.07994 4.95221 -3.46276 1.08732 -2.25214 -3.59886 1.16018 -1.72323 2.66759 -1.03938 -0.44501 0.34394 -0.576677 0.433348 0 0 0 0 0 -0.277215 -0.112787 0 0 0 0 0 0 0 -0.0821836 0 0 0 0 -0.32379 0 -0.0535112 -0.00959837 -0.539211 0 0 -0.860282 0 0 0.200701 -1.10618 0 0 -0.17649 -0.409495 0 -0.0467664 0 -0.561755 0 0 -0.108704 0 0 -0.331461 0 0 0 0 0 0 0 0.33496 0 0 0.503412 0 0 0 0 0 0 0 -0.273156 0 -4.89306 0 -0.0527043 0 0 -0.127325 -1.34917 0 -0.579646 0 0 0 0.623802 0 0.55528 0 0 0.138561 0 0 0 0.225406 0 0 0 0 0 0 0.155588 0 0.121033 0 0 0 0 -0.0339493 -0.294161 0 0 0.123059 0 0.0156322 0 0.00468846 0 0 0.00534672 0 0.0771939 -0.00199199 0.00097254 -0.00107311 0 0 0.065356 0 1.90075 0 1.93273 0.236442 0 -0.153669 0.463806 -0.000334004 0 -0.000249577 0 0 -0.0452045 0 0.774351 0.683607 0 0 0.0616819 0 0 0.257805 0.405832 0.0709054 0 1.19943 0 0.415246 -0.103644 0.0355494 -0.293056 0.0525335 0.737507 -0.104612 -0.0546573 -0.259793 1.71698 0.0174351 0 0 0 -0.0531169 0.0357278 0 0 0 0 0.0614653 -13.5793 -0.78856 -1.25885 -0.154091 0.0632643 -0.744417 -0.00661136 0.0134036 -0.0863174 0.10681 0 0 0 0 0 0 +75 0 -1.07264 -0.488692 -0.174524 -0.0710061 0.00554488 0.0200237 -0.13857 -0.179545 -0.290796 1.56586 0.0570556 0.41071 0.288435 1.00573 -0.0299056 0.185649 0.0733804 0.703641 -0.00743942 0.481251 0.414266 0.680493 -0.372368 0.787613 -0.0932411 -0.0485734 -0.258659 -0.0186123 -0.0197517 0.145306 -0.433119 -0.0324736 2.24889 -0.455196 -0.0681623 -0.00296609 -0.449809 8.27084 0.0636215 0.123724 0.335493 -0.836171 -0.0828647 2.22628 0.22525 0.0298463 -0.0390218 0.138429 -0.00278596 1.21292 0.804784 -0.598656 -0.0476535 0.0436751 -0.123743 -0.754568 -0.556727 0.182499 -0.810231 -0.195688 1.03024 0.344092 -0.849879 1.12341 -0.738769 -0.0290241 -1.75726 -0.113695 0.213513 -0.774915 0.169221 0.120854 0.35532 0.202844 0.112014 -0.387708 -29.5079 -9.20695 0.354134 -7.77 4.238 -7.89926 -1.71677 0.842744 -1.53126 0.847716 -0.654351 0.0815863 -0.100429 -0.0517268 0.0226443 0 0 0 0 0 -0.174524 -0.0710061 0 0 0 0 0 0 0 0.0423063 0 0 0 0 0.134011 0 0.0153079 -0.450519 0.309029 0 0 -0.586735 0 0 -0.0197167 -3.76135 0 0 -0.0250521 -1.48277 0 0.185804 0 -0.377173 0 0 -0.0236004 0 0 1.15579 0 0 0 0 0 0 0 -0.0122137 0 0 0.65657 0 0 0 0 0 0 0 0.303901 0 5.89361 0 0.00832564 0 0 0.0998151 1.36452 0 0.186054 0 0 0 -2.17516 0 -0.457783 0 0 -0.483154 0 0 0 -0.129184 0 0 0 0 0 0 0.00554488 0 0.0200237 0 0 0 0 -0.0131745 -0.352856 0 0 0.32735 0 0.052222 0 0.00446049 0 0 -0.135196 0 0.312833 -0.0285353 0.0434759 -0.0112249 0 0 0.0350595 0 -2.8291 0 2.32489 0.0742532 0 -0.307674 0.868207 0.00800661 0 0.00280036 0 0 -0.0430445 0 -0.205912 -0.451949 0 0 -0.0424156 0 0 0.0875314 -2.16841 0.104381 0 0.342018 0 0.395845 -0.0242945 0.0203343 -0.897924 0.0646547 0.245534 -0.52887 -0.0407411 0.139647 -0.230572 -0.00391793 0 0 0 -0.0132612 -0.0818471 0 0 0 0 0.0688424 -15.6821 -1.8894 0.225106 -0.317149 0.497117 -1.06931 -0.109822 0.0692151 -0.0828783 0.00152377 0 0 0 0 0 0 +76 0 -0.140053 -0.0465181 -0.21156 -0.0860748 -0.0649274 0.0861069 -0.356969 -0.811378 -0.352508 3.28712 0.21578 0.752707 0.349646 1.07584 0.0694697 0.441445 5.48655 0.98172 0.335074 -0.472299 0.590396 0.314411 -0.451391 1.85982 -0.201104 -0.222685 -0.503359 -0.070408 -0.816981 0.175589 -0.525035 0.163562 1.00449 -0.757153 -0.0872948 0.0727894 -1.05006 3.46356 0.672366 0.0020614 0.40669 -1.57526 0.209662 3.56837 0.273052 0.0268129 -0.256941 0.82827 -0.448445 1.59297 1.11225 6.17184 -0.381057 0.349245 -0.368769 1.8204 0.597944 0.921621 -1.91479 -0.237216 -0.126788 -0.0251917 -3.87185 0.949615 -1.12799 -0.235813 -2.23861 -0.802531 0.258824 -3.56907 0.344007 0.560101 0.805153 0.427843 0.157004 1.9097 -15.9857 -13.4442 5.6559 -7.56276 1.92948 -0.376132 -4.78797 1.55344 -1.38396 0.895411 -0.793215 -0.76569 1.03015 -1.0165 0.936627 0 0 0 0 0 -0.21156 -0.0860748 0 0 0 0 0 0 0 0.0584713 0 0 0 0 0.172671 0 0.0223008 -0.130232 0.39423 0 0 1.45926 0 0 -0.410356 3.85036 0 0 0.229497 0.792428 0 -0.785871 0 0.673585 0 0 0.106777 0 0 -1.05665 0 0 0 0 0 0 0 -0.452522 0 0 -1.28101 0 0 0 0 0 0 0 0.135573 0 1.1884 0 0.115477 0 0 0.126442 0.639953 0 0.642975 0 0 0 1.98859 0 -0.218298 0 0 0.441713 0 0 0 -0.1648 0 0 0 0 0 0 -0.0649274 0 0.0861069 0 0 0 0 -0.079034 -0.556801 0 0 0.185439 0 0.0299904 0 -0.000123339 0 0 0.0140558 0 -0.0240401 -0.054955 -0.0125596 0.00553546 0 0 -0.0038188 0 0.074831 0 -0.855534 0.00408854 0 -0.36198 -0.238309 -0.000332862 0 -0.0101917 0 0 -0.0554541 0 0.189977 0.395109 0 0 0.0502398 0 0 0.0715403 -2.16874 -0.0142843 0 -0.65803 0 -0.469788 0.0369023 -0.0105788 -0.563834 -0.0133987 0.179662 -0.115012 -0.0650978 0.287896 -0.546445 0.0260436 0 0 0 -0.163825 -0.0127516 0 0 0 0 0.228994 -2.62539 -1.33674 1.47424 0.0345698 0.00457335 0.10766 -0.063129 0.0595344 -0.0873 0.177099 0 0 0 0 0 0 +77 0 -1.09634 0.0594959 -0.0553899 -0.241206 0.143039 0.325516 -0.355379 -1.32525 -0.642177 1.47518 0.346656 0.556588 0.00647799 1.91186 0.0800627 0.465439 0.464502 0.290032 0.25202 0.403283 0.0399717 -0.244348 -0.0153769 0.345766 -0.656298 0.458503 0.0289018 -0.766646 -1.38139 0.468402 -0.0988193 0.559264 0.421388 0.0768909 -0.431811 0.0341884 0.0109176 5.07535 0.379707 1.11725 0.0207626 0.217733 0.0380445 2.83096 0.0127107 0.91274 -1.0168 1.71014 -0.127534 1.03273 -0.185789 -1.96338 -0.573167 0.174691 -0.328893 -2.55678 0.261851 0.71228 -0.298021 -0.00907707 0.0865928 -3.12401 -2.01442 -0.0437846 -0.320246 0.266083 -0.515946 0.0563898 0.253262 -0.920663 0.0521952 0.0603079 -0.131283 -2.8614 1.13646 0.725135 -16.2383 -5.31149 1.85645 -2.41796 1.21517 -2.55036 -0.770231 0.609887 -0.966071 1.82836 -0.00637321 -0.0904863 0.332026 -0.9386 3.10687 0 0 0 0 0 -0.0553899 -0.241206 0 0 0 0 0 0 0 0.00783967 0 0 0 0 0.0233748 0 0.00340231 -0.0146067 0.0610666 0 0 -0.0678455 0 0 -0.0142867 0.0911389 0 0 -0.00978692 -0.000608037 0 -0.0221543 0 -0.0117528 0 0 -0.000904659 0 0 0.205803 0 0 0 0 0 0 0 0.0560102 0 0 -0.175063 0 0 0 0 0 0 0 -0.112351 0 -1.46287 0 -0.026955 0 0 0.00760141 -0.441281 0 -0.155824 0 0 0 -0.274283 0 -0.125048 0 0 -0.189878 0 0 0 -0.0263739 0 0 0 0 0 0 0.143039 0 0.325516 0 0 0 0 0.0799095 -0.31131 0 0 0.201394 0 0.0310175 0 0.0106499 0 0 0.279424 0 -0.452181 -0.0272653 -0.153031 0.0378134 0 0 0.0914059 0 1.36194 0 1.2108 0.899576 0 -0.237092 -0.529887 -0.00913515 0 0.0225552 0 0 -0.0253247 0 1.77062 0.643926 0 0 0.095748 0 0 -0.318161 0.206266 -0.0700518 0 -1.29601 0 -0.395822 0.0311054 -0.014788 0.0331142 -0.116232 -0.0139769 0.254294 0.0691106 0.0424392 -5.53817 0.0502449 0 0 0 0.0257306 -0.020054 0 0 0 0 -0.0147672 0.0398661 -0.558829 1.68097 -0.331596 0.38866 -0.251449 -0.108216 0.122165 -0.130878 0.19999 0 0 0 0 0 0 +78 0 1.01435 0.585496 0.0542728 0.0469795 0.0207223 -0.0180194 0.722788 1.16674 0.305528 -1.81706 0.184893 -0.172984 -0.0172396 -0.335057 0.116803 1.55622 8.30152 -0.316855 0.113119 -2.17761 -0.0802587 -0.296215 0.0207531 -0.552041 0.2666 0.336003 -0.0414196 0.165107 0.764403 -0.270929 0.0956533 0.744676 -1.2496 -0.00134254 0.156831 0.0624758 0.125884 -6.29391 0.323199 -1.16138 -0.081366 0.920604 0.0975338 0.402409 -0.338596 -0.432899 0.334954 0.946599 -0.320108 0.355748 -1.70855 -2.17091 -0.377448 0.000780852 0.137323 0.540619 -0.287894 0.173945 0.878886 0.168776 -0.286526 1.41916 0.602714 -1.12661 -0.205691 0.654753 0.911147 0.223202 -0.143428 1.32951 -0.175531 0.167774 -0.304556 0.773932 -0.199646 -1.23907 22.4624 8.47307 -2.96786 5.1135 -2.94204 3.48919 1.25768 -0.885872 1.16122 -0.903718 0.169774 -0.206427 0.189126 -0.0803507 -1.7192 0 0 0 0 0 0.0542728 0.0469795 0 0 0 0 0 0 0 -0.0272286 0 0 0 0 -0.0498249 0 -0.00757336 0.0512532 -0.16957 0 0 0.182894 0 0 0.00187528 1.15104 0 0 0.0151419 0.216041 0 -0.101052 0 0.0288313 0 0 0.000896471 0 0 -0.4795 0 0 0 0 0 0 0 0.0845732 0 0 -0.0418363 0 0 0 0 0 0 0 0.110895 0 0.479516 0 -0.0263959 0 0 0.0381984 0.333212 0 -0.0255913 0 0 0 1.02132 0 0.18951 0 0 0.091195 0 0 0 0.0690991 0 0 0 0 0 0 0.0207223 0 -0.0180194 0 0 0 0 -0.382385 1.12255 0 0 -0.140171 0 -0.038803 0 0.043295 0 0 -0.00180391 0 -0.805521 -0.096335 -0.0111084 -0.000458906 0 0 0.351858 0 4.60475 0 -4.53135 -0.278354 0 -0.8395 -1.65365 -0.00926754 0 -0.0455155 0 0 0.14204 0 0.634783 -0.0294881 0 0 -0.00831625 0 0 -0.166459 4.77272 -0.400536 0 0.6064 0 0.326145 0.0409562 0.212289 0.939204 -0.0645971 -0.797579 0.920736 0.05619 -1.08367 -2.28865 -0.0294816 0 0 0 0.285349 0.0705698 0 0 0 0 -0.411822 40.4243 3.81073 4.41833 0.82741 -0.615141 2.03496 0.0182546 -0.00190003 0.0465261 0.391925 0 0 0 0 0 0 +79 0 -0.420052 0.066936 0.00461085 0.037427 -0.23533 -0.058771 0.1248 1.48669 0.083112 -0.230441 -0.0566531 -0.140188 0.000458623 -0.664217 -0.018479 0.998843 4.32351 0.0488996 -0.0256903 0.33329 0.0172709 -0.00810115 0.00075909 0.0505359 0.185621 0.186257 0.00716823 0.111219 0.258162 -0.170348 0.00833352 -0.131984 0.172058 0.102517 0.0413964 -0.00862296 0.0936794 1.44374 -0.169353 0.0152711 0.0038621 0.694604 -0.0217449 -1.16211 0.0288208 -0.124807 0.104056 -0.207949 0.0368927 -0.533764 0.267597 1.15227 0.0665146 -0.0107587 0.00280186 1.5 -0.0563756 0.351381 -0.012168 -0.0138917 -0.632291 -1.61663 0.569661 -0.41039 -0.270443 -0.121041 -0.0316508 0.0668984 -0.0306768 0.268407 -0.0782995 -0.0786889 0.0205243 1.67215 0.149249 0.192529 -5.94284 -1.08414 -2.21133 -0.800941 0.537439 -1.78264 -0.046499 -0.260597 0.663214 -2.81845 -0.0144509 0.0531312 -0.0971322 0.286055 -0.580627 0 0 0 0 0 0.00461085 0.037427 0 0 0 0 0 0 0 0.0138324 0 0 0 0 0.0113118 0 0.00205817 0.0365791 0.0732874 0 0 0.0925004 0 0 -0.00963293 0.767076 0 0 0.00107842 0.181995 0 -0.0276774 0 0.0129872 0 0 0.000129242 0 0 0.0555803 0 0 0 0 0 0 0 -0.0702042 0 0 -0.113589 0 0 0 0 0 0 0 -0.0114186 0 -0.715038 0 0.00395813 0 0 -0.0766195 -0.139847 0 0.0193379 0 0 0 -0.12941 0 -0.0658605 0 0 -0.000440927 0 0 0 -0.0356405 0 0 0 0 0 0 -0.23533 0 -0.058771 0 0 0 0 0.330133 0.154493 0 0 -0.226235 0 -0.0265706 0 -0.000257696 0 0 0.327637 0 -0.081307 0.078569 0.00267293 0.0401987 0 0 0.00836831 0 0.862671 0 1.85214 -0.178378 0 1.03543 0.417225 -0.000926455 0 0.021296 0 0 0.021396 0 0.126695 0.357101 0 0 0.0377973 0 0 0.104443 -1.42597 0.3382 0 -0.118157 0 -0.52737 0.0511704 -0.240833 0.222992 -0.237268 -0.788008 -0.0209705 0.119574 0.269036 2.04491 0.0279671 0 0 0 -0.0207874 0.036747 0 0 0 0 -0.0136334 -18.8144 -0.649579 -5.2171 -0.344655 0.108878 -0.816963 0.0983176 -0.105029 0.156402 -0.561947 0 0 0 0 0 0 +80 0 0 0 0 0 0.253911 -0.201418 0.393323 0.671467 0 0 -0.00986451 -0.947342 0 -1.76033 -0.0199116 0 0 0 -0.150287 0.832748 0 0 0 0 0.432698 0 0 0.839197 5.01617 -0.69632 0 -0.220915 0 0 0.293201 0.00922214 0 0 -0.10022 -0.0761374 0 0 0.033718 -3.16488 0 -0.523118 1.83336 -0.84759 -0.00245293 -0.945501 0.142462 0 0.19929 -0.154989 0.328472 -0.816069 0.300028 -0.292024 0 0 0.639302 -0.445262 0 -0.0891521 0.176647 -0.495178 0 0 0 0 -0.0894753 -0.101265 0 0.908356 -2.2971 0 0 0 0.136817 0 0.215684 -4.86107 0 -0.0457143 -0.0450468 -4.40929 0 -0.0653089 -0.186959 0.645642 -12.7508 0 0 0 0.150402 0.00447497 0 0 0 0.00214322 0 0 0.000211809 0 0 0.00289171 0 0 0 0 0.0594754 0 0.00241952 0 0.0499079 0 0.0306593 -0.0658673 0 0.000194817 0 0 0.0118274 0 -0.00160976 0 0 0 0 -0.0465069 0.00258414 0 -0.00174638 0 0 0 0 0 0 0 0 0 0 0.0757775 0 0 0 0 0 0 0 0 0 0 0.0484875 0 0 0 -0.0323804 0.0138009 0 0.0440085 0.090492 0 -0.00448478 0 -0.0128268 0 0 0 -0.071049 0 0 -0.0128101 0 0 0 0.0228252 0 0 0 0 -0.00371195 0 0.253911 0.150402 -0.201418 0.00447497 -0.373078 -0.123191 0.0158838 -0.290661 0.11748 -0.000579341 -0.0639935 0.170625 -1.45807e-05 0.00527568 0.000460724 0.00193796 -0.0237149 -0.0223075 0.800539 -0.113892 -0.420366 -0.0174448 0.138755 0.131139 -0.264129 0.262427 0.0966177 -0.0190789 -4.19879 -0.0780421 0.0353009 -1.38179 1.31013e-05 -0.322108 -0.308042 0.00397509 0.00104005 -0.0384684 -0.00124505 1.40662 0.00261765 0.0535516 -2.20617 0.71392 -0.00655969 -0.00385976 0.00177955 -0.0688315 -0.00451787 -0.301556 2.56607 0.0909134 0.00677957 1.53363 -0.000206722 0.154189 -0.00360453 -0.028206 0.0578761 0.174042 0.990059 -0.174779 0.031878 -0.0164965 9.0042 -0.112664 -0.310147 -0.0267936 -0.194227 -0.111019 -0.00802309 0.0270495 0.000779648 -0.0462694 0.0238099 -0.00265341 -0.185293 -0.446216 0.727907 0.0583631 0.252889 -4.02027 -0.00188297 0.0112737 -0.0213011 -0.81715 0.000230502 0.00942152 -0.0905917 0.236039 -1.76049 0 +81 0 0 0 0 0 0.721006 0.377503 -0.720444 -2.80667 0 0 0.00656472 0.511636 0 1.1695 0.00155479 0 0 0 -0.0144164 -1.15259 0 0 0 0 -0.561307 0 0 -0.709117 -2.26245 0.515247 0 0.0222042 0 0 -0.334628 -0.000243715 0 0 0.20148 0.759198 0 0 0.0719651 0.572901 0 1.10954 -0.793728 -0.00180063 -0.113808 0.737308 0.00500267 0 0.00364766 -0.00198686 -0.0247933 -0.584684 -0.0921681 -0.11746 0 0 0.401125 -3.04409 0 -0.79164 -0.0512639 -0.240611 0 0 0 0 -0.141986 0.121743 0 -2.90243 0.365563 0 0 0 3.89439 0 6.6861e-05 1.1115 0 -0.126647 -0.291984 4.65701 0 -0.215411 -0.0551412 0.306868 3.65662 0 0 0 -0.0244916 -0.00160316 0 0 0 -0.00877495 0 0 -0.000399959 0 0 -0.00391023 0 0 0 0 -0.0666596 0 -0.0022224 0 -0.127638 0 -0.111243 -0.025292 0 -0.000162462 0 0 0.00122913 0 -0.000287594 0 0 0 0 0.0354214 -0.00227154 0 0.00128904 0 0 0 0 0 0 0 0 0 0 -0.0104487 0 0 0 0 0 0 0 0 0 0 -0.0739554 0 0 0 0.00150498 0.0173468 0 0.047882 -0.073692 0 -0.0262795 0 -0.0338305 0 0 0 0.136372 0 0 0.000225356 0 0 0 0.0223543 0 0 0 0 -0.00610621 0 0.721006 -0.0244916 0.377503 -0.00160316 0.287616 0.0721514 -0.0119946 -0.445762 -0.0556844 0.000263374 0.014477 -0.0937773 7.78233e-06 -0.00324391 -0.00037753 0.00043599 0.0103391 0.00744595 -0.777718 -1.10686 0.180976 -0.387582 -0.052363 -0.14824 0.024488 -0.21521 0.0094139 -0.0149167 3.61444 0.0817819 1.22375 1.4543 -1.10311e-05 -1.66101 0.439172 -0.00190619 0.00140015 -0.127191 0.013247 -1.14006 -0.00101796 -0.0437863 2.17231 -1.97756 0.00278683 0.00827276 -0.425172 -0.160704 -0.00349808 1.03283 -1.25202 -0.690882 -0.0274006 -0.312195 0.000519696 -1.24018 -0.00378004 -0.0410309 0.0175939 -0.0432322 -0.405405 0.128357 0.216283 -0.0494412 -8.95522 -0.110576 0.778588 0.0467398 0.0626869 -0.102936 0.00517708 -0.0297728 -0.000430843 0.149357 -0.07896 0.00185224 -6.42339 0.301053 4.35766 -0.0258642 0.124744 1.81869 0.000818766 0.0860393 -0.282158 1.96854 -7.69386e-05 -0.0491518 0.112252 -0.264821 1.50934 0 +82 0 0 0 0 0 0.272517 0.240209 -0.555567 -1.15489 0 0 -0.0450836 1.0789 0 1.92474 -0.00659332 0 0 0 -0.0360269 2.1401 0 0 0 0 -0.431738 0 0 -0.640744 -2.36862 0.761883 0 -0.0731788 0 0 -0.270571 -0.00339697 0 0 -0.0696858 0.312498 0 0 -0.0170927 3.111 0 -0.0673734 -0.977875 -0.236436 0.0266759 1.12481 -0.0552324 0 0.00714093 -0.051177 -0.139566 -1.32289 0.0556597 -0.094509 0 0 -0.191973 1.61285 0 -0.271426 -0.103674 0.0890668 0 0 0 0 -0.217563 -0.221422 0 -0.504177 1.21604 0 0 0 1.34732 0 0.0830545 3.50862 0 0.0857565 0.11991 2.64136 0 0.0444979 -0.0944068 -0.149631 7.18232 0 0 0 0.0257601 0.000861169 0 0 0 -0.000227055 0 0 3.66742e-05 0 0 0.000887376 0 0 0 0 0.015608 0 0.000608415 0 0.0224144 0 -0.00497662 -0.0312611 0 4.30397e-05 0 0 0.00122763 0 -0.00060838 0 0 0 0 -0.0168748 0.000683691 0 -0.000511957 0 0 0 0 0 0 0 0 0 0 0.0137984 0 0 0 0 0 0 0 0 0 0 0.0106364 0 0 0 -0.00934035 0.00101196 0 0.00738721 0.0218837 0 -0.00110752 0 -0.00187506 0 0 0 -0.0267237 0 0 -0.000507952 0 0 0 0.000362635 0 0 0 0 -0.00340491 0 0.272517 0.0257601 0.240209 0.000861169 0.21377 0.0752477 0.00373959 0.235544 0.0293356 -0.000117536 -0.0175022 0.0792027 -3.0831e-06 0.00187632 0.000111678 0.000490284 -0.0121998 -0.00423377 1.10306 1.09599 0.502866 0.0342062 0.0618119 0.207052 -0.0868199 -0.122179 0.0379074 0.00311213 3.21015 -0.102272 2.73104 1.27663 3.20772e-06 0.327671 1.26114 0.00144249 -0.00365992 0.0148886 -0.0196597 -0.599517 0.000134094 -0.0219163 2.21387 2.51861 -0.00247318 -0.0160911 0.497915 0.128883 0.144028 -0.140615 -1.59567 0.0352613 -0.0207915 -0.357711 -8.8054e-05 -1.88106 -0.000132684 -0.0959583 0.071217 -0.267698 0.563833 0.0649486 -0.0917432 0.17701 -5.902 -0.118205 -0.558841 -0.0337766 0.0891048 0.0914674 -0.00256653 0.00932135 0.000166451 -0.121252 -0.0288793 0.00111281 -14.3351 -0.085262 -2.14489 -0.00299841 0.224473 2.34555 -0.000599264 0.00428703 0.115877 0.337136 4.37474e-05 0.00988299 -0.0250437 0.119924 0.749272 0 +83 0 0.214545 0.313245 0.000356378 0.0360603 -0.0901193 0.195289 0.338973 1.1009 0.000874734 0.0303488 -0.00903846 1.55055 -4.29534e-08 2.44556 -0.000179209 1.85661 5.56967 0.00866942 -0.000350006 3.73195 0.00237859 -0.123235 5.54526e-08 0.0142197 0.0191366 0.648732 -0.00612016 -0.259229 0.256211 0.716849 7.12793e-06 -0.0201733 0.105407 -0.0921757 -0.116556 -9.67373e-05 -0.0586747 1.1571 -0.00334445 2.26416 -5.52127e-06 -0.610577 -5.24317e-05 5.05044 -0.000677566 1.25313 -0.0428509 -0.0382035 5.43695e-05 -0.376114 -0.0155702 -7.3573 0.000198496 -0.000181925 -0.00146706 -3.53595 -0.151985 0.0319074 3.55408e-05 3.48662e-06 -1.38403 -3.12188 -0.713581 -0.349964 0.197261 -0.0585003 0.0702072 -0.0722791 -3.80421e-06 0.17146 -0.0172832 -0.00528099 0.0844723 -3.30075 0.328955 0.2616 -1.73328 0.0380198 -2.26412 -0.263396 0.579783 -2.36584 -0.0310455 0.0650109 -0.0232073 -1.45826 6.90566e-08 1.08076e-06 0.000238035 0.000895151 -0.189893 0 0 0 0 0 0.000356378 0.0360603 0 0 0 0 0 0 0 0.000938878 0 0 0 0 2.86894e-06 0 9.24563e-06 -0.000353065 0.000288861 0 0 0.0128431 0 0 0.0005558 -0.02177 0 0 0.00153319 -0.0181123 0 0.0286357 0 0.000124971 0 0 1.49095e-05 0 0 0.0856817 0 0 0 0 0 0 0 -0.0167101 0 0 0.0215282 0 0 0 0 0 0 0 0.00109257 0 0.111107 0 -0.000530642 0 0 -0.000632805 0.0247721 0 -0.00121422 0 0 0 -0.196218 0 -0.000858654 0 0 -0.00369254 0 0 0 -1.24487e-05 0 0 0 0 0 0 -0.0901193 0 0.195289 0 0 0 0 -0.00330332 -0.275186 0 0 -0.209686 0 -0.0125167 0 -0.00449724 0 0 0.444773 0 -0.257861 0.0939455 -0.0341827 0.0208418 0 0 -0.0857847 0 9.69877 0 -0.876361 1.22951 0 0.468519 -0.339124 -0.000816123 0 0.00767235 0 0 -0.023342 0 3.46614 1.39104 0 0 0.135343 0 0 -0.473402 -2.55042 -0.16386 0 -1.68494 0 0.410126 -0.0618826 0.12931 0.0617539 -0.094609 -1.4345 -0.162532 -0.00336799 -0.101734 -2.78922 -0.0376555 0 0 0 0.0474093 0.0159725 0 0 0 0 -0.01119 5.46021 1.05005 -0.929438 0.072743 0.0173907 0.358434 0.0188744 -0.00988609 0.128624 -0.329651 0 0 0 0 0 0 +84 0 0.474696 0.416387 -0.000211 -0.0213501 0.207491 0.0874546 0.0312698 0.081544 -0.000517901 -0.018122 0.0042624 -0.643926 2.54313e-08 -1.93266 0.000111831 1.51737 3.31137 -0.0168716 0.000221439 -2.58442 -0.00307032 -0.463611 -3.28317e-08 -0.00415433 -0.167958 0.744952 0.000527293 -0.172425 0.374147 -0.454105 -4.22021e-06 0.0128368 -0.710182 0.0172957 -0.210506 5.02897e-05 0.00986041 -2.44324 0.00115425 -1.07711 3.26896e-06 0.111378 2.57454e-05 -2.67761 0.000401164 -0.233795 -0.0449555 0.0248346 -2.85327e-05 -0.218681 0.00634567 -1.79515 -0.000123947 0.000113599 0.000615176 -0.614179 -0.0246968 -0.0185158 0.0040642 -2.06431e-06 -1.52546 2.2268 -0.36101 1.02452 0.0744316 -0.0466066 -0.0552394 0.0344041 2.25235e-06 0.214333 -0.0652254 0.00458042 -0.0204736 1.69966 -0.0715141 -0.0558132 6.50264 0.497757 0.432505 0.0815022 -0.125501 2.19358 0.00205528 -0.0529872 0.252949 -0.577924 -4.08861e-08 -5.97796e-07 -0.000167729 -0.000930416 -0.277301 0 0 0 0 0 -0.000211 -0.0213501 0 0 0 0 0 0 0 -0.000537665 0 0 0 0 -1.92602e-06 0 -5.3572e-06 0.000197152 -0.000206478 0 0 -0.00636397 0 0 -0.000321279 0.0129318 0 0 -0.000751728 0.00979734 0 -0.016341 0 -6.60369e-05 0 0 -7.8266e-06 0 0 -0.0488804 0 0 0 0 0 0 0 0.00984667 0 0 -0.0108858 0 0 0 0 0 0 0 -0.000372263 0 -0.0639219 0 0.000333414 0 0 0.000374256 -0.0133095 0 0.000833969 0 0 0 0.11194 0 0.000537585 0 0 0.00210655 0 0 0 8.8984e-06 0 0 0 0 0 0 0.207491 0 0.0874546 0 0 0 0 -0.243235 0.049011 0 0 0.121814 0 0.0117561 0 0.00154093 0 0 0.0244198 0 -1.29024 -0.122308 0.010957 0.0149046 0 0 0.00281187 0 -4.88716 0 -6.06637 -1.08662 0 -0.705127 -2.63104 5.96446e-05 0 -0.0480109 0 0 0.0131006 0 -2.23802 -0.108713 0 0 0.0172341 0 0 0.475911 -0.330239 0.330973 0 2.41831 0 0.620117 0.0567441 -0.0521051 0.27139 -0.0432296 -0.869775 -0.296103 0.0674851 -0.174794 10.166 -0.0306987 0 0 0 -0.0199715 -0.0350037 0 0 0 0 -0.0336135 35.9107 0.437604 4.68744 0.372674 -0.412264 2.27161 -0.0661946 0.0522853 -0.0494198 0.284775 0 0 0 0 0 0 +85 0 0.281817 0.052221 1.9647e-05 0.00198799 0.0266527 -0.154243 0.736196 0.575997 4.82237e-05 0.0415366 0.00112777 0.416491 -2.368e-09 0.203957 -2.88449e-05 1.04814 4.24608 0.00286699 -8.15213e-05 1.49912 -0.000639083 0.267415 3.05708e-09 -0.00318771 0.526202 -0.00578478 -0.00285748 0.568463 0.788196 -0.183089 3.9296e-07 -0.00406874 0.112317 -0.0518886 0.457025 5.09732e-06 -0.0219831 -1.53553 0.000793376 0.348461 -3.04385e-07 -0.268306 3.3813e-06 1.95151 -3.73539e-05 -0.197113 0.607651 -0.0118069 -1.3329e-06 0.109472 -0.0888064 -0.480146 3.90686e-05 -3.5807e-05 -0.00176005 1.2788 -0.169168 -0.00196513 0.00596316 1.92216e-07 -0.606935 -1.98092 -0.640612 0.339823 -0.0795194 -0.230561 -0.364103 -0.0195602 -2.09725e-07 -0.173256 -0.16396 0.00108046 0.0185511 0.248792 -0.163627 -0.135374 7.10653 0.219395 2.56343 0.205405 -0.25192 1.63765 -0.0182404 0.00666831 -0.222232 0.860868 3.80706e-09 9.75615e-09 -2.63234e-05 -0.00135297 -0.584176 0 0 0 0 0 1.9647e-05 0.00198799 0 0 0 0 0 0 0 1.27005e-05 0 0 0 0 -1.64043e-06 0 2.5916e-07 -1.96286e-05 -0.000264469 0 0 0.000180716 0 0 2.96877e-05 -0.00288937 0 0 4.15078e-05 -0.00101675 0 0.00150364 0 3.50708e-06 0 0 5.46024e-07 0 0 0.00449746 0 0 0 0 0 0 0 -0.000871243 0 0 0.0007978 0 0 0 0 0 0 0 6.07243e-05 0 0.0074326 0 -7.07419e-07 0 0 -3.81077e-05 0.00121105 0 -0.000139872 0 0 0 -0.0102995 0 0.000275117 0 0 -0.000193823 0 0 0 1.13975e-05 0 0 0 0 0 0 0.0266527 0 -0.154243 0 0 0 0 -0.0467241 -0.228528 0 0 -0.0489132 0 -0.00309977 0 -0.0011866 0 0 0.261522 0 0.011877 -0.0326045 -0.0032981 0.00735447 0 0 -0.0232361 0 3.63269 0 -2.72848 -0.0803847 0 -0.361071 -0.542294 -4.69016e-05 0 0.0056031 0 0 -0.0217757 0 0.840598 0.81184 0 0 0.0549796 0 0 0.144209 -1.74571 0.321093 0 0.306292 0 0.667913 -0.0367841 -0.0308907 -0.268727 0.0441602 -0.50316 -0.471011 -0.0917319 0.0980546 2.19135 -0.0508494 0 0 0 -0.0158408 0.00155527 0 0 0 0 0.0333984 19.227 0.652721 3.49455 0.267173 -0.224427 1.35865 -0.0313275 -0.0192053 0.000160415 0.357796 0 0 0 0 0 0 +86 0 0 0 -0.192569 -0.0152789 0 0 0 0 2.86995 1.36606 -0.0473332 0 0.364996 0 -0.0184284 0 0 0.56098 0.194665 0 0.441662 0 -0.40729 1.36678 0 0 -0.640971 0 0 0 0.0817475 -0.387043 0 -1.18579 0 -0.000466802 -1.11781 0 0.0679537 0 0.242717 -2.59504 0.244199 0 -0.40905 0 0 -1.12866 -0.949244 0 0.31457 0 1.44543 0.497562 0.0474978 0 0.97845 0.139452 -0.424528 0.87066 0 0 0 0 -0.68304 0 -1.32326 -0.19231 -1.51924 -2.09986 -0.424257 -0.293264 1.64904 0 0 2.68723 0 -4.31755 0 0.277909 -0.113928 0 -3.07535 1.18051 -0.454932 0 0.863542 -0.893479 0.917488 -0.339386 0 0 0.112974 0.0154989 0.115663 -0.00167963 -0.192569 -0.0152789 0.0546519 -0.0597658 -0.179242 -0.000422436 -0.00862743 0.0235191 -0.00115401 0.0600624 0.0220051 -0.00390638 0.0159667 0.106727 -0.157373 0.237228 0.0302117 -0.832666 0.036895 0.00193955 -0.43022 -0.433489 0.0101005 0.00278156 -0.816469 -0.570397 -0.159554 0.0099321 -0.0500749 -0.541033 -0.0525138 -1.57609 -0.0167952 0.137471 -0.00841395 0.0893642 0.0536418 -0.028605 0.000268578 -2.53356 0.322715 0.192488 -0.00426762 0.613326 -0.054995 -0.024062 -0.0148555 -0.119283 0.043241 0.110482 -0.352143 -0.173511 -0.0725474 0.0507956 -0.0431041 -0.12928 -0.102504 0.0644304 -0.0625145 0.145107 0.967542 0.0180949 -0.151696 -0.0483515 0.145788 0.225501 0.249995 -0.033067 -0.165802 0.0253528 0.331467 0.0117426 10.3298 -0.891047 1.02438 0.328783 -0.640825 1.32187 -0.029451 0.0556669 -0.113507 0.0547352 0.0078553 -0.0159534 0.0308384 -0.063704 0.125525 0 0 0.115663 0 -0.00167963 0 0 0.945575 0 -0.612232 0.0336995 -0.0417773 0.356111 0.00531575 0.0593091 0.1181 -0.0970955 -0.0218397 0.196467 0 0 0 0 0.0785823 0 -0.349799 0 -0.412223 0 0 0.0683877 0 0 0.0109844 0 0 -0.0116892 0.00321629 0 0.00670042 0 -0.0981231 0 0 0 -0.0012245 0.0363979 0 0 0.0227297 0 0 0 0.205517 0 -0.550849 0 -0.118414 -0.210113 0.232838 0 0 -0.304454 0.0293787 0.338135 0 0.197211 0 0.0116421 0 0.276293 0.0168378 -0.215334 0.0846403 0.254243 0.0983974 -0.295251 0 -1.28097 0 -1.21417 -0.0304978 0 -0.62162 0.209707 -0.0443872 0 -0.453126 0.0558491 -0.0618245 -0.106021 0 0 +87 0 0 0 0.251411 0.174361 0 0 0 0 -4.27476 -2.15839 -0.596198 0 -0.329918 0 0.221958 0 0 -0.647154 0.38837 0 -0.501998 0 0.627677 -1.41536 0 0 1.19821 0 0 0 -0.0917295 1.29206 0 2.06785 0 -0.0183395 2.14921 0 -3.43307 0 0.643474 3.06262 -0.769219 0 5.12565 0 0 2.92143 3.65474 0 1.98953 0 -1.64678 0.64981 -0.526177 0 -1.60864 -1.4074 -0.789448 -3.84732 0 0 0 0 -0.110838 0 1.30969 2.03149 2.53369 3.40975 0.720608 -1.66426 -2.32919 0 0 -4.57746 0 7.051 0 -10.5231 7.57174 0 -3.67728 2.61676 2.07286 0 -19.1849 11.1288 -6.44638 5.372 0 0 -0.591599 -0.0811614 0.354078 0.0764549 0.251411 0.174361 -0.126006 -0.0272245 0.33772 0.00293127 0.000170945 -0.00284253 -0.0057327 -0.02307 -0.0819502 0.0305327 -0.0542134 -0.411183 0.260346 -0.776071 -0.0132568 1.53385 0.489802 -0.00778138 -0.154212 -0.68613 -0.0421674 -0.0114377 1.013 -0.360195 -0.279391 -0.0352511 -0.213649 1.3581 0.049832 1.47736 0.0443178 -0.523858 -0.0673307 -0.237156 -0.155672 0.290942 -0.00226149 1.59243 -0.0329275 -0.603118 0.00599849 -1.00571 -0.0876683 0.0778848 0.0258273 -0.174551 -0.0430841 -0.118918 -2.09272 0.135881 0.207523 -0.120277 0.118152 0.293038 0.0306237 -0.139418 0.25354 -0.251478 2.02851 0.58206 0.285135 0.0463269 -0.0856418 0.0850264 0.866177 0.376992 -1.26084 -0.0210909 0.0720608 -0.0499971 -6.49262 1.58123 -1.68964 -0.664769 0.685766 -0.0568367 0.101163 -0.146907 0.202678 -0.0714105 -0.0488245 0.0653 -0.0752706 0.0287075 0.219803 0 0 0.354078 0 0.0764549 0 0 -0.31282 0 0.512084 0.0833757 0.0103001 -0.167734 0.00942072 -0.00345006 0.00481241 0.0862546 -0.0289714 0.631993 0 0 0 0 0.275467 0 0.188818 0 0.287642 0 0 -0.478031 0 0 0.0071478 0 0 0.0541691 -0.00795533 0 -0.0441257 0 0.139218 0 0 0 -0.00403015 -0.0854068 0 0 0.00736771 0 0 0 -0.0426757 0 0.248509 0 -0.13873 0.110976 0.598886 0 0 -0.176405 0.440617 -0.0872785 0 0.405783 0 0.208809 0 0.124742 -0.466781 0.681716 -0.585208 -0.615303 -0.125395 -0.149021 0 0.749983 0 -2.6616 1.78378 0 -1.82343 1.06083 0.317112 0 -1.84909 1.24608 -0.504694 0.430192 0 0 +88 0 0 0 -0.292515 -0.440274 0 0 0 0 -0.0638942 4.84691 -0.170889 0 0.462514 0 0.132791 0 0 1.05998 0.564629 0 0.515979 0 -0.380276 1.74216 0 0 -0.658196 0 0 0 -0.163495 0.548155 0 -1.15971 0 -0.0671974 -1.7625 0 0.821933 0 0.751404 -3.72635 0.102141 0 1.35573 0 0 2.00969 -0.393786 0 1.00408 0 -1.5933 0.455969 0.0369679 0 -0.382111 0.123015 -2.26962 -0.648562 0 0 0 0 0.27177 0 -1.67428 -1.70325 -1.24244 -6.9566 -0.0414827 1.17637 -0.501876 0 0 1.40522 0 -14.7893 0 -1.07051 -3.41109 0 -6.46783 2.08199 -5.7257 0 -3.45909 0.0763719 -1.44825 -1.70174 0 0 -0.062405 -0.00856134 -0.130279 -0.00709993 -0.292515 -0.440274 0.000781489 0.0477191 0.0145656 0.000212298 0.00594375 0.024029 -0.00956713 0.264498 -0.0131294 0.00186289 -0.0228488 -0.0489291 0.278411 -0.144687 0.0935281 -0.546516 1.00997 -0.0011409 0.237765 0.433807 -0.00485142 0.00962204 -0.627507 1.8163 0.377934 -0.00639989 0.13466 0.0687594 -0.0143529 -1.27328 0.00314576 -0.0365946 0.0635993 -0.0619448 0.0362669 0.0116696 -0.000889329 -3.50509 0.331582 -0.299534 -0.000791119 0.0877295 -0.412268 0.0259743 -0.00929273 1.07998 -0.0375865 -0.000891084 0.899172 -0.0224566 0.0451195 -0.0229864 0.033316 0.0259012 -0.0160522 -0.0603141 -0.0816909 -0.0814498 -1.26877 -0.513805 0.03825 -0.0917248 -0.0846586 0.0792954 0.184085 -0.336328 0.712822 0.0300783 -0.0179174 -0.00682288 14.2909 -0.0656776 -0.537673 0.289487 -0.463449 0.608316 0.0296329 -0.0638921 0.168894 -0.561312 -0.00411409 0.0120204 -0.0441673 0.101007 -0.297329 0 0 -0.130279 0 -0.00709993 0 0 -0.249761 0 -1.35472 0.00224336 0.0528526 1.67833 0.00261581 0.250391 -0.0353301 -0.130258 0.121696 -0.000859574 0 0 0 0 0.586914 0 0.455076 0 -0.429411 0 0 0.378838 0 0 -0.00542134 0 0 0.0874179 0.0088583 0 0.0324174 0 -0.245751 0 0 0 0.0123708 0.0805318 0 0 0.156256 0 0 0 -0.434861 0 0.183693 0 -0.566763 0.209783 -1.21729 0 0 -1.11934 0.215578 0.373691 0 0.0123408 0 0.137507 0 -0.551089 -0.49938 -0.164526 -0.0305856 0.234486 0.00716555 0.0185185 0 -6.05918 0 0.0357117 -1.76614 0 -0.423129 0.187624 -1.308 0 0.0976948 -0.209787 -0.260877 -0.239732 0 0 +89 0 -0.44032 -0.583985 -0.0648131 0.00679226 0.0701634 -0.0377753 0.0536749 0.276751 -0.175799 -1.32207 -0.226452 -0.591594 0.135686 -0.606136 -0.177826 -3.18417 -11.8959 0.0193219 -1.05098 0.384932 0.0185278 0.598117 -0.171847 -0.549347 -0.0887603 -0.950243 -0.224201 0.0480312 0.251012 -0.102802 -0.193676 -0.451072 1.14907 -0.381099 -0.0414477 -0.116272 -1.17658 1.50616 -0.500108 0.120675 0.177436 -2.03657 -0.318369 -3.04351 0.150853 0.0300005 0.131355 -2.27665 0.437751 -0.761894 -0.392314 6.87873 -0.061921 -1.1958 0.520379 -0.792993 -0.207794 0.321566 0.603488 -0.196665 -1.43392 -0.324283 -4.72102 0.791863 0.982283 -0.0348786 -2.01405 -1.54919 0.204927 1.30108 -0.349691 -0.343332 0.0932567 0.100481 -0.309509 0.685957 -13.9166 -1.01577 0.535654 -1.80237 2.13423 -3.27795 2.3582 -0.891514 1.10181 -1.33752 -0.615671 1.19169 -0.653582 0.753426 -0.47043 0 0 0 0 0 -0.0648131 0.00679226 0.00942029 0 0 0 0 0.00390839 0 0.00950797 0 0 -0.00259676 -0.0248189 -0.0239172 0 0.00556397 0.158243 -0.0671495 0 0 -0.883621 -0.0018181 0 0.585192 -1.15029 0 0 -0.1371 -0.201862 0 0.968589 0 -0.461868 0 0 -0.0677559 0 0 1.56112 0.0543027 -0.0346271 0 0.132739 0.0678181 0 0 -0.303061 0 0.0051853 -0.932512 0.0048357 0 0 0.0118309 -0.0239929 0 -0.01096 0.13219 -0.0405442 -0.597755 -0.060293 -0.00497137 0 -0.0382994 0.00858555 -0.290872 0.0853644 0.139798 0 0 0 -6.71612 0.393764 -0.636178 -0.156846 0.299499 -0.641137 0.00496915 -0.00956908 0.0196266 0.0221088 0 0 0 0 0 0 0.0701634 0 -0.0377753 0 0 0 0 0.0709244 0.12469 0 0 0.109979 0 0.0204298 0 -0.00347533 0 0 0.00874124 0 0.107306 0.0111847 0.0526093 0.00135845 0 0 0.0132228 0 -4.20087 0 1.66679 -0.407455 0 0.1364 0.519991 0.0089757 0 0.00653695 0 0 0.00124925 0 -1.18277 -0.425001 0 0 -0.0569885 0 0 0.109913 -1.22295 0.366134 0 -0.159745 0 -0.103961 -0.00792278 -0.146695 -0.0266564 0.0676607 0.302522 -0.320024 -0.116111 -0.409496 -2.11787 0.0346595 0 0 0 -0.034222 0.0132005 0 0 0 0 -0.0921587 -10.1307 -2.12454 0.464195 -1.10171 0.972876 -1.00881 -0.154037 0.0702442 -0.0937569 -0.1691 0 0 0 0 0 0 +90 0 0.5496 0.292426 -0.0730852 -0.271186 0.532602 0.0988293 -0.481092 -2.63809 0.86406 2.12015 0.139282 -0.174428 -0.0635535 0.456088 -0.0215308 0.87741 1.70918 0.0340416 0.117926 0.0380676 -0.0763894 -0.435436 0.136423 0.64842 -0.365503 0.443048 -0.2776 -0.023341 -0.537609 -0.024276 0.406328 0.00244055 -1.02102 -0.672514 -0.0197329 0.0602837 -0.874087 -3.25169 0.926054 0.0100793 -0.291889 -2.63045 0.520118 1.13644 -0.722947 0.00951347 -0.12962 0.310387 -1.46543 -0.776608 -0.374815 -9.50915 0.0387066 0.126981 -0.064725 -3.90154 -0.538511 -0.0514637 -0.450024 1.27199 1.0743 0.0174843 2.06862 1.89976 1.37245 -0.0230442 -0.892933 -1.84753 -1.49997 -2.30642 -0.0823739 0.844016 0.710299 -1.49467 0.0779398 -0.00974152 19.3691 -2.04973 10.6976 2.36861 -1.03147 5.74651 -3.47889 1.78574 -2.00612 5.36022 2.95053 -2.70997 1.77451 -1.47773 1.00755 0 0 0 0 0 -0.0730852 -0.271186 -0.0308853 0 0 0 0 -0.0133011 0 -0.0731723 0 0 0.0277096 0.202139 -0.414005 0 -0.0418113 -0.23702 -0.759383 0 0 1.18102 0.0147475 0 -0.643943 1.75881 0 0 0.183721 0.36404 0 -1.06094 0 0.57507 0 0 0.0934547 0 0 -1.63783 -0.18421 0.378357 0 -0.42871 0.135176 0 0 0.15966 0 -0.029855 1.62116 0.00558214 0 0 -0.056476 0.0742227 0 0.0490472 0.0479806 0.142567 -0.491732 -0.431925 -0.069142 0 -0.119859 0.110269 -0.335702 0.101178 1.09809 0 0 0 6.40182 -1.02435 2.22471 0.15087 -0.287346 0.623002 -0.0358592 0.0683568 -0.147572 0.301624 0 0 0 0 0 0 0.532602 0 0.0988293 0 0 0 0 -0.176767 -0.101191 0 0 0.328891 0 0.0405907 0 0.00793079 0 0 -0.144698 0 0.0482445 -0.093008 0.0408696 -0.0178945 0 0 0.0452901 0 1.11724 0 -1.77976 0.165722 0 -0.88127 -0.0254594 0.00311986 0 -0.0183269 0 0 -0.00166768 0 0.436014 -0.0517282 0 0 -0.0126951 0 0 -0.116558 0.210207 -0.650028 0 -0.0186072 0 0.754339 -0.308823 0.493786 -0.583254 -0.0757169 0.512202 -0.227248 0.189558 -0.0120565 -2.33509 0.027653 0 0 0 0.0451662 -0.137665 0 0 0 0 0.0518058 15.4115 -1.1599 5.81367 -0.38034 0.419409 1.90671 -0.423775 0.386364 -0.244121 0.754307 0 0 0 0 0 0 +91 0 0.208526 0.506952 0.41193 0.211097 -0.23676 -0.0980079 0.311508 1.83535 0.148658 -2.38972 -0.0888715 -0.707764 -0.664902 -0.345027 -0.0400319 0.73287 3.21695 -1.24961 0.0631712 -0.461608 -0.848799 -0.952133 0.791103 -1.30138 0.269549 0.426491 0.576377 0.0311142 0.539444 -0.103911 0.661279 -0.00854314 -1.60885 1.30418 0.0633603 0.00478729 1.03553 -1.1825 -0.37384 -0.095457 -0.679115 3.58066 0.0637606 -2.11818 -0.144433 -0.0155522 0.117785 0.208805 0.449015 1.34079 -0.221017 -2.27056 -0.240328 0.263664 -0.00604641 2.1218 0.649109 0.159896 1.18336 -0.112154 -1.02611 -0.200037 1.79159 -1.39469 -1.30325 0.121898 2.57358 1.65875 0.27603 3.39774 -0.0574447 -0.321459 -1.45296 0.405357 -0.133426 -2.00129 13.772 13.416 -6.49301 5.23326 -0.414621 -2.88497 4.15864 -1.92506 2.16518 -3.32704 0.58947 0.598998 -0.965461 0.962352 -1.01099 0 0 0 0 0 0.41193 0.211097 0.00660551 0 0 0 0 -0.00485853 0 0.0143045 0 0 -0.00346036 -0.0368822 -0.0231801 0 0.00143401 0.242776 0.0590678 0 0 -0.0401293 -0.002694 0 -0.249249 1.05765 0 0 -0.0130662 0.372599 0 -0.507241 0 0.0984315 0 0 0.00290018 0 0 -0.311161 -0.0666736 -0.0469081 0 0.0917674 -0.0484578 0 0 0.0948655 0 -0.00394822 -0.0640585 0.0126973 0 0 0.00227429 -0.0204818 0 -0.00542929 0.0104364 -0.00720617 -1.46203 0.0141509 0.00408623 0 -0.000449775 -0.026639 -0.106601 -0.116551 0.021399 0 0 0 0.605037 0.0490889 -0.0019371 0.015682 -0.0291033 0.0712716 0.00313068 -0.00589259 0.0135252 -0.00610782 0 0 0 0 0 0 -0.23676 0 -0.0980079 0 0 0 0 0.0832759 0.902142 0 0 -0.486675 0 -0.0563152 0 0.0163857 0 0 -0.000608614 0 0.109087 0.0687816 -0.0191043 0.00261544 0 0 0.0993507 0 0.122998 0 1.21348 -0.138134 0 0.712402 0.395876 -0.00127055 0 0.00650867 0 0 0.136642 0 -0.423711 -0.235948 0 0 -0.0202294 0 0 0.0566748 -1.32622 0.191272 0 -0.186123 0 -0.471892 0.462819 -0.453494 0.125088 -0.057734 -0.337755 0.347599 -0.112293 -1.06905 -0.788195 0.0216023 0 0 0 -0.0460506 0.0978535 0 0 0 0 -0.241759 -8.96971 2.08575 -4.34263 0.167852 -0.131853 -0.897677 0.365235 -0.318576 0.335136 -0.564878 0 0 0 0 0 0 +92 0 1.66544 0.880776 0.41375 0.0920457 0.138791 -0.0207779 0.471031 1.40757 -0.184592 -2.74111 0.0487753 -0.285598 -0.707081 -0.382677 -0.0183111 2.56404 12.1614 -1.31842 -0.05951 -1.27524 -0.839307 -0.920001 0.80196 -1.7122 0.386107 0.787824 0.59931 0.00409618 -0.109536 -0.0928892 0.669291 0.151806 -2.07804 1.3149 0.137583 0.0418166 1.23841 -5.34871 0.179335 -0.232668 -0.888949 4.85724 0.0218094 -1.25246 -0.881749 -0.0435858 0.00750398 0.874941 -0.0841277 0.846534 -1.44177 -0.314868 -0.547684 0.070296 0.0911224 5.46377 0.966163 0.446659 1.2392 0.395277 0.0229201 -0.177243 2.92009 -3.8935 -1.62613 -0.0292915 3.67287 1.89984 0.406959 1.21177 0.367903 0.00192514 -1.19416 0.315159 -0.0189701 -2.17414 19.8252 10.8874 -4.85443 9.68749 -6.66265 10.1991 6.80372 -3.30781 3.61834 -1.87136 3.30443 -0.457008 0.386645 -0.0519213 0.0450684 0 0 0 0 0 0.41375 0.0920457 0.00767635 0 0 0 0 -0.00585653 0 -0.0014553 0 0 -0.0044507 -0.00684112 0.113528 0 0.00478859 0.284912 0.061021 0 0 0.0652504 -0.000477673 0 -0.110995 1.72872 0 0 0.0017204 0.189197 0 -0.0892521 0 -0.0797308 0 0 -0.00795032 0 0 -0.619822 -0.0807988 -0.0706833 0 0.100376 0.0791707 0 0 -0.437974 0 -0.0129533 -1.21383 0.00250867 0 0 0.00871401 -0.0312087 0 -0.00873385 0.0598855 -0.00789883 -1.18856 0.0282399 -0.0395869 0 -0.00203765 0.00101651 0.188084 -0.211842 -0.316895 0 0 0 7.07832 0.719262 0.345389 -0.00314354 0.0966015 0.163546 0.00445428 -0.0045349 0.0220741 -0.0149734 0 0 0 0 0 0 0.138791 0 -0.0207779 0 0 0 0 -0.000836857 1.21088 0 0 -0.232475 0 -0.0394245 0 0.019401 0 0 -0.0464793 0 -0.0438924 0.0228852 -0.0105273 -0.00780966 0 0 0.14296 0 6.00938 0 -1.50551 0.157137 0 0.150208 -0.221072 -0.00357381 0 0.000228836 0 0 0.161059 0 0.912927 -0.247961 0 0 -0.037791 0 0 -0.0174975 1.1445 0.182182 0 1.08156 0 -1.26002 0.278696 -0.190541 0.281784 0.0292361 0.249769 1.21438 -0.231948 -0.736415 1.79109 0.0013052 0 0 0 0.177417 0.167382 0 0 0 0 -0.326762 13.6784 2.36078 -0.18796 0.830987 -0.694658 1.92452 0.217375 -0.236702 0.299111 -0.182311 0 0 0 0 0 0 +93 0 0.0991229 0.318922 -0.0213974 -0.299714 0.223243 0.0724448 -0.208875 -1.85007 0.620071 1.61723 0.166524 0.281915 -0.095166 1.35474 0.067852 1.65198 4.43568 0.0415701 0.091961 -0.326372 -0.110553 -0.440595 0.17127 0.281383 -0.334058 0.715534 0.00208515 -0.0201368 -0.198865 0.220429 0.350629 0.181764 -0.820189 -0.0697012 0.0174223 0.0765585 0.105706 -1.60928 0.278297 -0.0305446 -0.329062 -0.0742066 0.159196 2.50774 -0.710801 0.00290322 -0.0583381 0.462738 -0.329729 -0.663141 -0.241001 -3.93349 0.511846 0.13313 -0.0280935 -2.58166 -0.331148 -0.022198 0.336444 0.959242 2.59543 -0.062426 4.42674 0.930204 1.31583 -0.494765 1.65018 -0.929086 -1.27689 -1.53459 0.793557 -0.115101 0.989633 -1.18627 0.000366942 0.347473 13.64 -1.62277 7.56708 4.44482 -0.294492 1.44234 -1.60978 1.68418 -1.64776 3.00574 2.66379 -0.618991 0.518861 -0.0845359 0.0818228 0 0 0 0 0 -0.0213974 -0.299714 0.00504284 0 0 0 0 0.00318834 0 -0.0904069 0 0 0.0293635 0.209704 -0.410021 0 -0.0446111 -0.967434 -0.824594 0 0 -0.24675 0.0152867 0 -0.69128 -4.41987 0 0 0.0148657 -2.07761 0 -1.17831 0 -0.15951 0 0 0.00769785 0 0 -1.92023 0.0436699 0.398553 0 0.0675844 0.196 0 0 -0.0697331 0 0.01836 0.272997 0.0252858 0 0 -0.0508148 -0.0066732 0 0.0379388 -0.097127 0.136992 0.668329 -0.16958 -0.0761457 0 0.0354221 -0.187113 -0.403629 0.309777 0.258369 0 0 0 10.1761 -0.759731 2.5376 0.16716 -0.24609 0.461325 -0.0362848 0.0718072 -0.15686 0.28294 0 0 0 0 0 0 0.223243 0 0.0724448 0 0 0 0 -0.00930859 -0.0323667 0 0 0.212438 0 0.0237174 0 0.00753454 0 0 0.00786381 0 0.140025 0.005939 0.0106727 -0.000188661 0 0 0.0290857 0 0.599438 0 -0.0348555 0.0112908 0 -0.0694654 0.32055 -0.000279577 0 0.00276049 0 0 0.0122543 0 0.11878 0.278034 0 0 0.0193137 0 0 0.0955227 0.394075 -0.292847 0 0.399874 0 0.644054 -0.247789 0.198091 -0.402646 -0.108885 0.666922 -0.317379 0.239404 0.0984018 2.20727 0.1027 0 0 0 -0.0317096 -0.115246 0 0 0 0 0.0885926 -0.576474 -2.51547 2.36211 -1.02913 1.00262 -0.013231 -0.441476 0.371391 -0.166522 0.0851629 0 0 0 0 0 0 +94 0 -1.00306 -0.454923 -0.0620449 -0.0298645 -0.144387 -0.00144187 0.097606 1.34697 0.183024 0.316737 0.0225691 0.884651 0.0995829 0.622483 0.111845 0.586299 3.22606 0.33776 0.588261 -0.317661 0.201397 0.948902 -0.102053 0.288252 0.302194 -0.0682321 0.246444 0.00339711 0.175968 0.180276 -0.0363292 0.184688 2.60028 0.415636 0.036603 0.0109309 1.70223 8.65029 0.00568364 -0.0285034 0.121338 2.70466 0.028465 2.74215 0.111995 0.00387376 0.0281952 1.00474 -0.052784 0.482215 0.907807 1.53872 -0.308817 0.689019 -0.0334461 -3.35799 -0.267353 0.287726 -0.319407 -0.00375363 1.57675 -0.292216 -3.23029 -0.186677 -0.847092 -0.709521 0.471162 2.03582 -0.181722 1.93891 1.88564 0.0626561 -0.71404 -1.18493 -0.0965185 0.867145 -59.1789 -14.2039 -6.01777 -14.1083 6.01747 -9.714 -0.551724 0.386241 -0.991182 -1.43672 -0.419712 0.00471526 -0.352767 0.0229726 -0.0724017 0 0 0 0 0 -0.0620449 -0.0298645 -0.00238966 0 0 0 0 0.000913304 0 0.018301 0 0 0.00236102 0.0162728 0.027892 0 0.00503302 0.255399 0.105295 0 0 -0.100038 0.00118117 0 0.616746 0.907653 0 0 -0.0585813 0.551272 0 1.3698 0 -0.0943206 0 0 -0.0347966 0 0 3.08991 0.0125608 0.0339142 0 -0.031575 0.210774 0 0 -0.751608 0 0.00584558 -0.808266 -0.0013203 0 0 -0.00688377 0.0126824 0 0.0475086 -0.00795842 0.0320698 -0.64926 0.101974 -0.104654 0 -0.0207244 0.0314208 -0.695989 0.269338 0.0581642 0 0 0 -14.0077 0.347831 -1.61435 -0.297879 0.548336 -1.2105 -0.00333709 0.00541164 -0.0128277 -0.028429 0 0 0 0 0 0 -0.144387 0 -0.00144187 0 0 0 0 0.059853 -0.186224 0 0 0.00957481 0 0.00680556 0 -0.00400776 0 0 0.202977 0 0.203157 0.0229562 0.0164415 0.0235081 0 0 -0.0162831 0 -0.900307 0 2.97787 -0.147109 0 0.313344 0.799592 0.00423676 0 0.00610286 0 0 -0.0268304 0 -0.155235 0.64584 0 0 0.0738622 0 0 0.149725 -2.96128 0.308072 0 -1.30171 0 0.279141 -0.0522922 -0.127389 -0.164942 -0.0165611 0.120754 -0.662307 0.00474877 -0.0207891 -1.05617 0.100986 0 0 0 -0.195609 -0.0182973 0 0 0 0 0.0581951 -19.5434 -2.06251 -1.28342 -1.40205 1.29369 -2.32969 -0.0358945 0.0361964 -0.180207 -0.149167 0 0 0 0 0 0 +95 0 -1.18346 -0.236743 -0.0308378 -0.207368 0.346633 -0.097813 -0.482646 -1.49511 -0.312874 0.494182 0.0633347 -1.07025 0.000866535 -0.930823 0.0215074 -0.523892 -3.4078 0.129864 0.0622488 -3.01067 -0.00542369 0.0828685 -0.00301037 0.00279588 -0.205769 0.00973898 0.0349254 0.232662 0.178555 -0.469879 -0.0312629 0.251999 0.776107 0.219423 -0.00391866 0.0107584 -0.00236047 5.39759 -0.0961168 -1.37775 0.00647915 -0.100169 -0.00754637 -1.95563 0.0315211 -0.676455 0.0303117 0.626067 -0.00628033 1.38442 0.163237 0.957896 -0.0962638 0.0292208 -0.0712396 -0.0428797 -0.29132 -0.391205 -0.00041074 0.0090148 1.91652 3.57066 -0.0306215 -0.404718 -0.734067 -0.156224 0.515409 0.302098 0.07045 -0.246396 0.606626 0.0332949 -0.0214016 0.52719 -0.00628205 -0.774002 -19.631 -3.07387 -1.54146 -2.46518 2.4608 -9.10803 0.566089 0.415512 -1.5099 1.71365 -0.00766552 0.0120973 -0.0222641 0.00400882 -0.0062639 0 0 0 0 0 -0.0308378 -0.207368 -0.00620865 0 0 0 0 -0.000542049 0 0.0170085 0 0 -0.00582264 -0.0100527 0.017711 0 0.00179915 0.00785484 0.139171 0 0 0.11891 -0.000716263 0 0.0275694 -0.194023 0 0 0.0180607 0.0169724 0 0.143148 0 0.00516128 0 0 0.000836415 0 0 0.470669 -0.00755855 -0.0816003 0 -0.0866439 -0.0170208 0 0 0.065636 0 -0.0126892 -0.128402 0.0256036 0 0 0.0118937 0.0107243 0 -0.0239333 0.0699222 -0.0219854 0.0172595 0.0549129 0.0273987 0 -0.0229386 -0.049463 -0.0343871 0.0148154 -0.112436 0 0 0 -1.42413 0.180073 -0.360763 -0.043614 0.0697819 -0.131058 0.00750935 -0.0115103 0.020747 -0.0394868 0 0 0 0 0 0 0.346633 0 -0.097813 0 0 0 0 -0.209554 0.170422 0 0 0.758305 0 0.0848559 0 0.0341454 0 0 -0.712155 0 0.258979 -0.141668 0.204562 -0.0874934 0 0 0.263798 0 -6.15463 0 3.82531 -0.618248 0 -1.15553 1.2495 0.0193988 0 -0.0275759 0 0 0.0317898 0 -1.44786 -1.50777 0 0 -0.217285 0 0 0.320122 -2.3483 0.864193 0 -0.32241 0 -0.254209 0.232478 -0.415603 0.129206 -0.142188 -1.11809 0.0970639 0.066401 -0.454127 1.76148 0.0934962 0 0 0 -0.377095 -0.0995263 0 0 0 0 0.179073 -21.1085 -3.39615 1.70919 -1.26189 1.26518 -3.24965 -0.281907 0.32089 -0.529995 0.721136 0 0 0 0 0 0 +96 0 -0.00976625 0.177611 0.00623934 -0.00485417 -0.0810729 0.0602752 -0.212493 0.553923 0.0398007 -0.0695135 -0.128604 0.650603 -0.00145511 0.415645 -0.00360413 1.59186 5.18272 -0.1114 -0.0130546 1.5118 -0.017203 -0.179688 0.001602 -0.0504246 -0.041756 0.622421 -0.0114507 -0.0366668 0.0538741 0.136867 0.0100911 -0.116755 0.105598 -0.186189 -0.201182 -0.0149835 0.0100496 2.42175 -0.0160427 0.860553 -0.01008 -0.278416 0.00307028 2.04946 -0.0610644 0.431635 0.106337 -0.158155 -0.0280519 -0.310727 -0.140669 4.67904 0.0433637 0.029609 0.00803653 2.23258 0.280021 -0.0540399 0.149554 0.0254436 -0.102026 -0.669526 0.386847 -0.104862 -0.14427 0.435976 0.44346 0.106099 -0.0171811 0.843316 -0.0735709 -0.0177204 -0.157756 1.07742 0.0408516 0.954481 -12.1697 -1.77518 -2.94362 -2.42116 1.34295 -4.94642 0.291444 -0.196675 -0.236193 -1.45296 0.0148501 0.00115629 -0.00547965 0.000982261 -0.00188996 0 0 0 0 0 0.00623934 -0.00485417 -0.00400537 0 0 0 0 -0.000511484 0 0.016333 0 0 -0.00210356 -0.00184506 0.0111058 0 0.00194533 -0.0387415 0.104378 0 0 0.233456 -0.000149341 0 0.00935054 -0.555138 0 0 0.0383706 -0.187227 0 0.0629743 0 0.0299979 0 0 0.00505473 0 0 0.313681 -0.00714287 -0.0279111 0 -0.0562937 -0.00815077 0 0 -0.151034 0 -0.0081785 -0.208337 0.0188853 0 0 0.004327 0.00691209 0 0.00647704 -0.059932 -0.01236 0.206633 0.0590577 -0.00148271 0 0.014787 -0.0496864 -0.100893 0.0349178 -0.140206 0 0 0 -1.4557 0.153902 -0.434177 -0.0305265 0.062988 -0.142709 0.00289542 -0.00762803 0.0194953 -0.0552094 0 0 0 0 0 0 -0.0810729 0 0.0602752 0 0 0 0 0.0759186 -1.03239 0 0 0.0469226 0 -0.0152346 0 -0.101875 0 0 0.497537 0 -0.608628 0.0434069 -0.0216288 0.0600439 0 0 -0.690683 0 -7.4728 0 -0.097789 -1.19653 0 0.485062 -0.75616 -0.017233 0 0.010565 0 0 -0.162263 0 -3.32908 0.886771 0 0 0.10574 0 0 0.285113 -2.30241 -0.0993614 0 0.187595 0 -0.0201418 -0.0179904 0.0217735 -0.145352 0.0929575 -0.235866 -0.0500672 -0.244632 0.980646 4.93756 -0.0195811 0 0 0 -0.324749 0.0704768 0 0 0 0 0.411815 -10.5452 -1.88987 -1.54853 -0.0269559 -0.0117817 -1.18663 -0.06688 0.0492204 -0.102342 -0.410499 0 0 0 0 0 0 +97 0 -0.152816 0.144664 0.0231756 0.154646 -0.295692 0.171486 -0.624615 -0.0799519 0.234534 0.116496 -0.19697 -0.523536 -0.000683963 -0.812555 -0.000247965 0.676509 2.01471 0.123127 -0.0167578 -0.793146 0.0384051 -0.208063 0.00228778 0.0656113 -0.507205 0.407485 0.0209236 -0.554537 -0.00194596 0.0157422 0.0235914 -0.00618158 -0.0126514 0.33945 -0.442308 -0.0203157 0.0754512 1.55269 -0.148991 0.168723 -0.00509358 1.22826 -0.0121166 -2.55306 -0.0250879 0.524999 -0.231686 -0.117877 0.00208947 0.376446 0.406699 1.22017 0.111166 0.0327689 0.0434358 1.86245 0.650615 -0.255942 -0.269513 -0.00607745 1.7017 0.923135 -0.887183 0.0785816 -0.158864 -0.217549 -0.405101 -0.165915 -0.0530203 -0.398179 0.526038 -0.00261384 -0.327322 0.136571 0.0218519 -0.0691811 -8.32464 -2.72275 -0.344524 -1.25024 0.829227 -2.26196 -0.672988 0.487265 -0.332399 -0.795364 0.00610105 0.01779 0.000676671 0.00258807 6.82664e-05 0 0 0 0 0 0.0231756 0.154646 0.00440615 0 0 0 0 0.000385631 0 -0.00607633 0 0 0.00427297 0.00745881 -0.0124003 0 -0.000787558 -0.00481436 -0.0942646 0 0 -0.0437809 0.000530736 0 -0.0109078 -0.0237383 0 0 -0.00278945 -0.000857921 0 -0.0227365 0 0.00102565 0 0 0.000475768 0 0 0.106245 0.00538593 0.0599696 0 0.061595 0.0447628 0 0 -0.0773454 0 0.0090032 -0.0768677 -0.0168008 0 0 -0.00872654 -0.00760909 0 0.0110177 0.0282311 0.0163366 0.068712 0.0127025 -0.0157721 0 0.0106544 0.0303673 0.0104819 -0.00405425 -0.025121 0 0 0 -0.292696 -0.0669394 0.113135 -0.00976218 0.0148158 -0.0264388 -0.00550067 0.00825488 -0.0145611 0.0263209 0 0 0 0 0 0 -0.295692 0 0.171486 0 0 0 0 -0.407473 0.632332 0 0 -0.0284489 0 0.010698 0 0.0284686 0 0 -0.41125 0 -0.382983 0.02493 0.226072 -0.0585027 0 0 0.150903 0 1.23508 0 2.16598 0.250815 0 0.276426 0.170668 0.036438 0 -0.0471035 0 0 0.0889155 0 -0.0164519 -0.678197 0 0 -0.0823822 0 0 0.0943322 0.642384 0.371144 0 0.383525 0 -0.219427 0.171649 -0.218068 -0.0465983 -0.0912398 -0.0392535 0.351705 0.0877842 -0.328968 5.17183 0.0638452 0 0 0 -0.031124 0.00890725 0 0 0 0 -0.0667733 -10.3808 -0.11582 -2.43913 -0.460288 0.542171 -1.90234 0.0301661 0.0375748 -0.0630841 -0.208611 0 0 0 0 0 0 +98 0 -0.467531 -0.3134 -0.110501 -0.0276116 0.209551 0.0398845 -0.10724 -0.367398 -0.715191 0.824687 0.101077 0.156687 0.200151 -0.420524 0.141227 0.642989 2.6719 0.576177 0.830189 -0.187658 0.430066 0.745443 -0.270539 0.664322 0.000337986 -0.0480273 0.180847 -0.0215299 -0.425277 -0.0615603 -0.473721 0.260615 1.66996 0.36816 -0.0189736 0.0383064 1.59539 3.67529 0.424458 -0.0112292 0.283374 3.18586 0.118084 -0.34882 0.257452 0.00641612 -0.0972454 1.54043 -0.260702 -0.386644 -0.503963 -3.91814 -0.934868 0.841248 -0.282751 -0.344979 0.605389 0.270422 -0.73127 -0.378913 0.297882 -0.0621543 -0.140109 -1.55724 -0.633339 0.0205086 2.24369 2.51595 0.64272 -0.604237 0.80697 0.3146 -2.30618 0.22562 0.0901858 -0.684251 -26.2209 -8.85803 0.434705 -8.58725 1.46621 -0.436623 -2.24016 0.0324439 0.0953729 0.399947 -1.10419 -0.671304 0.775854 -0.619114 0.449742 0 0 0 0 0 -0.110501 -0.0276116 -0.038015 0 0 0 0 -0.0232259 0 0.0314939 0 0 -0.0123608 -0.125779 0.144642 0 0.0229743 0.597522 0.148784 0 0 0.541795 -0.00913569 0 0.545473 0.74689 0 0 0.0721346 0.770068 0 0.722171 0 0.348928 0 0 0.0510403 0 0 0.989906 -0.319795 -0.169835 0 -0.522623 -0.0679946 0 0 -0.0737198 0 -0.0826354 0.451976 0.117313 0 0 0.0275008 0.0622163 0 -0.040388 0.191686 -0.083682 0.539063 0.0228712 0.0536037 0 -0.113722 -0.131773 0.514171 -0.220007 -0.127389 0 0 0 -4.20425 0.535744 -0.768962 -0.0983612 0.187672 -0.402244 0.0168027 -0.0320317 0.0686604 -0.0589912 0 0 0 0 0 0 0.209551 0 0.0398845 0 0 0 0 -0.010239 0.227832 0 0 0.320567 0 0.0431104 0 0.00561678 0 0 0.00899396 0 -0.0708401 -0.0485094 0.0300189 0.00554987 0 0 0.0632751 0 -1.1842 0 1.25958 -0.0432623 0 -0.401455 0.198095 0.00512223 0 -0.00252766 0 0 0.0198654 0 -0.242194 -0.129592 0 0 -0.00628402 0 0 -0.0608931 -0.263662 0.0405096 0 0.64284 0 -0.145064 -0.0632336 0.0593461 -0.205818 0.0807576 0.412009 -0.0721298 -0.0936245 -0.388104 -1.31109 0.0255687 0 0 0 0.121628 -0.0201083 0 0 0 0 -0.121347 -9.0089 -1.75344 1.00212 -0.562542 0.290144 -0.373063 -0.185385 0.115629 -0.211307 0.269167 0 0 0 0 0 0 +99 0 -0.365481 -0.496609 -0.381518 -0.344192 0.3127 0.108946 -0.61707 -2.88729 -1.10259 4.79747 0.0691524 0.994303 0.663367 1.4652 0.104639 -1.38036 -7.21709 1.41002 0.314704 0.12786 0.806968 0.714116 -0.834344 2.32003 -0.425076 -0.485447 -0.706219 -0.0254141 -0.327027 0.425409 -1.12413 0.164323 1.78214 -1.16553 -0.0333242 -0.000374356 -1.56286 4.31552 -0.0588784 0.00852622 1.01108 -3.44192 -0.188431 3.52104 1.28638 -0.00105859 -0.103259 0.386734 0.21395 -0.314246 1.35268 2.03282 -0.285945 0.361164 -0.167384 -3.39834 -1.16232 -0.00306017 -2.83042 -1.18903 2.92815 0.0556854 -3.11968 1.86524 0.74276 -0.60654 -2.72884 -1.98972 0.939646 -5.37353 1.1789 0.0544741 1.43595 -0.841524 0.107837 2.09114 -29.5731 -24.0149 10.1773 -14.6439 5.03228 -1.61824 -11.8196 4.76598 -3.90729 4.18493 -5.51716 1.32008 0.0211022 -0.272363 0.34584 0 0 0 0 0 -0.381518 -0.344192 0.00474627 0 0 0 0 0.00143342 0 -0.0184043 0 0 0.00455862 -0.0752654 0.152672 0 0.0126159 -0.51839 -0.134341 0 0 -0.0992895 -0.00544292 0 -0.27765 -0.761434 0 0 -0.00369315 -0.446797 0 -0.786547 0 0.0528957 0 0 0.0244583 0 0 -1.46356 0.0194606 0.0604458 0 0.0633261 -0.092508 0 0 0.312416 0 0.038285 0.101926 -0.0758005 0 0 -0.00612504 0.00864041 0 -0.012985 0.000579001 0.0146626 0.372869 -0.236092 0.0463372 0 -0.0128641 0.1581 -0.265864 0.203696 0.504507 0 0 0 6.36863 -0.361603 0.903112 0.149105 -0.284057 0.60571 -0.00466086 0.00841384 -0.0181948 0.0390788 0 0 0 0 0 0 0.3127 0 0.108946 0 0 0 0 -0.103709 -0.730414 0 0 0.552114 0 0.0799335 0 -0.00814896 0 0 -0.0239496 0 0.161222 -0.0784301 0.0750129 -0.00587924 0 0 -0.0435149 0 -3.45879 0 0.39086 -0.00443153 0 -0.643035 0.341027 0.0135162 0 -0.0142612 0 0 -0.100373 0 -0.423557 0.286074 0 0 0.0163153 0 0 0.0619559 -0.573512 -0.600108 0 0.121836 0 0.595303 -0.367672 0.429134 -0.897611 -0.0942254 0.72952 -0.547301 0.333492 0.804333 4.74997 0.104489 0 0 0 -0.0323343 -0.240778 0 0 0 0 0.19581 -0.326818 -3.47204 4.65634 -1.19599 1.23101 -0.458215 -0.526671 0.481694 -0.478888 0.540655 0 0 0 0 0 0 +100 0 -1.32565 -0.859246 -0.152719 -0.0965437 -0.130079 -0.0106337 -0.221347 0.93398 -0.696177 -0.30295 -0.117006 0.243052 0.270421 0.163481 -0.0728991 -2.89841 -10.4523 0.332973 -0.397151 0.349735 0.232995 0.739317 -0.351692 -0.0501738 0.0369306 -1.02423 -0.201655 0.0178888 0.490348 -0.0693671 -0.543404 -0.167682 2.11902 -0.583723 -0.125232 -0.0707437 -0.757591 8.0069 -0.658119 0.0606451 0.396455 -2.36012 -0.406632 1.52325 0.433412 0.00506479 0.0956603 -0.890739 0.696175 0.0554573 0.880209 5.91658 0.410873 -0.453106 0.147036 0.12811 -0.747641 -0.199825 0.188557 -0.493022 -0.199506 -0.0711992 -4.98556 1.77623 0.05292 0.304913 -3.45247 -0.788959 0.6138 2.81614 -0.264233 -0.474174 0.460934 0.140642 -0.0268376 -0.44822 -41.2527 -4.0919 -6.6075 -9.33162 7.24947 -13.7835 0.778662 0.971354 -1.84601 -1.2882 -1.85886 1.81353 -1.2807 0.803055 -0.518557 0 0 0 0 0 -0.152719 -0.0965437 -0.025177 0 0 0 0 -0.0141103 0 0.0397968 0 0 -0.00748197 -0.0946799 0.282724 0 0.0277205 0.14929 0.385458 0 0 0.253116 -0.00686967 0 0.683796 -2.09674 0 0 0.016324 -0.342201 0 1.36625 0 0.147329 0 0 0.0162124 0 0 2.91702 -0.194433 -0.103757 0 -0.348028 0.128116 0 0 -0.730094 0 -0.0412623 -0.610883 0.124634 0 0 0.0141964 0.0497284 0 0.0213609 -0.0848744 -0.0150252 1.50675 0.444451 -0.0615536 0 0.0254719 -0.334943 -0.110249 0.238112 -0.94794 0 0 0 -12.0605 0.708825 -2.05815 -0.282708 0.539247 -1.1603 0.00968793 -0.0184569 0.0399312 -0.147626 0 0 0 0 0 0 -0.130079 0 -0.0106337 0 0 0 0 0.0805991 -0.571479 0 0 0.171892 0 0.0216945 0 -0.0163343 0 0 0.115594 0 0.30003 0.0456279 0.0234575 0.0118756 0 0 -0.105872 0 -4.36392 0 4.91814 -0.262113 0 0.463052 1.14996 0.00430727 0 0.00844338 0 0 -0.0812696 0 -0.786896 0.414321 0 0 0.0448163 0 0 0.170802 -2.61635 0.199661 0 -0.458206 0 0.814147 -0.202027 -0.0102733 -0.133463 0.0291146 0.249718 -1.15728 0.0540949 0.359498 4.56706 0.0951017 0 0 0 -0.244245 -0.0492869 0 0 0 0 0.200589 -36.3338 -3.41974 -3.21413 -1.84981 1.58843 -3.92341 -0.0995319 0.084004 -0.258751 -0.292683 0 0 0 0 0 0 +101 0 0 0 -0.352155 0.115963 0 0 0 0 -4.65427 0.745299 0.388132 0 0.660747 0 0.15976 0 0 0.325674 -0.169584 0 0.123848 0 -0.780055 0.299235 0 0 -0.556581 0 0 0 -1.36313 0.0127236 0 -1.2437 0 0.0760689 -2.70194 0 0.585473 0 1.01725 -7.72675 -0.076781 0 0.75173 0 0 -1.1295 0.785454 0 1.28939 0 0.00497619 0.171672 -0.265436 0 -1.12469 -0.470906 -0.871333 -1.99534 0 0 0 0 1.33358 0 0.684136 -2.99727 1.43551 0.148628 0.508186 0.322142 3.54922 0 0 1.39125 0 -2.83613 0 -0.689282 -1.09402 0 -2.25072 0.435271 -0.8623 0 -3.01084 -1.37776 1.36737 -1.56709 0 0 -0.149782 -0.0142225 -0.0361297 -0.0334569 -0.352155 0.115963 0.00174826 0.0442378 0.180649 0.000252044 0.00808486 0.00465454 -0.000413517 -0.0166904 -0.0120415 0.00343458 0.00287214 -0.0792841 0.0449274 -0.172369 0.0238921 -1.65851 -0.130917 -0.00078167 0.170695 -0.911016 -0.00326048 0.00474827 -0.277452 -8.02615 0.0627293 0.00311858 -0.037651 -3.553 0.0253357 -0.877425 0.0160018 -0.441655 0.0192731 0.02279 -0.0410867 0.0429172 0.000346954 -2.25727 0.0803365 -0.0606913 0.00207061 0.0499676 0.0980251 -0.00721828 0.0100045 -0.868988 0.00616054 -0.0154179 2.94148 0.126619 0.034587 -0.0505653 -0.0137361 -0.0176939 0.0635781 -0.0215264 -0.508452 0.0905652 8.97952 0.129244 -0.0690747 -0.023995 0.147614 0.0937135 -0.0391248 0.380085 0.899167 0.03176 0.0660082 -0.00790208 21.1711 0.873884 1.77777 -0.0957523 0.122363 -0.106168 -0.0202704 0.00467411 -0.0178553 -0.0214389 -0.00377684 -0.00107944 -0.00644386 -0.00599507 -0.0104492 0 0 -0.0361297 0 -0.0334569 0 0 -2.21163 0 -2.70499 -0.0422204 0.00478253 -1.05475 0.00224583 -0.201066 -0.330602 -0.0435013 -0.0308779 -0.666831 0 0 0 0 -0.517596 0 -0.0688153 0 -0.341929 0 0 -0.0229561 0 0 -0.0475316 0 0 -0.0981043 -0.0116574 0 -0.0235057 0 -0.47723 0 0 0 -0.00246034 -0.0621583 0 0 -0.250688 0 0 0 -0.152447 0 0.843402 0 -0.157543 -0.0363776 -0.0555535 0 0 0.487581 0.0417144 -0.54999 0 0.025486 0 0.0318663 0 -0.410054 0.196527 0.173162 -0.114009 -0.195481 -0.0640574 0.386329 0 3.55649 0 3.78312 -0.302019 0 1.87174 -0.645298 0.466418 0 1.15287 -0.401549 0.411151 -0.0519434 0 0 +102 0 0 0 -0.400499 -0.730465 0 0 0 0 -5.45879 2.82077 -0.166031 0 0.303232 0 -0.227648 0 0 0.391477 -0.234826 0 0.0858834 0 -0.789026 0.185672 0 0 -0.529899 0 0 0 -1.8897 -0.76387 0 -1.22325 0 -0.0711983 -2.36413 0 0.255615 0 0.80753 -5.96591 0.0232166 0 3.12241 0 0 -1.66827 0.468371 0 1.13969 0 -0.11083 -0.962087 0.853479 0 -0.583308 -0.163352 -0.719662 -1.8825 0 0 0 0 1.66213 0 0.01881 -4.18982 3.48596 1.22944 0.250348 0.221718 2.53438 0 0 -0.424587 0 -5.21866 0 -4.96534 -0.326952 0 -5.93277 2.08377 -2.98562 0 -8.58359 2.07152 -2.40148 -0.100064 0 0 -0.499394 -0.0474198 0.0210796 -0.0319104 -0.400499 -0.730465 -0.0214572 -0.0999117 0.585441 0.000900033 -0.017323 -0.00817415 0.0410452 0.0338141 -0.0357104 0.0126514 0.0503782 0.119422 -0.0888643 -0.485799 -0.00981918 -0.469702 -0.0703179 -0.0023855 -0.522577 -0.0262737 0.00944462 -0.00257519 -0.0936825 -3.28673 -0.0951859 0.0155655 0.00639762 -1.17957 0.0735419 0.0197217 0.0524595 0.292031 -0.0172773 0.173604 0.0510419 0.167134 0.00340259 0.318004 -0.179716 0.568412 0.00632506 -0.348845 -0.825267 -0.0460019 0.0464462 0.447338 -0.0260306 -0.0622878 -2.26673 0.027331 0.0939888 -0.132629 -0.0934123 0.0207751 0.186873 0.162266 0.365337 -0.120171 4.53686 -0.454762 0.0124796 0.0167163 0.0517307 -0.0561747 0.473431 0.389409 -0.455903 0.0745512 -0.121568 -0.0243802 -2.98258 -3.45672 0.165798 -0.699741 -0.514526 0.419892 -0.0948602 -0.068744 0.00202018 0.0549336 -0.0128051 -0.0098093 -0.0107713 -0.0143103 0.0158556 0 0 0.0210796 0 -0.0319104 0 0 -0.878565 0 0.259265 0.145587 0.0279429 1.38979 0.0234266 0.232503 -0.0924476 0.0137634 0.0476387 0.850987 0 0 0 0 0.365007 0 0.137557 0 0.016572 0 0 -0.0673067 0 0 -0.010637 0 0 0.0696818 0.0013417 0 0.00700756 0 0.157676 0 0 0 0.00682807 -0.00889844 0 0 -0.0507626 0 0 0 -0.327818 0 0.388046 0 -0.281681 0.303192 -0.190817 0 0 0.0320153 0.0971916 -0.88134 0 -0.278694 0 -0.135371 0 -0.276186 -0.17608 0.129543 -0.259258 0.0238062 0.0424238 -0.255611 0 -5.26066 0 -3.06476 0.244137 0 -1.5911 0.547417 -0.463141 0 -1.42274 0.5913 -0.335059 0.0360748 0 0 +103 0 0 0 0.027516 -0.116923 0 0 0 0 1.20082 -0.512625 -0.131808 0 0.0450792 0 0.0128034 0 0 -0.125319 0.2207 0 -0.0134435 0 0.250294 -0.155653 0 0 0.0249599 0 0 0 0.685703 0.0728464 0 -0.000971974 0 -0.0297493 0.868714 0 -0.280474 0 0.0711985 2.27376 -0.0969495 0 0.202058 0 0 1.14501 0.10371 0 -0.605361 0 1.02858 0.612514 -0.469525 0 0.635411 -0.11592 0.444666 0.3572 0 0 0 0 -0.185103 0 -0.258552 0.768922 -2.54965 0.426588 -0.247579 -0.22645 -1.32939 0 0 -2.00821 0 2.72112 0 0.172762 0.448562 0 1.25493 -0.749524 1.11341 0 0.471308 -0.200565 0.315473 0.114217 0 0 -0.0628595 -0.00596881 -0.0236714 0.0256094 0.027516 -0.116923 0.0060869 -0.0900349 0.140321 0.000108953 -0.0140453 0.00200939 0.017419 0.095355 -0.00481727 0.00150529 0.0100691 0.0233181 0.200913 -0.0676061 0.0328738 -0.214796 0.502515 -0.000316298 -0.565466 0.00441008 0.00162746 -0.00775259 0.163555 0.407234 -0.178699 0.00511113 -0.135461 -0.174572 0.0106295 0.459326 0.0101304 0.0359027 -0.0380705 0.0813919 -0.0445334 0.0192911 0.00107691 1.49855 0.0347731 0.141968 0.000868809 0.122094 -0.194363 -0.0151176 0.0146963 1.47663 -0.0337526 0.0165735 1.77365 -0.0519787 0.0133798 -0.0184598 -0.0168217 -0.00790582 0.0354884 0.141036 0.00830338 -0.126059 7.56799 0.224639 0.0314189 0.0647129 0.031835 -0.263863 1.5029 0.0609484 -0.669145 -0.00227198 -0.151504 -0.00321162 -14.055 -1.36441 -3.1292 -0.151774 -0.425399 0.713204 -0.0145991 -0.0399712 0.0671695 0.050282 -0.00159635 -0.00418481 0.00636873 9.80739e-05 0.0297668 0 0 -0.0236714 0 0.0256094 0 0 0.294537 0 0.791771 -0.0309638 0.0736124 -0.0751752 -0.00523524 -0.0444577 0.0736096 -0.00577371 0.0946242 -0.182695 0 0 0 0 -0.0634938 0 0.542094 0 0.0848939 0 0 0.143886 0 0 0.0134087 0 0 -0.0182389 0.0043674 0 0.0175839 0 0.153853 0 0 0 0.0115608 0.0318762 0 0 0.0232988 0 0 0 0.101453 0 -0.223771 0 0.77978 -0.276667 0.869331 0 0 0.366159 -0.140299 0.403418 0 -0.082848 0 0.176442 0 0.168796 0.21509 -0.0545224 0.14786 0.0394036 -0.130019 -0.235774 0 1.32996 0 0.71162 -0.861536 0 0.379631 -0.303254 0.000533111 0 -0.0261553 -0.0499469 -0.00432608 -0.012814 0 0 +104 0 -0.167967 -0.0601262 0.34633 0.158126 -0.24275 -0.119082 0.523029 0.706444 0.693517 -1.77477 -0.0113248 -0.233525 -0.560211 -0.131214 0.176843 -0.684944 -4.9249 -0.600181 0.74917 -0.810152 -0.297742 -0.128528 0.698353 -0.635031 0.163344 -0.0795852 0.559091 0.00482274 0.233532 0.019918 0.832224 0.347174 -0.303186 0.973937 0.114057 0.0658917 2.27067 -1.74999 -0.29603 -0.237199 -0.750782 4.25625 0.141884 -1.7137 -0.597409 -0.0681217 0.0377158 1.50922 0.0367886 0.446263 -0.608946 -0.0566174 -0.751981 0.87266 -0.418082 -0.706133 1.01288 0.582268 0.707579 0.547831 -0.0344389 -0.280499 0.518103 0.121053 -0.302817 -0.444466 1.05564 1.68506 -0.479221 -1.05164 -0.00476922 -0.229184 -2.79648 -0.634773 0.174936 0.0822755 -0.639232 2.83638 -0.62388 3.80408 -0.744377 0.660841 2.53853 -1.3649 1.4485 -1.46871 2.28236 0.0577743 -0.182958 0.328858 -0.205726 0 0 0 0 0 0.34633 0.158126 0.00228569 0 0 0 0 -0.00195371 0 0.0178176 0 0 0.00470881 0.0560114 0.00694145 0 0.00323128 0.749137 0.0937746 0 0 0.315246 0.00296366 0 0.0414201 2.63782 0 0 0.0399189 1.40668 0 0.590946 0 0.261765 0 0 0.0368112 0 0 1.67028 -0.0368637 0.0891498 0 0.0435258 -0.214864 0 0 0.652132 0 0.00167563 -0.705056 -0.00713926 0 0 -0.01014 -0.00588268 0 0.0270417 0.144121 -0.00727727 -2.21057 -0.0567267 0.0475174 0 -0.011136 -0.0306885 0.127646 -0.106633 -0.0551135 0 0 0 -16.5227 -1.2252 -1.37515 -0.0800922 -0.06948 -0.143281 -0.00428119 -0.00374481 -0.00736159 -0.00927544 0 0 0 0 0 0 -0.24275 0 -0.119082 0 0 0 0 -0.0223636 0.185344 0 0 -0.576463 0 -0.0618405 0 -0.0106484 0 0 0.043026 0 -0.128308 0.027331 -0.0376881 0.00832235 0 0 -0.097213 0 -1.66137 0 -2.27568 -0.044489 0 0.217586 -0.628587 -0.00251574 0 -0.00567876 0 0 0.0201902 0 -0.286402 -0.332403 0 0 -0.0227472 0 0 -0.0914261 0.442675 0.0987957 0 -0.347348 0 0.326063 0.191405 -0.14515 0.0514836 -0.0284963 0.29742 -0.329866 0.0551254 0.247576 0.400258 -0.0424188 0 0 0 0.00097744 -0.0272054 0 0 0 0 -0.00165839 14.3192 3.07541 0.0388356 0.999907 -0.65323 0.928572 0.309437 -0.227123 0.277248 -0.106921 0 0 0 0 0 0 +105 0 -1.09458 -0.304431 -0.19365 -0.270577 0.0702304 0.0527487 -0.560306 -1.02551 0.788407 2.88118 0.17363 0.124734 0.246765 0.537765 0.240216 -0.600051 -0.802118 0.912345 0.80194 0.211466 0.411059 0.100426 -0.240636 1.03774 -0.3586 -0.297982 0.433877 -0.0417064 -0.506604 0.0509389 0.00741443 0.534206 0.286744 0.819255 -0.157149 0.047659 2.43257 2.66865 0.425372 0.0638645 0.288651 3.84269 0.0872729 1.74156 0.267751 0.0322692 -0.141454 1.71065 -0.475726 0.493138 0.780742 0.56876 -0.394452 0.712872 -0.210973 1.09849 0.833584 0.0676822 -1.20396 0.276164 0.804086 0.726265 -1.21358 1.03827 -1.32767 0.0603748 -3.19403 1.81804 -1.08152 -0.492657 0.250038 0.330912 -3.05058 0.494818 -0.0058865 -0.455613 -5.03582 -3.51025 0.859499 -4.30724 2.20587 -2.47154 -4.82921 2.25187 -1.67626 0.716527 -1.02292 -0.585004 0.849787 -0.617898 0.446283 0 0 0 0 0 -0.19365 -0.270577 -0.00159166 0 0 0 0 0.00254978 0 0.0604802 0 0 0.0123531 0.1023 0.147469 0 0.0303848 0.519433 0.299307 0 0 0.849271 0.00547662 0 0.778936 4.94123 0 0 0.0952479 1.75552 0 1.67883 0 0.269793 0 0 0.0274993 0 0 3.96584 0.0466794 0.22779 0 -0.0372515 -0.33881 0 0 1.37578 0 0.0123666 -0.633059 -0.0199407 0 0 -0.0245063 0.0141331 0 0.0725467 0.218466 -0.0400335 -4.55195 0.0062145 0.155749 0 -0.0555247 -0.064478 0.543047 -0.352412 -0.00341084 0 0 0 -40.8991 -2.97642 -3.5696 -0.199436 -0.156823 -0.484201 -0.00982612 -0.00725635 -0.0316677 0.00744659 0 0 0 0 0 0 0.0702304 0 0.0527487 0 0 0 0 -0.00130048 -0.633421 0 0 0.550483 0 0.0712896 0 -0.00116236 0 0 0.0927374 0 0.228279 -0.0184541 0.105218 0.0116695 0 0 -0.00513051 0 1.97765 0 2.91769 0.178168 0 -0.198193 0.803153 0.0154033 0 0.00292275 0 0 -0.0748293 0 0.620409 0.575671 0 0 0.0805322 0 0 0.0370738 0.137556 -0.0537871 0 -0.22848 0 0.389692 -0.276836 0.15955 0.0229988 -0.00825525 -0.375108 -0.267747 0.135168 -0.0382344 -1.36827 0.022601 0 0 0 -0.171708 -0.119336 0 0 0 0 0.211637 -16.9011 -2.84822 0.271259 -1.06067 0.78062 -1.21945 -0.380792 0.275897 -0.239447 0.0864762 0 0 0 0 0 0 +106 0 0.157581 0.0748182 0.0136391 -0.021818 -0.065533 0.0323821 -0.277848 -0.65946 0.130308 0.416296 0.063135 0.153766 -0.0288742 0.174873 -0.0107521 0.825236 4.17146 0.0222579 -0.0892307 -0.638376 0.000880078 -0.013883 0.0424144 0.113672 -0.0972791 0.219766 0.0805336 -0.0195493 -0.233552 0.0580814 0.0794162 -0.0464524 -0.127439 0.219606 -0.0263726 0.0314156 0.109431 -0.440397 0.209589 -0.102387 -0.0477498 0.243858 0.0916095 0.79304 -0.058442 -0.00293816 -0.0705269 -0.149935 -0.164976 -0.121391 -0.0371788 -8.11265 0.0339591 -0.0734699 -0.0170859 -2.83927 0.122562 -0.368668 -0.0310629 0.0880978 -0.751501 -0.0304541 -0.570561 -0.455334 0.0420139 -0.22019 0.0654368 -0.273022 -0.155151 -0.169434 0.0778061 0.091868 -0.371989 -1.39072 0.0776162 0.751601 3.99282 -0.420157 2.2523 0.452045 -0.551024 1.23144 -0.432365 0.115104 -0.062885 0.610521 0.223273 -0.450027 0.471876 -0.2908 0.205743 0 0 0 0 0 0.0136391 -0.021818 -0.000250189 0 0 0 0 4.92095e-05 0 -0.0313686 0 0 0.00149218 0.0151604 -0.0876374 0 -0.0156012 0.12434 -0.171003 0 0 0.377375 0.000809019 0 -0.0723852 0.912308 0 0 0.064599 0.359725 0 -0.121325 0 0.218614 0 0 0.0366425 0 0 -0.235634 0.000751204 0.0272803 0 -0.00615021 -0.0848092 0 0 -0.522635 0 0.00110964 -1.28174 -0.00597467 0 0 -0.00322391 0.00152144 0 -0.0375984 -0.389029 -0.0204113 -3.53212 -0.086863 0.0169772 0 0.00903687 0.0386577 -1.24245 -0.00834693 -0.119277 0 0 0 2.0998 -0.0366049 0.909823 0.00995242 0.00684469 0.0372327 -0.00127647 -0.00126081 -0.000948725 0.0116027 0 0 0 0 0 0 -0.065533 0 0.0323821 0 0 0 0 -0.0104273 0.37749 0 0 -0.0940739 0 -0.0143755 0 0.0114347 0 0 0.171405 0 -0.011445 0.0200883 -0.00336306 0.0237331 0 0 0.0881677 0 2.48599 0 0.0389009 -0.146865 0 0.151138 -0.0713019 -0.00203713 0 -0.000995748 0 0 0.0481773 0 0.096085 0.753759 0 0 0.109175 0 0 -0.089065 0.0314882 0.114015 0 -0.0445892 0 -0.250181 0.0773392 -0.0920406 -0.0206038 -0.144464 -0.269199 0.286597 0.0325598 -0.332057 -2.71511 0.110978 0 0 0 0.0596287 0.0235302 0 0 0 0 -0.113103 -1.22574 0.476542 -1.24564 0.0058667 0.0118853 0.00293655 0.0228443 -0.0125301 0.0320838 -0.0516481 0 0 0 0 0 0 +107 0 0 0 0 0 0.618044 0.400796 -1.90553 -3.85534 0 0 -0.779752 2.2837 0 3.7507 -0.140328 0 0 0 -0.159278 7.04203 0 0 0 0 -0.870912 0 0 -0.0758199 4.6649 1.25451 0 -0.575663 0 0 -0.611128 -0.107602 0 0 -2.22084 3.48988 0 0 -0.437064 7.59461 0 1.40156 1.25499 -0.37771 0.891945 -0.903494 0.911412 0 0.167954 -0.323301 -0.0523329 -0.548103 0.465027 -0.0660231 0 0 2.88724 -7.36493 0 0.18789 0.235397 -0.715174 0 0 0 0 0.346001 -2.19456 0 -5.00465 0.24271 0 0 0 7.13214 0 3.31865 -5.12332 0 1.20438 -2.69126 6.26219 0 1.25256 -2.95186 6.39827 -13.2648 0 0 0 0.246166 0.0548499 0 0 0 -0.0117159 0 0 -0.00271325 0 0 0.0260493 0 0 0 0 0.0719923 0 0.0171917 0 0.109071 0 -0.040395 0.165584 0 0.00271884 0 0 0.0715008 0 0.0247344 0 0 0 0 0.0640003 0.0134565 0 0.0108242 0 0 0 0 0 0 0 0 0 0 -0.0631832 0 0 0 0 0 0 0 0 0 0 -0.0294383 0 0 0 -0.0318411 -0.0165817 0 -0.0811395 -0.0390743 0 -0.0137964 0 -0.0362656 0 0 0 -0.12489 0 0 -0.081871 0 0 0 -0.00514104 0 0 0 0 -0.0061628 0 0.618044 0.246166 0.400796 0.0548499 -0.189195 -0.0723093 0.391676 -0.486783 0.129996 -0.0502359 -0.0263135 0.221114 -0.00732424 -0.0301813 0.0648542 -0.0392342 -0.0648164 -0.303391 1.40687 -0.973712 2.08243 -0.184495 0.431703 0.103661 -0.174117 0.0199267 -0.278681 -0.0234372 10.08 -0.103109 6.11575 3.81351 0.00945555 -1.02965 3.77079 0.0312062 0.00127547 -0.0959799 -0.00338053 0.315778 0.0028455 0.000218164 6.44568 0.713829 -0.00803811 0.0043196 -0.0312925 -0.141499 -0.0583291 0.113954 0.943157 -0.472259 0.0966199 -1.8612 -0.11173 -0.708084 0.00715865 -0.0776739 -0.499799 -0.241152 1.31599 -0.0263793 0.0454659 1.31494 3.59647 -0.0642897 0.946361 -0.187149 -0.0177591 0.212581 0.0566652 -0.00393305 0.102402 -0.167267 0.0174251 -0.00605017 -35.328 -4.81899 5.50487 -0.464564 1.42917 -1.93241 0.158901 0.21005 -0.360685 0.749992 0.133034 0.0940909 -0.209192 0.399426 -0.374824 0 +108 0 0 0 0 0 0.221426 -0.0154176 0.604975 0.935972 0 0 0.000321165 -0.0586662 0 1.07967 0.0301888 0 0 0 0.078847 6.85289 0 0 0 0 0.173085 0 0 0.143142 0.231454 0.00978403 0 0.190211 0 0 0.125265 -0.00696683 0 0 -0.441583 2.25719 0 0 -0.153807 1.91703 0 0.502067 0.155119 0.482073 0.302784 -1.18036 0.312968 0 -0.0994709 0.034659 -0.0860479 -0.103869 -0.0180668 0.0610587 0 0 -1.54089 -7.48901 0 -0.0741292 0.159236 -0.919936 0 0 0 0 0.00620309 -0.703717 0 -1.90863 0.516975 0 0 0 -1.13176 0 1.25018 -2.56185 0 0.462867 -0.576642 -0.538548 0 0.563523 -1.01162 1.88658 -1.34614 0 0 0 0.0250666 0.00558525 0 0 0 0.0276955 0 0 0.00320008 0 0 0.0177135 0 0 0 0 0.0987738 0 0.011658 0 0.150115 0 0.233008 0.035266 0 0.000882588 0 0 0.00166635 0 0.00451275 0 0 0 0 -0.0601763 0.00386147 0 -0.00612372 0 0 0 0 0 0 0 0 0 0 0.0704746 0 0 0 0 0 0 0 0 0 0 0.124367 0 0 0 -0.011969 -0.00100105 0 0.00744592 0.141462 0 0.0359189 0 0.0468651 0 0 0 -0.171887 0 0 -0.00190804 0 0 0 -0.00647963 0 0 0 0 -0.000143627 0 0.221426 0.0250666 -0.0154176 0.00558525 0.37232 0.0114313 0.0398836 0.908887 -0.184339 -0.00511541 0.00522698 -0.159401 -0.000745812 -0.0227832 0.00660397 0.00542606 -0.00898283 -0.0308937 1.19622 0.375131 0.0737736 0.243815 -0.0507544 0.143728 0.00197735 0.0969699 0.0585775 0.0045701 4.07435 -0.112073 0.368005 0.451919 0.000962839 1.45871 0.295906 -0.00708418 -0.00153559 0.154496 -0.0172119 0.427635 -0.0211167 0.017508 1.89582 2.22146 -0.000597073 -0.00997577 0.272976 0.0392801 -0.116056 -1.1518 1.28364 -0.00648382 0.0209329 -3.52041 -0.0113772 0.351772 -0.0437288 0.358276 0.303307 -0.0929801 1.55117 0.224143 0.100844 1.00021 -9.46824 -0.0143924 0.272647 -0.0707902 0.0864068 0.283397 0.0467043 0.0612069 0.0104274 -0.146051 0.0109681 0.0369576 -2.1258 0.208849 -3.28046 0.00854659 0.666508 -2.48863 0.0560648 0.163507 -0.137666 -0.796747 0.0135465 0.109287 -0.163464 0.236449 -0.525812 0 +109 0 0 0 0 0 0.138221 -0.214971 1.12623 1.2335 0 0 -0.190345 -1.56056 0 -2.77828 -0.0614734 0 0 0 -0.0224752 2.63934 0 0 0 0 0.678567 0 0 0.662939 4.048 -1.17922 0 -0.452154 0 0 0.567997 -0.0372114 0 0 -0.886421 0.593311 0 0 -0.194719 -2.95097 0 -0.362102 1.53823 -0.297229 0.365071 -1.90842 0.272154 0 0.010945 -0.0970224 0.163505 -1.26951 -0.86554 -0.224554 0 0 -0.524472 -3.41499 0 -0.272668 0.367478 -0.131763 0 0 0 0 0.19455 -0.782408 0 1.43035 -0.0182009 0 0 0 -3.56744 0 0.47701 -5.45458 0 0.345899 -1.61289 -2.09003 0 0.688014 -2.09357 3.67252 -10.9454 0 0 0 0.0916471 0.0204205 0 0 0 -0.03462 0 0 -0.00474054 0 0 0.0106805 0 0 0 0 0.0328115 0 0.00705146 0 0.0496738 0 -0.255803 -0.271238 0 0.000244866 0 0 -0.0296814 0 -0.026858 0 0 0 0 -0.0505706 -0.0015814 0 -0.00403086 0 0 0 0 0 0 0 0 0 0 -0.0185065 0 0 0 0 0 0 0 0 0 0 -0.047567 0 0 0 -0.0228429 -0.00499539 0 -0.00322454 0.108675 0 -0.0241134 0 -0.0970946 0 0 0 -0.0568784 0 0 0.0339863 0 0 0 -0.00195787 0 0 0 0 0.0025583 0 0.138221 0.0916471 -0.214971 0.0204205 -0.345432 -0.0217537 0.14582 0.00851306 -1.22387 -0.0187027 -0.0235824 -0.352847 -0.0027268 -0.058385 0.0241451 -0.0822215 -0.0462559 -0.112952 0.826716 0.599387 -1.27741 0.178912 -0.177926 0.0660313 -0.236465 0.0970381 -0.727817 0.0198037 -8.36202 -0.23239 -3.0433 -1.62933 0.00352028 -0.0953443 -1.95864 -0.0250731 -0.00165073 0.0892545 -0.0170933 0.639267 -0.136785 0.0118709 -3.69099 1.22747 -0.00511835 -0.0219456 0.131621 0.10124 -0.0971339 0.469375 -0.723205 0.0828089 0.101119 -1.56326 -0.0415967 0.599324 -0.283615 0.323708 0.131217 -0.0688787 -0.322644 -0.460152 0.0665066 0.151542 -8.53979 -0.35467 0.278369 -0.106933 0.112708 -0.271325 0.119016 0.0560927 0.038124 -0.0315627 -0.0168894 0.239699 17.5798 3.09933 -0.276257 0.993463 0.518976 -2.28461 0.154567 0.277748 -0.592839 -0.00099641 0.0495281 0.179207 -0.279717 0.393912 -1.26206 0 +110 0 1.07195 0.00864504 0.0643405 0.244612 -0.0157802 -0.219406 1.75967 3.27397 0.439353 -1.41093 0.372868 -0.919563 -0.0110692 -1.05371 -0.000363494 0.678608 5.16697 -0.124019 -0.0214165 -5.80583 -0.0173059 0.506791 0.0142903 -0.293272 0.839967 -0.210899 -0.0327662 0.150234 -0.906501 -0.523445 0.0849465 0.191867 0.730585 0.220716 0.563139 0.0565723 0.0740775 -1.1341 0.788081 -2.35163 -0.0657993 1.50121 0.132134 -3.09222 -0.340322 -0.984407 -0.189226 0.348885 -0.340033 1.05295 -0.807053 1.59263 0.0245429 -0.022494 0.084911 1.40999 1.09145 0.668445 0.478232 0.129668 -1.68433 3.53209 0.359451 -1.51079 -0.620149 0.208451 0.619891 0.224243 -0.141479 1.01346 -0.426094 0.700197 -0.239041 0.329916 -0.393167 0.30232 4.58377 2.83867 -3.69909 1.15512 -1.57532 3.3291 0.834785 -1.09937 2.039 -3.55732 0.190162 -0.359222 0.614332 -1.20649 1.92353 0 0 0 0 0 0.0643405 0.244612 0 0 0 0 0 0 0 0.00365864 0 0 0 0 0.00836177 0 0.000960463 0.0398378 0.0375799 0 0 -0.0945266 0 0 0.000995329 0.285278 0 0 -0.0140861 0.115989 0 -0.0200002 0 -0.02759 0 0 -0.00413664 0 0 -0.0634844 0 0 0 0 0 0 0 -0.0425749 0 0 -0.166681 0 0 0 0 0 0 0 -0.0180662 0 -0.45242 0 -0.00788781 0 0 -0.000566379 -0.103218 0 -0.0474324 0 0 0 0.145384 0 -0.0426392 0 0 0.00273593 0 0 0 -0.00161955 0 0 0 0 0 0 -0.0157802 0 -0.219406 0 0 0 0 0.0635911 0.963632 0 0 -0.73449 0 -0.0763657 0 0.0495962 0 0 -0.966744 0 -0.625367 0.0710143 -0.246609 -0.0787205 0 0 0.474425 0 -1.97991 0 -4.65733 -1.42376 0 0.404781 -1.62779 -0.0263717 0 0.0199758 0 0 0.0937949 0 -1.94435 -1.68797 0 0 -0.150285 0 0 -0.0810678 -1.11572 -0.0586159 0 2.27894 0 -0.792254 0.0988673 -0.0776611 0.820113 0.101019 -2.06008 0.296742 -0.169993 0.185416 5.98166 -0.247665 0 0 0 0.364657 0.140241 0 0 0 0 -0.163318 29.1572 6.37103 -3.59303 1.36996 -0.977621 1.45033 0.266403 -0.216905 0.30798 -0.214306 0 0 0 0 0 0 +111 0 -0.478703 0.684775 0.0263918 0.100337 -0.0400696 0.196312 -0.658728 0.268859 0.180219 -1.01014 0.316316 0.820241 -0.0045405 0.784569 -0.0109004 1.86655 4.7475 -0.0604862 -0.0495751 -0.362711 -0.0164985 -1.16244 0.00586176 -0.279525 -0.766115 0.916419 -0.0242334 -0.801144 -1.25603 0.686849 0.0348442 -0.00824141 -1.76117 0.0210009 -0.776842 0.0434074 -0.020167 -2.78905 0.337818 0.37389 -0.0269902 0.462594 0.0559999 -0.268528 -0.139597 0.622009 -1.15989 -0.186754 -0.144251 0.241846 -0.732229 -1.89392 0.0808817 -0.0741293 0.0507374 -0.02019 0.380958 0.567341 0.418135 0.0531885 0.892169 -0.813522 1.43758 0.202093 0.0492526 1.6136 0.268078 -0.0631254 -0.0580334 0.675544 -0.327322 0.163178 -0.0313269 -0.173491 0.699057 -0.0479694 9.77067 3.29996 -0.807838 1.12314 -1.12067 3.02293 0.789042 -0.706813 1.39855 -0.521946 0.0780025 -0.151416 0.499024 -0.871587 2.66521 0 0 0 0 0 0.0263918 0.100337 0 0 0 0 0 0 0 0.00546234 0 0 0 0 0.00305617 0 0.000883857 0.00947099 0.0123924 0 0 0.0507429 0 0 0.0323003 0.216292 0 0 0.00699329 0.0259369 0 0.144981 0 -0.000247709 0 0 -0.00011754 0 0 0.365883 0 0 0 0 0 0 0 -0.0722086 0 0 0.0262036 0 0 0 0 0 0 0 -0.000439114 0 0.267777 0 -0.00340187 0 0 -0.000698068 0.0490752 0 0.00157904 0 0 0 -0.837899 0 -0.0164441 0 0 -0.0157681 0 0 0 -0.000534065 0 0 0 0 0 0 -0.0400696 0 0.196312 0 0 0 0 0.278255 0.74634 0 0 -0.402383 0 -0.0399399 0 0.0245683 0 0 -0.438815 0 -0.481579 0.103559 -0.282134 -0.0387686 0 0 0.220292 0 0.00965071 0 1.05621 -0.198056 0 0.679641 -0.369149 -0.0299663 0 0.0336422 0 0 0.0788503 0 -0.333535 -1.17114 0 0 -0.101053 0 0 -0.0483965 1.93152 -0.0912808 0 2.01158 0 0.0857312 0.0735212 -0.000400961 0.515816 0.102196 -1.18895 0.566004 -0.0972702 -0.220896 5.99219 -0.164181 0 0 0 0.216665 0.105015 0 0 0 0 -0.161461 -7.69041 2.28109 -4.85952 0.285353 -0.0918154 -0.939478 0.130714 -0.0868928 0.0790131 -0.286011 0 0 0 0 0 0 +112 0 0.188827 -0.487886 0.0242602 0.0922333 -0.275055 -0.146701 0.20312 1.11551 0.165663 -0.90274 0.0902781 -0.330226 -0.00417377 -0.699765 -0.00693399 -1.68951 -6.42167 -0.160991 -0.0585576 -3.26939 -0.0189275 0.633035 0.00538831 -0.149879 0.254318 -0.658306 -0.025477 -0.113311 -0.986457 0.00513448 0.0320299 0.01738 0.848018 -0.111873 0.204042 0.0151093 -0.0035189 1.44739 0.0937806 -1.45135 -0.0248103 -0.244086 0.0246737 -3.25054 -0.128322 -0.466467 -0.51948 -0.276691 -0.0615215 0.124919 -0.636296 -6.33948 0.0968946 -0.0888054 -0.142819 0.299772 -0.989488 -0.777706 0.254401 0.0488925 0.916525 6.80283 0.765778 0.0375876 0.19411 1.08998 0.438448 -0.086094 -0.0533461 0.0929098 -0.502954 -0.134267 0.00539734 3.34169 0.693432 -1.82162 -11.9192 -0.800191 -4.23525 -0.261232 -0.0941306 -2.04837 0.478259 -0.663328 1.35982 -1.87461 0.0717024 -0.0786289 0.411746 -0.502532 2.09319 0 0 0 0 0 0.0242602 0.0922333 0 0 0 0 0 0 0 -0.00297685 0 0 0 0 -0.00113643 0 -0.000176547 -0.0084966 -0.0205171 0 0 -0.201015 0 0 0.00226891 -0.816506 0 0 -0.0299659 -0.108492 0 0.00154429 0 -0.0308527 0 0 -0.0046085 0 0 -0.000827154 0 0 0 0 0 0 0 -0.025488 0 0 -0.0974638 0 0 0 0 0 0 0 -0.0490889 0 0.225474 0 -0.000224176 0 0 -0.00555861 -0.111814 0 -0.00372133 0 0 0 0.00189424 0 0.023498 0 0 3.56471e-05 0 0 0 0.000884208 0 0 0 0 0 0 -0.275055 0 -0.146701 0 0 0 0 0.204229 0.298032 0 0 -0.461373 0 -0.0507006 0 0.0181012 0 0 -1.49171 0 0.745333 0.101577 -0.110007 -0.200582 0 0 0.168908 0 -4.52336 0 1.21816 0.0875626 0 0.887663 0.892409 -0.0116213 0 0.014262 0 0 0.0271516 0 -1.03348 -2.79537 0 0 -0.364765 0 0 1.57635 2.38295 0.206098 0 3.98011 0 0.843511 -0.0147763 0.00350299 0.700798 0.0286741 -1.1534 0.146545 -0.00372828 -1.07869 9.19888 -0.0717213 0 0 0 -0.333569 0.0939042 0 0 0 0 -0.0230148 -7.59135 1.65432 -4.3935 0.483489 -0.375839 -0.728938 0.246448 -0.190457 0.182927 -0.568655 0 0 0 0 0 0 +113 0 0.00411173 0.869319 -0.050394 -0.226705 0.230464 0.0457535 -0.00543854 -1.20166 0.0269255 0.847227 -0.0177621 1.67887 0.0127497 0.87884 -0.00182179 4.85972 9.11015 0.0457021 -0.00702844 0.768276 -0.0649012 -1.9679 -0.00224434 -0.0198136 -0.0545178 2.54514 -0.0806364 0.00814997 0.0546973 0.283251 -0.0078493 -0.0167792 -2.44991 -0.185898 0.091077 -0.00696089 0.0604958 -4.55901 -0.112406 0.142072 0.081328 -0.904914 -0.0533097 4.54295 0.429002 0.0246969 0.0329595 -0.00688342 0.140064 -1.19133 0.695185 -1.86377 0.172195 0.249674 -0.136604 -3.91578 0.291061 0.0277188 0.00897543 -0.194148 -1.42432 -0.439378 1.78117 -1.46955 0.289758 -1.27481 -0.823891 -0.346901 -0.128688 1.28477 0.161147 0.11532 0.227893 -1.37625 -0.135554 3.15979 20.794 0.701343 3.82231 0.732747 -0.165358 4.2152 -1.72173 1.06623 -1.26658 1.22929 -0.404172 0.0649453 -0.152356 0.0346982 -0.0322802 0 0 0 0 0 -0.050394 -0.226705 0.00143117 0 0 0 0 0.000545493 0 -0.0693268 0 0 0.00677729 0.0238806 -0.106414 0 -0.0159298 0.0569404 -0.471942 0 0 -0.102218 0.00141916 0 0.0390953 0.189996 0 0 -0.0288288 0.161867 0 0.132987 0 -0.0305657 0 0 -0.00684635 0 0 0.386792 0.00836179 0.1149 0 0.0107242 -0.0930204 0 0 0.109364 0 0.00353637 -0.0451294 0.0234307 0 0 -0.0115864 -0.00229828 0 0.0405964 -0.108227 0.0205006 1.21474 -0.118147 -0.103059 0 0.0119447 -0.182189 0.281718 -0.01649 0.283735 0 0 0 -2.75332 -0.377047 1.43536 0.0332777 -0.043662 -0.220465 -0.00748025 0.00996243 -0.0522745 0.333062 0 0 0 0 0 0 0.230464 0 0.0457535 0 0 0 0 0.0445732 -0.390707 0 0 -0.0313015 0 -0.0141357 0 -0.000958065 0 0 -0.000527866 0 -0.017409 0.0341124 -0.00892877 -0.000408389 0 0 -0.038428 0 1.25401 0 -0.343138 0.114948 0 0.188141 0.0220071 -0.00181368 0 0.0063466 0 0 -0.0192353 0 0.536796 0.0744718 0 0 0.00440672 0 0 -0.146605 -0.0927234 -0.0598297 0 -0.63513 0 -0.427841 -0.092367 0.0633928 -0.275701 0.0519632 0.417273 0.0161237 -0.000980966 0.57211 0.885484 0.00698762 0 0 0 -0.0487086 -0.028631 0 0 0 0 0.0983654 0.972798 -0.411973 0.148335 0.0344715 0.0521086 0.25728 -0.038295 0.0501437 -0.051477 -0.0982952 0 0 0 0 0 0 +114 0 1.41429 0.160819 0.0349255 0.168758 0.0478386 0.073613 -0.676353 -1.32284 0.191623 -1.4372 -0.0984496 2.34262 -0.000934046 0.282258 -0.0113617 2.42366 10.1279 -0.447134 -0.0419627 0.0337414 -0.036082 0.537004 0.00482111 -0.178277 0.0774431 0.204028 -0.12242 -0.0355991 -0.216097 0.171263 0.0310752 -0.0843503 -0.65925 -1.72221 -0.058035 -0.0149642 0.06934 -8.18411 -0.382602 0.0430747 -0.00287301 -2.50802 -0.0639742 3.92626 0.00875406 0.0195678 -0.107315 -0.334486 0.0567464 -2.04259 0.191729 -17.2025 0.0138853 -0.058444 0.0733376 -10.1871 -0.864647 -0.0409449 0.130489 -0.0674916 0.736979 0.162193 3.80536 -2.77821 0.78495 -0.220182 2.98872 0.0254725 -0.0977628 0.0164686 0.446406 -0.0868363 0.922347 -0.898323 0.151541 4.56132 34.1565 8.19845 2.97994 6.11285 -3.89711 11.1683 0.872903 -0.303188 0.53029 3.25769 -0.00824739 0.180473 0.0992119 0.106856 0.127532 0 0 0 0 0 0.0349255 0.168758 -0.00747045 0 0 0 0 -0.00102396 0 -0.0444872 0 0 -0.001324 0.00518695 -0.0465412 0 -0.00958888 0.0654261 -0.203791 0 0 0.176699 0.000353103 0 -0.0537305 1.87329 0 0 0.0246902 0.433419 0 -0.229527 0 -0.0130663 0 0 -0.00177446 0 0 -1.32411 -0.0172005 -0.0236974 0 -0.118467 -0.0695843 0 0 -0.180318 0 -0.00534083 -0.423427 0.00782818 0 0 0.000790147 0.0201426 0 0.012476 0.10085 -0.00117115 0.349418 0.0192908 -0.0428361 0 -0.0580267 -0.186653 0.26845 -0.0205023 -0.345125 0 0 0 7.10316 0.269952 1.11908 0.0564997 -0.0660079 0.684106 0.000656251 0.000301907 0.00180957 0.241095 0 0 0 0 0 0 0.0478386 0 0.073613 0 0 0 0 0.00126145 0.0289314 0 0 -0.208888 0 -0.0391861 0 -0.00770982 0 0 0.00264986 0 -0.070181 -0.0255262 -0.042515 0.00051654 0 0 -0.062216 0 1.78672 0 -1.73532 -0.105538 0 -0.0633912 -0.379699 -0.00878254 0 -0.00490752 0 0 0.0039534 0 0.0606237 0.201765 0 0 0.0261036 0 0 0.11147 1.04506 -0.0718336 0 -0.0878319 0 -0.904331 0.0504172 -0.0998125 -0.104613 -0.0526876 0.0820469 0.752184 -0.00241059 0.111339 0.183991 0.0623139 0 0 0 -0.0647355 0.0181028 0 0 0 0 0.0348475 21.2689 3.52311 -0.823752 1.70757 -0.933822 1.15896 0.219064 -0.151774 0.135262 0.257531 0 0 0 0 0 0 +115 0 1.25129 0.0887716 0.068673 0.302033 -0.0277818 0.0071051 -0.131653 -0.0632303 0.979406 -1.48273 -0.0513274 -0.192932 -0.00156606 -0.415438 -0.0072899 -0.647091 0.635614 -0.167427 -0.073742 -0.222753 -0.031358 0.280337 0.0191986 -0.404985 0.00426043 -0.500534 -0.0505133 -0.00430924 -0.095076 -0.122864 0.139524 -0.0398711 -0.619317 0.0817152 -0.0269895 -0.00638808 -0.238654 -5.82102 -0.230828 -0.0558889 0.000484727 0.658416 -0.0265089 -0.989399 0.125958 -0.0130589 -0.0182704 -0.463017 -0.113404 -0.612056 0.214133 -5.23385 0.351391 0.0945202 0.00712317 -4.22567 -0.36022 -0.370501 0.0625742 0.00137372 -0.654681 0.481722 1.01938 -1.9479 -0.750223 -0.411657 1.39243 0.704722 -0.253592 0.53356 0.445645 0.0670187 1.09933 -0.101628 -0.00940965 3.31566 19.8351 6.39818 -0.364945 3.75517 -2.04905 7.14715 1.46982 -1.0647 2.18623 -0.728204 -0.118668 0.112256 0.00761887 0.0654543 0.0561101 0 0 0 0 0 0.068673 0.302033 0.00372252 0 0 0 0 0.000302298 0 -0.00434551 0 0 0.00161575 0.00304852 0.0232376 0 0.000420489 0.0216353 0.074483 0 0 -0.0431089 0.000339035 0 -0.00379369 1.07964 0 0 0.00179634 0.181339 0 -0.00587801 0 -0.0307173 0 0 -0.00296989 0 0 -0.3279 0.00371557 0.0126586 0 0.0550829 0.0577054 0 0 -0.256228 0 0.00900749 0.251531 -0.0206532 0 0 -0.00555646 -0.00441523 0 0.0176176 -0.120213 0.00615412 -0.741397 -0.000121279 -0.0184404 0 0.0266606 0.0280085 -0.0195739 7.01975e-05 -0.00752853 0 0 0 0.359967 0.0498931 -0.436417 0.00936179 0.00455084 -0.115965 -0.00302952 0.00332741 0.0142443 -0.092114 0 0 0 0 0 0 -0.0277818 0 0.0071051 0 0 0 0 0.0473918 -0.252171 0 0 -0.69178 0 -0.0948462 0 -0.00825731 0 0 0.100181 0 -0.104866 0.0289399 -0.122751 0.00919112 0 0 -0.0621815 0 0.436747 0 -2.43468 -0.0439197 0 0.307665 -0.491875 -0.0172686 0 0.00410344 0 0 -0.0426207 0 -0.14431 0.695868 0 0 0.0603299 0 0 0.245773 0.811718 0.177673 0 -0.406639 0 -0.595199 -0.0193559 -0.162494 -0.0261453 -0.0566209 -0.340935 0.455293 -0.0225299 0.436165 0.151696 -0.041527 0 0 0 -0.0739178 0.00989828 0 0 0 0 0.0111487 22.2922 6.25883 -2.68309 1.77535 -1.05806 1.3321 0.455441 -0.328147 0.490597 -0.369178 0 0 0 0 0 0 +116 0 1.17903 -0.0496002 0.0769302 0.258664 -0.176144 -0.262419 1.47415 2.63839 0.504937 -1.60317 0.36619 -2.27121 -0.0158369 -2.14154 0.0273751 -0.833924 -0.9771 -0.144463 -0.0422307 -4.90142 -0.0386739 0.302381 0.0204453 -0.448583 0.394983 -0.375858 0.00980658 0.132554 -1.51308 -0.78239 0.109459 0.374395 -0.0592199 0.378145 0.463945 0.0673858 0.240905 -2.94338 0.810988 -2.07822 -0.0847869 2.0477 0.158551 -6.93643 -0.391122 -0.808687 -0.485832 0.324882 -0.395427 0.983287 -1.01464 4.45067 0.0492875 -0.0451728 0.0721747 4.02893 0.392181 -0.124126 0.648736 0.161965 -3.05197 4.13601 0.0511149 -0.582459 -0.603506 0.0358615 0.329316 0.379786 -0.176718 1.16609 -0.627219 0.716044 -0.466112 4.18702 -0.155828 0.0774543 14.0018 3.88482 -1.16078 1.12656 -1.16304 4.13394 1.19776 -1.1488 2.12258 -3.66561 0.258152 -0.464661 0.84865 -1.48649 2.70267 0 0 0 0 0 0.0769302 0.258664 0 0 0 0 0 0 0 0.00995951 0 0 0 0 0.0101026 0 0.00261521 -0.000557476 0.0409803 0 0 0.108434 0 0 0.0852225 0.430441 0 0 0.012906 0.0510036 0 0.214329 0 0.0202886 0 0 0.0022193 0 0 0.454334 0 0 0 0 0 0 0 -0.10593 0 0 0.0529454 0 0 0 0 0 0 0 0.0074399 0 0.152979 0 -0.0080479 0 0 -0.000417162 0.0861391 0 -0.0129463 0 0 0 -1.04046 0 -0.0497232 0 0 -0.01958 0 0 0 -0.00176609 0 0 0 0 0 0 -0.176144 0 -0.262419 0 0 0 0 0.156513 1.3911 0 0 -0.585907 0 -0.0550716 0 0.0648131 0 0 -1.71651 0 -0.844451 0.0613882 -0.187751 -0.186183 0 0 0.590511 0 -5.49696 0 -5.24801 -1.70967 0 0.536952 -2.00617 -0.0190637 0 0.0142029 0 0 0.153356 0 -3.16723 -3.22527 0 0 -0.364256 0 0 0.703201 -0.0559583 0.0751971 0 3.14632 0 -0.518338 0.175306 -0.0741177 0.405854 0.110318 -0.980214 0.44692 -0.170439 -0.806284 0.318589 -0.236708 0 0 0 0.244932 0.108452 0 0 0 0 -0.304379 33.8613 5.00337 -1.91908 1.1924 -0.912435 2.05421 0.193682 -0.161217 0.224537 -0.159573 0 0 0 0 0 0 +117 0 0.957836 -0.684777 -0.0128582 -0.0432335 0.297123 -0.204379 0.796119 0.387785 -0.084396 0.196492 -0.384296 -0.832025 0.002647 0.183389 -0.0327753 -1.6175 -2.09599 -0.0442865 -0.0347422 0.0256468 -0.013581 1.36714 -0.00341727 -0.0017305 0.92409 -0.871351 0.0121511 0.864076 1.11374 -0.59566 -0.0182952 -0.26971 2.30671 -0.116167 0.877043 -0.0552496 0.0446952 4.88459 -0.344649 -0.493479 0.0141714 -0.509341 -0.0549679 2.07031 0.0653728 -0.695104 1.12522 -0.361336 0.140616 -0.78039 0.0902719 -1.51374 0.0633993 -0.0581064 0.105115 -0.212552 -0.204729 -0.182714 0.0126333 -0.027071 -1.1089 0.787921 -2.5843 -1.79717 0.016419 -0.843373 -0.153805 -0.00553366 0.0295369 0.105551 0.18262 -0.307538 0.0316897 0.647028 -0.43426 0.237197 -11.024 -1.30914 -1.25551 -0.893074 1.47742 -4.23833 0.0433785 0.0928559 -0.425279 0.259594 -0.0431479 0.14667 -0.425936 0.868843 -1.98937 0 0 0 0 0 -0.0128582 -0.0432335 0 0 0 0 0 0 0 0.00172553 0 0 0 0 -0.00228057 0 2.44406e-05 -0.0358557 -0.011198 0 0 0.162195 0 0 0.0161246 -0.13857 0 0 0.0212035 -0.145086 0 0.0988014 0 0.0211581 0 0 0.00280945 0 0 0.263292 0 0 0 0 0 0 0 -0.0123987 0 0 0.227612 0 0 0 0 0 0 0 0.0279397 0 0.539545 0 0.00283769 0 0 -0.000597113 0.183167 0 0.0270521 0 0 0 -0.602959 0 0.0111999 0 0 -0.0113469 0 0 0 0.000482588 0 0 0 0 0 0 0.297123 0 -0.204379 0 0 0 0 -0.0900201 -0.424806 0 0 0.334261 0 0.0377185 0 -0.0297841 0 0 0.795383 0 0.91402 -0.0162798 0.279762 0.10411 0 0 -0.273467 0 5.11066 0 2.98389 0.619756 0 -0.253462 1.87776 0.0313863 0 -0.010375 0 0 -0.0458241 0 1.70594 2.11139 0 0 0.243949 0 0 -0.243238 -0.134082 0.0349892 0 -1.0492 0 0.371909 -0.137401 0.0447177 -0.426184 -0.0324803 0.252267 -0.350984 0.012783 0.209971 0.279733 0.0686611 0 0 0 -0.124442 -0.043706 0 0 0 0 0.0806475 -10.4316 -1.75725 1.84778 -0.139768 0.00980356 0.336802 0.0113763 -0.0173589 -0.00784397 0.166694 0 0 0 0 0 0 +118 0 0.626828 -0.143344 0.0318597 0.107123 -0.0920623 -0.00833135 0.81005 1.51196 0.209114 -0.640691 0.257428 0.611157 -0.00655866 1.41749 0.0208808 -0.363415 3.18585 -0.0980823 0.0267172 -1.39327 -0.0275453 0.525753 0.00846719 -0.211526 0.364748 -0.429517 -0.0196335 0.0471019 -0.642635 0.274459 0.0453313 0.225152 0.843818 -0.0621373 0.211946 0.0423076 0.0602151 1.27438 0.53042 -0.506247 -0.0351135 0.450884 0.0921499 3.32819 -0.161979 -0.210803 -0.090656 0.459253 -0.233103 0.0197869 -0.336148 -1.52092 -0.0553486 0.0507279 0.188397 2.05448 0.666163 0.971896 0.282169 0.0670757 0.0715563 -2.50741 -0.719059 -0.754403 0.0723419 -0.00642643 0.299798 0.0516622 -0.0731856 0.432526 0.0634786 0.611218 -0.139154 -1.08765 -0.697584 -0.683097 -5.86381 -0.367554 -1.98858 -0.299864 0.404994 -2.85368 0.567245 -0.567595 0.586732 -1.68942 0.106911 -0.256641 0.356742 -0.79744 1.14788 0 0 0 0 0 0.0318597 0.107123 0 0 0 0 0 0 0 -0.000736874 0 0 0 0 -0.00115422 0 0.000421198 -0.0277138 -0.0222377 0 0 -0.0971275 0 0 0.0382566 -0.602534 0 0 -0.0143047 -0.132962 0 0.10188 0 -0.0109347 0 0 -0.00175605 0 0 0.221029 0 0 0 0 0 0 0 -0.0565973 0 0 -0.00538685 0 0 0 0 0 0 0 -0.026832 0 0.641919 0 -0.000327654 0 0 -0.00618552 0.02174 0 -0.00823188 0 0 0 -0.506172 0 0.0241012 0 0 -0.00952546 0 0 0 0.000958357 0 0 0 0 0 0 -0.0920623 0 -0.00833135 0 0 0 0 0.158923 0.454071 0 0 -0.502381 0 -0.0562303 0 0.0264056 0 0 0.865593 0 0.728929 0.0150383 -0.139897 0.117476 0 0 0.258403 0 11.15 0 -0.584473 1.14876 0 0.338829 0.58395 -0.0153312 0 0.00157191 0 0 0.0408896 0 4.0469 1.77179 0 0 0.244694 0 0 -1.51984 -0.463933 0.0328818 0 -1.81883 0 0.151731 0.0480637 -0.0597633 0.56768 0.0943676 -1.28512 -0.155286 -0.0428754 0.71129 -1.75539 -0.133632 0 0 0 0.50617 0.0951048 0 0 0 0 -0.0770658 6.29172 1.81584 -0.504093 0.539505 -0.422154 0.00501854 0.189106 -0.140874 0.128893 -0.142001 0 0 0 0 0 0 +119 0 0.467132 0.585521 0.0188532 0.15931 -0.120753 0.0776699 0.200718 1.16864 0.151362 -1.18621 -0.0310046 0.419971 -0.000691632 -0.960354 -0.0142587 0.95153 1.11845 -0.280512 -0.0413223 0.0779769 -0.0292451 -0.762484 0.000897205 -0.139014 0.0379838 0.615045 -0.0680806 -0.109863 -0.0366236 -0.0591291 0.0122939 -0.300179 -1.42084 -0.479003 -0.19585 -0.00589308 -0.319987 -4.22916 0.0466162 0.211321 -0.00913021 -1.49289 -0.000961281 -0.764455 -0.113682 0.192659 -0.0659545 -0.697635 0.00790632 -1.89515 -0.503701 -3.23844 0.0791402 -0.0516262 0.0666114 -4.23681 -0.858173 -0.253044 0.303465 0.019103 -2.2534 -0.116513 0.799951 0.892912 1.04444 0.571249 -0.242599 -0.567158 -0.0228547 0.71398 -0.593533 -0.138063 0.401139 -0.232423 0.017191 0.569679 17.1828 3.83422 1.14452 1.2162 -1.16023 5.10139 0.537688 -0.603116 1.38563 -1.49765 0.0106636 0.00675094 0.0503547 -0.0170648 0.0313375 0 0 0 0 0 0.0188532 0.15931 0.000497806 0 0 0 0 1.02705e-05 0 0.00541861 0 0 -2.15101e-05 -3.88627e-06 0.00323953 0 0.000571382 0.0134058 0.0311901 0 0 0.00193992 -2.82188e-07 0 0.0104093 0.423156 0 0 0.000322671 0.0919575 0 0.0406346 0 0.000856422 0 0 8.14448e-05 0 0 0.0619259 0.000141445 -0.000296235 0 0.00685575 -0.00694187 0 0 -0.0327281 0 0.00101917 -0.0712756 -0.00196204 0 0 4.40379e-05 -0.000861354 0 -0.00115572 0.00448204 -0.000422222 -0.225364 -0.00357955 -0.00351246 0 -0.000649543 0.00500508 -0.011744 -0.00300658 -0.0182734 0 0 0 0.0194746 -0.0146616 0.00493624 0.00863648 -0.0164681 0.0289432 2.83477e-05 -5.40535e-05 0.000116527 -0.000396547 0 0 0 0 0 0 -0.120753 0 0.0776699 0 0 0 0 0.172532 -1.18829 0 0 -0.746135 0 -0.0765598 0 -0.0704058 0 0 1.00372 0 -1.1272 0.0709457 -0.319996 0.145956 0 0 -0.652812 0 -2.15196 0 -5.61895 -0.75272 0 0.424823 -2.34733 -0.0347116 0 0.0300634 0 0 -0.128505 0 -1.5006 1.96309 0 0 0.282755 0 0 0.461774 -4.29125 -0.199767 0 -0.810909 0 0.573222 -0.38351 0.260356 0.690877 0.157315 -1.98608 -1.34176 -0.212851 -0.685429 -8.86914 -0.350768 0 0 0 -0.454958 0.175883 0 0 0 0 0.188655 31.1761 7.65035 -5.13751 2.12093 -1.51941 1.52041 0.341627 -0.262372 0.284714 -0.169584 0 0 0 0 0 0 +120 0 -0.18551 -0.145021 0.00245855 0.0257744 0.0909889 -0.0442523 -0.68838 -0.164255 0.0222456 -0.523469 -0.0272411 -0.602392 -8.20104e-05 -1.85196 -0.00101649 -1.16066 -7.39711 -0.0725635 -0.0105843 -4.67548 -0.00503236 -0.153803 0.000114257 -0.0861813 -0.131439 -0.102103 0.00604281 -0.329009 -0.638955 -0.143928 0.0016431 -0.0081985 -0.254588 0.0350231 -0.172198 -0.00252797 -0.0215231 0.328356 -0.0749648 -1.83552 -0.00101092 -0.108913 -0.00547258 -4.89863 -0.011218 -0.448476 -0.53082 -0.156172 0.0156243 -0.555867 -0.0859014 8.07776 0.0203881 -0.0160682 0.0356535 5.58636 0.0614369 -0.161857 0.146061 0.00208172 2.85876 7.3207 3.08758 0.484149 0.409538 1.30734 0.590669 -0.0994253 -0.00334093 0.474641 0.0920049 0.0198618 0.033642 4.54479 0.44301 0.140722 1.63221 1.23625 0.596627 -0.161475 0.602454 0.253996 0.400965 -0.393008 1.00557 -0.653404 0.00105226 0.00439781 0.0347668 0.0823047 0.546732 0 0 0 0 0 0.00245855 0.0257744 -5.38162e-05 0 0 0 0 -1.1111e-06 0 0.00163045 0 0 0.000111621 2.00663e-05 0.000303024 0 0.000137759 -0.00160854 0.000108012 0 0 0.0460019 1.45705e-06 0 0.00595628 0.0358835 0 0 0.0056777 -0.0149159 0 0.050093 0 0.00269656 0 0 0.000340884 0 0 0.143235 -1.5302e-05 0.00153723 0 -0.000741152 0.00151633 0 0 -0.0229933 0 -0.000110179 0.0466313 0.00030672 0 0 -0.000228523 9.3118e-05 0 0.000344987 0.0048465 0.000565929 0.156835 0.00199442 -0.00124198 0 0.000196256 -0.000967112 0.0460455 0.000256384 0.00267677 0 0 0 -0.335341 -0.00244076 -0.000171476 -0.00039208 0.000747621 -0.00760799 -0.000147103 0.000280496 -0.000604687 0.0010097 0 0 0 0 0 0 0.0909889 0 -0.0442523 0 0 0 0 0.0166755 0.0426871 0 0 -0.151255 0 -0.0187806 0 -0.00455162 0 0 -1.29308 0 0.0688861 0.103994 -0.0483508 -0.164215 0 0 -0.0270752 0 -7.27577 0 2.82872 -0.477578 0 0.464873 0.683196 -0.00573091 0 0.018349 0 0 -0.00477719 0 -2.31578 -2.54592 0 0 -0.323109 0 0 1.52766 2.3589 -0.0155634 0 3.69999 0 0.640064 -0.115246 0.104535 0.263519 0.00526898 -0.798946 0.319545 -0.0698087 -0.854086 9.8924 -0.0120237 0 0 0 -0.418893 0.0701828 0 0 0 0 0.0472358 -15.9726 1.30658 -4.34599 0.225581 -0.105121 -0.886857 0.18275 -0.14574 0.147309 -0.360596 0 0 0 0 0 0 +121 0 0.0812557 0.710795 0.0104139 0.0399973 -0.139997 0.294123 -1.47436 -0.719051 0.0595366 -0.691984 -0.214374 1.02094 -0.000460595 1.28673 0.00213618 1.4905 2.71951 -0.112426 -0.0140764 2.58893 0.00033416 -1.17921 0.000521928 -0.103778 -0.816092 0.944422 -0.00344957 -0.68861 -0.271853 0.754085 0.00640771 -0.0173548 -1.89251 0.0049849 -0.916816 -0.0138815 -0.0722893 -3.18283 -0.187402 1.41521 -0.00676861 0.101956 -0.0117859 1.6645 -0.0974242 1.05748 -0.523155 -0.258306 0.0260836 0.503642 0.0890284 2.25832 0.0333352 -0.0133455 0.0791986 -1.68254 0.614166 -0.0639879 0.124798 0.0144827 1.26766 -2.00941 1.32276 1.13645 0.0122007 0.903246 0.0936609 0.0467999 -0.00916249 0.197195 -0.0110862 0.0251005 0.0151346 -2.85975 0.37624 1.25335 12.1071 2.3701 2.71381 1.16316 -0.210838 1.89353 0.472489 -0.215809 0.453435 0.385958 0.00913852 0.0164484 0.0544314 0.101549 0.232616 0 0 0 0 0 0.0104139 0.0399973 0.00141601 0 0 0 0 2.92139e-05 0 0.00113304 0 0 1.12069e-05 1.95825e-06 0.00120516 0 0.000255929 0.00360609 0.00237565 0 0 -0.0982112 1.42191e-07 0 0.00555122 -0.06658 0 0 -0.0145901 0.00832189 0 -0.0102258 0 -0.00361572 0 0 -0.000575732 0 0 -0.141824 0.000402331 0.000154341 0 0.0195011 -0.0189711 0 0 0.0226739 0 0.00289901 -0.0929535 -0.00551812 0 0 -2.29441e-05 -0.00245011 0 -0.00286409 -0.00533672 -0.000545354 0.00857314 -0.0073294 0.00429033 0 -0.00143095 0.00953107 -0.0186006 -0.00569763 0.00124064 0 0 0 0.783835 -0.0437622 0.113921 0.0245804 -0.0468701 0.0960835 -1.47694e-05 2.81623e-05 -6.07116e-05 0.0021975 0 0 0 0 0 0 -0.139997 0 0.294123 0 0 0 0 -0.132573 0.640895 0 0 0.119257 0 0.0125267 0 0.0206333 0 0 -0.161186 0 -0.250658 -0.0204008 0.162539 -0.0193469 0 0 0.187734 0 2.47503 0 0.523578 0.288383 0 -0.114983 0.0603253 0.0172825 0 -0.0124222 0 0 0.0699266 0 0.567174 -0.325892 0 0 -0.0380795 0 0 -0.217041 -0.0997213 0.0415813 0 -0.0372356 0 -0.175277 0.160933 -0.117307 -0.366227 -0.0653885 -0.0146156 0.186347 0.0475218 0.220731 -0.64206 0.0268275 0 0 0 0.164433 -0.0312561 0 0 0 0 -0.108995 -1.7474 -0.178192 0.188516 0.622459 -0.426971 -0.605308 0.0552067 -0.0398078 -0.027151 -0.00305529 0 0 0 0 0 0 +122 0 0 0 0 0 -0.197764 0.296922 -0.828178 -2.2397 0 0 0.096876 1.8143 0 3.2535 0.238228 0 0 0 0.547102 2.68625 0 0 0 0 -0.450691 0 0 -0.758597 -5.15349 1.0085 0 0.64147 0 0 -0.208135 0.040608 0 0 0.734363 0.911173 0 0 0.195805 6.53066 0 0.668398 -1.59506 0.865547 -0.264598 4.31446 -0.522467 0 -0.642363 0.575457 -0.68772 -3.74818 -1.60177 -0.947983 0 0 -0.0207543 -0.531229 0 -1.70262 -1.32736 -0.0225349 0 0 0 0 0.230304 0.861873 0 -1.89413 1.35187 0 0 0 3.23701 0 -0.723607 6.58511 0 -0.276659 1.30195 4.28436 0 -0.493794 2.20879 -4.61595 16.1079 0 0 0 -0.168991 -0.0427173 0 0 0 -0.0141584 0 0 -0.0025635 0 0 0.0140269 0 0 0 0 0.116534 0 0.0249369 0 0.0667901 0 -0.0741729 0.0580458 0 -0.00361011 0 0 -0.204343 0 0.0131938 0 0 0 0 0.0662852 -0.0284956 0 0.0157807 0 0 0 0 0 0 0 0 0 0 -0.0435461 0 0 0 0 0 0 0 0 0 0 -0.338478 0 0 0 -0.0334463 -0.0500217 0 -0.0245521 -0.279108 0 0.109841 0 -0.269732 0 0 0 -0.0878558 0 0 0.192929 0 0 0 0.0471161 0 0 0 0 0.168473 0 -0.197764 -0.168991 0.296922 -0.0427173 0.38202 0.183464 -0.912686 -0.366807 -2.06447 -0.0107679 -0.00405763 0.00383106 -0.00084192 -0.00726135 -0.135699 -0.115286 0.0271391 -0.121402 0.408345 0.568016 0.358557 -0.216457 0.106323 0.00414276 -0.0133563 -0.270651 -0.779431 0.0158199 -3.08731 0.328374 0.761788 0.700331 -0.0194196 -0.847351 0.625622 0.00822388 0.00301557 -0.061107 0.038386 -1.63359 -0.31297 -0.0467538 -0.180007 1.22508 0.00229167 0.0271661 0.0656981 0.0759295 0.155055 0.508836 -2.60644 0.413877 -0.256314 -2.10759 0.51072 -0.840132 0.0480878 -0.107042 -0.1319 0.550136 0.353015 0.19762 -0.120098 2.44021 -0.916864 -0.0188447 0.139721 -0.112569 0.339327 -0.721879 -0.0769705 0.0448602 0.00280655 -0.184076 0.041724 1.23408 -3.16075 0.286333 0.139411 0.150009 -0.854673 2.81659 -0.0474101 0.0561565 -0.185155 1.85591 0.0324615 -0.0766327 0.297114 -0.630164 2.12789 0 +123 0 0 0 0 0 -0.193914 0.315971 -0.516918 -1.94217 0 0 0.298337 0.617233 0 1.74617 -0.0242227 0 0 0 -0.432082 0.837363 0 0 0 0 -0.59954 0 0 -0.859265 -1.88103 0.555846 0 0.273996 0 0 -0.204877 0.0403518 0 0 0.390897 -0.0713643 0 0 0.0651547 2.92765 0 0.445913 -1.35907 -0.625026 -0.0990307 -0.712247 -0.264838 0 0.363766 -0.416331 0.394656 -1.3523 -0.239128 0.130909 0 0 0.478083 0.700062 0 0.426905 0.652799 0.0486411 0 0 0 0 0.132774 0.0871868 0 -0.32577 0.344626 0 0 0 3.60741 0 -0.704894 3.7059 0 0.149773 0.351155 3.37643 0 -0.0616454 1.07573 -1.18151 3.99999 0 0 0 -2.6696e-05 -0.00108479 0 0 0 0.0206668 0 0 0.000182307 0 0 -0.16543 0 0 0 0 -0.254505 0 -0.0634381 0 -0.656058 0 0.175095 -0.192106 0 -0.014127 0 0 -0.220022 0 -0.050497 0 0 0 0 -0.237771 -0.0562995 0 -0.0594329 0 0 0 0 0 0 0 0 0 0 0.063969 0 0 0 0 0 0 0 0 0 0 -0.0778229 0 0 0 -0.00674081 0.0840555 0 0.102556 -0.217975 0 -0.0775898 0 -0.111333 0 0 0 0.689959 0 0 0.208098 0 0 0 0.171892 0 0 0 0 0.180055 0 -0.193914 -2.6696e-05 0.315971 -0.00108479 -0.00958466 0.0488179 -0.00139219 0.0994255 0.897997 0.00209787 -0.0348552 -0.636268 0.000516284 -0.154508 -0.00190023 0.142607 -0.0212064 0.00796107 -0.828032 1.14158 -0.224717 -0.0346264 -0.391602 -0.104098 -0.096612 0.0474198 1.06373 0.02999 4.55541 -0.115804 -0.968703 1.86908 -0.000498233 0.237356 -0.504858 -0.0920381 -0.00667499 0.00132389 -0.0313377 0.565036 0.136264 -0.00190187 3.48472 -0.191137 -0.00679196 -0.0287972 -0.0987038 0.162499 -0.100936 -0.601681 -1.36784 -0.509091 0.0555121 1.57997 0.000862836 -0.855684 0.0566158 0.294054 0.175765 -0.0292554 -0.186616 1.14834 -0.0353048 -2.28289 -13.6668 -0.0553732 0.0373338 0.011819 0.0705052 0.442349 0.282346 0.100867 -0.00418365 -0.169184 -0.00996277 -0.368722 4.01927 0.945765 0.629816 0.112994 -0.300969 0.107886 0.0881408 -0.243972 0.284535 0.0678017 -0.0021287 0.0219431 -0.0993685 0.0945511 -0.218587 0 +124 0 0 0 0 0 0.0497142 0.193706 -1.05325 -2.56048 0 0 0.385666 0.881734 0 1.67879 0.1825 0 0 0 0.411819 2.66981 0 0 0 0 -0.349605 0 0 -0.593152 -6.83725 0.362631 0 0.62572 0 0 -0.149483 0.0739703 0 0 1.0119 0.21725 0 0 0.228845 4.86185 0 0.0804304 -2.14468 1.07515 -0.343379 1.63311 -0.974661 0 -0.65619 0.413164 -0.532676 -5.07295 -1.82412 -0.391775 0 0 0.592952 0.0537463 0 -1.80947 -0.737855 -0.0114346 0 0 0 0 0.446287 -0.0573555 0 -0.852548 1.79477 0 0 0 3.82684 0 -1.82073 9.31369 0 -0.546207 1.05563 4.76061 0 -0.580539 1.98693 -4.21105 17.4749 0 0 0 -0.0893273 -0.0227158 0 0 0 0.0290809 0 0 0.0032211 0 0 -0.0197969 0 0 0 0 -0.0330806 0 -0.00237364 0 -0.100098 0 0.234226 0.0725527 0 -0.00130232 0 0 -0.0170868 0 0.0088393 0 0 0 0 -0.0398058 -0.00511931 0 -0.00454219 0 0 0 0 0 0 0 0 0 0 -0.0930192 0 0 0 0 0 0 0 0 0 0 -0.0673187 0 0 0 0.0038274 0.065745 0 0.176519 -0.0571976 0 -0.0785725 0 -0.124064 0 0 0 0.0895333 0 0 0.0293147 0 0 0 0.0438983 0 0 0 0 -0.0343567 0 0.0497142 -0.0893273 0.193706 -0.0227158 0.268562 0.201215 -0.482596 0.333225 -0.533532 -0.0054274 0.0490842 -0.00944191 -0.00038 -0.0151733 -0.0719661 -0.0404818 0.0881165 -0.0631672 0.317649 0.404693 0.362435 -0.095318 -0.133591 -0.030247 0.598711 -0.35718 -0.258388 0.0153064 0.502188 0.58001 1.92257 0.228141 -0.0103274 -0.266119 0.888138 -0.0240848 0.011631 0.0300182 0.0985748 -2.29593 -0.0950614 -0.0550237 0.421827 1.28248 0.00693998 0.068146 0.0355376 0.0684712 0.0603645 0.0295776 -0.837035 -0.986028 -0.260733 -1.58906 0.270061 -1.88716 -0.06439 0.188871 0.214787 0.172531 -0.105142 0.809066 -0.0270827 -1.7772 -11.7774 0.037458 0.0931255 0.0864309 0.381381 -0.727658 0.00596352 -0.0403018 0.000956624 -0.179629 -0.0848295 0.307809 -7.97696 0.76228 -1.64844 -0.125992 -0.640244 3.11292 -0.0231393 0.113354 -0.369904 1.75689 0.0168902 -0.185474 0.528118 -0.983558 2.79464 0 +125 0 -0.658268 -0.192136 -0.038181 -0.265945 0.269147 -0.185166 0.316809 -0.631129 -0.306874 0.202939 0.241265 0.268979 0.00131378 0.493466 0.0178641 -1.51217 -4.4207 -0.113694 0.0432506 -0.853264 -0.0571541 0.0501212 -0.00296755 0.00160544 0.288493 -0.69066 -0.0598851 0.551443 0.0504556 -0.0777825 -0.0306348 0.203854 -0.203192 -0.570105 0.393169 0.0215889 0.160592 -1.53389 0.101708 -0.799413 0.0106272 -1.19555 0.00256637 1.58568 0.066403 -0.687065 0.226456 0.474306 0.00645881 0.266995 -0.237848 2.05871 -0.181018 -0.0444013 -0.0786567 -1.24067 -0.512566 0.0785394 0.0714475 0.0107982 0.225438 0.423429 -1.50635 0.180914 -0.0306207 0.0183898 -0.0584822 0.371284 0.0469397 -0.24933 -0.0703101 0.0175982 0.0427069 -0.213636 0.0238455 0.264775 2.74013 -0.997259 2.67065 0.106759 -0.985587 3.13011 -0.0570102 -0.0287817 -0.115408 0.595178 -0.0185398 -0.00916381 -0.0474579 -0.0580759 -0.0614167 0 0 0 0 0 -0.038181 -0.265945 0 0 0 0 0 0 0 -0.00979057 0 0 0 0 -0.0100887 0 -0.00131146 0.0162358 -0.0835608 0 0 -0.126685 0 0 0.0260618 0.0714044 0 0 -0.0194671 0.0893175 0 0.120275 0 -0.0134798 0 0 -0.00218416 0 0 0.0431055 0 0 0 0 0 0 0 -0.0405155 0 0 -0.0953378 0 0 0 0 0 0 0 -0.0782441 0 -1.39892 0 0.0146054 0 0 -0.000199973 -0.40348 0 -0.038348 0 0 0 -0.237736 0 0.125454 0 0 0.125866 0 0 0 0.0349856 0 0 0 0 0 0 0.269147 0 -0.185166 0 0 0 0 0.18599 -0.453723 0 0 0.197469 0 0.0201364 0 0.0143772 0 0 -0.0540203 0 0.508583 -0.0161894 -0.151421 0.000782421 0 0 0.107875 0 -0.549508 0 1.52921 -0.407417 0 -0.179278 0.558585 -0.018627 0 0.0292325 0 0 -0.0412065 0 -0.210088 0.388929 0 0 0.0486734 0 0 0.171955 0.959129 0.139186 0 0.62298 0 0.369801 0.0102773 -0.0480824 0.154483 0.0583325 0.202146 0.0660335 0.0614421 0.0254592 0.116793 -0.0414268 0 0 0 -0.0370295 0.000687416 0 0 0 0 0.0663151 -16.5082 -2.63807 0.450281 -1.04376 0.768049 -1.01538 -0.165058 0.102709 -0.127727 0.0635519 0 0 0 0 0 0 +126 0 0.411421 0.26488 -0.011431 -0.0177302 0.0164077 0.0801804 -0.255053 -0.0303819 -0.0927637 -0.252723 -0.13065 -0.219592 0.00186117 -0.829346 0.0157763 0.151179 -0.590944 -0.0656335 0.0288071 0.597934 -0.026665 -0.394669 -0.00234842 -0.0648449 -0.248533 0.307714 -0.0496392 0.026075 0.473517 -0.179657 -0.0164427 0.0715764 -1.21887 -0.0215336 -0.253245 -0.0140311 -0.551762 -4.46018 -0.274419 0.313999 0.013242 -1.24064 -0.037102 -0.483537 0.0789681 0.192496 0.166911 0.0931812 0.0947427 -0.379629 -0.268947 1.61666 -0.0276725 0.117372 -0.175562 -0.807846 0.135793 -0.182227 0.139615 -0.0308584 0.9205 -0.0612106 0.612933 0.860727 0.400861 0.55575 0.193939 -0.441844 0.0313568 -0.119866 -0.0152371 -0.222385 0.628891 -0.523932 0.229646 1.2437 14.6823 3.40541 0.0142845 3.60963 -2.54052 4.12101 0.145794 -0.108032 0.00374775 0.0595356 -0.022048 0.0442962 -0.114165 0.202919 -0.576386 0 0 0 0 0 -0.011431 -0.0177302 0 0 0 0 0 0 0 -0.015665 0 0 0 0 -0.00826736 0 -0.00250059 -0.0481706 -0.0425499 0 0 0.108389 0 0 -0.0540807 -0.189094 0 0 0.00935731 -0.192521 0 -0.283275 0 0.0130268 0 0 0.000898991 0 0 -1.00596 0 0 0 0 0 0 0 0.05201 0 0 -0.0949763 0 0 0 0 0 0 0 0.0215875 0 0.093622 0 0.0439233 0 0 0.0278015 0.125864 0 0.0506435 0 0 0 2.10437 0 0.11433 0 0 0.226505 0 0 0 0.0168226 0 0 0 0 0 0 0.0164077 0 0.0801804 0 0 0 0 -0.141815 -0.510227 0 0 0.0857146 0 0.0107021 0 -0.0418421 0 0 0.364898 0 -0.813315 -0.0555111 0.0399492 0.0692526 0 0 -0.362924 0 -3.43589 0 -2.55885 -1.0436 0 -0.0892354 -1.51704 0.00527297 0 -0.0377415 0 0 -0.0584012 0 -2.24325 0.823785 0 0 0.149522 0 0 0.0788857 3.10162 0.133206 0 -2.12316 0 0.496352 0.0926728 -0.107081 0.89094 0.0479278 -0.118985 -0.0427645 0.0770647 1.23319 4.40241 0.0154299 0 0 0 -0.271761 -0.00993226 0 0 0 0 0.204899 14.1992 -1.25425 3.66867 0.145839 -0.611887 2.03149 -0.0452187 0.0640101 -0.100298 0.221991 0 0 0 0 0 0 +127 0 0.525192 0.420118 -0.0129232 -0.0829229 0.23687 0.11543 0.245343 -1.51862 -0.10397 0.649795 0.00644901 0.299481 0.000612881 0.377574 0.0148351 2.08539 10.8808 0.141689 0.0439634 -0.598666 0.0201302 -0.0726752 -0.00117173 0.123069 -0.274807 0.372758 0.0562294 0.193288 0.880384 0.00614478 -0.0112022 0.167686 -0.603781 0.159227 0.0796756 0.00135834 0.316227 -3.80092 0.0520461 -0.271479 0.00474985 0.81296 0.00119208 2.09573 0.0292465 -0.209182 0.510817 0.502225 0.00880811 1.55862 0.103283 -10.3189 -0.0550928 0.0142408 -0.136137 1.06261 0.228301 0.266826 -0.130578 -0.000251667 -0.473991 -0.285699 -1.0876 1.23735 -0.583945 -0.165706 -0.529036 0.440543 0.0178706 -0.815783 -0.253754 0.186357 -0.302067 0.229224 0.015091 -1.61766 11.157 -0.708276 4.72796 0.902822 -0.90596 2.5358 -0.338122 0.337002 -0.71521 1.6658 -0.00816566 -0.00504821 -0.140702 0.0350736 -1.07164 0 0 0 0 0 -0.0129232 -0.0829229 0 0 0 0 0 0 0 0.00140672 0 0 0 0 -0.000593874 0 -0.000120139 0.000390876 0.006633 0 0 0.13146 0 0 -0.00473405 0.419936 0 0 0.0180608 0.0271784 0 -0.0371789 0 0.0106393 0 0 0.00140284 0 0 -0.162458 0 0 0 0 0 0 0 -0.0540257 0 0 -0.16825 0 0 0 0 0 0 0 -0.00488552 0 -0.0602051 0 0.0175692 0 0 0.0233449 0.0129895 0 0.0961727 0 0 0 0.286719 0 0.0266545 0 0 0.0853886 0 0 0 -0.00824206 0 0 0 0 0 0 0.23687 0 0.11543 0 0 0 0 -0.534088 -0.00636821 0 0 0.487835 0 0.0668489 0 0.00651615 0 0 0.666065 0 -0.358751 -0.201516 0.124517 0.0946015 0 0 0.0244481 0 11.0356 0 -2.76311 0.480919 0 -1.52226 -0.981572 0.0157059 0 -0.0749268 0 0 0.0185518 0 2.76495 2.15371 0 0 0.273791 0 0 -0.429113 0.109282 1.06737 0 -0.636798 0 1.24087 0.187235 -0.430965 -0.38868 0.311075 0.477921 -0.666401 -0.17639 1.84019 5.55125 -0.136005 0 0 0 0.270745 -0.0208844 0 0 0 0 0.0996247 4.61261 -3.83617 7.78204 -0.132911 -0.2478 1.46159 -0.27415 0.238446 -0.320944 0.911592 0 0 0 0 0 0 +128 0 0 0 -0.0516719 -0.263973 0 0 0 0 5.86639 3.6231 -0.27735 0 -0.141145 0 -0.782251 0 0 0.514915 -2.6941 0 0.059546 0 0.776184 0.869007 0 0 0.180943 0 0 0 1.72933 -1.6455 0 0.0255635 0 -0.217977 -0.789353 0 -0.872319 0 0.058774 -2.91305 -0.595979 0 0.794344 0 0 -6.10189 -0.106889 0 1.48863 0 3.42763 -3.22146 1.48408 0 4.0315 0.66996 -0.616424 1.30825 0 0 0 0 1.39782 0 -0.663049 -0.700237 -4.81944 -2.76876 -0.753672 -0.469424 -1.19093 0 0 2.0234 0 -8.17963 0 -1.50781 0.0898814 0 -3.36364 2.65504 -3.45917 0 0.887655 1.65445 -1.20255 1.56878 0 0 0.153141 0.0201765 0.183074 -0.041163 -0.0516719 -0.263973 0.0834195 -0.238889 -0.00200528 -0.000474055 -0.0477414 0.0356304 0.0168335 -0.0375918 0.0263346 -0.00490907 0.000477677 -0.016163 -0.0933781 0.28423 -0.0706003 1.4203 0.0701611 0.00230342 -1.06785 -2.1868 -0.000143236 0.011271 0.177257 -1.11154 -0.216193 0.00859491 -0.325872 0.969805 0.0346577 -0.196476 -0.00999916 -1.28852 -0.0106298 0.0896438 -0.165045 -0.0420136 0.00161229 -1.26996 0.522618 -0.030182 0.00118595 1.12473 -0.136827 -0.0191661 -0.00591093 -0.146675 0.0209509 0.0933489 0.139946 -0.0713807 -0.0845332 0.0372555 -0.0106767 -0.22667 0.0873223 0.032304 0.767756 0.0218064 -0.362366 -0.134725 -0.0950124 0.0242178 0.0667462 0.0821345 0.317412 -0.26969 0.0735358 0.00996948 -0.565656 0.0126437 2.03143 -0.109002 0.129962 0.15276 -0.203123 0.328585 -0.00472652 0.00748217 -0.017337 0.0230764 0.0096438 -0.0135241 0.0238916 -0.032886 0.0530025 0 0 0.183074 0 -0.041163 0 0 1.8153 0 -0.0879011 0.114215 -0.0437439 1.12183 0.0203749 0.283759 0.179207 -0.0634224 -0.0765174 0.674517 0 0 0 0 0.40276 0 -0.444473 0 -0.197816 0 0 -0.255725 0 0 0.00859844 0 0 0.133112 -0.00315934 0 -0.0125408 0 -0.118995 0 0 0 -0.00821042 -0.0640547 0 0 0.119997 0 0 0 0.218767 0 -0.768571 0 -0.433411 0.337796 -0.508906 0 0 -0.62867 0.370903 0.502697 0 -0.128936 0 -0.267021 0 0.773607 0.0133962 -0.00657262 0.259514 -0.11599 0.0847669 -1.12407 0 -5.38967 0 -3.73614 1.5601 0 -2.32931 1.26235 -0.595403 0 -1.39574 0.891237 -0.426006 0.112829 0 0 +129 0 0 0 -0.0948532 -0.157887 0 0 0 0 2.02846 1.53335 0.720761 0 0.131115 0 0.368872 0 0 0.368746 0.970648 0 0.171019 0 -0.226775 0.489036 0 0 0.000298091 0 0 0 0.141891 1.18966 0 -0.15365 0 0.156327 0.621962 0 1.78107 0 -0.394585 1.12635 0.29523 0 -3.84095 0 0 2.73725 -2.05049 0 0.25718 0 -0.558558 0.287097 -0.152258 0 -2.00182 -1.45933 0.356743 1.97508 0 0 0 0 0.317462 0 0.955634 -0.646781 -0.134364 -1.98395 1.03091 1.51917 0.878395 0 0 -0.953876 0 -4.1965 0 6.525 -3.28792 0 2.11926 -0.909929 -1.47899 0 11.1538 -6.97774 4.92944 -1.95051 0 0 0.563789 0.0742797 -0.197922 -0.0466675 -0.0948532 -0.157887 0.100212 -0.089157 -0.623686 -0.00226343 -0.0154242 0.0276059 0.0221498 -0.0951084 0.0729684 -0.0253337 0.0418252 0.137456 -0.0681961 0.710455 0.00636918 -0.172114 -0.569583 0.00676845 -0.542225 -0.787892 0.0132928 -0.0104035 -0.148529 1.51222 0.0649945 0.0175729 -0.00110396 0.318405 -0.0897188 -0.165361 -0.080056 -0.0618692 -0.0106586 0.129513 0.0553638 -0.256382 0.00314139 -0.119694 0.448005 0.459905 -0.010882 1.19207 0.0622161 -0.0268582 -0.0826462 -0.446675 0.00480804 0.0809447 -0.512133 -0.108219 -0.186995 0.187935 -0.0938468 -0.217104 -0.166771 0.168565 -0.383282 0.0859863 -0.646842 -0.203526 -0.0840272 -0.062589 0.493978 0.195821 0.106144 0.00962798 0.0358524 0.0773088 -0.0527831 0.038265 0.191463 -0.369971 0.473091 0.202389 -0.108 -0.0373103 -0.060484 0.0558983 -0.0505104 0.0602973 0.0410444 -0.034391 0.0264711 -0.00972389 -0.0159343 0 0 -0.197922 0 -0.0466675 0 0 0.528096 0 0.737865 -0.0473572 0.0284606 0.0334824 0.00104077 -0.0184092 -0.0215483 0.0623007 0.105985 -0.643134 0 0 0 0 -0.0923475 0 0.133315 0 0.435855 0 0 -0.143214 0 0 -0.0130616 0 0 -0.0335446 -0.006897 0 -0.0175052 0 0.109654 0 0 0 0.0148892 -0.055971 0 0 -0.104535 0 0 0 0.0699533 0 -0.0977288 0 0.0622991 0.0208621 -0.450766 0 0 0.774199 0.125074 0.00169185 0 -0.0394299 0 0.00415618 0 -0.0150091 0.0886595 -0.066253 0.204892 -0.0978248 -0.0424269 -0.397773 0 0.263289 0 3.00158 -0.162863 0 1.31062 -0.513579 0.160402 0 1.59828 -0.648161 0.238889 0.206634 0 0 +130 0 0 0 -0.119656 0.02371 0 0 0 0 -5.11606 0.533457 0.379818 0 -0.0260791 0 0.148104 0 0 -0.0267706 0.905335 0 -0.0491146 0 -0.47533 0.0517704 0 0 -0.59911 0 0 0 -1.57412 -0.0722749 0 -1.92384 0 0.143856 -2.38394 0 0.895011 0 -0.137269 -7.98317 0.554171 0 -0.293226 0 0 0.329666 0.209278 0 -0.672851 0 -0.873655 -0.203151 0.38667 0 -0.189539 0.788357 0.239737 -0.864839 0 0 0 0 1.18046 0 -1.20985 -1.97484 3.38795 -0.110419 0.200481 -0.742711 2.7852 0 0 0.978133 0 0.27661 0 3.38949 -1.76595 0 0.871186 -0.410939 -0.832786 0 -1.23357 -0.336789 0.14327 -0.288504 0 0 -0.124567 -0.0164118 0.153578 -0.00317149 -0.119656 0.02371 -0.0837953 -0.0368426 0.102505 0.000400768 -0.00589098 -0.0341544 0.0205813 0.0440336 -0.0207189 0.00420561 -0.022251 -0.0759826 0.113483 -0.221363 0.0284821 -0.289495 0.348712 -0.00182353 -0.202441 3.45513 -0.00613745 -0.00937278 -0.131053 -3.58658 -0.0372699 0.00265287 0.455372 -0.999151 0.0131743 -0.253899 0.0152114 2.2267 -0.0272876 0.0645274 0.296326 0.0371512 0.00109344 -1.24957 -0.498818 -0.287028 0.00193781 -1.14205 -0.173075 7.54081e-05 0.0233949 0.138916 0.0343856 -0.110914 -0.265178 0.17343 0.0651246 -0.0362153 0.0320491 0.209843 -0.0109007 -0.00298351 2.2909 -0.0201073 0.384429 0.468732 -0.00302531 -0.0233144 -0.546578 -0.227203 -1.44281 0.408445 -0.436186 -0.0225632 0.186309 -0.0100421 1.99881 0.0814629 -0.0958121 0.0766042 -0.166682 0.182982 0.0264882 -0.0231269 0.0329331 -0.0372849 -0.00800655 0.000704119 -0.000992383 -0.0124417 0.00913721 0 0 0.153578 0 -0.00317149 0 0 -0.405979 0 -1.56732 0.0376675 -0.0558144 -0.0803668 0.00516561 0.0542249 -0.0525041 -0.0458119 -0.0317203 0.17284 0 0 0 0 -0.0728297 0 -0.420672 0 -0.147344 0 0 -0.0742445 0 0 -0.0046472 0 0 -0.0166439 0.00289182 0 -0.00367139 0 -0.287309 0 0 0 -0.00344171 0.0185743 0 0 -0.169383 0 0 0 0.0218407 0 0.23379 0 -0.992893 0.364115 0.946417 0 0 -0.60697 0.254236 0.103203 0 -0.227142 0 -0.0814489 0 -0.484328 0.0804629 0.0801473 -0.218652 -0.0181491 0.020037 0.251486 0 2.32473 0 0.567963 0.78737 0 0.392779 0.124764 -0.0562621 0 -0.552235 0.201505 0.101087 -0.0901356 0 0 +131 0 -0.379586 -0.163727 0.0551615 -0.00560592 0.261271 0.0729641 -0.107721 -0.055023 0.149762 -0.977266 0.377666 0.719905 -0.0910887 -0.241831 0.282241 -1.90566 -7.15753 -0.473435 1.56057 -1.43592 -0.246057 -0.0432448 0.103388 -0.511635 0.140086 -0.553603 -0.179745 -0.0618069 -1.02394 -0.035912 0.125184 0.604417 0.777257 -0.325691 -0.0397738 0.178927 -0.412066 3.97978 1.44758 -0.218071 -0.144236 -0.0317785 0.715081 1.68539 -0.215459 -0.024028 -0.256007 3.16982 -1.30799 0.327476 -1.5486 0.0895606 -1.56422 1.62126 -0.447364 0.994147 -2.11827 0.318627 1.12213 0.176433 -0.608558 0.605875 -2.62668 0.32444 -1.42562 0.737181 0.106013 -0.429245 -0.0250864 1.46092 -0.597382 0.701518 -0.0680473 3.02351 0.36013 -0.975013 -22.5509 -2.46993 1.92923 -3.14735 1.26456 -2.60005 2.29312 -1.94502 1.51075 0.912965 0.926318 -3.25697 2.30234 -1.37023 0.962255 0 0 0 0 0 0.0551615 -0.00560592 -0.0026274 0 0 0 0 -0.00467149 0 0.0684374 0 0 -0.00320178 -0.0231434 0.00384205 0 0.033953 -0.604813 0.00236464 0 0 2.10198 -0.00161695 0 -0.0995639 -1.14678 0 0 0.301287 -0.981585 0 0.208386 0 1.11276 0 0 0.156947 0 0 1.36 -0.066616 -0.0450442 0 -0.0319701 0.0612481 0 0 0.291845 0 -0.0219385 -0.965663 0.0236199 0 0 0.0101569 -0.0059467 0 -0.0706301 0.0577488 -0.0180546 0.223561 0.195286 0.107226 0 0.0876187 -0.0199121 -0.717068 -0.0599947 -0.236632 0 0 0 -2.30048 0.153377 -0.115958 -0.106302 0.12089 -0.166799 0.00515822 -0.005796 0.0052697 5.28655e-05 0 0 0 0 0 0 0.261271 0 0.0729641 0 0 0 0 -0.0206563 1.08386 0 0 0.168741 0 0.0202673 0 0.0224269 0 0 -0.0685608 0 0.0903262 -0.0356147 -0.0217411 -0.00883627 0 0 0.220397 0 0.500873 0 0.985688 -0.0928895 0 -0.438802 0.251845 -0.00425163 0 0.00108641 0 0 0.108262 0 -0.175004 0.00292485 0 0 -0.00277855 0 0 0.220566 -1.74319 -0.14258 0 2.20464 0 0.222999 0.111098 0.0386207 0.168094 0.00911715 -0.403525 0.0486978 -0.14329 -1.07943 3.20005 -0.120408 0 0 0 0.189136 0.101788 0 0 0 0 -0.281719 -13.0166 -3.52843 4.29447 -1.28334 0.895506 -0.629146 -0.213582 0.20827 -0.160013 0.247802 0 0 0 0 0 0 +132 0 0.00310037 0.35892 0.318713 0.361563 -0.270927 -0.0728157 0.470934 1.38868 0.0696219 -3.05877 -0.131452 0.193034 -0.521692 0.732847 -0.15498 1.17233 4.12087 -1.18216 -0.63693 0.0747264 -0.670789 -0.641128 0.611047 -1.38019 0.471791 0.406133 0.528363 0.0577473 0.671235 0.155573 0.586022 -0.28274 -1.20611 1.0686 0.180627 -0.0291507 0.52385 -1.9746 -0.100309 -0.135547 -0.745187 1.57331 0.0787937 1.32862 -0.837569 -0.0650371 0.209375 -1.2446 0.0715663 1.40429 -1.14127 -8.25304 0.479348 -0.836433 0.554345 -2.24532 -0.0595609 0.146768 1.61616 0.533768 1.68401 0.329009 5.28889 -0.8592 -0.75968 -0.160975 3.20966 0.917103 0.0760863 2.11842 -0.0805558 0.0961435 -1.01005 0.163957 -0.395101 -3.75577 7.68836 8.95467 -6.14328 5.96092 -2.24276 -1.0519 6.17411 -2.60002 1.8478 -1.11877 3.60094 -0.348813 -1.04936 0.499482 -0.630797 0 0 0 0 0 0.318713 0.361563 -0.0157996 0 0 0 0 -0.0135679 0 0.0079463 0 0 -0.0117809 -0.0370178 0.0044958 0 -0.0078164 0.140172 0.139924 0 0 0.505912 -0.0025668 0 -0.140754 0.0481295 0 0 0.0284044 -0.028283 0 -0.350184 0 0.162893 0 0 -0.00590056 0 0 -0.518871 -0.193819 -0.171022 0 -0.228965 -0.135212 0 0 0.14508 0 -0.0623899 0.0618877 0.0786555 0 0 0.0213768 0.00893335 0 -0.0130198 0.360256 -0.0325704 -0.323306 0.00914634 0.0305935 0 -0.136914 -0.101655 0.0473617 -0.141389 0.044534 0 0 0 0.947075 0.0681535 8.5916e-05 0.0537801 -0.0593394 0.0603615 0.0146995 -0.017002 0.0211002 -0.0168019 0 0 0 0 0 0 -0.270927 0 -0.0728157 0 0 0 0 -0.0732992 0.856998 0 0 -0.324321 0 -0.0402063 0 0.0052994 0 0 -0.0128208 0 -0.0361873 0.000210416 -0.0175234 -0.00500815 0 0 0.0464009 0 3.54477 0 1.00048 0.397712 0 0.027153 0.125766 0.000145348 0 -0.0103169 0 0 0.104963 0 1.18799 -0.356525 0 0 -0.046821 0 0 -0.139756 1.46735 0.0326775 0 0.463832 0 0.189721 0.130603 -0.04632 0.149105 -0.0452793 -0.134306 0.385141 -0.0580507 -0.845925 -2.3579 0.0275123 0 0 0 0.174142 0.0674751 0 0 0 0 -0.217855 -5.93508 1.0597 -1.60234 -0.0129471 0.000579894 -0.676911 0.369375 -0.191684 0.10776 0.115914 0 0 0 0 0 0 +133 0 -0.16446 0.396687 0.269523 0.124298 -0.0686128 -0.0537119 0.361289 1.08891 1.11518 -1.77992 0.00790596 0.225097 -0.473531 0.501504 0.0606894 0.792289 0.652382 -0.948291 -0.15209 0.48657 -0.55264 -0.720986 0.615752 -0.840781 0.385138 0.381052 0.696433 0.0151354 0.465468 0.211988 0.905333 0.160124 -1.40797 1.08463 0.136303 0.0258528 1.87895 -3.25298 -0.139966 0.086682 -0.675114 2.83077 0.0491753 0.115089 -0.63863 0.0196791 0.0848234 -0.144779 -0.00496184 -0.0537736 -0.273928 -5.03714 0.263496 -0.0902515 0.0528175 -0.445314 0.490846 -0.5022 0.635638 0.75335 0.968589 -0.00318493 2.10302 -0.865944 0.0398993 -0.462748 1.81435 0.471737 -0.968194 0.737111 0.59207 0.0419015 -1.87626 -1.21072 -0.155806 -2.80197 16.4535 7.21379 -4.47608 4.81251 -2.40805 1.8042 2.73907 -1.00847 1.08099 -1.12484 2.74565 -0.1295 -0.700509 0.379448 -0.437426 0 0 0 0 0 0.269523 0.124298 0.033814 0 0 0 0 0.0173157 0 -0.0291049 0 0 0.0159115 0.171183 -0.198433 0 -0.0299296 0.0866674 -0.213024 0 0 -1.32838 0.012012 0 -0.140008 0.72419 0 0 -0.145507 0.225295 0 -0.234435 0 -0.822509 0 0 -0.100661 0 0 -0.0707332 0.246765 0.22648 0 0.480931 0.0997369 0 0 -0.39679 0 0.067056 0.106645 -0.0844443 0 0 -0.0348311 -0.0584805 0 0.0553094 -0.528854 0.058339 0.222581 -0.12387 -0.0761803 0 0.186497 0.0985767 0.353036 0.0136986 0.146488 0 0 0 0.0589518 -0.176696 0.146552 -0.0018451 0.000694396 0.0108792 -0.020662 0.0236357 -0.0275735 0.0254048 0 0 0 0 0 0 -0.0686128 0 -0.0537119 0 0 0 0 0.0555064 0.261285 0 0 -0.35719 0 -0.0536115 0 0.00954643 0 0 -0.0662406 0 -0.0520617 0.0320417 -0.0225057 -0.0110516 0 0 0.0491911 0 -0.595705 0 -0.350365 0.0313854 0 0.311317 -0.00932453 -0.00569346 0 0.00498473 0 0 0.0451959 0 -0.0104712 -0.38765 0 0 -0.0650259 0 0 -0.0771699 0.507309 0.222279 0 -0.660725 0 0.113215 0.0969699 -0.167958 0.161784 -0.0500811 -0.482568 0.0210295 0.0271827 -0.399455 -2.82608 0.0264443 0 0 0 0.0543933 -0.0460559 0 0 0 0 -0.11084 10.7213 3.60006 -2.16235 0.698044 -0.205384 -0.36701 0.158138 -0.141406 0.271682 -0.355638 0 0 0 0 0 0 +134 0 -0.716357 -0.448385 -0.157533 -0.0447554 0.0641812 -0.00563591 -0.17429 -0.463372 -0.699592 1.59943 -0.00480419 -0.769028 0.284489 -0.826231 -0.0667661 -0.464122 -2.47975 0.643996 -0.440209 -0.700621 0.412103 0.56356 -0.373016 0.998052 -0.356828 -0.080705 -0.261393 -0.0137253 -0.0104244 -0.178205 -0.549714 -0.0351377 1.91854 -0.34712 -0.129102 -0.0411227 -0.536977 8.26954 -0.192423 -0.131408 0.404962 0.17641 -0.248961 -3.56964 0.374437 -0.0160074 -0.0300435 -0.545652 0.349406 0.712451 0.550264 1.05856 0.151442 -0.206912 0.0533572 -1.04505 0.0265285 0.0332383 -0.763092 -0.471131 -1.41165 -0.932255 -2.4585 1.13903 -0.654035 1.01166 -1.43147 1.08587 0.64489 -0.430556 -1.37239 -0.218204 0.477642 -0.53745 -0.0654301 1.84757 -38.1993 -11.1099 1.90658 -9.87125 5.4577 -6.93211 -3.20374 1.69613 -0.984366 0.345528 -1.61948 0.826532 -0.204018 0.105004 0.012615 0 0 0 0 0 -0.157533 -0.0447554 -0.0134801 0 0 0 0 -0.00677431 0 0.069052 0 0 -0.0102426 -0.103241 0.0867741 0 0.0333598 -0.347504 0.127583 0 0 -0.357943 -0.00723872 0 -0.105724 1.39659 0 0 -0.00916173 0.134001 0 -0.0373684 0 -0.206023 0 0 -0.0086233 0 0 0.659943 -0.0966685 -0.146442 0 -0.192745 -0.0380995 0 0 0.37723 0 -0.0329701 -0.067056 0.0274901 0 0 0.0241095 0.0182588 0 -0.0709444 -0.145881 -0.0377866 -0.723921 -0.00633237 0.11245 0 -0.0694824 -0.0226334 0.150972 -0.0207563 0.00357814 0 0 0 -1.11589 0.193926 -0.218405 -0.0618212 0.069851 -0.0793311 0.0137846 -0.0156496 0.0176679 -0.0155119 0 0 0 0 0 0 0.0641812 0 -0.00563591 0 0 0 0 0.0330528 0.2335 0 0 0.319031 0 0.0507266 0 -0.00684414 0 0 0.0614979 0 0.173674 0.0133436 0.0243002 0.0125422 0 0 -0.00552464 0 -0.630949 0 2.54189 -0.0325555 0 0.00586909 0.548457 0.00575764 0 0.00544646 0 0 0.00347308 0 -0.21656 0.0182429 0 0 0.0321997 0 0 -0.00177852 -0.526881 0.105226 0 0.599735 0 0.554997 0.092578 -0.0131919 0.120043 -0.0112713 0.0172322 -0.108243 -0.0180393 -0.333089 -1.803 -0.00612397 0 0 0 0.0441427 0.0448529 0 0 0 0 -0.0639373 -19.7021 -4.30785 2.18276 -1.73992 1.22118 -1.42361 -0.24283 0.16356 -0.162058 -0.0695475 0 0 0 0 0 0 +135 0 0.281779 0.155674 0.176186 0.286616 -0.217754 -0.0948474 0.570041 1.15931 -0.737219 -2.36922 -0.0995514 -0.177143 -0.256858 0.0976272 0.02031 -0.180578 -0.877588 -0.65037 0.261562 -0.901821 -0.38297 -0.299764 0.249692 -1.12425 0.202828 0.0105114 0.244228 0.00969056 0.075917 0.0190463 0.00286687 0.0348975 -0.520796 0.467743 0.0975062 -0.0445024 0.357553 -0.486868 -0.175881 -0.209171 -0.327042 0.842723 -0.0606315 -1.33253 -0.341372 -0.0450048 0.0332301 0.365795 0.402476 0.6781 -0.408998 3.96035 -0.651568 0.522868 -0.266999 -2.19518 -0.928737 -0.628821 0.887812 -0.0929278 1.66322 -0.0649755 0.751556 0.490042 -0.537447 -0.421165 0.263247 1.37324 0.95291 1.60681 0.249675 -0.428766 -0.00879173 -2.18826 0.081977 0.938265 3.06149 7.95966 -4.51865 4.52223 -1.18889 -0.109008 5.2387 -2.09238 1.92282 -1.42935 1.47647 0.00618433 0.04238 0.18963 -0.0918703 0 0 0 0 0 0.176186 0.286616 -0.0220539 0 0 0 0 -0.0158788 0 0.0709053 0 0 -0.0204396 -0.131961 0.184751 0 0.0352073 0.147984 0.40961 0 0 -0.581852 -0.00922913 0 0.230462 0.866256 0 0 -0.130624 0.159134 0 0.623637 0 -0.198042 0 0 -0.056895 0 0 1.27435 -0.22659 -0.293737 0 -0.31564 -0.073575 0 0 0.730519 0 -0.0662699 0.159428 0.070865 0 0 0.0367635 0.025209 0 -0.129846 -0.318079 -0.0404542 0.211013 -0.0784298 0.152801 0 -0.0918131 -0.0770067 0.555463 -0.131419 0.191427 0 0 0 -2.11032 0.366791 -0.529887 -0.118818 0.135057 -0.154038 0.0250497 -0.0290755 0.0363584 -0.0512266 0 0 0 0 0 0 -0.217754 0 -0.0948474 0 0 0 0 -0.133349 0.427462 0 0 -0.199986 0 -0.0147151 0 -0.00633375 0 0 0.0323163 0 -0.112677 -0.0287215 0.0323907 0.00742894 0 0 -0.0406927 0 2.5537 0 -0.942956 0.102337 0 -0.240029 -0.265592 0.00628951 0 -0.0155774 0 0 0.0372888 0 0.688583 -0.342145 0 0 -0.0244823 0 0 -0.176091 0.6737 -0.245027 0 0.015498 0 -0.329577 0.0476707 0.0780071 -0.0763254 0.0274801 0.27528 0.268407 -0.0329071 -0.210461 2.32506 -0.00114412 0 0 0 0.0602399 0.0085328 0 0 0 0 -0.0456577 7.20283 2.2814 -0.695015 0.935518 -0.955705 1.23836 0.25189 -0.130513 0.0380026 0.300085 0 0 0 0 0 0 +136 0 -0.388896 -0.7719 -0.35046 -0.239887 0.34989 0.111224 -0.109494 -0.568066 -0.604236 3.4797 0.240877 0.631945 0.594096 0.585185 0.147247 -2.18726 -8.66318 1.34798 0.333102 -0.193738 0.854264 0.951089 -0.723857 2.14286 -0.161291 -0.715527 -0.588627 -0.0652934 -1.00894 0.109976 -0.8369 0.365234 2.5153 -1.1417 -0.0744822 0.063827 -1.03307 7.50071 0.746594 0.0525301 0.817162 -2.21802 0.122359 2.26284 0.768588 0.0326607 -0.261989 0.972561 -0.495744 -0.244181 0.320205 0.837554 -0.158197 0.435913 -0.397019 -1.28991 -1.04952 -0.714974 -2.16735 -0.648579 -0.198777 0.231512 -4.00021 0.398383 -0.684897 0.279878 -1.71005 0.293771 0.379251 -3.72828 0.0926269 0.668473 1.25344 0.278261 0.292541 2.45407 -38.4545 -19.8207 5.0629 -14.6163 4.97129 -3.82921 -8.1641 1.78717 -0.532523 0.741561 -3.32422 -0.772122 1.71682 -1.5576 1.22095 0 0 0 0 0 -0.35046 -0.239887 -0.0141484 0 0 0 0 -0.000871252 0 -0.00961862 0 0 -0.0050073 -0.0758774 0.091349 0 -0.0114973 0.0369714 0.129092 0 0 0.070673 -0.00534185 0 0.069808 -0.565828 0 0 -0.0291142 0.270201 0 -0.154113 0 -0.0671847 0 0 -0.0260635 0 0 -0.173497 -0.012111 -0.0695879 0 -0.198954 -0.035209 0 0 0.140323 0 -0.00600172 0.120529 0.00713699 0 0 0.00979565 0.03789 0 -0.00997885 -0.163778 -0.0118595 0.573655 -0.0353977 -0.00773527 0 -0.014681 -0.00025362 0.0748803 0.0373379 0.0440203 0 0 0 0.211773 0.0468355 -0.0981689 0.0101804 -0.0131721 0.0232124 0.00594535 -0.00690019 0.00861187 -0.0162871 0 0 0 0 0 0 0.34989 0 0.111224 0 0 0 0 0.0612275 -0.380351 0 0 0.397075 0 0.0556838 0 0.000609176 0 0 -0.0616842 0 0.205469 -0.0368107 0.00235311 -0.00515806 0 0 0.0319272 0 -3.42922 0 -0.0275692 -0.10005 0 -0.446383 0.173846 0.00339629 0 0.010291 0 0 -0.0578464 0 -0.48741 -0.19879 0 0 -0.0300584 0 0 -0.0613511 -0.245808 -0.0450233 0 -1.11165 0 1.25855 -0.0900319 0.0644865 0.129275 0.0724005 -0.359235 -1.0935 0.0148483 0.457011 -0.621353 -0.100037 0 0 0 -0.0698582 -0.0478224 0 0 0 0 0.137669 3.70063 -1.35607 2.78574 -0.541461 0.376247 -0.151302 -0.323547 0.16955 -0.0937267 0.136879 0 0 0 0 0 0 +137 0 -1.36104 -0.20198 -0.411044 -0.41553 0.260467 0.139995 -0.993504 -2.83427 -0.427939 3.13989 0.182249 -0.379525 0.602854 -0.57062 -0.0691182 -1.21182 -5.20354 0.779703 -0.53143 -0.252767 0.301435 -0.223402 -0.662931 1.10546 -0.72595 -0.367401 -0.482463 -0.0780323 -1.02761 -0.19803 -0.649756 -0.0176614 -0.351909 -0.998322 -0.239165 -0.0071756 -1.81337 0.419764 0.639944 -0.00480756 0.820382 -5.21077 -0.0808082 -0.128955 0.429847 0.0125512 -0.283256 -0.455042 -0.627529 -0.118586 0.623682 -3.57796 0.295664 -0.747999 0.126072 -0.724457 -0.173147 0.17989 -0.918982 0.0337089 -0.289327 -0.044687 0.954535 2.49707 0.971402 1.19845 -1.9502 -1.83386 -0.587287 -0.579583 -1.10325 0.585736 0.887833 1.26424 0.206181 0.60824 -2.30934 -6.05247 4.42911 -1.5031 0.196829 -0.152602 -6.13065 3.0871 -2.70869 3.81603 -2.21162 -1.04342 2.20023 -2.10132 2.11984 0 0 0 0 0 -0.411044 -0.41553 -0.0277912 0 0 0 0 -0.00380527 0 -0.0105922 0 0 0.00628766 -0.0424135 0.0661378 0 0.00295241 -0.67975 -0.0973564 0 0 0.269791 -0.0032761 0 0.190672 -3.08098 0 0 0.0239297 -1.35555 0 -0.142484 0 -0.084283 0 0 -0.0192494 0 0 -0.444831 -0.0506814 0.0927392 0 -0.386298 0.0617836 0 0 -0.0730942 0 -0.0290255 0.337131 0.0491965 0 0 -0.0184275 0.0605353 0 0.0395637 0.0843317 0.0343847 3.00415 0.0533922 -0.0675241 0 -0.0612925 -0.0748377 0.0787237 0.326546 -0.104891 0 0 0 0.852175 -0.168736 0.252598 0.0255337 -0.0427638 0.0949552 -0.0101892 0.0147308 -0.0236984 0.0366388 0 0 0 0 0 0 0.260467 0 0.139995 0 0 0 0 -0.0415575 -0.828305 0 0 0.559205 0 0.0695474 0 0.00146622 0 0 -0.0224416 0 -0.0667879 -0.0706724 0.0230018 0.00111786 0 0 0.0367151 0 -2.257 0 1.23304 -0.0832433 0 -0.449962 0.202438 0.00346192 0 -0.008653 0 0 -0.0968847 0 -0.302698 0.322614 0 0 0.0496761 0 0 -0.160026 -0.611289 -0.271331 0 -0.773828 0 0.524977 -0.312643 0.335384 0.0153801 0.0252812 0.0680277 -0.264508 0.125951 0.630443 -2.65362 0.0224705 0 0 0 0.0120396 -0.100607 0 0 0 0 0.173482 -8.09703 -3.06632 1.79056 -1.01365 0.95285 -1.00147 -0.549345 0.407131 -0.364564 0.278648 0 0 0 0 0 0 +138 0 -0.0362446 -0.149635 0.109832 0.0595186 -0.108745 -0.0620116 0.352973 1.77569 0.383104 -2.42162 -0.133175 0.54582 -0.263982 -0.575993 -0.0786565 -1.0261 -4.04027 -0.701751 -0.189345 0.164112 -0.389493 -0.0923688 0.32968 -1.11756 0.358327 -0.190537 -0.396873 0.0514182 0.524722 0.0213031 0.406686 -0.129708 -0.375772 -1.19026 0.0885235 -0.0346928 -1.06901 -1.73088 -0.188627 -0.0105861 -0.50811 -2.94043 0.0306515 0.200275 -0.76059 -0.00619863 0.168518 -0.306012 -0.248137 -0.421105 -0.54476 4.43828 0.155295 -0.329445 0.178718 -1.16519 0.0644272 0.178638 1.3888 0.909756 -1.82489 -0.111238 -0.0994133 -1.15873 0.253811 -0.38334 0.953231 -0.923048 -0.364834 2.0631 0.347256 -0.0116857 0.500879 0.880081 -0.136581 0.835113 11.9909 5.72627 -2.40148 1.42977 -1.07122 2.32186 5.74167 -2.90634 2.65373 -2.45498 3.91333 -0.581497 -0.565378 0.930497 -1.08244 0 0 0 0 0 0.109832 0.0595186 -0.0445646 0 0 0 0 -0.0265886 0 -0.00621858 0 0 0.00116794 0.0478107 -0.0133514 0 -0.00436013 -0.609824 0.0805728 0 0 0.350813 0.00305216 0 -0.240973 -7.03713 0 0 -0.00228667 -2.42181 0 -0.186432 0 0.250776 0 0 0.00764344 0 0 -0.40528 -0.369339 0.0287415 0 -0.618855 -0.00757151 0 0 -0.0945573 0 0.0152874 0.0909989 -0.0158281 0 0 0.0116938 0.147177 0 0.0214425 0.254313 -0.037534 7.26573 0.0491585 -0.0502543 0 -0.0958914 0.0129115 -0.232386 1.16264 -0.114496 0 0 0 -0.513097 0.133554 -0.42298 0.00537567 0.0100689 -0.0295215 0.000657414 -0.00618837 0.0184932 -0.0483845 0 0 0 0 0 0 -0.108745 0 -0.0620116 0 0 0 0 0.0317404 -0.422309 0 0 -0.194346 0 -0.0253642 0 -0.0118195 0 0 -0.0372817 0 -0.1403 0.053493 0.0142303 -0.00819752 0 0 -0.123801 0 -4.47541 0 -0.537229 -0.355543 0 0.412581 -0.38975 0.000584792 0 0.00346524 0 0 -0.0428915 0 -1.39102 -0.134411 0 0 -0.0206967 0 0 0.0164748 0.536868 0.313963 0 -0.506521 0 -0.215604 0.129213 -0.234302 0.665794 0.0110562 -0.606714 0.0625113 -0.0996018 1.18083 1.89295 -0.0779568 0 0 0 -0.0263744 0.0791055 0 0 0 0 0.183768 5.41643 2.50906 -2.50115 0.718643 -0.610085 0.476502 0.176445 -0.249895 0.31527 -0.437758 0 0 0 0 0 0 +139 0 0.167365 -0.0552431 0.0613777 0.111914 0.0580599 -0.128693 0.743421 2.355 -0.165537 -2.28461 -0.317565 -0.139204 -0.0652639 -0.537309 -0.104704 0.121703 -3.86167 -0.598363 -0.817319 0.692295 -0.288209 0.103224 0.0536192 -0.960322 0.485684 0.301486 -0.443925 0.0608964 0.918935 -0.0473908 -0.0206837 -0.276589 0.504589 -1.00964 0.116294 -0.125362 -2.46369 2.05614 -1.12569 0.118014 -0.0589529 -5.32757 -0.443832 -2.48439 0.0754282 0.0224656 0.237872 -2.07545 0.96568 0.149483 -0.559025 -5.29773 -0.193805 -1.05046 0.372101 -1.71427 0.562412 0.449201 1.169 -0.254208 0.214614 -0.263993 -0.528123 0.671982 1.42505 0.530472 -0.960434 -4.15839 0.320534 1.0793 -0.538758 -1.13153 -0.165119 -1.39487 -0.0611394 -1.56397 -6.25049 3.17973 -6.13342 1.65379 -0.206993 -2.49677 5.72298 -2.41931 2.06382 -3.11256 -0.388087 3.0017 -2.44182 2.44992 -1.89565 0 0 0 0 0 0.0613777 0.111914 0.00171903 0 0 0 0 -0.000720597 0 0.0912759 0 0 -0.0085916 -0.0453356 0.20071 0 0.041895 -0.174194 0.453197 0 0 -0.893973 -0.00318452 0 -0.417218 -2.6247 0 0 -0.0692591 -0.958617 0 -0.6135 0 -0.342531 0 0 -0.021809 0 0 -0.729726 -0.00968554 -0.121602 0 0.0251911 -0.176504 0 0 0.145928 0 -0.0166739 -0.326216 0.0493015 0 0 -0.00485151 -0.0510979 0 -0.00240724 -0.00358649 0.0610067 -0.0528924 -0.129215 -0.0264736 0 -0.00598331 -0.0817302 1.20988 -0.684665 0.258558 0 0 0 -0.498109 0.177716 -0.668194 -0.0178996 0.0186621 0.0439816 0.00563264 -0.00873159 0.0199189 -0.0726405 0 0 0 0 0 0 0.0580599 0 -0.128693 0 0 0 0 -0.0145686 -0.172269 0 0 0.0169102 0 0.00900335 0 -0.0130979 0 0 -0.152925 0 0.0683256 0.0132528 0.0685146 -0.0214909 0 0 -0.12769 0 -4.12678 0 -0.415138 -0.144384 0 0.0642752 0.116254 0.00905149 0 0.00124536 0 0 -0.0243028 0 -0.787393 -1.27477 0 0 -0.160175 0 0 -0.233793 -0.268596 -0.0298793 0 -0.261256 0 0.269946 0.0811656 -0.00281962 -0.0611451 0.142 -0.161391 -0.317971 0.0201576 -0.111228 -1.30671 -0.111899 0 0 0 0.0368548 -0.0716143 0 0 0 0 0.0416127 11.6905 2.52891 -1.28484 1.36366 -0.905276 0.688808 0.00718132 -0.043155 0.0460433 -0.0378556 0 0 0 0 0 0 +140 0 -0.391984 -0.342327 -0.170674 -0.1046 0.179969 0.00651787 -0.238126 -0.496233 -3.8978 1.38722 0.125132 -0.500627 0.0877624 -0.640694 0.123278 0.0918662 0.3022 0.610732 0.743896 -0.505235 0.481161 0.591016 -0.970388 1.09871 -0.240213 0.0324715 -0.340965 -0.0222812 -0.507201 -0.256591 -2.02998 0.216704 1.79847 -0.606018 -0.137952 0.063226 -0.783189 6.36931 0.637428 -0.0571832 -0.271991 -1.0169 0.321243 -1.46582 -0.998962 -0.00556102 -0.104618 1.35736 0.116866 -1.08698 -0.249181 1.29174 -1.1181 0.39412 -0.251557 2.74236 -0.188072 -0.0973235 -1.06016 -0.412484 -0.646945 -0.0784122 -4.53053 1.30435 1.40116 1.14164 -2.88387 -2.12995 5.06903 -2.68112 -0.620744 -0.323722 2.90802 -0.364819 0.201135 0.990461 -25.7066 -8.12759 1.27529 -4.87384 2.21015 -3.32904 -2.16505 1.26457 -1.21154 1.17233 0.71527 -0.389906 0.494708 -0.281904 0.317966 0 0 0 0 0 -0.170674 -0.1046 -0.012985 0 0 0 0 -0.012711 0 0.0297716 0 0 0.0117911 0.126392 -0.142602 0 0.00335574 -0.176176 -0.188778 0 0 0.0627337 0.00891709 0 -0.187102 3.68889 0 0 0.0249873 0.740919 0 -0.121496 0 0.189577 0 0 0.0272178 0 0 0.672071 -0.182825 0.166779 0 -0.18847 0.0639393 0 0 -0.0779531 0 -0.0446297 -0.106162 0.0548393 0 0 -0.00921447 0.00968403 0 -0.0290482 -0.612198 0.0188706 -2.85589 -0.0468021 0.0531037 0 0.00619264 -0.0644671 0.334638 -0.416163 0.119908 0 0 0 -1.02695 -0.0148771 0.00725746 -0.0756795 0.0853291 -0.0771153 -0.0110961 0.0136158 -0.0221366 0.0250439 0 0 0 0 0 0 0.179969 0 0.00651787 0 0 0 0 -0.0538696 0.46597 0 0 0.362393 0 0.0522209 0 0.00137515 0 0 -0.0367906 0 0.186083 -0.0363367 0.0220977 -0.00152138 0 0 0.0659081 0 0.699148 0 1.06562 0.033393 0 -0.353434 0.344227 0.00473516 0 -0.00470242 0 0 0.0253931 0 0.0483557 -0.254633 0 0 -0.0177932 0 0 0.0620913 -0.798169 -0.219431 0 0.763215 0 0.339083 0.0344739 0.145334 0.194862 0.085401 -0.1259 0.022936 -0.0341637 -0.868414 0.0586058 -0.0876048 0 0 0 0.0243871 0.0822009 0 0 0 0 -0.16557 -10.7759 -3.73911 2.97088 -1.02544 0.649376 -0.469178 -0.361894 0.275873 -0.247925 0.207133 0 0 0 0 0 0 +141 0 -0.430662 -0.503415 -0.115123 0.248078 -0.140586 -0.0538369 0.325194 0.958508 3.53613 0.777697 -0.0702114 0.0382125 0.597683 -0.0423096 -0.161962 -0.989301 -1.90938 0.902696 -0.796442 -0.193395 0.72312 0.882405 -0.0671927 1.23171 -0.00470646 -0.458303 -0.3108 0.00136794 0.175788 -0.0142325 0.74917 -0.359146 2.07061 -0.206194 -0.0244189 -0.037721 -0.243638 5.74937 -0.320012 -0.0126382 0.672859 1.48706 -0.0974271 -0.570609 0.924881 0.00098474 0.0180739 -1.7788 -0.251356 0.166468 -0.0636368 -6.98346 1.5355 -0.334033 0.207826 -1.92749 1.32564 -0.083913 -0.973213 -0.164666 0.542355 -0.0462387 -4.90647 1.23056 -0.410239 0.37351 -3.17848 -0.607664 -4.43319 -2.52669 0.0190906 0.157435 -2.65582 -0.9771 -0.0315807 -1.25014 -26.2778 -6.15693 0.0226382 -5.01492 2.68354 -3.04941 0.151538 -0.918348 0.975252 -1.63421 -0.662227 0.264278 -0.352839 0.128764 -0.110202 0 0 0 0 0 -0.115123 0.248078 0.0322729 0 0 0 0 0.0119691 0 -0.00425092 0 0 -0.00503611 0.0721375 -0.0561402 0 -0.0275045 -0.116527 0.166596 0 0 -1.05865 0.00522961 0 0.119493 0.0916871 0 0 -0.137206 0.0381893 0 0.122112 0 -0.344203 0 0 -0.0439307 0 0 0.215431 0.168087 -0.0738012 0 0.454678 -0.0484577 0 0 0.0406134 0 0.0320184 0.0108418 -0.0524519 0 0 0.00529365 -0.0755885 0 -0.0138456 -0.0378476 -0.001296 0.132201 -0.0981962 0.008016 0 0.0769033 0.071139 0.254852 -0.0876054 0.174981 0 0 0 -0.881765 0.111372 -0.30249 -0.0166402 0.0274965 -0.0644901 0.00582268 -0.00943173 0.0188476 -0.0397813 0 0 0 0 0 0 -0.140586 0 -0.0538369 0 0 0 0 -0.0256345 -0.135176 0 0 -0.270787 0 -0.0200375 0 -0.00903373 0 0 0.0546966 0 -0.0233558 -0.0106108 0.00386012 0.00874425 0 0 -0.0472061 0 -1.2822 0 -0.163624 -0.100131 0 -0.0743244 -0.196062 0.00276615 0 -0.00279693 0 0 -0.0437095 0 -0.325797 0.114495 0 0 0.0255347 0 0 -0.0711759 0.592096 -0.059282 0 -0.934253 0 0.317026 0.109371 -0.0720355 0.496311 0.00200225 -0.43174 -0.416239 -0.0353007 -0.0665448 -0.96368 -0.0653218 0 0 0 -0.106106 0.0816204 0 0 0 0 0.0456129 2.47564 1.9612 -0.496077 0.0361602 -0.354041 0.665955 0.352629 -0.257617 0.180291 0.0737312 0 0 0 0 0 0 +142 0 -0.158861 0.105625 0.118309 0.035901 0.118321 -0.090905 0.467038 1.02006 2.56454 -1.22794 -0.278542 -0.601532 -0.082059 -0.539328 -0.0405138 -0.719119 -5.53996 -0.38703 -0.763728 -0.438584 -0.296527 -0.387717 0.652246 -0.764629 0.126024 3.0234e-05 0.573296 0.03896 0.653105 -0.0251867 1.34955 -0.0102771 -0.675572 1.05153 0.0620512 -0.136663 1.54041 -0.517423 -1.09918 -0.135697 0.157653 2.33556 -0.561939 -4.00066 0.646291 -0.0339545 0.159663 -1.31099 -0.290246 1.22842 0.456211 1.74714 0.787628 -0.433487 0.149271 0.166369 0.501065 -0.499631 0.239188 0.29342 0.251306 0.386025 -0.21615 0.715333 -0.959546 0.278291 0.112672 1.1681 -3.3006 0.845481 -0.739963 0.577599 -3.18325 -0.441011 -0.133575 -1.81168 5.2676 3.7727 -4.30795 -0.00716946 0.710551 -0.983313 0.961115 -0.305429 0.733224 -2.05585 -0.462753 0.498129 -0.436397 0.450259 -0.409434 0 0 0 0 0 0.118309 0.035901 0.0070683 0 0 0 0 0.00788066 0 0.06857 0 0 -0.00780216 -0.0879476 0.165039 0 0.0370897 -0.00960812 0.311472 0 0 -2.17208 -0.00621188 0 0.148906 0.30281 0 0 -0.280703 0.0598729 0 0.491803 0 -1.16634 0 0 -0.15233 0 0 1.21208 0.113617 -0.109831 0 0.104477 0.0244126 0 0 0.484291 0 0.0290899 0.11462 -0.0514834 0 0 0.00562109 -0.00216712 0 -0.0843666 -0.904022 0.0173014 2.01398 -0.167838 0.0757618 0 0.123075 0.0723709 0.774445 0.195431 0.263006 0 0 0 -2.41351 0.252136 -0.552403 -0.138837 0.151741 -0.141358 0.00722274 -0.00896241 0.0144083 -0.0420631 0 0 0 0 0 0 0.118321 0 -0.090905 0 0 0 0 -0.0198577 -0.38709 0 0 0.0575654 0 0.00885166 0 -0.0180684 0 0 0.0519293 0 -0.139963 0.00618475 0.0930832 0.0065574 0 0 -0.165775 0 -2.17768 0 -0.807702 -0.116905 0 0.0407522 -0.175031 0.0105972 0 -0.00205127 0 0 -0.0437323 0 -0.322075 -0.457498 0 0 -0.0507591 0 0 -0.249335 0.146035 0.00282713 0 -0.943851 0 0.158695 -0.0641969 0.0274533 -0.0853042 0.0247563 -0.124196 -0.21091 0.0680413 0.45264 0.134719 0.00497683 0 0 0 0.00395178 -0.141772 0 0 0 0 0.156319 17.0602 3.55393 -1.6156 1.38982 -0.814424 0.486926 -0.0918459 0.000430799 0.0666196 -0.129006 0 0 0 0 0 0 +143 0 0 0 -0.367543 -0.361163 0 0 0 0 -3.64447 3.5854 0.638152 0 0.406831 0 -0.0165755 0 0 0.512582 0.150757 0 0.168873 0 -0.64805 1.12225 0 0 -0.524096 0 0 0 -1.35131 -0.538708 0 -1.69121 0 0.0610738 -2.35136 0 3.80354 0 0.560615 -7.86045 0.781434 0 0.159149 0 0 -1.25275 -0.541871 0 2.19517 0 -0.445104 0.489856 0.264628 0 -0.642192 -0.145752 -1.00749 -0.718775 0 0 0 0 2.24389 0 2.59057 -1.63423 2.26002 1.13456 0.796595 2.19094 3.45489 0 0 0.71129 0 -6.24936 0 -0.650435 -5.6421 0 -3.5521 1.86563 -5.79122 0 -1.24567 -2.74664 0.344976 -6.44814 0 0 -0.00190351 -0.000157411 -0.465021 -0.108014 -0.367543 -0.361163 -0.0351526 0.0434664 -0.106319 -1.52728e-05 0.00751731 -0.013132 -0.0125363 0.0571853 -0.00134924 -0.000308834 -0.011698 -0.0993307 -0.0541553 -0.026467 0.0164024 -1.34127 0.0331738 -6.84695e-05 0.113292 0.144088 -0.00462879 0.0219734 -0.355068 -10.6885 0.877964 -0.00351709 0.00535372 -3.90477 -0.0167531 -1.55967 -0.00492277 0.172525 0.143826 -0.0742793 0.00628962 -0.00627633 -0.000592259 -4.50424 -0.279813 -0.251457 -0.000779528 -0.748366 0.247888 0.00983598 -0.00458694 -1.09878 -0.0123182 -0.0534497 0.1576 0.241695 0.00626372 0.00467135 0.0152902 0.0642089 -0.0541597 -0.0807842 -0.742928 -0.00764532 5.8169 -0.255603 0.118669 0.06379 -0.0536056 0.00392794 -2.60335 0.794361 1.9709 0.0208372 -0.0231365 -0.000588763 34.0693 1.90737 1.78811 0.154449 -0.0670963 1.59899 0.00733423 0.00103196 0.0371804 -0.409224 2.95034e-05 0.00265403 -0.0286117 0.157046 -1.91776 0 0 -0.465021 0 -0.108014 0 0 -2.12209 0 -3.25339 0.0226593 0.032134 0.606609 0.010823 0.144384 -0.321252 -0.0693069 0.0850077 -0.232052 0 0 0 0 -0.0935537 0 0.0870737 0 -0.754067 0 0 0.864931 0 0 -0.0451528 0 0 -0.00123314 0.00768187 0 0.101646 0 -0.36092 0 0 0 0.0113542 0.0769915 0 0 0.0345793 0 0 0 -0.439812 0 1.05732 0 -0.361175 0.416313 0.205439 0 0 0.655564 0.205092 -1.0358 0 0.205756 0 0.088322 0 -0.548911 -0.293104 -0.0425118 -0.169233 0.251467 -0.00459725 0.779121 0 -2.14366 0 0.692291 -2.63151 0 -0.317828 -0.141341 -0.573143 0 0.121891 -0.440557 0.265092 -0.688293 0 0 +144 0 0 0 0.192501 0.662168 0 0 0 0 0.303339 -2.26131 0.820941 0 -0.120811 0 0.099941 0 0 -0.270784 0.226106 0 -0.155525 0 -0.185425 -0.591923 0 0 -0.23327 0 0 0 -0.569853 0.376713 0 0.102628 0 0.040687 -0.624773 0 2.0787 0 -0.513387 1.45835 0.0202315 0 -2.95963 0 0 0.021688 -0.889582 0 -1.34174 0 0.0694978 0.433725 -0.269886 0 0.157654 -0.487933 0.484894 0.430296 0 0 0 0 -2.56047 0 -0.440627 3.1318 2.70437 -0.453799 -0.377873 0.320256 1.81768 0 0 0.556042 0 3.00488 0 4.63598 -2.50369 0 6.2903 -4.47981 3.86101 0 7.57457 -4.35892 4.56331 -3.31946 0 0 0.491813 0.0406706 -0.190251 -0.0641577 0.192501 0.662168 0.036744 0.0546712 -0.503063 -0.000337363 0.00450289 0.00810522 0.0139271 0.0451212 0.0301064 -0.00633524 -0.0614421 -0.31062 0.635226 0.457521 0.0740364 -0.19931 0.885425 0.00185078 0.31819 -1.08064 -0.0221086 0.0170519 0.0657117 -2.92624 0.494367 0.0179094 -0.293582 -0.956102 -0.0644882 -0.0383854 -0.03985 -0.525828 0.0988722 0.195336 -0.107955 -0.103877 0.00178578 0.406804 0.114641 -0.793862 -0.00459606 0.45846 0.387196 -0.0464488 -0.0174494 -0.0738153 -0.0463714 0.102948 3.49311 -0.172093 -0.0875472 0.117291 0.11489 -0.0442492 -0.0747714 -0.250144 0.164299 -0.194132 2.58913 0.257839 -0.0703325 -0.105083 0.0927074 -0.484605 1.66105 -0.446872 -0.338032 0.059932 -0.145859 0.0109872 -3.077 2.21207 -3.52143 0.415611 -0.437657 -2.31395 0.0457452 -0.0660676 0.497789 -1.17706 0.00763129 -0.0130302 0.11037 -0.0754687 -1.07986 0 0 -0.190251 0 -0.0641577 0 0 0.222011 0 0.609904 -0.0573582 -0.00820134 -1.04119 -0.00661348 -0.0912528 -0.025758 -0.0578805 0.0644695 -0.495643 0 0 0 0 -0.385916 0 0.038011 0 -0.0872165 0 0 0.363186 0 0 -0.00890556 0 0 -0.0520802 0.011061 0 0.044077 0 -0.0236345 0 0 0 0.0066988 0.071705 0 0 0.023742 0 0 0 0.147446 0 -0.276929 0 1.27516 -0.973025 0.678763 0 0 0.201648 -0.386366 1.10964 0 0.0557079 0 0.0480988 0 0.0865321 0.17391 -0.485236 0.362356 0.169283 0.0207187 0.167214 0 3.54466 0 1.65635 -0.926014 0 1.46563 -0.986127 0.902967 0 0.908318 -0.748604 0.662905 -0.351495 0 0 +145 0 0 0 -0.217625 0.034788 0 0 0 0 -2.53695 -2.37949 -0.0480891 0 0.467307 0 0.00918897 0 0 -0.286302 0.788627 0 -0.10627 0 -0.9368 -0.996829 0 0 -0.724304 0 0 0 -1.50488 0.313095 0 -1.39287 0 -0.0974167 -2.24292 0 -0.831199 0 0.0973751 -4.20442 -0.434614 0 -1.70469 0 0 2.96819 0.427406 0 -0.79738 0 -1.04871 0.128295 -0.475207 0 -1.08168 -0.117263 0.8725 0.0925157 0 0 0 0 -0.0755261 0 -0.33736 -1.87409 2.56341 -1.46381 -0.931268 -1.80301 4.06043 0 0 3.25593 0 4.50314 0 2.22479 1.71125 0 2.22523 -1.0577 3.29387 0 1.68897 0.406459 1.70646 1.6798 0 0 0.0257201 0.00212693 0.163355 0.0757021 -0.217625 0.034788 -0.0136567 0.0414091 0.0284895 -2.1658e-05 0.00695142 -0.0099204 0.00195251 0.205887 0.00127592 -0.000412044 -0.00189861 -0.0113359 0.858 0.0179457 0.152726 -1.37013 1.25363 8.19422e-05 0.186836 1.56123 -0.000926025 -0.0146105 0.259099 -6.17 -0.175199 0.00133976 0.13802 -3.05335 -0.00236018 0.634497 0.000485661 0.763692 -0.0594203 0.0188127 0.0615057 -0.0070498 0.000150796 1.52083 -0.214595 -0.0134826 -0.000192886 -0.308229 0.0427467 -0.00515484 -0.00012894 0.155585 -0.00500093 -0.0316639 1.32146 0.189404 -0.0031435 9.15082e-05 0.0062418 0.0150432 0.0139353 -0.00635527 -0.473076 0.0546054 14.4114 -0.0950887 -0.023022 -0.133111 0.0403377 -1.07998 -1.64261 0.868465 0.956414 0.0132573 -0.0813126 0.000442302 -11.5033 -0.30467 -5.38721 -0.0258803 0.0472581 -0.998406 0.00186993 -0.00571733 0.0547366 -1.29474 0.000413389 -0.00115616 0.0126032 -0.0360953 0.382691 0 0 0.163355 0 0.0757021 0 0 0.262561 0 -0.0789273 -0.132963 0.0227743 -0.618979 -0.0259594 -0.131724 0.0885493 -0.0692456 0.00657781 -0.574297 0 0 0 0 -0.159462 0 0.202257 0 -0.000215507 0 0 0.0866188 0 0 0.0190059 0 0 -0.043583 0.0103787 0 0.0242 0 -0.112101 0 0 0 -2.68426e-05 0.0704593 0 0 0.124379 0 0 0 -0.0195435 0 -0.0984755 0 0.179987 -0.226575 -0.284408 0 0 -0.188893 -0.297915 -0.149148 0 -0.250949 0 -0.162472 0 0.0392322 0.260475 -0.260155 0.309386 0.131478 -0.00255224 0.100625 0 2.08106 0 2.16369 -0.485305 0 0.695857 -0.358619 0.287993 0 0.61917 -0.45635 0.442785 -0.187184 0 0 +146 0 -0.869716 -0.421222 0.191523 0.123494 -0.496665 -0.195754 0.893554 3.52152 0.692878 -2.58919 -0.137303 -0.440035 -0.298634 -0.736982 0.117701 -2.28058 -12.6774 -0.314611 0.320376 -0.390992 -0.133995 0.0403022 0.386464 -0.934239 0.300213 -0.403854 0.388447 0.0277055 0.549939 0.00313159 0.57889 0.1844 0.310328 0.6145 0.0717598 -0.0115989 1.76022 2.33023 -0.873931 -0.11308 -0.426942 3.00613 -0.195466 -3.88703 -0.411832 -0.0282109 0.0978689 0.480375 0.519118 1.72929 -1.79301 -4.46019 -0.241427 0.263434 -0.76385 -3.10711 -0.292214 -0.259494 1.21 0.430076 0.461687 -0.0372596 1.13947 1.64202 -2.60453 0.627946 -2.14786 1.72175 -0.548552 -0.785417 -0.926986 -1.82618 -1.46429 -1.37051 0.929063 0.294459 -7.89068 2.99166 -6.40804 1.9378 -0.610913 -2.5272 3.35762 -3.33434 5.07241 -6.41635 1.44126 0.922872 -0.124894 2.58668 -2.23643 0 0 0 0 0 0.191523 0.123494 0.0110458 0 0 0 0 0.00572519 0 0.0728415 0 0 0.0043308 0.0693609 0.1558 0 0.0240275 0.548734 0.532855 0 0 -0.625464 0.00325581 0 0.193675 1.22104 0 0 -0.0560456 1.00804 0 1.11126 0 -0.194493 0 0 -0.0144322 0 0 3.12352 0.122025 0.0911131 0 0.234629 -0.0308533 0 0 0.581265 0 0.0190961 2.14054 0.0320551 0 0 -0.00849907 -0.0185424 0 0.0275426 -0.0209369 0.0633302 -2.48862 0.208236 0.0610632 0 0.0337217 -0.543944 0.212647 -0.171039 0.263094 0 0 0 -24.3398 -1.11641 -3.3905 -0.107026 0.251694 -3.44487 -0.00308888 0.00695224 -0.0966655 -0.561474 0 0 0 0 0 0 -0.496665 0 -0.195754 0 0 0 0 0.198194 -0.740047 0 0 -0.466079 0 -0.0517398 0 -0.0311421 0 0 -0.0721025 0 -0.0151894 0.174075 -0.0512421 -0.00599721 0 0 -0.255586 0 -8.4227 0 0.661828 -0.31596 0 1.35772 -0.135743 -0.00615929 0 0.025756 0 0 -0.0940447 0 -1.67848 -0.91853 0 0 -0.0867384 0 0 -0.192952 2.12537 0.0262582 0 -1.63681 0 0.683027 0.0456534 -0.039996 0.0667791 0.0191887 0.241141 -0.180195 -0.0481933 1.06205 -4.49082 -0.0112484 0 0 0 -0.0967358 0.0156187 0 0 0 0 0.275298 -6.26738 1.27583 -4.86365 -0.203 0.0770584 -0.756037 0.15654 -0.21494 0.361218 -0.985642 0 0 0 0 0 0 +147 0 1.38454 0.0410383 0.278259 0.244143 -0.135536 -0.152114 1.3144 3.53427 0.66196 -2.31623 -0.116899 -0.0270886 -0.429107 -0.208833 -0.0292446 0.848373 2.59161 -0.54753 0.263796 -0.271572 -0.282028 0.244809 0.538437 -0.744633 0.710403 0.314602 0.226697 0.0943949 0.123229 0.104393 0.721678 -0.0988353 0.837789 0.661601 0.293987 -0.00208144 0.351685 0.649332 0.492215 -0.127393 -0.693588 2.03924 0.454405 -1.49809 -0.990825 -0.0548997 0.202633 0.449815 -0.631854 -0.0211676 -1.33798 -4.11613 -0.215847 0.241589 -0.0205967 -0.281326 -0.328442 -0.232264 1.1436 0.779902 -0.447893 0.0272314 -0.545372 -2.82238 0.0227736 -0.1892 3.28381 0.585769 -0.496505 -0.791189 0.0860986 0.372127 -0.413188 -0.10222 0.0137948 -2.48697 -3.84019 4.76785 -8.19919 1.89597 -1.56365 0.222313 3.27808 -2.96438 4.75887 -6.9124 3.46752 -2.32009 1.79906 -0.819411 -0.501135 0 0 0 0 0 0.278259 0.244143 -0.00615899 0 0 0 0 -0.00438994 0 0.0210648 0 0 -0.00324786 0.00174844 -0.11261 0 -0.00879505 -0.0237252 0.105264 0 0 0.716628 0.000104855 0 -0.718786 -2.49579 0 0 0.055693 -0.476199 0 -1.2968 0 0.560405 0 0 0.0499914 0 0 -3.15902 -0.0942423 -0.0743435 0 -0.138685 0.103286 0 0 -0.368408 0 -0.0226468 -1.02673 0.0534476 0 0 0.00600446 0.000758367 0 -0.0265255 -0.280963 -0.0420685 5.97463 -0.176823 0.068954 0 0.030655 -0.114841 -0.991499 0.449518 0.234903 0 0 0 22.3807 1.01381 0.898664 0.0964665 -0.20045 2.89995 0.00282063 -0.00520423 0.0768287 -0.049436 0 0 0 0 0 0 -0.135536 0 -0.152114 0 0 0 0 0.0844212 0.221761 0 0 -0.345208 0 -0.0425175 0 -0.0214492 0 0 0.108874 0 -0.117467 0.0522793 -0.0488663 0.0049576 0 0 -0.162458 0 -2.37526 0 -2.2774 -0.586644 0 0.329703 -0.616804 -0.0071096 0 0.0184744 0 0 0.0165566 0 -1.37482 -0.212852 0 0 -0.0677536 0 0 -0.040588 0.737699 0.110935 0 -0.101796 0 -0.659226 0.120529 -0.081983 -0.0931988 0.0380829 -0.00969807 0.558999 -0.323159 0.980001 6.29917 0.0091101 0 0 0 0.0857498 0.141823 0 0 0 0 -0.023164 10.3141 2.44028 -2.13745 0.891069 -0.941028 1.51029 0.225256 -0.25065 0.348895 -0.356768 0 0 0 0 0 0 +148 0 0.721722 -0.0665103 0.181344 0.105027 0.0949083 -0.0191692 0.217556 0.759539 0.597414 -1.46347 0.00469275 -0.0681242 -0.282713 -0.135004 -0.0505952 -1.00482 -2.64656 -0.34235 -0.0817994 0.156809 -0.0916787 -0.0181636 0.36469 -0.34982 0.0904988 -0.296826 0.158453 0.0326883 0.433138 -0.0251479 0.531473 -0.133292 -0.307129 0.0781643 -0.000104056 0.0476947 1.21557 -1.95476 0.291481 -0.022382 -0.41926 2.33536 0.335418 -0.339143 -0.45824 -0.0100109 0.122428 -0.252415 -0.403055 0.816863 -0.274603 -0.899802 0.0327035 -0.0740254 0.191332 -0.605768 -0.0460796 0.164625 0.242067 0.43446 -0.902828 0.00840487 0.055664 0.466919 -0.317169 -0.386881 -0.220704 1.31902 -0.471996 0.205036 0.295393 0.516723 -1.42264 0.263734 -0.153569 -1.75023 7.97186 2.29527 1.7524 0.961243 -0.062759 1.59221 0.987671 -0.817868 1.90993 -1.97758 1.60367 -1.18471 0.17385 0.0450325 -1.76144 0 0 0 0 0 0.181344 0.105027 0.00952576 0 0 0 0 0.0047294 0 -0.115374 0 0 0.00365751 0.0602593 -0.502184 0 -0.0681406 0.711831 -0.816158 0 0 -0.657246 0.00283026 0 0.127757 3.46408 0 0 -0.0506546 1.70545 0 0.400014 0 -0.234022 0 0 -0.0149685 0 0 0.565082 0.100731 0.0764285 0 0.201203 -0.102327 0 0 -0.147876 0 0.0153549 -1.98123 -0.12804 0 0 -0.00693931 -0.016875 0 0.0126681 0.234834 -0.0210081 -7.23794 -0.0892876 -0.0939486 0 -0.00913368 0.722395 0.937547 -0.459103 -0.352638 0 0 0 -4.65919 -0.442962 2.83904 -0.0208495 0.0442225 -0.62271 -0.00253082 0.00572657 -0.0796715 0.908168 0 0 0 0 0 0 0.0949083 0 -0.0191692 0 0 0 0 0.0106186 0.541598 0 0 -0.290689 0 -0.049577 0 0.00645613 0 0 0.0262885 0 0.0395812 0.00128831 -0.0689713 0.00420514 0 0 0.0372303 0 1.53954 0 -1.0146 -0.182712 0 -0.0068972 -0.103454 -0.0132232 0 0.00169914 0 0 0.0721499 0 0.0628981 -0.239606 0 0 -0.0298244 0 0 0.324634 -0.883682 0.134056 0 0.865535 0 -0.416202 0.103781 -0.110293 0.66837 -0.00201506 -0.523062 0.0742638 -0.0786489 -0.343051 -0.378964 -0.082594 0 0 0 -0.0109099 0.122128 0 0 0 0 -0.0996543 5.70085 1.54432 -0.209439 0.429723 -0.278268 0.497968 0.153367 -0.133156 0.184739 -0.123336 0 0 0 0 0 0 +149 0 0 0 0 0 0.387595 0.00570398 -1.32063 -2.99759 0 0 0.0659271 -1.26356 0 -2.1722 -0.00319169 0 0 0 -0.0858463 -3.6565 0 0 0 0 -0.343617 0 0 0.310693 0.220538 -0.796842 0 0.0465164 0 0 -0.163959 0.0144927 0 0 0.243226 -1.24876 0 0 0.112918 -3.45454 0 -0.584343 0.343129 0.0414668 -0.20146 -3.10164 -0.157543 0 0.0527188 -0.0964325 0.173723 1.02396 0.133246 0.208663 0 0 0.432892 -0.903901 0 -2.59897 0.0606164 -0.0780782 0 0 0 0 -0.348231 0.21878 0 0.473856 -1.98502 0 0 0 4.5788 0 -0.332635 1.53324 0 -0.175794 0.157479 4.28549 0 -0.275503 0.0291878 -0.449821 1.59471 0 0 0 0.0888599 0.00225306 0 0 0 -0.0153801 0 0 -0.000680121 0 0 -0.00154365 0 0 0 0 -0.0345922 0 -0.000876089 0 -0.0610679 0 -0.153911 -0.0754833 0 0.000224549 0 0 0.0763796 0 -0.00189351 0 0 0 0 -0.000872187 0.00539337 0 -1.83592e-05 0 0 0 0 0 0 0 0 0 0 -0.00345633 0 0 0 0 0 0 0 0 0 0 -0.10495 0 0 0 -0.0393612 0.0362825 0 0.0815756 -0.104717 0 -0.0458523 0 -0.0840627 0 0 0 0.0574641 0 0 -0.0718722 0 0 0 0.0144928 0 0 0 0 -0.063858 0 0.387595 0.0888599 0.00570398 0.00225306 0.00935646 0.022731 0.0107317 -0.390606 -0.272424 -0.000171369 6.87618e-05 -0.0162582 -3.34606e-06 -0.00095131 0.000221237 -0.00260672 0.0206191 -0.00831272 -0.67582 0.92652 0.239109 -0.0836078 0.0446199 -0.0869768 0.0518687 0.0354528 -0.0956888 0.022769 -8.16622 0.0415859 3.80296 -1.32441 4.31975e-06 -0.600915 1.36821 0.000767258 0.00242061 -0.0852088 0.0132609 0.208494 -0.00707546 0.00266455 -3.67256 0.0194859 0.00235199 0.0100192 -0.00727215 0.147309 0.0529845 0.903176 3.17325 0.168163 -0.0553954 0.769857 -0.000232366 0.154166 -0.00960862 -0.0662636 -0.0301379 0.0383978 1.79055 -0.055967 -0.0537264 -0.1936 3.1884 -0.117161 0.545862 0.0614665 -0.113051 -0.0925387 0.00152662 -0.0550631 0.000212967 0.0263513 -0.041582 0.00812077 -11.9938 -0.0588759 1.51183 0.00830466 0.348118 -3.11202 0.000205271 0.0326932 0.00133483 -0.0237035 2.10004e-05 -0.0919828 0.099752 -0.0351026 -0.398532 0 +150 0 0 0 0 0 -0.248286 0.28146 0.0390752 0.364115 0 0 0.0336225 1.90818 0 3.83906 0.00151065 0 0 0 0.0318419 3.20622 0 0 0 0 -0.117651 0 0 -0.297834 4.04408 1.06008 0 0.00166688 0 0 -0.0973652 0.00683604 0 0 0.0325737 2.1021 0 0 0.0404656 6.82577 0 1.10456 0.7228 -0.0747212 -0.0826857 2.74196 -0.122112 0 -0.0211469 0.0123111 -0.0197406 -6.43734 -0.268883 -0.174762 0 0 0.13365 -2.57314 0 0.20423 -0.420172 0.198998 0 0 0 0 0.0482425 0.289162 0 -6.03356 -0.839815 0 0 0 -0.126645 0 -0.409796 -3.17937 0 -0.129196 0.145821 -2.40617 0 -0.135365 0.138974 -0.470562 -7.26847 0 0 0 0.00794077 0.00020134 0 0 0 -0.00128139 0 0 -5.91865e-05 0 0 -4.68913e-05 0 0 0 0 -0.00288021 0 -7.49393e-05 0 0.000278301 0 -0.00834824 0.00227918 0 3.31886e-05 0 0 0.0120249 0 -2.59405e-05 0 0 0 0 0.00041589 0.000936528 0 6.19913e-06 0 0 0 0 0 0 0 0 0 0 -0.00459136 0 0 0 0 0 0 0 0 0 0 -0.00607089 0 0 0 -0.00316373 0.00375085 0 0.00530822 -0.0104753 0 -0.00405204 0 -0.00370641 0 0 0 -0.000261877 0 0 -0.0113152 0 0 0 -0.00185371 0 0 0 0 -0.0100535 0 -0.248286 0.00794077 0.28146 0.00020134 -0.45355 -0.124802 0.000959013 -0.571771 0.0300069 -1.5314e-05 -0.0197653 0.0171943 -2.99014e-07 0.00021102 1.97703e-05 3.56957e-05 -0.01505 -0.000742849 0.0191562 -0.377227 0.176002 -0.162051 0.0223567 -0.0764033 -0.134628 0.278734 0.00837075 -0.0140222 5.59812 -0.00625564 0.519488 1.77085 3.86025e-07 -0.751341 0.648935 0.000360184 0.000635807 -0.123038 0.0051771 1.53027 0.000230568 0.0564613 3.59482 -0.582877 -0.00221757 2.28182e-05 -0.190555 -0.0696383 -0.0890871 -1.51216 2.5103 0.171326 0.0185258 -7.58494 -2.07649e-05 2.05289 6.96467e-05 -0.158288 -0.0179688 0.483704 0.300718 0.000495473 -0.0711158 0.146698 -31.0135 0.0432691 -0.154949 -0.0168203 -0.277973 -0.117639 -0.000182064 -0.0103788 1.90313e-05 -0.0424885 0.0895158 -5.88622e-05 -1.63837 -0.0386585 1.24994 0.000515211 -0.00143831 -3.88052 -5.21064e-06 -0.0221018 0.0580728 -0.498807 1.87666e-06 -0.0368515 -0.0921145 0.207635 -1.85343 0 +151 0 0 0 0 0 -0.656633 -0.033311 0.597133 3.08081 0 0 0.0698467 0.190526 0 1.13761 0.0072751 0 0 0 -0.0219901 -3.51126 0 0 0 0 0.207007 0 0 -0.170129 4.24538 0.43633 0 0.0813507 0 0 -0.0148 0.00511389 0 0 0.0470233 0.0959381 0 0 -0.0026686 -0.566011 0 0.427497 0.35415 0.0906264 -0.00263037 2.03853 0.111047 0 0.00363721 -0.0337973 0.12257 -0.137513 -0.023054 0.0333302 0 0 -0.181356 3.29741 0 1.19563 0.128505 0.228561 0 0 0 0 0.0906341 0.129828 0 3.75038 0.616679 0 0 0 -4.50058 0 0.131836 -6.40449 0 0.106988 -0.224298 -6.98591 0 0.04375 -0.462942 0.557348 -9.34162 0 0 0 -0.00477375 -0.000121039 0 0 0 -0.000482346 0 0 1.77932e-07 0 0 8.49556e-05 0 0 0 0 0.00021727 0 2.10123e-05 0 0.00340842 0 -0.0123215 -0.0213961 0 3.80071e-06 0 0 0.00167373 0 -0.000302324 0 0 0 0 -0.00658561 0.000255753 0 -0.000104307 0 0 0 0 0 0 0 0 0 0 9.0316e-05 0 0 0 0 0 0 0 0 0 0 0.000845966 0 0 0 -8.20761e-05 -0.000564062 0 -0.000645866 0.000175211 0 -0.000298486 0 0.0015964 0 0 0 -0.00320728 0 0 -0.00157496 0 0 0 -0.00166665 0 0 0 0 -0.00139934 0 -0.656633 -0.00477375 -0.033311 -0.000121039 -0.768105 -0.150848 -0.000576529 0.664851 -0.0571854 9.20632e-06 -0.0106605 -0.0291253 1.79758e-07 -0.000425135 -1.18853e-05 -0.000294953 0.000927084 0.000446577 1.41039 0.262906 0.0848104 0.567198 -0.0160417 0.201494 -0.0530387 0.393187 -0.0222598 0.0152914 8.46375 -0.00928164 0.224543 1.15938 -2.32066e-07 2.55427 0.415714 -0.000257832 0.0015826 0.105401 0.00347269 2.24889 -0.00076007 0.0580618 3.10534 2.94877 -0.000284391 0.00429446 0.475146 0.083787 0.0696673 0.388143 -1.81012 0.406477 -0.0312907 1.8343 1.24832e-05 -0.394681 -0.000710468 -0.186609 0.0323241 -0.530583 -0.737082 -0.0191177 0.0243274 -0.0347841 -1.80375 0.112677 0.185334 0.0127232 -0.355464 -0.0279307 0.000430352 -0.044514 -1.1441e-05 0.0312701 0.0891199 0.000600455 -0.708166 0.0409378 -6.75497 -0.000987841 0.268156 -5.81552 2.68653e-05 -0.0374631 0.186035 -3.25761 -1.12819e-06 -0.0944739 -0.16979 0.467791 -3.11152 0 +152 0 0.812414 0.228142 0 0 0.0101745 0.160125 0.540976 0.418948 0 0.204869 0 1.07799 0 1.26224 0 -0.2179 -1.68948 0.0258568 0 2.15911 0.00490041 -0.109546 0 0.0581957 0.0056018 0.0298551 0.000926795 -0.247142 0.373447 0.592551 0 0 -0.441402 0.00988687 -0.00592665 0 0.0209262 -3.36196 0 1.30508 0 0.0999492 0 1.99947 0 0.788973 -0.0692111 0 0 1.41603 0.105588 4.83843 0 0 0 -0.629956 -0.0420248 0 -0.11131 0 -1.04674 -1.64061 -0.772445 1.6266 -0.0125078 -0.369616 -0.246395 -0.00397612 0 -0.345933 0.0612614 0 -0.0384469 -0.834509 0.381706 -0.195366 12.1697 -0.21255 3.77253 0.21677 -0.311475 3.59442 -0.143088 0.148048 -0.446901 0.262357 0 0 0 0 -0.748141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0101745 0 0.160125 0 0 0 0 -0.124711 0.0319957 0 0 -0.0863773 0 -0.00453968 0 -0.000629036 0 0 0.814605 0 -0.587247 -0.0362965 -0.0164527 0.118923 0 0 -0.0441841 0 4.15987 0 -6.24951 0.692022 0 -0.295022 -2.08545 0.00072119 0 -0.00418862 0 0 0.0126068 0 1.78043 1.36988 0 0 0.203504 0 0 0.499563 0.947429 -0.00668475 0 1.94461 0 0.404909 -0.0131229 0.00726943 -0.173005 -0.0746725 -0.196014 -0.266108 0.00894397 -0.162854 5.37411 -0.00555949 0 0 0 -0.0234993 -0.0434709 0 0 0 0 -0.0420972 32.7582 0.840357 4.96712 0.505839 -0.485453 3.20288 0.0189436 -0.0378028 0.062023 0.140005 0 0 0 0 0 0 +153 0 -0.467307 0.139665 0 0 -0.1878 -0.222268 0.534456 1.54852 0 -0.0105307 0 -0.409436 0 -1.40547 0 0.742103 3.64782 -0.00508328 0 -1.23709 0.000935016 -0.140204 0 0.0132518 0.444904 0.14795 0.00106163 0.402369 -0.307163 -0.406935 0 0 -0.183744 -0.00539123 0.252257 0 0.0158141 1.13227 0 -0.926384 0 -0.0277868 0 -1.81239 0 -0.669222 0.183847 0 0 -2.29638 0.0873045 -4.15753 0 0 0 1.06974 0.015479 0 -0.0216887 0 0.462586 0.620432 0.492458 -0.654339 0.043379 -0.479099 -0.0362002 0.0122805 0 -0.075811 -0.0244109 0 -0.0266878 1.84427 -0.421516 0.0280794 -0.571424 -0.249591 -1.48534 -0.0919108 0.0448118 -0.367269 -0.0452315 0.0826797 -0.123447 -1.49988 0 0 0 0 0.615353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1878 0 -0.222268 0 0 0 0 0.381782 -0.165869 0 0 0.0177935 0 0.00127656 0 -0.00251217 0 0 -0.0250172 0 -0.276361 0.145642 0.000111146 0.00413876 0 0 -0.0245656 0 0.599369 0 0.844273 -0.84787 0 1.02878 -0.258307 -0.000746354 0 0.0456121 0 0 -0.0156632 0 -1.05154 0.347931 0 0 0.0474824 0 0 0.00717509 -1.4736 -0.291941 0 0.93583 0 -0.57174 -0.041284 0.0863605 -0.308237 -0.0864418 0.206541 -0.116059 -0.0502358 -0.116197 7.34368 0.0434629 0 0 0 -0.0219676 -0.00562555 0 0 0 0 0.0237057 -2.46604 -0.0999136 -2.09996 -0.226014 0.208116 -0.389822 -0.0244082 -0.0152117 0.0567459 -0.600482 0 0 0 0 0 0 +154 0 -1.29902 -0.136424 0 0 -0.383962 0.0161506 -0.516187 0.668912 0 -0.0586562 0 0.32569 0 -0.0749341 0 2.3554 4.38886 0.00670651 0 0.495418 6.40329e-05 0.0388702 0 -0.0223642 -0.0676997 0.954902 0.00220734 -0.553624 -2.01337 0.133508 0 0 0.724169 0.0298539 -0.272238 0 0.00571441 5.1106 0 0.490609 0 0.125542 0 -0.769593 0 0.35233 -0.996956 0 0 -2.24426 0.0378823 -5.98892 0 0 0 -0.508512 -0.0153994 0 0.00612253 0 0.741288 -0.966229 0.723891 -0.383686 0.0392235 0.584225 0.176881 -0.0328182 0 0.0989775 0.0225795 0 -0.0347818 -0.593269 0.151016 -0.104202 -14.6241 0.212165 -5.51873 0.00600846 0.184484 -3.5243 0.142712 -0.137902 0.0462201 0.185872 0 0 0 0 4.03347 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.383962 0 0.0161506 0 0 0 0 0.61004 0.0615238 0 0 -0.0935966 0 -0.0129077 0 0.001693 0 0 -0.47401 0 -0.392621 0.217456 -0.0157154 -0.0498141 0 0 0.0230978 0 -8.31347 0 6.06909 -0.327476 0 1.78825 0.785814 -0.00137417 0 0.0794723 0 0 0.00470281 0 -1.8231 -1.70182 0 0 -0.172227 0 0 -0.227611 0.292658 -0.45236 0 0.637026 0 -1.0735 -0.0269333 0.157043 0.219265 -0.115966 0.0557972 0.342403 0.0711766 -0.179884 11.8431 0.0611079 0 0 0 0.0548849 -0.0198276 0 0 0 0 -0.0452261 -34.851 0.482336 -9.47522 -0.45004 0.46243 -3.31977 0.0556702 -0.116262 0.153564 -1.10397 0 0 0 0 0 0 +155 0 0.800114 0.275992 0.000577443 0.0477473 -0.0623695 0.0409086 1.34206 1.86447 -0.000396984 0.318999 -0.014906 1.32549 2.62561e-07 2.79579 -0.00107475 0.813479 4.43676 0.110278 -0.00287531 4.87109 0.0135339 -0.0229138 -3.16419e-07 0.082419 0.513568 0.0538813 0.0109666 0.277981 1.21385 0.621766 -1.41593e-05 -0.0729363 0.106465 0.06594 0.337235 -0.000307641 0.00478267 -0.65031 -0.0406835 1.66777 1.21169e-05 0.160436 -0.000780065 5.7408 0.000372767 0.510025 0.599086 -0.198606 0.00262706 2.11953 0.0494643 6.27467 0.00297775 -0.000586539 -0.0106824 3.35788 0.171402 -0.0672561 -0.150553 -6.28651e-05 -2.09425 0.542125 -2.51794 0.377777 -0.113981 -1.3392 -0.499241 0.0836385 5.86563e-05 -0.328946 0.0940529 -0.0691827 -0.0191206 0.0184242 0.280446 0.0853174 2.42296 -0.206257 -2.3383 0.0758467 0.131342 -3.15403 -0.225354 0.147214 -0.269514 -5.16253 -7.73592e-07 5.64588e-05 -0.00199091 0.126206 -4.76322 0 0 0 0 0 0.000577443 0.0477473 0.000155902 0 0 0 0 3.35758e-06 0 0.00413863 0 0 4.52877e-05 1.24185e-05 0.000419205 0 5.79307e-05 -0.000464453 0.029938 0 0 -0.0598634 8.81483e-07 0 -0.000575934 -0.154828 0 0 -0.0090996 -0.0166777 0 -0.0221999 0 -0.000886077 0 0 -0.000130698 0 0 -0.0438781 4.77904e-05 0.000627766 0 0.00221267 0.00172797 0 0 -0.0270991 0 0.000346659 -0.0597838 -0.000470991 0 0 -1.07101e-05 -0.000231016 0 -0.000914172 -0.0230851 2.48954e-05 -0.224373 2.72036e-05 0.0127043 0 0.00165133 0.00315325 -0.0700998 1.49625e-05 0.0110489 0 0 0 0.0901548 0.00157274 -0.0216341 -0.00181928 0.00212422 0.0247558 -3.54165e-05 4.62416e-05 -8.43412e-05 -0.0126338 0 0 0 0 0 0 -0.0623695 0 0.0409086 0 0 0 0 -0.146732 0.464442 0 0 0.0469764 0 0.0121454 0 0.0132082 0 0 0.583301 0 -0.0534786 -0.0476049 0.0600557 0.0675339 0 0 0.117298 0 10.134 0 -4.45966 0.853225 0 -0.325727 -1.14684 0.00979824 0 -0.0208197 0 0 0.0525688 0 3.0117 1.27787 0 0 0.146672 0 0 0.387719 -5.79435 -0.236723 0 1.68233 0 -1.32791 0.195678 -0.129054 -0.10449 -0.274991 -1.41999 -0.408694 0.0405898 -0.117124 0.806715 0.034118 0 0 0 0.0773124 -0.0930722 0 0 0 0 -0.114904 25.6639 1.91364 2.09631 0.68601 -0.45489 2.07875 -0.124367 0.0583373 0.0285075 0.0757165 0 0 0 0 0 0 +156 0 -0.281009 0.0509406 0.000265455 0.0254225 -0.280664 -0.174513 0.48818 1.49004 0.00132839 -0.0421517 0.00600881 -0.988706 -2.31985e-07 -2.62877 -9.96031e-05 1.46806 2.58887 -0.00968149 8.07368e-05 -2.9757 9.00421e-05 -0.0411394 2.01075e-07 0.00904292 0.171415 0.582956 -0.0069955 0.140611 0.467151 -0.646854 1.62724e-05 0.00310424 0.143817 -0.0894779 0.0320971 1.71124e-05 -0.029848 1.59717 0.0270867 -1.21316 -2.01635e-05 -0.344679 0.000213482 -4.92202 -0.00174399 -0.518734 0.252836 0.0272622 -0.00099627 -1.24629 0.101355 -12.8225 -0.000741492 0.00117478 -0.0162822 -2.6076 -0.0479785 0.0144693 0.012606 2.74067e-05 0.838534 0.726744 0.630435 0.66518 0.0618107 0.0576096 -0.118327 -0.10294 -2.36073e-05 -0.0130266 0.00194021 0.00532228 0.0723266 1.48396 -0.304915 -0.217534 -3.70175 -0.699071 -1.38987 -0.34384 0.277926 -1.3987 0.00597289 0.0664615 -0.181298 -1.52199 3.61924e-06 -9.47475e-05 0.00293702 -0.035294 -1.83313 0 0 0 0 0 0.000265455 0.0254225 -0.00014164 0 0 0 0 -1.16543e-06 0 -0.00117142 0 0 4.48165e-05 -8.39314e-06 -3.35568e-05 0 -7.93281e-06 0.000183426 -0.00574793 0 0 0.0135901 -4.7735e-07 0 0.000121267 0.0174847 0 0 0.0014646 0.00938004 0 0.00804198 0 0.00014025 0 0 1.45639e-05 0 0 0.0331844 -1.68592e-05 0.000455678 0 -0.00204181 0.00223495 0 0 -0.00161656 0 3.93555e-05 0.00514135 -0.000311318 0 0 0.000469393 0.000271402 0 -0.00110461 0.00645017 -0.0016421 -0.0454273 1.5334e-05 0.00253615 0 -0.00203547 0.00232492 -0.00858346 -0.00392383 -0.00317426 0 0 0 -0.0306423 -3.5623e-05 0.006343 -0.000800825 0.00144108 -0.00553905 0.000102703 -7.91141e-05 -0.000108248 0.000423795 0 0 0 0 0 0 -0.280664 0 -0.174513 0 0 0 0 0.0152186 -0.13671 0 0 0.00956972 0 0.00242372 0 -0.0025722 0 0 -0.303178 0 -0.66281 0.148878 0.0241962 -0.0424973 0 0 -0.0172553 0 -6.09926 0 -0.519314 -1.1776 0 0.795718 -1.29919 0.00319253 0 0.0250522 0 0 -0.0171893 0 -2.62551 -0.634904 0 0 -0.0981686 0 0 0.406978 0.213252 -0.0633456 0 3.29681 0 -0.416531 -0.0568816 0.1364 0.0788142 -0.0402631 0.871494 0.0422893 0.0234453 -0.790799 13.095 0.0295071 0 0 0 -0.0587618 0.00666665 0 0 0 0 -0.00310564 -4.123 -0.878335 -1.7137 -0.975629 0.583691 0.284824 -0.0510728 0.0127526 0.026186 -0.480221 0 0 0 0 0 0 +157 0 -1.27742 -0.165432 0.00193992 0.100616 -0.418183 -0.305642 0.964621 2.5428 0.00941732 0.181254 0.0589487 -0.585357 -2.16531e-06 -0.504707 0.00237511 -0.857323 -3.7637 0.109447 0.00549574 -0.1173 0.0123377 -0.133636 2.64492e-06 0.0509729 0.675502 -0.321604 0.00400082 0.804298 2.49203 -0.447578 0.000160127 0.128165 0.201918 0.0654491 0.361274 0.00121794 -0.0657688 3.07987 0.164294 -0.823641 -0.000136246 -0.0636696 0.00320688 -0.691542 -0.00835493 -0.767948 1.48647 0.30201 -0.00649002 -1.75118 0.0542863 -2.90949 -0.00657249 0.00761996 -0.0999738 -0.474716 -0.1618 -0.140336 -0.0136837 0.000164577 -1.23157 -0.133375 0.0318713 -2.30765 0.0144321 -2.29119 0.11376 -0.0942399 -0.000167294 0.128488 0.0305897 0.116827 0.124023 -0.562473 -2.43982 0.0175764 -8.67858 -0.4042 -5.72715 -0.671428 0.431325 -7.48439 -0.233528 0.0711963 -0.0456884 -7.47092 1.73387e-05 -0.000489736 0.0138068 -0.227123 -9.77888 0 0 0 0 0 0.00193992 0.100616 -0.00144014 0 0 0 0 -3.03125e-05 0 -0.00297404 0 0 -0.000211628 -0.000118588 -0.000206406 0 -2.91454e-05 0.000717842 -0.0195621 0 0 0.0855077 -8.15541e-06 0 -0.000429779 -0.0127491 0 0 0.00832696 0.0224612 0 -0.00175842 0 0.00160841 0 0 0.000145198 0 0 -0.0544749 -0.000432565 -0.00329283 0 -0.0205936 -0.00702696 0 0 -0.00960708 0 -0.00273055 0.0146552 0.00305021 0 0 0.00121239 0.00237352 0 0.00274944 0.0321212 -0.00377436 -0.00722377 0.00178699 -0.00263611 0 -0.0095204 -0.00176714 -0.0080812 -0.0101784 -0.00741271 0 0 0 0.115252 -0.00816578 0.0341741 0.00891674 -0.00952507 0.000988334 0.000492422 -0.000511636 0.000330093 0.00454034 0 0 0 0 0 0 -0.418183 0 -0.305642 0 0 0 0 -0.262233 -0.196073 0 0 0.0123495 0 0.0112488 0 -0.00241557 0 0 0.00659624 0 0.558085 0.0653638 0.0722061 0.00823718 0 0 -0.0190058 0 0.708797 0 3.9445 -0.155685 0 0.619563 0.908834 0.00964533 0 -0.0353194 0 0 -0.015939 0 0.349991 0.0572815 0 0 0.0292241 0 0 -0.220198 0.828616 -0.230628 0 -1.85583 0 0.565033 -0.0645186 0.12827 -0.0337263 0.0657017 -0.0198597 -0.0465071 -0.0635698 0.185586 -4.74841 -0.0377201 0 0 0 0.0161165 0.0157729 0 0 0 0 0.00202181 -25.5736 -1.2026 -4.16741 -0.656448 0.491031 -1.97577 -0.139297 0.0234524 0.0826805 -0.457297 0 0 0 0 0 0 +158 0 0.0236418 0.353064 0.121243 0.261902 -0.252012 -0.24105 0.168475 2.59353 0.614556 -2.30464 -0.0358988 -0.0908653 -0.049003 -0.131916 0.0557178 1.91959 5.50986 -0.366412 0.143149 0.728205 -0.0328483 -0.40616 0.0632349 -0.618615 0.579739 0.747172 0.357817 0.259171 1.20484 -0.0431648 0.218817 0.118684 -0.674542 1.08153 0.0504078 0.0322422 0.851557 -0.373716 0.0866678 0.0889859 -0.170215 3.08124 0.127324 -0.534781 -0.479612 -0.165534 0.540521 0.568844 -0.207861 1.08635 -1.14969 -1.67802 -0.214938 0.196531 -0.271812 2.02477 0.0730247 0.0825571 0.951805 0.263774 0.941494 0.0695215 2.71821 -3.54796 -1.39088 0.559134 2.372 1.21165 -0.285395 2.11542 0.0435102 -0.132147 -1.15565 1.08215 0.175584 -1.96578 5.75848 7.06797 -9.20219 1.98067 -1.76243 -1.75038 1.76762 -1.82642 3.08911 -4.78624 0.56522 -0.472552 0.32907 0.871061 -5.22029 0 0 0 0 0 0.121243 0.261902 0 0 0 0 0 0 0 0.0283327 0 0 0 0 0.0869431 0 0.0123198 0.0108684 0.194698 0 0 0.00883448 0 0 -0.0681279 0.28491 0 0 -0.00828211 0.0469095 0 -0.0316768 0 -0.0247021 0 0 -0.00870181 0 0 0.286324 0 0 0 0 0 0 0 -0.0799866 0 0 -0.206075 0 0 0 0 0 0 0 0.104908 0 0.769713 0 0.0131415 0 0 0.0643731 0.353092 0 0.0921795 0 0 0 -0.523212 0 -0.230059 0 0 -0.134064 0 0 0 -0.0810579 0 0 0 0 0 0 -0.252012 0 -0.24105 0 0 0 0 -0.00750811 0.749959 0 0 -0.293515 0 -0.0353457 0 0.00263224 0 0 0.0396058 0 0.473994 0.0220463 -0.00298695 0.00642713 0 0 0.012125 0 -0.67863 0 2.64764 -0.149566 0 0.25474 1.34226 -0.00207603 0 -0.00356908 0 0 0.0831481 0 -0.341139 -0.898704 0 0 -0.0773618 0 0 -0.327115 -0.94379 0.114307 0 -0.321594 0 0.0816425 0.061497 -0.0693996 0.0269099 -0.0324685 -0.157356 0.0176721 0.0227044 -0.179305 -0.927843 0.0102126 0 0 0 0.167466 0.00522887 0 0 0 0 -0.180352 -19.2829 0.918456 -4.26404 -0.0364713 0.298263 -2.00811 0.0673564 -0.027734 0.119802 -0.200448 0 0 0 0 0 0 +159 0 -1.0425 -0.42706 -0.0680125 -0.0887788 -0.135886 0.184293 -0.136377 -0.567282 -0.412904 1.20176 0.139726 0.857253 0.0278627 1.42047 0.050058 -0.874003 -3.8379 0.270892 0.0431236 0.895786 0.0769996 0.305789 -0.0360472 0.454577 -0.214982 -0.320548 0.0165635 -0.2367 -0.687318 0.253804 -0.131206 0.322656 1.10403 -0.219001 -0.00753527 0.00738572 -0.0811394 5.26112 -0.0216101 0.298043 0.0995304 -1.68671 -0.0642186 5.05374 0.298561 0.250461 -0.495561 0.245946 0.130096 -0.83202 0.554489 5.15672 -0.0871306 0.0719109 -0.237405 2.36177 0.159639 0.0922824 -0.621076 -0.170159 0.42368 -0.0455363 1.08462 2.06759 0.912207 0.174793 -0.776117 -0.306359 0.194047 -0.664924 -0.209726 0.110099 0.401338 0.993753 0.765301 2.04473 -20.2868 -5.92165 0.034791 -4.3761 2.60261 -3.90116 -1.31964 0.927868 -1.06088 0.505848 -0.351853 0.27511 -0.241797 -0.5572 2.97798 0 0 0 0 0 -0.0680125 -0.0887788 0 0 0 0 0 0 0 -0.00652003 0 0 0 0 -0.0397283 0 -0.0048914 0.0227655 -0.0598304 0 0 0.293969 0 0 0.0644192 0.761927 0 0 0.0459696 0.132009 0 0.116465 0 0.0784766 0 0 0.0140309 0 0 0.422577 0 0 0 0 0 0 0 0.119397 0 0 0.23169 0 0 0 0 0 0 0 0.162479 0 1.83847 0 -0.057711 0 0 0.00750411 0.602863 0 -0.00532705 0 0 0 -0.757562 0 -0.0180205 0 0 -0.211303 0 0 0 0.0258952 0 0 0 0 0 0 -0.135886 0 0.184293 0 0 0 0 0.186028 -0.494064 0 0 -0.0822416 0 0.00601411 0 -6.38946e-05 0 0 -0.120706 0 -0.0476054 0.0438026 -0.0947034 -0.0125475 0 0 0.0306378 0 -0.00536623 0 2.62276 0.214313 0 0.384835 0.357678 -0.00541714 0 0.022264 0 0 -0.0635324 0 0.280269 0.809969 0 0 0.0932974 0 0 0.192382 -1.02397 0.320867 0 -0.572325 0 0.0345827 0.00902172 -0.128932 -0.186305 0.0312945 0.33028 -0.279912 0.0207689 0.983162 2.69196 0.0117583 0 0 0 -0.133029 -0.0238062 0 0 0 0 0.208841 -12.8521 0.0303149 -2.33528 -0.462936 0.447489 -1.24105 0.0285407 -0.0272588 0.130486 -0.330785 0 0 0 0 0 0 +160 0 -1.1838 -0.585628 -0.0151131 -0.0270864 -0.231741 -0.147699 0.268086 2.58805 -0.0831244 -0.00729962 -0.165829 -0.823936 0.00614407 -1.43055 -0.073122 -2.46566 -10.5703 -0.0172534 -0.175077 0.391257 -0.0746131 0.321855 -0.00793732 -0.0684073 0.303386 -0.827064 -0.27857 0.0775831 1.36583 -0.389999 -0.0280848 -0.346353 1.63025 -0.527188 -0.0601437 -0.0379269 -0.881819 8.2111 -0.460393 -0.0224471 0.0216046 -2.04267 -0.105178 -3.8403 0.0626075 -0.0367633 0.284778 -0.861827 0.238609 -3.76589 0.711066 4.82064 0.264664 -0.24588 0.14222 2.0716 0.530788 0.141111 0.0510732 -0.0350023 -1.4964 -0.429628 -0.624125 -0.794709 1.96595 0.585749 1.25855 -0.985987 0.0388221 0.964386 -0.324643 -0.569658 0.902304 -0.0118638 0.30107 1.79263 -41.9444 -3.08127 -11.3318 -3.90897 5.89525 -17.8828 0.203357 0.328254 -0.932152 -4.35864 -0.0737826 0.326305 -0.940444 2.19768 -5.91781 0 0 0 0 0 -0.0151131 -0.0270864 0 0 0 0 0 0 0 0.017906 0 0 0 0 0.0136245 0 0.00278106 -0.124656 0.0979516 0 0 -0.324402 0 0 -0.0186388 -2.01972 0 0 -0.0222861 -0.513328 0 -0.0645435 0 -0.0610187 0 0 -0.00346992 0 0 -0.0164044 0 0 0 0 0 0 0 -0.0849474 0 0 -0.155532 0 0 0 0 0 0 0 -0.0268239 0 0.189362 0 -0.00479269 0 0 0.107197 -0.01724 0 0.076974 0 0 0 0.0337864 0 -0.0907304 0 0 0.00418054 0 0 0 -0.0410539 0 0 0 0 0 0 -0.231741 0 -0.147699 0 0 0 0 0.276284 -0.397666 0 0 0.29161 0 0.0377344 0 -0.00783976 0 0 0.396206 0 0.49995 0.123438 0.0936609 0.0418773 0 0 -0.103396 0 0.31821 0 5.44454 0.0587871 0 0.827172 1.58098 0.0112165 0 0.0429821 0 0 -0.0358631 0 0.431885 0.458309 0 0 0.0243016 0 0 0.259898 -4.84205 0.231277 0 0.546455 0 -0.931905 0.0454692 -0.142819 0.0132216 -0.219124 -0.367632 -0.300723 0.0622326 -0.175872 -0.24362 0.183638 0 0 0 -0.104606 -0.079126 0 0 0 0 0.0882244 -47.913 -1.22348 -10.7492 -0.660016 0.516825 -3.60282 -0.144949 0.0540945 -0.0737943 -0.656445 0 0 0 0 0 0 +161 0 0.339586 -0.315958 0.00334335 0.109568 -0.182859 -0.113729 0.32791 0.953143 0.017526 0.249747 0.0969979 -1.05718 -9.74574e-06 -1.57009 0.000577854 -2.55712 -9.7042 0.0647212 -0.00165103 -5.00417 0.0085207 0.147495 1.24865e-05 0.0865982 -0.0289811 -0.801007 -0.00760015 -0.393726 -1.98242 -0.219845 0.00048311 0.0560741 0.250278 -0.0346601 -0.00854074 0.00275031 -0.112019 0.867342 0.18614 -2.38274 -0.000388422 -0.505886 0.00524046 -4.61538 -0.0147019 -0.93624 -0.931895 0.0128785 -0.00995073 -1.91272 0.158874 -1.06753 0.00348937 -0.00336638 0.0194019 -2.07287 -0.0485194 0.00462186 -0.0787012 0.000560246 -1.17194 2.57475 0.201508 -0.388988 0.286732 -0.717775 0.095072 -0.145903 -0.000574166 0.119912 0.0813956 0.133517 0.128877 -0.89841 -0.294997 0.635963 -1.1574 -0.502112 -1.74253 -0.278588 0.266475 -0.628696 -0.193464 0.11173 -0.247847 -1.12282 8.73753e-05 -0.00121786 0.0186818 -0.251579 3.44947 0 0 0 0 0 0.00334335 0.109568 0 0 0 0 0 0 0 0.000224801 0 0 0 0 0.000376616 0 2.59141e-06 0.00073986 0.0105359 0 0 -0.0556317 0 0 -0.00211737 -0.149011 0 0 -0.00832397 0.00299105 0 -0.0268688 0 -0.00205912 0 0 -0.000305137 0 0 -0.188126 0 0 0 0 0 0 0 -0.0406248 0 0 -0.0174256 0 0 0 0 0 0 0 -0.021773 0 -0.0590394 0 0.0221682 0 0 -0.0164296 -0.0599221 0 0.0305825 0 0 0 0.342919 0 0.0209639 0 0 0.0888677 0 0 0 -0.0042665 0 0 0 0 0 0 -0.182859 0 -0.113729 0 0 0 0 0.499429 -0.339485 0 0 -0.224415 0 -0.0106783 0 -0.00974107 0 0 -0.928852 0 0.538463 0.211076 -0.0710118 -0.133128 0 0 -0.136331 0 -2.29106 0 0.0469392 0.133854 0 1.2489 0.484725 -0.00128658 0 0.0912542 0 0 -0.0272713 0 -0.510939 -1.80069 0 0 -0.26028 0 0 -0.51138 -2.49442 -0.542472 0 -2.76176 0 -0.428975 -0.0326172 0.143516 0.0434175 -0.121443 -1.29971 0.0437152 -0.0245688 -0.155176 -11.1334 -0.0367088 0 0 0 0.041528 0.0310395 0 0 0 0 0.00786053 -0.919146 0.949979 -3.66421 0.071842 -0.0019946 0.200887 0.0041682 -0.015354 0.122865 -0.631997 0 0 0 0 0 0 +162 0 0.782258 -0.186616 0.00179167 0.044879 0.0521036 -0.309429 0.412017 0.131424 0.0106277 -0.00922022 0.0159578 -0.584648 -5.32045e-06 -0.549376 -0.00111927 -2.20316 -7.58952 0.0068515 -0.00332321 0.122836 0.000137757 0.281976 6.93908e-06 0.0166131 0.293321 -0.869749 -0.000359139 0.860357 0.58672 -0.279873 0.000277948 -0.0439956 -0.184939 -0.00508664 0.360066 0.00063182 -0.0502974 -4.19552 0.0570828 -0.734562 -0.000205735 -0.070088 0.0019071 -2.17271 -0.00738553 -0.984127 0.795253 -0.123857 -0.00388652 0.108398 -0.0182997 5.23083 0.00371764 -0.00328559 0.0308421 1.42295 -0.0087179 -0.00653795 -0.0357228 0.000300933 -0.952964 0.544082 -0.487978 0.606945 0.0788561 -0.451601 -0.331763 -0.0814834 -0.000350921 -0.0649976 -0.00311775 0.0327345 0.0206978 0.303096 -0.778499 -0.274783 11.1914 0.580807 2.32638 0.498072 -0.783489 5.0024 -0.0635492 -0.0347057 0.111468 0.0371946 4.3893e-05 -0.000503556 0.00468206 -0.0231349 -1.02091 0 0 0 0 0 0.00179167 0.044879 0 0 0 0 0 0 0 0.000492775 0 0 0 0 0.000328621 0 1.7845e-05 0.000462572 0.0112348 0 0 -0.0420518 0 0 -0.0012956 -0.0632778 0 0 -0.00661617 0.0112654 0 -0.0291891 0 -0.00122042 0 0 -0.000192827 0 0 -0.130135 0 0 0 0 0 0 0 -0.0170851 0 0 -0.0345337 0 0 0 0 0 0 0 -0.0170564 0 -0.150126 0 0.0126856 0 0 -0.0076772 -0.0630611 0 0.0131044 0 0 0 0.255358 0 0.0047614 0 0 0.0448029 0 0 0 -0.00482835 0 0 0 0 0 0 0.0521036 0 -0.309429 0 0 0 0 -0.0557099 0.213835 0 0 0.0413666 0 0.00611653 0 0.00586372 0 0 -0.20499 0 0.676848 -0.0430183 -0.00221675 -0.0254472 0 0 0.0490537 0 -4.69358 0 -4.2097 -0.792317 0 -0.362617 -0.103743 0.00138708 0 0.000275402 0 0 0.0259423 0 -1.58984 -1.18941 0 0 -0.133153 0 0 0.208709 0.57351 0.216745 0 0.773286 0 0.582565 0.0621581 -0.054907 0.23795 -0.0611183 -0.110784 -0.270647 0.0535042 -0.191936 1.74939 -0.0104665 0 0 0 0.00228443 -0.0333688 0 0 0 0 -0.0458637 25.1243 0.878547 2.86341 0.495672 -0.499006 2.47426 -0.0790872 0.0498748 -0.0331487 0.215208 0 0 0 0 0 0 +163 0 0.172391 0.111339 0.000265754 0.0101964 0.0409577 0.0207388 -0.512615 -0.696363 0.00126028 0.0862341 0.00852795 -1.00141 -7.6415e-07 -1.8001 -8.91411e-05 -0.610195 -1.79047 -0.0258525 -0.000522508 -0.799614 -0.00166717 -0.386689 9.65892e-07 0.0187863 -0.358949 0.0348573 -0.0016075 0.00890994 -0.269708 -0.487841 3.63533e-05 -0.00166969 -0.532558 -0.0145704 -0.262105 0.000244615 0.00802231 -0.0803699 0.0246535 -0.056559 -3.11342e-05 0.0757172 0.000621212 -2.9819 -0.00122161 0.34665 -0.0935264 -0.0169242 -0.00112275 -0.749107 0.0117636 7.47484 0.00075964 -0.000761978 0.0145613 6.08398 -0.0293294 -0.0443985 -0.0404966 4.4457e-05 -0.32323 1.49755 -0.122115 0.517054 -0.0014 0.278429 -0.171137 0.0322113 -4.09926e-05 -0.149486 -0.0430107 0.0240455 -0.0458155 3.95716 -0.284134 -0.12068 -0.777459 0.0543001 -0.190395 -0.0672275 0.0363954 -0.647911 -0.084925 0.0247204 -0.131008 0.810196 7.26018e-06 -0.000128494 0.00186427 -0.0336436 0.4693 0 0 0 0 0 0.000265754 0.0101964 0 0 0 0 0 0 0 0.000939639 0 0 0 0 0.000136355 0 1.82711e-05 -0.000267845 0.00605101 0 0 -0.0221672 0 0 -0.00028268 -0.0892851 0 0 -0.00307064 -0.00938074 0 -0.00373906 0 -0.000542079 0 0 -7.53187e-05 0 0 -0.0111841 0 0 0 0 0 0 0 -0.00817641 0 0 -0.00715172 0 0 0 0 0 0 0 -0.00402342 0 -0.0485341 0 0.00196513 0 0 -0.000345973 -0.0169898 0 0.00195741 0 0 0 0.0183924 0 -0.00318931 0 0 0.00711525 0 0 0 -0.00250849 0 0 0 0 0 0 0.0409577 0 0.0207388 0 0 0 0 -0.187429 -0.112047 0 0 -0.0840651 0 -0.00977632 0 -0.00687592 0 0 -0.755016 0 -0.619723 -0.0572291 -0.0565057 -0.0731523 0 0 -0.0727554 0 -3.39346 0 -0.53055 -1.14873 0 -0.289454 -0.835984 -0.00623717 0 -0.0302292 0 0 -0.0109397 0 -2.40238 -0.846644 0 0 -0.0622977 0 0 -0.143113 -0.556674 -0.000578536 0 0.42625 0 0.446701 -0.0213417 0.0303095 -0.240056 -0.0123615 -0.976683 -0.198373 -0.0719156 0.114324 6.92862 -0.0185106 0 0 0 0.0604434 -0.0127501 0 0 0 0 -0.0265868 4.56623 0.463784 1.15123 0.0208962 0.0570036 -0.649003 -0.0448734 -0.0303319 0.0949772 0.00300722 0 0 0 0 0 0 +164 0 0 0 0 0 -0.750872 -0.197359 0.115565 2.33916 0 0 0.0980112 -0.277776 0 -1.06896 0.0332715 0 0 0 0.156427 1.14926 0 0 0 0 0.424114 0 0 0.268671 -3.08676 -0.344026 0 0.0593845 0 0 0.0801988 0.00634937 0 0 1.35763 0.348676 0 0 0.27858 -1.07948 0 -0.106177 -0.282514 0.337216 -0.395921 0.518964 -0.230338 0 -0.225826 0.17771 -0.273569 1.05284 0.135955 0.333577 0 0 -1.23736 -4.49913 0 -0.340152 -0.251053 0.00386248 0 0 0 0 -0.148293 0.977116 0 -0.839085 0.733347 0 0 0 -2.81254 0 -1.889 3.16758 0 -0.66642 0.161107 -1.66264 0 -0.743505 0.614856 -3.11722 9.9711 0 0 0 -0.288218 -0.0397015 0 0 0 0.0147945 0 0 0.00333691 0 0 0.011693 0 0 0 0 -0.0841865 0 -0.00936996 0 0.041762 0 0.067279 0.0250368 0 0.00495366 0 0 0.204564 0 -0.00996513 0 0 0 0 -0.00797922 0.0311411 0 -0.00435141 0 0 0 0 0 0 0 0 0 0 -0.0102403 0 0 0 0 0 0 0 0 0 0 -0.252411 0 0 0 -0.0547076 -0.0182576 0 -0.0366782 -0.252525 0 -0.0745294 0 -0.213874 0 0 0 -0.0172208 0 0 -0.19123 0 0 0 -0.0884346 0 0 0 0 -0.175667 0 -0.750872 -0.288218 -0.197359 -0.0397015 0.0774979 0.131906 -0.205434 0.358413 0.321449 0.0191455 0.0485723 0.596808 0.00233274 0.0938165 -0.0239206 -0.00156687 0.0429206 0.140602 -0.343242 0.0694648 0.16986 0.240106 0.228021 0.0272316 0.347746 -0.180499 0.0711863 0.027618 -1.71605 0.486869 2.04134 -1.10315 -0.00279534 1.33135 0.691771 0.0329691 0.00758102 0.0545178 0.0759375 -1.19137 0.00595067 -0.0310542 -2.3009 0.18261 0.00557409 0.0545531 0.232181 0.0905094 0.231479 -0.593189 1.47689 0.140967 -0.0809371 0.575167 0.00633099 0.608797 -0.216033 0.062363 -0.854978 0.0159446 0.554574 -0.413227 -0.448702 0.0130424 7.27299 0.119484 -0.66473 0.0393636 0.0402277 0.285649 -0.0954596 -0.092937 -0.00924729 0.0589833 -0.022651 -0.175335 -20.5462 -4.43966 -5.65688 -1.04132 -1.72284 4.05778 -0.196494 -0.285066 0.402201 -0.206 -0.0459738 -0.133621 0.227122 -0.564657 1.44715 0 +165 0 0 0 0 0 0.447365 0.475967 -1.70449 -4.06838 0 0 -0.249098 0.796549 0 0.000520222 -0.1399 0 0 0 -0.214469 3.24568 0 0 0 0 -0.920558 0 0 -0.846513 -3.89726 0.433842 0 -0.798392 0 0 -0.456801 -0.063285 0 0 -0.759831 1.20821 0 0 -0.244097 1.56671 0 0.819588 -1.52765 -1.03862 0.484063 -1.06902 0.845597 0 0.337426 -0.222692 -0.287439 -0.934685 -0.0377776 -0.279682 0 0 -1.62343 -0.738393 0 -0.430543 0.100252 -0.223666 0 0 0 0 -0.857235 -0.743979 0 -0.00722231 0.665426 0 0 0 7.46741 0 1.74165 5.39334 0 0.509463 1.55041 4.68759 0 0.443759 1.54621 -1.21223 10.0779 0 0 0 0.0399023 0.0196682 0 0 0 0.0178612 0 0 -6.91498e-05 0 0 -0.0165754 0 0 0 0 0.0160683 0 0.00384548 0 -0.0868132 0 0.232888 0.353923 0 -0.00649099 0 0 -0.26125 0 0.0451408 0 0 0 0 0.0356532 -0.0415361 0 0.00710531 0 0 0 0 0 0 0 0 0 0 -0.0211822 0 0 0 0 0 0 0 0 0 0 0.17112 0 0 0 0.0313786 -0.0316787 0 -0.120972 0.0114887 0 0.0281627 0 0.175236 0 0 0 0.0937847 0 0 0.247563 0 0 0 0.0506407 0 0 0 0 0.212066 0 0.447365 0.0399023 0.475967 0.0196682 0.347749 0.100771 0.175367 0.131909 -0.266788 -0.0203878 -0.00417461 -0.565193 -0.00268199 -0.0950396 0.0267346 -0.0350224 0.0187101 -0.125516 -0.00766213 0.185356 0.258914 -0.185527 -0.183553 0.00617885 0.107512 -0.135498 -0.333323 -0.00168183 -0.776494 -0.180728 1.78707 0.696138 0.00356187 -0.537178 0.849588 -0.0323092 -0.00340763 -0.00915805 -0.0284399 -0.813067 -0.00940668 -0.0182862 -0.203762 0.563364 8.10491e-06 -0.027372 0.0190126 -0.00515355 0.297566 -0.745772 -6.07816 0.141246 -0.125295 -2.00982 -0.0530142 -0.894748 0.0818311 -0.207506 0.399385 -0.0502482 -0.630206 -0.831814 0.0209999 0.116064 -3.72902 -0.288197 -0.999919 -0.0144282 0.0818061 -0.0737248 0.22215 0.0500887 0.0468936 -0.0567958 -0.0758333 -0.0190086 -17.9869 1.58702 0.868583 0.339492 1.04251 1.54855 0.180711 0.0276004 0.585386 0.407667 0.0410409 -0.00212634 0.219735 -0.122895 0.929237 0 +166 0 0 0 0 0 -0.33427 0.0498883 0.571309 1.63144 0 0 -0.0277652 0.797054 0 1.88502 -0.0043754 0 0 0 -0.0107258 -0.352191 0 0 0 0 0.143889 0 0 0.152817 5.82146 0.518693 0 -0.00559066 0 0 -0.0108612 0.00234693 0 0 -0.488027 0.760866 0 0 -0.0396184 2.50123 0 0.664491 1.26772 0.00320115 0.130147 0.903897 0.169173 0 0.0305259 -0.120599 0.254757 0.928419 0.726677 -0.221549 0 0 0.0553402 3.01113 0 0.562932 0.128102 -0.864281 0 0 0 0 0.105169 0.166953 0 -1.07421 -1.68825 0 0 0 -3.29984 0 0.0139151 -7.33123 0 0.0527709 -1.93282 -3.10662 0 0.344363 -2.31502 4.71525 -20.3364 0 0 0 0.0425123 0.00454843 0 0 0 0.00620027 0 0 5.46011e-05 0 0 0.000795371 0 0 0 0 -0.0121909 0 -0.000887321 0 0.0122266 0 0.122009 0.26714 0 0.00103501 0 0 0.0586685 0 0.0221522 0 0 0 0 0.0898577 0.00854911 0 0.00785127 0 0 0 0 0 0 0 0 0 0 -0.00729007 0 0 0 0 0 0 0 0 0 0 -0.0446979 0 0 0 -0.0277049 -0.0276015 0 0.0761857 -0.0902695 0 -0.0315944 0 -0.00262758 0 0 0 -0.0152493 0 0 -0.05158 0 0 0 -0.00916596 0 0 0 0 -0.0623769 0 -0.33427 0.0425123 0.0498883 0.00454843 -0.661963 -0.0973685 0.0167455 -0.363621 0.659995 -0.00118744 0.00661279 -0.106068 -0.000126424 -0.00895207 0.00136719 0.0227572 0.0197151 -0.0109542 0.146567 -0.67955 0.204403 0.113293 0.0271954 0.0655509 0.0980992 0.310442 0.29135 -0.00857911 5.10873 -0.391658 -0.626702 0.794902 0.000119385 0.342811 -0.232523 0.00037544 -0.00649185 -0.0345029 -0.063421 2.07954 0.0593723 0.0426946 2.01939 -0.153166 0.00161281 -0.0411464 0.0881853 -0.0655355 -0.108916 0.50041 5.36633 0.125447 -0.070187 1.32324 0.00387665 1.57014 0.0594112 0.405395 -0.0305789 -0.00155135 1.97281 0.709811 0.184157 0.508445 6.71866 0.119635 0.576616 -0.0295597 -0.356746 -0.122072 -0.00950072 0.0938972 -0.00284453 0.0534273 0.0963824 0.00662694 6.30777 0.974712 -1.44552 0.157586 1.32872 -7.47673 0.0250479 0.298713 -1.15501 -0.576545 0.00358178 0.185613 -0.610824 0.893288 -2.52842 0 +167 0 -1.37893 -0.466003 -0.0447667 -0.255434 0.286479 -0.0680473 -0.738 -1.89357 -0.295993 1.4855 -0.309345 0.388088 0.00496551 1.69341 0.0188356 -0.248593 -0.761461 0.179257 0.0434313 0.698272 0.0369711 0.422874 -0.00636838 0.317379 0.0280556 -0.409612 0.0601632 0.353013 0.368548 0.208285 -0.0465281 0.0095741 1.13157 0.154826 0.125747 -0.0363707 0.147282 5.12727 -0.432386 0.134535 0.0374801 -0.0757516 -0.0550587 2.60652 0.251271 -0.205211 0.433692 0.122873 0.14757 0.281473 0.768446 2.33439 -0.0813201 0.0775314 0.0669163 -2.33948 -0.280907 0.240302 -0.460672 -0.0747918 1.9177 -1.84696 -0.474474 0.048496 -0.332093 -0.174493 -0.285009 0.184469 0.0754577 -0.999797 0.485563 -0.123467 -0.12397 -2.26533 -0.6934 -0.0742275 -16.3814 -5.61454 2.67937 -2.81926 2.13595 -4.77505 -0.740001 0.646382 -1.55344 2.011 -0.0931052 0.117312 -0.309485 0.469633 -0.707567 0 0 0 0 0 -0.0447667 -0.255434 0 0 0 0 0 0 0 0.0197369 0 0 0 0 0.0281216 0 0.00387563 -0.0196586 0.14426 0 0 0.00212441 0 0 -0.0208523 -0.372046 0 0 0.0126523 -0.0877432 0 -0.0461016 0 0.00100349 0 0 0.00255986 0 0 0.157827 0 0 0 0 0 0 0 -0.0630538 0 0 -0.0652096 0 0 0 0 0 0 0 -0.063274 0 -0.325726 0 0.0175122 0 0 -0.0277446 -0.188559 0 -0.00911789 0 0 0 -0.278051 0 -0.164956 0 0 -0.0834091 0 0 0 -0.0603508 0 0 0 0 0 0 0.286479 0 -0.0680473 0 0 0 0 -0.0627843 -0.654145 0 0 0.819244 0 0.0870021 0 -0.0257847 0 0 0.264897 0 1.11161 -0.122372 0.274842 0.0245182 0 0 -0.275732 0 -3.47382 0 6.06183 0.3031 0 -0.686131 2.5658 0.0270768 0 -0.0282585 0 0 -0.0599884 0 0.14879 -0.160539 0 0 -0.0279804 0 0 -0.054511 -5.68479 0.123257 0 -1.16701 0 -0.826199 0.115946 -0.243504 -0.772629 0.118349 -0.0774503 -0.589177 0.00931799 0.236455 -6.50953 -0.0551639 0 0 0 -0.158802 -0.0789879 0 0 0 0 0.175229 -52.9569 -7.54282 0.867031 -1.2259 0.855096 -2.828 -0.194526 0.151924 -0.423733 0.419407 0 0 0 0 0 0 +168 0 0.659004 -0.10701 0.0292821 0.105828 0.0797816 -0.254599 0.46905 0.659831 0.245543 -0.931013 0.105396 -0.62388 -0.00334526 0.389937 -0.0129734 -0.807181 -3.10031 -0.177084 -0.05358 1.24136 -0.0324979 0.0859821 0.00435887 -0.230974 0.261389 -0.288982 -0.029315 0.572103 0.0987465 -0.25939 0.0340876 -0.0771357 -0.249039 -0.0745013 0.278133 0.0100658 -0.0397628 -1.93841 0.266947 -0.13505 -0.0252074 0.0854946 0.0312969 -0.639339 -0.16669 -0.65377 0.390038 -0.419365 -0.0822776 0.806152 -0.396252 -1.62788 0.0845159 -0.0844657 -0.0306876 2.6657 0.209056 -0.222745 0.329385 0.0543968 -0.608672 1.49073 0.802279 1.04283 0.154109 0.120143 -0.651998 -0.277166 -0.0643667 0.876327 -0.358369 0.0983731 -0.0763598 1.6179 0.229917 0.187234 7.81231 3.9325 -2.50545 1.50474 -1.0832 1.74408 0.514304 -0.402449 0.8953 -0.940733 0.0617646 -0.074138 0.141717 -0.241631 -0.189581 0 0 0 0 0 0.0292821 0.105828 0 0 0 0 0 0 0 -0.0106708 0 0 0 0 -0.0174966 0 -0.00225668 0.00843237 -0.0827231 0 0 -0.0639805 0 0 0.0194301 0.110093 0 0 -0.0174379 0.0286526 0 0.0482337 0 -0.0115885 0 0 -0.00335443 0 0 0.104784 0 0 0 0 0 0 0 0.073924 0 0 0.0483519 0 0 0 0 0 0 0 -0.0385962 0 -0.684387 0 -0.0349714 0 0 0.00690145 -0.162925 0 -0.115878 0 0 0 -0.175359 0 0.0553369 0 0 -0.0638693 0 0 0 0.0345114 0 0 0 0 0 0 0.0797816 0 -0.254599 0 0 0 0 0.296398 0.601843 0 0 -0.324724 0 -0.0345757 0 0.0176069 0 0 0.302896 0 0.498664 0.0531564 -0.173104 0.038823 0 0 0.151144 0 2.33161 0 -0.679838 -0.0408474 0 0.186127 0.450834 -0.0124 0 0.0483017 0 0 0.0600252 0 1.18273 -0.249794 0 0 -0.0232992 0 0 -0.0117846 4.84256 0.0768037 0 1.0711 0 0.916073 -0.038863 0.0870883 0.350923 0.0481497 0.331742 0.343289 -0.0395099 -0.418115 1.9953 -0.0133595 0 0 0 0.123231 0.062902 0 0 0 0 -0.13676 10.2461 3.37388 -2.27098 0.353203 -0.258489 0.468389 0.036003 -0.0360685 0.191883 -0.148323 0 0 0 0 0 0 +169 0 -1.08753 -0.23788 7.20825e-05 0.00636075 -0.379624 -0.152321 -0.276502 1.01948 -0.00456769 -0.594547 -0.0746064 -1.11253 1.455e-06 -1.60694 0.000947603 -1.82879 -7.30796 -0.0815627 -0.00790359 -1.75093 -0.00616483 -0.181014 -8.51988e-06 -0.030752 0.0902317 -0.430353 -0.0086731 -0.159424 -0.908042 -0.456055 -0.000279936 0.00648075 -0.295957 -0.0442393 -0.0785965 -0.00710496 -0.0721482 0.430684 -0.218663 -1.20361 6.81752e-06 -0.38729 -0.0212326 -3.70082 -0.000178064 -0.715008 -0.48075 -0.0873837 0.056082 -1.09875 0.037507 5.09373 0.0079562 -0.0147252 -0.262913 2.45148 -0.903941 -0.652088 0.125491 -0.000411382 -0.923024 3.32657 0.766448 -0.382258 0.178383 0.00189376 -0.0532848 -0.232777 0.00133639 0.478021 -0.342018 -0.266117 0.0176074 3.17369 0.780368 -0.426809 -3.3401 0.452688 -2.90284 0.104709 -0.162857 0.66433 0.260469 -0.475262 1.62891 -2.36795 6.59794e-05 0.040485 0.168402 0.0754523 1.74333 0 0 0 0 0 7.20825e-05 0.00636075 0 0 0 0 0 0 0 0.00945441 0 0 0 0 0.00547028 0 0.000934463 0.0227815 0.054713 0 0 0.141278 0 0 -0.00626315 0.760701 0 0 0.0125503 0.152749 0 -0.0293304 0 0.0144033 0 0 0.0013085 0 0 0.00663491 0 0 0 0 0 0 0 -0.0441894 0 0 -0.0797589 0 0 0 0 0 0 0 0.00268009 0 -0.144509 0 0.00146818 0 0 -0.0484243 -0.0219886 0 0.0315076 0 0 0 -0.015752 0 -0.0512377 0 0 0.000226293 0 0 0 -0.0230527 0 0 0 0 0 0 -0.379624 0 -0.152321 0 0 0 0 0.542234 -0.407322 0 0 -0.354494 0 -0.0413207 0 -0.0126487 0 0 -0.534045 0 0.0152868 0.152327 -0.0762073 -0.103713 0 0 -0.205063 0 -8.21343 0 3.06047 -0.726437 0 1.53588 0.716197 -0.00753272 0 0.0544279 0 0 -0.0202309 0 -2.40408 -1.53865 0 0 -0.264 0 0 -0.042333 1.51729 -0.715738 0 -0.964443 0 -0.444008 -0.11823 0.200322 0.310933 -0.24228 -0.44389 0.349137 0.0829949 -1.46261 -6.55216 0.0855144 0 0 0 -0.187115 0.0575866 0 0 0 0 -0.116995 -28.2757 0.219314 -9.19859 -0.196693 0.00218135 -1.67707 0.24975 -0.254881 0.299455 -0.929783 0 0 0 0 0 0 +170 0 0 0 0 0 0.0517455 0.00882616 0.208379 -0.208067 0 0 -0.114978 0.605077 0 1.57026 -0.0513957 0 0 0 -0.0328071 -1.24158 0 0 0 0 0.121412 0 0 0.426998 2.24486 0.133267 0 0.290408 0 0 0.0931503 -0.0493745 0 0 -1.54859 0.399429 0 0 -0.454376 4.458 0 0.202292 0.831175 1.61 0.846716 -1.66933 0.114507 0 0.606343 -0.0136235 0.287128 -0.0773819 -0.0417352 -0.615391 0 0 0.786531 -1.62993 0 -0.651971 0.919704 -0.294002 0 0 0 0 0.400428 -0.849121 0 -0.32055 -1.21155 0 0 0 0.563945 0 1.86355 -3.22482 0 0.716445 -0.342838 -0.93837 0 1.7604 -1.48131 2.79763 -5.10653 0 0 0 0.26784 0.0788471 0 0 0 -0.0544833 0.0263629 0 -0.00704016 0 -0.00675549 -0.0858068 0 0 0 0 -0.0388431 0 -0.0305045 0 -0.208289 0 -0.400323 -0.866428 0 -0.0114814 0 0 -0.251471 -0.00145005 -0.160543 0 -0.00201919 0 0.00127556 -0.338739 -0.054242 -0.0251651 -0.0615311 0 -0.000376885 0 0 0 -0.000121812 0 0 0.00276454 -0.00202591 -0.0486601 0.0124184 0 0 -0.0173786 0 -0.00615343 0 0 0.0569624 -0.0185914 -0.0571504 -0.00666949 0 0 -0.0898613 -0.0481689 -0.0108041 -0.175148 -0.104799 0 -0.175461 -0.0147181 -0.387558 0 0 0 1.28269 0 0.0913173 0.788013 0 0.00790417 0.0643517 0.060608 0 0.000828254 0.00678319 0.00819409 0.0680646 0 0.0517455 0.26784 0.00882616 0.0788471 -0.233058 -0.137176 0.606015 0.157075 0.141006 -0.0877987 0.0297342 -0.407673 -0.018659 -0.07089 0.117106 -0.0362248 0.0188819 -0.333026 0.595831 -0.958639 0.0520581 -0.0160979 -0.213698 0.0755635 0.315812 0.0948828 -0.0309507 -0.0208204 -0.966365 -0.267351 -0.0418946 -0.618945 0.0207097 0.201354 -0.0481825 -0.0289338 -0.00168118 0.00312158 -0.0426662 0.572193 0.0184416 0.0163726 -0.628577 1.15697 -0.0009484 -0.00134107 0.135128 -0.154039 0.00228551 -0.291349 1.79224 -0.701917 0.126895 0.414458 -0.153924 -1.19618 -0.0453418 0.252413 0.112422 -0.0660349 0.267794 0.860756 -0.126592 1.53764 3.5856 -0.0460253 0.0293212 -0.14319 -0.203773 0.140208 0.143249 0.0288365 0.184112 -0.159708 0.0774532 0.533354 0.205906 1.02956 -0.19429 0.843714 0.614005 -1.47133 0.466853 -0.0347294 -0.278929 -0.0379561 0.402603 -0.00437482 -0.264625 0.357494 -0.43672 0 +171 0 0 0 0 0 -0.652281 -0.414892 1.05681 3.25227 0 0 0.1214 -0.205098 0 -0.265988 0.079307 0 0 0 0.294674 2.74187 0 0 0 0 0.842839 0 0 0.947367 0.170949 -0.483796 0 0.381199 0 0 0.432973 0.00952547 0 0 1.30622 -0.228825 0 0 0.350952 1.78189 0 -0.691223 0.769329 0.775543 -0.607616 0.843077 -0.529337 0 -0.141462 -0.0849869 -0.147265 1.32107 0.0708954 1.07557 0 0 -0.0736127 -1.97403 0 -1.09629 -0.645842 -0.460995 0 0 0 0 -0.302431 0.944321 0 1.39661 -0.0395862 0 0 0 -4.72116 0 -1.67261 -0.675027 0 -0.927566 0.190544 -4.60756 0 -1.58063 -0.0117598 -1.05545 -0.454289 0 0 0 -0.203941 -0.022613 0 0 0 0.117997 -0.0142777 0 0.0183689 0 0.00337003 -0.0334786 0 0 0 0 -0.106404 0 -0.0256774 0 -0.0463887 0 0.744784 0.539538 0 0.0033942 0 0 0.239101 0.00168969 0.0715919 0 -0.00728821 0 -0.000859258 0.151523 0.0309192 0.0298994 0.0218302 0 0.000204525 0 0 0 -0.000388364 0 0 -0.00521287 -0.0043473 -0.606264 -0.0139754 0 0 -0.0221394 0 -0.00111148 0 0 -0.0181594 -0.0547604 0.234502 -0.0475696 0 0 -0.0767861 0.0803923 -0.011242 0.188718 0.0662418 0 -0.369015 -0.00604439 0.277391 0 0 0 -0.687293 0 -0.144977 -0.223373 0 -0.0137023 0.000819253 0.0610418 0 -0.00140078 -0.000235906 -0.00237437 -0.122089 0 -0.652281 -0.203941 -0.414892 -0.022613 0.0826453 0.00762266 -0.169818 0.282013 -0.24035 -0.00764147 0.0472605 0.0363528 -0.00189861 0.0140674 -0.00183539 0.0106579 0.0225956 -0.0360172 0.801219 -0.243882 0.0339848 0.176437 0.0378228 0.151575 0.196142 -0.0454959 0.290793 -0.014245 2.30206 0.25004 0.840188 -0.80971 0.00288212 0.819629 0.231324 0.0142679 0.00377671 0.0897455 0.0553295 -0.335554 -0.0612063 -0.000682163 0.547988 1.47713 0.00554931 0.017546 0.212348 -0.0870984 0.286731 -0.695084 1.57248 -0.986646 -0.19219 -3.59161 0.0423314 -0.9105 -0.61769 0.582391 0.135852 -0.277804 -0.394431 -0.197257 -0.0804706 3.07613 -1.51967 0.0120304 -0.512521 -0.0500783 -0.0920405 0.247974 0.068216 0.0269801 0.0439104 -0.145028 0.0674021 0.374716 -4.12942 -0.645457 -3.05633 -0.419352 -0.097625 -0.614774 0.00186594 -0.0260665 -0.0479102 -0.790178 0.0435421 -0.0874248 -0.0567083 -0.0356276 -0.071858 0 +172 0 0 0 0 0 -0.00940225 -0.120923 0.188108 -0.0482217 0 0 0.728356 -1.10461 0 -2.0821 0.122314 0 0 0 0.00900897 -2.04118 0 0 0 0 -0.0301658 0 0 -0.223767 -3.58637 -0.452052 0 0.218124 0 0 0.0633708 0.112412 0 0 1.64035 -1.82689 0 0 0.332297 -5.00457 0 -0.830025 -1.13721 -0.855523 -0.906787 0.702057 -0.137956 0 0.243132 0.313393 -0.0643275 2.9656 1.08015 0.91356 0 0 0.424366 2.21166 0 1.04866 -0.918681 0.321666 0 0 0 0 0.48156 1.66809 0 2.39471 -0.789452 0 0 0 1.21501 0 -1.63866 6.39354 0 -0.631827 1.17168 2.37437 0 -1.06858 1.51402 -3.06035 9.18541 0 0 0 -0.155772 -0.072294 0 0 0 0.130954 -0.0568568 0 0.0171583 0 0.00791973 0.0932243 0 0 0 0 0.122677 0 0.0370515 0 0.340369 0 0.973544 0.484096 0 0.010994 0 0 0.25894 0.00191004 0.123765 0 -0.00320119 0 -0.00279253 0.154583 0.0519738 0.0318718 0.0387994 0 0.000456064 0 0 0 -0.00014198 0 0 -0.0064305 0.000260919 -0.431629 -0.0217307 0 0 0.0279213 0 0.00870659 0 0 -0.0552562 -0.0130884 0.499338 -0.014734 0 0 0.0994797 0.029155 -0.0709056 0.015586 -0.07366 0 0.222092 0.017346 0.409596 0 0 0 -2.00497 0 -0.152427 -0.802077 0 -0.0143564 -0.0647084 -0.0715502 0 -0.00146903 -0.00703594 -0.00845043 -0.0189968 0 -0.00940225 -0.155772 -0.120923 -0.072294 0.346757 0.127245 -0.109639 0.0321817 -1.44648 0.134661 -0.144516 0.0451235 0.0238782 0.00849687 -0.0655747 -0.0921828 -0.132615 0.718888 -0.0417071 2.32726 -0.206063 -0.0367171 -0.431937 0.0107565 -1.104 -0.0653149 -0.668539 0.0522695 -0.903189 -0.18751 0.100019 -0.219291 -0.0156709 -0.547985 -0.219598 -0.0670516 -0.00993669 0.0246015 -0.0362359 -0.453095 -0.253621 -0.0106338 -0.696295 -0.0078584 -0.0173226 -0.0611689 0.0522462 0.351115 -0.266151 -0.423725 1.19071 -0.0568686 0.28015 1.21481 -0.000198902 -0.185049 -0.290326 0.124638 -0.0066416 -0.041094 0.067993 0.626674 -0.054418 0.474287 2.01848 0.0702971 -0.0329437 0.0217409 -0.226414 0.554686 -0.00654305 0.118714 -0.311004 0.137131 0.0341953 0.10535 -0.491582 -0.177091 1.42032 -1.82708 0.588666 1.2538 -0.503108 0.0890161 0.260276 0.128971 -0.869081 0.359386 0.0209438 -0.0849598 0.193906 0 +173 0 0.368868 0.383263 0.0559777 0.335583 -0.134133 0.197698 -0.243495 0.472315 0.384739 -1.43893 -0.10167 -0.114067 -0.00534818 -0.889849 -0.0269331 -0.15147 -0.488895 -0.302569 -0.0351245 1.65243 -0.0192571 -0.490622 0.00450535 -0.264446 -0.287804 0.357499 -0.0860645 -0.547908 -0.285342 0.0407012 0.0424805 -0.40015 -0.792104 -0.449201 -0.385162 -0.0118464 -0.220217 -1.45552 0.16996 1.19326 -0.0472479 -0.050601 0.0229674 -2.1372 -0.375398 0.852935 -0.455851 -0.582428 -0.112112 -0.115918 -0.678963 3.04186 0.0921524 -0.141275 0.321327 0.878053 -0.0374652 0.350391 0.40187 0.0937999 -0.739238 -1.24897 -1.01625 -0.876235 0.178854 0.153347 1.18509 -0.000874074 -0.0937921 -0.224883 0.0962756 -0.131292 0.293001 0.693862 0.316631 0.569996 4.70629 2.30876 1.05311 1.96152 -0.58904 1.7404 1.27291 -0.42868 1.17382 -0.215134 0.246919 -0.0846281 0.369399 -0.146597 0.418904 0 0 0 0 0 0.0559777 0.335583 0.00197793 0 0 0 0 -2.73305e-05 0 -0.0308093 0 0 -0.00203662 -0.0041482 -0.0231756 0 -0.00380312 -0.0623818 -0.176049 0 0 -0.335793 -0.000243395 0 -0.0187998 -1.46822 0 0 -0.0412219 -0.369035 0 -0.0504985 0 -0.0411072 0 0 -0.00493003 0 0 -0.343671 -0.000467587 -0.0341105 0 0.0320862 0.0303364 0 0 -0.21574 0 -0.00105234 0.0522766 0.00352968 0 0 0.00354888 -0.00617317 0 -0.0207384 -0.150326 0.00472828 -0.428652 -0.0225796 -0.0515713 0 0.025207 0.0318625 -0.400475 0.0647499 -0.116313 0 0 0 6.8755 0.498551 1.02979 0.0345266 0.0355876 -0.0137787 0.00137762 0.000962524 0.00314751 0.0255857 0 0 0 0 0 0 -0.134133 0 0.197698 0 0 0 0 -0.0109704 0.320497 0 0 -0.499776 0 -0.0554291 0 -0.0294798 0 0 0.321356 0 -0.80311 0.0541746 -0.100312 0.0463253 0 0 -0.221544 0 3.08689 0 -1.25915 0.526243 0 0.31107 -1.08014 -0.00553215 0 -0.000728578 0 0 0.0131032 0 0.918051 0.40919 0 0 0.0618808 0 0 -0.114716 -0.285652 -0.0582369 0 -0.746268 0 -0.129384 -0.193023 0.13413 -0.205222 -0.0970521 0.0221285 -0.0341324 -0.0560824 0.555126 -0.983868 -0.0323427 0 0 0 0.107921 0.0857003 0 0 0 0 0.0898844 1.86239 2.45736 -2.72836 0.956152 -0.592439 -0.0714121 0.270174 -0.189476 0.157496 -0.127651 0 0 0 0 0 0 +174 0 -1.03367 -0.351389 -0.0188612 -0.146988 0.0580612 0.0870318 -0.677308 -1.06109 -0.0806603 0.525001 -0.247398 0.615503 0.000987287 1.43327 0.0227001 -0.314781 -1.26121 0.0611461 0.039558 -0.0168124 0.00860863 0.202106 -0.000857767 0.132606 -0.18741 -0.177089 0.0310601 -0.298061 -0.261017 0.457186 -0.00786783 0.181115 0.689533 0.192284 -0.125148 -0.0215986 0.147538 3.27455 -0.33803 0.179921 0.00788686 0.341345 -0.0320454 2.34118 0.0453745 0.306153 -0.288072 0.323178 0.0870716 0.18583 -0.117331 1.26629 -0.0344214 0.12834 0.130984 -0.524639 0.344766 -0.344314 -0.0924873 0.00675636 0.299846 -0.146868 -0.254386 -0.0954491 0.0490268 0.393728 0.562518 0.168713 0.0205229 -0.449628 0.405839 -0.215255 -0.00682165 -2.32893 -0.0377392 -0.0634239 -9.51636 -1.70988 0.972733 -1.20985 1.50224 -2.39704 -0.652661 0.357613 -0.302485 0.994883 -0.0298453 0.114643 0.052536 0.228149 0.383193 0 0 0 0 0 -0.0188612 -0.146988 0.000996894 0 0 0 0 0.000141802 0 0.00841476 0 0 0.000142273 -0.000855926 0.00745695 0 0.000667617 0.0105382 0.0672055 0 0 0.0283304 -3.21066e-05 0 -0.0404461 -0.0361769 0 0 0.00527732 0.0237175 0 -0.164628 0 0.0088639 0 0 0.00141001 0 0 -0.389839 0.00294968 0.0015305 0 0.0238872 -0.0422029 0 0 -0.166577 0 -0.00332933 -0.673402 -0.00158309 0 0 -0.00124008 -0.00556794 0 -0.0037828 0.00331276 0.00082134 0.329846 -0.0510973 0.0151935 0 0.0152088 0.00411683 0.0812438 0.00863062 0.062927 0 0 0 1.14658 0.00105518 -0.0860345 0.00367477 0.0014303 0.0522551 -0.000278192 -0.000196799 4.88795e-05 -0.020949 0 0 0 0 0 0 0.0580612 0 0.0870318 0 0 0 0 -0.254746 -0.0370268 0 0 0.659935 0 0.0591567 0 -0.00129744 0 0 -0.744138 0 0.52226 -0.040638 0.356747 -0.10617 0 0 -0.0980297 0 -7.54981 0 3.13816 0.0561941 0 -0.57484 1.24757 0.0349556 0 -0.0231769 0 0 0.0157642 0 -1.90484 -1.62274 0 0 -0.226401 0 0 0.535517 -3.9575 0.0992308 0 1.81118 0 -0.308657 0.268891 -0.171265 0.0259831 0.0150469 -0.644126 -0.0937114 -0.068679 -3.08253 -6.46205 -0.0286811 0 0 0 -0.313119 0.0115224 0 0 0 0 -0.351434 -20.8623 -3.50278 0.698894 -1.97983 1.6942 -1.81295 -0.342286 0.272829 -0.257819 0.155052 0 0 0 0 0 0 +175 0 0.254638 0.267786 -0.027818 -0.128227 0.153204 0.190617 0.225889 -0.646684 -0.16455 0.975718 -0.143762 1.80383 0.00489093 3.7017 0.0231408 2.15312 11.414 0.235014 0.0346305 5.23804 0.0376862 0.0161047 -0.00357781 0.137115 -0.000249373 0.365587 0.0384874 0.209646 1.33904 0.633968 -0.027568 0.23287 0.0451638 0.190892 0.0352361 -0.0110835 0.0445228 -1.09259 -0.296599 2.26602 0.0436117 0.293244 -0.035699 9.459 0.344575 0.918394 0.662393 0.367373 0.120128 0.711442 0.758183 4.39317 -0.10561 0.185373 -0.0779698 1.55334 0.0668003 -0.305922 -0.432458 -0.140498 0.464275 -2.81554 -0.254203 -0.263213 -0.562599 -1.02804 -0.887695 0.272019 0.0580626 -0.126682 0.218363 0.149339 0.062957 -1.27761 -0.456197 0.532946 7.83646 -1.19572 4.39126 -0.685009 0.435938 0.222575 -0.412322 0.344653 -1.34482 0.80329 -0.226646 0.123918 -0.69331 0.320202 -1.96581 0 0 0 0 0 -0.027818 -0.128227 0.000506517 0 0 0 0 5.07426e-05 0 0.00735299 0 0 0.000854223 0.00215744 0.0140527 0 0.00172965 0.0355571 0.0790479 0 0 0.405306 0.000136693 0 0.0133345 1.03973 0 0 0.0446383 0.174902 0 0.10917 0 0.0472142 0 0 0.00545134 0 0 0.368782 0.000763941 0.014158 0 0.00333931 -0.0222627 0 0 0.171346 0 -9.29004e-05 -0.156647 -0.00271067 0 0 -0.00405353 -0.00127918 0 0.0146945 0.0527243 -0.00716749 -0.429471 0.0011084 0.034363 0 -0.00203253 -0.0459273 0.284523 -0.101558 -0.0253983 0 0 0 -4.97647 -0.352876 -0.73454 -0.0261717 -0.0208537 -0.0753313 -0.000903428 -0.0010015 -0.000789383 -0.00013184 0 0 0 0 0 0 0.153204 0 0.190617 0 0 0 0 -0.410953 0.959365 0 0 0.649263 0 0.0902142 0 0.0962356 0 0 0.853383 0 0.00518073 -0.150866 0.394084 0.118319 0 0 0.632674 0 7.44495 0 -1.73121 0.613839 0 -0.972621 -0.322144 0.0597179 0 -0.0670139 0 0 0.147857 0 2.55896 2.07919 0 0 0.303068 0 0 0.207614 -0.558315 0.213778 0 1.16758 0 0.0281424 0.375908 -0.335533 -0.324814 -0.135336 0.0914157 -0.401637 0.323594 0.887252 7.35514 0.0811495 0 0 0 0.0684361 -0.296595 0 0 0 0 -0.040762 11.4975 -1.65722 4.64314 -0.0141393 0.0290896 0.739543 -0.477603 0.365664 -0.243935 0.402324 0 0 0 0 0 0 +176 0 0.366884 -0.361207 0.0648764 0.163693 -0.042381 -0.270399 0.470356 1.06333 0.316659 -1.6726 -0.20202 -0.342784 -0.0190058 -0.524488 -0.0569424 -0.381667 -1.2461 -0.253187 -0.179636 -0.778666 -0.0597623 0.439314 0.0138018 -0.396606 0.519361 -0.46182 0.00915316 0.341107 0.794866 -0.129734 0.0758032 -0.285722 0.585153 0.293918 0.327431 -0.0127248 0.147193 -0.565927 -0.280105 -1.12337 -0.0775328 0.756151 -0.00230986 -2.05204 -0.257693 -0.835015 0.493547 -1.04631 -0.102221 -0.102309 -0.516361 -2.78335 -0.582473 -0.363003 0.138378 -1.35091 -1.10937 -0.0981919 0.655195 0.161011 -0.533777 2.20215 0.193279 -0.87788 -0.0625575 -0.0448384 0.838573 0.0791359 0.141841 0.743652 -0.417708 -0.122713 0.239481 0.000332501 -0.311214 -1.27477 1.39556 2.07257 -1.24366 1.1002 -0.418406 0.401262 1.79959 -1.21945 1.48463 -1.16088 0.323336 -0.00274205 -0.215106 0.858726 -1.74933 0 0 0 0 0 0.0648764 0.163693 0.00266046 0 0 0 0 0.000375864 0 -0.0163823 0 0 -0.00214308 -0.0103089 -0.0231217 0 -0.00511483 -0.0983115 -0.0609972 0 0 -0.165755 -0.000567034 0 -0.0473369 -1.19838 0 0 -0.0281527 -0.346368 0 -0.142337 0 -0.0404012 0 0 -0.00630859 0 0 -0.621119 0.00731763 -0.0389445 0 0.0516266 -0.000521199 0 0 -0.183338 0 0.000165435 -0.146289 0.00712834 0 0 0.0021417 -0.00828275 0 -0.0107699 -0.0757633 0.0101831 0.0867492 0.000781987 -0.0267464 0 0.0387838 0.0171976 0.261031 -0.0724912 0.0133596 0 0 0 5.2027 0.367991 0.496942 0.0243843 0.0212292 0.0589714 0.00117298 0.000999309 0.00383144 0.00444341 0 0 0 0 0 0 -0.042381 0 -0.270399 0 0 0 0 0.0171206 0.752214 0 0 -0.308306 0 -0.0458784 0 0.0458655 0 0 -0.609572 0 0.839733 0.0377 0.0381252 -0.0934044 0 0 0.237231 0 -2.65712 0 0.571291 0.00352718 0 0.0576919 1.13928 -0.00620802 0 0.0121222 0 0 0.118739 0 -0.416501 -1.8099 0 0 -0.251465 0 0 0.394328 -2.8062 0.0377593 0 0.782581 0 -0.354338 0.20968 -0.131634 0.0679255 -0.0396195 -0.517719 0.0185441 -0.163188 -2.16822 -1.9838 -0.0178345 0 0 0 -0.179889 0.121554 0 0 0 0 -0.475828 4.22593 0.961233 0.983119 -0.759097 0.796683 -0.263665 0.19923 -0.126765 0.114225 -0.00979433 0 0 0 0 0 0 +177 0 -1.15043 -0.0691265 -0.0137083 -0.103772 0.020368 0.201019 -0.262756 -0.21097 -0.318319 0.199021 0.354224 0.526991 -0.00281202 0.0107346 -0.039542 1.09689 5.10253 -0.0604117 0.021489 -0.67639 -0.0225257 -0.00281599 -0.00229842 0.0236999 -0.216414 0.330601 -0.0496931 -0.720933 -1.59596 0.341476 -0.0253194 -0.230294 0.329786 -0.119121 -0.207076 0.0387769 -0.329516 3.1547 0.516426 0.411531 -0.0238435 -0.733602 0.0591753 0.792054 -0.216041 0.524438 -1.08426 0.194922 -0.0569386 0.305478 -0.337738 -6.06523 -0.374332 0.139197 -0.525197 -2.36944 -0.516181 0.0954723 -0.0161005 0.0168968 -0.70863 0.435063 -1.46541 -0.143278 -0.160619 0.270575 0.0288241 -0.35825 0.108138 -0.861294 -0.0739856 -0.22627 0.251011 0.0228111 1.35636 0.0673251 -8.48781 -1.59675 0.122887 -1.06861 0.489614 -1.38921 -0.366476 -0.23914 0.615565 -0.0831126 0.271073 -0.473611 1.23898 -1.67359 3.51238 0 0 0 0 0 -0.0137083 -0.103772 0.00242061 0 0 0 0 0.000315624 0 0.007928 0 0 0.000358538 -0.00272979 0.00556181 0 0.00017757 -0.0315263 0.0546696 0 0 -0.00023211 -0.000121408 0 -0.114807 -0.257703 0 0 0.00711158 -0.141832 0 -0.26531 0 0.00457039 0 0 0.00245517 0 0 -0.380565 0.00685838 0.00701787 0 0.0521992 -0.0550379 0 0 -0.29359 0 -0.00655913 -0.989394 -0.00409614 0 0 -0.000727378 -0.0114707 0 -0.012846 -0.0168798 0.00110544 0.0885733 -0.0903063 0.0172234 0 0.0203733 -0.00164084 0.00566213 0.0379177 0.0315236 0 0 0 2.06465 0.04327 0.154484 0.00851342 0.00706151 0.0443025 -0.000341127 -0.000300378 -0.000559081 -0.0293133 0 0 0 0 0 0 0.020368 0 0.201019 0 0 0 0 0.218353 0.223081 0 0 -0.170146 0 -0.0458505 0 0.0213932 0 0 -0.357821 0 -0.150983 0.0564904 -0.324258 -0.0486634 0 0 0.0907251 0 -1.15753 0 1.25617 0.670012 0 0.185814 -0.15411 -0.0461141 0 0.0364063 0 0 0.0507457 0 0.204335 -0.580531 0 0 -0.0826117 0 0 0.160745 -3.01968 0.243404 0 0.959085 0 -0.488021 0.309907 -0.275747 0.126698 -0.0883782 -0.690054 0.118847 -0.0835738 -1.44715 -1.13188 0.0152558 0 0 0 -0.0867784 0.092277 0 0 0 0 -0.359948 -11.8899 -0.732043 -0.814197 -1.01873 1.07634 -1.41438 0.161845 -0.0965368 0.0184746 -0.119693 0 0 0 0 0 0 +178 0 -0.429959 -0.311531 -0.114414 -0.216524 0.105722 0.0849655 -1.36036 -2.73122 0.299508 1.82739 -0.643653 -0.207672 0.042594 -1.10116 -0.117403 -2.2637 -10.5428 0.176471 -0.257254 3.24862 0.0409288 -0.0759082 -0.0160566 0.480243 -0.456465 -0.424213 -0.0449742 0.0972732 0.875295 -0.0820939 -0.0404128 -0.932417 -0.197121 -0.687224 -0.226031 -0.134693 -0.598524 0.591908 -1.20349 0.981791 0.200056 -3.50274 -0.26108 -1.4203 0.877799 0.288555 0.352135 -2.22242 0.639493 -1.57117 0.685316 0.973229 0.596948 -0.295825 0.170226 -1.57934 -1.12768 -0.925566 -0.796507 -0.309957 0.310667 0.296967 1.18753 1.43005 1.22945 0.155209 -1.51685 -1.19074 -0.492918 -0.822444 -0.292964 -1.13006 0.381324 0.730858 0.0493608 -0.185802 -0.73791 -2.11891 4.86137 -2.68153 2.68415 -1.50641 -2.33739 1.8521 -2.25713 3.55497 -1.1014 1.36296 -1.51506 1.93051 -1.92634 0 0 0 0 0 -0.114414 -0.216524 -0.0061419 0 0 0 0 -0.000898381 0 0.0192122 0 0 0.00317799 0.0141685 0.0487416 0 0.00815366 0.147973 0.116693 0 0 0.677436 0.000829033 0 0.0482399 0.997366 0 0 0.0843635 0.392611 0 0.23859 0 0.155184 0 0 0.0199852 0 0 0.884028 -0.0177335 0.0544022 0 -0.120796 -0.0522378 0 0 0.34186 0 -0.00438393 -0.610571 -0.0122926 0 0 -0.00735517 0.0156815 0 0.0247844 0.180172 -0.0173946 -0.435597 -0.048274 0.0523692 0 -0.0501282 -0.0581256 0.436939 -0.13165 -0.101055 0 0 0 -10.6764 -0.778805 -1.33345 -0.0527929 -0.047596 -0.143658 -0.00237266 -0.00207658 -0.00460905 0.0113285 0 0 0 0 0 0 0.105722 0 0.0849655 0 0 0 0 -0.257752 -2.02752 0 0 0.75386 0 0.0981944 0 -0.100439 0 0 -0.0302944 0 0.144799 -0.0933477 0.290232 -0.00924508 0 0 -0.775653 0 -8.3103 0 0.339693 -0.429274 0 -0.676714 0.104084 0.043653 0 -0.0407442 0 0 -0.25462 0 -2.39251 0.312427 0 0 0.0392507 0 0 -0.213125 -0.869793 -0.370781 0 -3.08167 0 0.688952 -0.649088 0.463682 -0.0831966 -0.13467 -0.0644819 -1.01786 0.324172 -0.0182463 -9.08147 0.0954056 0 0 0 -0.616169 -0.291266 0 0 0 0 0.532943 -5.27713 -3.18792 2.53682 -0.685682 0.487465 -0.322437 -0.588902 0.437048 -0.326161 0.267413 0 0 0 0 0 0 +179 0 0 0 0 0 -0.192192 0.191009 -0.793053 0.132876 0 0 0.339829 1.00737 0 0.429183 0.0672358 0 0 0 0.327138 -0.256165 0 0 0 0 -0.0721483 0 0 -0.954498 -3.71276 0.612646 0 0.193109 0 0 -0.264938 0.016653 0 0 1.19518 0.452462 0 0 0.202411 0.501313 0 0.744962 -1.78584 0.678364 -0.361607 2.47931 -0.137742 0 -0.360179 0.47777 -0.958131 -1.68136 -0.325976 0.276834 0 0 0.952429 -1.0141 0 0.263794 -0.658666 0.778321 0 0 0 0 -0.153997 1.10929 0 -0.288163 2.06305 0 0 0 -1.0006 0 -2.33404 5.5412 0 -0.777454 0.604891 2.58569 0 -1.00866 2.08599 -5.31997 15.9691 0 0 0 -0.184549 -0.0352072 0 0 0 -0.0366162 -0.00527002 0 -0.00487332 0 9.40866e-06 0.0373105 0 0 0 0 0.142382 0 0.0246642 0 0.197309 0 -0.277273 -0.169327 0 0.00298443 0 0 0.0829178 -0.000101562 -0.0211409 0 3.86881e-05 0 -0.000405611 0.0258791 0.0151744 -0.00157632 0.00518741 0 3.59734e-07 0 0 0 9.68311e-07 0 0 0.000262322 -0.000648754 -0.0066081 -0.00188482 0 0 0.00534981 0 0.000707848 0 0 0.00182013 0.00469623 -0.124299 -0.00357849 0 0 -0.0456074 -0.0055198 -2.53767e-05 -0.0716226 -0.0514184 0 0.0579419 0.00168579 -0.0824363 0 0 0 -0.258017 0 0.002442 -0.125416 0 -0.000441612 -0.00142944 0.00492276 0 0.000122745 -0.00112494 0.00325389 -0.0116597 0 -0.192192 -0.184549 0.191009 -0.0352072 0.189208 0.0780375 -0.306035 0.386695 -0.583605 0.021797 0.0991115 -0.158027 0.00288065 -0.0118812 -0.0378814 -0.0316288 0.0357591 0.150117 -0.337559 1.03552 0.154792 0.237492 -0.210197 -0.0591646 0.264422 -0.14925 -0.189166 0.014221 -2.29961 0.310952 0.799929 0.297111 -0.00434812 1.00288 0.329467 -0.0242021 0.0124107 0.0795342 0.11062 -0.713681 -0.0893086 -0.028013 -1.03338 1.20816 0.0119713 0.03102 0.267091 0.131786 0.0138839 -0.630848 0.559028 1.07267 -0.0520901 1.04665 0.0761998 0.109232 -0.199553 -0.31388 0.0880391 -0.393856 -0.220045 -0.0897163 -0.0861911 0.313952 2.97786 0.170545 -0.282479 0.142432 0.161033 0.0729698 -0.00383333 -0.0557509 -0.0395123 0.227604 -0.227443 0.154296 -0.299018 0.0671825 -3.56387 -0.115518 -1.15106 2.29137 0.0243429 -0.527309 1.20463 -1.74257 -0.0328263 -0.300632 0.612855 -0.840396 1.0843 0 +180 0 0 0 0 0 -0.18193 0.0351071 0.604504 1.88503 0 0 -0.148326 0.0760929 0 -0.272791 0.075195 0 0 0 0.27803 -3.16249 0 0 0 0 0.165868 0 0 -0.244327 5.29588 0.229969 0 0.364369 0 0 -0.0233781 0.0150669 0 0 -0.56822 0.409555 0 0 -0.024127 -2.53081 0 0.787207 0.785478 1.26774 -0.00832483 0.81302 0.466056 0 -0.211141 0.16347 0.459338 0.73626 -0.103436 -0.457392 0 0 -1.8411 -0.174461 0 1.53987 0.339467 -1.04891 0 0 0 0 0.449342 0.35963 0 -0.738555 -0.981905 0 0 0 -2.65543 0 0.638593 -7.52138 0 0.108318 -0.160795 -5.79915 0 0.0621675 -1.2229 3.19035 -15.8098 0 0 0 0.0668954 0.0128492 0 0 0 -0.00549997 0.0146395 0 0.000280312 0 -3.79432e-05 -0.0121354 0 0 0 0 -0.0290335 0 -0.00746728 0 -0.0132782 0 -0.124031 0.252733 0 -0.00141216 0 0 -0.0517047 0.000269932 0.0238414 0 0.000734258 0 0.000720952 0.127239 -0.00759361 0.00569429 0.00832973 0 -2.34092e-06 0 0 0 3.83854e-05 0 0 -0.000650722 0.00105632 0.0382305 0.00285818 0 0 -0.00803637 0 -0.00115254 0 0 0.00448903 0.0126165 -0.127069 -0.00749953 0 0 0.0222692 0.0057006 0.00461489 0.105602 -0.104698 0 -0.0259754 -7.54155e-06 -0.0390798 0 0 0 -0.00222169 0 -0.0221996 0.126025 0 -0.00147579 0.00979297 -0.0273377 0 -0.000193109 0.000764712 -0.00323188 -0.0208212 0 -0.18193 0.0668954 0.0351071 0.0128492 -0.58529 -0.151738 0.0784208 -0.17842 0.818671 -0.0121671 0.0171812 0.165406 -0.0015335 0.0134769 0.0140922 0.0270437 0.00946337 -0.0908013 -1.19724 -1.02084 -0.156727 0.130385 0.20576 -0.19658 0.203554 0.403599 0.330217 -0.0393794 1.5731 -0.3739 -0.798491 0.604587 0.00184791 0.224411 -0.316595 0.0202502 -0.00913401 0.00554127 -0.0781167 2.52336 0.0797554 0.069082 0.562163 -3.00565 0.000214528 -0.0449493 -0.48853 -0.173803 -0.141766 1.30228 -0.596318 -0.16488 -0.0293297 1.13048 -0.0243905 0.163367 0.145474 0.133132 -0.0811888 -0.255845 -0.862749 0.0164009 0.1036 -0.125331 3.05109 -0.143329 1.12128 -0.0514591 -0.527235 -0.311194 -0.0130164 -0.00119729 0.0254452 0.187846 0.153111 -0.0548113 0.29848 -0.068494 0.352382 0.104275 1.12056 -4.7014 -0.0223582 0.261032 -0.552033 -0.84687 0.0198557 0.197241 -0.557891 0.743925 -2.3632 0 +181 0 0 0 0 0 0.117203 0.00512098 0.319168 1.855 0 0 0.125956 0.282743 0 -0.566847 -0.0295401 0 0 0 -0.246787 1.19993 0 0 0 0 0.36206 0 0 -0.168383 -0.313129 0.189411 0 -0.0810812 0 0 0.0106528 -0.00344443 0 0 0.300385 0.301859 0 0 0.100387 -1.76577 0 0.604494 -0.232497 -1.48854 -0.27536 1.96365 0.0875265 0 0.18614 -0.361106 -0.00964974 0.408995 -0.0319353 -1.01671 0 0 -0.683722 1.44632 0 -0.0243032 -0.803242 -0.528707 0 0 0 0 -0.0107536 0.925674 0 -0.425477 0.0208838 0 0 0 -3.52088 0 -0.751768 0.718156 0 -0.371511 0.868523 -4.39941 0 -0.601679 0.581481 -1.69688 2.86375 0 0 0 0.0753958 -0.0123414 0 0 0 -0.00874578 -0.0220811 0 -0.00153723 0 0.000776444 0.0356327 0 0 0 0 0.143904 0 0.0195989 0 0.345587 0 -0.0333259 -0.16765 0 0.00242343 0 0 0.100253 0.00083984 -0.0127933 0 -0.00127731 0 -0.00129825 -0.0126818 0.0165587 0.016828 0.00300373 0 4.06259e-05 0 0 0 -6.87436e-05 0 0 -0.00205685 -0.00198283 -0.164584 0.00528828 0 0 0.00420626 0 0.00216345 0 0 -0.00254706 -0.00889094 0.0161705 -0.0200338 0 0 0.084177 0.0103722 -0.0131668 0.135597 -0.202336 0 0.157542 0.0131384 0.0295116 0 0 0 -1.10532 0 -0.077152 -0.443305 0 -0.0069976 -0.0377387 -0.103834 0 -0.000644063 -0.00479703 -0.0073066 -0.040699 0 0.117203 0.0753958 0.00512098 -0.0123414 0.196097 -0.0617743 -0.0692454 0.040521 0.308036 0.0203274 -0.075801 0.205647 0.0023127 0.0100748 -0.0166077 0.0456628 -0.0961963 0.166377 -1.42476 0.376387 -0.151642 0.0553694 0.0648179 -0.157115 -0.899296 0.0696394 0.651214 -0.0171472 -2.905 -0.181826 -0.899669 0.50533 -0.00235342 0.0318633 -0.356396 0.00244106 -0.000330227 0.0111182 -0.00218796 0.116764 -0.0016925 0.0218868 -0.010241 -3.40425 -0.00878875 -0.0200268 -0.46981 -0.047553 -0.334971 -1.18405 -0.749272 0.492892 0.212253 -0.845619 0.020719 -1.30972 -0.104043 -0.346547 -0.0838768 -0.21387 -0.434551 0.119395 -0.0991084 -0.609219 -1.30377 -0.19241 -0.106751 -0.156726 -0.0641835 0.0861407 0.0209113 0.0365962 -0.0512984 0.00733392 -0.00150624 0.0360781 0.336301 -0.0807768 -1.26024 0.0672696 -0.154171 1.36439 -0.0146544 -0.0844168 0.410481 -0.654637 -0.036382 0.0330041 0.0606604 0.0624886 -0.191692 0 +182 0 -0.2035 0.0742617 -0.0064487 -0.0179131 -0.0639443 -0.0720703 0.727878 0.602563 -0.106263 0.882136 -0.00687344 -0.325319 -3.19741e-05 1.10909 -0.026774 0.586201 4.62208 0.261323 -0.0282073 3.19214 0.0340099 0.0331224 -0.000562727 0.128823 -0.0427603 0.00601732 0.0383798 0.5664 1.13065 -0.137888 -0.00827894 -0.241888 0.34501 0.279317 0.122119 -0.00573434 0.20694 2.26464 0.12167 1.21378 -0.00221829 1.28242 -0.000633939 2.04847 -0.0560254 0.137525 0.852646 -0.127357 -0.0107767 1.21808 0.212229 -3.0906 0.0637065 -0.0418015 0.171541 1.27221 0.0230322 -0.113326 -0.204062 0.0107026 -2.21989 -2.06017 -0.125788 -0.567169 -0.722459 -1.60543 0.0136233 0.340597 0.0278195 -0.359815 0.189331 -0.0905025 -0.351609 -0.704045 -0.996712 -1.15236 -10.9064 -3.87882 -0.465528 -1.38703 1.50709 -5.71834 -0.886535 1.05423 -1.34865 -2.99257 0.00779486 -0.0261413 0.0385977 0.102109 -4.73254 0 0 0 0 0 -0.0064487 -0.0179131 -0.00269487 0 0 0 0 -5.68091e-05 0 0.00385028 0 0 -0.00117311 -0.000699572 0.00145933 0 0.000166289 0.00654013 0.0409049 0 0 -0.0694464 -4.48136e-05 0 0.00562854 -0.351415 0 0 -0.00466161 0.0334936 0 0.0731612 0 -0.00485137 0 0 -0.000392537 0 0 0.00991949 -0.000572568 -0.0175024 0 -0.0362895 -0.0071764 0 0 -0.00276809 0 -0.00342156 0.206839 0.00869607 0 0 0.00113555 0.00523663 0 -0.00259737 -0.0305783 -0.00583634 0.0611001 0.0387893 0.00284563 0 -0.0027566 -0.00341363 -0.0977253 -0.00278594 -0.100974 0 0 0 0.557056 -0.0136979 0.0562576 0.0230858 -0.0508537 0.149336 0.00106589 -0.00209881 0.00866491 -0.00900312 0 0 0 0 0 0 -0.0639443 0 -0.0720703 0 0 0 0 -0.297928 0.568672 0 0 0.395142 0 0.0384859 0 0.031873 0 0 0.749613 0 -0.12122 -0.0926826 0.22512 0.109705 0 0 0.226384 0 7.59519 0 0.00546115 0.0505119 0 -0.522402 -0.241755 0.0230414 0 -0.0576855 0 0 0.0711267 0 2.11808 1.19347 0 0 0.187166 0 0 0.142661 -0.623153 -0.0441404 0 -0.0535507 0 -0.399817 0.163171 -0.155933 -0.0462236 0.0567995 -0.200296 -0.274443 0.0660895 -0.469214 1.08889 -0.112999 0 0 0 -0.0210696 -0.0474051 0 0 0 0 -0.151761 -8.75256 -1.86432 1.24143 -0.641403 0.339821 -0.317684 -0.254349 0.224467 -0.228735 0.303784 0 0 0 0 0 0 +183 0 -0.493704 -0.0412582 -0.0081422 0.0152136 -0.241724 -0.0421268 -0.522597 0.617192 -0.0905936 -0.033977 -0.115002 -1.31141 0.000674187 -0.847521 -0.0164437 -1.19878 -6.56163 0.0290712 -0.0200922 -0.111207 0.00682727 -0.248722 -0.000850159 0.107263 -0.242099 0.0431725 0.0127759 -0.131584 -0.531991 -0.336765 -0.00896025 -0.227198 -0.255853 0.134998 -0.217715 -0.0144625 0.0634767 1.13715 -0.219544 -0.16216 0.00734446 0.488471 -0.0281901 -3.29655 0.0704351 -0.076135 -0.32268 -0.35269 0.0850429 -1.39522 0.118919 -0.981711 0.00955864 -0.0138581 -0.000938729 -1.57458 -0.449967 -0.118238 -0.17066 -0.0163759 1.48728 -0.0150601 0.693364 0.0526912 0.210693 0.927782 -0.0406246 0.0878662 0.0121349 0.167516 0.165638 -0.412072 -0.0387636 0.124798 0.651889 -0.451367 1.24685 0.622778 -3.19633 0.401504 -0.795926 0.995528 -0.28294 -0.139191 0.222434 0.66354 -0.00979969 0.0374965 -0.110401 0.291615 2.22674 0 0 0 0 0 -0.0081422 0.0152136 0.001721 0 0 0 0 0.000126593 0 -0.00420655 0 0 0.00101151 -0.000148939 -0.00396826 0 -0.000772239 0.0247809 -0.0253137 0 0 -0.0998861 -7.51816e-06 0 -0.0131964 0.518119 0 0 -0.00934811 0.14407 0 -0.0875527 0 -0.0056503 0 0 -0.000490861 0 0 -0.0719921 0.00252583 0.0183462 0 0.0344089 -0.0331009 0 0 0.0161111 0 0.00204122 0.079904 0.00890339 0 0 -0.00141218 -0.0031903 0 -0.00514778 -0.00917236 0.00481284 -0.367104 0.0203257 0.0101154 0 0.0056197 -0.030192 -0.145179 0.0129235 0.101354 0 0 0 -0.164857 -0.0884938 0.0945093 0.00788564 -0.00237671 -0.153217 -0.000810337 0.00138186 -0.0131587 -0.0102394 0 0 0 0 0 0 -0.241724 0 -0.0421268 0 0 0 0 0.501458 -0.585966 0 0 -0.448465 0 -0.0567948 0 -0.0297581 0 0 0.38692 0 -0.228246 0.174528 -0.127347 0.0658087 0 0 -0.356056 0 -6.73445 0 0.621102 -0.467952 0 1.42254 0.112587 -0.0158432 0 0.0670162 0 0 -0.0550095 0 -1.65359 0.320092 0 0 0.0740304 0 0 0.308238 1.58716 -0.358264 0 -0.739655 0 0.395472 -0.0515034 0.224637 0.216058 -0.163926 -0.289082 0.147394 0.139523 0.0895785 -1.97196 0.0578999 0 0 0 -0.173232 0.0151289 0 0 0 0 0.0969568 11.4075 4.45505 -6.17663 1.35129 -0.985086 -0.246774 0.21385 -0.165347 0.225984 -0.625261 0 0 0 0 0 0 +184 0 -0.7455 -0.620719 0.0256941 0.25539 -0.262152 -0.388591 1.08141 1.87757 0.103448 -0.299357 0.21736 -0.383595 -0.00143009 -0.86571 -0.000268421 -0.733941 -5.37429 -0.0504856 -0.0063256 -2.15795 -0.00803077 0.538898 0.00155183 -0.0817354 0.692582 -0.434414 -0.01924 0.461967 -0.975658 -0.267671 0.0140148 -0.135595 1.61066 -0.0871595 0.446381 0.0207538 -0.230815 5.99809 0.606831 -1.36965 -0.0164176 -0.894843 0.0529331 -2.70346 -0.182133 -1.09627 0.203417 -0.157887 -0.117999 -0.634943 -0.0565465 -0.83885 0.0267071 0.0314982 -0.18363 -1.23176 -0.452287 0.160694 0.05275 0.0337296 0.223686 1.3637 0.669563 0.268402 0.593226 0.388555 -0.391678 -0.70647 -0.0133485 0.19143 -0.545212 0.125125 0.156429 1.08921 0.0101844 -0.107658 -21.9205 -0.969485 -7.50982 -1.99038 0.87323 -5.28971 0.175948 -0.04986 -0.323749 0.00221179 0.0253403 -0.0996813 0.449046 -1.57784 4.08378 0 0 0 0 0 0.0256941 0.25539 -0.00237135 0 0 0 0 -0.000187616 0 0.0183016 0 0 0.0012772 0.00302258 0.0101143 0 0.00193821 -0.0317726 0.103521 0 0 -0.113443 0.000154245 0 0.0322084 -0.911638 0 0 -0.0134274 -0.138649 0 0.21419 0 -0.00675339 0 0 -0.00104309 0 0 0.934996 -0.00318602 0.0279783 0 -0.0342703 -0.0635669 0 0 0.387129 0 -0.0036401 0.382851 0.0104515 0 0 -0.00315191 0.00451483 0 0.0183973 -0.00993664 0.00186547 -0.447355 0.0205066 0.0175984 0 -0.00096572 -0.0184899 0.0569664 -0.0431384 0.0889073 0 0 0 -7.63573 -0.520524 -0.752339 -0.0235672 -0.0417105 -0.172214 -0.00099278 -0.00142379 -0.00877393 -0.0194259 0 0 0 0 0 0 -0.262152 0 -0.388591 0 0 0 0 0.224809 -0.97202 0 0 -0.731658 0 -0.0800919 0 -0.0477367 0 0 -0.161169 0 0.509691 0.119757 -0.259518 -0.0398155 0 0 -0.44676 0 -10.2389 0 1.20306 -0.834982 0 0.788958 0.557764 -0.0272451 0 0.0267361 0 0 -0.1245 0 -2.67408 -1.41402 0 0 -0.186289 0 0 -0.104705 -0.577666 -0.382233 0 -1.40682 0 0.526156 -0.496094 0.446054 0.312746 -0.0515927 -0.678365 -0.587093 -0.0829784 0.0383998 -7.75449 -0.0631529 0 0 0 -0.180708 0.0936165 0 0 0 0 0.223899 -2.30837 2.76123 -3.13838 0.401567 -0.330878 -0.34477 0.441509 -0.385973 0.484677 -0.508913 0 0 0 0 0 0 +185 0 -0.634329 -0.0543663 -0.033679 -0.214765 0.102203 -0.0582514 0.422066 -0.140483 -0.237302 0.826946 -0.164408 0.443724 0.00231684 0.984771 0.0338301 0.688673 2.84508 -0.0441448 0.056376 1.08494 -0.0444374 -0.000749639 -0.00297169 0.0838322 0.24512 0.171461 -0.0550293 0.51671 1.88277 -0.0389123 -0.0283392 0.296553 0.238265 -0.273488 0.187616 -0.0132685 -0.0663511 2.17008 -0.40002 -0.14957 0.0230083 -0.693633 -0.0399322 3.69002 0.211088 -0.370447 0.99532 0.494334 0.108719 -0.00287608 0.538731 -4.84538 -0.0960856 0.094735 -0.158687 -3.33378 -0.316384 -0.424073 -0.174132 -0.0482319 -1.43882 -1.0568 -0.249614 0.0311168 -0.245982 -1.45758 -0.50171 0.125443 0.0483001 0.0298883 0.0915233 0.0167331 0.0614324 -3.0409 -0.744036 -0.285774 -6.45206 -2.81635 1.6449 -1.91768 2.06653 -3.82692 -0.633522 0.866868 -1.50445 0.0875537 -0.0456907 0.0720358 -0.409152 0.645583 -3.66382 0 0 0 0 0 -0.033679 -0.214765 -0.000400227 0 0 0 0 -2.90243e-06 0 0.00716531 0 0 -7.2464e-05 -8.15611e-06 0.00408054 0 0.00109948 0.00199944 0.0279189 0 0 -0.0558732 -4.29611e-07 0 0.0372762 -0.251758 0 0 -0.00555171 -0.00793353 0 0.141672 0 -0.00748061 0 0 -0.000773543 0 0 0.300378 -3.9118e-05 -0.00140784 0 -0.00543129 -0.00345235 0 0 -0.0896464 0 -0.000821233 0.0177404 0.00121002 0 0 0.000138353 0.000694068 0 -0.00102279 -0.00184358 -0.000489644 -0.164297 0.00291107 -0.00572463 0 -8.71882e-05 -0.00040359 -0.060507 6.55787e-05 -0.0633223 0 0 0 -0.423371 0.00182821 0.0146979 0.00728316 -0.0128941 0.0257246 6.11018e-05 -8.30326e-05 0.00103491 0.000851172 0 0 0 0 0 0 0.102203 0 -0.0582514 0 0 0 0 -0.421245 -0.414421 0 0 0.665812 0 0.0704072 0 -0.00218622 0 0 0.670977 0 0.0195218 -0.120496 0.263751 0.0933552 0 0 -0.102583 0 2.32268 0 0.56155 -0.149169 0 -0.984635 0.0632425 0.0293029 0 -0.0488451 0 0 -0.0256449 0 0.753952 1.51292 0 0 0.182302 0 0 -0.111688 -0.0597157 -0.397701 0 -1.90427 0 -0.3192 0.163184 -0.0499205 -0.236596 0.10738 0.595699 -0.171955 0.119072 0.849588 2.37298 -0.0254349 0 0 0 -0.111908 -0.11421 0 0 0 0 0.0970344 -6.64182 -1.67336 1.35068 -0.488287 0.400519 -0.711515 -0.310372 0.279142 -0.393088 0.527162 0 0 0 0 0 0 +186 0 -0.71087 -0.337485 0.00596979 0.0379245 -0.198178 -0.247585 1.17216 3.23473 0.0483292 -0.468808 0.0763085 1.27938 -0.000414524 1.45127 -0.00124101 0.99433 2.73305 -0.123417 -0.00377683 2.80234 0.00883297 0.499489 0.000536386 0.00338863 1.06954 0.0343935 0.0366776 0.605793 0.856286 0.291705 0.00533575 -0.0107863 1.6501 -0.0559102 0.466491 0.00512561 0.20229 5.99801 0.146723 0.589648 -0.00413497 0.154237 0.0115369 3.98571 -0.0381738 -0.154665 0.757071 -0.0388511 -0.0274181 -1.86971 0.0510389 2.84094 -0.0033447 -0.0101741 -0.0204164 -0.0381471 0.520922 0.42572 0.0219094 0.00909997 -0.132659 -2.40423 0.162512 -1.39737 0.43012 -0.579619 0.837076 0.113102 -0.00991738 0.244105 0.0427883 0.150766 -0.210567 -2.14953 -0.856202 0.299777 -17.9496 0.59501 -11.3538 -0.988765 0.743084 -8.0554 0.144098 -0.3908 0.923414 -5.13576 0.00826284 -0.0210773 -0.0555304 -0.0261619 -1.66631 0 0 0 0 0 0.00596979 0.0379245 7.31827e-05 0 0 0 0 5.70788e-07 0 -6.15401e-07 0 0 1.52675e-05 -4.40068e-06 -0.000912159 0 -7.78904e-05 0.00959475 -0.0076617 0 0 -0.0750861 -2.57799e-07 0 0.0013071 0.111766 0 0 -0.00960037 0.0728322 0 0.0203793 0 -0.00530159 0 0 -0.000717796 0 0 0.0690789 1.24878e-05 0.000398669 0 0.00162438 0.000149776 0 0 -0.00552097 0 0.000135177 -0.0284499 0.00102442 0 0 -2.61772e-05 -0.000114245 0 -0.00101738 -0.0141517 0.00101777 -0.260174 0.000177549 0.00265849 0 -0.000204846 -0.00433649 -0.10312 0.00210555 0.0258295 0 0 0 0.00221603 0.0109309 0.02513 0.00167342 0.00273633 -0.0301127 -8.88689e-06 0.00023823 -0.00181822 -0.00470061 0 0 0 0 0 0 -0.198178 0 -0.247585 0 0 0 0 0.339051 -0.0688352 0 0 -0.530961 0 -0.0532508 0 0.00103422 0 0 0.061489 0 0.543378 0.171876 -0.202244 0.00784983 0 0 0.0284347 0 -2.6846 0 2.15806 -0.424742 0 1.27247 0.828342 -0.0168349 0 0.0582825 0 0 -0.0158859 0 -0.468874 -0.170034 0 0 -0.0373018 0 0 0.444945 0.3672 -0.094549 0 1.55291 0 0.188411 -0.17298 0.186144 0.0545368 -0.148535 -0.441979 0.162154 -0.0189774 0.114821 4.27874 0.0961478 0 0 0 0.0626945 0.0428158 0 0 0 0 -0.016454 -7.25653 2.02289 -5.68493 0.478663 -0.390077 -1.06944 0.295775 -0.275236 0.282037 -0.619566 0 0 0 0 0 0 +187 0 0.301414 0.316353 -0.0133859 -0.0237878 0.0709528 0.145084 -0.230794 -0.584562 -0.106509 0.545646 -0.115878 -0.102923 0.000963892 1.27166 0.0107586 0.818027 1.39629 0.124593 0.022789 2.40851 -0.00299576 -0.302465 -0.0012256 0.106513 -0.379735 0.581324 -0.0156145 -0.229663 0.215246 0.0889583 -0.012043 0.071204 -0.238626 0.0381415 -0.224292 -0.00810721 -0.100599 0.695541 -0.261032 1.24842 0.0103121 -0.571192 -0.0218857 2.39614 0.105802 0.501605 -0.121868 0.152702 0.0584096 -0.0126922 0.519285 1.22731 -0.0460501 0.0539015 -0.055919 1.03353 -0.183462 -0.0138666 -0.233588 -0.0238066 -0.693208 -0.977615 -0.427337 0.950544 0.0182734 0.143591 -0.73016 -0.0678739 0.0218283 0.0719283 -0.0603399 -0.107033 0.112494 -0.0150294 0.609237 -0.173426 -1.59302 -1.28609 1.47907 -0.974575 1.3889 -2.33833 -0.60333 0.698407 -1.06365 0.880591 -0.0229012 0.0426572 -0.126239 0.283289 -0.418862 0 0 0 0 0 -0.0133859 -0.0237878 -0.000590402 0 0 0 0 -4.57098e-06 0 0.00370196 0 0 0.000274185 3.60488e-05 0.000350322 0 0.000293153 0.00777093 0.0106763 0 0 0.0437729 1.83314e-06 0 0.0161947 0.107894 0 0 0.006897 0.0301303 0 0.0681574 0 0.00211326 0 0 0.000396063 0 0 0.235777 -6.95019e-05 0.00547406 0 -0.00883829 -0.0129665 0 0 0.035283 0 -0.00119219 0.0476413 0.00309344 0 0 -0.000520382 0.00100759 0 0.00216177 0.0117626 0.00138669 -0.394878 0.00122746 0.00383796 0 -0.000258955 -0.00425424 -0.0106834 -0.00527321 0.0296634 0 0 0 -1.2561 -0.0837374 -0.0971047 0.00127539 -0.012828 -0.0316552 -0.000214303 3.50695e-05 -0.00271706 -0.00781076 0 0 0 0 0 0 0.0709528 0 0.145084 0 0 0 0 0.0927619 -0.957733 0 0 0.123243 0 0.0221084 0 -0.0188918 0 0 0.983743 0 -0.494866 0.0295072 0.11541 0.126461 0 0 -0.290707 0 3.37376 0 -0.565044 0.210327 0 -0.110349 -0.252301 0.0140617 0 0.0279326 0 0 -0.0863926 0 1.14939 2.38905 0 0 0.301421 0 0 0.140071 -0.814639 0.01953 0 -1.79591 0 0.921973 -0.145461 0.0990506 0.041204 -0.0129281 -0.717282 -0.823619 0.173811 1.09062 -1.9152 -0.0863098 0 0 0 -0.0571917 -0.0773337 0 0 0 0 0.132081 6.59015 -0.187774 1.86805 -0.125397 -0.00953289 -0.00496191 -0.084658 0.0727592 -0.0653638 0.0862053 0 0 0 0 0 0 +188 0 0 0 0 0 -0.462225 -0.0651334 1.56511 4.32801 0 0 0.490494 0.0419025 0 0.236156 0.0391085 0 0 0 0.0735151 -5.01403 0 0 0 0 0.440519 0 0 -0.456062 -0.222717 0.415234 0 0.32037 0 0 0.0639319 0.0205557 0 0 1.70732 -0.729249 0 0 0.264805 -3.20651 0 0.359723 -0.301157 -0.0945996 -0.296569 1.68718 0.0515992 0 -0.129188 0.341543 0.294125 -2.05188 -0.493202 -0.139004 0 0 -0.365791 0.91916 0 2.67097 0.364837 0.7435 0 0 0 0 0.551658 0.95329 0 -0.579524 0.74449 0 0 0 -7.97851 0 -3.24968 0.766145 0 -0.557436 0.375387 -6.58391 0 -0.657717 0.749723 -3.08046 -0.08111 0 0 0 -0.226562 -0.046512 0 0 0 -0.101411 0.010694 0 -0.014431 0 -0.000258478 -0.0165984 0 0 0 0 0.0450109 0 0.00372035 0 -0.0795486 0 -0.681416 -0.372364 0 -0.00540457 0 0 -0.182036 -0.000110228 -0.0848268 0 0.00225361 0 0.000426351 -0.0535188 -0.0322772 -0.00195188 -0.0157689 0 -1.33858e-05 0 0 0 0.000112346 0 0 -0.000718488 -0.000698447 0.0698681 0.000986357 0 0 -0.00234151 0 -0.00172595 0 0 -0.0167035 -0.000103283 -0.100726 -0.00752715 0 0 0.0260529 0.0372092 0.00780877 -0.052289 -0.13967 0 0.0770378 0.00487312 0.109874 0 0 0 -0.0179591 0 -0.00489668 0.213838 0 -0.000610667 0.00286037 0.0392337 0 -7.08905e-05 0.000657769 -0.00346364 0.175735 0 -0.462225 -0.226562 -0.0651334 -0.046512 -0.0131619 -0.070281 -0.524248 0.0276916 -1.03161 0.0148108 0.0608225 -0.570455 0.00305353 -0.0430191 -0.065842 -0.0507768 0.00981626 0.0443301 -0.0542357 -0.840118 -0.587802 0.18176 -0.326703 -0.0345664 0.0645329 -0.0316739 -0.252259 -0.0264207 -1.71083 0.330376 -5.16456 0.453437 -0.0080929 0.756777 -1.95346 -0.0369937 0.0108469 0.0361664 0.0869771 -0.272233 -0.158235 0.00142382 0.433372 -1.49012 0.00525413 0.0432102 -0.210177 -0.16129 -0.0111531 0.605447 -3.93995 0.616959 -0.0543024 3.02454 0.17748 -0.313709 -0.208082 0.11046 -0.387726 -0.258835 -0.392995 -0.548349 0.111709 -1.09562 -0.895139 0.086094 0.204199 0.14895 0.163508 -0.170772 0.048592 0.0665729 0.00148262 -0.0190221 -0.105849 0.267788 27.5769 3.49852 -0.666148 0.674376 -1.65148 2.59825 0.0706045 -0.524125 0.716468 -0.773873 -0.0136088 -0.227073 0.135643 -0.133731 0.00788954 0 +189 0 0 0 0 0 0.00313921 0.308843 -1.04225 -2.0013 0 0 0.188014 1.77786 0 2.92417 0.124632 0 0 0 0.388558 2.18042 0 0 0 0 -0.351566 0 0 -0.853361 -7.99171 0.784377 0 0.613721 0 0 -0.274309 0.0392932 0 0 0.511517 0.968501 0 0 0.0696557 7.12718 0 0.885336 -2.37943 1.52328 -0.249411 2.34385 -0.708143 0 -0.450413 0.469536 -0.889956 -3.61516 -0.939354 0.510968 0 0 1.82118 -1.81003 0 -1.77928 -1.37163 -0.113575 0 0 0 0 0.750152 0.110301 0 -0.515795 1.47114 0 0 0 3.65162 0 -1.06925 13.0851 0 -0.453459 2.36804 5.73681 0 -0.331858 2.6026 -3.57725 21.5865 0 0 0 -0.0344196 -0.00651349 0 0 0 0.0110345 0.0088641 0 0.000922749 0 -0.000259126 0.0137466 0 0 0 0 0.0532262 0 0.00347724 0 0.162906 0 0.118067 -0.119431 0 0.000314059 0 0 -0.060814 -0.000292107 -0.0186164 0 0.00118099 0 0.000450598 -0.0329869 -0.00270035 -0.00313877 -0.00343631 0 -1.98926e-05 0 0 0 5.92939e-05 0 0 0.000968324 -0.000157474 0.013001 0.0122536 0 0 -0.00205714 0 -0.00144858 0 0 -0.00336866 -0.00331367 0.137335 -0.00241362 0 0 0.0827456 -0.0611221 -0.0123739 -0.0443409 0.17477 0 0.0490345 0.00296687 0.0352695 0 0 0 -0.0859958 0 0.0151342 0.316717 0 0.00212223 0.0201955 -0.0918733 0 0.000175474 0.00306352 -0.0151559 0.161073 0 0.00313921 -0.0344196 0.308843 -0.00651349 0.898425 0.101215 -0.0315484 0.195573 0.87067 0.00286528 0.0553632 0.483103 0.000377191 0.0512117 -0.00680009 0.0523447 0.0221713 0.0221111 -1.10433 -0.265292 0.323816 -0.00722781 0.286039 -0.19116 0.184039 -0.279866 0.679561 -0.049796 -1.07896 0.543423 2.99245 0.500979 -0.00102553 0.0606281 1.29719 0.0281106 0.0120005 0.0181361 0.0905673 -2.123 0.0609297 -0.0284562 0.292549 -0.898254 0.00513806 0.0721325 -0.25446 -0.190184 0.208903 1.40548 3.11384 0.667752 -0.0362607 1.44469 0.0109522 -0.891953 0.126387 -0.483271 0.383251 0.260211 1.24608 1.01244 -0.222788 -0.286381 -0.436895 0.390121 0.356886 0.0367664 0.673273 -0.185176 0.0144985 -0.0264413 0.000887273 -0.366046 -0.12759 0.148667 -15.9786 -2.43445 -4.85566 -0.518355 -2.06915 4.29225 -0.0826111 -0.403234 0.573707 0.553673 -0.00678785 -0.223064 0.542872 -0.575569 1.65616 0 +190 0 0 0 0 0 0.517993 0.14461 -0.0413824 -1.18247 0 0 0.297219 -0.329845 0 -0.945124 -0.149513 0 0 0 -0.572613 2.59907 0 0 0 0 -0.150985 0 0 -0.28974 -0.634334 -0.0523087 0 -0.508797 0 0 -0.0988683 0.0224108 0 0 0.639086 0.665709 0 0 0.276358 -2.61309 0 0.519826 -0.576013 -2.56933 -0.273084 -1.59781 -0.246532 0 0.370373 -0.497397 0.52355 0.192005 0.36492 -0.143998 0 0 -0.414762 -1.43588 0 -0.0419105 0.894569 0.575875 0 0 0 0 -0.338899 0.281009 0 -1.0365 0.408474 0 0 0 1.8212 0 -1.87284 3.59508 0 -0.0678561 -0.361374 1.65832 0 -0.431246 -0.196 -0.708454 0.418349 0 0 0 0.189112 -0.00799993 0 0 0 0.0073053 -0.070475 0 -0.00229747 0 -0.000744456 -0.041884 0 0 0 0 -0.13743 0 -0.0117423 0 -0.425474 0 0.239656 -0.226855 0 0.000136455 0 0 0.226907 -0.00130242 -0.0764773 0 -0.00929695 0 -0.0036329 -0.0621707 0.0168096 -0.0251183 -0.0160613 0 -4.08379e-05 0 0 0 -0.00046678 0 0 0.00302606 -0.00030065 -0.10302 0.0189514 0 0 0.0234722 0 0.0101254 0 0 -0.0506606 0.000301291 0.32289 0.00919932 0 0 -0.111542 0.120037 -0.0322209 0.152404 0.182387 0 0.0331517 -0.00470823 0.24441 0 0 0 1.00409 0 0.105968 -0.534001 0 0.00888397 -0.0275791 0.109603 0 0.000973697 -0.00374771 0.0172175 -0.273934 0 0.517993 0.189112 0.14461 -0.00799993 -0.347498 0.0295012 0.0729095 -0.198778 1.82425 0.0260667 -0.0198866 -0.117439 0.00459852 0.00639382 -0.015528 0.0781852 -0.00266205 0.111451 -0.943272 0.660491 -0.00671647 -0.127698 -0.103041 -0.138577 0.00633945 -0.0751948 0.931173 0.0258224 4.69041 0.112027 -0.289228 0.347929 -0.00420837 -0.869153 -0.168482 -0.0115487 0.00656566 -0.0354998 0.0343023 -0.522431 0.130416 -0.0113463 1.61717 -1.52846 -0.00372915 0.0237595 -0.217838 0.136472 -0.109957 -0.589124 1.05944 -0.126458 0.0734544 0.906324 -0.0240797 -1.31119 -0.18879 -0.220672 0.345099 -0.163602 -0.944609 0.205061 -0.110152 -1.91 -2.66847 0.0832139 0.100073 0.0307803 0.0822171 0.20662 -0.0170305 -0.00775153 -0.0688704 -0.0895211 0.0242283 -0.37371 1.54437 0.424175 2.0783 -0.253158 -1.2666 3.17393 -0.0246051 -0.343256 0.362575 0.940091 -0.034214 -0.0903145 0.112337 -0.0907077 0.582259 0 +191 0 -1.33222 -0.470107 -0.0362852 -0.250196 0.110661 -0.166675 -0.11444 -0.303708 -0.243709 0.593875 -0.0682754 -0.276942 0.00281029 -0.0599176 0.0385661 -1.84457 -10.4097 -0.0852984 0.0820088 -0.66315 -0.063414 0.0271 -0.00361767 0.0231036 0.197986 -0.367774 -0.0947494 0.309932 -0.262595 -0.176181 -0.0306905 0.32508 0.429683 -0.298892 0.0944386 -0.00560283 -0.288824 4.09548 -0.264465 -0.48783 0.0232894 -1.09508 -0.024767 -0.948965 0.172204 -0.370562 0.121964 0.660179 0.0790012 -0.908917 0.128883 3.86475 -0.13359 0.121399 -0.138648 0.0117965 -0.0735966 -0.0833046 0.079238 -0.0397688 2.44945 0.722085 4.50652 -0.132669 0.415816 0.0376388 1.48574 -0.102048 0.0457694 0.789259 0.495103 0.00751642 0.39212 0.633852 -0.169479 0.985769 -12.8514 -1.95922 -0.195173 -0.832874 1.32145 -3.61543 -0.0599967 0.0955525 -0.525994 -0.0644552 -0.0445966 0.0213769 -0.0603755 0.164566 0.287836 0 0 0 0 0 -0.0362852 -0.250196 0.000610303 0 0 0 0 2.41467e-05 0 -0.0129967 0 0 2.14263e-05 2.00722e-06 -0.00569919 0 -0.00155723 -0.0305985 -0.0560329 0 0 -0.228308 4.99902e-07 0 -0.00594835 -0.764917 0 0 -0.0300275 -0.152962 0 -0.0302709 0 -0.0260635 0 0 -0.00334229 0 0 -0.300906 0.000480744 0.000213057 0 0.0121369 0.0024708 0 0 0.0115121 0 8.38875e-05 0.0279584 7.55891e-05 0 0 -0.000178928 -0.00166709 0 0.000330313 0.0179621 -0.00137544 -0.278706 -0.000453642 0.0337028 0 0.00210042 0.0332437 -0.0364785 0.0100002 -0.00377035 0 0 0 0.477321 -0.00796486 0.0989478 -0.000557756 -0.000466337 0.132835 -3.00123e-05 -2.73433e-05 2.92469e-06 0.0222794 0 0 0 0 0 0 0.110661 0 -0.166675 0 0 0 0 0.301421 -0.560762 0 0 0.578501 0 0.0691441 0 -0.00491878 0 0 -0.0520228 0 0.471721 0.0686377 0.163473 0.00946582 0 0 -0.0877361 0 -8.66024 0 5.62116 -0.654899 0 0.575708 1.41081 0.0224019 0 0.0226591 0 0 -0.0540183 0 -2.38888 -0.265287 0 0 -0.00565272 0 0 0.109624 5.52493 -0.21303 0 -1.98572 0 0.509862 0.299564 -0.0426797 0.871621 0.143633 0.0131886 1.09369 0.092222 1.1145 -1.14114 0.0130408 0 0 0 -0.237919 0.018766 0 0 0 0 0.282346 -38.4671 -5.93999 -2.03407 -2.13538 1.07481 -2.15755 -0.239474 0.0911499 -0.199536 -0.221862 0 0 0 0 0 0 +192 0 0.296096 0.176919 -0.0122078 -0.0757353 0.274133 -0.106133 1.00763 -0.745752 -0.0738079 0.791354 0.0749249 -0.204693 0.000916796 0.183891 0.0151249 1.35063 7.88646 0.00860157 0.0337094 -0.403892 -0.00487473 0.131729 -0.00115843 0.120029 0.124254 0.163291 -0.00463117 0.592846 0.912972 -0.190742 -0.00965613 0.0870983 -0.0991592 -0.202712 0.39161 0.00431526 0.156184 -1.76717 0.173239 -0.499071 0.00792699 -0.012747 0.0128543 0.831207 0.0627498 -0.516648 0.738543 0.21575 -0.0157334 0.944043 -0.00631936 -2.46806 -0.0780754 0.0537429 -0.00803132 -0.325592 0.289655 0.149762 -0.166687 -0.0138721 -1.42944 -1.40527 -1.40613 0.128802 -0.000530199 -1.04884 0.0631834 0.190636 0.0129785 -0.770895 0.00794109 0.0782237 -0.100151 -1.70745 -0.455999 0.0939349 0.46524 -2.8409 2.13063 -0.885375 -0.146149 -0.0923987 -0.274996 0.262315 -1.15302 1.03439 -0.0162507 -0.0271214 -0.152609 -0.163168 -1.00073 0 0 0 0 0 -0.0122078 -0.0757353 0.000518319 0 0 0 0 2.07444e-05 0 0.00245318 0 0 -0.000128972 -2.41422e-05 0.00202565 0 8.50394e-05 -0.0153722 0.0246271 0 0 -0.0714465 -1.39883e-06 0 -0.00211767 -0.517122 0 0 -0.0013398 -0.100206 0 0.000101236 0 -0.00985884 0 0 -0.000583125 0 0 0.0682388 0.000414856 -0.00226037 0 0.0104405 0.00686479 0 0 0.0107464 0 -0.00013748 0.0847241 -0.000493689 0 0 0.000297435 -0.00158038 0 0.000524374 0.0193762 0.000375381 0.504365 -0.0010033 0.00574433 0 0.00246424 0.0142181 0.120586 -0.00181009 0.0138058 0 0 0 0.0286538 0.019974 -0.00996208 0.000845192 0.000836798 -0.0225933 0.000101894 8.93507e-05 0.00018815 -0.0118643 0 0 0 0 0 0 0.274133 0 -0.106133 0 0 0 0 -0.319091 -0.568122 0 0 0.252346 0 0.0478091 0 -0.00932868 0 0 0.378735 0 -0.243152 -0.161631 -0.0915192 0.041289 0 0 -0.183717 0 6.30884 0 -3.12526 -0.0101076 0 -1.29216 -1.27962 0.000251823 0 -0.0556246 0 0 -0.0394888 0 1.15715 1.40648 0 0 0.144596 0 0 -0.236731 -3.033 0.486886 0 -0.30058 0 0.219075 -0.0103079 -0.154954 -0.644498 0.180041 0.121375 -0.863048 -0.135503 1.41761 4.18356 -0.123986 0 0 0 0.256147 -0.0839755 0 0 0 0 -0.0364803 6.54373 -2.45405 7.57933 -0.543483 0.665145 0.938034 -0.198442 0.206604 -0.215764 0.569602 0 0 0 0 0 0 +193 0 0.35231 0.408142 -0.0173264 0.0302562 -0.0463109 0.190538 -0.887063 -2.07444 -0.182993 0.804115 -0.221243 0.166222 0.00197239 0.131593 0.022423 0.868712 -0.19244 0.131159 0.0679998 0.0797514 -0.00379677 -0.417754 -0.00258321 0.223816 -0.541294 0.554676 -0.041635 -0.374426 0.0848504 0.0817692 -0.0231489 0.173498 -0.687492 -0.00269798 -0.335703 -0.0127188 -0.334309 -3.16095 -0.366987 0.636303 0.0182752 -1.58079 -0.0249962 1.07721 0.148131 0.483754 -0.103506 0.579009 0.0317554 -0.255163 0.195822 -2.91571 -0.10985 0.155066 -0.0735341 -0.971472 0.284176 0.427624 -0.184652 -0.0482445 -0.509303 -2.39342 -1.81724 -0.766104 -0.159394 -0.594848 0.166637 -0.136436 0.0495777 -0.388139 0.33595 0.0864001 0.126261 -0.853948 -0.236065 0.369172 11.7511 -1.38802 8.16524 -0.0930578 1.04805 1.21355 -0.696031 0.555227 -0.958237 1.8671 -0.0383624 0.0364512 -0.0921722 0.194791 -0.0930066 0 0 0 0 0 -0.0173264 0.0302562 -0.00192527 0 0 0 0 -7.41643e-05 0 0.00542093 0 0 -0.000436633 -0.000130848 0.00290146 0 -5.34023e-06 -0.0152307 0.0541455 0 0 0.214004 -8.17647e-06 0 -0.0131961 0.101673 0 0 0.0281384 -0.0420161 0 -0.0950682 0 0.00523646 0 0 0.00108264 0 0 -0.432801 -0.00147788 -0.00763485 0 -0.0382661 -0.00624022 0 0 -0.0800134 0 -0.000480918 -0.174986 -0.00147092 0 0 0.000742482 0.00512684 0 0.000482041 0.0640196 0.00652766 0.326895 0.0038801 0.0333168 0 -0.013397 0.0205934 0.224715 -0.0356444 0.111491 0 0 0 1.37799 0.062889 -0.0293168 0.00357035 0.00294951 0.131262 0.000279303 0.000241661 0.000701178 -0.0165475 0 0 0 0 0 0 -0.0463109 0 0.190538 0 0 0 0 -0.220507 -1.21847 0 0 0.42966 0 0.0674472 0 -0.0411052 0 0 0.818298 0 -0.809133 -0.0694495 0.226663 0.113619 0 0 -0.503778 0 0.764267 0 -2.18088 0.110896 0 -0.510968 -1.0388 0.029449 0 -0.0174929 0 0 -0.108837 0 -0.0198401 2.15478 0 0 0.28475 0 0 -0.496051 -0.937639 0.0363598 0 -3.15037 0 0.0546943 0.115677 -0.104232 0.112968 0.236684 0.258031 -0.238245 -0.0936825 1.73619 -3.5256 -0.0894957 0 0 0 0.0551087 0.00694353 0 0 0 0 0.230185 2.13186 -4.97458 6.80689 -0.601342 0.268285 0.984369 -0.248827 0.0936238 -0.155815 0.280346 0 0 0 0 0 0 +194 0 -1.2055 -0.218478 -0.0303658 -0.154709 -0.0815827 -0.0883971 -0.566669 -0.755305 -0.380763 0.634626 -0.334354 0.0634369 0.00290291 0.578229 -0.0810428 0.915873 0.844922 0.168433 -0.117095 5.02211 0.0208938 0.0927427 -0.00513528 0.135796 -0.0333192 0.363939 0.0448503 0.316012 0.0494039 0.063848 -0.0431279 -0.684079 0.634787 0.109895 0.000271275 -0.0448606 0.131951 2.79274 -0.478855 1.98476 0.0149768 -0.407406 -0.0721481 0.862304 0.0140829 0.613715 0.326697 -0.956459 0.231641 -0.000491803 0.187972 -6.9331 0.294634 -0.183648 -0.129117 -1.60527 -0.0767435 0.178777 0.02217 -0.0179258 -0.0253282 -4.47252 0.784003 -1.74557 -0.747128 0.265404 0.389923 0.495954 0.117988 0.770641 -0.294048 -0.822292 0.308842 -1.75175 0.219631 0.0480387 -14.3375 -2.07502 -1.27683 -0.330235 0.730384 -2.32873 -0.292168 0.423028 -0.5242 1.0692 -0.00974452 0.171779 -0.0374125 0.712373 -0.14257 0 0 0 0 0 -0.0303658 -0.154709 -0.000487106 0 0 0 0 0.000304065 0 -0.0192214 0 0 1.86288e-05 -0.0001737 -0.00473811 0 -0.00142889 -0.0131399 -0.0561909 0 0 -0.260722 -4.14705e-06 0 0.00837048 -0.253859 0 0 -0.0274455 -0.0341628 0 0.0488129 0 -0.034408 0 0 -0.0030802 0 0 -0.158076 0.00638422 0.000772804 0 -0.000311617 -0.0304288 0 0 0.082496 0 -0.00417123 0.155411 0.00437874 0 0 -0.00134994 -0.000809425 0 0.0135214 0.074548 -0.00215657 -0.846721 -0.0129695 0.00193643 0 -0.0232458 0.0098877 -0.230901 0.0454647 -0.00217617 0 0 0 -1.1825 -0.128719 -0.00869447 0.00896943 -0.0205123 -0.00574319 -0.000190289 -8.26713e-05 -0.00363457 0.0373453 0 0 0 0 0 0 -0.0815827 0 -0.0883971 0 0 0 0 0.0809637 -0.214234 0 0 0.780067 0 0.0818658 0 0.0160797 0 0 -0.1239 0 0.512776 0.0775353 0.415264 0.0283106 0 0 0.0254096 0 -0.778635 0 6.58604 0.0849141 0 0.315864 2.09558 0.0409758 0 0.0302157 0 0 0.00265904 0 0.193989 -0.266073 0 0 0.0512535 0 0 -0.492195 3.46563 0.00992412 0 -1.81135 0 0.652051 0.381992 -0.0998859 0.770358 0.181895 0.0571619 0.838705 0.0687672 1.21141 2.55561 -0.0142302 0 0 0 0.137748 0.0719183 0 0 0 0 0.0422521 -45.3131 -8.11124 -1.14586 -2.54357 1.13007 -2.35518 -0.353329 0.109745 -0.236195 -0.142554 0 0 0 0 0 0 +195 0 0.220527 0.150908 -0.00611383 -0.0403884 0.448996 0.022816 -0.469766 -2.43553 -0.0390357 0.411374 -0.180283 -0.693541 0.0009526 -2.63022 -0.041916 0.475663 2.8988 0.124649 -0.0515567 -0.903655 -0.00350195 -0.192378 -0.00216759 -0.057317 -0.322293 0.127995 0.00689256 0.367129 2.06161 -0.493291 -0.012942 -0.330142 -0.422094 0.205807 -0.0103653 -0.0238974 -0.0229324 -1.26772 -0.131195 -0.372625 0.00494019 0.497984 -0.0218101 -3.25009 0.00282092 -0.232059 0.995403 -0.441803 0.09743 -1.25666 0.164022 1.78447 0.103779 -0.0607336 0.34671 3.00692 0.387312 0.0731396 0.00921149 -0.00212234 -0.599546 0.741839 -0.745164 1.22967 0.133196 0.354104 -0.21542 0.287277 0.0172864 -0.756833 -0.330461 0.0117114 0.0635267 2.08153 -0.408837 -0.0564468 1.62856 -2.57829 8.69591 -1.3278 2.03467 -2.4301 -0.0350041 0.548041 -1.92648 3.08766 -0.00195191 0.0466133 -0.717329 1.08369 -5.94941 0 0 0 0 0 -0.00611383 -0.0403884 0.00216367 0 0 0 0 0.000398717 0 -0.0141009 0 0 -0.000746316 -0.00151702 -0.00795085 0 -0.00109509 0.000575267 -0.107675 0 0 0.179026 -9.84644e-05 0 0.016766 -0.0215078 0 0 0.0256272 -0.0311265 0 0.103601 0 0.0090786 0 0 0.0017621 0 0 0.336155 0.00789228 -0.00883059 0 0.0416458 0.000360481 0 0 0.162916 0 -0.000897606 0.0668896 0.0035823 0 0 0.00196891 -0.00709336 0 0.00119043 0.0124573 0.0107156 0.306411 -0.015707 -0.0341896 0 0.00745072 -0.0329509 0.140494 -0.0358168 0.0571414 0 0 0 -0.159116 0.0787929 0.406568 -0.00096344 0.021525 -0.193025 0.000614055 0.00126331 -0.0112682 0.0857122 0 0 0 0 0 0 0.448996 0 0.022816 0 0 0 0 -0.469423 -0.749911 0 0 0.332313 0 0.039258 0 -0.0372405 0 0 0.975106 0 -0.329187 -0.107944 0.0640442 0.102623 0 0 -0.467631 0 3.57207 0 -0.76407 -0.243858 0 -1.42828 -0.480571 0.00458103 0 -0.0232297 0 0 -0.0507098 0 0.146676 2.37012 0 0 0.233149 0 0 -0.421198 -1.35261 0.228273 0 -1.81131 0 0.621594 0.0396365 -0.153494 -0.415875 0.193929 -0.141807 -0.501174 -0.192707 0.930346 -3.72678 -0.231464 0 0 0 0.185841 0.0177696 0 0 0 0 -0.0111686 -11.9935 -4.79986 8.21176 -1.28518 0.892347 0.0432341 -0.200842 0.142667 -0.183194 0.55058 0 0 0 0 0 0 +196 0 1.52511 -0.0786125 0.0666015 0.388583 -0.352006 -0.278916 0.851549 2.76284 0.342403 -1.54707 0.220189 0.212456 -0.0113356 0.112848 -0.00721736 -0.543839 1.84986 -0.151351 -0.0433198 -0.946821 0.0162884 0.456581 0.0110986 -0.219629 0.825458 -0.5344 -0.0358259 0.551708 0.139039 -0.0408751 0.0684705 -0.201546 0.268429 -0.131737 0.448133 0.0336081 -0.127653 -2.09724 0.667696 -1.20116 -0.0898748 0.00357085 0.092026 1.05105 -0.66902 -0.969275 0.484782 -0.367436 -0.229489 -0.0850896 -0.53593 -3.76888 0.0725171 0.105503 -0.0393857 -3.06793 0.0527401 0.218841 0.632601 0.242526 -0.488874 0.775564 1.91207 -2.66148 -0.598875 0.124778 2.07899 0.351654 -0.116136 1.66927 0.152255 -0.109289 -0.209332 -1.42859 -0.473227 -0.142682 8.12283 3.33981 -4.17334 2.96469 -2.85662 2.09194 1.35403 -1.34499 1.86432 -3.87143 0.462923 -0.521244 0.917226 -0.9031 -0.40124 0 0 0 0 0 0.0666015 0.388583 -0.00330488 0 0 0 0 -0.000813759 0 -0.0025053 0 0 -0.00270608 -0.00443291 0.00718071 0 0.000292807 0.0368387 0.0597709 0 0 0.127068 -0.000250153 0 -0.0256279 0.393113 0 0 0.01145 0.114295 0 -0.168022 0 0.0406842 0 0 0.00332669 0 0 -1.13354 -0.0160749 -0.0505443 0 -0.0596183 0.0185698 0 0 -0.16829 0 -0.00048074 0.205584 -0.00670286 0 0 0.00426208 0.00926516 0 0.00339922 0.117907 0.0184295 -0.142206 0.046076 0.00325576 0 -0.0432586 0.0215455 0.26978 -0.0957414 -0.0341109 0 0 0 6.48904 0.432589 0.0463717 0.0392872 -0.00269305 0.268697 0.00182999 0.000607301 0.013752 -0.050684 0 0 0 0 0 0 -0.352006 0 -0.278916 0 0 0 0 0.0916251 0.524925 0 0 -0.552469 0 -0.0643026 0 -0.0152782 0 0 -0.252653 0 0.629831 0.0266948 -0.104606 -0.0377508 0 0 -0.109857 0 -0.732802 0 -1.65569 -0.610442 0 0.448003 0.311659 -0.0147494 0 0.00740532 0 0 0.0326947 0 -1.47675 -0.485939 0 0 -0.0689207 0 0 0.430888 -3.00494 -0.0445727 0 0.5898 0 -0.303843 -0.0667995 0.0139367 0.066652 -0.0895887 -0.544099 -0.223444 0.0631512 -0.41774 -2.85397 0.0203292 0 0 0 -0.130123 0.0313378 0 0 0 0 -0.0813242 18.9888 3.00337 -0.603121 1.17727 -0.730199 0.980909 0.335076 -0.246595 0.27276 -0.204782 0 0 0 0 0 0 +197 0 0 0 0 0 0.198149 -0.196371 0.109115 0.314999 0 0 -0.106279 -0.432449 0 -0.223568 -0.00340693 0 0 0 0.022026 1.39 0 0 0 0 0.293101 0 0 0.537852 0.681699 -0.340191 0 -0.0492196 0 0 0.165137 -0.0105982 0 0 -0.394436 0.159502 0 0 -0.0245836 -0.019307 0 -0.295198 0.529836 0.106768 0.0235265 -0.433817 0.0839404 0 -0.0713185 -0.110561 0.354173 1.77163 0.188454 0.233592 0 0 -1.15525 -2.50785 0 -0.0249772 0.141253 -0.39901 0 0 0 0 0.0535082 -0.111293 0 0.234209 -0.231736 0 0 0 -2.08528 0 0.25204 -2.13342 0 -0.00584356 -0.763215 -0.322291 0 0.134268 -1.18874 3.01136 -6.20631 0 0 0 0.00502656 2.85033e-05 0 0 0 9.76286e-05 0.000850195 0 1.04059e-06 0 8.35376e-06 7.06485e-06 0 0 0 0 0.000259493 0 1.49226e-06 0 0.00134674 0 0.00192236 -0.00231377 0 -2.37233e-06 0 0 -0.0027762 0.000103035 -1.25142e-05 0 4.89978e-06 0 5.96555e-05 0.00136562 -0.000208094 0.00146843 7.56019e-06 0 5.86158e-07 0 0 0 3.43803e-07 0 0 -0.000271102 9.41781e-05 -0.00108306 0.000679245 0 0 0.000103703 0 -0.000102757 0 0 -0.000136189 0.000373733 -0.0010792 0.000580197 0 0 -0.00147314 -0.000702583 1.99834e-05 -0.000112888 -5.33681e-05 0 0.00113681 0.000163169 0.00725662 0 0 0 -0.00107713 0 -0.00117445 0.00222041 0 0.000145777 -0.000275606 0.000241687 0 -0.000130036 0.000245846 -0.00046279 0.000680622 0 0.198149 0.00502656 -0.196371 2.85033e-05 0.358014 0.0158745 4.37702e-05 0.566127 -0.00846677 -1.59209e-07 -0.0372613 -0.00743502 -7.15405e-10 -4.62505e-05 2.05537e-07 -2.35551e-05 -0.0260915 -3.39043e-05 1.09261 -0.131188 0.278101 0.0340758 -0.00198808 0.0975424 -0.145375 0.00436817 -0.00473787 0.0188844 4.05796 -0.241025 2.21615 -0.528698 9.23584e-10 0.400091 1.04672 -1.38918e-05 -0.00750133 0.103659 -0.066133 0.002214 -4.19181e-05 -0.00359125 0.626107 1.27479 -0.00584484 -0.0310636 0.0885851 0.0263662 -0.0475297 -0.0549317 -2.36187 -0.577957 0.0243634 -0.30542 -6.83328e-08 -1.04297 -1.70041e-05 0.260563 0.00140492 0.038416 -0.309858 -0.00240372 0.216482 0.000475318 -2.04817 -0.216651 0.228253 -0.139292 -0.0171849 0.165572 2.08956e-05 0.056491 6.26281e-08 -0.0280233 0.141911 1.43711e-05 -15.3463 0.017559 -3.29838 0.000102836 1.12819 -3.16062 1.74025e-07 0.3654 -0.786478 0.527412 4.45278e-10 0.194444 -0.368388 0.514634 -0.112465 0 +198 0 0 0 0 0 0.863646 0.214489 -0.317375 -2.92 0 0 0.0237704 -0.273535 0 -0.402519 -0.000745614 0 0 0 -0.00137105 3.54097 0 0 0 0 -0.441744 0 0 -0.110812 -4.17463 -0.197512 0 -0.0452195 0 0 -0.0500473 0.00511866 0 0 0.149885 -0.324937 0 0 0.0487898 0.507481 0 -0.44445 -0.604874 -0.19938 -0.0483775 1.0625 -0.0299765 0 0.0251385 0.0884341 -0.418036 -0.69198 -0.109591 0.0577045 0 0 0.784395 -1.3886 0 -1.17707 -0.550454 -0.699629 0 0 0 0 -0.132112 -0.0541334 0 -2.31373 0.571145 0 0 0 5.39625 0 -0.0201425 4.67321 0 -0.174614 0.534193 4.74523 0 -0.311817 0.933309 -1.49525 9.26336 0 0 0 0.0137308 7.78611e-05 0 0 0 0.000319357 0.00222469 0 3.22095e-06 0 2.26948e-05 1.70195e-05 0 0 0 0 0.000818624 0 4.48483e-06 0 0.00306634 0 0.00623001 -0.00556901 0 -6.92715e-06 0 0 -0.0074317 0.000279104 -3.13882e-05 0 1.30208e-05 0 0.000156099 0.00341103 -0.000628187 0.00397771 1.94634e-05 0 1.59243e-06 0 0 0 9.13626e-07 0 0 -0.000734367 0.000246434 -0.00309915 0.00184813 0 0 0.00020259 0 -0.000268881 0 0 -6.22996e-05 0.000918132 -0.00266063 0.00151795 0 0 -0.00398187 -0.00210267 -1.17303e-05 -0.000120269 -0.000176981 0 0.00325164 0.000507636 0.0170546 0 0 0 -0.00245246 0 -0.00318138 0.00594388 0 0.000394885 -0.000737778 0.000713027 0 -0.000352245 0.000658113 -0.0012446 0.00182198 0 0.863646 0.0137308 0.214489 7.78611e-05 0.780779 0.20458 0.000119565 -0.707899 -0.0170309 -4.34903e-07 0.00457654 -0.0246526 -1.95424e-09 -0.0001425 5.61457e-07 -5.10892e-05 -0.00133392 -9.26147e-05 0.552475 1.7117 -0.00811931 -0.349794 -0.00844826 0.100231 -0.0212153 -0.348445 -0.00938005 0.0222154 4.49758 0.100137 1.38023 0.487694 2.52291e-09 -2.04384 -0.0497065 -4.9176e-05 0.00249805 -0.0839906 0.0228475 -1.96512 -9.18166e-05 -0.0574448 1.79552 1.75427 0.000716761 0.0135046 0.234241 0.185028 -0.0605528 0.353655 1.96116 -0.06949 -0.021332 -0.347714 -1.86661e-07 -0.111487 -3.89405e-05 -0.208858 0.00998225 0.155511 -0.429936 -0.000814094 0.0867404 -0.00284402 -2.25303 -0.270664 0.378641 0.0367629 0.540667 -0.000210401 6.24275e-05 -0.0156478 1.71078e-07 0.0503042 -0.211947 3.29107e-05 -9.55776 0.0802594 5.4185 0.000311603 -0.31675 5.28424 5.03892e-07 -0.012446 0.0952319 2.51046 1.21635e-09 -0.109154 0.418388 -0.69973 2.93797 0 +199 0 0 0 0 0 0.00326268 -0.317154 0.938009 1.24101 0 0 -0.0381803 -1.63722 0 -2.30709 0.00381749 0 0 0 0.041726 -1.37531 0 0 0 0 0.244941 0 0 0.611515 -0.271868 -0.927275 0 0.101302 0 0 0.266365 -0.00997313 0 0 -0.36735 -1.56866 0 0 -0.133171 -3.6963 0 -1.22905 0.593381 0.555365 0.202835 -0.837405 0.0793742 0 -0.0651715 -0.0295648 0.0131923 2.5719 -0.0328153 -0.0325246 0 0 -2.28696 3.2767 0 0.853184 0.149267 -1.67641 0 0 0 0 0.0511664 -0.301704 0 3.12802 -0.815118 0 0 0 -2.82063 0 0.583752 -0.735062 0 0.6677 -0.709703 -2.3586 0 0.820424 -1.36775 2.4295 -4.64258 0 0 0 -0.0194044 -0.000110033 0 0 0 -0.000331452 -0.00359564 0 -3.69056e-06 0 -3.26488e-05 -2.22785e-05 0 0 0 0 -0.000988614 0 -5.71183e-06 0 -0.00385674 0 -0.00658175 0.00758173 0 1.00183e-05 0 0 0.0109481 -0.000405298 4.32847e-05 0 -2.00818e-05 0 -0.000252295 -0.00492773 0.000919332 -0.00577621 -2.79048e-05 0 -2.29086e-06 0 0 0 -1.40908e-06 0 0 0.00106641 -0.000398298 0.00448913 -0.00266933 0 0 -0.000262601 0 0.000434578 0 0 -0.000172226 -0.0012383 0.00355101 -0.00214926 0 0 0.00580606 0.0030787 1.26964e-05 0.000122594 0.000319395 0 -0.00467939 -0.000738734 -0.0234132 0 0 0 0.00308462 0 0.00461981 -0.00875628 0 -0.00057343 0.00108686 -0.00113136 0 0.000511511 -0.000969505 0.00182324 -0.00268407 0 0.00326268 -0.0194044 -0.317154 -0.000110033 0.367002 0.0530283 -0.00016897 0.151163 0.0296565 6.14605e-07 0.0240576 0.0349333 2.76173e-09 0.000201732 -7.93452e-07 8.13821e-05 0.0330182 0.000130883 -0.287836 0.0672214 -0.333648 0.0827217 0.0113149 -0.0898508 0.294541 -0.0596393 0.0157236 0.00418647 0.0031709 -0.125114 -0.522059 -1.24177 -3.56538e-09 0.880835 -0.761336 6.71728e-05 -0.00584282 0.0238701 -0.042652 -0.31833 0.000150551 -0.0116513 -1.27331 -0.0270394 0.00210703 -0.0212461 -0.118687 0.0117779 0.0235465 0.398819 -0.872434 -1.53372 -0.0357396 -2.26393 2.6379e-07 -2.17085 6.19128e-05 0.169888 -0.0134232 -0.280248 -0.516131 0.00640049 -0.0489828 0.0120473 -6.83003 -0.0160049 0.364645 0.00818787 -0.0978085 0.0363463 -8.83387e-05 0.0209083 -2.41768e-07 -0.050787 -0.0132787 -5.23259e-05 3.61512 -0.119024 -3.39425 -0.000449738 0.0765579 1.73282 -7.12721e-07 0.188115 -0.235146 0.31217 -1.71894e-09 0.179185 -0.23785 0.303197 0.360391 0 +200 0 -0.0825556 -0.232015 0.00051196 0.010388 0.185325 -0.00490765 -0.0327161 0.561817 0.00297759 -0.337823 0.0251537 -0.122713 -6.53467e-07 -0.540332 0.000928775 -0.30609 -0.582548 -0.0678349 0.00154984 -1.31282 -0.00715739 0.20538 9.07519e-07 -0.0216886 0.102111 -0.210554 0.000935705 -0.228322 -0.553384 -0.0238753 5.30654e-05 0.0490038 0.687925 0.0146274 0.0022399 0.000560675 0.0118658 2.57798 0.0505644 -0.582558 -3.4479e-05 0.17312 0.00118208 -1.29587 -0.00159017 -0.196358 -0.391681 0.0738196 -0.00189561 -1.54807 0.0506933 2.15521 -0.00174599 0.000927144 -0.0272579 0.525517 0.114232 -0.0493654 0.00689119 4.17376e-05 1.41285 2.31848 -0.239792 -0.896469 0.333275 0.9989 0.157658 -0.11393 -5.71642e-05 0.108944 -0.0495219 0.0711595 -0.0660512 1.2438 0.514622 0.399742 -13.2455 -0.331072 -4.50939 -0.226421 -0.345873 -1.79081 0.12173 -0.359317 0.769891 0.00604296 3.10367e-06 -0.000111645 0.00436278 -0.143237 2.66065 0 0 0 0 0 0.00051196 0.010388 0.00016874 0 0 0 0 1.94422e-06 0 -0.00114779 0 0 0.000452398 0.00014505 -0.000202882 0 -2.332e-05 0.000235826 -0.011501 0 0 -0.0178171 1.0548e-05 0 -3.13898e-05 -0.0119163 0 0 -0.00273782 0.00421421 0 -0.0103395 0 -0.000174037 0 0 -4.16758e-05 0 0 -0.00253854 3.06623e-05 0.00618512 0 0.00313552 0.00651876 0 0 -0.0107199 0 0.000325439 -0.0344018 -0.000109992 0 0 -0.00092732 -0.000275046 0 0.00153184 0.00137378 0.00243103 -0.101988 0.00720668 -0.00260021 0 0.00112008 0.00410524 -0.00037451 -0.00202319 -0.0128016 0 0 0 0.180162 0.00674827 0.0294694 -0.00281161 0.00450463 0.0350327 -0.000599892 0.00114163 -0.00234365 0.00667603 0 0 0 0 0 0 0.185325 0 -0.00490765 0 0 0 0 0.138178 -0.17789 0 0 -0.244052 0 -0.032166 0 -0.00940283 0 0 -0.824785 0 0.394806 0.0267479 -0.102023 -0.117606 0 0 -0.066039 0 -5.04158 0 1.03547 0.10474 0 0.216831 0.75228 -0.0115658 0 0.0114452 0 0 -0.0317341 0 -0.85008 -1.89424 0 0 -0.26999 0 0 0.323884 -0.787538 0.00656871 0 0.969263 0 0.246233 -0.170831 0.113053 0.151311 0.0499077 -0.123339 0.0599207 -0.026238 0.662148 4.47055 0.0598861 0 0 0 0.00235213 0.0406534 0 0 0 0 0.0362114 -4.91255 1.73372 -2.85123 0.409459 -0.464672 -0.0959866 0.147635 -0.151645 0.192433 -0.134743 0 0 0 0 0 0 +201 0 1.96749 0.674078 -0.000955242 -0.040232 0.39993 0.329443 -0.79411 -2.42144 -0.00428079 0.033338 -0.00870094 0.109545 1.12434e-06 0.0427305 -0.000513662 1.37348 4.08195 -0.0110545 -0.00131928 0.613105 -0.000690599 -0.310877 -1.44597e-06 0.00661085 -0.58768 0.735177 4.98521e-05 -0.495823 -1.27576 0.129687 -8.06429e-05 -0.0129592 -1.04128 -0.019991 -0.301144 -0.000391512 0.0289944 -5.08952 -0.0389447 0.999832 6.34742e-05 -0.117247 -0.0011836 0.66903 0.00337163 0.835197 -0.839999 -0.0469903 0.00208642 1.21467 0.0446719 -3.03794 0.0015078 -0.00135882 0.0455301 -1.31552 0.138995 0.0529366 -0.00917615 -7.45284e-05 -2.26421 -0.441787 -0.507302 2.26086 -0.114965 0.774635 -0.438545 0.0706773 7.82669e-05 0.0163759 -0.208408 0.0118872 -0.0207289 0.593573 1.09003 -0.139883 26.1479 1.32771 12.5265 0.83603 -0.430199 12.2172 -0.0296985 0.189363 -0.376488 7.78577 -6.5807e-06 0.0001701 -0.00686033 0.0436402 6.13383 0 0 0 0 0 -0.000955242 -0.040232 0.000107479 0 0 0 0 7.7797e-07 0 0.00132523 0 0 -0.000666166 -0.000221979 0.000248432 0 3.24616e-05 -0.000370818 0.0100234 0 0 0.00703216 -1.61147e-05 0 -0.000132391 0.0273718 0 0 0.0021883 -0.00791263 0 -0.00368013 0 0.000172981 0 0 5.35274e-05 0 0 -0.0706701 1.03111e-05 -0.00919207 0 0.00139498 -0.0124943 0 0 0.0256045 0 0.000222147 0.0296628 -0.00166091 0 0 0.00136342 -0.000187749 0 -0.00307277 0.00277712 -0.00409705 -0.0118218 -0.0123885 0.00587795 0 -0.00168407 0.00476674 0.00901106 -0.00719365 0.0194019 0 0 0 0.27371 0.00521055 0.00939827 0.00702214 -0.0133171 0.0249077 0.000876488 -0.00167217 0.0036507 -0.00429463 0 0 0 0 0 0 0.39993 0 0.329443 0 0 0 0 0.0259372 -0.0100612 0 0 0.0798451 0 0.00951435 0 0.00192736 0 0 0.16569 0 -0.92162 -0.133742 0.00133072 0.0147458 0 0 0.0114792 0 3.61313 0 -6.84124 0.137401 0 -0.983286 -1.96494 0.00109885 0 -0.00238711 0 0 0.000858544 0 0.30331 1.42947 0 0 0.165997 0 0 -0.0187832 -4.95608 -0.05208 0 -0.557228 0 -0.999299 0.0935134 -0.158579 0.0465983 0.131209 -0.993072 -0.718187 0.0130554 -0.195923 -1.92914 -0.201049 0 0 0 -0.0132725 -0.00927423 0 0 0 0 -0.0811877 45.6238 1.44796 7.04133 1.06267 -0.802234 3.19366 -0.078406 0.112038 -0.188638 0.733884 0 0 0 0 0 0 +202 0 0.154267 -0.0198765 -0.00170606 -0.0861703 0.30864 0.196888 -1.575 -2.80103 -0.00677003 -0.33502 -0.0431199 -0.323089 1.94288e-06 -1.12341 -0.00157297 -0.298116 -1.96064 -0.0945513 -0.00330145 -2.84517 -0.0112436 -0.0423609 -2.41267e-06 -0.0897113 -0.505797 0.112057 -0.00198201 -0.75837 -2.4519 0.0181422 -0.000131414 -0.0737784 -0.190701 -0.0203224 -0.345768 -0.00100733 0.0601356 -0.701768 -0.118898 -0.606505 0.000112775 0.261782 -0.00264235 -3.33006 0.00629953 0.118142 -1.45955 -0.164673 0.00433111 -1.12592 -0.163855 1.25891 0.00302514 -0.00386526 0.103983 1.3104 -0.00265112 0.0859681 0.110205 -0.000130809 1.56162 2.11272 0.455273 -1.10003 0.0363201 1.5374 0.167951 0.0919424 0.000120288 0.0546404 -0.00228488 -0.064503 -0.0747805 2.30726 1.13457 -0.205762 10.1818 2.13792 9.87895 1.50039 -0.669953 11.1342 0.52252 -0.433354 0.597481 11.184 -1.22953e-05 0.000362835 -0.0127512 0.189767 11.7887 0 0 0 0 0 -0.00170606 -0.0861703 -0.000198399 0 0 0 0 -5.4677e-06 0 0.00265566 0 0 -0.00134697 -0.000419811 0.000500729 0 6.41066e-05 -0.000555627 0.0194119 0 0 0.0066882 -3.04666e-05 0 -0.000170366 0.0566314 0 0 0.00381236 -0.012148 0 -0.0152883 0 0.000385615 0 0 0.000107081 0 0 -0.150345 -7.12946e-05 -0.0185983 0 -0.0018958 -0.0239115 0 0 0.0447334 0 -0.000426824 0.0271403 -0.00156489 0 0 0.00275649 0.000360732 0 -0.00593862 0.00858024 -0.00818407 -0.163071 -0.019575 0.0115377 0 -0.00420535 0.0123433 0.0150433 -0.0181661 0.0296071 0 0 0 0.791087 0.0332389 0.0315348 0.0111834 -0.022223 0.0948356 0.00177125 -0.0033798 0.00741042 -0.00510067 0 0 0 0 0 0 0.30864 0 0.196888 0 0 0 0 0.448281 0.553098 0 0 0.138092 0 0.0118245 0 0.00854431 0 0 -0.232214 0 0.189293 -0.0242727 -0.0680045 -0.0279455 0 0 0.0662421 0 -0.206652 0 3.56054 0.427309 0 -0.109329 1.29453 -0.00680449 0 0.0554586 0 0 0.0693556 0 -0.0989987 -0.454554 0 0 -0.0526631 0 0 0.0539675 0.457069 0.578526 0 1.06227 0 0.195199 0.17796 -0.211706 -0.255615 0.0358567 0.572773 0.396349 0.0109402 0.0548458 2.06494 0.0487921 0 0 0 0.0743921 -0.0314357 0 0 0 0 -0.105304 -27.7181 -0.602332 -3.76292 0.51283 -0.646152 -1.55363 0.0228885 -0.0112252 -0.111192 0.180558 0 0 0 0 0 0 +203 0 0.149304 -0.0521563 0.0003213 0.00886409 0.193579 0.132345 0.383092 0.589974 0.00161919 -0.573983 0.012865 0.217164 -2.01956e-07 0.210844 -7.02366e-05 -0.322549 -2.19598 -0.134497 -0.000346048 0.110452 -0.0172731 -0.0559542 2.89402e-07 -0.0703842 -0.0195311 0.0329531 -0.00717689 -0.447669 -0.197736 0.225716 2.21757e-05 -0.000272245 0.080533 -0.024682 -0.134939 0.000205829 -0.0256121 -0.240388 0.0111159 0.345825 -1.42965e-05 -0.0415282 0.000203036 0.0937766 -0.000875906 0.472724 -0.306943 -0.0183008 -0.000268368 -0.0499025 -0.142224 4.14223 0.000465918 -0.000264907 0.00488195 0.246809 0.0292106 -0.00358044 0.110497 1.45202e-05 0.398648 0.916437 0.617248 1.24459 0.558937 0.44876 0.0928038 -0.201967 -1.9654e-05 0.255653 -0.0821391 -0.00214642 0.00713456 -0.201996 0.0254977 0.10166 2.35304 0.562851 0.954547 0.132804 -0.455357 2.41463 0.321595 -0.636952 1.38112 -1.07876 6.70333e-07 -7.77254e-06 0.000344402 -0.00420491 0.121336 0 0 0 0 0 0.0003213 0.00886409 0.000304923 0 0 0 0 4.19547e-06 0 -0.00120604 0 0 0.000494184 0.000115854 -0.000119589 0 -1.98068e-05 0.000125776 -0.00916848 0 0 -0.00821485 8.03029e-06 0 -6.86073e-05 -0.0408478 0 0 -0.000733842 0.000998648 0 -0.0101255 0 4.46181e-05 0 0 5.1131e-06 0 0 -0.0185838 6.31975e-05 0.00730403 0 0.0049728 0.00117953 0 0 0.00051382 0 0.000605757 -0.00117488 -0.000549966 0 0 -0.00100065 -0.000511958 0 0.000780209 0.0131465 0.00167066 -0.0968679 0.00239043 -0.000406644 0 -0.000502557 0.00585306 -3.95377e-06 -0.00503819 0.00425751 0 0 0 0.206715 -0.000186999 0.0279718 -3.59982e-06 -0.00125809 0.0310504 -0.000603064 0.000727161 -0.00165846 0.00426365 0 0 0 0 0 0 0.193579 0 0.132345 0 0 0 0 -0.181716 -0.0675843 0 0 -0.202529 0 -0.0333577 0 -0.0148974 0 0 -0.596147 0 -0.487662 -0.0518754 -0.139969 -0.101112 0 0 -0.0959812 0 -5.29535 0 -2.65664 0.0454726 0 -0.310876 -1.31739 -0.0164543 0 -0.0266436 0 0 -0.0201814 0 -1.04952 -1.57137 0 0 -0.247998 0 0 0.630389 3.03354 0.106801 0 1.78999 0 1.1698 -0.191224 0.214903 0.421119 -0.0325777 -0.41119 -0.0190804 -0.013606 -0.0632334 2.14375 -0.00546212 0 0 0 -0.0521866 0.0536979 0 0 0 0 0.00961793 16.2326 1.44774 1.55215 0.438912 -0.438612 1.63212 0.206851 -0.201172 0.214209 0.121944 0 0 0 0 0 0 +204 0 1.28357 0.0539786 0.000535577 0.0282254 0.288698 -0.108477 -0.0202661 -0.790312 0.00204293 0.284131 0.00536271 0.248424 -2.9938e-07 0.0693618 -0.000259832 -0.232956 2.20605 0.0604042 -0.000721176 -2.36017 0.00775227 0.179012 3.871e-07 0.0718581 0.0625819 -0.413272 0.000946755 0.398232 0.8349 0.0288511 2.87622e-05 -0.0160275 -0.211571 -0.0087144 0.295528 0.000133742 -0.0123097 -2.43603 0.00519891 -1.51412 -2.24749e-05 -0.0753208 0.000126171 1.52867 -0.00157053 -0.833995 0.375161 -0.0463939 -0.000177611 0.467443 0.0838031 -1.68749 0.000603528 -0.000606119 0.00668764 -1.67911 0.02953 -0.011095 -0.0835115 2.17494e-05 -1.21178 3.43171 -0.776441 0.660846 -0.133975 0.0733144 -0.641461 0.116844 -2.27212e-05 -0.063994 -0.140065 0.000374176 0.0213414 0.597839 -0.179613 0.0462039 1.57826 -0.716779 0.341427 -0.199217 0.168249 -0.672116 -0.417204 0.45156 -0.613967 0.895239 1.20193e-06 -8.29913e-06 0.000162382 0.0017592 -0.512315 0 0 0 0 0 0.000535577 0.0282254 0.000209555 0 0 0 0 4.00806e-06 0 -0.00165123 0 0 0.000603075 0.000150319 -0.000137242 0 -2.83803e-05 0.00016964 -0.00828085 0 0 0.01097 1.05235e-05 0 5.91177e-05 -0.0254514 0 0 0.00124922 0.0037083 0 -0.000602922 0 0.000213889 0 0 2.31806e-05 0 0 0.000976224 5.82572e-05 0.00864916 0 0.00320354 0.00414709 0 0 -0.009623 0 0.000421657 0.00228079 -0.000106464 0 0 -0.00122776 -0.000356365 0 0.00134815 0.0103028 0.00203856 -0.0338851 0.00259438 -0.00213651 0 0.000108667 0.00139947 -0.00481264 -0.00231914 -0.00112795 0 0 0 0.0623007 -0.0037559 0.0121512 -0.000681556 0.000328523 0.0102622 -0.000756826 0.000877514 -0.00121895 0.00189005 0 0 0 0 0 0 0.288698 0 -0.108477 0 0 0 0 -0.408124 -0.193992 0 0 0.0405496 0 0.0109611 0 -0.00293813 0 0 -0.724514 0 0.36593 -0.148939 0.0201398 -0.114774 0 0 -0.0316196 0 -4.09097 0 -5.01769 -0.599899 0 -1.26912 -0.476937 0.00265449 0 -0.0528287 0 0 -0.0223322 0 -1.86086 -0.869575 0 0 -0.171602 0 0 0.422373 -1.19638 0.931234 0 1.73906 0 1.91751 0.00325962 -0.11887 0.12474 0.0869954 -0.813301 -0.731547 -0.0357386 0.603714 5.85974 -0.086284 0 0 0 -0.0276132 0.0213111 0 0 0 0 0.0605321 38.1002 1.20884 7.64489 0.822106 -1.01139 3.18199 -0.140136 0.120754 -0.090988 0.887003 0 0 0 0 0 0 +205 0 -0.277383 -0.127356 -0.00103065 -0.0730377 0.162087 0.120705 0.0836407 0.148594 -0.00301809 -0.351888 -0.0289721 1.10957 5.24249e-07 2.0719 0.000328714 -0.390393 -0.338909 -0.0583646 0.000978075 0.967444 -0.0120098 0.126801 -6.12263e-07 -0.104617 0.0430978 -0.173608 0.00178706 -0.109462 0.535985 0.725623 -4.39315e-05 0.0131639 0.290091 0.0767248 0.0369774 -0.000370153 0.0521831 1.4912 -0.040924 0.727983 4.13625e-05 0.570663 -0.000426454 3.18674 0.00317607 0.542379 0.0719654 0.0445587 0.000453942 1.12364 -0.14505 1.79513 -0.000664275 0.000843699 -0.00389613 -2.29545 -0.143002 1.48461e-05 0.101996 -3.84375e-05 1.04923 -0.573059 -1.07046 -1.23937 -0.00139912 0.308348 0.245505 -0.0358745 2.97485e-05 0.0578305 0.0307429 -0.00135875 -0.0576798 -2.32388 0.215636 -0.0715283 -6.7347 0.639205 -2.30029 0.633502 -0.824892 -1.28027 0.631892 -0.797396 1.12484 -0.791177 -2.43065e-06 2.84198e-05 -0.00117955 0.0147093 -0.328893 0 0 0 0 0 -0.00103065 -0.0730377 -0.000469477 0 0 0 0 -8.89966e-06 0 0.00263544 0 0 -0.00104442 -0.000258413 0.000215889 0 4.8075e-05 -0.000398703 0.00946447 0 0 -0.035553 -1.82595e-05 0 -0.000301575 8.15646e-05 0 0 -0.00349432 -0.0152529 0 -0.0194589 0 -0.000388447 0 0 -3.95063e-05 0 0 -0.051083 -0.000122425 -0.0145484 0 -0.00587803 -0.0118989 0 0 0.0368781 0 -0.000977192 -0.0169825 0.000212959 0 0 0.00213704 0.000825878 0 -0.00343492 -0.00866831 -0.00349076 -0.118708 -0.0034069 0.00666484 0 -0.00192854 0.00752765 0.0140041 -0.00517662 0.0112342 0 0 0 0.319337 0.0167612 0.0254881 0.00230932 -0.004351 0.0448915 0.00134469 -0.00150362 0.000800289 0.0035492 0 0 0 0 0 0 0.162087 0 0.120705 0 0 0 0 -0.313113 0.349556 0 0 -0.0612207 0 -0.0167589 0 0.000369607 0 0 -0.313889 0 0.190888 -0.0937285 -0.0858691 -0.0199314 0 0 0.000336967 0 -3.26729 0 0.867377 0.211871 0 -0.675192 0.0504422 -0.0118369 0 -0.0374 0 0 0.0448147 0 -0.699375 -0.90359 0 0 -0.0784267 0 0 0.027944 -1.093 0.542284 0 0.687189 0 -0.478665 0.0646497 -0.172189 -0.0238546 -0.195128 0.0952473 0.401849 -0.0125638 0.27782 -0.957463 0.108708 0 0 0 0.0398757 0.00923214 0 0 0 0 -0.0210379 -9.4967 0.0786471 0.812252 0.32796 -0.473302 -0.0248199 0.171339 -0.153955 0.0594392 0.427078 0 0 0 0 0 0 +206 0 0 0 0 0 -0.0341455 0.181505 -0.657881 -0.316647 0 0 -0.0741076 0.335491 0 1.04567 -0.0321324 0 0 0 -0.189145 2.4215 0 0 0 0 -0.13004 0 0 -0.340096 -2.00546 0.339162 0 -0.216865 0 0 -0.187733 -0.01668 0 0 -0.117392 0.48019 0 0 -0.0288265 1.79872 0 0.409702 -0.684332 -0.729611 -0.0114841 -0.661409 -0.12461 0 0.149059 -0.238716 0.135288 0.983225 0.362623 -0.00173258 0 0 -0.61498 -0.3106 0 -1.39723 0.137765 -0.593916 0 0 0 0 -0.083728 -0.160697 0 -0.627033 -0.491219 0 0 0 -0.585446 0 0.803237 -0.852655 0 0.0899283 0.244337 -1.59604 0 0.305194 0.302098 -0.457044 3.53938 0 0 0 -0.0422375 -0.00288129 0 0 0 0.012612 -0.00136925 0 0.000954282 0 -0.000579267 0.00371995 0 0 0 0 0.0203839 0 0.00101796 0 0.0723924 0 0.119877 -0.0149885 0 0.000412049 0 0 0.0367561 -0.000786762 -0.000404404 0 0.00020046 0 -0.000102442 -0.0144414 0.00524889 -0.0110921 -0.000811265 0 -4.08736e-05 0 0 0 1.39279e-05 0 0 0.00207309 -0.000163076 -0.0390679 -0.00521709 0 0 0.00421651 0 0.000177931 0 0 0.00486896 0.00704266 -0.0237898 0.0026292 0 0 -0.0016293 0.0133118 0.00213085 -0.0122176 0.00378678 0 -0.0113258 -0.0057926 0.0291631 0 0 0 -0.0840403 0 0.0131599 -0.0469275 0 -0.00134304 0.00463767 -0.0240417 0 0.00100697 -0.00335595 0.00718176 -0.0166748 0 -0.0341455 -0.0422375 0.181505 -0.00288129 0.441394 0.122743 -0.0151022 0.246777 0.118557 0.000986437 0.00537188 0.126266 5.6508e-05 0.00423177 -0.00101543 0.00738374 -0.00408234 0.0162407 -1.3843 -0.294844 0.439608 0.11776 0.0867352 -0.189405 -0.0490163 0.0169754 0.121066 -0.00826249 -4.36361 0.118655 4.01034 -0.307624 -6.43904e-05 0.787836 1.57186 0.00279696 0.00197912 0.0256805 0.0293774 0.0907331 0.00694905 0.00742469 -1.45425 -2.91531 0.00107761 0.012693 -0.385184 -0.0605905 -0.0774326 -1.54022 1.09475 0.400756 -0.0061981 -1.59236 0.00102066 -0.266744 0.016599 0.00481939 0.141354 0.0569596 0.175033 0.00740335 0.104459 -0.452621 1.85783 -0.0295492 -0.689235 0.0341353 -0.10501 -0.256835 -0.00404121 -0.0446617 -0.00166682 0.0688288 0.00472522 -0.02037 -20.6482 -0.554134 -4.61059 -0.182202 0.874847 -4.06393 -0.00534798 0.0179975 0.0457375 -1.44394 -0.00113709 -0.0968083 0.269504 -0.20909 -0.393109 0 +207 0 0 0 0 0 -0.273459 -0.37723 0.591816 2.02256 0 0 -0.011095 -1.42988 0 -2.45625 0.0161766 0 0 0 0.0773707 -4.37951 0 0 0 0 0.456671 0 0 1.07118 6.54028 -0.851769 0 0.11887 0 0 0.295026 0.0078722 0 0 -0.199147 -1.61907 0 0 -0.0553775 -4.73164 0 -0.993321 2.24394 0.536797 0.128265 -1.60508 0.454225 0 -0.122207 -0.0174421 0.497336 0.681191 -0.25899 0.624401 0 0 -0.639378 1.49836 0 0.523162 0.308058 -0.739777 0 0 0 0 0.310495 0.133786 0 3.38622 -3.27291 0 0 0 -4.46322 0 0.616628 -11.3519 0 0.278762 -1.57194 -8.31022 0 0.355714 -1.69077 2.56931 -24.8467 0 0 0 0.0285095 0.00621571 0 0 0 0.00491821 -0.0328007 0 0.000395801 0 2.35713e-05 -0.00251531 0 0 0 0 0.029722 0 -0.000606259 0 0.0473246 0 0.082539 -0.116744 0 4.54789e-05 0 0 0.0719443 -0.00115181 -0.00467822 0 -0.00215002 0 -0.00230839 0.00628975 0.00407309 -0.0157508 -0.000121188 0 2.58278e-07 0 0 0 -0.00015115 0 0 0.00304708 -0.0036457 -0.0555893 -0.011815 0 0 0.00408352 0 0.00397779 0 0 -0.0105271 0.0147678 0.00233024 -0.00386032 0 0 -0.0770276 -0.0277194 -0.0022276 -0.0371462 0.0261393 0 -0.0451678 0.0134363 0.00713106 0 0 0 -0.188775 0 0.0362227 -0.181714 0 -0.00289615 0.0141458 -0.0781492 0 0.00153095 -0.00708656 0.022503 -0.0719223 0 -0.273459 0.0285095 -0.37723 0.00621571 -0.665363 -0.129977 0.0660202 -0.229417 0.219202 -0.00281557 0.0382471 0.183047 -0.000172962 0.00629081 0.00416378 0.00326355 0.0331716 -0.0380382 1.15939 0.191065 0.00802367 0.368731 0.115277 0.26657 0.259454 0.35667 0.0804927 0.0245524 -1.1087 0.110694 -0.93355 -0.731811 0.000245243 0.563561 -0.199088 0.00576599 0.000858797 0.0636441 0.00563508 1.89615 0.0137423 0.0555679 -1.11838 2.32228 0.00429097 0.0111298 0.605341 0.11748 0.0900699 -0.176181 1.67499 0.610134 -0.023199 1.29546 -0.00820777 1.85691 0.00684443 -0.114463 -0.217032 -0.263995 0.726432 -0.363637 0.0214901 0.306986 11.1271 0.045349 -0.18943 0.000941061 -0.358689 0.393187 -0.00691539 -0.0556691 0.00629865 0.0950828 0.0387372 -0.0212497 4.8066 -0.417904 -2.76431 0.130606 -0.179486 -6.29697 -0.00423522 -0.000816479 -0.62976 -1.99476 0.00266325 -0.100293 -0.101155 0.198219 -3.16714 0 +208 0 0 0 0 0 0.555286 0.11616 -0.184861 -1.49216 0 0 0.0011525 0.972828 0 0.790083 0.00863106 0 0 0 0.00274403 1.71 0 0 0 0 0.0550816 0 0 0.0947096 1.34514 0.221433 0 -0.127728 0 0 0.0754964 0.0373973 0 0 0.170561 0.821871 0 0 0.140439 2.83305 0 0.255973 0.535181 -0.283287 -0.165786 -0.882866 -0.123147 0 0.138145 -0.073387 -0.0456464 0.692355 0.587723 0.219499 0 0 0.417161 -2.40468 0 0.151026 -0.0574885 0.605723 0 0 0 0 -0.26887 -0.200372 0 -2.78575 -0.878343 0 0 0 3.14071 0 -0.642626 -0.299836 0 -0.529634 1.44329 1.08395 0 -1.05353 2.16967 -0.828891 -3.5555 0 0 0 0.216519 0.0142201 0 0 0 0.00928052 -0.0120278 0 0.000522101 0 0.00228385 -0.0114932 0 0 0 0 -0.0911884 0 -0.00488011 0 -0.200481 0 0.128834 0.0465724 0 -0.000863525 0 0 -0.174908 0.00303958 -7.5618e-05 0 -0.00169885 0 -0.000822535 -0.0275501 -0.01298 0.0426755 -0.00143761 0 0.000161531 0 0 0 -0.000118676 0 0 -0.0080136 -0.00129399 0.0385149 0.0192204 0 0 -0.0103622 0 0.00141186 0 0 0.00744186 -0.0162992 0.000798486 -0.0019414 0 0 0.0161853 -0.0202492 -0.00569855 0.042451 0.00540472 0 0.0397661 0.0144162 -0.146534 0 0 0 0.278962 0 -0.0570213 0.253748 0 0.00552759 -0.0237856 0.102554 0 -0.00391102 0.0161451 -0.0354594 0.0926554 0 0.555286 0.216519 0.11616 0.0142201 -0.426509 -0.0878544 0.0702283 -0.400455 0.389787 -0.00477986 -0.0599747 -0.000188616 -0.000272311 0.00230492 0.00475741 0.00372554 -0.0329155 -0.0797665 0.0244786 -0.842378 0.223489 -0.318767 0.133091 -0.0492701 -0.172133 0.116776 0.113845 -0.00806897 5.91036 -0.0024618 1.22955 0.912166 0.000304095 -1.38163 0.746887 0.00894924 0.000673565 -0.0597612 -0.0140919 0.495195 0.0203262 0.0273878 2.76934 -1.15626 -0.00972497 0.0058113 -0.305937 -0.0829108 -0.0434373 0.146538 0.307614 -0.702011 0.106474 0.516889 -0.0042639 -0.144314 0.0356269 -7.11817e-05 0.0219496 0.867853 1.04742 -0.107928 -0.213296 0.68564 9.02226 0.063749 0.0437389 -0.0590742 -0.256902 0.260189 -0.012512 0.00526643 0.00787825 -0.128162 0.10783 0.00655191 -6.33065 -0.069749 3.14778 0.162304 0.0920005 -2.84936 0.00456302 -0.107139 0.211723 0.287506 0.00558487 -0.00470787 0.243127 -0.190304 -0.413905 0 +209 0 0.179351 0.292814 -0.000868534 -0.0140482 0.348679 0.186561 -0.0422905 -0.159193 -0.00239763 -0.176836 0.104025 -0.460943 1.00341e-05 -1.11358 0.0101814 0.742789 0.663419 -0.0109031 0.0162628 -2.8242 -0.0143235 -0.320816 -5.81783e-06 -0.0767728 -0.31355 0.484103 -0.0178327 -0.273314 1.16843 -0.261187 -0.00011925 0.221662 -0.0692588 -0.0371101 -0.216294 0.00502254 -0.138569 1.35094 0.125689 -0.809406 0.000195752 -0.354483 0.00630478 -1.48658 0.00363626 -0.0494971 -0.00740287 0.354728 -0.0129239 0.16346 -0.0880811 3.72452 0.004561 0.0199007 0.0651522 0.0200842 -0.113669 -0.0626333 0.0697692 -1.07499e-05 -0.0451091 1.661 0.871051 1.38422 0.443974 1.15584 0.444617 -0.341009 -0.000429045 -0.100917 -0.0392819 0.267145 0.0952228 0.659498 0.551899 0.42831 -3.45423 0.998444 -1.25164 -0.0454194 0.239455 -3.49079 0.347832 -0.121758 0.314435 -0.3889 -0.000308776 -0.00474601 -0.0542129 0.0306073 -2.95868 0 0 0 0 0 -0.000868534 -0.0140482 -0.000742559 0 0 0 0 -3.07812e-05 0 0.00261736 0 0 -0.00055337 -0.000382599 0.000350437 0 0.000111557 0.00223304 0.00570277 0 0 0.0433556 -2.73434e-05 0 0.00218514 0.0266876 0 0 0.00460406 0.0194275 0 0.0229294 0 0.00124266 0 0 0.000101063 0 0 0.098986 -0.000427239 -0.00776012 0 -0.0103435 0.00237728 0 0 0.00720718 0 -0.001518 -0.0454479 0.00181642 0 0 0.00113025 0.00128295 0 -0.00379802 0.014188 -0.0027792 0.00425206 0.0101882 0.00447414 0 -0.00190838 0.000205973 -0.015739 0.000519862 -0.0124472 0 0 0 -0.286695 0.0241461 -0.0346019 -0.00913551 0.0142589 -0.0261623 0.000713087 -0.00108281 0.00193335 -0.000839639 0 0 0 0 0 0 0.348679 0 0.186561 0 0 0 0 -0.292355 -0.095201 0 0 0.0378534 0 -0.00358148 0 -0.00314841 0 0 0.657066 0 -0.797633 -0.0723931 -0.0392369 0.102793 0 0 -0.00931835 0 0.80154 0 -2.25178 0.254804 0 -0.803002 -1.28296 -0.00662057 0 -0.0302611 0 0 -0.0199867 0 0.565072 1.35042 0 0 0.190764 0 0 0.211492 -0.221059 0.146742 0 -0.714569 0 0.492039 -0.0342857 0.0779875 0.0597777 -0.29795 -0.812748 0.230705 0.00883376 0.164009 -1.95705 0.0062818 0 0 0 0.0912535 0.000460979 0 0 0 0 0.025807 13.1558 0.906293 3.43398 0.140986 -0.134118 1.39777 -0.023901 0.0644652 0.119038 0.372799 0 0 0 0 0 0 +210 0 -0.471088 -0.11406 -0.0057705 -0.0330072 -0.115827 0.131115 0.122475 0.611127 -0.0545727 0.366787 0.0130633 0.23843 0.000206633 1.44658 -0.00832505 0.372419 -0.135832 0.033908 -0.0107521 1.92379 0.00414499 -0.00675219 -0.000280779 0.0723831 -0.0940191 0.252111 0.0288494 -0.614742 -1.98189 0.498613 -0.00409124 -0.125219 0.431399 0.0190109 -0.133377 -0.00235957 0.29148 3.9491 0.0186646 1.53139 0.00303747 0.524665 -0.00349651 0.438326 0.0372687 0.953864 -1.0198 -0.136666 0.0179482 -0.534696 0.231993 -0.0976833 0.0215229 -0.00831192 0.0147873 1.9992 0.493369 0.176054 -0.155202 -0.00663587 -0.319508 -1.95971 -1.898 -2.06277 -0.0995544 -0.686874 0.154063 0.35635 0.00759389 0.283441 0.0791389 -0.135376 -0.377369 -1.05329 0.228937 -0.305283 -23.8974 -3.35672 -6.85462 -3.1106 1.96549 -6.79756 -0.063571 -0.160388 0.0817808 -3.6197 -0.0031647 0.0052596 0.0369614 -0.34547 5.01851 0 0 0 0 0 -0.0057705 -0.0330072 -0.000510373 0 0 0 0 -4.34963e-05 0 0.00483857 0 0 -0.00101625 -0.00173313 0.00558976 0 0.000532792 0.00504864 0.0544231 0 0 -0.097084 -0.00012845 0 0.0155302 -0.312691 0 0 -0.0179633 0.0156752 0 0.0994874 0 -0.00754775 0 0 -0.00129765 0 0 0.328351 -0.00062011 -0.0133961 0 -0.00752866 0.00887829 0 0 -0.179787 0 -0.00103528 -0.242518 0.00316359 0 0 0.00209211 0.000874974 0 0.0130571 -0.0174471 -0.0061233 0.0947399 0.0326481 -0.0178864 0 0.000254308 -0.0112888 0.0457552 -0.011035 -0.10437 0 0 0 -1.78215 0.117414 -0.342493 -0.0326985 0.0743396 -0.177621 0.00140905 -0.00387993 0.0100919 -0.0296241 0 0 0 0 0 0 -0.115827 0 0.131115 0 0 0 0 0.541736 -0.0483978 0 0 0.0423547 0 0.0165556 0 0.00314822 0 0 -0.115609 0 0.138054 0.12324 -0.0816634 -0.0278074 0 0 -0.0250018 0 3.05083 0 2.48014 1.17195 0 1.13302 0.404502 -0.00300275 0 0.0715259 0 0 0.0117253 0 2.1936 -0.465878 0 0 -0.081014 0 0 -0.297443 -0.981625 -0.413721 0 0.0165564 0 -1.14482 0.058657 -0.0263126 -0.25597 0.0632632 0.422554 0.00313787 0.033789 0.366175 0.92394 0.04396 0 0 0 0.0388238 -0.0525269 0 0 0 0 -0.000286707 -22.8354 -1.63587 -5.42463 -0.410039 0.465523 -2.83278 -0.0935647 0.0500498 -0.0459367 -0.869074 0 0 0 0 0 0 +211 0 1.13967 0.0729891 0.0169317 0.243332 -0.404305 -0.15904 0.651575 1.43002 0.0662973 0.249533 0.103961 -0.0086329 -0.000266446 -0.421373 0.009042 0.419664 2.4968 0.0617003 0.0143984 -1.01335 0.0362342 0.27279 0.000235952 0.202148 0.482188 -0.0575479 0.00144822 0.210568 -0.435488 -0.15579 0.00399427 0.117288 0.169311 -0.0298676 0.232394 0.00664431 -0.0241074 -2.10237 0.246042 -0.752517 -0.00469512 -0.00475928 0.01494 -0.570927 -0.0775217 -0.46129 0.0608897 0.168877 -0.0101349 -0.229616 0.104254 -3.89282 -0.00230634 0.0409104 -0.165594 -3.3355 -0.121297 -0.0922389 -0.274513 0.00353174 0.695474 1.70633 0.675543 -0.257294 -0.219991 -0.533406 -0.610305 0.0451901 0.00307824 -0.41945 0.0838941 -0.00698708 0.173756 0.00841983 0.356961 0.851771 12.1353 0.998086 0.996311 1.63284 -1.44192 5.68685 -1.26457 0.412771 0.202351 -1.66761 0.00658281 -0.0230351 0.116639 -0.38223 1.10273 0 0 0 0 0 0.0169317 0.243332 0.00203802 0 0 0 0 0.000105702 0 -0.0151271 0 0 0.00487664 0.00452417 -0.00978162 0 -0.00105642 -0.00587002 -0.138314 0 0 0.00202269 0.000325272 0 -0.0208657 0.278273 0 0 -0.00104337 -0.0281059 0 -0.159475 0 0.00252232 0 0 0.000279009 0 0 -0.574942 0.00145239 0.068033 0 0.0281154 0.00339672 0 0 0.00564327 0 0.00417155 0.214371 -0.0137021 0 0 -0.00996724 -0.0035256 0 0.0167924 -0.0547557 0.0182435 -0.0603975 -0.0618076 -0.016348 0 0.0084149 0.0347892 0.0114792 -0.0138874 0.13914 0 0 0 1.93622 -0.192338 0.436526 0.0538428 -0.0916371 0.181577 -0.00632534 0.0103253 -0.0197454 0.0439948 0 0 0 0 0 0 -0.404305 0 -0.15904 0 0 0 0 0.349549 -0.147407 0 0 -0.386903 0 -0.0255533 0 -0.0160861 0 0 0.0304788 0 0.0706414 0.126733 -0.116111 0.00572621 0 0 -0.0662382 0 -0.275905 0 -3.35081 -0.364963 0 0.91023 -0.600062 -0.0047056 0 0.0420333 0 0 -0.036571 0 -0.424014 -0.272541 0 0 -0.0250604 0 0 -0.0300414 1.71836 -0.590593 0 -0.343188 0 -1.02467 -0.0747417 0.172873 -0.294221 -0.151179 0.914006 0.542433 -0.0586088 0.0971291 -7.18876 0.0665236 0 0 0 0.0168613 0.0319099 0 0 0 0 0.0499907 22.3818 2.41008 -1.0113 0.784492 -0.616647 2.87666 0.058395 -0.041205 0.251186 -0.560338 0 0 0 0 0 0 +212 0 -0.617945 -0.404923 -0.000309655 0.0109044 0.0448548 -0.257784 0.749949 1.1331 9.29931e-05 0.124377 0.045785 0.137932 1.21219e-06 0.918889 0.000217997 -1.5166 -5.69054 0.042848 -3.87267e-05 2.26667 0.0022795 0.359971 -3.42287e-07 -0.00687814 0.534867 -0.57162 0.000564597 0.5412 -0.00364565 0.137295 -1.25408e-05 0.0143458 0.83344 0.00936997 0.351342 0.000720882 -0.0171619 3.44188 0.0422063 0.501714 7.58666e-05 -0.118227 0.00058513 0.417442 0.00476872 -0.300349 0.344606 -0.00914424 -0.000185658 -0.128967 0.086763 -0.346417 -0.000516679 -0.000339337 -0.0273624 0.579982 -0.00412724 0.0195663 0.0150948 -8.2565e-05 0.498034 -0.221989 0.255702 -0.2442 0.149318 -0.117758 0.386759 -0.0157257 -2.25739e-05 0.164065 0.237947 0.0122015 0.0103625 0.20744 0.153554 -0.458475 -10.4426 -0.527643 -5.18222 -0.527696 0.642298 -4.8482 0.21079 -0.0209499 0.0397052 -2.21445 -8.90148e-06 -5.63991e-05 -0.00262289 -0.0232314 0.00401556 0 0 0 0 0 -0.000309655 0.0109044 0.00029079 0 0 0 0 7.38378e-06 0 0.00303031 0 0 -0.000574133 -0.000149615 0.000321515 0 4.14263e-05 -0.000306465 0.0202574 0 0 -0.0251645 -1.06753e-05 0 0.00149924 -0.126125 0 0 -0.00209608 -0.0186151 0 0.0449315 0 -0.000356706 0 0 -2.53343e-05 0 0 0.154243 0.000105193 -0.00802996 0 0.004152 0.00198949 0 0 -0.0241588 0 0.000592507 -0.0210038 0.000171875 0 0 0.00117307 -0.00050076 0 -0.00274259 0.00614974 -0.0018213 0.0494563 0.00724675 0.00577723 0 -8.12728e-05 -0.00422677 0.0072297 0.00166885 -0.0146647 0 0 0 -0.44638 0.0257372 -0.0571151 -0.00912765 0.014785 -0.0173016 0.000742324 -0.00117061 0.00216901 -0.00771453 0 0 0 0 0 0 0.0448548 0 -0.257784 0 0 0 0 0.456063 -0.336637 0 0 -0.0160539 0 0.00482045 0 -0.00269571 0 0 0.212242 0 0.791131 0.102866 -0.033228 0.0105045 0 0 -0.0783109 0 -4.45229 0 1.9719 -0.43469 0 0.608286 1.09043 9.17563e-05 0 0.0707097 0 0 -0.0215203 0 -0.657922 -0.65226 0 0 -0.111194 0 0 -0.502764 -2.31752 -0.483065 0 -2.05701 0 -0.75051 0.0314895 0.0686655 0.120552 -0.128104 -0.893622 0.190987 0.00297573 -0.158982 -10.2572 0.0456671 0 0 0 0.00695449 -0.0223191 0 0 0 0 -0.0194036 -14.3784 -0.215512 -3.68462 -0.411174 0.452126 -1.62997 -0.0591098 0.0662667 0.0459246 -0.466846 0 0 0 0 0 0 +213 0 -0.0717653 -0.0921198 -0.000104101 -0.0202483 -0.185724 0.0502073 0.0248355 0.894326 0.00199593 0.211627 -0.0349702 0.336238 -7.05939e-07 0.316169 0.000231752 -1.00761 -2.26102 0.0461848 0.000873894 -0.0462243 0.00642091 0.103248 1.08228e-06 0.0417886 0.137036 -0.422998 0.0114959 -0.35389 -0.773376 0.250142 5.14022e-05 -1.04816e-05 0.252789 0.123158 -0.0229104 -0.00065762 0.12235 1.53815 -0.0243739 0.25771 -2.72162e-05 0.709501 -0.000421266 0.0187947 -0.000627589 0.39337 -0.468184 0.0267818 0.000367223 -1.41499 0.139293 1.84084 -0.000886907 0.00145582 0.0281585 1.01934 0.332617 0.0332019 -0.107715 5.49496e-05 0.23814 -0.34611 -0.0352541 -0.888877 -0.0778772 -0.313012 0.255897 0.130925 -9.66758e-05 0.0409933 0.226339 -0.0113054 -0.164848 -0.145947 -0.154103 0.151235 -8.09958 -0.666837 -4.02199 -0.653555 0.417823 -2.45229 -0.0817701 -0.0425334 0.0489369 -2.351 1.17148e-06 2.49869e-05 0.00106744 0.0161817 0.851848 0 0 0 0 0 -0.000104101 -0.0202483 -0.000527002 0 0 0 0 -1.27364e-05 0 0.00256915 0 0 -0.000400839 -6.33668e-05 0.000335538 0 3.61885e-05 -0.000170326 0.0265934 0 0 -0.00816035 -4.84996e-06 0 -0.000298504 -0.170673 0 0 -0.00217054 -0.00385959 0 -0.0140364 0 0.000242238 0 0 8.99382e-06 0 0 -0.017293 -0.000182924 -0.00538503 0 -0.00761131 0.000918964 0 0 -0.042061 0 -0.00107214 -0.099959 0.00209393 0 0 0.000823245 0.000906126 0 0.0036512 -0.0139221 -0.00204071 -0.0909487 0.0118374 -0.00170912 0 0.00114748 -0.0064656 -0.0355922 -0.00170428 -0.0293611 0 0 0 -0.251554 0.0338745 -0.105434 -0.00842339 0.0196071 -0.0340413 0.000543997 -0.00130651 0.00320636 -0.0118171 0 0 0 0 0 0 -0.185724 0 0.0502073 0 0 0 0 0.153895 0.162016 0 0 0.220213 0 0.0258418 0 0.00275123 0 0 -0.646601 0 0.0699079 0.0311047 0.0385862 -0.101624 0 0 -0.0187511 0 -0.493436 0 1.27238 0.278678 0 0.583397 0.205169 0.00392584 0 0.00263275 0 0 0.0297062 0 -0.000965686 -1.28859 0 0 -0.192359 0 0 -0.18426 -3.10433 -0.398613 0 -0.425219 0 -1.01145 0.0901901 -0.0476822 -0.063385 -0.219343 -0.769572 -0.0442863 0.0553721 0.192642 -4.51821 0.0797538 0 0 0 -0.0358662 -0.0743546 0 0 0 0 -0.0342345 -12.3772 -0.689158 -3.86169 0.217616 0.0207229 -1.70952 -0.163166 0.0813404 -0.0650692 -0.530868 0 0 0 0 0 0 +214 0 0.710563 0.10575 0.00194307 0.0822414 -0.0749878 0.0456858 -0.266985 -0.778815 0.00530268 0.278623 -0.0348559 0.373415 -2.1622e-06 0.0937661 -0.000816467 0.220192 -1.51182 0.00288035 -0.00129532 1.90304 0.00746936 -0.0859641 1.66676e-06 0.129835 -0.176721 0.328092 -0.00724372 -0.125474 0.0840606 0.330046 9.75393e-05 -0.0631025 -0.26077 -0.135181 -0.111692 -0.000707293 -0.0292756 -2.27353 -0.035314 1.29563 -0.000126586 -0.45111 -0.00063034 -0.210892 -0.00735597 0.875668 -0.0872801 -0.100956 0.000931235 0.456552 -0.0810252 -0.0731882 -0.0015944 -0.000800974 0.0115521 -3.76387 -0.111207 0.0549771 -0.158037 0.000108091 0.306136 -1.32424 0.587674 1.11799 -0.0812511 0.448717 -0.299393 -0.0222153 1.03468e-05 -0.464514 -0.149398 -0.029931 0.120597 -1.50023 0.416842 0.674425 6.65248 -0.149665 2.84339 0.16517 -0.60692 4.24887 -0.692664 0.338489 -0.190739 1.17934 1.37309e-05 5.91936e-05 0.00397272 0.0191488 -0.09259 0 0 0 0 0 0.00194307 0.0822414 -0.00081733 0 0 0 0 -1.92593e-05 0 -0.00429596 0 0 0.00134505 0.00035535 -0.00084185 0 -7.02446e-05 -0.000314642 -0.0472936 0 0 0.0684316 2.53742e-05 0 -0.00217374 0.133927 0 0 0.00748494 0.000174529 0 -0.0603611 0 0.00130594 0 0 0.000138537 0 0 -0.227608 -0.000274043 0.0187956 0 -0.0116372 -0.00262144 0 0 0.0148227 0 -0.00166601 0.0536581 -0.00017408 0 0 -0.00274852 0.00140803 0 0.00536777 -0.0153013 0.00416034 -0.0240557 -0.0146842 -0.00583321 0 0.00068773 0.00705349 -0.0126288 -0.00379162 0.0371106 0 0 0 0.720482 -0.0579125 0.140885 0.0190119 -0.031556 0.0544311 -0.00174101 0.00277919 -0.00520855 0.0150834 0 0 0 0 0 0 -0.0749878 0 0.0456858 0 0 0 0 -0.0502508 -0.47187 0 0 0.0438437 0 0.0172173 0 -0.011185 0 0 -0.631455 0 -0.492096 -0.00866051 -0.024019 -0.0826587 0 0 -0.187552 0 -11.9193 0 -4.37272 -0.923267 0 -0.233027 -1.46065 0.00291467 0 -0.00191989 0 0 -0.0400733 0 -3.8133 -1.50055 0 0 -0.203554 0 0 0.01683 2.14665 -0.111808 0 -1.62788 0 0.549407 -0.0484133 0.0941125 -0.46505 -0.133006 1.39463 0.195682 -0.0963354 -0.28412 -10.815 0.0918782 0 0 0 -0.137652 -0.011341 0 0 0 0 0.127578 26.2808 0.684685 3.23282 0.450943 -0.512824 3.18544 -0.0741942 0.0852876 -0.0128003 0.163889 0 0 0 0 0 0 +215 0 0 0 0 0 -0.178297 0.0866722 -0.00824465 0.122011 0 0 -0.231293 0.331735 0 0.869898 -0.113092 0 0 0 -0.202892 -1.62179 0 0 0 0 -0.157199 0 0 0.3735 6.36121 0.0513144 0 -0.541937 0 0 -0.063005 -0.0151135 0 0 -0.656176 -0.108921 0 0 -0.0450916 3.12615 0 0.189874 1.67217 -0.727705 0.015349 5.56324 0.23008 0 0.27333 -0.240392 0.829921 6.75205 1.41716 1.25343 0 0 -0.368717 -2.04763 0 0.494709 -0.616498 0.306143 0 0 0 0 0.180434 0.795803 0 0.682167 -2.20997 0 0 0 -0.294089 0 0.37524 -5.0424 0 0.17756 -0.809266 -1.66604 0 -0.0658191 -2.49134 4.87975 -22.4195 0 0 0 0.115169 0.0163155 0 0 0 0.00985804 0.0155734 0 0.0010973 0 0.00419884 0.00812452 0 0 0 0 -0.0645661 0 -0.0157575 0 0.13882 0 0.0419529 0.228365 0 0.00131907 0 0 0.130067 0.00129695 0.0404812 0 0.00194882 0 0.000722223 0.0447 0.0129423 0.0270797 0.00811699 0 0.000197384 0 0 0 9.12065e-05 0 0 -0.00313595 0.0010375 -0.153695 0.0233923 0 0 -0.0156287 0 -0.00113201 0 0 0.00358364 0.00496445 -0.0218533 -0.0225992 0 0 0.0835973 -0.0284079 -0.00519928 0.448087 -0.1238 0 0.161609 0.0102835 -0.0397627 0 0 0 -0.784507 0 -0.106481 -0.449301 0 -0.0072246 -0.0278909 -0.248046 0 -0.000947015 -0.00376414 -0.0175188 -0.219945 0 -0.178297 0.115169 0.0866722 0.0163155 -0.33507 -0.15067 0.475955 -1.20605 0.761584 0.0178325 -0.0115609 0.45027 0.00289295 0.0400049 0.0639165 0.0317105 -0.0363695 0.126972 0.0194405 -0.365438 0.255629 -0.285008 0.26851 0.0446254 -0.171472 0.271469 0.273179 -0.0178278 4.69087 -0.52006 1.2093 0.381872 0.00828403 -1.75627 0.566164 0.0291797 -0.0135404 -0.18937 -0.095323 1.62679 0.0805409 0.0483548 1.17812 0.689014 -0.00394561 -0.0707956 0.172065 -0.0731202 -0.206509 0.31558 1.74208 0.107987 0.185362 1.35895 -0.26455 -1.34893 -0.070307 0.168535 0.123721 0.195146 0.296806 0.52422 -0.310501 1.35653 16.9497 0.0237429 0.541093 0.00187976 0.0933597 0.372553 0.0854689 0.0906592 -0.00853868 -0.178693 -0.0167975 -0.303014 -2.6658 -0.814726 2.791 -0.247451 0.940369 -3.04541 -0.0734612 0.206552 -0.643753 1.15541 -0.0225744 0.143565 -0.451024 0.838788 -1.96825 0 +216 0 0 0 0 0 0.105204 0.330848 -0.531671 -1.05558 0 0 0.260591 1.23622 0 2.42922 0.242495 0 0 0 0.299402 -6.24796 0 0 0 0 -0.277087 0 0 -0.953876 -1.44122 0.80592 0 1.27464 0 0 -0.235911 0.0909017 0 0 -0.0519082 -1.93299 0 0 0.0183937 4.14774 0 -0.0500307 -1.26752 2.21062 0.0534996 2.76914 -0.305839 0 -0.526507 0.136407 -0.611454 -6.44848 -2.03815 -0.0694023 0 0 -0.471359 3.45547 0 -1.1719 -0.710519 0.454873 0 0 0 0 -0.375803 0.624632 0 1.21416 1.06161 0 0 0 0.671377 0 0.399756 0.0390044 0 0.35198 -0.352896 2.00006 0 0.163915 0.454261 -1.78835 7.0708 0 0 0 0.0524037 0.0168496 0 0 0 0.0450569 -0.029709 0 0.00460744 0 0.00294367 0.00188325 0 0 0 0 -0.0371083 0 -0.00953362 0 -0.0554432 0 0.374501 0.0414446 0 0.00136285 0 0 -0.00390155 6.54982e-06 0.0225799 0 -0.00317113 0 -0.00136801 -0.0211791 0.00312184 0.000863148 0.00220141 0 0.000137387 0 0 0 -0.000148279 0 0 9.35795e-06 -0.00196081 -0.102195 0.00506478 0 0 -0.0142933 0 0.00213942 0 0 0.00927043 -0.0211726 -0.0802535 -0.009945 0 0 0.00823962 -0.031362 0.0369876 0.135355 0.512218 0 7.2962e-05 0.00121658 -0.183401 0 0 0 0.695537 0 0.00183077 0.114531 0 0.000960807 0.011377 0.207353 0 3.92011e-05 0.0013857 -0.00802078 0.0518343 0 0.105204 0.0524037 0.330848 0.0168496 -0.159 0.00447668 0.633358 -0.377632 1.3038 0.0192164 -0.0758062 0.256607 0.00389933 0.0374845 0.0791095 0.11607 -0.0635563 0.107511 -1.26974 0.563836 0.163748 -0.171707 0.131679 -0.239577 -0.431087 -0.0548718 0.993573 0.0154143 -0.83555 -0.31778 0.478676 0.844716 0.0096111 -1.13916 0.282413 0.021604 -0.00729102 -0.0705255 -0.0488302 -0.285979 0.14342 -0.0117959 0.592586 -1.50749 -0.0115059 -0.0442252 -0.342988 0.102953 -0.198093 -1.78287 -0.660425 -1.00107 0.281357 2.81474 -0.359241 0.840899 -0.251697 0.441905 -0.0498782 0.310022 -0.395531 -0.473551 -0.108983 -2.40457 -3.06296 -0.156542 -0.336864 -2.17425e-05 0.213244 1.23538 -0.0139838 0.0962919 -0.0197985 -0.217506 -0.00581622 -1.08901 -1.0552 -0.40888 1.56044 -0.161051 0.644428 -0.153263 -0.0511209 0.134115 0.0927963 0.303682 -0.0191144 0.123003 0.0322191 0.0269419 0.406793 0 +217 0 0 0 0 0 -0.293278 -0.168671 -0.260443 -0.100858 0 0 -0.125978 -0.903533 0 -1.83895 -0.0648663 0 0 0 0.0926396 6.4702 0 0 0 0 -0.111291 0 0 0.500883 -4.06121 -0.677884 0 -1.3403 0 0 -0.0260704 -0.00718487 0 0 1.0394 1.88171 0 0 0.389504 -1.57971 0 0.00722738 -0.339945 -1.65088 -0.553726 -0.919535 -0.334807 0 0.462581 0.209348 -0.488554 1.6417 1.39684 -0.408325 0 0 0.693237 -2.40582 0 -0.337084 -0.442985 0.231334 0 0 0 0 -0.0128543 -0.140163 0 -3.01304 2.17502 0 0 0 0.0431016 0 -1.50717 4.45321 0 -0.507502 0.796133 1.41888 0 -1.72944 3.10388 -4.10342 12.2962 0 0 0 -0.0444799 -0.0362201 0 0 0 -0.0156996 0.0222842 0 -0.00683071 0 0.00667669 -0.00305149 0 0 0 0 -0.0950646 0 -0.0227848 0 0.0329148 0 -0.0134777 0.0835044 0 0.000123022 0 0 -0.154608 0.00194887 -0.0485765 0 0.00284502 0 0.00103277 -0.000317756 -0.0108083 0.0408677 -0.0251512 0 0.000313683 0 0 0 0.000133163 0 0 -0.00470614 0.00148332 -0.155371 0.0107546 0 0 -0.0531557 0 -0.00161843 0 0 0.00679337 -0.0142187 0.0364081 -0.048657 0 0 0.0757657 -0.0254462 -0.0172162 0.256983 -0.030521 0 -0.220385 -0.00626367 -0.170615 0 0 0 -0.244803 0 -0.159429 0.952239 0 -0.0106141 0.0670224 0.100557 0 -0.00141236 0.00968722 -0.064439 0.659156 0 -0.293278 -0.0444799 -0.168671 -0.0362201 0.287174 0.14446 -0.55338 0.295754 -3.51723 0.0253125 0.0525459 0.0193191 0.00719625 0.019305 -0.103773 -0.253309 0.0702752 0.0658712 1.94603 0.00875935 0.0135833 0.0665975 -0.000222113 0.285455 0.459634 -0.267294 -1.79137 0.0266004 -6.69227 0.252225 -0.0266824 -1.77219 -0.0174824 0.124499 0.0023079 0.0143889 0.00571535 0.075796 0.0781072 -1.54121 -0.558123 -0.0462903 -3.73168 4.11461 0.00682645 0.00025009 0.692997 0.0760714 0.158544 0.56616 0.836799 0.161859 -0.27229 -6.77438 0.3091 -0.62256 -0.234982 0.165722 0.0799344 -0.252145 -0.162745 0.00964131 0.272797 7.50944 21.7296 0.0479503 -0.343774 -0.0141565 0.0532794 -1.51219 -0.0486812 0.0869439 -0.0630333 0.134664 -0.0300585 1.81159 0.0588192 -0.0142677 -0.44362 -0.070232 -0.444405 2.5899 -0.0190627 -0.051464 0.430642 -0.525331 -0.0117113 -0.0519011 0.309645 -0.666886 1.82643 0 +218 0 0.42245 0.252126 -0.00331518 0.0611976 -0.137951 0.0301629 0.436002 0.9689 0.391503 0.650872 0.0811735 0.318183 0.00830866 0.879455 0.128192 3.09539 12.0926 0.258013 0.0499026 1.23163 0.0910853 0.0734465 -0.00100026 0.268566 0.0102489 0.881246 0.123313 -0.196009 -0.0587091 0.323239 0.0413195 0.535042 0.259659 0.749407 0.0125506 0.022789 0.217255 0.87078 -0.236835 0.285625 0.0445106 1.55759 -0.0561728 1.40164 0.215558 0.19187 -0.280671 0.0847034 0.168339 -1.4077 0.990108 -2.73841 0.017115 0.123058 -0.3967 -0.404106 -0.228497 -0.967246 -0.312257 -0.0544829 1.38909 1.49457 1.06708 1.05 0.0861082 -0.388302 0.401005 0.0752232 -0.241279 0.0654742 0.405021 -0.422889 -0.7801 -0.39107 1.04007 -1.8065 1.91944 0.457147 -1.44891 -0.299968 0.75755 -2.07774 -0.812961 0.79664 -1.09776 -1.8198 -0.222752 0.360532 -0.482253 0.498316 0.279214 0 0 0 0 0 -0.00331518 0.0611976 8.54807e-06 0 0 0 0 -3.75821e-06 0 0.000293791 0 0 0.000495241 0.00076258 0.00280276 0 -0.000415608 0.0294343 0.0188338 0 0 0.099309 3.57602e-05 0 -0.0676667 0.869028 0 0 0.00525343 0.175754 0 -0.203959 0 0.0161387 0 0 0.000227966 0 0 -0.300363 -8.01433e-05 0.0105609 0 0.000182286 -0.0160101 0 0 0.200514 0 1.59076e-05 -0.0190458 0.0034783 0 0 -0.000921626 -1.34444e-05 0 0.000717438 -0.0190358 0.00515216 -0.443279 -0.0132663 0.014566 0 0.00101132 -0.0403443 -0.0389173 0.00779968 0.134578 0 0 0 0.266347 -0.0585269 -0.0904957 -0.00263566 0.00643134 -0.0709027 -0.000348263 0.000849806 -0.0115343 -0.0156585 0 0 0 0 0 0 -0.137951 0 0.0301629 0 0 0 0 0.467475 0.0347425 0 0 -0.286477 0 -0.0336206 0 0.00780247 0 0 0.519287 0 -0.478127 0.129341 -0.150607 0.0463146 0 0 0.00348603 0 5.9019 0 -1.80388 0.309723 0 1.00027 -1.0709 -0.019099 0 0.0690381 0 0 0.0154726 0 1.53385 1.12855 0 0 0.101138 0 0 0.858165 -0.471034 0.603779 0 1.21526 0 0.656844 0.103763 -0.258677 -0.181938 -0.0961447 -0.00875649 0.0302385 0.18891 -0.600915 2.86126 0.0448756 0 0 0 -0.386171 -0.027369 0 0 0 0 0.0676032 5.26985 0.666433 -1.82291 0.388677 -0.616883 1.23754 0.050174 -0.0869617 0.197515 -0.493371 0 0 0 0 0 0 +219 0 -0.121033 0.162239 -0.0395099 0.0172472 0.00296572 0.0518954 -0.524525 -1.12774 0.14426 0.888812 -0.276516 -2.21482 0.0283466 -3.45551 -0.251731 0.972797 2.1104 0.469183 -0.419813 2.1322 0.142344 0.0134088 -0.0285012 0.314452 -0.795252 0.433197 0.176783 0.114432 0.60905 -1.00494 -0.0499589 -1.04258 0.243818 0.896244 -0.379039 -0.0892604 0.150714 0.846075 -0.543704 0.690935 0.095194 1.19518 -0.17511 -6.38876 0.319539 0.085657 0.295309 -1.93586 0.36431 -2.15833 1.73322 1.62977 0.763046 -0.354301 0.54828 10.9095 2.8584 0.516851 -0.46582 -0.137226 -0.217198 -0.474919 -1.35435 3.94861 0.502664 -0.223237 -1.9605 -0.0397551 -0.0893351 -0.181767 -0.0155934 -0.82942 -0.538288 2.12665 -0.715093 -0.37667 -3.15999 -1.17744 0.722831 -1.67592 1.47904 -1.53458 -0.665063 1.31696 -2.59123 3.65172 -0.330203 0.633972 -1.07454 1.96582 -2.89658 0 0 0 0 0 -0.0395099 0.0172472 -0.000649353 0 0 0 0 -3.33816e-05 0 0.0137579 0 0 0.000247545 0.000584196 0.0149772 0 0.00390539 -0.092583 0.0306745 0 0 0.0614599 2.73951e-05 0 0.0963382 0.0250244 0 0 0.00353242 -0.150937 0 0.238951 0 -0.0142348 0 0 -0.00314471 0 0 0.567363 -0.000711857 0.00527887 0 -0.0138474 -0.0158915 0 0 -0.0123497 0 -0.00120842 0.148495 0.00353508 0 0 -0.000460673 0.0010213 0 -0.0012257 -0.0103298 0.00208752 1.07663 -0.0238054 0.00765453 0 0.00195906 -0.0488917 0.107358 0.0333199 -0.0185433 0 0 0 -0.55651 0.0127892 0.0245302 0.00464465 -0.0113335 0.123307 -0.000174079 0.000424774 -0.0057654 0.000340965 0 0 0 0 0 0 0.00296572 0 0.0518954 0 0 0 0 0.0304493 -1.69117 0 0 -0.365893 0 -0.0351034 0 -0.0935593 0 0 0.851565 0 -0.822831 -0.00748877 -0.129256 0.138174 0 0 -0.801843 0 -1.9627 0 -2.59868 -0.66403 0 0.104831 -1.40138 -0.0114964 0 -0.00714953 0 0 -0.195926 0 -1.13687 1.80255 0 0 0.288454 0 0 0.259137 -0.243666 0.238258 0 -2.98086 0 -0.261765 0.0528418 -0.126397 -0.648223 0.0543383 0.525961 0.032649 0.0140172 3.87501 10.4179 0.0285983 0 0 0 -0.396829 -0.00878887 0 0 0 0 0.657705 5.70558 1.59617 -1.78853 0.462003 -0.629127 1.32829 0.107354 -0.103283 0.156052 -0.00522473 0 0 0 0 0 0 +220 0 -0.294132 -0.137889 -0.157723 -0.110941 0.172035 0.43 -2.10209 -5.18987 -0.565742 3.44527 -0.0122754 0.12323 0.0953151 1.85832 -0.0166403 -0.667449 -4.52631 0.86011 -0.0600495 0.361715 0.306493 0.0051848 -0.117963 1.23523 -1.40707 0.0785214 -0.0670601 -0.699638 -0.940475 0.431785 -0.336381 0.390308 0.310718 0.0315057 -0.658609 -0.0668631 -0.759952 2.37462 -0.525416 0.530747 0.270114 -1.74853 -0.295508 2.35942 0.707652 0.809012 -0.939761 0.0163046 0.540126 0.95867 2.67118 7.75434 -0.0101524 -0.0840872 0.00120955 -0.290542 -0.241309 -0.0918794 -1.70812 -0.418512 -0.528953 -0.251978 -1.69452 3.9553 0.874357 0.857208 -2.74053 -1.2146 0.346838 -1.786 -0.354517 0.144901 0.739819 -0.725686 0.445877 1.95167 -8.67862 -6.79396 6.08916 -3.19433 2.3216 -1.78428 -3.3196 3.27619 -5.11584 9.24119 -0.731267 1.05333 -1.19683 0.210314 4.47281 0 0 0 0 0 -0.157723 -0.110941 -2.23431e-05 0 0 0 0 -9.22823e-06 0 0.00103419 0 0 0.00096803 0.00150272 0.0414246 0 0.00439778 -0.227565 0.0133545 0 0 0.0228091 7.04679e-05 0 -0.0785198 -0.534125 0 0 -0.00845552 -0.39975 0 -0.227816 0 -0.0576088 0 0 -0.012723 0 0 -0.313418 -0.000196791 0.0206431 0 -0.000476463 -0.040248 0 0 0.157856 0 -4.15797e-05 -0.255512 1.80626e-05 0 0 -0.00180147 3.51413e-05 0 0.000106941 -0.0814749 0.00550584 0.785663 -0.0453778 0.00400981 0 0.00348075 -0.063609 -0.066734 0.0143984 0.0944177 0 0 0 0.976019 -0.066682 0.147884 0.00161495 -0.00394067 0.0648827 -0.000680737 0.00166108 -0.0225457 0.0554176 0 0 0 0 0 0 0.172035 0 0.43 0 0 0 0 0.00998968 -0.321971 0 0 0.408264 0 0.0447135 0 0.0539447 0 0 -0.227958 0 -0.129782 -0.0951471 -0.0156809 -0.00139909 0 0 0.430505 0 -1.4574 0 1.13186 0.997197 0 -0.77945 0.296598 -0.0087207 0 0.0049985 0 0 -0.0216399 0 1.10424 0.588359 0 0 0.0854373 0 0 -0.375441 0.630315 -0.212983 0 -0.928243 0 -0.192273 -0.0826813 0.119796 -0.0827816 0.00313995 0.322455 0.0136273 0.0612497 -0.00225666 -1.99448 0.0127872 0 0 0 0.0937448 -0.0542764 0 0 0 0 -0.0450445 -3.61177 -1.57884 2.54977 -0.438633 0.535435 -0.749333 -0.111664 0.134682 -0.226965 0.443981 0 0 0 0 0 0 +221 0 -0.528872 -0.218296 0.0375067 0.0849779 -0.27285 -0.251508 0.149138 1.39557 0.531307 -0.583818 0.0784165 -0.611959 -0.0100109 -1.73947 0.0284045 -1.4219 -5.32569 -0.135634 -0.0180082 -3.09158 -0.0323394 0.000934555 0.0208371 -0.103255 0.292807 -0.373777 -0.0620932 0.0143887 -1.43497 -0.139929 0.114089 0.210711 0.0953352 -0.196922 0.144934 0.0262072 -0.081326 1.37887 0.0793955 -1.29107 -0.0321834 -0.019848 0.0560151 -5.19499 -0.0794006 -0.451462 -0.490793 0.0718704 -0.249688 -2.17138 -0.496813 2.98867 0.165818 0.00337657 -0.187279 -4.22696 -0.762602 -0.877378 0.18376 0.0931703 0.738531 3.08926 0.35794 -1.07901 0.294978 0.564373 0.847392 -0.0524947 -0.327795 0.0897885 -0.132103 0.000237932 0.0570731 0.134907 0.74483 0.374185 -9.36233 0.860069 -7.06141 -2.2035 0.446217 -1.06933 0.205889 -0.530166 1.15932 -1.62915 0.018622 -0.0371869 0.313017 -0.648531 5.23176 0 0 0 0 0 0.0375067 0.0849779 0.000573572 0 0 0 0 -3.48383e-05 0 0.0257374 0 0 0.000994658 0.00593186 0.0251858 0 0.00407423 -0.00120012 0.184083 0 0 -0.0815881 0.000278447 0 -0.0429966 -0.399853 0 0 -0.0116776 -0.0726189 0 -0.0222551 0 0.0143491 0 0 0.00106817 0 0 0.404636 -0.000749436 0.0207936 0 0.0117825 -0.00966147 0 0 0.215785 0 0.000463512 0.285859 0.0151568 0 0 -0.0018565 -0.00139453 0 0.00412032 -0.0270162 0.0166589 -0.000801125 0.00750347 0.0289118 0 0.000575322 -0.0904497 -0.137789 0.00630906 0.193397 0 0 0 -3.86471 -0.206344 -0.888604 -0.0182512 0.0448688 -0.599624 -0.00067153 0.00163236 -0.0222298 -0.180536 0 0 0 0 0 0 -0.27285 0 -0.251508 0 0 0 0 0.392018 0.361669 0 0 -0.364893 0 -0.0385538 0 0.016837 0 0 -0.978673 0 0.137949 0.185863 -0.0644 -0.0849188 0 0 0.143975 0 -7.4455 0 0.150864 -0.357823 0 1.41204 -0.0886059 -0.00790476 0 0.0611271 0 0 0.0409262 0 -2.21507 -2.47879 0 0 -0.253378 0 0 0.0136778 0.00562976 0.0532776 0 -1.67406 0 0.9843 0.0544077 -0.052563 0.168293 -0.0424711 -0.377824 -0.102262 0.134683 -1.33857 -18.5696 -0.0133678 0 0 0 -0.155798 0.0141225 0 0 0 0 -0.0486751 -3.42472 0.716854 -3.8245 0.0748525 -0.26851 -0.178414 0.116085 -0.165308 0.272998 -0.88166 0 0 0 0 0 0 +222 0 0.285111 -0.095318 0.0261123 0.0563966 -0.113337 -0.280664 0.690272 1.28124 0.090042 -0.716359 -0.110678 0.292703 -0.0124365 -0.324222 -0.0825072 -2.53985 -6.14767 -0.338078 -0.153485 1.20895 -0.097971 -0.0114095 0.0118457 -0.187987 0.701441 -0.945127 -0.268737 0.770917 1.14734 -0.356859 0.0490543 -0.462013 -0.156596 -1.14733 0.381494 -0.015024 -0.76911 -1.37608 0.0586268 -0.0612265 -0.0522776 -2.81763 0.0287732 1.59403 -0.21777 -0.594121 1.05125 -0.728562 -0.186762 -0.172713 -1.06852 8.63309 0.320069 -0.168427 0.369672 -0.178479 0.975257 0.139185 0.5345 0.107753 0.429253 -0.780279 -0.599002 -1.06811 0.495622 -0.248942 1.09252 -0.545999 -0.0555488 -0.496221 0.0101544 0.183392 1.59852 -0.874137 -1.0089 5.55727 1.38793 0.895302 -1.24285 0.844016 -1.48133 2.59641 0.677748 -0.960777 1.80936 -3.42007 0.0510743 -0.0833312 0.262441 0.295943 -4.18311 0 0 0 0 0 0.0261123 0.0563966 -0.00203713 0 0 0 0 -0.000585841 0 0.0229491 0 0 -0.00098322 -0.00160819 0.0157569 0 0.00297027 -0.0396472 0.139785 0 0 0.109733 -7.43078e-05 0 -0.0850337 -1.30642 0 0 0.00230437 -0.296123 0 -0.231321 0 0.0503055 0 0 0.00379325 0 0 -0.734226 -0.0125189 -0.0226161 0 -0.0452458 0.0281652 0 0 -0.0826513 0 -0.00600639 0.0751965 0.014574 0 0 0.00192029 0.00140329 0 -0.007749 -0.0779934 -0.0093041 3.32227 -0.0177635 0.0258884 0 0.0119863 -0.0720292 -0.0226756 0.145639 -0.110145 0 0 0 5.69408 0.270907 -0.0981528 0.0254818 -0.0610957 0.837193 0.000818052 -0.00202808 0.0271491 -0.0994427 0 0 0 0 0 0 -0.113337 0 -0.280664 0 0 0 0 -0.133912 -0.152096 0 0 -0.118201 0 -0.0163838 0 -0.0164819 0 0 0.582103 0 0.468358 -0.0254624 0.0565632 0.0856943 0 0 -0.166783 0 2.25837 0 -1.07328 -0.409015 0 -0.132199 0.182477 0.00323852 0 -0.0141128 0 0 -0.0172992 0 0.23553 0.775849 0 0 0.0876367 0 0 -0.0633049 -0.0835789 0.0104502 0 0.0144387 0 -0.482109 -0.0180345 0.047893 -0.0653006 0.0371875 0.0805897 0.171777 -0.245887 0.969654 7.50003 0.0290132 0 0 0 0.0193138 0.087127 0 0 0 0 0.0541804 4.31283 1.10863 -0.9329 0.531752 -0.588658 0.859996 0.106957 -0.107463 0.136289 0.00257819 0 0 0 0 0 0 +223 0 -0.190583 0.0775913 0.0528822 0.0358331 0.0194153 -0.0543225 0.20448 -0.717693 0.00810602 0.177034 0.476812 1.30122 -0.026261 1.8081 0.190841 1.04419 5.57683 0.00975924 0.289414 -5.4927 0.0394365 0.0801075 0.0239136 0.0760701 0.463038 0.0993119 0.193009 -0.0452237 -1.18042 0.503665 0.0879406 1.43568 -0.0566445 0.44176 0.378645 0.115202 0.643214 -0.937406 0.956247 -1.99049 -0.10555 1.73491 0.227337 3.82455 -0.426782 -0.575357 -0.28427 2.6736 -0.502076 1.99507 -0.477023 2.39624 -1.08304 -0.042601 0.00200064 0.147135 -1.38378 1.03391 0.023517 0.198292 -0.0317555 1.54895 0.705952 -1.87792 -0.991955 0.441015 0.915017 0.742273 -0.00490732 -0.239562 -0.487032 1.27153 -0.675465 3.78056 -0.789685 -0.954611 3.83687 -0.62252 3.71969 0.757292 -0.446156 0.849852 -0.885651 0.715231 -0.558683 1.93412 0.100094 -0.261973 0.916428 -2.15762 4.30369 0 0 0 0 0 0.0528822 0.0358331 0.00103414 0 0 0 0 -0.000101546 0 -0.0128909 0 0 0.0018694 0.0113188 -0.0271225 0 -0.00239442 0.0555922 -0.110728 0 0 0.131583 0.000531401 0 -0.132921 0.358218 0 0 0.00591703 0.12802 0 -0.272951 0 0.0722241 0 0 0.00589088 0 0 -0.407417 -0.00218071 0.0389279 0 0.0209542 -0.0682784 0 0 0.18811 0 0.000552465 -0.699797 -0.00617225 0 0 -0.00343876 -0.00273526 0 9.87556e-06 -0.104127 0.00331311 0.433063 -0.0929838 0.00917469 0 0.0116774 -0.0748694 -0.103203 0.0126001 0.171022 0 0 0 1.8488 -0.102214 0.649541 0.00594522 -0.0139006 0.20384 -0.0012443 0.00301885 -0.0411803 0.188707 0 0 0 0 0 0 0.0194153 0 -0.0543225 0 0 0 0 -0.413903 2.50551 0 0 0.418743 0 0.0534537 0 0.13019 0 0 -0.818805 0 0.638165 -0.153297 0.196842 -0.0985943 0 0 1.09577 0 7.39841 0 0.988447 1.10709 0 -1.15595 1.00809 0.0288863 0 -0.0586108 0 0 0.298045 0 2.79171 -1.75772 0 0 -0.225395 0 0 -0.511325 -1.94862 -0.172824 0 3.84516 0 1.2973 -0.0726819 0.15406 0.53266 0.0936983 -0.494423 -0.726382 0.169297 -5.21424 -15.6812 -0.0976349 0 0 0 0.665777 -0.0115102 0 0 0 0 -0.980792 -1.99501 -1.00027 2.71003 -0.0748671 0.263784 -0.67039 -0.0360139 0.0973795 -0.239202 0.593664 0 0 0 0 0 0 +224 0 0.341728 0.336282 0.0413582 0.127954 -0.150276 -0.107676 0.0247781 -0.283589 0.270933 -1.03304 -0.027499 -0.00864626 -0.0130759 -0.536555 -0.0301 1.06454 6.40653 -0.206674 -0.0910997 0.973636 -0.0604437 -0.119989 0.0179991 -0.306675 0.20971 0.188412 -0.020375 0.392919 0.567557 -0.201943 0.0729694 -0.237336 -0.960593 -0.117059 0.230155 -0.00298091 0.154998 -4.64668 -0.0262613 0.10275 -0.0432497 0.143624 0.0117813 0.00184121 -0.0994893 -0.244417 0.471039 -0.534941 0.0361468 -0.869788 -0.297462 0.935965 0.0986925 -0.0442525 0.140008 1.48384 0.167087 0.496583 0.312405 0.0594623 1.21199 -1.5717 0.337066 -0.155289 0.334814 -0.0393175 0.493067 0.205053 -0.115755 0.0392819 0.102093 -0.18518 -0.101432 0.97625 -0.386488 -0.307973 11.6135 4.41504 -0.971142 2.56316 -1.62484 3.15034 0.630945 -0.249753 0.309122 0.90524 0.0888781 -0.0435036 -0.178765 0.334823 -0.852811 0 0 0 0 0 0.0413582 0.127954 -0.000113323 0 0 0 0 -4.4008e-07 0 -0.0260213 0 0 -2.08147e-05 -2.81231e-06 -0.0434472 0 -0.00671631 -0.0258838 -0.180827 0 0 0.0673539 -1.20321e-07 0 0.0288307 -0.184126 0 0 0.0170537 -0.0882135 0 0.0541429 0 0.0268558 0 0 0.00599774 0 0 -0.0863913 -9.13166e-06 -0.0005236 0 -0.00233433 0.00186224 0 0 0.0968814 0 -0.000100906 0.132444 0.000697582 0 0 4.9188e-05 0.000248593 0 -9.71973e-05 0.128606 -0.00106331 1.45071 -0.00085422 -0.0249683 0 -0.00101487 0.0926051 0.488604 -0.000622448 0.038783 0 0 0 0.249773 0.00646009 0.215554 0.000572276 -0.00143769 0.0606844 2.164e-05 -5.4737e-05 0.000720075 0.0815301 0 0 0 0 0 0 -0.150276 0 -0.107676 0 0 0 0 0.171652 -0.642045 0 0 -0.49345 0 -0.0505822 0 -0.0428335 0 0 0.8833 0 -0.409274 0.0308381 -0.158998 0.107983 0 0 -0.475925 0 0.783174 0 -1.46888 -1.36538 0 0.25847 -0.592071 -0.0147465 0 0.0192997 0 0 -0.0576179 0 -1.48992 1.8302 0 0 0.2252 0 0 0.108175 1.48226 -0.0806089 0 0.205552 0 -0.406884 0.0222095 0.0253048 -0.412945 0.101908 1.47799 0.468638 -0.0886611 -0.125818 3.4407 0.0599976 0 0 0 -0.0463784 -0.0138049 0 0 0 0 0.0524168 13.1789 3.34883 -1.66223 0.53135 -0.400835 0.443676 0.0906431 -0.0932688 0.194971 -0.084409 0 0 0 0 0 0 +225 0 1.36682 0.232918 0.0894764 0.0734969 -0.0531474 -0.255288 0.239288 0.955119 0.497545 -2.09472 0.139774 -0.803391 -0.0352486 -0.760205 -0.00293773 -0.722535 0.640778 -0.511064 -0.0930431 -1.39609 -0.165256 -0.311013 0.0443124 -0.709944 0.489652 -0.310321 -0.018435 0.460257 -0.26077 -0.427576 0.168197 -0.0201605 -1.84714 0.12547 0.338814 0.0394105 0.336142 -7.8236 0.509064 -1.1734 -0.141117 1.91013 0.147011 -2.47313 -0.499437 -0.841466 0.249228 -0.239676 -0.336562 -0.1597 -1.14101 -1.63293 0.216095 -0.12493 0.277644 1.55538 0.361837 -0.546784 1.0561 0.264801 -0.543279 2.37219 2.50849 -2.08904 -0.143834 0.0634329 2.25335 0.334231 -0.240562 1.55958 0.0456824 0.324669 -0.550703 -0.505064 -0.73093 -1.69403 27.2562 8.84765 -3.23607 6.43294 -5.39534 8.42769 1.92701 -1.56966 1.99958 -1.21441 0.446169 -0.504659 0.491706 -0.527233 0.391833 0 0 0 0 0 0.0894764 0.0734969 -2.57035e-05 0 0 0 0 -2.29447e-08 0 -0.0265865 0 0 2.48294e-05 2.12057e-06 -0.0495513 0 -0.00946466 0.0393477 -0.118391 0 0 0.198235 1.09157e-07 0 -0.0133296 0.930814 0 0 0.0412302 0.222193 0 -0.22616 0 0.0666105 0 0 0.0133098 0 0 -0.758543 -2.62315e-07 0.000463443 0 -0.000472934 0.00102019 0 0 0.0852299 0 5.34639e-05 -0.0633204 -0.000398921 0 0 -3.5521e-05 0.000106237 0 6.95413e-05 -0.0133216 0.000121495 0.5533 0.000283313 0.0362656 0 -0.000297982 -0.00408791 0.0571084 -0.00161975 0.0440244 0 0 0 1.52555 -0.00376921 0.156692 -0.000342874 0.000795921 0.168131 -1.13662e-05 2.60044e-05 -0.000373427 0.0396129 0 0 0 0 0 0 -0.0531474 0 -0.255288 0 0 0 0 0.0608504 1.48092 0 0 -0.211394 0 -0.0436767 0 0.0527329 0 0 -0.773081 0 0.144759 -0.0184095 -0.0024875 -0.0948881 0 0 0.465453 0 1.56023 0 -2.19576 -1.16574 0 -0.0397836 -0.0588432 -0.00537232 0 0.00759634 0 0 0.173226 0 -0.973225 -1.74681 0 0 -0.199192 0 0 -0.229063 0.297314 -0.0932304 0 0.622617 0 -0.204063 -0.00546811 0.0364959 0.583424 -0.112016 -0.961174 0.253733 0.095096 -1.41548 -0.602276 -0.0592368 0 0 0 0.261175 0.047862 0 0 0 0 -0.398306 12.1838 0.997544 1.21671 0.361891 -0.361287 1.01235 0.0256452 0.00206268 0.0368534 0.0567514 0 0 0 0 0 0 +226 0 0.00630626 0.182189 0.0671491 0.187838 -0.187776 0.00571614 0.969376 2.52246 0.502764 -1.75294 0.558831 0.185017 -0.0199107 1.0353 0.204431 1.5308 4.77103 -0.252248 0.255491 -1.8817 -0.0461088 -0.101865 0.0282537 -0.462102 0.236911 0.469119 0.0500777 -0.461221 -1.5683 0.30506 0.120302 1.14209 -0.416405 0.488412 0.000236193 0.130474 0.385335 -2.46217 0.775415 -0.670582 -0.0645368 2.43955 0.19335 0.0251803 -0.149923 -0.0623097 -0.867325 1.48833 -0.367286 1.13234 -1.2538 -3.67649 -0.469884 0.294476 -0.169796 -0.0525969 -0.383434 -0.295447 0.533876 0.0800971 -1.00174 0.98311 2.09138 -2.06299 -0.683128 -0.18498 1.66496 0.288727 -0.204966 1.3645 0.383247 0.833904 -0.681986 -0.169819 0.0325574 -1.5976 9.3 4.74071 -4.97609 2.13346 -2.7967 5.22392 1.10523 -1.70188 3.00555 -4.64474 0.133933 -0.429589 0.813152 -1.45325 2.35653 0 0 0 0 0 0.0671491 0.187838 0.000222022 0 0 0 0 8.68476e-07 0 0.00284103 0 0 4.13119e-05 5.63e-06 -0.0191396 0 -0.00353072 0.0325058 0.0128795 0 0 -0.148184 2.41276e-07 0 -0.018573 -0.445791 0 0 -0.0254063 0.0150666 0 -0.0899066 0 -0.0109354 0 0 -0.000993136 0 0 -0.309879 1.80363e-05 0.00103872 0 0.00457857 -0.00359546 0 0 -0.0885137 0 0.000201707 0.20522 -0.00141908 0 0 -0.000100467 -0.000484655 0 0.000217781 0.0665882 0.00214228 1.20837 0.00173449 0.0380733 0 0.00207374 -0.0485069 0.295485 0.00131669 0.169393 0 0 0 0.284796 -0.0134749 0.0010133 -0.00122326 0.00306885 0.180186 -4.33281e-05 0.000109736 -0.001442 -0.0154235 0 0 0 0 0 0 -0.187776 0 0.00571614 0 0 0 0 0.291339 2.11796 0 0 -0.670801 0 -0.0839361 0 0.0962048 0 0 -0.563345 0 -0.643491 0.0739374 -0.3253 -0.059156 0 0 0.773202 0 -2.29485 0 -2.4067 -1.01912 0 0.582057 -1.30025 -0.0384499 0 0.0391653 0 0 0.257712 0 -1.69229 -1.82805 0 0 -0.207871 0 0 -0.30658 0.918147 -0.0510658 0 1.81067 0 -0.763835 0.168622 -0.0591345 0.691306 -0.0143827 -0.633617 0.794614 0.055027 -1.23064 9.24304 -0.0347165 0 0 0 0.442893 -0.000275416 0 0 0 0 -0.525289 15.6069 3.29207 -2.35411 0.251941 -0.257583 0.535557 0.0841649 -0.0765937 0.135788 -0.0994145 0 0 0 0 0 0 +227 0 0 0 0 0 0.232485 0.286394 -0.725371 -2.39397 0 0 -0.304515 1.34364 0 2.59718 -0.0609351 0 0 0 -0.0452085 1.11435 0 0 0 0 -0.444824 0 0 -0.127713 2.00797 0.732394 0 -0.113866 0 0 -0.199195 -0.0310999 0 0 -1.20123 0.962901 0 0 -0.252206 5.32005 0 0.644381 0.473232 -0.0591606 0.143683 0.667151 -0.260375 0 -0.0483813 -0.214156 0.525425 -0.0423319 -0.0979219 -0.0850263 0 0 -0.326377 -0.897017 0 0.00454568 -0.238528 1.25024 0 0 0 0 -0.314205 -0.474244 0 -1.97949 -1.2085 0 0 0 2.54912 0 1.61648 -2.49449 0 0.570634 -0.0641513 2.72965 0 0.580373 -0.00821687 2.00172 -5.54573 0 0 0 0.172584 0.0384259 0 0 0 0.0150808 0 0 0.00348625 0 0 -0.0166065 0 0 0 0 0.0707767 0 0.0108004 0 -0.0479278 0 0.0573945 -0.0792356 0 -0.00506874 0 0 -0.207095 0 -0.00664187 0 0 0 0 -0.024171 -0.0316838 0 -0.00308781 0 0 0 0 0 0 0 0 0 0 0.0450805 0 0 0 0 0 0 0 0 0 0 0.342113 0 0 0 0.0916219 0.0216073 0 -0.0127146 0.3755 0 0.0851616 0 0.265304 0 0 0 0.0314084 0 0 0.19177 0 0 0 0.0772181 0 0 0 0 0.184553 0 0.232485 0.172584 0.286394 0.0384259 -0.48172 -0.0627485 0.492563 -1.01467 1.46182 -0.00623004 0.0195301 0.384708 -0.00175124 0.00372432 0.0677804 0.075003 -0.0293479 0.0121001 -0.0710172 -0.353323 0.721494 -0.360997 0.316333 0.0721697 -0.0889603 -0.000894546 0.716444 -0.0145177 10.8465 -0.3854 0.930389 3.55208 0.00904721 -2.06768 0.879431 0.0178892 -0.00461889 -0.178281 -0.0413836 0.34912 0.162706 -0.00850969 6.22521 0.214721 2.66697e-06 -0.038743 0.200004 -0.0702184 -0.16711 -0.162714 0.55085 -0.082834 0.156411 -0.568896 -0.193672 2.05726 -0.202376 0.265135 0.779677 0.561397 -0.625695 -0.460011 0.0999307 -0.279586 -11.6287 -0.0652155 0.645617 -0.00205585 0.129044 0.472426 0.0526236 0.0578946 -0.0130491 -0.191266 0.0326526 -0.530193 -5.22382 -1.63964 7.09104 -0.223164 1.47674 -1.49445 -0.0855091 0.245416 -0.314448 0.526135 -0.00492115 0.0752573 -0.0730468 0.264873 -0.566857 0 +228 0 0 0 0 0 0.548625 0.231362 -0.549007 -3.47345 0 0 -0.0418479 0.138578 0 0.287647 0.02269 0 0 0 0.0134544 -3.59825 0 0 0 0 -0.694045 0 0 0.0396184 -0.43422 0.120922 0 0.612793 0 0 -0.149407 0.014009 0 0 -0.158275 -0.860236 0 0 -0.0143487 0.938217 0 0.0706341 0.247134 1.03387 -0.0121461 -0.425062 0.173498 0 -0.26716 -0.225626 0.512847 -1.66486 -0.673936 0.554393 0 0 1.46098 -1.36996 0 -0.116808 0.711078 -0.435756 0 0 0 0 0.0662386 0.829213 0 0.269333 -1.80698 0 0 0 5.12246 0 0.465673 1.45776 0 0.00743976 0.633271 4.98254 0 0.025618 0.815911 -0.255434 2.29758 0 0 0 0.0170849 0.0199463 0 0 0 -0.00412298 0 0 0.00266979 0 0 -0.121132 0 0 0 0 -0.210793 0 -0.0400236 0 -0.554009 0 -0.114706 0.165965 0 -0.0116067 0 0 -0.213372 0 0.0360839 0 0 0 0 0.160462 -0.0512703 0 0.0340579 0 0 0 0 0 0 0 0 0 0 -0.00202695 0 0 0 0 0 0 0 0 0 0 0.0653834 0 0 0 0.0500361 0.075464 0 0.142645 0.236689 0 -0.0917297 0 0.0369599 0 0 0 0.577615 0 0 0.212899 0 0 0 0.150756 0 0 0 0 0.133859 0 0.548625 0.0170849 0.231362 0.0199463 0.0932107 0.00860218 0.116667 -0.684046 0.26162 -0.0295868 0.0532414 -0.465323 -0.00620532 -0.138638 0.0358997 0.0153194 0.0266254 -0.120348 0.577659 -0.771934 0.205515 -0.248855 -0.00095072 0.147483 0.265331 -0.0400967 0.270977 -0.0121027 2.7587 -0.104521 -0.456083 1.52412 0.00748744 -1.64272 0.111754 -0.0246738 -0.00532813 -0.100324 -0.0259712 -0.388084 0.0298989 -0.00361786 2.24575 1.46667 0.00551996 -0.0262888 0.313394 -0.0960674 0.0367671 0.0808478 3.23481 -0.18322 -0.0811552 -1.06771 -0.056562 0.436875 -0.0772551 0.251335 0.70706 -0.100279 0.885211 0.345414 -0.0325413 -0.634594 -6.69998 -0.120916 -0.0344049 -0.0249571 -0.258941 -0.407022 0.359066 0.0461012 0.0629212 0.124402 -0.000234416 -0.112714 2.56075 1.58066 4.04487 0.430602 0.32146 0.970344 0.167014 -0.0258664 0.144092 0.605901 0.0489458 -0.00302025 0.0588613 -0.0635606 0.348483 0 +229 0 0 0 0 0 0.258887 0.177464 -0.989501 -1.79639 0 0 -0.435691 0.730535 0 0.61557 -0.0128036 0 0 0 0.293013 -0.212342 0 0 0 0 -0.36067 0 0 -0.170739 3.6278 0.327233 0 0.0139711 0 0 -0.206478 -0.0511469 0 0 -1.66184 1.24131 0 0 -0.337148 1.62457 0 1.02465 0.540466 1.26766 0.516879 -0.918289 1.06031 0 -0.306977 0.0903033 -0.445072 -1.05918 -0.0426451 1.23161 0 0 -0.853956 -4.66378 0 0.578779 0.549221 -0.165903 0 0 0 0 -0.502821 -0.807542 0 -0.202306 0.818088 0 0 0 2.41492 0 2.39829 -5.24658 0 1.01679 -1.97838 4.15817 0 0.904209 -1.96467 4.10625 -8.58032 0 0 0 0.184648 0.038594 0 0 0 -0.0303126 0 0 -0.00377874 0 0 -0.000289055 0 0 0 0 0.0638318 0 0.0113804 0 0.0389446 0 -0.21753 -0.362383 0 0.000671854 0 0 0.0318189 0 -0.0445056 0 0 0 0 -0.107488 0.0054392 0 -0.013065 0 0 0 0 0 0 0 0 0 0 0.208971 0 0 0 0 0 0 0 0 0 0 0.11773 0 0 0 -0.0700281 0.00921723 0 0.166703 0.150907 0 -0.0355992 0 0.0662203 0 0 0 -0.0724834 0 0 -0.0262775 0 0 0 0.0424885 0 0 0 0 -0.0400663 0 0.258887 0.184648 0.177464 0.038594 -0.297632 -0.125232 0.516401 0.0346445 0.643994 -0.0021468 -0.011124 0.251674 -0.000932796 0.0215468 0.0679652 0.0120948 -0.0190251 0.0319045 0.28738 -0.528844 0.694976 -0.00784661 0.154625 0.010198 -0.062095 0.133543 0.155123 -0.0220315 9.21194 -0.493457 3.63556 3.07674 0.00865142 -0.0753357 1.84807 0.0191099 -0.00882046 0.00995679 -0.0892674 0.830267 0.0727316 0.0213378 5.13162 0.477041 -0.0028636 -0.0487548 -0.0510584 -0.112985 0.0968087 0.501028 -2.7383 -0.339605 0.0856086 1.2517 -0.201377 -0.980463 -0.154466 0.0349093 -0.867278 -0.526646 0.572661 -0.563766 0.234266 -1.31404 -14.4514 0.245554 -0.0616332 0.0576518 0.163433 0.197327 -0.109781 0.0571774 -0.0239771 -0.0339968 -0.118011 -0.354039 -20.4124 -2.89335 1.73355 -0.82886 1.9647 -3.25838 -0.0703689 0.203702 -0.471618 0.224698 -0.0129756 0.0846011 -0.183537 0.276671 -0.353166 0 +230 0 0.522667 0.178085 0.042814 0.178627 -0.346386 -0.0893105 0.3116 0.530279 0.817923 -0.559068 0.221669 -1.03251 -0.00130798 -1.8956 0.047042 0.181911 1.96414 0.00753316 -0.00117662 -1.70142 0.00709154 -0.201273 0.0169452 -0.150952 -0.148517 -0.00480248 0.0374483 -0.0936026 -0.775181 -0.430468 0.119445 0.254729 -0.733954 0.33237 -0.0820921 0.0377099 0.205857 -3.97288 0.14664 -0.705577 0.00360785 1.61843 0.0423963 -4.57425 0.0949918 -0.155969 -0.444279 -0.0316633 0.031027 0.512832 0.295171 0.947547 0.435512 0.182604 -0.479118 1.45138 0.334239 -0.496469 0.0410606 -0.0011711 0.493475 0.960601 0.0300197 0.570439 -0.338026 -0.926786 -0.516001 0.11724 -0.422445 0.194365 0.212321 0.0717862 -0.432799 1.49736 0.900731 -0.674439 7.48267 2.39143 -1.38487 1.36482 -1.81054 5.32412 0.44986 -0.363504 0.534545 -0.625038 -0.0320519 0.0183019 -0.0109562 -0.570038 2.31327 0 0 0 0 0 0.042814 0.178627 0 0 0 0 0 0 0 -0.00764364 0 0 0 0 -0.00682904 0 -0.000342387 -0.0278941 -0.0657278 0 0 -0.041562 0 0 0.0437427 -0.325741 0 0 -0.00948515 -0.0620808 0 0.0868444 0 -0.00358551 0 0 -0.00125888 0 0 -0.0142315 0 0 0 0 0 0 0 0.0232495 0 0 0.174552 0 0 0 0 0 0 0 0.0567389 0 0.55024 0 0.00291042 0 0 0.00826048 0.187703 0 0.0793613 0 0 0 -0.0502495 0 0.0888511 0 0 0.0767219 0 0 0 0.0296141 0 0 0 0 0 0 -0.346386 0 -0.0893105 0 0 0 0 0.157397 0.334824 0 0 -0.56078 0 -0.0609833 0 0.00764593 0 0 -0.732115 0 -0.905235 0.0557306 -0.247197 -0.118348 0 0 0.127593 0 -5.75638 0 -4.31487 -2.02821 0 0.544437 -2.01649 -0.0279161 0 0.0139044 0 0 0.0194873 0 -3.62524 -1.45797 0 0 -0.225366 0 0 0.629311 2.62368 0.297541 0 1.5163 0 -0.39296 0.191427 -0.267872 -0.00805195 0.0343456 1.80702 0.263943 -0.0398051 0.3121 10.8308 0.103482 0 0 0 -0.297928 -0.00525662 0 0 0 0 0.309771 27.0476 4.02738 -2.32401 0.708654 -0.681402 1.39615 0.101075 -0.110498 0.224959 -0.279582 0 0 0 0 0 0 +231 0 0.586306 0.385518 -0.0390699 -0.0166229 0.134463 0.227885 -0.464215 -0.908273 -0.128571 0.510186 -0.263029 1.24686 0.0156502 0.672345 -0.175487 1.28035 2.95024 0.0528061 -0.221528 6.14038 0.060551 -0.220106 -0.0168161 0.298303 -0.170046 0.551853 -0.0403503 -0.331579 0.368396 0.556259 -0.0701753 -1.3324 -0.880817 -0.287914 -0.210652 -0.0821673 -0.256409 -4.83042 -0.601301 2.61767 0.0668236 -1.51088 -0.17075 2.63769 0.262868 0.971309 -0.180604 -2.07578 0.50521 -0.377449 0.607612 -2.30994 0.5707 0.0436214 -0.204601 -0.282395 0.113643 -0.66061 -0.378889 -0.135333 -1.50691 0.185315 1.09737 0.438996 0.559238 -0.0212048 0.891882 -0.243879 0.0701551 -0.195039 0.153406 -1.53003 0.430739 -0.125119 1.49722 0.0940908 11.2006 0.418686 1.37844 1.74192 -1.94859 6.2622 -0.897696 0.39341 -0.186719 1.08055 -0.0886962 0.220552 -0.454373 1.06411 -1.09936 0 0 0 0 0 -0.0390699 -0.0166229 0 0 0 0 0 0 0 -0.0231577 0 0 0 0 -0.0172024 0 -0.00538765 0.127168 -0.0853788 0 0 -0.206555 0 0 -0.16006 0.0532412 0 0 -0.0192212 0.252988 0 -0.443829 0 -0.0473953 0 0 -0.00420981 0 0 -1.32448 0 0 0 0 0 0 0 0.0636522 0 0 -0.234308 0 0 0 0 0 0 0 0.0267628 0 0.377415 0 0.0459807 0 0 -0.0281114 -0.00493165 0 0.114324 0 0 0 2.78095 0 0.179205 0 0 0.288793 0 0 0 0.0260976 0 0 0 0 0 0 0.134463 0 0.227885 0 0 0 0 0.226927 -1.37153 0 0 -0.281085 0 -0.0512585 0 -0.0784391 0 0 0.605582 0 -0.797588 0.00522572 -0.25451 0.0565315 0 0 -0.750224 0 -4.02199 0 -5.38396 -0.423873 0 -0.0476698 -1.95501 -0.0333085 0 0.0344399 0 0 -0.138087 0 -1.52555 0.83902 0 0 0.0696799 0 0 0.544908 -0.872624 0.119728 0 -0.478103 0 -0.666483 0.102382 -0.156225 0.9247 -0.153916 -0.875516 0.262307 0.139208 1.30605 8.18206 0.0106961 0 0 0 -0.335605 0.0331343 0 0 0 0 0.283849 30.0257 3.07159 -0.263919 0.823876 -0.80005 1.61897 0.0603545 -0.0402683 0.0542636 0.0603923 0 0 0 0 0 0 +232 0 0.0104287 0.0218586 0.0271898 0.0948471 -0.160595 -0.311776 1.61787 3.10251 0.440963 -1.11283 -0.288494 0.264229 -0.00266691 0.0731295 -0.135014 0.326955 1.87864 -0.262134 -0.286097 3.46082 -0.0342961 0.154879 0.0109332 -0.180867 1.05622 0.043932 -0.00695005 0.895852 2.07504 -0.119628 0.0709247 -1.0095 0.00120767 -0.385748 0.671631 -0.0386811 0.258281 -0.83589 -0.345471 0.429254 -0.00661475 -0.245357 -0.0394999 0.991113 0.0159268 -0.584068 1.40847 -2.03887 0.0350194 -0.0227519 -0.458778 1.18323 0.621911 -0.124974 0.334483 1.99045 0.468767 -0.613898 0.223628 0.0165818 -0.528263 0.817717 -1.20673 -1.02829 -0.244354 -1.34408 0.179591 0.389995 -0.228227 0.456265 0.282255 -0.637377 -0.113332 -0.338622 -0.994058 0.174366 2.09361 2.01581 -4.49247 0.220977 -0.170468 -1.31747 0.3844 -0.538174 1.00684 -4.47221 -0.00537399 0.0655004 -0.373842 1.45568 -6.19227 0 0 0 0 0 0.0271898 0.0948471 0 0 0 0 0 0 0 0.00535872 0 0 0 0 -0.00116488 0 0.000824387 -0.0536737 0.00463728 0 0 -0.0565299 0 0 0.0454475 -0.462102 0 0 -0.0111994 -0.16039 0 0.100294 0 0.0027043 0 0 -0.0002301 0 0 0.237042 0 0 0 0 0 0 0 -0.075835 0 0 0.082559 0 0 0 0 0 0 0 0.00535424 0 0.043398 0 0.00770428 0 0 -0.0249811 0.0392439 0 -0.00555475 0 0 0 -0.564746 0 0.00874537 0 0 0.0099067 0 0 0 -0.015069 0 0 0 0 0 0 -0.160595 0 -0.311776 0 0 0 0 -0.0857573 -0.764143 0 0 -0.458804 0 -0.0590237 0 -0.0438797 0 0 0.451101 0 -0.245655 0.0133571 -0.0574085 0.0521301 0 0 -0.462438 0 -0.902448 0 -2.10593 -1.52011 0 0.172718 -0.96618 -0.0135625 0 -0.00749708 0 0 -0.0783733 0 -1.60754 0.629971 0 0 0.070139 0 0 0.131214 -1.00101 0.154401 0 -0.10113 0 -0.625287 0.0780503 -0.131181 0.69171 -0.0169486 -0.90774 0.291378 -0.0199079 1.157 8.7968 -0.0324584 0 0 0 -0.0443555 0.069227 0 0 0 0 0.151322 11.0033 2.09864 -1.17984 0.36755 -0.409416 0.442176 0.0794946 -0.0731535 0.115022 -0.0524576 0 0 0 0 0 0 +233 0 0 0 0 0 0.0261543 0.238687 0.242283 1.25607 0 0 -0.0506152 1.42685 0 2.58017 0.00838158 0 0 0 -0.00879265 0.0643178 0 0 0 0 0.0176961 0 0 -0.27542 3.16277 0.827002 0 -0.0650743 0 0 -0.144026 -0.00490875 0 0 0.248627 0.961452 0 0 0.124362 4.36991 0 0.974404 0.555236 -0.465248 -0.151175 0.578509 -0.0659474 0 0.114622 -0.0188686 0.319979 -0.809213 0.0164181 -0.93582 0 0 0.401444 -0.191676 0 0.58348 0.154589 -0.395966 0 0 0 0 0.0318752 0.505459 0 -2.72592 -1.42648 0 0 0 -1.78448 0 -0.452772 -2.89444 0 -0.120162 -0.188813 -3.26875 0 -0.065514 -0.40896 0.940822 -9.20711 0 0 0 -0.0526595 -0.0147599 0 0 0 -0.0156539 -0.0203504 0 -0.00167447 0 -0.0042575 -0.00427462 0 0 0 0 -0.016073 0 -0.00221705 0 0.00252501 0 -0.133152 0.0895674 0 0.00164873 0 0 0.0434802 -0.00188334 0.0116572 0 -0.00141473 0 -0.00142766 -0.0214985 0.0112304 -0.0268375 -0.00526137 0 -0.000298738 0 0 0 -9.92661e-05 0 0 0.00501944 -0.00222259 0.0479282 -0.0132212 0 0 0.00346244 0 0.00246016 0 0 -0.0140843 -0.00703625 0.0174417 -0.00715162 0 0 0.0300174 0.0286344 0.00390813 -0.0046273 -0.0126986 0 -0.0351138 -0.00617387 -0.0841587 0 0 0 -0.000558603 0 0.0215331 -0.0349081 0 -0.0026854 0.00441359 -0.00371187 0 0.00238785 -0.00391617 0.00778185 -0.0104045 0 0.0261543 -0.0526595 0.238687 -0.0147599 -0.294016 -0.0463511 -0.106225 -0.450604 -0.578299 0.0142692 -0.0805529 0.0853128 0.00196696 0.00259333 -0.0175115 -0.0281184 -0.048244 0.0947365 -0.161866 0.37682 0.114714 0.0305884 0.034747 0.048848 -0.492926 0.255772 -0.258105 0.0143242 1.25403 -0.265211 -1.15136 1.29575 -0.00253214 -0.18073 -0.439697 -0.00136529 -0.00302979 -0.0629446 -0.0241348 1.62138 -0.0640435 0.0405123 1.42479 -0.465085 -0.0080059 -0.0334013 0.0513183 0.0837488 -0.173767 -0.167652 0.443625 0.00589366 0.0968296 -0.901361 0.030446 0.437597 -0.138045 0.255192 0.0632047 -0.225864 -0.0138183 0.125925 -0.0750793 0.933861 0.220462 0.129452 -0.056451 -0.0514594 -0.400355 -0.150853 -0.00665093 0.0780662 -0.0307517 -0.0652544 0.17484 0.117838 2.81622 -0.547395 0.268278 0.139125 0.117022 -2.64087 0.0175618 0.117055 -0.00772351 -0.792867 -0.0419619 0.238459 -0.549776 0.863865 -2.55961 0 +234 0 0 0 0 0 0.688018 -0.0849664 0.0235471 -1.89041 0 0 0.0830673 -1.02639 0 -2.18306 0.0554679 0 0 0 0.0334868 -2.79954 0 0 0 0 -0.144282 0 0 0.102578 -0.589251 -0.621473 0 0.181462 0 0 0.0970199 0.0293858 0 0 -0.322875 -1.24935 0 0 -0.0922598 -3.74581 0 -0.912785 0.203864 0.269132 0.223141 0.209904 0.0266883 0 0.0908531 -0.162148 -0.108503 3.30434 0.182189 0.442693 0 0 1.21729 -0.245384 0 -0.10557 -0.576248 0.537887 0 0 0 0 -0.0251562 -0.544345 0 4.18519 -0.0388146 0 0 0 2.46787 0 0.626344 0.12489 0 0.211775 -0.362049 2.75496 0 0.317681 -0.527718 0.603566 1.59928 0 0 0 0.12268 0.0205813 0 0 0 -0.000433396 -0.0566418 0 -0.0004697 0 0.000104119 0.0226685 0 0 0 0 0.0251905 0 0.00456004 0 0.126041 0 0.0144561 -0.0253265 0 0.00165117 0 0 0.0727396 -0.00122453 -0.00836462 0 -0.00799121 0 -0.00397047 0.0167175 0.0102883 -0.0176995 0.00614371 0 7.46313e-06 0 0 0 -0.00056068 0 0 0.0025425 -0.00741788 0.0608832 -0.000934809 0 0 0.00651169 0 0.00580186 0 0 -0.048669 0.00345679 0.0225111 0.00428527 0 0 0.0409994 0.0279025 -0.00444196 -0.000429229 0.0157098 0 -0.0234509 -0.00811446 0.0956725 0 0 0 -0.104486 0 0.0135218 -0.0529701 0 -0.00156142 0.00559897 -0.0204985 0 0.00146306 -0.00557275 0.00885226 -0.0185272 0 0.688018 0.12268 -0.0849664 0.0205813 -0.127985 -0.019069 0.173974 0.0150595 -0.10347 -0.0201829 -0.00142408 0.192452 -0.00271739 0.0310669 0.0256464 -0.0165416 0.0216008 -0.139949 0.534538 -0.755451 -0.000620234 -0.122929 -0.0100815 -0.0228216 0.216115 -0.0773227 -0.146732 -0.0108324 0.356356 0.148642 0.380939 -0.743959 0.00349918 -1.40301 -0.0351595 0.00626299 0.00303754 0.0755729 0.00622873 -0.961028 -0.0100536 -0.00192985 -0.328489 0.830144 -0.000502824 0.0298647 -0.0903317 -0.0847978 0.0209585 -0.396731 0.618134 -0.124848 -0.0340683 -0.369279 -0.0497892 0.423831 -0.0223518 0.069018 0.159818 0.47355 0.79008 -0.242608 0.0067286 -0.108721 0.776478 0.0198078 -0.293605 -0.0356325 0.0871412 -0.0112261 -0.0714358 -0.085131 0.0468544 -0.066846 0.0547272 0.0191965 -0.931773 -0.0887781 3.65785 0.0867923 -0.0691146 2.26485 -0.0964758 0.137203 -0.333262 1.80254 0.0619881 -0.120351 0.285033 -0.372983 1.37344 0 +235 0 0 0 0 0 0.0107182 0.281365 -1.44212 -3.11346 0 0 -0.0310891 0.889347 0 1.10742 -0.189806 0 0 0 -0.521875 8.20945 0 0 0 0 -0.494237 0 0 -0.801045 -8.44758 0.460467 0 -0.873761 0 0 -0.265495 -0.076039 0 0 0.604281 2.02203 0 0 0.0723567 3.73782 0 0.758181 -2.50322 -2.17922 -0.0298262 -0.311554 -0.013393 0 0.720104 -0.367605 0.350199 -0.00757393 0.270996 -0.164831 0 0 0.0421472 -3.9221 0 -0.166425 0.0636576 0.82024 0 0 0 0 -0.409578 -0.105633 0 -2.89627 1.69422 0 0 0 5.1754 0 0.624215 8.8951 0 1.07743 -1.04965 11.0406 0 0.580767 0.122748 -1.79328 22.42 0 0 0 -0.254075 -0.0528934 0 0 0 -0.0199663 -0.000454604 0 -0.00291505 0 -0.0101877 -0.0381356 0 0 0 0 -0.00682854 0 -0.00390532 0 -0.164801 0 -0.0728135 0.162515 0 -0.000725394 0 0 0.0804616 -0.0034407 0.0313981 0 0.00355097 0 -3.75807e-05 -0.0435306 0.00549308 -0.048797 -0.0141428 0 -0.000714992 0 0 0 0.000249113 0 0 0.00963769 0.00117759 -0.00269363 -0.0268982 0 0 -0.0129691 0 0.00114721 0 0 0.0603806 -0.0271752 0.0618388 -0.0278401 0 0 0.0435149 0.001988 -0.006803 0.0187848 -0.0146644 0 -0.0132162 0.000430236 -0.577693 0 0 0 0.136115 0 0.0395625 -0.0687964 0 -0.00500925 0.00934852 0.00615557 0 0.00440914 -0.00784814 0.014778 -0.0192338 0 0.0107182 -0.254075 0.281365 -0.0528934 0.955753 0.271874 -0.405115 0.522739 -2.31212 0.0503072 0.00570431 -0.460518 0.00700681 -0.0766161 -0.0638637 -0.117986 0.000253479 0.328083 0.819688 1.63295 0.139812 -0.239051 -0.425464 0.102934 -0.0509115 -0.41989 -1.10733 0.0337031 0.750329 -0.0151102 1.23729 0.917533 -0.00903175 -0.879894 0.640755 -0.0658512 -0.000341036 0.0450344 0.0266474 -2.56459 -0.252222 -0.0641973 1.15978 2.10008 0.00127585 -0.0282813 0.276139 0.228213 -0.299705 0.491647 -0.823902 -1.78661 0.0369341 -0.242081 0.116003 -1.59447 -0.534956 0.931552 -0.124876 -0.119191 -0.440816 1.00522 -0.167207 0.300719 -0.282003 0.0663593 0.814834 0.0913569 0.141212 -0.28845 0.164103 0.138181 -0.109652 0.00248479 -0.106617 0.449478 -3.02639 1.03934 1.88731 -0.675262 0.359724 4.13326 0.22824 -0.212674 0.194547 2.07437 -0.145319 0.161537 -0.0100626 -0.471304 3.69413 0 +236 0 -0.251508 0.270142 -0.0038619 -0.04333 -0.134838 -0.0403002 0.474484 1.72359 -0.0291205 0.112707 -0.0159597 -0.0693386 0.000100693 -0.692879 0.000935078 1.86319 5.33751 0.0159129 0.00207579 0.583391 -0.00122483 -0.114189 -0.000129994 0.0209163 0.288578 0.685311 -0.001014 -0.0420989 0.146446 -0.171082 -0.00202698 0.0383965 0.102784 -0.0429644 0.099921 -0.000146112 0.0416375 2.2754 -0.0526641 0.00632945 0.00157009 -0.131693 -0.00274959 -0.365675 0.0225566 -0.130422 -0.0338269 0.0667113 0.0068136 -0.119781 0.216526 -1.34744 -0.00275506 0.00252505 -0.000331967 0.863735 -0.176063 0.0934686 -0.0423781 -0.00321582 -0.0827873 0.846751 1.12256 -0.0524968 0.0073431 -0.0768474 0.345804 0.0290739 0.00350874 0.216683 0.165607 0.0208475 -0.00703945 1.87488 0.526249 -0.0526876 -6.39299 -0.235442 -4.03637 -0.292764 0.301025 -3.18772 0.133721 -0.131583 0.069076 -2.40116 -0.00176464 0.00228419 -0.0269658 0.0510396 -0.275762 0 0 0 0 0 -0.0038619 -0.04333 -0.000941939 0 0 0 0 -4.92063e-05 0 0.00338074 0 0 -0.00109552 -0.00117722 0.00107196 0 0.000179937 -0.0027376 0.014146 0 0 -0.0133785 -8.26018e-05 0 -0.00062707 0.0541914 0 0 -0.000612259 -0.0157326 0 -0.00545401 0 -0.00114748 0 0 -8.32072e-05 0 0 -0.00294419 -0.000701275 -0.015613 0 -0.0134243 -0.00771965 0 0 0.0258856 0 -0.00191976 -0.00519835 0.00136907 0 0 0.00223276 0.00162249 0 -0.00348446 -0.0185681 -0.00366761 -0.000911328 -0.00382794 0.00563561 0 -0.00221547 -0.000715419 0.00919934 0.00239667 0.00360807 0 0 0 0.00470953 0.012195 -0.0108826 0.000260722 -0.0002999 0.000360904 0.00138261 -0.00159037 0.00191387 -0.00173404 0 0 0 0 0 0 -0.134838 0 -0.0403002 0 0 0 0 0.284236 0.0358695 0 0 0.0103551 0 0.00465489 0 0.0190098 0 0 0.0273696 0 -0.604074 0.114651 0.0801517 -0.0328201 0 0 0.16657 0 1.15818 0 0.246029 -0.16296 0 0.881173 -0.44656 0.0088053 0 0.0304589 0 0 0.00828183 0 0.247984 0.177415 0 0 -0.0419063 0 0 -0.109367 1.10536 -0.40144 0 -0.221943 0 0.0645761 0.0335283 0.0944143 0.090115 -0.230628 -0.484399 0.0784556 0.114114 -0.466423 0.12992 0.106876 0 0 0 0.041963 -0.00176801 0 0 0 0 0.0188427 -5.8158 0.249971 -3.1413 0.331698 -0.423919 0.252538 0.128596 -0.101165 0.0512653 -0.693034 0 0 0 0 0 0 +237 0 1.48387 0.258084 0.00918448 0.103049 0.109263 0.26463 -0.38143 -1.19067 0.0692553 0.126673 -0.141836 0.414583 -0.000239471 0.486205 0.0103779 0.228506 -2.44252 0.0366985 0.0121157 2.08479 0.0224252 -0.209324 0.000309155 0.0687815 -0.538924 0.434064 0.0242945 -0.43503 0.199002 0.349984 0.00482062 0.160288 -0.588892 -0.000114264 -0.34669 -0.00865747 0.138999 -3.93582 -0.045642 1.61324 -0.00373404 0.200508 -0.00201991 0.315563 -0.053645 1.18368 -0.127863 0.18181 0.00476406 0.356814 -0.148792 -0.304992 -0.0207964 0.0190602 0.0843634 -0.750852 -0.1488 -0.1615 -0.0555418 0.00764796 -1.20343 -1.18817 -0.272147 0.874731 0.00170863 0.0816014 -0.122524 0.147415 -0.00834461 -0.315912 -0.0508911 -0.031988 -0.0863118 -0.468159 -0.00768525 -0.323124 6.70381 -1.80417 4.89677 -1.0337 0.610701 3.047 -0.499439 0.28153 -0.0981966 1.09783 0.00419672 0.00125213 0.0427234 0.0449506 -0.374728 0 0 0 0 0 0.00918448 0.103049 -0.0013697 0 0 0 0 -6.37771e-05 0 0.00134648 0 0 0.00104298 0.00168444 -0.00134249 0 4.2204e-05 0.00528473 -0.00954635 0 0 0.0459553 0.000118192 0 0.0018596 -0.125817 0 0 0.00333604 0.0252543 0 0.0208652 0 0.00343709 0 0 0.000292044 0 0 0.175427 -0.000908934 0.0148642 0 -0.0195206 0.0196926 0 0 0.0048552 0 -0.00279157 0.0228577 0.00410751 0 0 -0.00212568 0.00235931 0 -0.00443632 0.0816206 0.00385368 0.00119275 0.0218138 0.00398176 0 -0.018183 -0.00561973 -0.0276215 0.00382369 -0.0208998 0 0 0 -0.280613 0.00552701 -0.0180686 -0.0155349 0.0178693 -0.0215041 -0.0013163 0.00151409 -0.00182208 0.00117021 0 0 0 0 0 0 0.109263 0 0.26463 0 0 0 0 -0.563171 0.735187 0 0 0.189715 0 0.0211776 0 0.0336674 0 0 -0.211154 0 -0.706152 -0.120834 0.238127 -0.00578159 0 0 0.321283 0 1.10587 0 -5.95397 0.521623 0 -1.05329 -1.54944 0.0260438 0 -0.0663659 0 0 0.0787234 0 0.470085 -0.425674 0 0 -0.0324035 0 0 0.0382943 0.771187 0.544137 0 0.359281 0 1.02547 0.104816 -0.208099 0.197676 0.01404 -0.107997 -0.509033 0.0756935 -0.33001 -1.94735 -0.0250439 0 0 0 0.0548167 -0.0454459 0 0 0 0 -0.143757 30.269 -0.115827 5.86023 0.682928 -0.887385 3.16217 -0.0923065 0.121102 -0.24947 0.797555 0 0 0 0 0 0 +238 0 0.352038 0.12759 -0.0152213 -0.170781 0.363761 0.0344008 -0.0820148 -1.53163 -0.114776 -0.101041 0.0707886 -0.480027 0.00039687 -0.187873 0.00134276 -0.262562 0.977558 -0.0206074 0.00913709 1.08428 -0.0299251 -0.0245668 -0.000512357 -0.132696 -0.330814 -0.151145 -0.0291442 0.422083 1.18639 -0.359767 -0.00798913 0.104561 -0.406664 0.0295873 -0.0241834 0.00612015 -0.182914 -2.56382 -0.0448431 0.490012 0.00618835 -0.252021 -0.00268698 0.471078 0.0889048 0.0400923 0.668041 0.282015 0.00688827 0.474894 -0.0313576 2.74285 -0.0123914 0.0113569 -0.115492 -0.896791 0.095159 -0.120471 0.182404 -0.0126748 -0.550507 -1.15413 0.274614 0.0546877 -0.0132528 -0.503146 -0.0377347 -0.253144 0.0138294 0.565845 0.0793308 0.134763 0.209634 -1.02093 -0.594692 0.387677 10.3034 3.57235 2.38514 2.21985 -1.32803 2.65722 0.972523 -0.491949 -0.0363505 1.27768 -0.00695515 0.00263772 -0.130112 0.0540124 -2.23401 0 0 0 0 0 -0.0152213 -0.170781 -0.000880062 0 0 0 0 -5.20748e-05 0 0.00148488 0 0 -0.00309191 -0.00376479 0.00358924 0 0.000116193 -0.00795503 0.0430618 0 0 -0.0377224 -0.000264164 0 -0.00114863 0.211593 0 0 -0.00540861 -0.0337574 0 -0.012607 0 -0.00377102 0 0 -0.000477981 0 0 -0.183989 -0.000742156 -0.0440651 0 -0.0125424 -0.034349 0 0 0.0462545 0 -0.00179365 -0.0197561 0.000644798 0 0 0.00630159 0.00151591 0 -0.00220779 -0.129443 -0.0100616 -0.00130428 -0.0329375 0.00383772 0 0.0158363 0.00103691 0.0567226 -0.0117538 0.035385 0 0 0 0.294309 0.0169779 -0.00748253 0.0162931 -0.0187414 0.0225536 0.00390217 -0.00448853 0.00540157 -0.00527858 0 0 0 0 0 0 0.363761 0 0.0344008 0 0 0 0 -0.592917 1.10768 0 0 0.450782 0 0.0458521 0 0.057902 0 0 -0.0853096 0 -0.0958508 -0.222388 0.155483 -0.000798299 0 0 0.540327 0 1.42611 0 -2.98019 -0.536177 0 -1.73104 -0.851272 0.0165129 0 -0.079899 0 0 0.117651 0 -0.44789 0.34146 0 0 0.0740122 0 0 0.0139942 -1.08183 1.05079 0 0.684992 0 -0.179681 0.286783 -0.546524 0.0612203 0.0160709 -0.114815 -0.128197 0.132847 -0.343034 1.47133 0.0277941 0 0 0 0.0139337 -0.0713111 0 0 0 0 -0.177671 7.07204 -1.70113 5.68446 0.558158 -1.08611 2.88909 -0.0475635 0.131363 -0.403741 1.42314 0 0 0 0 0 0 +239 0 -0.133808 -0.116087 -0.00754952 0.00808323 -0.0650697 -0.263203 0.58374 1.77954 -0.00978332 0.0899961 0.112937 -0.0591964 0.000664105 -0.502437 0.00633432 0.420076 2.47584 -0.019797 0.0144817 1.08378 -0.0206978 0.122523 -0.000568331 0.00127011 0.505688 -0.00171192 -0.0438107 0.55673 0.868706 -0.259321 -0.00509176 0.101132 0.259674 -0.127989 0.265654 0.00905029 -0.292848 1.03956 -0.0521107 -0.216517 0.00840746 -0.980014 -0.00474498 0.387261 0.104581 -0.501099 0.534712 0.136551 0.0200219 -1.63193 0.268273 -3.49663 -0.0122771 0.034918 -0.142007 -1.69761 -0.399678 -0.157857 0.00794064 -0.018373 0.032089 -0.152892 1.23569 -0.619719 0.253636 -0.702847 -0.128138 -0.312242 0.00224054 0.2606 0.197587 0.0586968 0.394042 0.940837 -0.237272 0.26985 2.76511 1.94636 -3.78998 1.75439 -1.50101 -1.05115 0.335683 -0.225796 0.00493578 -2.15918 -0.00994962 0.0117886 -0.151081 0.132022 -1.82341 0 0 0 0 0 -0.00754952 0.00808323 0.000849355 0 0 0 0 0.000133514 0 -0.0022664 0 0 -0.00125695 -0.0017266 0.000925313 0 -0.000223128 -0.00358846 0.00566571 0 0 0.0236871 -0.000121151 0 -0.00451208 0.546473 0 0 0.00535694 0.0293823 0 -0.041131 0 -0.00124357 0 0 0.000126667 0 0 -0.284909 0.00190281 -0.0179072 0 0.0121053 -0.0187391 0 0 -0.00503228 0 0.00175836 -0.0418824 -0.00299203 0 0 0.00257319 -0.00143875 0 0.00235314 -0.0932272 -0.0046858 -0.101171 -0.0192823 0.0184574 0 0.0143643 -0.0142207 -0.016799 -4.13385e-05 0.029916 0 0 0 0.49636 4.92971e-05 0.0379271 0.0127127 -0.0146104 0.0768233 0.00158795 -0.00182597 0.0021943 0.00104635 0 0 0 0 0 0 -0.0650697 0 -0.263203 0 0 0 0 0.359998 -0.549821 0 0 -0.123174 0 -0.0106235 0 -0.00403482 0 0 0.0947855 0 0.260759 0.120655 -0.0733063 0.0044876 0 0 -0.0341526 0 -3.70166 0 1.6403 -0.909806 0 0.923133 0.654195 -0.00801834 0 0.0566415 0 0 -0.0615751 0 -1.41527 -0.142341 0 0 -0.0237004 0 0 0.0482766 0.517535 -0.166195 0 -0.0321262 0 -0.323169 -0.0634595 0.107586 -0.00190247 -0.167096 -0.157681 0.300738 0.0522622 -0.128507 -0.758147 0.0623141 0 0 0 -0.106878 0.017997 0 0 0 0 0.114239 -4.85532 0.972373 -3.38477 -0.222298 0.439867 -1.45801 0.0972076 -0.0996721 0.166184 -0.69155 0 0 0 0 0 0 +240 0 0.783754 -0.0866499 0.00635965 0.0693803 -0.0208534 -0.0955821 0.71797 -0.0737964 0.0810279 0.112111 0.0668533 1.07097 -0.000199469 2.92698 -0.0124528 -0.181259 1.52439 0.0487491 -0.0310793 4.49668 0.014355 0.320674 0.000403555 0.0342729 0.334564 -0.309542 0.00314762 0.438634 0.464347 0.511313 0.00579357 -0.2209 0.0814308 0.0197602 0.335356 0.00478006 -0.0566954 -3.23261 0.126763 1.43074 -0.00184574 -0.107685 0.0106211 5.22159 -0.0139193 0.215814 0.515468 -0.481894 -0.0225984 0.0900417 0.105374 -2.49017 0.0685625 -0.0279849 0.0639222 -3.22051 0.181737 -0.115532 -0.0628096 0.00395307 -0.334552 -2.51453 0.648797 -0.126674 0.338237 -1.14736 -0.631166 -0.205787 -0.0154766 -0.144307 -0.0803686 0.0524829 0.133312 -4.3139 -0.420377 0.442266 10.5265 -0.0611661 2.58814 0.136891 -0.729082 3.69847 -0.0707731 0.101041 -0.193077 0.212486 0.00132425 -0.00726904 -0.00748022 -0.0917012 -0.974663 0 0 0 0 0 0.00635965 0.0693803 -0.00194046 0 0 0 0 -0.00016415 0 0.0054209 0 0 -0.00099164 -0.000649392 0.00134251 0 0.00039078 0.00466892 0.0270484 0 0 -0.0248607 -4.5564e-05 0 0.00262683 0.149971 0 0 -0.00883388 0.0325273 0 0.020865 0 -0.0015875 0 0 -0.00057812 0 0 0.145375 -0.00233943 -0.0141589 0 -0.0276569 0.00331433 0 0 0.0490801 0 -0.00406191 0.0102368 0.00423274 0 0 0.00197701 0.00324458 0 -0.0101963 -0.0116688 -0.00230878 -0.0865313 -9.39643e-05 0.0146481 0 -0.0105625 -0.00764687 0.0146129 -0.00614991 0.0029257 0 0 0 -0.234266 0.0262633 -0.0443962 -0.0132437 0.0151822 -0.0171476 0.00124551 -0.00143494 0.00173867 -0.00488114 0 0 0 0 0 0 -0.0208534 0 -0.0955821 0 0 0 0 0.0674369 -0.139173 0 0 -0.326263 0 -0.0279211 0 -0.0195355 0 0 0.263621 0 0.680911 -0.021476 -0.189856 0.0611126 0 0 -0.181463 0 2.90175 0 -3.3937 0.425345 0 -0.20941 -0.155259 -0.0186471 0 0.0179367 0 0 -0.0106657 0 1.04723 0.245472 0 0 0.0824141 0 0 -0.0453131 2.35859 0.0513378 0 -1.09821 0 0.77546 -0.109325 0.067234 -0.749637 0.27897 1.31991 -0.0487238 -0.272074 0.572918 -2.81224 -0.0878032 0 0 0 -0.065954 0.0393406 0 0 0 0 0.0127193 26.0642 1.12413 4.59663 0.441333 -0.443881 2.09046 0.0363564 -0.113813 0.303735 0.0784387 0 0 0 0 0 0 +241 0 0.774903 0.190165 -0.0215843 -0.137183 0.283732 0.00951263 0.0127536 -1.23833 -0.183064 -0.169036 0.017326 -0.468779 0.00112244 -0.99348 0.0247674 0.307148 2.56526 -0.0727273 0.0588716 -3.64266 -0.0498463 -0.129036 -0.00146284 -0.091792 -0.11788 0.0450799 -0.0684416 0.242238 1.44972 -0.477173 -0.0177376 0.381753 -0.860656 -0.143555 0.0690274 0.00358991 -0.322937 -5.62617 -0.206855 -2.0114 0.0126699 -0.781807 -0.019203 0.25088 0.136937 -0.959952 0.584203 0.729935 0.0503591 1.44806 -0.0801831 -2.86716 -0.118681 0.0806265 -0.297971 -3.21825 0.153209 0.178764 0.121276 -0.0273543 -0.695835 1.34704 0.437882 1.07416 -0.0567436 -0.191313 -0.329791 -0.360291 0.0353757 0.0958837 0.0084694 0.153458 0.263517 -0.521333 -0.0266555 0.0816851 25.9581 4.36296 6.61034 3.45191 -2.47534 7.42272 0.755444 -0.435465 0.145813 1.60286 -0.0130279 0.0220299 -0.212677 0.346148 -3.04296 0 0 0 0 0 -0.0215843 -0.137183 0.00279608 0 0 0 0 0.000342707 0 -0.00779996 0 0 -0.00148054 -0.00252379 0.00171938 0 -0.000834308 -0.00926541 0.0196162 0 0 -0.00428342 -0.000177089 0 -0.0060395 0.335893 0 0 -0.000438676 0.000579471 0 -0.0566052 0 -0.00214554 0 0 2.00199e-05 0 0 -0.480762 0.00488417 -0.0210708 0 0.0398517 -0.0368946 0 0 -0.0435266 0 0.00582158 -0.0690228 -0.007455 0 0 0.00306601 -0.00470536 0 0.0122179 -0.156592 -0.00569549 -0.0929183 -0.0393583 -0.000207023 0 0.0370308 -0.00240185 -0.00869187 -0.0124314 0.0495896 0 0 0 0.799809 -0.0212826 0.0544471 0.0339262 -0.0389671 0.0884046 0.00187507 -0.00215433 0.00257954 -0.00425964 0 0 0 0 0 0 0.283732 0 0.00951263 0 0 0 0 -0.782562 0.509951 0 0 0.416893 0 0.0373359 0 0.0368988 0 0 -0.0251393 0 -0.352178 -0.223735 0.209012 -0.0182943 0 0 0.337787 0 1.21286 0 -5.11483 -0.325469 0 -1.90172 -1.34716 0.0212008 0 -0.088929 0 0 0.0545497 0 -0.133357 0.339396 0 0 0.0145696 0 0 0.131797 0.815375 0.339184 0 0.26931 0 0.636936 0.159456 -0.305471 0.309985 -0.0010622 -0.356777 -0.383466 0.149983 -0.346139 -0.508635 -0.0456638 0 0 0 -0.025346 -0.0581583 0 0 0 0 -0.0754689 22.7433 -0.708775 7.11746 0.60419 -0.850509 3.30217 -0.0545749 0.16325 -0.44977 1.58308 0 0 0 0 0 0 +242 0 0 0 0 0 0.262311 0.20631 -1.29895 -2.9213 0 0 -0.497776 0.314566 0 -0.0466449 -0.0754477 0 0 0 -0.261988 -5.99925 0 0 0 0 -0.419328 0 0 -0.363108 -0.584199 0.0454593 0 0.18068 0 0 -0.258768 -0.0888048 0 0 -1.64387 -2.47734 0 0 -0.431358 1.51828 0 -0.695152 -0.28355 0.631231 0.828144 0.00609121 -0.239681 0 -0.229134 -0.34958 0.0507824 -0.0251059 -0.544583 -0.934879 0 0 0.26062 7.9951 0 -0.443149 0.0237531 0.495396 0 0 0 0 0.105696 -1.40896 0 1.46027 -0.481828 0 0 0 2.81493 0 1.09779 2.65793 0 0.789654 -0.169316 2.85092 0 1.98891 -1.24581 1.97204 0.791505 0 0 0 0.169497 0.0543416 0 0 0 0.0498633 0.0327633 0 0.00621177 0 -0.00551281 -0.0334869 0 0 0 0 0.0215239 0 -0.00881241 0 -0.0888666 0 0.362978 0.0182618 0 -0.000204048 0 0 0.0204172 -0.00161478 -0.0209261 0 0.00122385 0 0.00176053 -0.0970166 0.000156908 -0.0275906 -0.0231696 0 -0.000309402 0 0 0 5.19386e-05 0 0 0.00205817 -0.00153677 -0.291763 0.0297683 0 0 0.0236788 0 -0.00763551 0 0 0.000996372 -0.0198602 0.337737 0.00218198 0 0 0.00806796 -0.0532253 -0.0504189 0.0364236 0.0741999 0 0.23147 0.00329866 0.0669128 0 0 0 0.398531 0 0.0905882 -0.220298 0 0.00780396 -0.0240926 -0.0146448 0 0.000901246 -0.00265332 0.00102563 0.0226095 0 0.262311 0.169497 0.20631 0.0543416 0.111538 -0.0728698 0.331967 -0.656866 2.23417 -0.0714175 0.0440212 0.827655 -0.0123621 0.0983595 0.0611294 0.125777 0.024676 -0.369014 -1.0013 -0.229833 0.144038 -0.338091 0.602815 -0.153851 0.407601 0.0247484 1.08424 -0.0315547 0.301958 0.138128 2.30108 0.0939635 0.0096802 -1.38757 1.03525 0.0781382 -0.000408473 -0.140107 -0.0497479 -0.484729 0.25169 0.0207357 -0.0369093 -0.836911 0.00274379 0.0479476 -0.216754 -0.109187 0.108583 0.701086 -0.33218 1.44229 -0.228856 -1.87718 -0.0258698 -1.21282 0.718964 -1.19151 0.42394 0.43016 -0.572431 0.249806 0.0748924 0.230922 1.25277 -0.239784 -0.179336 -0.109253 0.334419 -1.11446 -0.192733 -0.127125 0.162663 0.068482 -0.103518 0.11382 -7.85382 -1.57926 0.972184 -0.786168 0.163663 1.9151 -0.482525 0.15212 0.328219 0.451439 0.454128 -0.33673 0.586981 -0.330431 0.492042 0 +243 0 0 0 0 0 -0.411696 0.00318343 0.462923 1.84755 0 0 0.256792 -0.201655 0 -0.307815 -0.0207396 0 0 0 -0.157903 1.77491 0 0 0 0 -0.0150842 0 0 -0.500461 -2.22846 0.149397 0 -0.62066 0 0 -0.0786681 0.0254225 0 0 0.975953 0.297735 0 0 0.146571 -1.49197 0 0.11894 -0.875643 -1.5774 -0.360107 0.172004 -0.437739 0 0.288629 -0.196414 0.298992 3.1674 0.452318 1.04949 0 0 -0.402983 -1.95581 0 0.710237 -0.246405 0.842871 0 0 0 0 -0.191997 -0.0577512 0 2.56478 0.981481 0 0 0 -2.90205 0 -0.813551 1.60151 0 -0.24021 0.839083 -2.06012 0 -0.513168 0.736544 -1.85519 5.66604 0 0 0 -0.143789 -0.0293294 0 0 0 -0.0434155 -3.31157e-07 0 -0.0042972 0 0.0011858 -0.0103149 0 0 0 0 -0.00768867 0 -0.00838811 0 0.028226 0 -0.361125 -0.176117 0 0.000313891 0 0 -0.032875 0.00109597 -0.0202039 0 -0.00259921 0 -0.000130934 -0.0972016 -0.00115706 0.0183788 -0.0164857 0 9.66411e-05 0 0 0 -0.00014156 0 0 -0.00484852 -0.0042787 -0.328108 -0.0196995 0 0 -0.0124561 0 -0.003563 0 0 -0.0149465 -0.0437635 -0.0931508 -0.0222165 0 0 0.0511215 0.0509875 0.0244248 0.0251891 -0.255117 0 -0.027634 0.00802822 0.248385 0 0 0 -0.818093 0 -0.10827 -0.159976 0 -0.0107105 -0.022772 0.0065818 0 -0.00108922 -0.00238491 -0.0033638 0.0608159 0 -0.411696 -0.143789 0.00318343 -0.0293294 0.297256 0.0139357 -0.0877173 0.695287 -1.31166 0.0322792 0.0125058 -0.216164 0.00478738 -0.0235575 -0.0149005 -0.0813621 -0.0119367 0.202164 0.280029 0.424951 -0.196247 0.226757 -0.481926 0.0567421 -0.150275 -0.00493558 -0.8968 -0.00217011 0.0599686 0.241705 -1.63141 1.0463 -0.00184427 1.57594 -0.967003 -0.0638539 0.00506741 0.10591 0.0481691 -0.203799 -0.136307 0.00124595 0.861182 0.115566 0.00250074 0.022908 0.0462669 0.00489268 0.0367185 -0.479302 -0.26125 0.233527 0.119916 2.68826 -0.0266196 1.15927 -0.655833 0.551008 -0.378729 -0.0477971 0.307426 -0.204694 0.0128078 -0.01975 1.68068 -0.0176996 -0.297262 0.0400366 0.0884603 0.478343 0.0997755 -0.0349068 -0.0587898 0.0921132 -0.0194988 0.411132 5.56817 0.487171 -2.63637 0.658843 -1.09431 0.680295 0.118355 -0.149595 0.159743 -0.782469 -0.248794 -0.00915267 0.0882107 -0.303557 0.378754 0 +244 0 0 0 0 0 -0.13717 -0.288516 0.805232 1.59058 0 0 -0.568004 -0.301691 0 0.176552 -0.100099 0 0 0 0.0757324 1.55788 0 0 0 0 0.494818 0 0 1.15518 6.25341 -0.413372 0 -0.0487461 0 0 0.36106 -0.102751 0 0 -1.99267 1.04982 0 0 -0.486854 1.12255 0 -0.22972 2.36471 1.7971 0.901276 -2.1881 0.648092 0 -0.0252895 0.00449571 -0.0971391 -0.0609441 -0.693334 -0.375259 0 0 -0.856283 -0.482669 0 0.13148 0.965241 -0.892001 0 0 0 0 0.167495 -1.45705 0 -0.168528 -0.223633 0 0 0 -2.0821 0 2.39043 -7.69434 0 0.714953 -0.306771 -4.75845 0 1.27585 -1.4384 4.00775 -13.8606 0 0 0 0.210959 0.0881666 0 0 0 -0.0371793 0.0644068 0 -0.00204045 0 -0.00786112 -0.0544598 0 0 0 0 -0.000631518 0 -0.0176256 0 -0.207059 0 -0.489898 -0.237529 0 -0.0053295 0 0 -0.33889 -0.00197423 -0.0470264 0 0.00549934 0 0.00311013 -0.0448205 -0.0438622 -0.0330412 -0.0196261 0 -0.00046055 0 0 0 0.000254946 0 0 0.00707674 -0.00035538 0.0779126 0.034257 0 0 -0.00968473 0 -0.00952357 0 0 0.0393485 0.0024004 -0.0514069 0.0149247 0 0 -0.108794 -0.0999027 0.0296882 -0.125137 0.240396 0 0.0775499 -0.0144675 -0.0827075 0 0 0 1.65012 0 0.162922 0.577331 0 0.0153923 0.0304349 0.0464336 0 0.00155185 0.00350247 0.00529573 0.173835 0 -0.13717 0.210959 -0.288516 0.0881666 -0.522286 -0.157105 0.237092 0.237288 -0.167713 -0.140087 0.111841 -0.241457 -0.0219552 -0.0343712 0.0774325 -0.0333071 0.0506179 -0.850787 1.54255 -1.65368 0.00600293 0.219625 0.149298 0.270707 0.85477 0.208266 -0.336548 -0.0132907 0.475903 0.0833994 0.0665042 -0.762812 0.0145584 1.15906 0.199331 0.0288734 0.00251979 0.0650433 -0.000977509 1.4019 -0.0060604 0.0287351 -0.319649 1.88424 0.00779323 0.0298586 0.390522 -0.171557 0.14384 1.30561 -0.241288 0.202044 -0.217127 0.415008 -0.00926655 0.437399 0.178532 -0.0412085 -0.126357 -0.385084 -0.883754 -0.227543 0.221631 0.30824 -2.13312 -0.0899018 0.323195 -0.164568 -0.221785 -0.163669 0.129904 -0.0823686 0.313393 0.104248 0.0656536 -0.0592296 -0.226986 0.407239 -1.33539 1.41099 0.246845 -2.67434 0.210256 0.0578537 0.00148754 -1.07296 1.04702 -0.407965 -0.118187 0.3793 -1.35159 0 +245 0 0.636154 0.394873 0.0112907 0.108764 0.125808 0.09183 0.164964 -0.914224 0.225679 -0.449071 -0.0604012 -0.432218 -0.000193989 -0.00468364 0.00093279 0.527215 3.1077 -0.0197721 -0.00885291 3.25527 0.00431254 -0.372816 0.00105002 -0.0859486 -0.363104 0.223595 0.00782578 0.106923 0.740306 -0.127431 0.0158673 -0.0212136 -1.20013 0.090731 -0.0894485 -0.00867639 -0.0456524 -5.74035 -0.0154851 1.56401 -0.00309288 0.236809 -0.00822794 -0.0960349 -0.0383226 0.610971 0.397438 -0.145056 0.0588932 0.290926 -0.287513 -2.48472 0.0028086 -0.00544418 -0.0333917 1.45244 -0.65054 -0.00223301 0.223781 0.0141936 -1.02887 -1.92497 -0.508164 0.625819 0.160434 -0.831035 -0.422504 -0.208766 -0.0464192 -0.54084 -0.382838 -0.0780318 -0.0738057 1.03244 -0.0958367 -1.8016 16.6316 1.45202 5.29274 1.66249 -1.23529 4.87769 0.469447 -0.270649 0.210798 0.907128 0.00508232 0.00125539 -0.0205871 0.00710148 -1.1012 0 0 0 0 0 0.0112907 0.108764 -0.000338428 0 0 0 0 -5.29074e-05 0 -0.00522517 0 0 -0.000785732 -0.00117272 -0.00414483 0 -0.000590281 0.00249195 -0.0369971 0 0 0.171086 -6.74642e-05 0 0.00102493 0.290435 0 0 0.0150241 0.0278572 0 0.0142418 0 0.012528 0 0 0.000926846 0 0 -0.109116 -0.00100041 -0.0138505 0 -0.00624416 0.0056449 0 0 0.0425695 0 -0.00106886 0.073064 -0.00225538 0 0 0.00138923 -7.5834e-05 0 0.00127633 0.0103199 0.00788394 0.2247 -0.00309058 -0.0194107 0 -0.00413245 -0.0384756 0.157281 -0.0439827 -0.0413852 0 0 0 1.352 0.124668 0.0689567 0.00700619 0.00612058 0.00526704 0.000527816 0.00045799 0.00125063 0.0195032 0 0 0 0 0 0 0.125808 0 0.09183 0 0 0 0 -0.0591604 -0.962753 0 0 -0.275434 0 -0.0234362 0 -0.0793945 0 0 0.723156 0 -0.719625 -0.00941339 -0.205919 0.0629473 0 0 -0.655313 0 3.12762 0 -3.63825 -0.434151 0 -0.444271 -1.5606 -0.0214802 0 0.0141117 0 0 -0.117174 0 -0.19148 1.77734 0 0 0.159218 0 0 -0.172661 0.437899 0.121999 0 -0.103721 0 1.51525 -0.44189 0.203913 -0.649009 0.268948 1.1235 -1.26215 -0.173576 -1.10989 -6.16974 -0.188912 0 0 0 0.158191 0.108474 0 0 0 0 -0.033984 9.09966 -1.45138 4.79737 1.19126 -0.877615 1.44314 0.101004 -0.0729971 0.0213039 0.305498 0 0 0 0 0 0 +246 0 -0.558079 0.154859 -0.0225588 -0.110603 0.140259 0.139735 -0.757432 -1.86541 -0.27941 0.753924 -0.164012 -0.724701 0.000530589 -0.465626 -0.00502438 0.161133 0.241345 0.173562 0.0110052 1.67124 0.013444 -0.336408 -0.00190727 0.0958308 -0.557353 0.353988 0.0435844 -0.0276715 0.59439 -0.158362 -0.0244889 0.0750081 -0.47267 0.287493 -0.279464 -0.0164722 0.143603 0.146945 -0.255321 1.01777 0.00574283 0.582013 -0.0262355 -0.78856 0.0685352 0.605118 0.199256 0.310022 -0.0188593 0.148915 0.00157918 2.9847 -0.114974 0.0240387 0.0926268 2.12038 0.710134 -0.120622 -0.177611 0.00887146 1.22498 -0.0216562 1.2591 -0.193905 -0.152434 0.249031 0.127199 0.139575 0.0926927 -0.386424 0.311962 0.011396 -0.225736 -0.465824 0.0269427 0.32799 -2.45821 -0.660176 1.29365 0.86698 -0.174265 -0.775061 -0.0247028 0.135417 -0.912951 1.93495 -0.00908911 0.0165215 -0.0903869 0.18635 -0.884154 0 0 0 0 0 -0.0225588 -0.110603 0.00142368 0 0 0 0 0.000133909 0 -0.0203617 0 0 -2.08661e-05 -0.000478098 -0.0100165 0 -0.00213955 -0.0107516 -0.0892311 0 0 -0.221888 -1.78807e-05 0 -0.00268599 -0.471174 0 0 -0.0337804 -0.1085 0 -0.0625712 0 -0.025514 0 0 -0.00390407 0 0 -0.32542 0.00269238 -0.00122657 0 0.0292163 -0.00169243 0 0 0.140033 0 -0.00182753 0.0486584 -0.00120801 0 0 -0.000984061 -0.00554176 0 0.00370013 0.0362434 -0.00307152 -0.285279 -0.0219391 0.0089122 0 0.00103096 -0.00819136 -0.0411362 0.0284001 -0.0658328 0 0 0 0.254098 -0.0378926 0.0185407 -0.00261929 -0.00241055 0.0516589 -0.000136154 -0.000129013 0.000295899 0.034408 0 0 0 0 0 0 0.140259 0 0.139735 0 0 0 0 -0.315531 0.66586 0 0 0.745942 0 0.0869498 0 0.0599327 0 0 0.201757 0 -0.31136 -0.0284166 0.435587 0.0409655 0 0 0.545514 0 2.71992 0 2.83281 -0.113356 0 -0.534406 0.456256 0.0505747 0 -0.0283255 0 0 0.075301 0 0.437782 1.07861 0 0 0.143229 0 0 -0.0232757 2.0844 0.36558 0 -0.41593 0 0.339338 0.559651 -0.461545 0.242514 0.11039 0.279942 -0.0428035 0.133917 1.25436 6.60112 -0.00294596 0 0 0 0.349811 -0.161286 0 0 0 0 -0.423938 -10.2455 -2.55385 1.27462 -0.931379 0.543394 -0.804429 -0.369591 0.273883 -0.295996 0.27293 0 0 0 0 0 0 +247 0 -0.176802 0.160631 0.00932301 0.0956879 0.0423946 0.258876 -0.259741 0.0660077 0.166942 -0.743034 -0.322848 0.682574 -0.000676409 0.635868 0.00901045 0.461574 -0.371561 -0.216477 -0.0055415 -0.628137 -0.0395194 -0.12193 0.000432178 -0.152902 -0.157739 0.431341 -0.0714801 -0.62815 0.0520276 0.367437 0.0100683 0.211781 0.00651057 -0.468229 -0.287424 -0.0344667 -0.332714 0.266562 -0.352751 0.0397541 -0.0124073 -1.46519 -0.0437258 2.0701 -0.180784 0.589797 -0.425559 -0.0354107 0.16206 -0.709673 -0.197986 3.96116 -0.0187354 -0.0313088 -0.00760937 0.944426 0.0918235 0.107853 0.338046 0.0369836 -0.136177 -0.0527275 -0.0886863 -1.00358 0.455141 0.32104 0.795479 -0.430256 -0.0580029 0.591176 -0.129175 -0.0707698 0.547891 -0.180293 0.346847 0.466006 -0.879122 1.31444 -1.4959 0.717529 -0.428472 0.83406 0.118992 -0.127194 0.725233 -0.293392 0.0239756 0.0244691 0.131008 0.262048 -0.0773909 0 0 0 0 0 0.00932301 0.0956879 -0.000773276 0 0 0 0 -0.000134876 0 -0.0226195 0 0 -0.00127965 -0.00175392 -0.0192743 0 -0.00285698 0.00148363 -0.161892 0 0 0.00504858 -0.000109557 0 0.00538798 -0.343488 0 0 -0.0144074 -0.011271 0 0.0140762 0 0.00155249 0 0 -0.00184545 0 0 -0.398061 -0.00254043 -0.0210586 0 -0.013982 0.0213986 0 0 -0.0287966 0 -0.00108232 0.0749507 -0.00296577 0 0 0.00395953 0.00155939 0 -0.00627869 -0.019443 0.0137095 0.102119 -0.00521142 -0.0159064 0 0.0011335 -0.0369664 0.0390204 -0.0225386 -0.114431 0 0 0 4.24359 0.321843 0.57098 0.0208569 0.0188151 0.141193 0.00110131 0.000973377 0.001599 0.0578958 0 0 0 0 0 0 0.0423946 0 0.258876 0 0 0 0 -0.142781 0.117791 0 0 0.079333 0 0.0128931 0 0.0287369 0 0 -0.443732 0 -0.308379 -0.0159709 0.246688 -0.0519576 0 0 0.25224 0 0.531097 0 -0.0172324 0.868276 0 0.0697056 -0.29164 0.0350181 0 -0.0303011 0 0 0.00941056 0 1.02131 -0.213679 0 0 -0.0291918 0 0 0.0719394 -0.0375027 -0.0615039 0 0.863754 0 0.0939685 -0.175086 0.0663164 0.362138 -0.0500075 -0.341401 -0.233573 0.0389095 0.180846 5.55791 0.0419438 0 0 0 -0.0571154 -0.00720189 0 0 0 0 0.0978732 2.02181 -0.111677 0.403621 0.147759 -0.138572 0.181563 0.0147148 -0.0140286 -0.0259355 -0.0137661 0 0 0 0 0 0 +248 0 0.371147 -0.0348113 0.0345919 0.0743965 -0.00410588 -0.201113 0.800267 0.381708 0.155892 -0.400781 0.174049 -0.164083 -0.00858438 -1.20405 -0.00273901 -0.169069 1.70253 -0.114442 -0.0150619 -0.962468 -0.0319199 0.207286 0.00937802 -0.18514 0.368521 -0.28879 -0.0158281 0.423394 -0.432494 -0.275481 0.0472117 -0.0157537 0.0421726 -0.0738309 0.351208 0.0243948 0.0253715 -1.61254 0.559744 -0.712345 -0.0513206 0.319159 0.090549 -1.71764 -0.292372 -0.576385 0.26128 0.0514373 -0.292776 -0.594568 -0.110709 -2.39919 -0.118097 -0.0199307 0.114465 -0.566136 -0.0388334 0.607782 0.227704 0.114617 -0.384295 -0.781736 -0.226601 0.381823 -0.00118048 -0.555693 -0.172418 0.190193 -0.0636244 0.0335598 -0.273872 0.469296 -0.430157 1.10655 -0.65152 -0.423532 -0.823371 0.161219 1.32855 -0.17431 0.248629 0.782709 0.469632 -0.0425291 0.002691 -0.164509 0.262564 -0.383831 0.510982 -0.802468 0.937205 0 0 0 0 0 0.0345919 0.0743965 -0.000514516 0 0 0 0 -0.000293898 0 0.0094172 0 0 -5.04248e-05 -0.00073917 0.00931316 0 0.00164299 -0.0706923 0.0550725 0 0 0.130806 -4.10757e-05 0 0.0143128 -0.42642 0 0 0.0128056 -0.213657 0 0.116413 0 0.0309943 0 0 0.00310626 0 0 0.320937 -0.00551851 -0.00057297 0 -0.00931763 -0.00863177 0 0 0.213713 0 -0.0025478 0.152802 -0.0026005 0 0 -0.000421575 -0.000504861 0 0.0134462 -0.00291708 0.00600997 -0.273588 -0.00449905 0.00139024 0 -0.00353903 -0.00214435 0.215917 -0.0798916 0.0115235 0 0 0 -2.91472 -0.14401 -0.42742 -0.0135572 -0.0119944 -0.0145771 -0.000124339 -0.000116579 0.000199709 -0.00142033 0 0 0 0 0 0 -0.00410588 0 -0.201113 0 0 0 0 0.132148 -0.0979574 0 0 -0.437876 0 -0.0403256 0 0.000173456 0 0 0.269289 0 0.0305096 0.0227765 -0.301009 0.0497105 0 0 -0.0676763 0 2.90905 0 -2.1521 0.0477266 0 0.0282387 -0.802958 -0.0316289 0 0.0160392 0 0 0.00351902 0 0.509146 0.488542 0 0 0.0873681 0 0 -0.585405 -1.51269 0.166812 0 -0.33772 0 1.06792 -0.115489 -0.00489567 -0.252166 0.14532 0.356035 -1.02749 -0.0902096 -0.452353 -5.43739 -0.133261 0 0 0 0.393048 0.102062 0 0 0 0 -0.295015 -2.24675 -1.3631 2.43615 0.313067 -0.416505 0.811976 0.170139 -0.140627 0.122589 0.0358332 0 0 0 0 0 0 +249 0 -0.530754 -0.376752 -0.0196158 -0.141726 0.0215072 -0.237541 0.362656 0.887791 0.08604 0.451304 -0.0146735 0.68088 0.00422473 0.484387 0.0181065 -0.0823301 0.879231 -0.0762363 0.00856398 -1.02384 -0.00917014 0.45603 -0.000635581 0.0789324 0.714156 -0.280302 -0.025916 0.556437 0.272131 -0.0590085 0.00284526 0.193941 0.952311 -0.377402 0.408358 -0.010199 0.0434473 3.78808 -0.221847 -0.895996 0.0371987 -1.00384 -0.0316591 2.49483 0.335089 -0.677807 0.424125 0.114363 0.132321 -0.860853 0.0266443 6.23145 0.0949386 0.14594 -0.167951 0.0875932 0.0632625 -0.587655 -0.194351 -0.0949328 2.10461 1.86018 1.24953 -0.129979 0.272294 0.839554 -0.103748 -0.130753 -0.0937059 -0.0248588 -0.0831959 -0.167872 0.0348029 -0.127934 -0.00439845 1.27612 -9.88533 0.174818 -4.73361 -0.944358 1.01891 -4.05189 -0.293444 0.155428 -0.276568 -1.00527 -0.300926 0.251465 -0.48526 0.36369 -0.589704 0 0 0 0 0 -0.0196158 -0.141726 -0.00184974 0 0 0 0 -0.000279222 0 0.00156506 0 0 0.00232477 0.00579393 0.00659196 0 0.00102101 0.00968654 0.0234802 0 0 -0.128768 0.000326235 0 0.0139978 -0.12282 0 0 -0.0150855 0.00377046 0 0.041996 0 -0.0140405 0 0 -0.00150676 0 0 0.327615 -0.00546666 0.0405836 0 -0.0361741 -0.0440591 0 0 0.213984 0 -0.00230676 -0.250147 0.00198975 0 0 -0.00545085 0.00414701 0 0.0116693 0.0469105 -0.0172777 -1.03806 -0.0369462 0.0427675 0 -0.00799436 0.00806976 -0.160378 0.0373218 0.0426602 0 0 0 -6.0757 -0.516065 -0.582957 -0.0327688 -0.0291468 -0.0080004 -0.00184034 -0.00161434 -0.00336709 0.00281779 0 0 0 0 0 0 0.0215072 0 -0.237541 0 0 0 0 0.0770314 -0.0440698 0 0 0.260776 0 0.0338005 0 0.0222815 0 0 -0.382138 0 0.68272 0.0416965 0.128691 -0.0610036 0 0 0.257224 0 -2.53162 0 4.13251 -0.591545 0 0.350156 1.4922 0.0166288 0 -0.00535265 0 0 -0.0159366 0 -0.980187 -0.445438 0 0 -0.0774026 0 0 0.19899 1.96276 -0.156011 0 -0.248605 0 0.118082 0.030266 0.0190293 0.63584 -0.0649776 -0.571589 0.310298 0.204934 0.734202 5.78698 0.0340508 0 0 0 -0.298868 -0.0954391 0 0 0 0 0.263024 -12.5716 -0.839605 -1.60426 -1.46405 1.05611 -1.4993 -0.168113 0.140251 -0.129643 -0.0881734 0 0 0 0 0 0 +250 0 -0.596487 -0.263589 0.0874824 0.249556 -0.278107 -0.0908482 0.265473 2.47281 0.421479 -1.6274 0.363651 0.333679 -0.0206767 -0.210921 -0.0423608 0.24016 1.06361 -0.225681 -0.107502 -3.07423 -0.0357741 0.430051 0.0213243 -0.376117 0.582311 -0.227861 -0.0138971 -0.348464 -2.15726 0.241799 0.109809 -0.22109 1.26303 0.343056 0.148835 0.0626191 -0.0509001 5.33093 1.05501 -1.10512 -0.12787 1.43106 0.185472 -1.5516 -0.766136 -0.279584 -0.895421 -0.37298 -0.541937 0.450662 -0.372471 3.33962 0.337562 -0.399298 0.317128 1.62341 0.140564 -0.118907 0.495022 0.301609 0.96153 1.83403 -0.324027 -0.68891 -0.363467 1.08694 0.104653 -0.0864803 -0.141555 0.758911 -0.426902 0.55995 -0.0515396 1.57107 0.0728253 -0.658414 -16.7434 2.14328 -8.35952 -0.695664 0.326008 -3.01608 0.824962 -0.60332 1.31467 -1.48584 0.688026 -0.820913 1.79876 -2.1207 4.67475 0 0 0 0 0 0.0874824 0.249556 0.000754205 0 0 0 0 -0.000443355 0 -0.00439708 0 0 -0.0010461 -0.00432641 0.00130047 0 0.000421032 -0.0733665 -0.0465079 0 0 -0.046019 -0.000245844 0 -0.0271527 -0.415245 0 0 -0.00894446 -0.146905 0 0.0255395 0 0.0328835 0 0 0.00299543 0 0 0.0573813 -0.00807458 -0.016439 0 0.0179682 -0.0102491 0 0 0.0324931 0 -0.00438906 -0.193071 -0.00431855 0 0 0.00266507 -0.00555444 0 -0.00190819 0.055099 0.0140372 0.627979 -0.0475693 -0.0291876 0 0.00458101 -0.0102372 0.209834 0.00640662 -0.10541 0 0 0 2.24073 0.215255 0.294551 0.0141349 0.0128946 0.0176779 0.000676085 0.000589593 0.00143412 0.0146135 0 0 0 0 0 0 -0.278107 0 -0.0908482 0 0 0 0 0.520753 0.870905 0 0 -1.04187 0 -0.139335 0 0.0353924 0 0 -0.836614 0 0.674254 0.18625 -0.45787 -0.0984772 0 0 0.270461 0 -2.0742 0 3.1911 0.574893 0 1.40688 1.33337 -0.0623338 0 0.0704105 0 0 0.10491 0 0.260569 -2.13763 0 0 -0.246921 0 0 0.0529088 -1.52815 -0.348818 0 1.74923 0 -0.545897 -0.174955 0.210465 0.558528 0.030841 -0.512489 0.191211 -0.18873 -0.946119 2.86921 -0.191488 0 0 0 -0.124516 0.307563 0 0 0 0 0.0280393 -7.3103 3.43074 -4.87875 -0.852241 0.807549 -1.37119 0.674498 -0.489765 0.429388 -0.627709 0 0 0 0 0 0 +251 0 0 0 0 0 0.0181512 -0.264104 0.642329 2.01104 0 0 0.0306374 -0.770399 0 -0.495419 0.0151095 0 0 0 -0.0361999 -4.02414 0 0 0 0 0.510051 0 0 0.312902 2.19038 -0.364653 0 0.250457 0 0 0.217097 0.00214117 0 0 -0.415473 -1.81174 0 0 -0.0479464 -2.02005 0 -0.890332 0.573337 -0.0222368 0.0973771 -1.94927 0.223766 0 0.0641813 -0.129368 0.308992 -2.01395 -0.748046 -1.34355 0 0 -0.784841 2.92719 0 -1.08149 0.0116287 -1.45397 0 0 0 0 0.378494 -0.22768 0 -0.563604 -0.966071 0 0 0 -4.73592 0 0.545757 -5.32462 0 0.191012 -1.02227 -6.58236 0 0.385531 -1.44703 1.98757 -9.82344 0 0 0 0.101029 0.0029169 0 0 0 -0.0144844 0.00366164 0 -0.00116491 0 -0.000260364 0.00816108 0 0 0 0 0.0917139 0 0.00457878 0 0.151375 0 -0.142062 -0.0942476 0 0.000216261 0 0 -0.0090668 -0.000282574 -0.00433736 0 0.000368056 0 0.000264247 -0.00169375 0.00185425 -0.00387411 0.000236876 0 -1.89168e-05 0 0 0 2.67122e-05 0 0 0.000834347 0.000355595 -0.0739966 -0.00401917 0 0 -0.00246402 0 -0.000483491 0 0 -0.004737 0.00366811 -0.000287035 0.0037357 0 0 -0.0443034 -0.00435082 0.000231085 -0.00286954 0.0740497 0 -0.00200071 -0.000493473 -1.56647e-07 0 0 0 -0.226572 0 0.00829174 0.00314715 0 -0.000700487 0.00126192 -0.0307233 0 0.000387463 -0.00068158 0.00288775 -0.00420406 0 0.0181512 0.101029 -0.264104 0.0029169 -0.101339 -0.081748 -0.0100363 0.589572 0.36135 0.00121209 0.00455906 0.362126 8.12565e-05 0.0178487 -0.00128528 0.0104471 0.0030477 0.0141289 0.248644 -0.565695 0.102334 0.350123 0.0837701 0.0465686 -0.0140361 0.203566 0.160031 0.003978 3.8382 -0.240156 1.91148 -0.143054 -0.000100135 0.847499 0.548983 0.00422757 -0.00259846 0.143913 -0.0262213 0.949683 0.0191354 0.0323486 0.737357 0.235629 0.00240233 -0.0273714 0.150334 -0.0152371 -0.0136395 0.0281291 1.85759 0.479275 -0.02969 -0.40422 0.00610253 -0.538585 -0.0137805 -0.0438544 -0.0755975 -0.0586917 0.592123 0.078855 0.153945 -0.0711819 1.46912 -0.024398 -0.796739 -0.0221754 -0.163546 -0.362219 -0.033852 0.0687454 -0.00639704 -0.104082 0.0524664 -0.0387533 -15.4768 -1.96267 -3.56461 -0.144579 0.930193 -5.38054 -0.020225 0.238774 -0.913234 -0.798108 -0.00129176 0.146558 -0.397652 0.419207 -1.36446 0 +252 0 0 0 0 0 0.416611 -0.0322213 -0.567782 -1.84752 0 0 -0.180512 -0.319392 0 -0.247195 -0.032251 0 0 0 -0.161829 6.57552 0 0 0 0 -0.0162663 0 0 0.477918 -5.06048 -0.505001 0 -0.12537 0 0 0.0820646 -0.0328575 0 0 -0.0121371 0.268831 0 0 -0.0778889 2.05559 0 -0.988137 -0.423496 -0.261366 0.100286 -0.803455 -0.043166 0 0.205412 -0.0402105 -0.353551 1.28633 0.494713 0.386897 0 0 0.338517 -0.997495 0 -1.50493 -0.324114 -0.352668 0 0 0 0 -0.146498 -0.598212 0 -0.175324 0.968381 0 0 0 4.09603 0 0.402261 8.3374 0 0.100355 0.623161 6.77263 0 0.355367 -0.0110818 0.383057 13.8111 0 0 0 -0.100049 -0.00599664 0 0 0 0.00212959 0.0117123 0 -0.000302955 0 0.000540941 0.00708028 0 0 0 0 0.00462644 0 0.00191527 0 0.0562216 0 0.0426606 0.0524816 0 -2.25366e-05 0 0 -0.0113926 0.000801047 0.000287522 0 0.00154191 0 0.000867583 -0.00805737 0.000263458 0.0107254 -0.00113829 0 3.94935e-05 0 0 0 0.000112128 0 0 -0.00281737 0.00250733 -0.00722016 0.0150358 0 0 0.00110213 0 -0.000458589 0 0 -0.00994865 -0.0149489 0.0201284 0.00934572 0 0 0.00268462 -0.00345117 -0.00543396 0.00700018 -0.0422414 0 -0.0211947 -0.00147754 0.0517434 0 0 0 -0.136551 0 -0.0246826 0.0491567 0 0.00213743 -0.00503848 -0.0110947 0 -0.00114604 0.00230992 -0.00911578 0.0178249 0 0.416611 -0.100049 -0.0322213 -0.00599664 0.897349 0.278446 -0.0444114 0.0757659 -0.283638 0.00231586 0.00845717 0.265367 0.000143502 0.0185786 -0.00288743 -0.00335507 0.0137841 0.037893 0.795393 1.99874 0.331873 -0.204695 0.129641 0.129447 0.0946549 -0.385112 -0.123227 0.0299325 -0.197447 0.165291 3.55766 -0.617011 -0.000185433 -0.131616 1.21647 0.00814694 0.00191927 -0.060756 0.0249697 -2.16319 -0.010545 -0.0603435 -0.302927 2.05467 0.0013853 0.0178578 0.294409 0.2422 0.0913402 0.266365 -0.909763 0.136192 -0.0117285 0.139129 0.00441157 -2.32671 -0.015334 -0.247577 -0.251626 -0.424119 -0.572108 0.0923198 -0.0989143 -0.351276 -7.28937 0.0381415 -0.0326372 0.0697944 0.116771 0.086203 -0.0410426 -0.0291085 -0.00413371 -0.0457447 -0.150326 -0.0119956 -28.8056 -1.99866 -1.95842 -0.316039 -0.163525 3.44972 -0.0219762 0.0327095 0.153117 1.01623 -0.00346444 0.0185774 0.124751 -0.354078 3.11887 0 +253 0 0 0 0 0 0.915882 0.350563 -2.42735 -6.0866 0 0 -0.146479 0.774747 0 0.270097 -0.00107763 0 0 0 -0.0559847 0.12147 0 0 0 0 -0.803464 0 0 -0.41617 -2.07666 0.311444 0 -0.367282 0 0 -0.403289 0.0250936 0 0 -0.504072 0.424507 0 0 0.0265166 1.52021 0 0.604891 -0.682294 -0.984688 0.17836 -1.43621 0.142841 0 0.249961 -0.176561 -0.0627466 -1.11635 0.739678 0.394921 0 0 2.34409 -3.90332 0 0.152023 0.310711 2.08229 0 0 0 0 -0.305993 -1.03712 0 -3.19235 0.755601 0 0 0 15.6967 0 1.75576 7.33946 0 0.271269 1.15924 14.6664 0 -0.450541 1.97319 -0.216778 13.6548 0 0 0 0.194229 0.0180915 0 0 0 0.0302591 -0.0377413 0 0.00344376 0 0.00119034 -0.0331249 0 0 0 0 -0.137841 0 -0.0128348 0 -0.350419 0 0.251377 0.14921 0 -0.00121739 0 0 -0.146694 0.00108784 0.0135855 0 -0.00456913 0 -0.00275858 0.00223681 -0.0146556 0.0152792 0.00111638 0 8.6226e-05 0 0 0 -0.000331942 0 0 -0.00225847 -0.00565399 0.18087 -0.00121586 0 0 -0.0169264 0 0.0036397 0 0 0.00647149 -0.00209211 -0.0504086 -0.0215502 0 0 0.125542 0.0223752 0.00931158 0.0863008 -0.00694877 0 0.10676 0.00266033 -0.0739351 0 0 0 0.707405 0 -0.0287209 0.276194 0 0.00230594 -0.022051 0.185876 0 -0.00135902 0.012946 -0.0302713 0.107475 0 0.915882 0.194229 0.350563 0.0180915 0.142107 -0.0481362 0.145086 -0.548598 -0.271313 -0.00818704 -0.0280189 -0.352309 -0.000563134 -0.0362475 0.0106131 -0.0212677 -0.0271334 -0.111478 -0.670007 -0.725246 0.358225 -0.601648 -0.0804346 -0.118935 -0.187993 -0.133829 -0.371595 -0.0191066 -7.11441 -0.132895 2.09959 0.218014 0.000733625 -2.55809 1.27093 -0.00958593 -0.00237167 -0.164447 -0.0112147 -0.615663 -0.00781887 -0.0221785 -2.02729 -1.72688 -0.00485953 -0.0217344 -0.364761 -0.127865 -0.01277 0.319448 -1.35598 -0.253087 0.0497201 0.906178 -0.0178907 1.14427 0.0209391 0.10707 0.217044 0.375833 -0.041345 -0.0248428 0.0335698 0.236172 3.0433 -0.0608104 0.461926 -0.0959886 0.108436 0.152654 0.0920619 0.0871816 0.0162344 -0.262808 0.0205225 -0.00106692 -16.9999 0.88077 7.55032 0.355327 0.640094 0.664912 0.0450694 0.0976893 0.552252 2.39934 0.0101921 0.0669835 0.237242 0.0419831 1.26787 0 +254 0 -0.782463 -0.603832 -0.00256973 0.0719372 -0.0935438 -0.172201 0.148989 1.4144 -0.0182564 0.0919456 -0.138438 0.421756 0.00087685 -0.461435 -0.0209872 -0.839859 -3.14184 -0.0247123 -0.0286679 -0.43574 -0.0132059 0.521063 -0.000732007 0.0234985 0.582935 -0.576796 -0.0107955 0.267857 0.825346 0.087169 -0.00567921 -0.345754 1.78577 0.0172301 0.223221 -0.0132397 -0.0655828 7.86204 -0.183033 -0.350517 0.0105573 -0.130226 -0.0186398 -1.08229 0.121186 -0.341685 0.509979 -0.511792 0.135983 -1.25879 0.340263 -2.73882 0.111778 -0.0204803 0.197217 -0.396777 0.395702 0.455976 -0.0414527 -0.0360988 1.48873 -0.671207 -0.774738 -0.551591 0.658046 0.976257 0.368845 -0.224227 0.00764048 0.522532 0.218084 -0.268805 0.148847 -1.06194 -0.276427 -0.579209 -41.2475 -5.31455 -10.6594 -4.50551 4.55289 -20.5848 0.289368 -0.346845 -0.583746 -5.67389 -0.0376467 0.0726214 -0.49597 0.856432 -5.00946 0 0 0 0 0 -0.00256973 0.0719372 0.00101792 0 0 0 0 0.000153487 0 0.00153486 0 0 -0.000112071 -0.00016526 0.000553574 0 0.000176844 0.000366704 -0.00759842 0 0 -0.148893 -1.18953e-05 0 0.0175576 -0.35829 0 0 -0.0209965 -0.00869462 0 0.11842 0 -0.0119169 0 0 -0.00157434 0 0 0.397122 0.00211615 -0.00155221 0 0.014128 0.0146633 0 0 -0.105914 0 0.00246372 -0.211247 -0.00390393 0 0 0.000849612 -0.000947395 0 0.00123591 0.00338573 -0.00143694 0.143287 -0.00267877 -0.00604942 0 -0.00492099 0.00716033 -0.0548279 0.0127802 -0.00777159 0 0 0 -1.43757 0.0549909 -0.12266 -0.0264554 0.0505133 -0.11391 0.000316139 -0.000612319 0.00121857 -0.00152952 0 0 0 0 0 0 -0.0935438 0 -0.172201 0 0 0 0 -0.0598833 -0.224526 0 0 -0.272886 0 -0.0203093 0 -0.0021617 0 0 -0.441937 0 0.932015 0.0646978 -0.00179244 -0.0417996 0 0 -0.0824037 0 -7.22392 0 3.8379 -0.199613 0 0.507486 1.79455 0.000770398 0 -0.0116385 0 0 -0.00528499 0 -1.5789 -1.3641 0 0 -0.137492 0 0 -0.192287 -2.73446 -0.191371 0 -0.129766 0 1.08811 0.0366582 0.0170732 0.00274727 -0.0364602 -1.37585 -0.393759 -0.0644624 -0.544302 -1.27202 -0.0387447 0 0 0 -0.0645555 0.0260379 0 0 0 0 0.0325503 -26.2835 -0.437796 -3.17557 -0.65963 0.819616 -3.16063 0.145233 -0.12197 0.137061 -0.352741 0 0 0 0 0 0 +255 0 1.29247 0.358311 -0.00850213 -0.126841 0.489619 0.369846 -1.28305 -3.98419 -0.0857509 0.444334 0.173725 0.535096 0.000554127 1.00915 0.0135958 -0.278821 0.149682 0.0461763 0.029916 -0.666109 -0.00914148 -0.369737 -0.000504397 -0.0130623 -0.890049 0.0879842 -0.0161123 -0.725092 -1.83657 0.365442 -0.00634557 0.146223 -1.13107 -0.0167745 -0.432353 0.0127107 -0.110921 -5.32046 0.206099 0.360961 0.00748858 -0.0504562 0.0165543 2.32856 0.103149 0.591645 -1.18052 0.310874 -0.0118857 0.755661 -0.436528 -0.322279 -0.0410463 0.0758183 -0.14002 -2.48532 0.121778 -0.121319 -0.0236865 -0.0246602 -1.18989 -0.128804 -1.24163 -0.184865 -0.277125 0.565629 -0.396801 0.156863 0.0220907 -0.46068 -0.253585 0.105949 0.183913 -2.07037 0.681373 0.908753 25.3858 0.469695 15.2026 1.03108 -1.87588 16.0104 -0.0804993 -0.00189724 -0.699992 11.9173 -0.0320433 0.00560164 -0.0277664 -1.29518 11.1471 0 0 0 0 0 -0.00850213 -0.126841 -0.00114067 0 0 0 0 -5.64569e-05 0 0.00186453 0 0 0.0015957 0.00204632 -0.00273287 0 -9.81179e-05 0.00170708 -0.0229184 0 0 0.14044 0.000152603 0 -0.00603232 0.413052 0 0 0.0202642 0.0476304 0 -0.0529031 0 0.00754783 0 0 0.00119908 0 0 -0.105051 -0.000816582 0.0209098 0 -0.0163834 -0.00157854 0 0 -0.00897147 0 0.000359339 0.0480246 -0.00400307 0 0 -0.00592747 0.00404603 0 0.00612136 0.0239526 0.0192159 -0.371548 -0.0451766 -0.0102617 0 -0.0144592 0.0156149 -0.0010668 -0.0265884 0.110611 0 0 0 0.172757 -0.0625544 0.0995728 0.00645643 -0.0119351 0.0283767 -0.00262555 0.00504182 -0.0104909 0.0172531 0 0 0 0 0 0 0.489619 0 0.369846 0 0 0 0 0.0130913 0.262498 0 0 0.0576875 0 0.0132008 0 0.0092238 0 0 -0.327494 0 -0.221034 -0.126039 -0.0933398 -0.0600741 0 0 0.147594 0 2.32841 0 -3.62911 0.326821 0 -1.19712 -0.733732 -0.00374033 0 0.0151888 0 0 0.0157412 0 0.376109 0.454498 0 0 0.0229527 0 0 -0.395123 -2.48991 -0.286059 0 -1.24005 0 -0.664869 0.0598936 -0.10098 -0.163364 0.13958 -0.348559 -0.257983 -0.0860836 0.699453 -0.577949 -0.0978793 0 0 0 0.0973776 -0.0201128 0 0 0 0 0.012943 31.407 1.1339 6.92853 0.336642 -0.431672 3.41974 -0.0334631 0.0282985 -0.00710551 0.871118 0 0 0 0 0 0 +256 0 1.52726 0.178146 0.0418614 0.302628 -0.031206 -0.203226 1.8 2.1327 0.39241 -1.37799 0.220822 -0.478404 -0.00338461 -0.487512 0.0265842 -0.120721 0.493721 -0.0283699 0.0241435 -1.21577 0.0548291 0.0320267 0.00410543 -0.120916 0.43978 -0.211955 0.0919257 0.492143 1.38793 -0.21919 0.0416257 0.409525 -0.911257 0.2429 0.379034 0.02604 0.279723 -8.86098 0.497193 -0.743974 -0.034958 0.974285 0.0504934 -2.00905 -0.339693 -0.468219 0.920842 0.479143 -0.190331 0.106717 -1.00903 -1.05749 -0.039833 0.101294 -0.389779 -2.55979 0.120264 -0.47481 0.461762 0.0940625 -4.86918 0.239802 0.921423 -2.34313 -0.207651 -2.70444 1.39155 0.34771 -0.0954763 0.66979 -0.560405 0.380821 -0.216532 -1.7511 -1.45609 0.602641 50.1861 10.6947 -0.171988 5.96595 -5.52587 12.158 0.252197 -0.534312 3.04872 -8.1861 0.105526 -0.201099 0.815308 -1.00274 -8.42406 0 0 0 0 0 0.0418614 0.302628 -0.00136516 0 0 0 0 -0.000588725 0 -0.00983664 0 0 4.66424e-05 -0.000493331 -0.00802187 0 -0.000836013 0.00795479 -0.0689789 0 0 0.056413 -4.02042e-05 0 -0.0366577 0.265388 0 0 0.00545193 0.0042228 0 -0.171244 0 0.017068 0 0 0.00167081 0 0 -0.724069 -0.00805337 0.00187246 0 -0.0176158 -0.0380157 0 0 0.221783 0 -0.0104625 0.386089 0.0200592 0 0 0.00199482 -0.00250591 0 -0.0116583 -0.0367508 -0.0141681 0.129388 0.00762181 0.0262163 0 0.014809 -0.0351109 -0.0255314 0.0238172 0.0379203 0 0 0 3.05726 -0.1174 0.431945 0.0679197 -0.12977 0.27966 0.000277981 -0.000555978 0.000921834 0.0215632 0 0 0 0 0 0 -0.031206 0 -0.203226 0 0 0 0 -0.506659 0.532574 0 0 -0.512932 0 -0.0612878 0 0.0124067 0 0 -0.07908 0 -0.531159 -0.0491742 -0.0745555 -0.0324396 0 0 0.221856 0 2.64084 0 -7.86573 -0.439065 0 -0.540202 -2.37274 -0.0101238 0 -0.0606849 0 0 0.041725 0 0.184133 -0.50866 0 0 -0.111489 0 0 -0.283751 1.62021 -0.739931 0 -0.98495 0 -1.98174 -0.00527915 0.0769152 0.49411 -0.0188993 0.146038 0.829326 -0.239218 -0.302786 -8.66868 -0.0701384 0 0 0 0.0911833 0.150555 0 0 0 0 -0.0607264 61.2388 5.17144 5.9796 1.54797 -1.49729 6.52566 0.255429 -0.236369 0.469192 0.530051 0 0 0 0 0 0 +257 0 0.0310395 0.182619 0.00280282 0.0341236 0.0860848 0.213491 -0.278863 -0.543675 0.0229862 -0.228919 0.0450138 -0.431441 -8.14888e-05 -0.862471 -0.00649457 -0.282814 -3.1823 -0.0139878 -0.00736097 2.26978 0.00420968 -0.36271 0.000104936 0.00374881 -0.368488 0.33227 0.00815141 -0.681013 -1.42554 -0.0674666 0.00160368 -0.112758 -0.444605 -0.0601148 -0.364481 0.00235431 0.0903324 -0.516643 0.096937 1.60171 -0.00126606 -0.0723434 0.00510405 -2.43507 -0.0186057 0.931112 -0.825152 -0.115607 -0.0133741 0.608295 -0.33955 -1.95744 0.0127135 -0.0124771 -0.0581047 -0.639101 -0.469402 -0.0647875 0.0590755 0.00279902 0.323519 -2.43822 0.443308 -0.00540291 -0.0687925 0.459436 0.233907 -0.0124431 -0.00295932 -0.0484414 -0.0966576 -0.0825675 0.0387268 0.670975 0.661705 -0.211642 4.75944 1.11565 2.22607 0.277707 -0.635055 5.51125 0.0979066 -0.250052 0.744925 1.85981 0.00167148 -0.00489678 0.0824585 -0.137566 2.82347 0 0 0 0 0 0.00280282 0.0341236 -0.000541412 0 0 0 0 -5.50107e-05 0 -0.000870485 0 0 -6.20235e-05 1.98957e-05 -0.000934644 0 -6.62281e-05 0.00184005 -0.012823 0 0 0.0119515 1.42803e-06 0 -0.00258698 0.0843112 0 0 -0.000392691 0.0197338 0 -0.0105745 0 0.00181403 0 0 0.000132479 0 0 -0.0774439 -0.000757453 -0.000806807 0 -0.00742398 -0.00582813 0 0 0.025555 0 -0.00134837 0.0554293 0.00226506 0 0 0.000185405 0.000750359 0 -0.00195825 -0.00366954 -0.00197542 -0.00996584 -0.00287599 0.00381473 0 7.30047e-05 -0.00196143 -0.0204669 0.00769318 0.0198028 0 0 0 0.328871 -0.0119323 0.0605303 0.00768947 -0.0146781 0.0314741 8.8872e-05 -0.000170123 0.000359685 0.00477491 0 0 0 0 0 0 0.0860848 0 0.213491 0 0 0 0 0.232276 -0.0777432 0 0 -0.393277 0 -0.0468383 0 -0.000470929 0 0 0.0634485 0 -0.771516 0.0652941 -0.0899888 0.00645759 0 0 -0.00929072 0 -0.444554 0 -1.22713 0.165116 0 0.380506 -0.709103 -0.0093464 0 0.0264872 0 0 -0.0176066 0 -0.0847049 -0.0128565 0 0 0.0233751 0 0 -0.110849 1.00181 -0.00539004 0 -0.218506 0 -0.226307 -0.111616 0.131571 0.359207 -0.120833 -0.0218948 0.30667 -0.0599111 -0.925835 -9.0383 0.0329871 0 0 0 -0.0577103 0.0908168 0 0 0 0 0.0167783 15.7866 2.50533 0.0635172 0.468183 -0.272357 2.04403 0.217727 -0.18283 0.348547 -0.360151 0 0 0 0 0 0 +258 0 0.377832 0.184146 -0.00439692 -0.0613918 0.357311 0.174723 0.099429 -0.764201 -0.038949 -0.00450075 -0.0207365 0.85173 0.000127637 1.17653 0.00227767 0.964349 5.0252 -0.0103283 0.0110741 -0.439358 -0.0152067 0.194231 -0.000163912 -0.079515 -0.15002 -0.0309263 -0.00658831 0.128239 1.18255 0.444694 -0.00258375 0.0297831 0.104594 0.0388861 0.0876809 -0.00100783 -0.0759499 -0.987706 0.00155206 0.329255 0.00207805 0.081688 0.000320425 2.72981 0.0327944 0.537985 0.446022 0.180306 0.000760156 2.58008 -0.188486 3.51829 -0.0190057 0.0199727 0.0560994 -0.978717 0.276509 0.100997 0.0871708 -0.0048714 0.531182 0.422409 0.177387 1.63867 -0.223762 0.414889 -0.0986378 -0.0303529 0.00501306 -0.107428 0.0747435 0.100535 0.121949 -1.19245 0.127205 0.817513 0.967315 -0.502357 3.00068 -0.152751 -0.00450833 -0.946519 0.574504 -0.598168 -0.208392 1.84504 -0.00294614 0.000886541 -0.0855951 0.0329451 -2.3422 0 0 0 0 0 -0.00439692 -0.0613918 0.00115408 0 0 0 0 0.00010778 0 -0.000907726 0 0 0.000890415 0.000546947 -0.000460421 0 -4.08105e-05 -0.00216985 -0.014759 0 0 -0.0136801 3.97692e-05 0 0.00438975 0.0330384 0 0 -0.000523722 -0.0172999 0 0.0169741 0 -0.00285206 0 0 -0.000288355 0 0 0.119289 0.00148389 0.0121096 0 0.0158041 0.0163616 0 0 -0.0418294 0 0.00308047 -0.0422729 -0.00712292 0 0 -0.00197824 -0.00139687 0 0.00404838 0.00820787 0.00615621 -0.0994636 -0.0195206 -0.00830493 0 -0.00335769 0.0163916 -0.00675283 -0.00537479 0.0364955 0 0 0 -0.533214 -0.00249729 -0.0249572 -0.0124102 0.0237202 -0.0505332 -0.0011875 0.00226595 -0.00486752 0.00669089 0 0 0 0 0 0 0.357311 0 0.174723 0 0 0 0 -0.827717 0.17216 0 0 0.165459 0 0.0160251 0 0.00251335 0 0 -0.0506569 0 -0.0205169 -0.231136 0.0724254 0.0196657 0 0 0.0570445 0 1.89722 0 -2.70401 0.280529 0 -1.74303 -0.686051 0.00445521 0 -0.111161 0 0 0.0165281 0 0.469658 0.38251 0 0 0.08253 0 0 0.0849735 -1.72226 0.44852 0 1.0053 0 1.13847 0.0783028 -0.211513 -0.416247 0.0305589 -0.288537 -0.378436 -0.1352 0.24111 7.79842 -0.0016611 0 0 0 -0.0415243 -0.0104115 0 0 0 0 0.0260954 19.9174 -0.423032 8.23928 0.0778286 -0.256613 2.1528 0.0890957 -0.0902026 -0.173722 1.49011 0 0 0 0 0 0 +259 0 1.83649 0.497033 0.0191048 0.216804 -0.0343152 -0.00881814 1.23664 1.60936 0.150876 -0.354036 0.129272 -0.273654 -0.000555851 -0.619275 -0.00948095 0.830968 5.96745 -0.0207662 -0.0213086 -0.659886 0.0265502 -0.176937 0.00071669 0.070611 0.110269 0.150997 -0.00625819 0.115374 0.551271 -0.322967 0.0107946 -0.0908396 -0.992752 -0.158583 0.126754 0.00688858 -0.0849003 -7.30025 0.287269 -0.596106 -0.00844516 -0.470858 0.0160123 0.317044 -0.119576 -0.517665 0.213809 -0.21322 -0.0423889 0.29219 -0.473728 -0.0649023 0.0393123 -0.0386077 0.011134 -0.424455 0.321857 0.0181499 0.0659757 0.0181137 -0.710945 0.500512 2.63374 1.98544 0.402413 0.0541255 -0.179513 -0.188162 -0.019427 0.0134951 -0.42556 0.019409 0.135495 -0.811863 0.25091 1.27775 36.8433 5.7875 1.22679 4.26453 -3.92116 11.3119 -0.760978 0.435326 0.404594 -0.523356 0.0107423 -0.0163904 0.0936562 -0.268413 -1.09187 0 0 0 0 0 0.0191048 0.216804 -0.00318089 0 0 0 0 -0.000332142 0 -0.00725633 0 0 0.0011355 0.00129552 -0.00517989 0 -0.000572565 -0.0030029 -0.0607905 0 0 0.15828 9.40174e-05 0 -0.0281079 0.211783 0 0 0.0228449 -0.0152305 0 -0.18111 0 0.0157755 0 0 0.00218577 0 0 -0.726154 -0.00457379 0.0157858 0 -0.0437144 -0.0395551 0 0 0.181093 0 -0.00727033 0.36574 0.0122618 0 0 -0.00218694 0.0048948 0 -0.00592764 -0.0310739 0.00197853 0.0792062 -0.0177066 0.0169908 0 0.00412335 -0.0213624 -0.0297513 0.0153175 0.0726569 0 0 0 3.00355 -0.156891 0.442136 0.070399 -0.134289 0.288945 -0.00148618 0.00283246 -0.00612094 0.0231106 0 0 0 0 0 0 -0.0343152 0 -0.00881814 0 0 0 0 -0.0546906 -0.0118383 0 0 -0.468744 0 -0.0430618 0 -0.00549995 0 0 0.943207 0 -0.681374 0.0168652 -0.139636 0.143394 0 0 0.0762029 0 12.4091 0 -8.88087 0.647925 0 -0.172591 -2.60749 -0.00917854 0 0.00728398 0 0 -0.028507 0 3.715 2.07511 0 0 0.305877 0 0 -0.0521207 2.4687 0.154219 0 -0.370946 0 0.0992157 -0.198982 0.170122 0.50398 0.102734 -0.374922 0.0552789 -0.156735 0.443297 2.91045 -0.130418 0 0 0 -0.0340988 0.0983945 0 0 0 0 0.0549856 65.2001 4.88649 4.99808 1.47092 -1.51725 6.74204 0.113083 -0.114427 0.376865 0.221191 0 0 0 0 0 0 +260 0 0 0 0 0 0.68805 0.378693 -2.37319 -7.34661 0 0 0.149715 0.797972 0 1.12755 -0.0507609 0 0 0 -0.0241995 5.90836 0 0 0 0 -1.15251 0 0 -0.42258 -7.64237 0.0917408 0 0.0419408 0 0 -0.385093 0.0291655 0 0 -0.300313 1.62734 0 0 -0.0703341 5.64995 0 0.438381 -1.89411 0.476477 0.188897 -5.09135 -0.106305 0 0.349243 -0.0712728 -1.12134 -1.2269 0.148596 -0.257713 0 0 2.19727 -0.549211 0 -2.22872 0.492928 1.77964 0 0 0 0 -0.663672 -1.1963 0 -0.747398 2.49376 0 0 0 16.8725 0 1.54323 14.5312 0 0.759727 2.03968 22.8595 0 -0.0713188 4.62866 -2.78862 29.3541 0 0 0 0.0205373 0.0374084 0 0 0 0.0625334 0.0738784 0 0.0123222 0 0.0140567 -0.119562 0 0 0 0 -0.185146 0 -0.0512173 0 -0.604334 0 0.379498 0.906607 0 -0.0114775 0 0 -0.620623 0.00328773 0.0986804 0 0.00940062 0 0.00484707 0.155872 -0.0875597 0.0417709 -0.00822107 0 0.00104214 0 0 0 0.000640735 0 0 -0.0090214 0.00569874 0.128093 -0.00126453 0 0 -0.0350852 0 -0.00974637 0 0 0.0478128 -0.0457874 0.197593 -0.00479162 0 0 -0.0255761 -0.0372489 -0.00784559 -0.295039 0.228021 0 -0.232335 -0.0251631 -0.19419 0 0 0 1.73781 0 -0.0573345 1.82538 0 0.0112389 0.0316479 0.703292 0 -0.00471518 0.0381335 -0.0838768 0.946955 0 0.68805 0.0205373 0.378693 0.0374084 0.852319 0.186379 0.273349 0.529217 1.56336 -0.0677056 -0.0345059 -0.552324 -0.0141423 -0.0858213 0.0770678 0.140976 -0.0333847 -0.280883 -0.151084 1.49277 0.631377 -0.0745836 -0.30655 -0.0374957 0.047646 -0.0877035 0.772646 0.0354137 1.57747 -0.0500098 6.40089 0.397258 0.0175724 0.287029 2.05681 -0.0455969 0.00433487 0.0456274 0.00275793 -0.544035 0.294883 -0.01431 0.56235 1.59182 -0.0102422 0.0134775 0.152351 0.228989 -8.41797e-05 0.473107 3.81191 -1.04989 0.0263523 0.647379 -0.134493 1.48595 0.706453 -0.390356 0.134148 0.417202 0.41887 -0.0420972 -0.502082 -0.937178 -1.20818 -0.0155731 0.766459 -0.103923 -0.0624512 0.103197 0.0832044 -0.0593692 0.154588 -0.385652 0.0173532 -0.248257 -60.9388 -1.81087 -7.77665 -1.13398 1.3645 -5.62603 0.408059 -0.0415675 0.628485 0.0924715 0.216867 -0.000912153 0.281789 0.125823 0.700853 0 +261 0 0 0 0 0 0.0167241 0.144709 0.491483 2.42723 0 0 0.435369 2.37192 0 5.12821 0.416658 0 0 0 0.835921 -5.00823 0 0 0 0 0.710995 0 0 -0.71571 -1.65085 1.41175 0 1.49147 0 0 0.189011 0.115658 0 0 1.79322 -0.611905 0 0 0.484104 7.22946 0 0.389392 -1.16978 2.5487 -0.899313 3.46079 -0.456983 0 -0.735405 1.25055 -0.249908 -6.50057 -2.07582 -0.954941 0 0 0.202883 1.71051 0 -2.34304 -1.92595 1.29059 0 0 0 0 0.623051 1.55342 0 -1.90284 3.03396 0 0 0 -5.97117 0 -3.71813 6.25809 0 -1.53476 1.15608 0.560425 0 -1.86124 0.600597 -2.6839 10.7467 0 0 0 -0.0926188 -0.057447 0 0 0 -0.103414 0.0643917 0 -0.0200191 0 -0.00970971 0.119398 0 0 0 0 0.133437 0 0.0580503 0 0.303102 0 -0.58288 -0.0989186 0 0.00654294 0 0 0.090391 0.00149155 -0.00272136 0 0.0105572 0 0.0049641 0.0299087 0.0318023 0.0193429 0.0288265 0 -0.000703394 0 0 0 0.000784607 0 0 -0.00320049 0.0117082 -0.302833 0.0131177 0 0 -0.0036014 0 -0.00557721 0 0 0.00551471 -0.0145976 -0.021678 0.0339601 0 0 -0.0700044 0.04266 0.0112457 0.0672845 -0.0479855 0 0.112384 -0.00671782 -0.0354028 0 0 0 -0.802379 0 0.00797408 -0.52488 0 0.00260135 -0.036608 -0.23046 0 -0.00173311 -0.0002881 0.0119075 -0.310344 0 0.0167241 -0.0926188 0.144709 -0.057447 -0.411745 -0.0260388 -0.548577 0.41954 -0.185924 0.0801754 -0.0215083 0.661062 0.0167948 0.17738 -0.110964 -0.01664 0.0122154 0.339167 -1.698 -0.963568 0.511808 -0.0207808 0.327581 -0.193281 -0.0626929 -0.0102818 0.163766 -0.00801626 0.990234 -0.0374596 3.32102 0.80894 -0.0222881 -0.0327702 1.67206 0.0832497 -0.00250947 0.0276543 -0.00634578 -0.258868 -0.129384 0.000709613 1.20077 -3.72773 -0.000610431 -0.0190914 -0.428186 -0.0888992 -0.107334 -0.491048 0.465265 0.567132 -0.0797026 1.88877 0.180124 1.80005 -0.521432 0.42035 -0.388101 0.330878 0.390563 -0.921998 0.118288 -1.03586 -10.8453 0.254998 0.123969 0.122901 0.0992962 -0.0531797 -0.423269 0.00457619 -0.16603 0.179414 0.0170383 0.321012 -31.6173 -5.45043 -2.71204 -2.89657 0.714729 -2.29772 -0.490467 0.0697954 -0.489327 0.181289 -0.261869 0.0258208 -0.275977 -0.0121454 0.716466 0 +262 0 0 0 0 0 0.23002 0.269164 0.409209 0.222344 0 0 0.108232 0.158113 0 0.608377 0.0452219 0 0 0 -0.134294 -8.39174 0 0 0 0 -0.303584 0 0 -0.762286 4.49096 0.462871 0 0.590971 0 0 -0.103397 0.061602 0 0 -1.0884 -1.64154 0 0 -0.181431 -0.763792 0 0.298325 -0.00100921 0.766583 -0.0185213 2.19449 -0.0669431 0 0.301611 -0.369101 0.644867 -2.98019 -1.29194 -0.772079 0 0 -0.0227512 5.3674 0 0.494466 -0.487089 -0.303831 0 0 0 0 0.270047 0.458414 0 3.28222 -0.959805 0 0 0 0.0520782 0 1.44907 -8.28067 0 -0.019613 -1.11969 -2.672 0 0.458417 -2.16981 5.99031 -21.3566 0 0 0 0.303236 0.0669646 0 0 0 -0.0287686 0.111888 0 0.00385144 0 0.0217246 -0.0725109 0 0 0 0 -0.0980866 0 -0.0504439 0 -0.0198163 0 -0.450672 -0.364986 0 -0.00744911 0 0 -0.117809 0.00677733 -0.0416057 0 0.0173729 0 0.00834253 -0.255985 -0.0388178 0.0959251 -0.0552676 0 0.00156515 0 0 0 0.0012822 0 0 -0.0181503 0.0120558 0.115109 0.0796151 0 0 0.0185654 0 -0.0154618 0 0 0.0208652 -0.0549159 -0.105538 0.0288433 0 0 0.192693 0.000557827 -0.00987898 0.188747 -0.223624 0 0.211707 0.00761772 -0.0816344 0 0 0 -0.338826 0 -0.188933 -0.0951257 0 0.0132154 -0.0852845 -0.0939209 0 -0.00880951 0.0217021 -0.0738754 -0.161184 0 0.23002 0.303236 0.269164 0.0669646 -0.811681 -0.231922 0.396125 -0.390922 2.8104 -0.0543255 -0.030219 0.190166 -0.0141973 -0.063239 0.0896834 0.29399 -0.0786184 -0.151423 -2.24796 -0.875323 -0.273598 0.0378166 -0.0341821 -0.270373 -0.304097 0.403084 1.52969 -0.0299956 9.13667 -0.624458 -1.5936 2.33291 0.0196895 -0.870471 -0.743302 -0.0283951 -0.0102816 -0.0372783 -0.0957116 2.40412 0.536452 0.0624834 4.56938 -4.51972 -0.00724452 -0.0748299 -0.557606 -0.151466 -0.273233 -0.792286 -2.52058 -1.00062 0.177157 5.62734 -0.139945 0.206098 0.620547 0.639472 -0.0593439 -0.395285 -1.28014 1.19197 0.12795 -4.90813 -15.4203 -0.0285975 0.329794 0.0287554 -0.2549 0.781461 0.155684 0.181207 0.0492142 0.0699417 -0.0814762 -0.830557 15.1717 0.200189 6.12529 1.33601 1.80384 -7.09249 0.0316231 0.426404 -1.33137 -0.0378581 0.116913 0.234042 -0.535998 1.05016 -4.10277 0 +263 0 1.74655 0.569372 -0.000108155 -0.045138 0.358487 0.257954 -0.592158 -3.35157 -0.00300994 -0.132836 -0.180012 -0.43993 -0.000639879 0.0371189 -0.00412306 3.38381 11.8743 0.0562215 -0.0426093 0.180934 0.043275 0.059541 0.000828019 0.0704574 -0.701041 1.11596 0.0866008 -0.127271 0.235396 -0.0490074 0.0037276 -0.0704767 -1.01025 0.449134 -0.221868 -0.0264481 0.150204 -8.88215 -0.473145 0.0712504 -0.00282491 0.816781 -0.0684049 -0.0484292 0.00243722 0.175753 0.0468414 -0.423802 0.186056 0.539205 -0.392389 -17.0349 0.0434959 -0.015828 0.049832 0.778495 0.203378 0.0801459 -0.166513 0.0131642 -2.16436 0.282819 -1.82517 1.15618 -0.149899 -2.17172 -1.13028 0.336933 -0.0111608 -0.624372 -0.341166 -0.547598 -0.000357891 0.576307 -2.08326 -1.41512 37.7985 4.70383 13.3499 4.96695 -1.66778 12.9455 -0.978836 0.637681 1.14918 5.83035 -0.000668423 0.065177 -0.0410309 1.72754 -1.69053 0 0 0 0 0 -0.000108155 -0.045138 0.00601351 0 0 0 0 0.000704965 0 -0.0508669 0 0 0.00474853 0.00822825 -0.0471865 0 -0.00608572 0.0345628 -0.400771 0 0 0.0964969 0.000600467 0 -0.0531847 1.61469 0 0 0.0109836 0.286394 0 -0.238913 0 0.00964428 0 0 0.00157804 0 0 -1.03353 0.0110833 0.0658566 0 0.0940923 -0.0149807 0 0 -0.0590224 0 0.0121258 -0.498097 -0.0299969 0 0 -0.00942457 -0.0101228 0 0.00969839 -0.0790753 0.00516042 1.00894 -0.0808437 -0.0433265 0 0.0290527 -0.0831103 0.291664 -0.0150475 -0.269308 0 0 0 6.19147 -0.0480012 1.68984 0.0689583 -0.135823 0.818333 -0.00623928 0.0104335 -0.0181891 0.321689 0 0 0 0 0 0 0.358487 0 0.257954 0 0 0 0 -0.244459 -0.81915 0 0 -0.177607 0 -0.0359661 0 -0.0602608 0 0 0.735287 0 -0.815653 -0.0930306 -0.0358705 0.0676846 0 0 -0.464827 0 5.42484 0 -6.56467 0.0686065 0 -0.876103 -2.06586 -0.00772539 0 -0.031531 0 0 -0.110627 0 0.928714 2.16045 0 0 0.228132 0 0 0.551662 -3.53439 -0.798192 0 -0.411835 0 -2.96537 -0.0817087 -0.151978 -0.333527 -0.0186084 0.770057 -0.199144 -0.0967024 1.43811 6.6217 -0.0758721 0 0 0 -0.142579 0.0772779 0 0 0 0 0.114732 55.9748 4.37227 8.55833 2.0976 -1.27598 6.76297 0.0549409 -0.0342685 0.164866 0.832262 0 0 0 0 0 0 +264 0 -0.476125 0.0347301 -0.0187796 -0.00412598 -0.118234 -0.365115 1.82997 4.18483 -0.201514 0.802004 0.156012 0.65682 0.00177751 -1.45638 -0.0137957 1.9933 7.37675 0.125627 0.0228574 -0.715301 0.00772947 0.204106 -0.00277946 0.252156 1.42684 0.201595 -0.0240055 0.7482 2.17969 -0.179322 -0.0240059 -0.110625 1.49279 -0.312137 0.664496 0.0262949 0.381763 6.23769 0.327842 -0.629373 0.0134849 0.279756 0.0513224 -0.976713 0.0786956 -0.778814 1.39421 0.244302 -0.164612 1.49449 -0.655103 -7.6711 0.0418857 0.0393168 0.00438306 -1.82609 0.0660735 -0.0149459 -0.332168 -0.0180917 -1.03321 0.405422 -3.84595 -3.2166 -1.05787 -1.13366 -0.679212 0.790024 0.0252032 -0.171306 0.366539 -0.345495 -0.128871 0.719231 -1.44519 0.505529 -32.0241 -4.72459 -16.5097 -3.74621 0.57873 -18.759 -0.593914 -0.016329 -0.957742 -17.7081 -0.0215827 -0.0354091 -0.581479 -0.912791 -15.6538 0 0 0 0 0 -0.0187796 -0.00412598 0.000723732 0 0 0 0 -0.000177779 0 0.00549947 0 0 -0.00122815 -0.00651309 0.0156444 0 0.00153522 0.0532965 0.0883046 0 0 -0.309254 -0.000459222 0 0.0498546 0.477596 0 0 -0.0550108 0.222439 0 0.148893 0 -0.0240054 0 0 -0.0049534 0 0 0.0914429 -0.00245648 -0.0206307 0 0.00959173 0.0249348 0 0 -0.337433 0 0.00158027 -0.247422 -0.0141776 0 0 0.00211303 -0.00117475 0 0.0193545 -0.0602514 -0.0140924 -0.00534879 0.0101328 -0.0229936 0 0.0039387 0.072368 0.146619 -0.0186094 -0.155106 0 0 0 -0.731573 0.239086 -0.509363 -0.0295364 0.0754845 -0.0281754 0.00139903 -0.00581195 0.0286196 -0.0741525 0 0 0 0 0 0 -0.118234 0 -0.365115 0 0 0 0 -0.418252 -0.281034 0 0 0.0516387 0 -0.0053657 0 -0.00664908 0 0 0.318404 0 0.19577 -0.02976 -0.0904854 0.028292 0 0 -0.115572 0 -2.12406 0 0.0907881 -0.567972 0 -0.0937491 -0.182279 -0.0250744 0 -0.0467549 0 0 -0.01775 0 -1.11211 -0.284243 0 0 -0.0451116 0 0 0.059361 -2.50503 -0.203727 0 0.118912 0 -1.22681 0.0550989 -0.151411 -0.0944284 0.0680384 -0.0600848 0.0848608 -0.0670285 -0.211312 0.564396 -0.0344759 0 0 0 -0.0908081 0.0339213 0 0 0 0 -0.000781694 4.01265 -0.0156742 1.73156 0.243983 0.157518 0.390896 -0.0317719 -0.000621241 -0.0307627 0.3162 0 0 0 0 0 0 +265 0 0.305573 0.207418 0.0359562 0.311094 -0.3916 -0.139657 0.62079 2.03359 0.169691 -0.0370704 0.209397 -0.689065 -0.000826324 -0.11655 -0.010683 2.64168 6.43193 0.202098 -0.031479 2.01533 0.0509762 -0.0380887 0.00145609 0.0159705 0.0857658 0.941775 0.0468688 0.165564 0.87618 -0.0529752 0.0151288 -0.0718124 0.283132 0.489783 0.014203 0.0105215 -0.0917526 1.66779 0.217139 0.525532 -0.00521279 1.02785 0.0098798 -2.13971 -0.0119367 -0.0411693 0.271849 -0.249536 0.0522404 -0.687674 0.489558 -12.8776 -0.019183 -0.0036455 -0.481119 2.08656 0.13401 0.0577421 -0.233991 -0.0184184 0.0366647 -0.835959 -2.11093 0.879839 1.19148 -0.611526 -0.93115 -0.518929 -0.00458948 -0.403992 0.184454 0.149202 0.121007 0.0807588 0.784437 -1.87698 -7.2002 -0.525253 -7.27793 -0.0844875 0.00643988 -6.81107 -0.377939 -0.172316 -0.0926724 -7.52415 0.00327371 -0.031224 -0.077286 -0.673415 -6.29242 0 0 0 0 0 0.0359562 0.311094 0.00650442 0 0 0 0 0.000585176 0 -0.000382316 0 0 0.00565137 0.00879641 0.000814846 0 7.63845e-05 -0.0487947 0.0137231 0 0 -0.278357 0.000631333 0 -0.017566 -0.642786 0 0 -0.0343071 -0.214139 0 -0.0368002 0 -0.0205493 0 0 -0.00218214 0 0 0.0637004 0.00743668 0.0787019 0 0.0851447 0.047398 0 0 -0.0553054 0 0.0134103 0.515902 -0.0188293 0 0 -0.0117325 -0.0113494 0 0.0252755 -0.0560713 0.0316403 -0.694181 -0.0343773 -0.0207212 0 0.013645 0.0881269 -0.119688 0.000816548 0.312846 0 0 0 -2.22668 -0.272226 -0.384558 0.0160603 -0.0133171 -0.384186 -0.00732076 0.0119298 -0.0233068 -0.0997196 0 0 0 0 0 0 -0.3916 0 -0.139657 0 0 0 0 0.496257 -1.21871 0 0 -1.04628 0 -0.13629 0 -0.123714 0 0 0.929803 0 -0.444416 0.1884 -0.431269 0.10562 0 0 -0.709541 0 -5.12955 0 -1.27011 -1.22531 0 1.43845 -0.670441 -0.0614516 0 0.0708153 0 0 -0.222321 0 -2.65438 1.55376 0 0 0.171799 0 0 0.46671 1.0272 0.896729 0 -3.22644 0 -0.179772 -0.321683 -0.191425 0.657079 -0.307337 -0.377503 -0.148888 0.144991 2.66437 7.3739 -0.0181841 0 0 0 -0.354848 0.120394 0 0 0 0 0.338572 12.8886 6.06974 -5.4574 1.04107 -0.394826 1.30927 0.412972 -0.277617 0.969749 -1.39336 0 0 0 0 0 0 +266 0 1.30736 0.33236 0.081335 0.0315011 0.430181 -0.101713 0.565037 0.690138 0.430214 -1.0252 -0.0212326 0.333624 -0.0561114 -0.632333 -0.00306533 -1.00127 -0.586317 -0.459501 0.0572819 -2.89407 -0.172677 -0.459371 0.0697651 -0.34791 0.525079 -0.541861 -0.0100516 0.417551 1.43509 -0.0874061 0.194724 0.0597701 -1.55735 -0.0249613 0.360663 0.033451 0.446459 -6.27535 0.448735 -1.33759 -0.173991 1.54491 0.198445 -0.152757 -0.502483 -0.632811 0.807028 0.561884 -0.591275 2.64598 -0.402507 -0.263065 -0.0881348 -0.106094 0.767303 -1.59573 -0.511604 0.437844 0.421827 0.319953 -0.819962 2.09578 3.24133 -0.319364 -0.819468 -0.626151 1.58529 0.396916 -0.257269 0.78662 0.178046 1.14032 -0.243473 2.38995 -1.98195 -0.928212 35.6155 9.71226 1.35682 6.70233 -3.19918 6.17543 1.18417 -0.653674 0.214026 -2.51493 0.771263 -0.720682 -0.193653 0.264095 -5.18481 0 0 0 0 0 0.081335 0.0315011 0.0108548 0 0 0 0 0.00307206 0 -0.0356395 0 0 0.00437992 0.034214 -0.0937757 0 -0.0094934 -0.0397721 -0.335648 0 0 0.121461 0.00249511 0 -0.157439 2.29302 0 0 0.00422114 0.385293 0 -0.335316 0 0.0329967 0 0 0.0031266 0 0 -1.07328 0.0426068 0.0574132 0 0.155654 0.0128935 0 0 0.016929 0 0.0170556 -0.180744 -0.0592225 0 0 -0.00917658 -0.0217014 0 0.00044154 -0.0415184 0.00419599 0.341853 -0.126306 -0.0162968 0 0.0289397 0.0957749 0.195952 -0.0568461 -0.0276605 0 0 0 6.39716 -0.0376554 1.36542 0.0653584 -0.13417 0.83119 -0.006148 0.0112016 -0.0144992 0.22356 0 0 0 0 0 0 0.430181 0 -0.101713 0 0 0 0 -0.65573 0.753336 0 0 0.0905839 0 0.00145908 0 -1.75299e-05 0 0 -0.463992 0 0.134524 -0.132572 0.224515 -0.0581986 0 0 0.0886449 0 3.40319 0 -3.32555 -0.249024 0 -1.13478 -0.522106 0.0265658 0 -0.0858562 0 0 0.0846349 0 0.0103244 -0.746411 0 0 -0.0975773 0 0 -0.141852 1.19599 -0.637128 0 1.05744 0 -0.526621 -0.106258 0.587834 -0.211031 0.0520456 0.284949 1.25164 -0.214967 -1.18681 -8.39688 -0.0643769 0 0 0 0.254137 0.0823351 0 0 0 0 -0.272457 31.6813 1.85786 7.50537 1.186 -0.812356 4.15614 0.00542879 -0.0478637 -0.0641214 1.16225 0 0 0 0 0 0 +267 0 -0.27819 -0.246107 -0.148031 -0.169424 -0.0560917 0.117908 -1.59028 -3.16064 -0.938753 3.48442 -0.578621 -2.25148 0.0953694 -3.978 -0.416093 -0.0808383 -1.77638 0.973212 -0.636846 3.55947 0.365785 0.681241 -0.122119 1.16243 -1.0703 0.108259 0.0116278 0.00231981 0.384552 -1.05051 -0.360619 -1.61308 2.07311 0.0508221 -0.686676 -0.208011 -0.230626 6.83205 -1.14121 1.39416 0.291327 -0.436352 -0.395937 -8.24711 0.836707 0.446905 0.190488 -2.72998 0.943094 -3.26286 2.04222 -0.43986 0.88144 -0.643765 0.457189 6.56355 2.08382 -0.0428979 -1.83528 -0.530788 1.04717 0.276508 -6.83998 4.05368 1.76775 0.543463 -3.81494 -0.283541 0.539991 -2.31294 0.303926 -1.27046 0.582474 -0.2081 -0.202974 0.673764 -37.4299 -18.1358 10.4137 -13.4803 9.33389 -6.166 -4.70999 3.48652 -4.85228 5.5205 -1.28426 1.50241 -1.80659 2.34951 -1.38934 0 0 0 0 0 -0.148031 -0.169424 0.00352382 0 0 0 0 -6.5662e-05 0 0.00719543 0 0 0.00147888 -0.0356622 0.0704718 0 0.00904031 0.211236 0.0287289 0 0 -0.314519 -0.00259005 0 0.288542 -0.315042 0 0 -0.0668445 0.141995 0 0.469839 0 -0.0779207 0 0 -0.0195549 0 0 0.894741 -0.00101506 0.0200632 0 0.0458737 0.0527699 0 0 -0.303867 0 0.018983 -0.238751 -0.0369802 0 0 -0.00157215 0.000910072 0 0.0168827 -0.00139756 0.00323118 0.307736 0.00379395 -0.0240518 0 0.00506867 0.109032 -0.00320021 0.0709054 0.0651096 0 0 0 -4.49311 0.13073 -0.653206 -0.0798269 0.164477 -0.482283 -0.00125247 -2.9786e-05 0.00420512 -0.0608168 0 0 0 0 0 0 -0.0560917 0 0.117908 0 0 0 0 0.178715 -1.81449 0 0 0.52351 0 0.0896298 0 -0.111686 0 0 0.992978 0 -0.582228 -0.0167838 0.122627 0.103219 0 0 -0.716653 0 -7.60954 0 -0.31757 -0.940453 0 0.0595158 -0.548807 0.0262265 0 0.0127741 0 0 -0.273763 0 -2.4098 1.71005 0 0 0.181713 0 0 0.390802 -2.70472 0.088272 0 -3.52167 0 -0.579 -0.375014 -0.00120059 -1.34749 0.0606947 1.65658 -1.15966 0.177631 2.91617 12.4705 0.193303 0 0 0 -0.328131 -0.223158 0 0 0 0 0.343835 2.38332 -3.53675 2.29912 -0.990164 1.02551 0.210879 -0.394044 0.301664 -0.53201 -0.107341 0 0 0 0 0 0 +268 0 -0.621531 -0.104325 0.0850129 0.19032 -0.311716 -0.348605 -0.255323 1.27177 0.60706 -1.68672 -0.525778 -1.02316 -0.0491498 -2.20037 -0.245036 -2.05957 -8.38689 -0.485832 -0.521386 1.16135 -0.181104 -0.298812 0.0669375 -0.555708 0.511142 -0.497231 0.0179393 0.672462 1.39113 -0.719761 0.208386 -1.03348 -0.447223 -0.0736589 0.169936 -0.101189 0.390059 0.739729 -0.857067 -0.198436 -0.109007 0.778028 -0.166374 -4.45844 -0.128208 -0.633537 0.881214 -2.05655 0.435735 -2.61518 -0.330171 3.87109 0.786574 -0.560446 0.227611 4.27194 0.770864 -0.305037 0.631673 0.145255 -1.02918 0.319175 -1.50801 -2.74396 0.257092 0.71332 0.969474 0.0661158 -0.341397 0.634476 -0.963794 -0.964834 -0.178058 -0.0108381 -0.386005 -2.2794 -9.35122 1.99998 -5.43125 1.74192 0.306892 -5.02316 1.55084 -1.1007 2.33359 -5.14916 0.196787 0.561745 -0.836022 2.59003 -5.02599 0 0 0 0 0 0.0850129 0.19032 0.0172213 0 0 0 0 0.00504615 0 -0.0142506 0 0 0.00777589 0.0428383 -0.0676327 0 -0.00809688 -0.139208 -0.113468 0 0 -0.48554 0.00310639 0 -0.117427 -0.739171 0 0 -0.0633471 -0.229454 0 -0.0666042 0 -0.110029 0 0 -0.012181 0 0 0.403285 0.0694338 0.108448 0 0.236169 0.102563 0 0 -0.148634 0 0.0335961 -0.329692 -0.0501112 0 0 -0.0163312 -0.0306934 0 0.0313995 0.00299037 0.0456122 -0.359595 -0.00405914 -0.0516216 0 0.0244592 0.0740619 -0.0272621 -0.0150149 0.0485632 0 0 0 -2.38912 -0.216686 -0.0169995 -0.0280069 0.0586366 -0.297217 -0.0102779 0.0189355 -0.0419599 0.0215357 0 0 0 0 0 0 -0.311716 0 -0.348605 0 0 0 0 0.373998 -0.244946 0 0 -0.306566 0 -0.0172319 0 -0.0663733 0 0 0.470538 0 0.7289 0.154289 0.195226 0.0506599 0 0 -0.39747 0 -3.89747 0 4.79228 -0.881791 0 1.41244 2.02851 0.0406895 0 0.036336 0 0 -0.039657 0 -1.78502 0.39918 0 0 0.0279676 0 0 0.405845 -2.93057 0.578649 0 -1.03332 0 -0.638758 0.122289 -0.521198 -0.070908 -0.0439827 0.129505 -0.710389 0.0366435 0.222438 1.97268 0.133539 0 0 0 -0.324749 -0.0249761 0 0 0 0 0.10437 -39.4329 -1.37754 -8.83839 -1.15877 0.922839 -4.62809 0.170585 -0.171535 0.104506 -1.22618 0 0 0 0 0 0 +269 0 0 0 0 0 0.0116619 -0.318508 1.14057 1.53517 0 0 0.0113977 -0.985987 0 -0.543878 -0.00467029 0 0 0 0.221131 -2.09559 0 0 0 0 0.5356 0 0 0.642557 -0.411952 -0.495312 0 -0.115325 0 0 0.362481 0.0240559 0 0 -0.219543 -1.63272 0 0 0.0550139 -2.60077 0 -1.22559 0.476485 0.102489 -0.0556608 0.260539 0.138042 0 0.194688 0.38576 -0.374942 -0.855518 -0.644992 -1.27013 0 0 0.402263 1.45325 0 -0.00727314 -0.159423 -1.31429 0 0 0 0 0.913676 -0.180602 0 0.210477 0.373718 0 0 0 -2.61188 0 0.325655 -0.637302 0 -0.0507591 1.2025 -4.93061 0 0.0538004 0.998749 -1.86566 3.9333 0 0 0 0.111313 0.00493309 0 0 0 -0.0910859 -0.0185246 0 -0.0172426 0 -0.00162106 0.0148044 0 0 0 0 0.0347671 0 0.00400211 0 -0.0218981 0 -0.499093 -0.695038 0 0.00110042 0 0 -0.0324352 -0.00116944 -0.109221 0 -0.00559448 0 -0.000946258 -0.101531 -0.00207316 -0.0235013 -0.0127299 0 -7.68266e-05 0 0 0 -0.00028282 0 0 0.00100211 0.000489888 -0.0979861 -0.00419469 0 0 0.0105287 0 0.00305985 0 0 0.0259687 0.000168407 -0.0159267 0.0135484 0 0 -0.0749122 -0.0768269 -0.0135923 -0.223461 -0.0187341 0 0.0399568 -8.91952e-05 -0.217197 0 0 0 0.36265 0 0.0753528 0.0344258 0 0.00541978 0.00360947 -0.0271577 0 0.000646757 7.65531e-05 0.0137544 -0.0299198 0 0.0116619 0.111313 -0.318508 0.00493309 0.0696481 0.0107239 0.354052 0.114374 0.0771461 0.0192536 -0.024069 0.00938661 0.00570636 0.0280292 0.035733 -0.00781368 0.0240525 0.0666089 0.381368 -0.378506 -0.104938 -0.0477767 -0.0311024 0.0614553 -0.0738852 -0.135198 0.0357248 -0.00729647 2.99026 -0.00542258 -0.898322 -0.286643 0.00291863 -0.0815797 -0.376679 0.0026452 0.00641388 0.017718 0.00311165 -0.884488 0.00971448 -0.0156035 0.891849 -0.15614 0.00189376 0.0186394 -0.0871559 -0.0665348 0.178316 1.33423 -0.234761 -0.3737 0.0506747 -0.090219 -0.196404 -1.01013 0.0996004 -0.105572 -0.584626 0.0398542 0.739775 -0.100112 -0.154474 -0.241623 -2.03599 0.355398 -0.0585474 -0.00540407 0.285245 -0.275956 -0.108913 0.024975 0.00984537 -0.340539 0.0368578 -0.224828 1.45851 -0.0863018 2.78512 -0.00704615 0.238044 2.17545 0.00534273 -0.00683682 0.462097 0.380545 -0.00697389 -0.0243734 0.363395 -0.343931 1.10945 0 +270 0 0 0 0 0 -0.0488866 0.0724026 0.473947 1.08482 0 0 -0.0898117 -0.0936738 0 0.256048 0.118602 0 0 0 0.0838109 -9.00742 0 0 0 0 -0.0455563 0 0 -0.650944 0.753825 0.228659 0 0.846183 0 0 -0.0403703 -0.00361524 0 0 -0.637527 -2.29198 0 0 -0.186806 -1.47761 0 -0.283008 -0.536831 1.802 0.219635 0.272171 0.965505 0 0.11734 0.0733345 0.162251 -2.30178 -0.802643 -1.23221 0 0 0.797502 5.22092 0 1.05922 -0.0417952 -0.926228 0 0 0 0 0.783949 0.363161 0 0.272569 -0.594088 0 0 0 -1.1705 0 0.817657 -1.02892 0 0.639214 -0.164648 -1.88679 0 0.63111 -0.13745 1.13949 -3.718 0 0 0 0.0920529 0.0349667 0 0 0 -0.0200631 -0.0378282 0 0.00113517 0 0.000665172 0.0495184 0 0 0 0 0.0502485 0 0.0215357 0 0.258159 0 -0.278187 -0.363205 0 -0.00557243 0 0 -0.0549144 -0.000422981 -0.0585377 0 -0.00759252 0 -0.00189981 -0.108691 -0.0223946 -0.00384061 -0.0237772 0 1.34598e-05 0 0 0 -0.000380698 0 0 0.00157385 0.000984797 0.172624 0.0332747 0 0 -0.0088926 0 0.00648778 0 0 -0.00296572 0.0113148 -0.452279 -0.00615651 0 0 -0.0104701 -0.0578414 0.003221 0.0397048 -0.540641 0 0.266306 -0.0121093 -0.410643 0 0 0 0.0662416 0 0.0222826 -0.113128 0 0.00350729 -0.00604987 -0.264849 0 0.000243983 -0.00159466 0.000318102 -0.236746 0 -0.0488866 0.0920529 0.0724026 0.0349667 -0.505358 -0.069747 0.712375 0.0462967 1.4762 0.00604198 -0.0436726 0.34147 -0.00116369 0.0381141 0.151884 0.134296 -0.0688334 0.0702448 -1.45203 0.563729 -0.193156 0.0927795 0.191839 -0.233186 -0.116123 0.113839 0.753732 0.0169754 1.58674 -0.171863 -1.41161 0.425863 0.0281105 0.506803 -0.468647 0.0174329 -0.00385064 -0.0179292 -0.0364448 0.792408 0.298643 0.00920253 0.515051 -1.80601 -0.0123227 -0.0137067 -0.299035 0.1163 0.0397449 -0.0706166 -1.21771 0.323613 0.43202 3.78496 -0.546041 -0.521166 0.0455298 -0.165238 -0.279463 0.0446148 0.0460467 0.290178 -0.204079 -2.4375 -3.7474 -0.0306911 -0.304803 -0.0277425 -0.110663 1.0772 0.116234 -0.109894 0.0131369 0.317504 0.0176443 -1.09919 2.29188 -0.400844 -2.94913 0.0168729 -0.0689673 -1.3551 -0.0117232 -0.0921586 0.0778178 -0.723665 -0.00735456 -0.0179454 0.00977815 -0.034111 -0.281853 0 +271 0 0 0 0 0 -0.131625 0.122989 -0.14578 -0.960282 0 0 0.361323 0.508826 0 1.33793 0.249962 0 0 0 0.31309 -4.51231 0 0 0 0 -0.324326 0 0 -0.516489 -3.1815 0.411806 0 1.39709 0 0 -0.0716068 0.0142667 0 0 0.412703 -1.64102 0 0 -0.204008 1.8087 0 -0.1027 -1.23465 2.43015 0.159522 -0.23587 0.648272 0 -0.766282 0.00344873 0.109955 -0.764392 -0.298652 0.877904 0 0 0.973564 -0.475223 0 1.0574 0.435796 0.910649 0 0 0 0 -0.109561 0.613866 0 -1.23269 0.124679 0 0 0 2.91628 0 0.451789 3.64255 0 0.361243 1.57264 0.683956 0 -0.289955 2.46212 -3.90437 12.0441 0 0 0 -0.185192 0.0269538 0 0 0 -0.00159019 0.0423561 0 0.0110586 0 0.00141689 -0.0273631 0 0 0 0 0.116664 0 0.0294808 0 0.174435 0 -0.0877008 -0.299085 0 -0.0215012 0 0 -0.266854 0.00145229 -0.0983695 0 0.0154257 0 0.00213641 -0.230872 -0.0866374 0.0321079 -0.0745785 0 4.54063e-05 0 0 0 0.000774807 0 0 -0.00415628 -0.00142548 -0.109674 0.0495174 0 0 -0.00500464 0 -0.00716898 0 0 0.0478499 -0.0196994 0.0923914 -0.0667304 0 0 0.172506 0.140921 0.0345801 0.357769 0.327478 0 0.311233 -0.000162365 -0.1245 0 0 0 -1.28294 0 -0.147725 -0.121359 0 -0.0111999 -0.0356293 -0.17494 0 -0.00136976 -0.00448757 -0.0237611 0.171548 0 -0.131625 -0.185192 0.122989 0.0269538 -0.0220171 0.027068 -0.0149798 0.123113 1.57142 -0.0441207 0.0358139 -0.484056 -0.0206364 -0.143741 0.0817991 0.245563 -0.0476704 -0.0273736 -1.75614 -0.239292 -0.188411 -0.0483052 -0.405617 -0.195492 0.168226 -0.0875298 1.57174 -0.0171911 3.31894 0.227955 -1.1703 0.834616 0.0225326 -0.0419547 -0.537031 -0.107907 0.00233074 0.00361748 0.0253914 -0.843057 0.333413 -0.00892057 2.13395 -1.89736 -0.00210202 0.0339853 -0.221962 -0.0683979 -0.180559 -0.561584 0.358172 0.122284 0.0144029 1.18613 -0.0750181 -0.389213 -0.00273751 -0.0470615 0.210214 0.105535 -0.519279 0.714906 -0.0443395 -2.10272 -3.48438 -0.229311 0.0636629 -0.041777 -0.0684298 0.334231 0.222458 -0.0569513 0.0223805 0.13794 0.0135811 -0.586649 1.90009 0.290451 1.04394 0.0834863 -0.456923 2.2972 0.0229425 -0.301953 0.884885 -0.93983 0.00286598 -0.222355 0.512858 -0.722021 1.23662 0 +272 0 -0.450872 -0.498727 -0.0350717 0.0208915 0.0794917 0.032327 -0.816334 -1.44062 0.141611 -0.000700637 -0.0042566 0.430614 0.0344584 -1.13232 0.0643889 -3.00207 -13.4467 -0.0780536 0.228958 -0.9194 0.00107743 0.214166 -0.0369622 0.104702 -0.0753713 -0.799315 -0.258788 -0.22 -0.486296 -0.0344129 -0.0458285 0.302145 0.706535 -1.13816 -0.123922 -0.00975188 -0.468326 1.85913 -0.0732488 -0.114087 0.0909841 -2.36537 -0.046761 -1.36759 0.241377 0.129582 -0.296918 0.77516 0.0919658 -1.23872 -0.574816 -3.75014 -0.30936 0.239162 -0.328129 -2.73219 -0.960272 -0.0859386 -0.169994 -0.110241 -0.71835 0.335666 -1.42274 0.351576 0.962285 0.713395 -0.930134 -0.390494 -0.0984949 -0.62933 -0.589204 0.0126098 0.901052 -0.174157 0.299344 0.693752 -9.02855 -1.19757 0.899312 -1.96463 0.986891 -0.927767 -0.449277 0.403049 -0.128658 2.55163 -0.339053 0.318993 -0.0948183 -0.406604 1.75824 0 0 0 0 0 -0.0350717 0.0208915 -0.000878495 0 0 0 0 -6.64704e-05 0 -0.0108936 0 0 -0.000178384 -9.2405e-05 -0.0134706 0 0.000474292 -0.201874 -0.113133 0 0 -0.840999 -4.5666e-06 0 0.0530874 -3.41334 0 0 -0.122872 -0.875077 0 0.209333 0 -0.283347 0 0 -0.0417815 0 0 0.513298 -0.00132434 -0.00357445 0 -0.0174871 0.00232452 0 0 0.137018 0 -8.91153e-05 0.149347 0.000809441 0 0 -3.12465e-05 0.002425 0 0.000301738 -0.0594334 -0.0012207 -1.28772 -0.000819871 -0.0884248 0 -0.000269458 0.124709 -0.303366 -0.0117967 -0.259012 0 0 0 -0.820253 0.0153043 0.0548296 0.000839466 -0.000950738 -0.204241 6.23055e-05 -7.67585e-05 0.00155599 0.0468287 0 0 0 0 0 0 0.0794917 0 0.032327 0 0 0 0 -0.0897356 -0.603585 0 0 -0.0871003 0 -0.000224081 0 -0.00884595 0 0 -0.81528 0 0.444417 -0.00979342 -0.0425077 -0.138307 0 0 -0.13502 0 -7.7148 0 2.10069 -0.30075 0 -0.253568 0.947668 -0.0061133 0 -0.00313774 0 0 -0.0600988 0 -2.1931 -1.13781 0 0 -0.214377 0 0 -0.155472 -0.600839 0.0167494 0 0.639971 0 0.213097 -0.0643482 0.0800194 0.0191407 0.173364 0.379965 -0.0885848 -0.12455 0.468614 2.83551 -0.00740772 0 0 0 0.0186337 -0.0392353 0 0 0 0 0.18918 -2.29123 0.91811 -0.146216 -0.000688688 0.0021986 -0.223879 -0.0446985 0.0315626 -0.0199058 0.17206 0 0 0 0 0 0 +273 0 -0.773129 -0.191908 0.0629742 0.0655229 -0.186902 -0.154832 -0.659181 -0.282517 0.55195 -0.79657 -0.0942841 -1.24232 -0.0471834 -2.11204 -0.0653488 0.184406 0.0953816 -0.113322 -0.113846 0.628644 -0.0703719 0.0756606 0.0713764 -0.35031 -0.128841 0.0227527 0.235073 0.160807 0.187156 -0.503789 0.208308 -0.451072 0.333889 0.764348 -0.145622 -0.00453703 0.707574 1.81514 -0.200368 -0.0342942 -0.0777736 2.66632 -0.00138525 -4.83059 -0.0609338 -0.24163 0.151066 -0.650372 0.0546747 -0.569367 -0.721378 -1.03284 0.282385 -0.0139724 -0.106037 1.36004 0.718995 0.427411 0.374516 0.120639 -1.15521 -0.52079 0.160574 -1.34251 -0.551009 0.65806 0.423696 0.876928 -0.386063 0.564454 -0.69093 -0.744624 -0.987941 1.3855 0.311414 -1.08551 -3.29254 0.0176721 1.2017 -0.377703 0.140121 -0.592686 0.866308 -0.683508 1.15489 0.438832 0.0855914 0.0731838 -0.0212897 0.56967 -0.676675 0 0 0 0 0 0.0629742 0.0655229 -0.000421635 0 0 0 0 -2.81218e-05 0 0.00866329 0 0 2.05587e-05 -5.29614e-06 -0.0125788 0 -0.00211345 -0.112482 0.0521272 0 0 -0.156834 -2.16564e-06 0 0.0889838 -0.969016 0 0 -0.0227105 -0.289613 0 0.238862 0 -0.0295843 0 0 -0.00191887 0 0 0.987831 -0.000560203 0.00147446 0 -0.0083962 -0.00893283 0 0 0.151568 0 -2.06694e-05 0.179318 -0.00136383 0 0 6.56749e-05 0.00120682 0 -0.000119162 -0.235952 0.00363992 -3.82125 -0.00180892 -0.0447377 0 -9.58402e-05 -0.0889404 -1.08606 0.00734851 -0.394921 0 0 0 -2.0352 -0.0126347 -0.175871 -0.00117868 0.00385594 -0.422683 -6.19212e-05 0.000241006 -0.00283101 -0.0324926 0 0 0 0 0 0 -0.186902 0 -0.154832 0 0 0 0 0.224715 -0.44371 0 0 -0.186872 0 -0.00788011 0 -0.0855077 0 0 0.368492 0 0.197298 0.0212203 -0.101566 0.0509137 0 0 -0.62907 0 -7.27105 0 3.02834 -0.884927 0 0.493712 0.891501 -0.0013822 0 0.0145877 0 0 -0.0696224 0 -2.65311 -0.109528 0 0 0.0170213 0 0 -0.344092 -1.18966 0.0821768 0 -2.67492 0 0.153731 0.0371925 -0.0595776 -0.283266 -0.10651 -0.188632 -0.381301 0.171267 1.791 1.21185 0.00267109 0 0 0 -0.26646 -0.0998808 0 0 0 0 0.464053 -15.3428 -0.955404 -0.850151 -0.497485 0.511898 -1.02029 -0.02958 0.0166344 0.0285374 -0.176954 0 0 0 0 0 0 +274 0 0.13287 0.0752641 0.209246 0.0213784 -0.0676118 -0.3745 1.02021 2.8058 0.193437 -3.3358 0.00798858 0.187492 -0.188079 -1.62883 0.0217333 0.937141 5.70263 -1.10458 0.160925 -0.695938 -0.466234 -0.0497542 0.226364 -1.38644 1.22627 -0.0881503 0.332396 0.580291 0.385872 -0.142356 0.434825 -0.488701 -0.994405 0.690574 0.645438 0.0778296 1.46997 -4.30466 0.659853 -0.309908 -0.431739 4.01546 0.385817 -2.71536 -0.944577 -0.626082 0.680631 0.321388 -0.57701 0.641059 -1.8826 -4.02889 -0.138884 0.161466 -0.0709475 -0.381658 0.237406 -0.0346038 1.63839 0.550578 -0.990362 0.3862 3.631 -3.17966 -1.33602 0.24169 3.84737 1.9614 -0.135164 2.32482 -0.078946 0.142164 -1.6099 -0.253209 -0.210352 -2.37918 18.5301 9.66392 -5.77172 6.18173 -4.50594 4.42981 3.50558 -2.98775 3.97236 -4.07005 1.32681 -1.51043 1.43658 -0.765165 -1.39515 0 0 0 0 0 0.209246 0.0213784 0.00295498 0 0 0 0 0.000226389 0 -0.0283886 0 0 0.000126354 -6.14927e-05 -0.177705 0 -0.0286612 -0.273791 -0.1801 0 0 -0.155846 -4.46104e-06 0 0.154952 -0.673312 0 0 0.0011632 -0.4001 0 -0.0264788 0 0.0231043 0 0 0.0168909 0 0 -0.354143 0.0045148 0.00314235 0 0.0589123 -0.0295246 0 0 0.109139 0 0.000262357 0.19198 -0.00185775 0 0 -0.000421152 -0.00821904 0 0.000433522 0.00197224 0.00797847 0.740836 0.00314224 0.00104543 0 0.0181248 0.118705 0.164974 0.0305561 0.0342167 0 0 0 0.254175 -0.0347363 0.0631153 -0.0020153 0.0051096 0.054232 -0.000155966 0.0003145 -0.00438846 0.0774533 0 0 0 0 0 0 -0.0676118 0 -0.3745 0 0 0 0 -0.0906701 1.07032 0 0 -0.0416528 0 -0.00785326 0 -0.0590754 0 0 0.0948993 0 0.463719 0.012506 0.0451396 -0.00780935 0 0 -0.423322 0 -0.384181 0 0.222938 -0.482245 0 -0.0818463 0.426946 0.0254205 0 -0.000384094 0 0 0.117228 0 -1.20608 -1.41718 0 0 -0.194998 0 0 -0.0339026 -0.649803 0.0395131 0 1.29569 0 -0.146431 0.15335 -0.0903736 0.247355 -0.0156018 -0.526599 0.192228 -0.00633619 -0.750152 1.64844 -0.0200125 0 0 0 0.158459 0.00845596 0 0 0 0 -0.284787 1.90325 0.529663 -0.0144527 -0.569852 0.729414 -0.740467 -0.0592103 0.0640211 -0.0169073 -0.0273087 0 0 0 0 0 0 +275 0 0.376225 0.31034 0.0472976 0.293328 -0.121784 0.215083 -0.513709 -0.925273 0.975392 -0.162114 0.0687356 -0.508905 0.000265309 -0.87305 -0.0467753 2.159 8.04949 0.276838 -0.119415 1.68566 0.103819 0.0193687 0.0163886 0.0522217 -0.548269 0.558809 0.220239 -0.629057 -1.32886 0.0148569 0.128189 -0.40612 0.194639 1.04691 -0.301151 0.0065968 0.903856 -0.325977 0.145499 1.01378 0.00369878 3.99325 0.0192549 -2.69805 0.0631853 0.683027 -0.907878 -0.921052 -0.172222 0.870089 -0.204343 -2.96028 0.345611 -0.114677 0.216375 1.80588 0.313864 0.571763 -0.0518619 0.0199933 0.645008 -2.04648 0.0791734 -1.19582 -1.19393 0.778475 0.76482 0.916992 -0.501532 -0.0342079 -0.0518402 -0.0812157 -1.26055 0.977742 0.811563 -3.1671 1.25601 1.20529 0.201238 0.558751 -0.39309 2.35841 0.37298 -0.00635383 0.361948 2.04119 -0.0197637 -0.0306865 0.163915 0.0656848 1.84704 0 0 0 0 0 0.0472976 0.293328 -0.00181284 0 0 0 0 -0.000542323 0 -0.0207247 0 0 -0.00118774 -0.000624534 -0.0173645 0 -0.00258937 -0.0175886 -0.121927 0 0 -0.0831579 -2.19572e-05 0 0.0239598 -1.07792 0 0 -0.0138408 -0.173418 0 0.0576783 0 0.00788179 0 0 0.000371386 0 0 -0.212526 -0.0107955 -0.0245346 0 -0.0358413 0.0488697 0 0 -0.0657004 0 0.000906928 0.00766397 0.00608834 0 0 0.00168806 0.0054284 0 -0.00471317 -0.0241783 -0.0103114 -0.22135 0.0151407 -0.0397852 0 -0.00517383 0.0136474 -0.00328507 -0.0455498 -0.181733 0 0 0 3.04873 0.232352 0.409453 0.0155428 -0.00621605 0.160776 0.000856465 -0.000661227 0.01512 0.0472639 0 0 0 0 0 0 -0.121784 0 0.215083 0 0 0 0 0.0786152 0.872557 0 0 -0.431312 0 -0.0185792 0 0.0117463 0 0 -0.28537 0 -0.430542 0.00351459 -0.0552114 -0.044838 0 0 0.0774077 0 0.813234 0 -1.01851 0.303739 0 0.0481834 -0.396936 0.0109215 0 0.00257444 0 0 0.105488 0 0.0529375 -0.670723 0 0 -0.0852632 0 0 -0.336521 -0.674099 -0.127883 0 2.43098 0 -0.646476 0.0101391 0.0671103 -0.57598 0.0865361 0.624951 0.567295 -0.139713 -0.485902 4.42361 -0.0275542 0 0 0 0.517084 0.0455481 0 0 0 0 -0.252221 9.93399 2.98422 -0.939609 0.895623 -0.784678 0.949439 0.160611 -0.151956 0.209467 0.0549163 0 0 0 0 0 0 +276 0 -0.694354 0.0531061 0.0151804 0.0351826 -0.238304 -0.0335704 -0.117678 0.414647 0.257007 -0.379641 0.111065 0.116903 -6.81001e-06 0.0475759 -0.0202658 -0.505545 -0.375149 -0.109159 -0.0621598 3.52763 -0.0328468 -0.127723 0.00706546 -0.168374 0.15669 -0.193396 -0.0630441 0.352405 0.547254 -0.163842 0.0470356 -0.105882 -0.0677411 -0.169681 0.0114018 0.0115049 -0.158747 1.21464 0.119372 1.15227 6.46073e-05 0.0660836 0.0109379 1.11028 0.00944971 0.198732 0.422053 -0.332435 0.0494405 -0.381787 0.0458233 3.48959 0.1248 -0.00850898 -0.0966722 2.63811 0.853484 0.960579 0.182797 -0.0107368 -1.16774 -4.18588 1.13481 -0.269106 0.477229 -0.102301 0.134236 -0.304205 -0.139165 0.989311 -0.366015 0.119486 0.195462 0.251983 -0.194025 1.31046 -2.24658 0.553615 -0.971246 -0.257475 0.464845 -2.44525 0.40031 -0.304169 0.191169 -0.985934 -0.00295577 -0.0198552 -0.0921549 -0.151653 -0.760651 0 0 0 0 0 0.0151804 0.0351826 -0.00194618 0 0 0 0 -0.000338418 0 0.000373713 0 0 -0.000133833 0.000786466 -0.0059761 0 -0.000829579 -0.0117019 0.00310291 0 0 -0.0670386 1.88629e-05 0 0.0278784 -0.167352 0 0 -0.0132222 -0.0364966 0 0.100998 0 0.00325802 0 0 9.42179e-05 0 0 0.599973 -0.0067095 0.00212439 0 -0.0385837 -0.0162575 0 0 0.156259 0 0.000631149 0.520714 -0.00936184 0 0 0.000908673 0.00633657 0 -0.00402342 -0.0946348 0.0182787 -0.639026 -0.000650936 -0.0247617 0 -0.00118835 0.00610774 -0.306904 0.0430768 -0.0519355 0 0 0 -1.09299 0.0372275 -0.0323774 -3.63261e-05 0.0384095 -0.487342 3.57953e-05 0.00167129 -0.0152753 -0.0706706 0 0 0 0 0 0 -0.238304 0 -0.0335704 0 0 0 0 0.208864 0.0938012 0 0 -0.261152 0 -0.0355742 0 -0.00811292 0 0 1.03208 0 0.133358 0.0104459 -0.174093 0.160966 0 0 -0.00642695 0 2.81637 0 2.52274 0.183208 0 0.434701 0.686303 -0.028363 0 0.0122515 0 0 0.000658287 0 1.05723 1.91064 0 0 0.301631 0 0 -0.345047 0.962188 0.104476 0 0.0406356 0 0.35868 -0.0547002 -0.0173773 0.255878 -0.0580929 0.21079 -0.397764 0.204821 2.39789 11.1208 0.0238875 0 0 0 0.294131 -0.137917 0 0 0 0 0.255945 -10.097 -0.424984 -0.457905 -0.288144 0.203743 -0.507595 -0.0532749 0.0521335 -0.0389912 0.0278212 0 0 0 0 0 0 +277 0 0.50709 0.443876 0.00355429 -0.0984714 0.0850492 0.228492 -0.704201 -1.66622 0.190619 0.037357 -0.275342 -0.337233 0.000979464 0.349614 -0.0642615 0.763894 3.37902 0.00857322 -0.180425 5.96401 -0.0103373 -0.490982 0.00397376 -0.216562 -0.560927 0.47956 0.0803141 -0.0578882 0.859446 -0.0285573 0.0285021 -0.589317 -1.37699 0.399121 -0.354315 -0.0462501 0.140269 -4.74947 -0.503985 2.40135 0.021113 0.753951 -0.0866365 1.29624 0.208725 1.04048 0.227405 -1.50307 0.287203 -0.619708 0.218158 1.86586 0.519788 0.141589 -0.21173 -0.221597 1.07788 -0.49276 0.231485 -0.0676369 -0.85213 -2.46168 1.78464 0.574293 0.537839 -0.562466 0.504122 0.0464859 -0.0888088 0.832474 0.0931816 -0.543528 0.0125369 -2.22991 0.507965 0.928955 18.1714 3.20614 4.4827 2.30672 -1.05974 4.00442 -0.0144721 0.254426 -0.70688 2.00026 -0.065287 0.0526207 -0.279471 0.242375 -1.19458 0 0 0 0 0 0.00355429 -0.0984714 0.00208723 0 0 0 0 0.000716666 0 -0.0188318 0 0 0.000637992 -0.000920518 -0.0263184 0 -0.00562234 -0.0655843 -0.0755342 0 0 0.257193 -6.62257e-05 0 0.0192986 0.174642 0 0 0.0478781 -0.11633 0 0.0511997 0 0.0326397 0 0 0.00842031 0 0 0.110571 0.0143386 0.0153736 0 0.0417062 -0.091826 0 0 0.285618 0 -0.00172868 0.171456 -0.00872805 0 0 -0.00297987 -0.00740181 0 0.00868728 -0.110947 0.0221873 1.05149 -0.0267472 0.028229 0 0.0367417 0.0663993 0.0779338 0.0431822 0.102969 0 0 0 -3.93596 -0.27512 -0.457044 -0.0212421 0.0275519 -0.363348 -0.000961436 0.00129133 -0.0206884 0.0191076 0 0 0 0 0 0 0.0850492 0 0.228492 0 0 0 0 0.0043743 -0.793422 0 0 0.135784 0 -0.0322126 0 -0.105113 0 0 1.20342 0 -0.736597 -0.0633564 0.00674602 0.170022 0 0 -0.762731 0 0.842983 0 -2.89175 -0.179547 0 -0.481862 -1.24239 -0.0246002 0 -0.00791086 0 0 -0.12209 0 -0.322413 1.9396 0 0 0.291552 0 0 0.309912 0.570224 -0.150419 0 -2.66923 0 -0.00746072 -2.77294e-05 0.0387524 0.431208 -0.114804 -0.18677 -0.325574 0.0915654 1.1349 -2.6137 -0.0237277 0 0 0 -0.462614 -0.0147382 0 0 0 0 0.339425 13.1168 -0.324325 2.97211 -0.169773 0.19969 0.451944 -0.179969 0.187452 -0.172442 0.371447 0 0 0 0 0 0 +278 0 0 0 0 0 -0.128651 -0.0508837 1.52214 2.49219 0 0 -0.0750587 -0.267127 0 0.423899 0.0141333 0 0 0 0.0534348 -1.69915 0 0 0 0 0.204579 0 0 -0.0502596 2.75411 0.174718 0 0.0518011 0 0 0.199649 -0.0548986 0 0 -0.790708 -0.00136682 0 0 -0.342541 -1.79908 0 -0.0106414 0.451622 0.0920462 0.42556 1.21861 0.553703 0 0.270787 0.25087 0.38914 0.900002 0.434724 0.854042 0 0 2.44217 -1.33045 0 1.63085 -0.101707 -0.469547 0 0 0 0 1.29029 -0.374032 0 0.0350081 -0.156146 0 0 0 -7.40946 0 1.25981 -5.45221 0 1.13878 -2.07618 -2.77778 0 1.7909 -3.43861 3.6533 -8.08068 0 0 0 0.0755604 0.0124851 0 0 0 -0.063502 -0.0362329 0 -0.00860503 0 -0.00373898 0.0426443 0 0 0 0 0.199943 0 0.0318482 0 0.365087 0 -0.382847 -1.05747 0 -0.00501609 0 0 0.0849661 -0.00231867 -0.246909 0 -0.0124614 0 -0.00199788 -0.183306 0.00389102 -0.0224015 -0.055665 0 -0.000424917 0 0 0 -0.00091024 0 0 0.000826511 -0.00456022 0.150186 -0.0772094 0 0 -0.0712182 0 0.00100923 0 0 -0.0299598 0.0130716 -0.217136 -0.0346373 0 0 0.0624867 0.0738695 0.0816097 0.0331347 0.350398 0 -0.14868 0.0143027 0.504004 0 0 0 -1.61538 0 -0.156532 -0.0452126 0 -0.0257103 0.0225799 -0.0695032 0 0.00385007 -0.0110311 0.0155425 0.0410975 0 -0.128651 0.0755604 -0.0508837 0.0124851 -0.2756 -0.0776447 0.328638 0.187667 2.27408 0.0023342 -0.0111359 -0.0792604 -8.32093e-05 -0.00306044 0.0531159 0.146795 0.0913547 0.032211 0.318858 -1.18461 -0.65587 0.0547404 -0.0969091 -0.0263502 0.265849 0.0868983 0.631208 -0.0189553 7.67539 -0.178911 -3.70293 0.904327 0.010741 0.671767 -1.79656 -0.0175723 -0.00247101 -0.000537433 -0.0421708 0.79174 0.510735 0.00918904 3.3156 -0.819896 0.00433819 0.00518253 -0.209574 -0.137393 0.0892533 0.4141 2.50677 -0.0267084 0.0168442 2.18029 -0.180411 0.125782 -0.0437597 0.0578905 -1.59396 0.125356 1.59841 0.846078 0.00566281 -1.01679 -2.4905 0.147369 -0.021304 -0.0421666 -0.125548 0.41474 -0.366782 -0.147366 -0.0419397 0.125393 0.135694 -0.672952 51.2031 7.86803 -6.04869 3.00205 -0.549279 -2.19455 0.00534959 0.268695 -0.92222 0.218389 -0.0561028 0.201919 -0.598937 0.455867 -0.800107 0 +279 0 0 0 0 0 -0.309336 -0.207987 1.9595 4.84293 0 0 0.0112769 -0.351966 0 -0.523474 -0.0835364 0 0 0 -0.413865 1.04426 0 0 0 0 0.812938 0 0 -0.122979 -2.27583 0.16481 0 -0.148296 0 0 0.304861 -0.0302484 0 0 -0.45241 0.137105 0 0 -0.225121 -4.06722 0 -0.0159391 -0.428631 -0.459025 0.371256 3.48351 -0.374249 0 0.388936 -0.2676 -1.01122 2.84901 0.407061 0.852481 0 0 -0.4768 -0.488811 0 -2.02737 -1.8255 -1.77523 0 0 0 0 0.74235 -1.32252 0 3.3623 0.718151 0 0 0 -14.838 0 -0.618854 3.8497 0 -0.296567 1.5393 -5.77703 0 0.9579 1.11754 -1.34333 10.692 0 0 0 0.0737526 0.00549344 0 0 0 0.0896974 0.0172509 0 0.012834 0 -0.00806875 0.105451 0 0 0 0 0.300777 0 0.0412416 0 0.713268 0 0.57373 -0.643656 0 0.0100164 0 0 0.120202 -0.00445783 -0.0633079 0 0.00845627 0 0.000269098 -0.143134 0.0313977 -0.0559798 -0.0180967 0 -0.000557227 0 0 0 0.000479456 0 0 0.00733551 0.00489901 -0.541659 -0.0213919 0 0 0.0393276 0 0.0013773 0 0 0.0791412 -0.0490528 -0.123125 0.0180543 0 0 0.244858 0.0445969 0.0428564 -0.0655273 0.17184 0 0.362289 -0.0230357 -0.113839 0 0 0 -1.51562 0 0.00859391 -0.401442 0 -0.0105109 -0.014492 -0.211565 0 0.00503378 -0.0183991 0.0172298 0.0905524 0 -0.309336 0.0737526 -0.207987 0.00549344 0.452863 0.0407444 -0.133418 0.302837 -0.890586 -0.00922931 -0.0526592 0.341118 -0.000982248 0.0595007 -0.0279356 -0.0168878 -0.0941587 -0.0599706 -0.663826 0.52661 -0.360714 0.188575 0.000476311 -0.154184 -0.354789 -0.0718009 -0.109928 -0.00642296 -2.41313 0.355184 -0.911819 -0.429892 -0.0044438 0.96594 -0.88192 -0.0011518 0.00465469 0.0486991 0.0377025 -0.847796 -0.218233 -0.00408424 -1.51584 -0.728829 -0.0124079 0.0350899 -0.222296 0.0185583 0.0575566 0.180974 6.1755 0.685725 0.0555712 2.1079 0.0621515 -1.67012 0.121997 -0.528507 0.31528 -0.0222107 -0.084418 2.1633 0.303779 2.64733 10.2056 -0.361605 -0.0401225 -0.177619 0.0131675 0.583434 0.0720645 0.145473 -0.0246808 -0.204975 -0.00699423 0.209683 12.6084 -0.555936 -7.1376 1.2087 -2.48378 3.1681 -0.178516 -0.492304 0.583136 -0.692305 0.104452 -0.310229 0.378043 -0.283775 0.580475 0 +280 0 0 0 0 0 0.508505 0.589213 -1.39838 -4.06678 0 0 -0.190608 2.65716 0 4.53287 0.419584 0 0 0 0.716747 0.587641 0 0 0 0 -0.727964 0 0 -1.00205 3.26615 1.20328 0 2.24576 0 0 -0.339986 0.0861775 0 0 -3.08504 0.716745 0 0 -0.626539 11.3476 0 0.82552 -0.432414 4.46754 -0.0451985 0.516772 -0.367217 0 -0.235759 0.041712 0.262929 -1.18915 -0.175042 -3.32437 0 0 -0.319495 5.81509 0 -0.127698 -0.338884 1.58839 0 0 0 0 -0.713781 1.14678 0 -5.1212 -0.868476 0 0 0 10.176 0 5.07751 -3.53902 0 2.24824 -2.24784 5.65801 0 3.71635 -4.24341 7.79236 -11.3348 0 0 0 0.468728 0.129019 0 0 0 0.14824 0.0131959 0 0.0307939 0 -0.0154876 -0.0696257 0 0 0 0 0.0722674 0 0.0133999 0 -0.241037 0 0.599853 0.931013 0 -0.00504076 0 0 0.126231 -0.00428678 0.178488 0 -0.00877302 0 0.00046463 0.139308 0.00411795 -0.0704226 0.0320119 0 -0.000933025 0 0 0 -0.00060418 0 0 0.00257573 -0.000935799 -0.305207 0.0422093 0 0 0.0278864 0 0.00204759 0 0 0.0127546 -0.00727285 -0.236392 -0.00187037 0 0 -0.00144351 -0.0796321 0.0557854 0.0118693 -0.248374 0 0.287219 0.00241977 0.132457 0 0 0 0.783528 0 0.170029 -0.170637 0 0.0117864 -0.00198658 0.00554855 0 0.00273765 -0.00801753 0.0222752 -0.0787575 0 0.508505 0.468728 0.589213 0.129019 -0.774449 -0.0781549 1.43324 -0.652686 3.53437 0.0181423 -0.169646 1.32172 -0.00332647 0.0647018 0.216173 0.257621 -0.130167 0.461265 -1.28409 0.716119 0.318177 -0.445535 0.349892 -0.16976 -0.891323 0.228804 1.59876 0.0224604 3.86808 -1.31599 3.11419 1.45366 0.0336368 -2.40933 1.19001 0.00400797 -0.0325301 -0.121589 -0.25242 1.69897 0.526692 0.025815 2.73088 -3.17437 -0.0225587 -0.156363 -0.374349 0.146273 0.270699 0.259905 -7.6369 -2.33203 0.0332886 1.81716 -0.605487 2.75368 -1.80365 1.80251 -1.61674 0.19634 1.18687 -4.05792 -0.188992 -3.93002 -6.54585 0.631052 -0.387589 0.298378 -0.373929 0.323595 -0.523762 0.0293373 -0.237757 0.108674 0.0913937 -1.51542 -43.0621 -15.2944 18.68 -5.90116 7.78125 -8.20755 -2.06288 2.42516 -2.5493 2.33232 -0.803398 1.23204 -1.45564 1.41776 -1.58302 0 +281 0 -0.19063 -0.136701 0.155879 0.0194966 0.00524396 -0.315686 0.474946 1.47203 -0.692807 -2.78838 0.0804515 0.418779 -0.143675 -0.204337 0.166955 -1.61125 -4.83508 -0.940911 0.444539 -4.10892 -0.478906 -0.107397 0.101987 -1.39436 0.963391 -0.583699 0.0153615 0.415872 0.704614 -0.0310697 0.099926 0.815414 -0.438628 -0.178756 0.488313 0.102722 0.604755 -0.254499 0.41395 -1.99625 -0.339451 1.56504 0.255079 -0.291984 -0.755707 -0.972039 0.567483 2.12657 -0.68927 0.378177 -3.17083 5.26517 -0.459358 0.0493151 0.374585 1.91833 -0.109843 -1.93345 1.89738 0.489049 0.359446 5.12873 2.76372 -2.19991 -1.46221 0.907096 2.40066 1.72195 0.862543 2.31215 -0.098699 0.290464 0.220355 -1.24883 -0.886394 -0.871404 -2.48309 7.88459 -5.08788 4.96463 -1.66982 -3.10911 4.33637 -2.71733 2.57954 -1.30971 1.07915 -0.92245 0.474156 0.0492029 -1.82235 0 0 0 0 0 0.155879 0.0194966 0.0138866 0 0 0 0 0.00103274 0 0.011217 0 0 -0.00457939 -0.0347986 0.0348101 0 -0.00295717 -0.148828 0.0752014 0 0 -0.336488 -0.00252669 0 0.0612721 -2.27248 0 0 -0.0501805 -0.586366 0 0.0787482 0 0.0143892 0 0 0.00403903 0 0 0.691918 0.0164728 -0.0561249 0 0.204043 -0.0671418 0 0 0.134102 0 0.00222562 -0.248639 0.0040672 0 0 0.0080412 -0.0405366 0 -0.0182291 0.153375 -0.0409101 1.37326 -0.0313954 0.0507435 0 0.0338409 0.0140406 0.00306812 0.0300899 0.00233282 0 0 0 -4.66712 -0.319923 -0.133771 -0.0104731 -0.0267379 -0.0751624 0.00728373 -0.0123352 0.00992984 -0.012326 0 0 0 0 0 0 0.00524396 0 -0.315686 0 0 0 0 -0.297731 1.66325 0 0 0.37172 0 0.0466843 0 0.0667685 0 0 -0.763089 0 1.07501 0.0260845 0.471483 -0.08783 0 0 0.626667 0 -0.734828 0 4.421 -0.425739 0 -0.0207334 2.29433 0.0639485 0 -0.0156303 0 0 0.203419 0 -0.887486 -1.5679 0 0 -0.189067 0 0 0.249651 -2.3618 -0.154147 0 1.6259 0 1.26376 -0.521672 0.349163 0.8592 0.172117 -1.08288 -1.3824 -0.227141 -1.65481 4.79097 -0.248989 0 0 0 0.0187339 0.212362 0 0 0 0 -0.456119 -56.3707 -10.955 4.94224 -3.45264 1.43793 -1.27017 -0.393164 0.198209 -0.103705 -0.0615705 0 0 0 0 0 0 +282 0 -0.827283 -0.45532 -0.0245021 0.196454 0.0451741 0.112771 -0.805384 -1.38234 -0.334829 -0.0517191 0.361752 -0.954464 0.0544878 -0.681025 -0.117069 -0.782513 -8.07669 0.497623 -0.304801 -0.762427 0.196325 0.408282 -0.0846409 0.1201 -0.790465 0.166974 -0.0173364 -0.246946 -0.852613 -0.292351 -0.212043 -0.0214061 2.06964 0.656263 -0.432136 -0.00454345 -0.590143 8.22867 0.628793 -0.0207121 0.104131 0.227557 0.000740838 -1.71031 0.201177 0.222375 -0.458191 -0.428938 0.314666 -0.998363 -0.135333 0.143078 -0.194293 0.563376 -0.285785 2.24934 0.263911 0.44411 -0.124821 -0.184205 -1.75316 -0.665964 -4.34514 1.7787 0.425153 0.817629 -2.20536 0.108775 0.660551 -0.31893 -1.34519 0.215323 1.27226 1.33864 0.359308 0.646818 -41.4728 -7.10582 6.34899 -7.48669 3.63244 -5.48813 0.765663 -0.657531 0.534148 1.83963 -0.28728 -0.282073 0.348611 -1.52041 2.20513 0 0 0 0 0 -0.0245021 0.196454 0.0043474 0 0 0 0 0.0030217 0 0.0400662 0 0 -0.0104485 -0.0303706 0.0333868 0 0.0124104 -0.00826879 0.182989 0 0 0.365774 -0.0021053 0 0.106816 -1.14998 0 0 0.0505113 -0.158597 0 0.50853 0 0.0449494 0 0 0.00504868 0 0 1.44332 0.0438222 -0.146644 0 0.070737 0.0383458 0 0 0.519944 0 0.0203397 -0.123445 -0.0302936 0 0 0.0138132 -0.000537333 0 -0.0447189 0.0857126 -0.0195037 0.727069 0.0182667 0.0571878 0 0.0470933 0.0309441 -0.253524 0.169234 -0.0951815 0 0 0 -4.41001 0.0810466 -0.460513 -0.0837067 0.076491 -0.179865 0.0114082 -0.0145315 0.0222652 -0.0291199 0 0 0 0 0 0 0.0451741 0 0.112771 0 0 0 0 -0.00040159 0.330876 0 0 -0.443263 0 -0.0390377 0 0.010134 0 0 0.271702 0 -0.105146 -0.0129811 -0.254488 0.0489281 0 0 0.267262 0 -3.9423 0 2.14753 -0.0978147 0 -0.308103 0.33825 -0.0269851 0 0.00875832 0 0 -0.0174714 0 -0.797293 0.671826 0 0 0.104678 0 0 0.201319 -2.74473 -0.19923 0 0.343837 0 1.23694 0.328266 -0.0561257 0.492532 -0.0782415 -0.349014 -1.29602 -0.11603 -1.04062 0.890237 -0.120126 0 0 0 -0.0457246 0.0168294 0 0 0 0 -0.0522954 -25.0331 -0.652232 3.29418 -2.12522 1.18589 -0.89813 0.472197 -0.238972 0.163653 0.155853 0 0 0 0 0 0 +283 0 0.89497 0.547477 0.111043 0.272669 -0.106699 -0.161257 0.192011 0.703737 2.15686 -1.22341 -0.312011 -0.288052 -0.0249664 -2.43894 -0.286848 2.20912 10.058 -0.385084 -0.595135 1.88107 -0.146165 -0.281206 0.109689 -0.563981 0.484263 0.547963 0.190072 0.53764 1.58078 -0.501517 0.475431 -1.61944 -1.00832 0.458977 0.189855 -0.0622514 0.647315 -3.76284 -0.646872 0.143678 0.0698379 2.23176 -0.102011 -3.15754 0.727005 -0.311557 0.920814 -3.41193 0.265077 -1.75203 0.0613283 -1.433 -0.0320379 -0.144758 0.70405 -0.110882 0.554408 3.12704 0.460146 0.0956521 1.10747 -2.76573 2.25735 -0.784571 0.0603728 -0.547917 2.30857 1.20857 -0.70898 0.178015 0.535603 -0.714723 -0.943528 4.00131 -1.35459 -0.571832 12.5808 3.48804 -0.560597 1.89463 -0.937438 -1.1343 1.54285 -0.704048 0.262654 0.209049 -1.03816 1.06495 -2.06881 2.14783 -4.08841 0 0 0 0 0 0.111043 0.272669 -0.000419401 0 0 0 0 -0.00120253 0 -0.00168187 0 0 -0.00223128 -0.0105809 0.0230581 0 -0.003743 -0.164454 0.0836881 0 0 0.426593 -0.000694619 0 0.0463852 1.07508 0 0 0.080033 -0.132183 0 0.0247616 0 0.158899 0 0 0.0287112 0 0 -0.143344 -0.0176873 -0.0359596 0 -0.00770833 -0.00569101 0 0 0.0597023 0 -0.00244483 -0.143514 -0.0031608 0 0 -0.0014242 0.00532476 0 -0.00505624 -0.183087 0.0200355 0.35823 -0.00434195 -0.0177806 0 0.0665035 -0.00838936 -0.199632 0.165238 0.0207663 0 0 0 1.02489 0.146547 -0.0533994 -0.0066371 0.016163 0.0152841 0.000939203 -0.000340165 0.00469591 -0.0125002 0 0 0 0 0 0 -0.106699 0 -0.161257 0 0 0 0 0.025184 -1.4089 0 0 -1.1274 0 -0.145941 0 -0.118612 0 0 0.686361 0 -0.590951 0.0132332 -0.370772 0.101959 0 0 -0.89468 0 -1.47531 0 -5.15178 -0.591739 0 0.303926 -1.61891 -0.0491775 0 -0.00328179 0 0 -0.184038 0 -1.09406 1.24728 0 0 0.179087 0 0 -0.277604 2.12276 0.226128 0 -0.996013 0 -1.56899 0.994074 -0.551059 -0.274934 -0.212872 0.13613 2.06458 0.135411 1.45275 2.71966 0.0926253 0 0 0 0.0250015 -0.142022 0 0 0 0 0.450603 60.6742 14.9991 -6.04546 4.60133 -2.55561 2.22535 0.862376 -0.506225 0.506623 -0.230587 0 0 0 0 0 0 +284 0 0.0290236 -0.0348444 -0.105986 0.12333 -0.159715 0.17962 -1.06206 -1.01987 1.27031 0.76854 -0.102559 -1.24934 0.09276 -2.25688 -0.135678 0.540305 -0.649666 0.489384 -0.274551 1.11234 0.198694 -0.11402 -0.0287794 0.313803 -0.783772 0.402327 0.194375 -0.341258 -0.453103 -0.518121 0.0867172 -0.913479 0.0189818 0.672546 -0.551162 -0.0940253 0.0723785 1.12266 -0.427 0.63589 0.256672 0.094436 -0.22929 -4.11929 0.697975 0.464993 -0.444966 -2.01175 0.597041 -2.17324 0.697616 -0.601585 0.639029 -0.113085 -0.150679 -1.12348 0.520916 0.907194 -0.63173 -0.284923 2.52371 -2.63818 2.21922 1.07754 1.32798 -0.0415089 -0.776077 -0.780875 -1.02542 -1.10353 0.227286 -0.951802 -0.166237 0.975146 0.552633 0.675575 -3.44063 -1.61049 5.58541 -2.68313 2.36905 -0.128098 -0.569019 0.362794 -0.288571 1.25159 -0.908609 0.868581 -0.600162 0.164153 1.16212 0 0 0 0 0 -0.105986 0.12333 -0.0154548 0 0 0 0 -0.00318561 0 0.0157701 0 0 -0.00148895 0.0214291 0.0253868 0 0.00270493 -0.135651 0.192589 0 0 0.116541 0.00102281 0 0.114777 -1.88837 0 0 0.0196091 -0.473379 0 0.485257 0 -0.0595186 0 0 -0.00684788 0 0 1.13876 -0.0563978 -0.00530677 0 -0.272849 -0.0869222 0 0 0.284267 0 -0.0105413 -0.317539 0.0037971 0 0 -0.0053608 0.0409508 0 0.0177119 0.19655 -0.0403687 1.14447 -0.0858091 0.0660604 0 -0.0508212 0.00919529 -0.36301 0.305515 0.063195 0 0 0 -12.341 -0.908389 -1.09076 -0.0482628 -0.0649356 -0.0934856 0.00248514 -0.0108584 0.00701027 -0.0292876 0 0 0 0 0 0 -0.159715 0 0.17962 0 0 0 0 0.20097 -2.0689 0 0 -0.553033 0 -0.0709248 0 -0.10976 0 0 0.113422 0 -0.662357 0.0293423 -0.44725 0.0395015 0 0 -0.865594 0 -5.90127 0 -0.453198 -0.423115 0 0.389642 -0.908495 -0.056498 0 0.0186063 0 0 -0.261906 0 -2.06034 0.558794 0 0 0.11684 0 0 -0.333976 2.87936 -0.0165878 0 -1.61862 0 -0.709902 0.5632 -0.158029 -0.223002 -0.151173 0.59364 0.974106 0.0251586 1.20483 1.92376 0.179092 0 0 0 -0.23871 -0.141651 0 0 0 0 0.690824 8.75201 5.76906 -4.0163 0.760431 -0.505716 0.316896 0.607723 -0.308937 0.262345 -0.21243 0 0 0 0 0 0 +285 0 -1.66581 -0.720595 0.042999 -0.0280592 0.184411 -0.20633 -0.315024 -1.12095 0.150867 -0.434987 -0.29259 -0.532673 -0.0605903 -1.06336 0.147779 -3.55737 -16.7034 -0.410918 0.328272 -2.83831 -0.200488 0.205532 0.0828027 -0.246804 0.179516 -0.859793 -0.0260607 0.254396 -0.172888 -0.288101 0.163421 0.229794 1.39788 -0.694512 0.150925 0.0131979 -0.13462 8.7295 -0.118477 -1.11873 -0.115003 -1.62487 0.118589 -3.23188 -0.208026 -0.541911 0.181105 0.802769 -0.225179 -0.666644 -1.37136 7.34012 0.634676 -0.334426 0.325815 1.21786 1.01432 -1.17929 0.546443 0.104825 1.8483 1.49664 -1.04047 -0.107017 0.376822 1.57519 -0.986643 -0.157695 -0.357487 -0.94342 -1.71358 0.254617 0.204332 -2.8323 -0.496098 1.58779 -43.3339 -4.43195 5.75752 -6.28786 6.44132 -8.28325 0.310226 -0.14739 0.489004 2.0449 0.270803 -0.0989235 0.379303 0.00563027 0.443423 0 0 0 0 0 0.042999 -0.0280592 -0.00223119 0 0 0 0 -0.00129479 0 0.039215 0 0 -0.000290431 0.0019938 0.0372739 0 0.0102089 -0.100156 0.135807 0 0 0.0820558 0.000101306 0 0.131382 -1.92186 0 0 0.00644492 -0.386017 0 0.49115 0 0.10249 0 0 0.0125444 0 0 1.90648 -0.0243929 0.0096509 0 -0.0338045 0.0186494 0 0 0.654776 0 -0.00274609 0.0609727 -0.0193591 0 0 -0.000457855 0.00399434 0 0.0120474 -0.146587 -0.015376 0.306352 -0.0743669 0.0344664 0 0.0357827 0.0441105 -0.225561 0.112454 -0.0571683 0 0 0 -12.2988 -0.632477 -1.07124 -0.0830765 -0.0106345 -0.194272 0.00120225 -0.00604529 0.00397128 -0.0210304 0 0 0 0 0 0 0.184411 0 -0.20633 0 0 0 0 -0.215676 -0.518343 0 0 0.38204 0 0.0596121 0 -0.0333664 0 0 -0.362673 0 0.923321 -0.00468166 0.36395 -0.035556 0 0 -0.30282 0 -3.96591 0 5.2667 -0.247515 0 -0.456315 2.19568 0.0519577 0 -0.00513261 0 0 -0.0559544 0 -0.679954 -1.11049 0 0 -0.120132 0 0 -0.162219 -4.57392 -0.139118 0 -1.17269 0 1.048 -0.545936 0.349745 0.915352 0.141194 -1.24039 -2.59329 -0.229472 -1.28969 -6.26314 -0.319042 0 0 0 -0.360899 0.144412 0 0 0 0 0.190771 -66.2793 -11.4596 7.42773 -4.53766 2.22745 -1.86248 -0.349117 0.183826 -0.141614 0.175654 0 0 0 0 0 0 +286 0 0.460978 0.235239 0.13836 0.273221 -0.211924 -0.262349 0.654904 1.16937 1.62529 -1.46931 -0.290408 -1.08198 -0.0383111 -0.954058 -0.171421 0.71238 2.33236 -0.242629 -0.363245 2.75637 -0.0715574 -0.15566 0.0919176 -0.362779 0.239538 0.295387 0.0667096 0.528425 1.26686 -0.436983 0.362804 -1.04258 -0.791283 0.543685 0.212936 -0.0285559 0.679385 -4.07479 -0.814934 0.482189 0.0203897 3.38265 -0.0730687 -3.8187 0.622032 -0.4155 0.709744 -2.3107 0.023378 0.76013 0.299318 -4.37866 -0.759041 -0.0560298 0.0748195 0.313385 -0.953704 1.64071 0.230897 0.162305 0.454283 -2.39557 -1.39873 2.0422 -0.615624 -1.10032 -1.34865 0.910917 0.218408 -0.0516202 0.500487 -0.3744 -0.0790196 2.966 -0.192624 -1.25711 24.9352 4.35947 -4.49204 2.46485 -1.50858 1.12529 1.93149 -1.10776 1.12378 -2.21655 -0.809748 1.05682 -1.62228 2.11713 -3.24924 0 0 0 0 0 0.13836 0.273221 0.00425577 0 0 0 0 0.0006151 0 -0.0137127 0 0 -0.00305071 -0.0214409 -0.00298645 0 -0.00263905 0.292824 -0.0296545 0 0 0.0119142 -0.00118205 0 0.0234274 2.35113 0 0 0.0196165 0.774833 0 -0.0415259 0 0.05847 0 0 0.0118382 0 0 -0.371902 0.0126493 -0.0527425 0 0.0853536 0.0291179 0 0 -0.0444467 0 0.00192073 0.148169 -1.96178e-05 0 0 0.00276097 -0.00827058 0 -0.00757686 -0.00944392 0.0173975 -1.28657 0.0328599 -0.0352936 0 0.0369955 -0.0066795 -0.474065 0.137527 -0.0647281 0 0 0 4.05108 0.384223 0.396427 0.0164337 0.0219367 0.0267772 0.00182888 0.000822076 0.00559953 0.00129384 0 0 0 0 0 0 -0.211924 0 -0.262349 0 0 0 0 0.36005 -0.550669 0 0 -1.12645 0 -0.145212 0 -0.076371 0 0 0.679365 0 -0.302514 0.0947048 -0.230904 0.0932323 0 0 -0.48608 0 -4.69936 0 -3.81623 -0.572363 0 1.0088 -1.12546 -0.0320431 0 0.0300796 0 0 -0.0933639 0 -1.14449 0.472265 0 0 0.0856469 0 0 -0.0554326 5.42154 0.136121 0 -0.130356 0 -1.53864 0.983555 -0.457471 -0.8007 -0.24198 0.879373 2.78945 -0.00309938 0.81576 4.03649 0.290658 0 0 0 0.0720655 -0.0403934 0 0 0 0 0.20683 54.3597 13.664 -9.39686 3.82077 -2.02698 1.67985 0.832849 -0.501396 0.48629 -0.423249 0 0 0 0 0 0 +287 0 0 0 0 0 0.145002 -0.0340451 -0.330445 -0.865234 0 0 -0.220809 -0.304625 0 -0.544609 -0.00435757 0 0 0 0.133036 0.734876 0 0 0 0 -0.11973 0 0 0.216989 -0.0274938 -0.0420291 0 -0.19744 0 0 -0.0345498 -0.0605914 0 0 -0.0518032 0.397409 0 0 -0.0103993 -2.38446 0 0.13945 0.30575 -0.379162 -0.247455 -1.06631 -0.0146015 0 -0.00418917 0.281644 -0.131041 0.847903 0.316173 0.562883 0 0 -0.213774 -2.56483 0 -0.32662 0.418882 -0.887172 0 0 0 0 0.358429 0.465043 0 0.467546 -0.465905 0 0 0 1.35523 0 -0.561394 1.72695 0 -0.496275 0.163865 1.70864 0 -0.574956 0.920581 -1.24058 2.6407 0 0 0 -0.0653608 -0.0175982 0 0 0 -0.00256611 -0.0903771 0 -0.000241082 0 0.00148254 0.0218582 0 0 0 0 0.0365842 0 0.0242118 0 -0.175475 0 -0.0358152 -0.714482 0 -0.00419271 0 0 -0.150517 0.000210742 -0.0890195 0 -0.0139784 0 -0.00546599 -0.0810128 -0.0295792 0.0048587 -0.0115918 0 1.46025e-05 0 0 0 -0.00075756 0 0 -0.00668584 0.0007251 0.278767 0.0256387 0 0 -0.0025836 0 0.0160903 0 0 -0.0506645 0.0352481 0.0682126 0.0543282 0 0 -0.12907 -0.162715 0.0665801 -0.225125 0.644699 0 0.120505 0.0174871 0.30044 0 0 0 1.16279 0 0.0710388 0.384945 0 0.0149582 0.0143286 0.0763823 0 -0.00225532 0.00836525 -0.000116988 0.0275803 0 0.145002 -0.0653608 -0.0340451 -0.0175982 0.241167 0.0309599 -0.0358107 0.0408386 -0.406926 0.0336288 -0.0604706 0.26882 0.00342344 0.0278442 -0.00619194 -0.0539386 -0.0392889 0.290063 0.57319 0.108796 0.33586 0.101335 0.20259 0.10841 -0.393731 0.0732563 -0.596202 0.00786711 -1.3507 -0.197243 0.964814 -0.525293 -0.000721576 0.107575 0.649705 0.0312336 -0.000113912 0.0241743 0.000455248 0.52088 -0.0298731 0.00850098 -1.46907 0.226188 -0.00630603 -0.0226715 0.0864103 0.0336003 0.0863449 -0.4123 -0.849535 0.350076 0.103141 1.07693 -0.0063687 0.373366 -0.280231 -0.318388 0.0963123 -0.19806 -0.381692 -0.780781 0.284704 1.84526 11.1112 -0.176681 -0.0474741 0.0323722 0.164802 0.605767 -0.143422 0.0591451 -0.141436 0.0597208 -0.185773 0.0852329 -2.03173 -0.0797756 -0.211158 -0.382246 0.664063 -1.24491 0.0397029 0.194008 -0.4192 0.406701 -0.0461997 0.0852875 -0.392014 0.407663 -0.536032 0 +288 0 0 0 0 0 -0.370834 0.169074 -0.0715462 0.120985 0 0 0.0856658 0.419546 0 0.693388 0.0586981 0 0 0 0.269421 0.549414 0 0 0 0 -0.3277 0 0 -0.656533 -0.0588708 0.374797 0 0.194795 0 0 -0.251481 0.0422395 0 0 -0.123744 1.06525 0 0 0.0374333 0.850967 0 0.947809 -0.712122 0.698013 -0.0209663 1.01722 0.191468 0 -0.523816 0.313568 -0.458074 -3.86574 -1.35908 -0.917028 0 0 0.0221905 -1.489 0 0.73009 -0.345228 0.294801 0 0 0 0 0.150818 0.0233931 0 -1.95536 2.28721 0 0 0 0.158772 0 0.789083 -0.682197 0 0.345641 -0.0686318 0.572823 0 -0.483486 0.00912155 0.849982 -0.980018 0 0 0 0.042142 0.00752046 0 0 0 -0.0431727 -0.0217331 0 -0.00415819 0 0.00326546 -0.0213613 0 0 0 0 -0.0644267 0 -0.0124822 0 -0.115329 0 -0.371586 -0.292955 0 -0.00258853 0 0 -0.0817889 0.000756024 -0.0126827 0 -0.00112383 0 -0.00239232 0.0301262 -0.01682 0.00861104 0.00826325 0 0.000265648 0 0 0 -0.000206226 0 0 0.00622826 0.00549691 0.0356502 0.0144851 0 0 -0.00796497 0 0.0129231 0 0 0.0056342 -0.0173795 -0.165706 -0.0334648 0 0 0.0137887 0.00156408 0.0623058 0.100922 0.0844722 0 -0.0405628 -0.0131908 -0.137145 0 0 0 0.292201 0 0.0247357 0.140088 0 0.00138938 0.0137683 -0.0628519 0 0.000152244 0.000219601 -0.00508125 0.0165263 0 -0.370834 0.042142 0.169074 0.00752046 -0.373755 -0.0107912 0.110656 -0.223086 1.02949 -0.00795004 -0.0159651 0.1184 -0.000913062 0.00535372 0.0162176 0.0481418 -0.0189345 -0.0494755 -0.792375 0.292975 -0.348722 -0.0634976 0.142587 -0.0983764 -0.0820347 -0.0801814 0.724319 0.00901654 -2.19714 -0.0594712 -1.29323 0.282922 0.00232342 0.00497178 -0.722712 0.0044548 -0.00307812 -0.0666166 -0.00695498 -0.20826 0.0758975 -0.0188293 -0.0831761 -1.09644 -0.00346744 -0.0132344 -0.126323 0.0529636 0.160806 -0.0397399 -1.03846 0.745254 -0.107789 0.245486 -0.0500709 0.626477 0.160768 -0.337062 -0.343111 -0.105755 0.111536 0.114052 0.112988 -4.0507 -15.298 0.0798345 -0.517416 0.0191456 0.322507 -0.305671 0.0563919 0.0720587 0.0291388 -0.11532 -0.142798 -0.563819 2.72332 -0.397125 0.42873 0.155083 -0.049228 0.556161 -0.0198527 0.109894 0.104532 -0.246348 0.00788019 0.0420341 -0.0178262 0.023104 0.256693 0 +289 0 0 0 0 0 0.173119 -0.381163 0.378535 1.43511 0 0 -0.774766 -2.17598 0 -3.63885 -0.193114 0 0 0 -0.593668 -4.83651 0 0 0 0 0.291931 0 0 0.890887 5.92967 -0.951649 0 -1.29869 0 0 0.184537 -0.100954 0 0 -1.55389 -1.64903 0 0 -0.258575 -8.95231 0 -1.04279 2.17603 -2.58238 0.642323 -0.276232 0.668895 0 0.504038 -1.09145 0.363972 0.985769 0.589272 -0.0587216 0 0 -0.265164 2.32216 0 1.69244 0.653817 0.921276 0 0 0 0 -0.639641 -1.09315 0 1.55144 0.675381 0 0 0 -2.44616 0 1.03106 -5.95469 0 0.530183 -1.1449 -3.21489 0 1.15362 -3.17072 4.57246 -13.1168 0 0 0 0.164275 0.0235532 0 0 0 -0.0406825 -0.0196261 0 -0.00208194 0 -0.000796528 0.015835 0 0 0 0 -0.025798 0 0.000266956 0 0.0432914 0 -0.533196 -0.0909368 0 0.00221849 0 0 -0.00927826 -0.00118515 -0.00391431 0 -0.004118 0 -0.0011089 -0.0274687 0.00725787 -0.0171033 -0.00098152 0 -7.22218e-05 0 0 0 -0.000220649 0 0 0.00204258 -0.0021194 0.199386 0.00819743 0 0 -0.000625284 0 -0.00117177 0 0 -0.0344071 -0.00234879 0.00488007 0.00760947 0 0 0.0229294 -0.0220502 -0.010494 -0.0633723 -0.0601039 0 -0.0417093 -0.00765302 0.0258655 0 0 0 0.262408 0 0.037981 0.150141 0 0.00239697 0.0124657 0.00362949 0 0.00116065 -0.00260192 0.00950446 0.0070738 0 0.173119 0.164275 -0.381163 0.0235532 -0.181319 -0.17701 0.760316 -0.192153 -1.14218 0.010497 0.0113704 0.120341 0.000880929 0.010717 0.076954 -0.0805378 -0.0221624 0.124249 -1.00609 -1.66491 -0.626406 -0.0177708 0.0928776 -0.18519 -0.28424 0.183094 -1.10917 -0.0471721 -14.0084 -0.355171 -2.27882 -2.33256 0.00770162 0.16967 -1.2821 0.0093944 -0.00262613 -0.0466036 -0.0343615 1.34575 -0.0568102 0.0279661 -6.09411 -3.1206 0.00243545 -0.0303779 -0.506008 -0.287145 -0.194653 -1.25364 -1.32048 1.56503 0.185311 -5.56014 -0.372187 1.11277 0.203291 -0.592142 -0.771958 0.232359 0.145966 -0.310804 -0.163466 1.4726 -4.46944 -0.0119655 -0.508562 0.117157 0.360054 -0.412616 0.0112385 -0.00129251 0.0141204 0.100354 -0.179166 0.0563119 4.7988 -0.606814 0.696321 0.0506552 0.097606 -1.46145 0.0165935 0.0248153 -0.215629 -0.21437 -0.0197898 0.147735 -0.41775 0.490357 -1.15919 0 +290 0 0.73202 -0.306186 0.0335954 0.0829466 0.144047 -0.188438 0.939865 1.79965 0.0469795 -1.74081 0.337558 0.146227 -0.00746898 0.938388 -0.000801393 -2.23825 -6.93435 -0.326204 -0.0143895 -0.237716 -0.0609252 0.489733 0.005617 -0.437066 0.625525 -0.753403 -0.102329 0.403739 -0.11161 0.126993 0.0323422 0.195571 0.592887 -0.593923 0.402114 0.0339526 -0.354039 -0.262064 0.588048 -0.436725 -0.0582061 -1.00638 0.0682671 0.86245 -0.44502 -0.379631 0.214782 0.203705 -0.207389 0.364249 -0.505925 6.14434 -0.0886799 -0.164693 -0.00483578 -2.23606 -0.14259 -0.388616 0.588683 0.172556 -0.926781 -0.38379 -0.881973 -2.31408 -0.203471 -0.541325 1.179 -0.221754 -0.013942 0.664544 -0.208793 0.297924 0.629328 -3.1499 -0.376454 1.6036 1.57448 1.04208 -1.13325 0.879102 -1.08047 1.10033 1.65871 -1.0848 1.45143 -1.24055 0.135723 -0.159397 0.154052 -0.198561 0.068735 0 0 0 0 0 0.0335954 0.0829466 0.00233451 0 0 0 0 7.75567e-06 0 -0.0118275 0 0 -0.00257491 -0.00338863 -0.00835974 0 -0.00051534 -0.0201012 -0.0447645 0 0 -0.0735829 -0.000283335 0 0.0269341 -0.9794 0 0 -0.0135236 -0.181729 0 0.0409578 0 0.0042167 0 0 0.000233131 0 0 -0.332612 -0.0016875 -0.037557 0 0.0304016 0.0591328 0 0 -0.189266 0 -0.00224941 0.373699 0.00190154 0 0 -0.00213354 -0.0110132 0 0.00568737 -0.000550201 0.0209297 1.74344 0.0303618 -0.07087 0 0.0123261 0.00302769 0.195052 -0.00213199 -0.0895738 0 0 0 5.56295 0.407206 0.704205 0.0382733 0.0158245 0.0104758 0.000374288 0.00163079 0.00426474 0.00105701 0 0 0 0 0 0 0.144047 0 -0.188438 0 0 0 0 0.241369 1.40882 0 0 -0.187005 0 -0.0206952 0 0.0587076 0 0 -0.548073 0 1.08066 0.0443946 -0.0800646 -0.0713341 0 0 0.701615 0 4.50812 0 0.504478 0.589585 0 0.262545 1.19232 -0.00736959 0 0.0371052 0 0 0.118019 0 1.90058 -1.12328 0 0 -0.156937 0 0 0.357976 -1.50238 0.0973107 0 1.20681 0 -0.233824 0.040052 -0.101036 0.0967032 -0.032344 -0.451226 -0.429768 0.0442313 -3.61652 -13.696 -0.0624603 0 0 0 -0.026815 -0.0297159 0 0 0 0 -0.515282 3.21569 1.38409 -0.530732 0.150295 0.0642085 -0.0764121 0.121243 -0.107689 0.0907601 -0.0794203 0 0 0 0 0 0 +291 0 -0.601136 -0.183823 -0.0146429 -0.0262238 0.00455978 -0.106551 -0.553419 -0.886189 -0.0856401 0.0181564 -0.0905888 0.0930574 0.00300005 -0.26985 0.0131566 -1.86502 -6.55958 -0.186905 0.0228608 -0.402521 -0.0465844 -0.221834 -0.00390093 -0.014926 0.0963462 -0.47122 -0.0904414 0.411047 0.331972 -0.169657 -0.025175 -0.0431489 -0.681594 -0.580839 0.050067 -0.0190855 -0.405765 -0.917487 -0.12985 -0.628681 0.0179969 -1.7048 -0.0308805 0.470202 0.088531 -0.589916 0.399892 -0.0291995 0.152875 -1.257 -0.282902 1.36715 0.0861306 0.0662286 0.0220837 -2.16365 -0.143845 0.235537 0.0784113 -0.0393768 0.614317 1.13179 0.320808 -0.230454 0.829424 0.313581 -0.124874 -0.532978 0.0348803 0.131627 0.00718019 -0.267622 0.608688 0.522724 -0.478247 1.44399 2.51806 1.82376 -0.237433 1.04188 -0.78867 0.847635 0.0128503 -0.106526 0.106796 0.828569 -0.0270003 0.0336718 -0.0778835 0.091997 -0.204445 0 0 0 0 0 -0.0146429 -0.0262238 -0.000355474 0 0 0 0 0.00024894 0 -0.0136413 0 0 0.000463216 -0.00103815 -9.77484e-05 0 -0.00107338 -0.0188074 -0.0426979 0 0 -0.164488 -1.58139e-05 0 -0.0232555 -0.545748 0 0 -0.0242813 -0.0879193 0 -0.105942 0 -0.0237098 0 0 -0.00313534 0 0 -0.412498 0.00673026 0.00228256 0 0.0160495 -0.0337523 0 0 -0.0157094 0 0.000555632 -0.0908284 -0.00198034 0 0 0.00129552 0.0018634 0 -0.000460025 -0.00906187 0.00536062 0.264508 -0.0221464 -0.00933859 0 0.0072284 0.00645227 -0.181237 0.122686 -0.0239124 0 0 0 2.1474 0.112973 0.109832 0.0135765 0.00130689 0.0453533 -0.000547188 0.00155453 -0.000870078 0.00831592 0 0 0 0 0 0 0.00455978 0 -0.106551 0 0 0 0 0.164195 -1.40108 0 0 -0.0384091 0 -0.00423701 0 -0.0625764 0 0 0.827185 0 0.383092 0.0278374 -0.123163 0.107549 0 0 -0.738081 0 -2.7783 0 3.14613 -0.571373 0 0.12988 0.996895 -0.0103185 0 0.0203245 0 0 -0.120461 0 -1.36319 1.77622 0 0 0.238043 0 0 -0.181607 2.57479 -0.0743251 0 0.103722 0 0.370765 -0.0545671 0.101716 0.697821 0.20911 0.0686559 0.0521941 -0.0134502 2.80097 11.6196 -0.162665 0 0 0 0.17433 0.0620806 0 0 0 0 0.391577 -10.6495 -0.795084 -0.220301 -1.31747 1.09832 -1.40899 -0.0540408 0.0258781 -0.00459618 -0.00349161 0 0 0 0 0 0 +292 0 0.389556 -0.190941 0.0340675 0.209117 -0.158301 0.0281344 -0.0724064 0.614197 0.637648 -0.649361 0.261111 -0.545928 -0.0022492 -0.458186 -0.00757559 -1.7836 -7.9092 -0.0277547 -0.0319949 -0.998197 0.00967221 -0.0324678 0.00638414 -0.0904771 -0.123133 -0.393218 0.0027366 -0.365182 -1.07108 -0.0177793 0.0630479 0.15456 0.0340181 0.189857 -0.161762 0.025781 0.030802 0.914951 0.360654 0.158116 -0.0129742 1.14721 0.0371931 -3.27192 -0.0601433 0.348855 -0.611814 0.0230192 -0.0753587 -0.51758 -0.401962 -6.1544 0.209024 -1.71874e-05 0.0336852 -2.21976 -0.416413 -0.461261 0.25893 0.0358015 -0.485991 -0.31187 0.751058 -0.679816 0.424792 0.391503 0.383301 -0.342175 -0.242656 0.413748 -0.655747 0.0660122 -0.335453 -0.367316 0.0298341 -1.44744 -4.30332 0.161503 -2.70072 -0.721455 0.316034 -1.09396 0.239941 -0.28326 0.549252 -1.00699 0.0183426 -0.0644196 0.18185 -0.278871 0.659626 0 0 0 0 0 0.0340675 0.209117 -0.00102003 0 0 0 0 -0.000256416 0 -0.00825147 0 0 -0.000779683 0.000548067 -0.00987783 0 -0.000515569 1.02398e-05 -0.0959246 0 0 -0.206047 1.65946e-05 0 0.00616454 -0.23996 0 0 -0.0201654 -0.00841128 0 -0.00999246 0 -0.00925804 0 0 -0.00046713 0 0 -0.0528084 -0.00453586 -0.0119019 0 -0.0154044 0.0190165 0 0 -0.0171028 0 3.77333e-05 0.238309 0.00270271 0 0 0.00389729 0.00262795 0 -0.0135565 -0.00973555 0.00414194 0.0245491 -4.27804e-05 -0.0239288 0 -0.00753398 -0.00933879 -0.140727 0.0442186 -0.0588644 0 0 0 2.81691 0.239204 0.518734 0.013674 0.0159807 -0.00232393 0.00113222 0.000102608 0.000779797 0.021164 0 0 0 0 0 0 -0.158301 0 0.0281344 0 0 0 0 0.347927 1.13133 0 0 -0.57495 0 -0.0629389 0 0.0342814 0 0 0.216839 0 0.367782 0.168915 -0.161757 0.0297058 0 0 0.477143 0 3.82093 0 2.71468 0.503509 0 1.09826 0.997188 -0.0177067 0 0.0594008 0 0 0.0893501 0 1.31258 0.111661 0 0 0.0161926 0 0 0.168085 2.21588 -0.252204 0 2.12942 0 0.530011 -0.0219802 0.115943 0.569211 0.165915 0.452239 -0.249565 0.0992039 -1.74751 -1.26113 -0.143615 0 0 0 0.194601 0.0699392 0 0 0 0 -0.330481 -6.44311 1.37865 -3.21134 -0.0528202 0.109053 -0.607846 0.283874 -0.221032 0.215288 -0.399955 0 0 0 0 0 0 +293 0 -0.920105 0.0216021 -0.106438 -0.306817 0.196218 0.283997 -0.467724 -1.83009 -0.316947 2.63805 -0.314192 0.76884 0.0306315 1.31286 0.0133355 1.01374 -0.253716 0.483704 0.0808397 1.88986 0.00778161 -0.255281 -0.0228839 0.520775 -0.6522 0.502729 -0.0187098 -0.396782 0.793682 0.401595 -0.106423 0.110036 0.245793 0.162509 -0.325012 -0.0561461 0.0347503 2.60888 -1.07511 1.26811 0.177105 -0.476171 -0.199125 2.6668 0.968785 0.86334 -0.1247 0.358814 0.509643 0.736452 1.58453 -4.90602 0.0509813 0.119064 -0.400958 -0.507338 -0.154209 -0.350615 -1.12897 -0.407961 -0.534328 1.18673 0.112483 1.5031 -0.0909395 -0.33381 -0.495447 0.0324261 0.00661293 -0.535971 0.197756 -0.490774 -0.154183 -0.286799 1.07673 -0.485004 -4.45004 -4.85809 3.45144 -4.09156 2.92879 -3.36774 -3.39768 2.68245 -3.09484 2.82711 -1.31851 1.60795 -1.76826 2.0809 -2.01236 0 0 0 0 0 -0.106438 -0.306817 -0.0123915 0 0 0 0 -0.00156165 0 -0.00972578 0 0 0.00241629 -0.00110557 0.010332 0 -0.00130017 -0.110567 -0.0154219 0 0 0.0210881 -0.000153234 0 0.0355372 -1.76601 0 0 -0.00265182 -0.380106 0 0.0372854 0 -0.024899 0 0 -0.00470425 0 0 -0.0324253 -0.0220464 0.04087 0 -0.18407 0.0389451 0 0 -0.0741728 0 -0.00559307 0.328118 0.005643 0 0 -0.0109328 0.0310968 0 0.0301765 0.108458 0.0196488 1.9157 0.0260099 -0.0662773 0 -0.0418744 -0.00827905 0.110084 0.175674 -0.0730613 0 0 0 -0.207429 -0.0715096 0.150022 0.0178834 -0.0248222 0.00752545 -0.00489583 0.00509347 -0.00463509 0.000903602 0 0 0 0 0 0 0.196218 0 0.283997 0 0 0 0 -0.300279 -1.96961 0 0 0.60197 0 0.0671811 0 -0.02918 0 0 0.233965 0 -0.992941 -0.121625 0.211095 0.0223294 0 0 -0.372199 0 -6.36095 0 -0.966599 -0.0531502 0 -0.704043 -0.984494 0.021994 0 -0.0543512 0 0 -0.188278 0 -0.746891 0.499272 0 0 0.0450651 0 0 0.019512 -0.679138 0.0835541 0 -2.08992 0 0.200763 -0.29148 0.128906 -0.2729 -0.0666535 -0.188933 -0.361655 0.0163646 2.01217 -1.82593 0.0608223 0 0 0 -0.264971 -0.115728 0 0 0 0 0.580462 3.09516 -0.691908 1.35672 -0.00618784 -0.083804 0.31887 -0.30715 0.177326 -0.211093 0.267107 0 0 0 0 0 0 +294 0 -0.781933 0.293424 0.0376416 0.0419921 -0.270855 -0.106366 -0.108417 -0.037062 0.234186 -0.0161363 0.130201 -0.899624 -0.0131382 -0.673896 0.0451775 2.47259 8.07024 0.270154 0.0455739 -3.20448 0.114141 -0.105771 0.0156235 0.079555 -0.0819047 0.724459 0.311785 0.0531757 -0.649869 -0.344876 0.072357 0.196735 -0.324975 1.09715 0.055052 0.0384554 1.0042 -1.29662 0.382812 -1.61044 -0.0636324 3.03062 0.0990629 -2.14968 -0.26202 -0.892445 -0.160843 0.36788 -0.238932 1.28354 -0.125158 -10.5175 0.0881553 0.0994562 0.0710521 2.24911 0.80292 0.27782 -0.0920828 0.136972 0.496018 1.52664 1.15944 0.00157622 -1.3593 0.318586 0.242304 1.55516 -0.0943397 -0.0988655 0.0450249 0.329963 -1.75801 0.655502 -0.356525 -3.97106 5.22628 1.76502 -0.660958 0.370589 -0.91169 2.91629 -0.809917 0.15456 0.432221 -0.0545178 0.356606 -0.49752 0.774405 -1.07316 1.64773 0 0 0 0 0 0.0376416 0.0419921 -0.00655094 0 0 0 0 -0.0013314 0 -0.0122636 0 0 0.00244397 0.0135683 -0.0172205 0 -0.00286467 0.0872135 -0.0375322 0 0 -0.089902 0.000984205 0 -0.0387089 -0.343964 0 0 -0.0205921 0.1778 0 -0.0705074 0 0.0176408 0 0 0.00143182 0 0 -0.159728 -0.018541 0.0334818 0 -0.0858733 -0.0262207 0 0 0.00544525 0 0.0139661 -0.062353 -0.0168521 0 0 0.0058127 0.0329085 0 -0.00610795 0.0195727 -0.00718421 0.30447 -0.0189075 0.00809338 0 -0.01877 0.0183191 -0.159596 0.208705 0.0548415 0 0 0 0.227537 -0.0075319 -0.0245009 0.00544879 -0.00634803 0.0189535 -0.000592786 0.0012786 -0.00446159 0.00482484 0 0 0 0 0 0 -0.270855 0 -0.106366 0 0 0 0 0.101317 0.140351 0 0 -0.293788 0 -0.0348769 0 0.0104786 0 0 0.148995 0 -0.20707 0.0455986 -0.0516636 0.0399649 0 0 0.000617185 0 5.0215 0 1.3316 0.190838 0 0.392639 0.101948 -0.00697305 0 0.0118049 0 0 0.029033 0 1.11562 0.590198 0 0 0.12952 0 0 -0.605865 3.25651 0.0973995 0 -0.659459 0 0.698995 0.0556787 -0.0817707 0.754028 0.169513 0.108292 -0.40021 0.0346235 2.43185 10.1402 -0.147002 0 0 0 0.39777 0.066048 0 0 0 0 0.0284795 -3.78316 0.871879 -1.70146 -0.690957 0.41489 -0.45257 0.133205 -0.136628 0.193341 -0.207524 0 0 0 0 0 0 +295 0 -0.249778 -0.0988696 0.045751 0.227322 -0.190815 0.0284879 0.618012 1.19096 0.413828 -0.171224 0.738149 0.308052 -0.00973974 1.86018 0.179873 0.740404 0.286293 0.159548 0.310206 -3.67059 0.0724941 0.0891141 0.00936028 0.0391537 0.0982619 0.391289 0.174684 -0.588696 -2.43091 0.518955 0.0620567 1.41992 0.52579 0.850146 0.0415834 0.113522 0.450935 2.43989 1.07833 -0.781446 -0.044843 2.84969 0.178224 0.419699 -0.143912 0.0666154 -1.20831 2.4595 -0.542409 2.46326 -0.353602 0.962689 -0.582756 0.738309 -0.447199 0.106353 -0.081925 0.723078 0.0954456 0.109208 1.482 -3.08409 1.13926 -0.630068 -1.19388 -0.409102 0.850066 0.94716 -0.119256 0.260511 0.379497 1.29767 -0.416026 -1.8436 -0.0514067 -0.48613 -7.8356 -0.309639 -3.85326 -1.53957 0.16364 -0.97572 -0.174174 -0.248896 0.745708 -2.41632 0.195863 -0.863977 1.83666 -3.56599 6.1635 0 0 0 0 0 0.045751 0.227322 0.0025288 0 0 0 0 0.000437698 0 0.0253092 0 0 -0.00158304 -0.00191467 0.0076562 0 0.00356424 0.0231321 0.0650403 0 0 -0.246327 -0.000118796 0 -0.0356539 0.346141 0 0 -0.0182853 0.0692753 0 -0.0705932 0 -0.0220121 0 0 -0.000825794 0 0 0.152625 0.00578267 -0.0222846 0 0.0309629 -0.030905 0 0 0.115712 0 -0.00124667 -0.135552 0.00790552 0 0 0.00385876 -0.011077 0 -0.020393 -0.0589054 0.0052576 -0.498751 -0.0313723 0.0203089 0 0.00796751 -0.025299 0.22578 -0.127074 0.0718736 0 0 0 -0.513029 0.0468646 -0.0760572 -0.0185249 0.01649 -0.0139005 0.00232467 -0.00272572 0.00285066 -0.00923747 0 0 0 0 0 0 -0.190815 0 0.0284879 0 0 0 0 0.315738 2.24786 0 0 -0.508545 0 -0.0468145 0 0.110968 0 0 -0.549917 0 0.251364 0.104769 -0.175212 -0.0456803 0 0 1.24153 0 6.52233 0 1.80705 1.29528 0 0.722301 0.881599 -0.0129854 0 0.0463151 0 0 0.199603 0 3.22085 -1.45533 0 0 -0.136013 0 0 -0.232674 2.63343 -0.200883 0 2.65148 0 0.421864 0.160726 0.0238904 0.503962 0.281276 0.70515 -0.0641809 0.0537659 -2.76337 -3.99093 -0.204526 0 0 0 0.488962 0.0607802 0 0 0 0 -0.675709 -0.789889 1.06719 -1.04306 0.0908538 0.0955415 -0.295674 0.171153 -0.135937 0.173412 -0.218364 0 0 0 0 0 0 +296 0 0 0 0 0 0.196971 0.00618773 -0.170317 -0.779264 0 0 0.121593 -0.882093 0 -2.60416 -0.0512837 0 0 0 -0.345102 -3.70533 0 0 0 0 -0.126637 0 0 -0.240879 -4.00315 -0.521071 0 -0.251083 0 0 -0.0671356 -0.015108 0 0 0.531265 -2.09011 0 0 0.0183845 -3.99218 0 -0.729793 -0.871505 -1.23512 0.0349115 -0.858085 -0.141562 0 0.295777 -0.196389 0.21866 1.65127 0.272947 -0.414028 0 0 -0.181251 3.81202 0 -0.176517 -0.113574 0.211579 0 0 0 0 -0.297062 -0.060919 0 1.26896 -0.135368 0 0 0 3.42442 0 0.27285 4.55672 0 0.452916 0.0887401 2.08315 0 0.342476 0.802843 -2.48837 10.9201 0 0 0 -0.0730653 -0.0124474 0 0 0 0.00182269 -0.0405835 0 0.00106528 0 -0.00422685 -0.0170696 0 0 0 0 -0.0429216 0 -0.00342101 0 -0.258424 0 -0.0458017 -0.264329 0 6.97864e-05 0 0 -0.0961793 -0.00375232 -0.0112272 0 -0.00148637 0 -0.00249902 -0.161482 -0.00786621 -0.0516328 -0.0101126 0 -0.000307305 0 0 0 -9.14009e-05 0 0 0.00992275 -0.00384651 0.0495554 -0.0483681 0 0 -0.0180382 0 0.00419689 0 0 -0.0281579 -0.0349395 -0.149087 -0.0445674 0 0 0.167946 0.0709361 -0.00211162 -0.182974 -0.24212 0 -0.288487 -0.00684918 -0.0280091 0 0 0 0.775496 0 0.083149 0.721274 0 -0.00828919 0.0920551 0.254285 0 0.00493034 -0.00784374 0.0226789 0.480587 0 0.196971 -0.0730653 0.00618773 -0.0124474 0.187312 0.100248 -0.0816111 -0.147754 0.116097 0.00846553 -0.0273501 -0.119948 0.000681343 -0.0155437 -0.00859918 0.0102315 -0.0256739 0.0987124 -0.85107 0.190103 -0.159167 -0.0153045 -0.106026 -0.0329459 -0.187762 -0.199874 0.218767 0.00504613 -2.65535 0.210885 -1.262 -0.333484 -0.00078935 -0.77434 -0.563381 -0.0116288 0.00485597 0.0398699 0.0460823 -1.41363 -0.00676374 -0.0262907 -1.04943 -1.24268 -0.00371518 0.0306642 -0.102396 0.0201118 -0.285275 0.122355 0.507312 0.0321442 0.0915137 1.13303 0.0119727 0.366898 -0.0395414 0.131051 -0.126539 -0.165272 -1.34083 0.105109 -0.111644 -0.220795 -0.230563 -0.188256 0.851612 0.0173772 0.152135 0.00337209 0.0374127 -0.00611482 -0.0177425 0.0212864 -0.10566 0.0393802 7.77942 0.189394 2.24691 -0.225338 -0.486676 3.61008 0.021604 -0.0784784 0.220782 0.855418 -0.012345 -0.0604828 0.316571 -0.532523 1.55099 0 +297 0 0 0 0 0 0.194774 0.508754 -0.687788 -0.968522 0 0 0.144037 1.92367 0 2.9485 0.0157747 0 0 0 0.0809667 2.44324 0 0 0 0 -0.292667 0 0 -0.796563 -0.826677 0.950176 0 0.0436463 0 0 -0.312271 0.0132435 0 0 0.688466 1.11011 0 0 0.199332 6.85532 0 0.909046 -0.725359 0.16461 -0.376023 1.51469 -0.583111 0 -0.27136 0.42495 -0.22126 0.189716 0.403122 0.544502 0 0 -0.221777 -0.379473 0 -0.885287 -0.334805 0.081501 0 0 0 0 0.390775 0.682974 0 -1.24403 0.523085 0 0 0 1.67791 0 -1.48997 2.84455 0 -1.09321 1.13349 -0.840466 0 -0.928594 0.917217 -1.72143 2.4015 0 0 0 -0.0419757 -0.0123504 0 0 0 0.001155 0.0350618 0 0.000362938 0 -0.00184645 -0.0150871 0 0 0 0 -0.0765954 0 -0.00584633 0 -0.156623 0 -0.0174925 -0.0803971 0 0.000783337 0 0 0.0130234 0.00020496 -0.00204684 0 0.00246298 0 0.00258743 -0.0712746 0.00633147 0.00268707 -0.00634966 0 -0.000134293 0 0 0 0.000180185 0 0 -0.00055069 0.00411478 0.0115542 -0.00351088 0 0 0.0118311 0 -0.00448959 0 0 -0.00573735 -0.012017 -0.114378 -0.0125727 0 0 0.0790439 0.0334608 0.011451 -0.0706923 -0.0609115 0 -0.036593 -0.00963436 0.111534 0 0 0 0.418646 0 0.0227734 -0.0579467 0 -1.40149e-05 0.0110291 0.0748599 0 -0.000258033 -0.00245389 0.0132924 -0.0150048 0 0.194774 -0.0419757 0.508754 -0.0123504 0.161562 0.0823167 -0.133283 -0.275716 -0.233578 0.00721792 -0.0587869 -0.0716834 0.000626152 -0.010576 -0.0109316 -0.00207457 -0.0502749 0.0727104 -0.0155556 1.8213 0.346817 0.0574567 -0.0590363 -0.0230801 -0.407849 0.0323529 0.0161656 0.0329053 2.88363 0.0697137 1.16724 1.48421 -0.000877546 -0.377545 0.626063 -0.00763186 0.00160261 -0.0140185 0.0105019 0.0837226 -0.0243381 0.00786021 1.94979 1.54539 -0.00688414 0.00906481 0.176453 0.233241 0.07213 -0.34886 -1.85902 0.543828 0.0517728 0.203862 0.0184482 0.166279 -0.0584003 -0.088161 0.326869 -0.533529 -1.07416 0.352674 0.0491922 0.36666 3.71473 0.00941763 -0.159882 0.0312591 -0.129516 0.387743 0.0258282 -0.0117736 -0.0147842 0.144636 -0.0510605 0.0242662 -7.1953 0.387712 1.9581 -0.297095 -0.16165 0.90132 0.0148709 -0.129993 0.478957 -0.588228 -0.00909316 -0.0546853 0.0592964 -0.10267 -0.187871 0 +298 0 0 0 0 0 -0.185026 -0.0200537 0.2436 1.3819 0 0 0.0638382 -0.163954 0 -1.40566 -0.016345 0 0 0 -0.0569278 -3.42358 0 0 0 0 0.0911094 0 0 -0.00579696 1.5113 0.0265339 0 0.0293007 0 0 -0.0440814 -0.0341548 0 0 0.16147 -0.709906 0 0 -0.0410956 -3.55416 0 0.222316 0.173274 -0.252877 0.228741 -0.800832 0.381525 0 0.102023 0.0742138 -0.175823 0.839327 0.0825575 -0.00638767 0 0 0.2109 5.50597 0 0.982763 0.281577 -0.361148 0 0 0 0 0.146448 -0.223893 0 4.08011 0.320961 0 0 0 -1.4014 0 0.554294 -2.99484 0 0.652529 -1.83782 -1.51507 0 0.656954 -2.43695 2.0011 -6.10701 0 0 0 -0.208368 -0.0170389 0 0 0 0.00816571 0.000913998 0 0.00133196 0 -0.00359996 -0.00428782 0 0 0 0 0.0267504 0 -0.000622057 0 0.037775 0 0.0554176 0.091447 0 0.00193551 0 0 0.295249 -0.00293694 0.0023059 0 0.000281539 0 -0.000112023 -0.00978123 0.0247234 -0.0410924 -0.00452246 0 -0.000259893 0 0 0 1.36582e-05 0 0 0.00774447 -0.000225159 0.0845014 -0.0165649 0 0 0.0191472 0 0.000245669 0 0 0.0114183 -0.0101959 -0.00248603 -0.0169195 0 0 0.0140573 -0.00286886 0.0104851 0.0168627 0.05412 0 0.062545 -0.00289743 -0.112658 0 0 0 -0.228078 0 0.0723465 -0.777555 0 -0.00588957 0.000445546 -0.192898 0 0.00380581 -0.0206214 0.0536417 -0.384568 0 -0.185026 -0.208368 -0.0200537 -0.0170389 0.451383 -0.078864 -0.0839857 0.0860937 -0.821243 0.00611191 0.0676421 -0.157434 0.000552046 -0.0188914 -0.00782942 -0.0315412 0.0210495 0.0605242 0.0603476 -0.566846 -0.460343 0.0847187 -0.22174 0.0988878 0.173139 0.122818 -0.426748 -0.0310228 -5.85517 0.227893 -2.50243 0.083154 -0.000705677 0.760948 -1.31 -0.0180235 0.00239946 -0.00838804 0.0445299 0.763713 -0.065947 0.0212702 -1.55364 -0.0504978 0.0081708 0.0155164 0.16386 -0.151194 -0.272679 0.0932122 -0.440954 0.376642 -0.0097212 -0.501712 0.0103248 1.06045 -0.12665 0.0770093 -0.214389 -0.159107 -0.88893 0.472767 0.0290624 -0.062772 -4.25088 0.0683207 0.85475 0.0646266 0.10227 -0.123444 0.0366662 0.00917044 -0.00775183 -0.0226934 -0.112689 0.0651871 15.4259 0.127704 -1.24214 -0.03007 -0.914231 -1.21083 0.0184918 -0.0307064 -0.0613583 -0.43314 -0.00756916 -0.00716121 -0.204373 0.278832 -1.08092 0 +299 0 0.828475 -0.227817 0.00900215 0.0751083 0.0721073 -0.185493 0.511331 -0.272676 0.0996131 -0.325497 0.128316 0.412092 -0.000226755 2.23775 0.00504363 -0.167434 0.45174 0.0176449 0.00514388 0.979675 -0.00524064 0.561611 0.00029289 -0.152752 0.3471 -0.319137 -0.0160735 0.5218 0.339322 0.238501 0.00549606 0.133152 0.699883 0.00412082 0.443634 0.00635735 -0.258446 -1.15844 0.153045 0.138729 -0.00423477 -0.45825 0.00767437 3.09807 -0.0744308 -0.39072 0.435769 0.146237 -0.0233615 0.578326 -0.264417 -0.529602 -0.0117441 0.000385155 -0.0475529 -0.815977 -0.271002 0.0129588 0.273567 0.00902048 0.453072 -0.215505 -0.532307 -0.552418 0.171972 -0.344673 -0.148136 -0.39804 -0.00892695 0.135752 0.0992269 0.0271199 0.161195 -0.209072 -0.0858992 0.0995409 9.08677 3.10277 1.89396 2.46231 -1.04473 1.58173 0.782371 -0.298995 0.111143 0.957471 0.00324765 -0.00596296 0.0262 -0.0571314 -0.306384 0 0 0 0 0 0.00900215 0.0751083 -0.00103266 0 0 0 0 -8.18937e-05 0 -0.022937 0 0 -0.00228734 -0.00116516 -0.0128496 0 -0.00188106 -0.0295269 -0.137525 0 0 -0.0921106 -7.60456e-05 0 -0.00870465 -0.844972 0 0 -0.0107685 -0.231356 0 -0.0828865 0 -0.00628084 0 0 -0.000776626 0 0 -0.662113 -0.00175935 -0.0332824 0 -0.0215567 -0.0304422 0 0 -0.0722094 0 -0.00239784 -0.600446 0.0107994 0 0 0.00494238 0.00126979 0 -0.00794641 -0.00151797 -0.0251572 -0.985147 -0.0530811 -0.00757301 0 -0.0102072 0.0829335 -0.19624 -0.00878613 0.0600421 0 0 0 4.411 0.164534 0.916098 0.0302809 -0.0628251 0.617384 0.00305993 -0.00494697 0.0128822 0.196296 0 0 0 0 0 0 0.0721073 0 -0.185493 0 0 0 0 0.0825088 -0.0186773 0 0 -0.0624914 0 -0.00532717 0 -0.00926422 0 0 0.509347 0 1.05942 -0.0356491 -0.0450622 0.0767067 0 0 -0.0657375 0 3.58094 0 -0.137729 0.535027 0 -0.292226 1.26077 -0.00456272 0 0.0128833 0 0 -0.0100689 0 1.65879 0.312344 0 0 0.0536712 0 0 0.402576 -1.70285 0.139448 0 0.308547 0 -0.25963 -0.0240108 -0.0623415 0.0657872 0.116805 0.332299 0.0898614 -0.0686946 0.120356 2.78238 -0.0695555 0 0 0 -0.130879 0.0718254 0 0 0 0 0.0185907 -4.71606 1.10517 -0.816125 0.530104 -0.624423 0.850976 0.0812976 -0.0633518 0.0628755 0.168785 0 0 0 0 0 0 +300 0 0.777555 0.0996608 -0.000852917 0.0159573 0.0307995 -0.257735 0.537866 1.23165 0.00295034 0.131484 -0.00714218 -1.65347 1.34473e-05 -2.34001 -0.00896611 -0.0378696 0.895931 0.0435371 -0.0132548 -1.19702 0.00908184 0.0334592 -9.93678e-06 0.0555922 0.215363 -0.113808 -0.000970742 0.343077 -0.114131 -0.764254 -3.98959e-05 -0.220503 0.0172518 -0.016476 0.203955 -0.00214841 -0.0242441 -0.0497914 0.0213911 -0.760866 0.000125725 -0.234915 -0.00125297 -5.07939 -0.00122399 -0.726811 0.148861 -0.333571 0.00855344 -0.908964 0.207672 4.12151 0.0147874 -0.00196556 0.021031 1.96392 0.141679 0.0285161 -0.0314908 0.000315358 -0.0321739 0.226048 0.72275 0.746972 0.145183 -0.514705 -0.0133502 0.156346 -0.00085521 0.0942933 -0.0189673 -0.0679718 -0.11307 1.15988 -0.052632 0.516597 1.90667 -0.390966 -1.6807 -0.549145 0.659141 -1.87782 -0.236632 0.215883 -0.227746 -1.34414 5.34067e-05 -0.000509832 0.00304254 -0.013681 0.103052 0 0 0 0 0 -0.000852917 0.0159573 0.000299522 0 0 0 0 1.31779e-05 0 0.00998103 0 0 -0.00033191 -0.000343957 0.00267652 0 0.000406404 -0.00123329 0.0562199 0 0 0.0422318 -1.92214e-05 0 -0.0010642 0.00126144 0 0 0.00948347 -0.0233107 0 -0.0265286 0 0.0011091 0 0 0.000253455 0 0 -0.0497115 0.000274496 -0.00620007 0 0.00596095 0.0152758 0 0 -0.0128943 0 0.000405323 0.120033 0.00502981 0 0 0.000904872 -0.000602083 0 -0.00465295 0.0358136 -0.00528869 -0.0366178 0.0222644 0.0123083 0 -0.00584898 -0.0429574 -0.0561091 0.0164385 -0.0153863 0 0 0 0.586772 0.0426068 -0.136398 0.00364041 -0.0131928 0.077433 0.000481714 -0.0018281 0.0107005 -0.0499157 0 0 0 0 0 0 0.0307995 0 -0.257735 0 0 0 0 0.264284 -0.478919 0 0 -0.148152 0 -0.0153917 0 -0.0103791 0 0 0.069084 0 -0.221561 0.096135 -0.0712538 0.0011827 0 0 -0.132462 0 0.257769 0 -1.52599 -0.73036 0 0.664283 -0.484727 -0.00598329 0 0.043001 0 0 -0.0533882 0 -0.578984 -0.0617479 0 0 -0.0279194 0 0 -0.309218 1.22617 -0.0286423 0 -1.3329 0 0.38224 -0.0150291 0.0540259 0.000559412 -0.0530748 -0.187689 -0.201054 0.0234928 0.644104 -4.06497 -0.0105916 0 0 0 0.00303218 0.0260281 0 0 0 0 0.0437043 11.0162 0.646499 -0.789516 0.0571052 0.155808 -0.213259 0.0286265 -0.0317508 0.0679031 -0.393804 0 0 0 0 0 0 +301 0 -0.261322 0.0532551 -0.00899504 -0.188211 0.109561 0.00607325 0.35924 0.873657 -0.0494936 -0.101175 -0.0756037 -0.144853 8.87753e-05 0.251319 -0.00473977 0.436084 -0.36533 -0.0366202 -0.00448625 1.2211 -0.0175698 -0.164453 -0.000133261 -0.0969299 0.018563 0.316866 -0.00851011 -0.054626 0.118919 -0.059693 -0.00254285 -0.102261 -0.293703 -0.078919 -0.0118758 -0.00372633 -0.00214786 -0.303977 -0.0704593 0.358812 0.00147715 -0.412454 -0.00347521 0.732381 0.0234659 0.018949 0.0209228 -0.0791389 0.00518509 0.196904 -0.191833 -1.43598 0.0101109 -0.00903731 0.0658301 1.62465 -0.0226489 0.0775253 0.23342 -0.00102215 -0.647539 -0.820199 1.05602 -0.0260684 -0.0145147 0.0821805 0.148825 -0.0168065 0.00412529 0.684151 -0.182145 -0.0131954 0.120656 0.695207 0.0197923 0.263572 2.64582 2.23378 -2.33533 0.906144 -0.690559 0.799347 0.733884 -0.616607 0.789656 -1.67562 -0.00102389 0.00236447 -0.0131884 0.0360023 -0.107375 0 0 0 0 0 -0.00899504 -0.188211 0.000576114 0 0 0 0 4.63181e-05 0 0.0133876 0 0 -0.00135089 -0.000432834 0.00822831 0 0.000991534 0.0125536 0.130716 0 0 0.00570767 -3.43647e-05 0 0.0064791 0.400656 0 0 0.000701393 0.0847365 0 0.068195 0 0.00179918 0 0 0.000255052 0 0 0.268951 0.000959915 -0.0183501 0 0.0116775 -0.0131485 0 0 0.0592131 0 0.00133413 0.252394 -0.00349062 0 0 0.0026167 -0.000737558 0 7.17095e-05 -0.0339214 0.00271638 0.410744 0.010819 0.00804077 0 0.00790527 -0.0417237 0.0911221 0.00377529 -0.0376896 0 0 0 -2.36974 -0.0642525 -0.548776 -0.00504872 0.0178498 -0.353144 0.00169137 -0.00267451 0.00350851 -0.11589 0 0 0 0 0 0 0.109561 0 0.00607325 0 0 0 0 0.0788167 0.410675 0 0 0.296827 0 0.0193719 0 0.0275495 0 0 0.0392691 0 -0.142474 0.0958021 0.164169 0.0228755 0 0 0.336803 0 2.77759 0 1.08134 0.176114 0 0.466503 0.1053 0.0103864 0 0.0316262 0 0 0.0324173 0 1.0921 0.165609 0 0 0.0454205 0 0 0.327953 2.16144 -0.0902993 0 0.337099 0 -0.360214 0.167434 -0.163934 0.230138 0.0177033 0.0937939 -0.108769 -0.0123256 -0.250899 -0.728928 -0.0716424 0 0 0 -0.180941 0.0113599 0 0 0 0 0.0328455 -9.04231 -0.894213 -1.93207 0.0406849 -0.0528225 -0.0647503 0.0290375 -0.0625775 0.0577117 -0.342696 0 0 0 0 0 0 +302 0 0.245189 0.338607 -0.00953057 -0.1388 0.133191 0.259783 -0.190073 -0.890369 -0.036682 0.399448 -0.052621 0.136941 0.000142547 0.735155 0.0032191 0.584354 -0.253513 0.0533758 0.00784158 2.76202 -0.0110374 -0.353286 -0.000122377 -0.0303152 -0.471391 0.549246 -0.0158809 -0.48163 -0.144406 0.278142 -0.00214498 0.0473452 -0.579161 -0.0258951 -0.321198 -0.00273208 -0.119364 -0.800795 -0.122259 1.75265 0.00257614 -0.546611 -0.00716704 0.756478 0.0434759 1.01953 -0.381579 0.135673 0.00930111 0.900675 0.0286382 2.19695 0.0148834 0.00407451 -0.00325446 1.31675 -0.244775 -0.0157748 0.069484 -0.00181662 -0.63993 -1.53315 0.229514 0.98335 -0.0380201 -0.0209281 -0.047501 -0.0921043 -0.00197182 0.0546084 0.219214 -0.0230583 0.174796 0.0595903 0.637674 0.0444078 7.23994 1.16641 2.53579 0.776119 0.377569 0.0412438 0.379471 0.0579918 -0.743926 1.31445 -0.00359315 0.00847069 -0.0202675 0.0624207 0.17428 0 0 0 0 0 -0.00953057 -0.1388 -0.00289562 0 0 0 0 -0.000143147 0 0.00669119 0 0 -0.00341592 -0.00299558 0.00458952 0 0.000416922 -0.00502164 0.0676027 0 0 0.0399249 -0.000214726 0 0.000375404 0.068984 0 0 0.00808187 -0.0340049 0 0.00446361 0 0.00191064 0 0 0.000455101 0 0 -0.107109 -0.00200032 -0.0477908 0 -0.0405536 -0.0387372 0 0 0.0708652 0 -0.00591527 0.0306459 0.00785411 0 0 0.0069791 0.00499932 0 -0.0102784 -0.0314001 -0.0147222 -0.0874847 -0.0251692 0.0167769 0 -0.00722213 -0.0089274 0.00279426 -0.00853431 0.0382346 0 0 0 0.36869 0.0537389 -0.0694194 0.0100537 -0.0173313 0.0346992 0.00441486 -0.00693169 0.0127906 -0.0200784 0 0 0 0 0 0 0.133191 0 0.259783 0 0 0 0 -0.161373 -0.352357 0 0 0.45728 0 0.0521866 0 -0.00242335 0 0 0.217603 0 -0.853875 -0.0524438 0.161176 0.00817064 0 0 -0.0629191 0 0.344289 0 -2.20831 0.17767 0 -0.596392 -1.3446 0.0130728 0 -0.00413172 0 0 -0.0327124 0 0.22277 0.537638 0 0 0.0359335 0 0 0.13111 1.05937 0.0258116 0 -0.464988 0 -0.0514698 0.0318726 -0.0149495 -0.140719 -0.111127 -0.667187 -0.0528349 0.0376034 0.153017 0.698065 0.0127474 0 0 0 -0.122597 -0.0381061 0 0 0 0 0.103938 10.6121 -1.51834 2.80216 0.383343 -0.534134 1.00046 -0.0661805 0.0726661 -0.171521 0.286824 0 0 0 0 0 0 +303 0 0.701385 0.473382 -0.00394457 -0.0124018 0.032094 -0.0738926 0.843668 1.48861 -0.0439255 0.0869758 0.0199614 0.725826 0.000162125 -0.193175 0.0109287 2.33269 9.65178 -0.0320308 0.014366 1.15643 -0.00514527 -0.0456563 -0.000229352 0.0778684 0.59939 0.542942 -0.0076697 0.523609 0.995957 -0.109771 -0.00333338 0.221644 -0.0760476 -0.082577 0.326288 0.00159992 0.0340428 -0.753378 -0.0120273 0.0567843 0.00235258 -0.182525 -0.00236829 2.62721 0.0276998 -0.100857 0.710887 0.284729 0.00973044 -0.358326 0.128316 -4.44203 -0.00298237 0.0095654 -0.102276 -3.41503 0.0983733 -0.0198191 -0.0860415 -0.00560146 -0.371209 -0.0340378 -2.17819 0.174888 -0.241503 0.146385 -0.226721 0.291165 0.00690917 -0.321965 -0.194903 0.0918187 -0.123382 -0.879869 -0.301374 0.495314 5.75788 -0.19804 -0.0817186 -0.300038 0.623078 -2.04273 -0.462708 0.309147 -0.146263 -1.16958 -0.0022893 0.00267505 -0.0578715 0.0855701 -1.20199 0 0 0 0 0 -0.00394457 -0.0124018 0.00105162 0 0 0 0 3.98832e-05 0 0.00523212 0 0 6.18943e-05 -0.000770411 0.00304804 0 0.000447739 -0.00719191 0.0228503 0 0 0.0348468 -6.0276e-05 0 -0.00487088 -0.140863 0 0 0.011527 -0.0467168 0 -0.0461537 0 0.00257104 0 0 0.000862442 0 0 -0.135193 0.000570742 0.0018865 0 0.0147559 -0.0183476 0 0 0.0439801 0 0.00214775 0.00578039 -0.00270481 0 0 -0.000106833 -0.00181518 0 -0.00614003 0.0824055 -0.00372716 -0.160161 -0.00380978 0.0149956 0 -0.0137475 0.00602307 -0.0982959 0.0167515 0.0311465 0 0 0 0.854448 0.002785 0.006273 0.0138108 -0.0345343 0.0863216 3.87366e-05 -0.00213163 0.00757496 -0.0179519 0 0 0 0 0 0 0.032094 0 -0.0738926 0 0 0 0 -0.207844 -0.328203 0 0 0.136339 0 0.0138804 0 -0.00647804 0 0 0.0192917 0 -0.72158 -0.0692462 0.0578897 0.00860583 0 0 -0.0620408 0 -0.0563389 0 -4.45562 -0.802656 0 -0.349186 -1.77412 0.00526433 0 -0.0411078 0 0 -0.0369496 0 -1.04286 0.484942 0 0 0.0635057 0 0 -0.129876 -0.00407034 -0.049749 0 -0.703887 0 0.238497 0.0539961 -0.0227155 0.159533 -0.124655 -1.65167 -0.345168 0.0615342 0.237206 -4.51606 -0.0180442 0 0 0 0.036214 -0.0278595 0 0 0 0 0.0278935 31.2311 -0.141565 4.13712 0.485418 -0.155912 0.557922 -0.0436095 0.0425493 -0.0683143 -0.0154108 0 0 0 0 0 0 +304 0 -0.218835 -0.0718726 -0.0141834 -0.201997 0.261602 -0.107931 0.590015 0.430099 -0.0575031 -0.155846 -0.104617 0.724072 0.000222589 1.42395 0.0054871 0.301369 1.1579 -0.103107 0.0124652 1.96073 -0.0354653 0.0626949 -0.000200231 -0.166641 0.45451 -0.012414 -0.0199155 0.345847 0.920362 0.258393 -0.00344001 0.0462428 0.0691411 -0.04497 0.329695 -0.00363363 -0.10755 0.414768 -0.167289 0.453559 0.00396418 -0.195466 -0.00829825 2.851 0.0656843 -0.157079 0.623154 0.13971 0.00485274 0.169738 -0.180652 -0.0269499 -0.00132398 0.0139591 0.0194457 -1.06287 0.0282148 0.0149706 0.324026 -0.00319497 -0.482454 -3.696 0.341996 -1.28803 -0.046519 -0.245438 0.225307 -0.110921 -0.00215154 0.756632 -0.248662 0.0605727 0.14607 -2.94485 -0.599684 0.164908 4.72582 3.63297 -2.17184 2.01495 -0.634581 -1.68952 1.06767 -0.568181 0.352531 -0.666437 -0.00542861 0.0120777 -0.0776689 0.173316 -1.11076 0 0 0 0 0 -0.0141834 -0.201997 -0.00245238 0 0 0 0 -0.000141111 0 0.00799507 0 0 -0.00432676 -0.00408514 0.0072342 0 0.000576559 -0.00766202 0.105462 0 0 0.025545 -0.000293437 0 0.000244322 0.022165 0 0 0.00526423 -0.0448546 0 0.00614876 0 0.0018103 0 0 0.000473794 0 0 -0.130153 -0.00196769 -0.0603952 0 -0.0342564 -0.0497898 0 0 0.075333 0 -0.00501151 0.0277637 0.00965646 0 0 0.00884271 0.0042355 0 -0.0112967 -0.044635 -0.0176095 -0.121507 -0.0234507 0.018271 0 -0.00361223 -0.0173831 -0.0290722 0.00538297 0.040605 0 0 0 0.423415 0.0744198 -0.136144 0.0121458 -0.0202598 0.0394764 0.00560821 -0.00908695 0.0172628 -0.0338766 0 0 0 0 0 0 0.261602 0 -0.107931 0 0 0 0 -0.0212627 0.191457 0 0 0.487343 0 0.0424139 0 0.01138 0 0 0.0174306 0 0.357394 0.0108605 0.156488 -0.0495905 0 0 0.0711804 0 2.7895 0 2.34455 0.086817 0 -0.173003 0.911026 0.0104146 0 0.0122378 0 0 0.0307219 0 0.925163 -0.033382 0 0 -0.102538 0 0 0.079882 0.638828 0.0506679 0 -0.39312 0 -0.066218 0.104225 -0.0503903 0.305514 0.0460768 0.0263231 0.0208811 0.0679392 -0.189927 0.940799 -0.0503822 0 0 0 -0.103265 -0.0334134 0 0 0 0 -0.00563797 -18.8746 -1.83789 -0.986373 -0.218576 0.0602405 -0.31621 -0.0664407 0.0714538 -0.192695 0.185257 0 0 0 0 0 0 +305 0 0 0 0 0 -0.491594 0.0629505 0.197927 2.01803 0 0 -0.140343 -0.105087 0 0.163364 -0.00825546 0 0 0 -0.0768316 -5.95868 0 0 0 0 -0.0579931 0 0 -0.452441 3.95198 0.19715 0 -0.0153502 0 0 -0.135878 -0.0218406 0 0 -0.432115 -1.83087 0 0 -0.165926 -0.852087 0 -0.246896 0.415524 -0.0285672 0.241528 -0.439159 0.352733 0 0.0870988 -0.0358081 0.24833 -0.0271581 0.0894546 0.121676 0 0 0.635556 2.74962 0 0.755322 0.508101 0.835644 0 0 0 0 0.125023 -0.333525 0 0.815351 0.55253 0 0 0 -2.44572 0 0.549427 -4.79223 0 0.207128 0.0055279 -5.01001 0 0.193221 -0.198489 0.658698 -8.81119 0 0 0 -0.0714133 -0.00177383 0 0 0 0.00477551 -0.00490965 0 0.000212941 0 5.36144e-07 -0.00192596 0 0 0 0 -0.00788096 0 -0.000476045 0 -0.0627039 0 0.054854 0.0118097 0 -5.4733e-05 0 0 -0.00479592 1.01725e-05 0.000603192 0 -2.01434e-05 0 -0.000350612 -0.00958588 -0.00164009 0.000142437 -0.000325887 0 3.82992e-08 0 0 0 -1.4385e-06 0 0 2.0862e-05 -8.10041e-05 -0.0292484 -0.00122037 0 0 -0.000146473 0 0.000718167 0 0 -0.00230562 1.84569e-05 0.0258847 0.00151335 0 0 -0.0105804 0.0421407 -0.000181271 0.0551496 -0.00599688 0 -0.0177925 5.61624e-05 0.0405034 0 0 0 0.0610614 0 -6.08182e-05 0.00112039 0 -2.24305e-06 0.000103837 0.0307537 0 -3.87977e-06 0.000179605 -0.000337536 0.000421617 0 -0.491594 -0.0714133 0.0629505 -0.00177383 -0.196941 -0.124673 -0.00805062 0.299942 -0.0294037 0.000136015 0.0711117 -0.0147478 2.5162e-06 -0.000248546 -0.000165632 -0.000821129 0.040998 0.00710977 0.536502 -0.841415 0.213342 0.231682 -0.0587573 0.0816711 0.450023 0.211641 -0.0405956 -0.00885813 8.57196 0.115301 1.25914 1.55481 -3.19628e-06 1.50118 0.648132 -0.00131393 -0.00054675 0.0430049 0.0022172 1.29245 3.15075e-05 0.0345143 3.4311 1.42941 0.0069681 0.00261996 0.240579 -0.0894648 0.0480715 -1.46132 -0.674124 -0.581121 -0.10158 -5.07307 0.000167332 -0.36428 0.000596147 0.0285567 0.0305107 -0.4933 -0.500707 -0.0556984 0.155909 -0.216621 -14.9463 0.168141 -0.979761 0.0106096 -0.465013 -0.457043 0.000184143 -0.0712622 -0.000166439 0.25049 0.148723 0.000152751 -2.31963 0.0117807 -3.13296 -0.00795251 -0.500809 -1.35117 6.25386e-06 -0.147052 0.146248 -1.26583 -1.58506e-05 -0.0661734 -0.103063 0.034031 -0.962292 0 +306 0 0 0 0 0 -0.127274 0.246059 -0.867716 -2.02587 0 0 0.0379413 0.41444 0 0.931415 0.000154786 0 0 0 -0.0166043 -1.50732 0 0 0 0 -0.4937 0 0 -0.89486 -2.41635 0.418537 0 0.0360488 0 0 -0.278633 0.001698 0 0 0.260778 -0.266678 0 0 0.0197932 1.15455 0 0.261443 -1.29068 0.147088 -0.116834 -0.693055 -0.129631 0 0.0164162 0.107949 -0.0526412 -1.33927 0.277026 -0.294463 0 0 -0.612506 0.395289 0 -0.590637 0.198036 0.428285 0 0 0 0 -0.265647 0.263585 0 -2.8165 0.565459 0 0 0 3.18216 0 -0.360316 3.53484 0 -0.105505 0.32689 3.42249 0 -0.292882 1.01532 -2.01414 7.32748 0 0 0 -0.0402713 -0.00113684 0 0 0 0.00415241 -0.000257388 0 0.000159118 0 8.95827e-09 -0.00122889 0 0 0 0 -0.0186452 0 -0.000354168 0 -0.0551269 0 0.0464793 0.0113697 0 -1.61371e-05 0 0 0.00826247 -1.48514e-07 0.000377426 0 -1.05488e-06 0 -1.83906e-05 -0.0123817 -0.000292205 3.9324e-07 -0.000226077 0 1.62831e-10 0 0 0 -7.53586e-08 0 0 1.52262e-06 -4.32079e-06 -0.0102754 -7.06124e-05 0 0 2.124e-05 0 3.75484e-05 0 0 -9.32363e-05 -2.47642e-06 0.036811 8.83517e-05 0 0 -0.00178226 0.0270377 -6.20727e-06 0.0384361 0.0215728 0 -0.0173907 9.30952e-06 0.0338706 0 0 0 0.0535761 0 -1.67907e-07 -0.00792849 0 -6.19263e-09 4.80617e-06 0.0190969 0 -1.07113e-08 8.31314e-06 -1.47239e-05 -0.00708652 0 -0.127274 -0.0402713 0.246059 -0.00113684 -0.166361 0.00620779 -0.00561652 -0.2176 0.0171169 8.12645e-05 0.0364737 -0.0160083 1.58454e-06 -0.000170921 -0.000110269 -0.000357498 0.0390072 0.00392356 -0.290652 -0.57665 0.371606 -0.189002 -0.0317028 -0.0653681 0.303411 -0.220346 -0.0196979 0.00541563 3.37399 0.189562 -0.0590462 1.55418 -2.06871e-06 -1.21436 0.592334 -0.000768057 0.00543396 -0.0397886 0.0463977 -1.06186 0.000539242 -0.0430929 2.69943 -0.806674 0.00506117 0.0222812 -0.0450569 -0.00935109 -0.154174 -0.293566 0.841132 0.42686 -0.0674709 -2.2199 0.000115843 0.664871 0.000750595 -0.0643881 0.0135908 0.194913 -0.310495 -0.000825927 -0.160246 -0.149871 -10.0891 0.0452199 0.0179868 0.13561 0.199456 -0.310686 0.000149736 -0.126507 -9.81821e-05 0.190292 -0.0689764 -0.000898332 0.108777 0.0148301 3.12467 -0.00354825 -0.266214 2.39058 1.22235e-05 -0.15117 0.255074 0.735411 -8.74723e-06 -0.18267 0.41003 -0.629461 1.35573 0 +307 0 0 0 0 0 0.193737 0.23035 0.165666 -0.482814 0 0 0.118573 0.510868 0 2.11647 0.0100328 0 0 0 0.070214 3.60956 0 0 0 0 -0.291771 0 0 -0.421433 -3.14224 0.538466 0 0.0139174 0 0 -0.112357 0.0174528 0 0 0.558375 1.52657 0 0 0.12417 2.9359 0 0.85527 -0.832383 -0.0754486 -0.0870088 2.06639 -0.158911 0 -0.0235554 0.228474 -0.405341 -2.47029 0.0534736 0.570984 0 0 -0.0682578 -4.41634 0 0.323685 -0.131456 -1.16402 0 0 0 0 0.341648 0.0279274 0 -2.96154 0.368252 0 0 0 -0.545828 0 -2.20029 7.00735 0 -0.576782 1.29255 0.901259 0 -0.705375 1.66827 -2.73953 8.46165 0 0 0 0.00154034 -0.000265888 0 0 0 0.0032784 -0.00779389 0 9.45403e-05 0 6.44737e-07 -0.000317129 0 0 0 0 0.00424207 0 -8.4557e-05 0 -0.00219139 0 0.0391729 -0.000879122 0 -2.20529e-06 0 0 -0.00334317 1.07203e-05 0.000346614 0 -3.19711e-05 0 -0.000556583 0.000762774 -0.000824225 0.000149823 -4.97814e-06 0 4.61148e-08 0 0 0 -2.28315e-06 0 0 2.17757e-05 -0.000129468 -0.00202761 -0.00189832 0 0 -0.000232785 0 0.00113761 0 0 -0.00367712 -6.07255e-06 0.0170503 0.00239713 0 0 -0.00312025 0.00910049 -0.000333077 0.0096966 0.0172474 0 0.000734668 0.000117166 0.01927 0 0 0 0.00854196 0 -6.3972e-05 -0.00209486 0 -2.35937e-06 0.000160762 0.00164666 0 -4.08096e-06 0.000278067 -0.000512325 -0.00280266 0 0.193737 0.00154034 0.23035 -0.000265888 0.241524 0.072458 -0.00137717 -0.374794 -0.054887 3.13932e-05 0.00275135 -0.0201387 5.02515e-07 -0.000217907 -2.96931e-05 -0.000780052 -0.0108129 0.00194154 0.652363 0.796667 0.0294704 -0.181631 -0.0292529 0.0397815 -0.151254 -0.285048 -0.0529409 0.0214942 2.68838 0.360184 -1.80192 1.03693 -5.80108e-07 -0.816974 -0.557321 -0.000429609 0.00928874 -0.0795682 0.0703899 -1.75397 -0.000488781 -0.0481199 2.59932 0.319788 0.0020241 0.051709 0.0405985 0.127851 0.0785693 0.973985 2.18424 1.85194 0.0367234 1.32766 2.93428e-05 1.24119 0.000229774 -0.398189 -0.0131975 0.0355023 2.41974 0.00431507 0.103526 -0.0132522 -5.0376 0.40769 0.70121 0.103017 0.59753 0.175565 1.13278e-05 -0.00706109 -4.21977e-05 -0.00130532 -0.261843 0.000384321 3.31958 0.0211317 -2.73064 0.000220228 -1.71805 4.46697 1.96673e-05 -0.568018 0.660431 0.00881553 -4.32849e-06 -0.37625 0.574868 -0.769533 1.63943 0 +308 0 -0.708174 -0.370377 0 0 -0.00248781 -0.303786 1.09526 2.2947 0 -0.275569 0 -0.652688 0 -1.02641 0 -1.10018 -2.90031 -0.0535881 0 0.529983 -0.00362135 0.217637 0 -0.0288172 0.573421 -0.425869 -0.00142814 0.6085 1.36685 -0.365037 0 0 0.540563 -0.0117816 0.363115 0 -0.0212404 2.96695 0 -0.254579 0 -0.0804609 0 -2.20815 0 -0.58322 0.939459 0 0 -0.125339 -0.0470584 1.54172 0 0 0 1.90881 0.0241654 0 0.0290557 0 0.367232 -0.343256 0.863333 -0.0785649 0.0592663 -0.665688 0.202843 -0.0670886 0 0.0451737 0.13989 0 -0.0179236 0.788147 -0.727823 -0.125648 -8.65259 0.292475 -6.25286 -0.270206 0.647564 -6.29832 -0.0388398 0.0378151 0.192651 -5.16446 0 0 0 0 -3.85624 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00248781 0 -0.303786 0 0 0 0 -0.0649966 0.29816 0 0 0.0347129 0 -0.00282881 0 0.000843637 0 0 0.232739 0 0.289806 0.0507145 -0.0128633 0.0338991 0 0 0.0270108 0 0.114288 0 1.4922 -0.268901 0 0.299558 0.212456 -0.00162573 0 0.00237588 0 0 0.0220252 0 0.177354 -0.308798 0 0 -0.0201873 0 0 -0.259034 0.930719 -0.0675551 0 -0.911596 0 -0.0890918 -0.0904434 0.126972 -0.0325081 -0.132117 0.286413 0.198956 0.0911262 -0.587026 -6.36908 0.113869 0 0 0 0.055169 -0.0497774 0 0 0 0 -0.0898594 -6.91823 -0.820652 -0.590007 -0.307719 0.296814 -0.857591 0.000517622 -0.0045108 -0.0119064 -0.175733 0 0 0 0 0 0 +309 0 -0.570576 -0.319128 0 0 -0.148403 -0.228157 -0.339015 -1.1202 0 0.213617 0 -1.71261 0 -2.22377 0 -2.56368 -10.5261 0.0132255 0 -2.12592 0.0027588 -0.100725 0 0.0363832 -0.307721 -0.567775 0.00269986 0.369709 0.454057 -0.634203 0 0 -0.620904 0.0110748 -0.0454757 0 0.0339856 -2.33774 0 -1.10034 0 0.157098 0 -5.99352 0 -0.628662 0.431639 0 0 0.744893 0.116597 9.4761 0 0 0 5.97037 -0.12556 0 -0.0738295 0 0.823708 2.9883 0.84425 0.921123 -0.169176 0.161861 -0.06547 0.109438 0 -0.121293 0.113601 0 -0.0618735 5.04532 -0.159389 -0.262523 5.63478 -0.725317 4.28646 -0.0407754 0.0215715 1.39942 -0.221204 0.271787 -0.461101 0.901852 0 0 0 0 -1.28101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.148403 0 -0.228157 0 0 0 0 -0.29013 0.281501 0 0 0.10887 0 0.0164643 0 0.00387835 0 0 -0.399997 0 -0.0937219 -0.0991472 0.0203961 -0.0436409 0 0 0.014879 0 -9.78677 0 -0.94713 -1.30652 0 -0.424718 -0.452655 0.00407784 0 -0.0490477 0 0 0.0404207 0 -3.55177 -1.40446 0 0 -0.157437 0 0 0.239925 2.0522 -0.128927 0 1.6495 0 -0.140268 0.165109 -0.105679 -0.281308 0.0841248 1.40006 0.254969 0.0978064 -0.423457 8.14064 0.069245 0 0 0 -0.0209603 -0.0796439 0 0 0 0 -0.0845971 2.5819 -0.592379 1.5615 0.042469 0.0459978 0.237008 -0.151454 0.156127 -0.128302 0.175136 0 0 0 0 0 0 +310 0 0.329597 0.228685 0 0 -0.0347146 0.102118 -0.926779 -1.73251 0 0.303395 0 -0.709012 0 -1.4433 0 0.260707 -1.23302 0.0338843 0 -1.68366 0.00688876 -0.41599 0 0.0595974 -0.650262 0.421786 0.00183969 -0.308745 -1.05005 -0.33045 0 0 -0.866946 -0.0196236 -0.441423 0 0.00623616 -1.88489 0 -0.393764 0 -0.113485 0 -2.83692 0 0.115451 -0.600897 0 0 0.509667 0.115551 0.999989 0 0 0 5.53616 -0.0558403 0 -0.0645238 0 1.18575 3.76584 1.83731 1.57729 -0.149463 1.16261 0.0392022 0.151472 0 -0.132646 -0.0646177 0 0.0414049 5.45751 0.75423 -0.0888162 3.83135 -2.22147 8.22948 -1.19316 1.33685 4.24916 -0.571999 0.596341 -0.658528 4.4669 0 0 0 0 2.96246 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0347146 0 0.102118 0 0 0 0 -0.058027 -0.234744 0 0 0.0905644 0 0.0127481 0 -0.0017286 0 0 -0.409167 0 -0.689437 -0.0229438 0.048408 -0.0228412 0 0 0.0124418 0 -5.042 0 -1.06453 -0.874194 0 -0.180816 -0.861552 0.00548169 0 -0.0146855 0 0 -0.0360235 0 -2.37733 -0.27017 0 0 0.0201994 0 0 0.595425 1.66411 -0.0213231 0 3.27492 0 0.39179 0.0242463 -0.0166695 0.400609 0.22074 0.133991 -0.0262408 -0.0132575 -0.0176593 18.5018 -0.152099 0 0 0 -0.0714932 0.0470898 0 0 0 0 0.0704296 -9.66578 -2.60703 1.94138 -1.4139 1.00657 -0.470394 -0.189518 0.167297 -0.142227 0.0525536 0 0 0 0 0 0 +311 0 -1.16493 -0.199292 0.00149833 0.0360699 -0.156669 -0.071762 -0.476737 1.22069 0.00781737 -0.22048 0.0409605 -0.298629 -3.04838e-06 -0.56248 0.00133365 0.095243 -2.89715 -0.0253537 0.00193337 2.30291 0.00180676 -0.121812 3.90884e-06 -0.0801331 0.119231 0.352089 0.0100272 -0.118742 -1.23079 -0.159654 0.000181136 0.0636259 0.43373 0.0827384 -0.214368 0.00103711 -0.0397812 5.13022 0.0817096 1.08465 -0.000149138 0.26751 0.00184192 -1.57082 -0.00673078 0.531532 -0.514828 0.0945703 -0.0031799 -1.00027 0.0349675 -0.177177 -0.00204023 0.00233811 -0.0149407 -1.24059 0.00638655 -0.0419173 0.0811998 0.000205185 0.092135 -1.89102 0.558225 -1.37911 0.0748445 0.121161 0.877357 0.0619701 -0.000196603 0.548284 0.0748695 0.0305941 0.0817868 -0.966368 -0.0574876 0.302436 -15.765 -0.183474 -5.5303 -1.11195 1.51172 -4.91515 -0.18694 0.286826 -0.0819003 -1.43376 2.67193e-05 -0.000331997 0.00565689 -0.0700687 1.17541 0 0 0 0 0 0.00149833 0.0360699 -0.00211067 0 0 0 0 -6.02966e-05 0 -0.0058755 0 0 1.21474e-05 -6.69348e-06 -0.000570189 0 -0.000138068 7.02993e-05 -0.0247807 0 0 -0.0030703 -5.82672e-07 0 0.00212717 -0.194177 0 0 0.000815298 0.0023887 0 0.0355571 0 0.000104375 0 0 4.43217e-05 0 0 0.0649227 -0.000836797 0.000252365 0 -0.0288473 0.0141675 0 0 -0.0230375 0 -0.000418944 0.0522496 0.00148241 0 0 1.69956e-05 0.00432937 0 -0.00111964 0.0119019 -0.00413105 0.0862809 0.000285902 0.00367446 0 -0.00685669 0.00231733 0.00512549 -0.000908546 -0.0178078 0 0 0 0.0993541 0.00443111 0.0583268 -0.00210575 0.00555236 -0.00423453 -9.50371e-06 -8.11082e-07 -2.74755e-05 0.00361879 0 0 0 0 0 0 -0.156669 0 -0.071762 0 0 0 0 0.394331 0.437768 0 0 0.0154739 0 -0.00921645 0 0.0106044 0 0 -0.923812 0 -0.184518 0.16125 0.0376857 -0.0873935 0 0 0.121398 0 -13.0184 0 3.80527 -1.11291 0 1.22978 0.541212 0.00277703 0 0.0527287 0 0 0.0340882 0 -4.07774 -2.44869 0 0 -0.245779 0 0 0.38529 -0.197524 -0.599743 0 2.50257 0 -1.05922 0.00134915 0.169728 0.361999 -0.103821 -0.299811 0.517992 0.139387 -0.886201 10.6299 0.091723 0 0 0 -0.0355483 -0.0234676 0 0 0 0 -0.0787237 -17.1895 -1.36866 -2.73963 -1.458 1.19496 -2.01399 -0.0547388 0.0427081 -0.0213979 -0.500232 0 0 0 0 0 0 +312 0 0.0770564 0.193714 -9.90077e-05 -0.0104506 -0.0952974 -0.0197658 -0.0322284 -0.349397 -0.000576533 0.158278 -0.0174339 0.607828 1.13806e-07 0.743891 -0.000403665 1.12194 4.85842 0.0388024 -0.000608353 1.95688 0.00830366 -0.0786709 -1.85262e-07 0.0098434 0.0514298 0.255224 0.0104781 0.34319 0.242777 0.0489654 -1.06452e-05 -0.026509 -0.245157 0.0316443 0.0279045 -0.000298753 0.0347238 -2.11298 -0.0219627 0.757671 1.2617e-06 0.266684 -0.00042418 2.74703 -0.000242401 0.208365 0.331794 -0.0422757 0.000686637 0.735216 0.177067 -4.22961 0.000522617 -0.000739129 -0.00035063 -1.77943 -0.223284 0.035923 -0.107606 1.23303e-06 0.346325 -1.09771 -0.0815991 0.803397 -0.423364 0.238273 -0.479282 0.173852 1.4234e-05 -0.127374 0.0646512 -0.0226427 -0.0252834 -0.328947 0.0194752 -0.0650509 9.03557 0.132358 2.64305 0.626663 -0.635328 2.40424 -0.339219 0.462481 -0.598107 1.06292 9.62262e-07 3.74771e-05 -0.000366132 0.0166124 -0.231853 0 0 0 0 0 -9.90077e-05 -0.0104506 0.000162609 0 0 0 0 3.80574e-06 0 4.22105e-05 0 0 1.66074e-06 3.73152e-07 3.23221e-05 0 5.56419e-06 -3.72974e-05 0.0010167 0 0 -0.00682546 -1.10711e-07 0 -0.000107892 0.00631866 0 0 -0.000574889 -0.00305167 0 -0.00304199 0 -0.000104275 0 0 -8.57799e-06 0 0 -0.0175421 5.32586e-05 0.000185664 0 0.00227597 -0.000939073 0 0 0.00139473 0 3.5505e-05 -0.00629554 2.99528e-05 0 0 -1.04886e-05 -0.000367683 0 0.000221196 -0.00100819 7.8413e-06 -0.0110077 0.000977912 0.00123965 0 0.00096981 0.00106647 0.00136647 -0.000415924 0.00286597 0 0 0 -0.0159853 -0.00377599 -0.00278367 -6.19273e-05 -0.000554627 0.00730314 -1.07051e-05 -1.88675e-05 -7.32583e-06 3.81426e-05 0 0 0 0 0 0 -0.0952974 0 -0.0197658 0 0 0 0 -0.015777 0.62478 0 0 0.15377 0 0.0149507 0 0.0213703 0 0 0.331828 0 -0.258945 -0.0730592 0.124095 0.0527319 0 0 0.170002 0 1.75145 0 -1.71979 -0.775452 0 -0.212894 -0.43649 0.0131761 0 -0.0180419 0 0 0.0780003 0 -0.549869 0.682726 0 0 0.109755 0 0 -0.0398238 -1.57962 0.129742 0 0.603335 0 -0.498247 0.257295 -0.269723 -0.309391 0.0461147 0.517113 -0.240462 0.156257 -1.10475 4.58686 0.0287523 0 0 0 -0.130793 -0.138408 0 0 0 0 -0.147251 16.2642 1.41452 1.29613 0.540092 -0.196881 0.652751 -0.193828 0.252336 -0.236838 0.300169 0 0 0 0 0 0 +313 0 0.555257 -0.224565 0.00253709 0.114564 -0.0381954 -0.205541 -0.570044 -2.20359 0.0105843 0.720458 0.0413896 -0.720387 -4.44833e-06 -1.59597 0.000976977 -1.88204 -3.87033 0.153983 0.00160288 -4.5039 0.0276698 0.219094 4.82003e-06 0.149124 -0.0886097 -0.782206 0.0165286 0.48795 -0.0229557 -0.402477 0.000228762 0.0565671 0.0710785 0.0414113 0.218601 0.000969335 0.0274394 -1.04605 0.0652997 -2.28084 -0.000235529 -0.190207 0.00172098 -2.02633 -0.0122795 -1.17458 0.290836 0.0980957 -0.00341994 -0.400781 0.149191 4.39159 -0.00185939 0.00349057 0.00130382 0.990382 0.272038 -0.0457823 -0.137727 0.000327996 -0.917892 3.72454 -0.747168 -1.54402 -0.429707 0.085217 0.343409 0.264308 -0.000224729 -0.12977 -0.0969555 0.00932437 -0.0109357 1.17911 -0.102039 0.510359 -4.04232 -3.74135 8.04168 -2.31197 2.85675 -1.88807 -0.988171 1.1709 -1.43664 2.61994 4.87461e-05 -0.000439417 0.00590904 -0.0317598 0.0219228 0 0 0 0 0 0.00253709 0.114564 -0.00319568 0 0 0 0 -8.0922e-05 0 -0.00340924 0 0 -0.000152628 -4.76965e-05 -0.000461 0 -0.000128362 -0.000741983 -0.00942992 0 0 0.0408477 -3.47453e-06 0 0.00308428 -0.391244 0 0 0.00626172 -0.0368491 0 0.0654761 0 0.000608894 0 0 0.000111165 0 0 0.16763 -0.00115434 -0.00211849 0 -0.0467271 0.0216315 0 0 0.0343284 0 -0.0015972 0.119044 0.00119522 0 0 -0.00019611 0.00640071 0 0.00289537 0.0121678 -0.00338518 0.0775371 -0.00452367 0.00207989 0 -0.0102391 0.000906281 0.0424784 -0.0115766 -0.0155724 0 0 0 -0.580772 -0.0236452 -0.0476697 -0.00574959 0.00390697 -0.0185629 5.96043e-05 -9.24603e-05 0.000300666 0.00217066 0 0 0 0 0 0 -0.0381954 0 -0.205541 0 0 0 0 -0.0648904 -0.0587101 0 0 0.225449 0 0.0431119 0 0.0116714 0 0 -0.498259 0 0.887587 -0.036493 0.1703 -0.054159 0 0 0.0847486 0 2.95584 0 1.58882 -0.336247 0 -0.462691 1.33505 0.0235358 0 0.00573417 0 0 -0.00226444 0 -0.497632 0.539383 0 0 0.0678976 0 0 0.229469 -0.497907 0.139701 0 0.876248 0 -0.0728031 -0.0166352 -0.0844891 0.268403 0.0352653 -0.972748 -0.215125 0.0146065 0.301609 -0.0332794 -0.16094 0 0 0 0.125382 -0.013005 0 0 0 0 -0.0131243 -19.8913 -5.82835 5.76604 -2.26902 1.43381 -0.905975 -0.292814 0.208975 -0.169431 0.287375 0 0 0 0 0 0 +314 0 0 0 0 0 -0.431967 -0.298838 0.208346 2.27891 0 0 1.05687 -1.08944 0 -1.31312 0.196398 0 0 0 0.311347 2.53945 0 0 0 0 0.383867 0 0 -0.127144 -8.82304 -0.591804 0 0.557991 0 0 0.100097 0.193298 0 0 3.81639 -0.881028 0 0 0.94051 -2.40464 0 -1.08639 -2.32281 0.175861 -1.90935 2.84059 -1.8334 0 -0.347383 0.498794 -0.856521 -0.813539 -0.916688 -1.77321 0 0 -0.461388 2.706 0 -1.81868 -1.89065 1.27405 0 0 0 0 -0.673443 3.18787 0 -0.767415 3.2466 0 0 0 -6.01876 0 -6.68287 10.9852 0 -2.70172 3.29998 -3.37707 0 -3.94036 6.50043 -13.3195 30.5348 0 0 0 -0.228354 -0.0928584 0 0 0 0.050262 -0.032966 0 0.00477875 0 0.000273218 -0.0166959 0 0 0 0 -0.0914098 0 -0.0220098 0 -0.0637211 0 0.393577 0.231232 0 -0.000769152 0 0 -0.172611 0.00029948 0.0491929 0 0.0147331 0 -0.00222386 0.0374585 -0.00379137 0.0091973 -0.0138631 0 3.28814e-06 0 0 0 0.00108746 0 0 -0.00245169 0.00934579 0.0426113 0.0123666 0 0 -0.015983 0 0.0138427 0 0 0.00663858 -0.0313672 -0.136043 -0.0343547 0 0 0.0892956 0.0745189 0.0368431 0.0161014 -0.101487 0 -0.405068 -0.0235598 -0.102382 0 0 0 0.338181 0 -0.0575646 0.855646 0 -0.00532989 0.0983324 0.153598 0 4.84641e-05 -0.00470457 -0.0140793 0.549978 0 -0.431967 -0.228354 -0.298838 -0.0928584 0.419254 0.217412 -0.480202 0.845529 0.96376 0.152185 -0.035603 1.05346 0.0266185 0.221962 -0.141401 0.107851 -0.0641264 0.850931 -0.247811 1.44846 0.32212 0.0570716 0.1868 -0.0237847 -0.652121 -0.316786 0.974009 0.0209576 2.46871 0.0114886 2.88935 -0.44614 -0.0281785 0.536211 1.1292 0.0629102 0.00261748 0.109092 0.0621908 -1.57109 -0.0636704 -0.0562346 0.456181 -0.579781 -0.00356523 -0.042043 0.0221198 0.147297 -0.521583 -0.832536 -2.534 1.32541 0.193783 -1.51863 0.206866 -1.635 -0.185468 -0.721413 -0.438361 -0.190727 -0.376782 -0.966073 0.621086 -2.41748 -3.22037 -0.156272 0.54173 0.00089676 0.0466204 0.0502774 -0.53439 0.234441 -0.379458 0.251348 -0.0166674 -0.391429 -13.0703 -4.01191 -1.27944 -3.20918 1.43045 0.347369 -0.948147 0.679923 -0.488794 -0.842104 -0.756609 0.519603 -0.284907 -0.558665 2.01356 0 +315 0 0 0 0 0 0.385881 0.101956 0.657435 0.147254 0 0 0.809701 0.659513 0 2.12337 0.147506 0 0 0 0.262986 1.18148 0 0 0 0 0.0960762 0 0 -0.504602 -8.55469 0.398513 0 0.719021 0 0 0.130646 0.156078 0 0 1.99068 -0.103982 0 0 0.388249 3.6724 0 -0.0413236 -2.18747 1.24718 -1.02852 1.76034 -1.62449 0 -0.15999 0.129333 -0.58252 -0.382715 -0.484599 -1.42436 0 0 1.37008 1.74954 0 -1.40149 -0.847696 0.195476 0 0 0 0 0.208944 2.00101 0 -2.22575 1.55571 0 0 0 -0.811365 0 -4.08198 12.384 0 -2.14967 5.05007 -1.64857 0 -2.0478 6.61834 -10.7771 29.8586 0 0 0 -0.138465 -0.0276299 0 0 0 0.0310631 -0.0653752 0 0.00209441 0 0.00840703 -0.0220063 0 0 0 0 -0.0997976 0 -0.0157319 0 -0.181561 0 0.310783 0.440374 0 -0.00527068 0 0 -0.402153 0.00379918 0.0615481 0 -0.00516139 0 -0.00434885 0.207617 -0.0452103 0.0525167 0.0262435 0 0.000613629 0 0 0 -0.000348262 0 0 -0.0164802 0.000268551 -0.0297366 0.0506139 0 0 -0.036856 0 0.0124605 0 0 -0.0335469 0.000394246 -0.0525387 0.00818543 0 0 0.0674149 0.0407596 -0.0200843 0.0514076 -0.153941 0 -0.121227 -0.00387208 0.0267087 0 0 0 0.670878 0 -0.145744 1.14414 0 0.00960567 0.00350829 0.341329 0 -0.00582415 0.0275958 -0.0850944 0.572458 0 0.385881 -0.138465 0.101956 -0.0276299 0.960272 0.155398 0.00178911 0.683749 0.667677 0.0589948 -0.0256687 0.0813999 0.00806242 0.0168317 -0.0146555 0.0856026 -0.0081592 0.43545 0.320773 0.740321 -0.0332311 -0.0162029 -0.286349 0.0440427 -0.1593 -0.22925 0.724698 0.010118 8.75287 -0.00472798 0.507204 1.25868 -0.00437409 -0.163048 0.105276 -0.0379651 -0.00164322 0.0786709 -0.0118467 -2.02097 0.0400902 -0.0253989 4.35301 0.615642 -0.00214649 -0.00081139 0.0521494 0.0868016 -0.118685 0.919229 1.43414 0.0236277 0.0476414 -1.37079 -0.0351245 -1.03615 -0.230398 -0.0212138 0.304854 0.338599 -0.204813 0.227441 -0.519205 0.0548217 -4.41009 -0.0215209 0.417855 -0.116607 -0.304271 -0.341534 -0.0229961 0.019242 -0.167031 0.236617 0.23558 -0.272331 -2.29439 -0.4701 1.17666 -1.2104 0.357522 4.34562 -0.281719 -0.0823363 0.979707 -0.371883 -0.387183 0.234717 0.305725 -0.845812 3.06735 0 +316 0 0 0 0 0 -0.294425 0.369753 -0.633302 -0.259072 0 0 0.0419898 1.16032 0 1.95903 -0.0177538 0 0 0 0.125898 -0.777206 0 0 0 0 -0.427316 0 0 -0.880527 0.136065 0.655347 0 -0.158461 0 0 -0.357628 -0.00815825 0 0 -0.122848 0.243314 0 0 -0.119586 5.25634 0 0.609598 -1.03404 0.52272 0.11578 2.73808 0.110254 0 -0.161662 0.060867 0.127952 1.65401 0.85808 0.069699 0 0 -0.23826 0.934058 0 -0.556263 -0.237872 1.00562 0 0 0 0 -0.368541 -0.0261118 0 -1.27546 0.95723 0 0 0 -0.801456 0 0.0890807 0.641306 0 0.171807 -0.376936 3.04478 0 0.344286 -0.419241 0.975829 -0.504911 0 0 0 -0.000763814 0.0106558 0 0 0 0.0160971 -0.0160053 0 0.00326132 0 0.000661787 0.0377643 0 0 0 0 0.0752808 0 0.014929 0 0.210877 0 0.0866352 -0.10264 0 0.00020269 0 0 -0.00461827 0.000182385 -0.0144178 0 -0.0031548 0 -0.00111811 -0.0298628 -0.000166385 0.00329801 -0.0017513 0 4.45579e-05 0 0 0 -0.000226498 0 0 -0.0021821 -0.00150962 0.0623643 0.0118145 0 0 0.000353012 0 0.000933412 0 0 -0.0175623 -0.00219264 0.12567 0.0187535 0 0 -0.0897838 -0.0291511 -0.0392391 -0.0580661 -0.085317 0 -0.10672 0.00812501 0.0764398 0 0 0 -0.468925 0 -0.0193652 0.23321 0 0.000501641 0.018726 -0.0485113 0 -0.000510135 0.000769718 -0.00731724 0.150548 0 -0.294425 -0.000763814 0.369753 0.0106558 -0.176236 -0.0300921 0.236732 0.00285798 0.640864 -0.0113717 0.00465852 0.13089 -0.00227286 0.0185163 0.0302011 -0.0219249 0.0100957 -0.0474991 -0.489654 0.404806 0.417648 -0.182668 0.0124781 -0.0633965 0.0887163 0.0538766 -0.210652 0.00513243 7.3305 -0.0546494 2.26509 1.25881 0.00408189 -0.0695904 1.17142 0.00227675 -0.00321561 -0.0891821 -0.0275359 0.450088 0.0910111 0.00772859 2.39226 -0.0717052 0.000514422 -0.00246734 0.0333924 0.0590468 0.0141766 0.556319 -0.253288 0.582056 -0.0194359 0.0491153 -0.101886 -0.329784 0.157885 0.0114952 0.199691 0.146384 -0.40349 -0.0379955 0.0723217 0.959261 -1.78178 -0.210764 0.301289 -0.0113469 -0.000370481 -0.368438 -0.015965 -0.0153275 0.0419063 0.0542277 0.0434638 -0.118177 -10.2464 -1.57323 -0.835992 -0.899575 1.68948 -4.14721 -0.0314084 0.221761 -0.571766 0.352291 0.042234 0.0315006 -0.126098 0.208003 -0.622115 0 +317 0 -0.766556 -0.382749 -0.13044 -0.236826 0.19572 0.324218 -1.69466 -4.4333 -0.580475 3.70463 -0.307456 0.0929174 0.0569196 0.154023 -0.0392673 -2.19277 -10.0791 0.518106 -0.0454852 3.00665 0.131007 -0.120942 -0.0697618 0.976034 -0.926035 -0.216994 -0.0328719 -0.392589 0.378901 0.108432 -0.238501 -0.376578 0.787532 -0.517166 -0.542362 -0.0834347 -0.461253 7.13089 -0.865119 1.72854 0.231313 -2.24243 -0.259978 0.526477 0.862912 0.989165 -0.115182 -0.681277 0.629862 1.32684 1.8387 3.75921 0.13307 0.0100011 0.0539015 -2.78328 -0.617334 0.0660708 -1.57229 -0.451674 0.847588 -2.23218 -3.65563 3.18085 0.234896 0.482393 -2.8204 -0.636078 0.297633 -2.67774 0.409025 -0.668316 0.655833 -0.088763 0.135689 1.50684 -31.146 -14.7759 10.9415 -8.20949 7.07131 -11.0496 -3.86599 3.96132 -6.18879 8.21441 -1.28716 1.57499 -1.71686 1.84619 -1.25956 0 0 0 0 0 -0.13044 -0.236826 -0.00472892 0 0 0 0 0.000982074 0 0.00472933 0 0 -0.00447502 -0.0221041 0.0689384 0 0.00540861 -0.122306 0.087424 0 0 0.117679 -0.00160469 0 0.0115325 -0.713509 0 0 0.0216259 -0.204088 0 0.0417257 0 0.020985 0 0 0.00462222 0 0 0.0830471 0.0133874 -0.0600593 0 -0.0689403 -0.0614336 0 0 -0.0278867 0 0.00160233 -0.371487 0.00417795 0 0 0.00940092 0.0149259 0 -0.00989801 -0.0358295 -0.0210005 0.0526604 -0.0190537 0.0147502 0 -0.000115853 6.92673e-05 -0.191081 0.113317 0.00641931 0 0 0 0.415715 0.197189 -0.0503084 -0.0176445 0.0302187 0.106338 0.00630536 -0.0119083 0.0192324 0.027495 0 0 0 0 0 0 0.19572 0 0.324218 0 0 0 0 -0.438854 -1.9931 0 0 0.943526 0 0.117654 0 -0.0927491 0 0 0.415486 0 -0.305993 -0.181998 0.154365 0.0318039 0 0 -0.744374 0 -8.98992 0 1.82355 -0.0605843 0 -1.45775 -0.122774 0.0140393 0 -0.0381719 0 0 -0.256237 0 -1.83145 0.910083 0 0 0.0592098 0 0 0.157962 -2.65119 0.0189617 0 -0.706657 0 1.05368 -0.406147 0.299332 -0.615829 -0.00390193 0.0922914 -1.19469 0.22423 2.35128 6.96585 0.0908101 0 0 0 -0.25573 -0.209765 0 0 0 0 0.723477 -17.2957 -4.72396 3.09793 -0.792531 0.403764 -1.64022 -0.449358 0.480654 -0.816398 1.12181 0 0 0 0 0 0 +318 0 0.407273 -0.259989 -0.0748758 -0.262528 0.351908 -0.0560296 -1.3027 -3.82403 -0.410782 2.8121 -0.6982 -0.44338 0.0311135 -1.70636 -0.149035 -1.69091 -4.86973 0.495939 -0.303435 0.65715 0.129425 0.33979 -0.0360873 0.74474 -0.345733 -0.686692 0.0632326 0.653689 2.19867 -0.413916 -0.130094 -0.698814 0.741843 0.18397 0.0140392 -0.153816 -0.00772366 2.51515 -1.20289 -0.179069 0.138318 -0.459201 -0.266017 -1.65348 0.609277 -0.337787 1.18374 -1.53713 0.764596 -0.116816 1.77649 12.6845 0.363075 -0.266818 0.472143 1.35816 0.586546 -0.101301 -1.31322 -0.317232 0.893149 0.177516 -2.38124 2.29004 0.127343 0.580156 -1.90184 -0.169676 0.195262 -3.01734 -0.148296 -1.35647 0.265733 0.195295 -0.804093 1.06817 -13.9396 -10.5202 8.26548 -3.77719 3.42816 -5.12428 -3.9353 3.69719 -6.0546 9.45036 -0.908826 1.55362 -2.65251 4.36836 -7.30892 0 0 0 0 0 -0.0748758 -0.262528 -0.00016476 0 0 0 0 0.00167377 0 -0.0189892 0 0 0.00488899 0.0100729 -0.00438325 0 -0.00183205 -0.00472984 -0.138292 0 0 0.125858 0.000740845 0 -0.0702102 0.641209 0 0 0.00330064 0.178865 0 -0.182533 0 0.0153118 0 0 -0.000758362 0 0 -0.381176 0.0228492 0.0657402 0 -0.00623408 0.0188021 0 0 0.023601 0 0.018098 -0.0639836 -0.0467165 0 0 -0.0125695 0.0113135 0 0.0109056 -0.0130836 0.0319913 0.139633 -0.0329791 -0.011492 0 0.0020754 0.11847 -0.0584918 0.0553392 0.111214 0 0 0 2.25056 -0.198265 0.561393 0.038825 -0.0760883 0.24273 -0.00671427 0.012857 -0.0287174 0.0747509 0 0 0 0 0 0 0.351908 0 -0.0560296 0 0 0 0 -0.75099 -1.04462 0 0 1.04784 0 0.14344 0 -0.0836069 0 0 -0.0708494 0 0.785081 -0.220733 0.491646 -0.0418265 0 0 -0.555587 0 -6.34434 0 0.648642 -1.00345 0 -1.87823 1.0569 0.0726905 0 -0.092531 0 0 -0.148179 0 -2.97721 0.360756 0 0 -0.0195805 0 0 0.0486133 -3.25895 -0.220766 0 0.951009 0 1.41381 -0.400947 0.403835 -1.25472 -0.20022 0.290725 -1.17782 0.561267 2.28771 13.665 0.143953 0 0 0 0.0319146 -0.377794 0 0 0 0 0.383088 0.716021 -4.05002 7.23507 -1.15598 1.30166 -1.07692 -0.56449 0.663098 -0.972751 1.63408 0 0 0 0 0 0 +319 0 -0.774559 0.258309 0.00973433 0.0208922 -0.217656 -0.0375974 -0.58269 -0.0889393 0.0935252 0.275269 -0.00797254 -0.46348 -0.00408177 -1.58425 -0.0149707 2.32594 9.79185 0.0699966 -0.0101983 -0.710023 0.0276839 -0.04789 0.00558139 0.0340912 -0.0958991 0.70414 0.0573327 0.177473 -0.18504 -0.3622 0.0239122 -0.0542978 0.385055 0.0724397 -0.120179 -0.00035309 0.433632 3.58171 -0.0309344 -0.284778 -0.0123317 1.21983 0.00667835 -2.03855 -0.0162089 -0.113362 0.0150134 0.00538816 -0.00717922 -1.54894 0.489814 1.50437 -0.00451973 0.0242403 -0.0145549 -0.44201 -0.642708 0.260332 -0.170054 0.0218307 -0.0738931 0.370247 -0.147172 1.21197 -0.0483806 0.182592 -0.0877448 0.415143 -0.0488286 -0.0538251 0.137506 -0.132985 -0.20044 2.37128 -0.0042045 0.477783 -20.6192 -5.78003 2.23667 -3.67672 2.71896 -4.39708 -0.167636 0.260759 -0.292773 -0.492122 0.0241779 0.0056069 0.164948 -0.147958 0.615117 0 0 0 0 0 0.00973433 0.0208922 -0.00018275 0 0 0 0 -7.32352e-06 0 0.00160064 0 0 0.000818117 0.00340128 -0.00124436 0 4.23384e-05 0.00634859 0.00589792 0 0 0.0200699 0.000247237 0 0.0563573 -0.26797 0 0 0.00517046 -0.00822362 0 0.205897 0 -0.000776666 0 0 0.000410621 0 0 0.736012 -0.000124874 0.0113099 0 -0.00317115 0.0621202 0 0 -0.209498 0 0.00106153 -0.144576 -0.00220301 0 0 -0.00258581 0.000682763 0 0.0131326 0.0139231 0.01013 0.156292 0.0423025 -0.0314603 0 0.00319212 0.000988483 0.151667 -0.0528722 -0.154482 0 0 0 -3.05566 0.10745 -0.313446 -0.0737161 0.140421 -0.287071 -0.00128057 0.0024648 -0.00568365 0.0086587 0 0 0 0 0 0 -0.217656 0 -0.0375974 0 0 0 0 0.128496 0.0514798 0 0 -0.11764 0 -0.0113518 0 -0.000310087 0 0 0.51763 0 -0.570783 0.0507798 -0.0213414 0.0768241 0 0 0.0191456 0 -2.9891 0 1.26175 -0.878101 0 0.639841 -0.348982 0.00108541 0 0.00346602 0 0 0.00323145 0 -1.94496 1.22811 0 0 0.180474 0 0 -0.0867092 -1.3546 -0.0521727 0 0.80559 0 0.403753 -0.0190111 -0.028286 -0.169226 0.0391204 0.206936 -0.259457 0.085248 -0.684153 7.13797 0.0625933 0 0 0 0.183499 0.00438218 0 0 0 0 0.000163211 -14.8849 0.337502 -4.42816 0.0999562 -0.371541 -0.589784 0.0618383 -0.0634529 0.0245568 -0.46639 0 0 0 0 0 0 +320 0 -0.694489 -0.190806 -0.0957768 -0.321298 0.356947 0.0976251 -0.986096 -4.52963 -0.510124 4.16302 -0.43696 0.410183 0.0224197 0.958639 0.089029 0.98948 5.50583 0.742046 0.176148 -2.1649 0.141649 0.363959 -0.0231286 0.94365 -0.512419 -0.0882321 0.108442 0.0689846 0.937229 0.213728 -0.124656 0.407654 0.909319 0.501761 0.0444106 -0.050358 0.0603207 3.52384 -1.06116 -0.76041 0.141234 0.215508 -0.154098 2.20286 0.842377 -0.176957 0.380499 0.761599 0.467255 -0.470179 1.99208 -15.9183 -0.0942282 0.39844 0.378876 -2.63403 -0.480315 -0.122594 -1.64552 -0.351789 3.19147 1.24705 -2.8265 0.537878 -0.243091 -1.22105 -2.20145 0.0927543 0.176908 -2.64866 1.96134 -0.366005 -0.0467605 0.112021 -1.45256 -2.43137 -13.0125 -10.9645 6.71465 -4.14716 3.9721 -8.67032 -3.96511 3.24928 -7.04167 6.91401 -0.872175 1.01867 -2.31941 2.83276 -4.08149 0 0 0 0 0 -0.0957768 -0.321298 -0.00155088 0 0 0 0 0.000908029 0 -0.0215854 0 0 0.00171267 0.00455611 -0.000586009 0 -0.00171248 0.0133189 -0.123588 0 0 0.0576071 0.000332216 0 -0.0809993 0.479306 0 0 -0.000248613 0.131512 0 -0.212613 0 0.00595356 0 0 -0.00190095 0 0 -0.483444 0.0123375 0.0268176 0 -0.0225712 -0.0534351 0 0 0.123707 0 0.0123399 -0.468342 -0.0336849 0 0 -0.00414464 0.0128919 0 -0.00135465 -0.0171047 0.00839523 -0.233858 -0.0405854 0.00939513 0 0.00149374 0.111944 -0.127307 0.08981 0.0928466 0 0 0 2.70397 -0.156047 0.716828 0.0509129 -0.0990319 0.280961 -0.00175859 0.00360034 -0.0204494 0.125598 0 0 0 0 0 0 0.356947 0 0.0976251 0 0 0 0 -0.653609 -1.54517 0 0 1.2952 0 0.175835 0 -0.0576747 0 0 -0.148114 0 0.583359 -0.226952 0.528678 -0.0368939 0 0 -0.520444 0 0.300013 0 3.30718 0.414442 0 -1.63474 1.40922 0.0756382 0 -0.089476 0 0 -0.173776 0 0.706317 0.126301 0 0 -0.0299157 0 0 0.224388 -4.59844 -0.593952 0 -0.950944 0 1.69619 -0.311522 0.451402 -0.620456 -0.09905 -0.645644 -1.43256 0.595572 1.05512 -7.45994 0.0746253 0 0 0 -0.40158 -0.334456 0 0 0 0 0.519619 -18.5979 -6.44392 5.87698 -1.72392 1.92941 -3.24125 -0.6096 0.714493 -1.12361 1.3098 0 0 0 0 0 0 +321 0 0.641413 0.399763 -0.0192529 -0.11244 0.29254 0.247875 -1.02578 -2.96833 0.0280916 0.920679 -0.128378 -0.0630054 0.00404313 -1.18082 -0.0134876 2.011 6.81223 0.0138793 -0.00163981 0.377412 0.0201081 -0.250304 -0.000956367 0.189639 -0.455152 0.746258 -0.0201687 -0.202106 -0.0136873 -0.145469 -0.00202379 -0.193321 -0.392862 -0.226554 -0.304985 -0.00905419 0.049341 -1.22301 -0.3347 0.448415 0.0387316 -0.321563 -0.02494 -0.494065 0.366063 0.36871 -0.101682 -0.18183 0.0850938 -1.53762 0.346128 -10.8515 0.0441573 0.0895481 0.21898 -3.28077 -1.21365 0.0981728 -0.486669 -0.116138 0.0445671 -0.248237 -1.70009 -0.571183 0.479054 -0.611465 -0.55082 -0.547022 -0.0505215 -1.4862 0.418642 -0.140056 0.127672 1.52109 -0.789366 -0.913897 1.00183 -3.75811 8.69836 0.282997 0.0329922 2.81951 -1.00933 1.09823 -1.8878 5.04092 -0.379011 0.377217 -0.789989 0.721158 0.0596061 0 0 0 0 0 -0.0192529 -0.11244 -0.00353598 0 0 0 0 -0.000592359 0 -0.0284032 0 0 0.00377223 0.0070314 -0.0212783 0 -0.00263977 0.0580144 -0.221615 0 0 0.0314274 0.000518279 0 -0.00857358 0.806606 0 0 -0.00197544 0.262469 0 -0.0377298 0 0.00456407 0 0 -0.000382761 0 0 -0.149792 -0.00832689 0.0529255 0 -0.0508961 0.0269437 0 0 0.026134 0 -0.00383498 -0.244958 -0.00724954 0 0 -0.0117066 0.00933295 0 0.00824806 0.0125636 0.0190308 -0.464091 -0.00567886 -0.011976 0 -0.0106597 0.0673966 -0.0117925 -0.0373771 0.00227497 0 0 0 1.67478 -0.162933 0.764965 0.0217697 -0.0442762 0.188592 -0.00553665 0.0107434 -0.0295107 0.141697 0 0 0 0 0 0 0.29254 0 0.247875 0 0 0 0 -0.329897 -0.0518161 0 0 0.366384 0 0.0433591 0 -0.0224513 0 0 0.256675 0 -0.603162 -0.137595 0.0810669 0.0373568 0 0 -0.264776 0 0.979945 0 -1.88508 -0.118992 0 -1.24559 -0.801238 0.00814048 0 -0.0319722 0 0 0.0140105 0 -0.620352 0.906803 0 0 0.111868 0 0 0.184184 -0.437212 -0.475028 0 1.76464 0 -0.821988 -0.124603 0.191518 -0.86754 -0.115368 0.980192 0.347988 0.212112 -2.33659 -3.14091 0.150198 0 0 0 0.000564008 -0.159086 0 0 0 0 -0.0435602 10.9458 -0.503358 4.10171 0.61129 -0.989588 2.19187 -0.19876 0.238859 -0.351063 1.03803 0 0 0 0 0 0 +322 0 -0.477498 -0.340883 -0.0216658 -0.10989 0.0066691 -0.296899 0.524153 0.971026 -0.196603 0.183062 -0.195508 -0.56301 0.00445426 0.239364 0.0418535 -1.696 -5.97913 0.074809 0.036247 -0.200025 0.0174545 0.130801 -0.00473467 0.0632794 0.326663 -0.554204 0.044905 0.73196 2.15981 -0.277095 -0.0304045 0.311606 0.208105 0.170805 0.295934 -0.0199853 0.108708 1.54399 -0.449057 -0.658694 0.0262226 -0.143728 -0.0575065 -0.515548 0.135677 -0.737822 1.25036 0.216575 0.216201 1.76676 0.327879 2.29663 -0.0719847 0.0867298 0.0361743 1.52298 -0.298459 0.144157 -0.0754981 -0.0721559 1.01452 -0.0682556 -0.242868 1.41799 -0.250631 -0.473207 -0.582062 0.051892 0.0648654 -0.145992 0.339689 -0.0250412 -0.103234 0.502617 -0.934957 -0.83573 -9.84157 -1.4345 -3.65872 -0.864266 0.2792 -3.27583 -0.275407 0.0441014 -0.467663 -4.17129 -0.140476 0.308061 -1.41353 2.1811 -9.40565 0 0 0 0 0 -0.0216658 -0.10989 -0.00253627 0 0 0 0 -2.37414e-05 0 0.00403882 0 0 8.09832e-05 0.00119018 0.00417604 0 0.000139894 -0.000847863 0.0404857 0 0 0.165527 9.31662e-05 0 0.00514277 0.170855 0 0 0.0245839 0.0360703 0 0.0704676 0 0.0205502 0 0 0.00266039 0 0 0.343564 -0.00043425 -0.000118511 0 -0.0363583 0.0295765 0 0 -0.114488 0 0.00109771 0.115015 -0.00550801 0 0 -0.00293487 0.00678284 0 0.00920556 -0.0141134 0.0118785 -0.0241768 0.0129753 -0.0185389 0 -0.000163952 0.0168579 0.0208593 -0.0239164 -0.0394111 0 0 0 -1.48188 0.0406358 -0.216353 -0.0326408 0.0625291 -0.147554 -0.000736778 0.00142197 -0.00155706 -0.0144764 0 0 0 0 0 0 0.0066691 0 -0.296899 0 0 0 0 -0.291347 -0.282845 0 0 0.118371 0 0.008562 0 0.0215864 0 0 0.21185 0 0.438311 0.0269719 0.106354 0.0361935 0 0 0.150973 0 -1.15276 0 0.984953 -0.210667 0 0.0326872 0.299201 0.0111194 0 -0.0203204 0 0 -0.0284861 0 0.25167 0.183185 0 0 0.0475059 0 0 0.0965419 0.031598 -0.196307 0 0.624989 0 0.387773 -0.101558 0.117272 -0.342902 -0.0342939 0.318554 -0.0944585 0.0603246 -1.00765 -1.91002 0.0792743 0 0 0 0.0128972 -0.0574129 0 0 0 0 -0.00462024 -15.8588 -0.018598 -3.45726 0.0960277 -0.406775 -0.0259784 -0.0513232 0.0527348 -0.103107 0.125549 0 0 0 0 0 0 +323 0 0 0 0 0 0.0507744 0.229604 -0.996679 -1.45059 0 0 -0.448183 1.08054 0 1.29927 0.0580834 0 0 0 0.268382 1.53969 0 0 0 0 -0.324256 0 0 -0.132796 2.37013 0.507669 0 0.464964 0 0 -0.227899 -0.0688451 0 0 -1.48963 0.608381 0 0 -0.266367 3.49964 0 0.613085 0.21956 1.34812 0.409305 1.16401 0.252518 0 -0.404373 0.00506314 -0.0766016 1.03485 0.556862 -0.102273 0 0 -0.290507 0.899425 0 0.0795216 -0.509889 0.850554 0 0 0 0 -0.171855 -0.350361 0 -0.0170689 0.250337 0 0 0 1.3081 0 1.72017 -2.51104 0 0.333875 -0.639608 1.54177 0 0.753953 -1.57116 3.16162 -4.41452 0 0 0 0.163732 0.0409429 0 0 0 0.000893257 -0.00254393 0 0.000637003 0 0.00304789 0.0220947 0 0 0 0 0.11083 0 0.0215754 0 0.178028 0 0.012208 0.0029828 0 -0.012584 0 0 -0.223265 0.000706413 -0.0275964 0 -0.00429208 0 -8.58608e-05 0.042455 -0.0608951 0.0141351 -0.00702672 0 0.000143959 0 0 0 -0.00020044 0 0 -0.00179274 -0.000905204 -0.242727 -0.00775489 0 0 -0.0116364 0 -0.000704005 0 0 0.00876468 -0.00424256 0.171775 0.00166088 0 0 -0.206729 -0.0492116 0.014714 -0.0385378 0.554214 0 -0.136929 0.00196274 0.00509411 0 0 0 -0.787971 0 -0.0523109 0.864185 0 -0.00329297 0.053406 -0.128443 0 -0.00045542 0.00754962 -0.0326288 0.501948 0 0.0507744 0.163732 0.229604 0.0409429 -0.178195 -0.0759884 0.495295 -0.193061 0.499077 -0.0361977 -0.0227099 0.391418 -0.00748456 0.0342167 0.0814945 -0.0161758 -0.04684 -0.151683 0.188202 0.430009 0.574632 -0.0635029 0.418551 0.0388314 -0.254371 0.148816 0.128856 -0.0136062 3.10632 -0.375745 2.95546 0.615757 0.0121781 -0.317766 1.63736 0.0592757 -0.00725348 -0.051385 -0.0725481 0.892271 0.0118578 0.0240509 1.0241 0.872935 -0.00487214 -0.037784 0.191957 0.0069686 0.310492 -0.616762 1.46996 0.493003 0.127811 0.733068 -0.215448 0.166183 -0.0504195 -0.159507 -0.407429 0.00644557 1.0434 0.30921 0.131911 0.249215 5.911 0.100262 -1.18766 -0.0913052 -0.0437435 0.46131 -0.0196862 0.0279083 0.0893162 -0.0488119 0.0492286 0.023786 -14.4796 -2.29136 1.54042 -0.239973 1.1408 -2.42818 -0.0126027 0.147388 -0.444147 0.0441796 0.0627723 0.112512 -0.332282 0.532717 -0.992381 0 +324 0 0 0 0 0 0.621088 0.331841 -0.366855 -2.06885 0 0 -0.25879 1.16894 0 2.20103 0.0396228 0 0 0 0.0519854 3.75416 0 0 0 0 -0.328374 0 0 -0.0352098 0.950089 0.614758 0 0.236435 0 0 -0.170524 -0.0491155 0 0 -0.863878 2.03651 0 0 -0.179993 4.14046 0 1.16638 0.537024 0.33044 0.367605 -0.104418 -0.415064 0 -0.232716 -0.0605113 0.136582 -1.05647 0.220335 0.0303079 0 0 0.155111 -3.45907 0 0.482987 0.728768 1.43125 0 0 0 0 -0.367136 -0.573446 0 -3.8011 0.18856 0 0 0 2.4673 0 0.817098 -0.110709 0 0.0662852 -0.278578 3.06848 0 0.842421 -0.838701 1.62066 -1.66078 0 0 0 0.100367 0.0202279 0 0 0 -0.0154631 -0.0174583 0 -0.00247649 0 -0.00266315 -0.0411047 0 0 0 0 -0.0428442 0 -0.00101072 0 -0.329717 0 -0.0713984 -0.748573 0 -0.00749947 0 0 -0.165701 -0.00105132 -0.116856 0 -0.00631733 0 -0.000743161 -0.295968 -0.0383718 -0.0244566 -0.0440599 0 -0.000122169 0 0 0 -0.000294108 0 0 0.00256367 -0.00278503 -0.0144064 -0.0416864 0 0 0.0104386 0 -0.000695511 0 0 -0.0148589 -0.0117171 -0.282164 0.0348693 0 0 0.0646738 -0.0182719 0.0165035 -0.456512 -0.00587606 0 -0.225918 0.0169006 -0.0024664 0 0 0 1.10315 0 0.10141 0.518134 0 0.00658708 0.0288681 0.368974 0 0.000905745 0.00404693 0.0178996 0.296255 0 0.621088 0.100367 0.331841 0.0202279 0.181886 -0.0127733 0.0904788 -0.813088 -0.486267 -0.035148 0.0469653 0.0749501 -0.00549673 0.0173519 0.0279186 -0.0462319 0.0056037 -0.223447 0.0513699 -0.715481 0.049564 -0.244041 0.23255 -0.0333713 0.112036 0.0139327 -0.27879 -0.0356687 1.23109 -0.0427139 -0.262494 1.18719 0.00544659 -1.72214 0.039604 0.0363236 0.00344385 -0.133936 0.0174924 -0.0142225 -0.0705719 0.00763616 1.86097 -0.535163 0.00517247 0.00223238 -0.204791 -0.186505 -0.355623 -0.49161 1.10756 -0.0827963 0.0359746 -2.3707 -0.0404648 1.64007 -0.159574 0.190419 -0.436318 0.201785 0.11014 -0.324259 -0.257143 0.17318 -2.35165 -0.0942605 0.252124 -0.0133268 0.116721 -0.466626 0.0451311 0.0477814 0.0846915 -0.224403 -0.0718776 0.248967 1.28603 -0.0652501 5.32816 0.60168 0.23076 0.429889 0.0852368 0.133114 -0.194607 0.942273 0.092471 0.0924488 -0.177952 0.415887 -0.572921 0 +325 0 0 0 0 0 -0.194951 0.114448 -0.00949756 0.99826 0 0 0.412437 -0.084605 0 -1.07941 -0.0752964 0 0 0 -0.325405 -2.22846 0 0 0 0 -0.0280512 0 0 -0.803097 0.357939 0.171464 0 -0.86471 0 0 -0.22268 0.0828029 0 0 0.917737 -0.724206 0 0 0.189167 -3.67869 0 0.0858301 -0.719732 -2.68067 -0.309458 -0.53246 -0.111242 0 0.619012 -0.0567179 0.0182884 -0.39787 0.332487 -0.464147 0 0 0.196851 2.19617 0 0.89588 0.305916 0.66546 0 0 0 0 -0.0198197 0.0281733 0 0.524001 0.102014 0 0 0 -1.19538 0 -0.66221 -1.9235 0 0.0136946 -0.199154 -1.94377 0 -0.32597 -0.909907 -0.247277 -2.20149 0 0 0 -0.0788986 -0.0522331 0 0 0 0.0412092 0.000944799 0 0.00447625 0 -0.00502098 0.0325315 0 0 0 0 0.108163 0 0.00140016 0 0.231111 0 0.302111 0.245398 0 0.0248609 0 0 0.680659 -0.00118902 0.0856998 0 0.00654672 0 -1.98825e-05 0.153537 0.136738 -0.0239403 0.038987 0 -0.000237056 0 0 0 0.000305508 0 0 0.00283218 0.00131369 0.2293 0.0265421 0 0 0.0530497 0 0.00145325 0 0 0.0254054 0.0218812 -0.0100824 0.0235161 0 0 -0.0249734 -0.133281 0.0252147 0.109117 0.312497 0 0.618115 0.00993256 -0.175939 0 0 0 -0.566104 0 0.0863111 -2.48189 0 0.00530236 -0.149339 -0.408443 0 0.000745135 -0.021143 0.0756873 -1.38975 0 -0.194951 -0.0788986 0.114448 -0.0522331 -0.123809 -0.00401786 -0.197736 -0.11965 0.757072 0.0831711 -0.0445816 0.360929 0.0142302 0.0696014 -0.0760464 0.0404649 -0.0144395 0.478585 -1.21553 0.246145 -0.332008 0.0556479 -0.217152 -0.134808 -0.409314 0.0999226 -0.0273288 0.0136208 -5.78204 0.024709 -1.45659 0.228896 -0.0150599 0.0165283 -0.967596 -0.0312026 0.00153761 -0.00118853 0.0123589 0.619985 0.14931 0.0153497 -1.71502 -3.32192 -0.00128941 -9.06786e-06 -0.344428 0.0597128 -0.039618 -1.09909 0.3002 -0.227393 0.100649 0.82266 0.0855938 0.965995 0.406019 -0.0966728 -0.0114355 0.280526 -0.181763 0.912125 -0.25668 0.472534 0.168455 0.16358 -0.473926 0.131194 -0.0505507 0.759959 -0.162573 -0.00224822 -0.18235 -0.237642 0.0357087 -0.240072 7.13623 -0.227415 -0.102017 -0.870965 -0.154423 -1.1074 -0.290462 -0.0677468 0.165302 -0.684908 -0.198057 -0.0326287 -0.0432565 0.0598681 -0.583263 0 +326 0 0.504778 0.276514 0.0373431 0.213024 -0.194322 0.00838352 0.574749 1.15771 0.372474 -1.00052 0.169278 0.23082 -0.00489427 0.677664 -0.0358806 0.776522 3.50993 -0.128519 -0.0840809 2.96218 -0.0213677 -0.34667 0.00658934 -0.15525 -0.0161914 0.287683 -0.01979 -0.113106 -0.334853 0.101792 0.0503922 -0.173757 -0.59635 -0.146089 -0.0384827 0.0119807 0.145957 -1.99522 0.293317 1.30242 -0.0317805 0.398492 0.0294032 1.58897 -0.186397 0.529568 -0.187825 -0.481211 -0.0681416 -0.395612 -0.207188 -0.266643 0.289732 -0.13401 -0.00104541 -2.23694 0.427585 0.54967 0.195898 0.0764596 0.264985 -3.00478 0.336128 0.382298 0.307143 -0.348204 -0.309997 -0.065999 -0.103116 -0.00207942 -0.199791 0.00752681 -0.135692 -1.65634 0.261352 1.02911 4.50522 2.24175 -1.64969 0.742314 -0.823109 2.69684 0.553823 -0.551864 1.3102 -1.1176 0.0796853 -0.0800556 0.139803 -0.138547 0.245134 0 0 0 0 0 0.0373431 0.213024 -0.00037282 0 0 0 0 -0.000211809 0 -0.0184967 0 0 1.0079e-05 -0.000411541 -0.0318742 0 -0.0047711 -0.0407725 -0.113274 0 0 0.0335191 -1.55864e-05 0 0.0247874 -0.321833 0 0 0.00397132 -0.0966801 0 0.0713173 0 -0.000112514 0 0 8.29469e-05 0 0 0.0188412 -0.00456074 -0.001329 0 -0.00880632 0.026302 0 0 -0.148313 0 -0.00207891 -0.588813 0.00654247 0 0 -0.000172462 -0.000622799 0 0.00215951 0.00194944 -0.0122876 1.01315 -0.0184826 -0.0211074 0 6.27823e-05 -0.0122867 0.00509073 0.025811 -0.21635 0 0 0 -0.551459 -0.0131348 0.366176 -0.00291251 0.00784056 -0.0967463 7.69067e-05 -0.00020228 0.00257259 0.127042 0 0 0 0 0 0 -0.194322 0 0.00838352 0 0 0 0 0.206057 0.152859 0 0 -0.74777 0 -0.0846324 0 -0.00424303 0 0 -0.117623 0 -0.784751 0.0833815 -0.28828 -0.0623639 0 0 -0.0209683 0 1.02156 0 -2.80589 -0.453805 0 0.48501 -1.37513 -0.0342189 0 0.0419088 0 0 0.0195168 0 -0.223764 -0.140939 0 0 -0.0966696 0 0 -0.44654 0.0451371 -0.156364 0 -0.873625 0 -0.104297 -0.0304987 0.0891231 0.220826 0.0980191 0.0877543 -0.0590181 -0.0879915 0.376614 -2.32739 -0.0801694 0 0 0 0.252237 0.105149 0 0 0 0 -0.0963064 16.2083 3.9309 -1.93958 0.794835 -0.387259 0.485964 0.208691 -0.164704 0.256986 -0.197272 0 0 0 0 0 0 +327 0 0.923777 0.0341057 0.00546155 0.12372 0.000282031 -0.273574 0.692394 0.929407 -0.0340633 0.0462632 0.155092 -0.377011 -0.000558208 -0.80663 0.0214046 -0.249882 1.32169 0.126479 0.0373207 -2.19758 0.033736 0.302494 -0.000173392 0.122512 0.473516 -0.454594 0.0292953 0.604586 0.279823 -0.334311 -0.00288308 0.275923 0.103397 0.165025 0.425751 0.0150703 0.132797 -2.73881 0.314965 -1.51088 -0.00820423 0.313433 0.0310267 -0.971046 -0.114597 -0.958673 0.496929 0.520377 -0.0646341 -0.56419 0.118097 -0.0083747 -0.0461829 -0.028916 -0.0493878 -0.907911 0.224135 0.130774 -0.127037 0.0209214 0.728202 1.15097 -0.829641 0.00425582 -0.188511 -0.483402 -0.0805923 0.211213 0.0330814 -0.514872 0.141825 0.128727 -0.383102 0.310564 -0.516381 -0.013482 5.27475 1.11168 -2.60107 1.63586 -1.9819 2.59135 -0.0554456 0.054496 -0.0434298 -0.621659 0.0489908 -0.0779965 -0.0178665 -0.0892284 -0.204849 0 0 0 0 0 0.00546155 0.12372 0.000773275 0 0 0 0 6.78542e-05 0 -0.00320789 0 0 -0.0009281 -0.00275064 0.00557935 0 0.000580634 -0.0127182 4.49243e-05 0 0 0.0676825 -0.000122268 0 -0.0111158 -0.113506 0 0 0.0108209 -0.0673699 0 -0.0960421 0 0.00127854 0 0 0.00010311 0 0 -0.646272 0.00138478 -0.0224869 0 0.0155632 0.0685423 0 0 -0.107543 0 0.000410004 0.179949 0.0204284 0 0 0.00191387 -0.00225276 0 -0.00382558 0.0161879 -0.0159636 0.0195915 0.0364144 0.0176116 0 -0.0021427 -0.101561 -0.0157218 -0.0104332 0.00307561 0 0 0 3.41439 0.184818 -0.0291042 0.0125572 -0.0303794 0.480046 0.000865239 -0.00216595 0.0287515 -0.0527173 0 0 0 0 0 0 0.000282031 0 -0.273574 0 0 0 0 0.0435675 -0.100535 0 0 -0.293423 0 -0.0351251 0 0.0156514 0 0 -0.459425 0 0.3241 0.0364696 -0.0775501 -0.073158 0 0 0.16898 0 0.126252 0 -2.48346 -0.69335 0 0.201302 -0.118837 -0.0105617 0 0.000798989 0 0 -0.021057 0 -0.899619 -0.403437 0 0 -0.0905454 0 0 0.0240714 0.422446 0.0808275 0 -0.458298 0 -0.039885 0.0509083 -0.0358607 0.330991 -0.0418702 -0.402624 0.339504 -0.0598947 -0.664692 -6.66248 -0.00611219 0 0 0 -0.14611 0.115858 0 0 0 0 0.0435743 15.9535 2.28926 -0.745562 0.679279 -0.705319 1.18858 0.138601 -0.11786 0.172405 -0.182756 0 0 0 0 0 0 +328 0 -0.683721 0.062812 -0.0488438 -0.113995 -0.00486001 -0.0113138 -0.483207 -1.0343 -0.356954 1.44826 -0.201195 -0.0243541 0.00849479 -0.187708 0.0626164 -0.411534 -2.17728 0.199596 0.132901 2.29718 0.04475 -0.181675 -0.00961612 0.314269 -0.151249 -0.0992484 0.00600211 0.321174 0.939807 -0.183214 -0.0647182 0.430726 -0.10283 -0.114751 -0.0872274 -0.0186297 -0.140159 1.10263 -0.505247 0.839412 0.0648624 -0.994388 -0.055702 0.690274 0.488292 0.135092 0.542045 0.889099 0.186533 -0.25617 0.474742 0.187579 -0.239959 0.271634 -0.214008 -0.752634 -0.00544679 0.101271 -0.480023 -0.158007 1.2737 -1.38815 0.574548 -0.279533 -0.377153 0.0331216 -0.286686 0.109738 0.118222 -0.460744 0.286772 0.00533337 0.342656 -0.6129 0.0302306 0.867012 -4.06766 -1.87559 0.115431 -1.54539 1.16052 -1.98296 -1.00901 0.857003 -1.69516 1.28447 -0.208747 0.153471 -0.379617 0.272458 -0.688 0 0 0 0 0 -0.0488438 -0.113995 0.000246653 0 0 0 0 0.000320681 0 0.032125 0 0 -0.000187226 0.000437275 0.0599592 0 0.0084399 0.106025 0.234204 0 0 0.187377 1.46059e-05 0 0.00931441 1.18135 0 0 0.0239247 0.371054 0 0.190414 0 0.0241768 0 0 0.00275494 0 0 0.674443 0.00693114 -0.0014077 0 0.00744112 -0.0104518 0 0 0.191952 0 0.0031123 1.15341 -0.0103504 0 0 0.00019437 0.00182832 0 0.00300244 -0.0342194 0.0250967 1.56825 0.0544811 0.0251706 0 0.0152553 -0.128108 0.340454 0.0218221 0.050731 0 0 0 -4.66185 -0.141015 -1.24088 -0.0193326 0.046477 -0.580364 -6.8585e-05 0.000218176 -0.00236009 -0.287268 0 0 0 0 0 0 -0.00486001 0 -0.0113138 0 0 0 0 0.0153 -0.886739 0 0 0.510752 0 0.0747645 0 -0.0187953 0 0 0.581969 0 -0.087506 0.0224287 0.273172 0.0717757 0 0 -0.219145 0 -1.91834 0 1.77215 -0.491295 0 0.146383 0.473972 0.0434876 0 -0.0067259 0 0 -0.099599 0 -0.881404 1.41741 0 0 0.187992 0 0 0.138218 0.528785 -0.143763 0 -1.45187 0 -0.199021 -0.0518642 0.0282074 -0.909313 0.00489134 1.32437 -0.431259 -0.00378471 0.577267 -4.06848 0.145942 0 0 0 -0.281644 -0.19625 0 0 0 0 0.276915 -7.97034 -1.83453 -0.132442 -0.57055 0.43619 -0.557254 -0.195664 0.128962 -0.138424 0.0377159 0 0 0 0 0 0 +329 0 -0.2273 -0.300469 0.00599149 0.0150893 -0.0590706 -0.271173 0.738815 1.26109 0.0294434 -0.603131 -0.0692433 -0.500945 -0.00112476 -0.974201 -0.0283659 -1.38216 -6.04497 -0.126677 -0.0674711 0.117395 -0.020673 0.151233 0.00119584 -0.109947 0.534444 -0.376784 0.0069074 0.518597 1.2481 -0.313857 0.00838182 -0.352662 -0.0658993 0.0157947 0.368423 -0.00339278 0.0196717 -0.481848 -0.162343 -0.573517 -0.00724549 -0.196006 -0.0132893 -1.89563 -0.0464775 -0.725246 0.835693 -0.764654 -0.0340268 -0.783282 -0.202831 -1.7777 0.217141 -0.0149152 0.0235247 1.55064 -0.611809 -0.264865 0.120979 0.0159807 -0.52381 0.666328 -0.800156 -0.0958946 0.15773 -0.567104 -0.310163 -0.024755 -0.0123161 0.0348466 -0.242277 -0.256172 0.135975 1.25101 -0.670343 -1.34635 -1.20757 0.882916 -3.11765 -0.114005 0.514566 -2.47986 0.148706 -0.00238338 0.311198 -2.3498 0.00191801 0.00708482 0.031568 0.0999167 -3.07859 0 0 0 0 0 0.00599149 0.0150893 -0.000220448 0 0 0 0 -6.17647e-05 0 -0.00456191 0 0 0.000338861 0.00102284 -0.00829417 0 -0.00145571 0.00561264 -0.0125658 0 0 0.0301101 4.79894e-05 0 0.0182277 0.0481584 0 0 0.00102185 0.0516519 0 0.0784437 0 0.00490895 0 0 0.0004164 0 0 0.299246 -0.00131744 0.0070499 0 -0.00480816 0.00554024 0 0 0.00436593 0 -0.00047482 0.0583089 0.000999956 0 0 -0.000640921 0.000289448 0 0.00388194 -0.0349321 0.00230647 1.73771 0.0076424 -0.00677659 0 0.00817344 -0.0878666 0.12267 0.0454077 -0.126747 0 0 0 -2.95491 -0.128927 -0.173951 -0.0141962 0.032865 -0.449123 -0.000241322 0.00046204 -0.0068015 -0.00221521 0 0 0 0 0 0 -0.0590706 0 -0.271173 0 0 0 0 0.0146111 -0.691034 0 0 -0.42451 0 -0.0637563 0 -0.0170678 0 0 0.183807 0 0.217152 0.0627504 -0.223809 0.0254201 0 0 -0.242084 0 -2.6055 0 0.122641 -0.330329 0 0.367991 -0.194324 -0.037351 0 0.0121762 0 0 -0.0601164 0 -0.77342 0.54336 0 0 0.0619254 0 0 -0.146641 -0.163551 -0.0706587 0 -0.672377 0 0.477882 -0.0641217 0.0053959 0.706309 0.000969953 -0.305533 -0.586181 0.0487293 -0.0234833 -4.95393 -0.0806293 0 0 0 -0.147498 0.0964684 0 0 0 0 0.220097 -0.205354 0.852105 -0.589398 -0.261035 0.561969 -0.996997 0.0691225 -0.0149164 0.0303249 -0.169289 0 0 0 0 0 0 +330 0 1.11865 0.446508 0.00661211 0.0192926 0.17197 0.0672542 0.216617 -0.393853 -7.72213e-05 -0.457364 -0.059147 -0.732092 -0.00160388 -1.59079 -0.0236849 0.536697 -0.625678 -0.100127 -0.0509002 -0.330915 -0.0277205 -0.472835 0.00117015 -0.124375 -0.245201 0.574566 -0.0275039 -0.245772 0.142527 -0.297673 0.0069558 -0.258604 -1.27787 -0.344801 -0.089079 -0.00855668 -0.0399853 -5.0816 -0.0753921 -0.192136 -0.0106203 -1.0663 -0.012203 -2.74805 -0.0707262 -0.0782472 -0.131228 -0.495797 0.0474531 -0.689754 -0.121022 -2.29437 0.132721 -0.0350233 -0.0441015 -0.106772 -0.644025 -0.0706351 0.209212 0.0218133 -0.233779 0.211904 0.522181 0.677062 0.118138 -1.00745 -0.00441471 -0.0968233 0.000123436 -0.7258 0.00172546 -0.191006 0.148805 2.11431 -0.325039 0.174836 12.2203 1.08104 4.55525 1.14049 -0.554946 5.73251 0.327743 -0.114662 0.407698 0.678856 0.00291869 0.0072394 0.0842862 0.0815277 -0.351558 0 0 0 0 0 0.00661211 0.0192926 -0.001398 0 0 0 0 -0.000190638 0 -0.0151673 0 0 -0.000738039 -0.000780452 -0.0181378 0 -0.00271314 -0.0431398 -0.100646 0 0 0.0200933 -3.65732e-05 0 0.0120133 -1.01887 0 0 -0.00289688 -0.266109 0 0.0284341 0 0.00277857 0 0 -6.15063e-05 0 0 -0.254173 -0.00406571 -0.0158285 0 -0.0298853 0.0246851 0 0 -0.150673 0 -0.00295202 -0.34194 0.0147569 0 0 0.00135217 0.00190917 0 -0.00173404 -0.0112062 -0.0103371 0.608035 -0.0121764 -0.0130729 0 -0.00559473 -0.0085055 -0.12757 0.0392831 -0.0653274 0 0 0 1.98957 0.129088 0.402111 0.00894547 -0.0172466 0.262647 0.000555904 -0.00104823 0.0154756 0.0787284 0 0 0 0 0 0 0.17197 0 0.0672542 0 0 0 0 -0.0156402 -0.343077 0 0 -0.229426 0 -0.0251238 0 -0.0168045 0 0 0.01319 0 -1.13437 0.0156049 -0.0957823 -0.0349444 0 0 -0.17771 0 -3.48207 0 -6.02075 -0.724223 0 -0.222374 -2.38401 -0.0110216 0 0.0198333 0 0 -0.0320698 0 -1.64064 0.0561662 0 0 -0.0615592 0 0 0.295143 0.919205 -0.0284462 0 -0.488595 0 -0.296631 -0.0118321 -0.0341252 -0.469375 0.0805441 0.555279 -0.225978 -0.10122 -1.43329 -8.01885 -0.103953 0 0 0 -0.353575 0.0822993 0 0 0 0 0.101154 33.804 3.27591 1.17705 1.33827 -0.730976 1.47812 0.111444 -0.0864709 0.12152 0.0010988 0 0 0 0 0 0 +331 0 -0.57337 -0.251308 -0.0211497 -0.0393952 -0.153607 -0.225767 0.572044 0.620049 -0.0972012 1.24821 0.0893891 -1.14849 0.00412125 -0.654475 0.0531701 -0.674867 -3.09901 0.28751 0.103341 -1.75375 0.0562284 0.0639451 -0.00417461 0.250631 0.0689092 -0.202122 0.0185293 0.397964 0.0502746 -0.381361 -0.0290155 0.553574 0.337996 0.32076 0.154419 0.0163401 -0.130123 2.14429 0.193092 -1.02984 0.0266207 0.446914 0.0331792 -3.17987 0.171776 -0.623898 0.402849 0.901133 -0.108771 0.783885 0.369826 -3.83862 -0.268182 0.0869981 -0.00800899 1.53135 0.452671 0.365615 -0.398856 -0.057832 1.11043 0.0237508 0.914626 0.439213 -0.303995 -0.40222 0.0629078 -0.0238544 0.0407275 -0.370272 0.198822 0.687616 -0.11697 -0.103238 -0.661873 -1.35968 -7.74264 -2.06755 -3.17575 -1.03458 -0.0695479 -2.25626 -0.480713 0.312096 -1.37898 -0.695337 -0.00708876 -0.0177887 -0.21289 -0.242181 -0.124008 0 0 0 0 0 -0.0211497 -0.0393952 0.000814789 0 0 0 0 0.000219828 0 0.0471652 0 0 -0.00117055 -0.00378265 0.0569609 0 0.00836699 0.0341378 0.319629 0 0 -0.00427083 -0.000177441 0 -0.0218613 0.0449033 0 0 -0.00393657 0.10981 0 -0.0224205 0 0.000297273 0 0 -0.000441388 0 0 0.0116114 0.00468858 -0.0245674 0 0.0176248 0.0350819 0 0 0.0459087 0 0.00175617 0.997427 0.0107706 0 0 0.0022011 -0.00107563 0 -0.00394654 -0.0551258 0.00734654 -0.808747 0.0573079 0.0303522 0 0.00739269 -0.119767 -0.233083 0.00536752 0.181864 0 0 0 1.02244 0.141967 -1.02597 0.00656838 -0.013593 0.190963 0.00081873 -0.00181575 0.0254196 -0.308435 0 0 0 0 0 0 -0.153607 0 -0.225767 0 0 0 0 -0.0779612 0.592235 0 0 0.422374 0 0.0612984 0 0.0458682 0 0 -0.290327 0 0.171707 0.0218202 0.220524 -0.0482745 0 0 0.461372 0 -0.259475 0 1.11295 -0.419843 0 0.139471 0.242069 0.0315736 0 -0.0128994 0 0 0.0434738 0 -0.0241468 -0.744936 0 0 -0.100117 0 0 -0.230794 2.55867 -0.0476391 0 -0.516647 0 -0.112632 0.0119587 0.0703354 -0.855059 0.0365998 1.25986 0.279052 -0.0980328 -0.0939387 0.629357 0.0930966 0 0 0 0.103265 -0.129891 0 0 0 0 -0.167441 -6.0649 -1.5107 -0.420765 -0.338188 0.26053 -0.440444 -0.172552 0.108561 -0.118244 -0.0107703 0 0 0 0 0 0 +332 0 0 0 0 0 -0.0633584 0.279315 -0.768156 -1.2083 0 0 -0.167528 0.795295 0 0.947971 -0.0297869 0 0 0 0.00873516 3.8354 0 0 0 0 -0.431444 0 0 -0.856072 2.54935 0.542946 0 -0.237889 0 0 -0.304342 0.0037287 0 0 -0.683524 1.46389 0 0 -0.0291994 1.84129 0 0.648565 -0.404389 -0.333005 0.0715944 1.16583 -0.00326475 0 0.0680438 -0.0437402 0.251795 0.385124 0.798575 1.30334 0 0 -0.562697 -2.17831 0 0.236571 -0.208659 0.994218 0 0 0 0 -0.210289 0.154728 0 0.505414 -0.498884 0 0 0 0.0788036 0 0.665575 -3.54461 0 0.471425 -0.92239 1.11384 0 0.245209 -0.584709 1.45441 -8.63621 0 0 0 0.227797 0.0236284 0 0 0 0.0258002 -0.00903657 0 0.00311169 0 -2.88567e-05 0.00978395 0 0 0 0 -0.0191792 0 0.00752244 0 -0.0530502 0 0.249655 0.102382 0 -7.11447e-05 0 0 -0.040192 -0.000298493 0.013696 0 -0.000527048 0 -0.00029179 0.0226152 -0.00310124 -0.0038672 0.000543685 0 -2.8071e-06 0 0 0 -2.30061e-05 0 0 0.000796698 -0.00036683 0.0337841 -0.0031972 0 0 -0.00473661 0 0.000400245 0 0 0.00975081 -0.00640232 0.0185376 -0.00763057 0 0 -0.0308287 -0.00352876 0.019005 0.105834 0.20077 0 -0.087888 -0.000212823 -0.00315934 0 0 0 0.378038 0 0.00668454 0.111937 0 -0.000930406 0.0139909 0.154363 0 0.000413203 -0.00205859 0.00433986 0.0462578 0 -0.0633584 0.227797 0.279315 0.0236284 -0.887866 -0.0130277 0.0458131 -0.184246 0.146781 -0.0117409 -0.105595 -0.0818389 -0.00130199 0.00352186 0.00900184 0.0124308 -0.0403814 -0.104541 -0.858976 0.773209 -0.0661721 -0.0199498 0.066075 -0.165023 -0.258823 0.160615 0.165751 0.055011 -7.91763 -0.297926 -0.917914 0.204118 0.00133375 0.301336 -0.364918 0.00988909 -0.00450497 -0.0312735 -0.0654952 1.46116 0.0111115 0.00531672 -1.76999 -1.50684 -0.0132228 -0.023447 -0.283286 0.250021 -0.0302357 0.610891 -1.24062 0.0941082 0.0928174 2.56971 -0.00824923 2.23832 -0.0340103 0.13688 -0.124617 -0.0335692 0.429271 -0.506476 0.107052 0.0626622 -1.90277 0.113543 0.574499 -0.0285302 0.0911974 0.476769 -0.0434332 0.0263538 0.00926801 -0.0334855 0.064923 0.0135327 2.78456 0.194245 -1.59353 0.279163 0.36656 -3.799 0.0187371 0.0953037 -0.293258 -0.815651 0.0274694 0.085549 -0.246431 0.401364 -1.77996 0 +333 0 0 0 0 0 0.153432 0.304525 0.0747194 -0.362386 0 0 0.398226 1.00782 0 2.51266 0.0667317 0 0 0 0.174578 0.957202 0 0 0 0 -0.309943 0 0 -0.350373 -0.104058 0.741601 0 0.223464 0 0 -0.140576 0.0605102 0 0 1.0616 0.87671 0 0 0.271504 3.79517 0 0.901041 -0.342941 0.0570514 -0.42994 3.12492 -0.337071 0 -0.108569 0.351435 -0.0908011 1.50209 0.147049 0.122061 0 0 0.618851 -1.56631 0 -0.292782 0.0906834 -0.0562401 0 0 0 0 0.357377 0.615053 0 -1.11988 0.670389 0 0 0 0.916031 0 -0.664993 -0.630542 0 -0.653178 0.24292 0.455865 0 -0.669915 -0.00140514 -0.518725 -1.29579 0 0 0 -0.0992458 -0.0228346 0 0 0 -0.0344149 0.00505476 0 -0.00452678 0 -0.000113924 -0.030475 0 0 0 0 -0.129108 0 -0.0187197 0 -0.234204 0 -0.27861 -0.33566 0 0.000560511 0 0 0.162931 -0.000358857 -0.023129 0 6.01935e-05 0 0.000372244 -0.0659856 0.013524 -0.00595063 -0.00132352 0 -6.41215e-06 0 0 0 4.45745e-06 0 0 0.000916362 0.000591693 0.0613024 -0.00239936 0 0 0.00664765 0 -0.00064559 0 0 0.00418998 0.00267242 -0.130124 0.00321492 0 0 -0.0204561 0.012035 0.0015689 0.0277485 -0.116285 0 -0.0715505 -0.000237203 -0.12342 0 0 0 0.275391 0 0.0170947 -0.239394 0 0.000137233 0.00085051 0.0317529 0 0.000390859 -0.0029925 0.010305 -0.103456 0 0.153432 -0.0992458 0.304525 -0.0228346 0.169473 0.0354372 -0.188512 -0.176339 -0.233654 0.0173242 -0.0286214 -0.370691 0.00201322 -0.0272213 -0.0228102 0.00760668 -0.0086358 0.119164 1.20199 -0.171723 0.692705 -0.0268887 -0.255523 0.216635 -0.232856 -0.0621362 0.0195463 -0.00146938 12.4028 0.123164 2.0229 2.2909 -0.002664 -0.330712 1.1943 -0.0177201 0.00217723 -0.0173284 0.0253523 -0.386559 -0.0102693 -0.00692011 5.56941 2.20692 -0.000280583 0.00356413 0.414517 -0.0209263 -0.0714907 0.0318423 1.16632 0.429766 -0.0773762 2.89284 0.0333873 -1.19583 0.0731401 -0.226381 0.222054 -0.197466 0.840259 -0.0975919 -0.141811 -0.0247591 13.8424 -0.0560056 0.0871761 0.0605909 -0.0870757 0.0787893 0.0301174 -0.0119209 -0.0348792 0.000566473 -0.0361791 -0.0319537 -6.13664 0.407747 1.06325 -0.446516 0.112207 0.151741 0.0395995 -0.118632 0.143905 0.18498 -0.0313116 -0.0781919 0.146406 -0.116308 0.13257 0 +334 0 0 0 0 0 0.13209 -0.126219 0.00708796 -0.115533 0 0 0.101279 -1.00796 0 -1.29879 -0.0201529 0 0 0 -0.278633 -1.65953 0 0 0 0 0.0354793 0 0 -0.0465969 -6.27474 -0.375005 0 -0.151065 0 0 0.0492529 0.0276706 0 0 1.50864 -1.32956 0 0 0.426498 -3.84123 0 -0.639 -1.10259 -0.963458 -0.656365 -0.866293 -0.846097 0 0.295916 -0.206653 -0.187872 -0.767579 0.00431021 -0.613959 0 0 0.339608 2.78348 0 -0.567877 -0.246098 0.637607 0 0 0 0 -0.131646 0.576207 0 -0.953959 0.984985 0 0 0 0.142823 0 -2.12207 6.93271 0 -1.03087 3.09233 -0.689372 0 -1.47119 4.40511 -6.38898 18.0169 0 0 0 -0.0966322 -0.0213803 0 0 0 0.00225026 -0.0185671 0 -0.00166144 0 7.49385e-05 -0.0303349 0 0 0 0 -0.194736 0 -0.0205031 0 -0.288661 0 0.155602 0.208983 0 -0.000935182 0 0 -0.100712 0.000327904 0.00675069 0 -0.000637505 0 -0.000994838 0.128819 -0.0081102 0.00469539 0.0110774 0 4.85598e-06 0 0 0 -3.14957e-05 0 0 -0.000860956 -0.00148466 -0.106945 -0.00215187 0 0 -0.0152193 0 0.00161989 0 0 0.00100001 -0.00762207 -0.133819 -0.00954895 0 0 0.115175 -0.0239498 0.0156967 -0.0878138 0.0585393 0 -0.0766472 -0.000125163 -0.0921757 0 0 0 0.768973 0 -0.0104556 0.334919 0 0.000590591 0.0118836 0.192902 0 -0.000417528 0.00543433 -0.0138629 0.19751 0 0.13209 -0.0966322 -0.126219 -0.0213803 0.232609 0.107388 -0.14692 0.0187805 0.290146 0.0154861 -0.015596 0.200654 0.00168134 0.0104739 -0.0174019 0.00682301 0.0016503 0.131777 -0.92038 -0.943512 -0.127099 0.00662227 0.122732 -0.0543644 0.0543444 -0.273653 0.0869145 -0.0150305 -1.24784 0.374167 -0.145337 -0.557959 -0.00203377 -0.247423 -0.146418 0.00732282 0.00766342 0.0246045 0.0583274 -1.93637 0.0143156 -0.0404271 -0.993227 -2.93839 -0.00245878 0.0489352 -0.279505 -0.110321 -0.317884 -0.390225 0.0584688 -0.351878 0.0817464 -2.03587 0.0200233 0.658293 -0.0903812 0.0480624 -0.0180674 0.617954 0.651059 -0.20268 -0.238947 0.673136 -3.39799 -0.0168636 0.502453 0.0162169 0.0567909 -0.0240304 0.0049387 -0.0734496 -0.0274196 0.0449865 0.0469421 0.0348327 0.440893 -0.293248 0.690629 -0.180784 -0.810225 3.66973 -0.0364274 -0.229792 0.95203 -0.743848 -0.0346258 -0.13284 0.663246 -1.07658 2.46523 0 +335 0 0.441301 0.134612 0.0206984 0.293575 -0.475567 -0.140214 0.295324 1.48928 0.0887852 -0.591897 0.120108 -0.367158 -0.0003222 -0.107911 0.00103381 -0.629535 -0.455643 -0.0962271 -0.00649897 -0.942351 0.0144347 -0.0701127 0.000343226 0.131819 0.288061 -0.317601 -0.0331562 0.40887 0.256654 -0.376435 0.00540584 -0.000615166 -0.635277 -0.194885 0.148052 0.00691374 -0.16063 -3.44228 0.183064 -0.779742 -0.00473398 -0.769411 0.0108625 0.593132 -0.0619595 -0.640416 0.369829 -0.141237 0.00717855 -1.4706 -0.0432802 0.124407 -0.0269331 0.0206948 -0.131126 -0.193074 0.1469 0.0434735 -0.0526285 -0.00231853 0.60444 0.773309 -1.06277 -0.12451 0.672163 -0.304295 -0.272984 -0.262605 -0.00471763 -0.208769 -0.173458 -0.0335028 0.291398 0.166153 0.190413 1.67282 6.26967 1.09782 -0.592025 0.974106 -1.41732 3.96671 -0.30639 -0.134953 0.675694 -2.02071 0.00750122 -0.0179862 0.0311912 -0.109458 -0.387116 0 0 0 0 0 0.0206984 0.293575 -0.000594957 0 0 0 0 -8.56003e-05 0 0.00658994 0 0 1.28472e-05 -0.000317651 -0.00122817 0 0.000174356 0.00384362 0.0111239 0 0 0.152109 -1.3435e-05 0 -0.0237713 0.159705 0 0 0.0156818 0.0359152 0 -0.169454 0 0.0130405 0 0 0.0012766 0 0 -0.522276 -0.00184588 -0.00111085 0 -0.0136194 0.00137051 0 0 -0.0130962 0 -0.00181064 -0.14209 0.00559865 0 0 0.000326131 0.000371166 0 -0.0048498 -0.0314051 -0.00501404 1.30276 -0.018922 0.0260733 0 0.0102131 -0.0785407 0.0209842 0.0621247 1.49985e-05 0 0 0 3.73874 0.127738 0.188676 0.0162631 -0.0391998 0.565376 0.000137014 -0.000378689 0.00461516 -0.00578513 0 0 0 0 0 0 -0.475567 0 -0.140214 0 0 0 0 0.342198 -0.435646 0 0 -0.818593 0 -0.0779266 0 -0.0360051 0 0 1.15008 0 0.112686 0.112896 -0.298581 0.171136 0 0 -0.367543 0 7.87477 0 0.0393859 0.0463521 0 1.20808 0.0129453 -0.025858 0 0.0350324 0 0 -0.0433482 0 1.54153 2.55934 0 0 0.373333 0 0 -0.349778 3.5162 -0.349075 0 -0.781445 0 -0.238042 -0.119582 0.21478 0.279443 0.178422 0.337177 0.322598 -0.0796804 1.07652 8.76832 -0.09334 0 0 0 0.0691351 0.113834 0 0 0 0 0.00261491 -0.619797 2.37826 -4.31491 0.334175 -0.365507 0.111902 0.282166 -0.268142 0.372202 -0.623497 0 0 0 0 0 0 +336 0 0.178659 -0.0970152 -0.00706106 -0.0271158 -0.0376025 -0.191799 0.0892059 0.392892 -0.02943 0.388471 -0.0541569 -0.314251 0.000167981 -0.821673 -0.0148915 -0.22496 -0.887364 0.0558906 -0.0245702 0.0834571 0.01233 0.186989 -0.000125408 0.155827 0.213373 -0.104621 0.028856 0.264105 -0.193731 -0.139847 -0.00199501 -0.225469 0.319302 0.0522648 0.193496 -0.0029033 0.234162 0.575937 -0.0659883 -0.457695 0.00240509 0.0895 -0.00472752 -1.40953 0.0268335 -0.520144 0.144849 -0.375091 0.00226586 -1.12382 -0.0797936 -1.14226 0.0270302 0.0173564 -0.0393486 -1.28227 -0.0962532 -0.00676165 -0.163144 -0.00105846 0.299006 1.35659 0.578295 0.0618529 0.067551 -0.0557117 0.555773 0.276947 -0.00365093 -0.176614 0.278328 -0.0431466 -0.320007 0.386704 -0.216032 -0.492651 -0.00380809 -0.807406 -0.476046 -0.817826 0.394263 -0.279852 -0.50918 0.0468407 0.175563 -1.58106 -0.00324863 0.00698479 -0.00850949 0.0281763 0.292208 0 0 0 0 0 -0.00706106 -0.0271158 0.000541143 0 0 0 0 3.35347e-05 0 0.0125888 0 0 -0.000162484 -0.000311544 0.00563911 0 0.000542881 -0.00654311 0.104957 0 0 -0.162915 -1.33047e-05 0 -0.0121353 -0.686789 0 0 -0.0203764 -0.0909039 0 -0.123149 0 -0.0106775 0 0 -0.00136612 0 0 -0.410868 0.000700484 -0.00466115 0 0.0109883 0.0279534 0 0 -0.0984801 0 0.000830192 -0.0102612 0.000341735 0 0 0.000704323 -0.000971862 0 -0.00075135 -0.0307636 -0.0043816 -0.435471 0.0236596 0.0123455 0 0.0026823 -0.00529009 -0.0812556 -0.0148334 -0.0340216 0 0 0 0.893201 0.0279274 -0.179442 0.000163369 -0.000153781 0.076611 0.000254851 -0.000666562 0.00851843 -0.0514129 0 0 0 0 0 0 -0.0376025 0 -0.191799 0 0 0 0 0.00673127 -0.171026 0 0 0.167249 0 0.00986187 0 0.00915207 0 0 -1.04603 0 -0.0261046 0.0238008 0.0882829 -0.117408 0 0 0.0738279 0 -8.3889 0 -1.88706 -0.862164 0 0.150991 -0.564978 0.00652141 0 0.0214972 0 0 -0.0109548 0 -2.71917 -2.22791 0 0 -0.275075 0 0 0.216742 -2.66264 -0.107554 0 -1.18361 0 0.0955556 0.0116263 -0.00884094 -0.0277526 -0.113172 -1.0484 -0.151768 -0.0167383 -0.623402 -10.1006 0.0557638 0 0 0 -0.145882 -0.0220143 0 0 0 0 -0.109316 5.64798 0.285078 -0.88418 0.538641 -0.44788 0.492144 -0.0665803 0.0225578 0.00934638 -0.234239 0 0 0 0 0 0 +337 0 0.28665 -0.319616 0.000536598 -0.029331 0.0773652 -0.115409 -0.224565 -1.71611 0.0798096 0.665515 0.0653787 0.0892359 -0.000227382 0.669321 0.0135108 -1.37356 -1.98753 0.0635852 0.0212384 -1.6773 0.00550842 0.406444 0.00037717 0.121052 0.119228 -0.722052 -0.0216977 0.384846 0.887199 0.0954909 0.00546781 0.283947 0.495284 0.0124759 0.281856 0.00722942 -0.130082 0.543679 0.0653806 -0.907254 -0.00310854 0.306283 0.00796136 0.952062 -0.0388828 -0.562096 0.592804 0.466454 -0.0459972 1.25983 -0.184285 -1.27644 -0.00552125 -0.0030737 0.061759 0.0105306 -0.35379 -0.240214 -0.0838003 0.00928499 0.686484 1.50069 -0.985766 -0.941599 -0.322269 0.373152 -0.0874521 -0.184621 -0.00641795 -0.644193 -0.150137 0.108386 0.13012 0.558172 -0.703141 -0.442554 -0.0484892 -1.37251 3.78652 0.9795 -0.288863 -0.442443 -0.527805 0.61609 -1.11915 3.16701 0.0047074 -0.00829078 -0.0243812 0.0495618 -1.33818 0 0 0 0 0 0.000536598 -0.029331 -0.000503604 0 0 0 0 -8.0313e-05 0 -0.0071522 0 0 1.736e-05 -0.000320874 -0.00398723 0 -0.000540938 0.0041575 -0.054175 0 0 0.114444 -1.35382e-05 0 -0.0335698 0.120621 0 0 0.00811976 0.0369862 0 -0.231816 0 0.00968124 0 0 0.000608827 0 0 -0.67318 -0.00173472 -0.00107027 0 -0.0117725 -0.000716672 0 0 0.060411 0 -0.00167664 -0.206339 0.00662123 0 0 0.000372546 0.000226742 0 -0.00531309 -0.0377526 -0.00897195 1.03671 -0.0228525 -0.00357384 0 0.00784157 -0.0340842 -0.0173888 0.0504857 -0.0136025 0 0 0 4.69902 0.150277 0.428365 0.0193327 -0.0468227 0.56346 0.000145615 -0.000404069 0.00490767 0.0741087 0 0 0 0 0 0 0.0773652 0 -0.115409 0 0 0 0 -0.313135 0.34801 0 0 0.536757 0 0.0613286 0 0.00863533 0 0 0.0849337 0 1.10807 -0.114382 0.154764 -0.0340753 0 0 0.111104 0 1.31394 0 2.50139 0.317422 0 -1.07328 1.73975 0.0136369 0 -0.0187449 0 0 0.032384 0 0.607527 0.293473 0 0 -0.0735983 0 0 0.426163 -0.33343 0.264665 0 2.47482 0 0.55747 -0.0317547 -0.0522949 -0.236276 -0.0117585 0.77974 -0.384558 0.0295212 -0.65738 5.9167 0.0395785 0 0 0 -0.043818 -0.0528118 0 0 0 0 -0.0423654 -8.78257 -2.08387 3.4732 -0.555662 0.571081 -0.625762 -0.135321 0.181541 -0.294001 0.61273 0 0 0 0 0 0 +338 0 0.314193 0.164067 0.031988 0.219386 -0.457652 -0.13367 0.444843 1.78998 0.211135 -0.833207 0.0844336 -0.597163 -0.00220333 -0.474442 -0.000754484 -0.176093 -1.5537 -0.0722304 -0.0516562 -1.11384 0.0093306 -0.174109 0.00370295 -0.0712836 0.172065 0.0704665 0.0157165 0.269978 0.25986 -0.362732 0.02807 0.0895573 -0.714436 0.00106736 0.0471644 0.0141508 0.0749819 -3.66412 0.123392 -0.687831 -0.0131533 -0.0495548 0.025577 -1.14431 -0.0604998 -0.47395 0.244729 -0.153397 0.0293156 0.0115019 0.100876 2.24217 0.267325 0.0465593 -0.131965 0.549205 0.209867 -0.851373 0.0110318 5.58743e-05 1.19159 1.55591 0.113504 0.325935 -0.0197468 -0.91024 -0.304877 0.12562 -0.0443737 -0.113039 0.220626 -0.0403446 0.184054 -0.583344 0.105318 1.18201 6.23809 1.70383 -1.21846 0.84408 -1.2901 4.38175 0.190619 -0.33835 0.881508 -2.76809 0.0224392 -0.0494642 0.0461565 -0.0782527 -0.810486 0 0 0 0 0 0.031988 0.219386 -0.000167694 0 0 0 0 -1.53118e-06 0 -0.00068704 0 0 -5.8929e-07 -1.16422e-07 -0.00366139 0 0.000143526 -0.0118141 -0.0302042 0 0 0.056544 -5.45945e-09 0 0.0310581 0.143292 0 0 0.00585424 0.00867844 0 0.0577134 0 0.00623697 0 0 0.000844369 0 0 -0.00379833 -3.26522e-05 -1.25665e-05 0 -0.00357606 -0.00279373 0 0 -0.0269943 0 -0.000312073 0.066465 0.000761843 0 0 1.09665e-06 0.00026375 0 -0.000581266 0.0325512 -5.61635e-05 0.154772 -0.00398143 0.013545 0 0.000760563 -0.0265239 0.0822669 0.00947372 0.0480921 0 0 0 0.272132 0.0150603 0.0880515 0.00212891 -0.00519482 0.138662 4.144e-07 -1.01119e-06 1.37247e-05 0.00607647 0 0 0 0 0 0 -0.457652 0 -0.13367 0 0 0 0 0.0778884 0.194611 0 0 -0.527444 0 -0.0493198 0 0.00350256 0 0 0.0715093 0 -0.220017 0.0534444 -0.104816 0.0491442 0 0 0.0536266 0 3.12523 0 -1.41991 -0.229733 0 0.829959 -0.654814 -0.00757499 0 -0.0185237 0 0 0.0107549 0 0.371642 0.193799 0 0 0.087751 0 0 0.445845 4.47773 0.138634 0 0.667029 0 -0.600049 0.118313 -0.143615 0.0911277 0.0246128 1.07377 0.665193 -0.0127021 0.801985 6.82093 0.0636079 0 0 0 -0.0828221 0.038114 0 0 0 0 0.117883 7.22159 1.96945 -3.14847 0.279232 -0.320446 0.538819 0.142025 -0.123201 0.20794 -0.450642 0 0 0 0 0 0 +339 0 0.2749 0.124106 -0.0315607 -0.0593694 0.056438 -0.0466001 -0.171517 -0.169116 -0.244729 0.870699 -0.235018 -0.249965 0.00563542 -1.01922 0.0101984 0.321454 -0.218057 0.133935 0.0581231 0.0950285 0.0578289 -0.047454 -0.00723419 0.369749 -0.0183373 0.238414 0.0379076 0.210439 0.577852 -0.343611 -0.0460555 0.0876419 -0.146388 -0.109575 -0.0478156 -0.0367995 0.116396 -0.870636 -0.458983 -0.200978 0.0362545 -0.677276 -0.0789832 -0.638128 0.196484 -0.170752 0.346471 0.254834 0.209954 -0.223848 0.348852 -0.765334 -0.111976 0.0711519 -0.158753 0.167604 -0.402261 -0.095973 -0.430917 -0.0794792 0.103199 1.78049 1.44133 0.395803 -0.0905271 0.252648 0.895968 0.257602 0.0842472 -0.595029 0.123255 -0.175704 0.0257425 1.64316 0.0691262 -0.691175 4.17338 -0.994019 0.661321 -0.330817 -0.177202 1.79512 -1.02763 0.50669 -0.53338 0.318664 -0.0728755 0.171446 -0.413572 0.969655 -1.80228 0 0 0 0 0 -0.0315607 -0.0593694 1.19925e-05 0 0 0 0 1.09208e-07 0 0.00326923 0 0 -9.95686e-06 -1.25779e-06 0.00903155 0 -0.000133482 0.0286838 0.0701829 0 0 -0.2495 -5.89825e-08 0 -0.0891742 -0.777354 0 0 -0.0351721 -0.0127201 0 -0.31671 0 -0.0345661 0 0 -0.00497029 0 0 -0.8897 2.32885e-06 -0.000212328 0 0.000255737 0.000470149 0 0 -0.0014855 0 2.23175e-05 -0.214072 -4.26208e-05 0 0 1.85294e-05 -1.88618e-05 0 9.64849e-06 -0.0584551 -4.89126e-05 -0.855184 0.000710236 0.0269945 0 -2.95829e-05 -0.0245937 -0.297238 -0.00054929 0.0644836 0 0 0 1.87797 0.000386512 -0.0194337 -5.90619e-05 0.000144118 0.174328 7.00185e-06 -1.70854e-05 0.000231898 -0.0168727 0 0 0 0 0 0 0.056438 0 -0.0466001 0 0 0 0 -0.207458 -0.841469 0 0 0.414815 0 0.0352967 0 -0.0362349 0 0 -0.130968 0 -0.503893 -0.0667216 0.199733 0.00286974 0 0 -0.367028 0 -9.09721 0 -3.30668 -1.08758 0 -0.444995 -1.33259 0.017468 0 -0.0258343 0 0 -0.0785014 0 -3.29436 -0.693204 0 0 -0.068797 0 0 -0.142758 -1.87499 -0.121937 0 -2.21452 0 -0.204814 -0.0879779 0.107429 0.116678 -0.17135 -1.02018 0.0277019 0.113337 0.0416513 -6.64405 0.118426 0 0 0 -0.169009 -0.079664 0 0 0 0 0.0199563 13.6594 -0.00666913 0.577477 0.541566 -0.533977 0.949039 -0.123009 0.0814888 -0.0812987 0.0798748 0 0 0 0 0 0 +340 0 -0.241961 0.222107 -0.0304733 -0.165169 0.256633 0.331208 -1.07403 -2.77382 -0.261821 1.2277 0.16367 -0.57314 0.00197131 -0.808529 0.022357 0.0904394 -1.46176 0.246192 0.0982487 -1.56225 0.0172224 -0.460014 -0.00346115 0.245129 -1.0497 0.245084 -0.00183007 -0.747045 -1.55948 -0.200046 -0.0292433 0.241289 -0.486697 0.218002 -0.656221 0.00870417 -0.174993 0.00326719 0.109793 0.234909 0.012006 -0.199329 -0.00232101 -1.37569 0.060931 0.58093 -1.16099 0.904027 -0.0385925 -0.228912 0.222529 0.858808 -0.117684 0.0322655 -0.180906 0.73765 -0.176378 0.152159 -0.243673 0.000841763 0.782975 -0.190463 0.001794 1.3614 0.109749 0.706955 -0.520797 -0.198912 0.0381438 -0.645018 -0.0991223 0.0706825 0.174202 1.50777 1.13273 0.33202 -1.43593 -1.62632 2.50264 -0.150422 -0.00576333 1.01904 -0.630129 0.747083 -1.46249 3.75617 -0.0225992 0.00640989 0.194184 -0.856396 4.86391 0 0 0 0 0 -0.0304733 -0.165169 -0.000227183 0 0 0 0 -2.07438e-06 0 -0.00225857 0 0 -1.37384e-06 -2.30594e-07 0.000500543 0 -0.00056932 0.0419664 -0.000186393 0 0 0.0301042 -1.08134e-08 0 -0.0380116 0.592369 0 0 0.00686545 0.18214 0 -0.145603 0 -0.00495348 0 0 -0.000304095 0 0 -0.203299 -4.42358e-05 -2.92969e-05 0 -0.00484464 -0.00393929 0 0 0.098229 0 -0.000422779 -0.247891 0.00103353 0 0 2.55666e-06 0.000357314 0 -0.000811536 -0.0227529 -0.000184774 -0.477292 -0.0055868 -0.0132887 0 0.00103939 0.00949405 -0.182329 0.0128017 -0.0480876 0 0 0 1.05563 0.0213935 0.0144398 0.00301803 -0.00736437 0.00610047 9.66109e-07 -2.35743e-06 3.1997e-05 -0.00224138 0 0 0 0 0 0 0.256633 0 0.331208 0 0 0 0 0.0528167 -0.779494 0 0 0.315225 0 0.0443203 0 -0.0100249 0 0 -0.0987382 0 -0.717203 -0.114518 -0.0539172 -0.0109615 0 0 -0.103295 0 -5.0016 0 -1.27362 -0.02899 0 -0.728458 -0.891352 -0.0005667 0 -0.0109462 0 0 -0.074096 0 -0.766715 0.0950382 0 0 0.0207033 0 0 -0.0696042 0.832915 0.0771654 0 -0.67917 0 -0.163483 -0.0489169 0.0172399 -0.413536 -0.0328752 0.384032 0.0829876 -0.0251356 -0.0109164 0.167723 0.0919712 0 0 0 -0.153185 -0.0566467 0 0 0 0 0.116836 3.75097 -1.34777 2.38795 -0.0575765 -0.0323872 0.458975 -0.128938 0.129305 -0.183135 0.444907 0 0 0 0 0 0 +341 0 0 0 0 0 0.107418 -0.286917 0.722713 0.854817 0 0 0.266819 -0.639807 0 -0.495804 0.0447201 0 0 0 0.0706094 4.23644 0 0 0 0 0.44302 0 0 0.58299 -1.49734 -0.532318 0 0.032519 0 0 0.358782 0.0604417 0 0 0.921352 0.0508222 0 0 0.247599 0.603531 0 -0.940697 0.248708 0.192159 -0.549128 -0.498327 -0.196596 0 -0.10146 0.0900667 -0.419561 0.0984327 -0.0500464 -0.478419 0 0 -0.623138 -2.36597 0 -0.531223 -0.338329 -0.414202 0 0 0 0 -0.0150242 0.371963 0 -1.99261 0.40215 0 0 0 -1.69194 0 -0.976001 0.984453 0 -0.522811 0.872627 -2.2746 0 -0.813562 1.70888 -3.29053 5.78612 0 0 0 0.00490001 -0.031961 0 0 0 -0.0354341 -0.0345323 0 -0.00544892 0 -0.0053383 -0.028714 0 0 0 0 0.0238965 0 -0.00960532 0 0.00753418 0 -0.158692 0.239288 0 0.00148544 0 0 0.21462 -0.00271385 0.0361151 0 0.00147341 0 -0.00261958 0.175844 0.0201705 -0.0419432 0.0287822 0 -0.00029904 0 0 0 4.96609e-05 0 0 0.00249338 0.000201883 0.262487 0.0123518 0 0 0.0305612 0 0.0094622 0 0 -0.0048694 0.0164554 -0.345879 0.0298928 0 0 0.0597311 -0.0179535 0.0548786 0.014445 -0.0659605 0 0.139015 0.010726 -0.036841 0 0 0 0.11571 0 0.101486 -0.46262 0 0.00536115 -0.0138099 -0.0758447 0 0.00230249 -0.012181 0.0219535 -0.0883951 0 0.107418 0.00490001 -0.286917 -0.031961 0.0387225 0.162697 -0.318367 0.274053 -0.156242 0.0360997 -0.0435047 0.0509694 0.00629477 0.0482414 -0.0549938 -0.0156631 0.0292991 0.128872 0.713904 0.720777 -0.022479 0.0366679 -0.0409161 0.0388434 0.127687 -0.227838 -0.146319 0.0460842 0.482817 0.312186 -0.490129 -1.18964 -0.00866672 -0.0281631 0.101366 0.00703576 0.00930483 0.0781257 0.0579307 -1.11679 -0.0129284 -0.049714 -0.895819 1.33862 -0.00354729 0.041506 0.0662608 0.203233 0.00647048 1.79026 -1.12136 -0.345207 -0.0761343 -0.418965 0.109214 -0.464613 -0.226933 -0.0133455 -0.124881 0.278545 -0.31565 -0.681229 -0.289766 -0.742327 -1.74545 -0.203929 0.881535 -0.00250574 0.256713 -0.542 -0.110211 -0.10561 -0.0785603 -0.0311463 0.00607162 0.110335 2.77814 0.175329 0.719564 -0.197349 -1.22073 4.38252 -0.10154 -0.36214 1.10906 -0.0010782 -0.0882854 -0.229429 0.682115 -0.676175 1.19224 0 +342 0 0 0 0 0 -0.729771 -0.257218 0.740975 2.08941 0 0 -0.234201 -0.314572 0 -0.932389 -0.178741 0 0 0 -0.10177 -1.18314 0 0 0 0 0.328662 0 0 0.351016 2.025 -0.306344 0 -0.748972 0 0 0.136795 -0.0588065 0 0 0.260113 -0.23546 0 0 0.0322617 -1.05061 0 -0.309509 0.764669 -0.471481 -0.0138816 -1.17422 -0.0145156 0 0.040052 -0.35608 0.742304 0.176252 0.0304511 0.557214 0 0 0.564451 2.56451 0 0.578547 0.216046 -0.107167 0 0 0 0 0.337354 -0.388228 0 1.40852 -1.35033 0 0 0 -4.24128 0 -1.39643 -2.48734 0 -0.629863 -0.363437 -4.44451 0 -0.285757 -1.07516 1.35636 -8.13355 0 0 0 -0.0743961 -0.0138841 0 0 0 -0.0257457 0.0481625 0 -0.00300995 0 0.00187488 0.0184777 0 0 0 0 0.0441931 0 0.00234644 0 0.250831 0 -0.19979 0.182734 0 0.00134808 0 0 0.0688005 0.00180481 0.0224619 0 0.00721142 0 0.00249818 0.0827579 0.0106369 0.03145 0.00969546 0 9.99081e-05 0 0 0 0.000375671 0 0 -0.00312204 0.00284227 0.416843 -0.00697978 0 0 -0.00107054 0 -0.00507342 0 0 0.0117118 0.0440077 -0.145072 -0.0190593 0 0 0.0782022 0.0125255 -0.012289 0.0102236 -0.0597388 0 -0.0579426 0.0169475 -0.208082 0 0 0 -1.07245 0 -0.110906 -0.30944 0 -0.00987113 -0.0176964 -0.0785015 0 -0.00143071 -0.0039731 -0.000271376 -0.0327162 0 -0.729771 -0.0743961 -0.257218 -0.0138841 -0.542986 -0.0618775 -0.114142 -0.231961 -1.1851 0.0184047 -0.0312537 -0.0201299 0.00264475 -0.00500961 -0.0210489 -0.0704739 -0.0232298 0.118761 0.351026 0.425149 -0.389348 0.0428301 0.138686 0.0541993 -0.159241 0.0544749 -0.47937 0.0103832 -0.772131 -0.0808708 -3.05092 -0.37651 -0.00348488 0.427085 -1.43229 0.0158788 -0.00308157 -0.0382201 -0.0159153 0.488596 -0.172276 0.00714711 -0.627889 0.989459 -0.00494488 -0.019301 0.121945 0.0584926 0.172184 1.17495 -1.12642 -0.762166 0.00711784 0.301329 0.0431722 1.10362 -0.442628 0.839628 -0.117922 0.364695 -0.527442 -0.822073 0.110154 -0.565651 -6.44385 -0.221915 -0.0890596 -0.0247574 -0.16021 -0.228762 -0.00325659 0.0261142 -0.0448764 0.153055 0.129086 0.299133 17.2932 2.0476 -2.09781 0.708459 -0.400743 -0.382434 -0.0705892 -0.0311134 -0.409684 -0.0942266 -0.0813586 0.031174 -0.31704 0.208545 -0.434612 0 +343 0 0 0 0 0 -0.412342 -0.132184 0.0864169 0.626104 0 0 -0.0845354 0.236528 0 0.223325 -0.0643483 0 0 0 0.0479021 0.301397 0 0 0 0 0.13768 0 0 0.166748 -1.32451 0.060468 0 -0.456286 0 0 0.102973 -0.0372619 0 0 1.39006 0.491184 0 0 0.221035 0.549688 0 0.0905398 0.0280556 0.0162528 -0.207864 -0.88201 -0.0260302 0 0.225512 0.56054 -0.321732 0.829681 1.00394 0.577987 0 0 0.284965 -6.17302 0 0.106434 0.4455 -0.246546 0 0 0 0 0.274117 0.00828873 0 -3.92173 0.881897 0 0 0 -0.0977033 0 -1.79926 3.27803 0 -0.484796 1.7627 -2.27432 0 -1.01239 2.2847 -3.81563 3.82918 0 0 0 -0.445425 -0.0659927 0 0 0 -0.0206574 0.0483603 0 -0.00206343 0 -0.00739605 -0.0917692 0 0 0 0 -0.225399 0 -0.038131 0 -0.503547 0 -0.169512 0.00484805 0 -0.00274397 0 0 -0.225757 0.000548793 0.0295653 0 0.00411227 0 0.00356536 0.0153619 -0.0217605 -0.00200156 0.019211 0 -0.000370714 0 0 0 0.000253355 0 0 0.00419324 0.0011609 -0.0117006 0.0011911 0 0 -0.0246432 0 -0.0116347 0 0 0.0204789 -0.00292923 -0.0646187 0.0476951 0 0 -0.116636 -0.0186299 -0.0388008 0.0681759 -0.358614 0 -0.0392344 -0.0117473 -0.10137 0 0 0 2.12034 0 0.137187 0.482462 0 0.0182741 0.00840178 0.134518 0 -0.000335913 0.0147078 -0.024329 0.103909 0 -0.412342 -0.445425 -0.132184 -0.0659927 0.280803 0.0298444 -0.253643 0.189413 -0.282437 0.0702234 0.0439256 0.349327 0.0105731 0.0808429 -0.060953 -0.0599925 0.0622582 0.458917 0.924642 -0.761357 -0.0805095 0.0668952 0.123627 0.141946 0.180121 -0.0111971 -0.456633 -0.0146782 3.92719 0.323637 0.0177073 0.277419 -0.0122249 0.50619 0.135805 0.0390626 -0.00184458 0.0297058 0.0203353 -0.285552 -0.01758 0.00325667 1.59219 0.810202 0.0106207 0.0181667 0.184682 -0.102302 0.0606517 -0.715787 -2.20895 0.429365 -0.00452041 -0.121753 0.0471207 -0.41584 0.0330432 -0.24458 0.141736 -0.304349 -0.644215 -0.468187 0.0487291 0.280384 1.28756 0.354595 -0.125544 0.287717 0.0881825 0.489995 -0.14615 -0.00423256 -0.126111 0.121262 -0.11018 -0.0974008 -0.100368 -1.00158 -2.37233 -1.30668 -1.27805 1.34272 -0.419072 -0.367122 0.552723 -0.779955 -0.314387 -0.222092 0.325404 -0.541238 0.426575 0 +344 0 -0.364788 -0.0587506 -0.0135798 -0.124259 0.0359222 0.249924 -1.31246 -2.60162 -0.0832183 0.786786 -0.141633 -0.381493 0.00120494 -0.107552 0.0137731 -0.43557 -1.77799 0.223339 0.0292206 -0.733432 0.0523499 -0.104956 -0.00158401 0.141917 -0.810311 -0.0488808 0.108977 -0.686257 -1.36049 0.137375 -0.0122977 0.0921891 -0.0822958 0.569145 -0.46323 -0.00896322 0.396517 0.225937 -0.170997 0.379588 0.00867754 1.7684 -0.0100808 -1.89554 0.0493025 0.573494 -0.923973 0.165073 0.0160705 1.17554 0.306815 -0.709286 -0.0676223 0.042132 0.112633 2.04703 -0.529467 -0.241832 -0.314388 -0.0142609 0.779134 1.84757 0.312323 -0.0169448 -0.943418 0.970396 0.191267 0.817395 0.0193155 -0.0594984 0.0766007 -0.0814934 -0.603667 2.45365 0.786841 -2.04732 -1.83724 -1.17793 2.10532 -0.7095 1.21641 -0.669796 -0.726449 0.988876 -1.10594 3.61479 -0.015216 0.0213882 0.171163 0.272432 2.14009 0 0 0 0 0 -0.0135798 -0.124259 0.000724577 0 0 0 0 0.000100402 0 0.00534456 0 0 -0.000162018 -0.000964436 0.00306577 0 0.000545311 0.0230403 0.0232803 0 0 -0.1313 -5.10545e-05 0 0.00401697 0.178686 0 0 -0.0163617 0.0980989 0 0.0630845 0 -0.0167163 0 0 -0.00191319 0 0 0.177583 0.00189663 -0.00306057 0 0.0136875 0.0147246 0 0 0.0802936 0 0.00139581 0.429889 0.00309116 0 0 0.000312107 -0.00117967 0 0.00689193 0.0149069 0.00244297 0.16964 0.0370032 0.00107261 0 0.00277593 0.000653912 -0.0814395 0.038267 0.0605203 0 0 0 -1.19094 -0.0337997 -0.183738 -0.00493407 -0.00432641 -0.00516336 0.000137817 0.000120844 0.000254908 -0.00272162 0 0 0 0 0 0 0.0359222 0 0.249924 0 0 0 0 -0.0739151 0.368948 0 0 0.686457 0 0.0816238 0 0.00218732 0 0 -0.539183 0 0.146808 -0.061843 0.337613 -0.0637085 0 0 0.0972011 0 -1.13625 0 2.26907 0.52389 0 -0.38291 0.774152 0.035205 0 -0.00352981 0 0 0.036871 0 0.241739 -1.08373 0 0 -0.134187 0 0 0.0260565 0.461099 -0.0430887 0 1.32749 0 -0.0969263 0.166576 0.0189203 -0.585392 0.0444837 0.869393 0.311095 0.0407674 -0.323994 -0.811957 0.150731 0 0 0 0.135645 -0.137491 0 0 0 0 -0.115909 -10.6935 -3.38869 1.45373 -0.568508 0.218691 -0.538765 -0.338058 0.214245 -0.281835 0.244913 0 0 0 0 0 0 +345 0 -1.08219 -0.242361 -0.00945412 -0.0337009 -0.212494 -0.029515 -0.270174 -0.429179 -0.0726309 0.102003 -0.0312072 0.555535 0.000979423 1.48805 0.00733201 -0.666045 -1.86624 -0.0378914 0.00612209 2.02864 -0.00920649 0.0635059 -0.00125033 0.0372989 0.035286 -0.27275 -0.0240697 0.0803068 -0.226999 0.246126 -0.0101576 0.0965937 -0.0134432 -0.155398 0.0298101 -0.00274308 -0.0453718 -0.164271 -0.143835 0.788125 0.00845543 -0.370432 -0.0138784 2.609 0.0682261 0.245246 -0.0416037 0.0787043 0.0428138 -0.44589 0.112218 -0.602282 0.00825571 0.00911037 -0.10207 -0.940239 0.204906 0.161793 -0.078051 -0.0188585 -0.447642 -2.74631 -0.761368 -1.05983 0.0950542 -0.272855 -0.149814 -0.119645 0.0182235 -0.0187286 -0.169406 0.116962 0.0491352 -1.63083 0.0251865 0.315723 -0.120769 -0.709966 0.540984 -0.662857 0.899816 -0.769453 -0.174084 0.0635184 0.0549007 0.142544 -0.0210563 0.0152781 -0.0186321 0.136144 0.357076 0 0 0 0 0 -0.00945412 -0.0337009 0.00197538 0 0 0 0 0.000208145 0 0.0052724 0 0 0.000822839 0.000905122 0.00267734 0 0.000513698 0.019944 0.0302938 0 0 -0.0353015 4.79146e-05 0 0.00381293 0.421817 0 0 -0.00230223 0.0958676 0 0.0291906 0 -0.0076711 0 0 -0.000728742 0 0 0.241025 0.00393192 0.0155437 0 0.0373156 -0.0304744 0 0 0.145586 0 0.00380531 0.269473 0.00151174 0 0 -0.00158509 -0.00321608 0 0.00648346 -0.0404448 -0.0011118 -0.0190155 0.0303805 0.00882407 0 0.00640149 0.000696406 -0.115858 0.00384247 0.0350984 0 0 0 -2.77554 -0.210216 -0.277234 -0.0140712 -0.0123383 -0.0152611 -0.000699932 -0.000613732 -0.0012946 -0.0029213 0 0 0 0 0 0 -0.212494 0 -0.029515 0 0 0 0 0.198897 0.0431859 0 0 0.185402 0 0.0191709 0 0.00289215 0 0 -0.0688474 0 0.520026 0.0151901 0.074764 -0.00611035 0 0 -0.015656 0 -1.11026 0 4.18487 0.0431116 0 0.408002 1.51766 0.0103522 0 0.0101198 0 0 0.00999621 0 -0.207009 -0.309936 0 0 -0.0322338 0 0 -0.691048 4.0118 0.171012 0 0.0994107 0 0.806825 0.0699629 0.0852461 0.385208 -0.0843167 0.895563 0.778017 0.172404 0.101661 1.01517 0.191813 0 0 0 0.275083 -0.0653967 0 0 0 0 -0.0667876 -25.8465 -3.34891 -1.32515 -1.17628 0.483892 -1.27064 -0.045369 0.0167893 -0.0399633 -0.132418 0 0 0 0 0 0 +346 0 -0.262436 -0.474449 -0.0445958 -0.207221 0.116391 -0.205434 0.326456 0.424132 -0.347316 0.886364 -0.0387535 0.0941485 0.00439407 -0.646346 0.0572508 -1.12511 -2.80446 0.033226 0.141931 -3.62639 0.00384455 0.388007 -0.00567014 0.219853 0.435149 -0.612093 -0.00495708 0.39063 0.500699 -0.228436 -0.0466662 0.54232 0.605043 -0.111015 0.276283 0.00205941 -0.00102296 1.19801 -0.12481 -1.84043 0.0360428 0.00272663 -0.00589805 -0.266036 0.267741 -0.939574 0.47228 1.29317 0.0170694 -0.0214413 0.121469 6.67994 -0.247207 0.217679 0.102257 1.40289 -0.914588 -0.35038 -0.329004 -0.0767948 0.922634 6.21897 -0.407125 -0.515539 -0.332551 -0.20731 0.00322584 0.246004 0.084179 -0.215461 0.524058 0.274962 0.1213 4.51181 -0.956498 0.474491 -3.82805 -1.23665 -2.43698 0.172692 -1.08074 -1.06686 -0.387069 -0.109077 -0.546682 -0.94954 -0.0826317 -0.00788656 -0.287847 0.0473992 -0.787615 0 0 0 0 0 -0.0445958 -0.207221 0.000838999 0 0 0 0 0.000195894 0 2.37833e-05 0 0 -0.00172329 -0.00540902 0.00261331 0 0.000243111 0.0551065 0.0122634 0 0 -0.15121 -0.000286338 0 -0.0327448 0.307504 0 0 -0.0144609 0.16878 0 -0.16584 0 -0.0298529 0 0 -0.00300501 0 0 -0.601883 0.00370051 -0.0325536 0 0.015849 0.0693826 0 0 -0.0797484 0 0.00161622 0.390033 0.00495737 0 0 0.0033197 -0.00136596 0 -0.000739036 -0.0337365 0.00619138 -0.706151 0.0300996 -0.0187999 0 0.00744837 0.00761958 -0.294568 0.0359944 0.0732491 0 0 0 5.24969 0.392348 0.235824 0.0245602 0.0215355 0.0433923 0.00146589 0.00128536 0.00271132 -0.000523087 0 0 0 0 0 0 0.116391 0 -0.205434 0 0 0 0 -0.2586 0.130836 0 0 0.679639 0 0.0753273 0 0.0248264 0 0 -0.950344 0 0.705391 -0.0781751 0.23803 -0.136034 0 0 0.200946 0 -7.04993 0 1.22616 -0.512932 0 -0.390771 0.73903 0.0310058 0 -0.0525256 0 0 0.0165705 0 -2.07758 -2.09333 0 0 -0.290747 0 0 -0.0531346 0.606417 -0.143138 0 0.463377 0 -0.0131407 0.315233 -0.0262762 -0.533532 0.130697 0.859624 0.57934 0.0303651 0.582116 2.84511 0.0943098 0 0 0 0.0934282 -0.135366 0 0 0 0 0.0495561 -10.9711 -3.0419 0.402456 -0.379948 0.0341375 -0.341943 -0.284126 0.160877 -0.229282 0.0982473 0 0 0 0 0 0 +347 0 0.260285 -0.121114 -0.0873193 0.0122675 -0.000611546 0.185374 -0.667938 -1.50933 -0.756158 1.19834 0.0717804 0.593479 0.0480855 -0.72216 -0.132122 -1.1945 -5.6268 0.14824 -0.143989 -1.43434 0.0371764 0.149635 -0.0630588 0.409703 -0.315582 -0.343414 -0.203064 -0.332856 -0.881538 0.121357 -0.222898 -0.460145 0.349281 -0.918511 -0.201199 -0.0521958 -0.68446 0.965423 0.01975 -0.0781051 0.165174 -3.15375 -0.12629 -0.287642 0.4208 0.287505 -0.516463 -0.534729 0.417387 -1.74437 0.616837 0.305764 0.225944 -0.0748001 0.0515728 -1.87293 0.140943 0.701194 -0.688715 -0.356626 0.933322 -0.555577 -0.724748 1.10894 1.50864 0.769684 -1.33895 -1.32081 0.39829 -0.0489328 -0.284727 -0.205321 1.02346 -0.169965 0.000598437 0.915175 -4.27279 -2.47733 0.680849 -1.45742 0.854708 -1.99918 -1.2172 1.02961 -1.63272 2.48835 -0.736012 0.522347 -0.0244305 -1.16779 3.33246 0 0 0 0 0 -0.0873193 0.0122675 -0.00431194 0 0 0 0 0.000422437 0 0.0277504 0 0 -0.00335339 -0.00913411 0.0209618 0 0.00324799 0.183255 0.198989 0 0 -0.102037 -0.000510346 0 -0.0211807 0.931952 0 0 -0.00926981 0.460155 0 0.0496476 0 -0.0832216 0 0 -0.0082058 0 0 0.243225 0.00876346 -0.0493049 0 -0.0622442 0.051869 0 0 0.155403 0 0.00238971 0.864983 0.00284897 0 0 0.0013585 0.0172791 0 0.01636 0.0127427 0.0029927 0.103321 0.0893019 0.00192418 0 -0.0103265 0.0142563 -0.533499 0.196441 0.149303 0 0 0 -2.3243 0.0253712 -0.702468 -0.0261422 0.0235244 -0.0650734 0.0030571 -0.00398606 0.00946631 -0.0340363 0 0 0 0 0 0 -0.000611546 0 0.185374 0 0 0 0 -0.2205 -0.759085 0 0 0.0451062 0 0.0222652 0 -0.0229375 0 0 -0.636473 0 0.172202 -0.11751 -0.110888 -0.0806474 0 0 -0.113397 0 -3.3104 0 -1.26875 0.198188 0 -0.528705 -0.363241 -0.00480483 0 -0.0485206 0 0 -0.119707 0 -0.753947 -0.61218 0 0 -0.0693335 0 0 -0.0819666 0.305842 -0.219276 0 1.19013 0 0.627512 -0.0603139 0.319554 -0.0548687 0.185225 -0.482806 0.217548 -0.0798609 -0.124053 -0.476914 -0.141012 0 0 0 0.085053 -0.0391588 0 0 0 0 0.117476 10.8351 1.47154 1.14175 1.02556 -0.831572 0.970641 -0.0505574 0.0570307 -0.03184 0.21977 0 0 0 0 0 0 +348 0 -1.32842 0.01472 -0.0217859 -0.149188 -0.179282 0.120676 -0.5951 -0.813848 -0.0708621 0.828175 0.344523 -0.235988 0.0101386 -0.265697 0.243954 0.832215 3.72117 0.17859 0.323357 -1.713 0.0409869 -0.170111 -0.0110032 0.139428 -0.399918 0.272483 0.0459943 -0.469188 -1.13896 0.0495061 -0.0306264 0.935076 -0.0801027 0.200858 -0.262184 0.0823561 0.245497 1.64078 0.163102 -0.469282 0.0494146 0.757291 0.0415486 -1.11316 0.257314 0.180213 -0.822298 1.15429 -0.0345863 -1.02865 0.117409 1.47243 -0.332744 0.333359 -0.505134 1.2126 0.611196 -0.498293 -0.191498 -0.111814 -0.333626 -0.504303 0.123204 -0.0265824 0.592286 0.509337 -0.410151 -0.393208 0.0535754 -0.14764 -0.40695 0.388565 -0.24921 -0.387723 0.754717 1.32606 -9.90644 -3.40629 -0.429058 -1.90666 0.557168 -1.21883 -0.95209 0.841725 -1.20272 1.50194 -0.450063 0.187333 0.509708 -1.76885 4.3056 0 0 0 0 0 -0.0217859 -0.149188 0.00418044 0 0 0 0 0.00121295 0 0.0229032 0 0 0.00440761 0.01512 0.0152534 0 0.00344331 -0.00154039 0.0993571 0 0 -0.150374 0.000806589 0 0.0636484 0.2833 0 0 -0.0210039 0.0774236 0 0.254417 0 -0.030327 0 0 -0.00364733 0 0 1.25875 0.0228446 0.0804443 0 0.077501 -0.101107 0 0 0.306219 0 0.00972393 0.538142 0.00437576 0 0 -0.00721458 -0.00576521 0 0.0215791 -0.120863 -0.0158964 0.545864 0.0878562 0.0432951 0 0.00241455 0.000214251 -0.112932 -0.0420398 0.0793359 0 0 0 -11.9961 -0.857624 -1.07948 -0.0652831 -0.0301981 -0.136707 -0.00332825 -0.00291631 -0.00555303 -0.0177344 0 0 0 0 0 0 -0.179282 0 0.120676 0 0 0 0 0.273974 0.713482 0 0 -0.0327835 0 -0.00624847 0 0.0594834 0 0 -0.0993285 0 -0.132181 0.0437338 -0.206446 -0.00238716 0 0 0.474188 0 5.37659 0 2.86811 0.607236 0 0.471812 0.415347 -0.0236635 0 0.028671 0 0 0.084622 0 1.62648 0.355295 0 0 0.062843 0 0 -0.299282 -0.411701 0.161012 0 0.700003 0 -0.388482 0.143178 -0.259072 0.618287 -0.103865 -0.256526 0.119329 0.102874 0.58568 4.78575 0.0452703 0 0 0 0.244827 0.035528 0 0 0 0 -0.148232 -22.9514 -2.53136 -1.45533 -0.887706 0.374413 -0.962203 -0.0466106 0.02453 0.0223417 -0.175195 0 0 0 0 0 0 +349 0 -0.590091 0.314644 -0.145067 -0.499444 0.263468 0.338014 -0.64628 -1.68173 -0.37192 1.76499 0.0389891 -0.31097 0.069048 -0.0545749 -0.0661996 1.28095 3.22773 0.314119 -0.253232 1.55528 0.0853513 -0.398258 -0.0843011 0.409449 -0.745016 0.630401 -0.0805922 -0.536289 -0.202356 0.0190545 -0.215811 0.0651231 -0.513756 -0.107258 -0.453755 -0.0525369 -0.438474 -0.169179 -0.412061 0.936962 0.228251 -1.18641 -0.214397 -0.16217 0.66193 0.761654 -0.536666 -0.638796 0.217244 0.289163 0.814095 3.50025 0.270821 -0.447653 0.195705 -0.501993 0.0432433 -0.228083 -0.449487 -0.277291 -0.780513 0.216783 0.34142 0.0946651 0.214504 0.233743 0.445366 -0.318133 0.154233 0.748137 0.0771267 0.150712 0.60172 0.0345279 0.379898 1.18075 5.06386 -0.967295 2.71366 0.32673 0.645621 -1.40704 -1.70809 1.90131 -2.68525 2.7062 -1.15777 1.2092 -1.07417 0.519359 0.764964 0 0 0 0 0 -0.145067 -0.499444 0.00225635 0 0 0 0 0.000649219 0 -0.0139188 0 0 0.00118998 -0.0146737 -0.014338 0 -0.00300293 0.0505896 -0.116017 0 0 0.0228107 -0.000746782 0 -0.180272 -0.158601 0 0 0.00193824 0.00264936 0 -0.497816 0 -0.0152477 0 0 -0.000937479 0 0 -1.13176 0.0115059 0.00754836 0 0.0240399 0.0884695 0 0 -0.418574 0 0.000857431 -0.431744 0.00082939 0 0 0.00268569 -0.00834308 0 -0.0177427 -0.0644895 -0.00452419 -1.24171 -0.0395209 -0.00472556 0 0.00311144 -0.000849265 0.0467003 -0.140432 0.0120135 0 0 0 9.60657 0.528709 0.853804 0.0542469 0.0182541 0.129819 -0.000712214 0.00511254 -0.00561204 0.022796 0 0 0 0 0 0 0.263468 0 0.338014 0 0 0 0 0.00395195 -0.517877 0 0 0.765438 0 0.0862829 0 0.0197195 0 0 -0.117058 0 -0.701118 -0.00825926 -0.0877864 -0.0147318 0 0 0.0857782 0 -0.929332 0 0.633988 -0.0343553 0 -0.354387 -0.871473 -0.0135516 0 0.0218104 0 0 -0.0350227 0 -0.469009 0.494324 0 0 0.0485999 0 0 0.226909 0.0368242 -0.10069 0 -1.09225 0 -0.267616 -0.251263 0.0914505 -0.196185 -0.0277092 -0.0675596 0.123676 0.0943121 0.376214 -2.82555 0.0150409 0 0 0 -0.136166 -0.0441486 0 0 0 0 0.0624197 -7.96179 -4.48734 2.76596 -0.853771 0.69563 -0.458788 -0.614142 0.446268 -0.410407 0.245595 0 0 0 0 0 0 +350 0 0 0 0 0 0.185259 0.187587 -0.856932 -2.10849 0 0 -0.279181 -0.258453 0 -0.996732 -0.0753669 0 0 0 0.0617164 -6.07294 0 0 0 0 -0.552917 0 0 -0.328993 5.20215 0.0119084 0 -0.269297 0 0 -0.287067 -0.0493269 0 0 -2.25576 -0.935021 0 0 -0.495233 -2.41876 0 0.289457 0.56974 0.45676 1.09135 -3.27889 0.959768 0 0.199483 -0.027123 0.282739 -0.325046 -0.0612562 -0.114854 0 0 -1.44594 2.07866 0 1.13813 1.14966 0.720901 0 0 0 0 -0.792945 -1.76305 0 0.661804 -0.519547 0 0 0 6.9694 0 4.88583 -9.27762 0 2.4077 -2.95587 3.7571 0 2.80531 -3.4615 6.35969 -16.5526 0 0 0 0.205857 0.07772 0 0 0 -0.0507792 0.0590264 0 -0.00593702 0 -0.0105568 -0.0107134 0 0 0 0 0.020727 0 0.0194791 0 -0.175647 0 -0.3554 0.0393413 0 -0.00605545 0 0 -0.0740485 -0.00395975 -0.0352939 0 -0.00331546 0 0.00394829 0.0566842 -0.0184034 -0.0562358 0.00804417 0 -0.000773657 0 0 0 -0.000255683 0 0 0.0150779 0.0040312 0.00433614 -0.0777317 0 0 -0.0107362 0 -0.0131516 0 0 0.0474728 0.0424499 0.0751759 0.0041882 0 0 -0.135488 0.0467958 -0.0114785 -0.15716 0.187247 0 -0.0509994 -0.0316897 -0.0137267 0 0 0 1.07065 0 0.152397 0.188937 0 -0.00414919 0.0643582 0.000761761 0 0.00556985 -0.00652145 0.0414613 -0.052165 0 0.185259 0.205857 0.187587 0.07772 -0.52684 -0.193719 0.426073 -0.217943 -0.122447 -0.134667 -0.0680549 -1.55472 -0.0244413 -0.249099 0.0947867 0.00703039 0.0157765 -0.591781 -0.484519 -1.49964 -0.421067 -0.140166 -0.5824 -0.112359 0.0930223 0.286144 -0.107214 -0.024675 -9.20904 -0.586947 -4.41021 -0.14702 0.018471 -0.424979 -1.39982 -0.0953794 -0.00830801 -0.0442579 -0.11938 2.0494 0.080228 0.0396395 -2.18468 -2.3289 -0.00679476 -0.0194555 -0.463796 -0.16309 -0.0731578 -0.302427 -0.596376 -2.50475 0.0750011 -1.29364 -0.0830473 2.77485 -0.0197806 1.28438 0.787641 0.221848 -1.7046 -1.07566 -0.209004 4.6253 19.3516 -0.422047 0.321028 -0.124413 -0.124867 0.139758 0.519801 0.0255406 0.312284 -0.282947 0.137937 0.589112 32.8095 11.8762 -0.983876 7.03465 -2.56548 -1.89299 2.52149 -1.01319 -0.186424 1.29339 1.29713 -0.192037 -0.725252 1.47446 -2.72394 0 +351 0 0 0 0 0 0.0862447 0.308539 -0.489025 -3.31332 0 0 -0.208231 1.07866 0 1.70357 -0.164933 0 0 0 -0.235924 2.73832 0 0 0 0 -0.653217 0 0 -0.165984 -0.618686 0.412213 0 -0.492045 0 0 -0.109156 -0.0337822 0 0 -0.161063 0.82788 0 0 -0.0175605 5.68413 0 0.32241 -0.0799551 -0.533644 -0.0432061 0.866779 -0.0604171 0 -0.0994704 -1.17549 0.838521 -3.11095 -0.618299 0.705481 0 0 0.164339 0.171065 0 0.803531 0.186962 -0.254991 0 0 0 0 -0.788792 0.0498773 0 -0.169534 -1.0864 0 0 0 10.1594 0 2.44875 -1.83868 0 0.371706 0.102998 5.61977 0 0.0278256 0.182047 1.54005 2.45125 0 0 0 -0.101002 -0.000959211 0 0 0 0.0016671 0.0852517 0 -0.000466002 0 -0.00107388 -0.0925189 0 0 0 0 -0.263625 0 -0.0504349 0 -0.436354 0 -0.0706423 0.567229 0 0.00494489 0 0 -0.0350882 0.00278026 0.0921929 0 0.0168631 0 0.00573473 0.0222738 0.0157002 0.0410077 0.0105596 0 -8.3842e-05 0 0 0 0.00117434 0 0 -0.00560275 -0.00933039 0.240095 0.02551 0 0 0.00620638 0 -0.0191932 0 0 0.0843645 0.0318062 0.0544308 -0.0418266 0 0 0.0327812 -0.0366265 -0.0314148 0.0163597 -0.0983095 0 -0.129692 0.0168311 -0.367984 0 0 0 0.750236 0 -0.0519588 0.216959 0 0.00257047 -0.00175939 0.196192 0 -0.00331894 0.00769291 -0.0147085 0.0237024 0 0.0862447 -0.101002 0.308539 -0.000959211 0.143325 0.033645 0.062796 -0.419166 -0.343347 0.0048061 0.00979199 -0.167617 -0.000263723 -0.0614745 0.00436836 -0.0590185 0.00912187 0.100651 1.12394 1.05464 -0.343017 -0.254071 -0.04209 0.128547 0.0578284 -0.0125686 -0.460217 0.0137986 1.83203 -0.0967014 -2.05711 0.255217 7.06285e-07 -1.63745 -0.892014 -0.0170369 -0.00437978 -0.0706516 -0.015951 -0.204587 -0.0330569 0.00117768 0.419388 3.16396 0.00211713 -0.026056 0.378172 0.118394 0.145402 -0.059455 4.45821 -1.1133 0.0251479 -0.290399 -0.0100993 1.04544 -0.563606 1.21899 0.268393 -0.0352324 -0.374829 0.899745 -0.236977 1.58041 -1.07467 0.025717 -0.221812 -0.0143469 -0.249206 0.295371 0.15455 -0.0237333 -0.00521627 0.13256 0.121253 0.238353 15.3037 3.46554 6.49822 1.88011 -0.927033 2.42236 0.0446434 0.053723 0.31702 1.09978 -0.220619 0.104664 0.253357 -0.190648 0.543998 0 +352 0 0 0 0 0 0.63407 0.320839 -0.359884 -1.34264 0 0 -0.663771 0.705999 0 0.549707 -0.165522 0 0 0 -0.284604 1.73554 0 0 0 0 -0.338217 0 0 -0.41384 5.90954 0.362818 0 -0.518864 0 0 -0.240583 -0.0827736 0 0 -3.65791 2.39709 0 0 -0.769591 0.556132 0 1.33613 0.812303 -0.364067 1.17677 -0.97606 0.781463 0 0.65074 -1.01003 0.239971 2.51358 1.30351 0.870033 0 0 0.858268 -4.89365 0 0.718892 0.139958 0.782448 0 0 0 0 -1.17121 -2.34832 0 -0.249342 0.56394 0 0 0 2.44826 0 6.53903 -10.0151 0 3.25629 -5.06633 5.16046 0 5.10751 -7.74023 12.6728 -20.0123 0 0 0 0.559163 0.117468 0 0 0 -0.0304982 0.0117393 0 -0.00311041 0 -0.0172642 0.0117227 0 0 0 0 0.208614 0 0.0314432 0 0.245709 0 -0.271142 -0.0718515 0 0.00225817 0 0 0.43025 -0.00655014 -0.023816 0 -0.00918064 0 0.00110413 0.142508 0.0485552 -0.0855985 0.0308105 0 -0.0012937 0 0 0 -0.000625701 0 0 0.00779621 0.00238672 -0.106911 -0.0458416 0 0 0.0484633 0 -0.00241109 0 0 -0.000154767 0.0166423 0.085892 -0.0331428 0 0 0.152213 0.0489794 -0.0489359 -0.133247 -0.150206 0 0.232811 0.00455005 0.0780239 0 0 0 -1.08369 0 0.0598224 -1.03148 0 -0.0175 0.00221499 -0.161198 0 0.00680814 -0.0332877 0.0742644 -0.235757 0 0.63407 0.559163 0.320839 0.117468 -0.835404 -0.177583 0.0591556 0.279052 -0.330935 -0.165808 -0.0226289 -0.529476 -0.0296306 -0.194511 0.0587977 -0.00485123 0.0522223 -0.797732 0.902291 -1.36199 -0.123721 0.113923 -0.183545 0.0219317 0.383976 0.15153 -0.433191 -0.0235298 1.38116 -0.184436 -0.351886 0.751082 0.0161212 0.514684 -0.246959 -0.0817988 0.000360281 0.0684099 -0.061941 0.8466 0.131506 0.0257925 0.946295 1.43083 -0.00137429 0.0380758 -0.0718264 -0.154076 0.11615 0.345689 2.51411 -0.966307 -0.00962764 2.22089 0.00106916 1.68789 -0.146333 0.575442 0.421732 -0.190689 1.19972 -0.371216 0.181135 4.76011 31.3255 0.0910067 -0.226849 0.071208 -0.309729 0.415967 0.295136 0.00418388 0.222404 -0.205274 -0.000400142 0.438151 2.61783 2.45565 -1.61151 3.35298 0.377824 -2.27464 1.68241 -0.403886 -0.471526 0.29343 1.74856 -0.746305 -0.0530215 0.744188 -1.29729 0 +353 0 1.09903 0.455539 0.104756 0.203827 -0.0389028 -0.116716 1.42788 3.28727 0.380168 -2.89667 0.405549 0.81712 -0.0438861 1.14231 0.0990772 1.23893 3.10815 -0.603619 0.16341 -0.189715 -0.123533 -0.388443 0.0354247 -0.760778 0.764075 0.438076 -0.0505963 0.0699526 -0.0164448 0.303011 0.121341 0.474082 -1.55101 -0.191465 0.310431 0.0986387 0.209709 -6.84792 0.724683 -0.199644 -0.176527 0.453457 0.216525 1.55725 -0.575839 -0.23586 0.0162034 0.825465 -0.52416 0.62997 -1.09637 1.42977 0.0398909 0.16267 -0.0869587 0.586534 0.565895 0.0951706 1.14534 0.292767 1.0964 0.808926 3.34808 -1.01768 0.316215 -0.324095 1.58781 -0.0125955 0.0113036 2.00075 0.484682 0.938553 0.422405 -0.074938 0.0666363 1.52557 41.4336 15.7413 -7.9221 9.78805 -7.79352 10.7786 4.48451 -3.74858 4.19488 -5.96148 1.38577 -1.66759 1.03639 -1.3021 0.0580644 0 0 0 0 0 0.104756 0.203827 0.00802354 0 0 0 0 0.000487374 0 -0.0105751 0 0 -0.00422445 -0.0169499 0.0120701 0 -0.000194109 0.0417576 -0.0271159 0 0 -0.077135 -0.00124152 0 -0.0301721 0.73939 0 0 -0.0171893 0.0908652 0 -0.150913 0 -0.00175679 0 0 -0.00194798 0 0 -0.743921 0.00694804 -0.0603467 0 0.112847 -0.0132915 0 0 -0.0366442 0 -0.000909622 0.0108395 0.00222782 0 0 0.0109991 -0.0264113 0 -0.0271691 -0.0566929 -0.0353072 0.27688 0.0443936 0.0231568 0 0.0478877 -0.0257595 0.105822 -0.0483138 -0.155066 0 0 0 5.69133 0.28649 0.531866 0.0580348 -0.0576974 0.191071 0.00547068 -0.00850904 0.0206703 -0.0101779 0 0 0 0 0 0 -0.0389028 0 -0.116716 0 0 0 0 0.426311 1.20224 0 0 -0.925896 0 -0.13213 0 0.0530911 0 0 0.272332 0 -0.255153 0.145559 -0.326531 0.0345878 0 0 0.419941 0 9.10577 0 -2.71637 0.312758 0 1.06184 -0.745383 -0.0485879 0 0.0597848 0 0 0.150193 0 2.56172 0.0318183 0 0 0.00779598 0 0 0.289419 4.69265 0.610414 0 2.24233 0 -2.94295 0.53929 -0.466506 0.949541 -0.102211 0.544363 3.10419 -0.344078 -1.6032 -6.78376 0.141219 0 0 0 0.215459 0.352648 0 0 0 0 -0.315696 25.1074 5.84784 -3.55515 1.65399 -1.25537 2.69741 0.760867 -0.676366 0.793503 -0.870448 0 0 0 0 0 0 +354 0 1.03692 0.0949916 0.00136728 -0.155762 0.208893 -0.211788 -0.639998 -1.62432 0.322753 -0.0434673 -0.506978 -0.781122 -0.0102839 -1.54941 -0.131487 -0.157022 3.29485 -0.219353 -0.229904 0.337374 -0.0644531 -0.0394398 0.0241909 -0.0630439 0.206306 -0.38263 -0.0463402 0.806864 1.71098 -0.549444 0.086767 -0.456727 -1.19122 -0.171516 0.225054 -0.0820951 -0.142231 -6.85546 -0.640784 -0.566927 -0.0220262 -0.524267 -0.0802423 -1.30126 0.0660737 -0.642109 1.21733 -0.895017 0.1562 -2.06346 -0.281753 -5.16562 0.290248 -0.345429 0.568261 1.59492 1.32359 0.600881 0.277218 0.0887228 -0.118354 -0.876973 3.4769 -0.709769 0.8037 0.818225 1.72724 -0.244797 -0.177519 -0.0922473 -0.608318 -0.510757 -0.783225 0.671654 -1.25797 -0.740772 38.9485 7.57862 2.32865 6.20059 -3.6305 6.60544 -0.585041 0.366586 -0.841135 5.37476 -0.159008 0.862323 -2.17541 3.49524 -6.04126 0 0 0 0 0 0.00136728 -0.155762 -0.00102904 0 0 0 0 -0.0014798 0 -0.0108097 0 0 0.00592594 0.0137073 -0.0200571 0 -0.00110489 -0.045391 -0.144216 0 0 0.30938 0.0010195 0 -0.171006 0.69288 0 0 0.0500453 -0.0986033 0 -0.553929 0 0.0796396 0 0 0.01185 0 0 -1.34152 -0.0200886 0.0792483 0 -0.00993692 -0.0422302 0 0 0.0523781 0 -0.0150855 0.172894 0.0288596 0 0 -0.00945051 -0.00158055 0 -0.00295096 -0.0482354 0.0352529 -0.141414 -0.0490174 -0.00439299 0 0.0103802 -0.0676861 -0.0969867 0.0338736 0.14727 0 0 0 5.81375 -0.156214 0.845946 0.0971052 -0.154448 0.38443 -0.00714978 0.0144406 -0.0304576 0.0582005 0 0 0 0 0 0 0.208893 0 -0.211788 0 0 0 0 -0.386795 -0.31781 0 0 0.385093 0 0.0398689 0 -0.0245054 0 0 0.0387094 0 0.891154 -0.0659362 0.393961 -0.0038363 0 0 -0.155089 0 2.27117 0 -1.02059 -0.347764 0 -0.626911 1.16406 0.0469938 0 -0.0456657 0 0 -0.0390663 0 -0.238322 0.636782 0 0 0.0538666 0 0 -0.122456 -1.83832 -0.338057 0 0.125937 0 1.30647 -0.285331 0.305756 -0.276811 -0.0232385 -0.0463153 -1.16712 0.22324 1.03924 5.54664 -0.00211373 0 0 0 0.103225 -0.150793 0 0 0 0 0.0814193 13.6473 -1.11872 3.76607 -0.545104 0.783531 0.17896 -0.572682 0.511335 -0.353713 0.612677 0 0 0 0 0 0 +355 0 0.462399 0.327275 0.146472 0.449478 -0.353421 -0.243044 0.607451 2.59799 0.164097 -3.85137 0.497484 0.284538 -0.0590044 0.484466 0.153324 0.90116 1.42796 -0.851618 0.341711 -3.37774 -0.21353 -0.400031 0.0492328 -1.05655 0.668512 0.366275 -0.147313 0.0511912 -1.33121 0.209732 0.132254 0.597207 -1.44532 -0.369853 0.234198 0.123395 -0.018321 -5.51726 0.877688 -1.52485 -0.22406 0.120937 0.268815 -0.404809 -0.685737 -0.619712 -0.476765 1.30584 -0.346678 -0.599999 -2.03384 -5.32617 -0.273416 0.483782 -0.76351 -4.04028 -0.85875 -1.17747 1.40174 0.248893 -1.25194 4.25834 4.08342 -3.01592 0.1807 -0.617197 2.70526 -0.232949 0.00735025 1.50628 0.189109 0.266139 0.268768 -1.08965 0.675069 -0.365316 24.0854 15.9954 -12.6188 11.76 -10.3743 10.541 6.43038 -5.84857 7.45492 -6.48575 1.65025 -2.00354 2.81242 -3.38876 4.70033 0 0 0 0 0 0.146472 0.449478 0.00379455 0 0 0 0 -0.000558654 0 0.017397 0 0 -0.00394275 -0.0190059 0.0429554 0 0.00265568 0.0942083 0.185834 0 0 -0.151066 -0.00141362 0 -0.0514722 0.451635 0 0 -0.0133645 0.205226 0 -0.0232492 0 -0.000710187 0 0 0.000455314 0 0 0.155927 -0.00766099 -0.0488124 0 0.0531277 -0.0610511 0 0 0.289749 0 -0.00362692 0.112672 0.00953963 0 0 0.00221359 -0.0122174 0 0.00864647 -0.0048537 -0.0109126 -0.759809 0.0972482 0.0121785 0 0.00693706 -0.0127514 0.131215 -0.164887 -0.138277 0 0 0 -2.86421 -0.222613 -0.509703 0.00819473 -0.0697809 0.0770088 0.00378008 -0.00911812 0.0179908 -0.0538756 0 0 0 0 0 0 -0.353421 0 -0.243044 0 0 0 0 0.429016 1.2294 0 0 -1.48192 0 -0.170813 0 0.0669276 0 0 -0.881568 0 -0.0819458 0.140227 -0.511173 -0.0570764 0 0 0.463216 0 -1.02438 0 -1.58108 -0.317636 0 1.22308 -0.267266 -0.0566632 0 0.0415158 0 0 0.176235 0 -0.745122 -2.18703 0 0 -0.175413 0 0 -0.0761032 1.46749 0.317633 0 -0.929495 0 -1.93899 0.897076 -0.601113 0.987782 -0.165141 -1.42591 2.32028 -0.371588 -3.72957 -22.6008 -0.05391 0 0 0 -0.219863 0.320112 0 0 0 0 -0.365661 14.5645 8.27937 -6.23501 1.99671 -1.66212 1.59856 1.32987 -1.13635 1.24156 -1.03032 0 0 0 0 0 0 +356 0 0.740877 0.0237546 0.150426 0.147296 -0.152095 -0.268876 1.26299 3.22417 0.532309 -3.46326 -0.245259 -0.991694 -0.098739 -1.39431 0.13241 -0.815295 -3.22836 -0.592143 0.27584 -1.3181 -0.147744 -0.0701385 0.0882212 -0.901167 0.642358 -0.241818 0.175676 0.38237 1.57114 -0.357405 0.215483 0.162672 -0.909356 0.561368 0.338387 0.0485693 0.863941 -5.88184 -0.39659 -0.863552 -0.295131 2.63012 0.1406 -4.19256 -0.605322 -0.550704 0.753398 0.291879 -0.151125 0.402692 -1.05679 -6.77742 -0.157193 -0.137862 0.254815 -0.930677 -1.40577 -0.850347 1.14556 0.32085 -1.52655 0.664546 -1.48362 -1.04245 -0.565974 -1.68357 0.383147 0.710493 0.207627 1.40634 0.626556 -0.335302 -0.418587 0.860846 -0.790012 -3.30147 32.5014 13.6459 -10.3488 9.13746 -6.09733 5.5415 6.00773 -4.14113 4.00384 -5.17765 2.11847 -0.482405 -1.34059 3.9763 -7.31267 0 0 0 0 0 0.150426 0.147296 0.0103103 0 0 0 0 -0.00067941 0 -0.0210152 0 0 -0.00291456 -0.00789996 -0.0328979 0 -0.0100148 -0.0685739 -0.0888446 0 0 -0.399083 -0.000622961 0 0.15607 -0.356279 0 0 -0.0491458 -0.293161 0 0.131595 0 -0.0875983 0 0 -0.00722759 0 0 -0.0401713 -0.00925043 -0.0412665 0 0.149485 0.031458 0 0 -0.192347 0 0.0149699 -0.19763 -0.0227945 0 0 0.0165193 -0.0286453 0 -0.0364544 -0.0499423 -0.0521831 0.747109 0.0187098 0.0311532 0 0.042854 0.0364501 0.12359 -0.0524269 -0.168305 0 0 0 3.71592 0.365721 0.409118 0.00236408 0.0482402 -0.0350548 0.00589211 -0.00880374 0.0176347 -0.00641812 0 0 0 0 0 0 -0.152095 0 -0.268876 0 0 0 0 -0.103798 0.779611 0 0 -0.351235 0 -0.0573336 0 0.0143429 0 0 -0.285192 0 -0.112279 0.0979517 0.188896 -0.0102626 0 0 0.0514358 0 1.21136 0 -1.88988 -0.017646 0 0.723769 -0.615361 0.0152532 0 -0.00261026 0 0 0.111855 0 0.163991 -0.748482 0 0 -0.0475204 0 0 0.206286 3.06046 0.413017 0 -0.323354 0 -1.12345 0.118844 -0.205231 0.0976684 -0.0370466 0.701709 1.65972 -0.0808376 -2.21857 -10.2637 0.0971273 0 0 0 -0.150494 0.148479 0 0 0 0 -0.25882 21.7458 4.32649 -4.46248 1.88525 -1.38902 1.4489 0.105065 -0.0602547 0.144258 -0.411369 0 0 0 0 0 0 +357 0 0.543644 0.678519 -0.0120969 -0.0683798 0.0910983 0.153819 0.300461 0.441825 -0.248314 -0.0839043 0.632805 0.281269 0.0296655 -0.366786 0.168702 1.46784 6.64992 -0.0556573 0.257227 0.543324 0.0263178 -0.697599 -0.0544919 0.0214366 -0.116979 0.519253 -0.0510704 -0.509725 -1.8889 0.00885108 -0.124957 0.610907 -2.13214 0.0396477 -0.195966 0.108442 -0.0956263 -8.49714 0.746034 0.56411 0.0889443 0.272069 0.100553 -0.204608 0.230978 0.471597 -1.06956 1.00846 -0.0301764 0.546826 0.33882 3.68868 -0.2155 1.23885 -1.49584 5.94576 0.448496 -0.341748 -0.155075 -0.23997 -2.29984 -0.126896 2.95085 -0.0826481 -0.253698 -0.143808 0.534798 -0.0354032 0.263365 0.734081 -0.0784219 0.555343 0.270205 1.95839 2.00883 -0.210725 50.2344 10.8939 -6.01993 10.8409 -13.138 19.6671 -0.675865 -0.19735 1.69623 -1.74966 -0.808364 -0.85658 2.76781 -5.40707 8.79167 0 0 0 0 0 -0.0120969 -0.0683798 0.017286 0 0 0 0 0.00671997 0 0.0138384 0 0 0.00102403 -0.00980463 0.0527986 0 0.00826691 0.0545667 0.0805437 0 0 -0.329925 -0.000785048 0 -0.14513 2.10184 0 0 -0.0415888 0.401928 0 -0.356762 0 -0.0850777 0 0 -0.0120519 0 0 -0.797974 0.0939677 0.0210248 0 0.243943 -0.0778375 0 0 0.133531 0 -0.00929727 -0.10588 0.0155036 0 0 -0.000910414 -0.0494819 0 0.00127505 -0.234007 -0.000719238 -0.828913 0.114532 -0.000231297 0 0.0876682 -0.0432401 0.176407 -0.189397 -0.108944 0 0 0 1.95128 -0.0884542 0.00970792 0.0534073 -0.11311 0.259423 -0.00131959 -0.00205309 0.00912624 -0.0323052 0 0 0 0 0 0 0.0910983 0 0.153819 0 0 0 0 0.440278 1.0714 0 0 -0.70974 0 -0.103024 0 0.0981525 0 0 -0.101117 0 -1.00865 0.0726848 -0.526477 0.0243185 0 0 0.675088 0 8.94321 0 -5.64802 0.703556 0 0.479078 -2.24782 -0.0703737 0 0.0567109 0 0 0.161899 0 2.72881 -0.172965 0 0 0.049242 0 0 0.139248 3.5772 0.648742 0 0.445008 0 -2.96082 0.968838 -0.775493 0.636853 -0.0458127 0.044302 2.95428 -0.227508 -3.02625 -12.5848 -0.0250072 0 0 0 -0.118605 0.212561 0 0 0 0 -0.335476 49.0546 11.0617 -6.38196 5.30939 -4.20694 4.487 0.675505 -0.622026 0.750927 -0.51624 0 0 0 0 0 0 +358 0 0.943597 0.199175 0.193893 0.543366 -0.351411 -0.267606 1.59455 4.0304 -0.0575072 -3.71948 0.0682118 -0.496246 -0.0978896 -1.01262 0.0769923 0.582146 3.85204 -0.556823 0.264114 -2.33333 -0.153589 0.013167 0.0697013 -1.04104 0.833906 -0.0169154 0.10854 0.418726 0.914892 -0.32757 0.107781 0.0702595 -0.20977 0.529734 0.387181 0.071804 0.54323 -2.4251 0.219173 -1.14512 -0.263785 2.5095 0.206058 -2.02626 -0.401365 -0.597252 0.625166 0.637153 0.432107 -0.0302225 -0.776918 4.56496 -0.0780617 1.1755 -0.265367 2.58612 0.273733 0.523609 0.880612 -0.133685 0.434164 1.11579 0.452627 -0.730453 -0.969008 -1.44924 0.501624 1.85606 0.300095 1.30301 1.37077 -0.587526 0.271476 1.83178 -0.890474 0.73954 6.02713 10.4989 -11.1537 5.55744 -3.90633 1.08968 6.60399 -5.18293 4.757 -7.27339 1.40468 -1.16354 -0.666892 1.26795 -4.25825 0 0 0 0 0 0.193893 0.543366 0.00912797 0 0 0 0 -0.000498683 0 0.0343348 0 0 -0.0115526 -0.0406644 0.0516192 0 0.00159525 0.136533 0.32664 0 0 -0.182655 -0.00298771 0 0.202346 0.723496 0 0 -0.0180436 0.24119 0 0.387178 0 -0.0324256 0 0 -0.00132047 0 0 0.725088 -0.007918 -0.156989 0 0.122478 -0.0415235 0 0 0.250545 0 0.0202366 0.0160437 -0.0308492 0 0 0.00846403 -0.0125845 0 0.0031282 0.0435084 -0.0228773 -1.07214 0.00926199 0.00781955 0 0.00917073 0.0473084 0.0586803 -0.0980006 -0.00281775 0 0 0 -4.77024 0.0237818 -0.882701 -0.0461226 0.0376611 -0.145763 0.0111695 -0.0199046 0.0399314 -0.0844013 0 0 0 0 0 0 -0.351411 0 -0.267606 0 0 0 0 -0.152329 1.0446 0 0 -0.976484 0 -0.110224 0 0.0225979 0 0 -0.187034 0 -0.277607 0.0234126 -0.0282081 -0.014552 0 0 0.238949 0 2.51477 0 -3.83931 -0.353449 0 0.333326 -1.02394 0.00142986 0 -0.0221312 0 0 0.114764 0 0.133922 -0.633429 0 0 -0.0541181 0 0 -0.0713182 -0.287748 0.261824 0 0.221362 0 -1.54608 0.859811 -0.56441 0.0679356 -0.0132481 -0.80146 1.12505 -0.235728 -1.35035 -6.60328 -0.136045 0 0 0 0.066145 0.120953 0 0 0 0 -0.266611 35.2646 9.85977 -4.80048 4.11262 -3.29712 3.17604 0.861139 -0.668209 0.670848 -0.223166 0 0 0 0 0 0 +359 0 0 0 0 0 0.0671499 0.0125151 -0.763468 -1.9488 0 0 0.103739 -0.188774 0 -1.67965 -0.0324329 0 0 0 -0.133608 -0.975021 0 0 0 0 -0.267298 0 0 -0.125419 -6.76544 -0.226718 0 -0.0292471 0 0 -0.0588626 -0.0208116 0 0 0.439676 -1.26648 0 0 -0.00990394 -1.43305 0 -0.534363 -1.6557 -0.199578 0.00101739 -1.04779 -0.0644264 0 0.0694566 -0.0530164 -0.286895 2.38328 0.0290192 0.113863 0 0 -0.785297 2.77968 0 0.273053 0.0766399 1.47774 0 0 0 0 -0.635537 -0.0306738 0 3.58296 1.72028 0 0 0 3.29927 0 -0.397253 9.23605 0 0.00700063 0.735341 9.02849 0 -0.183838 1.39388 -2.7669 24.2008 0 0 0 -0.133667 -0.0086969 0 0 0 0.0215891 -0.00413894 0 0.00162037 0 2.02121e-05 0.00212639 0 0 0 0 0.010413 0 0.00148895 0 0.00167854 0 0.214228 0.073913 0 0.000188417 0 0 0.00496868 0.000136209 0.0039854 0 -4.44886e-05 0 -0.000305475 -0.0194945 0.00129126 0.00183263 -0.000924249 0 1.47019e-06 0 0 0 -3.23442e-06 0 0 -0.000361389 -0.000485736 0.0744457 0.000904999 0 0 -0.000580593 0 0.000529982 0 0 0.000607795 -0.000847012 0.0630594 -0.0024806 0 0 -0.0138843 -0.0053818 0.000428905 -0.0384153 0.00380377 0 -0.0229967 0.000346931 0.0624934 0 0 0 0.0355624 0 -0.00352317 0.0111831 0 0.000359014 -0.00102745 0.0201983 0 -0.000183026 0.00106845 -0.00272498 0.0128908 0 0.0671499 -0.133667 0.0125151 -0.0086969 0.732455 0.127373 -0.0616299 0.210539 0.0151127 0.00223108 -0.00717625 -0.228917 9.66867e-05 -0.0105815 -0.00286831 0.00548131 -0.00807676 0.0487521 -0.763559 0.158817 -0.171228 -0.265721 -0.129335 -0.0706555 -0.0121081 -0.372244 0.115866 -0.00739552 -5.07063 0.169102 -2.47029 -0.871346 -0.000124476 -0.879373 -0.620838 -0.00517148 0.00203335 -0.0119806 0.0287921 -2.50722 -0.00173669 -0.0497259 -2.21912 -1.2532 -0.00171112 0.0131546 -0.217171 -0.0330023 -0.0747884 -0.381849 -1.52387 0.049141 0.0268681 -2.01173 0.00448482 0.81607 -0.00630612 0.178764 -0.06151 -0.0414729 -2.04424 0.196612 -0.0202032 -0.527567 -11.0619 -0.12078 0.221239 0.00518814 0.252313 -0.0482014 0.0188026 -0.00258456 -0.00410872 -0.0254544 -0.0726179 0.00338589 13.6533 0.446158 5.42765 -0.101823 -0.645661 9.03619 0.00672902 -0.128296 0.769873 1.79328 -0.00129876 -0.0673507 0.327436 -0.455772 3.01319 0 +360 0 0 0 0 0 -0.0487263 0.334773 -0.686347 0.0223721 0 0 0.0199064 1.12421 0 1.588 -0.0131223 0 0 0 -0.10654 -0.284595 0 0 0 0 -0.239764 0 0 -0.959952 -1.77812 0.676604 0 0.00212001 0 0 -0.348644 -0.0121672 0 0 -0.0520851 0.656443 0 0 -0.0774799 2.21086 0 0.758116 -1.33992 -0.339076 0.195154 -0.757379 0.0538044 0 0.157765 -0.117955 0.0669408 -1.04085 -0.00693298 -0.61899 0 0 0.76335 0.239972 0 -0.99907 0.0447182 -0.505663 0 0 0 0 0.138496 -0.384393 0 -2.24577 0.596105 0 0 0 -0.15766 0 0.208522 2.52774 0 0.284669 -0.586303 1.32153 0 0.567601 -1.20343 1.22527 1.88317 0 0 0 -0.0479214 -0.00235579 0 0 0 -0.000244539 0.00253757 0 0.000168839 0 -8.0299e-06 0.00179003 0 0 0 0 0.033159 0 0.00113751 0 0.0577448 0 -0.0104184 0.000819621 0 9.6025e-05 0 0 0.00870059 -4.34293e-05 0.000551064 0 2.58527e-05 0 0.00018702 0.00413097 0.00150754 -0.000575072 4.97542e-05 0 -5.84439e-07 0 0 0 1.87945e-06 0 0 0.000115521 0.000297313 -0.00904447 -0.000222586 0 0 0.000188305 0 -0.000324395 0 0 -0.000273554 2.62497e-05 -0.00683163 0.00145121 0 0 -0.0141729 -0.00152669 -0.000183501 -0.00727441 -0.0295303 0 0.000283115 -0.000230426 0.012393 0 0 0 -0.0854429 0 0.00105897 -0.0174021 0 -0.000123392 0.00020701 -0.0123084 0 5.91091e-05 -0.00038725 0.000948052 -0.00663313 0 -0.0487263 -0.0479214 0.334773 -0.00235579 0.0793801 0.0305297 -0.0159179 0.319001 -0.0792143 0.000504204 0.0303479 0.00213932 2.3505e-05 -0.00124059 -0.000724724 -0.000251553 0.0197449 0.00981269 0.0293146 -0.207734 0.405493 0.272404 -0.0114639 0.0642516 0.0603025 0.00461179 -0.014963 0.00842247 1.92923 -0.0270951 2.32189 1.70564 -3.13194e-05 1.09445 0.862228 -0.000618556 0.00201458 0.0718654 0.014745 -0.0686131 -0.00321493 -0.00017602 2.0195 0.409668 0.00515926 -0.00153713 0.210678 -0.00278358 -0.0700026 -0.83598 3.01144 -0.43751 -0.0309416 -5.37254 0.0011257 0.0768201 -0.00508845 -0.0104965 0.0952793 -0.127392 0.952965 0.123378 -0.0707475 -0.160367 -13.2116 0.247501 0.143387 0.012439 -0.0915742 -0.333552 0.00383693 0.0233403 -0.000857486 -0.127887 0.0651956 0.00504434 -12.8331 0.169345 -5.66913 -0.0580451 -0.0802922 -0.865959 0.00071217 0.126671 -0.409632 0.0458077 -0.000261411 0.156525 -0.369102 0.32277 0.0958802 0 +361 0 0 0 0 0 0.678516 0.222452 -0.649247 -1.92097 0 0 0.0592348 0.30458 0 -0.558013 -0.00197843 0 0 0 -0.0364968 4.62666 0 0 0 0 -0.260902 0 0 -0.132006 -1.19591 -0.0079212 0 -0.0803179 0 0 -0.0997912 0.0129666 0 0 0.522204 -0.135052 0 0 0.166354 1.54789 0 -0.135727 -0.392546 -0.585257 -0.240684 0.697742 -0.158923 0 0.0724415 0.0438053 -0.0627994 1.77931 0.446479 0.0339518 0 0 0.0101575 -1.10716 0 -0.352717 -0.339384 -0.374308 0 0 0 0 -0.181286 0.427197 0 0.622614 -1.06417 0 0 0 3.34291 0 -1.15762 3.0886 0 -0.54564 1.0184 2.70891 0 -0.882211 1.53074 -2.18333 7.17699 0 0 0 0.0172315 -0.000889328 0 0 0 0.0106368 -0.00789939 0 0.000491454 0 3.77149e-05 -0.000350899 0 0 0 0 -0.0267687 0 -9.44127e-05 0 -0.0569358 0 0.116032 0.0619521 0 -4.48676e-05 0 0 -0.0202576 0.000277758 0.00251624 0 -7.87308e-05 0 -0.000564495 -0.0050884 -0.00146203 0.00390478 0.000105196 0 2.73383e-06 0 0 0 -5.70935e-06 0 0 -0.000731603 -0.000892808 0.0472407 0.00284142 0 0 -0.00056012 0 0.000974134 0 0 0.000305207 -0.0018684 0.0138466 -0.00442874 0 0 0.0192578 0.00312855 0.000741606 0.016177 -0.0118368 0 0.00607622 0.00115332 0.00985052 0 0 0 0.114383 0 -0.00835162 0.0245353 0 0.000570292 -0.00425407 0.0270647 0 -0.000359582 0.00150713 -0.00447051 0.00262753 0 0.678516 0.0172315 0.222452 -0.000889328 0.204599 0.0951211 -0.00901106 -0.313357 0.244712 0.000431427 -0.0324397 0.0339622 1.55956e-05 0.00219769 -0.000423013 0.00323649 -0.0257429 0.011599 -0.69607 1.47633 0.202644 -0.202668 0.0431873 -0.05135 -0.271549 -0.135998 0.10173 0.0241025 -3.5456 0.0288718 1.2135 -0.690184 -1.78912e-05 -1.37733 0.426082 0.00153837 0.00525778 -0.0146255 0.031577 -0.611289 0.00682773 -0.0235107 -2.16831 -0.359623 -0.00274981 0.0164112 -0.0166116 0.183977 -0.0736069 -0.0658815 3.93281 0.929888 0.0357325 3.69208 0.000723198 1.59852 0.00473059 -0.154356 0.179093 0.462631 1.22046 -0.0607526 0.0887272 -0.34342 6.35569 -0.184654 0.00486622 -0.0381124 0.324565 0.140068 -0.00490278 -0.0443599 -0.000957319 0.0465159 -0.0363046 -0.00786697 -6.70703 -0.00225966 3.74239 -0.0482178 -0.130742 2.43686 0.000423121 -0.108905 0.350596 0.918929 -0.000308999 -0.110691 0.253866 -0.325074 1.14239 0 +362 0 0.846573 0.229857 -0.00184261 -0.0801091 0.355117 0.1005 0.236951 -1.88062 -0.00230468 -0.00197644 -0.0271486 0.876354 2.2685e-06 2.29293 -5.87936e-05 1.23685 6.07573 0.029838 0.000810291 3.14694 -0.00226506 0.135138 -7.65251e-07 -0.0648594 -0.11143 0.192733 -0.00895367 0.28147 1.19375 0.319618 -4.26332e-05 0.00232432 -0.462655 0.00227083 0.16649 -0.000501666 -0.108967 -5.63996 -0.108222 1.28961 0.000124681 -0.0405933 -0.0024298 5.09779 0.00640153 0.363854 0.713504 0.0445043 0.0026958 1.33129 -0.21353 -1.75375 -0.00223429 0.00334616 -0.0157687 -2.35494 0.149331 -0.0286875 0.0775969 -3.08476e-05 -0.0861243 -2.34035 -0.0314338 0.200381 -0.378251 -1.20309 -0.554238 -0.0543096 -9.95469e-05 -0.0110237 -0.031483 -0.0267534 0.0601102 -3.11771 -1.21677 0.315834 22.3824 1.96627 9.48229 1.82746 -1.1559 8.71448 -0.0139304 0.114912 -0.281413 2.95077 -3.65203e-05 0.000563982 -0.0143385 0.23244 -4.07769 0 0 0 0 0 -0.00184261 -0.0801091 -0.00013239 0 0 0 0 -2.60328e-06 0 -0.00762381 0 0 0.0003851 9.74083e-05 -0.00132198 0 -0.000185773 0.000691251 -0.054282 0 0 0.0840912 8.67268e-06 0 -0.00116021 0.264659 0 0 0.0130275 0.0136282 0 -0.0273664 0 0.00192978 0 0 0.000299079 0 0 -0.231946 1.86732e-05 0.00437451 0 0.000416555 -0.00557698 0 0 -0.0249153 0 -0.000326307 -0.0216254 -0.00199919 0 0 -0.000811343 0.00027578 0 -0.000887722 -0.000392019 -0.00136114 0.123042 -0.00687715 -0.00698124 0 0.00301165 -0.0101407 0.0740762 -0.00180933 -0.0696285 0 0 0 1.2973 -0.010526 0.304718 0.0184131 -0.0367044 0.161553 -0.000583122 0.00106577 0.000112239 0.0556525 0 0 0 0 0 0 0.355117 0 0.1005 0 0 0 0 -0.578501 0.306914 0 0 0.346565 0 0.0204911 0 0.00559169 0 0 0.769887 0 0.129769 -0.197003 0.133348 0.0930379 0 0 0.115083 0 9.61008 0 -2.63751 0.974669 0 -1.77128 -0.296809 0.00915666 0 -0.0591566 0 0 0.0139526 0 3.32161 1.66083 0 0 0.199578 0 0 0.56839 1.7327 0.438071 0 2.39746 0 0.418938 0.0337891 -0.21791 0.096449 0.26554 1.14057 -0.267764 -0.0463004 0.566906 12.3093 -0.0553238 0 0 0 0.0415917 -0.00213521 0 0 0 0 0.0168257 21.0368 0.0675413 7.20261 0.538132 -0.441312 1.90058 -0.0641562 0.0560854 -0.23827 1.11683 0 0 0 0 0 0 +363 0 -0.213512 -0.206194 -0.00103029 -0.0468708 0.0455761 -0.258884 -0.0734906 0.0133459 -0.00313985 0.00742952 -0.0203737 -1.86149 4.00656e-07 -1.71143 -0.000509226 -0.95565 -4.89233 0.00681979 -0.00185216 -1.64826 -0.00374581 -0.03069 -8.07912e-07 -0.0732807 -0.0836531 -0.145381 -0.000341841 0.238409 -0.457161 -0.676422 -5.21368e-05 -0.0366291 -0.0418265 -0.0016734 0.0597883 -0.000198241 -0.0427997 1.45135 -0.0064932 -1.2038 2.26697e-05 -0.22383 0.000113207 -5.48949 0.0012019 -0.919044 0.0893441 -0.101031 -0.00128006 1.08403 -0.218558 -0.293265 0.000974009 -0.000767592 0.0182167 1.40744 -0.478449 0.0228981 0.16715 6.1821e-05 -0.350031 1.46671 0.531644 0.512869 0.0225202 0.615976 0.367761 -0.00931637 8.35704e-06 0.165297 -0.0165262 0.0309878 0.0838263 3.27482 0.204397 -0.537211 -7.692 -0.71831 -2.57745 -0.239055 -0.0595931 -2.89708 0.47517 -0.44174 -0.00205066 -0.295956 -6.85679e-06 6.64514e-05 -0.000748731 -0.00714078 1.5616 0 0 0 0 0 -0.00103029 -0.0468708 0.000367382 0 0 0 0 7.15781e-06 0 0.00438971 0 0 -0.000299604 -0.000100409 0.000708197 0 0.000100446 -0.000415162 0.0303986 0 0 -0.0175768 -7.32057e-06 0 0.00146637 -0.0839373 0 0 -0.0031004 -0.0103034 0 0.0346903 0 -0.000386835 0 0 -6.99811e-05 0 0 0.159811 7.60935e-05 -0.0042628 0 0.00400201 0.00747164 0 0 -0.028359 0 0.000778241 -0.0115894 -0.00151068 0 0 0.000610012 -0.000657733 0 0.000497949 0.0100004 -0.000385881 -0.0179102 0.00310616 -0.000528658 0 -0.00126337 0.0136687 -0.00106407 -0.000119532 0.00519098 0 0 0 -0.67476 0.0259811 -0.153065 -0.0122367 0.0236361 -0.0676728 0.000383719 -0.000738464 0.00194649 -0.0242956 0 0 0 0 0 0 0.0455761 0 -0.258884 0 0 0 0 0.232536 0.186681 0 0 -0.000826396 0 0.0053569 0 0.0144114 0 0 -0.0911865 0 0.0633126 0.0158192 0.00905368 -0.0252126 0 0 0.0950009 0 -3.34301 0 2.02022 -0.66257 0 0.302754 0.758718 0.00266425 0 0.0236782 0 0 0.0478053 0 -0.846352 -1.43052 0 0 -0.188737 0 0 -0.0802837 -2.28876 -0.112452 0 1.38668 0 -0.964781 0.106548 0.00967971 -0.110489 -0.0750597 0.0466374 0.313197 -0.0281364 -1.35066 -3.85061 0.0987664 0 0 0 -0.00160599 0.00781605 0 0 0 0 -0.103119 -12.0734 -0.619465 -2.20279 -0.253952 0.238943 -0.936766 0.122977 -0.127295 0.00269883 -0.191448 0 0 0 0 0 0 +364 0 0.873702 -0.265762 0.00276398 0.115993 -0.226416 -0.242476 0.45318 0.164047 0.00475912 0.346494 0.0609795 0.0576585 -4.20217e-06 1.43249 0.000838342 -1.31001 -1.85713 0.0618957 0.0012729 1.75698 0.0096398 0.425027 1.80562e-06 0.0870887 0.318123 -0.643851 -0.00404212 0.607246 -0.331877 0.0573716 9.43964e-05 0.0479358 0.362944 -0.0198731 0.37462 0.00144583 -0.109587 -1.21464 0.109961 0.659588 -0.000225474 -0.429015 0.00258821 2.13277 -0.011372 -0.260699 0.425589 0.0760993 -0.00334346 0.250859 0.0230645 4.6028 0.000441667 0.000873972 -0.0311272 -0.383604 -0.131814 -0.00965971 -0.0621855 0.000147235 0.275267 -1.17835 1.13437 0.10504 0.102076 -0.406532 -0.191559 -0.0371433 9.21877e-05 0.00880497 -0.0476211 0.0495255 0.146716 -0.969157 -0.167238 0.466809 2.22265 -0.184517 -0.630289 -0.00978333 -0.270921 0.847136 -0.495124 0.322511 -0.574475 0.764144 6.48765e-05 -0.000767153 0.0203692 -0.20104 1.13364 0 0 0 0 0 0.00276398 0.115993 -0.00102474 0 0 0 0 -2.47897e-05 0 0.00768993 0 0 0.00101144 0.000347299 0.0012643 0 0.0001913 -0.00500105 0.0507165 0 0 0.033008 2.28148e-05 0 -0.00269449 -0.363496 0 0 0.00782759 -0.110654 0 -0.0587279 0 0.000709547 0 0 0.000170704 0 0 -0.0630081 -0.000424307 0.0153179 0 -0.0175245 -0.00862649 0 0 0.106873 0 -0.00201379 0.289757 0.00714665 0 0 -0.00203648 0.00170196 0 0.000885951 0.00470456 0.00971767 -0.19356 -0.0103195 0.0123021 0 -0.00376461 0.015395 -0.074723 0.00401246 0.158188 0 0 0 -0.322398 -0.117917 -0.198919 0.017288 -0.0299837 -0.0913704 -0.00121997 0.00239518 -0.00876489 -0.0709608 0 0 0 0 0 0 -0.226416 0 -0.242476 0 0 0 0 0.0732141 -0.0790909 0 0 -0.0214495 0 0.0182147 0 0.00987084 0 0 0.60108 0 0.857303 0.0360241 0.045844 0.0783332 0 0 0.0509147 0 2.94092 0 -1.40652 0.455833 0 0.143692 0.774521 0.0126287 0 0.0104935 0 0 0.00450773 0 1.55186 0.696917 0 0 0.115174 0 0 -0.188497 2.12717 -0.0582792 0 -0.906818 0 0.721161 -0.0351872 0.0858066 -0.024652 0.160384 0.634171 -0.0579241 0.00409721 0.22988 -1.54723 0.0264942 0 0 0 0.0761341 -0.0451919 0 0 0 0 -0.00846142 10.5537 0.449532 -0.157295 0.0143226 -0.225156 0.324734 -0.0551627 0.0227143 -0.0806685 -0.0780888 0 0 0 0 0 0 +365 0 0.245762 0.126169 -0.00866272 -0.150141 0.398611 0.125751 -0.400474 -1.78915 -0.0595776 -0.217946 -0.0744565 -0.246892 9.05312e-05 0.237282 0.00542626 -0.0393307 -0.739916 -0.06511 0.0108386 0.346913 -0.02141 -0.177552 -0.000116875 -0.129455 -0.375304 0.117643 -0.0116834 -0.220649 0.289266 0.0091324 -0.00273156 0.0924708 -0.663072 -0.00433695 -0.141017 -0.00287576 -0.0562112 -2.76966 -0.203998 0.10539 0.00211586 -0.0387828 -0.0102735 -0.049127 0.0461486 0.0109969 0.041573 0.207852 0.0249826 1.13778 -0.153709 2.31747 -0.0174066 0.0159534 -0.0451384 0.812005 -0.213416 -0.318664 0.147637 -0.00388462 0.126963 2.19555 -0.0937397 0.581566 -0.108632 0.216911 -0.292901 -0.0524333 0.00423847 0.288779 -0.0561863 -0.115787 0.0318241 0.809315 0.283208 -0.183403 10.2798 2.22289 3.85775 1.40134 -0.640888 3.18504 0.325616 -0.15004 -0.0344532 2.80465 -0.0012586 0.00662286 -0.0422966 0.19361 -0.480793 0 0 0 0 0 -0.00866272 -0.150141 0 0 0 0 0 0 0 2.9876e-06 0 0 0 0 0.000134171 0 5.60924e-06 -0.000971412 0.00235133 0 0 0.130196 0 0 0.000536235 0.304103 0 0 0.0191549 2.55192e-05 0 0.00214966 0 0.00738848 0 0 0.00108534 0 0 0.00485707 0 0 0 0 0 0 0 -0.0336518 0 0 -0.00116877 0 0 0 0 0 0 0 0.0307589 0 0.0411079 0 -0.00303744 0 0 0.00261554 0.0956495 0 -0.0162069 0 0 0 -0.0111231 0 -0.00272228 0 0 -0.000209321 0 0 0 -0.000101333 0 0 0 0 0 0 0.398611 0 0.125751 0 0 0 0 -0.361731 -0.129197 0 0 0.381525 0 0.0258764 0 -0.00692496 0 0 0.0899576 0 -0.240579 -0.158576 0.056234 -0.0246303 0 0 -0.132517 0 -1.97509 0 -0.180136 0.0373035 0 -1.37938 -0.190984 0.000479055 0 -0.031727 0 0 0.00100503 0 -0.353446 -0.0943902 0 0 -0.0890457 0 0 -0.111945 0.596743 -0.480165 0 -0.100053 0 -1.0973 0.0498846 -0.0629856 0.126765 0.156441 0.705639 0.127407 0.0390566 0.433319 0.975646 -0.0215799 0 0 0 0.0937899 -0.0201834 0 0 0 0 0.00946089 5.30604 -0.505781 4.38095 0.146143 -0.105987 0.0454012 -0.0587133 0.0525005 -0.215295 0.735371 0 0 0 0 0 0 +366 0 0.632008 0.189533 -0.00356978 -0.0618709 0.210081 -0.0721606 1.09116 1.59165 -0.0245511 0.0917795 -0.0533139 0.488194 3.73066e-05 -0.286954 0.00258851 0.686444 4.58368 0.0420704 0.00331745 1.5978 -0.00162134 0.105772 -4.81627e-05 -0.0518104 0.570262 0.00147718 -0.0016047 0.597882 1.89057 -0.206983 -0.00112564 0.0484712 0.548739 0.0364293 0.308948 -0.00195454 -0.0647124 2.16592 -0.104174 0.00970772 0.000871916 -0.129149 -0.0049173 2.58343 0.0190172 -0.259649 1.14481 0.0518592 0.0117519 -1.14845 -0.0242619 -1.16025 -0.00557026 0.00510523 -0.0157842 -1.219 -0.243037 -0.163944 0.0722957 -0.0016008 -0.0863416 1.8596 -1.20912 -1.05519 -0.0701537 0.174444 0.106656 -0.0170605 0.00174661 0.0346689 0.00209625 -0.0102266 0.072115 0.193627 -0.4234 -0.093102 -4.59997 0.0514046 -3.18684 0.273446 0.224863 -5.13155 0.204062 -0.115248 -0.0705184 -3.08843 -0.00051865 0.00300341 -0.0415848 0.243932 -3.14234 0 0 0 0 0 -0.00356978 -0.0618709 0 0 0 0 0 0 0 0.000612021 0 0 0 0 3.94727e-05 0 2.30786e-05 -0.00029545 0.000503739 0 0 0.0395721 0 0 0.0015729 0.0925657 0 0 0.00560708 0.000995706 0 0.0217941 0 0.00256597 0 0 0.000369517 0 0 0.0624256 0 0 0 0 0 0 0 -0.0223153 0 0 0.00673858 0 0 0 0 0 0 0 0.0104804 0 -0.0562819 0 -0.00127807 0 0 0.00108786 0.0235609 0 -0.00601979 0 0 0 -0.142959 0 -0.000961413 0 0 -0.0026903 0 0 0 -2.17091e-05 0 0 0 0 0 0 0.210081 0 -0.0721606 0 0 0 0 -0.375386 -0.063764 0 0 0.158609 0 0.0111213 0 0.00433748 0 0 -0.115255 0 -0.357708 -0.112308 0.10636 -0.0346862 0 0 0.0125172 0 -0.28996 0 -2.48087 -0.8623 0 -0.850061 -1.07183 0.00754887 0 -0.0474744 0 0 0.00834234 0 -1.15494 0.216498 0 0 -0.009608 0 0 0.0982281 -3.80243 -0.365162 0 0.192755 0 -1.31559 0.0678666 -0.0150679 -0.164263 -0.066934 -1.14689 0.20063 0.0334439 -0.453967 -3.1979 0.0167248 0 0 0 -0.0374515 -0.0143676 0 0 0 0 -0.0333395 11.0617 -1.45171 4.49866 -0.12023 -0.058344 0.863478 0.0264951 -0.0108544 -0.104018 0.437539 0 0 0 0 0 0 +367 0 0.677949 0.51917 0.000188098 0.00326008 0.0128981 0.20683 0.0741336 0.605882 0.00129364 0.0970012 0.011739 0.90206 -1.96575e-06 1.7943 -0.00126837 2.04052 5.46429 0.0236279 -0.00120655 4.32726 0.0029433 -0.355833 2.53777e-06 0.0435136 -0.283071 0.814604 0.000790699 -0.40969 -0.210171 0.47633 5.93117e-05 -0.0358471 -0.379717 -0.0425604 -0.237714 0.000406606 0.0526793 -0.30419 0.00908504 2.40045 -4.59427e-05 -0.1986 0.000381363 3.80118 -0.00100205 1.25184 -0.437796 -0.0330776 -0.000879741 1.47015 0.115305 -0.46319 0.00173271 -0.00158805 -0.0347664 -2.55959 0.152424 0.15872 -0.0408926 8.43486e-05 -0.150803 -4.19515 1.07978 2.56619 0.0543962 1.25111 -0.134279 0.0408951 -9.20318e-05 0.0486448 -0.0287248 0.00130456 -0.0355245 -3.27261 1.64561 0.498365 1.05424 -0.576421 -0.913121 -0.166244 -0.176542 -0.292037 -0.146916 0.0720849 -0.29628 0.0227232 2.73285e-05 -0.00020729 0.00369872 -0.0250433 0.349327 0 0 0 0 0 0.000188098 0.00326008 0 0 0 0 0 0 0 -0.000774075 0 0 0 0 -0.000187562 0 -2.64385e-05 0.000477215 -0.00548183 0 0 0.0107583 0 0 -0.000151642 0.0876631 0 0 0.00131893 0.00830959 0 -0.00221184 0 0.000301476 0 0 3.54191e-05 0 0 -0.00636381 0 0 0 0 0 0 0 0.00227297 0 0 -0.00415849 0 0 0 0 0 0 0 0.0021625 0 -0.0271508 0 0.000647593 0 0 6.02617e-05 0.00791986 0 0.00396298 0 0 0 0.0145736 0 0.00631611 0 0 0.000274255 0 0 0 0.000236245 0 0 0 0 0 0 0.0128981 0 0.20683 0 0 0 0 0.0785449 -0.421043 0 0 -0.168809 0 -0.00798327 0 -0.0070753 0 0 0.49284 0 -0.9102 9.77314e-05 -0.0445424 0.0532527 0 0 -0.097625 0 1.37735 0 -4.06132 0.256759 0 0.0920208 -1.52922 -0.00232295 0 0.00293022 0 0 -0.0318092 0 1.01387 0.730609 0 0 0.0583515 0 0 0.0610921 -3.28202 -0.0783788 0 0.0272072 0 -0.115046 -0.0948953 0.0568554 -0.0360058 -0.0519439 -1.36029 -0.365621 -0.0346255 0.431416 5.80873 -0.0155974 0 0 0 -0.0013418 0.0129248 0 0 0 0 0.0173249 23.9654 1.12372 1.38091 0.410103 -0.692007 1.77795 0.0274487 -0.0647498 0.0216833 0.0321162 0 0 0 0 0 0 +368 0 0 0 0 0 -0.222114 -0.278755 0.760551 0.974733 0 0 -0.350472 -2.16724 0 -1.61211 -0.071299 0 0 0 -0.185391 6.90311 0 0 0 0 0.0684013 0 0 0.688325 3.68655 -1.04951 0 -0.341081 0 0 0.198901 -0.0596346 0 0 -1.24414 1.1621 0 0 -0.360332 -3.16538 0 -0.791652 1.29618 -0.49178 0.607996 -2.23453 0.521123 0 0.0437203 -0.200458 0.185967 3.36658 0.617345 -0.00572223 0 0 -2.05485 2.75903 0 1.06146 0.9572 -0.377681 0 0 0 0 -0.0235906 -1.2394 0 1.21155 -0.325135 0 0 0 -2.31917 0 1.98233 -6.85487 0 0.995322 -0.272191 -4.9655 0 1.18454 -0.497293 2.70886 -11.7436 0 0 0 0.133599 0.0385165 0 0 0 0.0929996 0.00255786 0 0.012942 0 0.000286795 -0.000966453 0 0 0 0 0.0768181 0 0.00609738 0 0.0282138 0 0.600844 0.406014 0 -0.0041633 0 0 -0.199334 0.000447999 0.0932285 0 0.000142558 0 0.000672677 0.0369997 -0.0298931 0.00756008 0.0156843 0 1.76278e-05 0 0 0 2.56822e-05 0 0 -0.000246099 0.00250092 -0.0854656 -0.00587109 0 0 -0.00943299 0 0.000586722 0 0 0.00752877 0.00122696 -0.11203 0.00335727 0 0 0.0180683 -0.0476402 0.00333753 -0.150928 -0.147825 0 0.140483 0.00621002 -0.0487874 0 0 0 -0.0455271 0 -0.00687042 0.185148 0 0.000391887 -0.000812084 -0.011769 0 -0.000420504 0.00239393 -0.00365127 0.119199 0 -0.222114 0.133599 -0.278755 0.0385165 -0.509855 -0.0200174 0.0648052 0.755734 -0.798444 -0.0417739 0.00646191 -0.305873 -0.00598992 -0.0527417 0.0350161 -0.0435139 -0.0341943 -0.292415 2.19116 1.3662 0.357038 0.452989 -0.000780114 0.297609 0.132727 0.175277 -0.477559 0.0581554 9.53793 -0.0710952 0.276927 0.645384 0.00662213 2.44636 0.385414 -0.00235682 -0.00150722 0.168618 -0.0159792 1.40234 -0.0755793 0.0156049 3.22013 4.48048 -0.00480528 -0.00765673 0.725279 0.324232 0.127995 -0.00942177 1.27143 -0.302347 0.0408534 -3.37727 -0.0118105 0.651836 0.0302821 -0.10216 0.254918 -0.486845 -1.31518 -0.860264 0.35088 1.47789 -4.17229 -0.33573 -0.86165 -0.0738622 -0.364251 -0.319875 0.0957845 -0.0559236 0.0762945 0.321694 0.0150279 0.334529 -1.42937 0.74347 -8.16578 0.70916 0.28377 -4.76708 0.0987374 -0.0197461 -0.0143148 -2.42352 0.0960815 -0.0250566 -0.012612 0.0845508 -1.32634 0 +369 0 0 0 0 0 -0.53786 0.215479 -0.962523 -0.250714 0 0 0.262915 0.922264 0 1.4397 0.0749047 0 0 0 0.177389 -1.14946 0 0 0 0 -0.446348 0 0 -0.926974 -4.25998 0.293051 0 0.589551 0 0 -0.418085 0.0425209 0 0 0.65024 -1.18239 0 0 0.156403 4.05913 0 -0.280389 -2.06278 0.961385 -0.310794 1.42527 -0.0606203 0 -0.290525 0.234979 -0.774621 -2.00339 -0.0999793 -0.0960301 0 0 -0.305804 1.47216 0 0.634942 -0.823125 0.704785 0 0 0 0 -0.255234 0.463967 0 -0.94986 1.89659 0 0 0 2.13344 0 -1.03451 7.14312 0 -0.0526578 0.0579321 5.10046 0 -0.456895 0.958974 -2.54918 13.089 0 0 0 -0.0599627 -0.0130704 0 0 0 -0.0356818 0.00444491 0 -0.00519964 0 -8.46809e-05 0.0148106 0 0 0 0 -0.0100366 0 0.000241152 0 0.0927679 0 -0.220948 -0.148482 0 0.00249809 0 0 0.129198 -0.000258267 -0.027009 0 0.000285341 0 0.000168236 -0.0224353 0.0174762 -0.0039343 -0.00439518 0 -5.42872e-06 0 0 0 1.60148e-05 0 0 0.000483681 0.000460134 -0.000836656 0.0039929 0 0 -0.00182549 0 -0.000726737 0 0 0.0128521 -0.00292711 0.0570745 -0.00960053 0 0 -0.0043542 -0.0308994 -0.000977814 -0.0204637 -0.00885048 0 -0.0181142 0.000200257 0.0353083 0 0 0 -0.0969655 0 0.00346608 -0.114216 0 -0.000287998 0.000313143 -0.0632883 0 0.00027475 -0.00093682 0.00176972 -0.0946288 0 -0.53786 -0.0599627 0.215479 -0.0130704 -0.0520506 0.131638 -0.103279 -0.0202073 1.02794 0.00979462 -0.00552861 0.257451 0.00162685 0.0393671 -0.0169041 0.0557175 0.0409742 0.0542773 -0.772894 1.26231 0.160934 -0.142342 0.161326 -0.110644 0.0847672 -0.287582 0.571861 0.0318493 2.16935 0.154612 -0.232967 0.484437 -0.00240028 0.126258 0.110461 0.0205472 0.00743352 -0.0735584 0.0482301 -1.19155 0.102975 -0.059693 0.871084 -0.546337 0.00518314 0.0275668 -0.0642765 0.201242 0.0191027 -0.996695 1.13512 0.456938 -0.0512689 2.03767 0.030242 0.405101 0.135893 -0.37654 -0.300941 0.623187 1.31259 0.479689 -0.209752 -0.352092 6.96335 0.156759 0.125294 0.0841032 0.568171 0.470226 -0.088314 -0.0945051 -0.0204291 -0.118843 -0.132135 -0.202928 1.20247 -0.625793 2.89308 -0.101803 -0.514509 4.92432 -0.0512962 -0.166091 0.375156 1.26675 -0.0178344 -0.12151 0.339416 -0.268496 1.34534 0 +370 0 0 0 0 0 0.0248246 0.323548 -1.51158 -4.53323 0 0 -0.132536 0.882743 0 0.405311 0.00573752 0 0 0 0.527249 -0.175078 0 0 0 0 -0.913521 0 0 -0.417735 -3.39078 0.174716 0 0.207212 0 0 -0.335698 -0.0156492 0 0 -0.710069 0.0754875 0 0 -0.296868 4.75235 0 0.298333 -0.99282 2.77917 0.347032 -2.74314 -0.032257 0 -0.671238 0.455935 -0.342878 -0.19555 -0.223388 0.948368 0 0 2.40476 -1.86576 0 0.125085 0.692748 1.14143 0 0 0 0 -0.117702 -1.24973 0 -1.89618 0.172072 0 0 0 11.1199 0 0.987625 8.91918 0 0.879799 -0.447868 13.2142 0 1.00867 -0.00337141 0.367027 12.1873 0 0 0 -0.009016 0.0388349 0 0 0 0.0555409 0.0522454 0 0.00703575 0 0.000138309 -0.013982 0 0 0 0 -0.0410869 0 -0.00386228 0 -0.186759 0 0.406671 0.525754 0 -0.000663633 0 0 0.0985974 0.000258971 0.113828 0 0.00168431 0 0.00323229 0.126166 0.000718391 0.00289 0.0273834 0 1.17498e-05 0 0 0 0.000104107 0 0 -0.00159495 0.00260609 -0.119001 -0.000552086 0 0 -0.00357781 0 -0.00662285 0 0 0.0490371 0.000348706 -0.0771917 -0.00652817 0 0 -0.0664121 0.0233481 0.00256213 0.0778721 -0.099069 0 -0.0232746 0.00899304 -0.133671 0 0 0 0.191935 0 -0.0013949 -0.115434 0 0.000727763 -0.0026185 0.0331346 0 -0.000559183 0.00238373 -0.00374148 -0.0837445 0 0.0248246 -0.009016 0.323548 0.0388349 0.233596 0.0593722 0.202798 -0.489025 0.859266 -0.0480528 0.0676463 -0.0906078 -0.00678386 -0.00542994 0.0494364 0.0389975 0.038885 -0.333022 -1.14363 -0.489769 0.121373 -0.245506 0.0305205 -0.127252 0.686108 -0.183164 0.224938 -0.0166024 -1.33332 0.223884 1.75313 0.109705 0.0080345 -1.20098 0.350653 0.0111455 0.00051253 -0.091473 0.0143548 -1.30057 0.12739 -0.0267945 -0.903861 -0.809803 0.00286865 0.0180857 -0.12879 -0.0929528 0.141594 -0.659838 0.806049 -0.376948 -0.159627 -0.0219586 -0.071656 -0.195698 0.208328 -0.0577125 -0.221862 0.441641 1.85815 0.297823 -0.0488261 -0.158933 5.84773 -0.10112 0.195866 -0.0607795 0.10918 -0.000278572 0.00764118 -0.0558812 0.0994969 -0.0971408 -0.0577836 -0.255804 -9.04884 -0.0568499 3.64118 0.571433 -0.200519 3.18012 0.0701047 0.0142559 0.0121237 1.84535 0.109424 -0.0522576 0.234901 -0.285284 1.65537 0 +371 0 -0.0378871 -0.0118266 0.0654118 0.220128 -0.278082 -0.00485897 0.236588 1.84495 0.426128 -1.05553 0.430095 0.83904 -0.0124556 1.23532 -0.0194702 1.8735 10.0563 -0.0917083 -0.0654713 -2.77729 0.0158011 0.164701 0.0160615 -0.304975 0.393132 0.267337 0.105888 -0.423098 -2.06586 0.589816 0.0894325 0.0440062 0.39327 0.708373 0.0794432 0.0660026 0.422829 1.84731 0.860643 -0.819537 -0.0707041 2.80605 0.15232 1.79212 -0.353046 0.120953 -0.980793 -0.00160804 -0.385421 2.56831 -0.521254 -2.29398 0.0895229 -0.100458 0.159199 4.63711 1.02489 0.679935 0.413856 0.137743 1.37203 -1.35087 0.799988 -1.69059 -1.5425 0.802552 0.819392 0.721603 -0.144056 1.09788 -0.30109 0.717823 -0.759479 1.43207 -0.224554 -1.35984 -2.94274 4.87405 -7.57297 2.50304 -1.57472 -1.66898 0.834212 -0.811147 1.38416 -2.36641 0.215263 -0.438557 1.05196 -2.06001 4.94049 0 0 0 0 0 0.0654118 0.220128 0.00021445 0 0 0 0 1.05188e-06 0 -0.00347251 0 0 3.50647e-05 2.48928e-06 0.00775142 0 8.76614e-05 0.0800549 0.00529145 0 0 0.286932 1.74665e-07 0 -0.00565372 1.3746 0 0 0.0286859 0.316474 0 0.00373982 0 0.0587876 0 0 0.0046681 0 0 0.00684581 1.49912e-05 0.000499732 0 0.00305628 -0.00176514 0 0 0.0110774 0 0.000437068 -0.0357719 -0.000481389 0 0 -7.14649e-05 -0.00036939 0 0.00138432 8.4676e-06 3.65691e-05 -0.370363 -0.00125154 0.01948 0 0.00199062 -0.0436684 -0.0335696 4.10523e-05 -0.0292479 0 0 0 -0.0208035 -0.00318408 -0.00609861 0.00248374 -0.00285695 -0.0111483 -4.42537e-05 5.09034e-05 -6.1258e-05 -0.00260443 0 0 0 0 0 0 -0.278082 0 -0.00485897 0 0 0 0 0.153001 1.44782 0 0 -0.564667 0 -0.0697843 0 0.0581077 0 0 -1.46232 0 0.352887 0.0724066 -0.254917 -0.162984 0 0 0.55954 0 -3.56912 0 3.00755 -0.107451 0 0.811033 0.8397 -0.0325578 0 0.00567203 0 0 0.150809 0 -1.22812 -2.79516 0 0 -0.2786 0 0 -1.06181 -2.74086 -0.220524 0 1.45516 0 -1.45796 0.148677 0.0756099 0.726616 -0.248079 -1.7259 0.913544 0.100893 -0.205131 6.4251 -0.0654493 0 0 0 0.591703 0.0806253 0 0 0 0 -0.329429 -20.1129 2.15371 -6.64538 -0.0729964 0.268116 -2.17272 0.0809478 -0.0360839 0.219142 -0.544963 0 0 0 0 0 0 +372 0 -0.78307 0.281484 -0.0205952 -0.0761514 0.0264565 0.0718604 -0.300781 -1.49367 -0.142393 0.983074 -0.0981888 0.0159209 0.00390962 0.15471 0.000749163 2.91089 10.5509 0.217806 0.0241549 2.58819 0.0521158 -0.231593 -0.00505381 0.25504 -0.4327 0.872814 0.0727269 0.323972 0.684788 0.0142272 -0.0286793 -0.053126 -0.283443 0.175309 -0.0231854 -0.0163351 0.367498 1.19103 -0.169574 1.41447 0.0216259 0.770346 -0.0357923 0.921525 0.102155 0.596292 0.479919 0.0400019 0.0898022 1.65056 0.509106 -4.58996 -0.0391426 0.0314903 0.00378108 1.89358 0.213567 0.21273 -0.402263 -0.0417961 0.338991 -2.45847 1.34168 2.26674 -0.56247 -0.338587 -1.10873 0.482956 0.0481348 -0.465512 0.0688555 -0.0681741 -0.348351 -0.659992 -0.173353 -0.669456 1.65724 -3.52743 5.82345 -1.97955 1.07052 -0.690748 -0.711803 0.653083 -1.35605 2.46832 -0.0622874 0.102675 -0.33092 0.54449 -1.63766 0 0 0 0 0 -0.0205952 -0.0761514 5.49153e-05 0 0 0 0 2.64726e-07 0 0.00864645 0 0 1.82867e-06 2.97137e-07 0.0032197 0 0.00100817 -0.0199241 0.0411097 0 0 -0.0319095 2.08492e-08 0 0.00856582 -0.16535 0 0 -0.00693408 -0.06377 0 0.0476487 0 -0.0111948 0 0 -0.00126307 0 0 0.348835 3.7728e-06 2.60617e-05 0 0.000782638 -0.000466203 0 0 0.0169735 0 0.000111922 0.0162786 -0.00012781 0 0 -3.72699e-06 -9.45916e-05 0 0.000307802 0.0690415 -1.0502e-05 0.283748 -0.000384766 -0.0283057 0 0.000530437 0.026079 0.176764 -4.75414e-05 -0.0199186 0 0 0 -0.658389 -0.000685518 -0.0890992 0.000592903 -0.000681995 -0.147802 -2.30789e-06 2.65468e-06 -3.19468e-06 -0.0172453 0 0 0 0 0 0 0.0264565 0 0.0718604 0 0 0 0 -0.342582 -0.478334 0 0 0.147075 0 0.0277555 0 -0.014641 0 0 0.477741 0 -0.624526 -0.13242 0.0733122 0.0830028 0 0 -0.159028 0 2.63616 0 0.0192484 0.0504608 0 -0.64888 -0.679217 0.0107242 0 -0.0697277 0 0 -0.0378104 0 0.596113 1.63005 0 0 0.245431 0 0 0.214692 1.02011 0.553173 0 -2.54038 0 1.34009 0.0215365 -0.0677667 -0.59374 0.224635 0.973817 -0.658927 -0.10154 1.14796 -3.18994 -0.0166275 0 0 0 -0.146828 -0.0738067 0 0 0 0 0.102972 15.3217 -0.363219 5.96699 -0.239663 0.25025 0.711143 -0.107953 0.0470534 0.0125462 0.315865 0 0 0 0 0 0 +373 0 0.212684 -0.217141 0.0397856 0.123816 -0.130029 -0.30778 0.457709 0.876241 0.247077 -0.620278 0.107853 0.45027 -0.00759373 0.518237 -0.0050023 0.195439 -0.136534 -0.288071 -0.0174793 -2.33906 0.011179 0.451508 0.00977391 -0.0984853 0.747021 -0.0185251 0.0503931 0.468043 -1.33642 0.0449296 0.0536287 0.0811166 0.553127 -0.12855 0.391705 0.0193601 0.402749 0.00748926 0.580848 -1.16453 -0.0439402 1.33319 0.0985335 -0.69335 -0.227987 -0.85268 0.0309113 0.186456 -0.249213 2.21231 -0.602629 1.44224 0.00883117 -0.0339326 0.172201 2.75632 0.314584 0.126478 0.183714 0.0860951 0.633756 0.560491 -0.545715 -0.223177 -1.07876 0.58451 0.403723 0.556663 -0.0835305 -0.251823 -0.0621014 0.490719 -0.529168 -0.0890748 -0.661684 -1.54726 0.709329 2.53383 -3.44702 1.14107 -1.04182 1.4514 0.322006 -0.420345 0.667992 -0.488161 0.139011 -0.29085 0.680044 -1.36145 3.19604 0 0 0 0 0 0.0397856 0.123816 0.000304793 0 0 0 0 1.49804e-06 0 0.0151036 0 0 5.45015e-05 3.75996e-06 0.0199185 0 0.00237914 0.0379132 0.118669 0 0 -0.119248 2.63825e-07 0 -0.0234844 0.0957954 0 0 -0.0303916 0.100369 0 -0.0827609 0 -0.00314342 0 0 -0.00351562 0 0 -0.119794 2.13497e-05 0.00077674 0 0.00434382 -0.00250817 0 0 -0.0993528 0 0.000621195 -0.195781 -0.000682468 0 0 -0.000111079 -0.000525005 0 0.00200175 -0.0160337 6.88174e-05 -0.378881 -0.001758 0.0303085 0 0.00283154 0.00618024 -0.0766391 2.7611e-05 0.0484428 0 0 0 0.214069 -0.00462223 -0.094549 0.00356897 -0.00410526 0.0381704 -6.87841e-05 7.91199e-05 -9.52141e-05 -0.0501789 0 0 0 0 0 0 -0.130029 0 -0.30778 0 0 0 0 0.176403 1.06984 0 0 -0.186396 0 -0.0266468 0 0.0335589 0 0 -0.570529 0 0.71256 0.0278453 -0.0744009 -0.0606012 0 0 0.322468 0 -4.32961 0 0.188134 -0.525029 0 0.192461 0.71143 -0.00515114 0 0.0149842 0 0 0.107132 0 -1.3746 -2.07004 0 0 -0.242552 0 0 -0.317525 -1.68843 -0.157387 0 1.46956 0 -0.985809 0.144327 -0.0195488 0.510129 -0.136529 -1.16258 0.634391 0.0066152 -0.957117 0.719843 0.0203616 0 0 0 0.295274 0.0263646 0 0 0 0 -0.251598 2.09313 1.19181 -0.795339 -0.272268 0.160333 0.26969 0.0152445 -0.0229327 0.0949629 -0.0573149 0 0 0 0 0 0 +374 0 -0.635925 0.0737646 -0.00690006 -0.0567039 -0.0807792 0.222575 -0.977349 -0.189553 -0.0580225 -0.553796 -0.213167 1.38878 0.000450038 2.07937 0.0106896 -0.672711 -0.576762 -0.155218 0.0145264 -0.512942 -0.0189194 -0.104909 -0.000271 -0.0829163 -0.0735403 -0.179544 -0.0351898 -0.510188 -0.180692 0.611771 -0.00417133 0.246093 -0.280452 -0.347566 -0.211836 -0.0176265 -0.101772 0.00888207 -0.564073 0.152618 0.00763932 -1.20324 -0.0430436 5.81621 0.122317 0.564795 -0.597481 0.296859 0.142752 -0.521079 -0.0804916 -0.136591 -0.045189 0.0268065 -0.141565 -2.07941 -0.0581133 0.0507545 0.103732 -0.02491 0.816298 -0.803813 0.650344 -0.281594 0.257392 0.653787 -0.0392197 -0.100909 0.0116863 0.132865 -0.370025 -0.0697637 -0.0173649 -1.07877 0.461169 0.235789 6.7285 4.07006 1.24594 1.85358 0.391215 1.80581 0.302568 -0.516046 1.078 1.26167 -0.00627777 0.0402036 -0.227142 1.03086 0.684789 0 0 0 0 0 -0.00690006 -0.0567039 0.00246289 0 0 0 0 0.000230969 0 -0.0183089 0 0 0.0012377 0.0013633 -0.00384882 0 -0.00134855 0.00567851 -0.0657484 0 0 0.265641 9.38079e-05 0 0.00094286 0.770768 0 0 0.0356497 0.077694 0 0.0148044 0 0.020125 0 0 0.00268375 0 0 -0.152478 0.00325736 0.0184192 0 0.032804 0.00519875 0 0 -0.0542363 0 0.00467998 0.0306961 -0.00455226 0 0 -0.000888742 -0.00315109 0 0.0162603 -0.00911336 -0.00441478 -0.429943 -0.00466233 -0.01034 0 0.0140648 -0.0199359 -0.104729 0.00646718 -0.0432674 0 0 0 0.279693 -0.046321 0.126635 0.0243507 -0.0267484 0.0145213 -0.00124293 0.00150313 -0.00236851 0.011287 0 0 0 0 0 0 -0.0807792 0 0.222575 0 0 0 0 -0.0016368 -0.128705 0 0 0.164659 0 0.0229783 0 0.027086 0 0 -0.546315 0 0.0395897 0.0134143 0.193425 -0.064295 0 0 0.216005 0 -3.60731 0 3.46487 0.122283 0 0.366259 0.959481 0.0252394 0 -0.015928 0 0 -0.00415699 0 -0.596359 -0.403077 0 0 -0.0272357 0 0 -0.300758 -0.00627134 -0.0747821 0 1.25175 0 -0.633619 0.0738698 -0.0308911 0.297038 -0.117973 0.19074 0.391418 0.164526 0.051722 5.67648 0.157552 0 0 0 0.14713 -0.0770199 0 0 0 0 0.00761115 -21.605 -0.552459 -4.13611 -0.507366 0.287161 -1.45306 -0.0446019 0.0340547 -0.0359708 -0.194875 0 0 0 0 0 0 +375 0 -0.659931 0.20295 -0.00426132 -0.0409871 -0.113102 -0.066126 0.295688 -0.316416 -0.0867331 0.391555 -0.0178565 -0.135951 -4.83888e-05 -0.431999 -0.0220592 0.224373 3.34247 0.0832211 -0.0273748 1.23917 -0.00341043 -0.393906 -0.000352673 0.0230964 -0.0523546 -0.183879 -0.00360666 0.42229 0.731886 -0.18042 -0.00584597 -0.454959 -0.716952 -0.0125554 0.177222 -0.000955592 -0.0404499 -0.0427044 0.0524865 0.309987 -0.00119412 0.094612 0.00193648 -0.272496 -0.027773 -0.225045 0.636134 -0.591475 -0.00464748 -0.598147 -0.316715 -0.626292 0.103277 -0.0226154 0.144633 -0.0435475 -0.169308 -0.010876 0.0106883 0.00328971 -0.742241 -0.233742 -0.589503 -0.309481 0.0212072 -0.210986 -0.134219 0.0415444 0.0228999 -0.187686 0.0320542 -0.30177 -0.0558031 0.282681 -0.74094 -0.0935071 1.2625 0.314847 -2.22865 0.426574 -0.612047 -2.52309 -0.0619439 0.157613 -0.443325 -1.61712 0.00142541 -0.00718873 0.0338456 0.0544896 -2.77371 0 0 0 0 0 -0.00426132 -0.0409871 -0.00101332 0 0 0 0 -1.63348e-05 0 0.00611368 0 0 -0.000609907 -0.000215658 0.00174547 0 0.000189027 -0.00675776 0.0431828 0 0 -0.076683 -1.41301e-05 0 -0.00583956 -0.476285 0 0 -0.00822578 -0.0560674 0 -0.0534296 0 -0.0038322 0 0 -0.000265825 0 0 -0.170165 -0.000195425 -0.00891631 0 -0.0131551 -0.0305593 0 0 -0.00285292 0 0.00263313 -0.061183 -0.00313898 0 0 0.000722771 0.00273596 0 0.00391834 -0.0290987 0.00330025 0.250432 -0.0139844 -0.0143003 0 0.00842035 0.015851 0.0604318 -0.00375133 0.0214617 0 0 0 0.17557 -0.00285879 -0.0472069 0.0134743 -0.0173093 0.00167405 0.000665533 -0.000789757 0.00112907 -0.00916998 0 0 0 0 0 0 -0.113102 0 -0.066126 0 0 0 0 -0.286664 -0.672897 0 0 -0.0243465 0 0.000448298 0 -0.042563 0 0 0.701101 0 -0.403019 -0.135939 -0.121357 0.0796198 0 0 -0.469282 0 3.05566 0 -0.648721 -0.059191 0 -0.722827 -0.759014 -0.0162481 0 -0.0600286 0 0 -0.0506938 0 0.439404 1.5211 0 0 0.174798 0 0 0.674075 -0.377091 0.227356 0 0.47844 0 0.390059 -0.0430351 -0.156573 -0.126844 0.155493 -0.317519 -0.662888 -0.0841006 -0.481551 -1.5469 -0.141354 0 0 0 -0.249907 0.00568948 0 0 0 0 0.0951535 14.487 0.348175 4.64199 0.0514873 -0.00228049 0.753381 -0.0776971 0.0715017 -0.0384363 0.439098 0 0 0 0 0 0 +376 0 0.859079 0.91195 -0.0119723 -0.168251 0.349434 0.300523 0.0382194 -1.24891 -0.135868 -0.115404 -0.34948 -0.40654 0.000518669 0.603355 -0.0106527 3.30445 14.6332 0.023365 -0.0176205 4.61484 0.00881581 -0.645606 -0.000529212 -0.0154384 -0.484449 1.06078 0.0415627 -0.0351518 2.38021 -0.0344531 -0.00882536 -0.246201 -1.91187 0.280668 -0.100819 -0.025063 0.364447 -7.64316 -0.757415 1.72279 0.00880501 1.14466 -0.0537373 2.73553 0.141245 0.67104 0.680873 -0.498109 0.205991 -0.214949 -0.0451412 -8.45897 0.0780517 0.00525324 0.0250469 -2.08306 0.21639 -0.309378 -0.0472958 -0.0309457 -3.9169 0.22311 -0.738853 -1.07368 -0.541463 -2.71298 -0.32327 0.494507 0.0310263 -0.389957 0.354252 -0.498723 -0.439688 -0.210167 -0.667665 -0.575113 33.2283 3.47773 5.78857 2.54139 -0.0969634 1.34924 0.0665886 -0.13158 0.88806 -4.10974 -0.00724921 0.0491465 -0.328726 1.93589 -9.02052 0 0 0 0 0 -0.0119723 -0.168251 0.00374596 0 0 0 0 0.000291278 0 -0.0208284 0 0 0.00131423 0.001644 -0.00372646 0 -0.0016517 0.00814916 -0.0399641 0 0 0.295304 0.000111967 0 0.00441716 0.772919 0 0 0.0299771 0.0971573 0 0.029763 0 0.0224745 0 0 0.00254848 0 0 -0.225101 0.00412502 0.0193435 0 0.0541645 0.017575 0 0 -0.116669 0 0.00486758 0.0147711 -0.00589159 0 0 -0.00275109 -0.00528274 0 0.0215468 0.000863426 -0.00466845 -0.292067 0.00610091 -0.00815249 0 0.020102 -0.0162804 -0.141428 0.0301154 -0.034421 0 0 0 0.526087 -0.05205 0.0914738 0.0258384 -0.026443 0.0315951 -0.00181805 0.00208473 -0.00235418 -9.72763e-05 0 0 0 0 0 0 0.349434 0 0.300523 0 0 0 0 -0.466375 -0.359679 0 0 0.22451 0 0.00985978 0 -0.019977 0 0 1.31793 0 -1.33855 -0.18669 0.0869092 0.166037 0 0 -0.214155 0 8.59661 0 -7.47131 0.713236 0 -1.4779 -2.79773 0.00578992 0 -0.056625 0 0 -0.024619 0 2.71695 2.97401 0 0 0.372598 0 0 0.799931 1.2309 0.281575 0 -2.03112 0 0.822797 0.00891735 -0.156744 -0.467558 0.0507121 0.156848 -0.718763 -0.06438 -0.0311188 -8.93027 -0.12599 0 0 0 -0.342939 -0.00594164 0 0 0 0 0.060992 45.9252 -0.285552 11.2727 0.528992 -0.289782 3.27779 -0.0827155 0.0976656 -0.149858 0.818985 0 0 0 0 0 0 +377 0 0 0 0 0 0.265474 0.328753 -1.83648 -4.23157 0 0 -1.01592 0.854608 0 0.145109 -0.229051 0 0 0 -0.134462 1.26692 0 0 0 0 -0.857952 0 0 -0.185128 5.9897 0.23871 0 -0.842943 0 0 -0.443692 -0.112793 0 0 -3.14543 2.32462 0 0 -0.530394 2.51546 0 1.2903 1.17583 0.502943 1.096 -4.11588 0.59151 0 -0.395844 -0.657167 0.156928 -2.17953 -0.582207 1.44108 0 0 0.324733 -5.17825 0 0.635966 1.37717 0.0415923 0 0 0 0 -0.264701 -3.12894 0 0.81452 0.612921 0 0 0 5.97981 0 4.05793 -6.01919 0 2.43327 -4.59683 9.60214 0 2.84554 -5.06615 9.49194 -16.8799 0 0 0 0.328827 0.105612 0 0 0 -0.0607973 0.115855 0 -0.00574861 0 -0.00544513 -0.181202 0 0 0 0 -0.276047 0 -0.0709482 0 -0.751824 0 -0.565408 -0.143659 0 -0.00158418 0 0 0.048218 -0.00128186 -0.0643439 0 0.0114466 0 0.00642572 -0.00136871 -0.0131964 -0.0299422 -0.0192551 0 -0.000200242 0 0 0 0.000623907 0 0 0.00504147 0.00362349 0.556242 -0.0759146 0 0 -0.0092578 0 -0.0163898 0 0 0.060498 0.0237688 0.103174 0.0524751 0 0 -0.0842218 -0.029555 0.00941292 -0.457924 0.155484 0 -0.40058 0.000837591 -0.0581899 0 0 0 2.49977 0 0.128668 0.22093 0 0.00737092 0.0242958 0.779022 0 0.00195293 -0.000140051 0.0345533 0.181538 0 0.265474 0.328827 0.328753 0.105612 -0.7731 -0.187851 0.265088 0.0736032 -1.40773 -0.155279 0.0682052 -0.844954 -0.0251413 -0.169487 0.0862547 -0.0707711 0.0633265 -0.889222 0.792643 -0.47119 -0.0665467 -0.015866 -0.0418722 0.0290001 0.80889 0.19264 -0.651913 -0.00311122 -5.40357 0.0299655 -0.662099 0.0764196 0.0165099 0.315226 -0.0339932 -0.0271958 0.00108028 0.00265635 -0.041006 1.13675 -0.104875 0.0293535 -1.24849 3.10129 0.00596596 0.0541175 0.20402 -0.0327692 0.389901 0.582567 -1.8604 -0.0804399 -0.352328 -0.82516 0.0512617 2.13373 -0.310507 0.331972 0.17884 0.000962249 -0.209532 -0.87296 0.0388224 1.34715 1.18288 -0.200407 -0.389159 -0.175433 0.142546 -0.687194 0.314329 -0.174386 0.324199 0.0987381 0.0216842 0.342548 2.69843 2.43809 -1.52986 2.23318 -0.4647 -1.7147 1.4994 -0.680773 0.0735566 0.39259 1.1312 -0.644455 0.248517 0.441543 -1.46404 0 +378 0 0 0 0 0 -0.0228417 0.288355 -0.152036 0.550008 0 0 0.0500033 0.93086 0 0.997661 0.0377831 0 0 0 0.220486 2.22593 0 0 0 0 -0.119848 0 0 -0.527646 5.21639 0.552818 0 -0.304443 0 0 -0.241728 0.0553082 0 0 -0.297008 1.97492 0 0 0.0508254 0.966794 0 1.23858 0.593873 -0.695001 -0.0334786 1.66122 0.603877 0 -0.371994 0.114724 0.319436 1.2103 1.1492 0.852942 0 0 0.0277345 -2.38863 0 1.29471 0.293037 0.129049 0 0 0 0 -0.146862 0.0185216 0 -1.46409 -0.992905 0 0 0 -0.976089 0 0.319068 -6.68213 0 -0.1596 -1.73775 -1.60484 0 -0.178057 -2.9002 4.34039 -18.3406 0 0 0 0.0853779 -0.000449365 0 0 0 0.0288106 -0.0190809 0 0.00542918 0 0.00292832 0.0848781 0 0 0 0 0.112908 0 0.025922 0 0.350893 0 0.17674 0.577627 0 0.0110209 0 0 0.337044 8.31539e-05 0.12036 0 0.00410905 0 -0.00138674 0.211105 0.0651639 -0.000148835 0.0423687 0 0.000170557 0 0 0 0.000180133 0 0 0.00270171 0.00223895 -0.0901083 -0.00617101 0 0 0.0362388 0 0.00738429 0 0 -0.0338968 0.0375457 0.373035 0.0574674 0 0 -0.220557 -0.038187 -0.0394493 -0.0174326 -0.0505409 0 0.318743 -0.00682958 0.299815 0 0 0 -0.951394 0 0.035665 -1.3289 0 0.0027708 -0.0830449 -0.406945 0 0.000470507 -0.0114131 0.041547 -0.775074 0 -0.0228417 0.0853779 0.288355 -0.000449365 -0.733522 -0.062008 0.0421672 -0.259873 0.206698 0.0150895 -0.015447 -0.0774988 0.00266535 -0.0202441 -0.0132883 0.000905736 -0.00817067 0.0977926 0.12538 -0.250184 0.0869806 -0.0452816 -0.094511 -0.0227343 -0.222765 0.25845 -0.16007 0.0184688 2.85393 -0.304569 -0.194074 1.0142 -0.00403518 -0.240599 0.0128161 -0.0239265 -0.00504629 -0.0365155 -0.0451576 2.09416 0.0428117 0.0293374 1.36872 -0.763919 0.00118987 -0.0284618 -0.119787 0.0475663 -0.112781 -0.741976 -0.227647 -0.866253 0.190307 -1.42692 0.0157451 0.179782 0.0451505 0.408312 0.307817 -0.110053 0.175183 -0.148344 -0.15835 0.653322 4.92487 0.0205134 -0.0839043 -0.0376582 -0.337895 0.332641 0.067344 0.0584768 -0.0290168 -0.149147 0.130487 -0.166283 0.790961 0.367874 -0.0386816 -0.0758379 0.409649 -3.96671 -0.056498 0.131727 -0.981799 1.14588 -0.124404 0.214767 -0.844715 1.21246 -2.98544 0 +379 0 0 0 0 0 0.245256 0.108231 0.328532 0.257944 0 0 0.198111 0.261692 0 -0.0337132 -0.0464708 0 0 0 -0.234998 -6.57714 0 0 0 0 -0.0671825 0 0 -0.361351 2.42219 0.0637079 0 0.05956 0 0 -0.0701834 0.0130899 0 0 -0.666936 -1.41437 0 0 -0.235457 0.421106 0 -0.225695 0.189493 0.2796 0.172208 0.346478 0.0192351 0 -0.438231 0.0423557 -0.132204 0.652376 -0.971186 -0.0667116 0 0 0.70033 4.06974 0 0.074223 -0.130742 -0.640591 0 0 0 0 0.503006 0.0644049 0 1.57329 -0.333513 0 0 0 -0.715115 0 0.430949 -1.65155 0 -0.206206 -0.104588 -2.4079 0 0.479575 -0.489499 0.532006 -4.54408 0 0 0 0.121684 0.0260315 0 0 0 -0.0369712 0.0165113 0 -0.00411862 0 -0.000942338 -0.031716 0 0 0 0 0.0198904 0 -0.0050958 0 -0.0835953 0 -0.343813 -0.239673 0 -0.00505018 0 0 -0.267452 1.13885e-05 -0.0449086 0 0.00240492 0 0.000770967 -0.117558 -0.0373628 -0.00260947 -0.0195438 0 -2.61207e-05 0 0 0 0.000122459 0 0 0.000484704 -2.51401e-05 0.138857 -0.0345682 0 0 -0.00706906 0 -0.00228186 0 0 -0.0529872 0.0127247 -0.231101 0.0245751 0 0 0.108363 0.0104319 -0.0284641 -0.364734 -0.750515 0 -0.246528 0.00678604 0.308025 0 0 0 0.469033 0 0.0280144 0.96274 0 0.00227203 0.0578345 0.247158 0 8.66455e-05 0.00871023 -0.0113325 0.549714 0 0.245256 0.121684 0.108231 0.0260315 -0.244397 -0.118263 0.197549 0.13682 0.331584 -0.0267475 0.0546604 -0.580945 -0.00512404 -0.0985139 0.0296 0.0221333 0.0329207 -0.104817 0.43804 -0.68827 -0.114957 0.0270742 -0.359356 0.0208354 0.320504 0.151671 0.186888 -0.00405325 5.39866 -0.280286 -1.32404 1.0248 0.00414128 0.265655 -0.550792 -0.0567885 -0.00266454 0.0167308 -0.0366004 1.15806 0.0474885 0.019589 2.50945 1.48291 0.00611637 -0.0188745 0.115823 -0.0710651 0.328186 0.385899 1.29027 0.369112 -0.072272 1.47209 -0.0210309 0.158181 0.393102 -0.299248 0.629218 -0.0604103 0.12289 0.811113 0.0249937 -0.454891 3.12977 0.048413 -0.468897 0.0307944 0.103886 0.275025 0.233834 0.0697677 0.0604296 0.0503147 -0.105002 -0.439584 5.39621 2.61618 -1.33056 1.05576 -0.311202 -0.53486 0.482906 -0.186313 -0.140544 0.351074 0.13334 0.0679342 -0.417517 0.707746 -1.58255 0 +380 0 1.16417 0.332912 0.16182 0.408542 -0.422139 -0.274573 1.47875 4.09854 0.1687 -3.44873 0.458521 -0.744203 -0.0481691 -0.180239 0.0586629 -0.182753 2.34904 -0.574031 0.00504501 -0.69793 -0.102149 -0.261527 0.0271021 -0.773714 0.802211 -0.317345 -0.0865096 0.371629 -0.166798 -0.263702 0.0975463 0.616282 -1.40424 0.328481 0.364521 0.104589 -0.0817753 -6.96033 1.03316 -0.710072 -0.212868 1.69016 0.259071 -1.39434 -0.774748 -0.451123 0.255653 0.759912 -0.282136 0.982509 -1.39724 -2.02264 -0.3716 0.264592 -0.289645 1.31035 0.181399 0.234999 0.810575 0.156048 -1.56069 -0.155004 0.87304 -2.51996 -0.396072 -0.196173 1.589 0.0625319 0.348199 0.653745 -0.325023 0.761988 -0.00827988 -0.156611 -0.350153 -1.46515 18.6336 9.42675 -7.82189 7.75778 -7.0127 10.4208 4.40011 -4.34495 5.80478 -7.55432 1.60908 -1.96824 1.73963 -2.28166 0.674479 0 0 0 0 0 0.16182 0.408542 0.00992717 0 0 0 0 0.00176903 0 0.00491752 0 0 -0.00159135 -0.0108395 -0.0219404 0 -0.0015164 -0.0754342 0.0396465 0 0 -0.414827 -0.000399417 0 -0.166643 -0.189371 0 0 -0.0439355 -0.140005 0 -0.494454 0 -0.0857837 0 0 -0.0083458 0 0 -1.56395 0.0350848 -0.0410297 0 0.194572 0.128665 0 0 -0.468198 0 0.0054471 -0.120705 0.0215158 0 0 0.00365756 -0.0264189 0 -0.00943897 -0.010553 -0.0471418 -1.13715 0.0722348 0.0256869 0 0.0389546 -0.133419 -0.00127089 -0.0431741 -0.296302 0 0 0 10.077 0.472034 0.491321 0.0470353 -0.104996 1.39454 0.00190216 -0.00450822 0.0556925 0.029419 0 0 0 0 0 0 -0.422139 0 -0.274573 0 0 0 0 0.0580865 2.98724 0 0 -0.889632 0 -0.102908 0 0.117364 0 0 -0.403077 0 -0.0262023 0.085076 -0.194735 -0.0269286 0 0 1.03345 0 8.51519 0 -2.22163 0.00772093 0 0.724267 -0.477459 -0.0255968 0 0.00689134 0 0 0.343413 0 1.61204 -1.26489 0 0 -0.112581 0 0 -0.24642 2.6256 0.438281 0 1.20213 0 -1.51849 0.74304 -0.660584 0.629566 0.195482 -0.030055 1.30198 -0.317612 -2.18283 -6.11994 -0.17413 0 0 0 0.466524 0.246049 0 0 0 0 -0.658295 10.0942 4.8357 -4.40466 1.55079 -1.5561 2.03738 0.495813 -0.506699 0.67927 -0.524674 0 0 0 0 0 0 +381 0 -0.236756 0.26014 -0.00282511 0.0462871 -0.292072 -0.0715095 0.313024 1.98074 -0.0344535 -0.451214 -0.0599382 -0.312161 0.00512252 -0.396482 0.0222454 0.708655 1.33483 -0.0798315 0.0628648 -0.561373 0.0194587 -0.355444 -0.00937265 0.0261706 0.258006 0.309987 -0.0277891 0.018507 0.114 -0.241706 -0.0255328 0.129592 -0.488269 -0.240763 -0.0461922 -0.012698 0.132098 -0.124027 -0.176789 -0.379294 0.0173423 -0.573283 -0.0156173 -0.505541 0.0539785 -0.200083 -0.0757325 0.218067 0.058533 0.414828 0.0259444 0.849833 0.0982696 -0.0531015 -0.134439 1.48309 -0.052507 -0.558447 -0.0251642 -0.0402628 -1.10002 1.61801 2.19596 -0.167196 -0.679779 0.125616 -0.353358 0.0572601 0.0802588 1.10414 -0.482014 0.025265 -0.622886 1.28553 0.582815 -0.330182 -0.565717 2.06701 -6.85438 -0.217013 -0.349199 0.479458 0.169114 -0.197335 0.860416 -2.83741 -0.112108 0.245969 -0.227519 0.489187 -0.46098 0 0 0 0 0 -0.00282511 0.0462871 -0.000661656 0 0 0 0 0.000416413 0 0.0407321 0 0 0.000483343 0.00775626 0.0677138 0 0.0107047 0.237862 0.249231 0 0 0.176452 0.00042834 0 0.0766872 2.53341 0 0 0.034363 0.821511 0 0.306351 0 0.0415648 0 0 0.00810645 0 0 0.990788 0.00860653 0.00705641 0 -0.00839089 0.108557 0 0 -0.0203845 0 0.0062879 0.60009 -0.0174545 0 0 0.00188503 0.00765298 0 -0.000167748 0.141837 0.000375328 0.265983 0.0886652 0.012845 0 -0.0269253 -0.138424 0.561998 -0.0972282 -0.312987 0 0 0 -5.60266 -0.12964 -1.16516 -0.0247223 0.0532533 -0.739498 0.000253544 -0.000899217 0.0101219 -0.29539 0 0 0 0 0 0 -0.292072 0 -0.0715095 0 0 0 0 0.285156 -0.489583 0 0 -0.189726 0 -0.00419192 0 -0.0164808 0 0 0.180109 0 -0.542505 0.104082 0.0338349 0.0378864 0 0 -0.0815993 0 -0.340921 0 0.0577134 -0.328604 0 1.19776 -0.485861 0.0125952 0 0.00818638 0 0 -0.068753 0 -0.164153 0.358854 0 0 0.0865676 0 0 -0.0420185 1.82174 0.38061 0 -0.580134 0 -0.984322 -0.0750137 -0.123661 -0.338922 -0.12563 0.523741 0.663023 0.0217371 -0.173115 -5.59886 0.106607 0 0 0 -0.116355 -0.0434795 0 0 0 0 0.285933 -0.242972 1.73328 -4.47089 0.661544 -0.638142 0.533941 0.083659 -0.106187 0.159382 -0.753324 0 0 0 0 0 0 +382 0 0.327854 -0.359101 -0.0132705 -0.0371744 0.0875353 -0.277088 0.500723 0.946955 -0.0326879 -0.675537 -0.817483 -0.479355 0.00411286 -0.482592 -0.103348 -0.134785 -0.179237 -0.0877956 -0.237289 1.28716 -0.0463602 0.579232 -0.00270361 -0.188381 0.460947 -0.260679 -0.0097919 0.813823 2.99294 -0.239944 -0.0107312 -0.693968 0.991993 -0.0974246 0.387432 -0.131177 -0.145526 0.902211 -1.10525 -0.361418 0.0164865 -1.09852 -0.181072 -1.17677 0.0471999 -0.660315 1.65498 -1.58461 0.405839 -0.412089 0.925924 -0.487953 -0.0165956 -0.746359 1.03653 1.07663 0.444764 0.52361 0.222029 -0.0136827 -0.0117679 -0.456272 -0.0113277 0.80168 0.444124 -0.653235 -0.168149 -0.12057 -0.0221096 0.615112 -0.0957254 -0.669458 -0.424045 -0.030615 -2.03805 -0.77611 -3.52127 0.250198 -0.944211 -1.23548 2.6735 -6.43346 0.828573 0.740862 -2.4874 2.32113 -0.0980296 1.20229 -3.20345 5.69348 -12.1025 0 0 0 0 0 -0.0132705 -0.0371744 -0.00140709 0 0 0 0 -0.000218231 0 -0.0227524 0 0 -7.72897e-05 0.000689175 -0.017115 0 -0.00323019 -0.0207647 -0.12665 0 0 -0.0841596 2.3296e-05 0 0.0675116 -0.32716 0 0 -0.00796291 -0.0910777 0 0.232756 0 -0.0120913 0 0 -0.00103111 0 0 0.453943 -0.00422499 -0.000615788 0 -0.0274763 0.00745056 0 0 -0.0302067 0 -0.000326931 -0.402173 0.00591358 0 0 -0.000438698 0.00364606 0 0.00489759 0.10578 -0.00444092 -2.36912 -0.0128041 -0.0368167 0 -0.0426305 0.0938781 -0.264353 -0.0865019 0.0283962 0 0 0 -2.82136 -0.0897702 0.294708 -0.0116874 0.0270377 -0.383921 -0.000103537 0.000302709 -0.00342871 0.108662 0 0 0 0 0 0 0.0875353 0 -0.277088 0 0 0 0 -0.468793 -1.18732 0 0 0.315704 0 0.043756 0 -0.0642453 0 0 0.191922 0 0.66567 0.0136314 0.437803 0.013566 0 0 -0.570232 0 -1.82394 0 1.06141 -0.440836 0 -0.0668232 0.911602 0.0555992 0 -0.0508698 0 0 -0.130301 0 -0.757262 0.125497 0 0 0.0079364 0 0 -0.0947043 0.269019 -0.443091 0 -0.878958 0 1.39358 -0.418261 0.461196 -0.299232 -0.0615681 0.247021 -0.823536 0.176886 0.794366 0.660889 0.0444912 0 0 0 -0.0810388 -0.080419 0 0 0 0 0.138067 -1.18771 -1.75404 2.07766 -0.754932 0.81575 -1.1862 -0.211982 0.193881 -0.22561 0.044295 0 0 0 0 0 0 +383 0 0.563238 0.451753 0.0913894 0.301953 -0.352286 -0.140437 1.2454 3.82515 0.285608 -2.77713 0.483494 -0.284906 -0.0196982 -0.390908 -0.0150882 1.27821 4.78564 -0.456951 -0.0635776 -2.20412 0.0062902 -0.356484 0.0152424 -0.36545 0.70795 0.398967 0.0693953 -0.127793 -1.29936 -0.203229 0.0811058 -0.0143922 -1.40467 0.0321579 0.194558 0.0681105 0.418575 -6.60688 1.12407 -1.2131 -0.130256 0.996933 0.180785 -1.15095 -0.818804 -0.673211 -0.508638 -0.187268 -0.541123 -0.0112364 -1.47797 -3.13124 0.165019 -0.4962 0.352705 0.977595 -0.0554436 -0.954111 0.667228 0.287097 -2.97667 4.01187 0.872695 -1.73912 -0.228671 0.887454 1.07038 0.272385 -0.00345327 0.999276 -1.40702 0.772968 -0.520634 0.0108536 -0.525702 -1.1234 18.4231 7.86073 -7.3577 6.10724 -6.23605 11.185 2.42708 -2.88939 5.08032 -5.74067 0.869084 -1.04829 1.67848 -2.07446 3.13859 0 0 0 0 0 0.0913894 0.301953 0.00439105 0 0 0 0 0.000255313 0 0.0123413 0 0 -0.000387102 0.000836818 0.00917482 0 0.00332418 0.0406546 0.0878241 0 0 -0.164801 0.000118994 0 -0.0772897 0.212985 0 0 -0.0214119 0.168014 0 -0.278109 0 0.00939439 0 0 0.00204705 0 0 -1.10373 0.00416482 -0.0148894 0 0.0752635 0.0941096 0 0 -0.315587 0 0.00720104 0.00646364 0.00197967 0 0 0.0027988 -0.00812465 0 -0.00632144 0.0253824 -0.0284166 0.722811 0.0390063 0.0240165 0 0.0201879 -0.0974451 0.337888 -0.0208206 -0.20901 0 0 0 7.36031 0.316738 0.219427 0.0405242 -0.0857539 1.03884 0.000995878 -0.00280109 0.0359755 -0.0388292 0 0 0 0 0 0 -0.352286 0 -0.140437 0 0 0 0 0.498032 0.925001 0 0 -1.15216 0 -0.134108 0 0.00346717 0 0 0.0312959 0 -0.517759 0.137627 -0.551529 0.014393 0 0 0.143205 0 8.52727 0 -2.67587 0.293807 0 1.20362 -1.16454 -0.0698541 0 0.0631194 0 0 0.0759329 0 1.96221 -0.123703 0 0 0.0094125 0 0 0.0407691 3.49941 0.448865 0 0.454843 0 -1.35091 0.188882 -0.374888 0.964963 0.218383 -0.417453 0.742508 -0.299827 -1.7248 -1.27955 -0.228036 0 0 0 0.115089 0.284196 0 0 0 0 -0.376222 12.0064 6.05004 -6.41656 1.83441 -1.84806 2.33999 0.674381 -0.672591 0.873325 -0.841297 0 0 0 0 0 0 +384 0 -0.38075 -0.182252 0.00379691 -0.0137118 -0.215169 -0.249282 0.589902 1.38431 0.118145 0.259652 0.0379768 0.131253 -0.00193004 0.720727 -0.00661318 0.549549 2.11357 0.152542 -0.0366435 1.88855 0.0478186 0.282045 0.00533246 0.102448 0.430181 -0.0330404 0.161936 0.705503 1.66513 -0.0433118 0.0266145 0.114994 0.623288 0.490809 0.320954 0.00617484 0.68815 2.13015 -0.126934 0.0986759 -0.000865959 1.54327 0.00045036 1.74823 0.105416 -0.381596 0.988463 0.0390846 0.0184103 -0.177164 0.567017 0.0958176 0.14338 0.0757183 -0.00917075 0.980351 0.303205 0.560797 -0.160774 -0.00880262 -0.190572 -2.66379 1.29486 0.838895 -0.0145549 -0.749393 0.146007 0.703621 -0.092746 0.604927 0.28846 0.131896 -0.170473 -0.543199 -1.12866 0.143949 -7.09211 -2.37556 -2.15004 -3.62582 2.30994 -5.21681 -1.05056 0.602085 -1.44294 -1.66723 -0.111889 0.125523 -1.01101 1.07197 -4.02211 0 0 0 0 0 0.00379691 -0.0137118 -0.00508202 0 0 0 0 -0.000730081 0 0.0129572 0 0 0.000678054 0.00510391 0.00561854 0 0.00179944 0.0558439 0.051869 0 0 0.218159 0.000243223 0 0.0550983 0.851225 0 0 0.0323151 0.244504 0 0.294046 0 0.0375707 0 0 0.00534473 0 0 1.18498 -0.0143904 0.0176671 0 -0.0973636 0.0121974 0 0 0.105137 0 0.00129533 0.138891 -0.0140601 0 0 0.00118435 0.0174647 0 0.000307747 0.0724454 0.0123133 -0.370458 0.0144103 -0.0132042 0 -0.0322136 0.0371932 0.222985 -0.070028 -0.0128521 0 0 0 -6.83601 -0.240014 -0.508507 -0.0314961 0.0672775 -0.909374 -3.51785e-05 0.000532827 -0.0144132 -0.0930225 0 0 0 0 0 0 -0.215169 0 -0.249282 0 0 0 0 -0.0381054 0.223991 0 0 -0.167977 0 -0.0235052 0 0.0329193 0 0 -0.208831 0 0.522753 0.0625019 0.0397908 -0.00911081 0 0 0.287579 0 -0.729086 0 0.552311 -0.516172 0 0.56674 0.511718 0.00143246 0 0.0115631 0 0 0.0238828 0 -0.324338 -0.341981 0 0 0.00117339 0 0 0.024459 0.0816193 -0.0447645 0 -0.319364 0 -0.521092 -0.0510745 0.0569592 0.0921434 -0.0438872 -0.0766131 0.376002 0.000900456 -0.511133 -7.74513 0.0356597 0 0 0 -0.0669367 0.0172975 0 0 0 0 0.119661 -3.77008 0.257979 -1.32388 -0.093462 0.148572 -0.299783 0.0811695 -0.0803181 0.112792 -0.373082 0 0 0 0 0 0 +385 0 -0.0453675 0.346948 0.0400996 0.176903 -0.106441 0.073112 0.384469 1.30512 0.331267 -1.03741 0.284776 0.572341 -0.00739998 1.07969 0.0120788 1.18764 4.12008 -0.1494 0.0204581 3.69817 -0.0242984 -0.459678 0.0069603 -0.283315 0.0892825 0.493085 -0.0852395 -0.182243 -1.07389 0.247445 0.0471272 0.147314 -0.701699 -0.145935 -0.119156 0.0413545 -0.374545 -1.0303 0.454806 2.15527 -0.0414575 0.152204 0.081055 1.17172 -0.183596 1.05841 -0.526263 0.269264 -0.201996 -0.15436 -0.568475 3.79899 0.367038 -0.0823277 0.110783 2.99788 1.34314 0.656021 0.339287 0.0969799 -0.542479 -5.4141 1.40761 -0.246812 0.276703 0.749818 0.197154 -0.55502 -0.058749 0.506123 -0.40829 0.326602 -0.0603846 -0.000346586 0.477699 0.382098 2.58592 2.03089 -2.97311 1.38981 -1.33103 1.92527 1.01599 -0.844803 1.66143 -2.07659 0.19487 -0.342658 0.791652 -1.14176 2.59397 0 0 0 0 0 0.0400996 0.176903 0.000414812 0 0 0 0 3.68259e-05 0 -0.00751367 0 0 2.50569e-05 0.000826252 -0.0067419 0 0.000133618 0.0239071 -0.0905992 0 0 -0.0764503 7.21465e-05 0 -0.0159322 0.297472 0 0 -4.61436e-05 0.0635682 0 -0.026266 0 -0.000242317 0 0 0.00136517 0 0 -0.150125 0.000658158 -0.00259268 0 0.0107016 0.060876 0 0 -0.0985425 0 0.000403993 -0.0277532 0.00998952 0 0 0.00131654 -0.000398356 0 -0.00618111 0.111895 -0.0197876 -1.31287 0.0228949 -0.00610913 0 -0.025996 -0.0218131 -0.0716192 -0.0313363 -0.0475549 0 0 0 2.43735 0.130773 0.490163 0.00781535 -0.026736 0.390133 0.000359427 -0.00105914 0.0134143 0.077978 0 0 0 0 0 0 -0.106441 0 0.073112 0 0 0 0 0.501986 1.00905 0 0 -0.474454 0 -0.0440946 0 0.0261991 0 0 0.232388 0 -0.612735 0.143155 -0.198687 0.0482329 0 0 0.271343 0 4.7744 0 0.287721 -0.0708238 0 1.13448 -0.502446 -0.0184913 0 0.0492984 0 0 0.10319 0 0.577421 0.397222 0 0 0.100076 0 0 -0.196378 3.43764 0.357724 0 1.20523 0 -0.380423 0.0416746 -0.0708869 0.412171 0.0548915 0.224957 0.702993 0.0856275 0.332245 3.89101 -0.0845044 0 0 0 0.225623 0.0872755 0 0 0 0 0.150732 2.88008 2.46193 -4.1529 0.642893 -0.650171 0.518472 0.280038 -0.25919 0.307875 -0.733596 0 0 0 0 0 0 +386 0 0 0 0 0 0.42378 0.0658383 -0.427247 -2.18886 0 0 -0.00360667 -0.840843 0 -2.21209 0.00566614 0 0 0 0.093656 -4.74042 0 0 0 0 -0.371617 0 0 0.051755 -1.42351 -0.493509 0 0.0430673 0 0 -0.115732 -0.000452676 0 0 0.221534 -1.87547 0 0 0.069768 -3.23214 0 -0.657082 0.0821479 0.440879 -0.0683808 -0.924773 -0.373388 0 0.0202708 0.0757625 0.0719034 1.23 0.0504637 0.00801834 0 0 0.57689 3.16951 0 -0.74767 -0.0482539 -0.523814 0 0 0 0 -0.188489 -0.0470642 0 3.60778 -1.90635 0 0 0 3.67271 0 -0.841971 4.15823 0 -0.234271 0.256415 3.45226 0 -0.198727 -0.00310376 -0.260453 1.80861 0 0 0 -0.00231077 0.0010212 0 0 0 -0.0138508 -0.00276171 0 -0.000888751 0 -0.000259814 0.000583759 0 0 0 0 -0.0231178 0 -0.000467743 0 -0.0037888 0 -0.158239 -0.0250431 0 0.000409378 0 0 0.0278181 -0.000379756 -0.000867237 0 -0.000294339 0 -0.000302479 0.0131619 0.00543768 -0.00560728 0.000596494 0 -1.79928e-05 0 0 0 -2.22045e-05 0 0 0.000391057 0.000326071 0.0706999 0.00277101 0 0 7.57924e-05 0 0.000655832 0 0 -0.00806852 0.00278158 -0.00433261 -0.00233598 0 0 0.0124146 0.00881008 -0.000914974 0.00908473 -0.00556186 0 -0.0305204 -0.00305662 -0.0260098 0 0 0 0.0457371 0 0.00598563 -0.0161556 0 -6.57197e-05 0.00023849 0.00290719 0 0.000368528 -0.00120852 0.0023982 -0.00769827 0 0.42378 -0.00231077 0.0658383 0.0010212 0.354033 0.0264273 0.016882 -0.894409 -0.25493 -0.00042895 0.0110583 0.0364754 -2.39817e-05 0.0023932 0.000691053 -0.00357829 0.019956 -0.00556908 0.967419 0.492108 -0.110456 -0.448153 0.01032 0.109601 0.0487376 -0.205761 -0.076655 -0.013689 5.13567 -0.013277 -0.257825 0.573169 2.76199e-05 -2.22035 -0.494922 0.00100414 -0.00199847 -0.146251 -0.00847832 -1.09331 -0.011285 -0.0325085 1.69552 2.19384 0.00289412 -0.00709475 0.157241 -0.0184209 -0.113461 -0.0567929 0.221705 0.390538 0.0306164 0.921596 -0.00175111 1.14287 -0.024593 0.0743846 -0.0159853 0.968444 1.08934 -0.158809 -0.278532 -0.0141516 1.59297 -0.154829 0.689818 -0.0197627 0.365578 0.121189 -0.00641481 -0.0453099 0.00133422 -0.0507026 0.00611633 0.0127512 0.626783 -0.0577646 7.25854 0.0205371 -0.212336 5.40936 -0.00223782 0.0357259 -0.0599322 2.99386 0.000594772 0.0841745 -0.115464 0.083323 1.41038 0 +387 0 0 0 0 0 -0.639353 -0.0542718 1.01793 3.12517 0 0 0.117598 -0.192853 0 0.195654 0.0288095 0 0 0 0.13529 -2.20487 0 0 0 0 0.341924 0 0 -0.454558 0.736069 -0.00725465 0 0.108909 0 0 0.120257 0.0178635 0 0 0.54647 -1.00885 0 0 0.101548 0.0421407 0 -0.338299 -0.49295 0.574549 -0.262227 0.176957 -0.232407 0 -0.172712 0.30492 -0.273457 4.47168 -0.233371 0.0921276 0 0 -2.04866 3.87535 0 0.518169 0.375185 -0.898722 0 0 0 0 -0.0758976 0.678518 0 2.55831 0.535503 0 0 0 -3.38913 0 -0.344441 -1.05257 0 -0.0857954 1.0995 -6.45733 0 -0.500336 1.91197 -3.72823 1.65395 0 0 0 -0.0355219 -0.00441864 0 0 0 -0.00374963 0.00427116 0 -0.000163841 0 -0.000220165 -0.0053271 0 0 0 0 -0.0213331 0 -0.0016602 0 -0.0722145 0 -0.0648109 0.00702237 0 3.77745e-05 0 0 0.0275555 -0.000654354 0.000924393 0 0.000993541 0 0.000306316 -0.0113238 0.00234202 -0.00909068 -0.000848089 0 -1.56735e-05 0 0 0 6.92249e-05 0 0 0.000157702 0.00266711 -0.0154844 0.00128454 0 0 -0.00220777 0 0.00120012 0 0 0.0115761 -0.00412684 -0.00561482 -0.0109598 0 0 -0.00534134 -0.00437613 0.0106133 0.00929117 0.0263601 0 -0.00985724 0.00113296 -0.0640493 0 0 0 0.0223045 0 0.00359421 -0.012889 0 -0.000624355 -0.000991169 0.0153324 0 0.000536786 -0.000580169 0.00236087 -0.00806054 0 -0.639353 -0.0355219 -0.0542718 -0.00441864 -0.317005 -0.0456836 -0.0364083 0.358159 -0.0621678 0.00186896 0.0331654 -0.133905 0.000106274 -0.00667637 -0.0024206 -0.00365312 0.0437524 0.0253152 0.117889 0.179204 -0.0303208 0.307361 -0.0630566 -0.0164861 0.223983 0.0027776 -0.0473557 0.00360773 6.08617 0.167447 -2.06018 1.01831 -0.000137215 1.56527 -0.338847 -0.00570459 0.00755574 0.073671 0.0408547 0.466668 -0.00219588 -0.0149752 2.51949 0.416098 0.00744869 0.0323808 0.0273813 0.0360901 -0.0463109 0.544508 -0.0747463 -0.279244 -0.0617583 1.44228 0.00452663 -0.130702 -0.00191249 0.121791 -0.107994 0.0657896 -0.321021 -0.263757 -0.416464 -0.149358 4.43992 -0.19677 0.106274 0.0347295 0.0760078 -0.145829 0.0159739 -0.154153 -0.00426019 0.21024 -0.0130746 -0.00101593 5.00836 0.0554652 -3.09381 0.0792412 -1.15301 1.67491 0.0084689 -0.427484 1.11642 -1.62872 -0.00270363 -0.161689 0.349034 -0.301808 -0.31835 0 +388 0 0 0 0 0 -0.507853 0.357037 -0.412276 0.323609 0 0 -0.0839683 2.05356 0 3.33305 0.0333829 0 0 0 0.377576 5.97674 0 0 0 0 -0.338681 0 0 -0.503918 -3.41143e-05 0.993259 0 0.0852634 0 0 -0.341883 -0.025724 0 0 0.428267 2.75195 0 0 0.025462 7.73829 0 1.54313 -0.37997 1.11398 -0.0979258 0.933536 -0.0601843 0 -0.583456 0.454903 -0.318143 -3.6021 -0.759015 -0.270833 0 0 0.626614 -1.84805 0 1.03338 0.397845 0.61473 0 0 0 0 0.192358 0.338507 0 -3.37662 1.18696 0 0 0 -0.24283 0 -1.0227 2.39381 0 0.00636353 -0.32361 2.20922 0 0.0161099 0.121586 -0.579027 1.70999 0 0 0 -0.314413 -0.0179613 0 0 0 -0.000261571 0.0797669 0 0.000380121 0 0.00176325 -0.00831301 0 0 0 0 -0.0221699 0 -0.00221034 0 -0.0863912 0 -0.0791108 0.17609 0 -0.00154569 0 0 -0.17514 0.00228631 0.00849033 0 0.00448355 0 0.00558549 0.0365986 -0.0198935 0.0326292 0.000955789 0 0.000123359 0 0 0 0.000316641 0 0 -4.65772e-05 0.00397601 0.00865452 -0.0161101 0 0 -0.00642854 0 -0.0135528 0 0 0.0225176 0.000861817 0.0181107 0.00732669 0 0 -0.0422611 -0.026728 -0.0304503 -0.0231219 -0.181175 0 0.0293448 0.0131145 0.040225 0 0 0 0.14578 0 -0.0175705 0.10254 0 0.0015391 -0.00475278 -0.00120445 0 -0.00185277 0.008922 -0.016406 0.0476959 0 -0.507853 -0.314413 0.357037 -0.0179613 0.1771 0.0328587 -0.160999 0.414581 -0.380316 0.00839207 0.0768755 -0.324873 0.000392878 -0.0120377 -0.0084956 -0.012541 0.0517578 0.171495 1.52902 0.141289 0.371495 -0.0395102 -0.32381 0.226804 0.548994 0.0480427 -0.361845 0.00669798 6.92624 0.0472722 0.339163 1.63019 -0.000428079 0.580838 0.776772 -0.0177348 -0.00244746 -0.0275073 0.00585175 0.210288 -0.00373776 0.0129235 3.47376 2.99431 0.00682824 0.000614927 0.469545 0.0262408 0.35143 -0.292835 0.739722 -0.593027 -0.110146 -0.940746 0.0199165 0.343079 -0.0106957 0.283272 0.0327731 -0.0824507 -0.252289 0.16975 -0.0228133 -0.0356599 -5.48196 0.151133 -0.923664 0.241433 -0.176574 0.076966 0.036115 -0.0221157 -0.0247089 0.198053 -0.0721297 0.0133705 -0.824517 0.412553 -3.26741 -0.226567 -0.470256 -0.242282 0.0262799 0.000269113 -0.365149 0.132208 -0.0183155 0.023237 -0.218446 0.00267191 0.100598 0 +389 0 1.03088 0.366746 -5.47668e-05 -0.0126231 0.372427 0.216298 -0.816297 -1.99783 0.000281659 0.0316346 -0.0193566 0.813813 -1.4952e-08 0.240896 0.000308618 1.16287 2.85986 -0.0361816 0.000257863 -0.340499 -0.00616851 -0.426488 9.94914e-08 0.00167803 -0.462129 0.603454 -0.00381362 -0.624119 -1.5512 0.33069 6.26532e-06 0.0271337 -0.921865 -0.00830223 -0.270532 -0.000235383 -0.00961131 -4.19772 -0.031958 0.316591 1.03286e-06 0.05378 -0.000411876 1.60815 0.000363094 0.636628 -1.06213 0.0260038 0.000465847 -0.542869 0.0165201 1.1761 -0.000449564 0.000471694 0.0153088 1.32777 0.15466 -0.00771936 -0.0147659 -9.93511e-07 0.802049 -0.756408 -0.198558 -0.0905092 -0.00663124 0.427709 -0.0105167 0.0319776 -8.02333e-06 -0.334551 0.204118 0.0376862 0.0342715 -0.481187 0.576125 0.0274769 14.3825 -0.597178 7.81868 -0.00986213 -0.201255 7.60256 -0.0983065 0.136962 -0.242792 5.54858 -3.63593e-07 8.88073e-06 0.000159268 0.0847597 5.27526 0 0 0 0 0 -5.47668e-05 -0.0126231 2.4304e-05 0 0 0 0 -6.91799e-07 0 0.000706915 0 0 -0.000127185 -2.27798e-05 4.54842e-05 0 7.02504e-06 0.000163379 0.00400861 0 0 -0.00989626 -1.46998e-06 0 -4.26813e-05 0.0190629 0 0 -0.00150063 0.00852917 0 -0.00445234 0 -6.03094e-05 0 0 -1.27957e-05 0 0 -0.000206548 4.13928e-07 -0.00199771 0 0.00142994 0.00201116 0 0 0.00574432 0 0.000117378 0.0340885 0.000701999 0 0 0.000193188 4.52885e-05 0 -0.00102843 -0.010154 0.000205811 -0.0556647 0.00386103 0.000508145 0 0.000475698 0.000702982 -0.0266586 0.000134354 0.00806212 0 0 0 0.150641 0.015108 -0.000799411 -0.000928532 0.00281884 -0.000703686 0.000129714 -8.41306e-05 0.000220428 -0.000460788 0 0 0 0 0 0 0.372427 0 0.216298 0 0 0 0 -0.0769858 0.624833 0 0 0.239884 0 0.0125439 0 0.0132846 0 0 -0.979579 0 -0.94131 -0.108168 0.119434 -0.111144 0 0 0.234699 0 -1.70632 0 -3.33556 -0.476793 0 -0.642609 -1.20855 0.0036622 0 -0.0175966 0 0 0.0532114 0 -1.49402 -1.12633 0 0 -0.131115 0 0 -0.376835 1.43103 0.200745 0 -0.611367 0 0.383947 0.0639895 -0.0713777 -0.326214 0.0846741 0.855074 0.0211205 0.0224639 0.0511626 0.891542 0.0820912 0 0 0 0.0824584 -0.0808828 0 0 0 0 -0.0442313 20.8547 -1.27068 6.59142 0.26671 -0.361312 1.9176 -0.0355336 0.0263981 -0.0916645 0.465838 0 0 0 0 0 0 +390 0 -1.15928 -0.398829 -0.000400097 -0.0205301 -0.303412 -0.161994 -0.229411 -0.120258 -0.00149231 0.399485 0.0176459 -0.182139 2.37261e-07 0.0908012 -0.000182284 -0.981401 -3.56976 0.0537508 -2.51475e-05 -0.37941 0.00981824 0.256932 -2.90406e-07 0.0644998 0.119347 -0.283677 0.0160197 0.235342 -0.15045 0.0130632 -2.15373e-05 -0.0102872 0.833342 0.0968693 0.033661 0.00030028 0.1504 3.46699 0.0345943 -0.423235 1.82083e-05 0.750172 0.000624499 -0.528785 0.00125875 -0.339923 0.203232 -0.000897092 -0.000843073 1.61555 0.238682 8.45324 2.28776e-05 4.31969e-05 -0.0168312 1.03359 0.0823795 0.0167088 -0.180742 -1.86602e-05 0.444727 0.287238 0.0404889 -0.143493 -0.609413 -0.121265 0.38038 0.339569 1.67707e-05 -0.380479 0.264754 -0.0203875 -0.193524 0.496988 -0.161725 -0.0811613 -9.16219 -0.785573 -3.49232 -0.197963 0.15294 -4.44204 -0.434943 0.602003 -1.09466 0.890332 -1.26048e-06 -4.20049e-05 -0.00206503 -0.0558731 0.511643 0 0 0 0 0 -0.000400097 -0.0205301 0.000420339 0 0 0 0 7.43646e-06 0 -0.000223728 0 0 7.84496e-05 2.3617e-05 -6.81324e-05 0 -5.70599e-06 -2.38573e-05 -0.00338934 0 0 -0.015295 1.59362e-06 0 -0.000194682 0.00844121 0 0 -0.00105579 -0.00202733 0 -0.00485122 0 -0.000258614 0 0 -1.74562e-05 0 0 -0.029668 0.000103522 0.00123552 0 0.00574986 -0.00340928 0 0 -0.00702958 0 0.000905472 -0.00952596 -0.00122883 0 0 -0.000184774 -0.000698927 0 0.0021147 0.00219326 -9.42818e-05 0.0157117 -0.00238734 -0.00149032 0 0.00102565 0.000908357 0.008835 0.00192685 -0.00129122 0 0 0 -0.0354065 -0.0114457 0.00315763 0.00304373 -0.00447911 0.00406874 -9.51096e-05 6.41182e-05 -0.000130354 0.000407359 0 0 0 0 0 0 -0.303412 0 -0.161994 0 0 0 0 0.0432622 0.490054 0 0 0.221419 0 0.0350844 0 0.0130373 0 0 -0.102762 0 0.47613 -0.00880227 0.0278148 0.00262971 0 0 0.0711207 0 -7.91078 0 4.08505 -0.902744 0 0.300127 1.0255 0.0083645 0 -0.00259116 0 0 0.0719706 0 -2.51565 -1.00632 0 0 -0.0902857 0 0 -0.147945 0.402926 0.272569 0 0.533295 0 -0.372307 0.127272 -0.140386 -0.624008 -0.105541 0.448515 0.583601 0.128261 -0.239191 0.380212 0.187294 0 0 0 0.0974872 -0.138 0 0 0 0 -0.126012 -21.3569 -2.67969 -0.746717 -0.889296 0.641248 -1.5957 -0.172052 0.113217 -0.114423 -0.107862 0 0 0 0 0 0 +391 0 -1.04144 0.0588943 -0.00130095 -0.0954568 -0.0927468 -0.210362 0.921716 2.3055 -0.00414757 -0.536995 0.0364294 -0.369082 6.74283e-07 -0.562341 -6.25509e-05 1.57559 5.21357 -0.122589 0.00062132 -0.293329 -0.0213836 -0.0228722 -6.58414e-07 -0.151867 0.601312 0.415396 -0.00732033 0.341381 0.108625 -0.257874 -5.26746e-05 0.00777075 0.218821 0.00211979 0.266367 0.000609071 0.0219652 2.10318 0.0738133 -0.246749 5.83188e-05 0.304686 0.00129279 -1.45516 0.00491579 -0.308741 0.412616 0.0604797 -0.00207908 0.785898 -0.270055 -6.37236 -0.00120951 0.00135285 -0.000708944 -0.614067 -0.0230308 0.0172987 0.205945 -6.29001e-05 0.314489 -0.686281 2.31137 1.09956 0.0169038 -0.283201 0.619006 0.0667652 3.74984e-05 0.14472 0.0872333 -0.00795712 -0.0383412 0.272624 -0.159568 -0.19379 -6.66954 1.13368 -5.6233 1.06105 -1.26956 -0.742458 0.806579 -0.956182 1.2372 -3.61617 -4.92255e-06 -0.000133355 -0.0084131 -0.127641 -0.369409 0 0 0 0 0 -0.00130095 -0.0954568 0.00136777 0 0 0 0 1.89067e-05 0 -0.0012075 0 0 0.000293339 5.89529e-05 -0.000164846 0 -1.46959e-05 0.000211501 -0.011639 0 0 -0.044682 4.306e-06 0 -0.000718052 0.0670073 0 0 -0.00328362 0.010935 0 -0.0256497 0 -0.000650254 0 0 -4.56208e-05 0 0 -0.108758 0.000282327 0.00392846 0 0.0207967 -0.00166865 0 0 -0.0265522 0 0.00245499 0.0352085 -0.00124763 0 0 -0.000405403 -0.00254036 0 0.00489559 -0.00659132 0.000231366 -0.114867 0.00140856 -0.00505874 0 0.00362763 0.00226771 -0.0275509 -0.000677327 0.00938483 0 0 0 0.39921 0.00505566 0.0328879 0.00870623 -0.00733075 0.0120983 -0.000346179 0.000503934 -0.000538549 0.00151309 0 0 0 0 0 0 -0.0927468 0 -0.210362 0 0 0 0 0.0208906 0.777007 0 0 0.195264 0 -0.00342013 0 0.014222 0 0 -0.715323 0 -0.396098 0.0813286 0.00727483 -0.0802375 0 0 0.277966 0 -2.40511 0 1.01938 -0.377053 0 0.402126 -0.657419 -0.00615676 0 0.017134 0 0 0.0586144 0 -0.788911 -1.83653 0 0 -0.209071 0 0 -0.834169 0.278153 -0.101761 0 -1.10364 0 -0.903375 0.244685 -0.0967762 0.0754676 -0.108367 0.62228 0.691586 0.0838483 0.44108 1.96775 0.155095 0 0 0 0.267562 -0.0260579 0 0 0 0 -0.0814612 -18.5886 -1.52901 -3.02868 -0.586681 0.516667 -1.49634 0.0559272 -0.0525975 -0.0375907 -0.288037 0 0 0 0 0 0 +392 0 0.435763 -0.194955 -0.00012328 0.00768963 -0.107424 -0.136581 0.698094 -0.0110405 -0.0013247 0.341425 0.0270961 -0.605889 1.72613e-07 0.126752 -0.000119889 -1.43968 -2.95063 0.0904482 0.000133096 1.09721 0.0136157 0.261799 -2.38551e-07 0.0993508 0.0950617 -0.719296 0.00798535 0.597012 1.30451 -0.219896 -1.79806e-05 -0.000305693 -0.240737 0.0304892 0.28704 0.000320162 0.09737 -3.54254 0.0365838 0.0151173 1.20177e-05 0.255295 0.000484682 -0.617131 0.000793207 -0.390995 0.852877 0.0231994 -0.000768397 1.59245 0.190498 2.27379 -0.000211954 -0.000511076 -0.00852543 1.89699 -0.0408436 -0.00818287 -0.149063 -1.74888e-05 -2.69093 -0.257144 0.309331 1.51217 -0.0950473 -1.19207 -0.462134 0.0935403 2.18492e-05 -0.500342 0.0487683 -0.0272093 -0.105601 0.406054 -0.00540843 -0.331159 14.8825 -1.18588 4.74487 0.440013 -1.13623 2.70223 -0.14476 0.0686466 -0.483262 -0.140308 -1.02571e-06 -3.99622e-05 -0.00139571 -0.0522924 -1.81652 0 0 0 0 0 -0.00012328 0.00768963 0.00015538 0 0 0 0 3.27956e-06 0 0.000831048 0 0 1.63548e-05 7.85103e-06 1.30499e-06 0 4.42449e-07 3.23039e-05 0.00602351 0 0 -0.00676777 5.51079e-07 0 -0.000135206 0.049719 0 0 -0.00153438 0.00688283 0 -0.00694313 0 -9.54722e-05 0 0 -8.28095e-06 0 0 -0.0186223 4.6753e-05 0.000232128 0 0.00221844 -0.000913879 0 0 -0.00782133 0 0.000340778 -0.0132698 -0.000373703 0 0 -4.23126e-05 -0.000263095 0 0.000673 -0.000874544 3.80343e-06 -0.0375021 -0.000585994 0.00215 0 0.000332147 -0.000313304 -0.00489205 0.000615318 0.00218423 0 0 0 0.0306499 -0.00146477 -0.00327789 0.00116061 -0.00134738 0.00377781 -2.25696e-05 2.54118e-05 -2.77173e-05 -0.00284493 0 0 0 0 0 0 -0.107424 0 -0.136581 0 0 0 0 -0.183859 -0.538936 0 0 -0.311403 0 -0.025905 0 -0.0119814 0 0 0.517313 0 0.434593 -0.0851843 -0.115526 0.0363967 0 0 -0.230973 0 1.00095 0 -4.4497 0.11641 0 -0.480463 -0.714818 -0.00500514 0 -0.0299802 0 0 -0.0321998 0 0.77258 0.798653 0 0 0.0536137 0 0 0.525419 2.82938 0.326653 0 -0.345692 0 1.17339 -0.0962945 0.0402637 -0.273392 0.0659227 0.426448 -0.165226 -0.0643948 0.485973 -0.668006 -0.0869426 0 0 0 -0.148584 0.0283136 0 0 0 0 0.075268 35.6522 1.09883 7.37825 0.456481 -0.441518 2.73775 0.125928 -0.101499 0.102757 0.329644 0 0 0 0 0 0 +393 0 -1.00405 -0.281106 -0.000564715 -0.0300412 -0.197126 -0.0453378 -0.836388 -0.916037 -0.00194087 0.330202 0.00359255 -0.153758 4.53953e-07 -1.61774 5.23702e-05 -0.502335 -1.82327 0.0292255 0.000555989 1.59208 0.00202816 0.0368287 -5.81218e-07 0.0179658 -0.169656 -0.0781386 0.00414384 -0.0428382 -0.688971 -0.18265 -3.5006e-05 0.00247478 0.515297 0.0412648 -0.190015 0.000183327 0.0541715 3.56099 0.011159 0.732273 2.77631e-05 0.406307 0.000417683 -2.02377 0.00156209 0.351983 -0.221959 0.0228748 -0.000605618 -0.838226 0.203501 -0.976489 -0.000474223 0.000729136 0.00262809 -1.9959 0.22383 0.0332757 -0.0757262 -2.73802e-05 0.277945 -3.00675 -1.93526 -1.93094 -0.434184 -0.15352 0.231239 0.230035 2.85592e-05 -0.120624 0.240289 -0.000504841 -0.0897395 -0.748289 -0.29155 0.0815389 -9.2909 -0.387028 -2.52419 0.0324153 0.150884 -4.24938 -0.247436 0.488483 -0.913145 1.23648 -2.01997e-06 -3.9332e-05 -0.000642136 0.00639601 0.959389 0 0 0 0 0 -0.000564715 -0.0300412 0.000407683 0 0 0 0 9.4192e-06 0 -0.000807344 0 0 5.24708e-06 1.77025e-05 -7.60075e-05 0 -1.77843e-05 -0.000246511 -0.0040291 0 0 -0.00430963 1.2428e-06 0 -0.000258463 -0.00793919 0 0 0.00109713 -0.00886826 0 -0.00656327 0 -5.38736e-05 0 0 2.03797e-05 0 0 -0.0528971 0.000134334 7.2564e-05 0 0.00583851 -0.00411663 0 0 -0.0079132 0 0.00101723 -0.00300555 -0.00120534 0 0 -0.000112141 -0.000612655 0 0.00250634 -0.00528079 0.000137679 0.0199318 -0.00238511 -0.0036094 0 0.00303728 0.00175298 0.000527344 0.00241212 0.000681545 0 0 0 0.0807495 -0.0051873 0.0104318 0.00462636 -0.0053935 0.00589391 -2.97856e-05 2.78894e-05 -3.40138e-07 0.00120913 0 0 0 0 0 0 -0.197126 0 -0.0453378 0 0 0 0 0.0850888 0.427152 0 0 0.299572 0 0.035625 0 0.0133871 0 0 -0.580136 0 0.130958 -0.00833405 0.0906287 -0.101157 0 0 0.141377 0 -2.97064 0 5.71367 -0.366113 0 0.308023 1.31999 0.00841374 0 -0.00406713 0 0 0.0548238 0 -1.07475 -1.18161 0 0 -0.200347 0 0 -0.367764 -2.69229 0.238088 0 -1.22295 0 -0.879087 0.128634 -0.172802 -0.549139 -0.0726638 0.404177 0.289057 0.0771886 0.0940755 -3.93124 0.168271 0 0 0 0.113337 -0.103081 0 0 0 0 -0.084552 -26.3733 -2.67774 -1.08037 -0.925635 0.760247 -2.35005 -0.183795 0.136342 -0.156638 -0.0421412 0 0 0 0 0 0 +394 0 -1.01838 -0.143099 -0.00150383 -0.0831842 -0.185889 -0.20231 -0.0191326 0.480255 -0.00694655 -0.277569 0.0413815 -0.639561 1.28073e-06 -1.66119 8.75392e-07 -1.19754 -4.99669 -0.0447321 0.00158312 -3.20992 -0.00652972 -0.0643242 -1.63518e-06 -0.0958898 0.328643 -0.274379 0.00277024 0.309344 -0.981453 -0.363896 -0.000108151 0.00782404 0.0567406 0.0838992 0.136766 0.000730129 0.0613068 1.33538 0.0715874 -1.4679 8.67229e-05 0.528586 0.00138207 -3.56732 0.00570475 -0.7352 0.00880269 0.102591 -0.00252627 -1.66943 -0.030614 3.28908 -0.00153359 0.00155107 -0.000479603 1.00049 -0.111515 0.0545401 0.083413 -0.000101985 0.12339 1.40279 -0.95237 -1.59429 -0.0743177 -0.256252 0.558183 0.101425 0.000105874 0.239475 0.0498572 -0.0217903 -0.170743 1.76826 -0.716484 -0.482729 -6.34402 0.909889 -2.28769 0.778435 -0.211046 -0.908477 0.650492 -0.64908 0.615094 -1.01055 -7.37694e-06 -0.000163577 -0.00333735 -0.0296636 1.36667 0 0 0 0 0 -0.00150383 -0.0831842 0.00156581 0 0 0 0 2.49999e-05 0 -0.00382757 0 0 0.000492652 0.000108509 -0.000262217 0 -5.76947e-05 -0.000498044 -0.01722 0 0 0.00322788 7.60909e-06 0 -0.000700963 0.074453 0 0 0.00349733 -0.00655173 0 -0.0146591 0 5.15452e-05 0 0 7.43331e-05 0 0 -0.119497 0.000355843 0.00704093 0 0.0221819 -0.00402318 0 0 -0.0374526 0 0.00236124 -0.00958113 -0.00209662 0 0 -0.000520343 -0.00308922 0 0.00731158 -0.00220911 -0.000744024 -0.0662815 -0.00427297 -0.00645854 0 0.00697385 0.000780381 -0.00654601 -0.00187991 8.84073e-05 0 0 0 0.206694 -0.0190356 0.0352827 0.0117167 -0.0131368 0.0145708 -0.000512781 0.000620038 -0.000903639 0.00170782 0 0 0 0 0 0 -0.185889 0 -0.20231 0 0 0 0 0.148198 0.524114 0 0 0.156561 0 -0.00481871 0 0.00908092 0 0 -0.766552 0 -0.108996 0.0982314 0.0483378 -0.0725233 0 0 0.231952 0 -8.2909 0 2.92113 -1.09727 0 0.679752 0.286899 -0.000981147 0 0.0163505 0 0 0.0258287 0 -2.88451 -1.77576 0 0 -0.169618 0 0 -0.486078 -1.34611 -0.172566 0 0.720827 0 -1.32936 0.160814 -0.0721712 0.367373 -0.229106 -0.0634592 0.520599 0.117472 -0.147835 5.49432 0.158304 0 0 0 0.193475 -0.0200997 0 0 0 0 -0.0717347 -23.6791 -0.771564 -4.82104 -0.628017 0.51852 -1.71666 0.0557702 -0.0600169 -0.0405442 -0.333515 0 0 0 0 0 0 +395 0 0 0 0 0 -0.206969 0.138937 -0.502735 -0.96387 0 0 0.190686 0.973854 0 1.22732 0.035152 0 0 0 0.109323 3.64768 0 0 0 0 -0.239459 0 0 -0.278306 -3.82105 0.336074 0 0.241847 0 0 -0.0879463 0.0127807 0 0 0.817269 0.256681 0 0 0.15628 4.77613 0 -0.0666899 -1.10358 0.414551 -0.239789 0.99416 -0.340594 0 -0.149531 0.230963 -0.34508 -0.151509 -0.147591 -0.128798 0 0 -0.164433 2.93725 0 -0.54497 -0.288299 -0.162632 0 0 0 0 0.256452 0.354416 0 -0.0956857 1.4465 0 0 0 1.04452 0 -1.29509 4.47858 0 -0.337738 -1.04067 5.31546 0 -0.41962 -0.753433 0.0662634 6.85696 0 0 0 -0.209097 -0.020967 0 0 0 0.0577037 0.00514182 0 0.00721379 0 4.5702e-05 -0.00946209 0 0 0 0 -0.08845 0 -0.00910756 0 -0.0813314 0 0.437194 0.326393 0 0.00348991 0 0 0.260547 0.000261728 0.0320971 0 7.90896e-05 0 0.000198369 0.0607033 0.0307974 0.00406784 0.00605969 0 2.89394e-06 0 0 0 3.35668e-06 0 0 -0.000397272 -0.000318108 0.0441112 0.00136026 0 0 9.11161e-05 0 -0.000853807 0 0 1.97167e-05 0.00126217 0.191154 0.00224893 0 0 -0.0248713 0.0618904 0.00187871 0.20344 0.228399 0 -0.128055 0.000198261 0.17542 0 0 0 0.0738957 0 -0.00401141 -0.247648 0 0.000205712 -0.000503671 0.00121434 0 -0.000248114 0.000210154 -0.000800353 -0.216558 0 -0.206969 -0.209097 0.138937 -0.020967 0.503763 0.135864 -0.146173 0.0985813 -0.384482 0.0101163 0.00714261 -0.188398 0.000727123 -0.0230455 -0.0121883 -0.00306476 0.000275877 0.131935 -0.262531 0.82422 0.114321 -0.0180553 -0.124809 -0.000731524 0.0201345 -0.122621 0.0151456 -0.00308796 0.241781 0.0969145 -0.443921 0.680764 -0.00092047 -0.389496 0.0740027 -0.0125023 0.000469252 0.033289 0.0165361 -0.994354 -0.0381286 -0.011012 1.04026 0.731515 0.000359872 0.00668236 0.159848 0.0569386 -0.0535241 -0.951504 -2.32351 -0.192849 -0.00351447 -4.64502 0.0199572 -0.702524 -0.0792785 -0.13045 0.22636 -0.380993 -1.63547 -0.00473846 0.0880084 0.0254772 -12.4508 0.0793314 -0.00388385 0.0858503 0.101133 -0.146678 0.0490062 0.0260955 -0.0207039 0.0335031 -0.110664 0.0628377 3.95847 0.748009 0.26607 -0.564695 -0.0928531 2.4863 0.0373242 -0.0682229 -0.454532 1.46299 -0.013992 -0.0205516 -0.119125 -0.0678504 1.29465 0 +396 0 0 0 0 0 -0.102809 -0.178262 1.11301 2.6775 0 0 -0.125795 -0.663817 0 -1.99147 0.00482634 0 0 0 -0.00366031 -4.13782 0 0 0 0 0.542363 0 0 0.347348 5.97667 -0.444224 0 0.0170485 0 0 0.205816 -0.00461531 0 0 -0.367765 -1.07223 0 0 -0.00619684 -4.16025 0 -0.414405 1.81309 -0.133844 0.0187306 0.677573 0.209665 0 -0.0427482 -0.140423 0.394616 -1.79324 -0.252459 -0.0500321 0 0 1.31058 0.265076 0 1.216 -0.206152 0.470514 0 0 0 0 0.204831 0.177559 0 0.867552 -1.55371 0 0 0 -3.94574 0 0.560626 -8.69637 0 0.0962347 -0.586537 -5.22433 0 0.12233 -1.10351 2.75284 -15.7673 0 0 0 0.0235389 0.00177376 0 0 0 -0.0100551 -0.00153992 0 -0.00100186 0 -7.62842e-07 0.00367411 0 0 0 0 0.0134219 0 0.00101631 0 0.0589449 0 -0.10317 -0.117807 0 4.39336e-05 0 0 0.0121782 -1.97808e-05 -0.0076444 0 -1.53708e-05 0 -9.59066e-05 -0.0121751 0.00114027 -0.000334159 -0.000812032 0 -3.45715e-08 0 0 0 -9.1906e-07 0 0 2.53536e-05 -0.000116392 0.0201446 0.000422988 0 0 0.000115756 0 0.000190997 0 0 -3.31164e-05 -4.97975e-05 -0.0943459 -0.000130415 0 0 -0.00876596 -0.0267689 -0.000238547 -0.0401737 -0.0714869 0 0.0161005 -2.84494e-05 -0.0795019 0 0 0 -0.0489261 0 0.00101041 -0.00853148 0 8.33496e-05 0.000379663 -0.0268263 0 6.14811e-06 -7.39987e-06 0.000116541 -0.0114045 0 -0.102809 0.0235389 -0.178262 0.00177376 -0.310145 -0.156491 0.0123466 -0.332943 0.418933 -0.000773847 -0.0325729 0.236666 -5.87127e-05 0.0148568 0.00101056 0.0161349 -0.0232022 -0.00932445 0.394567 0.28146 -0.483588 0.228799 0.176768 0.0324381 -0.23007 0.379929 0.272563 0.0108551 3.08218 -0.187081 -1.59537 0.243882 7.59627e-05 0.296346 -0.946818 0.010641 -0.00258919 0.00301936 -0.0263611 1.94627 0.0256683 0.0682269 1.1917 1.16208 -0.00339293 -0.017052 0.204159 0.0662053 -0.167405 0.494577 2.9749 1.51044 0.0284389 3.02194 -0.0016254 1.5781 0.046371 -0.375301 0.223572 -0.0916117 1.37485 -0.246849 0.1249 0.351066 12.3775 0.163292 0.427511 -0.0731699 -0.259227 0.0337798 -0.0292386 0.0786462 0.00148857 -0.160771 0.103861 -0.0413267 14.2261 -1.38571 2.35947 0.12617 0.654559 -6.54984 -0.0144814 0.223557 -0.618035 -1.44059 0.000988883 0.0940454 -0.322462 0.668691 -2.86103 0 +397 0 0 0 0 0 -0.389912 -0.555887 0.574155 2.36299 0 0 -0.289972 -1.70821 0 -3.35029 -0.0127614 0 0 0 0.112484 -6.87111 0 0 0 0 0.516601 0 0 0.805633 4.95195 -0.861207 0 0.0175532 0 0 0.348999 -0.0378089 0 0 -0.846174 -2.55868 0 0 -0.234414 -6.9519 0 -1.24703 1.56647 0.665653 0.31254 -1.36167 0.0590486 0 -0.150549 -0.106157 0.237775 4.62277 -0.102403 -0.364743 0 0 0.554175 4.87928 0 0.957958 0.646136 0.433125 0 0 0 0 -0.00586437 -0.583081 0 5.12668 -0.784562 0 0 0 -3.55488 0 0.666793 -6.08201 0 0.434854 -1.43327 -2.3147 0 0.873054 -2.50985 5.14313 -16.4262 0 0 0 -0.0322727 0.00455319 0 0 0 -0.0198791 0.0205666 0 -0.00181603 0 -1.80868e-05 0.0029076 0 0 0 0 0.00379149 0 0.00175386 0 0.0296813 0 -0.195381 0.10679 0 -0.00044953 0 0 -0.0172241 -0.000222366 0.00168017 0 0.000259234 0 0.00113917 0.0333324 -0.000109214 -0.00245641 0.00150932 0 -1.89516e-06 0 0 0 1.40882e-05 0 0 0.00118767 0.000609755 0.0191506 -0.00336839 0 0 -0.000336939 0 -0.00295449 0 0 0.00209118 -0.00171852 -0.081727 -0.000601698 0 0 -0.00803298 -0.0240762 0.00448635 -0.0248338 -0.0969364 0 -0.000801563 -0.00183973 -0.0478395 0 0 0 -0.0393776 0 0.000184189 0.0124084 0 -0.00068264 4.99299e-05 -0.00696113 0 0.000451274 -0.00057513 0.000839242 0.0224615 0 -0.389912 -0.0322727 -0.555887 0.00455319 -0.377425 -0.128632 0.0494678 0.211547 -0.0575194 -0.00290361 0.0627307 0.0910335 -0.000197016 0.00102346 0.0037132 -0.009996 0.0408001 -0.0389589 -1.15543 -2.09716 -0.308081 0.27975 0.0502259 -0.157524 0.52027 0.287137 -0.18542 -0.0363429 -6.07726 -0.230572 -1.6264 -1.97728 0.000257545 1.29925 -0.717833 0.000652292 -0.0132871 0.0984963 -0.0891604 1.62357 -0.00191676 0.0445994 -4.22162 -2.30188 0.00337439 -0.04728 -0.345905 -0.276378 0.19052 1.2949 5.20248 0.556819 -0.143222 4.55663 -0.00793624 4.00264 0.00472428 0.40763 -0.409092 0.431185 0.3266 -0.547085 0.0086532 -0.155555 21.8215 -0.131694 -0.298455 -0.101313 -0.282121 -0.370728 0.00376137 0.0139169 0.00715006 0.0886324 0.20757 0.00857172 14.5027 -0.742832 -2.83935 0.259941 0.22485 -3.67057 -0.0128986 0.322965 -0.746681 -1.04008 0.00413169 0.320072 -0.793582 1.04687 -2.47773 0 +398 0 -0.409091 0.49951 -0.0265395 -0.250865 0.326582 0.23311 0.185582 -0.530555 -0.125737 0.606038 -0.147242 0.738132 0.00104024 0.189845 0.00558225 4.00916 13.3403 0.0485994 0.0141173 1.07198 -0.00385952 -0.328618 -0.00115176 0.0786258 -0.180055 1.2399 0.0229462 -0.229152 0.638769 0.166694 -0.0125187 -0.0196419 -0.500297 0.0278959 -0.0613897 -0.0129023 0.104844 -0.469679 -0.367751 0.913703 0.0128273 0.113738 -0.0351155 1.7729 0.150595 0.75047 0.0615642 -0.00279337 0.065282 0.0187918 0.11132 -8.10712 -0.0278313 -0.00698505 -0.0134095 -0.714436 0.0941808 -0.015375 -0.0626749 -0.0186633 -0.893777 -0.439352 -0.0108704 0.849487 -0.357137 0.457533 -0.237824 0.281723 0.00798588 -0.211414 -0.264578 -0.165467 -0.211973 1.10568 0.283322 -0.106539 0.664158 -2.57218 2.84027 -1.06638 0.785045 -0.244771 -0.258142 0.0218447 -0.248106 -0.0732743 -0.0234055 0.0693416 -0.203041 0.54751 -1.30135 0 0 0 0 0 -0.0265395 -0.250865 0.000887263 0 0 0 0 5.21642e-05 0 0.023469 0 0 0.000547564 0.000197889 0.0178699 0 0.00261524 0.0244172 0.158369 0 0 0.167565 1.09243e-05 0 -0.0219613 0.838902 0 0 0.0259767 0.150798 0 -0.102101 0 0.0219854 0 0 0.00324904 0 0 -0.066394 0.00105136 0.00904396 0 0.0187372 -0.0024894 0 0 -0.1299 0 -0.000292136 -0.13827 0.000375548 0 0 -0.000677016 -0.00275091 0 0.000541008 0.043003 0.00259346 0.38708 0.00194637 0.0330712 0 0.00172648 -0.0453257 0.0877927 0.0119654 0.141945 0 0 0 -0.0221421 -0.022763 -0.152753 -0.00147973 -7.67695e-05 0.0352676 -0.000520808 0.000542585 -0.00208314 -0.0641473 0 0 0 0 0 0 0.326582 0 0.23311 0 0 0 0 -0.537918 -0.163719 0 0 0.661965 0 0.0630593 0 -0.00289978 0 0 0.0981057 0 -1.18003 -0.169539 0.159949 0.00707869 0 0 -0.121553 0 0.994662 0 -2.60959 0.0934409 0 -1.3156 -1.85372 0.0140089 0 -0.0713357 0 0 -0.00120638 0 0.0171888 0.336177 0 0 0.0119451 0 0 0.147847 1.38281 0.467273 0 1.22375 0 1.00936 0.253681 -0.237342 -0.011202 0.0218155 -0.386729 -0.271674 0.0791939 0.41763 10.0198 -0.074878 0 0 0 -0.0179644 -0.0328035 0 0 0 0 0.032233 19.5768 -4.97924 11.0672 -0.796004 0.409125 1.55945 -0.262717 0.247205 -0.396748 0.887934 0 0 0 0 0 0 +399 0 -0.3779 -0.228949 0.00616345 0.0805893 -0.0949238 -0.0145801 0.0410366 0.733263 0.03079 -0.251581 0.147248 -0.382729 -0.000215113 -0.558595 0.00290564 -0.0186543 -4.21869 0.0156476 0.0042051 0.134799 -0.00307805 -0.156802 0.000236833 -0.02904 -0.081084 0.125991 0.00356435 -0.435372 -1.52674 -0.0968954 0.00269898 0.120709 0.292396 0.145162 -0.218778 0.00775258 -0.0637178 1.90119 0.223376 0.21629 -0.00253821 0.17308 0.0137294 -2.65501 -0.0296765 0.210047 -0.804425 0.175741 -0.0158951 -2.07869 0.0818861 -3.40954 0.035384 0.0262696 -0.070711 1.47003 0.121651 -0.129506 0.0616655 0.00279477 -0.550812 0.172651 1.17414 -0.339868 0.588418 -0.687523 -0.0833199 -0.251527 -0.000863839 0.593205 0.165971 0.0430316 0.0911152 0.365262 0.136996 -0.399276 -7.51836 -0.39074 -2.54705 -0.370132 -0.266394 0.507948 0.295063 -0.4061 0.639019 -1.2678 0.00461232 -0.0253915 0.148873 -0.640804 3.11039 0 0 0 0 0 0.00616345 0.0805893 -0.000450685 0 0 0 0 -1.79555e-05 0 -0.00454638 0 0 -0.000154719 -7.5928e-05 -0.00282214 0 -0.000397917 -0.00664539 -0.0290248 0 0 -0.09757 -4.46855e-06 0 0.00607181 -0.497484 0 0 -0.0133408 -0.0637943 0 0.0306421 0 -0.00833271 0 0 -0.00115505 0 0 0.111483 -0.000358108 -0.00261107 0 -0.00852986 -0.00192413 0 0 0.0353258 0 -0.000228174 0.0754393 0.000535544 0 0 0.000137071 0.00119746 0 -0.00115518 -0.0389705 0.00224919 -0.487338 -0.000618363 -0.0176833 0 -1.13564e-05 -0.00457901 -0.139325 -0.00670281 -0.0669 0 0 0 0.278368 0.0394653 0.075385 0.00267278 0.00256565 -0.058388 3.68516e-05 0.000318436 -0.00116435 0.00925112 0 0 0 0 0 0 -0.0949238 0 -0.0145801 0 0 0 0 0.468504 -0.150166 0 0 -0.418958 0 -0.0368979 0 -0.00716088 0 0 -0.734621 0 -0.149046 0.167161 -0.149517 -0.0918444 0 0 -0.0289347 0 -6.38946 0 1.18293 -0.330842 0 1.09456 0.248372 -0.0121333 0 0.0681652 0 0 -0.0216794 0 -1.63332 -1.93134 0 0 -0.256916 0 0 0.349972 1.16397 -0.576319 0 -0.399854 0 0.123518 -0.0974966 0.198958 0.124168 0.0436275 -0.440599 0.0494041 -0.131474 -0.276494 -1.94284 -0.0772594 0 0 0 -0.250645 0.108268 0 0 0 0 0.0933742 -4.95789 2.20276 -5.72324 0.0454336 -0.0646977 -0.337682 0.136648 -0.1746 0.345259 -0.806428 0 0 0 0 0 0 +400 0 -0.794587 -0.1544 0.00440279 -0.109567 0.0972266 0.134655 0.376573 0.96787 0.0814954 -0.725169 0.0781497 0.0687158 -0.00050007 0.155675 -0.0118201 0.360522 0.537022 -0.19114 -0.0156148 1.52087 -0.0413962 0.141423 0.000741664 -0.279329 0.0746662 0.159534 -0.0171471 -0.460964 -0.766158 0.173824 0.00842552 -0.171208 0.452533 0.0253403 -0.0861767 0.00760739 -0.0150174 2.16837 0.178131 1.03861 -0.00577518 0.641255 0.0199956 -1.13494 -0.0481686 0.571949 -0.515113 -0.211397 -0.0785652 -0.112902 -0.175813 -4.04527 0.0182843 -0.0262134 0.031107 -2.13028 -0.172845 0.140646 0.268701 0.0183706 -0.160157 -1.74794 1.502 -0.0200179 0.185481 -0.253616 0.0637612 -0.148126 -0.0234733 0.489169 -0.080583 0.252771 -0.0128817 -0.428171 0.136696 0.182473 -5.4921 1.09968 -3.12084 0.548244 -0.988224 0.600134 0.916285 -1.14174 1.65476 -2.29773 0.00748636 -0.026881 0.108604 -0.388838 1.56087 0 0 0 0 0 0.00440279 -0.109567 0.00248331 0 0 0 0 0.000115874 0 -0.000419159 0 0 0.00016357 0.000312809 -0.00753716 0 -0.000796352 -0.00837291 -0.0506608 0 0 -0.290384 1.41686e-05 0 0.00950947 -0.129964 0 0 -0.0387315 -0.0472552 0 0.0353603 0 -0.0201718 0 0 -0.00287687 0 0 0.203203 0.00229425 0.00594039 0 0.048103 -0.00916299 0 0 0.0756441 0 0.000554801 0.103166 -0.0014923 0 0 0.00104397 -0.00719187 0 -0.0017833 -0.0211467 -0.000512326 -0.747375 -0.00311179 -0.0143167 0 0.00118349 0.0229864 -0.218066 0.0236307 -0.0552099 0 0 0 -0.899158 -0.0574011 0.0170238 -0.0028613 -0.00331667 -0.0433158 0.000338035 -0.000641629 -0.00283815 0.0278166 0 0 0 0 0 0 0.0972266 0 0.134655 0 0 0 0 0.294992 0.711811 0 0 -0.256872 0 -0.047328 0 0.0108355 0 0 0.314505 0 0.107918 0.0572375 -0.24558 0.0374882 0 0 0.161664 0 5.72527 0 2.80508 1.23019 0 0.524632 0.552533 -0.0276722 0 0.025113 0 0 0.0628789 0 2.84369 -0.137368 0 0 -0.021326 0 0 -0.347007 -1.76238 -0.0569088 0 -1.16056 0 -1.27315 0.0529459 -0.0776874 0.175166 -0.142071 0.312931 0.64141 0.00422104 -0.450965 -10.6617 0.149564 0 0 0 0.165635 0.0155648 0 0 0 0 -0.206906 -23.8979 0.695189 -5.27717 -0.418663 0.581531 -2.17403 0.17518 -0.167944 0.193919 -0.412428 0 0 0 0 0 0 +401 0 0.713939 -0.0394151 0.000386315 -0.0576316 0.157569 -0.136752 -0.131715 -0.440663 0.00465292 -0.268624 0.026544 -0.676195 -1.70017e-05 -0.511192 -0.00257244 -1.17482 0.11401 -0.064879 -0.00549888 -0.777487 -0.00926832 0.277755 1.36337e-05 -0.0454575 0.201107 -0.533154 -0.0139554 0.495305 0.825494 -0.371127 0.000323372 -0.106373 -0.0946399 -0.0446533 0.204967 0.000972984 -0.00428387 -2.30815 -0.0083574 -0.842063 -0.000468534 -0.0576103 0.000258634 -0.012024 -0.0108683 -0.750867 0.534108 -0.188415 -0.00181544 0.0617981 -0.189516 2.41656 0.00957295 -0.00139283 -0.0203113 -0.624478 -0.0777442 0.032154 0.0841007 0.00101207 0.397669 0.368215 -0.677641 0.0163758 0.169626 0.467252 0.0524306 0.00666503 -0.000614119 -0.161379 -0.204482 0.0250518 0.00609525 0.0697368 -0.156954 0.208939 6.13885 -0.569769 3.95168 -0.167543 -0.0845016 2.66775 0.0601523 -0.273606 0.609019 0.287988 0.000116729 -0.000155047 -5.66304e-05 0.0185507 -0.664815 0 0 0 0 0 0.000386315 -0.0576316 -0.000369281 0 0 0 0 -2.93546e-05 0 0.00724873 0 0 0.000504991 0.000273004 0.00100731 0 0.000114982 0.00149951 0.0499518 0 0 0.116205 1.88933e-05 0 -0.000661096 0.24975 0 0 0.0157863 0.0339594 0 -0.0255726 0 0.00405662 0 0 0.000502305 0 0 0.00693795 -0.000402176 0.00774367 0 -0.00315861 0.00817346 0 0 -0.0414475 0 -0.00141978 -0.0498543 0.00209985 0 0 -0.000788086 0.000194946 0 -0.00179072 0.0394709 0.00122282 0.279551 0.00711702 0.018113 0 -0.00365462 -0.00878213 0.060731 0.0018746 0.0595895 0 0 0 -0.122761 -0.0110078 -0.0564684 -0.0068428 0.00628159 0.0254032 -0.000527766 0.000513001 -0.000915445 -0.0202983 0 0 0 0 0 0 0.157569 0 -0.136752 0 0 0 0 0.058406 0.409639 0 0 0.0496839 0 -0.00572969 0 0.00412288 0 0 0.159868 0 0.736383 -0.0531342 -0.0621127 0.00322033 0 0 0.0806375 0 3.38195 0 -0.837409 -0.519037 0 -0.323359 0.656229 -0.00819985 0 0.000173841 0 0 0.0307584 0 -0.317773 0.785046 0 0 0.0602092 0 0 0.0314282 -0.524758 0.0885225 0 0.0416367 0 -0.256234 -0.0266487 0.0271564 0.0753029 0.0413925 0.581767 0.11757 0.00512909 -0.524359 -6.02713 0.0288598 0 0 0 0.0926248 -0.0217151 0 0 0 0 -0.120411 -8.02844 -0.450451 -0.565941 0.191376 -0.0316044 -0.162794 0.0791999 -0.0708374 0.012392 0.176591 0 0 0 0 0 0 +402 0 -0.423442 -0.205751 0.000134275 0.0139073 -0.195681 -0.130158 0.294874 1.37677 -0.000321506 -0.265593 -0.0180842 0.549431 -5.49354e-07 1.95023 -0.00199018 0.052994 0.475871 -0.053942 -0.00280134 2.36667 -0.000861194 0.274175 4.88116e-07 -0.0148586 0.39979 -0.0275661 0.00139938 0.229515 -0.422997 0.401522 5.93841e-06 -0.0862809 0.622813 -0.05529 0.214945 -0.000693954 -0.0240934 2.66014 -0.0243955 0.88902 -3.30432e-05 -0.363597 -0.00102573 2.80184 -0.0019028 0.138753 0.00582824 -0.124839 0.00189169 -1.95038 0.0380432 -4.33359 0.00225516 -0.00133733 -0.00936992 -0.908337 0.000249336 0.059624 0.0200519 4.57873e-05 0.411392 -1.59532 -0.728926 -2.17826 0.474554 -0.483317 0.182271 -0.175786 3.86688e-05 0.223132 -0.0802651 -0.0381251 -0.00680176 -2.00966 -0.016489 -0.059527 -7.98584 0.747939 -4.45463 -0.262337 0.379154 -2.10743 0.137273 -0.22649 0.639573 -2.51583 2.04367e-05 9.60054e-05 0.00303778 0.0020423 0.340662 0 0 0 0 0 0.000134275 0.0139073 -0.000500693 0 0 0 0 -1.24038e-05 0 0.000649376 0 0 -0.000399752 -0.000133846 0.000179758 0 2.1618e-05 -0.000355347 0.00589972 0 0 0.00746042 -9.30267e-06 0 0.000181014 -0.0203814 0 0 0.000729547 -0.0072899 0 0.00293805 0 0.000255388 0 0 2.67459e-05 0 0 0.00550603 -0.000178106 -0.00594751 0 -0.00743363 0.000700778 0 0 0.00175603 0 -0.00104986 -0.0129054 0.000653976 0 0 0.00081581 0.000827484 0 -0.00224788 -0.00479179 -0.000864029 -0.00991997 -0.00170193 0.00104157 0 -0.000646961 -0.00231061 0.0021887 -0.000795511 -0.00487185 0 0 0 0.136592 0.0186849 0.00954306 -0.000286484 0.00207058 -0.00441067 0.000480376 -0.000453045 0.000686148 -0.00135421 0 0 0 0 0 0 -0.195681 0 -0.130158 0 0 0 0 0.686197 -0.657021 0 0 -0.308119 0 -0.0239605 0 -0.0172575 0 0 0.537806 0 0.846954 0.230584 -0.113724 0.0848315 0 0 -0.28182 0 4.72398 0 4.34367 0.464092 0 1.59092 1.83578 -0.00757228 0 0.0965186 0 0 -0.0472328 0 1.4558 1.12279 0 0 0.159417 0 0 -0.216128 -2.22308 -1.09611 0 -2.38838 0 -1.26581 -0.174478 0.330045 -0.0575367 0.00735397 -0.0928408 0.178355 -0.102116 -0.291579 -11.159 -0.01418 0 0 0 -0.119496 0.0579531 0 0 0 0 0.0331591 -31.8592 2.25221 -11.3892 -0.0799396 0.365627 -2.49594 0.10465 -0.144268 0.284474 -1.11272 0 0 0 0 0 0 +403 0 -0.538312 -0.329146 -0.00548801 -0.145442 0.0625674 0.129067 0.350701 0.946747 -0.0340772 -0.654875 -0.0944315 0.512542 3.28255e-05 1.57098 -0.00376869 -0.425505 0.135873 -0.253751 -0.00178126 2.88326 -0.0378907 0.132358 -4.43297e-05 -0.180067 0.0667811 -0.275985 -0.0127386 -0.279673 0.0704116 0.261601 -0.00128944 -0.074312 0.250707 -0.157149 -0.117473 -0.00335214 0.0450088 1.56185 -0.121714 1.60574 0.000985406 0.0497799 -0.00353928 2.50912 0.0299381 0.789863 -0.0492502 -0.0206635 0.00607878 -0.0241976 -0.181665 -2.52091 0.00267692 -0.000730562 0.0296843 -3.38629 -0.291617 -0.0453205 0.166144 -0.0015354 1.11619 -2.29179 1.39809 -0.619821 0.212605 0.00864193 0.755256 -0.160043 0.00167694 0.102751 0.112582 -0.0141891 -0.0624717 -2.81678 0.0967042 -0.520025 -5.62064 1.60826 -4.72599 0.905057 -1.07378 -0.222501 0.856593 -0.98074 1.4233 -2.28173 -0.000321546 0.00120435 -0.0124335 0.0503065 -0.0567062 0 0 0 0 0 -0.00548801 -0.145442 0.00213318 0 0 0 0 7.76291e-05 0 0.00361331 0 0 -0.000911609 -0.000668416 -4.92678e-05 0 0.000133432 0.000242263 -0.00452846 0 0 -0.195541 -4.72696e-05 0 -0.00175886 0.0196065 0 0 -0.0229681 -0.00168849 0 -0.0159936 0 -0.00701081 0 0 -0.000799685 0 0 -0.0230075 0.00112761 -0.0122026 0 0.0332003 -0.0136786 0 0 0.0246943 0 0.00348766 0.0278611 -0.00479987 0 0 0.00218018 -0.0042476 0 0.00102124 -0.0320933 -0.00495543 -0.196002 -0.00960958 -0.00142652 0 0.00379566 0.00881188 -0.0380216 0.00849549 -0.0104964 0 0 0 -0.18201 -0.017487 -0.00370533 0.00702986 -0.0105379 -0.00541715 0.00130126 -0.00164466 0.00155056 0.00495987 0 0 0 0 0 0 0.0625674 0 0.129067 0 0 0 0 0.108087 0.531685 0 0 0.00981078 0 -0.024052 0 0.0162714 0 0 0.315798 0 0.366716 0.0546169 -0.0211344 0.0371925 0 0 0.218321 0 3.31034 0 3.3388 0.981556 0 0.375489 0.869998 -0.0120181 0 0.0171294 0 0 0.0464132 0 2.11124 0.188079 0 0 0.0334052 0 0 -0.359237 -0.595936 -0.156863 0 -1.3329 0 -1.18183 -0.0728397 0.0114015 0.293515 -0.202955 0.23931 0.508438 0.153099 -0.527955 -10.6934 0.170893 0 0 0 0.0949829 -0.0357319 0 0 0 0 -0.11425 -29.2532 -0.0999146 -5.70373 -0.073349 0.205957 -2.10744 0.261855 -0.215916 0.0471738 -0.270671 0 0 0 0 0 0 +404 0 0 0 0 0 0.161461 -0.422499 0.669863 1.42924 0 0 -0.366387 -1.76548 0 -3.30335 -0.0307054 0 0 0 -0.0360551 -3.03368 0 0 0 0 0.433658 0 0 0.697222 3.0286 -0.83383 0 -0.514299 0 0 0.236253 -0.0239145 0 0 -0.32934 -1.64335 0 0 0.0579399 -7.81105 0 -1.0539 1.42457 -1.13717 -0.134986 -0.512977 0.101707 0 0.0444242 -0.169771 0.489582 1.30838 0.241643 0.278342 0 0 1.88424 2.10825 0 0.811807 -0.0176973 0.310728 0 0 0 0 0.354719 -0.255719 0 3.58038 -0.903349 0 0 0 -2.36317 0 0.349444 -4.7739 0 -0.150082 -0.499452 -1.91901 0 -0.0370303 -1.00575 3.47333 -11.8493 0 0 0 -0.0277982 -0.00260959 0 0 0 -0.00618161 0.0428878 0 -0.000661155 0 0.000688597 0.000849492 0 0 0 0 -0.0252827 0 0.000850196 0 -0.0499226 0 -0.0231065 0.282015 0 -0.000967364 0 0 -0.0760152 0.00145584 0.0149014 0 0.00281254 0 0.00306485 0.0841263 -0.0107695 0.0201347 0.00323223 0 5.01217e-05 0 0 0 0.000200846 0 0 -0.00147763 0.00098233 -0.120082 -0.00436577 0 0 -0.00537073 0 -0.00658187 0 0 0.0172706 0.00597032 0.0268994 0.00727685 0 0 0.0035498 -0.000191396 -0.00202433 -0.0439923 -0.0893032 0 0.0474749 -0.000307986 0.0586469 0 0 0 0.196815 0 -0.0263138 0.0773419 0 0.00189712 -0.00746252 0.026751 0 -0.00141532 0.00712796 -0.0182851 0.0408769 0 0.161461 -0.0277982 -0.422499 -0.00260959 0.0540513 -0.1285 -0.0400966 -0.106282 -0.730454 0.00234075 -0.00111618 0.0218587 0.000106741 0.00407434 -0.00202598 -0.0124982 -0.0144351 0.0522217 -1.08167 -1.13734 -0.368445 -0.0141736 0.0723337 -0.266995 -0.262551 0.135529 -0.401585 -0.0441205 -5.43583 -0.232574 -1.36794 -1.22913 -8.98457e-05 0.0938317 -0.742741 0.00458207 -0.00287484 -0.0293348 -0.0326204 0.894157 -0.0211253 0.0204829 -2.65703 -3.39351 0.0033005 -0.0167584 -0.74095 -0.239835 -0.162663 2.21162 4.1027 -0.0135106 0.0619472 2.6196 0.00720534 1.69458 -0.00739467 0.158982 -0.0732915 -0.283459 2.02987 -0.199443 0.308124 -0.596999 -5.66389 0.365603 0.951826 0.108981 -0.169424 -0.201096 -0.0179285 0.0613698 -0.00569782 -0.0100185 -0.0307604 0.0504305 14.6308 -0.221192 1.73298 -0.267156 1.49564 -4.61221 0.00378808 0.227206 -0.521278 -1.19307 -0.000924686 0.0687834 -0.288506 0.460241 -1.61435 0 +405 0 0 0 0 0 -0.513384 -0.459992 0.657604 2.19988 0 0 -0.145677 -1.62585 0 -2.11043 -0.00998071 0 0 0 0.00321456 -5.01246 0 0 0 0 0.502182 0 0 0.337818 1.92661 -0.711038 0 -0.138673 0 0 0.256371 -0.0118543 0 0 -0.406059 -2.27394 0 0 -0.100782 -5.6697 0 -1.33936 0.427237 -0.288791 0.182447 -2.23034 0.368994 0 0.0146366 -0.09481 0.503528 3.2695 0.0917678 -0.147068 0 0 1.19261 5.42608 0 -0.211374 0.83715 -0.0058111 0 0 0 0 0.247927 -0.252887 0 3.97221 -0.761737 0 0 0 -4.63645 0 0.948275 -4.68921 0 0.303773 -0.308438 -6.06797 0 0.318907 -0.544413 1.29895 -7.26415 0 0 0 0.0279426 0.00207675 0 0 0 0.00884776 0.0115702 0 0.000351632 0 -0.000186591 0.00292995 0 0 0 0 0.0522392 0 0.00204544 0 0.0648111 0 0.056837 0.0774688 0 -7.86343e-05 0 0 0.00997073 -0.000278602 0.00730449 0 0.000939792 0 0.00081942 0.00534726 -0.00053963 -0.00345283 0.00127265 0 -1.43519e-05 0 0 0 6.69743e-05 0 0 0.000916193 -0.000752816 0.0263688 -0.00802174 0 0 0.00214663 0 -0.00221042 0 0 0.00602495 -0.00264752 -0.0446691 0.00978861 0 0 -0.0241605 -0.0197454 -0.00202835 -0.0481812 -0.0804712 0 0.00391973 0.00422852 -0.0192956 0 0 0 -0.146224 0 0.0110957 -0.0565796 0 -0.000830445 0.00417843 -0.0352717 0 0.000364875 -0.00150304 0.00571873 0.00406783 0 -0.513384 0.0279426 -0.459992 0.00207675 -0.263019 -0.147631 0.0485431 0.922882 0.233071 0.000296116 -0.00444654 0.122262 2.52508e-05 0.0044165 0.00183849 0.00368732 -0.0325247 0.0001781 -1.01413 -0.942154 0.212684 0.390663 0.0375224 -0.165796 -0.136967 0.272835 0.0477084 -0.0129567 -0.311857 -0.0267021 1.05714 -0.772671 6.94196e-05 2.31426 0.532327 0.00181646 -0.00337934 0.168927 -0.0226453 1.38964 0.0131484 0.0518653 -0.693863 -2.9962 -0.00462126 -0.0111436 -0.417712 -0.106852 0.190265 0.250697 2.06129 -1.19008 0.0224706 1.94513 -0.00799657 -1.61021 -0.00207633 0.198871 0.0746217 -0.345726 0.3219 0.0943295 0.0945079 -0.0122271 0.830257 0.096571 -0.797954 -0.0392172 -0.462212 0.062834 0.0141404 0.0415526 -0.00110183 -0.00153698 0.135548 -0.0328339 -11.3065 -0.573223 -13.4068 -0.0103117 0.0106157 -7.24453 -0.00106887 -0.0194571 -0.357088 -3.15951 -3.1536e-06 -0.00382365 -0.201429 0.149722 -1.71729 0 +406 0 0 0 0 0 -0.0204602 0.143657 -0.233124 -1.72191 0 0 0.0764633 0.899719 0 2.78033 0.0367757 0 0 0 0.228919 1.85515 0 0 0 0 -0.258942 0 0 -0.30451 -4.45935 0.443846 0 0.475551 0 0 0.018996 -0.000820358 0 0 0.309109 -0.365198 0 0 0.00745808 6.27961 0 -0.328626 -1.19761 1.63959 -0.328373 -0.550249 -0.477967 0 -0.157077 0.32932 -0.584282 -1.45918 -0.149206 -0.033631 0 0 0.594878 0.0543098 0 -0.768602 -0.377847 -0.178735 0 0 0 0 -0.298599 0.567578 0 -3.87887 -0.745706 0 0 0 3.60923 0 -1.31638 10.5262 0 -0.273899 0.382128 8.61824 0 -0.000309033 1.78828 -3.75493 17.2714 0 0 0 -0.101275 -0.00711938 0 0 0 -0.017117 0.0782877 0 -0.00141322 0 0.000706033 0.0038748 0 0 0 0 0.00671607 0 0.00360402 0 -0.0256534 0 -0.108663 0.434644 0 -0.00170457 0 0 -0.114196 0.00152144 0.0249335 0 0.00528455 0 0.0055949 0.100801 -0.017403 0.0208267 0.00396032 0 5.21771e-05 0 0 0 0.000377454 0 0 -0.00333227 0.0017701 -0.165216 -0.00606031 0 0 -0.00704428 0 -0.0111303 0 0 0.0371075 0.0122604 -0.0250511 0.0176064 0 0 -0.000161465 0.00512134 0.00543892 -0.0684014 -0.119834 0 0.0787953 -0.00152568 -0.0113485 0 0 0 0.241357 0 -0.0349406 0.112794 0 0.00287569 -0.00965843 0.0320089 0 -0.00180924 0.00957275 -0.024088 0.0556877 0 -0.0204602 -0.101275 0.143657 -0.00711938 0.297664 0.186343 -0.107526 -0.111491 0.205793 0.00343844 0.0104543 0.0926252 0.00016623 0.00627539 -0.00513212 0.00112259 0.0450499 0.0714641 -0.293956 1.28186 0.395959 -0.126627 0.125251 -0.0488161 0.359197 -0.19366 0.0500476 0.0248971 6.92621 -0.0395756 2.20883 0.554476 -0.000223697 -0.235136 0.899207 0.0068115 -0.000518708 -0.0490238 -0.00431472 -0.85283 0.00802033 -0.0403588 1.86516 1.00893 0.00330995 -5.46697e-06 0.0519731 0.170744 0.165749 -1.00137 2.86874 -0.908732 -0.0523846 -0.593703 0.0159325 0.3235 -0.00749622 0.0806758 0.575975 0.0674253 -0.0995589 -0.252296 -0.0627401 0.787533 3.63349 0.132831 -0.422472 0.120347 0.0886197 0.327031 -0.00910476 -0.0522968 -0.00905299 0.0736276 -0.108301 0.0242291 -23.6243 -0.326923 -4.14279 -0.401726 0.214572 2.69893 0.00462867 -0.250392 0.438217 0.379289 -0.00126541 -0.123225 0.227773 -0.275943 1.32841 0 +407 0 -0.1132 -0.397762 0.00714939 0.108344 -0.0853291 -0.0346355 -0.414278 0.0250028 0.0353997 -0.212607 0.10758 0.144 -9.86223e-05 1.28849 0.00829551 -2.33328 -8.97365 -0.0488615 0.0116129 0.254883 0.0038189 0.0624605 0.000108607 0.0267106 0.000488954 -0.616889 -0.00224189 -0.0513897 -0.587024 0.293368 0.00209411 0.189911 0.222374 -0.050643 -0.111079 0.00517181 -0.0387406 1.12861 0.14772 0.119143 -0.00205406 -0.260117 0.00678838 1.33269 -0.0421454 0.186653 -0.245229 0.256532 -0.0144937 -0.614988 -0.178248 4.16025 -0.0142814 0.00233019 0.014926 -1.26454 -0.228458 -0.194991 -0.0332055 0.003662 0.358596 0.841092 1.41278 -1.36702 0.258103 -0.195376 0.31551 -0.152836 -0.00178733 0.327743 0.0175956 0.0385262 0.0296468 -1.85692 -0.0982745 0.289031 -3.67046 0.394575 -1.45543 -0.135201 0.28789 -1.97774 0.163049 -0.515062 0.891603 -1.78875 0.00109164 -0.00358343 0.012959 -0.04204 0.149218 0 0 0 0 0 0.00714939 0.108344 0.00145639 0 0 0 0 3.81305e-05 0 -0.00091314 0 0 0.000279676 6.53993e-05 0.00160336 0 0.000116285 0.00889305 0.0154374 0 0 0.0788939 4.58005e-06 0 0.000571984 0.667876 0 0 0.00483693 0.0963781 0 0.0113153 0 0.00473757 0 0 0.000237711 0 0 0.106945 0.000533652 0.00398484 0 0.0203923 0.00925535 0 0 -0.00607093 0 0.000442283 -0.00924645 -7.13453e-05 0 0 0.000149859 -0.00315923 0 0.000497149 0.0225763 -0.00284585 -0.192939 -0.00136822 0.00359927 0 0.00445028 -0.0170525 0.0350038 -0.00324608 -0.0253049 0 0 0 -0.117831 -0.00486132 -0.0259801 -0.000296717 0.00143336 -0.0511551 -0.000185921 0.0002594 -0.000549611 -0.00856608 0 0 0 0 0 0 -0.0853291 0 -0.0346355 0 0 0 0 0.249189 0.199422 0 0 -0.245345 0 -0.0278473 0 0.00517473 0 0 0.0416711 0 0.802044 0.12142 -0.014028 0.0601308 0 0 0.146316 0 -5.42548 0 3.28874 0.0385391 0 0.815112 1.51441 -0.0015406 0 0.0442339 0 0 -5.14173e-05 0 -0.885113 -0.363029 0 0 0.0732723 0 0 -0.180753 -3.60603 -0.655318 0 0.673856 0 -2.01573 0.122511 0.0156689 0.714073 -0.179302 -1.06738 0.470659 0.114351 0.295145 7.86662 -0.0199243 0 0 0 0.0826646 0.0243112 0 0 0 0 0.0136105 -30.6841 1.88258 -9.72339 -0.176696 0.319735 -2.34933 0.0683115 -0.0606032 0.18719 -0.650053 0 0 0 0 0 0 +408 0 -0.702167 -0.496947 -0.00527956 -0.0474858 -0.195297 0.141885 -0.279518 -0.161516 -0.0552903 0.185691 0.00471162 0.0312999 8.1743e-05 -0.53022 -0.000762248 -1.23294 -6.06249 0.0496176 -0.000660458 0.446175 -0.0148994 0.451095 -0.000129304 -0.0247781 -0.148712 -0.226365 -0.00675736 -0.393902 -0.0995357 0.151542 -0.00277158 -0.00957762 1.45404 0.0973903 -0.226213 -0.000498136 -0.106545 5.47264 -0.0118858 0.996752 0.00152067 -0.38704 -0.00170827 -1.35513 0.0256182 0.951423 -0.189772 0.00478117 0.00323614 0.0569385 0.0822318 6.22228 -0.00287013 -0.00656461 0.0183948 0.16992 -0.0663388 0.0763833 0.0484209 -0.00260136 -0.824766 -1.54247 -1.75115 -0.713228 -0.0183193 0.283938 0.343424 -0.0320348 0.0056304 0.38827 -0.105448 0.0122551 0.116142 -0.397598 -0.05881 0.187212 -25.1166 -0.0595211 -5.61383 -0.72897 1.52631 -6.83267 -0.031399 0.209728 -0.259443 -0.480223 -0.000663555 0.00116924 -0.00196692 -0.00243419 0.0253014 0 0 0 0 0 -0.00527956 -0.0474858 -0.000190964 0 0 0 0 -5.49611e-06 0 -0.00151304 0 0 5.15475e-05 -3.84785e-06 -0.0014499 0 -0.000148174 -0.00682153 -0.0131102 0 0 -0.0750272 -3.65947e-07 0 -0.000371463 -0.406329 0 0 -0.00365704 -0.0531241 0 -0.0167119 0 -0.00498892 0 0 -0.000263765 0 0 -0.100128 -7.71513e-05 0.000816996 0 -0.00267473 -0.00128269 0 0 -0.000805912 0 7.88978e-05 0.00140372 -0.000107135 0 0 -0.000171495 0.000488943 0 0.00118853 -0.00126265 0.000415666 0.0508456 0.00122605 -0.0147847 0 -0.000762315 0.0152841 -0.00936407 0.000365448 -0.0120189 0 0 0 0.193875 -0.00221279 0.0156522 0.00167206 -0.00208394 0.0163323 -9.36285e-05 0.000101893 -9.23556e-05 0.00967924 0 0 0 0 0 0 -0.195297 0 0.141885 0 0 0 0 -0.252672 0.0902411 0 0 0.179901 0 0.015419 0 0.00400749 0 0 -0.203916 0 0.00256779 -0.00467866 0.0494287 -0.0200909 0 0 0.0734625 0 -3.52492 0 3.62018 0.00537351 0 -0.04363 0.44955 0.00215978 0 -0.0374408 0 0 -0.00372488 0 -1.03754 -0.121548 0 0 -0.013685 0 0 -0.130974 -4.74002 0.13189 0 0.330541 0 -1.06228 0.0353851 -0.0799011 -0.0612591 -0.138569 -0.00127824 -0.0317663 0.0459474 -0.574683 -2.55944 0.0899198 0 0 0 0.0951401 -0.027795 0 0 0 0 -0.0354147 -26.6819 -2.22954 -1.82762 -1.0212 0.818024 -2.37829 -0.111147 0.0983523 -0.150495 0.101239 0 0 0 0 0 0 +409 0 0.215731 -0.288194 0.00404389 0.0313149 0.0591196 -0.0788602 -0.822161 -1.445 0.000723586 0.0758606 0.0330421 -1.3589 -8.90555e-05 -2.37701 0.000755096 -2.16355 -4.82734 -0.00687458 0.00370364 -3.17948 0.0125104 0.171405 6.21103e-05 0.0523099 -0.281528 -0.822709 0.0157916 0.239552 -0.159183 -0.649862 0.000861283 0.0215191 0.0086879 0.0520369 -0.109567 0.0017654 0.205466 -1.21717 0.112581 -1.31297 -0.00204697 0.968225 0.00492762 -4.59111 -0.0476303 -0.59065 -0.0080335 0.133404 -0.0144942 1.03598 0.14038 4.75575 -0.0187563 -0.011836 0.0717241 2.02223 0.00769777 0.172161 -0.170977 0.00359652 -1.8048 0.751221 1.98338 0.547657 -0.386444 -1.16992 0.00773305 0.15933 0.000508073 -0.272132 0.284531 0.0493043 -0.263555 2.49716 -0.297696 -0.457318 7.23516 -1.11457 7.25718 0.216601 -0.176876 1.77963 0.08115 -0.0351938 -0.171421 1.38503 0.00123371 -0.00334573 0.00811524 -0.0206176 0.0404634 0 0 0 0 0 0.00404389 0.0313149 0.0032495 0 0 0 0 8.56858e-05 0 -0.00265526 0 0 0.000327065 8.98435e-05 0.00145152 0 7.4389e-05 0.00680692 0.0122515 0 0 0.0158498 6.23191e-06 0 0.00113 0.649246 0 0 -0.00474315 0.0757016 0 0.0278063 0 0.00200327 0 0 -0.000110475 0 0 0.134456 0.00119948 0.00470353 0 0.0455052 0.0213747 0 0 -0.034756 0 0.00106002 -0.0191614 -0.00105798 0 0 0.000122831 -0.00671297 0 0.000751873 0.00965118 -0.00586972 -0.21072 -0.00133689 0.00708318 0 0.0103054 -0.00555238 0.0212961 0.000493178 -0.0075444 0 0 0 -0.0880555 -0.00728476 -0.00783131 -0.00195234 0.00470516 -0.0416241 -0.000236531 0.000321169 -0.000642482 -0.0121042 0 0 0 0 0 0 0.0591196 0 -0.0788602 0 0 0 0 -0.0668143 0.303343 0 0 -0.117614 0 -0.0245087 0 -0.000499389 0 0 -0.144647 0 0.46682 -0.0364165 -0.057023 -0.012498 0 0 0.0594672 0 -4.77577 0 -0.593204 -0.732843 0 -0.288292 0.327129 -0.00830889 0 -0.00903204 0 0 0.0210121 0 -2.08847 -0.228822 0 0 -0.0207337 0 0 -0.252681 -3.02547 0.440394 0 -1.56446 0 -0.641234 0.0704284 -0.0902583 -0.076878 -0.110969 0.0878855 0.364348 0.00917987 0.604057 -1.2513 0.0234128 0 0 0 0.10895 0.0141247 0 0 0 0 -0.03592 -2.97516 0.226864 1.2781 -0.0842449 0.277898 -0.358307 0.0316653 -0.0100391 0.0162371 0.223219 0 0 0 0 0 0 +410 0 -0.429844 -0.148969 -0.0177552 -0.195569 0.0817677 0.161411 -0.152816 -0.606639 -0.157545 0.0174428 0.242405 -0.810866 0.00124396 -0.331491 0.0302227 -0.971445 -7.38923 -0.00843912 0.0474528 -2.39637 -0.0324551 -0.246618 -0.00121999 -0.0608263 -0.470636 -0.0584864 -0.0096498 -0.735417 -1.81981 -0.0637538 -0.0143376 0.482145 -0.409547 0.0674861 -0.26075 0.0111817 -0.139588 -0.924704 0.000459699 -0.255162 0.0162918 -0.785617 -0.0110203 -2.77733 0.202285 0.462416 -1.26328 0.71122 0.0581676 0.399952 0.231419 0.984203 -0.0667544 0.11763 -0.392718 3.02156 -0.0721141 -0.046624 0.0265104 -0.0541749 -1.93109 0.799186 1.77326 1.82169 0.532965 -0.668913 0.194656 -0.402235 0.0302306 0.333408 0.0381127 0.238815 0.0593386 2.39719 1.01144 0.109635 4.18259 -1.38414 4.16545 -0.140691 -1.33488 6.93241 0.389341 -0.484567 -0.0484856 2.78952 -0.090543 0.130983 0.0101704 -1.18019 7.14496 0 0 0 0 0 -0.0177552 -0.195569 0.00241518 0 0 0 0 0.000376355 0 -0.0161989 0 0 0.00324003 0.00315203 -0.00926765 0 -0.00152478 0.00254334 -0.108345 0 0 -0.0567829 0.000227282 0 -0.000717187 -0.154012 0 0 -0.00621587 0.0127262 0 -0.0573187 0 -0.00757832 0 0 -0.00102705 0 0 -0.248616 0.00527794 0.0451636 0 0.0338656 0.00660541 0 0 0.0134439 0 -0.000585126 -0.0306309 0.00670092 0 0 -0.0020044 -0.00754459 0 0.00257447 0.0356316 -0.000881255 -0.0650033 0.00129459 0.00395708 0 0.00382607 -0.0222017 0.0754009 -0.0336034 -0.0121834 0 0 0 1.18458 -0.107786 0.277836 0.0312851 -0.054422 0.104176 -0.00301664 0.00495975 -0.010389 0.0260001 0 0 0 0 0 0 0.0817677 0 0.161411 0 0 0 0 0.280019 -0.114953 0 0 -0.111881 0 -0.0148464 0 0.00997331 0 0 -0.631701 0 -0.450802 0.0763487 -0.113452 -0.0652515 0 0 0.255186 0 -5.27451 0 0.284305 -0.0629979 0 0.489705 -0.353514 -0.0129458 0 0.0351208 0 0 -0.031945 0 -0.877835 -1.08215 0 0 -0.100645 0 0 0.000277228 0.458279 -0.12661 0 0.443817 0 -0.442793 0.0817301 -0.00124347 0.476107 0.00442 -0.172858 0.351228 -0.0441966 -0.178605 1.38296 0.0192623 0 0 0 0.0476117 0.057673 0 0 0 0 -0.0202327 -6.75619 0.877269 -3.8808 -0.315641 0.301503 -0.567155 0.088805 -0.0767688 0.135453 -0.409584 0 0 0 0 0 0 +411 0 -1.00227 -0.454213 -0.000572768 -0.0122429 -0.178193 0.0224241 -0.584205 0.254935 -0.00786275 -0.374001 -0.0461359 1.12246 0.000105032 2.74699 0.00432712 -1.92748 -6.70616 -0.143876 0.0145812 5.30593 -0.00538244 0.330031 -0.000263065 -0.0517821 0.217723 -0.626255 0.0107463 0.189695 0.582621 0.635743 -0.0022223 0.106678 0.816438 -0.113128 -0.0460187 -0.00372184 0.166033 3.26077 -0.163746 2.5989 0.00113218 0.0494019 -0.013009 4.5665 0.00891497 1.13175 0.224784 0.294804 0.0455675 0.697414 -0.351187 4.0688 -0.0480845 0.0637156 -0.284146 -1.0665 -0.266773 -0.243553 0.0929385 -0.00258331 -0.058322 -5.76772 -0.469017 -1.85321 -0.198791 0.343551 0.77611 0.0958103 0.00224627 0.293184 -0.183981 -0.266589 -0.219225 -3.51177 1.01704 -0.30215 -13.6371 1.2741 -3.04637 0.250186 0.663831 -4.33984 0.137195 -0.218946 0.763102 -0.662853 -0.00399035 0.0424236 -0.147892 0.699004 -2.28749 0 0 0 0 0 -0.000572768 -0.0122429 0.0013832 0 0 0 0 0.000233102 0 -0.00563371 0 0 0.00021304 -0.000441356 -6.23395e-05 0 -0.000362274 -0.000972002 -0.0049409 0 0 0.212688 -3.76226e-05 0 0.018234 0.335564 0 0 0.0312005 0.00131485 0 0.111062 0 0.00993418 0 0 0.00140741 0 0 0.273619 0.00326104 0.00431728 0 0.0194289 0.0293252 0 0 -0.142293 0 -0.00261144 0.13325 0.00530356 0 0 0.000123613 -0.00437885 0 0.0134666 0.0199628 -0.00593936 -0.319766 0.00294566 -0.0210652 0 0.00351713 -0.0128472 -0.0609992 -0.0180322 -0.0158933 0 0 0 -1.32783 0.0613357 -0.1712 -0.0233521 0.0551125 -0.136875 -0.000210197 -0.000765136 0.00328331 -0.00805303 0 0 0 0 0 0 -0.178193 0 0.0224241 0 0 0 0 0.353177 -0.312161 0 0 9.04847e-05 0 -0.00786318 0 -0.0172724 0 0 0.741893 0 1.12597 0.145659 0.0103939 0.138376 0 0 -0.132151 0 -3.36062 0 7.32253 0.278508 0 0.922608 2.71981 0.00146308 0 0.0559815 0 0 -0.0463139 0 -0.36784 1.22434 0 0 0.24698 0 0 -0.28906 -6.04687 -0.195493 0 -0.36262 0 -1.4814 -0.0290954 0.0159716 0.319899 -0.185688 0.0556119 0.118033 0.0723306 -0.332661 0.503984 0.126622 0 0 0 0.114245 0.0108935 0 0 0 0 -0.036632 -71.6008 -1.96918 -12.3408 -1.48667 1.37673 -4.80758 -0.0544049 0.0485572 -0.00998656 -0.617428 0 0 0 0 0 0 +412 0 0.291005 0.342907 -0.0438231 -0.423026 0.373597 0.279568 -0.545173 -2.49165 -0.389314 0.875763 -0.332086 0.0174419 0.00315742 -1.79371 -0.036829 1.53325 5.65197 0.109035 -0.0480371 2.59434 -0.0336684 -0.168419 -0.00327404 0.00626055 -0.564289 0.482604 -0.00695393 -0.0301514 2.52218 -0.220515 -0.0373129 -0.498521 -0.543974 -0.000680298 -0.20516 -0.032652 0.121233 -2.33497 -1.02523 1.3936 0.0395534 -0.112475 -0.0974964 -1.07861 0.45666 0.697369 0.663182 -0.753484 0.402036 -0.501145 0.630125 2.27161 0.146961 -0.189007 0.15958 0.867122 0.439426 0.160901 -0.337625 -0.126373 -0.10969 -0.410453 0.0515461 0.6063 0.169213 -0.315652 -0.47946 -0.104739 0.0801632 -0.594204 0.268772 -0.875553 0.0472092 2.75054 0.515386 0.686058 11.11 -2.40814 9.13881 0.0960534 1.5941 -1.87567 -0.303766 0.708245 -1.68188 2.0812 -0.204401 0.525375 -1.46094 3.64707 -9.9026 0 0 0 0 0 -0.0438231 -0.423026 0.00679595 0 0 0 0 0.00110157 0 -0.0329096 0 0 0.00444932 0.00448358 -0.0187643 0 -0.0035311 0.00859693 -0.184734 0 0 -0.0491511 0.000326525 0 0.020095 0.565502 0 0 -0.0114715 0.102028 0 0.00880042 0 -0.0132026 0 0 -0.00219102 0 0 -0.208427 0.0154388 0.0615438 0 0.0952359 0.0436004 0 0 0.0103582 0 0.000223869 0.0174763 0.00311159 0 0 -0.00662045 -0.014272 0 0.00832552 0.0113912 0.000306056 -0.178804 0.0230961 0.0012777 0 0.0232945 -0.0200274 -0.0242137 0.0161534 -0.0456775 0 0 0 1.80786 -0.187351 0.501094 0.0460885 -0.080878 0.145616 -0.0050741 0.00848863 -0.0170576 0.0439508 0 0 0 0 0 0 0.373597 0 0.279568 0 0 0 0 -0.593883 -0.25711 0 0 0.701512 0 0.0745941 0 0.00773231 0 0 0.837124 0 -0.877924 -0.240617 0.160414 0.0579155 0 0 -0.132474 0 6.00294 0 -2.63383 0.105249 0 -1.64554 -1.49449 0.0168787 0 -0.0963388 0 0 0.031825 0 1.06598 2.58513 0 0 0.228951 0 0 0.183614 0.358893 0.329933 0 0.259814 0 -0.320795 0.210809 -0.215172 -1.09786 -0.101819 1.44831 0.320678 0.129911 -0.645681 -4.12462 0.188034 0 0 0 -0.101969 -0.197593 0 0 0 0 -0.0300184 24.1794 -5.94144 15.3832 -1.56742 1.19656 1.23095 -0.49062 0.421041 -0.49809 1.17336 0 0 0 0 0 0 +413 0 0 0 0 0 -0.0228797 0.321832 0.340268 0.453276 0 0 -0.0537688 1.09905 0 3.8548 0.0783371 0 0 0 -0.0725027 1.87499 0 0 0 0 -0.18939 0 0 -0.711782 -1.23299 1.12003 0 -0.0867087 0 0 -0.0497169 -0.0152489 0 0 0.186874 1.72274 0 0 -0.117985 3.82603 0 1.21993 -0.715086 -0.896884 0.307087 1.80627 0.36303 0 0.525657 0.376852 -1.21631 -5.07272 0.418572 0.26989 0 0 0.804689 -2.57192 0 -0.571518 -0.365534 -0.970028 0 0 0 0 0.503822 -0.9334 0 -4.30269 2.77701 0 0 0 -0.435738 0 -0.332929 1.22055 0 -0.428137 0.552705 -2.22993 0 -0.588482 0.34232 -2.36341 7.89383 0 0 0 -0.108952 -0.0050937 0 0 0 0.0937307 -0.0242255 0 0.0192539 0 0.0179813 0.0805791 0 0 0 0 0.108508 0 0.023331 0 0.503656 0 0.36692 -0.52143 0 0.000713473 0 0 0.104089 0.00374495 -0.0845998 0 -0.00630362 0 -0.00194675 -0.308285 0.0223779 0.0693197 -0.0705453 0 0.00107961 0 0 0 -0.000679967 0 0 -0.0113037 -0.00877344 -0.0870429 0.00707229 0 0 -0.0362801 0 -0.000666785 0 0 0.0142419 -0.00784199 -0.312064 -0.0233591 0 0 0.0820228 0.0601015 0.0613139 0.266148 0.253566 0 -0.0628475 0.0133451 -0.0721032 0 0 0 -1.90279 0 -0.246866 -0.135858 0 -0.0173549 -0.0173615 -0.0518325 0 -0.00325941 -0.00310488 -0.0268402 0.159551 0 -0.0228797 -0.108952 0.321832 -0.0050937 0.111827 -0.00381174 0.219254 0.299884 -1.01855 0.00404589 0.0392547 -0.158956 -0.0053101 -0.103699 0.0547456 -0.0202512 -0.0360083 0.101272 1.09744 -0.216484 0.0630031 0.133314 -0.300079 0.182342 -0.0564995 -0.0179922 -0.561547 -0.0132705 12.2559 0.214968 0.92504 2.74918 0.0160892 0.433103 0.202054 -0.103277 0.00288416 0.055741 0.0205024 -0.282546 -0.0549247 0.00268007 5.89325 2.57077 0.00339504 0.0273774 0.43573 -0.0640479 -0.00681753 -1.24316 2.13013 1.42385 0.0767715 -4.94284 0.0176949 -1.78826 1.13993 -1.35372 0.488431 0.138016 -0.592688 1.98115 -0.292761 3.94761 -15.1353 -0.395907 -0.571896 0.0321243 0.160008 -0.175319 0.355147 -0.0371553 -0.0387021 0.000203671 -0.0992583 0.895028 -3.37011 -0.34929 -1.33798 -0.993951 -0.101535 0.372355 0.0691576 -0.386336 0.329785 -0.535009 -0.17724 -0.118485 0.124692 -0.244826 0.168207 0 +414 0 0 0 0 0 -0.239902 -0.117149 0.496438 2.15189 0 0 -0.561413 -0.265343 0 -0.570866 -0.109954 0 0 0 -0.239901 -1.18864 0 0 0 0 0.329591 0 0 0.146479 2.39529 -0.12373 0 -0.26196 0 0 0.0606356 -0.0815739 0 0 -1.56329 -0.633944 0 0 -0.358439 -1.40969 0 -0.286766 0.791032 -0.375519 0.512984 0.0468724 0.269734 0 0.692571 -0.0348117 0.137157 -1.73225 -0.286662 -1.62206 0 0 -1.9388 4.32413 0 0.972184 -0.164826 0.815223 0 0 0 0 -0.360068 -0.779101 0 -0.416626 -0.882678 0 0 0 -3.21586 0 1.98969 -3.68276 0 1.03224 -1.01702 -1.03223 0 1.92886 -1.98512 5.08252 -6.24427 0 0 0 0.147271 0.0259512 0 0 0 0.0269495 -0.0349542 0 0.00427367 0 -0.0168369 0.00113692 0 0 0 0 0.100307 0 0.0111722 0 0.134354 0 0.180559 -0.121467 0 0.00200831 0 0 -0.0452306 -0.00640383 0.0315431 0 -0.00185701 0 -0.00322373 -0.128111 0.00365743 -0.0881823 0.00211133 0 -0.00113484 0 0 0 -0.000273025 0 0 0.0124514 -0.00867087 -0.306685 0.010661 0 0 0.000944424 0 0.00349232 0 0 -0.00879514 -0.0198461 -0.116164 -0.0277967 0 0 0.11134 -0.00954487 0.05786 0.0584066 0.0386571 0 0.0662485 -0.017669 0.312 0 0 0 0.218212 0 0.0878839 0.58769 0 -0.00241423 0.0585348 0.003291 0 0.0069124 -0.0100416 0.00443437 0.285415 0 -0.239902 0.147271 -0.117149 0.0259512 -0.210857 -0.0550663 0.0210062 -0.39355 -0.294691 -0.0154319 -0.0335396 0.416508 -0.00117479 0.0406632 -0.00736306 -0.0209771 -0.0516614 -0.106795 -0.500987 -0.37242 -0.327162 -0.0833078 0.31597 -0.068306 -0.360171 0.136839 0.0753001 -0.000381488 -7.36771 -0.549547 -2.82879 -0.542759 -0.00386098 -0.491442 -1.08283 0.0421771 -0.0139422 -0.0699207 -0.102717 0.849741 -0.120282 0.0214829 -2.10039 -2.17631 -0.00435711 -0.0680907 -0.22262 -0.0215734 -0.113254 -0.961976 -2.68408 -0.764607 0.0130113 -4.20679 -0.062529 0.588882 0.103889 0.180299 -0.266244 0.113462 -1.02226 -0.271998 0.0836104 -0.469453 -12.7359 0.104196 0.0260638 0.16518 -0.296683 -0.184322 -0.0948788 0.0259519 -0.0481363 -0.00621623 0.042388 -0.141783 10.3059 1.19489 -0.752575 2.66993 -0.217085 -0.602213 -0.290719 0.905043 -0.658686 0.174352 0.186907 0.343902 -0.423194 0.597853 -0.869065 0 +415 0 0 0 0 0 -0.35018 -0.135456 0.709431 3.06753 0 0 0.192255 -0.663658 0 -0.943283 -0.227214 0 0 0 -0.461941 -0.810147 0 0 0 0 0.489357 0 0 -0.019786 -6.18752 -0.163919 0 -0.980978 0 0 0.0567405 -0.0190665 0 0 2.61509 0.0159974 0 0 0.557101 -4.60779 0 0.121816 -0.712852 -2.06612 -0.200102 2.96594 -0.0068686 0 0.959082 -0.197624 -0.356078 -0.355042 0.832435 0.485979 0 0 -0.89543 -3.14664 0 -1.55993 -1.28203 -0.744831 0 0 0 0 -0.28243 -0.695859 0 -0.560227 0.889568 0 0 0 -7.31039 0 -3.83924 6.59988 0 -2.18882 3.21446 -3.91669 0 -3.14219 5.49396 -9.01313 22.0889 0 0 0 -0.50702 -0.123004 0 0 0 -0.145783 0.0259891 0 -0.0319592 0 0.00287089 0.084165 0 0 0 0 -0.00638783 0 -0.00381185 0 0.441103 0 -0.468889 -0.891485 0 0.0115392 0 0 -0.152226 0.00231523 -0.12879 0 0.0188383 0 0.00172459 -0.13182 0.00989369 0.0446424 -0.00730564 0 7.7798e-05 0 0 0 0.00118687 0 0 0.00129324 0.00154545 0.099679 -0.0374288 0 0 -0.0136209 0 -0.00630123 0 0 0.0184374 -0.0028912 0.101996 0.0015639 0 0 0.0884352 0.0799761 -0.0209198 -0.0486481 0.266294 0 -0.251015 -0.0203244 -0.0471724 0 0 0 -0.95391 0 -0.147087 0.431827 0 -0.0132898 0.0285089 -0.0361598 0 -0.000640848 0.00293782 -0.0188265 0.204069 0 -0.35018 -0.50702 -0.135456 -0.123004 1.31728 0.175478 -1.05265 -0.447223 -0.0634736 0.0173658 0.0962965 0.409634 0.00766302 0.104943 -0.184691 -0.0721378 0.0855437 -0.136085 0.117431 -0.687865 0.119545 0.143409 0.559871 0.0330413 0.480154 -0.374258 -0.116598 -0.0327355 3.06725 1.10143 0.988219 0.400388 -0.0330563 -0.129676 0.605167 0.0892401 0.0310203 -0.00641624 0.257932 -2.52311 -0.132202 -0.0450903 1.23922 -0.319538 0.0158311 0.109726 -0.0335777 -0.18464 -0.444192 1.22267 -1.95729 1.85292 -0.279211 -0.427502 0.516193 -0.90548 0.944476 -1.46249 0.406151 0.340545 -1.07604 -0.472247 -0.144445 -2.05487 -12.2325 -0.914499 1.24249 -0.371849 0.183991 -1.4395 0.318421 -0.227224 0.274562 0.121227 0.0284062 0.81379 -3.60028 -1.42867 -1.2249 -0.616868 -3.03715 7.41696 -0.264476 -0.873981 1.54471 -0.204328 0.238168 -1.05709 1.70807 -2.06137 3.4161 0 +416 0 -0.689269 0.123343 0.149684 -0.108142 -0.00371067 -0.28082 0.133138 0.603828 -0.0437285 -1.48313 0.096425 -0.875176 -0.180131 -1.32487 0.257908 0.65791 0.753503 -0.61234 0.618888 -3.09463 -0.348246 -0.265626 0.18736 -0.977931 0.56363 0.245805 0.550277 0.411937 0.8891 -0.330853 0.331843 0.932311 -0.520954 1.63091 0.259962 0.126883 1.95725 0.802202 0.674952 -1.4682 -0.436764 5.59606 0.440895 -3.79919 -0.984571 -0.7712 0.700519 2.43226 -1.40682 0.788026 -2.27652 -1.10403 -0.915238 0.0495304 0.476916 4.07665 -1.88844 -0.769811 1.45463 0.763672 0.00801675 3.83432 0.792063 -1.1581 -1.6002 1.23085 1.73628 1.67254 0.0249252 1.81175 -0.636795 1.91888 -1.81979 3.78904 -1.62724 -5.1989 -6.18976 3.01818 -2.56934 1.78672 -0.460965 -2.20573 2.70027 -1.89387 1.39518 0.943872 1.64493 -1.82496 1.52162 -0.413419 -4.08954 0 0 0 0 0 0.149684 -0.108142 0.00447617 0 0 0 0 -0.00184556 0 0.0107153 0 0 0.00362531 0.024688 -0.00289395 0 -0.00677227 -0.233832 -0.00719655 0 0 0.108701 0.00162657 0 0.0934144 -1.80614 0 0 0.00145833 -0.568865 0 0.181009 0 0.249151 0 0 0.031292 0 0 1.14544 -0.0233903 0.0655201 0 0.0769448 -0.00602761 0 0 0.17862 0 -0.00967872 -0.239992 0.0161216 0 0 -0.00752991 -0.0195376 0 -0.0112997 -0.12116 0.00119168 1.15888 -0.0293712 0.0263161 0 0.0550704 -0.0104162 -0.173774 0.0318851 0.0474307 0 0 0 -5.82017 -0.391814 -0.108553 -0.0565436 0.0180168 -0.118401 -0.00300134 0.000620295 -0.0149692 0.0477874 0 0 0 0 0 0 -0.00371067 0 -0.28082 0 0 0 0 -0.410269 1.56214 0 0 0.632921 0 0.0706423 0 0.0527827 0 0 -0.387947 0 0.317849 -0.00169168 0.51182 -0.0613216 0 0 0.514826 0 -2.02043 0 3.10166 -0.962946 0 -0.302864 1.24279 0.0671367 0 -0.0263464 0 0 0.191799 0 -1.61272 -1.23091 0 0 -0.176806 0 0 -0.0722091 -2.90069 -0.273007 0 1.56072 0 1.71216 -0.54438 0.407561 0.466945 0.198351 -0.343696 -2.16607 -0.18742 -1.55012 7.2659 -0.222826 0 0 0 0.271847 0.115 0 0 0 0 -0.405461 -25.721 -5.32404 2.28719 -2.1927 1.64248 -1.99372 -0.647916 0.503381 -0.368072 0.124825 0 0 0 0 0 0 +417 0 -0.30387 0.00853524 0.0208568 0.246318 -0.0919134 0.0597052 0.27 0.619722 0.163863 -0.957637 0.308256 1.23298 0.0126478 1.07844 0.066499 1.1576 1.87357 -0.101716 -0.0509908 1.18328 0.00274892 0.0839376 -0.0122037 -0.250978 0.214045 0.562507 -0.0659544 -0.0232628 0.133654 0.307458 -0.00644969 0.358119 0.410363 -0.248968 0.0627689 0.0381082 -0.432209 2.562 0.356185 0.453364 0.0380528 -1.06639 0.0224296 3.71569 0.0652506 0.213383 -0.0407268 -0.0762618 0.146301 0.09716 -0.296717 -1.98182 -0.143597 0.577749 -0.415284 2.00069 1.47796 1.13503 0.153499 -0.128947 1.24363 -2.47907 -1.39716 0.260009 -0.367675 -0.471572 0.480085 1.3365 -0.137971 -0.0961778 0.212205 0.564174 0.451074 -0.109434 0.233479 1.21227 -8.36142 0.686243 -2.01217 -1.26418 -0.203593 -0.774818 1.58426 -1.35736 0.896509 0.057563 -0.109015 -0.213961 -0.261713 -0.647964 -0.61476 0 0 0 0 0 0.0208568 0.246318 -0.0104672 0 0 0 0 -0.00304585 0 0.0236576 0 0 -0.0132927 -0.0535551 0.0585124 0 0.0088609 -0.123101 0.152248 0 0 0.610721 -0.00372344 0 0.0608946 -0.287163 0 0 0.084702 -0.276171 0 0.218733 0 0.174992 0 0 0.0246615 0 0 0.431322 -0.0428883 -0.189756 0 -0.144977 -0.0525444 0 0 0.436141 0 -0.0239461 -0.247742 0.0195368 0 0 0.020259 0.018631 0 -0.0498767 0.123315 -0.0133139 0.719225 0.0159347 0.0394114 0 -0.020452 -0.0368667 -0.272329 0.174254 -0.0320946 0 0 0 0.114325 0.259712 0.107825 -0.0275828 0.0383756 -0.031415 0.0149201 -0.0158356 0.0152312 0.0309203 0 0 0 0 0 0 -0.0919134 0 0.0597052 0 0 0 0 0.180158 0.169174 0 0 -0.67225 0 -0.0675414 0 0.00615398 0 0 0.721383 0 -0.132905 0.0274379 -0.293996 0.105805 0 0 0.0743183 0 2.96642 0 0.139718 0.612353 0 0.16495 -0.111532 -0.0323333 0 0.0244764 0 0 0.00459779 0 1.64413 1.35662 0 0 0.212829 0 0 -0.0799115 0.706221 0.211502 0 1.25764 0 -0.252016 0.572637 -0.341674 0.179341 -0.234294 0.441748 0.428904 -0.0128931 -0.0101054 5.36633 0.170419 0 0 0 0.147114 -0.0194303 0 0 0 0 0.186329 5.72687 3.95668 -1.45547 0.18736 0.0839182 -0.163754 0.613336 -0.390946 0.273699 -0.00209143 0 0 0 0 0 0 +418 0 -0.41601 -0.352066 -0.147388 -0.330406 0.60379 0.279262 -0.906291 -2.71624 -2.11363 1.85959 0.334988 -0.527456 0.0755162 0.203022 0.251675 1.64699 -2.03785 0.825953 0.443427 -3.11811 0.319838 0.672766 -0.168222 0.688988 -1.09977 0.957568 0.00146586 -0.580577 -2.11748 0.0548441 -0.592287 1.32165 2.51745 0.347685 -0.494335 0.0508708 -0.622071 7.81861 0.95338 -0.499064 0.0503287 -1.25414 0.100091 -0.438045 -0.338213 0.380018 -1.01416 2.47233 -0.278036 3.20852 -0.638516 -10.9271 -0.378058 0.080999 -0.127275 0.515245 -1.31425 -1.34314 -0.222822 -0.0966037 -3.10478 2.24095 -6.25323 0.826732 -1.73037 2.19474 -1.71955 0.716838 1.37701 0.355556 -1.81728 1.56511 1.6124 1.11868 0.531921 -0.351607 -36.9558 -11.6639 10.5575 -8.73271 6.71824 -8.25676 -2.32073 1.50822 -1.34866 3.03592 0.565054 -1.22963 2.54667 -4.90488 9.73964 0 0 0 0 0 -0.147388 -0.330406 -0.000454558 0 0 0 0 0.00174524 0 0.0207429 0 0 0.00109521 -0.00711844 0.00480921 0 0.012735 0.159027 -0.0323862 0 0 0.0680556 -0.000533282 0 -0.00990742 -1.2238 0 0 -0.0150587 -0.0250192 0 0.158244 0 -0.0819512 0 0 -0.0189888 0 0 0.925488 0.0256449 0.0203756 0 -0.00257856 0.0501773 0 0 0.1632 0 0.00494947 -0.260831 -0.00260965 0 0 0.00141269 0.00337453 0 -0.0387142 0.0633857 -0.00765132 0.600649 0.0562115 0.0421873 0 0.00649058 0.00868329 0.0173935 -0.0296469 -0.0739424 0 0 0 -2.04097 0.00457196 0.0287175 -0.0707768 0.0740213 -0.107189 -0.00034871 -1.53543e-05 -0.00497773 0.0209322 0 0 0 0 0 0 0.60379 0 0.279262 0 0 0 0 -0.204476 0.763842 0 0 0.867899 0 0.1056 0 0.0960215 0 0 -0.837211 0 -0.480507 -0.103565 0.265374 -0.115169 0 0 0.666484 0 -6.35082 0 -0.278495 -0.5285 0 -1.14424 -0.32571 0.0231711 0 -0.0142209 0 0 0.0996735 0 -1.84619 -1.31321 0 0 -0.19971 0 0 0.150466 -2.78916 -0.756304 0 1.51325 0 1.96311 -0.742399 0.766045 0.620608 0.211724 -1.23533 -2.05063 -0.0590516 -0.99801 11.4538 -0.300544 0 0 0 0.110322 0.0206351 0 0 0 0 -0.237421 -2.57965 -4.89678 7.00058 -0.923027 0.262949 0.663243 -0.792453 0.594149 -0.515179 0.713914 0 0 0 0 0 0 +419 0 0.128817 0.0024062 0.0198392 -0.063754 0.0212097 -0.164627 0.372319 0.300718 0.291982 -0.327354 0.483854 -0.967011 -0.00773403 -2.34036 -0.0571135 0.00939729 0.249166 -0.170846 -0.12644 -1.0036 -0.0566145 -0.00876429 0.0115344 -0.264547 0.110758 0.0168845 -0.0644639 0.249142 -1.01828 -0.636382 0.0614643 -0.377338 -0.0346249 -0.0616528 0.0270878 0.0481824 0.164699 0.210016 0.739031 -0.803682 -0.0406933 1.09432 0.105114 -4.32608 -0.113897 -0.604218 -0.190858 -0.736626 -0.278994 0.532928 -0.785538 -2.61392 0.202729 -0.571255 0.408322 3.35198 1.65084 0.389637 0.374871 0.121591 0.368752 -0.710576 -0.207057 -0.480136 -0.590965 0.559085 -0.105459 0.188964 -0.116229 0.382275 -0.515039 0.368508 -0.0685571 -0.524472 -0.543592 1.60941 -2.56341 -1.319 1.72826 -1.57816 1.20268 -0.317387 0.178857 -0.404354 0.840549 -0.584712 0.120047 -0.429516 0.58321 -0.66026 0.832814 0 0 0 0 0 0.0198392 -0.063754 -0.000331416 0 0 0 0 -0.000503971 0 0.01946 0 0 0.0015458 0.00529342 0.00456413 0 0.000686703 -0.023464 0.0678047 0 0 -0.0204589 0.000327905 0 0.0221534 -0.584168 0 0 -0.0104166 -0.12975 0 0.0988494 0 0.0344435 0 0 0.00313525 0 0 0.706981 -0.00592316 0.0288917 0 0.00782165 0.00855993 0 0 0.120686 0 -0.00566805 0.0366972 0.00553712 0 0 -0.00361919 -0.00221008 0 -0.00836685 -0.000336674 0.000840452 0.248878 0.0137588 0.0263538 0 -0.00533504 0.00300149 -0.232107 0.0547562 0.00503153 0 0 0 -3.87929 -0.224881 -0.343505 -0.043357 0.0174197 -0.0725325 -0.00123516 -0.000563482 -0.00260513 -0.00791996 0 0 0 0 0 0 0.0212097 0 -0.164627 0 0 0 0 0.44452 1.46459 0 0 -0.357427 0 -0.0669942 0 0.0718481 0 0 -0.602793 0 -0.161979 0.0295148 -0.476264 -0.0942168 0 0 0.632022 0 -1.33034 0 -1.45553 -1.21109 0 0.38359 -0.669 -0.0682036 0 0.0376918 0 0 0.158445 0 -2.08016 -0.985132 0 0 -0.165813 0 0 -0.0930581 -0.542292 -0.456523 0 1.66487 0 0.515372 -0.613638 0.538036 0.0852537 -0.0380503 -0.116125 -0.671671 0.0264127 -1.45357 7.58254 0.0994414 0 0 0 0.337539 -0.0756498 0 0 0 0 -0.418216 -2.98125 0.369087 -1.94373 1.26361 -1.08076 0.581871 0.315792 -0.316488 0.30834 -0.347303 0 0 0 0 0 0 +420 0 -0.497078 -0.262318 0.00516672 0.150686 -0.17412 -0.0534645 -0.000181503 0.804335 -0.0565624 -0.894024 0.0218146 -0.403033 0.000853537 -0.345119 -0.0120493 -2.79938 -9.64577 -0.236281 -0.0385278 1.0776 -0.0361675 0.0114949 -0.00240327 -0.136583 0.0999482 -0.833023 -0.0623103 0.0291527 -0.146263 -0.152264 -0.0122509 -0.253411 0.211329 -0.424518 -0.0621458 -0.00430692 -0.356882 2.10187 -0.0143833 0.356449 -0.0023808 -1.8662 -0.0209731 -0.728546 -0.116364 0.124908 -0.128536 -0.587421 0.0594604 -0.663849 -0.221681 5.54533 -0.136465 -0.0476456 0.105903 -0.11932 -0.986924 0.115203 0.0997399 -0.0112503 1.20342 -0.199242 -0.387707 -0.665033 0.883532 -0.21743 -0.323333 -0.612305 0.0248084 0.213627 0.134686 -0.199134 0.356231 0.866341 0.0378781 -0.429187 -6.25667 1.68846 -3.36597 0.0772599 -0.238137 -1.00631 0.909822 -1.0049 1.62861 -1.78449 0.122648 -0.0333359 0.124665 -0.0455471 0.119623 0 0 0 0 0 0.00516672 0.150686 -0.00325618 0 0 0 0 -0.000306822 0 0.0112092 0 0 -0.00501491 -0.00873413 0.00738317 0 0.00132416 -0.00881966 0.0655527 0 0 0.0247891 -0.000599219 0 0.00678213 -0.0042947 0 0 0.00245598 -0.0699052 0 0.0631496 0 -0.00076018 0 0 -4.93495e-05 0 0 0.103044 -0.00438106 -0.0725279 0 -0.044997 -0.014759 0 0 0.104181 0 -0.00718719 -0.15681 -0.000202189 0 0 0.0074792 0.00597835 0 -0.0180262 0.00372953 -0.0033854 0.240602 -0.0227034 0.0104102 0 -0.00165622 0.000517914 0.00751058 0.0700733 -0.0322899 0 0 0 0.237979 0.118228 0.0354104 -0.0052895 0.0106623 -0.0146205 0.00547597 -0.0058205 0.0088571 -0.00881228 0 0 0 0 0 0 -0.17412 0 -0.0534645 0 0 0 0 0.258 -0.7177 0 0 -0.639941 0 -0.0573627 0 -0.0395002 0 0 -0.28108 0 0.364431 0.0977918 -0.276097 -0.0280788 0 0 -0.350611 0 -2.65907 0 2.2731 -0.311867 0 0.732671 0.804926 -0.0247146 0 0.0355791 0 0 -0.0834229 0 -0.854651 -0.415848 0 0 -0.0236284 0 0 0.407384 1.34361 -0.410899 0 0.448944 0 -0.650894 -0.507283 0.424406 0.135668 -0.211033 0.36007 0.289233 -0.0411943 -1.41998 -4.35285 0.145205 0 0 0 -0.274258 0.0235653 0 0 0 0 -0.0780006 -10.0166 2.65635 -4.14745 -0.368789 0.562066 -1.3376 0.478829 -0.370435 0.340529 -0.461336 0 0 0 0 0 0 +421 0 -1.11997 -0.0969136 -0.0883432 -0.536777 0.605759 -0.0976424 0.595486 -2.17067 -0.232629 2.80808 0.253798 -0.22462 0.012691 0.438467 0.0677408 -1.2519 -2.67954 0.516216 0.133207 -1.97988 0.0314543 -0.0881175 -0.0116256 0.477878 -0.0546099 -0.55353 0.00666032 0.5701 0.57158 0.13188 -0.0533885 0.334481 0.102357 0.28953 0.47099 0.0168418 0.213512 3.02151 -0.194379 -1.4344 0.0817851 1.16486 -0.0643047 -0.259767 0.512703 -0.872813 0.407602 0.589583 0.108248 0.379189 0.272123 4.99416 -0.283728 0.00854007 -0.537765 0.0906361 -1.19144 0.0144347 -0.342286 -0.0507115 -1.20871 2.49132 -2.51785 1.67 0.142535 -0.213181 -2.99865 -0.614581 -0.0135194 -0.291003 -0.689524 -0.10748 -0.314803 2.19044 0.526266 -0.804546 -16.1489 -5.99756 4.12077 -4.43069 2.26973 -0.630311 -2.3306 1.49725 -1.88014 2.31678 -0.540387 0.282714 -0.510881 0.280466 -0.467472 0 0 0 0 0 -0.0883432 -0.536777 0.00454394 0 0 0 0 0.00113305 0 0.0147035 0 0 0.000975891 -0.00257412 0.000201538 0 0.00340201 0.0279686 -0.020443 0 0 -0.424941 -0.000217845 0 -0.0255778 -0.511683 0 0 -0.0591142 0.00916874 0 -0.0362373 0 -0.0983087 0 0 -0.0129263 0 0 0.396274 0.0170765 0.0203106 0 0.0736536 -0.000703977 0 0 0.0536555 0 0.0068329 -0.00788258 -0.0071039 0 0 0.00335185 -0.0111572 0 -0.00811494 -0.0016739 -0.0185729 -0.21356 -0.00422747 0.0262309 0 -0.00817268 0.0215805 0.0219431 -0.0483675 -0.0141127 0 0 0 -2.1536 -0.151592 -0.0591624 -0.0147173 -0.000637642 -0.0419224 0.000536163 -0.00183993 -0.00220866 0.00317236 0 0 0 0 0 0 0.605759 0 -0.0976424 0 0 0 0 -0.0532924 -0.787694 0 0 0.78633 0 0.107222 0 -0.0345258 0 0 0.21789 0 0.528203 -0.118063 -0.103761 0.0367552 0 0 -0.348428 0 3.42614 0 0.862972 0.0233788 0 -1.1971 0.379554 -0.00342871 0 -0.0125648 0 0 -0.0803038 0 0.275842 1.24719 0 0 0.153323 0 0 0.132298 -1.12408 0.409065 0 -0.979 0 0.185276 0.217751 -0.305566 -0.108539 0.0594972 -0.0883175 -0.286003 0.040693 0.260731 -9.72587 -0.109582 0 0 0 -0.264536 0.0177837 0 0 0 0 0.255693 -10.8103 -7.33501 8.81453 -2.35025 1.37731 -0.0142025 -0.528739 0.389762 -0.471618 0.830868 0 0 0 0 0 0 +422 0 0 0 0 0 0.0763614 -0.155057 -0.374892 -0.822279 0 0 -0.512341 -0.678678 0 -1.38957 0.0254302 0 0 0 0.144779 1.5159 0 0 0 0 -0.0874136 0 0 1.06862 2.80204 -0.442121 0 -0.0773484 0 0 0.0612464 -0.0783716 0 0 -0.535663 0.241132 0 0 -0.106372 -2.161 0 -0.29206 1.84755 -0.00501518 0.672886 -1.75433 0.586335 0 -0.0673616 0.241112 0.262678 -0.451594 -0.673629 0.134087 0 0 -0.0981543 0.486815 0 -0.011925 0.602911 0.198316 0 0 0 0 -0.144211 -1.20419 0 2.57556 -1.42864 0 0 0 2.13753 0 1.61318 -3.53762 0 1.02718 -1.88792 2.77491 0 0.515763 -2.3739 4.81383 -12.5353 0 0 0 -0.0755649 0.00287386 0 0 0 0.0242349 0.00808218 0 0.00487037 0 -0.00127343 -0.0108868 0 0 0 0 -0.100534 0 -0.0047499 0 -0.208161 0 0.100909 -0.283569 0 0.00167791 0 0 -0.0503033 -0.000761369 -0.0384134 0 0.000578581 0 0.000593712 -0.137927 0.00163321 -0.0144188 -0.0185753 0 -8.6258e-05 0 0 0 4.4192e-05 0 0 0.0057687 -0.000566541 0.135617 -0.0061637 0 0 -0.0216062 0 -0.00748432 0 0 0.000544243 -0.0219236 0.124041 0.00750766 0 0 -0.0883603 -0.0183397 -0.0505868 0.0744563 -0.0793379 0 -0.0676478 -0.00899261 -0.0177531 0 0 0 0.828494 0 0.0928236 0.244113 0 0.00548869 0.0113643 0.0401288 0 0.00131599 0.00449994 0.000231487 0.025222 0 0.0763614 -0.0755649 -0.155057 0.00287386 0.208846 -0.0187263 0.183176 -0.706468 0.717083 -0.00545614 0.0511945 0.967473 -0.00125061 0.109355 0.0182034 -0.0156545 0.0461879 0.0137553 0.355749 -0.412346 0.0860054 -0.19982 0.538548 0.135297 0.341738 0.0268654 -0.0370541 -0.0148173 -1.11969 0.181473 1.39331 -1.00559 0.0012201 -1.03673 0.341533 0.0634524 0.00105922 -0.130055 0.017819 -0.0842901 0.0672239 0.0141193 -1.8361 0.750424 0.00644524 0.0208036 0.244346 -0.0725986 0.153344 -0.648721 2.70413 1.00177 -0.138947 2.3996 -0.00393861 -1.62433 0.488192 -0.80853 -1.10799 -0.302574 0.982614 1.62093 0.103204 -1.93717 5.69872 0.578468 -0.753683 0.237793 0.260234 -0.118159 -0.250499 -0.0862344 0.0352915 0.0570822 -0.202383 -0.21611 -13.148 -6.94583 4.55835 -1.48031 0.371018 -0.687232 -1.00633 0.490535 -0.35204 0.219106 -0.027947 -0.171329 0.199902 -0.217811 -0.000177863 0 +423 0 0 0 0 0 -0.605773 -0.335299 0.5842 1.71314 0 0 -0.327661 -0.521659 0 -1.19088 -0.0900235 0 0 0 0.105476 -4.13007 0 0 0 0 0.42403 0 0 0.476509 2.11732 -0.39114 0 -0.256569 0 0 0.246693 -0.112363 0 0 -0.316022 -1.4642 0 0 -0.212899 -2.42887 0 -0.869636 0.708856 0.433551 0.318601 -2.33321 0.757932 0 -0.482301 -0.358563 0.699378 -1.6455 -1.38544 -0.0876359 0 0 1.36909 3.55185 0 1.62477 1.04125 0.617817 0 0 0 0 0.0324201 -0.351121 0 2.72034 -1.24244 0 0 0 -5.23967 0 -0.500125 -1.9707 0 0.0105366 -0.787161 -2.81275 0 0.553244 -1.41053 2.9674 -10.8595 0 0 0 -0.122453 0.00974052 0 0 0 0.0450652 0.0245811 0 0.00686021 0 0.00647577 0.0922348 0 0 0 0 0.0619344 0 0.034935 0 0.209389 0 0.299645 0.277387 0 -0.00483702 0 0 -0.299033 0.00559224 0.0419855 0 -0.000119746 0 0.00159278 0.0712804 -0.0352009 0.077979 0.00166676 0 0.000466327 0 0 0 -3.22134e-05 0 0 -0.00723174 -0.0129338 0.142416 0.0125547 0 0 0.00642593 0 -0.0145688 0 0 0.0291801 0.0404225 0.0485517 0.0639971 0 0 -0.173465 -0.139844 -0.0488102 -0.0859071 -0.202187 0 -0.00204652 0.0522579 0.0204255 0 0 0 -0.244922 0 -0.0809437 0.313878 0 0.00913202 -0.0125674 -0.0735994 0 -0.00592644 0.0178232 -0.0456775 0.116686 0 -0.605773 -0.122453 -0.335299 0.00974052 -0.162704 -0.119552 0.15735 0.261206 0.0747564 -0.0143313 0.0341436 -0.494735 -0.00532593 -0.0893799 0.0379999 -0.00771219 0.0286927 0.0906132 0.928546 -1.20625 -0.242199 0.099929 0.0333623 0.159222 0.160576 0.241105 -0.0965856 -0.0329055 1.86617 -0.468213 -2.06388 0.0753301 0.00852283 1.28862 -0.557807 -0.0075418 -0.00868629 -0.000108765 -0.0727348 1.67236 0.0535208 0.0376846 0.891595 0.284882 0.0042528 -0.0483555 0.077668 -0.194839 -0.1664 -0.603927 0.163955 -1.03282 0.105841 -0.0296884 -0.109759 -0.920652 0.091842 0.403601 0.492557 0.267911 0.204773 0.812453 0.0627882 -0.798502 -1.97462 -0.0635041 0.093922 -0.0164625 -0.179399 0.137684 0.231694 0.180653 0.022628 -0.240011 0.0947136 -0.170583 19.4759 5.86125 -7.81447 1.66908 0.506243 -5.89078 0.347735 0.356892 -1.3605 -0.416793 -0.184101 0.548779 -1.14626 1.31579 -2.46862 0 +424 0 0 0 0 0 -0.740001 -0.415155 1.43309 3.49505 0 0 1.35322 -0.699594 0 -1.50008 0.0781116 0 0 0 -0.0928247 -2.87982 0 0 0 0 0.832697 0 0 -0.0339524 -10.0419 -0.434071 0 0.614287 0 0 0.451152 0.174085 0 0 4.98325 -2.22161 0 0 0.946638 -3.17191 0 -1.18076 -2.16235 -0.0168304 -2.04432 0.926535 -2.11324 0 0.0818547 0.511049 -0.137793 0.0769771 0.169673 0.092138 0 0 0.52126 1.13084 0 -0.884579 -0.719772 -0.380937 0 0 0 0 0.819392 3.98132 0 -1.01091 -0.676883 0 0 0 -6.4417 0 -9.05496 14.9422 0 -4.89619 7.43281 -10.0261 0 -6.25434 11.1697 -21.1845 38.9006 0 0 0 -0.570548 -0.136033 0 0 0 -0.122312 -0.0120241 0 -0.0242966 0 0.0241346 -0.112639 0 0 0 0 -0.208182 0 -0.0520814 0 -0.422702 0 -0.466007 -0.617277 0 -0.0177641 0 0 -0.600656 0.00807508 -0.132101 0 0.0131076 0 -0.000925156 -0.0768659 -0.109039 0.108694 -0.0106296 0 0.00177106 0 0 0 0.000927679 0 0 -0.0104211 -0.00259853 -0.331584 0.0215958 0 0 -0.0515804 0 -0.000235996 0 0 0.0117281 0.0421351 0.184348 0.015055 0 0 -0.100638 -0.00990462 0.0182257 0.178329 0.275287 0 0.108277 0.00926402 0.142499 0 0 0 1.28533 0 -0.125669 0.885447 0 0.0149889 -0.0455461 0.280983 0 -0.00824505 0.0414734 -0.104067 0.328751 0 -0.740001 -0.570548 -0.415155 -0.136033 0.953976 0.229489 -0.416645 0.512964 0.650672 0.210234 -0.0650943 0.344638 0.037498 0.150089 -0.122695 0.121312 -0.0188159 1.02608 -0.68577 2.04295 -0.389876 0.0299722 -0.287782 -0.110778 -0.473519 -0.179043 0.882495 0.0510862 -0.421661 0.0996017 -3.0474 -0.513039 -0.0270433 0.499092 -1.25903 -0.00269992 -0.00867968 0.0606989 0.00241923 -1.31423 -0.00517973 -0.0285996 -0.189007 -0.831366 -0.00186111 -0.0635891 -0.101917 0.314326 -0.063823 -0.503371 2.09459 0.816949 0.197386 -0.0991761 0.0148674 -1.67503 0.764729 -0.78718 0.354284 0.668416 -2.26906 1.74066 -0.50255 -0.675598 6.14571 -0.329092 0.0570639 -0.0125794 -0.044812 0.615593 -0.189085 0.116068 -0.421073 0.11192 0.13788 -0.496617 28.757 3.58158 -3.13091 -1.74561 -2.08811 7.75236 -2.10357 0.647243 0.748099 0.0605564 -2.08472 1.06425 -0.168244 -0.511586 1.90546 0 +425 0 0.0631056 0.191912 0.0162115 -0.0815671 0.0384698 0.0190623 0.733991 1.04852 0.386433 0.388804 0.11273 0.951468 -0.00807286 1.23121 0.0346637 1.66748 7.24932 0.0375724 0.044161 -1.59224 0.0462088 0.191764 0.00939373 0.0864993 0.486765 0.371074 0.132956 -0.183008 -1.16412 0.453169 0.0579588 0.258625 0.136002 0.325564 0.305169 0.0353706 0.500909 0.121294 0.407132 -0.534261 -0.0396822 1.70399 0.104816 2.23861 -0.109796 0.0166912 -0.414791 0.335982 -0.453271 2.6428 -0.337764 0.532061 0.13923 0.0836354 -0.028587 -0.749541 1.078 -0.293315 0.284192 0.146361 -0.803419 0.778121 -0.295808 -1.17121 -1.77464 -0.71451 1.18056 1.80458 0.00706964 0.26371 0.226651 0.945826 -0.320243 -2.52969 -0.133706 0.837628 2.839 1.1063 -1.7595 -0.374602 0.207817 0.324491 -0.601121 0.202088 0.54809 -3.39737 0.263792 -0.679588 1.70886 -3.17093 6.58255 0 0 0 0 0 0.0162115 -0.0815671 -5.69251e-05 0 0 0 0 -0.000611396 0 0.00889751 0 0 -0.000779506 -0.00206569 0.0100891 0 0.00275906 -0.025865 0.00277766 0 0 -0.0752364 -0.000137862 0 -0.0464332 -0.693391 0 0 -0.000847747 -0.173054 0 -0.215821 0 0.00343471 0 0 0.00158899 0 0 -0.538616 -0.0084405 -0.0148943 0 0.00214358 -0.00472533 0 0 -0.16178 0 0.000517417 -0.0669208 0.00213151 0 0 0.00526052 -0.00830667 0 -0.0142634 -0.0317892 0.000899498 -0.437403 -0.0379392 -0.00510949 0 -0.00674471 0.00460984 0.143031 -0.15404 0.0274416 0 0 0 3.90986 0.336698 0.227407 0.00931058 0.0381635 0.0130427 0.00151668 -0.000687955 0.0036089 -0.00139485 0 0 0 0 0 0 0.0384698 0 0.0190623 0 0 0 0 0.0256806 0.697901 0 0 0.154163 0 0.0125983 0 0.0300854 0 0 -0.448638 0 -0.0391216 0.00796508 -0.0337981 -0.0632847 0 0 0.230345 0 3.90412 0 -1.09487 0.780376 0 -0.0286855 -0.408319 -0.00591824 0 0.00907003 0 0 0.0926192 0 1.53938 -0.922778 0 0 -0.135702 0 0 -0.428892 -0.840134 0.0316253 0 -2.97568 0 0.924824 0.0786561 -0.0860862 0.0544214 0.243467 -0.157706 -0.894157 -0.0627464 2.04183 -0.407302 -0.172821 0 0 0 0.0457149 0.0362823 0 0 0 0 0.051922 5.60736 -0.510652 0.909191 0.2216 -0.308052 0.687421 -0.0820674 0.0107008 0.0118676 -0.0340277 0 0 0 0 0 0 +426 0 -1.05348 0.346124 -0.00034626 -0.0747579 -0.198098 0.289088 -0.358202 0.404128 -0.00805361 -0.57666 0.235323 0.771128 0.00108813 -0.459961 -0.00342907 3.62825 13.1282 -0.121609 0.00850918 0.199286 0.00282577 -0.208834 -0.00423763 -0.100727 -0.284214 1.17669 0.0763568 -0.670105 -0.658736 0.170285 -0.0114145 -0.0586598 -0.184475 -0.0443732 -0.309116 0.0196283 0.629838 0.408086 -0.00429983 0.473855 0.00885296 1.17317 -0.0120006 1.58052 0.0764014 0.699766 -0.877237 -0.0955541 0.0326113 -0.725548 -0.31791 -7.16762 -0.0405043 0.0171367 -0.128496 -4.54753 -0.249028 0.0555502 0.208894 -0.0210042 -1.16323 -0.102636 0.551813 0.0362503 0.022507 0.630983 0.00398246 0.271966 0.000799894 1.18476 -0.445481 -0.0761747 -0.811374 -0.465636 0.53967 -0.0148863 -4.70818 1.84431 -2.56492 1.48117 -1.58708 0.97374 0.966713 -1.10152 2.12976 -1.77435 -0.18356 0.137729 0.575323 -1.13081 3.72484 0 0 0 0 0 -0.00034626 -0.0747579 0.00344947 0 0 0 0 0.00109541 0 -0.0101513 0 0 0.00240889 0.00109765 0.00383183 0 -0.00121461 0.041137 -0.0184905 0 0 0.37253 3.99591e-05 0 0.070355 1.45978 0 0 0.0558229 0.288166 0 0.194362 0 0.0501827 0 0 0.00765854 0 0 0.516329 0.0152326 0.0377182 0 0.0495854 0.0592417 0 0 -0.302933 0 -0.00905438 0.2414 0.0188703 0 0 -0.00120233 -0.0157901 0 0.0316076 0.0634033 -0.00780102 -1.66069 0.033738 -0.045627 0 -0.0113386 -0.0271745 -0.0840982 -0.180024 -0.0247759 0 0 0 -2.77868 0.0744869 -0.372685 -0.0454999 0.1042 -0.261947 -0.00234879 0.000954547 0.0016204 -0.019483 0 0 0 0 0 0 -0.198098 0 0.289088 0 0 0 0 0.197112 0.21414 0 0 -0.361115 0 -0.0505031 0 -0.0106584 0 0 -0.456451 0 -0.981477 0.0695486 -0.343631 -0.0650297 0 0 0.0143566 0 -0.857817 0 0.488186 0.120174 0 0.60326 -1.17208 -0.0382281 0 0.0115051 0 0 0.0208863 0 -0.56174 -0.205901 0 0 -0.0171153 0 0 -0.181578 1.10645 -0.013802 0 -0.1611 0 -1.28368 0.218717 -0.115725 0.551404 -0.0161842 -0.600024 1.37306 -0.139069 0.143232 2.29787 -0.0385682 0 0 0 0.112353 0.174794 0 0 0 0 -0.076455 -3.40926 3.64913 -5.85939 1.24254 -1.19585 0.427558 0.41851 -0.376927 0.367302 -0.46294 0 0 0 0 0 0 +427 0 -0.677206 -0.238602 -0.154325 -0.625654 0.560233 0.310684 -1.17337 -4.62966 -0.323454 3.85572 -0.735383 1.04009 0.0452356 0.84474 -0.0749955 0.447742 3.90292 0.425511 -0.151586 3.09258 0.0263411 0.249379 -0.0316568 0.775008 -0.64893 -0.158383 -0.0288386 0.103391 2.35076 0.243954 -0.1228 -0.573708 0.831639 -0.232205 -0.216255 -0.134051 -0.10849 2.87941 -1.60642 1.01352 0.238409 -1.2391 -0.363141 4.46743 1.01051 0.385353 0.86585 -1.34992 0.693524 -2.90276 1.52319 -1.42891 0.336016 -0.783884 1.54577 0.345893 -0.378138 -0.848024 -1.18795 -0.332593 1.12285 0.244788 -1.44058 0.103908 1.71765 -0.160914 -0.540166 -1.2311 -0.121346 -1.91885 0.611301 -1.16085 0.0441366 0.713795 -2.54563 -0.48884 -9.27397 -11.1249 10.4745 -5.15006 4.97143 -6.79595 -5.83016 5.78555 -8.40302 10.5461 -2.42783 3.6831 -5.68092 8.62055 -13.2924 0 0 0 0 0 -0.154325 -0.625654 -0.000729876 0 0 0 0 0.00191584 0 -0.0492273 0 0 0.011342 0.0333159 -0.085972 0 -0.0124671 -0.0337498 -0.364596 0 0 -0.0777894 0.00241633 0 -0.0329856 -0.823527 0 0 -0.0080002 -0.136112 0 -0.199106 0 -0.0675737 0 0 -0.00761571 0 0 -0.582075 0.0271852 0.155698 0 -0.00790289 0.0665014 0 0 -0.11692 0 -0.0181104 0.0069869 0.045232 0 0 -0.0106126 -0.0117844 0 0.00760249 0.0612636 0.0127979 0.234876 0.018651 -0.00340398 0 0.00237934 -0.104367 0.25185 -0.0938845 -0.0698342 0 0 0 4.05549 -0.20114 0.921805 0.0663746 -0.0947243 0.210347 -0.0115074 0.0198127 -0.0398387 0.0913896 0 0 0 0 0 0 0.560233 0 0.310684 0 0 0 0 -0.642719 -1.0529 0 0 1.75101 0 0.222855 0 -0.0407241 0 0 0.989109 0 0.421752 -0.244556 0.608066 0.112163 0 0 -0.453811 0 4.06685 0 3.48351 0.184369 0 -1.78008 1.18787 0.0837157 0 -0.0937775 0 0 -0.0849106 0 0.946873 2.61781 0 0 0.291682 0 0 0.884557 -4.0958 0.00398666 0 0.789282 0 2.43465 -0.861315 0.386816 -1.84145 -0.0117924 1.68411 -2.93176 0.481749 -0.583306 -6.59797 0.211188 0 0 0 -0.565159 -0.484191 0 0 0 0 0.355978 -24.0203 -13.288 12.766 -3.46248 2.7373 -2.04051 -1.53069 1.2377 -1.23174 1.35935 0 0 0 0 0 0 +428 0 0.850052 0.254563 0.0445495 0.0226476 0.152197 0.194058 0.304673 0.994953 0.310103 -1.17402 0.511616 0.62482 -0.0216936 2.10564 0.0426934 0.0323446 -0.275748 -0.166705 0.077688 2.15188 -0.0344356 -0.43454 0.0196065 -0.345675 -0.142357 0.160199 0.100782 -0.660073 -1.60563 0.530525 0.0772774 0.0953003 -0.984414 0.365095 -0.204136 0.114338 0.523315 -3.12316 0.869819 1.45082 -0.0970837 1.83175 0.204084 2.59886 -0.366093 0.855536 -1.05507 0.202932 -0.640952 2.91013 -1.25413 -6.88481 0.084385 0.073452 -0.617949 -3.49569 -0.601817 -0.349202 0.766739 0.24578 -2.26898 -2.39331 -1.97387 -0.540008 -1.59426 0.224289 -0.692818 0.737514 -0.0748984 1.31397 -0.813759 0.885714 0.324504 -3.60693 1.52793 -0.783459 16.1537 9.41716 -4.13838 5.59934 -5.27873 9.28745 2.22587 -2.33994 4.28308 -3.09183 0.817045 -1.36367 2.47189 -3.33987 5.96626 0 0 0 0 0 0.0445495 0.0226476 0.000777654 0 0 0 0 -0.000249253 0 0.00935664 0 0 -0.0045391 -0.0126042 0.0233457 0 0.00327414 -0.0288108 0.0553416 0 0 0.369611 -0.000879639 0 0.063668 0.649883 0 0 0.0542365 -0.00748346 0 0.0424836 0 0.0771337 0 0 0.0111123 0 0 -0.216809 -0.00379583 -0.070417 0 0.00586199 0.065123 0 0 -0.36894 0 -0.00252705 0.048602 -0.00732281 0 0 0.00790936 -0.00649915 0 -0.00977792 -0.0461502 -0.00426368 -0.825779 -0.0688842 -0.0317947 0 0.0103583 0.0130632 -0.00810484 -0.0831761 0.0349433 0 0 0 4.07523 0.657703 0.086199 -0.0298487 0.147718 -0.187415 0.00471677 -0.0048466 0.0159131 -0.0202954 0 0 0 0 0 0 0.152197 0 0.194058 0 0 0 0 0.47672 1.2432 0 0 -0.41175 0 -0.0665625 0 0.0727336 0 0 0.0598262 0 -0.293196 0.0959425 -0.402402 -0.0130848 0 0 0.442234 0 5.3473 0 -0.679072 0.774004 0 0.592781 -0.349387 -0.0584683 0 0.0727461 0 0 0.179679 0 2.25841 -0.364318 0 0 -0.0771181 0 0 0.0358443 -0.624307 0.568455 0 -1.32419 0 -0.644428 0.436687 -0.511993 0.518677 0.0726291 0.0199145 0.293855 -0.268255 -0.103125 -0.68324 -0.0392046 0 0 0 -0.171367 0.199995 0 0 0 0 -0.080212 2.37289 2.82364 -3.48811 0.450679 -0.421993 0.570122 0.45131 -0.421343 0.428605 -0.553783 0 0 0 0 0 0 +429 0 -0.237884 -0.436152 0.0166921 -0.173086 -0.00915752 -0.165517 0.574336 1.35919 0.38432 -0.716055 -0.321699 0.480999 -0.0157461 1.76155 0.00776981 -1.49006 -3.18002 -0.202084 -0.0590944 2.51637 -0.0992904 0.418012 0.0274655 -0.343724 0.605834 -0.757884 -0.0141808 0.415605 1.60841 0.291069 0.104331 0.0421762 0.492521 0.209328 0.355503 -0.0128166 0.00640128 0.505861 -0.710798 0.579833 -0.0450927 0.590511 -0.034236 2.69848 0.031113 -0.0457172 0.776642 -0.330032 0.00263465 1.42257 -0.0147745 -1.57752 0.396466 -0.287618 0.121368 1.51572 1.37778 -0.0378327 0.546458 0.126281 -1.01342 -2.2959 1.12194 -2.01583 -0.509848 -1.08816 1.01875 -0.0362051 -0.192354 1.63626 -0.0481155 -0.0315591 -0.0760859 -3.02195 -0.142064 -0.764133 -8.20624 0.490577 -4.91345 -0.370074 1.02413 -3.79571 0.716772 0.328166 -1.15928 -0.985797 -0.069438 0.826582 -1.85263 3.04741 -5.9766 0 0 0 0 0 0.0166921 -0.173086 -0.000421967 0 0 0 0 -0.00118267 0 -0.0323139 0 0 0.00819248 0.0163839 -0.0245045 0 -0.00396937 0.013588 -0.227791 0 0 -0.0536184 0.00120835 0 0.0274124 -0.295894 0 0 -0.010074 0.0050679 0 0.00483451 0 0.00725103 0 0 -0.000146423 0 0 0.0918437 -0.0159671 0.110927 0 -0.00209804 0.118611 0 0 -0.279022 0 -0.0186445 -0.124866 0.051431 0 0 -0.008395 -0.0124836 0 0.0145131 -0.019419 0.0206687 -0.261018 0.0864332 -0.0343398 0 0.0184726 -0.118939 0.0924244 -0.073857 -0.155297 0 0 0 1.51171 0.0279817 0.419502 -0.0112074 0.0594058 -0.0945374 -0.0087855 0.0168932 -0.0345931 0.0584121 0 0 0 0 0 0 -0.00915752 0 -0.165517 0 0 0 0 -0.0177347 0.535928 0 0 0.353065 0 0.0156387 0 0.0340285 0 0 -0.252359 0 1.12338 0.0952196 0.254125 -0.0519048 0 0 0.19972 0 2.56712 0 5.06065 0.115675 0 0.361259 2.25539 0.020049 0 0.0207039 0 0 0.0931449 0 0.723941 -0.550127 0 0 -0.112593 0 0 0.281223 1.10956 0.143695 0 -1.49064 0 0.828722 -0.194836 0.0378685 0.091357 -0.233935 1.63613 -0.447776 0.143373 0.620292 -3.13304 0.338085 0 0 0 -0.379861 -0.0418411 0 0 0 0 0.2087 -46.0257 -8.55852 1.63042 -4.03932 3.27548 -3.37398 -0.376974 0.286309 -0.202235 -0.237899 0 0 0 0 0 0 +430 0 -1.51258 -0.444788 -0.162687 -0.52289 0.281638 0.27503 -2.22368 -5.84016 -0.327705 4.41948 -0.601121 -0.153933 0.0615838 1.41848 -0.0646258 -2.10989 -10.1713 0.673215 -0.208276 4.07867 0.138113 -0.0222396 -0.0538793 1.10286 -1.15669 -0.378493 -0.0399023 -0.117317 0.619599 0.228433 -0.159176 -0.42115 0.563713 -0.199502 -0.465696 -0.129568 -0.606635 4.86638 -1.20745 1.71061 0.245449 -2.12383 -0.298561 1.31116 0.826173 0.754448 0.0882284 -1.23806 0.505352 0.279684 1.63579 0.645255 0.430002 -0.538796 0.621245 -0.716059 -0.0402567 -0.20038 -1.49027 -0.31511 1.07771 0.301767 -0.822274 2.05123 1.31391 1.04284 -0.893834 -1.22066 0.0478736 -2.90896 -0.0911258 -0.723996 0.785129 -0.36175 0.241706 0.858191 -16.5852 -11.9049 11.0584 -7.04142 7.65046 -9.47785 -7.16877 6.91784 -8.34278 11.4769 -1.84385 2.23437 -2.22637 2.90854 -2.30233 0 0 0 0 0 -0.162687 -0.52289 -0.00239193 0 0 0 0 0.00121417 0 -0.0300501 0 0 0.00619496 0.023046 -0.0794127 0 -0.00816894 -0.0888164 -0.270803 0 0 -0.11722 0.00170448 0 -0.145769 -1.64727 0 0 -0.0147092 -0.414889 0 -0.389814 0 -0.0811748 0 0 -0.0094989 0 0 -0.884234 0.0167862 0.0809321 0 -0.0342841 0.0137776 0 0 -0.0194884 0 0.00081236 -0.104038 0.00557533 0 0 -0.00464833 0.00442866 0 -0.0132392 0.0252867 0.00872121 1.22599 -0.0449694 0.0171501 0 0.00807191 -0.0395152 0.212136 0.0660646 -0.0317821 0 0 0 5.62264 -0.0517241 0.960742 0.0772566 -0.107097 0.276351 -0.00602518 0.0124672 -0.0256051 0.0792304 0 0 0 0 0 0 0.281638 0 0.27503 0 0 0 0 -0.341333 -1.73662 0 0 1.71192 0 0.209871 0 -0.113715 0 0 0.506558 0 0.691261 -0.15855 0.507001 0.0898021 0 0 -0.82211 0 -5.39231 0 7.10014 0.440123 0 -1.19498 2.28862 0.0618075 0 -0.0442336 0 0 -0.238556 0 -0.591318 0.817062 0 0 0.134294 0 0 0.0344586 0.0611202 -0.80093 0 0.430111 0 1.14986 -1.11071 0.96795 -1.51835 -0.192787 2.51303 -1.04185 0.498469 1.66115 3.63216 0.464671 0 0 0 -0.00208095 -0.472658 0 0 0 0 0.399947 -53.1128 -15.6183 9.44569 -5.29466 4.27158 -4.50234 -1.392 1.13571 -1.2011 0.915985 0 0 0 0 0 0 +431 0 0 0 0 0 0.166814 -0.283683 0.625375 0.147698 0 0 0.047996 -0.185539 0 -0.921146 0.000670045 0 0 0 -0.0942697 1.4766 0 0 0 0 0.469233 0 0 0.966811 0.977473 -0.577559 0 0.562897 0 0 0.410904 0.0156416 0 0 0.22076 -0.175184 0 0 0.0465382 0.921912 0 -0.810899 1.15411 1.02189 -0.0700139 -4.01066 0.358889 0 0.0791036 -0.257055 0.1922 0.095339 -0.127279 -0.390034 0 0 -0.325654 -2.58619 0 -0.472326 1.07059 -0.0351712 0 0 0 0 -0.169938 0.387186 0 0.19119 -1.01633 0 0 0 -1.29102 0 -0.163913 -2.21856 0 0.152855 -0.656688 0.74255 0 -0.169019 0.304179 0.422383 -3.6406 0 0 0 -0.0503519 0.0154628 0 0 0 -0.0405315 0.0219154 0 -0.00745101 0 0.00823418 -0.0357659 0 0 0 0 -0.210227 0 -0.0275474 0 -0.410376 0 -0.193043 0.0136417 0 -0.00407522 0 0 -0.164241 0.00205257 -0.00883729 0 0.00414893 0 0.00163545 0.0220537 -0.0261073 0.0175547 0.0053679 0 0.000668666 0 0 0 0.00026299 0 0 -0.00617019 0.00234824 -0.482416 0.0317276 0 0 0.0160604 0 -0.00293505 0 0 0.00466942 0.00600807 -0.121882 0.0600821 0 0 -0.150553 0.00991278 -0.0103771 -0.259791 -0.503055 0 -0.167088 -0.00196937 0.0727363 0 0 0 1.93108 0 0.0394277 0.411531 0 0.0199184 -0.0109189 0.477474 0 -0.00371394 0.0143319 -0.022068 0.127531 0 0.166814 -0.0503519 -0.283683 0.0154628 0.0288934 2.41004e-05 0.17858 0.272949 1.94016 -0.0311895 0.0267063 -0.201276 -0.00574627 -0.0201409 0.0381891 0.0901437 0.0331294 -0.130056 0.261142 -0.46654 -0.372397 0.0208653 0.169995 0.0315707 0.210857 0.0310216 0.833302 -0.0145415 -0.442295 -0.0393745 -0.765878 -1.63169 0.00713247 0.230339 -0.203984 0.0359235 0.000430238 0.00928547 -0.00916968 0.164406 0.273754 0.00552691 -1.88647 0.901064 0.0046187 0.00253564 0.0881651 -0.0811283 -0.0999623 -0.125738 -0.926712 -1.1361 -0.0483994 0.576755 -0.0525506 -0.42966 0.501499 0.201591 -0.14882 -0.00290521 -0.490979 0.311908 -0.123381 -1.67264 -4.75736 0.0856942 0.303216 0.0453315 -0.123785 -0.10115 0.0256022 -0.0235538 0.0824009 -0.0676798 0.0522621 -0.165843 2.09477 0.580152 -0.0378632 0.382734 0.0895636 -0.495601 0.105617 0.0443492 -0.0457515 0.171858 0.0695806 -0.00417386 0.0213807 0.0456888 -0.0639553 0 +432 0 0 0 0 0 0.520017 0.0869866 0.106645 -0.729851 0 0 0.189221 -0.857359 0 0.133091 0.0534214 0 0 0 -0.0242913 -2.43143 0 0 0 0 -0.223283 0 0 -0.141048 -1.79834 0.00848001 0 0.424993 0 0 -0.0795449 0.0150288 0 0 0.648375 -0.667171 0 0 0.113899 -2.99666 0 0.0982065 -0.41116 0.290887 -0.279589 1.88763 -0.562738 0 0.0704117 0.157485 -0.239675 -0.609718 -0.105575 -0.427167 0 0 -1.14535 1.41927 0 -0.461065 -0.475293 -1.04232 0 0 0 0 -0.26998 0.530251 0 0.231869 -0.244083 0 0 0 3.06416 0 -0.615678 3.4164 0 -0.533934 2.25362 -0.749613 0 -0.796287 2.03732 -2.99266 5.14845 0 0 0 -0.121764 -0.0195168 0 0 0 0.0283764 0.0264114 0 0.00330857 0 -0.00334808 -0.0106535 0 0 0 0 -0.0555656 0 0.00481481 0 -0.288088 0 0.277723 -0.0659351 0 0.000947603 0 0 -0.0566115 -0.000393942 0.00428076 0 0.00542973 0 0.00318036 -0.0920978 -0.00262996 -0.014632 -0.0103022 0 -0.000223688 0 0 0 0.000478865 0 0 0.00142701 0.00572722 -0.225427 0.0105566 0 0 -0.00503435 0 -0.00575117 0 0 0.01983 -0.0615365 -1.03195e-05 0.041297 0 0 -0.021918 -0.00256925 0.0162534 0.0612002 0.172246 0 0.217121 -0.0263203 -0.0232914 0 0 0 1.07669 0 0.125874 -0.0274377 0 0.0156268 -0.0313429 -0.0566143 0 -0.000133481 0.0106741 -0.00733771 -0.188232 0 0.520017 -0.121764 0.0869866 -0.0195168 0.353997 0.0765511 -0.0296721 -0.239573 -0.267552 0.0228735 0.0414676 0.272028 0.00376446 0.0384332 -0.0177967 0.00480532 0.0159098 0.140265 -0.110832 0.0769342 -0.124489 -0.0521777 -0.0829151 0.00352852 0.15753 -0.0443966 0.0334064 0.014455 -0.931275 0.260328 -0.650053 0.17513 -0.00414059 -0.703074 -0.513835 -0.0178809 0.00552115 -0.0510073 0.0524505 -0.348085 -0.0571149 -0.00724333 0.163457 -0.208281 0.00466891 0.0245731 0.0389446 0.0459058 -0.021578 -0.237763 1.03347 1.29972 0.0226205 -0.767912 0.0473516 -0.330756 -0.00385485 -0.720862 0.0468856 -0.215781 0.147309 -0.0167484 -0.10923 -0.0628949 -5.88519 0.153263 -0.230615 0.0603303 0.295458 -0.136105 -0.0414558 -0.0465301 -0.0379911 0.0734422 -0.154758 0.175691 1.77798 -0.113231 0.804219 -0.0179309 -0.885157 0.585026 -0.128607 -0.154175 0.296815 -0.589224 -0.0750423 -0.118313 0.186124 -0.246113 -0.253853 0 +433 0 0 0 0 0 -0.770223 -0.139363 0.142778 1.53614 0 0 0.563324 0.378459 0 -1.36286 0.0394823 0 0 0 0.0847357 -3.43879 0 0 0 0 0.364739 0 0 -0.105384 -5.45714 -0.139717 0 0.035988 0 0 0.0162403 0.0315002 0 0 2.04382 -1.33108 0 0 0.293798 -0.568743 0 -0.436134 -1.2418 0.172802 -0.241013 -2.61368 -0.0401736 0 -0.325036 0.327972 -0.12909 0.243069 -0.112272 0.415702 0 0 0.746127 3.49852 0 -1.19368 0.266681 0.598911 0 0 0 0 0.0337609 0.35089 0 3.85866 -0.100785 0 0 0 -2.50747 0 -1.27974 3.01734 0 -0.0183995 1.77109 -4.22823 0 -0.92452 3.88946 -8.73876 16.6301 0 0 0 -0.333988 -0.0588274 0 0 0 0.0540734 -0.0433065 0 0.00726339 0 -0.0135381 -0.0370448 0 0 0 0 -0.0219234 0 0.00181536 0 -0.29568 0 0.449391 0.47768 0 0.00203517 0 0 -0.0400099 -0.00516329 0.0694908 0 -0.00322374 0 -0.00306683 0.123552 0.00334545 -0.0782077 0.0129425 0 -0.00093824 0 0 0 -0.000255261 0 0 0.013801 -0.00461437 -0.248614 -0.0657566 0 0 -0.0253022 0 0.00537401 0 0 -0.00916906 -0.0183298 0.140856 -0.00946523 0 0 -0.150128 0.0512711 -0.0157256 -0.235269 0.0483647 0 -0.198579 -0.0280996 0.0489854 0 0 0 1.39903 0 0.204412 0.410591 0 -0.00252518 0.0695084 0.314658 0 0.00628982 -0.00736802 0.0495511 0.23831 0 -0.770223 -0.333988 -0.139363 -0.0588274 0.549819 0.118871 -0.391384 0.645316 -1.72198 0.0265812 -0.0321275 -0.500477 0.0047905 -0.0296737 -0.0583789 -0.0833405 -0.0400812 0.113515 0.179361 0.397468 -0.305008 0.235361 -0.523373 0.0361719 -0.245739 -0.0969803 -0.641294 0.0105931 -9.44435 0.660005 -2.93992 -0.70501 -0.00873645 1.94939 -1.50101 -0.0615116 0.00657775 0.0719243 0.0750908 -0.964329 -0.264415 -0.0101431 -3.20912 0.468751 -0.00579677 0.0640048 0.0896061 0.0616281 0.13839 -0.180931 -1.11036 -0.0587954 0.0215004 -0.579904 0.10397 -0.274954 -0.0533442 -0.11616 0.0147827 0.52487 0.385799 -0.0116399 -0.243812 1.93902 -1.78366 0.0302889 -0.552438 -0.113133 -0.0777669 0.18184 0.0641994 -0.15335 0.0105066 0.150975 0.257164 0.539334 8.04106 1.85481 -6.65378 0.631196 -2.91839 3.96757 0.0886883 -0.619245 1.0545 -1.26148 -0.0607312 -0.301173 0.611044 -1.04062 1.81088 0 +434 0 0.0443457 -0.0886585 -0.0382877 -0.0876078 0.0660319 0.130099 -0.315531 -0.356004 -0.359329 0.783747 -0.265396 0.0475781 0.008069 0.0704876 -0.0592166 -0.66294 -1.48435 0.00126102 -0.0601028 -1.02346 0.0158559 0.00534485 -0.0106121 0.253474 -0.0821424 -0.232687 -0.0323212 -0.338256 0.198014 0.135187 -0.0640163 -0.567472 -0.131673 -0.182767 -0.153352 -0.0495817 -0.387472 -0.380543 -0.427248 -0.179181 0.0482786 -1.36864 -0.0845374 -0.0429637 0.252271 0.153587 -0.200828 -0.736706 0.220479 1.16867 0.372621 2.39252 0.0345868 0.00656059 -0.0359827 0.494905 -0.250502 -0.217777 -0.351946 -0.105456 0.219229 1.12361 -1.05508 -0.629913 -0.125422 -0.503214 0.506013 -0.158706 0.114578 -0.163058 0.289746 -0.416416 0.391168 0.0641378 0.322681 0.0674301 -2.37849 -3.20652 1.39223 0.0879457 -0.523901 1.48066 -1.09836 0.567336 -0.709618 -0.121039 -0.115439 0.223347 -0.342601 0.602082 -0.466709 0 0 0 0 0 -0.0382877 -0.0876078 0.00530108 0 0 0 0 0.000671903 0 -0.0119931 0 0 0.00415724 0.00347407 -0.02222 0 -0.00214812 -0.00221342 -0.119546 0 0 -0.309511 0.000320753 0 -0.118499 -0.0979792 0 0 -0.0353055 -0.0146179 0 -0.366642 0 -0.0532516 0 0 -0.00511757 0 0 -0.825575 0.011926 0.0535729 0 0.0807957 0.0308971 0 0 -0.0217515 0 0.0114812 -0.559968 -0.0177771 0 0 -0.00819054 -0.00844069 0 0.0083952 0.0512303 0.0215826 -2.38228 0.0131548 -0.0162859 0 -9.90545e-05 0.125381 -0.0694336 -0.0852507 -0.0662987 0 0 0 6.81535 0.168206 0.655731 0.0296478 -0.0667956 0.965321 -0.00585313 0.0100697 -0.0077263 0.0453312 0 0 0 0 0 0 0.0660319 0 0.130099 0 0 0 0 -0.126182 -1.01136 0 0 0.0810468 0 -0.000255498 0 -0.0514507 0 0 0.189943 0 0.277218 -0.0106237 0.0145252 0.00891826 0 0 -0.476606 0 2.89627 0 -0.32686 0.960926 0 -0.0565346 0.0412992 -0.00153083 0 -0.0189583 0 0 -0.11486 0 1.77356 0.165671 0 0 -0.016214 0 0 0.10772 0.0838019 -0.140793 0 -0.238033 0 -0.71759 -0.0249138 0.0418097 -0.355949 -0.041265 0.367871 0.520575 0.00441373 0.86494 5.07425 0.0406906 0 0 0 -0.010915 -0.0116162 0 0 0 0 0.0170324 3.32488 0.0116816 0.299806 0.105804 -0.0807211 0.420446 -0.0683125 0.0736325 -0.0445012 0.0653979 0 0 0 0 0 0 +435 0 1.56771 -0.26356 0.000743796 0.0440078 0.19774 -0.194159 0.381015 -0.164756 -0.0684436 -0.130832 -0.105631 -0.334093 -0.00249782 -0.574537 -0.0744613 -1.88075 -7.38879 -0.0170422 -0.132797 0.537195 -0.0150555 0.385589 0.00167877 -0.0270371 0.3095 -0.731902 0.0213553 0.596017 0.390614 -0.183635 0.00252902 -0.558289 0.21541 0.186087 0.374506 -0.0203866 -0.094099 -2.25944 0.0157317 -0.522767 -0.0166765 -0.555542 -0.00560002 -0.924523 -0.106467 -0.695706 0.683003 -0.959239 -0.0168115 -0.428106 -0.0554415 -3.52472 0.257454 -0.0773748 0.136486 1.57982 -0.0597202 0.294113 -0.000827882 0.0534531 -0.62186 -0.558511 -1.48419 0.0307731 -0.164411 0.35026 -0.908545 -0.0930325 -0.0191653 -0.277293 -0.192023 -0.24539 -0.037937 0.442302 -0.545928 -1.03671 14.8714 3.49828 3.20855 1.64859 0.0895204 1.8391 0.114554 0.361098 -0.384517 0.942784 0.0487193 -0.0566039 0.0360969 0.175927 -0.920659 0 0 0 0 0 0.000743796 0.0440078 0.0019627 0 0 0 0 -0.000138929 0 0.0105164 0 0 -0.00152337 -0.00595616 0.0188226 0 0.00226017 0.0074989 0.110942 0 0 0.160089 -0.000361062 0 0.0290613 0.533234 0 0 0.0151063 0.0583592 0 0.0159722 0 0.0311386 0 0 0.00308308 0 0 -0.492434 -0.00325909 -0.0321641 0 0.0191546 0.0439853 0 0 -0.211082 0 0.00369498 0.0430671 -0.0188407 0 0 0.00214162 -0.00384678 0 -0.00105288 -0.0645273 -0.0142468 0.0631368 -0.0606261 0.00664156 0 0.0126944 0.0639943 -0.104148 0.0102297 0.0428929 0 0 0 2.42017 0.206645 -0.339165 0.0213408 -0.0231249 0.164608 0.00120281 -0.00386883 0.0356906 -0.121776 0 0 0 0 0 0 0.19774 0 -0.194159 0 0 0 0 -0.0127801 -0.53938 0 0 0.265233 0 0.0214385 0 -0.0254238 0 0 0.0805228 0 0.783283 -0.0490978 0.0718839 0.00485336 0 0 -0.2804 0 0.755448 0 -1.00853 -0.171557 0 -0.379634 0.761972 -0.00131379 0 0.00314728 0 0 -0.0620707 0 -0.0989348 0.450027 0 0 0.0519434 0 0 -0.125318 -0.822583 -0.0414574 0 -0.17413 0 0.0184471 -0.0577761 0.0709243 -0.25051 0.116684 -0.266031 -0.141955 -0.0872119 0.0491492 0.611588 -0.0970895 0 0 0 0.0474255 0.0206259 0 0 0 0 -0.0837805 9.82569 -0.583548 2.38854 0.1271 0.0470491 0.453198 -0.120896 0.0786611 -0.0883377 0.0582377 0 0 0 0 0 0 +436 0 -0.871533 0.217481 -0.0502506 -0.315134 0.522041 0.20576 -0.207921 -1.82207 -0.428998 1.02111 -0.238347 0.964786 0.00379034 1.79709 -0.0300308 1.60557 6.63884 0.162083 -0.0369276 6.03347 0.00894703 -0.0953532 -0.00793287 0.136318 -0.115682 0.312175 0.0268406 0.166489 1.60594 0.353545 -0.0576606 -0.140603 -0.170806 0.11239 -0.0118842 -0.0312178 0.142204 -0.814564 -0.386163 2.61913 0.0193335 0.491798 -0.0624201 4.10078 0.062846 0.999576 0.764144 -0.170578 -0.0214579 0.260948 0.00185224 -4.16055 0.12921 -0.120624 0.295865 -1.99857 0.802152 0.34666 -0.00153901 0.00336104 -0.463314 -6.23685 -0.550978 -1.21003 -0.17375 -0.655675 0.755217 0.210588 0.129508 0.437566 0.147912 0.13638 -0.0890996 -4.35085 -0.637728 0.323162 4.73921 -0.0577024 3.03853 0.824837 -0.126282 0.838884 -0.313552 0.880475 -2.14286 3.45867 -0.0287583 0.119642 -0.441501 1.2546 -3.78512 0 0 0 0 0 -0.0502506 -0.315134 -0.00278991 0 0 0 0 -3.02241e-05 0 -0.0120269 0 0 -0.00411013 -0.0065249 -0.0207366 0 -0.00239974 0.0468567 -0.10548 0 0 0.169105 -0.000424895 0 -0.0474313 1.06804 0 0 0.0212347 0.269831 0 -0.104705 0 0.00112488 0 0 0.000958196 0 0 -0.520521 0.00119677 -0.0602039 0 -0.0346319 -0.0366658 0 0 -0.0490645 0 -0.00535277 -0.883045 -0.00361544 0 0 0.00857869 0.00521321 0 -0.0182514 0.0298375 -0.0300926 0.506412 -0.0169026 0.00294433 0 -0.00638141 -0.0178796 0.199339 -0.0329749 -0.417932 0 0 0 5.17533 0.355351 0.791113 0.0058735 -0.0251337 0.771056 0.00506229 -0.00896842 0.0275106 0.155974 0 0 0 0 0 0 0.522041 0 0.20576 0 0 0 0 -0.361865 0.470378 0 0 1.18775 0 0.126294 0 0.043356 0 0 0.686282 0 0.0531001 -0.141961 0.442939 0.0974227 0 0 0.334213 0 10.0469 0 3.67566 0.996036 0 -1.16729 0.885182 0.0467823 0 -0.0480195 0 0 0.0677339 0 3.69811 1.40663 0 0 0.195974 0 0 -0.356149 0.300954 -0.404952 0 -1.01265 0 0.101779 -0.0315253 0.207721 -0.109816 0.0424067 0.523584 -0.146624 0.0759085 -1.32427 -5.50393 0.0159642 0 0 0 -0.0319799 -0.101878 0 0 0 0 -0.139648 -17.499 -5.60996 4.98491 -1.67928 1.62776 -1.93912 -0.470948 0.449995 -0.658614 0.787436 0 0 0 0 0 0 +437 0 -0.182214 0.311243 -0.000704638 -0.0389806 -0.135072 0.258218 -0.68086 -0.582077 0.0470579 0.233732 -0.0349974 1.10079 -0.00046207 1.31957 -0.0161749 2.18675 10.005 0.104257 -0.0311245 0.0432753 0.0325571 0.0508569 0.000834961 0.0875665 -0.216713 0.435204 -0.0169265 -0.559506 -0.822657 0.55794 0.00645992 -0.147548 0.147523 0.00456214 -0.233142 -0.0132839 -0.100918 -0.444023 -0.0536444 0.679076 -0.00360563 0.0481017 -0.0124278 2.5035 -0.0218291 0.700668 -0.719657 -0.285493 0.00588929 0.769613 0.15032 -1.47434 -0.00240926 -0.00628184 0.00723162 -3.60041 0.123778 0.0457652 -0.137452 0.0142046 0.559655 -0.6472 -0.936023 -1.37272 -0.135607 0.0473461 0.891003 -0.0542028 -0.00524771 -0.00888764 0.343958 -0.107983 -0.0823597 -2.73 0.640433 0.104542 -8.26815 -3.24111 -0.48163 -0.528931 -0.512724 1.09491 -0.299858 0.0464146 -0.0178903 0.443998 0.00889584 0.00503638 0.18756 -0.173144 1.50254 0 0 0 0 0 -0.000704638 -0.0389806 -0.00339872 0 0 0 0 -0.000419614 0 0.0046908 0 0 0.000220768 -0.00031942 0.00246988 0 8.40697e-05 -0.0083838 0.0470707 0 0 -0.0425328 0.000103661 0 -0.0547569 -0.668252 0 0 -0.00874473 -0.104993 0 -0.237087 0 -0.00701021 0 0 -0.00105527 0 0 -0.776515 -0.00662484 -0.0118858 0 -0.0572585 0.110553 0 0 -0.245775 0 -0.00670823 -0.444755 0.0134021 0 0 -0.000814223 0.00566949 0 0.00285529 0.0231823 0.0142515 -1.20634 0.0329743 -0.0199417 0 -0.0148294 0.0409345 -0.291837 0.0281244 -0.0401518 0 0 0 7.41067 0.48268 0.157377 0.0137616 0.00612277 0.670844 -0.00156289 0.00519874 0.0161132 -0.0724962 0 0 0 0 0 0 -0.135072 0 0.258218 0 0 0 0 0.117688 -0.440061 0 0 -0.0347384 0 -0.00897051 0 -0.0428821 0 0 0.221188 0 0.0639261 0.0261511 -0.0649611 0.0192544 0 0 -0.389994 0 4.4802 0 0.413686 0.889667 0 0.156233 0.354447 -0.00772471 0 0.0209823 0 0 -0.0504036 0 1.6306 0.444635 0 0 0.0518401 0 0 0.0449918 0.391658 0.0048022 0 -0.77096 0 -0.794588 -0.0615227 0.0452952 -0.0772063 -0.109673 0.296904 0.860783 -0.0774579 0.363924 -1.60052 0.142245 0 0 0 -0.000730069 0.0502857 0 0 0 0 -0.0331953 -0.834596 -0.556603 0.185849 -0.334524 0.17206 0.24111 0.0396899 -0.0275556 0.0506768 -0.105066 0 0 0 0 0 0 +438 0 0.149064 0.447033 -0.00529229 -0.0951111 0.10928 0.229019 -0.862245 -1.06775 0.136325 -0.00389884 -0.0245063 -0.200777 8.99658e-05 -1.02522 -0.0186019 0.114402 -1.66676 -0.0433586 -0.0308657 -0.441122 -0.023076 -0.583047 0.0013953 -0.0803222 -0.51844 0.429411 -0.0348642 -0.555517 -0.609268 -0.055688 0.0137504 -0.189219 -1.0444 -0.265062 -0.452028 -0.00330784 -0.0471325 -1.99757 -0.0555129 0.38867 0.00246935 -0.195535 -0.00689775 -2.20953 0.0418578 0.483672 -0.57587 -0.320716 0.0048534 -0.0457323 -0.342552 1.42 -0.0941669 0.0371052 -0.0666297 0.897579 -0.339065 0.210237 0.10541 0.00197185 0.461787 -0.130691 0.209468 0.460923 -0.2816 0.544359 -0.362628 0.147822 -0.014147 -0.307267 0.00569013 -0.160841 0.0270696 1.45848 0.508363 -0.334902 7.60506 1.96232 1.83215 1.27198 -0.226389 1.56328 0.0812475 0.0515364 0.0779654 1.1428 -0.017058 0.0226138 0.0859197 -0.113818 1.11279 0 0 0 0 0 -0.00529229 -0.0951111 -0.000806406 0 0 0 0 -9.83184e-05 0 -0.0103772 0 0 -0.000968431 -0.00222725 -0.00490969 0 -0.00104317 -0.0145704 -0.052016 0 0 0.189584 -0.000111809 0 0.00324666 -0.432127 0 0 0.019949 -0.101899 0 -0.0622003 0 0.0196335 0 0 0.00208552 0 0 -0.518486 -0.00366854 -0.0242316 0 -0.0356598 0.113564 0 0 -0.299067 0 -0.00106111 0.0794115 -0.00647501 0 0 0.00172774 0.000896803 0 -0.00641619 0.00616859 0.0156971 1.01106 -0.0615826 -0.0349434 0 0.00454528 -0.0495932 0.00036909 0.0829658 0.0687229 0 0 0 5.10677 0.422506 0.442536 0.038495 0.0568144 -0.507737 0.000258222 0.00576409 -0.0103387 -0.01816 0 0 0 0 0 0 0.10928 0 0.229019 0 0 0 0 -0.0246672 0.531425 0 0 0.278331 0 0.0351069 0 0.0210325 0 0 -0.464713 0 -0.79968 -0.00525749 0.0971874 -0.0639276 0 0 0.204615 0 -3.71875 0 -0.926709 -0.427683 0 -0.0113543 -0.868802 0.0179401 0 -0.00728976 0 0 0.0588012 0 -1.52717 -0.721145 0 0 -0.0847657 0 0 0.0405418 -0.427345 -0.0328417 0 0.445921 0 0.625758 -0.0266927 0.0833084 -0.0613066 0.129178 0.0781299 -0.567883 0.065931 0.042469 4.24213 -0.0916802 0 0 0 -0.0214441 -0.0738314 0 0 0 0 0.0489586 -2.0519 -1.37606 0.109279 -0.408313 0.582892 -0.716584 -0.141951 0.116975 -0.110431 -0.174207 0 0 0 0 0 0 +439 0 -0.746771 -0.108887 -0.0481256 -0.348211 0.279816 0.0547343 -0.126672 -1.11169 -0.176817 0.808727 -0.309792 0.202718 0.00139871 1.21558 0.011242 0.170847 1.86177 0.00726021 0.00326125 1.83211 -0.0174644 0.0050597 -0.00181576 0.108913 -0.0841059 -0.101136 -0.0187281 0.119575 1.21912 0.138858 -0.0175972 0.00108953 0.117951 -0.0902123 0.0301042 -0.0205866 -0.163904 1.24339 -0.533785 0.438439 0.0113954 -0.800814 -0.0435766 2.47818 0.0585261 0.076258 0.480987 -0.157634 -0.0890593 1.51468 0.231821 1.66775 -0.0578885 -0.0532406 0.0468462 2.74297 -0.342046 -0.0567096 -0.10839 0.0318946 -0.370821 0.587255 -0.842548 -0.0399441 -0.299482 -0.808291 -0.160093 -0.10247 0.0246346 0.10285 0.335142 0.165219 -0.0372386 0.833012 0.0166574 -0.755818 0.510578 1.37438 -0.197894 1.1925 0.993854 -3.8884 -0.333925 1.02809 -1.90346 1.03504 -0.0238507 0.124568 -0.301856 0.816648 -2.22664 0 0 0 0 0 -0.0481256 -0.348211 -0.0010687 0 0 0 0 2.19735e-05 0 -0.00611094 0 0 -0.00420644 -0.00878255 -0.00311681 0 -0.000155823 0.00140446 -0.0499682 0 0 0.26528 -0.000526046 0 -0.0320326 0.677572 0 0 0.0303195 0.0611912 0 -0.184096 0 0.0220567 0 0 0.00268323 0 0 -1.07946 -0.00061542 -0.0715571 0 -0.0265314 0.0355207 0 0 -0.252944 0 -0.00190566 -0.789658 -0.0209993 0 0 0.00828185 0.00161057 0 -0.0214082 0.0242375 -0.023051 -0.00977122 -0.0857833 -0.000431564 0 -0.00459104 0.0783092 0.0739872 -0.0183785 -0.214789 0 0 0 9.31631 0.624172 0.739302 0.0351507 -0.0228717 0.787453 0.00437649 -0.00601316 0.036724 0.0402438 0 0 0 0 0 0 0.279816 0 0.0547343 0 0 0 0 -0.304452 -0.266383 0 0 1.16944 0 0.12587 0 0.00880993 0 0 -0.0753613 0 0.31552 -0.096709 0.396712 -0.0330399 0 0 -0.0158937 0 0.941247 0 5.21766 -0.0347153 0 -0.774052 1.38427 0.0400693 0 -0.0390899 0 0 -0.0116798 0 0.462503 -0.0882383 0 0 -0.0566654 0 0 0.0336433 2.24331 -0.395411 0 1.39705 0 -0.063627 -0.182234 0.346523 -0.197118 -0.0310514 1.02263 0.476581 0.0996749 -0.257865 7.79205 0.148322 0 0 0 0.0372312 -0.110189 0 0 0 0 -0.082675 -26.4265 -6.13573 3.14846 -1.86395 1.60004 -2.1592 -0.480779 0.416494 -0.577536 0.473568 0 0 0 0 0 0 +440 0 0 0 0 0 -0.0836394 0.146309 -0.618506 0.512189 0 0 -0.169727 0.464348 0 -0.446408 -0.0788371 0 0 0 -0.404586 -4.13486 0 0 0 0 -0.108092 0 0 -0.856626 0.908677 0.360036 0 -0.239391 0 0 -0.236514 -0.0312952 0 0 -0.230356 -1.00097 0 0 -0.0267963 -0.39138 0 0.301113 -0.958186 -0.620555 0.137339 -0.665802 -0.198418 0 0.198177 -0.350408 0.186923 0.136787 -0.36438 -1.55363 0 0 -0.188399 8.29039 0 0.457187 0.269346 1.21581 0 0 0 0 -0.340812 -0.336516 0 0.852011 0.789106 0 0 0 -1.3656 0 -0.0775601 -0.831697 0 0.148047 0.201425 -3.05697 0 0.279829 -0.858633 0.881761 -5.70905 0 0 0 0.0143713 -0.00349588 0 0 0 0.0144089 -0.00802369 0 0.00146965 0 -0.000556491 0.0074744 0 0 0 0 -0.0102979 0 0.00160024 0 0.0223663 0 0.147251 0.347836 0 0.000748986 0 0 0.126121 -0.000236305 0.0430457 0 -0.00089559 0 -0.000397764 0.0749275 0.01061 -0.00570571 0.00950694 0 -2.28355e-05 0 0 0 -4.30512e-05 0 0 0.000198779 -0.000433863 -0.196218 0.00575645 0 0 0.0141729 0 0.000554449 0 0 -0.0037663 -0.00502178 0.102227 0.00697997 0 0 0.00736897 0.0175365 0.00105403 -0.0508673 0.130631 0 0.199618 -0.00312849 0.0705191 0 0 0 -0.0568176 0 0.0199542 -0.681439 0 0.00119602 -0.0460427 -0.109765 0 0.000170635 -0.00659809 0.0212207 -0.336298 0 -0.0836394 0.0143713 0.146309 -0.00349588 -0.304529 -0.0501717 0.0865654 -0.0942403 -0.50971 0.00645122 0.00385651 0.0824692 0.0017978 0.00807512 0.00110093 -0.0298865 -0.013099 0.00847332 -1.24189 0.273293 -0.0941789 -0.0333187 0.131145 -0.195827 -0.0877546 0.130871 -0.426221 -0.00512749 -6.53231 -0.171619 -0.29175 0.252484 -0.000890633 -0.0616565 0.059289 0.0113259 -0.0061854 -0.0230256 -0.0337354 0.91473 -0.0556036 0.0162702 -1.82136 -2.33901 -3.77215e-05 -0.0302354 -0.32986 0.0219241 0.0483348 0.84388 -1.05546 0.12182 0.0216263 0.553751 -0.0575335 1.30167 -0.0707189 0.181981 0.223676 0.0199075 -1.30493 -0.356097 0.229434 -1.18519 -1.00971 -0.210477 -0.0428758 0.000369491 -0.194187 -0.431583 -0.0213717 0.0251181 -0.0129264 0.205809 -0.0314252 -0.192811 0.618955 -0.0375952 -0.575034 -5.72867e-05 0.150014 -2.01851 -0.00397332 0.00312983 -0.298089 -0.347362 -0.000518761 0.0186074 -0.1565 0.14625 -0.71377 0 +441 0 0 0 0 0 0.31405 0.295565 -0.72258 -2.15775 0 0 0.0295886 0.691588 0 0.289495 -0.0114522 0 0 0 0.187799 -3.63297 0 0 0 0 -0.512649 0 0 -0.848566 -1.10619 0.461011 0 0.062255 0 0 -0.287387 0.0090063 0 0 -0.348427 0.172392 0 0 -0.0854219 -0.258428 0 0.712249 -0.976914 0.970405 0.159156 -1.002 0.335738 0 -0.515155 0.0606719 -0.281155 -1.63154 -0.390248 -0.0549418 0 0 1.21933 -2.67487 0 0.122322 0.656228 -0.178962 0 0 0 0 -0.0130814 -0.430651 0 -4.11343 0.849216 0 0 0 4.84222 0 1.06731 0.323745 0 -0.0695191 -0.559282 3.61238 0 0.0319645 -0.589704 0.807048 3.07588 0 0 0 0.0187016 0.0286749 0 0 0 0.0489831 -0.00829585 0 0.00751207 0 0.000402624 -0.0141102 0 0 0 0 -0.0830822 0 -0.00986223 0 -0.105408 0 0.290696 0.17082 0 0.00351692 0 0 0.182439 -2.12534e-05 0.0427184 0 0.000420287 0 -0.000483188 0.0125696 0.022981 -0.00139808 0.0040172 0 2.46474e-05 0 0 0 1.49865e-05 0 0 0.00074807 0.00160245 0.00147408 -0.00867274 0 0 0.00754759 0 0.00292179 0 0 -0.0053649 0.0119999 -0.0875548 0.0125595 0 0 -0.0894008 -0.0170492 -0.0307371 -0.0659383 -0.458121 0 -0.188047 -0.00435916 -0.11008 0 0 0 0.000417207 0 0.0156829 -0.0447844 0 0.00116235 0.011028 -0.0295637 0 0.000158227 0.00150474 0.00121152 -0.029716 0 0.31405 0.0187016 0.295565 0.0286749 -0.0588939 -0.0326326 0.535095 0.0100259 0.622965 -0.0157084 -0.0251343 -0.189843 -0.00442236 -0.0439516 0.079439 -0.0155238 -0.0317056 -0.0672517 -1.40797 -0.594884 -0.0700165 -0.0541994 -0.126505 -0.203702 -0.132004 -0.0160082 0.00101971 0.00914044 -3.8088 0.0715328 0.234266 -0.114528 0.010646 -0.454336 -0.0599645 -0.0258707 -0.00286965 0.00542196 -0.0163812 -0.316861 0.0593846 -0.00288445 -1.79518 -2.88398 -0.00457649 0.00538253 -0.406152 -0.0160437 -0.193711 1.18067 -0.0825056 -0.464194 0.254839 -0.0554587 -0.357347 -0.310496 0.0317103 -0.0366831 -0.0692439 0.0356391 0.342135 0.127124 0.0214404 -0.503664 1.96494 -0.0094272 0.381186 -0.0171471 -0.291622 -0.658234 0.0300726 0.0068552 0.00690246 0.0520967 0.0278092 -0.0228429 -0.497 0.161322 1.25176 0.0641668 -0.105375 1.36249 0.0173104 -0.0248096 0.107097 0.235342 0.00411734 -0.0272826 0.0701398 -0.101422 0.364411 0 +442 0 0 0 0 0 0.126001 -0.116272 1.1098 2.47095 0 0 0.314087 0.0518455 0 0.172086 0.0474963 0 0 0 -0.0983802 2.11291 0 0 0 0 0.655833 0 0 0.196078 -0.382362 0.0262236 0 0.307367 0 0 0.30318 0.0975532 0 0 1.23307 1.02183 0 0 0.464437 -0.351965 0 0.353531 0.123889 0.00836313 -0.500806 0.0217401 -0.880348 0 0.0484239 -0.123384 -0.116911 0.402401 0.772999 0.719001 0 0 -1.67229 -6.45975 0 -0.453223 0.30948 0.341876 0 0 0 0 -0.374894 0.278699 0 -2.34171 1.27789 0 0 0 -4.48528 0 -2.08663 -0.27106 0 -0.565415 -0.167346 -5.10373 0 -0.819189 -0.0910718 -2.48354 1.96369 0 0 0 0.100688 -0.0146257 0 0 0 -0.0173911 -0.00759374 0 -0.00295043 0 -0.00163656 -0.0164518 0 0 0 0 -0.26822 0 -0.0213205 0 -0.338308 0 -0.0807461 -0.359966 0 0.00654279 0 0 0.424805 -0.000361466 -0.0717508 0 -0.00227624 0 -0.000296695 -0.102061 0.0549986 -0.0118785 -0.018424 0 -5.98327e-05 0 0 0 -0.000103501 0 0 0.00180415 -0.00105918 -0.0256163 -0.021127 0 0 0.0117133 0 -0.000455464 0 0 0.0416544 -0.00194593 0.0877142 0.0286455 0 0 -0.161277 0.0811463 0.0301224 -0.130662 0.695967 0 -0.022217 -0.00716959 -0.306778 0 0 0 1.28426 0 0.0685257 -1.04785 0 0.00466317 -0.0532684 0.235372 0 0.000646279 -0.00774466 0.0390661 -0.576594 0 0.126001 0.100688 -0.116272 -0.0146257 -0.112091 -0.0186355 0.249773 0.154884 0.572873 0.0292813 -0.0437129 0.324017 0.00767473 0.0680509 -0.0110866 0.041118 -0.0211823 0.0733694 0.722818 0.14528 -0.0665974 0.0393771 0.102866 0.0826933 -0.411527 -0.115506 0.163672 0.00341118 4.85707 0.198231 -0.0903741 0.495994 -0.00555479 0.0594157 -0.17784 0.0149311 0.00309601 0.0390432 0.0253424 -0.734124 0.057267 -0.0170388 1.75348 0.586252 -0.00150148 0.020168 0.0797196 0.0136164 0.206023 -0.669978 0.593825 -0.0675824 0.110418 -0.0769187 -0.0973283 -0.657742 -0.0190018 -0.117016 0.0581524 0.107324 -0.264832 -0.0827923 -0.0354401 -0.242493 -1.6987 -0.0163984 -0.652305 -0.0239379 0.081935 0.431598 -0.170096 0.0131638 -0.0438484 -0.225105 0.0927248 -0.131859 0.191731 -0.328253 -1.45324 -0.0750609 -0.809248 2.2487 -0.0224637 -0.0273299 0.158276 0.300146 -0.00449188 0.0247558 0.0324692 -0.0378192 0.345996 0 +443 0 -1.20338 -0.50898 -0.0241127 -0.172855 -0.142559 -0.334631 0.825805 1.0947 -0.313938 0.462867 0.0584826 -0.58492 0.00104282 -0.644455 0.0422684 -0.147311 -2.91807 0.0446805 0.0891686 -3.74222 -0.0118553 0.421875 -0.00377981 0.00403943 0.475577 -0.258434 0.0247703 0.59037 0.330861 -0.343599 -0.0344888 0.496421 1.29808 0.208869 0.40068 0.00717677 -0.0335254 6.22292 0.0447989 -1.91267 0.00247044 0.0612818 0.00858345 -2.89664 -0.0378195 -1.11558 0.621754 0.888825 0.00822872 0.815643 0.412633 -2.13518 -0.0401397 0.0549677 0.00385932 -1.16866 -0.35237 -0.28559 0.0354614 -0.0103156 1.0075 2.30392 1.7189 1.4932 0.299645 -0.380587 0.300485 -0.0855216 0.0651384 0.178431 0.283873 0.481538 -0.232419 0.244672 -1.06017 -1.22088 -21.3299 -2.83443 -6.11766 -1.37619 0.838348 -8.93343 0.116465 0.0171458 -0.731164 -2.04843 0.00533537 0.00568932 0.0202538 -0.129054 -0.762719 0 0 0 0 0 -0.0241127 -0.172855 -0.000190291 0 0 0 0 -6.18501e-06 0 0.000446155 0 0 -9.29575e-05 -5.30894e-05 0.00119471 0 -0.000122072 -0.0154536 0.0273908 0 0 -0.12059 -3.02946e-06 0 0.0124644 -0.239278 0 0 -0.0149534 -0.0705154 0 0.0631517 0 -0.0169433 0 0 -0.00185032 0 0 0.271374 -0.0001139 -0.00170084 0 -0.0035686 0.00160306 0 0 0.0747046 0 -6.1839e-05 0.160267 -0.00266223 0 0 -0.000137236 0.000500565 0 0.00161777 0.0072764 0.00354879 -0.392173 0.00460163 -0.0131619 0 -0.00775611 0.0795612 -0.0447463 -0.0163742 -0.0138216 0 0 0 -1.44572 -0.0385226 -0.274742 -0.00559084 0.0140947 -0.27985 1.03602e-06 2.17989e-05 -8.09454e-06 -0.0381784 0 0 0 0 0 0 -0.142559 0 -0.334631 0 0 0 0 -0.0235085 0.108883 0 0 0.395953 0 0.0510784 0 0.0292789 0 0 -0.24787 0 0.440313 0.00983489 0.0210225 -0.0309792 0 0 0.333852 0 -3.08322 0 3.37513 -0.617122 0 0.105849 0.85334 0.0043675 0 -0.00159133 0 0 0.0185964 0 -0.543961 -0.721616 0 0 -0.0829698 0 0 -0.353253 -0.115421 0.0280957 0 0.206542 0 0.621971 -0.0228801 0.0509902 -0.0273234 0.0260413 -0.289165 -0.173312 0.0442032 -0.551283 -3.83325 0.017962 0 0 0 0.186922 -0.0280346 0 0 0 0 -0.0820778 -20.8565 -3.04065 -1.22543 -0.753717 0.463813 -1.60107 -0.139901 0.0794957 -0.20345 -0.0813444 0 0 0 0 0 0 +444 0 0.342418 0.455616 0.021339 0.0462997 -0.0456129 0.0860913 -0.139457 -0.429084 0.326283 -0.691601 0.0185974 -0.765265 -0.00203034 -0.691969 -0.037802 -0.29002 -1.33383 -0.168895 -0.110972 1.95609 -0.0164015 -0.483314 0.00407387 -0.125141 -0.343498 0.269403 -0.0448316 0.11113 0.568821 -0.31168 0.036911 -0.302962 -1.33847 -0.28198 -0.210169 -0.00231152 0.0223886 -4.78163 -0.0221519 0.588956 -0.0113067 0.155326 -0.0165697 -1.71137 -0.0666399 0.167742 0.240375 -0.847714 0.0539133 -0.188525 -0.174869 -3.36976 0.250413 -0.0987308 -0.262436 -2.18603 -0.581898 -0.695377 0.145712 0.0084346 -3.05081 1.55197 -0.522395 -0.65441 -0.0488062 -0.647466 -0.149501 -0.112328 -0.117398 0.476578 -0.680186 -0.0799917 -0.366807 1.65939 0.00322363 -0.772561 20.1219 3.93478 4.0469 1.92528 -0.39684 4.03248 0.0964023 0.0644682 0.551207 0.258235 0.00940119 0.0171555 0.0366879 -0.107565 -1.31128 0 0 0 0 0 0.021339 0.0462997 -0.000229516 0 0 0 0 2.18534e-05 0 0.00252193 0 0 -6.73176e-05 0.000136624 -0.00248283 0 -4.39216e-05 0.0290123 0.0125836 0 0 0.202161 9.77235e-06 0 -0.00455341 0.900249 0 0 0.0223795 0.159897 0 -0.0568623 0 0.027633 0 0 0.0027705 0 0 -0.221601 0.000529106 -0.00231541 0 -0.00339831 0.0107338 0 0 -0.14665 0 0.00160422 -0.239153 -0.00543453 0 0 0.000299344 0.00173895 0 -6.99214e-05 -0.0199722 -0.00501322 -0.877011 0.0146185 -0.0224946 0 -0.000403116 -0.0149206 -0.0203176 -0.0372248 -0.0677638 0 0 0 0.511685 0.0156144 0.0791591 0.000382714 0.0002421 0.00620977 0.000133129 -0.00034994 0.0044529 0.0385327 0 0 0 0 0 0 -0.0456129 0 0.0860913 0 0 0 0 0.142727 0.0552127 0 0 -0.146466 0 -0.0339885 0 -0.0106382 0 0 1.44449 0 -0.540883 -0.0385072 -0.139471 0.21917 0 0 -0.113516 0 6.12118 0 -2.543 0.416875 0 -0.130717 -0.892387 -0.0232481 0 0.00157196 0 0 0.00358104 0 2.0867 2.31365 0 0 0.359559 0 0 -0.646868 0.503253 -0.039673 0 -0.395572 0 -0.462174 -0.0375198 -0.0220137 0.337865 -0.13316 0.0527155 -0.0264155 0.0307307 0.283131 -1.15354 -0.00783244 0 0 0 0.427246 0.0412482 0 0 0 0 -0.0753787 10.3422 1.16261 0.651651 0.39575 -0.155789 0.474157 -0.0317699 0.0359354 0.030212 0.143202 0 0 0 0 0 0 +445 0 0.244262 -0.191645 -0.00371036 0.132579 -0.19585 -0.00860353 -0.654893 -0.609288 0.186809 1.33103 0.0284285 -0.982131 0.00308776 -0.665258 0.0171945 -1.39865 -6.24127 0.247126 0.0563009 -3.07742 0.0663677 0.091569 -0.00181629 0.427158 -0.487237 -0.167637 0.0490053 -0.375207 -1.98573 -0.109878 -0.00129608 -0.019639 0.703945 0.209372 -0.28015 0.00308025 0.0657629 4.18312 0.200803 -1.02821 0.0174913 0.655092 0.0239133 -3.38164 0.0688624 -0.128985 -0.917653 0.0703563 -0.143968 0.347697 -0.0805535 2.58525 -0.0605834 0.096282 0.363913 -0.553749 0.404361 0.355208 -0.409033 -0.0354739 4.32233 -0.137278 0.717803 0.580407 0.144932 1.5555 0.678964 0.0262496 -0.0401912 -1.25391 0.645078 0.0357535 -0.172826 -1.38819 0.191146 0.628211 -15.5815 -3.68514 -1.58509 -1.86125 0.0168347 0.145914 -0.697735 0.0401358 -0.445193 3.31322 -0.00971473 -0.0302771 0.0606948 0.233185 4.5776 0 0 0 0 0 -0.00371036 0.132579 -0.000992196 0 0 0 0 -0.000120509 0 0.0438304 0 0 -0.000471713 -0.00141321 0.0295659 0 0.00411139 -0.0468181 0.305473 0 0 -0.10886 -5.69985e-05 0 -0.0365155 -1.17418 0 0 -0.00397863 -0.269405 0 -0.254143 0 -0.0211158 0 0 -0.00125002 0 0 -0.542074 -0.0025566 -0.0132846 0 -0.021202 0.0365723 0 0 -0.0874123 0 -0.00186437 0.0198832 -0.00299086 0 0 0.00100866 0.00118701 0 -0.00517141 -0.0784042 -0.00296476 1.44387 0.00980002 0.0594109 0 0.00896201 0.0455986 -0.0141278 0.0470264 -0.126927 0 0 0 3.37509 0.158599 -0.754104 0.0140409 -0.0309233 0.380027 0.000572681 -0.00145689 0.0190706 -0.228447 0 0 0 0 0 0 -0.19585 0 -0.00860353 0 0 0 0 0.0437388 -0.0765822 0 0 0.191505 0 0.0534197 0 6.76929e-05 0 0 -0.877506 0 0.199142 -0.0267756 0.0488102 -0.0702562 0 0 -0.00219189 0 -5.11552 0 0.709454 -0.0877932 0 -0.0401689 0.492242 0.0203754 0 0.000320347 0 0 -0.0150761 0 -1.35057 -1.84237 0 0 -0.158619 0 0 -0.653147 -0.942363 -0.0105671 0 -0.595196 0 0.666024 -0.0480757 0.111004 -0.734628 0.156807 0.434925 -0.304269 -0.0492917 1.26012 2.86602 0.0252035 0 0 0 0.346897 -0.0447584 0 0 0 0 0.0200689 -5.8826 -1.69174 0.931484 0.0729132 -0.117054 0.00538293 -0.0123082 -0.0143385 -0.0480647 0.0229348 0 0 0 0 0 0 +446 0 -0.178895 0.303613 -0.00801197 0.0442045 -0.155844 0.105627 -0.0403845 0.0590773 0.127391 -0.0220968 -0.0161936 0.170737 0.005239 1.30097 -0.0230034 0.282409 2.50792 0.010597 -0.066406 6.61046 -0.00150185 -0.352309 -0.00353572 0.0252926 -0.247589 0.328514 -0.0530904 0.276433 1.15171 0.0159607 -0.00603083 -0.220489 -0.482765 -0.274888 -0.171037 -0.0139798 -0.309088 -0.176252 -0.185497 2.58536 0.0240751 -0.842263 -0.0586456 3.65483 0.110272 0.799464 0.565807 -0.57925 0.155951 0.0549753 0.309467 4.50789 0.312217 -0.0146261 -0.0495703 2.55033 0.369646 1.08232 0.0819855 -0.0364326 -0.180946 -6.69205 -0.329368 0.332526 0.0909257 -0.122011 -0.656876 -0.410401 -0.061916 0.160112 -0.195859 -0.0678501 0.300093 1.30294 0.164057 0.718411 2.29274 0.893544 1.03387 0.626013 0.11446 -0.700409 0.129716 -0.0313367 -0.0390129 -0.336787 -0.0187986 0.0367153 -0.181644 0.358748 -1.74369 0 0 0 0 0 -0.00801197 0.0442045 -0.000760558 0 0 0 0 -8.31058e-05 0 -0.00245453 0 0 -0.00028978 -0.000285218 -0.0124733 0 -0.0017496 0.0557432 -0.018552 0 0 0.211658 -9.71575e-06 0 0.0212275 1.34931 0 0 0.0131073 0.275609 0 0.0460161 0 0.0287913 0 0 0.00148616 0 0 0.0447015 -0.00165685 -0.00667242 0 -0.0149963 0.00342275 0 0 0.0628496 0 -0.000242843 0.159843 -0.00366383 0 0 0.000215404 0.00176526 0 -0.000693079 0.0409333 0.00132199 0.716259 0.00806065 -0.0219306 0 -0.00205174 -0.00525897 0.219362 -0.00289878 -0.0913361 0 0 0 0.26861 0.037394 -0.207983 0.00235274 -0.00391207 -0.0278074 0.000190769 -0.000452569 0.00629563 -0.0221714 0 0 0 0 0 0 -0.155844 0 0.105627 0 0 0 0 0.240714 0.157696 0 0 -0.198703 0 -0.0145807 0 -0.0108934 0 0 1.43134 0 -0.317878 0.0665275 -0.0755313 0.211631 0 0 -0.0271057 0 8.31145 0 0.745629 0.260988 0 0.670227 -0.147905 -0.00524701 0 0.0162152 0 0 -0.00219163 0 2.06845 2.98395 0 0 0.432012 0 0 -0.221423 1.76 0.122599 0 0.73442 0 -0.230168 0.0503245 -0.13109 0.0293089 -0.050198 1.11774 0.119609 0.118114 1.08983 5.63267 0.00695879 0 0 0 0.338875 0.0600655 0 0 0 0 0.162997 -3.82694 -0.0429724 -1.34827 -0.128541 0.100656 -0.286286 0.0463915 -0.0348261 0.0787423 -0.17736 0 0 0 0 0 0 +447 0 0.186089 -0.234412 0.033981 0.0428456 0.0615284 -0.318096 0.554503 0.592162 0.45827 -0.397874 -0.179804 -0.254976 -0.00621827 -0.168245 -0.0291536 0.235026 -0.348396 -0.0615601 -0.138567 -0.571199 -0.03277 0.335974 0.0150567 -0.190854 0.57878 -0.290798 -0.0372695 0.702182 1.11617 -0.194295 0.0911035 -0.09282 0.615975 0.27032 0.420801 -0.0201739 -0.0446504 0.566334 -0.169763 -0.970425 -0.0192993 0.94226 -0.00351332 -1.90692 -0.0410566 -0.899151 0.913599 -0.694806 -0.0912549 0.382025 0.0515014 -2.43896 0.266651 -0.108838 0.337747 -1.00042 0.696997 -0.138974 0.156396 0.045596 -1.43587 0.445175 -1.43917 -0.0405315 -0.318013 -0.392952 -0.618318 -0.217176 -0.279686 0.308664 -0.135297 0.232465 -0.372201 -2.05721 -1.32478 -0.937523 -0.134949 -0.247797 -0.457179 -0.638791 0.621693 -1.99294 0.119919 0.0566722 0.229416 -0.647894 0.0069991 0.00668713 -0.0640594 0.340102 -1.68989 0 0 0 0 0 0.033981 0.0428456 -0.00168861 0 0 0 0 -0.000149075 0 0.0127068 0 0 0.000416865 0.000914862 0.0202487 0 0.00380232 -0.0138115 0.0619735 0 0 0.27261 4.24381e-05 0 -0.00872828 0.342136 0 0 0.0454814 0.0110798 0 0.0816015 0 0.0499789 0 0 0.00840188 0 0 0.603928 -0.00293683 0.00972372 0 -0.0327908 -0.0120265 0 0 -0.0658918 0 0.000938598 -0.263216 -0.000679653 0 0 -0.000241972 0.00579059 0 0.00205192 -0.0335051 0.00353232 -0.941239 -0.00118108 -0.0308837 0 -0.0109881 0.0424534 -0.0651385 -0.0555608 0.107168 0 0 0 -2.74681 -0.098896 -0.0396562 -0.00953443 0.0225052 -0.433405 -0.000273201 0.000645675 -0.00901171 0.0103646 0 0 0 0 0 0 0.0615284 0 -0.318096 0 0 0 0 -0.143287 0.522004 0 0 0.27762 0 0.0325992 0 0.0145371 0 0 -0.00629233 0 0.572126 -0.069494 0.0669096 0.00974299 0 0 0.11257 0 -1.0987 0 0.196395 -0.319543 0 -0.596285 0.75765 0.0121116 0 -0.0127288 0 0 0.0588215 0 -0.174383 -0.816723 0 0 -0.0774656 0 0 -0.101605 -2.18232 -0.0471675 0 0.0548701 0 -0.0460559 -0.00596611 0.059534 -0.380367 -0.0119226 -0.0806836 -0.232703 -0.0463157 -1.14266 -7.91678 -0.00113563 0 0 0 0.0416569 -0.0287449 0 0 0 0 -0.07878 -0.744763 -0.795685 2.46738 0.181685 0.145496 -0.162403 -0.112386 0.102087 -0.105044 0.187695 0 0 0 0 0 0 +448 0 0.0928517 -0.333731 -0.0542801 0.0915572 0.00247686 -0.0101009 -0.479692 -0.846492 -0.0116826 1.62158 -0.315241 0.93415 0.0236647 0.216705 -0.0280524 -0.266735 -1.79274 0.200052 0.000794616 2.99895 0.0701926 0.358612 -0.0243345 0.621751 0.0908378 -0.111797 0.0525099 0.103868 1.01434 0.09943 -0.100092 -0.454791 1.33005 -0.310607 -0.0146727 -0.0827164 0.013366 4.68195 -0.610269 0.663735 0.0969057 -1.21855 -0.155203 2.42492 0.382184 -0.0334649 0.418051 -1.00542 0.339343 -1.04542 0.719332 -0.818631 0.478681 0.161606 -0.207209 0.266167 -0.625586 -1.38146 -0.70125 -0.172931 1.86379 5.32044 -1.66033 0.468775 0.417841 0.513622 -0.481363 -0.0784855 0.0276946 -1.2425 0.20701 -0.482005 0.0722202 2.38516 0.477851 0.0802279 -15.6642 -4.85241 -0.438484 -2.18112 1.26345 -4.04718 -1.28987 0.71487 -1.31236 0.68655 -0.0651526 0.124468 -0.375774 0.654261 -1.53571 0 0 0 0 0 -0.0542801 0.0915572 -0.0016877 0 0 0 0 -0.000237796 0 0.0186665 0 0 -0.000259613 -3.82666e-05 -0.00568472 0 -0.00135352 -0.0325615 0.115143 0 0 -0.106463 1.75276e-05 0 0.0109078 -0.888689 0 0 -0.0159869 -0.182154 0 -0.123571 0 -0.0554905 0 0 -0.00805413 0 0 -0.432348 -0.00482242 -0.009223 0 -0.0342727 0.0452682 0 0 -0.0959523 0 0.000131515 0.110117 -0.00228757 0 0 0.00177273 0.004915 0 -0.00717982 -0.0220051 -0.00962711 2.09242 0.0215255 0.0366906 0 0.0116474 0.0211947 0.382302 0.00201111 -0.19458 0 0 0 3.76551 0.185677 -0.237699 0.0174622 -0.040558 0.471529 0.000623228 -0.00166176 0.0208868 -0.0899333 0 0 0 0 0 0 0.00247686 0 -0.0101009 0 0 0 0 0.0145184 -1.44191 0 0 0.1776 0 0.0516509 0 -0.0859776 0 0 0.172166 0 0.309741 -0.0435688 0.040098 -0.0035993 0 0 -0.598753 0 -4.89486 0 0.652415 -0.36129 0 -0.131576 0.561196 0.0208806 0 -0.00112869 0 0 -0.205715 0 -1.37053 0.345812 0 0 -0.0110448 0 0 1.32272 -2.55386 -0.0288376 0 1.38399 0 0.275047 -0.113122 0.0726844 -0.649337 0.126241 0.0491368 -0.397709 -0.112201 0.880391 4.19192 0.0187619 0 0 0 -0.497919 -0.0236647 0 0 0 0 0.523061 -4.31505 -1.20323 1.07011 0.295662 -0.26277 0.38176 0.0337947 -0.0440312 -0.00260971 0.034446 0 0 0 0 0 0 +449 0 0 0 0 0 -0.508141 -0.279635 -0.508479 -0.0735797 0 0 -0.528127 -1.88875 0 -4.14034 -0.28967 0 0 0 -0.793291 0.75561 0 0 0 0 -0.0771212 0 0 0.794218 3.25158 -1.11841 0 -1.23818 0 0 -0.121239 -0.147894 0 0 -0.630006 0.124501 0 0 -0.212128 -7.5052 0 -0.226741 1.65248 -2.81534 0.398593 -2.15468 0.118328 0 1.06976 -0.844052 0.918812 2.13891 1.38459 -0.495765 0 0 -0.66762 1.41404 0 0.44718 0.604512 1.6082 0 0 0 0 -0.767318 -0.392897 0 0.368097 -1.86811 0 0 0 -0.268496 0 0.283529 -3.2189 0 0.15859 -0.868181 0.730721 0 0.50702 -0.990867 1.58577 -6.78566 0 0 0 -0.0171853 -0.0137756 0 0 0 -0.0116207 0.00905507 0 -0.00283888 0 0.00185273 0.0198979 0 0 0 0 0.0567242 0 0.00795702 0 0.16734 0 -0.0352457 -0.358326 0 -0.00164462 0 0 -0.0803226 0.00100248 -0.0491129 0 0.000324536 0 0.000475896 -0.165013 -0.0121982 0.0190934 -0.0227765 0 9.78819e-05 0 0 0 1.7107e-05 0 0 -0.0024877 0.000708757 0.0231693 -0.00541039 0 0 -0.00804386 0 -0.000773317 0 0 0.000255303 0.00311638 0.12127 -0.0251276 0 0 0.0165908 0.0160321 -0.0141498 0.0595818 0.237985 0 -0.0547876 1.63983e-05 -0.123076 0 0 0 -0.758441 0 -0.088298 0.110659 0 -0.00810773 0.0016793 -0.0294079 0 -0.000843292 0.000235048 -0.00351679 0.0217412 0 -0.508141 -0.0171853 -0.279635 -0.0137756 -0.133451 -0.0429206 -0.0927567 -0.888811 -1.95733 0.0164615 -0.0240949 0.0738384 0.00308881 0.0333288 -0.0234189 -0.10431 -0.0280155 0.0861645 0.0461399 0.372552 -0.273627 -0.227837 0.110487 0.00562758 -0.360252 0.0886451 -1.05341 0.00432354 -11.7129 -0.382837 -2.3167 -1.44616 -0.003666 -1.14466 -0.870896 0.0278492 -0.009278 -0.156045 -0.0645876 0.580256 -0.216414 0.0161418 -4.49819 -0.717758 -0.00108472 -0.0562274 -0.0707402 0.0406311 -0.354398 -0.391886 -2.74081 0.394795 0.0187547 -4.27462 0.0421874 1.31147 -0.127818 0.0346904 -0.89094 0.269119 -1.50677 -0.685286 0.175973 1.38789 -5.292 -0.327223 0.091923 -0.0726092 -0.0299604 -0.807721 -0.144477 0.0933843 -0.0346773 0.0552345 0.0258302 0.592719 10.5328 0.239722 4.03471 -0.107062 0.653639 0.186271 -0.0179894 0.108868 -0.372543 0.887808 -0.00660617 0.107273 -0.282933 0.290774 -0.253325 0 +450 0 0 0 0 0 0.0452273 -0.301852 0.547598 0.93661 0 0 -0.0860229 -0.89695 0 -1.94878 -0.0642786 0 0 0 -0.0409444 -3.1174 0 0 0 0 0.353246 0 0 0.653169 2.31596 -0.654368 0 -0.376706 0 0 0.233838 -0.0119411 0 0 -0.323958 -1.10066 0 0 -0.106118 -3.6496 0 -0.807328 1.11358 -0.444276 0.17366 -0.657111 0.533714 0 0.0876917 -0.0516302 0.334799 -0.404098 -0.215934 -0.47645 0 0 0.777182 2.40689 0 0.386828 -0.141491 0.150317 0 0 0 0 0.293086 -0.701726 0 0.988864 -0.412383 0 0 0 -0.681684 0 0.458491 -2.67008 0 0.350751 -1.03931 -0.872701 0 0.341248 -1.18756 1.89438 -6.60407 0 0 0 0.0131711 0.0055001 0 0 0 -0.0434183 0.0275415 0 -0.00420825 0 -0.00101648 0.00434066 0 0 0 0 0.112825 0 0.00524601 0 0.177779 0 -0.406343 0.100982 0 0.00215002 0 0 -0.0108357 0.000154669 0.00743598 0 0.0021959 0 0.00145129 0.173577 0.00858544 0.00392581 0.0194236 0 -5.51353e-05 0 0 0 0.000115994 0 0 -0.000349826 0.00216293 0.109246 0.00629596 0 0 0.00779634 0 -0.00235995 0 0 0.0123199 0.0239349 -0.0929835 0.00536974 0 0 0.0298623 -0.00326606 0.00799948 0.0730221 0.0316837 0 0.151015 0.00858021 -0.00188392 0 0 0 -0.527157 0 -0.0104277 0.106983 0 9.45423e-05 0.000492422 -0.0577449 0 -7.07693e-05 0.00114407 -0.021273 0.248226 0 0.0452273 0.0131711 -0.301852 0.0055001 -0.000759462 -0.0702237 -0.205695 0.184478 -1.31729 -0.0171683 -0.00420544 -0.323976 -0.0031621 -0.0553211 -0.00925249 -0.0440368 0.00397209 -0.0936563 0.195687 -0.454507 -0.365109 0.0411601 -0.19222 0.00187022 0.117277 -0.0118179 -0.514787 -0.00475851 -5.34517 0.134742 -1.84362 -1.53546 0.000179718 0.454146 -0.862748 -0.033683 0.00354156 0.0266004 0.00566599 -0.042638 -0.106701 -0.00502797 -2.96801 0.779984 -0.00114628 0.0331718 0.090577 -0.0310486 0.172412 0.512617 1.58192 -0.010864 -0.0458885 1.18646 0.101205 -0.534142 0.0894316 -0.114218 -0.00883025 0.259556 -0.66796 0.493707 -0.173492 2.77375 11.4292 -0.128387 -0.0972172 -0.00772412 0.18614 0.0471774 0.0605189 -0.0711022 0.0282956 -0.124137 0.00539288 0.630899 8.38195 1.06082 -1.07651 0.283577 -0.470975 0.820629 0.0288963 -0.0378515 -0.073425 0.276781 0.00718056 0.0118583 0.0257822 -0.0849274 0.263696 0 +451 0 0 0 0 0 0.0541101 0.253474 -0.460166 -1.71197 0 0 0.0652358 0.125386 0 0.820754 0.0206052 0 0 0 -0.0156056 -6.03553 0 0 0 0 -0.572588 0 0 -0.151961 3.99942 0.285019 0 0.232535 0 0 -0.276304 0.0450923 0 0 -0.565192 -0.298378 0 0 -0.136464 -0.167388 0 0.81423 0.888487 0.627361 0.275344 -1.12736 0.351629 0 -0.0424861 -0.0673944 -0.0572604 -2.29834 -0.413928 -0.037067 0 0 -0.52929 -1.92433 0 1.35293 0.906451 1.07952 0 0 0 0 -0.463601 -0.853567 0 -1.77798 0.536461 0 0 0 2.34534 0 1.16341 -4.17848 0 0.608406 -1.49187 3.00708 0 0.659225 -1.50981 2.67774 -9.27082 0 0 0 -0.00263876 0.0299535 0 0 0 -0.0242921 -0.00180662 0 -0.000138615 0 -0.00349082 -0.0521829 0 0 0 0 -0.162635 0 -0.024601 0 -0.397448 0 -0.251384 -0.220025 0 0.00287643 0 0 0.258989 -0.00194736 0.011035 0 0.0006504 0 -6.93384e-05 -0.0272121 0.0299582 -0.0379594 0.0142189 0 -0.000183319 0 0 0 3.4984e-05 0 0 0.00480227 -9.31252e-05 0.202947 0.0105227 0 0 0.0411843 0 0.000101608 0 0 0.00939611 0.0098384 -0.0235003 0.0515038 0 0 0.0814361 -0.0256114 0.016044 -0.0679641 0.13025 0 0.308839 0.00903673 0.0736952 0 0 0 1.18454 0 0.168685 -0.754543 0 0.0145552 -0.0452551 0.0295359 0 0.00158545 -0.00575707 0.0218709 -0.283015 0 0.0541101 -0.00263876 0.253474 0.0299535 -0.251344 -0.171672 0.234684 -0.874646 1.35156 -0.0381956 0.0870073 -0.458588 -0.00692634 -0.0736246 0.0543332 0.0701247 0.0502309 -0.21143 -1.25834 -2.56153 -0.143188 -0.194048 -0.182937 -0.160488 0.608947 0.0349477 0.511622 -0.0535908 2.1347 0.291464 -2.19341 1.01578 0.00832978 -1.02866 -0.865142 -0.0284384 0.00614132 -0.150689 0.029044 0.223199 0.217914 0.00643245 1.15129 -2.37336 0.00866076 0.0563432 -0.343379 -0.355385 -0.0120391 0.791531 -1.60617 0.099974 -0.179308 -0.0836832 -0.115107 0.387889 0.255077 -0.184554 -0.177974 0.0329571 -0.874892 0.579481 -0.271835 -4.70191 -21.0185 0.0131768 0.365594 0.0425024 0.0829885 -0.631028 0.142947 -0.200087 0.07777 0.117101 -0.00908402 -0.6947 9.9723 1.42836 2.40867 0.564715 -0.962076 0.607683 0.0547764 -0.154601 0.295875 0.296716 0.0162102 -0.0700342 0.176447 -0.10322 -0.319454 0 +452 0 -0.591234 -0.149704 0.00190827 -0.0303333 -0.145327 -0.0888754 0.573862 0.952195 0.00137139 -0.618903 0.00915888 0.873623 -0.000842184 0.963034 0.00653155 -1.06603 -2.41975 -0.231731 0.00965237 -2.16258 -0.068409 0.132004 0.000484171 -0.226785 0.621866 -0.494543 -0.118029 -0.00284116 -0.233306 0.273644 0.00305866 0.0714028 -0.00446371 -0.642894 0.361574 0.00590482 -0.413687 -0.48659 -0.0692312 -1.17874 -0.00590827 -1.74248 -0.00134533 2.28701 -0.0439227 -0.61178 -0.132441 0.0987907 -0.0297282 -0.12411 -0.159892 5.31387 -0.114716 -0.0120648 -0.0208616 -1.20647 -0.291239 -0.118041 0.307924 0.0082424 -0.379891 1.40012 0.218139 0.192434 0.529069 -0.24832 0.0857127 -0.538049 -0.00845816 0.286669 -0.153736 -0.0659626 0.539911 -0.36223 0.258241 2.22677 2.07804 0.679526 -1.37006 0.305633 -0.499458 1.07319 0.596887 -0.330311 0.430709 -0.7231 0.000567231 0.00180876 0.0259935 0.0458296 0.260137 0 0 0 0 0 0.00190827 -0.0303333 -0.00010235 0 0 0 0 -6.13904e-05 0 -0.00265061 0 0 0.000848474 0.00198992 -0.00493395 0 -0.000467682 -0.033595 -0.0336614 0 0 0.045996 0.00010534 0 0.017713 -0.621626 0 0 1.26179e-05 -0.190599 0 0.0993129 0 0.0110675 0 0 0.000738008 0 0 0.323338 -0.00115968 0.0160368 0 -0.00192692 -0.0343897 0 0 0.0374118 0 -0.000209901 -0.181753 -0.00288117 0 0 -0.00163447 0.000156615 0 0.000448433 -0.0245968 -0.0029967 0.470208 -0.0127139 0.013889 0 -0.00252492 -0.00311676 0.156746 -0.0391207 -0.00534575 0 0 0 -2.65713 -0.192702 -0.0794383 -0.0120364 -0.0105523 -0.00416797 -0.000722725 -0.000633747 -0.00133508 0.00308115 0 0 0 0 0 0 -0.145327 0 -0.0888754 0 0 0 0 0.217955 0.187127 0 0 -0.138408 0 -0.0159472 0 0.0229359 0 0 0.100841 0 0.491298 0.0624314 -0.0268799 0.0118754 0 0 0.21954 0 4.69639 0 1.57219 0.932037 0 0.420415 0.825191 -0.00200947 0 0.0301182 0 0 0.0223004 0 2.47503 0.0896714 0 0 0.0161977 0 0 -0.0737568 0.0271088 -0.10087 0 0.0298194 0 0.749693 -0.137212 0.0587847 0.295263 -0.00940075 0.771704 -0.604823 0.131582 -1.01228 -3.05885 0.0196474 0 0 0 -0.00669762 0.0507456 0 0 0 0 -0.184612 -1.97648 0.0616562 0.382507 0.272059 -0.0350279 -0.48487 0.152831 -0.100503 0.02643 -0.0993628 0 0 0 0 0 0 +453 0 -0.103913 0.245471 0.000264626 -0.0532952 -0.172014 0.256313 -0.34299 -0.113633 0.252374 0.338631 -0.0220635 0.300878 0.000916996 0.651027 -0.00459884 3.29778 10.6911 0.165835 -0.00722392 1.50597 0.0563865 -0.12808 0.00132332 0.122258 -0.422297 1.07691 0.0990303 -0.619636 -0.649823 0.302123 0.0186624 -0.111256 -0.00724949 0.61155 -0.371503 -0.00165752 0.444276 0.411415 -3.76547e-05 1.228 0.00566528 2.05049 0.00185907 1.05771 0.0352622 0.961492 -0.593475 -0.181894 -0.00648396 0.631001 0.132593 -7.74504 0.0324082 0.0121953 0.0309651 -0.0897136 0.175571 0.244477 -0.185095 -0.00998693 -0.677743 -1.25232 -0.526875 0.929993 -0.298489 0.516634 -0.533308 0.396 -0.117067 0.0812237 -0.239165 -0.151338 -0.863292 0.262496 0.486581 -2.44083 0.0526788 -0.0965409 -0.913599 -0.124424 -0.0259768 -0.880258 -0.323247 0.185905 -0.235546 0.302301 -0.000455387 -0.00109298 -0.0154628 0.0201672 0.724555 0 0 0 0 0 0.000264626 -0.0532952 0.00163468 0 0 0 0 0.000192842 0 0.0111069 0 0 0.000696842 0.000584229 0.00845195 0 0.00115628 0.039711 0.074532 0 0 0.0140852 3.09373e-05 0 -0.00207869 1.0126 0 0 0.00743147 0.241485 0 0.00136361 0 -0.00572624 0 0 -7.75382e-05 0 0 0.0492218 0.00364272 0.0130442 0 0.0307938 -0.0187801 0 0 0.162591 0 0.00330883 0.208333 0.000642428 0 0 -0.00134785 -0.00253502 0 0.00967456 0.0154577 -0.000109871 -0.105132 0.0349319 0.0179718 0 0.00179046 0.0136259 -0.0689327 0.00666176 0.0497104 0 0 0 -2.77507 -0.220151 -0.377403 -0.0163205 -0.0143349 0.0618544 -0.00058077 -0.000508913 -0.00109312 -0.00599226 0 0 0 0 0 0 -0.172014 0 0.256313 0 0 0 0 -0.0565483 0.152699 0 0 0.110682 0 0.016333 0 -0.00226185 0 0 0.288085 0 -0.53694 -0.00315393 0.00336901 0.0452819 0 0 -0.0303252 0 5.09475 0 0.521808 0.756549 0 0.037105 -0.436074 0.0037952 0 -0.00753263 0 0 0.0169858 0 1.74399 0.348493 0 0 0.0498033 0 0 -0.175719 0.558189 -0.00654015 0 0.804735 0 0.281718 0.0408293 -0.0101525 0.0369778 0.0512192 0.325976 0.0679488 0.0136069 0.440032 5.98983 0.0155683 0 0 0 0.210231 -0.00172829 0 0 0 0 -0.0529546 -4.24068 -0.70716 -0.256351 0.0367875 -0.21813 0.105857 -0.0016922 -0.00262581 -0.0284508 0.0319828 0 0 0 0 0 0 +454 0 -0.165301 0.122601 -0.0128443 0.000703636 -0.0075436 -0.0904831 0.0587629 0.829665 -0.218566 -0.11716 -0.144234 -0.722066 0.00175935 -2.36356 -0.0207349 -0.51198 -3.94949 -0.0784968 -0.00878749 -1.43701 0.00956759 -0.296753 -0.00308456 0.0250142 0.100926 0.10569 -0.0243574 -0.12662 -0.402356 -0.38771 -0.0279192 -0.317941 -0.889212 -0.31447 -0.0501498 -0.021664 -0.181646 -2.63258 -0.119269 -0.849095 0.0111173 -0.946526 -0.0162577 -4.46667 0.0685818 -0.493514 -0.204825 -0.266255 0.012695 -1.27226 -0.0724648 4.65264 0.0835541 0.0306515 0.104545 1.82417 0.764828 0.318597 -0.0720582 -0.0237788 0.413926 0.718969 1.95667 1.03112 0.672389 0.351562 -0.0408835 -0.155435 0.094048 0.375231 0.00303296 -0.046902 0.395594 0.0770055 0.182685 1.95659 5.74899 1.7739 -2.69298 1.30481 -1.5237 2.87387 0.0744738 -0.164699 0.235301 -0.972318 -0.000885685 -0.00135609 -0.0356364 0.0789666 0.448629 0 0 0 0 0 -0.0128443 0.000703636 0.00135135 0 0 0 0 0.000254883 0 0.0087045 0 0 -0.00114936 -0.00343641 0.0123581 0 0.00140507 0.0266985 0.0837799 0 0 -0.194396 -0.000181905 0 -0.0207055 -0.0463544 0 0 -0.0210587 0.0523214 0 -0.115711 0 -0.0331406 0 0 -0.0035567 0 0 -0.356029 0.00481471 -0.0218137 0 0.0254526 0.0616434 0 0 0.158243 0 0.00274216 0.90306 0.00664125 0 0 0.00220928 -0.00209051 0 0.00931176 0.0506014 0.00641323 0.729309 0.0751816 -0.0182991 0 0.00797865 -0.00665816 0.103762 0.0319154 0.024103 0 0 0 1.54349 0.144975 -0.220392 0.00434761 0.00379144 -0.026848 0.000987884 0.000866503 0.00181113 -0.00748555 0 0 0 0 0 0 -0.0075436 0 -0.0904831 0 0 0 0 0.398329 -1.09992 0 0 -0.0717431 0 -0.0154306 0 -0.0613585 0 0 0.251147 0 -0.752118 0.0606598 -0.107315 0.000303068 0 0 -0.62705 0 -6.42681 0 -2.66202 -0.810815 0 0.544915 -1.31564 -0.0179547 0 0.0520164 0 0 -0.118364 0 -2.18441 -0.284512 0 0 -0.0898578 0 0 -0.0606401 3.42642 -0.302304 0 -0.692965 0 -0.694275 0.0899162 0.03538 0.39529 0.0650517 0.364629 0.538904 -0.0927521 2.35698 11.0822 -0.00995015 0 0 0 -0.022052 -0.0119937 0 0 0 0 0.318113 12.4252 0.634607 -0.908053 0.570775 -0.562689 1.05968 -0.0833063 0.0266413 0.063053 -0.292152 0 0 0 0 0 0 +455 0 -0.596238 0.175492 -0.0242066 -0.0049721 -0.12181 0.25711 0.366313 -0.0969165 0.0232853 0.908958 0.401552 1.45398 0.00991346 3.52669 0.183359 2.05388 8.08953 0.218797 0.315338 -0.135463 -0.00513747 -0.021717 -0.0111192 0.152412 -0.28234 0.534729 -0.171492 -0.660806 -1.52131 0.967951 -0.0297521 1.07671 0.357225 -0.0262277 -0.0705383 0.0745534 -0.48167 2.23709 0.250259 0.446843 0.0455392 -0.260577 0.0394018 6.38156 0.207668 0.655445 -1.09124 1.78284 -0.111786 2.30864 0.579189 2.8626 -0.566057 0.401881 -0.662762 -0.850193 -1.13601 -0.131177 -0.309025 -0.0748358 1.70553 -0.0860244 -1.18067 1.27974 -0.0194358 -1.38773 -1.01271 -0.709271 -0.0111606 -0.863663 0.829194 0.857431 0.249697 -0.0129329 1.20354 0.358574 -6.95622 -2.70908 0.682676 -0.900009 0.9338 -1.69668 -0.453921 0.617927 -0.666317 -1.2045 -0.187857 0.0681619 0.323087 -1.7684 5.34776 0 0 0 0 0 -0.0242066 -0.0049721 -0.000199505 0 0 0 0 -8.39877e-06 0 -0.00636941 0 0 0.000369548 0.00023134 -0.00947719 0 -0.00134797 -0.0824972 -0.0367937 0 0 -0.0498879 1.22465e-05 0 -0.0115281 -1.08353 0 0 -0.00821112 -0.312902 0 -0.0613687 0 -0.0230667 0 0 -0.0037581 0 0 -0.107549 -0.000158656 0.00698089 0 -0.00376871 -0.0175227 0 0 0.0641101 0 -0.00038432 -0.0834721 -0.00162403 0 0 -0.000711887 0.00032481 0 -0.00147687 -0.0334941 -0.00173255 0.834003 -0.0152054 0.0100959 0 -0.00182218 -0.00752879 0.0425267 -0.010794 0.00202473 0 0 0 -0.215887 -0.0613471 0.0379925 -0.0029316 -0.00257056 0.00262825 -0.000314349 -0.000275635 -0.000581422 0.00202046 0 0 0 0 0 0 -0.12181 0 0.25711 0 0 0 0 0.339881 0.507653 0 0 -0.173861 0 -0.0330416 0 0.0613923 0 0 -0.10416 0 -0.646589 0.0825957 -0.120294 -0.0106983 0 0 0.644314 0 6.63977 0 -0.488398 0.899628 0 0.612504 -0.817477 -0.0219764 0 0.045802 0 0 0.0377875 0 2.91005 0.448443 0 0 0.0692516 0 0 -0.083765 1.48104 0.17698 0 0.883495 0 -0.0520263 -0.132252 0.00842365 0.38213 -0.0264132 0.246715 -0.179797 -0.0644236 -0.772475 3.17091 0.0512004 0 0 0 0.114091 0.0518327 0 0 0 0 -0.198054 7.29249 -0.327701 0.755135 -0.152123 0.0363816 0.612203 0.049755 -0.0400545 0.0615798 -0.219804 0 0 0 0 0 0 +456 0 -0.157547 -0.0821711 0.0452497 0.0337447 -0.101066 -0.0652373 0.790643 1.6482 0.168637 -1.0128 0.27626 1.38768 -0.0172727 1.93567 0.112135 -0.646139 -0.710164 -0.199098 0.175334 -0.605982 -0.0149172 0.195475 0.0210646 -0.29425 0.6256 -0.346253 0.0878084 -0.0209967 -0.669588 0.656878 0.0751442 0.577684 0.199971 -0.0333853 0.336153 0.0670087 0.29932 -0.201813 0.502086 -0.337308 -0.0713441 0.4528 0.129846 3.40257 -0.280428 -0.102735 -0.253019 0.959467 -0.287402 0.722356 -1.05415 6.02402 -0.304532 0.219182 -0.317441 1.14827 -0.3812 -0.228315 0.467353 0.124327 0.358559 1.26965 1.91599 -1.90082 -0.38778 -0.148363 1.31181 0.494926 -0.0800873 1.05994 0.164416 0.563724 -0.272586 0.277065 0.327708 0.0370394 2.97759 1.71626 -3.42164 -0.1229 -1.14459 1.95879 0.897672 -1.1907 1.93002 -3.43559 0.253676 -0.471989 0.795742 -1.46722 2.35376 0 0 0 0 0 0.0452497 0.0337447 0.000445143 0 0 0 0 1.35883e-05 0 0.0110454 0 0 -0.000181855 -0.000150837 0.0150195 0 0.00248823 0.0959501 0.0487009 0 0 -0.0808322 -7.98485e-06 0 0.0288953 0.2199 0 0 -0.00548687 0.245572 0 0.150429 0 0.00224527 0 0 0.00205343 0 0 0.339558 0.000256687 -0.00343529 0 0.00840891 0.0108175 0 0 -0.00742057 0 0.000857512 0.170996 0.00147121 0 0 0.00035032 -0.00072473 0 0.00267229 -0.0101477 0.00137705 -0.514339 0.0186614 -0.00257763 0 0.00210626 0.0107533 -0.206058 0.00629271 0.0416761 0 0 0 -0.873286 0.0112747 -0.10049 -0.000495455 -0.000434437 0.00116154 0.000154691 0.00013564 0.000286118 -0.00092301 0 0 0 0 0 0 -0.101066 0 -0.0652373 0 0 0 0 0.153603 1.32732 0 0 -0.0135 0 0.00221311 0 0.0546102 0 0 -0.0927143 0 0.699537 0.0266307 -0.00859999 0.0148894 0 0 0.56743 0 5.76852 0 2.23022 1.0374 0 0.326366 1.13574 -0.00137634 0 0.0138805 0 0 0.132581 0 2.6747 -0.789935 0 0 -0.0419603 0 0 -0.0332616 -0.251335 0.114974 0 1.12477 0 0.347534 -0.0275567 -0.000508235 0.235343 0.157971 0.306208 -0.142274 -0.155138 -1.36702 -2.19224 -0.0223658 0 0 0 0.231573 0.0316866 0 0 0 0 -0.435399 -10.7185 -0.603129 -0.577652 0.210843 -0.144284 -0.583532 0.0690879 -0.0526042 0.00393079 -0.0529428 0 0 0 0 0 0 +457 0 0.466328 0.464227 0.111663 0.171787 -0.22975 -0.297956 1.88234 4.19889 0.478617 -2.25649 0.295472 0.327274 -0.0415639 1.4033 0.143935 3.59726 11.0146 -0.173766 0.23217 -0.765132 0.0387966 -0.166676 0.0519595 -0.578909 1.04733 1.14769 0.5018 0.410227 -0.240011 0.380535 0.190998 0.637081 -1.05305 1.68671 0.582115 0.0906502 1.04351 -5.70262 0.744417 -0.545176 -0.164388 4.19054 0.230538 0.738515 -0.60167 -0.460696 0.228107 1.17906 -0.468197 2.36303 -1.4534 -16.8877 -0.384569 0.319019 -0.430115 -1.68186 -0.603213 -0.00208347 0.930603 0.280204 1.2753 -0.151001 4.13817 -4.06279 -2.01524 -0.956631 3.01357 1.61507 -0.228011 1.4943 0.397036 0.538904 -1.42974 -0.754169 0.286385 -5.13378 18.4353 7.64669 -7.28236 4.58351 -4.64937 7.15821 1.72437 -2.25638 3.56108 -6.63441 0.544271 -0.862132 1.16606 -1.518 0.843695 0 0 0 0 0 0.111663 0.171787 0.000461931 0 0 0 0 1.69148e-05 0 0.00470345 0 0 -0.000539799 -0.000356099 0.0280669 0 0.00198976 0.0956417 0.0734165 0 0 -0.00795111 -1.88509e-05 0 -0.0996567 0.382424 0 0 0.00656512 0.201286 0 -0.228543 0 0.0349839 0 0 0.00814271 0 0 -0.533026 0.000319526 -0.010197 0 0.00872603 0.0271558 0 0 0.0921096 0 0.000889851 0.302251 0.0027022 0 0 0.00103985 -0.000752061 0 0.00318032 0.0503482 0.00278823 0.250075 0.0294033 -0.00995032 0 0.00354147 0.00437538 0.100362 0.010894 -0.0438288 0 0 0 1.68392 0.0761614 -0.104695 0.00290418 0.00254651 0.0200088 0.00045917 0.000402621 0.000849284 -0.00441368 0 0 0 0 0 0 -0.22975 0 -0.297956 0 0 0 0 0.244187 1.80931 0 0 -0.311485 0 -0.0361483 0 0.0496923 0 0 0.0158847 0 0.0662863 0.0703429 -0.0425528 0.0114968 0 0 0.508636 0 5.23854 0 -1.73041 -0.135067 0 0.610605 -0.239447 -0.00483275 0 0.0323541 0 0 0.183047 0 1.18819 -1.09558 0 0 -0.119288 0 0 -0.00765763 1.81895 0.235787 0 1.65363 0 -0.331505 0.113856 -0.169219 0.399072 0.0595778 0.387761 0.0710193 0.0294003 -1.03843 3.58244 -0.0614331 0 0 0 0.250844 0.0249573 0 0 0 0 -0.454315 11.0323 1.26604 -0.419868 0.606341 -0.394729 0.489759 0.0633703 -0.0671886 0.1251 -0.273054 0 0 0 0 0 0 +458 0 0 0 0 0 -0.0420824 0.00200912 -0.573145 -0.426739 0 0 0.316174 0.0678952 0 -0.359524 0.0229051 0 0 0 -0.0597296 -1.37646 0 0 0 0 0.192378 0 0 -0.150198 -3.49555 -0.101178 0 -0.356431 0 0 0.031624 0.0513134 0 0 1.49526 -1.12562 0 0 0.402711 0.335633 0 -0.591908 -0.909714 -1.47721 -0.879495 -0.0861151 -0.718679 0 0.177196 -0.0393848 0.528522 -0.683273 -0.343208 -0.81281 0 0 0.0847611 0.563647 0 -2.61717 -0.525277 -0.350568 0 0 0 0 -0.0513922 1.21054 0 -1.16618 -1.14838 0 0 0 0.079893 0 -1.08149 1.8199 0 -1.11008 0.886659 0.774698 0 -1.90452 2.4795 -3.5565 9.05514 0 0 0 -0.12266 -0.0422807 0 0 0 -0.0263009 -0.0165526 0 -0.00350873 0 0.00488964 0.00748795 0 0 0 0 -0.0759867 0 -0.0045064 0 0.0373455 0 -0.181206 0.0981371 0 0.00161096 0 0 0.0990725 0.00180071 0.0159707 0 -0.00105613 0 -0.00118721 -0.0713383 0.0166267 0.026254 -0.00868395 0 0.00033318 0 0 0 -8.09572e-05 0 0 -0.00155779 0.00437792 -0.0518369 0.0140046 0 0 0.0205882 0 0.0109034 0 0 0.045641 -0.017849 -0.102875 0.00644062 0 0 0.018708 0.0407315 0.043385 0.0450712 -0.0530431 0 -0.0807357 -0.0149909 -0.431233 0 0 0 -0.0592387 0 -0.0177822 -0.0765621 0 0.00161421 -0.0022861 0.000503272 0 -0.00179602 0.000506418 -0.0033735 -0.0726868 0 -0.0420824 -0.12266 0.00200912 -0.0422807 0.33634 0.0788617 -0.117931 0.298891 -2.56134 0.0682774 -0.150505 -0.174705 0.0101589 -0.0145804 -0.0388833 -0.111728 -0.11736 0.429219 0.811389 1.93157 0.323334 -0.0553972 -0.507243 0.0778429 -1.23262 -0.136226 -0.897638 0.0215785 -0.092696 -0.104191 2.6717 0.305627 -0.00739985 -0.422736 0.951325 -0.0693723 -0.00722836 0.050822 -0.0525485 -1.06231 -0.333257 -0.017476 0.394619 2.15973 -0.0146198 -0.0199369 0.225362 0.210244 -0.531666 -0.329471 2.61179 -1.00043 0.274341 0.14258 0.00221825 -0.168255 -1.20304 0.962405 0.432681 -0.225507 0.039714 -0.646964 -0.0337401 -2.34835 -1.06981 -0.140988 0.328698 -0.172536 -0.407316 -0.332327 0.0651298 0.0688508 -0.161687 -0.0308713 0.195251 0.211821 -5.05376 0.0533676 1.69025 -2.42649 1.27887 0.978843 0.114153 -9.6336e-05 0.356129 0.0684254 -0.649215 0.287003 0.149352 -0.306587 0.947739 0 +459 0 0 0 0 0 -0.552966 -0.197443 0.265572 0.914421 0 0 -0.161659 -0.321169 0 0.0852474 0.0580344 0 0 0 0.252899 0.665506 0 0 0 0 0.193859 0 0 0.483486 3.94216 -0.255588 0 0.658886 0 0 0.120589 -0.0133245 0 0 -1.04644 -0.175819 0 0 -0.171259 0.313105 0 -0.347374 1.11992 1.29807 0.420114 1.1829 -0.0104188 0 -0.750379 0.0151461 0.0456052 -0.631325 -0.430027 0.290175 0 0 0.095833 -1.60221 0 0.16349 -0.41824 0.210256 0 0 0 0 -0.107322 -0.175871 0 -0.521194 -0.527325 0 0 0 -2.03106 0 0.709473 -3.12225 0 0.50509 -1.01667 -1.31618 0 1.05959 -1.74027 2.20289 -7.39217 0 0 0 0.144232 0.0341451 0 0 0 0.00150369 0.00115728 0 0.000627675 0 0.00368588 0.0356197 0 0 0 0 0.0832798 0 0.0142794 0 0.196353 0 -0.0123809 0.219177 0 -0.00598371 0 0 -0.111177 5.43279e-05 0.0699515 0 0.00509179 0 5.73062e-05 0.18322 -0.028158 -0.000751813 0.0350062 0 0.00028884 0 0 0 0.00036831 0 0 0.0109248 0.00976691 0.0117851 -0.0411817 0 0 -0.0119407 0 0.0087341 0 0 -0.0280845 0.00963036 -0.13489 0.0126829 0 0 0.00418204 0.0917905 0.0214831 0.00466596 -0.129351 0 0.018404 -0.0370417 0.145133 0 0 0 -0.110906 0 0.0133477 0.0153233 0 -0.00400717 0.0127465 -0.0789728 0 0.00216294 -0.00310213 -0.000456794 0.0407082 0 -0.552966 0.144232 -0.197443 0.0341451 -0.486268 -0.110654 0.152781 -0.283247 1.76138 -0.0485675 0.00190774 0.198736 -0.00753394 0.0386542 0.030862 0.128299 0.00721622 -0.276792 -0.937803 -0.682301 -0.0656619 -0.050823 0.360345 -0.152138 0.0120613 0.0818213 1.13608 -0.0296925 -0.843239 -0.326589 -1.13601 -0.838654 0.00494051 0.274087 -0.318693 0.0559469 -0.00390057 -0.0518363 -0.0441479 1.00082 0.212682 0.00539014 -0.9455 -1.49858 0.00151791 -0.0251736 -0.281913 -0.150316 0.0934952 -0.279695 -2.75991 0.589732 -0.0644275 -0.913395 -0.0194866 0.206177 1.07652 -0.386244 -0.251672 -0.150936 -0.114715 0.505484 0.25611 -1.13992 -6.26597 0.313147 -0.250708 -0.120782 -0.00618822 0.13829 -0.098012 0.115181 0.117869 -0.000326196 0.102099 -0.470377 2.14886 -0.140397 -1.66044 1.12092 0.0467377 -1.9207 -0.138709 0.220402 -0.520827 -0.173662 0.418662 0.132843 -0.65646 0.618823 -1.06316 0 +460 0 0 0 0 0 0.483647 -0.173367 -0.0610553 -1.38214 0 0 -0.380333 -0.265926 0 -0.927493 -0.0585696 0 0 0 0.169809 3.57197 0 0 0 0 0.289218 0 0 0.660767 0.544581 -0.570984 0 0.220999 0 0 0.35391 -0.0364333 0 0 -1.86443 -0.108057 0 0 -0.404916 2.13692 0 -0.913541 0.537537 2.07492 1.09577 -3.14194 0.481345 0 -0.215543 0.281928 -0.492356 1.64269 -0.664646 -1.03986 0 0 0.107017 1.91735 0 0.955491 1.29363 0.509837 0 0 0 0 -0.0548264 -2.34961 0 0.175223 0.72958 0 0 0 2.37919 0 2.27185 -0.800263 0 1.23884 -0.976005 3.79858 0 2.00572 -1.46096 3.7926 -2.59338 0 0 0 0.373305 0.100605 0 0 0 0.109328 0.120902 0 0.0173404 0 -0.00577385 0.0102699 0 0 0 0 -0.0120368 0 -0.00474162 0 0.0732153 0 0.580544 0.722149 0 0.00185582 0 0 -0.0927816 -0.00170442 0.104539 0 0.0135906 0 0.00873929 0.132608 -0.00310924 -0.027003 0.0246409 0 -0.000366656 0 0 0 0.000995207 0 0 0.0107509 -0.00150905 -0.0802065 -0.0283573 0 0 -0.0225023 0 -0.0255213 0 0 0.0499027 0.0106361 -0.00537201 -0.0184648 0 0 0.0360545 0.0496431 -0.0874676 0.0439734 -0.393631 0 -0.065297 -0.0153233 -0.0381119 0 0 0 -0.0402489 0 0.0296157 0.0441088 0 -0.00515464 0.00890213 -0.0359136 0 0.00371006 -0.00364159 0.00527419 0.0639409 0 0.483647 0.373305 -0.173367 0.100605 -0.238522 -0.0420759 0.453234 0.220413 0.732626 -0.147616 0.00282047 -0.504384 -0.0233249 -0.0686209 0.101382 0.053469 -0.0183665 -0.829484 -0.23005 -1.31287 0.184363 -0.130522 0.0169686 -0.0333363 0.243395 -0.126621 0.277771 -0.0253078 -1.51884 -0.0409608 0.144867 -0.852105 0.0173141 -0.481696 0.245186 0.0302433 -0.00271957 0.0416533 -0.0420476 -0.70825 0.172067 -0.0203674 -1.04862 -1.3208 -0.0055728 0.0145948 -0.244872 -0.18324 0.025506 -0.680957 0.630351 -0.607741 -0.0692267 -4.87017 -0.0700223 0.568766 0.668316 0.462608 0.0913003 0.355613 -0.131161 0.00461766 -0.204271 -0.534371 -8.07592 -0.252325 -0.317867 -0.351336 0.0715701 -0.314787 0.185728 -0.0084357 0.352934 -0.324237 0.176048 -0.0984443 -0.27403 0.470979 1.36311 0.674962 0.21473 1.63574 0.416185 -0.178129 0.126088 0.925922 1.25464 -0.282144 0.24348 -0.0163823 0.909923 0 +461 0 0.405613 0.221661 -0.0201743 -0.0941972 0.175253 0.196771 0.136797 -0.0526275 -0.147673 0.357901 -0.23983 1.24965 0.00318978 1.77433 0.00276344 0.35766 1.43388 -0.0549697 -0.022895 7.2546 -0.0163774 -0.230259 -0.00360433 0.0783287 -0.0409292 0.222172 -0.0336747 -0.0346442 1.66572 0.392705 -0.024756 0.0394638 -0.290365 -0.339824 -0.130868 -0.0212389 -0.234694 0.0467207 -0.425899 3.06221 0.0236124 -1.60081 -0.0462041 5.52275 0.149156 1.25327 0.586051 -0.228282 0.163207 0.760746 0.396469 8.97385 0.0835291 -0.0716984 -0.00588388 1.03633 0.0156919 -0.0858935 -0.183468 -0.0601392 -0.131454 -3.01857 -2.07371 1.31106 0.624223 0.160463 -0.531943 -0.493753 0.0461077 -0.492745 0.198881 0.100986 0.451728 0.268676 0.694908 1.49437 -0.0965214 -0.792441 1.1242 -0.593642 0.428108 0.663457 -0.132988 0.292629 -0.479449 0.367821 -0.125508 0.218732 -0.79419 0.708236 -2.08552 0 0 0 0 0 -0.0201743 -0.0941972 0.00129853 0 0 0 0 0.000318086 0 0.00868692 0 0 0.000176666 0.000561781 0.00165544 0 0.000813257 -0.0131556 0.0116006 0 0 0.0847052 3.88294e-05 0 0.0060159 0.337013 0 0 0.0204354 -0.0279781 0 0.0157465 0 -0.0014982 0 0 0.00109476 0 0 0.254355 0.00452957 0.00256537 0 0.0183449 0.0141487 0 0 0.0606773 0 0.00470442 -0.113904 -0.00601921 0 0 0.00123221 0.000445629 0 -0.015154 -0.0813675 2.24941e-06 -0.127729 0.00839519 0.0175719 0 0.0252532 0.0057325 -0.0574251 0.0200414 -0.00598574 0 0 0 -0.442561 0.0309291 -0.0625681 -0.0254596 0.0284846 -0.0301043 0.000138557 -5.96153e-05 -0.000448407 -0.00141676 0 0 0 0 0 0 0.175253 0 0.196771 0 0 0 0 -0.453098 0.39133 0 0 0.602236 0 0.0675262 0 0.0276448 0 0 0.320792 0 -0.601268 -0.145888 0.370372 0.0232941 0 0 0.249115 0 0.54909 0 -3.48908 -0.112088 0 -1.12566 -1.3635 0.0425048 0 -0.0573387 0 0 0.0407556 0 0.0279176 0.570589 0 0 0.0152819 0 0 0.270611 -4.65998 0.0257349 0 -0.498043 0 -0.913988 0.249694 -0.254129 -0.387564 -0.331209 -0.718569 -0.189723 0.0553838 0.0686015 -5.54683 0.257283 0 0 0 -0.175678 -0.217233 0 0 0 0 0.0723209 15.3112 0.966855 2.31441 1.35449 -0.670481 1.09303 -0.402723 0.235834 -0.19835 0.407352 0 0 0 0 0 0 +462 0 -0.839831 0.10896 0.0236001 0.19966 -0.283122 0.117043 -0.195848 0.661119 0.166451 -0.777854 -0.172015 -0.283716 -0.00306896 0.344793 -0.0147145 0.80243 -0.0672075 0.00535723 -0.0158038 -2.19186 -0.00327014 -0.356027 0.00214328 -0.121263 -0.322861 0.484371 -0.0282025 -0.630462 -0.498249 0.173898 0.0186162 -0.146788 -0.307846 0.103791 -0.264729 -0.0125359 -0.258857 0.391813 -0.171124 -0.171324 -0.0287337 0.144605 -0.00934008 -1.44935 -0.267864 0.356048 -0.684159 -0.190747 0.0352924 0.770759 -0.370574 -1.03348 0.0947399 -0.0950728 0.392682 0.025393 -0.147939 -0.304122 0.332677 0.0921541 0.301667 0.208186 -0.169374 0.0994308 0.45851 -0.745695 0.0628241 -0.162933 -0.0352661 -0.0440188 0.491253 -0.289643 0.201636 -2.01212 0.0940642 -0.87042 -5.6909 0.672676 -2.26201 0.717386 0.413425 -1.6005 0.861698 -0.308326 0.65218 -1.3913 0.225397 0.000980093 0.377314 -0.0249709 0.62382 0 0 0 0 0 0.0236001 0.19966 0.00313287 0 0 0 0 0.000378012 0 -0.00462915 0 0 -0.00155834 -0.00326545 -0.00116808 0 -0.000240904 0.026455 -0.0212065 0 0 0.111708 -0.000215707 0 0.0101901 0.455591 0 0 0.0136499 0.155852 0 0.0722254 0 0.0134524 0 0 0.00159114 0 0 0.265519 0.00524222 -0.0240708 0 0.043438 -0.000553425 0 0 0.0531888 0 0.00286826 -0.0284093 -0.0032518 0 0 0.007989 -0.00784477 0 -0.0190324 0.0882662 -0.017522 -0.698556 0.00505965 0.0322801 0 -0.0113001 0.00812299 -0.0833529 -0.0658453 -0.0207329 0 0 0 -0.263627 0.0283521 0.0233685 -0.0102653 0.0154215 -0.0373994 0.00338023 -0.00354756 0.00249336 0.00420198 0 0 0 0 0 0 -0.283122 0 0.117043 0 0 0 0 -0.0323597 -0.0652183 0 0 -0.20998 0 -0.0265136 0 -0.0270196 0 0 0.252827 0 -0.576991 0.0909881 0.0588558 0.0465246 0 0 -0.248515 0 1.23654 0 1.73281 0.812549 0 0.697448 -0.382888 0.00488094 0 -0.00233292 0 0 -0.00379159 0 1.32634 -0.142673 0 0 -0.00617503 0 0 -0.114332 2.8638 -0.133259 0 -0.161225 0 0.354123 -0.164583 0.18149 0.548909 0.0718392 0.0844537 -0.125368 0.0431315 -0.363706 2.59196 -0.168699 0 0 0 0.0240336 0.094009 0 0 0 0 -0.131381 -15.5056 -0.915287 -2.56619 -1.17371 0.665067 -1.13761 0.11546 -0.0952251 0.136754 -0.441407 0 0 0 0 0 0 +463 0 1.58906 -0.194222 0.0724102 0.389288 -0.181686 -0.0119537 0.173442 0.319026 0.526429 -1.46279 0.265236 -0.816072 -0.0110698 -0.509833 -0.0572604 -1.66738 -1.96919 -0.164868 -0.114346 -1.88474 0.0123246 0.394996 0.0117506 -0.221491 -0.346843 -0.80323 -0.0306285 -0.253054 -0.890851 -0.141833 0.0829368 -0.415509 0.217938 0.197453 -0.166413 0.030435 -0.0405765 -2.65541 0.697636 -0.415269 -0.0853867 1.27905 0.0909387 -2.64364 -0.588786 0.000192317 -0.412648 -0.811094 -0.307147 0.72006 -0.792189 7.52298 0.377329 -0.319493 0.365177 1.1436 1.01442 0.554735 0.640459 0.228329 0.52888 -1.48332 2.14358 -0.832875 -0.493678 0.701195 1.35234 0.167752 -0.154808 0.77838 -0.460262 0.165023 0.144059 -1.41929 -0.372889 -0.0146672 8.22849 2.85691 0.512461 1.79 -1.46502 3.2356 0.967852 -0.761616 1.38841 -0.0455208 0.495439 -0.449615 0.743394 -0.672912 1.11537 0 0 0 0 0 0.0724102 0.389288 0.00205687 0 0 0 0 -0.000490803 0 0.000485874 0 0 -0.000173027 -0.00257953 -0.00550932 0 0.000420365 0.00227114 -0.0447649 0 0 0.295403 -0.000169328 0 -0.0217798 0.50456 0 0 0.0330222 0.0318754 0 -0.0609095 0 0.0649557 0 0 0.00689748 0 0 -0.102807 -0.00717335 -0.0042624 0 0.0271464 -0.0211215 0 0 -0.0429644 0 -0.00954164 -0.112875 0.0114992 0 0 0.00277159 -0.0117387 0 0.00223704 -0.00213839 -0.0076555 -0.660832 -0.0041573 0.0118179 0 0.0052263 -0.0134125 -0.0432591 -0.119834 0.0159898 0 0 0 0.2491 -0.0156658 0.0746477 0.0160651 -0.0165803 0.010053 0.00106645 -0.00103876 0.000270166 0.00633103 0 0 0 0 0 0 -0.181686 0 -0.0119537 0 0 0 0 -0.0279182 0.220671 0 0 -0.970439 0 -0.113366 0 -0.0218992 0 0 -0.42312 0 0.365158 -0.00481689 -0.492486 -0.0846719 0 0 -0.185499 0 -2.17875 0 -3.02521 -0.20508 0 0.00651871 -0.354721 -0.0587831 0 -0.00421733 0 0 0.0173035 0 -1.02401 -1.06792 0 0 -0.200028 0 0 0.207834 0.915185 -0.118798 0 2.88583 0 -0.694853 -0.402921 0.212755 -0.404257 0.157808 0.816604 1.49435 -0.31844 0.875539 6.16063 -0.088775 0 0 0 0.097447 0.31883 0 0 0 0 0.155917 9.85778 1.0522 1.48806 1.08939 -0.611157 1.45202 0.655452 -0.270458 0.247366 0.0719841 0 0 0 0 0 0 +464 0 0.529024 -0.256926 -0.00699185 -0.0173451 0.0310663 -0.142183 0.304144 -0.266568 0.0281165 0.59453 0.19674 -0.908876 0.000951292 -1.49547 -0.00669659 -1.4326 -4.46818 0.0361374 -0.0321547 -2.95975 0.00693031 0.412357 -0.00037902 0.120838 -0.0795035 -0.544064 -0.00250833 0.132412 -0.266901 -0.283925 -0.00271508 -0.0265312 0.461816 -0.0326379 0.0811398 0.0127713 -0.0295944 0.117908 0.0909541 -1.63746 0.0139087 -0.583334 0.00577446 -4.05538 0.201919 -0.624787 -0.0393285 -0.449756 0.00666029 -0.0951708 0.582165 -3.00614 0.0645182 -0.0911002 -0.247805 -4.54278 0.0960414 0.181721 -0.253436 -0.042748 -0.54418 1.19877 -1.39901 0.369592 -0.112472 -0.365577 -0.266967 0.0561625 -0.00875478 -0.108151 -0.000376672 0.182144 0.0316293 -1.45055 -0.090473 0.413433 -1.21531 -1.36911 0.0488653 -0.428704 -0.237355 0.369863 -0.617741 0.406013 -0.597743 0.941949 -0.0427348 -0.0414238 -0.124032 -0.0265602 0.402566 0 0 0 0 0 -0.00699185 -0.0173451 0.000628643 0 0 0 0 7.15574e-05 0 0.0186465 0 0 0.000751723 0.000442128 0.00764501 0 0.00116202 -0.0154019 0.11774 0 0 -0.216917 2.63812e-05 0 -0.0107661 -0.460924 0 0 -0.0247989 -0.130814 0 -0.0931279 0 -0.0160025 0 0 -0.00185968 0 0 -0.0895223 0.0010391 0.0112816 0 0.00911819 0.00012375 0 0 -0.0706027 0 0.00237757 -0.206185 -0.00254502 0 0 -0.0021618 0.00140731 0 0.000336605 -0.0766987 0.00753432 -0.247067 -0.00360807 0.0144023 0 0.0116448 0.0296134 -0.0862229 0.0407991 0.0639686 0 0 0 0.0653699 0.00174103 -0.126876 -0.00534303 0.00401076 0.0320005 -0.00118558 0.00131285 -0.0013146 -0.0440972 0 0 0 0 0 0 0.0310663 0 -0.142183 0 0 0 0 -0.209844 -0.145224 0 0 0.0663914 0 0.0102715 0 0.000622544 0 0 -0.559743 0 0.236286 -0.108871 -0.0977396 -0.0653511 0 0 0.0133571 0 -2.71618 0 -3.05676 -0.399998 0 -0.749947 -0.569643 -0.0111871 0 -0.0284235 0 0 -0.00949827 0 -1.01947 -1.26098 0 0 -0.168555 0 0 -0.783404 -3.77146 0.0655741 0 -2.84679 0 -1.23364 0.114919 -0.276245 -0.3531 -0.216825 -0.652774 0.48214 -0.0539116 2.19342 -4.04294 0.264651 0 0 0 0.16156 -0.0511384 0 0 0 0 0.0868659 14.8179 1.77801 0.637317 1.33247 -0.750347 1.14439 -0.0350009 0.0495964 -0.0178866 0.231209 0 0 0 0 0 0 +465 0 -0.893021 -0.335015 0.0102249 0.0629173 -0.287526 -0.124689 0.410591 1.14838 0.0908475 -0.444034 0.0660991 0.787509 -0.000665192 0.504878 -0.0228893 -0.533905 1.28923 -0.117475 -0.0329829 1.67306 -0.00932623 0.452234 0.000789216 -0.0362314 0.492154 -0.425639 -0.00904851 0.234379 0.316785 0.202778 0.00951603 -0.43212 0.57588 -0.0981554 0.258309 0.00251619 0.0529791 1.09021 0.0697006 0.574027 -0.00800294 -0.133685 0.0038994 2.53954 -0.0878884 -0.0452464 0.236842 -0.566159 -0.0262806 -0.440297 -0.0401631 4.45711 0.102249 -0.0370832 0.0412983 3.46464 0.015927 0.0151264 0.0956496 0.0226478 0.731308 1.69335 0.759414 0.381552 0.204954 0.426716 -0.0878454 -0.115069 -0.0230187 -0.0254836 -0.034096 -0.218319 -0.266832 3.77902 0.260033 0.158967 -4.99346 -0.261568 -1.55327 0.0729526 0.194516 -1.77154 0.0922542 0.0378032 0.11992 -0.936534 0.018601 0.00646513 0.032758 -0.102453 -0.477806 0 0 0 0 0 0.0102249 0.0629173 -0.00301441 0 0 0 0 -0.000259805 0 -0.0129518 0 0 0.00135049 0.00250523 -0.00775006 0 -0.00135504 0.0159979 -0.0705044 0 0 0.078953 0.000183221 0 0.00917313 0.256699 0 0 0.00907753 0.0933213 0 0.0675324 0 0.00858635 0 0 0.000975803 0 0 0.261272 -0.00367124 0.0185372 0 -0.0421623 0.020682 0 0 0.014514 0 0.0047138 0.0831695 -0.00952067 0 0 0.00309439 0.0128386 0 -0.00808898 0.0247769 -0.0103648 0.224837 0.00206619 0.00749536 0 -0.0114108 0.0203131 -0.0398971 0.06522 -0.0229693 0 0 0 -0.316171 -0.00413702 0.0484689 -0.00842987 0.0123384 -0.0523293 -0.000235482 0.000654406 -0.00278726 0.014373 0 0 0 0 0 0 -0.287526 0 -0.124689 0 0 0 0 0.345331 -1.45921 0 0 -0.721185 0 -0.0833033 0 -0.0938382 0 0 0.530176 0 0.570348 0.125309 -0.444712 0.0394377 0 0 -0.845528 0 -1.77871 0 2.51382 0.00595963 0 0.898833 0.806278 -0.052195 0 0.045971 0 0 -0.159237 0 -0.504946 0.99198 0 0 0.0721229 0 0 0.468458 3.5619 -0.0213111 0 1.26449 0 0.707154 -0.877288 0.490877 0.402893 0.0278625 0.336625 0.48484 -0.029441 1.35459 6.76888 -0.0174116 0 0 0 -0.240915 0.234793 0 0 0 0 0.527508 -16.1948 0.156038 -3.80537 -1.66837 0.854367 -1.17266 0.528592 -0.258502 0.222597 -0.408885 0 0 0 0 0 0 +466 0 0.613756 0.133853 0.0301975 0.270099 -0.0499709 0.259174 -1.36795 -1.90549 0.311914 -0.996195 -0.366685 1.04204 -0.00182169 0.706158 0.0149127 0.456132 3.13318 -0.226384 0.00624083 -2.0529 -0.0127931 -0.102336 0.00184465 -0.0539566 -0.450942 0.132786 -0.0563542 -0.707202 -1.03138 0.467974 0.0253587 0.224789 -0.346802 -0.349992 -0.376122 -0.0289752 -0.258735 -2.28935 -0.413896 -0.0532236 -0.0240049 -0.886966 -0.0312816 2.50001 -0.301955 0.595396 -0.87627 0.0895549 0.12651 0.412144 -0.547999 -2.45478 0.0256233 0.00978154 0.218034 -3.34601 0.159268 0.220432 0.383632 0.0779844 1.42959 -0.0285781 1.1111 0.0305178 0.253629 0.780109 0.142422 -0.506193 -0.0716163 0.0437227 0.419215 0.0600074 0.362826 -0.784881 0.762812 1.45127 4.35717 1.85035 1.5029 1.3602 -0.606714 2.52462 0.27282 -0.101175 1.20103 1.6855 0.0639069 0.0913522 0.336861 0.474564 1.55562 0 0 0 0 0 0.0301975 0.270099 0.000104932 0 0 0 0 -9.05675e-05 0 -0.0117012 0 0 -0.000120671 0.000859728 -0.0107854 0 -0.00129765 0.0305858 -0.113489 0 0 0.358038 7.55311e-05 0 0.00650719 0.963404 0 0 0.0454145 0.19797 0 0.0443242 0 0.0303905 0 0 0.0036632 0 0 0.179227 -0.00140064 -0.00373204 0 0.000185543 -0.00782896 0 0 0.0568184 0 -0.000241034 -0.00194157 -0.00170474 0 0 0.00742636 0.00127176 0 -0.0127244 0.0355879 -0.0171724 -0.489002 0.00189336 0.0147069 0 -0.00509256 -0.00810392 -0.0737881 -0.0448955 -0.0240757 0 0 0 -0.165568 0.00559063 0.104077 -4.4376e-05 0.00310043 -0.0415708 0.00213871 -0.00196685 -0.000204734 0.0329459 0 0 0 0 0 0 -0.0499709 0 0.259174 0 0 0 0 -0.158406 0.130304 0 0 -0.039477 0 -0.000630318 0 0.0134569 0 0 -0.369122 0 -0.0517294 -0.0465821 0.239669 -0.0559778 0 0 0.119336 0 1.30993 0 0.821645 0.630883 0 -0.19905 0.556461 0.0294512 0 -0.0220163 0 0 0.0107052 0 0.949477 -0.220121 0 0 -0.0465525 0 0 -0.030815 0.230302 -0.0111713 0 0.209333 0 0.0433014 -0.21435 0.0945499 -0.106738 -0.00115763 0.331001 0.477972 -0.137866 0.808242 1.71404 0.17202 0 0 0 0.0478868 0.0521727 0 0 0 0 0.0483343 -6.40488 -0.67798 0.438142 -0.586613 0.149045 -0.0805428 0.0112908 -0.00194542 0.0067353 0.149708 0 0 0 0 0 0 +467 0 0 0 0 0 -0.440916 -0.312759 0.490896 0.999492 0 0 0.338295 -1.22098 0 -1.18216 0.0200155 0 0 0 -0.502314 -5.91897 0 0 0 0 0.232132 0 0 0.67589 -1.69362 -0.599033 0 0.456628 0 0 0.231401 0.0213434 0 0 1.54679 -2.93828 0 0 0.235658 -3.35877 0 -1.39161 0.164528 -0.85472 -0.439575 1.02253 0.0374406 0 0.285698 -0.0561876 -0.0354373 -2.04266 -0.909729 -0.406956 0 0 0.919794 4.89095 0 -0.372713 -0.308964 -0.730248 0 0 0 0 0.0988125 1.63408 0 0.534996 -0.841672 0 0 0 -0.337095 0 -1.70621 1.64758 0 -0.751557 0.666576 -3.10303 0 -1.46836 1.1479 -4.37175 5.72118 0 0 0 -0.203255 -0.0515722 0 0 0 -0.0412832 -0.000886398 0 -0.00636561 0 0.00464152 0.0202309 0 0 0 0 -0.0293624 0 -0.0131584 0 0.178515 0 -0.162874 0.0622186 0 0.00418797 0 0 0.254896 0.00216782 -0.0169343 0 0.00141612 0 0.000270989 0.0127326 0.0271413 0.0373936 -0.00936545 0 0.000217305 0 0 0 7.84894e-05 0 0 -0.00542544 0.00210202 0.29736 0.0561714 0 0 -0.00277421 0 0.00142278 0 0 0.00219217 0.00319412 -0.0179187 -0.0289679 0 0 0.121085 0.0641367 0.00278168 0.495677 -0.206896 0 0.257909 -0.000671987 0.00766528 0 0 0 -0.63356 0 -0.0792176 -0.879282 0 -0.00154099 -0.0562528 -0.294484 0 -0.00261597 -0.00325724 -0.00745625 -0.557257 0 -0.440916 -0.203255 -0.312759 -0.0515722 0.0969198 0.066346 -0.272639 -0.284047 1.53788 0.0629094 0.0657098 0.310002 0.0107949 0.0615583 -0.0507224 0.107474 0.0177748 0.293196 0.369347 0.145956 -0.0171501 0.0252221 0.190368 0.109834 0.20963 -0.153427 0.90871 0.00187726 0.261521 0.390695 -0.634279 -0.84851 -0.00867773 -0.0576079 -0.216718 0.0360033 0.00376282 -0.0555624 0.0971745 -1.02995 0.1634 -0.0256698 -0.539187 0.651265 0.00728867 -0.00695687 0.242439 0.0252788 -0.135906 0.156781 2.92015 1.23734 0.0194101 -0.0386072 0.0357872 -1.23394 0.500715 -0.80316 -0.157981 0.0126389 0.881814 1.09116 -0.0731708 -1.34396 -6.67901 -0.00585831 0.0650891 0.122164 0.137137 -0.063721 -0.0662743 0.0292241 -0.123674 0.115673 -0.170702 -0.117581 4.79429 -0.547557 0.0401343 -0.676217 -1.58943 4.25387 -0.499535 -0.0364113 0.25045 0.224103 -0.399259 0.0197673 0.203057 -0.751706 1.71775 0 +468 0 0 0 0 0 0.961667 0.263701 -0.560622 -2.92544 0 0 0.555775 1.12801 0 1.30148 0.0886227 0 0 0 -0.0341137 3.98683 0 0 0 0 -0.284605 0 0 -0.650417 -4.16018 0.507535 0 0.467462 0 0 -0.0680364 0.143437 0 0 0.497151 1.42612 0 0 0.268054 2.89225 0 0.595683 -1.6908 -0.0284454 -0.523656 0.748872 -0.162412 0 -0.111371 0.626742 -1.00704 -0.406589 -0.438369 0.213401 0 0 1.35516 -3.58987 0 -0.896159 -0.317833 -0.158339 0 0 0 0 0.62586 1.31264 0 -0.0899451 2.38615 0 0 0 4.82088 0 0.181857 4.14197 0 0.0526212 1.68977 1.64335 0 -0.56231 3.58371 -8.11013 22.8674 0 0 0 0.16404 0.00539688 0 0 0 0.00113432 -0.015205 0 -0.000670119 0 -0.00191599 -0.0636842 0 0 0 0 -0.119826 0 -0.0318205 0 -0.387257 0 0.0926267 0.190988 0 0.00125584 0 0 0.0299762 -0.000357736 0.0148926 0 0.000430189 0 -0.000882712 0.0847125 0.00309578 -0.0143445 0.00949577 0 -6.88985e-05 0 0 0 -5.92186e-06 0 0 -0.00154045 0.00365292 -0.11405 -0.00784386 0 0 0.007636 0 0.00644329 0 0 -0.014063 0.0150066 0.184896 0.00811055 0 0 0.0324716 0.0602123 -0.068033 -0.168035 -0.590635 0 0.0541233 -0.00716588 0.080986 0 0 0 1.22273 0 0.0713262 -0.385745 0 0.00591708 -0.0314072 0.303113 0 -0.000497434 -0.00200632 0.027836 -0.200577 0 0.961667 0.16404 0.263701 0.00539688 0.116979 0.0960889 -0.155408 0.593494 1.22819 0.0010191 -0.0789317 -0.341312 0.00119507 -0.0606858 -0.0249725 0.0976197 -0.0320363 -0.0481446 -0.299932 -0.42452 0.0978288 -0.107861 -0.268611 -0.0791075 -0.177055 -0.185112 0.730724 -0.00192234 3.78104 0.114527 2.81931 0.524137 -0.00447484 0.188303 0.536416 -0.0332296 0.00382077 0.0685324 0.0120455 -1.06544 0.15482 -0.0314284 1.40442 -0.996597 -0.0106818 0.0136839 -0.316413 -0.0332441 0.0180121 0.606975 -0.469731 0.342366 -0.0292344 1.99104 0.0498703 -1.84935 0.741758 -0.745452 0.66469 -0.101365 0.204257 0.484218 -0.204728 0.295707 4.84292 0.101173 0.333222 -0.00817437 0.013155 0.108966 0.0784736 0.0336742 -0.0207442 -0.116305 0.0174582 -0.172588 -21.3102 -1.48387 2.15737 -1.73764 1.835 0.682426 0.279758 -0.390174 0.89543 0.0471566 0.0655609 -0.189423 0.544346 -0.642666 1.74904 0 +469 0 0 0 0 0 -0.559918 -0.132389 -0.172958 0.591589 0 0 0.815339 0.133833 0 0.726155 0.0328479 0 0 0 -0.0194683 4.36047 0 0 0 0 0.127388 0 0 -0.0636118 -9.40597 -0.215041 0 0.0854022 0 0 0.0400644 0.111842 0 0 3.07502 0.0473351 0 0 0.535042 3.31279 0 -0.553057 -1.89243 -0.632871 -0.660921 -0.864501 -0.132504 0 0.125716 0.530418 -0.885057 0.245086 -0.162488 -0.69325 0 0 -0.253453 1.24752 0 -0.839881 0.0226817 0.557378 0 0 0 0 0.000518647 1.20765 0 -0.626761 1.45722 0 0 0 -0.998505 0 -3.79779 11.8097 0 -1.21206 3.86302 0.985759 0 -2.67549 7.25515 -12.7327 34.5307 0 0 0 -0.380453 -0.0934841 0 0 0 -0.0970071 -0.0241493 0 -0.01426 0 0.00725677 -0.00445633 0 0 0 0 -0.0447788 0 -0.0312122 0 0.0828857 0 -0.482501 -0.482008 0 -0.0048669 0 0 -0.471068 0.000269784 -0.0882606 0 0.00288238 0 -0.00136656 -0.168326 -0.0541347 0.0175306 -0.0337538 0 0.000302103 0 0 0 0.000137002 0 0 0.00200227 -0.000550067 0.164211 0.0209103 0 0 -0.0459193 0 0.00345534 0 0 -0.0487721 0.0263445 0.100235 -0.0608315 0 0 0.191726 0.0555932 -0.0231275 0.189749 -0.219115 0 -0.113509 -0.00663949 0.365846 0 0 0 0.260606 0 -0.102473 1.24852 0 -0.00849422 0.0692081 0.209306 0 0.000471879 0.00661545 -0.0488726 0.716139 0 -0.559918 -0.380453 -0.132389 -0.0934841 1.16491 0.251543 -0.346103 0.533834 0.939203 0.1245 -0.0288373 0.126581 0.0199937 0.0570198 -0.0796656 0.12587 -0.0423921 0.685035 0.159398 2.31317 0.28646 0.00801591 -0.088824 -0.0357453 -0.503017 -0.229811 0.759559 0.0400882 3.48602 -0.131096 2.15631 -0.217886 -0.0152157 0.616693 0.909944 0.0105451 -0.00328904 0.0496789 0.0255022 -1.19817 0.140235 -0.0355349 0.859086 1.40283 0.00031701 -0.071368 0.159 0.307632 -0.0312747 -0.692459 -1.06649 1.42689 0.162893 0.0425967 0.0424963 -0.202407 0.466106 -1.17645 0.499538 -0.190165 -1.21752 -0.627956 0.155295 -0.692188 -4.30086 0.088447 -0.510417 0.235376 0.299485 0.503934 -0.130554 0.203819 -0.250655 -0.147281 -0.243523 -0.365384 -16.2988 -2.59989 -0.358817 -4.05714 2.50099 1.85058 -0.760161 0.293116 0.418874 -0.32263 -0.932846 0.636054 -0.352751 -0.0639561 1.40806 0 +470 0 -0.412954 0.000337385 -0.0257947 -0.140948 -0.0293689 0.269874 -1.34426 -2.36412 -0.186363 1.07448 0.140854 0.0881887 0.00567666 0.584359 0.00592906 -0.747615 -3.09753 0.210794 0.0903236 -0.114413 0.0192948 -0.158313 -0.00612099 0.131354 -0.780858 -0.0447095 -0.00208822 -0.76691 -1.76137 0.374942 -0.0343046 -0.0336626 -0.151318 0.21866 -0.487648 0.0206546 -0.0859979 0.955226 0.262576 0.899388 0.0225562 0.604139 0.0240445 -0.195441 0.052108 0.801224 -1.07566 0.537948 -0.0823526 1.45193 0.0124222 -0.700999 -0.00741584 0.17914 -0.355888 1.39199 -0.524125 -0.162405 -0.166009 -0.0296217 -0.489558 -0.959841 0.748092 0.586755 -0.632726 1.07966 -0.278423 0.0226896 0.0271928 0.0577819 -0.238368 0.0526355 0.258125 0.0915802 1.27122 -1.06236 -0.694541 -1.88124 4.02986 -1.29527 1.15945 -0.370877 -0.861827 1.02035 -1.64496 5.2448 -0.070552 -0.139689 1.11479 -1.67796 5.24761 0 0 0 0 0 -0.0257947 -0.140948 -0.000972948 0 0 0 0 -1.90644e-05 0 0.0331089 0 0 -3.72413e-05 0.00131589 0.0357182 0 0.00495358 0.053694 0.249515 0 0 0.171056 5.31642e-05 0 0.00967609 0.854829 0 0 0.0135235 0.252245 0 0.103046 0 0.0201788 0 0 0.00184314 0 0 0.622018 -0.000255192 0.000855753 0 -0.0187817 -0.010031 0 0 0.0953078 0 0.000360561 0.79763 -0.0133915 0 0 -0.000587416 0.00361638 0 0.00480361 -0.0773781 0.0196919 0.894992 0.0176537 0.0156431 0 0.012933 -0.0629253 0.0518501 0.0509771 0.154007 0 0 0 -4.71258 -0.162284 -1.11121 -0.020416 0.0506351 -0.702261 -0.000182553 0.000513652 -0.00616496 -0.24095 0 0 0 0 0 0 -0.0293689 0 0.269874 0 0 0 0 0.107988 -0.071311 0 0 0.442198 0 0.0391966 0 -0.0147929 0 0 0.0247728 0 -0.0700542 -0.0392565 0.00982679 -0.0114119 0 0 -0.140302 0 0.503873 0 2.30984 0.541971 0 -0.215297 0.469743 -0.00708478 0 0.0133209 0 0 -0.00941793 0 0.439768 0.376041 0 0 0.0487317 0 0 -0.00179957 -1.76904 -0.065827 0 0.0406056 0 0.576504 -0.139328 0.0923945 -0.09691 -0.0299527 0.0847257 -0.870754 0.0948305 -0.156975 1.97196 0.0101293 0 0 0 -0.129927 -0.0941221 0 0 0 0 0.0281887 -13.6535 -4.00477 2.96378 -1.50491 1.39746 -1.4647 -0.264464 0.241725 -0.306484 0.161942 0 0 0 0 0 0 +471 0 1.58924 0.421558 0.00386065 0.177774 0.014214 0.170566 -0.0349134 -0.404485 -0.0659835 0.2984 0.189558 -0.173683 0.00359268 0.673263 -0.02341 0.696384 1.81555 0.0875157 -0.00433494 -0.658857 0.068661 -0.278 -0.00844642 0.243993 -0.481375 0.371163 0.0382585 -0.197341 -0.58384 -0.0610477 -0.0319605 -0.279165 -0.656102 -0.0652744 -0.303364 0.0106041 0.115398 -3.4493 0.415391 0.22688 0.0129659 -0.0651174 0.0222483 0.843307 0.0043376 0.250347 -0.271042 -0.228664 -0.0294996 1.12771 0.18208 0.462005 -0.348116 0.0902622 0.12797 0.186176 0.388653 0.759353 -0.340897 -0.0418608 0.116019 0.170172 -0.691293 -0.164019 -0.621592 0.084006 0.516909 0.681111 0.101343 -0.463211 0.05538 0.0908782 -0.346338 -1.24403 -0.344568 -0.237212 8.6266 1.30527 0.536611 1.96367 -2.24733 4.93912 -0.419048 0.517709 -0.592798 1.57482 -0.00587292 -0.278042 0.388786 -1.04532 1.73942 0 0 0 0 0 0.00386065 0.177774 0.000599657 0 0 0 0 0.000344891 0 0.00885134 0 0 -0.00159624 -0.00439399 0.0264292 0 0.00351226 0.0352112 0.0908075 0 0 0.0663969 -0.000185638 0 -0.0649257 0.5586 0 0 0.00797249 0.152361 0 -0.184049 0 -0.0066927 0 0 -0.000650523 0 0 -0.809321 0.00763204 -0.0362468 0 0.016074 0.0587661 0 0 -0.0422588 0 0.00437225 0.159523 -0.00306309 0 0 0.00175428 0.00140975 0 -0.00474682 0.00996842 -0.0144406 -2.00594 0.0445905 0.0223541 0 -0.00377287 7.31792e-05 0.0791814 -0.130096 -0.020792 0 0 0 5.17961 0.278209 -0.256174 0.0215208 -0.0507786 0.725474 0.00109817 -0.00263674 0.0362959 -0.127675 0 0 0 0 0 0 0.014214 0 0.170566 0 0 0 0 -0.15447 -0.0121918 0 0 -0.271702 0 -0.00399333 0 -0.0188051 0 0 0.408383 0 -0.525005 -0.0713813 -0.164663 0.0686474 0 0 -0.114913 0 4.256 0 -5.40697 0.062296 0 -0.512118 -1.67792 -0.00743746 0 -0.0252692 0 0 -0.0146816 0 0.899523 0.856013 0 0 0.151282 0 0 -0.0970547 1.76538 -0.0869794 0 0.0168747 0 -1.2827 0.0865805 0.047873 -0.466205 0.104938 0.273614 1.46561 -0.229091 -0.878054 -2.00302 -0.015652 0 0 0 0.211504 0.0710094 0 0 0 0 -0.247709 45.6086 5.83461 1.4307 3.00007 -3.41731 5.55856 0.150969 -0.188336 0.303843 0.36228 0 0 0 0 0 0 +472 0 -0.365445 -0.215031 -0.118176 -0.352698 0.459876 0.0969314 -0.907948 -3.4928 -0.477848 2.50324 -0.641273 0.155669 0.0325385 0.239855 0.0360341 -0.581714 -0.24693 0.322342 0.101465 -2.03326 0.0481504 0.133866 -0.0297581 0.546269 -0.38051 -0.364493 -0.00930144 0.154022 1.94478 0.0967992 -0.13167 0.0780405 0.179534 -0.115804 -0.0169354 -0.10779 -0.329296 0.843241 -1.58335 -0.843729 0.171103 -2.0661 -0.29703 1.90821 0.812611 -0.258477 0.601826 0.24387 0.781348 3.28537 0.909412 -2.72189 0.0121049 0.417254 -0.363716 -0.897715 -0.373533 0.424714 -0.612571 -0.338193 1.01773 0.400839 -1.38005 0.138144 -1.10726 -1.39224 -0.586845 0.0480537 0.0727954 -0.191343 0.812124 -1.35975 0.234997 0.948427 0.232883 -0.449454 -1.4714 -4.05336 5.16896 -2.71204 3.40725 -4.25516 -2.73731 2.97849 -5.17223 6.29502 -1.10024 1.66557 -2.52707 3.77942 -5.79403 0 0 0 0 0 -0.118176 -0.352698 -0.00174564 0 0 0 0 0.000179495 0 -0.0114891 0 0 0.00117126 0.00863318 0.00488753 0 0.00266785 -0.0361673 -0.126411 0 0 -0.208732 0.000375789 0 -0.0944185 -0.519516 0 0 -0.0182749 -0.147947 0 -0.0480877 0 -0.0781217 0 0 -0.00747097 0 0 0.186501 0.00400964 0.0296844 0 -0.0346972 -0.101167 0 0 0.434075 0 0.00190813 0.548448 -0.0105832 0 0 -0.00102678 0.00680729 0 -0.00254814 0.114603 0.0258618 -1.00933 -0.00329785 0.000566303 0 -0.0228346 0.162224 0.211953 -0.0633259 0.283922 0 0 0 -0.134385 -0.104685 0.275152 0.000553357 -0.00543147 0.0575419 -0.000980592 0.00239352 -0.032478 0.0362749 0 0 0 0 0 0 0.459876 0 0.0969314 0 0 0 0 -0.770033 -2.35294 0 0 1.18233 0 0.135839 0 -0.11322 0 0 -0.0079199 0 0.402099 -0.165211 0.552518 0.00949386 0 0 -0.834866 0 -3.80582 0 1.45078 -0.40395 0 -1.59055 0.650552 0.0646564 0 -0.0818672 0 0 -0.301525 0 -1.48303 1.02103 0 0 0.139142 0 0 -0.141494 -2.75692 -0.60194 0 -0.623345 0 0.453655 -0.514237 0.541575 -0.933423 -0.115387 0.979567 -0.976879 0.31205 1.58077 5.42213 0.185997 0 0 0 -0.19922 -0.310593 0 0 0 0 0.531989 -6.00561 -5.5878 7.48796 -1.32313 1.38522 -1.49191 -0.766588 0.817196 -1.11416 1.53458 0 0 0 0 0 0 +473 0 -0.473174 -0.362433 -0.0821574 -0.171961 0.135542 0.0943549 -0.688198 -1.98728 -0.278707 1.5702 -0.309118 0.225925 0.026397 -0.163496 -0.117537 -1.77716 -6.21259 0.250829 -0.154735 3.24075 -0.0241184 0.153973 -0.0171493 0.229914 -0.401027 -0.690459 -0.199061 0.0500167 0.2296 0.0410918 -0.0728695 -0.491955 0.29285 -0.536893 -0.111552 -0.0903504 -1.06935 0.663324 -0.628125 1.60134 0.116238 -2.94143 -0.216733 0.316573 0.377617 0.710403 0.148552 -0.552247 0.44816 -2.04519 0.706248 -0.902789 0.290427 -0.366456 0.36802 -0.186579 1.59424 0.923274 -0.33374 -0.141615 -0.339281 -3.43647 -1.04382 1.97138 1.59759 0.125975 -1.66464 -1.64727 -0.133344 -0.241094 0.0329188 -1.2239 0.477029 -0.806157 -0.056121 1.60878 2.40357 -2.77912 3.92012 -1.85161 2.31941 -3.60373 -1.79169 2.01713 -3.67999 5.30539 -0.787341 1.3421 -1.54689 2.59282 -1.59002 0 0 0 0 0 -0.0821574 -0.171961 -0.00208682 0 0 0 0 -0.000167258 0 0.00498285 0 0 0.00335214 0.00851541 -0.00472112 0 0.000230883 -0.0615412 0.0711509 0 0 -0.0191868 0.000391023 0 0.00859522 -0.0829326 0 0 0.00285159 -0.116588 0 0.0937594 0 -0.0466751 0 0 -0.00397302 0 0 0.520301 -0.0041243 0.0584111 0 -0.0489695 -0.0860766 0 0 0.18559 0 -0.000297042 0.60866 -0.0123555 0 0 -0.00692308 0.00679985 0 0.018021 0.00367432 0.0397337 0.103335 -0.0321763 -0.00812465 0 -0.00546123 0.103977 -0.0696513 0.0670696 0.368611 0 0 0 -4.63908 -0.305733 -0.559038 -0.0114611 0.0310698 -0.60192 -0.00408873 0.00568987 -0.0340609 -0.0939737 0 0 0 0 0 0 0.135542 0 0.0943549 0 0 0 0 -0.147543 -1.59085 0 0 0.705379 0 0.0653444 0 -0.0740671 0 0 -0.278306 0 0.360526 -0.0894819 0.237445 -0.0556095 0 0 -0.557437 0 -5.68655 0 1.27642 -0.262592 0 -0.5504 0.608492 0.0243713 0 -0.0264412 0 0 -0.210088 0 -1.58991 -0.147416 0 0 -0.0682133 0 0 0.107461 -3.70709 -0.215364 0 -0.345627 0 1.87282 -0.481708 0.320929 -0.137044 0.0835087 -0.550056 -2.11276 0.277886 1.23457 3.68753 -0.121767 0 0 0 -0.373411 -0.172582 0 0 0 0 0.400749 -7.01878 -4.32427 3.82793 -1.33746 1.55725 -1.77203 -0.450034 0.459669 -0.578305 0.46304 0 0 0 0 0 0 +474 0 0.78537 -0.0159593 0.0192481 0.16839 -0.0111978 -0.188651 0.0668301 0.646822 0.00216482 -0.332433 -0.489521 -0.298936 -0.00950554 -1.09469 -0.0390417 0.0979242 2.84835 0.00595646 -0.0461104 1.05899 0.0303108 0.277873 0.0129652 0.0769244 0.482086 -0.32149 0.0195709 0.747456 2.61434 -0.396078 0.0316629 -0.312136 0.232792 0.175605 0.28257 -0.0533108 0.0141845 -1.58058 -0.501809 -0.212901 -0.0397109 0.0160318 -0.0337011 -0.486351 -0.122975 -0.540968 1.48916 -0.418184 0.102607 0.986555 0.527759 6.21655 0.060177 -0.487382 0.9003 4.68319 0.730096 0.116444 -0.0579749 0.0483557 0.398215 0.0237282 1.15119 -1.13786 -0.939297 -0.069277 1.2938 0.684512 -0.0564518 0.738002 0.219021 -0.350438 -0.299521 1.11506 -1.69044 -1.14293 7.40165 1.2026 -1.12847 2.16444 -0.852563 -0.856497 0.70353 -0.408382 -0.237885 -1.29881 0.256405 0.299324 -2.29967 6.49574 -18.1048 0 0 0 0 0 0.0192481 0.16839 -0.00451267 0 0 0 0 -0.00123046 0 -0.0223104 0 0 -0.00124563 0.000891392 -0.0139144 0 -0.00323979 0.0119644 -0.0968064 0 0 0.0752395 4.1387e-05 0 -0.0809505 0.116122 0 0 0.0115512 0.0464654 0 -0.236895 0 0.0342885 0 0 0.00393683 0 0 -0.95509 -0.0240827 -0.0243392 0 -0.0851271 -0.0197431 0 0 0.0694053 0 0.00504829 0.263451 -0.00571197 0 0 0.000188138 0.0180038 0 -0.00470985 0.0864719 0.0134868 -1.14142 0.0510129 -0.0153256 0 -0.0192238 0.0735692 0.442948 -0.160317 0.0642847 0 0 0 7.87978 0.407442 0.674815 0.0400558 -0.023664 0.546634 0.000151787 0.00241286 -0.00383655 0.0294792 0 0 0 0 0 0 -0.0111978 0 -0.188651 0 0 0 0 -0.598212 -0.597376 0 0 0.305826 0 0.0496951 0 -0.0437939 0 0 0.325993 0 0.678172 -0.0915662 0.48053 0.0426674 0 0 -0.408223 0 -1.85422 0 0.0336121 -0.278356 0 -0.721766 1.00894 0.0587911 0 -0.0657561 0 0 -0.0663342 0 -0.595359 0.111147 0 0 0.0190901 0 0 0.424369 -0.159548 -0.611123 0 1.56166 0 0.85064 -0.503628 0.613529 -0.85756 -0.0937614 0.468812 -0.305659 0.204907 0.276674 7.42923 0.0990865 0 0 0 -0.0854649 -0.161933 0 0 0 0 0.20139 10.8367 0.0742912 2.80639 0.404728 -0.136782 0.246029 -0.239231 0.327961 -0.494481 0.905235 0 0 0 0 0 0 +475 0 -0.649451 0.0192183 -0.135106 -0.428859 0.67776 0.368105 -1.26523 -5.18283 -0.190185 3.57865 -0.260495 0.51203 0.0382792 -0.226948 -0.048345 0.533726 1.68598 0.634311 -0.104191 1.18424 0.108184 -0.075019 -0.0215307 0.752564 -1.12127 0.280639 0.0410311 -0.197515 1.42829 0.170204 -0.0755054 -0.253647 0.189075 -0.0951635 -0.384826 -0.078622 0.120158 2.90196 -0.842781 0.892371 0.166978 -0.535799 -0.250432 1.14856 0.567731 0.666962 0.169483 -0.655391 0.0325921 -0.295678 1.08502 2.38457 0.161955 -0.517282 0.750427 0.457957 -0.170194 -0.465495 -0.636433 -0.0874031 0.0380148 0.104834 -1.628 3.71023 0.964139 0.612354 -1.95542 -0.621866 -0.21968 -0.359795 -0.443677 0.443672 0.369584 0.220539 -0.754372 0.410203 -8.39843 -7.37883 9.86242 -5.64946 5.5102 -6.6816 -4.16078 4.62933 -8.06282 12.6544 -1.18373 1.9119 -3.45483 5.51775 -9.89118 0 0 0 0 0 -0.135106 -0.428859 -0.00406106 0 0 0 0 -0.000199942 0 -0.0298441 0 0 0.00137352 0.0125111 -0.0607035 0 -0.00502873 -0.102587 -0.313809 0 0 0.0295797 0.000507818 0 0.020987 -1.54668 0 0 -0.00120967 -0.368084 0 0.207966 0 -0.0468073 0 0 -0.00559732 0 0 0.984238 -0.00489802 0.0413562 0 -0.0831688 -0.113084 0 0 0.482581 0 -0.00507929 -0.161604 0.0219203 0 0 0.000367083 0.00762537 0 -0.0075777 0.101336 0.011337 1.02711 -0.0558254 -0.0258587 0 -0.0262867 0.00181267 0.0166607 0.0181405 0.177237 0 0 0 -3.84661 -0.290346 0.947061 -0.0222293 0.0115593 -0.218707 -0.000256687 0.00123945 -0.0454873 0.249821 0 0 0 0 0 0 0.67776 0 0.368105 0 0 0 0 -0.513257 -1.32347 0 0 0.88509 0 0.117982 0 -0.0516765 0 0 0.512011 0 -0.42173 -0.186307 0.150988 0.083727 0 0 -0.42042 0 -0.115162 0 -1.46973 0.501633 0 -1.7379 -1.03386 0.0275308 0 -0.0630427 0 0 -0.147397 0 0.384667 1.88843 0 0 0.266147 0 0 -0.0451428 -0.522985 -0.690015 0 -0.384821 0 1.09015 -0.415899 0.631221 -0.364399 0.095941 0.295588 -0.77301 0.0544965 1.22297 3.86041 -0.0502986 0 0 0 -0.139551 -0.113613 0 0 0 0 0.533391 14.1133 -3.37204 9.32017 -0.303267 -0.32515 1.92449 -0.666033 0.616318 -0.717019 1.45232 0 0 0 0 0 0 +476 0 0 0 0 0 0.220915 -0.380436 0.833272 1.46459 0 0 0.239607 -1.77863 0 -2.78012 0.0674089 0 0 0 0.00143571 1.33573 0 0 0 0 0.401323 0 0 0.576382 -4.01055 -0.883237 0 0.0122016 0 0 0.366264 0.0444982 0 0 1.7334 -1.03892 0 0 0.359857 -5.69296 0 -1.15037 -0.216236 -0.589383 -0.813686 -1.67244 -0.603729 0 0.0511774 0.459072 -0.280587 0.866386 0.188461 0.838772 0 0 -0.35597 -0.883832 0 -0.170899 0.172902 -0.802869 0 0 0 0 0.332415 0.947309 0 3.07108 0.351262 0 0 0 -1.82412 0 -2.62009 6.74325 0 -1.18192 1.64026 -0.205545 0 -1.68799 2.50946 -4.35419 13.2159 0 0 0 -0.20491 -0.0437211 0 0 0 0.000890918 0.0356482 0 0.000172399 0 -0.00737194 -0.0163336 0 0 0 0 -0.108238 0 -0.00293798 0 -0.151299 0 0.0635655 0.174724 0 0.00479906 0 0 0.0936485 -0.000159711 0.0323914 0 0.0134058 0 0.00263815 0.0744618 0.0228119 -0.00376707 0.0142906 0 -0.00051279 0 0 0 0.000968136 0 0 -0.0135252 -0.00533538 0.0777458 0.0634841 0 0 0.00105881 0 -0.0166457 0 0 -0.0156323 -0.016621 0.183631 0.0019304 0 0 0.0175357 -0.0585796 -0.107377 0.0412448 -0.28391 0 -0.0973151 0.0235562 0.103281 0 0 0 0.162251 0 -0.0480045 0.109177 0 0.0071007 -0.0167318 0.072725 0 -0.00243058 0.00384015 -0.0143651 -0.0147467 0 0.220915 -0.20491 -0.380436 -0.0437211 0.587387 0.149868 -0.520762 0.50193 0.0975664 0.0491041 0.0171982 0.530768 0.00655867 0.0792129 -0.0718132 0.0418157 0.027381 0.367012 -0.337332 0.124414 -0.402383 0.120931 0.082716 -0.0732126 0.154971 -0.271991 0.211509 0.00547712 -2.90562 0.576482 0.0717041 -1.32013 -0.00882081 0.4923 -0.438339 0.0181652 0.0128564 0.0714069 0.113978 -1.92088 0.0217693 -0.0410206 -1.95974 -0.763078 0.00355213 0.0663497 -0.178904 -0.00152103 0.205779 0.220263 1.26612 0.0758129 -0.102378 1.65382 0.188305 -1.38411 -0.142745 -0.105191 -0.29952 -0.573847 0.301712 0.458574 -0.0295815 -1.65543 1.08547 0.433206 -0.288493 0.188693 -0.200373 0.152912 -0.228935 -0.153286 -0.139695 0.180642 -0.00662404 -0.238108 -0.181651 -0.69213 0.129874 -0.477383 -1.06879 4.35011 -0.193994 -0.105471 0.41511 -0.0705616 -0.127965 -0.260318 0.564454 -0.965596 2.37885 0 +477 0 0 0 0 0 0.0908665 -0.182813 1.33228 1.81031 0 0 0.29659 -0.617595 0 -0.47715 0.0572835 0 0 0 -0.0136377 -6.07734 0 0 0 0 0.354829 0 0 0.0294614 0.43991 -0.0861962 0 0.600208 0 0 0.239225 0.0434774 0 0 -0.212155 -1.49154 0 0 -0.124938 -3.85122 0 -0.15419 0.0387874 0.750114 0.0641271 -2.69717 0.14312 0 -0.15084 0.0508201 -0.314411 0.141219 -0.388217 -0.503247 0 0 -0.681386 0.48085 0 0.845586 0.872024 -1.50752 0 0 0 0 0.510173 -0.183487 0 -0.211952 0.0910518 0 0 0 -2.35092 0 0.127119 -1.11907 0 0.278068 0.286303 -4.38282 0 0.876331 -0.678675 0.0833192 -0.615851 0 0 0 0.0993569 0.00467862 0 0 0 -0.0602007 0.0656566 0 -0.0067138 0 -0.00387103 -0.00902234 0 0 0 0 0.0140335 0 0.000118654 0 -0.102357 0 -0.500865 -0.380809 0 0.000821598 0 0 -0.0258689 -0.00206353 -0.0352593 0 0.0098549 0 0.00460364 -0.105129 0.000169504 -0.0272826 -0.0133177 0 -0.000285853 0 0 0 0.000696199 0 0 0.000564853 -0.00328868 -0.0783614 -0.0098115 0 0 0.00405416 0 -0.0185114 0 0 0.0349353 0.00449041 -0.00980525 -0.00689887 0 0 0.0123821 -0.036927 -0.0126464 -0.0387097 0.0743004 0 0.0437489 0.00988394 -0.082668 0 0 0 0.101218 0 0.0362547 0.0373699 0 -0.00214758 0.0020014 0.0317504 0 0.00156225 -0.00329284 0.0150527 0.0178092 0 0.0908665 0.0993569 -0.182813 0.00467862 0.132054 -0.122263 0.233063 0.618532 0.88634 0.0131556 0.00614319 -0.0970392 0.00191523 -0.00663314 0.0127463 0.0426248 -0.0190092 0.0751866 -0.134586 -0.985865 -0.285568 0.1532 -0.149041 -0.0122033 -0.145464 0.140227 0.456223 -0.0352485 4.52792 -0.120799 -0.528815 0.439047 0.000356948 1.01958 -0.491179 -0.0154684 -0.00275246 0.0889098 -0.0321662 0.627982 0.0759898 0.028944 1.84603 -1.394 -0.000889279 -0.0109521 -0.181439 -0.184074 -0.0730586 0.140763 0.804374 -0.11778 0.108272 -0.288383 -0.0887669 0.120748 0.120246 -0.172658 0.420111 0.00299952 -0.259614 0.372627 0.175715 0.116415 2.54679 -0.173493 0.105242 0.043704 0.0649226 -0.0772474 0.0472602 0.0511403 -0.0301196 -0.0540914 -0.112176 -0.180425 1.33967 0.269112 -1.06843 -0.00304647 0.128555 -0.496308 -0.00386878 0.0319398 -0.158116 -0.344662 -0.0262151 0.0733426 -0.193623 0.242285 -0.719514 0 +478 0 0 0 0 0 0.161089 -0.0585817 -0.92698 -2.18129 0 0 -0.253985 -0.894058 0 -0.876264 -0.101178 0 0 0 -0.163507 3.08924 0 0 0 0 -0.39548 0 0 0.0922974 -1.59545 -0.396704 0 -0.603924 0 0 -0.0803373 -0.038606 0 0 -0.670389 -0.00748496 0 0 -0.0789536 -1.58437 0 -0.534556 -0.483785 -1.11286 0.408955 0.234553 0.672322 0 0.391192 -0.37089 -0.0986525 0.44755 -0.271644 -0.804804 0 0 -0.344715 1.29799 0 0.409461 -0.072749 -0.107229 0 0 0 0 -0.262578 -1.18822 0 0.32961 1.50874 0 0 0 5.31981 0 2.25317 1.34178 0 0.832656 0.113075 4.62363 0 0.0494213 0.43956 0.832104 4.89604 0 0 0 0.0994597 0.0282454 0 0 0 0.0255242 -0.0320234 0 0.00210149 0 0.00603011 0.00463336 0 0 0 0 0.0196587 0 -0.00505997 0 0.0394849 0 0.191492 0.0101196 0 -0.00142812 0 0 -0.0256312 0.000233538 -0.0160698 0 -0.0106008 0 -0.00228784 -0.0168952 -0.00516034 0.00402319 -0.00708648 0 0.00042037 0 0 0 -0.00076509 0 0 0.0108634 0.00426725 -0.0739805 -0.0332891 0 0 -0.00121236 0 0.0144583 0 0 -0.00156828 -0.00844022 -0.00598736 -0.016773 0 0 0.0124961 0.013958 0.0794712 0.0223474 0.17831 0 0.0173827 -0.0142346 0.0859997 0 0 0 -0.0702163 0 0.0422064 -0.0754758 0 -0.00476558 0.0131591 -0.0305821 0 0.00184207 -0.00485347 0.0144195 0.0157088 0 0.161089 0.0994597 -0.0585817 0.0282454 -0.0957185 0.0818667 0.175415 0.319831 -0.773307 -0.0459736 -0.0608775 -0.497405 -0.00584306 -0.0605291 0.038583 -0.0270201 -0.059597 -0.365611 -0.0185972 1.82725 0.0725258 0.088337 -0.180051 0.0442463 -0.402546 -0.115687 -0.229958 0.0336859 -2.10572 0.141664 0.247848 -0.42552 0.00562783 0.459123 0.119486 -0.0200083 0.000972143 0.0623715 0.0131418 -0.707212 -0.0511889 -0.02134 -0.606401 0.987692 -0.00848985 0.0154728 0.156843 0.238645 0.24295 0.12245 -0.765512 0.782025 0.192044 0.961488 -0.0730879 0.262421 0.0844188 -0.132281 -0.227015 -0.13919 0.205637 0.0136705 0.0633309 -0.319128 -2.49349 0.0536568 -0.613033 -0.109662 0.0706676 0.433075 0.106414 0.033139 0.12447 -0.201807 -0.0190051 0.132523 -0.627884 0.561528 1.67295 0.4199 -0.25393 3.04732 0.18779 -0.0893865 0.29039 0.875394 0.127476 0.00158526 0.0634548 0.00994615 0.902762 0 +479 0 -0.482888 -0.072025 -0.0737154 -0.249376 0.328488 0.335194 -1.7611 -4.02042 -0.307062 2.86549 -0.00396581 1.03809 0.0194137 1.02129 -0.0101925 -0.556058 -4.8269 0.203649 0.0408607 1.82001 0.0466491 -0.205819 -0.0169225 0.61899 -0.684899 0.116307 0.0137417 -0.568349 -1.17321 0.434095 -0.0876379 -0.167785 -0.12823 -0.304844 -0.43484 -0.0205393 -0.0150026 2.99567 -0.210654 1.24993 0.117471 -1.17414 -0.0656543 2.78641 0.689989 0.839731 -0.823229 -0.153276 0.274454 -0.605697 0.619941 1.24745 0.152645 0.196043 -0.0245845 2.07322 0.559056 0.187934 -1.04218 -0.298064 2.31637 -1.45472 0.797941 0.355692 0.252649 1.92178 -0.0957707 0.21232 0.0803161 -1.66851 0.092433 -0.191874 0.0667968 -0.982703 0.695553 0.535228 -12.6068 -8.25679 8.37571 -4.10723 2.61349 -1.61622 -3.23025 2.26573 -3.21649 6.61974 -0.711762 0.558932 -0.601788 -0.397156 4.10425 0 0 0 0 0 -0.0737154 -0.249376 -0.00330053 0 0 0 0 -5.71086e-05 0 0.00519306 0 0 0.0019883 -0.00300353 0.0140372 0 0.00308033 0.0860821 -0.00172527 0 0 0.159627 -0.000177012 0 -0.0230681 0.420635 0 0 0.0256939 0.248639 0 -0.1258 0 0.0280581 0 0 0.00506473 0 0 -0.152823 -0.00110964 0.0254618 0 -0.0470786 0.00419762 0 0 -0.0690034 0 -0.00387722 -0.154586 0.00556703 0 0 -0.010792 0.0065609 0 0.0160106 0.0443288 0.0381479 -1.10203 -0.040977 -0.0284708 0 -0.0303682 -0.00305501 0.00391634 -0.126187 0.109773 0 0 0 -0.243982 -0.0583066 0.00614872 -0.00878998 0.0178547 -0.0260297 -0.00405996 0.00769448 -0.0153932 0.0136277 0 0 0 0 0 0 0.328488 0 0.335194 0 0 0 0 0.107674 -0.971262 0 0 0.639159 0 0.0902483 0 -0.0320274 0 0 0.203883 0 0.359423 -0.0936025 -0.0258072 0.0262938 0 0 -0.284941 0 -1.9031 0 3.06401 0.678616 0 -0.69681 1.20755 0.00425591 0 0.0192636 0 0 -0.10603 0 0.542035 0.717745 0 0 0.0665892 0 0 -0.183764 -1.57423 -0.41402 0 -0.743298 0 0.346423 -0.0604696 0.187356 -0.18549 -0.0368989 -0.61551 -0.450098 0.156645 2.01201 4.57533 0.00378755 0 0 0 0.0420998 -0.204607 0 0 0 0 0.361414 -11.7629 -3.20176 3.09731 -1.21724 1.26011 -2.04775 -0.412959 0.356808 -0.429668 0.501576 0 0 0 0 0 0 +480 0 -0.190135 -0.526843 -0.0158584 0.0649746 0.0743427 -0.208629 0.481022 1.54003 0.0366046 -0.523956 -0.463683 0.519533 0.00735112 0.611551 -0.0504561 -1.4183 -7.47226 -0.170502 -0.0729133 1.06307 -0.00918124 0.587741 -0.00860189 -0.0289942 0.791184 -0.465162 0.00268077 0.583009 1.89463 0.163262 -0.0335213 -0.545587 1.24495 -0.242682 0.389743 -0.0660312 -0.150844 2.80766 -0.633938 -0.13127 0.0402042 -0.89893 -0.0914676 0.632548 0.208265 -0.461218 1.10824 -1.03134 0.281424 -0.6423 0.295109 -2.06526 0.504125 -0.25976 0.60845 -0.818704 0.0730213 -0.270744 0.0868984 -0.0735445 -0.762367 -0.31483 -0.0184086 -2.3529 0.521753 -0.488347 1.07605 -0.26921 0.00486893 0.972768 -0.00491473 -0.321313 0.471738 -2.08964 -1.52453 -0.134286 -6.02255 0.259627 -3.51322 -1.41738 2.27761 -7.1641 0.575023 -0.179894 -0.0314399 -2.76839 -0.214837 0.462884 -1.3415 2.34528 -6.62803 0 0 0 0 0 -0.0158584 0.0649746 0.00907133 0 0 0 0 0.00174112 0 0.00872953 0 0 -0.00335547 -0.0116634 0.0184905 0 0.00293967 0.00200303 0.0487917 0 0 -0.282124 -0.000837877 0 0.0090066 -0.196154 0 0 -0.0307054 -0.0336429 0 -0.0107797 0 -0.0388282 0 0 -0.00369239 0 0 -0.279249 0.0243796 -0.045741 0 0.128077 -0.0268367 0 0 0.0720432 0 -0.0114021 0.030678 0.026227 0 0 -0.00231545 -0.0388048 0 0.00254655 -0.0155374 0.00208739 -0.425096 0.00748772 -0.00672205 0 0.0229156 -0.0509461 0.151983 -0.194468 -0.011852 0 0 0 0.763422 0.0119548 0.0585806 0.0191477 -0.0356774 0.0809327 0.0018968 -0.0036867 0.00976945 -0.00585162 0 0 0 0 0 0 0.0743427 0 -0.208629 0 0 0 0 -0.161973 -0.827997 0 0 0.119184 0 0.0175604 0 -0.0494001 0 0 0.199972 0 1.01901 0.012163 0.185299 0.0118781 0 0 -0.465932 0 -4.96092 0 1.95105 -0.138219 0 -0.106242 1.62499 0.0225442 0 -0.0130303 0 0 -0.0947856 0 -0.997314 -0.37461 0 0 -0.065068 0 0 -0.0106723 0.16041 -0.105049 0 -0.475018 0 0.332089 -0.0852983 0.112534 -0.0137383 0.0760828 -0.0972421 -0.518813 -0.056429 0.155325 -4.6322 -0.0666469 0 0 0 -0.114634 -0.0459758 0 0 0 0 0.286176 0.971914 -0.208616 1.68986 0.174832 0.23373 -0.634588 -0.00875493 -0.00540041 -0.00277912 -0.0065624 0 0 0 0 0 0 +481 0 1.14703 -0.00367279 0.0726373 0.227004 -0.15971 -0.0316504 0.69542 1.56148 0.246609 -1.92835 0.501572 0.189119 -0.0197276 1.06618 0.0739221 -1.14716 -2.07639 -0.183297 0.0926428 -0.562763 -0.0386587 0.103152 0.0169256 -0.485356 0.205823 -0.487242 -0.0411883 0.15657 -0.238448 0.123793 0.083915 0.892491 -0.61416 0.186308 0.16799 0.0777891 -0.221688 -4.4997 1.11055 -0.390825 -0.120221 0.425573 0.17204 2.39656 -0.714414 -0.121756 0.103051 1.54711 -0.57943 0.460329 -1.16941 3.34888 -0.19044 0.17215 -0.265108 1.22967 0.326674 0.226283 0.82081 0.299308 -1.52257 0.301746 -0.543093 -1.32527 -0.0797168 -0.178646 0.281924 -0.181302 -0.0591319 1.3262 -0.241972 1.19635 0.312392 -0.548378 -0.461915 -0.338194 22.9052 7.55976 -0.446979 2.9196 -3.107 7.19849 2.19349 -2.05613 2.90801 -2.4996 0.736958 -1.03902 1.37261 -2.09814 0.834166 0 0 0 0 0 0.0726373 0.227004 0.00379669 0 0 0 0 0.000104449 0 0.00901531 0 0 -0.00114385 0.00490573 -0.00742082 0 -0.00109563 -0.0829837 0.0472649 0 0 -0.0696558 0.000312863 0 -0.0121203 -0.460633 0 0 -0.0142006 -0.258565 0 0.0128272 0 -0.0172655 0 0 -0.00429881 0 0 0.0633261 0.00181245 -0.0136635 0 0.0542463 -0.0330245 0 0 0.0294756 0 0.00652867 -0.0894011 -0.00141322 0 0 0.0115591 -0.00258798 0 -0.0137394 0.0169388 -0.0267611 0.886729 -0.006007 0.0185266 0 0.0186343 -0.021122 0.0708274 0.162029 0.0203065 0 0 0 -0.565011 0.103463 -0.206361 -0.00882502 0.0170939 -0.0337729 0.0035888 -0.00683826 0.0131566 -0.0196552 0 0 0 0 0 0 -0.15971 0 -0.0316504 0 0 0 0 -0.246998 1.11043 0 0 -0.36715 0 -0.0487212 0 0.0459894 0 0 -0.350905 0 0.385956 -0.105415 -0.104131 -0.0639206 0 0 0.541635 0 2.58686 0 -2.08879 0.0666479 0 -0.528641 -0.131469 -0.0154318 0 -0.0479351 0 0 0.0954887 0 0.382377 -0.325535 0 0 -0.0703717 0 0 -0.415147 0.23792 -0.418669 0 -0.0101143 0 -0.713009 0.242321 -0.100657 0.677315 0.122351 -0.294443 0.331578 -0.322818 0.633989 1.78572 -0.135733 0 0 0 0.362508 0.203885 0 0 0 0 -0.231438 18.4762 1.60327 3.31621 0.473423 -0.364525 1.54014 0.238204 -0.203446 0.258407 0.23086 0 0 0 0 0 0 +482 0 0.31495 -0.124451 -0.0209937 -0.0702934 0.169363 0.155299 -0.587584 -1.59921 -0.215997 1.60061 -0.042287 -0.271631 0.00244653 -0.160062 0.0228369 -1.01461 -2.75854 0.29454 0.0560184 -1.70795 0.0444744 0.138335 -0.00294068 0.277185 -0.368188 -0.391748 0.0650417 -0.308113 -0.38796 0.101541 -0.0275193 0.23342 0.549878 0.393391 -0.165745 -0.00565096 0.202987 2.97401 -0.0788899 -0.411933 0.0225679 1.08276 -0.0105033 -1.17601 0.209348 0.15144 -0.345661 0.538997 0.032193 1.17895 0.505227 2.72684 -0.134313 0.091168 -0.106603 0.348195 0.656227 0.023382 -0.535896 -0.0500139 0.444812 -0.0211802 0.640417 -0.305748 -0.778964 0.390007 0.442782 0.720096 0.0676178 -0.543259 0.139078 0.0801957 -0.0713217 -0.942028 0.417632 1.1258 -7.55903 -3.82149 2.54593 -1.80825 1.14975 -2.34352 -0.977022 0.609035 -1.51617 2.9527 -0.0288502 -0.00886412 -0.173415 0.101923 0.74182 0 0 0 0 0 -0.0209937 -0.0702934 0.0042773 0 0 0 0 0.000809557 0 0.0178391 0 0 -0.000981709 -0.00517411 0.0146149 0 0.00238374 -0.00150764 0.111712 0 0 -0.0961617 -0.000367745 0 -0.0128222 -0.13061 0 0 -0.00827702 -0.0335532 0 -0.131141 0 -0.0162187 0 0 -0.00147577 0 0 -0.269485 0.0113171 -0.0139876 0 0.0598323 -0.0169538 0 0 -0.0187623 0 -0.00363952 -0.150414 0.00910631 0 0 -0.00595611 -0.0169404 0 0.0100059 0.0158136 0.0203038 -0.284991 -0.0136026 -0.0171296 0 0.00547826 0.00190583 0.186884 -0.127205 0.0815522 0 0 0 0.318921 -0.00898034 -0.095852 0.00425796 -0.00697192 0.00153139 -0.000716634 0.00115801 -0.000757834 -0.0288128 0 0 0 0 0 0 0.169363 0 0.155299 0 0 0 0 -0.408978 0.122478 0 0 0.792169 0 0.0916032 0 -0.00129037 0 0 -0.273085 0 0.414909 -0.1688 0.325618 -0.0361366 0 0 0.0441172 0 -0.472839 0 0.520473 0.436537 0 -1.24509 0.751423 0.0341901 0 -0.0538046 0 0 0.00197967 0 0.294959 -0.571084 0 0 -0.0747858 0 0 -0.320623 -2.31955 -0.294788 0 -0.756836 0 0.109134 0.254478 -0.0795161 -0.640684 0.0220502 -0.151366 -0.338066 0.0456276 1.30444 0.839093 0.0516751 0 0 0 0.203928 -0.211547 0 0 0 0 0.0291521 4.44273 -1.21149 3.76156 0.0136382 0.20802 -0.126862 -0.333183 0.269585 -0.342567 0.644384 0 0 0 0 0 0 +483 0 -0.682427 0.00196631 0.00483024 0.0681694 0.0979732 0.127731 -0.933003 -0.975591 0.0625138 0.0853035 -0.0621769 -0.46336 0.000142759 -1.54401 -0.0093878 0.139795 -2.04685 0.0944908 -0.00757655 1.2067 0.0231496 -0.336514 0.000294045 0.0506364 -0.509403 0.35558 0.0392007 -0.517458 -1.26492 -0.0554972 0.00429191 -0.183918 0.133492 0.26617 -0.435745 -0.00378677 0.231952 2.44736 -0.0112913 1.16309 0.000595769 1.18313 -0.000453956 -3.91839 -0.00713783 0.721101 -0.790005 -0.183045 -0.00674159 -0.808312 -0.1077 0.100633 -0.0262276 0.00652586 0.156375 -2.02385 -0.466681 0.32465 -0.0984955 -0.0049964 1.93255 -2.19015 1.29287 -0.799942 -0.284336 1.35895 0.861891 0.32408 -0.0126995 -0.194156 0.0948525 -0.262054 -0.184813 0.781533 0.835979 -0.534079 -8.48096 -2.27851 0.56907 -1.68316 1.16701 -1.23977 -0.0529688 -0.0385075 0.25889 1.46447 0.000983663 0.00126559 0.0939833 0.0971985 2.41866 0 0 0 0 0 0.00483024 0.0681694 0.000825175 0 0 0 0 6.15861e-05 0 -0.0124823 0 0 -0.000711649 -0.000306423 -0.00246869 0 -0.000553332 -0.0199092 -0.0629072 0 0 -0.174249 -2.86013e-05 0 -0.00308603 -0.776834 0 0 -0.0276278 -0.123528 0 -0.00943175 0 -0.0123127 0 0 -0.00188984 0 0 -0.212393 0.000951518 -0.00865089 0 0.0124897 -0.00283502 0 0 0.0569226 0 -0.000337142 0.0194627 0.00232115 0 0 0.00131053 -0.00278532 0 0.000158803 -0.0372631 -0.00548483 0.54854 0.0103794 -0.00840597 0 0.0113728 -0.0348509 -0.0747557 0.0622811 -0.0521927 0 0 0 0.464624 0.0166822 0.0609852 0.00310387 -0.00545531 0.033295 0.000733641 -0.00168828 0.00414501 0.0217673 0 0 0 0 0 0 0.0979732 0 0.127731 0 0 0 0 0.351865 -0.0493363 0 0 -0.237928 0 -0.0194096 0 -0.0113123 0 0 -0.330607 0 -0.413562 0.125613 -0.045433 -0.0385737 0 0 -0.160249 0 -6.60744 0 1.80011 -0.603827 0 0.796426 0.219352 -0.00110506 0 0.0576089 0 0 -0.00628411 0 -2.37023 -0.889479 0 0 -0.096961 0 0 0.150415 1.7101 0.0679523 0 0.356631 0 0.231415 0.019424 0.0424232 0.176954 0.083732 0.145641 0.0941533 0.101882 -1.33553 -3.95128 -0.0743438 0 0 0 -0.0512852 0.00797195 0 0 0 0 -0.0930752 -7.62132 -0.11332 -1.40554 -0.0767255 0.317624 -1.13108 0.130933 -0.0864819 0.0934895 -0.417164 0 0 0 0 0 0 +484 0 0.55697 0.525856 0.0266658 0.104402 -0.00671236 0.258499 -0.553515 -0.97822 0.287125 -0.802344 -0.00717127 0.365447 -0.00286947 -0.481753 -0.0398151 0.85688 4.69555 -0.125441 -0.0833172 -0.254948 -0.0145012 -0.485005 0.00364605 -0.130856 -0.409858 0.27211 -0.0465105 -0.482043 -0.687481 0.0668742 0.0348929 -0.368082 -1.40961 -0.28065 -0.288328 -0.000783215 -0.0376545 -5.3012 0.114758 0.485132 -0.0257749 -0.504082 0.0100204 0.629197 -0.231959 0.519539 -0.536326 -0.706897 -0.00478271 -0.424948 -0.686902 -1.64088 0.226321 -0.137002 -0.0399699 -1.73739 -0.0330632 -0.214296 0.358052 0.0575786 -1.2487 0.320277 -0.454285 0.104057 -0.184819 0.113583 -0.772679 -0.172906 -0.0852747 0.419978 -0.513975 -0.253304 0.17485 0.418588 0.175239 0.623544 20.4102 4.9085 1.9173 2.36766 -2.35539 8.77684 -0.105551 0.0448343 1.16391 1.72394 0.0319662 0.00793716 0.269136 -0.0627542 1.31454 0 0 0 0 0 0.0266658 0.104402 -0.00473246 0 0 0 0 -0.00093713 0 -0.0146015 0 0 0.00183509 0.00690322 -0.0155451 0 -0.00226197 0.00613502 -0.112446 0 0 0.177887 0.000490954 0 -0.00120549 0.283961 0 0 0.0180655 0.0591466 0 0.0427532 0 0.0224482 0 0 0.0019849 0 0 0.104214 -0.0130979 0.0259614 0 -0.0661732 -0.00572837 0 0 0.036411 0 0.00638229 0.0304034 -0.0093879 0 0 0.00773619 0.0238027 0 -0.0123927 -0.00529397 -0.0183949 0.33312 0.00329453 0.0180121 0 -0.00476279 -0.014298 -0.189463 0.193139 -0.0168003 0 0 0 -0.176049 0.0103303 0.0660815 -0.00139848 0.0019721 0.0143812 0.000495518 -0.000752596 -0.000731009 0.0293075 0 0 0 0 0 0 -0.00671236 0 0.258499 0 0 0 0 -0.162076 -0.24954 0 0 -0.27166 0 -0.0407186 0 -0.0172577 0 0 0.53056 0 -0.808536 -0.103663 -0.0874552 0.0431974 0 0 -0.195427 0 2.89034 0 -2.82325 0.339799 0 -0.489204 -1.34251 -0.0157342 0 -0.0378185 0 0 -0.0265379 0 0.65741 1.37751 0 0 0.158824 0 0 -0.205982 1.60872 -0.295674 0 -0.28499 0 -0.51193 -0.111961 0.0352817 0.385482 0.141509 0.239881 0.477738 -0.235944 1.01823 3.73949 -0.0633131 0 0 0 0.0644002 0.198042 0 0 0 0 0.10542 17.4734 0.778617 3.78372 0.1901 -0.259086 1.79243 0.179544 -0.10685 0.115629 0.308333 0 0 0 0 0 0 +485 0 709.17 111.767 12.7482 63.8744 413.785 70.6369 6.52241 11.3974 48.6322 -26.6786 11.3688 16.8981 -6.37298 18.0965 -2.35025 83.0316 271.202 -6.53872 -7.48527 91.1938 -3.67324 -10.8551 8.4867 -12.9345 1.22385 30.8791 7.21473 -12.4313 -65.6324 11.8311 15.9067 -13.5476 -26.5934 20.6711 -0.977078 4.27756 23.0392 -104.409 39.6257 43.2393 -11.7736 81.142 10.0208 16.0843 -32.8192 30.0283 -19.7496 -46.1745 -4.93955 27.7445 -5.04273 -3.31064 14.4285 -4.29236 6.46501 38.2143 13.7937 -5.70934 6.19506 4.08996 -23.5619 -13.2453 7.63657 -28.1616 -23.0082 -6.24714 20.2253 17.5462 -11.3545 12.3302 3.09044 4.40197 -14.2284 -15.501 -7.88688 -20.6079 442.208 103.984 48.8039 102.506 -88.8952 223.526 43.544 -39.0481 53.2266 15.9784 43.2398 -47.0789 83.204 -103.416 214.884 0 0.319656 0.0373586 30.4608 4.55467 12.7482 63.8744 0.16161 0.95578 -0.423891 -0.000833992 0.213677 0.00738969 0.0298833 -0.255376 0.0437319 -0.00913654 0.030348 0.201957 1.0095 0.511219 0.00826795 3.21463 3.16921 0.00358156 3.27069 -0.65917 0.0155587 -0.143294 -0.961281 17.9994 -3.3053 0.0145791 0.28857 6.42205 -0.243237 0.848157 -0.0399705 1.16763 -0.613214 0.185867 0.325381 -0.0879675 0.00283553 3.15696 0.0922605 0.422268 -0.0171582 2.19186 -0.0480494 -0.00451103 -0.0374248 0.626721 -0.040505 0.151259 7.38398 -0.505734 -0.137707 0.119665 -0.0678143 -0.420128 0.0900136 0.700965 3.01856 0.15816 -3.782 0.972149 0.681558 -0.236459 0.394107 1.0448 8.21965 -1.6323 1.69641 0.00838285 0.322101 0.0236123 -70.2958 -4.46334 -13.4207 0.183429 -0.58631 3.70424 -0.0300159 0.0701042 0.214242 -1.02655 0.0153098 -0.0188296 0.155585 -0.409608 4.12247 0 413.785 30.4608 70.6369 4.55467 141.599 20.4403 26.2319 -2.89452 30.4024 -3.39681 -2.44841 -14.506 -0.583517 -3.51812 4.35114 1.08104 -2.37992 -18.9262 5.96237 32.174 -8.86223 -1.06767 -3.30212 1.32088 -16.5526 -6.12666 4.60789 1.48562 97.8517 18.8341 -84.1634 21.3899 0.697538 -7.14319 -24.9844 -1.0178 0.540952 -0.102001 3.53081 -32.9594 6.20828 -1.11818 43.3645 2.43286 -0.333806 3.15899 3.83233 7.05808 -5.98203 -4.2023 0.703896 6.99834 6.50257 11.2875 -9.43054 -19.7954 11.1037 -10.2089 -3.1948 -0.852591 -12.5632 8.54066 -4.14666 1.21154 36.0001 -4.39713 10.489 -0.495246 0.8179 8.96908 2.0914 -3.53947 3.07421 3.37688 -1.11978 -10.407 607.221 104.193 25.2903 85.4265 -77.4518 137.195 27.2301 -21.8462 21.8963 6.21994 22.6875 -18.94 22.4449 -24.0696 44.0676 0 +486 0 715.139 116.03 14.1301 71.4096 409.926 72.7162 -1.50226 -8.03564 87.4014 -58.1024 18.854 19.6594 -6.99152 29.7654 -2.13919 86.7148 299.813 -12.0901 -12.6448 143.262 -4.45206 -16.0069 9.26191 -16.4308 -6.5545 31.9482 5.82121 -15.0157 -103.172 13.3594 22.4915 -8.1997 -40.52 18.0309 -4.72972 5.20621 15.2794 -164.697 65.7357 51.8154 -19.604 66.7131 15.6279 59.9654 -73.0718 32.6719 -32.3574 -63.3041 -32.0942 14.2398 -29.9689 -21.0641 17.7491 -8.94896 6.90809 20.8306 33.3216 -7.24156 21.8576 27.8646 -29.9068 11.4008 -9.8791 -36.8519 -24.1852 -11.5061 16.8608 24.6898 -25.0984 8.88094 -5.51393 25.2331 -26.0181 -23.5873 -12.2908 -9.29626 608.6 152.098 120.786 201.733 -157.455 359.132 123.209 -87.8661 111.094 32.7096 178.858 -134.183 158.71 -163.31 323.039 0 6.50373 0.729259 27.2778 3.8263 14.1301 71.4096 0.641754 1.83949 -7.78224 -0.0188735 0.30241 0.00539449 0.386718 -0.171054 0.656552 -0.221081 -0.285691 -0.744129 -0.962768 7.30205 -0.232149 0.383528 -1.34117 0.0554306 11.7691 1.94116 -0.0122376 -0.136607 -2.54074 15.3178 -4.27642 0.242019 0.951345 1.31936 -0.906773 -5.91903 -0.746282 0.891433 -0.808126 2.39542 0.204182 -2.43773 0.0351976 -17.4354 0.216606 -4.21997 -0.0880966 5.74098 3.07048 -0.486093 -0.542027 -8.5719 0.235848 0.445933 -0.0597816 -1.66479 -1.71752 1.95 0.413358 -1.49055 -2.0362 -1.52719 -1.43393 -0.406757 -4.52552 -0.992552 -0.211531 -0.122614 0.879805 0.487191 1.52466 -4.14952 -1.93472 0.162751 1.76452 0.366208 171.645 25.1022 15.6215 6.43889 -4.66722 22.5835 0.218027 0.221938 1.95338 3.03039 0.323827 -0.384018 1.11631 -1.60106 5.64464 0 409.926 27.2778 72.7162 3.8263 144.751 21.0993 33.9434 2.36914 41.9733 -2.91118 -3.87922 -24.6291 -0.442665 -3.29391 5.13058 1.4607 -3.56312 -19.7231 7.45252 54.5867 -12.867 -2.20084 -5.98347 1.98628 -24.6966 -5.40311 8.79844 1.69609 179.196 17.4056 -101.744 20.3872 0.772061 2.13568 -29.3863 -0.780362 0.356417 -0.549963 2.41574 -31.5398 6.47784 -0.989938 51.5478 30.2773 -0.525787 2.55133 7.65048 9.73868 -2.00958 -5.18026 3.37516 -3.89872 8.45916 17.9186 -13.1371 -20.3418 5.2576 -4.16594 0.364826 5.28101 -3.28411 9.87603 -9.99236 -8.18072 -12.9343 -7.51433 1.99601 -4.4103 -1.41405 17.7596 6.85585 -4.10821 4.9751 0.364522 1.84394 -18.1741 689.857 161.178 -22.1725 103.314 -82.6389 152.76 29.8681 -22.6095 28.9694 5.05039 23.0752 -19.0946 23.8697 -21.0649 40.2935 0 +487 0 713.332 115.618 12.8996 66.0678 411.631 72.6553 1.17807 9.20751 81.8211 -38.0631 12.311 21.4827 -6.12701 34.8202 -0.0426395 94.2084 333.265 -8.20863 -8.98217 123.279 -3.70773 -12.9567 9.27944 -10.803 -3.69514 33.3531 7.90305 -11.6104 -23.1069 12.3184 22.5398 -0.231498 -30.5216 23.221 -2.11057 5.36395 21.6749 -110.267 19.1471 46.5888 -10.9597 82.6745 7.92433 70.934 -26.4325 29.1248 -17.7118 -45.9062 -10.1056 28.2138 -15.0253 47.4943 17.6086 -4.12418 -2.85228 57.409 29.2333 -16.1755 11.4129 10.1433 -15.6164 25.1343 -2.99835 -41.1686 -23.6534 10.3345 23.8155 18.8561 -34.0158 9.7884 -11.1757 7.75445 -33.9477 -3.53321 12.8745 -13.4395 403.601 124.175 21.5383 110.096 -77.3892 164.339 39.3154 -23.457 44.3997 9.42305 31.7443 -24.1629 46.9433 -53.1395 116.074 0 0.126294 0.0156262 34.5156 5.27442 12.8996 66.0678 0.0698858 2.16591 -1.19846 -0.000363023 0.419868 0.0209415 -0.0333672 -0.431503 0.0191403 -0.00387001 0.0170981 0.0657825 -1.57711 0.212868 -0.0626295 2.32477 -3.24235 0.00163301 9.33956 6.70236 0.00628365 -0.114981 -1.2783 17.337 0.247015 -0.0131807 1.71281 5.4942 -0.2686 -4.69826 -0.0840462 0.960323 -0.25867 -0.221259 0.339163 -0.0356355 -0.00186825 -12.0322 0.37012 0.153803 -0.0171173 0.967971 0.445556 -0.0519916 -0.0643266 0.25171 0.275747 0.0565456 -2.03455 -0.135113 -0.0605113 0.207557 -0.0621547 -0.189176 -0.618255 -0.336378 -1.02319 -0.0836598 -7.19163 -0.288682 0.782661 -0.198899 0.224926 -1.0369 1.69868 -1.11336 -2.67477 -0.0368164 1.57475 0.00972777 67.0477 1.97782 11.9168 0.507376 -0.798147 10.3053 -0.0335086 0.0707065 0.264834 3.56151 0.00698478 -0.0037965 -0.0283137 0.0724362 2.14939 0 411.631 34.5156 72.6553 5.27442 134.768 19.7163 37.8531 -1.50673 47.9426 -3.05037 -3.56567 -22.5794 -0.580628 -4.05746 6.49723 2.20077 -4.16107 -15.1821 6.3024 46.0197 -11.6735 -0.63608 -3.24896 1.75733 -25.9676 -4.32582 12.9724 1.49815 193.045 12.444 -57.7319 21.787 1.07039 10.0989 -17.5216 -0.896942 0.450841 -1.01938 2.64452 -16.1613 8.72581 -0.930239 60.2361 19.8641 -0.547616 2.52035 7.11551 8.50964 -4.15914 -5.9482 4.49258 9.44999 8.10088 27.7991 -13.0208 -7.17368 1.62379 -6.33833 4.59169 2.78412 -2.01581 -0.169024 -6.17203 -16.2242 5.50214 -2.41269 6.30368 -1.62727 2.94917 14.9924 3.04612 -3.59238 3.27039 2.01914 -0.306263 -18.3334 394.034 121.788 -28.7487 70.6511 -56.3141 89.1634 21.448 -17.8309 27.2521 -8.94553 17.1245 -13.6148 16.927 -14.8959 24.7553 0 +488 0 -1.32533 -0.708712 0.310437 -0.0303702 -3.98658 -1.313 7.17562 25.9501 4.40527 -8.76672 -0.724497 -0.930452 -0.174603 6.0467 -0.0371201 6.06345 27.4161 -0.226891 -1.31427 -23.1375 -0.0214786 1.18806 0.348089 -2.8799 4.15731 0.0223876 0.672576 0.828128 18.5522 1.32487 1.53186 0.561083 1.90236 4.31104 1.18509 0.148592 1.54679 -0.85705 -2.61847 -3.92537 -1.0243 11.3225 0.164559 -7.5913 -2.57223 -0.112329 3.77163 -0.510778 -0.678979 5.03846 -9.60987 -41.6165 2.33708 -3.87082 2.11934 -20.3963 0.119892 -4.87453 4.84368 2.64597 -3.77198 2.36514 2.50877 -14.202 1.69252 -0.692634 5.71412 -4.42529 -4.03796 -0.00622227 -2.22691 -4.45566 -3.46285 -23.7114 1.39839 -9.62191 8.65808 22.6298 -72.4771 15.7563 -16.038 -29.6722 12.6549 -11.9831 0.940549 -36.231 10.2659 1.30719 -18.4004 25.0207 -58.418 0 0.107184 0.00377767 -0.35981 0.0278581 0.310437 -0.0303702 -0.018301 -0.379666 0.322541 0.000112625 -0.0525323 -0.0216879 -0.00685029 -0.0156252 -0.00154049 0.000513949 -0.00141878 0.25678 -0.176974 0.0605158 -0.0460085 1.83593 0.25976 -0.000611401 -2.51434 0.385943 0.0184781 0.0208291 -0.458576 6.68521 0.333414 -0.00255544 0.295683 4.29458 0.1217 -1.12339 0.032159 2.08083 0.0998354 -0.000359639 0.388189 -0.0113481 -0.00127864 -2.24813 -0.293265 0.0995555 0.00972535 -0.260388 -0.0360447 0.0167394 0.0698476 -2.87711 -0.0274904 0.119563 -3.19917 -0.254751 0.00194299 -0.036686 0.0164832 0.119342 0.187514 -0.0622205 0.935945 0.147973 6.57206 -0.427203 -0.987116 -0.211178 -0.0555496 -0.249343 1.13812 1.01818 -0.673144 -0.153193 -0.310453 0.00270878 9.73714 0.867077 0.631163 0.834691 -0.650925 -1.25277 0.00590052 0.0580047 -0.0675791 -0.0158354 -0.00447432 0.00761242 -0.000445686 0.0200541 -0.329108 0 -3.98658 -0.35981 -1.313 0.0278581 -2.51256 -0.584412 0.182506 -0.315798 3.50833 -0.0349874 0.294145 -1.31006 -0.00456437 -0.25193 0.032737 0.356263 0.169484 -0.445227 -3.47325 -5.55707 2.86826 0.224854 0.380707 -0.60479 1.89008 0.212931 1.59595 -0.0761674 26.7689 0.0439201 0.577895 2.23324 0.00537352 3.55646 1.94656 -0.074582 0.014951 0.0138449 0.0787511 2.80017 0.576271 0.0416152 9.09714 -9.04058 0.0364426 0.0511861 -1.50344 -0.661162 -0.691308 -6.42381 -3.02358 0.189364 0.272378 3.20793 -0.00854755 -2.68234 -0.256894 -0.540434 -1.05023 0.726535 6.26358 0.977457 0.00626111 1.42396 3.75979 1.84651 -2.42929 0.193627 -0.322707 1.07519 -0.418249 -0.581632 0.44318 0.864126 0.13813 -0.49341 -1.02407 6.75714 -21.2708 -0.00611611 3.00799 -19.1614 1.42585 -0.399385 -2.6345 -4.47421 0.638709 0.0415532 -1.95774 1.77379 -5.50044 0 +489 0 6.48135 1.11172 0.637761 0.675066 0.844992 1.20883 -2.48425 -10.0947 7.84818 -7.41694 -1.03638 1.33722 -0.544773 3.68794 0.260176 0.815007 9.80776 -2.0827 1.32953 -6.29959 -0.914661 -1.192 0.89498 -3.72871 -2.10434 0.730306 0.761194 -1.14002 -0.306434 0.999653 2.40305 2.87883 -5.77388 1.45285 -1.03958 0.033106 4.17061 -27.0804 -4.94245 0.523481 -1.05826 14.0775 -0.684617 5.81796 -0.689375 1.5585 -0.170617 8.55688 0.648791 -14.7614 -1.79816 6.69629 -1.18044 1.02491 -1.40824 7.41314 4.31149 9.18351 3.67926 1.64711 -2.49212 -10.1237 10.3468 -5.6308 3.70185 -6.22575 9.85305 3.68003 -5.06533 4.97463 1.46876 -2.66848 -5.38903 6.39589 0.513014 -1.96446 103.28 38.114 19.3046 18.4584 -1.45462 32.2847 4.43121 6.06069 1.32544 19.7247 2.08335 0.998187 1.04283 -0.217852 16.1095 0 -0.0731037 -0.0119432 0.87097 0.29521 0.637761 0.675066 0.0198503 0.144099 0.280025 0.000327094 0.0156015 0.0231883 -0.0364042 0.0401706 -0.0188647 0.00289707 0.00850609 0.178191 -0.412543 -0.189137 0.0431115 -0.0527586 -0.576407 -0.00175138 0.529309 0.736589 0.0080008 0.050934 1.23749 0.713713 1.39947 -0.0116691 0.294458 0.0271835 0.0485913 2.19763 0.0236449 0.254134 0.289055 -0.131043 0.0767693 0.0174293 -0.00304164 3.91509 0.348117 0.255642 0.00408404 0.430596 0.204458 0.0172813 0.0211231 0.981862 -0.158073 0.103116 -2.81203 -0.167168 0.0630573 -0.0733476 -0.0565629 0.0583924 -0.0912881 0.0752447 1.74223 0.0056339 9.26457 -0.0135204 -0.0137639 -0.14143 -0.154562 -0.652322 4.14515 -0.0153155 -0.795173 -0.0844102 1.39272 -0.00858579 -17.1922 -1.69161 2.33772 0.0461219 -0.171617 -3.59526 -0.008332 0.00275126 -0.234216 0.583808 -0.00700035 0.0148837 -0.0274091 0.0995972 -1.38493 0 0.844992 0.87097 1.20883 0.29521 -1.10863 -0.0826081 2.98352 -0.402221 5.2814 -0.358653 0.542296 2.11206 -0.0559575 0.127425 0.359256 0.285919 0.144454 -1.21263 6.09614 -3.31607 0.204589 -0.380484 0.617116 1.04404 1.53652 -0.591318 0.512349 -0.0168729 45.385 2.5364 -7.79246 5.65976 0.0407566 -5.35147 -1.51557 0.149576 0.089536 -0.123944 0.575389 -5.23618 0.941393 -0.076841 14.8924 10.5435 0.0628016 0.50068 1.96505 -0.479465 1.16831 -4.53426 5.83272 1.69673 -0.466023 -12.3368 -0.455553 -5.41649 1.69444 -1.51773 1.09847 -1.23753 1.28023 3.97355 -1.04971 0.236018 -25.9599 0.908922 -4.36393 0.0357096 0.239566 0.183314 0.431878 -1.20691 0.959995 0.932382 -0.239638 -1.50677 26.8327 -22.1142 37.845 -4.28263 -4.87658 22.8565 -1.27986 -2.5888 5.74261 -1.41072 2.43303 -4.42997 5.8916 -5.26824 6.58995 0 +490 0 -5.45705 -3.20404 -0.15165 0.121147 3.57285 -0.527747 1.72153 -12.2986 4.35711 7.26771 -1.05039 4.40357 -0.190014 7.26292 -0.711694 -1.40129 -33.2057 0.947957 -3.24541 13.697 -0.529298 2.53815 1.01059 1.24088 0.721162 -0.0333592 -0.231655 1.52409 -3.90155 2.89614 2.03005 -2.00243 9.62884 -2.03133 1.09959 -0.342412 -1.52252 27.7372 0.328641 1.92618 0.0360569 -10.1762 1.33137 3.57842 1.06234 2.2924 2.56217 -13.6417 -2.45469 8.22184 3.45487 40.6032 5.31173 -0.0451398 1.97347 15.1497 13.9031 5.22826 -2.08521 0.779626 -3.04586 5.47615 7.56217 0.204151 -0.948924 -5.77773 -1.86539 -1.23773 -5.80122 2.61595 0.759376 4.14743 0.973944 1.42816 -8.98685 21.6576 -143.077 -32.9073 9.67235 -21.153 16.7681 -21.9364 1.20047 0.0260855 -12.6697 35.8202 5.56092 -3.41968 -4.20056 2.01185 27.1485 0 0.561687 0.0555287 -0.0550541 -0.444588 -0.15165 0.121147 0.0696616 -0.152543 -0.562579 -0.000944794 -0.0190333 0.0315273 -0.0993236 0.491113 0.0433841 -0.014192 -0.0537379 -0.0814859 -0.565765 0.560164 0.115193 -0.378002 -0.142328 0.00307907 -1.18424 -3.63103 -0.012908 0.0395564 0.0213462 -3.35037 0.464771 -0.0370028 -0.390862 -0.943191 -0.059377 1.22344 -0.0640941 -0.536478 0.13823 -0.418691 0.00887406 -0.18932 -0.00799127 5.42099 0.501035 -0.600604 -0.00697162 1.23767 0.421442 0.068587 -0.0586003 0.921296 -0.169205 -0.0409049 2.20275 -0.0461771 -0.11472 0.181058 0.0457817 -0.188295 -0.0406809 0.0123562 -0.0552838 0.0509684 7.04953 0.136715 -0.655631 0.121335 0.547564 0.382223 4.95922 -0.611779 -0.315263 -0.164711 -0.214788 0.0241342 -39.2357 0.368708 -1.61364 0.300948 0.674127 -0.0261883 0.106277 -0.00519683 0.162997 1.03903 0.0162709 0.0347909 -0.0190052 0.0409546 1.73009 0 3.57285 -0.0550541 -0.527747 -0.444588 4.08631 0.1957 -1.31491 -4.30411 -7.98324 0.426792 -0.46202 6.81327 0.0850973 1.13291 -0.347492 -0.474851 -0.42294 1.55577 0.571317 4.25915 4.09073 -2.17707 3.82838 0.341378 -4.74905 -0.203726 -2.66634 -0.0775865 -48.0281 -0.310203 5.37433 1.96399 -0.0659725 -13.7711 7.40565 0.515475 -0.0249172 -0.65564 -0.0308012 -2.0487 -1.43116 -0.0158888 -6.92515 -5.95796 -0.0357136 -0.194234 -0.767528 0.0118209 0.0780052 3.91601 -19.6127 1.30233 0.671868 20.8764 -0.296887 7.78508 -1.46411 0.61173 -6.38478 1.2373 3.18546 -8.01273 1.61338 11.0295 76.3328 -0.0272367 2.79981 -0.125313 0.996112 3.05001 -2.54373 0.515527 -0.715533 -0.0253005 -0.0908025 1.54838 -96.8991 -29.6753 25.7231 -7.83316 1.05908 3.90979 -3.21038 1.51359 -2.72086 8.64121 -0.735253 -0.303906 -0.082213 -0.461399 3.78221 0 diff --git a/examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.4 b/examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.4 new file mode 100644 index 0000000000..d416269aec --- /dev/null +++ b/examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.4 @@ -0,0 +1,494 @@ +# Time-averaged data for fix ace +# TimeStep Number-of-rows +# Row c_ace[1] c_ace[2] c_ace[3] c_ace[4] c_ace[5] c_ace[6] c_ace[7] c_ace[8] c_ace[9] c_ace[10] c_ace[11] c_ace[12] c_ace[13] c_ace[14] c_ace[15] c_ace[16] c_ace[17] c_ace[18] c_ace[19] c_ace[20] c_ace[21] c_ace[22] c_ace[23] c_ace[24] c_ace[25] c_ace[26] c_ace[27] c_ace[28] c_ace[29] c_ace[30] c_ace[31] c_ace[32] c_ace[33] c_ace[34] c_ace[35] c_ace[36] c_ace[37] c_ace[38] c_ace[39] c_ace[40] c_ace[41] c_ace[42] c_ace[43] c_ace[44] c_ace[45] c_ace[46] c_ace[47] c_ace[48] c_ace[49] c_ace[50] c_ace[51] c_ace[52] c_ace[53] c_ace[54] c_ace[55] c_ace[56] c_ace[57] c_ace[58] c_ace[59] c_ace[60] c_ace[61] c_ace[62] c_ace[63] c_ace[64] c_ace[65] c_ace[66] c_ace[67] c_ace[68] c_ace[69] c_ace[70] c_ace[71] c_ace[72] c_ace[73] c_ace[74] c_ace[75] c_ace[76] c_ace[77] c_ace[78] c_ace[79] c_ace[80] c_ace[81] c_ace[82] c_ace[83] c_ace[84] c_ace[85] c_ace[86] c_ace[87] c_ace[88] c_ace[89] c_ace[90] c_ace[91] c_ace[92] c_ace[93] c_ace[94] c_ace[95] c_ace[96] c_ace[97] c_ace[98] c_ace[99] c_ace[100] c_ace[101] c_ace[102] c_ace[103] c_ace[104] c_ace[105] c_ace[106] c_ace[107] c_ace[108] c_ace[109] c_ace[110] c_ace[111] c_ace[112] c_ace[113] c_ace[114] c_ace[115] c_ace[116] c_ace[117] c_ace[118] c_ace[119] c_ace[120] c_ace[121] c_ace[122] c_ace[123] c_ace[124] c_ace[125] c_ace[126] c_ace[127] c_ace[128] c_ace[129] c_ace[130] c_ace[131] c_ace[132] c_ace[133] c_ace[134] c_ace[135] c_ace[136] c_ace[137] c_ace[138] c_ace[139] c_ace[140] c_ace[141] c_ace[142] c_ace[143] c_ace[144] c_ace[145] c_ace[146] c_ace[147] c_ace[148] c_ace[149] c_ace[150] c_ace[151] c_ace[152] c_ace[153] c_ace[154] c_ace[155] c_ace[156] c_ace[157] c_ace[158] c_ace[159] c_ace[160] c_ace[161] c_ace[162] c_ace[163] c_ace[164] c_ace[165] c_ace[166] c_ace[167] c_ace[168] c_ace[169] c_ace[170] c_ace[171] c_ace[172] c_ace[173] c_ace[174] c_ace[175] c_ace[176] c_ace[177] c_ace[178] c_ace[179] c_ace[180] c_ace[181] c_ace[182] c_ace[183] c_ace[184] c_ace[185] c_ace[186] c_ace[187] c_ace[188] c_ace[189] c_ace[190] c_ace[191] c_ace[192] c_ace[193] c_ace[194] c_ace[195] c_ace[196] c_ace[197] c_ace[198] c_ace[199] c_ace[200] c_ace[201] c_ace[202] c_ace[203] c_ace[204] c_ace[205] c_ace[206] c_ace[207] c_ace[208] c_ace[209] c_ace[210] c_ace[211] c_ace[212] c_ace[213] c_ace[214] c_ace[215] c_ace[216] c_ace[217] c_ace[218] c_ace[219] c_ace[220] c_ace[221] c_ace[222] c_ace[223] c_ace[224] c_ace[225] c_ace[226] c_ace[227] c_ace[228] c_ace[229] c_ace[230] c_ace[231] c_ace[232] c_ace[233] c_ace[234] c_ace[235] c_ace[236] c_ace[237] c_ace[238] c_ace[239] c_ace[240] c_ace[241] c_ace[242] c_ace[243] c_ace[244] c_ace[245] c_ace[246] c_ace[247] c_ace[248] c_ace[249] c_ace[250] c_ace[251] c_ace[252] c_ace[253] c_ace[254] c_ace[255] c_ace[256] c_ace[257] c_ace[258] c_ace[259] c_ace[260] c_ace[261] c_ace[262] c_ace[263] c_ace[264] c_ace[265] c_ace[266] c_ace[267] c_ace[268] c_ace[269] c_ace[270] c_ace[271] c_ace[272] c_ace[273] c_ace[274] c_ace[275] c_ace[276] c_ace[277] +0 490 +1 110 633.523 94.3568 17.1047 76.4593 415.72 84.4227 -10.3669 -22.6058 87.5916 -41.6713 14.2935 27.1643 -8.83449 45.539 0.0366547 86.1936 355.524 -9.24098 -4.62886 253.597 -3.89066 -13.051 12.2233 -13.4372 -10.3377 26.0544 5.90582 -29.6058 -123.735 14.1872 28.3718 -2.68723 -36.2963 17.3347 -7.52363 4.01093 21.5542 -150.176 49.1667 106.382 -20.5777 75.3918 12.7539 111.763 -61.6208 56.1044 -51.3912 -31.1257 -21.8452 31.6135 -16.4593 -46.7547 8.4484 -2.80826 -1.50179 2.5356 12.6505 -3.37075 15.4133 24.4245 -17.8721 -68.7976 3.20778 -20.9546 -24.8015 -0.708063 16.8285 25.2232 -31.5949 10.7568 -4.07798 17.5517 -24.71 -27.9933 19.8963 -19.4328 298.998 84.3421 43.4922 99.149 -70.3035 176.822 52.3432 -31.6464 42.3741 32.5112 80.4142 -51.6128 67.8793 -73.6841 197.193 8 1.52077 0.095878 25.0149 2.59269 17.1047 76.4593 0.0761166 0.811713 -1.30106 -0.00129584 0.111902 -0.0021799 0.0422313 -0.251236 0.0584668 -0.0193025 -0.01626 0.0327912 -0.206827 0.9039 -0.0332059 3.01698 -1.13334 0.00387133 6.40468 4.05506 0.00624923 -0.0527616 -2.82349 22.795 -2.42196 0.0251087 0.553167 6.5214 -0.15104 -5.49453 -0.0802715 0.913327 -0.334148 0.371537 0.101263 -0.293913 0.00293122 -14.9572 -0.0221277 -0.438643 -0.00945227 1.15262 0.325325 -0.0479565 -0.0576038 -2.21483 0.0504201 0.051311 -2.85708 -0.252836 -0.147617 0.195349 0.0168697 -0.173079 -0.290278 -0.122316 0.657922 -0.00989331 -3.23063 -0.0649301 -0.0401127 -0.245247 0.0816411 -0.366203 2.08759 -0.808832 -1.27672 0.0275694 0.976563 0.0311902 44.7557 2.54472 4.6908 0.618434 -0.591044 6.06674 0.00299428 0.0388937 0.216562 0.685479 0.0208758 -0.0286578 0.0927639 -0.175599 1.58264 43 415.72 25.0149 84.4227 2.59269 112.55 11.2771 19.2603 -1.22032 27.1819 -1.40836 -1.25201 -13.3198 -0.183368 -1.72716 2.25056 0.669987 -1.28528 -11.5485 4.82046 32.6867 -23.7778 -1.32993 -3.13072 0.649938 -11.5006 -2.62278 5.10788 0.548024 219.188 10.0932 -110.928 30.4814 0.276871 -8.57081 -42.4809 -0.452488 0.144132 -0.275055 1.20694 -20.9224 3.34223 -0.36309 69.1926 28.1069 -0.140381 1.18327 3.75663 4.05765 -1.06858 -3.14327 -1.12221 0.910422 2.88772 10.5331 -4.93061 -11.8662 3.67678 -3.34633 -0.0501799 0.46571 -1.69755 6.2103 -3.44241 -3.91512 26.2264 -1.55167 1.4658 -0.808121 0.272213 6.48859 2.32689 -2.05316 2.03777 1.25839 0.0492927 -7.12287 381.036 52.2256 27.4835 34.5144 -28.0414 61.287 8.66705 -6.46335 7.84842 5.0521 6.94067 -5.54313 6.83136 -6.70729 14.1039 0 +2 0 0 0 0 0 0.019982 -0.390456 1.12581 1.89207 0 0 -0.857617 -2.61627 0 -6.01795 -0.158418 0 0 0 -0.324065 -7.22232 0 0 0 0 0.667987 0 0 1.00017 8.66857 -1.52916 0 -0.312051 0 0 0.506707 -0.143287 0 0 -2.56201 -2.77154 0 0 -0.537342 -11.0941 0 -1.29022 2.76894 -0.277586 0.796272 0.890361 0.341017 0 0.787035 -0.300377 -0.356484 -0.855919 0.32443 -1.06247 0 0 -0.397307 5.54335 0 -0.407508 -0.911793 -1.37427 0 0 0 0 0.867341 -0.994681 0 2.84811 -0.402481 0 0 0 -3.22735 0 2.45634 -10.0229 0 0.16544 -1.18401 -5.69172 0 1.26917 -4.56391 7.1909 -20.1025 0 0 0 0.241195 0.0639042 0 0 0 -0.0459657 0.106911 0 -0.00389019 0 0.0158326 0.140044 0 0 0 0 0.225331 0 0.0323058 0 0.820656 0 -0.413236 0.587186 0 4.10491e-05 0 0 0.109714 0.0038492 0.159886 0 0.0169011 0 0.00532619 0.256212 0.00602296 0.0759359 0.0641599 0 0.000798758 0 0 0 0.00083204 0 0 -0.0094609 0.00781647 0.485082 0.0136809 0 0 -0.0263238 0 -0.00852847 0 0 0.0410094 0.077558 0.218977 -0.0752142 0 0 0.0530495 -0.0472733 -0.0351926 0.451547 -0.19332 0 0.123094 0.0203026 -0.0339193 0 0 0 -3.49898 0 -0.330478 -0.485167 0 -0.0275285 -0.0415255 -0.510493 0 -0.00307907 -0.00455077 -0.0352637 -0.0835054 0 0.019982 0.241195 -0.390456 0.0639042 -0.759856 -0.181214 1.03324 -1.30879 1.381 0.0063192 0.0219018 1.28024 -0.0002765 0.186461 0.160765 0.0231344 0.0116011 0.122308 -0.781495 -0.972351 -1.97601 -0.256802 0.606571 -0.0875305 0.30287 0.193061 0.128699 -0.0127352 -11.2867 -0.426996 -5.63257 -3.23686 0.0240278 -2.30602 -3.41254 0.0901742 -0.00727082 -0.139421 -0.0691262 1.12675 0.222273 0.0334162 -6.47851 -1.95093 -0.000893356 -0.0376847 -0.29641 -0.0975724 0.459619 0.550056 -4.23274 0.861876 0.0322437 -1.84277 -0.535132 -0.693252 0.39943 -0.607263 -0.496174 -0.341922 -1.2043 0.716828 -0.284252 -0.150106 -14.3868 0.29594 -0.691005 0.0741957 -0.0514309 0.0194368 0.191708 0.110249 -0.0389362 -0.203518 -0.053956 -0.39594 17.8276 -4.5702 9.57124 1.13339 -0.796077 1.31363 -0.24636 0.488727 -0.940132 1.38886 -0.0576275 0.192689 -0.428387 0.667578 -1.20912 0 +3 0 0 0 0 0 0.0808912 0.121547 -0.468948 -2.02778 0 0 -0.0211098 -0.110122 0 0.298021 -0.137775 0 0 0 -0.263913 0.537545 0 0 0 0 -0.476959 0 0 -0.292499 -2.83655 0.0284581 0 -0.289833 0 0 -0.17166 -0.0377945 0 0 -0.34874 0.341692 0 0 -0.179071 -0.0306183 0 0.0729532 -0.775892 -0.182881 0.178164 1.92643 0.269242 0 0.232228 -0.526754 -0.0367362 -1.32587 0.356648 0.304077 0 0 0.47708 0.850274 0 0.945601 -0.298679 0.109121 0 0 0 0 -0.199498 0.249846 0 -1.00804 0.646612 0 0 0 2.5315 0 -0.239321 4.86577 0 0.243573 0.0822844 4.38627 0 0.773894 1.24408 -1.78086 9.02317 0 0 0 0.0385285 0.016165 0 0 0 -0.0682327 0.0851058 0 -0.00878235 0 0.00824645 0.0229843 0 0 0 0 0.043077 0 0.00481633 0 0.115596 0 -0.404257 0.280861 0 -0.0200741 0 0 -0.560308 0.00143565 0.0942226 0 0.0201131 0 0.00419684 0.0452706 -0.112095 0.0332536 0.0209025 0 0.000341982 0 0 0 0.000965924 0 0 -0.00335762 0.00614112 0.140695 0.0200946 0 0 -0.0345502 0 -0.00670051 0 0 0.0320887 0.0351037 0.399265 -0.0186175 0 0 -0.0231112 0.0555032 -0.0687172 0.375625 -0.181111 0 -0.13627 -0.0146118 -0.140983 0 0 0 -0.383753 0 -0.10718 2.09452 0 -0.00349675 0.124709 0.0499567 0 -0.000849806 0.0181515 -0.1053 1.27839 0 0.0808912 0.0385285 0.121547 0.016165 0.0396667 0.107017 0.181988 -0.271861 0.283221 -0.0105426 -0.040489 -0.263158 -0.00303637 -0.0892919 0.0372701 0.0966975 -0.0478863 -0.0194905 -0.137559 0.0814059 0.0287002 -0.120067 -0.158307 0.00694866 -0.0952346 -0.157797 0.574322 0.0239262 -0.651573 -0.0681955 -0.85839 0.424409 0.0070428 -1.22533 -0.210788 -0.0368793 -0.00620844 -0.0149489 -0.0107778 -0.998628 0.0709918 -0.0252828 0.87795 -0.205236 -0.0093014 -0.027996 0.0898784 0.0930962 0.053969 -0.233099 -1.24983 0.032921 0.0470698 1.19676 -0.0965457 -1.05756 0.0766464 0.238181 -0.359521 -0.135526 -0.523919 0.820447 -0.140108 0.32224 7.181 -0.0147846 -0.109635 0.0451754 0.0674679 0.455292 0.24586 0.074375 0.0172685 0.137225 -0.0730147 -0.222617 2.71688 0.0287363 3.08648 0.233067 -0.106681 2.46371 0.0531921 -0.105177 0.116088 1.00822 0.00918331 -0.0242064 0.375106 -0.420228 1.24039 0 +4 0 0 0 0 0 0.0452898 -0.063578 0.368607 0.806365 0 0 0.228512 -0.160687 0 -0.712275 0.0279078 0 0 0 -0.0373852 -4.63921 0 0 0 0 0.360022 0 0 -0.24615 -0.451968 -0.173302 0 0.589696 0 0 0.18565 0.0167827 0 0 -0.0138997 -2.61012 0 0 -0.100685 -0.52385 0 -0.925998 -0.498529 0.818834 0.177402 -0.748757 0.209067 0 0.118052 -0.165513 0.648154 -0.648077 -0.854859 -0.992861 0 0 -0.0916018 7.60687 0 -0.877177 -0.186496 -0.681617 0 0 0 0 0.0259129 -0.225929 0 3.61376 -2.02877 0 0 0 -0.163508 0 0.313512 0.935185 0 -0.103632 -0.0491085 0.402943 0 0.553813 -0.845487 2.13829 -3.82208 0 0 0 -0.0138239 -0.00430116 0 0 0 0.0192541 -0.0135089 0 0.00290607 0 -0.00122098 -0.00158384 0 0 0 0 0.0715531 0 0.00921959 0 0.00644316 0 0.10678 -0.0727613 0 -0.00176368 0 0 -0.127885 -0.000127066 -0.0209269 0 -0.00301229 0 -0.000557267 -0.0422624 -0.0152574 -0.00376812 -0.00871224 0 -4.89132e-05 0 0 0 -0.000131848 0 0 0.000268561 -0.000769474 0.0270579 -0.0203729 0 0 -0.00204804 0 0.000839564 0 0 -0.0107921 0.000602497 0.00595497 -0.00104256 0 0 -0.143447 0.0416175 0.00609016 -0.32548 0.192233 0 -0.216201 -0.010181 -0.000871387 0 0 0 -0.0381932 0 0.00679639 0.526047 0 -0.000823092 0.0394045 0.0669008 0 2.52638e-05 0.00478025 0.00771428 0.185085 0 0.0452898 -0.0138239 -0.063578 -0.00430116 0.140598 0.00606572 -0.0610349 0.19885 2.05121 0.000876118 -0.0471416 -0.0526951 0.000336591 -0.00121708 -0.0104564 0.193935 -0.0149982 -0.00282643 -1.79166 0.728803 -0.195444 0.0802618 0.0368793 -0.261541 -0.123188 0.0695546 1.54961 0.00329416 2.3224 -0.199651 0.303343 0.254843 -0.00172064 0.593824 -0.0687065 0.00609889 -0.0074905 0.0453569 -0.0512152 0.475151 0.255687 0.0124658 0.817688 -1.5711 -0.00600475 -0.0293641 -0.30932 0.0892705 0.1872 0.920629 0.724226 -0.298566 -0.0825022 2.02287 0.0318566 -0.121482 0.0948204 -0.0567802 -0.0548485 0.0134769 0.0320435 -0.123632 0.0904469 -4.41836 -17.7616 -0.144281 -0.0750469 -0.0885355 -0.10918 -0.370314 -0.0387531 0.0262936 -0.000286176 -0.111368 0.125043 -0.16848 -0.960107 0.220408 -2.55308 -0.0669897 0.484527 -1.51276 0.0111375 0.0484268 -0.164428 -0.157305 0.00133172 0.0666093 -0.203816 0.371535 -0.752794 0 +5 0 -0.232794 -0.0616963 0.0467445 0.245503 -0.388057 -0.0359665 0.361907 1.38242 0.436281 -0.731379 0.115134 0.192089 -0.00173486 1.59436 -0.0435745 0.813172 4.11494 -0.102815 -0.0785589 2.69157 -0.0059298 0.147922 0.0058826 -0.186312 0.0302869 0.146664 -0.0251779 -0.217775 -1.36373 0.367893 0.051322 -0.370522 0.388197 0.0711514 -0.0568727 0.00652389 -0.15996 1.50343 0.373454 1.22771 -0.0100066 0.577914 0.0405684 1.27307 -0.0258927 0.499639 -0.475884 -0.653669 0.0299502 -1.51566 -0.35372 10.7643 0.0174314 -0.0518855 0.388459 4.06937 1.28049 0.950391 0.227165 -0.0240726 0.0280116 -1.93941 1.90871 1.46363 1.42964 0.493565 0.560752 -0.465615 -0.0853722 0.339786 -0.392852 -0.315104 -0.0763739 0.0482031 -0.385239 0.95256 -3.51566 1.92154 -4.4012 -1.71921 0.460434 0.324988 0.246866 -0.440832 1.45955 -2.218 0.0101897 -0.0766934 0.281728 -0.362182 1.41046 0 0 0 0 0 0.0467445 0.245503 0.00327173 0 0 0 0 0.000403883 0 0.00727051 0 0 0.00319542 0.0100245 -0.00624784 0 -0.000288429 0.0811033 0.0266167 0 0 -0.150209 0.000497364 0 0.0221567 1.00958 0 0 -0.0153113 0.312941 0 0.201718 0 -0.012899 0 0 -0.000988822 0 0 1.20553 0.0085498 0.06385 0 0.0679282 -0.0988161 0 0 0.37891 0 0.00613803 0.222204 -0.00196321 0 0 -0.00606188 -0.00518758 0 0.0154639 0.0280367 0.00847291 -1.06796 0.0174188 0.0194479 0 0.00946217 -0.0868087 0.175315 -0.0696412 0.077349 0 0 0 -10.2073 -0.676228 -0.689285 -0.0469851 0.0249716 -0.710714 -0.00250696 0.00114308 -0.0361361 0.00749362 0 0 0 0 0 0 -0.388057 0 -0.0359665 0 0 0 0 0.55978 0.06439 0 0 -0.848303 0 -0.107725 0 -0.0315963 0 0 0.151942 0 0.439286 0.177624 -0.387447 0.0207182 0 0 -0.22034 0 1.59205 0 0.271239 0.880185 0 1.27732 0.42582 -0.0501712 0 0.0713995 0 0 -0.0101758 0 1.30683 -0.376565 0 0 -0.0208858 0 0 -0.21399 1.26361 -0.174739 0 0.874533 0 1.14698 -0.14357 0.150074 0.0131105 0.136659 0.567175 -0.591667 0.0549897 0.935337 10.7712 -0.152709 0 0 0 0.347913 -0.013083 0 0 0 0 -0.249851 1.40239 3.27376 -4.33282 0.122262 -0.148392 0.150759 0.248971 -0.29801 0.493138 -0.677066 0 0 0 0 0 0 +6 0 0.408405 0.357908 0.0210414 0.069813 0.0121382 0.0988808 -0.0843766 -1.41271 0.139666 -0.0543387 0.0711436 0.522334 -0.00333143 1.14947 -0.0519767 1.56494 5.98634 0.0345361 -0.136925 3.40896 0.0224456 -0.266276 0.0048031 -0.0398739 -0.35053 0.397117 0.0528194 0.218718 0.183796 0.316476 0.0278382 -0.291541 -0.916301 0.197242 -0.0286349 0.0019955 0.189717 -3.57787 0.0817919 1.76818 -0.0184052 0.98968 -0.000744677 1.18492 -0.0784131 0.931365 0.27197 -0.827576 0.0559693 0.280085 -0.0454733 -6.97518 0.208065 -0.142803 0.0309335 -3.38332 0.646293 -0.484123 0.0835808 0.031293 -1.51917 -3.50286 -0.0703177 0.148122 -0.27325 0.101731 -0.20685 0.172928 -0.0456868 0.0342223 -0.580803 -0.267025 -0.327687 -3.95786 -0.177088 0.0320029 7.85294 -0.301634 4.79276 1.66839 -1.24125 2.597 -0.076337 0.486422 -1.19437 2.8777 0.0308582 -0.0258146 0.00438473 -0.0195124 -0.190093 0 0 0 0 0 0.0210414 0.069813 0.00390804 0 0 0 0 0.00070451 0 -0.0271846 0 0 0.001742 0.00793944 -0.0457844 0 -0.00571608 0.0686257 -0.222931 0 0 -0.0218148 0.000354441 0 -0.0173528 1.20073 0 0 -0.000884387 0.281065 0 -0.0165385 0 -0.00530048 0 0 -7.54096e-05 0 0 0.138385 0.014522 0.038599 0 0.0787747 -0.0531688 0 0 0.198838 0 0.00739533 -0.214807 -0.0200106 0 0 -0.00320281 -0.00625019 0 0.00381666 -0.0950474 0.0101133 -1.06633 -0.0155055 -0.00125055 0 0.016052 0.0366109 0.0759911 -0.102132 0.164446 0 0 0 -0.903147 -0.154794 0.785184 -0.00362794 0.0168752 -0.196163 -0.00113713 0.00445665 -0.053517 0.240793 0 0 0 0 0 0 0.0121382 0 0.0988808 0 0 0 0 -0.296856 1.53245 0 0 -0.0367949 0 0.000503111 0 0.0515035 0 0 0.140467 0 -0.168169 -0.126965 -0.00394148 0.0412205 0 0 0.421519 0 7.82274 0 -2.47619 0.605828 0 -0.70078 -0.663598 -0.000368307 0 -0.0586195 0 0 0.184372 0 2.16301 0.0488073 0 0 0.0711663 0 0 -0.0917698 0.736499 0.265291 0 0.248043 0 0.772304 0.155296 -0.205645 0.522816 0.0618484 0.166679 -0.251909 0.348489 -2.51221 -12.66 -0.0722265 0 0 0 0.078496 -0.0637418 0 0 0 0 -0.500808 8.23373 -0.404815 2.7087 0.872253 -0.818858 1.14246 -0.0226735 0.0453883 -0.0645815 0.47073 0 0 0 0 0 0 +7 0 -0.450487 0.675941 0.0219074 0.0382986 -0.0385997 0.194149 -0.909163 -1.10295 0.276846 -0.0273133 -0.203853 0.67938 -0.00102845 -0.730428 -0.0387389 2.44191 7.22677 0.0557517 -0.0780566 3.6871 0.0250138 -0.98717 0.00321615 -0.0476455 -0.856587 0.892877 -0.0277073 -0.518669 -0.126089 0.355706 0.0304564 -0.448159 -1.66909 -0.0730512 -0.70738 -0.0192773 0.133726 -3.04269 -0.182105 1.87127 -0.00917848 1.20036 -0.0152754 -2.26663 -0.0790092 0.931853 -0.343181 -0.904086 -0.00982556 0.863377 -0.307518 -11.0486 -0.0191785 0.0186644 0.177189 -0.677554 0.492212 0.788317 -0.0289736 -0.0137184 1.44049 -3.80813 0.568879 1.41253 -0.199002 0.053122 -0.731214 0.0336917 -0.0621426 -0.444531 0.631703 -0.0729355 -0.432256 -0.125489 0.201487 -1.63652 9.58292 0.803408 4.39175 0.737338 -0.339191 2.94042 -0.100519 -0.11011 0.522289 -0.181547 0.0310929 0.0260378 0.0656683 0.0785414 0.130409 0 0 0 0 0 0.0219074 0.0382986 0.00135175 0 0 0 0 0.000170666 0 -0.0142318 0 0 0.00156076 0.00496401 -0.0166897 0 -0.00218165 0.0562797 -0.105709 0 0 -0.0876842 0.000247232 0 0.0118746 0.873087 0 0 -0.00541252 0.230771 0 0.104156 0 -0.0059067 0 0 6.39643e-05 0 0 0.417075 0.00362105 0.0310469 0 0.0280098 -0.0604151 0 0 0.00172145 0 0.00253747 -0.503281 -0.0209521 0 0 -0.0029646 -0.00214456 0 0.00134368 0.0440069 -0.00483301 -0.74161 -0.0313344 -0.0103974 0 -0.00399341 0.0918387 0.112916 -0.0450966 -0.155518 0 0 0 -3.14068 -0.252856 0.308595 -0.0137953 0.00620799 -0.200916 -0.00123296 0.000416936 -0.016403 0.133891 0 0 0 0 0 0 -0.0385997 0 0.194149 0 0 0 0 -0.0967718 0.275058 0 0 -0.00415843 0 -0.0074572 0 -0.0288431 0 0 0.36345 0 -0.798876 -0.0304463 0.0691981 0.0395686 0 0 -0.215199 0 1.70101 0 -1.30977 -0.279605 0 -0.153047 -1.01579 0.00669675 0 -0.0157271 0 0 0.0281333 0 -0.133037 -0.252636 0 0 -0.029346 0 0 -0.115157 -3.02996 0.107171 0 0.507548 0 -0.193303 -0.00682507 -0.0233335 -0.122144 -0.0384146 -0.155622 -0.131978 -0.0350041 -0.793717 -5.44704 0.0515272 0 0 0 0.117069 0.0692092 0 0 0 0 -0.120104 -0.129237 0.00390137 -0.233918 0.300365 -0.505751 0.912965 0.0421739 -0.0157202 -0.0137363 0.0429891 0 0 0 0 0 0 +8 0 0.584324 0.29765 0.0636737 0.287644 -0.248735 0.153581 0.135495 1.68446 0.434626 -0.532894 0.19315 2.09657 -0.00824769 3.09109 -0.0402718 2.47489 11.7432 0.0580193 -0.0720326 4.44753 0.0556761 0.0044409 0.0115029 -0.0994597 0.191177 0.540984 0.0373197 -0.268626 -0.325856 0.781959 0.0708024 -0.111851 0.444128 0.362564 -0.178766 0.0302632 0.0502902 2.09309 0.559554 1.91428 -0.0452547 1.50719 0.0867806 8.02709 -0.212336 0.795289 -0.235012 -0.139933 -0.226286 1.54703 -0.0504195 -0.651988 -0.00941635 -0.254261 0.0670759 2.0856 -0.26459 -0.124975 -0.0150691 0.0441198 0.101082 -1.75331 -0.866645 0.711193 -0.39535 0.825997 -1.23592 -0.313545 -0.096901 -0.0800771 -0.73826 0.377743 -0.388239 -0.810143 0.437346 -2.30345 -5.72156 0.335825 -4.53023 -0.989095 -0.783149 0.0886175 -0.0237216 -0.370558 0.790827 -1.11686 0.112021 -0.150298 0.276383 -0.505962 0.584471 0 0 0 0 0 0.0636737 0.287644 0.00239925 0 0 0 0 2.23618e-05 0 -0.00586242 0 0 0.00314778 0.0104555 -0.00860371 0 -0.000874741 0.119954 -0.0577262 0 0 0.0565586 0.000542178 0 0.00935168 1.76942 0 0 0.0128946 0.47395 0 0.166484 0 0.0292118 0 0 0.00463587 0 0 0.987316 0.000677942 0.0625224 0 0.0473443 -0.123853 0 0 0.244484 0 0.00352773 -0.541365 -0.0133744 0 0 -0.00643665 -0.00444539 0 0.0074196 0.0371482 -0.00166275 -1.17522 -0.0437778 0.0144619 0 0.000700365 -0.0176131 0.0384149 -0.0469807 -0.0824571 0 0 0 -8.33186 -0.631117 -0.246891 -0.039225 0.002872 -0.414406 -0.00260963 -0.000219183 -0.0253829 0.0647454 0 0 0 0 0 0 -0.248735 0 0.153581 0 0 0 0 0.302408 1.75888 0 0 -0.543828 0 -0.0685075 0 0.0737097 0 0 0.492553 0 0.656941 0.111571 -0.147128 0.0607748 0 0 0.60657 0 13.9762 0 1.09502 1.59453 0 0.648153 0.981894 -0.0173027 0 0.053953 0 0 0.203376 0 4.58314 1.16437 0 0 0.164221 0 0 -0.129804 -0.277726 -0.167073 0 3.31741 0 -0.283863 -0.150368 0.144605 -0.232226 -0.0276781 -0.105026 -0.0673972 -0.0434842 -1.37371 7.74037 -0.0323949 0 0 0 0.571723 -0.00151934 0 0 0 0 -0.683725 3.8939 2.26122 -1.15804 -0.363648 0.512626 -0.513237 0.197519 -0.178479 0.23702 -0.226405 0 0 0 0 0 0 +9 0 0.154188 0.535924 -0.0267739 -0.0213723 0.0488454 0.284284 -1.7374 -3.06944 -0.25225 0.42952 -0.329674 0.330665 0.00774833 -0.182294 0.0316744 0.960508 1.49145 0.0159877 0.109613 -2.11335 -0.0299366 -0.827103 -0.00981428 0.049616 -0.966205 0.512866 -0.101995 -0.4639 -0.213681 0.2547 -0.0543654 0.131154 -1.73567 -0.112997 -0.682029 -0.0319448 -0.331141 -4.44741 -0.481056 -0.394358 0.0456259 -0.583577 -0.0597516 -0.241779 0.223269 0.305046 -0.372758 0.496298 0.117518 0.132261 0.680502 2.77461 -0.219732 0.260694 0.10241 2.33937 0.526661 0.675451 -0.257438 -0.116347 1.76258 -0.819692 2.99162 1.50207 0.378214 -0.0494956 0.0127507 -0.395871 0.110725 0.527135 0.955675 0.0918825 0.100926 0.180613 -0.149921 0.543808 14.1746 -0.138737 9.15513 0.596944 0.615138 3.68907 0.135092 0.406897 -1.0026 3.80971 -0.117789 0.129731 -0.143868 0.428708 0.383268 0 0 0 0 0 -0.0267739 -0.0213723 0.00393585 0 0 0 0 0.000648707 0 -0.0190722 0 0 0.00215017 0.00205954 -0.0137142 0 -0.00145775 -0.0306431 -0.164115 0 0 -0.143701 8.55657e-05 0 0.0398018 0.716856 0 0 -0.017334 0.0637653 0 0.151735 0 -0.0360641 0 0 -0.00487022 0 0 0.625088 0.0126608 0.0444846 0 0.0765527 -0.0485864 0 0 0.288534 0 0.00867682 0.1251 -0.021123 0 0 -0.00443442 -0.00538783 0 0.0172517 -0.00800338 0.00316036 -0.560336 0.037698 -0.000963914 0 0.0103024 0.0976422 0.426003 -0.146628 0.0500885 0 0 0 -5.87273 -0.425038 0.252088 -0.0280169 0.00551441 -0.322474 -0.00154028 0.00285888 -0.0430216 0.239943 0 0 0 0 0 0 0.0488454 0 0.284284 0 0 0 0 -0.402137 -1.04126 0 0 0.424921 0 0.060032 0 -0.0768639 0 0 -0.00410363 0 -0.464142 -0.143231 0.233608 0.00949784 0 0 -0.629343 0 -0.546806 0 -1.67645 -0.354268 0 -0.951349 -0.690361 0.031077 0 -0.0525322 0 0 -0.126852 0 -1.0584 0.500232 0 0 0.0885047 0 0 -0.171789 -1.55571 0.110432 0 -2.42795 0 -0.26519 0.188239 -0.23953 0.192753 -0.0846432 -0.295572 0.0577574 0.199748 2.27606 2.62445 0.102034 0 0 0 -0.0936066 -0.081837 0 0 0 0 0.294643 5.88268 -1.59725 3.79852 0.763623 -0.771099 1.01195 -0.162746 0.183131 -0.276591 0.559684 0 0 0 0 0 0 +10 0 0.0173956 -0.482869 -0.0118994 -0.0837503 -0.0470194 -0.128835 0.803505 1.0553 -0.0754237 -0.375026 0.0226336 -0.244588 0.00093001 0.339605 -0.00259327 -1.62261 -3.57304 -0.124053 -0.0161114 2.50218 -0.0488618 0.593496 -0.00143811 -0.150603 0.527207 -0.630259 -0.0541153 0.505202 0.994817 -0.28055 -0.00988343 -0.125648 1.22488 -0.128922 0.408986 -0.00390139 -0.27205 2.77858 -0.0512671 0.64386 0.00455731 -1.0159 -0.0159992 2.0944 0.0154753 -0.234041 0.69215 -0.229168 0.0696428 -0.838768 -0.11053 7.70174 0.0131702 -0.000168859 -0.0256962 1.95536 0.671473 0.55148 0.270033 0.0042576 -1.93902 -2.78855 -1.14775 -1.29658 0.472709 -0.977338 0.750232 -0.31154 0.00679921 0.247682 0.0264821 -0.140356 0.295913 -0.63911 -0.4447 1.37073 -8.04425 -0.262402 -3.16357 -0.563999 0.722309 -4.49167 0.674665 -0.34241 0.254433 -2.60695 -0.00816423 0.01372 -0.276294 0.0586189 -1.78435 0 0 0 0 0 -0.0118994 -0.0837503 -0.000498494 0 0 0 0 -1.52335e-06 0 -0.000363752 0 0 -0.000619375 -0.00154712 0.00165975 0 3.01919e-05 -0.0326659 0.0130897 0 0 0.0867996 -7.52074e-05 0 0.00258961 -0.518609 0 0 0.0111143 -0.16119 0 0.00956524 0 0.00847656 0 0 0.00102077 0 0 -0.137653 -0.000194711 -0.0130552 0 -0.0120778 0.0187154 0 0 -0.147885 0 -0.000855879 0.00806315 0.00387802 0 0 0.000972134 0.000827162 0 -0.00588206 -0.0607538 -0.00495171 0.282956 0.0122181 -0.00147389 0 0.000154639 0.0114193 -0.0916798 0.000741508 -0.0663118 0 0 0 1.12659 0.0905059 0.0337027 0.00495559 -0.00342695 0.0868583 0.000429701 -0.00101167 0.0135454 -0.0350344 0 0 0 0 0 0 -0.0470194 0 -0.128835 0 0 0 0 0.0690666 -1.01289 0 0 -0.225003 0 -0.034553 0 -0.0707201 0 0 1.03808 0 0.463917 0.0255822 -0.189126 0.130841 0 0 -0.531027 0 0.657536 0 0.748684 -0.00273801 0 0.225839 0.459011 -0.0264273 0 0.00036115 0 0 -0.136818 0 0.268223 1.79563 0 0 0.228033 0 0 -0.171953 0.758139 0.154944 0 -0.226404 0 0.452418 -0.141217 0.0363962 0.151569 -0.0455233 -0.0629108 -0.125153 0.0454194 2.10703 8.84509 0.0387567 0 0 0 0.235923 -0.0194963 0 0 0 0 0.0361043 -11.0068 0.46528 -2.75474 -0.0113142 -0.227614 0.140126 0.0364532 -0.0868196 0.196104 -0.184286 0 0 0 0 0 0 +11 0 -0.0693869 -0.0499976 0.0748276 0.247259 -0.342451 -0.0167211 0.451829 1.70015 0.556577 -1.09629 0.45859 0.782393 -0.0214446 2.06355 0.12846 0.139865 -0.633913 -0.219971 0.194682 -1.20466 -0.0271918 0.0763624 0.0323794 -0.249373 0.156305 0.140994 0.0243123 -0.279916 -1.59776 0.581485 0.133276 0.780227 0.054433 0.155025 -0.00890998 0.111441 0.159935 0.343293 0.792059 0.0123761 -0.0592228 1.03002 0.19089 2.66989 -0.0830764 0.308574 -0.650271 1.3518 -0.274166 -1.18262 -0.336313 7.48269 -0.468446 0.193032 0.257476 2.62296 0.926927 1.40077 0.337393 0.0445729 -0.538727 -3.69065 0.466801 -0.126965 0.702907 -0.00651531 0.391095 0.00546422 -0.227554 0.489555 -0.20343 0.478364 -0.382356 -0.366818 -0.673711 2.40646 -1.36542 2.73117 -4.54957 -1.51923 0.369952 0.106784 0.540714 -0.553168 1.91297 -2.78226 0.0779878 -0.411016 0.793886 -1.1737 1.69019 0 0 0 0 0 0.0748276 0.247259 0.00525403 0 0 0 0 0.00110809 0 -0.00723532 0 0 0.00364596 0.0186878 -0.0605195 0 -0.00799859 0.189166 -0.0612951 0 0 -0.169939 0.000888124 0 0.0695598 2.02629 0 0 -0.0105701 0.65966 0 0.352367 0 -0.0408651 0 0 -0.0020194 0 0 1.53213 0.023467 0.0744586 0 0.109254 -0.0966191 0 0 0.294938 0 0.00985245 0.181615 -0.0238228 0 0 -0.00687342 -0.00832684 0 0.0157197 0.0301861 0.0124275 -0.0203047 0.039244 0.00269476 0 0.0191249 -0.085905 0.548129 -0.0958675 -0.188713 0 0 0 -12.3513 -0.747986 -0.469465 -0.0555879 0.0728934 -1.2495 -0.00276318 0.00292839 -0.0555585 0.080557 0 0 0 0 0 0 -0.342451 0 -0.0167211 0 0 0 0 0.393571 0.809762 0 0 -0.923945 0 -0.116223 0 0.0381025 0 0 -0.16385 0 0.494512 0.149359 -0.370405 -0.0241201 0 0 0.27596 0 2.54857 0 0.364494 0.923363 0 1.195 0.407333 -0.0479318 0 0.0436596 0 0 0.102034 0 1.62258 -0.564493 0 0 -0.0519929 0 0 -0.664547 1.72801 -0.545285 0 1.76486 0 0.315445 -0.0169185 0.234796 0.569026 0.125845 0.115081 -0.269356 0.0640097 0.0472039 4.92086 -0.192473 0 0 0 0.612174 0.0231085 0 0 0 0 -0.317627 2.96093 3.07744 -3.33541 -0.137062 0.343769 -0.524661 0.286786 -0.326415 0.527595 -0.689124 0 0 0 0 0 0 +12 0 1.08763 -0.339703 0.0929581 0.0620113 0.0618232 -0.244834 1.09338 1.1106 0.501591 -1.66018 0.280322 -1.07438 -0.0410199 -1.1351 -0.0353698 -1.82408 -4.17528 -0.34578 -0.197758 -1.78141 -0.0978375 0.818244 0.0516006 -0.553804 0.762147 -0.744218 -0.0464321 0.38465 -0.551802 -0.568304 0.184114 -0.171205 0.984223 -0.0881162 0.698118 0.0594257 -0.00941733 -0.462672 0.636543 -1.28578 -0.152424 0.59185 0.167029 -2.3867 -0.486016 -0.934852 0.0678156 -0.613687 -0.338627 -0.557586 -0.76854 5.06392 0.344794 -0.186407 0.332673 0.958802 0.438991 0.00423121 0.775857 0.281996 -2.05366 -0.292218 -1.78961 -1.25907 0.505317 -0.244556 0.468115 -0.422644 -0.262368 -0.0731759 -0.491987 0.369057 -0.0129571 0.725302 -0.647967 1.06822 0.909611 1.33353 0.127095 1.92448 -1.7992 2.72689 1.70542 -1.1512 1.632 -0.275263 0.456247 -0.528363 0.516067 -0.597346 0.583723 0 0 0 0 0 0.0929581 0.0620113 -0.00112013 0 0 0 0 0.000192605 0 -0.0498714 0 0 -0.000243409 0.0145843 -0.146375 0 -0.0194829 0.0471023 -0.365096 0 0 -0.100086 0.000668821 0 -0.0188539 -0.78145 0 0 -0.010787 -0.083534 0 -0.0776348 0 -0.0274702 0 0 -0.00119387 0 0 -0.673992 0.00415405 -0.00162333 0 -0.0238746 0.00257757 0 0 -0.0934623 0 -0.00208484 -0.934988 -0.0232388 0 0 0.000548819 0.00176201 0 -0.00162163 0.0272933 -0.00503628 -0.453494 -0.074179 -0.0389019 0 -0.0110741 0.286128 0.099174 -0.0570806 0.0350712 0 0 0 5.72741 0.259743 1.69934 0.0264055 -0.0126404 0.386278 0.000387175 0.00318966 -0.0261531 0.397885 0 0 0 0 0 0 0.0618232 0 -0.244834 0 0 0 0 0.297952 1.42233 0 0 -0.490541 0 -0.0649882 0 0.0278932 0 0 -0.213933 0 0.41794 0.0230929 -0.20806 -0.0245706 0 0 0.225301 0 1.43929 0 -2.32828 -0.0767548 0 0.162597 0.0516616 -0.0277963 0 0.0432921 0 0 0.170198 0 0.0191173 -0.810889 0 0 -0.105753 0 0 -0.149354 0.167227 -0.0662433 0 1.26226 0 0.0865308 0.110864 -0.0101787 0.277215 0.113139 0.162118 -0.163754 -0.0303093 -1.4154 -1.3407 -0.117187 0 0 0 0.233394 0.0539795 0 0 0 0 -0.387902 13.0631 2.4701 -0.519182 0.780618 -0.621508 1.00488 0.175551 -0.169294 0.255116 -0.121288 0 0 0 0 0 0 +13 0 -0.17679 -0.466342 -0.0371808 -0.0858168 0.0607652 -0.040671 0.304687 1.15219 -0.247871 -0.926725 -0.315125 0.711885 0.0128282 1.3673 -0.105015 -2.06737 -6.37106 -0.241063 -0.107423 3.68447 -0.0998675 0.559434 -0.0178078 -0.301294 0.488495 -0.70835 -0.140282 0.410849 0.829927 0.225789 -0.0690255 -0.669395 1.20021 -0.631643 0.273392 -0.0806937 -0.693694 2.68222 -0.521829 1.74984 0.0413415 -2.99388 -0.130215 4.22726 0.0991218 0.644406 0.475722 -0.822277 0.255311 -1.72139 -0.43797 6.03403 0.191344 -0.065993 -0.119214 -2.84996 0.327311 0.564721 0.41989 -0.0563902 -0.649923 -4.1157 -0.749905 -0.93217 1.20768 -0.529732 0.389171 -0.831007 0.109998 0.4145 0.266359 -0.492412 1.05655 -3.00115 0.335764 3.22646 -6.27686 0.396117 -2.60513 -0.937835 1.21105 -2.95658 1.25349 -1.1381 1.52551 -2.60696 -0.0930504 0.291756 -0.441974 0.668053 -0.877937 0 0 0 0 0 -0.0371808 -0.0858168 -0.00256624 0 0 0 0 -0.000648208 0 -0.00170956 0 0 -0.00141757 -0.00987129 0.03109 0 0.00329595 -0.13609 0.0205494 0 0 -0.0606185 -0.00046328 0 0.0469787 -1.71755 0 0 -0.00576424 -0.497611 0 0.110522 0 -0.0102068 0 0 -0.00157108 0 0 -0.0426562 -0.0138335 -0.0301872 0 -0.0549834 0.0540398 0 0 -0.260402 0 -0.00476872 0.0882737 0.0129944 0 0 0.00263919 0.00403031 0 -0.00224748 0.0326018 -0.0111664 1.71736 0.0360411 -0.0230532 0 -0.00923211 0.0696225 0.0172462 0.0671114 -0.256297 0 0 0 0.373178 0.130143 -0.0505412 0.00174221 -9.30923e-05 0.0185015 0.000999429 -0.00238965 0.0326379 -0.0296978 0 0 0 0 0 0 0.0607652 0 -0.040671 0 0 0 0 0.223285 -2.47944 0 0 -0.150544 0 -0.0253725 0 -0.138329 0 0 0.649613 0 0.536738 0.0820745 -0.0886454 0.074966 0 0 -1.11769 0 -6.14128 0 1.79948 -0.505519 0 0.513 0.844503 -0.0127253 0 0.040738 0 0 -0.304716 0 -1.9048 1.44075 0 0 0.159769 0 0 -0.350117 -1.61871 -0.185738 0 -1.72483 0 -0.560699 -0.115015 0.0906634 -0.0596499 -0.110889 -0.45549 -0.0781626 -0.215349 4.70164 17.0008 0.129201 0 0 0 0.177493 0.048957 0 0 0 0 0.541416 -11.4229 0.675964 -3.05231 -0.225889 0.0408535 -0.273627 0.061797 -0.0943719 0.171823 -0.398009 0 0 0 0 0 0 +14 0 -0.360831 -0.0323764 0.0247246 0.0922011 -0.0937539 0.0191402 -0.00977133 -0.134655 -1.8134 0.534012 0.070036 1.11833 -0.165537 1.33332 0.0859014 -0.236246 -2.05392 0.064546 0.437357 0.0937475 0.0909388 0.0479156 -0.0842365 0.576013 0.154091 -0.0052173 -0.115528 -0.0197894 -0.107472 0.391286 -0.49032 0.215804 -0.0224407 -0.68737 0.0973663 0.0583622 -0.114608 -1.3143 0.168803 0.000614598 -0.17634 -2.18501 0.148003 4.10654 -0.204614 -0.00174825 -0.0431387 1.04419 -0.0542582 0.875643 1.0246 0.893025 -1.39882 0.0482768 -0.012478 0.167341 -1.12577 0.372293 -0.850319 0.024352 0.728422 0.169802 0.0912345 1.79032 -0.679794 -0.468785 -2.09532 0.417792 2.2887 0.000547628 0.229903 0.0449257 0.358037 0.81019 0.00305944 -0.279962 5.80864 -0.0584615 0.243582 -0.685418 0.223497 0.274363 -0.344856 -0.254808 0.209691 -0.514139 0.0716785 -0.0468577 0.0275614 -0.0162899 0.00917822 0 0 0 0 0 0.0247246 0.0922011 -0.0126745 0 0 0 0 -0.00328926 0 0.0291657 0 0 -0.000959255 -0.0142722 0.096627 0 0.0136195 1.06 0.274995 0 0 1.73126 -0.000649729 0 0.204086 7.00196 0 0 0.221197 2.69513 0 0.326197 0 0.618185 0 0 0.0762646 0 0 0.391743 -0.0656584 -0.0186367 0 -0.23839 0.0260846 0 0 0.447215 0 -0.00766656 -1.0004 -0.0273554 0 0 -0.0034553 0.0341754 0 0.0468895 0.607507 0.00307607 -4.5769 -0.0275743 0.0488413 0 -0.126849 -0.107715 0.722221 -0.285118 -0.142538 0 0 0 -10.0698 -0.574582 -1.74785 -0.0460902 -0.0577367 -0.00246348 0.000427544 -0.00123193 0.00232103 -0.0272104 0 0 0 0 0 0 -0.0937539 0 0.0191402 0 0 0 0 -0.0379776 -0.948336 0 0 -0.298171 0 -0.0304727 0 -0.0192381 0 0 0.0333784 0 -0.113881 -0.0242694 -0.0419105 0.00371701 0 0 -0.159549 0 -4.29269 0 -2.06952 0.00264889 0 -0.0927754 -0.567024 -0.00266828 0 -0.00903598 0 0 -0.11156 0 -0.543839 0.14633 0 0 0.024392 0 0 -0.304196 0.915784 -0.171196 0 -0.838088 0 0.0814484 0.0970918 0.0905956 -0.120931 -0.104641 0.327342 0.165942 0.108845 0.600114 -0.552073 0.0866875 0 0 0 -0.0415845 -0.127275 0 0 0 0 0.264042 19.7971 4.13295 -0.625901 1.16785 -0.526215 0.647859 0.301294 -0.170951 0.170054 -0.0174692 0 0 0 0 0 0 +15 0 -1.74981 -0.180366 0.19479 -0.141343 -0.0472079 -0.0341252 0.191641 0.460052 -0.0609859 0.822719 0.0158986 0.840814 -0.50052 0.255554 -0.00418887 1.50318 2.57965 -0.209189 -0.141686 -0.515926 -0.16209 0.17329 0.593498 0.533957 0.334929 0.609663 -0.0242707 0.00543818 0.0206274 0.202934 0.723957 0.171332 1.23261 -0.315158 0.106786 0.0312357 -0.647567 6.99018 0.0539241 -0.138911 -0.392623 -2.06232 0.115436 1.80929 -0.269384 -0.0341018 0.00848065 0.70482 -0.18143 0.728863 -0.384145 -6.85084 -0.537922 -0.20894 0.0820144 1.51728 -1.66906 0.582454 -0.21626 0.366449 1.06604 -0.52778 -2.19585 1.04007 -0.73044 0.486711 -0.935033 0.39592 0.0415486 -1.4075 -0.0265205 0.0760188 1.73671 1.41801 -0.0364445 -3.42038 -27.2244 -3.40676 -0.797515 -4.43193 4.10085 -6.50138 -0.898504 0.326861 -0.392984 -0.06427 0.0943683 -0.0322095 0.00788987 -0.000559474 -0.00176161 0 0 0 0 0 0.19479 -0.141343 -0.00147558 0 0 0 0 0.00220936 0 0.00148894 0 0 -0.00110761 -0.0890817 -0.0623125 0 -0.0146898 0.136818 -0.0254981 0 0 -0.360488 -0.0045075 0 -0.876518 -1.59451 0 0 -0.0547433 -0.310649 0 -1.50303 0 -0.375908 0 0 -0.0527484 0 0 -1.27408 0.0379102 -0.0247951 0 -0.0347726 0.171463 0 0 -0.708545 0 0.0072796 0.223667 0.00875984 0 0 0.00397294 0.00977134 0 -0.0282408 -0.112282 -0.0185688 1.22572 0.0614324 0.0152873 0 0.000355272 0.0228722 -0.128228 0.0471051 0.157396 0 0 0 11.2624 0.711635 0.897134 0.0483099 0.0573723 0.0673784 0.00205828 0.00189779 -0.00234957 0.00958323 0 0 0 0 0 0 -0.0472079 0 -0.0341252 0 0 0 0 -0.0125519 0.0550934 0 0 0.195177 0 0.00988143 0 0.00317 0 0 -0.037554 0 0.0377387 0.0234714 0.0424065 -0.00197988 0 0 0.00481324 0 -0.632316 0 2.89844 0.0223073 0 -0.103758 0.47372 0.00245101 0 0.00443619 0 0 0.020623 0 0.00812677 -0.304397 0 0 -0.0281381 0 0 -0.203358 -2.2523 0.106201 0 -0.56297 0 0.581282 -0.101024 0.0230202 0.363188 0.0121617 -0.649084 -0.964466 -0.0649957 -0.701258 -4.48499 -0.109519 0 0 0 -0.0926339 0.0599341 0 0 0 0 -0.0252643 -24.8125 -3.55909 1.50192 -1.9606 1.42751 -1.64924 -0.178869 0.15939 -0.163631 0.0868871 0 0 0 0 0 0 +16 0 -0.270966 -0.184027 -0.0604575 -0.0905579 0.108126 0.0158779 0.125162 0.40223 -3.1684 -0.433939 0.07774 0.333083 -0.103485 0.13427 0.107466 -1.60091 -4.80384 -0.126646 0.71951 -0.854627 -0.0484486 0.0237904 -0.486728 -0.25165 0.157382 -0.524219 -0.188433 -0.00190345 -0.220031 0.00350511 -1.29359 0.250847 0.0358596 -0.684426 0.0215307 0.0259091 -0.920623 0.611157 0.429761 -0.0969294 -0.308759 -2.85819 0.166827 1.29192 -0.812682 -0.003997 -0.0355014 1.73562 0.2048 -0.237984 0.24083 1.29722 -2.07015 0.158133 -0.0711534 1.77113 0.690086 1.34129 -0.198567 -0.313779 0.629697 -0.868479 0.226523 -0.104136 0.352967 -0.389257 0.703953 -0.392965 3.7119 -1.14959 0.403254 -0.100883 0.5074 -0.287565 0.0307212 0.85471 0.084667 0.48827 0.166338 1.1625 -0.425134 0.355631 -0.284864 0.166971 -0.0684344 -0.125126 0.284692 -0.143951 0.0732417 -0.0369448 0.0187909 0 0 0 0 0 -0.0604575 -0.0905579 -0.0129651 0 0 0 0 -0.00634987 0 -0.0285368 0 0 0.00265261 0.0272867 -0.0618557 0 -0.0107882 -0.392857 -0.162714 0 0 -0.654163 0.0015121 0 0.0116914 -4.49546 0 0 -0.0917846 -1.47753 0 0.0760712 0 -0.262716 0 0 -0.0361496 0 0 0.216779 -0.122143 0.0465453 0 -0.252922 -0.067637 0 0 -0.352807 0 -0.0154046 -1.27452 0.0217599 0 0 -0.00545827 0.0280088 0 -0.0296826 -0.0495605 -0.0310996 -1.29359 -0.164827 0.028381 0 0.01487 0.0716928 -0.229016 0.113973 0.0846319 0 0 0 -1.53676 -0.267678 0.636298 -0.00946113 -0.00249218 -0.0259062 -0.00212472 -0.00143468 -0.00446985 0.0155541 0 0 0 0 0 0 0.108126 0 0.0158779 0 0 0 0 0.0382177 -0.359555 0 0 -0.0389935 0 0.00262022 0 -0.0020522 0 0 0.0281428 0 0.0185873 0.0178359 -0.00902641 0.00167759 0 0 -0.0355253 0 -1.60602 0 0.208259 -0.0629378 0 0.0766525 0.0147731 0.000370438 0 0.00637339 0 0 -0.0266552 0 -0.192161 0.0950722 0 0 0.0145409 0 0 0.0883956 2.1377 -0.0814091 0 -0.00931382 0 -0.273262 0.0101873 0.0351078 -0.0616229 -0.0728945 -0.0530757 0.564867 0.0081787 0.108821 2.71833 0.0473585 0 0 0 -0.0639352 0.0157499 0 0 0 0 0.115802 2.05383 0.419007 -0.360624 -0.177772 0.0642749 0.109284 -0.0586237 0.0504371 -0.0151968 0.0355482 0 0 0 0 0 0 +17 0 0 0 0.212765 -0.247103 0 0 0 0 1.90144 0.443722 -0.270175 0 -0.405172 0 0.0329873 0 0 0.0504901 0.492016 0 -0.00617227 0 0.886639 0.0596703 0 0 0.815085 0 0 0 1.30839 -0.029645 0 1.61341 0 0.00610689 2.69664 0 -0.6611 0 0.00738461 5.69819 0.13687 0 2.45333 0 0 0.342499 0.849535 0 0.824258 0 0.874398 0.39809 0.409169 0 -0.433413 -0.501445 -0.141877 -0.628759 0 0 0 0 -0.610755 0 0.195522 2.62967 -3.72972 0.886809 0.0212973 -0.239565 -2.59791 0 0 -0.739295 0 0.617411 0 -5.09291 1.74743 0 -4.46389 1.71525 -0.0210415 0 -7.5895 3.97874 -3.02236 1.19652 0 0 -0.266115 -0.0356754 0.0482922 0.0052401 0.212765 -0.247103 -0.0656318 0.0565692 0.293856 0.00089649 0.0060006 -0.00267657 0.011479 -0.0619308 -0.0483397 0.00881545 -0.00489196 0.0599662 -0.253135 -0.521458 -0.0596328 1.26537 -0.187417 -0.00424296 0.323179 2.39854 0.0012312 -0.000532543 0.0385404 7.69227 -0.200986 -0.00589575 0.336841 3.41692 0.0395879 0.578348 0.0347478 0.80927 -0.0251328 -0.00147217 0.102588 0.0706185 4.92759e-05 1.08917 -0.0564824 -0.00961521 0.00456252 -0.725585 0.210018 0.041047 0.028912 -0.159788 -0.0580094 0.0377183 0.208707 -0.111394 0.157081 -0.0951465 0.00686678 0.347284 0.0108385 -0.0142693 -0.397972 -0.0263042 -4.62628 0.140562 0.0175739 0.0638331 -0.149648 0.273229 -2.52815 0.977903 -0.174669 -0.0424185 -0.114983 -0.0243863 -0.930114 -0.00946623 0.282982 -0.156304 0.16482 -0.0721522 0.0139157 -0.0158248 0.00649672 -0.0102697 -0.0174991 0.0192614 -0.0148423 0.00485937 0.0583008 0 0 0.0482922 0 0.0052401 0 0 0.406647 0 0.317393 0.0901651 -0.00782472 0.194512 0.0135066 0.00961929 0.0473058 -0.0184719 -0.0372978 0.602327 0 0 0 0 0.105335 0 -0.140367 0 -0.109714 0 0 -0.103642 0 0 0.00262537 0 0 0.0185053 -0.0064105 0 -0.0164844 0 0.0593789 0 0 0 -0.00296153 -0.04555 0 0 -0.129992 0 0 0 0.202435 0 -0.247488 0 -0.342808 0.408802 0.127298 0 0 -0.125017 -0.0298886 -0.713448 0 0.0795669 0 -0.0622147 0 -0.228533 0.0882673 0.181669 -0.0899495 -0.114944 0.0997537 0.155673 0 -0.677388 0 -3.68875 0.742404 0 -1.63313 0.704392 -0.268216 0 -1.7241 0.928037 -0.474432 0.0761165 0 0 +18 0 0 0 0.0170252 0.0251478 0 0 0 0 -3.27233 -1.78056 0.190677 0 -0.408804 0 0.0862514 0 0 -0.364901 0.960776 0 -0.0756892 0 -0.56623 -0.465425 0 0 0.0129813 0 0 0 -1.4562 -0.692185 0 -0.333989 0 0.0643235 0.177563 0 1.17549 0 -0.865098 -0.162913 0.282639 0 -2.68729 0 0 0.132767 -1.09976 0 -1.79966 0 -0.56313 -0.481657 -0.0451481 0 0.00729078 0.621319 1.77339 1.3606 0 0 0 0 -0.29862 0 0.455165 1.02177 5.17635 -0.113288 -1.71709 0.509904 2.80622 0 0 2.77689 0 5.85542 0 9.27 -2.72474 0 5.43163 -2.82224 2.7413 0 6.82766 -4.18246 4.37396 -2.32787 0 0 0.0278102 0.00688175 -0.0592334 -0.00576325 0.0170252 0.0251478 0.0498477 -0.0172671 0.272119 -0.000667838 -0.00157958 -0.00799829 -0.00861553 0.0025398 0.0089818 -0.00519899 -0.00685408 0.0526119 0.120802 0.0656159 0.0227879 0.542835 0.110879 0.00101293 -0.162123 -0.194067 0.0128278 0.00665277 0.0832237 1.35749 0.145641 0.0179547 -0.0287789 0.777423 0.0180991 0.000563703 0.0347912 0.0651418 0.0351835 0.112361 0.0232254 -0.0345594 -0.000326606 -0.234485 -0.174478 -0.109752 0.00334828 0.161893 -0.066804 -0.0582627 0.0546766 0.144062 0.0682334 0.143773 0.451906 -0.176613 -0.0205277 -0.0734932 -0.0133563 -0.115073 0.05157 -0.0661745 0.0899957 0.0434338 -4.01361 0.25931 -0.0665869 -0.0303287 -0.235447 0.0605575 -0.178311 -1.28315 -0.387027 -0.0394232 0.0340696 0.0117321 0.200242 -0.234596 -0.0910378 0.326982 -0.375229 -0.0281773 -0.0220996 0.0411602 -0.040174 0.0110575 0.00778003 -0.032954 0.0658127 -0.0679684 -0.0422467 0 0 -0.0592334 0 -0.00576325 0 0 -0.189999 0 -0.532728 -0.0744945 -0.00267574 -0.649663 -0.0118171 -0.157074 -0.00308347 -0.0422441 -0.0240215 -0.462607 0 0 0 0 -0.397897 0 -0.0844357 0 -0.37638 0 0 0.388862 0 0 0.0037239 0 0 -0.0873209 0.00816752 0 0.0540746 0 -0.0840212 0 0 0 -0.00250756 0.0659794 0 0 0.0676036 0 0 0 -0.073181 0 0.120709 0 0.215006 -0.198522 0.455283 0 0 0.230474 -0.653431 -0.37836 0 -0.302422 0 -0.152067 0 -0.0921082 0.859861 -0.486716 0.47947 0.383347 0.00176755 0.210176 0 2.66054 0 3.05874 -1.51844 0 1.84615 -1.10202 0.622801 0 0.898041 -0.896975 0.806183 -0.466616 0 0 +19 0 0 0 0.189262 0.189109 0 0 0 0 1.36504 0.442469 0.535548 0 -0.370522 0 -0.042021 0 0 -0.0990019 0.0105129 0 -0.043313 0 0.484059 0.26036 0 0 0.460825 0 0 0 0.766535 -0.519071 0 0.60759 0 0.126117 2.04398 0 1.6876 0 -0.731311 2.95645 0.547868 0 -1.96524 0 0 -1.91699 -1.61605 0 0.534619 0 0.346652 -0.403405 0.542684 0 -0.70036 -0.756551 -0.388359 1.23746 0 0 0 0 -0.0777269 0 0.223192 1.70519 -1.26385 -0.830242 0.242843 1.95786 -0.479965 0 0 -0.154975 0 0.0692085 0 3.3734 -1.85187 0 1.50348 -1.13977 0.10709 0 6.17173 -4.74081 2.83762 -2.2943 0 0 0.186972 0.0249731 0.099655 -0.065262 0.189262 0.189109 0.0584183 0.0498355 -0.510098 -0.000613067 0.00417534 0.0096217 -0.0170508 -0.155514 0.0338483 -0.00606851 0.0319483 0.170246 -0.207644 0.36605 -0.055214 0.653789 -0.681753 0.00296442 0.474181 0.2146 0.0140292 0.0196269 0.135665 4.45618 0.533057 -0.00157724 0.0181088 2.04641 -0.0432829 0.532865 -0.0464219 0.399388 0.101626 -0.0739045 0.0249684 -0.0488209 -0.000703918 1.27481 0.146418 0.40601 -0.00432529 0.689521 0.322951 -0.0390823 -0.0322803 0.0504726 0.0996584 0.0180803 0.788907 -0.0709673 -0.110244 0.123697 -0.0258754 -0.204249 -0.203515 0.0255235 -0.395037 0.00231497 -3.13932 0.158368 -0.0443101 -0.0237624 0.209014 0.204081 -0.450964 -0.239792 -0.57702 0.0229798 0.0237465 0.016865 -1.08864 -0.476829 0.528648 0.0452547 0.0194863 -0.412501 -0.036801 0.0573098 -0.103631 0.19821 0.0121206 -0.0110653 -0.00222535 0.0278078 -0.154626 0 0 0.099655 0 -0.065262 0 0 -0.365964 0 -0.883435 0.0444626 -0.0824521 -0.80394 0.011557 -0.131646 -0.101826 -0.0339916 -0.10642 -0.0808466 0 0 0 0 -0.133656 0 -0.718543 0 0.00303763 0 0 -0.11427 0 0 -0.0183293 0 0 -0.0346632 -0.0075032 0 -0.0241072 0 -0.244006 0 0 0 -0.0144863 -0.0556901 0 0 -0.278646 0 0 0 0.117479 0 0.225062 0 -1.03697 0.371279 0.356513 0 0 -0.690319 -0.413057 0.220879 0 -0.258532 0 -0.226701 0 -0.217285 0.350098 0.0768363 -0.0854188 -0.154644 0.0999986 0.234774 0 5.12984 0 2.0032 -0.148567 0 1.71372 -0.676144 0.571896 0 0.21079 0.0210786 0.0744976 0.0643425 0 0 +20 0 -0.664041 -0.142974 -0.077982 -0.237593 -0.0113006 -0.0149252 -0.157169 -0.311337 -0.709411 0.355996 -0.125918 0.478537 -0.00941327 0.222154 -0.18855 0.722532 0.824916 -0.121649 -0.640762 -0.185155 -0.165181 0.169936 -0.0918513 -0.144726 0.0510313 0.272096 -0.565665 0.0244481 0.281106 0.0776259 -0.197528 -0.327108 0.648855 -1.2833 0.0178366 -0.0627471 -1.95434 2.21037 -0.214557 -0.0875657 -0.16236 -4.69832 -0.143488 1.23055 -0.693874 -0.0319187 0.0875728 -1.03102 -0.146254 -1.05238 -0.0423472 -2.41323 -0.99657 -1.1885 0.525955 -1.34688 0.252958 1.03739 0.225502 0.436371 0.371651 -0.0884381 0.815282 1.33107 2.51343 0.280674 -0.824183 -4.62691 0.862032 -0.424548 -0.0209966 -0.0644562 -0.686088 0.162306 -0.246462 -2.15754 -6.92874 -4.79517 1.54096 -3.36449 3.00133 -4.19743 -0.384312 1.33931 -2.07104 1.23422 2.45624 -0.1946 -0.190448 0.327644 -0.248823 0 0 0 0 0 -0.077982 -0.237593 -0.0106516 0 0 0 0 -0.00419195 0 -0.0184747 0 0 0.014192 0.093648 -0.120399 0 -0.00833317 -0.561358 -0.306559 0 0 -0.434492 0.00671901 0 -0.420283 -5.62875 0 0 -0.0400822 -1.95775 0 -0.647682 0 -0.213309 0 0 -0.0227165 0 0 -0.879867 -0.0561034 0.196075 0 -0.141836 -0.0373761 0 0 -0.16371 0 -0.031884 -0.194268 0.0900707 0 0 0.0097229 -0.0207137 0 -0.0254882 0.157033 -0.0027159 2.37614 -0.091554 0.028855 0 -0.0383865 -0.176 1.02266 -0.30437 0.0859864 0 0 0 3.5732 0.0205486 0.528975 0.0342449 -0.0267602 0.130778 -0.00882182 0.0158748 -0.0366863 0.0715826 0 0 0 0 0 0 -0.0113006 0 -0.0149252 0 0 0 0 -0.0262373 -0.129883 0 0 0.456178 0 0.0550053 0 -0.00791248 0 0 0.0421651 0 0.160689 0.00206478 0.0891129 0.00852214 0 0 -0.0550186 0 -2.68538 0 1.73266 -0.137137 0 -0.0269651 0.481072 0.010443 0 -0.00168455 0 0 -0.0210196 0 -0.637673 -0.247685 0 0 -0.0261718 0 0 -0.0263238 -0.837777 -0.0474207 0 -0.264484 0 0.976932 -0.272267 0.15898 -0.0067358 0.10836 0.409666 -0.896657 0.0772785 0.594711 -0.898423 -0.00420613 0 0 0 0.0726041 -0.0397331 0 0 0 0 -0.00724648 -15.9556 -4.50995 1.13287 -1.47875 1.22799 -1.37518 -0.507626 0.361327 -0.293796 0.00015456 0 0 0 0 0 0 +21 0 0.0319981 0.0247466 -0.109306 -0.0819507 -0.0954576 0.0619015 -0.428762 -0.189193 1.56837 -0.590189 0.0523884 -0.653902 0.401673 -0.711798 -0.155879 -1.45417 0.0752931 0.0756677 -1.08859 0.340839 0.0656193 -0.269414 -0.251807 -0.0586711 -0.297821 -0.756918 -0.3825 -0.0358223 -0.297913 -0.204919 0.248371 -0.295435 -1.0012 -0.243736 -0.176002 -0.0105996 -0.682269 -4.61515 0.0106153 0.164619 0.686268 0.061248 -0.110059 -1.14163 1.03235 0.0474963 -0.110433 -1.80568 0.359524 -0.883232 0.305911 9.04235 1.12005 -0.411291 -0.00465213 4.62924 2.04682 0.469472 -0.214305 -0.886371 -3.28229 -0.206011 1.58255 -1.25858 0.252309 0.293916 0.982599 -0.192404 -1.91451 2.397 -0.789512 -0.0568331 0.221332 1.05921 0.140429 2.08549 22.6993 9.49064 -2.52003 5.40095 -3.93035 5.34446 -0.0196561 -0.231347 1.18024 -0.0755316 -3.6544 0.835737 0.0703962 -0.251296 0.2637 0 0 0 0 0 -0.109306 -0.0819507 0.0569866 0 0 0 0 0.0326494 0 -0.0388385 0 0 0.0016407 0.000711028 -0.0665751 0 -0.024122 0.0535761 -0.0839282 0 0 0.164178 -0.000212128 0 0.509228 4.91229 0 0 0.0321313 1.28203 0 0.771246 0 -0.146424 0 0 -0.0152615 0 0 0.990266 0.455328 0.0334995 0 0.793052 0.147863 0 0 -0.377843 0 -0.00683746 0.469051 0.0131059 0 0 0.00695974 -0.163101 0 0.0332731 0.0228978 -0.0583603 -5.1546 -0.00799976 -0.0511421 0 0.0952529 -0.0579831 0.218323 -0.728887 0.00111731 0 0 0 -3.34467 0.200886 -0.434596 -0.0644447 0.146287 -0.369901 -0.000431242 -0.00549223 0.0194057 -0.034365 0 0 0 0 0 0 -0.0954576 0 0.0619015 0 0 0 0 0.143848 0.29172 0 0 -0.287058 0 -0.0480163 0 0.0193121 0 0 -0.0468329 0 -0.126102 0.0716949 -0.126678 -0.00448511 0 0 0.130446 0 0.487437 0 -0.35406 -0.230284 0 0.490406 -0.260063 -0.0173849 0 0.0188034 0 0 0.0614323 0 -0.403059 0.234883 0 0 0.0372332 0 0 0.125793 0.0556662 0.455702 0 -0.13549 0 -0.986118 0.363551 -0.410136 0.662349 -0.0302341 -0.443325 0.841532 -0.180188 -0.131032 -3.32678 -0.0314139 0 0 0 0.0172726 0.16491 0 0 0 0 -0.121393 0.611755 2.35198 -3.1231 0.685462 -0.661497 0.656368 0.238193 -0.289325 0.384881 -0.484742 0 0 0 0 0 0 +22 0 -0.598676 -0.010691 -0.352259 -0.23929 0.238855 0.133435 -0.390972 -1.32564 -2.59168 2.37765 0.397905 0.554755 0.338948 1.17176 0.06809 -0.160738 -2.50543 0.83181 0.123697 0.758533 0.436444 -0.16029 -0.692349 0.904638 -0.376851 0.0801798 -0.261895 -0.116163 -1.46845 0.15214 -1.20952 0.24457 -0.0658772 -0.730425 -0.13334 0.105297 -1.28351 1.95093 1.53883 0.305999 0.175737 -4.42263 0.423561 3.83522 -0.852582 0.103168 -0.407069 0.956007 -0.606416 0.827037 0.523654 -0.213321 -0.34422 0.543162 -0.882791 -4.47256 -0.796813 -0.194991 -0.607109 0.327091 0.00192599 -0.636362 -1.19431 2.10738 -0.200768 0.807808 -1.62347 0.0964505 2.73871 -0.839014 -0.865622 0.493735 2.79222 -1.75441 0.809064 3.53514 -10.8909 -6.01523 1.19941 -2.4593 0.571146 -1.43816 -4.15905 1.83431 -1.38711 0.919057 3.01805 -3.42937 2.97641 -1.89656 1.29981 0 0 0 0 0 -0.352259 -0.23929 -0.0470368 0 0 0 0 -0.0165785 0 -0.00308638 0 0 0.00514511 0.0409363 -0.13456 0 -0.0193249 -0.361886 -0.0818727 0 0 0.443661 0.00325371 0 0.179494 -2.28397 0 0 0.0659173 -0.949552 0 0.244696 0 -0.00332503 0 0 0.00419998 0 0 0.530561 -0.230046 0.0657267 0 -0.655266 0.0452114 0 0 -0.203317 0 -0.0234149 0.299421 0.0267602 0 0 -0.0155317 0.124392 0 0.0122806 -0.0355682 0.0463416 3.16628 -0.0702109 -0.01657 0 -0.0831276 -0.0129788 -0.291981 0.521939 0.172351 0 0 0 -1.83492 -0.0646533 -0.00176 -0.045901 0.0808906 -0.170597 -0.00698498 0.0121071 -0.0239276 0.0316654 0 0 0 0 0 0 0.238855 0 0.133435 0 0 0 0 0.0310147 -0.680926 0 0 0.349674 0 0.0532498 0 -0.00408824 0 0 -0.222002 0 -0.191356 -0.0578038 -0.0813163 -0.0275882 0 0 -0.00505234 0 -2.55743 0 -0.399684 -0.0891882 0 -0.38256 -0.266744 -0.00805741 0 0.0011949 0 0 -0.0932367 0 -0.28721 -0.297028 0 0 -0.0377906 0 0 -0.238325 -1.43025 -0.375362 0 -0.721113 0 0.557721 -0.265946 0.31828 -0.386715 0.136449 -0.483378 -0.654664 0.0830981 0.773762 1.73743 -0.116226 0 0 0 -0.0258604 -0.128858 0 0 0 0 0.216815 10.6931 1.13831 0.173318 0.879573 -0.606023 0.497181 -0.261285 0.198613 -0.236538 0.286016 0 0 0 0 0 0 +23 0 0 0 0.180461 0.0875027 0 0 0 0 -0.0619498 -1.23643 -0.0924002 0 -0.332654 0 -0.0639647 0 0 -0.564226 -0.136511 0 -0.309284 0 0.432248 -0.605707 0 0 0.39927 0 0 0 0.471023 -0.279184 0 0.304763 0 0.00651134 1.27273 0 0.189967 0 -0.352637 1.17805 0.171366 0 0.0431431 0 0 -0.0479351 0.0148412 0 -0.89432 0 -0.236533 0.0116901 0.0617325 0 0.266737 1.22889 0.550112 0.0815072 0 0 0 0 0.1429 0 0.844935 1.07723 -0.103484 1.22588 0.247258 0.127508 -1.06878 0 0 -1.40224 0 2.13807 0 -0.12411 0.304362 0 1.59883 -1.1322 2.29351 0 0.726687 -0.281463 0.385471 -0.312596 0 0 0 0 -0.125562 0.00677147 0.180461 0.0875027 0 0.0419417 0 0 0.00887088 0 0 -0.109655 0 0 0 0 -0.325014 0 -0.0666747 1.16389 -0.539822 0 0.188977 -0.0197991 0 -0.00603468 0.561227 4.37501 -0.0613237 0 0.0162447 2.32658 0 0.821756 0 -0.0896296 -0.0186817 0 -0.010376 0 0 1.1997 0 0 0 0 0 0 0 -0.309274 0 0 -0.802185 0 0 0 0 0 0 0 0.0722602 0 -3.84715 0 0.0997353 0.0254288 0 0.10859 -0.49648 0 -0.0870648 0 0.0759879 0 -2.74739 0 0.610724 0 0 0.0185158 0 0 0 0.023642 0 0 0 0 0.00528562 0 0 -0.125562 0 0.00677147 0 0 0.189423 0 0.697503 0.0134184 0.0562856 -0.408781 0.00122711 0.014666 0.0370667 0.026845 0.075897 0.0730907 0 0 0 0 -0.295266 0 0.391588 0 -0.102824 0 0 0.158222 0 0 0.00613138 0 0 -0.00858199 0.0026039 0 0.00524051 0 0.206522 0 0 0 0.0111576 0.026124 0 0 0.200037 0 0 0 -0.168238 0 -0.105329 0 0.172628 0.157417 -0.458971 0 0 0.844958 -0.033672 -0.0183786 0 0.259382 0 0.153119 0 0.356729 -0.0615895 -0.0499094 -0.0300158 0.22541 -0.0559316 -0.669031 0 1.13858 0 -0.590091 -0.18835 0 -0.117313 -0.147442 0.533402 0 -0.106155 0.0274007 0.0664388 -0.0525278 0 0 +24 0 0 0 -0.377229 0.179532 0 0 0 0 -0.860779 3.01483 0.273422 0 0.642216 0 0.0800831 0 0 1.00609 0.459991 0 0.596975 0 -0.813591 1.93163 0 0 -1.159 0 0 0 -0.988585 0.339362 0 -2.0488 0 0.00388342 -3.26987 0 0.463837 0 0.852819 -6.88778 -0.177595 0 0.589656 0 0 0.668296 0.224213 0 1.53412 0 -0.444866 0.414888 -0.356242 0 -0.0119706 -0.25192 -2.24318 -0.763534 0 0 0 0 1.86791 0 -1.10979 -3.84838 0.539223 -4.04937 0.0643077 0.275804 3.17873 0 0 3.11048 0 -5.99398 0 -1.57136 -0.500757 0 -4.6937 1.95176 -1.53245 0 -1.9795 0.437746 -0.298122 -0.458726 0 0 0 0 0.0946151 -0.0104764 -0.377229 0.179532 0 -0.0161018 0 0 -0.00272277 0 0 0.124591 0 0 0 0 0.522876 0 0.0816185 -1.62827 0.801546 0 -0.0649998 0.99494 0 0.00548297 -1.20438 -1.11375 -0.0342185 0 0.114164 -1.61298 0 -1.81973 0 0.69402 0.0103017 0 0.0937854 0 0 -2.75029 0 0 0 0 0 0 0 0.296549 0 0 0.893438 0 0 0 0 0 0 0 0.143884 0 4.22857 0 -0.113948 0.00373456 0 0.032837 1.8019 0 0.074119 0 0.00393226 0 6.29836 0 -0.900855 0 0 0.157708 0 0 0 -0.0343326 0 0 0 0 0.00294937 0 0 0.0946151 0 -0.0104764 0 0 -0.805702 0 -0.338547 -0.0126815 0.0516877 0.183586 0.00123453 0.0750344 -0.121953 -0.0166193 0.0359649 -0.286553 0 0 0 0 -0.00815224 0 0.325791 0 0.125504 0 0 0.23446 0 0 -0.017472 0 0 0.0130877 0.00161452 0 0.0267841 0 -0.143327 0 0 0 0.00549718 0.0159305 0 0 0.162368 0 0 0 -0.254371 0 0.581965 0 0.0577953 -0.0356276 -0.466092 0 0 -0.136283 0.353196 0.00602802 0 0.257662 0 -0.00971212 0 -0.179182 -0.451757 -0.120826 0.0151394 0.227378 0.0606733 0.584508 0 -0.174066 0 0.712645 -0.68614 0 0.188573 -0.162444 0.0568077 0 0.236005 -0.153319 0.0649182 -0.0210479 0 0 +25 0 0 0 0.0423217 0.201305 0 0 0 0 0.188413 -0.685615 -0.301 0 -0.0586579 0 0.026227 0 0 -0.248593 -0.508911 0 -0.293011 0 0.0980494 -0.697499 0 0 -0.129505 0 0 0 0.211375 0.441133 0 0.138955 0 -0.0683124 -0.96087 0 -1.33759 0 -0.0145303 -0.911677 -0.320536 0 0.566477 0 0 0.46428 0.812184 0 0.0867564 0 0.231285 -0.216459 -0.0649416 0 0.20767 0.13392 0.628273 -0.0876843 0 0 0 0 -0.179356 0 -1.30793 -0.89734 -0.399151 0.852676 -0.00805945 -1.22262 0.298443 0 0 0.411877 0 1.40076 0 -0.148 2.31464 0 1.46652 0.500953 0.0555742 0 -0.47606 1.32101 -0.568423 1.03281 0 0 0 0 0.126351 0.0297198 0.0423217 0.201305 0 0.0641535 0 0 0.0132029 0 0 0.00377794 0 0 0 0 -0.100052 0 -0.00918809 -0.920157 -0.00874333 0 0.305654 -0.929199 0 -0.0105493 0.143078 -5.01442 -0.319041 0 -0.0647195 -2.72466 0 0.177037 0 -0.953137 -0.0618239 0 -0.125028 0 0 0.20836 0 0 0 0 0 0 0 0.0744826 0 0 0.19749 0 0 0 0 0 0 0 -0.177767 0 1.44096 0 0.0237017 0.0397082 0 0.161264 -0.511899 0 -0.155522 0 0.121063 0 -0.477159 0 0.0087277 0 0 0.356334 0 0 0 0.00234246 0 0 0 0 0.0274988 0 0 0.126351 0 0.0297198 0 0 0.0151998 0 0.648205 -0.0107062 0.0688384 0.160883 -0.00277167 0.046437 0.0483922 0.0698703 0.0255112 -0.0448279 0 0 0 0 0.21382 0 0.456565 0 0.186622 0 0 -0.0844712 0 0 0.0127466 0 0 0.036325 0.000788246 0 -0.00643069 0 0.202593 0 0 0 0.00616243 -0.000192459 0 0 0.0844742 0 0 0 -0.117104 0 -0.0128542 0 0.0189423 0.0233182 -0.198471 0 0 0.341053 0.203972 -0.642027 0 0.0226434 0 0.0181132 0 0.0754415 -0.0869222 0.0250199 0.0113062 -0.00623328 -0.0239694 -0.437684 0 0.477537 0 -0.196662 0.545437 0 -0.0506475 0.0354918 -0.00877514 0 -0.0787613 0.0763701 -0.0646958 0.0641525 0 0 +26 0 -0.332795 -0.653979 -0.353377 -0.150159 0.0315656 0.0789199 -0.897972 -1.93497 -0.611622 2.21667 0.0293377 -0.0913842 0.56941 -0.947359 0.0345107 -3.43145 -11.9639 1.07478 0.154352 -0.199169 0.671455 0.625686 -0.735105 1.30686 -0.614088 -1.16808 -0.411527 -0.0265658 -0.288922 -0.213156 -0.875864 0.0309597 1.17255 -0.853083 -0.212689 -0.0294574 -0.92605 2.30689 -0.0139686 -0.0476591 0.678441 -2.47191 -0.227642 -1.01813 0.47376 -0.00990424 -0.090548 -0.0138936 0.0993809 -2.15982 1.06765 12.7309 -0.0358915 0.0328951 0.0334114 1.14254 -0.230068 0.0272054 -1.22358 -0.409352 1.18564 -0.211923 -0.785249 1.97962 1.13605 0.450747 -1.38289 -0.91727 0.446639 -1.79576 0.252577 -0.0233225 1.09165 1.2902 0.0142106 3.34391 -9.20819 -6.58232 3.73076 -3.65635 1.04951 -0.0402383 -3.05904 1.65045 -1.56823 2.71155 -1.36139 0.363952 0.16463 -0.20233 0.305523 0 0 0 0 0 -0.353377 -0.150159 0 0 0 0 0 0 0 0.0115632 0 0 0 0 0.0820376 0 0.0125616 -0.382652 0.0985183 0 0 -0.241678 0 0 0.150966 -1.99201 0 0 -0.0351163 -0.890587 0 0.0807459 0 -0.0789292 0 0 -0.0102808 0 0 -0.102064 0 0 0 0 0 0 0 -0.00527704 0 0 0.134483 0 0 0 0 0 0 0 -0.0599054 0 1.37465 0 -0.0109327 0 0 -0.0119363 0.00437626 0 -0.0894015 0 0 0 0.233735 0 -0.112178 0 0 0.00439857 0 0 0 -0.00424575 0 0 0 0 0 0 0.0315656 0 0.0789199 0 0 0 0 0.0596976 -0.632172 0 0 0.136406 0 0.0152225 0 -0.00744932 0 0 0.0320671 0 0.0666348 0.000739183 -0.00608167 0.00368508 0 0 -0.044044 0 -3.61191 0 0.782237 -0.226171 0 0.146525 0.128799 0.000179422 0 0.00428714 0 0 -0.0756291 0 -1.0161 0.560368 0 0 0.0653709 0 0 0.231225 0.0623025 0.230768 0 -0.00886203 0 0.71037 -0.0474719 -0.0190384 -0.0921378 -0.0278931 0.239176 -0.238185 0.0365989 0.45536 2.81059 0.0246148 0 0 0 -0.190897 0.000693634 0 0 0 0 0.179912 -8.74212 -1.28979 -0.489025 -0.0846331 -0.0393118 -0.0854843 -0.0417574 0.0375623 -0.0375145 -0.063283 0 0 0 0 0 0 +27 0 -0.107555 -0.566413 -0.0349551 -0.0148533 0.0317719 -0.0484345 0.271729 1.09496 -0.0605 -0.806316 -0.156614 -0.395096 0.0563246 -0.857254 -0.117436 -2.31827 -10.4201 0.182568 -0.593171 -0.0513622 0.0881501 0.540213 -0.0727147 -0.347515 -0.124244 -0.597012 0.0584315 0.0348639 0.556239 -0.177832 -0.0866382 -0.233566 1.53778 -0.000728786 -0.0602213 -0.084381 0.140818 4.67573 -0.491875 -0.0485797 0.0671096 -0.0903328 -0.27302 -2.38074 0.0468631 -0.0125576 0.142061 -1.19272 0.374588 0.0895191 0.545017 -0.033502 0.576441 -0.528316 0.323458 -0.506477 -0.229442 -0.129857 0.332219 -0.040492 0.221173 -0.0400136 -1.32387 2.46829 -0.0426362 -0.223667 -1.80418 0.182557 0.0441804 1.2492 -0.0205336 -0.337673 -0.0401603 0.365614 -0.205517 -0.229735 -17.1602 -1.48747 -2.14236 -3.60286 3.36429 -5.38629 1.11014 0.141975 -0.476276 -0.793359 -0.134665 0.740739 -0.823979 0.663819 -0.5882 0 0 0 0 0 -0.0349551 -0.0148533 0 0 0 0 0 0 0 0.0238922 0 0 0 0 -0.00358268 0 0.0128605 0.526821 -0.0131592 0 0 -0.976887 0 0 0.775073 -0.393852 0 0 -0.13149 0.414474 0 1.32995 0 -0.49451 0 0 -0.0663969 0 0 2.2525 0 0 0 0 0 0 0 -0.262147 0 0 -0.143805 0 0 0 0 0 0 0 -0.137485 0 -3.39281 0 0.0031119 0 0 0.00253305 -1.02067 0 -0.0281211 0 0 0 -5.15839 0 0.00118978 0 0 -0.0970739 0 0 0 0.00056711 0 0 0 0 0 0 0.0317719 0 -0.0484345 0 0 0 0 0.0564945 -0.797297 0 0 -0.196332 0 -0.0148635 0 -0.0200483 0 0 0.1033 0 0.027239 0.0617571 -0.0023086 0.010958 0 0 -0.176417 0 -2.66072 0 0.974186 -0.164784 0 0.51078 0.131625 0.000476605 0 0.00827302 0 0 -0.094673 0 -0.514707 0.410344 0 0 0.0499459 0 0 0.31473 -1.18526 0.29718 0 -0.545618 0 0.0839808 -0.00420444 -0.0917142 -0.499623 -0.0189451 0.336136 -0.166172 -0.00866277 1.06721 2.24367 0.0151145 0 0 0 -0.244546 0.00237707 0 0 0 0 0.337416 -6.25095 0.644462 -2.55917 -0.0815529 0.113493 -0.462888 0.0805737 -0.0698856 0.0843566 -0.213826 0 0 0 0 0 0 +28 0 0.180002 0.00377013 -0.143963 -0.0611736 0.18233 0.107247 -0.5022 -1.88698 -0.24917 2.0986 0.178232 0.363114 0.231974 0.425923 0.0607121 0.280851 1.68155 0.636924 0.198073 0.0763437 0.396274 0.302782 -0.299477 1.11061 -0.286547 0.00836988 -0.16805 -0.0490078 -0.613757 0.100661 -0.356821 0.10396 0.774668 -0.254866 -0.0245851 0.0729212 0.124624 2.10952 0.551534 0.0189056 0.276392 -0.0328085 0.191843 1.92693 0.193007 0.0113859 -0.181389 0.25905 -0.373896 -1.43676 0.470193 4.03327 -0.143492 0.131513 0.0654416 0.576053 0.302001 0.1866 -1.17411 -0.166767 0.656011 -0.081561 -2.90261 0.321647 0.428283 -0.0368927 -0.532031 0.194537 0.181958 -1.961 0.438567 0.434081 -0.111077 0.380109 -0.0728182 0.813333 -11.0796 -8.35462 5.20469 -4.19372 0.505693 0.894438 -2.92047 0.7688 -0.601246 1.6329 -0.554621 -0.652345 0.779794 -0.737112 0.649022 0 0 0 0 0 -0.143963 -0.0611736 0 0 0 0 0 0 0 -0.0237594 0 0 0 0 -0.0835736 0 -0.00942268 0.492783 -0.188945 0 0 0.900124 0 0 0.124016 4.69739 0 0 0.130112 1.67899 0 0.141306 0 0.477836 0 0 0.069568 0 0 0.143291 0 0 0 0 0 0 0 -0.0743167 0 0 -0.240364 0 0 0 0 0 0 0 0.211398 0 -2.58563 0 0.0132144 0 0 0.0322808 0.283791 0 0.145607 0 0 0 -0.328148 0 0.215466 0 0 -0.00617529 0 0 0 0.00814278 0 0 0 0 0 0 0.18233 0 0.107247 0 0 0 0 0.0539495 -0.184293 0 0 0.0313978 0 0.00528473 0 0.00811384 0 0 0.0627081 0 0.0126638 -0.0107466 -0.0364938 0.0089678 0 0 0.0509382 0 0.216031 0 0.0166813 0.000862685 0 -0.152885 0.11064 -0.00459549 0 0.00900001 0 0 -0.00690647 0 -0.0969475 0.800595 0 0 0.0966626 0 0 0.18788 -0.178211 0.0507365 0 0.144827 0 0.187662 0.0414583 -0.0635818 -0.116349 -0.0330439 -0.0377057 -0.0662467 0.070382 -0.103926 -1.2171 0.00900138 0 0 0 -0.108162 -0.0168885 0 0 0 0 0.0546808 2.89613 -0.476242 1.76349 -0.0564686 0.0374077 0.123466 -0.0459607 0.0420156 -0.0446366 0.1065 0 0 0 0 0 0 +29 0 0.712197 0.748153 0.188621 0.0794154 -0.0967727 0.0114742 0.0712754 -0.0255796 0.323852 -0.413029 0.0815176 0.264179 -0.305585 0.809119 -0.0280419 1.70613 5.66456 -0.674498 0.146565 -0.280479 -0.41363 -0.874085 0.394509 -0.45165 0.325348 0.788461 0.0301461 -0.0224239 -0.408667 0.166236 0.467644 -0.0117842 -2.20001 0.155918 0.117037 0.0566687 -0.654724 -5.75726 0.384499 0.00203256 -0.362235 -0.653024 0.298661 2.26552 -0.250855 0.00692612 -0.0938016 0.589058 -0.326833 0.81782 -1.10476 -9.14191 -0.246397 0.225827 -0.17833 -0.428304 -0.544527 0.0920285 0.298597 0.217005 -0.00776231 0.0482806 -0.207482 -1.89841 -0.1694 -0.140264 0.51086 -0.724351 -0.236772 -1.14913 0.0336156 0.182296 0.42118 0.236624 0.115177 -2.69963 21.9694 4.8651 1.05639 6.06362 -5.1052 8.93223 0.830265 -1.23444 1.77212 -1.03157 0.722548 -0.710668 0.682772 -0.400062 0.306991 0 0 0 0 0 0.188621 0.0794154 0 0 0 0 0 0 0 -0.0273299 0 0 0 0 -0.0574396 0 -0.0187712 -0.316601 -0.074632 0 0 0.829929 0 0 -0.687522 0.89441 0 0 0.101978 -0.278846 0 -1.0762 0 0.324703 0 0 0.0369298 0 0 -1.68235 0 0 0 0 0 0 0 0.341142 0 0 0.353742 0 0 0 0 0 0 0 0.141637 0 -0.168267 0 0.0181007 0 0 0.0113352 0.556464 0 0.175822 0 0 0 3.8527 0 0.0958216 0 0 0.0725025 0 0 0 0.00321634 0 0 0 0 0 0 -0.0967727 0 0.0114742 0 0 0 0 -0.0151586 0.774583 0 0 0.0285995 0 -0.00113436 0 0.0155621 0 0 0.0370732 0 -0.0850408 -0.0259889 0.0034734 0.00544723 0 0 0.128431 0 5.40932 0 -2.10166 0.288483 0 -0.139853 -0.551441 -0.000842026 0 -0.00237207 0 0 0.0881486 0 0.950859 0.236104 0 0 0.0318051 0 0 0.0161718 0.799737 0.0501295 0 0.972863 0 -0.332345 0.0397738 -0.0575745 0.0411964 -0.0335249 0.37512 0.227226 -0.033414 -1.12011 -2.37654 0.0632781 0 0 0 0.103604 -0.00804579 0 0 0 0 -0.238616 14.238 -0.398841 2.84308 0.209504 -0.42942 1.85139 -0.0449878 0.019905 0.0246316 0.14682 0 0 0 0 0 0 +30 0 0.123552 0.303986 0.255286 0.107483 0.0628998 -0.0558254 0.586135 1.3216 0.438312 -1.96056 -0.0456424 -0.0155147 -0.413589 0.716904 -0.0809849 2.09512 7.24938 -0.67309 -0.428253 0.217376 -0.455606 -0.197503 0.533941 -1.21164 0.288837 0.654113 0.376388 0.0122949 0.270846 0.171937 0.632924 -0.09985 -0.327202 0.857302 0.1121 -0.00329874 0.571572 -0.97435 -0.152614 0.0509939 -0.490261 2.12648 0.059039 0.154415 -0.339515 0.0108772 0.0554496 -0.424489 0.0587268 1.14547 -0.599357 -1.52489 0.262004 -0.240131 0.0176815 0.0864323 -0.371512 -0.196646 1.13356 0.293702 -0.668922 0.156463 -2.02774 -0.28109 -0.706797 -0.225345 -0.558013 0.539593 -0.320455 1.94854 -0.346864 -0.0994869 -0.856706 -0.36609 -0.00493327 -2.42479 2.25056 3.3842 -1.33711 1.07815 -0.0587795 0.935131 2.8268 -1.01941 0.984108 -1.55373 0.977919 0.00740515 -0.262544 0.226751 -0.20346 0 0 0 0 0 0.255286 0.107483 0 0 0 0 0 0 0 -7.47269e-05 0 0 0 0 -0.0834977 0 -0.00647241 0.506007 -0.112234 0 0 -0.227773 0 0 0.290411 0.649155 0 0 -0.00478609 0.389658 0 0.660742 0 -0.253465 0 0 -0.0232624 0 0 1.33812 0 0 0 0 0 0 0 -0.209379 0 0 -0.412811 0 0 0 0 0 0 0 -0.017169 0 -0.467304 0 0.00723024 0 0 0.0173983 -0.462309 0 0.0482996 0 0 0 -3.0644 0 0.120268 0 0 -0.0576678 0 0 0 0.00483685 0 0 0 0 0 0 0.0628998 0 -0.0558254 0 0 0 0 0.00967598 0.208217 0 0 -0.280047 0 -0.0300074 0 0.00347108 0 0 -0.0255866 0 -0.0530592 0.0247977 -0.0323039 0.00177737 0 0 0.0204479 0 2.0303 0 -0.161596 0.0898791 0 0.229093 -0.0791701 -0.00441963 0 0.000241086 0 0 0.026359 0 0.56083 -0.141907 0 0 0.0147621 0 0 -0.0626526 0.0853167 0.0927888 0 0.56959 0 0.0565856 -0.0511581 -0.00536559 -0.24275 0.0951301 0.27087 -0.045438 -0.137371 -0.628858 -3.51614 -0.0598107 0 0 0 0.0819468 0.0794413 0 0 0 0 -0.0389294 2.6784 0.465276 0.450039 0.063102 -0.0548764 0.341482 0.103185 -0.0693623 0.0416357 0.029617 0 0 0 0 0 0 +31 0 -0.340284 -0.443988 -0.217214 -0.0914541 0.177005 0.081106 -0.689834 -2.1695 -0.372945 1.89591 0.0806017 -0.0865476 0.351909 -0.170238 0.0557851 -1.58152 -8.12367 0.776709 0.335262 -0.11868 0.459552 0.442766 -0.454313 0.952145 -0.484915 -0.425296 -0.231081 -0.024276 -0.636167 -0.0420525 -0.538535 0.0593741 1.27557 -0.467843 -0.120562 0.0242282 0.122447 3.77209 0.429673 -0.0328123 0.417147 -0.440581 0.10354 -0.310786 0.288882 -0.00519322 -0.124926 0.304399 -0.273193 -1.67325 0.0584854 4.56688 -0.195253 0.178953 -0.0359419 -0.47044 -0.00163912 -0.0128576 -0.888186 -0.249901 0.7473 0.144896 -1.54852 0.87 0.656857 0.0985201 -0.942492 0.0300403 0.272665 -1.32566 0.231857 0.224497 -0.0315139 -0.0267892 0.0402653 1.89706 -11.6693 -5.6009 2.81944 -3.24895 0.796639 -2.29143 -2.18737 0.367195 -0.542878 2.42057 -0.83208 -0.438092 0.807686 -0.559343 0.477889 0 0 0 0 0 -0.217214 -0.0914541 0 0 0 0 0 0 0 -0.014603 0 0 0 0 -0.0597715 0 -0.00201517 0.451821 -0.159562 0 0 0.648732 0 0 0.29344 2.42188 0 0 0.112738 1.29137 0 0.375668 0 0.448993 0 0 0.0755266 0 0 0.463788 0 0 0 0 0 0 0 0.04087 0 0 0.0303838 0 0 0 0 0 0 0 0.151502 0 -0.469916 0 0.0236634 0 0 0.0319319 0.13276 0 0.196095 0 0 0 -1.06211 0 0.179847 0 0 -0.0199874 0 0 0 0.00687648 0 0 0 0 0 0 0.177005 0 0.081106 0 0 0 0 -0.0326906 -0.208099 0 0 0.313467 0 0.0393309 0 0.0093954 0 0 -0.0166785 0 0.183004 -0.0390735 0.0510525 -0.00156152 0 0 0.0783862 0 -2.18683 0 1.85797 0.0229249 0 -0.359943 0.729892 0.00551703 0 -0.00158617 0 0 -0.0150747 0 -0.251367 0.443314 0 0 0.0516735 0 0 -0.0236191 0.971239 -0.104065 0 -0.506067 0 0.428213 -0.0325328 0.0775942 -0.0847584 -0.0109984 0.267299 -0.11224 0.0461786 -0.121101 -1.50069 0.0396486 0 0 0 -0.0637114 -0.0536451 0 0 0 0 0.00988484 -3.79677 -1.77367 2.46282 -0.485879 0.490638 -0.620844 -0.111413 0.106448 -0.154356 0.186159 0 0 0 0 0 0 +32 0 -0.234102 0.15425 -0.0369657 -0.0156126 -0.116126 0.0322931 -0.073771 -0.153386 -0.063642 0.705815 0.160677 0.349162 0.0597779 0.289311 0.268803 2.42835 6.2634 0.272131 0.641743 0.417957 0.143002 -0.0901531 -0.077173 0.277188 -0.0764594 0.873238 0.332868 -0.0423332 -0.0971555 0.0418773 -0.0916392 0.531105 -0.08268 0.774047 -0.040531 0.075888 1.02931 0.280538 0.0531935 0.0828745 0.0709835 2.07132 0.00403337 1.78881 0.0492969 0.0313778 -0.0982888 1.26656 -0.0302792 0.273935 0.152976 -10.6215 -0.615267 0.563902 -0.284981 -1.07413 -0.583474 0.16826 -0.337255 -0.042628 0.783986 0.0901729 0.982465 -0.849801 -0.511801 -0.206598 1.21659 1.16833 0.0465109 -0.802204 0.491915 0.0336063 -1.05441 0.614051 0.139054 -2.99084 -2.69692 -0.459612 -2.29723 0.718896 -1.05891 0.82271 -0.719548 0.295551 -0.190738 -0.292622 -0.141879 -0.0405471 0.121219 -0.0910085 0.0732757 0 0 0 0 0 -0.0369657 -0.0156126 0 0 0 0 0 0 0 -0.013457 0 0 0 0 -0.0252725 0 -0.0075763 -0.535675 -0.0347866 0 0 -0.198667 0 0 -0.313317 -3.19596 0 0 -0.0166007 -1.35507 0 -0.559478 0 -0.112401 0 0 -0.0107863 0 0 -0.976302 0 0 0 0 0 0 0 0.31604 0 0 0.360648 0 0 0 0 0 0 0 -0.0294354 0 3.00688 0 0.0197457 0 0 -0.0116565 0.172483 0 0.0119797 0 0 0 2.2358 0 0.045847 0 0 0.0420748 0 0 0 0.00149916 0 0 0 0 0 0 -0.116126 0 0.0322931 0 0 0 0 0.0686736 0.0355538 0 0 0.03536 0 -0.00141076 0 0.00939043 0 0 0.0595025 0 -0.0417783 0.0165611 0.00679614 0.00870908 0 0 0.0984295 0 2.17785 0 -0.236038 0.16433 0 0.21682 -0.140176 -0.00110631 0 0.00813016 0 0 -0.00265232 0 0.64398 0.413438 0 0 0.0602877 0 0 0.0484009 1.09598 0.192467 0 0.427492 0 0.259602 -0.0796438 0.00748107 0.153912 -0.0416329 0.444099 -0.112876 -0.0123435 -0.737009 -0.676641 0.0791692 0 0 0 -0.0333077 0.00319488 0 0 0 0 -0.0574767 2.92683 -1.09796 1.22871 -0.146817 -0.0541608 0.761966 -0.024686 0.0122512 0.0170633 -0.0865136 0 0 0 0 0 0 +33 0 0.437143 -0.242544 0.154477 0.0652437 0.0069154 -0.0663394 0.22696 0.572225 0.265955 -1.13944 -0.0508829 -0.635944 -0.249807 -0.507625 0.091218 -2.86535 -9.81042 -0.365446 0.353857 -0.0735917 -0.247355 0.0353222 0.322499 -0.720141 -0.00145482 -0.905917 0.430231 0.0219642 0.371272 -0.21229 0.382953 0.151974 0.269538 0.577087 -0.0411883 0.000697187 1.53004 0.995193 -0.324944 -0.0339982 -0.296634 2.99666 -0.069429 -2.62929 -0.206008 -0.013158 0.0855393 0.634413 0.202932 0.191812 -0.428844 2.02588 -0.316694 0.290255 -0.13175 -0.180076 0.470805 0.135008 0.715839 0.178139 0.0730229 -0.000687855 -1.33677 1.11068 -0.546415 0.116181 -0.374682 1.39214 -0.194365 0.906613 0.0132922 -0.269671 -1.39861 -0.290193 0.0589322 0.815144 -3.79227 1.1442 -0.639165 0.347778 0.617577 -2.04855 1.88825 -0.564377 0.125336 -0.210473 0.5929 0.317164 -0.456583 0.393664 -0.280017 0 0 0 0 0 0.154477 0.0652437 0 0 0 0 0 0 0 0.031486 0 0 0 0 0.0731818 0 0.0189851 0.700729 0.0820489 0 0 -0.0464958 0 0 0.540537 0.602235 0 0 0.00467444 0.895564 0 1.00631 0 0.0207062 0 0 0.0119398 0 0 1.81045 0 0 0 0 0 0 0 -0.197471 0 0 0.0216115 0 0 0 0 0 0 0 -0.0435391 0 -1.71634 0 -0.00519851 0 0 0.0256621 -0.619828 0 0.145899 0 0 0 -4.14605 0 -0.105103 0 0 -0.0780231 0 0 0 -0.00353598 0 0 0 0 0 0 0.0069154 0 -0.0663394 0 0 0 0 -0.0299665 0.298332 0 0 -0.0555753 0 0.00260849 0 -0.000704203 0 0 -0.0371647 0 0.122432 0.018201 0.027314 0.000492179 0 0 -0.00364989 0 -0.811643 0 0.796787 -0.088421 0 0.184196 0.227784 0.00490122 0 -0.00530354 0 0 0.0316035 0 -0.17928 -0.411816 0 0 -0.0238024 0 0 0.0931851 -0.0911589 0.149619 0 0.0645251 0 0.584076 -0.0282271 0.00600503 -0.475364 0.107645 0.580029 -0.210543 -0.101576 -0.338657 -2.07499 -0.0205175 0 0 0 -0.0155404 0.013729 0 0 0 0 -0.0721358 -2.81819 -0.110122 -0.108518 0.140847 -0.110223 0.00482553 0.0604145 -0.0401589 -0.00542137 0.023301 0 0 0 0 0 0 +34 0 0.568802 0.391619 0.349748 0.147717 -0.0426659 -0.112574 0.438669 1.00157 0.602144 -2.22088 -0.1631 -0.471511 -0.565584 -0.241296 -0.0364673 -0.192922 2.37115 -1.37657 0.0222228 0.0186235 -0.779128 -0.708198 0.730166 -1.22281 0.426592 -0.23755 0.323562 0.0595829 0.806004 -0.238879 0.867038 -0.130374 -1.78508 -0.00908518 0.0766142 -0.0229519 1.03054 -4.68538 -0.683213 -0.0822539 -0.671604 1.25022 -0.130311 -0.881665 -0.466419 -0.0565153 0.205113 -0.0845547 0.420392 -0.0869703 -0.672079 -0.724602 0.0239905 -0.0219876 0.0707504 1.67311 0.673497 0.180346 1.23438 0.403321 -0.00733422 -0.0200748 2.33145 -1.54461 0.372734 0.0722649 2.91774 0.625389 -0.440059 1.28701 -0.187122 -0.563958 -0.624347 0.182198 -0.0537385 -0.387507 18.0596 8.50855 -2.29344 6.20956 -2.44288 2.19486 3.02081 -1.04363 1.01394 -1.44629 1.34238 0.642553 -0.983972 0.846238 -0.607897 0 0 0 0 0 0.349748 0.147717 0 0 0 0 0 0 0 -0.0111202 0 0 0 0 0.0735959 0 0.000779058 0.138841 0.00594732 0 0 0.0650638 0 0 -0.51329 -0.0188615 0 0 0.0102307 0.260318 0 -0.738049 0 0.134117 0 0 0.026852 0 0 -1.0578 0 0 0 0 0 0 0 0.135066 0 0 -0.0185913 0 0 0 0 0 0 0 0.0456233 0 0.777161 0 -0.000420928 0 0 -0.00735409 0.291997 0 -0.108241 0 0 0 2.42243 0 -0.000292654 0 0 0.0455869 0 0 0 -0.000256306 0 0 0 0 0 0 -0.0426659 0 -0.112574 0 0 0 0 -0.0398103 0.554236 0 0 -0.290334 0 -0.0327501 0 -0.00511908 0 0 0.0472398 0 0.0948536 0.0207409 -0.00893056 0.00733238 0 0 -0.0723989 0 2.79051 0 -1.13709 -0.0421292 0 0.189937 -0.0851718 0.000253882 0 -0.00568432 0 0 0.0684588 0 0.316954 -0.253232 0 0 -0.0192599 0 0 0.0554316 0.0079656 0.047932 0 0.570729 0 0.19967 0.022657 -0.0418263 0.131812 0.00762093 -0.0294308 -0.172989 0.0275326 -0.795826 -2.18105 -0.0405077 0 0 0 0.0205194 0.0405581 0 0 0 0 -0.126476 8.71977 0.692576 0.972427 0.375032 -0.28266 0.443237 0.076018 -0.0551858 0.0675002 -0.059937 0 0 0 0 0 0 +35 0 0.2315 0.197083 -0.0702049 -0.165756 0.184175 0.154279 -0.928464 -2.79161 -0.720359 1.40434 -0.288865 -1.28507 0.0256505 -2.70285 -0.243116 1.53701 5.01133 0.457487 -0.301192 1.31943 0.131955 0.0276191 -0.0416366 0.415572 -0.916959 0.582248 0.0823104 0.153142 0.568883 -0.727598 -0.17654 -0.957574 0.00286056 0.364211 -0.421681 -0.0962623 0.0129012 -1.52441 -0.304174 0.717977 0.0625084 -0.135903 -0.146843 -3.69765 0.071119 0.301186 0.416165 -1.15696 0.204656 -0.283411 1.5767 1.5789 0.52681 -0.380669 0.643274 3.49133 1.38109 0.155688 -0.624499 -0.0988049 0.211141 -0.274474 -1.24011 4.13394 0.128258 0.160661 -1.8485 0.0325967 0.393092 -0.577677 -0.134979 -0.412291 0.239618 0.975557 -1.14848 0.876004 7.2611 -2.52241 7.77194 -1.40614 1.43445 0.883849 -0.872081 1.29109 -2.49459 5.03333 -0.0629656 0.202526 -0.402348 1.18668 -2.40796 0 0 0 0 0 -0.0702049 -0.165756 0 0 0 0 0 0 0 -0.000665475 0 0 0 0 -0.00118391 0 0.00199186 0.11072 -0.0350287 0 0 0.0236832 0 0 0.126058 0.534021 0 0 0.00955709 0.203048 0 0.223452 0 -0.0129989 0 0 0.000205807 0 0 0.30323 0 0 0 0 0 0 0 0.00926595 0 0 0.0700599 0 0 0 0 0 0 0 -0.0244661 0 -0.0651072 0 0.00108755 0 0 -0.0103225 -0.101734 0 -0.00868855 0 0 0 -0.721529 0 0.0397929 0 0 0.0118395 0 0 0 0.0155422 0 0 0 0 0 0 0.184175 0 0.154279 0 0 0 0 -0.490746 -0.503473 0 0 0.444192 0 0.0506944 0 0.0124181 0 0 0.147803 0 -0.832655 -0.167126 0.201823 0.0631889 0 0 0.0888474 0 -0.106482 0 -2.87585 -0.492545 0 -1.08204 -1.51208 0.0242464 0 -0.0792464 0 0 -0.0452861 0 -0.39615 0.83803 0 0 0.181318 0 0 0.0658232 1.98664 0.323101 0 -0.284776 0 1.44153 -0.0958144 -0.00225875 -0.457401 0.205901 1.0825 -0.497402 -0.144593 0.370776 4.0473 -0.0480707 0 0 0 -0.0648335 0.0692555 0 0 0 0 0.0716129 10.1093 -2.61292 5.72777 0.224512 -0.582674 2.03225 -0.113159 0.171151 -0.373701 0.765637 0 0 0 0 0 0 +36 0 0.0466962 0.258278 0.112197 0.0528537 -0.183698 -0.366846 0.698201 2.84627 0.362242 -2.20376 0.0878485 -0.28968 -0.0585853 -1.2879 -0.0488517 1.27878 7.78463 -0.632636 -0.0292905 -0.228948 -0.203194 -0.241234 0.0693576 -0.748369 1.13014 -0.0549971 0.0236347 0.633829 -0.141773 -0.353275 0.215398 -0.668498 -1.06617 0.285147 0.50745 0.0544014 0.492575 -3.90843 0.691119 -0.553759 -0.200738 1.81864 0.264625 -1.03494 -0.637114 -0.881783 0.49516 -0.441242 -0.601039 0.637991 -1.36673 -2.991 0.122301 0.0424418 -0.0535154 1.91835 0.291768 0.196983 0.968889 0.345994 0.507958 0.177979 2.67983 -4.20573 -1.34043 0.570475 2.71316 0.868629 -0.204715 1.12984 -0.228721 0.48006 -0.722103 0.874014 0.00390033 -2.49885 15.8418 7.87873 -5.22533 6.30697 -4.04473 3.56093 1.89741 -2.07776 3.41866 -5.52017 0.564073 -0.913993 1.41114 -1.59799 0.600096 0 0 0 0 0 0.112197 0.0528537 0 0 0 0 0 0 0 -0.0255799 0 0 0 0 -0.0132329 0 -0.00599593 -0.194207 -0.10933 0 0 0.154523 0 0 -0.239293 -0.146501 0 0 0.0138055 -0.257 0 -0.435372 0 0.0783152 0 0 0.00835099 0 0 -1.13894 0 0 0 0 0 0 0 0.126468 0 0 -0.00249026 0 0 0 0 0 0 0 -0.0454294 0 -0.280354 0 0.0292281 0 0 -0.0023467 -0.0414465 0 0.00462167 0 0 0 2.42056 0 0.176953 0 0 0.221523 0 0 0 0.0393784 0 0 0 0 0 0 -0.183698 0 -0.366846 0 0 0 0 0.205625 0.428821 0 0 -0.273372 0 -0.0371732 0 -0.0562718 0 0 0.321399 0 0.597509 0.100294 -0.0528974 0.027702 0 0 -0.448172 0 1.76043 0 1.39001 -0.736047 0 0.827047 0.767299 -0.00719304 0 0.0320836 0 0 0.0387243 0 -0.953183 -0.0147053 0 0 0.000574216 0 0 0.0863791 0.780851 -0.0154511 0 0.990245 0 -0.142869 0.00446724 -0.0229521 0.195103 0.0134392 -0.0242797 0.296089 -0.0853538 -0.747744 0.256155 -0.0192332 0 0 0 -0.0375408 0.0892853 0 0 0 0 -0.0453044 -5.46099 0.378164 -2.24122 -0.268656 0.219644 -0.665315 0.0928168 -0.0786989 0.081245 -0.297517 0 0 0 0 0 0 +37 0 0.555859 0.0316523 -0.0261373 -0.088938 0.165142 0.0670768 -0.954073 -2.94307 -0.369498 1.1189 -0.160152 -0.482191 0.00729087 -1.88711 -0.178134 -1.11519 -2.30981 0.229944 -0.176581 0.412905 0.0582821 -0.00844108 -0.0151397 0.255428 -0.608389 -0.320788 -0.00501817 0.23633 0.609893 -0.389275 -0.0742952 -0.803017 -0.22263 -0.0967926 -0.196465 -0.0520204 0.193379 -1.39743 0.041375 0.408619 0.0103239 0.492656 -0.0302802 -2.61519 -0.0407343 0.0189049 0.532163 -0.696991 0.0392597 -0.614122 0.562594 -2.73328 0.360971 -0.202393 0.6085 2.3961 0.78828 0.211854 -0.411652 -0.0126343 0.462469 -0.903696 -1.00555 1.51002 0.0885204 0.211284 -0.493677 0.365611 0.200726 -1.2486 0.0792348 0.0912853 -0.0809991 0.747432 -1.58588 -1.15146 5.13325 -3.15978 8.14545 -0.425069 0.750673 -0.101031 -0.60706 0.726792 -1.69189 3.96247 0.0360644 -0.0571919 -0.183776 0.494504 -2.58155 0 0 0 0 0 -0.0261373 -0.088938 0 0 0 0 0 0 0 -0.00806071 0 0 0 0 -0.0146765 0 -0.00119831 0.0412957 -0.0724795 0 0 0.0185409 0 0 0.0437159 0.000877971 0 0 -0.00115865 0.0422931 0 0.0639303 0 -0.00749781 0 0 -0.00177425 0 0 0.0195575 0 0 0 0 0 0 0 -0.032452 0 0 -0.143499 0 0 0 0 0 0 0 -0.0475526 0 -0.65471 0 0.0137095 0 0 0.0141928 -0.185413 0 0.125631 0 0 0 -0.098778 0 0.0999089 0 0 0.0487595 0 0 0 0.00544179 0 0 0 0 0 0 0.165142 0 0.0670768 0 0 0 0 -0.521052 0.00863096 0 0 0.431286 0 0.0569463 0 -0.0120808 0 0 0.148578 0 -0.0571044 -0.154882 0.151628 0.0357446 0 0 -0.10673 0 -2.20304 0 -1.29076 -0.541077 0 -1.18376 -0.385746 0.0195139 0 -0.0732699 0 0 0.00938126 0 -1.60252 0.734813 0 0 0.109872 0 0 0.0125317 0.0249471 0.334738 0 -0.789527 0 1.13798 0.0915474 -0.0993756 -0.646989 0.245381 0.689923 -0.461941 -0.162228 0.499018 1.68091 -0.0555493 0 0 0 -0.0640812 -0.0400082 0 0 0 0 -0.03763 6.28961 -1.907 5.06438 0.309159 -0.443601 1.04366 -0.156075 0.170252 -0.281571 0.774685 0 0 0 0 0 0 +38 0 0 0 0 0 0.389276 0.123289 0.371813 0.459603 0 0 0.173854 0.700539 0 0.227828 0.0775508 0 0 0 0.116431 -0.653762 0 0 0 0 0.226411 0 0 -0.326122 0.414575 0.197546 0 0.195738 0 0 0.115106 0.0813792 0 0 -0.258812 0.557576 0 0 0.0454944 0.764947 0 0.225571 -0.468146 0.518062 -0.0500955 -2.61355 0.139616 0 -0.0675242 0.0357602 -0.215682 -0.224912 0.219458 0.141646 0 0 -0.125095 -3.43315 0 0.709937 0.400721 0.116834 0 0 0 0 -0.0131111 -0.236536 0 -2.58526 1.01555 0 0 0 -1.15474 0 -0.0769406 0.906457 0 -0.12564 -0.66747 1.59075 0 -0.0569569 -1.1331 1.95053 -0.99557 0 0 0 0.268581 0.0285151 0 0 0 -0.0180361 0 0 -0.00348483 0 0 0.0050886 0 0 0 0 -0.0792083 0 -0.00735529 0 0.0158446 0 -0.0641573 0.127631 0 0.00427059 0 0 0.251494 0 0.0192808 0 0 0 0 0.0375425 0.0319631 0 0.00537692 0 0 0 0 0 0 0 0 0 0 -0.0479808 0 0 0 0 0 0 0 0 0 0 0.127059 0 0 0 -0.0101572 0.0458806 0 0.0272807 0.0530057 0 -0.0841975 0 0.132651 0 0 0 -0.00227395 0 0 -0.238884 0 0 0 -0.0646642 0 0 0 0 -0.202061 0 0.389276 0.268581 0.123289 0.0285151 -0.496608 -0.0873961 0.144537 0.743263 0.140744 -0.0150791 -0.0165744 -0.277695 -0.00138195 -0.0427007 0.0156208 0.0133664 -0.0198145 -0.152975 -0.0832589 -1.11305 -0.205565 0.138233 -0.152249 0.0196464 -0.0564616 0.0375018 0.109693 -0.00747523 2.70009 -0.181799 0.232204 0.481607 0.00158072 0.993615 -0.265832 -0.018978 -0.00256594 0.0923398 -0.0289675 0.378169 0.0109546 0.00115766 1.09713 -0.656711 -0.00322117 -0.0169628 -0.026926 -0.111146 0.179728 -0.779497 1.57903 -0.0664698 0.0232093 1.44784 -0.0128408 -0.335577 -0.0352987 -0.0200123 0.178027 -0.118299 -0.301446 0.141172 -0.0638114 -0.0139016 1.87213 -0.116196 -0.951384 -0.0136382 -0.0147751 0.460554 0.0925744 0.0163457 0.0238042 -0.0308625 -0.0605107 -0.0425843 -2.57316 1.47557 -4.77454 0.824859 0.317584 -2.37077 0.068736 0.0237273 0.183619 -1.51663 0.0299539 0.0624558 0.0124556 0.260041 -0.950038 0 +39 0 0 0 0 0 -0.452555 -0.349512 0.386406 2.70173 0 0 -0.244574 -0.850091 0 -1.01016 -0.1107 0 0 0 -0.260737 -3.49095 0 0 0 0 0.422665 0 0 0.0572717 0.630041 -0.236143 0 -0.430429 0 0 0.0638237 -0.0644678 0 0 -0.00651378 -2.0835 0 0 0.0436199 -3.69447 0 -0.948807 -0.0432743 -1.11061 -0.0615181 -0.305156 0.0569094 0 0.331373 -0.250414 0.630465 -1.0438 0.499218 0.0458634 0 0 0.917782 3.00502 0 0.83988 0.288715 1.21648 0 0 0 0 0.214257 0.190651 0 -0.691329 -0.308514 0 0 0 -5.68442 0 -0.0220689 -4.406 0 -0.192797 -0.1703 -5.93851 0 -0.156846 0.395734 0.137929 -6.12245 0 0 0 -0.0281126 -0.0130047 0 0 0 0.00637464 0 0 0.00244794 0 0 -0.00170172 0 0 0 0 0.0116525 0 0.0037159 0 -0.0190007 0 -0.0328867 -0.116197 0 -0.00285495 0 0 -0.142245 0 -0.0126223 0 0 0 0 -0.0150738 -0.0207791 0 -0.00295418 0 0 0 0 0 0 0 0 0 0 0.0256078 0 0 0 0 0 0 0 0 0 0 0.0337427 0 0 0 0.0430129 -0.0640923 0 -0.126613 0.0972442 0 0.0309572 0 0.00986106 0 0 0 0.0288838 0 0 0.130986 0 0 0 0.0102163 0 0 0 0 0.129453 0 -0.452555 -0.0281126 -0.349512 -0.0130047 -0.0218654 -0.0245709 -0.141528 0.370407 -0.270164 0.0100076 0.00253295 0.406214 0.000961333 0.0395737 -0.0143703 -0.0179635 0.00748698 0.084787 0.513832 0.360822 0.316157 0.232456 0.201764 0.0782035 0.0647131 0.0265522 -0.208002 0.0113197 1.40799 -0.0948348 1.81694 -0.185931 -0.00134042 1.45334 0.722804 0.0183118 -0.000464785 0.0727873 -0.00499504 0.57651 -0.0227261 -0.00647924 -0.0113109 0.871086 0.000611659 -0.00979152 0.123744 0.0671043 0.00956532 0.158675 2.48923 -0.200756 -0.0297694 0.384109 0.0308204 0.741697 -0.111448 0.204558 0.00707952 -0.0205391 -0.691441 -0.149692 0.137601 -0.289075 2.4766 0.0476963 0.0379432 0.00233364 0.175557 -0.179956 -0.0848508 0.02342 -0.024148 0.0695632 -0.0116082 0.0412061 -20.1343 -2.74421 -7.02579 -0.647669 0.157521 -2.37798 -0.0627987 -0.0782225 -0.266685 -1.12183 -0.0166021 0.0381549 -0.116349 0.0711681 -0.519105 0 +40 0 0 0 0 0 -0.499572 -0.326278 1.06792 3.95898 0 0 0.0532942 -0.265007 0 0.071667 0.034579 0 0 0 -0.0515522 -4.45231 0 0 0 0 0.759132 0 0 0.11716 6.03067 0.0803286 0 0.228256 0 0 0.223924 0.0127044 0 0 -0.103821 -0.424962 0 0 0.0221861 -3.10241 0 -0.115716 1.20422 -0.0786385 -0.0118879 -0.433036 0.0906674 0 -0.00905651 -0.080207 0.589917 2.01657 -0.242432 -0.00810997 0 0 1.48869 1.87168 0 -0.744786 0.27462 -0.320476 0 0 0 0 0.835539 0.376476 0 3.45766 -0.407298 0 0 0 -9.15366 0 -0.367409 -10.741 0 -0.289377 -0.974488 -11.0543 0 -0.025609 -1.71766 2.42338 -19.3034 0 0 0 0.0179859 0.000875953 0 0 0 -0.0183719 0 0 -0.00136973 0 0 -0.00055866 0 0 0 0 -0.0282474 0 -0.00174452 0 -0.0136238 0 -0.21787 -0.282826 0 0.00077767 0 0 0.0627332 0 -0.0177134 0 0 0 0 -0.0777465 0.00745774 0 -0.00506504 0 0 0 0 0 0 0 0 0 0 -0.00111573 0 0 0 0 0 0 0 0 0 0 -0.000980595 0 0 0 -0.00932271 0.0240561 0 0.0432108 0.0316969 0 -0.0403374 0 -0.0224321 0 0 0 0.0155496 0 0 -0.0580437 0 0 0 -0.0090538 0 0 0 0 -0.0560774 0 -0.499572 0.0179859 -0.326278 0.000875953 -0.824092 -0.272168 -0.00335939 0.976114 -0.312046 -0.000140281 0.0249592 -0.202865 -8.30014e-06 -0.012987 -0.000267617 0.000269454 -0.0157114 -0.00314979 -0.389218 -0.839497 0.179376 0.756541 -0.0725936 -0.0519669 -0.110795 0.569774 4.04254e-06 -0.020744 0.205849 -0.195489 1.74822 -0.0649509 -1.53472e-05 3.35758 0.637436 -0.00473187 0.000243261 0.245181 -0.0173951 3.21218 -0.0207193 0.100002 -0.253711 -0.539077 0.00211732 -0.0165416 0.010128 -0.128295 0.0347642 1.76142 1.59289 -0.505344 0.0262862 1.51647 0.00218069 0.241234 -0.0513665 0.265246 0.395936 -0.74282 -1.25596 0.0680657 0.450941 0.132045 0.155654 0.0353463 0.33465 -0.0370341 -0.565023 -0.161902 0.0195411 0.0167286 -0.000639854 0.195406 0.180884 0.0070882 -19.3729 0.649201 -17.952 -0.153707 1.50021 -15.6963 0.020717 0.20653 -0.680228 -5.5477 0.000616758 0.0494164 -0.527403 0.673737 -4.47132 0 +41 0 0.344009 -0.474983 0.0179099 -0.162161 0.295169 0.0903475 -0.384222 -2.02337 -0.0336068 0.363156 0.0261396 -0.990115 -0.0175917 -0.123141 0.00209406 -3.92561 -1.51952 0.168034 -0.018851 0.344344 0.0356036 1.49403 0.0189595 -0.0981594 -0.361605 -2.61768 0.143764 -0.0201472 -0.326331 -0.122276 0.0571007 0.0535329 0.826535 0.157726 -0.0483561 0.000832765 0.882361 -2.30529 -0.0178686 0.0402445 -0.0630261 2.49163 -0.0201524 -0.98595 -0.116954 0.00508826 -0.0867348 0.190315 0.15694 -1.71548 -0.0351327 17.2529 -0.00601524 -0.0680487 -0.232946 8.54561 0.866047 0.0624943 0.234345 0.152149 -1.39392 -0.272437 -2.59158 -0.793712 0.199255 -0.426178 -0.179567 0.393544 -0.0450447 0.400513 -0.298613 -0.193109 -1.4219 0.673837 0.242485 -3.10817 11.7688 -0.522441 8.3765 0.604352 -0.28392 7.21614 -1.1025 0.665269 -0.29891 3.32843 0.084358 -0.00183215 0.164095 -0.0160032 0.258965 0 0 0 0 0 0.0179099 -0.162161 0.00707729 0 0 0 0 0.00109369 0 -0.0582848 0 0 0.00656897 0.0233509 -0.0697686 0 -0.0105946 0.0641922 -0.465242 0 0 -0.191778 0.00153903 0 -0.023236 0.386657 0 0 -0.0394695 0.189431 0 -0.0706902 0 -0.0954249 0 0 -0.015385 0 0 -0.0809134 0.0170736 0.105237 0 0.109533 -0.0417677 0 0 0.00193264 0 0.0100014 -0.265446 0.00398475 0 0 -0.0113411 -0.0151556 0 0.030739 -0.152341 0.0137998 1.26043 -0.0911578 -0.0813863 0 0.0434069 -0.165127 0.325287 -0.0357345 0.0190905 0 0 0 1.00543 -0.199773 1.59988 0.0430491 -0.0662631 0.194979 -0.00745014 0.010566 -0.0408313 0.331755 0 0 0 0 0 0 0.295169 0 0.0903475 0 0 0 0 0.0499942 0.0209846 0 0 -0.183543 0 -0.0313637 0 0.00122562 0 0 0.062388 0 0.0166291 0.0204924 -0.0405804 0.00788819 0 0 -0.00750701 0 1.93131 0 -1.1173 0.0384196 0 0.025965 -0.0699639 -0.00570128 0 0.00818418 0 0 0.0196021 0 0.351825 0.500454 0 0 0.0532763 0 0 0.0380144 -0.561286 -0.128545 0 -0.0159355 0 -0.647762 -0.0323611 -0.0219166 -0.130937 0.056174 0.307643 0.0535585 -0.0971645 0.575423 4.17346 -0.0797491 0 0 0 0.0244348 0.0454102 0 0 0 0 0.00558568 5.08115 0.0180044 2.12095 0.102098 -0.0514636 1.17645 0.00929263 0.014267 0.0608626 0.0460789 0 0 0 0 0 0 +42 0 1.13192 0.29699 0.0633248 0.127521 -0.0213763 -0.0137977 -0.560681 -1.20921 0.455705 -1.48057 -0.132314 -4.3958 -0.0158247 -1.57167 -0.0167294 -2.89203 -7.23127 -0.0179595 -0.111378 0.442493 0.0341199 -0.825122 0.0208768 -0.311275 -0.86638 -0.469696 0.258298 0.0320999 0.555135 -0.870626 0.0984457 -0.120069 -2.83937 2.00909 -0.30048 -0.0187235 0.672237 -10.4719 -0.443141 0.0503697 -0.061539 3.33073 -0.0731791 -7.71666 -0.234861 0.00407259 0.129379 -0.683639 0.10443 -0.686427 0.0697704 27.9641 0.124346 -0.0659261 0.110769 10.7339 1.12579 -0.000195226 0.166644 0.0408485 -0.306876 -0.124186 4.48198 1.51072 0.918065 0.141217 0.395869 -0.731607 -0.179085 1.2707 0.693825 0.106978 -1.34458 0.467172 -0.258623 -2.03161 46.6091 9.00791 4.31145 7.98177 -3.68689 7.36065 1.41417 -0.408376 0.528489 2.00489 0.169403 0.143196 -0.107018 0.215116 -0.440537 0 0 0 0 0 0.0633248 0.127521 -0.00773143 0 0 0 0 -0.00073808 0 -0.0294953 0 0 -0.00171022 0.0112133 -0.0292792 0 -0.00823812 0.0595366 -0.0836287 0 0 -0.0742098 0.0007885 0 -0.0366373 1.17947 0 0 -0.0152715 0.335706 0 -0.135543 0 -0.0788822 0 0 -0.0118564 0 0 -0.882348 -0.0109855 -0.0257353 0 -0.114872 -0.0783737 0 0 -0.203003 0 -0.0134553 -0.308369 0.0161431 0 0 0.00175903 0.0154315 0 0.0201286 0.0448322 -0.0121734 0.323284 -0.00958052 -0.0317232 0 -0.0507602 -0.117891 0.26814 -0.0185342 -0.244652 0 0 0 3.41934 0.140408 0.487556 0.0391253 -0.0455306 0.4356 0.00175168 -0.00419406 0.0120814 0.128655 0 0 0 0 0 0 -0.0213763 0 -0.0137977 0 0 0 0 -0.0315468 0.305795 0 0 -0.175222 0 -0.0379611 0 0.00470764 0 0 -0.0416784 0 0.0101264 -0.00321217 -0.0362337 -0.00532765 0 0 0.0117655 0 0.988514 0 -0.330204 -0.104918 0 0.100932 -0.102043 -0.00903218 0 -0.0065001 0 0 0.0515335 0 -0.0450688 -0.226628 0 0 -0.0269996 0 0 -0.0288974 1.39918 0.0567247 0 -0.048926 0 -0.640729 0.0363948 -0.0967778 0.0217773 -0.0171525 -0.1092 0.804725 -0.0475103 -0.257044 -1.46329 0.0309507 0 0 0 0.0123363 0.0430822 0 0 0 0 -0.0506633 8.92179 2.3672 -1.86509 1.25323 -0.695347 0.232726 0.196331 -0.137664 0.129831 0.125513 0 0 0 0 0 0 +43 0 1.11769 0.331653 0.0630915 0.29013 -0.0819575 -0.0159877 -0.0677654 0.0874157 0.734255 -1.3733 -0.0388397 -1.2228 -0.00722887 -0.692705 -0.0039278 -0.134494 -0.406458 -0.150485 -0.0700033 -0.355448 -0.0255152 -0.478004 0.0195284 -0.394267 -0.204515 0.242749 0.0209262 0.00931568 0.283425 -0.247859 0.116431 -0.00997492 -1.45189 0.444883 -0.0649488 -0.00590355 -0.188775 -5.94824 -0.246543 -0.100255 -0.013264 0.598401 -0.0410864 -2.6242 0.0534018 -0.021575 0.049362 -0.344833 0.0244842 -0.471332 0.204431 19.4381 0.406389 0.110054 -0.00248324 4.54682 0.82151 -0.410162 -0.0465007 -0.0293502 1.02547 0.596393 3.55373 0.620338 0.751835 -0.520759 0.0349289 -1.50989 -0.228753 -0.52065 0.91223 0.0953668 0.0756976 -0.481458 -0.14168 1.20476 27.4534 5.55677 2.1778 4.45487 -1.93991 5.36117 1.11958 -0.592045 1.65488 -0.95169 -0.0385182 0.0926936 -0.123405 0.117881 -0.224917 0 0 0 0 0 0.0630915 0.29013 0.00724972 0 0 0 0 0.00122452 0 -0.0090208 0 0 0.0045368 0.0159462 -0.00596955 0 -0.00362691 0.0212385 0.022709 0 0 -0.289169 0.00116001 0 -0.00852133 0.633477 0 0 -0.0318894 0.102077 0 -0.0309931 0 -0.0889869 0 0 -0.0112957 0 0 -0.231831 0.0168226 0.0590338 0 0.098666 0.0433294 0 0 -0.223913 0 0.016159 0.273358 -0.0257507 0 0 -0.0106998 -0.0111302 0 0.0271549 -0.155576 0.0175478 -0.490609 -0.0362908 -0.0271046 0 0.0390099 0.0542762 0.0514301 -0.00531719 0.0911624 0 0 0 -0.431077 -0.0817336 -0.359568 0.0127818 -0.00788887 -0.127682 -0.00629546 0.0073509 0.000135802 -0.0776037 0 0 0 0 0 0 -0.0819575 0 -0.0159877 0 0 0 0 0.0465556 -0.271408 0 0 -0.688704 0 -0.0969446 0 -0.00780538 0 0 0.0984706 0 -0.075802 0.0473314 -0.104686 0.00935421 0 0 -0.0595079 0 -0.22019 0 -1.87154 -0.117224 0 0.467945 -0.338742 -0.0158953 0 0.00406594 0 0 -0.0427095 0 -0.338627 0.60081 0 0 0.0445344 0 0 0.267992 0.526296 0.240299 0 -0.561071 0 -0.469626 -0.0469339 -0.162713 0.0696964 -0.0933008 -0.4614 0.303816 0.0108186 0.50991 1.09259 -0.0246151 0 0 0 -0.0929768 0.00953644 0 0 0 0 0.031065 17.4951 5.63523 -3.17929 1.50788 -0.777328 0.734504 0.403901 -0.290281 0.496969 -0.499626 0 0 0 0 0 0 +44 0 0 0 0.10968 0.395433 0 0 0 0 -0.0264801 -1.7645 -0.136464 0 -0.00460693 0 0.185156 0 0 -0.0829252 -0.0333484 0 0.00574065 0 0.165663 -0.254835 0 0 0.160288 0 0 0 0.175613 1.05836 0 0.863058 0 -0.0579519 0.842352 0 0.179345 0 -0.125731 3.71857 -0.211312 0 -1.23827 0 0 2.05164 0.549093 0 0.0459174 0 0.113966 1.10842 -0.403975 0 -0.970638 -1.0955 0.0322435 -0.0811643 0 0 0 0 -0.471457 0 0.298559 0.686043 -0.1982 0.506302 0.441902 0.484852 1.31388 0 0 0.251957 0 3.7163 0 0.459077 0.466799 0 1.13444 -0.659734 1.2321 0 2.92009 -1.13883 1.13483 -1.18311 0 0 0.151685 0.0143799 -0.178512 0.000240669 0.10968 0.395433 0.0146551 0.118988 -0.227915 -0.000236771 0.0172423 0.00338152 -0.0137003 -0.105918 0.0133908 -0.00312575 -0.00228221 0.0522527 -0.0689585 0.198836 -0.0156309 0.455948 -0.444054 0.000850139 0.824048 -0.171793 0.00135053 -0.00814512 0.223201 4.10102 0.0157861 -0.00472748 0.0570261 1.59956 -0.0331498 0.5161 -0.0185265 -0.278344 -0.00490176 -0.0471149 0.00208449 -0.0366409 -0.00115559 1.72124 0.0792211 0.0951816 -0.00246312 0.284696 -0.00994563 0.00283682 -0.00771803 0.176284 0.0821787 0.0342654 0.767274 -0.00394394 -0.0408508 0.0660731 0.0286954 -0.0189809 -0.147143 -0.0144574 1.06766 -0.103403 -6.1595 0.236445 0.0424181 -0.0410325 -0.33389 0.03323 -0.894882 -0.214272 -0.17463 -0.0216497 0.451984 0.00849084 -3.90487 0.258698 1.10944 0.183874 -0.0321136 -0.232024 0.0226555 0.00805089 -0.0931624 0.0607946 0.00374733 0.000945728 0.00320888 -0.0370515 -0.00392749 0 0 -0.178512 0 0.000240669 0 0 -0.586035 0 -1.19286 -0.0723717 0.0105998 -0.859682 -0.0112912 -0.144949 -0.0962289 -0.0743489 0.0294473 -0.423512 0 0 0 0 -0.130507 0 0.0856617 0 -0.453192 0 0 -0.0595897 0 0 -0.0148438 0 0 0.00181387 -0.00448484 0 -0.0183745 0 -0.213228 0 0 0 0.00130598 -0.0102459 0 0 0.0792834 0 0 0 -0.128975 0 0.200497 0 0.335952 -0.0927582 0.265069 0 0 0.167898 0.0444279 1.44673 0 0.227139 0 0.148306 0 -0.019821 -0.151031 0.056806 -0.08032 -0.106307 -0.00820982 0.808322 0 5.40464 0 2.29433 -0.313927 0 1.18308 -0.320837 0.276252 0 0.88273 -0.360636 0.239421 0.0197802 0 0 +45 0 0 0 -0.279898 -0.218791 0 0 0 0 2.88035 1.64663 -0.710204 0 0.742446 0 -0.351273 0 0 0.575833 -1.76146 0 0.40078 0 -0.237442 0.905056 0 0 -0.999276 0 0 0 0.603461 -0.142949 0 -1.83247 0 -0.310801 -2.96595 0 -3.18232 0 1.26037 -5.66575 -1.53281 0 2.31892 0 0 -1.58781 3.69473 0 2.62248 0 1.77563 -0.593403 -0.648663 0 -1.96726 -1.30366 -1.35834 -1.07085 0 0 0 0 0.544519 0 -0.753571 -1.98841 -4.2673 -2.2564 -0.296995 -2.52151 3.35538 0 0 1.22114 0 -1.73079 0 -2.93432 3.01273 0 -5.60216 4.52907 -2.22292 0 -7.19309 7.58927 -4.60241 4.25374 0 0 0.00758076 0.00674921 0.102493 0.0436266 -0.279898 -0.218791 0.0280468 0.00547414 -0.191634 -0.000562669 0.000333622 0.022992 -0.0626525 0.0909758 0.00560399 -0.00631619 0.0119728 0.135512 0.222134 0.0282775 0.0535116 -2.14117 0.431178 0.000534714 0.0479212 -3.7961 0.0112883 -0.00101247 -0.991355 -5.9906 0.174701 -0.0343128 -0.415448 -3.52022 -0.0319132 -1.92886 -0.0178398 -2.07903 0.00853544 -0.393006 -0.218579 -0.0632569 -0.00553762 -3.73956 0.536823 0.190918 -0.00278769 0.775479 0.844877 0.0934195 -0.0260402 -1.37051 0.0409999 -0.0670275 -0.914505 0.204947 -0.00644162 0.0341301 -0.0309054 -0.126928 -0.159348 0.156237 -1.17707 0.208309 -4.61635 0.212285 0.158746 0.0679839 0.248956 0.342009 -3.16749 1.10104 -0.290802 -0.130971 0.132369 0.013393 8.48372 1.20666 -1.80512 0.272925 1.04973 0.267025 0.0500407 0.123651 -0.455984 0.00784307 0.00517376 0.0233589 -0.112387 0.183216 -0.0434646 0 0 0.102493 0 0.0436266 0 0 0.230002 0 -0.623786 -0.0642988 0.00883454 0.343629 -0.0120838 0.0188986 0.0481698 -0.0307795 0.0143962 -0.318028 0 0 0 0 0.179977 0 0.185567 0 -0.0464903 0 0 -0.0628869 0 0 0.0065563 0 0 0.036067 0.000199779 0 -0.0028937 0 -0.0896532 0 0 0 -0.000413313 -0.00643371 0 0 0.162542 0 0 0 -0.105029 0 0.128007 0 -0.718915 0.238407 -0.563241 0 0 -0.531793 0.47685 0.341422 0 0.119384 0 0.0280106 0 -0.0298357 -0.320043 0.122458 -0.0226845 -0.0709534 -0.0636243 0.458277 0 -0.309659 0 0.624012 0.656981 0 -0.342239 0.684252 -0.50859 0 0.475506 0.0507657 -0.266166 0.225808 0 0 +46 0 0 0 -0.0965119 -0.0763895 0 0 0 0 0.918428 -0.00303088 0.102066 0 0.304726 0 -0.0331261 0 0 0.0239174 -0.187546 0 0.0727289 0 -0.0687758 0.190154 0 0 -0.760598 0 0 0 0.423983 0.452105 0 -1.70869 0 -0.0355374 -2.64008 0 -0.320507 0 0.330808 -6.05675 -0.17161 0 -0.311097 0 0 0.399769 0.597662 0 0.100094 0 0.8545 0.45842 -0.585703 0 0.518846 -1.00914 0.143651 -0.110773 0 0 0 0 0.691423 0 -0.728837 -3.11898 -2.99006 -0.00683174 0.332789 -0.460774 1.02112 0 0 2.41241 0 -0.93073 0 0.595786 -0.148607 0 -0.778561 0.724198 0.097166 0 -0.156129 0.631529 0.876129 -0.065471 0 0 0.0371394 0.00384188 0.0946707 0.0261346 -0.0965119 -0.0763895 0.0242634 0.00907555 -0.159692 -8.72954e-05 -0.000281212 0.0189352 -0.0122741 0.0417885 0.00354136 -0.00109324 -0.00234131 0.0163181 0.160509 0.0496604 0.0257885 -1.05695 0.256253 0.000234355 0.0221682 -1.43123 0.00113513 -0.00655948 -0.475349 -4.14368 -0.0383311 -0.00461659 -0.261444 -2.07605 -0.0298984 -0.842576 -0.0101895 -0.671776 -0.018918 -0.0721645 -0.123508 -0.0122413 -0.000781114 -1.47095 0.383206 -0.0275137 -0.00175502 0.49164 0.210785 0.0106643 -0.0102078 -0.685345 -0.0592829 -0.0144584 -0.912605 -0.0201624 -0.0102363 0.0214874 0.00117336 -0.0913158 -0.038466 -0.0499895 -0.825346 0.0977509 0.0525919 -0.167865 0.133239 0.0166489 0.170211 0.0179397 -0.802063 -0.0896448 0.0845923 -0.00981601 -0.116986 0.00276931 3.33705 0.340764 -0.808327 0.0665249 0.245916 0.226461 0.00969763 0.0241106 -0.0365704 -0.0453667 0.00118297 0.00329185 -0.00497824 0.0424741 0.00953657 0 0 0.0946707 0 0.0261346 0 0 0.0646691 0 0.35216 -0.0463742 0.00729021 0.204103 -0.000353381 0.0577389 0.078175 0.0701728 -0.0358033 -0.45167 0 0 0 0 0.0480591 0 -0.015212 0 0.36616 0 0 0.133264 0 0 0.0195645 0 0 0.0202019 0.0050189 0 0.0335552 0 0.13612 0 0 0 -0.00311375 0.0271312 0 0 -0.217976 0 0 0 0.420723 0 -0.284652 0 0.432054 -0.0265262 1.4404 0 0 0.677433 -0.0373499 0.941653 0 0.124229 0 -0.0273949 0 0.18211 0.258154 0.0533028 0.0656624 -0.100878 0.0340398 -0.139205 0 0.804388 0 2.27319 -0.622063 0 0.748407 -0.383112 0.283688 0 0.545294 -0.284395 0.282447 -0.0573098 0 0 +47 0 -0.309405 -0.333361 0.0722735 0.0461157 -0.409428 -0.152147 0.602574 2.68075 1.05483 -1.10092 -0.308535 0.162133 -0.0489199 -0.175956 -0.0464326 -0.608302 -4.43965 -0.126813 -0.265514 0.327656 -0.067076 0.268056 0.218792 -0.326123 0.428687 -0.0867885 0.06214 0.061268 1.39655 0.0467333 0.482478 -0.0595011 0.933951 -0.042084 0.0772709 -0.133969 0.16234 3.80579 -1.66611 0.0358616 0.0566104 -0.281141 -0.684157 -1.17461 0.339595 -0.01418 0.291006 -0.666948 -0.0504844 3.59038 0.0652754 4.90719 -0.122282 -0.356986 0.205773 -1.36195 -0.417114 0.448649 -0.308508 -0.0405492 1.10372 -0.0656381 2.2167 2.43545 -1.64187 -0.148192 -1.76989 0.24183 -1.1483 0.105906 0.330231 0.409365 -1.25696 0.285798 -0.188006 0.169022 -13.7605 1.36772 -7.4831 -2.94442 5.25654 -9.77555 1.41618 -0.637609 1.26575 -5.63127 -0.643028 1.6715 -1.64498 1.97062 -2.65486 0 0 0 0 0 0.0722735 0.0461157 0.00233875 0 0 0 0 0.00208623 0 0.128699 0 0 -0.00223309 -0.0276281 0.554446 0 0.0709289 0.472532 1.04831 0 0 -0.527317 -0.00129698 0 0.391269 2.76118 0 0 -0.0327216 1.23164 0 0.939248 0 -0.216506 0 0 -0.00826218 0 0 2.15298 0.0452941 -0.0465706 0 0.0553809 0.130849 0 0 0.0190183 0 0.00615396 0.476982 -0.146958 0 0 0.00131732 -0.00211294 0 0.0193754 0.189613 0.0490939 -5.9599 0.042978 0.0605 0 -0.0472877 0.981084 0.373233 -0.350867 -0.307402 0 0 0 -18.551 -0.457427 -5.09614 -0.0832193 0.208466 -2.76559 0.00108674 -0.00245339 0.0356466 -1.10268 0 0 0 0 0 0 -0.409428 0 -0.152147 0 0 0 0 -0.0231614 -0.713117 0 0 0.00150344 0 0.005552 0 -0.0201281 0 0 0.0504224 0 0.0801948 0.0660556 0.0935796 0.00572808 0 0 -0.174242 0 -4.0758 0 0.980847 0.0471136 0 0.615543 0.158307 0.0122586 0 -0.00445738 0 0 -0.0904751 0 -0.560654 -0.243802 0 0 -0.0096479 0 0 0.0323832 0.815155 0.160888 0 -0.548775 0 0.475922 -0.116416 0.0270276 -0.243115 -0.00155765 0.537604 -0.296891 0.0666318 0.448813 -2.13202 0.0676606 0 0 0 -0.153733 -0.0653686 0 0 0 0 0.22508 -3.75383 -0.0633044 -2.43124 -0.179436 0.238421 -0.963924 -0.0126322 -0.0178821 0.0169872 -0.470574 0 0 0 0 0 0 +48 0 0.951496 0.208907 -0.189744 0.138484 -0.0827031 -0.0111755 0.253104 1.48331 1.49556 -0.470195 -0.0128523 -0.350247 0.553942 -0.209716 -0.13 -1.41907 -1.42212 0.14038 -0.718665 0.459658 0.269384 -0.303913 -0.455166 0.111703 0.269157 -0.634027 -0.0600155 -0.00419739 0.47303 -0.121521 -0.086458 -0.320983 -1.32971 -0.0397813 -0.0261136 -0.0213766 0.180998 -4.88777 0.0400257 0.0884664 0.692352 0.23813 0.0670048 -0.472117 0.862992 0.0213841 0.0188797 -1.5468 -0.0451399 0.386603 0.48683 3.03334 1.08589 -0.198049 0.0907113 -1.08293 -0.223164 -0.106183 -0.52222 -0.572993 -1.02584 0.107667 2.92695 -1.73877 -0.313791 -0.336516 1.71968 0.192791 -1.49944 1.96777 0.592756 0.163585 -0.615809 -0.103281 0.0999887 0.213425 15.2839 3.6384 -2.57933 4.48672 -3.81703 6.06029 0.692137 -0.447901 0.516651 -1.8191 -1.63409 0.201238 -1.26812 0.0930307 -0.899234 0 0 0 0 0 -0.189744 0.138484 0.0168413 0 0 0 0 0.00693258 0 0.00483502 0 0 -0.00144522 0.0227848 -0.132392 0 -0.0229419 -0.0900457 0.0827223 0 0 -0.936297 0.00125519 0 0.485493 1.79827 0 0 -0.0927238 0.342471 0 0.502496 0 -0.382421 0 0 -0.0399527 0 0 -0.406688 0.143256 -0.0398635 0 0.349172 0.178703 0 0 -0.800913 0 0.0183733 -0.163089 -0.0335426 0 0 0.00277994 -0.0370417 0 0.00159903 -0.0503297 -0.0438913 -8.28079 0.150544 -0.00897148 0 0.0524684 0.0918431 -0.151676 -0.303562 -0.491115 0 0 0 0.175893 0.159825 -0.255461 -0.00222942 0.0123515 -0.0858853 0.00165194 -0.00418004 0.0549714 0.0229846 0 0 0 0 0 0 -0.0827031 0 -0.0111755 0 0 0 0 0.0632071 -0.261054 0 0 -0.186538 0 -0.0166163 0 -0.00452976 0 0 0.0363317 0 -0.073458 0.0271256 -0.030735 0.00627062 0 0 -0.0189836 0 1.43945 0 -1.5555 -0.0529083 0 0.367447 -0.2505 -0.00278365 0 0.00554074 0 0 -0.0492894 0 0.0991792 0.27709 0 0 0.0379742 0 0 0.316018 0.186628 0.0725598 0 0.513215 0 -1.36988 0.0611951 -0.146668 -0.28715 -0.0658008 0.0980798 0.74921 -0.158429 0.103767 2.89338 0.0654504 0 0 0 -0.0657368 0.0490626 0 0 0 0 0.0558938 14.2941 2.76301 -1.76228 1.22429 -0.922726 1.36975 0.168424 -0.166655 0.210344 -0.224287 0 0 0 0 0 0 +49 0 0.727074 0.207731 0.254069 0.179395 0.0792974 -0.0298635 0.422933 1.19921 3.99209 -1.13674 -0.174978 -0.435512 -0.143642 -0.45272 -0.0974656 0.223238 0.829662 -0.212864 -0.762899 0.600346 0.01065 -0.124074 0.777076 0.112802 0.252475 0.037646 0.500232 0.0305262 0.646718 -0.104529 1.77467 -0.191123 -0.699176 1.33432 0.0632594 -0.0672093 2.02233 -3.76031 -0.88252 0.0642389 0.254998 5.50696 -0.401378 -1.55552 1.31062 0.00900462 0.143188 -1.60406 0.311651 0.390319 -1.01912 -1.51163 1.49813 -0.297019 0.261265 0.111408 0.731042 0.119203 0.0500855 -0.187783 -1.6792 -0.294257 0.492304 -1.27306 -1.19648 -0.163836 0.290835 1.8243 -4.33724 1.33304 0.107492 0.155107 -3.38682 0.249273 -0.328707 -3.08748 12.3839 2.66072 0.546376 0.915233 -0.302606 3.96693 1.38342 -1.55092 2.22713 -2.45169 -2.48168 1.1987 -1.85804 1.01804 -1.22942 0 0 0 0 0 0.254069 0.179395 0.0212322 0 0 0 0 0.0102342 0 -0.0284601 0 0 -0.00524581 -0.0898869 0.0556919 0 0.00314443 0.708924 -0.122618 0 0 -0.901126 -0.0041441 0 -0.147435 3.45568 0 0 -0.0809411 1.5606 0 -0.696384 0 -0.498287 0 0 -0.0450789 0 0 -1.7927 0.215861 -0.11612 0 0.444484 0.195983 0 0 -0.89934 0 0.0269997 0.43856 -0.0263697 0 0 0.00893733 -0.0430782 0 -0.0127293 0.0336571 -0.0713305 -8.21982 0.305745 -0.0580915 0 0.0569676 -0.217397 0.447028 -0.401605 -1.17398 0 0 0 12.7192 0.825248 1.16845 0.0545842 -0.131189 1.80431 0.00386217 -0.00943875 0.127939 0.158192 0 0 0 0 0 0 0.0792974 0 -0.0298635 0 0 0 0 0.0554304 0.737181 0 0 -0.419915 0 -0.05659 0 0.00762004 0 0 0.0111732 0 -0.0899871 0.0437063 -0.0755632 0.00328154 0 0 0.0391216 0 1.84581 0 -1.55033 0.163208 0 0.20174 -0.325145 -0.0116809 0 0.0085263 0 0 0.0996055 0 0.453644 -0.284251 0 0 -0.02721 0 0 0.0315271 0.548262 0.282858 0 0.627984 0 -0.650108 0.219835 -0.255142 0.455692 0.042941 -0.433924 0.553022 -0.132128 -1.12987 -4.48952 -0.116869 0 0 0 0.0841997 0.142832 0 0 0 0 -0.228902 10.8585 2.80919 -1.08895 0.809765 -0.655206 1.02034 0.263738 -0.253208 0.346646 -0.317343 0 0 0 0 0 0 +50 0 1.45105 0.439237 0.326244 0.288501 -0.133011 -0.122435 0.173007 0.971718 0.36857 -2.59652 -0.245174 0.387551 -0.515663 -0.208678 -0.0480204 1.68547 7.02247 -1.35499 0.226106 0.540805 -0.775662 -0.51185 0.604953 -1.31478 0.376618 0.55828 0.339844 0.056587 0.417731 0.0895559 0.532654 -0.164491 -1.28526 0.105631 0.125981 -0.0537335 0.70234 -5.32595 -0.605096 0.0329047 -0.625427 1.06726 -0.0594351 -0.260344 -0.227107 -0.0152614 0.159062 -0.0778375 0.534444 -0.12959 0.115034 -6.09278 -0.310802 0.360625 -0.163815 -1.34487 0.041543 0.107348 0.736715 0.0431376 0.56753 0.189447 1.70278 -1.96347 -0.149915 -0.346443 2.40491 0.212872 0.239576 1.01982 0.78118 -0.4454 -0.735229 -0.274494 0.014626 -1.71355 17.2157 7.47716 -2.40793 6.72851 -3.15338 4.04503 4.80517 -1.35556 1.67417 -1.42048 0.991826 1.0952 -0.784371 0.756333 -0.470098 0 0 0 0 0 0.326244 0.288501 0.00355687 0 0 0 0 -0.00254144 0 0.0343391 0 0 -0.00299187 0.00519342 0.119033 0 0.0223115 -0.123953 0.299257 0 0 0.084193 0.000431036 0 -0.296772 -0.384686 0 0 -0.0220692 -0.382273 0 -0.533083 0 0.266588 0 0 0.0135767 0 0 -1.6132 -0.0515984 -0.0618869 0 0.0707749 0.0480815 0 0 -0.543186 0 0.00581795 -0.273565 -0.0120013 0 0 0.00302892 -0.00956223 0 -0.00536835 -0.287945 0.0132637 0.850628 0.0666197 0.0444854 0 0.0886916 0.0576575 0.417604 -0.15623 -0.0615806 0 0 0 7.50731 0.494343 -0.757265 0.0291286 0.0248672 0.164528 0.00211695 -0.000295099 0.0252357 -0.175491 0 0 0 0 0 0 -0.133011 0 -0.122435 0 0 0 0 -0.053535 0.555182 0 0 -0.356319 0 -0.0401424 0 -0.00426789 0 0 -0.0201807 0 0.0375622 0.0171728 -0.00527476 -0.00537442 0 0 -0.0549343 0 -0.578282 0 -1.541 -0.316673 0 0.146773 -0.137587 -8.65485e-05 0 -0.00507896 0 0 0.0564238 0 -0.911111 -0.266249 0 0 -0.0313813 0 0 0.180921 0.250872 -0.00610559 0 0.875026 0 -0.0435322 0.172535 -0.123189 -0.18136 0.0707138 0.428827 0.0857088 -0.023293 0.0806175 3.74352 -0.0214563 0 0 0 0.0573314 0.0309027 0 0 0 0 -0.151976 16.7138 2.69617 -0.435853 1.04915 -0.519861 0.56473 0.234507 -0.195392 0.199935 -0.0655046 0 0 0 0 0 0 +51 0 -0.14529 -0.357642 0.016619 -0.0387256 0.136768 0.0438613 -0.297345 -1.55309 -0.146251 -0.354934 0.0488003 -0.145674 -0.11455 0.405844 -0.0366409 -1.85288 -6.81358 -0.0051271 -0.179544 -0.0919027 -0.144479 0.30535 0.129142 -0.538268 -0.463211 -0.51664 0.099821 -0.0020966 0.0147332 0.0492159 0.093639 -0.0618189 0.648409 0.180811 -0.0511017 0.0294272 0.0720014 1.47094 0.278578 -0.0192909 -0.302008 0.157866 0.221459 0.400378 -0.638233 -0.00334811 -0.0212426 -0.325722 -0.711016 -0.535203 -0.388687 2.15677 0.121602 -0.147238 0.0288107 -2.30348 0.200749 0.1282 1.23741 0.707908 -0.280856 -0.0326962 -1.34679 1.23006 1.10476 -0.583504 -0.586303 -0.346406 0.0690394 1.54911 -0.00487871 0.441815 -0.177005 -0.54295 0.0428038 1.90428 -2.73222 -1.16082 2.93872 -0.854551 1.30626 -3.62627 2.08427 -0.246212 -1.15126 2.52267 2.7873 -1.24367 0.326949 -0.142083 -0.0165802 0 0 0 0 0 0.016619 -0.0387256 -0.0241169 0 0 0 0 -0.0134244 0 -0.0687204 0 0 -0.0022336 -0.000882573 -0.215407 0 -0.0266376 0.26978 -0.50172 0 0 0.927009 -0.000792439 0 0.583832 -1.42298 0 0 0.0865371 -0.105291 0 1.08389 0 0.53272 0 0 0.0531625 0 0 2.04798 -0.262742 -0.0113186 0 -0.476036 -0.213203 0 0 0.696764 0 -0.00126125 1.44946 -0.00854 0 0 0.0085681 0.0742846 0 -0.0122929 -0.0112793 0.101064 3.58683 0.0238123 -0.201563 0 -0.101627 0.063411 0.181148 0.0579365 0.306331 0 0 0 -3.09824 0.217294 1.7484 0.00174758 0.132684 -1.42408 0.000565931 0.00671497 -0.0560685 0.153774 0 0 0 0 0 0 0.136768 0 0.0438613 0 0 0 0 -0.0541343 0.0415322 0 0 -0.00527611 0 -0.00933488 0 0.00344985 0 0 0.00167328 0 0.217483 -0.0207853 0.0150958 -0.00124255 0 0 0.0524398 0 -0.452361 0 0.802123 0.0774992 0 -0.174549 0.394253 0.00036997 0 -0.00514014 0 0 -0.00472504 0 0.193973 0.180455 0 0 0.015994 0 0 0.188748 -1.58478 -0.0960703 0 -0.0732507 0 0.659922 -0.104711 0.124996 -0.138604 -0.038403 0.143701 -0.726152 0.0601316 -0.0920034 -1.7356 0.00133888 0 0 0 -0.110539 -0.0241495 0 0 0 0 0.0194355 -2.34236 -0.804624 1.7705 -0.531678 0.705625 -0.92233 0.0173458 0.0573643 -0.1727 0.241746 0 0 0 0 0 0 +52 0 0.285161 0.371355 0.270295 0.204552 -0.00336214 -0.0719047 0.490567 1.11793 0.409516 -2.45911 -0.0416554 0.190127 -0.43833 -0.195317 0.214319 0.944586 2.36773 -0.916516 0.77592 0.146531 -0.505509 -0.522239 0.521897 -1.23183 0.341395 0.512342 0.718809 0.0187827 0.58706 0.0604018 0.504104 0.372846 -1.2318 1.03918 0.112852 0.0332082 2.00257 -3.10906 -0.536319 -0.0239697 -0.548067 3.77899 -0.0475057 -1.16742 -0.264512 -0.00888342 0.110182 1.11282 0.353911 0.27531 -0.229228 -1.62939 -0.402079 0.943479 -0.363295 -0.938064 -0.835513 -0.255259 0.734033 0.142055 0.372258 0.297769 1.60791 -0.750713 -0.370358 -0.584875 1.58049 2.02461 0.0649054 0.914955 0.759453 -0.301944 -0.547291 0.0341247 0.139303 -1.22989 6.70262 5.96747 -4.09317 5.82886 -2.1858 1.8533 4.36815 -1.0467 1.32868 -1.64768 1.15518 0.907784 -1.13307 0.886204 -0.660655 0 0 0 0 0 0.270295 0.204552 0.00468702 0 0 0 0 -0.00107555 0 -0.0199619 0 0 0.000171554 0.0287365 -0.0639946 0 0.0039855 0.522784 -0.203285 0 0 -0.36903 0.00161097 0 0.101409 2.43212 0 0 0.00141534 1.12861 0 0.401604 0 0.0709269 0 0 0.0325937 0 0 0.461081 -0.0238418 0.000444464 0 0.0904144 0.209762 0 0 -0.179645 0 0.00861757 0.506763 0.00546781 0 0 0.00500952 -0.00389948 0 -0.0140875 0.294733 -0.037216 -3.17472 0.06304 -0.0508287 0 -0.0715157 -0.0577974 -0.353021 0.0164286 -0.159543 0 0 0 3.09033 0.326197 1.1376 0.0213116 0.0031087 0.0811372 0.00120268 -0.000317853 0.0118638 0.0632013 0 0 0 0 0 0 -0.00336214 0 -0.0719047 0 0 0 0 0.0517495 0.624797 0 0 -0.404321 0 -0.0384972 0 0.0102363 0 0 0.00534916 0 0.0139552 0.0913482 -0.0212227 0.00369252 0 0 0.0529898 0 3.39142 0 0.790481 0.149643 0 0.555106 0.188316 -0.00171023 0 0.0108165 0 0 0.0914161 0 0.711671 -0.0609845 0 0 0.00643378 0 0 -0.316824 2.86753 0.152767 0 0.628298 0 -0.160208 0.162184 -0.113037 0.055034 0.0658995 0.367809 0.703789 -0.0141577 -0.452267 1.03129 -0.0337551 0 0 0 0.344206 0.0629751 0 0 0 0 -0.296023 2.946 2.72364 -2.98106 0.578264 -0.630564 0.419854 0.286393 -0.252572 0.266869 -0.309584 0 0 0 0 0 0 +53 0 0.627836 0.131904 0.0398322 0.117364 -0.180096 0.00421504 -0.188413 0.264855 0.165783 -0.407004 0.0632934 0.84639 -0.0389314 1.21901 0.0764618 1.38283 3.58023 -0.0402929 0.532824 0.123276 0.0202771 0.0810752 0.0743037 -0.0651056 0.140667 0.540303 0.420917 -0.0201611 -0.276656 0.269179 0.0688951 0.123256 -0.0393149 0.647989 0.0262415 0.0366956 0.563174 -1.77562 0.078028 0.0100463 -0.0169535 0.530494 0.0546332 3.76386 0.114151 -0.00577153 -0.0675606 0.883398 0.142129 0.558772 0.537108 -0.17878 0.130245 0.564436 -0.3152 -0.634961 -0.325272 -0.580209 -0.1781 -0.0445555 0.842297 0.51965 0.821994 -0.636443 -0.755474 -0.232613 1.28483 1.16492 -0.284874 -0.397476 0.843615 -0.140856 -0.676373 -0.946189 0.0575068 -0.355263 7.9368 1.58794 0.0699354 1.51752 -1.2305 1.57583 0.543874 -0.570819 0.940713 -1.5653 -0.347561 -0.0012355 0.319032 -0.354719 0.495103 0 0 0 0 0 0.0398322 0.117364 -0.00501976 0 0 0 0 -0.00292607 0 0.00478226 0 0 -0.00417126 -0.0410108 0.103644 0 -0.00351046 -0.336926 0.31355 0 0 0.378854 -0.00210244 0 -0.160695 -1.4561 0 0 0.0313934 -0.878559 0 -0.488876 0 0.139122 0 0 0.0087169 0 0 -1.33755 -0.0534199 -0.0832784 0 -0.0893089 -0.126906 0 0 -0.116846 0 0.000732418 0.26845 -0.033116 0 0 -0.00474867 0.0185532 0 0.0206478 -0.476652 0.0419044 3.24451 0.0463322 0.0230714 0 0.109622 0.100182 0.276689 0.116695 -0.0313154 0 0 0 1.53164 0.151359 -1.50473 0.00438059 0.0535977 -0.422619 0.000389745 0.00132966 0.0127477 -0.217666 0 0 0 0 0 0 -0.180096 0 0.00421504 0 0 0 0 -0.0107494 -0.358652 0 0 -0.134169 0 -0.0211366 0 -0.0156238 0 0 0.0864251 0 0.0456869 -0.0333979 -0.0441038 0.010776 0 0 -0.105784 0 -3.44488 0 -1.35795 -0.187009 0 -0.149198 -0.181355 -0.00692494 0 -0.0047647 0 0 -0.0532644 0 -0.942333 0.169119 0 0 0.0273991 0 0 0.252886 0.178531 -0.192089 0 0.0176665 0 -0.100175 -0.01472 0.0783595 -0.304262 0.0487109 0.244113 0.139132 -0.000936692 0.49171 4.64298 0.0126385 0 0 0 -0.18655 -0.045263 0 0 0 0 0.126491 18.6539 2.58031 0.223969 0.88302 -0.476638 0.762878 0.138441 -0.0968436 0.0966078 0.0550349 0 0 0 0 0 0 +54 0 0.189541 0.0493996 0.192928 0.0638854 0.140093 -0.0092573 -0.197867 -0.853797 -1.3807 -0.869055 0.0431119 -0.00601442 -0.549767 -0.110715 0.168508 -0.539366 -2.39002 -0.578192 0.84201 -0.20952 -0.437469 -0.202854 0.462772 -0.694164 -0.193442 -0.0493239 0.772629 0.0234458 0.621622 0.0282907 0.0189118 0.304415 -0.393961 0.921672 -0.012971 0.0766792 1.9543 -1.22358 0.132516 -0.0635219 -0.888225 2.71753 0.322002 -0.704091 -1.26118 -0.0168665 0.116095 1.36746 -0.876697 -0.839503 -0.0600357 -3.382 -1.28117 0.32761 0.001668 -1.44119 -0.289951 -0.0380533 0.744002 1.01426 -0.12063 0.277664 0.450133 0.361817 0.781723 -0.704674 0.894061 1.08754 1.74513 1.60481 0.431887 0.672638 -1.93611 0.355957 -0.113638 -0.76802 4.75205 0.828361 0.481935 2.54945 -0.784702 -1.23008 3.26691 -0.492761 -1.55355 2.53116 3.83998 -1.5005 0.182164 0.52157 -1.11245 0 0 0 0 0 0.192928 0.0638854 -0.0305561 0 0 0 0 -0.0172207 0 -0.0618582 0 0 -0.00205074 0.0056483 -0.158759 0 -0.0254843 0.421774 -0.396326 0 0 1.03732 -5.61422e-06 0 0.294324 -0.502665 0 0 0.079437 0.310672 0 0.573943 0 0.776866 0 0 0.0667475 0 0 0.966407 -0.345949 -0.0193612 0 -0.618485 -0.0725266 0 0 0.556376 0 0.00156381 1.15975 0.00300775 0 0 0.00452333 0.091857 0 -0.0118654 0.207934 0.060018 2.82782 0.00603712 -0.128853 0 -0.144247 0.0761064 0.718994 -0.16085 0.495632 0 0 0 2.34512 0.404494 1.58846 0.0238086 0.105968 -0.913444 0.000771823 0.00712706 -0.0562289 0.088372 0 0 0 0 0 0 0.140093 0 -0.0092573 0 0 0 0 -0.0378174 -0.150656 0 0 -0.124929 0 -0.0133892 0 -0.00983583 0 0 0.0519793 0 0.136394 -0.00603374 0.0297121 0.00383124 0 0 -0.0715217 0 -0.510718 0 0.92174 -0.0705216 0 0.0809071 0.408272 0.0032258 0 -0.00588488 0 0 -0.0273259 0 -0.10055 0.263695 0 0 0.0230689 0 0 0.360585 -0.311191 -0.175382 0 0.650048 0 0.519988 -0.130976 0.171397 -0.374984 -0.105819 0.513453 -0.440822 0.148448 0.558008 4.54507 0.0883159 0 0 0 -0.0937556 -0.0905295 0 0 0 0 0.167362 0.402162 0.392892 0.188196 -0.0522356 0.350845 -0.721562 0.0926361 0.012995 -0.146497 0.223761 0 0 0 0 0 0 +55 0 -0.266048 -0.494283 -0.330323 -0.203293 0.263161 0.17926 -0.291098 -1.69897 -3.36917 2.04217 0.370867 -0.0610474 0.361871 1.39733 0.115835 -2.97503 -11.1181 1.14193 0.308523 -0.788517 0.66341 0.677539 -0.795244 1.04662 -0.571065 -0.9422 -0.34364 -0.0943288 -1.30281 0.100623 -1.54388 0.244723 1.31308 -0.520314 -0.119863 0.113839 -0.509595 3.02998 1.56053 -0.0730259 0.128812 -2.08482 0.542793 2.84811 -0.81224 0.00652172 -0.361395 0.998302 -1.18415 -0.0227834 -0.150754 4.83026 -1.18167 0.100115 -0.0860377 -0.487622 -0.724068 -0.0103997 -0.548022 0.171583 0.908799 0.0470032 -3.0139 1.67749 0.237731 -0.307027 -2.42972 -0.150336 3.77692 -1.09037 -0.0920214 1.04515 0.165726 -1.06265 0.255396 0.369173 -11.2014 -6.04771 4.97882 -4.83539 2.08184 -1.57506 -2.37162 0.45994 -0.81294 1.40574 2.47307 -3.21215 2.71016 -2.73799 2.33151 0 0 0 0 0 -0.330323 -0.203293 -0.0323939 0 0 0 0 -0.0159471 0 -0.0682711 0 0 -0.00026129 -0.00561982 -0.196057 0 -0.0282503 -0.0317962 -0.449117 0 0 1.1417 -0.000977121 0 0.557248 -1.65474 0 0 0.0974688 -0.379548 0 1.01727 0 0.411541 0 0 0.0337769 0 0 1.9433 -0.32004 0.0139668 0 -0.650836 -0.223372 0 0 0.759803 0 -0.00747891 0.00391156 0.0221557 0 0 0.000375206 0.0916617 0 0.00438238 0.147646 0.0478583 1.81879 -0.0794576 -0.13125 0 -0.139903 -0.0532594 0.142738 -0.0418616 0.236999 0 0 0 -8.33436 -0.344346 1.06117 -0.0313016 0.0396332 -0.785061 -0.00122672 0.00215694 -0.0324855 0.218473 0 0 0 0 0 0 0.263161 0 0.17926 0 0 0 0 -0.0185691 -0.315838 0 0 0.151333 0 0.0387428 0 0.0255115 0 0 -0.0676711 0 0.0806394 -0.0258848 -0.0208226 -0.00264655 0 0 0.178704 0 0.560156 0 0.023774 0.235219 0 -0.388678 -0.000719972 0.00682783 0 -0.000749449 0 0 -0.00941204 0 0.791129 0.399501 0 0 0.0672108 0 0 -0.161676 1.20897 -0.332819 0 0.127744 0 0.337252 -0.193087 0.294854 -0.221428 0.0620658 0.160626 0.098313 -0.0223689 -0.423191 0.456871 -0.0277303 0 0 0 0.0914024 -0.0132629 0 0 0 0 -0.0136923 2.97153 -0.516043 2.207 -0.135128 -0.257427 0.663798 -0.166853 0.128075 -0.0962832 0.274262 0 0 0 0 0 0 +56 0 -0.0404916 -0.233571 -0.343126 0.00095837 -0.315225 0.0979722 -0.690927 -1.42935 0.392377 2.83807 0.0970542 -0.503429 0.606576 0.82062 -0.0283656 -0.509139 0.953511 1.46614 -0.234111 0.857441 0.849833 0.611464 -0.667519 1.44158 -0.676973 -0.415711 -0.563233 -0.0692642 -0.349724 -0.047472 -0.34672 -0.0353392 0.718362 -0.54606 -0.274376 0.0220357 -1.28057 0.0887757 0.082403 0.216573 0.744832 -2.41761 0.0494525 1.22643 0.651218 0.0574626 -0.160967 -0.462478 -0.261692 -0.179704 1.29749 5.94749 -0.263461 -0.382708 -0.017018 -5.01233 -0.538964 0.612489 -1.52265 -0.18045 1.27747 -0.144318 -0.207023 2.66841 1.18242 -0.288094 -2.80317 -0.986705 -0.370555 -2.10529 0.491416 0.0766118 1.39355 -0.60848 0.00970543 5.81212 12.107 -2.8443 2.67789 -2.24037 0.338972 -0.707403 -4.76584 1.74606 -2.15641 0.723265 -2.00456 -0.0140469 0.268868 -0.0946527 0.289338 0 0 0 0 0 -0.343126 0.00095837 -0.00308022 0 0 0 0 0.00536703 0 -0.0333616 0 0 0.00177804 0.01204 -0.123814 0 -0.0163785 0.0515492 -0.0801113 0 0 0.463585 0.000533022 0 0.335291 1.702 0 0 0.0836648 0.331416 0 0.682497 0 0.0749347 0 0 0.0202088 0 0 0.828586 0.107245 0.0313249 0 -0.0489018 -0.067964 0 0 0.39239 0 -0.0096209 0.158116 -0.000708922 0 0 -0.00606734 0.00550451 0 0.0372108 0.10502 0.020565 -0.504676 -0.0908201 -0.0610984 0 -0.018817 0.0554574 0.106192 0.0151424 0.248486 0 0 0 -7.24919 -0.412459 -0.280383 -0.00202113 -0.00143696 -0.654819 -0.00291273 0.00375188 -0.0241212 -0.00355426 0 0 0 0 0 0 -0.315225 0 0.0979722 0 0 0 0 0.0676525 -1.20393 0 0 -0.0154725 0 -0.0146499 0 -0.0204281 0 0 0.0893982 0 -0.153227 -0.00673019 -0.0854605 0.0102206 0 0 -0.142237 0 -1.92106 0 -1.06931 -0.100879 0 0.0576028 -0.530692 -0.012937 0 0.00129196 0 0 -0.139779 0 -0.26108 0.527522 0 0 0.0665149 0 0 -0.166915 1.83341 0.000140655 0 -1.17424 0 -0.111361 -0.00872107 0.00934997 -0.410743 -0.0593211 0.554125 0.403331 0.165556 1.57814 1.81314 0.167826 0 0 0 -0.124926 -0.141398 0 0 0 0 0.2916 18.5935 3.10726 -2.19762 1.24926 -0.488443 0.0947018 0.127951 -0.0633131 -0.00623437 -0.0184301 0 0 0 0 0 0 +57 0 0.00412685 -0.0401682 0.0381537 0.0273122 0.174181 0.110082 -0.393449 -1.97904 0.126 0.623194 0.246485 0.276919 -0.0441887 0.888919 0.319279 -0.831954 -1.87342 0.425011 1.44645 0.0842351 0.142086 0.0544304 0.0578757 0.145067 -0.554304 -0.362597 0.26924 -0.0413338 0.128608 0.103406 0.0983293 0.472145 -0.0554955 0.985835 -0.104101 0.164264 1.13422 -0.904196 0.83797 0.0511318 -0.015101 3.27268 0.553357 2.51956 0.0442765 0.0199638 -0.0508072 2.13242 -0.920407 -1.23077 -0.131649 3.00292 -1.62453 0.932023 0.159771 -2.67725 -0.471475 1.24452 0.125224 -0.129142 -0.79405 0.112195 -1.19123 1.45976 1.01897 -0.471281 -0.793766 -0.694393 -0.338103 0.689262 0.355688 0.212024 -2.44676 0.406326 0.103923 -0.615743 7.4199 -2.76676 6.68889 -1.73737 0.5979 0.302028 -0.887853 0.242412 -1.41291 3.86501 -0.13629 -1.28204 -0.216254 -0.324368 -0.106401 0 0 0 0 0 0.0381537 0.0273122 0.00180091 0 0 0 0 0.000771596 0 -0.0915273 0 0 -0.00468794 -0.0215402 -0.237314 0 -0.0346999 1.16179 -0.631879 0 0 1.36467 -0.00191696 0 0.5012 5.09643 0 0 0.170103 2.49042 0 0.765576 0 0.672955 0 0 0.0855888 0 0 1.07028 0.00743368 -0.053353 0 0.0216685 -0.246357 0 0 0.747689 0 0.00267746 0.320004 0.0467852 0 0 0.0111628 -0.00504205 0 -0.0153248 0.567203 0.100315 0.588903 0.02253 -0.209801 0 -0.087098 -0.204207 1.14685 -0.419576 0.639685 0 0 0 3.45174 0.528324 2.56086 0.0289102 0.0850086 -0.664265 0.00238997 0.0061876 -0.0514132 0.33183 0 0 0 0 0 0 0.174181 0 0.110082 0 0 0 0 0.000454742 0.514101 0 0 -0.298843 0 -0.0430865 0 0.0147152 0 0 0.0257227 0 -0.0548738 -0.008892 -0.0807016 0.000780323 0 0 0.13781 0 0.316401 0 -0.614298 -0.0182133 0 -0.151829 -0.189616 -0.0108058 0 -0.000820876 0 0 0.0609264 0 0.182921 0.304877 0 0 0.0245816 0 0 0.088532 -1.30205 -0.0678495 0 0.221637 0 0.489747 0.122972 -0.0185231 -0.121603 -0.07416 0.212338 -0.428509 0.0462361 0.169299 0.576811 0.00255204 0 0 0 0.0590192 -0.00995763 0 0 0 0 -0.0846265 8.1945 1.57871 1.38614 0.202474 0.301535 -0.370431 0.231676 -0.0876092 -0.0236288 0.231769 0 0 0 0 0 0 +58 0 0.342194 0.250964 0.211896 0.187931 0.0696207 -0.0205905 0.350872 0.612722 1.15001 -1.19821 -0.0608678 0.219481 -0.296689 0.434934 -0.0186446 0.45766 2.57008 -0.564929 -0.1286 0.54134 -0.325472 -0.374637 0.386471 -0.396351 0.23115 0.0455316 0.491833 0.0240254 0.421606 0.0625004 0.533221 -0.109502 -0.695553 0.92365 0.0916367 0.0170715 2.01532 -2.63062 -0.420617 0.0647556 -0.13179 4.32187 -0.097328 0.55483 0.607176 -0.002457 0.095485 -0.637776 -0.0783077 0.146624 -0.389476 5.46639 -0.860032 -0.241458 0.258307 1.01877 -0.681342 0.700416 0.323061 0.00294156 -0.181256 -0.119933 1.68251 -0.848379 -0.784798 -0.30752 1.98313 2.25652 0.524724 0.472962 0.062463 0.0933575 -0.667927 0.572105 -0.143807 -0.767529 8.77535 4.42921 -2.61879 2.85264 -2.21933 3.04063 1.32878 -1.30146 1.64709 -1.62428 -1.86899 0.752514 -0.900054 0.247009 -0.348808 0 0 0 0 0 0.211896 0.187931 0.00272467 0 0 0 0 -0.0020248 0 -0.0460971 0 0 -0.00386745 -0.0407944 0.00633383 0 -0.0165425 0.445247 -0.116288 0 0 0.031934 -0.00211804 0 -0.0477011 2.02992 0 0 0.0480628 0.947958 0 -0.255061 0 0.0791538 0 0 0.0340325 0 0 -0.855062 -0.0411707 -0.0759086 0 0.0522796 -0.0112795 0 0 -0.0508481 0 0.00912209 0.440103 0.00436926 0 0 -0.000992076 0.00432055 0 0.00183961 0.107612 0.00404185 -0.93102 0.0955659 -0.0453208 0 -0.00386084 -0.0853433 -0.00670539 0.0587013 -0.0586805 0 0 0 5.55999 0.422542 0.479816 0.0230712 0.0200861 0.105329 0.0010797 0.000842412 0.0168558 0.043629 0 0 0 0 0 0 0.0696207 0 -0.0205905 0 0 0 0 0.071936 0.193068 0 0 -0.572433 0 -0.0618098 0 0.00230457 0 0 0.0288458 0 0.0610231 0.0396997 -0.11806 0.00213088 0 0 -0.0222857 0 1.16886 0 -0.656267 0.205759 0 0.263094 -8.96201e-06 -0.0130976 0 0.00916474 0 0 0.0454047 0 0.568381 -0.0686588 0 0 -0.0118966 0 0 -0.146987 2.5904 -0.0151944 0 0.238985 0 -0.524822 0.205956 -0.0526446 -0.260589 -0.0115676 0.198129 1.09504 -0.05893 0.0177639 2.37231 -0.000796867 0 0 0 0.205308 0.0208522 0 0 0 0 -0.144052 13.4876 4.72348 -2.24059 0.973074 -0.864139 1.0495 0.43775 -0.311586 0.335443 -0.190393 0 0 0 0 0 0 +59 0 0 0 0 0 -0.493445 0.20096 0.489476 2.93738 0 0 0.320916 0.88833 0 1.70876 -0.0104092 0 0 0 -0.192209 4.00301 0 0 0 0 0.321035 0 0 -0.943977 -5.95709 0.722022 0 -0.0299352 0 0 -0.093143 0.0338779 0 0 1.2062 1.27929 0 0 0.232788 2.50926 0 0.945546 -2.04213 -0.66241 -0.32365 2.29532 -0.410426 0 0.0180782 0.0615 -0.392286 2.64146 1.24182 0.839698 0 0 -0.590434 -3.07311 0 -0.42178 -0.245914 1.11596 0 0 0 0 -0.198236 0.793973 0 -2.84592 2.30134 0 0 0 -5.63428 0 -1.01663 5.02328 0 -0.447476 2.22598 -5.51589 0 -0.0236781 2.67816 -6.87043 20.8341 0 0 0 -0.173426 -0.0466124 0 0 0 0.117567 -0.176603 0 0.0157768 0 -0.0200175 0.0393666 0 0 0 0 0.105312 0 0.0179854 0 0.257972 0 0.847181 -0.0593338 0 0.00785893 0 0 0.278795 -0.00707849 -0.0061316 0 -0.0263626 0 -0.0125557 -0.0228887 0.0525001 -0.0996203 -0.00387135 0 -0.00141625 0 0 0 -0.00186777 0 0 0.018665 -0.0196428 -0.0218073 -0.0537302 0 0 0.00934618 0 0.0218319 0 0 -0.0879649 0.0457722 -0.0974748 -0.0136815 0 0 0.000630081 0.0451758 0.00913563 -0.0401464 0.0204589 0 -0.0622508 -0.00564341 0.346096 0 0 0 -0.329655 0 0.123612 -0.37506 0 -0.0123678 0.0362312 -0.134621 0 0.00907502 -0.0255501 0.0601021 -0.134887 0 -0.493445 -0.173426 0.20096 -0.0466124 0.67151 0.175065 -0.876306 0.486149 -0.918396 0.00346453 0.0767434 -0.398411 0.00358612 -0.050216 -0.137592 0.0135853 0.0730679 -0.0755439 -0.419266 -0.309451 0.192436 0.296223 -0.0751598 -0.103074 0.403697 -0.287741 0.174795 -0.00472383 3.00166 0.65503 -0.0840313 1.68875 -0.0208768 1.55348 0.206478 -0.0163724 0.0129972 0.0674359 0.123922 -1.94793 -0.156736 -0.0420839 2.74394 -0.380223 0.0132152 0.0585034 -0.0799499 -0.0625837 0.082632 -0.0157978 1.40713 -0.353438 -0.203676 0.50834 0.474953 0.0214481 -0.238022 0.321467 0.187538 -0.0660161 0.44524 -0.222297 -0.0292457 0.075387 -4.46363 0.225732 -0.0411984 0.103458 -0.0845482 0.130849 -0.0422631 -0.110887 -0.0224624 0.205074 0.0157623 0.235612 0.236648 0.562012 -3.52201 0.120941 -1.28987 4.37817 0.0699767 -0.502073 1.19133 -1.74583 0.0261923 -0.297927 0.76725 -1.24584 2.66802 0 +60 0 0 0 0 0 0.130973 0.179034 -0.329444 0.372428 0 0 -0.250571 0.748422 0 0.563761 -0.122145 0 0 0 -0.0788784 -3.0712 0 0 0 0 -0.0340874 0 0 -0.374401 2.25899 0.277103 0 -0.182502 0 0 -0.155041 -0.0853201 0 0 -0.662489 -0.597554 0 0 -0.253726 2.10464 0 0.150101 0.0180023 0.569745 0.571009 -0.46826 0.787682 0 -0.345994 -0.327275 0.0522337 2.16818 0.37595 1.58083 0 0 0.326317 2.45234 0 0.569349 0.500544 -0.265899 0 0 0 0 0.124433 -1.10051 0 2.91241 0.61784 0 0 0 -1.72312 0 1.42898 -6.3149 0 0.76714 -1.51617 -3.80842 0 0.934466 -1.83504 2.10944 -10.1945 0 0 0 0.0367024 0.0448656 0 0 0 0.10764 -0.0676304 0 0.0211118 0 0.0069979 0.0158298 0 0 0 0 0.0467584 0 -0.00133015 0 0.149749 0 0.571387 -0.231552 0 0.00467032 0 0 0.225919 -0.00228345 -0.0562039 0 -0.00893555 0 -0.00489502 -0.152445 0.022562 -0.0300207 -0.0322746 0 0.000457649 0 0 0 -0.000658554 0 0 0.00626417 -0.0105576 0.0283959 -0.0340914 0 0 0.0255012 0 0.00630143 0 0 0.0220956 0.0251299 -0.149457 -0.0132883 0 0 -0.119019 -0.0351999 0.0144211 -0.122884 0.0168487 0 -0.115573 0.025263 -0.110355 0 0 0 -0.31093 0 0.126691 -0.653845 0 -0.00886134 0.0495639 -0.204561 0 0.00330664 -0.0230155 0.0799665 -0.261242 0 0.130973 0.0367024 0.179034 0.0448656 -0.230739 -0.0940335 0.163334 0.198931 0.243376 -0.0835266 0.0610125 -0.244341 -0.0196057 -0.0558521 0.0827681 0.0357558 0.0130126 -0.335111 -0.158004 -1.16949 0.275995 0.131574 -0.0700062 0.0157356 0.466896 0.0329941 0.113309 -0.028743 4.65764 0.410914 1.80939 1.11989 0.0201258 0.90018 0.897112 -0.0104942 0.0133105 0.0308238 0.0627182 0.482482 0.133922 0.00323069 2.66767 -0.491538 0.00167109 0.100826 -0.0246089 -0.182392 0.13976 0.897902 -0.4564 1.16876 -0.0812905 0.153442 -0.087418 -0.631587 0.386492 -0.607302 0.376053 -0.014665 -1.33724 -0.0145359 -0.108478 0.702207 3.29149 -0.227536 0.130189 -0.0732662 0.261631 -0.0110822 0.114178 -0.266235 0.169519 0.191778 0.0119465 -0.129795 -5.0956 0.32229 -3.81382 0.158194 -0.496295 -2.58817 0.0463897 -0.271426 0.144005 -1.50037 0.116189 -0.186421 0.157335 -0.227997 -0.918376 0 +61 0 0 0 0 0 -0.368169 -0.248729 0.833881 2.53229 0 0 0.163747 -1.18257 0 -1.36077 -0.040789 0 0 0 0.0730903 -1.96876 0 0 0 0 0.318401 0 0 0.264742 4.03966 -0.408931 0 -0.116005 0 0 0.140695 0.013271 0 0 -0.238382 -0.0731341 0 0 -0.0521012 -4.82253 0 -0.094414 0.60412 0.162467 -0.103325 0.749792 -0.0142953 0 -0.271806 -0.10531 0.465994 -3.40369 -1.19137 0.239984 0 0 -1.26773 -2.22962 0 -0.147247 0.0250622 -0.405847 0 0 0 0 0.11371 0.81934 0 1.23295 -1.06373 0 0 0 -5.51489 0 -0.999497 -4.8181 0 -0.838583 -0.37177 -6.14333 0 -0.107137 -1.35793 1.86872 -13.701 0 0 0 0.0553165 0.0168712 0 0 0 -0.0236588 0.0810885 0 -0.00099506 0 0.00828783 0.0230527 0 0 0 0 0.0489507 0 0.00277123 0 0.216843 0 -0.245137 -0.137896 0 -0.000711555 0 0 -0.0645016 0.00291151 -0.0170596 0 0.0124216 0 0.00573473 0.0591158 -0.00935832 0.0412162 0.00524675 0 0.00058398 0 0 0 0.000876191 0 0 -0.00768881 0.00913161 -0.127888 0.0241116 0 0 0.0137364 0 -0.00983731 0 0 0.0048512 0.036548 -0.020345 0.0348885 0 0 -0.115455 -0.0140221 0.0114203 -0.037223 0.0292473 0 -0.000755569 -0.00666463 0.386045 0 0 0 -0.308908 0 -0.0432239 0.0640609 0 0.00467723 -0.00715345 -0.0436876 0 -0.00371334 0.00581314 -0.0146837 0.0211629 0 -0.368169 0.0553165 -0.248729 0.0168712 -0.585154 -0.0971778 0.283872 0.467022 0.428582 -0.00431097 0.0286517 -0.390063 -0.00194625 -0.0749919 0.04745 -0.0104082 0.00823189 0.0122425 -0.235398 -0.434298 -0.416844 0.342509 -0.238077 -0.0660691 -0.000723893 0.17553 0.170491 -0.000438885 -0.767366 -0.34745 -2.29224 -0.705708 0.00755911 1.60184 -1.0403 -0.0464447 -0.00111214 0.0819033 -0.023407 1.80032 0.0253443 0.0118336 -0.824992 -0.580742 0.00544592 -0.0335144 -0.102223 -0.0597318 0.0830842 -0.3015 -0.565275 0.346942 0.00690171 0.907178 -0.154156 0.0901703 -0.100018 0.187483 -0.135036 -0.183413 -0.173513 0.254994 -0.0997799 0.351123 0.87712 -0.0558335 -0.534535 0.0195396 0.1392 0.0747563 0.0911042 0.0114305 0.0133891 0.0783658 -0.0444572 -0.0974198 6.45539 0.57682 -3.1381 0.380141 -0.233686 -1.81824 0.0674735 -0.0884612 0.0590126 -1.98641 -0.00424468 0.0973559 -0.530156 0.859397 -2.91793 0 +62 0 -1.04959 -0.239685 -0.0811961 -0.254899 0.203111 -0.0748439 -0.28562 -1.65026 -0.609443 1.36543 -0.448672 -0.476161 0.0247249 -0.915226 0.0112766 -1.20342 -4.54419 0.233264 0.0278653 -0.152686 0.0333861 0.099361 -0.0335228 0.308169 -0.267143 -0.317264 -0.0300722 0.581005 1.76099 -0.332136 -0.147668 -0.167851 0.864645 -0.457219 0.019489 -0.100952 -0.467525 5.68141 -0.811539 -0.293656 0.0926986 -2.60167 -0.210571 -0.867599 0.267531 -0.366222 0.983704 -0.254728 0.503241 -1.84918 0.88768 -0.723017 0.0505514 0.078363 0.213024 -3.09953 -0.869511 -0.093296 -0.360472 -0.153895 1.29493 0.275683 0.0697533 1.19778 0.898796 -0.547703 -0.130796 -0.0845462 0.263212 -0.68203 0.695338 -0.986998 1.01504 0.639951 -0.898773 1.62769 -16.7222 -4.3124 1.85158 -2.98313 3.6171 -9.05009 -0.362838 1.16082 -2.81043 2.69513 -0.252915 0.553934 -1.28007 2.47922 -5.89364 0 0 0 0 0 -0.0811961 -0.254899 -0.00967129 0 0 0 0 -0.00112731 0 0.0176742 0 0 -0.00764652 -0.0257764 0.0340309 0 0.00204484 0.0328776 0.151886 0 0 0.140488 -0.00181147 0 0.0374474 0.0769947 0 0 0.0158184 0.0302108 0 0.0922023 0 -0.0182246 0 0 -0.00474185 0 0 0.280639 -0.0160192 -0.108011 0 -0.136599 -0.0362369 0 0 0.190049 0 -0.0169306 -0.0105538 0.0261195 0 0 0.0156745 0.0183751 0 -0.0334706 0.0204987 -0.0255855 -0.0324418 0.0173132 0.0391547 0 -0.035877 -0.0399921 0.00029687 0.0156298 -0.0362879 0 0 0 -0.633484 0.145616 -0.237855 -0.0256629 0.0347307 -0.0540832 0.0097135 -0.0126759 0.0188613 -0.0302018 0 0 0 0 0 0 0.203111 0 -0.0748439 0 0 0 0 -0.622048 -1.5913 0 0 0.944722 0 0.137864 0 -0.0923249 0 0 0.341052 0 -0.0250824 -0.173213 0.378568 0.0620661 0 0 -0.727216 0 -7.49393 0 1.3223 -1.29189 0 -1.49489 0.135479 0.0628455 0 -0.0714856 0 0 -0.204805 0 -2.94452 0.558994 0 0 0.0953283 0 0 0.181249 -1.03918 0.0727495 0 -1.59732 0 0.383877 0.0695365 -0.00683361 -0.495749 -0.257466 -0.216725 0.0184936 0.264616 1.68992 3.77845 0.174783 0 0 0 -0.444619 -0.179318 0 0 0 0 0.615594 -8.82113 -3.52972 3.85652 -0.995515 0.710639 -1.16084 -0.329731 0.386983 -0.671271 1.0419 0 0 0 0 0 0 +63 0 0.246256 -0.10212 0.0844349 0.160658 -0.241052 -0.320018 1.18152 2.68213 0.603069 -1.7125 0.391592 -0.990108 -0.0307107 -1.12682 0.0105696 -0.304511 0.436641 -0.235633 -0.0324459 -1.27371 -0.0874011 0.138137 0.038262 -0.581591 0.596991 -0.330524 -0.015453 0.338792 -0.490819 -0.329334 0.163543 0.193268 0.10743 0.413693 0.365152 0.0623105 0.039774 -0.0654541 0.897268 -0.901326 -0.143837 1.88013 0.18373 -3.88135 -0.631524 -0.705221 0.100952 0.206612 -0.483055 0.667492 -1.14896 2.29143 0.0188246 -0.145562 -0.195857 3.37826 0.435928 -0.0474241 1.09245 0.318766 -1.46439 0.350795 1.47269 -1.65089 -0.585159 0.297252 0.799447 -0.012371 -0.277785 2.07587 -1.03662 0.589933 -0.346697 0.898738 0.181931 -0.489809 1.7007 4.23584 -5.40055 1.55299 -0.995555 -1.51939 2.3037 -1.66702 2.30437 -4.36068 0.597021 -0.826207 1.28879 -1.81398 1.64266 0 0 0 0 0 0.0844349 0.160658 -0.0046367 0 0 0 0 -0.00137554 0 0.0273503 0 0 -0.00303831 0.00861642 -0.0112759 0 0.00395355 -0.100093 0.0924241 0 0 0.395627 0.000600622 0 -0.024284 0.134908 0 0 0.0702492 -0.206422 0 0.0494558 0 0.115198 0 0 0.0193934 0 0 0.424021 -0.0195638 -0.0428281 0 -0.0661174 -0.0171909 0 0 0.0198317 0 -0.0209961 -0.169867 0.0335854 0 0 0.0070111 0.0010297 0 -0.0217571 0.014776 -0.0145409 -0.322735 0.0490832 0.0396259 0 -0.00595191 -0.0612578 -0.136227 -0.0249039 -0.0666848 0 0 0 -0.991548 0.146721 -0.310958 -0.0383617 0.053339 -0.0863748 0.00440768 -0.00850566 0.0182762 -0.0410722 0 0 0 0 0 0 -0.241052 0 -0.320018 0 0 0 0 0.308534 1.78414 0 0 -0.414875 0 -0.0587426 0 0.0958266 0 0 -0.611435 0 0.311042 0.109246 -0.173476 -0.0940895 0 0 0.742524 0 1.73267 0 -0.0850505 -0.0612787 0 0.985241 -0.077371 -0.023401 0 0.0386013 0 0 0.220498 0 0.333873 -1.56055 0 0 -0.217302 0 0 -0.0741716 -0.118381 0.134687 0 1.91707 0 0.467925 0.0318256 -0.00578491 -0.0179393 0.147865 0.267862 -0.0190623 -0.128168 -1.63642 -0.380849 -0.0457459 0 0 0 0.311893 0.0710929 0 0 0 0 -0.519122 -6.3005 0.216785 -2.99664 0.325132 -0.360117 -0.271417 0.170115 -0.175017 0.253993 -0.704563 0 0 0 0 0 0 +64 0 -0.81905 -0.32515 0.00487453 -0.00286122 -0.219042 -0.157116 0.631592 1.95493 0.0170374 -0.221558 -0.0605941 0.524195 -0.00175382 0.719122 0.0100138 -1.10964 -3.29002 -0.102291 0.0252685 -0.882389 -0.0140062 0.239224 0.00225062 -0.00591127 0.572969 -0.568433 -0.0196188 0.211683 0.154436 0.162308 0.00833533 -0.0119746 0.529078 -0.218691 0.295608 -0.0115949 0.14755 3.2579 -0.171075 -0.718086 -0.00637247 0.00054209 -0.0259685 0.960335 -0.0168735 -0.53987 0.14262 0.0334053 0.0775567 -0.965191 0.267449 -4.68318 -0.105319 0.0521202 -0.148096 0.353816 0.195501 0.1406 -0.034387 0.00915948 0.025016 0.164461 -0.0466812 0.455915 0.444778 0.105406 0.250508 0.288708 -0.00946772 -0.0199043 0.00834408 -0.380712 -0.27826 -0.981336 0.506788 -1.02566 -13.4428 -3.72979 -3.01693 -2.73497 2.41696 -5.66573 -0.268762 0.216848 0.291097 -2.72413 0.0159516 0.070121 -0.0447634 0.384603 -0.516864 0 0 0 0 0 0.00487453 -0.00286122 0.00197333 0 0 0 0 0.000437673 0 0.00258683 0 0 0.00126518 0.00427093 -0.00182486 0 0.000334524 0.0264622 0.00293536 0 0 -0.139481 0.000299187 0 0.0123249 -0.242262 0 0 -0.0133045 0.0662102 0 0.0764384 0 -0.0209841 0 0 -0.00167486 0 0 0.370174 0.00624459 0.0182402 0 0.0283625 0.035918 0 0 0.00769693 0 0.00532369 0.0292384 -0.0032417 0 0 -0.00282767 -0.00267296 0 -0.00869031 0.197003 0.00592053 0.0210355 0.0474254 0.00538315 0 -0.0289199 -0.0022564 -0.03652 0.0385572 -0.067164 0 0 0 -0.746565 0.0292012 -0.0843131 -0.0336989 0.0429672 -0.0614235 -0.00166999 0.00176503 -0.00169746 -0.00239865 0 0 0 0 0 0 -0.219042 0 -0.157116 0 0 0 0 0.405717 -0.900585 0 0 -0.356642 0 -0.0344512 0 -0.0356332 0 0 0.56866 0 0.727373 0.132047 -0.139269 0.0851344 0 0 -0.416696 0 0.908742 0 3.42764 0.332703 0 1.22025 1.171 -0.00920408 0 0.0380009 0 0 -0.079895 0 0.733847 0.867972 0 0 0.150843 0 0 -0.618988 2.74782 0.0521318 0 -0.996413 0 1.42099 -0.110965 0.108291 0.686073 0.0123816 -0.787062 -0.598459 0.199613 0.960732 0.743001 -0.0379185 0 0 0 0.292197 -0.0230776 0 0 0 0 -0.000665204 -10.299 0.754642 -3.98236 -0.717565 1.01015 -2.84748 0.113598 -0.178294 0.299734 -0.941285 0 0 0 0 0 0 +65 0 0 0 -0.170338 -0.071513 0 0 0 0 -0.921231 0.932075 -0.633092 0 0.262755 0 -0.0853935 0 0 0.330139 0.126772 0 0.16813 0 -0.341807 0.321588 0 0 -0.423042 0 0 0 -0.512093 -0.529969 0 -0.762227 0 -0.138419 -1.36589 0 -1.69426 0 0.376587 -2.72763 -0.672967 0 0.192909 0 0 0.463151 1.07258 0 1.62532 0 -0.170358 -0.0546738 -0.186507 0 -0.162278 0.858511 -0.427173 -0.42329 0 0 0 0 0.398294 0 0.306694 -2.08923 0.579732 -0.0128208 0.137966 -1.3584 1.20286 0 0 -0.0994756 0 -2.3844 0 -0.149101 2.00192 0 -1.12512 2.70624 -2.10439 0 -1.37853 2.48684 -1.05603 1.8016 0 0 0 0 0.0759403 0.0438281 -0.170338 -0.071513 0 0.0916293 0 0 0.0153594 0 0 0.129665 0 0 0 0 0.34931 0 0.0440995 -0.807705 0.889485 0 0.504804 -0.221892 0 0.00504011 -0.445988 -4.75629 -0.11363 0 0.106644 -1.98732 0 -0.854645 0 -0.239317 0.00618365 0 0.0391771 0 0 -1.6875 0 0 0 0 0 0 0 -0.802655 0 0 -1.06803 0 0 0 0 0 0 0 -0.50426 0 -0.306233 0 0.319152 -0.113524 0 -0.024492 -1.08604 0 0.696902 0 0.0375237 0 3.17584 0 -0.59318 0 0 0.812352 0 0 0 -0.355414 0 0 0 0 0.0950013 0 0 0.0759403 0 0.0438281 0 0 0.254736 0 1.61029 -0.00672453 0.0674137 0.981071 -0.00157896 0.122109 0.0631671 0.0581416 0.0525054 -0.119893 0 0 0 0 0.360325 0 0.670994 0 0.418766 0 0 0.0472641 0 0 0.0127483 0 0 0.0392556 0.0020263 0 0.0153392 0 0.238719 0 0 0 0.00511516 0.00144356 0 0 0.197013 0 0 0 -0.0443474 0 -0.159392 0 0.168068 0.0856157 0.152792 0 0 0.431784 0.250285 -0.517564 0 0.443561 0 0.122374 0 0.451124 -0.215527 0.0130283 -0.0619742 0.0548071 0.0189899 -0.703054 0 -2.78035 0 0.0922058 -0.194542 0 0.0217459 0.148679 -0.48606 0 0.134731 0.00370752 -0.0204697 -0.00533268 0 0 +66 0 0 0 -0.103808 -0.334039 0 0 0 0 -1.05008 4.61556 0.00735936 0 -0.0975337 0 0.161015 0 0 0.779577 0.59202 0 0.275109 0 0.114352 1.61244 0 0 0.652767 0 0 0 -0.148374 0.715261 0 0.877652 0 0.0338331 1.84309 0 0.859827 0 0.029056 1.22175 0.582714 0 0.783618 0 0 1.13175 -0.837015 0 0.720447 0 -0.7928 0.0932187 0.103151 0 -0.253977 -0.0802919 -1.978 -0.20226 0 0 0 0 0.343698 0 1.89434 0.99093 0.579296 -4.2923 0.495387 1.51605 -0.586813 0 0 0.606607 0 -7.21605 0 -0.461623 -1.95793 0 -4.23141 1.30221 -4.40415 0 -0.128702 -1.14627 -0.777945 -0.437086 0 0 0 0 -0.0958231 -0.0540598 -0.103808 -0.334039 0 0.0378022 0 0 -0.000271206 0 0 0.0739461 0 0 0 0 -0.156679 0 -0.025567 1.25274 0.115619 0 0.524709 1.63752 0 0.0235847 0.0153121 8.15272 0.557514 0 0.0844486 3.63909 0 -0.365586 0 0.753771 0.116784 0 0.0349152 0 0 -2.22894 0 0 0 0 0 0 0 -0.0779676 0 0 -0.749201 0 0 0 0 0 0 0 0.387874 0 -2.45567 0 0.201048 -0.00333417 0 -0.208368 0.0987094 0 0.137222 0 0.400477 0 4.19482 0 0.213246 0 0 0.407153 0 0 0 -0.128883 0 0 0 0 -0.466116 0 0 -0.0958231 0 -0.0540598 0 0 -0.445221 0 -1.51738 0.0568246 -0.0223812 1.44471 0.0123293 0.339731 -0.120535 -0.00647695 -0.000143879 0.371458 0 0 0 0 0.585472 0 -0.390842 0 -0.139521 0 0 -0.0500162 0 0 -0.0231713 0 0 0.146165 0.00251678 0 -0.0122964 0 -0.211514 0 0 0 0.00451957 0.0224017 0 0 -0.199984 0 0 0 -0.0498083 0 0.332557 0 -0.622248 0.16997 -0.926814 0 0 -0.718295 0.211161 0.10242 0 -0.00926809 0 -0.0200992 0 -0.221235 -0.552496 0.0198744 -0.167565 0.0918284 -0.0112787 0.443967 0 -3.92668 0 -1.17222 0.175334 0 -0.602602 0.481136 -0.588231 0 -0.363165 0.160769 -0.026131 -0.112962 0 0 +67 0 0 0 0.108132 -0.254147 0 0 0 0 -0.615649 0.890886 0.253858 0 -0.398565 0 -0.298507 0 0 -0.159979 -0.716738 0 -0.287375 0 0.489929 -0.0579167 0 0 0.279151 0 0 0 0.280112 -0.518871 0 0.381486 0 0.0107975 0.51887 0 1.8265 0 -0.373031 -0.069991 0.636912 0 -0.328965 0 0 -2.10432 -0.850046 0 -1.27921 0 0.812995 -0.772627 0.420298 0 -0.212134 -0.7461 -0.2522 0.131572 0 0 0 0 0.981376 0 -1.09442 0.317826 0.236637 -0.970552 -1.1533 1.29243 -0.00229338 0 0 -0.833535 0 -1.26033 0 1.08425 -3.44876 0 0.00398568 -1.18535 -1.48948 0 1.12248 -1.98791 -0.133984 -1.60277 0 0 0 0 -0.148495 -0.0692679 0.108132 -0.254147 0 0.000812443 0 0 -0.0105007 0 0 -0.0724313 0 0 0 0 -0.584433 0 -0.108181 1.7067 -0.68542 0 0.060409 0.222636 0 0.0299107 0.591177 4.5934 0.448405 0 0.0237062 2.61237 0 0.687237 0 0.0259764 0.123462 0 -0.000334666 0 0 0.844312 0 0 0 0 0 0 0 0.917723 0 0 2.60071 0 0 0 0 0 0 0 0.266998 0 3.75537 0 -0.225746 -0.162324 0 -0.595315 0.704014 0 -0.786794 0 0.0890982 0 -1.58897 0 0.522984 0 0 -0.774892 0 0 0 0.22174 0 0 0 0 -0.374894 0 0 -0.148495 0 -0.0692679 0 0 -0.687576 0 -1.06205 0.0253862 -0.0312426 0.271098 0.0107164 0.0798242 -0.182687 -0.0973515 0.091677 0.139892 0 0 0 0 0.0903434 0 -0.194161 0 -0.244467 0 0 0.0455038 0 0 -0.0381344 0 0 0.0485639 0.00126272 0 0.00667199 0 -0.27037 0 0 0 0.0099528 -0.00163964 0 0 0.121759 0 0 0 -0.318778 0 0.548747 0 -0.261991 -0.160843 -0.0807882 0 0 -1.16197 -0.344668 0.924156 0 -0.0385477 0 0.0709989 0 -0.201243 -0.0989557 -0.0953602 0.0163011 0.00602665 -0.0380311 0.542659 0 -1.88571 0 -0.109134 -0.657548 0 0.0163788 -0.0102787 -0.332781 0 -0.150108 0.0166181 -0.0278042 -0.0826048 0 0 +68 0 0.16086 -0.0133036 0.292913 0.12081 -0.15182 -0.0575947 -0.0952268 0.969534 0.492025 -3.30458 -0.140299 0.0892205 -0.482001 -0.60589 -0.0892617 -2.31504 -6.49371 -1.3132 -0.0385172 0.604049 -0.823181 -0.293195 0.622264 -1.87373 0.285068 -0.758525 0.124284 0.0495629 0.981345 -0.0524455 0.726966 -0.195905 -0.796906 -0.342752 0.0178438 -0.0387266 0.387522 -1.33201 -0.664841 0.0258574 -0.562456 -0.244248 -0.205968 -0.425414 -0.37879 -0.00449878 0.221868 -0.27708 0.44278 -0.725164 -0.337158 4.48608 0.108926 -0.0996118 0.202911 1.10202 0.893331 0.485703 1.83145 0.329418 0.343582 0.037201 0.837279 -0.139193 0.718466 -0.0478041 0.69942 -0.188642 -0.360925 3.00612 0.232757 -0.267564 0.0039191 0.783915 -0.269889 2.20677 -1.03018 8.69468 -3.95364 3.94769 1.59981 -4.39092 4.75765 -1.0249 1.24564 -1.07959 1.09808 0.754437 -1.14857 1.02267 -1.4189 0 0 0 0 0 0.292913 0.12081 0 0 0 0 0 0 0 0.0102371 0 0 0 0 0.138824 0 0.0216887 0.38196 0.0296387 0 0 0.548756 0 0 0.106975 1.62203 0 0 0.0782549 0.938107 0 0.633048 0 0.327716 0 0 0.0321589 0 0 1.48026 0 0 0 0 0 0 0 0.199169 0 0 0.552225 0 0 0 0 0 0 0 0.423745 0 4.00594 0 -0.106933 0 0 -0.0224381 1.39545 0 -0.0135312 0 0 0 -2.78508 0 -0.242016 0 0 -0.61946 0 0 0 -0.0123716 0 0 0 0 0 0 -0.15182 0 -0.0575947 0 0 0 0 0.0460791 0.645264 0 0 -0.198646 0 -0.0296757 0 0.0106916 0 0 0.160481 0 0.257993 0.0500222 0.0277478 0.0225053 0 0 0.065287 0 3.58826 0 2.91199 0.0062064 0 0.348375 0.964565 0.000720263 0 0.00746375 0 0 0.0799532 0 0.473487 0.395386 0 0 0.059612 0 0 0.14599 0.218594 0.074092 0 0.898448 0 0.230122 -0.0648694 0.0137244 -0.0813603 -0.0224998 0.638715 -0.106862 0.00588611 -1.24722 -3.9983 0.063252 0 0 0 0.0577839 -0.00226841 0 0 0 0 -0.216158 -20.5221 0.748981 -4.94344 -0.108877 0.274941 -1.99164 0.0758983 -0.0392051 0.0490849 -0.203216 0 0 0 0 0 0 +69 0 -1.06735 -0.529136 -0.248663 -0.0935985 -0.0653528 0.0460054 -0.380513 -0.448041 -0.418124 1.38601 0.0887654 -0.265659 0.409228 0.145125 -0.059898 -2.39543 -10.7034 0.72488 -0.429671 0.381437 0.41476 0.262892 -0.528294 0.737424 -0.35645 -0.472906 -0.920409 -0.00478578 -0.184645 -0.114529 -0.617292 -0.0952521 1.20602 -1.58035 -0.166181 0.0173351 -2.93523 6.34051 0.351538 0.0795015 0.481749 -5.70755 0.0646993 0.992235 0.337824 0.0164225 -0.0261896 -0.656489 -0.212709 -0.57593 0.535344 10.1655 0.344736 -0.31505 0.235958 0.0916911 0.731097 0.570361 -0.755871 -0.289167 0.538693 -0.162588 -3.62653 3.50708 1.12565 0.585599 -5.44875 -2.72354 0.306721 -1.17186 -0.61082 0.28568 2.71407 0.634725 -0.00604627 5.86089 -22.2423 -6.82716 2.1078 -4.95508 3.07763 -6.65331 -1.66592 0.583223 -1.10321 1.00374 -0.97932 -0.322946 0.023408 -0.356127 0.266974 0 0 0 0 0 -0.248663 -0.0935985 0 0 0 0 0 0 0 0.0173812 0 0 0 0 -0.0832013 0 -0.00479075 -0.195913 0.042182 0 0 0.297866 0 0 0.260519 -0.115399 0 0 0.0673756 -0.346459 0 0.541463 0 0.118409 0 0 0.0422564 0 0 1.60154 0 0 0 0 0 0 0 0.192011 0 0 0.61537 0 0 0 0 0 0 0 0.473 0 5.26909 0 -0.144789 0 0 0.0694669 1.67594 0 0.0562382 0 0 0 -3.00612 0 -0.273892 0 0 -0.676792 0 0 0 -0.0174261 0 0 0 0 0 0 -0.0653528 0 0.0460054 0 0 0 0 0.0428597 -0.752005 0 0 0.180788 0 0.039086 0 -0.0131823 0 0 0.0363433 0 0.161017 -0.00863664 -0.00897637 0.0075659 0 0 -0.096208 0 -3.596 0 2.69181 -0.127557 0 -0.0146381 0.617501 0.00336832 0 0.0050902 0 0 -0.0948921 0 -0.674556 0.534911 0 0 0.0748279 0 0 0.074534 -1.4265 0.212917 0 -0.764048 0 0.282378 0.0588519 -0.106746 -0.626532 0.0123919 0.253129 -0.473546 0.04104 1.5225 4.59021 0.0251915 0 0 0 -0.157373 -0.097228 0 0 0 0 0.302999 -11.5989 -1.15284 0.216483 -0.505412 0.589871 -0.975476 -0.0957541 0.0488381 0.0187834 -0.123963 0 0 0 0 0 0 +70 0 -0.812018 0.00707306 0.059318 0.02549 -0.139926 -0.131499 0.828282 2.54576 0.0995913 -1.57568 -0.21461 -0.198872 -0.0976054 0.228613 -0.0257491 1.08501 -2.10854 -0.248157 -0.364789 0.0755588 -0.14386 -0.0332532 0.126011 -0.806758 0.42665 0.757406 0.394387 0.0572718 1.27405 0.10709 0.147201 -0.0544715 0.578454 0.671258 0.11406 -0.104479 0.0675174 3.33783 -1.19063 -0.0673466 -0.113416 -0.138414 -0.589906 -1.69224 -0.0748495 -0.0267499 0.275976 -0.743856 0.878604 0.573208 0.673067 -2.99461 0.358081 -0.328532 0.187205 -0.287838 0.454164 0.229497 0.898118 0.0656225 -0.881984 -0.12636 -0.920796 -0.624645 -0.139068 -0.0952387 1.08576 -0.00691063 -0.0730543 1.9313 -0.025737 -0.554188 0.0144471 -0.663436 -0.290407 -0.888072 -13.7915 2.1531 -7.43539 -1.30759 3.78006 -7.50783 2.22627 0.316284 0.0294049 -3.21768 0.216982 1.68441 -1.79257 1.56446 -1.84213 0 0 0 0 0 0.059318 0.02549 0 0 0 0 0 0 0 0.0970156 0 0 0 0 0.330172 0 0.0536978 -0.782916 0.587826 0 0 -1.26611 0 0 -0.348456 -5.58439 0 0 -0.141777 -2.17357 0 -0.286481 0 -0.648687 0 0 -0.0753153 0 0 0.0760141 0 0 0 0 0 0 0 -0.443067 0 0 -0.805892 0 0 0 0 0 0 0 0.0952402 0 2.44407 0 0.028164 0 0 0.435986 0.620372 0 0.479925 0 0 0 -0.141927 0 -0.564516 0 0 -0.0328141 0 0 0 -0.245704 0 0 0 0 0 0 -0.139926 0 -0.131499 0 0 0 0 0.053692 -0.216609 0 0 0.137289 0 0.0213122 0 -0.0156979 0 0 0.105509 0 0.162437 0.0386062 0.033816 0.00972859 0 0 -0.136784 0 -1.80991 0 1.47032 -0.0629785 0 0.16915 0.46144 0.006842 0 0.011672 0 0 -0.0223212 0 -0.23405 -0.523958 0 0 -0.0822002 0 0 0.178458 -2.33524 0.022465 0 0.116237 0 -0.551545 0.0518176 -0.069592 -0.272884 -0.0420372 -0.106171 -0.0833048 -0.0477 -0.05717 0.811363 0.0722676 0 0 0 -0.110097 -0.0395687 0 0 0 0 0.077787 -13.0719 -0.199639 -3.09212 -0.231754 0.291628 -1.12895 -0.0705406 0.0213226 -0.00696315 -0.199819 0 0 0 0 0 0 +71 0 0.436461 0.360401 0.131723 0.0537063 -0.0961282 0.0612742 -0.24692 -0.731246 0.255881 0.0981168 0.175595 0.54474 -0.218402 0.322441 0.132662 2.32291 11.2756 -0.150216 0.434586 0.510321 -0.114341 -0.0953254 0.28229 0.0874944 -0.096564 0.549328 0.39705 -0.0101626 -0.24753 0.0846052 0.338122 0.259322 -0.367502 0.847047 0.0216485 0.108654 1.45748 -1.07036 0.423011 0.115602 -0.247964 3.23952 0.274959 2.95488 -0.154947 0.0211717 -0.0354997 0.870113 -0.331473 -0.500096 -0.368337 5.57452 -0.406009 0.389473 0.0214773 3.49434 0.865085 0.205098 -0.190775 0.146599 0.373047 -0.132218 2.23474 -0.540164 -0.300457 -0.386496 1.2875 1.55112 -0.189218 -0.255613 0.417438 0.192567 -1.40131 1.05278 -0.141263 -0.191458 3.37071 -0.0293502 0.939266 -1.18848 0.0827983 0.345481 -0.582886 -0.284303 0.257149 0.843788 0.442527 -0.676868 0.455714 -0.395442 0.326668 0 0 0 0 0 0.131723 0.0537063 0 0 0 0 0 0 0 -0.0437753 0 0 0 0 -0.186992 0 -0.0222112 0.597196 -0.371342 0 0 1.45138 0 0 0.142714 5.94722 0 0 0.165155 2.01426 0 0.155741 0 0.705081 0 0 0.0795763 0 0 0.253771 0 0 0 0 0 0 0 0.256764 0 0 0.200035 0 0 0 0 0 0 0 0.509278 0 3.19797 0 -0.136954 0 0 -0.0447677 1.5551 0 0.102793 0 0 0 -0.477057 0 0.312589 0 0 -0.106574 0 0 0 0.15522 0 0 0 0 0 0 -0.0961282 0 0.0612742 0 0 0 0 0.00565037 0.591165 0 0 -0.247759 0 -0.0332338 0 0.0160049 0 0 0.104435 0 -0.0324757 0.0217359 -0.0284509 0.010751 0 0 0.141532 0 7.09615 0 0.811443 0.195206 0 0.18765 0.117026 -0.00534224 0 0.000463276 0 0 0.067047 0 1.31243 1.0861 0 0 0.123068 0 0 0.109842 2.3839 0.029842 0 0.827858 0 0.162053 -0.0184522 -0.00123328 -0.00835476 0.00338808 1.07046 0.192203 -0.000383038 -0.670196 -0.147692 0.0442956 0 0 0 0.0437779 0.0303254 0 0 0 0 -0.119752 -2.20208 1.42209 -1.80359 0.0349506 0.0478611 -0.496247 0.0870697 -0.0349896 0.0731389 -0.0615955 0 0 0 0 0 0 +72 0 -0.064655 0.356679 0.3128 0.0685186 -0.0712384 -0.146787 0.502012 1.32396 0.369211 -2.22143 -0.182837 0.287772 -0.521377 0.403162 0.02442 1.85117 5.05719 -1.3027 0.00186792 -0.452341 -0.816491 -0.619813 0.670715 -1.43965 0.717945 0.718318 0.388759 0.0426494 0.463078 0.128073 0.741697 0.065507 -0.689251 0.632386 0.200505 -0.0629842 0.0682979 0.371961 -0.722235 -0.134857 -0.641541 0.590691 -0.278581 0.0781552 -0.557616 -0.0423611 0.14262 0.129937 0.561897 1.34896 -0.289069 -6.52061 -0.0374644 0.0174066 -0.406069 -1.65709 -1.39536 -0.56058 1.48387 0.407763 -0.133369 0.447918 0.0770756 -1.55316 -1.38483 0.142114 0.576638 0.0256582 -0.273184 2.29028 -0.40692 -0.491632 -0.151765 -0.211398 0.289375 -3.68414 3.42217 5.75813 -3.17382 2.84696 0.642967 -1.8068 3.71772 -0.566935 1.33339 -1.6301 1.59255 0.76932 -0.293326 0.694176 -0.61113 0 0 0 0 0 0.3128 0.0685186 0 0 0 0 0 0 0 0.0693792 0 0 0 0 0.257133 0 0.0385836 -0.553041 0.461372 0 0 -0.643007 0 0 -0.406943 -3.34458 0 0 -0.0664583 -1.66428 0 -0.509312 0 -0.46449 0 0 -0.0515633 0 0 0.00681536 0 0 0 0 0 0 0 -0.294443 0 0 -0.828034 0 0 0 0 0 0 0 -0.428272 0 -5.53415 0 0.0466895 0 0 0.0229451 -1.70399 0 -0.135422 0 0 0 0.047361 0 -0.455799 0 0 -0.0581451 0 0 0 -0.192374 0 0 0 0 0 0 -0.0712384 0 -0.146787 0 0 0 0 -0.0383905 0.568347 0 0 0.133039 0 0.0144216 0 -0.00243387 0 0 0.0015199 0 0.260042 -0.0289691 0.0508944 0.00527146 0 0 -0.0331382 0 0.618926 0 1.41949 0.315775 0 -0.174869 0.674762 0.00703912 0 -0.00642347 0 0 0.071229 0 0.643149 -0.902926 0 0 -0.0779693 0 0 -0.556638 -1.16535 -0.085643 0 -0.267309 0 0.309776 -0.0216845 0.0755458 -0.357849 -0.0463995 -0.191531 -0.385223 0.00857245 -0.786217 -4.38494 -0.0223797 0 0 0 0.174101 -0.0400801 0 0 0 0 -0.173044 -7.58029 -0.739024 0.732045 -0.202104 0.390629 -0.591974 -0.084699 0.0615096 -0.00648443 -0.0378922 0 0 0 0 0 0 +73 0 -0.594926 -0.404461 -0.192683 -0.0768385 -0.0796225 -0.00534097 -0.201549 0.0927666 -0.367341 0.87755 0.036213 -0.261056 0.319556 -0.206179 0.0666694 -2.21952 -10.1007 0.650003 0.327197 0.0665016 0.364174 0.240596 -0.412941 0.517186 -0.252461 -0.567004 -0.375998 -0.0257543 0.062594 -0.117818 -0.492814 0.117497 0.845057 -0.765145 -0.158111 -0.0055909 -0.709007 2.91577 -0.0222899 0.0833904 0.364256 -2.14502 -0.0901789 -0.722337 0.23219 0.0289517 -0.0412499 0.566064 0.0468523 0.182417 0.784603 0.998752 -0.289464 0.258743 -0.20408 -2.90114 -0.292057 -0.304015 -0.516602 -0.216183 -1.06336 0.0154648 -3.48263 2.12329 0.34142 0.0965695 -2.38351 -0.728827 0.271645 -0.670631 -0.208996 0.0466877 0.784379 -0.953997 0.0938291 2.75785 -10.8538 -3.53534 1.82703 -2.78953 2.58066 -3.94253 -1.12851 0.858041 -1.08309 0.1185 -0.663133 0.140938 -0.242596 0.0441215 -0.0826062 0 0 0 0 0 -0.192683 -0.0768385 0 0 0 0 0 0 0 0.0834096 0 0 0 0 0.23703 0 0.0426507 -0.420685 0.472727 0 0 0.12252 0 0 -0.0167568 -0.787525 0 0 0.0253902 -0.44417 0 0.350792 0 0.143826 0 0 0.0233489 0 0 1.14015 0 0 0 0 0 0 0 -0.202268 0 0 -0.993238 0 0 0 0 0 0 0 -0.349769 0 -6.52684 0 -0.0643527 0 0 0.058799 -1.58559 0 -0.27143 0 0 0 -2.14663 0 -0.609141 0 0 -0.475802 0 0 0 -0.197832 0 0 0 0 0 0 -0.0796225 0 -0.00534097 0 0 0 0 -0.00950342 -0.933227 0 0 0.142146 0 0.0264298 0 -0.0141169 0 0 -0.0489418 0 0.0666471 -0.0245588 0.0180523 -0.00720335 0 0 -0.108965 0 -5.20965 0 0.870133 -0.240983 0 -0.0219768 0.164516 0.00336632 0 -0.0043043 0 0 -0.10311 0 -0.965439 -0.0830803 0 0 -0.0170428 0 0 -0.0211328 -2.75935 0.0516633 0 -1.50975 0 -0.366417 0.0107541 -0.045138 -0.426223 -0.0586244 -0.166704 -0.242752 -0.0142881 1.18839 1.02175 0.0670064 0 0 0 -0.218462 -0.0554621 0 0 0 0 0.291112 -10.2811 -1.285 -0.456177 -0.232726 0.212607 -0.552982 -0.0667148 0.0373863 -0.048458 -0.0227652 0 0 0 0 0 0 +74 0 -0.375659 -0.577656 -0.277215 -0.112787 0.155588 0.121033 -0.824386 -2.38326 -0.461904 2.42826 0.0849979 -0.773113 0.458153 -0.795445 -0.129142 -2.47726 -7.56975 1.24335 -0.927141 -0.0436472 0.757394 0.698601 -0.591473 1.45901 -0.918342 -0.839341 -0.445564 -0.038154 -0.377992 -0.268173 -0.687972 -0.208284 1.30971 -0.618264 -0.264679 -0.00764446 -1.6543 2.86924 0.496653 0.0287311 0.532901 -2.4413 0.074476 -1.54328 0.357789 0.0122393 -0.118001 -1.53703 -0.300215 -1.06574 0.361738 -3.71902 0.784297 -0.71882 0.205225 -1.68606 -0.0411971 -0.366895 -1.40913 -0.310833 -1.49356 -0.102081 -2.92883 2.07144 1.08648 0.340994 -3.31251 -1.34195 0.339146 -2.74119 -1.25631 0.534297 1.28488 -0.246481 0.0218351 1.10058 -11.7208 -7.07994 4.95221 -3.46276 1.08732 -2.25214 -3.59886 1.16018 -1.72323 2.66759 -1.03938 -0.44501 0.34394 -0.576677 0.433348 0 0 0 0 0 -0.277215 -0.112787 0 0 0 0 0 0 0 -0.0821836 0 0 0 0 -0.32379 0 -0.0535112 -0.00959837 -0.539211 0 0 -0.860282 0 0 0.200701 -1.10618 0 0 -0.17649 -0.409495 0 -0.0467664 0 -0.561755 0 0 -0.108704 0 0 -0.331461 0 0 0 0 0 0 0 0.33496 0 0 0.503412 0 0 0 0 0 0 0 -0.273156 0 -4.89306 0 -0.0527043 0 0 -0.127325 -1.34917 0 -0.579646 0 0 0 0.623802 0 0.55528 0 0 0.138561 0 0 0 0.225406 0 0 0 0 0 0 0.155588 0 0.121033 0 0 0 0 -0.0339493 -0.294161 0 0 0.123059 0 0.0156322 0 0.00468846 0 0 0.00534672 0 0.0771939 -0.00199199 0.00097254 -0.00107311 0 0 0.065356 0 1.90075 0 1.93273 0.236442 0 -0.153669 0.463806 -0.000334004 0 -0.000249577 0 0 -0.0452045 0 0.774351 0.683607 0 0 0.0616819 0 0 0.257805 0.405832 0.0709054 0 1.19943 0 0.415246 -0.103644 0.0355494 -0.293056 0.0525335 0.737507 -0.104612 -0.0546573 -0.259793 1.71698 0.0174351 0 0 0 -0.0531169 0.0357278 0 0 0 0 0.0614653 -13.5793 -0.78856 -1.25885 -0.154091 0.0632643 -0.744417 -0.00661136 0.0134036 -0.0863174 0.10681 0 0 0 0 0 0 +75 0 -1.07264 -0.488692 -0.174524 -0.0710061 0.00554488 0.0200237 -0.13857 -0.179545 -0.290796 1.56586 0.0570556 0.41071 0.288435 1.00573 -0.0299056 0.185649 0.0733804 0.703641 -0.00743942 0.481251 0.414266 0.680493 -0.372368 0.787613 -0.0932411 -0.0485734 -0.258659 -0.0186123 -0.0197517 0.145306 -0.433119 -0.0324736 2.24889 -0.455196 -0.0681623 -0.00296609 -0.449809 8.27084 0.0636215 0.123724 0.335493 -0.836171 -0.0828647 2.22628 0.22525 0.0298463 -0.0390218 0.138429 -0.00278596 1.21292 0.804784 -0.598656 -0.0476535 0.0436751 -0.123743 -0.754568 -0.556727 0.182499 -0.810231 -0.195688 1.03024 0.344092 -0.849879 1.12341 -0.738769 -0.0290241 -1.75726 -0.113695 0.213513 -0.774915 0.169221 0.120854 0.35532 0.202844 0.112014 -0.387708 -29.5079 -9.20695 0.354134 -7.77 4.238 -7.89926 -1.71677 0.842744 -1.53126 0.847716 -0.654351 0.0815863 -0.100429 -0.0517268 0.0226443 0 0 0 0 0 -0.174524 -0.0710061 0 0 0 0 0 0 0 0.0423063 0 0 0 0 0.134011 0 0.0153079 -0.450519 0.309029 0 0 -0.586735 0 0 -0.0197167 -3.76135 0 0 -0.0250521 -1.48277 0 0.185804 0 -0.377173 0 0 -0.0236004 0 0 1.15579 0 0 0 0 0 0 0 -0.0122137 0 0 0.65657 0 0 0 0 0 0 0 0.303901 0 5.89361 0 0.00832564 0 0 0.0998151 1.36452 0 0.186054 0 0 0 -2.17516 0 -0.457783 0 0 -0.483154 0 0 0 -0.129184 0 0 0 0 0 0 0.00554488 0 0.0200237 0 0 0 0 -0.0131745 -0.352856 0 0 0.32735 0 0.052222 0 0.00446049 0 0 -0.135196 0 0.312833 -0.0285353 0.0434759 -0.0112249 0 0 0.0350595 0 -2.8291 0 2.32489 0.0742532 0 -0.307674 0.868207 0.00800661 0 0.00280036 0 0 -0.0430445 0 -0.205912 -0.451949 0 0 -0.0424156 0 0 0.0875314 -2.16841 0.104381 0 0.342018 0 0.395845 -0.0242945 0.0203343 -0.897924 0.0646547 0.245534 -0.52887 -0.0407411 0.139647 -0.230572 -0.00391793 0 0 0 -0.0132612 -0.0818471 0 0 0 0 0.0688424 -15.6821 -1.8894 0.225106 -0.317149 0.497117 -1.06931 -0.109822 0.0692151 -0.0828783 0.00152377 0 0 0 0 0 0 +76 0 -0.140053 -0.0465181 -0.21156 -0.0860748 -0.0649274 0.0861069 -0.356969 -0.811378 -0.352508 3.28712 0.21578 0.752707 0.349646 1.07584 0.0694697 0.441445 5.48655 0.98172 0.335074 -0.472299 0.590396 0.314411 -0.451391 1.85982 -0.201104 -0.222685 -0.503359 -0.070408 -0.816981 0.175589 -0.525035 0.163562 1.00449 -0.757153 -0.0872948 0.0727894 -1.05006 3.46356 0.672366 0.0020614 0.40669 -1.57526 0.209662 3.56837 0.273052 0.0268129 -0.256941 0.82827 -0.448445 1.59297 1.11225 6.17184 -0.381057 0.349245 -0.368769 1.8204 0.597944 0.921621 -1.91479 -0.237216 -0.126788 -0.0251917 -3.87185 0.949615 -1.12799 -0.235813 -2.23861 -0.802531 0.258824 -3.56907 0.344007 0.560101 0.805153 0.427843 0.157004 1.9097 -15.9857 -13.4442 5.6559 -7.56276 1.92948 -0.376132 -4.78797 1.55344 -1.38396 0.895411 -0.793215 -0.76569 1.03015 -1.0165 0.936627 0 0 0 0 0 -0.21156 -0.0860748 0 0 0 0 0 0 0 0.0584713 0 0 0 0 0.172671 0 0.0223008 -0.130232 0.39423 0 0 1.45926 0 0 -0.410356 3.85036 0 0 0.229497 0.792428 0 -0.785871 0 0.673585 0 0 0.106777 0 0 -1.05665 0 0 0 0 0 0 0 -0.452522 0 0 -1.28101 0 0 0 0 0 0 0 0.135573 0 1.1884 0 0.115477 0 0 0.126442 0.639953 0 0.642975 0 0 0 1.98859 0 -0.218298 0 0 0.441713 0 0 0 -0.1648 0 0 0 0 0 0 -0.0649274 0 0.0861069 0 0 0 0 -0.079034 -0.556801 0 0 0.185439 0 0.0299904 0 -0.000123339 0 0 0.0140558 0 -0.0240401 -0.054955 -0.0125596 0.00553546 0 0 -0.0038188 0 0.074831 0 -0.855534 0.00408854 0 -0.36198 -0.238309 -0.000332862 0 -0.0101917 0 0 -0.0554541 0 0.189977 0.395109 0 0 0.0502398 0 0 0.0715403 -2.16874 -0.0142843 0 -0.65803 0 -0.469788 0.0369023 -0.0105788 -0.563834 -0.0133987 0.179662 -0.115012 -0.0650978 0.287896 -0.546445 0.0260436 0 0 0 -0.163825 -0.0127516 0 0 0 0 0.228994 -2.62539 -1.33674 1.47424 0.0345698 0.00457335 0.10766 -0.063129 0.0595344 -0.0873 0.177099 0 0 0 0 0 0 +77 0 -1.09634 0.0594959 -0.0553899 -0.241206 0.143039 0.325516 -0.355379 -1.32525 -0.642177 1.47518 0.346656 0.556588 0.00647799 1.91186 0.0800627 0.465439 0.464502 0.290032 0.25202 0.403283 0.0399717 -0.244348 -0.0153769 0.345766 -0.656298 0.458503 0.0289018 -0.766646 -1.38139 0.468402 -0.0988193 0.559264 0.421388 0.0768909 -0.431811 0.0341884 0.0109176 5.07535 0.379707 1.11725 0.0207626 0.217733 0.0380445 2.83096 0.0127107 0.91274 -1.0168 1.71014 -0.127534 1.03273 -0.185789 -1.96338 -0.573167 0.174691 -0.328893 -2.55678 0.261851 0.71228 -0.298021 -0.00907707 0.0865928 -3.12401 -2.01442 -0.0437846 -0.320246 0.266083 -0.515946 0.0563898 0.253262 -0.920663 0.0521952 0.0603079 -0.131283 -2.8614 1.13646 0.725135 -16.2383 -5.31149 1.85645 -2.41796 1.21517 -2.55036 -0.770231 0.609887 -0.966071 1.82836 -0.00637321 -0.0904863 0.332026 -0.9386 3.10687 0 0 0 0 0 -0.0553899 -0.241206 0 0 0 0 0 0 0 0.00783967 0 0 0 0 0.0233748 0 0.00340231 -0.0146067 0.0610666 0 0 -0.0678455 0 0 -0.0142867 0.0911389 0 0 -0.00978692 -0.000608037 0 -0.0221543 0 -0.0117528 0 0 -0.000904659 0 0 0.205803 0 0 0 0 0 0 0 0.0560102 0 0 -0.175063 0 0 0 0 0 0 0 -0.112351 0 -1.46287 0 -0.026955 0 0 0.00760141 -0.441281 0 -0.155824 0 0 0 -0.274283 0 -0.125048 0 0 -0.189878 0 0 0 -0.0263739 0 0 0 0 0 0 0.143039 0 0.325516 0 0 0 0 0.0799095 -0.31131 0 0 0.201394 0 0.0310175 0 0.0106499 0 0 0.279424 0 -0.452181 -0.0272653 -0.153031 0.0378134 0 0 0.0914059 0 1.36194 0 1.2108 0.899576 0 -0.237092 -0.529887 -0.00913515 0 0.0225552 0 0 -0.0253247 0 1.77062 0.643926 0 0 0.095748 0 0 -0.318161 0.206266 -0.0700518 0 -1.29601 0 -0.395822 0.0311054 -0.014788 0.0331142 -0.116232 -0.0139769 0.254294 0.0691106 0.0424392 -5.53817 0.0502449 0 0 0 0.0257306 -0.020054 0 0 0 0 -0.0147672 0.0398661 -0.558829 1.68097 -0.331596 0.38866 -0.251449 -0.108216 0.122165 -0.130878 0.19999 0 0 0 0 0 0 +78 0 1.01435 0.585496 0.0542728 0.0469795 0.0207223 -0.0180194 0.722788 1.16674 0.305528 -1.81706 0.184893 -0.172984 -0.0172396 -0.335057 0.116803 1.55622 8.30152 -0.316855 0.113119 -2.17761 -0.0802587 -0.296215 0.0207531 -0.552041 0.2666 0.336003 -0.0414196 0.165107 0.764403 -0.270929 0.0956533 0.744676 -1.2496 -0.00134254 0.156831 0.0624758 0.125884 -6.29391 0.323199 -1.16138 -0.081366 0.920604 0.0975338 0.402409 -0.338596 -0.432899 0.334954 0.946599 -0.320108 0.355748 -1.70855 -2.17091 -0.377448 0.000780852 0.137323 0.540619 -0.287894 0.173945 0.878886 0.168776 -0.286526 1.41916 0.602714 -1.12661 -0.205691 0.654753 0.911147 0.223202 -0.143428 1.32951 -0.175531 0.167774 -0.304556 0.773932 -0.199646 -1.23907 22.4624 8.47307 -2.96786 5.1135 -2.94204 3.48919 1.25768 -0.885872 1.16122 -0.903718 0.169774 -0.206427 0.189126 -0.0803507 -1.7192 0 0 0 0 0 0.0542728 0.0469795 0 0 0 0 0 0 0 -0.0272286 0 0 0 0 -0.0498249 0 -0.00757336 0.0512532 -0.16957 0 0 0.182894 0 0 0.00187528 1.15104 0 0 0.0151419 0.216041 0 -0.101052 0 0.0288313 0 0 0.000896471 0 0 -0.4795 0 0 0 0 0 0 0 0.0845732 0 0 -0.0418363 0 0 0 0 0 0 0 0.110895 0 0.479516 0 -0.0263959 0 0 0.0381984 0.333212 0 -0.0255913 0 0 0 1.02132 0 0.18951 0 0 0.091195 0 0 0 0.0690991 0 0 0 0 0 0 0.0207223 0 -0.0180194 0 0 0 0 -0.382385 1.12255 0 0 -0.140171 0 -0.038803 0 0.043295 0 0 -0.00180391 0 -0.805521 -0.096335 -0.0111084 -0.000458906 0 0 0.351858 0 4.60475 0 -4.53135 -0.278354 0 -0.8395 -1.65365 -0.00926754 0 -0.0455155 0 0 0.14204 0 0.634783 -0.0294881 0 0 -0.00831625 0 0 -0.166459 4.77272 -0.400536 0 0.6064 0 0.326145 0.0409562 0.212289 0.939204 -0.0645971 -0.797579 0.920736 0.05619 -1.08367 -2.28865 -0.0294816 0 0 0 0.285349 0.0705698 0 0 0 0 -0.411822 40.4243 3.81073 4.41833 0.82741 -0.615141 2.03496 0.0182546 -0.00190003 0.0465261 0.391925 0 0 0 0 0 0 +79 0 -0.420052 0.066936 0.00461085 0.037427 -0.23533 -0.058771 0.1248 1.48669 0.083112 -0.230441 -0.0566531 -0.140188 0.000458623 -0.664217 -0.018479 0.998843 4.32351 0.0488996 -0.0256903 0.33329 0.0172709 -0.00810115 0.00075909 0.0505359 0.185621 0.186257 0.00716823 0.111219 0.258162 -0.170348 0.00833352 -0.131984 0.172058 0.102517 0.0413964 -0.00862296 0.0936794 1.44374 -0.169353 0.0152711 0.0038621 0.694604 -0.0217449 -1.16211 0.0288208 -0.124807 0.104056 -0.207949 0.0368927 -0.533764 0.267597 1.15227 0.0665146 -0.0107587 0.00280186 1.5 -0.0563756 0.351381 -0.012168 -0.0138917 -0.632291 -1.61663 0.569661 -0.41039 -0.270443 -0.121041 -0.0316508 0.0668984 -0.0306768 0.268407 -0.0782995 -0.0786889 0.0205243 1.67215 0.149249 0.192529 -5.94284 -1.08414 -2.21133 -0.800941 0.537439 -1.78264 -0.046499 -0.260597 0.663214 -2.81845 -0.0144509 0.0531312 -0.0971322 0.286055 -0.580627 0 0 0 0 0 0.00461085 0.037427 0 0 0 0 0 0 0 0.0138324 0 0 0 0 0.0113118 0 0.00205817 0.0365791 0.0732874 0 0 0.0925004 0 0 -0.00963293 0.767076 0 0 0.00107842 0.181995 0 -0.0276774 0 0.0129872 0 0 0.000129242 0 0 0.0555803 0 0 0 0 0 0 0 -0.0702042 0 0 -0.113589 0 0 0 0 0 0 0 -0.0114186 0 -0.715038 0 0.00395813 0 0 -0.0766195 -0.139847 0 0.0193379 0 0 0 -0.12941 0 -0.0658605 0 0 -0.000440927 0 0 0 -0.0356405 0 0 0 0 0 0 -0.23533 0 -0.058771 0 0 0 0 0.330133 0.154493 0 0 -0.226235 0 -0.0265706 0 -0.000257696 0 0 0.327637 0 -0.081307 0.078569 0.00267293 0.0401987 0 0 0.00836831 0 0.862671 0 1.85214 -0.178378 0 1.03543 0.417225 -0.000926455 0 0.021296 0 0 0.021396 0 0.126695 0.357101 0 0 0.0377973 0 0 0.104443 -1.42597 0.3382 0 -0.118157 0 -0.52737 0.0511704 -0.240833 0.222992 -0.237268 -0.788008 -0.0209705 0.119574 0.269036 2.04491 0.0279671 0 0 0 -0.0207874 0.036747 0 0 0 0 -0.0136334 -18.8144 -0.649579 -5.2171 -0.344655 0.108878 -0.816963 0.0983176 -0.105029 0.156402 -0.561947 0 0 0 0 0 0 +80 0 0 0 0 0 0.253911 -0.201418 0.393323 0.671467 0 0 -0.00986451 -0.947342 0 -1.76033 -0.0199116 0 0 0 -0.150287 0.832748 0 0 0 0 0.432698 0 0 0.839197 5.01617 -0.69632 0 -0.220915 0 0 0.293201 0.00922214 0 0 -0.10022 -0.0761374 0 0 0.033718 -3.16488 0 -0.523118 1.83336 -0.84759 -0.00245293 -0.945501 0.142462 0 0.19929 -0.154989 0.328472 -0.816069 0.300028 -0.292024 0 0 0.639302 -0.445262 0 -0.0891521 0.176647 -0.495178 0 0 0 0 -0.0894753 -0.101265 0 0.908356 -2.2971 0 0 0 0.136817 0 0.215684 -4.86107 0 -0.0457143 -0.0450468 -4.40929 0 -0.0653089 -0.186959 0.645642 -12.7508 0 0 0 0.150402 0.00447497 0 0 0 0.00214322 0 0 0.000211809 0 0 0.00289171 0 0 0 0 0.0594754 0 0.00241952 0 0.0499079 0 0.0306593 -0.0658673 0 0.000194817 0 0 0.0118274 0 -0.00160976 0 0 0 0 -0.0465069 0.00258414 0 -0.00174638 0 0 0 0 0 0 0 0 0 0 0.0757775 0 0 0 0 0 0 0 0 0 0 0.0484875 0 0 0 -0.0323804 0.0138009 0 0.0440085 0.090492 0 -0.00448478 0 -0.0128268 0 0 0 -0.071049 0 0 -0.0128101 0 0 0 0.0228252 0 0 0 0 -0.00371195 0 0.253911 0.150402 -0.201418 0.00447497 -0.373078 -0.123191 0.0158838 -0.290661 0.11748 -0.000579341 -0.0639935 0.170625 -1.45807e-05 0.00527568 0.000460724 0.00193796 -0.0237149 -0.0223075 0.800539 -0.113892 -0.420366 -0.0174448 0.138755 0.131139 -0.264129 0.262427 0.0966177 -0.0190789 -4.19879 -0.0780421 0.0353009 -1.38179 1.31013e-05 -0.322108 -0.308042 0.00397509 0.00104005 -0.0384684 -0.00124505 1.40662 0.00261765 0.0535516 -2.20617 0.71392 -0.00655969 -0.00385976 0.00177955 -0.0688315 -0.00451787 -0.301556 2.56607 0.0909134 0.00677957 1.53363 -0.000206722 0.154189 -0.00360453 -0.028206 0.0578761 0.174042 0.990059 -0.174779 0.031878 -0.0164965 9.0042 -0.112664 -0.310147 -0.0267936 -0.194227 -0.111019 -0.00802309 0.0270495 0.000779648 -0.0462694 0.0238099 -0.00265341 -0.185293 -0.446216 0.727907 0.0583631 0.252889 -4.02027 -0.00188297 0.0112737 -0.0213011 -0.81715 0.000230502 0.00942152 -0.0905917 0.236039 -1.76049 0 +81 0 0 0 0 0 0.721006 0.377503 -0.720444 -2.80667 0 0 0.00656472 0.511636 0 1.1695 0.00155479 0 0 0 -0.0144164 -1.15259 0 0 0 0 -0.561307 0 0 -0.709117 -2.26245 0.515247 0 0.0222042 0 0 -0.334628 -0.000243715 0 0 0.20148 0.759198 0 0 0.0719651 0.572901 0 1.10954 -0.793728 -0.00180063 -0.113808 0.737308 0.00500267 0 0.00364766 -0.00198686 -0.0247933 -0.584684 -0.0921681 -0.11746 0 0 0.401125 -3.04409 0 -0.79164 -0.0512639 -0.240611 0 0 0 0 -0.141986 0.121743 0 -2.90243 0.365563 0 0 0 3.89439 0 6.6861e-05 1.1115 0 -0.126647 -0.291984 4.65701 0 -0.215411 -0.0551412 0.306868 3.65662 0 0 0 -0.0244916 -0.00160316 0 0 0 -0.00877495 0 0 -0.000399959 0 0 -0.00391023 0 0 0 0 -0.0666596 0 -0.0022224 0 -0.127638 0 -0.111243 -0.025292 0 -0.000162462 0 0 0.00122913 0 -0.000287594 0 0 0 0 0.0354214 -0.00227154 0 0.00128904 0 0 0 0 0 0 0 0 0 0 -0.0104487 0 0 0 0 0 0 0 0 0 0 -0.0739554 0 0 0 0.00150498 0.0173468 0 0.047882 -0.073692 0 -0.0262795 0 -0.0338305 0 0 0 0.136372 0 0 0.000225356 0 0 0 0.0223543 0 0 0 0 -0.00610621 0 0.721006 -0.0244916 0.377503 -0.00160316 0.287616 0.0721514 -0.0119946 -0.445762 -0.0556844 0.000263374 0.014477 -0.0937773 7.78233e-06 -0.00324391 -0.00037753 0.00043599 0.0103391 0.00744595 -0.777718 -1.10686 0.180976 -0.387582 -0.052363 -0.14824 0.024488 -0.21521 0.0094139 -0.0149167 3.61444 0.0817819 1.22375 1.4543 -1.10311e-05 -1.66101 0.439172 -0.00190619 0.00140015 -0.127191 0.013247 -1.14006 -0.00101796 -0.0437863 2.17231 -1.97756 0.00278683 0.00827276 -0.425172 -0.160704 -0.00349808 1.03283 -1.25202 -0.690882 -0.0274006 -0.312195 0.000519696 -1.24018 -0.00378004 -0.0410309 0.0175939 -0.0432322 -0.405405 0.128357 0.216283 -0.0494412 -8.95522 -0.110576 0.778588 0.0467398 0.0626869 -0.102936 0.00517708 -0.0297728 -0.000430843 0.149357 -0.07896 0.00185224 -6.42339 0.301053 4.35766 -0.0258642 0.124744 1.81869 0.000818766 0.0860393 -0.282158 1.96854 -7.69386e-05 -0.0491518 0.112252 -0.264821 1.50934 0 +82 0 0 0 0 0 0.272517 0.240209 -0.555567 -1.15489 0 0 -0.0450836 1.0789 0 1.92474 -0.00659332 0 0 0 -0.0360269 2.1401 0 0 0 0 -0.431738 0 0 -0.640744 -2.36862 0.761883 0 -0.0731788 0 0 -0.270571 -0.00339697 0 0 -0.0696858 0.312498 0 0 -0.0170927 3.111 0 -0.0673734 -0.977875 -0.236436 0.0266759 1.12481 -0.0552324 0 0.00714093 -0.051177 -0.139566 -1.32289 0.0556597 -0.094509 0 0 -0.191973 1.61285 0 -0.271426 -0.103674 0.0890668 0 0 0 0 -0.217563 -0.221422 0 -0.504177 1.21604 0 0 0 1.34732 0 0.0830545 3.50862 0 0.0857565 0.11991 2.64136 0 0.0444979 -0.0944068 -0.149631 7.18232 0 0 0 0.0257601 0.000861169 0 0 0 -0.000227055 0 0 3.66742e-05 0 0 0.000887376 0 0 0 0 0.015608 0 0.000608415 0 0.0224144 0 -0.00497662 -0.0312611 0 4.30397e-05 0 0 0.00122763 0 -0.00060838 0 0 0 0 -0.0168748 0.000683691 0 -0.000511957 0 0 0 0 0 0 0 0 0 0 0.0137984 0 0 0 0 0 0 0 0 0 0 0.0106364 0 0 0 -0.00934035 0.00101196 0 0.00738721 0.0218837 0 -0.00110752 0 -0.00187506 0 0 0 -0.0267237 0 0 -0.000507952 0 0 0 0.000362635 0 0 0 0 -0.00340491 0 0.272517 0.0257601 0.240209 0.000861169 0.21377 0.0752477 0.00373959 0.235544 0.0293356 -0.000117536 -0.0175022 0.0792027 -3.0831e-06 0.00187632 0.000111678 0.000490284 -0.0121998 -0.00423377 1.10306 1.09599 0.502866 0.0342062 0.0618119 0.207052 -0.0868199 -0.122179 0.0379074 0.00311213 3.21015 -0.102272 2.73104 1.27663 3.20772e-06 0.327671 1.26114 0.00144249 -0.00365992 0.0148886 -0.0196597 -0.599517 0.000134094 -0.0219163 2.21387 2.51861 -0.00247318 -0.0160911 0.497915 0.128883 0.144028 -0.140615 -1.59567 0.0352613 -0.0207915 -0.357711 -8.8054e-05 -1.88106 -0.000132684 -0.0959583 0.071217 -0.267698 0.563833 0.0649486 -0.0917432 0.17701 -5.902 -0.118205 -0.558841 -0.0337766 0.0891048 0.0914674 -0.00256653 0.00932135 0.000166451 -0.121252 -0.0288793 0.00111281 -14.3351 -0.085262 -2.14489 -0.00299841 0.224473 2.34555 -0.000599264 0.00428703 0.115877 0.337136 4.37474e-05 0.00988299 -0.0250437 0.119924 0.749272 0 +83 0 0.214545 0.313245 0.000356378 0.0360603 -0.0901193 0.195289 0.338973 1.1009 0.000874734 0.0303488 -0.00903846 1.55055 -4.29534e-08 2.44556 -0.000179209 1.85661 5.56967 0.00866942 -0.000350006 3.73195 0.00237859 -0.123235 5.54526e-08 0.0142197 0.0191366 0.648732 -0.00612016 -0.259229 0.256211 0.716849 7.12793e-06 -0.0201733 0.105407 -0.0921757 -0.116556 -9.67373e-05 -0.0586747 1.1571 -0.00334445 2.26416 -5.52127e-06 -0.610577 -5.24317e-05 5.05044 -0.000677566 1.25313 -0.0428509 -0.0382035 5.43695e-05 -0.376114 -0.0155702 -7.3573 0.000198496 -0.000181925 -0.00146706 -3.53595 -0.151985 0.0319074 3.55408e-05 3.48662e-06 -1.38403 -3.12188 -0.713581 -0.349964 0.197261 -0.0585003 0.0702072 -0.0722791 -3.80421e-06 0.17146 -0.0172832 -0.00528099 0.0844723 -3.30075 0.328955 0.2616 -1.73328 0.0380198 -2.26412 -0.263396 0.579783 -2.36584 -0.0310455 0.0650109 -0.0232073 -1.45826 6.90566e-08 1.08076e-06 0.000238035 0.000895151 -0.189893 0 0 0 0 0 0.000356378 0.0360603 0 0 0 0 0 0 0 0.000938878 0 0 0 0 2.86894e-06 0 9.24563e-06 -0.000353065 0.000288861 0 0 0.0128431 0 0 0.0005558 -0.02177 0 0 0.00153319 -0.0181123 0 0.0286357 0 0.000124971 0 0 1.49095e-05 0 0 0.0856817 0 0 0 0 0 0 0 -0.0167101 0 0 0.0215282 0 0 0 0 0 0 0 0.00109257 0 0.111107 0 -0.000530642 0 0 -0.000632805 0.0247721 0 -0.00121422 0 0 0 -0.196218 0 -0.000858654 0 0 -0.00369254 0 0 0 -1.24487e-05 0 0 0 0 0 0 -0.0901193 0 0.195289 0 0 0 0 -0.00330332 -0.275186 0 0 -0.209686 0 -0.0125167 0 -0.00449724 0 0 0.444773 0 -0.257861 0.0939455 -0.0341827 0.0208418 0 0 -0.0857847 0 9.69877 0 -0.876361 1.22951 0 0.468519 -0.339124 -0.000816123 0 0.00767235 0 0 -0.023342 0 3.46614 1.39104 0 0 0.135343 0 0 -0.473402 -2.55042 -0.16386 0 -1.68494 0 0.410126 -0.0618826 0.12931 0.0617539 -0.094609 -1.4345 -0.162532 -0.00336799 -0.101734 -2.78922 -0.0376555 0 0 0 0.0474093 0.0159725 0 0 0 0 -0.01119 5.46021 1.05005 -0.929438 0.072743 0.0173907 0.358434 0.0188744 -0.00988609 0.128624 -0.329651 0 0 0 0 0 0 +84 0 0.474696 0.416387 -0.000211 -0.0213501 0.207491 0.0874546 0.0312698 0.081544 -0.000517901 -0.018122 0.0042624 -0.643926 2.54313e-08 -1.93266 0.000111831 1.51737 3.31137 -0.0168716 0.000221439 -2.58442 -0.00307032 -0.463611 -3.28317e-08 -0.00415433 -0.167958 0.744952 0.000527293 -0.172425 0.374147 -0.454105 -4.22021e-06 0.0128368 -0.710182 0.0172957 -0.210506 5.02897e-05 0.00986041 -2.44324 0.00115425 -1.07711 3.26896e-06 0.111378 2.57454e-05 -2.67761 0.000401164 -0.233795 -0.0449555 0.0248346 -2.85327e-05 -0.218681 0.00634567 -1.79515 -0.000123947 0.000113599 0.000615176 -0.614179 -0.0246968 -0.0185158 0.0040642 -2.06431e-06 -1.52546 2.2268 -0.36101 1.02452 0.0744316 -0.0466066 -0.0552394 0.0344041 2.25235e-06 0.214333 -0.0652254 0.00458042 -0.0204736 1.69966 -0.0715141 -0.0558132 6.50264 0.497757 0.432505 0.0815022 -0.125501 2.19358 0.00205528 -0.0529872 0.252949 -0.577924 -4.08861e-08 -5.97796e-07 -0.000167729 -0.000930416 -0.277301 0 0 0 0 0 -0.000211 -0.0213501 0 0 0 0 0 0 0 -0.000537665 0 0 0 0 -1.92602e-06 0 -5.3572e-06 0.000197152 -0.000206478 0 0 -0.00636397 0 0 -0.000321279 0.0129318 0 0 -0.000751728 0.00979734 0 -0.016341 0 -6.60369e-05 0 0 -7.8266e-06 0 0 -0.0488804 0 0 0 0 0 0 0 0.00984667 0 0 -0.0108858 0 0 0 0 0 0 0 -0.000372263 0 -0.0639219 0 0.000333414 0 0 0.000374256 -0.0133095 0 0.000833969 0 0 0 0.11194 0 0.000537585 0 0 0.00210655 0 0 0 8.8984e-06 0 0 0 0 0 0 0.207491 0 0.0874546 0 0 0 0 -0.243235 0.049011 0 0 0.121814 0 0.0117561 0 0.00154093 0 0 0.0244198 0 -1.29024 -0.122308 0.010957 0.0149046 0 0 0.00281187 0 -4.88716 0 -6.06637 -1.08662 0 -0.705127 -2.63104 5.96446e-05 0 -0.0480109 0 0 0.0131006 0 -2.23802 -0.108713 0 0 0.0172341 0 0 0.475911 -0.330239 0.330973 0 2.41831 0 0.620117 0.0567441 -0.0521051 0.27139 -0.0432296 -0.869775 -0.296103 0.0674851 -0.174794 10.166 -0.0306987 0 0 0 -0.0199715 -0.0350037 0 0 0 0 -0.0336135 35.9107 0.437604 4.68744 0.372674 -0.412264 2.27161 -0.0661946 0.0522853 -0.0494198 0.284775 0 0 0 0 0 0 +85 0 0.281817 0.052221 1.9647e-05 0.00198799 0.0266527 -0.154243 0.736196 0.575997 4.82237e-05 0.0415366 0.00112777 0.416491 -2.368e-09 0.203957 -2.88449e-05 1.04814 4.24608 0.00286699 -8.15213e-05 1.49912 -0.000639083 0.267415 3.05708e-09 -0.00318771 0.526202 -0.00578478 -0.00285748 0.568463 0.788196 -0.183089 3.9296e-07 -0.00406874 0.112317 -0.0518886 0.457025 5.09732e-06 -0.0219831 -1.53553 0.000793376 0.348461 -3.04385e-07 -0.268306 3.3813e-06 1.95151 -3.73539e-05 -0.197113 0.607651 -0.0118069 -1.3329e-06 0.109472 -0.0888064 -0.480146 3.90686e-05 -3.5807e-05 -0.00176005 1.2788 -0.169168 -0.00196513 0.00596316 1.92216e-07 -0.606935 -1.98092 -0.640612 0.339823 -0.0795194 -0.230561 -0.364103 -0.0195602 -2.09725e-07 -0.173256 -0.16396 0.00108046 0.0185511 0.248792 -0.163627 -0.135374 7.10653 0.219395 2.56343 0.205405 -0.25192 1.63765 -0.0182404 0.00666831 -0.222232 0.860868 3.80706e-09 9.75615e-09 -2.63234e-05 -0.00135297 -0.584176 0 0 0 0 0 1.9647e-05 0.00198799 0 0 0 0 0 0 0 1.27005e-05 0 0 0 0 -1.64043e-06 0 2.5916e-07 -1.96286e-05 -0.000264469 0 0 0.000180716 0 0 2.96877e-05 -0.00288937 0 0 4.15078e-05 -0.00101675 0 0.00150364 0 3.50708e-06 0 0 5.46024e-07 0 0 0.00449746 0 0 0 0 0 0 0 -0.000871243 0 0 0.0007978 0 0 0 0 0 0 0 6.07243e-05 0 0.0074326 0 -7.07419e-07 0 0 -3.81077e-05 0.00121105 0 -0.000139872 0 0 0 -0.0102995 0 0.000275117 0 0 -0.000193823 0 0 0 1.13975e-05 0 0 0 0 0 0 0.0266527 0 -0.154243 0 0 0 0 -0.0467241 -0.228528 0 0 -0.0489132 0 -0.00309977 0 -0.0011866 0 0 0.261522 0 0.011877 -0.0326045 -0.0032981 0.00735447 0 0 -0.0232361 0 3.63269 0 -2.72848 -0.0803847 0 -0.361071 -0.542294 -4.69016e-05 0 0.0056031 0 0 -0.0217757 0 0.840598 0.81184 0 0 0.0549796 0 0 0.144209 -1.74571 0.321093 0 0.306292 0 0.667913 -0.0367841 -0.0308907 -0.268727 0.0441602 -0.50316 -0.471011 -0.0917319 0.0980546 2.19135 -0.0508494 0 0 0 -0.0158408 0.00155527 0 0 0 0 0.0333984 19.227 0.652721 3.49455 0.267173 -0.224427 1.35865 -0.0313275 -0.0192053 0.000160415 0.357796 0 0 0 0 0 0 +86 0 0 0 -0.192569 -0.0152789 0 0 0 0 2.86995 1.36606 -0.0473332 0 0.364996 0 -0.0184284 0 0 0.56098 0.194665 0 0.441662 0 -0.40729 1.36678 0 0 -0.640971 0 0 0 0.0817475 -0.387043 0 -1.18579 0 -0.000466802 -1.11781 0 0.0679537 0 0.242717 -2.59504 0.244199 0 -0.40905 0 0 -1.12866 -0.949244 0 0.31457 0 1.44543 0.497562 0.0474978 0 0.97845 0.139452 -0.424528 0.87066 0 0 0 0 -0.68304 0 -1.32326 -0.19231 -1.51924 -2.09986 -0.424257 -0.293264 1.64904 0 0 2.68723 0 -4.31755 0 0.277909 -0.113928 0 -3.07535 1.18051 -0.454932 0 0.863542 -0.893479 0.917488 -0.339386 0 0 0.112974 0.0154989 0.115663 -0.00167963 -0.192569 -0.0152789 0.0546519 -0.0597658 -0.179242 -0.000422436 -0.00862743 0.0235191 -0.00115401 0.0600624 0.0220051 -0.00390638 0.0159667 0.106727 -0.157373 0.237228 0.0302117 -0.832666 0.036895 0.00193955 -0.43022 -0.433489 0.0101005 0.00278156 -0.816469 -0.570397 -0.159554 0.0099321 -0.0500749 -0.541033 -0.0525138 -1.57609 -0.0167952 0.137471 -0.00841395 0.0893642 0.0536418 -0.028605 0.000268578 -2.53356 0.322715 0.192488 -0.00426762 0.613326 -0.054995 -0.024062 -0.0148555 -0.119283 0.043241 0.110482 -0.352143 -0.173511 -0.0725474 0.0507956 -0.0431041 -0.12928 -0.102504 0.0644304 -0.0625145 0.145107 0.967542 0.0180949 -0.151696 -0.0483515 0.145788 0.225501 0.249995 -0.033067 -0.165802 0.0253528 0.331467 0.0117426 10.3298 -0.891047 1.02438 0.328783 -0.640825 1.32187 -0.029451 0.0556669 -0.113507 0.0547352 0.0078553 -0.0159534 0.0308384 -0.063704 0.125525 0 0 0.115663 0 -0.00167963 0 0 0.945575 0 -0.612232 0.0336995 -0.0417773 0.356111 0.00531575 0.0593091 0.1181 -0.0970955 -0.0218397 0.196467 0 0 0 0 0.0785823 0 -0.349799 0 -0.412223 0 0 0.0683877 0 0 0.0109844 0 0 -0.0116892 0.00321629 0 0.00670042 0 -0.0981231 0 0 0 -0.0012245 0.0363979 0 0 0.0227297 0 0 0 0.205517 0 -0.550849 0 -0.118414 -0.210113 0.232838 0 0 -0.304454 0.0293787 0.338135 0 0.197211 0 0.0116421 0 0.276293 0.0168378 -0.215334 0.0846403 0.254243 0.0983974 -0.295251 0 -1.28097 0 -1.21417 -0.0304978 0 -0.62162 0.209707 -0.0443872 0 -0.453126 0.0558491 -0.0618245 -0.106021 0 0 +87 0 0 0 0.251411 0.174361 0 0 0 0 -4.27476 -2.15839 -0.596198 0 -0.329918 0 0.221958 0 0 -0.647154 0.38837 0 -0.501998 0 0.627677 -1.41536 0 0 1.19821 0 0 0 -0.0917295 1.29206 0 2.06785 0 -0.0183395 2.14921 0 -3.43307 0 0.643474 3.06262 -0.769219 0 5.12565 0 0 2.92143 3.65474 0 1.98953 0 -1.64678 0.64981 -0.526177 0 -1.60864 -1.4074 -0.789448 -3.84732 0 0 0 0 -0.110838 0 1.30969 2.03149 2.53369 3.40975 0.720608 -1.66426 -2.32919 0 0 -4.57746 0 7.051 0 -10.5231 7.57174 0 -3.67728 2.61676 2.07286 0 -19.1849 11.1288 -6.44638 5.372 0 0 -0.591599 -0.0811614 0.354078 0.0764549 0.251411 0.174361 -0.126006 -0.0272245 0.33772 0.00293127 0.000170945 -0.00284253 -0.0057327 -0.02307 -0.0819502 0.0305327 -0.0542134 -0.411183 0.260346 -0.776071 -0.0132568 1.53385 0.489802 -0.00778138 -0.154212 -0.68613 -0.0421674 -0.0114377 1.013 -0.360195 -0.279391 -0.0352511 -0.213649 1.3581 0.049832 1.47736 0.0443178 -0.523858 -0.0673307 -0.237156 -0.155672 0.290942 -0.00226149 1.59243 -0.0329275 -0.603118 0.00599849 -1.00571 -0.0876683 0.0778848 0.0258273 -0.174551 -0.0430841 -0.118918 -2.09272 0.135881 0.207523 -0.120277 0.118152 0.293038 0.0306237 -0.139418 0.25354 -0.251478 2.02851 0.58206 0.285135 0.0463269 -0.0856418 0.0850264 0.866177 0.376992 -1.26084 -0.0210909 0.0720608 -0.0499971 -6.49262 1.58123 -1.68964 -0.664769 0.685766 -0.0568367 0.101163 -0.146907 0.202678 -0.0714105 -0.0488245 0.0653 -0.0752706 0.0287075 0.219803 0 0 0.354078 0 0.0764549 0 0 -0.31282 0 0.512084 0.0833757 0.0103001 -0.167734 0.00942072 -0.00345006 0.00481241 0.0862546 -0.0289714 0.631993 0 0 0 0 0.275467 0 0.188818 0 0.287642 0 0 -0.478031 0 0 0.0071478 0 0 0.0541691 -0.00795533 0 -0.0441257 0 0.139218 0 0 0 -0.00403015 -0.0854068 0 0 0.00736771 0 0 0 -0.0426757 0 0.248509 0 -0.13873 0.110976 0.598886 0 0 -0.176405 0.440617 -0.0872785 0 0.405783 0 0.208809 0 0.124742 -0.466781 0.681716 -0.585208 -0.615303 -0.125395 -0.149021 0 0.749983 0 -2.6616 1.78378 0 -1.82343 1.06083 0.317112 0 -1.84909 1.24608 -0.504694 0.430192 0 0 +88 0 0 0 -0.292515 -0.440274 0 0 0 0 -0.0638942 4.84691 -0.170889 0 0.462514 0 0.132791 0 0 1.05998 0.564629 0 0.515979 0 -0.380276 1.74216 0 0 -0.658196 0 0 0 -0.163495 0.548155 0 -1.15971 0 -0.0671974 -1.7625 0 0.821933 0 0.751404 -3.72635 0.102141 0 1.35573 0 0 2.00969 -0.393786 0 1.00408 0 -1.5933 0.455969 0.0369679 0 -0.382111 0.123015 -2.26962 -0.648562 0 0 0 0 0.27177 0 -1.67428 -1.70325 -1.24244 -6.9566 -0.0414827 1.17637 -0.501876 0 0 1.40522 0 -14.7893 0 -1.07051 -3.41109 0 -6.46783 2.08199 -5.7257 0 -3.45909 0.0763719 -1.44825 -1.70174 0 0 -0.062405 -0.00856134 -0.130279 -0.00709993 -0.292515 -0.440274 0.000781489 0.0477191 0.0145656 0.000212298 0.00594375 0.024029 -0.00956713 0.264498 -0.0131294 0.00186289 -0.0228488 -0.0489291 0.278411 -0.144687 0.0935281 -0.546516 1.00997 -0.0011409 0.237765 0.433807 -0.00485142 0.00962204 -0.627507 1.8163 0.377934 -0.00639989 0.13466 0.0687594 -0.0143529 -1.27328 0.00314576 -0.0365946 0.0635993 -0.0619448 0.0362669 0.0116696 -0.000889329 -3.50509 0.331582 -0.299534 -0.000791119 0.0877295 -0.412268 0.0259743 -0.00929273 1.07998 -0.0375865 -0.000891084 0.899172 -0.0224566 0.0451195 -0.0229864 0.033316 0.0259012 -0.0160522 -0.0603141 -0.0816909 -0.0814498 -1.26877 -0.513805 0.03825 -0.0917248 -0.0846586 0.0792954 0.184085 -0.336328 0.712822 0.0300783 -0.0179174 -0.00682288 14.2909 -0.0656776 -0.537673 0.289487 -0.463449 0.608316 0.0296329 -0.0638921 0.168894 -0.561312 -0.00411409 0.0120204 -0.0441673 0.101007 -0.297329 0 0 -0.130279 0 -0.00709993 0 0 -0.249761 0 -1.35472 0.00224336 0.0528526 1.67833 0.00261581 0.250391 -0.0353301 -0.130258 0.121696 -0.000859574 0 0 0 0 0.586914 0 0.455076 0 -0.429411 0 0 0.378838 0 0 -0.00542134 0 0 0.0874179 0.0088583 0 0.0324174 0 -0.245751 0 0 0 0.0123708 0.0805318 0 0 0.156256 0 0 0 -0.434861 0 0.183693 0 -0.566763 0.209783 -1.21729 0 0 -1.11934 0.215578 0.373691 0 0.0123408 0 0.137507 0 -0.551089 -0.49938 -0.164526 -0.0305856 0.234486 0.00716555 0.0185185 0 -6.05918 0 0.0357117 -1.76614 0 -0.423129 0.187624 -1.308 0 0.0976948 -0.209787 -0.260877 -0.239732 0 0 +89 0 -0.44032 -0.583985 -0.0648131 0.00679226 0.0701634 -0.0377753 0.0536749 0.276751 -0.175799 -1.32207 -0.226452 -0.591594 0.135686 -0.606136 -0.177826 -3.18417 -11.8959 0.0193219 -1.05098 0.384932 0.0185278 0.598117 -0.171847 -0.549347 -0.0887603 -0.950243 -0.224201 0.0480312 0.251012 -0.102802 -0.193676 -0.451072 1.14907 -0.381099 -0.0414477 -0.116272 -1.17658 1.50616 -0.500108 0.120675 0.177436 -2.03657 -0.318369 -3.04351 0.150853 0.0300005 0.131355 -2.27665 0.437751 -0.761894 -0.392314 6.87873 -0.061921 -1.1958 0.520379 -0.792993 -0.207794 0.321566 0.603488 -0.196665 -1.43392 -0.324283 -4.72102 0.791863 0.982283 -0.0348786 -2.01405 -1.54919 0.204927 1.30108 -0.349691 -0.343332 0.0932567 0.100481 -0.309509 0.685957 -13.9166 -1.01577 0.535654 -1.80237 2.13423 -3.27795 2.3582 -0.891514 1.10181 -1.33752 -0.615671 1.19169 -0.653582 0.753426 -0.47043 0 0 0 0 0 -0.0648131 0.00679226 0.00942029 0 0 0 0 0.00390839 0 0.00950797 0 0 -0.00259676 -0.0248189 -0.0239172 0 0.00556397 0.158243 -0.0671495 0 0 -0.883621 -0.0018181 0 0.585192 -1.15029 0 0 -0.1371 -0.201862 0 0.968589 0 -0.461868 0 0 -0.0677559 0 0 1.56112 0.0543027 -0.0346271 0 0.132739 0.0678181 0 0 -0.303061 0 0.0051853 -0.932512 0.0048357 0 0 0.0118309 -0.0239929 0 -0.01096 0.13219 -0.0405442 -0.597755 -0.060293 -0.00497137 0 -0.0382994 0.00858555 -0.290872 0.0853644 0.139798 0 0 0 -6.71612 0.393764 -0.636178 -0.156846 0.299499 -0.641137 0.00496915 -0.00956908 0.0196266 0.0221088 0 0 0 0 0 0 0.0701634 0 -0.0377753 0 0 0 0 0.0709244 0.12469 0 0 0.109979 0 0.0204298 0 -0.00347533 0 0 0.00874124 0 0.107306 0.0111847 0.0526093 0.00135845 0 0 0.0132228 0 -4.20087 0 1.66679 -0.407455 0 0.1364 0.519991 0.0089757 0 0.00653695 0 0 0.00124925 0 -1.18277 -0.425001 0 0 -0.0569885 0 0 0.109913 -1.22295 0.366134 0 -0.159745 0 -0.103961 -0.00792278 -0.146695 -0.0266564 0.0676607 0.302522 -0.320024 -0.116111 -0.409496 -2.11787 0.0346595 0 0 0 -0.034222 0.0132005 0 0 0 0 -0.0921587 -10.1307 -2.12454 0.464195 -1.10171 0.972876 -1.00881 -0.154037 0.0702442 -0.0937569 -0.1691 0 0 0 0 0 0 +90 0 0.5496 0.292426 -0.0730852 -0.271186 0.532602 0.0988293 -0.481092 -2.63809 0.86406 2.12015 0.139282 -0.174428 -0.0635535 0.456088 -0.0215308 0.87741 1.70918 0.0340416 0.117926 0.0380676 -0.0763894 -0.435436 0.136423 0.64842 -0.365503 0.443048 -0.2776 -0.023341 -0.537609 -0.024276 0.406328 0.00244055 -1.02102 -0.672514 -0.0197329 0.0602837 -0.874087 -3.25169 0.926054 0.0100793 -0.291889 -2.63045 0.520118 1.13644 -0.722947 0.00951347 -0.12962 0.310387 -1.46543 -0.776608 -0.374815 -9.50915 0.0387066 0.126981 -0.064725 -3.90154 -0.538511 -0.0514637 -0.450024 1.27199 1.0743 0.0174843 2.06862 1.89976 1.37245 -0.0230442 -0.892933 -1.84753 -1.49997 -2.30642 -0.0823739 0.844016 0.710299 -1.49467 0.0779398 -0.00974152 19.3691 -2.04973 10.6976 2.36861 -1.03147 5.74651 -3.47889 1.78574 -2.00612 5.36022 2.95053 -2.70997 1.77451 -1.47773 1.00755 0 0 0 0 0 -0.0730852 -0.271186 -0.0308853 0 0 0 0 -0.0133011 0 -0.0731723 0 0 0.0277096 0.202139 -0.414005 0 -0.0418113 -0.23702 -0.759383 0 0 1.18102 0.0147475 0 -0.643943 1.75881 0 0 0.183721 0.36404 0 -1.06094 0 0.57507 0 0 0.0934547 0 0 -1.63783 -0.18421 0.378357 0 -0.42871 0.135176 0 0 0.15966 0 -0.029855 1.62116 0.00558214 0 0 -0.056476 0.0742227 0 0.0490472 0.0479806 0.142567 -0.491732 -0.431925 -0.069142 0 -0.119859 0.110269 -0.335702 0.101178 1.09809 0 0 0 6.40182 -1.02435 2.22471 0.15087 -0.287346 0.623002 -0.0358592 0.0683568 -0.147572 0.301624 0 0 0 0 0 0 0.532602 0 0.0988293 0 0 0 0 -0.176767 -0.101191 0 0 0.328891 0 0.0405907 0 0.00793079 0 0 -0.144698 0 0.0482445 -0.093008 0.0408696 -0.0178945 0 0 0.0452901 0 1.11724 0 -1.77976 0.165722 0 -0.88127 -0.0254594 0.00311986 0 -0.0183269 0 0 -0.00166768 0 0.436014 -0.0517282 0 0 -0.0126951 0 0 -0.116558 0.210207 -0.650028 0 -0.0186072 0 0.754339 -0.308823 0.493786 -0.583254 -0.0757169 0.512202 -0.227248 0.189558 -0.0120565 -2.33509 0.027653 0 0 0 0.0451662 -0.137665 0 0 0 0 0.0518058 15.4115 -1.1599 5.81367 -0.38034 0.419409 1.90671 -0.423775 0.386364 -0.244121 0.754307 0 0 0 0 0 0 +91 0 0.208526 0.506952 0.41193 0.211097 -0.23676 -0.0980079 0.311508 1.83535 0.148658 -2.38972 -0.0888715 -0.707764 -0.664902 -0.345027 -0.0400319 0.73287 3.21695 -1.24961 0.0631712 -0.461608 -0.848799 -0.952133 0.791103 -1.30138 0.269549 0.426491 0.576377 0.0311142 0.539444 -0.103911 0.661279 -0.00854314 -1.60885 1.30418 0.0633603 0.00478729 1.03553 -1.1825 -0.37384 -0.095457 -0.679115 3.58066 0.0637606 -2.11818 -0.144433 -0.0155522 0.117785 0.208805 0.449015 1.34079 -0.221017 -2.27056 -0.240328 0.263664 -0.00604641 2.1218 0.649109 0.159896 1.18336 -0.112154 -1.02611 -0.200037 1.79159 -1.39469 -1.30325 0.121898 2.57358 1.65875 0.27603 3.39774 -0.0574447 -0.321459 -1.45296 0.405357 -0.133426 -2.00129 13.772 13.416 -6.49301 5.23326 -0.414621 -2.88497 4.15864 -1.92506 2.16518 -3.32704 0.58947 0.598998 -0.965461 0.962352 -1.01099 0 0 0 0 0 0.41193 0.211097 0.00660551 0 0 0 0 -0.00485853 0 0.0143045 0 0 -0.00346036 -0.0368822 -0.0231801 0 0.00143401 0.242776 0.0590678 0 0 -0.0401293 -0.002694 0 -0.249249 1.05765 0 0 -0.0130662 0.372599 0 -0.507241 0 0.0984315 0 0 0.00290018 0 0 -0.311161 -0.0666736 -0.0469081 0 0.0917674 -0.0484578 0 0 0.0948655 0 -0.00394822 -0.0640585 0.0126973 0 0 0.00227429 -0.0204818 0 -0.00542929 0.0104364 -0.00720617 -1.46203 0.0141509 0.00408623 0 -0.000449775 -0.026639 -0.106601 -0.116551 0.021399 0 0 0 0.605037 0.0490889 -0.0019371 0.015682 -0.0291033 0.0712716 0.00313068 -0.00589259 0.0135252 -0.00610782 0 0 0 0 0 0 -0.23676 0 -0.0980079 0 0 0 0 0.0832759 0.902142 0 0 -0.486675 0 -0.0563152 0 0.0163857 0 0 -0.000608614 0 0.109087 0.0687816 -0.0191043 0.00261544 0 0 0.0993507 0 0.122998 0 1.21348 -0.138134 0 0.712402 0.395876 -0.00127055 0 0.00650867 0 0 0.136642 0 -0.423711 -0.235948 0 0 -0.0202294 0 0 0.0566748 -1.32622 0.191272 0 -0.186123 0 -0.471892 0.462819 -0.453494 0.125088 -0.057734 -0.337755 0.347599 -0.112293 -1.06905 -0.788195 0.0216023 0 0 0 -0.0460506 0.0978535 0 0 0 0 -0.241759 -8.96971 2.08575 -4.34263 0.167852 -0.131853 -0.897677 0.365235 -0.318576 0.335136 -0.564878 0 0 0 0 0 0 +92 0 1.66544 0.880776 0.41375 0.0920457 0.138791 -0.0207779 0.471031 1.40757 -0.184592 -2.74111 0.0487753 -0.285598 -0.707081 -0.382677 -0.0183111 2.56404 12.1614 -1.31842 -0.05951 -1.27524 -0.839307 -0.920001 0.80196 -1.7122 0.386107 0.787824 0.59931 0.00409618 -0.109536 -0.0928892 0.669291 0.151806 -2.07804 1.3149 0.137583 0.0418166 1.23841 -5.34871 0.179335 -0.232668 -0.888949 4.85724 0.0218094 -1.25246 -0.881749 -0.0435858 0.00750398 0.874941 -0.0841277 0.846534 -1.44177 -0.314868 -0.547684 0.070296 0.0911224 5.46377 0.966163 0.446659 1.2392 0.395277 0.0229201 -0.177243 2.92009 -3.8935 -1.62613 -0.0292915 3.67287 1.89984 0.406959 1.21177 0.367903 0.00192514 -1.19416 0.315159 -0.0189701 -2.17414 19.8252 10.8874 -4.85443 9.68749 -6.66265 10.1991 6.80372 -3.30781 3.61834 -1.87136 3.30443 -0.457008 0.386645 -0.0519213 0.0450684 0 0 0 0 0 0.41375 0.0920457 0.00767635 0 0 0 0 -0.00585653 0 -0.0014553 0 0 -0.0044507 -0.00684112 0.113528 0 0.00478859 0.284912 0.061021 0 0 0.0652504 -0.000477673 0 -0.110995 1.72872 0 0 0.0017204 0.189197 0 -0.0892521 0 -0.0797308 0 0 -0.00795032 0 0 -0.619822 -0.0807988 -0.0706833 0 0.100376 0.0791707 0 0 -0.437974 0 -0.0129533 -1.21383 0.00250867 0 0 0.00871401 -0.0312087 0 -0.00873385 0.0598855 -0.00789883 -1.18856 0.0282399 -0.0395869 0 -0.00203765 0.00101651 0.188084 -0.211842 -0.316895 0 0 0 7.07832 0.719262 0.345389 -0.00314354 0.0966015 0.163546 0.00445428 -0.0045349 0.0220741 -0.0149734 0 0 0 0 0 0 0.138791 0 -0.0207779 0 0 0 0 -0.000836857 1.21088 0 0 -0.232475 0 -0.0394245 0 0.019401 0 0 -0.0464793 0 -0.0438924 0.0228852 -0.0105273 -0.00780966 0 0 0.14296 0 6.00938 0 -1.50551 0.157137 0 0.150208 -0.221072 -0.00357381 0 0.000228836 0 0 0.161059 0 0.912927 -0.247961 0 0 -0.037791 0 0 -0.0174975 1.1445 0.182182 0 1.08156 0 -1.26002 0.278696 -0.190541 0.281784 0.0292361 0.249769 1.21438 -0.231948 -0.736415 1.79109 0.0013052 0 0 0 0.177417 0.167382 0 0 0 0 -0.326762 13.6784 2.36078 -0.18796 0.830987 -0.694658 1.92452 0.217375 -0.236702 0.299111 -0.182311 0 0 0 0 0 0 +93 0 0.0991229 0.318922 -0.0213974 -0.299714 0.223243 0.0724448 -0.208875 -1.85007 0.620071 1.61723 0.166524 0.281915 -0.095166 1.35474 0.067852 1.65198 4.43568 0.0415701 0.091961 -0.326372 -0.110553 -0.440595 0.17127 0.281383 -0.334058 0.715534 0.00208515 -0.0201368 -0.198865 0.220429 0.350629 0.181764 -0.820189 -0.0697012 0.0174223 0.0765585 0.105706 -1.60928 0.278297 -0.0305446 -0.329062 -0.0742066 0.159196 2.50774 -0.710801 0.00290322 -0.0583381 0.462738 -0.329729 -0.663141 -0.241001 -3.93349 0.511846 0.13313 -0.0280935 -2.58166 -0.331148 -0.022198 0.336444 0.959242 2.59543 -0.062426 4.42674 0.930204 1.31583 -0.494765 1.65018 -0.929086 -1.27689 -1.53459 0.793557 -0.115101 0.989633 -1.18627 0.000366942 0.347473 13.64 -1.62277 7.56708 4.44482 -0.294492 1.44234 -1.60978 1.68418 -1.64776 3.00574 2.66379 -0.618991 0.518861 -0.0845359 0.0818228 0 0 0 0 0 -0.0213974 -0.299714 0.00504284 0 0 0 0 0.00318834 0 -0.0904069 0 0 0.0293635 0.209704 -0.410021 0 -0.0446111 -0.967434 -0.824594 0 0 -0.24675 0.0152867 0 -0.69128 -4.41987 0 0 0.0148657 -2.07761 0 -1.17831 0 -0.15951 0 0 0.00769785 0 0 -1.92023 0.0436699 0.398553 0 0.0675844 0.196 0 0 -0.0697331 0 0.01836 0.272997 0.0252858 0 0 -0.0508148 -0.0066732 0 0.0379388 -0.097127 0.136992 0.668329 -0.16958 -0.0761457 0 0.0354221 -0.187113 -0.403629 0.309777 0.258369 0 0 0 10.1761 -0.759731 2.5376 0.16716 -0.24609 0.461325 -0.0362848 0.0718072 -0.15686 0.28294 0 0 0 0 0 0 0.223243 0 0.0724448 0 0 0 0 -0.00930859 -0.0323667 0 0 0.212438 0 0.0237174 0 0.00753454 0 0 0.00786381 0 0.140025 0.005939 0.0106727 -0.000188661 0 0 0.0290857 0 0.599438 0 -0.0348555 0.0112908 0 -0.0694654 0.32055 -0.000279577 0 0.00276049 0 0 0.0122543 0 0.11878 0.278034 0 0 0.0193137 0 0 0.0955227 0.394075 -0.292847 0 0.399874 0 0.644054 -0.247789 0.198091 -0.402646 -0.108885 0.666922 -0.317379 0.239404 0.0984018 2.20727 0.1027 0 0 0 -0.0317096 -0.115246 0 0 0 0 0.0885926 -0.576474 -2.51547 2.36211 -1.02913 1.00262 -0.013231 -0.441476 0.371391 -0.166522 0.0851629 0 0 0 0 0 0 +94 0 -1.00306 -0.454923 -0.0620449 -0.0298645 -0.144387 -0.00144187 0.097606 1.34697 0.183024 0.316737 0.0225691 0.884651 0.0995829 0.622483 0.111845 0.586299 3.22606 0.33776 0.588261 -0.317661 0.201397 0.948902 -0.102053 0.288252 0.302194 -0.0682321 0.246444 0.00339711 0.175968 0.180276 -0.0363292 0.184688 2.60028 0.415636 0.036603 0.0109309 1.70223 8.65029 0.00568364 -0.0285034 0.121338 2.70466 0.028465 2.74215 0.111995 0.00387376 0.0281952 1.00474 -0.052784 0.482215 0.907807 1.53872 -0.308817 0.689019 -0.0334461 -3.35799 -0.267353 0.287726 -0.319407 -0.00375363 1.57675 -0.292216 -3.23029 -0.186677 -0.847092 -0.709521 0.471162 2.03582 -0.181722 1.93891 1.88564 0.0626561 -0.71404 -1.18493 -0.0965185 0.867145 -59.1789 -14.2039 -6.01777 -14.1083 6.01747 -9.714 -0.551724 0.386241 -0.991182 -1.43672 -0.419712 0.00471526 -0.352767 0.0229726 -0.0724017 0 0 0 0 0 -0.0620449 -0.0298645 -0.00238966 0 0 0 0 0.000913304 0 0.018301 0 0 0.00236102 0.0162728 0.027892 0 0.00503302 0.255399 0.105295 0 0 -0.100038 0.00118117 0 0.616746 0.907653 0 0 -0.0585813 0.551272 0 1.3698 0 -0.0943206 0 0 -0.0347966 0 0 3.08991 0.0125608 0.0339142 0 -0.031575 0.210774 0 0 -0.751608 0 0.00584558 -0.808266 -0.0013203 0 0 -0.00688377 0.0126824 0 0.0475086 -0.00795842 0.0320698 -0.64926 0.101974 -0.104654 0 -0.0207244 0.0314208 -0.695989 0.269338 0.0581642 0 0 0 -14.0077 0.347831 -1.61435 -0.297879 0.548336 -1.2105 -0.00333709 0.00541164 -0.0128277 -0.028429 0 0 0 0 0 0 -0.144387 0 -0.00144187 0 0 0 0 0.059853 -0.186224 0 0 0.00957481 0 0.00680556 0 -0.00400776 0 0 0.202977 0 0.203157 0.0229562 0.0164415 0.0235081 0 0 -0.0162831 0 -0.900307 0 2.97787 -0.147109 0 0.313344 0.799592 0.00423676 0 0.00610286 0 0 -0.0268304 0 -0.155235 0.64584 0 0 0.0738622 0 0 0.149725 -2.96128 0.308072 0 -1.30171 0 0.279141 -0.0522922 -0.127389 -0.164942 -0.0165611 0.120754 -0.662307 0.00474877 -0.0207891 -1.05617 0.100986 0 0 0 -0.195609 -0.0182973 0 0 0 0 0.0581951 -19.5434 -2.06251 -1.28342 -1.40205 1.29369 -2.32969 -0.0358945 0.0361964 -0.180207 -0.149167 0 0 0 0 0 0 +95 0 -1.18346 -0.236743 -0.0308378 -0.207368 0.346633 -0.097813 -0.482646 -1.49511 -0.312874 0.494182 0.0633347 -1.07025 0.000866535 -0.930823 0.0215074 -0.523892 -3.4078 0.129864 0.0622488 -3.01067 -0.00542369 0.0828685 -0.00301037 0.00279588 -0.205769 0.00973898 0.0349254 0.232662 0.178555 -0.469879 -0.0312629 0.251999 0.776107 0.219423 -0.00391866 0.0107584 -0.00236047 5.39759 -0.0961168 -1.37775 0.00647915 -0.100169 -0.00754637 -1.95563 0.0315211 -0.676455 0.0303117 0.626067 -0.00628033 1.38442 0.163237 0.957896 -0.0962638 0.0292208 -0.0712396 -0.0428797 -0.29132 -0.391205 -0.00041074 0.0090148 1.91652 3.57066 -0.0306215 -0.404718 -0.734067 -0.156224 0.515409 0.302098 0.07045 -0.246396 0.606626 0.0332949 -0.0214016 0.52719 -0.00628205 -0.774002 -19.631 -3.07387 -1.54146 -2.46518 2.4608 -9.10803 0.566089 0.415512 -1.5099 1.71365 -0.00766552 0.0120973 -0.0222641 0.00400882 -0.0062639 0 0 0 0 0 -0.0308378 -0.207368 -0.00620865 0 0 0 0 -0.000542049 0 0.0170085 0 0 -0.00582264 -0.0100527 0.017711 0 0.00179915 0.00785484 0.139171 0 0 0.11891 -0.000716263 0 0.0275694 -0.194023 0 0 0.0180607 0.0169724 0 0.143148 0 0.00516128 0 0 0.000836415 0 0 0.470669 -0.00755855 -0.0816003 0 -0.0866439 -0.0170208 0 0 0.065636 0 -0.0126892 -0.128402 0.0256036 0 0 0.0118937 0.0107243 0 -0.0239333 0.0699222 -0.0219854 0.0172595 0.0549129 0.0273987 0 -0.0229386 -0.049463 -0.0343871 0.0148154 -0.112436 0 0 0 -1.42413 0.180073 -0.360763 -0.043614 0.0697819 -0.131058 0.00750935 -0.0115103 0.020747 -0.0394868 0 0 0 0 0 0 0.346633 0 -0.097813 0 0 0 0 -0.209554 0.170422 0 0 0.758305 0 0.0848559 0 0.0341454 0 0 -0.712155 0 0.258979 -0.141668 0.204562 -0.0874934 0 0 0.263798 0 -6.15463 0 3.82531 -0.618248 0 -1.15553 1.2495 0.0193988 0 -0.0275759 0 0 0.0317898 0 -1.44786 -1.50777 0 0 -0.217285 0 0 0.320122 -2.3483 0.864193 0 -0.32241 0 -0.254209 0.232478 -0.415603 0.129206 -0.142188 -1.11809 0.0970639 0.066401 -0.454127 1.76148 0.0934962 0 0 0 -0.377095 -0.0995263 0 0 0 0 0.179073 -21.1085 -3.39615 1.70919 -1.26189 1.26518 -3.24965 -0.281907 0.32089 -0.529995 0.721136 0 0 0 0 0 0 +96 0 -0.00976625 0.177611 0.00623934 -0.00485417 -0.0810729 0.0602752 -0.212493 0.553923 0.0398007 -0.0695135 -0.128604 0.650603 -0.00145511 0.415645 -0.00360413 1.59186 5.18272 -0.1114 -0.0130546 1.5118 -0.017203 -0.179688 0.001602 -0.0504246 -0.041756 0.622421 -0.0114507 -0.0366668 0.0538741 0.136867 0.0100911 -0.116755 0.105598 -0.186189 -0.201182 -0.0149835 0.0100496 2.42175 -0.0160427 0.860553 -0.01008 -0.278416 0.00307028 2.04946 -0.0610644 0.431635 0.106337 -0.158155 -0.0280519 -0.310727 -0.140669 4.67904 0.0433637 0.029609 0.00803653 2.23258 0.280021 -0.0540399 0.149554 0.0254436 -0.102026 -0.669526 0.386847 -0.104862 -0.14427 0.435976 0.44346 0.106099 -0.0171811 0.843316 -0.0735709 -0.0177204 -0.157756 1.07742 0.0408516 0.954481 -12.1697 -1.77518 -2.94362 -2.42116 1.34295 -4.94642 0.291444 -0.196675 -0.236193 -1.45296 0.0148501 0.00115629 -0.00547965 0.000982261 -0.00188996 0 0 0 0 0 0.00623934 -0.00485417 -0.00400537 0 0 0 0 -0.000511484 0 0.016333 0 0 -0.00210356 -0.00184506 0.0111058 0 0.00194533 -0.0387415 0.104378 0 0 0.233456 -0.000149341 0 0.00935054 -0.555138 0 0 0.0383706 -0.187227 0 0.0629743 0 0.0299979 0 0 0.00505473 0 0 0.313681 -0.00714287 -0.0279111 0 -0.0562937 -0.00815077 0 0 -0.151034 0 -0.0081785 -0.208337 0.0188853 0 0 0.004327 0.00691209 0 0.00647704 -0.059932 -0.01236 0.206633 0.0590577 -0.00148271 0 0.014787 -0.0496864 -0.100893 0.0349178 -0.140206 0 0 0 -1.4557 0.153902 -0.434177 -0.0305265 0.062988 -0.142709 0.00289542 -0.00762803 0.0194953 -0.0552094 0 0 0 0 0 0 -0.0810729 0 0.0602752 0 0 0 0 0.0759186 -1.03239 0 0 0.0469226 0 -0.0152346 0 -0.101875 0 0 0.497537 0 -0.608628 0.0434069 -0.0216288 0.0600439 0 0 -0.690683 0 -7.4728 0 -0.097789 -1.19653 0 0.485062 -0.75616 -0.017233 0 0.010565 0 0 -0.162263 0 -3.32908 0.886771 0 0 0.10574 0 0 0.285113 -2.30241 -0.0993614 0 0.187595 0 -0.0201418 -0.0179904 0.0217735 -0.145352 0.0929575 -0.235866 -0.0500672 -0.244632 0.980646 4.93756 -0.0195811 0 0 0 -0.324749 0.0704768 0 0 0 0 0.411815 -10.5452 -1.88987 -1.54853 -0.0269559 -0.0117817 -1.18663 -0.06688 0.0492204 -0.102342 -0.410499 0 0 0 0 0 0 +97 0 -0.152816 0.144664 0.0231756 0.154646 -0.295692 0.171486 -0.624615 -0.0799519 0.234534 0.116496 -0.19697 -0.523536 -0.000683963 -0.812555 -0.000247965 0.676509 2.01471 0.123127 -0.0167578 -0.793146 0.0384051 -0.208063 0.00228778 0.0656113 -0.507205 0.407485 0.0209236 -0.554537 -0.00194596 0.0157422 0.0235914 -0.00618158 -0.0126514 0.33945 -0.442308 -0.0203157 0.0754512 1.55269 -0.148991 0.168723 -0.00509358 1.22826 -0.0121166 -2.55306 -0.0250879 0.524999 -0.231686 -0.117877 0.00208947 0.376446 0.406699 1.22017 0.111166 0.0327689 0.0434358 1.86245 0.650615 -0.255942 -0.269513 -0.00607745 1.7017 0.923135 -0.887183 0.0785816 -0.158864 -0.217549 -0.405101 -0.165915 -0.0530203 -0.398179 0.526038 -0.00261384 -0.327322 0.136571 0.0218519 -0.0691811 -8.32464 -2.72275 -0.344524 -1.25024 0.829227 -2.26196 -0.672988 0.487265 -0.332399 -0.795364 0.00610105 0.01779 0.000676671 0.00258807 6.82664e-05 0 0 0 0 0 0.0231756 0.154646 0.00440615 0 0 0 0 0.000385631 0 -0.00607633 0 0 0.00427297 0.00745881 -0.0124003 0 -0.000787558 -0.00481436 -0.0942646 0 0 -0.0437809 0.000530736 0 -0.0109078 -0.0237383 0 0 -0.00278945 -0.000857921 0 -0.0227365 0 0.00102565 0 0 0.000475768 0 0 0.106245 0.00538593 0.0599696 0 0.061595 0.0447628 0 0 -0.0773454 0 0.0090032 -0.0768677 -0.0168008 0 0 -0.00872654 -0.00760909 0 0.0110177 0.0282311 0.0163366 0.068712 0.0127025 -0.0157721 0 0.0106544 0.0303673 0.0104819 -0.00405425 -0.025121 0 0 0 -0.292696 -0.0669394 0.113135 -0.00976218 0.0148158 -0.0264388 -0.00550067 0.00825488 -0.0145611 0.0263209 0 0 0 0 0 0 -0.295692 0 0.171486 0 0 0 0 -0.407473 0.632332 0 0 -0.0284489 0 0.010698 0 0.0284686 0 0 -0.41125 0 -0.382983 0.02493 0.226072 -0.0585027 0 0 0.150903 0 1.23508 0 2.16598 0.250815 0 0.276426 0.170668 0.036438 0 -0.0471035 0 0 0.0889155 0 -0.0164519 -0.678197 0 0 -0.0823822 0 0 0.0943322 0.642384 0.371144 0 0.383525 0 -0.219427 0.171649 -0.218068 -0.0465983 -0.0912398 -0.0392535 0.351705 0.0877842 -0.328968 5.17183 0.0638452 0 0 0 -0.031124 0.00890725 0 0 0 0 -0.0667733 -10.3808 -0.11582 -2.43913 -0.460288 0.542171 -1.90234 0.0301661 0.0375748 -0.0630841 -0.208611 0 0 0 0 0 0 +98 0 -0.467531 -0.3134 -0.110501 -0.0276116 0.209551 0.0398845 -0.10724 -0.367398 -0.715191 0.824687 0.101077 0.156687 0.200151 -0.420524 0.141227 0.642989 2.6719 0.576177 0.830189 -0.187658 0.430066 0.745443 -0.270539 0.664322 0.000337986 -0.0480273 0.180847 -0.0215299 -0.425277 -0.0615603 -0.473721 0.260615 1.66996 0.36816 -0.0189736 0.0383064 1.59539 3.67529 0.424458 -0.0112292 0.283374 3.18586 0.118084 -0.34882 0.257452 0.00641612 -0.0972454 1.54043 -0.260702 -0.386644 -0.503963 -3.91814 -0.934868 0.841248 -0.282751 -0.344979 0.605389 0.270422 -0.73127 -0.378913 0.297882 -0.0621543 -0.140109 -1.55724 -0.633339 0.0205086 2.24369 2.51595 0.64272 -0.604237 0.80697 0.3146 -2.30618 0.22562 0.0901858 -0.684251 -26.2209 -8.85803 0.434705 -8.58725 1.46621 -0.436623 -2.24016 0.0324439 0.0953729 0.399947 -1.10419 -0.671304 0.775854 -0.619114 0.449742 0 0 0 0 0 -0.110501 -0.0276116 -0.038015 0 0 0 0 -0.0232259 0 0.0314939 0 0 -0.0123608 -0.125779 0.144642 0 0.0229743 0.597522 0.148784 0 0 0.541795 -0.00913569 0 0.545473 0.74689 0 0 0.0721346 0.770068 0 0.722171 0 0.348928 0 0 0.0510403 0 0 0.989906 -0.319795 -0.169835 0 -0.522623 -0.0679946 0 0 -0.0737198 0 -0.0826354 0.451976 0.117313 0 0 0.0275008 0.0622163 0 -0.040388 0.191686 -0.083682 0.539063 0.0228712 0.0536037 0 -0.113722 -0.131773 0.514171 -0.220007 -0.127389 0 0 0 -4.20425 0.535744 -0.768962 -0.0983612 0.187672 -0.402244 0.0168027 -0.0320317 0.0686604 -0.0589912 0 0 0 0 0 0 0.209551 0 0.0398845 0 0 0 0 -0.010239 0.227832 0 0 0.320567 0 0.0431104 0 0.00561678 0 0 0.00899396 0 -0.0708401 -0.0485094 0.0300189 0.00554987 0 0 0.0632751 0 -1.1842 0 1.25958 -0.0432623 0 -0.401455 0.198095 0.00512223 0 -0.00252766 0 0 0.0198654 0 -0.242194 -0.129592 0 0 -0.00628402 0 0 -0.0608931 -0.263662 0.0405096 0 0.64284 0 -0.145064 -0.0632336 0.0593461 -0.205818 0.0807576 0.412009 -0.0721298 -0.0936245 -0.388104 -1.31109 0.0255687 0 0 0 0.121628 -0.0201083 0 0 0 0 -0.121347 -9.0089 -1.75344 1.00212 -0.562542 0.290144 -0.373063 -0.185385 0.115629 -0.211307 0.269167 0 0 0 0 0 0 +99 0 -0.365481 -0.496609 -0.381518 -0.344192 0.3127 0.108946 -0.61707 -2.88729 -1.10259 4.79747 0.0691524 0.994303 0.663367 1.4652 0.104639 -1.38036 -7.21709 1.41002 0.314704 0.12786 0.806968 0.714116 -0.834344 2.32003 -0.425076 -0.485447 -0.706219 -0.0254141 -0.327027 0.425409 -1.12413 0.164323 1.78214 -1.16553 -0.0333242 -0.000374356 -1.56286 4.31552 -0.0588784 0.00852622 1.01108 -3.44192 -0.188431 3.52104 1.28638 -0.00105859 -0.103259 0.386734 0.21395 -0.314246 1.35268 2.03282 -0.285945 0.361164 -0.167384 -3.39834 -1.16232 -0.00306017 -2.83042 -1.18903 2.92815 0.0556854 -3.11968 1.86524 0.74276 -0.60654 -2.72884 -1.98972 0.939646 -5.37353 1.1789 0.0544741 1.43595 -0.841524 0.107837 2.09114 -29.5731 -24.0149 10.1773 -14.6439 5.03228 -1.61824 -11.8196 4.76598 -3.90729 4.18493 -5.51716 1.32008 0.0211022 -0.272363 0.34584 0 0 0 0 0 -0.381518 -0.344192 0.00474627 0 0 0 0 0.00143342 0 -0.0184043 0 0 0.00455862 -0.0752654 0.152672 0 0.0126159 -0.51839 -0.134341 0 0 -0.0992895 -0.00544292 0 -0.27765 -0.761434 0 0 -0.00369315 -0.446797 0 -0.786547 0 0.0528957 0 0 0.0244583 0 0 -1.46356 0.0194606 0.0604458 0 0.0633261 -0.092508 0 0 0.312416 0 0.038285 0.101926 -0.0758005 0 0 -0.00612504 0.00864041 0 -0.012985 0.000579001 0.0146626 0.372869 -0.236092 0.0463372 0 -0.0128641 0.1581 -0.265864 0.203696 0.504507 0 0 0 6.36863 -0.361603 0.903112 0.149105 -0.284057 0.60571 -0.00466086 0.00841384 -0.0181948 0.0390788 0 0 0 0 0 0 0.3127 0 0.108946 0 0 0 0 -0.103709 -0.730414 0 0 0.552114 0 0.0799335 0 -0.00814896 0 0 -0.0239496 0 0.161222 -0.0784301 0.0750129 -0.00587924 0 0 -0.0435149 0 -3.45879 0 0.39086 -0.00443153 0 -0.643035 0.341027 0.0135162 0 -0.0142612 0 0 -0.100373 0 -0.423557 0.286074 0 0 0.0163153 0 0 0.0619559 -0.573512 -0.600108 0 0.121836 0 0.595303 -0.367672 0.429134 -0.897611 -0.0942254 0.72952 -0.547301 0.333492 0.804333 4.74997 0.104489 0 0 0 -0.0323343 -0.240778 0 0 0 0 0.19581 -0.326818 -3.47204 4.65634 -1.19599 1.23101 -0.458215 -0.526671 0.481694 -0.478888 0.540655 0 0 0 0 0 0 +100 0 -1.32565 -0.859246 -0.152719 -0.0965437 -0.130079 -0.0106337 -0.221347 0.93398 -0.696177 -0.30295 -0.117006 0.243052 0.270421 0.163481 -0.0728991 -2.89841 -10.4523 0.332973 -0.397151 0.349735 0.232995 0.739317 -0.351692 -0.0501738 0.0369306 -1.02423 -0.201655 0.0178888 0.490348 -0.0693671 -0.543404 -0.167682 2.11902 -0.583723 -0.125232 -0.0707437 -0.757591 8.0069 -0.658119 0.0606451 0.396455 -2.36012 -0.406632 1.52325 0.433412 0.00506479 0.0956603 -0.890739 0.696175 0.0554573 0.880209 5.91658 0.410873 -0.453106 0.147036 0.12811 -0.747641 -0.199825 0.188557 -0.493022 -0.199506 -0.0711992 -4.98556 1.77623 0.05292 0.304913 -3.45247 -0.788959 0.6138 2.81614 -0.264233 -0.474174 0.460934 0.140642 -0.0268376 -0.44822 -41.2527 -4.0919 -6.6075 -9.33162 7.24947 -13.7835 0.778662 0.971354 -1.84601 -1.2882 -1.85886 1.81353 -1.2807 0.803055 -0.518557 0 0 0 0 0 -0.152719 -0.0965437 -0.025177 0 0 0 0 -0.0141103 0 0.0397968 0 0 -0.00748197 -0.0946799 0.282724 0 0.0277205 0.14929 0.385458 0 0 0.253116 -0.00686967 0 0.683796 -2.09674 0 0 0.016324 -0.342201 0 1.36625 0 0.147329 0 0 0.0162124 0 0 2.91702 -0.194433 -0.103757 0 -0.348028 0.128116 0 0 -0.730094 0 -0.0412623 -0.610883 0.124634 0 0 0.0141964 0.0497284 0 0.0213609 -0.0848744 -0.0150252 1.50675 0.444451 -0.0615536 0 0.0254719 -0.334943 -0.110249 0.238112 -0.94794 0 0 0 -12.0605 0.708825 -2.05815 -0.282708 0.539247 -1.1603 0.00968793 -0.0184569 0.0399312 -0.147626 0 0 0 0 0 0 -0.130079 0 -0.0106337 0 0 0 0 0.0805991 -0.571479 0 0 0.171892 0 0.0216945 0 -0.0163343 0 0 0.115594 0 0.30003 0.0456279 0.0234575 0.0118756 0 0 -0.105872 0 -4.36392 0 4.91814 -0.262113 0 0.463052 1.14996 0.00430727 0 0.00844338 0 0 -0.0812696 0 -0.786896 0.414321 0 0 0.0448163 0 0 0.170802 -2.61635 0.199661 0 -0.458206 0 0.814147 -0.202027 -0.0102733 -0.133463 0.0291146 0.249718 -1.15728 0.0540949 0.359498 4.56706 0.0951017 0 0 0 -0.244245 -0.0492869 0 0 0 0 0.200589 -36.3338 -3.41974 -3.21413 -1.84981 1.58843 -3.92341 -0.0995319 0.084004 -0.258751 -0.292683 0 0 0 0 0 0 +101 0 0 0 -0.352155 0.115963 0 0 0 0 -4.65427 0.745299 0.388132 0 0.660747 0 0.15976 0 0 0.325674 -0.169584 0 0.123848 0 -0.780055 0.299235 0 0 -0.556581 0 0 0 -1.36313 0.0127236 0 -1.2437 0 0.0760689 -2.70194 0 0.585473 0 1.01725 -7.72675 -0.076781 0 0.75173 0 0 -1.1295 0.785454 0 1.28939 0 0.00497619 0.171672 -0.265436 0 -1.12469 -0.470906 -0.871333 -1.99534 0 0 0 0 1.33358 0 0.684136 -2.99727 1.43551 0.148628 0.508186 0.322142 3.54922 0 0 1.39125 0 -2.83613 0 -0.689282 -1.09402 0 -2.25072 0.435271 -0.8623 0 -3.01084 -1.37776 1.36737 -1.56709 0 0 -0.149782 -0.0142225 -0.0361297 -0.0334569 -0.352155 0.115963 0.00174826 0.0442378 0.180649 0.000252044 0.00808486 0.00465454 -0.000413517 -0.0166904 -0.0120415 0.00343458 0.00287214 -0.0792841 0.0449274 -0.172369 0.0238921 -1.65851 -0.130917 -0.00078167 0.170695 -0.911016 -0.00326048 0.00474827 -0.277452 -8.02615 0.0627293 0.00311858 -0.037651 -3.553 0.0253357 -0.877425 0.0160018 -0.441655 0.0192731 0.02279 -0.0410867 0.0429172 0.000346954 -2.25727 0.0803365 -0.0606913 0.00207061 0.0499676 0.0980251 -0.00721828 0.0100045 -0.868988 0.00616054 -0.0154179 2.94148 0.126619 0.034587 -0.0505653 -0.0137361 -0.0176939 0.0635781 -0.0215264 -0.508452 0.0905652 8.97952 0.129244 -0.0690747 -0.023995 0.147614 0.0937135 -0.0391248 0.380085 0.899167 0.03176 0.0660082 -0.00790208 21.1711 0.873884 1.77777 -0.0957523 0.122363 -0.106168 -0.0202704 0.00467411 -0.0178553 -0.0214389 -0.00377684 -0.00107944 -0.00644386 -0.00599507 -0.0104492 0 0 -0.0361297 0 -0.0334569 0 0 -2.21163 0 -2.70499 -0.0422204 0.00478253 -1.05475 0.00224583 -0.201066 -0.330602 -0.0435013 -0.0308779 -0.666831 0 0 0 0 -0.517596 0 -0.0688153 0 -0.341929 0 0 -0.0229561 0 0 -0.0475316 0 0 -0.0981043 -0.0116574 0 -0.0235057 0 -0.47723 0 0 0 -0.00246034 -0.0621583 0 0 -0.250688 0 0 0 -0.152447 0 0.843402 0 -0.157543 -0.0363776 -0.0555535 0 0 0.487581 0.0417144 -0.54999 0 0.025486 0 0.0318663 0 -0.410054 0.196527 0.173162 -0.114009 -0.195481 -0.0640574 0.386329 0 3.55649 0 3.78312 -0.302019 0 1.87174 -0.645298 0.466418 0 1.15287 -0.401549 0.411151 -0.0519434 0 0 +102 0 0 0 -0.400499 -0.730465 0 0 0 0 -5.45879 2.82077 -0.166031 0 0.303232 0 -0.227648 0 0 0.391477 -0.234826 0 0.0858834 0 -0.789026 0.185672 0 0 -0.529899 0 0 0 -1.8897 -0.76387 0 -1.22325 0 -0.0711983 -2.36413 0 0.255615 0 0.80753 -5.96591 0.0232166 0 3.12241 0 0 -1.66827 0.468371 0 1.13969 0 -0.11083 -0.962087 0.853479 0 -0.583308 -0.163352 -0.719662 -1.8825 0 0 0 0 1.66213 0 0.01881 -4.18982 3.48596 1.22944 0.250348 0.221718 2.53438 0 0 -0.424587 0 -5.21866 0 -4.96534 -0.326952 0 -5.93277 2.08377 -2.98562 0 -8.58359 2.07152 -2.40148 -0.100064 0 0 -0.499394 -0.0474198 0.0210796 -0.0319104 -0.400499 -0.730465 -0.0214572 -0.0999117 0.585441 0.000900033 -0.017323 -0.00817415 0.0410452 0.0338141 -0.0357104 0.0126514 0.0503782 0.119422 -0.0888643 -0.485799 -0.00981918 -0.469702 -0.0703179 -0.0023855 -0.522577 -0.0262737 0.00944462 -0.00257519 -0.0936825 -3.28673 -0.0951859 0.0155655 0.00639762 -1.17957 0.0735419 0.0197217 0.0524595 0.292031 -0.0172773 0.173604 0.0510419 0.167134 0.00340259 0.318004 -0.179716 0.568412 0.00632506 -0.348845 -0.825267 -0.0460019 0.0464462 0.447338 -0.0260306 -0.0622878 -2.26673 0.027331 0.0939888 -0.132629 -0.0934123 0.0207751 0.186873 0.162266 0.365337 -0.120171 4.53686 -0.454762 0.0124796 0.0167163 0.0517307 -0.0561747 0.473431 0.389409 -0.455903 0.0745512 -0.121568 -0.0243802 -2.98258 -3.45672 0.165798 -0.699741 -0.514526 0.419892 -0.0948602 -0.068744 0.00202018 0.0549336 -0.0128051 -0.0098093 -0.0107713 -0.0143103 0.0158556 0 0 0.0210796 0 -0.0319104 0 0 -0.878565 0 0.259265 0.145587 0.0279429 1.38979 0.0234266 0.232503 -0.0924476 0.0137634 0.0476387 0.850987 0 0 0 0 0.365007 0 0.137557 0 0.016572 0 0 -0.0673067 0 0 -0.010637 0 0 0.0696818 0.0013417 0 0.00700756 0 0.157676 0 0 0 0.00682807 -0.00889844 0 0 -0.0507626 0 0 0 -0.327818 0 0.388046 0 -0.281681 0.303192 -0.190817 0 0 0.0320153 0.0971916 -0.88134 0 -0.278694 0 -0.135371 0 -0.276186 -0.17608 0.129543 -0.259258 0.0238062 0.0424238 -0.255611 0 -5.26066 0 -3.06476 0.244137 0 -1.5911 0.547417 -0.463141 0 -1.42274 0.5913 -0.335059 0.0360748 0 0 +103 0 0 0 0.027516 -0.116923 0 0 0 0 1.20082 -0.512625 -0.131808 0 0.0450792 0 0.0128034 0 0 -0.125319 0.2207 0 -0.0134435 0 0.250294 -0.155653 0 0 0.0249599 0 0 0 0.685703 0.0728464 0 -0.000971974 0 -0.0297493 0.868714 0 -0.280474 0 0.0711985 2.27376 -0.0969495 0 0.202058 0 0 1.14501 0.10371 0 -0.605361 0 1.02858 0.612514 -0.469525 0 0.635411 -0.11592 0.444666 0.3572 0 0 0 0 -0.185103 0 -0.258552 0.768922 -2.54965 0.426588 -0.247579 -0.22645 -1.32939 0 0 -2.00821 0 2.72112 0 0.172762 0.448562 0 1.25493 -0.749524 1.11341 0 0.471308 -0.200565 0.315473 0.114217 0 0 -0.0628595 -0.00596881 -0.0236714 0.0256094 0.027516 -0.116923 0.0060869 -0.0900349 0.140321 0.000108953 -0.0140453 0.00200939 0.017419 0.095355 -0.00481727 0.00150529 0.0100691 0.0233181 0.200913 -0.0676061 0.0328738 -0.214796 0.502515 -0.000316298 -0.565466 0.00441008 0.00162746 -0.00775259 0.163555 0.407234 -0.178699 0.00511113 -0.135461 -0.174572 0.0106295 0.459326 0.0101304 0.0359027 -0.0380705 0.0813919 -0.0445334 0.0192911 0.00107691 1.49855 0.0347731 0.141968 0.000868809 0.122094 -0.194363 -0.0151176 0.0146963 1.47663 -0.0337526 0.0165735 1.77365 -0.0519787 0.0133798 -0.0184598 -0.0168217 -0.00790582 0.0354884 0.141036 0.00830338 -0.126059 7.56799 0.224639 0.0314189 0.0647129 0.031835 -0.263863 1.5029 0.0609484 -0.669145 -0.00227198 -0.151504 -0.00321162 -14.055 -1.36441 -3.1292 -0.151774 -0.425399 0.713204 -0.0145991 -0.0399712 0.0671695 0.050282 -0.00159635 -0.00418481 0.00636873 9.80739e-05 0.0297668 0 0 -0.0236714 0 0.0256094 0 0 0.294537 0 0.791771 -0.0309638 0.0736124 -0.0751752 -0.00523524 -0.0444577 0.0736096 -0.00577371 0.0946242 -0.182695 0 0 0 0 -0.0634938 0 0.542094 0 0.0848939 0 0 0.143886 0 0 0.0134087 0 0 -0.0182389 0.0043674 0 0.0175839 0 0.153853 0 0 0 0.0115608 0.0318762 0 0 0.0232988 0 0 0 0.101453 0 -0.223771 0 0.77978 -0.276667 0.869331 0 0 0.366159 -0.140299 0.403418 0 -0.082848 0 0.176442 0 0.168796 0.21509 -0.0545224 0.14786 0.0394036 -0.130019 -0.235774 0 1.32996 0 0.71162 -0.861536 0 0.379631 -0.303254 0.000533111 0 -0.0261553 -0.0499469 -0.00432608 -0.012814 0 0 +104 0 -0.167967 -0.0601262 0.34633 0.158126 -0.24275 -0.119082 0.523029 0.706444 0.693517 -1.77477 -0.0113248 -0.233525 -0.560211 -0.131214 0.176843 -0.684944 -4.9249 -0.600181 0.74917 -0.810152 -0.297742 -0.128528 0.698353 -0.635031 0.163344 -0.0795852 0.559091 0.00482274 0.233532 0.019918 0.832224 0.347174 -0.303186 0.973937 0.114057 0.0658917 2.27067 -1.74999 -0.29603 -0.237199 -0.750782 4.25625 0.141884 -1.7137 -0.597409 -0.0681217 0.0377158 1.50922 0.0367886 0.446263 -0.608946 -0.0566174 -0.751981 0.87266 -0.418082 -0.706133 1.01288 0.582268 0.707579 0.547831 -0.0344389 -0.280499 0.518103 0.121053 -0.302817 -0.444466 1.05564 1.68506 -0.479221 -1.05164 -0.00476922 -0.229184 -2.79648 -0.634773 0.174936 0.0822755 -0.639232 2.83638 -0.62388 3.80408 -0.744377 0.660841 2.53853 -1.3649 1.4485 -1.46871 2.28236 0.0577743 -0.182958 0.328858 -0.205726 0 0 0 0 0 0.34633 0.158126 0.00228569 0 0 0 0 -0.00195371 0 0.0178176 0 0 0.00470881 0.0560114 0.00694145 0 0.00323128 0.749137 0.0937746 0 0 0.315246 0.00296366 0 0.0414201 2.63782 0 0 0.0399189 1.40668 0 0.590946 0 0.261765 0 0 0.0368112 0 0 1.67028 -0.0368637 0.0891498 0 0.0435258 -0.214864 0 0 0.652132 0 0.00167563 -0.705056 -0.00713926 0 0 -0.01014 -0.00588268 0 0.0270417 0.144121 -0.00727727 -2.21057 -0.0567267 0.0475174 0 -0.011136 -0.0306885 0.127646 -0.106633 -0.0551135 0 0 0 -16.5227 -1.2252 -1.37515 -0.0800922 -0.06948 -0.143281 -0.00428119 -0.00374481 -0.00736159 -0.00927544 0 0 0 0 0 0 -0.24275 0 -0.119082 0 0 0 0 -0.0223636 0.185344 0 0 -0.576463 0 -0.0618405 0 -0.0106484 0 0 0.043026 0 -0.128308 0.027331 -0.0376881 0.00832235 0 0 -0.097213 0 -1.66137 0 -2.27568 -0.044489 0 0.217586 -0.628587 -0.00251574 0 -0.00567876 0 0 0.0201902 0 -0.286402 -0.332403 0 0 -0.0227472 0 0 -0.0914261 0.442675 0.0987957 0 -0.347348 0 0.326063 0.191405 -0.14515 0.0514836 -0.0284963 0.29742 -0.329866 0.0551254 0.247576 0.400258 -0.0424188 0 0 0 0.00097744 -0.0272054 0 0 0 0 -0.00165839 14.3192 3.07541 0.0388356 0.999907 -0.65323 0.928572 0.309437 -0.227123 0.277248 -0.106921 0 0 0 0 0 0 +105 0 -1.09458 -0.304431 -0.19365 -0.270577 0.0702304 0.0527487 -0.560306 -1.02551 0.788407 2.88118 0.17363 0.124734 0.246765 0.537765 0.240216 -0.600051 -0.802118 0.912345 0.80194 0.211466 0.411059 0.100426 -0.240636 1.03774 -0.3586 -0.297982 0.433877 -0.0417064 -0.506604 0.0509389 0.00741443 0.534206 0.286744 0.819255 -0.157149 0.047659 2.43257 2.66865 0.425372 0.0638645 0.288651 3.84269 0.0872729 1.74156 0.267751 0.0322692 -0.141454 1.71065 -0.475726 0.493138 0.780742 0.56876 -0.394452 0.712872 -0.210973 1.09849 0.833584 0.0676822 -1.20396 0.276164 0.804086 0.726265 -1.21358 1.03827 -1.32767 0.0603748 -3.19403 1.81804 -1.08152 -0.492657 0.250038 0.330912 -3.05058 0.494818 -0.0058865 -0.455613 -5.03582 -3.51025 0.859499 -4.30724 2.20587 -2.47154 -4.82921 2.25187 -1.67626 0.716527 -1.02292 -0.585004 0.849787 -0.617898 0.446283 0 0 0 0 0 -0.19365 -0.270577 -0.00159166 0 0 0 0 0.00254978 0 0.0604802 0 0 0.0123531 0.1023 0.147469 0 0.0303848 0.519433 0.299307 0 0 0.849271 0.00547662 0 0.778936 4.94123 0 0 0.0952479 1.75552 0 1.67883 0 0.269793 0 0 0.0274993 0 0 3.96584 0.0466794 0.22779 0 -0.0372515 -0.33881 0 0 1.37578 0 0.0123666 -0.633059 -0.0199407 0 0 -0.0245063 0.0141331 0 0.0725467 0.218466 -0.0400335 -4.55195 0.0062145 0.155749 0 -0.0555247 -0.064478 0.543047 -0.352412 -0.00341084 0 0 0 -40.8991 -2.97642 -3.5696 -0.199436 -0.156823 -0.484201 -0.00982612 -0.00725635 -0.0316677 0.00744659 0 0 0 0 0 0 0.0702304 0 0.0527487 0 0 0 0 -0.00130048 -0.633421 0 0 0.550483 0 0.0712896 0 -0.00116236 0 0 0.0927374 0 0.228279 -0.0184541 0.105218 0.0116695 0 0 -0.00513051 0 1.97765 0 2.91769 0.178168 0 -0.198193 0.803153 0.0154033 0 0.00292275 0 0 -0.0748293 0 0.620409 0.575671 0 0 0.0805322 0 0 0.0370738 0.137556 -0.0537871 0 -0.22848 0 0.389692 -0.276836 0.15955 0.0229988 -0.00825525 -0.375108 -0.267747 0.135168 -0.0382344 -1.36827 0.022601 0 0 0 -0.171708 -0.119336 0 0 0 0 0.211637 -16.9011 -2.84822 0.271259 -1.06067 0.78062 -1.21945 -0.380792 0.275897 -0.239447 0.0864762 0 0 0 0 0 0 +106 0 0.157581 0.0748182 0.0136391 -0.021818 -0.065533 0.0323821 -0.277848 -0.65946 0.130308 0.416296 0.063135 0.153766 -0.0288742 0.174873 -0.0107521 0.825236 4.17146 0.0222579 -0.0892307 -0.638376 0.000880078 -0.013883 0.0424144 0.113672 -0.0972791 0.219766 0.0805336 -0.0195493 -0.233552 0.0580814 0.0794162 -0.0464524 -0.127439 0.219606 -0.0263726 0.0314156 0.109431 -0.440397 0.209589 -0.102387 -0.0477498 0.243858 0.0916095 0.79304 -0.058442 -0.00293816 -0.0705269 -0.149935 -0.164976 -0.121391 -0.0371788 -8.11265 0.0339591 -0.0734699 -0.0170859 -2.83927 0.122562 -0.368668 -0.0310629 0.0880978 -0.751501 -0.0304541 -0.570561 -0.455334 0.0420139 -0.22019 0.0654368 -0.273022 -0.155151 -0.169434 0.0778061 0.091868 -0.371989 -1.39072 0.0776162 0.751601 3.99282 -0.420157 2.2523 0.452045 -0.551024 1.23144 -0.432365 0.115104 -0.062885 0.610521 0.223273 -0.450027 0.471876 -0.2908 0.205743 0 0 0 0 0 0.0136391 -0.021818 -0.000250189 0 0 0 0 4.92095e-05 0 -0.0313686 0 0 0.00149218 0.0151604 -0.0876374 0 -0.0156012 0.12434 -0.171003 0 0 0.377375 0.000809019 0 -0.0723852 0.912308 0 0 0.064599 0.359725 0 -0.121325 0 0.218614 0 0 0.0366425 0 0 -0.235634 0.000751204 0.0272803 0 -0.00615021 -0.0848092 0 0 -0.522635 0 0.00110964 -1.28174 -0.00597467 0 0 -0.00322391 0.00152144 0 -0.0375984 -0.389029 -0.0204113 -3.53212 -0.086863 0.0169772 0 0.00903687 0.0386577 -1.24245 -0.00834693 -0.119277 0 0 0 2.0998 -0.0366049 0.909823 0.00995242 0.00684469 0.0372327 -0.00127647 -0.00126081 -0.000948725 0.0116027 0 0 0 0 0 0 -0.065533 0 0.0323821 0 0 0 0 -0.0104273 0.37749 0 0 -0.0940739 0 -0.0143755 0 0.0114347 0 0 0.171405 0 -0.011445 0.0200883 -0.00336306 0.0237331 0 0 0.0881677 0 2.48599 0 0.0389009 -0.146865 0 0.151138 -0.0713019 -0.00203713 0 -0.000995748 0 0 0.0481773 0 0.096085 0.753759 0 0 0.109175 0 0 -0.089065 0.0314882 0.114015 0 -0.0445892 0 -0.250181 0.0773392 -0.0920406 -0.0206038 -0.144464 -0.269199 0.286597 0.0325598 -0.332057 -2.71511 0.110978 0 0 0 0.0596287 0.0235302 0 0 0 0 -0.113103 -1.22574 0.476542 -1.24564 0.0058667 0.0118853 0.00293655 0.0228443 -0.0125301 0.0320838 -0.0516481 0 0 0 0 0 0 +107 0 0 0 0 0 0.618044 0.400796 -1.90553 -3.85534 0 0 -0.779752 2.2837 0 3.7507 -0.140328 0 0 0 -0.159278 7.04203 0 0 0 0 -0.870912 0 0 -0.0758199 4.6649 1.25451 0 -0.575663 0 0 -0.611128 -0.107602 0 0 -2.22084 3.48988 0 0 -0.437064 7.59461 0 1.40156 1.25499 -0.37771 0.891945 -0.903494 0.911412 0 0.167954 -0.323301 -0.0523329 -0.548103 0.465027 -0.0660231 0 0 2.88724 -7.36493 0 0.18789 0.235397 -0.715174 0 0 0 0 0.346001 -2.19456 0 -5.00465 0.24271 0 0 0 7.13214 0 3.31865 -5.12332 0 1.20438 -2.69126 6.26219 0 1.25256 -2.95186 6.39827 -13.2648 0 0 0 0.246166 0.0548499 0 0 0 -0.0117159 0 0 -0.00271325 0 0 0.0260493 0 0 0 0 0.0719923 0 0.0171917 0 0.109071 0 -0.040395 0.165584 0 0.00271884 0 0 0.0715008 0 0.0247344 0 0 0 0 0.0640003 0.0134565 0 0.0108242 0 0 0 0 0 0 0 0 0 0 -0.0631832 0 0 0 0 0 0 0 0 0 0 -0.0294383 0 0 0 -0.0318411 -0.0165817 0 -0.0811395 -0.0390743 0 -0.0137964 0 -0.0362656 0 0 0 -0.12489 0 0 -0.081871 0 0 0 -0.00514104 0 0 0 0 -0.0061628 0 0.618044 0.246166 0.400796 0.0548499 -0.189195 -0.0723093 0.391676 -0.486783 0.129996 -0.0502359 -0.0263135 0.221114 -0.00732424 -0.0301813 0.0648542 -0.0392342 -0.0648164 -0.303391 1.40687 -0.973712 2.08243 -0.184495 0.431703 0.103661 -0.174117 0.0199267 -0.278681 -0.0234372 10.08 -0.103109 6.11575 3.81351 0.00945555 -1.02965 3.77079 0.0312062 0.00127547 -0.0959799 -0.00338053 0.315778 0.0028455 0.000218164 6.44568 0.713829 -0.00803811 0.0043196 -0.0312925 -0.141499 -0.0583291 0.113954 0.943157 -0.472259 0.0966199 -1.8612 -0.11173 -0.708084 0.00715865 -0.0776739 -0.499799 -0.241152 1.31599 -0.0263793 0.0454659 1.31494 3.59647 -0.0642897 0.946361 -0.187149 -0.0177591 0.212581 0.0566652 -0.00393305 0.102402 -0.167267 0.0174251 -0.00605017 -35.328 -4.81899 5.50487 -0.464564 1.42917 -1.93241 0.158901 0.21005 -0.360685 0.749992 0.133034 0.0940909 -0.209192 0.399426 -0.374824 0 +108 0 0 0 0 0 0.221426 -0.0154176 0.604975 0.935972 0 0 0.000321165 -0.0586662 0 1.07967 0.0301888 0 0 0 0.078847 6.85289 0 0 0 0 0.173085 0 0 0.143142 0.231454 0.00978403 0 0.190211 0 0 0.125265 -0.00696683 0 0 -0.441583 2.25719 0 0 -0.153807 1.91703 0 0.502067 0.155119 0.482073 0.302784 -1.18036 0.312968 0 -0.0994709 0.034659 -0.0860479 -0.103869 -0.0180668 0.0610587 0 0 -1.54089 -7.48901 0 -0.0741292 0.159236 -0.919936 0 0 0 0 0.00620309 -0.703717 0 -1.90863 0.516975 0 0 0 -1.13176 0 1.25018 -2.56185 0 0.462867 -0.576642 -0.538548 0 0.563523 -1.01162 1.88658 -1.34614 0 0 0 0.0250666 0.00558525 0 0 0 0.0276955 0 0 0.00320008 0 0 0.0177135 0 0 0 0 0.0987738 0 0.011658 0 0.150115 0 0.233008 0.035266 0 0.000882588 0 0 0.00166635 0 0.00451275 0 0 0 0 -0.0601763 0.00386147 0 -0.00612372 0 0 0 0 0 0 0 0 0 0 0.0704746 0 0 0 0 0 0 0 0 0 0 0.124367 0 0 0 -0.011969 -0.00100105 0 0.00744592 0.141462 0 0.0359189 0 0.0468651 0 0 0 -0.171887 0 0 -0.00190804 0 0 0 -0.00647963 0 0 0 0 -0.000143627 0 0.221426 0.0250666 -0.0154176 0.00558525 0.37232 0.0114313 0.0398836 0.908887 -0.184339 -0.00511541 0.00522698 -0.159401 -0.000745812 -0.0227832 0.00660397 0.00542606 -0.00898283 -0.0308937 1.19622 0.375131 0.0737736 0.243815 -0.0507544 0.143728 0.00197735 0.0969699 0.0585775 0.0045701 4.07435 -0.112073 0.368005 0.451919 0.000962839 1.45871 0.295906 -0.00708418 -0.00153559 0.154496 -0.0172119 0.427635 -0.0211167 0.017508 1.89582 2.22146 -0.000597073 -0.00997577 0.272976 0.0392801 -0.116056 -1.1518 1.28364 -0.00648382 0.0209329 -3.52041 -0.0113772 0.351772 -0.0437288 0.358276 0.303307 -0.0929801 1.55117 0.224143 0.100844 1.00021 -9.46824 -0.0143924 0.272647 -0.0707902 0.0864068 0.283397 0.0467043 0.0612069 0.0104274 -0.146051 0.0109681 0.0369576 -2.1258 0.208849 -3.28046 0.00854659 0.666508 -2.48863 0.0560648 0.163507 -0.137666 -0.796747 0.0135465 0.109287 -0.163464 0.236449 -0.525812 0 +109 0 0 0 0 0 0.138221 -0.214971 1.12623 1.2335 0 0 -0.190345 -1.56056 0 -2.77828 -0.0614734 0 0 0 -0.0224752 2.63934 0 0 0 0 0.678567 0 0 0.662939 4.048 -1.17922 0 -0.452154 0 0 0.567997 -0.0372114 0 0 -0.886421 0.593311 0 0 -0.194719 -2.95097 0 -0.362102 1.53823 -0.297229 0.365071 -1.90842 0.272154 0 0.010945 -0.0970224 0.163505 -1.26951 -0.86554 -0.224554 0 0 -0.524472 -3.41499 0 -0.272668 0.367478 -0.131763 0 0 0 0 0.19455 -0.782408 0 1.43035 -0.0182009 0 0 0 -3.56744 0 0.47701 -5.45458 0 0.345899 -1.61289 -2.09003 0 0.688014 -2.09357 3.67252 -10.9454 0 0 0 0.0916471 0.0204205 0 0 0 -0.03462 0 0 -0.00474054 0 0 0.0106805 0 0 0 0 0.0328115 0 0.00705146 0 0.0496738 0 -0.255803 -0.271238 0 0.000244866 0 0 -0.0296814 0 -0.026858 0 0 0 0 -0.0505706 -0.0015814 0 -0.00403086 0 0 0 0 0 0 0 0 0 0 -0.0185065 0 0 0 0 0 0 0 0 0 0 -0.047567 0 0 0 -0.0228429 -0.00499539 0 -0.00322454 0.108675 0 -0.0241134 0 -0.0970946 0 0 0 -0.0568784 0 0 0.0339863 0 0 0 -0.00195787 0 0 0 0 0.0025583 0 0.138221 0.0916471 -0.214971 0.0204205 -0.345432 -0.0217537 0.14582 0.00851306 -1.22387 -0.0187027 -0.0235824 -0.352847 -0.0027268 -0.058385 0.0241451 -0.0822215 -0.0462559 -0.112952 0.826716 0.599387 -1.27741 0.178912 -0.177926 0.0660313 -0.236465 0.0970381 -0.727817 0.0198037 -8.36202 -0.23239 -3.0433 -1.62933 0.00352028 -0.0953443 -1.95864 -0.0250731 -0.00165073 0.0892545 -0.0170933 0.639267 -0.136785 0.0118709 -3.69099 1.22747 -0.00511835 -0.0219456 0.131621 0.10124 -0.0971339 0.469375 -0.723205 0.0828089 0.101119 -1.56326 -0.0415967 0.599324 -0.283615 0.323708 0.131217 -0.0688787 -0.322644 -0.460152 0.0665066 0.151542 -8.53979 -0.35467 0.278369 -0.106933 0.112708 -0.271325 0.119016 0.0560927 0.038124 -0.0315627 -0.0168894 0.239699 17.5798 3.09933 -0.276257 0.993463 0.518976 -2.28461 0.154567 0.277748 -0.592839 -0.00099641 0.0495281 0.179207 -0.279717 0.393912 -1.26206 0 +110 0 1.07195 0.00864504 0.0643405 0.244612 -0.0157802 -0.219406 1.75967 3.27397 0.439353 -1.41093 0.372868 -0.919563 -0.0110692 -1.05371 -0.000363494 0.678608 5.16697 -0.124019 -0.0214165 -5.80583 -0.0173059 0.506791 0.0142903 -0.293272 0.839967 -0.210899 -0.0327662 0.150234 -0.906501 -0.523445 0.0849465 0.191867 0.730585 0.220716 0.563139 0.0565723 0.0740775 -1.1341 0.788081 -2.35163 -0.0657993 1.50121 0.132134 -3.09222 -0.340322 -0.984407 -0.189226 0.348885 -0.340033 1.05295 -0.807053 1.59263 0.0245429 -0.022494 0.084911 1.40999 1.09145 0.668445 0.478232 0.129668 -1.68433 3.53209 0.359451 -1.51079 -0.620149 0.208451 0.619891 0.224243 -0.141479 1.01346 -0.426094 0.700197 -0.239041 0.329916 -0.393167 0.30232 4.58377 2.83867 -3.69909 1.15512 -1.57532 3.3291 0.834785 -1.09937 2.039 -3.55732 0.190162 -0.359222 0.614332 -1.20649 1.92353 0 0 0 0 0 0.0643405 0.244612 0 0 0 0 0 0 0 0.00365864 0 0 0 0 0.00836177 0 0.000960463 0.0398378 0.0375799 0 0 -0.0945266 0 0 0.000995329 0.285278 0 0 -0.0140861 0.115989 0 -0.0200002 0 -0.02759 0 0 -0.00413664 0 0 -0.0634844 0 0 0 0 0 0 0 -0.0425749 0 0 -0.166681 0 0 0 0 0 0 0 -0.0180662 0 -0.45242 0 -0.00788781 0 0 -0.000566379 -0.103218 0 -0.0474324 0 0 0 0.145384 0 -0.0426392 0 0 0.00273593 0 0 0 -0.00161955 0 0 0 0 0 0 -0.0157802 0 -0.219406 0 0 0 0 0.0635911 0.963632 0 0 -0.73449 0 -0.0763657 0 0.0495962 0 0 -0.966744 0 -0.625367 0.0710143 -0.246609 -0.0787205 0 0 0.474425 0 -1.97991 0 -4.65733 -1.42376 0 0.404781 -1.62779 -0.0263717 0 0.0199758 0 0 0.0937949 0 -1.94435 -1.68797 0 0 -0.150285 0 0 -0.0810678 -1.11572 -0.0586159 0 2.27894 0 -0.792254 0.0988673 -0.0776611 0.820113 0.101019 -2.06008 0.296742 -0.169993 0.185416 5.98166 -0.247665 0 0 0 0.364657 0.140241 0 0 0 0 -0.163318 29.1572 6.37103 -3.59303 1.36996 -0.977621 1.45033 0.266403 -0.216905 0.30798 -0.214306 0 0 0 0 0 0 +111 0 -0.478703 0.684775 0.0263918 0.100337 -0.0400696 0.196312 -0.658728 0.268859 0.180219 -1.01014 0.316316 0.820241 -0.0045405 0.784569 -0.0109004 1.86655 4.7475 -0.0604862 -0.0495751 -0.362711 -0.0164985 -1.16244 0.00586176 -0.279525 -0.766115 0.916419 -0.0242334 -0.801144 -1.25603 0.686849 0.0348442 -0.00824141 -1.76117 0.0210009 -0.776842 0.0434074 -0.020167 -2.78905 0.337818 0.37389 -0.0269902 0.462594 0.0559999 -0.268528 -0.139597 0.622009 -1.15989 -0.186754 -0.144251 0.241846 -0.732229 -1.89392 0.0808817 -0.0741293 0.0507374 -0.02019 0.380958 0.567341 0.418135 0.0531885 0.892169 -0.813522 1.43758 0.202093 0.0492526 1.6136 0.268078 -0.0631254 -0.0580334 0.675544 -0.327322 0.163178 -0.0313269 -0.173491 0.699057 -0.0479694 9.77067 3.29996 -0.807838 1.12314 -1.12067 3.02293 0.789042 -0.706813 1.39855 -0.521946 0.0780025 -0.151416 0.499024 -0.871587 2.66521 0 0 0 0 0 0.0263918 0.100337 0 0 0 0 0 0 0 0.00546234 0 0 0 0 0.00305617 0 0.000883857 0.00947099 0.0123924 0 0 0.0507429 0 0 0.0323003 0.216292 0 0 0.00699329 0.0259369 0 0.144981 0 -0.000247709 0 0 -0.00011754 0 0 0.365883 0 0 0 0 0 0 0 -0.0722086 0 0 0.0262036 0 0 0 0 0 0 0 -0.000439114 0 0.267777 0 -0.00340187 0 0 -0.000698068 0.0490752 0 0.00157904 0 0 0 -0.837899 0 -0.0164441 0 0 -0.0157681 0 0 0 -0.000534065 0 0 0 0 0 0 -0.0400696 0 0.196312 0 0 0 0 0.278255 0.74634 0 0 -0.402383 0 -0.0399399 0 0.0245683 0 0 -0.438815 0 -0.481579 0.103559 -0.282134 -0.0387686 0 0 0.220292 0 0.00965071 0 1.05621 -0.198056 0 0.679641 -0.369149 -0.0299663 0 0.0336422 0 0 0.0788503 0 -0.333535 -1.17114 0 0 -0.101053 0 0 -0.0483965 1.93152 -0.0912808 0 2.01158 0 0.0857312 0.0735212 -0.000400961 0.515816 0.102196 -1.18895 0.566004 -0.0972702 -0.220896 5.99219 -0.164181 0 0 0 0.216665 0.105015 0 0 0 0 -0.161461 -7.69041 2.28109 -4.85952 0.285353 -0.0918154 -0.939478 0.130714 -0.0868928 0.0790131 -0.286011 0 0 0 0 0 0 +112 0 0.188827 -0.487886 0.0242602 0.0922333 -0.275055 -0.146701 0.20312 1.11551 0.165663 -0.90274 0.0902781 -0.330226 -0.00417377 -0.699765 -0.00693399 -1.68951 -6.42167 -0.160991 -0.0585576 -3.26939 -0.0189275 0.633035 0.00538831 -0.149879 0.254318 -0.658306 -0.025477 -0.113311 -0.986457 0.00513448 0.0320299 0.01738 0.848018 -0.111873 0.204042 0.0151093 -0.0035189 1.44739 0.0937806 -1.45135 -0.0248103 -0.244086 0.0246737 -3.25054 -0.128322 -0.466467 -0.51948 -0.276691 -0.0615215 0.124919 -0.636296 -6.33948 0.0968946 -0.0888054 -0.142819 0.299772 -0.989488 -0.777706 0.254401 0.0488925 0.916525 6.80283 0.765778 0.0375876 0.19411 1.08998 0.438448 -0.086094 -0.0533461 0.0929098 -0.502954 -0.134267 0.00539734 3.34169 0.693432 -1.82162 -11.9192 -0.800191 -4.23525 -0.261232 -0.0941306 -2.04837 0.478259 -0.663328 1.35982 -1.87461 0.0717024 -0.0786289 0.411746 -0.502532 2.09319 0 0 0 0 0 0.0242602 0.0922333 0 0 0 0 0 0 0 -0.00297685 0 0 0 0 -0.00113643 0 -0.000176547 -0.0084966 -0.0205171 0 0 -0.201015 0 0 0.00226891 -0.816506 0 0 -0.0299659 -0.108492 0 0.00154429 0 -0.0308527 0 0 -0.0046085 0 0 -0.000827154 0 0 0 0 0 0 0 -0.025488 0 0 -0.0974638 0 0 0 0 0 0 0 -0.0490889 0 0.225474 0 -0.000224176 0 0 -0.00555861 -0.111814 0 -0.00372133 0 0 0 0.00189424 0 0.023498 0 0 3.56471e-05 0 0 0 0.000884208 0 0 0 0 0 0 -0.275055 0 -0.146701 0 0 0 0 0.204229 0.298032 0 0 -0.461373 0 -0.0507006 0 0.0181012 0 0 -1.49171 0 0.745333 0.101577 -0.110007 -0.200582 0 0 0.168908 0 -4.52336 0 1.21816 0.0875626 0 0.887663 0.892409 -0.0116213 0 0.014262 0 0 0.0271516 0 -1.03348 -2.79537 0 0 -0.364765 0 0 1.57635 2.38295 0.206098 0 3.98011 0 0.843511 -0.0147763 0.00350299 0.700798 0.0286741 -1.1534 0.146545 -0.00372828 -1.07869 9.19888 -0.0717213 0 0 0 -0.333569 0.0939042 0 0 0 0 -0.0230148 -7.59135 1.65432 -4.3935 0.483489 -0.375839 -0.728938 0.246448 -0.190457 0.182927 -0.568655 0 0 0 0 0 0 +113 0 0.00411173 0.869319 -0.050394 -0.226705 0.230464 0.0457535 -0.00543854 -1.20166 0.0269255 0.847227 -0.0177621 1.67887 0.0127497 0.87884 -0.00182179 4.85972 9.11015 0.0457021 -0.00702844 0.768276 -0.0649012 -1.9679 -0.00224434 -0.0198136 -0.0545178 2.54514 -0.0806364 0.00814997 0.0546973 0.283251 -0.0078493 -0.0167792 -2.44991 -0.185898 0.091077 -0.00696089 0.0604958 -4.55901 -0.112406 0.142072 0.081328 -0.904914 -0.0533097 4.54295 0.429002 0.0246969 0.0329595 -0.00688342 0.140064 -1.19133 0.695185 -1.86377 0.172195 0.249674 -0.136604 -3.91578 0.291061 0.0277188 0.00897543 -0.194148 -1.42432 -0.439378 1.78117 -1.46955 0.289758 -1.27481 -0.823891 -0.346901 -0.128688 1.28477 0.161147 0.11532 0.227893 -1.37625 -0.135554 3.15979 20.794 0.701343 3.82231 0.732747 -0.165358 4.2152 -1.72173 1.06623 -1.26658 1.22929 -0.404172 0.0649453 -0.152356 0.0346982 -0.0322802 0 0 0 0 0 -0.050394 -0.226705 0.00143117 0 0 0 0 0.000545493 0 -0.0693268 0 0 0.00677729 0.0238806 -0.106414 0 -0.0159298 0.0569404 -0.471942 0 0 -0.102218 0.00141916 0 0.0390953 0.189996 0 0 -0.0288288 0.161867 0 0.132987 0 -0.0305657 0 0 -0.00684635 0 0 0.386792 0.00836179 0.1149 0 0.0107242 -0.0930204 0 0 0.109364 0 0.00353637 -0.0451294 0.0234307 0 0 -0.0115864 -0.00229828 0 0.0405964 -0.108227 0.0205006 1.21474 -0.118147 -0.103059 0 0.0119447 -0.182189 0.281718 -0.01649 0.283735 0 0 0 -2.75332 -0.377047 1.43536 0.0332777 -0.043662 -0.220465 -0.00748025 0.00996243 -0.0522745 0.333062 0 0 0 0 0 0 0.230464 0 0.0457535 0 0 0 0 0.0445732 -0.390707 0 0 -0.0313015 0 -0.0141357 0 -0.000958065 0 0 -0.000527866 0 -0.017409 0.0341124 -0.00892877 -0.000408389 0 0 -0.038428 0 1.25401 0 -0.343138 0.114948 0 0.188141 0.0220071 -0.00181368 0 0.0063466 0 0 -0.0192353 0 0.536796 0.0744718 0 0 0.00440672 0 0 -0.146605 -0.0927234 -0.0598297 0 -0.63513 0 -0.427841 -0.092367 0.0633928 -0.275701 0.0519632 0.417273 0.0161237 -0.000980966 0.57211 0.885484 0.00698762 0 0 0 -0.0487086 -0.028631 0 0 0 0 0.0983654 0.972798 -0.411973 0.148335 0.0344715 0.0521086 0.25728 -0.038295 0.0501437 -0.051477 -0.0982952 0 0 0 0 0 0 +114 0 1.41429 0.160819 0.0349255 0.168758 0.0478386 0.073613 -0.676353 -1.32284 0.191623 -1.4372 -0.0984496 2.34262 -0.000934046 0.282258 -0.0113617 2.42366 10.1279 -0.447134 -0.0419627 0.0337414 -0.036082 0.537004 0.00482111 -0.178277 0.0774431 0.204028 -0.12242 -0.0355991 -0.216097 0.171263 0.0310752 -0.0843503 -0.65925 -1.72221 -0.058035 -0.0149642 0.06934 -8.18411 -0.382602 0.0430747 -0.00287301 -2.50802 -0.0639742 3.92626 0.00875406 0.0195678 -0.107315 -0.334486 0.0567464 -2.04259 0.191729 -17.2025 0.0138853 -0.058444 0.0733376 -10.1871 -0.864647 -0.0409449 0.130489 -0.0674916 0.736979 0.162193 3.80536 -2.77821 0.78495 -0.220182 2.98872 0.0254725 -0.0977628 0.0164686 0.446406 -0.0868363 0.922347 -0.898323 0.151541 4.56132 34.1565 8.19845 2.97994 6.11285 -3.89711 11.1683 0.872903 -0.303188 0.53029 3.25769 -0.00824739 0.180473 0.0992119 0.106856 0.127532 0 0 0 0 0 0.0349255 0.168758 -0.00747045 0 0 0 0 -0.00102396 0 -0.0444872 0 0 -0.001324 0.00518695 -0.0465412 0 -0.00958888 0.0654261 -0.203791 0 0 0.176699 0.000353103 0 -0.0537305 1.87329 0 0 0.0246902 0.433419 0 -0.229527 0 -0.0130663 0 0 -0.00177446 0 0 -1.32411 -0.0172005 -0.0236974 0 -0.118467 -0.0695843 0 0 -0.180318 0 -0.00534083 -0.423427 0.00782818 0 0 0.000790147 0.0201426 0 0.012476 0.10085 -0.00117115 0.349418 0.0192908 -0.0428361 0 -0.0580267 -0.186653 0.26845 -0.0205023 -0.345125 0 0 0 7.10316 0.269952 1.11908 0.0564997 -0.0660079 0.684106 0.000656251 0.000301907 0.00180957 0.241095 0 0 0 0 0 0 0.0478386 0 0.073613 0 0 0 0 0.00126145 0.0289314 0 0 -0.208888 0 -0.0391861 0 -0.00770982 0 0 0.00264986 0 -0.070181 -0.0255262 -0.042515 0.00051654 0 0 -0.062216 0 1.78672 0 -1.73532 -0.105538 0 -0.0633912 -0.379699 -0.00878254 0 -0.00490752 0 0 0.0039534 0 0.0606237 0.201765 0 0 0.0261036 0 0 0.11147 1.04506 -0.0718336 0 -0.0878319 0 -0.904331 0.0504172 -0.0998125 -0.104613 -0.0526876 0.0820469 0.752184 -0.00241059 0.111339 0.183991 0.0623139 0 0 0 -0.0647355 0.0181028 0 0 0 0 0.0348475 21.2689 3.52311 -0.823752 1.70757 -0.933822 1.15896 0.219064 -0.151774 0.135262 0.257531 0 0 0 0 0 0 +115 0 1.25129 0.0887716 0.068673 0.302033 -0.0277818 0.0071051 -0.131653 -0.0632303 0.979406 -1.48273 -0.0513274 -0.192932 -0.00156606 -0.415438 -0.0072899 -0.647091 0.635614 -0.167427 -0.073742 -0.222753 -0.031358 0.280337 0.0191986 -0.404985 0.00426043 -0.500534 -0.0505133 -0.00430924 -0.095076 -0.122864 0.139524 -0.0398711 -0.619317 0.0817152 -0.0269895 -0.00638808 -0.238654 -5.82102 -0.230828 -0.0558889 0.000484727 0.658416 -0.0265089 -0.989399 0.125958 -0.0130589 -0.0182704 -0.463017 -0.113404 -0.612056 0.214133 -5.23385 0.351391 0.0945202 0.00712317 -4.22567 -0.36022 -0.370501 0.0625742 0.00137372 -0.654681 0.481722 1.01938 -1.9479 -0.750223 -0.411657 1.39243 0.704722 -0.253592 0.53356 0.445645 0.0670187 1.09933 -0.101628 -0.00940965 3.31566 19.8351 6.39818 -0.364945 3.75517 -2.04905 7.14715 1.46982 -1.0647 2.18623 -0.728204 -0.118668 0.112256 0.00761887 0.0654543 0.0561101 0 0 0 0 0 0.068673 0.302033 0.00372252 0 0 0 0 0.000302298 0 -0.00434551 0 0 0.00161575 0.00304852 0.0232376 0 0.000420489 0.0216353 0.074483 0 0 -0.0431089 0.000339035 0 -0.00379369 1.07964 0 0 0.00179634 0.181339 0 -0.00587801 0 -0.0307173 0 0 -0.00296989 0 0 -0.3279 0.00371557 0.0126586 0 0.0550829 0.0577054 0 0 -0.256228 0 0.00900749 0.251531 -0.0206532 0 0 -0.00555646 -0.00441523 0 0.0176176 -0.120213 0.00615412 -0.741397 -0.000121279 -0.0184404 0 0.0266606 0.0280085 -0.0195739 7.01975e-05 -0.00752853 0 0 0 0.359967 0.0498931 -0.436417 0.00936179 0.00455084 -0.115965 -0.00302952 0.00332741 0.0142443 -0.092114 0 0 0 0 0 0 -0.0277818 0 0.0071051 0 0 0 0 0.0473918 -0.252171 0 0 -0.69178 0 -0.0948462 0 -0.00825731 0 0 0.100181 0 -0.104866 0.0289399 -0.122751 0.00919112 0 0 -0.0621815 0 0.436747 0 -2.43468 -0.0439197 0 0.307665 -0.491875 -0.0172686 0 0.00410344 0 0 -0.0426207 0 -0.14431 0.695868 0 0 0.0603299 0 0 0.245773 0.811718 0.177673 0 -0.406639 0 -0.595199 -0.0193559 -0.162494 -0.0261453 -0.0566209 -0.340935 0.455293 -0.0225299 0.436165 0.151696 -0.041527 0 0 0 -0.0739178 0.00989828 0 0 0 0 0.0111487 22.2922 6.25883 -2.68309 1.77535 -1.05806 1.3321 0.455441 -0.328147 0.490597 -0.369178 0 0 0 0 0 0 +116 0 1.17903 -0.0496002 0.0769302 0.258664 -0.176144 -0.262419 1.47415 2.63839 0.504937 -1.60317 0.36619 -2.27121 -0.0158369 -2.14154 0.0273751 -0.833924 -0.9771 -0.144463 -0.0422307 -4.90142 -0.0386739 0.302381 0.0204453 -0.448583 0.394983 -0.375858 0.00980658 0.132554 -1.51308 -0.78239 0.109459 0.374395 -0.0592199 0.378145 0.463945 0.0673858 0.240905 -2.94338 0.810988 -2.07822 -0.0847869 2.0477 0.158551 -6.93643 -0.391122 -0.808687 -0.485832 0.324882 -0.395427 0.983287 -1.01464 4.45067 0.0492875 -0.0451728 0.0721747 4.02893 0.392181 -0.124126 0.648736 0.161965 -3.05197 4.13601 0.0511149 -0.582459 -0.603506 0.0358615 0.329316 0.379786 -0.176718 1.16609 -0.627219 0.716044 -0.466112 4.18702 -0.155828 0.0774543 14.0018 3.88482 -1.16078 1.12656 -1.16304 4.13394 1.19776 -1.1488 2.12258 -3.66561 0.258152 -0.464661 0.84865 -1.48649 2.70267 0 0 0 0 0 0.0769302 0.258664 0 0 0 0 0 0 0 0.00995951 0 0 0 0 0.0101026 0 0.00261521 -0.000557476 0.0409803 0 0 0.108434 0 0 0.0852225 0.430441 0 0 0.012906 0.0510036 0 0.214329 0 0.0202886 0 0 0.0022193 0 0 0.454334 0 0 0 0 0 0 0 -0.10593 0 0 0.0529454 0 0 0 0 0 0 0 0.0074399 0 0.152979 0 -0.0080479 0 0 -0.000417162 0.0861391 0 -0.0129463 0 0 0 -1.04046 0 -0.0497232 0 0 -0.01958 0 0 0 -0.00176609 0 0 0 0 0 0 -0.176144 0 -0.262419 0 0 0 0 0.156513 1.3911 0 0 -0.585907 0 -0.0550716 0 0.0648131 0 0 -1.71651 0 -0.844451 0.0613882 -0.187751 -0.186183 0 0 0.590511 0 -5.49696 0 -5.24801 -1.70967 0 0.536952 -2.00617 -0.0190637 0 0.0142029 0 0 0.153356 0 -3.16723 -3.22527 0 0 -0.364256 0 0 0.703201 -0.0559583 0.0751971 0 3.14632 0 -0.518338 0.175306 -0.0741177 0.405854 0.110318 -0.980214 0.44692 -0.170439 -0.806284 0.318589 -0.236708 0 0 0 0.244932 0.108452 0 0 0 0 -0.304379 33.8613 5.00337 -1.91908 1.1924 -0.912435 2.05421 0.193682 -0.161217 0.224537 -0.159573 0 0 0 0 0 0 +117 0 0.957836 -0.684777 -0.0128582 -0.0432335 0.297123 -0.204379 0.796119 0.387785 -0.084396 0.196492 -0.384296 -0.832025 0.002647 0.183389 -0.0327753 -1.6175 -2.09599 -0.0442865 -0.0347422 0.0256468 -0.013581 1.36714 -0.00341727 -0.0017305 0.92409 -0.871351 0.0121511 0.864076 1.11374 -0.59566 -0.0182952 -0.26971 2.30671 -0.116167 0.877043 -0.0552496 0.0446952 4.88459 -0.344649 -0.493479 0.0141714 -0.509341 -0.0549679 2.07031 0.0653728 -0.695104 1.12522 -0.361336 0.140616 -0.78039 0.0902719 -1.51374 0.0633993 -0.0581064 0.105115 -0.212552 -0.204729 -0.182714 0.0126333 -0.027071 -1.1089 0.787921 -2.5843 -1.79717 0.016419 -0.843373 -0.153805 -0.00553366 0.0295369 0.105551 0.18262 -0.307538 0.0316897 0.647028 -0.43426 0.237197 -11.024 -1.30914 -1.25551 -0.893074 1.47742 -4.23833 0.0433785 0.0928559 -0.425279 0.259594 -0.0431479 0.14667 -0.425936 0.868843 -1.98937 0 0 0 0 0 -0.0128582 -0.0432335 0 0 0 0 0 0 0 0.00172553 0 0 0 0 -0.00228057 0 2.44406e-05 -0.0358557 -0.011198 0 0 0.162195 0 0 0.0161246 -0.13857 0 0 0.0212035 -0.145086 0 0.0988014 0 0.0211581 0 0 0.00280945 0 0 0.263292 0 0 0 0 0 0 0 -0.0123987 0 0 0.227612 0 0 0 0 0 0 0 0.0279397 0 0.539545 0 0.00283769 0 0 -0.000597113 0.183167 0 0.0270521 0 0 0 -0.602959 0 0.0111999 0 0 -0.0113469 0 0 0 0.000482588 0 0 0 0 0 0 0.297123 0 -0.204379 0 0 0 0 -0.0900201 -0.424806 0 0 0.334261 0 0.0377185 0 -0.0297841 0 0 0.795383 0 0.91402 -0.0162798 0.279762 0.10411 0 0 -0.273467 0 5.11066 0 2.98389 0.619756 0 -0.253462 1.87776 0.0313863 0 -0.010375 0 0 -0.0458241 0 1.70594 2.11139 0 0 0.243949 0 0 -0.243238 -0.134082 0.0349892 0 -1.0492 0 0.371909 -0.137401 0.0447177 -0.426184 -0.0324803 0.252267 -0.350984 0.012783 0.209971 0.279733 0.0686611 0 0 0 -0.124442 -0.043706 0 0 0 0 0.0806475 -10.4316 -1.75725 1.84778 -0.139768 0.00980356 0.336802 0.0113763 -0.0173589 -0.00784397 0.166694 0 0 0 0 0 0 +118 0 0.626828 -0.143344 0.0318597 0.107123 -0.0920623 -0.00833135 0.81005 1.51196 0.209114 -0.640691 0.257428 0.611157 -0.00655866 1.41749 0.0208808 -0.363415 3.18585 -0.0980823 0.0267172 -1.39327 -0.0275453 0.525753 0.00846719 -0.211526 0.364748 -0.429517 -0.0196335 0.0471019 -0.642635 0.274459 0.0453313 0.225152 0.843818 -0.0621373 0.211946 0.0423076 0.0602151 1.27438 0.53042 -0.506247 -0.0351135 0.450884 0.0921499 3.32819 -0.161979 -0.210803 -0.090656 0.459253 -0.233103 0.0197869 -0.336148 -1.52092 -0.0553486 0.0507279 0.188397 2.05448 0.666163 0.971896 0.282169 0.0670757 0.0715563 -2.50741 -0.719059 -0.754403 0.0723419 -0.00642643 0.299798 0.0516622 -0.0731856 0.432526 0.0634786 0.611218 -0.139154 -1.08765 -0.697584 -0.683097 -5.86381 -0.367554 -1.98858 -0.299864 0.404994 -2.85368 0.567245 -0.567595 0.586732 -1.68942 0.106911 -0.256641 0.356742 -0.79744 1.14788 0 0 0 0 0 0.0318597 0.107123 0 0 0 0 0 0 0 -0.000736874 0 0 0 0 -0.00115422 0 0.000421198 -0.0277138 -0.0222377 0 0 -0.0971275 0 0 0.0382566 -0.602534 0 0 -0.0143047 -0.132962 0 0.10188 0 -0.0109347 0 0 -0.00175605 0 0 0.221029 0 0 0 0 0 0 0 -0.0565973 0 0 -0.00538685 0 0 0 0 0 0 0 -0.026832 0 0.641919 0 -0.000327654 0 0 -0.00618552 0.02174 0 -0.00823188 0 0 0 -0.506172 0 0.0241012 0 0 -0.00952546 0 0 0 0.000958357 0 0 0 0 0 0 -0.0920623 0 -0.00833135 0 0 0 0 0.158923 0.454071 0 0 -0.502381 0 -0.0562303 0 0.0264056 0 0 0.865593 0 0.728929 0.0150383 -0.139897 0.117476 0 0 0.258403 0 11.15 0 -0.584473 1.14876 0 0.338829 0.58395 -0.0153312 0 0.00157191 0 0 0.0408896 0 4.0469 1.77179 0 0 0.244694 0 0 -1.51984 -0.463933 0.0328818 0 -1.81883 0 0.151731 0.0480637 -0.0597633 0.56768 0.0943676 -1.28512 -0.155286 -0.0428754 0.71129 -1.75539 -0.133632 0 0 0 0.50617 0.0951048 0 0 0 0 -0.0770658 6.29172 1.81584 -0.504093 0.539505 -0.422154 0.00501854 0.189106 -0.140874 0.128893 -0.142001 0 0 0 0 0 0 +119 0 0.467132 0.585521 0.0188532 0.15931 -0.120753 0.0776699 0.200718 1.16864 0.151362 -1.18621 -0.0310046 0.419971 -0.000691632 -0.960354 -0.0142587 0.95153 1.11845 -0.280512 -0.0413223 0.0779769 -0.0292451 -0.762484 0.000897205 -0.139014 0.0379838 0.615045 -0.0680806 -0.109863 -0.0366236 -0.0591291 0.0122939 -0.300179 -1.42084 -0.479003 -0.19585 -0.00589308 -0.319987 -4.22916 0.0466162 0.211321 -0.00913021 -1.49289 -0.000961281 -0.764455 -0.113682 0.192659 -0.0659545 -0.697635 0.00790632 -1.89515 -0.503701 -3.23844 0.0791402 -0.0516262 0.0666114 -4.23681 -0.858173 -0.253044 0.303465 0.019103 -2.2534 -0.116513 0.799951 0.892912 1.04444 0.571249 -0.242599 -0.567158 -0.0228547 0.71398 -0.593533 -0.138063 0.401139 -0.232423 0.017191 0.569679 17.1828 3.83422 1.14452 1.2162 -1.16023 5.10139 0.537688 -0.603116 1.38563 -1.49765 0.0106636 0.00675094 0.0503547 -0.0170648 0.0313375 0 0 0 0 0 0.0188532 0.15931 0.000497806 0 0 0 0 1.02705e-05 0 0.00541861 0 0 -2.15101e-05 -3.88627e-06 0.00323953 0 0.000571382 0.0134058 0.0311901 0 0 0.00193992 -2.82188e-07 0 0.0104093 0.423156 0 0 0.000322671 0.0919575 0 0.0406346 0 0.000856422 0 0 8.14448e-05 0 0 0.0619259 0.000141445 -0.000296235 0 0.00685575 -0.00694187 0 0 -0.0327281 0 0.00101917 -0.0712756 -0.00196204 0 0 4.40379e-05 -0.000861354 0 -0.00115572 0.00448204 -0.000422222 -0.225364 -0.00357955 -0.00351246 0 -0.000649543 0.00500508 -0.011744 -0.00300658 -0.0182734 0 0 0 0.0194746 -0.0146616 0.00493624 0.00863648 -0.0164681 0.0289432 2.83477e-05 -5.40535e-05 0.000116527 -0.000396547 0 0 0 0 0 0 -0.120753 0 0.0776699 0 0 0 0 0.172532 -1.18829 0 0 -0.746135 0 -0.0765598 0 -0.0704058 0 0 1.00372 0 -1.1272 0.0709457 -0.319996 0.145956 0 0 -0.652812 0 -2.15196 0 -5.61895 -0.75272 0 0.424823 -2.34733 -0.0347116 0 0.0300634 0 0 -0.128505 0 -1.5006 1.96309 0 0 0.282755 0 0 0.461774 -4.29125 -0.199767 0 -0.810909 0 0.573222 -0.38351 0.260356 0.690877 0.157315 -1.98608 -1.34176 -0.212851 -0.685429 -8.86914 -0.350768 0 0 0 -0.454958 0.175883 0 0 0 0 0.188655 31.1761 7.65035 -5.13751 2.12093 -1.51941 1.52041 0.341627 -0.262372 0.284714 -0.169584 0 0 0 0 0 0 +120 0 -0.18551 -0.145021 0.00245855 0.0257744 0.0909889 -0.0442523 -0.68838 -0.164255 0.0222456 -0.523469 -0.0272411 -0.602392 -8.20104e-05 -1.85196 -0.00101649 -1.16066 -7.39711 -0.0725635 -0.0105843 -4.67548 -0.00503236 -0.153803 0.000114257 -0.0861813 -0.131439 -0.102103 0.00604281 -0.329009 -0.638955 -0.143928 0.0016431 -0.0081985 -0.254588 0.0350231 -0.172198 -0.00252797 -0.0215231 0.328356 -0.0749648 -1.83552 -0.00101092 -0.108913 -0.00547258 -4.89863 -0.011218 -0.448476 -0.53082 -0.156172 0.0156243 -0.555867 -0.0859014 8.07776 0.0203881 -0.0160682 0.0356535 5.58636 0.0614369 -0.161857 0.146061 0.00208172 2.85876 7.3207 3.08758 0.484149 0.409538 1.30734 0.590669 -0.0994253 -0.00334093 0.474641 0.0920049 0.0198618 0.033642 4.54479 0.44301 0.140722 1.63221 1.23625 0.596627 -0.161475 0.602454 0.253996 0.400965 -0.393008 1.00557 -0.653404 0.00105226 0.00439781 0.0347668 0.0823047 0.546732 0 0 0 0 0 0.00245855 0.0257744 -5.38162e-05 0 0 0 0 -1.1111e-06 0 0.00163045 0 0 0.000111621 2.00663e-05 0.000303024 0 0.000137759 -0.00160854 0.000108012 0 0 0.0460019 1.45705e-06 0 0.00595628 0.0358835 0 0 0.0056777 -0.0149159 0 0.050093 0 0.00269656 0 0 0.000340884 0 0 0.143235 -1.5302e-05 0.00153723 0 -0.000741152 0.00151633 0 0 -0.0229933 0 -0.000110179 0.0466313 0.00030672 0 0 -0.000228523 9.3118e-05 0 0.000344987 0.0048465 0.000565929 0.156835 0.00199442 -0.00124198 0 0.000196256 -0.000967112 0.0460455 0.000256384 0.00267677 0 0 0 -0.335341 -0.00244076 -0.000171476 -0.00039208 0.000747621 -0.00760799 -0.000147103 0.000280496 -0.000604687 0.0010097 0 0 0 0 0 0 0.0909889 0 -0.0442523 0 0 0 0 0.0166755 0.0426871 0 0 -0.151255 0 -0.0187806 0 -0.00455162 0 0 -1.29308 0 0.0688861 0.103994 -0.0483508 -0.164215 0 0 -0.0270752 0 -7.27577 0 2.82872 -0.477578 0 0.464873 0.683196 -0.00573091 0 0.018349 0 0 -0.00477719 0 -2.31578 -2.54592 0 0 -0.323109 0 0 1.52766 2.3589 -0.0155634 0 3.69999 0 0.640064 -0.115246 0.104535 0.263519 0.00526898 -0.798946 0.319545 -0.0698087 -0.854086 9.8924 -0.0120237 0 0 0 -0.418893 0.0701828 0 0 0 0 0.0472358 -15.9726 1.30658 -4.34599 0.225581 -0.105121 -0.886857 0.18275 -0.14574 0.147309 -0.360596 0 0 0 0 0 0 +121 0 0.0812557 0.710795 0.0104139 0.0399973 -0.139997 0.294123 -1.47436 -0.719051 0.0595366 -0.691984 -0.214374 1.02094 -0.000460595 1.28673 0.00213618 1.4905 2.71951 -0.112426 -0.0140764 2.58893 0.00033416 -1.17921 0.000521928 -0.103778 -0.816092 0.944422 -0.00344957 -0.68861 -0.271853 0.754085 0.00640771 -0.0173548 -1.89251 0.0049849 -0.916816 -0.0138815 -0.0722893 -3.18283 -0.187402 1.41521 -0.00676861 0.101956 -0.0117859 1.6645 -0.0974242 1.05748 -0.523155 -0.258306 0.0260836 0.503642 0.0890284 2.25832 0.0333352 -0.0133455 0.0791986 -1.68254 0.614166 -0.0639879 0.124798 0.0144827 1.26766 -2.00941 1.32276 1.13645 0.0122007 0.903246 0.0936609 0.0467999 -0.00916249 0.197195 -0.0110862 0.0251005 0.0151346 -2.85975 0.37624 1.25335 12.1071 2.3701 2.71381 1.16316 -0.210838 1.89353 0.472489 -0.215809 0.453435 0.385958 0.00913852 0.0164484 0.0544314 0.101549 0.232616 0 0 0 0 0 0.0104139 0.0399973 0.00141601 0 0 0 0 2.92139e-05 0 0.00113304 0 0 1.12069e-05 1.95825e-06 0.00120516 0 0.000255929 0.00360609 0.00237565 0 0 -0.0982112 1.42191e-07 0 0.00555122 -0.06658 0 0 -0.0145901 0.00832189 0 -0.0102258 0 -0.00361572 0 0 -0.000575732 0 0 -0.141824 0.000402331 0.000154341 0 0.0195011 -0.0189711 0 0 0.0226739 0 0.00289901 -0.0929535 -0.00551812 0 0 -2.29441e-05 -0.00245011 0 -0.00286409 -0.00533672 -0.000545354 0.00857314 -0.0073294 0.00429033 0 -0.00143095 0.00953107 -0.0186006 -0.00569763 0.00124064 0 0 0 0.783835 -0.0437622 0.113921 0.0245804 -0.0468701 0.0960835 -1.47694e-05 2.81623e-05 -6.07116e-05 0.0021975 0 0 0 0 0 0 -0.139997 0 0.294123 0 0 0 0 -0.132573 0.640895 0 0 0.119257 0 0.0125267 0 0.0206333 0 0 -0.161186 0 -0.250658 -0.0204008 0.162539 -0.0193469 0 0 0.187734 0 2.47503 0 0.523578 0.288383 0 -0.114983 0.0603253 0.0172825 0 -0.0124222 0 0 0.0699266 0 0.567174 -0.325892 0 0 -0.0380795 0 0 -0.217041 -0.0997213 0.0415813 0 -0.0372356 0 -0.175277 0.160933 -0.117307 -0.366227 -0.0653885 -0.0146156 0.186347 0.0475218 0.220731 -0.64206 0.0268275 0 0 0 0.164433 -0.0312561 0 0 0 0 -0.108995 -1.7474 -0.178192 0.188516 0.622459 -0.426971 -0.605308 0.0552067 -0.0398078 -0.027151 -0.00305529 0 0 0 0 0 0 +122 0 0 0 0 0 -0.197764 0.296922 -0.828178 -2.2397 0 0 0.096876 1.8143 0 3.2535 0.238228 0 0 0 0.547102 2.68625 0 0 0 0 -0.450691 0 0 -0.758597 -5.15349 1.0085 0 0.64147 0 0 -0.208135 0.040608 0 0 0.734363 0.911173 0 0 0.195805 6.53066 0 0.668398 -1.59506 0.865547 -0.264598 4.31446 -0.522467 0 -0.642363 0.575457 -0.68772 -3.74818 -1.60177 -0.947983 0 0 -0.0207543 -0.531229 0 -1.70262 -1.32736 -0.0225349 0 0 0 0 0.230304 0.861873 0 -1.89413 1.35187 0 0 0 3.23701 0 -0.723607 6.58511 0 -0.276659 1.30195 4.28436 0 -0.493794 2.20879 -4.61595 16.1079 0 0 0 -0.168991 -0.0427173 0 0 0 -0.0141584 0 0 -0.0025635 0 0 0.0140269 0 0 0 0 0.116534 0 0.0249369 0 0.0667901 0 -0.0741729 0.0580458 0 -0.00361011 0 0 -0.204343 0 0.0131938 0 0 0 0 0.0662852 -0.0284956 0 0.0157807 0 0 0 0 0 0 0 0 0 0 -0.0435461 0 0 0 0 0 0 0 0 0 0 -0.338478 0 0 0 -0.0334463 -0.0500217 0 -0.0245521 -0.279108 0 0.109841 0 -0.269732 0 0 0 -0.0878558 0 0 0.192929 0 0 0 0.0471161 0 0 0 0 0.168473 0 -0.197764 -0.168991 0.296922 -0.0427173 0.38202 0.183464 -0.912686 -0.366807 -2.06447 -0.0107679 -0.00405763 0.00383106 -0.00084192 -0.00726135 -0.135699 -0.115286 0.0271391 -0.121402 0.408345 0.568016 0.358557 -0.216457 0.106323 0.00414276 -0.0133563 -0.270651 -0.779431 0.0158199 -3.08731 0.328374 0.761788 0.700331 -0.0194196 -0.847351 0.625622 0.00822388 0.00301557 -0.061107 0.038386 -1.63359 -0.31297 -0.0467538 -0.180007 1.22508 0.00229167 0.0271661 0.0656981 0.0759295 0.155055 0.508836 -2.60644 0.413877 -0.256314 -2.10759 0.51072 -0.840132 0.0480878 -0.107042 -0.1319 0.550136 0.353015 0.19762 -0.120098 2.44021 -0.916864 -0.0188447 0.139721 -0.112569 0.339327 -0.721879 -0.0769705 0.0448602 0.00280655 -0.184076 0.041724 1.23408 -3.16075 0.286333 0.139411 0.150009 -0.854673 2.81659 -0.0474101 0.0561565 -0.185155 1.85591 0.0324615 -0.0766327 0.297114 -0.630164 2.12789 0 +123 0 0 0 0 0 -0.193914 0.315971 -0.516918 -1.94217 0 0 0.298337 0.617233 0 1.74617 -0.0242227 0 0 0 -0.432082 0.837363 0 0 0 0 -0.59954 0 0 -0.859265 -1.88103 0.555846 0 0.273996 0 0 -0.204877 0.0403518 0 0 0.390897 -0.0713643 0 0 0.0651547 2.92765 0 0.445913 -1.35907 -0.625026 -0.0990307 -0.712247 -0.264838 0 0.363766 -0.416331 0.394656 -1.3523 -0.239128 0.130909 0 0 0.478083 0.700062 0 0.426905 0.652799 0.0486411 0 0 0 0 0.132774 0.0871868 0 -0.32577 0.344626 0 0 0 3.60741 0 -0.704894 3.7059 0 0.149773 0.351155 3.37643 0 -0.0616454 1.07573 -1.18151 3.99999 0 0 0 -2.6696e-05 -0.00108479 0 0 0 0.0206668 0 0 0.000182307 0 0 -0.16543 0 0 0 0 -0.254505 0 -0.0634381 0 -0.656058 0 0.175095 -0.192106 0 -0.014127 0 0 -0.220022 0 -0.050497 0 0 0 0 -0.237771 -0.0562995 0 -0.0594329 0 0 0 0 0 0 0 0 0 0 0.063969 0 0 0 0 0 0 0 0 0 0 -0.0778229 0 0 0 -0.00674081 0.0840555 0 0.102556 -0.217975 0 -0.0775898 0 -0.111333 0 0 0 0.689959 0 0 0.208098 0 0 0 0.171892 0 0 0 0 0.180055 0 -0.193914 -2.6696e-05 0.315971 -0.00108479 -0.00958466 0.0488179 -0.00139219 0.0994255 0.897997 0.00209787 -0.0348552 -0.636268 0.000516284 -0.154508 -0.00190023 0.142607 -0.0212064 0.00796107 -0.828032 1.14158 -0.224717 -0.0346264 -0.391602 -0.104098 -0.096612 0.0474198 1.06373 0.02999 4.55541 -0.115804 -0.968703 1.86908 -0.000498233 0.237356 -0.504858 -0.0920381 -0.00667499 0.00132389 -0.0313377 0.565036 0.136264 -0.00190187 3.48472 -0.191137 -0.00679196 -0.0287972 -0.0987038 0.162499 -0.100936 -0.601681 -1.36784 -0.509091 0.0555121 1.57997 0.000862836 -0.855684 0.0566158 0.294054 0.175765 -0.0292554 -0.186616 1.14834 -0.0353048 -2.28289 -13.6668 -0.0553732 0.0373338 0.011819 0.0705052 0.442349 0.282346 0.100867 -0.00418365 -0.169184 -0.00996277 -0.368722 4.01927 0.945765 0.629816 0.112994 -0.300969 0.107886 0.0881408 -0.243972 0.284535 0.0678017 -0.0021287 0.0219431 -0.0993685 0.0945511 -0.218587 0 +124 0 0 0 0 0 0.0497142 0.193706 -1.05325 -2.56048 0 0 0.385666 0.881734 0 1.67879 0.1825 0 0 0 0.411819 2.66981 0 0 0 0 -0.349605 0 0 -0.593152 -6.83725 0.362631 0 0.62572 0 0 -0.149483 0.0739703 0 0 1.0119 0.21725 0 0 0.228845 4.86185 0 0.0804304 -2.14468 1.07515 -0.343379 1.63311 -0.974661 0 -0.65619 0.413164 -0.532676 -5.07295 -1.82412 -0.391775 0 0 0.592952 0.0537463 0 -1.80947 -0.737855 -0.0114346 0 0 0 0 0.446287 -0.0573555 0 -0.852548 1.79477 0 0 0 3.82684 0 -1.82073 9.31369 0 -0.546207 1.05563 4.76061 0 -0.580539 1.98693 -4.21105 17.4749 0 0 0 -0.0893273 -0.0227158 0 0 0 0.0290809 0 0 0.0032211 0 0 -0.0197969 0 0 0 0 -0.0330806 0 -0.00237364 0 -0.100098 0 0.234226 0.0725527 0 -0.00130232 0 0 -0.0170868 0 0.0088393 0 0 0 0 -0.0398058 -0.00511931 0 -0.00454219 0 0 0 0 0 0 0 0 0 0 -0.0930192 0 0 0 0 0 0 0 0 0 0 -0.0673187 0 0 0 0.0038274 0.065745 0 0.176519 -0.0571976 0 -0.0785725 0 -0.124064 0 0 0 0.0895333 0 0 0.0293147 0 0 0 0.0438983 0 0 0 0 -0.0343567 0 0.0497142 -0.0893273 0.193706 -0.0227158 0.268562 0.201215 -0.482596 0.333225 -0.533532 -0.0054274 0.0490842 -0.00944191 -0.00038 -0.0151733 -0.0719661 -0.0404818 0.0881165 -0.0631672 0.317649 0.404693 0.362435 -0.095318 -0.133591 -0.030247 0.598711 -0.35718 -0.258388 0.0153064 0.502188 0.58001 1.92257 0.228141 -0.0103274 -0.266119 0.888138 -0.0240848 0.011631 0.0300182 0.0985748 -2.29593 -0.0950614 -0.0550237 0.421827 1.28248 0.00693998 0.068146 0.0355376 0.0684712 0.0603645 0.0295776 -0.837035 -0.986028 -0.260733 -1.58906 0.270061 -1.88716 -0.06439 0.188871 0.214787 0.172531 -0.105142 0.809066 -0.0270827 -1.7772 -11.7774 0.037458 0.0931255 0.0864309 0.381381 -0.727658 0.00596352 -0.0403018 0.000956624 -0.179629 -0.0848295 0.307809 -7.97696 0.76228 -1.64844 -0.125992 -0.640244 3.11292 -0.0231393 0.113354 -0.369904 1.75689 0.0168902 -0.185474 0.528118 -0.983558 2.79464 0 +125 0 -0.658268 -0.192136 -0.038181 -0.265945 0.269147 -0.185166 0.316809 -0.631129 -0.306874 0.202939 0.241265 0.268979 0.00131378 0.493466 0.0178641 -1.51217 -4.4207 -0.113694 0.0432506 -0.853264 -0.0571541 0.0501212 -0.00296755 0.00160544 0.288493 -0.69066 -0.0598851 0.551443 0.0504556 -0.0777825 -0.0306348 0.203854 -0.203192 -0.570105 0.393169 0.0215889 0.160592 -1.53389 0.101708 -0.799413 0.0106272 -1.19555 0.00256637 1.58568 0.066403 -0.687065 0.226456 0.474306 0.00645881 0.266995 -0.237848 2.05871 -0.181018 -0.0444013 -0.0786567 -1.24067 -0.512566 0.0785394 0.0714475 0.0107982 0.225438 0.423429 -1.50635 0.180914 -0.0306207 0.0183898 -0.0584822 0.371284 0.0469397 -0.24933 -0.0703101 0.0175982 0.0427069 -0.213636 0.0238455 0.264775 2.74013 -0.997259 2.67065 0.106759 -0.985587 3.13011 -0.0570102 -0.0287817 -0.115408 0.595178 -0.0185398 -0.00916381 -0.0474579 -0.0580759 -0.0614167 0 0 0 0 0 -0.038181 -0.265945 0 0 0 0 0 0 0 -0.00979057 0 0 0 0 -0.0100887 0 -0.00131146 0.0162358 -0.0835608 0 0 -0.126685 0 0 0.0260618 0.0714044 0 0 -0.0194671 0.0893175 0 0.120275 0 -0.0134798 0 0 -0.00218416 0 0 0.0431055 0 0 0 0 0 0 0 -0.0405155 0 0 -0.0953378 0 0 0 0 0 0 0 -0.0782441 0 -1.39892 0 0.0146054 0 0 -0.000199973 -0.40348 0 -0.038348 0 0 0 -0.237736 0 0.125454 0 0 0.125866 0 0 0 0.0349856 0 0 0 0 0 0 0.269147 0 -0.185166 0 0 0 0 0.18599 -0.453723 0 0 0.197469 0 0.0201364 0 0.0143772 0 0 -0.0540203 0 0.508583 -0.0161894 -0.151421 0.000782421 0 0 0.107875 0 -0.549508 0 1.52921 -0.407417 0 -0.179278 0.558585 -0.018627 0 0.0292325 0 0 -0.0412065 0 -0.210088 0.388929 0 0 0.0486734 0 0 0.171955 0.959129 0.139186 0 0.62298 0 0.369801 0.0102773 -0.0480824 0.154483 0.0583325 0.202146 0.0660335 0.0614421 0.0254592 0.116793 -0.0414268 0 0 0 -0.0370295 0.000687416 0 0 0 0 0.0663151 -16.5082 -2.63807 0.450281 -1.04376 0.768049 -1.01538 -0.165058 0.102709 -0.127727 0.0635519 0 0 0 0 0 0 +126 0 0.411421 0.26488 -0.011431 -0.0177302 0.0164077 0.0801804 -0.255053 -0.0303819 -0.0927637 -0.252723 -0.13065 -0.219592 0.00186117 -0.829346 0.0157763 0.151179 -0.590944 -0.0656335 0.0288071 0.597934 -0.026665 -0.394669 -0.00234842 -0.0648449 -0.248533 0.307714 -0.0496392 0.026075 0.473517 -0.179657 -0.0164427 0.0715764 -1.21887 -0.0215336 -0.253245 -0.0140311 -0.551762 -4.46018 -0.274419 0.313999 0.013242 -1.24064 -0.037102 -0.483537 0.0789681 0.192496 0.166911 0.0931812 0.0947427 -0.379629 -0.268947 1.61666 -0.0276725 0.117372 -0.175562 -0.807846 0.135793 -0.182227 0.139615 -0.0308584 0.9205 -0.0612106 0.612933 0.860727 0.400861 0.55575 0.193939 -0.441844 0.0313568 -0.119866 -0.0152371 -0.222385 0.628891 -0.523932 0.229646 1.2437 14.6823 3.40541 0.0142845 3.60963 -2.54052 4.12101 0.145794 -0.108032 0.00374775 0.0595356 -0.022048 0.0442962 -0.114165 0.202919 -0.576386 0 0 0 0 0 -0.011431 -0.0177302 0 0 0 0 0 0 0 -0.015665 0 0 0 0 -0.00826736 0 -0.00250059 -0.0481706 -0.0425499 0 0 0.108389 0 0 -0.0540807 -0.189094 0 0 0.00935731 -0.192521 0 -0.283275 0 0.0130268 0 0 0.000898991 0 0 -1.00596 0 0 0 0 0 0 0 0.05201 0 0 -0.0949763 0 0 0 0 0 0 0 0.0215875 0 0.093622 0 0.0439233 0 0 0.0278015 0.125864 0 0.0506435 0 0 0 2.10437 0 0.11433 0 0 0.226505 0 0 0 0.0168226 0 0 0 0 0 0 0.0164077 0 0.0801804 0 0 0 0 -0.141815 -0.510227 0 0 0.0857146 0 0.0107021 0 -0.0418421 0 0 0.364898 0 -0.813315 -0.0555111 0.0399492 0.0692526 0 0 -0.362924 0 -3.43589 0 -2.55885 -1.0436 0 -0.0892354 -1.51704 0.00527297 0 -0.0377415 0 0 -0.0584012 0 -2.24325 0.823785 0 0 0.149522 0 0 0.0788857 3.10162 0.133206 0 -2.12316 0 0.496352 0.0926728 -0.107081 0.89094 0.0479278 -0.118985 -0.0427645 0.0770647 1.23319 4.40241 0.0154299 0 0 0 -0.271761 -0.00993226 0 0 0 0 0.204899 14.1992 -1.25425 3.66867 0.145839 -0.611887 2.03149 -0.0452187 0.0640101 -0.100298 0.221991 0 0 0 0 0 0 +127 0 0.525192 0.420118 -0.0129232 -0.0829229 0.23687 0.11543 0.245343 -1.51862 -0.10397 0.649795 0.00644901 0.299481 0.000612881 0.377574 0.0148351 2.08539 10.8808 0.141689 0.0439634 -0.598666 0.0201302 -0.0726752 -0.00117173 0.123069 -0.274807 0.372758 0.0562294 0.193288 0.880384 0.00614478 -0.0112022 0.167686 -0.603781 0.159227 0.0796756 0.00135834 0.316227 -3.80092 0.0520461 -0.271479 0.00474985 0.81296 0.00119208 2.09573 0.0292465 -0.209182 0.510817 0.502225 0.00880811 1.55862 0.103283 -10.3189 -0.0550928 0.0142408 -0.136137 1.06261 0.228301 0.266826 -0.130578 -0.000251667 -0.473991 -0.285699 -1.0876 1.23735 -0.583945 -0.165706 -0.529036 0.440543 0.0178706 -0.815783 -0.253754 0.186357 -0.302067 0.229224 0.015091 -1.61766 11.157 -0.708276 4.72796 0.902822 -0.90596 2.5358 -0.338122 0.337002 -0.71521 1.6658 -0.00816566 -0.00504821 -0.140702 0.0350736 -1.07164 0 0 0 0 0 -0.0129232 -0.0829229 0 0 0 0 0 0 0 0.00140672 0 0 0 0 -0.000593874 0 -0.000120139 0.000390876 0.006633 0 0 0.13146 0 0 -0.00473405 0.419936 0 0 0.0180608 0.0271784 0 -0.0371789 0 0.0106393 0 0 0.00140284 0 0 -0.162458 0 0 0 0 0 0 0 -0.0540257 0 0 -0.16825 0 0 0 0 0 0 0 -0.00488552 0 -0.0602051 0 0.0175692 0 0 0.0233449 0.0129895 0 0.0961727 0 0 0 0.286719 0 0.0266545 0 0 0.0853886 0 0 0 -0.00824206 0 0 0 0 0 0 0.23687 0 0.11543 0 0 0 0 -0.534088 -0.00636821 0 0 0.487835 0 0.0668489 0 0.00651615 0 0 0.666065 0 -0.358751 -0.201516 0.124517 0.0946015 0 0 0.0244481 0 11.0356 0 -2.76311 0.480919 0 -1.52226 -0.981572 0.0157059 0 -0.0749268 0 0 0.0185518 0 2.76495 2.15371 0 0 0.273791 0 0 -0.429113 0.109282 1.06737 0 -0.636798 0 1.24087 0.187235 -0.430965 -0.38868 0.311075 0.477921 -0.666401 -0.17639 1.84019 5.55125 -0.136005 0 0 0 0.270745 -0.0208844 0 0 0 0 0.0996247 4.61261 -3.83617 7.78204 -0.132911 -0.2478 1.46159 -0.27415 0.238446 -0.320944 0.911592 0 0 0 0 0 0 +128 0 0 0 -0.0516719 -0.263973 0 0 0 0 5.86639 3.6231 -0.27735 0 -0.141145 0 -0.782251 0 0 0.514915 -2.6941 0 0.059546 0 0.776184 0.869007 0 0 0.180943 0 0 0 1.72933 -1.6455 0 0.0255635 0 -0.217977 -0.789353 0 -0.872319 0 0.058774 -2.91305 -0.595979 0 0.794344 0 0 -6.10189 -0.106889 0 1.48863 0 3.42763 -3.22146 1.48408 0 4.0315 0.66996 -0.616424 1.30825 0 0 0 0 1.39782 0 -0.663049 -0.700237 -4.81944 -2.76876 -0.753672 -0.469424 -1.19093 0 0 2.0234 0 -8.17963 0 -1.50781 0.0898814 0 -3.36364 2.65504 -3.45917 0 0.887655 1.65445 -1.20255 1.56878 0 0 0.153141 0.0201765 0.183074 -0.041163 -0.0516719 -0.263973 0.0834195 -0.238889 -0.00200528 -0.000474055 -0.0477414 0.0356304 0.0168335 -0.0375918 0.0263346 -0.00490907 0.000477677 -0.016163 -0.0933781 0.28423 -0.0706003 1.4203 0.0701611 0.00230342 -1.06785 -2.1868 -0.000143236 0.011271 0.177257 -1.11154 -0.216193 0.00859491 -0.325872 0.969805 0.0346577 -0.196476 -0.00999916 -1.28852 -0.0106298 0.0896438 -0.165045 -0.0420136 0.00161229 -1.26996 0.522618 -0.030182 0.00118595 1.12473 -0.136827 -0.0191661 -0.00591093 -0.146675 0.0209509 0.0933489 0.139946 -0.0713807 -0.0845332 0.0372555 -0.0106767 -0.22667 0.0873223 0.032304 0.767756 0.0218064 -0.362366 -0.134725 -0.0950124 0.0242178 0.0667462 0.0821345 0.317412 -0.26969 0.0735358 0.00996948 -0.565656 0.0126437 2.03143 -0.109002 0.129962 0.15276 -0.203123 0.328585 -0.00472652 0.00748217 -0.017337 0.0230764 0.0096438 -0.0135241 0.0238916 -0.032886 0.0530025 0 0 0.183074 0 -0.041163 0 0 1.8153 0 -0.0879011 0.114215 -0.0437439 1.12183 0.0203749 0.283759 0.179207 -0.0634224 -0.0765174 0.674517 0 0 0 0 0.40276 0 -0.444473 0 -0.197816 0 0 -0.255725 0 0 0.00859844 0 0 0.133112 -0.00315934 0 -0.0125408 0 -0.118995 0 0 0 -0.00821042 -0.0640547 0 0 0.119997 0 0 0 0.218767 0 -0.768571 0 -0.433411 0.337796 -0.508906 0 0 -0.62867 0.370903 0.502697 0 -0.128936 0 -0.267021 0 0.773607 0.0133962 -0.00657262 0.259514 -0.11599 0.0847669 -1.12407 0 -5.38967 0 -3.73614 1.5601 0 -2.32931 1.26235 -0.595403 0 -1.39574 0.891237 -0.426006 0.112829 0 0 +129 0 0 0 -0.0948532 -0.157887 0 0 0 0 2.02846 1.53335 0.720761 0 0.131115 0 0.368872 0 0 0.368746 0.970648 0 0.171019 0 -0.226775 0.489036 0 0 0.000298091 0 0 0 0.141891 1.18966 0 -0.15365 0 0.156327 0.621962 0 1.78107 0 -0.394585 1.12635 0.29523 0 -3.84095 0 0 2.73725 -2.05049 0 0.25718 0 -0.558558 0.287097 -0.152258 0 -2.00182 -1.45933 0.356743 1.97508 0 0 0 0 0.317462 0 0.955634 -0.646781 -0.134364 -1.98395 1.03091 1.51917 0.878395 0 0 -0.953876 0 -4.1965 0 6.525 -3.28792 0 2.11926 -0.909929 -1.47899 0 11.1538 -6.97774 4.92944 -1.95051 0 0 0.563789 0.0742797 -0.197922 -0.0466675 -0.0948532 -0.157887 0.100212 -0.089157 -0.623686 -0.00226343 -0.0154242 0.0276059 0.0221498 -0.0951084 0.0729684 -0.0253337 0.0418252 0.137456 -0.0681961 0.710455 0.00636918 -0.172114 -0.569583 0.00676845 -0.542225 -0.787892 0.0132928 -0.0104035 -0.148529 1.51222 0.0649945 0.0175729 -0.00110396 0.318405 -0.0897188 -0.165361 -0.080056 -0.0618692 -0.0106586 0.129513 0.0553638 -0.256382 0.00314139 -0.119694 0.448005 0.459905 -0.010882 1.19207 0.0622161 -0.0268582 -0.0826462 -0.446675 0.00480804 0.0809447 -0.512133 -0.108219 -0.186995 0.187935 -0.0938468 -0.217104 -0.166771 0.168565 -0.383282 0.0859863 -0.646842 -0.203526 -0.0840272 -0.062589 0.493978 0.195821 0.106144 0.00962798 0.0358524 0.0773088 -0.0527831 0.038265 0.191463 -0.369971 0.473091 0.202389 -0.108 -0.0373103 -0.060484 0.0558983 -0.0505104 0.0602973 0.0410444 -0.034391 0.0264711 -0.00972389 -0.0159343 0 0 -0.197922 0 -0.0466675 0 0 0.528096 0 0.737865 -0.0473572 0.0284606 0.0334824 0.00104077 -0.0184092 -0.0215483 0.0623007 0.105985 -0.643134 0 0 0 0 -0.0923475 0 0.133315 0 0.435855 0 0 -0.143214 0 0 -0.0130616 0 0 -0.0335446 -0.006897 0 -0.0175052 0 0.109654 0 0 0 0.0148892 -0.055971 0 0 -0.104535 0 0 0 0.0699533 0 -0.0977288 0 0.0622991 0.0208621 -0.450766 0 0 0.774199 0.125074 0.00169185 0 -0.0394299 0 0.00415618 0 -0.0150091 0.0886595 -0.066253 0.204892 -0.0978248 -0.0424269 -0.397773 0 0.263289 0 3.00158 -0.162863 0 1.31062 -0.513579 0.160402 0 1.59828 -0.648161 0.238889 0.206634 0 0 +130 0 0 0 -0.119656 0.02371 0 0 0 0 -5.11606 0.533457 0.379818 0 -0.0260791 0 0.148104 0 0 -0.0267706 0.905335 0 -0.0491146 0 -0.47533 0.0517704 0 0 -0.59911 0 0 0 -1.57412 -0.0722749 0 -1.92384 0 0.143856 -2.38394 0 0.895011 0 -0.137269 -7.98317 0.554171 0 -0.293226 0 0 0.329666 0.209278 0 -0.672851 0 -0.873655 -0.203151 0.38667 0 -0.189539 0.788357 0.239737 -0.864839 0 0 0 0 1.18046 0 -1.20985 -1.97484 3.38795 -0.110419 0.200481 -0.742711 2.7852 0 0 0.978133 0 0.27661 0 3.38949 -1.76595 0 0.871186 -0.410939 -0.832786 0 -1.23357 -0.336789 0.14327 -0.288504 0 0 -0.124567 -0.0164118 0.153578 -0.00317149 -0.119656 0.02371 -0.0837953 -0.0368426 0.102505 0.000400768 -0.00589098 -0.0341544 0.0205813 0.0440336 -0.0207189 0.00420561 -0.022251 -0.0759826 0.113483 -0.221363 0.0284821 -0.289495 0.348712 -0.00182353 -0.202441 3.45513 -0.00613745 -0.00937278 -0.131053 -3.58658 -0.0372699 0.00265287 0.455372 -0.999151 0.0131743 -0.253899 0.0152114 2.2267 -0.0272876 0.0645274 0.296326 0.0371512 0.00109344 -1.24957 -0.498818 -0.287028 0.00193781 -1.14205 -0.173075 7.54081e-05 0.0233949 0.138916 0.0343856 -0.110914 -0.265178 0.17343 0.0651246 -0.0362153 0.0320491 0.209843 -0.0109007 -0.00298351 2.2909 -0.0201073 0.384429 0.468732 -0.00302531 -0.0233144 -0.546578 -0.227203 -1.44281 0.408445 -0.436186 -0.0225632 0.186309 -0.0100421 1.99881 0.0814629 -0.0958121 0.0766042 -0.166682 0.182982 0.0264882 -0.0231269 0.0329331 -0.0372849 -0.00800655 0.000704119 -0.000992383 -0.0124417 0.00913721 0 0 0.153578 0 -0.00317149 0 0 -0.405979 0 -1.56732 0.0376675 -0.0558144 -0.0803668 0.00516561 0.0542249 -0.0525041 -0.0458119 -0.0317203 0.17284 0 0 0 0 -0.0728297 0 -0.420672 0 -0.147344 0 0 -0.0742445 0 0 -0.0046472 0 0 -0.0166439 0.00289182 0 -0.00367139 0 -0.287309 0 0 0 -0.00344171 0.0185743 0 0 -0.169383 0 0 0 0.0218407 0 0.23379 0 -0.992893 0.364115 0.946417 0 0 -0.60697 0.254236 0.103203 0 -0.227142 0 -0.0814489 0 -0.484328 0.0804629 0.0801473 -0.218652 -0.0181491 0.020037 0.251486 0 2.32473 0 0.567963 0.78737 0 0.392779 0.124764 -0.0562621 0 -0.552235 0.201505 0.101087 -0.0901356 0 0 +131 0 -0.379586 -0.163727 0.0551615 -0.00560592 0.261271 0.0729641 -0.107721 -0.055023 0.149762 -0.977266 0.377666 0.719905 -0.0910887 -0.241831 0.282241 -1.90566 -7.15753 -0.473435 1.56057 -1.43592 -0.246057 -0.0432448 0.103388 -0.511635 0.140086 -0.553603 -0.179745 -0.0618069 -1.02394 -0.035912 0.125184 0.604417 0.777257 -0.325691 -0.0397738 0.178927 -0.412066 3.97978 1.44758 -0.218071 -0.144236 -0.0317785 0.715081 1.68539 -0.215459 -0.024028 -0.256007 3.16982 -1.30799 0.327476 -1.5486 0.0895606 -1.56422 1.62126 -0.447364 0.994147 -2.11827 0.318627 1.12213 0.176433 -0.608558 0.605875 -2.62668 0.32444 -1.42562 0.737181 0.106013 -0.429245 -0.0250864 1.46092 -0.597382 0.701518 -0.0680473 3.02351 0.36013 -0.975013 -22.5509 -2.46993 1.92923 -3.14735 1.26456 -2.60005 2.29312 -1.94502 1.51075 0.912965 0.926318 -3.25697 2.30234 -1.37023 0.962255 0 0 0 0 0 0.0551615 -0.00560592 -0.0026274 0 0 0 0 -0.00467149 0 0.0684374 0 0 -0.00320178 -0.0231434 0.00384205 0 0.033953 -0.604813 0.00236464 0 0 2.10198 -0.00161695 0 -0.0995639 -1.14678 0 0 0.301287 -0.981585 0 0.208386 0 1.11276 0 0 0.156947 0 0 1.36 -0.066616 -0.0450442 0 -0.0319701 0.0612481 0 0 0.291845 0 -0.0219385 -0.965663 0.0236199 0 0 0.0101569 -0.0059467 0 -0.0706301 0.0577488 -0.0180546 0.223561 0.195286 0.107226 0 0.0876187 -0.0199121 -0.717068 -0.0599947 -0.236632 0 0 0 -2.30048 0.153377 -0.115958 -0.106302 0.12089 -0.166799 0.00515822 -0.005796 0.0052697 5.28655e-05 0 0 0 0 0 0 0.261271 0 0.0729641 0 0 0 0 -0.0206563 1.08386 0 0 0.168741 0 0.0202673 0 0.0224269 0 0 -0.0685608 0 0.0903262 -0.0356147 -0.0217411 -0.00883627 0 0 0.220397 0 0.500873 0 0.985688 -0.0928895 0 -0.438802 0.251845 -0.00425163 0 0.00108641 0 0 0.108262 0 -0.175004 0.00292485 0 0 -0.00277855 0 0 0.220566 -1.74319 -0.14258 0 2.20464 0 0.222999 0.111098 0.0386207 0.168094 0.00911715 -0.403525 0.0486978 -0.14329 -1.07943 3.20005 -0.120408 0 0 0 0.189136 0.101788 0 0 0 0 -0.281719 -13.0166 -3.52843 4.29447 -1.28334 0.895506 -0.629146 -0.213582 0.20827 -0.160013 0.247802 0 0 0 0 0 0 +132 0 0.00310037 0.35892 0.318713 0.361563 -0.270927 -0.0728157 0.470934 1.38868 0.0696219 -3.05877 -0.131452 0.193034 -0.521692 0.732847 -0.15498 1.17233 4.12087 -1.18216 -0.63693 0.0747264 -0.670789 -0.641128 0.611047 -1.38019 0.471791 0.406133 0.528363 0.0577473 0.671235 0.155573 0.586022 -0.28274 -1.20611 1.0686 0.180627 -0.0291507 0.52385 -1.9746 -0.100309 -0.135547 -0.745187 1.57331 0.0787937 1.32862 -0.837569 -0.0650371 0.209375 -1.2446 0.0715663 1.40429 -1.14127 -8.25304 0.479348 -0.836433 0.554345 -2.24532 -0.0595609 0.146768 1.61616 0.533768 1.68401 0.329009 5.28889 -0.8592 -0.75968 -0.160975 3.20966 0.917103 0.0760863 2.11842 -0.0805558 0.0961435 -1.01005 0.163957 -0.395101 -3.75577 7.68836 8.95467 -6.14328 5.96092 -2.24276 -1.0519 6.17411 -2.60002 1.8478 -1.11877 3.60094 -0.348813 -1.04936 0.499482 -0.630797 0 0 0 0 0 0.318713 0.361563 -0.0157996 0 0 0 0 -0.0135679 0 0.0079463 0 0 -0.0117809 -0.0370178 0.0044958 0 -0.0078164 0.140172 0.139924 0 0 0.505912 -0.0025668 0 -0.140754 0.0481295 0 0 0.0284044 -0.028283 0 -0.350184 0 0.162893 0 0 -0.00590056 0 0 -0.518871 -0.193819 -0.171022 0 -0.228965 -0.135212 0 0 0.14508 0 -0.0623899 0.0618877 0.0786555 0 0 0.0213768 0.00893335 0 -0.0130198 0.360256 -0.0325704 -0.323306 0.00914634 0.0305935 0 -0.136914 -0.101655 0.0473617 -0.141389 0.044534 0 0 0 0.947075 0.0681535 8.5916e-05 0.0537801 -0.0593394 0.0603615 0.0146995 -0.017002 0.0211002 -0.0168019 0 0 0 0 0 0 -0.270927 0 -0.0728157 0 0 0 0 -0.0732992 0.856998 0 0 -0.324321 0 -0.0402063 0 0.0052994 0 0 -0.0128208 0 -0.0361873 0.000210416 -0.0175234 -0.00500815 0 0 0.0464009 0 3.54477 0 1.00048 0.397712 0 0.027153 0.125766 0.000145348 0 -0.0103169 0 0 0.104963 0 1.18799 -0.356525 0 0 -0.046821 0 0 -0.139756 1.46735 0.0326775 0 0.463832 0 0.189721 0.130603 -0.04632 0.149105 -0.0452793 -0.134306 0.385141 -0.0580507 -0.845925 -2.3579 0.0275123 0 0 0 0.174142 0.0674751 0 0 0 0 -0.217855 -5.93508 1.0597 -1.60234 -0.0129471 0.000579894 -0.676911 0.369375 -0.191684 0.10776 0.115914 0 0 0 0 0 0 +133 0 -0.16446 0.396687 0.269523 0.124298 -0.0686128 -0.0537119 0.361289 1.08891 1.11518 -1.77992 0.00790596 0.225097 -0.473531 0.501504 0.0606894 0.792289 0.652382 -0.948291 -0.15209 0.48657 -0.55264 -0.720986 0.615752 -0.840781 0.385138 0.381052 0.696433 0.0151354 0.465468 0.211988 0.905333 0.160124 -1.40797 1.08463 0.136303 0.0258528 1.87895 -3.25298 -0.139966 0.086682 -0.675114 2.83077 0.0491753 0.115089 -0.63863 0.0196791 0.0848234 -0.144779 -0.00496184 -0.0537736 -0.273928 -5.03714 0.263496 -0.0902515 0.0528175 -0.445314 0.490846 -0.5022 0.635638 0.75335 0.968589 -0.00318493 2.10302 -0.865944 0.0398993 -0.462748 1.81435 0.471737 -0.968194 0.737111 0.59207 0.0419015 -1.87626 -1.21072 -0.155806 -2.80197 16.4535 7.21379 -4.47608 4.81251 -2.40805 1.8042 2.73907 -1.00847 1.08099 -1.12484 2.74565 -0.1295 -0.700509 0.379448 -0.437426 0 0 0 0 0 0.269523 0.124298 0.033814 0 0 0 0 0.0173157 0 -0.0291049 0 0 0.0159115 0.171183 -0.198433 0 -0.0299296 0.0866674 -0.213024 0 0 -1.32838 0.012012 0 -0.140008 0.72419 0 0 -0.145507 0.225295 0 -0.234435 0 -0.822509 0 0 -0.100661 0 0 -0.0707332 0.246765 0.22648 0 0.480931 0.0997369 0 0 -0.39679 0 0.067056 0.106645 -0.0844443 0 0 -0.0348311 -0.0584805 0 0.0553094 -0.528854 0.058339 0.222581 -0.12387 -0.0761803 0 0.186497 0.0985767 0.353036 0.0136986 0.146488 0 0 0 0.0589518 -0.176696 0.146552 -0.0018451 0.000694396 0.0108792 -0.020662 0.0236357 -0.0275735 0.0254048 0 0 0 0 0 0 -0.0686128 0 -0.0537119 0 0 0 0 0.0555064 0.261285 0 0 -0.35719 0 -0.0536115 0 0.00954643 0 0 -0.0662406 0 -0.0520617 0.0320417 -0.0225057 -0.0110516 0 0 0.0491911 0 -0.595705 0 -0.350365 0.0313854 0 0.311317 -0.00932453 -0.00569346 0 0.00498473 0 0 0.0451959 0 -0.0104712 -0.38765 0 0 -0.0650259 0 0 -0.0771699 0.507309 0.222279 0 -0.660725 0 0.113215 0.0969699 -0.167958 0.161784 -0.0500811 -0.482568 0.0210295 0.0271827 -0.399455 -2.82608 0.0264443 0 0 0 0.0543933 -0.0460559 0 0 0 0 -0.11084 10.7213 3.60006 -2.16235 0.698044 -0.205384 -0.36701 0.158138 -0.141406 0.271682 -0.355638 0 0 0 0 0 0 +134 0 -0.716357 -0.448385 -0.157533 -0.0447554 0.0641812 -0.00563591 -0.17429 -0.463372 -0.699592 1.59943 -0.00480419 -0.769028 0.284489 -0.826231 -0.0667661 -0.464122 -2.47975 0.643996 -0.440209 -0.700621 0.412103 0.56356 -0.373016 0.998052 -0.356828 -0.080705 -0.261393 -0.0137253 -0.0104244 -0.178205 -0.549714 -0.0351377 1.91854 -0.34712 -0.129102 -0.0411227 -0.536977 8.26954 -0.192423 -0.131408 0.404962 0.17641 -0.248961 -3.56964 0.374437 -0.0160074 -0.0300435 -0.545652 0.349406 0.712451 0.550264 1.05856 0.151442 -0.206912 0.0533572 -1.04505 0.0265285 0.0332383 -0.763092 -0.471131 -1.41165 -0.932255 -2.4585 1.13903 -0.654035 1.01166 -1.43147 1.08587 0.64489 -0.430556 -1.37239 -0.218204 0.477642 -0.53745 -0.0654301 1.84757 -38.1993 -11.1099 1.90658 -9.87125 5.4577 -6.93211 -3.20374 1.69613 -0.984366 0.345528 -1.61948 0.826532 -0.204018 0.105004 0.012615 0 0 0 0 0 -0.157533 -0.0447554 -0.0134801 0 0 0 0 -0.00677431 0 0.069052 0 0 -0.0102426 -0.103241 0.0867741 0 0.0333598 -0.347504 0.127583 0 0 -0.357943 -0.00723872 0 -0.105724 1.39659 0 0 -0.00916173 0.134001 0 -0.0373684 0 -0.206023 0 0 -0.0086233 0 0 0.659943 -0.0966685 -0.146442 0 -0.192745 -0.0380995 0 0 0.37723 0 -0.0329701 -0.067056 0.0274901 0 0 0.0241095 0.0182588 0 -0.0709444 -0.145881 -0.0377866 -0.723921 -0.00633237 0.11245 0 -0.0694824 -0.0226334 0.150972 -0.0207563 0.00357814 0 0 0 -1.11589 0.193926 -0.218405 -0.0618212 0.069851 -0.0793311 0.0137846 -0.0156496 0.0176679 -0.0155119 0 0 0 0 0 0 0.0641812 0 -0.00563591 0 0 0 0 0.0330528 0.2335 0 0 0.319031 0 0.0507266 0 -0.00684414 0 0 0.0614979 0 0.173674 0.0133436 0.0243002 0.0125422 0 0 -0.00552464 0 -0.630949 0 2.54189 -0.0325555 0 0.00586909 0.548457 0.00575764 0 0.00544646 0 0 0.00347308 0 -0.21656 0.0182429 0 0 0.0321997 0 0 -0.00177852 -0.526881 0.105226 0 0.599735 0 0.554997 0.092578 -0.0131919 0.120043 -0.0112713 0.0172322 -0.108243 -0.0180393 -0.333089 -1.803 -0.00612397 0 0 0 0.0441427 0.0448529 0 0 0 0 -0.0639373 -19.7021 -4.30785 2.18276 -1.73992 1.22118 -1.42361 -0.24283 0.16356 -0.162058 -0.0695475 0 0 0 0 0 0 +135 0 0.281779 0.155674 0.176186 0.286616 -0.217754 -0.0948474 0.570041 1.15931 -0.737219 -2.36922 -0.0995514 -0.177143 -0.256858 0.0976272 0.02031 -0.180578 -0.877588 -0.65037 0.261562 -0.901821 -0.38297 -0.299764 0.249692 -1.12425 0.202828 0.0105114 0.244228 0.00969056 0.075917 0.0190463 0.00286687 0.0348975 -0.520796 0.467743 0.0975062 -0.0445024 0.357553 -0.486868 -0.175881 -0.209171 -0.327042 0.842723 -0.0606315 -1.33253 -0.341372 -0.0450048 0.0332301 0.365795 0.402476 0.6781 -0.408998 3.96035 -0.651568 0.522868 -0.266999 -2.19518 -0.928737 -0.628821 0.887812 -0.0929278 1.66322 -0.0649755 0.751556 0.490042 -0.537447 -0.421165 0.263247 1.37324 0.95291 1.60681 0.249675 -0.428766 -0.00879173 -2.18826 0.081977 0.938265 3.06149 7.95966 -4.51865 4.52223 -1.18889 -0.109008 5.2387 -2.09238 1.92282 -1.42935 1.47647 0.00618433 0.04238 0.18963 -0.0918703 0 0 0 0 0 0.176186 0.286616 -0.0220539 0 0 0 0 -0.0158788 0 0.0709053 0 0 -0.0204396 -0.131961 0.184751 0 0.0352073 0.147984 0.40961 0 0 -0.581852 -0.00922913 0 0.230462 0.866256 0 0 -0.130624 0.159134 0 0.623637 0 -0.198042 0 0 -0.056895 0 0 1.27435 -0.22659 -0.293737 0 -0.31564 -0.073575 0 0 0.730519 0 -0.0662699 0.159428 0.070865 0 0 0.0367635 0.025209 0 -0.129846 -0.318079 -0.0404542 0.211013 -0.0784298 0.152801 0 -0.0918131 -0.0770067 0.555463 -0.131419 0.191427 0 0 0 -2.11032 0.366791 -0.529887 -0.118818 0.135057 -0.154038 0.0250497 -0.0290755 0.0363584 -0.0512266 0 0 0 0 0 0 -0.217754 0 -0.0948474 0 0 0 0 -0.133349 0.427462 0 0 -0.199986 0 -0.0147151 0 -0.00633375 0 0 0.0323163 0 -0.112677 -0.0287215 0.0323907 0.00742894 0 0 -0.0406927 0 2.5537 0 -0.942956 0.102337 0 -0.240029 -0.265592 0.00628951 0 -0.0155774 0 0 0.0372888 0 0.688583 -0.342145 0 0 -0.0244823 0 0 -0.176091 0.6737 -0.245027 0 0.015498 0 -0.329577 0.0476707 0.0780071 -0.0763254 0.0274801 0.27528 0.268407 -0.0329071 -0.210461 2.32506 -0.00114412 0 0 0 0.0602399 0.0085328 0 0 0 0 -0.0456577 7.20283 2.2814 -0.695015 0.935518 -0.955705 1.23836 0.25189 -0.130513 0.0380026 0.300085 0 0 0 0 0 0 +136 0 -0.388896 -0.7719 -0.35046 -0.239887 0.34989 0.111224 -0.109494 -0.568066 -0.604236 3.4797 0.240877 0.631945 0.594096 0.585185 0.147247 -2.18726 -8.66318 1.34798 0.333102 -0.193738 0.854264 0.951089 -0.723857 2.14286 -0.161291 -0.715527 -0.588627 -0.0652934 -1.00894 0.109976 -0.8369 0.365234 2.5153 -1.1417 -0.0744822 0.063827 -1.03307 7.50071 0.746594 0.0525301 0.817162 -2.21802 0.122359 2.26284 0.768588 0.0326607 -0.261989 0.972561 -0.495744 -0.244181 0.320205 0.837554 -0.158197 0.435913 -0.397019 -1.28991 -1.04952 -0.714974 -2.16735 -0.648579 -0.198777 0.231512 -4.00021 0.398383 -0.684897 0.279878 -1.71005 0.293771 0.379251 -3.72828 0.0926269 0.668473 1.25344 0.278261 0.292541 2.45407 -38.4545 -19.8207 5.0629 -14.6163 4.97129 -3.82921 -8.1641 1.78717 -0.532523 0.741561 -3.32422 -0.772122 1.71682 -1.5576 1.22095 0 0 0 0 0 -0.35046 -0.239887 -0.0141484 0 0 0 0 -0.000871252 0 -0.00961862 0 0 -0.0050073 -0.0758774 0.091349 0 -0.0114973 0.0369714 0.129092 0 0 0.070673 -0.00534185 0 0.069808 -0.565828 0 0 -0.0291142 0.270201 0 -0.154113 0 -0.0671847 0 0 -0.0260635 0 0 -0.173497 -0.012111 -0.0695879 0 -0.198954 -0.035209 0 0 0.140323 0 -0.00600172 0.120529 0.00713699 0 0 0.00979565 0.03789 0 -0.00997885 -0.163778 -0.0118595 0.573655 -0.0353977 -0.00773527 0 -0.014681 -0.00025362 0.0748803 0.0373379 0.0440203 0 0 0 0.211773 0.0468355 -0.0981689 0.0101804 -0.0131721 0.0232124 0.00594535 -0.00690019 0.00861187 -0.0162871 0 0 0 0 0 0 0.34989 0 0.111224 0 0 0 0 0.0612275 -0.380351 0 0 0.397075 0 0.0556838 0 0.000609176 0 0 -0.0616842 0 0.205469 -0.0368107 0.00235311 -0.00515806 0 0 0.0319272 0 -3.42922 0 -0.0275692 -0.10005 0 -0.446383 0.173846 0.00339629 0 0.010291 0 0 -0.0578464 0 -0.48741 -0.19879 0 0 -0.0300584 0 0 -0.0613511 -0.245808 -0.0450233 0 -1.11165 0 1.25855 -0.0900319 0.0644865 0.129275 0.0724005 -0.359235 -1.0935 0.0148483 0.457011 -0.621353 -0.100037 0 0 0 -0.0698582 -0.0478224 0 0 0 0 0.137669 3.70063 -1.35607 2.78574 -0.541461 0.376247 -0.151302 -0.323547 0.16955 -0.0937267 0.136879 0 0 0 0 0 0 +137 0 -1.36104 -0.20198 -0.411044 -0.41553 0.260467 0.139995 -0.993504 -2.83427 -0.427939 3.13989 0.182249 -0.379525 0.602854 -0.57062 -0.0691182 -1.21182 -5.20354 0.779703 -0.53143 -0.252767 0.301435 -0.223402 -0.662931 1.10546 -0.72595 -0.367401 -0.482463 -0.0780323 -1.02761 -0.19803 -0.649756 -0.0176614 -0.351909 -0.998322 -0.239165 -0.0071756 -1.81337 0.419764 0.639944 -0.00480756 0.820382 -5.21077 -0.0808082 -0.128955 0.429847 0.0125512 -0.283256 -0.455042 -0.627529 -0.118586 0.623682 -3.57796 0.295664 -0.747999 0.126072 -0.724457 -0.173147 0.17989 -0.918982 0.0337089 -0.289327 -0.044687 0.954535 2.49707 0.971402 1.19845 -1.9502 -1.83386 -0.587287 -0.579583 -1.10325 0.585736 0.887833 1.26424 0.206181 0.60824 -2.30934 -6.05247 4.42911 -1.5031 0.196829 -0.152602 -6.13065 3.0871 -2.70869 3.81603 -2.21162 -1.04342 2.20023 -2.10132 2.11984 0 0 0 0 0 -0.411044 -0.41553 -0.0277912 0 0 0 0 -0.00380527 0 -0.0105922 0 0 0.00628766 -0.0424135 0.0661378 0 0.00295241 -0.67975 -0.0973564 0 0 0.269791 -0.0032761 0 0.190672 -3.08098 0 0 0.0239297 -1.35555 0 -0.142484 0 -0.084283 0 0 -0.0192494 0 0 -0.444831 -0.0506814 0.0927392 0 -0.386298 0.0617836 0 0 -0.0730942 0 -0.0290255 0.337131 0.0491965 0 0 -0.0184275 0.0605353 0 0.0395637 0.0843317 0.0343847 3.00415 0.0533922 -0.0675241 0 -0.0612925 -0.0748377 0.0787237 0.326546 -0.104891 0 0 0 0.852175 -0.168736 0.252598 0.0255337 -0.0427638 0.0949552 -0.0101892 0.0147308 -0.0236984 0.0366388 0 0 0 0 0 0 0.260467 0 0.139995 0 0 0 0 -0.0415575 -0.828305 0 0 0.559205 0 0.0695474 0 0.00146622 0 0 -0.0224416 0 -0.0667879 -0.0706724 0.0230018 0.00111786 0 0 0.0367151 0 -2.257 0 1.23304 -0.0832433 0 -0.449962 0.202438 0.00346192 0 -0.008653 0 0 -0.0968847 0 -0.302698 0.322614 0 0 0.0496761 0 0 -0.160026 -0.611289 -0.271331 0 -0.773828 0 0.524977 -0.312643 0.335384 0.0153801 0.0252812 0.0680277 -0.264508 0.125951 0.630443 -2.65362 0.0224705 0 0 0 0.0120396 -0.100607 0 0 0 0 0.173482 -8.09703 -3.06632 1.79056 -1.01365 0.95285 -1.00147 -0.549345 0.407131 -0.364564 0.278648 0 0 0 0 0 0 +138 0 -0.0362446 -0.149635 0.109832 0.0595186 -0.108745 -0.0620116 0.352973 1.77569 0.383104 -2.42162 -0.133175 0.54582 -0.263982 -0.575993 -0.0786565 -1.0261 -4.04027 -0.701751 -0.189345 0.164112 -0.389493 -0.0923688 0.32968 -1.11756 0.358327 -0.190537 -0.396873 0.0514182 0.524722 0.0213031 0.406686 -0.129708 -0.375772 -1.19026 0.0885235 -0.0346928 -1.06901 -1.73088 -0.188627 -0.0105861 -0.50811 -2.94043 0.0306515 0.200275 -0.76059 -0.00619863 0.168518 -0.306012 -0.248137 -0.421105 -0.54476 4.43828 0.155295 -0.329445 0.178718 -1.16519 0.0644272 0.178638 1.3888 0.909756 -1.82489 -0.111238 -0.0994133 -1.15873 0.253811 -0.38334 0.953231 -0.923048 -0.364834 2.0631 0.347256 -0.0116857 0.500879 0.880081 -0.136581 0.835113 11.9909 5.72627 -2.40148 1.42977 -1.07122 2.32186 5.74167 -2.90634 2.65373 -2.45498 3.91333 -0.581497 -0.565378 0.930497 -1.08244 0 0 0 0 0 0.109832 0.0595186 -0.0445646 0 0 0 0 -0.0265886 0 -0.00621858 0 0 0.00116794 0.0478107 -0.0133514 0 -0.00436013 -0.609824 0.0805728 0 0 0.350813 0.00305216 0 -0.240973 -7.03713 0 0 -0.00228667 -2.42181 0 -0.186432 0 0.250776 0 0 0.00764344 0 0 -0.40528 -0.369339 0.0287415 0 -0.618855 -0.00757151 0 0 -0.0945573 0 0.0152874 0.0909989 -0.0158281 0 0 0.0116938 0.147177 0 0.0214425 0.254313 -0.037534 7.26573 0.0491585 -0.0502543 0 -0.0958914 0.0129115 -0.232386 1.16264 -0.114496 0 0 0 -0.513097 0.133554 -0.42298 0.00537567 0.0100689 -0.0295215 0.000657414 -0.00618837 0.0184932 -0.0483845 0 0 0 0 0 0 -0.108745 0 -0.0620116 0 0 0 0 0.0317404 -0.422309 0 0 -0.194346 0 -0.0253642 0 -0.0118195 0 0 -0.0372817 0 -0.1403 0.053493 0.0142303 -0.00819752 0 0 -0.123801 0 -4.47541 0 -0.537229 -0.355543 0 0.412581 -0.38975 0.000584792 0 0.00346524 0 0 -0.0428915 0 -1.39102 -0.134411 0 0 -0.0206967 0 0 0.0164748 0.536868 0.313963 0 -0.506521 0 -0.215604 0.129213 -0.234302 0.665794 0.0110562 -0.606714 0.0625113 -0.0996018 1.18083 1.89295 -0.0779568 0 0 0 -0.0263744 0.0791055 0 0 0 0 0.183768 5.41643 2.50906 -2.50115 0.718643 -0.610085 0.476502 0.176445 -0.249895 0.31527 -0.437758 0 0 0 0 0 0 +139 0 0.167365 -0.0552431 0.0613777 0.111914 0.0580599 -0.128693 0.743421 2.355 -0.165537 -2.28461 -0.317565 -0.139204 -0.0652639 -0.537309 -0.104704 0.121703 -3.86167 -0.598363 -0.817319 0.692295 -0.288209 0.103224 0.0536192 -0.960322 0.485684 0.301486 -0.443925 0.0608964 0.918935 -0.0473908 -0.0206837 -0.276589 0.504589 -1.00964 0.116294 -0.125362 -2.46369 2.05614 -1.12569 0.118014 -0.0589529 -5.32757 -0.443832 -2.48439 0.0754282 0.0224656 0.237872 -2.07545 0.96568 0.149483 -0.559025 -5.29773 -0.193805 -1.05046 0.372101 -1.71427 0.562412 0.449201 1.169 -0.254208 0.214614 -0.263993 -0.528123 0.671982 1.42505 0.530472 -0.960434 -4.15839 0.320534 1.0793 -0.538758 -1.13153 -0.165119 -1.39487 -0.0611394 -1.56397 -6.25049 3.17973 -6.13342 1.65379 -0.206993 -2.49677 5.72298 -2.41931 2.06382 -3.11256 -0.388087 3.0017 -2.44182 2.44992 -1.89565 0 0 0 0 0 0.0613777 0.111914 0.00171903 0 0 0 0 -0.000720597 0 0.0912759 0 0 -0.0085916 -0.0453356 0.20071 0 0.041895 -0.174194 0.453197 0 0 -0.893973 -0.00318452 0 -0.417218 -2.6247 0 0 -0.0692591 -0.958617 0 -0.6135 0 -0.342531 0 0 -0.021809 0 0 -0.729726 -0.00968554 -0.121602 0 0.0251911 -0.176504 0 0 0.145928 0 -0.0166739 -0.326216 0.0493015 0 0 -0.00485151 -0.0510979 0 -0.00240724 -0.00358649 0.0610067 -0.0528924 -0.129215 -0.0264736 0 -0.00598331 -0.0817302 1.20988 -0.684665 0.258558 0 0 0 -0.498109 0.177716 -0.668194 -0.0178996 0.0186621 0.0439816 0.00563264 -0.00873159 0.0199189 -0.0726405 0 0 0 0 0 0 0.0580599 0 -0.128693 0 0 0 0 -0.0145686 -0.172269 0 0 0.0169102 0 0.00900335 0 -0.0130979 0 0 -0.152925 0 0.0683256 0.0132528 0.0685146 -0.0214909 0 0 -0.12769 0 -4.12678 0 -0.415138 -0.144384 0 0.0642752 0.116254 0.00905149 0 0.00124536 0 0 -0.0243028 0 -0.787393 -1.27477 0 0 -0.160175 0 0 -0.233793 -0.268596 -0.0298793 0 -0.261256 0 0.269946 0.0811656 -0.00281962 -0.0611451 0.142 -0.161391 -0.317971 0.0201576 -0.111228 -1.30671 -0.111899 0 0 0 0.0368548 -0.0716143 0 0 0 0 0.0416127 11.6905 2.52891 -1.28484 1.36366 -0.905276 0.688808 0.00718132 -0.043155 0.0460433 -0.0378556 0 0 0 0 0 0 +140 0 -0.391984 -0.342327 -0.170674 -0.1046 0.179969 0.00651787 -0.238126 -0.496233 -3.8978 1.38722 0.125132 -0.500627 0.0877624 -0.640694 0.123278 0.0918662 0.3022 0.610732 0.743896 -0.505235 0.481161 0.591016 -0.970388 1.09871 -0.240213 0.0324715 -0.340965 -0.0222812 -0.507201 -0.256591 -2.02998 0.216704 1.79847 -0.606018 -0.137952 0.063226 -0.783189 6.36931 0.637428 -0.0571832 -0.271991 -1.0169 0.321243 -1.46582 -0.998962 -0.00556102 -0.104618 1.35736 0.116866 -1.08698 -0.249181 1.29174 -1.1181 0.39412 -0.251557 2.74236 -0.188072 -0.0973235 -1.06016 -0.412484 -0.646945 -0.0784122 -4.53053 1.30435 1.40116 1.14164 -2.88387 -2.12995 5.06903 -2.68112 -0.620744 -0.323722 2.90802 -0.364819 0.201135 0.990461 -25.7066 -8.12759 1.27529 -4.87384 2.21015 -3.32904 -2.16505 1.26457 -1.21154 1.17233 0.71527 -0.389906 0.494708 -0.281904 0.317966 0 0 0 0 0 -0.170674 -0.1046 -0.012985 0 0 0 0 -0.012711 0 0.0297716 0 0 0.0117911 0.126392 -0.142602 0 0.00335574 -0.176176 -0.188778 0 0 0.0627337 0.00891709 0 -0.187102 3.68889 0 0 0.0249873 0.740919 0 -0.121496 0 0.189577 0 0 0.0272178 0 0 0.672071 -0.182825 0.166779 0 -0.18847 0.0639393 0 0 -0.0779531 0 -0.0446297 -0.106162 0.0548393 0 0 -0.00921447 0.00968403 0 -0.0290482 -0.612198 0.0188706 -2.85589 -0.0468021 0.0531037 0 0.00619264 -0.0644671 0.334638 -0.416163 0.119908 0 0 0 -1.02695 -0.0148771 0.00725746 -0.0756795 0.0853291 -0.0771153 -0.0110961 0.0136158 -0.0221366 0.0250439 0 0 0 0 0 0 0.179969 0 0.00651787 0 0 0 0 -0.0538696 0.46597 0 0 0.362393 0 0.0522209 0 0.00137515 0 0 -0.0367906 0 0.186083 -0.0363367 0.0220977 -0.00152138 0 0 0.0659081 0 0.699148 0 1.06562 0.033393 0 -0.353434 0.344227 0.00473516 0 -0.00470242 0 0 0.0253931 0 0.0483557 -0.254633 0 0 -0.0177932 0 0 0.0620913 -0.798169 -0.219431 0 0.763215 0 0.339083 0.0344739 0.145334 0.194862 0.085401 -0.1259 0.022936 -0.0341637 -0.868414 0.0586058 -0.0876048 0 0 0 0.0243871 0.0822009 0 0 0 0 -0.16557 -10.7759 -3.73911 2.97088 -1.02544 0.649376 -0.469178 -0.361894 0.275873 -0.247925 0.207133 0 0 0 0 0 0 +141 0 -0.430662 -0.503415 -0.115123 0.248078 -0.140586 -0.0538369 0.325194 0.958508 3.53613 0.777697 -0.0702114 0.0382125 0.597683 -0.0423096 -0.161962 -0.989301 -1.90938 0.902696 -0.796442 -0.193395 0.72312 0.882405 -0.0671927 1.23171 -0.00470646 -0.458303 -0.3108 0.00136794 0.175788 -0.0142325 0.74917 -0.359146 2.07061 -0.206194 -0.0244189 -0.037721 -0.243638 5.74937 -0.320012 -0.0126382 0.672859 1.48706 -0.0974271 -0.570609 0.924881 0.00098474 0.0180739 -1.7788 -0.251356 0.166468 -0.0636368 -6.98346 1.5355 -0.334033 0.207826 -1.92749 1.32564 -0.083913 -0.973213 -0.164666 0.542355 -0.0462387 -4.90647 1.23056 -0.410239 0.37351 -3.17848 -0.607664 -4.43319 -2.52669 0.0190906 0.157435 -2.65582 -0.9771 -0.0315807 -1.25014 -26.2778 -6.15693 0.0226382 -5.01492 2.68354 -3.04941 0.151538 -0.918348 0.975252 -1.63421 -0.662227 0.264278 -0.352839 0.128764 -0.110202 0 0 0 0 0 -0.115123 0.248078 0.0322729 0 0 0 0 0.0119691 0 -0.00425092 0 0 -0.00503611 0.0721375 -0.0561402 0 -0.0275045 -0.116527 0.166596 0 0 -1.05865 0.00522961 0 0.119493 0.0916871 0 0 -0.137206 0.0381893 0 0.122112 0 -0.344203 0 0 -0.0439307 0 0 0.215431 0.168087 -0.0738012 0 0.454678 -0.0484577 0 0 0.0406134 0 0.0320184 0.0108418 -0.0524519 0 0 0.00529365 -0.0755885 0 -0.0138456 -0.0378476 -0.001296 0.132201 -0.0981962 0.008016 0 0.0769033 0.071139 0.254852 -0.0876054 0.174981 0 0 0 -0.881765 0.111372 -0.30249 -0.0166402 0.0274965 -0.0644901 0.00582268 -0.00943173 0.0188476 -0.0397813 0 0 0 0 0 0 -0.140586 0 -0.0538369 0 0 0 0 -0.0256345 -0.135176 0 0 -0.270787 0 -0.0200375 0 -0.00903373 0 0 0.0546966 0 -0.0233558 -0.0106108 0.00386012 0.00874425 0 0 -0.0472061 0 -1.2822 0 -0.163624 -0.100131 0 -0.0743244 -0.196062 0.00276615 0 -0.00279693 0 0 -0.0437095 0 -0.325797 0.114495 0 0 0.0255347 0 0 -0.0711759 0.592096 -0.059282 0 -0.934253 0 0.317026 0.109371 -0.0720355 0.496311 0.00200225 -0.43174 -0.416239 -0.0353007 -0.0665448 -0.96368 -0.0653218 0 0 0 -0.106106 0.0816204 0 0 0 0 0.0456129 2.47564 1.9612 -0.496077 0.0361602 -0.354041 0.665955 0.352629 -0.257617 0.180291 0.0737312 0 0 0 0 0 0 +142 0 -0.158861 0.105625 0.118309 0.035901 0.118321 -0.090905 0.467038 1.02006 2.56454 -1.22794 -0.278542 -0.601532 -0.082059 -0.539328 -0.0405138 -0.719119 -5.53996 -0.38703 -0.763728 -0.438584 -0.296527 -0.387717 0.652246 -0.764629 0.126024 3.0234e-05 0.573296 0.03896 0.653105 -0.0251867 1.34955 -0.0102771 -0.675572 1.05153 0.0620512 -0.136663 1.54041 -0.517423 -1.09918 -0.135697 0.157653 2.33556 -0.561939 -4.00066 0.646291 -0.0339545 0.159663 -1.31099 -0.290246 1.22842 0.456211 1.74714 0.787628 -0.433487 0.149271 0.166369 0.501065 -0.499631 0.239188 0.29342 0.251306 0.386025 -0.21615 0.715333 -0.959546 0.278291 0.112672 1.1681 -3.3006 0.845481 -0.739963 0.577599 -3.18325 -0.441011 -0.133575 -1.81168 5.2676 3.7727 -4.30795 -0.00716946 0.710551 -0.983313 0.961115 -0.305429 0.733224 -2.05585 -0.462753 0.498129 -0.436397 0.450259 -0.409434 0 0 0 0 0 0.118309 0.035901 0.0070683 0 0 0 0 0.00788066 0 0.06857 0 0 -0.00780216 -0.0879476 0.165039 0 0.0370897 -0.00960812 0.311472 0 0 -2.17208 -0.00621188 0 0.148906 0.30281 0 0 -0.280703 0.0598729 0 0.491803 0 -1.16634 0 0 -0.15233 0 0 1.21208 0.113617 -0.109831 0 0.104477 0.0244126 0 0 0.484291 0 0.0290899 0.11462 -0.0514834 0 0 0.00562109 -0.00216712 0 -0.0843666 -0.904022 0.0173014 2.01398 -0.167838 0.0757618 0 0.123075 0.0723709 0.774445 0.195431 0.263006 0 0 0 -2.41351 0.252136 -0.552403 -0.138837 0.151741 -0.141358 0.00722274 -0.00896241 0.0144083 -0.0420631 0 0 0 0 0 0 0.118321 0 -0.090905 0 0 0 0 -0.0198577 -0.38709 0 0 0.0575654 0 0.00885166 0 -0.0180684 0 0 0.0519293 0 -0.139963 0.00618475 0.0930832 0.0065574 0 0 -0.165775 0 -2.17768 0 -0.807702 -0.116905 0 0.0407522 -0.175031 0.0105972 0 -0.00205127 0 0 -0.0437323 0 -0.322075 -0.457498 0 0 -0.0507591 0 0 -0.249335 0.146035 0.00282713 0 -0.943851 0 0.158695 -0.0641969 0.0274533 -0.0853042 0.0247563 -0.124196 -0.21091 0.0680413 0.45264 0.134719 0.00497683 0 0 0 0.00395178 -0.141772 0 0 0 0 0.156319 17.0602 3.55393 -1.6156 1.38982 -0.814424 0.486926 -0.0918459 0.000430799 0.0666196 -0.129006 0 0 0 0 0 0 +143 0 0 0 -0.367543 -0.361163 0 0 0 0 -3.64447 3.5854 0.638152 0 0.406831 0 -0.0165755 0 0 0.512582 0.150757 0 0.168873 0 -0.64805 1.12225 0 0 -0.524096 0 0 0 -1.35131 -0.538708 0 -1.69121 0 0.0610738 -2.35136 0 3.80354 0 0.560615 -7.86045 0.781434 0 0.159149 0 0 -1.25275 -0.541871 0 2.19517 0 -0.445104 0.489856 0.264628 0 -0.642192 -0.145752 -1.00749 -0.718775 0 0 0 0 2.24389 0 2.59057 -1.63423 2.26002 1.13456 0.796595 2.19094 3.45489 0 0 0.71129 0 -6.24936 0 -0.650435 -5.6421 0 -3.5521 1.86563 -5.79122 0 -1.24567 -2.74664 0.344976 -6.44814 0 0 -0.00190351 -0.000157411 -0.465021 -0.108014 -0.367543 -0.361163 -0.0351526 0.0434664 -0.106319 -1.52728e-05 0.00751731 -0.013132 -0.0125363 0.0571853 -0.00134924 -0.000308834 -0.011698 -0.0993307 -0.0541553 -0.026467 0.0164024 -1.34127 0.0331738 -6.84695e-05 0.113292 0.144088 -0.00462879 0.0219734 -0.355068 -10.6885 0.877964 -0.00351709 0.00535372 -3.90477 -0.0167531 -1.55967 -0.00492277 0.172525 0.143826 -0.0742793 0.00628962 -0.00627633 -0.000592259 -4.50424 -0.279813 -0.251457 -0.000779528 -0.748366 0.247888 0.00983598 -0.00458694 -1.09878 -0.0123182 -0.0534497 0.1576 0.241695 0.00626372 0.00467135 0.0152902 0.0642089 -0.0541597 -0.0807842 -0.742928 -0.00764532 5.8169 -0.255603 0.118669 0.06379 -0.0536056 0.00392794 -2.60335 0.794361 1.9709 0.0208372 -0.0231365 -0.000588763 34.0693 1.90737 1.78811 0.154449 -0.0670963 1.59899 0.00733423 0.00103196 0.0371804 -0.409224 2.95034e-05 0.00265403 -0.0286117 0.157046 -1.91776 0 0 -0.465021 0 -0.108014 0 0 -2.12209 0 -3.25339 0.0226593 0.032134 0.606609 0.010823 0.144384 -0.321252 -0.0693069 0.0850077 -0.232052 0 0 0 0 -0.0935537 0 0.0870737 0 -0.754067 0 0 0.864931 0 0 -0.0451528 0 0 -0.00123314 0.00768187 0 0.101646 0 -0.36092 0 0 0 0.0113542 0.0769915 0 0 0.0345793 0 0 0 -0.439812 0 1.05732 0 -0.361175 0.416313 0.205439 0 0 0.655564 0.205092 -1.0358 0 0.205756 0 0.088322 0 -0.548911 -0.293104 -0.0425118 -0.169233 0.251467 -0.00459725 0.779121 0 -2.14366 0 0.692291 -2.63151 0 -0.317828 -0.141341 -0.573143 0 0.121891 -0.440557 0.265092 -0.688293 0 0 +144 0 0 0 0.192501 0.662168 0 0 0 0 0.303339 -2.26131 0.820941 0 -0.120811 0 0.099941 0 0 -0.270784 0.226106 0 -0.155525 0 -0.185425 -0.591923 0 0 -0.23327 0 0 0 -0.569853 0.376713 0 0.102628 0 0.040687 -0.624773 0 2.0787 0 -0.513387 1.45835 0.0202315 0 -2.95963 0 0 0.021688 -0.889582 0 -1.34174 0 0.0694978 0.433725 -0.269886 0 0.157654 -0.487933 0.484894 0.430296 0 0 0 0 -2.56047 0 -0.440627 3.1318 2.70437 -0.453799 -0.377873 0.320256 1.81768 0 0 0.556042 0 3.00488 0 4.63598 -2.50369 0 6.2903 -4.47981 3.86101 0 7.57457 -4.35892 4.56331 -3.31946 0 0 0.491813 0.0406706 -0.190251 -0.0641577 0.192501 0.662168 0.036744 0.0546712 -0.503063 -0.000337363 0.00450289 0.00810522 0.0139271 0.0451212 0.0301064 -0.00633524 -0.0614421 -0.31062 0.635226 0.457521 0.0740364 -0.19931 0.885425 0.00185078 0.31819 -1.08064 -0.0221086 0.0170519 0.0657117 -2.92624 0.494367 0.0179094 -0.293582 -0.956102 -0.0644882 -0.0383854 -0.03985 -0.525828 0.0988722 0.195336 -0.107955 -0.103877 0.00178578 0.406804 0.114641 -0.793862 -0.00459606 0.45846 0.387196 -0.0464488 -0.0174494 -0.0738153 -0.0463714 0.102948 3.49311 -0.172093 -0.0875472 0.117291 0.11489 -0.0442492 -0.0747714 -0.250144 0.164299 -0.194132 2.58913 0.257839 -0.0703325 -0.105083 0.0927074 -0.484605 1.66105 -0.446872 -0.338032 0.059932 -0.145859 0.0109872 -3.077 2.21207 -3.52143 0.415611 -0.437657 -2.31395 0.0457452 -0.0660676 0.497789 -1.17706 0.00763129 -0.0130302 0.11037 -0.0754687 -1.07986 0 0 -0.190251 0 -0.0641577 0 0 0.222011 0 0.609904 -0.0573582 -0.00820134 -1.04119 -0.00661348 -0.0912528 -0.025758 -0.0578805 0.0644695 -0.495643 0 0 0 0 -0.385916 0 0.038011 0 -0.0872165 0 0 0.363186 0 0 -0.00890556 0 0 -0.0520802 0.011061 0 0.044077 0 -0.0236345 0 0 0 0.0066988 0.071705 0 0 0.023742 0 0 0 0.147446 0 -0.276929 0 1.27516 -0.973025 0.678763 0 0 0.201648 -0.386366 1.10964 0 0.0557079 0 0.0480988 0 0.0865321 0.17391 -0.485236 0.362356 0.169283 0.0207187 0.167214 0 3.54466 0 1.65635 -0.926014 0 1.46563 -0.986127 0.902967 0 0.908318 -0.748604 0.662905 -0.351495 0 0 +145 0 0 0 -0.217625 0.034788 0 0 0 0 -2.53695 -2.37949 -0.0480891 0 0.467307 0 0.00918897 0 0 -0.286302 0.788627 0 -0.10627 0 -0.9368 -0.996829 0 0 -0.724304 0 0 0 -1.50488 0.313095 0 -1.39287 0 -0.0974167 -2.24292 0 -0.831199 0 0.0973751 -4.20442 -0.434614 0 -1.70469 0 0 2.96819 0.427406 0 -0.79738 0 -1.04871 0.128295 -0.475207 0 -1.08168 -0.117263 0.8725 0.0925157 0 0 0 0 -0.0755261 0 -0.33736 -1.87409 2.56341 -1.46381 -0.931268 -1.80301 4.06043 0 0 3.25593 0 4.50314 0 2.22479 1.71125 0 2.22523 -1.0577 3.29387 0 1.68897 0.406459 1.70646 1.6798 0 0 0.0257201 0.00212693 0.163355 0.0757021 -0.217625 0.034788 -0.0136567 0.0414091 0.0284895 -2.1658e-05 0.00695142 -0.0099204 0.00195251 0.205887 0.00127592 -0.000412044 -0.00189861 -0.0113359 0.858 0.0179457 0.152726 -1.37013 1.25363 8.19422e-05 0.186836 1.56123 -0.000926025 -0.0146105 0.259099 -6.17 -0.175199 0.00133976 0.13802 -3.05335 -0.00236018 0.634497 0.000485661 0.763692 -0.0594203 0.0188127 0.0615057 -0.0070498 0.000150796 1.52083 -0.214595 -0.0134826 -0.000192886 -0.308229 0.0427467 -0.00515484 -0.00012894 0.155585 -0.00500093 -0.0316639 1.32146 0.189404 -0.0031435 9.15082e-05 0.0062418 0.0150432 0.0139353 -0.00635527 -0.473076 0.0546054 14.4114 -0.0950887 -0.023022 -0.133111 0.0403377 -1.07998 -1.64261 0.868465 0.956414 0.0132573 -0.0813126 0.000442302 -11.5033 -0.30467 -5.38721 -0.0258803 0.0472581 -0.998406 0.00186993 -0.00571733 0.0547366 -1.29474 0.000413389 -0.00115616 0.0126032 -0.0360953 0.382691 0 0 0.163355 0 0.0757021 0 0 0.262561 0 -0.0789273 -0.132963 0.0227743 -0.618979 -0.0259594 -0.131724 0.0885493 -0.0692456 0.00657781 -0.574297 0 0 0 0 -0.159462 0 0.202257 0 -0.000215507 0 0 0.0866188 0 0 0.0190059 0 0 -0.043583 0.0103787 0 0.0242 0 -0.112101 0 0 0 -2.68426e-05 0.0704593 0 0 0.124379 0 0 0 -0.0195435 0 -0.0984755 0 0.179987 -0.226575 -0.284408 0 0 -0.188893 -0.297915 -0.149148 0 -0.250949 0 -0.162472 0 0.0392322 0.260475 -0.260155 0.309386 0.131478 -0.00255224 0.100625 0 2.08106 0 2.16369 -0.485305 0 0.695857 -0.358619 0.287993 0 0.61917 -0.45635 0.442785 -0.187184 0 0 +146 0 -0.869716 -0.421222 0.191523 0.123494 -0.496665 -0.195754 0.893554 3.52152 0.692878 -2.58919 -0.137303 -0.440035 -0.298634 -0.736982 0.117701 -2.28058 -12.6774 -0.314611 0.320376 -0.390992 -0.133995 0.0403022 0.386464 -0.934239 0.300213 -0.403854 0.388447 0.0277055 0.549939 0.00313159 0.57889 0.1844 0.310328 0.6145 0.0717598 -0.0115989 1.76022 2.33023 -0.873931 -0.11308 -0.426942 3.00613 -0.195466 -3.88703 -0.411832 -0.0282109 0.0978689 0.480375 0.519118 1.72929 -1.79301 -4.46019 -0.241427 0.263434 -0.76385 -3.10711 -0.292214 -0.259494 1.21 0.430076 0.461687 -0.0372596 1.13947 1.64202 -2.60453 0.627946 -2.14786 1.72175 -0.548552 -0.785417 -0.926986 -1.82618 -1.46429 -1.37051 0.929063 0.294459 -7.89068 2.99166 -6.40804 1.9378 -0.610913 -2.5272 3.35762 -3.33434 5.07241 -6.41635 1.44126 0.922872 -0.124894 2.58668 -2.23643 0 0 0 0 0 0.191523 0.123494 0.0110458 0 0 0 0 0.00572519 0 0.0728415 0 0 0.0043308 0.0693609 0.1558 0 0.0240275 0.548734 0.532855 0 0 -0.625464 0.00325581 0 0.193675 1.22104 0 0 -0.0560456 1.00804 0 1.11126 0 -0.194493 0 0 -0.0144322 0 0 3.12352 0.122025 0.0911131 0 0.234629 -0.0308533 0 0 0.581265 0 0.0190961 2.14054 0.0320551 0 0 -0.00849907 -0.0185424 0 0.0275426 -0.0209369 0.0633302 -2.48862 0.208236 0.0610632 0 0.0337217 -0.543944 0.212647 -0.171039 0.263094 0 0 0 -24.3398 -1.11641 -3.3905 -0.107026 0.251694 -3.44487 -0.00308888 0.00695224 -0.0966655 -0.561474 0 0 0 0 0 0 -0.496665 0 -0.195754 0 0 0 0 0.198194 -0.740047 0 0 -0.466079 0 -0.0517398 0 -0.0311421 0 0 -0.0721025 0 -0.0151894 0.174075 -0.0512421 -0.00599721 0 0 -0.255586 0 -8.4227 0 0.661828 -0.31596 0 1.35772 -0.135743 -0.00615929 0 0.025756 0 0 -0.0940447 0 -1.67848 -0.91853 0 0 -0.0867384 0 0 -0.192952 2.12537 0.0262582 0 -1.63681 0 0.683027 0.0456534 -0.039996 0.0667791 0.0191887 0.241141 -0.180195 -0.0481933 1.06205 -4.49082 -0.0112484 0 0 0 -0.0967358 0.0156187 0 0 0 0 0.275298 -6.26738 1.27583 -4.86365 -0.203 0.0770584 -0.756037 0.15654 -0.21494 0.361218 -0.985642 0 0 0 0 0 0 +147 0 1.38454 0.0410383 0.278259 0.244143 -0.135536 -0.152114 1.3144 3.53427 0.66196 -2.31623 -0.116899 -0.0270886 -0.429107 -0.208833 -0.0292446 0.848373 2.59161 -0.54753 0.263796 -0.271572 -0.282028 0.244809 0.538437 -0.744633 0.710403 0.314602 0.226697 0.0943949 0.123229 0.104393 0.721678 -0.0988353 0.837789 0.661601 0.293987 -0.00208144 0.351685 0.649332 0.492215 -0.127393 -0.693588 2.03924 0.454405 -1.49809 -0.990825 -0.0548997 0.202633 0.449815 -0.631854 -0.0211676 -1.33798 -4.11613 -0.215847 0.241589 -0.0205967 -0.281326 -0.328442 -0.232264 1.1436 0.779902 -0.447893 0.0272314 -0.545372 -2.82238 0.0227736 -0.1892 3.28381 0.585769 -0.496505 -0.791189 0.0860986 0.372127 -0.413188 -0.10222 0.0137948 -2.48697 -3.84019 4.76785 -8.19919 1.89597 -1.56365 0.222313 3.27808 -2.96438 4.75887 -6.9124 3.46752 -2.32009 1.79906 -0.819411 -0.501135 0 0 0 0 0 0.278259 0.244143 -0.00615899 0 0 0 0 -0.00438994 0 0.0210648 0 0 -0.00324786 0.00174844 -0.11261 0 -0.00879505 -0.0237252 0.105264 0 0 0.716628 0.000104855 0 -0.718786 -2.49579 0 0 0.055693 -0.476199 0 -1.2968 0 0.560405 0 0 0.0499914 0 0 -3.15902 -0.0942423 -0.0743435 0 -0.138685 0.103286 0 0 -0.368408 0 -0.0226468 -1.02673 0.0534476 0 0 0.00600446 0.000758367 0 -0.0265255 -0.280963 -0.0420685 5.97463 -0.176823 0.068954 0 0.030655 -0.114841 -0.991499 0.449518 0.234903 0 0 0 22.3807 1.01381 0.898664 0.0964665 -0.20045 2.89995 0.00282063 -0.00520423 0.0768287 -0.049436 0 0 0 0 0 0 -0.135536 0 -0.152114 0 0 0 0 0.0844212 0.221761 0 0 -0.345208 0 -0.0425175 0 -0.0214492 0 0 0.108874 0 -0.117467 0.0522793 -0.0488663 0.0049576 0 0 -0.162458 0 -2.37526 0 -2.2774 -0.586644 0 0.329703 -0.616804 -0.0071096 0 0.0184744 0 0 0.0165566 0 -1.37482 -0.212852 0 0 -0.0677536 0 0 -0.040588 0.737699 0.110935 0 -0.101796 0 -0.659226 0.120529 -0.081983 -0.0931988 0.0380829 -0.00969807 0.558999 -0.323159 0.980001 6.29917 0.0091101 0 0 0 0.0857498 0.141823 0 0 0 0 -0.023164 10.3141 2.44028 -2.13745 0.891069 -0.941028 1.51029 0.225256 -0.25065 0.348895 -0.356768 0 0 0 0 0 0 +148 0 0.721722 -0.0665103 0.181344 0.105027 0.0949083 -0.0191692 0.217556 0.759539 0.597414 -1.46347 0.00469275 -0.0681242 -0.282713 -0.135004 -0.0505952 -1.00482 -2.64656 -0.34235 -0.0817994 0.156809 -0.0916787 -0.0181636 0.36469 -0.34982 0.0904988 -0.296826 0.158453 0.0326883 0.433138 -0.0251479 0.531473 -0.133292 -0.307129 0.0781643 -0.000104056 0.0476947 1.21557 -1.95476 0.291481 -0.022382 -0.41926 2.33536 0.335418 -0.339143 -0.45824 -0.0100109 0.122428 -0.252415 -0.403055 0.816863 -0.274603 -0.899802 0.0327035 -0.0740254 0.191332 -0.605768 -0.0460796 0.164625 0.242067 0.43446 -0.902828 0.00840487 0.055664 0.466919 -0.317169 -0.386881 -0.220704 1.31902 -0.471996 0.205036 0.295393 0.516723 -1.42264 0.263734 -0.153569 -1.75023 7.97186 2.29527 1.7524 0.961243 -0.062759 1.59221 0.987671 -0.817868 1.90993 -1.97758 1.60367 -1.18471 0.17385 0.0450325 -1.76144 0 0 0 0 0 0.181344 0.105027 0.00952576 0 0 0 0 0.0047294 0 -0.115374 0 0 0.00365751 0.0602593 -0.502184 0 -0.0681406 0.711831 -0.816158 0 0 -0.657246 0.00283026 0 0.127757 3.46408 0 0 -0.0506546 1.70545 0 0.400014 0 -0.234022 0 0 -0.0149685 0 0 0.565082 0.100731 0.0764285 0 0.201203 -0.102327 0 0 -0.147876 0 0.0153549 -1.98123 -0.12804 0 0 -0.00693931 -0.016875 0 0.0126681 0.234834 -0.0210081 -7.23794 -0.0892876 -0.0939486 0 -0.00913368 0.722395 0.937547 -0.459103 -0.352638 0 0 0 -4.65919 -0.442962 2.83904 -0.0208495 0.0442225 -0.62271 -0.00253082 0.00572657 -0.0796715 0.908168 0 0 0 0 0 0 0.0949083 0 -0.0191692 0 0 0 0 0.0106186 0.541598 0 0 -0.290689 0 -0.049577 0 0.00645613 0 0 0.0262885 0 0.0395812 0.00128831 -0.0689713 0.00420514 0 0 0.0372303 0 1.53954 0 -1.0146 -0.182712 0 -0.0068972 -0.103454 -0.0132232 0 0.00169914 0 0 0.0721499 0 0.0628981 -0.239606 0 0 -0.0298244 0 0 0.324634 -0.883682 0.134056 0 0.865535 0 -0.416202 0.103781 -0.110293 0.66837 -0.00201506 -0.523062 0.0742638 -0.0786489 -0.343051 -0.378964 -0.082594 0 0 0 -0.0109099 0.122128 0 0 0 0 -0.0996543 5.70085 1.54432 -0.209439 0.429723 -0.278268 0.497968 0.153367 -0.133156 0.184739 -0.123336 0 0 0 0 0 0 +149 0 0 0 0 0 0.387595 0.00570398 -1.32063 -2.99759 0 0 0.0659271 -1.26356 0 -2.1722 -0.00319169 0 0 0 -0.0858463 -3.6565 0 0 0 0 -0.343617 0 0 0.310693 0.220538 -0.796842 0 0.0465164 0 0 -0.163959 0.0144927 0 0 0.243226 -1.24876 0 0 0.112918 -3.45454 0 -0.584343 0.343129 0.0414668 -0.20146 -3.10164 -0.157543 0 0.0527188 -0.0964325 0.173723 1.02396 0.133246 0.208663 0 0 0.432892 -0.903901 0 -2.59897 0.0606164 -0.0780782 0 0 0 0 -0.348231 0.21878 0 0.473856 -1.98502 0 0 0 4.5788 0 -0.332635 1.53324 0 -0.175794 0.157479 4.28549 0 -0.275503 0.0291878 -0.449821 1.59471 0 0 0 0.0888599 0.00225306 0 0 0 -0.0153801 0 0 -0.000680121 0 0 -0.00154365 0 0 0 0 -0.0345922 0 -0.000876089 0 -0.0610679 0 -0.153911 -0.0754833 0 0.000224549 0 0 0.0763796 0 -0.00189351 0 0 0 0 -0.000872187 0.00539337 0 -1.83592e-05 0 0 0 0 0 0 0 0 0 0 -0.00345633 0 0 0 0 0 0 0 0 0 0 -0.10495 0 0 0 -0.0393612 0.0362825 0 0.0815756 -0.104717 0 -0.0458523 0 -0.0840627 0 0 0 0.0574641 0 0 -0.0718722 0 0 0 0.0144928 0 0 0 0 -0.063858 0 0.387595 0.0888599 0.00570398 0.00225306 0.00935646 0.022731 0.0107317 -0.390606 -0.272424 -0.000171369 6.87618e-05 -0.0162582 -3.34606e-06 -0.00095131 0.000221237 -0.00260672 0.0206191 -0.00831272 -0.67582 0.92652 0.239109 -0.0836078 0.0446199 -0.0869768 0.0518687 0.0354528 -0.0956888 0.022769 -8.16622 0.0415859 3.80296 -1.32441 4.31975e-06 -0.600915 1.36821 0.000767258 0.00242061 -0.0852088 0.0132609 0.208494 -0.00707546 0.00266455 -3.67256 0.0194859 0.00235199 0.0100192 -0.00727215 0.147309 0.0529845 0.903176 3.17325 0.168163 -0.0553954 0.769857 -0.000232366 0.154166 -0.00960862 -0.0662636 -0.0301379 0.0383978 1.79055 -0.055967 -0.0537264 -0.1936 3.1884 -0.117161 0.545862 0.0614665 -0.113051 -0.0925387 0.00152662 -0.0550631 0.000212967 0.0263513 -0.041582 0.00812077 -11.9938 -0.0588759 1.51183 0.00830466 0.348118 -3.11202 0.000205271 0.0326932 0.00133483 -0.0237035 2.10004e-05 -0.0919828 0.099752 -0.0351026 -0.398532 0 +150 0 0 0 0 0 -0.248286 0.28146 0.0390752 0.364115 0 0 0.0336225 1.90818 0 3.83906 0.00151065 0 0 0 0.0318419 3.20622 0 0 0 0 -0.117651 0 0 -0.297834 4.04408 1.06008 0 0.00166688 0 0 -0.0973652 0.00683604 0 0 0.0325737 2.1021 0 0 0.0404656 6.82577 0 1.10456 0.7228 -0.0747212 -0.0826857 2.74196 -0.122112 0 -0.0211469 0.0123111 -0.0197406 -6.43734 -0.268883 -0.174762 0 0 0.13365 -2.57314 0 0.20423 -0.420172 0.198998 0 0 0 0 0.0482425 0.289162 0 -6.03356 -0.839815 0 0 0 -0.126645 0 -0.409796 -3.17937 0 -0.129196 0.145821 -2.40617 0 -0.135365 0.138974 -0.470562 -7.26847 0 0 0 0.00794077 0.00020134 0 0 0 -0.00128139 0 0 -5.91865e-05 0 0 -4.68913e-05 0 0 0 0 -0.00288021 0 -7.49393e-05 0 0.000278301 0 -0.00834824 0.00227918 0 3.31886e-05 0 0 0.0120249 0 -2.59405e-05 0 0 0 0 0.00041589 0.000936528 0 6.19913e-06 0 0 0 0 0 0 0 0 0 0 -0.00459136 0 0 0 0 0 0 0 0 0 0 -0.00607089 0 0 0 -0.00316373 0.00375085 0 0.00530822 -0.0104753 0 -0.00405204 0 -0.00370641 0 0 0 -0.000261877 0 0 -0.0113152 0 0 0 -0.00185371 0 0 0 0 -0.0100535 0 -0.248286 0.00794077 0.28146 0.00020134 -0.45355 -0.124802 0.000959013 -0.571771 0.0300069 -1.5314e-05 -0.0197653 0.0171943 -2.99014e-07 0.00021102 1.97703e-05 3.56957e-05 -0.01505 -0.000742849 0.0191562 -0.377227 0.176002 -0.162051 0.0223567 -0.0764033 -0.134628 0.278734 0.00837075 -0.0140222 5.59812 -0.00625564 0.519488 1.77085 3.86025e-07 -0.751341 0.648935 0.000360184 0.000635807 -0.123038 0.0051771 1.53027 0.000230568 0.0564613 3.59482 -0.582877 -0.00221757 2.28182e-05 -0.190555 -0.0696383 -0.0890871 -1.51216 2.5103 0.171326 0.0185258 -7.58494 -2.07649e-05 2.05289 6.96467e-05 -0.158288 -0.0179688 0.483704 0.300718 0.000495473 -0.0711158 0.146698 -31.0135 0.0432691 -0.154949 -0.0168203 -0.277973 -0.117639 -0.000182064 -0.0103788 1.90313e-05 -0.0424885 0.0895158 -5.88622e-05 -1.63837 -0.0386585 1.24994 0.000515211 -0.00143831 -3.88052 -5.21064e-06 -0.0221018 0.0580728 -0.498807 1.87666e-06 -0.0368515 -0.0921145 0.207635 -1.85343 0 +151 0 0 0 0 0 -0.656633 -0.033311 0.597133 3.08081 0 0 0.0698467 0.190526 0 1.13761 0.0072751 0 0 0 -0.0219901 -3.51126 0 0 0 0 0.207007 0 0 -0.170129 4.24538 0.43633 0 0.0813507 0 0 -0.0148 0.00511389 0 0 0.0470233 0.0959381 0 0 -0.0026686 -0.566011 0 0.427497 0.35415 0.0906264 -0.00263037 2.03853 0.111047 0 0.00363721 -0.0337973 0.12257 -0.137513 -0.023054 0.0333302 0 0 -0.181356 3.29741 0 1.19563 0.128505 0.228561 0 0 0 0 0.0906341 0.129828 0 3.75038 0.616679 0 0 0 -4.50058 0 0.131836 -6.40449 0 0.106988 -0.224298 -6.98591 0 0.04375 -0.462942 0.557348 -9.34162 0 0 0 -0.00477375 -0.000121039 0 0 0 -0.000482346 0 0 1.77932e-07 0 0 8.49556e-05 0 0 0 0 0.00021727 0 2.10123e-05 0 0.00340842 0 -0.0123215 -0.0213961 0 3.80071e-06 0 0 0.00167373 0 -0.000302324 0 0 0 0 -0.00658561 0.000255753 0 -0.000104307 0 0 0 0 0 0 0 0 0 0 9.0316e-05 0 0 0 0 0 0 0 0 0 0 0.000845966 0 0 0 -8.20761e-05 -0.000564062 0 -0.000645866 0.000175211 0 -0.000298486 0 0.0015964 0 0 0 -0.00320728 0 0 -0.00157496 0 0 0 -0.00166665 0 0 0 0 -0.00139934 0 -0.656633 -0.00477375 -0.033311 -0.000121039 -0.768105 -0.150848 -0.000576529 0.664851 -0.0571854 9.20632e-06 -0.0106605 -0.0291253 1.79758e-07 -0.000425135 -1.18853e-05 -0.000294953 0.000927084 0.000446577 1.41039 0.262906 0.0848104 0.567198 -0.0160417 0.201494 -0.0530387 0.393187 -0.0222598 0.0152914 8.46375 -0.00928164 0.224543 1.15938 -2.32066e-07 2.55427 0.415714 -0.000257832 0.0015826 0.105401 0.00347269 2.24889 -0.00076007 0.0580618 3.10534 2.94877 -0.000284391 0.00429446 0.475146 0.083787 0.0696673 0.388143 -1.81012 0.406477 -0.0312907 1.8343 1.24832e-05 -0.394681 -0.000710468 -0.186609 0.0323241 -0.530583 -0.737082 -0.0191177 0.0243274 -0.0347841 -1.80375 0.112677 0.185334 0.0127232 -0.355464 -0.0279307 0.000430352 -0.044514 -1.1441e-05 0.0312701 0.0891199 0.000600455 -0.708166 0.0409378 -6.75497 -0.000987841 0.268156 -5.81552 2.68653e-05 -0.0374631 0.186035 -3.25761 -1.12819e-06 -0.0944739 -0.16979 0.467791 -3.11152 0 +152 0 0.812414 0.228142 0 0 0.0101745 0.160125 0.540976 0.418948 0 0.204869 0 1.07799 0 1.26224 0 -0.2179 -1.68948 0.0258568 0 2.15911 0.00490041 -0.109546 0 0.0581957 0.0056018 0.0298551 0.000926795 -0.247142 0.373447 0.592551 0 0 -0.441402 0.00988687 -0.00592665 0 0.0209262 -3.36196 0 1.30508 0 0.0999492 0 1.99947 0 0.788973 -0.0692111 0 0 1.41603 0.105588 4.83843 0 0 0 -0.629956 -0.0420248 0 -0.11131 0 -1.04674 -1.64061 -0.772445 1.6266 -0.0125078 -0.369616 -0.246395 -0.00397612 0 -0.345933 0.0612614 0 -0.0384469 -0.834509 0.381706 -0.195366 12.1697 -0.21255 3.77253 0.21677 -0.311475 3.59442 -0.143088 0.148048 -0.446901 0.262357 0 0 0 0 -0.748141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0101745 0 0.160125 0 0 0 0 -0.124711 0.0319957 0 0 -0.0863773 0 -0.00453968 0 -0.000629036 0 0 0.814605 0 -0.587247 -0.0362965 -0.0164527 0.118923 0 0 -0.0441841 0 4.15987 0 -6.24951 0.692022 0 -0.295022 -2.08545 0.00072119 0 -0.00418862 0 0 0.0126068 0 1.78043 1.36988 0 0 0.203504 0 0 0.499563 0.947429 -0.00668475 0 1.94461 0 0.404909 -0.0131229 0.00726943 -0.173005 -0.0746725 -0.196014 -0.266108 0.00894397 -0.162854 5.37411 -0.00555949 0 0 0 -0.0234993 -0.0434709 0 0 0 0 -0.0420972 32.7582 0.840357 4.96712 0.505839 -0.485453 3.20288 0.0189436 -0.0378028 0.062023 0.140005 0 0 0 0 0 0 +153 0 -0.467307 0.139665 0 0 -0.1878 -0.222268 0.534456 1.54852 0 -0.0105307 0 -0.409436 0 -1.40547 0 0.742103 3.64782 -0.00508328 0 -1.23709 0.000935016 -0.140204 0 0.0132518 0.444904 0.14795 0.00106163 0.402369 -0.307163 -0.406935 0 0 -0.183744 -0.00539123 0.252257 0 0.0158141 1.13227 0 -0.926384 0 -0.0277868 0 -1.81239 0 -0.669222 0.183847 0 0 -2.29638 0.0873045 -4.15753 0 0 0 1.06974 0.015479 0 -0.0216887 0 0.462586 0.620432 0.492458 -0.654339 0.043379 -0.479099 -0.0362002 0.0122805 0 -0.075811 -0.0244109 0 -0.0266878 1.84427 -0.421516 0.0280794 -0.571424 -0.249591 -1.48534 -0.0919108 0.0448118 -0.367269 -0.0452315 0.0826797 -0.123447 -1.49988 0 0 0 0 0.615353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1878 0 -0.222268 0 0 0 0 0.381782 -0.165869 0 0 0.0177935 0 0.00127656 0 -0.00251217 0 0 -0.0250172 0 -0.276361 0.145642 0.000111146 0.00413876 0 0 -0.0245656 0 0.599369 0 0.844273 -0.84787 0 1.02878 -0.258307 -0.000746354 0 0.0456121 0 0 -0.0156632 0 -1.05154 0.347931 0 0 0.0474824 0 0 0.00717509 -1.4736 -0.291941 0 0.93583 0 -0.57174 -0.041284 0.0863605 -0.308237 -0.0864418 0.206541 -0.116059 -0.0502358 -0.116197 7.34368 0.0434629 0 0 0 -0.0219676 -0.00562555 0 0 0 0 0.0237057 -2.46604 -0.0999136 -2.09996 -0.226014 0.208116 -0.389822 -0.0244082 -0.0152117 0.0567459 -0.600482 0 0 0 0 0 0 +154 0 -1.29902 -0.136424 0 0 -0.383962 0.0161506 -0.516187 0.668912 0 -0.0586562 0 0.32569 0 -0.0749341 0 2.3554 4.38886 0.00670651 0 0.495418 6.40329e-05 0.0388702 0 -0.0223642 -0.0676997 0.954902 0.00220734 -0.553624 -2.01337 0.133508 0 0 0.724169 0.0298539 -0.272238 0 0.00571441 5.1106 0 0.490609 0 0.125542 0 -0.769593 0 0.35233 -0.996956 0 0 -2.24426 0.0378823 -5.98892 0 0 0 -0.508512 -0.0153994 0 0.00612253 0 0.741288 -0.966229 0.723891 -0.383686 0.0392235 0.584225 0.176881 -0.0328182 0 0.0989775 0.0225795 0 -0.0347818 -0.593269 0.151016 -0.104202 -14.6241 0.212165 -5.51873 0.00600846 0.184484 -3.5243 0.142712 -0.137902 0.0462201 0.185872 0 0 0 0 4.03347 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.383962 0 0.0161506 0 0 0 0 0.61004 0.0615238 0 0 -0.0935966 0 -0.0129077 0 0.001693 0 0 -0.47401 0 -0.392621 0.217456 -0.0157154 -0.0498141 0 0 0.0230978 0 -8.31347 0 6.06909 -0.327476 0 1.78825 0.785814 -0.00137417 0 0.0794723 0 0 0.00470281 0 -1.8231 -1.70182 0 0 -0.172227 0 0 -0.227611 0.292658 -0.45236 0 0.637026 0 -1.0735 -0.0269333 0.157043 0.219265 -0.115966 0.0557972 0.342403 0.0711766 -0.179884 11.8431 0.0611079 0 0 0 0.0548849 -0.0198276 0 0 0 0 -0.0452261 -34.851 0.482336 -9.47522 -0.45004 0.46243 -3.31977 0.0556702 -0.116262 0.153564 -1.10397 0 0 0 0 0 0 +155 0 0.800114 0.275992 0.000577443 0.0477473 -0.0623695 0.0409086 1.34206 1.86447 -0.000396984 0.318999 -0.014906 1.32549 2.62561e-07 2.79579 -0.00107475 0.813479 4.43676 0.110278 -0.00287531 4.87109 0.0135339 -0.0229138 -3.16419e-07 0.082419 0.513568 0.0538813 0.0109666 0.277981 1.21385 0.621766 -1.41593e-05 -0.0729363 0.106465 0.06594 0.337235 -0.000307641 0.00478267 -0.65031 -0.0406835 1.66777 1.21169e-05 0.160436 -0.000780065 5.7408 0.000372767 0.510025 0.599086 -0.198606 0.00262706 2.11953 0.0494643 6.27467 0.00297775 -0.000586539 -0.0106824 3.35788 0.171402 -0.0672561 -0.150553 -6.28651e-05 -2.09425 0.542125 -2.51794 0.377777 -0.113981 -1.3392 -0.499241 0.0836385 5.86563e-05 -0.328946 0.0940529 -0.0691827 -0.0191206 0.0184242 0.280446 0.0853174 2.42296 -0.206257 -2.3383 0.0758467 0.131342 -3.15403 -0.225354 0.147214 -0.269514 -5.16253 -7.73592e-07 5.64588e-05 -0.00199091 0.126206 -4.76322 0 0 0 0 0 0.000577443 0.0477473 0.000155902 0 0 0 0 3.35758e-06 0 0.00413863 0 0 4.52877e-05 1.24185e-05 0.000419205 0 5.79307e-05 -0.000464453 0.029938 0 0 -0.0598634 8.81483e-07 0 -0.000575934 -0.154828 0 0 -0.0090996 -0.0166777 0 -0.0221999 0 -0.000886077 0 0 -0.000130698 0 0 -0.0438781 4.77904e-05 0.000627766 0 0.00221267 0.00172797 0 0 -0.0270991 0 0.000346659 -0.0597838 -0.000470991 0 0 -1.07101e-05 -0.000231016 0 -0.000914172 -0.0230851 2.48954e-05 -0.224373 2.72036e-05 0.0127043 0 0.00165133 0.00315325 -0.0700998 1.49625e-05 0.0110489 0 0 0 0.0901548 0.00157274 -0.0216341 -0.00181928 0.00212422 0.0247558 -3.54165e-05 4.62416e-05 -8.43412e-05 -0.0126338 0 0 0 0 0 0 -0.0623695 0 0.0409086 0 0 0 0 -0.146732 0.464442 0 0 0.0469764 0 0.0121454 0 0.0132082 0 0 0.583301 0 -0.0534786 -0.0476049 0.0600557 0.0675339 0 0 0.117298 0 10.134 0 -4.45966 0.853225 0 -0.325727 -1.14684 0.00979824 0 -0.0208197 0 0 0.0525688 0 3.0117 1.27787 0 0 0.146672 0 0 0.387719 -5.79435 -0.236723 0 1.68233 0 -1.32791 0.195678 -0.129054 -0.10449 -0.274991 -1.41999 -0.408694 0.0405898 -0.117124 0.806715 0.034118 0 0 0 0.0773124 -0.0930722 0 0 0 0 -0.114904 25.6639 1.91364 2.09631 0.68601 -0.45489 2.07875 -0.124367 0.0583373 0.0285075 0.0757165 0 0 0 0 0 0 +156 0 -0.281009 0.0509406 0.000265455 0.0254225 -0.280664 -0.174513 0.48818 1.49004 0.00132839 -0.0421517 0.00600881 -0.988706 -2.31985e-07 -2.62877 -9.96031e-05 1.46806 2.58887 -0.00968149 8.07368e-05 -2.9757 9.00421e-05 -0.0411394 2.01075e-07 0.00904292 0.171415 0.582956 -0.0069955 0.140611 0.467151 -0.646854 1.62724e-05 0.00310424 0.143817 -0.0894779 0.0320971 1.71124e-05 -0.029848 1.59717 0.0270867 -1.21316 -2.01635e-05 -0.344679 0.000213482 -4.92202 -0.00174399 -0.518734 0.252836 0.0272622 -0.00099627 -1.24629 0.101355 -12.8225 -0.000741492 0.00117478 -0.0162822 -2.6076 -0.0479785 0.0144693 0.012606 2.74067e-05 0.838534 0.726744 0.630435 0.66518 0.0618107 0.0576096 -0.118327 -0.10294 -2.36073e-05 -0.0130266 0.00194021 0.00532228 0.0723266 1.48396 -0.304915 -0.217534 -3.70175 -0.699071 -1.38987 -0.34384 0.277926 -1.3987 0.00597289 0.0664615 -0.181298 -1.52199 3.61924e-06 -9.47475e-05 0.00293702 -0.035294 -1.83313 0 0 0 0 0 0.000265455 0.0254225 -0.00014164 0 0 0 0 -1.16543e-06 0 -0.00117142 0 0 4.48165e-05 -8.39314e-06 -3.35568e-05 0 -7.93281e-06 0.000183426 -0.00574793 0 0 0.0135901 -4.7735e-07 0 0.000121267 0.0174847 0 0 0.0014646 0.00938004 0 0.00804198 0 0.00014025 0 0 1.45639e-05 0 0 0.0331844 -1.68592e-05 0.000455678 0 -0.00204181 0.00223495 0 0 -0.00161656 0 3.93555e-05 0.00514135 -0.000311318 0 0 0.000469393 0.000271402 0 -0.00110461 0.00645017 -0.0016421 -0.0454273 1.5334e-05 0.00253615 0 -0.00203547 0.00232492 -0.00858346 -0.00392383 -0.00317426 0 0 0 -0.0306423 -3.5623e-05 0.006343 -0.000800825 0.00144108 -0.00553905 0.000102703 -7.91141e-05 -0.000108248 0.000423795 0 0 0 0 0 0 -0.280664 0 -0.174513 0 0 0 0 0.0152186 -0.13671 0 0 0.00956972 0 0.00242372 0 -0.0025722 0 0 -0.303178 0 -0.66281 0.148878 0.0241962 -0.0424973 0 0 -0.0172553 0 -6.09926 0 -0.519314 -1.1776 0 0.795718 -1.29919 0.00319253 0 0.0250522 0 0 -0.0171893 0 -2.62551 -0.634904 0 0 -0.0981686 0 0 0.406978 0.213252 -0.0633456 0 3.29681 0 -0.416531 -0.0568816 0.1364 0.0788142 -0.0402631 0.871494 0.0422893 0.0234453 -0.790799 13.095 0.0295071 0 0 0 -0.0587618 0.00666665 0 0 0 0 -0.00310564 -4.123 -0.878335 -1.7137 -0.975629 0.583691 0.284824 -0.0510728 0.0127526 0.026186 -0.480221 0 0 0 0 0 0 +157 0 -1.27742 -0.165432 0.00193992 0.100616 -0.418183 -0.305642 0.964621 2.5428 0.00941732 0.181254 0.0589487 -0.585357 -2.16531e-06 -0.504707 0.00237511 -0.857323 -3.7637 0.109447 0.00549574 -0.1173 0.0123377 -0.133636 2.64492e-06 0.0509729 0.675502 -0.321604 0.00400082 0.804298 2.49203 -0.447578 0.000160127 0.128165 0.201918 0.0654491 0.361274 0.00121794 -0.0657688 3.07987 0.164294 -0.823641 -0.000136246 -0.0636696 0.00320688 -0.691542 -0.00835493 -0.767948 1.48647 0.30201 -0.00649002 -1.75118 0.0542863 -2.90949 -0.00657249 0.00761996 -0.0999738 -0.474716 -0.1618 -0.140336 -0.0136837 0.000164577 -1.23157 -0.133375 0.0318713 -2.30765 0.0144321 -2.29119 0.11376 -0.0942399 -0.000167294 0.128488 0.0305897 0.116827 0.124023 -0.562473 -2.43982 0.0175764 -8.67858 -0.4042 -5.72715 -0.671428 0.431325 -7.48439 -0.233528 0.0711963 -0.0456884 -7.47092 1.73387e-05 -0.000489736 0.0138068 -0.227123 -9.77888 0 0 0 0 0 0.00193992 0.100616 -0.00144014 0 0 0 0 -3.03125e-05 0 -0.00297404 0 0 -0.000211628 -0.000118588 -0.000206406 0 -2.91454e-05 0.000717842 -0.0195621 0 0 0.0855077 -8.15541e-06 0 -0.000429779 -0.0127491 0 0 0.00832696 0.0224612 0 -0.00175842 0 0.00160841 0 0 0.000145198 0 0 -0.0544749 -0.000432565 -0.00329283 0 -0.0205936 -0.00702696 0 0 -0.00960708 0 -0.00273055 0.0146552 0.00305021 0 0 0.00121239 0.00237352 0 0.00274944 0.0321212 -0.00377436 -0.00722377 0.00178699 -0.00263611 0 -0.0095204 -0.00176714 -0.0080812 -0.0101784 -0.00741271 0 0 0 0.115252 -0.00816578 0.0341741 0.00891674 -0.00952507 0.000988334 0.000492422 -0.000511636 0.000330093 0.00454034 0 0 0 0 0 0 -0.418183 0 -0.305642 0 0 0 0 -0.262233 -0.196073 0 0 0.0123495 0 0.0112488 0 -0.00241557 0 0 0.00659624 0 0.558085 0.0653638 0.0722061 0.00823718 0 0 -0.0190058 0 0.708797 0 3.9445 -0.155685 0 0.619563 0.908834 0.00964533 0 -0.0353194 0 0 -0.015939 0 0.349991 0.0572815 0 0 0.0292241 0 0 -0.220198 0.828616 -0.230628 0 -1.85583 0 0.565033 -0.0645186 0.12827 -0.0337263 0.0657017 -0.0198597 -0.0465071 -0.0635698 0.185586 -4.74841 -0.0377201 0 0 0 0.0161165 0.0157729 0 0 0 0 0.00202181 -25.5736 -1.2026 -4.16741 -0.656448 0.491031 -1.97577 -0.139297 0.0234524 0.0826805 -0.457297 0 0 0 0 0 0 +158 0 0.0236418 0.353064 0.121243 0.261902 -0.252012 -0.24105 0.168475 2.59353 0.614556 -2.30464 -0.0358988 -0.0908653 -0.049003 -0.131916 0.0557178 1.91959 5.50986 -0.366412 0.143149 0.728205 -0.0328483 -0.40616 0.0632349 -0.618615 0.579739 0.747172 0.357817 0.259171 1.20484 -0.0431648 0.218817 0.118684 -0.674542 1.08153 0.0504078 0.0322422 0.851557 -0.373716 0.0866678 0.0889859 -0.170215 3.08124 0.127324 -0.534781 -0.479612 -0.165534 0.540521 0.568844 -0.207861 1.08635 -1.14969 -1.67802 -0.214938 0.196531 -0.271812 2.02477 0.0730247 0.0825571 0.951805 0.263774 0.941494 0.0695215 2.71821 -3.54796 -1.39088 0.559134 2.372 1.21165 -0.285395 2.11542 0.0435102 -0.132147 -1.15565 1.08215 0.175584 -1.96578 5.75848 7.06797 -9.20219 1.98067 -1.76243 -1.75038 1.76762 -1.82642 3.08911 -4.78624 0.56522 -0.472552 0.32907 0.871061 -5.22029 0 0 0 0 0 0.121243 0.261902 0 0 0 0 0 0 0 0.0283327 0 0 0 0 0.0869431 0 0.0123198 0.0108684 0.194698 0 0 0.00883448 0 0 -0.0681279 0.28491 0 0 -0.00828211 0.0469095 0 -0.0316768 0 -0.0247021 0 0 -0.00870181 0 0 0.286324 0 0 0 0 0 0 0 -0.0799866 0 0 -0.206075 0 0 0 0 0 0 0 0.104908 0 0.769713 0 0.0131415 0 0 0.0643731 0.353092 0 0.0921795 0 0 0 -0.523212 0 -0.230059 0 0 -0.134064 0 0 0 -0.0810579 0 0 0 0 0 0 -0.252012 0 -0.24105 0 0 0 0 -0.00750811 0.749959 0 0 -0.293515 0 -0.0353457 0 0.00263224 0 0 0.0396058 0 0.473994 0.0220463 -0.00298695 0.00642713 0 0 0.012125 0 -0.67863 0 2.64764 -0.149566 0 0.25474 1.34226 -0.00207603 0 -0.00356908 0 0 0.0831481 0 -0.341139 -0.898704 0 0 -0.0773618 0 0 -0.327115 -0.94379 0.114307 0 -0.321594 0 0.0816425 0.061497 -0.0693996 0.0269099 -0.0324685 -0.157356 0.0176721 0.0227044 -0.179305 -0.927843 0.0102126 0 0 0 0.167466 0.00522887 0 0 0 0 -0.180352 -19.2829 0.918456 -4.26404 -0.0364713 0.298263 -2.00811 0.0673564 -0.027734 0.119802 -0.200448 0 0 0 0 0 0 +159 0 -1.0425 -0.42706 -0.0680125 -0.0887788 -0.135886 0.184293 -0.136377 -0.567282 -0.412904 1.20176 0.139726 0.857253 0.0278627 1.42047 0.050058 -0.874003 -3.8379 0.270892 0.0431236 0.895786 0.0769996 0.305789 -0.0360472 0.454577 -0.214982 -0.320548 0.0165635 -0.2367 -0.687318 0.253804 -0.131206 0.322656 1.10403 -0.219001 -0.00753527 0.00738572 -0.0811394 5.26112 -0.0216101 0.298043 0.0995304 -1.68671 -0.0642186 5.05374 0.298561 0.250461 -0.495561 0.245946 0.130096 -0.83202 0.554489 5.15672 -0.0871306 0.0719109 -0.237405 2.36177 0.159639 0.0922824 -0.621076 -0.170159 0.42368 -0.0455363 1.08462 2.06759 0.912207 0.174793 -0.776117 -0.306359 0.194047 -0.664924 -0.209726 0.110099 0.401338 0.993753 0.765301 2.04473 -20.2868 -5.92165 0.034791 -4.3761 2.60261 -3.90116 -1.31964 0.927868 -1.06088 0.505848 -0.351853 0.27511 -0.241797 -0.5572 2.97798 0 0 0 0 0 -0.0680125 -0.0887788 0 0 0 0 0 0 0 -0.00652003 0 0 0 0 -0.0397283 0 -0.0048914 0.0227655 -0.0598304 0 0 0.293969 0 0 0.0644192 0.761927 0 0 0.0459696 0.132009 0 0.116465 0 0.0784766 0 0 0.0140309 0 0 0.422577 0 0 0 0 0 0 0 0.119397 0 0 0.23169 0 0 0 0 0 0 0 0.162479 0 1.83847 0 -0.057711 0 0 0.00750411 0.602863 0 -0.00532705 0 0 0 -0.757562 0 -0.0180205 0 0 -0.211303 0 0 0 0.0258952 0 0 0 0 0 0 -0.135886 0 0.184293 0 0 0 0 0.186028 -0.494064 0 0 -0.0822416 0 0.00601411 0 -6.38946e-05 0 0 -0.120706 0 -0.0476054 0.0438026 -0.0947034 -0.0125475 0 0 0.0306378 0 -0.00536623 0 2.62276 0.214313 0 0.384835 0.357678 -0.00541714 0 0.022264 0 0 -0.0635324 0 0.280269 0.809969 0 0 0.0932974 0 0 0.192382 -1.02397 0.320867 0 -0.572325 0 0.0345827 0.00902172 -0.128932 -0.186305 0.0312945 0.33028 -0.279912 0.0207689 0.983162 2.69196 0.0117583 0 0 0 -0.133029 -0.0238062 0 0 0 0 0.208841 -12.8521 0.0303149 -2.33528 -0.462936 0.447489 -1.24105 0.0285407 -0.0272588 0.130486 -0.330785 0 0 0 0 0 0 +160 0 -1.1838 -0.585628 -0.0151131 -0.0270864 -0.231741 -0.147699 0.268086 2.58805 -0.0831244 -0.00729962 -0.165829 -0.823936 0.00614407 -1.43055 -0.073122 -2.46566 -10.5703 -0.0172534 -0.175077 0.391257 -0.0746131 0.321855 -0.00793732 -0.0684073 0.303386 -0.827064 -0.27857 0.0775831 1.36583 -0.389999 -0.0280848 -0.346353 1.63025 -0.527188 -0.0601437 -0.0379269 -0.881819 8.2111 -0.460393 -0.0224471 0.0216046 -2.04267 -0.105178 -3.8403 0.0626075 -0.0367633 0.284778 -0.861827 0.238609 -3.76589 0.711066 4.82064 0.264664 -0.24588 0.14222 2.0716 0.530788 0.141111 0.0510732 -0.0350023 -1.4964 -0.429628 -0.624125 -0.794709 1.96595 0.585749 1.25855 -0.985987 0.0388221 0.964386 -0.324643 -0.569658 0.902304 -0.0118638 0.30107 1.79263 -41.9444 -3.08127 -11.3318 -3.90897 5.89525 -17.8828 0.203357 0.328254 -0.932152 -4.35864 -0.0737826 0.326305 -0.940444 2.19768 -5.91781 0 0 0 0 0 -0.0151131 -0.0270864 0 0 0 0 0 0 0 0.017906 0 0 0 0 0.0136245 0 0.00278106 -0.124656 0.0979516 0 0 -0.324402 0 0 -0.0186388 -2.01972 0 0 -0.0222861 -0.513328 0 -0.0645435 0 -0.0610187 0 0 -0.00346992 0 0 -0.0164044 0 0 0 0 0 0 0 -0.0849474 0 0 -0.155532 0 0 0 0 0 0 0 -0.0268239 0 0.189362 0 -0.00479269 0 0 0.107197 -0.01724 0 0.076974 0 0 0 0.0337864 0 -0.0907304 0 0 0.00418054 0 0 0 -0.0410539 0 0 0 0 0 0 -0.231741 0 -0.147699 0 0 0 0 0.276284 -0.397666 0 0 0.29161 0 0.0377344 0 -0.00783976 0 0 0.396206 0 0.49995 0.123438 0.0936609 0.0418773 0 0 -0.103396 0 0.31821 0 5.44454 0.0587871 0 0.827172 1.58098 0.0112165 0 0.0429821 0 0 -0.0358631 0 0.431885 0.458309 0 0 0.0243016 0 0 0.259898 -4.84205 0.231277 0 0.546455 0 -0.931905 0.0454692 -0.142819 0.0132216 -0.219124 -0.367632 -0.300723 0.0622326 -0.175872 -0.24362 0.183638 0 0 0 -0.104606 -0.079126 0 0 0 0 0.0882244 -47.913 -1.22348 -10.7492 -0.660016 0.516825 -3.60282 -0.144949 0.0540945 -0.0737943 -0.656445 0 0 0 0 0 0 +161 0 0.339586 -0.315958 0.00334335 0.109568 -0.182859 -0.113729 0.32791 0.953143 0.017526 0.249747 0.0969979 -1.05718 -9.74574e-06 -1.57009 0.000577854 -2.55712 -9.7042 0.0647212 -0.00165103 -5.00417 0.0085207 0.147495 1.24865e-05 0.0865982 -0.0289811 -0.801007 -0.00760015 -0.393726 -1.98242 -0.219845 0.00048311 0.0560741 0.250278 -0.0346601 -0.00854074 0.00275031 -0.112019 0.867342 0.18614 -2.38274 -0.000388422 -0.505886 0.00524046 -4.61538 -0.0147019 -0.93624 -0.931895 0.0128785 -0.00995073 -1.91272 0.158874 -1.06753 0.00348937 -0.00336638 0.0194019 -2.07287 -0.0485194 0.00462186 -0.0787012 0.000560246 -1.17194 2.57475 0.201508 -0.388988 0.286732 -0.717775 0.095072 -0.145903 -0.000574166 0.119912 0.0813956 0.133517 0.128877 -0.89841 -0.294997 0.635963 -1.1574 -0.502112 -1.74253 -0.278588 0.266475 -0.628696 -0.193464 0.11173 -0.247847 -1.12282 8.73753e-05 -0.00121786 0.0186818 -0.251579 3.44947 0 0 0 0 0 0.00334335 0.109568 0 0 0 0 0 0 0 0.000224801 0 0 0 0 0.000376616 0 2.59141e-06 0.00073986 0.0105359 0 0 -0.0556317 0 0 -0.00211737 -0.149011 0 0 -0.00832397 0.00299105 0 -0.0268688 0 -0.00205912 0 0 -0.000305137 0 0 -0.188126 0 0 0 0 0 0 0 -0.0406248 0 0 -0.0174256 0 0 0 0 0 0 0 -0.021773 0 -0.0590394 0 0.0221682 0 0 -0.0164296 -0.0599221 0 0.0305825 0 0 0 0.342919 0 0.0209639 0 0 0.0888677 0 0 0 -0.0042665 0 0 0 0 0 0 -0.182859 0 -0.113729 0 0 0 0 0.499429 -0.339485 0 0 -0.224415 0 -0.0106783 0 -0.00974107 0 0 -0.928852 0 0.538463 0.211076 -0.0710118 -0.133128 0 0 -0.136331 0 -2.29106 0 0.0469392 0.133854 0 1.2489 0.484725 -0.00128658 0 0.0912542 0 0 -0.0272713 0 -0.510939 -1.80069 0 0 -0.26028 0 0 -0.51138 -2.49442 -0.542472 0 -2.76176 0 -0.428975 -0.0326172 0.143516 0.0434175 -0.121443 -1.29971 0.0437152 -0.0245688 -0.155176 -11.1334 -0.0367088 0 0 0 0.041528 0.0310395 0 0 0 0 0.00786053 -0.919146 0.949979 -3.66421 0.071842 -0.0019946 0.200887 0.0041682 -0.015354 0.122865 -0.631997 0 0 0 0 0 0 +162 0 0.782258 -0.186616 0.00179167 0.044879 0.0521036 -0.309429 0.412017 0.131424 0.0106277 -0.00922022 0.0159578 -0.584648 -5.32045e-06 -0.549376 -0.00111927 -2.20316 -7.58952 0.0068515 -0.00332321 0.122836 0.000137757 0.281976 6.93908e-06 0.0166131 0.293321 -0.869749 -0.000359139 0.860357 0.58672 -0.279873 0.000277948 -0.0439956 -0.184939 -0.00508664 0.360066 0.00063182 -0.0502974 -4.19552 0.0570828 -0.734562 -0.000205735 -0.070088 0.0019071 -2.17271 -0.00738553 -0.984127 0.795253 -0.123857 -0.00388652 0.108398 -0.0182997 5.23083 0.00371764 -0.00328559 0.0308421 1.42295 -0.0087179 -0.00653795 -0.0357228 0.000300933 -0.952964 0.544082 -0.487978 0.606945 0.0788561 -0.451601 -0.331763 -0.0814834 -0.000350921 -0.0649976 -0.00311775 0.0327345 0.0206978 0.303096 -0.778499 -0.274783 11.1914 0.580807 2.32638 0.498072 -0.783489 5.0024 -0.0635492 -0.0347057 0.111468 0.0371946 4.3893e-05 -0.000503556 0.00468206 -0.0231349 -1.02091 0 0 0 0 0 0.00179167 0.044879 0 0 0 0 0 0 0 0.000492775 0 0 0 0 0.000328621 0 1.7845e-05 0.000462572 0.0112348 0 0 -0.0420518 0 0 -0.0012956 -0.0632778 0 0 -0.00661617 0.0112654 0 -0.0291891 0 -0.00122042 0 0 -0.000192827 0 0 -0.130135 0 0 0 0 0 0 0 -0.0170851 0 0 -0.0345337 0 0 0 0 0 0 0 -0.0170564 0 -0.150126 0 0.0126856 0 0 -0.0076772 -0.0630611 0 0.0131044 0 0 0 0.255358 0 0.0047614 0 0 0.0448029 0 0 0 -0.00482835 0 0 0 0 0 0 0.0521036 0 -0.309429 0 0 0 0 -0.0557099 0.213835 0 0 0.0413666 0 0.00611653 0 0.00586372 0 0 -0.20499 0 0.676848 -0.0430183 -0.00221675 -0.0254472 0 0 0.0490537 0 -4.69358 0 -4.2097 -0.792317 0 -0.362617 -0.103743 0.00138708 0 0.000275402 0 0 0.0259423 0 -1.58984 -1.18941 0 0 -0.133153 0 0 0.208709 0.57351 0.216745 0 0.773286 0 0.582565 0.0621581 -0.054907 0.23795 -0.0611183 -0.110784 -0.270647 0.0535042 -0.191936 1.74939 -0.0104665 0 0 0 0.00228443 -0.0333688 0 0 0 0 -0.0458637 25.1243 0.878547 2.86341 0.495672 -0.499006 2.47426 -0.0790872 0.0498748 -0.0331487 0.215208 0 0 0 0 0 0 +163 0 0.172391 0.111339 0.000265754 0.0101964 0.0409577 0.0207388 -0.512615 -0.696363 0.00126028 0.0862341 0.00852795 -1.00141 -7.6415e-07 -1.8001 -8.91411e-05 -0.610195 -1.79047 -0.0258525 -0.000522508 -0.799614 -0.00166717 -0.386689 9.65892e-07 0.0187863 -0.358949 0.0348573 -0.0016075 0.00890994 -0.269708 -0.487841 3.63533e-05 -0.00166969 -0.532558 -0.0145704 -0.262105 0.000244615 0.00802231 -0.0803699 0.0246535 -0.056559 -3.11342e-05 0.0757172 0.000621212 -2.9819 -0.00122161 0.34665 -0.0935264 -0.0169242 -0.00112275 -0.749107 0.0117636 7.47484 0.00075964 -0.000761978 0.0145613 6.08398 -0.0293294 -0.0443985 -0.0404966 4.4457e-05 -0.32323 1.49755 -0.122115 0.517054 -0.0014 0.278429 -0.171137 0.0322113 -4.09926e-05 -0.149486 -0.0430107 0.0240455 -0.0458155 3.95716 -0.284134 -0.12068 -0.777459 0.0543001 -0.190395 -0.0672275 0.0363954 -0.647911 -0.084925 0.0247204 -0.131008 0.810196 7.26018e-06 -0.000128494 0.00186427 -0.0336436 0.4693 0 0 0 0 0 0.000265754 0.0101964 0 0 0 0 0 0 0 0.000939639 0 0 0 0 0.000136355 0 1.82711e-05 -0.000267845 0.00605101 0 0 -0.0221672 0 0 -0.00028268 -0.0892851 0 0 -0.00307064 -0.00938074 0 -0.00373906 0 -0.000542079 0 0 -7.53187e-05 0 0 -0.0111841 0 0 0 0 0 0 0 -0.00817641 0 0 -0.00715172 0 0 0 0 0 0 0 -0.00402342 0 -0.0485341 0 0.00196513 0 0 -0.000345973 -0.0169898 0 0.00195741 0 0 0 0.0183924 0 -0.00318931 0 0 0.00711525 0 0 0 -0.00250849 0 0 0 0 0 0 0.0409577 0 0.0207388 0 0 0 0 -0.187429 -0.112047 0 0 -0.0840651 0 -0.00977632 0 -0.00687592 0 0 -0.755016 0 -0.619723 -0.0572291 -0.0565057 -0.0731523 0 0 -0.0727554 0 -3.39346 0 -0.53055 -1.14873 0 -0.289454 -0.835984 -0.00623717 0 -0.0302292 0 0 -0.0109397 0 -2.40238 -0.846644 0 0 -0.0622977 0 0 -0.143113 -0.556674 -0.000578536 0 0.42625 0 0.446701 -0.0213417 0.0303095 -0.240056 -0.0123615 -0.976683 -0.198373 -0.0719156 0.114324 6.92862 -0.0185106 0 0 0 0.0604434 -0.0127501 0 0 0 0 -0.0265868 4.56623 0.463784 1.15123 0.0208962 0.0570036 -0.649003 -0.0448734 -0.0303319 0.0949772 0.00300722 0 0 0 0 0 0 +164 0 0 0 0 0 -0.750872 -0.197359 0.115565 2.33916 0 0 0.0980112 -0.277776 0 -1.06896 0.0332715 0 0 0 0.156427 1.14926 0 0 0 0 0.424114 0 0 0.268671 -3.08676 -0.344026 0 0.0593845 0 0 0.0801988 0.00634937 0 0 1.35763 0.348676 0 0 0.27858 -1.07948 0 -0.106177 -0.282514 0.337216 -0.395921 0.518964 -0.230338 0 -0.225826 0.17771 -0.273569 1.05284 0.135955 0.333577 0 0 -1.23736 -4.49913 0 -0.340152 -0.251053 0.00386248 0 0 0 0 -0.148293 0.977116 0 -0.839085 0.733347 0 0 0 -2.81254 0 -1.889 3.16758 0 -0.66642 0.161107 -1.66264 0 -0.743505 0.614856 -3.11722 9.9711 0 0 0 -0.288218 -0.0397015 0 0 0 0.0147945 0 0 0.00333691 0 0 0.011693 0 0 0 0 -0.0841865 0 -0.00936996 0 0.041762 0 0.067279 0.0250368 0 0.00495366 0 0 0.204564 0 -0.00996513 0 0 0 0 -0.00797922 0.0311411 0 -0.00435141 0 0 0 0 0 0 0 0 0 0 -0.0102403 0 0 0 0 0 0 0 0 0 0 -0.252411 0 0 0 -0.0547076 -0.0182576 0 -0.0366782 -0.252525 0 -0.0745294 0 -0.213874 0 0 0 -0.0172208 0 0 -0.19123 0 0 0 -0.0884346 0 0 0 0 -0.175667 0 -0.750872 -0.288218 -0.197359 -0.0397015 0.0774979 0.131906 -0.205434 0.358413 0.321449 0.0191455 0.0485723 0.596808 0.00233274 0.0938165 -0.0239206 -0.00156687 0.0429206 0.140602 -0.343242 0.0694648 0.16986 0.240106 0.228021 0.0272316 0.347746 -0.180499 0.0711863 0.027618 -1.71605 0.486869 2.04134 -1.10315 -0.00279534 1.33135 0.691771 0.0329691 0.00758102 0.0545178 0.0759375 -1.19137 0.00595067 -0.0310542 -2.3009 0.18261 0.00557409 0.0545531 0.232181 0.0905094 0.231479 -0.593189 1.47689 0.140967 -0.0809371 0.575167 0.00633099 0.608797 -0.216033 0.062363 -0.854978 0.0159446 0.554574 -0.413227 -0.448702 0.0130424 7.27299 0.119484 -0.66473 0.0393636 0.0402277 0.285649 -0.0954596 -0.092937 -0.00924729 0.0589833 -0.022651 -0.175335 -20.5462 -4.43966 -5.65688 -1.04132 -1.72284 4.05778 -0.196494 -0.285066 0.402201 -0.206 -0.0459738 -0.133621 0.227122 -0.564657 1.44715 0 +165 0 0 0 0 0 0.447365 0.475967 -1.70449 -4.06838 0 0 -0.249098 0.796549 0 0.000520222 -0.1399 0 0 0 -0.214469 3.24568 0 0 0 0 -0.920558 0 0 -0.846513 -3.89726 0.433842 0 -0.798392 0 0 -0.456801 -0.063285 0 0 -0.759831 1.20821 0 0 -0.244097 1.56671 0 0.819588 -1.52765 -1.03862 0.484063 -1.06902 0.845597 0 0.337426 -0.222692 -0.287439 -0.934685 -0.0377776 -0.279682 0 0 -1.62343 -0.738393 0 -0.430543 0.100252 -0.223666 0 0 0 0 -0.857235 -0.743979 0 -0.00722231 0.665426 0 0 0 7.46741 0 1.74165 5.39334 0 0.509463 1.55041 4.68759 0 0.443759 1.54621 -1.21223 10.0779 0 0 0 0.0399023 0.0196682 0 0 0 0.0178612 0 0 -6.91498e-05 0 0 -0.0165754 0 0 0 0 0.0160683 0 0.00384548 0 -0.0868132 0 0.232888 0.353923 0 -0.00649099 0 0 -0.26125 0 0.0451408 0 0 0 0 0.0356532 -0.0415361 0 0.00710531 0 0 0 0 0 0 0 0 0 0 -0.0211822 0 0 0 0 0 0 0 0 0 0 0.17112 0 0 0 0.0313786 -0.0316787 0 -0.120972 0.0114887 0 0.0281627 0 0.175236 0 0 0 0.0937847 0 0 0.247563 0 0 0 0.0506407 0 0 0 0 0.212066 0 0.447365 0.0399023 0.475967 0.0196682 0.347749 0.100771 0.175367 0.131909 -0.266788 -0.0203878 -0.00417461 -0.565193 -0.00268199 -0.0950396 0.0267346 -0.0350224 0.0187101 -0.125516 -0.00766213 0.185356 0.258914 -0.185527 -0.183553 0.00617885 0.107512 -0.135498 -0.333323 -0.00168183 -0.776494 -0.180728 1.78707 0.696138 0.00356187 -0.537178 0.849588 -0.0323092 -0.00340763 -0.00915805 -0.0284399 -0.813067 -0.00940668 -0.0182862 -0.203762 0.563364 8.10491e-06 -0.027372 0.0190126 -0.00515355 0.297566 -0.745772 -6.07816 0.141246 -0.125295 -2.00982 -0.0530142 -0.894748 0.0818311 -0.207506 0.399385 -0.0502482 -0.630206 -0.831814 0.0209999 0.116064 -3.72902 -0.288197 -0.999919 -0.0144282 0.0818061 -0.0737248 0.22215 0.0500887 0.0468936 -0.0567958 -0.0758333 -0.0190086 -17.9869 1.58702 0.868583 0.339492 1.04251 1.54855 0.180711 0.0276004 0.585386 0.407667 0.0410409 -0.00212634 0.219735 -0.122895 0.929237 0 +166 0 0 0 0 0 -0.33427 0.0498883 0.571309 1.63144 0 0 -0.0277652 0.797054 0 1.88502 -0.0043754 0 0 0 -0.0107258 -0.352191 0 0 0 0 0.143889 0 0 0.152817 5.82146 0.518693 0 -0.00559066 0 0 -0.0108612 0.00234693 0 0 -0.488027 0.760866 0 0 -0.0396184 2.50123 0 0.664491 1.26772 0.00320115 0.130147 0.903897 0.169173 0 0.0305259 -0.120599 0.254757 0.928419 0.726677 -0.221549 0 0 0.0553402 3.01113 0 0.562932 0.128102 -0.864281 0 0 0 0 0.105169 0.166953 0 -1.07421 -1.68825 0 0 0 -3.29984 0 0.0139151 -7.33123 0 0.0527709 -1.93282 -3.10662 0 0.344363 -2.31502 4.71525 -20.3364 0 0 0 0.0425123 0.00454843 0 0 0 0.00620027 0 0 5.46011e-05 0 0 0.000795371 0 0 0 0 -0.0121909 0 -0.000887321 0 0.0122266 0 0.122009 0.26714 0 0.00103501 0 0 0.0586685 0 0.0221522 0 0 0 0 0.0898577 0.00854911 0 0.00785127 0 0 0 0 0 0 0 0 0 0 -0.00729007 0 0 0 0 0 0 0 0 0 0 -0.0446979 0 0 0 -0.0277049 -0.0276015 0 0.0761857 -0.0902695 0 -0.0315944 0 -0.00262758 0 0 0 -0.0152493 0 0 -0.05158 0 0 0 -0.00916596 0 0 0 0 -0.0623769 0 -0.33427 0.0425123 0.0498883 0.00454843 -0.661963 -0.0973685 0.0167455 -0.363621 0.659995 -0.00118744 0.00661279 -0.106068 -0.000126424 -0.00895207 0.00136719 0.0227572 0.0197151 -0.0109542 0.146567 -0.67955 0.204403 0.113293 0.0271954 0.0655509 0.0980992 0.310442 0.29135 -0.00857911 5.10873 -0.391658 -0.626702 0.794902 0.000119385 0.342811 -0.232523 0.00037544 -0.00649185 -0.0345029 -0.063421 2.07954 0.0593723 0.0426946 2.01939 -0.153166 0.00161281 -0.0411464 0.0881853 -0.0655355 -0.108916 0.50041 5.36633 0.125447 -0.070187 1.32324 0.00387665 1.57014 0.0594112 0.405395 -0.0305789 -0.00155135 1.97281 0.709811 0.184157 0.508445 6.71866 0.119635 0.576616 -0.0295597 -0.356746 -0.122072 -0.00950072 0.0938972 -0.00284453 0.0534273 0.0963824 0.00662694 6.30777 0.974712 -1.44552 0.157586 1.32872 -7.47673 0.0250479 0.298713 -1.15501 -0.576545 0.00358178 0.185613 -0.610824 0.893288 -2.52842 0 +167 0 -1.37893 -0.466003 -0.0447667 -0.255434 0.286479 -0.0680473 -0.738 -1.89357 -0.295993 1.4855 -0.309345 0.388088 0.00496551 1.69341 0.0188356 -0.248593 -0.761461 0.179257 0.0434313 0.698272 0.0369711 0.422874 -0.00636838 0.317379 0.0280556 -0.409612 0.0601632 0.353013 0.368548 0.208285 -0.0465281 0.0095741 1.13157 0.154826 0.125747 -0.0363707 0.147282 5.12727 -0.432386 0.134535 0.0374801 -0.0757516 -0.0550587 2.60652 0.251271 -0.205211 0.433692 0.122873 0.14757 0.281473 0.768446 2.33439 -0.0813201 0.0775314 0.0669163 -2.33948 -0.280907 0.240302 -0.460672 -0.0747918 1.9177 -1.84696 -0.474474 0.048496 -0.332093 -0.174493 -0.285009 0.184469 0.0754577 -0.999797 0.485563 -0.123467 -0.12397 -2.26533 -0.6934 -0.0742275 -16.3814 -5.61454 2.67937 -2.81926 2.13595 -4.77505 -0.740001 0.646382 -1.55344 2.011 -0.0931052 0.117312 -0.309485 0.469633 -0.707567 0 0 0 0 0 -0.0447667 -0.255434 0 0 0 0 0 0 0 0.0197369 0 0 0 0 0.0281216 0 0.00387563 -0.0196586 0.14426 0 0 0.00212441 0 0 -0.0208523 -0.372046 0 0 0.0126523 -0.0877432 0 -0.0461016 0 0.00100349 0 0 0.00255986 0 0 0.157827 0 0 0 0 0 0 0 -0.0630538 0 0 -0.0652096 0 0 0 0 0 0 0 -0.063274 0 -0.325726 0 0.0175122 0 0 -0.0277446 -0.188559 0 -0.00911789 0 0 0 -0.278051 0 -0.164956 0 0 -0.0834091 0 0 0 -0.0603508 0 0 0 0 0 0 0.286479 0 -0.0680473 0 0 0 0 -0.0627843 -0.654145 0 0 0.819244 0 0.0870021 0 -0.0257847 0 0 0.264897 0 1.11161 -0.122372 0.274842 0.0245182 0 0 -0.275732 0 -3.47382 0 6.06183 0.3031 0 -0.686131 2.5658 0.0270768 0 -0.0282585 0 0 -0.0599884 0 0.14879 -0.160539 0 0 -0.0279804 0 0 -0.054511 -5.68479 0.123257 0 -1.16701 0 -0.826199 0.115946 -0.243504 -0.772629 0.118349 -0.0774503 -0.589177 0.00931799 0.236455 -6.50953 -0.0551639 0 0 0 -0.158802 -0.0789879 0 0 0 0 0.175229 -52.9569 -7.54282 0.867031 -1.2259 0.855096 -2.828 -0.194526 0.151924 -0.423733 0.419407 0 0 0 0 0 0 +168 0 0.659004 -0.10701 0.0292821 0.105828 0.0797816 -0.254599 0.46905 0.659831 0.245543 -0.931013 0.105396 -0.62388 -0.00334526 0.389937 -0.0129734 -0.807181 -3.10031 -0.177084 -0.05358 1.24136 -0.0324979 0.0859821 0.00435887 -0.230974 0.261389 -0.288982 -0.029315 0.572103 0.0987465 -0.25939 0.0340876 -0.0771357 -0.249039 -0.0745013 0.278133 0.0100658 -0.0397628 -1.93841 0.266947 -0.13505 -0.0252074 0.0854946 0.0312969 -0.639339 -0.16669 -0.65377 0.390038 -0.419365 -0.0822776 0.806152 -0.396252 -1.62788 0.0845159 -0.0844657 -0.0306876 2.6657 0.209056 -0.222745 0.329385 0.0543968 -0.608672 1.49073 0.802279 1.04283 0.154109 0.120143 -0.651998 -0.277166 -0.0643667 0.876327 -0.358369 0.0983731 -0.0763598 1.6179 0.229917 0.187234 7.81231 3.9325 -2.50545 1.50474 -1.0832 1.74408 0.514304 -0.402449 0.8953 -0.940733 0.0617646 -0.074138 0.141717 -0.241631 -0.189581 0 0 0 0 0 0.0292821 0.105828 0 0 0 0 0 0 0 -0.0106708 0 0 0 0 -0.0174966 0 -0.00225668 0.00843237 -0.0827231 0 0 -0.0639805 0 0 0.0194301 0.110093 0 0 -0.0174379 0.0286526 0 0.0482337 0 -0.0115885 0 0 -0.00335443 0 0 0.104784 0 0 0 0 0 0 0 0.073924 0 0 0.0483519 0 0 0 0 0 0 0 -0.0385962 0 -0.684387 0 -0.0349714 0 0 0.00690145 -0.162925 0 -0.115878 0 0 0 -0.175359 0 0.0553369 0 0 -0.0638693 0 0 0 0.0345114 0 0 0 0 0 0 0.0797816 0 -0.254599 0 0 0 0 0.296398 0.601843 0 0 -0.324724 0 -0.0345757 0 0.0176069 0 0 0.302896 0 0.498664 0.0531564 -0.173104 0.038823 0 0 0.151144 0 2.33161 0 -0.679838 -0.0408474 0 0.186127 0.450834 -0.0124 0 0.0483017 0 0 0.0600252 0 1.18273 -0.249794 0 0 -0.0232992 0 0 -0.0117846 4.84256 0.0768037 0 1.0711 0 0.916073 -0.038863 0.0870883 0.350923 0.0481497 0.331742 0.343289 -0.0395099 -0.418115 1.9953 -0.0133595 0 0 0 0.123231 0.062902 0 0 0 0 -0.13676 10.2461 3.37388 -2.27098 0.353203 -0.258489 0.468389 0.036003 -0.0360685 0.191883 -0.148323 0 0 0 0 0 0 +169 0 -1.08753 -0.23788 7.20825e-05 0.00636075 -0.379624 -0.152321 -0.276502 1.01948 -0.00456769 -0.594547 -0.0746064 -1.11253 1.455e-06 -1.60694 0.000947603 -1.82879 -7.30796 -0.0815627 -0.00790359 -1.75093 -0.00616483 -0.181014 -8.51988e-06 -0.030752 0.0902317 -0.430353 -0.0086731 -0.159424 -0.908042 -0.456055 -0.000279936 0.00648075 -0.295957 -0.0442393 -0.0785965 -0.00710496 -0.0721482 0.430684 -0.218663 -1.20361 6.81752e-06 -0.38729 -0.0212326 -3.70082 -0.000178064 -0.715008 -0.48075 -0.0873837 0.056082 -1.09875 0.037507 5.09373 0.0079562 -0.0147252 -0.262913 2.45148 -0.903941 -0.652088 0.125491 -0.000411382 -0.923024 3.32657 0.766448 -0.382258 0.178383 0.00189376 -0.0532848 -0.232777 0.00133639 0.478021 -0.342018 -0.266117 0.0176074 3.17369 0.780368 -0.426809 -3.3401 0.452688 -2.90284 0.104709 -0.162857 0.66433 0.260469 -0.475262 1.62891 -2.36795 6.59794e-05 0.040485 0.168402 0.0754523 1.74333 0 0 0 0 0 7.20825e-05 0.00636075 0 0 0 0 0 0 0 0.00945441 0 0 0 0 0.00547028 0 0.000934463 0.0227815 0.054713 0 0 0.141278 0 0 -0.00626315 0.760701 0 0 0.0125503 0.152749 0 -0.0293304 0 0.0144033 0 0 0.0013085 0 0 0.00663491 0 0 0 0 0 0 0 -0.0441894 0 0 -0.0797589 0 0 0 0 0 0 0 0.00268009 0 -0.144509 0 0.00146818 0 0 -0.0484243 -0.0219886 0 0.0315076 0 0 0 -0.015752 0 -0.0512377 0 0 0.000226293 0 0 0 -0.0230527 0 0 0 0 0 0 -0.379624 0 -0.152321 0 0 0 0 0.542234 -0.407322 0 0 -0.354494 0 -0.0413207 0 -0.0126487 0 0 -0.534045 0 0.0152868 0.152327 -0.0762073 -0.103713 0 0 -0.205063 0 -8.21343 0 3.06047 -0.726437 0 1.53588 0.716197 -0.00753272 0 0.0544279 0 0 -0.0202309 0 -2.40408 -1.53865 0 0 -0.264 0 0 -0.042333 1.51729 -0.715738 0 -0.964443 0 -0.444008 -0.11823 0.200322 0.310933 -0.24228 -0.44389 0.349137 0.0829949 -1.46261 -6.55216 0.0855144 0 0 0 -0.187115 0.0575866 0 0 0 0 -0.116995 -28.2757 0.219314 -9.19859 -0.196693 0.00218135 -1.67707 0.24975 -0.254881 0.299455 -0.929783 0 0 0 0 0 0 +170 0 0 0 0 0 0.0517455 0.00882616 0.208379 -0.208067 0 0 -0.114978 0.605077 0 1.57026 -0.0513957 0 0 0 -0.0328071 -1.24158 0 0 0 0 0.121412 0 0 0.426998 2.24486 0.133267 0 0.290408 0 0 0.0931503 -0.0493745 0 0 -1.54859 0.399429 0 0 -0.454376 4.458 0 0.202292 0.831175 1.61 0.846716 -1.66933 0.114507 0 0.606343 -0.0136235 0.287128 -0.0773819 -0.0417352 -0.615391 0 0 0.786531 -1.62993 0 -0.651971 0.919704 -0.294002 0 0 0 0 0.400428 -0.849121 0 -0.32055 -1.21155 0 0 0 0.563945 0 1.86355 -3.22482 0 0.716445 -0.342838 -0.93837 0 1.7604 -1.48131 2.79763 -5.10653 0 0 0 0.26784 0.0788471 0 0 0 -0.0544833 0.0263629 0 -0.00704016 0 -0.00675549 -0.0858068 0 0 0 0 -0.0388431 0 -0.0305045 0 -0.208289 0 -0.400323 -0.866428 0 -0.0114814 0 0 -0.251471 -0.00145005 -0.160543 0 -0.00201919 0 0.00127556 -0.338739 -0.054242 -0.0251651 -0.0615311 0 -0.000376885 0 0 0 -0.000121812 0 0 0.00276454 -0.00202591 -0.0486601 0.0124184 0 0 -0.0173786 0 -0.00615343 0 0 0.0569624 -0.0185914 -0.0571504 -0.00666949 0 0 -0.0898613 -0.0481689 -0.0108041 -0.175148 -0.104799 0 -0.175461 -0.0147181 -0.387558 0 0 0 1.28269 0 0.0913173 0.788013 0 0.00790417 0.0643517 0.060608 0 0.000828254 0.00678319 0.00819409 0.0680646 0 0.0517455 0.26784 0.00882616 0.0788471 -0.233058 -0.137176 0.606015 0.157075 0.141006 -0.0877987 0.0297342 -0.407673 -0.018659 -0.07089 0.117106 -0.0362248 0.0188819 -0.333026 0.595831 -0.958639 0.0520581 -0.0160979 -0.213698 0.0755635 0.315812 0.0948828 -0.0309507 -0.0208204 -0.966365 -0.267351 -0.0418946 -0.618945 0.0207097 0.201354 -0.0481825 -0.0289338 -0.00168118 0.00312158 -0.0426662 0.572193 0.0184416 0.0163726 -0.628577 1.15697 -0.0009484 -0.00134107 0.135128 -0.154039 0.00228551 -0.291349 1.79224 -0.701917 0.126895 0.414458 -0.153924 -1.19618 -0.0453418 0.252413 0.112422 -0.0660349 0.267794 0.860756 -0.126592 1.53764 3.5856 -0.0460253 0.0293212 -0.14319 -0.203773 0.140208 0.143249 0.0288365 0.184112 -0.159708 0.0774532 0.533354 0.205906 1.02956 -0.19429 0.843714 0.614005 -1.47133 0.466853 -0.0347294 -0.278929 -0.0379561 0.402603 -0.00437482 -0.264625 0.357494 -0.43672 0 +171 0 0 0 0 0 -0.652281 -0.414892 1.05681 3.25227 0 0 0.1214 -0.205098 0 -0.265988 0.079307 0 0 0 0.294674 2.74187 0 0 0 0 0.842839 0 0 0.947367 0.170949 -0.483796 0 0.381199 0 0 0.432973 0.00952547 0 0 1.30622 -0.228825 0 0 0.350952 1.78189 0 -0.691223 0.769329 0.775543 -0.607616 0.843077 -0.529337 0 -0.141462 -0.0849869 -0.147265 1.32107 0.0708954 1.07557 0 0 -0.0736127 -1.97403 0 -1.09629 -0.645842 -0.460995 0 0 0 0 -0.302431 0.944321 0 1.39661 -0.0395862 0 0 0 -4.72116 0 -1.67261 -0.675027 0 -0.927566 0.190544 -4.60756 0 -1.58063 -0.0117598 -1.05545 -0.454289 0 0 0 -0.203941 -0.022613 0 0 0 0.117997 -0.0142777 0 0.0183689 0 0.00337003 -0.0334786 0 0 0 0 -0.106404 0 -0.0256774 0 -0.0463887 0 0.744784 0.539538 0 0.0033942 0 0 0.239101 0.00168969 0.0715919 0 -0.00728821 0 -0.000859258 0.151523 0.0309192 0.0298994 0.0218302 0 0.000204525 0 0 0 -0.000388364 0 0 -0.00521287 -0.0043473 -0.606264 -0.0139754 0 0 -0.0221394 0 -0.00111148 0 0 -0.0181594 -0.0547604 0.234502 -0.0475696 0 0 -0.0767861 0.0803923 -0.011242 0.188718 0.0662418 0 -0.369015 -0.00604439 0.277391 0 0 0 -0.687293 0 -0.144977 -0.223373 0 -0.0137023 0.000819253 0.0610418 0 -0.00140078 -0.000235906 -0.00237437 -0.122089 0 -0.652281 -0.203941 -0.414892 -0.022613 0.0826453 0.00762266 -0.169818 0.282013 -0.24035 -0.00764147 0.0472605 0.0363528 -0.00189861 0.0140674 -0.00183539 0.0106579 0.0225956 -0.0360172 0.801219 -0.243882 0.0339848 0.176437 0.0378228 0.151575 0.196142 -0.0454959 0.290793 -0.014245 2.30206 0.25004 0.840188 -0.80971 0.00288212 0.819629 0.231324 0.0142679 0.00377671 0.0897455 0.0553295 -0.335554 -0.0612063 -0.000682163 0.547988 1.47713 0.00554931 0.017546 0.212348 -0.0870984 0.286731 -0.695084 1.57248 -0.986646 -0.19219 -3.59161 0.0423314 -0.9105 -0.61769 0.582391 0.135852 -0.277804 -0.394431 -0.197257 -0.0804706 3.07613 -1.51967 0.0120304 -0.512521 -0.0500783 -0.0920405 0.247974 0.068216 0.0269801 0.0439104 -0.145028 0.0674021 0.374716 -4.12942 -0.645457 -3.05633 -0.419352 -0.097625 -0.614774 0.00186594 -0.0260665 -0.0479102 -0.790178 0.0435421 -0.0874248 -0.0567083 -0.0356276 -0.071858 0 +172 0 0 0 0 0 -0.00940225 -0.120923 0.188108 -0.0482217 0 0 0.728356 -1.10461 0 -2.0821 0.122314 0 0 0 0.00900897 -2.04118 0 0 0 0 -0.0301658 0 0 -0.223767 -3.58637 -0.452052 0 0.218124 0 0 0.0633708 0.112412 0 0 1.64035 -1.82689 0 0 0.332297 -5.00457 0 -0.830025 -1.13721 -0.855523 -0.906787 0.702057 -0.137956 0 0.243132 0.313393 -0.0643275 2.9656 1.08015 0.91356 0 0 0.424366 2.21166 0 1.04866 -0.918681 0.321666 0 0 0 0 0.48156 1.66809 0 2.39471 -0.789452 0 0 0 1.21501 0 -1.63866 6.39354 0 -0.631827 1.17168 2.37437 0 -1.06858 1.51402 -3.06035 9.18541 0 0 0 -0.155772 -0.072294 0 0 0 0.130954 -0.0568568 0 0.0171583 0 0.00791973 0.0932243 0 0 0 0 0.122677 0 0.0370515 0 0.340369 0 0.973544 0.484096 0 0.010994 0 0 0.25894 0.00191004 0.123765 0 -0.00320119 0 -0.00279253 0.154583 0.0519738 0.0318718 0.0387994 0 0.000456064 0 0 0 -0.00014198 0 0 -0.0064305 0.000260919 -0.431629 -0.0217307 0 0 0.0279213 0 0.00870659 0 0 -0.0552562 -0.0130884 0.499338 -0.014734 0 0 0.0994797 0.029155 -0.0709056 0.015586 -0.07366 0 0.222092 0.017346 0.409596 0 0 0 -2.00497 0 -0.152427 -0.802077 0 -0.0143564 -0.0647084 -0.0715502 0 -0.00146903 -0.00703594 -0.00845043 -0.0189968 0 -0.00940225 -0.155772 -0.120923 -0.072294 0.346757 0.127245 -0.109639 0.0321817 -1.44648 0.134661 -0.144516 0.0451235 0.0238782 0.00849687 -0.0655747 -0.0921828 -0.132615 0.718888 -0.0417071 2.32726 -0.206063 -0.0367171 -0.431937 0.0107565 -1.104 -0.0653149 -0.668539 0.0522695 -0.903189 -0.18751 0.100019 -0.219291 -0.0156709 -0.547985 -0.219598 -0.0670516 -0.00993669 0.0246015 -0.0362359 -0.453095 -0.253621 -0.0106338 -0.696295 -0.0078584 -0.0173226 -0.0611689 0.0522462 0.351115 -0.266151 -0.423725 1.19071 -0.0568686 0.28015 1.21481 -0.000198902 -0.185049 -0.290326 0.124638 -0.0066416 -0.041094 0.067993 0.626674 -0.054418 0.474287 2.01848 0.0702971 -0.0329437 0.0217409 -0.226414 0.554686 -0.00654305 0.118714 -0.311004 0.137131 0.0341953 0.10535 -0.491582 -0.177091 1.42032 -1.82708 0.588666 1.2538 -0.503108 0.0890161 0.260276 0.128971 -0.869081 0.359386 0.0209438 -0.0849598 0.193906 0 +173 0 0.368868 0.383263 0.0559777 0.335583 -0.134133 0.197698 -0.243495 0.472315 0.384739 -1.43893 -0.10167 -0.114067 -0.00534818 -0.889849 -0.0269331 -0.15147 -0.488895 -0.302569 -0.0351245 1.65243 -0.0192571 -0.490622 0.00450535 -0.264446 -0.287804 0.357499 -0.0860645 -0.547908 -0.285342 0.0407012 0.0424805 -0.40015 -0.792104 -0.449201 -0.385162 -0.0118464 -0.220217 -1.45552 0.16996 1.19326 -0.0472479 -0.050601 0.0229674 -2.1372 -0.375398 0.852935 -0.455851 -0.582428 -0.112112 -0.115918 -0.678963 3.04186 0.0921524 -0.141275 0.321327 0.878053 -0.0374652 0.350391 0.40187 0.0937999 -0.739238 -1.24897 -1.01625 -0.876235 0.178854 0.153347 1.18509 -0.000874074 -0.0937921 -0.224883 0.0962756 -0.131292 0.293001 0.693862 0.316631 0.569996 4.70629 2.30876 1.05311 1.96152 -0.58904 1.7404 1.27291 -0.42868 1.17382 -0.215134 0.246919 -0.0846281 0.369399 -0.146597 0.418904 0 0 0 0 0 0.0559777 0.335583 0.00197793 0 0 0 0 -2.73305e-05 0 -0.0308093 0 0 -0.00203662 -0.0041482 -0.0231756 0 -0.00380312 -0.0623818 -0.176049 0 0 -0.335793 -0.000243395 0 -0.0187998 -1.46822 0 0 -0.0412219 -0.369035 0 -0.0504985 0 -0.0411072 0 0 -0.00493003 0 0 -0.343671 -0.000467587 -0.0341105 0 0.0320862 0.0303364 0 0 -0.21574 0 -0.00105234 0.0522766 0.00352968 0 0 0.00354888 -0.00617317 0 -0.0207384 -0.150326 0.00472828 -0.428652 -0.0225796 -0.0515713 0 0.025207 0.0318625 -0.400475 0.0647499 -0.116313 0 0 0 6.8755 0.498551 1.02979 0.0345266 0.0355876 -0.0137787 0.00137762 0.000962524 0.00314751 0.0255857 0 0 0 0 0 0 -0.134133 0 0.197698 0 0 0 0 -0.0109704 0.320497 0 0 -0.499776 0 -0.0554291 0 -0.0294798 0 0 0.321356 0 -0.80311 0.0541746 -0.100312 0.0463253 0 0 -0.221544 0 3.08689 0 -1.25915 0.526243 0 0.31107 -1.08014 -0.00553215 0 -0.000728578 0 0 0.0131032 0 0.918051 0.40919 0 0 0.0618808 0 0 -0.114716 -0.285652 -0.0582369 0 -0.746268 0 -0.129384 -0.193023 0.13413 -0.205222 -0.0970521 0.0221285 -0.0341324 -0.0560824 0.555126 -0.983868 -0.0323427 0 0 0 0.107921 0.0857003 0 0 0 0 0.0898844 1.86239 2.45736 -2.72836 0.956152 -0.592439 -0.0714121 0.270174 -0.189476 0.157496 -0.127651 0 0 0 0 0 0 +174 0 -1.03367 -0.351389 -0.0188612 -0.146988 0.0580612 0.0870318 -0.677308 -1.06109 -0.0806603 0.525001 -0.247398 0.615503 0.000987287 1.43327 0.0227001 -0.314781 -1.26121 0.0611461 0.039558 -0.0168124 0.00860863 0.202106 -0.000857767 0.132606 -0.18741 -0.177089 0.0310601 -0.298061 -0.261017 0.457186 -0.00786783 0.181115 0.689533 0.192284 -0.125148 -0.0215986 0.147538 3.27455 -0.33803 0.179921 0.00788686 0.341345 -0.0320454 2.34118 0.0453745 0.306153 -0.288072 0.323178 0.0870716 0.18583 -0.117331 1.26629 -0.0344214 0.12834 0.130984 -0.524639 0.344766 -0.344314 -0.0924873 0.00675636 0.299846 -0.146868 -0.254386 -0.0954491 0.0490268 0.393728 0.562518 0.168713 0.0205229 -0.449628 0.405839 -0.215255 -0.00682165 -2.32893 -0.0377392 -0.0634239 -9.51636 -1.70988 0.972733 -1.20985 1.50224 -2.39704 -0.652661 0.357613 -0.302485 0.994883 -0.0298453 0.114643 0.052536 0.228149 0.383193 0 0 0 0 0 -0.0188612 -0.146988 0.000996894 0 0 0 0 0.000141802 0 0.00841476 0 0 0.000142273 -0.000855926 0.00745695 0 0.000667617 0.0105382 0.0672055 0 0 0.0283304 -3.21066e-05 0 -0.0404461 -0.0361769 0 0 0.00527732 0.0237175 0 -0.164628 0 0.0088639 0 0 0.00141001 0 0 -0.389839 0.00294968 0.0015305 0 0.0238872 -0.0422029 0 0 -0.166577 0 -0.00332933 -0.673402 -0.00158309 0 0 -0.00124008 -0.00556794 0 -0.0037828 0.00331276 0.00082134 0.329846 -0.0510973 0.0151935 0 0.0152088 0.00411683 0.0812438 0.00863062 0.062927 0 0 0 1.14658 0.00105518 -0.0860345 0.00367477 0.0014303 0.0522551 -0.000278192 -0.000196799 4.88795e-05 -0.020949 0 0 0 0 0 0 0.0580612 0 0.0870318 0 0 0 0 -0.254746 -0.0370268 0 0 0.659935 0 0.0591567 0 -0.00129744 0 0 -0.744138 0 0.52226 -0.040638 0.356747 -0.10617 0 0 -0.0980297 0 -7.54981 0 3.13816 0.0561941 0 -0.57484 1.24757 0.0349556 0 -0.0231769 0 0 0.0157642 0 -1.90484 -1.62274 0 0 -0.226401 0 0 0.535517 -3.9575 0.0992308 0 1.81118 0 -0.308657 0.268891 -0.171265 0.0259831 0.0150469 -0.644126 -0.0937114 -0.068679 -3.08253 -6.46205 -0.0286811 0 0 0 -0.313119 0.0115224 0 0 0 0 -0.351434 -20.8623 -3.50278 0.698894 -1.97983 1.6942 -1.81295 -0.342286 0.272829 -0.257819 0.155052 0 0 0 0 0 0 +175 0 0.254638 0.267786 -0.027818 -0.128227 0.153204 0.190617 0.225889 -0.646684 -0.16455 0.975718 -0.143762 1.80383 0.00489093 3.7017 0.0231408 2.15312 11.414 0.235014 0.0346305 5.23804 0.0376862 0.0161047 -0.00357781 0.137115 -0.000249373 0.365587 0.0384874 0.209646 1.33904 0.633968 -0.027568 0.23287 0.0451638 0.190892 0.0352361 -0.0110835 0.0445228 -1.09259 -0.296599 2.26602 0.0436117 0.293244 -0.035699 9.459 0.344575 0.918394 0.662393 0.367373 0.120128 0.711442 0.758183 4.39317 -0.10561 0.185373 -0.0779698 1.55334 0.0668003 -0.305922 -0.432458 -0.140498 0.464275 -2.81554 -0.254203 -0.263213 -0.562599 -1.02804 -0.887695 0.272019 0.0580626 -0.126682 0.218363 0.149339 0.062957 -1.27761 -0.456197 0.532946 7.83646 -1.19572 4.39126 -0.685009 0.435938 0.222575 -0.412322 0.344653 -1.34482 0.80329 -0.226646 0.123918 -0.69331 0.320202 -1.96581 0 0 0 0 0 -0.027818 -0.128227 0.000506517 0 0 0 0 5.07426e-05 0 0.00735299 0 0 0.000854223 0.00215744 0.0140527 0 0.00172965 0.0355571 0.0790479 0 0 0.405306 0.000136693 0 0.0133345 1.03973 0 0 0.0446383 0.174902 0 0.10917 0 0.0472142 0 0 0.00545134 0 0 0.368782 0.000763941 0.014158 0 0.00333931 -0.0222627 0 0 0.171346 0 -9.29004e-05 -0.156647 -0.00271067 0 0 -0.00405353 -0.00127918 0 0.0146945 0.0527243 -0.00716749 -0.429471 0.0011084 0.034363 0 -0.00203253 -0.0459273 0.284523 -0.101558 -0.0253983 0 0 0 -4.97647 -0.352876 -0.73454 -0.0261717 -0.0208537 -0.0753313 -0.000903428 -0.0010015 -0.000789383 -0.00013184 0 0 0 0 0 0 0.153204 0 0.190617 0 0 0 0 -0.410953 0.959365 0 0 0.649263 0 0.0902142 0 0.0962356 0 0 0.853383 0 0.00518073 -0.150866 0.394084 0.118319 0 0 0.632674 0 7.44495 0 -1.73121 0.613839 0 -0.972621 -0.322144 0.0597179 0 -0.0670139 0 0 0.147857 0 2.55896 2.07919 0 0 0.303068 0 0 0.207614 -0.558315 0.213778 0 1.16758 0 0.0281424 0.375908 -0.335533 -0.324814 -0.135336 0.0914157 -0.401637 0.323594 0.887252 7.35514 0.0811495 0 0 0 0.0684361 -0.296595 0 0 0 0 -0.040762 11.4975 -1.65722 4.64314 -0.0141393 0.0290896 0.739543 -0.477603 0.365664 -0.243935 0.402324 0 0 0 0 0 0 +176 0 0.366884 -0.361207 0.0648764 0.163693 -0.042381 -0.270399 0.470356 1.06333 0.316659 -1.6726 -0.20202 -0.342784 -0.0190058 -0.524488 -0.0569424 -0.381667 -1.2461 -0.253187 -0.179636 -0.778666 -0.0597623 0.439314 0.0138018 -0.396606 0.519361 -0.46182 0.00915316 0.341107 0.794866 -0.129734 0.0758032 -0.285722 0.585153 0.293918 0.327431 -0.0127248 0.147193 -0.565927 -0.280105 -1.12337 -0.0775328 0.756151 -0.00230986 -2.05204 -0.257693 -0.835015 0.493547 -1.04631 -0.102221 -0.102309 -0.516361 -2.78335 -0.582473 -0.363003 0.138378 -1.35091 -1.10937 -0.0981919 0.655195 0.161011 -0.533777 2.20215 0.193279 -0.87788 -0.0625575 -0.0448384 0.838573 0.0791359 0.141841 0.743652 -0.417708 -0.122713 0.239481 0.000332501 -0.311214 -1.27477 1.39556 2.07257 -1.24366 1.1002 -0.418406 0.401262 1.79959 -1.21945 1.48463 -1.16088 0.323336 -0.00274205 -0.215106 0.858726 -1.74933 0 0 0 0 0 0.0648764 0.163693 0.00266046 0 0 0 0 0.000375864 0 -0.0163823 0 0 -0.00214308 -0.0103089 -0.0231217 0 -0.00511483 -0.0983115 -0.0609972 0 0 -0.165755 -0.000567034 0 -0.0473369 -1.19838 0 0 -0.0281527 -0.346368 0 -0.142337 0 -0.0404012 0 0 -0.00630859 0 0 -0.621119 0.00731763 -0.0389445 0 0.0516266 -0.000521199 0 0 -0.183338 0 0.000165435 -0.146289 0.00712834 0 0 0.0021417 -0.00828275 0 -0.0107699 -0.0757633 0.0101831 0.0867492 0.000781987 -0.0267464 0 0.0387838 0.0171976 0.261031 -0.0724912 0.0133596 0 0 0 5.2027 0.367991 0.496942 0.0243843 0.0212292 0.0589714 0.00117298 0.000999309 0.00383144 0.00444341 0 0 0 0 0 0 -0.042381 0 -0.270399 0 0 0 0 0.0171206 0.752214 0 0 -0.308306 0 -0.0458784 0 0.0458655 0 0 -0.609572 0 0.839733 0.0377 0.0381252 -0.0934044 0 0 0.237231 0 -2.65712 0 0.571291 0.00352718 0 0.0576919 1.13928 -0.00620802 0 0.0121222 0 0 0.118739 0 -0.416501 -1.8099 0 0 -0.251465 0 0 0.394328 -2.8062 0.0377593 0 0.782581 0 -0.354338 0.20968 -0.131634 0.0679255 -0.0396195 -0.517719 0.0185441 -0.163188 -2.16822 -1.9838 -0.0178345 0 0 0 -0.179889 0.121554 0 0 0 0 -0.475828 4.22593 0.961233 0.983119 -0.759097 0.796683 -0.263665 0.19923 -0.126765 0.114225 -0.00979433 0 0 0 0 0 0 +177 0 -1.15043 -0.0691265 -0.0137083 -0.103772 0.020368 0.201019 -0.262756 -0.21097 -0.318319 0.199021 0.354224 0.526991 -0.00281202 0.0107346 -0.039542 1.09689 5.10253 -0.0604117 0.021489 -0.67639 -0.0225257 -0.00281599 -0.00229842 0.0236999 -0.216414 0.330601 -0.0496931 -0.720933 -1.59596 0.341476 -0.0253194 -0.230294 0.329786 -0.119121 -0.207076 0.0387769 -0.329516 3.1547 0.516426 0.411531 -0.0238435 -0.733602 0.0591753 0.792054 -0.216041 0.524438 -1.08426 0.194922 -0.0569386 0.305478 -0.337738 -6.06523 -0.374332 0.139197 -0.525197 -2.36944 -0.516181 0.0954723 -0.0161005 0.0168968 -0.70863 0.435063 -1.46541 -0.143278 -0.160619 0.270575 0.0288241 -0.35825 0.108138 -0.861294 -0.0739856 -0.22627 0.251011 0.0228111 1.35636 0.0673251 -8.48781 -1.59675 0.122887 -1.06861 0.489614 -1.38921 -0.366476 -0.23914 0.615565 -0.0831126 0.271073 -0.473611 1.23898 -1.67359 3.51238 0 0 0 0 0 -0.0137083 -0.103772 0.00242061 0 0 0 0 0.000315624 0 0.007928 0 0 0.000358538 -0.00272979 0.00556181 0 0.00017757 -0.0315263 0.0546696 0 0 -0.00023211 -0.000121408 0 -0.114807 -0.257703 0 0 0.00711158 -0.141832 0 -0.26531 0 0.00457039 0 0 0.00245517 0 0 -0.380565 0.00685838 0.00701787 0 0.0521992 -0.0550379 0 0 -0.29359 0 -0.00655913 -0.989394 -0.00409614 0 0 -0.000727378 -0.0114707 0 -0.012846 -0.0168798 0.00110544 0.0885733 -0.0903063 0.0172234 0 0.0203733 -0.00164084 0.00566213 0.0379177 0.0315236 0 0 0 2.06465 0.04327 0.154484 0.00851342 0.00706151 0.0443025 -0.000341127 -0.000300378 -0.000559081 -0.0293133 0 0 0 0 0 0 0.020368 0 0.201019 0 0 0 0 0.218353 0.223081 0 0 -0.170146 0 -0.0458505 0 0.0213932 0 0 -0.357821 0 -0.150983 0.0564904 -0.324258 -0.0486634 0 0 0.0907251 0 -1.15753 0 1.25617 0.670012 0 0.185814 -0.15411 -0.0461141 0 0.0364063 0 0 0.0507457 0 0.204335 -0.580531 0 0 -0.0826117 0 0 0.160745 -3.01968 0.243404 0 0.959085 0 -0.488021 0.309907 -0.275747 0.126698 -0.0883782 -0.690054 0.118847 -0.0835738 -1.44715 -1.13188 0.0152558 0 0 0 -0.0867784 0.092277 0 0 0 0 -0.359948 -11.8899 -0.732043 -0.814197 -1.01873 1.07634 -1.41438 0.161845 -0.0965368 0.0184746 -0.119693 0 0 0 0 0 0 +178 0 -0.429959 -0.311531 -0.114414 -0.216524 0.105722 0.0849655 -1.36036 -2.73122 0.299508 1.82739 -0.643653 -0.207672 0.042594 -1.10116 -0.117403 -2.2637 -10.5428 0.176471 -0.257254 3.24862 0.0409288 -0.0759082 -0.0160566 0.480243 -0.456465 -0.424213 -0.0449742 0.0972732 0.875295 -0.0820939 -0.0404128 -0.932417 -0.197121 -0.687224 -0.226031 -0.134693 -0.598524 0.591908 -1.20349 0.981791 0.200056 -3.50274 -0.26108 -1.4203 0.877799 0.288555 0.352135 -2.22242 0.639493 -1.57117 0.685316 0.973229 0.596948 -0.295825 0.170226 -1.57934 -1.12768 -0.925566 -0.796507 -0.309957 0.310667 0.296967 1.18753 1.43005 1.22945 0.155209 -1.51685 -1.19074 -0.492918 -0.822444 -0.292964 -1.13006 0.381324 0.730858 0.0493608 -0.185802 -0.73791 -2.11891 4.86137 -2.68153 2.68415 -1.50641 -2.33739 1.8521 -2.25713 3.55497 -1.1014 1.36296 -1.51506 1.93051 -1.92634 0 0 0 0 0 -0.114414 -0.216524 -0.0061419 0 0 0 0 -0.000898381 0 0.0192122 0 0 0.00317799 0.0141685 0.0487416 0 0.00815366 0.147973 0.116693 0 0 0.677436 0.000829033 0 0.0482399 0.997366 0 0 0.0843635 0.392611 0 0.23859 0 0.155184 0 0 0.0199852 0 0 0.884028 -0.0177335 0.0544022 0 -0.120796 -0.0522378 0 0 0.34186 0 -0.00438393 -0.610571 -0.0122926 0 0 -0.00735517 0.0156815 0 0.0247844 0.180172 -0.0173946 -0.435597 -0.048274 0.0523692 0 -0.0501282 -0.0581256 0.436939 -0.13165 -0.101055 0 0 0 -10.6764 -0.778805 -1.33345 -0.0527929 -0.047596 -0.143658 -0.00237266 -0.00207658 -0.00460905 0.0113285 0 0 0 0 0 0 0.105722 0 0.0849655 0 0 0 0 -0.257752 -2.02752 0 0 0.75386 0 0.0981944 0 -0.100439 0 0 -0.0302944 0 0.144799 -0.0933477 0.290232 -0.00924508 0 0 -0.775653 0 -8.3103 0 0.339693 -0.429274 0 -0.676714 0.104084 0.043653 0 -0.0407442 0 0 -0.25462 0 -2.39251 0.312427 0 0 0.0392507 0 0 -0.213125 -0.869793 -0.370781 0 -3.08167 0 0.688952 -0.649088 0.463682 -0.0831966 -0.13467 -0.0644819 -1.01786 0.324172 -0.0182463 -9.08147 0.0954056 0 0 0 -0.616169 -0.291266 0 0 0 0 0.532943 -5.27713 -3.18792 2.53682 -0.685682 0.487465 -0.322437 -0.588902 0.437048 -0.326161 0.267413 0 0 0 0 0 0 +179 0 0 0 0 0 -0.192192 0.191009 -0.793053 0.132876 0 0 0.339829 1.00737 0 0.429183 0.0672358 0 0 0 0.327138 -0.256165 0 0 0 0 -0.0721483 0 0 -0.954498 -3.71276 0.612646 0 0.193109 0 0 -0.264938 0.016653 0 0 1.19518 0.452462 0 0 0.202411 0.501313 0 0.744962 -1.78584 0.678364 -0.361607 2.47931 -0.137742 0 -0.360179 0.47777 -0.958131 -1.68136 -0.325976 0.276834 0 0 0.952429 -1.0141 0 0.263794 -0.658666 0.778321 0 0 0 0 -0.153997 1.10929 0 -0.288163 2.06305 0 0 0 -1.0006 0 -2.33404 5.5412 0 -0.777454 0.604891 2.58569 0 -1.00866 2.08599 -5.31997 15.9691 0 0 0 -0.184549 -0.0352072 0 0 0 -0.0366162 -0.00527002 0 -0.00487332 0 9.40866e-06 0.0373105 0 0 0 0 0.142382 0 0.0246642 0 0.197309 0 -0.277273 -0.169327 0 0.00298443 0 0 0.0829178 -0.000101562 -0.0211409 0 3.86881e-05 0 -0.000405611 0.0258791 0.0151744 -0.00157632 0.00518741 0 3.59734e-07 0 0 0 9.68311e-07 0 0 0.000262322 -0.000648754 -0.0066081 -0.00188482 0 0 0.00534981 0 0.000707848 0 0 0.00182013 0.00469623 -0.124299 -0.00357849 0 0 -0.0456074 -0.0055198 -2.53767e-05 -0.0716226 -0.0514184 0 0.0579419 0.00168579 -0.0824363 0 0 0 -0.258017 0 0.002442 -0.125416 0 -0.000441612 -0.00142944 0.00492276 0 0.000122745 -0.00112494 0.00325389 -0.0116597 0 -0.192192 -0.184549 0.191009 -0.0352072 0.189208 0.0780375 -0.306035 0.386695 -0.583605 0.021797 0.0991115 -0.158027 0.00288065 -0.0118812 -0.0378814 -0.0316288 0.0357591 0.150117 -0.337559 1.03552 0.154792 0.237492 -0.210197 -0.0591646 0.264422 -0.14925 -0.189166 0.014221 -2.29961 0.310952 0.799929 0.297111 -0.00434812 1.00288 0.329467 -0.0242021 0.0124107 0.0795342 0.11062 -0.713681 -0.0893086 -0.028013 -1.03338 1.20816 0.0119713 0.03102 0.267091 0.131786 0.0138839 -0.630848 0.559028 1.07267 -0.0520901 1.04665 0.0761998 0.109232 -0.199553 -0.31388 0.0880391 -0.393856 -0.220045 -0.0897163 -0.0861911 0.313952 2.97786 0.170545 -0.282479 0.142432 0.161033 0.0729698 -0.00383333 -0.0557509 -0.0395123 0.227604 -0.227443 0.154296 -0.299018 0.0671825 -3.56387 -0.115518 -1.15106 2.29137 0.0243429 -0.527309 1.20463 -1.74257 -0.0328263 -0.300632 0.612855 -0.840396 1.0843 0 +180 0 0 0 0 0 -0.18193 0.0351071 0.604504 1.88503 0 0 -0.148326 0.0760929 0 -0.272791 0.075195 0 0 0 0.27803 -3.16249 0 0 0 0 0.165868 0 0 -0.244327 5.29588 0.229969 0 0.364369 0 0 -0.0233781 0.0150669 0 0 -0.56822 0.409555 0 0 -0.024127 -2.53081 0 0.787207 0.785478 1.26774 -0.00832483 0.81302 0.466056 0 -0.211141 0.16347 0.459338 0.73626 -0.103436 -0.457392 0 0 -1.8411 -0.174461 0 1.53987 0.339467 -1.04891 0 0 0 0 0.449342 0.35963 0 -0.738555 -0.981905 0 0 0 -2.65543 0 0.638593 -7.52138 0 0.108318 -0.160795 -5.79915 0 0.0621675 -1.2229 3.19035 -15.8098 0 0 0 0.0668954 0.0128492 0 0 0 -0.00549997 0.0146395 0 0.000280312 0 -3.79432e-05 -0.0121354 0 0 0 0 -0.0290335 0 -0.00746728 0 -0.0132782 0 -0.124031 0.252733 0 -0.00141216 0 0 -0.0517047 0.000269932 0.0238414 0 0.000734258 0 0.000720952 0.127239 -0.00759361 0.00569429 0.00832973 0 -2.34092e-06 0 0 0 3.83854e-05 0 0 -0.000650722 0.00105632 0.0382305 0.00285818 0 0 -0.00803637 0 -0.00115254 0 0 0.00448903 0.0126165 -0.127069 -0.00749953 0 0 0.0222692 0.0057006 0.00461489 0.105602 -0.104698 0 -0.0259754 -7.54155e-06 -0.0390798 0 0 0 -0.00222169 0 -0.0221996 0.126025 0 -0.00147579 0.00979297 -0.0273377 0 -0.000193109 0.000764712 -0.00323188 -0.0208212 0 -0.18193 0.0668954 0.0351071 0.0128492 -0.58529 -0.151738 0.0784208 -0.17842 0.818671 -0.0121671 0.0171812 0.165406 -0.0015335 0.0134769 0.0140922 0.0270437 0.00946337 -0.0908013 -1.19724 -1.02084 -0.156727 0.130385 0.20576 -0.19658 0.203554 0.403599 0.330217 -0.0393794 1.5731 -0.3739 -0.798491 0.604587 0.00184791 0.224411 -0.316595 0.0202502 -0.00913401 0.00554127 -0.0781167 2.52336 0.0797554 0.069082 0.562163 -3.00565 0.000214528 -0.0449493 -0.48853 -0.173803 -0.141766 1.30228 -0.596318 -0.16488 -0.0293297 1.13048 -0.0243905 0.163367 0.145474 0.133132 -0.0811888 -0.255845 -0.862749 0.0164009 0.1036 -0.125331 3.05109 -0.143329 1.12128 -0.0514591 -0.527235 -0.311194 -0.0130164 -0.00119729 0.0254452 0.187846 0.153111 -0.0548113 0.29848 -0.068494 0.352382 0.104275 1.12056 -4.7014 -0.0223582 0.261032 -0.552033 -0.84687 0.0198557 0.197241 -0.557891 0.743925 -2.3632 0 +181 0 0 0 0 0 0.117203 0.00512098 0.319168 1.855 0 0 0.125956 0.282743 0 -0.566847 -0.0295401 0 0 0 -0.246787 1.19993 0 0 0 0 0.36206 0 0 -0.168383 -0.313129 0.189411 0 -0.0810812 0 0 0.0106528 -0.00344443 0 0 0.300385 0.301859 0 0 0.100387 -1.76577 0 0.604494 -0.232497 -1.48854 -0.27536 1.96365 0.0875265 0 0.18614 -0.361106 -0.00964974 0.408995 -0.0319353 -1.01671 0 0 -0.683722 1.44632 0 -0.0243032 -0.803242 -0.528707 0 0 0 0 -0.0107536 0.925674 0 -0.425477 0.0208838 0 0 0 -3.52088 0 -0.751768 0.718156 0 -0.371511 0.868523 -4.39941 0 -0.601679 0.581481 -1.69688 2.86375 0 0 0 0.0753958 -0.0123414 0 0 0 -0.00874578 -0.0220811 0 -0.00153723 0 0.000776444 0.0356327 0 0 0 0 0.143904 0 0.0195989 0 0.345587 0 -0.0333259 -0.16765 0 0.00242343 0 0 0.100253 0.00083984 -0.0127933 0 -0.00127731 0 -0.00129825 -0.0126818 0.0165587 0.016828 0.00300373 0 4.06259e-05 0 0 0 -6.87436e-05 0 0 -0.00205685 -0.00198283 -0.164584 0.00528828 0 0 0.00420626 0 0.00216345 0 0 -0.00254706 -0.00889094 0.0161705 -0.0200338 0 0 0.084177 0.0103722 -0.0131668 0.135597 -0.202336 0 0.157542 0.0131384 0.0295116 0 0 0 -1.10532 0 -0.077152 -0.443305 0 -0.0069976 -0.0377387 -0.103834 0 -0.000644063 -0.00479703 -0.0073066 -0.040699 0 0.117203 0.0753958 0.00512098 -0.0123414 0.196097 -0.0617743 -0.0692454 0.040521 0.308036 0.0203274 -0.075801 0.205647 0.0023127 0.0100748 -0.0166077 0.0456628 -0.0961963 0.166377 -1.42476 0.376387 -0.151642 0.0553694 0.0648179 -0.157115 -0.899296 0.0696394 0.651214 -0.0171472 -2.905 -0.181826 -0.899669 0.50533 -0.00235342 0.0318633 -0.356396 0.00244106 -0.000330227 0.0111182 -0.00218796 0.116764 -0.0016925 0.0218868 -0.010241 -3.40425 -0.00878875 -0.0200268 -0.46981 -0.047553 -0.334971 -1.18405 -0.749272 0.492892 0.212253 -0.845619 0.020719 -1.30972 -0.104043 -0.346547 -0.0838768 -0.21387 -0.434551 0.119395 -0.0991084 -0.609219 -1.30377 -0.19241 -0.106751 -0.156726 -0.0641835 0.0861407 0.0209113 0.0365962 -0.0512984 0.00733392 -0.00150624 0.0360781 0.336301 -0.0807768 -1.26024 0.0672696 -0.154171 1.36439 -0.0146544 -0.0844168 0.410481 -0.654637 -0.036382 0.0330041 0.0606604 0.0624886 -0.191692 0 +182 0 -0.2035 0.0742617 -0.0064487 -0.0179131 -0.0639443 -0.0720703 0.727878 0.602563 -0.106263 0.882136 -0.00687344 -0.325319 -3.19741e-05 1.10909 -0.026774 0.586201 4.62208 0.261323 -0.0282073 3.19214 0.0340099 0.0331224 -0.000562727 0.128823 -0.0427603 0.00601732 0.0383798 0.5664 1.13065 -0.137888 -0.00827894 -0.241888 0.34501 0.279317 0.122119 -0.00573434 0.20694 2.26464 0.12167 1.21378 -0.00221829 1.28242 -0.000633939 2.04847 -0.0560254 0.137525 0.852646 -0.127357 -0.0107767 1.21808 0.212229 -3.0906 0.0637065 -0.0418015 0.171541 1.27221 0.0230322 -0.113326 -0.204062 0.0107026 -2.21989 -2.06017 -0.125788 -0.567169 -0.722459 -1.60543 0.0136233 0.340597 0.0278195 -0.359815 0.189331 -0.0905025 -0.351609 -0.704045 -0.996712 -1.15236 -10.9064 -3.87882 -0.465528 -1.38703 1.50709 -5.71834 -0.886535 1.05423 -1.34865 -2.99257 0.00779486 -0.0261413 0.0385977 0.102109 -4.73254 0 0 0 0 0 -0.0064487 -0.0179131 -0.00269487 0 0 0 0 -5.68091e-05 0 0.00385028 0 0 -0.00117311 -0.000699572 0.00145933 0 0.000166289 0.00654013 0.0409049 0 0 -0.0694464 -4.48136e-05 0 0.00562854 -0.351415 0 0 -0.00466161 0.0334936 0 0.0731612 0 -0.00485137 0 0 -0.000392537 0 0 0.00991949 -0.000572568 -0.0175024 0 -0.0362895 -0.0071764 0 0 -0.00276809 0 -0.00342156 0.206839 0.00869607 0 0 0.00113555 0.00523663 0 -0.00259737 -0.0305783 -0.00583634 0.0611001 0.0387893 0.00284563 0 -0.0027566 -0.00341363 -0.0977253 -0.00278594 -0.100974 0 0 0 0.557056 -0.0136979 0.0562576 0.0230858 -0.0508537 0.149336 0.00106589 -0.00209881 0.00866491 -0.00900312 0 0 0 0 0 0 -0.0639443 0 -0.0720703 0 0 0 0 -0.297928 0.568672 0 0 0.395142 0 0.0384859 0 0.031873 0 0 0.749613 0 -0.12122 -0.0926826 0.22512 0.109705 0 0 0.226384 0 7.59519 0 0.00546115 0.0505119 0 -0.522402 -0.241755 0.0230414 0 -0.0576855 0 0 0.0711267 0 2.11808 1.19347 0 0 0.187166 0 0 0.142661 -0.623153 -0.0441404 0 -0.0535507 0 -0.399817 0.163171 -0.155933 -0.0462236 0.0567995 -0.200296 -0.274443 0.0660895 -0.469214 1.08889 -0.112999 0 0 0 -0.0210696 -0.0474051 0 0 0 0 -0.151761 -8.75256 -1.86432 1.24143 -0.641403 0.339821 -0.317684 -0.254349 0.224467 -0.228735 0.303784 0 0 0 0 0 0 +183 0 -0.493704 -0.0412582 -0.0081422 0.0152136 -0.241724 -0.0421268 -0.522597 0.617192 -0.0905936 -0.033977 -0.115002 -1.31141 0.000674187 -0.847521 -0.0164437 -1.19878 -6.56163 0.0290712 -0.0200922 -0.111207 0.00682727 -0.248722 -0.000850159 0.107263 -0.242099 0.0431725 0.0127759 -0.131584 -0.531991 -0.336765 -0.00896025 -0.227198 -0.255853 0.134998 -0.217715 -0.0144625 0.0634767 1.13715 -0.219544 -0.16216 0.00734446 0.488471 -0.0281901 -3.29655 0.0704351 -0.076135 -0.32268 -0.35269 0.0850429 -1.39522 0.118919 -0.981711 0.00955864 -0.0138581 -0.000938729 -1.57458 -0.449967 -0.118238 -0.17066 -0.0163759 1.48728 -0.0150601 0.693364 0.0526912 0.210693 0.927782 -0.0406246 0.0878662 0.0121349 0.167516 0.165638 -0.412072 -0.0387636 0.124798 0.651889 -0.451367 1.24685 0.622778 -3.19633 0.401504 -0.795926 0.995528 -0.28294 -0.139191 0.222434 0.66354 -0.00979969 0.0374965 -0.110401 0.291615 2.22674 0 0 0 0 0 -0.0081422 0.0152136 0.001721 0 0 0 0 0.000126593 0 -0.00420655 0 0 0.00101151 -0.000148939 -0.00396826 0 -0.000772239 0.0247809 -0.0253137 0 0 -0.0998861 -7.51816e-06 0 -0.0131964 0.518119 0 0 -0.00934811 0.14407 0 -0.0875527 0 -0.0056503 0 0 -0.000490861 0 0 -0.0719921 0.00252583 0.0183462 0 0.0344089 -0.0331009 0 0 0.0161111 0 0.00204122 0.079904 0.00890339 0 0 -0.00141218 -0.0031903 0 -0.00514778 -0.00917236 0.00481284 -0.367104 0.0203257 0.0101154 0 0.0056197 -0.030192 -0.145179 0.0129235 0.101354 0 0 0 -0.164857 -0.0884938 0.0945093 0.00788564 -0.00237671 -0.153217 -0.000810337 0.00138186 -0.0131587 -0.0102394 0 0 0 0 0 0 -0.241724 0 -0.0421268 0 0 0 0 0.501458 -0.585966 0 0 -0.448465 0 -0.0567948 0 -0.0297581 0 0 0.38692 0 -0.228246 0.174528 -0.127347 0.0658087 0 0 -0.356056 0 -6.73445 0 0.621102 -0.467952 0 1.42254 0.112587 -0.0158432 0 0.0670162 0 0 -0.0550095 0 -1.65359 0.320092 0 0 0.0740304 0 0 0.308238 1.58716 -0.358264 0 -0.739655 0 0.395472 -0.0515034 0.224637 0.216058 -0.163926 -0.289082 0.147394 0.139523 0.0895785 -1.97196 0.0578999 0 0 0 -0.173232 0.0151289 0 0 0 0 0.0969568 11.4075 4.45505 -6.17663 1.35129 -0.985086 -0.246774 0.21385 -0.165347 0.225984 -0.625261 0 0 0 0 0 0 +184 0 -0.7455 -0.620719 0.0256941 0.25539 -0.262152 -0.388591 1.08141 1.87757 0.103448 -0.299357 0.21736 -0.383595 -0.00143009 -0.86571 -0.000268421 -0.733941 -5.37429 -0.0504856 -0.0063256 -2.15795 -0.00803077 0.538898 0.00155183 -0.0817354 0.692582 -0.434414 -0.01924 0.461967 -0.975658 -0.267671 0.0140148 -0.135595 1.61066 -0.0871595 0.446381 0.0207538 -0.230815 5.99809 0.606831 -1.36965 -0.0164176 -0.894843 0.0529331 -2.70346 -0.182133 -1.09627 0.203417 -0.157887 -0.117999 -0.634943 -0.0565465 -0.83885 0.0267071 0.0314982 -0.18363 -1.23176 -0.452287 0.160694 0.05275 0.0337296 0.223686 1.3637 0.669563 0.268402 0.593226 0.388555 -0.391678 -0.70647 -0.0133485 0.19143 -0.545212 0.125125 0.156429 1.08921 0.0101844 -0.107658 -21.9205 -0.969485 -7.50982 -1.99038 0.87323 -5.28971 0.175948 -0.04986 -0.323749 0.00221179 0.0253403 -0.0996813 0.449046 -1.57784 4.08378 0 0 0 0 0 0.0256941 0.25539 -0.00237135 0 0 0 0 -0.000187616 0 0.0183016 0 0 0.0012772 0.00302258 0.0101143 0 0.00193821 -0.0317726 0.103521 0 0 -0.113443 0.000154245 0 0.0322084 -0.911638 0 0 -0.0134274 -0.138649 0 0.21419 0 -0.00675339 0 0 -0.00104309 0 0 0.934996 -0.00318602 0.0279783 0 -0.0342703 -0.0635669 0 0 0.387129 0 -0.0036401 0.382851 0.0104515 0 0 -0.00315191 0.00451483 0 0.0183973 -0.00993664 0.00186547 -0.447355 0.0205066 0.0175984 0 -0.00096572 -0.0184899 0.0569664 -0.0431384 0.0889073 0 0 0 -7.63573 -0.520524 -0.752339 -0.0235672 -0.0417105 -0.172214 -0.00099278 -0.00142379 -0.00877393 -0.0194259 0 0 0 0 0 0 -0.262152 0 -0.388591 0 0 0 0 0.224809 -0.97202 0 0 -0.731658 0 -0.0800919 0 -0.0477367 0 0 -0.161169 0 0.509691 0.119757 -0.259518 -0.0398155 0 0 -0.44676 0 -10.2389 0 1.20306 -0.834982 0 0.788958 0.557764 -0.0272451 0 0.0267361 0 0 -0.1245 0 -2.67408 -1.41402 0 0 -0.186289 0 0 -0.104705 -0.577666 -0.382233 0 -1.40682 0 0.526156 -0.496094 0.446054 0.312746 -0.0515927 -0.678365 -0.587093 -0.0829784 0.0383998 -7.75449 -0.0631529 0 0 0 -0.180708 0.0936165 0 0 0 0 0.223899 -2.30837 2.76123 -3.13838 0.401567 -0.330878 -0.34477 0.441509 -0.385973 0.484677 -0.508913 0 0 0 0 0 0 +185 0 -0.634329 -0.0543663 -0.033679 -0.214765 0.102203 -0.0582514 0.422066 -0.140483 -0.237302 0.826946 -0.164408 0.443724 0.00231684 0.984771 0.0338301 0.688673 2.84508 -0.0441448 0.056376 1.08494 -0.0444374 -0.000749639 -0.00297169 0.0838322 0.24512 0.171461 -0.0550293 0.51671 1.88277 -0.0389123 -0.0283392 0.296553 0.238265 -0.273488 0.187616 -0.0132685 -0.0663511 2.17008 -0.40002 -0.14957 0.0230083 -0.693633 -0.0399322 3.69002 0.211088 -0.370447 0.99532 0.494334 0.108719 -0.00287608 0.538731 -4.84538 -0.0960856 0.094735 -0.158687 -3.33378 -0.316384 -0.424073 -0.174132 -0.0482319 -1.43882 -1.0568 -0.249614 0.0311168 -0.245982 -1.45758 -0.50171 0.125443 0.0483001 0.0298883 0.0915233 0.0167331 0.0614324 -3.0409 -0.744036 -0.285774 -6.45206 -2.81635 1.6449 -1.91768 2.06653 -3.82692 -0.633522 0.866868 -1.50445 0.0875537 -0.0456907 0.0720358 -0.409152 0.645583 -3.66382 0 0 0 0 0 -0.033679 -0.214765 -0.000400227 0 0 0 0 -2.90243e-06 0 0.00716531 0 0 -7.2464e-05 -8.15611e-06 0.00408054 0 0.00109948 0.00199944 0.0279189 0 0 -0.0558732 -4.29611e-07 0 0.0372762 -0.251758 0 0 -0.00555171 -0.00793353 0 0.141672 0 -0.00748061 0 0 -0.000773543 0 0 0.300378 -3.9118e-05 -0.00140784 0 -0.00543129 -0.00345235 0 0 -0.0896464 0 -0.000821233 0.0177404 0.00121002 0 0 0.000138353 0.000694068 0 -0.00102279 -0.00184358 -0.000489644 -0.164297 0.00291107 -0.00572463 0 -8.71882e-05 -0.00040359 -0.060507 6.55787e-05 -0.0633223 0 0 0 -0.423371 0.00182821 0.0146979 0.00728316 -0.0128941 0.0257246 6.11018e-05 -8.30326e-05 0.00103491 0.000851172 0 0 0 0 0 0 0.102203 0 -0.0582514 0 0 0 0 -0.421245 -0.414421 0 0 0.665812 0 0.0704072 0 -0.00218622 0 0 0.670977 0 0.0195218 -0.120496 0.263751 0.0933552 0 0 -0.102583 0 2.32268 0 0.56155 -0.149169 0 -0.984635 0.0632425 0.0293029 0 -0.0488451 0 0 -0.0256449 0 0.753952 1.51292 0 0 0.182302 0 0 -0.111688 -0.0597157 -0.397701 0 -1.90427 0 -0.3192 0.163184 -0.0499205 -0.236596 0.10738 0.595699 -0.171955 0.119072 0.849588 2.37298 -0.0254349 0 0 0 -0.111908 -0.11421 0 0 0 0 0.0970344 -6.64182 -1.67336 1.35068 -0.488287 0.400519 -0.711515 -0.310372 0.279142 -0.393088 0.527162 0 0 0 0 0 0 +186 0 -0.71087 -0.337485 0.00596979 0.0379245 -0.198178 -0.247585 1.17216 3.23473 0.0483292 -0.468808 0.0763085 1.27938 -0.000414524 1.45127 -0.00124101 0.99433 2.73305 -0.123417 -0.00377683 2.80234 0.00883297 0.499489 0.000536386 0.00338863 1.06954 0.0343935 0.0366776 0.605793 0.856286 0.291705 0.00533575 -0.0107863 1.6501 -0.0559102 0.466491 0.00512561 0.20229 5.99801 0.146723 0.589648 -0.00413497 0.154237 0.0115369 3.98571 -0.0381738 -0.154665 0.757071 -0.0388511 -0.0274181 -1.86971 0.0510389 2.84094 -0.0033447 -0.0101741 -0.0204164 -0.0381471 0.520922 0.42572 0.0219094 0.00909997 -0.132659 -2.40423 0.162512 -1.39737 0.43012 -0.579619 0.837076 0.113102 -0.00991738 0.244105 0.0427883 0.150766 -0.210567 -2.14953 -0.856202 0.299777 -17.9496 0.59501 -11.3538 -0.988765 0.743084 -8.0554 0.144098 -0.3908 0.923414 -5.13576 0.00826284 -0.0210773 -0.0555304 -0.0261619 -1.66631 0 0 0 0 0 0.00596979 0.0379245 7.31827e-05 0 0 0 0 5.70788e-07 0 -6.15401e-07 0 0 1.52675e-05 -4.40068e-06 -0.000912159 0 -7.78904e-05 0.00959475 -0.0076617 0 0 -0.0750861 -2.57799e-07 0 0.0013071 0.111766 0 0 -0.00960037 0.0728322 0 0.0203793 0 -0.00530159 0 0 -0.000717796 0 0 0.0690789 1.24878e-05 0.000398669 0 0.00162438 0.000149776 0 0 -0.00552097 0 0.000135177 -0.0284499 0.00102442 0 0 -2.61772e-05 -0.000114245 0 -0.00101738 -0.0141517 0.00101777 -0.260174 0.000177549 0.00265849 0 -0.000204846 -0.00433649 -0.10312 0.00210555 0.0258295 0 0 0 0.00221603 0.0109309 0.02513 0.00167342 0.00273633 -0.0301127 -8.88689e-06 0.00023823 -0.00181822 -0.00470061 0 0 0 0 0 0 -0.198178 0 -0.247585 0 0 0 0 0.339051 -0.0688352 0 0 -0.530961 0 -0.0532508 0 0.00103422 0 0 0.061489 0 0.543378 0.171876 -0.202244 0.00784983 0 0 0.0284347 0 -2.6846 0 2.15806 -0.424742 0 1.27247 0.828342 -0.0168349 0 0.0582825 0 0 -0.0158859 0 -0.468874 -0.170034 0 0 -0.0373018 0 0 0.444945 0.3672 -0.094549 0 1.55291 0 0.188411 -0.17298 0.186144 0.0545368 -0.148535 -0.441979 0.162154 -0.0189774 0.114821 4.27874 0.0961478 0 0 0 0.0626945 0.0428158 0 0 0 0 -0.016454 -7.25653 2.02289 -5.68493 0.478663 -0.390077 -1.06944 0.295775 -0.275236 0.282037 -0.619566 0 0 0 0 0 0 +187 0 0.301414 0.316353 -0.0133859 -0.0237878 0.0709528 0.145084 -0.230794 -0.584562 -0.106509 0.545646 -0.115878 -0.102923 0.000963892 1.27166 0.0107586 0.818027 1.39629 0.124593 0.022789 2.40851 -0.00299576 -0.302465 -0.0012256 0.106513 -0.379735 0.581324 -0.0156145 -0.229663 0.215246 0.0889583 -0.012043 0.071204 -0.238626 0.0381415 -0.224292 -0.00810721 -0.100599 0.695541 -0.261032 1.24842 0.0103121 -0.571192 -0.0218857 2.39614 0.105802 0.501605 -0.121868 0.152702 0.0584096 -0.0126922 0.519285 1.22731 -0.0460501 0.0539015 -0.055919 1.03353 -0.183462 -0.0138666 -0.233588 -0.0238066 -0.693208 -0.977615 -0.427337 0.950544 0.0182734 0.143591 -0.73016 -0.0678739 0.0218283 0.0719283 -0.0603399 -0.107033 0.112494 -0.0150294 0.609237 -0.173426 -1.59302 -1.28609 1.47907 -0.974575 1.3889 -2.33833 -0.60333 0.698407 -1.06365 0.880591 -0.0229012 0.0426572 -0.126239 0.283289 -0.418862 0 0 0 0 0 -0.0133859 -0.0237878 -0.000590402 0 0 0 0 -4.57098e-06 0 0.00370196 0 0 0.000274185 3.60488e-05 0.000350322 0 0.000293153 0.00777093 0.0106763 0 0 0.0437729 1.83314e-06 0 0.0161947 0.107894 0 0 0.006897 0.0301303 0 0.0681574 0 0.00211326 0 0 0.000396063 0 0 0.235777 -6.95019e-05 0.00547406 0 -0.00883829 -0.0129665 0 0 0.035283 0 -0.00119219 0.0476413 0.00309344 0 0 -0.000520382 0.00100759 0 0.00216177 0.0117626 0.00138669 -0.394878 0.00122746 0.00383796 0 -0.000258955 -0.00425424 -0.0106834 -0.00527321 0.0296634 0 0 0 -1.2561 -0.0837374 -0.0971047 0.00127539 -0.012828 -0.0316552 -0.000214303 3.50695e-05 -0.00271706 -0.00781076 0 0 0 0 0 0 0.0709528 0 0.145084 0 0 0 0 0.0927619 -0.957733 0 0 0.123243 0 0.0221084 0 -0.0188918 0 0 0.983743 0 -0.494866 0.0295072 0.11541 0.126461 0 0 -0.290707 0 3.37376 0 -0.565044 0.210327 0 -0.110349 -0.252301 0.0140617 0 0.0279326 0 0 -0.0863926 0 1.14939 2.38905 0 0 0.301421 0 0 0.140071 -0.814639 0.01953 0 -1.79591 0 0.921973 -0.145461 0.0990506 0.041204 -0.0129281 -0.717282 -0.823619 0.173811 1.09062 -1.9152 -0.0863098 0 0 0 -0.0571917 -0.0773337 0 0 0 0 0.132081 6.59015 -0.187774 1.86805 -0.125397 -0.00953289 -0.00496191 -0.084658 0.0727592 -0.0653638 0.0862053 0 0 0 0 0 0 +188 0 0 0 0 0 -0.462225 -0.0651334 1.56511 4.32801 0 0 0.490494 0.0419025 0 0.236156 0.0391085 0 0 0 0.0735151 -5.01403 0 0 0 0 0.440519 0 0 -0.456062 -0.222717 0.415234 0 0.32037 0 0 0.0639319 0.0205557 0 0 1.70732 -0.729249 0 0 0.264805 -3.20651 0 0.359723 -0.301157 -0.0945996 -0.296569 1.68718 0.0515992 0 -0.129188 0.341543 0.294125 -2.05188 -0.493202 -0.139004 0 0 -0.365791 0.91916 0 2.67097 0.364837 0.7435 0 0 0 0 0.551658 0.95329 0 -0.579524 0.74449 0 0 0 -7.97851 0 -3.24968 0.766145 0 -0.557436 0.375387 -6.58391 0 -0.657717 0.749723 -3.08046 -0.08111 0 0 0 -0.226562 -0.046512 0 0 0 -0.101411 0.010694 0 -0.014431 0 -0.000258478 -0.0165984 0 0 0 0 0.0450109 0 0.00372035 0 -0.0795486 0 -0.681416 -0.372364 0 -0.00540457 0 0 -0.182036 -0.000110228 -0.0848268 0 0.00225361 0 0.000426351 -0.0535188 -0.0322772 -0.00195188 -0.0157689 0 -1.33858e-05 0 0 0 0.000112346 0 0 -0.000718488 -0.000698447 0.0698681 0.000986357 0 0 -0.00234151 0 -0.00172595 0 0 -0.0167035 -0.000103283 -0.100726 -0.00752715 0 0 0.0260529 0.0372092 0.00780877 -0.052289 -0.13967 0 0.0770378 0.00487312 0.109874 0 0 0 -0.0179591 0 -0.00489668 0.213838 0 -0.000610667 0.00286037 0.0392337 0 -7.08905e-05 0.000657769 -0.00346364 0.175735 0 -0.462225 -0.226562 -0.0651334 -0.046512 -0.0131619 -0.070281 -0.524248 0.0276916 -1.03161 0.0148108 0.0608225 -0.570455 0.00305353 -0.0430191 -0.065842 -0.0507768 0.00981626 0.0443301 -0.0542357 -0.840118 -0.587802 0.18176 -0.326703 -0.0345664 0.0645329 -0.0316739 -0.252259 -0.0264207 -1.71083 0.330376 -5.16456 0.453437 -0.0080929 0.756777 -1.95346 -0.0369937 0.0108469 0.0361664 0.0869771 -0.272233 -0.158235 0.00142382 0.433372 -1.49012 0.00525413 0.0432102 -0.210177 -0.16129 -0.0111531 0.605447 -3.93995 0.616959 -0.0543024 3.02454 0.17748 -0.313709 -0.208082 0.11046 -0.387726 -0.258835 -0.392995 -0.548349 0.111709 -1.09562 -0.895139 0.086094 0.204199 0.14895 0.163508 -0.170772 0.048592 0.0665729 0.00148262 -0.0190221 -0.105849 0.267788 27.5769 3.49852 -0.666148 0.674376 -1.65148 2.59825 0.0706045 -0.524125 0.716468 -0.773873 -0.0136088 -0.227073 0.135643 -0.133731 0.00788954 0 +189 0 0 0 0 0 0.00313921 0.308843 -1.04225 -2.0013 0 0 0.188014 1.77786 0 2.92417 0.124632 0 0 0 0.388558 2.18042 0 0 0 0 -0.351566 0 0 -0.853361 -7.99171 0.784377 0 0.613721 0 0 -0.274309 0.0392932 0 0 0.511517 0.968501 0 0 0.0696557 7.12718 0 0.885336 -2.37943 1.52328 -0.249411 2.34385 -0.708143 0 -0.450413 0.469536 -0.889956 -3.61516 -0.939354 0.510968 0 0 1.82118 -1.81003 0 -1.77928 -1.37163 -0.113575 0 0 0 0 0.750152 0.110301 0 -0.515795 1.47114 0 0 0 3.65162 0 -1.06925 13.0851 0 -0.453459 2.36804 5.73681 0 -0.331858 2.6026 -3.57725 21.5865 0 0 0 -0.0344196 -0.00651349 0 0 0 0.0110345 0.0088641 0 0.000922749 0 -0.000259126 0.0137466 0 0 0 0 0.0532262 0 0.00347724 0 0.162906 0 0.118067 -0.119431 0 0.000314059 0 0 -0.060814 -0.000292107 -0.0186164 0 0.00118099 0 0.000450598 -0.0329869 -0.00270035 -0.00313877 -0.00343631 0 -1.98926e-05 0 0 0 5.92939e-05 0 0 0.000968324 -0.000157474 0.013001 0.0122536 0 0 -0.00205714 0 -0.00144858 0 0 -0.00336866 -0.00331367 0.137335 -0.00241362 0 0 0.0827456 -0.0611221 -0.0123739 -0.0443409 0.17477 0 0.0490345 0.00296687 0.0352695 0 0 0 -0.0859958 0 0.0151342 0.316717 0 0.00212223 0.0201955 -0.0918733 0 0.000175474 0.00306352 -0.0151559 0.161073 0 0.00313921 -0.0344196 0.308843 -0.00651349 0.898425 0.101215 -0.0315484 0.195573 0.87067 0.00286528 0.0553632 0.483103 0.000377191 0.0512117 -0.00680009 0.0523447 0.0221713 0.0221111 -1.10433 -0.265292 0.323816 -0.00722781 0.286039 -0.19116 0.184039 -0.279866 0.679561 -0.049796 -1.07896 0.543423 2.99245 0.500979 -0.00102553 0.0606281 1.29719 0.0281106 0.0120005 0.0181361 0.0905673 -2.123 0.0609297 -0.0284562 0.292549 -0.898254 0.00513806 0.0721325 -0.25446 -0.190184 0.208903 1.40548 3.11384 0.667752 -0.0362607 1.44469 0.0109522 -0.891953 0.126387 -0.483271 0.383251 0.260211 1.24608 1.01244 -0.222788 -0.286381 -0.436895 0.390121 0.356886 0.0367664 0.673273 -0.185176 0.0144985 -0.0264413 0.000887273 -0.366046 -0.12759 0.148667 -15.9786 -2.43445 -4.85566 -0.518355 -2.06915 4.29225 -0.0826111 -0.403234 0.573707 0.553673 -0.00678785 -0.223064 0.542872 -0.575569 1.65616 0 +190 0 0 0 0 0 0.517993 0.14461 -0.0413824 -1.18247 0 0 0.297219 -0.329845 0 -0.945124 -0.149513 0 0 0 -0.572613 2.59907 0 0 0 0 -0.150985 0 0 -0.28974 -0.634334 -0.0523087 0 -0.508797 0 0 -0.0988683 0.0224108 0 0 0.639086 0.665709 0 0 0.276358 -2.61309 0 0.519826 -0.576013 -2.56933 -0.273084 -1.59781 -0.246532 0 0.370373 -0.497397 0.52355 0.192005 0.36492 -0.143998 0 0 -0.414762 -1.43588 0 -0.0419105 0.894569 0.575875 0 0 0 0 -0.338899 0.281009 0 -1.0365 0.408474 0 0 0 1.8212 0 -1.87284 3.59508 0 -0.0678561 -0.361374 1.65832 0 -0.431246 -0.196 -0.708454 0.418349 0 0 0 0.189112 -0.00799993 0 0 0 0.0073053 -0.070475 0 -0.00229747 0 -0.000744456 -0.041884 0 0 0 0 -0.13743 0 -0.0117423 0 -0.425474 0 0.239656 -0.226855 0 0.000136455 0 0 0.226907 -0.00130242 -0.0764773 0 -0.00929695 0 -0.0036329 -0.0621707 0.0168096 -0.0251183 -0.0160613 0 -4.08379e-05 0 0 0 -0.00046678 0 0 0.00302606 -0.00030065 -0.10302 0.0189514 0 0 0.0234722 0 0.0101254 0 0 -0.0506606 0.000301291 0.32289 0.00919932 0 0 -0.111542 0.120037 -0.0322209 0.152404 0.182387 0 0.0331517 -0.00470823 0.24441 0 0 0 1.00409 0 0.105968 -0.534001 0 0.00888397 -0.0275791 0.109603 0 0.000973697 -0.00374771 0.0172175 -0.273934 0 0.517993 0.189112 0.14461 -0.00799993 -0.347498 0.0295012 0.0729095 -0.198778 1.82425 0.0260667 -0.0198866 -0.117439 0.00459852 0.00639382 -0.015528 0.0781852 -0.00266205 0.111451 -0.943272 0.660491 -0.00671647 -0.127698 -0.103041 -0.138577 0.00633945 -0.0751948 0.931173 0.0258224 4.69041 0.112027 -0.289228 0.347929 -0.00420837 -0.869153 -0.168482 -0.0115487 0.00656566 -0.0354998 0.0343023 -0.522431 0.130416 -0.0113463 1.61717 -1.52846 -0.00372915 0.0237595 -0.217838 0.136472 -0.109957 -0.589124 1.05944 -0.126458 0.0734544 0.906324 -0.0240797 -1.31119 -0.18879 -0.220672 0.345099 -0.163602 -0.944609 0.205061 -0.110152 -1.91 -2.66847 0.0832139 0.100073 0.0307803 0.0822171 0.20662 -0.0170305 -0.00775153 -0.0688704 -0.0895211 0.0242283 -0.37371 1.54437 0.424175 2.0783 -0.253158 -1.2666 3.17393 -0.0246051 -0.343256 0.362575 0.940091 -0.034214 -0.0903145 0.112337 -0.0907077 0.582259 0 +191 0 -1.33222 -0.470107 -0.0362852 -0.250196 0.110661 -0.166675 -0.11444 -0.303708 -0.243709 0.593875 -0.0682754 -0.276942 0.00281029 -0.0599176 0.0385661 -1.84457 -10.4097 -0.0852984 0.0820088 -0.66315 -0.063414 0.0271 -0.00361767 0.0231036 0.197986 -0.367774 -0.0947494 0.309932 -0.262595 -0.176181 -0.0306905 0.32508 0.429683 -0.298892 0.0944386 -0.00560283 -0.288824 4.09548 -0.264465 -0.48783 0.0232894 -1.09508 -0.024767 -0.948965 0.172204 -0.370562 0.121964 0.660179 0.0790012 -0.908917 0.128883 3.86475 -0.13359 0.121399 -0.138648 0.0117965 -0.0735966 -0.0833046 0.079238 -0.0397688 2.44945 0.722085 4.50652 -0.132669 0.415816 0.0376388 1.48574 -0.102048 0.0457694 0.789259 0.495103 0.00751642 0.39212 0.633852 -0.169479 0.985769 -12.8514 -1.95922 -0.195173 -0.832874 1.32145 -3.61543 -0.0599967 0.0955525 -0.525994 -0.0644552 -0.0445966 0.0213769 -0.0603755 0.164566 0.287836 0 0 0 0 0 -0.0362852 -0.250196 0.000610303 0 0 0 0 2.41467e-05 0 -0.0129967 0 0 2.14263e-05 2.00722e-06 -0.00569919 0 -0.00155723 -0.0305985 -0.0560329 0 0 -0.228308 4.99902e-07 0 -0.00594835 -0.764917 0 0 -0.0300275 -0.152962 0 -0.0302709 0 -0.0260635 0 0 -0.00334229 0 0 -0.300906 0.000480744 0.000213057 0 0.0121369 0.0024708 0 0 0.0115121 0 8.38875e-05 0.0279584 7.55891e-05 0 0 -0.000178928 -0.00166709 0 0.000330313 0.0179621 -0.00137544 -0.278706 -0.000453642 0.0337028 0 0.00210042 0.0332437 -0.0364785 0.0100002 -0.00377035 0 0 0 0.477321 -0.00796486 0.0989478 -0.000557756 -0.000466337 0.132835 -3.00123e-05 -2.73433e-05 2.92469e-06 0.0222794 0 0 0 0 0 0 0.110661 0 -0.166675 0 0 0 0 0.301421 -0.560762 0 0 0.578501 0 0.0691441 0 -0.00491878 0 0 -0.0520228 0 0.471721 0.0686377 0.163473 0.00946582 0 0 -0.0877361 0 -8.66024 0 5.62116 -0.654899 0 0.575708 1.41081 0.0224019 0 0.0226591 0 0 -0.0540183 0 -2.38888 -0.265287 0 0 -0.00565272 0 0 0.109624 5.52493 -0.21303 0 -1.98572 0 0.509862 0.299564 -0.0426797 0.871621 0.143633 0.0131886 1.09369 0.092222 1.1145 -1.14114 0.0130408 0 0 0 -0.237919 0.018766 0 0 0 0 0.282346 -38.4671 -5.93999 -2.03407 -2.13538 1.07481 -2.15755 -0.239474 0.0911499 -0.199536 -0.221862 0 0 0 0 0 0 +192 0 0.296096 0.176919 -0.0122078 -0.0757353 0.274133 -0.106133 1.00763 -0.745752 -0.0738079 0.791354 0.0749249 -0.204693 0.000916796 0.183891 0.0151249 1.35063 7.88646 0.00860157 0.0337094 -0.403892 -0.00487473 0.131729 -0.00115843 0.120029 0.124254 0.163291 -0.00463117 0.592846 0.912972 -0.190742 -0.00965613 0.0870983 -0.0991592 -0.202712 0.39161 0.00431526 0.156184 -1.76717 0.173239 -0.499071 0.00792699 -0.012747 0.0128543 0.831207 0.0627498 -0.516648 0.738543 0.21575 -0.0157334 0.944043 -0.00631936 -2.46806 -0.0780754 0.0537429 -0.00803132 -0.325592 0.289655 0.149762 -0.166687 -0.0138721 -1.42944 -1.40527 -1.40613 0.128802 -0.000530199 -1.04884 0.0631834 0.190636 0.0129785 -0.770895 0.00794109 0.0782237 -0.100151 -1.70745 -0.455999 0.0939349 0.46524 -2.8409 2.13063 -0.885375 -0.146149 -0.0923987 -0.274996 0.262315 -1.15302 1.03439 -0.0162507 -0.0271214 -0.152609 -0.163168 -1.00073 0 0 0 0 0 -0.0122078 -0.0757353 0.000518319 0 0 0 0 2.07444e-05 0 0.00245318 0 0 -0.000128972 -2.41422e-05 0.00202565 0 8.50394e-05 -0.0153722 0.0246271 0 0 -0.0714465 -1.39883e-06 0 -0.00211767 -0.517122 0 0 -0.0013398 -0.100206 0 0.000101236 0 -0.00985884 0 0 -0.000583125 0 0 0.0682388 0.000414856 -0.00226037 0 0.0104405 0.00686479 0 0 0.0107464 0 -0.00013748 0.0847241 -0.000493689 0 0 0.000297435 -0.00158038 0 0.000524374 0.0193762 0.000375381 0.504365 -0.0010033 0.00574433 0 0.00246424 0.0142181 0.120586 -0.00181009 0.0138058 0 0 0 0.0286538 0.019974 -0.00996208 0.000845192 0.000836798 -0.0225933 0.000101894 8.93507e-05 0.00018815 -0.0118643 0 0 0 0 0 0 0.274133 0 -0.106133 0 0 0 0 -0.319091 -0.568122 0 0 0.252346 0 0.0478091 0 -0.00932868 0 0 0.378735 0 -0.243152 -0.161631 -0.0915192 0.041289 0 0 -0.183717 0 6.30884 0 -3.12526 -0.0101076 0 -1.29216 -1.27962 0.000251823 0 -0.0556246 0 0 -0.0394888 0 1.15715 1.40648 0 0 0.144596 0 0 -0.236731 -3.033 0.486886 0 -0.30058 0 0.219075 -0.0103079 -0.154954 -0.644498 0.180041 0.121375 -0.863048 -0.135503 1.41761 4.18356 -0.123986 0 0 0 0.256147 -0.0839755 0 0 0 0 -0.0364803 6.54373 -2.45405 7.57933 -0.543483 0.665145 0.938034 -0.198442 0.206604 -0.215764 0.569602 0 0 0 0 0 0 +193 0 0.35231 0.408142 -0.0173264 0.0302562 -0.0463109 0.190538 -0.887063 -2.07444 -0.182993 0.804115 -0.221243 0.166222 0.00197239 0.131593 0.022423 0.868712 -0.19244 0.131159 0.0679998 0.0797514 -0.00379677 -0.417754 -0.00258321 0.223816 -0.541294 0.554676 -0.041635 -0.374426 0.0848504 0.0817692 -0.0231489 0.173498 -0.687492 -0.00269798 -0.335703 -0.0127188 -0.334309 -3.16095 -0.366987 0.636303 0.0182752 -1.58079 -0.0249962 1.07721 0.148131 0.483754 -0.103506 0.579009 0.0317554 -0.255163 0.195822 -2.91571 -0.10985 0.155066 -0.0735341 -0.971472 0.284176 0.427624 -0.184652 -0.0482445 -0.509303 -2.39342 -1.81724 -0.766104 -0.159394 -0.594848 0.166637 -0.136436 0.0495777 -0.388139 0.33595 0.0864001 0.126261 -0.853948 -0.236065 0.369172 11.7511 -1.38802 8.16524 -0.0930578 1.04805 1.21355 -0.696031 0.555227 -0.958237 1.8671 -0.0383624 0.0364512 -0.0921722 0.194791 -0.0930066 0 0 0 0 0 -0.0173264 0.0302562 -0.00192527 0 0 0 0 -7.41643e-05 0 0.00542093 0 0 -0.000436633 -0.000130848 0.00290146 0 -5.34023e-06 -0.0152307 0.0541455 0 0 0.214004 -8.17647e-06 0 -0.0131961 0.101673 0 0 0.0281384 -0.0420161 0 -0.0950682 0 0.00523646 0 0 0.00108264 0 0 -0.432801 -0.00147788 -0.00763485 0 -0.0382661 -0.00624022 0 0 -0.0800134 0 -0.000480918 -0.174986 -0.00147092 0 0 0.000742482 0.00512684 0 0.000482041 0.0640196 0.00652766 0.326895 0.0038801 0.0333168 0 -0.013397 0.0205934 0.224715 -0.0356444 0.111491 0 0 0 1.37799 0.062889 -0.0293168 0.00357035 0.00294951 0.131262 0.000279303 0.000241661 0.000701178 -0.0165475 0 0 0 0 0 0 -0.0463109 0 0.190538 0 0 0 0 -0.220507 -1.21847 0 0 0.42966 0 0.0674472 0 -0.0411052 0 0 0.818298 0 -0.809133 -0.0694495 0.226663 0.113619 0 0 -0.503778 0 0.764267 0 -2.18088 0.110896 0 -0.510968 -1.0388 0.029449 0 -0.0174929 0 0 -0.108837 0 -0.0198401 2.15478 0 0 0.28475 0 0 -0.496051 -0.937639 0.0363598 0 -3.15037 0 0.0546943 0.115677 -0.104232 0.112968 0.236684 0.258031 -0.238245 -0.0936825 1.73619 -3.5256 -0.0894957 0 0 0 0.0551087 0.00694353 0 0 0 0 0.230185 2.13186 -4.97458 6.80689 -0.601342 0.268285 0.984369 -0.248827 0.0936238 -0.155815 0.280346 0 0 0 0 0 0 +194 0 -1.2055 -0.218478 -0.0303658 -0.154709 -0.0815827 -0.0883971 -0.566669 -0.755305 -0.380763 0.634626 -0.334354 0.0634369 0.00290291 0.578229 -0.0810428 0.915873 0.844922 0.168433 -0.117095 5.02211 0.0208938 0.0927427 -0.00513528 0.135796 -0.0333192 0.363939 0.0448503 0.316012 0.0494039 0.063848 -0.0431279 -0.684079 0.634787 0.109895 0.000271275 -0.0448606 0.131951 2.79274 -0.478855 1.98476 0.0149768 -0.407406 -0.0721481 0.862304 0.0140829 0.613715 0.326697 -0.956459 0.231641 -0.000491803 0.187972 -6.9331 0.294634 -0.183648 -0.129117 -1.60527 -0.0767435 0.178777 0.02217 -0.0179258 -0.0253282 -4.47252 0.784003 -1.74557 -0.747128 0.265404 0.389923 0.495954 0.117988 0.770641 -0.294048 -0.822292 0.308842 -1.75175 0.219631 0.0480387 -14.3375 -2.07502 -1.27683 -0.330235 0.730384 -2.32873 -0.292168 0.423028 -0.5242 1.0692 -0.00974452 0.171779 -0.0374125 0.712373 -0.14257 0 0 0 0 0 -0.0303658 -0.154709 -0.000487106 0 0 0 0 0.000304065 0 -0.0192214 0 0 1.86288e-05 -0.0001737 -0.00473811 0 -0.00142889 -0.0131399 -0.0561909 0 0 -0.260722 -4.14705e-06 0 0.00837048 -0.253859 0 0 -0.0274455 -0.0341628 0 0.0488129 0 -0.034408 0 0 -0.0030802 0 0 -0.158076 0.00638422 0.000772804 0 -0.000311617 -0.0304288 0 0 0.082496 0 -0.00417123 0.155411 0.00437874 0 0 -0.00134994 -0.000809425 0 0.0135214 0.074548 -0.00215657 -0.846721 -0.0129695 0.00193643 0 -0.0232458 0.0098877 -0.230901 0.0454647 -0.00217617 0 0 0 -1.1825 -0.128719 -0.00869447 0.00896943 -0.0205123 -0.00574319 -0.000190289 -8.26713e-05 -0.00363457 0.0373453 0 0 0 0 0 0 -0.0815827 0 -0.0883971 0 0 0 0 0.0809637 -0.214234 0 0 0.780067 0 0.0818658 0 0.0160797 0 0 -0.1239 0 0.512776 0.0775353 0.415264 0.0283106 0 0 0.0254096 0 -0.778635 0 6.58604 0.0849141 0 0.315864 2.09558 0.0409758 0 0.0302157 0 0 0.00265904 0 0.193989 -0.266073 0 0 0.0512535 0 0 -0.492195 3.46563 0.00992412 0 -1.81135 0 0.652051 0.381992 -0.0998859 0.770358 0.181895 0.0571619 0.838705 0.0687672 1.21141 2.55561 -0.0142302 0 0 0 0.137748 0.0719183 0 0 0 0 0.0422521 -45.3131 -8.11124 -1.14586 -2.54357 1.13007 -2.35518 -0.353329 0.109745 -0.236195 -0.142554 0 0 0 0 0 0 +195 0 0.220527 0.150908 -0.00611383 -0.0403884 0.448996 0.022816 -0.469766 -2.43553 -0.0390357 0.411374 -0.180283 -0.693541 0.0009526 -2.63022 -0.041916 0.475663 2.8988 0.124649 -0.0515567 -0.903655 -0.00350195 -0.192378 -0.00216759 -0.057317 -0.322293 0.127995 0.00689256 0.367129 2.06161 -0.493291 -0.012942 -0.330142 -0.422094 0.205807 -0.0103653 -0.0238974 -0.0229324 -1.26772 -0.131195 -0.372625 0.00494019 0.497984 -0.0218101 -3.25009 0.00282092 -0.232059 0.995403 -0.441803 0.09743 -1.25666 0.164022 1.78447 0.103779 -0.0607336 0.34671 3.00692 0.387312 0.0731396 0.00921149 -0.00212234 -0.599546 0.741839 -0.745164 1.22967 0.133196 0.354104 -0.21542 0.287277 0.0172864 -0.756833 -0.330461 0.0117114 0.0635267 2.08153 -0.408837 -0.0564468 1.62856 -2.57829 8.69591 -1.3278 2.03467 -2.4301 -0.0350041 0.548041 -1.92648 3.08766 -0.00195191 0.0466133 -0.717329 1.08369 -5.94941 0 0 0 0 0 -0.00611383 -0.0403884 0.00216367 0 0 0 0 0.000398717 0 -0.0141009 0 0 -0.000746316 -0.00151702 -0.00795085 0 -0.00109509 0.000575267 -0.107675 0 0 0.179026 -9.84644e-05 0 0.016766 -0.0215078 0 0 0.0256272 -0.0311265 0 0.103601 0 0.0090786 0 0 0.0017621 0 0 0.336155 0.00789228 -0.00883059 0 0.0416458 0.000360481 0 0 0.162916 0 -0.000897606 0.0668896 0.0035823 0 0 0.00196891 -0.00709336 0 0.00119043 0.0124573 0.0107156 0.306411 -0.015707 -0.0341896 0 0.00745072 -0.0329509 0.140494 -0.0358168 0.0571414 0 0 0 -0.159116 0.0787929 0.406568 -0.00096344 0.021525 -0.193025 0.000614055 0.00126331 -0.0112682 0.0857122 0 0 0 0 0 0 0.448996 0 0.022816 0 0 0 0 -0.469423 -0.749911 0 0 0.332313 0 0.039258 0 -0.0372405 0 0 0.975106 0 -0.329187 -0.107944 0.0640442 0.102623 0 0 -0.467631 0 3.57207 0 -0.76407 -0.243858 0 -1.42828 -0.480571 0.00458103 0 -0.0232297 0 0 -0.0507098 0 0.146676 2.37012 0 0 0.233149 0 0 -0.421198 -1.35261 0.228273 0 -1.81131 0 0.621594 0.0396365 -0.153494 -0.415875 0.193929 -0.141807 -0.501174 -0.192707 0.930346 -3.72678 -0.231464 0 0 0 0.185841 0.0177696 0 0 0 0 -0.0111686 -11.9935 -4.79986 8.21176 -1.28518 0.892347 0.0432341 -0.200842 0.142667 -0.183194 0.55058 0 0 0 0 0 0 +196 0 1.52511 -0.0786125 0.0666015 0.388583 -0.352006 -0.278916 0.851549 2.76284 0.342403 -1.54707 0.220189 0.212456 -0.0113356 0.112848 -0.00721736 -0.543839 1.84986 -0.151351 -0.0433198 -0.946821 0.0162884 0.456581 0.0110986 -0.219629 0.825458 -0.5344 -0.0358259 0.551708 0.139039 -0.0408751 0.0684705 -0.201546 0.268429 -0.131737 0.448133 0.0336081 -0.127653 -2.09724 0.667696 -1.20116 -0.0898748 0.00357085 0.092026 1.05105 -0.66902 -0.969275 0.484782 -0.367436 -0.229489 -0.0850896 -0.53593 -3.76888 0.0725171 0.105503 -0.0393857 -3.06793 0.0527401 0.218841 0.632601 0.242526 -0.488874 0.775564 1.91207 -2.66148 -0.598875 0.124778 2.07899 0.351654 -0.116136 1.66927 0.152255 -0.109289 -0.209332 -1.42859 -0.473227 -0.142682 8.12283 3.33981 -4.17334 2.96469 -2.85662 2.09194 1.35403 -1.34499 1.86432 -3.87143 0.462923 -0.521244 0.917226 -0.9031 -0.40124 0 0 0 0 0 0.0666015 0.388583 -0.00330488 0 0 0 0 -0.000813759 0 -0.0025053 0 0 -0.00270608 -0.00443291 0.00718071 0 0.000292807 0.0368387 0.0597709 0 0 0.127068 -0.000250153 0 -0.0256279 0.393113 0 0 0.01145 0.114295 0 -0.168022 0 0.0406842 0 0 0.00332669 0 0 -1.13354 -0.0160749 -0.0505443 0 -0.0596183 0.0185698 0 0 -0.16829 0 -0.00048074 0.205584 -0.00670286 0 0 0.00426208 0.00926516 0 0.00339922 0.117907 0.0184295 -0.142206 0.046076 0.00325576 0 -0.0432586 0.0215455 0.26978 -0.0957414 -0.0341109 0 0 0 6.48904 0.432589 0.0463717 0.0392872 -0.00269305 0.268697 0.00182999 0.000607301 0.013752 -0.050684 0 0 0 0 0 0 -0.352006 0 -0.278916 0 0 0 0 0.0916251 0.524925 0 0 -0.552469 0 -0.0643026 0 -0.0152782 0 0 -0.252653 0 0.629831 0.0266948 -0.104606 -0.0377508 0 0 -0.109857 0 -0.732802 0 -1.65569 -0.610442 0 0.448003 0.311659 -0.0147494 0 0.00740532 0 0 0.0326947 0 -1.47675 -0.485939 0 0 -0.0689207 0 0 0.430888 -3.00494 -0.0445727 0 0.5898 0 -0.303843 -0.0667995 0.0139367 0.066652 -0.0895887 -0.544099 -0.223444 0.0631512 -0.41774 -2.85397 0.0203292 0 0 0 -0.130123 0.0313378 0 0 0 0 -0.0813242 18.9888 3.00337 -0.603121 1.17727 -0.730199 0.980909 0.335076 -0.246595 0.27276 -0.204782 0 0 0 0 0 0 +197 0 0 0 0 0 0.198149 -0.196371 0.109115 0.314999 0 0 -0.106279 -0.432449 0 -0.223568 -0.00340693 0 0 0 0.022026 1.39 0 0 0 0 0.293101 0 0 0.537852 0.681699 -0.340191 0 -0.0492196 0 0 0.165137 -0.0105982 0 0 -0.394436 0.159502 0 0 -0.0245836 -0.019307 0 -0.295198 0.529836 0.106768 0.0235265 -0.433817 0.0839404 0 -0.0713185 -0.110561 0.354173 1.77163 0.188454 0.233592 0 0 -1.15525 -2.50785 0 -0.0249772 0.141253 -0.39901 0 0 0 0 0.0535082 -0.111293 0 0.234209 -0.231736 0 0 0 -2.08528 0 0.25204 -2.13342 0 -0.00584356 -0.763215 -0.322291 0 0.134268 -1.18874 3.01136 -6.20631 0 0 0 0.00502656 2.85033e-05 0 0 0 9.76286e-05 0.000850195 0 1.04059e-06 0 8.35376e-06 7.06485e-06 0 0 0 0 0.000259493 0 1.49226e-06 0 0.00134674 0 0.00192236 -0.00231377 0 -2.37233e-06 0 0 -0.0027762 0.000103035 -1.25142e-05 0 4.89978e-06 0 5.96555e-05 0.00136562 -0.000208094 0.00146843 7.56019e-06 0 5.86158e-07 0 0 0 3.43803e-07 0 0 -0.000271102 9.41781e-05 -0.00108306 0.000679245 0 0 0.000103703 0 -0.000102757 0 0 -0.000136189 0.000373733 -0.0010792 0.000580197 0 0 -0.00147314 -0.000702583 1.99834e-05 -0.000112888 -5.33681e-05 0 0.00113681 0.000163169 0.00725662 0 0 0 -0.00107713 0 -0.00117445 0.00222041 0 0.000145777 -0.000275606 0.000241687 0 -0.000130036 0.000245846 -0.00046279 0.000680622 0 0.198149 0.00502656 -0.196371 2.85033e-05 0.358014 0.0158745 4.37702e-05 0.566127 -0.00846677 -1.59209e-07 -0.0372613 -0.00743502 -7.15405e-10 -4.62505e-05 2.05537e-07 -2.35551e-05 -0.0260915 -3.39043e-05 1.09261 -0.131188 0.278101 0.0340758 -0.00198808 0.0975424 -0.145375 0.00436817 -0.00473787 0.0188844 4.05796 -0.241025 2.21615 -0.528698 9.23584e-10 0.400091 1.04672 -1.38918e-05 -0.00750133 0.103659 -0.066133 0.002214 -4.19181e-05 -0.00359125 0.626107 1.27479 -0.00584484 -0.0310636 0.0885851 0.0263662 -0.0475297 -0.0549317 -2.36187 -0.577957 0.0243634 -0.30542 -6.83328e-08 -1.04297 -1.70041e-05 0.260563 0.00140492 0.038416 -0.309858 -0.00240372 0.216482 0.000475318 -2.04817 -0.216651 0.228253 -0.139292 -0.0171849 0.165572 2.08956e-05 0.056491 6.26281e-08 -0.0280233 0.141911 1.43711e-05 -15.3463 0.017559 -3.29838 0.000102836 1.12819 -3.16062 1.74025e-07 0.3654 -0.786478 0.527412 4.45278e-10 0.194444 -0.368388 0.514634 -0.112465 0 +198 0 0 0 0 0 0.863646 0.214489 -0.317375 -2.92 0 0 0.0237704 -0.273535 0 -0.402519 -0.000745614 0 0 0 -0.00137105 3.54097 0 0 0 0 -0.441744 0 0 -0.110812 -4.17463 -0.197512 0 -0.0452195 0 0 -0.0500473 0.00511866 0 0 0.149885 -0.324937 0 0 0.0487898 0.507481 0 -0.44445 -0.604874 -0.19938 -0.0483775 1.0625 -0.0299765 0 0.0251385 0.0884341 -0.418036 -0.69198 -0.109591 0.0577045 0 0 0.784395 -1.3886 0 -1.17707 -0.550454 -0.699629 0 0 0 0 -0.132112 -0.0541334 0 -2.31373 0.571145 0 0 0 5.39625 0 -0.0201425 4.67321 0 -0.174614 0.534193 4.74523 0 -0.311817 0.933309 -1.49525 9.26336 0 0 0 0.0137308 7.78611e-05 0 0 0 0.000319357 0.00222469 0 3.22095e-06 0 2.26948e-05 1.70195e-05 0 0 0 0 0.000818624 0 4.48483e-06 0 0.00306634 0 0.00623001 -0.00556901 0 -6.92715e-06 0 0 -0.0074317 0.000279104 -3.13882e-05 0 1.30208e-05 0 0.000156099 0.00341103 -0.000628187 0.00397771 1.94634e-05 0 1.59243e-06 0 0 0 9.13626e-07 0 0 -0.000734367 0.000246434 -0.00309915 0.00184813 0 0 0.00020259 0 -0.000268881 0 0 -6.22996e-05 0.000918132 -0.00266063 0.00151795 0 0 -0.00398187 -0.00210267 -1.17303e-05 -0.000120269 -0.000176981 0 0.00325164 0.000507636 0.0170546 0 0 0 -0.00245246 0 -0.00318138 0.00594388 0 0.000394885 -0.000737778 0.000713027 0 -0.000352245 0.000658113 -0.0012446 0.00182198 0 0.863646 0.0137308 0.214489 7.78611e-05 0.780779 0.20458 0.000119565 -0.707899 -0.0170309 -4.34903e-07 0.00457654 -0.0246526 -1.95424e-09 -0.0001425 5.61457e-07 -5.10892e-05 -0.00133392 -9.26147e-05 0.552475 1.7117 -0.00811931 -0.349794 -0.00844826 0.100231 -0.0212153 -0.348445 -0.00938005 0.0222154 4.49758 0.100137 1.38023 0.487694 2.52291e-09 -2.04384 -0.0497065 -4.9176e-05 0.00249805 -0.0839906 0.0228475 -1.96512 -9.18166e-05 -0.0574448 1.79552 1.75427 0.000716761 0.0135046 0.234241 0.185028 -0.0605528 0.353655 1.96116 -0.06949 -0.021332 -0.347714 -1.86661e-07 -0.111487 -3.89405e-05 -0.208858 0.00998225 0.155511 -0.429936 -0.000814094 0.0867404 -0.00284402 -2.25303 -0.270664 0.378641 0.0367629 0.540667 -0.000210401 6.24275e-05 -0.0156478 1.71078e-07 0.0503042 -0.211947 3.29107e-05 -9.55776 0.0802594 5.4185 0.000311603 -0.31675 5.28424 5.03892e-07 -0.012446 0.0952319 2.51046 1.21635e-09 -0.109154 0.418388 -0.69973 2.93797 0 +199 0 0 0 0 0 0.00326268 -0.317154 0.938009 1.24101 0 0 -0.0381803 -1.63722 0 -2.30709 0.00381749 0 0 0 0.041726 -1.37531 0 0 0 0 0.244941 0 0 0.611515 -0.271868 -0.927275 0 0.101302 0 0 0.266365 -0.00997313 0 0 -0.36735 -1.56866 0 0 -0.133171 -3.6963 0 -1.22905 0.593381 0.555365 0.202835 -0.837405 0.0793742 0 -0.0651715 -0.0295648 0.0131923 2.5719 -0.0328153 -0.0325246 0 0 -2.28696 3.2767 0 0.853184 0.149267 -1.67641 0 0 0 0 0.0511664 -0.301704 0 3.12802 -0.815118 0 0 0 -2.82063 0 0.583752 -0.735062 0 0.6677 -0.709703 -2.3586 0 0.820424 -1.36775 2.4295 -4.64258 0 0 0 -0.0194044 -0.000110033 0 0 0 -0.000331452 -0.00359564 0 -3.69056e-06 0 -3.26488e-05 -2.22785e-05 0 0 0 0 -0.000988614 0 -5.71183e-06 0 -0.00385674 0 -0.00658175 0.00758173 0 1.00183e-05 0 0 0.0109481 -0.000405298 4.32847e-05 0 -2.00818e-05 0 -0.000252295 -0.00492773 0.000919332 -0.00577621 -2.79048e-05 0 -2.29086e-06 0 0 0 -1.40908e-06 0 0 0.00106641 -0.000398298 0.00448913 -0.00266933 0 0 -0.000262601 0 0.000434578 0 0 -0.000172226 -0.0012383 0.00355101 -0.00214926 0 0 0.00580606 0.0030787 1.26964e-05 0.000122594 0.000319395 0 -0.00467939 -0.000738734 -0.0234132 0 0 0 0.00308462 0 0.00461981 -0.00875628 0 -0.00057343 0.00108686 -0.00113136 0 0.000511511 -0.000969505 0.00182324 -0.00268407 0 0.00326268 -0.0194044 -0.317154 -0.000110033 0.367002 0.0530283 -0.00016897 0.151163 0.0296565 6.14605e-07 0.0240576 0.0349333 2.76173e-09 0.000201732 -7.93452e-07 8.13821e-05 0.0330182 0.000130883 -0.287836 0.0672214 -0.333648 0.0827217 0.0113149 -0.0898508 0.294541 -0.0596393 0.0157236 0.00418647 0.0031709 -0.125114 -0.522059 -1.24177 -3.56538e-09 0.880835 -0.761336 6.71728e-05 -0.00584282 0.0238701 -0.042652 -0.31833 0.000150551 -0.0116513 -1.27331 -0.0270394 0.00210703 -0.0212461 -0.118687 0.0117779 0.0235465 0.398819 -0.872434 -1.53372 -0.0357396 -2.26393 2.6379e-07 -2.17085 6.19128e-05 0.169888 -0.0134232 -0.280248 -0.516131 0.00640049 -0.0489828 0.0120473 -6.83003 -0.0160049 0.364645 0.00818787 -0.0978085 0.0363463 -8.83387e-05 0.0209083 -2.41768e-07 -0.050787 -0.0132787 -5.23259e-05 3.61512 -0.119024 -3.39425 -0.000449738 0.0765579 1.73282 -7.12721e-07 0.188115 -0.235146 0.31217 -1.71894e-09 0.179185 -0.23785 0.303197 0.360391 0 +200 0 -0.0825556 -0.232015 0.00051196 0.010388 0.185325 -0.00490765 -0.0327161 0.561817 0.00297759 -0.337823 0.0251537 -0.122713 -6.53467e-07 -0.540332 0.000928775 -0.30609 -0.582548 -0.0678349 0.00154984 -1.31282 -0.00715739 0.20538 9.07519e-07 -0.0216886 0.102111 -0.210554 0.000935705 -0.228322 -0.553384 -0.0238753 5.30654e-05 0.0490038 0.687925 0.0146274 0.0022399 0.000560675 0.0118658 2.57798 0.0505644 -0.582558 -3.4479e-05 0.17312 0.00118208 -1.29587 -0.00159017 -0.196358 -0.391681 0.0738196 -0.00189561 -1.54807 0.0506933 2.15521 -0.00174599 0.000927144 -0.0272579 0.525517 0.114232 -0.0493654 0.00689119 4.17376e-05 1.41285 2.31848 -0.239792 -0.896469 0.333275 0.9989 0.157658 -0.11393 -5.71642e-05 0.108944 -0.0495219 0.0711595 -0.0660512 1.2438 0.514622 0.399742 -13.2455 -0.331072 -4.50939 -0.226421 -0.345873 -1.79081 0.12173 -0.359317 0.769891 0.00604296 3.10367e-06 -0.000111645 0.00436278 -0.143237 2.66065 0 0 0 0 0 0.00051196 0.010388 0.00016874 0 0 0 0 1.94422e-06 0 -0.00114779 0 0 0.000452398 0.00014505 -0.000202882 0 -2.332e-05 0.000235826 -0.011501 0 0 -0.0178171 1.0548e-05 0 -3.13898e-05 -0.0119163 0 0 -0.00273782 0.00421421 0 -0.0103395 0 -0.000174037 0 0 -4.16758e-05 0 0 -0.00253854 3.06623e-05 0.00618512 0 0.00313552 0.00651876 0 0 -0.0107199 0 0.000325439 -0.0344018 -0.000109992 0 0 -0.00092732 -0.000275046 0 0.00153184 0.00137378 0.00243103 -0.101988 0.00720668 -0.00260021 0 0.00112008 0.00410524 -0.00037451 -0.00202319 -0.0128016 0 0 0 0.180162 0.00674827 0.0294694 -0.00281161 0.00450463 0.0350327 -0.000599892 0.00114163 -0.00234365 0.00667603 0 0 0 0 0 0 0.185325 0 -0.00490765 0 0 0 0 0.138178 -0.17789 0 0 -0.244052 0 -0.032166 0 -0.00940283 0 0 -0.824785 0 0.394806 0.0267479 -0.102023 -0.117606 0 0 -0.066039 0 -5.04158 0 1.03547 0.10474 0 0.216831 0.75228 -0.0115658 0 0.0114452 0 0 -0.0317341 0 -0.85008 -1.89424 0 0 -0.26999 0 0 0.323884 -0.787538 0.00656871 0 0.969263 0 0.246233 -0.170831 0.113053 0.151311 0.0499077 -0.123339 0.0599207 -0.026238 0.662148 4.47055 0.0598861 0 0 0 0.00235213 0.0406534 0 0 0 0 0.0362114 -4.91255 1.73372 -2.85123 0.409459 -0.464672 -0.0959866 0.147635 -0.151645 0.192433 -0.134743 0 0 0 0 0 0 +201 0 1.96749 0.674078 -0.000955242 -0.040232 0.39993 0.329443 -0.79411 -2.42144 -0.00428079 0.033338 -0.00870094 0.109545 1.12434e-06 0.0427305 -0.000513662 1.37348 4.08195 -0.0110545 -0.00131928 0.613105 -0.000690599 -0.310877 -1.44597e-06 0.00661085 -0.58768 0.735177 4.98521e-05 -0.495823 -1.27576 0.129687 -8.06429e-05 -0.0129592 -1.04128 -0.019991 -0.301144 -0.000391512 0.0289944 -5.08952 -0.0389447 0.999832 6.34742e-05 -0.117247 -0.0011836 0.66903 0.00337163 0.835197 -0.839999 -0.0469903 0.00208642 1.21467 0.0446719 -3.03794 0.0015078 -0.00135882 0.0455301 -1.31552 0.138995 0.0529366 -0.00917615 -7.45284e-05 -2.26421 -0.441787 -0.507302 2.26086 -0.114965 0.774635 -0.438545 0.0706773 7.82669e-05 0.0163759 -0.208408 0.0118872 -0.0207289 0.593573 1.09003 -0.139883 26.1479 1.32771 12.5265 0.83603 -0.430199 12.2172 -0.0296985 0.189363 -0.376488 7.78577 -6.5807e-06 0.0001701 -0.00686033 0.0436402 6.13383 0 0 0 0 0 -0.000955242 -0.040232 0.000107479 0 0 0 0 7.7797e-07 0 0.00132523 0 0 -0.000666166 -0.000221979 0.000248432 0 3.24616e-05 -0.000370818 0.0100234 0 0 0.00703216 -1.61147e-05 0 -0.000132391 0.0273718 0 0 0.0021883 -0.00791263 0 -0.00368013 0 0.000172981 0 0 5.35274e-05 0 0 -0.0706701 1.03111e-05 -0.00919207 0 0.00139498 -0.0124943 0 0 0.0256045 0 0.000222147 0.0296628 -0.00166091 0 0 0.00136342 -0.000187749 0 -0.00307277 0.00277712 -0.00409705 -0.0118218 -0.0123885 0.00587795 0 -0.00168407 0.00476674 0.00901106 -0.00719365 0.0194019 0 0 0 0.27371 0.00521055 0.00939827 0.00702214 -0.0133171 0.0249077 0.000876488 -0.00167217 0.0036507 -0.00429463 0 0 0 0 0 0 0.39993 0 0.329443 0 0 0 0 0.0259372 -0.0100612 0 0 0.0798451 0 0.00951435 0 0.00192736 0 0 0.16569 0 -0.92162 -0.133742 0.00133072 0.0147458 0 0 0.0114792 0 3.61313 0 -6.84124 0.137401 0 -0.983286 -1.96494 0.00109885 0 -0.00238711 0 0 0.000858544 0 0.30331 1.42947 0 0 0.165997 0 0 -0.0187832 -4.95608 -0.05208 0 -0.557228 0 -0.999299 0.0935134 -0.158579 0.0465983 0.131209 -0.993072 -0.718187 0.0130554 -0.195923 -1.92914 -0.201049 0 0 0 -0.0132725 -0.00927423 0 0 0 0 -0.0811877 45.6238 1.44796 7.04133 1.06267 -0.802234 3.19366 -0.078406 0.112038 -0.188638 0.733884 0 0 0 0 0 0 +202 0 0.154267 -0.0198765 -0.00170606 -0.0861703 0.30864 0.196888 -1.575 -2.80103 -0.00677003 -0.33502 -0.0431199 -0.323089 1.94288e-06 -1.12341 -0.00157297 -0.298116 -1.96064 -0.0945513 -0.00330145 -2.84517 -0.0112436 -0.0423609 -2.41267e-06 -0.0897113 -0.505797 0.112057 -0.00198201 -0.75837 -2.4519 0.0181422 -0.000131414 -0.0737784 -0.190701 -0.0203224 -0.345768 -0.00100733 0.0601356 -0.701768 -0.118898 -0.606505 0.000112775 0.261782 -0.00264235 -3.33006 0.00629953 0.118142 -1.45955 -0.164673 0.00433111 -1.12592 -0.163855 1.25891 0.00302514 -0.00386526 0.103983 1.3104 -0.00265112 0.0859681 0.110205 -0.000130809 1.56162 2.11272 0.455273 -1.10003 0.0363201 1.5374 0.167951 0.0919424 0.000120288 0.0546404 -0.00228488 -0.064503 -0.0747805 2.30726 1.13457 -0.205762 10.1818 2.13792 9.87895 1.50039 -0.669953 11.1342 0.52252 -0.433354 0.597481 11.184 -1.22953e-05 0.000362835 -0.0127512 0.189767 11.7887 0 0 0 0 0 -0.00170606 -0.0861703 -0.000198399 0 0 0 0 -5.4677e-06 0 0.00265566 0 0 -0.00134697 -0.000419811 0.000500729 0 6.41066e-05 -0.000555627 0.0194119 0 0 0.0066882 -3.04666e-05 0 -0.000170366 0.0566314 0 0 0.00381236 -0.012148 0 -0.0152883 0 0.000385615 0 0 0.000107081 0 0 -0.150345 -7.12946e-05 -0.0185983 0 -0.0018958 -0.0239115 0 0 0.0447334 0 -0.000426824 0.0271403 -0.00156489 0 0 0.00275649 0.000360732 0 -0.00593862 0.00858024 -0.00818407 -0.163071 -0.019575 0.0115377 0 -0.00420535 0.0123433 0.0150433 -0.0181661 0.0296071 0 0 0 0.791087 0.0332389 0.0315348 0.0111834 -0.022223 0.0948356 0.00177125 -0.0033798 0.00741042 -0.00510067 0 0 0 0 0 0 0.30864 0 0.196888 0 0 0 0 0.448281 0.553098 0 0 0.138092 0 0.0118245 0 0.00854431 0 0 -0.232214 0 0.189293 -0.0242727 -0.0680045 -0.0279455 0 0 0.0662421 0 -0.206652 0 3.56054 0.427309 0 -0.109329 1.29453 -0.00680449 0 0.0554586 0 0 0.0693556 0 -0.0989987 -0.454554 0 0 -0.0526631 0 0 0.0539675 0.457069 0.578526 0 1.06227 0 0.195199 0.17796 -0.211706 -0.255615 0.0358567 0.572773 0.396349 0.0109402 0.0548458 2.06494 0.0487921 0 0 0 0.0743921 -0.0314357 0 0 0 0 -0.105304 -27.7181 -0.602332 -3.76292 0.51283 -0.646152 -1.55363 0.0228885 -0.0112252 -0.111192 0.180558 0 0 0 0 0 0 +203 0 0.149304 -0.0521563 0.0003213 0.00886409 0.193579 0.132345 0.383092 0.589974 0.00161919 -0.573983 0.012865 0.217164 -2.01956e-07 0.210844 -7.02366e-05 -0.322549 -2.19598 -0.134497 -0.000346048 0.110452 -0.0172731 -0.0559542 2.89402e-07 -0.0703842 -0.0195311 0.0329531 -0.00717689 -0.447669 -0.197736 0.225716 2.21757e-05 -0.000272245 0.080533 -0.024682 -0.134939 0.000205829 -0.0256121 -0.240388 0.0111159 0.345825 -1.42965e-05 -0.0415282 0.000203036 0.0937766 -0.000875906 0.472724 -0.306943 -0.0183008 -0.000268368 -0.0499025 -0.142224 4.14223 0.000465918 -0.000264907 0.00488195 0.246809 0.0292106 -0.00358044 0.110497 1.45202e-05 0.398648 0.916437 0.617248 1.24459 0.558937 0.44876 0.0928038 -0.201967 -1.9654e-05 0.255653 -0.0821391 -0.00214642 0.00713456 -0.201996 0.0254977 0.10166 2.35304 0.562851 0.954547 0.132804 -0.455357 2.41463 0.321595 -0.636952 1.38112 -1.07876 6.70333e-07 -7.77254e-06 0.000344402 -0.00420491 0.121336 0 0 0 0 0 0.0003213 0.00886409 0.000304923 0 0 0 0 4.19547e-06 0 -0.00120604 0 0 0.000494184 0.000115854 -0.000119589 0 -1.98068e-05 0.000125776 -0.00916848 0 0 -0.00821485 8.03029e-06 0 -6.86073e-05 -0.0408478 0 0 -0.000733842 0.000998648 0 -0.0101255 0 4.46181e-05 0 0 5.1131e-06 0 0 -0.0185838 6.31975e-05 0.00730403 0 0.0049728 0.00117953 0 0 0.00051382 0 0.000605757 -0.00117488 -0.000549966 0 0 -0.00100065 -0.000511958 0 0.000780209 0.0131465 0.00167066 -0.0968679 0.00239043 -0.000406644 0 -0.000502557 0.00585306 -3.95377e-06 -0.00503819 0.00425751 0 0 0 0.206715 -0.000186999 0.0279718 -3.59982e-06 -0.00125809 0.0310504 -0.000603064 0.000727161 -0.00165846 0.00426365 0 0 0 0 0 0 0.193579 0 0.132345 0 0 0 0 -0.181716 -0.0675843 0 0 -0.202529 0 -0.0333577 0 -0.0148974 0 0 -0.596147 0 -0.487662 -0.0518754 -0.139969 -0.101112 0 0 -0.0959812 0 -5.29535 0 -2.65664 0.0454726 0 -0.310876 -1.31739 -0.0164543 0 -0.0266436 0 0 -0.0201814 0 -1.04952 -1.57137 0 0 -0.247998 0 0 0.630389 3.03354 0.106801 0 1.78999 0 1.1698 -0.191224 0.214903 0.421119 -0.0325777 -0.41119 -0.0190804 -0.013606 -0.0632334 2.14375 -0.00546212 0 0 0 -0.0521866 0.0536979 0 0 0 0 0.00961793 16.2326 1.44774 1.55215 0.438912 -0.438612 1.63212 0.206851 -0.201172 0.214209 0.121944 0 0 0 0 0 0 +204 0 1.28357 0.0539786 0.000535577 0.0282254 0.288698 -0.108477 -0.0202661 -0.790312 0.00204293 0.284131 0.00536271 0.248424 -2.9938e-07 0.0693618 -0.000259832 -0.232956 2.20605 0.0604042 -0.000721176 -2.36017 0.00775227 0.179012 3.871e-07 0.0718581 0.0625819 -0.413272 0.000946755 0.398232 0.8349 0.0288511 2.87622e-05 -0.0160275 -0.211571 -0.0087144 0.295528 0.000133742 -0.0123097 -2.43603 0.00519891 -1.51412 -2.24749e-05 -0.0753208 0.000126171 1.52867 -0.00157053 -0.833995 0.375161 -0.0463939 -0.000177611 0.467443 0.0838031 -1.68749 0.000603528 -0.000606119 0.00668764 -1.67911 0.02953 -0.011095 -0.0835115 2.17494e-05 -1.21178 3.43171 -0.776441 0.660846 -0.133975 0.0733144 -0.641461 0.116844 -2.27212e-05 -0.063994 -0.140065 0.000374176 0.0213414 0.597839 -0.179613 0.0462039 1.57826 -0.716779 0.341427 -0.199217 0.168249 -0.672116 -0.417204 0.45156 -0.613967 0.895239 1.20193e-06 -8.29913e-06 0.000162382 0.0017592 -0.512315 0 0 0 0 0 0.000535577 0.0282254 0.000209555 0 0 0 0 4.00806e-06 0 -0.00165123 0 0 0.000603075 0.000150319 -0.000137242 0 -2.83803e-05 0.00016964 -0.00828085 0 0 0.01097 1.05235e-05 0 5.91177e-05 -0.0254514 0 0 0.00124922 0.0037083 0 -0.000602922 0 0.000213889 0 0 2.31806e-05 0 0 0.000976224 5.82572e-05 0.00864916 0 0.00320354 0.00414709 0 0 -0.009623 0 0.000421657 0.00228079 -0.000106464 0 0 -0.00122776 -0.000356365 0 0.00134815 0.0103028 0.00203856 -0.0338851 0.00259438 -0.00213651 0 0.000108667 0.00139947 -0.00481264 -0.00231914 -0.00112795 0 0 0 0.0623007 -0.0037559 0.0121512 -0.000681556 0.000328523 0.0102622 -0.000756826 0.000877514 -0.00121895 0.00189005 0 0 0 0 0 0 0.288698 0 -0.108477 0 0 0 0 -0.408124 -0.193992 0 0 0.0405496 0 0.0109611 0 -0.00293813 0 0 -0.724514 0 0.36593 -0.148939 0.0201398 -0.114774 0 0 -0.0316196 0 -4.09097 0 -5.01769 -0.599899 0 -1.26912 -0.476937 0.00265449 0 -0.0528287 0 0 -0.0223322 0 -1.86086 -0.869575 0 0 -0.171602 0 0 0.422373 -1.19638 0.931234 0 1.73906 0 1.91751 0.00325962 -0.11887 0.12474 0.0869954 -0.813301 -0.731547 -0.0357386 0.603714 5.85974 -0.086284 0 0 0 -0.0276132 0.0213111 0 0 0 0 0.0605321 38.1002 1.20884 7.64489 0.822106 -1.01139 3.18199 -0.140136 0.120754 -0.090988 0.887003 0 0 0 0 0 0 +205 0 -0.277383 -0.127356 -0.00103065 -0.0730377 0.162087 0.120705 0.0836407 0.148594 -0.00301809 -0.351888 -0.0289721 1.10957 5.24249e-07 2.0719 0.000328714 -0.390393 -0.338909 -0.0583646 0.000978075 0.967444 -0.0120098 0.126801 -6.12263e-07 -0.104617 0.0430978 -0.173608 0.00178706 -0.109462 0.535985 0.725623 -4.39315e-05 0.0131639 0.290091 0.0767248 0.0369774 -0.000370153 0.0521831 1.4912 -0.040924 0.727983 4.13625e-05 0.570663 -0.000426454 3.18674 0.00317607 0.542379 0.0719654 0.0445587 0.000453942 1.12364 -0.14505 1.79513 -0.000664275 0.000843699 -0.00389613 -2.29545 -0.143002 1.48461e-05 0.101996 -3.84375e-05 1.04923 -0.573059 -1.07046 -1.23937 -0.00139912 0.308348 0.245505 -0.0358745 2.97485e-05 0.0578305 0.0307429 -0.00135875 -0.0576798 -2.32388 0.215636 -0.0715283 -6.7347 0.639205 -2.30029 0.633502 -0.824892 -1.28027 0.631892 -0.797396 1.12484 -0.791177 -2.43065e-06 2.84198e-05 -0.00117955 0.0147093 -0.328893 0 0 0 0 0 -0.00103065 -0.0730377 -0.000469477 0 0 0 0 -8.89966e-06 0 0.00263544 0 0 -0.00104442 -0.000258413 0.000215889 0 4.8075e-05 -0.000398703 0.00946447 0 0 -0.035553 -1.82595e-05 0 -0.000301575 8.15646e-05 0 0 -0.00349432 -0.0152529 0 -0.0194589 0 -0.000388447 0 0 -3.95063e-05 0 0 -0.051083 -0.000122425 -0.0145484 0 -0.00587803 -0.0118989 0 0 0.0368781 0 -0.000977192 -0.0169825 0.000212959 0 0 0.00213704 0.000825878 0 -0.00343492 -0.00866831 -0.00349076 -0.118708 -0.0034069 0.00666484 0 -0.00192854 0.00752765 0.0140041 -0.00517662 0.0112342 0 0 0 0.319337 0.0167612 0.0254881 0.00230932 -0.004351 0.0448915 0.00134469 -0.00150362 0.000800289 0.0035492 0 0 0 0 0 0 0.162087 0 0.120705 0 0 0 0 -0.313113 0.349556 0 0 -0.0612207 0 -0.0167589 0 0.000369607 0 0 -0.313889 0 0.190888 -0.0937285 -0.0858691 -0.0199314 0 0 0.000336967 0 -3.26729 0 0.867377 0.211871 0 -0.675192 0.0504422 -0.0118369 0 -0.0374 0 0 0.0448147 0 -0.699375 -0.90359 0 0 -0.0784267 0 0 0.027944 -1.093 0.542284 0 0.687189 0 -0.478665 0.0646497 -0.172189 -0.0238546 -0.195128 0.0952473 0.401849 -0.0125638 0.27782 -0.957463 0.108708 0 0 0 0.0398757 0.00923214 0 0 0 0 -0.0210379 -9.4967 0.0786471 0.812252 0.32796 -0.473302 -0.0248199 0.171339 -0.153955 0.0594392 0.427078 0 0 0 0 0 0 +206 0 0 0 0 0 -0.0341455 0.181505 -0.657881 -0.316647 0 0 -0.0741076 0.335491 0 1.04567 -0.0321324 0 0 0 -0.189145 2.4215 0 0 0 0 -0.13004 0 0 -0.340096 -2.00546 0.339162 0 -0.216865 0 0 -0.187733 -0.01668 0 0 -0.117392 0.48019 0 0 -0.0288265 1.79872 0 0.409702 -0.684332 -0.729611 -0.0114841 -0.661409 -0.12461 0 0.149059 -0.238716 0.135288 0.983225 0.362623 -0.00173258 0 0 -0.61498 -0.3106 0 -1.39723 0.137765 -0.593916 0 0 0 0 -0.083728 -0.160697 0 -0.627033 -0.491219 0 0 0 -0.585446 0 0.803237 -0.852655 0 0.0899283 0.244337 -1.59604 0 0.305194 0.302098 -0.457044 3.53938 0 0 0 -0.0422375 -0.00288129 0 0 0 0.012612 -0.00136925 0 0.000954282 0 -0.000579267 0.00371995 0 0 0 0 0.0203839 0 0.00101796 0 0.0723924 0 0.119877 -0.0149885 0 0.000412049 0 0 0.0367561 -0.000786762 -0.000404404 0 0.00020046 0 -0.000102442 -0.0144414 0.00524889 -0.0110921 -0.000811265 0 -4.08736e-05 0 0 0 1.39279e-05 0 0 0.00207309 -0.000163076 -0.0390679 -0.00521709 0 0 0.00421651 0 0.000177931 0 0 0.00486896 0.00704266 -0.0237898 0.0026292 0 0 -0.0016293 0.0133118 0.00213085 -0.0122176 0.00378678 0 -0.0113258 -0.0057926 0.0291631 0 0 0 -0.0840403 0 0.0131599 -0.0469275 0 -0.00134304 0.00463767 -0.0240417 0 0.00100697 -0.00335595 0.00718176 -0.0166748 0 -0.0341455 -0.0422375 0.181505 -0.00288129 0.441394 0.122743 -0.0151022 0.246777 0.118557 0.000986437 0.00537188 0.126266 5.6508e-05 0.00423177 -0.00101543 0.00738374 -0.00408234 0.0162407 -1.3843 -0.294844 0.439608 0.11776 0.0867352 -0.189405 -0.0490163 0.0169754 0.121066 -0.00826249 -4.36361 0.118655 4.01034 -0.307624 -6.43904e-05 0.787836 1.57186 0.00279696 0.00197912 0.0256805 0.0293774 0.0907331 0.00694905 0.00742469 -1.45425 -2.91531 0.00107761 0.012693 -0.385184 -0.0605905 -0.0774326 -1.54022 1.09475 0.400756 -0.0061981 -1.59236 0.00102066 -0.266744 0.016599 0.00481939 0.141354 0.0569596 0.175033 0.00740335 0.104459 -0.452621 1.85783 -0.0295492 -0.689235 0.0341353 -0.10501 -0.256835 -0.00404121 -0.0446617 -0.00166682 0.0688288 0.00472522 -0.02037 -20.6482 -0.554134 -4.61059 -0.182202 0.874847 -4.06393 -0.00534798 0.0179975 0.0457375 -1.44394 -0.00113709 -0.0968083 0.269504 -0.20909 -0.393109 0 +207 0 0 0 0 0 -0.273459 -0.37723 0.591816 2.02256 0 0 -0.011095 -1.42988 0 -2.45625 0.0161766 0 0 0 0.0773707 -4.37951 0 0 0 0 0.456671 0 0 1.07118 6.54028 -0.851769 0 0.11887 0 0 0.295026 0.0078722 0 0 -0.199147 -1.61907 0 0 -0.0553775 -4.73164 0 -0.993321 2.24394 0.536797 0.128265 -1.60508 0.454225 0 -0.122207 -0.0174421 0.497336 0.681191 -0.25899 0.624401 0 0 -0.639378 1.49836 0 0.523162 0.308058 -0.739777 0 0 0 0 0.310495 0.133786 0 3.38622 -3.27291 0 0 0 -4.46322 0 0.616628 -11.3519 0 0.278762 -1.57194 -8.31022 0 0.355714 -1.69077 2.56931 -24.8467 0 0 0 0.0285095 0.00621571 0 0 0 0.00491821 -0.0328007 0 0.000395801 0 2.35713e-05 -0.00251531 0 0 0 0 0.029722 0 -0.000606259 0 0.0473246 0 0.082539 -0.116744 0 4.54789e-05 0 0 0.0719443 -0.00115181 -0.00467822 0 -0.00215002 0 -0.00230839 0.00628975 0.00407309 -0.0157508 -0.000121188 0 2.58278e-07 0 0 0 -0.00015115 0 0 0.00304708 -0.0036457 -0.0555893 -0.011815 0 0 0.00408352 0 0.00397779 0 0 -0.0105271 0.0147678 0.00233024 -0.00386032 0 0 -0.0770276 -0.0277194 -0.0022276 -0.0371462 0.0261393 0 -0.0451678 0.0134363 0.00713106 0 0 0 -0.188775 0 0.0362227 -0.181714 0 -0.00289615 0.0141458 -0.0781492 0 0.00153095 -0.00708656 0.022503 -0.0719223 0 -0.273459 0.0285095 -0.37723 0.00621571 -0.665363 -0.129977 0.0660202 -0.229417 0.219202 -0.00281557 0.0382471 0.183047 -0.000172962 0.00629081 0.00416378 0.00326355 0.0331716 -0.0380382 1.15939 0.191065 0.00802367 0.368731 0.115277 0.26657 0.259454 0.35667 0.0804927 0.0245524 -1.1087 0.110694 -0.93355 -0.731811 0.000245243 0.563561 -0.199088 0.00576599 0.000858797 0.0636441 0.00563508 1.89615 0.0137423 0.0555679 -1.11838 2.32228 0.00429097 0.0111298 0.605341 0.11748 0.0900699 -0.176181 1.67499 0.610134 -0.023199 1.29546 -0.00820777 1.85691 0.00684443 -0.114463 -0.217032 -0.263995 0.726432 -0.363637 0.0214901 0.306986 11.1271 0.045349 -0.18943 0.000941061 -0.358689 0.393187 -0.00691539 -0.0556691 0.00629865 0.0950828 0.0387372 -0.0212497 4.8066 -0.417904 -2.76431 0.130606 -0.179486 -6.29697 -0.00423522 -0.000816479 -0.62976 -1.99476 0.00266325 -0.100293 -0.101155 0.198219 -3.16714 0 +208 0 0 0 0 0 0.555286 0.11616 -0.184861 -1.49216 0 0 0.0011525 0.972828 0 0.790083 0.00863106 0 0 0 0.00274403 1.71 0 0 0 0 0.0550816 0 0 0.0947096 1.34514 0.221433 0 -0.127728 0 0 0.0754964 0.0373973 0 0 0.170561 0.821871 0 0 0.140439 2.83305 0 0.255973 0.535181 -0.283287 -0.165786 -0.882866 -0.123147 0 0.138145 -0.073387 -0.0456464 0.692355 0.587723 0.219499 0 0 0.417161 -2.40468 0 0.151026 -0.0574885 0.605723 0 0 0 0 -0.26887 -0.200372 0 -2.78575 -0.878343 0 0 0 3.14071 0 -0.642626 -0.299836 0 -0.529634 1.44329 1.08395 0 -1.05353 2.16967 -0.828891 -3.5555 0 0 0 0.216519 0.0142201 0 0 0 0.00928052 -0.0120278 0 0.000522101 0 0.00228385 -0.0114932 0 0 0 0 -0.0911884 0 -0.00488011 0 -0.200481 0 0.128834 0.0465724 0 -0.000863525 0 0 -0.174908 0.00303958 -7.5618e-05 0 -0.00169885 0 -0.000822535 -0.0275501 -0.01298 0.0426755 -0.00143761 0 0.000161531 0 0 0 -0.000118676 0 0 -0.0080136 -0.00129399 0.0385149 0.0192204 0 0 -0.0103622 0 0.00141186 0 0 0.00744186 -0.0162992 0.000798486 -0.0019414 0 0 0.0161853 -0.0202492 -0.00569855 0.042451 0.00540472 0 0.0397661 0.0144162 -0.146534 0 0 0 0.278962 0 -0.0570213 0.253748 0 0.00552759 -0.0237856 0.102554 0 -0.00391102 0.0161451 -0.0354594 0.0926554 0 0.555286 0.216519 0.11616 0.0142201 -0.426509 -0.0878544 0.0702283 -0.400455 0.389787 -0.00477986 -0.0599747 -0.000188616 -0.000272311 0.00230492 0.00475741 0.00372554 -0.0329155 -0.0797665 0.0244786 -0.842378 0.223489 -0.318767 0.133091 -0.0492701 -0.172133 0.116776 0.113845 -0.00806897 5.91036 -0.0024618 1.22955 0.912166 0.000304095 -1.38163 0.746887 0.00894924 0.000673565 -0.0597612 -0.0140919 0.495195 0.0203262 0.0273878 2.76934 -1.15626 -0.00972497 0.0058113 -0.305937 -0.0829108 -0.0434373 0.146538 0.307614 -0.702011 0.106474 0.516889 -0.0042639 -0.144314 0.0356269 -7.11817e-05 0.0219496 0.867853 1.04742 -0.107928 -0.213296 0.68564 9.02226 0.063749 0.0437389 -0.0590742 -0.256902 0.260189 -0.012512 0.00526643 0.00787825 -0.128162 0.10783 0.00655191 -6.33065 -0.069749 3.14778 0.162304 0.0920005 -2.84936 0.00456302 -0.107139 0.211723 0.287506 0.00558487 -0.00470787 0.243127 -0.190304 -0.413905 0 +209 0 0.179351 0.292814 -0.000868534 -0.0140482 0.348679 0.186561 -0.0422905 -0.159193 -0.00239763 -0.176836 0.104025 -0.460943 1.00341e-05 -1.11358 0.0101814 0.742789 0.663419 -0.0109031 0.0162628 -2.8242 -0.0143235 -0.320816 -5.81783e-06 -0.0767728 -0.31355 0.484103 -0.0178327 -0.273314 1.16843 -0.261187 -0.00011925 0.221662 -0.0692588 -0.0371101 -0.216294 0.00502254 -0.138569 1.35094 0.125689 -0.809406 0.000195752 -0.354483 0.00630478 -1.48658 0.00363626 -0.0494971 -0.00740287 0.354728 -0.0129239 0.16346 -0.0880811 3.72452 0.004561 0.0199007 0.0651522 0.0200842 -0.113669 -0.0626333 0.0697692 -1.07499e-05 -0.0451091 1.661 0.871051 1.38422 0.443974 1.15584 0.444617 -0.341009 -0.000429045 -0.100917 -0.0392819 0.267145 0.0952228 0.659498 0.551899 0.42831 -3.45423 0.998444 -1.25164 -0.0454194 0.239455 -3.49079 0.347832 -0.121758 0.314435 -0.3889 -0.000308776 -0.00474601 -0.0542129 0.0306073 -2.95868 0 0 0 0 0 -0.000868534 -0.0140482 -0.000742559 0 0 0 0 -3.07812e-05 0 0.00261736 0 0 -0.00055337 -0.000382599 0.000350437 0 0.000111557 0.00223304 0.00570277 0 0 0.0433556 -2.73434e-05 0 0.00218514 0.0266876 0 0 0.00460406 0.0194275 0 0.0229294 0 0.00124266 0 0 0.000101063 0 0 0.098986 -0.000427239 -0.00776012 0 -0.0103435 0.00237728 0 0 0.00720718 0 -0.001518 -0.0454479 0.00181642 0 0 0.00113025 0.00128295 0 -0.00379802 0.014188 -0.0027792 0.00425206 0.0101882 0.00447414 0 -0.00190838 0.000205973 -0.015739 0.000519862 -0.0124472 0 0 0 -0.286695 0.0241461 -0.0346019 -0.00913551 0.0142589 -0.0261623 0.000713087 -0.00108281 0.00193335 -0.000839639 0 0 0 0 0 0 0.348679 0 0.186561 0 0 0 0 -0.292355 -0.095201 0 0 0.0378534 0 -0.00358148 0 -0.00314841 0 0 0.657066 0 -0.797633 -0.0723931 -0.0392369 0.102793 0 0 -0.00931835 0 0.80154 0 -2.25178 0.254804 0 -0.803002 -1.28296 -0.00662057 0 -0.0302611 0 0 -0.0199867 0 0.565072 1.35042 0 0 0.190764 0 0 0.211492 -0.221059 0.146742 0 -0.714569 0 0.492039 -0.0342857 0.0779875 0.0597777 -0.29795 -0.812748 0.230705 0.00883376 0.164009 -1.95705 0.0062818 0 0 0 0.0912535 0.000460979 0 0 0 0 0.025807 13.1558 0.906293 3.43398 0.140986 -0.134118 1.39777 -0.023901 0.0644652 0.119038 0.372799 0 0 0 0 0 0 +210 0 -0.471088 -0.11406 -0.0057705 -0.0330072 -0.115827 0.131115 0.122475 0.611127 -0.0545727 0.366787 0.0130633 0.23843 0.000206633 1.44658 -0.00832505 0.372419 -0.135832 0.033908 -0.0107521 1.92379 0.00414499 -0.00675219 -0.000280779 0.0723831 -0.0940191 0.252111 0.0288494 -0.614742 -1.98189 0.498613 -0.00409124 -0.125219 0.431399 0.0190109 -0.133377 -0.00235957 0.29148 3.9491 0.0186646 1.53139 0.00303747 0.524665 -0.00349651 0.438326 0.0372687 0.953864 -1.0198 -0.136666 0.0179482 -0.534696 0.231993 -0.0976833 0.0215229 -0.00831192 0.0147873 1.9992 0.493369 0.176054 -0.155202 -0.00663587 -0.319508 -1.95971 -1.898 -2.06277 -0.0995544 -0.686874 0.154063 0.35635 0.00759389 0.283441 0.0791389 -0.135376 -0.377369 -1.05329 0.228937 -0.305283 -23.8974 -3.35672 -6.85462 -3.1106 1.96549 -6.79756 -0.063571 -0.160388 0.0817808 -3.6197 -0.0031647 0.0052596 0.0369614 -0.34547 5.01851 0 0 0 0 0 -0.0057705 -0.0330072 -0.000510373 0 0 0 0 -4.34963e-05 0 0.00483857 0 0 -0.00101625 -0.00173313 0.00558976 0 0.000532792 0.00504864 0.0544231 0 0 -0.097084 -0.00012845 0 0.0155302 -0.312691 0 0 -0.0179633 0.0156752 0 0.0994874 0 -0.00754775 0 0 -0.00129765 0 0 0.328351 -0.00062011 -0.0133961 0 -0.00752866 0.00887829 0 0 -0.179787 0 -0.00103528 -0.242518 0.00316359 0 0 0.00209211 0.000874974 0 0.0130571 -0.0174471 -0.0061233 0.0947399 0.0326481 -0.0178864 0 0.000254308 -0.0112888 0.0457552 -0.011035 -0.10437 0 0 0 -1.78215 0.117414 -0.342493 -0.0326985 0.0743396 -0.177621 0.00140905 -0.00387993 0.0100919 -0.0296241 0 0 0 0 0 0 -0.115827 0 0.131115 0 0 0 0 0.541736 -0.0483978 0 0 0.0423547 0 0.0165556 0 0.00314822 0 0 -0.115609 0 0.138054 0.12324 -0.0816634 -0.0278074 0 0 -0.0250018 0 3.05083 0 2.48014 1.17195 0 1.13302 0.404502 -0.00300275 0 0.0715259 0 0 0.0117253 0 2.1936 -0.465878 0 0 -0.081014 0 0 -0.297443 -0.981625 -0.413721 0 0.0165564 0 -1.14482 0.058657 -0.0263126 -0.25597 0.0632632 0.422554 0.00313787 0.033789 0.366175 0.92394 0.04396 0 0 0 0.0388238 -0.0525269 0 0 0 0 -0.000286707 -22.8354 -1.63587 -5.42463 -0.410039 0.465523 -2.83278 -0.0935647 0.0500498 -0.0459367 -0.869074 0 0 0 0 0 0 +211 0 1.13967 0.0729891 0.0169317 0.243332 -0.404305 -0.15904 0.651575 1.43002 0.0662973 0.249533 0.103961 -0.0086329 -0.000266446 -0.421373 0.009042 0.419664 2.4968 0.0617003 0.0143984 -1.01335 0.0362342 0.27279 0.000235952 0.202148 0.482188 -0.0575479 0.00144822 0.210568 -0.435488 -0.15579 0.00399427 0.117288 0.169311 -0.0298676 0.232394 0.00664431 -0.0241074 -2.10237 0.246042 -0.752517 -0.00469512 -0.00475928 0.01494 -0.570927 -0.0775217 -0.46129 0.0608897 0.168877 -0.0101349 -0.229616 0.104254 -3.89282 -0.00230634 0.0409104 -0.165594 -3.3355 -0.121297 -0.0922389 -0.274513 0.00353174 0.695474 1.70633 0.675543 -0.257294 -0.219991 -0.533406 -0.610305 0.0451901 0.00307824 -0.41945 0.0838941 -0.00698708 0.173756 0.00841983 0.356961 0.851771 12.1353 0.998086 0.996311 1.63284 -1.44192 5.68685 -1.26457 0.412771 0.202351 -1.66761 0.00658281 -0.0230351 0.116639 -0.38223 1.10273 0 0 0 0 0 0.0169317 0.243332 0.00203802 0 0 0 0 0.000105702 0 -0.0151271 0 0 0.00487664 0.00452417 -0.00978162 0 -0.00105642 -0.00587002 -0.138314 0 0 0.00202269 0.000325272 0 -0.0208657 0.278273 0 0 -0.00104337 -0.0281059 0 -0.159475 0 0.00252232 0 0 0.000279009 0 0 -0.574942 0.00145239 0.068033 0 0.0281154 0.00339672 0 0 0.00564327 0 0.00417155 0.214371 -0.0137021 0 0 -0.00996724 -0.0035256 0 0.0167924 -0.0547557 0.0182435 -0.0603975 -0.0618076 -0.016348 0 0.0084149 0.0347892 0.0114792 -0.0138874 0.13914 0 0 0 1.93622 -0.192338 0.436526 0.0538428 -0.0916371 0.181577 -0.00632534 0.0103253 -0.0197454 0.0439948 0 0 0 0 0 0 -0.404305 0 -0.15904 0 0 0 0 0.349549 -0.147407 0 0 -0.386903 0 -0.0255533 0 -0.0160861 0 0 0.0304788 0 0.0706414 0.126733 -0.116111 0.00572621 0 0 -0.0662382 0 -0.275905 0 -3.35081 -0.364963 0 0.91023 -0.600062 -0.0047056 0 0.0420333 0 0 -0.036571 0 -0.424014 -0.272541 0 0 -0.0250604 0 0 -0.0300414 1.71836 -0.590593 0 -0.343188 0 -1.02467 -0.0747417 0.172873 -0.294221 -0.151179 0.914006 0.542433 -0.0586088 0.0971291 -7.18876 0.0665236 0 0 0 0.0168613 0.0319099 0 0 0 0 0.0499907 22.3818 2.41008 -1.0113 0.784492 -0.616647 2.87666 0.058395 -0.041205 0.251186 -0.560338 0 0 0 0 0 0 +212 0 -0.617945 -0.404923 -0.000309655 0.0109044 0.0448548 -0.257784 0.749949 1.1331 9.29931e-05 0.124377 0.045785 0.137932 1.21219e-06 0.918889 0.000217997 -1.5166 -5.69054 0.042848 -3.87267e-05 2.26667 0.0022795 0.359971 -3.42287e-07 -0.00687814 0.534867 -0.57162 0.000564597 0.5412 -0.00364565 0.137295 -1.25408e-05 0.0143458 0.83344 0.00936997 0.351342 0.000720882 -0.0171619 3.44188 0.0422063 0.501714 7.58666e-05 -0.118227 0.00058513 0.417442 0.00476872 -0.300349 0.344606 -0.00914424 -0.000185658 -0.128967 0.086763 -0.346417 -0.000516679 -0.000339337 -0.0273624 0.579982 -0.00412724 0.0195663 0.0150948 -8.2565e-05 0.498034 -0.221989 0.255702 -0.2442 0.149318 -0.117758 0.386759 -0.0157257 -2.25739e-05 0.164065 0.237947 0.0122015 0.0103625 0.20744 0.153554 -0.458475 -10.4426 -0.527643 -5.18222 -0.527696 0.642298 -4.8482 0.21079 -0.0209499 0.0397052 -2.21445 -8.90148e-06 -5.63991e-05 -0.00262289 -0.0232314 0.00401556 0 0 0 0 0 -0.000309655 0.0109044 0.00029079 0 0 0 0 7.38378e-06 0 0.00303031 0 0 -0.000574133 -0.000149615 0.000321515 0 4.14263e-05 -0.000306465 0.0202574 0 0 -0.0251645 -1.06753e-05 0 0.00149924 -0.126125 0 0 -0.00209608 -0.0186151 0 0.0449315 0 -0.000356706 0 0 -2.53343e-05 0 0 0.154243 0.000105193 -0.00802996 0 0.004152 0.00198949 0 0 -0.0241588 0 0.000592507 -0.0210038 0.000171875 0 0 0.00117307 -0.00050076 0 -0.00274259 0.00614974 -0.0018213 0.0494563 0.00724675 0.00577723 0 -8.12728e-05 -0.00422677 0.0072297 0.00166885 -0.0146647 0 0 0 -0.44638 0.0257372 -0.0571151 -0.00912765 0.014785 -0.0173016 0.000742324 -0.00117061 0.00216901 -0.00771453 0 0 0 0 0 0 0.0448548 0 -0.257784 0 0 0 0 0.456063 -0.336637 0 0 -0.0160539 0 0.00482045 0 -0.00269571 0 0 0.212242 0 0.791131 0.102866 -0.033228 0.0105045 0 0 -0.0783109 0 -4.45229 0 1.9719 -0.43469 0 0.608286 1.09043 9.17563e-05 0 0.0707097 0 0 -0.0215203 0 -0.657922 -0.65226 0 0 -0.111194 0 0 -0.502764 -2.31752 -0.483065 0 -2.05701 0 -0.75051 0.0314895 0.0686655 0.120552 -0.128104 -0.893622 0.190987 0.00297573 -0.158982 -10.2572 0.0456671 0 0 0 0.00695449 -0.0223191 0 0 0 0 -0.0194036 -14.3784 -0.215512 -3.68462 -0.411174 0.452126 -1.62997 -0.0591098 0.0662667 0.0459246 -0.466846 0 0 0 0 0 0 +213 0 -0.0717653 -0.0921198 -0.000104101 -0.0202483 -0.185724 0.0502073 0.0248355 0.894326 0.00199593 0.211627 -0.0349702 0.336238 -7.05939e-07 0.316169 0.000231752 -1.00761 -2.26102 0.0461848 0.000873894 -0.0462243 0.00642091 0.103248 1.08228e-06 0.0417886 0.137036 -0.422998 0.0114959 -0.35389 -0.773376 0.250142 5.14022e-05 -1.04816e-05 0.252789 0.123158 -0.0229104 -0.00065762 0.12235 1.53815 -0.0243739 0.25771 -2.72162e-05 0.709501 -0.000421266 0.0187947 -0.000627589 0.39337 -0.468184 0.0267818 0.000367223 -1.41499 0.139293 1.84084 -0.000886907 0.00145582 0.0281585 1.01934 0.332617 0.0332019 -0.107715 5.49496e-05 0.23814 -0.34611 -0.0352541 -0.888877 -0.0778772 -0.313012 0.255897 0.130925 -9.66758e-05 0.0409933 0.226339 -0.0113054 -0.164848 -0.145947 -0.154103 0.151235 -8.09958 -0.666837 -4.02199 -0.653555 0.417823 -2.45229 -0.0817701 -0.0425334 0.0489369 -2.351 1.17148e-06 2.49869e-05 0.00106744 0.0161817 0.851848 0 0 0 0 0 -0.000104101 -0.0202483 -0.000527002 0 0 0 0 -1.27364e-05 0 0.00256915 0 0 -0.000400839 -6.33668e-05 0.000335538 0 3.61885e-05 -0.000170326 0.0265934 0 0 -0.00816035 -4.84996e-06 0 -0.000298504 -0.170673 0 0 -0.00217054 -0.00385959 0 -0.0140364 0 0.000242238 0 0 8.99382e-06 0 0 -0.017293 -0.000182924 -0.00538503 0 -0.00761131 0.000918964 0 0 -0.042061 0 -0.00107214 -0.099959 0.00209393 0 0 0.000823245 0.000906126 0 0.0036512 -0.0139221 -0.00204071 -0.0909487 0.0118374 -0.00170912 0 0.00114748 -0.0064656 -0.0355922 -0.00170428 -0.0293611 0 0 0 -0.251554 0.0338745 -0.105434 -0.00842339 0.0196071 -0.0340413 0.000543997 -0.00130651 0.00320636 -0.0118171 0 0 0 0 0 0 -0.185724 0 0.0502073 0 0 0 0 0.153895 0.162016 0 0 0.220213 0 0.0258418 0 0.00275123 0 0 -0.646601 0 0.0699079 0.0311047 0.0385862 -0.101624 0 0 -0.0187511 0 -0.493436 0 1.27238 0.278678 0 0.583397 0.205169 0.00392584 0 0.00263275 0 0 0.0297062 0 -0.000965686 -1.28859 0 0 -0.192359 0 0 -0.18426 -3.10433 -0.398613 0 -0.425219 0 -1.01145 0.0901901 -0.0476822 -0.063385 -0.219343 -0.769572 -0.0442863 0.0553721 0.192642 -4.51821 0.0797538 0 0 0 -0.0358662 -0.0743546 0 0 0 0 -0.0342345 -12.3772 -0.689158 -3.86169 0.217616 0.0207229 -1.70952 -0.163166 0.0813404 -0.0650692 -0.530868 0 0 0 0 0 0 +214 0 0.710563 0.10575 0.00194307 0.0822414 -0.0749878 0.0456858 -0.266985 -0.778815 0.00530268 0.278623 -0.0348559 0.373415 -2.1622e-06 0.0937661 -0.000816467 0.220192 -1.51182 0.00288035 -0.00129532 1.90304 0.00746936 -0.0859641 1.66676e-06 0.129835 -0.176721 0.328092 -0.00724372 -0.125474 0.0840606 0.330046 9.75393e-05 -0.0631025 -0.26077 -0.135181 -0.111692 -0.000707293 -0.0292756 -2.27353 -0.035314 1.29563 -0.000126586 -0.45111 -0.00063034 -0.210892 -0.00735597 0.875668 -0.0872801 -0.100956 0.000931235 0.456552 -0.0810252 -0.0731882 -0.0015944 -0.000800974 0.0115521 -3.76387 -0.111207 0.0549771 -0.158037 0.000108091 0.306136 -1.32424 0.587674 1.11799 -0.0812511 0.448717 -0.299393 -0.0222153 1.03468e-05 -0.464514 -0.149398 -0.029931 0.120597 -1.50023 0.416842 0.674425 6.65248 -0.149665 2.84339 0.16517 -0.60692 4.24887 -0.692664 0.338489 -0.190739 1.17934 1.37309e-05 5.91936e-05 0.00397272 0.0191488 -0.09259 0 0 0 0 0 0.00194307 0.0822414 -0.00081733 0 0 0 0 -1.92593e-05 0 -0.00429596 0 0 0.00134505 0.00035535 -0.00084185 0 -7.02446e-05 -0.000314642 -0.0472936 0 0 0.0684316 2.53742e-05 0 -0.00217374 0.133927 0 0 0.00748494 0.000174529 0 -0.0603611 0 0.00130594 0 0 0.000138537 0 0 -0.227608 -0.000274043 0.0187956 0 -0.0116372 -0.00262144 0 0 0.0148227 0 -0.00166601 0.0536581 -0.00017408 0 0 -0.00274852 0.00140803 0 0.00536777 -0.0153013 0.00416034 -0.0240557 -0.0146842 -0.00583321 0 0.00068773 0.00705349 -0.0126288 -0.00379162 0.0371106 0 0 0 0.720482 -0.0579125 0.140885 0.0190119 -0.031556 0.0544311 -0.00174101 0.00277919 -0.00520855 0.0150834 0 0 0 0 0 0 -0.0749878 0 0.0456858 0 0 0 0 -0.0502508 -0.47187 0 0 0.0438437 0 0.0172173 0 -0.011185 0 0 -0.631455 0 -0.492096 -0.00866051 -0.024019 -0.0826587 0 0 -0.187552 0 -11.9193 0 -4.37272 -0.923267 0 -0.233027 -1.46065 0.00291467 0 -0.00191989 0 0 -0.0400733 0 -3.8133 -1.50055 0 0 -0.203554 0 0 0.01683 2.14665 -0.111808 0 -1.62788 0 0.549407 -0.0484133 0.0941125 -0.46505 -0.133006 1.39463 0.195682 -0.0963354 -0.28412 -10.815 0.0918782 0 0 0 -0.137652 -0.011341 0 0 0 0 0.127578 26.2808 0.684685 3.23282 0.450943 -0.512824 3.18544 -0.0741942 0.0852876 -0.0128003 0.163889 0 0 0 0 0 0 +215 0 0 0 0 0 -0.178297 0.0866722 -0.00824465 0.122011 0 0 -0.231293 0.331735 0 0.869898 -0.113092 0 0 0 -0.202892 -1.62179 0 0 0 0 -0.157199 0 0 0.3735 6.36121 0.0513144 0 -0.541937 0 0 -0.063005 -0.0151135 0 0 -0.656176 -0.108921 0 0 -0.0450916 3.12615 0 0.189874 1.67217 -0.727705 0.015349 5.56324 0.23008 0 0.27333 -0.240392 0.829921 6.75205 1.41716 1.25343 0 0 -0.368717 -2.04763 0 0.494709 -0.616498 0.306143 0 0 0 0 0.180434 0.795803 0 0.682167 -2.20997 0 0 0 -0.294089 0 0.37524 -5.0424 0 0.17756 -0.809266 -1.66604 0 -0.0658191 -2.49134 4.87975 -22.4195 0 0 0 0.115169 0.0163155 0 0 0 0.00985804 0.0155734 0 0.0010973 0 0.00419884 0.00812452 0 0 0 0 -0.0645661 0 -0.0157575 0 0.13882 0 0.0419529 0.228365 0 0.00131907 0 0 0.130067 0.00129695 0.0404812 0 0.00194882 0 0.000722223 0.0447 0.0129423 0.0270797 0.00811699 0 0.000197384 0 0 0 9.12065e-05 0 0 -0.00313595 0.0010375 -0.153695 0.0233923 0 0 -0.0156287 0 -0.00113201 0 0 0.00358364 0.00496445 -0.0218533 -0.0225992 0 0 0.0835973 -0.0284079 -0.00519928 0.448087 -0.1238 0 0.161609 0.0102835 -0.0397627 0 0 0 -0.784507 0 -0.106481 -0.449301 0 -0.0072246 -0.0278909 -0.248046 0 -0.000947015 -0.00376414 -0.0175188 -0.219945 0 -0.178297 0.115169 0.0866722 0.0163155 -0.33507 -0.15067 0.475955 -1.20605 0.761584 0.0178325 -0.0115609 0.45027 0.00289295 0.0400049 0.0639165 0.0317105 -0.0363695 0.126972 0.0194405 -0.365438 0.255629 -0.285008 0.26851 0.0446254 -0.171472 0.271469 0.273179 -0.0178278 4.69087 -0.52006 1.2093 0.381872 0.00828403 -1.75627 0.566164 0.0291797 -0.0135404 -0.18937 -0.095323 1.62679 0.0805409 0.0483548 1.17812 0.689014 -0.00394561 -0.0707956 0.172065 -0.0731202 -0.206509 0.31558 1.74208 0.107987 0.185362 1.35895 -0.26455 -1.34893 -0.070307 0.168535 0.123721 0.195146 0.296806 0.52422 -0.310501 1.35653 16.9497 0.0237429 0.541093 0.00187976 0.0933597 0.372553 0.0854689 0.0906592 -0.00853868 -0.178693 -0.0167975 -0.303014 -2.6658 -0.814726 2.791 -0.247451 0.940369 -3.04541 -0.0734612 0.206552 -0.643753 1.15541 -0.0225744 0.143565 -0.451024 0.838788 -1.96825 0 +216 0 0 0 0 0 0.105204 0.330848 -0.531671 -1.05558 0 0 0.260591 1.23622 0 2.42922 0.242495 0 0 0 0.299402 -6.24796 0 0 0 0 -0.277087 0 0 -0.953876 -1.44122 0.80592 0 1.27464 0 0 -0.235911 0.0909017 0 0 -0.0519082 -1.93299 0 0 0.0183937 4.14774 0 -0.0500307 -1.26752 2.21062 0.0534996 2.76914 -0.305839 0 -0.526507 0.136407 -0.611454 -6.44848 -2.03815 -0.0694023 0 0 -0.471359 3.45547 0 -1.1719 -0.710519 0.454873 0 0 0 0 -0.375803 0.624632 0 1.21416 1.06161 0 0 0 0.671377 0 0.399756 0.0390044 0 0.35198 -0.352896 2.00006 0 0.163915 0.454261 -1.78835 7.0708 0 0 0 0.0524037 0.0168496 0 0 0 0.0450569 -0.029709 0 0.00460744 0 0.00294367 0.00188325 0 0 0 0 -0.0371083 0 -0.00953362 0 -0.0554432 0 0.374501 0.0414446 0 0.00136285 0 0 -0.00390155 6.54982e-06 0.0225799 0 -0.00317113 0 -0.00136801 -0.0211791 0.00312184 0.000863148 0.00220141 0 0.000137387 0 0 0 -0.000148279 0 0 9.35795e-06 -0.00196081 -0.102195 0.00506478 0 0 -0.0142933 0 0.00213942 0 0 0.00927043 -0.0211726 -0.0802535 -0.009945 0 0 0.00823962 -0.031362 0.0369876 0.135355 0.512218 0 7.2962e-05 0.00121658 -0.183401 0 0 0 0.695537 0 0.00183077 0.114531 0 0.000960807 0.011377 0.207353 0 3.92011e-05 0.0013857 -0.00802078 0.0518343 0 0.105204 0.0524037 0.330848 0.0168496 -0.159 0.00447668 0.633358 -0.377632 1.3038 0.0192164 -0.0758062 0.256607 0.00389933 0.0374845 0.0791095 0.11607 -0.0635563 0.107511 -1.26974 0.563836 0.163748 -0.171707 0.131679 -0.239577 -0.431087 -0.0548718 0.993573 0.0154143 -0.83555 -0.31778 0.478676 0.844716 0.0096111 -1.13916 0.282413 0.021604 -0.00729102 -0.0705255 -0.0488302 -0.285979 0.14342 -0.0117959 0.592586 -1.50749 -0.0115059 -0.0442252 -0.342988 0.102953 -0.198093 -1.78287 -0.660425 -1.00107 0.281357 2.81474 -0.359241 0.840899 -0.251697 0.441905 -0.0498782 0.310022 -0.395531 -0.473551 -0.108983 -2.40457 -3.06296 -0.156542 -0.336864 -2.17425e-05 0.213244 1.23538 -0.0139838 0.0962919 -0.0197985 -0.217506 -0.00581622 -1.08901 -1.0552 -0.40888 1.56044 -0.161051 0.644428 -0.153263 -0.0511209 0.134115 0.0927963 0.303682 -0.0191144 0.123003 0.0322191 0.0269419 0.406793 0 +217 0 0 0 0 0 -0.293278 -0.168671 -0.260443 -0.100858 0 0 -0.125978 -0.903533 0 -1.83895 -0.0648663 0 0 0 0.0926396 6.4702 0 0 0 0 -0.111291 0 0 0.500883 -4.06121 -0.677884 0 -1.3403 0 0 -0.0260704 -0.00718487 0 0 1.0394 1.88171 0 0 0.389504 -1.57971 0 0.00722738 -0.339945 -1.65088 -0.553726 -0.919535 -0.334807 0 0.462581 0.209348 -0.488554 1.6417 1.39684 -0.408325 0 0 0.693237 -2.40582 0 -0.337084 -0.442985 0.231334 0 0 0 0 -0.0128543 -0.140163 0 -3.01304 2.17502 0 0 0 0.0431016 0 -1.50717 4.45321 0 -0.507502 0.796133 1.41888 0 -1.72944 3.10388 -4.10342 12.2962 0 0 0 -0.0444799 -0.0362201 0 0 0 -0.0156996 0.0222842 0 -0.00683071 0 0.00667669 -0.00305149 0 0 0 0 -0.0950646 0 -0.0227848 0 0.0329148 0 -0.0134777 0.0835044 0 0.000123022 0 0 -0.154608 0.00194887 -0.0485765 0 0.00284502 0 0.00103277 -0.000317756 -0.0108083 0.0408677 -0.0251512 0 0.000313683 0 0 0 0.000133163 0 0 -0.00470614 0.00148332 -0.155371 0.0107546 0 0 -0.0531557 0 -0.00161843 0 0 0.00679337 -0.0142187 0.0364081 -0.048657 0 0 0.0757657 -0.0254462 -0.0172162 0.256983 -0.030521 0 -0.220385 -0.00626367 -0.170615 0 0 0 -0.244803 0 -0.159429 0.952239 0 -0.0106141 0.0670224 0.100557 0 -0.00141236 0.00968722 -0.064439 0.659156 0 -0.293278 -0.0444799 -0.168671 -0.0362201 0.287174 0.14446 -0.55338 0.295754 -3.51723 0.0253125 0.0525459 0.0193191 0.00719625 0.019305 -0.103773 -0.253309 0.0702752 0.0658712 1.94603 0.00875935 0.0135833 0.0665975 -0.000222113 0.285455 0.459634 -0.267294 -1.79137 0.0266004 -6.69227 0.252225 -0.0266824 -1.77219 -0.0174824 0.124499 0.0023079 0.0143889 0.00571535 0.075796 0.0781072 -1.54121 -0.558123 -0.0462903 -3.73168 4.11461 0.00682645 0.00025009 0.692997 0.0760714 0.158544 0.56616 0.836799 0.161859 -0.27229 -6.77438 0.3091 -0.62256 -0.234982 0.165722 0.0799344 -0.252145 -0.162745 0.00964131 0.272797 7.50944 21.7296 0.0479503 -0.343774 -0.0141565 0.0532794 -1.51219 -0.0486812 0.0869439 -0.0630333 0.134664 -0.0300585 1.81159 0.0588192 -0.0142677 -0.44362 -0.070232 -0.444405 2.5899 -0.0190627 -0.051464 0.430642 -0.525331 -0.0117113 -0.0519011 0.309645 -0.666886 1.82643 0 +218 0 0.42245 0.252126 -0.00331518 0.0611976 -0.137951 0.0301629 0.436002 0.9689 0.391503 0.650872 0.0811735 0.318183 0.00830866 0.879455 0.128192 3.09539 12.0926 0.258013 0.0499026 1.23163 0.0910853 0.0734465 -0.00100026 0.268566 0.0102489 0.881246 0.123313 -0.196009 -0.0587091 0.323239 0.0413195 0.535042 0.259659 0.749407 0.0125506 0.022789 0.217255 0.87078 -0.236835 0.285625 0.0445106 1.55759 -0.0561728 1.40164 0.215558 0.19187 -0.280671 0.0847034 0.168339 -1.4077 0.990108 -2.73841 0.017115 0.123058 -0.3967 -0.404106 -0.228497 -0.967246 -0.312257 -0.0544829 1.38909 1.49457 1.06708 1.05 0.0861082 -0.388302 0.401005 0.0752232 -0.241279 0.0654742 0.405021 -0.422889 -0.7801 -0.39107 1.04007 -1.8065 1.91944 0.457147 -1.44891 -0.299968 0.75755 -2.07774 -0.812961 0.79664 -1.09776 -1.8198 -0.222752 0.360532 -0.482253 0.498316 0.279214 0 0 0 0 0 -0.00331518 0.0611976 8.54807e-06 0 0 0 0 -3.75821e-06 0 0.000293791 0 0 0.000495241 0.00076258 0.00280276 0 -0.000415608 0.0294343 0.0188338 0 0 0.099309 3.57602e-05 0 -0.0676667 0.869028 0 0 0.00525343 0.175754 0 -0.203959 0 0.0161387 0 0 0.000227966 0 0 -0.300363 -8.01433e-05 0.0105609 0 0.000182286 -0.0160101 0 0 0.200514 0 1.59076e-05 -0.0190458 0.0034783 0 0 -0.000921626 -1.34444e-05 0 0.000717438 -0.0190358 0.00515216 -0.443279 -0.0132663 0.014566 0 0.00101132 -0.0403443 -0.0389173 0.00779968 0.134578 0 0 0 0.266347 -0.0585269 -0.0904957 -0.00263566 0.00643134 -0.0709027 -0.000348263 0.000849806 -0.0115343 -0.0156585 0 0 0 0 0 0 -0.137951 0 0.0301629 0 0 0 0 0.467475 0.0347425 0 0 -0.286477 0 -0.0336206 0 0.00780247 0 0 0.519287 0 -0.478127 0.129341 -0.150607 0.0463146 0 0 0.00348603 0 5.9019 0 -1.80388 0.309723 0 1.00027 -1.0709 -0.019099 0 0.0690381 0 0 0.0154726 0 1.53385 1.12855 0 0 0.101138 0 0 0.858165 -0.471034 0.603779 0 1.21526 0 0.656844 0.103763 -0.258677 -0.181938 -0.0961447 -0.00875649 0.0302385 0.18891 -0.600915 2.86126 0.0448756 0 0 0 -0.386171 -0.027369 0 0 0 0 0.0676032 5.26985 0.666433 -1.82291 0.388677 -0.616883 1.23754 0.050174 -0.0869617 0.197515 -0.493371 0 0 0 0 0 0 +219 0 -0.121033 0.162239 -0.0395099 0.0172472 0.00296572 0.0518954 -0.524525 -1.12774 0.14426 0.888812 -0.276516 -2.21482 0.0283466 -3.45551 -0.251731 0.972797 2.1104 0.469183 -0.419813 2.1322 0.142344 0.0134088 -0.0285012 0.314452 -0.795252 0.433197 0.176783 0.114432 0.60905 -1.00494 -0.0499589 -1.04258 0.243818 0.896244 -0.379039 -0.0892604 0.150714 0.846075 -0.543704 0.690935 0.095194 1.19518 -0.17511 -6.38876 0.319539 0.085657 0.295309 -1.93586 0.36431 -2.15833 1.73322 1.62977 0.763046 -0.354301 0.54828 10.9095 2.8584 0.516851 -0.46582 -0.137226 -0.217198 -0.474919 -1.35435 3.94861 0.502664 -0.223237 -1.9605 -0.0397551 -0.0893351 -0.181767 -0.0155934 -0.82942 -0.538288 2.12665 -0.715093 -0.37667 -3.15999 -1.17744 0.722831 -1.67592 1.47904 -1.53458 -0.665063 1.31696 -2.59123 3.65172 -0.330203 0.633972 -1.07454 1.96582 -2.89658 0 0 0 0 0 -0.0395099 0.0172472 -0.000649353 0 0 0 0 -3.33816e-05 0 0.0137579 0 0 0.000247545 0.000584196 0.0149772 0 0.00390539 -0.092583 0.0306745 0 0 0.0614599 2.73951e-05 0 0.0963382 0.0250244 0 0 0.00353242 -0.150937 0 0.238951 0 -0.0142348 0 0 -0.00314471 0 0 0.567363 -0.000711857 0.00527887 0 -0.0138474 -0.0158915 0 0 -0.0123497 0 -0.00120842 0.148495 0.00353508 0 0 -0.000460673 0.0010213 0 -0.0012257 -0.0103298 0.00208752 1.07663 -0.0238054 0.00765453 0 0.00195906 -0.0488917 0.107358 0.0333199 -0.0185433 0 0 0 -0.55651 0.0127892 0.0245302 0.00464465 -0.0113335 0.123307 -0.000174079 0.000424774 -0.0057654 0.000340965 0 0 0 0 0 0 0.00296572 0 0.0518954 0 0 0 0 0.0304493 -1.69117 0 0 -0.365893 0 -0.0351034 0 -0.0935593 0 0 0.851565 0 -0.822831 -0.00748877 -0.129256 0.138174 0 0 -0.801843 0 -1.9627 0 -2.59868 -0.66403 0 0.104831 -1.40138 -0.0114964 0 -0.00714953 0 0 -0.195926 0 -1.13687 1.80255 0 0 0.288454 0 0 0.259137 -0.243666 0.238258 0 -2.98086 0 -0.261765 0.0528418 -0.126397 -0.648223 0.0543383 0.525961 0.032649 0.0140172 3.87501 10.4179 0.0285983 0 0 0 -0.396829 -0.00878887 0 0 0 0 0.657705 5.70558 1.59617 -1.78853 0.462003 -0.629127 1.32829 0.107354 -0.103283 0.156052 -0.00522473 0 0 0 0 0 0 +220 0 -0.294132 -0.137889 -0.157723 -0.110941 0.172035 0.43 -2.10209 -5.18987 -0.565742 3.44527 -0.0122754 0.12323 0.0953151 1.85832 -0.0166403 -0.667449 -4.52631 0.86011 -0.0600495 0.361715 0.306493 0.0051848 -0.117963 1.23523 -1.40707 0.0785214 -0.0670601 -0.699638 -0.940475 0.431785 -0.336381 0.390308 0.310718 0.0315057 -0.658609 -0.0668631 -0.759952 2.37462 -0.525416 0.530747 0.270114 -1.74853 -0.295508 2.35942 0.707652 0.809012 -0.939761 0.0163046 0.540126 0.95867 2.67118 7.75434 -0.0101524 -0.0840872 0.00120955 -0.290542 -0.241309 -0.0918794 -1.70812 -0.418512 -0.528953 -0.251978 -1.69452 3.9553 0.874357 0.857208 -2.74053 -1.2146 0.346838 -1.786 -0.354517 0.144901 0.739819 -0.725686 0.445877 1.95167 -8.67862 -6.79396 6.08916 -3.19433 2.3216 -1.78428 -3.3196 3.27619 -5.11584 9.24119 -0.731267 1.05333 -1.19683 0.210314 4.47281 0 0 0 0 0 -0.157723 -0.110941 -2.23431e-05 0 0 0 0 -9.22823e-06 0 0.00103419 0 0 0.00096803 0.00150272 0.0414246 0 0.00439778 -0.227565 0.0133545 0 0 0.0228091 7.04679e-05 0 -0.0785198 -0.534125 0 0 -0.00845552 -0.39975 0 -0.227816 0 -0.0576088 0 0 -0.012723 0 0 -0.313418 -0.000196791 0.0206431 0 -0.000476463 -0.040248 0 0 0.157856 0 -4.15797e-05 -0.255512 1.80626e-05 0 0 -0.00180147 3.51413e-05 0 0.000106941 -0.0814749 0.00550584 0.785663 -0.0453778 0.00400981 0 0.00348075 -0.063609 -0.066734 0.0143984 0.0944177 0 0 0 0.976019 -0.066682 0.147884 0.00161495 -0.00394067 0.0648827 -0.000680737 0.00166108 -0.0225457 0.0554176 0 0 0 0 0 0 0.172035 0 0.43 0 0 0 0 0.00998968 -0.321971 0 0 0.408264 0 0.0447135 0 0.0539447 0 0 -0.227958 0 -0.129782 -0.0951471 -0.0156809 -0.00139909 0 0 0.430505 0 -1.4574 0 1.13186 0.997197 0 -0.77945 0.296598 -0.0087207 0 0.0049985 0 0 -0.0216399 0 1.10424 0.588359 0 0 0.0854373 0 0 -0.375441 0.630315 -0.212983 0 -0.928243 0 -0.192273 -0.0826813 0.119796 -0.0827816 0.00313995 0.322455 0.0136273 0.0612497 -0.00225666 -1.99448 0.0127872 0 0 0 0.0937448 -0.0542764 0 0 0 0 -0.0450445 -3.61177 -1.57884 2.54977 -0.438633 0.535435 -0.749333 -0.111664 0.134682 -0.226965 0.443981 0 0 0 0 0 0 +221 0 -0.528872 -0.218296 0.0375067 0.0849779 -0.27285 -0.251508 0.149138 1.39557 0.531307 -0.583818 0.0784165 -0.611959 -0.0100109 -1.73947 0.0284045 -1.4219 -5.32569 -0.135634 -0.0180082 -3.09158 -0.0323394 0.000934555 0.0208371 -0.103255 0.292807 -0.373777 -0.0620932 0.0143887 -1.43497 -0.139929 0.114089 0.210711 0.0953352 -0.196922 0.144934 0.0262072 -0.081326 1.37887 0.0793955 -1.29107 -0.0321834 -0.019848 0.0560151 -5.19499 -0.0794006 -0.451462 -0.490793 0.0718704 -0.249688 -2.17138 -0.496813 2.98867 0.165818 0.00337657 -0.187279 -4.22696 -0.762602 -0.877378 0.18376 0.0931703 0.738531 3.08926 0.35794 -1.07901 0.294978 0.564373 0.847392 -0.0524947 -0.327795 0.0897885 -0.132103 0.000237932 0.0570731 0.134907 0.74483 0.374185 -9.36233 0.860069 -7.06141 -2.2035 0.446217 -1.06933 0.205889 -0.530166 1.15932 -1.62915 0.018622 -0.0371869 0.313017 -0.648531 5.23176 0 0 0 0 0 0.0375067 0.0849779 0.000573572 0 0 0 0 -3.48383e-05 0 0.0257374 0 0 0.000994658 0.00593186 0.0251858 0 0.00407423 -0.00120012 0.184083 0 0 -0.0815881 0.000278447 0 -0.0429966 -0.399853 0 0 -0.0116776 -0.0726189 0 -0.0222551 0 0.0143491 0 0 0.00106817 0 0 0.404636 -0.000749436 0.0207936 0 0.0117825 -0.00966147 0 0 0.215785 0 0.000463512 0.285859 0.0151568 0 0 -0.0018565 -0.00139453 0 0.00412032 -0.0270162 0.0166589 -0.000801125 0.00750347 0.0289118 0 0.000575322 -0.0904497 -0.137789 0.00630906 0.193397 0 0 0 -3.86471 -0.206344 -0.888604 -0.0182512 0.0448688 -0.599624 -0.00067153 0.00163236 -0.0222298 -0.180536 0 0 0 0 0 0 -0.27285 0 -0.251508 0 0 0 0 0.392018 0.361669 0 0 -0.364893 0 -0.0385538 0 0.016837 0 0 -0.978673 0 0.137949 0.185863 -0.0644 -0.0849188 0 0 0.143975 0 -7.4455 0 0.150864 -0.357823 0 1.41204 -0.0886059 -0.00790476 0 0.0611271 0 0 0.0409262 0 -2.21507 -2.47879 0 0 -0.253378 0 0 0.0136778 0.00562976 0.0532776 0 -1.67406 0 0.9843 0.0544077 -0.052563 0.168293 -0.0424711 -0.377824 -0.102262 0.134683 -1.33857 -18.5696 -0.0133678 0 0 0 -0.155798 0.0141225 0 0 0 0 -0.0486751 -3.42472 0.716854 -3.8245 0.0748525 -0.26851 -0.178414 0.116085 -0.165308 0.272998 -0.88166 0 0 0 0 0 0 +222 0 0.285111 -0.095318 0.0261123 0.0563966 -0.113337 -0.280664 0.690272 1.28124 0.090042 -0.716359 -0.110678 0.292703 -0.0124365 -0.324222 -0.0825072 -2.53985 -6.14767 -0.338078 -0.153485 1.20895 -0.097971 -0.0114095 0.0118457 -0.187987 0.701441 -0.945127 -0.268737 0.770917 1.14734 -0.356859 0.0490543 -0.462013 -0.156596 -1.14733 0.381494 -0.015024 -0.76911 -1.37608 0.0586268 -0.0612265 -0.0522776 -2.81763 0.0287732 1.59403 -0.21777 -0.594121 1.05125 -0.728562 -0.186762 -0.172713 -1.06852 8.63309 0.320069 -0.168427 0.369672 -0.178479 0.975257 0.139185 0.5345 0.107753 0.429253 -0.780279 -0.599002 -1.06811 0.495622 -0.248942 1.09252 -0.545999 -0.0555488 -0.496221 0.0101544 0.183392 1.59852 -0.874137 -1.0089 5.55727 1.38793 0.895302 -1.24285 0.844016 -1.48133 2.59641 0.677748 -0.960777 1.80936 -3.42007 0.0510743 -0.0833312 0.262441 0.295943 -4.18311 0 0 0 0 0 0.0261123 0.0563966 -0.00203713 0 0 0 0 -0.000585841 0 0.0229491 0 0 -0.00098322 -0.00160819 0.0157569 0 0.00297027 -0.0396472 0.139785 0 0 0.109733 -7.43078e-05 0 -0.0850337 -1.30642 0 0 0.00230437 -0.296123 0 -0.231321 0 0.0503055 0 0 0.00379325 0 0 -0.734226 -0.0125189 -0.0226161 0 -0.0452458 0.0281652 0 0 -0.0826513 0 -0.00600639 0.0751965 0.014574 0 0 0.00192029 0.00140329 0 -0.007749 -0.0779934 -0.0093041 3.32227 -0.0177635 0.0258884 0 0.0119863 -0.0720292 -0.0226756 0.145639 -0.110145 0 0 0 5.69408 0.270907 -0.0981528 0.0254818 -0.0610957 0.837193 0.000818052 -0.00202808 0.0271491 -0.0994427 0 0 0 0 0 0 -0.113337 0 -0.280664 0 0 0 0 -0.133912 -0.152096 0 0 -0.118201 0 -0.0163838 0 -0.0164819 0 0 0.582103 0 0.468358 -0.0254624 0.0565632 0.0856943 0 0 -0.166783 0 2.25837 0 -1.07328 -0.409015 0 -0.132199 0.182477 0.00323852 0 -0.0141128 0 0 -0.0172992 0 0.23553 0.775849 0 0 0.0876367 0 0 -0.0633049 -0.0835789 0.0104502 0 0.0144387 0 -0.482109 -0.0180345 0.047893 -0.0653006 0.0371875 0.0805897 0.171777 -0.245887 0.969654 7.50003 0.0290132 0 0 0 0.0193138 0.087127 0 0 0 0 0.0541804 4.31283 1.10863 -0.9329 0.531752 -0.588658 0.859996 0.106957 -0.107463 0.136289 0.00257819 0 0 0 0 0 0 +223 0 -0.190583 0.0775913 0.0528822 0.0358331 0.0194153 -0.0543225 0.20448 -0.717693 0.00810602 0.177034 0.476812 1.30122 -0.026261 1.8081 0.190841 1.04419 5.57683 0.00975924 0.289414 -5.4927 0.0394365 0.0801075 0.0239136 0.0760701 0.463038 0.0993119 0.193009 -0.0452237 -1.18042 0.503665 0.0879406 1.43568 -0.0566445 0.44176 0.378645 0.115202 0.643214 -0.937406 0.956247 -1.99049 -0.10555 1.73491 0.227337 3.82455 -0.426782 -0.575357 -0.28427 2.6736 -0.502076 1.99507 -0.477023 2.39624 -1.08304 -0.042601 0.00200064 0.147135 -1.38378 1.03391 0.023517 0.198292 -0.0317555 1.54895 0.705952 -1.87792 -0.991955 0.441015 0.915017 0.742273 -0.00490732 -0.239562 -0.487032 1.27153 -0.675465 3.78056 -0.789685 -0.954611 3.83687 -0.62252 3.71969 0.757292 -0.446156 0.849852 -0.885651 0.715231 -0.558683 1.93412 0.100094 -0.261973 0.916428 -2.15762 4.30369 0 0 0 0 0 0.0528822 0.0358331 0.00103414 0 0 0 0 -0.000101546 0 -0.0128909 0 0 0.0018694 0.0113188 -0.0271225 0 -0.00239442 0.0555922 -0.110728 0 0 0.131583 0.000531401 0 -0.132921 0.358218 0 0 0.00591703 0.12802 0 -0.272951 0 0.0722241 0 0 0.00589088 0 0 -0.407417 -0.00218071 0.0389279 0 0.0209542 -0.0682784 0 0 0.18811 0 0.000552465 -0.699797 -0.00617225 0 0 -0.00343876 -0.00273526 0 9.87556e-06 -0.104127 0.00331311 0.433063 -0.0929838 0.00917469 0 0.0116774 -0.0748694 -0.103203 0.0126001 0.171022 0 0 0 1.8488 -0.102214 0.649541 0.00594522 -0.0139006 0.20384 -0.0012443 0.00301885 -0.0411803 0.188707 0 0 0 0 0 0 0.0194153 0 -0.0543225 0 0 0 0 -0.413903 2.50551 0 0 0.418743 0 0.0534537 0 0.13019 0 0 -0.818805 0 0.638165 -0.153297 0.196842 -0.0985943 0 0 1.09577 0 7.39841 0 0.988447 1.10709 0 -1.15595 1.00809 0.0288863 0 -0.0586108 0 0 0.298045 0 2.79171 -1.75772 0 0 -0.225395 0 0 -0.511325 -1.94862 -0.172824 0 3.84516 0 1.2973 -0.0726819 0.15406 0.53266 0.0936983 -0.494423 -0.726382 0.169297 -5.21424 -15.6812 -0.0976349 0 0 0 0.665777 -0.0115102 0 0 0 0 -0.980792 -1.99501 -1.00027 2.71003 -0.0748671 0.263784 -0.67039 -0.0360139 0.0973795 -0.239202 0.593664 0 0 0 0 0 0 +224 0 0.341728 0.336282 0.0413582 0.127954 -0.150276 -0.107676 0.0247781 -0.283589 0.270933 -1.03304 -0.027499 -0.00864626 -0.0130759 -0.536555 -0.0301 1.06454 6.40653 -0.206674 -0.0910997 0.973636 -0.0604437 -0.119989 0.0179991 -0.306675 0.20971 0.188412 -0.020375 0.392919 0.567557 -0.201943 0.0729694 -0.237336 -0.960593 -0.117059 0.230155 -0.00298091 0.154998 -4.64668 -0.0262613 0.10275 -0.0432497 0.143624 0.0117813 0.00184121 -0.0994893 -0.244417 0.471039 -0.534941 0.0361468 -0.869788 -0.297462 0.935965 0.0986925 -0.0442525 0.140008 1.48384 0.167087 0.496583 0.312405 0.0594623 1.21199 -1.5717 0.337066 -0.155289 0.334814 -0.0393175 0.493067 0.205053 -0.115755 0.0392819 0.102093 -0.18518 -0.101432 0.97625 -0.386488 -0.307973 11.6135 4.41504 -0.971142 2.56316 -1.62484 3.15034 0.630945 -0.249753 0.309122 0.90524 0.0888781 -0.0435036 -0.178765 0.334823 -0.852811 0 0 0 0 0 0.0413582 0.127954 -0.000113323 0 0 0 0 -4.4008e-07 0 -0.0260213 0 0 -2.08147e-05 -2.81231e-06 -0.0434472 0 -0.00671631 -0.0258838 -0.180827 0 0 0.0673539 -1.20321e-07 0 0.0288307 -0.184126 0 0 0.0170537 -0.0882135 0 0.0541429 0 0.0268558 0 0 0.00599774 0 0 -0.0863913 -9.13166e-06 -0.0005236 0 -0.00233433 0.00186224 0 0 0.0968814 0 -0.000100906 0.132444 0.000697582 0 0 4.9188e-05 0.000248593 0 -9.71973e-05 0.128606 -0.00106331 1.45071 -0.00085422 -0.0249683 0 -0.00101487 0.0926051 0.488604 -0.000622448 0.038783 0 0 0 0.249773 0.00646009 0.215554 0.000572276 -0.00143769 0.0606844 2.164e-05 -5.4737e-05 0.000720075 0.0815301 0 0 0 0 0 0 -0.150276 0 -0.107676 0 0 0 0 0.171652 -0.642045 0 0 -0.49345 0 -0.0505822 0 -0.0428335 0 0 0.8833 0 -0.409274 0.0308381 -0.158998 0.107983 0 0 -0.475925 0 0.783174 0 -1.46888 -1.36538 0 0.25847 -0.592071 -0.0147465 0 0.0192997 0 0 -0.0576179 0 -1.48992 1.8302 0 0 0.2252 0 0 0.108175 1.48226 -0.0806089 0 0.205552 0 -0.406884 0.0222095 0.0253048 -0.412945 0.101908 1.47799 0.468638 -0.0886611 -0.125818 3.4407 0.0599976 0 0 0 -0.0463784 -0.0138049 0 0 0 0 0.0524168 13.1789 3.34883 -1.66223 0.53135 -0.400835 0.443676 0.0906431 -0.0932688 0.194971 -0.084409 0 0 0 0 0 0 +225 0 1.36682 0.232918 0.0894764 0.0734969 -0.0531474 -0.255288 0.239288 0.955119 0.497545 -2.09472 0.139774 -0.803391 -0.0352486 -0.760205 -0.00293773 -0.722535 0.640778 -0.511064 -0.0930431 -1.39609 -0.165256 -0.311013 0.0443124 -0.709944 0.489652 -0.310321 -0.018435 0.460257 -0.26077 -0.427576 0.168197 -0.0201605 -1.84714 0.12547 0.338814 0.0394105 0.336142 -7.8236 0.509064 -1.1734 -0.141117 1.91013 0.147011 -2.47313 -0.499437 -0.841466 0.249228 -0.239676 -0.336562 -0.1597 -1.14101 -1.63293 0.216095 -0.12493 0.277644 1.55538 0.361837 -0.546784 1.0561 0.264801 -0.543279 2.37219 2.50849 -2.08904 -0.143834 0.0634329 2.25335 0.334231 -0.240562 1.55958 0.0456824 0.324669 -0.550703 -0.505064 -0.73093 -1.69403 27.2562 8.84765 -3.23607 6.43294 -5.39534 8.42769 1.92701 -1.56966 1.99958 -1.21441 0.446169 -0.504659 0.491706 -0.527233 0.391833 0 0 0 0 0 0.0894764 0.0734969 -2.57035e-05 0 0 0 0 -2.29447e-08 0 -0.0265865 0 0 2.48294e-05 2.12057e-06 -0.0495513 0 -0.00946466 0.0393477 -0.118391 0 0 0.198235 1.09157e-07 0 -0.0133296 0.930814 0 0 0.0412302 0.222193 0 -0.22616 0 0.0666105 0 0 0.0133098 0 0 -0.758543 -2.62315e-07 0.000463443 0 -0.000472934 0.00102019 0 0 0.0852299 0 5.34639e-05 -0.0633204 -0.000398921 0 0 -3.5521e-05 0.000106237 0 6.95413e-05 -0.0133216 0.000121495 0.5533 0.000283313 0.0362656 0 -0.000297982 -0.00408791 0.0571084 -0.00161975 0.0440244 0 0 0 1.52555 -0.00376921 0.156692 -0.000342874 0.000795921 0.168131 -1.13662e-05 2.60044e-05 -0.000373427 0.0396129 0 0 0 0 0 0 -0.0531474 0 -0.255288 0 0 0 0 0.0608504 1.48092 0 0 -0.211394 0 -0.0436767 0 0.0527329 0 0 -0.773081 0 0.144759 -0.0184095 -0.0024875 -0.0948881 0 0 0.465453 0 1.56023 0 -2.19576 -1.16574 0 -0.0397836 -0.0588432 -0.00537232 0 0.00759634 0 0 0.173226 0 -0.973225 -1.74681 0 0 -0.199192 0 0 -0.229063 0.297314 -0.0932304 0 0.622617 0 -0.204063 -0.00546811 0.0364959 0.583424 -0.112016 -0.961174 0.253733 0.095096 -1.41548 -0.602276 -0.0592368 0 0 0 0.261175 0.047862 0 0 0 0 -0.398306 12.1838 0.997544 1.21671 0.361891 -0.361287 1.01235 0.0256452 0.00206268 0.0368534 0.0567514 0 0 0 0 0 0 +226 0 0.00630626 0.182189 0.0671491 0.187838 -0.187776 0.00571614 0.969376 2.52246 0.502764 -1.75294 0.558831 0.185017 -0.0199107 1.0353 0.204431 1.5308 4.77103 -0.252248 0.255491 -1.8817 -0.0461088 -0.101865 0.0282537 -0.462102 0.236911 0.469119 0.0500777 -0.461221 -1.5683 0.30506 0.120302 1.14209 -0.416405 0.488412 0.000236193 0.130474 0.385335 -2.46217 0.775415 -0.670582 -0.0645368 2.43955 0.19335 0.0251803 -0.149923 -0.0623097 -0.867325 1.48833 -0.367286 1.13234 -1.2538 -3.67649 -0.469884 0.294476 -0.169796 -0.0525969 -0.383434 -0.295447 0.533876 0.0800971 -1.00174 0.98311 2.09138 -2.06299 -0.683128 -0.18498 1.66496 0.288727 -0.204966 1.3645 0.383247 0.833904 -0.681986 -0.169819 0.0325574 -1.5976 9.3 4.74071 -4.97609 2.13346 -2.7967 5.22392 1.10523 -1.70188 3.00555 -4.64474 0.133933 -0.429589 0.813152 -1.45325 2.35653 0 0 0 0 0 0.0671491 0.187838 0.000222022 0 0 0 0 8.68476e-07 0 0.00284103 0 0 4.13119e-05 5.63e-06 -0.0191396 0 -0.00353072 0.0325058 0.0128795 0 0 -0.148184 2.41276e-07 0 -0.018573 -0.445791 0 0 -0.0254063 0.0150666 0 -0.0899066 0 -0.0109354 0 0 -0.000993136 0 0 -0.309879 1.80363e-05 0.00103872 0 0.00457857 -0.00359546 0 0 -0.0885137 0 0.000201707 0.20522 -0.00141908 0 0 -0.000100467 -0.000484655 0 0.000217781 0.0665882 0.00214228 1.20837 0.00173449 0.0380733 0 0.00207374 -0.0485069 0.295485 0.00131669 0.169393 0 0 0 0.284796 -0.0134749 0.0010133 -0.00122326 0.00306885 0.180186 -4.33281e-05 0.000109736 -0.001442 -0.0154235 0 0 0 0 0 0 -0.187776 0 0.00571614 0 0 0 0 0.291339 2.11796 0 0 -0.670801 0 -0.0839361 0 0.0962048 0 0 -0.563345 0 -0.643491 0.0739374 -0.3253 -0.059156 0 0 0.773202 0 -2.29485 0 -2.4067 -1.01912 0 0.582057 -1.30025 -0.0384499 0 0.0391653 0 0 0.257712 0 -1.69229 -1.82805 0 0 -0.207871 0 0 -0.30658 0.918147 -0.0510658 0 1.81067 0 -0.763835 0.168622 -0.0591345 0.691306 -0.0143827 -0.633617 0.794614 0.055027 -1.23064 9.24304 -0.0347165 0 0 0 0.442893 -0.000275416 0 0 0 0 -0.525289 15.6069 3.29207 -2.35411 0.251941 -0.257583 0.535557 0.0841649 -0.0765937 0.135788 -0.0994145 0 0 0 0 0 0 +227 0 0 0 0 0 0.232485 0.286394 -0.725371 -2.39397 0 0 -0.304515 1.34364 0 2.59718 -0.0609351 0 0 0 -0.0452085 1.11435 0 0 0 0 -0.444824 0 0 -0.127713 2.00797 0.732394 0 -0.113866 0 0 -0.199195 -0.0310999 0 0 -1.20123 0.962901 0 0 -0.252206 5.32005 0 0.644381 0.473232 -0.0591606 0.143683 0.667151 -0.260375 0 -0.0483813 -0.214156 0.525425 -0.0423319 -0.0979219 -0.0850263 0 0 -0.326377 -0.897017 0 0.00454568 -0.238528 1.25024 0 0 0 0 -0.314205 -0.474244 0 -1.97949 -1.2085 0 0 0 2.54912 0 1.61648 -2.49449 0 0.570634 -0.0641513 2.72965 0 0.580373 -0.00821687 2.00172 -5.54573 0 0 0 0.172584 0.0384259 0 0 0 0.0150808 0 0 0.00348625 0 0 -0.0166065 0 0 0 0 0.0707767 0 0.0108004 0 -0.0479278 0 0.0573945 -0.0792356 0 -0.00506874 0 0 -0.207095 0 -0.00664187 0 0 0 0 -0.024171 -0.0316838 0 -0.00308781 0 0 0 0 0 0 0 0 0 0 0.0450805 0 0 0 0 0 0 0 0 0 0 0.342113 0 0 0 0.0916219 0.0216073 0 -0.0127146 0.3755 0 0.0851616 0 0.265304 0 0 0 0.0314084 0 0 0.19177 0 0 0 0.0772181 0 0 0 0 0.184553 0 0.232485 0.172584 0.286394 0.0384259 -0.48172 -0.0627485 0.492563 -1.01467 1.46182 -0.00623004 0.0195301 0.384708 -0.00175124 0.00372432 0.0677804 0.075003 -0.0293479 0.0121001 -0.0710172 -0.353323 0.721494 -0.360997 0.316333 0.0721697 -0.0889603 -0.000894546 0.716444 -0.0145177 10.8465 -0.3854 0.930389 3.55208 0.00904721 -2.06768 0.879431 0.0178892 -0.00461889 -0.178281 -0.0413836 0.34912 0.162706 -0.00850969 6.22521 0.214721 2.66697e-06 -0.038743 0.200004 -0.0702184 -0.16711 -0.162714 0.55085 -0.082834 0.156411 -0.568896 -0.193672 2.05726 -0.202376 0.265135 0.779677 0.561397 -0.625695 -0.460011 0.0999307 -0.279586 -11.6287 -0.0652155 0.645617 -0.00205585 0.129044 0.472426 0.0526236 0.0578946 -0.0130491 -0.191266 0.0326526 -0.530193 -5.22382 -1.63964 7.09104 -0.223164 1.47674 -1.49445 -0.0855091 0.245416 -0.314448 0.526135 -0.00492115 0.0752573 -0.0730468 0.264873 -0.566857 0 +228 0 0 0 0 0 0.548625 0.231362 -0.549007 -3.47345 0 0 -0.0418479 0.138578 0 0.287647 0.02269 0 0 0 0.0134544 -3.59825 0 0 0 0 -0.694045 0 0 0.0396184 -0.43422 0.120922 0 0.612793 0 0 -0.149407 0.014009 0 0 -0.158275 -0.860236 0 0 -0.0143487 0.938217 0 0.0706341 0.247134 1.03387 -0.0121461 -0.425062 0.173498 0 -0.26716 -0.225626 0.512847 -1.66486 -0.673936 0.554393 0 0 1.46098 -1.36996 0 -0.116808 0.711078 -0.435756 0 0 0 0 0.0662386 0.829213 0 0.269333 -1.80698 0 0 0 5.12246 0 0.465673 1.45776 0 0.00743976 0.633271 4.98254 0 0.025618 0.815911 -0.255434 2.29758 0 0 0 0.0170849 0.0199463 0 0 0 -0.00412298 0 0 0.00266979 0 0 -0.121132 0 0 0 0 -0.210793 0 -0.0400236 0 -0.554009 0 -0.114706 0.165965 0 -0.0116067 0 0 -0.213372 0 0.0360839 0 0 0 0 0.160462 -0.0512703 0 0.0340579 0 0 0 0 0 0 0 0 0 0 -0.00202695 0 0 0 0 0 0 0 0 0 0 0.0653834 0 0 0 0.0500361 0.075464 0 0.142645 0.236689 0 -0.0917297 0 0.0369599 0 0 0 0.577615 0 0 0.212899 0 0 0 0.150756 0 0 0 0 0.133859 0 0.548625 0.0170849 0.231362 0.0199463 0.0932107 0.00860218 0.116667 -0.684046 0.26162 -0.0295868 0.0532414 -0.465323 -0.00620532 -0.138638 0.0358997 0.0153194 0.0266254 -0.120348 0.577659 -0.771934 0.205515 -0.248855 -0.00095072 0.147483 0.265331 -0.0400967 0.270977 -0.0121027 2.7587 -0.104521 -0.456083 1.52412 0.00748744 -1.64272 0.111754 -0.0246738 -0.00532813 -0.100324 -0.0259712 -0.388084 0.0298989 -0.00361786 2.24575 1.46667 0.00551996 -0.0262888 0.313394 -0.0960674 0.0367671 0.0808478 3.23481 -0.18322 -0.0811552 -1.06771 -0.056562 0.436875 -0.0772551 0.251335 0.70706 -0.100279 0.885211 0.345414 -0.0325413 -0.634594 -6.69998 -0.120916 -0.0344049 -0.0249571 -0.258941 -0.407022 0.359066 0.0461012 0.0629212 0.124402 -0.000234416 -0.112714 2.56075 1.58066 4.04487 0.430602 0.32146 0.970344 0.167014 -0.0258664 0.144092 0.605901 0.0489458 -0.00302025 0.0588613 -0.0635606 0.348483 0 +229 0 0 0 0 0 0.258887 0.177464 -0.989501 -1.79639 0 0 -0.435691 0.730535 0 0.61557 -0.0128036 0 0 0 0.293013 -0.212342 0 0 0 0 -0.36067 0 0 -0.170739 3.6278 0.327233 0 0.0139711 0 0 -0.206478 -0.0511469 0 0 -1.66184 1.24131 0 0 -0.337148 1.62457 0 1.02465 0.540466 1.26766 0.516879 -0.918289 1.06031 0 -0.306977 0.0903033 -0.445072 -1.05918 -0.0426451 1.23161 0 0 -0.853956 -4.66378 0 0.578779 0.549221 -0.165903 0 0 0 0 -0.502821 -0.807542 0 -0.202306 0.818088 0 0 0 2.41492 0 2.39829 -5.24658 0 1.01679 -1.97838 4.15817 0 0.904209 -1.96467 4.10625 -8.58032 0 0 0 0.184648 0.038594 0 0 0 -0.0303126 0 0 -0.00377874 0 0 -0.000289055 0 0 0 0 0.0638318 0 0.0113804 0 0.0389446 0 -0.21753 -0.362383 0 0.000671854 0 0 0.0318189 0 -0.0445056 0 0 0 0 -0.107488 0.0054392 0 -0.013065 0 0 0 0 0 0 0 0 0 0 0.208971 0 0 0 0 0 0 0 0 0 0 0.11773 0 0 0 -0.0700281 0.00921723 0 0.166703 0.150907 0 -0.0355992 0 0.0662203 0 0 0 -0.0724834 0 0 -0.0262775 0 0 0 0.0424885 0 0 0 0 -0.0400663 0 0.258887 0.184648 0.177464 0.038594 -0.297632 -0.125232 0.516401 0.0346445 0.643994 -0.0021468 -0.011124 0.251674 -0.000932796 0.0215468 0.0679652 0.0120948 -0.0190251 0.0319045 0.28738 -0.528844 0.694976 -0.00784661 0.154625 0.010198 -0.062095 0.133543 0.155123 -0.0220315 9.21194 -0.493457 3.63556 3.07674 0.00865142 -0.0753357 1.84807 0.0191099 -0.00882046 0.00995679 -0.0892674 0.830267 0.0727316 0.0213378 5.13162 0.477041 -0.0028636 -0.0487548 -0.0510584 -0.112985 0.0968087 0.501028 -2.7383 -0.339605 0.0856086 1.2517 -0.201377 -0.980463 -0.154466 0.0349093 -0.867278 -0.526646 0.572661 -0.563766 0.234266 -1.31404 -14.4514 0.245554 -0.0616332 0.0576518 0.163433 0.197327 -0.109781 0.0571774 -0.0239771 -0.0339968 -0.118011 -0.354039 -20.4124 -2.89335 1.73355 -0.82886 1.9647 -3.25838 -0.0703689 0.203702 -0.471618 0.224698 -0.0129756 0.0846011 -0.183537 0.276671 -0.353166 0 +230 0 0.522667 0.178085 0.042814 0.178627 -0.346386 -0.0893105 0.3116 0.530279 0.817923 -0.559068 0.221669 -1.03251 -0.00130798 -1.8956 0.047042 0.181911 1.96414 0.00753316 -0.00117662 -1.70142 0.00709154 -0.201273 0.0169452 -0.150952 -0.148517 -0.00480248 0.0374483 -0.0936026 -0.775181 -0.430468 0.119445 0.254729 -0.733954 0.33237 -0.0820921 0.0377099 0.205857 -3.97288 0.14664 -0.705577 0.00360785 1.61843 0.0423963 -4.57425 0.0949918 -0.155969 -0.444279 -0.0316633 0.031027 0.512832 0.295171 0.947547 0.435512 0.182604 -0.479118 1.45138 0.334239 -0.496469 0.0410606 -0.0011711 0.493475 0.960601 0.0300197 0.570439 -0.338026 -0.926786 -0.516001 0.11724 -0.422445 0.194365 0.212321 0.0717862 -0.432799 1.49736 0.900731 -0.674439 7.48267 2.39143 -1.38487 1.36482 -1.81054 5.32412 0.44986 -0.363504 0.534545 -0.625038 -0.0320519 0.0183019 -0.0109562 -0.570038 2.31327 0 0 0 0 0 0.042814 0.178627 0 0 0 0 0 0 0 -0.00764364 0 0 0 0 -0.00682904 0 -0.000342387 -0.0278941 -0.0657278 0 0 -0.041562 0 0 0.0437427 -0.325741 0 0 -0.00948515 -0.0620808 0 0.0868444 0 -0.00358551 0 0 -0.00125888 0 0 -0.0142315 0 0 0 0 0 0 0 0.0232495 0 0 0.174552 0 0 0 0 0 0 0 0.0567389 0 0.55024 0 0.00291042 0 0 0.00826048 0.187703 0 0.0793613 0 0 0 -0.0502495 0 0.0888511 0 0 0.0767219 0 0 0 0.0296141 0 0 0 0 0 0 -0.346386 0 -0.0893105 0 0 0 0 0.157397 0.334824 0 0 -0.56078 0 -0.0609833 0 0.00764593 0 0 -0.732115 0 -0.905235 0.0557306 -0.247197 -0.118348 0 0 0.127593 0 -5.75638 0 -4.31487 -2.02821 0 0.544437 -2.01649 -0.0279161 0 0.0139044 0 0 0.0194873 0 -3.62524 -1.45797 0 0 -0.225366 0 0 0.629311 2.62368 0.297541 0 1.5163 0 -0.39296 0.191427 -0.267872 -0.00805195 0.0343456 1.80702 0.263943 -0.0398051 0.3121 10.8308 0.103482 0 0 0 -0.297928 -0.00525662 0 0 0 0 0.309771 27.0476 4.02738 -2.32401 0.708654 -0.681402 1.39615 0.101075 -0.110498 0.224959 -0.279582 0 0 0 0 0 0 +231 0 0.586306 0.385518 -0.0390699 -0.0166229 0.134463 0.227885 -0.464215 -0.908273 -0.128571 0.510186 -0.263029 1.24686 0.0156502 0.672345 -0.175487 1.28035 2.95024 0.0528061 -0.221528 6.14038 0.060551 -0.220106 -0.0168161 0.298303 -0.170046 0.551853 -0.0403503 -0.331579 0.368396 0.556259 -0.0701753 -1.3324 -0.880817 -0.287914 -0.210652 -0.0821673 -0.256409 -4.83042 -0.601301 2.61767 0.0668236 -1.51088 -0.17075 2.63769 0.262868 0.971309 -0.180604 -2.07578 0.50521 -0.377449 0.607612 -2.30994 0.5707 0.0436214 -0.204601 -0.282395 0.113643 -0.66061 -0.378889 -0.135333 -1.50691 0.185315 1.09737 0.438996 0.559238 -0.0212048 0.891882 -0.243879 0.0701551 -0.195039 0.153406 -1.53003 0.430739 -0.125119 1.49722 0.0940908 11.2006 0.418686 1.37844 1.74192 -1.94859 6.2622 -0.897696 0.39341 -0.186719 1.08055 -0.0886962 0.220552 -0.454373 1.06411 -1.09936 0 0 0 0 0 -0.0390699 -0.0166229 0 0 0 0 0 0 0 -0.0231577 0 0 0 0 -0.0172024 0 -0.00538765 0.127168 -0.0853788 0 0 -0.206555 0 0 -0.16006 0.0532412 0 0 -0.0192212 0.252988 0 -0.443829 0 -0.0473953 0 0 -0.00420981 0 0 -1.32448 0 0 0 0 0 0 0 0.0636522 0 0 -0.234308 0 0 0 0 0 0 0 0.0267628 0 0.377415 0 0.0459807 0 0 -0.0281114 -0.00493165 0 0.114324 0 0 0 2.78095 0 0.179205 0 0 0.288793 0 0 0 0.0260976 0 0 0 0 0 0 0.134463 0 0.227885 0 0 0 0 0.226927 -1.37153 0 0 -0.281085 0 -0.0512585 0 -0.0784391 0 0 0.605582 0 -0.797588 0.00522572 -0.25451 0.0565315 0 0 -0.750224 0 -4.02199 0 -5.38396 -0.423873 0 -0.0476698 -1.95501 -0.0333085 0 0.0344399 0 0 -0.138087 0 -1.52555 0.83902 0 0 0.0696799 0 0 0.544908 -0.872624 0.119728 0 -0.478103 0 -0.666483 0.102382 -0.156225 0.9247 -0.153916 -0.875516 0.262307 0.139208 1.30605 8.18206 0.0106961 0 0 0 -0.335605 0.0331343 0 0 0 0 0.283849 30.0257 3.07159 -0.263919 0.823876 -0.80005 1.61897 0.0603545 -0.0402683 0.0542636 0.0603923 0 0 0 0 0 0 +232 0 0.0104287 0.0218586 0.0271898 0.0948471 -0.160595 -0.311776 1.61787 3.10251 0.440963 -1.11283 -0.288494 0.264229 -0.00266691 0.0731295 -0.135014 0.326955 1.87864 -0.262134 -0.286097 3.46082 -0.0342961 0.154879 0.0109332 -0.180867 1.05622 0.043932 -0.00695005 0.895852 2.07504 -0.119628 0.0709247 -1.0095 0.00120767 -0.385748 0.671631 -0.0386811 0.258281 -0.83589 -0.345471 0.429254 -0.00661475 -0.245357 -0.0394999 0.991113 0.0159268 -0.584068 1.40847 -2.03887 0.0350194 -0.0227519 -0.458778 1.18323 0.621911 -0.124974 0.334483 1.99045 0.468767 -0.613898 0.223628 0.0165818 -0.528263 0.817717 -1.20673 -1.02829 -0.244354 -1.34408 0.179591 0.389995 -0.228227 0.456265 0.282255 -0.637377 -0.113332 -0.338622 -0.994058 0.174366 2.09361 2.01581 -4.49247 0.220977 -0.170468 -1.31747 0.3844 -0.538174 1.00684 -4.47221 -0.00537399 0.0655004 -0.373842 1.45568 -6.19227 0 0 0 0 0 0.0271898 0.0948471 0 0 0 0 0 0 0 0.00535872 0 0 0 0 -0.00116488 0 0.000824387 -0.0536737 0.00463728 0 0 -0.0565299 0 0 0.0454475 -0.462102 0 0 -0.0111994 -0.16039 0 0.100294 0 0.0027043 0 0 -0.0002301 0 0 0.237042 0 0 0 0 0 0 0 -0.075835 0 0 0.082559 0 0 0 0 0 0 0 0.00535424 0 0.043398 0 0.00770428 0 0 -0.0249811 0.0392439 0 -0.00555475 0 0 0 -0.564746 0 0.00874537 0 0 0.0099067 0 0 0 -0.015069 0 0 0 0 0 0 -0.160595 0 -0.311776 0 0 0 0 -0.0857573 -0.764143 0 0 -0.458804 0 -0.0590237 0 -0.0438797 0 0 0.451101 0 -0.245655 0.0133571 -0.0574085 0.0521301 0 0 -0.462438 0 -0.902448 0 -2.10593 -1.52011 0 0.172718 -0.96618 -0.0135625 0 -0.00749708 0 0 -0.0783733 0 -1.60754 0.629971 0 0 0.070139 0 0 0.131214 -1.00101 0.154401 0 -0.10113 0 -0.625287 0.0780503 -0.131181 0.69171 -0.0169486 -0.90774 0.291378 -0.0199079 1.157 8.7968 -0.0324584 0 0 0 -0.0443555 0.069227 0 0 0 0 0.151322 11.0033 2.09864 -1.17984 0.36755 -0.409416 0.442176 0.0794946 -0.0731535 0.115022 -0.0524576 0 0 0 0 0 0 +233 0 0 0 0 0 0.0261543 0.238687 0.242283 1.25607 0 0 -0.0506152 1.42685 0 2.58017 0.00838158 0 0 0 -0.00879265 0.0643178 0 0 0 0 0.0176961 0 0 -0.27542 3.16277 0.827002 0 -0.0650743 0 0 -0.144026 -0.00490875 0 0 0.248627 0.961452 0 0 0.124362 4.36991 0 0.974404 0.555236 -0.465248 -0.151175 0.578509 -0.0659474 0 0.114622 -0.0188686 0.319979 -0.809213 0.0164181 -0.93582 0 0 0.401444 -0.191676 0 0.58348 0.154589 -0.395966 0 0 0 0 0.0318752 0.505459 0 -2.72592 -1.42648 0 0 0 -1.78448 0 -0.452772 -2.89444 0 -0.120162 -0.188813 -3.26875 0 -0.065514 -0.40896 0.940822 -9.20711 0 0 0 -0.0526595 -0.0147599 0 0 0 -0.0156539 -0.0203504 0 -0.00167447 0 -0.0042575 -0.00427462 0 0 0 0 -0.016073 0 -0.00221705 0 0.00252501 0 -0.133152 0.0895674 0 0.00164873 0 0 0.0434802 -0.00188334 0.0116572 0 -0.00141473 0 -0.00142766 -0.0214985 0.0112304 -0.0268375 -0.00526137 0 -0.000298738 0 0 0 -9.92661e-05 0 0 0.00501944 -0.00222259 0.0479282 -0.0132212 0 0 0.00346244 0 0.00246016 0 0 -0.0140843 -0.00703625 0.0174417 -0.00715162 0 0 0.0300174 0.0286344 0.00390813 -0.0046273 -0.0126986 0 -0.0351138 -0.00617387 -0.0841587 0 0 0 -0.000558603 0 0.0215331 -0.0349081 0 -0.0026854 0.00441359 -0.00371187 0 0.00238785 -0.00391617 0.00778185 -0.0104045 0 0.0261543 -0.0526595 0.238687 -0.0147599 -0.294016 -0.0463511 -0.106225 -0.450604 -0.578299 0.0142692 -0.0805529 0.0853128 0.00196696 0.00259333 -0.0175115 -0.0281184 -0.048244 0.0947365 -0.161866 0.37682 0.114714 0.0305884 0.034747 0.048848 -0.492926 0.255772 -0.258105 0.0143242 1.25403 -0.265211 -1.15136 1.29575 -0.00253214 -0.18073 -0.439697 -0.00136529 -0.00302979 -0.0629446 -0.0241348 1.62138 -0.0640435 0.0405123 1.42479 -0.465085 -0.0080059 -0.0334013 0.0513183 0.0837488 -0.173767 -0.167652 0.443625 0.00589366 0.0968296 -0.901361 0.030446 0.437597 -0.138045 0.255192 0.0632047 -0.225864 -0.0138183 0.125925 -0.0750793 0.933861 0.220462 0.129452 -0.056451 -0.0514594 -0.400355 -0.150853 -0.00665093 0.0780662 -0.0307517 -0.0652544 0.17484 0.117838 2.81622 -0.547395 0.268278 0.139125 0.117022 -2.64087 0.0175618 0.117055 -0.00772351 -0.792867 -0.0419619 0.238459 -0.549776 0.863865 -2.55961 0 +234 0 0 0 0 0 0.688018 -0.0849664 0.0235471 -1.89041 0 0 0.0830673 -1.02639 0 -2.18306 0.0554679 0 0 0 0.0334868 -2.79954 0 0 0 0 -0.144282 0 0 0.102578 -0.589251 -0.621473 0 0.181462 0 0 0.0970199 0.0293858 0 0 -0.322875 -1.24935 0 0 -0.0922598 -3.74581 0 -0.912785 0.203864 0.269132 0.223141 0.209904 0.0266883 0 0.0908531 -0.162148 -0.108503 3.30434 0.182189 0.442693 0 0 1.21729 -0.245384 0 -0.10557 -0.576248 0.537887 0 0 0 0 -0.0251562 -0.544345 0 4.18519 -0.0388146 0 0 0 2.46787 0 0.626344 0.12489 0 0.211775 -0.362049 2.75496 0 0.317681 -0.527718 0.603566 1.59928 0 0 0 0.12268 0.0205813 0 0 0 -0.000433396 -0.0566418 0 -0.0004697 0 0.000104119 0.0226685 0 0 0 0 0.0251905 0 0.00456004 0 0.126041 0 0.0144561 -0.0253265 0 0.00165117 0 0 0.0727396 -0.00122453 -0.00836462 0 -0.00799121 0 -0.00397047 0.0167175 0.0102883 -0.0176995 0.00614371 0 7.46313e-06 0 0 0 -0.00056068 0 0 0.0025425 -0.00741788 0.0608832 -0.000934809 0 0 0.00651169 0 0.00580186 0 0 -0.048669 0.00345679 0.0225111 0.00428527 0 0 0.0409994 0.0279025 -0.00444196 -0.000429229 0.0157098 0 -0.0234509 -0.00811446 0.0956725 0 0 0 -0.104486 0 0.0135218 -0.0529701 0 -0.00156142 0.00559897 -0.0204985 0 0.00146306 -0.00557275 0.00885226 -0.0185272 0 0.688018 0.12268 -0.0849664 0.0205813 -0.127985 -0.019069 0.173974 0.0150595 -0.10347 -0.0201829 -0.00142408 0.192452 -0.00271739 0.0310669 0.0256464 -0.0165416 0.0216008 -0.139949 0.534538 -0.755451 -0.000620234 -0.122929 -0.0100815 -0.0228216 0.216115 -0.0773227 -0.146732 -0.0108324 0.356356 0.148642 0.380939 -0.743959 0.00349918 -1.40301 -0.0351595 0.00626299 0.00303754 0.0755729 0.00622873 -0.961028 -0.0100536 -0.00192985 -0.328489 0.830144 -0.000502824 0.0298647 -0.0903317 -0.0847978 0.0209585 -0.396731 0.618134 -0.124848 -0.0340683 -0.369279 -0.0497892 0.423831 -0.0223518 0.069018 0.159818 0.47355 0.79008 -0.242608 0.0067286 -0.108721 0.776478 0.0198078 -0.293605 -0.0356325 0.0871412 -0.0112261 -0.0714358 -0.085131 0.0468544 -0.066846 0.0547272 0.0191965 -0.931773 -0.0887781 3.65785 0.0867923 -0.0691146 2.26485 -0.0964758 0.137203 -0.333262 1.80254 0.0619881 -0.120351 0.285033 -0.372983 1.37344 0 +235 0 0 0 0 0 0.0107182 0.281365 -1.44212 -3.11346 0 0 -0.0310891 0.889347 0 1.10742 -0.189806 0 0 0 -0.521875 8.20945 0 0 0 0 -0.494237 0 0 -0.801045 -8.44758 0.460467 0 -0.873761 0 0 -0.265495 -0.076039 0 0 0.604281 2.02203 0 0 0.0723567 3.73782 0 0.758181 -2.50322 -2.17922 -0.0298262 -0.311554 -0.013393 0 0.720104 -0.367605 0.350199 -0.00757393 0.270996 -0.164831 0 0 0.0421472 -3.9221 0 -0.166425 0.0636576 0.82024 0 0 0 0 -0.409578 -0.105633 0 -2.89627 1.69422 0 0 0 5.1754 0 0.624215 8.8951 0 1.07743 -1.04965 11.0406 0 0.580767 0.122748 -1.79328 22.42 0 0 0 -0.254075 -0.0528934 0 0 0 -0.0199663 -0.000454604 0 -0.00291505 0 -0.0101877 -0.0381356 0 0 0 0 -0.00682854 0 -0.00390532 0 -0.164801 0 -0.0728135 0.162515 0 -0.000725394 0 0 0.0804616 -0.0034407 0.0313981 0 0.00355097 0 -3.75807e-05 -0.0435306 0.00549308 -0.048797 -0.0141428 0 -0.000714992 0 0 0 0.000249113 0 0 0.00963769 0.00117759 -0.00269363 -0.0268982 0 0 -0.0129691 0 0.00114721 0 0 0.0603806 -0.0271752 0.0618388 -0.0278401 0 0 0.0435149 0.001988 -0.006803 0.0187848 -0.0146644 0 -0.0132162 0.000430236 -0.577693 0 0 0 0.136115 0 0.0395625 -0.0687964 0 -0.00500925 0.00934852 0.00615557 0 0.00440914 -0.00784814 0.014778 -0.0192338 0 0.0107182 -0.254075 0.281365 -0.0528934 0.955753 0.271874 -0.405115 0.522739 -2.31212 0.0503072 0.00570431 -0.460518 0.00700681 -0.0766161 -0.0638637 -0.117986 0.000253479 0.328083 0.819688 1.63295 0.139812 -0.239051 -0.425464 0.102934 -0.0509115 -0.41989 -1.10733 0.0337031 0.750329 -0.0151102 1.23729 0.917533 -0.00903175 -0.879894 0.640755 -0.0658512 -0.000341036 0.0450344 0.0266474 -2.56459 -0.252222 -0.0641973 1.15978 2.10008 0.00127585 -0.0282813 0.276139 0.228213 -0.299705 0.491647 -0.823902 -1.78661 0.0369341 -0.242081 0.116003 -1.59447 -0.534956 0.931552 -0.124876 -0.119191 -0.440816 1.00522 -0.167207 0.300719 -0.282003 0.0663593 0.814834 0.0913569 0.141212 -0.28845 0.164103 0.138181 -0.109652 0.00248479 -0.106617 0.449478 -3.02639 1.03934 1.88731 -0.675262 0.359724 4.13326 0.22824 -0.212674 0.194547 2.07437 -0.145319 0.161537 -0.0100626 -0.471304 3.69413 0 +236 0 -0.251508 0.270142 -0.0038619 -0.04333 -0.134838 -0.0403002 0.474484 1.72359 -0.0291205 0.112707 -0.0159597 -0.0693386 0.000100693 -0.692879 0.000935078 1.86319 5.33751 0.0159129 0.00207579 0.583391 -0.00122483 -0.114189 -0.000129994 0.0209163 0.288578 0.685311 -0.001014 -0.0420989 0.146446 -0.171082 -0.00202698 0.0383965 0.102784 -0.0429644 0.099921 -0.000146112 0.0416375 2.2754 -0.0526641 0.00632945 0.00157009 -0.131693 -0.00274959 -0.365675 0.0225566 -0.130422 -0.0338269 0.0667113 0.0068136 -0.119781 0.216526 -1.34744 -0.00275506 0.00252505 -0.000331967 0.863735 -0.176063 0.0934686 -0.0423781 -0.00321582 -0.0827873 0.846751 1.12256 -0.0524968 0.0073431 -0.0768474 0.345804 0.0290739 0.00350874 0.216683 0.165607 0.0208475 -0.00703945 1.87488 0.526249 -0.0526876 -6.39299 -0.235442 -4.03637 -0.292764 0.301025 -3.18772 0.133721 -0.131583 0.069076 -2.40116 -0.00176464 0.00228419 -0.0269658 0.0510396 -0.275762 0 0 0 0 0 -0.0038619 -0.04333 -0.000941939 0 0 0 0 -4.92063e-05 0 0.00338074 0 0 -0.00109552 -0.00117722 0.00107196 0 0.000179937 -0.0027376 0.014146 0 0 -0.0133785 -8.26018e-05 0 -0.00062707 0.0541914 0 0 -0.000612259 -0.0157326 0 -0.00545401 0 -0.00114748 0 0 -8.32072e-05 0 0 -0.00294419 -0.000701275 -0.015613 0 -0.0134243 -0.00771965 0 0 0.0258856 0 -0.00191976 -0.00519835 0.00136907 0 0 0.00223276 0.00162249 0 -0.00348446 -0.0185681 -0.00366761 -0.000911328 -0.00382794 0.00563561 0 -0.00221547 -0.000715419 0.00919934 0.00239667 0.00360807 0 0 0 0.00470953 0.012195 -0.0108826 0.000260722 -0.0002999 0.000360904 0.00138261 -0.00159037 0.00191387 -0.00173404 0 0 0 0 0 0 -0.134838 0 -0.0403002 0 0 0 0 0.284236 0.0358695 0 0 0.0103551 0 0.00465489 0 0.0190098 0 0 0.0273696 0 -0.604074 0.114651 0.0801517 -0.0328201 0 0 0.16657 0 1.15818 0 0.246029 -0.16296 0 0.881173 -0.44656 0.0088053 0 0.0304589 0 0 0.00828183 0 0.247984 0.177415 0 0 -0.0419063 0 0 -0.109367 1.10536 -0.40144 0 -0.221943 0 0.0645761 0.0335283 0.0944143 0.090115 -0.230628 -0.484399 0.0784556 0.114114 -0.466423 0.12992 0.106876 0 0 0 0.041963 -0.00176801 0 0 0 0 0.0188427 -5.8158 0.249971 -3.1413 0.331698 -0.423919 0.252538 0.128596 -0.101165 0.0512653 -0.693034 0 0 0 0 0 0 +237 0 1.48387 0.258084 0.00918448 0.103049 0.109263 0.26463 -0.38143 -1.19067 0.0692553 0.126673 -0.141836 0.414583 -0.000239471 0.486205 0.0103779 0.228506 -2.44252 0.0366985 0.0121157 2.08479 0.0224252 -0.209324 0.000309155 0.0687815 -0.538924 0.434064 0.0242945 -0.43503 0.199002 0.349984 0.00482062 0.160288 -0.588892 -0.000114264 -0.34669 -0.00865747 0.138999 -3.93582 -0.045642 1.61324 -0.00373404 0.200508 -0.00201991 0.315563 -0.053645 1.18368 -0.127863 0.18181 0.00476406 0.356814 -0.148792 -0.304992 -0.0207964 0.0190602 0.0843634 -0.750852 -0.1488 -0.1615 -0.0555418 0.00764796 -1.20343 -1.18817 -0.272147 0.874731 0.00170863 0.0816014 -0.122524 0.147415 -0.00834461 -0.315912 -0.0508911 -0.031988 -0.0863118 -0.468159 -0.00768525 -0.323124 6.70381 -1.80417 4.89677 -1.0337 0.610701 3.047 -0.499439 0.28153 -0.0981966 1.09783 0.00419672 0.00125213 0.0427234 0.0449506 -0.374728 0 0 0 0 0 0.00918448 0.103049 -0.0013697 0 0 0 0 -6.37771e-05 0 0.00134648 0 0 0.00104298 0.00168444 -0.00134249 0 4.2204e-05 0.00528473 -0.00954635 0 0 0.0459553 0.000118192 0 0.0018596 -0.125817 0 0 0.00333604 0.0252543 0 0.0208652 0 0.00343709 0 0 0.000292044 0 0 0.175427 -0.000908934 0.0148642 0 -0.0195206 0.0196926 0 0 0.0048552 0 -0.00279157 0.0228577 0.00410751 0 0 -0.00212568 0.00235931 0 -0.00443632 0.0816206 0.00385368 0.00119275 0.0218138 0.00398176 0 -0.018183 -0.00561973 -0.0276215 0.00382369 -0.0208998 0 0 0 -0.280613 0.00552701 -0.0180686 -0.0155349 0.0178693 -0.0215041 -0.0013163 0.00151409 -0.00182208 0.00117021 0 0 0 0 0 0 0.109263 0 0.26463 0 0 0 0 -0.563171 0.735187 0 0 0.189715 0 0.0211776 0 0.0336674 0 0 -0.211154 0 -0.706152 -0.120834 0.238127 -0.00578159 0 0 0.321283 0 1.10587 0 -5.95397 0.521623 0 -1.05329 -1.54944 0.0260438 0 -0.0663659 0 0 0.0787234 0 0.470085 -0.425674 0 0 -0.0324035 0 0 0.0382943 0.771187 0.544137 0 0.359281 0 1.02547 0.104816 -0.208099 0.197676 0.01404 -0.107997 -0.509033 0.0756935 -0.33001 -1.94735 -0.0250439 0 0 0 0.0548167 -0.0454459 0 0 0 0 -0.143757 30.269 -0.115827 5.86023 0.682928 -0.887385 3.16217 -0.0923065 0.121102 -0.24947 0.797555 0 0 0 0 0 0 +238 0 0.352038 0.12759 -0.0152213 -0.170781 0.363761 0.0344008 -0.0820148 -1.53163 -0.114776 -0.101041 0.0707886 -0.480027 0.00039687 -0.187873 0.00134276 -0.262562 0.977558 -0.0206074 0.00913709 1.08428 -0.0299251 -0.0245668 -0.000512357 -0.132696 -0.330814 -0.151145 -0.0291442 0.422083 1.18639 -0.359767 -0.00798913 0.104561 -0.406664 0.0295873 -0.0241834 0.00612015 -0.182914 -2.56382 -0.0448431 0.490012 0.00618835 -0.252021 -0.00268698 0.471078 0.0889048 0.0400923 0.668041 0.282015 0.00688827 0.474894 -0.0313576 2.74285 -0.0123914 0.0113569 -0.115492 -0.896791 0.095159 -0.120471 0.182404 -0.0126748 -0.550507 -1.15413 0.274614 0.0546877 -0.0132528 -0.503146 -0.0377347 -0.253144 0.0138294 0.565845 0.0793308 0.134763 0.209634 -1.02093 -0.594692 0.387677 10.3034 3.57235 2.38514 2.21985 -1.32803 2.65722 0.972523 -0.491949 -0.0363505 1.27768 -0.00695515 0.00263772 -0.130112 0.0540124 -2.23401 0 0 0 0 0 -0.0152213 -0.170781 -0.000880062 0 0 0 0 -5.20748e-05 0 0.00148488 0 0 -0.00309191 -0.00376479 0.00358924 0 0.000116193 -0.00795503 0.0430618 0 0 -0.0377224 -0.000264164 0 -0.00114863 0.211593 0 0 -0.00540861 -0.0337574 0 -0.012607 0 -0.00377102 0 0 -0.000477981 0 0 -0.183989 -0.000742156 -0.0440651 0 -0.0125424 -0.034349 0 0 0.0462545 0 -0.00179365 -0.0197561 0.000644798 0 0 0.00630159 0.00151591 0 -0.00220779 -0.129443 -0.0100616 -0.00130428 -0.0329375 0.00383772 0 0.0158363 0.00103691 0.0567226 -0.0117538 0.035385 0 0 0 0.294309 0.0169779 -0.00748253 0.0162931 -0.0187414 0.0225536 0.00390217 -0.00448853 0.00540157 -0.00527858 0 0 0 0 0 0 0.363761 0 0.0344008 0 0 0 0 -0.592917 1.10768 0 0 0.450782 0 0.0458521 0 0.057902 0 0 -0.0853096 0 -0.0958508 -0.222388 0.155483 -0.000798299 0 0 0.540327 0 1.42611 0 -2.98019 -0.536177 0 -1.73104 -0.851272 0.0165129 0 -0.079899 0 0 0.117651 0 -0.44789 0.34146 0 0 0.0740122 0 0 0.0139942 -1.08183 1.05079 0 0.684992 0 -0.179681 0.286783 -0.546524 0.0612203 0.0160709 -0.114815 -0.128197 0.132847 -0.343034 1.47133 0.0277941 0 0 0 0.0139337 -0.0713111 0 0 0 0 -0.177671 7.07204 -1.70113 5.68446 0.558158 -1.08611 2.88909 -0.0475635 0.131363 -0.403741 1.42314 0 0 0 0 0 0 +239 0 -0.133808 -0.116087 -0.00754952 0.00808323 -0.0650697 -0.263203 0.58374 1.77954 -0.00978332 0.0899961 0.112937 -0.0591964 0.000664105 -0.502437 0.00633432 0.420076 2.47584 -0.019797 0.0144817 1.08378 -0.0206978 0.122523 -0.000568331 0.00127011 0.505688 -0.00171192 -0.0438107 0.55673 0.868706 -0.259321 -0.00509176 0.101132 0.259674 -0.127989 0.265654 0.00905029 -0.292848 1.03956 -0.0521107 -0.216517 0.00840746 -0.980014 -0.00474498 0.387261 0.104581 -0.501099 0.534712 0.136551 0.0200219 -1.63193 0.268273 -3.49663 -0.0122771 0.034918 -0.142007 -1.69761 -0.399678 -0.157857 0.00794064 -0.018373 0.032089 -0.152892 1.23569 -0.619719 0.253636 -0.702847 -0.128138 -0.312242 0.00224054 0.2606 0.197587 0.0586968 0.394042 0.940837 -0.237272 0.26985 2.76511 1.94636 -3.78998 1.75439 -1.50101 -1.05115 0.335683 -0.225796 0.00493578 -2.15918 -0.00994962 0.0117886 -0.151081 0.132022 -1.82341 0 0 0 0 0 -0.00754952 0.00808323 0.000849355 0 0 0 0 0.000133514 0 -0.0022664 0 0 -0.00125695 -0.0017266 0.000925313 0 -0.000223128 -0.00358846 0.00566571 0 0 0.0236871 -0.000121151 0 -0.00451208 0.546473 0 0 0.00535694 0.0293823 0 -0.041131 0 -0.00124357 0 0 0.000126667 0 0 -0.284909 0.00190281 -0.0179072 0 0.0121053 -0.0187391 0 0 -0.00503228 0 0.00175836 -0.0418824 -0.00299203 0 0 0.00257319 -0.00143875 0 0.00235314 -0.0932272 -0.0046858 -0.101171 -0.0192823 0.0184574 0 0.0143643 -0.0142207 -0.016799 -4.13385e-05 0.029916 0 0 0 0.49636 4.92971e-05 0.0379271 0.0127127 -0.0146104 0.0768233 0.00158795 -0.00182597 0.0021943 0.00104635 0 0 0 0 0 0 -0.0650697 0 -0.263203 0 0 0 0 0.359998 -0.549821 0 0 -0.123174 0 -0.0106235 0 -0.00403482 0 0 0.0947855 0 0.260759 0.120655 -0.0733063 0.0044876 0 0 -0.0341526 0 -3.70166 0 1.6403 -0.909806 0 0.923133 0.654195 -0.00801834 0 0.0566415 0 0 -0.0615751 0 -1.41527 -0.142341 0 0 -0.0237004 0 0 0.0482766 0.517535 -0.166195 0 -0.0321262 0 -0.323169 -0.0634595 0.107586 -0.00190247 -0.167096 -0.157681 0.300738 0.0522622 -0.128507 -0.758147 0.0623141 0 0 0 -0.106878 0.017997 0 0 0 0 0.114239 -4.85532 0.972373 -3.38477 -0.222298 0.439867 -1.45801 0.0972076 -0.0996721 0.166184 -0.69155 0 0 0 0 0 0 +240 0 0.783754 -0.0866499 0.00635965 0.0693803 -0.0208534 -0.0955821 0.71797 -0.0737964 0.0810279 0.112111 0.0668533 1.07097 -0.000199469 2.92698 -0.0124528 -0.181259 1.52439 0.0487491 -0.0310793 4.49668 0.014355 0.320674 0.000403555 0.0342729 0.334564 -0.309542 0.00314762 0.438634 0.464347 0.511313 0.00579357 -0.2209 0.0814308 0.0197602 0.335356 0.00478006 -0.0566954 -3.23261 0.126763 1.43074 -0.00184574 -0.107685 0.0106211 5.22159 -0.0139193 0.215814 0.515468 -0.481894 -0.0225984 0.0900417 0.105374 -2.49017 0.0685625 -0.0279849 0.0639222 -3.22051 0.181737 -0.115532 -0.0628096 0.00395307 -0.334552 -2.51453 0.648797 -0.126674 0.338237 -1.14736 -0.631166 -0.205787 -0.0154766 -0.144307 -0.0803686 0.0524829 0.133312 -4.3139 -0.420377 0.442266 10.5265 -0.0611661 2.58814 0.136891 -0.729082 3.69847 -0.0707731 0.101041 -0.193077 0.212486 0.00132425 -0.00726904 -0.00748022 -0.0917012 -0.974663 0 0 0 0 0 0.00635965 0.0693803 -0.00194046 0 0 0 0 -0.00016415 0 0.0054209 0 0 -0.00099164 -0.000649392 0.00134251 0 0.00039078 0.00466892 0.0270484 0 0 -0.0248607 -4.5564e-05 0 0.00262683 0.149971 0 0 -0.00883388 0.0325273 0 0.020865 0 -0.0015875 0 0 -0.00057812 0 0 0.145375 -0.00233943 -0.0141589 0 -0.0276569 0.00331433 0 0 0.0490801 0 -0.00406191 0.0102368 0.00423274 0 0 0.00197701 0.00324458 0 -0.0101963 -0.0116688 -0.00230878 -0.0865313 -9.39643e-05 0.0146481 0 -0.0105625 -0.00764687 0.0146129 -0.00614991 0.0029257 0 0 0 -0.234266 0.0262633 -0.0443962 -0.0132437 0.0151822 -0.0171476 0.00124551 -0.00143494 0.00173867 -0.00488114 0 0 0 0 0 0 -0.0208534 0 -0.0955821 0 0 0 0 0.0674369 -0.139173 0 0 -0.326263 0 -0.0279211 0 -0.0195355 0 0 0.263621 0 0.680911 -0.021476 -0.189856 0.0611126 0 0 -0.181463 0 2.90175 0 -3.3937 0.425345 0 -0.20941 -0.155259 -0.0186471 0 0.0179367 0 0 -0.0106657 0 1.04723 0.245472 0 0 0.0824141 0 0 -0.0453131 2.35859 0.0513378 0 -1.09821 0 0.77546 -0.109325 0.067234 -0.749637 0.27897 1.31991 -0.0487238 -0.272074 0.572918 -2.81224 -0.0878032 0 0 0 -0.065954 0.0393406 0 0 0 0 0.0127193 26.0642 1.12413 4.59663 0.441333 -0.443881 2.09046 0.0363564 -0.113813 0.303735 0.0784387 0 0 0 0 0 0 +241 0 0.774903 0.190165 -0.0215843 -0.137183 0.283732 0.00951263 0.0127536 -1.23833 -0.183064 -0.169036 0.017326 -0.468779 0.00112244 -0.99348 0.0247674 0.307148 2.56526 -0.0727273 0.0588716 -3.64266 -0.0498463 -0.129036 -0.00146284 -0.091792 -0.11788 0.0450799 -0.0684416 0.242238 1.44972 -0.477173 -0.0177376 0.381753 -0.860656 -0.143555 0.0690274 0.00358991 -0.322937 -5.62617 -0.206855 -2.0114 0.0126699 -0.781807 -0.019203 0.25088 0.136937 -0.959952 0.584203 0.729935 0.0503591 1.44806 -0.0801831 -2.86716 -0.118681 0.0806265 -0.297971 -3.21825 0.153209 0.178764 0.121276 -0.0273543 -0.695835 1.34704 0.437882 1.07416 -0.0567436 -0.191313 -0.329791 -0.360291 0.0353757 0.0958837 0.0084694 0.153458 0.263517 -0.521333 -0.0266555 0.0816851 25.9581 4.36296 6.61034 3.45191 -2.47534 7.42272 0.755444 -0.435465 0.145813 1.60286 -0.0130279 0.0220299 -0.212677 0.346148 -3.04296 0 0 0 0 0 -0.0215843 -0.137183 0.00279608 0 0 0 0 0.000342707 0 -0.00779996 0 0 -0.00148054 -0.00252379 0.00171938 0 -0.000834308 -0.00926541 0.0196162 0 0 -0.00428342 -0.000177089 0 -0.0060395 0.335893 0 0 -0.000438676 0.000579471 0 -0.0566052 0 -0.00214554 0 0 2.00199e-05 0 0 -0.480762 0.00488417 -0.0210708 0 0.0398517 -0.0368946 0 0 -0.0435266 0 0.00582158 -0.0690228 -0.007455 0 0 0.00306601 -0.00470536 0 0.0122179 -0.156592 -0.00569549 -0.0929183 -0.0393583 -0.000207023 0 0.0370308 -0.00240185 -0.00869187 -0.0124314 0.0495896 0 0 0 0.799809 -0.0212826 0.0544471 0.0339262 -0.0389671 0.0884046 0.00187507 -0.00215433 0.00257954 -0.00425964 0 0 0 0 0 0 0.283732 0 0.00951263 0 0 0 0 -0.782562 0.509951 0 0 0.416893 0 0.0373359 0 0.0368988 0 0 -0.0251393 0 -0.352178 -0.223735 0.209012 -0.0182943 0 0 0.337787 0 1.21286 0 -5.11483 -0.325469 0 -1.90172 -1.34716 0.0212008 0 -0.088929 0 0 0.0545497 0 -0.133357 0.339396 0 0 0.0145696 0 0 0.131797 0.815375 0.339184 0 0.26931 0 0.636936 0.159456 -0.305471 0.309985 -0.0010622 -0.356777 -0.383466 0.149983 -0.346139 -0.508635 -0.0456638 0 0 0 -0.025346 -0.0581583 0 0 0 0 -0.0754689 22.7433 -0.708775 7.11746 0.60419 -0.850509 3.30217 -0.0545749 0.16325 -0.44977 1.58308 0 0 0 0 0 0 +242 0 0 0 0 0 0.262311 0.20631 -1.29895 -2.9213 0 0 -0.497776 0.314566 0 -0.0466449 -0.0754477 0 0 0 -0.261988 -5.99925 0 0 0 0 -0.419328 0 0 -0.363108 -0.584199 0.0454593 0 0.18068 0 0 -0.258768 -0.0888048 0 0 -1.64387 -2.47734 0 0 -0.431358 1.51828 0 -0.695152 -0.28355 0.631231 0.828144 0.00609121 -0.239681 0 -0.229134 -0.34958 0.0507824 -0.0251059 -0.544583 -0.934879 0 0 0.26062 7.9951 0 -0.443149 0.0237531 0.495396 0 0 0 0 0.105696 -1.40896 0 1.46027 -0.481828 0 0 0 2.81493 0 1.09779 2.65793 0 0.789654 -0.169316 2.85092 0 1.98891 -1.24581 1.97204 0.791505 0 0 0 0.169497 0.0543416 0 0 0 0.0498633 0.0327633 0 0.00621177 0 -0.00551281 -0.0334869 0 0 0 0 0.0215239 0 -0.00881241 0 -0.0888666 0 0.362978 0.0182618 0 -0.000204048 0 0 0.0204172 -0.00161478 -0.0209261 0 0.00122385 0 0.00176053 -0.0970166 0.000156908 -0.0275906 -0.0231696 0 -0.000309402 0 0 0 5.19386e-05 0 0 0.00205817 -0.00153677 -0.291763 0.0297683 0 0 0.0236788 0 -0.00763551 0 0 0.000996372 -0.0198602 0.337737 0.00218198 0 0 0.00806796 -0.0532253 -0.0504189 0.0364236 0.0741999 0 0.23147 0.00329866 0.0669128 0 0 0 0.398531 0 0.0905882 -0.220298 0 0.00780396 -0.0240926 -0.0146448 0 0.000901246 -0.00265332 0.00102563 0.0226095 0 0.262311 0.169497 0.20631 0.0543416 0.111538 -0.0728698 0.331967 -0.656866 2.23417 -0.0714175 0.0440212 0.827655 -0.0123621 0.0983595 0.0611294 0.125777 0.024676 -0.369014 -1.0013 -0.229833 0.144038 -0.338091 0.602815 -0.153851 0.407601 0.0247484 1.08424 -0.0315547 0.301958 0.138128 2.30108 0.0939635 0.0096802 -1.38757 1.03525 0.0781382 -0.000408473 -0.140107 -0.0497479 -0.484729 0.25169 0.0207357 -0.0369093 -0.836911 0.00274379 0.0479476 -0.216754 -0.109187 0.108583 0.701086 -0.33218 1.44229 -0.228856 -1.87718 -0.0258698 -1.21282 0.718964 -1.19151 0.42394 0.43016 -0.572431 0.249806 0.0748924 0.230922 1.25277 -0.239784 -0.179336 -0.109253 0.334419 -1.11446 -0.192733 -0.127125 0.162663 0.068482 -0.103518 0.11382 -7.85382 -1.57926 0.972184 -0.786168 0.163663 1.9151 -0.482525 0.15212 0.328219 0.451439 0.454128 -0.33673 0.586981 -0.330431 0.492042 0 +243 0 0 0 0 0 -0.411696 0.00318343 0.462923 1.84755 0 0 0.256792 -0.201655 0 -0.307815 -0.0207396 0 0 0 -0.157903 1.77491 0 0 0 0 -0.0150842 0 0 -0.500461 -2.22846 0.149397 0 -0.62066 0 0 -0.0786681 0.0254225 0 0 0.975953 0.297735 0 0 0.146571 -1.49197 0 0.11894 -0.875643 -1.5774 -0.360107 0.172004 -0.437739 0 0.288629 -0.196414 0.298992 3.1674 0.452318 1.04949 0 0 -0.402983 -1.95581 0 0.710237 -0.246405 0.842871 0 0 0 0 -0.191997 -0.0577512 0 2.56478 0.981481 0 0 0 -2.90205 0 -0.813551 1.60151 0 -0.24021 0.839083 -2.06012 0 -0.513168 0.736544 -1.85519 5.66604 0 0 0 -0.143789 -0.0293294 0 0 0 -0.0434155 -3.31157e-07 0 -0.0042972 0 0.0011858 -0.0103149 0 0 0 0 -0.00768867 0 -0.00838811 0 0.028226 0 -0.361125 -0.176117 0 0.000313891 0 0 -0.032875 0.00109597 -0.0202039 0 -0.00259921 0 -0.000130934 -0.0972016 -0.00115706 0.0183788 -0.0164857 0 9.66411e-05 0 0 0 -0.00014156 0 0 -0.00484852 -0.0042787 -0.328108 -0.0196995 0 0 -0.0124561 0 -0.003563 0 0 -0.0149465 -0.0437635 -0.0931508 -0.0222165 0 0 0.0511215 0.0509875 0.0244248 0.0251891 -0.255117 0 -0.027634 0.00802822 0.248385 0 0 0 -0.818093 0 -0.10827 -0.159976 0 -0.0107105 -0.022772 0.0065818 0 -0.00108922 -0.00238491 -0.0033638 0.0608159 0 -0.411696 -0.143789 0.00318343 -0.0293294 0.297256 0.0139357 -0.0877173 0.695287 -1.31166 0.0322792 0.0125058 -0.216164 0.00478738 -0.0235575 -0.0149005 -0.0813621 -0.0119367 0.202164 0.280029 0.424951 -0.196247 0.226757 -0.481926 0.0567421 -0.150275 -0.00493558 -0.8968 -0.00217011 0.0599686 0.241705 -1.63141 1.0463 -0.00184427 1.57594 -0.967003 -0.0638539 0.00506741 0.10591 0.0481691 -0.203799 -0.136307 0.00124595 0.861182 0.115566 0.00250074 0.022908 0.0462669 0.00489268 0.0367185 -0.479302 -0.26125 0.233527 0.119916 2.68826 -0.0266196 1.15927 -0.655833 0.551008 -0.378729 -0.0477971 0.307426 -0.204694 0.0128078 -0.01975 1.68068 -0.0176996 -0.297262 0.0400366 0.0884603 0.478343 0.0997755 -0.0349068 -0.0587898 0.0921132 -0.0194988 0.411132 5.56817 0.487171 -2.63637 0.658843 -1.09431 0.680295 0.118355 -0.149595 0.159743 -0.782469 -0.248794 -0.00915267 0.0882107 -0.303557 0.378754 0 +244 0 0 0 0 0 -0.13717 -0.288516 0.805232 1.59058 0 0 -0.568004 -0.301691 0 0.176552 -0.100099 0 0 0 0.0757324 1.55788 0 0 0 0 0.494818 0 0 1.15518 6.25341 -0.413372 0 -0.0487461 0 0 0.36106 -0.102751 0 0 -1.99267 1.04982 0 0 -0.486854 1.12255 0 -0.22972 2.36471 1.7971 0.901276 -2.1881 0.648092 0 -0.0252895 0.00449571 -0.0971391 -0.0609441 -0.693334 -0.375259 0 0 -0.856283 -0.482669 0 0.13148 0.965241 -0.892001 0 0 0 0 0.167495 -1.45705 0 -0.168528 -0.223633 0 0 0 -2.0821 0 2.39043 -7.69434 0 0.714953 -0.306771 -4.75845 0 1.27585 -1.4384 4.00775 -13.8606 0 0 0 0.210959 0.0881666 0 0 0 -0.0371793 0.0644068 0 -0.00204045 0 -0.00786112 -0.0544598 0 0 0 0 -0.000631518 0 -0.0176256 0 -0.207059 0 -0.489898 -0.237529 0 -0.0053295 0 0 -0.33889 -0.00197423 -0.0470264 0 0.00549934 0 0.00311013 -0.0448205 -0.0438622 -0.0330412 -0.0196261 0 -0.00046055 0 0 0 0.000254946 0 0 0.00707674 -0.00035538 0.0779126 0.034257 0 0 -0.00968473 0 -0.00952357 0 0 0.0393485 0.0024004 -0.0514069 0.0149247 0 0 -0.108794 -0.0999027 0.0296882 -0.125137 0.240396 0 0.0775499 -0.0144675 -0.0827075 0 0 0 1.65012 0 0.162922 0.577331 0 0.0153923 0.0304349 0.0464336 0 0.00155185 0.00350247 0.00529573 0.173835 0 -0.13717 0.210959 -0.288516 0.0881666 -0.522286 -0.157105 0.237092 0.237288 -0.167713 -0.140087 0.111841 -0.241457 -0.0219552 -0.0343712 0.0774325 -0.0333071 0.0506179 -0.850787 1.54255 -1.65368 0.00600293 0.219625 0.149298 0.270707 0.85477 0.208266 -0.336548 -0.0132907 0.475903 0.0833994 0.0665042 -0.762812 0.0145584 1.15906 0.199331 0.0288734 0.00251979 0.0650433 -0.000977509 1.4019 -0.0060604 0.0287351 -0.319649 1.88424 0.00779323 0.0298586 0.390522 -0.171557 0.14384 1.30561 -0.241288 0.202044 -0.217127 0.415008 -0.00926655 0.437399 0.178532 -0.0412085 -0.126357 -0.385084 -0.883754 -0.227543 0.221631 0.30824 -2.13312 -0.0899018 0.323195 -0.164568 -0.221785 -0.163669 0.129904 -0.0823686 0.313393 0.104248 0.0656536 -0.0592296 -0.226986 0.407239 -1.33539 1.41099 0.246845 -2.67434 0.210256 0.0578537 0.00148754 -1.07296 1.04702 -0.407965 -0.118187 0.3793 -1.35159 0 +245 0 0.636154 0.394873 0.0112907 0.108764 0.125808 0.09183 0.164964 -0.914224 0.225679 -0.449071 -0.0604012 -0.432218 -0.000193989 -0.00468364 0.00093279 0.527215 3.1077 -0.0197721 -0.00885291 3.25527 0.00431254 -0.372816 0.00105002 -0.0859486 -0.363104 0.223595 0.00782578 0.106923 0.740306 -0.127431 0.0158673 -0.0212136 -1.20013 0.090731 -0.0894485 -0.00867639 -0.0456524 -5.74035 -0.0154851 1.56401 -0.00309288 0.236809 -0.00822794 -0.0960349 -0.0383226 0.610971 0.397438 -0.145056 0.0588932 0.290926 -0.287513 -2.48472 0.0028086 -0.00544418 -0.0333917 1.45244 -0.65054 -0.00223301 0.223781 0.0141936 -1.02887 -1.92497 -0.508164 0.625819 0.160434 -0.831035 -0.422504 -0.208766 -0.0464192 -0.54084 -0.382838 -0.0780318 -0.0738057 1.03244 -0.0958367 -1.8016 16.6316 1.45202 5.29274 1.66249 -1.23529 4.87769 0.469447 -0.270649 0.210798 0.907128 0.00508232 0.00125539 -0.0205871 0.00710148 -1.1012 0 0 0 0 0 0.0112907 0.108764 -0.000338428 0 0 0 0 -5.29074e-05 0 -0.00522517 0 0 -0.000785732 -0.00117272 -0.00414483 0 -0.000590281 0.00249195 -0.0369971 0 0 0.171086 -6.74642e-05 0 0.00102493 0.290435 0 0 0.0150241 0.0278572 0 0.0142418 0 0.012528 0 0 0.000926846 0 0 -0.109116 -0.00100041 -0.0138505 0 -0.00624416 0.0056449 0 0 0.0425695 0 -0.00106886 0.073064 -0.00225538 0 0 0.00138923 -7.5834e-05 0 0.00127633 0.0103199 0.00788394 0.2247 -0.00309058 -0.0194107 0 -0.00413245 -0.0384756 0.157281 -0.0439827 -0.0413852 0 0 0 1.352 0.124668 0.0689567 0.00700619 0.00612058 0.00526704 0.000527816 0.00045799 0.00125063 0.0195032 0 0 0 0 0 0 0.125808 0 0.09183 0 0 0 0 -0.0591604 -0.962753 0 0 -0.275434 0 -0.0234362 0 -0.0793945 0 0 0.723156 0 -0.719625 -0.00941339 -0.205919 0.0629473 0 0 -0.655313 0 3.12762 0 -3.63825 -0.434151 0 -0.444271 -1.5606 -0.0214802 0 0.0141117 0 0 -0.117174 0 -0.19148 1.77734 0 0 0.159218 0 0 -0.172661 0.437899 0.121999 0 -0.103721 0 1.51525 -0.44189 0.203913 -0.649009 0.268948 1.1235 -1.26215 -0.173576 -1.10989 -6.16974 -0.188912 0 0 0 0.158191 0.108474 0 0 0 0 -0.033984 9.09966 -1.45138 4.79737 1.19126 -0.877615 1.44314 0.101004 -0.0729971 0.0213039 0.305498 0 0 0 0 0 0 +246 0 -0.558079 0.154859 -0.0225588 -0.110603 0.140259 0.139735 -0.757432 -1.86541 -0.27941 0.753924 -0.164012 -0.724701 0.000530589 -0.465626 -0.00502438 0.161133 0.241345 0.173562 0.0110052 1.67124 0.013444 -0.336408 -0.00190727 0.0958308 -0.557353 0.353988 0.0435844 -0.0276715 0.59439 -0.158362 -0.0244889 0.0750081 -0.47267 0.287493 -0.279464 -0.0164722 0.143603 0.146945 -0.255321 1.01777 0.00574283 0.582013 -0.0262355 -0.78856 0.0685352 0.605118 0.199256 0.310022 -0.0188593 0.148915 0.00157918 2.9847 -0.114974 0.0240387 0.0926268 2.12038 0.710134 -0.120622 -0.177611 0.00887146 1.22498 -0.0216562 1.2591 -0.193905 -0.152434 0.249031 0.127199 0.139575 0.0926927 -0.386424 0.311962 0.011396 -0.225736 -0.465824 0.0269427 0.32799 -2.45821 -0.660176 1.29365 0.86698 -0.174265 -0.775061 -0.0247028 0.135417 -0.912951 1.93495 -0.00908911 0.0165215 -0.0903869 0.18635 -0.884154 0 0 0 0 0 -0.0225588 -0.110603 0.00142368 0 0 0 0 0.000133909 0 -0.0203617 0 0 -2.08661e-05 -0.000478098 -0.0100165 0 -0.00213955 -0.0107516 -0.0892311 0 0 -0.221888 -1.78807e-05 0 -0.00268599 -0.471174 0 0 -0.0337804 -0.1085 0 -0.0625712 0 -0.025514 0 0 -0.00390407 0 0 -0.32542 0.00269238 -0.00122657 0 0.0292163 -0.00169243 0 0 0.140033 0 -0.00182753 0.0486584 -0.00120801 0 0 -0.000984061 -0.00554176 0 0.00370013 0.0362434 -0.00307152 -0.285279 -0.0219391 0.0089122 0 0.00103096 -0.00819136 -0.0411362 0.0284001 -0.0658328 0 0 0 0.254098 -0.0378926 0.0185407 -0.00261929 -0.00241055 0.0516589 -0.000136154 -0.000129013 0.000295899 0.034408 0 0 0 0 0 0 0.140259 0 0.139735 0 0 0 0 -0.315531 0.66586 0 0 0.745942 0 0.0869498 0 0.0599327 0 0 0.201757 0 -0.31136 -0.0284166 0.435587 0.0409655 0 0 0.545514 0 2.71992 0 2.83281 -0.113356 0 -0.534406 0.456256 0.0505747 0 -0.0283255 0 0 0.075301 0 0.437782 1.07861 0 0 0.143229 0 0 -0.0232757 2.0844 0.36558 0 -0.41593 0 0.339338 0.559651 -0.461545 0.242514 0.11039 0.279942 -0.0428035 0.133917 1.25436 6.60112 -0.00294596 0 0 0 0.349811 -0.161286 0 0 0 0 -0.423938 -10.2455 -2.55385 1.27462 -0.931379 0.543394 -0.804429 -0.369591 0.273883 -0.295996 0.27293 0 0 0 0 0 0 +247 0 -0.176802 0.160631 0.00932301 0.0956879 0.0423946 0.258876 -0.259741 0.0660077 0.166942 -0.743034 -0.322848 0.682574 -0.000676409 0.635868 0.00901045 0.461574 -0.371561 -0.216477 -0.0055415 -0.628137 -0.0395194 -0.12193 0.000432178 -0.152902 -0.157739 0.431341 -0.0714801 -0.62815 0.0520276 0.367437 0.0100683 0.211781 0.00651057 -0.468229 -0.287424 -0.0344667 -0.332714 0.266562 -0.352751 0.0397541 -0.0124073 -1.46519 -0.0437258 2.0701 -0.180784 0.589797 -0.425559 -0.0354107 0.16206 -0.709673 -0.197986 3.96116 -0.0187354 -0.0313088 -0.00760937 0.944426 0.0918235 0.107853 0.338046 0.0369836 -0.136177 -0.0527275 -0.0886863 -1.00358 0.455141 0.32104 0.795479 -0.430256 -0.0580029 0.591176 -0.129175 -0.0707698 0.547891 -0.180293 0.346847 0.466006 -0.879122 1.31444 -1.4959 0.717529 -0.428472 0.83406 0.118992 -0.127194 0.725233 -0.293392 0.0239756 0.0244691 0.131008 0.262048 -0.0773909 0 0 0 0 0 0.00932301 0.0956879 -0.000773276 0 0 0 0 -0.000134876 0 -0.0226195 0 0 -0.00127965 -0.00175392 -0.0192743 0 -0.00285698 0.00148363 -0.161892 0 0 0.00504858 -0.000109557 0 0.00538798 -0.343488 0 0 -0.0144074 -0.011271 0 0.0140762 0 0.00155249 0 0 -0.00184545 0 0 -0.398061 -0.00254043 -0.0210586 0 -0.013982 0.0213986 0 0 -0.0287966 0 -0.00108232 0.0749507 -0.00296577 0 0 0.00395953 0.00155939 0 -0.00627869 -0.019443 0.0137095 0.102119 -0.00521142 -0.0159064 0 0.0011335 -0.0369664 0.0390204 -0.0225386 -0.114431 0 0 0 4.24359 0.321843 0.57098 0.0208569 0.0188151 0.141193 0.00110131 0.000973377 0.001599 0.0578958 0 0 0 0 0 0 0.0423946 0 0.258876 0 0 0 0 -0.142781 0.117791 0 0 0.079333 0 0.0128931 0 0.0287369 0 0 -0.443732 0 -0.308379 -0.0159709 0.246688 -0.0519576 0 0 0.25224 0 0.531097 0 -0.0172324 0.868276 0 0.0697056 -0.29164 0.0350181 0 -0.0303011 0 0 0.00941056 0 1.02131 -0.213679 0 0 -0.0291918 0 0 0.0719394 -0.0375027 -0.0615039 0 0.863754 0 0.0939685 -0.175086 0.0663164 0.362138 -0.0500075 -0.341401 -0.233573 0.0389095 0.180846 5.55791 0.0419438 0 0 0 -0.0571154 -0.00720189 0 0 0 0 0.0978732 2.02181 -0.111677 0.403621 0.147759 -0.138572 0.181563 0.0147148 -0.0140286 -0.0259355 -0.0137661 0 0 0 0 0 0 +248 0 0.371147 -0.0348113 0.0345919 0.0743965 -0.00410588 -0.201113 0.800267 0.381708 0.155892 -0.400781 0.174049 -0.164083 -0.00858438 -1.20405 -0.00273901 -0.169069 1.70253 -0.114442 -0.0150619 -0.962468 -0.0319199 0.207286 0.00937802 -0.18514 0.368521 -0.28879 -0.0158281 0.423394 -0.432494 -0.275481 0.0472117 -0.0157537 0.0421726 -0.0738309 0.351208 0.0243948 0.0253715 -1.61254 0.559744 -0.712345 -0.0513206 0.319159 0.090549 -1.71764 -0.292372 -0.576385 0.26128 0.0514373 -0.292776 -0.594568 -0.110709 -2.39919 -0.118097 -0.0199307 0.114465 -0.566136 -0.0388334 0.607782 0.227704 0.114617 -0.384295 -0.781736 -0.226601 0.381823 -0.00118048 -0.555693 -0.172418 0.190193 -0.0636244 0.0335598 -0.273872 0.469296 -0.430157 1.10655 -0.65152 -0.423532 -0.823371 0.161219 1.32855 -0.17431 0.248629 0.782709 0.469632 -0.0425291 0.002691 -0.164509 0.262564 -0.383831 0.510982 -0.802468 0.937205 0 0 0 0 0 0.0345919 0.0743965 -0.000514516 0 0 0 0 -0.000293898 0 0.0094172 0 0 -5.04248e-05 -0.00073917 0.00931316 0 0.00164299 -0.0706923 0.0550725 0 0 0.130806 -4.10757e-05 0 0.0143128 -0.42642 0 0 0.0128056 -0.213657 0 0.116413 0 0.0309943 0 0 0.00310626 0 0 0.320937 -0.00551851 -0.00057297 0 -0.00931763 -0.00863177 0 0 0.213713 0 -0.0025478 0.152802 -0.0026005 0 0 -0.000421575 -0.000504861 0 0.0134462 -0.00291708 0.00600997 -0.273588 -0.00449905 0.00139024 0 -0.00353903 -0.00214435 0.215917 -0.0798916 0.0115235 0 0 0 -2.91472 -0.14401 -0.42742 -0.0135572 -0.0119944 -0.0145771 -0.000124339 -0.000116579 0.000199709 -0.00142033 0 0 0 0 0 0 -0.00410588 0 -0.201113 0 0 0 0 0.132148 -0.0979574 0 0 -0.437876 0 -0.0403256 0 0.000173456 0 0 0.269289 0 0.0305096 0.0227765 -0.301009 0.0497105 0 0 -0.0676763 0 2.90905 0 -2.1521 0.0477266 0 0.0282387 -0.802958 -0.0316289 0 0.0160392 0 0 0.00351902 0 0.509146 0.488542 0 0 0.0873681 0 0 -0.585405 -1.51269 0.166812 0 -0.33772 0 1.06792 -0.115489 -0.00489567 -0.252166 0.14532 0.356035 -1.02749 -0.0902096 -0.452353 -5.43739 -0.133261 0 0 0 0.393048 0.102062 0 0 0 0 -0.295015 -2.24675 -1.3631 2.43615 0.313067 -0.416505 0.811976 0.170139 -0.140627 0.122589 0.0358332 0 0 0 0 0 0 +249 0 -0.530754 -0.376752 -0.0196158 -0.141726 0.0215072 -0.237541 0.362656 0.887791 0.08604 0.451304 -0.0146735 0.68088 0.00422473 0.484387 0.0181065 -0.0823301 0.879231 -0.0762363 0.00856398 -1.02384 -0.00917014 0.45603 -0.000635581 0.0789324 0.714156 -0.280302 -0.025916 0.556437 0.272131 -0.0590085 0.00284526 0.193941 0.952311 -0.377402 0.408358 -0.010199 0.0434473 3.78808 -0.221847 -0.895996 0.0371987 -1.00384 -0.0316591 2.49483 0.335089 -0.677807 0.424125 0.114363 0.132321 -0.860853 0.0266443 6.23145 0.0949386 0.14594 -0.167951 0.0875932 0.0632625 -0.587655 -0.194351 -0.0949328 2.10461 1.86018 1.24953 -0.129979 0.272294 0.839554 -0.103748 -0.130753 -0.0937059 -0.0248588 -0.0831959 -0.167872 0.0348029 -0.127934 -0.00439845 1.27612 -9.88533 0.174818 -4.73361 -0.944358 1.01891 -4.05189 -0.293444 0.155428 -0.276568 -1.00527 -0.300926 0.251465 -0.48526 0.36369 -0.589704 0 0 0 0 0 -0.0196158 -0.141726 -0.00184974 0 0 0 0 -0.000279222 0 0.00156506 0 0 0.00232477 0.00579393 0.00659196 0 0.00102101 0.00968654 0.0234802 0 0 -0.128768 0.000326235 0 0.0139978 -0.12282 0 0 -0.0150855 0.00377046 0 0.041996 0 -0.0140405 0 0 -0.00150676 0 0 0.327615 -0.00546666 0.0405836 0 -0.0361741 -0.0440591 0 0 0.213984 0 -0.00230676 -0.250147 0.00198975 0 0 -0.00545085 0.00414701 0 0.0116693 0.0469105 -0.0172777 -1.03806 -0.0369462 0.0427675 0 -0.00799436 0.00806976 -0.160378 0.0373218 0.0426602 0 0 0 -6.0757 -0.516065 -0.582957 -0.0327688 -0.0291468 -0.0080004 -0.00184034 -0.00161434 -0.00336709 0.00281779 0 0 0 0 0 0 0.0215072 0 -0.237541 0 0 0 0 0.0770314 -0.0440698 0 0 0.260776 0 0.0338005 0 0.0222815 0 0 -0.382138 0 0.68272 0.0416965 0.128691 -0.0610036 0 0 0.257224 0 -2.53162 0 4.13251 -0.591545 0 0.350156 1.4922 0.0166288 0 -0.00535265 0 0 -0.0159366 0 -0.980187 -0.445438 0 0 -0.0774026 0 0 0.19899 1.96276 -0.156011 0 -0.248605 0 0.118082 0.030266 0.0190293 0.63584 -0.0649776 -0.571589 0.310298 0.204934 0.734202 5.78698 0.0340508 0 0 0 -0.298868 -0.0954391 0 0 0 0 0.263024 -12.5716 -0.839605 -1.60426 -1.46405 1.05611 -1.4993 -0.168113 0.140251 -0.129643 -0.0881734 0 0 0 0 0 0 +250 0 -0.596487 -0.263589 0.0874824 0.249556 -0.278107 -0.0908482 0.265473 2.47281 0.421479 -1.6274 0.363651 0.333679 -0.0206767 -0.210921 -0.0423608 0.24016 1.06361 -0.225681 -0.107502 -3.07423 -0.0357741 0.430051 0.0213243 -0.376117 0.582311 -0.227861 -0.0138971 -0.348464 -2.15726 0.241799 0.109809 -0.22109 1.26303 0.343056 0.148835 0.0626191 -0.0509001 5.33093 1.05501 -1.10512 -0.12787 1.43106 0.185472 -1.5516 -0.766136 -0.279584 -0.895421 -0.37298 -0.541937 0.450662 -0.372471 3.33962 0.337562 -0.399298 0.317128 1.62341 0.140564 -0.118907 0.495022 0.301609 0.96153 1.83403 -0.324027 -0.68891 -0.363467 1.08694 0.104653 -0.0864803 -0.141555 0.758911 -0.426902 0.55995 -0.0515396 1.57107 0.0728253 -0.658414 -16.7434 2.14328 -8.35952 -0.695664 0.326008 -3.01608 0.824962 -0.60332 1.31467 -1.48584 0.688026 -0.820913 1.79876 -2.1207 4.67475 0 0 0 0 0 0.0874824 0.249556 0.000754205 0 0 0 0 -0.000443355 0 -0.00439708 0 0 -0.0010461 -0.00432641 0.00130047 0 0.000421032 -0.0733665 -0.0465079 0 0 -0.046019 -0.000245844 0 -0.0271527 -0.415245 0 0 -0.00894446 -0.146905 0 0.0255395 0 0.0328835 0 0 0.00299543 0 0 0.0573813 -0.00807458 -0.016439 0 0.0179682 -0.0102491 0 0 0.0324931 0 -0.00438906 -0.193071 -0.00431855 0 0 0.00266507 -0.00555444 0 -0.00190819 0.055099 0.0140372 0.627979 -0.0475693 -0.0291876 0 0.00458101 -0.0102372 0.209834 0.00640662 -0.10541 0 0 0 2.24073 0.215255 0.294551 0.0141349 0.0128946 0.0176779 0.000676085 0.000589593 0.00143412 0.0146135 0 0 0 0 0 0 -0.278107 0 -0.0908482 0 0 0 0 0.520753 0.870905 0 0 -1.04187 0 -0.139335 0 0.0353924 0 0 -0.836614 0 0.674254 0.18625 -0.45787 -0.0984772 0 0 0.270461 0 -2.0742 0 3.1911 0.574893 0 1.40688 1.33337 -0.0623338 0 0.0704105 0 0 0.10491 0 0.260569 -2.13763 0 0 -0.246921 0 0 0.0529088 -1.52815 -0.348818 0 1.74923 0 -0.545897 -0.174955 0.210465 0.558528 0.030841 -0.512489 0.191211 -0.18873 -0.946119 2.86921 -0.191488 0 0 0 -0.124516 0.307563 0 0 0 0 0.0280393 -7.3103 3.43074 -4.87875 -0.852241 0.807549 -1.37119 0.674498 -0.489765 0.429388 -0.627709 0 0 0 0 0 0 +251 0 0 0 0 0 0.0181512 -0.264104 0.642329 2.01104 0 0 0.0306374 -0.770399 0 -0.495419 0.0151095 0 0 0 -0.0361999 -4.02414 0 0 0 0 0.510051 0 0 0.312902 2.19038 -0.364653 0 0.250457 0 0 0.217097 0.00214117 0 0 -0.415473 -1.81174 0 0 -0.0479464 -2.02005 0 -0.890332 0.573337 -0.0222368 0.0973771 -1.94927 0.223766 0 0.0641813 -0.129368 0.308992 -2.01395 -0.748046 -1.34355 0 0 -0.784841 2.92719 0 -1.08149 0.0116287 -1.45397 0 0 0 0 0.378494 -0.22768 0 -0.563604 -0.966071 0 0 0 -4.73592 0 0.545757 -5.32462 0 0.191012 -1.02227 -6.58236 0 0.385531 -1.44703 1.98757 -9.82344 0 0 0 0.101029 0.0029169 0 0 0 -0.0144844 0.00366164 0 -0.00116491 0 -0.000260364 0.00816108 0 0 0 0 0.0917139 0 0.00457878 0 0.151375 0 -0.142062 -0.0942476 0 0.000216261 0 0 -0.0090668 -0.000282574 -0.00433736 0 0.000368056 0 0.000264247 -0.00169375 0.00185425 -0.00387411 0.000236876 0 -1.89168e-05 0 0 0 2.67122e-05 0 0 0.000834347 0.000355595 -0.0739966 -0.00401917 0 0 -0.00246402 0 -0.000483491 0 0 -0.004737 0.00366811 -0.000287035 0.0037357 0 0 -0.0443034 -0.00435082 0.000231085 -0.00286954 0.0740497 0 -0.00200071 -0.000493473 -1.56647e-07 0 0 0 -0.226572 0 0.00829174 0.00314715 0 -0.000700487 0.00126192 -0.0307233 0 0.000387463 -0.00068158 0.00288775 -0.00420406 0 0.0181512 0.101029 -0.264104 0.0029169 -0.101339 -0.081748 -0.0100363 0.589572 0.36135 0.00121209 0.00455906 0.362126 8.12565e-05 0.0178487 -0.00128528 0.0104471 0.0030477 0.0141289 0.248644 -0.565695 0.102334 0.350123 0.0837701 0.0465686 -0.0140361 0.203566 0.160031 0.003978 3.8382 -0.240156 1.91148 -0.143054 -0.000100135 0.847499 0.548983 0.00422757 -0.00259846 0.143913 -0.0262213 0.949683 0.0191354 0.0323486 0.737357 0.235629 0.00240233 -0.0273714 0.150334 -0.0152371 -0.0136395 0.0281291 1.85759 0.479275 -0.02969 -0.40422 0.00610253 -0.538585 -0.0137805 -0.0438544 -0.0755975 -0.0586917 0.592123 0.078855 0.153945 -0.0711819 1.46912 -0.024398 -0.796739 -0.0221754 -0.163546 -0.362219 -0.033852 0.0687454 -0.00639704 -0.104082 0.0524664 -0.0387533 -15.4768 -1.96267 -3.56461 -0.144579 0.930193 -5.38054 -0.020225 0.238774 -0.913234 -0.798108 -0.00129176 0.146558 -0.397652 0.419207 -1.36446 0 +252 0 0 0 0 0 0.416611 -0.0322213 -0.567782 -1.84752 0 0 -0.180512 -0.319392 0 -0.247195 -0.032251 0 0 0 -0.161829 6.57552 0 0 0 0 -0.0162663 0 0 0.477918 -5.06048 -0.505001 0 -0.12537 0 0 0.0820646 -0.0328575 0 0 -0.0121371 0.268831 0 0 -0.0778889 2.05559 0 -0.988137 -0.423496 -0.261366 0.100286 -0.803455 -0.043166 0 0.205412 -0.0402105 -0.353551 1.28633 0.494713 0.386897 0 0 0.338517 -0.997495 0 -1.50493 -0.324114 -0.352668 0 0 0 0 -0.146498 -0.598212 0 -0.175324 0.968381 0 0 0 4.09603 0 0.402261 8.3374 0 0.100355 0.623161 6.77263 0 0.355367 -0.0110818 0.383057 13.8111 0 0 0 -0.100049 -0.00599664 0 0 0 0.00212959 0.0117123 0 -0.000302955 0 0.000540941 0.00708028 0 0 0 0 0.00462644 0 0.00191527 0 0.0562216 0 0.0426606 0.0524816 0 -2.25366e-05 0 0 -0.0113926 0.000801047 0.000287522 0 0.00154191 0 0.000867583 -0.00805737 0.000263458 0.0107254 -0.00113829 0 3.94935e-05 0 0 0 0.000112128 0 0 -0.00281737 0.00250733 -0.00722016 0.0150358 0 0 0.00110213 0 -0.000458589 0 0 -0.00994865 -0.0149489 0.0201284 0.00934572 0 0 0.00268462 -0.00345117 -0.00543396 0.00700018 -0.0422414 0 -0.0211947 -0.00147754 0.0517434 0 0 0 -0.136551 0 -0.0246826 0.0491567 0 0.00213743 -0.00503848 -0.0110947 0 -0.00114604 0.00230992 -0.00911578 0.0178249 0 0.416611 -0.100049 -0.0322213 -0.00599664 0.897349 0.278446 -0.0444114 0.0757659 -0.283638 0.00231586 0.00845717 0.265367 0.000143502 0.0185786 -0.00288743 -0.00335507 0.0137841 0.037893 0.795393 1.99874 0.331873 -0.204695 0.129641 0.129447 0.0946549 -0.385112 -0.123227 0.0299325 -0.197447 0.165291 3.55766 -0.617011 -0.000185433 -0.131616 1.21647 0.00814694 0.00191927 -0.060756 0.0249697 -2.16319 -0.010545 -0.0603435 -0.302927 2.05467 0.0013853 0.0178578 0.294409 0.2422 0.0913402 0.266365 -0.909763 0.136192 -0.0117285 0.139129 0.00441157 -2.32671 -0.015334 -0.247577 -0.251626 -0.424119 -0.572108 0.0923198 -0.0989143 -0.351276 -7.28937 0.0381415 -0.0326372 0.0697944 0.116771 0.086203 -0.0410426 -0.0291085 -0.00413371 -0.0457447 -0.150326 -0.0119956 -28.8056 -1.99866 -1.95842 -0.316039 -0.163525 3.44972 -0.0219762 0.0327095 0.153117 1.01623 -0.00346444 0.0185774 0.124751 -0.354078 3.11887 0 +253 0 0 0 0 0 0.915882 0.350563 -2.42735 -6.0866 0 0 -0.146479 0.774747 0 0.270097 -0.00107763 0 0 0 -0.0559847 0.12147 0 0 0 0 -0.803464 0 0 -0.41617 -2.07666 0.311444 0 -0.367282 0 0 -0.403289 0.0250936 0 0 -0.504072 0.424507 0 0 0.0265166 1.52021 0 0.604891 -0.682294 -0.984688 0.17836 -1.43621 0.142841 0 0.249961 -0.176561 -0.0627466 -1.11635 0.739678 0.394921 0 0 2.34409 -3.90332 0 0.152023 0.310711 2.08229 0 0 0 0 -0.305993 -1.03712 0 -3.19235 0.755601 0 0 0 15.6967 0 1.75576 7.33946 0 0.271269 1.15924 14.6664 0 -0.450541 1.97319 -0.216778 13.6548 0 0 0 0.194229 0.0180915 0 0 0 0.0302591 -0.0377413 0 0.00344376 0 0.00119034 -0.0331249 0 0 0 0 -0.137841 0 -0.0128348 0 -0.350419 0 0.251377 0.14921 0 -0.00121739 0 0 -0.146694 0.00108784 0.0135855 0 -0.00456913 0 -0.00275858 0.00223681 -0.0146556 0.0152792 0.00111638 0 8.6226e-05 0 0 0 -0.000331942 0 0 -0.00225847 -0.00565399 0.18087 -0.00121586 0 0 -0.0169264 0 0.0036397 0 0 0.00647149 -0.00209211 -0.0504086 -0.0215502 0 0 0.125542 0.0223752 0.00931158 0.0863008 -0.00694877 0 0.10676 0.00266033 -0.0739351 0 0 0 0.707405 0 -0.0287209 0.276194 0 0.00230594 -0.022051 0.185876 0 -0.00135902 0.012946 -0.0302713 0.107475 0 0.915882 0.194229 0.350563 0.0180915 0.142107 -0.0481362 0.145086 -0.548598 -0.271313 -0.00818704 -0.0280189 -0.352309 -0.000563134 -0.0362475 0.0106131 -0.0212677 -0.0271334 -0.111478 -0.670007 -0.725246 0.358225 -0.601648 -0.0804346 -0.118935 -0.187993 -0.133829 -0.371595 -0.0191066 -7.11441 -0.132895 2.09959 0.218014 0.000733625 -2.55809 1.27093 -0.00958593 -0.00237167 -0.164447 -0.0112147 -0.615663 -0.00781887 -0.0221785 -2.02729 -1.72688 -0.00485953 -0.0217344 -0.364761 -0.127865 -0.01277 0.319448 -1.35598 -0.253087 0.0497201 0.906178 -0.0178907 1.14427 0.0209391 0.10707 0.217044 0.375833 -0.041345 -0.0248428 0.0335698 0.236172 3.0433 -0.0608104 0.461926 -0.0959886 0.108436 0.152654 0.0920619 0.0871816 0.0162344 -0.262808 0.0205225 -0.00106692 -16.9999 0.88077 7.55032 0.355327 0.640094 0.664912 0.0450694 0.0976893 0.552252 2.39934 0.0101921 0.0669835 0.237242 0.0419831 1.26787 0 +254 0 -0.782463 -0.603832 -0.00256973 0.0719372 -0.0935438 -0.172201 0.148989 1.4144 -0.0182564 0.0919456 -0.138438 0.421756 0.00087685 -0.461435 -0.0209872 -0.839859 -3.14184 -0.0247123 -0.0286679 -0.43574 -0.0132059 0.521063 -0.000732007 0.0234985 0.582935 -0.576796 -0.0107955 0.267857 0.825346 0.087169 -0.00567921 -0.345754 1.78577 0.0172301 0.223221 -0.0132397 -0.0655828 7.86204 -0.183033 -0.350517 0.0105573 -0.130226 -0.0186398 -1.08229 0.121186 -0.341685 0.509979 -0.511792 0.135983 -1.25879 0.340263 -2.73882 0.111778 -0.0204803 0.197217 -0.396777 0.395702 0.455976 -0.0414527 -0.0360988 1.48873 -0.671207 -0.774738 -0.551591 0.658046 0.976257 0.368845 -0.224227 0.00764048 0.522532 0.218084 -0.268805 0.148847 -1.06194 -0.276427 -0.579209 -41.2475 -5.31455 -10.6594 -4.50551 4.55289 -20.5848 0.289368 -0.346845 -0.583746 -5.67389 -0.0376467 0.0726214 -0.49597 0.856432 -5.00946 0 0 0 0 0 -0.00256973 0.0719372 0.00101792 0 0 0 0 0.000153487 0 0.00153486 0 0 -0.000112071 -0.00016526 0.000553574 0 0.000176844 0.000366704 -0.00759842 0 0 -0.148893 -1.18953e-05 0 0.0175576 -0.35829 0 0 -0.0209965 -0.00869462 0 0.11842 0 -0.0119169 0 0 -0.00157434 0 0 0.397122 0.00211615 -0.00155221 0 0.014128 0.0146633 0 0 -0.105914 0 0.00246372 -0.211247 -0.00390393 0 0 0.000849612 -0.000947395 0 0.00123591 0.00338573 -0.00143694 0.143287 -0.00267877 -0.00604942 0 -0.00492099 0.00716033 -0.0548279 0.0127802 -0.00777159 0 0 0 -1.43757 0.0549909 -0.12266 -0.0264554 0.0505133 -0.11391 0.000316139 -0.000612319 0.00121857 -0.00152952 0 0 0 0 0 0 -0.0935438 0 -0.172201 0 0 0 0 -0.0598833 -0.224526 0 0 -0.272886 0 -0.0203093 0 -0.0021617 0 0 -0.441937 0 0.932015 0.0646978 -0.00179244 -0.0417996 0 0 -0.0824037 0 -7.22392 0 3.8379 -0.199613 0 0.507486 1.79455 0.000770398 0 -0.0116385 0 0 -0.00528499 0 -1.5789 -1.3641 0 0 -0.137492 0 0 -0.192287 -2.73446 -0.191371 0 -0.129766 0 1.08811 0.0366582 0.0170732 0.00274727 -0.0364602 -1.37585 -0.393759 -0.0644624 -0.544302 -1.27202 -0.0387447 0 0 0 -0.0645555 0.0260379 0 0 0 0 0.0325503 -26.2835 -0.437796 -3.17557 -0.65963 0.819616 -3.16063 0.145233 -0.12197 0.137061 -0.352741 0 0 0 0 0 0 +255 0 1.29247 0.358311 -0.00850213 -0.126841 0.489619 0.369846 -1.28305 -3.98419 -0.0857509 0.444334 0.173725 0.535096 0.000554127 1.00915 0.0135958 -0.278821 0.149682 0.0461763 0.029916 -0.666109 -0.00914148 -0.369737 -0.000504397 -0.0130623 -0.890049 0.0879842 -0.0161123 -0.725092 -1.83657 0.365442 -0.00634557 0.146223 -1.13107 -0.0167745 -0.432353 0.0127107 -0.110921 -5.32046 0.206099 0.360961 0.00748858 -0.0504562 0.0165543 2.32856 0.103149 0.591645 -1.18052 0.310874 -0.0118857 0.755661 -0.436528 -0.322279 -0.0410463 0.0758183 -0.14002 -2.48532 0.121778 -0.121319 -0.0236865 -0.0246602 -1.18989 -0.128804 -1.24163 -0.184865 -0.277125 0.565629 -0.396801 0.156863 0.0220907 -0.46068 -0.253585 0.105949 0.183913 -2.07037 0.681373 0.908753 25.3858 0.469695 15.2026 1.03108 -1.87588 16.0104 -0.0804993 -0.00189724 -0.699992 11.9173 -0.0320433 0.00560164 -0.0277664 -1.29518 11.1471 0 0 0 0 0 -0.00850213 -0.126841 -0.00114067 0 0 0 0 -5.64569e-05 0 0.00186453 0 0 0.0015957 0.00204632 -0.00273287 0 -9.81179e-05 0.00170708 -0.0229184 0 0 0.14044 0.000152603 0 -0.00603232 0.413052 0 0 0.0202642 0.0476304 0 -0.0529031 0 0.00754783 0 0 0.00119908 0 0 -0.105051 -0.000816582 0.0209098 0 -0.0163834 -0.00157854 0 0 -0.00897147 0 0.000359339 0.0480246 -0.00400307 0 0 -0.00592747 0.00404603 0 0.00612136 0.0239526 0.0192159 -0.371548 -0.0451766 -0.0102617 0 -0.0144592 0.0156149 -0.0010668 -0.0265884 0.110611 0 0 0 0.172757 -0.0625544 0.0995728 0.00645643 -0.0119351 0.0283767 -0.00262555 0.00504182 -0.0104909 0.0172531 0 0 0 0 0 0 0.489619 0 0.369846 0 0 0 0 0.0130913 0.262498 0 0 0.0576875 0 0.0132008 0 0.0092238 0 0 -0.327494 0 -0.221034 -0.126039 -0.0933398 -0.0600741 0 0 0.147594 0 2.32841 0 -3.62911 0.326821 0 -1.19712 -0.733732 -0.00374033 0 0.0151888 0 0 0.0157412 0 0.376109 0.454498 0 0 0.0229527 0 0 -0.395123 -2.48991 -0.286059 0 -1.24005 0 -0.664869 0.0598936 -0.10098 -0.163364 0.13958 -0.348559 -0.257983 -0.0860836 0.699453 -0.577949 -0.0978793 0 0 0 0.0973776 -0.0201128 0 0 0 0 0.012943 31.407 1.1339 6.92853 0.336642 -0.431672 3.41974 -0.0334631 0.0282985 -0.00710551 0.871118 0 0 0 0 0 0 +256 0 1.52726 0.178146 0.0418614 0.302628 -0.031206 -0.203226 1.8 2.1327 0.39241 -1.37799 0.220822 -0.478404 -0.00338461 -0.487512 0.0265842 -0.120721 0.493721 -0.0283699 0.0241435 -1.21577 0.0548291 0.0320267 0.00410543 -0.120916 0.43978 -0.211955 0.0919257 0.492143 1.38793 -0.21919 0.0416257 0.409525 -0.911257 0.2429 0.379034 0.02604 0.279723 -8.86098 0.497193 -0.743974 -0.034958 0.974285 0.0504934 -2.00905 -0.339693 -0.468219 0.920842 0.479143 -0.190331 0.106717 -1.00903 -1.05749 -0.039833 0.101294 -0.389779 -2.55979 0.120264 -0.47481 0.461762 0.0940625 -4.86918 0.239802 0.921423 -2.34313 -0.207651 -2.70444 1.39155 0.34771 -0.0954763 0.66979 -0.560405 0.380821 -0.216532 -1.7511 -1.45609 0.602641 50.1861 10.6947 -0.171988 5.96595 -5.52587 12.158 0.252197 -0.534312 3.04872 -8.1861 0.105526 -0.201099 0.815308 -1.00274 -8.42406 0 0 0 0 0 0.0418614 0.302628 -0.00136516 0 0 0 0 -0.000588725 0 -0.00983664 0 0 4.66424e-05 -0.000493331 -0.00802187 0 -0.000836013 0.00795479 -0.0689789 0 0 0.056413 -4.02042e-05 0 -0.0366577 0.265388 0 0 0.00545193 0.0042228 0 -0.171244 0 0.017068 0 0 0.00167081 0 0 -0.724069 -0.00805337 0.00187246 0 -0.0176158 -0.0380157 0 0 0.221783 0 -0.0104625 0.386089 0.0200592 0 0 0.00199482 -0.00250591 0 -0.0116583 -0.0367508 -0.0141681 0.129388 0.00762181 0.0262163 0 0.014809 -0.0351109 -0.0255314 0.0238172 0.0379203 0 0 0 3.05726 -0.1174 0.431945 0.0679197 -0.12977 0.27966 0.000277981 -0.000555978 0.000921834 0.0215632 0 0 0 0 0 0 -0.031206 0 -0.203226 0 0 0 0 -0.506659 0.532574 0 0 -0.512932 0 -0.0612878 0 0.0124067 0 0 -0.07908 0 -0.531159 -0.0491742 -0.0745555 -0.0324396 0 0 0.221856 0 2.64084 0 -7.86573 -0.439065 0 -0.540202 -2.37274 -0.0101238 0 -0.0606849 0 0 0.041725 0 0.184133 -0.50866 0 0 -0.111489 0 0 -0.283751 1.62021 -0.739931 0 -0.98495 0 -1.98174 -0.00527915 0.0769152 0.49411 -0.0188993 0.146038 0.829326 -0.239218 -0.302786 -8.66868 -0.0701384 0 0 0 0.0911833 0.150555 0 0 0 0 -0.0607264 61.2388 5.17144 5.9796 1.54797 -1.49729 6.52566 0.255429 -0.236369 0.469192 0.530051 0 0 0 0 0 0 +257 0 0.0310395 0.182619 0.00280282 0.0341236 0.0860848 0.213491 -0.278863 -0.543675 0.0229862 -0.228919 0.0450138 -0.431441 -8.14888e-05 -0.862471 -0.00649457 -0.282814 -3.1823 -0.0139878 -0.00736097 2.26978 0.00420968 -0.36271 0.000104936 0.00374881 -0.368488 0.33227 0.00815141 -0.681013 -1.42554 -0.0674666 0.00160368 -0.112758 -0.444605 -0.0601148 -0.364481 0.00235431 0.0903324 -0.516643 0.096937 1.60171 -0.00126606 -0.0723434 0.00510405 -2.43507 -0.0186057 0.931112 -0.825152 -0.115607 -0.0133741 0.608295 -0.33955 -1.95744 0.0127135 -0.0124771 -0.0581047 -0.639101 -0.469402 -0.0647875 0.0590755 0.00279902 0.323519 -2.43822 0.443308 -0.00540291 -0.0687925 0.459436 0.233907 -0.0124431 -0.00295932 -0.0484414 -0.0966576 -0.0825675 0.0387268 0.670975 0.661705 -0.211642 4.75944 1.11565 2.22607 0.277707 -0.635055 5.51125 0.0979066 -0.250052 0.744925 1.85981 0.00167148 -0.00489678 0.0824585 -0.137566 2.82347 0 0 0 0 0 0.00280282 0.0341236 -0.000541412 0 0 0 0 -5.50107e-05 0 -0.000870485 0 0 -6.20235e-05 1.98957e-05 -0.000934644 0 -6.62281e-05 0.00184005 -0.012823 0 0 0.0119515 1.42803e-06 0 -0.00258698 0.0843112 0 0 -0.000392691 0.0197338 0 -0.0105745 0 0.00181403 0 0 0.000132479 0 0 -0.0774439 -0.000757453 -0.000806807 0 -0.00742398 -0.00582813 0 0 0.025555 0 -0.00134837 0.0554293 0.00226506 0 0 0.000185405 0.000750359 0 -0.00195825 -0.00366954 -0.00197542 -0.00996584 -0.00287599 0.00381473 0 7.30047e-05 -0.00196143 -0.0204669 0.00769318 0.0198028 0 0 0 0.328871 -0.0119323 0.0605303 0.00768947 -0.0146781 0.0314741 8.8872e-05 -0.000170123 0.000359685 0.00477491 0 0 0 0 0 0 0.0860848 0 0.213491 0 0 0 0 0.232276 -0.0777432 0 0 -0.393277 0 -0.0468383 0 -0.000470929 0 0 0.0634485 0 -0.771516 0.0652941 -0.0899888 0.00645759 0 0 -0.00929072 0 -0.444554 0 -1.22713 0.165116 0 0.380506 -0.709103 -0.0093464 0 0.0264872 0 0 -0.0176066 0 -0.0847049 -0.0128565 0 0 0.0233751 0 0 -0.110849 1.00181 -0.00539004 0 -0.218506 0 -0.226307 -0.111616 0.131571 0.359207 -0.120833 -0.0218948 0.30667 -0.0599111 -0.925835 -9.0383 0.0329871 0 0 0 -0.0577103 0.0908168 0 0 0 0 0.0167783 15.7866 2.50533 0.0635172 0.468183 -0.272357 2.04403 0.217727 -0.18283 0.348547 -0.360151 0 0 0 0 0 0 +258 0 0.377832 0.184146 -0.00439692 -0.0613918 0.357311 0.174723 0.099429 -0.764201 -0.038949 -0.00450075 -0.0207365 0.85173 0.000127637 1.17653 0.00227767 0.964349 5.0252 -0.0103283 0.0110741 -0.439358 -0.0152067 0.194231 -0.000163912 -0.079515 -0.15002 -0.0309263 -0.00658831 0.128239 1.18255 0.444694 -0.00258375 0.0297831 0.104594 0.0388861 0.0876809 -0.00100783 -0.0759499 -0.987706 0.00155206 0.329255 0.00207805 0.081688 0.000320425 2.72981 0.0327944 0.537985 0.446022 0.180306 0.000760156 2.58008 -0.188486 3.51829 -0.0190057 0.0199727 0.0560994 -0.978717 0.276509 0.100997 0.0871708 -0.0048714 0.531182 0.422409 0.177387 1.63867 -0.223762 0.414889 -0.0986378 -0.0303529 0.00501306 -0.107428 0.0747435 0.100535 0.121949 -1.19245 0.127205 0.817513 0.967315 -0.502357 3.00068 -0.152751 -0.00450833 -0.946519 0.574504 -0.598168 -0.208392 1.84504 -0.00294614 0.000886541 -0.0855951 0.0329451 -2.3422 0 0 0 0 0 -0.00439692 -0.0613918 0.00115408 0 0 0 0 0.00010778 0 -0.000907726 0 0 0.000890415 0.000546947 -0.000460421 0 -4.08105e-05 -0.00216985 -0.014759 0 0 -0.0136801 3.97692e-05 0 0.00438975 0.0330384 0 0 -0.000523722 -0.0172999 0 0.0169741 0 -0.00285206 0 0 -0.000288355 0 0 0.119289 0.00148389 0.0121096 0 0.0158041 0.0163616 0 0 -0.0418294 0 0.00308047 -0.0422729 -0.00712292 0 0 -0.00197824 -0.00139687 0 0.00404838 0.00820787 0.00615621 -0.0994636 -0.0195206 -0.00830493 0 -0.00335769 0.0163916 -0.00675283 -0.00537479 0.0364955 0 0 0 -0.533214 -0.00249729 -0.0249572 -0.0124102 0.0237202 -0.0505332 -0.0011875 0.00226595 -0.00486752 0.00669089 0 0 0 0 0 0 0.357311 0 0.174723 0 0 0 0 -0.827717 0.17216 0 0 0.165459 0 0.0160251 0 0.00251335 0 0 -0.0506569 0 -0.0205169 -0.231136 0.0724254 0.0196657 0 0 0.0570445 0 1.89722 0 -2.70401 0.280529 0 -1.74303 -0.686051 0.00445521 0 -0.111161 0 0 0.0165281 0 0.469658 0.38251 0 0 0.08253 0 0 0.0849735 -1.72226 0.44852 0 1.0053 0 1.13847 0.0783028 -0.211513 -0.416247 0.0305589 -0.288537 -0.378436 -0.1352 0.24111 7.79842 -0.0016611 0 0 0 -0.0415243 -0.0104115 0 0 0 0 0.0260954 19.9174 -0.423032 8.23928 0.0778286 -0.256613 2.1528 0.0890957 -0.0902026 -0.173722 1.49011 0 0 0 0 0 0 +259 0 1.83649 0.497033 0.0191048 0.216804 -0.0343152 -0.00881814 1.23664 1.60936 0.150876 -0.354036 0.129272 -0.273654 -0.000555851 -0.619275 -0.00948095 0.830968 5.96745 -0.0207662 -0.0213086 -0.659886 0.0265502 -0.176937 0.00071669 0.070611 0.110269 0.150997 -0.00625819 0.115374 0.551271 -0.322967 0.0107946 -0.0908396 -0.992752 -0.158583 0.126754 0.00688858 -0.0849003 -7.30025 0.287269 -0.596106 -0.00844516 -0.470858 0.0160123 0.317044 -0.119576 -0.517665 0.213809 -0.21322 -0.0423889 0.29219 -0.473728 -0.0649023 0.0393123 -0.0386077 0.011134 -0.424455 0.321857 0.0181499 0.0659757 0.0181137 -0.710945 0.500512 2.63374 1.98544 0.402413 0.0541255 -0.179513 -0.188162 -0.019427 0.0134951 -0.42556 0.019409 0.135495 -0.811863 0.25091 1.27775 36.8433 5.7875 1.22679 4.26453 -3.92116 11.3119 -0.760978 0.435326 0.404594 -0.523356 0.0107423 -0.0163904 0.0936562 -0.268413 -1.09187 0 0 0 0 0 0.0191048 0.216804 -0.00318089 0 0 0 0 -0.000332142 0 -0.00725633 0 0 0.0011355 0.00129552 -0.00517989 0 -0.000572565 -0.0030029 -0.0607905 0 0 0.15828 9.40174e-05 0 -0.0281079 0.211783 0 0 0.0228449 -0.0152305 0 -0.18111 0 0.0157755 0 0 0.00218577 0 0 -0.726154 -0.00457379 0.0157858 0 -0.0437144 -0.0395551 0 0 0.181093 0 -0.00727033 0.36574 0.0122618 0 0 -0.00218694 0.0048948 0 -0.00592764 -0.0310739 0.00197853 0.0792062 -0.0177066 0.0169908 0 0.00412335 -0.0213624 -0.0297513 0.0153175 0.0726569 0 0 0 3.00355 -0.156891 0.442136 0.070399 -0.134289 0.288945 -0.00148618 0.00283246 -0.00612094 0.0231106 0 0 0 0 0 0 -0.0343152 0 -0.00881814 0 0 0 0 -0.0546906 -0.0118383 0 0 -0.468744 0 -0.0430618 0 -0.00549995 0 0 0.943207 0 -0.681374 0.0168652 -0.139636 0.143394 0 0 0.0762029 0 12.4091 0 -8.88087 0.647925 0 -0.172591 -2.60749 -0.00917854 0 0.00728398 0 0 -0.028507 0 3.715 2.07511 0 0 0.305877 0 0 -0.0521207 2.4687 0.154219 0 -0.370946 0 0.0992157 -0.198982 0.170122 0.50398 0.102734 -0.374922 0.0552789 -0.156735 0.443297 2.91045 -0.130418 0 0 0 -0.0340988 0.0983945 0 0 0 0 0.0549856 65.2001 4.88649 4.99808 1.47092 -1.51725 6.74204 0.113083 -0.114427 0.376865 0.221191 0 0 0 0 0 0 +260 0 0 0 0 0 0.68805 0.378693 -2.37319 -7.34661 0 0 0.149715 0.797972 0 1.12755 -0.0507609 0 0 0 -0.0241995 5.90836 0 0 0 0 -1.15251 0 0 -0.42258 -7.64237 0.0917408 0 0.0419408 0 0 -0.385093 0.0291655 0 0 -0.300313 1.62734 0 0 -0.0703341 5.64995 0 0.438381 -1.89411 0.476477 0.188897 -5.09135 -0.106305 0 0.349243 -0.0712728 -1.12134 -1.2269 0.148596 -0.257713 0 0 2.19727 -0.549211 0 -2.22872 0.492928 1.77964 0 0 0 0 -0.663672 -1.1963 0 -0.747398 2.49376 0 0 0 16.8725 0 1.54323 14.5312 0 0.759727 2.03968 22.8595 0 -0.0713188 4.62866 -2.78862 29.3541 0 0 0 0.0205373 0.0374084 0 0 0 0.0625334 0.0738784 0 0.0123222 0 0.0140567 -0.119562 0 0 0 0 -0.185146 0 -0.0512173 0 -0.604334 0 0.379498 0.906607 0 -0.0114775 0 0 -0.620623 0.00328773 0.0986804 0 0.00940062 0 0.00484707 0.155872 -0.0875597 0.0417709 -0.00822107 0 0.00104214 0 0 0 0.000640735 0 0 -0.0090214 0.00569874 0.128093 -0.00126453 0 0 -0.0350852 0 -0.00974637 0 0 0.0478128 -0.0457874 0.197593 -0.00479162 0 0 -0.0255761 -0.0372489 -0.00784559 -0.295039 0.228021 0 -0.232335 -0.0251631 -0.19419 0 0 0 1.73781 0 -0.0573345 1.82538 0 0.0112389 0.0316479 0.703292 0 -0.00471518 0.0381335 -0.0838768 0.946955 0 0.68805 0.0205373 0.378693 0.0374084 0.852319 0.186379 0.273349 0.529217 1.56336 -0.0677056 -0.0345059 -0.552324 -0.0141423 -0.0858213 0.0770678 0.140976 -0.0333847 -0.280883 -0.151084 1.49277 0.631377 -0.0745836 -0.30655 -0.0374957 0.047646 -0.0877035 0.772646 0.0354137 1.57747 -0.0500098 6.40089 0.397258 0.0175724 0.287029 2.05681 -0.0455969 0.00433487 0.0456274 0.00275793 -0.544035 0.294883 -0.01431 0.56235 1.59182 -0.0102422 0.0134775 0.152351 0.228989 -8.41797e-05 0.473107 3.81191 -1.04989 0.0263523 0.647379 -0.134493 1.48595 0.706453 -0.390356 0.134148 0.417202 0.41887 -0.0420972 -0.502082 -0.937178 -1.20818 -0.0155731 0.766459 -0.103923 -0.0624512 0.103197 0.0832044 -0.0593692 0.154588 -0.385652 0.0173532 -0.248257 -60.9388 -1.81087 -7.77665 -1.13398 1.3645 -5.62603 0.408059 -0.0415675 0.628485 0.0924715 0.216867 -0.000912153 0.281789 0.125823 0.700853 0 +261 0 0 0 0 0 0.0167241 0.144709 0.491483 2.42723 0 0 0.435369 2.37192 0 5.12821 0.416658 0 0 0 0.835921 -5.00823 0 0 0 0 0.710995 0 0 -0.71571 -1.65085 1.41175 0 1.49147 0 0 0.189011 0.115658 0 0 1.79322 -0.611905 0 0 0.484104 7.22946 0 0.389392 -1.16978 2.5487 -0.899313 3.46079 -0.456983 0 -0.735405 1.25055 -0.249908 -6.50057 -2.07582 -0.954941 0 0 0.202883 1.71051 0 -2.34304 -1.92595 1.29059 0 0 0 0 0.623051 1.55342 0 -1.90284 3.03396 0 0 0 -5.97117 0 -3.71813 6.25809 0 -1.53476 1.15608 0.560425 0 -1.86124 0.600597 -2.6839 10.7467 0 0 0 -0.0926188 -0.057447 0 0 0 -0.103414 0.0643917 0 -0.0200191 0 -0.00970971 0.119398 0 0 0 0 0.133437 0 0.0580503 0 0.303102 0 -0.58288 -0.0989186 0 0.00654294 0 0 0.090391 0.00149155 -0.00272136 0 0.0105572 0 0.0049641 0.0299087 0.0318023 0.0193429 0.0288265 0 -0.000703394 0 0 0 0.000784607 0 0 -0.00320049 0.0117082 -0.302833 0.0131177 0 0 -0.0036014 0 -0.00557721 0 0 0.00551471 -0.0145976 -0.021678 0.0339601 0 0 -0.0700044 0.04266 0.0112457 0.0672845 -0.0479855 0 0.112384 -0.00671782 -0.0354028 0 0 0 -0.802379 0 0.00797408 -0.52488 0 0.00260135 -0.036608 -0.23046 0 -0.00173311 -0.0002881 0.0119075 -0.310344 0 0.0167241 -0.0926188 0.144709 -0.057447 -0.411745 -0.0260388 -0.548577 0.41954 -0.185924 0.0801754 -0.0215083 0.661062 0.0167948 0.17738 -0.110964 -0.01664 0.0122154 0.339167 -1.698 -0.963568 0.511808 -0.0207808 0.327581 -0.193281 -0.0626929 -0.0102818 0.163766 -0.00801626 0.990234 -0.0374596 3.32102 0.80894 -0.0222881 -0.0327702 1.67206 0.0832497 -0.00250947 0.0276543 -0.00634578 -0.258868 -0.129384 0.000709613 1.20077 -3.72773 -0.000610431 -0.0190914 -0.428186 -0.0888992 -0.107334 -0.491048 0.465265 0.567132 -0.0797026 1.88877 0.180124 1.80005 -0.521432 0.42035 -0.388101 0.330878 0.390563 -0.921998 0.118288 -1.03586 -10.8453 0.254998 0.123969 0.122901 0.0992962 -0.0531797 -0.423269 0.00457619 -0.16603 0.179414 0.0170383 0.321012 -31.6173 -5.45043 -2.71204 -2.89657 0.714729 -2.29772 -0.490467 0.0697954 -0.489327 0.181289 -0.261869 0.0258208 -0.275977 -0.0121454 0.716466 0 +262 0 0 0 0 0 0.23002 0.269164 0.409209 0.222344 0 0 0.108232 0.158113 0 0.608377 0.0452219 0 0 0 -0.134294 -8.39174 0 0 0 0 -0.303584 0 0 -0.762286 4.49096 0.462871 0 0.590971 0 0 -0.103397 0.061602 0 0 -1.0884 -1.64154 0 0 -0.181431 -0.763792 0 0.298325 -0.00100921 0.766583 -0.0185213 2.19449 -0.0669431 0 0.301611 -0.369101 0.644867 -2.98019 -1.29194 -0.772079 0 0 -0.0227512 5.3674 0 0.494466 -0.487089 -0.303831 0 0 0 0 0.270047 0.458414 0 3.28222 -0.959805 0 0 0 0.0520782 0 1.44907 -8.28067 0 -0.019613 -1.11969 -2.672 0 0.458417 -2.16981 5.99031 -21.3566 0 0 0 0.303236 0.0669646 0 0 0 -0.0287686 0.111888 0 0.00385144 0 0.0217246 -0.0725109 0 0 0 0 -0.0980866 0 -0.0504439 0 -0.0198163 0 -0.450672 -0.364986 0 -0.00744911 0 0 -0.117809 0.00677733 -0.0416057 0 0.0173729 0 0.00834253 -0.255985 -0.0388178 0.0959251 -0.0552676 0 0.00156515 0 0 0 0.0012822 0 0 -0.0181503 0.0120558 0.115109 0.0796151 0 0 0.0185654 0 -0.0154618 0 0 0.0208652 -0.0549159 -0.105538 0.0288433 0 0 0.192693 0.000557827 -0.00987898 0.188747 -0.223624 0 0.211707 0.00761772 -0.0816344 0 0 0 -0.338826 0 -0.188933 -0.0951257 0 0.0132154 -0.0852845 -0.0939209 0 -0.00880951 0.0217021 -0.0738754 -0.161184 0 0.23002 0.303236 0.269164 0.0669646 -0.811681 -0.231922 0.396125 -0.390922 2.8104 -0.0543255 -0.030219 0.190166 -0.0141973 -0.063239 0.0896834 0.29399 -0.0786184 -0.151423 -2.24796 -0.875323 -0.273598 0.0378166 -0.0341821 -0.270373 -0.304097 0.403084 1.52969 -0.0299956 9.13667 -0.624458 -1.5936 2.33291 0.0196895 -0.870471 -0.743302 -0.0283951 -0.0102816 -0.0372783 -0.0957116 2.40412 0.536452 0.0624834 4.56938 -4.51972 -0.00724452 -0.0748299 -0.557606 -0.151466 -0.273233 -0.792286 -2.52058 -1.00062 0.177157 5.62734 -0.139945 0.206098 0.620547 0.639472 -0.0593439 -0.395285 -1.28014 1.19197 0.12795 -4.90813 -15.4203 -0.0285975 0.329794 0.0287554 -0.2549 0.781461 0.155684 0.181207 0.0492142 0.0699417 -0.0814762 -0.830557 15.1717 0.200189 6.12529 1.33601 1.80384 -7.09249 0.0316231 0.426404 -1.33137 -0.0378581 0.116913 0.234042 -0.535998 1.05016 -4.10277 0 +263 0 1.74655 0.569372 -0.000108155 -0.045138 0.358487 0.257954 -0.592158 -3.35157 -0.00300994 -0.132836 -0.180012 -0.43993 -0.000639879 0.0371189 -0.00412306 3.38381 11.8743 0.0562215 -0.0426093 0.180934 0.043275 0.059541 0.000828019 0.0704574 -0.701041 1.11596 0.0866008 -0.127271 0.235396 -0.0490074 0.0037276 -0.0704767 -1.01025 0.449134 -0.221868 -0.0264481 0.150204 -8.88215 -0.473145 0.0712504 -0.00282491 0.816781 -0.0684049 -0.0484292 0.00243722 0.175753 0.0468414 -0.423802 0.186056 0.539205 -0.392389 -17.0349 0.0434959 -0.015828 0.049832 0.778495 0.203378 0.0801459 -0.166513 0.0131642 -2.16436 0.282819 -1.82517 1.15618 -0.149899 -2.17172 -1.13028 0.336933 -0.0111608 -0.624372 -0.341166 -0.547598 -0.000357891 0.576307 -2.08326 -1.41512 37.7985 4.70383 13.3499 4.96695 -1.66778 12.9455 -0.978836 0.637681 1.14918 5.83035 -0.000668423 0.065177 -0.0410309 1.72754 -1.69053 0 0 0 0 0 -0.000108155 -0.045138 0.00601351 0 0 0 0 0.000704965 0 -0.0508669 0 0 0.00474853 0.00822825 -0.0471865 0 -0.00608572 0.0345628 -0.400771 0 0 0.0964969 0.000600467 0 -0.0531847 1.61469 0 0 0.0109836 0.286394 0 -0.238913 0 0.00964428 0 0 0.00157804 0 0 -1.03353 0.0110833 0.0658566 0 0.0940923 -0.0149807 0 0 -0.0590224 0 0.0121258 -0.498097 -0.0299969 0 0 -0.00942457 -0.0101228 0 0.00969839 -0.0790753 0.00516042 1.00894 -0.0808437 -0.0433265 0 0.0290527 -0.0831103 0.291664 -0.0150475 -0.269308 0 0 0 6.19147 -0.0480012 1.68984 0.0689583 -0.135823 0.818333 -0.00623928 0.0104335 -0.0181891 0.321689 0 0 0 0 0 0 0.358487 0 0.257954 0 0 0 0 -0.244459 -0.81915 0 0 -0.177607 0 -0.0359661 0 -0.0602608 0 0 0.735287 0 -0.815653 -0.0930306 -0.0358705 0.0676846 0 0 -0.464827 0 5.42484 0 -6.56467 0.0686065 0 -0.876103 -2.06586 -0.00772539 0 -0.031531 0 0 -0.110627 0 0.928714 2.16045 0 0 0.228132 0 0 0.551662 -3.53439 -0.798192 0 -0.411835 0 -2.96537 -0.0817087 -0.151978 -0.333527 -0.0186084 0.770057 -0.199144 -0.0967024 1.43811 6.6217 -0.0758721 0 0 0 -0.142579 0.0772779 0 0 0 0 0.114732 55.9748 4.37227 8.55833 2.0976 -1.27598 6.76297 0.0549409 -0.0342685 0.164866 0.832262 0 0 0 0 0 0 +264 0 -0.476125 0.0347301 -0.0187796 -0.00412598 -0.118234 -0.365115 1.82997 4.18483 -0.201514 0.802004 0.156012 0.65682 0.00177751 -1.45638 -0.0137957 1.9933 7.37675 0.125627 0.0228574 -0.715301 0.00772947 0.204106 -0.00277946 0.252156 1.42684 0.201595 -0.0240055 0.7482 2.17969 -0.179322 -0.0240059 -0.110625 1.49279 -0.312137 0.664496 0.0262949 0.381763 6.23769 0.327842 -0.629373 0.0134849 0.279756 0.0513224 -0.976713 0.0786956 -0.778814 1.39421 0.244302 -0.164612 1.49449 -0.655103 -7.6711 0.0418857 0.0393168 0.00438306 -1.82609 0.0660735 -0.0149459 -0.332168 -0.0180917 -1.03321 0.405422 -3.84595 -3.2166 -1.05787 -1.13366 -0.679212 0.790024 0.0252032 -0.171306 0.366539 -0.345495 -0.128871 0.719231 -1.44519 0.505529 -32.0241 -4.72459 -16.5097 -3.74621 0.57873 -18.759 -0.593914 -0.016329 -0.957742 -17.7081 -0.0215827 -0.0354091 -0.581479 -0.912791 -15.6538 0 0 0 0 0 -0.0187796 -0.00412598 0.000723732 0 0 0 0 -0.000177779 0 0.00549947 0 0 -0.00122815 -0.00651309 0.0156444 0 0.00153522 0.0532965 0.0883046 0 0 -0.309254 -0.000459222 0 0.0498546 0.477596 0 0 -0.0550108 0.222439 0 0.148893 0 -0.0240054 0 0 -0.0049534 0 0 0.0914429 -0.00245648 -0.0206307 0 0.00959173 0.0249348 0 0 -0.337433 0 0.00158027 -0.247422 -0.0141776 0 0 0.00211303 -0.00117475 0 0.0193545 -0.0602514 -0.0140924 -0.00534879 0.0101328 -0.0229936 0 0.0039387 0.072368 0.146619 -0.0186094 -0.155106 0 0 0 -0.731573 0.239086 -0.509363 -0.0295364 0.0754845 -0.0281754 0.00139903 -0.00581195 0.0286196 -0.0741525 0 0 0 0 0 0 -0.118234 0 -0.365115 0 0 0 0 -0.418252 -0.281034 0 0 0.0516387 0 -0.0053657 0 -0.00664908 0 0 0.318404 0 0.19577 -0.02976 -0.0904854 0.028292 0 0 -0.115572 0 -2.12406 0 0.0907881 -0.567972 0 -0.0937491 -0.182279 -0.0250744 0 -0.0467549 0 0 -0.01775 0 -1.11211 -0.284243 0 0 -0.0451116 0 0 0.059361 -2.50503 -0.203727 0 0.118912 0 -1.22681 0.0550989 -0.151411 -0.0944284 0.0680384 -0.0600848 0.0848608 -0.0670285 -0.211312 0.564396 -0.0344759 0 0 0 -0.0908081 0.0339213 0 0 0 0 -0.000781694 4.01265 -0.0156742 1.73156 0.243983 0.157518 0.390896 -0.0317719 -0.000621241 -0.0307627 0.3162 0 0 0 0 0 0 +265 0 0.305573 0.207418 0.0359562 0.311094 -0.3916 -0.139657 0.62079 2.03359 0.169691 -0.0370704 0.209397 -0.689065 -0.000826324 -0.11655 -0.010683 2.64168 6.43193 0.202098 -0.031479 2.01533 0.0509762 -0.0380887 0.00145609 0.0159705 0.0857658 0.941775 0.0468688 0.165564 0.87618 -0.0529752 0.0151288 -0.0718124 0.283132 0.489783 0.014203 0.0105215 -0.0917526 1.66779 0.217139 0.525532 -0.00521279 1.02785 0.0098798 -2.13971 -0.0119367 -0.0411693 0.271849 -0.249536 0.0522404 -0.687674 0.489558 -12.8776 -0.019183 -0.0036455 -0.481119 2.08656 0.13401 0.0577421 -0.233991 -0.0184184 0.0366647 -0.835959 -2.11093 0.879839 1.19148 -0.611526 -0.93115 -0.518929 -0.00458948 -0.403992 0.184454 0.149202 0.121007 0.0807588 0.784437 -1.87698 -7.2002 -0.525253 -7.27793 -0.0844875 0.00643988 -6.81107 -0.377939 -0.172316 -0.0926724 -7.52415 0.00327371 -0.031224 -0.077286 -0.673415 -6.29242 0 0 0 0 0 0.0359562 0.311094 0.00650442 0 0 0 0 0.000585176 0 -0.000382316 0 0 0.00565137 0.00879641 0.000814846 0 7.63845e-05 -0.0487947 0.0137231 0 0 -0.278357 0.000631333 0 -0.017566 -0.642786 0 0 -0.0343071 -0.214139 0 -0.0368002 0 -0.0205493 0 0 -0.00218214 0 0 0.0637004 0.00743668 0.0787019 0 0.0851447 0.047398 0 0 -0.0553054 0 0.0134103 0.515902 -0.0188293 0 0 -0.0117325 -0.0113494 0 0.0252755 -0.0560713 0.0316403 -0.694181 -0.0343773 -0.0207212 0 0.013645 0.0881269 -0.119688 0.000816548 0.312846 0 0 0 -2.22668 -0.272226 -0.384558 0.0160603 -0.0133171 -0.384186 -0.00732076 0.0119298 -0.0233068 -0.0997196 0 0 0 0 0 0 -0.3916 0 -0.139657 0 0 0 0 0.496257 -1.21871 0 0 -1.04628 0 -0.13629 0 -0.123714 0 0 0.929803 0 -0.444416 0.1884 -0.431269 0.10562 0 0 -0.709541 0 -5.12955 0 -1.27011 -1.22531 0 1.43845 -0.670441 -0.0614516 0 0.0708153 0 0 -0.222321 0 -2.65438 1.55376 0 0 0.171799 0 0 0.46671 1.0272 0.896729 0 -3.22644 0 -0.179772 -0.321683 -0.191425 0.657079 -0.307337 -0.377503 -0.148888 0.144991 2.66437 7.3739 -0.0181841 0 0 0 -0.354848 0.120394 0 0 0 0 0.338572 12.8886 6.06974 -5.4574 1.04107 -0.394826 1.30927 0.412972 -0.277617 0.969749 -1.39336 0 0 0 0 0 0 +266 0 1.30736 0.33236 0.081335 0.0315011 0.430181 -0.101713 0.565037 0.690138 0.430214 -1.0252 -0.0212326 0.333624 -0.0561114 -0.632333 -0.00306533 -1.00127 -0.586317 -0.459501 0.0572819 -2.89407 -0.172677 -0.459371 0.0697651 -0.34791 0.525079 -0.541861 -0.0100516 0.417551 1.43509 -0.0874061 0.194724 0.0597701 -1.55735 -0.0249613 0.360663 0.033451 0.446459 -6.27535 0.448735 -1.33759 -0.173991 1.54491 0.198445 -0.152757 -0.502483 -0.632811 0.807028 0.561884 -0.591275 2.64598 -0.402507 -0.263065 -0.0881348 -0.106094 0.767303 -1.59573 -0.511604 0.437844 0.421827 0.319953 -0.819962 2.09578 3.24133 -0.319364 -0.819468 -0.626151 1.58529 0.396916 -0.257269 0.78662 0.178046 1.14032 -0.243473 2.38995 -1.98195 -0.928212 35.6155 9.71226 1.35682 6.70233 -3.19918 6.17543 1.18417 -0.653674 0.214026 -2.51493 0.771263 -0.720682 -0.193653 0.264095 -5.18481 0 0 0 0 0 0.081335 0.0315011 0.0108548 0 0 0 0 0.00307206 0 -0.0356395 0 0 0.00437992 0.034214 -0.0937757 0 -0.0094934 -0.0397721 -0.335648 0 0 0.121461 0.00249511 0 -0.157439 2.29302 0 0 0.00422114 0.385293 0 -0.335316 0 0.0329967 0 0 0.0031266 0 0 -1.07328 0.0426068 0.0574132 0 0.155654 0.0128935 0 0 0.016929 0 0.0170556 -0.180744 -0.0592225 0 0 -0.00917658 -0.0217014 0 0.00044154 -0.0415184 0.00419599 0.341853 -0.126306 -0.0162968 0 0.0289397 0.0957749 0.195952 -0.0568461 -0.0276605 0 0 0 6.39716 -0.0376554 1.36542 0.0653584 -0.13417 0.83119 -0.006148 0.0112016 -0.0144992 0.22356 0 0 0 0 0 0 0.430181 0 -0.101713 0 0 0 0 -0.65573 0.753336 0 0 0.0905839 0 0.00145908 0 -1.75299e-05 0 0 -0.463992 0 0.134524 -0.132572 0.224515 -0.0581986 0 0 0.0886449 0 3.40319 0 -3.32555 -0.249024 0 -1.13478 -0.522106 0.0265658 0 -0.0858562 0 0 0.0846349 0 0.0103244 -0.746411 0 0 -0.0975773 0 0 -0.141852 1.19599 -0.637128 0 1.05744 0 -0.526621 -0.106258 0.587834 -0.211031 0.0520456 0.284949 1.25164 -0.214967 -1.18681 -8.39688 -0.0643769 0 0 0 0.254137 0.0823351 0 0 0 0 -0.272457 31.6813 1.85786 7.50537 1.186 -0.812356 4.15614 0.00542879 -0.0478637 -0.0641214 1.16225 0 0 0 0 0 0 +267 0 -0.27819 -0.246107 -0.148031 -0.169424 -0.0560917 0.117908 -1.59028 -3.16064 -0.938753 3.48442 -0.578621 -2.25148 0.0953694 -3.978 -0.416093 -0.0808383 -1.77638 0.973212 -0.636846 3.55947 0.365785 0.681241 -0.122119 1.16243 -1.0703 0.108259 0.0116278 0.00231981 0.384552 -1.05051 -0.360619 -1.61308 2.07311 0.0508221 -0.686676 -0.208011 -0.230626 6.83205 -1.14121 1.39416 0.291327 -0.436352 -0.395937 -8.24711 0.836707 0.446905 0.190488 -2.72998 0.943094 -3.26286 2.04222 -0.43986 0.88144 -0.643765 0.457189 6.56355 2.08382 -0.0428979 -1.83528 -0.530788 1.04717 0.276508 -6.83998 4.05368 1.76775 0.543463 -3.81494 -0.283541 0.539991 -2.31294 0.303926 -1.27046 0.582474 -0.2081 -0.202974 0.673764 -37.4299 -18.1358 10.4137 -13.4803 9.33389 -6.166 -4.70999 3.48652 -4.85228 5.5205 -1.28426 1.50241 -1.80659 2.34951 -1.38934 0 0 0 0 0 -0.148031 -0.169424 0.00352382 0 0 0 0 -6.5662e-05 0 0.00719543 0 0 0.00147888 -0.0356622 0.0704718 0 0.00904031 0.211236 0.0287289 0 0 -0.314519 -0.00259005 0 0.288542 -0.315042 0 0 -0.0668445 0.141995 0 0.469839 0 -0.0779207 0 0 -0.0195549 0 0 0.894741 -0.00101506 0.0200632 0 0.0458737 0.0527699 0 0 -0.303867 0 0.018983 -0.238751 -0.0369802 0 0 -0.00157215 0.000910072 0 0.0168827 -0.00139756 0.00323118 0.307736 0.00379395 -0.0240518 0 0.00506867 0.109032 -0.00320021 0.0709054 0.0651096 0 0 0 -4.49311 0.13073 -0.653206 -0.0798269 0.164477 -0.482283 -0.00125247 -2.9786e-05 0.00420512 -0.0608168 0 0 0 0 0 0 -0.0560917 0 0.117908 0 0 0 0 0.178715 -1.81449 0 0 0.52351 0 0.0896298 0 -0.111686 0 0 0.992978 0 -0.582228 -0.0167838 0.122627 0.103219 0 0 -0.716653 0 -7.60954 0 -0.31757 -0.940453 0 0.0595158 -0.548807 0.0262265 0 0.0127741 0 0 -0.273763 0 -2.4098 1.71005 0 0 0.181713 0 0 0.390802 -2.70472 0.088272 0 -3.52167 0 -0.579 -0.375014 -0.00120059 -1.34749 0.0606947 1.65658 -1.15966 0.177631 2.91617 12.4705 0.193303 0 0 0 -0.328131 -0.223158 0 0 0 0 0.343835 2.38332 -3.53675 2.29912 -0.990164 1.02551 0.210879 -0.394044 0.301664 -0.53201 -0.107341 0 0 0 0 0 0 +268 0 -0.621531 -0.104325 0.0850129 0.19032 -0.311716 -0.348605 -0.255323 1.27177 0.60706 -1.68672 -0.525778 -1.02316 -0.0491498 -2.20037 -0.245036 -2.05957 -8.38689 -0.485832 -0.521386 1.16135 -0.181104 -0.298812 0.0669375 -0.555708 0.511142 -0.497231 0.0179393 0.672462 1.39113 -0.719761 0.208386 -1.03348 -0.447223 -0.0736589 0.169936 -0.101189 0.390059 0.739729 -0.857067 -0.198436 -0.109007 0.778028 -0.166374 -4.45844 -0.128208 -0.633537 0.881214 -2.05655 0.435735 -2.61518 -0.330171 3.87109 0.786574 -0.560446 0.227611 4.27194 0.770864 -0.305037 0.631673 0.145255 -1.02918 0.319175 -1.50801 -2.74396 0.257092 0.71332 0.969474 0.0661158 -0.341397 0.634476 -0.963794 -0.964834 -0.178058 -0.0108381 -0.386005 -2.2794 -9.35122 1.99998 -5.43125 1.74192 0.306892 -5.02316 1.55084 -1.1007 2.33359 -5.14916 0.196787 0.561745 -0.836022 2.59003 -5.02599 0 0 0 0 0 0.0850129 0.19032 0.0172213 0 0 0 0 0.00504615 0 -0.0142506 0 0 0.00777589 0.0428383 -0.0676327 0 -0.00809688 -0.139208 -0.113468 0 0 -0.48554 0.00310639 0 -0.117427 -0.739171 0 0 -0.0633471 -0.229454 0 -0.0666042 0 -0.110029 0 0 -0.012181 0 0 0.403285 0.0694338 0.108448 0 0.236169 0.102563 0 0 -0.148634 0 0.0335961 -0.329692 -0.0501112 0 0 -0.0163312 -0.0306934 0 0.0313995 0.00299037 0.0456122 -0.359595 -0.00405914 -0.0516216 0 0.0244592 0.0740619 -0.0272621 -0.0150149 0.0485632 0 0 0 -2.38912 -0.216686 -0.0169995 -0.0280069 0.0586366 -0.297217 -0.0102779 0.0189355 -0.0419599 0.0215357 0 0 0 0 0 0 -0.311716 0 -0.348605 0 0 0 0 0.373998 -0.244946 0 0 -0.306566 0 -0.0172319 0 -0.0663733 0 0 0.470538 0 0.7289 0.154289 0.195226 0.0506599 0 0 -0.39747 0 -3.89747 0 4.79228 -0.881791 0 1.41244 2.02851 0.0406895 0 0.036336 0 0 -0.039657 0 -1.78502 0.39918 0 0 0.0279676 0 0 0.405845 -2.93057 0.578649 0 -1.03332 0 -0.638758 0.122289 -0.521198 -0.070908 -0.0439827 0.129505 -0.710389 0.0366435 0.222438 1.97268 0.133539 0 0 0 -0.324749 -0.0249761 0 0 0 0 0.10437 -39.4329 -1.37754 -8.83839 -1.15877 0.922839 -4.62809 0.170585 -0.171535 0.104506 -1.22618 0 0 0 0 0 0 +269 0 0 0 0 0 0.0116619 -0.318508 1.14057 1.53517 0 0 0.0113977 -0.985987 0 -0.543878 -0.00467029 0 0 0 0.221131 -2.09559 0 0 0 0 0.5356 0 0 0.642557 -0.411952 -0.495312 0 -0.115325 0 0 0.362481 0.0240559 0 0 -0.219543 -1.63272 0 0 0.0550139 -2.60077 0 -1.22559 0.476485 0.102489 -0.0556608 0.260539 0.138042 0 0.194688 0.38576 -0.374942 -0.855518 -0.644992 -1.27013 0 0 0.402263 1.45325 0 -0.00727314 -0.159423 -1.31429 0 0 0 0 0.913676 -0.180602 0 0.210477 0.373718 0 0 0 -2.61188 0 0.325655 -0.637302 0 -0.0507591 1.2025 -4.93061 0 0.0538004 0.998749 -1.86566 3.9333 0 0 0 0.111313 0.00493309 0 0 0 -0.0910859 -0.0185246 0 -0.0172426 0 -0.00162106 0.0148044 0 0 0 0 0.0347671 0 0.00400211 0 -0.0218981 0 -0.499093 -0.695038 0 0.00110042 0 0 -0.0324352 -0.00116944 -0.109221 0 -0.00559448 0 -0.000946258 -0.101531 -0.00207316 -0.0235013 -0.0127299 0 -7.68266e-05 0 0 0 -0.00028282 0 0 0.00100211 0.000489888 -0.0979861 -0.00419469 0 0 0.0105287 0 0.00305985 0 0 0.0259687 0.000168407 -0.0159267 0.0135484 0 0 -0.0749122 -0.0768269 -0.0135923 -0.223461 -0.0187341 0 0.0399568 -8.91952e-05 -0.217197 0 0 0 0.36265 0 0.0753528 0.0344258 0 0.00541978 0.00360947 -0.0271577 0 0.000646757 7.65531e-05 0.0137544 -0.0299198 0 0.0116619 0.111313 -0.318508 0.00493309 0.0696481 0.0107239 0.354052 0.114374 0.0771461 0.0192536 -0.024069 0.00938661 0.00570636 0.0280292 0.035733 -0.00781368 0.0240525 0.0666089 0.381368 -0.378506 -0.104938 -0.0477767 -0.0311024 0.0614553 -0.0738852 -0.135198 0.0357248 -0.00729647 2.99026 -0.00542258 -0.898322 -0.286643 0.00291863 -0.0815797 -0.376679 0.0026452 0.00641388 0.017718 0.00311165 -0.884488 0.00971448 -0.0156035 0.891849 -0.15614 0.00189376 0.0186394 -0.0871559 -0.0665348 0.178316 1.33423 -0.234761 -0.3737 0.0506747 -0.090219 -0.196404 -1.01013 0.0996004 -0.105572 -0.584626 0.0398542 0.739775 -0.100112 -0.154474 -0.241623 -2.03599 0.355398 -0.0585474 -0.00540407 0.285245 -0.275956 -0.108913 0.024975 0.00984537 -0.340539 0.0368578 -0.224828 1.45851 -0.0863018 2.78512 -0.00704615 0.238044 2.17545 0.00534273 -0.00683682 0.462097 0.380545 -0.00697389 -0.0243734 0.363395 -0.343931 1.10945 0 +270 0 0 0 0 0 -0.0488866 0.0724026 0.473947 1.08482 0 0 -0.0898117 -0.0936738 0 0.256048 0.118602 0 0 0 0.0838109 -9.00742 0 0 0 0 -0.0455563 0 0 -0.650944 0.753825 0.228659 0 0.846183 0 0 -0.0403703 -0.00361524 0 0 -0.637527 -2.29198 0 0 -0.186806 -1.47761 0 -0.283008 -0.536831 1.802 0.219635 0.272171 0.965505 0 0.11734 0.0733345 0.162251 -2.30178 -0.802643 -1.23221 0 0 0.797502 5.22092 0 1.05922 -0.0417952 -0.926228 0 0 0 0 0.783949 0.363161 0 0.272569 -0.594088 0 0 0 -1.1705 0 0.817657 -1.02892 0 0.639214 -0.164648 -1.88679 0 0.63111 -0.13745 1.13949 -3.718 0 0 0 0.0920529 0.0349667 0 0 0 -0.0200631 -0.0378282 0 0.00113517 0 0.000665172 0.0495184 0 0 0 0 0.0502485 0 0.0215357 0 0.258159 0 -0.278187 -0.363205 0 -0.00557243 0 0 -0.0549144 -0.000422981 -0.0585377 0 -0.00759252 0 -0.00189981 -0.108691 -0.0223946 -0.00384061 -0.0237772 0 1.34598e-05 0 0 0 -0.000380698 0 0 0.00157385 0.000984797 0.172624 0.0332747 0 0 -0.0088926 0 0.00648778 0 0 -0.00296572 0.0113148 -0.452279 -0.00615651 0 0 -0.0104701 -0.0578414 0.003221 0.0397048 -0.540641 0 0.266306 -0.0121093 -0.410643 0 0 0 0.0662416 0 0.0222826 -0.113128 0 0.00350729 -0.00604987 -0.264849 0 0.000243983 -0.00159466 0.000318102 -0.236746 0 -0.0488866 0.0920529 0.0724026 0.0349667 -0.505358 -0.069747 0.712375 0.0462967 1.4762 0.00604198 -0.0436726 0.34147 -0.00116369 0.0381141 0.151884 0.134296 -0.0688334 0.0702448 -1.45203 0.563729 -0.193156 0.0927795 0.191839 -0.233186 -0.116123 0.113839 0.753732 0.0169754 1.58674 -0.171863 -1.41161 0.425863 0.0281105 0.506803 -0.468647 0.0174329 -0.00385064 -0.0179292 -0.0364448 0.792408 0.298643 0.00920253 0.515051 -1.80601 -0.0123227 -0.0137067 -0.299035 0.1163 0.0397449 -0.0706166 -1.21771 0.323613 0.43202 3.78496 -0.546041 -0.521166 0.0455298 -0.165238 -0.279463 0.0446148 0.0460467 0.290178 -0.204079 -2.4375 -3.7474 -0.0306911 -0.304803 -0.0277425 -0.110663 1.0772 0.116234 -0.109894 0.0131369 0.317504 0.0176443 -1.09919 2.29188 -0.400844 -2.94913 0.0168729 -0.0689673 -1.3551 -0.0117232 -0.0921586 0.0778178 -0.723665 -0.00735456 -0.0179454 0.00977815 -0.034111 -0.281853 0 +271 0 0 0 0 0 -0.131625 0.122989 -0.14578 -0.960282 0 0 0.361323 0.508826 0 1.33793 0.249962 0 0 0 0.31309 -4.51231 0 0 0 0 -0.324326 0 0 -0.516489 -3.1815 0.411806 0 1.39709 0 0 -0.0716068 0.0142667 0 0 0.412703 -1.64102 0 0 -0.204008 1.8087 0 -0.1027 -1.23465 2.43015 0.159522 -0.23587 0.648272 0 -0.766282 0.00344873 0.109955 -0.764392 -0.298652 0.877904 0 0 0.973564 -0.475223 0 1.0574 0.435796 0.910649 0 0 0 0 -0.109561 0.613866 0 -1.23269 0.124679 0 0 0 2.91628 0 0.451789 3.64255 0 0.361243 1.57264 0.683956 0 -0.289955 2.46212 -3.90437 12.0441 0 0 0 -0.185192 0.0269538 0 0 0 -0.00159019 0.0423561 0 0.0110586 0 0.00141689 -0.0273631 0 0 0 0 0.116664 0 0.0294808 0 0.174435 0 -0.0877008 -0.299085 0 -0.0215012 0 0 -0.266854 0.00145229 -0.0983695 0 0.0154257 0 0.00213641 -0.230872 -0.0866374 0.0321079 -0.0745785 0 4.54063e-05 0 0 0 0.000774807 0 0 -0.00415628 -0.00142548 -0.109674 0.0495174 0 0 -0.00500464 0 -0.00716898 0 0 0.0478499 -0.0196994 0.0923914 -0.0667304 0 0 0.172506 0.140921 0.0345801 0.357769 0.327478 0 0.311233 -0.000162365 -0.1245 0 0 0 -1.28294 0 -0.147725 -0.121359 0 -0.0111999 -0.0356293 -0.17494 0 -0.00136976 -0.00448757 -0.0237611 0.171548 0 -0.131625 -0.185192 0.122989 0.0269538 -0.0220171 0.027068 -0.0149798 0.123113 1.57142 -0.0441207 0.0358139 -0.484056 -0.0206364 -0.143741 0.0817991 0.245563 -0.0476704 -0.0273736 -1.75614 -0.239292 -0.188411 -0.0483052 -0.405617 -0.195492 0.168226 -0.0875298 1.57174 -0.0171911 3.31894 0.227955 -1.1703 0.834616 0.0225326 -0.0419547 -0.537031 -0.107907 0.00233074 0.00361748 0.0253914 -0.843057 0.333413 -0.00892057 2.13395 -1.89736 -0.00210202 0.0339853 -0.221962 -0.0683979 -0.180559 -0.561584 0.358172 0.122284 0.0144029 1.18613 -0.0750181 -0.389213 -0.00273751 -0.0470615 0.210214 0.105535 -0.519279 0.714906 -0.0443395 -2.10272 -3.48438 -0.229311 0.0636629 -0.041777 -0.0684298 0.334231 0.222458 -0.0569513 0.0223805 0.13794 0.0135811 -0.586649 1.90009 0.290451 1.04394 0.0834863 -0.456923 2.2972 0.0229425 -0.301953 0.884885 -0.93983 0.00286598 -0.222355 0.512858 -0.722021 1.23662 0 +272 0 -0.450872 -0.498727 -0.0350717 0.0208915 0.0794917 0.032327 -0.816334 -1.44062 0.141611 -0.000700637 -0.0042566 0.430614 0.0344584 -1.13232 0.0643889 -3.00207 -13.4467 -0.0780536 0.228958 -0.9194 0.00107743 0.214166 -0.0369622 0.104702 -0.0753713 -0.799315 -0.258788 -0.22 -0.486296 -0.0344129 -0.0458285 0.302145 0.706535 -1.13816 -0.123922 -0.00975188 -0.468326 1.85913 -0.0732488 -0.114087 0.0909841 -2.36537 -0.046761 -1.36759 0.241377 0.129582 -0.296918 0.77516 0.0919658 -1.23872 -0.574816 -3.75014 -0.30936 0.239162 -0.328129 -2.73219 -0.960272 -0.0859386 -0.169994 -0.110241 -0.71835 0.335666 -1.42274 0.351576 0.962285 0.713395 -0.930134 -0.390494 -0.0984949 -0.62933 -0.589204 0.0126098 0.901052 -0.174157 0.299344 0.693752 -9.02855 -1.19757 0.899312 -1.96463 0.986891 -0.927767 -0.449277 0.403049 -0.128658 2.55163 -0.339053 0.318993 -0.0948183 -0.406604 1.75824 0 0 0 0 0 -0.0350717 0.0208915 -0.000878495 0 0 0 0 -6.64704e-05 0 -0.0108936 0 0 -0.000178384 -9.2405e-05 -0.0134706 0 0.000474292 -0.201874 -0.113133 0 0 -0.840999 -4.5666e-06 0 0.0530874 -3.41334 0 0 -0.122872 -0.875077 0 0.209333 0 -0.283347 0 0 -0.0417815 0 0 0.513298 -0.00132434 -0.00357445 0 -0.0174871 0.00232452 0 0 0.137018 0 -8.91153e-05 0.149347 0.000809441 0 0 -3.12465e-05 0.002425 0 0.000301738 -0.0594334 -0.0012207 -1.28772 -0.000819871 -0.0884248 0 -0.000269458 0.124709 -0.303366 -0.0117967 -0.259012 0 0 0 -0.820253 0.0153043 0.0548296 0.000839466 -0.000950738 -0.204241 6.23055e-05 -7.67585e-05 0.00155599 0.0468287 0 0 0 0 0 0 0.0794917 0 0.032327 0 0 0 0 -0.0897356 -0.603585 0 0 -0.0871003 0 -0.000224081 0 -0.00884595 0 0 -0.81528 0 0.444417 -0.00979342 -0.0425077 -0.138307 0 0 -0.13502 0 -7.7148 0 2.10069 -0.30075 0 -0.253568 0.947668 -0.0061133 0 -0.00313774 0 0 -0.0600988 0 -2.1931 -1.13781 0 0 -0.214377 0 0 -0.155472 -0.600839 0.0167494 0 0.639971 0 0.213097 -0.0643482 0.0800194 0.0191407 0.173364 0.379965 -0.0885848 -0.12455 0.468614 2.83551 -0.00740772 0 0 0 0.0186337 -0.0392353 0 0 0 0 0.18918 -2.29123 0.91811 -0.146216 -0.000688688 0.0021986 -0.223879 -0.0446985 0.0315626 -0.0199058 0.17206 0 0 0 0 0 0 +273 0 -0.773129 -0.191908 0.0629742 0.0655229 -0.186902 -0.154832 -0.659181 -0.282517 0.55195 -0.79657 -0.0942841 -1.24232 -0.0471834 -2.11204 -0.0653488 0.184406 0.0953816 -0.113322 -0.113846 0.628644 -0.0703719 0.0756606 0.0713764 -0.35031 -0.128841 0.0227527 0.235073 0.160807 0.187156 -0.503789 0.208308 -0.451072 0.333889 0.764348 -0.145622 -0.00453703 0.707574 1.81514 -0.200368 -0.0342942 -0.0777736 2.66632 -0.00138525 -4.83059 -0.0609338 -0.24163 0.151066 -0.650372 0.0546747 -0.569367 -0.721378 -1.03284 0.282385 -0.0139724 -0.106037 1.36004 0.718995 0.427411 0.374516 0.120639 -1.15521 -0.52079 0.160574 -1.34251 -0.551009 0.65806 0.423696 0.876928 -0.386063 0.564454 -0.69093 -0.744624 -0.987941 1.3855 0.311414 -1.08551 -3.29254 0.0176721 1.2017 -0.377703 0.140121 -0.592686 0.866308 -0.683508 1.15489 0.438832 0.0855914 0.0731838 -0.0212897 0.56967 -0.676675 0 0 0 0 0 0.0629742 0.0655229 -0.000421635 0 0 0 0 -2.81218e-05 0 0.00866329 0 0 2.05587e-05 -5.29614e-06 -0.0125788 0 -0.00211345 -0.112482 0.0521272 0 0 -0.156834 -2.16564e-06 0 0.0889838 -0.969016 0 0 -0.0227105 -0.289613 0 0.238862 0 -0.0295843 0 0 -0.00191887 0 0 0.987831 -0.000560203 0.00147446 0 -0.0083962 -0.00893283 0 0 0.151568 0 -2.06694e-05 0.179318 -0.00136383 0 0 6.56749e-05 0.00120682 0 -0.000119162 -0.235952 0.00363992 -3.82125 -0.00180892 -0.0447377 0 -9.58402e-05 -0.0889404 -1.08606 0.00734851 -0.394921 0 0 0 -2.0352 -0.0126347 -0.175871 -0.00117868 0.00385594 -0.422683 -6.19212e-05 0.000241006 -0.00283101 -0.0324926 0 0 0 0 0 0 -0.186902 0 -0.154832 0 0 0 0 0.224715 -0.44371 0 0 -0.186872 0 -0.00788011 0 -0.0855077 0 0 0.368492 0 0.197298 0.0212203 -0.101566 0.0509137 0 0 -0.62907 0 -7.27105 0 3.02834 -0.884927 0 0.493712 0.891501 -0.0013822 0 0.0145877 0 0 -0.0696224 0 -2.65311 -0.109528 0 0 0.0170213 0 0 -0.344092 -1.18966 0.0821768 0 -2.67492 0 0.153731 0.0371925 -0.0595776 -0.283266 -0.10651 -0.188632 -0.381301 0.171267 1.791 1.21185 0.00267109 0 0 0 -0.26646 -0.0998808 0 0 0 0 0.464053 -15.3428 -0.955404 -0.850151 -0.497485 0.511898 -1.02029 -0.02958 0.0166344 0.0285374 -0.176954 0 0 0 0 0 0 +274 0 0.13287 0.0752641 0.209246 0.0213784 -0.0676118 -0.3745 1.02021 2.8058 0.193437 -3.3358 0.00798858 0.187492 -0.188079 -1.62883 0.0217333 0.937141 5.70263 -1.10458 0.160925 -0.695938 -0.466234 -0.0497542 0.226364 -1.38644 1.22627 -0.0881503 0.332396 0.580291 0.385872 -0.142356 0.434825 -0.488701 -0.994405 0.690574 0.645438 0.0778296 1.46997 -4.30466 0.659853 -0.309908 -0.431739 4.01546 0.385817 -2.71536 -0.944577 -0.626082 0.680631 0.321388 -0.57701 0.641059 -1.8826 -4.02889 -0.138884 0.161466 -0.0709475 -0.381658 0.237406 -0.0346038 1.63839 0.550578 -0.990362 0.3862 3.631 -3.17966 -1.33602 0.24169 3.84737 1.9614 -0.135164 2.32482 -0.078946 0.142164 -1.6099 -0.253209 -0.210352 -2.37918 18.5301 9.66392 -5.77172 6.18173 -4.50594 4.42981 3.50558 -2.98775 3.97236 -4.07005 1.32681 -1.51043 1.43658 -0.765165 -1.39515 0 0 0 0 0 0.209246 0.0213784 0.00295498 0 0 0 0 0.000226389 0 -0.0283886 0 0 0.000126354 -6.14927e-05 -0.177705 0 -0.0286612 -0.273791 -0.1801 0 0 -0.155846 -4.46104e-06 0 0.154952 -0.673312 0 0 0.0011632 -0.4001 0 -0.0264788 0 0.0231043 0 0 0.0168909 0 0 -0.354143 0.0045148 0.00314235 0 0.0589123 -0.0295246 0 0 0.109139 0 0.000262357 0.19198 -0.00185775 0 0 -0.000421152 -0.00821904 0 0.000433522 0.00197224 0.00797847 0.740836 0.00314224 0.00104543 0 0.0181248 0.118705 0.164974 0.0305561 0.0342167 0 0 0 0.254175 -0.0347363 0.0631153 -0.0020153 0.0051096 0.054232 -0.000155966 0.0003145 -0.00438846 0.0774533 0 0 0 0 0 0 -0.0676118 0 -0.3745 0 0 0 0 -0.0906701 1.07032 0 0 -0.0416528 0 -0.00785326 0 -0.0590754 0 0 0.0948993 0 0.463719 0.012506 0.0451396 -0.00780935 0 0 -0.423322 0 -0.384181 0 0.222938 -0.482245 0 -0.0818463 0.426946 0.0254205 0 -0.000384094 0 0 0.117228 0 -1.20608 -1.41718 0 0 -0.194998 0 0 -0.0339026 -0.649803 0.0395131 0 1.29569 0 -0.146431 0.15335 -0.0903736 0.247355 -0.0156018 -0.526599 0.192228 -0.00633619 -0.750152 1.64844 -0.0200125 0 0 0 0.158459 0.00845596 0 0 0 0 -0.284787 1.90325 0.529663 -0.0144527 -0.569852 0.729414 -0.740467 -0.0592103 0.0640211 -0.0169073 -0.0273087 0 0 0 0 0 0 +275 0 0.376225 0.31034 0.0472976 0.293328 -0.121784 0.215083 -0.513709 -0.925273 0.975392 -0.162114 0.0687356 -0.508905 0.000265309 -0.87305 -0.0467753 2.159 8.04949 0.276838 -0.119415 1.68566 0.103819 0.0193687 0.0163886 0.0522217 -0.548269 0.558809 0.220239 -0.629057 -1.32886 0.0148569 0.128189 -0.40612 0.194639 1.04691 -0.301151 0.0065968 0.903856 -0.325977 0.145499 1.01378 0.00369878 3.99325 0.0192549 -2.69805 0.0631853 0.683027 -0.907878 -0.921052 -0.172222 0.870089 -0.204343 -2.96028 0.345611 -0.114677 0.216375 1.80588 0.313864 0.571763 -0.0518619 0.0199933 0.645008 -2.04648 0.0791734 -1.19582 -1.19393 0.778475 0.76482 0.916992 -0.501532 -0.0342079 -0.0518402 -0.0812157 -1.26055 0.977742 0.811563 -3.1671 1.25601 1.20529 0.201238 0.558751 -0.39309 2.35841 0.37298 -0.00635383 0.361948 2.04119 -0.0197637 -0.0306865 0.163915 0.0656848 1.84704 0 0 0 0 0 0.0472976 0.293328 -0.00181284 0 0 0 0 -0.000542323 0 -0.0207247 0 0 -0.00118774 -0.000624534 -0.0173645 0 -0.00258937 -0.0175886 -0.121927 0 0 -0.0831579 -2.19572e-05 0 0.0239598 -1.07792 0 0 -0.0138408 -0.173418 0 0.0576783 0 0.00788179 0 0 0.000371386 0 0 -0.212526 -0.0107955 -0.0245346 0 -0.0358413 0.0488697 0 0 -0.0657004 0 0.000906928 0.00766397 0.00608834 0 0 0.00168806 0.0054284 0 -0.00471317 -0.0241783 -0.0103114 -0.22135 0.0151407 -0.0397852 0 -0.00517383 0.0136474 -0.00328507 -0.0455498 -0.181733 0 0 0 3.04873 0.232352 0.409453 0.0155428 -0.00621605 0.160776 0.000856465 -0.000661227 0.01512 0.0472639 0 0 0 0 0 0 -0.121784 0 0.215083 0 0 0 0 0.0786152 0.872557 0 0 -0.431312 0 -0.0185792 0 0.0117463 0 0 -0.28537 0 -0.430542 0.00351459 -0.0552114 -0.044838 0 0 0.0774077 0 0.813234 0 -1.01851 0.303739 0 0.0481834 -0.396936 0.0109215 0 0.00257444 0 0 0.105488 0 0.0529375 -0.670723 0 0 -0.0852632 0 0 -0.336521 -0.674099 -0.127883 0 2.43098 0 -0.646476 0.0101391 0.0671103 -0.57598 0.0865361 0.624951 0.567295 -0.139713 -0.485902 4.42361 -0.0275542 0 0 0 0.517084 0.0455481 0 0 0 0 -0.252221 9.93399 2.98422 -0.939609 0.895623 -0.784678 0.949439 0.160611 -0.151956 0.209467 0.0549163 0 0 0 0 0 0 +276 0 -0.694354 0.0531061 0.0151804 0.0351826 -0.238304 -0.0335704 -0.117678 0.414647 0.257007 -0.379641 0.111065 0.116903 -6.81001e-06 0.0475759 -0.0202658 -0.505545 -0.375149 -0.109159 -0.0621598 3.52763 -0.0328468 -0.127723 0.00706546 -0.168374 0.15669 -0.193396 -0.0630441 0.352405 0.547254 -0.163842 0.0470356 -0.105882 -0.0677411 -0.169681 0.0114018 0.0115049 -0.158747 1.21464 0.119372 1.15227 6.46073e-05 0.0660836 0.0109379 1.11028 0.00944971 0.198732 0.422053 -0.332435 0.0494405 -0.381787 0.0458233 3.48959 0.1248 -0.00850898 -0.0966722 2.63811 0.853484 0.960579 0.182797 -0.0107368 -1.16774 -4.18588 1.13481 -0.269106 0.477229 -0.102301 0.134236 -0.304205 -0.139165 0.989311 -0.366015 0.119486 0.195462 0.251983 -0.194025 1.31046 -2.24658 0.553615 -0.971246 -0.257475 0.464845 -2.44525 0.40031 -0.304169 0.191169 -0.985934 -0.00295577 -0.0198552 -0.0921549 -0.151653 -0.760651 0 0 0 0 0 0.0151804 0.0351826 -0.00194618 0 0 0 0 -0.000338418 0 0.000373713 0 0 -0.000133833 0.000786466 -0.0059761 0 -0.000829579 -0.0117019 0.00310291 0 0 -0.0670386 1.88629e-05 0 0.0278784 -0.167352 0 0 -0.0132222 -0.0364966 0 0.100998 0 0.00325802 0 0 9.42179e-05 0 0 0.599973 -0.0067095 0.00212439 0 -0.0385837 -0.0162575 0 0 0.156259 0 0.000631149 0.520714 -0.00936184 0 0 0.000908673 0.00633657 0 -0.00402342 -0.0946348 0.0182787 -0.639026 -0.000650936 -0.0247617 0 -0.00118835 0.00610774 -0.306904 0.0430768 -0.0519355 0 0 0 -1.09299 0.0372275 -0.0323774 -3.63261e-05 0.0384095 -0.487342 3.57953e-05 0.00167129 -0.0152753 -0.0706706 0 0 0 0 0 0 -0.238304 0 -0.0335704 0 0 0 0 0.208864 0.0938012 0 0 -0.261152 0 -0.0355742 0 -0.00811292 0 0 1.03208 0 0.133358 0.0104459 -0.174093 0.160966 0 0 -0.00642695 0 2.81637 0 2.52274 0.183208 0 0.434701 0.686303 -0.028363 0 0.0122515 0 0 0.000658287 0 1.05723 1.91064 0 0 0.301631 0 0 -0.345047 0.962188 0.104476 0 0.0406356 0 0.35868 -0.0547002 -0.0173773 0.255878 -0.0580929 0.21079 -0.397764 0.204821 2.39789 11.1208 0.0238875 0 0 0 0.294131 -0.137917 0 0 0 0 0.255945 -10.097 -0.424984 -0.457905 -0.288144 0.203743 -0.507595 -0.0532749 0.0521335 -0.0389912 0.0278212 0 0 0 0 0 0 +277 0 0.50709 0.443876 0.00355429 -0.0984714 0.0850492 0.228492 -0.704201 -1.66622 0.190619 0.037357 -0.275342 -0.337233 0.000979464 0.349614 -0.0642615 0.763894 3.37902 0.00857322 -0.180425 5.96401 -0.0103373 -0.490982 0.00397376 -0.216562 -0.560927 0.47956 0.0803141 -0.0578882 0.859446 -0.0285573 0.0285021 -0.589317 -1.37699 0.399121 -0.354315 -0.0462501 0.140269 -4.74947 -0.503985 2.40135 0.021113 0.753951 -0.0866365 1.29624 0.208725 1.04048 0.227405 -1.50307 0.287203 -0.619708 0.218158 1.86586 0.519788 0.141589 -0.21173 -0.221597 1.07788 -0.49276 0.231485 -0.0676369 -0.85213 -2.46168 1.78464 0.574293 0.537839 -0.562466 0.504122 0.0464859 -0.0888088 0.832474 0.0931816 -0.543528 0.0125369 -2.22991 0.507965 0.928955 18.1714 3.20614 4.4827 2.30672 -1.05974 4.00442 -0.0144721 0.254426 -0.70688 2.00026 -0.065287 0.0526207 -0.279471 0.242375 -1.19458 0 0 0 0 0 0.00355429 -0.0984714 0.00208723 0 0 0 0 0.000716666 0 -0.0188318 0 0 0.000637992 -0.000920518 -0.0263184 0 -0.00562234 -0.0655843 -0.0755342 0 0 0.257193 -6.62257e-05 0 0.0192986 0.174642 0 0 0.0478781 -0.11633 0 0.0511997 0 0.0326397 0 0 0.00842031 0 0 0.110571 0.0143386 0.0153736 0 0.0417062 -0.091826 0 0 0.285618 0 -0.00172868 0.171456 -0.00872805 0 0 -0.00297987 -0.00740181 0 0.00868728 -0.110947 0.0221873 1.05149 -0.0267472 0.028229 0 0.0367417 0.0663993 0.0779338 0.0431822 0.102969 0 0 0 -3.93596 -0.27512 -0.457044 -0.0212421 0.0275519 -0.363348 -0.000961436 0.00129133 -0.0206884 0.0191076 0 0 0 0 0 0 0.0850492 0 0.228492 0 0 0 0 0.0043743 -0.793422 0 0 0.135784 0 -0.0322126 0 -0.105113 0 0 1.20342 0 -0.736597 -0.0633564 0.00674602 0.170022 0 0 -0.762731 0 0.842983 0 -2.89175 -0.179547 0 -0.481862 -1.24239 -0.0246002 0 -0.00791086 0 0 -0.12209 0 -0.322413 1.9396 0 0 0.291552 0 0 0.309912 0.570224 -0.150419 0 -2.66923 0 -0.00746072 -2.77294e-05 0.0387524 0.431208 -0.114804 -0.18677 -0.325574 0.0915654 1.1349 -2.6137 -0.0237277 0 0 0 -0.462614 -0.0147382 0 0 0 0 0.339425 13.1168 -0.324325 2.97211 -0.169773 0.19969 0.451944 -0.179969 0.187452 -0.172442 0.371447 0 0 0 0 0 0 +278 0 0 0 0 0 -0.128651 -0.0508837 1.52214 2.49219 0 0 -0.0750587 -0.267127 0 0.423899 0.0141333 0 0 0 0.0534348 -1.69915 0 0 0 0 0.204579 0 0 -0.0502596 2.75411 0.174718 0 0.0518011 0 0 0.199649 -0.0548986 0 0 -0.790708 -0.00136682 0 0 -0.342541 -1.79908 0 -0.0106414 0.451622 0.0920462 0.42556 1.21861 0.553703 0 0.270787 0.25087 0.38914 0.900002 0.434724 0.854042 0 0 2.44217 -1.33045 0 1.63085 -0.101707 -0.469547 0 0 0 0 1.29029 -0.374032 0 0.0350081 -0.156146 0 0 0 -7.40946 0 1.25981 -5.45221 0 1.13878 -2.07618 -2.77778 0 1.7909 -3.43861 3.6533 -8.08068 0 0 0 0.0755604 0.0124851 0 0 0 -0.063502 -0.0362329 0 -0.00860503 0 -0.00373898 0.0426443 0 0 0 0 0.199943 0 0.0318482 0 0.365087 0 -0.382847 -1.05747 0 -0.00501609 0 0 0.0849661 -0.00231867 -0.246909 0 -0.0124614 0 -0.00199788 -0.183306 0.00389102 -0.0224015 -0.055665 0 -0.000424917 0 0 0 -0.00091024 0 0 0.000826511 -0.00456022 0.150186 -0.0772094 0 0 -0.0712182 0 0.00100923 0 0 -0.0299598 0.0130716 -0.217136 -0.0346373 0 0 0.0624867 0.0738695 0.0816097 0.0331347 0.350398 0 -0.14868 0.0143027 0.504004 0 0 0 -1.61538 0 -0.156532 -0.0452126 0 -0.0257103 0.0225799 -0.0695032 0 0.00385007 -0.0110311 0.0155425 0.0410975 0 -0.128651 0.0755604 -0.0508837 0.0124851 -0.2756 -0.0776447 0.328638 0.187667 2.27408 0.0023342 -0.0111359 -0.0792604 -8.32093e-05 -0.00306044 0.0531159 0.146795 0.0913547 0.032211 0.318858 -1.18461 -0.65587 0.0547404 -0.0969091 -0.0263502 0.265849 0.0868983 0.631208 -0.0189553 7.67539 -0.178911 -3.70293 0.904327 0.010741 0.671767 -1.79656 -0.0175723 -0.00247101 -0.000537433 -0.0421708 0.79174 0.510735 0.00918904 3.3156 -0.819896 0.00433819 0.00518253 -0.209574 -0.137393 0.0892533 0.4141 2.50677 -0.0267084 0.0168442 2.18029 -0.180411 0.125782 -0.0437597 0.0578905 -1.59396 0.125356 1.59841 0.846078 0.00566281 -1.01679 -2.4905 0.147369 -0.021304 -0.0421666 -0.125548 0.41474 -0.366782 -0.147366 -0.0419397 0.125393 0.135694 -0.672952 51.2031 7.86803 -6.04869 3.00205 -0.549279 -2.19455 0.00534959 0.268695 -0.92222 0.218389 -0.0561028 0.201919 -0.598937 0.455867 -0.800107 0 +279 0 0 0 0 0 -0.309336 -0.207987 1.9595 4.84293 0 0 0.0112769 -0.351966 0 -0.523474 -0.0835364 0 0 0 -0.413865 1.04426 0 0 0 0 0.812938 0 0 -0.122979 -2.27583 0.16481 0 -0.148296 0 0 0.304861 -0.0302484 0 0 -0.45241 0.137105 0 0 -0.225121 -4.06722 0 -0.0159391 -0.428631 -0.459025 0.371256 3.48351 -0.374249 0 0.388936 -0.2676 -1.01122 2.84901 0.407061 0.852481 0 0 -0.4768 -0.488811 0 -2.02737 -1.8255 -1.77523 0 0 0 0 0.74235 -1.32252 0 3.3623 0.718151 0 0 0 -14.838 0 -0.618854 3.8497 0 -0.296567 1.5393 -5.77703 0 0.9579 1.11754 -1.34333 10.692 0 0 0 0.0737526 0.00549344 0 0 0 0.0896974 0.0172509 0 0.012834 0 -0.00806875 0.105451 0 0 0 0 0.300777 0 0.0412416 0 0.713268 0 0.57373 -0.643656 0 0.0100164 0 0 0.120202 -0.00445783 -0.0633079 0 0.00845627 0 0.000269098 -0.143134 0.0313977 -0.0559798 -0.0180967 0 -0.000557227 0 0 0 0.000479456 0 0 0.00733551 0.00489901 -0.541659 -0.0213919 0 0 0.0393276 0 0.0013773 0 0 0.0791412 -0.0490528 -0.123125 0.0180543 0 0 0.244858 0.0445969 0.0428564 -0.0655273 0.17184 0 0.362289 -0.0230357 -0.113839 0 0 0 -1.51562 0 0.00859391 -0.401442 0 -0.0105109 -0.014492 -0.211565 0 0.00503378 -0.0183991 0.0172298 0.0905524 0 -0.309336 0.0737526 -0.207987 0.00549344 0.452863 0.0407444 -0.133418 0.302837 -0.890586 -0.00922931 -0.0526592 0.341118 -0.000982248 0.0595007 -0.0279356 -0.0168878 -0.0941587 -0.0599706 -0.663826 0.52661 -0.360714 0.188575 0.000476311 -0.154184 -0.354789 -0.0718009 -0.109928 -0.00642296 -2.41313 0.355184 -0.911819 -0.429892 -0.0044438 0.96594 -0.88192 -0.0011518 0.00465469 0.0486991 0.0377025 -0.847796 -0.218233 -0.00408424 -1.51584 -0.728829 -0.0124079 0.0350899 -0.222296 0.0185583 0.0575566 0.180974 6.1755 0.685725 0.0555712 2.1079 0.0621515 -1.67012 0.121997 -0.528507 0.31528 -0.0222107 -0.084418 2.1633 0.303779 2.64733 10.2056 -0.361605 -0.0401225 -0.177619 0.0131675 0.583434 0.0720645 0.145473 -0.0246808 -0.204975 -0.00699423 0.209683 12.6084 -0.555936 -7.1376 1.2087 -2.48378 3.1681 -0.178516 -0.492304 0.583136 -0.692305 0.104452 -0.310229 0.378043 -0.283775 0.580475 0 +280 0 0 0 0 0 0.508505 0.589213 -1.39838 -4.06678 0 0 -0.190608 2.65716 0 4.53287 0.419584 0 0 0 0.716747 0.587641 0 0 0 0 -0.727964 0 0 -1.00205 3.26615 1.20328 0 2.24576 0 0 -0.339986 0.0861775 0 0 -3.08504 0.716745 0 0 -0.626539 11.3476 0 0.82552 -0.432414 4.46754 -0.0451985 0.516772 -0.367217 0 -0.235759 0.041712 0.262929 -1.18915 -0.175042 -3.32437 0 0 -0.319495 5.81509 0 -0.127698 -0.338884 1.58839 0 0 0 0 -0.713781 1.14678 0 -5.1212 -0.868476 0 0 0 10.176 0 5.07751 -3.53902 0 2.24824 -2.24784 5.65801 0 3.71635 -4.24341 7.79236 -11.3348 0 0 0 0.468728 0.129019 0 0 0 0.14824 0.0131959 0 0.0307939 0 -0.0154876 -0.0696257 0 0 0 0 0.0722674 0 0.0133999 0 -0.241037 0 0.599853 0.931013 0 -0.00504076 0 0 0.126231 -0.00428678 0.178488 0 -0.00877302 0 0.00046463 0.139308 0.00411795 -0.0704226 0.0320119 0 -0.000933025 0 0 0 -0.00060418 0 0 0.00257573 -0.000935799 -0.305207 0.0422093 0 0 0.0278864 0 0.00204759 0 0 0.0127546 -0.00727285 -0.236392 -0.00187037 0 0 -0.00144351 -0.0796321 0.0557854 0.0118693 -0.248374 0 0.287219 0.00241977 0.132457 0 0 0 0.783528 0 0.170029 -0.170637 0 0.0117864 -0.00198658 0.00554855 0 0.00273765 -0.00801753 0.0222752 -0.0787575 0 0.508505 0.468728 0.589213 0.129019 -0.774449 -0.0781549 1.43324 -0.652686 3.53437 0.0181423 -0.169646 1.32172 -0.00332647 0.0647018 0.216173 0.257621 -0.130167 0.461265 -1.28409 0.716119 0.318177 -0.445535 0.349892 -0.16976 -0.891323 0.228804 1.59876 0.0224604 3.86808 -1.31599 3.11419 1.45366 0.0336368 -2.40933 1.19001 0.00400797 -0.0325301 -0.121589 -0.25242 1.69897 0.526692 0.025815 2.73088 -3.17437 -0.0225587 -0.156363 -0.374349 0.146273 0.270699 0.259905 -7.6369 -2.33203 0.0332886 1.81716 -0.605487 2.75368 -1.80365 1.80251 -1.61674 0.19634 1.18687 -4.05792 -0.188992 -3.93002 -6.54585 0.631052 -0.387589 0.298378 -0.373929 0.323595 -0.523762 0.0293373 -0.237757 0.108674 0.0913937 -1.51542 -43.0621 -15.2944 18.68 -5.90116 7.78125 -8.20755 -2.06288 2.42516 -2.5493 2.33232 -0.803398 1.23204 -1.45564 1.41776 -1.58302 0 +281 0 -0.19063 -0.136701 0.155879 0.0194966 0.00524396 -0.315686 0.474946 1.47203 -0.692807 -2.78838 0.0804515 0.418779 -0.143675 -0.204337 0.166955 -1.61125 -4.83508 -0.940911 0.444539 -4.10892 -0.478906 -0.107397 0.101987 -1.39436 0.963391 -0.583699 0.0153615 0.415872 0.704614 -0.0310697 0.099926 0.815414 -0.438628 -0.178756 0.488313 0.102722 0.604755 -0.254499 0.41395 -1.99625 -0.339451 1.56504 0.255079 -0.291984 -0.755707 -0.972039 0.567483 2.12657 -0.68927 0.378177 -3.17083 5.26517 -0.459358 0.0493151 0.374585 1.91833 -0.109843 -1.93345 1.89738 0.489049 0.359446 5.12873 2.76372 -2.19991 -1.46221 0.907096 2.40066 1.72195 0.862543 2.31215 -0.098699 0.290464 0.220355 -1.24883 -0.886394 -0.871404 -2.48309 7.88459 -5.08788 4.96463 -1.66982 -3.10911 4.33637 -2.71733 2.57954 -1.30971 1.07915 -0.92245 0.474156 0.0492029 -1.82235 0 0 0 0 0 0.155879 0.0194966 0.0138866 0 0 0 0 0.00103274 0 0.011217 0 0 -0.00457939 -0.0347986 0.0348101 0 -0.00295717 -0.148828 0.0752014 0 0 -0.336488 -0.00252669 0 0.0612721 -2.27248 0 0 -0.0501805 -0.586366 0 0.0787482 0 0.0143892 0 0 0.00403903 0 0 0.691918 0.0164728 -0.0561249 0 0.204043 -0.0671418 0 0 0.134102 0 0.00222562 -0.248639 0.0040672 0 0 0.0080412 -0.0405366 0 -0.0182291 0.153375 -0.0409101 1.37326 -0.0313954 0.0507435 0 0.0338409 0.0140406 0.00306812 0.0300899 0.00233282 0 0 0 -4.66712 -0.319923 -0.133771 -0.0104731 -0.0267379 -0.0751624 0.00728373 -0.0123352 0.00992984 -0.012326 0 0 0 0 0 0 0.00524396 0 -0.315686 0 0 0 0 -0.297731 1.66325 0 0 0.37172 0 0.0466843 0 0.0667685 0 0 -0.763089 0 1.07501 0.0260845 0.471483 -0.08783 0 0 0.626667 0 -0.734828 0 4.421 -0.425739 0 -0.0207334 2.29433 0.0639485 0 -0.0156303 0 0 0.203419 0 -0.887486 -1.5679 0 0 -0.189067 0 0 0.249651 -2.3618 -0.154147 0 1.6259 0 1.26376 -0.521672 0.349163 0.8592 0.172117 -1.08288 -1.3824 -0.227141 -1.65481 4.79097 -0.248989 0 0 0 0.0187339 0.212362 0 0 0 0 -0.456119 -56.3707 -10.955 4.94224 -3.45264 1.43793 -1.27017 -0.393164 0.198209 -0.103705 -0.0615705 0 0 0 0 0 0 +282 0 -0.827283 -0.45532 -0.0245021 0.196454 0.0451741 0.112771 -0.805384 -1.38234 -0.334829 -0.0517191 0.361752 -0.954464 0.0544878 -0.681025 -0.117069 -0.782513 -8.07669 0.497623 -0.304801 -0.762427 0.196325 0.408282 -0.0846409 0.1201 -0.790465 0.166974 -0.0173364 -0.246946 -0.852613 -0.292351 -0.212043 -0.0214061 2.06964 0.656263 -0.432136 -0.00454345 -0.590143 8.22867 0.628793 -0.0207121 0.104131 0.227557 0.000740838 -1.71031 0.201177 0.222375 -0.458191 -0.428938 0.314666 -0.998363 -0.135333 0.143078 -0.194293 0.563376 -0.285785 2.24934 0.263911 0.44411 -0.124821 -0.184205 -1.75316 -0.665964 -4.34514 1.7787 0.425153 0.817629 -2.20536 0.108775 0.660551 -0.31893 -1.34519 0.215323 1.27226 1.33864 0.359308 0.646818 -41.4728 -7.10582 6.34899 -7.48669 3.63244 -5.48813 0.765663 -0.657531 0.534148 1.83963 -0.28728 -0.282073 0.348611 -1.52041 2.20513 0 0 0 0 0 -0.0245021 0.196454 0.0043474 0 0 0 0 0.0030217 0 0.0400662 0 0 -0.0104485 -0.0303706 0.0333868 0 0.0124104 -0.00826879 0.182989 0 0 0.365774 -0.0021053 0 0.106816 -1.14998 0 0 0.0505113 -0.158597 0 0.50853 0 0.0449494 0 0 0.00504868 0 0 1.44332 0.0438222 -0.146644 0 0.070737 0.0383458 0 0 0.519944 0 0.0203397 -0.123445 -0.0302936 0 0 0.0138132 -0.000537333 0 -0.0447189 0.0857126 -0.0195037 0.727069 0.0182667 0.0571878 0 0.0470933 0.0309441 -0.253524 0.169234 -0.0951815 0 0 0 -4.41001 0.0810466 -0.460513 -0.0837067 0.076491 -0.179865 0.0114082 -0.0145315 0.0222652 -0.0291199 0 0 0 0 0 0 0.0451741 0 0.112771 0 0 0 0 -0.00040159 0.330876 0 0 -0.443263 0 -0.0390377 0 0.010134 0 0 0.271702 0 -0.105146 -0.0129811 -0.254488 0.0489281 0 0 0.267262 0 -3.9423 0 2.14753 -0.0978147 0 -0.308103 0.33825 -0.0269851 0 0.00875832 0 0 -0.0174714 0 -0.797293 0.671826 0 0 0.104678 0 0 0.201319 -2.74473 -0.19923 0 0.343837 0 1.23694 0.328266 -0.0561257 0.492532 -0.0782415 -0.349014 -1.29602 -0.11603 -1.04062 0.890237 -0.120126 0 0 0 -0.0457246 0.0168294 0 0 0 0 -0.0522954 -25.0331 -0.652232 3.29418 -2.12522 1.18589 -0.89813 0.472197 -0.238972 0.163653 0.155853 0 0 0 0 0 0 +283 0 0.89497 0.547477 0.111043 0.272669 -0.106699 -0.161257 0.192011 0.703737 2.15686 -1.22341 -0.312011 -0.288052 -0.0249664 -2.43894 -0.286848 2.20912 10.058 -0.385084 -0.595135 1.88107 -0.146165 -0.281206 0.109689 -0.563981 0.484263 0.547963 0.190072 0.53764 1.58078 -0.501517 0.475431 -1.61944 -1.00832 0.458977 0.189855 -0.0622514 0.647315 -3.76284 -0.646872 0.143678 0.0698379 2.23176 -0.102011 -3.15754 0.727005 -0.311557 0.920814 -3.41193 0.265077 -1.75203 0.0613283 -1.433 -0.0320379 -0.144758 0.70405 -0.110882 0.554408 3.12704 0.460146 0.0956521 1.10747 -2.76573 2.25735 -0.784571 0.0603728 -0.547917 2.30857 1.20857 -0.70898 0.178015 0.535603 -0.714723 -0.943528 4.00131 -1.35459 -0.571832 12.5808 3.48804 -0.560597 1.89463 -0.937438 -1.1343 1.54285 -0.704048 0.262654 0.209049 -1.03816 1.06495 -2.06881 2.14783 -4.08841 0 0 0 0 0 0.111043 0.272669 -0.000419401 0 0 0 0 -0.00120253 0 -0.00168187 0 0 -0.00223128 -0.0105809 0.0230581 0 -0.003743 -0.164454 0.0836881 0 0 0.426593 -0.000694619 0 0.0463852 1.07508 0 0 0.080033 -0.132183 0 0.0247616 0 0.158899 0 0 0.0287112 0 0 -0.143344 -0.0176873 -0.0359596 0 -0.00770833 -0.00569101 0 0 0.0597023 0 -0.00244483 -0.143514 -0.0031608 0 0 -0.0014242 0.00532476 0 -0.00505624 -0.183087 0.0200355 0.35823 -0.00434195 -0.0177806 0 0.0665035 -0.00838936 -0.199632 0.165238 0.0207663 0 0 0 1.02489 0.146547 -0.0533994 -0.0066371 0.016163 0.0152841 0.000939203 -0.000340165 0.00469591 -0.0125002 0 0 0 0 0 0 -0.106699 0 -0.161257 0 0 0 0 0.025184 -1.4089 0 0 -1.1274 0 -0.145941 0 -0.118612 0 0 0.686361 0 -0.590951 0.0132332 -0.370772 0.101959 0 0 -0.89468 0 -1.47531 0 -5.15178 -0.591739 0 0.303926 -1.61891 -0.0491775 0 -0.00328179 0 0 -0.184038 0 -1.09406 1.24728 0 0 0.179087 0 0 -0.277604 2.12276 0.226128 0 -0.996013 0 -1.56899 0.994074 -0.551059 -0.274934 -0.212872 0.13613 2.06458 0.135411 1.45275 2.71966 0.0926253 0 0 0 0.0250015 -0.142022 0 0 0 0 0.450603 60.6742 14.9991 -6.04546 4.60133 -2.55561 2.22535 0.862376 -0.506225 0.506623 -0.230587 0 0 0 0 0 0 +284 0 0.0290236 -0.0348444 -0.105986 0.12333 -0.159715 0.17962 -1.06206 -1.01987 1.27031 0.76854 -0.102559 -1.24934 0.09276 -2.25688 -0.135678 0.540305 -0.649666 0.489384 -0.274551 1.11234 0.198694 -0.11402 -0.0287794 0.313803 -0.783772 0.402327 0.194375 -0.341258 -0.453103 -0.518121 0.0867172 -0.913479 0.0189818 0.672546 -0.551162 -0.0940253 0.0723785 1.12266 -0.427 0.63589 0.256672 0.094436 -0.22929 -4.11929 0.697975 0.464993 -0.444966 -2.01175 0.597041 -2.17324 0.697616 -0.601585 0.639029 -0.113085 -0.150679 -1.12348 0.520916 0.907194 -0.63173 -0.284923 2.52371 -2.63818 2.21922 1.07754 1.32798 -0.0415089 -0.776077 -0.780875 -1.02542 -1.10353 0.227286 -0.951802 -0.166237 0.975146 0.552633 0.675575 -3.44063 -1.61049 5.58541 -2.68313 2.36905 -0.128098 -0.569019 0.362794 -0.288571 1.25159 -0.908609 0.868581 -0.600162 0.164153 1.16212 0 0 0 0 0 -0.105986 0.12333 -0.0154548 0 0 0 0 -0.00318561 0 0.0157701 0 0 -0.00148895 0.0214291 0.0253868 0 0.00270493 -0.135651 0.192589 0 0 0.116541 0.00102281 0 0.114777 -1.88837 0 0 0.0196091 -0.473379 0 0.485257 0 -0.0595186 0 0 -0.00684788 0 0 1.13876 -0.0563978 -0.00530677 0 -0.272849 -0.0869222 0 0 0.284267 0 -0.0105413 -0.317539 0.0037971 0 0 -0.0053608 0.0409508 0 0.0177119 0.19655 -0.0403687 1.14447 -0.0858091 0.0660604 0 -0.0508212 0.00919529 -0.36301 0.305515 0.063195 0 0 0 -12.341 -0.908389 -1.09076 -0.0482628 -0.0649356 -0.0934856 0.00248514 -0.0108584 0.00701027 -0.0292876 0 0 0 0 0 0 -0.159715 0 0.17962 0 0 0 0 0.20097 -2.0689 0 0 -0.553033 0 -0.0709248 0 -0.10976 0 0 0.113422 0 -0.662357 0.0293423 -0.44725 0.0395015 0 0 -0.865594 0 -5.90127 0 -0.453198 -0.423115 0 0.389642 -0.908495 -0.056498 0 0.0186063 0 0 -0.261906 0 -2.06034 0.558794 0 0 0.11684 0 0 -0.333976 2.87936 -0.0165878 0 -1.61862 0 -0.709902 0.5632 -0.158029 -0.223002 -0.151173 0.59364 0.974106 0.0251586 1.20483 1.92376 0.179092 0 0 0 -0.23871 -0.141651 0 0 0 0 0.690824 8.75201 5.76906 -4.0163 0.760431 -0.505716 0.316896 0.607723 -0.308937 0.262345 -0.21243 0 0 0 0 0 0 +285 0 -1.66581 -0.720595 0.042999 -0.0280592 0.184411 -0.20633 -0.315024 -1.12095 0.150867 -0.434987 -0.29259 -0.532673 -0.0605903 -1.06336 0.147779 -3.55737 -16.7034 -0.410918 0.328272 -2.83831 -0.200488 0.205532 0.0828027 -0.246804 0.179516 -0.859793 -0.0260607 0.254396 -0.172888 -0.288101 0.163421 0.229794 1.39788 -0.694512 0.150925 0.0131979 -0.13462 8.7295 -0.118477 -1.11873 -0.115003 -1.62487 0.118589 -3.23188 -0.208026 -0.541911 0.181105 0.802769 -0.225179 -0.666644 -1.37136 7.34012 0.634676 -0.334426 0.325815 1.21786 1.01432 -1.17929 0.546443 0.104825 1.8483 1.49664 -1.04047 -0.107017 0.376822 1.57519 -0.986643 -0.157695 -0.357487 -0.94342 -1.71358 0.254617 0.204332 -2.8323 -0.496098 1.58779 -43.3339 -4.43195 5.75752 -6.28786 6.44132 -8.28325 0.310226 -0.14739 0.489004 2.0449 0.270803 -0.0989235 0.379303 0.00563027 0.443423 0 0 0 0 0 0.042999 -0.0280592 -0.00223119 0 0 0 0 -0.00129479 0 0.039215 0 0 -0.000290431 0.0019938 0.0372739 0 0.0102089 -0.100156 0.135807 0 0 0.0820558 0.000101306 0 0.131382 -1.92186 0 0 0.00644492 -0.386017 0 0.49115 0 0.10249 0 0 0.0125444 0 0 1.90648 -0.0243929 0.0096509 0 -0.0338045 0.0186494 0 0 0.654776 0 -0.00274609 0.0609727 -0.0193591 0 0 -0.000457855 0.00399434 0 0.0120474 -0.146587 -0.015376 0.306352 -0.0743669 0.0344664 0 0.0357827 0.0441105 -0.225561 0.112454 -0.0571683 0 0 0 -12.2988 -0.632477 -1.07124 -0.0830765 -0.0106345 -0.194272 0.00120225 -0.00604529 0.00397128 -0.0210304 0 0 0 0 0 0 0.184411 0 -0.20633 0 0 0 0 -0.215676 -0.518343 0 0 0.38204 0 0.0596121 0 -0.0333664 0 0 -0.362673 0 0.923321 -0.00468166 0.36395 -0.035556 0 0 -0.30282 0 -3.96591 0 5.2667 -0.247515 0 -0.456315 2.19568 0.0519577 0 -0.00513261 0 0 -0.0559544 0 -0.679954 -1.11049 0 0 -0.120132 0 0 -0.162219 -4.57392 -0.139118 0 -1.17269 0 1.048 -0.545936 0.349745 0.915352 0.141194 -1.24039 -2.59329 -0.229472 -1.28969 -6.26314 -0.319042 0 0 0 -0.360899 0.144412 0 0 0 0 0.190771 -66.2793 -11.4596 7.42773 -4.53766 2.22745 -1.86248 -0.349117 0.183826 -0.141614 0.175654 0 0 0 0 0 0 +286 0 0.460978 0.235239 0.13836 0.273221 -0.211924 -0.262349 0.654904 1.16937 1.62529 -1.46931 -0.290408 -1.08198 -0.0383111 -0.954058 -0.171421 0.71238 2.33236 -0.242629 -0.363245 2.75637 -0.0715574 -0.15566 0.0919176 -0.362779 0.239538 0.295387 0.0667096 0.528425 1.26686 -0.436983 0.362804 -1.04258 -0.791283 0.543685 0.212936 -0.0285559 0.679385 -4.07479 -0.814934 0.482189 0.0203897 3.38265 -0.0730687 -3.8187 0.622032 -0.4155 0.709744 -2.3107 0.023378 0.76013 0.299318 -4.37866 -0.759041 -0.0560298 0.0748195 0.313385 -0.953704 1.64071 0.230897 0.162305 0.454283 -2.39557 -1.39873 2.0422 -0.615624 -1.10032 -1.34865 0.910917 0.218408 -0.0516202 0.500487 -0.3744 -0.0790196 2.966 -0.192624 -1.25711 24.9352 4.35947 -4.49204 2.46485 -1.50858 1.12529 1.93149 -1.10776 1.12378 -2.21655 -0.809748 1.05682 -1.62228 2.11713 -3.24924 0 0 0 0 0 0.13836 0.273221 0.00425577 0 0 0 0 0.0006151 0 -0.0137127 0 0 -0.00305071 -0.0214409 -0.00298645 0 -0.00263905 0.292824 -0.0296545 0 0 0.0119142 -0.00118205 0 0.0234274 2.35113 0 0 0.0196165 0.774833 0 -0.0415259 0 0.05847 0 0 0.0118382 0 0 -0.371902 0.0126493 -0.0527425 0 0.0853536 0.0291179 0 0 -0.0444467 0 0.00192073 0.148169 -1.96178e-05 0 0 0.00276097 -0.00827058 0 -0.00757686 -0.00944392 0.0173975 -1.28657 0.0328599 -0.0352936 0 0.0369955 -0.0066795 -0.474065 0.137527 -0.0647281 0 0 0 4.05108 0.384223 0.396427 0.0164337 0.0219367 0.0267772 0.00182888 0.000822076 0.00559953 0.00129384 0 0 0 0 0 0 -0.211924 0 -0.262349 0 0 0 0 0.36005 -0.550669 0 0 -1.12645 0 -0.145212 0 -0.076371 0 0 0.679365 0 -0.302514 0.0947048 -0.230904 0.0932323 0 0 -0.48608 0 -4.69936 0 -3.81623 -0.572363 0 1.0088 -1.12546 -0.0320431 0 0.0300796 0 0 -0.0933639 0 -1.14449 0.472265 0 0 0.0856469 0 0 -0.0554326 5.42154 0.136121 0 -0.130356 0 -1.53864 0.983555 -0.457471 -0.8007 -0.24198 0.879373 2.78945 -0.00309938 0.81576 4.03649 0.290658 0 0 0 0.0720655 -0.0403934 0 0 0 0 0.20683 54.3597 13.664 -9.39686 3.82077 -2.02698 1.67985 0.832849 -0.501396 0.48629 -0.423249 0 0 0 0 0 0 +287 0 0 0 0 0 0.145002 -0.0340451 -0.330445 -0.865234 0 0 -0.220809 -0.304625 0 -0.544609 -0.00435757 0 0 0 0.133036 0.734876 0 0 0 0 -0.11973 0 0 0.216989 -0.0274938 -0.0420291 0 -0.19744 0 0 -0.0345498 -0.0605914 0 0 -0.0518032 0.397409 0 0 -0.0103993 -2.38446 0 0.13945 0.30575 -0.379162 -0.247455 -1.06631 -0.0146015 0 -0.00418917 0.281644 -0.131041 0.847903 0.316173 0.562883 0 0 -0.213774 -2.56483 0 -0.32662 0.418882 -0.887172 0 0 0 0 0.358429 0.465043 0 0.467546 -0.465905 0 0 0 1.35523 0 -0.561394 1.72695 0 -0.496275 0.163865 1.70864 0 -0.574956 0.920581 -1.24058 2.6407 0 0 0 -0.0653608 -0.0175982 0 0 0 -0.00256611 -0.0903771 0 -0.000241082 0 0.00148254 0.0218582 0 0 0 0 0.0365842 0 0.0242118 0 -0.175475 0 -0.0358152 -0.714482 0 -0.00419271 0 0 -0.150517 0.000210742 -0.0890195 0 -0.0139784 0 -0.00546599 -0.0810128 -0.0295792 0.0048587 -0.0115918 0 1.46025e-05 0 0 0 -0.00075756 0 0 -0.00668584 0.0007251 0.278767 0.0256387 0 0 -0.0025836 0 0.0160903 0 0 -0.0506645 0.0352481 0.0682126 0.0543282 0 0 -0.12907 -0.162715 0.0665801 -0.225125 0.644699 0 0.120505 0.0174871 0.30044 0 0 0 1.16279 0 0.0710388 0.384945 0 0.0149582 0.0143286 0.0763823 0 -0.00225532 0.00836525 -0.000116988 0.0275803 0 0.145002 -0.0653608 -0.0340451 -0.0175982 0.241167 0.0309599 -0.0358107 0.0408386 -0.406926 0.0336288 -0.0604706 0.26882 0.00342344 0.0278442 -0.00619194 -0.0539386 -0.0392889 0.290063 0.57319 0.108796 0.33586 0.101335 0.20259 0.10841 -0.393731 0.0732563 -0.596202 0.00786711 -1.3507 -0.197243 0.964814 -0.525293 -0.000721576 0.107575 0.649705 0.0312336 -0.000113912 0.0241743 0.000455248 0.52088 -0.0298731 0.00850098 -1.46907 0.226188 -0.00630603 -0.0226715 0.0864103 0.0336003 0.0863449 -0.4123 -0.849535 0.350076 0.103141 1.07693 -0.0063687 0.373366 -0.280231 -0.318388 0.0963123 -0.19806 -0.381692 -0.780781 0.284704 1.84526 11.1112 -0.176681 -0.0474741 0.0323722 0.164802 0.605767 -0.143422 0.0591451 -0.141436 0.0597208 -0.185773 0.0852329 -2.03173 -0.0797756 -0.211158 -0.382246 0.664063 -1.24491 0.0397029 0.194008 -0.4192 0.406701 -0.0461997 0.0852875 -0.392014 0.407663 -0.536032 0 +288 0 0 0 0 0 -0.370834 0.169074 -0.0715462 0.120985 0 0 0.0856658 0.419546 0 0.693388 0.0586981 0 0 0 0.269421 0.549414 0 0 0 0 -0.3277 0 0 -0.656533 -0.0588708 0.374797 0 0.194795 0 0 -0.251481 0.0422395 0 0 -0.123744 1.06525 0 0 0.0374333 0.850967 0 0.947809 -0.712122 0.698013 -0.0209663 1.01722 0.191468 0 -0.523816 0.313568 -0.458074 -3.86574 -1.35908 -0.917028 0 0 0.0221905 -1.489 0 0.73009 -0.345228 0.294801 0 0 0 0 0.150818 0.0233931 0 -1.95536 2.28721 0 0 0 0.158772 0 0.789083 -0.682197 0 0.345641 -0.0686318 0.572823 0 -0.483486 0.00912155 0.849982 -0.980018 0 0 0 0.042142 0.00752046 0 0 0 -0.0431727 -0.0217331 0 -0.00415819 0 0.00326546 -0.0213613 0 0 0 0 -0.0644267 0 -0.0124822 0 -0.115329 0 -0.371586 -0.292955 0 -0.00258853 0 0 -0.0817889 0.000756024 -0.0126827 0 -0.00112383 0 -0.00239232 0.0301262 -0.01682 0.00861104 0.00826325 0 0.000265648 0 0 0 -0.000206226 0 0 0.00622826 0.00549691 0.0356502 0.0144851 0 0 -0.00796497 0 0.0129231 0 0 0.0056342 -0.0173795 -0.165706 -0.0334648 0 0 0.0137887 0.00156408 0.0623058 0.100922 0.0844722 0 -0.0405628 -0.0131908 -0.137145 0 0 0 0.292201 0 0.0247357 0.140088 0 0.00138938 0.0137683 -0.0628519 0 0.000152244 0.000219601 -0.00508125 0.0165263 0 -0.370834 0.042142 0.169074 0.00752046 -0.373755 -0.0107912 0.110656 -0.223086 1.02949 -0.00795004 -0.0159651 0.1184 -0.000913062 0.00535372 0.0162176 0.0481418 -0.0189345 -0.0494755 -0.792375 0.292975 -0.348722 -0.0634976 0.142587 -0.0983764 -0.0820347 -0.0801814 0.724319 0.00901654 -2.19714 -0.0594712 -1.29323 0.282922 0.00232342 0.00497178 -0.722712 0.0044548 -0.00307812 -0.0666166 -0.00695498 -0.20826 0.0758975 -0.0188293 -0.0831761 -1.09644 -0.00346744 -0.0132344 -0.126323 0.0529636 0.160806 -0.0397399 -1.03846 0.745254 -0.107789 0.245486 -0.0500709 0.626477 0.160768 -0.337062 -0.343111 -0.105755 0.111536 0.114052 0.112988 -4.0507 -15.298 0.0798345 -0.517416 0.0191456 0.322507 -0.305671 0.0563919 0.0720587 0.0291388 -0.11532 -0.142798 -0.563819 2.72332 -0.397125 0.42873 0.155083 -0.049228 0.556161 -0.0198527 0.109894 0.104532 -0.246348 0.00788019 0.0420341 -0.0178262 0.023104 0.256693 0 +289 0 0 0 0 0 0.173119 -0.381163 0.378535 1.43511 0 0 -0.774766 -2.17598 0 -3.63885 -0.193114 0 0 0 -0.593668 -4.83651 0 0 0 0 0.291931 0 0 0.890887 5.92967 -0.951649 0 -1.29869 0 0 0.184537 -0.100954 0 0 -1.55389 -1.64903 0 0 -0.258575 -8.95231 0 -1.04279 2.17603 -2.58238 0.642323 -0.276232 0.668895 0 0.504038 -1.09145 0.363972 0.985769 0.589272 -0.0587216 0 0 -0.265164 2.32216 0 1.69244 0.653817 0.921276 0 0 0 0 -0.639641 -1.09315 0 1.55144 0.675381 0 0 0 -2.44616 0 1.03106 -5.95469 0 0.530183 -1.1449 -3.21489 0 1.15362 -3.17072 4.57246 -13.1168 0 0 0 0.164275 0.0235532 0 0 0 -0.0406825 -0.0196261 0 -0.00208194 0 -0.000796528 0.015835 0 0 0 0 -0.025798 0 0.000266956 0 0.0432914 0 -0.533196 -0.0909368 0 0.00221849 0 0 -0.00927826 -0.00118515 -0.00391431 0 -0.004118 0 -0.0011089 -0.0274687 0.00725787 -0.0171033 -0.00098152 0 -7.22218e-05 0 0 0 -0.000220649 0 0 0.00204258 -0.0021194 0.199386 0.00819743 0 0 -0.000625284 0 -0.00117177 0 0 -0.0344071 -0.00234879 0.00488007 0.00760947 0 0 0.0229294 -0.0220502 -0.010494 -0.0633723 -0.0601039 0 -0.0417093 -0.00765302 0.0258655 0 0 0 0.262408 0 0.037981 0.150141 0 0.00239697 0.0124657 0.00362949 0 0.00116065 -0.00260192 0.00950446 0.0070738 0 0.173119 0.164275 -0.381163 0.0235532 -0.181319 -0.17701 0.760316 -0.192153 -1.14218 0.010497 0.0113704 0.120341 0.000880929 0.010717 0.076954 -0.0805378 -0.0221624 0.124249 -1.00609 -1.66491 -0.626406 -0.0177708 0.0928776 -0.18519 -0.28424 0.183094 -1.10917 -0.0471721 -14.0084 -0.355171 -2.27882 -2.33256 0.00770162 0.16967 -1.2821 0.0093944 -0.00262613 -0.0466036 -0.0343615 1.34575 -0.0568102 0.0279661 -6.09411 -3.1206 0.00243545 -0.0303779 -0.506008 -0.287145 -0.194653 -1.25364 -1.32048 1.56503 0.185311 -5.56014 -0.372187 1.11277 0.203291 -0.592142 -0.771958 0.232359 0.145966 -0.310804 -0.163466 1.4726 -4.46944 -0.0119655 -0.508562 0.117157 0.360054 -0.412616 0.0112385 -0.00129251 0.0141204 0.100354 -0.179166 0.0563119 4.7988 -0.606814 0.696321 0.0506552 0.097606 -1.46145 0.0165935 0.0248153 -0.215629 -0.21437 -0.0197898 0.147735 -0.41775 0.490357 -1.15919 0 +290 0 0.73202 -0.306186 0.0335954 0.0829466 0.144047 -0.188438 0.939865 1.79965 0.0469795 -1.74081 0.337558 0.146227 -0.00746898 0.938388 -0.000801393 -2.23825 -6.93435 -0.326204 -0.0143895 -0.237716 -0.0609252 0.489733 0.005617 -0.437066 0.625525 -0.753403 -0.102329 0.403739 -0.11161 0.126993 0.0323422 0.195571 0.592887 -0.593923 0.402114 0.0339526 -0.354039 -0.262064 0.588048 -0.436725 -0.0582061 -1.00638 0.0682671 0.86245 -0.44502 -0.379631 0.214782 0.203705 -0.207389 0.364249 -0.505925 6.14434 -0.0886799 -0.164693 -0.00483578 -2.23606 -0.14259 -0.388616 0.588683 0.172556 -0.926781 -0.38379 -0.881973 -2.31408 -0.203471 -0.541325 1.179 -0.221754 -0.013942 0.664544 -0.208793 0.297924 0.629328 -3.1499 -0.376454 1.6036 1.57448 1.04208 -1.13325 0.879102 -1.08047 1.10033 1.65871 -1.0848 1.45143 -1.24055 0.135723 -0.159397 0.154052 -0.198561 0.068735 0 0 0 0 0 0.0335954 0.0829466 0.00233451 0 0 0 0 7.75567e-06 0 -0.0118275 0 0 -0.00257491 -0.00338863 -0.00835974 0 -0.00051534 -0.0201012 -0.0447645 0 0 -0.0735829 -0.000283335 0 0.0269341 -0.9794 0 0 -0.0135236 -0.181729 0 0.0409578 0 0.0042167 0 0 0.000233131 0 0 -0.332612 -0.0016875 -0.037557 0 0.0304016 0.0591328 0 0 -0.189266 0 -0.00224941 0.373699 0.00190154 0 0 -0.00213354 -0.0110132 0 0.00568737 -0.000550201 0.0209297 1.74344 0.0303618 -0.07087 0 0.0123261 0.00302769 0.195052 -0.00213199 -0.0895738 0 0 0 5.56295 0.407206 0.704205 0.0382733 0.0158245 0.0104758 0.000374288 0.00163079 0.00426474 0.00105701 0 0 0 0 0 0 0.144047 0 -0.188438 0 0 0 0 0.241369 1.40882 0 0 -0.187005 0 -0.0206952 0 0.0587076 0 0 -0.548073 0 1.08066 0.0443946 -0.0800646 -0.0713341 0 0 0.701615 0 4.50812 0 0.504478 0.589585 0 0.262545 1.19232 -0.00736959 0 0.0371052 0 0 0.118019 0 1.90058 -1.12328 0 0 -0.156937 0 0 0.357976 -1.50238 0.0973107 0 1.20681 0 -0.233824 0.040052 -0.101036 0.0967032 -0.032344 -0.451226 -0.429768 0.0442313 -3.61652 -13.696 -0.0624603 0 0 0 -0.026815 -0.0297159 0 0 0 0 -0.515282 3.21569 1.38409 -0.530732 0.150295 0.0642085 -0.0764121 0.121243 -0.107689 0.0907601 -0.0794203 0 0 0 0 0 0 +291 0 -0.601136 -0.183823 -0.0146429 -0.0262238 0.00455978 -0.106551 -0.553419 -0.886189 -0.0856401 0.0181564 -0.0905888 0.0930574 0.00300005 -0.26985 0.0131566 -1.86502 -6.55958 -0.186905 0.0228608 -0.402521 -0.0465844 -0.221834 -0.00390093 -0.014926 0.0963462 -0.47122 -0.0904414 0.411047 0.331972 -0.169657 -0.025175 -0.0431489 -0.681594 -0.580839 0.050067 -0.0190855 -0.405765 -0.917487 -0.12985 -0.628681 0.0179969 -1.7048 -0.0308805 0.470202 0.088531 -0.589916 0.399892 -0.0291995 0.152875 -1.257 -0.282902 1.36715 0.0861306 0.0662286 0.0220837 -2.16365 -0.143845 0.235537 0.0784113 -0.0393768 0.614317 1.13179 0.320808 -0.230454 0.829424 0.313581 -0.124874 -0.532978 0.0348803 0.131627 0.00718019 -0.267622 0.608688 0.522724 -0.478247 1.44399 2.51806 1.82376 -0.237433 1.04188 -0.78867 0.847635 0.0128503 -0.106526 0.106796 0.828569 -0.0270003 0.0336718 -0.0778835 0.091997 -0.204445 0 0 0 0 0 -0.0146429 -0.0262238 -0.000355474 0 0 0 0 0.00024894 0 -0.0136413 0 0 0.000463216 -0.00103815 -9.77484e-05 0 -0.00107338 -0.0188074 -0.0426979 0 0 -0.164488 -1.58139e-05 0 -0.0232555 -0.545748 0 0 -0.0242813 -0.0879193 0 -0.105942 0 -0.0237098 0 0 -0.00313534 0 0 -0.412498 0.00673026 0.00228256 0 0.0160495 -0.0337523 0 0 -0.0157094 0 0.000555632 -0.0908284 -0.00198034 0 0 0.00129552 0.0018634 0 -0.000460025 -0.00906187 0.00536062 0.264508 -0.0221464 -0.00933859 0 0.0072284 0.00645227 -0.181237 0.122686 -0.0239124 0 0 0 2.1474 0.112973 0.109832 0.0135765 0.00130689 0.0453533 -0.000547188 0.00155453 -0.000870078 0.00831592 0 0 0 0 0 0 0.00455978 0 -0.106551 0 0 0 0 0.164195 -1.40108 0 0 -0.0384091 0 -0.00423701 0 -0.0625764 0 0 0.827185 0 0.383092 0.0278374 -0.123163 0.107549 0 0 -0.738081 0 -2.7783 0 3.14613 -0.571373 0 0.12988 0.996895 -0.0103185 0 0.0203245 0 0 -0.120461 0 -1.36319 1.77622 0 0 0.238043 0 0 -0.181607 2.57479 -0.0743251 0 0.103722 0 0.370765 -0.0545671 0.101716 0.697821 0.20911 0.0686559 0.0521941 -0.0134502 2.80097 11.6196 -0.162665 0 0 0 0.17433 0.0620806 0 0 0 0 0.391577 -10.6495 -0.795084 -0.220301 -1.31747 1.09832 -1.40899 -0.0540408 0.0258781 -0.00459618 -0.00349161 0 0 0 0 0 0 +292 0 0.389556 -0.190941 0.0340675 0.209117 -0.158301 0.0281344 -0.0724064 0.614197 0.637648 -0.649361 0.261111 -0.545928 -0.0022492 -0.458186 -0.00757559 -1.7836 -7.9092 -0.0277547 -0.0319949 -0.998197 0.00967221 -0.0324678 0.00638414 -0.0904771 -0.123133 -0.393218 0.0027366 -0.365182 -1.07108 -0.0177793 0.0630479 0.15456 0.0340181 0.189857 -0.161762 0.025781 0.030802 0.914951 0.360654 0.158116 -0.0129742 1.14721 0.0371931 -3.27192 -0.0601433 0.348855 -0.611814 0.0230192 -0.0753587 -0.51758 -0.401962 -6.1544 0.209024 -1.71874e-05 0.0336852 -2.21976 -0.416413 -0.461261 0.25893 0.0358015 -0.485991 -0.31187 0.751058 -0.679816 0.424792 0.391503 0.383301 -0.342175 -0.242656 0.413748 -0.655747 0.0660122 -0.335453 -0.367316 0.0298341 -1.44744 -4.30332 0.161503 -2.70072 -0.721455 0.316034 -1.09396 0.239941 -0.28326 0.549252 -1.00699 0.0183426 -0.0644196 0.18185 -0.278871 0.659626 0 0 0 0 0 0.0340675 0.209117 -0.00102003 0 0 0 0 -0.000256416 0 -0.00825147 0 0 -0.000779683 0.000548067 -0.00987783 0 -0.000515569 1.02398e-05 -0.0959246 0 0 -0.206047 1.65946e-05 0 0.00616454 -0.23996 0 0 -0.0201654 -0.00841128 0 -0.00999246 0 -0.00925804 0 0 -0.00046713 0 0 -0.0528084 -0.00453586 -0.0119019 0 -0.0154044 0.0190165 0 0 -0.0171028 0 3.77333e-05 0.238309 0.00270271 0 0 0.00389729 0.00262795 0 -0.0135565 -0.00973555 0.00414194 0.0245491 -4.27804e-05 -0.0239288 0 -0.00753398 -0.00933879 -0.140727 0.0442186 -0.0588644 0 0 0 2.81691 0.239204 0.518734 0.013674 0.0159807 -0.00232393 0.00113222 0.000102608 0.000779797 0.021164 0 0 0 0 0 0 -0.158301 0 0.0281344 0 0 0 0 0.347927 1.13133 0 0 -0.57495 0 -0.0629389 0 0.0342814 0 0 0.216839 0 0.367782 0.168915 -0.161757 0.0297058 0 0 0.477143 0 3.82093 0 2.71468 0.503509 0 1.09826 0.997188 -0.0177067 0 0.0594008 0 0 0.0893501 0 1.31258 0.111661 0 0 0.0161926 0 0 0.168085 2.21588 -0.252204 0 2.12942 0 0.530011 -0.0219802 0.115943 0.569211 0.165915 0.452239 -0.249565 0.0992039 -1.74751 -1.26113 -0.143615 0 0 0 0.194601 0.0699392 0 0 0 0 -0.330481 -6.44311 1.37865 -3.21134 -0.0528202 0.109053 -0.607846 0.283874 -0.221032 0.215288 -0.399955 0 0 0 0 0 0 +293 0 -0.920105 0.0216021 -0.106438 -0.306817 0.196218 0.283997 -0.467724 -1.83009 -0.316947 2.63805 -0.314192 0.76884 0.0306315 1.31286 0.0133355 1.01374 -0.253716 0.483704 0.0808397 1.88986 0.00778161 -0.255281 -0.0228839 0.520775 -0.6522 0.502729 -0.0187098 -0.396782 0.793682 0.401595 -0.106423 0.110036 0.245793 0.162509 -0.325012 -0.0561461 0.0347503 2.60888 -1.07511 1.26811 0.177105 -0.476171 -0.199125 2.6668 0.968785 0.86334 -0.1247 0.358814 0.509643 0.736452 1.58453 -4.90602 0.0509813 0.119064 -0.400958 -0.507338 -0.154209 -0.350615 -1.12897 -0.407961 -0.534328 1.18673 0.112483 1.5031 -0.0909395 -0.33381 -0.495447 0.0324261 0.00661293 -0.535971 0.197756 -0.490774 -0.154183 -0.286799 1.07673 -0.485004 -4.45004 -4.85809 3.45144 -4.09156 2.92879 -3.36774 -3.39768 2.68245 -3.09484 2.82711 -1.31851 1.60795 -1.76826 2.0809 -2.01236 0 0 0 0 0 -0.106438 -0.306817 -0.0123915 0 0 0 0 -0.00156165 0 -0.00972578 0 0 0.00241629 -0.00110557 0.010332 0 -0.00130017 -0.110567 -0.0154219 0 0 0.0210881 -0.000153234 0 0.0355372 -1.76601 0 0 -0.00265182 -0.380106 0 0.0372854 0 -0.024899 0 0 -0.00470425 0 0 -0.0324253 -0.0220464 0.04087 0 -0.18407 0.0389451 0 0 -0.0741728 0 -0.00559307 0.328118 0.005643 0 0 -0.0109328 0.0310968 0 0.0301765 0.108458 0.0196488 1.9157 0.0260099 -0.0662773 0 -0.0418744 -0.00827905 0.110084 0.175674 -0.0730613 0 0 0 -0.207429 -0.0715096 0.150022 0.0178834 -0.0248222 0.00752545 -0.00489583 0.00509347 -0.00463509 0.000903602 0 0 0 0 0 0 0.196218 0 0.283997 0 0 0 0 -0.300279 -1.96961 0 0 0.60197 0 0.0671811 0 -0.02918 0 0 0.233965 0 -0.992941 -0.121625 0.211095 0.0223294 0 0 -0.372199 0 -6.36095 0 -0.966599 -0.0531502 0 -0.704043 -0.984494 0.021994 0 -0.0543512 0 0 -0.188278 0 -0.746891 0.499272 0 0 0.0450651 0 0 0.019512 -0.679138 0.0835541 0 -2.08992 0 0.200763 -0.29148 0.128906 -0.2729 -0.0666535 -0.188933 -0.361655 0.0163646 2.01217 -1.82593 0.0608223 0 0 0 -0.264971 -0.115728 0 0 0 0 0.580462 3.09516 -0.691908 1.35672 -0.00618784 -0.083804 0.31887 -0.30715 0.177326 -0.211093 0.267107 0 0 0 0 0 0 +294 0 -0.781933 0.293424 0.0376416 0.0419921 -0.270855 -0.106366 -0.108417 -0.037062 0.234186 -0.0161363 0.130201 -0.899624 -0.0131382 -0.673896 0.0451775 2.47259 8.07024 0.270154 0.0455739 -3.20448 0.114141 -0.105771 0.0156235 0.079555 -0.0819047 0.724459 0.311785 0.0531757 -0.649869 -0.344876 0.072357 0.196735 -0.324975 1.09715 0.055052 0.0384554 1.0042 -1.29662 0.382812 -1.61044 -0.0636324 3.03062 0.0990629 -2.14968 -0.26202 -0.892445 -0.160843 0.36788 -0.238932 1.28354 -0.125158 -10.5175 0.0881553 0.0994562 0.0710521 2.24911 0.80292 0.27782 -0.0920828 0.136972 0.496018 1.52664 1.15944 0.00157622 -1.3593 0.318586 0.242304 1.55516 -0.0943397 -0.0988655 0.0450249 0.329963 -1.75801 0.655502 -0.356525 -3.97106 5.22628 1.76502 -0.660958 0.370589 -0.91169 2.91629 -0.809917 0.15456 0.432221 -0.0545178 0.356606 -0.49752 0.774405 -1.07316 1.64773 0 0 0 0 0 0.0376416 0.0419921 -0.00655094 0 0 0 0 -0.0013314 0 -0.0122636 0 0 0.00244397 0.0135683 -0.0172205 0 -0.00286467 0.0872135 -0.0375322 0 0 -0.089902 0.000984205 0 -0.0387089 -0.343964 0 0 -0.0205921 0.1778 0 -0.0705074 0 0.0176408 0 0 0.00143182 0 0 -0.159728 -0.018541 0.0334818 0 -0.0858733 -0.0262207 0 0 0.00544525 0 0.0139661 -0.062353 -0.0168521 0 0 0.0058127 0.0329085 0 -0.00610795 0.0195727 -0.00718421 0.30447 -0.0189075 0.00809338 0 -0.01877 0.0183191 -0.159596 0.208705 0.0548415 0 0 0 0.227537 -0.0075319 -0.0245009 0.00544879 -0.00634803 0.0189535 -0.000592786 0.0012786 -0.00446159 0.00482484 0 0 0 0 0 0 -0.270855 0 -0.106366 0 0 0 0 0.101317 0.140351 0 0 -0.293788 0 -0.0348769 0 0.0104786 0 0 0.148995 0 -0.20707 0.0455986 -0.0516636 0.0399649 0 0 0.000617185 0 5.0215 0 1.3316 0.190838 0 0.392639 0.101948 -0.00697305 0 0.0118049 0 0 0.029033 0 1.11562 0.590198 0 0 0.12952 0 0 -0.605865 3.25651 0.0973995 0 -0.659459 0 0.698995 0.0556787 -0.0817707 0.754028 0.169513 0.108292 -0.40021 0.0346235 2.43185 10.1402 -0.147002 0 0 0 0.39777 0.066048 0 0 0 0 0.0284795 -3.78316 0.871879 -1.70146 -0.690957 0.41489 -0.45257 0.133205 -0.136628 0.193341 -0.207524 0 0 0 0 0 0 +295 0 -0.249778 -0.0988696 0.045751 0.227322 -0.190815 0.0284879 0.618012 1.19096 0.413828 -0.171224 0.738149 0.308052 -0.00973974 1.86018 0.179873 0.740404 0.286293 0.159548 0.310206 -3.67059 0.0724941 0.0891141 0.00936028 0.0391537 0.0982619 0.391289 0.174684 -0.588696 -2.43091 0.518955 0.0620567 1.41992 0.52579 0.850146 0.0415834 0.113522 0.450935 2.43989 1.07833 -0.781446 -0.044843 2.84969 0.178224 0.419699 -0.143912 0.0666154 -1.20831 2.4595 -0.542409 2.46326 -0.353602 0.962689 -0.582756 0.738309 -0.447199 0.106353 -0.081925 0.723078 0.0954456 0.109208 1.482 -3.08409 1.13926 -0.630068 -1.19388 -0.409102 0.850066 0.94716 -0.119256 0.260511 0.379497 1.29767 -0.416026 -1.8436 -0.0514067 -0.48613 -7.8356 -0.309639 -3.85326 -1.53957 0.16364 -0.97572 -0.174174 -0.248896 0.745708 -2.41632 0.195863 -0.863977 1.83666 -3.56599 6.1635 0 0 0 0 0 0.045751 0.227322 0.0025288 0 0 0 0 0.000437698 0 0.0253092 0 0 -0.00158304 -0.00191467 0.0076562 0 0.00356424 0.0231321 0.0650403 0 0 -0.246327 -0.000118796 0 -0.0356539 0.346141 0 0 -0.0182853 0.0692753 0 -0.0705932 0 -0.0220121 0 0 -0.000825794 0 0 0.152625 0.00578267 -0.0222846 0 0.0309629 -0.030905 0 0 0.115712 0 -0.00124667 -0.135552 0.00790552 0 0 0.00385876 -0.011077 0 -0.020393 -0.0589054 0.0052576 -0.498751 -0.0313723 0.0203089 0 0.00796751 -0.025299 0.22578 -0.127074 0.0718736 0 0 0 -0.513029 0.0468646 -0.0760572 -0.0185249 0.01649 -0.0139005 0.00232467 -0.00272572 0.00285066 -0.00923747 0 0 0 0 0 0 -0.190815 0 0.0284879 0 0 0 0 0.315738 2.24786 0 0 -0.508545 0 -0.0468145 0 0.110968 0 0 -0.549917 0 0.251364 0.104769 -0.175212 -0.0456803 0 0 1.24153 0 6.52233 0 1.80705 1.29528 0 0.722301 0.881599 -0.0129854 0 0.0463151 0 0 0.199603 0 3.22085 -1.45533 0 0 -0.136013 0 0 -0.232674 2.63343 -0.200883 0 2.65148 0 0.421864 0.160726 0.0238904 0.503962 0.281276 0.70515 -0.0641809 0.0537659 -2.76337 -3.99093 -0.204526 0 0 0 0.488962 0.0607802 0 0 0 0 -0.675709 -0.789889 1.06719 -1.04306 0.0908538 0.0955415 -0.295674 0.171153 -0.135937 0.173412 -0.218364 0 0 0 0 0 0 +296 0 0 0 0 0 0.196971 0.00618773 -0.170317 -0.779264 0 0 0.121593 -0.882093 0 -2.60416 -0.0512837 0 0 0 -0.345102 -3.70533 0 0 0 0 -0.126637 0 0 -0.240879 -4.00315 -0.521071 0 -0.251083 0 0 -0.0671356 -0.015108 0 0 0.531265 -2.09011 0 0 0.0183845 -3.99218 0 -0.729793 -0.871505 -1.23512 0.0349115 -0.858085 -0.141562 0 0.295777 -0.196389 0.21866 1.65127 0.272947 -0.414028 0 0 -0.181251 3.81202 0 -0.176517 -0.113574 0.211579 0 0 0 0 -0.297062 -0.060919 0 1.26896 -0.135368 0 0 0 3.42442 0 0.27285 4.55672 0 0.452916 0.0887401 2.08315 0 0.342476 0.802843 -2.48837 10.9201 0 0 0 -0.0730653 -0.0124474 0 0 0 0.00182269 -0.0405835 0 0.00106528 0 -0.00422685 -0.0170696 0 0 0 0 -0.0429216 0 -0.00342101 0 -0.258424 0 -0.0458017 -0.264329 0 6.97864e-05 0 0 -0.0961793 -0.00375232 -0.0112272 0 -0.00148637 0 -0.00249902 -0.161482 -0.00786621 -0.0516328 -0.0101126 0 -0.000307305 0 0 0 -9.14009e-05 0 0 0.00992275 -0.00384651 0.0495554 -0.0483681 0 0 -0.0180382 0 0.00419689 0 0 -0.0281579 -0.0349395 -0.149087 -0.0445674 0 0 0.167946 0.0709361 -0.00211162 -0.182974 -0.24212 0 -0.288487 -0.00684918 -0.0280091 0 0 0 0.775496 0 0.083149 0.721274 0 -0.00828919 0.0920551 0.254285 0 0.00493034 -0.00784374 0.0226789 0.480587 0 0.196971 -0.0730653 0.00618773 -0.0124474 0.187312 0.100248 -0.0816111 -0.147754 0.116097 0.00846553 -0.0273501 -0.119948 0.000681343 -0.0155437 -0.00859918 0.0102315 -0.0256739 0.0987124 -0.85107 0.190103 -0.159167 -0.0153045 -0.106026 -0.0329459 -0.187762 -0.199874 0.218767 0.00504613 -2.65535 0.210885 -1.262 -0.333484 -0.00078935 -0.77434 -0.563381 -0.0116288 0.00485597 0.0398699 0.0460823 -1.41363 -0.00676374 -0.0262907 -1.04943 -1.24268 -0.00371518 0.0306642 -0.102396 0.0201118 -0.285275 0.122355 0.507312 0.0321442 0.0915137 1.13303 0.0119727 0.366898 -0.0395414 0.131051 -0.126539 -0.165272 -1.34083 0.105109 -0.111644 -0.220795 -0.230563 -0.188256 0.851612 0.0173772 0.152135 0.00337209 0.0374127 -0.00611482 -0.0177425 0.0212864 -0.10566 0.0393802 7.77942 0.189394 2.24691 -0.225338 -0.486676 3.61008 0.021604 -0.0784784 0.220782 0.855418 -0.012345 -0.0604828 0.316571 -0.532523 1.55099 0 +297 0 0 0 0 0 0.194774 0.508754 -0.687788 -0.968522 0 0 0.144037 1.92367 0 2.9485 0.0157747 0 0 0 0.0809667 2.44324 0 0 0 0 -0.292667 0 0 -0.796563 -0.826677 0.950176 0 0.0436463 0 0 -0.312271 0.0132435 0 0 0.688466 1.11011 0 0 0.199332 6.85532 0 0.909046 -0.725359 0.16461 -0.376023 1.51469 -0.583111 0 -0.27136 0.42495 -0.22126 0.189716 0.403122 0.544502 0 0 -0.221777 -0.379473 0 -0.885287 -0.334805 0.081501 0 0 0 0 0.390775 0.682974 0 -1.24403 0.523085 0 0 0 1.67791 0 -1.48997 2.84455 0 -1.09321 1.13349 -0.840466 0 -0.928594 0.917217 -1.72143 2.4015 0 0 0 -0.0419757 -0.0123504 0 0 0 0.001155 0.0350618 0 0.000362938 0 -0.00184645 -0.0150871 0 0 0 0 -0.0765954 0 -0.00584633 0 -0.156623 0 -0.0174925 -0.0803971 0 0.000783337 0 0 0.0130234 0.00020496 -0.00204684 0 0.00246298 0 0.00258743 -0.0712746 0.00633147 0.00268707 -0.00634966 0 -0.000134293 0 0 0 0.000180185 0 0 -0.00055069 0.00411478 0.0115542 -0.00351088 0 0 0.0118311 0 -0.00448959 0 0 -0.00573735 -0.012017 -0.114378 -0.0125727 0 0 0.0790439 0.0334608 0.011451 -0.0706923 -0.0609115 0 -0.036593 -0.00963436 0.111534 0 0 0 0.418646 0 0.0227734 -0.0579467 0 -1.40149e-05 0.0110291 0.0748599 0 -0.000258033 -0.00245389 0.0132924 -0.0150048 0 0.194774 -0.0419757 0.508754 -0.0123504 0.161562 0.0823167 -0.133283 -0.275716 -0.233578 0.00721792 -0.0587869 -0.0716834 0.000626152 -0.010576 -0.0109316 -0.00207457 -0.0502749 0.0727104 -0.0155556 1.8213 0.346817 0.0574567 -0.0590363 -0.0230801 -0.407849 0.0323529 0.0161656 0.0329053 2.88363 0.0697137 1.16724 1.48421 -0.000877546 -0.377545 0.626063 -0.00763186 0.00160261 -0.0140185 0.0105019 0.0837226 -0.0243381 0.00786021 1.94979 1.54539 -0.00688414 0.00906481 0.176453 0.233241 0.07213 -0.34886 -1.85902 0.543828 0.0517728 0.203862 0.0184482 0.166279 -0.0584003 -0.088161 0.326869 -0.533529 -1.07416 0.352674 0.0491922 0.36666 3.71473 0.00941763 -0.159882 0.0312591 -0.129516 0.387743 0.0258282 -0.0117736 -0.0147842 0.144636 -0.0510605 0.0242662 -7.1953 0.387712 1.9581 -0.297095 -0.16165 0.90132 0.0148709 -0.129993 0.478957 -0.588228 -0.00909316 -0.0546853 0.0592964 -0.10267 -0.187871 0 +298 0 0 0 0 0 -0.185026 -0.0200537 0.2436 1.3819 0 0 0.0638382 -0.163954 0 -1.40566 -0.016345 0 0 0 -0.0569278 -3.42358 0 0 0 0 0.0911094 0 0 -0.00579696 1.5113 0.0265339 0 0.0293007 0 0 -0.0440814 -0.0341548 0 0 0.16147 -0.709906 0 0 -0.0410956 -3.55416 0 0.222316 0.173274 -0.252877 0.228741 -0.800832 0.381525 0 0.102023 0.0742138 -0.175823 0.839327 0.0825575 -0.00638767 0 0 0.2109 5.50597 0 0.982763 0.281577 -0.361148 0 0 0 0 0.146448 -0.223893 0 4.08011 0.320961 0 0 0 -1.4014 0 0.554294 -2.99484 0 0.652529 -1.83782 -1.51507 0 0.656954 -2.43695 2.0011 -6.10701 0 0 0 -0.208368 -0.0170389 0 0 0 0.00816571 0.000913998 0 0.00133196 0 -0.00359996 -0.00428782 0 0 0 0 0.0267504 0 -0.000622057 0 0.037775 0 0.0554176 0.091447 0 0.00193551 0 0 0.295249 -0.00293694 0.0023059 0 0.000281539 0 -0.000112023 -0.00978123 0.0247234 -0.0410924 -0.00452246 0 -0.000259893 0 0 0 1.36582e-05 0 0 0.00774447 -0.000225159 0.0845014 -0.0165649 0 0 0.0191472 0 0.000245669 0 0 0.0114183 -0.0101959 -0.00248603 -0.0169195 0 0 0.0140573 -0.00286886 0.0104851 0.0168627 0.05412 0 0.062545 -0.00289743 -0.112658 0 0 0 -0.228078 0 0.0723465 -0.777555 0 -0.00588957 0.000445546 -0.192898 0 0.00380581 -0.0206214 0.0536417 -0.384568 0 -0.185026 -0.208368 -0.0200537 -0.0170389 0.451383 -0.078864 -0.0839857 0.0860937 -0.821243 0.00611191 0.0676421 -0.157434 0.000552046 -0.0188914 -0.00782942 -0.0315412 0.0210495 0.0605242 0.0603476 -0.566846 -0.460343 0.0847187 -0.22174 0.0988878 0.173139 0.122818 -0.426748 -0.0310228 -5.85517 0.227893 -2.50243 0.083154 -0.000705677 0.760948 -1.31 -0.0180235 0.00239946 -0.00838804 0.0445299 0.763713 -0.065947 0.0212702 -1.55364 -0.0504978 0.0081708 0.0155164 0.16386 -0.151194 -0.272679 0.0932122 -0.440954 0.376642 -0.0097212 -0.501712 0.0103248 1.06045 -0.12665 0.0770093 -0.214389 -0.159107 -0.88893 0.472767 0.0290624 -0.062772 -4.25088 0.0683207 0.85475 0.0646266 0.10227 -0.123444 0.0366662 0.00917044 -0.00775183 -0.0226934 -0.112689 0.0651871 15.4259 0.127704 -1.24214 -0.03007 -0.914231 -1.21083 0.0184918 -0.0307064 -0.0613583 -0.43314 -0.00756916 -0.00716121 -0.204373 0.278832 -1.08092 0 +299 0 0.828475 -0.227817 0.00900215 0.0751083 0.0721073 -0.185493 0.511331 -0.272676 0.0996131 -0.325497 0.128316 0.412092 -0.000226755 2.23775 0.00504363 -0.167434 0.45174 0.0176449 0.00514388 0.979675 -0.00524064 0.561611 0.00029289 -0.152752 0.3471 -0.319137 -0.0160735 0.5218 0.339322 0.238501 0.00549606 0.133152 0.699883 0.00412082 0.443634 0.00635735 -0.258446 -1.15844 0.153045 0.138729 -0.00423477 -0.45825 0.00767437 3.09807 -0.0744308 -0.39072 0.435769 0.146237 -0.0233615 0.578326 -0.264417 -0.529602 -0.0117441 0.000385155 -0.0475529 -0.815977 -0.271002 0.0129588 0.273567 0.00902048 0.453072 -0.215505 -0.532307 -0.552418 0.171972 -0.344673 -0.148136 -0.39804 -0.00892695 0.135752 0.0992269 0.0271199 0.161195 -0.209072 -0.0858992 0.0995409 9.08677 3.10277 1.89396 2.46231 -1.04473 1.58173 0.782371 -0.298995 0.111143 0.957471 0.00324765 -0.00596296 0.0262 -0.0571314 -0.306384 0 0 0 0 0 0.00900215 0.0751083 -0.00103266 0 0 0 0 -8.18937e-05 0 -0.022937 0 0 -0.00228734 -0.00116516 -0.0128496 0 -0.00188106 -0.0295269 -0.137525 0 0 -0.0921106 -7.60456e-05 0 -0.00870465 -0.844972 0 0 -0.0107685 -0.231356 0 -0.0828865 0 -0.00628084 0 0 -0.000776626 0 0 -0.662113 -0.00175935 -0.0332824 0 -0.0215567 -0.0304422 0 0 -0.0722094 0 -0.00239784 -0.600446 0.0107994 0 0 0.00494238 0.00126979 0 -0.00794641 -0.00151797 -0.0251572 -0.985147 -0.0530811 -0.00757301 0 -0.0102072 0.0829335 -0.19624 -0.00878613 0.0600421 0 0 0 4.411 0.164534 0.916098 0.0302809 -0.0628251 0.617384 0.00305993 -0.00494697 0.0128822 0.196296 0 0 0 0 0 0 0.0721073 0 -0.185493 0 0 0 0 0.0825088 -0.0186773 0 0 -0.0624914 0 -0.00532717 0 -0.00926422 0 0 0.509347 0 1.05942 -0.0356491 -0.0450622 0.0767067 0 0 -0.0657375 0 3.58094 0 -0.137729 0.535027 0 -0.292226 1.26077 -0.00456272 0 0.0128833 0 0 -0.0100689 0 1.65879 0.312344 0 0 0.0536712 0 0 0.402576 -1.70285 0.139448 0 0.308547 0 -0.25963 -0.0240108 -0.0623415 0.0657872 0.116805 0.332299 0.0898614 -0.0686946 0.120356 2.78238 -0.0695555 0 0 0 -0.130879 0.0718254 0 0 0 0 0.0185907 -4.71606 1.10517 -0.816125 0.530104 -0.624423 0.850976 0.0812976 -0.0633518 0.0628755 0.168785 0 0 0 0 0 0 +300 0 0.777555 0.0996608 -0.000852917 0.0159573 0.0307995 -0.257735 0.537866 1.23165 0.00295034 0.131484 -0.00714218 -1.65347 1.34473e-05 -2.34001 -0.00896611 -0.0378696 0.895931 0.0435371 -0.0132548 -1.19702 0.00908184 0.0334592 -9.93678e-06 0.0555922 0.215363 -0.113808 -0.000970742 0.343077 -0.114131 -0.764254 -3.98959e-05 -0.220503 0.0172518 -0.016476 0.203955 -0.00214841 -0.0242441 -0.0497914 0.0213911 -0.760866 0.000125725 -0.234915 -0.00125297 -5.07939 -0.00122399 -0.726811 0.148861 -0.333571 0.00855344 -0.908964 0.207672 4.12151 0.0147874 -0.00196556 0.021031 1.96392 0.141679 0.0285161 -0.0314908 0.000315358 -0.0321739 0.226048 0.72275 0.746972 0.145183 -0.514705 -0.0133502 0.156346 -0.00085521 0.0942933 -0.0189673 -0.0679718 -0.11307 1.15988 -0.052632 0.516597 1.90667 -0.390966 -1.6807 -0.549145 0.659141 -1.87782 -0.236632 0.215883 -0.227746 -1.34414 5.34067e-05 -0.000509832 0.00304254 -0.013681 0.103052 0 0 0 0 0 -0.000852917 0.0159573 0.000299522 0 0 0 0 1.31779e-05 0 0.00998103 0 0 -0.00033191 -0.000343957 0.00267652 0 0.000406404 -0.00123329 0.0562199 0 0 0.0422318 -1.92214e-05 0 -0.0010642 0.00126144 0 0 0.00948347 -0.0233107 0 -0.0265286 0 0.0011091 0 0 0.000253455 0 0 -0.0497115 0.000274496 -0.00620007 0 0.00596095 0.0152758 0 0 -0.0128943 0 0.000405323 0.120033 0.00502981 0 0 0.000904872 -0.000602083 0 -0.00465295 0.0358136 -0.00528869 -0.0366178 0.0222644 0.0123083 0 -0.00584898 -0.0429574 -0.0561091 0.0164385 -0.0153863 0 0 0 0.586772 0.0426068 -0.136398 0.00364041 -0.0131928 0.077433 0.000481714 -0.0018281 0.0107005 -0.0499157 0 0 0 0 0 0 0.0307995 0 -0.257735 0 0 0 0 0.264284 -0.478919 0 0 -0.148152 0 -0.0153917 0 -0.0103791 0 0 0.069084 0 -0.221561 0.096135 -0.0712538 0.0011827 0 0 -0.132462 0 0.257769 0 -1.52599 -0.73036 0 0.664283 -0.484727 -0.00598329 0 0.043001 0 0 -0.0533882 0 -0.578984 -0.0617479 0 0 -0.0279194 0 0 -0.309218 1.22617 -0.0286423 0 -1.3329 0 0.38224 -0.0150291 0.0540259 0.000559412 -0.0530748 -0.187689 -0.201054 0.0234928 0.644104 -4.06497 -0.0105916 0 0 0 0.00303218 0.0260281 0 0 0 0 0.0437043 11.0162 0.646499 -0.789516 0.0571052 0.155808 -0.213259 0.0286265 -0.0317508 0.0679031 -0.393804 0 0 0 0 0 0 +301 0 -0.261322 0.0532551 -0.00899504 -0.188211 0.109561 0.00607325 0.35924 0.873657 -0.0494936 -0.101175 -0.0756037 -0.144853 8.87753e-05 0.251319 -0.00473977 0.436084 -0.36533 -0.0366202 -0.00448625 1.2211 -0.0175698 -0.164453 -0.000133261 -0.0969299 0.018563 0.316866 -0.00851011 -0.054626 0.118919 -0.059693 -0.00254285 -0.102261 -0.293703 -0.078919 -0.0118758 -0.00372633 -0.00214786 -0.303977 -0.0704593 0.358812 0.00147715 -0.412454 -0.00347521 0.732381 0.0234659 0.018949 0.0209228 -0.0791389 0.00518509 0.196904 -0.191833 -1.43598 0.0101109 -0.00903731 0.0658301 1.62465 -0.0226489 0.0775253 0.23342 -0.00102215 -0.647539 -0.820199 1.05602 -0.0260684 -0.0145147 0.0821805 0.148825 -0.0168065 0.00412529 0.684151 -0.182145 -0.0131954 0.120656 0.695207 0.0197923 0.263572 2.64582 2.23378 -2.33533 0.906144 -0.690559 0.799347 0.733884 -0.616607 0.789656 -1.67562 -0.00102389 0.00236447 -0.0131884 0.0360023 -0.107375 0 0 0 0 0 -0.00899504 -0.188211 0.000576114 0 0 0 0 4.63181e-05 0 0.0133876 0 0 -0.00135089 -0.000432834 0.00822831 0 0.000991534 0.0125536 0.130716 0 0 0.00570767 -3.43647e-05 0 0.0064791 0.400656 0 0 0.000701393 0.0847365 0 0.068195 0 0.00179918 0 0 0.000255052 0 0 0.268951 0.000959915 -0.0183501 0 0.0116775 -0.0131485 0 0 0.0592131 0 0.00133413 0.252394 -0.00349062 0 0 0.0026167 -0.000737558 0 7.17095e-05 -0.0339214 0.00271638 0.410744 0.010819 0.00804077 0 0.00790527 -0.0417237 0.0911221 0.00377529 -0.0376896 0 0 0 -2.36974 -0.0642525 -0.548776 -0.00504872 0.0178498 -0.353144 0.00169137 -0.00267451 0.00350851 -0.11589 0 0 0 0 0 0 0.109561 0 0.00607325 0 0 0 0 0.0788167 0.410675 0 0 0.296827 0 0.0193719 0 0.0275495 0 0 0.0392691 0 -0.142474 0.0958021 0.164169 0.0228755 0 0 0.336803 0 2.77759 0 1.08134 0.176114 0 0.466503 0.1053 0.0103864 0 0.0316262 0 0 0.0324173 0 1.0921 0.165609 0 0 0.0454205 0 0 0.327953 2.16144 -0.0902993 0 0.337099 0 -0.360214 0.167434 -0.163934 0.230138 0.0177033 0.0937939 -0.108769 -0.0123256 -0.250899 -0.728928 -0.0716424 0 0 0 -0.180941 0.0113599 0 0 0 0 0.0328455 -9.04231 -0.894213 -1.93207 0.0406849 -0.0528225 -0.0647503 0.0290375 -0.0625775 0.0577117 -0.342696 0 0 0 0 0 0 +302 0 0.245189 0.338607 -0.00953057 -0.1388 0.133191 0.259783 -0.190073 -0.890369 -0.036682 0.399448 -0.052621 0.136941 0.000142547 0.735155 0.0032191 0.584354 -0.253513 0.0533758 0.00784158 2.76202 -0.0110374 -0.353286 -0.000122377 -0.0303152 -0.471391 0.549246 -0.0158809 -0.48163 -0.144406 0.278142 -0.00214498 0.0473452 -0.579161 -0.0258951 -0.321198 -0.00273208 -0.119364 -0.800795 -0.122259 1.75265 0.00257614 -0.546611 -0.00716704 0.756478 0.0434759 1.01953 -0.381579 0.135673 0.00930111 0.900675 0.0286382 2.19695 0.0148834 0.00407451 -0.00325446 1.31675 -0.244775 -0.0157748 0.069484 -0.00181662 -0.63993 -1.53315 0.229514 0.98335 -0.0380201 -0.0209281 -0.047501 -0.0921043 -0.00197182 0.0546084 0.219214 -0.0230583 0.174796 0.0595903 0.637674 0.0444078 7.23994 1.16641 2.53579 0.776119 0.377569 0.0412438 0.379471 0.0579918 -0.743926 1.31445 -0.00359315 0.00847069 -0.0202675 0.0624207 0.17428 0 0 0 0 0 -0.00953057 -0.1388 -0.00289562 0 0 0 0 -0.000143147 0 0.00669119 0 0 -0.00341592 -0.00299558 0.00458952 0 0.000416922 -0.00502164 0.0676027 0 0 0.0399249 -0.000214726 0 0.000375404 0.068984 0 0 0.00808187 -0.0340049 0 0.00446361 0 0.00191064 0 0 0.000455101 0 0 -0.107109 -0.00200032 -0.0477908 0 -0.0405536 -0.0387372 0 0 0.0708652 0 -0.00591527 0.0306459 0.00785411 0 0 0.0069791 0.00499932 0 -0.0102784 -0.0314001 -0.0147222 -0.0874847 -0.0251692 0.0167769 0 -0.00722213 -0.0089274 0.00279426 -0.00853431 0.0382346 0 0 0 0.36869 0.0537389 -0.0694194 0.0100537 -0.0173313 0.0346992 0.00441486 -0.00693169 0.0127906 -0.0200784 0 0 0 0 0 0 0.133191 0 0.259783 0 0 0 0 -0.161373 -0.352357 0 0 0.45728 0 0.0521866 0 -0.00242335 0 0 0.217603 0 -0.853875 -0.0524438 0.161176 0.00817064 0 0 -0.0629191 0 0.344289 0 -2.20831 0.17767 0 -0.596392 -1.3446 0.0130728 0 -0.00413172 0 0 -0.0327124 0 0.22277 0.537638 0 0 0.0359335 0 0 0.13111 1.05937 0.0258116 0 -0.464988 0 -0.0514698 0.0318726 -0.0149495 -0.140719 -0.111127 -0.667187 -0.0528349 0.0376034 0.153017 0.698065 0.0127474 0 0 0 -0.122597 -0.0381061 0 0 0 0 0.103938 10.6121 -1.51834 2.80216 0.383343 -0.534134 1.00046 -0.0661805 0.0726661 -0.171521 0.286824 0 0 0 0 0 0 +303 0 0.701385 0.473382 -0.00394457 -0.0124018 0.032094 -0.0738926 0.843668 1.48861 -0.0439255 0.0869758 0.0199614 0.725826 0.000162125 -0.193175 0.0109287 2.33269 9.65178 -0.0320308 0.014366 1.15643 -0.00514527 -0.0456563 -0.000229352 0.0778684 0.59939 0.542942 -0.0076697 0.523609 0.995957 -0.109771 -0.00333338 0.221644 -0.0760476 -0.082577 0.326288 0.00159992 0.0340428 -0.753378 -0.0120273 0.0567843 0.00235258 -0.182525 -0.00236829 2.62721 0.0276998 -0.100857 0.710887 0.284729 0.00973044 -0.358326 0.128316 -4.44203 -0.00298237 0.0095654 -0.102276 -3.41503 0.0983733 -0.0198191 -0.0860415 -0.00560146 -0.371209 -0.0340378 -2.17819 0.174888 -0.241503 0.146385 -0.226721 0.291165 0.00690917 -0.321965 -0.194903 0.0918187 -0.123382 -0.879869 -0.301374 0.495314 5.75788 -0.19804 -0.0817186 -0.300038 0.623078 -2.04273 -0.462708 0.309147 -0.146263 -1.16958 -0.0022893 0.00267505 -0.0578715 0.0855701 -1.20199 0 0 0 0 0 -0.00394457 -0.0124018 0.00105162 0 0 0 0 3.98832e-05 0 0.00523212 0 0 6.18943e-05 -0.000770411 0.00304804 0 0.000447739 -0.00719191 0.0228503 0 0 0.0348468 -6.0276e-05 0 -0.00487088 -0.140863 0 0 0.011527 -0.0467168 0 -0.0461537 0 0.00257104 0 0 0.000862442 0 0 -0.135193 0.000570742 0.0018865 0 0.0147559 -0.0183476 0 0 0.0439801 0 0.00214775 0.00578039 -0.00270481 0 0 -0.000106833 -0.00181518 0 -0.00614003 0.0824055 -0.00372716 -0.160161 -0.00380978 0.0149956 0 -0.0137475 0.00602307 -0.0982959 0.0167515 0.0311465 0 0 0 0.854448 0.002785 0.006273 0.0138108 -0.0345343 0.0863216 3.87366e-05 -0.00213163 0.00757496 -0.0179519 0 0 0 0 0 0 0.032094 0 -0.0738926 0 0 0 0 -0.207844 -0.328203 0 0 0.136339 0 0.0138804 0 -0.00647804 0 0 0.0192917 0 -0.72158 -0.0692462 0.0578897 0.00860583 0 0 -0.0620408 0 -0.0563389 0 -4.45562 -0.802656 0 -0.349186 -1.77412 0.00526433 0 -0.0411078 0 0 -0.0369496 0 -1.04286 0.484942 0 0 0.0635057 0 0 -0.129876 -0.00407034 -0.049749 0 -0.703887 0 0.238497 0.0539961 -0.0227155 0.159533 -0.124655 -1.65167 -0.345168 0.0615342 0.237206 -4.51606 -0.0180442 0 0 0 0.036214 -0.0278595 0 0 0 0 0.0278935 31.2311 -0.141565 4.13712 0.485418 -0.155912 0.557922 -0.0436095 0.0425493 -0.0683143 -0.0154108 0 0 0 0 0 0 +304 0 -0.218835 -0.0718726 -0.0141834 -0.201997 0.261602 -0.107931 0.590015 0.430099 -0.0575031 -0.155846 -0.104617 0.724072 0.000222589 1.42395 0.0054871 0.301369 1.1579 -0.103107 0.0124652 1.96073 -0.0354653 0.0626949 -0.000200231 -0.166641 0.45451 -0.012414 -0.0199155 0.345847 0.920362 0.258393 -0.00344001 0.0462428 0.0691411 -0.04497 0.329695 -0.00363363 -0.10755 0.414768 -0.167289 0.453559 0.00396418 -0.195466 -0.00829825 2.851 0.0656843 -0.157079 0.623154 0.13971 0.00485274 0.169738 -0.180652 -0.0269499 -0.00132398 0.0139591 0.0194457 -1.06287 0.0282148 0.0149706 0.324026 -0.00319497 -0.482454 -3.696 0.341996 -1.28803 -0.046519 -0.245438 0.225307 -0.110921 -0.00215154 0.756632 -0.248662 0.0605727 0.14607 -2.94485 -0.599684 0.164908 4.72582 3.63297 -2.17184 2.01495 -0.634581 -1.68952 1.06767 -0.568181 0.352531 -0.666437 -0.00542861 0.0120777 -0.0776689 0.173316 -1.11076 0 0 0 0 0 -0.0141834 -0.201997 -0.00245238 0 0 0 0 -0.000141111 0 0.00799507 0 0 -0.00432676 -0.00408514 0.0072342 0 0.000576559 -0.00766202 0.105462 0 0 0.025545 -0.000293437 0 0.000244322 0.022165 0 0 0.00526423 -0.0448546 0 0.00614876 0 0.0018103 0 0 0.000473794 0 0 -0.130153 -0.00196769 -0.0603952 0 -0.0342564 -0.0497898 0 0 0.075333 0 -0.00501151 0.0277637 0.00965646 0 0 0.00884271 0.0042355 0 -0.0112967 -0.044635 -0.0176095 -0.121507 -0.0234507 0.018271 0 -0.00361223 -0.0173831 -0.0290722 0.00538297 0.040605 0 0 0 0.423415 0.0744198 -0.136144 0.0121458 -0.0202598 0.0394764 0.00560821 -0.00908695 0.0172628 -0.0338766 0 0 0 0 0 0 0.261602 0 -0.107931 0 0 0 0 -0.0212627 0.191457 0 0 0.487343 0 0.0424139 0 0.01138 0 0 0.0174306 0 0.357394 0.0108605 0.156488 -0.0495905 0 0 0.0711804 0 2.7895 0 2.34455 0.086817 0 -0.173003 0.911026 0.0104146 0 0.0122378 0 0 0.0307219 0 0.925163 -0.033382 0 0 -0.102538 0 0 0.079882 0.638828 0.0506679 0 -0.39312 0 -0.066218 0.104225 -0.0503903 0.305514 0.0460768 0.0263231 0.0208811 0.0679392 -0.189927 0.940799 -0.0503822 0 0 0 -0.103265 -0.0334134 0 0 0 0 -0.00563797 -18.8746 -1.83789 -0.986373 -0.218576 0.0602405 -0.31621 -0.0664407 0.0714538 -0.192695 0.185257 0 0 0 0 0 0 +305 0 0 0 0 0 -0.491594 0.0629505 0.197927 2.01803 0 0 -0.140343 -0.105087 0 0.163364 -0.00825546 0 0 0 -0.0768316 -5.95868 0 0 0 0 -0.0579931 0 0 -0.452441 3.95198 0.19715 0 -0.0153502 0 0 -0.135878 -0.0218406 0 0 -0.432115 -1.83087 0 0 -0.165926 -0.852087 0 -0.246896 0.415524 -0.0285672 0.241528 -0.439159 0.352733 0 0.0870988 -0.0358081 0.24833 -0.0271581 0.0894546 0.121676 0 0 0.635556 2.74962 0 0.755322 0.508101 0.835644 0 0 0 0 0.125023 -0.333525 0 0.815351 0.55253 0 0 0 -2.44572 0 0.549427 -4.79223 0 0.207128 0.0055279 -5.01001 0 0.193221 -0.198489 0.658698 -8.81119 0 0 0 -0.0714133 -0.00177383 0 0 0 0.00477551 -0.00490965 0 0.000212941 0 5.36144e-07 -0.00192596 0 0 0 0 -0.00788096 0 -0.000476045 0 -0.0627039 0 0.054854 0.0118097 0 -5.4733e-05 0 0 -0.00479592 1.01725e-05 0.000603192 0 -2.01434e-05 0 -0.000350612 -0.00958588 -0.00164009 0.000142437 -0.000325887 0 3.82992e-08 0 0 0 -1.4385e-06 0 0 2.0862e-05 -8.10041e-05 -0.0292484 -0.00122037 0 0 -0.000146473 0 0.000718167 0 0 -0.00230562 1.84569e-05 0.0258847 0.00151335 0 0 -0.0105804 0.0421407 -0.000181271 0.0551496 -0.00599688 0 -0.0177925 5.61624e-05 0.0405034 0 0 0 0.0610614 0 -6.08182e-05 0.00112039 0 -2.24305e-06 0.000103837 0.0307537 0 -3.87977e-06 0.000179605 -0.000337536 0.000421617 0 -0.491594 -0.0714133 0.0629505 -0.00177383 -0.196941 -0.124673 -0.00805062 0.299942 -0.0294037 0.000136015 0.0711117 -0.0147478 2.5162e-06 -0.000248546 -0.000165632 -0.000821129 0.040998 0.00710977 0.536502 -0.841415 0.213342 0.231682 -0.0587573 0.0816711 0.450023 0.211641 -0.0405956 -0.00885813 8.57196 0.115301 1.25914 1.55481 -3.19628e-06 1.50118 0.648132 -0.00131393 -0.00054675 0.0430049 0.0022172 1.29245 3.15075e-05 0.0345143 3.4311 1.42941 0.0069681 0.00261996 0.240579 -0.0894648 0.0480715 -1.46132 -0.674124 -0.581121 -0.10158 -5.07307 0.000167332 -0.36428 0.000596147 0.0285567 0.0305107 -0.4933 -0.500707 -0.0556984 0.155909 -0.216621 -14.9463 0.168141 -0.979761 0.0106096 -0.465013 -0.457043 0.000184143 -0.0712622 -0.000166439 0.25049 0.148723 0.000152751 -2.31963 0.0117807 -3.13296 -0.00795251 -0.500809 -1.35117 6.25386e-06 -0.147052 0.146248 -1.26583 -1.58506e-05 -0.0661734 -0.103063 0.034031 -0.962292 0 +306 0 0 0 0 0 -0.127274 0.246059 -0.867716 -2.02587 0 0 0.0379413 0.41444 0 0.931415 0.000154786 0 0 0 -0.0166043 -1.50732 0 0 0 0 -0.4937 0 0 -0.89486 -2.41635 0.418537 0 0.0360488 0 0 -0.278633 0.001698 0 0 0.260778 -0.266678 0 0 0.0197932 1.15455 0 0.261443 -1.29068 0.147088 -0.116834 -0.693055 -0.129631 0 0.0164162 0.107949 -0.0526412 -1.33927 0.277026 -0.294463 0 0 -0.612506 0.395289 0 -0.590637 0.198036 0.428285 0 0 0 0 -0.265647 0.263585 0 -2.8165 0.565459 0 0 0 3.18216 0 -0.360316 3.53484 0 -0.105505 0.32689 3.42249 0 -0.292882 1.01532 -2.01414 7.32748 0 0 0 -0.0402713 -0.00113684 0 0 0 0.00415241 -0.000257388 0 0.000159118 0 8.95827e-09 -0.00122889 0 0 0 0 -0.0186452 0 -0.000354168 0 -0.0551269 0 0.0464793 0.0113697 0 -1.61371e-05 0 0 0.00826247 -1.48514e-07 0.000377426 0 -1.05488e-06 0 -1.83906e-05 -0.0123817 -0.000292205 3.9324e-07 -0.000226077 0 1.62831e-10 0 0 0 -7.53586e-08 0 0 1.52262e-06 -4.32079e-06 -0.0102754 -7.06124e-05 0 0 2.124e-05 0 3.75484e-05 0 0 -9.32363e-05 -2.47642e-06 0.036811 8.83517e-05 0 0 -0.00178226 0.0270377 -6.20727e-06 0.0384361 0.0215728 0 -0.0173907 9.30952e-06 0.0338706 0 0 0 0.0535761 0 -1.67907e-07 -0.00792849 0 -6.19263e-09 4.80617e-06 0.0190969 0 -1.07113e-08 8.31314e-06 -1.47239e-05 -0.00708652 0 -0.127274 -0.0402713 0.246059 -0.00113684 -0.166361 0.00620779 -0.00561652 -0.2176 0.0171169 8.12645e-05 0.0364737 -0.0160083 1.58454e-06 -0.000170921 -0.000110269 -0.000357498 0.0390072 0.00392356 -0.290652 -0.57665 0.371606 -0.189002 -0.0317028 -0.0653681 0.303411 -0.220346 -0.0196979 0.00541563 3.37399 0.189562 -0.0590462 1.55418 -2.06871e-06 -1.21436 0.592334 -0.000768057 0.00543396 -0.0397886 0.0463977 -1.06186 0.000539242 -0.0430929 2.69943 -0.806674 0.00506117 0.0222812 -0.0450569 -0.00935109 -0.154174 -0.293566 0.841132 0.42686 -0.0674709 -2.2199 0.000115843 0.664871 0.000750595 -0.0643881 0.0135908 0.194913 -0.310495 -0.000825927 -0.160246 -0.149871 -10.0891 0.0452199 0.0179868 0.13561 0.199456 -0.310686 0.000149736 -0.126507 -9.81821e-05 0.190292 -0.0689764 -0.000898332 0.108777 0.0148301 3.12467 -0.00354825 -0.266214 2.39058 1.22235e-05 -0.15117 0.255074 0.735411 -8.74723e-06 -0.18267 0.41003 -0.629461 1.35573 0 +307 0 0 0 0 0 0.193737 0.23035 0.165666 -0.482814 0 0 0.118573 0.510868 0 2.11647 0.0100328 0 0 0 0.070214 3.60956 0 0 0 0 -0.291771 0 0 -0.421433 -3.14224 0.538466 0 0.0139174 0 0 -0.112357 0.0174528 0 0 0.558375 1.52657 0 0 0.12417 2.9359 0 0.85527 -0.832383 -0.0754486 -0.0870088 2.06639 -0.158911 0 -0.0235554 0.228474 -0.405341 -2.47029 0.0534736 0.570984 0 0 -0.0682578 -4.41634 0 0.323685 -0.131456 -1.16402 0 0 0 0 0.341648 0.0279274 0 -2.96154 0.368252 0 0 0 -0.545828 0 -2.20029 7.00735 0 -0.576782 1.29255 0.901259 0 -0.705375 1.66827 -2.73953 8.46165 0 0 0 0.00154034 -0.000265888 0 0 0 0.0032784 -0.00779389 0 9.45403e-05 0 6.44737e-07 -0.000317129 0 0 0 0 0.00424207 0 -8.4557e-05 0 -0.00219139 0 0.0391729 -0.000879122 0 -2.20529e-06 0 0 -0.00334317 1.07203e-05 0.000346614 0 -3.19711e-05 0 -0.000556583 0.000762774 -0.000824225 0.000149823 -4.97814e-06 0 4.61148e-08 0 0 0 -2.28315e-06 0 0 2.17757e-05 -0.000129468 -0.00202761 -0.00189832 0 0 -0.000232785 0 0.00113761 0 0 -0.00367712 -6.07255e-06 0.0170503 0.00239713 0 0 -0.00312025 0.00910049 -0.000333077 0.0096966 0.0172474 0 0.000734668 0.000117166 0.01927 0 0 0 0.00854196 0 -6.3972e-05 -0.00209486 0 -2.35937e-06 0.000160762 0.00164666 0 -4.08096e-06 0.000278067 -0.000512325 -0.00280266 0 0.193737 0.00154034 0.23035 -0.000265888 0.241524 0.072458 -0.00137717 -0.374794 -0.054887 3.13932e-05 0.00275135 -0.0201387 5.02515e-07 -0.000217907 -2.96931e-05 -0.000780052 -0.0108129 0.00194154 0.652363 0.796667 0.0294704 -0.181631 -0.0292529 0.0397815 -0.151254 -0.285048 -0.0529409 0.0214942 2.68838 0.360184 -1.80192 1.03693 -5.80108e-07 -0.816974 -0.557321 -0.000429609 0.00928874 -0.0795682 0.0703899 -1.75397 -0.000488781 -0.0481199 2.59932 0.319788 0.0020241 0.051709 0.0405985 0.127851 0.0785693 0.973985 2.18424 1.85194 0.0367234 1.32766 2.93428e-05 1.24119 0.000229774 -0.398189 -0.0131975 0.0355023 2.41974 0.00431507 0.103526 -0.0132522 -5.0376 0.40769 0.70121 0.103017 0.59753 0.175565 1.13278e-05 -0.00706109 -4.21977e-05 -0.00130532 -0.261843 0.000384321 3.31958 0.0211317 -2.73064 0.000220228 -1.71805 4.46697 1.96673e-05 -0.568018 0.660431 0.00881553 -4.32849e-06 -0.37625 0.574868 -0.769533 1.63943 0 +308 0 -0.708174 -0.370377 0 0 -0.00248781 -0.303786 1.09526 2.2947 0 -0.275569 0 -0.652688 0 -1.02641 0 -1.10018 -2.90031 -0.0535881 0 0.529983 -0.00362135 0.217637 0 -0.0288172 0.573421 -0.425869 -0.00142814 0.6085 1.36685 -0.365037 0 0 0.540563 -0.0117816 0.363115 0 -0.0212404 2.96695 0 -0.254579 0 -0.0804609 0 -2.20815 0 -0.58322 0.939459 0 0 -0.125339 -0.0470584 1.54172 0 0 0 1.90881 0.0241654 0 0.0290557 0 0.367232 -0.343256 0.863333 -0.0785649 0.0592663 -0.665688 0.202843 -0.0670886 0 0.0451737 0.13989 0 -0.0179236 0.788147 -0.727823 -0.125648 -8.65259 0.292475 -6.25286 -0.270206 0.647564 -6.29832 -0.0388398 0.0378151 0.192651 -5.16446 0 0 0 0 -3.85624 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00248781 0 -0.303786 0 0 0 0 -0.0649966 0.29816 0 0 0.0347129 0 -0.00282881 0 0.000843637 0 0 0.232739 0 0.289806 0.0507145 -0.0128633 0.0338991 0 0 0.0270108 0 0.114288 0 1.4922 -0.268901 0 0.299558 0.212456 -0.00162573 0 0.00237588 0 0 0.0220252 0 0.177354 -0.308798 0 0 -0.0201873 0 0 -0.259034 0.930719 -0.0675551 0 -0.911596 0 -0.0890918 -0.0904434 0.126972 -0.0325081 -0.132117 0.286413 0.198956 0.0911262 -0.587026 -6.36908 0.113869 0 0 0 0.055169 -0.0497774 0 0 0 0 -0.0898594 -6.91823 -0.820652 -0.590007 -0.307719 0.296814 -0.857591 0.000517622 -0.0045108 -0.0119064 -0.175733 0 0 0 0 0 0 +309 0 -0.570576 -0.319128 0 0 -0.148403 -0.228157 -0.339015 -1.1202 0 0.213617 0 -1.71261 0 -2.22377 0 -2.56368 -10.5261 0.0132255 0 -2.12592 0.0027588 -0.100725 0 0.0363832 -0.307721 -0.567775 0.00269986 0.369709 0.454057 -0.634203 0 0 -0.620904 0.0110748 -0.0454757 0 0.0339856 -2.33774 0 -1.10034 0 0.157098 0 -5.99352 0 -0.628662 0.431639 0 0 0.744893 0.116597 9.4761 0 0 0 5.97037 -0.12556 0 -0.0738295 0 0.823708 2.9883 0.84425 0.921123 -0.169176 0.161861 -0.06547 0.109438 0 -0.121293 0.113601 0 -0.0618735 5.04532 -0.159389 -0.262523 5.63478 -0.725317 4.28646 -0.0407754 0.0215715 1.39942 -0.221204 0.271787 -0.461101 0.901852 0 0 0 0 -1.28101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.148403 0 -0.228157 0 0 0 0 -0.29013 0.281501 0 0 0.10887 0 0.0164643 0 0.00387835 0 0 -0.399997 0 -0.0937219 -0.0991472 0.0203961 -0.0436409 0 0 0.014879 0 -9.78677 0 -0.94713 -1.30652 0 -0.424718 -0.452655 0.00407784 0 -0.0490477 0 0 0.0404207 0 -3.55177 -1.40446 0 0 -0.157437 0 0 0.239925 2.0522 -0.128927 0 1.6495 0 -0.140268 0.165109 -0.105679 -0.281308 0.0841248 1.40006 0.254969 0.0978064 -0.423457 8.14064 0.069245 0 0 0 -0.0209603 -0.0796439 0 0 0 0 -0.0845971 2.5819 -0.592379 1.5615 0.042469 0.0459978 0.237008 -0.151454 0.156127 -0.128302 0.175136 0 0 0 0 0 0 +310 0 0.329597 0.228685 0 0 -0.0347146 0.102118 -0.926779 -1.73251 0 0.303395 0 -0.709012 0 -1.4433 0 0.260707 -1.23302 0.0338843 0 -1.68366 0.00688876 -0.41599 0 0.0595974 -0.650262 0.421786 0.00183969 -0.308745 -1.05005 -0.33045 0 0 -0.866946 -0.0196236 -0.441423 0 0.00623616 -1.88489 0 -0.393764 0 -0.113485 0 -2.83692 0 0.115451 -0.600897 0 0 0.509667 0.115551 0.999989 0 0 0 5.53616 -0.0558403 0 -0.0645238 0 1.18575 3.76584 1.83731 1.57729 -0.149463 1.16261 0.0392022 0.151472 0 -0.132646 -0.0646177 0 0.0414049 5.45751 0.75423 -0.0888162 3.83135 -2.22147 8.22948 -1.19316 1.33685 4.24916 -0.571999 0.596341 -0.658528 4.4669 0 0 0 0 2.96246 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0347146 0 0.102118 0 0 0 0 -0.058027 -0.234744 0 0 0.0905644 0 0.0127481 0 -0.0017286 0 0 -0.409167 0 -0.689437 -0.0229438 0.048408 -0.0228412 0 0 0.0124418 0 -5.042 0 -1.06453 -0.874194 0 -0.180816 -0.861552 0.00548169 0 -0.0146855 0 0 -0.0360235 0 -2.37733 -0.27017 0 0 0.0201994 0 0 0.595425 1.66411 -0.0213231 0 3.27492 0 0.39179 0.0242463 -0.0166695 0.400609 0.22074 0.133991 -0.0262408 -0.0132575 -0.0176593 18.5018 -0.152099 0 0 0 -0.0714932 0.0470898 0 0 0 0 0.0704296 -9.66578 -2.60703 1.94138 -1.4139 1.00657 -0.470394 -0.189518 0.167297 -0.142227 0.0525536 0 0 0 0 0 0 +311 0 -1.16493 -0.199292 0.00149833 0.0360699 -0.156669 -0.071762 -0.476737 1.22069 0.00781737 -0.22048 0.0409605 -0.298629 -3.04838e-06 -0.56248 0.00133365 0.095243 -2.89715 -0.0253537 0.00193337 2.30291 0.00180676 -0.121812 3.90884e-06 -0.0801331 0.119231 0.352089 0.0100272 -0.118742 -1.23079 -0.159654 0.000181136 0.0636259 0.43373 0.0827384 -0.214368 0.00103711 -0.0397812 5.13022 0.0817096 1.08465 -0.000149138 0.26751 0.00184192 -1.57082 -0.00673078 0.531532 -0.514828 0.0945703 -0.0031799 -1.00027 0.0349675 -0.177177 -0.00204023 0.00233811 -0.0149407 -1.24059 0.00638655 -0.0419173 0.0811998 0.000205185 0.092135 -1.89102 0.558225 -1.37911 0.0748445 0.121161 0.877357 0.0619701 -0.000196603 0.548284 0.0748695 0.0305941 0.0817868 -0.966368 -0.0574876 0.302436 -15.765 -0.183474 -5.5303 -1.11195 1.51172 -4.91515 -0.18694 0.286826 -0.0819003 -1.43376 2.67193e-05 -0.000331997 0.00565689 -0.0700687 1.17541 0 0 0 0 0 0.00149833 0.0360699 -0.00211067 0 0 0 0 -6.02966e-05 0 -0.0058755 0 0 1.21474e-05 -6.69348e-06 -0.000570189 0 -0.000138068 7.02993e-05 -0.0247807 0 0 -0.0030703 -5.82672e-07 0 0.00212717 -0.194177 0 0 0.000815298 0.0023887 0 0.0355571 0 0.000104375 0 0 4.43217e-05 0 0 0.0649227 -0.000836797 0.000252365 0 -0.0288473 0.0141675 0 0 -0.0230375 0 -0.000418944 0.0522496 0.00148241 0 0 1.69956e-05 0.00432937 0 -0.00111964 0.0119019 -0.00413105 0.0862809 0.000285902 0.00367446 0 -0.00685669 0.00231733 0.00512549 -0.000908546 -0.0178078 0 0 0 0.0993541 0.00443111 0.0583268 -0.00210575 0.00555236 -0.00423453 -9.50371e-06 -8.11082e-07 -2.74755e-05 0.00361879 0 0 0 0 0 0 -0.156669 0 -0.071762 0 0 0 0 0.394331 0.437768 0 0 0.0154739 0 -0.00921645 0 0.0106044 0 0 -0.923812 0 -0.184518 0.16125 0.0376857 -0.0873935 0 0 0.121398 0 -13.0184 0 3.80527 -1.11291 0 1.22978 0.541212 0.00277703 0 0.0527287 0 0 0.0340882 0 -4.07774 -2.44869 0 0 -0.245779 0 0 0.38529 -0.197524 -0.599743 0 2.50257 0 -1.05922 0.00134915 0.169728 0.361999 -0.103821 -0.299811 0.517992 0.139387 -0.886201 10.6299 0.091723 0 0 0 -0.0355483 -0.0234676 0 0 0 0 -0.0787237 -17.1895 -1.36866 -2.73963 -1.458 1.19496 -2.01399 -0.0547388 0.0427081 -0.0213979 -0.500232 0 0 0 0 0 0 +312 0 0.0770564 0.193714 -9.90077e-05 -0.0104506 -0.0952974 -0.0197658 -0.0322284 -0.349397 -0.000576533 0.158278 -0.0174339 0.607828 1.13806e-07 0.743891 -0.000403665 1.12194 4.85842 0.0388024 -0.000608353 1.95688 0.00830366 -0.0786709 -1.85262e-07 0.0098434 0.0514298 0.255224 0.0104781 0.34319 0.242777 0.0489654 -1.06452e-05 -0.026509 -0.245157 0.0316443 0.0279045 -0.000298753 0.0347238 -2.11298 -0.0219627 0.757671 1.2617e-06 0.266684 -0.00042418 2.74703 -0.000242401 0.208365 0.331794 -0.0422757 0.000686637 0.735216 0.177067 -4.22961 0.000522617 -0.000739129 -0.00035063 -1.77943 -0.223284 0.035923 -0.107606 1.23303e-06 0.346325 -1.09771 -0.0815991 0.803397 -0.423364 0.238273 -0.479282 0.173852 1.4234e-05 -0.127374 0.0646512 -0.0226427 -0.0252834 -0.328947 0.0194752 -0.0650509 9.03557 0.132358 2.64305 0.626663 -0.635328 2.40424 -0.339219 0.462481 -0.598107 1.06292 9.62262e-07 3.74771e-05 -0.000366132 0.0166124 -0.231853 0 0 0 0 0 -9.90077e-05 -0.0104506 0.000162609 0 0 0 0 3.80574e-06 0 4.22105e-05 0 0 1.66074e-06 3.73152e-07 3.23221e-05 0 5.56419e-06 -3.72974e-05 0.0010167 0 0 -0.00682546 -1.10711e-07 0 -0.000107892 0.00631866 0 0 -0.000574889 -0.00305167 0 -0.00304199 0 -0.000104275 0 0 -8.57799e-06 0 0 -0.0175421 5.32586e-05 0.000185664 0 0.00227597 -0.000939073 0 0 0.00139473 0 3.5505e-05 -0.00629554 2.99528e-05 0 0 -1.04886e-05 -0.000367683 0 0.000221196 -0.00100819 7.8413e-06 -0.0110077 0.000977912 0.00123965 0 0.00096981 0.00106647 0.00136647 -0.000415924 0.00286597 0 0 0 -0.0159853 -0.00377599 -0.00278367 -6.19273e-05 -0.000554627 0.00730314 -1.07051e-05 -1.88675e-05 -7.32583e-06 3.81426e-05 0 0 0 0 0 0 -0.0952974 0 -0.0197658 0 0 0 0 -0.015777 0.62478 0 0 0.15377 0 0.0149507 0 0.0213703 0 0 0.331828 0 -0.258945 -0.0730592 0.124095 0.0527319 0 0 0.170002 0 1.75145 0 -1.71979 -0.775452 0 -0.212894 -0.43649 0.0131761 0 -0.0180419 0 0 0.0780003 0 -0.549869 0.682726 0 0 0.109755 0 0 -0.0398238 -1.57962 0.129742 0 0.603335 0 -0.498247 0.257295 -0.269723 -0.309391 0.0461147 0.517113 -0.240462 0.156257 -1.10475 4.58686 0.0287523 0 0 0 -0.130793 -0.138408 0 0 0 0 -0.147251 16.2642 1.41452 1.29613 0.540092 -0.196881 0.652751 -0.193828 0.252336 -0.236838 0.300169 0 0 0 0 0 0 +313 0 0.555257 -0.224565 0.00253709 0.114564 -0.0381954 -0.205541 -0.570044 -2.20359 0.0105843 0.720458 0.0413896 -0.720387 -4.44833e-06 -1.59597 0.000976977 -1.88204 -3.87033 0.153983 0.00160288 -4.5039 0.0276698 0.219094 4.82003e-06 0.149124 -0.0886097 -0.782206 0.0165286 0.48795 -0.0229557 -0.402477 0.000228762 0.0565671 0.0710785 0.0414113 0.218601 0.000969335 0.0274394 -1.04605 0.0652997 -2.28084 -0.000235529 -0.190207 0.00172098 -2.02633 -0.0122795 -1.17458 0.290836 0.0980957 -0.00341994 -0.400781 0.149191 4.39159 -0.00185939 0.00349057 0.00130382 0.990382 0.272038 -0.0457823 -0.137727 0.000327996 -0.917892 3.72454 -0.747168 -1.54402 -0.429707 0.085217 0.343409 0.264308 -0.000224729 -0.12977 -0.0969555 0.00932437 -0.0109357 1.17911 -0.102039 0.510359 -4.04232 -3.74135 8.04168 -2.31197 2.85675 -1.88807 -0.988171 1.1709 -1.43664 2.61994 4.87461e-05 -0.000439417 0.00590904 -0.0317598 0.0219228 0 0 0 0 0 0.00253709 0.114564 -0.00319568 0 0 0 0 -8.0922e-05 0 -0.00340924 0 0 -0.000152628 -4.76965e-05 -0.000461 0 -0.000128362 -0.000741983 -0.00942992 0 0 0.0408477 -3.47453e-06 0 0.00308428 -0.391244 0 0 0.00626172 -0.0368491 0 0.0654761 0 0.000608894 0 0 0.000111165 0 0 0.16763 -0.00115434 -0.00211849 0 -0.0467271 0.0216315 0 0 0.0343284 0 -0.0015972 0.119044 0.00119522 0 0 -0.00019611 0.00640071 0 0.00289537 0.0121678 -0.00338518 0.0775371 -0.00452367 0.00207989 0 -0.0102391 0.000906281 0.0424784 -0.0115766 -0.0155724 0 0 0 -0.580772 -0.0236452 -0.0476697 -0.00574959 0.00390697 -0.0185629 5.96043e-05 -9.24603e-05 0.000300666 0.00217066 0 0 0 0 0 0 -0.0381954 0 -0.205541 0 0 0 0 -0.0648904 -0.0587101 0 0 0.225449 0 0.0431119 0 0.0116714 0 0 -0.498259 0 0.887587 -0.036493 0.1703 -0.054159 0 0 0.0847486 0 2.95584 0 1.58882 -0.336247 0 -0.462691 1.33505 0.0235358 0 0.00573417 0 0 -0.00226444 0 -0.497632 0.539383 0 0 0.0678976 0 0 0.229469 -0.497907 0.139701 0 0.876248 0 -0.0728031 -0.0166352 -0.0844891 0.268403 0.0352653 -0.972748 -0.215125 0.0146065 0.301609 -0.0332794 -0.16094 0 0 0 0.125382 -0.013005 0 0 0 0 -0.0131243 -19.8913 -5.82835 5.76604 -2.26902 1.43381 -0.905975 -0.292814 0.208975 -0.169431 0.287375 0 0 0 0 0 0 +314 0 0 0 0 0 -0.431967 -0.298838 0.208346 2.27891 0 0 1.05687 -1.08944 0 -1.31312 0.196398 0 0 0 0.311347 2.53945 0 0 0 0 0.383867 0 0 -0.127144 -8.82304 -0.591804 0 0.557991 0 0 0.100097 0.193298 0 0 3.81639 -0.881028 0 0 0.94051 -2.40464 0 -1.08639 -2.32281 0.175861 -1.90935 2.84059 -1.8334 0 -0.347383 0.498794 -0.856521 -0.813539 -0.916688 -1.77321 0 0 -0.461388 2.706 0 -1.81868 -1.89065 1.27405 0 0 0 0 -0.673443 3.18787 0 -0.767415 3.2466 0 0 0 -6.01876 0 -6.68287 10.9852 0 -2.70172 3.29998 -3.37707 0 -3.94036 6.50043 -13.3195 30.5348 0 0 0 -0.228354 -0.0928584 0 0 0 0.050262 -0.032966 0 0.00477875 0 0.000273218 -0.0166959 0 0 0 0 -0.0914098 0 -0.0220098 0 -0.0637211 0 0.393577 0.231232 0 -0.000769152 0 0 -0.172611 0.00029948 0.0491929 0 0.0147331 0 -0.00222386 0.0374585 -0.00379137 0.0091973 -0.0138631 0 3.28814e-06 0 0 0 0.00108746 0 0 -0.00245169 0.00934579 0.0426113 0.0123666 0 0 -0.015983 0 0.0138427 0 0 0.00663858 -0.0313672 -0.136043 -0.0343547 0 0 0.0892956 0.0745189 0.0368431 0.0161014 -0.101487 0 -0.405068 -0.0235598 -0.102382 0 0 0 0.338181 0 -0.0575646 0.855646 0 -0.00532989 0.0983324 0.153598 0 4.84641e-05 -0.00470457 -0.0140793 0.549978 0 -0.431967 -0.228354 -0.298838 -0.0928584 0.419254 0.217412 -0.480202 0.845529 0.96376 0.152185 -0.035603 1.05346 0.0266185 0.221962 -0.141401 0.107851 -0.0641264 0.850931 -0.247811 1.44846 0.32212 0.0570716 0.1868 -0.0237847 -0.652121 -0.316786 0.974009 0.0209576 2.46871 0.0114886 2.88935 -0.44614 -0.0281785 0.536211 1.1292 0.0629102 0.00261748 0.109092 0.0621908 -1.57109 -0.0636704 -0.0562346 0.456181 -0.579781 -0.00356523 -0.042043 0.0221198 0.147297 -0.521583 -0.832536 -2.534 1.32541 0.193783 -1.51863 0.206866 -1.635 -0.185468 -0.721413 -0.438361 -0.190727 -0.376782 -0.966073 0.621086 -2.41748 -3.22037 -0.156272 0.54173 0.00089676 0.0466204 0.0502774 -0.53439 0.234441 -0.379458 0.251348 -0.0166674 -0.391429 -13.0703 -4.01191 -1.27944 -3.20918 1.43045 0.347369 -0.948147 0.679923 -0.488794 -0.842104 -0.756609 0.519603 -0.284907 -0.558665 2.01356 0 +315 0 0 0 0 0 0.385881 0.101956 0.657435 0.147254 0 0 0.809701 0.659513 0 2.12337 0.147506 0 0 0 0.262986 1.18148 0 0 0 0 0.0960762 0 0 -0.504602 -8.55469 0.398513 0 0.719021 0 0 0.130646 0.156078 0 0 1.99068 -0.103982 0 0 0.388249 3.6724 0 -0.0413236 -2.18747 1.24718 -1.02852 1.76034 -1.62449 0 -0.15999 0.129333 -0.58252 -0.382715 -0.484599 -1.42436 0 0 1.37008 1.74954 0 -1.40149 -0.847696 0.195476 0 0 0 0 0.208944 2.00101 0 -2.22575 1.55571 0 0 0 -0.811365 0 -4.08198 12.384 0 -2.14967 5.05007 -1.64857 0 -2.0478 6.61834 -10.7771 29.8586 0 0 0 -0.138465 -0.0276299 0 0 0 0.0310631 -0.0653752 0 0.00209441 0 0.00840703 -0.0220063 0 0 0 0 -0.0997976 0 -0.0157319 0 -0.181561 0 0.310783 0.440374 0 -0.00527068 0 0 -0.402153 0.00379918 0.0615481 0 -0.00516139 0 -0.00434885 0.207617 -0.0452103 0.0525167 0.0262435 0 0.000613629 0 0 0 -0.000348262 0 0 -0.0164802 0.000268551 -0.0297366 0.0506139 0 0 -0.036856 0 0.0124605 0 0 -0.0335469 0.000394246 -0.0525387 0.00818543 0 0 0.0674149 0.0407596 -0.0200843 0.0514076 -0.153941 0 -0.121227 -0.00387208 0.0267087 0 0 0 0.670878 0 -0.145744 1.14414 0 0.00960567 0.00350829 0.341329 0 -0.00582415 0.0275958 -0.0850944 0.572458 0 0.385881 -0.138465 0.101956 -0.0276299 0.960272 0.155398 0.00178911 0.683749 0.667677 0.0589948 -0.0256687 0.0813999 0.00806242 0.0168317 -0.0146555 0.0856026 -0.0081592 0.43545 0.320773 0.740321 -0.0332311 -0.0162029 -0.286349 0.0440427 -0.1593 -0.22925 0.724698 0.010118 8.75287 -0.00472798 0.507204 1.25868 -0.00437409 -0.163048 0.105276 -0.0379651 -0.00164322 0.0786709 -0.0118467 -2.02097 0.0400902 -0.0253989 4.35301 0.615642 -0.00214649 -0.00081139 0.0521494 0.0868016 -0.118685 0.919229 1.43414 0.0236277 0.0476414 -1.37079 -0.0351245 -1.03615 -0.230398 -0.0212138 0.304854 0.338599 -0.204813 0.227441 -0.519205 0.0548217 -4.41009 -0.0215209 0.417855 -0.116607 -0.304271 -0.341534 -0.0229961 0.019242 -0.167031 0.236617 0.23558 -0.272331 -2.29439 -0.4701 1.17666 -1.2104 0.357522 4.34562 -0.281719 -0.0823363 0.979707 -0.371883 -0.387183 0.234717 0.305725 -0.845812 3.06735 0 +316 0 0 0 0 0 -0.294425 0.369753 -0.633302 -0.259072 0 0 0.0419898 1.16032 0 1.95903 -0.0177538 0 0 0 0.125898 -0.777206 0 0 0 0 -0.427316 0 0 -0.880527 0.136065 0.655347 0 -0.158461 0 0 -0.357628 -0.00815825 0 0 -0.122848 0.243314 0 0 -0.119586 5.25634 0 0.609598 -1.03404 0.52272 0.11578 2.73808 0.110254 0 -0.161662 0.060867 0.127952 1.65401 0.85808 0.069699 0 0 -0.23826 0.934058 0 -0.556263 -0.237872 1.00562 0 0 0 0 -0.368541 -0.0261118 0 -1.27546 0.95723 0 0 0 -0.801456 0 0.0890807 0.641306 0 0.171807 -0.376936 3.04478 0 0.344286 -0.419241 0.975829 -0.504911 0 0 0 -0.000763814 0.0106558 0 0 0 0.0160971 -0.0160053 0 0.00326132 0 0.000661787 0.0377643 0 0 0 0 0.0752808 0 0.014929 0 0.210877 0 0.0866352 -0.10264 0 0.00020269 0 0 -0.00461827 0.000182385 -0.0144178 0 -0.0031548 0 -0.00111811 -0.0298628 -0.000166385 0.00329801 -0.0017513 0 4.45579e-05 0 0 0 -0.000226498 0 0 -0.0021821 -0.00150962 0.0623643 0.0118145 0 0 0.000353012 0 0.000933412 0 0 -0.0175623 -0.00219264 0.12567 0.0187535 0 0 -0.0897838 -0.0291511 -0.0392391 -0.0580661 -0.085317 0 -0.10672 0.00812501 0.0764398 0 0 0 -0.468925 0 -0.0193652 0.23321 0 0.000501641 0.018726 -0.0485113 0 -0.000510135 0.000769718 -0.00731724 0.150548 0 -0.294425 -0.000763814 0.369753 0.0106558 -0.176236 -0.0300921 0.236732 0.00285798 0.640864 -0.0113717 0.00465852 0.13089 -0.00227286 0.0185163 0.0302011 -0.0219249 0.0100957 -0.0474991 -0.489654 0.404806 0.417648 -0.182668 0.0124781 -0.0633965 0.0887163 0.0538766 -0.210652 0.00513243 7.3305 -0.0546494 2.26509 1.25881 0.00408189 -0.0695904 1.17142 0.00227675 -0.00321561 -0.0891821 -0.0275359 0.450088 0.0910111 0.00772859 2.39226 -0.0717052 0.000514422 -0.00246734 0.0333924 0.0590468 0.0141766 0.556319 -0.253288 0.582056 -0.0194359 0.0491153 -0.101886 -0.329784 0.157885 0.0114952 0.199691 0.146384 -0.40349 -0.0379955 0.0723217 0.959261 -1.78178 -0.210764 0.301289 -0.0113469 -0.000370481 -0.368438 -0.015965 -0.0153275 0.0419063 0.0542277 0.0434638 -0.118177 -10.2464 -1.57323 -0.835992 -0.899575 1.68948 -4.14721 -0.0314084 0.221761 -0.571766 0.352291 0.042234 0.0315006 -0.126098 0.208003 -0.622115 0 +317 0 -0.766556 -0.382749 -0.13044 -0.236826 0.19572 0.324218 -1.69466 -4.4333 -0.580475 3.70463 -0.307456 0.0929174 0.0569196 0.154023 -0.0392673 -2.19277 -10.0791 0.518106 -0.0454852 3.00665 0.131007 -0.120942 -0.0697618 0.976034 -0.926035 -0.216994 -0.0328719 -0.392589 0.378901 0.108432 -0.238501 -0.376578 0.787532 -0.517166 -0.542362 -0.0834347 -0.461253 7.13089 -0.865119 1.72854 0.231313 -2.24243 -0.259978 0.526477 0.862912 0.989165 -0.115182 -0.681277 0.629862 1.32684 1.8387 3.75921 0.13307 0.0100011 0.0539015 -2.78328 -0.617334 0.0660708 -1.57229 -0.451674 0.847588 -2.23218 -3.65563 3.18085 0.234896 0.482393 -2.8204 -0.636078 0.297633 -2.67774 0.409025 -0.668316 0.655833 -0.088763 0.135689 1.50684 -31.146 -14.7759 10.9415 -8.20949 7.07131 -11.0496 -3.86599 3.96132 -6.18879 8.21441 -1.28716 1.57499 -1.71686 1.84619 -1.25956 0 0 0 0 0 -0.13044 -0.236826 -0.00472892 0 0 0 0 0.000982074 0 0.00472933 0 0 -0.00447502 -0.0221041 0.0689384 0 0.00540861 -0.122306 0.087424 0 0 0.117679 -0.00160469 0 0.0115325 -0.713509 0 0 0.0216259 -0.204088 0 0.0417257 0 0.020985 0 0 0.00462222 0 0 0.0830471 0.0133874 -0.0600593 0 -0.0689403 -0.0614336 0 0 -0.0278867 0 0.00160233 -0.371487 0.00417795 0 0 0.00940092 0.0149259 0 -0.00989801 -0.0358295 -0.0210005 0.0526604 -0.0190537 0.0147502 0 -0.000115853 6.92673e-05 -0.191081 0.113317 0.00641931 0 0 0 0.415715 0.197189 -0.0503084 -0.0176445 0.0302187 0.106338 0.00630536 -0.0119083 0.0192324 0.027495 0 0 0 0 0 0 0.19572 0 0.324218 0 0 0 0 -0.438854 -1.9931 0 0 0.943526 0 0.117654 0 -0.0927491 0 0 0.415486 0 -0.305993 -0.181998 0.154365 0.0318039 0 0 -0.744374 0 -8.98992 0 1.82355 -0.0605843 0 -1.45775 -0.122774 0.0140393 0 -0.0381719 0 0 -0.256237 0 -1.83145 0.910083 0 0 0.0592098 0 0 0.157962 -2.65119 0.0189617 0 -0.706657 0 1.05368 -0.406147 0.299332 -0.615829 -0.00390193 0.0922914 -1.19469 0.22423 2.35128 6.96585 0.0908101 0 0 0 -0.25573 -0.209765 0 0 0 0 0.723477 -17.2957 -4.72396 3.09793 -0.792531 0.403764 -1.64022 -0.449358 0.480654 -0.816398 1.12181 0 0 0 0 0 0 +318 0 0.407273 -0.259989 -0.0748758 -0.262528 0.351908 -0.0560296 -1.3027 -3.82403 -0.410782 2.8121 -0.6982 -0.44338 0.0311135 -1.70636 -0.149035 -1.69091 -4.86973 0.495939 -0.303435 0.65715 0.129425 0.33979 -0.0360873 0.74474 -0.345733 -0.686692 0.0632326 0.653689 2.19867 -0.413916 -0.130094 -0.698814 0.741843 0.18397 0.0140392 -0.153816 -0.00772366 2.51515 -1.20289 -0.179069 0.138318 -0.459201 -0.266017 -1.65348 0.609277 -0.337787 1.18374 -1.53713 0.764596 -0.116816 1.77649 12.6845 0.363075 -0.266818 0.472143 1.35816 0.586546 -0.101301 -1.31322 -0.317232 0.893149 0.177516 -2.38124 2.29004 0.127343 0.580156 -1.90184 -0.169676 0.195262 -3.01734 -0.148296 -1.35647 0.265733 0.195295 -0.804093 1.06817 -13.9396 -10.5202 8.26548 -3.77719 3.42816 -5.12428 -3.9353 3.69719 -6.0546 9.45036 -0.908826 1.55362 -2.65251 4.36836 -7.30892 0 0 0 0 0 -0.0748758 -0.262528 -0.00016476 0 0 0 0 0.00167377 0 -0.0189892 0 0 0.00488899 0.0100729 -0.00438325 0 -0.00183205 -0.00472984 -0.138292 0 0 0.125858 0.000740845 0 -0.0702102 0.641209 0 0 0.00330064 0.178865 0 -0.182533 0 0.0153118 0 0 -0.000758362 0 0 -0.381176 0.0228492 0.0657402 0 -0.00623408 0.0188021 0 0 0.023601 0 0.018098 -0.0639836 -0.0467165 0 0 -0.0125695 0.0113135 0 0.0109056 -0.0130836 0.0319913 0.139633 -0.0329791 -0.011492 0 0.0020754 0.11847 -0.0584918 0.0553392 0.111214 0 0 0 2.25056 -0.198265 0.561393 0.038825 -0.0760883 0.24273 -0.00671427 0.012857 -0.0287174 0.0747509 0 0 0 0 0 0 0.351908 0 -0.0560296 0 0 0 0 -0.75099 -1.04462 0 0 1.04784 0 0.14344 0 -0.0836069 0 0 -0.0708494 0 0.785081 -0.220733 0.491646 -0.0418265 0 0 -0.555587 0 -6.34434 0 0.648642 -1.00345 0 -1.87823 1.0569 0.0726905 0 -0.092531 0 0 -0.148179 0 -2.97721 0.360756 0 0 -0.0195805 0 0 0.0486133 -3.25895 -0.220766 0 0.951009 0 1.41381 -0.400947 0.403835 -1.25472 -0.20022 0.290725 -1.17782 0.561267 2.28771 13.665 0.143953 0 0 0 0.0319146 -0.377794 0 0 0 0 0.383088 0.716021 -4.05002 7.23507 -1.15598 1.30166 -1.07692 -0.56449 0.663098 -0.972751 1.63408 0 0 0 0 0 0 +319 0 -0.774559 0.258309 0.00973433 0.0208922 -0.217656 -0.0375974 -0.58269 -0.0889393 0.0935252 0.275269 -0.00797254 -0.46348 -0.00408177 -1.58425 -0.0149707 2.32594 9.79185 0.0699966 -0.0101983 -0.710023 0.0276839 -0.04789 0.00558139 0.0340912 -0.0958991 0.70414 0.0573327 0.177473 -0.18504 -0.3622 0.0239122 -0.0542978 0.385055 0.0724397 -0.120179 -0.00035309 0.433632 3.58171 -0.0309344 -0.284778 -0.0123317 1.21983 0.00667835 -2.03855 -0.0162089 -0.113362 0.0150134 0.00538816 -0.00717922 -1.54894 0.489814 1.50437 -0.00451973 0.0242403 -0.0145549 -0.44201 -0.642708 0.260332 -0.170054 0.0218307 -0.0738931 0.370247 -0.147172 1.21197 -0.0483806 0.182592 -0.0877448 0.415143 -0.0488286 -0.0538251 0.137506 -0.132985 -0.20044 2.37128 -0.0042045 0.477783 -20.6192 -5.78003 2.23667 -3.67672 2.71896 -4.39708 -0.167636 0.260759 -0.292773 -0.492122 0.0241779 0.0056069 0.164948 -0.147958 0.615117 0 0 0 0 0 0.00973433 0.0208922 -0.00018275 0 0 0 0 -7.32352e-06 0 0.00160064 0 0 0.000818117 0.00340128 -0.00124436 0 4.23384e-05 0.00634859 0.00589792 0 0 0.0200699 0.000247237 0 0.0563573 -0.26797 0 0 0.00517046 -0.00822362 0 0.205897 0 -0.000776666 0 0 0.000410621 0 0 0.736012 -0.000124874 0.0113099 0 -0.00317115 0.0621202 0 0 -0.209498 0 0.00106153 -0.144576 -0.00220301 0 0 -0.00258581 0.000682763 0 0.0131326 0.0139231 0.01013 0.156292 0.0423025 -0.0314603 0 0.00319212 0.000988483 0.151667 -0.0528722 -0.154482 0 0 0 -3.05566 0.10745 -0.313446 -0.0737161 0.140421 -0.287071 -0.00128057 0.0024648 -0.00568365 0.0086587 0 0 0 0 0 0 -0.217656 0 -0.0375974 0 0 0 0 0.128496 0.0514798 0 0 -0.11764 0 -0.0113518 0 -0.000310087 0 0 0.51763 0 -0.570783 0.0507798 -0.0213414 0.0768241 0 0 0.0191456 0 -2.9891 0 1.26175 -0.878101 0 0.639841 -0.348982 0.00108541 0 0.00346602 0 0 0.00323145 0 -1.94496 1.22811 0 0 0.180474 0 0 -0.0867092 -1.3546 -0.0521727 0 0.80559 0 0.403753 -0.0190111 -0.028286 -0.169226 0.0391204 0.206936 -0.259457 0.085248 -0.684153 7.13797 0.0625933 0 0 0 0.183499 0.00438218 0 0 0 0 0.000163211 -14.8849 0.337502 -4.42816 0.0999562 -0.371541 -0.589784 0.0618383 -0.0634529 0.0245568 -0.46639 0 0 0 0 0 0 +320 0 -0.694489 -0.190806 -0.0957768 -0.321298 0.356947 0.0976251 -0.986096 -4.52963 -0.510124 4.16302 -0.43696 0.410183 0.0224197 0.958639 0.089029 0.98948 5.50583 0.742046 0.176148 -2.1649 0.141649 0.363959 -0.0231286 0.94365 -0.512419 -0.0882321 0.108442 0.0689846 0.937229 0.213728 -0.124656 0.407654 0.909319 0.501761 0.0444106 -0.050358 0.0603207 3.52384 -1.06116 -0.76041 0.141234 0.215508 -0.154098 2.20286 0.842377 -0.176957 0.380499 0.761599 0.467255 -0.470179 1.99208 -15.9183 -0.0942282 0.39844 0.378876 -2.63403 -0.480315 -0.122594 -1.64552 -0.351789 3.19147 1.24705 -2.8265 0.537878 -0.243091 -1.22105 -2.20145 0.0927543 0.176908 -2.64866 1.96134 -0.366005 -0.0467605 0.112021 -1.45256 -2.43137 -13.0125 -10.9645 6.71465 -4.14716 3.9721 -8.67032 -3.96511 3.24928 -7.04167 6.91401 -0.872175 1.01867 -2.31941 2.83276 -4.08149 0 0 0 0 0 -0.0957768 -0.321298 -0.00155088 0 0 0 0 0.000908029 0 -0.0215854 0 0 0.00171267 0.00455611 -0.000586009 0 -0.00171248 0.0133189 -0.123588 0 0 0.0576071 0.000332216 0 -0.0809993 0.479306 0 0 -0.000248613 0.131512 0 -0.212613 0 0.00595356 0 0 -0.00190095 0 0 -0.483444 0.0123375 0.0268176 0 -0.0225712 -0.0534351 0 0 0.123707 0 0.0123399 -0.468342 -0.0336849 0 0 -0.00414464 0.0128919 0 -0.00135465 -0.0171047 0.00839523 -0.233858 -0.0405854 0.00939513 0 0.00149374 0.111944 -0.127307 0.08981 0.0928466 0 0 0 2.70397 -0.156047 0.716828 0.0509129 -0.0990319 0.280961 -0.00175859 0.00360034 -0.0204494 0.125598 0 0 0 0 0 0 0.356947 0 0.0976251 0 0 0 0 -0.653609 -1.54517 0 0 1.2952 0 0.175835 0 -0.0576747 0 0 -0.148114 0 0.583359 -0.226952 0.528678 -0.0368939 0 0 -0.520444 0 0.300013 0 3.30718 0.414442 0 -1.63474 1.40922 0.0756382 0 -0.089476 0 0 -0.173776 0 0.706317 0.126301 0 0 -0.0299157 0 0 0.224388 -4.59844 -0.593952 0 -0.950944 0 1.69619 -0.311522 0.451402 -0.620456 -0.09905 -0.645644 -1.43256 0.595572 1.05512 -7.45994 0.0746253 0 0 0 -0.40158 -0.334456 0 0 0 0 0.519619 -18.5979 -6.44392 5.87698 -1.72392 1.92941 -3.24125 -0.6096 0.714493 -1.12361 1.3098 0 0 0 0 0 0 +321 0 0.641413 0.399763 -0.0192529 -0.11244 0.29254 0.247875 -1.02578 -2.96833 0.0280916 0.920679 -0.128378 -0.0630054 0.00404313 -1.18082 -0.0134876 2.011 6.81223 0.0138793 -0.00163981 0.377412 0.0201081 -0.250304 -0.000956367 0.189639 -0.455152 0.746258 -0.0201687 -0.202106 -0.0136873 -0.145469 -0.00202379 -0.193321 -0.392862 -0.226554 -0.304985 -0.00905419 0.049341 -1.22301 -0.3347 0.448415 0.0387316 -0.321563 -0.02494 -0.494065 0.366063 0.36871 -0.101682 -0.18183 0.0850938 -1.53762 0.346128 -10.8515 0.0441573 0.0895481 0.21898 -3.28077 -1.21365 0.0981728 -0.486669 -0.116138 0.0445671 -0.248237 -1.70009 -0.571183 0.479054 -0.611465 -0.55082 -0.547022 -0.0505215 -1.4862 0.418642 -0.140056 0.127672 1.52109 -0.789366 -0.913897 1.00183 -3.75811 8.69836 0.282997 0.0329922 2.81951 -1.00933 1.09823 -1.8878 5.04092 -0.379011 0.377217 -0.789989 0.721158 0.0596061 0 0 0 0 0 -0.0192529 -0.11244 -0.00353598 0 0 0 0 -0.000592359 0 -0.0284032 0 0 0.00377223 0.0070314 -0.0212783 0 -0.00263977 0.0580144 -0.221615 0 0 0.0314274 0.000518279 0 -0.00857358 0.806606 0 0 -0.00197544 0.262469 0 -0.0377298 0 0.00456407 0 0 -0.000382761 0 0 -0.149792 -0.00832689 0.0529255 0 -0.0508961 0.0269437 0 0 0.026134 0 -0.00383498 -0.244958 -0.00724954 0 0 -0.0117066 0.00933295 0 0.00824806 0.0125636 0.0190308 -0.464091 -0.00567886 -0.011976 0 -0.0106597 0.0673966 -0.0117925 -0.0373771 0.00227497 0 0 0 1.67478 -0.162933 0.764965 0.0217697 -0.0442762 0.188592 -0.00553665 0.0107434 -0.0295107 0.141697 0 0 0 0 0 0 0.29254 0 0.247875 0 0 0 0 -0.329897 -0.0518161 0 0 0.366384 0 0.0433591 0 -0.0224513 0 0 0.256675 0 -0.603162 -0.137595 0.0810669 0.0373568 0 0 -0.264776 0 0.979945 0 -1.88508 -0.118992 0 -1.24559 -0.801238 0.00814048 0 -0.0319722 0 0 0.0140105 0 -0.620352 0.906803 0 0 0.111868 0 0 0.184184 -0.437212 -0.475028 0 1.76464 0 -0.821988 -0.124603 0.191518 -0.86754 -0.115368 0.980192 0.347988 0.212112 -2.33659 -3.14091 0.150198 0 0 0 0.000564008 -0.159086 0 0 0 0 -0.0435602 10.9458 -0.503358 4.10171 0.61129 -0.989588 2.19187 -0.19876 0.238859 -0.351063 1.03803 0 0 0 0 0 0 +322 0 -0.477498 -0.340883 -0.0216658 -0.10989 0.0066691 -0.296899 0.524153 0.971026 -0.196603 0.183062 -0.195508 -0.56301 0.00445426 0.239364 0.0418535 -1.696 -5.97913 0.074809 0.036247 -0.200025 0.0174545 0.130801 -0.00473467 0.0632794 0.326663 -0.554204 0.044905 0.73196 2.15981 -0.277095 -0.0304045 0.311606 0.208105 0.170805 0.295934 -0.0199853 0.108708 1.54399 -0.449057 -0.658694 0.0262226 -0.143728 -0.0575065 -0.515548 0.135677 -0.737822 1.25036 0.216575 0.216201 1.76676 0.327879 2.29663 -0.0719847 0.0867298 0.0361743 1.52298 -0.298459 0.144157 -0.0754981 -0.0721559 1.01452 -0.0682556 -0.242868 1.41799 -0.250631 -0.473207 -0.582062 0.051892 0.0648654 -0.145992 0.339689 -0.0250412 -0.103234 0.502617 -0.934957 -0.83573 -9.84157 -1.4345 -3.65872 -0.864266 0.2792 -3.27583 -0.275407 0.0441014 -0.467663 -4.17129 -0.140476 0.308061 -1.41353 2.1811 -9.40565 0 0 0 0 0 -0.0216658 -0.10989 -0.00253627 0 0 0 0 -2.37414e-05 0 0.00403882 0 0 8.09832e-05 0.00119018 0.00417604 0 0.000139894 -0.000847863 0.0404857 0 0 0.165527 9.31662e-05 0 0.00514277 0.170855 0 0 0.0245839 0.0360703 0 0.0704676 0 0.0205502 0 0 0.00266039 0 0 0.343564 -0.00043425 -0.000118511 0 -0.0363583 0.0295765 0 0 -0.114488 0 0.00109771 0.115015 -0.00550801 0 0 -0.00293487 0.00678284 0 0.00920556 -0.0141134 0.0118785 -0.0241768 0.0129753 -0.0185389 0 -0.000163952 0.0168579 0.0208593 -0.0239164 -0.0394111 0 0 0 -1.48188 0.0406358 -0.216353 -0.0326408 0.0625291 -0.147554 -0.000736778 0.00142197 -0.00155706 -0.0144764 0 0 0 0 0 0 0.0066691 0 -0.296899 0 0 0 0 -0.291347 -0.282845 0 0 0.118371 0 0.008562 0 0.0215864 0 0 0.21185 0 0.438311 0.0269719 0.106354 0.0361935 0 0 0.150973 0 -1.15276 0 0.984953 -0.210667 0 0.0326872 0.299201 0.0111194 0 -0.0203204 0 0 -0.0284861 0 0.25167 0.183185 0 0 0.0475059 0 0 0.0965419 0.031598 -0.196307 0 0.624989 0 0.387773 -0.101558 0.117272 -0.342902 -0.0342939 0.318554 -0.0944585 0.0603246 -1.00765 -1.91002 0.0792743 0 0 0 0.0128972 -0.0574129 0 0 0 0 -0.00462024 -15.8588 -0.018598 -3.45726 0.0960277 -0.406775 -0.0259784 -0.0513232 0.0527348 -0.103107 0.125549 0 0 0 0 0 0 +323 0 0 0 0 0 0.0507744 0.229604 -0.996679 -1.45059 0 0 -0.448183 1.08054 0 1.29927 0.0580834 0 0 0 0.268382 1.53969 0 0 0 0 -0.324256 0 0 -0.132796 2.37013 0.507669 0 0.464964 0 0 -0.227899 -0.0688451 0 0 -1.48963 0.608381 0 0 -0.266367 3.49964 0 0.613085 0.21956 1.34812 0.409305 1.16401 0.252518 0 -0.404373 0.00506314 -0.0766016 1.03485 0.556862 -0.102273 0 0 -0.290507 0.899425 0 0.0795216 -0.509889 0.850554 0 0 0 0 -0.171855 -0.350361 0 -0.0170689 0.250337 0 0 0 1.3081 0 1.72017 -2.51104 0 0.333875 -0.639608 1.54177 0 0.753953 -1.57116 3.16162 -4.41452 0 0 0 0.163732 0.0409429 0 0 0 0.000893257 -0.00254393 0 0.000637003 0 0.00304789 0.0220947 0 0 0 0 0.11083 0 0.0215754 0 0.178028 0 0.012208 0.0029828 0 -0.012584 0 0 -0.223265 0.000706413 -0.0275964 0 -0.00429208 0 -8.58608e-05 0.042455 -0.0608951 0.0141351 -0.00702672 0 0.000143959 0 0 0 -0.00020044 0 0 -0.00179274 -0.000905204 -0.242727 -0.00775489 0 0 -0.0116364 0 -0.000704005 0 0 0.00876468 -0.00424256 0.171775 0.00166088 0 0 -0.206729 -0.0492116 0.014714 -0.0385378 0.554214 0 -0.136929 0.00196274 0.00509411 0 0 0 -0.787971 0 -0.0523109 0.864185 0 -0.00329297 0.053406 -0.128443 0 -0.00045542 0.00754962 -0.0326288 0.501948 0 0.0507744 0.163732 0.229604 0.0409429 -0.178195 -0.0759884 0.495295 -0.193061 0.499077 -0.0361977 -0.0227099 0.391418 -0.00748456 0.0342167 0.0814945 -0.0161758 -0.04684 -0.151683 0.188202 0.430009 0.574632 -0.0635029 0.418551 0.0388314 -0.254371 0.148816 0.128856 -0.0136062 3.10632 -0.375745 2.95546 0.615757 0.0121781 -0.317766 1.63736 0.0592757 -0.00725348 -0.051385 -0.0725481 0.892271 0.0118578 0.0240509 1.0241 0.872935 -0.00487214 -0.037784 0.191957 0.0069686 0.310492 -0.616762 1.46996 0.493003 0.127811 0.733068 -0.215448 0.166183 -0.0504195 -0.159507 -0.407429 0.00644557 1.0434 0.30921 0.131911 0.249215 5.911 0.100262 -1.18766 -0.0913052 -0.0437435 0.46131 -0.0196862 0.0279083 0.0893162 -0.0488119 0.0492286 0.023786 -14.4796 -2.29136 1.54042 -0.239973 1.1408 -2.42818 -0.0126027 0.147388 -0.444147 0.0441796 0.0627723 0.112512 -0.332282 0.532717 -0.992381 0 +324 0 0 0 0 0 0.621088 0.331841 -0.366855 -2.06885 0 0 -0.25879 1.16894 0 2.20103 0.0396228 0 0 0 0.0519854 3.75416 0 0 0 0 -0.328374 0 0 -0.0352098 0.950089 0.614758 0 0.236435 0 0 -0.170524 -0.0491155 0 0 -0.863878 2.03651 0 0 -0.179993 4.14046 0 1.16638 0.537024 0.33044 0.367605 -0.104418 -0.415064 0 -0.232716 -0.0605113 0.136582 -1.05647 0.220335 0.0303079 0 0 0.155111 -3.45907 0 0.482987 0.728768 1.43125 0 0 0 0 -0.367136 -0.573446 0 -3.8011 0.18856 0 0 0 2.4673 0 0.817098 -0.110709 0 0.0662852 -0.278578 3.06848 0 0.842421 -0.838701 1.62066 -1.66078 0 0 0 0.100367 0.0202279 0 0 0 -0.0154631 -0.0174583 0 -0.00247649 0 -0.00266315 -0.0411047 0 0 0 0 -0.0428442 0 -0.00101072 0 -0.329717 0 -0.0713984 -0.748573 0 -0.00749947 0 0 -0.165701 -0.00105132 -0.116856 0 -0.00631733 0 -0.000743161 -0.295968 -0.0383718 -0.0244566 -0.0440599 0 -0.000122169 0 0 0 -0.000294108 0 0 0.00256367 -0.00278503 -0.0144064 -0.0416864 0 0 0.0104386 0 -0.000695511 0 0 -0.0148589 -0.0117171 -0.282164 0.0348693 0 0 0.0646738 -0.0182719 0.0165035 -0.456512 -0.00587606 0 -0.225918 0.0169006 -0.0024664 0 0 0 1.10315 0 0.10141 0.518134 0 0.00658708 0.0288681 0.368974 0 0.000905745 0.00404693 0.0178996 0.296255 0 0.621088 0.100367 0.331841 0.0202279 0.181886 -0.0127733 0.0904788 -0.813088 -0.486267 -0.035148 0.0469653 0.0749501 -0.00549673 0.0173519 0.0279186 -0.0462319 0.0056037 -0.223447 0.0513699 -0.715481 0.049564 -0.244041 0.23255 -0.0333713 0.112036 0.0139327 -0.27879 -0.0356687 1.23109 -0.0427139 -0.262494 1.18719 0.00544659 -1.72214 0.039604 0.0363236 0.00344385 -0.133936 0.0174924 -0.0142225 -0.0705719 0.00763616 1.86097 -0.535163 0.00517247 0.00223238 -0.204791 -0.186505 -0.355623 -0.49161 1.10756 -0.0827963 0.0359746 -2.3707 -0.0404648 1.64007 -0.159574 0.190419 -0.436318 0.201785 0.11014 -0.324259 -0.257143 0.17318 -2.35165 -0.0942605 0.252124 -0.0133268 0.116721 -0.466626 0.0451311 0.0477814 0.0846915 -0.224403 -0.0718776 0.248967 1.28603 -0.0652501 5.32816 0.60168 0.23076 0.429889 0.0852368 0.133114 -0.194607 0.942273 0.092471 0.0924488 -0.177952 0.415887 -0.572921 0 +325 0 0 0 0 0 -0.194951 0.114448 -0.00949756 0.99826 0 0 0.412437 -0.084605 0 -1.07941 -0.0752964 0 0 0 -0.325405 -2.22846 0 0 0 0 -0.0280512 0 0 -0.803097 0.357939 0.171464 0 -0.86471 0 0 -0.22268 0.0828029 0 0 0.917737 -0.724206 0 0 0.189167 -3.67869 0 0.0858301 -0.719732 -2.68067 -0.309458 -0.53246 -0.111242 0 0.619012 -0.0567179 0.0182884 -0.39787 0.332487 -0.464147 0 0 0.196851 2.19617 0 0.89588 0.305916 0.66546 0 0 0 0 -0.0198197 0.0281733 0 0.524001 0.102014 0 0 0 -1.19538 0 -0.66221 -1.9235 0 0.0136946 -0.199154 -1.94377 0 -0.32597 -0.909907 -0.247277 -2.20149 0 0 0 -0.0788986 -0.0522331 0 0 0 0.0412092 0.000944799 0 0.00447625 0 -0.00502098 0.0325315 0 0 0 0 0.108163 0 0.00140016 0 0.231111 0 0.302111 0.245398 0 0.0248609 0 0 0.680659 -0.00118902 0.0856998 0 0.00654672 0 -1.98825e-05 0.153537 0.136738 -0.0239403 0.038987 0 -0.000237056 0 0 0 0.000305508 0 0 0.00283218 0.00131369 0.2293 0.0265421 0 0 0.0530497 0 0.00145325 0 0 0.0254054 0.0218812 -0.0100824 0.0235161 0 0 -0.0249734 -0.133281 0.0252147 0.109117 0.312497 0 0.618115 0.00993256 -0.175939 0 0 0 -0.566104 0 0.0863111 -2.48189 0 0.00530236 -0.149339 -0.408443 0 0.000745135 -0.021143 0.0756873 -1.38975 0 -0.194951 -0.0788986 0.114448 -0.0522331 -0.123809 -0.00401786 -0.197736 -0.11965 0.757072 0.0831711 -0.0445816 0.360929 0.0142302 0.0696014 -0.0760464 0.0404649 -0.0144395 0.478585 -1.21553 0.246145 -0.332008 0.0556479 -0.217152 -0.134808 -0.409314 0.0999226 -0.0273288 0.0136208 -5.78204 0.024709 -1.45659 0.228896 -0.0150599 0.0165283 -0.967596 -0.0312026 0.00153761 -0.00118853 0.0123589 0.619985 0.14931 0.0153497 -1.71502 -3.32192 -0.00128941 -9.06786e-06 -0.344428 0.0597128 -0.039618 -1.09909 0.3002 -0.227393 0.100649 0.82266 0.0855938 0.965995 0.406019 -0.0966728 -0.0114355 0.280526 -0.181763 0.912125 -0.25668 0.472534 0.168455 0.16358 -0.473926 0.131194 -0.0505507 0.759959 -0.162573 -0.00224822 -0.18235 -0.237642 0.0357087 -0.240072 7.13623 -0.227415 -0.102017 -0.870965 -0.154423 -1.1074 -0.290462 -0.0677468 0.165302 -0.684908 -0.198057 -0.0326287 -0.0432565 0.0598681 -0.583263 0 +326 0 0.504778 0.276514 0.0373431 0.213024 -0.194322 0.00838352 0.574749 1.15771 0.372474 -1.00052 0.169278 0.23082 -0.00489427 0.677664 -0.0358806 0.776522 3.50993 -0.128519 -0.0840809 2.96218 -0.0213677 -0.34667 0.00658934 -0.15525 -0.0161914 0.287683 -0.01979 -0.113106 -0.334853 0.101792 0.0503922 -0.173757 -0.59635 -0.146089 -0.0384827 0.0119807 0.145957 -1.99522 0.293317 1.30242 -0.0317805 0.398492 0.0294032 1.58897 -0.186397 0.529568 -0.187825 -0.481211 -0.0681416 -0.395612 -0.207188 -0.266643 0.289732 -0.13401 -0.00104541 -2.23694 0.427585 0.54967 0.195898 0.0764596 0.264985 -3.00478 0.336128 0.382298 0.307143 -0.348204 -0.309997 -0.065999 -0.103116 -0.00207942 -0.199791 0.00752681 -0.135692 -1.65634 0.261352 1.02911 4.50522 2.24175 -1.64969 0.742314 -0.823109 2.69684 0.553823 -0.551864 1.3102 -1.1176 0.0796853 -0.0800556 0.139803 -0.138547 0.245134 0 0 0 0 0 0.0373431 0.213024 -0.00037282 0 0 0 0 -0.000211809 0 -0.0184967 0 0 1.0079e-05 -0.000411541 -0.0318742 0 -0.0047711 -0.0407725 -0.113274 0 0 0.0335191 -1.55864e-05 0 0.0247874 -0.321833 0 0 0.00397132 -0.0966801 0 0.0713173 0 -0.000112514 0 0 8.29469e-05 0 0 0.0188412 -0.00456074 -0.001329 0 -0.00880632 0.026302 0 0 -0.148313 0 -0.00207891 -0.588813 0.00654247 0 0 -0.000172462 -0.000622799 0 0.00215951 0.00194944 -0.0122876 1.01315 -0.0184826 -0.0211074 0 6.27823e-05 -0.0122867 0.00509073 0.025811 -0.21635 0 0 0 -0.551459 -0.0131348 0.366176 -0.00291251 0.00784056 -0.0967463 7.69067e-05 -0.00020228 0.00257259 0.127042 0 0 0 0 0 0 -0.194322 0 0.00838352 0 0 0 0 0.206057 0.152859 0 0 -0.74777 0 -0.0846324 0 -0.00424303 0 0 -0.117623 0 -0.784751 0.0833815 -0.28828 -0.0623639 0 0 -0.0209683 0 1.02156 0 -2.80589 -0.453805 0 0.48501 -1.37513 -0.0342189 0 0.0419088 0 0 0.0195168 0 -0.223764 -0.140939 0 0 -0.0966696 0 0 -0.44654 0.0451371 -0.156364 0 -0.873625 0 -0.104297 -0.0304987 0.0891231 0.220826 0.0980191 0.0877543 -0.0590181 -0.0879915 0.376614 -2.32739 -0.0801694 0 0 0 0.252237 0.105149 0 0 0 0 -0.0963064 16.2083 3.9309 -1.93958 0.794835 -0.387259 0.485964 0.208691 -0.164704 0.256986 -0.197272 0 0 0 0 0 0 +327 0 0.923777 0.0341057 0.00546155 0.12372 0.000282031 -0.273574 0.692394 0.929407 -0.0340633 0.0462632 0.155092 -0.377011 -0.000558208 -0.80663 0.0214046 -0.249882 1.32169 0.126479 0.0373207 -2.19758 0.033736 0.302494 -0.000173392 0.122512 0.473516 -0.454594 0.0292953 0.604586 0.279823 -0.334311 -0.00288308 0.275923 0.103397 0.165025 0.425751 0.0150703 0.132797 -2.73881 0.314965 -1.51088 -0.00820423 0.313433 0.0310267 -0.971046 -0.114597 -0.958673 0.496929 0.520377 -0.0646341 -0.56419 0.118097 -0.0083747 -0.0461829 -0.028916 -0.0493878 -0.907911 0.224135 0.130774 -0.127037 0.0209214 0.728202 1.15097 -0.829641 0.00425582 -0.188511 -0.483402 -0.0805923 0.211213 0.0330814 -0.514872 0.141825 0.128727 -0.383102 0.310564 -0.516381 -0.013482 5.27475 1.11168 -2.60107 1.63586 -1.9819 2.59135 -0.0554456 0.054496 -0.0434298 -0.621659 0.0489908 -0.0779965 -0.0178665 -0.0892284 -0.204849 0 0 0 0 0 0.00546155 0.12372 0.000773275 0 0 0 0 6.78542e-05 0 -0.00320789 0 0 -0.0009281 -0.00275064 0.00557935 0 0.000580634 -0.0127182 4.49243e-05 0 0 0.0676825 -0.000122268 0 -0.0111158 -0.113506 0 0 0.0108209 -0.0673699 0 -0.0960421 0 0.00127854 0 0 0.00010311 0 0 -0.646272 0.00138478 -0.0224869 0 0.0155632 0.0685423 0 0 -0.107543 0 0.000410004 0.179949 0.0204284 0 0 0.00191387 -0.00225276 0 -0.00382558 0.0161879 -0.0159636 0.0195915 0.0364144 0.0176116 0 -0.0021427 -0.101561 -0.0157218 -0.0104332 0.00307561 0 0 0 3.41439 0.184818 -0.0291042 0.0125572 -0.0303794 0.480046 0.000865239 -0.00216595 0.0287515 -0.0527173 0 0 0 0 0 0 0.000282031 0 -0.273574 0 0 0 0 0.0435675 -0.100535 0 0 -0.293423 0 -0.0351251 0 0.0156514 0 0 -0.459425 0 0.3241 0.0364696 -0.0775501 -0.073158 0 0 0.16898 0 0.126252 0 -2.48346 -0.69335 0 0.201302 -0.118837 -0.0105617 0 0.000798989 0 0 -0.021057 0 -0.899619 -0.403437 0 0 -0.0905454 0 0 0.0240714 0.422446 0.0808275 0 -0.458298 0 -0.039885 0.0509083 -0.0358607 0.330991 -0.0418702 -0.402624 0.339504 -0.0598947 -0.664692 -6.66248 -0.00611219 0 0 0 -0.14611 0.115858 0 0 0 0 0.0435743 15.9535 2.28926 -0.745562 0.679279 -0.705319 1.18858 0.138601 -0.11786 0.172405 -0.182756 0 0 0 0 0 0 +328 0 -0.683721 0.062812 -0.0488438 -0.113995 -0.00486001 -0.0113138 -0.483207 -1.0343 -0.356954 1.44826 -0.201195 -0.0243541 0.00849479 -0.187708 0.0626164 -0.411534 -2.17728 0.199596 0.132901 2.29718 0.04475 -0.181675 -0.00961612 0.314269 -0.151249 -0.0992484 0.00600211 0.321174 0.939807 -0.183214 -0.0647182 0.430726 -0.10283 -0.114751 -0.0872274 -0.0186297 -0.140159 1.10263 -0.505247 0.839412 0.0648624 -0.994388 -0.055702 0.690274 0.488292 0.135092 0.542045 0.889099 0.186533 -0.25617 0.474742 0.187579 -0.239959 0.271634 -0.214008 -0.752634 -0.00544679 0.101271 -0.480023 -0.158007 1.2737 -1.38815 0.574548 -0.279533 -0.377153 0.0331216 -0.286686 0.109738 0.118222 -0.460744 0.286772 0.00533337 0.342656 -0.6129 0.0302306 0.867012 -4.06766 -1.87559 0.115431 -1.54539 1.16052 -1.98296 -1.00901 0.857003 -1.69516 1.28447 -0.208747 0.153471 -0.379617 0.272458 -0.688 0 0 0 0 0 -0.0488438 -0.113995 0.000246653 0 0 0 0 0.000320681 0 0.032125 0 0 -0.000187226 0.000437275 0.0599592 0 0.0084399 0.106025 0.234204 0 0 0.187377 1.46059e-05 0 0.00931441 1.18135 0 0 0.0239247 0.371054 0 0.190414 0 0.0241768 0 0 0.00275494 0 0 0.674443 0.00693114 -0.0014077 0 0.00744112 -0.0104518 0 0 0.191952 0 0.0031123 1.15341 -0.0103504 0 0 0.00019437 0.00182832 0 0.00300244 -0.0342194 0.0250967 1.56825 0.0544811 0.0251706 0 0.0152553 -0.128108 0.340454 0.0218221 0.050731 0 0 0 -4.66185 -0.141015 -1.24088 -0.0193326 0.046477 -0.580364 -6.8585e-05 0.000218176 -0.00236009 -0.287268 0 0 0 0 0 0 -0.00486001 0 -0.0113138 0 0 0 0 0.0153 -0.886739 0 0 0.510752 0 0.0747645 0 -0.0187953 0 0 0.581969 0 -0.087506 0.0224287 0.273172 0.0717757 0 0 -0.219145 0 -1.91834 0 1.77215 -0.491295 0 0.146383 0.473972 0.0434876 0 -0.0067259 0 0 -0.099599 0 -0.881404 1.41741 0 0 0.187992 0 0 0.138218 0.528785 -0.143763 0 -1.45187 0 -0.199021 -0.0518642 0.0282074 -0.909313 0.00489134 1.32437 -0.431259 -0.00378471 0.577267 -4.06848 0.145942 0 0 0 -0.281644 -0.19625 0 0 0 0 0.276915 -7.97034 -1.83453 -0.132442 -0.57055 0.43619 -0.557254 -0.195664 0.128962 -0.138424 0.0377159 0 0 0 0 0 0 +329 0 -0.2273 -0.300469 0.00599149 0.0150893 -0.0590706 -0.271173 0.738815 1.26109 0.0294434 -0.603131 -0.0692433 -0.500945 -0.00112476 -0.974201 -0.0283659 -1.38216 -6.04497 -0.126677 -0.0674711 0.117395 -0.020673 0.151233 0.00119584 -0.109947 0.534444 -0.376784 0.0069074 0.518597 1.2481 -0.313857 0.00838182 -0.352662 -0.0658993 0.0157947 0.368423 -0.00339278 0.0196717 -0.481848 -0.162343 -0.573517 -0.00724549 -0.196006 -0.0132893 -1.89563 -0.0464775 -0.725246 0.835693 -0.764654 -0.0340268 -0.783282 -0.202831 -1.7777 0.217141 -0.0149152 0.0235247 1.55064 -0.611809 -0.264865 0.120979 0.0159807 -0.52381 0.666328 -0.800156 -0.0958946 0.15773 -0.567104 -0.310163 -0.024755 -0.0123161 0.0348466 -0.242277 -0.256172 0.135975 1.25101 -0.670343 -1.34635 -1.20757 0.882916 -3.11765 -0.114005 0.514566 -2.47986 0.148706 -0.00238338 0.311198 -2.3498 0.00191801 0.00708482 0.031568 0.0999167 -3.07859 0 0 0 0 0 0.00599149 0.0150893 -0.000220448 0 0 0 0 -6.17647e-05 0 -0.00456191 0 0 0.000338861 0.00102284 -0.00829417 0 -0.00145571 0.00561264 -0.0125658 0 0 0.0301101 4.79894e-05 0 0.0182277 0.0481584 0 0 0.00102185 0.0516519 0 0.0784437 0 0.00490895 0 0 0.0004164 0 0 0.299246 -0.00131744 0.0070499 0 -0.00480816 0.00554024 0 0 0.00436593 0 -0.00047482 0.0583089 0.000999956 0 0 -0.000640921 0.000289448 0 0.00388194 -0.0349321 0.00230647 1.73771 0.0076424 -0.00677659 0 0.00817344 -0.0878666 0.12267 0.0454077 -0.126747 0 0 0 -2.95491 -0.128927 -0.173951 -0.0141962 0.032865 -0.449123 -0.000241322 0.00046204 -0.0068015 -0.00221521 0 0 0 0 0 0 -0.0590706 0 -0.271173 0 0 0 0 0.0146111 -0.691034 0 0 -0.42451 0 -0.0637563 0 -0.0170678 0 0 0.183807 0 0.217152 0.0627504 -0.223809 0.0254201 0 0 -0.242084 0 -2.6055 0 0.122641 -0.330329 0 0.367991 -0.194324 -0.037351 0 0.0121762 0 0 -0.0601164 0 -0.77342 0.54336 0 0 0.0619254 0 0 -0.146641 -0.163551 -0.0706587 0 -0.672377 0 0.477882 -0.0641217 0.0053959 0.706309 0.000969953 -0.305533 -0.586181 0.0487293 -0.0234833 -4.95393 -0.0806293 0 0 0 -0.147498 0.0964684 0 0 0 0 0.220097 -0.205354 0.852105 -0.589398 -0.261035 0.561969 -0.996997 0.0691225 -0.0149164 0.0303249 -0.169289 0 0 0 0 0 0 +330 0 1.11865 0.446508 0.00661211 0.0192926 0.17197 0.0672542 0.216617 -0.393853 -7.72213e-05 -0.457364 -0.059147 -0.732092 -0.00160388 -1.59079 -0.0236849 0.536697 -0.625678 -0.100127 -0.0509002 -0.330915 -0.0277205 -0.472835 0.00117015 -0.124375 -0.245201 0.574566 -0.0275039 -0.245772 0.142527 -0.297673 0.0069558 -0.258604 -1.27787 -0.344801 -0.089079 -0.00855668 -0.0399853 -5.0816 -0.0753921 -0.192136 -0.0106203 -1.0663 -0.012203 -2.74805 -0.0707262 -0.0782472 -0.131228 -0.495797 0.0474531 -0.689754 -0.121022 -2.29437 0.132721 -0.0350233 -0.0441015 -0.106772 -0.644025 -0.0706351 0.209212 0.0218133 -0.233779 0.211904 0.522181 0.677062 0.118138 -1.00745 -0.00441471 -0.0968233 0.000123436 -0.7258 0.00172546 -0.191006 0.148805 2.11431 -0.325039 0.174836 12.2203 1.08104 4.55525 1.14049 -0.554946 5.73251 0.327743 -0.114662 0.407698 0.678856 0.00291869 0.0072394 0.0842862 0.0815277 -0.351558 0 0 0 0 0 0.00661211 0.0192926 -0.001398 0 0 0 0 -0.000190638 0 -0.0151673 0 0 -0.000738039 -0.000780452 -0.0181378 0 -0.00271314 -0.0431398 -0.100646 0 0 0.0200933 -3.65732e-05 0 0.0120133 -1.01887 0 0 -0.00289688 -0.266109 0 0.0284341 0 0.00277857 0 0 -6.15063e-05 0 0 -0.254173 -0.00406571 -0.0158285 0 -0.0298853 0.0246851 0 0 -0.150673 0 -0.00295202 -0.34194 0.0147569 0 0 0.00135217 0.00190917 0 -0.00173404 -0.0112062 -0.0103371 0.608035 -0.0121764 -0.0130729 0 -0.00559473 -0.0085055 -0.12757 0.0392831 -0.0653274 0 0 0 1.98957 0.129088 0.402111 0.00894547 -0.0172466 0.262647 0.000555904 -0.00104823 0.0154756 0.0787284 0 0 0 0 0 0 0.17197 0 0.0672542 0 0 0 0 -0.0156402 -0.343077 0 0 -0.229426 0 -0.0251238 0 -0.0168045 0 0 0.01319 0 -1.13437 0.0156049 -0.0957823 -0.0349444 0 0 -0.17771 0 -3.48207 0 -6.02075 -0.724223 0 -0.222374 -2.38401 -0.0110216 0 0.0198333 0 0 -0.0320698 0 -1.64064 0.0561662 0 0 -0.0615592 0 0 0.295143 0.919205 -0.0284462 0 -0.488595 0 -0.296631 -0.0118321 -0.0341252 -0.469375 0.0805441 0.555279 -0.225978 -0.10122 -1.43329 -8.01885 -0.103953 0 0 0 -0.353575 0.0822993 0 0 0 0 0.101154 33.804 3.27591 1.17705 1.33827 -0.730976 1.47812 0.111444 -0.0864709 0.12152 0.0010988 0 0 0 0 0 0 +331 0 -0.57337 -0.251308 -0.0211497 -0.0393952 -0.153607 -0.225767 0.572044 0.620049 -0.0972012 1.24821 0.0893891 -1.14849 0.00412125 -0.654475 0.0531701 -0.674867 -3.09901 0.28751 0.103341 -1.75375 0.0562284 0.0639451 -0.00417461 0.250631 0.0689092 -0.202122 0.0185293 0.397964 0.0502746 -0.381361 -0.0290155 0.553574 0.337996 0.32076 0.154419 0.0163401 -0.130123 2.14429 0.193092 -1.02984 0.0266207 0.446914 0.0331792 -3.17987 0.171776 -0.623898 0.402849 0.901133 -0.108771 0.783885 0.369826 -3.83862 -0.268182 0.0869981 -0.00800899 1.53135 0.452671 0.365615 -0.398856 -0.057832 1.11043 0.0237508 0.914626 0.439213 -0.303995 -0.40222 0.0629078 -0.0238544 0.0407275 -0.370272 0.198822 0.687616 -0.11697 -0.103238 -0.661873 -1.35968 -7.74264 -2.06755 -3.17575 -1.03458 -0.0695479 -2.25626 -0.480713 0.312096 -1.37898 -0.695337 -0.00708876 -0.0177887 -0.21289 -0.242181 -0.124008 0 0 0 0 0 -0.0211497 -0.0393952 0.000814789 0 0 0 0 0.000219828 0 0.0471652 0 0 -0.00117055 -0.00378265 0.0569609 0 0.00836699 0.0341378 0.319629 0 0 -0.00427083 -0.000177441 0 -0.0218613 0.0449033 0 0 -0.00393657 0.10981 0 -0.0224205 0 0.000297273 0 0 -0.000441388 0 0 0.0116114 0.00468858 -0.0245674 0 0.0176248 0.0350819 0 0 0.0459087 0 0.00175617 0.997427 0.0107706 0 0 0.0022011 -0.00107563 0 -0.00394654 -0.0551258 0.00734654 -0.808747 0.0573079 0.0303522 0 0.00739269 -0.119767 -0.233083 0.00536752 0.181864 0 0 0 1.02244 0.141967 -1.02597 0.00656838 -0.013593 0.190963 0.00081873 -0.00181575 0.0254196 -0.308435 0 0 0 0 0 0 -0.153607 0 -0.225767 0 0 0 0 -0.0779612 0.592235 0 0 0.422374 0 0.0612984 0 0.0458682 0 0 -0.290327 0 0.171707 0.0218202 0.220524 -0.0482745 0 0 0.461372 0 -0.259475 0 1.11295 -0.419843 0 0.139471 0.242069 0.0315736 0 -0.0128994 0 0 0.0434738 0 -0.0241468 -0.744936 0 0 -0.100117 0 0 -0.230794 2.55867 -0.0476391 0 -0.516647 0 -0.112632 0.0119587 0.0703354 -0.855059 0.0365998 1.25986 0.279052 -0.0980328 -0.0939387 0.629357 0.0930966 0 0 0 0.103265 -0.129891 0 0 0 0 -0.167441 -6.0649 -1.5107 -0.420765 -0.338188 0.26053 -0.440444 -0.172552 0.108561 -0.118244 -0.0107703 0 0 0 0 0 0 +332 0 0 0 0 0 -0.0633584 0.279315 -0.768156 -1.2083 0 0 -0.167528 0.795295 0 0.947971 -0.0297869 0 0 0 0.00873516 3.8354 0 0 0 0 -0.431444 0 0 -0.856072 2.54935 0.542946 0 -0.237889 0 0 -0.304342 0.0037287 0 0 -0.683524 1.46389 0 0 -0.0291994 1.84129 0 0.648565 -0.404389 -0.333005 0.0715944 1.16583 -0.00326475 0 0.0680438 -0.0437402 0.251795 0.385124 0.798575 1.30334 0 0 -0.562697 -2.17831 0 0.236571 -0.208659 0.994218 0 0 0 0 -0.210289 0.154728 0 0.505414 -0.498884 0 0 0 0.0788036 0 0.665575 -3.54461 0 0.471425 -0.92239 1.11384 0 0.245209 -0.584709 1.45441 -8.63621 0 0 0 0.227797 0.0236284 0 0 0 0.0258002 -0.00903657 0 0.00311169 0 -2.88567e-05 0.00978395 0 0 0 0 -0.0191792 0 0.00752244 0 -0.0530502 0 0.249655 0.102382 0 -7.11447e-05 0 0 -0.040192 -0.000298493 0.013696 0 -0.000527048 0 -0.00029179 0.0226152 -0.00310124 -0.0038672 0.000543685 0 -2.8071e-06 0 0 0 -2.30061e-05 0 0 0.000796698 -0.00036683 0.0337841 -0.0031972 0 0 -0.00473661 0 0.000400245 0 0 0.00975081 -0.00640232 0.0185376 -0.00763057 0 0 -0.0308287 -0.00352876 0.019005 0.105834 0.20077 0 -0.087888 -0.000212823 -0.00315934 0 0 0 0.378038 0 0.00668454 0.111937 0 -0.000930406 0.0139909 0.154363 0 0.000413203 -0.00205859 0.00433986 0.0462578 0 -0.0633584 0.227797 0.279315 0.0236284 -0.887866 -0.0130277 0.0458131 -0.184246 0.146781 -0.0117409 -0.105595 -0.0818389 -0.00130199 0.00352186 0.00900184 0.0124308 -0.0403814 -0.104541 -0.858976 0.773209 -0.0661721 -0.0199498 0.066075 -0.165023 -0.258823 0.160615 0.165751 0.055011 -7.91763 -0.297926 -0.917914 0.204118 0.00133375 0.301336 -0.364918 0.00988909 -0.00450497 -0.0312735 -0.0654952 1.46116 0.0111115 0.00531672 -1.76999 -1.50684 -0.0132228 -0.023447 -0.283286 0.250021 -0.0302357 0.610891 -1.24062 0.0941082 0.0928174 2.56971 -0.00824923 2.23832 -0.0340103 0.13688 -0.124617 -0.0335692 0.429271 -0.506476 0.107052 0.0626622 -1.90277 0.113543 0.574499 -0.0285302 0.0911974 0.476769 -0.0434332 0.0263538 0.00926801 -0.0334855 0.064923 0.0135327 2.78456 0.194245 -1.59353 0.279163 0.36656 -3.799 0.0187371 0.0953037 -0.293258 -0.815651 0.0274694 0.085549 -0.246431 0.401364 -1.77996 0 +333 0 0 0 0 0 0.153432 0.304525 0.0747194 -0.362386 0 0 0.398226 1.00782 0 2.51266 0.0667317 0 0 0 0.174578 0.957202 0 0 0 0 -0.309943 0 0 -0.350373 -0.104058 0.741601 0 0.223464 0 0 -0.140576 0.0605102 0 0 1.0616 0.87671 0 0 0.271504 3.79517 0 0.901041 -0.342941 0.0570514 -0.42994 3.12492 -0.337071 0 -0.108569 0.351435 -0.0908011 1.50209 0.147049 0.122061 0 0 0.618851 -1.56631 0 -0.292782 0.0906834 -0.0562401 0 0 0 0 0.357377 0.615053 0 -1.11988 0.670389 0 0 0 0.916031 0 -0.664993 -0.630542 0 -0.653178 0.24292 0.455865 0 -0.669915 -0.00140514 -0.518725 -1.29579 0 0 0 -0.0992458 -0.0228346 0 0 0 -0.0344149 0.00505476 0 -0.00452678 0 -0.000113924 -0.030475 0 0 0 0 -0.129108 0 -0.0187197 0 -0.234204 0 -0.27861 -0.33566 0 0.000560511 0 0 0.162931 -0.000358857 -0.023129 0 6.01935e-05 0 0.000372244 -0.0659856 0.013524 -0.00595063 -0.00132352 0 -6.41215e-06 0 0 0 4.45745e-06 0 0 0.000916362 0.000591693 0.0613024 -0.00239936 0 0 0.00664765 0 -0.00064559 0 0 0.00418998 0.00267242 -0.130124 0.00321492 0 0 -0.0204561 0.012035 0.0015689 0.0277485 -0.116285 0 -0.0715505 -0.000237203 -0.12342 0 0 0 0.275391 0 0.0170947 -0.239394 0 0.000137233 0.00085051 0.0317529 0 0.000390859 -0.0029925 0.010305 -0.103456 0 0.153432 -0.0992458 0.304525 -0.0228346 0.169473 0.0354372 -0.188512 -0.176339 -0.233654 0.0173242 -0.0286214 -0.370691 0.00201322 -0.0272213 -0.0228102 0.00760668 -0.0086358 0.119164 1.20199 -0.171723 0.692705 -0.0268887 -0.255523 0.216635 -0.232856 -0.0621362 0.0195463 -0.00146938 12.4028 0.123164 2.0229 2.2909 -0.002664 -0.330712 1.1943 -0.0177201 0.00217723 -0.0173284 0.0253523 -0.386559 -0.0102693 -0.00692011 5.56941 2.20692 -0.000280583 0.00356413 0.414517 -0.0209263 -0.0714907 0.0318423 1.16632 0.429766 -0.0773762 2.89284 0.0333873 -1.19583 0.0731401 -0.226381 0.222054 -0.197466 0.840259 -0.0975919 -0.141811 -0.0247591 13.8424 -0.0560056 0.0871761 0.0605909 -0.0870757 0.0787893 0.0301174 -0.0119209 -0.0348792 0.000566473 -0.0361791 -0.0319537 -6.13664 0.407747 1.06325 -0.446516 0.112207 0.151741 0.0395995 -0.118632 0.143905 0.18498 -0.0313116 -0.0781919 0.146406 -0.116308 0.13257 0 +334 0 0 0 0 0 0.13209 -0.126219 0.00708796 -0.115533 0 0 0.101279 -1.00796 0 -1.29879 -0.0201529 0 0 0 -0.278633 -1.65953 0 0 0 0 0.0354793 0 0 -0.0465969 -6.27474 -0.375005 0 -0.151065 0 0 0.0492529 0.0276706 0 0 1.50864 -1.32956 0 0 0.426498 -3.84123 0 -0.639 -1.10259 -0.963458 -0.656365 -0.866293 -0.846097 0 0.295916 -0.206653 -0.187872 -0.767579 0.00431021 -0.613959 0 0 0.339608 2.78348 0 -0.567877 -0.246098 0.637607 0 0 0 0 -0.131646 0.576207 0 -0.953959 0.984985 0 0 0 0.142823 0 -2.12207 6.93271 0 -1.03087 3.09233 -0.689372 0 -1.47119 4.40511 -6.38898 18.0169 0 0 0 -0.0966322 -0.0213803 0 0 0 0.00225026 -0.0185671 0 -0.00166144 0 7.49385e-05 -0.0303349 0 0 0 0 -0.194736 0 -0.0205031 0 -0.288661 0 0.155602 0.208983 0 -0.000935182 0 0 -0.100712 0.000327904 0.00675069 0 -0.000637505 0 -0.000994838 0.128819 -0.0081102 0.00469539 0.0110774 0 4.85598e-06 0 0 0 -3.14957e-05 0 0 -0.000860956 -0.00148466 -0.106945 -0.00215187 0 0 -0.0152193 0 0.00161989 0 0 0.00100001 -0.00762207 -0.133819 -0.00954895 0 0 0.115175 -0.0239498 0.0156967 -0.0878138 0.0585393 0 -0.0766472 -0.000125163 -0.0921757 0 0 0 0.768973 0 -0.0104556 0.334919 0 0.000590591 0.0118836 0.192902 0 -0.000417528 0.00543433 -0.0138629 0.19751 0 0.13209 -0.0966322 -0.126219 -0.0213803 0.232609 0.107388 -0.14692 0.0187805 0.290146 0.0154861 -0.015596 0.200654 0.00168134 0.0104739 -0.0174019 0.00682301 0.0016503 0.131777 -0.92038 -0.943512 -0.127099 0.00662227 0.122732 -0.0543644 0.0543444 -0.273653 0.0869145 -0.0150305 -1.24784 0.374167 -0.145337 -0.557959 -0.00203377 -0.247423 -0.146418 0.00732282 0.00766342 0.0246045 0.0583274 -1.93637 0.0143156 -0.0404271 -0.993227 -2.93839 -0.00245878 0.0489352 -0.279505 -0.110321 -0.317884 -0.390225 0.0584688 -0.351878 0.0817464 -2.03587 0.0200233 0.658293 -0.0903812 0.0480624 -0.0180674 0.617954 0.651059 -0.20268 -0.238947 0.673136 -3.39799 -0.0168636 0.502453 0.0162169 0.0567909 -0.0240304 0.0049387 -0.0734496 -0.0274196 0.0449865 0.0469421 0.0348327 0.440893 -0.293248 0.690629 -0.180784 -0.810225 3.66973 -0.0364274 -0.229792 0.95203 -0.743848 -0.0346258 -0.13284 0.663246 -1.07658 2.46523 0 +335 0 0.441301 0.134612 0.0206984 0.293575 -0.475567 -0.140214 0.295324 1.48928 0.0887852 -0.591897 0.120108 -0.367158 -0.0003222 -0.107911 0.00103381 -0.629535 -0.455643 -0.0962271 -0.00649897 -0.942351 0.0144347 -0.0701127 0.000343226 0.131819 0.288061 -0.317601 -0.0331562 0.40887 0.256654 -0.376435 0.00540584 -0.000615166 -0.635277 -0.194885 0.148052 0.00691374 -0.16063 -3.44228 0.183064 -0.779742 -0.00473398 -0.769411 0.0108625 0.593132 -0.0619595 -0.640416 0.369829 -0.141237 0.00717855 -1.4706 -0.0432802 0.124407 -0.0269331 0.0206948 -0.131126 -0.193074 0.1469 0.0434735 -0.0526285 -0.00231853 0.60444 0.773309 -1.06277 -0.12451 0.672163 -0.304295 -0.272984 -0.262605 -0.00471763 -0.208769 -0.173458 -0.0335028 0.291398 0.166153 0.190413 1.67282 6.26967 1.09782 -0.592025 0.974106 -1.41732 3.96671 -0.30639 -0.134953 0.675694 -2.02071 0.00750122 -0.0179862 0.0311912 -0.109458 -0.387116 0 0 0 0 0 0.0206984 0.293575 -0.000594957 0 0 0 0 -8.56003e-05 0 0.00658994 0 0 1.28472e-05 -0.000317651 -0.00122817 0 0.000174356 0.00384362 0.0111239 0 0 0.152109 -1.3435e-05 0 -0.0237713 0.159705 0 0 0.0156818 0.0359152 0 -0.169454 0 0.0130405 0 0 0.0012766 0 0 -0.522276 -0.00184588 -0.00111085 0 -0.0136194 0.00137051 0 0 -0.0130962 0 -0.00181064 -0.14209 0.00559865 0 0 0.000326131 0.000371166 0 -0.0048498 -0.0314051 -0.00501404 1.30276 -0.018922 0.0260733 0 0.0102131 -0.0785407 0.0209842 0.0621247 1.49985e-05 0 0 0 3.73874 0.127738 0.188676 0.0162631 -0.0391998 0.565376 0.000137014 -0.000378689 0.00461516 -0.00578513 0 0 0 0 0 0 -0.475567 0 -0.140214 0 0 0 0 0.342198 -0.435646 0 0 -0.818593 0 -0.0779266 0 -0.0360051 0 0 1.15008 0 0.112686 0.112896 -0.298581 0.171136 0 0 -0.367543 0 7.87477 0 0.0393859 0.0463521 0 1.20808 0.0129453 -0.025858 0 0.0350324 0 0 -0.0433482 0 1.54153 2.55934 0 0 0.373333 0 0 -0.349778 3.5162 -0.349075 0 -0.781445 0 -0.238042 -0.119582 0.21478 0.279443 0.178422 0.337177 0.322598 -0.0796804 1.07652 8.76832 -0.09334 0 0 0 0.0691351 0.113834 0 0 0 0 0.00261491 -0.619797 2.37826 -4.31491 0.334175 -0.365507 0.111902 0.282166 -0.268142 0.372202 -0.623497 0 0 0 0 0 0 +336 0 0.178659 -0.0970152 -0.00706106 -0.0271158 -0.0376025 -0.191799 0.0892059 0.392892 -0.02943 0.388471 -0.0541569 -0.314251 0.000167981 -0.821673 -0.0148915 -0.22496 -0.887364 0.0558906 -0.0245702 0.0834571 0.01233 0.186989 -0.000125408 0.155827 0.213373 -0.104621 0.028856 0.264105 -0.193731 -0.139847 -0.00199501 -0.225469 0.319302 0.0522648 0.193496 -0.0029033 0.234162 0.575937 -0.0659883 -0.457695 0.00240509 0.0895 -0.00472752 -1.40953 0.0268335 -0.520144 0.144849 -0.375091 0.00226586 -1.12382 -0.0797936 -1.14226 0.0270302 0.0173564 -0.0393486 -1.28227 -0.0962532 -0.00676165 -0.163144 -0.00105846 0.299006 1.35659 0.578295 0.0618529 0.067551 -0.0557117 0.555773 0.276947 -0.00365093 -0.176614 0.278328 -0.0431466 -0.320007 0.386704 -0.216032 -0.492651 -0.00380809 -0.807406 -0.476046 -0.817826 0.394263 -0.279852 -0.50918 0.0468407 0.175563 -1.58106 -0.00324863 0.00698479 -0.00850949 0.0281763 0.292208 0 0 0 0 0 -0.00706106 -0.0271158 0.000541143 0 0 0 0 3.35347e-05 0 0.0125888 0 0 -0.000162484 -0.000311544 0.00563911 0 0.000542881 -0.00654311 0.104957 0 0 -0.162915 -1.33047e-05 0 -0.0121353 -0.686789 0 0 -0.0203764 -0.0909039 0 -0.123149 0 -0.0106775 0 0 -0.00136612 0 0 -0.410868 0.000700484 -0.00466115 0 0.0109883 0.0279534 0 0 -0.0984801 0 0.000830192 -0.0102612 0.000341735 0 0 0.000704323 -0.000971862 0 -0.00075135 -0.0307636 -0.0043816 -0.435471 0.0236596 0.0123455 0 0.0026823 -0.00529009 -0.0812556 -0.0148334 -0.0340216 0 0 0 0.893201 0.0279274 -0.179442 0.000163369 -0.000153781 0.076611 0.000254851 -0.000666562 0.00851843 -0.0514129 0 0 0 0 0 0 -0.0376025 0 -0.191799 0 0 0 0 0.00673127 -0.171026 0 0 0.167249 0 0.00986187 0 0.00915207 0 0 -1.04603 0 -0.0261046 0.0238008 0.0882829 -0.117408 0 0 0.0738279 0 -8.3889 0 -1.88706 -0.862164 0 0.150991 -0.564978 0.00652141 0 0.0214972 0 0 -0.0109548 0 -2.71917 -2.22791 0 0 -0.275075 0 0 0.216742 -2.66264 -0.107554 0 -1.18361 0 0.0955556 0.0116263 -0.00884094 -0.0277526 -0.113172 -1.0484 -0.151768 -0.0167383 -0.623402 -10.1006 0.0557638 0 0 0 -0.145882 -0.0220143 0 0 0 0 -0.109316 5.64798 0.285078 -0.88418 0.538641 -0.44788 0.492144 -0.0665803 0.0225578 0.00934638 -0.234239 0 0 0 0 0 0 +337 0 0.28665 -0.319616 0.000536598 -0.029331 0.0773652 -0.115409 -0.224565 -1.71611 0.0798096 0.665515 0.0653787 0.0892359 -0.000227382 0.669321 0.0135108 -1.37356 -1.98753 0.0635852 0.0212384 -1.6773 0.00550842 0.406444 0.00037717 0.121052 0.119228 -0.722052 -0.0216977 0.384846 0.887199 0.0954909 0.00546781 0.283947 0.495284 0.0124759 0.281856 0.00722942 -0.130082 0.543679 0.0653806 -0.907254 -0.00310854 0.306283 0.00796136 0.952062 -0.0388828 -0.562096 0.592804 0.466454 -0.0459972 1.25983 -0.184285 -1.27644 -0.00552125 -0.0030737 0.061759 0.0105306 -0.35379 -0.240214 -0.0838003 0.00928499 0.686484 1.50069 -0.985766 -0.941599 -0.322269 0.373152 -0.0874521 -0.184621 -0.00641795 -0.644193 -0.150137 0.108386 0.13012 0.558172 -0.703141 -0.442554 -0.0484892 -1.37251 3.78652 0.9795 -0.288863 -0.442443 -0.527805 0.61609 -1.11915 3.16701 0.0047074 -0.00829078 -0.0243812 0.0495618 -1.33818 0 0 0 0 0 0.000536598 -0.029331 -0.000503604 0 0 0 0 -8.0313e-05 0 -0.0071522 0 0 1.736e-05 -0.000320874 -0.00398723 0 -0.000540938 0.0041575 -0.054175 0 0 0.114444 -1.35382e-05 0 -0.0335698 0.120621 0 0 0.00811976 0.0369862 0 -0.231816 0 0.00968124 0 0 0.000608827 0 0 -0.67318 -0.00173472 -0.00107027 0 -0.0117725 -0.000716672 0 0 0.060411 0 -0.00167664 -0.206339 0.00662123 0 0 0.000372546 0.000226742 0 -0.00531309 -0.0377526 -0.00897195 1.03671 -0.0228525 -0.00357384 0 0.00784157 -0.0340842 -0.0173888 0.0504857 -0.0136025 0 0 0 4.69902 0.150277 0.428365 0.0193327 -0.0468227 0.56346 0.000145615 -0.000404069 0.00490767 0.0741087 0 0 0 0 0 0 0.0773652 0 -0.115409 0 0 0 0 -0.313135 0.34801 0 0 0.536757 0 0.0613286 0 0.00863533 0 0 0.0849337 0 1.10807 -0.114382 0.154764 -0.0340753 0 0 0.111104 0 1.31394 0 2.50139 0.317422 0 -1.07328 1.73975 0.0136369 0 -0.0187449 0 0 0.032384 0 0.607527 0.293473 0 0 -0.0735983 0 0 0.426163 -0.33343 0.264665 0 2.47482 0 0.55747 -0.0317547 -0.0522949 -0.236276 -0.0117585 0.77974 -0.384558 0.0295212 -0.65738 5.9167 0.0395785 0 0 0 -0.043818 -0.0528118 0 0 0 0 -0.0423654 -8.78257 -2.08387 3.4732 -0.555662 0.571081 -0.625762 -0.135321 0.181541 -0.294001 0.61273 0 0 0 0 0 0 +338 0 0.314193 0.164067 0.031988 0.219386 -0.457652 -0.13367 0.444843 1.78998 0.211135 -0.833207 0.0844336 -0.597163 -0.00220333 -0.474442 -0.000754484 -0.176093 -1.5537 -0.0722304 -0.0516562 -1.11384 0.0093306 -0.174109 0.00370295 -0.0712836 0.172065 0.0704665 0.0157165 0.269978 0.25986 -0.362732 0.02807 0.0895573 -0.714436 0.00106736 0.0471644 0.0141508 0.0749819 -3.66412 0.123392 -0.687831 -0.0131533 -0.0495548 0.025577 -1.14431 -0.0604998 -0.47395 0.244729 -0.153397 0.0293156 0.0115019 0.100876 2.24217 0.267325 0.0465593 -0.131965 0.549205 0.209867 -0.851373 0.0110318 5.58743e-05 1.19159 1.55591 0.113504 0.325935 -0.0197468 -0.91024 -0.304877 0.12562 -0.0443737 -0.113039 0.220626 -0.0403446 0.184054 -0.583344 0.105318 1.18201 6.23809 1.70383 -1.21846 0.84408 -1.2901 4.38175 0.190619 -0.33835 0.881508 -2.76809 0.0224392 -0.0494642 0.0461565 -0.0782527 -0.810486 0 0 0 0 0 0.031988 0.219386 -0.000167694 0 0 0 0 -1.53118e-06 0 -0.00068704 0 0 -5.8929e-07 -1.16422e-07 -0.00366139 0 0.000143526 -0.0118141 -0.0302042 0 0 0.056544 -5.45945e-09 0 0.0310581 0.143292 0 0 0.00585424 0.00867844 0 0.0577134 0 0.00623697 0 0 0.000844369 0 0 -0.00379833 -3.26522e-05 -1.25665e-05 0 -0.00357606 -0.00279373 0 0 -0.0269943 0 -0.000312073 0.066465 0.000761843 0 0 1.09665e-06 0.00026375 0 -0.000581266 0.0325512 -5.61635e-05 0.154772 -0.00398143 0.013545 0 0.000760563 -0.0265239 0.0822669 0.00947372 0.0480921 0 0 0 0.272132 0.0150603 0.0880515 0.00212891 -0.00519482 0.138662 4.144e-07 -1.01119e-06 1.37247e-05 0.00607647 0 0 0 0 0 0 -0.457652 0 -0.13367 0 0 0 0 0.0778884 0.194611 0 0 -0.527444 0 -0.0493198 0 0.00350256 0 0 0.0715093 0 -0.220017 0.0534444 -0.104816 0.0491442 0 0 0.0536266 0 3.12523 0 -1.41991 -0.229733 0 0.829959 -0.654814 -0.00757499 0 -0.0185237 0 0 0.0107549 0 0.371642 0.193799 0 0 0.087751 0 0 0.445845 4.47773 0.138634 0 0.667029 0 -0.600049 0.118313 -0.143615 0.0911277 0.0246128 1.07377 0.665193 -0.0127021 0.801985 6.82093 0.0636079 0 0 0 -0.0828221 0.038114 0 0 0 0 0.117883 7.22159 1.96945 -3.14847 0.279232 -0.320446 0.538819 0.142025 -0.123201 0.20794 -0.450642 0 0 0 0 0 0 +339 0 0.2749 0.124106 -0.0315607 -0.0593694 0.056438 -0.0466001 -0.171517 -0.169116 -0.244729 0.870699 -0.235018 -0.249965 0.00563542 -1.01922 0.0101984 0.321454 -0.218057 0.133935 0.0581231 0.0950285 0.0578289 -0.047454 -0.00723419 0.369749 -0.0183373 0.238414 0.0379076 0.210439 0.577852 -0.343611 -0.0460555 0.0876419 -0.146388 -0.109575 -0.0478156 -0.0367995 0.116396 -0.870636 -0.458983 -0.200978 0.0362545 -0.677276 -0.0789832 -0.638128 0.196484 -0.170752 0.346471 0.254834 0.209954 -0.223848 0.348852 -0.765334 -0.111976 0.0711519 -0.158753 0.167604 -0.402261 -0.095973 -0.430917 -0.0794792 0.103199 1.78049 1.44133 0.395803 -0.0905271 0.252648 0.895968 0.257602 0.0842472 -0.595029 0.123255 -0.175704 0.0257425 1.64316 0.0691262 -0.691175 4.17338 -0.994019 0.661321 -0.330817 -0.177202 1.79512 -1.02763 0.50669 -0.53338 0.318664 -0.0728755 0.171446 -0.413572 0.969655 -1.80228 0 0 0 0 0 -0.0315607 -0.0593694 1.19925e-05 0 0 0 0 1.09208e-07 0 0.00326923 0 0 -9.95686e-06 -1.25779e-06 0.00903155 0 -0.000133482 0.0286838 0.0701829 0 0 -0.2495 -5.89825e-08 0 -0.0891742 -0.777354 0 0 -0.0351721 -0.0127201 0 -0.31671 0 -0.0345661 0 0 -0.00497029 0 0 -0.8897 2.32885e-06 -0.000212328 0 0.000255737 0.000470149 0 0 -0.0014855 0 2.23175e-05 -0.214072 -4.26208e-05 0 0 1.85294e-05 -1.88618e-05 0 9.64849e-06 -0.0584551 -4.89126e-05 -0.855184 0.000710236 0.0269945 0 -2.95829e-05 -0.0245937 -0.297238 -0.00054929 0.0644836 0 0 0 1.87797 0.000386512 -0.0194337 -5.90619e-05 0.000144118 0.174328 7.00185e-06 -1.70854e-05 0.000231898 -0.0168727 0 0 0 0 0 0 0.056438 0 -0.0466001 0 0 0 0 -0.207458 -0.841469 0 0 0.414815 0 0.0352967 0 -0.0362349 0 0 -0.130968 0 -0.503893 -0.0667216 0.199733 0.00286974 0 0 -0.367028 0 -9.09721 0 -3.30668 -1.08758 0 -0.444995 -1.33259 0.017468 0 -0.0258343 0 0 -0.0785014 0 -3.29436 -0.693204 0 0 -0.068797 0 0 -0.142758 -1.87499 -0.121937 0 -2.21452 0 -0.204814 -0.0879779 0.107429 0.116678 -0.17135 -1.02018 0.0277019 0.113337 0.0416513 -6.64405 0.118426 0 0 0 -0.169009 -0.079664 0 0 0 0 0.0199563 13.6594 -0.00666913 0.577477 0.541566 -0.533977 0.949039 -0.123009 0.0814888 -0.0812987 0.0798748 0 0 0 0 0 0 +340 0 -0.241961 0.222107 -0.0304733 -0.165169 0.256633 0.331208 -1.07403 -2.77382 -0.261821 1.2277 0.16367 -0.57314 0.00197131 -0.808529 0.022357 0.0904394 -1.46176 0.246192 0.0982487 -1.56225 0.0172224 -0.460014 -0.00346115 0.245129 -1.0497 0.245084 -0.00183007 -0.747045 -1.55948 -0.200046 -0.0292433 0.241289 -0.486697 0.218002 -0.656221 0.00870417 -0.174993 0.00326719 0.109793 0.234909 0.012006 -0.199329 -0.00232101 -1.37569 0.060931 0.58093 -1.16099 0.904027 -0.0385925 -0.228912 0.222529 0.858808 -0.117684 0.0322655 -0.180906 0.73765 -0.176378 0.152159 -0.243673 0.000841763 0.782975 -0.190463 0.001794 1.3614 0.109749 0.706955 -0.520797 -0.198912 0.0381438 -0.645018 -0.0991223 0.0706825 0.174202 1.50777 1.13273 0.33202 -1.43593 -1.62632 2.50264 -0.150422 -0.00576333 1.01904 -0.630129 0.747083 -1.46249 3.75617 -0.0225992 0.00640989 0.194184 -0.856396 4.86391 0 0 0 0 0 -0.0304733 -0.165169 -0.000227183 0 0 0 0 -2.07438e-06 0 -0.00225857 0 0 -1.37384e-06 -2.30594e-07 0.000500543 0 -0.00056932 0.0419664 -0.000186393 0 0 0.0301042 -1.08134e-08 0 -0.0380116 0.592369 0 0 0.00686545 0.18214 0 -0.145603 0 -0.00495348 0 0 -0.000304095 0 0 -0.203299 -4.42358e-05 -2.92969e-05 0 -0.00484464 -0.00393929 0 0 0.098229 0 -0.000422779 -0.247891 0.00103353 0 0 2.55666e-06 0.000357314 0 -0.000811536 -0.0227529 -0.000184774 -0.477292 -0.0055868 -0.0132887 0 0.00103939 0.00949405 -0.182329 0.0128017 -0.0480876 0 0 0 1.05563 0.0213935 0.0144398 0.00301803 -0.00736437 0.00610047 9.66109e-07 -2.35743e-06 3.1997e-05 -0.00224138 0 0 0 0 0 0 0.256633 0 0.331208 0 0 0 0 0.0528167 -0.779494 0 0 0.315225 0 0.0443203 0 -0.0100249 0 0 -0.0987382 0 -0.717203 -0.114518 -0.0539172 -0.0109615 0 0 -0.103295 0 -5.0016 0 -1.27362 -0.02899 0 -0.728458 -0.891352 -0.0005667 0 -0.0109462 0 0 -0.074096 0 -0.766715 0.0950382 0 0 0.0207033 0 0 -0.0696042 0.832915 0.0771654 0 -0.67917 0 -0.163483 -0.0489169 0.0172399 -0.413536 -0.0328752 0.384032 0.0829876 -0.0251356 -0.0109164 0.167723 0.0919712 0 0 0 -0.153185 -0.0566467 0 0 0 0 0.116836 3.75097 -1.34777 2.38795 -0.0575765 -0.0323872 0.458975 -0.128938 0.129305 -0.183135 0.444907 0 0 0 0 0 0 +341 0 0 0 0 0 0.107418 -0.286917 0.722713 0.854817 0 0 0.266819 -0.639807 0 -0.495804 0.0447201 0 0 0 0.0706094 4.23644 0 0 0 0 0.44302 0 0 0.58299 -1.49734 -0.532318 0 0.032519 0 0 0.358782 0.0604417 0 0 0.921352 0.0508222 0 0 0.247599 0.603531 0 -0.940697 0.248708 0.192159 -0.549128 -0.498327 -0.196596 0 -0.10146 0.0900667 -0.419561 0.0984327 -0.0500464 -0.478419 0 0 -0.623138 -2.36597 0 -0.531223 -0.338329 -0.414202 0 0 0 0 -0.0150242 0.371963 0 -1.99261 0.40215 0 0 0 -1.69194 0 -0.976001 0.984453 0 -0.522811 0.872627 -2.2746 0 -0.813562 1.70888 -3.29053 5.78612 0 0 0 0.00490001 -0.031961 0 0 0 -0.0354341 -0.0345323 0 -0.00544892 0 -0.0053383 -0.028714 0 0 0 0 0.0238965 0 -0.00960532 0 0.00753418 0 -0.158692 0.239288 0 0.00148544 0 0 0.21462 -0.00271385 0.0361151 0 0.00147341 0 -0.00261958 0.175844 0.0201705 -0.0419432 0.0287822 0 -0.00029904 0 0 0 4.96609e-05 0 0 0.00249338 0.000201883 0.262487 0.0123518 0 0 0.0305612 0 0.0094622 0 0 -0.0048694 0.0164554 -0.345879 0.0298928 0 0 0.0597311 -0.0179535 0.0548786 0.014445 -0.0659605 0 0.139015 0.010726 -0.036841 0 0 0 0.11571 0 0.101486 -0.46262 0 0.00536115 -0.0138099 -0.0758447 0 0.00230249 -0.012181 0.0219535 -0.0883951 0 0.107418 0.00490001 -0.286917 -0.031961 0.0387225 0.162697 -0.318367 0.274053 -0.156242 0.0360997 -0.0435047 0.0509694 0.00629477 0.0482414 -0.0549938 -0.0156631 0.0292991 0.128872 0.713904 0.720777 -0.022479 0.0366679 -0.0409161 0.0388434 0.127687 -0.227838 -0.146319 0.0460842 0.482817 0.312186 -0.490129 -1.18964 -0.00866672 -0.0281631 0.101366 0.00703576 0.00930483 0.0781257 0.0579307 -1.11679 -0.0129284 -0.049714 -0.895819 1.33862 -0.00354729 0.041506 0.0662608 0.203233 0.00647048 1.79026 -1.12136 -0.345207 -0.0761343 -0.418965 0.109214 -0.464613 -0.226933 -0.0133455 -0.124881 0.278545 -0.31565 -0.681229 -0.289766 -0.742327 -1.74545 -0.203929 0.881535 -0.00250574 0.256713 -0.542 -0.110211 -0.10561 -0.0785603 -0.0311463 0.00607162 0.110335 2.77814 0.175329 0.719564 -0.197349 -1.22073 4.38252 -0.10154 -0.36214 1.10906 -0.0010782 -0.0882854 -0.229429 0.682115 -0.676175 1.19224 0 +342 0 0 0 0 0 -0.729771 -0.257218 0.740975 2.08941 0 0 -0.234201 -0.314572 0 -0.932389 -0.178741 0 0 0 -0.10177 -1.18314 0 0 0 0 0.328662 0 0 0.351016 2.025 -0.306344 0 -0.748972 0 0 0.136795 -0.0588065 0 0 0.260113 -0.23546 0 0 0.0322617 -1.05061 0 -0.309509 0.764669 -0.471481 -0.0138816 -1.17422 -0.0145156 0 0.040052 -0.35608 0.742304 0.176252 0.0304511 0.557214 0 0 0.564451 2.56451 0 0.578547 0.216046 -0.107167 0 0 0 0 0.337354 -0.388228 0 1.40852 -1.35033 0 0 0 -4.24128 0 -1.39643 -2.48734 0 -0.629863 -0.363437 -4.44451 0 -0.285757 -1.07516 1.35636 -8.13355 0 0 0 -0.0743961 -0.0138841 0 0 0 -0.0257457 0.0481625 0 -0.00300995 0 0.00187488 0.0184777 0 0 0 0 0.0441931 0 0.00234644 0 0.250831 0 -0.19979 0.182734 0 0.00134808 0 0 0.0688005 0.00180481 0.0224619 0 0.00721142 0 0.00249818 0.0827579 0.0106369 0.03145 0.00969546 0 9.99081e-05 0 0 0 0.000375671 0 0 -0.00312204 0.00284227 0.416843 -0.00697978 0 0 -0.00107054 0 -0.00507342 0 0 0.0117118 0.0440077 -0.145072 -0.0190593 0 0 0.0782022 0.0125255 -0.012289 0.0102236 -0.0597388 0 -0.0579426 0.0169475 -0.208082 0 0 0 -1.07245 0 -0.110906 -0.30944 0 -0.00987113 -0.0176964 -0.0785015 0 -0.00143071 -0.0039731 -0.000271376 -0.0327162 0 -0.729771 -0.0743961 -0.257218 -0.0138841 -0.542986 -0.0618775 -0.114142 -0.231961 -1.1851 0.0184047 -0.0312537 -0.0201299 0.00264475 -0.00500961 -0.0210489 -0.0704739 -0.0232298 0.118761 0.351026 0.425149 -0.389348 0.0428301 0.138686 0.0541993 -0.159241 0.0544749 -0.47937 0.0103832 -0.772131 -0.0808708 -3.05092 -0.37651 -0.00348488 0.427085 -1.43229 0.0158788 -0.00308157 -0.0382201 -0.0159153 0.488596 -0.172276 0.00714711 -0.627889 0.989459 -0.00494488 -0.019301 0.121945 0.0584926 0.172184 1.17495 -1.12642 -0.762166 0.00711784 0.301329 0.0431722 1.10362 -0.442628 0.839628 -0.117922 0.364695 -0.527442 -0.822073 0.110154 -0.565651 -6.44385 -0.221915 -0.0890596 -0.0247574 -0.16021 -0.228762 -0.00325659 0.0261142 -0.0448764 0.153055 0.129086 0.299133 17.2932 2.0476 -2.09781 0.708459 -0.400743 -0.382434 -0.0705892 -0.0311134 -0.409684 -0.0942266 -0.0813586 0.031174 -0.31704 0.208545 -0.434612 0 +343 0 0 0 0 0 -0.412342 -0.132184 0.0864169 0.626104 0 0 -0.0845354 0.236528 0 0.223325 -0.0643483 0 0 0 0.0479021 0.301397 0 0 0 0 0.13768 0 0 0.166748 -1.32451 0.060468 0 -0.456286 0 0 0.102973 -0.0372619 0 0 1.39006 0.491184 0 0 0.221035 0.549688 0 0.0905398 0.0280556 0.0162528 -0.207864 -0.88201 -0.0260302 0 0.225512 0.56054 -0.321732 0.829681 1.00394 0.577987 0 0 0.284965 -6.17302 0 0.106434 0.4455 -0.246546 0 0 0 0 0.274117 0.00828873 0 -3.92173 0.881897 0 0 0 -0.0977033 0 -1.79926 3.27803 0 -0.484796 1.7627 -2.27432 0 -1.01239 2.2847 -3.81563 3.82918 0 0 0 -0.445425 -0.0659927 0 0 0 -0.0206574 0.0483603 0 -0.00206343 0 -0.00739605 -0.0917692 0 0 0 0 -0.225399 0 -0.038131 0 -0.503547 0 -0.169512 0.00484805 0 -0.00274397 0 0 -0.225757 0.000548793 0.0295653 0 0.00411227 0 0.00356536 0.0153619 -0.0217605 -0.00200156 0.019211 0 -0.000370714 0 0 0 0.000253355 0 0 0.00419324 0.0011609 -0.0117006 0.0011911 0 0 -0.0246432 0 -0.0116347 0 0 0.0204789 -0.00292923 -0.0646187 0.0476951 0 0 -0.116636 -0.0186299 -0.0388008 0.0681759 -0.358614 0 -0.0392344 -0.0117473 -0.10137 0 0 0 2.12034 0 0.137187 0.482462 0 0.0182741 0.00840178 0.134518 0 -0.000335913 0.0147078 -0.024329 0.103909 0 -0.412342 -0.445425 -0.132184 -0.0659927 0.280803 0.0298444 -0.253643 0.189413 -0.282437 0.0702234 0.0439256 0.349327 0.0105731 0.0808429 -0.060953 -0.0599925 0.0622582 0.458917 0.924642 -0.761357 -0.0805095 0.0668952 0.123627 0.141946 0.180121 -0.0111971 -0.456633 -0.0146782 3.92719 0.323637 0.0177073 0.277419 -0.0122249 0.50619 0.135805 0.0390626 -0.00184458 0.0297058 0.0203353 -0.285552 -0.01758 0.00325667 1.59219 0.810202 0.0106207 0.0181667 0.184682 -0.102302 0.0606517 -0.715787 -2.20895 0.429365 -0.00452041 -0.121753 0.0471207 -0.41584 0.0330432 -0.24458 0.141736 -0.304349 -0.644215 -0.468187 0.0487291 0.280384 1.28756 0.354595 -0.125544 0.287717 0.0881825 0.489995 -0.14615 -0.00423256 -0.126111 0.121262 -0.11018 -0.0974008 -0.100368 -1.00158 -2.37233 -1.30668 -1.27805 1.34272 -0.419072 -0.367122 0.552723 -0.779955 -0.314387 -0.222092 0.325404 -0.541238 0.426575 0 +344 0 -0.364788 -0.0587506 -0.0135798 -0.124259 0.0359222 0.249924 -1.31246 -2.60162 -0.0832183 0.786786 -0.141633 -0.381493 0.00120494 -0.107552 0.0137731 -0.43557 -1.77799 0.223339 0.0292206 -0.733432 0.0523499 -0.104956 -0.00158401 0.141917 -0.810311 -0.0488808 0.108977 -0.686257 -1.36049 0.137375 -0.0122977 0.0921891 -0.0822958 0.569145 -0.46323 -0.00896322 0.396517 0.225937 -0.170997 0.379588 0.00867754 1.7684 -0.0100808 -1.89554 0.0493025 0.573494 -0.923973 0.165073 0.0160705 1.17554 0.306815 -0.709286 -0.0676223 0.042132 0.112633 2.04703 -0.529467 -0.241832 -0.314388 -0.0142609 0.779134 1.84757 0.312323 -0.0169448 -0.943418 0.970396 0.191267 0.817395 0.0193155 -0.0594984 0.0766007 -0.0814934 -0.603667 2.45365 0.786841 -2.04732 -1.83724 -1.17793 2.10532 -0.7095 1.21641 -0.669796 -0.726449 0.988876 -1.10594 3.61479 -0.015216 0.0213882 0.171163 0.272432 2.14009 0 0 0 0 0 -0.0135798 -0.124259 0.000724577 0 0 0 0 0.000100402 0 0.00534456 0 0 -0.000162018 -0.000964436 0.00306577 0 0.000545311 0.0230403 0.0232803 0 0 -0.1313 -5.10545e-05 0 0.00401697 0.178686 0 0 -0.0163617 0.0980989 0 0.0630845 0 -0.0167163 0 0 -0.00191319 0 0 0.177583 0.00189663 -0.00306057 0 0.0136875 0.0147246 0 0 0.0802936 0 0.00139581 0.429889 0.00309116 0 0 0.000312107 -0.00117967 0 0.00689193 0.0149069 0.00244297 0.16964 0.0370032 0.00107261 0 0.00277593 0.000653912 -0.0814395 0.038267 0.0605203 0 0 0 -1.19094 -0.0337997 -0.183738 -0.00493407 -0.00432641 -0.00516336 0.000137817 0.000120844 0.000254908 -0.00272162 0 0 0 0 0 0 0.0359222 0 0.249924 0 0 0 0 -0.0739151 0.368948 0 0 0.686457 0 0.0816238 0 0.00218732 0 0 -0.539183 0 0.146808 -0.061843 0.337613 -0.0637085 0 0 0.0972011 0 -1.13625 0 2.26907 0.52389 0 -0.38291 0.774152 0.035205 0 -0.00352981 0 0 0.036871 0 0.241739 -1.08373 0 0 -0.134187 0 0 0.0260565 0.461099 -0.0430887 0 1.32749 0 -0.0969263 0.166576 0.0189203 -0.585392 0.0444837 0.869393 0.311095 0.0407674 -0.323994 -0.811957 0.150731 0 0 0 0.135645 -0.137491 0 0 0 0 -0.115909 -10.6935 -3.38869 1.45373 -0.568508 0.218691 -0.538765 -0.338058 0.214245 -0.281835 0.244913 0 0 0 0 0 0 +345 0 -1.08219 -0.242361 -0.00945412 -0.0337009 -0.212494 -0.029515 -0.270174 -0.429179 -0.0726309 0.102003 -0.0312072 0.555535 0.000979423 1.48805 0.00733201 -0.666045 -1.86624 -0.0378914 0.00612209 2.02864 -0.00920649 0.0635059 -0.00125033 0.0372989 0.035286 -0.27275 -0.0240697 0.0803068 -0.226999 0.246126 -0.0101576 0.0965937 -0.0134432 -0.155398 0.0298101 -0.00274308 -0.0453718 -0.164271 -0.143835 0.788125 0.00845543 -0.370432 -0.0138784 2.609 0.0682261 0.245246 -0.0416037 0.0787043 0.0428138 -0.44589 0.112218 -0.602282 0.00825571 0.00911037 -0.10207 -0.940239 0.204906 0.161793 -0.078051 -0.0188585 -0.447642 -2.74631 -0.761368 -1.05983 0.0950542 -0.272855 -0.149814 -0.119645 0.0182235 -0.0187286 -0.169406 0.116962 0.0491352 -1.63083 0.0251865 0.315723 -0.120769 -0.709966 0.540984 -0.662857 0.899816 -0.769453 -0.174084 0.0635184 0.0549007 0.142544 -0.0210563 0.0152781 -0.0186321 0.136144 0.357076 0 0 0 0 0 -0.00945412 -0.0337009 0.00197538 0 0 0 0 0.000208145 0 0.0052724 0 0 0.000822839 0.000905122 0.00267734 0 0.000513698 0.019944 0.0302938 0 0 -0.0353015 4.79146e-05 0 0.00381293 0.421817 0 0 -0.00230223 0.0958676 0 0.0291906 0 -0.0076711 0 0 -0.000728742 0 0 0.241025 0.00393192 0.0155437 0 0.0373156 -0.0304744 0 0 0.145586 0 0.00380531 0.269473 0.00151174 0 0 -0.00158509 -0.00321608 0 0.00648346 -0.0404448 -0.0011118 -0.0190155 0.0303805 0.00882407 0 0.00640149 0.000696406 -0.115858 0.00384247 0.0350984 0 0 0 -2.77554 -0.210216 -0.277234 -0.0140712 -0.0123383 -0.0152611 -0.000699932 -0.000613732 -0.0012946 -0.0029213 0 0 0 0 0 0 -0.212494 0 -0.029515 0 0 0 0 0.198897 0.0431859 0 0 0.185402 0 0.0191709 0 0.00289215 0 0 -0.0688474 0 0.520026 0.0151901 0.074764 -0.00611035 0 0 -0.015656 0 -1.11026 0 4.18487 0.0431116 0 0.408002 1.51766 0.0103522 0 0.0101198 0 0 0.00999621 0 -0.207009 -0.309936 0 0 -0.0322338 0 0 -0.691048 4.0118 0.171012 0 0.0994107 0 0.806825 0.0699629 0.0852461 0.385208 -0.0843167 0.895563 0.778017 0.172404 0.101661 1.01517 0.191813 0 0 0 0.275083 -0.0653967 0 0 0 0 -0.0667876 -25.8465 -3.34891 -1.32515 -1.17628 0.483892 -1.27064 -0.045369 0.0167893 -0.0399633 -0.132418 0 0 0 0 0 0 +346 0 -0.262436 -0.474449 -0.0445958 -0.207221 0.116391 -0.205434 0.326456 0.424132 -0.347316 0.886364 -0.0387535 0.0941485 0.00439407 -0.646346 0.0572508 -1.12511 -2.80446 0.033226 0.141931 -3.62639 0.00384455 0.388007 -0.00567014 0.219853 0.435149 -0.612093 -0.00495708 0.39063 0.500699 -0.228436 -0.0466662 0.54232 0.605043 -0.111015 0.276283 0.00205941 -0.00102296 1.19801 -0.12481 -1.84043 0.0360428 0.00272663 -0.00589805 -0.266036 0.267741 -0.939574 0.47228 1.29317 0.0170694 -0.0214413 0.121469 6.67994 -0.247207 0.217679 0.102257 1.40289 -0.914588 -0.35038 -0.329004 -0.0767948 0.922634 6.21897 -0.407125 -0.515539 -0.332551 -0.20731 0.00322584 0.246004 0.084179 -0.215461 0.524058 0.274962 0.1213 4.51181 -0.956498 0.474491 -3.82805 -1.23665 -2.43698 0.172692 -1.08074 -1.06686 -0.387069 -0.109077 -0.546682 -0.94954 -0.0826317 -0.00788656 -0.287847 0.0473992 -0.787615 0 0 0 0 0 -0.0445958 -0.207221 0.000838999 0 0 0 0 0.000195894 0 2.37833e-05 0 0 -0.00172329 -0.00540902 0.00261331 0 0.000243111 0.0551065 0.0122634 0 0 -0.15121 -0.000286338 0 -0.0327448 0.307504 0 0 -0.0144609 0.16878 0 -0.16584 0 -0.0298529 0 0 -0.00300501 0 0 -0.601883 0.00370051 -0.0325536 0 0.015849 0.0693826 0 0 -0.0797484 0 0.00161622 0.390033 0.00495737 0 0 0.0033197 -0.00136596 0 -0.000739036 -0.0337365 0.00619138 -0.706151 0.0300996 -0.0187999 0 0.00744837 0.00761958 -0.294568 0.0359944 0.0732491 0 0 0 5.24969 0.392348 0.235824 0.0245602 0.0215355 0.0433923 0.00146589 0.00128536 0.00271132 -0.000523087 0 0 0 0 0 0 0.116391 0 -0.205434 0 0 0 0 -0.2586 0.130836 0 0 0.679639 0 0.0753273 0 0.0248264 0 0 -0.950344 0 0.705391 -0.0781751 0.23803 -0.136034 0 0 0.200946 0 -7.04993 0 1.22616 -0.512932 0 -0.390771 0.73903 0.0310058 0 -0.0525256 0 0 0.0165705 0 -2.07758 -2.09333 0 0 -0.290747 0 0 -0.0531346 0.606417 -0.143138 0 0.463377 0 -0.0131407 0.315233 -0.0262762 -0.533532 0.130697 0.859624 0.57934 0.0303651 0.582116 2.84511 0.0943098 0 0 0 0.0934282 -0.135366 0 0 0 0 0.0495561 -10.9711 -3.0419 0.402456 -0.379948 0.0341375 -0.341943 -0.284126 0.160877 -0.229282 0.0982473 0 0 0 0 0 0 +347 0 0.260285 -0.121114 -0.0873193 0.0122675 -0.000611546 0.185374 -0.667938 -1.50933 -0.756158 1.19834 0.0717804 0.593479 0.0480855 -0.72216 -0.132122 -1.1945 -5.6268 0.14824 -0.143989 -1.43434 0.0371764 0.149635 -0.0630588 0.409703 -0.315582 -0.343414 -0.203064 -0.332856 -0.881538 0.121357 -0.222898 -0.460145 0.349281 -0.918511 -0.201199 -0.0521958 -0.68446 0.965423 0.01975 -0.0781051 0.165174 -3.15375 -0.12629 -0.287642 0.4208 0.287505 -0.516463 -0.534729 0.417387 -1.74437 0.616837 0.305764 0.225944 -0.0748001 0.0515728 -1.87293 0.140943 0.701194 -0.688715 -0.356626 0.933322 -0.555577 -0.724748 1.10894 1.50864 0.769684 -1.33895 -1.32081 0.39829 -0.0489328 -0.284727 -0.205321 1.02346 -0.169965 0.000598437 0.915175 -4.27279 -2.47733 0.680849 -1.45742 0.854708 -1.99918 -1.2172 1.02961 -1.63272 2.48835 -0.736012 0.522347 -0.0244305 -1.16779 3.33246 0 0 0 0 0 -0.0873193 0.0122675 -0.00431194 0 0 0 0 0.000422437 0 0.0277504 0 0 -0.00335339 -0.00913411 0.0209618 0 0.00324799 0.183255 0.198989 0 0 -0.102037 -0.000510346 0 -0.0211807 0.931952 0 0 -0.00926981 0.460155 0 0.0496476 0 -0.0832216 0 0 -0.0082058 0 0 0.243225 0.00876346 -0.0493049 0 -0.0622442 0.051869 0 0 0.155403 0 0.00238971 0.864983 0.00284897 0 0 0.0013585 0.0172791 0 0.01636 0.0127427 0.0029927 0.103321 0.0893019 0.00192418 0 -0.0103265 0.0142563 -0.533499 0.196441 0.149303 0 0 0 -2.3243 0.0253712 -0.702468 -0.0261422 0.0235244 -0.0650734 0.0030571 -0.00398606 0.00946631 -0.0340363 0 0 0 0 0 0 -0.000611546 0 0.185374 0 0 0 0 -0.2205 -0.759085 0 0 0.0451062 0 0.0222652 0 -0.0229375 0 0 -0.636473 0 0.172202 -0.11751 -0.110888 -0.0806474 0 0 -0.113397 0 -3.3104 0 -1.26875 0.198188 0 -0.528705 -0.363241 -0.00480483 0 -0.0485206 0 0 -0.119707 0 -0.753947 -0.61218 0 0 -0.0693335 0 0 -0.0819666 0.305842 -0.219276 0 1.19013 0 0.627512 -0.0603139 0.319554 -0.0548687 0.185225 -0.482806 0.217548 -0.0798609 -0.124053 -0.476914 -0.141012 0 0 0 0.085053 -0.0391588 0 0 0 0 0.117476 10.8351 1.47154 1.14175 1.02556 -0.831572 0.970641 -0.0505574 0.0570307 -0.03184 0.21977 0 0 0 0 0 0 +348 0 -1.32842 0.01472 -0.0217859 -0.149188 -0.179282 0.120676 -0.5951 -0.813848 -0.0708621 0.828175 0.344523 -0.235988 0.0101386 -0.265697 0.243954 0.832215 3.72117 0.17859 0.323357 -1.713 0.0409869 -0.170111 -0.0110032 0.139428 -0.399918 0.272483 0.0459943 -0.469188 -1.13896 0.0495061 -0.0306264 0.935076 -0.0801027 0.200858 -0.262184 0.0823561 0.245497 1.64078 0.163102 -0.469282 0.0494146 0.757291 0.0415486 -1.11316 0.257314 0.180213 -0.822298 1.15429 -0.0345863 -1.02865 0.117409 1.47243 -0.332744 0.333359 -0.505134 1.2126 0.611196 -0.498293 -0.191498 -0.111814 -0.333626 -0.504303 0.123204 -0.0265824 0.592286 0.509337 -0.410151 -0.393208 0.0535754 -0.14764 -0.40695 0.388565 -0.24921 -0.387723 0.754717 1.32606 -9.90644 -3.40629 -0.429058 -1.90666 0.557168 -1.21883 -0.95209 0.841725 -1.20272 1.50194 -0.450063 0.187333 0.509708 -1.76885 4.3056 0 0 0 0 0 -0.0217859 -0.149188 0.00418044 0 0 0 0 0.00121295 0 0.0229032 0 0 0.00440761 0.01512 0.0152534 0 0.00344331 -0.00154039 0.0993571 0 0 -0.150374 0.000806589 0 0.0636484 0.2833 0 0 -0.0210039 0.0774236 0 0.254417 0 -0.030327 0 0 -0.00364733 0 0 1.25875 0.0228446 0.0804443 0 0.077501 -0.101107 0 0 0.306219 0 0.00972393 0.538142 0.00437576 0 0 -0.00721458 -0.00576521 0 0.0215791 -0.120863 -0.0158964 0.545864 0.0878562 0.0432951 0 0.00241455 0.000214251 -0.112932 -0.0420398 0.0793359 0 0 0 -11.9961 -0.857624 -1.07948 -0.0652831 -0.0301981 -0.136707 -0.00332825 -0.00291631 -0.00555303 -0.0177344 0 0 0 0 0 0 -0.179282 0 0.120676 0 0 0 0 0.273974 0.713482 0 0 -0.0327835 0 -0.00624847 0 0.0594834 0 0 -0.0993285 0 -0.132181 0.0437338 -0.206446 -0.00238716 0 0 0.474188 0 5.37659 0 2.86811 0.607236 0 0.471812 0.415347 -0.0236635 0 0.028671 0 0 0.084622 0 1.62648 0.355295 0 0 0.062843 0 0 -0.299282 -0.411701 0.161012 0 0.700003 0 -0.388482 0.143178 -0.259072 0.618287 -0.103865 -0.256526 0.119329 0.102874 0.58568 4.78575 0.0452703 0 0 0 0.244827 0.035528 0 0 0 0 -0.148232 -22.9514 -2.53136 -1.45533 -0.887706 0.374413 -0.962203 -0.0466106 0.02453 0.0223417 -0.175195 0 0 0 0 0 0 +349 0 -0.590091 0.314644 -0.145067 -0.499444 0.263468 0.338014 -0.64628 -1.68173 -0.37192 1.76499 0.0389891 -0.31097 0.069048 -0.0545749 -0.0661996 1.28095 3.22773 0.314119 -0.253232 1.55528 0.0853513 -0.398258 -0.0843011 0.409449 -0.745016 0.630401 -0.0805922 -0.536289 -0.202356 0.0190545 -0.215811 0.0651231 -0.513756 -0.107258 -0.453755 -0.0525369 -0.438474 -0.169179 -0.412061 0.936962 0.228251 -1.18641 -0.214397 -0.16217 0.66193 0.761654 -0.536666 -0.638796 0.217244 0.289163 0.814095 3.50025 0.270821 -0.447653 0.195705 -0.501993 0.0432433 -0.228083 -0.449487 -0.277291 -0.780513 0.216783 0.34142 0.0946651 0.214504 0.233743 0.445366 -0.318133 0.154233 0.748137 0.0771267 0.150712 0.60172 0.0345279 0.379898 1.18075 5.06386 -0.967295 2.71366 0.32673 0.645621 -1.40704 -1.70809 1.90131 -2.68525 2.7062 -1.15777 1.2092 -1.07417 0.519359 0.764964 0 0 0 0 0 -0.145067 -0.499444 0.00225635 0 0 0 0 0.000649219 0 -0.0139188 0 0 0.00118998 -0.0146737 -0.014338 0 -0.00300293 0.0505896 -0.116017 0 0 0.0228107 -0.000746782 0 -0.180272 -0.158601 0 0 0.00193824 0.00264936 0 -0.497816 0 -0.0152477 0 0 -0.000937479 0 0 -1.13176 0.0115059 0.00754836 0 0.0240399 0.0884695 0 0 -0.418574 0 0.000857431 -0.431744 0.00082939 0 0 0.00268569 -0.00834308 0 -0.0177427 -0.0644895 -0.00452419 -1.24171 -0.0395209 -0.00472556 0 0.00311144 -0.000849265 0.0467003 -0.140432 0.0120135 0 0 0 9.60657 0.528709 0.853804 0.0542469 0.0182541 0.129819 -0.000712214 0.00511254 -0.00561204 0.022796 0 0 0 0 0 0 0.263468 0 0.338014 0 0 0 0 0.00395195 -0.517877 0 0 0.765438 0 0.0862829 0 0.0197195 0 0 -0.117058 0 -0.701118 -0.00825926 -0.0877864 -0.0147318 0 0 0.0857782 0 -0.929332 0 0.633988 -0.0343553 0 -0.354387 -0.871473 -0.0135516 0 0.0218104 0 0 -0.0350227 0 -0.469009 0.494324 0 0 0.0485999 0 0 0.226909 0.0368242 -0.10069 0 -1.09225 0 -0.267616 -0.251263 0.0914505 -0.196185 -0.0277092 -0.0675596 0.123676 0.0943121 0.376214 -2.82555 0.0150409 0 0 0 -0.136166 -0.0441486 0 0 0 0 0.0624197 -7.96179 -4.48734 2.76596 -0.853771 0.69563 -0.458788 -0.614142 0.446268 -0.410407 0.245595 0 0 0 0 0 0 +350 0 0 0 0 0 0.185259 0.187587 -0.856932 -2.10849 0 0 -0.279181 -0.258453 0 -0.996732 -0.0753669 0 0 0 0.0617164 -6.07294 0 0 0 0 -0.552917 0 0 -0.328993 5.20215 0.0119084 0 -0.269297 0 0 -0.287067 -0.0493269 0 0 -2.25576 -0.935021 0 0 -0.495233 -2.41876 0 0.289457 0.56974 0.45676 1.09135 -3.27889 0.959768 0 0.199483 -0.027123 0.282739 -0.325046 -0.0612562 -0.114854 0 0 -1.44594 2.07866 0 1.13813 1.14966 0.720901 0 0 0 0 -0.792945 -1.76305 0 0.661804 -0.519547 0 0 0 6.9694 0 4.88583 -9.27762 0 2.4077 -2.95587 3.7571 0 2.80531 -3.4615 6.35969 -16.5526 0 0 0 0.205857 0.07772 0 0 0 -0.0507792 0.0590264 0 -0.00593702 0 -0.0105568 -0.0107134 0 0 0 0 0.020727 0 0.0194791 0 -0.175647 0 -0.3554 0.0393413 0 -0.00605545 0 0 -0.0740485 -0.00395975 -0.0352939 0 -0.00331546 0 0.00394829 0.0566842 -0.0184034 -0.0562358 0.00804417 0 -0.000773657 0 0 0 -0.000255683 0 0 0.0150779 0.0040312 0.00433614 -0.0777317 0 0 -0.0107362 0 -0.0131516 0 0 0.0474728 0.0424499 0.0751759 0.0041882 0 0 -0.135488 0.0467958 -0.0114785 -0.15716 0.187247 0 -0.0509994 -0.0316897 -0.0137267 0 0 0 1.07065 0 0.152397 0.188937 0 -0.00414919 0.0643582 0.000761761 0 0.00556985 -0.00652145 0.0414613 -0.052165 0 0.185259 0.205857 0.187587 0.07772 -0.52684 -0.193719 0.426073 -0.217943 -0.122447 -0.134667 -0.0680549 -1.55472 -0.0244413 -0.249099 0.0947867 0.00703039 0.0157765 -0.591781 -0.484519 -1.49964 -0.421067 -0.140166 -0.5824 -0.112359 0.0930223 0.286144 -0.107214 -0.024675 -9.20904 -0.586947 -4.41021 -0.14702 0.018471 -0.424979 -1.39982 -0.0953794 -0.00830801 -0.0442579 -0.11938 2.0494 0.080228 0.0396395 -2.18468 -2.3289 -0.00679476 -0.0194555 -0.463796 -0.16309 -0.0731578 -0.302427 -0.596376 -2.50475 0.0750011 -1.29364 -0.0830473 2.77485 -0.0197806 1.28438 0.787641 0.221848 -1.7046 -1.07566 -0.209004 4.6253 19.3516 -0.422047 0.321028 -0.124413 -0.124867 0.139758 0.519801 0.0255406 0.312284 -0.282947 0.137937 0.589112 32.8095 11.8762 -0.983876 7.03465 -2.56548 -1.89299 2.52149 -1.01319 -0.186424 1.29339 1.29713 -0.192037 -0.725252 1.47446 -2.72394 0 +351 0 0 0 0 0 0.0862447 0.308539 -0.489025 -3.31332 0 0 -0.208231 1.07866 0 1.70357 -0.164933 0 0 0 -0.235924 2.73832 0 0 0 0 -0.653217 0 0 -0.165984 -0.618686 0.412213 0 -0.492045 0 0 -0.109156 -0.0337822 0 0 -0.161063 0.82788 0 0 -0.0175605 5.68413 0 0.32241 -0.0799551 -0.533644 -0.0432061 0.866779 -0.0604171 0 -0.0994704 -1.17549 0.838521 -3.11095 -0.618299 0.705481 0 0 0.164339 0.171065 0 0.803531 0.186962 -0.254991 0 0 0 0 -0.788792 0.0498773 0 -0.169534 -1.0864 0 0 0 10.1594 0 2.44875 -1.83868 0 0.371706 0.102998 5.61977 0 0.0278256 0.182047 1.54005 2.45125 0 0 0 -0.101002 -0.000959211 0 0 0 0.0016671 0.0852517 0 -0.000466002 0 -0.00107388 -0.0925189 0 0 0 0 -0.263625 0 -0.0504349 0 -0.436354 0 -0.0706423 0.567229 0 0.00494489 0 0 -0.0350882 0.00278026 0.0921929 0 0.0168631 0 0.00573473 0.0222738 0.0157002 0.0410077 0.0105596 0 -8.3842e-05 0 0 0 0.00117434 0 0 -0.00560275 -0.00933039 0.240095 0.02551 0 0 0.00620638 0 -0.0191932 0 0 0.0843645 0.0318062 0.0544308 -0.0418266 0 0 0.0327812 -0.0366265 -0.0314148 0.0163597 -0.0983095 0 -0.129692 0.0168311 -0.367984 0 0 0 0.750236 0 -0.0519588 0.216959 0 0.00257047 -0.00175939 0.196192 0 -0.00331894 0.00769291 -0.0147085 0.0237024 0 0.0862447 -0.101002 0.308539 -0.000959211 0.143325 0.033645 0.062796 -0.419166 -0.343347 0.0048061 0.00979199 -0.167617 -0.000263723 -0.0614745 0.00436836 -0.0590185 0.00912187 0.100651 1.12394 1.05464 -0.343017 -0.254071 -0.04209 0.128547 0.0578284 -0.0125686 -0.460217 0.0137986 1.83203 -0.0967014 -2.05711 0.255217 7.06285e-07 -1.63745 -0.892014 -0.0170369 -0.00437978 -0.0706516 -0.015951 -0.204587 -0.0330569 0.00117768 0.419388 3.16396 0.00211713 -0.026056 0.378172 0.118394 0.145402 -0.059455 4.45821 -1.1133 0.0251479 -0.290399 -0.0100993 1.04544 -0.563606 1.21899 0.268393 -0.0352324 -0.374829 0.899745 -0.236977 1.58041 -1.07467 0.025717 -0.221812 -0.0143469 -0.249206 0.295371 0.15455 -0.0237333 -0.00521627 0.13256 0.121253 0.238353 15.3037 3.46554 6.49822 1.88011 -0.927033 2.42236 0.0446434 0.053723 0.31702 1.09978 -0.220619 0.104664 0.253357 -0.190648 0.543998 0 +352 0 0 0 0 0 0.63407 0.320839 -0.359884 -1.34264 0 0 -0.663771 0.705999 0 0.549707 -0.165522 0 0 0 -0.284604 1.73554 0 0 0 0 -0.338217 0 0 -0.41384 5.90954 0.362818 0 -0.518864 0 0 -0.240583 -0.0827736 0 0 -3.65791 2.39709 0 0 -0.769591 0.556132 0 1.33613 0.812303 -0.364067 1.17677 -0.97606 0.781463 0 0.65074 -1.01003 0.239971 2.51358 1.30351 0.870033 0 0 0.858268 -4.89365 0 0.718892 0.139958 0.782448 0 0 0 0 -1.17121 -2.34832 0 -0.249342 0.56394 0 0 0 2.44826 0 6.53903 -10.0151 0 3.25629 -5.06633 5.16046 0 5.10751 -7.74023 12.6728 -20.0123 0 0 0 0.559163 0.117468 0 0 0 -0.0304982 0.0117393 0 -0.00311041 0 -0.0172642 0.0117227 0 0 0 0 0.208614 0 0.0314432 0 0.245709 0 -0.271142 -0.0718515 0 0.00225817 0 0 0.43025 -0.00655014 -0.023816 0 -0.00918064 0 0.00110413 0.142508 0.0485552 -0.0855985 0.0308105 0 -0.0012937 0 0 0 -0.000625701 0 0 0.00779621 0.00238672 -0.106911 -0.0458416 0 0 0.0484633 0 -0.00241109 0 0 -0.000154767 0.0166423 0.085892 -0.0331428 0 0 0.152213 0.0489794 -0.0489359 -0.133247 -0.150206 0 0.232811 0.00455005 0.0780239 0 0 0 -1.08369 0 0.0598224 -1.03148 0 -0.0175 0.00221499 -0.161198 0 0.00680814 -0.0332877 0.0742644 -0.235757 0 0.63407 0.559163 0.320839 0.117468 -0.835404 -0.177583 0.0591556 0.279052 -0.330935 -0.165808 -0.0226289 -0.529476 -0.0296306 -0.194511 0.0587977 -0.00485123 0.0522223 -0.797732 0.902291 -1.36199 -0.123721 0.113923 -0.183545 0.0219317 0.383976 0.15153 -0.433191 -0.0235298 1.38116 -0.184436 -0.351886 0.751082 0.0161212 0.514684 -0.246959 -0.0817988 0.000360281 0.0684099 -0.061941 0.8466 0.131506 0.0257925 0.946295 1.43083 -0.00137429 0.0380758 -0.0718264 -0.154076 0.11615 0.345689 2.51411 -0.966307 -0.00962764 2.22089 0.00106916 1.68789 -0.146333 0.575442 0.421732 -0.190689 1.19972 -0.371216 0.181135 4.76011 31.3255 0.0910067 -0.226849 0.071208 -0.309729 0.415967 0.295136 0.00418388 0.222404 -0.205274 -0.000400142 0.438151 2.61783 2.45565 -1.61151 3.35298 0.377824 -2.27464 1.68241 -0.403886 -0.471526 0.29343 1.74856 -0.746305 -0.0530215 0.744188 -1.29729 0 +353 0 1.09903 0.455539 0.104756 0.203827 -0.0389028 -0.116716 1.42788 3.28727 0.380168 -2.89667 0.405549 0.81712 -0.0438861 1.14231 0.0990772 1.23893 3.10815 -0.603619 0.16341 -0.189715 -0.123533 -0.388443 0.0354247 -0.760778 0.764075 0.438076 -0.0505963 0.0699526 -0.0164448 0.303011 0.121341 0.474082 -1.55101 -0.191465 0.310431 0.0986387 0.209709 -6.84792 0.724683 -0.199644 -0.176527 0.453457 0.216525 1.55725 -0.575839 -0.23586 0.0162034 0.825465 -0.52416 0.62997 -1.09637 1.42977 0.0398909 0.16267 -0.0869587 0.586534 0.565895 0.0951706 1.14534 0.292767 1.0964 0.808926 3.34808 -1.01768 0.316215 -0.324095 1.58781 -0.0125955 0.0113036 2.00075 0.484682 0.938553 0.422405 -0.074938 0.0666363 1.52557 41.4336 15.7413 -7.9221 9.78805 -7.79352 10.7786 4.48451 -3.74858 4.19488 -5.96148 1.38577 -1.66759 1.03639 -1.3021 0.0580644 0 0 0 0 0 0.104756 0.203827 0.00802354 0 0 0 0 0.000487374 0 -0.0105751 0 0 -0.00422445 -0.0169499 0.0120701 0 -0.000194109 0.0417576 -0.0271159 0 0 -0.077135 -0.00124152 0 -0.0301721 0.73939 0 0 -0.0171893 0.0908652 0 -0.150913 0 -0.00175679 0 0 -0.00194798 0 0 -0.743921 0.00694804 -0.0603467 0 0.112847 -0.0132915 0 0 -0.0366442 0 -0.000909622 0.0108395 0.00222782 0 0 0.0109991 -0.0264113 0 -0.0271691 -0.0566929 -0.0353072 0.27688 0.0443936 0.0231568 0 0.0478877 -0.0257595 0.105822 -0.0483138 -0.155066 0 0 0 5.69133 0.28649 0.531866 0.0580348 -0.0576974 0.191071 0.00547068 -0.00850904 0.0206703 -0.0101779 0 0 0 0 0 0 -0.0389028 0 -0.116716 0 0 0 0 0.426311 1.20224 0 0 -0.925896 0 -0.13213 0 0.0530911 0 0 0.272332 0 -0.255153 0.145559 -0.326531 0.0345878 0 0 0.419941 0 9.10577 0 -2.71637 0.312758 0 1.06184 -0.745383 -0.0485879 0 0.0597848 0 0 0.150193 0 2.56172 0.0318183 0 0 0.00779598 0 0 0.289419 4.69265 0.610414 0 2.24233 0 -2.94295 0.53929 -0.466506 0.949541 -0.102211 0.544363 3.10419 -0.344078 -1.6032 -6.78376 0.141219 0 0 0 0.215459 0.352648 0 0 0 0 -0.315696 25.1074 5.84784 -3.55515 1.65399 -1.25537 2.69741 0.760867 -0.676366 0.793503 -0.870448 0 0 0 0 0 0 +354 0 1.03692 0.0949916 0.00136728 -0.155762 0.208893 -0.211788 -0.639998 -1.62432 0.322753 -0.0434673 -0.506978 -0.781122 -0.0102839 -1.54941 -0.131487 -0.157022 3.29485 -0.219353 -0.229904 0.337374 -0.0644531 -0.0394398 0.0241909 -0.0630439 0.206306 -0.38263 -0.0463402 0.806864 1.71098 -0.549444 0.086767 -0.456727 -1.19122 -0.171516 0.225054 -0.0820951 -0.142231 -6.85546 -0.640784 -0.566927 -0.0220262 -0.524267 -0.0802423 -1.30126 0.0660737 -0.642109 1.21733 -0.895017 0.1562 -2.06346 -0.281753 -5.16562 0.290248 -0.345429 0.568261 1.59492 1.32359 0.600881 0.277218 0.0887228 -0.118354 -0.876973 3.4769 -0.709769 0.8037 0.818225 1.72724 -0.244797 -0.177519 -0.0922473 -0.608318 -0.510757 -0.783225 0.671654 -1.25797 -0.740772 38.9485 7.57862 2.32865 6.20059 -3.6305 6.60544 -0.585041 0.366586 -0.841135 5.37476 -0.159008 0.862323 -2.17541 3.49524 -6.04126 0 0 0 0 0 0.00136728 -0.155762 -0.00102904 0 0 0 0 -0.0014798 0 -0.0108097 0 0 0.00592594 0.0137073 -0.0200571 0 -0.00110489 -0.045391 -0.144216 0 0 0.30938 0.0010195 0 -0.171006 0.69288 0 0 0.0500453 -0.0986033 0 -0.553929 0 0.0796396 0 0 0.01185 0 0 -1.34152 -0.0200886 0.0792483 0 -0.00993692 -0.0422302 0 0 0.0523781 0 -0.0150855 0.172894 0.0288596 0 0 -0.00945051 -0.00158055 0 -0.00295096 -0.0482354 0.0352529 -0.141414 -0.0490174 -0.00439299 0 0.0103802 -0.0676861 -0.0969867 0.0338736 0.14727 0 0 0 5.81375 -0.156214 0.845946 0.0971052 -0.154448 0.38443 -0.00714978 0.0144406 -0.0304576 0.0582005 0 0 0 0 0 0 0.208893 0 -0.211788 0 0 0 0 -0.386795 -0.31781 0 0 0.385093 0 0.0398689 0 -0.0245054 0 0 0.0387094 0 0.891154 -0.0659362 0.393961 -0.0038363 0 0 -0.155089 0 2.27117 0 -1.02059 -0.347764 0 -0.626911 1.16406 0.0469938 0 -0.0456657 0 0 -0.0390663 0 -0.238322 0.636782 0 0 0.0538666 0 0 -0.122456 -1.83832 -0.338057 0 0.125937 0 1.30647 -0.285331 0.305756 -0.276811 -0.0232385 -0.0463153 -1.16712 0.22324 1.03924 5.54664 -0.00211373 0 0 0 0.103225 -0.150793 0 0 0 0 0.0814193 13.6473 -1.11872 3.76607 -0.545104 0.783531 0.17896 -0.572682 0.511335 -0.353713 0.612677 0 0 0 0 0 0 +355 0 0.462399 0.327275 0.146472 0.449478 -0.353421 -0.243044 0.607451 2.59799 0.164097 -3.85137 0.497484 0.284538 -0.0590044 0.484466 0.153324 0.90116 1.42796 -0.851618 0.341711 -3.37774 -0.21353 -0.400031 0.0492328 -1.05655 0.668512 0.366275 -0.147313 0.0511912 -1.33121 0.209732 0.132254 0.597207 -1.44532 -0.369853 0.234198 0.123395 -0.018321 -5.51726 0.877688 -1.52485 -0.22406 0.120937 0.268815 -0.404809 -0.685737 -0.619712 -0.476765 1.30584 -0.346678 -0.599999 -2.03384 -5.32617 -0.273416 0.483782 -0.76351 -4.04028 -0.85875 -1.17747 1.40174 0.248893 -1.25194 4.25834 4.08342 -3.01592 0.1807 -0.617197 2.70526 -0.232949 0.00735025 1.50628 0.189109 0.266139 0.268768 -1.08965 0.675069 -0.365316 24.0854 15.9954 -12.6188 11.76 -10.3743 10.541 6.43038 -5.84857 7.45492 -6.48575 1.65025 -2.00354 2.81242 -3.38876 4.70033 0 0 0 0 0 0.146472 0.449478 0.00379455 0 0 0 0 -0.000558654 0 0.017397 0 0 -0.00394275 -0.0190059 0.0429554 0 0.00265568 0.0942083 0.185834 0 0 -0.151066 -0.00141362 0 -0.0514722 0.451635 0 0 -0.0133645 0.205226 0 -0.0232492 0 -0.000710187 0 0 0.000455314 0 0 0.155927 -0.00766099 -0.0488124 0 0.0531277 -0.0610511 0 0 0.289749 0 -0.00362692 0.112672 0.00953963 0 0 0.00221359 -0.0122174 0 0.00864647 -0.0048537 -0.0109126 -0.759809 0.0972482 0.0121785 0 0.00693706 -0.0127514 0.131215 -0.164887 -0.138277 0 0 0 -2.86421 -0.222613 -0.509703 0.00819473 -0.0697809 0.0770088 0.00378008 -0.00911812 0.0179908 -0.0538756 0 0 0 0 0 0 -0.353421 0 -0.243044 0 0 0 0 0.429016 1.2294 0 0 -1.48192 0 -0.170813 0 0.0669276 0 0 -0.881568 0 -0.0819458 0.140227 -0.511173 -0.0570764 0 0 0.463216 0 -1.02438 0 -1.58108 -0.317636 0 1.22308 -0.267266 -0.0566632 0 0.0415158 0 0 0.176235 0 -0.745122 -2.18703 0 0 -0.175413 0 0 -0.0761032 1.46749 0.317633 0 -0.929495 0 -1.93899 0.897076 -0.601113 0.987782 -0.165141 -1.42591 2.32028 -0.371588 -3.72957 -22.6008 -0.05391 0 0 0 -0.219863 0.320112 0 0 0 0 -0.365661 14.5645 8.27937 -6.23501 1.99671 -1.66212 1.59856 1.32987 -1.13635 1.24156 -1.03032 0 0 0 0 0 0 +356 0 0.740877 0.0237546 0.150426 0.147296 -0.152095 -0.268876 1.26299 3.22417 0.532309 -3.46326 -0.245259 -0.991694 -0.098739 -1.39431 0.13241 -0.815295 -3.22836 -0.592143 0.27584 -1.3181 -0.147744 -0.0701385 0.0882212 -0.901167 0.642358 -0.241818 0.175676 0.38237 1.57114 -0.357405 0.215483 0.162672 -0.909356 0.561368 0.338387 0.0485693 0.863941 -5.88184 -0.39659 -0.863552 -0.295131 2.63012 0.1406 -4.19256 -0.605322 -0.550704 0.753398 0.291879 -0.151125 0.402692 -1.05679 -6.77742 -0.157193 -0.137862 0.254815 -0.930677 -1.40577 -0.850347 1.14556 0.32085 -1.52655 0.664546 -1.48362 -1.04245 -0.565974 -1.68357 0.383147 0.710493 0.207627 1.40634 0.626556 -0.335302 -0.418587 0.860846 -0.790012 -3.30147 32.5014 13.6459 -10.3488 9.13746 -6.09733 5.5415 6.00773 -4.14113 4.00384 -5.17765 2.11847 -0.482405 -1.34059 3.9763 -7.31267 0 0 0 0 0 0.150426 0.147296 0.0103103 0 0 0 0 -0.00067941 0 -0.0210152 0 0 -0.00291456 -0.00789996 -0.0328979 0 -0.0100148 -0.0685739 -0.0888446 0 0 -0.399083 -0.000622961 0 0.15607 -0.356279 0 0 -0.0491458 -0.293161 0 0.131595 0 -0.0875983 0 0 -0.00722759 0 0 -0.0401713 -0.00925043 -0.0412665 0 0.149485 0.031458 0 0 -0.192347 0 0.0149699 -0.19763 -0.0227945 0 0 0.0165193 -0.0286453 0 -0.0364544 -0.0499423 -0.0521831 0.747109 0.0187098 0.0311532 0 0.042854 0.0364501 0.12359 -0.0524269 -0.168305 0 0 0 3.71592 0.365721 0.409118 0.00236408 0.0482402 -0.0350548 0.00589211 -0.00880374 0.0176347 -0.00641812 0 0 0 0 0 0 -0.152095 0 -0.268876 0 0 0 0 -0.103798 0.779611 0 0 -0.351235 0 -0.0573336 0 0.0143429 0 0 -0.285192 0 -0.112279 0.0979517 0.188896 -0.0102626 0 0 0.0514358 0 1.21136 0 -1.88988 -0.017646 0 0.723769 -0.615361 0.0152532 0 -0.00261026 0 0 0.111855 0 0.163991 -0.748482 0 0 -0.0475204 0 0 0.206286 3.06046 0.413017 0 -0.323354 0 -1.12345 0.118844 -0.205231 0.0976684 -0.0370466 0.701709 1.65972 -0.0808376 -2.21857 -10.2637 0.0971273 0 0 0 -0.150494 0.148479 0 0 0 0 -0.25882 21.7458 4.32649 -4.46248 1.88525 -1.38902 1.4489 0.105065 -0.0602547 0.144258 -0.411369 0 0 0 0 0 0 +357 0 0.543644 0.678519 -0.0120969 -0.0683798 0.0910983 0.153819 0.300461 0.441825 -0.248314 -0.0839043 0.632805 0.281269 0.0296655 -0.366786 0.168702 1.46784 6.64992 -0.0556573 0.257227 0.543324 0.0263178 -0.697599 -0.0544919 0.0214366 -0.116979 0.519253 -0.0510704 -0.509725 -1.8889 0.00885108 -0.124957 0.610907 -2.13214 0.0396477 -0.195966 0.108442 -0.0956263 -8.49714 0.746034 0.56411 0.0889443 0.272069 0.100553 -0.204608 0.230978 0.471597 -1.06956 1.00846 -0.0301764 0.546826 0.33882 3.68868 -0.2155 1.23885 -1.49584 5.94576 0.448496 -0.341748 -0.155075 -0.23997 -2.29984 -0.126896 2.95085 -0.0826481 -0.253698 -0.143808 0.534798 -0.0354032 0.263365 0.734081 -0.0784219 0.555343 0.270205 1.95839 2.00883 -0.210725 50.2344 10.8939 -6.01993 10.8409 -13.138 19.6671 -0.675865 -0.19735 1.69623 -1.74966 -0.808364 -0.85658 2.76781 -5.40707 8.79167 0 0 0 0 0 -0.0120969 -0.0683798 0.017286 0 0 0 0 0.00671997 0 0.0138384 0 0 0.00102403 -0.00980463 0.0527986 0 0.00826691 0.0545667 0.0805437 0 0 -0.329925 -0.000785048 0 -0.14513 2.10184 0 0 -0.0415888 0.401928 0 -0.356762 0 -0.0850777 0 0 -0.0120519 0 0 -0.797974 0.0939677 0.0210248 0 0.243943 -0.0778375 0 0 0.133531 0 -0.00929727 -0.10588 0.0155036 0 0 -0.000910414 -0.0494819 0 0.00127505 -0.234007 -0.000719238 -0.828913 0.114532 -0.000231297 0 0.0876682 -0.0432401 0.176407 -0.189397 -0.108944 0 0 0 1.95128 -0.0884542 0.00970792 0.0534073 -0.11311 0.259423 -0.00131959 -0.00205309 0.00912624 -0.0323052 0 0 0 0 0 0 0.0910983 0 0.153819 0 0 0 0 0.440278 1.0714 0 0 -0.70974 0 -0.103024 0 0.0981525 0 0 -0.101117 0 -1.00865 0.0726848 -0.526477 0.0243185 0 0 0.675088 0 8.94321 0 -5.64802 0.703556 0 0.479078 -2.24782 -0.0703737 0 0.0567109 0 0 0.161899 0 2.72881 -0.172965 0 0 0.049242 0 0 0.139248 3.5772 0.648742 0 0.445008 0 -2.96082 0.968838 -0.775493 0.636853 -0.0458127 0.044302 2.95428 -0.227508 -3.02625 -12.5848 -0.0250072 0 0 0 -0.118605 0.212561 0 0 0 0 -0.335476 49.0546 11.0617 -6.38196 5.30939 -4.20694 4.487 0.675505 -0.622026 0.750927 -0.51624 0 0 0 0 0 0 +358 0 0.943597 0.199175 0.193893 0.543366 -0.351411 -0.267606 1.59455 4.0304 -0.0575072 -3.71948 0.0682118 -0.496246 -0.0978896 -1.01262 0.0769923 0.582146 3.85204 -0.556823 0.264114 -2.33333 -0.153589 0.013167 0.0697013 -1.04104 0.833906 -0.0169154 0.10854 0.418726 0.914892 -0.32757 0.107781 0.0702595 -0.20977 0.529734 0.387181 0.071804 0.54323 -2.4251 0.219173 -1.14512 -0.263785 2.5095 0.206058 -2.02626 -0.401365 -0.597252 0.625166 0.637153 0.432107 -0.0302225 -0.776918 4.56496 -0.0780617 1.1755 -0.265367 2.58612 0.273733 0.523609 0.880612 -0.133685 0.434164 1.11579 0.452627 -0.730453 -0.969008 -1.44924 0.501624 1.85606 0.300095 1.30301 1.37077 -0.587526 0.271476 1.83178 -0.890474 0.73954 6.02713 10.4989 -11.1537 5.55744 -3.90633 1.08968 6.60399 -5.18293 4.757 -7.27339 1.40468 -1.16354 -0.666892 1.26795 -4.25825 0 0 0 0 0 0.193893 0.543366 0.00912797 0 0 0 0 -0.000498683 0 0.0343348 0 0 -0.0115526 -0.0406644 0.0516192 0 0.00159525 0.136533 0.32664 0 0 -0.182655 -0.00298771 0 0.202346 0.723496 0 0 -0.0180436 0.24119 0 0.387178 0 -0.0324256 0 0 -0.00132047 0 0 0.725088 -0.007918 -0.156989 0 0.122478 -0.0415235 0 0 0.250545 0 0.0202366 0.0160437 -0.0308492 0 0 0.00846403 -0.0125845 0 0.0031282 0.0435084 -0.0228773 -1.07214 0.00926199 0.00781955 0 0.00917073 0.0473084 0.0586803 -0.0980006 -0.00281775 0 0 0 -4.77024 0.0237818 -0.882701 -0.0461226 0.0376611 -0.145763 0.0111695 -0.0199046 0.0399314 -0.0844013 0 0 0 0 0 0 -0.351411 0 -0.267606 0 0 0 0 -0.152329 1.0446 0 0 -0.976484 0 -0.110224 0 0.0225979 0 0 -0.187034 0 -0.277607 0.0234126 -0.0282081 -0.014552 0 0 0.238949 0 2.51477 0 -3.83931 -0.353449 0 0.333326 -1.02394 0.00142986 0 -0.0221312 0 0 0.114764 0 0.133922 -0.633429 0 0 -0.0541181 0 0 -0.0713182 -0.287748 0.261824 0 0.221362 0 -1.54608 0.859811 -0.56441 0.0679356 -0.0132481 -0.80146 1.12505 -0.235728 -1.35035 -6.60328 -0.136045 0 0 0 0.066145 0.120953 0 0 0 0 -0.266611 35.2646 9.85977 -4.80048 4.11262 -3.29712 3.17604 0.861139 -0.668209 0.670848 -0.223166 0 0 0 0 0 0 +359 0 0 0 0 0 0.0671499 0.0125151 -0.763468 -1.9488 0 0 0.103739 -0.188774 0 -1.67965 -0.0324329 0 0 0 -0.133608 -0.975021 0 0 0 0 -0.267298 0 0 -0.125419 -6.76544 -0.226718 0 -0.0292471 0 0 -0.0588626 -0.0208116 0 0 0.439676 -1.26648 0 0 -0.00990394 -1.43305 0 -0.534363 -1.6557 -0.199578 0.00101739 -1.04779 -0.0644264 0 0.0694566 -0.0530164 -0.286895 2.38328 0.0290192 0.113863 0 0 -0.785297 2.77968 0 0.273053 0.0766399 1.47774 0 0 0 0 -0.635537 -0.0306738 0 3.58296 1.72028 0 0 0 3.29927 0 -0.397253 9.23605 0 0.00700063 0.735341 9.02849 0 -0.183838 1.39388 -2.7669 24.2008 0 0 0 -0.133667 -0.0086969 0 0 0 0.0215891 -0.00413894 0 0.00162037 0 2.02121e-05 0.00212639 0 0 0 0 0.010413 0 0.00148895 0 0.00167854 0 0.214228 0.073913 0 0.000188417 0 0 0.00496868 0.000136209 0.0039854 0 -4.44886e-05 0 -0.000305475 -0.0194945 0.00129126 0.00183263 -0.000924249 0 1.47019e-06 0 0 0 -3.23442e-06 0 0 -0.000361389 -0.000485736 0.0744457 0.000904999 0 0 -0.000580593 0 0.000529982 0 0 0.000607795 -0.000847012 0.0630594 -0.0024806 0 0 -0.0138843 -0.0053818 0.000428905 -0.0384153 0.00380377 0 -0.0229967 0.000346931 0.0624934 0 0 0 0.0355624 0 -0.00352317 0.0111831 0 0.000359014 -0.00102745 0.0201983 0 -0.000183026 0.00106845 -0.00272498 0.0128908 0 0.0671499 -0.133667 0.0125151 -0.0086969 0.732455 0.127373 -0.0616299 0.210539 0.0151127 0.00223108 -0.00717625 -0.228917 9.66867e-05 -0.0105815 -0.00286831 0.00548131 -0.00807676 0.0487521 -0.763559 0.158817 -0.171228 -0.265721 -0.129335 -0.0706555 -0.0121081 -0.372244 0.115866 -0.00739552 -5.07063 0.169102 -2.47029 -0.871346 -0.000124476 -0.879373 -0.620838 -0.00517148 0.00203335 -0.0119806 0.0287921 -2.50722 -0.00173669 -0.0497259 -2.21912 -1.2532 -0.00171112 0.0131546 -0.217171 -0.0330023 -0.0747884 -0.381849 -1.52387 0.049141 0.0268681 -2.01173 0.00448482 0.81607 -0.00630612 0.178764 -0.06151 -0.0414729 -2.04424 0.196612 -0.0202032 -0.527567 -11.0619 -0.12078 0.221239 0.00518814 0.252313 -0.0482014 0.0188026 -0.00258456 -0.00410872 -0.0254544 -0.0726179 0.00338589 13.6533 0.446158 5.42765 -0.101823 -0.645661 9.03619 0.00672902 -0.128296 0.769873 1.79328 -0.00129876 -0.0673507 0.327436 -0.455772 3.01319 0 +360 0 0 0 0 0 -0.0487263 0.334773 -0.686347 0.0223721 0 0 0.0199064 1.12421 0 1.588 -0.0131223 0 0 0 -0.10654 -0.284595 0 0 0 0 -0.239764 0 0 -0.959952 -1.77812 0.676604 0 0.00212001 0 0 -0.348644 -0.0121672 0 0 -0.0520851 0.656443 0 0 -0.0774799 2.21086 0 0.758116 -1.33992 -0.339076 0.195154 -0.757379 0.0538044 0 0.157765 -0.117955 0.0669408 -1.04085 -0.00693298 -0.61899 0 0 0.76335 0.239972 0 -0.99907 0.0447182 -0.505663 0 0 0 0 0.138496 -0.384393 0 -2.24577 0.596105 0 0 0 -0.15766 0 0.208522 2.52774 0 0.284669 -0.586303 1.32153 0 0.567601 -1.20343 1.22527 1.88317 0 0 0 -0.0479214 -0.00235579 0 0 0 -0.000244539 0.00253757 0 0.000168839 0 -8.0299e-06 0.00179003 0 0 0 0 0.033159 0 0.00113751 0 0.0577448 0 -0.0104184 0.000819621 0 9.6025e-05 0 0 0.00870059 -4.34293e-05 0.000551064 0 2.58527e-05 0 0.00018702 0.00413097 0.00150754 -0.000575072 4.97542e-05 0 -5.84439e-07 0 0 0 1.87945e-06 0 0 0.000115521 0.000297313 -0.00904447 -0.000222586 0 0 0.000188305 0 -0.000324395 0 0 -0.000273554 2.62497e-05 -0.00683163 0.00145121 0 0 -0.0141729 -0.00152669 -0.000183501 -0.00727441 -0.0295303 0 0.000283115 -0.000230426 0.012393 0 0 0 -0.0854429 0 0.00105897 -0.0174021 0 -0.000123392 0.00020701 -0.0123084 0 5.91091e-05 -0.00038725 0.000948052 -0.00663313 0 -0.0487263 -0.0479214 0.334773 -0.00235579 0.0793801 0.0305297 -0.0159179 0.319001 -0.0792143 0.000504204 0.0303479 0.00213932 2.3505e-05 -0.00124059 -0.000724724 -0.000251553 0.0197449 0.00981269 0.0293146 -0.207734 0.405493 0.272404 -0.0114639 0.0642516 0.0603025 0.00461179 -0.014963 0.00842247 1.92923 -0.0270951 2.32189 1.70564 -3.13194e-05 1.09445 0.862228 -0.000618556 0.00201458 0.0718654 0.014745 -0.0686131 -0.00321493 -0.00017602 2.0195 0.409668 0.00515926 -0.00153713 0.210678 -0.00278358 -0.0700026 -0.83598 3.01144 -0.43751 -0.0309416 -5.37254 0.0011257 0.0768201 -0.00508845 -0.0104965 0.0952793 -0.127392 0.952965 0.123378 -0.0707475 -0.160367 -13.2116 0.247501 0.143387 0.012439 -0.0915742 -0.333552 0.00383693 0.0233403 -0.000857486 -0.127887 0.0651956 0.00504434 -12.8331 0.169345 -5.66913 -0.0580451 -0.0802922 -0.865959 0.00071217 0.126671 -0.409632 0.0458077 -0.000261411 0.156525 -0.369102 0.32277 0.0958802 0 +361 0 0 0 0 0 0.678516 0.222452 -0.649247 -1.92097 0 0 0.0592348 0.30458 0 -0.558013 -0.00197843 0 0 0 -0.0364968 4.62666 0 0 0 0 -0.260902 0 0 -0.132006 -1.19591 -0.0079212 0 -0.0803179 0 0 -0.0997912 0.0129666 0 0 0.522204 -0.135052 0 0 0.166354 1.54789 0 -0.135727 -0.392546 -0.585257 -0.240684 0.697742 -0.158923 0 0.0724415 0.0438053 -0.0627994 1.77931 0.446479 0.0339518 0 0 0.0101575 -1.10716 0 -0.352717 -0.339384 -0.374308 0 0 0 0 -0.181286 0.427197 0 0.622614 -1.06417 0 0 0 3.34291 0 -1.15762 3.0886 0 -0.54564 1.0184 2.70891 0 -0.882211 1.53074 -2.18333 7.17699 0 0 0 0.0172315 -0.000889328 0 0 0 0.0106368 -0.00789939 0 0.000491454 0 3.77149e-05 -0.000350899 0 0 0 0 -0.0267687 0 -9.44127e-05 0 -0.0569358 0 0.116032 0.0619521 0 -4.48676e-05 0 0 -0.0202576 0.000277758 0.00251624 0 -7.87308e-05 0 -0.000564495 -0.0050884 -0.00146203 0.00390478 0.000105196 0 2.73383e-06 0 0 0 -5.70935e-06 0 0 -0.000731603 -0.000892808 0.0472407 0.00284142 0 0 -0.00056012 0 0.000974134 0 0 0.000305207 -0.0018684 0.0138466 -0.00442874 0 0 0.0192578 0.00312855 0.000741606 0.016177 -0.0118368 0 0.00607622 0.00115332 0.00985052 0 0 0 0.114383 0 -0.00835162 0.0245353 0 0.000570292 -0.00425407 0.0270647 0 -0.000359582 0.00150713 -0.00447051 0.00262753 0 0.678516 0.0172315 0.222452 -0.000889328 0.204599 0.0951211 -0.00901106 -0.313357 0.244712 0.000431427 -0.0324397 0.0339622 1.55956e-05 0.00219769 -0.000423013 0.00323649 -0.0257429 0.011599 -0.69607 1.47633 0.202644 -0.202668 0.0431873 -0.05135 -0.271549 -0.135998 0.10173 0.0241025 -3.5456 0.0288718 1.2135 -0.690184 -1.78912e-05 -1.37733 0.426082 0.00153837 0.00525778 -0.0146255 0.031577 -0.611289 0.00682773 -0.0235107 -2.16831 -0.359623 -0.00274981 0.0164112 -0.0166116 0.183977 -0.0736069 -0.0658815 3.93281 0.929888 0.0357325 3.69208 0.000723198 1.59852 0.00473059 -0.154356 0.179093 0.462631 1.22046 -0.0607526 0.0887272 -0.34342 6.35569 -0.184654 0.00486622 -0.0381124 0.324565 0.140068 -0.00490278 -0.0443599 -0.000957319 0.0465159 -0.0363046 -0.00786697 -6.70703 -0.00225966 3.74239 -0.0482178 -0.130742 2.43686 0.000423121 -0.108905 0.350596 0.918929 -0.000308999 -0.110691 0.253866 -0.325074 1.14239 0 +362 0 0.846573 0.229857 -0.00184261 -0.0801091 0.355117 0.1005 0.236951 -1.88062 -0.00230468 -0.00197644 -0.0271486 0.876354 2.2685e-06 2.29293 -5.87936e-05 1.23685 6.07573 0.029838 0.000810291 3.14694 -0.00226506 0.135138 -7.65251e-07 -0.0648594 -0.11143 0.192733 -0.00895367 0.28147 1.19375 0.319618 -4.26332e-05 0.00232432 -0.462655 0.00227083 0.16649 -0.000501666 -0.108967 -5.63996 -0.108222 1.28961 0.000124681 -0.0405933 -0.0024298 5.09779 0.00640153 0.363854 0.713504 0.0445043 0.0026958 1.33129 -0.21353 -1.75375 -0.00223429 0.00334616 -0.0157687 -2.35494 0.149331 -0.0286875 0.0775969 -3.08476e-05 -0.0861243 -2.34035 -0.0314338 0.200381 -0.378251 -1.20309 -0.554238 -0.0543096 -9.95469e-05 -0.0110237 -0.031483 -0.0267534 0.0601102 -3.11771 -1.21677 0.315834 22.3824 1.96627 9.48229 1.82746 -1.1559 8.71448 -0.0139304 0.114912 -0.281413 2.95077 -3.65203e-05 0.000563982 -0.0143385 0.23244 -4.07769 0 0 0 0 0 -0.00184261 -0.0801091 -0.00013239 0 0 0 0 -2.60328e-06 0 -0.00762381 0 0 0.0003851 9.74083e-05 -0.00132198 0 -0.000185773 0.000691251 -0.054282 0 0 0.0840912 8.67268e-06 0 -0.00116021 0.264659 0 0 0.0130275 0.0136282 0 -0.0273664 0 0.00192978 0 0 0.000299079 0 0 -0.231946 1.86732e-05 0.00437451 0 0.000416555 -0.00557698 0 0 -0.0249153 0 -0.000326307 -0.0216254 -0.00199919 0 0 -0.000811343 0.00027578 0 -0.000887722 -0.000392019 -0.00136114 0.123042 -0.00687715 -0.00698124 0 0.00301165 -0.0101407 0.0740762 -0.00180933 -0.0696285 0 0 0 1.2973 -0.010526 0.304718 0.0184131 -0.0367044 0.161553 -0.000583122 0.00106577 0.000112239 0.0556525 0 0 0 0 0 0 0.355117 0 0.1005 0 0 0 0 -0.578501 0.306914 0 0 0.346565 0 0.0204911 0 0.00559169 0 0 0.769887 0 0.129769 -0.197003 0.133348 0.0930379 0 0 0.115083 0 9.61008 0 -2.63751 0.974669 0 -1.77128 -0.296809 0.00915666 0 -0.0591566 0 0 0.0139526 0 3.32161 1.66083 0 0 0.199578 0 0 0.56839 1.7327 0.438071 0 2.39746 0 0.418938 0.0337891 -0.21791 0.096449 0.26554 1.14057 -0.267764 -0.0463004 0.566906 12.3093 -0.0553238 0 0 0 0.0415917 -0.00213521 0 0 0 0 0.0168257 21.0368 0.0675413 7.20261 0.538132 -0.441312 1.90058 -0.0641562 0.0560854 -0.23827 1.11683 0 0 0 0 0 0 +363 0 -0.213512 -0.206194 -0.00103029 -0.0468708 0.0455761 -0.258884 -0.0734906 0.0133459 -0.00313985 0.00742952 -0.0203737 -1.86149 4.00656e-07 -1.71143 -0.000509226 -0.95565 -4.89233 0.00681979 -0.00185216 -1.64826 -0.00374581 -0.03069 -8.07912e-07 -0.0732807 -0.0836531 -0.145381 -0.000341841 0.238409 -0.457161 -0.676422 -5.21368e-05 -0.0366291 -0.0418265 -0.0016734 0.0597883 -0.000198241 -0.0427997 1.45135 -0.0064932 -1.2038 2.26697e-05 -0.22383 0.000113207 -5.48949 0.0012019 -0.919044 0.0893441 -0.101031 -0.00128006 1.08403 -0.218558 -0.293265 0.000974009 -0.000767592 0.0182167 1.40744 -0.478449 0.0228981 0.16715 6.1821e-05 -0.350031 1.46671 0.531644 0.512869 0.0225202 0.615976 0.367761 -0.00931637 8.35704e-06 0.165297 -0.0165262 0.0309878 0.0838263 3.27482 0.204397 -0.537211 -7.692 -0.71831 -2.57745 -0.239055 -0.0595931 -2.89708 0.47517 -0.44174 -0.00205066 -0.295956 -6.85679e-06 6.64514e-05 -0.000748731 -0.00714078 1.5616 0 0 0 0 0 -0.00103029 -0.0468708 0.000367382 0 0 0 0 7.15781e-06 0 0.00438971 0 0 -0.000299604 -0.000100409 0.000708197 0 0.000100446 -0.000415162 0.0303986 0 0 -0.0175768 -7.32057e-06 0 0.00146637 -0.0839373 0 0 -0.0031004 -0.0103034 0 0.0346903 0 -0.000386835 0 0 -6.99811e-05 0 0 0.159811 7.60935e-05 -0.0042628 0 0.00400201 0.00747164 0 0 -0.028359 0 0.000778241 -0.0115894 -0.00151068 0 0 0.000610012 -0.000657733 0 0.000497949 0.0100004 -0.000385881 -0.0179102 0.00310616 -0.000528658 0 -0.00126337 0.0136687 -0.00106407 -0.000119532 0.00519098 0 0 0 -0.67476 0.0259811 -0.153065 -0.0122367 0.0236361 -0.0676728 0.000383719 -0.000738464 0.00194649 -0.0242956 0 0 0 0 0 0 0.0455761 0 -0.258884 0 0 0 0 0.232536 0.186681 0 0 -0.000826396 0 0.0053569 0 0.0144114 0 0 -0.0911865 0 0.0633126 0.0158192 0.00905368 -0.0252126 0 0 0.0950009 0 -3.34301 0 2.02022 -0.66257 0 0.302754 0.758718 0.00266425 0 0.0236782 0 0 0.0478053 0 -0.846352 -1.43052 0 0 -0.188737 0 0 -0.0802837 -2.28876 -0.112452 0 1.38668 0 -0.964781 0.106548 0.00967971 -0.110489 -0.0750597 0.0466374 0.313197 -0.0281364 -1.35066 -3.85061 0.0987664 0 0 0 -0.00160599 0.00781605 0 0 0 0 -0.103119 -12.0734 -0.619465 -2.20279 -0.253952 0.238943 -0.936766 0.122977 -0.127295 0.00269883 -0.191448 0 0 0 0 0 0 +364 0 0.873702 -0.265762 0.00276398 0.115993 -0.226416 -0.242476 0.45318 0.164047 0.00475912 0.346494 0.0609795 0.0576585 -4.20217e-06 1.43249 0.000838342 -1.31001 -1.85713 0.0618957 0.0012729 1.75698 0.0096398 0.425027 1.80562e-06 0.0870887 0.318123 -0.643851 -0.00404212 0.607246 -0.331877 0.0573716 9.43964e-05 0.0479358 0.362944 -0.0198731 0.37462 0.00144583 -0.109587 -1.21464 0.109961 0.659588 -0.000225474 -0.429015 0.00258821 2.13277 -0.011372 -0.260699 0.425589 0.0760993 -0.00334346 0.250859 0.0230645 4.6028 0.000441667 0.000873972 -0.0311272 -0.383604 -0.131814 -0.00965971 -0.0621855 0.000147235 0.275267 -1.17835 1.13437 0.10504 0.102076 -0.406532 -0.191559 -0.0371433 9.21877e-05 0.00880497 -0.0476211 0.0495255 0.146716 -0.969157 -0.167238 0.466809 2.22265 -0.184517 -0.630289 -0.00978333 -0.270921 0.847136 -0.495124 0.322511 -0.574475 0.764144 6.48765e-05 -0.000767153 0.0203692 -0.20104 1.13364 0 0 0 0 0 0.00276398 0.115993 -0.00102474 0 0 0 0 -2.47897e-05 0 0.00768993 0 0 0.00101144 0.000347299 0.0012643 0 0.0001913 -0.00500105 0.0507165 0 0 0.033008 2.28148e-05 0 -0.00269449 -0.363496 0 0 0.00782759 -0.110654 0 -0.0587279 0 0.000709547 0 0 0.000170704 0 0 -0.0630081 -0.000424307 0.0153179 0 -0.0175245 -0.00862649 0 0 0.106873 0 -0.00201379 0.289757 0.00714665 0 0 -0.00203648 0.00170196 0 0.000885951 0.00470456 0.00971767 -0.19356 -0.0103195 0.0123021 0 -0.00376461 0.015395 -0.074723 0.00401246 0.158188 0 0 0 -0.322398 -0.117917 -0.198919 0.017288 -0.0299837 -0.0913704 -0.00121997 0.00239518 -0.00876489 -0.0709608 0 0 0 0 0 0 -0.226416 0 -0.242476 0 0 0 0 0.0732141 -0.0790909 0 0 -0.0214495 0 0.0182147 0 0.00987084 0 0 0.60108 0 0.857303 0.0360241 0.045844 0.0783332 0 0 0.0509147 0 2.94092 0 -1.40652 0.455833 0 0.143692 0.774521 0.0126287 0 0.0104935 0 0 0.00450773 0 1.55186 0.696917 0 0 0.115174 0 0 -0.188497 2.12717 -0.0582792 0 -0.906818 0 0.721161 -0.0351872 0.0858066 -0.024652 0.160384 0.634171 -0.0579241 0.00409721 0.22988 -1.54723 0.0264942 0 0 0 0.0761341 -0.0451919 0 0 0 0 -0.00846142 10.5537 0.449532 -0.157295 0.0143226 -0.225156 0.324734 -0.0551627 0.0227143 -0.0806685 -0.0780888 0 0 0 0 0 0 +365 0 0.245762 0.126169 -0.00866272 -0.150141 0.398611 0.125751 -0.400474 -1.78915 -0.0595776 -0.217946 -0.0744565 -0.246892 9.05312e-05 0.237282 0.00542626 -0.0393307 -0.739916 -0.06511 0.0108386 0.346913 -0.02141 -0.177552 -0.000116875 -0.129455 -0.375304 0.117643 -0.0116834 -0.220649 0.289266 0.0091324 -0.00273156 0.0924708 -0.663072 -0.00433695 -0.141017 -0.00287576 -0.0562112 -2.76966 -0.203998 0.10539 0.00211586 -0.0387828 -0.0102735 -0.049127 0.0461486 0.0109969 0.041573 0.207852 0.0249826 1.13778 -0.153709 2.31747 -0.0174066 0.0159534 -0.0451384 0.812005 -0.213416 -0.318664 0.147637 -0.00388462 0.126963 2.19555 -0.0937397 0.581566 -0.108632 0.216911 -0.292901 -0.0524333 0.00423847 0.288779 -0.0561863 -0.115787 0.0318241 0.809315 0.283208 -0.183403 10.2798 2.22289 3.85775 1.40134 -0.640888 3.18504 0.325616 -0.15004 -0.0344532 2.80465 -0.0012586 0.00662286 -0.0422966 0.19361 -0.480793 0 0 0 0 0 -0.00866272 -0.150141 0 0 0 0 0 0 0 2.9876e-06 0 0 0 0 0.000134171 0 5.60924e-06 -0.000971412 0.00235133 0 0 0.130196 0 0 0.000536235 0.304103 0 0 0.0191549 2.55192e-05 0 0.00214966 0 0.00738848 0 0 0.00108534 0 0 0.00485707 0 0 0 0 0 0 0 -0.0336518 0 0 -0.00116877 0 0 0 0 0 0 0 0.0307589 0 0.0411079 0 -0.00303744 0 0 0.00261554 0.0956495 0 -0.0162069 0 0 0 -0.0111231 0 -0.00272228 0 0 -0.000209321 0 0 0 -0.000101333 0 0 0 0 0 0 0.398611 0 0.125751 0 0 0 0 -0.361731 -0.129197 0 0 0.381525 0 0.0258764 0 -0.00692496 0 0 0.0899576 0 -0.240579 -0.158576 0.056234 -0.0246303 0 0 -0.132517 0 -1.97509 0 -0.180136 0.0373035 0 -1.37938 -0.190984 0.000479055 0 -0.031727 0 0 0.00100503 0 -0.353446 -0.0943902 0 0 -0.0890457 0 0 -0.111945 0.596743 -0.480165 0 -0.100053 0 -1.0973 0.0498846 -0.0629856 0.126765 0.156441 0.705639 0.127407 0.0390566 0.433319 0.975646 -0.0215799 0 0 0 0.0937899 -0.0201834 0 0 0 0 0.00946089 5.30604 -0.505781 4.38095 0.146143 -0.105987 0.0454012 -0.0587133 0.0525005 -0.215295 0.735371 0 0 0 0 0 0 +366 0 0.632008 0.189533 -0.00356978 -0.0618709 0.210081 -0.0721606 1.09116 1.59165 -0.0245511 0.0917795 -0.0533139 0.488194 3.73066e-05 -0.286954 0.00258851 0.686444 4.58368 0.0420704 0.00331745 1.5978 -0.00162134 0.105772 -4.81627e-05 -0.0518104 0.570262 0.00147718 -0.0016047 0.597882 1.89057 -0.206983 -0.00112564 0.0484712 0.548739 0.0364293 0.308948 -0.00195454 -0.0647124 2.16592 -0.104174 0.00970772 0.000871916 -0.129149 -0.0049173 2.58343 0.0190172 -0.259649 1.14481 0.0518592 0.0117519 -1.14845 -0.0242619 -1.16025 -0.00557026 0.00510523 -0.0157842 -1.219 -0.243037 -0.163944 0.0722957 -0.0016008 -0.0863416 1.8596 -1.20912 -1.05519 -0.0701537 0.174444 0.106656 -0.0170605 0.00174661 0.0346689 0.00209625 -0.0102266 0.072115 0.193627 -0.4234 -0.093102 -4.59997 0.0514046 -3.18684 0.273446 0.224863 -5.13155 0.204062 -0.115248 -0.0705184 -3.08843 -0.00051865 0.00300341 -0.0415848 0.243932 -3.14234 0 0 0 0 0 -0.00356978 -0.0618709 0 0 0 0 0 0 0 0.000612021 0 0 0 0 3.94727e-05 0 2.30786e-05 -0.00029545 0.000503739 0 0 0.0395721 0 0 0.0015729 0.0925657 0 0 0.00560708 0.000995706 0 0.0217941 0 0.00256597 0 0 0.000369517 0 0 0.0624256 0 0 0 0 0 0 0 -0.0223153 0 0 0.00673858 0 0 0 0 0 0 0 0.0104804 0 -0.0562819 0 -0.00127807 0 0 0.00108786 0.0235609 0 -0.00601979 0 0 0 -0.142959 0 -0.000961413 0 0 -0.0026903 0 0 0 -2.17091e-05 0 0 0 0 0 0 0.210081 0 -0.0721606 0 0 0 0 -0.375386 -0.063764 0 0 0.158609 0 0.0111213 0 0.00433748 0 0 -0.115255 0 -0.357708 -0.112308 0.10636 -0.0346862 0 0 0.0125172 0 -0.28996 0 -2.48087 -0.8623 0 -0.850061 -1.07183 0.00754887 0 -0.0474744 0 0 0.00834234 0 -1.15494 0.216498 0 0 -0.009608 0 0 0.0982281 -3.80243 -0.365162 0 0.192755 0 -1.31559 0.0678666 -0.0150679 -0.164263 -0.066934 -1.14689 0.20063 0.0334439 -0.453967 -3.1979 0.0167248 0 0 0 -0.0374515 -0.0143676 0 0 0 0 -0.0333395 11.0617 -1.45171 4.49866 -0.12023 -0.058344 0.863478 0.0264951 -0.0108544 -0.104018 0.437539 0 0 0 0 0 0 +367 0 0.677949 0.51917 0.000188098 0.00326008 0.0128981 0.20683 0.0741336 0.605882 0.00129364 0.0970012 0.011739 0.90206 -1.96575e-06 1.7943 -0.00126837 2.04052 5.46429 0.0236279 -0.00120655 4.32726 0.0029433 -0.355833 2.53777e-06 0.0435136 -0.283071 0.814604 0.000790699 -0.40969 -0.210171 0.47633 5.93117e-05 -0.0358471 -0.379717 -0.0425604 -0.237714 0.000406606 0.0526793 -0.30419 0.00908504 2.40045 -4.59427e-05 -0.1986 0.000381363 3.80118 -0.00100205 1.25184 -0.437796 -0.0330776 -0.000879741 1.47015 0.115305 -0.46319 0.00173271 -0.00158805 -0.0347664 -2.55959 0.152424 0.15872 -0.0408926 8.43486e-05 -0.150803 -4.19515 1.07978 2.56619 0.0543962 1.25111 -0.134279 0.0408951 -9.20318e-05 0.0486448 -0.0287248 0.00130456 -0.0355245 -3.27261 1.64561 0.498365 1.05424 -0.576421 -0.913121 -0.166244 -0.176542 -0.292037 -0.146916 0.0720849 -0.29628 0.0227232 2.73285e-05 -0.00020729 0.00369872 -0.0250433 0.349327 0 0 0 0 0 0.000188098 0.00326008 0 0 0 0 0 0 0 -0.000774075 0 0 0 0 -0.000187562 0 -2.64385e-05 0.000477215 -0.00548183 0 0 0.0107583 0 0 -0.000151642 0.0876631 0 0 0.00131893 0.00830959 0 -0.00221184 0 0.000301476 0 0 3.54191e-05 0 0 -0.00636381 0 0 0 0 0 0 0 0.00227297 0 0 -0.00415849 0 0 0 0 0 0 0 0.0021625 0 -0.0271508 0 0.000647593 0 0 6.02617e-05 0.00791986 0 0.00396298 0 0 0 0.0145736 0 0.00631611 0 0 0.000274255 0 0 0 0.000236245 0 0 0 0 0 0 0.0128981 0 0.20683 0 0 0 0 0.0785449 -0.421043 0 0 -0.168809 0 -0.00798327 0 -0.0070753 0 0 0.49284 0 -0.9102 9.77314e-05 -0.0445424 0.0532527 0 0 -0.097625 0 1.37735 0 -4.06132 0.256759 0 0.0920208 -1.52922 -0.00232295 0 0.00293022 0 0 -0.0318092 0 1.01387 0.730609 0 0 0.0583515 0 0 0.0610921 -3.28202 -0.0783788 0 0.0272072 0 -0.115046 -0.0948953 0.0568554 -0.0360058 -0.0519439 -1.36029 -0.365621 -0.0346255 0.431416 5.80873 -0.0155974 0 0 0 -0.0013418 0.0129248 0 0 0 0 0.0173249 23.9654 1.12372 1.38091 0.410103 -0.692007 1.77795 0.0274487 -0.0647498 0.0216833 0.0321162 0 0 0 0 0 0 +368 0 0 0 0 0 -0.222114 -0.278755 0.760551 0.974733 0 0 -0.350472 -2.16724 0 -1.61211 -0.071299 0 0 0 -0.185391 6.90311 0 0 0 0 0.0684013 0 0 0.688325 3.68655 -1.04951 0 -0.341081 0 0 0.198901 -0.0596346 0 0 -1.24414 1.1621 0 0 -0.360332 -3.16538 0 -0.791652 1.29618 -0.49178 0.607996 -2.23453 0.521123 0 0.0437203 -0.200458 0.185967 3.36658 0.617345 -0.00572223 0 0 -2.05485 2.75903 0 1.06146 0.9572 -0.377681 0 0 0 0 -0.0235906 -1.2394 0 1.21155 -0.325135 0 0 0 -2.31917 0 1.98233 -6.85487 0 0.995322 -0.272191 -4.9655 0 1.18454 -0.497293 2.70886 -11.7436 0 0 0 0.133599 0.0385165 0 0 0 0.0929996 0.00255786 0 0.012942 0 0.000286795 -0.000966453 0 0 0 0 0.0768181 0 0.00609738 0 0.0282138 0 0.600844 0.406014 0 -0.0041633 0 0 -0.199334 0.000447999 0.0932285 0 0.000142558 0 0.000672677 0.0369997 -0.0298931 0.00756008 0.0156843 0 1.76278e-05 0 0 0 2.56822e-05 0 0 -0.000246099 0.00250092 -0.0854656 -0.00587109 0 0 -0.00943299 0 0.000586722 0 0 0.00752877 0.00122696 -0.11203 0.00335727 0 0 0.0180683 -0.0476402 0.00333753 -0.150928 -0.147825 0 0.140483 0.00621002 -0.0487874 0 0 0 -0.0455271 0 -0.00687042 0.185148 0 0.000391887 -0.000812084 -0.011769 0 -0.000420504 0.00239393 -0.00365127 0.119199 0 -0.222114 0.133599 -0.278755 0.0385165 -0.509855 -0.0200174 0.0648052 0.755734 -0.798444 -0.0417739 0.00646191 -0.305873 -0.00598992 -0.0527417 0.0350161 -0.0435139 -0.0341943 -0.292415 2.19116 1.3662 0.357038 0.452989 -0.000780114 0.297609 0.132727 0.175277 -0.477559 0.0581554 9.53793 -0.0710952 0.276927 0.645384 0.00662213 2.44636 0.385414 -0.00235682 -0.00150722 0.168618 -0.0159792 1.40234 -0.0755793 0.0156049 3.22013 4.48048 -0.00480528 -0.00765673 0.725279 0.324232 0.127995 -0.00942177 1.27143 -0.302347 0.0408534 -3.37727 -0.0118105 0.651836 0.0302821 -0.10216 0.254918 -0.486845 -1.31518 -0.860264 0.35088 1.47789 -4.17229 -0.33573 -0.86165 -0.0738622 -0.364251 -0.319875 0.0957845 -0.0559236 0.0762945 0.321694 0.0150279 0.334529 -1.42937 0.74347 -8.16578 0.70916 0.28377 -4.76708 0.0987374 -0.0197461 -0.0143148 -2.42352 0.0960815 -0.0250566 -0.012612 0.0845508 -1.32634 0 +369 0 0 0 0 0 -0.53786 0.215479 -0.962523 -0.250714 0 0 0.262915 0.922264 0 1.4397 0.0749047 0 0 0 0.177389 -1.14946 0 0 0 0 -0.446348 0 0 -0.926974 -4.25998 0.293051 0 0.589551 0 0 -0.418085 0.0425209 0 0 0.65024 -1.18239 0 0 0.156403 4.05913 0 -0.280389 -2.06278 0.961385 -0.310794 1.42527 -0.0606203 0 -0.290525 0.234979 -0.774621 -2.00339 -0.0999793 -0.0960301 0 0 -0.305804 1.47216 0 0.634942 -0.823125 0.704785 0 0 0 0 -0.255234 0.463967 0 -0.94986 1.89659 0 0 0 2.13344 0 -1.03451 7.14312 0 -0.0526578 0.0579321 5.10046 0 -0.456895 0.958974 -2.54918 13.089 0 0 0 -0.0599627 -0.0130704 0 0 0 -0.0356818 0.00444491 0 -0.00519964 0 -8.46809e-05 0.0148106 0 0 0 0 -0.0100366 0 0.000241152 0 0.0927679 0 -0.220948 -0.148482 0 0.00249809 0 0 0.129198 -0.000258267 -0.027009 0 0.000285341 0 0.000168236 -0.0224353 0.0174762 -0.0039343 -0.00439518 0 -5.42872e-06 0 0 0 1.60148e-05 0 0 0.000483681 0.000460134 -0.000836656 0.0039929 0 0 -0.00182549 0 -0.000726737 0 0 0.0128521 -0.00292711 0.0570745 -0.00960053 0 0 -0.0043542 -0.0308994 -0.000977814 -0.0204637 -0.00885048 0 -0.0181142 0.000200257 0.0353083 0 0 0 -0.0969655 0 0.00346608 -0.114216 0 -0.000287998 0.000313143 -0.0632883 0 0.00027475 -0.00093682 0.00176972 -0.0946288 0 -0.53786 -0.0599627 0.215479 -0.0130704 -0.0520506 0.131638 -0.103279 -0.0202073 1.02794 0.00979462 -0.00552861 0.257451 0.00162685 0.0393671 -0.0169041 0.0557175 0.0409742 0.0542773 -0.772894 1.26231 0.160934 -0.142342 0.161326 -0.110644 0.0847672 -0.287582 0.571861 0.0318493 2.16935 0.154612 -0.232967 0.484437 -0.00240028 0.126258 0.110461 0.0205472 0.00743352 -0.0735584 0.0482301 -1.19155 0.102975 -0.059693 0.871084 -0.546337 0.00518314 0.0275668 -0.0642765 0.201242 0.0191027 -0.996695 1.13512 0.456938 -0.0512689 2.03767 0.030242 0.405101 0.135893 -0.37654 -0.300941 0.623187 1.31259 0.479689 -0.209752 -0.352092 6.96335 0.156759 0.125294 0.0841032 0.568171 0.470226 -0.088314 -0.0945051 -0.0204291 -0.118843 -0.132135 -0.202928 1.20247 -0.625793 2.89308 -0.101803 -0.514509 4.92432 -0.0512962 -0.166091 0.375156 1.26675 -0.0178344 -0.12151 0.339416 -0.268496 1.34534 0 +370 0 0 0 0 0 0.0248246 0.323548 -1.51158 -4.53323 0 0 -0.132536 0.882743 0 0.405311 0.00573752 0 0 0 0.527249 -0.175078 0 0 0 0 -0.913521 0 0 -0.417735 -3.39078 0.174716 0 0.207212 0 0 -0.335698 -0.0156492 0 0 -0.710069 0.0754875 0 0 -0.296868 4.75235 0 0.298333 -0.99282 2.77917 0.347032 -2.74314 -0.032257 0 -0.671238 0.455935 -0.342878 -0.19555 -0.223388 0.948368 0 0 2.40476 -1.86576 0 0.125085 0.692748 1.14143 0 0 0 0 -0.117702 -1.24973 0 -1.89618 0.172072 0 0 0 11.1199 0 0.987625 8.91918 0 0.879799 -0.447868 13.2142 0 1.00867 -0.00337141 0.367027 12.1873 0 0 0 -0.009016 0.0388349 0 0 0 0.0555409 0.0522454 0 0.00703575 0 0.000138309 -0.013982 0 0 0 0 -0.0410869 0 -0.00386228 0 -0.186759 0 0.406671 0.525754 0 -0.000663633 0 0 0.0985974 0.000258971 0.113828 0 0.00168431 0 0.00323229 0.126166 0.000718391 0.00289 0.0273834 0 1.17498e-05 0 0 0 0.000104107 0 0 -0.00159495 0.00260609 -0.119001 -0.000552086 0 0 -0.00357781 0 -0.00662285 0 0 0.0490371 0.000348706 -0.0771917 -0.00652817 0 0 -0.0664121 0.0233481 0.00256213 0.0778721 -0.099069 0 -0.0232746 0.00899304 -0.133671 0 0 0 0.191935 0 -0.0013949 -0.115434 0 0.000727763 -0.0026185 0.0331346 0 -0.000559183 0.00238373 -0.00374148 -0.0837445 0 0.0248246 -0.009016 0.323548 0.0388349 0.233596 0.0593722 0.202798 -0.489025 0.859266 -0.0480528 0.0676463 -0.0906078 -0.00678386 -0.00542994 0.0494364 0.0389975 0.038885 -0.333022 -1.14363 -0.489769 0.121373 -0.245506 0.0305205 -0.127252 0.686108 -0.183164 0.224938 -0.0166024 -1.33332 0.223884 1.75313 0.109705 0.0080345 -1.20098 0.350653 0.0111455 0.00051253 -0.091473 0.0143548 -1.30057 0.12739 -0.0267945 -0.903861 -0.809803 0.00286865 0.0180857 -0.12879 -0.0929528 0.141594 -0.659838 0.806049 -0.376948 -0.159627 -0.0219586 -0.071656 -0.195698 0.208328 -0.0577125 -0.221862 0.441641 1.85815 0.297823 -0.0488261 -0.158933 5.84773 -0.10112 0.195866 -0.0607795 0.10918 -0.000278572 0.00764118 -0.0558812 0.0994969 -0.0971408 -0.0577836 -0.255804 -9.04884 -0.0568499 3.64118 0.571433 -0.200519 3.18012 0.0701047 0.0142559 0.0121237 1.84535 0.109424 -0.0522576 0.234901 -0.285284 1.65537 0 +371 0 -0.0378871 -0.0118266 0.0654118 0.220128 -0.278082 -0.00485897 0.236588 1.84495 0.426128 -1.05553 0.430095 0.83904 -0.0124556 1.23532 -0.0194702 1.8735 10.0563 -0.0917083 -0.0654713 -2.77729 0.0158011 0.164701 0.0160615 -0.304975 0.393132 0.267337 0.105888 -0.423098 -2.06586 0.589816 0.0894325 0.0440062 0.39327 0.708373 0.0794432 0.0660026 0.422829 1.84731 0.860643 -0.819537 -0.0707041 2.80605 0.15232 1.79212 -0.353046 0.120953 -0.980793 -0.00160804 -0.385421 2.56831 -0.521254 -2.29398 0.0895229 -0.100458 0.159199 4.63711 1.02489 0.679935 0.413856 0.137743 1.37203 -1.35087 0.799988 -1.69059 -1.5425 0.802552 0.819392 0.721603 -0.144056 1.09788 -0.30109 0.717823 -0.759479 1.43207 -0.224554 -1.35984 -2.94274 4.87405 -7.57297 2.50304 -1.57472 -1.66898 0.834212 -0.811147 1.38416 -2.36641 0.215263 -0.438557 1.05196 -2.06001 4.94049 0 0 0 0 0 0.0654118 0.220128 0.00021445 0 0 0 0 1.05188e-06 0 -0.00347251 0 0 3.50647e-05 2.48928e-06 0.00775142 0 8.76614e-05 0.0800549 0.00529145 0 0 0.286932 1.74665e-07 0 -0.00565372 1.3746 0 0 0.0286859 0.316474 0 0.00373982 0 0.0587876 0 0 0.0046681 0 0 0.00684581 1.49912e-05 0.000499732 0 0.00305628 -0.00176514 0 0 0.0110774 0 0.000437068 -0.0357719 -0.000481389 0 0 -7.14649e-05 -0.00036939 0 0.00138432 8.4676e-06 3.65691e-05 -0.370363 -0.00125154 0.01948 0 0.00199062 -0.0436684 -0.0335696 4.10523e-05 -0.0292479 0 0 0 -0.0208035 -0.00318408 -0.00609861 0.00248374 -0.00285695 -0.0111483 -4.42537e-05 5.09034e-05 -6.1258e-05 -0.00260443 0 0 0 0 0 0 -0.278082 0 -0.00485897 0 0 0 0 0.153001 1.44782 0 0 -0.564667 0 -0.0697843 0 0.0581077 0 0 -1.46232 0 0.352887 0.0724066 -0.254917 -0.162984 0 0 0.55954 0 -3.56912 0 3.00755 -0.107451 0 0.811033 0.8397 -0.0325578 0 0.00567203 0 0 0.150809 0 -1.22812 -2.79516 0 0 -0.2786 0 0 -1.06181 -2.74086 -0.220524 0 1.45516 0 -1.45796 0.148677 0.0756099 0.726616 -0.248079 -1.7259 0.913544 0.100893 -0.205131 6.4251 -0.0654493 0 0 0 0.591703 0.0806253 0 0 0 0 -0.329429 -20.1129 2.15371 -6.64538 -0.0729964 0.268116 -2.17272 0.0809478 -0.0360839 0.219142 -0.544963 0 0 0 0 0 0 +372 0 -0.78307 0.281484 -0.0205952 -0.0761514 0.0264565 0.0718604 -0.300781 -1.49367 -0.142393 0.983074 -0.0981888 0.0159209 0.00390962 0.15471 0.000749163 2.91089 10.5509 0.217806 0.0241549 2.58819 0.0521158 -0.231593 -0.00505381 0.25504 -0.4327 0.872814 0.0727269 0.323972 0.684788 0.0142272 -0.0286793 -0.053126 -0.283443 0.175309 -0.0231854 -0.0163351 0.367498 1.19103 -0.169574 1.41447 0.0216259 0.770346 -0.0357923 0.921525 0.102155 0.596292 0.479919 0.0400019 0.0898022 1.65056 0.509106 -4.58996 -0.0391426 0.0314903 0.00378108 1.89358 0.213567 0.21273 -0.402263 -0.0417961 0.338991 -2.45847 1.34168 2.26674 -0.56247 -0.338587 -1.10873 0.482956 0.0481348 -0.465512 0.0688555 -0.0681741 -0.348351 -0.659992 -0.173353 -0.669456 1.65724 -3.52743 5.82345 -1.97955 1.07052 -0.690748 -0.711803 0.653083 -1.35605 2.46832 -0.0622874 0.102675 -0.33092 0.54449 -1.63766 0 0 0 0 0 -0.0205952 -0.0761514 5.49153e-05 0 0 0 0 2.64726e-07 0 0.00864645 0 0 1.82867e-06 2.97137e-07 0.0032197 0 0.00100817 -0.0199241 0.0411097 0 0 -0.0319095 2.08492e-08 0 0.00856582 -0.16535 0 0 -0.00693408 -0.06377 0 0.0476487 0 -0.0111948 0 0 -0.00126307 0 0 0.348835 3.7728e-06 2.60617e-05 0 0.000782638 -0.000466203 0 0 0.0169735 0 0.000111922 0.0162786 -0.00012781 0 0 -3.72699e-06 -9.45916e-05 0 0.000307802 0.0690415 -1.0502e-05 0.283748 -0.000384766 -0.0283057 0 0.000530437 0.026079 0.176764 -4.75414e-05 -0.0199186 0 0 0 -0.658389 -0.000685518 -0.0890992 0.000592903 -0.000681995 -0.147802 -2.30789e-06 2.65468e-06 -3.19468e-06 -0.0172453 0 0 0 0 0 0 0.0264565 0 0.0718604 0 0 0 0 -0.342582 -0.478334 0 0 0.147075 0 0.0277555 0 -0.014641 0 0 0.477741 0 -0.624526 -0.13242 0.0733122 0.0830028 0 0 -0.159028 0 2.63616 0 0.0192484 0.0504608 0 -0.64888 -0.679217 0.0107242 0 -0.0697277 0 0 -0.0378104 0 0.596113 1.63005 0 0 0.245431 0 0 0.214692 1.02011 0.553173 0 -2.54038 0 1.34009 0.0215365 -0.0677667 -0.59374 0.224635 0.973817 -0.658927 -0.10154 1.14796 -3.18994 -0.0166275 0 0 0 -0.146828 -0.0738067 0 0 0 0 0.102972 15.3217 -0.363219 5.96699 -0.239663 0.25025 0.711143 -0.107953 0.0470534 0.0125462 0.315865 0 0 0 0 0 0 +373 0 0.212684 -0.217141 0.0397856 0.123816 -0.130029 -0.30778 0.457709 0.876241 0.247077 -0.620278 0.107853 0.45027 -0.00759373 0.518237 -0.0050023 0.195439 -0.136534 -0.288071 -0.0174793 -2.33906 0.011179 0.451508 0.00977391 -0.0984853 0.747021 -0.0185251 0.0503931 0.468043 -1.33642 0.0449296 0.0536287 0.0811166 0.553127 -0.12855 0.391705 0.0193601 0.402749 0.00748926 0.580848 -1.16453 -0.0439402 1.33319 0.0985335 -0.69335 -0.227987 -0.85268 0.0309113 0.186456 -0.249213 2.21231 -0.602629 1.44224 0.00883117 -0.0339326 0.172201 2.75632 0.314584 0.126478 0.183714 0.0860951 0.633756 0.560491 -0.545715 -0.223177 -1.07876 0.58451 0.403723 0.556663 -0.0835305 -0.251823 -0.0621014 0.490719 -0.529168 -0.0890748 -0.661684 -1.54726 0.709329 2.53383 -3.44702 1.14107 -1.04182 1.4514 0.322006 -0.420345 0.667992 -0.488161 0.139011 -0.29085 0.680044 -1.36145 3.19604 0 0 0 0 0 0.0397856 0.123816 0.000304793 0 0 0 0 1.49804e-06 0 0.0151036 0 0 5.45015e-05 3.75996e-06 0.0199185 0 0.00237914 0.0379132 0.118669 0 0 -0.119248 2.63825e-07 0 -0.0234844 0.0957954 0 0 -0.0303916 0.100369 0 -0.0827609 0 -0.00314342 0 0 -0.00351562 0 0 -0.119794 2.13497e-05 0.00077674 0 0.00434382 -0.00250817 0 0 -0.0993528 0 0.000621195 -0.195781 -0.000682468 0 0 -0.000111079 -0.000525005 0 0.00200175 -0.0160337 6.88174e-05 -0.378881 -0.001758 0.0303085 0 0.00283154 0.00618024 -0.0766391 2.7611e-05 0.0484428 0 0 0 0.214069 -0.00462223 -0.094549 0.00356897 -0.00410526 0.0381704 -6.87841e-05 7.91199e-05 -9.52141e-05 -0.0501789 0 0 0 0 0 0 -0.130029 0 -0.30778 0 0 0 0 0.176403 1.06984 0 0 -0.186396 0 -0.0266468 0 0.0335589 0 0 -0.570529 0 0.71256 0.0278453 -0.0744009 -0.0606012 0 0 0.322468 0 -4.32961 0 0.188134 -0.525029 0 0.192461 0.71143 -0.00515114 0 0.0149842 0 0 0.107132 0 -1.3746 -2.07004 0 0 -0.242552 0 0 -0.317525 -1.68843 -0.157387 0 1.46956 0 -0.985809 0.144327 -0.0195488 0.510129 -0.136529 -1.16258 0.634391 0.0066152 -0.957117 0.719843 0.0203616 0 0 0 0.295274 0.0263646 0 0 0 0 -0.251598 2.09313 1.19181 -0.795339 -0.272268 0.160333 0.26969 0.0152445 -0.0229327 0.0949629 -0.0573149 0 0 0 0 0 0 +374 0 -0.635925 0.0737646 -0.00690006 -0.0567039 -0.0807792 0.222575 -0.977349 -0.189553 -0.0580225 -0.553796 -0.213167 1.38878 0.000450038 2.07937 0.0106896 -0.672711 -0.576762 -0.155218 0.0145264 -0.512942 -0.0189194 -0.104909 -0.000271 -0.0829163 -0.0735403 -0.179544 -0.0351898 -0.510188 -0.180692 0.611771 -0.00417133 0.246093 -0.280452 -0.347566 -0.211836 -0.0176265 -0.101772 0.00888207 -0.564073 0.152618 0.00763932 -1.20324 -0.0430436 5.81621 0.122317 0.564795 -0.597481 0.296859 0.142752 -0.521079 -0.0804916 -0.136591 -0.045189 0.0268065 -0.141565 -2.07941 -0.0581133 0.0507545 0.103732 -0.02491 0.816298 -0.803813 0.650344 -0.281594 0.257392 0.653787 -0.0392197 -0.100909 0.0116863 0.132865 -0.370025 -0.0697637 -0.0173649 -1.07877 0.461169 0.235789 6.7285 4.07006 1.24594 1.85358 0.391215 1.80581 0.302568 -0.516046 1.078 1.26167 -0.00627777 0.0402036 -0.227142 1.03086 0.684789 0 0 0 0 0 -0.00690006 -0.0567039 0.00246289 0 0 0 0 0.000230969 0 -0.0183089 0 0 0.0012377 0.0013633 -0.00384882 0 -0.00134855 0.00567851 -0.0657484 0 0 0.265641 9.38079e-05 0 0.00094286 0.770768 0 0 0.0356497 0.077694 0 0.0148044 0 0.020125 0 0 0.00268375 0 0 -0.152478 0.00325736 0.0184192 0 0.032804 0.00519875 0 0 -0.0542363 0 0.00467998 0.0306961 -0.00455226 0 0 -0.000888742 -0.00315109 0 0.0162603 -0.00911336 -0.00441478 -0.429943 -0.00466233 -0.01034 0 0.0140648 -0.0199359 -0.104729 0.00646718 -0.0432674 0 0 0 0.279693 -0.046321 0.126635 0.0243507 -0.0267484 0.0145213 -0.00124293 0.00150313 -0.00236851 0.011287 0 0 0 0 0 0 -0.0807792 0 0.222575 0 0 0 0 -0.0016368 -0.128705 0 0 0.164659 0 0.0229783 0 0.027086 0 0 -0.546315 0 0.0395897 0.0134143 0.193425 -0.064295 0 0 0.216005 0 -3.60731 0 3.46487 0.122283 0 0.366259 0.959481 0.0252394 0 -0.015928 0 0 -0.00415699 0 -0.596359 -0.403077 0 0 -0.0272357 0 0 -0.300758 -0.00627134 -0.0747821 0 1.25175 0 -0.633619 0.0738698 -0.0308911 0.297038 -0.117973 0.19074 0.391418 0.164526 0.051722 5.67648 0.157552 0 0 0 0.14713 -0.0770199 0 0 0 0 0.00761115 -21.605 -0.552459 -4.13611 -0.507366 0.287161 -1.45306 -0.0446019 0.0340547 -0.0359708 -0.194875 0 0 0 0 0 0 +375 0 -0.659931 0.20295 -0.00426132 -0.0409871 -0.113102 -0.066126 0.295688 -0.316416 -0.0867331 0.391555 -0.0178565 -0.135951 -4.83888e-05 -0.431999 -0.0220592 0.224373 3.34247 0.0832211 -0.0273748 1.23917 -0.00341043 -0.393906 -0.000352673 0.0230964 -0.0523546 -0.183879 -0.00360666 0.42229 0.731886 -0.18042 -0.00584597 -0.454959 -0.716952 -0.0125554 0.177222 -0.000955592 -0.0404499 -0.0427044 0.0524865 0.309987 -0.00119412 0.094612 0.00193648 -0.272496 -0.027773 -0.225045 0.636134 -0.591475 -0.00464748 -0.598147 -0.316715 -0.626292 0.103277 -0.0226154 0.144633 -0.0435475 -0.169308 -0.010876 0.0106883 0.00328971 -0.742241 -0.233742 -0.589503 -0.309481 0.0212072 -0.210986 -0.134219 0.0415444 0.0228999 -0.187686 0.0320542 -0.30177 -0.0558031 0.282681 -0.74094 -0.0935071 1.2625 0.314847 -2.22865 0.426574 -0.612047 -2.52309 -0.0619439 0.157613 -0.443325 -1.61712 0.00142541 -0.00718873 0.0338456 0.0544896 -2.77371 0 0 0 0 0 -0.00426132 -0.0409871 -0.00101332 0 0 0 0 -1.63348e-05 0 0.00611368 0 0 -0.000609907 -0.000215658 0.00174547 0 0.000189027 -0.00675776 0.0431828 0 0 -0.076683 -1.41301e-05 0 -0.00583956 -0.476285 0 0 -0.00822578 -0.0560674 0 -0.0534296 0 -0.0038322 0 0 -0.000265825 0 0 -0.170165 -0.000195425 -0.00891631 0 -0.0131551 -0.0305593 0 0 -0.00285292 0 0.00263313 -0.061183 -0.00313898 0 0 0.000722771 0.00273596 0 0.00391834 -0.0290987 0.00330025 0.250432 -0.0139844 -0.0143003 0 0.00842035 0.015851 0.0604318 -0.00375133 0.0214617 0 0 0 0.17557 -0.00285879 -0.0472069 0.0134743 -0.0173093 0.00167405 0.000665533 -0.000789757 0.00112907 -0.00916998 0 0 0 0 0 0 -0.113102 0 -0.066126 0 0 0 0 -0.286664 -0.672897 0 0 -0.0243465 0 0.000448298 0 -0.042563 0 0 0.701101 0 -0.403019 -0.135939 -0.121357 0.0796198 0 0 -0.469282 0 3.05566 0 -0.648721 -0.059191 0 -0.722827 -0.759014 -0.0162481 0 -0.0600286 0 0 -0.0506938 0 0.439404 1.5211 0 0 0.174798 0 0 0.674075 -0.377091 0.227356 0 0.47844 0 0.390059 -0.0430351 -0.156573 -0.126844 0.155493 -0.317519 -0.662888 -0.0841006 -0.481551 -1.5469 -0.141354 0 0 0 -0.249907 0.00568948 0 0 0 0 0.0951535 14.487 0.348175 4.64199 0.0514873 -0.00228049 0.753381 -0.0776971 0.0715017 -0.0384363 0.439098 0 0 0 0 0 0 +376 0 0.859079 0.91195 -0.0119723 -0.168251 0.349434 0.300523 0.0382194 -1.24891 -0.135868 -0.115404 -0.34948 -0.40654 0.000518669 0.603355 -0.0106527 3.30445 14.6332 0.023365 -0.0176205 4.61484 0.00881581 -0.645606 -0.000529212 -0.0154384 -0.484449 1.06078 0.0415627 -0.0351518 2.38021 -0.0344531 -0.00882536 -0.246201 -1.91187 0.280668 -0.100819 -0.025063 0.364447 -7.64316 -0.757415 1.72279 0.00880501 1.14466 -0.0537373 2.73553 0.141245 0.67104 0.680873 -0.498109 0.205991 -0.214949 -0.0451412 -8.45897 0.0780517 0.00525324 0.0250469 -2.08306 0.21639 -0.309378 -0.0472958 -0.0309457 -3.9169 0.22311 -0.738853 -1.07368 -0.541463 -2.71298 -0.32327 0.494507 0.0310263 -0.389957 0.354252 -0.498723 -0.439688 -0.210167 -0.667665 -0.575113 33.2283 3.47773 5.78857 2.54139 -0.0969634 1.34924 0.0665886 -0.13158 0.88806 -4.10974 -0.00724921 0.0491465 -0.328726 1.93589 -9.02052 0 0 0 0 0 -0.0119723 -0.168251 0.00374596 0 0 0 0 0.000291278 0 -0.0208284 0 0 0.00131423 0.001644 -0.00372646 0 -0.0016517 0.00814916 -0.0399641 0 0 0.295304 0.000111967 0 0.00441716 0.772919 0 0 0.0299771 0.0971573 0 0.029763 0 0.0224745 0 0 0.00254848 0 0 -0.225101 0.00412502 0.0193435 0 0.0541645 0.017575 0 0 -0.116669 0 0.00486758 0.0147711 -0.00589159 0 0 -0.00275109 -0.00528274 0 0.0215468 0.000863426 -0.00466845 -0.292067 0.00610091 -0.00815249 0 0.020102 -0.0162804 -0.141428 0.0301154 -0.034421 0 0 0 0.526087 -0.05205 0.0914738 0.0258384 -0.026443 0.0315951 -0.00181805 0.00208473 -0.00235418 -9.72763e-05 0 0 0 0 0 0 0.349434 0 0.300523 0 0 0 0 -0.466375 -0.359679 0 0 0.22451 0 0.00985978 0 -0.019977 0 0 1.31793 0 -1.33855 -0.18669 0.0869092 0.166037 0 0 -0.214155 0 8.59661 0 -7.47131 0.713236 0 -1.4779 -2.79773 0.00578992 0 -0.056625 0 0 -0.024619 0 2.71695 2.97401 0 0 0.372598 0 0 0.799931 1.2309 0.281575 0 -2.03112 0 0.822797 0.00891735 -0.156744 -0.467558 0.0507121 0.156848 -0.718763 -0.06438 -0.0311188 -8.93027 -0.12599 0 0 0 -0.342939 -0.00594164 0 0 0 0 0.060992 45.9252 -0.285552 11.2727 0.528992 -0.289782 3.27779 -0.0827155 0.0976656 -0.149858 0.818985 0 0 0 0 0 0 +377 0 0 0 0 0 0.265474 0.328753 -1.83648 -4.23157 0 0 -1.01592 0.854608 0 0.145109 -0.229051 0 0 0 -0.134462 1.26692 0 0 0 0 -0.857952 0 0 -0.185128 5.9897 0.23871 0 -0.842943 0 0 -0.443692 -0.112793 0 0 -3.14543 2.32462 0 0 -0.530394 2.51546 0 1.2903 1.17583 0.502943 1.096 -4.11588 0.59151 0 -0.395844 -0.657167 0.156928 -2.17953 -0.582207 1.44108 0 0 0.324733 -5.17825 0 0.635966 1.37717 0.0415923 0 0 0 0 -0.264701 -3.12894 0 0.81452 0.612921 0 0 0 5.97981 0 4.05793 -6.01919 0 2.43327 -4.59683 9.60214 0 2.84554 -5.06615 9.49194 -16.8799 0 0 0 0.328827 0.105612 0 0 0 -0.0607973 0.115855 0 -0.00574861 0 -0.00544513 -0.181202 0 0 0 0 -0.276047 0 -0.0709482 0 -0.751824 0 -0.565408 -0.143659 0 -0.00158418 0 0 0.048218 -0.00128186 -0.0643439 0 0.0114466 0 0.00642572 -0.00136871 -0.0131964 -0.0299422 -0.0192551 0 -0.000200242 0 0 0 0.000623907 0 0 0.00504147 0.00362349 0.556242 -0.0759146 0 0 -0.0092578 0 -0.0163898 0 0 0.060498 0.0237688 0.103174 0.0524751 0 0 -0.0842218 -0.029555 0.00941292 -0.457924 0.155484 0 -0.40058 0.000837591 -0.0581899 0 0 0 2.49977 0 0.128668 0.22093 0 0.00737092 0.0242958 0.779022 0 0.00195293 -0.000140051 0.0345533 0.181538 0 0.265474 0.328827 0.328753 0.105612 -0.7731 -0.187851 0.265088 0.0736032 -1.40773 -0.155279 0.0682052 -0.844954 -0.0251413 -0.169487 0.0862547 -0.0707711 0.0633265 -0.889222 0.792643 -0.47119 -0.0665467 -0.015866 -0.0418722 0.0290001 0.80889 0.19264 -0.651913 -0.00311122 -5.40357 0.0299655 -0.662099 0.0764196 0.0165099 0.315226 -0.0339932 -0.0271958 0.00108028 0.00265635 -0.041006 1.13675 -0.104875 0.0293535 -1.24849 3.10129 0.00596596 0.0541175 0.20402 -0.0327692 0.389901 0.582567 -1.8604 -0.0804399 -0.352328 -0.82516 0.0512617 2.13373 -0.310507 0.331972 0.17884 0.000962249 -0.209532 -0.87296 0.0388224 1.34715 1.18288 -0.200407 -0.389159 -0.175433 0.142546 -0.687194 0.314329 -0.174386 0.324199 0.0987381 0.0216842 0.342548 2.69843 2.43809 -1.52986 2.23318 -0.4647 -1.7147 1.4994 -0.680773 0.0735566 0.39259 1.1312 -0.644455 0.248517 0.441543 -1.46404 0 +378 0 0 0 0 0 -0.0228417 0.288355 -0.152036 0.550008 0 0 0.0500033 0.93086 0 0.997661 0.0377831 0 0 0 0.220486 2.22593 0 0 0 0 -0.119848 0 0 -0.527646 5.21639 0.552818 0 -0.304443 0 0 -0.241728 0.0553082 0 0 -0.297008 1.97492 0 0 0.0508254 0.966794 0 1.23858 0.593873 -0.695001 -0.0334786 1.66122 0.603877 0 -0.371994 0.114724 0.319436 1.2103 1.1492 0.852942 0 0 0.0277345 -2.38863 0 1.29471 0.293037 0.129049 0 0 0 0 -0.146862 0.0185216 0 -1.46409 -0.992905 0 0 0 -0.976089 0 0.319068 -6.68213 0 -0.1596 -1.73775 -1.60484 0 -0.178057 -2.9002 4.34039 -18.3406 0 0 0 0.0853779 -0.000449365 0 0 0 0.0288106 -0.0190809 0 0.00542918 0 0.00292832 0.0848781 0 0 0 0 0.112908 0 0.025922 0 0.350893 0 0.17674 0.577627 0 0.0110209 0 0 0.337044 8.31539e-05 0.12036 0 0.00410905 0 -0.00138674 0.211105 0.0651639 -0.000148835 0.0423687 0 0.000170557 0 0 0 0.000180133 0 0 0.00270171 0.00223895 -0.0901083 -0.00617101 0 0 0.0362388 0 0.00738429 0 0 -0.0338968 0.0375457 0.373035 0.0574674 0 0 -0.220557 -0.038187 -0.0394493 -0.0174326 -0.0505409 0 0.318743 -0.00682958 0.299815 0 0 0 -0.951394 0 0.035665 -1.3289 0 0.0027708 -0.0830449 -0.406945 0 0.000470507 -0.0114131 0.041547 -0.775074 0 -0.0228417 0.0853779 0.288355 -0.000449365 -0.733522 -0.062008 0.0421672 -0.259873 0.206698 0.0150895 -0.015447 -0.0774988 0.00266535 -0.0202441 -0.0132883 0.000905736 -0.00817067 0.0977926 0.12538 -0.250184 0.0869806 -0.0452816 -0.094511 -0.0227343 -0.222765 0.25845 -0.16007 0.0184688 2.85393 -0.304569 -0.194074 1.0142 -0.00403518 -0.240599 0.0128161 -0.0239265 -0.00504629 -0.0365155 -0.0451576 2.09416 0.0428117 0.0293374 1.36872 -0.763919 0.00118987 -0.0284618 -0.119787 0.0475663 -0.112781 -0.741976 -0.227647 -0.866253 0.190307 -1.42692 0.0157451 0.179782 0.0451505 0.408312 0.307817 -0.110053 0.175183 -0.148344 -0.15835 0.653322 4.92487 0.0205134 -0.0839043 -0.0376582 -0.337895 0.332641 0.067344 0.0584768 -0.0290168 -0.149147 0.130487 -0.166283 0.790961 0.367874 -0.0386816 -0.0758379 0.409649 -3.96671 -0.056498 0.131727 -0.981799 1.14588 -0.124404 0.214767 -0.844715 1.21246 -2.98544 0 +379 0 0 0 0 0 0.245256 0.108231 0.328532 0.257944 0 0 0.198111 0.261692 0 -0.0337132 -0.0464708 0 0 0 -0.234998 -6.57714 0 0 0 0 -0.0671825 0 0 -0.361351 2.42219 0.0637079 0 0.05956 0 0 -0.0701834 0.0130899 0 0 -0.666936 -1.41437 0 0 -0.235457 0.421106 0 -0.225695 0.189493 0.2796 0.172208 0.346478 0.0192351 0 -0.438231 0.0423557 -0.132204 0.652376 -0.971186 -0.0667116 0 0 0.70033 4.06974 0 0.074223 -0.130742 -0.640591 0 0 0 0 0.503006 0.0644049 0 1.57329 -0.333513 0 0 0 -0.715115 0 0.430949 -1.65155 0 -0.206206 -0.104588 -2.4079 0 0.479575 -0.489499 0.532006 -4.54408 0 0 0 0.121684 0.0260315 0 0 0 -0.0369712 0.0165113 0 -0.00411862 0 -0.000942338 -0.031716 0 0 0 0 0.0198904 0 -0.0050958 0 -0.0835953 0 -0.343813 -0.239673 0 -0.00505018 0 0 -0.267452 1.13885e-05 -0.0449086 0 0.00240492 0 0.000770967 -0.117558 -0.0373628 -0.00260947 -0.0195438 0 -2.61207e-05 0 0 0 0.000122459 0 0 0.000484704 -2.51401e-05 0.138857 -0.0345682 0 0 -0.00706906 0 -0.00228186 0 0 -0.0529872 0.0127247 -0.231101 0.0245751 0 0 0.108363 0.0104319 -0.0284641 -0.364734 -0.750515 0 -0.246528 0.00678604 0.308025 0 0 0 0.469033 0 0.0280144 0.96274 0 0.00227203 0.0578345 0.247158 0 8.66455e-05 0.00871023 -0.0113325 0.549714 0 0.245256 0.121684 0.108231 0.0260315 -0.244397 -0.118263 0.197549 0.13682 0.331584 -0.0267475 0.0546604 -0.580945 -0.00512404 -0.0985139 0.0296 0.0221333 0.0329207 -0.104817 0.43804 -0.68827 -0.114957 0.0270742 -0.359356 0.0208354 0.320504 0.151671 0.186888 -0.00405325 5.39866 -0.280286 -1.32404 1.0248 0.00414128 0.265655 -0.550792 -0.0567885 -0.00266454 0.0167308 -0.0366004 1.15806 0.0474885 0.019589 2.50945 1.48291 0.00611637 -0.0188745 0.115823 -0.0710651 0.328186 0.385899 1.29027 0.369112 -0.072272 1.47209 -0.0210309 0.158181 0.393102 -0.299248 0.629218 -0.0604103 0.12289 0.811113 0.0249937 -0.454891 3.12977 0.048413 -0.468897 0.0307944 0.103886 0.275025 0.233834 0.0697677 0.0604296 0.0503147 -0.105002 -0.439584 5.39621 2.61618 -1.33056 1.05576 -0.311202 -0.53486 0.482906 -0.186313 -0.140544 0.351074 0.13334 0.0679342 -0.417517 0.707746 -1.58255 0 +380 0 1.16417 0.332912 0.16182 0.408542 -0.422139 -0.274573 1.47875 4.09854 0.1687 -3.44873 0.458521 -0.744203 -0.0481691 -0.180239 0.0586629 -0.182753 2.34904 -0.574031 0.00504501 -0.69793 -0.102149 -0.261527 0.0271021 -0.773714 0.802211 -0.317345 -0.0865096 0.371629 -0.166798 -0.263702 0.0975463 0.616282 -1.40424 0.328481 0.364521 0.104589 -0.0817753 -6.96033 1.03316 -0.710072 -0.212868 1.69016 0.259071 -1.39434 -0.774748 -0.451123 0.255653 0.759912 -0.282136 0.982509 -1.39724 -2.02264 -0.3716 0.264592 -0.289645 1.31035 0.181399 0.234999 0.810575 0.156048 -1.56069 -0.155004 0.87304 -2.51996 -0.396072 -0.196173 1.589 0.0625319 0.348199 0.653745 -0.325023 0.761988 -0.00827988 -0.156611 -0.350153 -1.46515 18.6336 9.42675 -7.82189 7.75778 -7.0127 10.4208 4.40011 -4.34495 5.80478 -7.55432 1.60908 -1.96824 1.73963 -2.28166 0.674479 0 0 0 0 0 0.16182 0.408542 0.00992717 0 0 0 0 0.00176903 0 0.00491752 0 0 -0.00159135 -0.0108395 -0.0219404 0 -0.0015164 -0.0754342 0.0396465 0 0 -0.414827 -0.000399417 0 -0.166643 -0.189371 0 0 -0.0439355 -0.140005 0 -0.494454 0 -0.0857837 0 0 -0.0083458 0 0 -1.56395 0.0350848 -0.0410297 0 0.194572 0.128665 0 0 -0.468198 0 0.0054471 -0.120705 0.0215158 0 0 0.00365756 -0.0264189 0 -0.00943897 -0.010553 -0.0471418 -1.13715 0.0722348 0.0256869 0 0.0389546 -0.133419 -0.00127089 -0.0431741 -0.296302 0 0 0 10.077 0.472034 0.491321 0.0470353 -0.104996 1.39454 0.00190216 -0.00450822 0.0556925 0.029419 0 0 0 0 0 0 -0.422139 0 -0.274573 0 0 0 0 0.0580865 2.98724 0 0 -0.889632 0 -0.102908 0 0.117364 0 0 -0.403077 0 -0.0262023 0.085076 -0.194735 -0.0269286 0 0 1.03345 0 8.51519 0 -2.22163 0.00772093 0 0.724267 -0.477459 -0.0255968 0 0.00689134 0 0 0.343413 0 1.61204 -1.26489 0 0 -0.112581 0 0 -0.24642 2.6256 0.438281 0 1.20213 0 -1.51849 0.74304 -0.660584 0.629566 0.195482 -0.030055 1.30198 -0.317612 -2.18283 -6.11994 -0.17413 0 0 0 0.466524 0.246049 0 0 0 0 -0.658295 10.0942 4.8357 -4.40466 1.55079 -1.5561 2.03738 0.495813 -0.506699 0.67927 -0.524674 0 0 0 0 0 0 +381 0 -0.236756 0.26014 -0.00282511 0.0462871 -0.292072 -0.0715095 0.313024 1.98074 -0.0344535 -0.451214 -0.0599382 -0.312161 0.00512252 -0.396482 0.0222454 0.708655 1.33483 -0.0798315 0.0628648 -0.561373 0.0194587 -0.355444 -0.00937265 0.0261706 0.258006 0.309987 -0.0277891 0.018507 0.114 -0.241706 -0.0255328 0.129592 -0.488269 -0.240763 -0.0461922 -0.012698 0.132098 -0.124027 -0.176789 -0.379294 0.0173423 -0.573283 -0.0156173 -0.505541 0.0539785 -0.200083 -0.0757325 0.218067 0.058533 0.414828 0.0259444 0.849833 0.0982696 -0.0531015 -0.134439 1.48309 -0.052507 -0.558447 -0.0251642 -0.0402628 -1.10002 1.61801 2.19596 -0.167196 -0.679779 0.125616 -0.353358 0.0572601 0.0802588 1.10414 -0.482014 0.025265 -0.622886 1.28553 0.582815 -0.330182 -0.565717 2.06701 -6.85438 -0.217013 -0.349199 0.479458 0.169114 -0.197335 0.860416 -2.83741 -0.112108 0.245969 -0.227519 0.489187 -0.46098 0 0 0 0 0 -0.00282511 0.0462871 -0.000661656 0 0 0 0 0.000416413 0 0.0407321 0 0 0.000483343 0.00775626 0.0677138 0 0.0107047 0.237862 0.249231 0 0 0.176452 0.00042834 0 0.0766872 2.53341 0 0 0.034363 0.821511 0 0.306351 0 0.0415648 0 0 0.00810645 0 0 0.990788 0.00860653 0.00705641 0 -0.00839089 0.108557 0 0 -0.0203845 0 0.0062879 0.60009 -0.0174545 0 0 0.00188503 0.00765298 0 -0.000167748 0.141837 0.000375328 0.265983 0.0886652 0.012845 0 -0.0269253 -0.138424 0.561998 -0.0972282 -0.312987 0 0 0 -5.60266 -0.12964 -1.16516 -0.0247223 0.0532533 -0.739498 0.000253544 -0.000899217 0.0101219 -0.29539 0 0 0 0 0 0 -0.292072 0 -0.0715095 0 0 0 0 0.285156 -0.489583 0 0 -0.189726 0 -0.00419192 0 -0.0164808 0 0 0.180109 0 -0.542505 0.104082 0.0338349 0.0378864 0 0 -0.0815993 0 -0.340921 0 0.0577134 -0.328604 0 1.19776 -0.485861 0.0125952 0 0.00818638 0 0 -0.068753 0 -0.164153 0.358854 0 0 0.0865676 0 0 -0.0420185 1.82174 0.38061 0 -0.580134 0 -0.984322 -0.0750137 -0.123661 -0.338922 -0.12563 0.523741 0.663023 0.0217371 -0.173115 -5.59886 0.106607 0 0 0 -0.116355 -0.0434795 0 0 0 0 0.285933 -0.242972 1.73328 -4.47089 0.661544 -0.638142 0.533941 0.083659 -0.106187 0.159382 -0.753324 0 0 0 0 0 0 +382 0 0.327854 -0.359101 -0.0132705 -0.0371744 0.0875353 -0.277088 0.500723 0.946955 -0.0326879 -0.675537 -0.817483 -0.479355 0.00411286 -0.482592 -0.103348 -0.134785 -0.179237 -0.0877956 -0.237289 1.28716 -0.0463602 0.579232 -0.00270361 -0.188381 0.460947 -0.260679 -0.0097919 0.813823 2.99294 -0.239944 -0.0107312 -0.693968 0.991993 -0.0974246 0.387432 -0.131177 -0.145526 0.902211 -1.10525 -0.361418 0.0164865 -1.09852 -0.181072 -1.17677 0.0471999 -0.660315 1.65498 -1.58461 0.405839 -0.412089 0.925924 -0.487953 -0.0165956 -0.746359 1.03653 1.07663 0.444764 0.52361 0.222029 -0.0136827 -0.0117679 -0.456272 -0.0113277 0.80168 0.444124 -0.653235 -0.168149 -0.12057 -0.0221096 0.615112 -0.0957254 -0.669458 -0.424045 -0.030615 -2.03805 -0.77611 -3.52127 0.250198 -0.944211 -1.23548 2.6735 -6.43346 0.828573 0.740862 -2.4874 2.32113 -0.0980296 1.20229 -3.20345 5.69348 -12.1025 0 0 0 0 0 -0.0132705 -0.0371744 -0.00140709 0 0 0 0 -0.000218231 0 -0.0227524 0 0 -7.72897e-05 0.000689175 -0.017115 0 -0.00323019 -0.0207647 -0.12665 0 0 -0.0841596 2.3296e-05 0 0.0675116 -0.32716 0 0 -0.00796291 -0.0910777 0 0.232756 0 -0.0120913 0 0 -0.00103111 0 0 0.453943 -0.00422499 -0.000615788 0 -0.0274763 0.00745056 0 0 -0.0302067 0 -0.000326931 -0.402173 0.00591358 0 0 -0.000438698 0.00364606 0 0.00489759 0.10578 -0.00444092 -2.36912 -0.0128041 -0.0368167 0 -0.0426305 0.0938781 -0.264353 -0.0865019 0.0283962 0 0 0 -2.82136 -0.0897702 0.294708 -0.0116874 0.0270377 -0.383921 -0.000103537 0.000302709 -0.00342871 0.108662 0 0 0 0 0 0 0.0875353 0 -0.277088 0 0 0 0 -0.468793 -1.18732 0 0 0.315704 0 0.043756 0 -0.0642453 0 0 0.191922 0 0.66567 0.0136314 0.437803 0.013566 0 0 -0.570232 0 -1.82394 0 1.06141 -0.440836 0 -0.0668232 0.911602 0.0555992 0 -0.0508698 0 0 -0.130301 0 -0.757262 0.125497 0 0 0.0079364 0 0 -0.0947043 0.269019 -0.443091 0 -0.878958 0 1.39358 -0.418261 0.461196 -0.299232 -0.0615681 0.247021 -0.823536 0.176886 0.794366 0.660889 0.0444912 0 0 0 -0.0810388 -0.080419 0 0 0 0 0.138067 -1.18771 -1.75404 2.07766 -0.754932 0.81575 -1.1862 -0.211982 0.193881 -0.22561 0.044295 0 0 0 0 0 0 +383 0 0.563238 0.451753 0.0913894 0.301953 -0.352286 -0.140437 1.2454 3.82515 0.285608 -2.77713 0.483494 -0.284906 -0.0196982 -0.390908 -0.0150882 1.27821 4.78564 -0.456951 -0.0635776 -2.20412 0.0062902 -0.356484 0.0152424 -0.36545 0.70795 0.398967 0.0693953 -0.127793 -1.29936 -0.203229 0.0811058 -0.0143922 -1.40467 0.0321579 0.194558 0.0681105 0.418575 -6.60688 1.12407 -1.2131 -0.130256 0.996933 0.180785 -1.15095 -0.818804 -0.673211 -0.508638 -0.187268 -0.541123 -0.0112364 -1.47797 -3.13124 0.165019 -0.4962 0.352705 0.977595 -0.0554436 -0.954111 0.667228 0.287097 -2.97667 4.01187 0.872695 -1.73912 -0.228671 0.887454 1.07038 0.272385 -0.00345327 0.999276 -1.40702 0.772968 -0.520634 0.0108536 -0.525702 -1.1234 18.4231 7.86073 -7.3577 6.10724 -6.23605 11.185 2.42708 -2.88939 5.08032 -5.74067 0.869084 -1.04829 1.67848 -2.07446 3.13859 0 0 0 0 0 0.0913894 0.301953 0.00439105 0 0 0 0 0.000255313 0 0.0123413 0 0 -0.000387102 0.000836818 0.00917482 0 0.00332418 0.0406546 0.0878241 0 0 -0.164801 0.000118994 0 -0.0772897 0.212985 0 0 -0.0214119 0.168014 0 -0.278109 0 0.00939439 0 0 0.00204705 0 0 -1.10373 0.00416482 -0.0148894 0 0.0752635 0.0941096 0 0 -0.315587 0 0.00720104 0.00646364 0.00197967 0 0 0.0027988 -0.00812465 0 -0.00632144 0.0253824 -0.0284166 0.722811 0.0390063 0.0240165 0 0.0201879 -0.0974451 0.337888 -0.0208206 -0.20901 0 0 0 7.36031 0.316738 0.219427 0.0405242 -0.0857539 1.03884 0.000995878 -0.00280109 0.0359755 -0.0388292 0 0 0 0 0 0 -0.352286 0 -0.140437 0 0 0 0 0.498032 0.925001 0 0 -1.15216 0 -0.134108 0 0.00346717 0 0 0.0312959 0 -0.517759 0.137627 -0.551529 0.014393 0 0 0.143205 0 8.52727 0 -2.67587 0.293807 0 1.20362 -1.16454 -0.0698541 0 0.0631194 0 0 0.0759329 0 1.96221 -0.123703 0 0 0.0094125 0 0 0.0407691 3.49941 0.448865 0 0.454843 0 -1.35091 0.188882 -0.374888 0.964963 0.218383 -0.417453 0.742508 -0.299827 -1.7248 -1.27955 -0.228036 0 0 0 0.115089 0.284196 0 0 0 0 -0.376222 12.0064 6.05004 -6.41656 1.83441 -1.84806 2.33999 0.674381 -0.672591 0.873325 -0.841297 0 0 0 0 0 0 +384 0 -0.38075 -0.182252 0.00379691 -0.0137118 -0.215169 -0.249282 0.589902 1.38431 0.118145 0.259652 0.0379768 0.131253 -0.00193004 0.720727 -0.00661318 0.549549 2.11357 0.152542 -0.0366435 1.88855 0.0478186 0.282045 0.00533246 0.102448 0.430181 -0.0330404 0.161936 0.705503 1.66513 -0.0433118 0.0266145 0.114994 0.623288 0.490809 0.320954 0.00617484 0.68815 2.13015 -0.126934 0.0986759 -0.000865959 1.54327 0.00045036 1.74823 0.105416 -0.381596 0.988463 0.0390846 0.0184103 -0.177164 0.567017 0.0958176 0.14338 0.0757183 -0.00917075 0.980351 0.303205 0.560797 -0.160774 -0.00880262 -0.190572 -2.66379 1.29486 0.838895 -0.0145549 -0.749393 0.146007 0.703621 -0.092746 0.604927 0.28846 0.131896 -0.170473 -0.543199 -1.12866 0.143949 -7.09211 -2.37556 -2.15004 -3.62582 2.30994 -5.21681 -1.05056 0.602085 -1.44294 -1.66723 -0.111889 0.125523 -1.01101 1.07197 -4.02211 0 0 0 0 0 0.00379691 -0.0137118 -0.00508202 0 0 0 0 -0.000730081 0 0.0129572 0 0 0.000678054 0.00510391 0.00561854 0 0.00179944 0.0558439 0.051869 0 0 0.218159 0.000243223 0 0.0550983 0.851225 0 0 0.0323151 0.244504 0 0.294046 0 0.0375707 0 0 0.00534473 0 0 1.18498 -0.0143904 0.0176671 0 -0.0973636 0.0121974 0 0 0.105137 0 0.00129533 0.138891 -0.0140601 0 0 0.00118435 0.0174647 0 0.000307747 0.0724454 0.0123133 -0.370458 0.0144103 -0.0132042 0 -0.0322136 0.0371932 0.222985 -0.070028 -0.0128521 0 0 0 -6.83601 -0.240014 -0.508507 -0.0314961 0.0672775 -0.909374 -3.51785e-05 0.000532827 -0.0144132 -0.0930225 0 0 0 0 0 0 -0.215169 0 -0.249282 0 0 0 0 -0.0381054 0.223991 0 0 -0.167977 0 -0.0235052 0 0.0329193 0 0 -0.208831 0 0.522753 0.0625019 0.0397908 -0.00911081 0 0 0.287579 0 -0.729086 0 0.552311 -0.516172 0 0.56674 0.511718 0.00143246 0 0.0115631 0 0 0.0238828 0 -0.324338 -0.341981 0 0 0.00117339 0 0 0.024459 0.0816193 -0.0447645 0 -0.319364 0 -0.521092 -0.0510745 0.0569592 0.0921434 -0.0438872 -0.0766131 0.376002 0.000900456 -0.511133 -7.74513 0.0356597 0 0 0 -0.0669367 0.0172975 0 0 0 0 0.119661 -3.77008 0.257979 -1.32388 -0.093462 0.148572 -0.299783 0.0811695 -0.0803181 0.112792 -0.373082 0 0 0 0 0 0 +385 0 -0.0453675 0.346948 0.0400996 0.176903 -0.106441 0.073112 0.384469 1.30512 0.331267 -1.03741 0.284776 0.572341 -0.00739998 1.07969 0.0120788 1.18764 4.12008 -0.1494 0.0204581 3.69817 -0.0242984 -0.459678 0.0069603 -0.283315 0.0892825 0.493085 -0.0852395 -0.182243 -1.07389 0.247445 0.0471272 0.147314 -0.701699 -0.145935 -0.119156 0.0413545 -0.374545 -1.0303 0.454806 2.15527 -0.0414575 0.152204 0.081055 1.17172 -0.183596 1.05841 -0.526263 0.269264 -0.201996 -0.15436 -0.568475 3.79899 0.367038 -0.0823277 0.110783 2.99788 1.34314 0.656021 0.339287 0.0969799 -0.542479 -5.4141 1.40761 -0.246812 0.276703 0.749818 0.197154 -0.55502 -0.058749 0.506123 -0.40829 0.326602 -0.0603846 -0.000346586 0.477699 0.382098 2.58592 2.03089 -2.97311 1.38981 -1.33103 1.92527 1.01599 -0.844803 1.66143 -2.07659 0.19487 -0.342658 0.791652 -1.14176 2.59397 0 0 0 0 0 0.0400996 0.176903 0.000414812 0 0 0 0 3.68259e-05 0 -0.00751367 0 0 2.50569e-05 0.000826252 -0.0067419 0 0.000133618 0.0239071 -0.0905992 0 0 -0.0764503 7.21465e-05 0 -0.0159322 0.297472 0 0 -4.61436e-05 0.0635682 0 -0.026266 0 -0.000242317 0 0 0.00136517 0 0 -0.150125 0.000658158 -0.00259268 0 0.0107016 0.060876 0 0 -0.0985425 0 0.000403993 -0.0277532 0.00998952 0 0 0.00131654 -0.000398356 0 -0.00618111 0.111895 -0.0197876 -1.31287 0.0228949 -0.00610913 0 -0.025996 -0.0218131 -0.0716192 -0.0313363 -0.0475549 0 0 0 2.43735 0.130773 0.490163 0.00781535 -0.026736 0.390133 0.000359427 -0.00105914 0.0134143 0.077978 0 0 0 0 0 0 -0.106441 0 0.073112 0 0 0 0 0.501986 1.00905 0 0 -0.474454 0 -0.0440946 0 0.0261991 0 0 0.232388 0 -0.612735 0.143155 -0.198687 0.0482329 0 0 0.271343 0 4.7744 0 0.287721 -0.0708238 0 1.13448 -0.502446 -0.0184913 0 0.0492984 0 0 0.10319 0 0.577421 0.397222 0 0 0.100076 0 0 -0.196378 3.43764 0.357724 0 1.20523 0 -0.380423 0.0416746 -0.0708869 0.412171 0.0548915 0.224957 0.702993 0.0856275 0.332245 3.89101 -0.0845044 0 0 0 0.225623 0.0872755 0 0 0 0 0.150732 2.88008 2.46193 -4.1529 0.642893 -0.650171 0.518472 0.280038 -0.25919 0.307875 -0.733596 0 0 0 0 0 0 +386 0 0 0 0 0 0.42378 0.0658383 -0.427247 -2.18886 0 0 -0.00360667 -0.840843 0 -2.21209 0.00566614 0 0 0 0.093656 -4.74042 0 0 0 0 -0.371617 0 0 0.051755 -1.42351 -0.493509 0 0.0430673 0 0 -0.115732 -0.000452676 0 0 0.221534 -1.87547 0 0 0.069768 -3.23214 0 -0.657082 0.0821479 0.440879 -0.0683808 -0.924773 -0.373388 0 0.0202708 0.0757625 0.0719034 1.23 0.0504637 0.00801834 0 0 0.57689 3.16951 0 -0.74767 -0.0482539 -0.523814 0 0 0 0 -0.188489 -0.0470642 0 3.60778 -1.90635 0 0 0 3.67271 0 -0.841971 4.15823 0 -0.234271 0.256415 3.45226 0 -0.198727 -0.00310376 -0.260453 1.80861 0 0 0 -0.00231077 0.0010212 0 0 0 -0.0138508 -0.00276171 0 -0.000888751 0 -0.000259814 0.000583759 0 0 0 0 -0.0231178 0 -0.000467743 0 -0.0037888 0 -0.158239 -0.0250431 0 0.000409378 0 0 0.0278181 -0.000379756 -0.000867237 0 -0.000294339 0 -0.000302479 0.0131619 0.00543768 -0.00560728 0.000596494 0 -1.79928e-05 0 0 0 -2.22045e-05 0 0 0.000391057 0.000326071 0.0706999 0.00277101 0 0 7.57924e-05 0 0.000655832 0 0 -0.00806852 0.00278158 -0.00433261 -0.00233598 0 0 0.0124146 0.00881008 -0.000914974 0.00908473 -0.00556186 0 -0.0305204 -0.00305662 -0.0260098 0 0 0 0.0457371 0 0.00598563 -0.0161556 0 -6.57197e-05 0.00023849 0.00290719 0 0.000368528 -0.00120852 0.0023982 -0.00769827 0 0.42378 -0.00231077 0.0658383 0.0010212 0.354033 0.0264273 0.016882 -0.894409 -0.25493 -0.00042895 0.0110583 0.0364754 -2.39817e-05 0.0023932 0.000691053 -0.00357829 0.019956 -0.00556908 0.967419 0.492108 -0.110456 -0.448153 0.01032 0.109601 0.0487376 -0.205761 -0.076655 -0.013689 5.13567 -0.013277 -0.257825 0.573169 2.76199e-05 -2.22035 -0.494922 0.00100414 -0.00199847 -0.146251 -0.00847832 -1.09331 -0.011285 -0.0325085 1.69552 2.19384 0.00289412 -0.00709475 0.157241 -0.0184209 -0.113461 -0.0567929 0.221705 0.390538 0.0306164 0.921596 -0.00175111 1.14287 -0.024593 0.0743846 -0.0159853 0.968444 1.08934 -0.158809 -0.278532 -0.0141516 1.59297 -0.154829 0.689818 -0.0197627 0.365578 0.121189 -0.00641481 -0.0453099 0.00133422 -0.0507026 0.00611633 0.0127512 0.626783 -0.0577646 7.25854 0.0205371 -0.212336 5.40936 -0.00223782 0.0357259 -0.0599322 2.99386 0.000594772 0.0841745 -0.115464 0.083323 1.41038 0 +387 0 0 0 0 0 -0.639353 -0.0542718 1.01793 3.12517 0 0 0.117598 -0.192853 0 0.195654 0.0288095 0 0 0 0.13529 -2.20487 0 0 0 0 0.341924 0 0 -0.454558 0.736069 -0.00725465 0 0.108909 0 0 0.120257 0.0178635 0 0 0.54647 -1.00885 0 0 0.101548 0.0421407 0 -0.338299 -0.49295 0.574549 -0.262227 0.176957 -0.232407 0 -0.172712 0.30492 -0.273457 4.47168 -0.233371 0.0921276 0 0 -2.04866 3.87535 0 0.518169 0.375185 -0.898722 0 0 0 0 -0.0758976 0.678518 0 2.55831 0.535503 0 0 0 -3.38913 0 -0.344441 -1.05257 0 -0.0857954 1.0995 -6.45733 0 -0.500336 1.91197 -3.72823 1.65395 0 0 0 -0.0355219 -0.00441864 0 0 0 -0.00374963 0.00427116 0 -0.000163841 0 -0.000220165 -0.0053271 0 0 0 0 -0.0213331 0 -0.0016602 0 -0.0722145 0 -0.0648109 0.00702237 0 3.77745e-05 0 0 0.0275555 -0.000654354 0.000924393 0 0.000993541 0 0.000306316 -0.0113238 0.00234202 -0.00909068 -0.000848089 0 -1.56735e-05 0 0 0 6.92249e-05 0 0 0.000157702 0.00266711 -0.0154844 0.00128454 0 0 -0.00220777 0 0.00120012 0 0 0.0115761 -0.00412684 -0.00561482 -0.0109598 0 0 -0.00534134 -0.00437613 0.0106133 0.00929117 0.0263601 0 -0.00985724 0.00113296 -0.0640493 0 0 0 0.0223045 0 0.00359421 -0.012889 0 -0.000624355 -0.000991169 0.0153324 0 0.000536786 -0.000580169 0.00236087 -0.00806054 0 -0.639353 -0.0355219 -0.0542718 -0.00441864 -0.317005 -0.0456836 -0.0364083 0.358159 -0.0621678 0.00186896 0.0331654 -0.133905 0.000106274 -0.00667637 -0.0024206 -0.00365312 0.0437524 0.0253152 0.117889 0.179204 -0.0303208 0.307361 -0.0630566 -0.0164861 0.223983 0.0027776 -0.0473557 0.00360773 6.08617 0.167447 -2.06018 1.01831 -0.000137215 1.56527 -0.338847 -0.00570459 0.00755574 0.073671 0.0408547 0.466668 -0.00219588 -0.0149752 2.51949 0.416098 0.00744869 0.0323808 0.0273813 0.0360901 -0.0463109 0.544508 -0.0747463 -0.279244 -0.0617583 1.44228 0.00452663 -0.130702 -0.00191249 0.121791 -0.107994 0.0657896 -0.321021 -0.263757 -0.416464 -0.149358 4.43992 -0.19677 0.106274 0.0347295 0.0760078 -0.145829 0.0159739 -0.154153 -0.00426019 0.21024 -0.0130746 -0.00101593 5.00836 0.0554652 -3.09381 0.0792412 -1.15301 1.67491 0.0084689 -0.427484 1.11642 -1.62872 -0.00270363 -0.161689 0.349034 -0.301808 -0.31835 0 +388 0 0 0 0 0 -0.507853 0.357037 -0.412276 0.323609 0 0 -0.0839683 2.05356 0 3.33305 0.0333829 0 0 0 0.377576 5.97674 0 0 0 0 -0.338681 0 0 -0.503918 -3.41143e-05 0.993259 0 0.0852634 0 0 -0.341883 -0.025724 0 0 0.428267 2.75195 0 0 0.025462 7.73829 0 1.54313 -0.37997 1.11398 -0.0979258 0.933536 -0.0601843 0 -0.583456 0.454903 -0.318143 -3.6021 -0.759015 -0.270833 0 0 0.626614 -1.84805 0 1.03338 0.397845 0.61473 0 0 0 0 0.192358 0.338507 0 -3.37662 1.18696 0 0 0 -0.24283 0 -1.0227 2.39381 0 0.00636353 -0.32361 2.20922 0 0.0161099 0.121586 -0.579027 1.70999 0 0 0 -0.314413 -0.0179613 0 0 0 -0.000261571 0.0797669 0 0.000380121 0 0.00176325 -0.00831301 0 0 0 0 -0.0221699 0 -0.00221034 0 -0.0863912 0 -0.0791108 0.17609 0 -0.00154569 0 0 -0.17514 0.00228631 0.00849033 0 0.00448355 0 0.00558549 0.0365986 -0.0198935 0.0326292 0.000955789 0 0.000123359 0 0 0 0.000316641 0 0 -4.65772e-05 0.00397601 0.00865452 -0.0161101 0 0 -0.00642854 0 -0.0135528 0 0 0.0225176 0.000861817 0.0181107 0.00732669 0 0 -0.0422611 -0.026728 -0.0304503 -0.0231219 -0.181175 0 0.0293448 0.0131145 0.040225 0 0 0 0.14578 0 -0.0175705 0.10254 0 0.0015391 -0.00475278 -0.00120445 0 -0.00185277 0.008922 -0.016406 0.0476959 0 -0.507853 -0.314413 0.357037 -0.0179613 0.1771 0.0328587 -0.160999 0.414581 -0.380316 0.00839207 0.0768755 -0.324873 0.000392878 -0.0120377 -0.0084956 -0.012541 0.0517578 0.171495 1.52902 0.141289 0.371495 -0.0395102 -0.32381 0.226804 0.548994 0.0480427 -0.361845 0.00669798 6.92624 0.0472722 0.339163 1.63019 -0.000428079 0.580838 0.776772 -0.0177348 -0.00244746 -0.0275073 0.00585175 0.210288 -0.00373776 0.0129235 3.47376 2.99431 0.00682824 0.000614927 0.469545 0.0262408 0.35143 -0.292835 0.739722 -0.593027 -0.110146 -0.940746 0.0199165 0.343079 -0.0106957 0.283272 0.0327731 -0.0824507 -0.252289 0.16975 -0.0228133 -0.0356599 -5.48196 0.151133 -0.923664 0.241433 -0.176574 0.076966 0.036115 -0.0221157 -0.0247089 0.198053 -0.0721297 0.0133705 -0.824517 0.412553 -3.26741 -0.226567 -0.470256 -0.242282 0.0262799 0.000269113 -0.365149 0.132208 -0.0183155 0.023237 -0.218446 0.00267191 0.100598 0 +389 0 1.03088 0.366746 -5.47668e-05 -0.0126231 0.372427 0.216298 -0.816297 -1.99783 0.000281659 0.0316346 -0.0193566 0.813813 -1.4952e-08 0.240896 0.000308618 1.16287 2.85986 -0.0361816 0.000257863 -0.340499 -0.00616851 -0.426488 9.94914e-08 0.00167803 -0.462129 0.603454 -0.00381362 -0.624119 -1.5512 0.33069 6.26532e-06 0.0271337 -0.921865 -0.00830223 -0.270532 -0.000235383 -0.00961131 -4.19772 -0.031958 0.316591 1.03286e-06 0.05378 -0.000411876 1.60815 0.000363094 0.636628 -1.06213 0.0260038 0.000465847 -0.542869 0.0165201 1.1761 -0.000449564 0.000471694 0.0153088 1.32777 0.15466 -0.00771936 -0.0147659 -9.93511e-07 0.802049 -0.756408 -0.198558 -0.0905092 -0.00663124 0.427709 -0.0105167 0.0319776 -8.02333e-06 -0.334551 0.204118 0.0376862 0.0342715 -0.481187 0.576125 0.0274769 14.3825 -0.597178 7.81868 -0.00986213 -0.201255 7.60256 -0.0983065 0.136962 -0.242792 5.54858 -3.63593e-07 8.88073e-06 0.000159268 0.0847597 5.27526 0 0 0 0 0 -5.47668e-05 -0.0126231 2.4304e-05 0 0 0 0 -6.91799e-07 0 0.000706915 0 0 -0.000127185 -2.27798e-05 4.54842e-05 0 7.02504e-06 0.000163379 0.00400861 0 0 -0.00989626 -1.46998e-06 0 -4.26813e-05 0.0190629 0 0 -0.00150063 0.00852917 0 -0.00445234 0 -6.03094e-05 0 0 -1.27957e-05 0 0 -0.000206548 4.13928e-07 -0.00199771 0 0.00142994 0.00201116 0 0 0.00574432 0 0.000117378 0.0340885 0.000701999 0 0 0.000193188 4.52885e-05 0 -0.00102843 -0.010154 0.000205811 -0.0556647 0.00386103 0.000508145 0 0.000475698 0.000702982 -0.0266586 0.000134354 0.00806212 0 0 0 0.150641 0.015108 -0.000799411 -0.000928532 0.00281884 -0.000703686 0.000129714 -8.41306e-05 0.000220428 -0.000460788 0 0 0 0 0 0 0.372427 0 0.216298 0 0 0 0 -0.0769858 0.624833 0 0 0.239884 0 0.0125439 0 0.0132846 0 0 -0.979579 0 -0.94131 -0.108168 0.119434 -0.111144 0 0 0.234699 0 -1.70632 0 -3.33556 -0.476793 0 -0.642609 -1.20855 0.0036622 0 -0.0175966 0 0 0.0532114 0 -1.49402 -1.12633 0 0 -0.131115 0 0 -0.376835 1.43103 0.200745 0 -0.611367 0 0.383947 0.0639895 -0.0713777 -0.326214 0.0846741 0.855074 0.0211205 0.0224639 0.0511626 0.891542 0.0820912 0 0 0 0.0824584 -0.0808828 0 0 0 0 -0.0442313 20.8547 -1.27068 6.59142 0.26671 -0.361312 1.9176 -0.0355336 0.0263981 -0.0916645 0.465838 0 0 0 0 0 0 +390 0 -1.15928 -0.398829 -0.000400097 -0.0205301 -0.303412 -0.161994 -0.229411 -0.120258 -0.00149231 0.399485 0.0176459 -0.182139 2.37261e-07 0.0908012 -0.000182284 -0.981401 -3.56976 0.0537508 -2.51475e-05 -0.37941 0.00981824 0.256932 -2.90406e-07 0.0644998 0.119347 -0.283677 0.0160197 0.235342 -0.15045 0.0130632 -2.15373e-05 -0.0102872 0.833342 0.0968693 0.033661 0.00030028 0.1504 3.46699 0.0345943 -0.423235 1.82083e-05 0.750172 0.000624499 -0.528785 0.00125875 -0.339923 0.203232 -0.000897092 -0.000843073 1.61555 0.238682 8.45324 2.28776e-05 4.31969e-05 -0.0168312 1.03359 0.0823795 0.0167088 -0.180742 -1.86602e-05 0.444727 0.287238 0.0404889 -0.143493 -0.609413 -0.121265 0.38038 0.339569 1.67707e-05 -0.380479 0.264754 -0.0203875 -0.193524 0.496988 -0.161725 -0.0811613 -9.16219 -0.785573 -3.49232 -0.197963 0.15294 -4.44204 -0.434943 0.602003 -1.09466 0.890332 -1.26048e-06 -4.20049e-05 -0.00206503 -0.0558731 0.511643 0 0 0 0 0 -0.000400097 -0.0205301 0.000420339 0 0 0 0 7.43646e-06 0 -0.000223728 0 0 7.84496e-05 2.3617e-05 -6.81324e-05 0 -5.70599e-06 -2.38573e-05 -0.00338934 0 0 -0.015295 1.59362e-06 0 -0.000194682 0.00844121 0 0 -0.00105579 -0.00202733 0 -0.00485122 0 -0.000258614 0 0 -1.74562e-05 0 0 -0.029668 0.000103522 0.00123552 0 0.00574986 -0.00340928 0 0 -0.00702958 0 0.000905472 -0.00952596 -0.00122883 0 0 -0.000184774 -0.000698927 0 0.0021147 0.00219326 -9.42818e-05 0.0157117 -0.00238734 -0.00149032 0 0.00102565 0.000908357 0.008835 0.00192685 -0.00129122 0 0 0 -0.0354065 -0.0114457 0.00315763 0.00304373 -0.00447911 0.00406874 -9.51096e-05 6.41182e-05 -0.000130354 0.000407359 0 0 0 0 0 0 -0.303412 0 -0.161994 0 0 0 0 0.0432622 0.490054 0 0 0.221419 0 0.0350844 0 0.0130373 0 0 -0.102762 0 0.47613 -0.00880227 0.0278148 0.00262971 0 0 0.0711207 0 -7.91078 0 4.08505 -0.902744 0 0.300127 1.0255 0.0083645 0 -0.00259116 0 0 0.0719706 0 -2.51565 -1.00632 0 0 -0.0902857 0 0 -0.147945 0.402926 0.272569 0 0.533295 0 -0.372307 0.127272 -0.140386 -0.624008 -0.105541 0.448515 0.583601 0.128261 -0.239191 0.380212 0.187294 0 0 0 0.0974872 -0.138 0 0 0 0 -0.126012 -21.3569 -2.67969 -0.746717 -0.889296 0.641248 -1.5957 -0.172052 0.113217 -0.114423 -0.107862 0 0 0 0 0 0 +391 0 -1.04144 0.0588943 -0.00130095 -0.0954568 -0.0927468 -0.210362 0.921716 2.3055 -0.00414757 -0.536995 0.0364294 -0.369082 6.74283e-07 -0.562341 -6.25509e-05 1.57559 5.21357 -0.122589 0.00062132 -0.293329 -0.0213836 -0.0228722 -6.58414e-07 -0.151867 0.601312 0.415396 -0.00732033 0.341381 0.108625 -0.257874 -5.26746e-05 0.00777075 0.218821 0.00211979 0.266367 0.000609071 0.0219652 2.10318 0.0738133 -0.246749 5.83188e-05 0.304686 0.00129279 -1.45516 0.00491579 -0.308741 0.412616 0.0604797 -0.00207908 0.785898 -0.270055 -6.37236 -0.00120951 0.00135285 -0.000708944 -0.614067 -0.0230308 0.0172987 0.205945 -6.29001e-05 0.314489 -0.686281 2.31137 1.09956 0.0169038 -0.283201 0.619006 0.0667652 3.74984e-05 0.14472 0.0872333 -0.00795712 -0.0383412 0.272624 -0.159568 -0.19379 -6.66954 1.13368 -5.6233 1.06105 -1.26956 -0.742458 0.806579 -0.956182 1.2372 -3.61617 -4.92255e-06 -0.000133355 -0.0084131 -0.127641 -0.369409 0 0 0 0 0 -0.00130095 -0.0954568 0.00136777 0 0 0 0 1.89067e-05 0 -0.0012075 0 0 0.000293339 5.89529e-05 -0.000164846 0 -1.46959e-05 0.000211501 -0.011639 0 0 -0.044682 4.306e-06 0 -0.000718052 0.0670073 0 0 -0.00328362 0.010935 0 -0.0256497 0 -0.000650254 0 0 -4.56208e-05 0 0 -0.108758 0.000282327 0.00392846 0 0.0207967 -0.00166865 0 0 -0.0265522 0 0.00245499 0.0352085 -0.00124763 0 0 -0.000405403 -0.00254036 0 0.00489559 -0.00659132 0.000231366 -0.114867 0.00140856 -0.00505874 0 0.00362763 0.00226771 -0.0275509 -0.000677327 0.00938483 0 0 0 0.39921 0.00505566 0.0328879 0.00870623 -0.00733075 0.0120983 -0.000346179 0.000503934 -0.000538549 0.00151309 0 0 0 0 0 0 -0.0927468 0 -0.210362 0 0 0 0 0.0208906 0.777007 0 0 0.195264 0 -0.00342013 0 0.014222 0 0 -0.715323 0 -0.396098 0.0813286 0.00727483 -0.0802375 0 0 0.277966 0 -2.40511 0 1.01938 -0.377053 0 0.402126 -0.657419 -0.00615676 0 0.017134 0 0 0.0586144 0 -0.788911 -1.83653 0 0 -0.209071 0 0 -0.834169 0.278153 -0.101761 0 -1.10364 0 -0.903375 0.244685 -0.0967762 0.0754676 -0.108367 0.62228 0.691586 0.0838483 0.44108 1.96775 0.155095 0 0 0 0.267562 -0.0260579 0 0 0 0 -0.0814612 -18.5886 -1.52901 -3.02868 -0.586681 0.516667 -1.49634 0.0559272 -0.0525975 -0.0375907 -0.288037 0 0 0 0 0 0 +392 0 0.435763 -0.194955 -0.00012328 0.00768963 -0.107424 -0.136581 0.698094 -0.0110405 -0.0013247 0.341425 0.0270961 -0.605889 1.72613e-07 0.126752 -0.000119889 -1.43968 -2.95063 0.0904482 0.000133096 1.09721 0.0136157 0.261799 -2.38551e-07 0.0993508 0.0950617 -0.719296 0.00798535 0.597012 1.30451 -0.219896 -1.79806e-05 -0.000305693 -0.240737 0.0304892 0.28704 0.000320162 0.09737 -3.54254 0.0365838 0.0151173 1.20177e-05 0.255295 0.000484682 -0.617131 0.000793207 -0.390995 0.852877 0.0231994 -0.000768397 1.59245 0.190498 2.27379 -0.000211954 -0.000511076 -0.00852543 1.89699 -0.0408436 -0.00818287 -0.149063 -1.74888e-05 -2.69093 -0.257144 0.309331 1.51217 -0.0950473 -1.19207 -0.462134 0.0935403 2.18492e-05 -0.500342 0.0487683 -0.0272093 -0.105601 0.406054 -0.00540843 -0.331159 14.8825 -1.18588 4.74487 0.440013 -1.13623 2.70223 -0.14476 0.0686466 -0.483262 -0.140308 -1.02571e-06 -3.99622e-05 -0.00139571 -0.0522924 -1.81652 0 0 0 0 0 -0.00012328 0.00768963 0.00015538 0 0 0 0 3.27956e-06 0 0.000831048 0 0 1.63548e-05 7.85103e-06 1.30499e-06 0 4.42449e-07 3.23039e-05 0.00602351 0 0 -0.00676777 5.51079e-07 0 -0.000135206 0.049719 0 0 -0.00153438 0.00688283 0 -0.00694313 0 -9.54722e-05 0 0 -8.28095e-06 0 0 -0.0186223 4.6753e-05 0.000232128 0 0.00221844 -0.000913879 0 0 -0.00782133 0 0.000340778 -0.0132698 -0.000373703 0 0 -4.23126e-05 -0.000263095 0 0.000673 -0.000874544 3.80343e-06 -0.0375021 -0.000585994 0.00215 0 0.000332147 -0.000313304 -0.00489205 0.000615318 0.00218423 0 0 0 0.0306499 -0.00146477 -0.00327789 0.00116061 -0.00134738 0.00377781 -2.25696e-05 2.54118e-05 -2.77173e-05 -0.00284493 0 0 0 0 0 0 -0.107424 0 -0.136581 0 0 0 0 -0.183859 -0.538936 0 0 -0.311403 0 -0.025905 0 -0.0119814 0 0 0.517313 0 0.434593 -0.0851843 -0.115526 0.0363967 0 0 -0.230973 0 1.00095 0 -4.4497 0.11641 0 -0.480463 -0.714818 -0.00500514 0 -0.0299802 0 0 -0.0321998 0 0.77258 0.798653 0 0 0.0536137 0 0 0.525419 2.82938 0.326653 0 -0.345692 0 1.17339 -0.0962945 0.0402637 -0.273392 0.0659227 0.426448 -0.165226 -0.0643948 0.485973 -0.668006 -0.0869426 0 0 0 -0.148584 0.0283136 0 0 0 0 0.075268 35.6522 1.09883 7.37825 0.456481 -0.441518 2.73775 0.125928 -0.101499 0.102757 0.329644 0 0 0 0 0 0 +393 0 -1.00405 -0.281106 -0.000564715 -0.0300412 -0.197126 -0.0453378 -0.836388 -0.916037 -0.00194087 0.330202 0.00359255 -0.153758 4.53953e-07 -1.61774 5.23702e-05 -0.502335 -1.82327 0.0292255 0.000555989 1.59208 0.00202816 0.0368287 -5.81218e-07 0.0179658 -0.169656 -0.0781386 0.00414384 -0.0428382 -0.688971 -0.18265 -3.5006e-05 0.00247478 0.515297 0.0412648 -0.190015 0.000183327 0.0541715 3.56099 0.011159 0.732273 2.77631e-05 0.406307 0.000417683 -2.02377 0.00156209 0.351983 -0.221959 0.0228748 -0.000605618 -0.838226 0.203501 -0.976489 -0.000474223 0.000729136 0.00262809 -1.9959 0.22383 0.0332757 -0.0757262 -2.73802e-05 0.277945 -3.00675 -1.93526 -1.93094 -0.434184 -0.15352 0.231239 0.230035 2.85592e-05 -0.120624 0.240289 -0.000504841 -0.0897395 -0.748289 -0.29155 0.0815389 -9.2909 -0.387028 -2.52419 0.0324153 0.150884 -4.24938 -0.247436 0.488483 -0.913145 1.23648 -2.01997e-06 -3.9332e-05 -0.000642136 0.00639601 0.959389 0 0 0 0 0 -0.000564715 -0.0300412 0.000407683 0 0 0 0 9.4192e-06 0 -0.000807344 0 0 5.24708e-06 1.77025e-05 -7.60075e-05 0 -1.77843e-05 -0.000246511 -0.0040291 0 0 -0.00430963 1.2428e-06 0 -0.000258463 -0.00793919 0 0 0.00109713 -0.00886826 0 -0.00656327 0 -5.38736e-05 0 0 2.03797e-05 0 0 -0.0528971 0.000134334 7.2564e-05 0 0.00583851 -0.00411663 0 0 -0.0079132 0 0.00101723 -0.00300555 -0.00120534 0 0 -0.000112141 -0.000612655 0 0.00250634 -0.00528079 0.000137679 0.0199318 -0.00238511 -0.0036094 0 0.00303728 0.00175298 0.000527344 0.00241212 0.000681545 0 0 0 0.0807495 -0.0051873 0.0104318 0.00462636 -0.0053935 0.00589391 -2.97856e-05 2.78894e-05 -3.40138e-07 0.00120913 0 0 0 0 0 0 -0.197126 0 -0.0453378 0 0 0 0 0.0850888 0.427152 0 0 0.299572 0 0.035625 0 0.0133871 0 0 -0.580136 0 0.130958 -0.00833405 0.0906287 -0.101157 0 0 0.141377 0 -2.97064 0 5.71367 -0.366113 0 0.308023 1.31999 0.00841374 0 -0.00406713 0 0 0.0548238 0 -1.07475 -1.18161 0 0 -0.200347 0 0 -0.367764 -2.69229 0.238088 0 -1.22295 0 -0.879087 0.128634 -0.172802 -0.549139 -0.0726638 0.404177 0.289057 0.0771886 0.0940755 -3.93124 0.168271 0 0 0 0.113337 -0.103081 0 0 0 0 -0.084552 -26.3733 -2.67774 -1.08037 -0.925635 0.760247 -2.35005 -0.183795 0.136342 -0.156638 -0.0421412 0 0 0 0 0 0 +394 0 -1.01838 -0.143099 -0.00150383 -0.0831842 -0.185889 -0.20231 -0.0191326 0.480255 -0.00694655 -0.277569 0.0413815 -0.639561 1.28073e-06 -1.66119 8.75392e-07 -1.19754 -4.99669 -0.0447321 0.00158312 -3.20992 -0.00652972 -0.0643242 -1.63518e-06 -0.0958898 0.328643 -0.274379 0.00277024 0.309344 -0.981453 -0.363896 -0.000108151 0.00782404 0.0567406 0.0838992 0.136766 0.000730129 0.0613068 1.33538 0.0715874 -1.4679 8.67229e-05 0.528586 0.00138207 -3.56732 0.00570475 -0.7352 0.00880269 0.102591 -0.00252627 -1.66943 -0.030614 3.28908 -0.00153359 0.00155107 -0.000479603 1.00049 -0.111515 0.0545401 0.083413 -0.000101985 0.12339 1.40279 -0.95237 -1.59429 -0.0743177 -0.256252 0.558183 0.101425 0.000105874 0.239475 0.0498572 -0.0217903 -0.170743 1.76826 -0.716484 -0.482729 -6.34402 0.909889 -2.28769 0.778435 -0.211046 -0.908477 0.650492 -0.64908 0.615094 -1.01055 -7.37694e-06 -0.000163577 -0.00333735 -0.0296636 1.36667 0 0 0 0 0 -0.00150383 -0.0831842 0.00156581 0 0 0 0 2.49999e-05 0 -0.00382757 0 0 0.000492652 0.000108509 -0.000262217 0 -5.76947e-05 -0.000498044 -0.01722 0 0 0.00322788 7.60909e-06 0 -0.000700963 0.074453 0 0 0.00349733 -0.00655173 0 -0.0146591 0 5.15452e-05 0 0 7.43331e-05 0 0 -0.119497 0.000355843 0.00704093 0 0.0221819 -0.00402318 0 0 -0.0374526 0 0.00236124 -0.00958113 -0.00209662 0 0 -0.000520343 -0.00308922 0 0.00731158 -0.00220911 -0.000744024 -0.0662815 -0.00427297 -0.00645854 0 0.00697385 0.000780381 -0.00654601 -0.00187991 8.84073e-05 0 0 0 0.206694 -0.0190356 0.0352827 0.0117167 -0.0131368 0.0145708 -0.000512781 0.000620038 -0.000903639 0.00170782 0 0 0 0 0 0 -0.185889 0 -0.20231 0 0 0 0 0.148198 0.524114 0 0 0.156561 0 -0.00481871 0 0.00908092 0 0 -0.766552 0 -0.108996 0.0982314 0.0483378 -0.0725233 0 0 0.231952 0 -8.2909 0 2.92113 -1.09727 0 0.679752 0.286899 -0.000981147 0 0.0163505 0 0 0.0258287 0 -2.88451 -1.77576 0 0 -0.169618 0 0 -0.486078 -1.34611 -0.172566 0 0.720827 0 -1.32936 0.160814 -0.0721712 0.367373 -0.229106 -0.0634592 0.520599 0.117472 -0.147835 5.49432 0.158304 0 0 0 0.193475 -0.0200997 0 0 0 0 -0.0717347 -23.6791 -0.771564 -4.82104 -0.628017 0.51852 -1.71666 0.0557702 -0.0600169 -0.0405442 -0.333515 0 0 0 0 0 0 +395 0 0 0 0 0 -0.206969 0.138937 -0.502735 -0.96387 0 0 0.190686 0.973854 0 1.22732 0.035152 0 0 0 0.109323 3.64768 0 0 0 0 -0.239459 0 0 -0.278306 -3.82105 0.336074 0 0.241847 0 0 -0.0879463 0.0127807 0 0 0.817269 0.256681 0 0 0.15628 4.77613 0 -0.0666899 -1.10358 0.414551 -0.239789 0.99416 -0.340594 0 -0.149531 0.230963 -0.34508 -0.151509 -0.147591 -0.128798 0 0 -0.164433 2.93725 0 -0.54497 -0.288299 -0.162632 0 0 0 0 0.256452 0.354416 0 -0.0956857 1.4465 0 0 0 1.04452 0 -1.29509 4.47858 0 -0.337738 -1.04067 5.31546 0 -0.41962 -0.753433 0.0662634 6.85696 0 0 0 -0.209097 -0.020967 0 0 0 0.0577037 0.00514182 0 0.00721379 0 4.5702e-05 -0.00946209 0 0 0 0 -0.08845 0 -0.00910756 0 -0.0813314 0 0.437194 0.326393 0 0.00348991 0 0 0.260547 0.000261728 0.0320971 0 7.90896e-05 0 0.000198369 0.0607033 0.0307974 0.00406784 0.00605969 0 2.89394e-06 0 0 0 3.35668e-06 0 0 -0.000397272 -0.000318108 0.0441112 0.00136026 0 0 9.11161e-05 0 -0.000853807 0 0 1.97167e-05 0.00126217 0.191154 0.00224893 0 0 -0.0248713 0.0618904 0.00187871 0.20344 0.228399 0 -0.128055 0.000198261 0.17542 0 0 0 0.0738957 0 -0.00401141 -0.247648 0 0.000205712 -0.000503671 0.00121434 0 -0.000248114 0.000210154 -0.000800353 -0.216558 0 -0.206969 -0.209097 0.138937 -0.020967 0.503763 0.135864 -0.146173 0.0985813 -0.384482 0.0101163 0.00714261 -0.188398 0.000727123 -0.0230455 -0.0121883 -0.00306476 0.000275877 0.131935 -0.262531 0.82422 0.114321 -0.0180553 -0.124809 -0.000731524 0.0201345 -0.122621 0.0151456 -0.00308796 0.241781 0.0969145 -0.443921 0.680764 -0.00092047 -0.389496 0.0740027 -0.0125023 0.000469252 0.033289 0.0165361 -0.994354 -0.0381286 -0.011012 1.04026 0.731515 0.000359872 0.00668236 0.159848 0.0569386 -0.0535241 -0.951504 -2.32351 -0.192849 -0.00351447 -4.64502 0.0199572 -0.702524 -0.0792785 -0.13045 0.22636 -0.380993 -1.63547 -0.00473846 0.0880084 0.0254772 -12.4508 0.0793314 -0.00388385 0.0858503 0.101133 -0.146678 0.0490062 0.0260955 -0.0207039 0.0335031 -0.110664 0.0628377 3.95847 0.748009 0.26607 -0.564695 -0.0928531 2.4863 0.0373242 -0.0682229 -0.454532 1.46299 -0.013992 -0.0205516 -0.119125 -0.0678504 1.29465 0 +396 0 0 0 0 0 -0.102809 -0.178262 1.11301 2.6775 0 0 -0.125795 -0.663817 0 -1.99147 0.00482634 0 0 0 -0.00366031 -4.13782 0 0 0 0 0.542363 0 0 0.347348 5.97667 -0.444224 0 0.0170485 0 0 0.205816 -0.00461531 0 0 -0.367765 -1.07223 0 0 -0.00619684 -4.16025 0 -0.414405 1.81309 -0.133844 0.0187306 0.677573 0.209665 0 -0.0427482 -0.140423 0.394616 -1.79324 -0.252459 -0.0500321 0 0 1.31058 0.265076 0 1.216 -0.206152 0.470514 0 0 0 0 0.204831 0.177559 0 0.867552 -1.55371 0 0 0 -3.94574 0 0.560626 -8.69637 0 0.0962347 -0.586537 -5.22433 0 0.12233 -1.10351 2.75284 -15.7673 0 0 0 0.0235389 0.00177376 0 0 0 -0.0100551 -0.00153992 0 -0.00100186 0 -7.62842e-07 0.00367411 0 0 0 0 0.0134219 0 0.00101631 0 0.0589449 0 -0.10317 -0.117807 0 4.39336e-05 0 0 0.0121782 -1.97808e-05 -0.0076444 0 -1.53708e-05 0 -9.59066e-05 -0.0121751 0.00114027 -0.000334159 -0.000812032 0 -3.45715e-08 0 0 0 -9.1906e-07 0 0 2.53536e-05 -0.000116392 0.0201446 0.000422988 0 0 0.000115756 0 0.000190997 0 0 -3.31164e-05 -4.97975e-05 -0.0943459 -0.000130415 0 0 -0.00876596 -0.0267689 -0.000238547 -0.0401737 -0.0714869 0 0.0161005 -2.84494e-05 -0.0795019 0 0 0 -0.0489261 0 0.00101041 -0.00853148 0 8.33496e-05 0.000379663 -0.0268263 0 6.14811e-06 -7.39987e-06 0.000116541 -0.0114045 0 -0.102809 0.0235389 -0.178262 0.00177376 -0.310145 -0.156491 0.0123466 -0.332943 0.418933 -0.000773847 -0.0325729 0.236666 -5.87127e-05 0.0148568 0.00101056 0.0161349 -0.0232022 -0.00932445 0.394567 0.28146 -0.483588 0.228799 0.176768 0.0324381 -0.23007 0.379929 0.272563 0.0108551 3.08218 -0.187081 -1.59537 0.243882 7.59627e-05 0.296346 -0.946818 0.010641 -0.00258919 0.00301936 -0.0263611 1.94627 0.0256683 0.0682269 1.1917 1.16208 -0.00339293 -0.017052 0.204159 0.0662053 -0.167405 0.494577 2.9749 1.51044 0.0284389 3.02194 -0.0016254 1.5781 0.046371 -0.375301 0.223572 -0.0916117 1.37485 -0.246849 0.1249 0.351066 12.3775 0.163292 0.427511 -0.0731699 -0.259227 0.0337798 -0.0292386 0.0786462 0.00148857 -0.160771 0.103861 -0.0413267 14.2261 -1.38571 2.35947 0.12617 0.654559 -6.54984 -0.0144814 0.223557 -0.618035 -1.44059 0.000988883 0.0940454 -0.322462 0.668691 -2.86103 0 +397 0 0 0 0 0 -0.389912 -0.555887 0.574155 2.36299 0 0 -0.289972 -1.70821 0 -3.35029 -0.0127614 0 0 0 0.112484 -6.87111 0 0 0 0 0.516601 0 0 0.805633 4.95195 -0.861207 0 0.0175532 0 0 0.348999 -0.0378089 0 0 -0.846174 -2.55868 0 0 -0.234414 -6.9519 0 -1.24703 1.56647 0.665653 0.31254 -1.36167 0.0590486 0 -0.150549 -0.106157 0.237775 4.62277 -0.102403 -0.364743 0 0 0.554175 4.87928 0 0.957958 0.646136 0.433125 0 0 0 0 -0.00586437 -0.583081 0 5.12668 -0.784562 0 0 0 -3.55488 0 0.666793 -6.08201 0 0.434854 -1.43327 -2.3147 0 0.873054 -2.50985 5.14313 -16.4262 0 0 0 -0.0322727 0.00455319 0 0 0 -0.0198791 0.0205666 0 -0.00181603 0 -1.80868e-05 0.0029076 0 0 0 0 0.00379149 0 0.00175386 0 0.0296813 0 -0.195381 0.10679 0 -0.00044953 0 0 -0.0172241 -0.000222366 0.00168017 0 0.000259234 0 0.00113917 0.0333324 -0.000109214 -0.00245641 0.00150932 0 -1.89516e-06 0 0 0 1.40882e-05 0 0 0.00118767 0.000609755 0.0191506 -0.00336839 0 0 -0.000336939 0 -0.00295449 0 0 0.00209118 -0.00171852 -0.081727 -0.000601698 0 0 -0.00803298 -0.0240762 0.00448635 -0.0248338 -0.0969364 0 -0.000801563 -0.00183973 -0.0478395 0 0 0 -0.0393776 0 0.000184189 0.0124084 0 -0.00068264 4.99299e-05 -0.00696113 0 0.000451274 -0.00057513 0.000839242 0.0224615 0 -0.389912 -0.0322727 -0.555887 0.00455319 -0.377425 -0.128632 0.0494678 0.211547 -0.0575194 -0.00290361 0.0627307 0.0910335 -0.000197016 0.00102346 0.0037132 -0.009996 0.0408001 -0.0389589 -1.15543 -2.09716 -0.308081 0.27975 0.0502259 -0.157524 0.52027 0.287137 -0.18542 -0.0363429 -6.07726 -0.230572 -1.6264 -1.97728 0.000257545 1.29925 -0.717833 0.000652292 -0.0132871 0.0984963 -0.0891604 1.62357 -0.00191676 0.0445994 -4.22162 -2.30188 0.00337439 -0.04728 -0.345905 -0.276378 0.19052 1.2949 5.20248 0.556819 -0.143222 4.55663 -0.00793624 4.00264 0.00472428 0.40763 -0.409092 0.431185 0.3266 -0.547085 0.0086532 -0.155555 21.8215 -0.131694 -0.298455 -0.101313 -0.282121 -0.370728 0.00376137 0.0139169 0.00715006 0.0886324 0.20757 0.00857172 14.5027 -0.742832 -2.83935 0.259941 0.22485 -3.67057 -0.0128986 0.322965 -0.746681 -1.04008 0.00413169 0.320072 -0.793582 1.04687 -2.47773 0 +398 0 -0.409091 0.49951 -0.0265395 -0.250865 0.326582 0.23311 0.185582 -0.530555 -0.125737 0.606038 -0.147242 0.738132 0.00104024 0.189845 0.00558225 4.00916 13.3403 0.0485994 0.0141173 1.07198 -0.00385952 -0.328618 -0.00115176 0.0786258 -0.180055 1.2399 0.0229462 -0.229152 0.638769 0.166694 -0.0125187 -0.0196419 -0.500297 0.0278959 -0.0613897 -0.0129023 0.104844 -0.469679 -0.367751 0.913703 0.0128273 0.113738 -0.0351155 1.7729 0.150595 0.75047 0.0615642 -0.00279337 0.065282 0.0187918 0.11132 -8.10712 -0.0278313 -0.00698505 -0.0134095 -0.714436 0.0941808 -0.015375 -0.0626749 -0.0186633 -0.893777 -0.439352 -0.0108704 0.849487 -0.357137 0.457533 -0.237824 0.281723 0.00798588 -0.211414 -0.264578 -0.165467 -0.211973 1.10568 0.283322 -0.106539 0.664158 -2.57218 2.84027 -1.06638 0.785045 -0.244771 -0.258142 0.0218447 -0.248106 -0.0732743 -0.0234055 0.0693416 -0.203041 0.54751 -1.30135 0 0 0 0 0 -0.0265395 -0.250865 0.000887263 0 0 0 0 5.21642e-05 0 0.023469 0 0 0.000547564 0.000197889 0.0178699 0 0.00261524 0.0244172 0.158369 0 0 0.167565 1.09243e-05 0 -0.0219613 0.838902 0 0 0.0259767 0.150798 0 -0.102101 0 0.0219854 0 0 0.00324904 0 0 -0.066394 0.00105136 0.00904396 0 0.0187372 -0.0024894 0 0 -0.1299 0 -0.000292136 -0.13827 0.000375548 0 0 -0.000677016 -0.00275091 0 0.000541008 0.043003 0.00259346 0.38708 0.00194637 0.0330712 0 0.00172648 -0.0453257 0.0877927 0.0119654 0.141945 0 0 0 -0.0221421 -0.022763 -0.152753 -0.00147973 -7.67695e-05 0.0352676 -0.000520808 0.000542585 -0.00208314 -0.0641473 0 0 0 0 0 0 0.326582 0 0.23311 0 0 0 0 -0.537918 -0.163719 0 0 0.661965 0 0.0630593 0 -0.00289978 0 0 0.0981057 0 -1.18003 -0.169539 0.159949 0.00707869 0 0 -0.121553 0 0.994662 0 -2.60959 0.0934409 0 -1.3156 -1.85372 0.0140089 0 -0.0713357 0 0 -0.00120638 0 0.0171888 0.336177 0 0 0.0119451 0 0 0.147847 1.38281 0.467273 0 1.22375 0 1.00936 0.253681 -0.237342 -0.011202 0.0218155 -0.386729 -0.271674 0.0791939 0.41763 10.0198 -0.074878 0 0 0 -0.0179644 -0.0328035 0 0 0 0 0.032233 19.5768 -4.97924 11.0672 -0.796004 0.409125 1.55945 -0.262717 0.247205 -0.396748 0.887934 0 0 0 0 0 0 +399 0 -0.3779 -0.228949 0.00616345 0.0805893 -0.0949238 -0.0145801 0.0410366 0.733263 0.03079 -0.251581 0.147248 -0.382729 -0.000215113 -0.558595 0.00290564 -0.0186543 -4.21869 0.0156476 0.0042051 0.134799 -0.00307805 -0.156802 0.000236833 -0.02904 -0.081084 0.125991 0.00356435 -0.435372 -1.52674 -0.0968954 0.00269898 0.120709 0.292396 0.145162 -0.218778 0.00775258 -0.0637178 1.90119 0.223376 0.21629 -0.00253821 0.17308 0.0137294 -2.65501 -0.0296765 0.210047 -0.804425 0.175741 -0.0158951 -2.07869 0.0818861 -3.40954 0.035384 0.0262696 -0.070711 1.47003 0.121651 -0.129506 0.0616655 0.00279477 -0.550812 0.172651 1.17414 -0.339868 0.588418 -0.687523 -0.0833199 -0.251527 -0.000863839 0.593205 0.165971 0.0430316 0.0911152 0.365262 0.136996 -0.399276 -7.51836 -0.39074 -2.54705 -0.370132 -0.266394 0.507948 0.295063 -0.4061 0.639019 -1.2678 0.00461232 -0.0253915 0.148873 -0.640804 3.11039 0 0 0 0 0 0.00616345 0.0805893 -0.000450685 0 0 0 0 -1.79555e-05 0 -0.00454638 0 0 -0.000154719 -7.5928e-05 -0.00282214 0 -0.000397917 -0.00664539 -0.0290248 0 0 -0.09757 -4.46855e-06 0 0.00607181 -0.497484 0 0 -0.0133408 -0.0637943 0 0.0306421 0 -0.00833271 0 0 -0.00115505 0 0 0.111483 -0.000358108 -0.00261107 0 -0.00852986 -0.00192413 0 0 0.0353258 0 -0.000228174 0.0754393 0.000535544 0 0 0.000137071 0.00119746 0 -0.00115518 -0.0389705 0.00224919 -0.487338 -0.000618363 -0.0176833 0 -1.13564e-05 -0.00457901 -0.139325 -0.00670281 -0.0669 0 0 0 0.278368 0.0394653 0.075385 0.00267278 0.00256565 -0.058388 3.68516e-05 0.000318436 -0.00116435 0.00925112 0 0 0 0 0 0 -0.0949238 0 -0.0145801 0 0 0 0 0.468504 -0.150166 0 0 -0.418958 0 -0.0368979 0 -0.00716088 0 0 -0.734621 0 -0.149046 0.167161 -0.149517 -0.0918444 0 0 -0.0289347 0 -6.38946 0 1.18293 -0.330842 0 1.09456 0.248372 -0.0121333 0 0.0681652 0 0 -0.0216794 0 -1.63332 -1.93134 0 0 -0.256916 0 0 0.349972 1.16397 -0.576319 0 -0.399854 0 0.123518 -0.0974966 0.198958 0.124168 0.0436275 -0.440599 0.0494041 -0.131474 -0.276494 -1.94284 -0.0772594 0 0 0 -0.250645 0.108268 0 0 0 0 0.0933742 -4.95789 2.20276 -5.72324 0.0454336 -0.0646977 -0.337682 0.136648 -0.1746 0.345259 -0.806428 0 0 0 0 0 0 +400 0 -0.794587 -0.1544 0.00440279 -0.109567 0.0972266 0.134655 0.376573 0.96787 0.0814954 -0.725169 0.0781497 0.0687158 -0.00050007 0.155675 -0.0118201 0.360522 0.537022 -0.19114 -0.0156148 1.52087 -0.0413962 0.141423 0.000741664 -0.279329 0.0746662 0.159534 -0.0171471 -0.460964 -0.766158 0.173824 0.00842552 -0.171208 0.452533 0.0253403 -0.0861767 0.00760739 -0.0150174 2.16837 0.178131 1.03861 -0.00577518 0.641255 0.0199956 -1.13494 -0.0481686 0.571949 -0.515113 -0.211397 -0.0785652 -0.112902 -0.175813 -4.04527 0.0182843 -0.0262134 0.031107 -2.13028 -0.172845 0.140646 0.268701 0.0183706 -0.160157 -1.74794 1.502 -0.0200179 0.185481 -0.253616 0.0637612 -0.148126 -0.0234733 0.489169 -0.080583 0.252771 -0.0128817 -0.428171 0.136696 0.182473 -5.4921 1.09968 -3.12084 0.548244 -0.988224 0.600134 0.916285 -1.14174 1.65476 -2.29773 0.00748636 -0.026881 0.108604 -0.388838 1.56087 0 0 0 0 0 0.00440279 -0.109567 0.00248331 0 0 0 0 0.000115874 0 -0.000419159 0 0 0.00016357 0.000312809 -0.00753716 0 -0.000796352 -0.00837291 -0.0506608 0 0 -0.290384 1.41686e-05 0 0.00950947 -0.129964 0 0 -0.0387315 -0.0472552 0 0.0353603 0 -0.0201718 0 0 -0.00287687 0 0 0.203203 0.00229425 0.00594039 0 0.048103 -0.00916299 0 0 0.0756441 0 0.000554801 0.103166 -0.0014923 0 0 0.00104397 -0.00719187 0 -0.0017833 -0.0211467 -0.000512326 -0.747375 -0.00311179 -0.0143167 0 0.00118349 0.0229864 -0.218066 0.0236307 -0.0552099 0 0 0 -0.899158 -0.0574011 0.0170238 -0.0028613 -0.00331667 -0.0433158 0.000338035 -0.000641629 -0.00283815 0.0278166 0 0 0 0 0 0 0.0972266 0 0.134655 0 0 0 0 0.294992 0.711811 0 0 -0.256872 0 -0.047328 0 0.0108355 0 0 0.314505 0 0.107918 0.0572375 -0.24558 0.0374882 0 0 0.161664 0 5.72527 0 2.80508 1.23019 0 0.524632 0.552533 -0.0276722 0 0.025113 0 0 0.0628789 0 2.84369 -0.137368 0 0 -0.021326 0 0 -0.347007 -1.76238 -0.0569088 0 -1.16056 0 -1.27315 0.0529459 -0.0776874 0.175166 -0.142071 0.312931 0.64141 0.00422104 -0.450965 -10.6617 0.149564 0 0 0 0.165635 0.0155648 0 0 0 0 -0.206906 -23.8979 0.695189 -5.27717 -0.418663 0.581531 -2.17403 0.17518 -0.167944 0.193919 -0.412428 0 0 0 0 0 0 +401 0 0.713939 -0.0394151 0.000386315 -0.0576316 0.157569 -0.136752 -0.131715 -0.440663 0.00465292 -0.268624 0.026544 -0.676195 -1.70017e-05 -0.511192 -0.00257244 -1.17482 0.11401 -0.064879 -0.00549888 -0.777487 -0.00926832 0.277755 1.36337e-05 -0.0454575 0.201107 -0.533154 -0.0139554 0.495305 0.825494 -0.371127 0.000323372 -0.106373 -0.0946399 -0.0446533 0.204967 0.000972984 -0.00428387 -2.30815 -0.0083574 -0.842063 -0.000468534 -0.0576103 0.000258634 -0.012024 -0.0108683 -0.750867 0.534108 -0.188415 -0.00181544 0.0617981 -0.189516 2.41656 0.00957295 -0.00139283 -0.0203113 -0.624478 -0.0777442 0.032154 0.0841007 0.00101207 0.397669 0.368215 -0.677641 0.0163758 0.169626 0.467252 0.0524306 0.00666503 -0.000614119 -0.161379 -0.204482 0.0250518 0.00609525 0.0697368 -0.156954 0.208939 6.13885 -0.569769 3.95168 -0.167543 -0.0845016 2.66775 0.0601523 -0.273606 0.609019 0.287988 0.000116729 -0.000155047 -5.66304e-05 0.0185507 -0.664815 0 0 0 0 0 0.000386315 -0.0576316 -0.000369281 0 0 0 0 -2.93546e-05 0 0.00724873 0 0 0.000504991 0.000273004 0.00100731 0 0.000114982 0.00149951 0.0499518 0 0 0.116205 1.88933e-05 0 -0.000661096 0.24975 0 0 0.0157863 0.0339594 0 -0.0255726 0 0.00405662 0 0 0.000502305 0 0 0.00693795 -0.000402176 0.00774367 0 -0.00315861 0.00817346 0 0 -0.0414475 0 -0.00141978 -0.0498543 0.00209985 0 0 -0.000788086 0.000194946 0 -0.00179072 0.0394709 0.00122282 0.279551 0.00711702 0.018113 0 -0.00365462 -0.00878213 0.060731 0.0018746 0.0595895 0 0 0 -0.122761 -0.0110078 -0.0564684 -0.0068428 0.00628159 0.0254032 -0.000527766 0.000513001 -0.000915445 -0.0202983 0 0 0 0 0 0 0.157569 0 -0.136752 0 0 0 0 0.058406 0.409639 0 0 0.0496839 0 -0.00572969 0 0.00412288 0 0 0.159868 0 0.736383 -0.0531342 -0.0621127 0.00322033 0 0 0.0806375 0 3.38195 0 -0.837409 -0.519037 0 -0.323359 0.656229 -0.00819985 0 0.000173841 0 0 0.0307584 0 -0.317773 0.785046 0 0 0.0602092 0 0 0.0314282 -0.524758 0.0885225 0 0.0416367 0 -0.256234 -0.0266487 0.0271564 0.0753029 0.0413925 0.581767 0.11757 0.00512909 -0.524359 -6.02713 0.0288598 0 0 0 0.0926248 -0.0217151 0 0 0 0 -0.120411 -8.02844 -0.450451 -0.565941 0.191376 -0.0316044 -0.162794 0.0791999 -0.0708374 0.012392 0.176591 0 0 0 0 0 0 +402 0 -0.423442 -0.205751 0.000134275 0.0139073 -0.195681 -0.130158 0.294874 1.37677 -0.000321506 -0.265593 -0.0180842 0.549431 -5.49354e-07 1.95023 -0.00199018 0.052994 0.475871 -0.053942 -0.00280134 2.36667 -0.000861194 0.274175 4.88116e-07 -0.0148586 0.39979 -0.0275661 0.00139938 0.229515 -0.422997 0.401522 5.93841e-06 -0.0862809 0.622813 -0.05529 0.214945 -0.000693954 -0.0240934 2.66014 -0.0243955 0.88902 -3.30432e-05 -0.363597 -0.00102573 2.80184 -0.0019028 0.138753 0.00582824 -0.124839 0.00189169 -1.95038 0.0380432 -4.33359 0.00225516 -0.00133733 -0.00936992 -0.908337 0.000249336 0.059624 0.0200519 4.57873e-05 0.411392 -1.59532 -0.728926 -2.17826 0.474554 -0.483317 0.182271 -0.175786 3.86688e-05 0.223132 -0.0802651 -0.0381251 -0.00680176 -2.00966 -0.016489 -0.059527 -7.98584 0.747939 -4.45463 -0.262337 0.379154 -2.10743 0.137273 -0.22649 0.639573 -2.51583 2.04367e-05 9.60054e-05 0.00303778 0.0020423 0.340662 0 0 0 0 0 0.000134275 0.0139073 -0.000500693 0 0 0 0 -1.24038e-05 0 0.000649376 0 0 -0.000399752 -0.000133846 0.000179758 0 2.1618e-05 -0.000355347 0.00589972 0 0 0.00746042 -9.30267e-06 0 0.000181014 -0.0203814 0 0 0.000729547 -0.0072899 0 0.00293805 0 0.000255388 0 0 2.67459e-05 0 0 0.00550603 -0.000178106 -0.00594751 0 -0.00743363 0.000700778 0 0 0.00175603 0 -0.00104986 -0.0129054 0.000653976 0 0 0.00081581 0.000827484 0 -0.00224788 -0.00479179 -0.000864029 -0.00991997 -0.00170193 0.00104157 0 -0.000646961 -0.00231061 0.0021887 -0.000795511 -0.00487185 0 0 0 0.136592 0.0186849 0.00954306 -0.000286484 0.00207058 -0.00441067 0.000480376 -0.000453045 0.000686148 -0.00135421 0 0 0 0 0 0 -0.195681 0 -0.130158 0 0 0 0 0.686197 -0.657021 0 0 -0.308119 0 -0.0239605 0 -0.0172575 0 0 0.537806 0 0.846954 0.230584 -0.113724 0.0848315 0 0 -0.28182 0 4.72398 0 4.34367 0.464092 0 1.59092 1.83578 -0.00757228 0 0.0965186 0 0 -0.0472328 0 1.4558 1.12279 0 0 0.159417 0 0 -0.216128 -2.22308 -1.09611 0 -2.38838 0 -1.26581 -0.174478 0.330045 -0.0575367 0.00735397 -0.0928408 0.178355 -0.102116 -0.291579 -11.159 -0.01418 0 0 0 -0.119496 0.0579531 0 0 0 0 0.0331591 -31.8592 2.25221 -11.3892 -0.0799396 0.365627 -2.49594 0.10465 -0.144268 0.284474 -1.11272 0 0 0 0 0 0 +403 0 -0.538312 -0.329146 -0.00548801 -0.145442 0.0625674 0.129067 0.350701 0.946747 -0.0340772 -0.654875 -0.0944315 0.512542 3.28255e-05 1.57098 -0.00376869 -0.425505 0.135873 -0.253751 -0.00178126 2.88326 -0.0378907 0.132358 -4.43297e-05 -0.180067 0.0667811 -0.275985 -0.0127386 -0.279673 0.0704116 0.261601 -0.00128944 -0.074312 0.250707 -0.157149 -0.117473 -0.00335214 0.0450088 1.56185 -0.121714 1.60574 0.000985406 0.0497799 -0.00353928 2.50912 0.0299381 0.789863 -0.0492502 -0.0206635 0.00607878 -0.0241976 -0.181665 -2.52091 0.00267692 -0.000730562 0.0296843 -3.38629 -0.291617 -0.0453205 0.166144 -0.0015354 1.11619 -2.29179 1.39809 -0.619821 0.212605 0.00864193 0.755256 -0.160043 0.00167694 0.102751 0.112582 -0.0141891 -0.0624717 -2.81678 0.0967042 -0.520025 -5.62064 1.60826 -4.72599 0.905057 -1.07378 -0.222501 0.856593 -0.98074 1.4233 -2.28173 -0.000321546 0.00120435 -0.0124335 0.0503065 -0.0567062 0 0 0 0 0 -0.00548801 -0.145442 0.00213318 0 0 0 0 7.76291e-05 0 0.00361331 0 0 -0.000911609 -0.000668416 -4.92678e-05 0 0.000133432 0.000242263 -0.00452846 0 0 -0.195541 -4.72696e-05 0 -0.00175886 0.0196065 0 0 -0.0229681 -0.00168849 0 -0.0159936 0 -0.00701081 0 0 -0.000799685 0 0 -0.0230075 0.00112761 -0.0122026 0 0.0332003 -0.0136786 0 0 0.0246943 0 0.00348766 0.0278611 -0.00479987 0 0 0.00218018 -0.0042476 0 0.00102124 -0.0320933 -0.00495543 -0.196002 -0.00960958 -0.00142652 0 0.00379566 0.00881188 -0.0380216 0.00849549 -0.0104964 0 0 0 -0.18201 -0.017487 -0.00370533 0.00702986 -0.0105379 -0.00541715 0.00130126 -0.00164466 0.00155056 0.00495987 0 0 0 0 0 0 0.0625674 0 0.129067 0 0 0 0 0.108087 0.531685 0 0 0.00981078 0 -0.024052 0 0.0162714 0 0 0.315798 0 0.366716 0.0546169 -0.0211344 0.0371925 0 0 0.218321 0 3.31034 0 3.3388 0.981556 0 0.375489 0.869998 -0.0120181 0 0.0171294 0 0 0.0464132 0 2.11124 0.188079 0 0 0.0334052 0 0 -0.359237 -0.595936 -0.156863 0 -1.3329 0 -1.18183 -0.0728397 0.0114015 0.293515 -0.202955 0.23931 0.508438 0.153099 -0.527955 -10.6934 0.170893 0 0 0 0.0949829 -0.0357319 0 0 0 0 -0.11425 -29.2532 -0.0999146 -5.70373 -0.073349 0.205957 -2.10744 0.261855 -0.215916 0.0471738 -0.270671 0 0 0 0 0 0 +404 0 0 0 0 0 0.161461 -0.422499 0.669863 1.42924 0 0 -0.366387 -1.76548 0 -3.30335 -0.0307054 0 0 0 -0.0360551 -3.03368 0 0 0 0 0.433658 0 0 0.697222 3.0286 -0.83383 0 -0.514299 0 0 0.236253 -0.0239145 0 0 -0.32934 -1.64335 0 0 0.0579399 -7.81105 0 -1.0539 1.42457 -1.13717 -0.134986 -0.512977 0.101707 0 0.0444242 -0.169771 0.489582 1.30838 0.241643 0.278342 0 0 1.88424 2.10825 0 0.811807 -0.0176973 0.310728 0 0 0 0 0.354719 -0.255719 0 3.58038 -0.903349 0 0 0 -2.36317 0 0.349444 -4.7739 0 -0.150082 -0.499452 -1.91901 0 -0.0370303 -1.00575 3.47333 -11.8493 0 0 0 -0.0277982 -0.00260959 0 0 0 -0.00618161 0.0428878 0 -0.000661155 0 0.000688597 0.000849492 0 0 0 0 -0.0252827 0 0.000850196 0 -0.0499226 0 -0.0231065 0.282015 0 -0.000967364 0 0 -0.0760152 0.00145584 0.0149014 0 0.00281254 0 0.00306485 0.0841263 -0.0107695 0.0201347 0.00323223 0 5.01217e-05 0 0 0 0.000200846 0 0 -0.00147763 0.00098233 -0.120082 -0.00436577 0 0 -0.00537073 0 -0.00658187 0 0 0.0172706 0.00597032 0.0268994 0.00727685 0 0 0.0035498 -0.000191396 -0.00202433 -0.0439923 -0.0893032 0 0.0474749 -0.000307986 0.0586469 0 0 0 0.196815 0 -0.0263138 0.0773419 0 0.00189712 -0.00746252 0.026751 0 -0.00141532 0.00712796 -0.0182851 0.0408769 0 0.161461 -0.0277982 -0.422499 -0.00260959 0.0540513 -0.1285 -0.0400966 -0.106282 -0.730454 0.00234075 -0.00111618 0.0218587 0.000106741 0.00407434 -0.00202598 -0.0124982 -0.0144351 0.0522217 -1.08167 -1.13734 -0.368445 -0.0141736 0.0723337 -0.266995 -0.262551 0.135529 -0.401585 -0.0441205 -5.43583 -0.232574 -1.36794 -1.22913 -8.98457e-05 0.0938317 -0.742741 0.00458207 -0.00287484 -0.0293348 -0.0326204 0.894157 -0.0211253 0.0204829 -2.65703 -3.39351 0.0033005 -0.0167584 -0.74095 -0.239835 -0.162663 2.21162 4.1027 -0.0135106 0.0619472 2.6196 0.00720534 1.69458 -0.00739467 0.158982 -0.0732915 -0.283459 2.02987 -0.199443 0.308124 -0.596999 -5.66389 0.365603 0.951826 0.108981 -0.169424 -0.201096 -0.0179285 0.0613698 -0.00569782 -0.0100185 -0.0307604 0.0504305 14.6308 -0.221192 1.73298 -0.267156 1.49564 -4.61221 0.00378808 0.227206 -0.521278 -1.19307 -0.000924686 0.0687834 -0.288506 0.460241 -1.61435 0 +405 0 0 0 0 0 -0.513384 -0.459992 0.657604 2.19988 0 0 -0.145677 -1.62585 0 -2.11043 -0.00998071 0 0 0 0.00321456 -5.01246 0 0 0 0 0.502182 0 0 0.337818 1.92661 -0.711038 0 -0.138673 0 0 0.256371 -0.0118543 0 0 -0.406059 -2.27394 0 0 -0.100782 -5.6697 0 -1.33936 0.427237 -0.288791 0.182447 -2.23034 0.368994 0 0.0146366 -0.09481 0.503528 3.2695 0.0917678 -0.147068 0 0 1.19261 5.42608 0 -0.211374 0.83715 -0.0058111 0 0 0 0 0.247927 -0.252887 0 3.97221 -0.761737 0 0 0 -4.63645 0 0.948275 -4.68921 0 0.303773 -0.308438 -6.06797 0 0.318907 -0.544413 1.29895 -7.26415 0 0 0 0.0279426 0.00207675 0 0 0 0.00884776 0.0115702 0 0.000351632 0 -0.000186591 0.00292995 0 0 0 0 0.0522392 0 0.00204544 0 0.0648111 0 0.056837 0.0774688 0 -7.86343e-05 0 0 0.00997073 -0.000278602 0.00730449 0 0.000939792 0 0.00081942 0.00534726 -0.00053963 -0.00345283 0.00127265 0 -1.43519e-05 0 0 0 6.69743e-05 0 0 0.000916193 -0.000752816 0.0263688 -0.00802174 0 0 0.00214663 0 -0.00221042 0 0 0.00602495 -0.00264752 -0.0446691 0.00978861 0 0 -0.0241605 -0.0197454 -0.00202835 -0.0481812 -0.0804712 0 0.00391973 0.00422852 -0.0192956 0 0 0 -0.146224 0 0.0110957 -0.0565796 0 -0.000830445 0.00417843 -0.0352717 0 0.000364875 -0.00150304 0.00571873 0.00406783 0 -0.513384 0.0279426 -0.459992 0.00207675 -0.263019 -0.147631 0.0485431 0.922882 0.233071 0.000296116 -0.00444654 0.122262 2.52508e-05 0.0044165 0.00183849 0.00368732 -0.0325247 0.0001781 -1.01413 -0.942154 0.212684 0.390663 0.0375224 -0.165796 -0.136967 0.272835 0.0477084 -0.0129567 -0.311857 -0.0267021 1.05714 -0.772671 6.94196e-05 2.31426 0.532327 0.00181646 -0.00337934 0.168927 -0.0226453 1.38964 0.0131484 0.0518653 -0.693863 -2.9962 -0.00462126 -0.0111436 -0.417712 -0.106852 0.190265 0.250697 2.06129 -1.19008 0.0224706 1.94513 -0.00799657 -1.61021 -0.00207633 0.198871 0.0746217 -0.345726 0.3219 0.0943295 0.0945079 -0.0122271 0.830257 0.096571 -0.797954 -0.0392172 -0.462212 0.062834 0.0141404 0.0415526 -0.00110183 -0.00153698 0.135548 -0.0328339 -11.3065 -0.573223 -13.4068 -0.0103117 0.0106157 -7.24453 -0.00106887 -0.0194571 -0.357088 -3.15951 -3.1536e-06 -0.00382365 -0.201429 0.149722 -1.71729 0 +406 0 0 0 0 0 -0.0204602 0.143657 -0.233124 -1.72191 0 0 0.0764633 0.899719 0 2.78033 0.0367757 0 0 0 0.228919 1.85515 0 0 0 0 -0.258942 0 0 -0.30451 -4.45935 0.443846 0 0.475551 0 0 0.018996 -0.000820358 0 0 0.309109 -0.365198 0 0 0.00745808 6.27961 0 -0.328626 -1.19761 1.63959 -0.328373 -0.550249 -0.477967 0 -0.157077 0.32932 -0.584282 -1.45918 -0.149206 -0.033631 0 0 0.594878 0.0543098 0 -0.768602 -0.377847 -0.178735 0 0 0 0 -0.298599 0.567578 0 -3.87887 -0.745706 0 0 0 3.60923 0 -1.31638 10.5262 0 -0.273899 0.382128 8.61824 0 -0.000309033 1.78828 -3.75493 17.2714 0 0 0 -0.101275 -0.00711938 0 0 0 -0.017117 0.0782877 0 -0.00141322 0 0.000706033 0.0038748 0 0 0 0 0.00671607 0 0.00360402 0 -0.0256534 0 -0.108663 0.434644 0 -0.00170457 0 0 -0.114196 0.00152144 0.0249335 0 0.00528455 0 0.0055949 0.100801 -0.017403 0.0208267 0.00396032 0 5.21771e-05 0 0 0 0.000377454 0 0 -0.00333227 0.0017701 -0.165216 -0.00606031 0 0 -0.00704428 0 -0.0111303 0 0 0.0371075 0.0122604 -0.0250511 0.0176064 0 0 -0.000161465 0.00512134 0.00543892 -0.0684014 -0.119834 0 0.0787953 -0.00152568 -0.0113485 0 0 0 0.241357 0 -0.0349406 0.112794 0 0.00287569 -0.00965843 0.0320089 0 -0.00180924 0.00957275 -0.024088 0.0556877 0 -0.0204602 -0.101275 0.143657 -0.00711938 0.297664 0.186343 -0.107526 -0.111491 0.205793 0.00343844 0.0104543 0.0926252 0.00016623 0.00627539 -0.00513212 0.00112259 0.0450499 0.0714641 -0.293956 1.28186 0.395959 -0.126627 0.125251 -0.0488161 0.359197 -0.19366 0.0500476 0.0248971 6.92621 -0.0395756 2.20883 0.554476 -0.000223697 -0.235136 0.899207 0.0068115 -0.000518708 -0.0490238 -0.00431472 -0.85283 0.00802033 -0.0403588 1.86516 1.00893 0.00330995 -5.46697e-06 0.0519731 0.170744 0.165749 -1.00137 2.86874 -0.908732 -0.0523846 -0.593703 0.0159325 0.3235 -0.00749622 0.0806758 0.575975 0.0674253 -0.0995589 -0.252296 -0.0627401 0.787533 3.63349 0.132831 -0.422472 0.120347 0.0886197 0.327031 -0.00910476 -0.0522968 -0.00905299 0.0736276 -0.108301 0.0242291 -23.6243 -0.326923 -4.14279 -0.401726 0.214572 2.69893 0.00462867 -0.250392 0.438217 0.379289 -0.00126541 -0.123225 0.227773 -0.275943 1.32841 0 +407 0 -0.1132 -0.397762 0.00714939 0.108344 -0.0853291 -0.0346355 -0.414278 0.0250028 0.0353997 -0.212607 0.10758 0.144 -9.86223e-05 1.28849 0.00829551 -2.33328 -8.97365 -0.0488615 0.0116129 0.254883 0.0038189 0.0624605 0.000108607 0.0267106 0.000488954 -0.616889 -0.00224189 -0.0513897 -0.587024 0.293368 0.00209411 0.189911 0.222374 -0.050643 -0.111079 0.00517181 -0.0387406 1.12861 0.14772 0.119143 -0.00205406 -0.260117 0.00678838 1.33269 -0.0421454 0.186653 -0.245229 0.256532 -0.0144937 -0.614988 -0.178248 4.16025 -0.0142814 0.00233019 0.014926 -1.26454 -0.228458 -0.194991 -0.0332055 0.003662 0.358596 0.841092 1.41278 -1.36702 0.258103 -0.195376 0.31551 -0.152836 -0.00178733 0.327743 0.0175956 0.0385262 0.0296468 -1.85692 -0.0982745 0.289031 -3.67046 0.394575 -1.45543 -0.135201 0.28789 -1.97774 0.163049 -0.515062 0.891603 -1.78875 0.00109164 -0.00358343 0.012959 -0.04204 0.149218 0 0 0 0 0 0.00714939 0.108344 0.00145639 0 0 0 0 3.81305e-05 0 -0.00091314 0 0 0.000279676 6.53993e-05 0.00160336 0 0.000116285 0.00889305 0.0154374 0 0 0.0788939 4.58005e-06 0 0.000571984 0.667876 0 0 0.00483693 0.0963781 0 0.0113153 0 0.00473757 0 0 0.000237711 0 0 0.106945 0.000533652 0.00398484 0 0.0203923 0.00925535 0 0 -0.00607093 0 0.000442283 -0.00924645 -7.13453e-05 0 0 0.000149859 -0.00315923 0 0.000497149 0.0225763 -0.00284585 -0.192939 -0.00136822 0.00359927 0 0.00445028 -0.0170525 0.0350038 -0.00324608 -0.0253049 0 0 0 -0.117831 -0.00486132 -0.0259801 -0.000296717 0.00143336 -0.0511551 -0.000185921 0.0002594 -0.000549611 -0.00856608 0 0 0 0 0 0 -0.0853291 0 -0.0346355 0 0 0 0 0.249189 0.199422 0 0 -0.245345 0 -0.0278473 0 0.00517473 0 0 0.0416711 0 0.802044 0.12142 -0.014028 0.0601308 0 0 0.146316 0 -5.42548 0 3.28874 0.0385391 0 0.815112 1.51441 -0.0015406 0 0.0442339 0 0 -5.14173e-05 0 -0.885113 -0.363029 0 0 0.0732723 0 0 -0.180753 -3.60603 -0.655318 0 0.673856 0 -2.01573 0.122511 0.0156689 0.714073 -0.179302 -1.06738 0.470659 0.114351 0.295145 7.86662 -0.0199243 0 0 0 0.0826646 0.0243112 0 0 0 0 0.0136105 -30.6841 1.88258 -9.72339 -0.176696 0.319735 -2.34933 0.0683115 -0.0606032 0.18719 -0.650053 0 0 0 0 0 0 +408 0 -0.702167 -0.496947 -0.00527956 -0.0474858 -0.195297 0.141885 -0.279518 -0.161516 -0.0552903 0.185691 0.00471162 0.0312999 8.1743e-05 -0.53022 -0.000762248 -1.23294 -6.06249 0.0496176 -0.000660458 0.446175 -0.0148994 0.451095 -0.000129304 -0.0247781 -0.148712 -0.226365 -0.00675736 -0.393902 -0.0995357 0.151542 -0.00277158 -0.00957762 1.45404 0.0973903 -0.226213 -0.000498136 -0.106545 5.47264 -0.0118858 0.996752 0.00152067 -0.38704 -0.00170827 -1.35513 0.0256182 0.951423 -0.189772 0.00478117 0.00323614 0.0569385 0.0822318 6.22228 -0.00287013 -0.00656461 0.0183948 0.16992 -0.0663388 0.0763833 0.0484209 -0.00260136 -0.824766 -1.54247 -1.75115 -0.713228 -0.0183193 0.283938 0.343424 -0.0320348 0.0056304 0.38827 -0.105448 0.0122551 0.116142 -0.397598 -0.05881 0.187212 -25.1166 -0.0595211 -5.61383 -0.72897 1.52631 -6.83267 -0.031399 0.209728 -0.259443 -0.480223 -0.000663555 0.00116924 -0.00196692 -0.00243419 0.0253014 0 0 0 0 0 -0.00527956 -0.0474858 -0.000190964 0 0 0 0 -5.49611e-06 0 -0.00151304 0 0 5.15475e-05 -3.84785e-06 -0.0014499 0 -0.000148174 -0.00682153 -0.0131102 0 0 -0.0750272 -3.65947e-07 0 -0.000371463 -0.406329 0 0 -0.00365704 -0.0531241 0 -0.0167119 0 -0.00498892 0 0 -0.000263765 0 0 -0.100128 -7.71513e-05 0.000816996 0 -0.00267473 -0.00128269 0 0 -0.000805912 0 7.88978e-05 0.00140372 -0.000107135 0 0 -0.000171495 0.000488943 0 0.00118853 -0.00126265 0.000415666 0.0508456 0.00122605 -0.0147847 0 -0.000762315 0.0152841 -0.00936407 0.000365448 -0.0120189 0 0 0 0.193875 -0.00221279 0.0156522 0.00167206 -0.00208394 0.0163323 -9.36285e-05 0.000101893 -9.23556e-05 0.00967924 0 0 0 0 0 0 -0.195297 0 0.141885 0 0 0 0 -0.252672 0.0902411 0 0 0.179901 0 0.015419 0 0.00400749 0 0 -0.203916 0 0.00256779 -0.00467866 0.0494287 -0.0200909 0 0 0.0734625 0 -3.52492 0 3.62018 0.00537351 0 -0.04363 0.44955 0.00215978 0 -0.0374408 0 0 -0.00372488 0 -1.03754 -0.121548 0 0 -0.013685 0 0 -0.130974 -4.74002 0.13189 0 0.330541 0 -1.06228 0.0353851 -0.0799011 -0.0612591 -0.138569 -0.00127824 -0.0317663 0.0459474 -0.574683 -2.55944 0.0899198 0 0 0 0.0951401 -0.027795 0 0 0 0 -0.0354147 -26.6819 -2.22954 -1.82762 -1.0212 0.818024 -2.37829 -0.111147 0.0983523 -0.150495 0.101239 0 0 0 0 0 0 +409 0 0.215731 -0.288194 0.00404389 0.0313149 0.0591196 -0.0788602 -0.822161 -1.445 0.000723586 0.0758606 0.0330421 -1.3589 -8.90555e-05 -2.37701 0.000755096 -2.16355 -4.82734 -0.00687458 0.00370364 -3.17948 0.0125104 0.171405 6.21103e-05 0.0523099 -0.281528 -0.822709 0.0157916 0.239552 -0.159183 -0.649862 0.000861283 0.0215191 0.0086879 0.0520369 -0.109567 0.0017654 0.205466 -1.21717 0.112581 -1.31297 -0.00204697 0.968225 0.00492762 -4.59111 -0.0476303 -0.59065 -0.0080335 0.133404 -0.0144942 1.03598 0.14038 4.75575 -0.0187563 -0.011836 0.0717241 2.02223 0.00769777 0.172161 -0.170977 0.00359652 -1.8048 0.751221 1.98338 0.547657 -0.386444 -1.16992 0.00773305 0.15933 0.000508073 -0.272132 0.284531 0.0493043 -0.263555 2.49716 -0.297696 -0.457318 7.23516 -1.11457 7.25718 0.216601 -0.176876 1.77963 0.08115 -0.0351938 -0.171421 1.38503 0.00123371 -0.00334573 0.00811524 -0.0206176 0.0404634 0 0 0 0 0 0.00404389 0.0313149 0.0032495 0 0 0 0 8.56858e-05 0 -0.00265526 0 0 0.000327065 8.98435e-05 0.00145152 0 7.4389e-05 0.00680692 0.0122515 0 0 0.0158498 6.23191e-06 0 0.00113 0.649246 0 0 -0.00474315 0.0757016 0 0.0278063 0 0.00200327 0 0 -0.000110475 0 0 0.134456 0.00119948 0.00470353 0 0.0455052 0.0213747 0 0 -0.034756 0 0.00106002 -0.0191614 -0.00105798 0 0 0.000122831 -0.00671297 0 0.000751873 0.00965118 -0.00586972 -0.21072 -0.00133689 0.00708318 0 0.0103054 -0.00555238 0.0212961 0.000493178 -0.0075444 0 0 0 -0.0880555 -0.00728476 -0.00783131 -0.00195234 0.00470516 -0.0416241 -0.000236531 0.000321169 -0.000642482 -0.0121042 0 0 0 0 0 0 0.0591196 0 -0.0788602 0 0 0 0 -0.0668143 0.303343 0 0 -0.117614 0 -0.0245087 0 -0.000499389 0 0 -0.144647 0 0.46682 -0.0364165 -0.057023 -0.012498 0 0 0.0594672 0 -4.77577 0 -0.593204 -0.732843 0 -0.288292 0.327129 -0.00830889 0 -0.00903204 0 0 0.0210121 0 -2.08847 -0.228822 0 0 -0.0207337 0 0 -0.252681 -3.02547 0.440394 0 -1.56446 0 -0.641234 0.0704284 -0.0902583 -0.076878 -0.110969 0.0878855 0.364348 0.00917987 0.604057 -1.2513 0.0234128 0 0 0 0.10895 0.0141247 0 0 0 0 -0.03592 -2.97516 0.226864 1.2781 -0.0842449 0.277898 -0.358307 0.0316653 -0.0100391 0.0162371 0.223219 0 0 0 0 0 0 +410 0 -0.429844 -0.148969 -0.0177552 -0.195569 0.0817677 0.161411 -0.152816 -0.606639 -0.157545 0.0174428 0.242405 -0.810866 0.00124396 -0.331491 0.0302227 -0.971445 -7.38923 -0.00843912 0.0474528 -2.39637 -0.0324551 -0.246618 -0.00121999 -0.0608263 -0.470636 -0.0584864 -0.0096498 -0.735417 -1.81981 -0.0637538 -0.0143376 0.482145 -0.409547 0.0674861 -0.26075 0.0111817 -0.139588 -0.924704 0.000459699 -0.255162 0.0162918 -0.785617 -0.0110203 -2.77733 0.202285 0.462416 -1.26328 0.71122 0.0581676 0.399952 0.231419 0.984203 -0.0667544 0.11763 -0.392718 3.02156 -0.0721141 -0.046624 0.0265104 -0.0541749 -1.93109 0.799186 1.77326 1.82169 0.532965 -0.668913 0.194656 -0.402235 0.0302306 0.333408 0.0381127 0.238815 0.0593386 2.39719 1.01144 0.109635 4.18259 -1.38414 4.16545 -0.140691 -1.33488 6.93241 0.389341 -0.484567 -0.0484856 2.78952 -0.090543 0.130983 0.0101704 -1.18019 7.14496 0 0 0 0 0 -0.0177552 -0.195569 0.00241518 0 0 0 0 0.000376355 0 -0.0161989 0 0 0.00324003 0.00315203 -0.00926765 0 -0.00152478 0.00254334 -0.108345 0 0 -0.0567829 0.000227282 0 -0.000717187 -0.154012 0 0 -0.00621587 0.0127262 0 -0.0573187 0 -0.00757832 0 0 -0.00102705 0 0 -0.248616 0.00527794 0.0451636 0 0.0338656 0.00660541 0 0 0.0134439 0 -0.000585126 -0.0306309 0.00670092 0 0 -0.0020044 -0.00754459 0 0.00257447 0.0356316 -0.000881255 -0.0650033 0.00129459 0.00395708 0 0.00382607 -0.0222017 0.0754009 -0.0336034 -0.0121834 0 0 0 1.18458 -0.107786 0.277836 0.0312851 -0.054422 0.104176 -0.00301664 0.00495975 -0.010389 0.0260001 0 0 0 0 0 0 0.0817677 0 0.161411 0 0 0 0 0.280019 -0.114953 0 0 -0.111881 0 -0.0148464 0 0.00997331 0 0 -0.631701 0 -0.450802 0.0763487 -0.113452 -0.0652515 0 0 0.255186 0 -5.27451 0 0.284305 -0.0629979 0 0.489705 -0.353514 -0.0129458 0 0.0351208 0 0 -0.031945 0 -0.877835 -1.08215 0 0 -0.100645 0 0 0.000277228 0.458279 -0.12661 0 0.443817 0 -0.442793 0.0817301 -0.00124347 0.476107 0.00442 -0.172858 0.351228 -0.0441966 -0.178605 1.38296 0.0192623 0 0 0 0.0476117 0.057673 0 0 0 0 -0.0202327 -6.75619 0.877269 -3.8808 -0.315641 0.301503 -0.567155 0.088805 -0.0767688 0.135453 -0.409584 0 0 0 0 0 0 +411 0 -1.00227 -0.454213 -0.000572768 -0.0122429 -0.178193 0.0224241 -0.584205 0.254935 -0.00786275 -0.374001 -0.0461359 1.12246 0.000105032 2.74699 0.00432712 -1.92748 -6.70616 -0.143876 0.0145812 5.30593 -0.00538244 0.330031 -0.000263065 -0.0517821 0.217723 -0.626255 0.0107463 0.189695 0.582621 0.635743 -0.0022223 0.106678 0.816438 -0.113128 -0.0460187 -0.00372184 0.166033 3.26077 -0.163746 2.5989 0.00113218 0.0494019 -0.013009 4.5665 0.00891497 1.13175 0.224784 0.294804 0.0455675 0.697414 -0.351187 4.0688 -0.0480845 0.0637156 -0.284146 -1.0665 -0.266773 -0.243553 0.0929385 -0.00258331 -0.058322 -5.76772 -0.469017 -1.85321 -0.198791 0.343551 0.77611 0.0958103 0.00224627 0.293184 -0.183981 -0.266589 -0.219225 -3.51177 1.01704 -0.30215 -13.6371 1.2741 -3.04637 0.250186 0.663831 -4.33984 0.137195 -0.218946 0.763102 -0.662853 -0.00399035 0.0424236 -0.147892 0.699004 -2.28749 0 0 0 0 0 -0.000572768 -0.0122429 0.0013832 0 0 0 0 0.000233102 0 -0.00563371 0 0 0.00021304 -0.000441356 -6.23395e-05 0 -0.000362274 -0.000972002 -0.0049409 0 0 0.212688 -3.76226e-05 0 0.018234 0.335564 0 0 0.0312005 0.00131485 0 0.111062 0 0.00993418 0 0 0.00140741 0 0 0.273619 0.00326104 0.00431728 0 0.0194289 0.0293252 0 0 -0.142293 0 -0.00261144 0.13325 0.00530356 0 0 0.000123613 -0.00437885 0 0.0134666 0.0199628 -0.00593936 -0.319766 0.00294566 -0.0210652 0 0.00351713 -0.0128472 -0.0609992 -0.0180322 -0.0158933 0 0 0 -1.32783 0.0613357 -0.1712 -0.0233521 0.0551125 -0.136875 -0.000210197 -0.000765136 0.00328331 -0.00805303 0 0 0 0 0 0 -0.178193 0 0.0224241 0 0 0 0 0.353177 -0.312161 0 0 9.04847e-05 0 -0.00786318 0 -0.0172724 0 0 0.741893 0 1.12597 0.145659 0.0103939 0.138376 0 0 -0.132151 0 -3.36062 0 7.32253 0.278508 0 0.922608 2.71981 0.00146308 0 0.0559815 0 0 -0.0463139 0 -0.36784 1.22434 0 0 0.24698 0 0 -0.28906 -6.04687 -0.195493 0 -0.36262 0 -1.4814 -0.0290954 0.0159716 0.319899 -0.185688 0.0556119 0.118033 0.0723306 -0.332661 0.503984 0.126622 0 0 0 0.114245 0.0108935 0 0 0 0 -0.036632 -71.6008 -1.96918 -12.3408 -1.48667 1.37673 -4.80758 -0.0544049 0.0485572 -0.00998656 -0.617428 0 0 0 0 0 0 +412 0 0.291005 0.342907 -0.0438231 -0.423026 0.373597 0.279568 -0.545173 -2.49165 -0.389314 0.875763 -0.332086 0.0174419 0.00315742 -1.79371 -0.036829 1.53325 5.65197 0.109035 -0.0480371 2.59434 -0.0336684 -0.168419 -0.00327404 0.00626055 -0.564289 0.482604 -0.00695393 -0.0301514 2.52218 -0.220515 -0.0373129 -0.498521 -0.543974 -0.000680298 -0.20516 -0.032652 0.121233 -2.33497 -1.02523 1.3936 0.0395534 -0.112475 -0.0974964 -1.07861 0.45666 0.697369 0.663182 -0.753484 0.402036 -0.501145 0.630125 2.27161 0.146961 -0.189007 0.15958 0.867122 0.439426 0.160901 -0.337625 -0.126373 -0.10969 -0.410453 0.0515461 0.6063 0.169213 -0.315652 -0.47946 -0.104739 0.0801632 -0.594204 0.268772 -0.875553 0.0472092 2.75054 0.515386 0.686058 11.11 -2.40814 9.13881 0.0960534 1.5941 -1.87567 -0.303766 0.708245 -1.68188 2.0812 -0.204401 0.525375 -1.46094 3.64707 -9.9026 0 0 0 0 0 -0.0438231 -0.423026 0.00679595 0 0 0 0 0.00110157 0 -0.0329096 0 0 0.00444932 0.00448358 -0.0187643 0 -0.0035311 0.00859693 -0.184734 0 0 -0.0491511 0.000326525 0 0.020095 0.565502 0 0 -0.0114715 0.102028 0 0.00880042 0 -0.0132026 0 0 -0.00219102 0 0 -0.208427 0.0154388 0.0615438 0 0.0952359 0.0436004 0 0 0.0103582 0 0.000223869 0.0174763 0.00311159 0 0 -0.00662045 -0.014272 0 0.00832552 0.0113912 0.000306056 -0.178804 0.0230961 0.0012777 0 0.0232945 -0.0200274 -0.0242137 0.0161534 -0.0456775 0 0 0 1.80786 -0.187351 0.501094 0.0460885 -0.080878 0.145616 -0.0050741 0.00848863 -0.0170576 0.0439508 0 0 0 0 0 0 0.373597 0 0.279568 0 0 0 0 -0.593883 -0.25711 0 0 0.701512 0 0.0745941 0 0.00773231 0 0 0.837124 0 -0.877924 -0.240617 0.160414 0.0579155 0 0 -0.132474 0 6.00294 0 -2.63383 0.105249 0 -1.64554 -1.49449 0.0168787 0 -0.0963388 0 0 0.031825 0 1.06598 2.58513 0 0 0.228951 0 0 0.183614 0.358893 0.329933 0 0.259814 0 -0.320795 0.210809 -0.215172 -1.09786 -0.101819 1.44831 0.320678 0.129911 -0.645681 -4.12462 0.188034 0 0 0 -0.101969 -0.197593 0 0 0 0 -0.0300184 24.1794 -5.94144 15.3832 -1.56742 1.19656 1.23095 -0.49062 0.421041 -0.49809 1.17336 0 0 0 0 0 0 +413 0 0 0 0 0 -0.0228797 0.321832 0.340268 0.453276 0 0 -0.0537688 1.09905 0 3.8548 0.0783371 0 0 0 -0.0725027 1.87499 0 0 0 0 -0.18939 0 0 -0.711782 -1.23299 1.12003 0 -0.0867087 0 0 -0.0497169 -0.0152489 0 0 0.186874 1.72274 0 0 -0.117985 3.82603 0 1.21993 -0.715086 -0.896884 0.307087 1.80627 0.36303 0 0.525657 0.376852 -1.21631 -5.07272 0.418572 0.26989 0 0 0.804689 -2.57192 0 -0.571518 -0.365534 -0.970028 0 0 0 0 0.503822 -0.9334 0 -4.30269 2.77701 0 0 0 -0.435738 0 -0.332929 1.22055 0 -0.428137 0.552705 -2.22993 0 -0.588482 0.34232 -2.36341 7.89383 0 0 0 -0.108952 -0.0050937 0 0 0 0.0937307 -0.0242255 0 0.0192539 0 0.0179813 0.0805791 0 0 0 0 0.108508 0 0.023331 0 0.503656 0 0.36692 -0.52143 0 0.000713473 0 0 0.104089 0.00374495 -0.0845998 0 -0.00630362 0 -0.00194675 -0.308285 0.0223779 0.0693197 -0.0705453 0 0.00107961 0 0 0 -0.000679967 0 0 -0.0113037 -0.00877344 -0.0870429 0.00707229 0 0 -0.0362801 0 -0.000666785 0 0 0.0142419 -0.00784199 -0.312064 -0.0233591 0 0 0.0820228 0.0601015 0.0613139 0.266148 0.253566 0 -0.0628475 0.0133451 -0.0721032 0 0 0 -1.90279 0 -0.246866 -0.135858 0 -0.0173549 -0.0173615 -0.0518325 0 -0.00325941 -0.00310488 -0.0268402 0.159551 0 -0.0228797 -0.108952 0.321832 -0.0050937 0.111827 -0.00381174 0.219254 0.299884 -1.01855 0.00404589 0.0392547 -0.158956 -0.0053101 -0.103699 0.0547456 -0.0202512 -0.0360083 0.101272 1.09744 -0.216484 0.0630031 0.133314 -0.300079 0.182342 -0.0564995 -0.0179922 -0.561547 -0.0132705 12.2559 0.214968 0.92504 2.74918 0.0160892 0.433103 0.202054 -0.103277 0.00288416 0.055741 0.0205024 -0.282546 -0.0549247 0.00268007 5.89325 2.57077 0.00339504 0.0273774 0.43573 -0.0640479 -0.00681753 -1.24316 2.13013 1.42385 0.0767715 -4.94284 0.0176949 -1.78826 1.13993 -1.35372 0.488431 0.138016 -0.592688 1.98115 -0.292761 3.94761 -15.1353 -0.395907 -0.571896 0.0321243 0.160008 -0.175319 0.355147 -0.0371553 -0.0387021 0.000203671 -0.0992583 0.895028 -3.37011 -0.34929 -1.33798 -0.993951 -0.101535 0.372355 0.0691576 -0.386336 0.329785 -0.535009 -0.17724 -0.118485 0.124692 -0.244826 0.168207 0 +414 0 0 0 0 0 -0.239902 -0.117149 0.496438 2.15189 0 0 -0.561413 -0.265343 0 -0.570866 -0.109954 0 0 0 -0.239901 -1.18864 0 0 0 0 0.329591 0 0 0.146479 2.39529 -0.12373 0 -0.26196 0 0 0.0606356 -0.0815739 0 0 -1.56329 -0.633944 0 0 -0.358439 -1.40969 0 -0.286766 0.791032 -0.375519 0.512984 0.0468724 0.269734 0 0.692571 -0.0348117 0.137157 -1.73225 -0.286662 -1.62206 0 0 -1.9388 4.32413 0 0.972184 -0.164826 0.815223 0 0 0 0 -0.360068 -0.779101 0 -0.416626 -0.882678 0 0 0 -3.21586 0 1.98969 -3.68276 0 1.03224 -1.01702 -1.03223 0 1.92886 -1.98512 5.08252 -6.24427 0 0 0 0.147271 0.0259512 0 0 0 0.0269495 -0.0349542 0 0.00427367 0 -0.0168369 0.00113692 0 0 0 0 0.100307 0 0.0111722 0 0.134354 0 0.180559 -0.121467 0 0.00200831 0 0 -0.0452306 -0.00640383 0.0315431 0 -0.00185701 0 -0.00322373 -0.128111 0.00365743 -0.0881823 0.00211133 0 -0.00113484 0 0 0 -0.000273025 0 0 0.0124514 -0.00867087 -0.306685 0.010661 0 0 0.000944424 0 0.00349232 0 0 -0.00879514 -0.0198461 -0.116164 -0.0277967 0 0 0.11134 -0.00954487 0.05786 0.0584066 0.0386571 0 0.0662485 -0.017669 0.312 0 0 0 0.218212 0 0.0878839 0.58769 0 -0.00241423 0.0585348 0.003291 0 0.0069124 -0.0100416 0.00443437 0.285415 0 -0.239902 0.147271 -0.117149 0.0259512 -0.210857 -0.0550663 0.0210062 -0.39355 -0.294691 -0.0154319 -0.0335396 0.416508 -0.00117479 0.0406632 -0.00736306 -0.0209771 -0.0516614 -0.106795 -0.500987 -0.37242 -0.327162 -0.0833078 0.31597 -0.068306 -0.360171 0.136839 0.0753001 -0.000381488 -7.36771 -0.549547 -2.82879 -0.542759 -0.00386098 -0.491442 -1.08283 0.0421771 -0.0139422 -0.0699207 -0.102717 0.849741 -0.120282 0.0214829 -2.10039 -2.17631 -0.00435711 -0.0680907 -0.22262 -0.0215734 -0.113254 -0.961976 -2.68408 -0.764607 0.0130113 -4.20679 -0.062529 0.588882 0.103889 0.180299 -0.266244 0.113462 -1.02226 -0.271998 0.0836104 -0.469453 -12.7359 0.104196 0.0260638 0.16518 -0.296683 -0.184322 -0.0948788 0.0259519 -0.0481363 -0.00621623 0.042388 -0.141783 10.3059 1.19489 -0.752575 2.66993 -0.217085 -0.602213 -0.290719 0.905043 -0.658686 0.174352 0.186907 0.343902 -0.423194 0.597853 -0.869065 0 +415 0 0 0 0 0 -0.35018 -0.135456 0.709431 3.06753 0 0 0.192255 -0.663658 0 -0.943283 -0.227214 0 0 0 -0.461941 -0.810147 0 0 0 0 0.489357 0 0 -0.019786 -6.18752 -0.163919 0 -0.980978 0 0 0.0567405 -0.0190665 0 0 2.61509 0.0159974 0 0 0.557101 -4.60779 0 0.121816 -0.712852 -2.06612 -0.200102 2.96594 -0.0068686 0 0.959082 -0.197624 -0.356078 -0.355042 0.832435 0.485979 0 0 -0.89543 -3.14664 0 -1.55993 -1.28203 -0.744831 0 0 0 0 -0.28243 -0.695859 0 -0.560227 0.889568 0 0 0 -7.31039 0 -3.83924 6.59988 0 -2.18882 3.21446 -3.91669 0 -3.14219 5.49396 -9.01313 22.0889 0 0 0 -0.50702 -0.123004 0 0 0 -0.145783 0.0259891 0 -0.0319592 0 0.00287089 0.084165 0 0 0 0 -0.00638783 0 -0.00381185 0 0.441103 0 -0.468889 -0.891485 0 0.0115392 0 0 -0.152226 0.00231523 -0.12879 0 0.0188383 0 0.00172459 -0.13182 0.00989369 0.0446424 -0.00730564 0 7.7798e-05 0 0 0 0.00118687 0 0 0.00129324 0.00154545 0.099679 -0.0374288 0 0 -0.0136209 0 -0.00630123 0 0 0.0184374 -0.0028912 0.101996 0.0015639 0 0 0.0884352 0.0799761 -0.0209198 -0.0486481 0.266294 0 -0.251015 -0.0203244 -0.0471724 0 0 0 -0.95391 0 -0.147087 0.431827 0 -0.0132898 0.0285089 -0.0361598 0 -0.000640848 0.00293782 -0.0188265 0.204069 0 -0.35018 -0.50702 -0.135456 -0.123004 1.31728 0.175478 -1.05265 -0.447223 -0.0634736 0.0173658 0.0962965 0.409634 0.00766302 0.104943 -0.184691 -0.0721378 0.0855437 -0.136085 0.117431 -0.687865 0.119545 0.143409 0.559871 0.0330413 0.480154 -0.374258 -0.116598 -0.0327355 3.06725 1.10143 0.988219 0.400388 -0.0330563 -0.129676 0.605167 0.0892401 0.0310203 -0.00641624 0.257932 -2.52311 -0.132202 -0.0450903 1.23922 -0.319538 0.0158311 0.109726 -0.0335777 -0.18464 -0.444192 1.22267 -1.95729 1.85292 -0.279211 -0.427502 0.516193 -0.90548 0.944476 -1.46249 0.406151 0.340545 -1.07604 -0.472247 -0.144445 -2.05487 -12.2325 -0.914499 1.24249 -0.371849 0.183991 -1.4395 0.318421 -0.227224 0.274562 0.121227 0.0284062 0.81379 -3.60028 -1.42867 -1.2249 -0.616868 -3.03715 7.41696 -0.264476 -0.873981 1.54471 -0.204328 0.238168 -1.05709 1.70807 -2.06137 3.4161 0 +416 0 -0.689269 0.123343 0.149684 -0.108142 -0.00371067 -0.28082 0.133138 0.603828 -0.0437285 -1.48313 0.096425 -0.875176 -0.180131 -1.32487 0.257908 0.65791 0.753503 -0.61234 0.618888 -3.09463 -0.348246 -0.265626 0.18736 -0.977931 0.56363 0.245805 0.550277 0.411937 0.8891 -0.330853 0.331843 0.932311 -0.520954 1.63091 0.259962 0.126883 1.95725 0.802202 0.674952 -1.4682 -0.436764 5.59606 0.440895 -3.79919 -0.984571 -0.7712 0.700519 2.43226 -1.40682 0.788026 -2.27652 -1.10403 -0.915238 0.0495304 0.476916 4.07665 -1.88844 -0.769811 1.45463 0.763672 0.00801675 3.83432 0.792063 -1.1581 -1.6002 1.23085 1.73628 1.67254 0.0249252 1.81175 -0.636795 1.91888 -1.81979 3.78904 -1.62724 -5.1989 -6.18976 3.01818 -2.56934 1.78672 -0.460965 -2.20573 2.70027 -1.89387 1.39518 0.943872 1.64493 -1.82496 1.52162 -0.413419 -4.08954 0 0 0 0 0 0.149684 -0.108142 0.00447617 0 0 0 0 -0.00184556 0 0.0107153 0 0 0.00362531 0.024688 -0.00289395 0 -0.00677227 -0.233832 -0.00719655 0 0 0.108701 0.00162657 0 0.0934144 -1.80614 0 0 0.00145833 -0.568865 0 0.181009 0 0.249151 0 0 0.031292 0 0 1.14544 -0.0233903 0.0655201 0 0.0769448 -0.00602761 0 0 0.17862 0 -0.00967872 -0.239992 0.0161216 0 0 -0.00752991 -0.0195376 0 -0.0112997 -0.12116 0.00119168 1.15888 -0.0293712 0.0263161 0 0.0550704 -0.0104162 -0.173774 0.0318851 0.0474307 0 0 0 -5.82017 -0.391814 -0.108553 -0.0565436 0.0180168 -0.118401 -0.00300134 0.000620295 -0.0149692 0.0477874 0 0 0 0 0 0 -0.00371067 0 -0.28082 0 0 0 0 -0.410269 1.56214 0 0 0.632921 0 0.0706423 0 0.0527827 0 0 -0.387947 0 0.317849 -0.00169168 0.51182 -0.0613216 0 0 0.514826 0 -2.02043 0 3.10166 -0.962946 0 -0.302864 1.24279 0.0671367 0 -0.0263464 0 0 0.191799 0 -1.61272 -1.23091 0 0 -0.176806 0 0 -0.0722091 -2.90069 -0.273007 0 1.56072 0 1.71216 -0.54438 0.407561 0.466945 0.198351 -0.343696 -2.16607 -0.18742 -1.55012 7.2659 -0.222826 0 0 0 0.271847 0.115 0 0 0 0 -0.405461 -25.721 -5.32404 2.28719 -2.1927 1.64248 -1.99372 -0.647916 0.503381 -0.368072 0.124825 0 0 0 0 0 0 +417 0 -0.30387 0.00853524 0.0208568 0.246318 -0.0919134 0.0597052 0.27 0.619722 0.163863 -0.957637 0.308256 1.23298 0.0126478 1.07844 0.066499 1.1576 1.87357 -0.101716 -0.0509908 1.18328 0.00274892 0.0839376 -0.0122037 -0.250978 0.214045 0.562507 -0.0659544 -0.0232628 0.133654 0.307458 -0.00644969 0.358119 0.410363 -0.248968 0.0627689 0.0381082 -0.432209 2.562 0.356185 0.453364 0.0380528 -1.06639 0.0224296 3.71569 0.0652506 0.213383 -0.0407268 -0.0762618 0.146301 0.09716 -0.296717 -1.98182 -0.143597 0.577749 -0.415284 2.00069 1.47796 1.13503 0.153499 -0.128947 1.24363 -2.47907 -1.39716 0.260009 -0.367675 -0.471572 0.480085 1.3365 -0.137971 -0.0961778 0.212205 0.564174 0.451074 -0.109434 0.233479 1.21227 -8.36142 0.686243 -2.01217 -1.26418 -0.203593 -0.774818 1.58426 -1.35736 0.896509 0.057563 -0.109015 -0.213961 -0.261713 -0.647964 -0.61476 0 0 0 0 0 0.0208568 0.246318 -0.0104672 0 0 0 0 -0.00304585 0 0.0236576 0 0 -0.0132927 -0.0535551 0.0585124 0 0.0088609 -0.123101 0.152248 0 0 0.610721 -0.00372344 0 0.0608946 -0.287163 0 0 0.084702 -0.276171 0 0.218733 0 0.174992 0 0 0.0246615 0 0 0.431322 -0.0428883 -0.189756 0 -0.144977 -0.0525444 0 0 0.436141 0 -0.0239461 -0.247742 0.0195368 0 0 0.020259 0.018631 0 -0.0498767 0.123315 -0.0133139 0.719225 0.0159347 0.0394114 0 -0.020452 -0.0368667 -0.272329 0.174254 -0.0320946 0 0 0 0.114325 0.259712 0.107825 -0.0275828 0.0383756 -0.031415 0.0149201 -0.0158356 0.0152312 0.0309203 0 0 0 0 0 0 -0.0919134 0 0.0597052 0 0 0 0 0.180158 0.169174 0 0 -0.67225 0 -0.0675414 0 0.00615398 0 0 0.721383 0 -0.132905 0.0274379 -0.293996 0.105805 0 0 0.0743183 0 2.96642 0 0.139718 0.612353 0 0.16495 -0.111532 -0.0323333 0 0.0244764 0 0 0.00459779 0 1.64413 1.35662 0 0 0.212829 0 0 -0.0799115 0.706221 0.211502 0 1.25764 0 -0.252016 0.572637 -0.341674 0.179341 -0.234294 0.441748 0.428904 -0.0128931 -0.0101054 5.36633 0.170419 0 0 0 0.147114 -0.0194303 0 0 0 0 0.186329 5.72687 3.95668 -1.45547 0.18736 0.0839182 -0.163754 0.613336 -0.390946 0.273699 -0.00209143 0 0 0 0 0 0 +418 0 -0.41601 -0.352066 -0.147388 -0.330406 0.60379 0.279262 -0.906291 -2.71624 -2.11363 1.85959 0.334988 -0.527456 0.0755162 0.203022 0.251675 1.64699 -2.03785 0.825953 0.443427 -3.11811 0.319838 0.672766 -0.168222 0.688988 -1.09977 0.957568 0.00146586 -0.580577 -2.11748 0.0548441 -0.592287 1.32165 2.51745 0.347685 -0.494335 0.0508708 -0.622071 7.81861 0.95338 -0.499064 0.0503287 -1.25414 0.100091 -0.438045 -0.338213 0.380018 -1.01416 2.47233 -0.278036 3.20852 -0.638516 -10.9271 -0.378058 0.080999 -0.127275 0.515245 -1.31425 -1.34314 -0.222822 -0.0966037 -3.10478 2.24095 -6.25323 0.826732 -1.73037 2.19474 -1.71955 0.716838 1.37701 0.355556 -1.81728 1.56511 1.6124 1.11868 0.531921 -0.351607 -36.9558 -11.6639 10.5575 -8.73271 6.71824 -8.25676 -2.32073 1.50822 -1.34866 3.03592 0.565054 -1.22963 2.54667 -4.90488 9.73964 0 0 0 0 0 -0.147388 -0.330406 -0.000454558 0 0 0 0 0.00174524 0 0.0207429 0 0 0.00109521 -0.00711844 0.00480921 0 0.012735 0.159027 -0.0323862 0 0 0.0680556 -0.000533282 0 -0.00990742 -1.2238 0 0 -0.0150587 -0.0250192 0 0.158244 0 -0.0819512 0 0 -0.0189888 0 0 0.925488 0.0256449 0.0203756 0 -0.00257856 0.0501773 0 0 0.1632 0 0.00494947 -0.260831 -0.00260965 0 0 0.00141269 0.00337453 0 -0.0387142 0.0633857 -0.00765132 0.600649 0.0562115 0.0421873 0 0.00649058 0.00868329 0.0173935 -0.0296469 -0.0739424 0 0 0 -2.04097 0.00457196 0.0287175 -0.0707768 0.0740213 -0.107189 -0.00034871 -1.53543e-05 -0.00497773 0.0209322 0 0 0 0 0 0 0.60379 0 0.279262 0 0 0 0 -0.204476 0.763842 0 0 0.867899 0 0.1056 0 0.0960215 0 0 -0.837211 0 -0.480507 -0.103565 0.265374 -0.115169 0 0 0.666484 0 -6.35082 0 -0.278495 -0.5285 0 -1.14424 -0.32571 0.0231711 0 -0.0142209 0 0 0.0996735 0 -1.84619 -1.31321 0 0 -0.19971 0 0 0.150466 -2.78916 -0.756304 0 1.51325 0 1.96311 -0.742399 0.766045 0.620608 0.211724 -1.23533 -2.05063 -0.0590516 -0.99801 11.4538 -0.300544 0 0 0 0.110322 0.0206351 0 0 0 0 -0.237421 -2.57965 -4.89678 7.00058 -0.923027 0.262949 0.663243 -0.792453 0.594149 -0.515179 0.713914 0 0 0 0 0 0 +419 0 0.128817 0.0024062 0.0198392 -0.063754 0.0212097 -0.164627 0.372319 0.300718 0.291982 -0.327354 0.483854 -0.967011 -0.00773403 -2.34036 -0.0571135 0.00939729 0.249166 -0.170846 -0.12644 -1.0036 -0.0566145 -0.00876429 0.0115344 -0.264547 0.110758 0.0168845 -0.0644639 0.249142 -1.01828 -0.636382 0.0614643 -0.377338 -0.0346249 -0.0616528 0.0270878 0.0481824 0.164699 0.210016 0.739031 -0.803682 -0.0406933 1.09432 0.105114 -4.32608 -0.113897 -0.604218 -0.190858 -0.736626 -0.278994 0.532928 -0.785538 -2.61392 0.202729 -0.571255 0.408322 3.35198 1.65084 0.389637 0.374871 0.121591 0.368752 -0.710576 -0.207057 -0.480136 -0.590965 0.559085 -0.105459 0.188964 -0.116229 0.382275 -0.515039 0.368508 -0.0685571 -0.524472 -0.543592 1.60941 -2.56341 -1.319 1.72826 -1.57816 1.20268 -0.317387 0.178857 -0.404354 0.840549 -0.584712 0.120047 -0.429516 0.58321 -0.66026 0.832814 0 0 0 0 0 0.0198392 -0.063754 -0.000331416 0 0 0 0 -0.000503971 0 0.01946 0 0 0.0015458 0.00529342 0.00456413 0 0.000686703 -0.023464 0.0678047 0 0 -0.0204589 0.000327905 0 0.0221534 -0.584168 0 0 -0.0104166 -0.12975 0 0.0988494 0 0.0344435 0 0 0.00313525 0 0 0.706981 -0.00592316 0.0288917 0 0.00782165 0.00855993 0 0 0.120686 0 -0.00566805 0.0366972 0.00553712 0 0 -0.00361919 -0.00221008 0 -0.00836685 -0.000336674 0.000840452 0.248878 0.0137588 0.0263538 0 -0.00533504 0.00300149 -0.232107 0.0547562 0.00503153 0 0 0 -3.87929 -0.224881 -0.343505 -0.043357 0.0174197 -0.0725325 -0.00123516 -0.000563482 -0.00260513 -0.00791996 0 0 0 0 0 0 0.0212097 0 -0.164627 0 0 0 0 0.44452 1.46459 0 0 -0.357427 0 -0.0669942 0 0.0718481 0 0 -0.602793 0 -0.161979 0.0295148 -0.476264 -0.0942168 0 0 0.632022 0 -1.33034 0 -1.45553 -1.21109 0 0.38359 -0.669 -0.0682036 0 0.0376918 0 0 0.158445 0 -2.08016 -0.985132 0 0 -0.165813 0 0 -0.0930581 -0.542292 -0.456523 0 1.66487 0 0.515372 -0.613638 0.538036 0.0852537 -0.0380503 -0.116125 -0.671671 0.0264127 -1.45357 7.58254 0.0994414 0 0 0 0.337539 -0.0756498 0 0 0 0 -0.418216 -2.98125 0.369087 -1.94373 1.26361 -1.08076 0.581871 0.315792 -0.316488 0.30834 -0.347303 0 0 0 0 0 0 +420 0 -0.497078 -0.262318 0.00516672 0.150686 -0.17412 -0.0534645 -0.000181503 0.804335 -0.0565624 -0.894024 0.0218146 -0.403033 0.000853537 -0.345119 -0.0120493 -2.79938 -9.64577 -0.236281 -0.0385278 1.0776 -0.0361675 0.0114949 -0.00240327 -0.136583 0.0999482 -0.833023 -0.0623103 0.0291527 -0.146263 -0.152264 -0.0122509 -0.253411 0.211329 -0.424518 -0.0621458 -0.00430692 -0.356882 2.10187 -0.0143833 0.356449 -0.0023808 -1.8662 -0.0209731 -0.728546 -0.116364 0.124908 -0.128536 -0.587421 0.0594604 -0.663849 -0.221681 5.54533 -0.136465 -0.0476456 0.105903 -0.11932 -0.986924 0.115203 0.0997399 -0.0112503 1.20342 -0.199242 -0.387707 -0.665033 0.883532 -0.21743 -0.323333 -0.612305 0.0248084 0.213627 0.134686 -0.199134 0.356231 0.866341 0.0378781 -0.429187 -6.25667 1.68846 -3.36597 0.0772599 -0.238137 -1.00631 0.909822 -1.0049 1.62861 -1.78449 0.122648 -0.0333359 0.124665 -0.0455471 0.119623 0 0 0 0 0 0.00516672 0.150686 -0.00325618 0 0 0 0 -0.000306822 0 0.0112092 0 0 -0.00501491 -0.00873413 0.00738317 0 0.00132416 -0.00881966 0.0655527 0 0 0.0247891 -0.000599219 0 0.00678213 -0.0042947 0 0 0.00245598 -0.0699052 0 0.0631496 0 -0.00076018 0 0 -4.93495e-05 0 0 0.103044 -0.00438106 -0.0725279 0 -0.044997 -0.014759 0 0 0.104181 0 -0.00718719 -0.15681 -0.000202189 0 0 0.0074792 0.00597835 0 -0.0180262 0.00372953 -0.0033854 0.240602 -0.0227034 0.0104102 0 -0.00165622 0.000517914 0.00751058 0.0700733 -0.0322899 0 0 0 0.237979 0.118228 0.0354104 -0.0052895 0.0106623 -0.0146205 0.00547597 -0.0058205 0.0088571 -0.00881228 0 0 0 0 0 0 -0.17412 0 -0.0534645 0 0 0 0 0.258 -0.7177 0 0 -0.639941 0 -0.0573627 0 -0.0395002 0 0 -0.28108 0 0.364431 0.0977918 -0.276097 -0.0280788 0 0 -0.350611 0 -2.65907 0 2.2731 -0.311867 0 0.732671 0.804926 -0.0247146 0 0.0355791 0 0 -0.0834229 0 -0.854651 -0.415848 0 0 -0.0236284 0 0 0.407384 1.34361 -0.410899 0 0.448944 0 -0.650894 -0.507283 0.424406 0.135668 -0.211033 0.36007 0.289233 -0.0411943 -1.41998 -4.35285 0.145205 0 0 0 -0.274258 0.0235653 0 0 0 0 -0.0780006 -10.0166 2.65635 -4.14745 -0.368789 0.562066 -1.3376 0.478829 -0.370435 0.340529 -0.461336 0 0 0 0 0 0 +421 0 -1.11997 -0.0969136 -0.0883432 -0.536777 0.605759 -0.0976424 0.595486 -2.17067 -0.232629 2.80808 0.253798 -0.22462 0.012691 0.438467 0.0677408 -1.2519 -2.67954 0.516216 0.133207 -1.97988 0.0314543 -0.0881175 -0.0116256 0.477878 -0.0546099 -0.55353 0.00666032 0.5701 0.57158 0.13188 -0.0533885 0.334481 0.102357 0.28953 0.47099 0.0168418 0.213512 3.02151 -0.194379 -1.4344 0.0817851 1.16486 -0.0643047 -0.259767 0.512703 -0.872813 0.407602 0.589583 0.108248 0.379189 0.272123 4.99416 -0.283728 0.00854007 -0.537765 0.0906361 -1.19144 0.0144347 -0.342286 -0.0507115 -1.20871 2.49132 -2.51785 1.67 0.142535 -0.213181 -2.99865 -0.614581 -0.0135194 -0.291003 -0.689524 -0.10748 -0.314803 2.19044 0.526266 -0.804546 -16.1489 -5.99756 4.12077 -4.43069 2.26973 -0.630311 -2.3306 1.49725 -1.88014 2.31678 -0.540387 0.282714 -0.510881 0.280466 -0.467472 0 0 0 0 0 -0.0883432 -0.536777 0.00454394 0 0 0 0 0.00113305 0 0.0147035 0 0 0.000975891 -0.00257412 0.000201538 0 0.00340201 0.0279686 -0.020443 0 0 -0.424941 -0.000217845 0 -0.0255778 -0.511683 0 0 -0.0591142 0.00916874 0 -0.0362373 0 -0.0983087 0 0 -0.0129263 0 0 0.396274 0.0170765 0.0203106 0 0.0736536 -0.000703977 0 0 0.0536555 0 0.0068329 -0.00788258 -0.0071039 0 0 0.00335185 -0.0111572 0 -0.00811494 -0.0016739 -0.0185729 -0.21356 -0.00422747 0.0262309 0 -0.00817268 0.0215805 0.0219431 -0.0483675 -0.0141127 0 0 0 -2.1536 -0.151592 -0.0591624 -0.0147173 -0.000637642 -0.0419224 0.000536163 -0.00183993 -0.00220866 0.00317236 0 0 0 0 0 0 0.605759 0 -0.0976424 0 0 0 0 -0.0532924 -0.787694 0 0 0.78633 0 0.107222 0 -0.0345258 0 0 0.21789 0 0.528203 -0.118063 -0.103761 0.0367552 0 0 -0.348428 0 3.42614 0 0.862972 0.0233788 0 -1.1971 0.379554 -0.00342871 0 -0.0125648 0 0 -0.0803038 0 0.275842 1.24719 0 0 0.153323 0 0 0.132298 -1.12408 0.409065 0 -0.979 0 0.185276 0.217751 -0.305566 -0.108539 0.0594972 -0.0883175 -0.286003 0.040693 0.260731 -9.72587 -0.109582 0 0 0 -0.264536 0.0177837 0 0 0 0 0.255693 -10.8103 -7.33501 8.81453 -2.35025 1.37731 -0.0142025 -0.528739 0.389762 -0.471618 0.830868 0 0 0 0 0 0 +422 0 0 0 0 0 0.0763614 -0.155057 -0.374892 -0.822279 0 0 -0.512341 -0.678678 0 -1.38957 0.0254302 0 0 0 0.144779 1.5159 0 0 0 0 -0.0874136 0 0 1.06862 2.80204 -0.442121 0 -0.0773484 0 0 0.0612464 -0.0783716 0 0 -0.535663 0.241132 0 0 -0.106372 -2.161 0 -0.29206 1.84755 -0.00501518 0.672886 -1.75433 0.586335 0 -0.0673616 0.241112 0.262678 -0.451594 -0.673629 0.134087 0 0 -0.0981543 0.486815 0 -0.011925 0.602911 0.198316 0 0 0 0 -0.144211 -1.20419 0 2.57556 -1.42864 0 0 0 2.13753 0 1.61318 -3.53762 0 1.02718 -1.88792 2.77491 0 0.515763 -2.3739 4.81383 -12.5353 0 0 0 -0.0755649 0.00287386 0 0 0 0.0242349 0.00808218 0 0.00487037 0 -0.00127343 -0.0108868 0 0 0 0 -0.100534 0 -0.0047499 0 -0.208161 0 0.100909 -0.283569 0 0.00167791 0 0 -0.0503033 -0.000761369 -0.0384134 0 0.000578581 0 0.000593712 -0.137927 0.00163321 -0.0144188 -0.0185753 0 -8.6258e-05 0 0 0 4.4192e-05 0 0 0.0057687 -0.000566541 0.135617 -0.0061637 0 0 -0.0216062 0 -0.00748432 0 0 0.000544243 -0.0219236 0.124041 0.00750766 0 0 -0.0883603 -0.0183397 -0.0505868 0.0744563 -0.0793379 0 -0.0676478 -0.00899261 -0.0177531 0 0 0 0.828494 0 0.0928236 0.244113 0 0.00548869 0.0113643 0.0401288 0 0.00131599 0.00449994 0.000231487 0.025222 0 0.0763614 -0.0755649 -0.155057 0.00287386 0.208846 -0.0187263 0.183176 -0.706468 0.717083 -0.00545614 0.0511945 0.967473 -0.00125061 0.109355 0.0182034 -0.0156545 0.0461879 0.0137553 0.355749 -0.412346 0.0860054 -0.19982 0.538548 0.135297 0.341738 0.0268654 -0.0370541 -0.0148173 -1.11969 0.181473 1.39331 -1.00559 0.0012201 -1.03673 0.341533 0.0634524 0.00105922 -0.130055 0.017819 -0.0842901 0.0672239 0.0141193 -1.8361 0.750424 0.00644524 0.0208036 0.244346 -0.0725986 0.153344 -0.648721 2.70413 1.00177 -0.138947 2.3996 -0.00393861 -1.62433 0.488192 -0.80853 -1.10799 -0.302574 0.982614 1.62093 0.103204 -1.93717 5.69872 0.578468 -0.753683 0.237793 0.260234 -0.118159 -0.250499 -0.0862344 0.0352915 0.0570822 -0.202383 -0.21611 -13.148 -6.94583 4.55835 -1.48031 0.371018 -0.687232 -1.00633 0.490535 -0.35204 0.219106 -0.027947 -0.171329 0.199902 -0.217811 -0.000177863 0 +423 0 0 0 0 0 -0.605773 -0.335299 0.5842 1.71314 0 0 -0.327661 -0.521659 0 -1.19088 -0.0900235 0 0 0 0.105476 -4.13007 0 0 0 0 0.42403 0 0 0.476509 2.11732 -0.39114 0 -0.256569 0 0 0.246693 -0.112363 0 0 -0.316022 -1.4642 0 0 -0.212899 -2.42887 0 -0.869636 0.708856 0.433551 0.318601 -2.33321 0.757932 0 -0.482301 -0.358563 0.699378 -1.6455 -1.38544 -0.0876359 0 0 1.36909 3.55185 0 1.62477 1.04125 0.617817 0 0 0 0 0.0324201 -0.351121 0 2.72034 -1.24244 0 0 0 -5.23967 0 -0.500125 -1.9707 0 0.0105366 -0.787161 -2.81275 0 0.553244 -1.41053 2.9674 -10.8595 0 0 0 -0.122453 0.00974052 0 0 0 0.0450652 0.0245811 0 0.00686021 0 0.00647577 0.0922348 0 0 0 0 0.0619344 0 0.034935 0 0.209389 0 0.299645 0.277387 0 -0.00483702 0 0 -0.299033 0.00559224 0.0419855 0 -0.000119746 0 0.00159278 0.0712804 -0.0352009 0.077979 0.00166676 0 0.000466327 0 0 0 -3.22134e-05 0 0 -0.00723174 -0.0129338 0.142416 0.0125547 0 0 0.00642593 0 -0.0145688 0 0 0.0291801 0.0404225 0.0485517 0.0639971 0 0 -0.173465 -0.139844 -0.0488102 -0.0859071 -0.202187 0 -0.00204652 0.0522579 0.0204255 0 0 0 -0.244922 0 -0.0809437 0.313878 0 0.00913202 -0.0125674 -0.0735994 0 -0.00592644 0.0178232 -0.0456775 0.116686 0 -0.605773 -0.122453 -0.335299 0.00974052 -0.162704 -0.119552 0.15735 0.261206 0.0747564 -0.0143313 0.0341436 -0.494735 -0.00532593 -0.0893799 0.0379999 -0.00771219 0.0286927 0.0906132 0.928546 -1.20625 -0.242199 0.099929 0.0333623 0.159222 0.160576 0.241105 -0.0965856 -0.0329055 1.86617 -0.468213 -2.06388 0.0753301 0.00852283 1.28862 -0.557807 -0.0075418 -0.00868629 -0.000108765 -0.0727348 1.67236 0.0535208 0.0376846 0.891595 0.284882 0.0042528 -0.0483555 0.077668 -0.194839 -0.1664 -0.603927 0.163955 -1.03282 0.105841 -0.0296884 -0.109759 -0.920652 0.091842 0.403601 0.492557 0.267911 0.204773 0.812453 0.0627882 -0.798502 -1.97462 -0.0635041 0.093922 -0.0164625 -0.179399 0.137684 0.231694 0.180653 0.022628 -0.240011 0.0947136 -0.170583 19.4759 5.86125 -7.81447 1.66908 0.506243 -5.89078 0.347735 0.356892 -1.3605 -0.416793 -0.184101 0.548779 -1.14626 1.31579 -2.46862 0 +424 0 0 0 0 0 -0.740001 -0.415155 1.43309 3.49505 0 0 1.35322 -0.699594 0 -1.50008 0.0781116 0 0 0 -0.0928247 -2.87982 0 0 0 0 0.832697 0 0 -0.0339524 -10.0419 -0.434071 0 0.614287 0 0 0.451152 0.174085 0 0 4.98325 -2.22161 0 0 0.946638 -3.17191 0 -1.18076 -2.16235 -0.0168304 -2.04432 0.926535 -2.11324 0 0.0818547 0.511049 -0.137793 0.0769771 0.169673 0.092138 0 0 0.52126 1.13084 0 -0.884579 -0.719772 -0.380937 0 0 0 0 0.819392 3.98132 0 -1.01091 -0.676883 0 0 0 -6.4417 0 -9.05496 14.9422 0 -4.89619 7.43281 -10.0261 0 -6.25434 11.1697 -21.1845 38.9006 0 0 0 -0.570548 -0.136033 0 0 0 -0.122312 -0.0120241 0 -0.0242966 0 0.0241346 -0.112639 0 0 0 0 -0.208182 0 -0.0520814 0 -0.422702 0 -0.466007 -0.617277 0 -0.0177641 0 0 -0.600656 0.00807508 -0.132101 0 0.0131076 0 -0.000925156 -0.0768659 -0.109039 0.108694 -0.0106296 0 0.00177106 0 0 0 0.000927679 0 0 -0.0104211 -0.00259853 -0.331584 0.0215958 0 0 -0.0515804 0 -0.000235996 0 0 0.0117281 0.0421351 0.184348 0.015055 0 0 -0.100638 -0.00990462 0.0182257 0.178329 0.275287 0 0.108277 0.00926402 0.142499 0 0 0 1.28533 0 -0.125669 0.885447 0 0.0149889 -0.0455461 0.280983 0 -0.00824505 0.0414734 -0.104067 0.328751 0 -0.740001 -0.570548 -0.415155 -0.136033 0.953976 0.229489 -0.416645 0.512964 0.650672 0.210234 -0.0650943 0.344638 0.037498 0.150089 -0.122695 0.121312 -0.0188159 1.02608 -0.68577 2.04295 -0.389876 0.0299722 -0.287782 -0.110778 -0.473519 -0.179043 0.882495 0.0510862 -0.421661 0.0996017 -3.0474 -0.513039 -0.0270433 0.499092 -1.25903 -0.00269992 -0.00867968 0.0606989 0.00241923 -1.31423 -0.00517973 -0.0285996 -0.189007 -0.831366 -0.00186111 -0.0635891 -0.101917 0.314326 -0.063823 -0.503371 2.09459 0.816949 0.197386 -0.0991761 0.0148674 -1.67503 0.764729 -0.78718 0.354284 0.668416 -2.26906 1.74066 -0.50255 -0.675598 6.14571 -0.329092 0.0570639 -0.0125794 -0.044812 0.615593 -0.189085 0.116068 -0.421073 0.11192 0.13788 -0.496617 28.757 3.58158 -3.13091 -1.74561 -2.08811 7.75236 -2.10357 0.647243 0.748099 0.0605564 -2.08472 1.06425 -0.168244 -0.511586 1.90546 0 +425 0 0.0631056 0.191912 0.0162115 -0.0815671 0.0384698 0.0190623 0.733991 1.04852 0.386433 0.388804 0.11273 0.951468 -0.00807286 1.23121 0.0346637 1.66748 7.24932 0.0375724 0.044161 -1.59224 0.0462088 0.191764 0.00939373 0.0864993 0.486765 0.371074 0.132956 -0.183008 -1.16412 0.453169 0.0579588 0.258625 0.136002 0.325564 0.305169 0.0353706 0.500909 0.121294 0.407132 -0.534261 -0.0396822 1.70399 0.104816 2.23861 -0.109796 0.0166912 -0.414791 0.335982 -0.453271 2.6428 -0.337764 0.532061 0.13923 0.0836354 -0.028587 -0.749541 1.078 -0.293315 0.284192 0.146361 -0.803419 0.778121 -0.295808 -1.17121 -1.77464 -0.71451 1.18056 1.80458 0.00706964 0.26371 0.226651 0.945826 -0.320243 -2.52969 -0.133706 0.837628 2.839 1.1063 -1.7595 -0.374602 0.207817 0.324491 -0.601121 0.202088 0.54809 -3.39737 0.263792 -0.679588 1.70886 -3.17093 6.58255 0 0 0 0 0 0.0162115 -0.0815671 -5.69251e-05 0 0 0 0 -0.000611396 0 0.00889751 0 0 -0.000779506 -0.00206569 0.0100891 0 0.00275906 -0.025865 0.00277766 0 0 -0.0752364 -0.000137862 0 -0.0464332 -0.693391 0 0 -0.000847747 -0.173054 0 -0.215821 0 0.00343471 0 0 0.00158899 0 0 -0.538616 -0.0084405 -0.0148943 0 0.00214358 -0.00472533 0 0 -0.16178 0 0.000517417 -0.0669208 0.00213151 0 0 0.00526052 -0.00830667 0 -0.0142634 -0.0317892 0.000899498 -0.437403 -0.0379392 -0.00510949 0 -0.00674471 0.00460984 0.143031 -0.15404 0.0274416 0 0 0 3.90986 0.336698 0.227407 0.00931058 0.0381635 0.0130427 0.00151668 -0.000687955 0.0036089 -0.00139485 0 0 0 0 0 0 0.0384698 0 0.0190623 0 0 0 0 0.0256806 0.697901 0 0 0.154163 0 0.0125983 0 0.0300854 0 0 -0.448638 0 -0.0391216 0.00796508 -0.0337981 -0.0632847 0 0 0.230345 0 3.90412 0 -1.09487 0.780376 0 -0.0286855 -0.408319 -0.00591824 0 0.00907003 0 0 0.0926192 0 1.53938 -0.922778 0 0 -0.135702 0 0 -0.428892 -0.840134 0.0316253 0 -2.97568 0 0.924824 0.0786561 -0.0860862 0.0544214 0.243467 -0.157706 -0.894157 -0.0627464 2.04183 -0.407302 -0.172821 0 0 0 0.0457149 0.0362823 0 0 0 0 0.051922 5.60736 -0.510652 0.909191 0.2216 -0.308052 0.687421 -0.0820674 0.0107008 0.0118676 -0.0340277 0 0 0 0 0 0 +426 0 -1.05348 0.346124 -0.00034626 -0.0747579 -0.198098 0.289088 -0.358202 0.404128 -0.00805361 -0.57666 0.235323 0.771128 0.00108813 -0.459961 -0.00342907 3.62825 13.1282 -0.121609 0.00850918 0.199286 0.00282577 -0.208834 -0.00423763 -0.100727 -0.284214 1.17669 0.0763568 -0.670105 -0.658736 0.170285 -0.0114145 -0.0586598 -0.184475 -0.0443732 -0.309116 0.0196283 0.629838 0.408086 -0.00429983 0.473855 0.00885296 1.17317 -0.0120006 1.58052 0.0764014 0.699766 -0.877237 -0.0955541 0.0326113 -0.725548 -0.31791 -7.16762 -0.0405043 0.0171367 -0.128496 -4.54753 -0.249028 0.0555502 0.208894 -0.0210042 -1.16323 -0.102636 0.551813 0.0362503 0.022507 0.630983 0.00398246 0.271966 0.000799894 1.18476 -0.445481 -0.0761747 -0.811374 -0.465636 0.53967 -0.0148863 -4.70818 1.84431 -2.56492 1.48117 -1.58708 0.97374 0.966713 -1.10152 2.12976 -1.77435 -0.18356 0.137729 0.575323 -1.13081 3.72484 0 0 0 0 0 -0.00034626 -0.0747579 0.00344947 0 0 0 0 0.00109541 0 -0.0101513 0 0 0.00240889 0.00109765 0.00383183 0 -0.00121461 0.041137 -0.0184905 0 0 0.37253 3.99591e-05 0 0.070355 1.45978 0 0 0.0558229 0.288166 0 0.194362 0 0.0501827 0 0 0.00765854 0 0 0.516329 0.0152326 0.0377182 0 0.0495854 0.0592417 0 0 -0.302933 0 -0.00905438 0.2414 0.0188703 0 0 -0.00120233 -0.0157901 0 0.0316076 0.0634033 -0.00780102 -1.66069 0.033738 -0.045627 0 -0.0113386 -0.0271745 -0.0840982 -0.180024 -0.0247759 0 0 0 -2.77868 0.0744869 -0.372685 -0.0454999 0.1042 -0.261947 -0.00234879 0.000954547 0.0016204 -0.019483 0 0 0 0 0 0 -0.198098 0 0.289088 0 0 0 0 0.197112 0.21414 0 0 -0.361115 0 -0.0505031 0 -0.0106584 0 0 -0.456451 0 -0.981477 0.0695486 -0.343631 -0.0650297 0 0 0.0143566 0 -0.857817 0 0.488186 0.120174 0 0.60326 -1.17208 -0.0382281 0 0.0115051 0 0 0.0208863 0 -0.56174 -0.205901 0 0 -0.0171153 0 0 -0.181578 1.10645 -0.013802 0 -0.1611 0 -1.28368 0.218717 -0.115725 0.551404 -0.0161842 -0.600024 1.37306 -0.139069 0.143232 2.29787 -0.0385682 0 0 0 0.112353 0.174794 0 0 0 0 -0.076455 -3.40926 3.64913 -5.85939 1.24254 -1.19585 0.427558 0.41851 -0.376927 0.367302 -0.46294 0 0 0 0 0 0 +427 0 -0.677206 -0.238602 -0.154325 -0.625654 0.560233 0.310684 -1.17337 -4.62966 -0.323454 3.85572 -0.735383 1.04009 0.0452356 0.84474 -0.0749955 0.447742 3.90292 0.425511 -0.151586 3.09258 0.0263411 0.249379 -0.0316568 0.775008 -0.64893 -0.158383 -0.0288386 0.103391 2.35076 0.243954 -0.1228 -0.573708 0.831639 -0.232205 -0.216255 -0.134051 -0.10849 2.87941 -1.60642 1.01352 0.238409 -1.2391 -0.363141 4.46743 1.01051 0.385353 0.86585 -1.34992 0.693524 -2.90276 1.52319 -1.42891 0.336016 -0.783884 1.54577 0.345893 -0.378138 -0.848024 -1.18795 -0.332593 1.12285 0.244788 -1.44058 0.103908 1.71765 -0.160914 -0.540166 -1.2311 -0.121346 -1.91885 0.611301 -1.16085 0.0441366 0.713795 -2.54563 -0.48884 -9.27397 -11.1249 10.4745 -5.15006 4.97143 -6.79595 -5.83016 5.78555 -8.40302 10.5461 -2.42783 3.6831 -5.68092 8.62055 -13.2924 0 0 0 0 0 -0.154325 -0.625654 -0.000729876 0 0 0 0 0.00191584 0 -0.0492273 0 0 0.011342 0.0333159 -0.085972 0 -0.0124671 -0.0337498 -0.364596 0 0 -0.0777894 0.00241633 0 -0.0329856 -0.823527 0 0 -0.0080002 -0.136112 0 -0.199106 0 -0.0675737 0 0 -0.00761571 0 0 -0.582075 0.0271852 0.155698 0 -0.00790289 0.0665014 0 0 -0.11692 0 -0.0181104 0.0069869 0.045232 0 0 -0.0106126 -0.0117844 0 0.00760249 0.0612636 0.0127979 0.234876 0.018651 -0.00340398 0 0.00237934 -0.104367 0.25185 -0.0938845 -0.0698342 0 0 0 4.05549 -0.20114 0.921805 0.0663746 -0.0947243 0.210347 -0.0115074 0.0198127 -0.0398387 0.0913896 0 0 0 0 0 0 0.560233 0 0.310684 0 0 0 0 -0.642719 -1.0529 0 0 1.75101 0 0.222855 0 -0.0407241 0 0 0.989109 0 0.421752 -0.244556 0.608066 0.112163 0 0 -0.453811 0 4.06685 0 3.48351 0.184369 0 -1.78008 1.18787 0.0837157 0 -0.0937775 0 0 -0.0849106 0 0.946873 2.61781 0 0 0.291682 0 0 0.884557 -4.0958 0.00398666 0 0.789282 0 2.43465 -0.861315 0.386816 -1.84145 -0.0117924 1.68411 -2.93176 0.481749 -0.583306 -6.59797 0.211188 0 0 0 -0.565159 -0.484191 0 0 0 0 0.355978 -24.0203 -13.288 12.766 -3.46248 2.7373 -2.04051 -1.53069 1.2377 -1.23174 1.35935 0 0 0 0 0 0 +428 0 0.850052 0.254563 0.0445495 0.0226476 0.152197 0.194058 0.304673 0.994953 0.310103 -1.17402 0.511616 0.62482 -0.0216936 2.10564 0.0426934 0.0323446 -0.275748 -0.166705 0.077688 2.15188 -0.0344356 -0.43454 0.0196065 -0.345675 -0.142357 0.160199 0.100782 -0.660073 -1.60563 0.530525 0.0772774 0.0953003 -0.984414 0.365095 -0.204136 0.114338 0.523315 -3.12316 0.869819 1.45082 -0.0970837 1.83175 0.204084 2.59886 -0.366093 0.855536 -1.05507 0.202932 -0.640952 2.91013 -1.25413 -6.88481 0.084385 0.073452 -0.617949 -3.49569 -0.601817 -0.349202 0.766739 0.24578 -2.26898 -2.39331 -1.97387 -0.540008 -1.59426 0.224289 -0.692818 0.737514 -0.0748984 1.31397 -0.813759 0.885714 0.324504 -3.60693 1.52793 -0.783459 16.1537 9.41716 -4.13838 5.59934 -5.27873 9.28745 2.22587 -2.33994 4.28308 -3.09183 0.817045 -1.36367 2.47189 -3.33987 5.96626 0 0 0 0 0 0.0445495 0.0226476 0.000777654 0 0 0 0 -0.000249253 0 0.00935664 0 0 -0.0045391 -0.0126042 0.0233457 0 0.00327414 -0.0288108 0.0553416 0 0 0.369611 -0.000879639 0 0.063668 0.649883 0 0 0.0542365 -0.00748346 0 0.0424836 0 0.0771337 0 0 0.0111123 0 0 -0.216809 -0.00379583 -0.070417 0 0.00586199 0.065123 0 0 -0.36894 0 -0.00252705 0.048602 -0.00732281 0 0 0.00790936 -0.00649915 0 -0.00977792 -0.0461502 -0.00426368 -0.825779 -0.0688842 -0.0317947 0 0.0103583 0.0130632 -0.00810484 -0.0831761 0.0349433 0 0 0 4.07523 0.657703 0.086199 -0.0298487 0.147718 -0.187415 0.00471677 -0.0048466 0.0159131 -0.0202954 0 0 0 0 0 0 0.152197 0 0.194058 0 0 0 0 0.47672 1.2432 0 0 -0.41175 0 -0.0665625 0 0.0727336 0 0 0.0598262 0 -0.293196 0.0959425 -0.402402 -0.0130848 0 0 0.442234 0 5.3473 0 -0.679072 0.774004 0 0.592781 -0.349387 -0.0584683 0 0.0727461 0 0 0.179679 0 2.25841 -0.364318 0 0 -0.0771181 0 0 0.0358443 -0.624307 0.568455 0 -1.32419 0 -0.644428 0.436687 -0.511993 0.518677 0.0726291 0.0199145 0.293855 -0.268255 -0.103125 -0.68324 -0.0392046 0 0 0 -0.171367 0.199995 0 0 0 0 -0.080212 2.37289 2.82364 -3.48811 0.450679 -0.421993 0.570122 0.45131 -0.421343 0.428605 -0.553783 0 0 0 0 0 0 +429 0 -0.237884 -0.436152 0.0166921 -0.173086 -0.00915752 -0.165517 0.574336 1.35919 0.38432 -0.716055 -0.321699 0.480999 -0.0157461 1.76155 0.00776981 -1.49006 -3.18002 -0.202084 -0.0590944 2.51637 -0.0992904 0.418012 0.0274655 -0.343724 0.605834 -0.757884 -0.0141808 0.415605 1.60841 0.291069 0.104331 0.0421762 0.492521 0.209328 0.355503 -0.0128166 0.00640128 0.505861 -0.710798 0.579833 -0.0450927 0.590511 -0.034236 2.69848 0.031113 -0.0457172 0.776642 -0.330032 0.00263465 1.42257 -0.0147745 -1.57752 0.396466 -0.287618 0.121368 1.51572 1.37778 -0.0378327 0.546458 0.126281 -1.01342 -2.2959 1.12194 -2.01583 -0.509848 -1.08816 1.01875 -0.0362051 -0.192354 1.63626 -0.0481155 -0.0315591 -0.0760859 -3.02195 -0.142064 -0.764133 -8.20624 0.490577 -4.91345 -0.370074 1.02413 -3.79571 0.716772 0.328166 -1.15928 -0.985797 -0.069438 0.826582 -1.85263 3.04741 -5.9766 0 0 0 0 0 0.0166921 -0.173086 -0.000421967 0 0 0 0 -0.00118267 0 -0.0323139 0 0 0.00819248 0.0163839 -0.0245045 0 -0.00396937 0.013588 -0.227791 0 0 -0.0536184 0.00120835 0 0.0274124 -0.295894 0 0 -0.010074 0.0050679 0 0.00483451 0 0.00725103 0 0 -0.000146423 0 0 0.0918437 -0.0159671 0.110927 0 -0.00209804 0.118611 0 0 -0.279022 0 -0.0186445 -0.124866 0.051431 0 0 -0.008395 -0.0124836 0 0.0145131 -0.019419 0.0206687 -0.261018 0.0864332 -0.0343398 0 0.0184726 -0.118939 0.0924244 -0.073857 -0.155297 0 0 0 1.51171 0.0279817 0.419502 -0.0112074 0.0594058 -0.0945374 -0.0087855 0.0168932 -0.0345931 0.0584121 0 0 0 0 0 0 -0.00915752 0 -0.165517 0 0 0 0 -0.0177347 0.535928 0 0 0.353065 0 0.0156387 0 0.0340285 0 0 -0.252359 0 1.12338 0.0952196 0.254125 -0.0519048 0 0 0.19972 0 2.56712 0 5.06065 0.115675 0 0.361259 2.25539 0.020049 0 0.0207039 0 0 0.0931449 0 0.723941 -0.550127 0 0 -0.112593 0 0 0.281223 1.10956 0.143695 0 -1.49064 0 0.828722 -0.194836 0.0378685 0.091357 -0.233935 1.63613 -0.447776 0.143373 0.620292 -3.13304 0.338085 0 0 0 -0.379861 -0.0418411 0 0 0 0 0.2087 -46.0257 -8.55852 1.63042 -4.03932 3.27548 -3.37398 -0.376974 0.286309 -0.202235 -0.237899 0 0 0 0 0 0 +430 0 -1.51258 -0.444788 -0.162687 -0.52289 0.281638 0.27503 -2.22368 -5.84016 -0.327705 4.41948 -0.601121 -0.153933 0.0615838 1.41848 -0.0646258 -2.10989 -10.1713 0.673215 -0.208276 4.07867 0.138113 -0.0222396 -0.0538793 1.10286 -1.15669 -0.378493 -0.0399023 -0.117317 0.619599 0.228433 -0.159176 -0.42115 0.563713 -0.199502 -0.465696 -0.129568 -0.606635 4.86638 -1.20745 1.71061 0.245449 -2.12383 -0.298561 1.31116 0.826173 0.754448 0.0882284 -1.23806 0.505352 0.279684 1.63579 0.645255 0.430002 -0.538796 0.621245 -0.716059 -0.0402567 -0.20038 -1.49027 -0.31511 1.07771 0.301767 -0.822274 2.05123 1.31391 1.04284 -0.893834 -1.22066 0.0478736 -2.90896 -0.0911258 -0.723996 0.785129 -0.36175 0.241706 0.858191 -16.5852 -11.9049 11.0584 -7.04142 7.65046 -9.47785 -7.16877 6.91784 -8.34278 11.4769 -1.84385 2.23437 -2.22637 2.90854 -2.30233 0 0 0 0 0 -0.162687 -0.52289 -0.00239193 0 0 0 0 0.00121417 0 -0.0300501 0 0 0.00619496 0.023046 -0.0794127 0 -0.00816894 -0.0888164 -0.270803 0 0 -0.11722 0.00170448 0 -0.145769 -1.64727 0 0 -0.0147092 -0.414889 0 -0.389814 0 -0.0811748 0 0 -0.0094989 0 0 -0.884234 0.0167862 0.0809321 0 -0.0342841 0.0137776 0 0 -0.0194884 0 0.00081236 -0.104038 0.00557533 0 0 -0.00464833 0.00442866 0 -0.0132392 0.0252867 0.00872121 1.22599 -0.0449694 0.0171501 0 0.00807191 -0.0395152 0.212136 0.0660646 -0.0317821 0 0 0 5.62264 -0.0517241 0.960742 0.0772566 -0.107097 0.276351 -0.00602518 0.0124672 -0.0256051 0.0792304 0 0 0 0 0 0 0.281638 0 0.27503 0 0 0 0 -0.341333 -1.73662 0 0 1.71192 0 0.209871 0 -0.113715 0 0 0.506558 0 0.691261 -0.15855 0.507001 0.0898021 0 0 -0.82211 0 -5.39231 0 7.10014 0.440123 0 -1.19498 2.28862 0.0618075 0 -0.0442336 0 0 -0.238556 0 -0.591318 0.817062 0 0 0.134294 0 0 0.0344586 0.0611202 -0.80093 0 0.430111 0 1.14986 -1.11071 0.96795 -1.51835 -0.192787 2.51303 -1.04185 0.498469 1.66115 3.63216 0.464671 0 0 0 -0.00208095 -0.472658 0 0 0 0 0.399947 -53.1128 -15.6183 9.44569 -5.29466 4.27158 -4.50234 -1.392 1.13571 -1.2011 0.915985 0 0 0 0 0 0 +431 0 0 0 0 0 0.166814 -0.283683 0.625375 0.147698 0 0 0.047996 -0.185539 0 -0.921146 0.000670045 0 0 0 -0.0942697 1.4766 0 0 0 0 0.469233 0 0 0.966811 0.977473 -0.577559 0 0.562897 0 0 0.410904 0.0156416 0 0 0.22076 -0.175184 0 0 0.0465382 0.921912 0 -0.810899 1.15411 1.02189 -0.0700139 -4.01066 0.358889 0 0.0791036 -0.257055 0.1922 0.095339 -0.127279 -0.390034 0 0 -0.325654 -2.58619 0 -0.472326 1.07059 -0.0351712 0 0 0 0 -0.169938 0.387186 0 0.19119 -1.01633 0 0 0 -1.29102 0 -0.163913 -2.21856 0 0.152855 -0.656688 0.74255 0 -0.169019 0.304179 0.422383 -3.6406 0 0 0 -0.0503519 0.0154628 0 0 0 -0.0405315 0.0219154 0 -0.00745101 0 0.00823418 -0.0357659 0 0 0 0 -0.210227 0 -0.0275474 0 -0.410376 0 -0.193043 0.0136417 0 -0.00407522 0 0 -0.164241 0.00205257 -0.00883729 0 0.00414893 0 0.00163545 0.0220537 -0.0261073 0.0175547 0.0053679 0 0.000668666 0 0 0 0.00026299 0 0 -0.00617019 0.00234824 -0.482416 0.0317276 0 0 0.0160604 0 -0.00293505 0 0 0.00466942 0.00600807 -0.121882 0.0600821 0 0 -0.150553 0.00991278 -0.0103771 -0.259791 -0.503055 0 -0.167088 -0.00196937 0.0727363 0 0 0 1.93108 0 0.0394277 0.411531 0 0.0199184 -0.0109189 0.477474 0 -0.00371394 0.0143319 -0.022068 0.127531 0 0.166814 -0.0503519 -0.283683 0.0154628 0.0288934 2.41004e-05 0.17858 0.272949 1.94016 -0.0311895 0.0267063 -0.201276 -0.00574627 -0.0201409 0.0381891 0.0901437 0.0331294 -0.130056 0.261142 -0.46654 -0.372397 0.0208653 0.169995 0.0315707 0.210857 0.0310216 0.833302 -0.0145415 -0.442295 -0.0393745 -0.765878 -1.63169 0.00713247 0.230339 -0.203984 0.0359235 0.000430238 0.00928547 -0.00916968 0.164406 0.273754 0.00552691 -1.88647 0.901064 0.0046187 0.00253564 0.0881651 -0.0811283 -0.0999623 -0.125738 -0.926712 -1.1361 -0.0483994 0.576755 -0.0525506 -0.42966 0.501499 0.201591 -0.14882 -0.00290521 -0.490979 0.311908 -0.123381 -1.67264 -4.75736 0.0856942 0.303216 0.0453315 -0.123785 -0.10115 0.0256022 -0.0235538 0.0824009 -0.0676798 0.0522621 -0.165843 2.09477 0.580152 -0.0378632 0.382734 0.0895636 -0.495601 0.105617 0.0443492 -0.0457515 0.171858 0.0695806 -0.00417386 0.0213807 0.0456888 -0.0639553 0 +432 0 0 0 0 0 0.520017 0.0869866 0.106645 -0.729851 0 0 0.189221 -0.857359 0 0.133091 0.0534214 0 0 0 -0.0242913 -2.43143 0 0 0 0 -0.223283 0 0 -0.141048 -1.79834 0.00848001 0 0.424993 0 0 -0.0795449 0.0150288 0 0 0.648375 -0.667171 0 0 0.113899 -2.99666 0 0.0982065 -0.41116 0.290887 -0.279589 1.88763 -0.562738 0 0.0704117 0.157485 -0.239675 -0.609718 -0.105575 -0.427167 0 0 -1.14535 1.41927 0 -0.461065 -0.475293 -1.04232 0 0 0 0 -0.26998 0.530251 0 0.231869 -0.244083 0 0 0 3.06416 0 -0.615678 3.4164 0 -0.533934 2.25362 -0.749613 0 -0.796287 2.03732 -2.99266 5.14845 0 0 0 -0.121764 -0.0195168 0 0 0 0.0283764 0.0264114 0 0.00330857 0 -0.00334808 -0.0106535 0 0 0 0 -0.0555656 0 0.00481481 0 -0.288088 0 0.277723 -0.0659351 0 0.000947603 0 0 -0.0566115 -0.000393942 0.00428076 0 0.00542973 0 0.00318036 -0.0920978 -0.00262996 -0.014632 -0.0103022 0 -0.000223688 0 0 0 0.000478865 0 0 0.00142701 0.00572722 -0.225427 0.0105566 0 0 -0.00503435 0 -0.00575117 0 0 0.01983 -0.0615365 -1.03195e-05 0.041297 0 0 -0.021918 -0.00256925 0.0162534 0.0612002 0.172246 0 0.217121 -0.0263203 -0.0232914 0 0 0 1.07669 0 0.125874 -0.0274377 0 0.0156268 -0.0313429 -0.0566143 0 -0.000133481 0.0106741 -0.00733771 -0.188232 0 0.520017 -0.121764 0.0869866 -0.0195168 0.353997 0.0765511 -0.0296721 -0.239573 -0.267552 0.0228735 0.0414676 0.272028 0.00376446 0.0384332 -0.0177967 0.00480532 0.0159098 0.140265 -0.110832 0.0769342 -0.124489 -0.0521777 -0.0829151 0.00352852 0.15753 -0.0443966 0.0334064 0.014455 -0.931275 0.260328 -0.650053 0.17513 -0.00414059 -0.703074 -0.513835 -0.0178809 0.00552115 -0.0510073 0.0524505 -0.348085 -0.0571149 -0.00724333 0.163457 -0.208281 0.00466891 0.0245731 0.0389446 0.0459058 -0.021578 -0.237763 1.03347 1.29972 0.0226205 -0.767912 0.0473516 -0.330756 -0.00385485 -0.720862 0.0468856 -0.215781 0.147309 -0.0167484 -0.10923 -0.0628949 -5.88519 0.153263 -0.230615 0.0603303 0.295458 -0.136105 -0.0414558 -0.0465301 -0.0379911 0.0734422 -0.154758 0.175691 1.77798 -0.113231 0.804219 -0.0179309 -0.885157 0.585026 -0.128607 -0.154175 0.296815 -0.589224 -0.0750423 -0.118313 0.186124 -0.246113 -0.253853 0 +433 0 0 0 0 0 -0.770223 -0.139363 0.142778 1.53614 0 0 0.563324 0.378459 0 -1.36286 0.0394823 0 0 0 0.0847357 -3.43879 0 0 0 0 0.364739 0 0 -0.105384 -5.45714 -0.139717 0 0.035988 0 0 0.0162403 0.0315002 0 0 2.04382 -1.33108 0 0 0.293798 -0.568743 0 -0.436134 -1.2418 0.172802 -0.241013 -2.61368 -0.0401736 0 -0.325036 0.327972 -0.12909 0.243069 -0.112272 0.415702 0 0 0.746127 3.49852 0 -1.19368 0.266681 0.598911 0 0 0 0 0.0337609 0.35089 0 3.85866 -0.100785 0 0 0 -2.50747 0 -1.27974 3.01734 0 -0.0183995 1.77109 -4.22823 0 -0.92452 3.88946 -8.73876 16.6301 0 0 0 -0.333988 -0.0588274 0 0 0 0.0540734 -0.0433065 0 0.00726339 0 -0.0135381 -0.0370448 0 0 0 0 -0.0219234 0 0.00181536 0 -0.29568 0 0.449391 0.47768 0 0.00203517 0 0 -0.0400099 -0.00516329 0.0694908 0 -0.00322374 0 -0.00306683 0.123552 0.00334545 -0.0782077 0.0129425 0 -0.00093824 0 0 0 -0.000255261 0 0 0.013801 -0.00461437 -0.248614 -0.0657566 0 0 -0.0253022 0 0.00537401 0 0 -0.00916906 -0.0183298 0.140856 -0.00946523 0 0 -0.150128 0.0512711 -0.0157256 -0.235269 0.0483647 0 -0.198579 -0.0280996 0.0489854 0 0 0 1.39903 0 0.204412 0.410591 0 -0.00252518 0.0695084 0.314658 0 0.00628982 -0.00736802 0.0495511 0.23831 0 -0.770223 -0.333988 -0.139363 -0.0588274 0.549819 0.118871 -0.391384 0.645316 -1.72198 0.0265812 -0.0321275 -0.500477 0.0047905 -0.0296737 -0.0583789 -0.0833405 -0.0400812 0.113515 0.179361 0.397468 -0.305008 0.235361 -0.523373 0.0361719 -0.245739 -0.0969803 -0.641294 0.0105931 -9.44435 0.660005 -2.93992 -0.70501 -0.00873645 1.94939 -1.50101 -0.0615116 0.00657775 0.0719243 0.0750908 -0.964329 -0.264415 -0.0101431 -3.20912 0.468751 -0.00579677 0.0640048 0.0896061 0.0616281 0.13839 -0.180931 -1.11036 -0.0587954 0.0215004 -0.579904 0.10397 -0.274954 -0.0533442 -0.11616 0.0147827 0.52487 0.385799 -0.0116399 -0.243812 1.93902 -1.78366 0.0302889 -0.552438 -0.113133 -0.0777669 0.18184 0.0641994 -0.15335 0.0105066 0.150975 0.257164 0.539334 8.04106 1.85481 -6.65378 0.631196 -2.91839 3.96757 0.0886883 -0.619245 1.0545 -1.26148 -0.0607312 -0.301173 0.611044 -1.04062 1.81088 0 +434 0 0.0443457 -0.0886585 -0.0382877 -0.0876078 0.0660319 0.130099 -0.315531 -0.356004 -0.359329 0.783747 -0.265396 0.0475781 0.008069 0.0704876 -0.0592166 -0.66294 -1.48435 0.00126102 -0.0601028 -1.02346 0.0158559 0.00534485 -0.0106121 0.253474 -0.0821424 -0.232687 -0.0323212 -0.338256 0.198014 0.135187 -0.0640163 -0.567472 -0.131673 -0.182767 -0.153352 -0.0495817 -0.387472 -0.380543 -0.427248 -0.179181 0.0482786 -1.36864 -0.0845374 -0.0429637 0.252271 0.153587 -0.200828 -0.736706 0.220479 1.16867 0.372621 2.39252 0.0345868 0.00656059 -0.0359827 0.494905 -0.250502 -0.217777 -0.351946 -0.105456 0.219229 1.12361 -1.05508 -0.629913 -0.125422 -0.503214 0.506013 -0.158706 0.114578 -0.163058 0.289746 -0.416416 0.391168 0.0641378 0.322681 0.0674301 -2.37849 -3.20652 1.39223 0.0879457 -0.523901 1.48066 -1.09836 0.567336 -0.709618 -0.121039 -0.115439 0.223347 -0.342601 0.602082 -0.466709 0 0 0 0 0 -0.0382877 -0.0876078 0.00530108 0 0 0 0 0.000671903 0 -0.0119931 0 0 0.00415724 0.00347407 -0.02222 0 -0.00214812 -0.00221342 -0.119546 0 0 -0.309511 0.000320753 0 -0.118499 -0.0979792 0 0 -0.0353055 -0.0146179 0 -0.366642 0 -0.0532516 0 0 -0.00511757 0 0 -0.825575 0.011926 0.0535729 0 0.0807957 0.0308971 0 0 -0.0217515 0 0.0114812 -0.559968 -0.0177771 0 0 -0.00819054 -0.00844069 0 0.0083952 0.0512303 0.0215826 -2.38228 0.0131548 -0.0162859 0 -9.90545e-05 0.125381 -0.0694336 -0.0852507 -0.0662987 0 0 0 6.81535 0.168206 0.655731 0.0296478 -0.0667956 0.965321 -0.00585313 0.0100697 -0.0077263 0.0453312 0 0 0 0 0 0 0.0660319 0 0.130099 0 0 0 0 -0.126182 -1.01136 0 0 0.0810468 0 -0.000255498 0 -0.0514507 0 0 0.189943 0 0.277218 -0.0106237 0.0145252 0.00891826 0 0 -0.476606 0 2.89627 0 -0.32686 0.960926 0 -0.0565346 0.0412992 -0.00153083 0 -0.0189583 0 0 -0.11486 0 1.77356 0.165671 0 0 -0.016214 0 0 0.10772 0.0838019 -0.140793 0 -0.238033 0 -0.71759 -0.0249138 0.0418097 -0.355949 -0.041265 0.367871 0.520575 0.00441373 0.86494 5.07425 0.0406906 0 0 0 -0.010915 -0.0116162 0 0 0 0 0.0170324 3.32488 0.0116816 0.299806 0.105804 -0.0807211 0.420446 -0.0683125 0.0736325 -0.0445012 0.0653979 0 0 0 0 0 0 +435 0 1.56771 -0.26356 0.000743796 0.0440078 0.19774 -0.194159 0.381015 -0.164756 -0.0684436 -0.130832 -0.105631 -0.334093 -0.00249782 -0.574537 -0.0744613 -1.88075 -7.38879 -0.0170422 -0.132797 0.537195 -0.0150555 0.385589 0.00167877 -0.0270371 0.3095 -0.731902 0.0213553 0.596017 0.390614 -0.183635 0.00252902 -0.558289 0.21541 0.186087 0.374506 -0.0203866 -0.094099 -2.25944 0.0157317 -0.522767 -0.0166765 -0.555542 -0.00560002 -0.924523 -0.106467 -0.695706 0.683003 -0.959239 -0.0168115 -0.428106 -0.0554415 -3.52472 0.257454 -0.0773748 0.136486 1.57982 -0.0597202 0.294113 -0.000827882 0.0534531 -0.62186 -0.558511 -1.48419 0.0307731 -0.164411 0.35026 -0.908545 -0.0930325 -0.0191653 -0.277293 -0.192023 -0.24539 -0.037937 0.442302 -0.545928 -1.03671 14.8714 3.49828 3.20855 1.64859 0.0895204 1.8391 0.114554 0.361098 -0.384517 0.942784 0.0487193 -0.0566039 0.0360969 0.175927 -0.920659 0 0 0 0 0 0.000743796 0.0440078 0.0019627 0 0 0 0 -0.000138929 0 0.0105164 0 0 -0.00152337 -0.00595616 0.0188226 0 0.00226017 0.0074989 0.110942 0 0 0.160089 -0.000361062 0 0.0290613 0.533234 0 0 0.0151063 0.0583592 0 0.0159722 0 0.0311386 0 0 0.00308308 0 0 -0.492434 -0.00325909 -0.0321641 0 0.0191546 0.0439853 0 0 -0.211082 0 0.00369498 0.0430671 -0.0188407 0 0 0.00214162 -0.00384678 0 -0.00105288 -0.0645273 -0.0142468 0.0631368 -0.0606261 0.00664156 0 0.0126944 0.0639943 -0.104148 0.0102297 0.0428929 0 0 0 2.42017 0.206645 -0.339165 0.0213408 -0.0231249 0.164608 0.00120281 -0.00386883 0.0356906 -0.121776 0 0 0 0 0 0 0.19774 0 -0.194159 0 0 0 0 -0.0127801 -0.53938 0 0 0.265233 0 0.0214385 0 -0.0254238 0 0 0.0805228 0 0.783283 -0.0490978 0.0718839 0.00485336 0 0 -0.2804 0 0.755448 0 -1.00853 -0.171557 0 -0.379634 0.761972 -0.00131379 0 0.00314728 0 0 -0.0620707 0 -0.0989348 0.450027 0 0 0.0519434 0 0 -0.125318 -0.822583 -0.0414574 0 -0.17413 0 0.0184471 -0.0577761 0.0709243 -0.25051 0.116684 -0.266031 -0.141955 -0.0872119 0.0491492 0.611588 -0.0970895 0 0 0 0.0474255 0.0206259 0 0 0 0 -0.0837805 9.82569 -0.583548 2.38854 0.1271 0.0470491 0.453198 -0.120896 0.0786611 -0.0883377 0.0582377 0 0 0 0 0 0 +436 0 -0.871533 0.217481 -0.0502506 -0.315134 0.522041 0.20576 -0.207921 -1.82207 -0.428998 1.02111 -0.238347 0.964786 0.00379034 1.79709 -0.0300308 1.60557 6.63884 0.162083 -0.0369276 6.03347 0.00894703 -0.0953532 -0.00793287 0.136318 -0.115682 0.312175 0.0268406 0.166489 1.60594 0.353545 -0.0576606 -0.140603 -0.170806 0.11239 -0.0118842 -0.0312178 0.142204 -0.814564 -0.386163 2.61913 0.0193335 0.491798 -0.0624201 4.10078 0.062846 0.999576 0.764144 -0.170578 -0.0214579 0.260948 0.00185224 -4.16055 0.12921 -0.120624 0.295865 -1.99857 0.802152 0.34666 -0.00153901 0.00336104 -0.463314 -6.23685 -0.550978 -1.21003 -0.17375 -0.655675 0.755217 0.210588 0.129508 0.437566 0.147912 0.13638 -0.0890996 -4.35085 -0.637728 0.323162 4.73921 -0.0577024 3.03853 0.824837 -0.126282 0.838884 -0.313552 0.880475 -2.14286 3.45867 -0.0287583 0.119642 -0.441501 1.2546 -3.78512 0 0 0 0 0 -0.0502506 -0.315134 -0.00278991 0 0 0 0 -3.02241e-05 0 -0.0120269 0 0 -0.00411013 -0.0065249 -0.0207366 0 -0.00239974 0.0468567 -0.10548 0 0 0.169105 -0.000424895 0 -0.0474313 1.06804 0 0 0.0212347 0.269831 0 -0.104705 0 0.00112488 0 0 0.000958196 0 0 -0.520521 0.00119677 -0.0602039 0 -0.0346319 -0.0366658 0 0 -0.0490645 0 -0.00535277 -0.883045 -0.00361544 0 0 0.00857869 0.00521321 0 -0.0182514 0.0298375 -0.0300926 0.506412 -0.0169026 0.00294433 0 -0.00638141 -0.0178796 0.199339 -0.0329749 -0.417932 0 0 0 5.17533 0.355351 0.791113 0.0058735 -0.0251337 0.771056 0.00506229 -0.00896842 0.0275106 0.155974 0 0 0 0 0 0 0.522041 0 0.20576 0 0 0 0 -0.361865 0.470378 0 0 1.18775 0 0.126294 0 0.043356 0 0 0.686282 0 0.0531001 -0.141961 0.442939 0.0974227 0 0 0.334213 0 10.0469 0 3.67566 0.996036 0 -1.16729 0.885182 0.0467823 0 -0.0480195 0 0 0.0677339 0 3.69811 1.40663 0 0 0.195974 0 0 -0.356149 0.300954 -0.404952 0 -1.01265 0 0.101779 -0.0315253 0.207721 -0.109816 0.0424067 0.523584 -0.146624 0.0759085 -1.32427 -5.50393 0.0159642 0 0 0 -0.0319799 -0.101878 0 0 0 0 -0.139648 -17.499 -5.60996 4.98491 -1.67928 1.62776 -1.93912 -0.470948 0.449995 -0.658614 0.787436 0 0 0 0 0 0 +437 0 -0.182214 0.311243 -0.000704638 -0.0389806 -0.135072 0.258218 -0.68086 -0.582077 0.0470579 0.233732 -0.0349974 1.10079 -0.00046207 1.31957 -0.0161749 2.18675 10.005 0.104257 -0.0311245 0.0432753 0.0325571 0.0508569 0.000834961 0.0875665 -0.216713 0.435204 -0.0169265 -0.559506 -0.822657 0.55794 0.00645992 -0.147548 0.147523 0.00456214 -0.233142 -0.0132839 -0.100918 -0.444023 -0.0536444 0.679076 -0.00360563 0.0481017 -0.0124278 2.5035 -0.0218291 0.700668 -0.719657 -0.285493 0.00588929 0.769613 0.15032 -1.47434 -0.00240926 -0.00628184 0.00723162 -3.60041 0.123778 0.0457652 -0.137452 0.0142046 0.559655 -0.6472 -0.936023 -1.37272 -0.135607 0.0473461 0.891003 -0.0542028 -0.00524771 -0.00888764 0.343958 -0.107983 -0.0823597 -2.73 0.640433 0.104542 -8.26815 -3.24111 -0.48163 -0.528931 -0.512724 1.09491 -0.299858 0.0464146 -0.0178903 0.443998 0.00889584 0.00503638 0.18756 -0.173144 1.50254 0 0 0 0 0 -0.000704638 -0.0389806 -0.00339872 0 0 0 0 -0.000419614 0 0.0046908 0 0 0.000220768 -0.00031942 0.00246988 0 8.40697e-05 -0.0083838 0.0470707 0 0 -0.0425328 0.000103661 0 -0.0547569 -0.668252 0 0 -0.00874473 -0.104993 0 -0.237087 0 -0.00701021 0 0 -0.00105527 0 0 -0.776515 -0.00662484 -0.0118858 0 -0.0572585 0.110553 0 0 -0.245775 0 -0.00670823 -0.444755 0.0134021 0 0 -0.000814223 0.00566949 0 0.00285529 0.0231823 0.0142515 -1.20634 0.0329743 -0.0199417 0 -0.0148294 0.0409345 -0.291837 0.0281244 -0.0401518 0 0 0 7.41067 0.48268 0.157377 0.0137616 0.00612277 0.670844 -0.00156289 0.00519874 0.0161132 -0.0724962 0 0 0 0 0 0 -0.135072 0 0.258218 0 0 0 0 0.117688 -0.440061 0 0 -0.0347384 0 -0.00897051 0 -0.0428821 0 0 0.221188 0 0.0639261 0.0261511 -0.0649611 0.0192544 0 0 -0.389994 0 4.4802 0 0.413686 0.889667 0 0.156233 0.354447 -0.00772471 0 0.0209823 0 0 -0.0504036 0 1.6306 0.444635 0 0 0.0518401 0 0 0.0449918 0.391658 0.0048022 0 -0.77096 0 -0.794588 -0.0615227 0.0452952 -0.0772063 -0.109673 0.296904 0.860783 -0.0774579 0.363924 -1.60052 0.142245 0 0 0 -0.000730069 0.0502857 0 0 0 0 -0.0331953 -0.834596 -0.556603 0.185849 -0.334524 0.17206 0.24111 0.0396899 -0.0275556 0.0506768 -0.105066 0 0 0 0 0 0 +438 0 0.149064 0.447033 -0.00529229 -0.0951111 0.10928 0.229019 -0.862245 -1.06775 0.136325 -0.00389884 -0.0245063 -0.200777 8.99658e-05 -1.02522 -0.0186019 0.114402 -1.66676 -0.0433586 -0.0308657 -0.441122 -0.023076 -0.583047 0.0013953 -0.0803222 -0.51844 0.429411 -0.0348642 -0.555517 -0.609268 -0.055688 0.0137504 -0.189219 -1.0444 -0.265062 -0.452028 -0.00330784 -0.0471325 -1.99757 -0.0555129 0.38867 0.00246935 -0.195535 -0.00689775 -2.20953 0.0418578 0.483672 -0.57587 -0.320716 0.0048534 -0.0457323 -0.342552 1.42 -0.0941669 0.0371052 -0.0666297 0.897579 -0.339065 0.210237 0.10541 0.00197185 0.461787 -0.130691 0.209468 0.460923 -0.2816 0.544359 -0.362628 0.147822 -0.014147 -0.307267 0.00569013 -0.160841 0.0270696 1.45848 0.508363 -0.334902 7.60506 1.96232 1.83215 1.27198 -0.226389 1.56328 0.0812475 0.0515364 0.0779654 1.1428 -0.017058 0.0226138 0.0859197 -0.113818 1.11279 0 0 0 0 0 -0.00529229 -0.0951111 -0.000806406 0 0 0 0 -9.83184e-05 0 -0.0103772 0 0 -0.000968431 -0.00222725 -0.00490969 0 -0.00104317 -0.0145704 -0.052016 0 0 0.189584 -0.000111809 0 0.00324666 -0.432127 0 0 0.019949 -0.101899 0 -0.0622003 0 0.0196335 0 0 0.00208552 0 0 -0.518486 -0.00366854 -0.0242316 0 -0.0356598 0.113564 0 0 -0.299067 0 -0.00106111 0.0794115 -0.00647501 0 0 0.00172774 0.000896803 0 -0.00641619 0.00616859 0.0156971 1.01106 -0.0615826 -0.0349434 0 0.00454528 -0.0495932 0.00036909 0.0829658 0.0687229 0 0 0 5.10677 0.422506 0.442536 0.038495 0.0568144 -0.507737 0.000258222 0.00576409 -0.0103387 -0.01816 0 0 0 0 0 0 0.10928 0 0.229019 0 0 0 0 -0.0246672 0.531425 0 0 0.278331 0 0.0351069 0 0.0210325 0 0 -0.464713 0 -0.79968 -0.00525749 0.0971874 -0.0639276 0 0 0.204615 0 -3.71875 0 -0.926709 -0.427683 0 -0.0113543 -0.868802 0.0179401 0 -0.00728976 0 0 0.0588012 0 -1.52717 -0.721145 0 0 -0.0847657 0 0 0.0405418 -0.427345 -0.0328417 0 0.445921 0 0.625758 -0.0266927 0.0833084 -0.0613066 0.129178 0.0781299 -0.567883 0.065931 0.042469 4.24213 -0.0916802 0 0 0 -0.0214441 -0.0738314 0 0 0 0 0.0489586 -2.0519 -1.37606 0.109279 -0.408313 0.582892 -0.716584 -0.141951 0.116975 -0.110431 -0.174207 0 0 0 0 0 0 +439 0 -0.746771 -0.108887 -0.0481256 -0.348211 0.279816 0.0547343 -0.126672 -1.11169 -0.176817 0.808727 -0.309792 0.202718 0.00139871 1.21558 0.011242 0.170847 1.86177 0.00726021 0.00326125 1.83211 -0.0174644 0.0050597 -0.00181576 0.108913 -0.0841059 -0.101136 -0.0187281 0.119575 1.21912 0.138858 -0.0175972 0.00108953 0.117951 -0.0902123 0.0301042 -0.0205866 -0.163904 1.24339 -0.533785 0.438439 0.0113954 -0.800814 -0.0435766 2.47818 0.0585261 0.076258 0.480987 -0.157634 -0.0890593 1.51468 0.231821 1.66775 -0.0578885 -0.0532406 0.0468462 2.74297 -0.342046 -0.0567096 -0.10839 0.0318946 -0.370821 0.587255 -0.842548 -0.0399441 -0.299482 -0.808291 -0.160093 -0.10247 0.0246346 0.10285 0.335142 0.165219 -0.0372386 0.833012 0.0166574 -0.755818 0.510578 1.37438 -0.197894 1.1925 0.993854 -3.8884 -0.333925 1.02809 -1.90346 1.03504 -0.0238507 0.124568 -0.301856 0.816648 -2.22664 0 0 0 0 0 -0.0481256 -0.348211 -0.0010687 0 0 0 0 2.19735e-05 0 -0.00611094 0 0 -0.00420644 -0.00878255 -0.00311681 0 -0.000155823 0.00140446 -0.0499682 0 0 0.26528 -0.000526046 0 -0.0320326 0.677572 0 0 0.0303195 0.0611912 0 -0.184096 0 0.0220567 0 0 0.00268323 0 0 -1.07946 -0.00061542 -0.0715571 0 -0.0265314 0.0355207 0 0 -0.252944 0 -0.00190566 -0.789658 -0.0209993 0 0 0.00828185 0.00161057 0 -0.0214082 0.0242375 -0.023051 -0.00977122 -0.0857833 -0.000431564 0 -0.00459104 0.0783092 0.0739872 -0.0183785 -0.214789 0 0 0 9.31631 0.624172 0.739302 0.0351507 -0.0228717 0.787453 0.00437649 -0.00601316 0.036724 0.0402438 0 0 0 0 0 0 0.279816 0 0.0547343 0 0 0 0 -0.304452 -0.266383 0 0 1.16944 0 0.12587 0 0.00880993 0 0 -0.0753613 0 0.31552 -0.096709 0.396712 -0.0330399 0 0 -0.0158937 0 0.941247 0 5.21766 -0.0347153 0 -0.774052 1.38427 0.0400693 0 -0.0390899 0 0 -0.0116798 0 0.462503 -0.0882383 0 0 -0.0566654 0 0 0.0336433 2.24331 -0.395411 0 1.39705 0 -0.063627 -0.182234 0.346523 -0.197118 -0.0310514 1.02263 0.476581 0.0996749 -0.257865 7.79205 0.148322 0 0 0 0.0372312 -0.110189 0 0 0 0 -0.082675 -26.4265 -6.13573 3.14846 -1.86395 1.60004 -2.1592 -0.480779 0.416494 -0.577536 0.473568 0 0 0 0 0 0 +440 0 0 0 0 0 -0.0836394 0.146309 -0.618506 0.512189 0 0 -0.169727 0.464348 0 -0.446408 -0.0788371 0 0 0 -0.404586 -4.13486 0 0 0 0 -0.108092 0 0 -0.856626 0.908677 0.360036 0 -0.239391 0 0 -0.236514 -0.0312952 0 0 -0.230356 -1.00097 0 0 -0.0267963 -0.39138 0 0.301113 -0.958186 -0.620555 0.137339 -0.665802 -0.198418 0 0.198177 -0.350408 0.186923 0.136787 -0.36438 -1.55363 0 0 -0.188399 8.29039 0 0.457187 0.269346 1.21581 0 0 0 0 -0.340812 -0.336516 0 0.852011 0.789106 0 0 0 -1.3656 0 -0.0775601 -0.831697 0 0.148047 0.201425 -3.05697 0 0.279829 -0.858633 0.881761 -5.70905 0 0 0 0.0143713 -0.00349588 0 0 0 0.0144089 -0.00802369 0 0.00146965 0 -0.000556491 0.0074744 0 0 0 0 -0.0102979 0 0.00160024 0 0.0223663 0 0.147251 0.347836 0 0.000748986 0 0 0.126121 -0.000236305 0.0430457 0 -0.00089559 0 -0.000397764 0.0749275 0.01061 -0.00570571 0.00950694 0 -2.28355e-05 0 0 0 -4.30512e-05 0 0 0.000198779 -0.000433863 -0.196218 0.00575645 0 0 0.0141729 0 0.000554449 0 0 -0.0037663 -0.00502178 0.102227 0.00697997 0 0 0.00736897 0.0175365 0.00105403 -0.0508673 0.130631 0 0.199618 -0.00312849 0.0705191 0 0 0 -0.0568176 0 0.0199542 -0.681439 0 0.00119602 -0.0460427 -0.109765 0 0.000170635 -0.00659809 0.0212207 -0.336298 0 -0.0836394 0.0143713 0.146309 -0.00349588 -0.304529 -0.0501717 0.0865654 -0.0942403 -0.50971 0.00645122 0.00385651 0.0824692 0.0017978 0.00807512 0.00110093 -0.0298865 -0.013099 0.00847332 -1.24189 0.273293 -0.0941789 -0.0333187 0.131145 -0.195827 -0.0877546 0.130871 -0.426221 -0.00512749 -6.53231 -0.171619 -0.29175 0.252484 -0.000890633 -0.0616565 0.059289 0.0113259 -0.0061854 -0.0230256 -0.0337354 0.91473 -0.0556036 0.0162702 -1.82136 -2.33901 -3.77215e-05 -0.0302354 -0.32986 0.0219241 0.0483348 0.84388 -1.05546 0.12182 0.0216263 0.553751 -0.0575335 1.30167 -0.0707189 0.181981 0.223676 0.0199075 -1.30493 -0.356097 0.229434 -1.18519 -1.00971 -0.210477 -0.0428758 0.000369491 -0.194187 -0.431583 -0.0213717 0.0251181 -0.0129264 0.205809 -0.0314252 -0.192811 0.618955 -0.0375952 -0.575034 -5.72867e-05 0.150014 -2.01851 -0.00397332 0.00312983 -0.298089 -0.347362 -0.000518761 0.0186074 -0.1565 0.14625 -0.71377 0 +441 0 0 0 0 0 0.31405 0.295565 -0.72258 -2.15775 0 0 0.0295886 0.691588 0 0.289495 -0.0114522 0 0 0 0.187799 -3.63297 0 0 0 0 -0.512649 0 0 -0.848566 -1.10619 0.461011 0 0.062255 0 0 -0.287387 0.0090063 0 0 -0.348427 0.172392 0 0 -0.0854219 -0.258428 0 0.712249 -0.976914 0.970405 0.159156 -1.002 0.335738 0 -0.515155 0.0606719 -0.281155 -1.63154 -0.390248 -0.0549418 0 0 1.21933 -2.67487 0 0.122322 0.656228 -0.178962 0 0 0 0 -0.0130814 -0.430651 0 -4.11343 0.849216 0 0 0 4.84222 0 1.06731 0.323745 0 -0.0695191 -0.559282 3.61238 0 0.0319645 -0.589704 0.807048 3.07588 0 0 0 0.0187016 0.0286749 0 0 0 0.0489831 -0.00829585 0 0.00751207 0 0.000402624 -0.0141102 0 0 0 0 -0.0830822 0 -0.00986223 0 -0.105408 0 0.290696 0.17082 0 0.00351692 0 0 0.182439 -2.12534e-05 0.0427184 0 0.000420287 0 -0.000483188 0.0125696 0.022981 -0.00139808 0.0040172 0 2.46474e-05 0 0 0 1.49865e-05 0 0 0.00074807 0.00160245 0.00147408 -0.00867274 0 0 0.00754759 0 0.00292179 0 0 -0.0053649 0.0119999 -0.0875548 0.0125595 0 0 -0.0894008 -0.0170492 -0.0307371 -0.0659383 -0.458121 0 -0.188047 -0.00435916 -0.11008 0 0 0 0.000417207 0 0.0156829 -0.0447844 0 0.00116235 0.011028 -0.0295637 0 0.000158227 0.00150474 0.00121152 -0.029716 0 0.31405 0.0187016 0.295565 0.0286749 -0.0588939 -0.0326326 0.535095 0.0100259 0.622965 -0.0157084 -0.0251343 -0.189843 -0.00442236 -0.0439516 0.079439 -0.0155238 -0.0317056 -0.0672517 -1.40797 -0.594884 -0.0700165 -0.0541994 -0.126505 -0.203702 -0.132004 -0.0160082 0.00101971 0.00914044 -3.8088 0.0715328 0.234266 -0.114528 0.010646 -0.454336 -0.0599645 -0.0258707 -0.00286965 0.00542196 -0.0163812 -0.316861 0.0593846 -0.00288445 -1.79518 -2.88398 -0.00457649 0.00538253 -0.406152 -0.0160437 -0.193711 1.18067 -0.0825056 -0.464194 0.254839 -0.0554587 -0.357347 -0.310496 0.0317103 -0.0366831 -0.0692439 0.0356391 0.342135 0.127124 0.0214404 -0.503664 1.96494 -0.0094272 0.381186 -0.0171471 -0.291622 -0.658234 0.0300726 0.0068552 0.00690246 0.0520967 0.0278092 -0.0228429 -0.497 0.161322 1.25176 0.0641668 -0.105375 1.36249 0.0173104 -0.0248096 0.107097 0.235342 0.00411734 -0.0272826 0.0701398 -0.101422 0.364411 0 +442 0 0 0 0 0 0.126001 -0.116272 1.1098 2.47095 0 0 0.314087 0.0518455 0 0.172086 0.0474963 0 0 0 -0.0983802 2.11291 0 0 0 0 0.655833 0 0 0.196078 -0.382362 0.0262236 0 0.307367 0 0 0.30318 0.0975532 0 0 1.23307 1.02183 0 0 0.464437 -0.351965 0 0.353531 0.123889 0.00836313 -0.500806 0.0217401 -0.880348 0 0.0484239 -0.123384 -0.116911 0.402401 0.772999 0.719001 0 0 -1.67229 -6.45975 0 -0.453223 0.30948 0.341876 0 0 0 0 -0.374894 0.278699 0 -2.34171 1.27789 0 0 0 -4.48528 0 -2.08663 -0.27106 0 -0.565415 -0.167346 -5.10373 0 -0.819189 -0.0910718 -2.48354 1.96369 0 0 0 0.100688 -0.0146257 0 0 0 -0.0173911 -0.00759374 0 -0.00295043 0 -0.00163656 -0.0164518 0 0 0 0 -0.26822 0 -0.0213205 0 -0.338308 0 -0.0807461 -0.359966 0 0.00654279 0 0 0.424805 -0.000361466 -0.0717508 0 -0.00227624 0 -0.000296695 -0.102061 0.0549986 -0.0118785 -0.018424 0 -5.98327e-05 0 0 0 -0.000103501 0 0 0.00180415 -0.00105918 -0.0256163 -0.021127 0 0 0.0117133 0 -0.000455464 0 0 0.0416544 -0.00194593 0.0877142 0.0286455 0 0 -0.161277 0.0811463 0.0301224 -0.130662 0.695967 0 -0.022217 -0.00716959 -0.306778 0 0 0 1.28426 0 0.0685257 -1.04785 0 0.00466317 -0.0532684 0.235372 0 0.000646279 -0.00774466 0.0390661 -0.576594 0 0.126001 0.100688 -0.116272 -0.0146257 -0.112091 -0.0186355 0.249773 0.154884 0.572873 0.0292813 -0.0437129 0.324017 0.00767473 0.0680509 -0.0110866 0.041118 -0.0211823 0.0733694 0.722818 0.14528 -0.0665974 0.0393771 0.102866 0.0826933 -0.411527 -0.115506 0.163672 0.00341118 4.85707 0.198231 -0.0903741 0.495994 -0.00555479 0.0594157 -0.17784 0.0149311 0.00309601 0.0390432 0.0253424 -0.734124 0.057267 -0.0170388 1.75348 0.586252 -0.00150148 0.020168 0.0797196 0.0136164 0.206023 -0.669978 0.593825 -0.0675824 0.110418 -0.0769187 -0.0973283 -0.657742 -0.0190018 -0.117016 0.0581524 0.107324 -0.264832 -0.0827923 -0.0354401 -0.242493 -1.6987 -0.0163984 -0.652305 -0.0239379 0.081935 0.431598 -0.170096 0.0131638 -0.0438484 -0.225105 0.0927248 -0.131859 0.191731 -0.328253 -1.45324 -0.0750609 -0.809248 2.2487 -0.0224637 -0.0273299 0.158276 0.300146 -0.00449188 0.0247558 0.0324692 -0.0378192 0.345996 0 +443 0 -1.20338 -0.50898 -0.0241127 -0.172855 -0.142559 -0.334631 0.825805 1.0947 -0.313938 0.462867 0.0584826 -0.58492 0.00104282 -0.644455 0.0422684 -0.147311 -2.91807 0.0446805 0.0891686 -3.74222 -0.0118553 0.421875 -0.00377981 0.00403943 0.475577 -0.258434 0.0247703 0.59037 0.330861 -0.343599 -0.0344888 0.496421 1.29808 0.208869 0.40068 0.00717677 -0.0335254 6.22292 0.0447989 -1.91267 0.00247044 0.0612818 0.00858345 -2.89664 -0.0378195 -1.11558 0.621754 0.888825 0.00822872 0.815643 0.412633 -2.13518 -0.0401397 0.0549677 0.00385932 -1.16866 -0.35237 -0.28559 0.0354614 -0.0103156 1.0075 2.30392 1.7189 1.4932 0.299645 -0.380587 0.300485 -0.0855216 0.0651384 0.178431 0.283873 0.481538 -0.232419 0.244672 -1.06017 -1.22088 -21.3299 -2.83443 -6.11766 -1.37619 0.838348 -8.93343 0.116465 0.0171458 -0.731164 -2.04843 0.00533537 0.00568932 0.0202538 -0.129054 -0.762719 0 0 0 0 0 -0.0241127 -0.172855 -0.000190291 0 0 0 0 -6.18501e-06 0 0.000446155 0 0 -9.29575e-05 -5.30894e-05 0.00119471 0 -0.000122072 -0.0154536 0.0273908 0 0 -0.12059 -3.02946e-06 0 0.0124644 -0.239278 0 0 -0.0149534 -0.0705154 0 0.0631517 0 -0.0169433 0 0 -0.00185032 0 0 0.271374 -0.0001139 -0.00170084 0 -0.0035686 0.00160306 0 0 0.0747046 0 -6.1839e-05 0.160267 -0.00266223 0 0 -0.000137236 0.000500565 0 0.00161777 0.0072764 0.00354879 -0.392173 0.00460163 -0.0131619 0 -0.00775611 0.0795612 -0.0447463 -0.0163742 -0.0138216 0 0 0 -1.44572 -0.0385226 -0.274742 -0.00559084 0.0140947 -0.27985 1.03602e-06 2.17989e-05 -8.09454e-06 -0.0381784 0 0 0 0 0 0 -0.142559 0 -0.334631 0 0 0 0 -0.0235085 0.108883 0 0 0.395953 0 0.0510784 0 0.0292789 0 0 -0.24787 0 0.440313 0.00983489 0.0210225 -0.0309792 0 0 0.333852 0 -3.08322 0 3.37513 -0.617122 0 0.105849 0.85334 0.0043675 0 -0.00159133 0 0 0.0185964 0 -0.543961 -0.721616 0 0 -0.0829698 0 0 -0.353253 -0.115421 0.0280957 0 0.206542 0 0.621971 -0.0228801 0.0509902 -0.0273234 0.0260413 -0.289165 -0.173312 0.0442032 -0.551283 -3.83325 0.017962 0 0 0 0.186922 -0.0280346 0 0 0 0 -0.0820778 -20.8565 -3.04065 -1.22543 -0.753717 0.463813 -1.60107 -0.139901 0.0794957 -0.20345 -0.0813444 0 0 0 0 0 0 +444 0 0.342418 0.455616 0.021339 0.0462997 -0.0456129 0.0860913 -0.139457 -0.429084 0.326283 -0.691601 0.0185974 -0.765265 -0.00203034 -0.691969 -0.037802 -0.29002 -1.33383 -0.168895 -0.110972 1.95609 -0.0164015 -0.483314 0.00407387 -0.125141 -0.343498 0.269403 -0.0448316 0.11113 0.568821 -0.31168 0.036911 -0.302962 -1.33847 -0.28198 -0.210169 -0.00231152 0.0223886 -4.78163 -0.0221519 0.588956 -0.0113067 0.155326 -0.0165697 -1.71137 -0.0666399 0.167742 0.240375 -0.847714 0.0539133 -0.188525 -0.174869 -3.36976 0.250413 -0.0987308 -0.262436 -2.18603 -0.581898 -0.695377 0.145712 0.0084346 -3.05081 1.55197 -0.522395 -0.65441 -0.0488062 -0.647466 -0.149501 -0.112328 -0.117398 0.476578 -0.680186 -0.0799917 -0.366807 1.65939 0.00322363 -0.772561 20.1219 3.93478 4.0469 1.92528 -0.39684 4.03248 0.0964023 0.0644682 0.551207 0.258235 0.00940119 0.0171555 0.0366879 -0.107565 -1.31128 0 0 0 0 0 0.021339 0.0462997 -0.000229516 0 0 0 0 2.18534e-05 0 0.00252193 0 0 -6.73176e-05 0.000136624 -0.00248283 0 -4.39216e-05 0.0290123 0.0125836 0 0 0.202161 9.77235e-06 0 -0.00455341 0.900249 0 0 0.0223795 0.159897 0 -0.0568623 0 0.027633 0 0 0.0027705 0 0 -0.221601 0.000529106 -0.00231541 0 -0.00339831 0.0107338 0 0 -0.14665 0 0.00160422 -0.239153 -0.00543453 0 0 0.000299344 0.00173895 0 -6.99214e-05 -0.0199722 -0.00501322 -0.877011 0.0146185 -0.0224946 0 -0.000403116 -0.0149206 -0.0203176 -0.0372248 -0.0677638 0 0 0 0.511685 0.0156144 0.0791591 0.000382714 0.0002421 0.00620977 0.000133129 -0.00034994 0.0044529 0.0385327 0 0 0 0 0 0 -0.0456129 0 0.0860913 0 0 0 0 0.142727 0.0552127 0 0 -0.146466 0 -0.0339885 0 -0.0106382 0 0 1.44449 0 -0.540883 -0.0385072 -0.139471 0.21917 0 0 -0.113516 0 6.12118 0 -2.543 0.416875 0 -0.130717 -0.892387 -0.0232481 0 0.00157196 0 0 0.00358104 0 2.0867 2.31365 0 0 0.359559 0 0 -0.646868 0.503253 -0.039673 0 -0.395572 0 -0.462174 -0.0375198 -0.0220137 0.337865 -0.13316 0.0527155 -0.0264155 0.0307307 0.283131 -1.15354 -0.00783244 0 0 0 0.427246 0.0412482 0 0 0 0 -0.0753787 10.3422 1.16261 0.651651 0.39575 -0.155789 0.474157 -0.0317699 0.0359354 0.030212 0.143202 0 0 0 0 0 0 +445 0 0.244262 -0.191645 -0.00371036 0.132579 -0.19585 -0.00860353 -0.654893 -0.609288 0.186809 1.33103 0.0284285 -0.982131 0.00308776 -0.665258 0.0171945 -1.39865 -6.24127 0.247126 0.0563009 -3.07742 0.0663677 0.091569 -0.00181629 0.427158 -0.487237 -0.167637 0.0490053 -0.375207 -1.98573 -0.109878 -0.00129608 -0.019639 0.703945 0.209372 -0.28015 0.00308025 0.0657629 4.18312 0.200803 -1.02821 0.0174913 0.655092 0.0239133 -3.38164 0.0688624 -0.128985 -0.917653 0.0703563 -0.143968 0.347697 -0.0805535 2.58525 -0.0605834 0.096282 0.363913 -0.553749 0.404361 0.355208 -0.409033 -0.0354739 4.32233 -0.137278 0.717803 0.580407 0.144932 1.5555 0.678964 0.0262496 -0.0401912 -1.25391 0.645078 0.0357535 -0.172826 -1.38819 0.191146 0.628211 -15.5815 -3.68514 -1.58509 -1.86125 0.0168347 0.145914 -0.697735 0.0401358 -0.445193 3.31322 -0.00971473 -0.0302771 0.0606948 0.233185 4.5776 0 0 0 0 0 -0.00371036 0.132579 -0.000992196 0 0 0 0 -0.000120509 0 0.0438304 0 0 -0.000471713 -0.00141321 0.0295659 0 0.00411139 -0.0468181 0.305473 0 0 -0.10886 -5.69985e-05 0 -0.0365155 -1.17418 0 0 -0.00397863 -0.269405 0 -0.254143 0 -0.0211158 0 0 -0.00125002 0 0 -0.542074 -0.0025566 -0.0132846 0 -0.021202 0.0365723 0 0 -0.0874123 0 -0.00186437 0.0198832 -0.00299086 0 0 0.00100866 0.00118701 0 -0.00517141 -0.0784042 -0.00296476 1.44387 0.00980002 0.0594109 0 0.00896201 0.0455986 -0.0141278 0.0470264 -0.126927 0 0 0 3.37509 0.158599 -0.754104 0.0140409 -0.0309233 0.380027 0.000572681 -0.00145689 0.0190706 -0.228447 0 0 0 0 0 0 -0.19585 0 -0.00860353 0 0 0 0 0.0437388 -0.0765822 0 0 0.191505 0 0.0534197 0 6.76929e-05 0 0 -0.877506 0 0.199142 -0.0267756 0.0488102 -0.0702562 0 0 -0.00219189 0 -5.11552 0 0.709454 -0.0877932 0 -0.0401689 0.492242 0.0203754 0 0.000320347 0 0 -0.0150761 0 -1.35057 -1.84237 0 0 -0.158619 0 0 -0.653147 -0.942363 -0.0105671 0 -0.595196 0 0.666024 -0.0480757 0.111004 -0.734628 0.156807 0.434925 -0.304269 -0.0492917 1.26012 2.86602 0.0252035 0 0 0 0.346897 -0.0447584 0 0 0 0 0.0200689 -5.8826 -1.69174 0.931484 0.0729132 -0.117054 0.00538293 -0.0123082 -0.0143385 -0.0480647 0.0229348 0 0 0 0 0 0 +446 0 -0.178895 0.303613 -0.00801197 0.0442045 -0.155844 0.105627 -0.0403845 0.0590773 0.127391 -0.0220968 -0.0161936 0.170737 0.005239 1.30097 -0.0230034 0.282409 2.50792 0.010597 -0.066406 6.61046 -0.00150185 -0.352309 -0.00353572 0.0252926 -0.247589 0.328514 -0.0530904 0.276433 1.15171 0.0159607 -0.00603083 -0.220489 -0.482765 -0.274888 -0.171037 -0.0139798 -0.309088 -0.176252 -0.185497 2.58536 0.0240751 -0.842263 -0.0586456 3.65483 0.110272 0.799464 0.565807 -0.57925 0.155951 0.0549753 0.309467 4.50789 0.312217 -0.0146261 -0.0495703 2.55033 0.369646 1.08232 0.0819855 -0.0364326 -0.180946 -6.69205 -0.329368 0.332526 0.0909257 -0.122011 -0.656876 -0.410401 -0.061916 0.160112 -0.195859 -0.0678501 0.300093 1.30294 0.164057 0.718411 2.29274 0.893544 1.03387 0.626013 0.11446 -0.700409 0.129716 -0.0313367 -0.0390129 -0.336787 -0.0187986 0.0367153 -0.181644 0.358748 -1.74369 0 0 0 0 0 -0.00801197 0.0442045 -0.000760558 0 0 0 0 -8.31058e-05 0 -0.00245453 0 0 -0.00028978 -0.000285218 -0.0124733 0 -0.0017496 0.0557432 -0.018552 0 0 0.211658 -9.71575e-06 0 0.0212275 1.34931 0 0 0.0131073 0.275609 0 0.0460161 0 0.0287913 0 0 0.00148616 0 0 0.0447015 -0.00165685 -0.00667242 0 -0.0149963 0.00342275 0 0 0.0628496 0 -0.000242843 0.159843 -0.00366383 0 0 0.000215404 0.00176526 0 -0.000693079 0.0409333 0.00132199 0.716259 0.00806065 -0.0219306 0 -0.00205174 -0.00525897 0.219362 -0.00289878 -0.0913361 0 0 0 0.26861 0.037394 -0.207983 0.00235274 -0.00391207 -0.0278074 0.000190769 -0.000452569 0.00629563 -0.0221714 0 0 0 0 0 0 -0.155844 0 0.105627 0 0 0 0 0.240714 0.157696 0 0 -0.198703 0 -0.0145807 0 -0.0108934 0 0 1.43134 0 -0.317878 0.0665275 -0.0755313 0.211631 0 0 -0.0271057 0 8.31145 0 0.745629 0.260988 0 0.670227 -0.147905 -0.00524701 0 0.0162152 0 0 -0.00219163 0 2.06845 2.98395 0 0 0.432012 0 0 -0.221423 1.76 0.122599 0 0.73442 0 -0.230168 0.0503245 -0.13109 0.0293089 -0.050198 1.11774 0.119609 0.118114 1.08983 5.63267 0.00695879 0 0 0 0.338875 0.0600655 0 0 0 0 0.162997 -3.82694 -0.0429724 -1.34827 -0.128541 0.100656 -0.286286 0.0463915 -0.0348261 0.0787423 -0.17736 0 0 0 0 0 0 +447 0 0.186089 -0.234412 0.033981 0.0428456 0.0615284 -0.318096 0.554503 0.592162 0.45827 -0.397874 -0.179804 -0.254976 -0.00621827 -0.168245 -0.0291536 0.235026 -0.348396 -0.0615601 -0.138567 -0.571199 -0.03277 0.335974 0.0150567 -0.190854 0.57878 -0.290798 -0.0372695 0.702182 1.11617 -0.194295 0.0911035 -0.09282 0.615975 0.27032 0.420801 -0.0201739 -0.0446504 0.566334 -0.169763 -0.970425 -0.0192993 0.94226 -0.00351332 -1.90692 -0.0410566 -0.899151 0.913599 -0.694806 -0.0912549 0.382025 0.0515014 -2.43896 0.266651 -0.108838 0.337747 -1.00042 0.696997 -0.138974 0.156396 0.045596 -1.43587 0.445175 -1.43917 -0.0405315 -0.318013 -0.392952 -0.618318 -0.217176 -0.279686 0.308664 -0.135297 0.232465 -0.372201 -2.05721 -1.32478 -0.937523 -0.134949 -0.247797 -0.457179 -0.638791 0.621693 -1.99294 0.119919 0.0566722 0.229416 -0.647894 0.0069991 0.00668713 -0.0640594 0.340102 -1.68989 0 0 0 0 0 0.033981 0.0428456 -0.00168861 0 0 0 0 -0.000149075 0 0.0127068 0 0 0.000416865 0.000914862 0.0202487 0 0.00380232 -0.0138115 0.0619735 0 0 0.27261 4.24381e-05 0 -0.00872828 0.342136 0 0 0.0454814 0.0110798 0 0.0816015 0 0.0499789 0 0 0.00840188 0 0 0.603928 -0.00293683 0.00972372 0 -0.0327908 -0.0120265 0 0 -0.0658918 0 0.000938598 -0.263216 -0.000679653 0 0 -0.000241972 0.00579059 0 0.00205192 -0.0335051 0.00353232 -0.941239 -0.00118108 -0.0308837 0 -0.0109881 0.0424534 -0.0651385 -0.0555608 0.107168 0 0 0 -2.74681 -0.098896 -0.0396562 -0.00953443 0.0225052 -0.433405 -0.000273201 0.000645675 -0.00901171 0.0103646 0 0 0 0 0 0 0.0615284 0 -0.318096 0 0 0 0 -0.143287 0.522004 0 0 0.27762 0 0.0325992 0 0.0145371 0 0 -0.00629233 0 0.572126 -0.069494 0.0669096 0.00974299 0 0 0.11257 0 -1.0987 0 0.196395 -0.319543 0 -0.596285 0.75765 0.0121116 0 -0.0127288 0 0 0.0588215 0 -0.174383 -0.816723 0 0 -0.0774656 0 0 -0.101605 -2.18232 -0.0471675 0 0.0548701 0 -0.0460559 -0.00596611 0.059534 -0.380367 -0.0119226 -0.0806836 -0.232703 -0.0463157 -1.14266 -7.91678 -0.00113563 0 0 0 0.0416569 -0.0287449 0 0 0 0 -0.07878 -0.744763 -0.795685 2.46738 0.181685 0.145496 -0.162403 -0.112386 0.102087 -0.105044 0.187695 0 0 0 0 0 0 +448 0 0.0928517 -0.333731 -0.0542801 0.0915572 0.00247686 -0.0101009 -0.479692 -0.846492 -0.0116826 1.62158 -0.315241 0.93415 0.0236647 0.216705 -0.0280524 -0.266735 -1.79274 0.200052 0.000794616 2.99895 0.0701926 0.358612 -0.0243345 0.621751 0.0908378 -0.111797 0.0525099 0.103868 1.01434 0.09943 -0.100092 -0.454791 1.33005 -0.310607 -0.0146727 -0.0827164 0.013366 4.68195 -0.610269 0.663735 0.0969057 -1.21855 -0.155203 2.42492 0.382184 -0.0334649 0.418051 -1.00542 0.339343 -1.04542 0.719332 -0.818631 0.478681 0.161606 -0.207209 0.266167 -0.625586 -1.38146 -0.70125 -0.172931 1.86379 5.32044 -1.66033 0.468775 0.417841 0.513622 -0.481363 -0.0784855 0.0276946 -1.2425 0.20701 -0.482005 0.0722202 2.38516 0.477851 0.0802279 -15.6642 -4.85241 -0.438484 -2.18112 1.26345 -4.04718 -1.28987 0.71487 -1.31236 0.68655 -0.0651526 0.124468 -0.375774 0.654261 -1.53571 0 0 0 0 0 -0.0542801 0.0915572 -0.0016877 0 0 0 0 -0.000237796 0 0.0186665 0 0 -0.000259613 -3.82666e-05 -0.00568472 0 -0.00135352 -0.0325615 0.115143 0 0 -0.106463 1.75276e-05 0 0.0109078 -0.888689 0 0 -0.0159869 -0.182154 0 -0.123571 0 -0.0554905 0 0 -0.00805413 0 0 -0.432348 -0.00482242 -0.009223 0 -0.0342727 0.0452682 0 0 -0.0959523 0 0.000131515 0.110117 -0.00228757 0 0 0.00177273 0.004915 0 -0.00717982 -0.0220051 -0.00962711 2.09242 0.0215255 0.0366906 0 0.0116474 0.0211947 0.382302 0.00201111 -0.19458 0 0 0 3.76551 0.185677 -0.237699 0.0174622 -0.040558 0.471529 0.000623228 -0.00166176 0.0208868 -0.0899333 0 0 0 0 0 0 0.00247686 0 -0.0101009 0 0 0 0 0.0145184 -1.44191 0 0 0.1776 0 0.0516509 0 -0.0859776 0 0 0.172166 0 0.309741 -0.0435688 0.040098 -0.0035993 0 0 -0.598753 0 -4.89486 0 0.652415 -0.36129 0 -0.131576 0.561196 0.0208806 0 -0.00112869 0 0 -0.205715 0 -1.37053 0.345812 0 0 -0.0110448 0 0 1.32272 -2.55386 -0.0288376 0 1.38399 0 0.275047 -0.113122 0.0726844 -0.649337 0.126241 0.0491368 -0.397709 -0.112201 0.880391 4.19192 0.0187619 0 0 0 -0.497919 -0.0236647 0 0 0 0 0.523061 -4.31505 -1.20323 1.07011 0.295662 -0.26277 0.38176 0.0337947 -0.0440312 -0.00260971 0.034446 0 0 0 0 0 0 +449 0 0 0 0 0 -0.508141 -0.279635 -0.508479 -0.0735797 0 0 -0.528127 -1.88875 0 -4.14034 -0.28967 0 0 0 -0.793291 0.75561 0 0 0 0 -0.0771212 0 0 0.794218 3.25158 -1.11841 0 -1.23818 0 0 -0.121239 -0.147894 0 0 -0.630006 0.124501 0 0 -0.212128 -7.5052 0 -0.226741 1.65248 -2.81534 0.398593 -2.15468 0.118328 0 1.06976 -0.844052 0.918812 2.13891 1.38459 -0.495765 0 0 -0.66762 1.41404 0 0.44718 0.604512 1.6082 0 0 0 0 -0.767318 -0.392897 0 0.368097 -1.86811 0 0 0 -0.268496 0 0.283529 -3.2189 0 0.15859 -0.868181 0.730721 0 0.50702 -0.990867 1.58577 -6.78566 0 0 0 -0.0171853 -0.0137756 0 0 0 -0.0116207 0.00905507 0 -0.00283888 0 0.00185273 0.0198979 0 0 0 0 0.0567242 0 0.00795702 0 0.16734 0 -0.0352457 -0.358326 0 -0.00164462 0 0 -0.0803226 0.00100248 -0.0491129 0 0.000324536 0 0.000475896 -0.165013 -0.0121982 0.0190934 -0.0227765 0 9.78819e-05 0 0 0 1.7107e-05 0 0 -0.0024877 0.000708757 0.0231693 -0.00541039 0 0 -0.00804386 0 -0.000773317 0 0 0.000255303 0.00311638 0.12127 -0.0251276 0 0 0.0165908 0.0160321 -0.0141498 0.0595818 0.237985 0 -0.0547876 1.63983e-05 -0.123076 0 0 0 -0.758441 0 -0.088298 0.110659 0 -0.00810773 0.0016793 -0.0294079 0 -0.000843292 0.000235048 -0.00351679 0.0217412 0 -0.508141 -0.0171853 -0.279635 -0.0137756 -0.133451 -0.0429206 -0.0927567 -0.888811 -1.95733 0.0164615 -0.0240949 0.0738384 0.00308881 0.0333288 -0.0234189 -0.10431 -0.0280155 0.0861645 0.0461399 0.372552 -0.273627 -0.227837 0.110487 0.00562758 -0.360252 0.0886451 -1.05341 0.00432354 -11.7129 -0.382837 -2.3167 -1.44616 -0.003666 -1.14466 -0.870896 0.0278492 -0.009278 -0.156045 -0.0645876 0.580256 -0.216414 0.0161418 -4.49819 -0.717758 -0.00108472 -0.0562274 -0.0707402 0.0406311 -0.354398 -0.391886 -2.74081 0.394795 0.0187547 -4.27462 0.0421874 1.31147 -0.127818 0.0346904 -0.89094 0.269119 -1.50677 -0.685286 0.175973 1.38789 -5.292 -0.327223 0.091923 -0.0726092 -0.0299604 -0.807721 -0.144477 0.0933843 -0.0346773 0.0552345 0.0258302 0.592719 10.5328 0.239722 4.03471 -0.107062 0.653639 0.186271 -0.0179894 0.108868 -0.372543 0.887808 -0.00660617 0.107273 -0.282933 0.290774 -0.253325 0 +450 0 0 0 0 0 0.0452273 -0.301852 0.547598 0.93661 0 0 -0.0860229 -0.89695 0 -1.94878 -0.0642786 0 0 0 -0.0409444 -3.1174 0 0 0 0 0.353246 0 0 0.653169 2.31596 -0.654368 0 -0.376706 0 0 0.233838 -0.0119411 0 0 -0.323958 -1.10066 0 0 -0.106118 -3.6496 0 -0.807328 1.11358 -0.444276 0.17366 -0.657111 0.533714 0 0.0876917 -0.0516302 0.334799 -0.404098 -0.215934 -0.47645 0 0 0.777182 2.40689 0 0.386828 -0.141491 0.150317 0 0 0 0 0.293086 -0.701726 0 0.988864 -0.412383 0 0 0 -0.681684 0 0.458491 -2.67008 0 0.350751 -1.03931 -0.872701 0 0.341248 -1.18756 1.89438 -6.60407 0 0 0 0.0131711 0.0055001 0 0 0 -0.0434183 0.0275415 0 -0.00420825 0 -0.00101648 0.00434066 0 0 0 0 0.112825 0 0.00524601 0 0.177779 0 -0.406343 0.100982 0 0.00215002 0 0 -0.0108357 0.000154669 0.00743598 0 0.0021959 0 0.00145129 0.173577 0.00858544 0.00392581 0.0194236 0 -5.51353e-05 0 0 0 0.000115994 0 0 -0.000349826 0.00216293 0.109246 0.00629596 0 0 0.00779634 0 -0.00235995 0 0 0.0123199 0.0239349 -0.0929835 0.00536974 0 0 0.0298623 -0.00326606 0.00799948 0.0730221 0.0316837 0 0.151015 0.00858021 -0.00188392 0 0 0 -0.527157 0 -0.0104277 0.106983 0 9.45423e-05 0.000492422 -0.0577449 0 -7.07693e-05 0.00114407 -0.021273 0.248226 0 0.0452273 0.0131711 -0.301852 0.0055001 -0.000759462 -0.0702237 -0.205695 0.184478 -1.31729 -0.0171683 -0.00420544 -0.323976 -0.0031621 -0.0553211 -0.00925249 -0.0440368 0.00397209 -0.0936563 0.195687 -0.454507 -0.365109 0.0411601 -0.19222 0.00187022 0.117277 -0.0118179 -0.514787 -0.00475851 -5.34517 0.134742 -1.84362 -1.53546 0.000179718 0.454146 -0.862748 -0.033683 0.00354156 0.0266004 0.00566599 -0.042638 -0.106701 -0.00502797 -2.96801 0.779984 -0.00114628 0.0331718 0.090577 -0.0310486 0.172412 0.512617 1.58192 -0.010864 -0.0458885 1.18646 0.101205 -0.534142 0.0894316 -0.114218 -0.00883025 0.259556 -0.66796 0.493707 -0.173492 2.77375 11.4292 -0.128387 -0.0972172 -0.00772412 0.18614 0.0471774 0.0605189 -0.0711022 0.0282956 -0.124137 0.00539288 0.630899 8.38195 1.06082 -1.07651 0.283577 -0.470975 0.820629 0.0288963 -0.0378515 -0.073425 0.276781 0.00718056 0.0118583 0.0257822 -0.0849274 0.263696 0 +451 0 0 0 0 0 0.0541101 0.253474 -0.460166 -1.71197 0 0 0.0652358 0.125386 0 0.820754 0.0206052 0 0 0 -0.0156056 -6.03553 0 0 0 0 -0.572588 0 0 -0.151961 3.99942 0.285019 0 0.232535 0 0 -0.276304 0.0450923 0 0 -0.565192 -0.298378 0 0 -0.136464 -0.167388 0 0.81423 0.888487 0.627361 0.275344 -1.12736 0.351629 0 -0.0424861 -0.0673944 -0.0572604 -2.29834 -0.413928 -0.037067 0 0 -0.52929 -1.92433 0 1.35293 0.906451 1.07952 0 0 0 0 -0.463601 -0.853567 0 -1.77798 0.536461 0 0 0 2.34534 0 1.16341 -4.17848 0 0.608406 -1.49187 3.00708 0 0.659225 -1.50981 2.67774 -9.27082 0 0 0 -0.00263876 0.0299535 0 0 0 -0.0242921 -0.00180662 0 -0.000138615 0 -0.00349082 -0.0521829 0 0 0 0 -0.162635 0 -0.024601 0 -0.397448 0 -0.251384 -0.220025 0 0.00287643 0 0 0.258989 -0.00194736 0.011035 0 0.0006504 0 -6.93384e-05 -0.0272121 0.0299582 -0.0379594 0.0142189 0 -0.000183319 0 0 0 3.4984e-05 0 0 0.00480227 -9.31252e-05 0.202947 0.0105227 0 0 0.0411843 0 0.000101608 0 0 0.00939611 0.0098384 -0.0235003 0.0515038 0 0 0.0814361 -0.0256114 0.016044 -0.0679641 0.13025 0 0.308839 0.00903673 0.0736952 0 0 0 1.18454 0 0.168685 -0.754543 0 0.0145552 -0.0452551 0.0295359 0 0.00158545 -0.00575707 0.0218709 -0.283015 0 0.0541101 -0.00263876 0.253474 0.0299535 -0.251344 -0.171672 0.234684 -0.874646 1.35156 -0.0381956 0.0870073 -0.458588 -0.00692634 -0.0736246 0.0543332 0.0701247 0.0502309 -0.21143 -1.25834 -2.56153 -0.143188 -0.194048 -0.182937 -0.160488 0.608947 0.0349477 0.511622 -0.0535908 2.1347 0.291464 -2.19341 1.01578 0.00832978 -1.02866 -0.865142 -0.0284384 0.00614132 -0.150689 0.029044 0.223199 0.217914 0.00643245 1.15129 -2.37336 0.00866076 0.0563432 -0.343379 -0.355385 -0.0120391 0.791531 -1.60617 0.099974 -0.179308 -0.0836832 -0.115107 0.387889 0.255077 -0.184554 -0.177974 0.0329571 -0.874892 0.579481 -0.271835 -4.70191 -21.0185 0.0131768 0.365594 0.0425024 0.0829885 -0.631028 0.142947 -0.200087 0.07777 0.117101 -0.00908402 -0.6947 9.9723 1.42836 2.40867 0.564715 -0.962076 0.607683 0.0547764 -0.154601 0.295875 0.296716 0.0162102 -0.0700342 0.176447 -0.10322 -0.319454 0 +452 0 -0.591234 -0.149704 0.00190827 -0.0303333 -0.145327 -0.0888754 0.573862 0.952195 0.00137139 -0.618903 0.00915888 0.873623 -0.000842184 0.963034 0.00653155 -1.06603 -2.41975 -0.231731 0.00965237 -2.16258 -0.068409 0.132004 0.000484171 -0.226785 0.621866 -0.494543 -0.118029 -0.00284116 -0.233306 0.273644 0.00305866 0.0714028 -0.00446371 -0.642894 0.361574 0.00590482 -0.413687 -0.48659 -0.0692312 -1.17874 -0.00590827 -1.74248 -0.00134533 2.28701 -0.0439227 -0.61178 -0.132441 0.0987907 -0.0297282 -0.12411 -0.159892 5.31387 -0.114716 -0.0120648 -0.0208616 -1.20647 -0.291239 -0.118041 0.307924 0.0082424 -0.379891 1.40012 0.218139 0.192434 0.529069 -0.24832 0.0857127 -0.538049 -0.00845816 0.286669 -0.153736 -0.0659626 0.539911 -0.36223 0.258241 2.22677 2.07804 0.679526 -1.37006 0.305633 -0.499458 1.07319 0.596887 -0.330311 0.430709 -0.7231 0.000567231 0.00180876 0.0259935 0.0458296 0.260137 0 0 0 0 0 0.00190827 -0.0303333 -0.00010235 0 0 0 0 -6.13904e-05 0 -0.00265061 0 0 0.000848474 0.00198992 -0.00493395 0 -0.000467682 -0.033595 -0.0336614 0 0 0.045996 0.00010534 0 0.017713 -0.621626 0 0 1.26179e-05 -0.190599 0 0.0993129 0 0.0110675 0 0 0.000738008 0 0 0.323338 -0.00115968 0.0160368 0 -0.00192692 -0.0343897 0 0 0.0374118 0 -0.000209901 -0.181753 -0.00288117 0 0 -0.00163447 0.000156615 0 0.000448433 -0.0245968 -0.0029967 0.470208 -0.0127139 0.013889 0 -0.00252492 -0.00311676 0.156746 -0.0391207 -0.00534575 0 0 0 -2.65713 -0.192702 -0.0794383 -0.0120364 -0.0105523 -0.00416797 -0.000722725 -0.000633747 -0.00133508 0.00308115 0 0 0 0 0 0 -0.145327 0 -0.0888754 0 0 0 0 0.217955 0.187127 0 0 -0.138408 0 -0.0159472 0 0.0229359 0 0 0.100841 0 0.491298 0.0624314 -0.0268799 0.0118754 0 0 0.21954 0 4.69639 0 1.57219 0.932037 0 0.420415 0.825191 -0.00200947 0 0.0301182 0 0 0.0223004 0 2.47503 0.0896714 0 0 0.0161977 0 0 -0.0737568 0.0271088 -0.10087 0 0.0298194 0 0.749693 -0.137212 0.0587847 0.295263 -0.00940075 0.771704 -0.604823 0.131582 -1.01228 -3.05885 0.0196474 0 0 0 -0.00669762 0.0507456 0 0 0 0 -0.184612 -1.97648 0.0616562 0.382507 0.272059 -0.0350279 -0.48487 0.152831 -0.100503 0.02643 -0.0993628 0 0 0 0 0 0 +453 0 -0.103913 0.245471 0.000264626 -0.0532952 -0.172014 0.256313 -0.34299 -0.113633 0.252374 0.338631 -0.0220635 0.300878 0.000916996 0.651027 -0.00459884 3.29778 10.6911 0.165835 -0.00722392 1.50597 0.0563865 -0.12808 0.00132332 0.122258 -0.422297 1.07691 0.0990303 -0.619636 -0.649823 0.302123 0.0186624 -0.111256 -0.00724949 0.61155 -0.371503 -0.00165752 0.444276 0.411415 -3.76547e-05 1.228 0.00566528 2.05049 0.00185907 1.05771 0.0352622 0.961492 -0.593475 -0.181894 -0.00648396 0.631001 0.132593 -7.74504 0.0324082 0.0121953 0.0309651 -0.0897136 0.175571 0.244477 -0.185095 -0.00998693 -0.677743 -1.25232 -0.526875 0.929993 -0.298489 0.516634 -0.533308 0.396 -0.117067 0.0812237 -0.239165 -0.151338 -0.863292 0.262496 0.486581 -2.44083 0.0526788 -0.0965409 -0.913599 -0.124424 -0.0259768 -0.880258 -0.323247 0.185905 -0.235546 0.302301 -0.000455387 -0.00109298 -0.0154628 0.0201672 0.724555 0 0 0 0 0 0.000264626 -0.0532952 0.00163468 0 0 0 0 0.000192842 0 0.0111069 0 0 0.000696842 0.000584229 0.00845195 0 0.00115628 0.039711 0.074532 0 0 0.0140852 3.09373e-05 0 -0.00207869 1.0126 0 0 0.00743147 0.241485 0 0.00136361 0 -0.00572624 0 0 -7.75382e-05 0 0 0.0492218 0.00364272 0.0130442 0 0.0307938 -0.0187801 0 0 0.162591 0 0.00330883 0.208333 0.000642428 0 0 -0.00134785 -0.00253502 0 0.00967456 0.0154577 -0.000109871 -0.105132 0.0349319 0.0179718 0 0.00179046 0.0136259 -0.0689327 0.00666176 0.0497104 0 0 0 -2.77507 -0.220151 -0.377403 -0.0163205 -0.0143349 0.0618544 -0.00058077 -0.000508913 -0.00109312 -0.00599226 0 0 0 0 0 0 -0.172014 0 0.256313 0 0 0 0 -0.0565483 0.152699 0 0 0.110682 0 0.016333 0 -0.00226185 0 0 0.288085 0 -0.53694 -0.00315393 0.00336901 0.0452819 0 0 -0.0303252 0 5.09475 0 0.521808 0.756549 0 0.037105 -0.436074 0.0037952 0 -0.00753263 0 0 0.0169858 0 1.74399 0.348493 0 0 0.0498033 0 0 -0.175719 0.558189 -0.00654015 0 0.804735 0 0.281718 0.0408293 -0.0101525 0.0369778 0.0512192 0.325976 0.0679488 0.0136069 0.440032 5.98983 0.0155683 0 0 0 0.210231 -0.00172829 0 0 0 0 -0.0529546 -4.24068 -0.70716 -0.256351 0.0367875 -0.21813 0.105857 -0.0016922 -0.00262581 -0.0284508 0.0319828 0 0 0 0 0 0 +454 0 -0.165301 0.122601 -0.0128443 0.000703636 -0.0075436 -0.0904831 0.0587629 0.829665 -0.218566 -0.11716 -0.144234 -0.722066 0.00175935 -2.36356 -0.0207349 -0.51198 -3.94949 -0.0784968 -0.00878749 -1.43701 0.00956759 -0.296753 -0.00308456 0.0250142 0.100926 0.10569 -0.0243574 -0.12662 -0.402356 -0.38771 -0.0279192 -0.317941 -0.889212 -0.31447 -0.0501498 -0.021664 -0.181646 -2.63258 -0.119269 -0.849095 0.0111173 -0.946526 -0.0162577 -4.46667 0.0685818 -0.493514 -0.204825 -0.266255 0.012695 -1.27226 -0.0724648 4.65264 0.0835541 0.0306515 0.104545 1.82417 0.764828 0.318597 -0.0720582 -0.0237788 0.413926 0.718969 1.95667 1.03112 0.672389 0.351562 -0.0408835 -0.155435 0.094048 0.375231 0.00303296 -0.046902 0.395594 0.0770055 0.182685 1.95659 5.74899 1.7739 -2.69298 1.30481 -1.5237 2.87387 0.0744738 -0.164699 0.235301 -0.972318 -0.000885685 -0.00135609 -0.0356364 0.0789666 0.448629 0 0 0 0 0 -0.0128443 0.000703636 0.00135135 0 0 0 0 0.000254883 0 0.0087045 0 0 -0.00114936 -0.00343641 0.0123581 0 0.00140507 0.0266985 0.0837799 0 0 -0.194396 -0.000181905 0 -0.0207055 -0.0463544 0 0 -0.0210587 0.0523214 0 -0.115711 0 -0.0331406 0 0 -0.0035567 0 0 -0.356029 0.00481471 -0.0218137 0 0.0254526 0.0616434 0 0 0.158243 0 0.00274216 0.90306 0.00664125 0 0 0.00220928 -0.00209051 0 0.00931176 0.0506014 0.00641323 0.729309 0.0751816 -0.0182991 0 0.00797865 -0.00665816 0.103762 0.0319154 0.024103 0 0 0 1.54349 0.144975 -0.220392 0.00434761 0.00379144 -0.026848 0.000987884 0.000866503 0.00181113 -0.00748555 0 0 0 0 0 0 -0.0075436 0 -0.0904831 0 0 0 0 0.398329 -1.09992 0 0 -0.0717431 0 -0.0154306 0 -0.0613585 0 0 0.251147 0 -0.752118 0.0606598 -0.107315 0.000303068 0 0 -0.62705 0 -6.42681 0 -2.66202 -0.810815 0 0.544915 -1.31564 -0.0179547 0 0.0520164 0 0 -0.118364 0 -2.18441 -0.284512 0 0 -0.0898578 0 0 -0.0606401 3.42642 -0.302304 0 -0.692965 0 -0.694275 0.0899162 0.03538 0.39529 0.0650517 0.364629 0.538904 -0.0927521 2.35698 11.0822 -0.00995015 0 0 0 -0.022052 -0.0119937 0 0 0 0 0.318113 12.4252 0.634607 -0.908053 0.570775 -0.562689 1.05968 -0.0833063 0.0266413 0.063053 -0.292152 0 0 0 0 0 0 +455 0 -0.596238 0.175492 -0.0242066 -0.0049721 -0.12181 0.25711 0.366313 -0.0969165 0.0232853 0.908958 0.401552 1.45398 0.00991346 3.52669 0.183359 2.05388 8.08953 0.218797 0.315338 -0.135463 -0.00513747 -0.021717 -0.0111192 0.152412 -0.28234 0.534729 -0.171492 -0.660806 -1.52131 0.967951 -0.0297521 1.07671 0.357225 -0.0262277 -0.0705383 0.0745534 -0.48167 2.23709 0.250259 0.446843 0.0455392 -0.260577 0.0394018 6.38156 0.207668 0.655445 -1.09124 1.78284 -0.111786 2.30864 0.579189 2.8626 -0.566057 0.401881 -0.662762 -0.850193 -1.13601 -0.131177 -0.309025 -0.0748358 1.70553 -0.0860244 -1.18067 1.27974 -0.0194358 -1.38773 -1.01271 -0.709271 -0.0111606 -0.863663 0.829194 0.857431 0.249697 -0.0129329 1.20354 0.358574 -6.95622 -2.70908 0.682676 -0.900009 0.9338 -1.69668 -0.453921 0.617927 -0.666317 -1.2045 -0.187857 0.0681619 0.323087 -1.7684 5.34776 0 0 0 0 0 -0.0242066 -0.0049721 -0.000199505 0 0 0 0 -8.39877e-06 0 -0.00636941 0 0 0.000369548 0.00023134 -0.00947719 0 -0.00134797 -0.0824972 -0.0367937 0 0 -0.0498879 1.22465e-05 0 -0.0115281 -1.08353 0 0 -0.00821112 -0.312902 0 -0.0613687 0 -0.0230667 0 0 -0.0037581 0 0 -0.107549 -0.000158656 0.00698089 0 -0.00376871 -0.0175227 0 0 0.0641101 0 -0.00038432 -0.0834721 -0.00162403 0 0 -0.000711887 0.00032481 0 -0.00147687 -0.0334941 -0.00173255 0.834003 -0.0152054 0.0100959 0 -0.00182218 -0.00752879 0.0425267 -0.010794 0.00202473 0 0 0 -0.215887 -0.0613471 0.0379925 -0.0029316 -0.00257056 0.00262825 -0.000314349 -0.000275635 -0.000581422 0.00202046 0 0 0 0 0 0 -0.12181 0 0.25711 0 0 0 0 0.339881 0.507653 0 0 -0.173861 0 -0.0330416 0 0.0613923 0 0 -0.10416 0 -0.646589 0.0825957 -0.120294 -0.0106983 0 0 0.644314 0 6.63977 0 -0.488398 0.899628 0 0.612504 -0.817477 -0.0219764 0 0.045802 0 0 0.0377875 0 2.91005 0.448443 0 0 0.0692516 0 0 -0.083765 1.48104 0.17698 0 0.883495 0 -0.0520263 -0.132252 0.00842365 0.38213 -0.0264132 0.246715 -0.179797 -0.0644236 -0.772475 3.17091 0.0512004 0 0 0 0.114091 0.0518327 0 0 0 0 -0.198054 7.29249 -0.327701 0.755135 -0.152123 0.0363816 0.612203 0.049755 -0.0400545 0.0615798 -0.219804 0 0 0 0 0 0 +456 0 -0.157547 -0.0821711 0.0452497 0.0337447 -0.101066 -0.0652373 0.790643 1.6482 0.168637 -1.0128 0.27626 1.38768 -0.0172727 1.93567 0.112135 -0.646139 -0.710164 -0.199098 0.175334 -0.605982 -0.0149172 0.195475 0.0210646 -0.29425 0.6256 -0.346253 0.0878084 -0.0209967 -0.669588 0.656878 0.0751442 0.577684 0.199971 -0.0333853 0.336153 0.0670087 0.29932 -0.201813 0.502086 -0.337308 -0.0713441 0.4528 0.129846 3.40257 -0.280428 -0.102735 -0.253019 0.959467 -0.287402 0.722356 -1.05415 6.02402 -0.304532 0.219182 -0.317441 1.14827 -0.3812 -0.228315 0.467353 0.124327 0.358559 1.26965 1.91599 -1.90082 -0.38778 -0.148363 1.31181 0.494926 -0.0800873 1.05994 0.164416 0.563724 -0.272586 0.277065 0.327708 0.0370394 2.97759 1.71626 -3.42164 -0.1229 -1.14459 1.95879 0.897672 -1.1907 1.93002 -3.43559 0.253676 -0.471989 0.795742 -1.46722 2.35376 0 0 0 0 0 0.0452497 0.0337447 0.000445143 0 0 0 0 1.35883e-05 0 0.0110454 0 0 -0.000181855 -0.000150837 0.0150195 0 0.00248823 0.0959501 0.0487009 0 0 -0.0808322 -7.98485e-06 0 0.0288953 0.2199 0 0 -0.00548687 0.245572 0 0.150429 0 0.00224527 0 0 0.00205343 0 0 0.339558 0.000256687 -0.00343529 0 0.00840891 0.0108175 0 0 -0.00742057 0 0.000857512 0.170996 0.00147121 0 0 0.00035032 -0.00072473 0 0.00267229 -0.0101477 0.00137705 -0.514339 0.0186614 -0.00257763 0 0.00210626 0.0107533 -0.206058 0.00629271 0.0416761 0 0 0 -0.873286 0.0112747 -0.10049 -0.000495455 -0.000434437 0.00116154 0.000154691 0.00013564 0.000286118 -0.00092301 0 0 0 0 0 0 -0.101066 0 -0.0652373 0 0 0 0 0.153603 1.32732 0 0 -0.0135 0 0.00221311 0 0.0546102 0 0 -0.0927143 0 0.699537 0.0266307 -0.00859999 0.0148894 0 0 0.56743 0 5.76852 0 2.23022 1.0374 0 0.326366 1.13574 -0.00137634 0 0.0138805 0 0 0.132581 0 2.6747 -0.789935 0 0 -0.0419603 0 0 -0.0332616 -0.251335 0.114974 0 1.12477 0 0.347534 -0.0275567 -0.000508235 0.235343 0.157971 0.306208 -0.142274 -0.155138 -1.36702 -2.19224 -0.0223658 0 0 0 0.231573 0.0316866 0 0 0 0 -0.435399 -10.7185 -0.603129 -0.577652 0.210843 -0.144284 -0.583532 0.0690879 -0.0526042 0.00393079 -0.0529428 0 0 0 0 0 0 +457 0 0.466328 0.464227 0.111663 0.171787 -0.22975 -0.297956 1.88234 4.19889 0.478617 -2.25649 0.295472 0.327274 -0.0415639 1.4033 0.143935 3.59726 11.0146 -0.173766 0.23217 -0.765132 0.0387966 -0.166676 0.0519595 -0.578909 1.04733 1.14769 0.5018 0.410227 -0.240011 0.380535 0.190998 0.637081 -1.05305 1.68671 0.582115 0.0906502 1.04351 -5.70262 0.744417 -0.545176 -0.164388 4.19054 0.230538 0.738515 -0.60167 -0.460696 0.228107 1.17906 -0.468197 2.36303 -1.4534 -16.8877 -0.384569 0.319019 -0.430115 -1.68186 -0.603213 -0.00208347 0.930603 0.280204 1.2753 -0.151001 4.13817 -4.06279 -2.01524 -0.956631 3.01357 1.61507 -0.228011 1.4943 0.397036 0.538904 -1.42974 -0.754169 0.286385 -5.13378 18.4353 7.64669 -7.28236 4.58351 -4.64937 7.15821 1.72437 -2.25638 3.56108 -6.63441 0.544271 -0.862132 1.16606 -1.518 0.843695 0 0 0 0 0 0.111663 0.171787 0.000461931 0 0 0 0 1.69148e-05 0 0.00470345 0 0 -0.000539799 -0.000356099 0.0280669 0 0.00198976 0.0956417 0.0734165 0 0 -0.00795111 -1.88509e-05 0 -0.0996567 0.382424 0 0 0.00656512 0.201286 0 -0.228543 0 0.0349839 0 0 0.00814271 0 0 -0.533026 0.000319526 -0.010197 0 0.00872603 0.0271558 0 0 0.0921096 0 0.000889851 0.302251 0.0027022 0 0 0.00103985 -0.000752061 0 0.00318032 0.0503482 0.00278823 0.250075 0.0294033 -0.00995032 0 0.00354147 0.00437538 0.100362 0.010894 -0.0438288 0 0 0 1.68392 0.0761614 -0.104695 0.00290418 0.00254651 0.0200088 0.00045917 0.000402621 0.000849284 -0.00441368 0 0 0 0 0 0 -0.22975 0 -0.297956 0 0 0 0 0.244187 1.80931 0 0 -0.311485 0 -0.0361483 0 0.0496923 0 0 0.0158847 0 0.0662863 0.0703429 -0.0425528 0.0114968 0 0 0.508636 0 5.23854 0 -1.73041 -0.135067 0 0.610605 -0.239447 -0.00483275 0 0.0323541 0 0 0.183047 0 1.18819 -1.09558 0 0 -0.119288 0 0 -0.00765763 1.81895 0.235787 0 1.65363 0 -0.331505 0.113856 -0.169219 0.399072 0.0595778 0.387761 0.0710193 0.0294003 -1.03843 3.58244 -0.0614331 0 0 0 0.250844 0.0249573 0 0 0 0 -0.454315 11.0323 1.26604 -0.419868 0.606341 -0.394729 0.489759 0.0633703 -0.0671886 0.1251 -0.273054 0 0 0 0 0 0 +458 0 0 0 0 0 -0.0420824 0.00200912 -0.573145 -0.426739 0 0 0.316174 0.0678952 0 -0.359524 0.0229051 0 0 0 -0.0597296 -1.37646 0 0 0 0 0.192378 0 0 -0.150198 -3.49555 -0.101178 0 -0.356431 0 0 0.031624 0.0513134 0 0 1.49526 -1.12562 0 0 0.402711 0.335633 0 -0.591908 -0.909714 -1.47721 -0.879495 -0.0861151 -0.718679 0 0.177196 -0.0393848 0.528522 -0.683273 -0.343208 -0.81281 0 0 0.0847611 0.563647 0 -2.61717 -0.525277 -0.350568 0 0 0 0 -0.0513922 1.21054 0 -1.16618 -1.14838 0 0 0 0.079893 0 -1.08149 1.8199 0 -1.11008 0.886659 0.774698 0 -1.90452 2.4795 -3.5565 9.05514 0 0 0 -0.12266 -0.0422807 0 0 0 -0.0263009 -0.0165526 0 -0.00350873 0 0.00488964 0.00748795 0 0 0 0 -0.0759867 0 -0.0045064 0 0.0373455 0 -0.181206 0.0981371 0 0.00161096 0 0 0.0990725 0.00180071 0.0159707 0 -0.00105613 0 -0.00118721 -0.0713383 0.0166267 0.026254 -0.00868395 0 0.00033318 0 0 0 -8.09572e-05 0 0 -0.00155779 0.00437792 -0.0518369 0.0140046 0 0 0.0205882 0 0.0109034 0 0 0.045641 -0.017849 -0.102875 0.00644062 0 0 0.018708 0.0407315 0.043385 0.0450712 -0.0530431 0 -0.0807357 -0.0149909 -0.431233 0 0 0 -0.0592387 0 -0.0177822 -0.0765621 0 0.00161421 -0.0022861 0.000503272 0 -0.00179602 0.000506418 -0.0033735 -0.0726868 0 -0.0420824 -0.12266 0.00200912 -0.0422807 0.33634 0.0788617 -0.117931 0.298891 -2.56134 0.0682774 -0.150505 -0.174705 0.0101589 -0.0145804 -0.0388833 -0.111728 -0.11736 0.429219 0.811389 1.93157 0.323334 -0.0553972 -0.507243 0.0778429 -1.23262 -0.136226 -0.897638 0.0215785 -0.092696 -0.104191 2.6717 0.305627 -0.00739985 -0.422736 0.951325 -0.0693723 -0.00722836 0.050822 -0.0525485 -1.06231 -0.333257 -0.017476 0.394619 2.15973 -0.0146198 -0.0199369 0.225362 0.210244 -0.531666 -0.329471 2.61179 -1.00043 0.274341 0.14258 0.00221825 -0.168255 -1.20304 0.962405 0.432681 -0.225507 0.039714 -0.646964 -0.0337401 -2.34835 -1.06981 -0.140988 0.328698 -0.172536 -0.407316 -0.332327 0.0651298 0.0688508 -0.161687 -0.0308713 0.195251 0.211821 -5.05376 0.0533676 1.69025 -2.42649 1.27887 0.978843 0.114153 -9.6336e-05 0.356129 0.0684254 -0.649215 0.287003 0.149352 -0.306587 0.947739 0 +459 0 0 0 0 0 -0.552966 -0.197443 0.265572 0.914421 0 0 -0.161659 -0.321169 0 0.0852474 0.0580344 0 0 0 0.252899 0.665506 0 0 0 0 0.193859 0 0 0.483486 3.94216 -0.255588 0 0.658886 0 0 0.120589 -0.0133245 0 0 -1.04644 -0.175819 0 0 -0.171259 0.313105 0 -0.347374 1.11992 1.29807 0.420114 1.1829 -0.0104188 0 -0.750379 0.0151461 0.0456052 -0.631325 -0.430027 0.290175 0 0 0.095833 -1.60221 0 0.16349 -0.41824 0.210256 0 0 0 0 -0.107322 -0.175871 0 -0.521194 -0.527325 0 0 0 -2.03106 0 0.709473 -3.12225 0 0.50509 -1.01667 -1.31618 0 1.05959 -1.74027 2.20289 -7.39217 0 0 0 0.144232 0.0341451 0 0 0 0.00150369 0.00115728 0 0.000627675 0 0.00368588 0.0356197 0 0 0 0 0.0832798 0 0.0142794 0 0.196353 0 -0.0123809 0.219177 0 -0.00598371 0 0 -0.111177 5.43279e-05 0.0699515 0 0.00509179 0 5.73062e-05 0.18322 -0.028158 -0.000751813 0.0350062 0 0.00028884 0 0 0 0.00036831 0 0 0.0109248 0.00976691 0.0117851 -0.0411817 0 0 -0.0119407 0 0.0087341 0 0 -0.0280845 0.00963036 -0.13489 0.0126829 0 0 0.00418204 0.0917905 0.0214831 0.00466596 -0.129351 0 0.018404 -0.0370417 0.145133 0 0 0 -0.110906 0 0.0133477 0.0153233 0 -0.00400717 0.0127465 -0.0789728 0 0.00216294 -0.00310213 -0.000456794 0.0407082 0 -0.552966 0.144232 -0.197443 0.0341451 -0.486268 -0.110654 0.152781 -0.283247 1.76138 -0.0485675 0.00190774 0.198736 -0.00753394 0.0386542 0.030862 0.128299 0.00721622 -0.276792 -0.937803 -0.682301 -0.0656619 -0.050823 0.360345 -0.152138 0.0120613 0.0818213 1.13608 -0.0296925 -0.843239 -0.326589 -1.13601 -0.838654 0.00494051 0.274087 -0.318693 0.0559469 -0.00390057 -0.0518363 -0.0441479 1.00082 0.212682 0.00539014 -0.9455 -1.49858 0.00151791 -0.0251736 -0.281913 -0.150316 0.0934952 -0.279695 -2.75991 0.589732 -0.0644275 -0.913395 -0.0194866 0.206177 1.07652 -0.386244 -0.251672 -0.150936 -0.114715 0.505484 0.25611 -1.13992 -6.26597 0.313147 -0.250708 -0.120782 -0.00618822 0.13829 -0.098012 0.115181 0.117869 -0.000326196 0.102099 -0.470377 2.14886 -0.140397 -1.66044 1.12092 0.0467377 -1.9207 -0.138709 0.220402 -0.520827 -0.173662 0.418662 0.132843 -0.65646 0.618823 -1.06316 0 +460 0 0 0 0 0 0.483647 -0.173367 -0.0610553 -1.38214 0 0 -0.380333 -0.265926 0 -0.927493 -0.0585696 0 0 0 0.169809 3.57197 0 0 0 0 0.289218 0 0 0.660767 0.544581 -0.570984 0 0.220999 0 0 0.35391 -0.0364333 0 0 -1.86443 -0.108057 0 0 -0.404916 2.13692 0 -0.913541 0.537537 2.07492 1.09577 -3.14194 0.481345 0 -0.215543 0.281928 -0.492356 1.64269 -0.664646 -1.03986 0 0 0.107017 1.91735 0 0.955491 1.29363 0.509837 0 0 0 0 -0.0548264 -2.34961 0 0.175223 0.72958 0 0 0 2.37919 0 2.27185 -0.800263 0 1.23884 -0.976005 3.79858 0 2.00572 -1.46096 3.7926 -2.59338 0 0 0 0.373305 0.100605 0 0 0 0.109328 0.120902 0 0.0173404 0 -0.00577385 0.0102699 0 0 0 0 -0.0120368 0 -0.00474162 0 0.0732153 0 0.580544 0.722149 0 0.00185582 0 0 -0.0927816 -0.00170442 0.104539 0 0.0135906 0 0.00873929 0.132608 -0.00310924 -0.027003 0.0246409 0 -0.000366656 0 0 0 0.000995207 0 0 0.0107509 -0.00150905 -0.0802065 -0.0283573 0 0 -0.0225023 0 -0.0255213 0 0 0.0499027 0.0106361 -0.00537201 -0.0184648 0 0 0.0360545 0.0496431 -0.0874676 0.0439734 -0.393631 0 -0.065297 -0.0153233 -0.0381119 0 0 0 -0.0402489 0 0.0296157 0.0441088 0 -0.00515464 0.00890213 -0.0359136 0 0.00371006 -0.00364159 0.00527419 0.0639409 0 0.483647 0.373305 -0.173367 0.100605 -0.238522 -0.0420759 0.453234 0.220413 0.732626 -0.147616 0.00282047 -0.504384 -0.0233249 -0.0686209 0.101382 0.053469 -0.0183665 -0.829484 -0.23005 -1.31287 0.184363 -0.130522 0.0169686 -0.0333363 0.243395 -0.126621 0.277771 -0.0253078 -1.51884 -0.0409608 0.144867 -0.852105 0.0173141 -0.481696 0.245186 0.0302433 -0.00271957 0.0416533 -0.0420476 -0.70825 0.172067 -0.0203674 -1.04862 -1.3208 -0.0055728 0.0145948 -0.244872 -0.18324 0.025506 -0.680957 0.630351 -0.607741 -0.0692267 -4.87017 -0.0700223 0.568766 0.668316 0.462608 0.0913003 0.355613 -0.131161 0.00461766 -0.204271 -0.534371 -8.07592 -0.252325 -0.317867 -0.351336 0.0715701 -0.314787 0.185728 -0.0084357 0.352934 -0.324237 0.176048 -0.0984443 -0.27403 0.470979 1.36311 0.674962 0.21473 1.63574 0.416185 -0.178129 0.126088 0.925922 1.25464 -0.282144 0.24348 -0.0163823 0.909923 0 +461 0 0.405613 0.221661 -0.0201743 -0.0941972 0.175253 0.196771 0.136797 -0.0526275 -0.147673 0.357901 -0.23983 1.24965 0.00318978 1.77433 0.00276344 0.35766 1.43388 -0.0549697 -0.022895 7.2546 -0.0163774 -0.230259 -0.00360433 0.0783287 -0.0409292 0.222172 -0.0336747 -0.0346442 1.66572 0.392705 -0.024756 0.0394638 -0.290365 -0.339824 -0.130868 -0.0212389 -0.234694 0.0467207 -0.425899 3.06221 0.0236124 -1.60081 -0.0462041 5.52275 0.149156 1.25327 0.586051 -0.228282 0.163207 0.760746 0.396469 8.97385 0.0835291 -0.0716984 -0.00588388 1.03633 0.0156919 -0.0858935 -0.183468 -0.0601392 -0.131454 -3.01857 -2.07371 1.31106 0.624223 0.160463 -0.531943 -0.493753 0.0461077 -0.492745 0.198881 0.100986 0.451728 0.268676 0.694908 1.49437 -0.0965214 -0.792441 1.1242 -0.593642 0.428108 0.663457 -0.132988 0.292629 -0.479449 0.367821 -0.125508 0.218732 -0.79419 0.708236 -2.08552 0 0 0 0 0 -0.0201743 -0.0941972 0.00129853 0 0 0 0 0.000318086 0 0.00868692 0 0 0.000176666 0.000561781 0.00165544 0 0.000813257 -0.0131556 0.0116006 0 0 0.0847052 3.88294e-05 0 0.0060159 0.337013 0 0 0.0204354 -0.0279781 0 0.0157465 0 -0.0014982 0 0 0.00109476 0 0 0.254355 0.00452957 0.00256537 0 0.0183449 0.0141487 0 0 0.0606773 0 0.00470442 -0.113904 -0.00601921 0 0 0.00123221 0.000445629 0 -0.015154 -0.0813675 2.24941e-06 -0.127729 0.00839519 0.0175719 0 0.0252532 0.0057325 -0.0574251 0.0200414 -0.00598574 0 0 0 -0.442561 0.0309291 -0.0625681 -0.0254596 0.0284846 -0.0301043 0.000138557 -5.96153e-05 -0.000448407 -0.00141676 0 0 0 0 0 0 0.175253 0 0.196771 0 0 0 0 -0.453098 0.39133 0 0 0.602236 0 0.0675262 0 0.0276448 0 0 0.320792 0 -0.601268 -0.145888 0.370372 0.0232941 0 0 0.249115 0 0.54909 0 -3.48908 -0.112088 0 -1.12566 -1.3635 0.0425048 0 -0.0573387 0 0 0.0407556 0 0.0279176 0.570589 0 0 0.0152819 0 0 0.270611 -4.65998 0.0257349 0 -0.498043 0 -0.913988 0.249694 -0.254129 -0.387564 -0.331209 -0.718569 -0.189723 0.0553838 0.0686015 -5.54683 0.257283 0 0 0 -0.175678 -0.217233 0 0 0 0 0.0723209 15.3112 0.966855 2.31441 1.35449 -0.670481 1.09303 -0.402723 0.235834 -0.19835 0.407352 0 0 0 0 0 0 +462 0 -0.839831 0.10896 0.0236001 0.19966 -0.283122 0.117043 -0.195848 0.661119 0.166451 -0.777854 -0.172015 -0.283716 -0.00306896 0.344793 -0.0147145 0.80243 -0.0672075 0.00535723 -0.0158038 -2.19186 -0.00327014 -0.356027 0.00214328 -0.121263 -0.322861 0.484371 -0.0282025 -0.630462 -0.498249 0.173898 0.0186162 -0.146788 -0.307846 0.103791 -0.264729 -0.0125359 -0.258857 0.391813 -0.171124 -0.171324 -0.0287337 0.144605 -0.00934008 -1.44935 -0.267864 0.356048 -0.684159 -0.190747 0.0352924 0.770759 -0.370574 -1.03348 0.0947399 -0.0950728 0.392682 0.025393 -0.147939 -0.304122 0.332677 0.0921541 0.301667 0.208186 -0.169374 0.0994308 0.45851 -0.745695 0.0628241 -0.162933 -0.0352661 -0.0440188 0.491253 -0.289643 0.201636 -2.01212 0.0940642 -0.87042 -5.6909 0.672676 -2.26201 0.717386 0.413425 -1.6005 0.861698 -0.308326 0.65218 -1.3913 0.225397 0.000980093 0.377314 -0.0249709 0.62382 0 0 0 0 0 0.0236001 0.19966 0.00313287 0 0 0 0 0.000378012 0 -0.00462915 0 0 -0.00155834 -0.00326545 -0.00116808 0 -0.000240904 0.026455 -0.0212065 0 0 0.111708 -0.000215707 0 0.0101901 0.455591 0 0 0.0136499 0.155852 0 0.0722254 0 0.0134524 0 0 0.00159114 0 0 0.265519 0.00524222 -0.0240708 0 0.043438 -0.000553425 0 0 0.0531888 0 0.00286826 -0.0284093 -0.0032518 0 0 0.007989 -0.00784477 0 -0.0190324 0.0882662 -0.017522 -0.698556 0.00505965 0.0322801 0 -0.0113001 0.00812299 -0.0833529 -0.0658453 -0.0207329 0 0 0 -0.263627 0.0283521 0.0233685 -0.0102653 0.0154215 -0.0373994 0.00338023 -0.00354756 0.00249336 0.00420198 0 0 0 0 0 0 -0.283122 0 0.117043 0 0 0 0 -0.0323597 -0.0652183 0 0 -0.20998 0 -0.0265136 0 -0.0270196 0 0 0.252827 0 -0.576991 0.0909881 0.0588558 0.0465246 0 0 -0.248515 0 1.23654 0 1.73281 0.812549 0 0.697448 -0.382888 0.00488094 0 -0.00233292 0 0 -0.00379159 0 1.32634 -0.142673 0 0 -0.00617503 0 0 -0.114332 2.8638 -0.133259 0 -0.161225 0 0.354123 -0.164583 0.18149 0.548909 0.0718392 0.0844537 -0.125368 0.0431315 -0.363706 2.59196 -0.168699 0 0 0 0.0240336 0.094009 0 0 0 0 -0.131381 -15.5056 -0.915287 -2.56619 -1.17371 0.665067 -1.13761 0.11546 -0.0952251 0.136754 -0.441407 0 0 0 0 0 0 +463 0 1.58906 -0.194222 0.0724102 0.389288 -0.181686 -0.0119537 0.173442 0.319026 0.526429 -1.46279 0.265236 -0.816072 -0.0110698 -0.509833 -0.0572604 -1.66738 -1.96919 -0.164868 -0.114346 -1.88474 0.0123246 0.394996 0.0117506 -0.221491 -0.346843 -0.80323 -0.0306285 -0.253054 -0.890851 -0.141833 0.0829368 -0.415509 0.217938 0.197453 -0.166413 0.030435 -0.0405765 -2.65541 0.697636 -0.415269 -0.0853867 1.27905 0.0909387 -2.64364 -0.588786 0.000192317 -0.412648 -0.811094 -0.307147 0.72006 -0.792189 7.52298 0.377329 -0.319493 0.365177 1.1436 1.01442 0.554735 0.640459 0.228329 0.52888 -1.48332 2.14358 -0.832875 -0.493678 0.701195 1.35234 0.167752 -0.154808 0.77838 -0.460262 0.165023 0.144059 -1.41929 -0.372889 -0.0146672 8.22849 2.85691 0.512461 1.79 -1.46502 3.2356 0.967852 -0.761616 1.38841 -0.0455208 0.495439 -0.449615 0.743394 -0.672912 1.11537 0 0 0 0 0 0.0724102 0.389288 0.00205687 0 0 0 0 -0.000490803 0 0.000485874 0 0 -0.000173027 -0.00257953 -0.00550932 0 0.000420365 0.00227114 -0.0447649 0 0 0.295403 -0.000169328 0 -0.0217798 0.50456 0 0 0.0330222 0.0318754 0 -0.0609095 0 0.0649557 0 0 0.00689748 0 0 -0.102807 -0.00717335 -0.0042624 0 0.0271464 -0.0211215 0 0 -0.0429644 0 -0.00954164 -0.112875 0.0114992 0 0 0.00277159 -0.0117387 0 0.00223704 -0.00213839 -0.0076555 -0.660832 -0.0041573 0.0118179 0 0.0052263 -0.0134125 -0.0432591 -0.119834 0.0159898 0 0 0 0.2491 -0.0156658 0.0746477 0.0160651 -0.0165803 0.010053 0.00106645 -0.00103876 0.000270166 0.00633103 0 0 0 0 0 0 -0.181686 0 -0.0119537 0 0 0 0 -0.0279182 0.220671 0 0 -0.970439 0 -0.113366 0 -0.0218992 0 0 -0.42312 0 0.365158 -0.00481689 -0.492486 -0.0846719 0 0 -0.185499 0 -2.17875 0 -3.02521 -0.20508 0 0.00651871 -0.354721 -0.0587831 0 -0.00421733 0 0 0.0173035 0 -1.02401 -1.06792 0 0 -0.200028 0 0 0.207834 0.915185 -0.118798 0 2.88583 0 -0.694853 -0.402921 0.212755 -0.404257 0.157808 0.816604 1.49435 -0.31844 0.875539 6.16063 -0.088775 0 0 0 0.097447 0.31883 0 0 0 0 0.155917 9.85778 1.0522 1.48806 1.08939 -0.611157 1.45202 0.655452 -0.270458 0.247366 0.0719841 0 0 0 0 0 0 +464 0 0.529024 -0.256926 -0.00699185 -0.0173451 0.0310663 -0.142183 0.304144 -0.266568 0.0281165 0.59453 0.19674 -0.908876 0.000951292 -1.49547 -0.00669659 -1.4326 -4.46818 0.0361374 -0.0321547 -2.95975 0.00693031 0.412357 -0.00037902 0.120838 -0.0795035 -0.544064 -0.00250833 0.132412 -0.266901 -0.283925 -0.00271508 -0.0265312 0.461816 -0.0326379 0.0811398 0.0127713 -0.0295944 0.117908 0.0909541 -1.63746 0.0139087 -0.583334 0.00577446 -4.05538 0.201919 -0.624787 -0.0393285 -0.449756 0.00666029 -0.0951708 0.582165 -3.00614 0.0645182 -0.0911002 -0.247805 -4.54278 0.0960414 0.181721 -0.253436 -0.042748 -0.54418 1.19877 -1.39901 0.369592 -0.112472 -0.365577 -0.266967 0.0561625 -0.00875478 -0.108151 -0.000376672 0.182144 0.0316293 -1.45055 -0.090473 0.413433 -1.21531 -1.36911 0.0488653 -0.428704 -0.237355 0.369863 -0.617741 0.406013 -0.597743 0.941949 -0.0427348 -0.0414238 -0.124032 -0.0265602 0.402566 0 0 0 0 0 -0.00699185 -0.0173451 0.000628643 0 0 0 0 7.15574e-05 0 0.0186465 0 0 0.000751723 0.000442128 0.00764501 0 0.00116202 -0.0154019 0.11774 0 0 -0.216917 2.63812e-05 0 -0.0107661 -0.460924 0 0 -0.0247989 -0.130814 0 -0.0931279 0 -0.0160025 0 0 -0.00185968 0 0 -0.0895223 0.0010391 0.0112816 0 0.00911819 0.00012375 0 0 -0.0706027 0 0.00237757 -0.206185 -0.00254502 0 0 -0.0021618 0.00140731 0 0.000336605 -0.0766987 0.00753432 -0.247067 -0.00360807 0.0144023 0 0.0116448 0.0296134 -0.0862229 0.0407991 0.0639686 0 0 0 0.0653699 0.00174103 -0.126876 -0.00534303 0.00401076 0.0320005 -0.00118558 0.00131285 -0.0013146 -0.0440972 0 0 0 0 0 0 0.0310663 0 -0.142183 0 0 0 0 -0.209844 -0.145224 0 0 0.0663914 0 0.0102715 0 0.000622544 0 0 -0.559743 0 0.236286 -0.108871 -0.0977396 -0.0653511 0 0 0.0133571 0 -2.71618 0 -3.05676 -0.399998 0 -0.749947 -0.569643 -0.0111871 0 -0.0284235 0 0 -0.00949827 0 -1.01947 -1.26098 0 0 -0.168555 0 0 -0.783404 -3.77146 0.0655741 0 -2.84679 0 -1.23364 0.114919 -0.276245 -0.3531 -0.216825 -0.652774 0.48214 -0.0539116 2.19342 -4.04294 0.264651 0 0 0 0.16156 -0.0511384 0 0 0 0 0.0868659 14.8179 1.77801 0.637317 1.33247 -0.750347 1.14439 -0.0350009 0.0495964 -0.0178866 0.231209 0 0 0 0 0 0 +465 0 -0.893021 -0.335015 0.0102249 0.0629173 -0.287526 -0.124689 0.410591 1.14838 0.0908475 -0.444034 0.0660991 0.787509 -0.000665192 0.504878 -0.0228893 -0.533905 1.28923 -0.117475 -0.0329829 1.67306 -0.00932623 0.452234 0.000789216 -0.0362314 0.492154 -0.425639 -0.00904851 0.234379 0.316785 0.202778 0.00951603 -0.43212 0.57588 -0.0981554 0.258309 0.00251619 0.0529791 1.09021 0.0697006 0.574027 -0.00800294 -0.133685 0.0038994 2.53954 -0.0878884 -0.0452464 0.236842 -0.566159 -0.0262806 -0.440297 -0.0401631 4.45711 0.102249 -0.0370832 0.0412983 3.46464 0.015927 0.0151264 0.0956496 0.0226478 0.731308 1.69335 0.759414 0.381552 0.204954 0.426716 -0.0878454 -0.115069 -0.0230187 -0.0254836 -0.034096 -0.218319 -0.266832 3.77902 0.260033 0.158967 -4.99346 -0.261568 -1.55327 0.0729526 0.194516 -1.77154 0.0922542 0.0378032 0.11992 -0.936534 0.018601 0.00646513 0.032758 -0.102453 -0.477806 0 0 0 0 0 0.0102249 0.0629173 -0.00301441 0 0 0 0 -0.000259805 0 -0.0129518 0 0 0.00135049 0.00250523 -0.00775006 0 -0.00135504 0.0159979 -0.0705044 0 0 0.078953 0.000183221 0 0.00917313 0.256699 0 0 0.00907753 0.0933213 0 0.0675324 0 0.00858635 0 0 0.000975803 0 0 0.261272 -0.00367124 0.0185372 0 -0.0421623 0.020682 0 0 0.014514 0 0.0047138 0.0831695 -0.00952067 0 0 0.00309439 0.0128386 0 -0.00808898 0.0247769 -0.0103648 0.224837 0.00206619 0.00749536 0 -0.0114108 0.0203131 -0.0398971 0.06522 -0.0229693 0 0 0 -0.316171 -0.00413702 0.0484689 -0.00842987 0.0123384 -0.0523293 -0.000235482 0.000654406 -0.00278726 0.014373 0 0 0 0 0 0 -0.287526 0 -0.124689 0 0 0 0 0.345331 -1.45921 0 0 -0.721185 0 -0.0833033 0 -0.0938382 0 0 0.530176 0 0.570348 0.125309 -0.444712 0.0394377 0 0 -0.845528 0 -1.77871 0 2.51382 0.00595963 0 0.898833 0.806278 -0.052195 0 0.045971 0 0 -0.159237 0 -0.504946 0.99198 0 0 0.0721229 0 0 0.468458 3.5619 -0.0213111 0 1.26449 0 0.707154 -0.877288 0.490877 0.402893 0.0278625 0.336625 0.48484 -0.029441 1.35459 6.76888 -0.0174116 0 0 0 -0.240915 0.234793 0 0 0 0 0.527508 -16.1948 0.156038 -3.80537 -1.66837 0.854367 -1.17266 0.528592 -0.258502 0.222597 -0.408885 0 0 0 0 0 0 +466 0 0.613756 0.133853 0.0301975 0.270099 -0.0499709 0.259174 -1.36795 -1.90549 0.311914 -0.996195 -0.366685 1.04204 -0.00182169 0.706158 0.0149127 0.456132 3.13318 -0.226384 0.00624083 -2.0529 -0.0127931 -0.102336 0.00184465 -0.0539566 -0.450942 0.132786 -0.0563542 -0.707202 -1.03138 0.467974 0.0253587 0.224789 -0.346802 -0.349992 -0.376122 -0.0289752 -0.258735 -2.28935 -0.413896 -0.0532236 -0.0240049 -0.886966 -0.0312816 2.50001 -0.301955 0.595396 -0.87627 0.0895549 0.12651 0.412144 -0.547999 -2.45478 0.0256233 0.00978154 0.218034 -3.34601 0.159268 0.220432 0.383632 0.0779844 1.42959 -0.0285781 1.1111 0.0305178 0.253629 0.780109 0.142422 -0.506193 -0.0716163 0.0437227 0.419215 0.0600074 0.362826 -0.784881 0.762812 1.45127 4.35717 1.85035 1.5029 1.3602 -0.606714 2.52462 0.27282 -0.101175 1.20103 1.6855 0.0639069 0.0913522 0.336861 0.474564 1.55562 0 0 0 0 0 0.0301975 0.270099 0.000104932 0 0 0 0 -9.05675e-05 0 -0.0117012 0 0 -0.000120671 0.000859728 -0.0107854 0 -0.00129765 0.0305858 -0.113489 0 0 0.358038 7.55311e-05 0 0.00650719 0.963404 0 0 0.0454145 0.19797 0 0.0443242 0 0.0303905 0 0 0.0036632 0 0 0.179227 -0.00140064 -0.00373204 0 0.000185543 -0.00782896 0 0 0.0568184 0 -0.000241034 -0.00194157 -0.00170474 0 0 0.00742636 0.00127176 0 -0.0127244 0.0355879 -0.0171724 -0.489002 0.00189336 0.0147069 0 -0.00509256 -0.00810392 -0.0737881 -0.0448955 -0.0240757 0 0 0 -0.165568 0.00559063 0.104077 -4.4376e-05 0.00310043 -0.0415708 0.00213871 -0.00196685 -0.000204734 0.0329459 0 0 0 0 0 0 -0.0499709 0 0.259174 0 0 0 0 -0.158406 0.130304 0 0 -0.039477 0 -0.000630318 0 0.0134569 0 0 -0.369122 0 -0.0517294 -0.0465821 0.239669 -0.0559778 0 0 0.119336 0 1.30993 0 0.821645 0.630883 0 -0.19905 0.556461 0.0294512 0 -0.0220163 0 0 0.0107052 0 0.949477 -0.220121 0 0 -0.0465525 0 0 -0.030815 0.230302 -0.0111713 0 0.209333 0 0.0433014 -0.21435 0.0945499 -0.106738 -0.00115763 0.331001 0.477972 -0.137866 0.808242 1.71404 0.17202 0 0 0 0.0478868 0.0521727 0 0 0 0 0.0483343 -6.40488 -0.67798 0.438142 -0.586613 0.149045 -0.0805428 0.0112908 -0.00194542 0.0067353 0.149708 0 0 0 0 0 0 +467 0 0 0 0 0 -0.440916 -0.312759 0.490896 0.999492 0 0 0.338295 -1.22098 0 -1.18216 0.0200155 0 0 0 -0.502314 -5.91897 0 0 0 0 0.232132 0 0 0.67589 -1.69362 -0.599033 0 0.456628 0 0 0.231401 0.0213434 0 0 1.54679 -2.93828 0 0 0.235658 -3.35877 0 -1.39161 0.164528 -0.85472 -0.439575 1.02253 0.0374406 0 0.285698 -0.0561876 -0.0354373 -2.04266 -0.909729 -0.406956 0 0 0.919794 4.89095 0 -0.372713 -0.308964 -0.730248 0 0 0 0 0.0988125 1.63408 0 0.534996 -0.841672 0 0 0 -0.337095 0 -1.70621 1.64758 0 -0.751557 0.666576 -3.10303 0 -1.46836 1.1479 -4.37175 5.72118 0 0 0 -0.203255 -0.0515722 0 0 0 -0.0412832 -0.000886398 0 -0.00636561 0 0.00464152 0.0202309 0 0 0 0 -0.0293624 0 -0.0131584 0 0.178515 0 -0.162874 0.0622186 0 0.00418797 0 0 0.254896 0.00216782 -0.0169343 0 0.00141612 0 0.000270989 0.0127326 0.0271413 0.0373936 -0.00936545 0 0.000217305 0 0 0 7.84894e-05 0 0 -0.00542544 0.00210202 0.29736 0.0561714 0 0 -0.00277421 0 0.00142278 0 0 0.00219217 0.00319412 -0.0179187 -0.0289679 0 0 0.121085 0.0641367 0.00278168 0.495677 -0.206896 0 0.257909 -0.000671987 0.00766528 0 0 0 -0.63356 0 -0.0792176 -0.879282 0 -0.00154099 -0.0562528 -0.294484 0 -0.00261597 -0.00325724 -0.00745625 -0.557257 0 -0.440916 -0.203255 -0.312759 -0.0515722 0.0969198 0.066346 -0.272639 -0.284047 1.53788 0.0629094 0.0657098 0.310002 0.0107949 0.0615583 -0.0507224 0.107474 0.0177748 0.293196 0.369347 0.145956 -0.0171501 0.0252221 0.190368 0.109834 0.20963 -0.153427 0.90871 0.00187726 0.261521 0.390695 -0.634279 -0.84851 -0.00867773 -0.0576079 -0.216718 0.0360033 0.00376282 -0.0555624 0.0971745 -1.02995 0.1634 -0.0256698 -0.539187 0.651265 0.00728867 -0.00695687 0.242439 0.0252788 -0.135906 0.156781 2.92015 1.23734 0.0194101 -0.0386072 0.0357872 -1.23394 0.500715 -0.80316 -0.157981 0.0126389 0.881814 1.09116 -0.0731708 -1.34396 -6.67901 -0.00585831 0.0650891 0.122164 0.137137 -0.063721 -0.0662743 0.0292241 -0.123674 0.115673 -0.170702 -0.117581 4.79429 -0.547557 0.0401343 -0.676217 -1.58943 4.25387 -0.499535 -0.0364113 0.25045 0.224103 -0.399259 0.0197673 0.203057 -0.751706 1.71775 0 +468 0 0 0 0 0 0.961667 0.263701 -0.560622 -2.92544 0 0 0.555775 1.12801 0 1.30148 0.0886227 0 0 0 -0.0341137 3.98683 0 0 0 0 -0.284605 0 0 -0.650417 -4.16018 0.507535 0 0.467462 0 0 -0.0680364 0.143437 0 0 0.497151 1.42612 0 0 0.268054 2.89225 0 0.595683 -1.6908 -0.0284454 -0.523656 0.748872 -0.162412 0 -0.111371 0.626742 -1.00704 -0.406589 -0.438369 0.213401 0 0 1.35516 -3.58987 0 -0.896159 -0.317833 -0.158339 0 0 0 0 0.62586 1.31264 0 -0.0899451 2.38615 0 0 0 4.82088 0 0.181857 4.14197 0 0.0526212 1.68977 1.64335 0 -0.56231 3.58371 -8.11013 22.8674 0 0 0 0.16404 0.00539688 0 0 0 0.00113432 -0.015205 0 -0.000670119 0 -0.00191599 -0.0636842 0 0 0 0 -0.119826 0 -0.0318205 0 -0.387257 0 0.0926267 0.190988 0 0.00125584 0 0 0.0299762 -0.000357736 0.0148926 0 0.000430189 0 -0.000882712 0.0847125 0.00309578 -0.0143445 0.00949577 0 -6.88985e-05 0 0 0 -5.92186e-06 0 0 -0.00154045 0.00365292 -0.11405 -0.00784386 0 0 0.007636 0 0.00644329 0 0 -0.014063 0.0150066 0.184896 0.00811055 0 0 0.0324716 0.0602123 -0.068033 -0.168035 -0.590635 0 0.0541233 -0.00716588 0.080986 0 0 0 1.22273 0 0.0713262 -0.385745 0 0.00591708 -0.0314072 0.303113 0 -0.000497434 -0.00200632 0.027836 -0.200577 0 0.961667 0.16404 0.263701 0.00539688 0.116979 0.0960889 -0.155408 0.593494 1.22819 0.0010191 -0.0789317 -0.341312 0.00119507 -0.0606858 -0.0249725 0.0976197 -0.0320363 -0.0481446 -0.299932 -0.42452 0.0978288 -0.107861 -0.268611 -0.0791075 -0.177055 -0.185112 0.730724 -0.00192234 3.78104 0.114527 2.81931 0.524137 -0.00447484 0.188303 0.536416 -0.0332296 0.00382077 0.0685324 0.0120455 -1.06544 0.15482 -0.0314284 1.40442 -0.996597 -0.0106818 0.0136839 -0.316413 -0.0332441 0.0180121 0.606975 -0.469731 0.342366 -0.0292344 1.99104 0.0498703 -1.84935 0.741758 -0.745452 0.66469 -0.101365 0.204257 0.484218 -0.204728 0.295707 4.84292 0.101173 0.333222 -0.00817437 0.013155 0.108966 0.0784736 0.0336742 -0.0207442 -0.116305 0.0174582 -0.172588 -21.3102 -1.48387 2.15737 -1.73764 1.835 0.682426 0.279758 -0.390174 0.89543 0.0471566 0.0655609 -0.189423 0.544346 -0.642666 1.74904 0 +469 0 0 0 0 0 -0.559918 -0.132389 -0.172958 0.591589 0 0 0.815339 0.133833 0 0.726155 0.0328479 0 0 0 -0.0194683 4.36047 0 0 0 0 0.127388 0 0 -0.0636118 -9.40597 -0.215041 0 0.0854022 0 0 0.0400644 0.111842 0 0 3.07502 0.0473351 0 0 0.535042 3.31279 0 -0.553057 -1.89243 -0.632871 -0.660921 -0.864501 -0.132504 0 0.125716 0.530418 -0.885057 0.245086 -0.162488 -0.69325 0 0 -0.253453 1.24752 0 -0.839881 0.0226817 0.557378 0 0 0 0 0.000518647 1.20765 0 -0.626761 1.45722 0 0 0 -0.998505 0 -3.79779 11.8097 0 -1.21206 3.86302 0.985759 0 -2.67549 7.25515 -12.7327 34.5307 0 0 0 -0.380453 -0.0934841 0 0 0 -0.0970071 -0.0241493 0 -0.01426 0 0.00725677 -0.00445633 0 0 0 0 -0.0447788 0 -0.0312122 0 0.0828857 0 -0.482501 -0.482008 0 -0.0048669 0 0 -0.471068 0.000269784 -0.0882606 0 0.00288238 0 -0.00136656 -0.168326 -0.0541347 0.0175306 -0.0337538 0 0.000302103 0 0 0 0.000137002 0 0 0.00200227 -0.000550067 0.164211 0.0209103 0 0 -0.0459193 0 0.00345534 0 0 -0.0487721 0.0263445 0.100235 -0.0608315 0 0 0.191726 0.0555932 -0.0231275 0.189749 -0.219115 0 -0.113509 -0.00663949 0.365846 0 0 0 0.260606 0 -0.102473 1.24852 0 -0.00849422 0.0692081 0.209306 0 0.000471879 0.00661545 -0.0488726 0.716139 0 -0.559918 -0.380453 -0.132389 -0.0934841 1.16491 0.251543 -0.346103 0.533834 0.939203 0.1245 -0.0288373 0.126581 0.0199937 0.0570198 -0.0796656 0.12587 -0.0423921 0.685035 0.159398 2.31317 0.28646 0.00801591 -0.088824 -0.0357453 -0.503017 -0.229811 0.759559 0.0400882 3.48602 -0.131096 2.15631 -0.217886 -0.0152157 0.616693 0.909944 0.0105451 -0.00328904 0.0496789 0.0255022 -1.19817 0.140235 -0.0355349 0.859086 1.40283 0.00031701 -0.071368 0.159 0.307632 -0.0312747 -0.692459 -1.06649 1.42689 0.162893 0.0425967 0.0424963 -0.202407 0.466106 -1.17645 0.499538 -0.190165 -1.21752 -0.627956 0.155295 -0.692188 -4.30086 0.088447 -0.510417 0.235376 0.299485 0.503934 -0.130554 0.203819 -0.250655 -0.147281 -0.243523 -0.365384 -16.2988 -2.59989 -0.358817 -4.05714 2.50099 1.85058 -0.760161 0.293116 0.418874 -0.32263 -0.932846 0.636054 -0.352751 -0.0639561 1.40806 0 +470 0 -0.412954 0.000337385 -0.0257947 -0.140948 -0.0293689 0.269874 -1.34426 -2.36412 -0.186363 1.07448 0.140854 0.0881887 0.00567666 0.584359 0.00592906 -0.747615 -3.09753 0.210794 0.0903236 -0.114413 0.0192948 -0.158313 -0.00612099 0.131354 -0.780858 -0.0447095 -0.00208822 -0.76691 -1.76137 0.374942 -0.0343046 -0.0336626 -0.151318 0.21866 -0.487648 0.0206546 -0.0859979 0.955226 0.262576 0.899388 0.0225562 0.604139 0.0240445 -0.195441 0.052108 0.801224 -1.07566 0.537948 -0.0823526 1.45193 0.0124222 -0.700999 -0.00741584 0.17914 -0.355888 1.39199 -0.524125 -0.162405 -0.166009 -0.0296217 -0.489558 -0.959841 0.748092 0.586755 -0.632726 1.07966 -0.278423 0.0226896 0.0271928 0.0577819 -0.238368 0.0526355 0.258125 0.0915802 1.27122 -1.06236 -0.694541 -1.88124 4.02986 -1.29527 1.15945 -0.370877 -0.861827 1.02035 -1.64496 5.2448 -0.070552 -0.139689 1.11479 -1.67796 5.24761 0 0 0 0 0 -0.0257947 -0.140948 -0.000972948 0 0 0 0 -1.90644e-05 0 0.0331089 0 0 -3.72413e-05 0.00131589 0.0357182 0 0.00495358 0.053694 0.249515 0 0 0.171056 5.31642e-05 0 0.00967609 0.854829 0 0 0.0135235 0.252245 0 0.103046 0 0.0201788 0 0 0.00184314 0 0 0.622018 -0.000255192 0.000855753 0 -0.0187817 -0.010031 0 0 0.0953078 0 0.000360561 0.79763 -0.0133915 0 0 -0.000587416 0.00361638 0 0.00480361 -0.0773781 0.0196919 0.894992 0.0176537 0.0156431 0 0.012933 -0.0629253 0.0518501 0.0509771 0.154007 0 0 0 -4.71258 -0.162284 -1.11121 -0.020416 0.0506351 -0.702261 -0.000182553 0.000513652 -0.00616496 -0.24095 0 0 0 0 0 0 -0.0293689 0 0.269874 0 0 0 0 0.107988 -0.071311 0 0 0.442198 0 0.0391966 0 -0.0147929 0 0 0.0247728 0 -0.0700542 -0.0392565 0.00982679 -0.0114119 0 0 -0.140302 0 0.503873 0 2.30984 0.541971 0 -0.215297 0.469743 -0.00708478 0 0.0133209 0 0 -0.00941793 0 0.439768 0.376041 0 0 0.0487317 0 0 -0.00179957 -1.76904 -0.065827 0 0.0406056 0 0.576504 -0.139328 0.0923945 -0.09691 -0.0299527 0.0847257 -0.870754 0.0948305 -0.156975 1.97196 0.0101293 0 0 0 -0.129927 -0.0941221 0 0 0 0 0.0281887 -13.6535 -4.00477 2.96378 -1.50491 1.39746 -1.4647 -0.264464 0.241725 -0.306484 0.161942 0 0 0 0 0 0 +471 0 1.58924 0.421558 0.00386065 0.177774 0.014214 0.170566 -0.0349134 -0.404485 -0.0659835 0.2984 0.189558 -0.173683 0.00359268 0.673263 -0.02341 0.696384 1.81555 0.0875157 -0.00433494 -0.658857 0.068661 -0.278 -0.00844642 0.243993 -0.481375 0.371163 0.0382585 -0.197341 -0.58384 -0.0610477 -0.0319605 -0.279165 -0.656102 -0.0652744 -0.303364 0.0106041 0.115398 -3.4493 0.415391 0.22688 0.0129659 -0.0651174 0.0222483 0.843307 0.0043376 0.250347 -0.271042 -0.228664 -0.0294996 1.12771 0.18208 0.462005 -0.348116 0.0902622 0.12797 0.186176 0.388653 0.759353 -0.340897 -0.0418608 0.116019 0.170172 -0.691293 -0.164019 -0.621592 0.084006 0.516909 0.681111 0.101343 -0.463211 0.05538 0.0908782 -0.346338 -1.24403 -0.344568 -0.237212 8.6266 1.30527 0.536611 1.96367 -2.24733 4.93912 -0.419048 0.517709 -0.592798 1.57482 -0.00587292 -0.278042 0.388786 -1.04532 1.73942 0 0 0 0 0 0.00386065 0.177774 0.000599657 0 0 0 0 0.000344891 0 0.00885134 0 0 -0.00159624 -0.00439399 0.0264292 0 0.00351226 0.0352112 0.0908075 0 0 0.0663969 -0.000185638 0 -0.0649257 0.5586 0 0 0.00797249 0.152361 0 -0.184049 0 -0.0066927 0 0 -0.000650523 0 0 -0.809321 0.00763204 -0.0362468 0 0.016074 0.0587661 0 0 -0.0422588 0 0.00437225 0.159523 -0.00306309 0 0 0.00175428 0.00140975 0 -0.00474682 0.00996842 -0.0144406 -2.00594 0.0445905 0.0223541 0 -0.00377287 7.31792e-05 0.0791814 -0.130096 -0.020792 0 0 0 5.17961 0.278209 -0.256174 0.0215208 -0.0507786 0.725474 0.00109817 -0.00263674 0.0362959 -0.127675 0 0 0 0 0 0 0.014214 0 0.170566 0 0 0 0 -0.15447 -0.0121918 0 0 -0.271702 0 -0.00399333 0 -0.0188051 0 0 0.408383 0 -0.525005 -0.0713813 -0.164663 0.0686474 0 0 -0.114913 0 4.256 0 -5.40697 0.062296 0 -0.512118 -1.67792 -0.00743746 0 -0.0252692 0 0 -0.0146816 0 0.899523 0.856013 0 0 0.151282 0 0 -0.0970547 1.76538 -0.0869794 0 0.0168747 0 -1.2827 0.0865805 0.047873 -0.466205 0.104938 0.273614 1.46561 -0.229091 -0.878054 -2.00302 -0.015652 0 0 0 0.211504 0.0710094 0 0 0 0 -0.247709 45.6086 5.83461 1.4307 3.00007 -3.41731 5.55856 0.150969 -0.188336 0.303843 0.36228 0 0 0 0 0 0 +472 0 -0.365445 -0.215031 -0.118176 -0.352698 0.459876 0.0969314 -0.907948 -3.4928 -0.477848 2.50324 -0.641273 0.155669 0.0325385 0.239855 0.0360341 -0.581714 -0.24693 0.322342 0.101465 -2.03326 0.0481504 0.133866 -0.0297581 0.546269 -0.38051 -0.364493 -0.00930144 0.154022 1.94478 0.0967992 -0.13167 0.0780405 0.179534 -0.115804 -0.0169354 -0.10779 -0.329296 0.843241 -1.58335 -0.843729 0.171103 -2.0661 -0.29703 1.90821 0.812611 -0.258477 0.601826 0.24387 0.781348 3.28537 0.909412 -2.72189 0.0121049 0.417254 -0.363716 -0.897715 -0.373533 0.424714 -0.612571 -0.338193 1.01773 0.400839 -1.38005 0.138144 -1.10726 -1.39224 -0.586845 0.0480537 0.0727954 -0.191343 0.812124 -1.35975 0.234997 0.948427 0.232883 -0.449454 -1.4714 -4.05336 5.16896 -2.71204 3.40725 -4.25516 -2.73731 2.97849 -5.17223 6.29502 -1.10024 1.66557 -2.52707 3.77942 -5.79403 0 0 0 0 0 -0.118176 -0.352698 -0.00174564 0 0 0 0 0.000179495 0 -0.0114891 0 0 0.00117126 0.00863318 0.00488753 0 0.00266785 -0.0361673 -0.126411 0 0 -0.208732 0.000375789 0 -0.0944185 -0.519516 0 0 -0.0182749 -0.147947 0 -0.0480877 0 -0.0781217 0 0 -0.00747097 0 0 0.186501 0.00400964 0.0296844 0 -0.0346972 -0.101167 0 0 0.434075 0 0.00190813 0.548448 -0.0105832 0 0 -0.00102678 0.00680729 0 -0.00254814 0.114603 0.0258618 -1.00933 -0.00329785 0.000566303 0 -0.0228346 0.162224 0.211953 -0.0633259 0.283922 0 0 0 -0.134385 -0.104685 0.275152 0.000553357 -0.00543147 0.0575419 -0.000980592 0.00239352 -0.032478 0.0362749 0 0 0 0 0 0 0.459876 0 0.0969314 0 0 0 0 -0.770033 -2.35294 0 0 1.18233 0 0.135839 0 -0.11322 0 0 -0.0079199 0 0.402099 -0.165211 0.552518 0.00949386 0 0 -0.834866 0 -3.80582 0 1.45078 -0.40395 0 -1.59055 0.650552 0.0646564 0 -0.0818672 0 0 -0.301525 0 -1.48303 1.02103 0 0 0.139142 0 0 -0.141494 -2.75692 -0.60194 0 -0.623345 0 0.453655 -0.514237 0.541575 -0.933423 -0.115387 0.979567 -0.976879 0.31205 1.58077 5.42213 0.185997 0 0 0 -0.19922 -0.310593 0 0 0 0 0.531989 -6.00561 -5.5878 7.48796 -1.32313 1.38522 -1.49191 -0.766588 0.817196 -1.11416 1.53458 0 0 0 0 0 0 +473 0 -0.473174 -0.362433 -0.0821574 -0.171961 0.135542 0.0943549 -0.688198 -1.98728 -0.278707 1.5702 -0.309118 0.225925 0.026397 -0.163496 -0.117537 -1.77716 -6.21259 0.250829 -0.154735 3.24075 -0.0241184 0.153973 -0.0171493 0.229914 -0.401027 -0.690459 -0.199061 0.0500167 0.2296 0.0410918 -0.0728695 -0.491955 0.29285 -0.536893 -0.111552 -0.0903504 -1.06935 0.663324 -0.628125 1.60134 0.116238 -2.94143 -0.216733 0.316573 0.377617 0.710403 0.148552 -0.552247 0.44816 -2.04519 0.706248 -0.902789 0.290427 -0.366456 0.36802 -0.186579 1.59424 0.923274 -0.33374 -0.141615 -0.339281 -3.43647 -1.04382 1.97138 1.59759 0.125975 -1.66464 -1.64727 -0.133344 -0.241094 0.0329188 -1.2239 0.477029 -0.806157 -0.056121 1.60878 2.40357 -2.77912 3.92012 -1.85161 2.31941 -3.60373 -1.79169 2.01713 -3.67999 5.30539 -0.787341 1.3421 -1.54689 2.59282 -1.59002 0 0 0 0 0 -0.0821574 -0.171961 -0.00208682 0 0 0 0 -0.000167258 0 0.00498285 0 0 0.00335214 0.00851541 -0.00472112 0 0.000230883 -0.0615412 0.0711509 0 0 -0.0191868 0.000391023 0 0.00859522 -0.0829326 0 0 0.00285159 -0.116588 0 0.0937594 0 -0.0466751 0 0 -0.00397302 0 0 0.520301 -0.0041243 0.0584111 0 -0.0489695 -0.0860766 0 0 0.18559 0 -0.000297042 0.60866 -0.0123555 0 0 -0.00692308 0.00679985 0 0.018021 0.00367432 0.0397337 0.103335 -0.0321763 -0.00812465 0 -0.00546123 0.103977 -0.0696513 0.0670696 0.368611 0 0 0 -4.63908 -0.305733 -0.559038 -0.0114611 0.0310698 -0.60192 -0.00408873 0.00568987 -0.0340609 -0.0939737 0 0 0 0 0 0 0.135542 0 0.0943549 0 0 0 0 -0.147543 -1.59085 0 0 0.705379 0 0.0653444 0 -0.0740671 0 0 -0.278306 0 0.360526 -0.0894819 0.237445 -0.0556095 0 0 -0.557437 0 -5.68655 0 1.27642 -0.262592 0 -0.5504 0.608492 0.0243713 0 -0.0264412 0 0 -0.210088 0 -1.58991 -0.147416 0 0 -0.0682133 0 0 0.107461 -3.70709 -0.215364 0 -0.345627 0 1.87282 -0.481708 0.320929 -0.137044 0.0835087 -0.550056 -2.11276 0.277886 1.23457 3.68753 -0.121767 0 0 0 -0.373411 -0.172582 0 0 0 0 0.400749 -7.01878 -4.32427 3.82793 -1.33746 1.55725 -1.77203 -0.450034 0.459669 -0.578305 0.46304 0 0 0 0 0 0 +474 0 0.78537 -0.0159593 0.0192481 0.16839 -0.0111978 -0.188651 0.0668301 0.646822 0.00216482 -0.332433 -0.489521 -0.298936 -0.00950554 -1.09469 -0.0390417 0.0979242 2.84835 0.00595646 -0.0461104 1.05899 0.0303108 0.277873 0.0129652 0.0769244 0.482086 -0.32149 0.0195709 0.747456 2.61434 -0.396078 0.0316629 -0.312136 0.232792 0.175605 0.28257 -0.0533108 0.0141845 -1.58058 -0.501809 -0.212901 -0.0397109 0.0160318 -0.0337011 -0.486351 -0.122975 -0.540968 1.48916 -0.418184 0.102607 0.986555 0.527759 6.21655 0.060177 -0.487382 0.9003 4.68319 0.730096 0.116444 -0.0579749 0.0483557 0.398215 0.0237282 1.15119 -1.13786 -0.939297 -0.069277 1.2938 0.684512 -0.0564518 0.738002 0.219021 -0.350438 -0.299521 1.11506 -1.69044 -1.14293 7.40165 1.2026 -1.12847 2.16444 -0.852563 -0.856497 0.70353 -0.408382 -0.237885 -1.29881 0.256405 0.299324 -2.29967 6.49574 -18.1048 0 0 0 0 0 0.0192481 0.16839 -0.00451267 0 0 0 0 -0.00123046 0 -0.0223104 0 0 -0.00124563 0.000891392 -0.0139144 0 -0.00323979 0.0119644 -0.0968064 0 0 0.0752395 4.1387e-05 0 -0.0809505 0.116122 0 0 0.0115512 0.0464654 0 -0.236895 0 0.0342885 0 0 0.00393683 0 0 -0.95509 -0.0240827 -0.0243392 0 -0.0851271 -0.0197431 0 0 0.0694053 0 0.00504829 0.263451 -0.00571197 0 0 0.000188138 0.0180038 0 -0.00470985 0.0864719 0.0134868 -1.14142 0.0510129 -0.0153256 0 -0.0192238 0.0735692 0.442948 -0.160317 0.0642847 0 0 0 7.87978 0.407442 0.674815 0.0400558 -0.023664 0.546634 0.000151787 0.00241286 -0.00383655 0.0294792 0 0 0 0 0 0 -0.0111978 0 -0.188651 0 0 0 0 -0.598212 -0.597376 0 0 0.305826 0 0.0496951 0 -0.0437939 0 0 0.325993 0 0.678172 -0.0915662 0.48053 0.0426674 0 0 -0.408223 0 -1.85422 0 0.0336121 -0.278356 0 -0.721766 1.00894 0.0587911 0 -0.0657561 0 0 -0.0663342 0 -0.595359 0.111147 0 0 0.0190901 0 0 0.424369 -0.159548 -0.611123 0 1.56166 0 0.85064 -0.503628 0.613529 -0.85756 -0.0937614 0.468812 -0.305659 0.204907 0.276674 7.42923 0.0990865 0 0 0 -0.0854649 -0.161933 0 0 0 0 0.20139 10.8367 0.0742912 2.80639 0.404728 -0.136782 0.246029 -0.239231 0.327961 -0.494481 0.905235 0 0 0 0 0 0 +475 0 -0.649451 0.0192183 -0.135106 -0.428859 0.67776 0.368105 -1.26523 -5.18283 -0.190185 3.57865 -0.260495 0.51203 0.0382792 -0.226948 -0.048345 0.533726 1.68598 0.634311 -0.104191 1.18424 0.108184 -0.075019 -0.0215307 0.752564 -1.12127 0.280639 0.0410311 -0.197515 1.42829 0.170204 -0.0755054 -0.253647 0.189075 -0.0951635 -0.384826 -0.078622 0.120158 2.90196 -0.842781 0.892371 0.166978 -0.535799 -0.250432 1.14856 0.567731 0.666962 0.169483 -0.655391 0.0325921 -0.295678 1.08502 2.38457 0.161955 -0.517282 0.750427 0.457957 -0.170194 -0.465495 -0.636433 -0.0874031 0.0380148 0.104834 -1.628 3.71023 0.964139 0.612354 -1.95542 -0.621866 -0.21968 -0.359795 -0.443677 0.443672 0.369584 0.220539 -0.754372 0.410203 -8.39843 -7.37883 9.86242 -5.64946 5.5102 -6.6816 -4.16078 4.62933 -8.06282 12.6544 -1.18373 1.9119 -3.45483 5.51775 -9.89118 0 0 0 0 0 -0.135106 -0.428859 -0.00406106 0 0 0 0 -0.000199942 0 -0.0298441 0 0 0.00137352 0.0125111 -0.0607035 0 -0.00502873 -0.102587 -0.313809 0 0 0.0295797 0.000507818 0 0.020987 -1.54668 0 0 -0.00120967 -0.368084 0 0.207966 0 -0.0468073 0 0 -0.00559732 0 0 0.984238 -0.00489802 0.0413562 0 -0.0831688 -0.113084 0 0 0.482581 0 -0.00507929 -0.161604 0.0219203 0 0 0.000367083 0.00762537 0 -0.0075777 0.101336 0.011337 1.02711 -0.0558254 -0.0258587 0 -0.0262867 0.00181267 0.0166607 0.0181405 0.177237 0 0 0 -3.84661 -0.290346 0.947061 -0.0222293 0.0115593 -0.218707 -0.000256687 0.00123945 -0.0454873 0.249821 0 0 0 0 0 0 0.67776 0 0.368105 0 0 0 0 -0.513257 -1.32347 0 0 0.88509 0 0.117982 0 -0.0516765 0 0 0.512011 0 -0.42173 -0.186307 0.150988 0.083727 0 0 -0.42042 0 -0.115162 0 -1.46973 0.501633 0 -1.7379 -1.03386 0.0275308 0 -0.0630427 0 0 -0.147397 0 0.384667 1.88843 0 0 0.266147 0 0 -0.0451428 -0.522985 -0.690015 0 -0.384821 0 1.09015 -0.415899 0.631221 -0.364399 0.095941 0.295588 -0.77301 0.0544965 1.22297 3.86041 -0.0502986 0 0 0 -0.139551 -0.113613 0 0 0 0 0.533391 14.1133 -3.37204 9.32017 -0.303267 -0.32515 1.92449 -0.666033 0.616318 -0.717019 1.45232 0 0 0 0 0 0 +476 0 0 0 0 0 0.220915 -0.380436 0.833272 1.46459 0 0 0.239607 -1.77863 0 -2.78012 0.0674089 0 0 0 0.00143571 1.33573 0 0 0 0 0.401323 0 0 0.576382 -4.01055 -0.883237 0 0.0122016 0 0 0.366264 0.0444982 0 0 1.7334 -1.03892 0 0 0.359857 -5.69296 0 -1.15037 -0.216236 -0.589383 -0.813686 -1.67244 -0.603729 0 0.0511774 0.459072 -0.280587 0.866386 0.188461 0.838772 0 0 -0.35597 -0.883832 0 -0.170899 0.172902 -0.802869 0 0 0 0 0.332415 0.947309 0 3.07108 0.351262 0 0 0 -1.82412 0 -2.62009 6.74325 0 -1.18192 1.64026 -0.205545 0 -1.68799 2.50946 -4.35419 13.2159 0 0 0 -0.20491 -0.0437211 0 0 0 0.000890918 0.0356482 0 0.000172399 0 -0.00737194 -0.0163336 0 0 0 0 -0.108238 0 -0.00293798 0 -0.151299 0 0.0635655 0.174724 0 0.00479906 0 0 0.0936485 -0.000159711 0.0323914 0 0.0134058 0 0.00263815 0.0744618 0.0228119 -0.00376707 0.0142906 0 -0.00051279 0 0 0 0.000968136 0 0 -0.0135252 -0.00533538 0.0777458 0.0634841 0 0 0.00105881 0 -0.0166457 0 0 -0.0156323 -0.016621 0.183631 0.0019304 0 0 0.0175357 -0.0585796 -0.107377 0.0412448 -0.28391 0 -0.0973151 0.0235562 0.103281 0 0 0 0.162251 0 -0.0480045 0.109177 0 0.0071007 -0.0167318 0.072725 0 -0.00243058 0.00384015 -0.0143651 -0.0147467 0 0.220915 -0.20491 -0.380436 -0.0437211 0.587387 0.149868 -0.520762 0.50193 0.0975664 0.0491041 0.0171982 0.530768 0.00655867 0.0792129 -0.0718132 0.0418157 0.027381 0.367012 -0.337332 0.124414 -0.402383 0.120931 0.082716 -0.0732126 0.154971 -0.271991 0.211509 0.00547712 -2.90562 0.576482 0.0717041 -1.32013 -0.00882081 0.4923 -0.438339 0.0181652 0.0128564 0.0714069 0.113978 -1.92088 0.0217693 -0.0410206 -1.95974 -0.763078 0.00355213 0.0663497 -0.178904 -0.00152103 0.205779 0.220263 1.26612 0.0758129 -0.102378 1.65382 0.188305 -1.38411 -0.142745 -0.105191 -0.29952 -0.573847 0.301712 0.458574 -0.0295815 -1.65543 1.08547 0.433206 -0.288493 0.188693 -0.200373 0.152912 -0.228935 -0.153286 -0.139695 0.180642 -0.00662404 -0.238108 -0.181651 -0.69213 0.129874 -0.477383 -1.06879 4.35011 -0.193994 -0.105471 0.41511 -0.0705616 -0.127965 -0.260318 0.564454 -0.965596 2.37885 0 +477 0 0 0 0 0 0.0908665 -0.182813 1.33228 1.81031 0 0 0.29659 -0.617595 0 -0.47715 0.0572835 0 0 0 -0.0136377 -6.07734 0 0 0 0 0.354829 0 0 0.0294614 0.43991 -0.0861962 0 0.600208 0 0 0.239225 0.0434774 0 0 -0.212155 -1.49154 0 0 -0.124938 -3.85122 0 -0.15419 0.0387874 0.750114 0.0641271 -2.69717 0.14312 0 -0.15084 0.0508201 -0.314411 0.141219 -0.388217 -0.503247 0 0 -0.681386 0.48085 0 0.845586 0.872024 -1.50752 0 0 0 0 0.510173 -0.183487 0 -0.211952 0.0910518 0 0 0 -2.35092 0 0.127119 -1.11907 0 0.278068 0.286303 -4.38282 0 0.876331 -0.678675 0.0833192 -0.615851 0 0 0 0.0993569 0.00467862 0 0 0 -0.0602007 0.0656566 0 -0.0067138 0 -0.00387103 -0.00902234 0 0 0 0 0.0140335 0 0.000118654 0 -0.102357 0 -0.500865 -0.380809 0 0.000821598 0 0 -0.0258689 -0.00206353 -0.0352593 0 0.0098549 0 0.00460364 -0.105129 0.000169504 -0.0272826 -0.0133177 0 -0.000285853 0 0 0 0.000696199 0 0 0.000564853 -0.00328868 -0.0783614 -0.0098115 0 0 0.00405416 0 -0.0185114 0 0 0.0349353 0.00449041 -0.00980525 -0.00689887 0 0 0.0123821 -0.036927 -0.0126464 -0.0387097 0.0743004 0 0.0437489 0.00988394 -0.082668 0 0 0 0.101218 0 0.0362547 0.0373699 0 -0.00214758 0.0020014 0.0317504 0 0.00156225 -0.00329284 0.0150527 0.0178092 0 0.0908665 0.0993569 -0.182813 0.00467862 0.132054 -0.122263 0.233063 0.618532 0.88634 0.0131556 0.00614319 -0.0970392 0.00191523 -0.00663314 0.0127463 0.0426248 -0.0190092 0.0751866 -0.134586 -0.985865 -0.285568 0.1532 -0.149041 -0.0122033 -0.145464 0.140227 0.456223 -0.0352485 4.52792 -0.120799 -0.528815 0.439047 0.000356948 1.01958 -0.491179 -0.0154684 -0.00275246 0.0889098 -0.0321662 0.627982 0.0759898 0.028944 1.84603 -1.394 -0.000889279 -0.0109521 -0.181439 -0.184074 -0.0730586 0.140763 0.804374 -0.11778 0.108272 -0.288383 -0.0887669 0.120748 0.120246 -0.172658 0.420111 0.00299952 -0.259614 0.372627 0.175715 0.116415 2.54679 -0.173493 0.105242 0.043704 0.0649226 -0.0772474 0.0472602 0.0511403 -0.0301196 -0.0540914 -0.112176 -0.180425 1.33967 0.269112 -1.06843 -0.00304647 0.128555 -0.496308 -0.00386878 0.0319398 -0.158116 -0.344662 -0.0262151 0.0733426 -0.193623 0.242285 -0.719514 0 +478 0 0 0 0 0 0.161089 -0.0585817 -0.92698 -2.18129 0 0 -0.253985 -0.894058 0 -0.876264 -0.101178 0 0 0 -0.163507 3.08924 0 0 0 0 -0.39548 0 0 0.0922974 -1.59545 -0.396704 0 -0.603924 0 0 -0.0803373 -0.038606 0 0 -0.670389 -0.00748496 0 0 -0.0789536 -1.58437 0 -0.534556 -0.483785 -1.11286 0.408955 0.234553 0.672322 0 0.391192 -0.37089 -0.0986525 0.44755 -0.271644 -0.804804 0 0 -0.344715 1.29799 0 0.409461 -0.072749 -0.107229 0 0 0 0 -0.262578 -1.18822 0 0.32961 1.50874 0 0 0 5.31981 0 2.25317 1.34178 0 0.832656 0.113075 4.62363 0 0.0494213 0.43956 0.832104 4.89604 0 0 0 0.0994597 0.0282454 0 0 0 0.0255242 -0.0320234 0 0.00210149 0 0.00603011 0.00463336 0 0 0 0 0.0196587 0 -0.00505997 0 0.0394849 0 0.191492 0.0101196 0 -0.00142812 0 0 -0.0256312 0.000233538 -0.0160698 0 -0.0106008 0 -0.00228784 -0.0168952 -0.00516034 0.00402319 -0.00708648 0 0.00042037 0 0 0 -0.00076509 0 0 0.0108634 0.00426725 -0.0739805 -0.0332891 0 0 -0.00121236 0 0.0144583 0 0 -0.00156828 -0.00844022 -0.00598736 -0.016773 0 0 0.0124961 0.013958 0.0794712 0.0223474 0.17831 0 0.0173827 -0.0142346 0.0859997 0 0 0 -0.0702163 0 0.0422064 -0.0754758 0 -0.00476558 0.0131591 -0.0305821 0 0.00184207 -0.00485347 0.0144195 0.0157088 0 0.161089 0.0994597 -0.0585817 0.0282454 -0.0957185 0.0818667 0.175415 0.319831 -0.773307 -0.0459736 -0.0608775 -0.497405 -0.00584306 -0.0605291 0.038583 -0.0270201 -0.059597 -0.365611 -0.0185972 1.82725 0.0725258 0.088337 -0.180051 0.0442463 -0.402546 -0.115687 -0.229958 0.0336859 -2.10572 0.141664 0.247848 -0.42552 0.00562783 0.459123 0.119486 -0.0200083 0.000972143 0.0623715 0.0131418 -0.707212 -0.0511889 -0.02134 -0.606401 0.987692 -0.00848985 0.0154728 0.156843 0.238645 0.24295 0.12245 -0.765512 0.782025 0.192044 0.961488 -0.0730879 0.262421 0.0844188 -0.132281 -0.227015 -0.13919 0.205637 0.0136705 0.0633309 -0.319128 -2.49349 0.0536568 -0.613033 -0.109662 0.0706676 0.433075 0.106414 0.033139 0.12447 -0.201807 -0.0190051 0.132523 -0.627884 0.561528 1.67295 0.4199 -0.25393 3.04732 0.18779 -0.0893865 0.29039 0.875394 0.127476 0.00158526 0.0634548 0.00994615 0.902762 0 +479 0 -0.482888 -0.072025 -0.0737154 -0.249376 0.328488 0.335194 -1.7611 -4.02042 -0.307062 2.86549 -0.00396581 1.03809 0.0194137 1.02129 -0.0101925 -0.556058 -4.8269 0.203649 0.0408607 1.82001 0.0466491 -0.205819 -0.0169225 0.61899 -0.684899 0.116307 0.0137417 -0.568349 -1.17321 0.434095 -0.0876379 -0.167785 -0.12823 -0.304844 -0.43484 -0.0205393 -0.0150026 2.99567 -0.210654 1.24993 0.117471 -1.17414 -0.0656543 2.78641 0.689989 0.839731 -0.823229 -0.153276 0.274454 -0.605697 0.619941 1.24745 0.152645 0.196043 -0.0245845 2.07322 0.559056 0.187934 -1.04218 -0.298064 2.31637 -1.45472 0.797941 0.355692 0.252649 1.92178 -0.0957707 0.21232 0.0803161 -1.66851 0.092433 -0.191874 0.0667968 -0.982703 0.695553 0.535228 -12.6068 -8.25679 8.37571 -4.10723 2.61349 -1.61622 -3.23025 2.26573 -3.21649 6.61974 -0.711762 0.558932 -0.601788 -0.397156 4.10425 0 0 0 0 0 -0.0737154 -0.249376 -0.00330053 0 0 0 0 -5.71086e-05 0 0.00519306 0 0 0.0019883 -0.00300353 0.0140372 0 0.00308033 0.0860821 -0.00172527 0 0 0.159627 -0.000177012 0 -0.0230681 0.420635 0 0 0.0256939 0.248639 0 -0.1258 0 0.0280581 0 0 0.00506473 0 0 -0.152823 -0.00110964 0.0254618 0 -0.0470786 0.00419762 0 0 -0.0690034 0 -0.00387722 -0.154586 0.00556703 0 0 -0.010792 0.0065609 0 0.0160106 0.0443288 0.0381479 -1.10203 -0.040977 -0.0284708 0 -0.0303682 -0.00305501 0.00391634 -0.126187 0.109773 0 0 0 -0.243982 -0.0583066 0.00614872 -0.00878998 0.0178547 -0.0260297 -0.00405996 0.00769448 -0.0153932 0.0136277 0 0 0 0 0 0 0.328488 0 0.335194 0 0 0 0 0.107674 -0.971262 0 0 0.639159 0 0.0902483 0 -0.0320274 0 0 0.203883 0 0.359423 -0.0936025 -0.0258072 0.0262938 0 0 -0.284941 0 -1.9031 0 3.06401 0.678616 0 -0.69681 1.20755 0.00425591 0 0.0192636 0 0 -0.10603 0 0.542035 0.717745 0 0 0.0665892 0 0 -0.183764 -1.57423 -0.41402 0 -0.743298 0 0.346423 -0.0604696 0.187356 -0.18549 -0.0368989 -0.61551 -0.450098 0.156645 2.01201 4.57533 0.00378755 0 0 0 0.0420998 -0.204607 0 0 0 0 0.361414 -11.7629 -3.20176 3.09731 -1.21724 1.26011 -2.04775 -0.412959 0.356808 -0.429668 0.501576 0 0 0 0 0 0 +480 0 -0.190135 -0.526843 -0.0158584 0.0649746 0.0743427 -0.208629 0.481022 1.54003 0.0366046 -0.523956 -0.463683 0.519533 0.00735112 0.611551 -0.0504561 -1.4183 -7.47226 -0.170502 -0.0729133 1.06307 -0.00918124 0.587741 -0.00860189 -0.0289942 0.791184 -0.465162 0.00268077 0.583009 1.89463 0.163262 -0.0335213 -0.545587 1.24495 -0.242682 0.389743 -0.0660312 -0.150844 2.80766 -0.633938 -0.13127 0.0402042 -0.89893 -0.0914676 0.632548 0.208265 -0.461218 1.10824 -1.03134 0.281424 -0.6423 0.295109 -2.06526 0.504125 -0.25976 0.60845 -0.818704 0.0730213 -0.270744 0.0868984 -0.0735445 -0.762367 -0.31483 -0.0184086 -2.3529 0.521753 -0.488347 1.07605 -0.26921 0.00486893 0.972768 -0.00491473 -0.321313 0.471738 -2.08964 -1.52453 -0.134286 -6.02255 0.259627 -3.51322 -1.41738 2.27761 -7.1641 0.575023 -0.179894 -0.0314399 -2.76839 -0.214837 0.462884 -1.3415 2.34528 -6.62803 0 0 0 0 0 -0.0158584 0.0649746 0.00907133 0 0 0 0 0.00174112 0 0.00872953 0 0 -0.00335547 -0.0116634 0.0184905 0 0.00293967 0.00200303 0.0487917 0 0 -0.282124 -0.000837877 0 0.0090066 -0.196154 0 0 -0.0307054 -0.0336429 0 -0.0107797 0 -0.0388282 0 0 -0.00369239 0 0 -0.279249 0.0243796 -0.045741 0 0.128077 -0.0268367 0 0 0.0720432 0 -0.0114021 0.030678 0.026227 0 0 -0.00231545 -0.0388048 0 0.00254655 -0.0155374 0.00208739 -0.425096 0.00748772 -0.00672205 0 0.0229156 -0.0509461 0.151983 -0.194468 -0.011852 0 0 0 0.763422 0.0119548 0.0585806 0.0191477 -0.0356774 0.0809327 0.0018968 -0.0036867 0.00976945 -0.00585162 0 0 0 0 0 0 0.0743427 0 -0.208629 0 0 0 0 -0.161973 -0.827997 0 0 0.119184 0 0.0175604 0 -0.0494001 0 0 0.199972 0 1.01901 0.012163 0.185299 0.0118781 0 0 -0.465932 0 -4.96092 0 1.95105 -0.138219 0 -0.106242 1.62499 0.0225442 0 -0.0130303 0 0 -0.0947856 0 -0.997314 -0.37461 0 0 -0.065068 0 0 -0.0106723 0.16041 -0.105049 0 -0.475018 0 0.332089 -0.0852983 0.112534 -0.0137383 0.0760828 -0.0972421 -0.518813 -0.056429 0.155325 -4.6322 -0.0666469 0 0 0 -0.114634 -0.0459758 0 0 0 0 0.286176 0.971914 -0.208616 1.68986 0.174832 0.23373 -0.634588 -0.00875493 -0.00540041 -0.00277912 -0.0065624 0 0 0 0 0 0 +481 0 1.14703 -0.00367279 0.0726373 0.227004 -0.15971 -0.0316504 0.69542 1.56148 0.246609 -1.92835 0.501572 0.189119 -0.0197276 1.06618 0.0739221 -1.14716 -2.07639 -0.183297 0.0926428 -0.562763 -0.0386587 0.103152 0.0169256 -0.485356 0.205823 -0.487242 -0.0411883 0.15657 -0.238448 0.123793 0.083915 0.892491 -0.61416 0.186308 0.16799 0.0777891 -0.221688 -4.4997 1.11055 -0.390825 -0.120221 0.425573 0.17204 2.39656 -0.714414 -0.121756 0.103051 1.54711 -0.57943 0.460329 -1.16941 3.34888 -0.19044 0.17215 -0.265108 1.22967 0.326674 0.226283 0.82081 0.299308 -1.52257 0.301746 -0.543093 -1.32527 -0.0797168 -0.178646 0.281924 -0.181302 -0.0591319 1.3262 -0.241972 1.19635 0.312392 -0.548378 -0.461915 -0.338194 22.9052 7.55976 -0.446979 2.9196 -3.107 7.19849 2.19349 -2.05613 2.90801 -2.4996 0.736958 -1.03902 1.37261 -2.09814 0.834166 0 0 0 0 0 0.0726373 0.227004 0.00379669 0 0 0 0 0.000104449 0 0.00901531 0 0 -0.00114385 0.00490573 -0.00742082 0 -0.00109563 -0.0829837 0.0472649 0 0 -0.0696558 0.000312863 0 -0.0121203 -0.460633 0 0 -0.0142006 -0.258565 0 0.0128272 0 -0.0172655 0 0 -0.00429881 0 0 0.0633261 0.00181245 -0.0136635 0 0.0542463 -0.0330245 0 0 0.0294756 0 0.00652867 -0.0894011 -0.00141322 0 0 0.0115591 -0.00258798 0 -0.0137394 0.0169388 -0.0267611 0.886729 -0.006007 0.0185266 0 0.0186343 -0.021122 0.0708274 0.162029 0.0203065 0 0 0 -0.565011 0.103463 -0.206361 -0.00882502 0.0170939 -0.0337729 0.0035888 -0.00683826 0.0131566 -0.0196552 0 0 0 0 0 0 -0.15971 0 -0.0316504 0 0 0 0 -0.246998 1.11043 0 0 -0.36715 0 -0.0487212 0 0.0459894 0 0 -0.350905 0 0.385956 -0.105415 -0.104131 -0.0639206 0 0 0.541635 0 2.58686 0 -2.08879 0.0666479 0 -0.528641 -0.131469 -0.0154318 0 -0.0479351 0 0 0.0954887 0 0.382377 -0.325535 0 0 -0.0703717 0 0 -0.415147 0.23792 -0.418669 0 -0.0101143 0 -0.713009 0.242321 -0.100657 0.677315 0.122351 -0.294443 0.331578 -0.322818 0.633989 1.78572 -0.135733 0 0 0 0.362508 0.203885 0 0 0 0 -0.231438 18.4762 1.60327 3.31621 0.473423 -0.364525 1.54014 0.238204 -0.203446 0.258407 0.23086 0 0 0 0 0 0 +482 0 0.31495 -0.124451 -0.0209937 -0.0702934 0.169363 0.155299 -0.587584 -1.59921 -0.215997 1.60061 -0.042287 -0.271631 0.00244653 -0.160062 0.0228369 -1.01461 -2.75854 0.29454 0.0560184 -1.70795 0.0444744 0.138335 -0.00294068 0.277185 -0.368188 -0.391748 0.0650417 -0.308113 -0.38796 0.101541 -0.0275193 0.23342 0.549878 0.393391 -0.165745 -0.00565096 0.202987 2.97401 -0.0788899 -0.411933 0.0225679 1.08276 -0.0105033 -1.17601 0.209348 0.15144 -0.345661 0.538997 0.032193 1.17895 0.505227 2.72684 -0.134313 0.091168 -0.106603 0.348195 0.656227 0.023382 -0.535896 -0.0500139 0.444812 -0.0211802 0.640417 -0.305748 -0.778964 0.390007 0.442782 0.720096 0.0676178 -0.543259 0.139078 0.0801957 -0.0713217 -0.942028 0.417632 1.1258 -7.55903 -3.82149 2.54593 -1.80825 1.14975 -2.34352 -0.977022 0.609035 -1.51617 2.9527 -0.0288502 -0.00886412 -0.173415 0.101923 0.74182 0 0 0 0 0 -0.0209937 -0.0702934 0.0042773 0 0 0 0 0.000809557 0 0.0178391 0 0 -0.000981709 -0.00517411 0.0146149 0 0.00238374 -0.00150764 0.111712 0 0 -0.0961617 -0.000367745 0 -0.0128222 -0.13061 0 0 -0.00827702 -0.0335532 0 -0.131141 0 -0.0162187 0 0 -0.00147577 0 0 -0.269485 0.0113171 -0.0139876 0 0.0598323 -0.0169538 0 0 -0.0187623 0 -0.00363952 -0.150414 0.00910631 0 0 -0.00595611 -0.0169404 0 0.0100059 0.0158136 0.0203038 -0.284991 -0.0136026 -0.0171296 0 0.00547826 0.00190583 0.186884 -0.127205 0.0815522 0 0 0 0.318921 -0.00898034 -0.095852 0.00425796 -0.00697192 0.00153139 -0.000716634 0.00115801 -0.000757834 -0.0288128 0 0 0 0 0 0 0.169363 0 0.155299 0 0 0 0 -0.408978 0.122478 0 0 0.792169 0 0.0916032 0 -0.00129037 0 0 -0.273085 0 0.414909 -0.1688 0.325618 -0.0361366 0 0 0.0441172 0 -0.472839 0 0.520473 0.436537 0 -1.24509 0.751423 0.0341901 0 -0.0538046 0 0 0.00197967 0 0.294959 -0.571084 0 0 -0.0747858 0 0 -0.320623 -2.31955 -0.294788 0 -0.756836 0 0.109134 0.254478 -0.0795161 -0.640684 0.0220502 -0.151366 -0.338066 0.0456276 1.30444 0.839093 0.0516751 0 0 0 0.203928 -0.211547 0 0 0 0 0.0291521 4.44273 -1.21149 3.76156 0.0136382 0.20802 -0.126862 -0.333183 0.269585 -0.342567 0.644384 0 0 0 0 0 0 +483 0 -0.682427 0.00196631 0.00483024 0.0681694 0.0979732 0.127731 -0.933003 -0.975591 0.0625138 0.0853035 -0.0621769 -0.46336 0.000142759 -1.54401 -0.0093878 0.139795 -2.04685 0.0944908 -0.00757655 1.2067 0.0231496 -0.336514 0.000294045 0.0506364 -0.509403 0.35558 0.0392007 -0.517458 -1.26492 -0.0554972 0.00429191 -0.183918 0.133492 0.26617 -0.435745 -0.00378677 0.231952 2.44736 -0.0112913 1.16309 0.000595769 1.18313 -0.000453956 -3.91839 -0.00713783 0.721101 -0.790005 -0.183045 -0.00674159 -0.808312 -0.1077 0.100633 -0.0262276 0.00652586 0.156375 -2.02385 -0.466681 0.32465 -0.0984955 -0.0049964 1.93255 -2.19015 1.29287 -0.799942 -0.284336 1.35895 0.861891 0.32408 -0.0126995 -0.194156 0.0948525 -0.262054 -0.184813 0.781533 0.835979 -0.534079 -8.48096 -2.27851 0.56907 -1.68316 1.16701 -1.23977 -0.0529688 -0.0385075 0.25889 1.46447 0.000983663 0.00126559 0.0939833 0.0971985 2.41866 0 0 0 0 0 0.00483024 0.0681694 0.000825175 0 0 0 0 6.15861e-05 0 -0.0124823 0 0 -0.000711649 -0.000306423 -0.00246869 0 -0.000553332 -0.0199092 -0.0629072 0 0 -0.174249 -2.86013e-05 0 -0.00308603 -0.776834 0 0 -0.0276278 -0.123528 0 -0.00943175 0 -0.0123127 0 0 -0.00188984 0 0 -0.212393 0.000951518 -0.00865089 0 0.0124897 -0.00283502 0 0 0.0569226 0 -0.000337142 0.0194627 0.00232115 0 0 0.00131053 -0.00278532 0 0.000158803 -0.0372631 -0.00548483 0.54854 0.0103794 -0.00840597 0 0.0113728 -0.0348509 -0.0747557 0.0622811 -0.0521927 0 0 0 0.464624 0.0166822 0.0609852 0.00310387 -0.00545531 0.033295 0.000733641 -0.00168828 0.00414501 0.0217673 0 0 0 0 0 0 0.0979732 0 0.127731 0 0 0 0 0.351865 -0.0493363 0 0 -0.237928 0 -0.0194096 0 -0.0113123 0 0 -0.330607 0 -0.413562 0.125613 -0.045433 -0.0385737 0 0 -0.160249 0 -6.60744 0 1.80011 -0.603827 0 0.796426 0.219352 -0.00110506 0 0.0576089 0 0 -0.00628411 0 -2.37023 -0.889479 0 0 -0.096961 0 0 0.150415 1.7101 0.0679523 0 0.356631 0 0.231415 0.019424 0.0424232 0.176954 0.083732 0.145641 0.0941533 0.101882 -1.33553 -3.95128 -0.0743438 0 0 0 -0.0512852 0.00797195 0 0 0 0 -0.0930752 -7.62132 -0.11332 -1.40554 -0.0767255 0.317624 -1.13108 0.130933 -0.0864819 0.0934895 -0.417164 0 0 0 0 0 0 +484 0 0.55697 0.525856 0.0266658 0.104402 -0.00671236 0.258499 -0.553515 -0.97822 0.287125 -0.802344 -0.00717127 0.365447 -0.00286947 -0.481753 -0.0398151 0.85688 4.69555 -0.125441 -0.0833172 -0.254948 -0.0145012 -0.485005 0.00364605 -0.130856 -0.409858 0.27211 -0.0465105 -0.482043 -0.687481 0.0668742 0.0348929 -0.368082 -1.40961 -0.28065 -0.288328 -0.000783215 -0.0376545 -5.3012 0.114758 0.485132 -0.0257749 -0.504082 0.0100204 0.629197 -0.231959 0.519539 -0.536326 -0.706897 -0.00478271 -0.424948 -0.686902 -1.64088 0.226321 -0.137002 -0.0399699 -1.73739 -0.0330632 -0.214296 0.358052 0.0575786 -1.2487 0.320277 -0.454285 0.104057 -0.184819 0.113583 -0.772679 -0.172906 -0.0852747 0.419978 -0.513975 -0.253304 0.17485 0.418588 0.175239 0.623544 20.4102 4.9085 1.9173 2.36766 -2.35539 8.77684 -0.105551 0.0448343 1.16391 1.72394 0.0319662 0.00793716 0.269136 -0.0627542 1.31454 0 0 0 0 0 0.0266658 0.104402 -0.00473246 0 0 0 0 -0.00093713 0 -0.0146015 0 0 0.00183509 0.00690322 -0.0155451 0 -0.00226197 0.00613502 -0.112446 0 0 0.177887 0.000490954 0 -0.00120549 0.283961 0 0 0.0180655 0.0591466 0 0.0427532 0 0.0224482 0 0 0.0019849 0 0 0.104214 -0.0130979 0.0259614 0 -0.0661732 -0.00572837 0 0 0.036411 0 0.00638229 0.0304034 -0.0093879 0 0 0.00773619 0.0238027 0 -0.0123927 -0.00529397 -0.0183949 0.33312 0.00329453 0.0180121 0 -0.00476279 -0.014298 -0.189463 0.193139 -0.0168003 0 0 0 -0.176049 0.0103303 0.0660815 -0.00139848 0.0019721 0.0143812 0.000495518 -0.000752596 -0.000731009 0.0293075 0 0 0 0 0 0 -0.00671236 0 0.258499 0 0 0 0 -0.162076 -0.24954 0 0 -0.27166 0 -0.0407186 0 -0.0172577 0 0 0.53056 0 -0.808536 -0.103663 -0.0874552 0.0431974 0 0 -0.195427 0 2.89034 0 -2.82325 0.339799 0 -0.489204 -1.34251 -0.0157342 0 -0.0378185 0 0 -0.0265379 0 0.65741 1.37751 0 0 0.158824 0 0 -0.205982 1.60872 -0.295674 0 -0.28499 0 -0.51193 -0.111961 0.0352817 0.385482 0.141509 0.239881 0.477738 -0.235944 1.01823 3.73949 -0.0633131 0 0 0 0.0644002 0.198042 0 0 0 0 0.10542 17.4734 0.778617 3.78372 0.1901 -0.259086 1.79243 0.179544 -0.10685 0.115629 0.308333 0 0 0 0 0 0 +485 0 709.17 111.767 12.7482 63.8744 413.785 70.6369 6.52241 11.3974 48.6322 -26.6786 11.3688 16.8981 -6.37298 18.0965 -2.35025 83.0316 271.202 -6.53872 -7.48527 91.1938 -3.67324 -10.8551 8.4867 -12.9345 1.22385 30.8791 7.21473 -12.4313 -65.6324 11.8311 15.9067 -13.5476 -26.5934 20.6711 -0.977078 4.27756 23.0392 -104.409 39.6257 43.2393 -11.7736 81.142 10.0208 16.0843 -32.8192 30.0283 -19.7496 -46.1745 -4.93955 27.7445 -5.04273 -3.31064 14.4285 -4.29236 6.46501 38.2143 13.7937 -5.70934 6.19506 4.08996 -23.5619 -13.2453 7.63657 -28.1616 -23.0082 -6.24714 20.2253 17.5462 -11.3545 12.3302 3.09044 4.40197 -14.2284 -15.501 -7.88688 -20.6079 442.208 103.984 48.8039 102.506 -88.8952 223.526 43.544 -39.0481 53.2266 15.9784 43.2398 -47.0789 83.204 -103.416 214.884 0 0.319656 0.0373586 30.4608 4.55467 12.7482 63.8744 0.16161 0.95578 -0.423891 -0.000833992 0.213677 0.00738969 0.0298833 -0.255376 0.0437319 -0.00913654 0.030348 0.201957 1.0095 0.511219 0.00826795 3.21463 3.16921 0.00358156 3.27069 -0.65917 0.0155587 -0.143294 -0.961281 17.9994 -3.3053 0.0145791 0.28857 6.42205 -0.243237 0.848157 -0.0399705 1.16763 -0.613214 0.185867 0.325381 -0.0879675 0.00283553 3.15696 0.0922605 0.422268 -0.0171582 2.19186 -0.0480494 -0.00451103 -0.0374248 0.626721 -0.040505 0.151259 7.38398 -0.505734 -0.137707 0.119665 -0.0678143 -0.420128 0.0900136 0.700965 3.01856 0.15816 -3.782 0.972149 0.681558 -0.236459 0.394107 1.0448 8.21965 -1.6323 1.69641 0.00838285 0.322101 0.0236123 -70.2958 -4.46334 -13.4207 0.183429 -0.58631 3.70424 -0.0300159 0.0701042 0.214242 -1.02655 0.0153098 -0.0188296 0.155585 -0.409608 4.12247 0 413.785 30.4608 70.6369 4.55467 141.599 20.4403 26.2319 -2.89452 30.4024 -3.39681 -2.44841 -14.506 -0.583517 -3.51812 4.35114 1.08104 -2.37992 -18.9262 5.96237 32.174 -8.86223 -1.06767 -3.30212 1.32088 -16.5526 -6.12666 4.60789 1.48562 97.8517 18.8341 -84.1634 21.3899 0.697538 -7.14319 -24.9844 -1.0178 0.540952 -0.102001 3.53081 -32.9594 6.20828 -1.11818 43.3645 2.43286 -0.333806 3.15899 3.83233 7.05808 -5.98203 -4.2023 0.703896 6.99834 6.50257 11.2875 -9.43054 -19.7954 11.1037 -10.2089 -3.1948 -0.852591 -12.5632 8.54066 -4.14666 1.21154 36.0001 -4.39713 10.489 -0.495246 0.8179 8.96908 2.0914 -3.53947 3.07421 3.37688 -1.11978 -10.407 607.221 104.193 25.2903 85.4265 -77.4518 137.195 27.2301 -21.8462 21.8963 6.21994 22.6875 -18.94 22.4449 -24.0696 44.0676 0 +486 0 715.139 116.03 14.1301 71.4096 409.926 72.7162 -1.50226 -8.03564 87.4014 -58.1024 18.854 19.6594 -6.99152 29.7654 -2.13919 86.7148 299.813 -12.0901 -12.6448 143.262 -4.45206 -16.0069 9.26191 -16.4308 -6.5545 31.9482 5.82121 -15.0157 -103.172 13.3594 22.4915 -8.1997 -40.52 18.0309 -4.72972 5.20621 15.2794 -164.697 65.7357 51.8154 -19.604 66.7131 15.6279 59.9654 -73.0718 32.6719 -32.3574 -63.3041 -32.0942 14.2398 -29.9689 -21.0641 17.7491 -8.94896 6.90809 20.8306 33.3216 -7.24156 21.8576 27.8646 -29.9068 11.4008 -9.8791 -36.8519 -24.1852 -11.5061 16.8608 24.6898 -25.0984 8.88094 -5.51393 25.2331 -26.0181 -23.5873 -12.2908 -9.29626 608.6 152.098 120.786 201.733 -157.455 359.132 123.209 -87.8661 111.094 32.7096 178.858 -134.183 158.71 -163.31 323.039 0 6.50373 0.729259 27.2778 3.8263 14.1301 71.4096 0.641754 1.83949 -7.78224 -0.0188735 0.30241 0.00539449 0.386718 -0.171054 0.656552 -0.221081 -0.285691 -0.744129 -0.962768 7.30205 -0.232149 0.383528 -1.34117 0.0554306 11.7691 1.94116 -0.0122376 -0.136607 -2.54074 15.3178 -4.27642 0.242019 0.951345 1.31936 -0.906773 -5.91903 -0.746282 0.891433 -0.808126 2.39542 0.204182 -2.43773 0.0351976 -17.4354 0.216606 -4.21997 -0.0880966 5.74098 3.07048 -0.486093 -0.542027 -8.5719 0.235848 0.445933 -0.0597816 -1.66479 -1.71752 1.95 0.413358 -1.49055 -2.0362 -1.52719 -1.43393 -0.406757 -4.52552 -0.992552 -0.211531 -0.122614 0.879805 0.487191 1.52466 -4.14952 -1.93472 0.162751 1.76452 0.366208 171.645 25.1022 15.6215 6.43889 -4.66722 22.5835 0.218027 0.221938 1.95338 3.03039 0.323827 -0.384018 1.11631 -1.60106 5.64464 0 409.926 27.2778 72.7162 3.8263 144.751 21.0993 33.9434 2.36914 41.9733 -2.91118 -3.87922 -24.6291 -0.442665 -3.29391 5.13058 1.4607 -3.56312 -19.7231 7.45252 54.5867 -12.867 -2.20084 -5.98347 1.98628 -24.6966 -5.40311 8.79844 1.69609 179.196 17.4056 -101.744 20.3872 0.772061 2.13568 -29.3863 -0.780362 0.356417 -0.549963 2.41574 -31.5398 6.47784 -0.989938 51.5478 30.2773 -0.525787 2.55133 7.65048 9.73868 -2.00958 -5.18026 3.37516 -3.89872 8.45916 17.9186 -13.1371 -20.3418 5.2576 -4.16594 0.364826 5.28101 -3.28411 9.87603 -9.99236 -8.18072 -12.9343 -7.51433 1.99601 -4.4103 -1.41405 17.7596 6.85585 -4.10821 4.9751 0.364522 1.84394 -18.1741 689.857 161.178 -22.1725 103.314 -82.6389 152.76 29.8681 -22.6095 28.9694 5.05039 23.0752 -19.0946 23.8697 -21.0649 40.2935 0 +487 0 713.332 115.618 12.8996 66.0678 411.631 72.6553 1.17807 9.20751 81.8211 -38.0631 12.311 21.4827 -6.12701 34.8202 -0.0426395 94.2084 333.265 -8.20863 -8.98217 123.279 -3.70773 -12.9567 9.27944 -10.803 -3.69514 33.3531 7.90305 -11.6104 -23.1069 12.3184 22.5398 -0.231498 -30.5216 23.221 -2.11057 5.36395 21.6749 -110.267 19.1471 46.5888 -10.9597 82.6745 7.92433 70.934 -26.4325 29.1248 -17.7118 -45.9062 -10.1056 28.2138 -15.0253 47.4943 17.6086 -4.12418 -2.85228 57.409 29.2333 -16.1755 11.4129 10.1433 -15.6164 25.1343 -2.99835 -41.1686 -23.6534 10.3345 23.8155 18.8561 -34.0158 9.7884 -11.1757 7.75445 -33.9477 -3.53321 12.8745 -13.4395 403.601 124.175 21.5383 110.096 -77.3892 164.339 39.3154 -23.457 44.3997 9.42305 31.7443 -24.1629 46.9433 -53.1395 116.074 0 0.126294 0.0156262 34.5156 5.27442 12.8996 66.0678 0.0698858 2.16591 -1.19846 -0.000363023 0.419868 0.0209415 -0.0333672 -0.431503 0.0191403 -0.00387001 0.0170981 0.0657825 -1.57711 0.212868 -0.0626295 2.32477 -3.24235 0.00163301 9.33956 6.70236 0.00628365 -0.114981 -1.2783 17.337 0.247015 -0.0131807 1.71281 5.4942 -0.2686 -4.69826 -0.0840462 0.960323 -0.25867 -0.221259 0.339163 -0.0356355 -0.00186825 -12.0322 0.37012 0.153803 -0.0171173 0.967971 0.445556 -0.0519916 -0.0643266 0.25171 0.275747 0.0565456 -2.03455 -0.135113 -0.0605113 0.207557 -0.0621547 -0.189176 -0.618255 -0.336378 -1.02319 -0.0836598 -7.19163 -0.288682 0.782661 -0.198899 0.224926 -1.0369 1.69868 -1.11336 -2.67477 -0.0368164 1.57475 0.00972777 67.0477 1.97782 11.9168 0.507376 -0.798147 10.3053 -0.0335086 0.0707065 0.264834 3.56151 0.00698478 -0.0037965 -0.0283137 0.0724362 2.14939 0 411.631 34.5156 72.6553 5.27442 134.768 19.7163 37.8531 -1.50673 47.9426 -3.05037 -3.56567 -22.5794 -0.580628 -4.05746 6.49723 2.20077 -4.16107 -15.1821 6.3024 46.0197 -11.6735 -0.63608 -3.24896 1.75733 -25.9676 -4.32582 12.9724 1.49815 193.045 12.444 -57.7319 21.787 1.07039 10.0989 -17.5216 -0.896942 0.450841 -1.01938 2.64452 -16.1613 8.72581 -0.930239 60.2361 19.8641 -0.547616 2.52035 7.11551 8.50964 -4.15914 -5.9482 4.49258 9.44999 8.10088 27.7991 -13.0208 -7.17368 1.62379 -6.33833 4.59169 2.78412 -2.01581 -0.169024 -6.17203 -16.2242 5.50214 -2.41269 6.30368 -1.62727 2.94917 14.9924 3.04612 -3.59238 3.27039 2.01914 -0.306263 -18.3334 394.034 121.788 -28.7487 70.6511 -56.3141 89.1634 21.448 -17.8309 27.2521 -8.94553 17.1245 -13.6148 16.927 -14.8959 24.7553 0 +488 0 -1.32533 -0.708712 0.310437 -0.0303702 -3.98658 -1.313 7.17562 25.9501 4.40527 -8.76672 -0.724497 -0.930452 -0.174603 6.0467 -0.0371201 6.06345 27.4161 -0.226891 -1.31427 -23.1375 -0.0214786 1.18806 0.348089 -2.8799 4.15731 0.0223876 0.672576 0.828128 18.5522 1.32487 1.53186 0.561083 1.90236 4.31104 1.18509 0.148592 1.54679 -0.85705 -2.61847 -3.92537 -1.0243 11.3225 0.164559 -7.5913 -2.57223 -0.112329 3.77163 -0.510778 -0.678979 5.03846 -9.60987 -41.6165 2.33708 -3.87082 2.11934 -20.3963 0.119892 -4.87453 4.84368 2.64597 -3.77198 2.36514 2.50877 -14.202 1.69252 -0.692634 5.71412 -4.42529 -4.03796 -0.00622227 -2.22691 -4.45566 -3.46285 -23.7114 1.39839 -9.62191 8.65808 22.6298 -72.4771 15.7563 -16.038 -29.6722 12.6549 -11.9831 0.940549 -36.231 10.2659 1.30719 -18.4004 25.0207 -58.418 0 0.107184 0.00377767 -0.35981 0.0278581 0.310437 -0.0303702 -0.018301 -0.379666 0.322541 0.000112625 -0.0525323 -0.0216879 -0.00685029 -0.0156252 -0.00154049 0.000513949 -0.00141878 0.25678 -0.176974 0.0605158 -0.0460085 1.83593 0.25976 -0.000611401 -2.51434 0.385943 0.0184781 0.0208291 -0.458576 6.68521 0.333414 -0.00255544 0.295683 4.29458 0.1217 -1.12339 0.032159 2.08083 0.0998354 -0.000359639 0.388189 -0.0113481 -0.00127864 -2.24813 -0.293265 0.0995555 0.00972535 -0.260388 -0.0360447 0.0167394 0.0698476 -2.87711 -0.0274904 0.119563 -3.19917 -0.254751 0.00194299 -0.036686 0.0164832 0.119342 0.187514 -0.0622205 0.935945 0.147973 6.57206 -0.427203 -0.987116 -0.211178 -0.0555496 -0.249343 1.13812 1.01818 -0.673144 -0.153193 -0.310453 0.00270878 9.73714 0.867077 0.631163 0.834691 -0.650925 -1.25277 0.00590052 0.0580047 -0.0675791 -0.0158354 -0.00447432 0.00761242 -0.000445686 0.0200541 -0.329108 0 -3.98658 -0.35981 -1.313 0.0278581 -2.51256 -0.584412 0.182506 -0.315798 3.50833 -0.0349874 0.294145 -1.31006 -0.00456437 -0.25193 0.032737 0.356263 0.169484 -0.445227 -3.47325 -5.55707 2.86826 0.224854 0.380707 -0.60479 1.89008 0.212931 1.59595 -0.0761674 26.7689 0.0439201 0.577895 2.23324 0.00537352 3.55646 1.94656 -0.074582 0.014951 0.0138449 0.0787511 2.80017 0.576271 0.0416152 9.09714 -9.04058 0.0364426 0.0511861 -1.50344 -0.661162 -0.691308 -6.42381 -3.02358 0.189364 0.272378 3.20793 -0.00854755 -2.68234 -0.256894 -0.540434 -1.05023 0.726535 6.26358 0.977457 0.00626111 1.42396 3.75979 1.84651 -2.42929 0.193627 -0.322707 1.07519 -0.418249 -0.581632 0.44318 0.864126 0.13813 -0.49341 -1.02407 6.75714 -21.2708 -0.00611611 3.00799 -19.1614 1.42585 -0.399385 -2.6345 -4.47421 0.638709 0.0415532 -1.95774 1.77379 -5.50044 0 +489 0 6.48135 1.11172 0.637761 0.675066 0.844992 1.20883 -2.48425 -10.0947 7.84818 -7.41694 -1.03638 1.33722 -0.544773 3.68794 0.260176 0.815007 9.80776 -2.0827 1.32953 -6.29959 -0.914661 -1.192 0.89498 -3.72871 -2.10434 0.730306 0.761194 -1.14002 -0.306434 0.999653 2.40305 2.87883 -5.77388 1.45285 -1.03958 0.033106 4.17061 -27.0804 -4.94245 0.523481 -1.05826 14.0775 -0.684617 5.81796 -0.689375 1.5585 -0.170617 8.55688 0.648791 -14.7614 -1.79816 6.69629 -1.18044 1.02491 -1.40824 7.41314 4.31149 9.18351 3.67926 1.64711 -2.49212 -10.1237 10.3468 -5.6308 3.70185 -6.22575 9.85305 3.68003 -5.06533 4.97463 1.46876 -2.66848 -5.38903 6.39589 0.513014 -1.96446 103.28 38.114 19.3046 18.4584 -1.45462 32.2847 4.43121 6.06069 1.32544 19.7247 2.08335 0.998187 1.04283 -0.217852 16.1095 0 -0.0731037 -0.0119432 0.87097 0.29521 0.637761 0.675066 0.0198503 0.144099 0.280025 0.000327094 0.0156015 0.0231883 -0.0364042 0.0401706 -0.0188647 0.00289707 0.00850609 0.178191 -0.412543 -0.189137 0.0431115 -0.0527586 -0.576407 -0.00175138 0.529309 0.736589 0.0080008 0.050934 1.23749 0.713713 1.39947 -0.0116691 0.294458 0.0271835 0.0485913 2.19763 0.0236449 0.254134 0.289055 -0.131043 0.0767693 0.0174293 -0.00304164 3.91509 0.348117 0.255642 0.00408404 0.430596 0.204458 0.0172813 0.0211231 0.981862 -0.158073 0.103116 -2.81203 -0.167168 0.0630573 -0.0733476 -0.0565629 0.0583924 -0.0912881 0.0752447 1.74223 0.0056339 9.26457 -0.0135204 -0.0137639 -0.14143 -0.154562 -0.652322 4.14515 -0.0153155 -0.795173 -0.0844102 1.39272 -0.00858579 -17.1922 -1.69161 2.33772 0.0461219 -0.171617 -3.59526 -0.008332 0.00275126 -0.234216 0.583808 -0.00700035 0.0148837 -0.0274091 0.0995972 -1.38493 0 0.844992 0.87097 1.20883 0.29521 -1.10863 -0.0826081 2.98352 -0.402221 5.2814 -0.358653 0.542296 2.11206 -0.0559575 0.127425 0.359256 0.285919 0.144454 -1.21263 6.09614 -3.31607 0.204589 -0.380484 0.617116 1.04404 1.53652 -0.591318 0.512349 -0.0168729 45.385 2.5364 -7.79246 5.65976 0.0407566 -5.35147 -1.51557 0.149576 0.089536 -0.123944 0.575389 -5.23618 0.941393 -0.076841 14.8924 10.5435 0.0628016 0.50068 1.96505 -0.479465 1.16831 -4.53426 5.83272 1.69673 -0.466023 -12.3368 -0.455553 -5.41649 1.69444 -1.51773 1.09847 -1.23753 1.28023 3.97355 -1.04971 0.236018 -25.9599 0.908922 -4.36393 0.0357096 0.239566 0.183314 0.431878 -1.20691 0.959995 0.932382 -0.239638 -1.50677 26.8327 -22.1142 37.845 -4.28263 -4.87658 22.8565 -1.27986 -2.5888 5.74261 -1.41072 2.43303 -4.42997 5.8916 -5.26824 6.58995 0 +490 0 -5.45705 -3.20404 -0.15165 0.121147 3.57285 -0.527747 1.72153 -12.2986 4.35711 7.26771 -1.05039 4.40357 -0.190014 7.26292 -0.711694 -1.40129 -33.2057 0.947957 -3.24541 13.697 -0.529298 2.53815 1.01059 1.24088 0.721162 -0.0333592 -0.231655 1.52409 -3.90155 2.89614 2.03005 -2.00243 9.62884 -2.03133 1.09959 -0.342412 -1.52252 27.7372 0.328641 1.92618 0.0360569 -10.1762 1.33137 3.57842 1.06234 2.2924 2.56217 -13.6417 -2.45469 8.22184 3.45487 40.6032 5.31173 -0.0451398 1.97347 15.1497 13.9031 5.22826 -2.08521 0.779626 -3.04586 5.47615 7.56217 0.204151 -0.948924 -5.77773 -1.86539 -1.23773 -5.80122 2.61595 0.759376 4.14743 0.973944 1.42816 -8.98685 21.6576 -143.077 -32.9073 9.67235 -21.153 16.7681 -21.9364 1.20047 0.0260855 -12.6697 35.8202 5.56092 -3.41968 -4.20056 2.01185 27.1485 0 0.561687 0.0555287 -0.0550541 -0.444588 -0.15165 0.121147 0.0696616 -0.152543 -0.562579 -0.000944794 -0.0190333 0.0315273 -0.0993236 0.491113 0.0433841 -0.014192 -0.0537379 -0.0814859 -0.565765 0.560164 0.115193 -0.378002 -0.142328 0.00307907 -1.18424 -3.63103 -0.012908 0.0395564 0.0213462 -3.35037 0.464771 -0.0370028 -0.390862 -0.943191 -0.059377 1.22344 -0.0640941 -0.536478 0.13823 -0.418691 0.00887406 -0.18932 -0.00799127 5.42099 0.501035 -0.600604 -0.00697162 1.23767 0.421442 0.068587 -0.0586003 0.921296 -0.169205 -0.0409049 2.20275 -0.0461771 -0.11472 0.181058 0.0457817 -0.188295 -0.0406809 0.0123562 -0.0552838 0.0509684 7.04953 0.136715 -0.655631 0.121335 0.547564 0.382223 4.95922 -0.611779 -0.315263 -0.164711 -0.214788 0.0241342 -39.2357 0.368708 -1.61364 0.300948 0.674127 -0.0261883 0.106277 -0.00519683 0.162997 1.03903 0.0162709 0.0347909 -0.0190052 0.0409546 1.73009 0 3.57285 -0.0550541 -0.527747 -0.444588 4.08631 0.1957 -1.31491 -4.30411 -7.98324 0.426792 -0.46202 6.81327 0.0850973 1.13291 -0.347492 -0.474851 -0.42294 1.55577 0.571317 4.25915 4.09073 -2.17707 3.82838 0.341378 -4.74905 -0.203726 -2.66634 -0.0775865 -48.0281 -0.310203 5.37433 1.96399 -0.0659725 -13.7711 7.40565 0.515475 -0.0249172 -0.65564 -0.0308012 -2.0487 -1.43116 -0.0158888 -6.92515 -5.95796 -0.0357136 -0.194234 -0.767528 0.0118209 0.0780052 3.91601 -19.6127 1.30233 0.671868 20.8764 -0.296887 7.78508 -1.46411 0.61173 -6.38478 1.2373 3.18546 -8.01273 1.61338 11.0295 76.3328 -0.0272367 2.79981 -0.125313 0.996112 3.05001 -2.54373 0.515527 -0.715533 -0.0253005 -0.0908025 1.54838 -96.8991 -29.6753 25.7231 -7.83316 1.05908 3.90979 -3.21038 1.51359 -2.72086 8.64121 -0.735253 -0.303906 -0.082213 -0.461399 3.78221 0 diff --git a/examples/mliap/in.mliap.ace.compute b/examples/mliap/in.mliap.ace.compute new file mode 100644 index 0000000000..fa9a35da96 --- /dev/null +++ b/examples/mliap/in.mliap.ace.compute @@ -0,0 +1,25 @@ +#info all out log +units metal +atom_style atomic +boundary p p p +atom_modify map hash +read_data ace_compute_struct.data +mass 1 1.00 +mass 2 14.00 +mass 3 15.999 + +pair_style zero 5.7 +pair_coeff * * + + +compute ace all mliap descriptor ace H_N_O_ccs.yace model linear gradgradflag 1 +fix ace all ave/time 1 1 1 c_ace[*] file desc_out.dat mode vector + +thermo 1 +thermo_style custom & + pe pxy c_ace[1][1] c_ace[1][2] +thermo_modify norm no +run 0 + +uncompute ace +unfix ace diff --git a/examples/mliap/in.mliap.pytorch.ace b/examples/mliap/in.mliap.pytorch.ace new file mode 100644 index 0000000000..cc4363498f --- /dev/null +++ b/examples/mliap/in.mliap.pytorch.ace @@ -0,0 +1,54 @@ +# Demonstrate MLIAP/PyTorch interface to linear SNAP potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice bcc $a +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +# choose potential + +pair_style mliap model mliappy Ta_ACE.mliap.pytorch.model.pt descriptor ace linear_ACE_ccs.yace +pair_coeff * * Ta + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} + diff --git a/examples/mliap/in.mliap.pytorch.ace.NN b/examples/mliap/in.mliap.pytorch.ace.NN new file mode 100644 index 0000000000..e99f7a4969 --- /dev/null +++ b/examples/mliap/in.mliap.pytorch.ace.NN @@ -0,0 +1,60 @@ +# Demonstrate MLIAP/PyTorch interface to linear ACE potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice bcc $a +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +# choose potential + +pair_style mliap model mliappy ACE_NN_Pytorch.pt descriptor ace ccs_single_element.yace +pair_coeff * * Ta + + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve + +# Uncomment dumps commands for visualization +#dump 0 all cfg 10 min.*.cfg mass type xs ys zs +#dump_modify 0 element Ta + +run ${nsteps} + diff --git a/examples/mliap/linear_ACE_ccs.yace b/examples/mliap/linear_ACE_ccs.yace new file mode 100644 index 0000000000..ca6043c8cd --- /dev/null +++ b/examples/mliap/linear_ACE_ccs.yace @@ -0,0 +1,150 @@ +elements: [Ta] +E0: [0.000000] +deltaSplineBins: 0.001000 +embeddings: + 0: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} +bonds: + [0, 0]: {nradmax: 22, lmax: 5, nradbasemax: 22, radbasename: ChebExpCos, radparameters: [1.275], radcoefficients: [[[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]]], prehc: 0, lambdahc: 1.275, rcut: 4.81, dcut: 0.01, rcut_in: 1.2, dcut_in: 0.01, inner_cutoff_type: distance} +functions: + 0: + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [3], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [4], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [5], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [6], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [7], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [8], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [9], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [10], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [11], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [12], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [13], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [14], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [15], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [16], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [17], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [18], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [19], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [20], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [21], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [22], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 1], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 2], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 4], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 2], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 4], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [3, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [3, 4], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [3, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [4, 4], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [4, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [5, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 4], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 4], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [3, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [3, 4], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [3, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [4, 4], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [4, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [5, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 4], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 4], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [3, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [3, 4], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [3, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [4, 4], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [4, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [5, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 1], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 2], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 3], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 4], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [2, 2], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [2, 3], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [2, 4], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [2, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [3, 3], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [3, 4], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [3, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [4, 4], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [4, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [5, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 1], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 2], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 3], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 4], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [2, 2], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [2, 3], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [2, 4], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [2, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [3, 3], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [3, 4], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [3, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [4, 4], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [4, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [5, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 1], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 2], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 3], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 4], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [2, 2], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [2, 3], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [2, 4], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [2, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [3, 3], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [3, 4], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [3, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [4, 4], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [4, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [5, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 3, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 3, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 3, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 3, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 3, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 3, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [3, 3, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [3, 3, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [3, 3, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 2, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 2, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 3, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [2, 2, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [2, 2, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [2, 3, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [3, 3, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} diff --git a/examples/mliap/linear_ACE_coeff.acecoeff b/examples/mliap/linear_ACE_coeff.acecoeff new file mode 100644 index 0000000000..7d03528ea8 --- /dev/null +++ b/examples/mliap/linear_ACE_coeff.acecoeff @@ -0,0 +1,148 @@ +# FitSNAP generated on 2024-02-14 14:25:57.119062 with Hash: 25830dc0b45aefc59d0d17c55647440f + +1 142 +Ta + 0.0 # B[0] + -22.5771067833568999 # B[1, 0, 0, 1, 0] + -0.0226270954591753157 # B[2, 0, 0, 2, 0] + 21.0023473528220208 # B[3, 0, 0, 3, 0] + 1.7434645625400198 # B[4, 0, 0, 4, 0] + 0.113236864432865389 # B[5, 0, 0, 5, 0] + 5.43628451822269376 # B[6, 0, 0, 6, 0] + -2.36555723449260613 # B[7, 0, 0, 7, 0] + 0.0 # B[8, 0, 0, 8, 0] + 0.0 # B[9, 0, 0, 9, 0] + 0.0 # B[10, 0, 0, 10, 0] + 0.0 # B[11, 0, 0, 11, 0] + 0.0 # B[12, 0, 0, 12, 0] + 0.0 # B[13, 0, 0, 13, 0] + 0.0 # B[14, 0, 0, 14, 0] + 0.0 # B[15, 0, 0, 15, 0] + 0.0 # B[16, 0, 0, 16, 0] + 0.0 # B[17, 0, 0, 17, 0] + 0.0 # B[18, 0, 0, 18, 0] + 0.0 # B[19, 0, 0, 19, 0] + 0.0 # B[20, 0, 0, 20, 0] + 0.0 # B[21, 0, 0, 21, 0] + 0.0 # B[22, 0, 0, 22, 0] + 10.170453688417453 # B[23, 0, 0, 0, 1, 1, 0, 0] + -1044.76281713462254 # B[24, 0, 0, 0, 1, 2, 0, 0] + 572.709651057556016 # B[25, 0, 0, 0, 1, 3, 0, 0] + -207.396680818678306 # B[26, 0, 0, 0, 1, 4, 0, 0] + 32.7288559698408079 # B[27, 0, 0, 0, 1, 5, 0, 0] + 0.00305266310444371686 # B[28, 0, 0, 0, 2, 2, 0, 0] + 400.569893681083443 # B[29, 0, 0, 0, 2, 3, 0, 0] + 778.880194276356406 # B[30, 0, 0, 0, 2, 4, 0, 0] + 170.855019855882375 # B[31, 0, 0, 0, 2, 5, 0, 0] + -205.570286473228464 # B[32, 0, 0, 0, 3, 3, 0, 0] + -398.963313160853545 # B[33, 0, 0, 0, 3, 4, 0, 0] + -83.81056240085789 # B[34, 0, 0, 0, 3, 5, 0, 0] + 180.0562397293142 # B[35, 0, 0, 0, 4, 4, 0, 0] + -20.5002365523065428 # B[36, 0, 0, 0, 4, 5, 0, 0] + 0.0 # B[37, 0, 0, 0, 5, 5, 0, 0] + -24.8835644197873833 # B[38, 0, 0, 0, 1, 1, 1, 1] + 147.129769901050679 # B[39, 0, 0, 0, 1, 2, 1, 1] + 0.0713620917875858463 # B[40, 0, 0, 0, 1, 3, 1, 1] + -17.3833330953580933 # B[41, 0, 0, 0, 1, 4, 1, 1] + 37.5505432848029557 # B[42, 0, 0, 0, 1, 5, 1, 1] + 0.0191804654757119011 # B[43, 0, 0, 0, 2, 2, 1, 1] + -96.7487163459104664 # B[44, 0, 0, 0, 2, 3, 1, 1] + -0.00658154694809357909 # B[45, 0, 0, 0, 2, 4, 1, 1] + -208.124342352098012 # B[46, 0, 0, 0, 2, 5, 1, 1] + -0.0268971567040146194 # B[47, 0, 0, 0, 3, 3, 1, 1] + 8.21287123634444605 # B[48, 0, 0, 0, 3, 4, 1, 1] + 71.6589883121345395 # B[49, 0, 0, 0, 3, 5, 1, 1] + 17.6098825203311371 # B[50, 0, 0, 0, 4, 4, 1, 1] + -39.1469526467952562 # B[51, 0, 0, 0, 4, 5, 1, 1] + 0.0 # B[52, 0, 0, 0, 5, 5, 1, 1] + 2.81218558029911136 # B[53, 0, 0, 0, 1, 1, 2, 2] + -80.6108937358992534 # B[54, 0, 0, 0, 1, 2, 2, 2] + 25.3006460556791914 # B[55, 0, 0, 0, 1, 3, 2, 2] + -0.116123733569896734 # B[56, 0, 0, 0, 1, 4, 2, 2] + -8.10435957901752779 # B[57, 0, 0, 0, 1, 5, 2, 2] + 0.00593831884284745735 # B[58, 0, 0, 0, 2, 2, 2, 2] + 0.0206072280264136751 # B[59, 0, 0, 0, 2, 3, 2, 2] + 112.907541723710054 # B[60, 0, 0, 0, 2, 4, 2, 2] + -25.3781020910149273 # B[61, 0, 0, 0, 2, 5, 2, 2] + 15.4580129414526724 # B[62, 0, 0, 0, 3, 3, 2, 2] + -58.4875833673028822 # B[63, 0, 0, 0, 3, 4, 2, 2] + 27.8541236484384527 # B[64, 0, 0, 0, 3, 5, 2, 2] + 0.0 # B[65, 0, 0, 0, 4, 4, 2, 2] + 0.0 # B[66, 0, 0, 0, 4, 5, 2, 2] + 0.0 # B[67, 0, 0, 0, 5, 5, 2, 2] + 9.58210832281941371 # B[68, 0, 0, 0, 1, 1, 3, 3] + -33.4771846186537587 # B[69, 0, 0, 0, 1, 2, 3, 3] + -0.147879214073858095 # B[70, 0, 0, 0, 1, 3, 3, 3] + -0.983689688855974187 # B[71, 0, 0, 0, 1, 4, 3, 3] + -11.2679823588990811 # B[72, 0, 0, 0, 1, 5, 3, 3] + 189.312912024886742 # B[73, 0, 0, 0, 2, 2, 3, 3] + -0.0774443286916917523 # B[74, 0, 0, 0, 2, 3, 3, 3] + -0.102873783395946994 # B[75, 0, 0, 0, 2, 4, 3, 3] + -0.0756462323598340036 # B[76, 0, 0, 0, 2, 5, 3, 3] + -53.7511259632733953 # B[77, 0, 0, 0, 3, 3, 3, 3] + 33.9879339807403227 # B[78, 0, 0, 0, 3, 4, 3, 3] + 0.0 # B[79, 0, 0, 0, 3, 5, 3, 3] + -0.00814999871185459988 # B[80, 0, 0, 0, 4, 4, 3, 3] + 0.0 # B[81, 0, 0, 0, 4, 5, 3, 3] + 3.05035839717992552 # B[82, 0, 0, 0, 5, 5, 3, 3] + 1.76189504052993939 # B[83, 0, 0, 0, 1, 1, 4, 4] + -0.0109697500983353419 # B[84, 0, 0, 0, 1, 2, 4, 4] + -5.99440757040523309 # B[85, 0, 0, 0, 1, 3, 4, 4] + 0.116301402805795331 # B[86, 0, 0, 0, 1, 4, 4, 4] + 0.0 # B[87, 0, 0, 0, 1, 5, 4, 4] + 0.0172995235996694294 # B[88, 0, 0, 0, 2, 2, 4, 4] + -0.00135295336403791727 # B[89, 0, 0, 0, 2, 3, 4, 4] + -31.9743471589821553 # B[90, 0, 0, 0, 2, 4, 4, 4] + 11.6375525926016525 # B[91, 0, 0, 0, 2, 5, 4, 4] + 7.1785297948853044 # B[92, 0, 0, 0, 3, 3, 4, 4] + 12.9049178783604273 # B[93, 0, 0, 0, 3, 4, 4, 4] + 0.0173960354063151836 # B[94, 0, 0, 0, 3, 5, 4, 4] + -5.44937275307428326 # B[95, 0, 0, 0, 4, 4, 4, 4] + 0.0 # B[96, 0, 0, 0, 4, 5, 4, 4] + 0.0 # B[97, 0, 0, 0, 5, 5, 4, 4] + 0.0 # B[98, 0, 0, 0, 1, 1, 5, 5] + 10.7017857691284473 # B[99, 0, 0, 0, 1, 2, 5, 5] + 0.0 # B[100, 0, 0, 0, 1, 3, 5, 5] + -2.64659600238826176 # B[101, 0, 0, 0, 1, 4, 5, 5] + 0.0 # B[102, 0, 0, 0, 1, 5, 5, 5] + -360.963728954691078 # B[103, 0, 0, 0, 2, 2, 5, 5] + 180.302930506343245 # B[104, 0, 0, 0, 2, 3, 5, 5] + -0.0927167842886253007 # B[105, 0, 0, 0, 2, 4, 5, 5] + -54.9792205296734906 # B[106, 0, 0, 0, 2, 5, 5, 5] + 0.0622968474897991967 # B[107, 0, 0, 0, 3, 3, 5, 5] + -19.0759694688697401 # B[108, 0, 0, 0, 3, 4, 5, 5] + 26.6639152270046758 # B[109, 0, 0, 0, 3, 5, 5, 5] + 0.0 # B[110, 0, 0, 0, 4, 4, 5, 5] + -2.17726871628644325 # B[111, 0, 0, 0, 4, 5, 5, 5] + 0.0 # B[112, 0, 0, 0, 5, 5, 5, 5] + 4.41210696714003525 # B[113, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2] + 0.0497159733881680083 # B[114, 0, 0, 0, 0, 1, 1, 2, 1, 1, 2, 2] + 3.50516630159326947 # B[115, 0, 0, 0, 0, 1, 1, 3, 1, 1, 2, 2] + 14.6179669221722417 # B[116, 0, 0, 0, 0, 1, 2, 1, 1, 1, 2, 2] + 755.058663506306175 # B[117, 0, 0, 0, 0, 1, 2, 2, 1, 1, 2, 2] + -240.568322578754731 # B[118, 0, 0, 0, 0, 1, 2, 3, 1, 1, 2, 2] + 0.0488714570610267046 # B[119, 0, 0, 0, 0, 1, 3, 1, 1, 1, 2, 2] + -187.841135117587072 # B[120, 0, 0, 0, 0, 1, 3, 2, 1, 1, 2, 2] + 32.3758624271038684 # B[121, 0, 0, 0, 0, 1, 3, 3, 1, 1, 2, 2] + 118.101507848151186 # B[122, 0, 0, 0, 0, 2, 2, 1, 1, 1, 2, 2] + -0.0136264036603733017 # B[123, 0, 0, 0, 0, 2, 2, 2, 1, 1, 2, 2] + -226.591848522424016 # B[124, 0, 0, 0, 0, 2, 2, 3, 1, 1, 2, 2] + 0.0333288835492624586 # B[125, 0, 0, 0, 0, 2, 3, 1, 1, 1, 2, 2] + -0.0087547361274342983 # B[126, 0, 0, 0, 0, 2, 3, 2, 1, 1, 2, 2] + 0.0104057653307802946 # B[127, 0, 0, 0, 0, 2, 3, 3, 1, 1, 2, 2] + -25.2394489573255107 # B[128, 0, 0, 0, 0, 3, 3, 1, 1, 1, 2, 2] + -83.6076290271592057 # B[129, 0, 0, 0, 0, 3, 3, 2, 1, 1, 2, 2] + 80.3884647598460305 # B[130, 0, 0, 0, 0, 3, 3, 3, 1, 1, 2, 2] + -0.669731707137959487 # B[131, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2] + 0.0358960112501990058 # B[132, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2] + 0.613904373803016767 # B[133, 0, 0, 0, 0, 1, 1, 3, 2, 2, 2, 2] + 0.00183254800152801494 # B[134, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2] + 0.0722024283268215966 # B[135, 0, 0, 0, 0, 1, 2, 3, 2, 2, 2, 2] + 0.0 # B[136, 0, 0, 0, 0, 1, 3, 3, 2, 2, 2, 2] + -0.0365564305694157377 # B[137, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2] + 0.0114527487193957864 # B[138, 0, 0, 0, 0, 2, 2, 3, 2, 2, 2, 2] + 0.0 # B[139, 0, 0, 0, 0, 2, 3, 3, 2, 2, 2, 2] + 0.0 # B[140, 0, 0, 0, 0, 3, 3, 3, 2, 2, 2, 2] + 0.0 # B[141, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0] + +# End of potential \ No newline at end of file diff --git a/examples/mliap/log.03Mar24.mliap.ace.compute.g++.1 b/examples/mliap/log.03Mar24.mliap.ace.compute.g++.1 new file mode 100644 index 0000000000..9e5df53111 --- /dev/null +++ b/examples/mliap/log.03Mar24.mliap.ace.compute.g++.1 @@ -0,0 +1,83 @@ +LAMMPS (21 Nov 2023 - Development - e94d89ee3c-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +#info all out log +units metal +atom_style atomic +boundary p p p +atom_modify map hash +read_data ace_compute_struct.data +Reading data file ... + orthogonal box = (0 0 0) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 161 atoms + read_data CPU = 0.010 seconds +mass 1 1.00 +mass 2 14.00 +mass 3 15.999 + +pair_style zero 5.7 +pair_coeff * * + + +compute ace all mliap descriptor ace H_N_O_ccs.yace model linear gradgradflag 1 +fix ace all ave/time 1 1 1 c_ace[*] file desc_out.dat mode vector + +thermo 1 +thermo_style custom pe pxy c_ace[1][1] c_ace[1][2] +thermo_modify norm no +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7.7 + ghost atom cutoff = 7.7 + binsize = 3.85, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard + (2) compute mliap, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 128.7 | 128.7 | 128.7 Mbytes + PotEng Pxy c_ace[1][1] c_ace[1][2] + 0 0 110 633.5226 +Loop time of 1.931e-06 on 1 procs for 0 steps with 161 atoms + +155.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.931e-06 | | |100.00 + +Nlocal: 161 ave 161 max 161 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1754 ave 1754 max 1754 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 14230 ave 14230 max 14230 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 28460 ave 28460 max 28460 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 28460 +Ave neighs/atom = 176.77019 +Neighbor list builds = 0 +Dangerous builds = 0 + +uncompute ace +unfix ace +Total wall time: 0:00:00 diff --git a/examples/mliap/log.03Mar24.mliap.ace.compute.g++.4 b/examples/mliap/log.03Mar24.mliap.ace.compute.g++.4 new file mode 100644 index 0000000000..27341450cd --- /dev/null +++ b/examples/mliap/log.03Mar24.mliap.ace.compute.g++.4 @@ -0,0 +1,83 @@ +LAMMPS (21 Nov 2023 - Development - e94d89ee3c-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +#info all out log +units metal +atom_style atomic +boundary p p p +atom_modify map hash +read_data ace_compute_struct.data +Reading data file ... + orthogonal box = (0 0 0) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 161 atoms + read_data CPU = 0.002 seconds +mass 1 1.00 +mass 2 14.00 +mass 3 15.999 + +pair_style zero 5.7 +pair_coeff * * + + +compute ace all mliap descriptor ace H_N_O_ccs.yace model linear gradgradflag 1 +fix ace all ave/time 1 1 1 c_ace[*] file desc_out.dat mode vector + +thermo 1 +thermo_style custom pe pxy c_ace[1][1] c_ace[1][2] +thermo_modify norm no +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7.7 + ghost atom cutoff = 7.7 + binsize = 3.85, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard + (2) compute mliap, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 111 | 111.3 | 111.6 Mbytes + PotEng Pxy c_ace[1][1] c_ace[1][2] + 0 0 110 633.5226 +Loop time of 5.06375e-06 on 4 procs for 0 steps with 161 atoms + +64.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 5.064e-06 | | |100.00 + +Nlocal: 40.25 ave 44 max 35 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Nghost: 1134.5 ave 1159 max 1117 min +Histogram: 1 1 0 0 1 0 0 0 0 1 +Neighs: 3557.5 ave 4115 max 3189 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +FullNghs: 7115 ave 7755 max 6158 min +Histogram: 1 0 0 0 1 0 0 0 0 2 + +Total # of neighbors = 28460 +Ave neighs/atom = 176.77019 +Neighbor list builds = 0 +Dangerous builds = 0 + +uncompute ace +unfix ace +Total wall time: 0:00:00 diff --git a/examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.1 b/examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.1 new file mode 100644 index 0000000000..1c72671b81 --- /dev/null +++ b/examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.1 @@ -0,0 +1,132 @@ +LAMMPS (21 Nov 2023 - Development - e94d89ee3c-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Demonstrate MLIAP/PyTorch interface to linear ACE potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable nx equal 4 +variable ny equal ${nrep} +variable ny equal 4 +variable nz equal ${nrep} +variable nz equal 4 + +boundary p p p + +lattice bcc $a +lattice bcc 3.316 +Lattice spacing in x,y,z = 3.316 3.316 3.316 +region box block 0 ${nx} 0 ${ny} 0 ${nz} +region box block 0 4 0 ${ny} 0 ${nz} +region box block 0 4 0 4 0 ${nz} +region box block 0 4 0 4 0 4 +create_box 1 box +Created orthogonal box = (0 0 0) to (13.264 13.264 13.264) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 128 atoms + using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264) + create_atoms CPU = 0.000 seconds + +mass 1 180.88 + +# choose potential + +pair_style mliap model mliappy ACE_NN_Pytorch.pt descriptor ace ccs_single_element.yace +Loading python model complete. +pair_coeff * * Ta + + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve + +# Uncomment dumps commands for visualization +#dump 0 all cfg 10 min.*.cfg mass type xs ys zs +#dump_modify 0 element Ta + +run ${nsteps} +run 100 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.684 + ghost atom cutoff = 10.684 + binsize = 5.3419999, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3040 | 3040 | 3040 Mbytes + Step Temp E_pair c_energy TotEng Press v_press + 0 300 -10.799771 -10.799771 -10.761296 -124096.28 124096.28 + 10 297.05593 -10.799394 -10.799394 -10.761296 -124021.81 124021.81 + 20 293.90126 -10.798989 -10.798989 -10.761296 -123931.98 123931.98 + 30 290.75573 -10.798586 -10.798586 -10.761296 -123830.65 123830.65 + 40 287.87299 -10.798216 -10.798216 -10.761296 -123723.2 123723.2 + 50 285.52822 -10.797915 -10.797915 -10.761296 -123616.33 123616.33 + 60 283.89424 -10.806252 -10.806252 -10.769843 -123186.35 123186.35 + 70 283.0133 -10.814468 -10.814468 -10.778171 -122622.74 122622.74 + 80 283.82159 -10.850734 -10.850734 -10.814333 -121100.05 121100.05 + 90 285.70388 -10.87694 -10.87694 -10.840299 -119481.05 119481.05 + 100 289.39 -10.889368 -10.889368 -10.852253 -118417.49 118417.49 +Loop time of 5.22636 on 1 procs for 100 steps with 128 atoms + +Performance: 0.827 ns/day, 29.035 hours/ns, 19.134 timesteps/s, 2.449 katom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 5.2238 | 5.2238 | 5.2238 | 0.0 | 99.95 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00091245 | 0.00091245 | 0.00091245 | 0.0 | 0.02 +Output | 0.0010643 | 0.0010643 | 0.0010643 | 0.0 | 0.02 +Modify | 0.00019072 | 0.00019072 | 0.00019072 | 0.0 | 0.00 +Other | | 0.0003712 | | | 0.01 + +Nlocal: 128 ave 128 max 128 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2203 ave 2203 max 2203 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 36096 ave 36096 max 36096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 36096 +Ave neighs/atom = 282 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:06 diff --git a/examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.4 b/examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.4 new file mode 100644 index 0000000000..4d9f41d34a --- /dev/null +++ b/examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.4 @@ -0,0 +1,132 @@ +LAMMPS (21 Nov 2023 - Development - e94d89ee3c-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Demonstrate MLIAP/PyTorch interface to linear ACE potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable nx equal 4 +variable ny equal ${nrep} +variable ny equal 4 +variable nz equal ${nrep} +variable nz equal 4 + +boundary p p p + +lattice bcc $a +lattice bcc 3.316 +Lattice spacing in x,y,z = 3.316 3.316 3.316 +region box block 0 ${nx} 0 ${ny} 0 ${nz} +region box block 0 4 0 ${ny} 0 ${nz} +region box block 0 4 0 4 0 ${nz} +region box block 0 4 0 4 0 4 +create_box 1 box +Created orthogonal box = (0 0 0) to (13.264 13.264 13.264) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 128 atoms + using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264) + create_atoms CPU = 0.000 seconds + +mass 1 180.88 + +# choose potential + +pair_style mliap model mliappy ACE_NN_Pytorch.pt descriptor ace ccs_single_element.yace +Loading python model complete. +pair_coeff * * Ta + + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve + +# Uncomment dumps commands for visualization +#dump 0 all cfg 10 min.*.cfg mass type xs ys zs +#dump_modify 0 element Ta + +run ${nsteps} +run 100 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.684 + ghost atom cutoff = 10.684 + binsize = 5.3419999, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3029 | 3029 | 3029 Mbytes + Step Temp E_pair c_energy TotEng Press v_press + 0 300 -10.799771 -10.799771 -10.761296 -124096.28 124096.28 + 10 297.05593 -10.799394 -10.799394 -10.761296 -124021.81 124021.81 + 20 293.90126 -10.798989 -10.798989 -10.761296 -123931.98 123931.98 + 30 290.75573 -10.798586 -10.798586 -10.761296 -123830.65 123830.65 + 40 287.87299 -10.798216 -10.798216 -10.761296 -123723.2 123723.2 + 50 285.52822 -10.797915 -10.797915 -10.761296 -123616.33 123616.33 + 60 283.89424 -10.806252 -10.806252 -10.769843 -123186.35 123186.35 + 70 283.0133 -10.814468 -10.814468 -10.778171 -122622.74 122622.74 + 80 283.82159 -10.850734 -10.850734 -10.814333 -121100.05 121100.05 + 90 285.70388 -10.87694 -10.87694 -10.840299 -119481.05 119481.05 + 100 289.39 -10.889368 -10.889368 -10.852253 -118417.49 118417.49 +Loop time of 1.42477 on 4 procs for 100 steps with 128 atoms + +Performance: 3.032 ns/day, 7.915 hours/ns, 70.187 timesteps/s, 8.984 katom-step/s +97.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.3575 | 1.3845 | 1.4057 | 1.7 | 97.17 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.016517 | 0.03758 | 0.064384 | 10.0 | 2.64 +Output | 0.0016464 | 0.0016915 | 0.0017802 | 0.1 | 0.12 +Modify | 0.00010363 | 0.00011648 | 0.00012936 | 0.0 | 0.01 +Other | | 0.0008911 | | | 0.06 + +Nlocal: 32 ave 32 max 32 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1499 ave 1499 max 1499 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 9024 ave 9024 max 9024 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 36096 +Ave neighs/atom = 282 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:03 diff --git a/examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.1 b/examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.1 new file mode 100644 index 0000000000..83461ddad4 --- /dev/null +++ b/examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.1 @@ -0,0 +1,126 @@ +LAMMPS (21 Nov 2023 - Development - e94d89ee3c-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Demonstrate MLIAP/PyTorch interface to linear SNAP potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable nx equal 4 +variable ny equal ${nrep} +variable ny equal 4 +variable nz equal ${nrep} +variable nz equal 4 + +boundary p p p + +lattice bcc $a +lattice bcc 3.316 +Lattice spacing in x,y,z = 3.316 3.316 3.316 +region box block 0 ${nx} 0 ${ny} 0 ${nz} +region box block 0 4 0 ${ny} 0 ${nz} +region box block 0 4 0 4 0 ${nz} +region box block 0 4 0 4 0 4 +create_box 1 box +Created orthogonal box = (0 0 0) to (13.264 13.264 13.264) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 128 atoms + using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264) + create_atoms CPU = 0.000 seconds + +mass 1 180.88 + +# choose potential + +pair_style mliap model mliappy Ta_ACE.mliap.pytorch.model.pt descriptor ace linear_ACE_ccs.yace +Loading python model complete. +pair_coeff * * Ta + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} +run 100 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.62 + ghost atom cutoff = 10.62 + binsize = 5.3099999, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 69.54 | 69.54 | 69.54 Mbytes + Step Temp E_pair c_energy TotEng Press v_press + 0 300 -10.649822 -10.649822 -10.611347 -149369.7 149369.7 + 10 301.54363 -10.65002 -10.65002 -10.611347 -149189.04 149189.04 + 20 310.2497 -10.651137 -10.651137 -10.611347 -148663.85 148663.85 + 30 325.56462 -10.653101 -10.653101 -10.611347 -147792.6 147792.6 + 40 346.54011 -10.655791 -10.655791 -10.611347 -146568.54 146568.54 + 50 371.896 -10.659043 -10.659043 -10.611348 -144972.13 144972.13 + 60 400.11547 -10.662663 -10.662663 -10.611348 -143011.4 143011.4 + 70 429.4367 -10.666423 -10.666423 -10.611348 -140773.79 140773.79 + 80 457.62121 -10.685721 -10.685721 -10.627031 -137496.07 137496.07 + 90 481.87191 -10.697719 -10.697719 -10.635919 -133888.57 133888.57 + 100 500.38073 -10.708101 -10.708101 -10.643927 -130768.99 130768.99 +Loop time of 94.0137 on 1 procs for 100 steps with 128 atoms + +Performance: 0.046 ns/day, 522.299 hours/ns, 1.064 timesteps/s, 136.150 atom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 94.01 | 94.01 | 94.01 | 0.0 |100.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0011604 | 0.0011604 | 0.0011604 | 0.0 | 0.00 +Output | 0.0011648 | 0.0011648 | 0.0011648 | 0.0 | 0.00 +Modify | 0.00031951 | 0.00031951 | 0.00031951 | 0.0 | 0.00 +Other | | 0.0007277 | | | 0.00 + +Nlocal: 128 ave 128 max 128 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2203 ave 2203 max 2203 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 36096 ave 36096 max 36096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 36096 +Ave neighs/atom = 282 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:01:36 diff --git a/examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.4 b/examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.4 new file mode 100644 index 0000000000..b50f4e79bf --- /dev/null +++ b/examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.4 @@ -0,0 +1,126 @@ +LAMMPS (21 Nov 2023 - Development - e94d89ee3c-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Demonstrate MLIAP/PyTorch interface to linear SNAP potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable nx equal 4 +variable ny equal ${nrep} +variable ny equal 4 +variable nz equal ${nrep} +variable nz equal 4 + +boundary p p p + +lattice bcc $a +lattice bcc 3.316 +Lattice spacing in x,y,z = 3.316 3.316 3.316 +region box block 0 ${nx} 0 ${ny} 0 ${nz} +region box block 0 4 0 ${ny} 0 ${nz} +region box block 0 4 0 4 0 ${nz} +region box block 0 4 0 4 0 4 +create_box 1 box +Created orthogonal box = (0 0 0) to (13.264 13.264 13.264) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 128 atoms + using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264) + create_atoms CPU = 0.000 seconds + +mass 1 180.88 + +# choose potential + +pair_style mliap model mliappy Ta_ACE.mliap.pytorch.model.pt descriptor ace linear_ACE_ccs.yace +Loading python model complete. +pair_coeff * * Ta + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} +run 100 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.62 + ghost atom cutoff = 10.62 + binsize = 5.3099999, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 58.24 | 58.24 | 58.24 Mbytes + Step Temp E_pair c_energy TotEng Press v_press + 0 300 -10.649822 -10.649822 -10.611347 -149369.7 149369.7 + 10 301.54363 -10.65002 -10.65002 -10.611347 -149189.04 149189.04 + 20 310.2497 -10.651137 -10.651137 -10.611347 -148663.85 148663.85 + 30 325.56462 -10.653101 -10.653101 -10.611347 -147792.6 147792.6 + 40 346.54011 -10.655791 -10.655791 -10.611347 -146568.54 146568.54 + 50 371.896 -10.659043 -10.659043 -10.611348 -144972.13 144972.13 + 60 400.11547 -10.662663 -10.662663 -10.611348 -143011.4 143011.4 + 70 429.4367 -10.666423 -10.666423 -10.611348 -140773.79 140773.79 + 80 457.62121 -10.685721 -10.685721 -10.627031 -137496.07 137496.07 + 90 481.87191 -10.697719 -10.697719 -10.635919 -133888.57 133888.57 + 100 500.38073 -10.708101 -10.708101 -10.643927 -130768.99 130768.99 +Loop time of 24.6242 on 4 procs for 100 steps with 128 atoms + +Performance: 0.175 ns/day, 136.801 hours/ns, 4.061 timesteps/s, 519.813 atom-step/s +98.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 23.421 | 24.105 | 24.588 | 8.7 | 97.89 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.032393 | 0.51582 | 1.1996 | 59.7 | 2.09 +Output | 0.0020103 | 0.0020589 | 0.0021633 | 0.1 | 0.01 +Modify | 0.00021557 | 0.00023585 | 0.00025912 | 0.0 | 0.00 +Other | | 0.001166 | | | 0.00 + +Nlocal: 32 ave 32 max 32 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1499 ave 1499 max 1499 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 9024 ave 9024 max 9024 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 36096 +Ave neighs/atom = 282 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:26 diff --git a/examples/mliap/mliap_pytorch_ACE.py b/examples/mliap/mliap_pytorch_ACE.py new file mode 100644 index 0000000000..7c98b90054 --- /dev/null +++ b/examples/mliap/mliap_pytorch_ACE.py @@ -0,0 +1,97 @@ +# Demonstrate how to load a model from the python side. +# This is essentially the same as in.mliap.pytorch.MOF +# except that python is the driving program, and lammps +# is in library mode. +before_loading =\ +"""# Demonstrate MLIAP/PyTorch interface to torch model + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable ny equal ${nrep} +variable nz equal ${nrep} + +boundary p p p + +lattice bcc $a +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +# define potential with LATER mliappy + + +pair_style mliap model mliappy LATER descriptor ace ccs_single_element.yace +pair_coeff * * Ta + +""" +after_loading =\ +""" + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run +dump 1 all cfg 10 ats.*.cfg mass type xs ys zs +dump_modify 1 element Ta + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} +""" +import lammps + +lmp = lammps.lammps(cmdargs=['-echo','both']) + +# Before defining the pair style, one must do the following: +import lammps.mliap +lammps.mliap.activate_mliappy(lmp) +# Otherwise, when running lammps in library mode, +# you will get an error: +# "ERROR: Loading MLIAPPY coupling module failure." + +# Setup the simulation and declare an empty model +# by specifying model filename as "LATER" +lmp.commands_string(before_loading) + +# Define the model however you like. In this example +# we load it from disk: +import os +import torch +torch_model = 'ACE_NN_Pytorch.pt' +if not os.path.exists(torch_model): + raise FileNotFoundError(f"Generate {torch_model} first") +model = torch.load(torch_model) + +# Connect the PyTorch model to the mliap pair style. +lammps.mliap.load_model(model) + +# run the simulation with the mliap pair style +lmp.commands_string(after_loading) +lmp.close() +lmp.finalize() diff --git a/examples/plugins/LAMMPSInterfaceCXX.cmake b/examples/plugins/LAMMPSInterfaceCXX.cmake index 7eef5bd6e4..d1f8faec22 100644 --- a/examples/plugins/LAMMPSInterfaceCXX.cmake +++ b/examples/plugins/LAMMPSInterfaceCXX.cmake @@ -23,12 +23,14 @@ function(validate_option name values) endfunction(validate_option) ################################################################################# -# LAMMPS C++ interface. We only need the header related parts. +# LAMMPS C++ interface. We only need the header related parts for shared linkage +# but the library .a file for real static or quasi-static linkage (of LAMMPS). add_library(lammps INTERFACE) target_include_directories(lammps INTERFACE ${LAMMPS_HEADER_DIR}) if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.dll.a) endif() + ################################################################################ # MPI configuration if(NOT CMAKE_CROSSCOMPILING) @@ -82,13 +84,9 @@ if(BUILD_MPI) # Download and configure custom MPICH files for Windows message(STATUS "Downloading and configuring MPICH-1.4.1 for Windows") set(MPICH2_WIN64_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/mpich2-win64-devel.tar.gz" CACHE STRING "URL for MPICH2 (win64) tarball") - set(MPICH2_WIN32_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/mpich2-win32-devel.tar.gz" CACHE STRING "URL for MPICH2 (win32) tarball") set(MPICH2_WIN64_DEVEL_MD5 "4939fdb59d13182fd5dd65211e469f14" CACHE STRING "MD5 checksum of MPICH2 (win64) tarball") - set(MPICH2_WIN32_DEVEL_MD5 "a61d153500dce44e21b755ee7257e031" CACHE STRING "MD5 checksum of MPICH2 (win32) tarball") mark_as_advanced(MPICH2_WIN64_DEVEL_URL) - mark_as_advanced(MPICH2_WIN32_DEVEL_URL) mark_as_advanced(MPICH2_WIN64_DEVEL_MD5) - mark_as_advanced(MPICH2_WIN32_DEVEL_MD5) include(ExternalProject) if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") @@ -131,6 +129,8 @@ else() target_include_directories(lammps INTERFACE "${LAMMPS_SOURCE_DIR}/STUBS") endif() +################ +# integer size selection set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)") set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall) set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES}) diff --git a/examples/rdf-adf/in.spce b/examples/rdf-adf/in.spce index 9a9d99fd42..6627924adc 100644 --- a/examples/rdf-adf/in.spce +++ b/examples/rdf-adf/in.spce @@ -1,22 +1,22 @@ # Liquid water RDFs and ADFs (~12 O-O-O/atom, ~1 O-H...O/atom) -units real -atom_style full +units real +atom_style full -read_data data.spce +read_data data.spce pair_style lj/cut/coul/long 12.0 12.0 pair_coeff * * 0.0 1.0 pair_coeff 1 1 0.15535 3.166 -kspace_style pppm 1.0e-6 +kspace_style pppm 1.0e-6 -bond_style harmonic -angle_style harmonic -dihedral_style none -improper_style none +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none -bond_coeff 1 1000.00 1.000 -angle_coeff 1 100.0 109.47 +bond_coeff 1 1000.00 1.000 +angle_coeff 1 100.0 109.47 # need to set bond/angle inclusion to > 0.0 # so that intramolecular pairs are included in neighbor lists (required for second ADF) @@ -26,8 +26,8 @@ neighbor 2.0 bin timestep 2.0 neigh_modify every 1 delay 2 check yes -fix 1 all shake 0.0001 20 0 b 1 a 1 -fix 2 all nvt temp 300.0 300.0 100.0 +fix 1 all shake 0.0001 20 0 b 1 a 1 +fix 2 all nvt temp 300.0 300.0 100.0 velocity all create 300.0 6244325 diff --git a/examples/replicate/README b/examples/replicate/README new file mode 100644 index 0000000000..e33739672c --- /dev/null +++ b/examples/replicate/README @@ -0,0 +1,32 @@ +This directory has input scripts which demonstrate how to use the +replicate command both for systems with and without periodic bond +loops. A periodic bond loop is where a chain of bonds spans a +periodic dimension of the box and includes one or more bonds which +cross the periodic boundary to close the loop. + +To run these scripts, LAMMPS should be built with the MOLECULE and +CLASS2 packages. The latter is only needed for the CNT example. + +-------- + +These scripts are tiny examples which illustrate both kinds of +systems. Each produces a series of images which can be visualized. +If the 3 lines for a dump movie command are uncommented, a MPG movie +is produced, assuming LAMMPS is build with FFMPEG support. + +in.replicate.bond.x # linear chains in x direction, bond loop in x +in.replcate.bond.x.y # 2d grid of bonded atoms, bond loops in x and y +in.replicate.bond.xy # linear chains in diagonal direction, bond loop in x and y +in.replicate.bond.noloop # linear chains in x direction, no bond loop + +If you do not use the bond/periodic keyword with the replicate command +in the first 3 of these scripts (which have periodic bond loops), and +visualize the dynamics of hee simulation, you will see how the +replication creates a bogus system. + +-------- + +This script is for a complex system of 3 orthogonal CNTs which has +periodic bond loops in all 3 dimensions xyz. + +in.replicate.cnt diff --git a/examples/replicate/data.bond.x b/examples/replicate/data.bond.x new file mode 100644 index 0000000000..b5f4d49f2d --- /dev/null +++ b/examples/replicate/data.bond.x @@ -0,0 +1,22 @@ +# system with periodic bonds in x + +3 atoms +3 bonds + +1 atom types +1 bond types + +0 3 xlo xhi +0 1 ylo yhi + +Atoms + +1 1 1 0.5 0.5 0 +2 1 1 1.5 0.5 0 +3 1 1 2.5 0.5 0 + +Bonds + +1 1 1 2 +2 1 2 3 +3 1 3 1 diff --git a/examples/replicate/data.bond.x.noloop b/examples/replicate/data.bond.x.noloop new file mode 100644 index 0000000000..4c096724be --- /dev/null +++ b/examples/replicate/data.bond.x.noloop @@ -0,0 +1,21 @@ +# system with non-periodic bonds in x + +3 atoms +2 bonds + +1 atom types +1 bond types + +0 3 xlo xhi +0 1 ylo yhi + +Atoms + +1 1 1 0.5 0.5 0 0 0 0 +2 1 1 1.5 0.5 0 0 0 0 +3 1 1 2.5 0.5 0 -1 0 0 + +Bonds + +1 1 1 2 +2 1 3 1 diff --git a/examples/replicate/data.bond.x.y b/examples/replicate/data.bond.x.y new file mode 100644 index 0000000000..7eaf19a2ae --- /dev/null +++ b/examples/replicate/data.bond.x.y @@ -0,0 +1,43 @@ +# system with periodic bonds in both x and y + +9 atoms +18 bonds + +1 atom types +1 bond types + +0 3 xlo xhi +0 3 ylo yhi + +Atoms + +1 1 1 0.5 0.5 0 +2 1 1 1.5 0.5 0 +3 1 1 2.5 0.5 0 +4 1 1 0.5 1.5 0 +5 1 1 1.5 1.5 0 +6 1 1 2.5 1.5 0 +7 1 1 0.5 2.5 0 +8 1 1 1.5 2.5 0 +9 1 1 2.5 2.5 0 + +Bonds + +1 1 1 2 +2 1 2 3 +3 1 3 1 +4 1 4 5 +5 1 5 6 +6 1 6 4 +7 1 7 8 +8 1 8 9 +9 1 9 7 +10 1 1 4 +11 1 4 7 +12 1 7 1 +13 1 2 5 +14 1 5 8 +15 1 8 2 +16 1 3 6 +17 1 6 9 +18 1 9 3 diff --git a/examples/replicate/data.bond.xy b/examples/replicate/data.bond.xy new file mode 100644 index 0000000000..31e9d8785a --- /dev/null +++ b/examples/replicate/data.bond.xy @@ -0,0 +1,22 @@ +# system with periodic bonds in xy direction + +3 atoms +3 bonds + +1 atom types +1 bond types + +0 3 xlo xhi +0 3 ylo yhi + +Atoms + +1 1 1 0.5 0.5 0 +2 1 1 1.5 1.5 0 +3 1 1 2.5 2.5 0 + +Bonds + +1 1 1 2 +2 1 2 3 +3 1 3 1 diff --git a/examples/replicate/in.replicate.bond.x b/examples/replicate/in.replicate.bond.x new file mode 100644 index 0000000000..868e05f177 --- /dev/null +++ b/examples/replicate/in.replicate.bond.x @@ -0,0 +1,34 @@ +# test of replicating system with periodic bonds in x + +dimension 2 +atom_style molecular + +read_data data.bond.x + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene + +fix 1 all nve + +write_data tmp.data.x + +dump 1 all image 100 tmp.image.x.*.ppm type type & + adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.mpg type type & +# adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 diff --git a/examples/replicate/in.replicate.bond.x.noloop b/examples/replicate/in.replicate.bond.x.noloop new file mode 100644 index 0000000000..b9862f844d --- /dev/null +++ b/examples/replicate/in.replicate.bond.x.noloop @@ -0,0 +1,34 @@ +# test of replicating system with periodic bonds in x + +dimension 2 +atom_style molecular + +read_data data.bond.x.noloop + +replicate 3 3 1 +#replicate 3 3 1 bond/periodic + +mass 1 1.0 +velocity all create 0.001 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene + +fix 1 all nve + +write_data tmp.data.x.non + +dump 1 all image 100 tmp.image.x.non.*.ppm type type & + adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.non.mpg type type & +# adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 diff --git a/examples/replicate/in.replicate.bond.x.y b/examples/replicate/in.replicate.bond.x.y new file mode 100644 index 0000000000..100350dc18 --- /dev/null +++ b/examples/replicate/in.replicate.bond.x.y @@ -0,0 +1,34 @@ +# test of replicating system with periodic bonds in both x and y + +dimension 2 +atom_style molecular + +read_data data.bond.x.y + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene + +fix 1 all nve + +write_data tmp.data.x.y + +dump 1 all image 100 tmp.image.x.y.*.ppm type type & + adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.y.mpg type type & +# adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 diff --git a/examples/replicate/in.replicate.bond.xy b/examples/replicate/in.replicate.bond.xy new file mode 100644 index 0000000000..52ca79ace7 --- /dev/null +++ b/examples/replicate/in.replicate.bond.xy @@ -0,0 +1,34 @@ +# test of replicating system with periodic bonds in xy diagonal direction + +dimension 2 +atom_style molecular + +read_data data.bond.xy + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.5 + +bond_style harmonic +bond_coeff 1 50.0 1.414 + +special_bonds fene + +fix 1 all nve + +write_data tmp.data.xy + +dump 1 all image 100 tmp.image.xy.*.ppm type type & + adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.xy.mpg type type & +# adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 diff --git a/examples/replicate/in.replicate.cnt b/examples/replicate/in.replicate.cnt new file mode 100644 index 0000000000..0b8b384bbb --- /dev/null +++ b/examples/replicate/in.replicate.cnt @@ -0,0 +1,32 @@ +# three orthogonal periodic CNTs +# demo for replicating triply looped system +# infinite loops in x, y, z +# includes bonded interactions across box corners +# includes bonds, angles, dihedrals, impropers (class2) + +units real + +boundary p p p + +atom_style full + +pair_style lj/class2 10 + +angle_style class2 + +bond_style class2 + +dihedral_style class2 + +improper_style class2 + +read_data three_periodic_CNTs.data.gz + +replicate 2 2 2 bond/periodic + +fix 1 all nve + +run 100 + +# write_restart replicate.restart +# write_data replicate.data diff --git a/examples/replicate/log.6May24.replicate.bond.x.g++.1 b/examples/replicate/log.6May24.replicate.bond.x.g++.1 new file mode 100644 index 0000000000..3f65d11c15 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.x.g++.1 @@ -0,0 +1,125 @@ +LAMMPS (17 Apr 2024) +# test of replicating system with periodic bonds in x + +dimension 2 +atom_style molecular + +read_data data.bond.x +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + scanning bonds ... + 1 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 1 by 1 by 1 MPI processor grid + reading bonds ... + 3 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 3 0.5) + 1 by 1 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 0.00 MB + average # of replicas added to proc = 9.00 out of 9 (100.00%) + 27 atoms + 27 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.001 seconds + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.x +System init for write_data ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 3 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.x.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 6.302 | 6.302 | 6.302 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.02 -1.1250229 0 -1.1057636 9.028122 + 5000 0.54111971 -1.9054641 0.29066874 -1.0937172 3.4346743 +Loop time of 0.0764878 on 1 procs for 5000 steps with 27 atoms + +Performance: 28239805.842 tau/day, 65369.921 timesteps/s, 1.765 Matom-step/s +66.5% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0048837 | 0.0048837 | 0.0048837 | 0.0 | 6.38 +Bond | 0.00065879 | 0.00065879 | 0.00065879 | 0.0 | 0.86 +Neigh | 0.0019897 | 0.0019897 | 0.0019897 | 0.0 | 2.60 +Comm | 0.0012815 | 0.0012815 | 0.0012815 | 0.0 | 1.68 +Output | 0.066351 | 0.066351 | 0.066351 | 0.0 | 86.75 +Modify | 0.00069789 | 0.00069789 | 0.00069789 | 0.0 | 0.91 +Other | | 0.0006247 | | | 0.82 + +Nlocal: 27 ave 27 max 27 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 108 ave 108 max 108 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 284 ave 284 max 284 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 284 +Ave neighs/atom = 10.518519 +Ave special neighs/atom = 2 +Neighbor list builds = 287 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.x.g++.4 b/examples/replicate/log.6May24.replicate.bond.x.g++.4 new file mode 100644 index 0000000000..9e4423d5f6 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.x.g++.4 @@ -0,0 +1,126 @@ +LAMMPS (17 Apr 2024) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# test of replicating system with periodic bonds in x + +dimension 2 +atom_style molecular + +read_data data.bond.x +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 4 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + scanning bonds ... + 1 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 4 by 1 by 1 MPI processor grid + reading bonds ... + 3 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 3 0.5) + 4 by 1 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 0.00 MB + average # of replicas added to proc = 5.25 out of 9 (58.33%) + 27 atoms + 27 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.002 seconds + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.x +System init for write_data ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 3 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.x.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 6.309 | 6.309 | 6.309 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.02 -1.1250229 0 -1.1057636 9.028122 + 5000 0.50911963 -1.7968226 0.21209852 -1.0944607 4.1676488 +Loop time of 0.21682 on 4 procs for 5000 steps with 27 atoms + +Performance: 9962160.612 tau/day, 23060.557 timesteps/s, 622.635 katom-step/s +93.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.001787 | 0.0021247 | 0.0028772 | 1.0 | 0.98 +Bond | 0.00039682 | 0.00045617 | 0.00059887 | 0.0 | 0.21 +Neigh | 0.0013626 | 0.0014006 | 0.0014798 | 0.1 | 0.65 +Comm | 0.017009 | 0.01791 | 0.018656 | 0.5 | 8.26 +Output | 0.06892 | 0.12188 | 0.18918 | 13.7 | 56.21 +Modify | 0.00060336 | 0.00072159 | 0.00088047 | 0.0 | 0.33 +Other | | 0.07233 | | | 33.36 + +Nlocal: 6.75 ave 7 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Nghost: 64.5 ave 65 max 63 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 70.25 ave 77 max 60 min +Histogram: 1 0 0 0 0 1 0 0 1 1 + +Total # of neighbors = 281 +Ave neighs/atom = 10.407407 +Ave special neighs/atom = 2 +Neighbor list builds = 287 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.x.noloop.g++.1 b/examples/replicate/log.6May24.replicate.bond.x.noloop.g++.1 new file mode 100644 index 0000000000..54893b449a --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.x.noloop.g++.1 @@ -0,0 +1,121 @@ +LAMMPS (17 Apr 2024) +# test of replicating system with periodic bonds in x + +dimension 2 +atom_style molecular + +read_data data.bond.x.non +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + scanning bonds ... + 1 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 1 by 1 by 1 MPI processor grid + reading bonds ... + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +replicate 3 3 1 +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 3 0.5) + 1 by 1 by 1 MPI processor grid + 27 atoms + 18 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.001 seconds +#replicate 3 3 1 bond/periodic + +mass 1 1.0 +velocity all create 0.001 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.x.non +System init for write_data ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 3 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.x.non.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.non.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 6.052 | 6.052 | 6.052 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.001 -1.1250229 0 -1.1240599 13.009826 + 5000 0.62003692 -2.0147214 0.30861545 -1.1090334 8.0279226 +Loop time of 0.0734456 on 1 procs for 5000 steps with 27 atoms + +Performance: 29409520.548 tau/day, 68077.594 timesteps/s, 1.838 Matom-step/s +94.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0051444 | 0.0051444 | 0.0051444 | 0.0 | 7.00 +Bond | 0.00048789 | 0.00048789 | 0.00048789 | 0.0 | 0.66 +Neigh | 0.0019333 | 0.0019333 | 0.0019333 | 0.0 | 2.63 +Comm | 0.001332 | 0.001332 | 0.001332 | 0.0 | 1.81 +Output | 0.063139 | 0.063139 | 0.063139 | 0.0 | 85.97 +Modify | 0.00077014 | 0.00077014 | 0.00077014 | 0.0 | 1.05 +Other | | 0.0006387 | | | 0.87 + +Nlocal: 27 ave 27 max 27 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 101 ave 101 max 101 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 288 ave 288 max 288 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 288 +Ave neighs/atom = 10.666667 +Ave special neighs/atom = 1.3333333 +Neighbor list builds = 322 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.x.noloop.g++.4 b/examples/replicate/log.6May24.replicate.bond.x.noloop.g++.4 new file mode 100644 index 0000000000..54d9741781 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.x.noloop.g++.4 @@ -0,0 +1,122 @@ +LAMMPS (17 Apr 2024) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# test of replicating system with periodic bonds in x + +dimension 2 +atom_style molecular + +read_data data.bond.x.non +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 4 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + scanning bonds ... + 1 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 4 by 1 by 1 MPI processor grid + reading bonds ... + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +replicate 3 3 1 +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 3 0.5) + 4 by 1 by 1 MPI processor grid + 27 atoms + 18 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.002 seconds +#replicate 3 3 1 bond/periodic + +mass 1 1.0 +velocity all create 0.001 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.x.non +System init for write_data ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 3 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.x.non.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.non.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 6.059 | 6.059 | 6.059 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.001 -1.1250229 0 -1.1240599 13.009826 + 5000 0.74931971 -2.233724 0.40158766 -1.1105692 5.6354701 +Loop time of 0.197835 on 4 procs for 5000 steps with 27 atoms + +Performance: 10918214.594 tau/day, 25273.645 timesteps/s, 682.388 katom-step/s +88.8% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0018771 | 0.0021131 | 0.0027188 | 0.8 | 1.07 +Bond | 0.00032659 | 0.00038248 | 0.00049555 | 0.0 | 0.19 +Neigh | 0.001385 | 0.0014211 | 0.0014704 | 0.1 | 0.72 +Comm | 0.017163 | 0.017405 | 0.017805 | 0.2 | 8.80 +Output | 0.070971 | 0.11052 | 0.17112 | 12.1 | 55.87 +Modify | 0.00058993 | 0.00067708 | 0.00075608 | 0.0 | 0.34 +Other | | 0.06532 | | | 33.02 + +Nlocal: 6.75 ave 7 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Nghost: 59.75 ave 60 max 59 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 72 ave 79 max 63 min +Histogram: 1 0 0 0 0 0 2 0 0 1 + +Total # of neighbors = 288 +Ave neighs/atom = 10.666667 +Ave special neighs/atom = 1.3333333 +Neighbor list builds = 323 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.x.y.g++.1 b/examples/replicate/log.6May24.replicate.bond.x.y.g++.1 new file mode 100644 index 0000000000..45308d9a90 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.x.y.g++.1 @@ -0,0 +1,125 @@ +LAMMPS (17 Apr 2024) +# test of replicating system with periodic bonds in both x and y + +dimension 2 +atom_style molecular + +read_data data.bond.x.y +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 9 atoms + scanning bonds ... + 2 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 1 by 1 by 1 MPI processor grid + reading bonds ... + 18 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 12 = max # of 1-3 neighbors + 48 = max # of 1-4 neighbors + 8 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 9 0.5) + 1 by 1 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 0.00 MB + average # of replicas added to proc = 9.00 out of 9 (100.00%) + 81 atoms + 162 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 12 = max # of 1-3 neighbors + 48 = max # of 1-4 neighbors + 24 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.001 seconds + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 4 = max # of 1-2 neighbors + 24 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.x.y +System init for write_data ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 7 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.x.y.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.y.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 7.555 | 7.555 | 7.555 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.02 -1.1250229 0 -1.1052698 -2.9713842 + 5000 0.046175679 -1.2280388 0.080003864 -1.1024293 -4.1097897 +Loop time of 0.212344 on 1 procs for 5000 steps with 81 atoms + +Performance: 10172161.526 tau/day, 23546.670 timesteps/s, 1.907 Matom-step/s +93.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.01283 | 0.01283 | 0.01283 | 0.0 | 6.04 +Bond | 0.0032785 | 0.0032785 | 0.0032785 | 0.0 | 1.54 +Neigh | 0.0018379 | 0.0018379 | 0.0018379 | 0.0 | 0.87 +Comm | 0.0016247 | 0.0016247 | 0.0016247 | 0.0 | 0.77 +Output | 0.18991 | 0.18991 | 0.18991 | 0.0 | 89.44 +Modify | 0.0018198 | 0.0018198 | 0.0018198 | 0.0 | 0.86 +Other | | 0.001039 | | | 0.49 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 144 ave 144 max 144 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 714 ave 714 max 714 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 714 +Ave neighs/atom = 8.8148148 +Ave special neighs/atom = 4 +Neighbor list builds = 72 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.x.y.g++.4 b/examples/replicate/log.6May24.replicate.bond.x.y.g++.4 new file mode 100644 index 0000000000..f232a4e428 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.x.y.g++.4 @@ -0,0 +1,126 @@ +LAMMPS (17 Apr 2024) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# test of replicating system with periodic bonds in both x and y + +dimension 2 +atom_style molecular + +read_data data.bond.x.y +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 9 atoms + scanning bonds ... + 2 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 2 by 2 by 1 MPI processor grid + reading bonds ... + 18 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 12 = max # of 1-3 neighbors + 48 = max # of 1-4 neighbors + 8 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 9 0.5) + 2 by 2 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 0.00 MB + average # of replicas added to proc = 6.25 out of 9 (69.44%) + 81 atoms + 162 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 12 = max # of 1-3 neighbors + 48 = max # of 1-4 neighbors + 24 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.001 seconds + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 4 = max # of 1-2 neighbors + 24 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.x.y +System init for write_data ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 7 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.x.y.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.y.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 7.552 | 7.552 | 7.552 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.02 -1.1250229 0 -1.1052698 -2.9713842 + 5000 0.046175679 -1.2280388 0.080003864 -1.1024293 -4.1097897 +Loop time of 0.273847 on 4 procs for 5000 steps with 81 atoms + +Performance: 7887622.810 tau/day, 18258.386 timesteps/s, 1.479 Matom-step/s +92.4% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0039465 | 0.0042593 | 0.0046129 | 0.4 | 1.56 +Bond | 0.0011489 | 0.001207 | 0.0012757 | 0.2 | 0.44 +Neigh | 0.00079819 | 0.0008044 | 0.00081324 | 0.0 | 0.29 +Comm | 0.024107 | 0.024703 | 0.025269 | 0.3 | 9.02 +Output | 0.14406 | 0.18123 | 0.23779 | 8.7 | 66.18 +Modify | 0.00089401 | 0.00095321 | 0.0010422 | 0.0 | 0.35 +Other | | 0.06069 | | | 22.16 + +Nlocal: 20.25 ave 22 max 19 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Nghost: 81.5 ave 82 max 80 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 178.5 ave 195 max 165 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 714 +Ave neighs/atom = 8.8148148 +Ave special neighs/atom = 4 +Neighbor list builds = 72 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.xy.g++.1 b/examples/replicate/log.6May24.replicate.bond.xy.g++.1 new file mode 100644 index 0000000000..207b65ef9b --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.xy.g++.1 @@ -0,0 +1,125 @@ +LAMMPS (17 Apr 2024) +# test of replicating system with periodic bonds in xy diagonal direction + +dimension 2 +atom_style molecular + +read_data data.bond.xy +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + scanning bonds ... + 1 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 1 by 1 by 1 MPI processor grid + reading bonds ... + 3 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 9 0.5) + 1 by 1 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 0.00 MB + average # of replicas added to proc = 9.00 out of 9 (100.00%) + 27 atoms + 27 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.001 seconds + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.5 + +bond_style harmonic +bond_coeff 1 50.0 1.414 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.xy +System init for write_data ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 7 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.xy.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.xy.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 6.302 | 6.302 | 6.302 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.02 -0.66256987 2.2804444e-06 -0.64330834 -0.59475371 + 5000 0.43110862 -1.1484506 0.16888799 -0.56442095 -0.3683968 +Loop time of 0.124095 on 1 procs for 5000 steps with 27 atoms + +Performance: 17406010.885 tau/day, 40291.692 timesteps/s, 1.088 Matom-step/s +82.3% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0013734 | 0.0013734 | 0.0013734 | 0.0 | 1.11 +Bond | 0.00064058 | 0.00064058 | 0.00064058 | 0.0 | 0.52 +Neigh | 0.00090424 | 0.00090424 | 0.00090424 | 0.0 | 0.73 +Comm | 0.00081732 | 0.00081732 | 0.00081732 | 0.0 | 0.66 +Output | 0.11905 | 0.11905 | 0.11905 | 0.0 | 95.93 +Modify | 0.0007252 | 0.0007252 | 0.0007252 | 0.0 | 0.58 +Other | | 0.0005888 | | | 0.47 + +Nlocal: 27 ave 27 max 27 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 45 ave 45 max 45 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 66 ave 66 max 66 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 66 +Ave neighs/atom = 2.4444444 +Ave special neighs/atom = 2 +Neighbor list builds = 244 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.xy.g++.4 b/examples/replicate/log.6May24.replicate.bond.xy.g++.4 new file mode 100644 index 0000000000..a8ef944ec7 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.xy.g++.4 @@ -0,0 +1,126 @@ +LAMMPS (17 Apr 2024) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# test of replicating system with periodic bonds in xy diagonal direction + +dimension 2 +atom_style molecular + +read_data data.bond.xy +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 3 atoms + scanning bonds ... + 1 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 2 by 2 by 1 MPI processor grid + reading bonds ... + 3 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 9 0.5) + 2 by 2 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 0.00 MB + average # of replicas added to proc = 6.25 out of 9 (69.44%) + 27 atoms + 27 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.001 seconds + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.5 + +bond_style harmonic +bond_coeff 1 50.0 1.414 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.xy +System init for write_data ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 7 7 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.xy.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.xy.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 6.301 | 6.301 | 6.301 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.02 -0.66256988 2.2804444e-06 -0.64330834 -0.59475371 + 5000 0.43110877 -1.1484507 0.168888 -0.56442093 -0.36839692 +Loop time of 0.286423 on 4 procs for 5000 steps with 27 atoms + +Performance: 7541285.935 tau/day, 17456.680 timesteps/s, 471.330 katom-step/s +92.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00054941 | 0.00084836 | 0.0013689 | 0.0 | 0.30 +Bond | 0.00034068 | 0.00045816 | 0.00068461 | 0.0 | 0.16 +Neigh | 0.00092076 | 0.00098494 | 0.0010463 | 0.0 | 0.34 +Comm | 0.018151 | 0.018737 | 0.019531 | 0.4 | 6.54 +Output | 0.13261 | 0.19363 | 0.2596 | 10.7 | 67.60 +Modify | 0.00053153 | 0.00071381 | 0.0010268 | 0.0 | 0.25 +Other | | 0.07105 | | | 24.81 + +Nlocal: 6.75 ave 9 max 5 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 26.25 ave 28 max 25 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Neighs: 16.5 ave 23 max 10 min +Histogram: 1 1 0 0 0 0 0 0 1 1 + +Total # of neighbors = 66 +Ave neighs/atom = 2.4444444 +Ave special neighs/atom = 2 +Neighbor list builds = 244 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.cnt.g++.1 b/examples/replicate/log.6May24.replicate.cnt.g++.1 new file mode 100644 index 0000000000..f44032e723 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.cnt.g++.1 @@ -0,0 +1,134 @@ +LAMMPS (17 Apr 2024) +# three orthogonal periodic CNTs +# demo for replicating triply looped system +# infinite loops in x, y, z +# includes bonded interactions across box corners +# includes bonds, angles, dihedrals, impropers (class2) + +units real + +boundary p p p + +atom_style full + +pair_style lj/class2 10 + +angle_style class2 + +bond_style class2 + +dihedral_style class2 + +improper_style class2 + +read_data three_periodic_CNTs.data.gz +Reading data file ... + orthogonal box = (0 0 0) to (80.96 80.96 80.96) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3168 atoms + reading velocities ... + 3168 velocities + scanning bonds ... + 3 = max bonds/atom + scanning angles ... + 3 = max angles/atom + scanning dihedrals ... + 12 = max dihedrals/atom + scanning impropers ... + 1 = max impropers/atom + orthogonal box = (0 0 0) to (80.96 80.96 80.96) + 1 by 1 by 1 MPI processor grid + reading bonds ... + 4752 bonds + reading angles ... + 9504 angles + reading dihedrals ... + 19008 dihedrals + reading impropers ... + 3168 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 6 = max # of 1-3 neighbors + 18 = max # of 1-4 neighbors + 18 = max # of special neighbors + special bonds CPU = 0.002 seconds + read_data CPU = 0.056 seconds + +replicate 2 2 2 bond/periodic +Replication is creating a 2x2x2 = 8 times larger system... + orthogonal box = (0 0 0) to (161.92 161.92 161.92) + 1 by 1 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 1.62 MB + average # of replicas added to proc = 8.00 out of 8 (100.00%) + 25344 atoms + 38016 bonds + 76032 angles + 152064 dihedrals + 25344 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 6 = max # of 1-3 neighbors + 18 = max # of 1-4 neighbors + 18 = max # of special neighbors + special bonds CPU = 0.012 seconds + replicate CPU = 0.027 seconds + +fix 1 all nve + +run 100 +Generated 0 of 0 mixed pair_coeff terms from sixthpower/geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12 + ghost atom cutoff = 12 + binsize = 6, bins = 27 27 27 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/class2, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 51.87 | 51.87 | 51.87 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -14266.189 1466925.5 1452659.3 -29908.753 + 100 2155.9128 -17224.188 1306769.8 1452409 1985.2082 +Loop time of 5.0155 on 1 procs for 100 steps with 25344 atoms + +Performance: 1.723 ns/day, 13.932 hours/ns, 19.938 timesteps/s, 505.314 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.6557 | 1.6557 | 1.6557 | 0.0 | 33.01 +Bond | 3.2813 | 3.2813 | 3.2813 | 0.0 | 65.42 +Neigh | 0.047025 | 0.047025 | 0.047025 | 0.0 | 0.94 +Comm | 0.0085317 | 0.0085317 | 0.0085317 | 0.0 | 0.17 +Output | 7.8551e-05 | 7.8551e-05 | 7.8551e-05 | 0.0 | 0.00 +Modify | 0.014635 | 0.014635 | 0.014635 | 0.0 | 0.29 +Other | | 0.008159 | | | 0.16 + +Nlocal: 25344 ave 25344 max 25344 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 22737 ave 22737 max 22737 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2.89358e+06 ave 2.89358e+06 max 2.89358e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2893576 +Ave neighs/atom = 114.17203 +Ave special neighs/atom = 18 +Neighbor list builds = 1 +Dangerous builds = 0 + +# write_restart replicate.restart +# write_data replicate.data +Total wall time: 0:00:05 diff --git a/examples/replicate/log.6May24.replicate.cnt.g++.4 b/examples/replicate/log.6May24.replicate.cnt.g++.4 new file mode 100644 index 0000000000..57abdf767d --- /dev/null +++ b/examples/replicate/log.6May24.replicate.cnt.g++.4 @@ -0,0 +1,135 @@ +LAMMPS (17 Apr 2024) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# three orthogonal periodic CNTs +# demo for replicating triply looped system +# infinite loops in x, y, z +# includes bonded interactions across box corners +# includes bonds, angles, dihedrals, impropers (class2) + +units real + +boundary p p p + +atom_style full + +pair_style lj/class2 10 + +angle_style class2 + +bond_style class2 + +dihedral_style class2 + +improper_style class2 + +read_data three_periodic_CNTs.data.gz +Reading data file ... + orthogonal box = (0 0 0) to (80.96 80.96 80.96) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 3168 atoms + reading velocities ... + 3168 velocities + scanning bonds ... + 3 = max bonds/atom + scanning angles ... + 3 = max angles/atom + scanning dihedrals ... + 12 = max dihedrals/atom + scanning impropers ... + 1 = max impropers/atom + orthogonal box = (0 0 0) to (80.96 80.96 80.96) + 1 by 2 by 2 MPI processor grid + reading bonds ... + 4752 bonds + reading angles ... + 9504 angles + reading dihedrals ... + 19008 dihedrals + reading impropers ... + 3168 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 6 = max # of 1-3 neighbors + 18 = max # of 1-4 neighbors + 18 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.064 seconds + +replicate 2 2 2 bond/periodic +Replication is creating a 2x2x2 = 8 times larger system... + orthogonal box = (0 0 0) to (161.92 161.92 161.92) + 1 by 2 by 2 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 1.62 MB + average # of replicas added to proc = 4.50 out of 8 (56.25%) + 25344 atoms + 38016 bonds + 76032 angles + 152064 dihedrals + 25344 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 6 = max # of 1-3 neighbors + 18 = max # of 1-4 neighbors + 18 = max # of special neighbors + special bonds CPU = 0.004 seconds + replicate CPU = 0.012 seconds + +fix 1 all nve + +run 100 +Generated 0 of 0 mixed pair_coeff terms from sixthpower/geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12 + ghost atom cutoff = 12 + binsize = 6, bins = 27 27 27 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/class2, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 28.69 | 28.69 | 28.69 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 -14266.189 1466925.5 1452659.3 -29908.753 + 100 2155.9128 -17224.188 1306769.8 1452409 1985.2082 +Loop time of 1.3667 on 4 procs for 100 steps with 25344 atoms + +Performance: 6.322 ns/day, 3.796 hours/ns, 73.169 timesteps/s, 1.854 Matom-step/s +99.8% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.43424 | 0.43539 | 0.43741 | 0.2 | 31.86 +Bond | 0.88613 | 0.89013 | 0.90094 | 0.7 | 65.13 +Neigh | 0.013198 | 0.013199 | 0.013201 | 0.0 | 0.97 +Comm | 0.010742 | 0.020522 | 0.02546 | 4.1 | 1.50 +Output | 3.2788e-05 | 3.6302e-05 | 4.4556e-05 | 0.0 | 0.00 +Modify | 0.0042029 | 0.0042366 | 0.004267 | 0.0 | 0.31 +Other | | 0.003188 | | | 0.23 + +Nlocal: 6336 ave 6336 max 6336 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 10558 ave 10558 max 10558 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 723394 ave 723394 max 723394 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2893576 +Ave neighs/atom = 114.17203 +Ave special neighs/atom = 18 +Neighbor list builds = 1 +Dangerous builds = 0 + +# write_restart replicate.restart +# write_data replicate.data +Total wall time: 0:00:01 diff --git a/examples/replicate/three_periodic_CNTs.data.gz b/examples/replicate/three_periodic_CNTs.data.gz new file mode 100644 index 0000000000..718c91896a Binary files /dev/null and b/examples/replicate/three_periodic_CNTs.data.gz differ diff --git a/examples/threebody/MoS.rebomos b/examples/threebody/MoS.rebomos new file mode 120000 index 0000000000..6146c74c24 --- /dev/null +++ b/examples/threebody/MoS.rebomos @@ -0,0 +1 @@ +../../potentials/MoS.rebomos \ No newline at end of file diff --git a/examples/threebody/in.mos2-bulk b/examples/threebody/in.mos2-bulk new file mode 100644 index 0000000000..032e71fce8 --- /dev/null +++ b/examples/threebody/in.mos2-bulk @@ -0,0 +1,35 @@ +units metal + +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 & + a2 -1.5964590311 2.7651481541 0.0000000000 & + a3 0.0000000000 0.0000000000 13.9827680588 & + basis 0.0000000000 0.000000000 $(3.0/4.0) & + basis 0.0000000000 0.000000000 $(1.0/4.0) & + basis $(2.0/3.0) $(1.0/3.0) 0.862008989 & + basis $(1.0/3.0) $(2.0/3.0) 0.137990996 & + basis $(1.0/3.0) $(2.0/3.0) 0.362008989 & + basis $(2.0/3.0) $(1.0/3.0) 0.637991011 & + origin 0.1 0.1 0.1 + +region box prism 0 4 0 8 0 1 -2.0 0.0 0.0 +create_box 2 box +create_atoms 2 box & + basis 1 1 & + basis 2 1 & + basis 3 2 & + basis 4 2 & + basis 5 2 & + basis 6 2 + +mass 1 95.95 #Mo +mass 2 32.065 #S + +pair_style rebomos +pair_coeff * * MoS.rebomos Mo S + +thermo_style custom step temp press pe ke cellgamma vol +thermo 10 +#dump 1 all atom 10 MoS.lammpstrj +fix 1 all nve +run 20 + diff --git a/examples/threebody/in.mos2.rebomos b/examples/threebody/in.mos2.rebomos new file mode 100644 index 0000000000..ca91f67003 --- /dev/null +++ b/examples/threebody/in.mos2.rebomos @@ -0,0 +1,31 @@ +# monolayer MoS2 +units metal +boundary p p f +processors * * 1 +atom_modify map array + +atom_style atomic +read_data single_layer_MoS2.data + +mass * 32.065 # mass of sulphur atom , uint: a.u.=1.66X10^(-27)kg +mass 1 95.94 # mass of molebdenum atom , uint: a.u.=1.66X10^(-27)kg + +########################## Define potentials ################################ +pair_style rebomos +pair_coeff * * MoS.rebomos Mo S S +######################################################################### + +### Simulation settings #### +timestep 0.001 +velocity all create 300.0 12345 loop geom + +############################ + +# Output +thermo 500 +thermo_style custom step etotal pe ke temp +thermo_modify lost warn + +###### Run molecular dynamics ###### +fix thermostat all nve +run 5000 diff --git a/examples/threebody/log.22Feb24.mos2-bulk.g++.1 b/examples/threebody/log.22Feb24.mos2-bulk.g++.1 new file mode 100644 index 0000000000..8218026f3d --- /dev/null +++ b/examples/threebody/log.22Feb24.mos2-bulk.g++.1 @@ -0,0 +1,85 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-73-g36fa601fe0) + using 1 OpenMP thread(s) per MPI task +units metal + +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 $(3.0/4.0) basis 0.0000000000 0.000000000 $(1.0/4.0) basis $(2.0/3.0) $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 $(1.0/4.0) basis $(2.0/3.0) $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis $(2.0/3.0) $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 0.66666666666666662966 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 0.66666666666666662966 0.362008989 basis 0.66666666666666662966 $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 0.66666666666666662966 0.362008989 basis 0.66666666666666662966 0.33333333333333331483 0.637991011 origin 0.1 0.1 0.1 +Lattice spacing in x,y,z = 4.7867748 2.7651482 13.982768 + +region box prism 0 4 0 8 0 1 -2.0 0.0 0.0 +create_box 2 box +Created triclinic box = (0 0 0) to (19.147099 22.121185 13.982768) with tilt (-9.5735495 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 2 box basis 1 1 basis 2 1 basis 3 2 basis 4 2 basis 5 2 basis 6 2 +Created 288 atoms + using lattice units in triclinic box = (0 0 0) to (19.147099 22.121185 13.982768) with tilt (-9.5735495 0 0) + create_atoms CPU = 0.000 seconds + +mass 1 95.95 #Mo +mass 2 32.065 #S + +pair_style rebomos +pair_coeff * * MoS.rebomos Mo S +Reading rebomos potential file MoS.rebomos with DATE: 2013-11-04 + +thermo_style custom step temp press pe ke cellgamma vol +thermo 10 +#dump 1 all atom 10 MoS.lammpstrj +fix 1 all nve +run 20 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13.4 + ghost atom cutoff = 13.4 + binsize = 6.7, bins = 5 4 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair rebomos, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.996 | 4.996 | 4.996 Mbytes + Step Temp Press PotEng KinEng CellGamma Volume + 0 0 28799.53 -2061.6112 0 113.40187 5922.4926 + 10 80.776057 13540.088 -2064.6132 2.9966028 113.40187 5922.4926 + 20 146.17503 -20669.371 -2067.0428 5.4227518 113.40187 5922.4926 +Loop time of 0.058071 on 1 procs for 20 steps with 288 atoms + +Performance: 29.757 ns/day, 0.807 hours/ns, 344.406 timesteps/s, 99.189 katom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.057666 | 0.057666 | 0.057666 | 0.0 | 99.30 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00024654 | 0.00024654 | 0.00024654 | 0.0 | 0.42 +Output | 2.3975e-05 | 2.3975e-05 | 2.3975e-05 | 0.0 | 0.04 +Modify | 3.8394e-05 | 3.8394e-05 | 3.8394e-05 | 0.0 | 0.07 +Other | | 9.596e-05 | | | 0.17 + +Nlocal: 288 ave 288 max 288 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 4285 ave 4285 max 4285 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 142848 ave 142848 max 142848 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 142848 +Ave neighs/atom = 496 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/threebody/log.22Feb24.mos2-bulk.g++.4 b/examples/threebody/log.22Feb24.mos2-bulk.g++.4 new file mode 100644 index 0000000000..0b9cd3ed8a --- /dev/null +++ b/examples/threebody/log.22Feb24.mos2-bulk.g++.4 @@ -0,0 +1,85 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-73-g36fa601fe0) + using 1 OpenMP thread(s) per MPI task +units metal + +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 $(3.0/4.0) basis 0.0000000000 0.000000000 $(1.0/4.0) basis $(2.0/3.0) $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 $(1.0/4.0) basis $(2.0/3.0) $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis $(2.0/3.0) $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 0.66666666666666662966 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 0.66666666666666662966 0.362008989 basis 0.66666666666666662966 $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 0.66666666666666662966 0.362008989 basis 0.66666666666666662966 0.33333333333333331483 0.637991011 origin 0.1 0.1 0.1 +Lattice spacing in x,y,z = 4.7867748 2.7651482 13.982768 + +region box prism 0 4 0 8 0 1 -2.0 0.0 0.0 +create_box 2 box +Created triclinic box = (0 0 0) to (19.147099 22.121185 13.982768) with tilt (-9.5735495 0 0) + 2 by 2 by 1 MPI processor grid +create_atoms 2 box basis 1 1 basis 2 1 basis 3 2 basis 4 2 basis 5 2 basis 6 2 +Created 288 atoms + using lattice units in triclinic box = (0 0 0) to (19.147099 22.121185 13.982768) with tilt (-9.5735495 0 0) + create_atoms CPU = 0.000 seconds + +mass 1 95.95 #Mo +mass 2 32.065 #S + +pair_style rebomos +pair_coeff * * MoS.rebomos Mo S +Reading rebomos potential file MoS.rebomos with DATE: 2013-11-04 + +thermo_style custom step temp press pe ke cellgamma vol +thermo 10 +#dump 1 all atom 10 MoS.lammpstrj +fix 1 all nve +run 20 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13.4 + ghost atom cutoff = 13.4 + binsize = 6.7, bins = 5 4 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair rebomos, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.15 | 4.151 | 4.151 Mbytes + Step Temp Press PotEng KinEng CellGamma Volume + 0 0 28799.53 -2061.6112 0 113.40187 5922.4926 + 10 80.776057 13540.088 -2064.6132 2.9966028 113.40187 5922.4926 + 20 146.17503 -20669.371 -2067.0428 5.4227518 113.40187 5922.4926 +Loop time of 0.0219485 on 4 procs for 20 steps with 288 atoms + +Performance: 78.730 ns/day, 0.305 hours/ns, 911.225 timesteps/s, 262.433 katom-step/s +96.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.018118 | 0.019372 | 0.020087 | 0.5 | 88.26 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0015635 | 0.0023195 | 0.0035967 | 1.6 | 10.57 +Output | 2.5017e-05 | 4.6834e-05 | 0.00010543 | 0.0 | 0.21 +Modify | 1.3954e-05 | 1.423e-05 | 1.4594e-05 | 0.0 | 0.06 +Other | | 0.0001957 | | | 0.89 + +Nlocal: 72 ave 72 max 72 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 2771.5 ave 2775 max 2768 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 35712 ave 35712 max 35712 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 142848 +Ave neighs/atom = 496 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/threebody/log.22Feb24.mos2.rebomos.g++.1 b/examples/threebody/log.22Feb24.mos2.rebomos.g++.1 new file mode 100644 index 0000000000..f7c5b3c74d --- /dev/null +++ b/examples/threebody/log.22Feb24.mos2.rebomos.g++.1 @@ -0,0 +1,95 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-73-g36fa601fe0) + using 1 OpenMP thread(s) per MPI task +# monolayer MoS2 +units metal +boundary p p f +processors * * 1 +atom_modify map array + +atom_style atomic +read_data single_layer_MoS2.data +Reading data file ... + triclinic box = (0 0 -100) to (51.15232 44.299209 100) with tilt (25.57616 0 0) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (src/domain.cpp:219) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 768 atoms + read_data CPU = 0.002 seconds + +mass * 32.065 # mass of sulphur atom , uint: a.u.=1.66X10^(-27)kg +mass 1 95.94 # mass of molebdenum atom , uint: a.u.=1.66X10^(-27)kg + +########################## Define potentials ################################ +pair_style rebomos +pair_coeff * * MoS.rebomos Mo S S +Reading rebomos potential file MoS.rebomos with DATE: 2013-11-04 +######################################################################### + +### Simulation settings #### +timestep 0.001 +velocity all create 300.0 12345 loop geom + +############################ + +# Output +thermo 500 +thermo_style custom step etotal pe ke temp +thermo_modify lost warn + +###### Run molecular dynamics ###### +fix thermostat all nve +run 5000 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13.4 + ghost atom cutoff = 13.4 + binsize = 6.7, bins = 12 7 30 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair rebomos, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.473 | 4.473 | 4.473 Mbytes + Step TotEng PotEng KinEng Temp + 0 -5466.9785 -5496.7212 29.742759 300 + 500 -5466.964 -5482.6985 15.734505 158.7059 + 1000 -5466.9615 -5480.9492 13.98763 141.08607 + 1500 -5466.964 -5482.6912 15.727258 158.63281 + 2000 -5466.9657 -5483.3606 16.394878 165.36675 + 2500 -5466.9624 -5481.6253 14.662948 147.89765 + 3000 -5466.9642 -5482.7515 15.7873 159.23842 + 3500 -5466.9654 -5483.3789 16.413502 165.5546 + 4000 -5466.9628 -5481.848 14.885236 150.13977 + 4500 -5466.9648 -5483.5045 16.539775 166.82825 + 5000 -5466.9649 -5483.4932 16.528298 166.71249 +Loop time of 19.1009 on 1 procs for 5000 steps with 768 atoms + +Performance: 22.617 ns/day, 1.061 hours/ns, 261.768 timesteps/s, 201.038 katom-step/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 19.042 | 19.042 | 19.042 | 0.0 | 99.69 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.018451 | 0.018451 | 0.018451 | 0.0 | 0.10 +Output | 0.00015575 | 0.00015575 | 0.00015575 | 0.0 | 0.00 +Modify | 0.023931 | 0.023931 | 0.023931 | 0.0 | 0.13 +Other | | 0.01658 | | | 0.09 + +Nlocal: 768 ave 768 max 768 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1158 ave 1158 max 1158 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 141824 ave 141824 max 141824 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 141824 +Ave neighs/atom = 184.66667 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:19 diff --git a/examples/threebody/log.22Feb24.mos2.rebomos.g++.4 b/examples/threebody/log.22Feb24.mos2.rebomos.g++.4 new file mode 100644 index 0000000000..dc1cfa84d4 --- /dev/null +++ b/examples/threebody/log.22Feb24.mos2.rebomos.g++.4 @@ -0,0 +1,95 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-73-g36fa601fe0) + using 1 OpenMP thread(s) per MPI task +# monolayer MoS2 +units metal +boundary p p f +processors * * 1 +atom_modify map array + +atom_style atomic +read_data single_layer_MoS2.data +Reading data file ... + triclinic box = (0 0 -100) to (51.15232 44.299209 100) with tilt (25.57616 0 0) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (src/domain.cpp:219) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 768 atoms + read_data CPU = 0.002 seconds + +mass * 32.065 # mass of sulphur atom , uint: a.u.=1.66X10^(-27)kg +mass 1 95.94 # mass of molebdenum atom , uint: a.u.=1.66X10^(-27)kg + +########################## Define potentials ################################ +pair_style rebomos +pair_coeff * * MoS.rebomos Mo S S +Reading rebomos potential file MoS.rebomos with DATE: 2013-11-04 +######################################################################### + +### Simulation settings #### +timestep 0.001 +velocity all create 300.0 12345 loop geom + +############################ + +# Output +thermo 500 +thermo_style custom step etotal pe ke temp +thermo_modify lost warn + +###### Run molecular dynamics ###### +fix thermostat all nve +run 5000 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13.4 + ghost atom cutoff = 13.4 + binsize = 6.7, bins = 12 7 30 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair rebomos, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.045 | 4.045 | 4.045 Mbytes + Step TotEng PotEng KinEng Temp + 0 -5466.9785 -5496.7212 29.742759 300 + 500 -5466.964 -5482.6985 15.734505 158.7059 + 1000 -5466.9615 -5480.9492 13.98763 141.08607 + 1500 -5466.964 -5482.6912 15.727258 158.63281 + 2000 -5466.9657 -5483.3606 16.394878 165.36675 + 2500 -5466.9624 -5481.6253 14.662948 147.89765 + 3000 -5466.9642 -5482.7515 15.7873 159.23842 + 3500 -5466.9654 -5483.3789 16.413502 165.5546 + 4000 -5466.9628 -5481.848 14.885236 150.13977 + 4500 -5466.9648 -5483.5045 16.539775 166.82825 + 5000 -5466.9649 -5483.4932 16.528298 166.71249 +Loop time of 5.69326 on 4 procs for 5000 steps with 768 atoms + +Performance: 75.879 ns/day, 0.316 hours/ns, 878.231 timesteps/s, 674.482 katom-step/s +98.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 5.2611 | 5.3666 | 5.4358 | 3.0 | 94.26 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.23476 | 0.30106 | 0.40642 | 12.8 | 5.29 +Output | 0.00014996 | 0.0004478 | 0.0013353 | 0.0 | 0.01 +Modify | 0.0068861 | 0.0069917 | 0.0072247 | 0.2 | 0.12 +Other | | 0.01814 | | | 0.32 + +Nlocal: 192 ave 194 max 190 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 710 ave 712 max 708 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 35456 ave 35824 max 35088 min +Histogram: 1 0 0 0 0 2 0 0 0 1 + +Total # of neighbors = 141824 +Ave neighs/atom = 184.66667 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:05 diff --git a/examples/triclinic/README b/examples/triclinic/README new file mode 100644 index 0000000000..c68bd709ac --- /dev/null +++ b/examples/triclinic/README @@ -0,0 +1,110 @@ +* Various input scripts for systems with general triclinic boxes + versus orthogonal boxes + +in.bcc.primitive = 1 atom for bcc lattice with primitive unit cell +in.fcc.primitive = 1 atom for fcc lattice with primitive unit cell +in.hex.primitive = 1 atom for 2d hex lattice with primitive unit cell +in.sq2.primitive = 1 atom for 2d sq2 lattice with primitive unit cell + +in.bcc.orthog = 2 atoms for bcc lattice with orthogonal unit cell +in.fcc.orthog = 4 atoms for fcc lattice with orthogonal unit cell +in.hex.orthog = 2 atoms for 2d hex ;attice with orthogonal unit cell +in.sq2.orthog = 2 atoms for 2d sq2 lattice with orthogonal unit cell + +energy and pressure should be same for primitive and orthogonal unit cells + +in.data.general = read a data file in general triclinic format + +* Run all the scripts on 1 proc + +lmp_mpi < in.bcc.primitive +mv log.lammps log.compare.bcc.primitive.g++.1 +mv tmp.data.bcc.primitive data.compare.bcc.primitive.g++.1 +mv tmp.dump.bcc.primitive dump.compare.bcc.primitive.g++.1 + +lmp_mpi < in.fcc.primitive +mv log.lammps log.compare.fcc.primitive.g++.1 +mv tmp.data.fcc.primitive data.compare.fcc.primitive.g++.1 +mv tmp.dump.fcc.primitive dump.compare.fcc.primitive.g++.1 + +lmp_mpi < in.hex.primitive +mv log.lammps log.compare.hex.primitive.g++.1 +mv tmp.data.hex.primitive data.compare.hex.primitive.g++.1 +mv tmp.dump.hex.primitive dump.compare.hex.primitive.g++.1 + +lmp_mpi < in.sq2.primitive +mv log.lammps log.compare.sq2.primitive.g++.1 +mv tmp.data.sq2.primitive data.compare.sq2.primitive.g++.1 +mv tmp.dump.sq2.primitive dump.compare.sq2.primitive.g++.1 + +lmp_mpi < in.bcc.orthog +mv log.lammps log.compare.bcc.orthog.g++.1 +mv tmp.data.bcc.orthog data.compare.bcc.orthog.g++.1 +mv tmp.dump.bcc.orthog dump.compare.bcc.orthog.g++.1 + +lmp_mpi < in.fcc.orthog +mv log.lammps log.compare.fcc.orthog.g++.1 +mv tmp.data.fcc.orthog data.compare.fcc.orthog.g++.1 +mv tmp.dump.fcc.orthog dump.compare.fcc.orthog.g++.1 + +lmp_mpi < in.hex.orthog +mv log.lammps log.compare.hex.orthog.g++.1 +mv tmp.data.hex.orthog data.compare.hex.orthog.g++.1 +mv tmp.dump.hex.orthog dump.compare.hex.orthog.g++.1 + +lmp_mpi < in.sq2.orthog +mv log.lammps log.compare.sq2.orthog.g++.1 +mv tmp.data.sq2.orthog data.compare.sq2.orthog.g++.1 +mv tmp.dump.sq2.orthog dump.compare.sq2.orthog.g++.1 + +lmp_mpi < in.data.general +mv log.lammps log.compare.data.general.g++.1 +mv tmp.data.general data.compare.general.g++.1 +mv tmp.dump.general dump.compare.general.g++.1 + +* Run all the scripts on 4 procs + +mpirun -np 4 lmp_mpi < in.bcc.primitive +mv log.lammps log.compare.bcc.primitive.g++.4 +mv tmp.data.bcc.primitive data.compare.bcc.primitive.g++.4 +mv tmp.dump.bcc.primitive dump.compare.bcc.primitive.g++.4 + +mpirun -np 4 lmp_mpi < in.fcc.primitive +mv log.lammps log.compare.fcc.primitive.g++.4 +mv tmp.data.fcc.primitive data.compare.fcc.primitive.g++.4 +mv tmp.dump.fcc.primitive dump.compare.fcc.primitive.g++.4 + +mpirun -np 4 lmp_mpi < in.hex.primitive +mv log.lammps log.compare.hex.primitive.g++.4 +mv tmp.data.hex.primitive data.compare.hex.primitive.g++.4 +mv tmp.dump.hex.primitive dump.compare.hex.primitive.g++.4 + +mpirun -np 4 lmp_mpi < in.sq2.primitive +mv log.lammps log.compare.sq2.primitive.g++.4 +mv tmp.data.sq2.primitive data.compare.sq2.primitive.g++.4 +mv tmp.dump.sq2.primitive dump.compare.sq2.primitive.g++.4 + +mpirun -np 4 lmp_mpi < in.bcc.orthog +mv log.lammps log.compare.bcc.orthog.g++.4 +mv tmp.data.bcc.orthog data.compare.bcc.orthog.g++.4 +mv tmp.dump.bcc.orthog dump.compare.bcc.orthog.g++.4 + +mpirun -np 4 lmp_mpi < in.fcc.orthog +mv log.lammps log.compare.fcc.orthog.g++.4 +mv tmp.data.fcc.orthog data.compare.fcc.orthog.g++.4 +mv tmp.dump.fcc.orthog dump.compare.fcc.orthog.g++.4 + +mpirun -np 4 lmp_mpi < in.hex.orthog +mv log.lammps log.compare.hex.orthog.g++.4 +mv tmp.data.hex.orthog data.compare.hex.orthog.g++.4 +mv tmp.dump.hex.orthog dump.compare.hex.orthog.g++.4 + +mpirun -np 4 lmp_mpi < in.sq2.orthog +mv log.lammps log.compare.sq2.orthog.g++.4 +mv tmp.data.sq2.orthog data.compare.sq2.orthog.g++.4 +mv tmp.dump.sq2.orthog dump.compare.sq2.orthog.g++.4 + +mpirun -np 4 lmp_mpi < in.data.general +mv log.lammps log.compare.data.general.g++.4 +mv tmp.data.general data.compare.general.g++.4 +mv tmp.dump.general dump.compare.general.g++.4 diff --git a/examples/triclinic/data.8Apr24.bcc.orthog.g++.1 b/examples/triclinic/data.8Apr24.bcc.orthog.g++.1 new file mode 100644 index 0000000000..d785b97148 --- /dev/null +++ b/examples/triclinic/data.8Apr24.bcc.orthog.g++.1 @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0 1.2599210498948732 xlo xhi +0 1.2599210498948732 ylo yhi +0 1.2599210498948732 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.6299605249474366 0.6299605249474366 0.6299605249474366 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.bcc.orthog.g++.4 b/examples/triclinic/data.8Apr24.bcc.orthog.g++.4 new file mode 100644 index 0000000000..d785b97148 --- /dev/null +++ b/examples/triclinic/data.8Apr24.bcc.orthog.g++.4 @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0 1.2599210498948732 xlo xhi +0 1.2599210498948732 ylo yhi +0 1.2599210498948732 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.6299605249474366 0.6299605249474366 0.6299605249474366 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.bcc.primitive.g++.1 b/examples/triclinic/data.8Apr24.bcc.primitive.g++.1 new file mode 100644 index 0000000000..d2f30610d4 --- /dev/null +++ b/examples/triclinic/data.8Apr24.bcc.primitive.g++.1 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +-0.6299605249474365 0.6299605249474365 0.6299605249474364 avec +0.6299605249474367 -0.6299605249474365 0.6299605249474365 bvec +0.6299605249474363 0.6299605249474365 -0.6299605249474363 cvec +0 0 0 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.bcc.primitive.g++.4 b/examples/triclinic/data.8Apr24.bcc.primitive.g++.4 new file mode 100644 index 0000000000..d2f30610d4 --- /dev/null +++ b/examples/triclinic/data.8Apr24.bcc.primitive.g++.4 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +-0.6299605249474365 0.6299605249474365 0.6299605249474364 avec +0.6299605249474367 -0.6299605249474365 0.6299605249474365 bvec +0.6299605249474363 0.6299605249474365 -0.6299605249474363 cvec +0 0 0 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.fcc.orthog.g++.1 b/examples/triclinic/data.8Apr24.fcc.orthog.g++.1 new file mode 100644 index 0000000000..4e1a9e286f --- /dev/null +++ b/examples/triclinic/data.8Apr24.fcc.orthog.g++.1 @@ -0,0 +1,26 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +4 atoms +1 atom types + +0 1.5377619196572583 xlo xhi +0 1.5377619196572583 ylo yhi +0 1.5377619196572583 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.7688809598286291 0.7688809598286291 0 0 0 0 +3 1 0.7688809598286291 0 0.7688809598286291 0 0 0 +4 1 0 0.7688809598286291 0.7688809598286291 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 +3 0 0 0 +4 0 0 0 diff --git a/examples/triclinic/data.8Apr24.fcc.orthog.g++.4 b/examples/triclinic/data.8Apr24.fcc.orthog.g++.4 new file mode 100644 index 0000000000..dbcdc3ddaa --- /dev/null +++ b/examples/triclinic/data.8Apr24.fcc.orthog.g++.4 @@ -0,0 +1,26 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +4 atoms +1 atom types + +0 1.5377619196572583 xlo xhi +0 1.5377619196572583 ylo yhi +0 1.5377619196572583 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0 0.7688809598286291 0.7688809598286291 0 0 0 +3 1 0.7688809598286291 0.7688809598286291 0 0 0 0 +4 1 0.7688809598286291 0 0.7688809598286291 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 +3 0 0 0 +4 0 0 0 diff --git a/examples/triclinic/data.8Apr24.fcc.primitive.g++.1 b/examples/triclinic/data.8Apr24.fcc.primitive.g++.1 new file mode 100644 index 0000000000..99c74fb188 --- /dev/null +++ b/examples/triclinic/data.8Apr24.fcc.primitive.g++.1 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +0.7688809598286291 0.7688809598286293 -6.036070983262366e-17 avec +-5.551115123125783e-17 0.7688809598286293 0.7688809598286293 bvec +0.768880959828629 0 0.768880959828629 cvec +0 0 0 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.fcc.primitive.g++.4 b/examples/triclinic/data.8Apr24.fcc.primitive.g++.4 new file mode 100644 index 0000000000..99c74fb188 --- /dev/null +++ b/examples/triclinic/data.8Apr24.fcc.primitive.g++.4 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +0.7688809598286291 0.7688809598286293 -6.036070983262366e-17 avec +-5.551115123125783e-17 0.7688809598286293 0.7688809598286293 bvec +0.768880959828629 0 0.768880959828629 cvec +0 0 0 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.general.g++.1 b/examples/triclinic/data.8Apr24.general.g++.1 new file mode 100644 index 0000000000..1de194fb1c --- /dev/null +++ b/examples/triclinic/data.8Apr24.general.g++.1 @@ -0,0 +1,23 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0.9999999999999998 -1 0 avec +0.9999999999999999 0.9999999999999999 0 bvec +0.9999999999999999 0.9999999999999999 1 cvec +0 0 0 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0.2 -1.3877787807814457e-17 0.1 0 0 0 +2 1 0.8 -1.1102230246251565e-16 0.3 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.general.g++.4 b/examples/triclinic/data.8Apr24.general.g++.4 new file mode 100644 index 0000000000..1de194fb1c --- /dev/null +++ b/examples/triclinic/data.8Apr24.general.g++.4 @@ -0,0 +1,23 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0.9999999999999998 -1 0 avec +0.9999999999999999 0.9999999999999999 0 bvec +0.9999999999999999 0.9999999999999999 1 cvec +0 0 0 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0.2 -1.3877787807814457e-17 0.1 0 0 0 +2 1 0.8 -1.1102230246251565e-16 0.3 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.hex.orthog.g++.1 b/examples/triclinic/data.8Apr24.hex.orthog.g++.1 new file mode 100644 index 0000000000..503f636a88 --- /dev/null +++ b/examples/triclinic/data.8Apr24.hex.orthog.g++.1 @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0 1.074569931823542 xlo xhi +0 1.8612097182041991 ylo yhi +-0.537284965911771 0.537284965911771 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.537284965911771 0.9306048591020996 0 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.hex.orthog.g++.4 b/examples/triclinic/data.8Apr24.hex.orthog.g++.4 new file mode 100644 index 0000000000..503f636a88 --- /dev/null +++ b/examples/triclinic/data.8Apr24.hex.orthog.g++.4 @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0 1.074569931823542 xlo xhi +0 1.8612097182041991 ylo yhi +-0.537284965911771 0.537284965911771 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.537284965911771 0.9306048591020996 0 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.hex.primitive.g++.1 b/examples/triclinic/data.8Apr24.hex.primitive.g++.1 new file mode 100644 index 0000000000..5c1ee38bac --- /dev/null +++ b/examples/triclinic/data.8Apr24.hex.primitive.g++.1 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +1.0745699318262956 0 0 avec +0.5372849659131478 0.9306048590997147 0 bvec +0 0 1.0745699318262956 cvec +0 0 -0.5372849659131478 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.hex.primitive.g++.4 b/examples/triclinic/data.8Apr24.hex.primitive.g++.4 new file mode 100644 index 0000000000..5c1ee38bac --- /dev/null +++ b/examples/triclinic/data.8Apr24.hex.primitive.g++.4 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +1.0745699318262956 0 0 avec +0.5372849659131478 0.9306048590997147 0 bvec +0 0 1.0745699318262956 cvec +0 0 -0.5372849659131478 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.sq2.orthog.g++.1 b/examples/triclinic/data.8Apr24.sq2.orthog.g++.1 new file mode 100644 index 0000000000..732e6ed77f --- /dev/null +++ b/examples/triclinic/data.8Apr24.sq2.orthog.g++.1 @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0 1.348399724926484 xlo xhi +0 1.348399724926484 ylo yhi +-0.674199862463242 0.674199862463242 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.674199862463242 0.674199862463242 0 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.sq2.orthog.g++.4 b/examples/triclinic/data.8Apr24.sq2.orthog.g++.4 new file mode 100644 index 0000000000..732e6ed77f --- /dev/null +++ b/examples/triclinic/data.8Apr24.sq2.orthog.g++.4 @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0 1.348399724926484 xlo xhi +0 1.348399724926484 ylo yhi +-0.674199862463242 0.674199862463242 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.674199862463242 0.674199862463242 0 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.sq2.primitive.g++.1 b/examples/triclinic/data.8Apr24.sq2.primitive.g++.1 new file mode 100644 index 0000000000..5a679f612c --- /dev/null +++ b/examples/triclinic/data.8Apr24.sq2.primitive.g++.1 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +0.6741998624632419 -0.674199862463242 0 avec +0.6741998624632419 0.674199862463242 0 bvec +0 0 1.348399724926484 cvec +0 0 -0.674199862463242 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.sq2.primitive.g++.4 b/examples/triclinic/data.8Apr24.sq2.primitive.g++.4 new file mode 100644 index 0000000000..5a679f612c --- /dev/null +++ b/examples/triclinic/data.8Apr24.sq2.primitive.g++.4 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +0.6741998624632419 -0.674199862463242 0 avec +0.6741998624632419 0.674199862463242 0 bvec +0 0 1.348399724926484 cvec +0 0 -0.674199862463242 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.general b/examples/triclinic/data.general new file mode 100644 index 0000000000..3ae6cdd0b5 --- /dev/null +++ b/examples/triclinic/data.general @@ -0,0 +1,13 @@ +# simple general triclinic simulation box with 2 atoms + +2 atoms +1 atom types +1 -1 0 avec +1 1 0 bvec +1 1 1 cvec +0 0 0 abc origin + +Atoms + +1 1 0.2 0.0 0.1 +2 1 0.8 0.0 0.3 diff --git a/examples/triclinic/dump.8Apr24.bcc.orthog.g++.1 b/examples/triclinic/dump.8Apr24.bcc.orthog.g++.1 new file mode 100644 index 0000000000..3023d4f393 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.bcc.orthog.g++.1 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.2599210498948732e+00 +0.0000000000000000e+00 1.2599210498948732e+00 +0.0000000000000000e+00 1.2599210498948732e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.629961 0.629961 0.629961 diff --git a/examples/triclinic/dump.8Apr24.bcc.orthog.g++.4 b/examples/triclinic/dump.8Apr24.bcc.orthog.g++.4 new file mode 100644 index 0000000000..3023d4f393 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.bcc.orthog.g++.4 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.2599210498948732e+00 +0.0000000000000000e+00 1.2599210498948732e+00 +0.0000000000000000e+00 1.2599210498948732e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.629961 0.629961 0.629961 diff --git a/examples/triclinic/dump.8Apr24.bcc.primitive.g++.1 b/examples/triclinic/dump.8Apr24.bcc.primitive.g++.1 new file mode 100644 index 0000000000..f987a77a35 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.bcc.primitive.g++.1 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +-6.2996052494743648e-01 6.2996052494743648e-01 6.2996052494743637e-01 0.0000000000000000e+00 +6.2996052494743671e-01 -6.2996052494743648e-01 6.2996052494743648e-01 0.0000000000000000e+00 +6.2996052494743626e-01 6.2996052494743648e-01 -6.2996052494743626e-01 0.0000000000000000e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.bcc.primitive.g++.4 b/examples/triclinic/dump.8Apr24.bcc.primitive.g++.4 new file mode 100644 index 0000000000..f987a77a35 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.bcc.primitive.g++.4 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +-6.2996052494743648e-01 6.2996052494743648e-01 6.2996052494743637e-01 0.0000000000000000e+00 +6.2996052494743671e-01 -6.2996052494743648e-01 6.2996052494743648e-01 0.0000000000000000e+00 +6.2996052494743626e-01 6.2996052494743648e-01 -6.2996052494743626e-01 0.0000000000000000e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.fcc.orthog.g++.1 b/examples/triclinic/dump.8Apr24.fcc.orthog.g++.1 new file mode 100644 index 0000000000..9f5f64f547 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.fcc.orthog.g++.1 @@ -0,0 +1,13 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +4 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.5377619196572583e+00 +0.0000000000000000e+00 1.5377619196572583e+00 +0.0000000000000000e+00 1.5377619196572583e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.768881 0.768881 0 +3 1 0.768881 0 0.768881 +4 1 0 0.768881 0.768881 diff --git a/examples/triclinic/dump.8Apr24.fcc.orthog.g++.4 b/examples/triclinic/dump.8Apr24.fcc.orthog.g++.4 new file mode 100644 index 0000000000..0952b45b15 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.fcc.orthog.g++.4 @@ -0,0 +1,13 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +4 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.5377619196572583e+00 +0.0000000000000000e+00 1.5377619196572583e+00 +0.0000000000000000e+00 1.5377619196572583e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0 0.768881 0.768881 +3 1 0.768881 0.768881 0 +4 1 0.768881 0 0.768881 diff --git a/examples/triclinic/dump.8Apr24.fcc.primitive.g++.1 b/examples/triclinic/dump.8Apr24.fcc.primitive.g++.1 new file mode 100644 index 0000000000..7ec2c11e1b --- /dev/null +++ b/examples/triclinic/dump.8Apr24.fcc.primitive.g++.1 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +7.6888095982862914e-01 7.6888095982862925e-01 -6.0360709832623663e-17 0.0000000000000000e+00 +-5.5511151231257827e-17 7.6888095982862925e-01 7.6888095982862925e-01 0.0000000000000000e+00 +7.6888095982862903e-01 0.0000000000000000e+00 7.6888095982862903e-01 0.0000000000000000e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.fcc.primitive.g++.4 b/examples/triclinic/dump.8Apr24.fcc.primitive.g++.4 new file mode 100644 index 0000000000..7ec2c11e1b --- /dev/null +++ b/examples/triclinic/dump.8Apr24.fcc.primitive.g++.4 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +7.6888095982862914e-01 7.6888095982862925e-01 -6.0360709832623663e-17 0.0000000000000000e+00 +-5.5511151231257827e-17 7.6888095982862925e-01 7.6888095982862925e-01 0.0000000000000000e+00 +7.6888095982862903e-01 0.0000000000000000e+00 7.6888095982862903e-01 0.0000000000000000e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.general.g++.1 b/examples/triclinic/dump.8Apr24.general.g++.1 new file mode 100644 index 0000000000..4e7a7d08e0 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.general.g++.1 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS abc origin pp pp pp +9.9999999999999978e-01 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9.9999999999999989e-01 9.9999999999999989e-01 0.0000000000000000e+00 0.0000000000000000e+00 +9.9999999999999989e-01 9.9999999999999989e-01 1.0000000000000000e+00 0.0000000000000000e+00 +ITEM: ATOMS id type x y z +1 1 0.141421 0.141421 0.1 +2 1 0.565685 0.565685 0.3 diff --git a/examples/triclinic/dump.8Apr24.general.g++.4 b/examples/triclinic/dump.8Apr24.general.g++.4 new file mode 100644 index 0000000000..4e7a7d08e0 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.general.g++.4 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS abc origin pp pp pp +9.9999999999999978e-01 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9.9999999999999989e-01 9.9999999999999989e-01 0.0000000000000000e+00 0.0000000000000000e+00 +9.9999999999999989e-01 9.9999999999999989e-01 1.0000000000000000e+00 0.0000000000000000e+00 +ITEM: ATOMS id type x y z +1 1 0.141421 0.141421 0.1 +2 1 0.565685 0.565685 0.3 diff --git a/examples/triclinic/dump.8Apr24.hex.orthog.g++.1 b/examples/triclinic/dump.8Apr24.hex.orthog.g++.1 new file mode 100644 index 0000000000..498573a753 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.hex.orthog.g++.1 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0745699318235420e+00 +0.0000000000000000e+00 1.8612097182041991e+00 +-5.3728496591177100e-01 5.3728496591177100e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.537285 0.930605 0 diff --git a/examples/triclinic/dump.8Apr24.hex.orthog.g++.4 b/examples/triclinic/dump.8Apr24.hex.orthog.g++.4 new file mode 100644 index 0000000000..498573a753 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.hex.orthog.g++.4 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0745699318235420e+00 +0.0000000000000000e+00 1.8612097182041991e+00 +-5.3728496591177100e-01 5.3728496591177100e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.537285 0.930605 0 diff --git a/examples/triclinic/dump.8Apr24.hex.primitive.g++.1 b/examples/triclinic/dump.8Apr24.hex.primitive.g++.1 new file mode 100644 index 0000000000..e4e1e88430 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.hex.primitive.g++.1 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +1.0745699318262956e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5.3728496591314778e-01 9.3060485909971469e-01 0.0000000000000000e+00 0.0000000000000000e+00 +0.0000000000000000e+00 0.0000000000000000e+00 1.0745699318262956e+00 -5.3728496591314778e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.hex.primitive.g++.4 b/examples/triclinic/dump.8Apr24.hex.primitive.g++.4 new file mode 100644 index 0000000000..e4e1e88430 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.hex.primitive.g++.4 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +1.0745699318262956e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5.3728496591314778e-01 9.3060485909971469e-01 0.0000000000000000e+00 0.0000000000000000e+00 +0.0000000000000000e+00 0.0000000000000000e+00 1.0745699318262956e+00 -5.3728496591314778e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.sq2.orthog.g++.1 b/examples/triclinic/dump.8Apr24.sq2.orthog.g++.1 new file mode 100644 index 0000000000..9735deffb2 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.sq2.orthog.g++.1 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.3483997249264841e+00 +0.0000000000000000e+00 1.3483997249264841e+00 +-6.7419986246324204e-01 6.7419986246324204e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.6742 0.6742 0 diff --git a/examples/triclinic/dump.8Apr24.sq2.orthog.g++.4 b/examples/triclinic/dump.8Apr24.sq2.orthog.g++.4 new file mode 100644 index 0000000000..9735deffb2 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.sq2.orthog.g++.4 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.3483997249264841e+00 +0.0000000000000000e+00 1.3483997249264841e+00 +-6.7419986246324204e-01 6.7419986246324204e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.6742 0.6742 0 diff --git a/examples/triclinic/dump.8Apr24.sq2.primitive.g++.1 b/examples/triclinic/dump.8Apr24.sq2.primitive.g++.1 new file mode 100644 index 0000000000..8f8487e237 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.sq2.primitive.g++.1 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +6.7419986246324193e-01 -6.7419986246324204e-01 0.0000000000000000e+00 0.0000000000000000e+00 +6.7419986246324193e-01 6.7419986246324204e-01 0.0000000000000000e+00 0.0000000000000000e+00 +0.0000000000000000e+00 0.0000000000000000e+00 1.3483997249264841e+00 -6.7419986246324204e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.sq2.primitive.g++.4 b/examples/triclinic/dump.8Apr24.sq2.primitive.g++.4 new file mode 100644 index 0000000000..8f8487e237 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.sq2.primitive.g++.4 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +6.7419986246324193e-01 -6.7419986246324204e-01 0.0000000000000000e+00 0.0000000000000000e+00 +6.7419986246324193e-01 6.7419986246324204e-01 0.0000000000000000e+00 0.0000000000000000e+00 +0.0000000000000000e+00 0.0000000000000000e+00 1.3483997249264841e+00 -6.7419986246324204e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/in.bcc.orthog b/examples/triclinic/in.bcc.orthog new file mode 100644 index 0000000000..b25241c700 --- /dev/null +++ b/examples/triclinic/in.bcc.orthog @@ -0,0 +1,23 @@ +# orthogonal box for bcc lattice unit cell + +lattice bcc 1.0 + +region mybox block 0 1 0 1 0 1 +create_box 1 mybox +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.bcc.orthog + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz & + cvecx cvecy cvecz pxx pyy pzz vol + +dump 1 all custom 100 tmp.dump.bcc.orthog id type x y z + +run 0 diff --git a/examples/triclinic/in.bcc.primitive b/examples/triclinic/in.bcc.primitive new file mode 100644 index 0000000000..2c1a1f9b6f --- /dev/null +++ b/examples/triclinic/in.bcc.primitive @@ -0,0 +1,25 @@ +# general triclinic box for bcc lattice primitive cell + +lattice custom 1.0 a1 -0.5 0.5 0.5 a2 0.5 -0.5 0.5 a3 0.5 0.5 -0.5 & + basis 0.0 0.0 0.0 triclinic/general + +create_box 1 NULL 0 1 0 1 0 1 +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.bcc.primitive triclinic/general + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz & + cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.bcc.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 diff --git a/examples/triclinic/in.data.general b/examples/triclinic/in.data.general new file mode 100644 index 0000000000..8e3d7bc287 --- /dev/null +++ b/examples/triclinic/in.data.general @@ -0,0 +1,21 @@ +# read a general triclinic data file + +read_data data.general + +mass * 1.0 + +write_data tmp.data.general triclinic/general + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz & + cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.general id type x y z +dump_modify 1 triclinic/general yes + +run 0 diff --git a/examples/triclinic/in.fcc.orthog b/examples/triclinic/in.fcc.orthog new file mode 100644 index 0000000000..a33b6c4a81 --- /dev/null +++ b/examples/triclinic/in.fcc.orthog @@ -0,0 +1,23 @@ +# orthogonal box for fcc lattice unit cell + +lattice fcc 1.1 + +region mybox block 0 1 0 1 0 1 +create_box 1 mybox +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.fcc.orthog + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz & + cvecx cvecy cvecz pxx pyy pzz vol + +dump 1 all custom 100 tmp.dump.fcc.orthog id type x y z + +run 0 diff --git a/examples/triclinic/in.fcc.primitive b/examples/triclinic/in.fcc.primitive new file mode 100644 index 0000000000..2836d39eea --- /dev/null +++ b/examples/triclinic/in.fcc.primitive @@ -0,0 +1,25 @@ +# general triclinic box for fcc lattice primitive cell + +lattice custom 1.1 a2 0.0 0.5 0.5 a3 0.5 0.0 0.5 a1 0.5 0.5 0.0 & + basis 0.0 0.0 0.0 triclinic/general + +create_box 1 NULL 0 1 0 1 0 1 +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.fcc.primitive triclinic/general + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz & + cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.fcc.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 diff --git a/examples/triclinic/in.hex.orthog b/examples/triclinic/in.hex.orthog new file mode 100644 index 0000000000..41d70916d1 --- /dev/null +++ b/examples/triclinic/in.hex.orthog @@ -0,0 +1,24 @@ +# orthogonal box for 2d hex lattice unit cell + +dimension 2 + +lattice hex 1.0 + +region mybox block 0 1 0 1 -0.5 0.5 +create_box 1 mybox +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.hex.orthog + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol + +dump 1 all custom 100 tmp.dump.hex.orthog id type x y z + +run 0 diff --git a/examples/triclinic/in.hex.primitive b/examples/triclinic/in.hex.primitive new file mode 100644 index 0000000000..f76ccbbdf2 --- /dev/null +++ b/examples/triclinic/in.hex.primitive @@ -0,0 +1,26 @@ +# general triclinic box for 2d hex lattice primitive cell + +dimension 2 + +lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 & + a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general + +create_box 1 NULL 0 1 0 1 -0.5 0.5 +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.hex.primitive triclinic/general + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.hex.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 diff --git a/examples/triclinic/in.sq2.orthog b/examples/triclinic/in.sq2.orthog new file mode 100644 index 0000000000..366703a6ee --- /dev/null +++ b/examples/triclinic/in.sq2.orthog @@ -0,0 +1,24 @@ +# orthogonal box for 2d sq2 lattice unit cell + +dimension 2 + +lattice sq2 1.1 + +region mybox block 0 1 0 1 -0.5 0.5 +create_box 1 mybox +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.sq2.orthog + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol + +dump 1 all custom 100 tmp.dump.sq2.orthog id type x y z + +run 0 diff --git a/examples/triclinic/in.sq2.primitive b/examples/triclinic/in.sq2.primitive new file mode 100644 index 0000000000..5333fd2b99 --- /dev/null +++ b/examples/triclinic/in.sq2.primitive @@ -0,0 +1,26 @@ +# general triclinic box for 2d sq2 lattice primitive cell + +dimension 2 + +lattice custom 1.1 a1 0.5 -0.5 0.0 a2 0.5 0.5 0.0 a3 0.0 0.0 1.0 & + basis 0.0 0.0 0.0 triclinic/general + +create_box 1 NULL 0 1 0 1 -0.5 0.5 +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.sq2.primitive triclinic/general + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.sq2.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 diff --git a/examples/triclinic/log.8Apr24.bcc.orthog.g++.1 b/examples/triclinic/log.8Apr24.bcc.orthog.g++.1 new file mode 100644 index 0000000000..72bbc4505c --- /dev/null +++ b/examples/triclinic/log.8Apr24.bcc.orthog.g++.1 @@ -0,0 +1,74 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# orthogonal box for bcc lattice unit cell + +lattice bcc 1.0 +Lattice spacing in x,y,z = 1.259921 1.259921 1.259921 + +region mybox block 0 1 0 1 0 1 +create_box 1 mybox +Created orthogonal box = (0 0 0) to (1.259921 1.259921 1.259921) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0 0 0) to (1.259921 1.259921 1.259921) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.bcc.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol + +dump 1 all custom 100 tmp.dump.bcc.orthog id type x y z + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.058 | 3.058 | 3.058 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -3.8628258 1.259921 0 0 0 1.259921 0 0 0 1.259921 3.5116598 3.5116598 3.5116598 2 +Loop time of 8.27e-07 on 1 procs for 0 steps with 2 atoms + +120.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 8.27e-07 | | |100.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 33 ave 33 max 33 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8 ave 8 max 8 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8 +Ave neighs/atom = 4 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.bcc.orthog.g++.4 b/examples/triclinic/log.8Apr24.bcc.orthog.g++.4 new file mode 100644 index 0000000000..389d66f413 --- /dev/null +++ b/examples/triclinic/log.8Apr24.bcc.orthog.g++.4 @@ -0,0 +1,75 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# orthogonal box for bcc lattice unit cell + +lattice bcc 1.0 +Lattice spacing in x,y,z = 1.259921 1.259921 1.259921 + +region mybox block 0 1 0 1 0 1 +create_box 1 mybox +Created orthogonal box = (0 0 0) to (1.259921 1.259921 1.259921) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0 0 0) to (1.259921 1.259921 1.259921) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.bcc.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol + +dump 1 all custom 100 tmp.dump.bcc.orthog id type x y z + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.948 | 3.011 | 3.073 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -3.8628258 1.259921 0 0 0 1.259921 0 0 0 1.259921 3.5116598 3.5116598 3.5116598 2 +Loop time of 1.3815e-06 on 4 procs for 0 steps with 2 atoms + +54.3% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.382e-06 | | |100.00 + +Nlocal: 0.5 ave 1 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 19.5 ave 20 max 19 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 2 ave 4 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 8 +Ave neighs/atom = 4 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.bcc.primitive.g++.1 b/examples/triclinic/log.8Apr24.bcc.primitive.g++.1 new file mode 100644 index 0000000000..d1c8cca311 --- /dev/null +++ b/examples/triclinic/log.8Apr24.bcc.primitive.g++.1 @@ -0,0 +1,76 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# general triclinic box for bcc lattice primitive cell + +lattice custom 1.0 a1 -0.5 0.5 0.5 a2 0.5 -0.5 0.5 a3 0.5 0.5 -0.5 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 1.8185394 1.5430818 0.89089872 + +create_box 1 NULL 0 1 0 1 0 1 +Created triclinic box = (0 0 0) to (1.0911236 1.0287212 0.89089872) with tilt (-0.36370788 -0.36370788 -0.51436061) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 0) to (1.0911236 1.0287212 0.89089872) with tilt (-0.36370788 -0.36370788 -0.51436061) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.bcc.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.bcc.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 4 3 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.084 | 3.084 | 3.084 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -3.8628258 -0.62996052 0.62996052 0.62996052 0.62996052 -0.62996052 0.62996052 0.62996052 0.62996052 -0.62996052 3.5116598 3.5116598 3.5116598 1 +Loop time of 6.86e-07 on 1 procs for 0 steps with 1 atoms + +145.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 6.86e-07 | | |100.00 + +Nlocal: 1 ave 1 max 1 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 63 ave 63 max 63 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4 +Ave neighs/atom = 4 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.bcc.primitive.g++.4 b/examples/triclinic/log.8Apr24.bcc.primitive.g++.4 new file mode 100644 index 0000000000..f8e979976f --- /dev/null +++ b/examples/triclinic/log.8Apr24.bcc.primitive.g++.4 @@ -0,0 +1,77 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# general triclinic box for bcc lattice primitive cell + +lattice custom 1.0 a1 -0.5 0.5 0.5 a2 0.5 -0.5 0.5 a3 0.5 0.5 -0.5 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 1.8185394 1.5430818 0.89089872 + +create_box 1 NULL 0 1 0 1 0 1 +Created triclinic box = (0 0 0) to (1.0911236 1.0287212 0.89089872) with tilt (-0.36370788 -0.36370788 -0.51436061) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 2 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 0) to (1.0911236 1.0287212 0.89089872) with tilt (-0.36370788 -0.36370788 -0.51436061) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.bcc.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.bcc.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 4 3 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.973 | 3.005 | 3.098 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -3.8628258 -0.62996052 0.62996052 0.62996052 0.62996052 -0.62996052 0.62996052 0.62996052 0.62996052 -0.62996052 3.5116598 3.5116598 3.5116598 1 +Loop time of 2.1275e-06 on 4 procs for 0 steps with 1 atoms + +70.5% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.127e-06 | | |100.00 + +Nlocal: 0.25 ave 1 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 35.75 ave 36 max 35 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 1 ave 4 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 4 +Ave neighs/atom = 4 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.data.general.g++.1 b/examples/triclinic/log.8Apr24.data.general.g++.1 new file mode 100644 index 0000000000..3874a8c77e --- /dev/null +++ b/examples/triclinic/log.8Apr24.data.general.g++.1 @@ -0,0 +1,73 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# read a general triclinic data file + +read_data data.general +Reading data file ... + triclinic box = (0 0 0) to (1.4142136 1.4142136 1) with tilt (-1.110223e-16 -1.110223e-16 1.4142136) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + read_data CPU = 0.001 seconds + +mass * 1.0 + +write_data tmp.data.general triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.general id type x y z +dump_modify 1 triclinic/general yes + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 3 5 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.076 | 3.076 | 3.076 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 456.05603 1 -1 0 1 1 0 1 1 1 2555.5604 2555.5604 598.94037 2 +Loop time of 7.31e-07 on 1 procs for 0 steps with 2 atoms + +136.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 7.31e-07 | | |100.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 66 ave 66 max 66 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 6 +Ave neighs/atom = 3 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.data.general.g++.4 b/examples/triclinic/log.8Apr24.data.general.g++.4 new file mode 100644 index 0000000000..f03d1ffb58 --- /dev/null +++ b/examples/triclinic/log.8Apr24.data.general.g++.4 @@ -0,0 +1,74 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# read a general triclinic data file + +read_data data.general +Reading data file ... + triclinic box = (0 0 0) to (1.4142136 1.4142136 1) with tilt (-1.110223e-16 -1.110223e-16 1.4142136) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 2 by 1 by 2 MPI processor grid + reading atoms ... + 2 atoms + read_data CPU = 0.001 seconds + +mass * 1.0 + +write_data tmp.data.general triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.general id type x y z +dump_modify 1 triclinic/general yes + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 3 5 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.966 | 2.997 | 3.091 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 456.05603 1 -1 0 1 1 0 1 1 1 2555.5604 2555.5604 598.94037 2 +Loop time of 2.13e-06 on 4 procs for 0 steps with 2 atoms + +70.4% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.13e-06 | | |100.00 + +Nlocal: 0.5 ave 2 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 47.5 ave 48 max 46 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 1.5 ave 6 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 6 +Ave neighs/atom = 3 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.fcc.orthog.g++.1 b/examples/triclinic/log.8Apr24.fcc.orthog.g++.1 new file mode 100644 index 0000000000..fc608c042a --- /dev/null +++ b/examples/triclinic/log.8Apr24.fcc.orthog.g++.1 @@ -0,0 +1,74 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# orthogonal box for fcc lattice unit cell + +lattice fcc 1.1 +Lattice spacing in x,y,z = 1.5377619 1.5377619 1.5377619 + +region mybox block 0 1 0 1 0 1 +create_box 1 mybox +Created orthogonal box = (0 0 0) to (1.5377619 1.5377619 1.5377619) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4 atoms + using lattice units in orthogonal box = (0 0 0) to (1.5377619 1.5377619 1.5377619) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.fcc.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol + +dump 1 all custom 100 tmp.dump.fcc.orthog id type x y z + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.059 | 3.059 | 3.059 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -5.7354 1.5377619 0 0 0 1.5377619 0 0 0 1.5377619 6.70824 6.70824 6.70824 3.6363636 +Loop time of 8.53e-07 on 1 procs for 0 steps with 4 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 8.53e-07 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 58 ave 58 max 58 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 24 ave 24 max 24 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 24 +Ave neighs/atom = 6 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.fcc.orthog.g++.4 b/examples/triclinic/log.8Apr24.fcc.orthog.g++.4 new file mode 100644 index 0000000000..f5464d238d --- /dev/null +++ b/examples/triclinic/log.8Apr24.fcc.orthog.g++.4 @@ -0,0 +1,75 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# orthogonal box for fcc lattice unit cell + +lattice fcc 1.1 +Lattice spacing in x,y,z = 1.5377619 1.5377619 1.5377619 + +region mybox block 0 1 0 1 0 1 +create_box 1 mybox +Created orthogonal box = (0 0 0) to (1.5377619 1.5377619 1.5377619) + 2 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 4 atoms + using lattice units in orthogonal box = (0 0 0) to (1.5377619 1.5377619 1.5377619) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.fcc.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol + +dump 1 all custom 100 tmp.dump.fcc.orthog id type x y z + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.074 | 3.074 | 3.074 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -5.7354 1.5377619 0 0 0 1.5377619 0 0 0 1.5377619 6.70824 6.70824 6.70824 3.6363636 +Loop time of 3.291e-06 on 4 procs for 0 steps with 4 atoms + +76.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.291e-06 | | |100.00 + +Nlocal: 1 ave 1 max 1 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 39 ave 39 max 39 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 6 ave 6 max 6 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 24 +Ave neighs/atom = 6 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.fcc.primitive.g++.1 b/examples/triclinic/log.8Apr24.fcc.primitive.g++.1 new file mode 100644 index 0000000000..21fccdca1f --- /dev/null +++ b/examples/triclinic/log.8Apr24.fcc.primitive.g++.1 @@ -0,0 +1,76 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# general triclinic box for fcc lattice primitive cell + +lattice custom 1.1 a2 0.0 0.5 0.5 a3 0.5 0.0 0.5 a1 0.5 0.5 0.0 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 2.1747238 1.2555773 0.88782726 + +create_box 1 NULL 0 1 0 1 0 1 +Created triclinic box = (0 0 0) to (1.0873619 0.94168301 0.88782726) with tilt (0.54368094 0.54368094 0.31389434) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 0) to (1.0873619 0.94168301 0.88782726) with tilt (0.54368094 0.54368094 0.31389434) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.fcc.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.fcc.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 4 3 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.084 | 3.084 | 3.084 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -5.7354 0.76888096 0.76888096 -6.036071e-17 -5.5511151e-17 0.76888096 0.76888096 0.76888096 0 0.76888096 6.70824 6.70824 6.70824 0.90909091 +Loop time of 8.83e-07 on 1 procs for 0 steps with 1 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 8.83e-07 | | |100.00 + +Nlocal: 1 ave 1 max 1 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 63 ave 63 max 63 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 6 +Ave neighs/atom = 6 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.fcc.primitive.g++.4 b/examples/triclinic/log.8Apr24.fcc.primitive.g++.4 new file mode 100644 index 0000000000..651da16e79 --- /dev/null +++ b/examples/triclinic/log.8Apr24.fcc.primitive.g++.4 @@ -0,0 +1,77 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# general triclinic box for fcc lattice primitive cell + +lattice custom 1.1 a2 0.0 0.5 0.5 a3 0.5 0.0 0.5 a1 0.5 0.5 0.0 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 2.1747238 1.2555773 0.88782726 + +create_box 1 NULL 0 1 0 1 0 1 +Created triclinic box = (0 0 0) to (1.0873619 0.94168301 0.88782726) with tilt (0.54368094 0.54368094 0.31389434) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 0) to (1.0873619 0.94168301 0.88782726) with tilt (0.54368094 0.54368094 0.31389434) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.fcc.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.fcc.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 4 3 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.973 | 3.005 | 3.098 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -5.7354 0.76888096 0.76888096 -6.036071e-17 -5.5511151e-17 0.76888096 0.76888096 0.76888096 0 0.76888096 6.70824 6.70824 6.70824 0.90909091 +Loop time of 1.7905e-06 on 4 procs for 0 steps with 1 atoms + +55.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.791e-06 | | |100.00 + +Nlocal: 0.25 ave 1 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 35.75 ave 36 max 35 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 1.5 ave 6 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 6 +Ave neighs/atom = 6 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.hex.orthog.g++.1 b/examples/triclinic/log.8Apr24.hex.orthog.g++.1 new file mode 100644 index 0000000000..001f2300e4 --- /dev/null +++ b/examples/triclinic/log.8Apr24.hex.orthog.g++.1 @@ -0,0 +1,76 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# orthogonal box for 2d hex lattice unit cell + +dimension 2 + +lattice hex 1.0 +Lattice spacing in x,y,z = 1.0745699 1.8612097 1.0745699 + +region mybox block 0 1 0 1 -0.5 0.5 +create_box 1 mybox +Created orthogonal box = (0 0 -0.53728497) to (1.0745699 1.8612097 0.53728497) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0 0 -0.53728497) to (1.0745699 1.8612097 0.53728497) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.hex.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol + +dump 1 all custom 100 tmp.dump.hex.orthog id type x y z + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 2 4 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.054 | 3.054 | 3.054 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 -2.7317286 1.0745699 0 0 1.8612097 6.9923141 6.9923141 2 +Loop time of 9.26e-07 on 1 procs for 0 steps with 2 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.26e-07 | | |100.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 15 ave 15 max 15 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 6 +Ave neighs/atom = 3 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.hex.orthog.g++.4 b/examples/triclinic/log.8Apr24.hex.orthog.g++.4 new file mode 100644 index 0000000000..880d532957 --- /dev/null +++ b/examples/triclinic/log.8Apr24.hex.orthog.g++.4 @@ -0,0 +1,77 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# orthogonal box for 2d hex lattice unit cell + +dimension 2 + +lattice hex 1.0 +Lattice spacing in x,y,z = 1.0745699 1.8612097 1.0745699 + +region mybox block 0 1 0 1 -0.5 0.5 +create_box 1 mybox +Created orthogonal box = (0 0 -0.53728497) to (1.0745699 1.8612097 0.53728497) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0 0 -0.53728497) to (1.0745699 1.8612097 0.53728497) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.hex.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol + +dump 1 all custom 100 tmp.dump.hex.orthog id type x y z + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 2 4 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.945 | 2.945 | 2.945 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 -2.7317286 1.0745699 0 0 1.8612097 6.9923141 6.9923141 2 +Loop time of 1.9155e-06 on 4 procs for 0 steps with 2 atoms + +52.2% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.915e-06 | | |100.00 + +Nlocal: 0.5 ave 1 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 11.5 ave 12 max 11 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 1.5 ave 3 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 6 +Ave neighs/atom = 3 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.hex.primitive.g++.1 b/examples/triclinic/log.8Apr24.hex.primitive.g++.1 new file mode 100644 index 0000000000..71f3fc6d13 --- /dev/null +++ b/examples/triclinic/log.8Apr24.hex.primitive.g++.1 @@ -0,0 +1,78 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# general triclinic box for 2d hex lattice primitive cell + +dimension 2 + +lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 1.6118549 0.93060486 1.0745699 + +create_box 1 NULL 0 1 0 1 -0.5 0.5 +Created triclinic box = (0 0 -0.53728497) to (1.0745699 0.93060486 0.53728497) with tilt (0.53728497 0 0) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 -0.53728497) to (1.0745699 0.93060486 0.53728497) with tilt (0.53728497 0 0) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.hex.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.hex.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 3 2 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/2d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.062 | 3.062 | 3.062 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 -2.7317286 1.0745699 0 0.53728497 0.93060486 6.9923141 6.9923141 1 +Loop time of 1.03e-06 on 1 procs for 0 steps with 1 atoms + +97.1% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.03e-06 | | |100.00 + +Nlocal: 1 ave 1 max 1 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 15 ave 15 max 15 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3 +Ave neighs/atom = 3 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.hex.primitive.g++.4 b/examples/triclinic/log.8Apr24.hex.primitive.g++.4 new file mode 100644 index 0000000000..b7703b2678 --- /dev/null +++ b/examples/triclinic/log.8Apr24.hex.primitive.g++.4 @@ -0,0 +1,79 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# general triclinic box for 2d hex lattice primitive cell + +dimension 2 + +lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 1.6118549 0.93060486 1.0745699 + +create_box 1 NULL 0 1 0 1 -0.5 0.5 +Created triclinic box = (0 0 -0.53728497) to (1.0745699 0.93060486 0.53728497) with tilt (0.53728497 0 0) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 -0.53728497) to (1.0745699 0.93060486 0.53728497) with tilt (0.53728497 0 0) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.hex.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.hex.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 3 2 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/2d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.953 | 2.953 | 2.953 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 -2.7317286 1.0745699 0 0.53728497 0.93060486 6.9923141 6.9923141 1 +Loop time of 2.45225e-06 on 4 procs for 0 steps with 1 atoms + +61.2% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.452e-06 | | |100.00 + +Nlocal: 0.25 ave 1 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 8.75 ave 9 max 8 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 0.75 ave 3 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 3 +Ave neighs/atom = 3 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.sq2.orthog.g++.1 b/examples/triclinic/log.8Apr24.sq2.orthog.g++.1 new file mode 100644 index 0000000000..bae7c7eae1 --- /dev/null +++ b/examples/triclinic/log.8Apr24.sq2.orthog.g++.1 @@ -0,0 +1,76 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# orthogonal box for 2d sq2 lattice unit cell + +dimension 2 + +lattice sq2 1.1 +Lattice spacing in x,y,z = 1.3483997 1.3483997 1.3483997 + +region mybox block 0 1 0 1 -0.5 0.5 +create_box 1 mybox +Created orthogonal box = (0 0 -0.67419986) to (1.3483997 1.3483997 0.67419986) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0 0 -0.67419986) to (1.3483997 1.3483997 0.67419986) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.sq2.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol + +dump 1 all custom 100 tmp.dump.sq2.orthog id type x y z + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.046 | 3.046 | 3.046 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 3.524488 1.3483997 0 0 1.3483997 58.400021 58.400021 1.8181818 +Loop time of 9.37e-07 on 1 procs for 0 steps with 2 atoms + +106.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.37e-07 | | |100.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 11 ave 11 max 11 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4 +Ave neighs/atom = 2 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.sq2.orthog.g++.4 b/examples/triclinic/log.8Apr24.sq2.orthog.g++.4 new file mode 100644 index 0000000000..c54078ae97 --- /dev/null +++ b/examples/triclinic/log.8Apr24.sq2.orthog.g++.4 @@ -0,0 +1,77 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# orthogonal box for 2d sq2 lattice unit cell + +dimension 2 + +lattice sq2 1.1 +Lattice spacing in x,y,z = 1.3483997 1.3483997 1.3483997 + +region mybox block 0 1 0 1 -0.5 0.5 +create_box 1 mybox +Created orthogonal box = (0 0 -0.67419986) to (1.3483997 1.3483997 0.67419986) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0 0 -0.67419986) to (1.3483997 1.3483997 0.67419986) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.sq2.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol + +dump 1 all custom 100 tmp.dump.sq2.orthog id type x y z + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.937 | 2.937 | 2.937 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 3.524488 1.3483997 0 0 1.3483997 58.400021 58.400021 1.8181818 +Loop time of 1.703e-06 on 4 procs for 0 steps with 2 atoms + +29.4% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.703e-06 | | |100.00 + +Nlocal: 0.5 ave 1 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 7.5 ave 8 max 7 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 1 ave 2 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 4 +Ave neighs/atom = 2 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.sq2.primitive.g++.1 b/examples/triclinic/log.8Apr24.sq2.primitive.g++.1 new file mode 100644 index 0000000000..07195085ae --- /dev/null +++ b/examples/triclinic/log.8Apr24.sq2.primitive.g++.1 @@ -0,0 +1,77 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# general triclinic box for 2d sq2 lattice primitive cell + +dimension 2 + +lattice custom 1.1 a1 0.5 -0.5 0.0 a2 0.5 0.5 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 0.95346259 0.95346259 1.3483997 + +create_box 1 NULL 0 1 0 1 -0.5 0.5 +Created triclinic box = (0 0 -0.67419986) to (0.95346259 0.95346259 0.67419986) with tilt (-1.110223e-16 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 -0.67419986) to (0.95346259 0.95346259 0.67419986) with tilt (-1.110223e-16 0 0) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.sq2.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.sq2.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 2 2 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/2d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.937 | 2.937 | 2.937 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 3.524488 0.67419986 -0.67419986 0.67419986 0.67419986 58.400021 58.400021 0.90909091 +Loop time of 8.38e-07 on 1 procs for 0 steps with 1 atoms + +119.3% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 8.38e-07 | | |100.00 + +Nlocal: 1 ave 1 max 1 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 15 ave 15 max 15 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2 +Ave neighs/atom = 2 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.sq2.primitive.g++.4 b/examples/triclinic/log.8Apr24.sq2.primitive.g++.4 new file mode 100644 index 0000000000..1f2c758d65 --- /dev/null +++ b/examples/triclinic/log.8Apr24.sq2.primitive.g++.4 @@ -0,0 +1,78 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# general triclinic box for 2d sq2 lattice primitive cell + +dimension 2 + +lattice custom 1.1 a1 0.5 -0.5 0.0 a2 0.5 0.5 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 0.95346259 0.95346259 1.3483997 + +create_box 1 NULL 0 1 0 1 -0.5 0.5 +Created triclinic box = (0 0 -0.67419986) to (0.95346259 0.95346259 0.67419986) with tilt (-1.110223e-16 0 0) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 -0.67419986) to (0.95346259 0.95346259 0.67419986) with tilt (-1.110223e-16 0 0) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.sq2.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.sq2.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 2 2 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/2d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.953 | 2.953 | 2.953 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 3.524488 0.67419986 -0.67419986 0.67419986 0.67419986 58.400021 58.400021 0.90909091 +Loop time of 1.91525e-06 on 4 procs for 0 steps with 1 atoms + +52.2% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.915e-06 | | |100.00 + +Nlocal: 0.25 ave 1 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 8.75 ave 9 max 8 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 0.5 ave 2 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 2 +Ave neighs/atom = 2 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/ttm/Si.ttm_mod b/examples/ttm/Si.ttm_mod index 6e047857ff..ad407352e7 100644 --- a/examples/ttm/Si.ttm_mod +++ b/examples/ttm/Si.ttm_mod @@ -17,9 +17,9 @@ rho_e, electrons/volume units D_e, length^2/time units 20000 gamma_p, mass/time units -39.235 -gamma_s, mass/time units 24.443 +gamma_s, mass/time units +39.235 v_0, length/time units 79.76 I_0, energy/(time*length^2) units diff --git a/examples/ttm/log.18May23.ttm.mod.g++.1 b/examples/ttm/log.15Apr24.ttm.mod.g++.1 similarity index 66% rename from examples/ttm/log.18May23.ttm.mod.g++.1 rename to examples/ttm/log.15Apr24.ttm.mod.g++.1 index b97e8ab0ea..4b4f88b2a2 100644 --- a/examples/ttm/log.18May23.ttm.mod.g++.1 +++ b/examples/ttm/log.15Apr24.ttm.mod.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (28 Mar 2023 - Development) +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-394-g03ab36a37d) + using 1 OpenMP thread(s) per MPI task units metal atom_style atomic boundary p p p @@ -13,7 +14,7 @@ mass 1 28.0855 create_atoms 1 box basis 1 1 basis 2 1 basis 3 1 basis 4 1 basis 5 1 basis 6 1 basis 7 1 basis 8 1 Created 8000 atoms using lattice units in orthogonal box = (0 0 0) to (54.309 54.309 54.309) - create_atoms CPU = 0.002 seconds + create_atoms CPU = 0.001 seconds pair_style sw pair_coeff * * Si.sw Si @@ -79,30 +80,30 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 4.433 | 4.433 | 4.433 Mbytes Step Temp TotEng f_twotemp[1] f_twotemp[2] 0 0 -34692.79996100604 -52.79390940511979 0 - 100 2.004897156140836 -34690.27961013186 -55.3499730543189 0.01301140393178352 - 200 2.837118035232607 -34687.74741132015 -57.93445748841876 0.02696025968760173 - 300 4.263087164947482 -34684.98084093686 -60.75945453846793 0.02175636603841567 - 400 5.568003854939066 -34682.25271040963 -63.56896518300499 0.03000618483472749 - 500 6.225602451570786 -34679.49948952029 -66.40897551884574 0.02768827702656703 - 600 7.608847536264781 -34676.69728436362 -69.32060611557282 0.05579466731854091 - 700 9.049471241531297 -34674.00093206036 -72.10055094219462 0.004335980559879032 - 800 9.826796099683211 -34671.27720242751 -74.95010610862134 0.02371649678091515 - 900 11.8609224958918 -34668.35091308811 -77.98544170794545 0.004658649791374908 - 1000 13.88037467640968 -34665.35025858006 -81.16445160194111 0.07684078334464743 -Loop time of 2.48942 on 1 procs for 1000 steps with 8000 atoms + 100 1.255921182965094 -34691.22889627319 -54.38067722556279 0.004868249873095404 + 200 1.858362347834853 -34689.5405389424 -56.09419523244324 0.01649190747838086 + 300 2.581575104085017 -34687.9650112138 -57.69350558275053 0.01683584513983131 + 400 3.47533128765632 -34686.2796683925 -59.40465113478642 0.005727647825729662 + 500 4.080137293185865 -34684.25857873315 -61.46449138661911 0.005828121949923951 + 600 4.816104423494803 -34682.51412688349 -63.25804498666959 0.02397283419020746 + 700 5.937291156573137 -34680.64941595491 -65.17152689673857 0.02604017750117964 + 800 6.487028971399661 -34678.87151939966 -66.99420300650799 0.009720189851817886 + 900 7.461479797687167 -34677.29259652842 -68.63442522233655 0.02576822683306545 + 1000 8.696444335455215 -34675.39247806347 -70.59264558122587 0.0147252863003017 +Loop time of 5.11497 on 1 procs for 1000 steps with 8000 atoms -Performance: 3.471 ns/day, 6.915 hours/ns, 401.700 timesteps/s, 3.214 Matom-step/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 1.689 ns/day, 14.208 hours/ns, 195.505 timesteps/s, 1.564 Matom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.126 | 2.126 | 2.126 | 0.0 | 85.40 +Pair | 4.3498 | 4.3498 | 4.3498 | 0.0 | 85.04 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.016147 | 0.016147 | 0.016147 | 0.0 | 0.65 -Output | 0.0013116 | 0.0013116 | 0.0013116 | 0.0 | 0.05 -Modify | 0.33864 | 0.33864 | 0.33864 | 0.0 | 13.60 -Other | | 0.007318 | | | 0.29 +Comm | 0.037981 | 0.037981 | 0.037981 | 0.0 | 0.74 +Output | 0.0025641 | 0.0025641 | 0.0025641 | 0.0 | 0.05 +Modify | 0.71279 | 0.71279 | 0.71279 | 0.0 | 13.94 +Other | | 0.01179 | | | 0.23 Nlocal: 8000 ave 8000 max 8000 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -117,4 +118,4 @@ Total # of neighbors = 272000 Ave neighs/atom = 34 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:02 +Total wall time: 0:00:05 diff --git a/examples/ttm/log.18May23.ttm.mod.g++.4 b/examples/ttm/log.15Apr24.ttm.mod.g++.4 similarity index 65% rename from examples/ttm/log.18May23.ttm.mod.g++.4 rename to examples/ttm/log.15Apr24.ttm.mod.g++.4 index ea675c8594..231a9af2c9 100644 --- a/examples/ttm/log.18May23.ttm.mod.g++.4 +++ b/examples/ttm/log.15Apr24.ttm.mod.g++.4 @@ -1,5 +1,5 @@ -LAMMPS (28 Mar 2023 - Development) -WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:531) +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-394-g03ab36a37d) + using 1 OpenMP thread(s) per MPI task units metal atom_style atomic boundary p p p @@ -14,7 +14,7 @@ mass 1 28.0855 create_atoms 1 box basis 1 1 basis 2 1 basis 3 1 basis 4 1 basis 5 1 basis 6 1 basis 7 1 basis 8 1 Created 8000 atoms using lattice units in orthogonal box = (0 0 0) to (54.309 54.309 54.309) - create_atoms CPU = 0.001 seconds + create_atoms CPU = 0.002 seconds pair_style sw pair_coeff * * Si.sw Si @@ -80,30 +80,30 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 3.436 | 3.436 | 3.436 Mbytes Step Temp TotEng f_twotemp[1] f_twotemp[2] 0 0 -34692.79996100361 -52.79390940511979 0 - 100 1.852689977101411 -34690.49204900486 -55.14271612882064 0.02726188676577098 - 200 2.735750477179192 -34688.11139028054 -57.57110998717798 0.03387986355513584 - 300 3.931848271449558 -34685.54667417785 -60.18684521127231 0.02261256315262403 - 400 5.462009198576365 -34682.74455105668 -63.05420336037233 0.002402241637719578 - 500 6.267811692893873 -34679.96493887379 -65.93304222280051 0.02448378880218699 - 600 7.21148216150661 -34677.41455784726 -68.58391420045926 0.04114045759945374 - 700 8.84660534187052 -34674.40610468235 -71.68798344296859 0.02372984027434538 - 800 10.1748456457686 -34671.08749605772 -75.11943618276216 0.007538225788030307 - 900 11.27479036162859 -34668.4118066423 -77.92921692176756 0.02537529314475071 - 1000 13.26881394868076 -34665.56617589539 -80.91544540266317 0.03112665440209921 -Loop time of 0.995347 on 4 procs for 1000 steps with 8000 atoms + 100 1.20337355884597 -34691.30677367127 -54.30747356568817 0.01557346850238741 + 200 1.709631732825883 -34689.83859944795 -55.7982356998371 0.02508386983502213 + 300 2.488524478071323 -34688.26307995134 -57.3977272154369 0.02664346353990833 + 400 3.38535890366476 -34686.51395648598 -59.17547816947624 0.02164200191836632 + 500 3.838163353802383 -34684.79466673204 -60.92228950760077 0.005860499116196545 + 600 4.675913079756001 -34683.03448988724 -62.72423959707044 0.0106700119158327 + 700 5.637185532827328 -34681.25888274477 -64.5491928842093 0.01568536325219336 + 800 6.316986413957468 -34679.29231578312 -66.57005328290739 0.02035373879569394 + 900 7.211479047111087 -34677.61236020172 -68.30976417874265 0.03239086895076279 + 1000 8.431725106300505 -34675.81097854214 -70.161139196977 0.01219385884660358 +Loop time of 1.73439 on 4 procs for 1000 steps with 8000 atoms -Performance: 8.680 ns/day, 2.765 hours/ns, 1004.675 timesteps/s, 8.037 Matom-step/s -97.9% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 4.982 ns/day, 4.818 hours/ns, 576.572 timesteps/s, 4.613 Matom-step/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.65351 | 0.6616 | 0.66783 | 0.8 | 66.47 +Pair | 1.127 | 1.1392 | 1.1511 | 1.0 | 65.68 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.041606 | 0.048314 | 0.056589 | 2.9 | 4.85 -Output | 0.0014609 | 0.0014742 | 0.0014968 | 0.0 | 0.15 -Modify | 0.27934 | 0.28016 | 0.28089 | 0.1 | 28.15 -Other | | 0.003798 | | | 0.38 +Comm | 0.068488 | 0.082304 | 0.094797 | 4.1 | 4.75 +Output | 0.0024745 | 0.0025221 | 0.0025705 | 0.1 | 0.15 +Modify | 0.50194 | 0.50329 | 0.50522 | 0.2 | 29.02 +Other | | 0.007117 | | | 0.41 Nlocal: 2000 ave 2000 max 2000 min Histogram: 4 0 0 0 0 0 0 0 0 0 diff --git a/examples/voronoi/in.voronoi.2d b/examples/voronoi/in.voronoi.2d index 74bde73f1b..25628bd19a 100644 --- a/examples/voronoi/in.voronoi.2d +++ b/examples/voronoi/in.voronoi.2d @@ -7,46 +7,46 @@ variable len equal 4.0 variable lenz equal 10.0 dimension 2 -units metal -boundary p p p +units metal +boundary p p p #lattice sq 1.0 origin 0.5 0.5 0.0 lattice hex 1.0 origin 0.5 0.5 0.0 -atom_style atomic +atom_style atomic -region box block 0 ${len} 0 ${len} 0.0 ${lenz} +region box block 0 ${len} 0 ${len} -0.5 0.5 region atoms block 0 ${len} 0 ${len} 0.0 0.0 create_box 1 box create_atoms 1 region atoms -mass 1 1.0 +mass 1 1.0 pair_style lj/cut ${rcut} pair_coeff 1 1 0.0 1.0 -neighbor ${rskin} nsq +neighbor ${rskin} nsq # set the minimum communication cut-off comm_modify cutoff ${rcomm} -compute v1 all voronoi/atom neighbors yes -compute volvor all reduce sum c_v1[1] -variable volsys equal lz*lx*ly -variable err equal c_volvor-v_volsys -thermo_style custom c_volvor v_volsys vol v_err -thermo 1 +compute v1 all voronoi/atom neighbors yes +compute volvor all reduce sum c_v1[1] +variable volsys equal lz*lx*ly +variable err equal c_volvor-v_volsys +thermo_style custom c_volvor v_volsys vol v_err +thermo 1 # # TEST 1: Volume check for 2d bulk system # -run 0 +run 0 # # TEST 2: Volume check for 2d finite system # add margins in x and y directions # -change_box all boundary f f p -run 0 +change_box all boundary f f p +run 0 diff --git a/examples/voronoi/in.voronoi.data b/examples/voronoi/in.voronoi.data index e5d925c498..cbcc530649 100644 --- a/examples/voronoi/in.voronoi.data +++ b/examples/voronoi/in.voronoi.data @@ -4,24 +4,24 @@ variable len equal 4.0 variable lenz equal 10.0 dimension 2 -units metal -boundary f f p +units metal +boundary f f p lattice hex 1.0 origin 0.25 0.25 0.0 -atom_style atomic +atom_style atomic -region box block 0 ${len} 0 ${len} 0.0 ${lenz} +region box block 0 ${len} 0 ${len} -0.5 0.5 region atoms block 0 ${len} 0 ${len} 0.0 0.0 create_box 1 box create_atoms 1 region atoms -mass 1 1.0 +mass 1 1.0 pair_style lj/cut 2.5 pair_coeff 1 1 0.0 1.0 -neighbor 1.0 nsq +neighbor 1.0 nsq # # TEST 1: @@ -30,11 +30,11 @@ neighbor 1.0 nsq # This compute voronoi generates all three # types of quantity: per-atom, local, and global -compute v1 all voronoi/atom neighbors yes edge_histo 6 +compute v1 all voronoi/atom neighbors yes edge_histo 6 # write voronoi per-atom quantities to a file -dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] +dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] # writing voronoi local quantities to a file @@ -42,17 +42,17 @@ dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3] # sum up a voronoi per-atom quantity -compute volvor all reduce sum c_v1[1] +compute volvor all reduce sum c_v1[1] -variable volsys equal lz*lx*ly -variable err equal c_volvor-v_volsys +variable volsys equal lz*lx*ly +variable err equal c_volvor-v_volsys # output voronoi global quantities -thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] -thermo 1 +thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] +thermo 1 -run 0 +run 0 uncompute v1 uncompute volvor @@ -65,7 +65,7 @@ undump dlocal # This compute voronoi generates peratom and local and global quantities -compute v2 all voronoi/atom neighbors yes edge_histo 6 +compute v2 all voronoi/atom neighbors yes edge_histo 6 # write voronoi local quantities to a file @@ -73,11 +73,11 @@ dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3] # sum up a voronoi local quantity -compute sumarea all reduce sum c_v2[3] inputs local +compute sumarea all reduce sum c_v2[3] inputs local # output voronoi global quantities -thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] -thermo 1 +thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] +thermo 1 -run 0 +run 0 diff --git a/examples/voronoi/log.27Nov18.voronoi.data.g++.1 b/examples/voronoi/log.27Nov18.voronoi.data.g++.1 deleted file mode 100644 index 04bc629d87..0000000000 --- a/examples/voronoi/log.27Nov18.voronoi.data.g++.1 +++ /dev/null @@ -1,170 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Exercise different output data options - -variable len equal 4.0 -variable lenz equal 10.0 - -dimension 2 -units metal -boundary f f p - -lattice hex 1.0 origin 0.25 0.25 0.0 -Lattice spacing in x,y,z = 1 1.73205 1 - -atom_style atomic - -region box block 0 ${len} 0 ${len} 0.0 ${lenz} -region box block 0 4 0 ${len} 0.0 ${lenz} -region box block 0 4 0 4 0.0 ${lenz} -region box block 0 4 0 4 0.0 10 -region atoms block 0 ${len} 0 ${len} 0.0 0.0 -region atoms block 0 4 0 ${len} 0.0 0.0 -region atoms block 0 4 0 4 0.0 0.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (4 6.9282 10) - 1 by 1 by 1 MPI processor grid -create_atoms 1 region atoms -Created 32 atoms - Time spent = 0.000315666 secs - -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 0.0 1.0 - -neighbor 1.0 nsq - -# -# TEST 1: -# - -# This compute voronoi generates all three -# types of quantity: per-atom, local, and global - -compute v1 all voronoi/atom neighbors yes edge_histo 6 - -# write voronoi per-atom quantities to a file - -dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] - -# writing voronoi local quantities to a file - -dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3] - -# sum up a voronoi per-atom quantity - -compute volvor all reduce sum c_v1[1] - -variable volsys equal lz*lx*ly -variable err equal c_volvor-v_volsys - -# output voronoi global quantities - -thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] -thermo 1 - -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 3.5 - ghost atom cutoff = 3.5 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/nsq/newton - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 10.04 | 10.04 | 10.04 Mbytes -c_volvor v_volsys Volume v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] - 277.12813 277.12813 27.712813 3.9790393e-13 0 186 12 36 0 -Loop time of 7.15256e-07 on 1 procs for 0 steps with 32 atoms - -0.0% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 7.153e-07 | | |100.00 - -Nlocal: 32 ave 32 max 32 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 325 ave 325 max 325 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 325 -Ave neighs/atom = 10.1562 -Neighbor list builds = 0 -Dangerous builds = 0 - -uncompute v1 -uncompute volvor -undump dperatom -undump dlocal - -# -# TEST 2: -# - -# This compute voronoi generates -# local and global quantities, but -# not per-atom quantities - -compute v2 all voronoi/atom neighbors yes edge_histo 6 peratom no - -# write voronoi local quantities to a file - -dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3] - -# sum up a voronoi local quantity - -compute sumarea all reduce sum c_v2[3] - -# output voronoi global quantities - -thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] -thermo 1 - -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) -Per MPI rank memory allocation (min/avg/max) = 8.787 | 8.787 | 8.787 Mbytes -c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] - 1215.0706 0 186 12 36 0 -Loop time of 7.15256e-07 on 1 procs for 0 steps with 32 atoms - -139.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 7.153e-07 | | |100.00 - -Nlocal: 32 ave 32 max 32 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 325 ave 325 max 325 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 325 -Ave neighs/atom = 10.1562 -Neighbor list builds = 0 -Dangerous builds = 0 - - - -Total wall time: 0:00:00 diff --git a/examples/voronoi/log.27Nov18.voronoi.data.g++.4 b/examples/voronoi/log.27Nov18.voronoi.data.g++.4 deleted file mode 100644 index be028e4d2f..0000000000 --- a/examples/voronoi/log.27Nov18.voronoi.data.g++.4 +++ /dev/null @@ -1,170 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Exercise different output data options - -variable len equal 4.0 -variable lenz equal 10.0 - -dimension 2 -units metal -boundary f f p - -lattice hex 1.0 origin 0.25 0.25 0.0 -Lattice spacing in x,y,z = 1 1.73205 1 - -atom_style atomic - -region box block 0 ${len} 0 ${len} 0.0 ${lenz} -region box block 0 4 0 ${len} 0.0 ${lenz} -region box block 0 4 0 4 0.0 ${lenz} -region box block 0 4 0 4 0.0 10 -region atoms block 0 ${len} 0 ${len} 0.0 0.0 -region atoms block 0 4 0 ${len} 0.0 0.0 -region atoms block 0 4 0 4 0.0 0.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (4 6.9282 10) - 2 by 2 by 1 MPI processor grid -create_atoms 1 region atoms -Created 32 atoms - Time spent = 0.000311136 secs - -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 0.0 1.0 - -neighbor 1.0 nsq - -# -# TEST 1: -# - -# This compute voronoi generates all three -# types of quantity: per-atom, local, and global - -compute v1 all voronoi/atom neighbors yes edge_histo 6 - -# write voronoi per-atom quantities to a file - -dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] - -# writing voronoi local quantities to a file - -dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3] - -# sum up a voronoi per-atom quantity - -compute volvor all reduce sum c_v1[1] - -variable volsys equal lz*lx*ly -variable err equal c_volvor-v_volsys - -# output voronoi global quantities - -thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] -thermo 1 - -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 3.5 - ghost atom cutoff = 3.5 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/nsq/newton - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 9.922 | 9.922 | 9.922 Mbytes -c_volvor v_volsys Volume v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] - 277.12813 277.12813 27.712813 3.4106051e-13 0 186 12 36 0 -Loop time of 1.40667e-05 on 4 procs for 0 steps with 32 atoms - -46.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.407e-05 | | |100.00 - -Nlocal: 8 ave 8 max 8 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 24 ave 24 max 24 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 81.25 ave 84 max 77 min -Histogram: 1 0 0 0 1 0 0 0 0 2 - -Total # of neighbors = 325 -Ave neighs/atom = 10.1562 -Neighbor list builds = 0 -Dangerous builds = 0 - -uncompute v1 -uncompute volvor -undump dperatom -undump dlocal - -# -# TEST 2: -# - -# This compute voronoi generates -# local and global quantities, but -# not per-atom quantities - -compute v2 all voronoi/atom neighbors yes edge_histo 6 peratom no - -# write voronoi local quantities to a file - -dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3] - -# sum up a voronoi local quantity - -compute sumarea all reduce sum c_v2[3] - -# output voronoi global quantities - -thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] -thermo 1 - -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) -Per MPI rank memory allocation (min/avg/max) = 8.671 | 8.671 | 8.671 Mbytes -c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] - 1215.0706 0 186 12 36 0 -Loop time of 2.71797e-05 on 4 procs for 0 steps with 32 atoms - -57.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 2.718e-05 | | |100.00 - -Nlocal: 8 ave 8 max 8 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 24 ave 24 max 24 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 81.25 ave 84 max 77 min -Histogram: 1 0 0 0 1 0 0 0 0 2 - -Total # of neighbors = 325 -Ave neighs/atom = 10.1562 -Neighbor list builds = 0 -Dangerous builds = 0 - - - -Total wall time: 0:00:00 diff --git a/examples/voronoi/log.27Nov18.voronoi.2d.g++.1 b/examples/voronoi/log.6Dec23.voronoi.2d.g++.1 similarity index 53% rename from examples/voronoi/log.27Nov18.voronoi.2d.g++.1 rename to examples/voronoi/log.6Dec23.voronoi.2d.g++.1 index a591db8b4f..0f1bc89bb9 100644 --- a/examples/voronoi/log.27Nov18.voronoi.2d.g++.1 +++ b/examples/voronoi/log.6Dec23.voronoi.2d.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (27 Nov 2018) +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task # Test volume definitions for 2d and finite systems @@ -9,57 +10,58 @@ variable len equal 4.0 variable lenz equal 10.0 dimension 2 -units metal -boundary p p p +units metal +boundary p p p #lattice sq 1.0 origin 0.5 0.5 0.0 lattice hex 1.0 origin 0.5 0.5 0.0 -Lattice spacing in x,y,z = 1 1.73205 1 +Lattice spacing in x,y,z = 1 1.7320508 1 -atom_style atomic +atom_style atomic -region box block 0 ${len} 0 ${len} 0.0 ${lenz} -region box block 0 4 0 ${len} 0.0 ${lenz} -region box block 0 4 0 4 0.0 ${lenz} -region box block 0 4 0 4 0.0 10 +region box block 0 ${len} 0 ${len} -0.5 0.5 +region box block 0 4 0 ${len} -0.5 0.5 +region box block 0 4 0 4 -0.5 0.5 region atoms block 0 ${len} 0 ${len} 0.0 0.0 region atoms block 0 4 0 ${len} 0.0 0.0 region atoms block 0 4 0 4 0.0 0.0 create_box 1 box -Created orthogonal box = (0 0 0) to (4 6.9282 10) +Created orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) 1 by 1 by 1 MPI processor grid create_atoms 1 region atoms Created 32 atoms - Time spent = 0.000315905 secs + using lattice units in orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) + create_atoms CPU = 0.000 seconds -mass 1 1.0 +mass 1 1.0 pair_style lj/cut ${rcut} pair_style lj/cut 10 pair_coeff 1 1 0.0 1.0 -neighbor ${rskin} nsq -neighbor 2 nsq +neighbor ${rskin} nsq +neighbor 2 nsq # set the minimum communication cut-off comm_modify cutoff ${rcomm} comm_modify cutoff 20 -compute v1 all voronoi/atom neighbors yes -compute volvor all reduce sum c_v1[1] -variable volsys equal lz*lx*ly -variable err equal c_volvor-v_volsys -thermo_style custom c_volvor v_volsys vol v_err -thermo 1 +compute v1 all voronoi/atom neighbors yes +compute volvor all reduce sum c_v1[1] +variable volsys equal lz*lx*ly +variable err equal c_volvor-v_volsys +thermo_style custom c_volvor v_volsys vol v_err +thermo 1 # # TEST 1: Volume check for 2d bulk system # -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 20 @@ -69,12 +71,12 @@ Neighbor list info ... pair build: half/nsq/newton stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 3.007 | 3.007 | 3.007 Mbytes -c_volvor v_volsys Volume v_err - 277.12813 277.12813 27.712813 5.6843419e-14 -Loop time of 9.53674e-07 on 1 procs for 0 steps with 32 atoms +Per MPI rank memory allocation (min/avg/max) = 3.008 | 3.008 | 3.008 Mbytes + c_volvor v_volsys Volume v_err + 27.712813 27.712813 27.712813 -3.5527137e-15 +Loop time of 6.33e-07 on 1 procs for 0 steps with 32 atoms -209.7% CPU use with 1 MPI tasks x 1 OpenMP threads +316.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -84,13 +86,13 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 9.537e-07 | | |100.00 +Other | | 6.33e-07 | | |100.00 -Nlocal: 32 ave 32 max 32 min +Nlocal: 32 ave 32 max 32 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2415 ave 2415 max 2415 min +Nghost: 2415 ave 2415 max 2415 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8256 ave 8256 max 8256 min +Neighs: 8256 ave 8256 max 8256 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 8256 @@ -103,15 +105,17 @@ Dangerous builds = 0 # add margins in x and y directions # -change_box all boundary f f p -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +change_box all boundary f f p +Changing box ... +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule Per MPI rank memory allocation (min/avg/max) = 7.688 | 7.688 | 7.688 Mbytes -c_volvor v_volsys Volume v_err - 277.12813 277.12813 27.712813 3.4106051e-13 -Loop time of 4.76837e-07 on 1 procs for 0 steps with 32 atoms + c_volvor v_volsys Volume v_err + 27.712813 27.712813 27.712813 3.5527137e-14 +Loop time of 3.93e-07 on 1 procs for 0 steps with 32 atoms -209.7% CPU use with 1 MPI tasks x 1 OpenMP threads +254.5% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -121,13 +125,13 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 4.768e-07 | | |100.00 +Other | | 3.93e-07 | | |100.00 -Nlocal: 32 ave 32 max 32 min +Nlocal: 32 ave 32 max 32 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min +Nghost: 0 ave 0 max 0 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 496 ave 496 max 496 min +Neighs: 496 ave 496 max 496 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 496 diff --git a/examples/voronoi/log.27Nov18.voronoi.2d.g++.4 b/examples/voronoi/log.6Dec23.voronoi.2d.g++.4 similarity index 51% rename from examples/voronoi/log.27Nov18.voronoi.2d.g++.4 rename to examples/voronoi/log.6Dec23.voronoi.2d.g++.4 index 841f8dcb81..f5a5052c4f 100644 --- a/examples/voronoi/log.27Nov18.voronoi.2d.g++.4 +++ b/examples/voronoi/log.6Dec23.voronoi.2d.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (27 Nov 2018) +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task # Test volume definitions for 2d and finite systems @@ -9,57 +10,58 @@ variable len equal 4.0 variable lenz equal 10.0 dimension 2 -units metal -boundary p p p +units metal +boundary p p p #lattice sq 1.0 origin 0.5 0.5 0.0 lattice hex 1.0 origin 0.5 0.5 0.0 -Lattice spacing in x,y,z = 1 1.73205 1 +Lattice spacing in x,y,z = 1 1.7320508 1 -atom_style atomic +atom_style atomic -region box block 0 ${len} 0 ${len} 0.0 ${lenz} -region box block 0 4 0 ${len} 0.0 ${lenz} -region box block 0 4 0 4 0.0 ${lenz} -region box block 0 4 0 4 0.0 10 +region box block 0 ${len} 0 ${len} -0.5 0.5 +region box block 0 4 0 ${len} -0.5 0.5 +region box block 0 4 0 4 -0.5 0.5 region atoms block 0 ${len} 0 ${len} 0.0 0.0 region atoms block 0 4 0 ${len} 0.0 0.0 region atoms block 0 4 0 4 0.0 0.0 create_box 1 box -Created orthogonal box = (0 0 0) to (4 6.9282 10) +Created orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) 2 by 2 by 1 MPI processor grid create_atoms 1 region atoms Created 32 atoms - Time spent = 0.000319481 secs + using lattice units in orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) + create_atoms CPU = 0.000 seconds -mass 1 1.0 +mass 1 1.0 pair_style lj/cut ${rcut} pair_style lj/cut 10 pair_coeff 1 1 0.0 1.0 -neighbor ${rskin} nsq -neighbor 2 nsq +neighbor ${rskin} nsq +neighbor 2 nsq # set the minimum communication cut-off comm_modify cutoff ${rcomm} comm_modify cutoff 20 -compute v1 all voronoi/atom neighbors yes -compute volvor all reduce sum c_v1[1] -variable volsys equal lz*lx*ly -variable err equal c_volvor-v_volsys -thermo_style custom c_volvor v_volsys vol v_err -thermo 1 +compute v1 all voronoi/atom neighbors yes +compute volvor all reduce sum c_v1[1] +variable volsys equal lz*lx*ly +variable err equal c_volvor-v_volsys +thermo_style custom c_volvor v_volsys vol v_err +thermo 1 # # TEST 1: Volume check for 2d bulk system # -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 20 @@ -69,12 +71,12 @@ Neighbor list info ... pair build: half/nsq/newton stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 3.042 | 3.042 | 3.042 Mbytes -c_volvor v_volsys Volume v_err - 277.12813 277.12813 27.712813 5.1159077e-13 -Loop time of 2.79546e-05 on 4 procs for 0 steps with 32 atoms +Per MPI rank memory allocation (min/avg/max) = 3.038 | 3.038 | 3.038 Mbytes + c_volvor v_volsys Volume v_err + 27.712813 27.712813 27.712813 2.1316282e-14 +Loop time of 2.18725e-06 on 4 procs for 0 steps with 32 atoms -51.9% CPU use with 4 MPI tasks x 1 OpenMP threads +45.7% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -84,13 +86,13 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 2.795e-05 | | |100.00 +Other | | 2.187e-06 | | |100.00 -Nlocal: 8 ave 8 max 8 min +Nlocal: 8 ave 8 max 8 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 2159 ave 2159 max 2159 min +Nghost: 2159 ave 2159 max 2159 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 2064 ave 2077 max 2051 min +Neighs: 2064 ave 2077 max 2051 min Histogram: 1 0 0 1 0 0 1 0 0 1 Total # of neighbors = 8256 @@ -103,15 +105,17 @@ Dangerous builds = 0 # add margins in x and y directions # -change_box all boundary f f p -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) -Per MPI rank memory allocation (min/avg/max) = 7.678 | 7.678 | 7.678 Mbytes -c_volvor v_volsys Volume v_err - 277.12813 277.12813 27.712813 3.4106051e-13 -Loop time of 1.88947e-05 on 4 procs for 0 steps with 32 atoms +change_box all boundary f f p +Changing box ... +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.671 | 7.671 | 7.671 Mbytes + c_volvor v_volsys Volume v_err + 27.712813 27.712813 27.712813 3.907985e-14 +Loop time of 2.22e-06 on 4 procs for 0 steps with 32 atoms -47.6% CPU use with 4 MPI tasks x 1 OpenMP threads +112.6% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -121,13 +125,13 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.889e-05 | | |100.00 +Other | | 2.22e-06 | | |100.00 -Nlocal: 8 ave 8 max 8 min +Nlocal: 8 ave 8 max 8 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 24 ave 24 max 24 min +Nghost: 24 ave 24 max 24 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 124 ave 124 max 124 min +Neighs: 124 ave 124 max 124 min Histogram: 4 0 0 0 0 0 0 0 0 0 Total # of neighbors = 496 diff --git a/examples/voronoi/log.6Dec23.voronoi.data.g++.1 b/examples/voronoi/log.6Dec23.voronoi.data.g++.1 new file mode 100644 index 0000000000..b598b251dc --- /dev/null +++ b/examples/voronoi/log.6Dec23.voronoi.data.g++.1 @@ -0,0 +1,168 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Exercise different output data options + +variable len equal 4.0 +variable lenz equal 10.0 + +dimension 2 +units metal +boundary f f p + +lattice hex 1.0 origin 0.25 0.25 0.0 +Lattice spacing in x,y,z = 1 1.7320508 1 + +atom_style atomic + +region box block 0 ${len} 0 ${len} -0.5 0.5 +region box block 0 4 0 ${len} -0.5 0.5 +region box block 0 4 0 4 -0.5 0.5 +region atoms block 0 ${len} 0 ${len} 0.0 0.0 +region atoms block 0 4 0 ${len} 0.0 0.0 +region atoms block 0 4 0 4 0.0 0.0 +create_box 1 box +Created orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) + 1 by 1 by 1 MPI processor grid +create_atoms 1 region atoms +Created 32 atoms + using lattice units in orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) + create_atoms CPU = 0.000 seconds + +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 0.0 1.0 + +neighbor 1.0 nsq + +# +# TEST 1: +# + +# This compute voronoi generates all three +# types of quantity: per-atom, local, and global + +compute v1 all voronoi/atom neighbors yes edge_histo 6 + +# write voronoi per-atom quantities to a file + +dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] + +# writing voronoi local quantities to a file + +dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3] + +# sum up a voronoi per-atom quantity + +compute volvor all reduce sum c_v1[1] + +variable volsys equal lz*lx*ly +variable err equal c_volvor-v_volsys + +# output voronoi global quantities + +thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] +thermo 1 + +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 3.5 + ghost atom cutoff = 3.5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/nsq/newton + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 3.03 | 3.03 | 3.03 Mbytes + c_volvor v_volsys Volume v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] + 27.712813 27.712813 27.712813 3.1974423e-14 0 186 12 36 0 +Loop time of 7.96e-07 on 1 procs for 0 steps with 32 atoms + +125.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 7.96e-07 | | |100.00 + +Nlocal: 32 ave 32 max 32 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 325 ave 325 max 325 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 325 +Ave neighs/atom = 10.15625 +Neighbor list builds = 0 +Dangerous builds = 0 + +uncompute v1 +uncompute volvor +undump dperatom +undump dlocal + +# +# TEST 2: +# + +# This compute voronoi generates peratom and local and global quantities + +compute v2 all voronoi/atom neighbors yes edge_histo 6 + +# write voronoi local quantities to a file + +dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3] + +# sum up a voronoi local quantity + +compute sumarea all reduce sum c_v2[3] inputs local + +# output voronoi global quantities + +thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] +thermo 1 + +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.03 | 3.03 | 3.03 Mbytes + c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] + 171.39013 0 186 12 36 0 +Loop time of 3.74e-07 on 1 procs for 0 steps with 32 atoms + +0.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.74e-07 | | |100.00 + +Nlocal: 32 ave 32 max 32 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 325 ave 325 max 325 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 325 +Ave neighs/atom = 10.15625 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/voronoi/log.6Dec23.voronoi.data.g++.4 b/examples/voronoi/log.6Dec23.voronoi.data.g++.4 new file mode 100644 index 0000000000..dc0855c2c7 --- /dev/null +++ b/examples/voronoi/log.6Dec23.voronoi.data.g++.4 @@ -0,0 +1,168 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Exercise different output data options + +variable len equal 4.0 +variable lenz equal 10.0 + +dimension 2 +units metal +boundary f f p + +lattice hex 1.0 origin 0.25 0.25 0.0 +Lattice spacing in x,y,z = 1 1.7320508 1 + +atom_style atomic + +region box block 0 ${len} 0 ${len} -0.5 0.5 +region box block 0 4 0 ${len} -0.5 0.5 +region box block 0 4 0 4 -0.5 0.5 +region atoms block 0 ${len} 0 ${len} 0.0 0.0 +region atoms block 0 4 0 ${len} 0.0 0.0 +region atoms block 0 4 0 4 0.0 0.0 +create_box 1 box +Created orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) + 2 by 2 by 1 MPI processor grid +create_atoms 1 region atoms +Created 32 atoms + using lattice units in orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) + create_atoms CPU = 0.000 seconds + +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 0.0 1.0 + +neighbor 1.0 nsq + +# +# TEST 1: +# + +# This compute voronoi generates all three +# types of quantity: per-atom, local, and global + +compute v1 all voronoi/atom neighbors yes edge_histo 6 + +# write voronoi per-atom quantities to a file + +dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] + +# writing voronoi local quantities to a file + +dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3] + +# sum up a voronoi per-atom quantity + +compute volvor all reduce sum c_v1[1] + +variable volsys equal lz*lx*ly +variable err equal c_volvor-v_volsys + +# output voronoi global quantities + +thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] +thermo 1 + +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 3.5 + ghost atom cutoff = 3.5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/nsq/newton + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 2.921 | 2.921 | 2.921 Mbytes + c_volvor v_volsys Volume v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] + 27.712813 27.712813 27.712813 3.907985e-14 0 186 12 36 0 +Loop time of 2.21425e-06 on 4 procs for 0 steps with 32 atoms + +45.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.214e-06 | | |100.00 + +Nlocal: 8 ave 8 max 8 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 24 ave 24 max 24 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 81.25 ave 84 max 77 min +Histogram: 1 0 0 0 1 0 0 0 0 2 + +Total # of neighbors = 325 +Ave neighs/atom = 10.15625 +Neighbor list builds = 0 +Dangerous builds = 0 + +uncompute v1 +uncompute volvor +undump dperatom +undump dlocal + +# +# TEST 2: +# + +# This compute voronoi generates peratom and local and global quantities + +compute v2 all voronoi/atom neighbors yes edge_histo 6 + +# write voronoi local quantities to a file + +dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3] + +# sum up a voronoi local quantity + +compute sumarea all reduce sum c_v2[3] inputs local + +# output voronoi global quantities + +thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] +thermo 1 + +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 2.921 | 2.921 | 2.921 Mbytes + c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] + 171.39013 0 186 12 36 0 +Loop time of 1.82375e-06 on 4 procs for 0 steps with 32 atoms + +82.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.824e-06 | | |100.00 + +Nlocal: 8 ave 8 max 8 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 24 ave 24 max 24 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 81.25 ave 84 max 77 min +Histogram: 1 0 0 0 1 0 0 0 0 2 + +Total # of neighbors = 325 +Ave neighs/atom = 10.15625 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/wall/in.wall.flow b/examples/wall/in.wall.flow new file mode 100644 index 0000000000..9dfe001a55 --- /dev/null +++ b/examples/wall/in.wall.flow @@ -0,0 +1,79 @@ +variable nrun equal 1000 +variable dump_count equal 10 + +variable nwall equal 4 +variable w1 equal 67 +variable w2 equal 71 +variable w3 equal 75 +variable w4 equal 79 + +variable x_cylinder equal 20 +variable y_cylinder equal 17 +variable r_cylinder equal 4 + +variable MASS equal 1 +variable TEMP equal 0.4 +variable VFLOW equal 0.5 + +units lj +atom_style atomic + +lattice fcc 0.3 +region sim_box block 0 84 0 34 0 10 + +boundary p p p + +create_box 2 sim_box +region reg_cylinder cylinder z ${x_cylinder} ${y_cylinder} ${r_cylinder} EDGE EDGE + +create_atoms 1 box + +## setup obstacle ## +group g_obst region reg_cylinder +group g_flow subtract all g_obst +set group g_obst type 2 + +mass 1 ${MASS} +mass 2 ${MASS} + +velocity g_flow create ${TEMP} 4928459 rot yes dist gaussian +velocity g_obst set 0.0 0.0 0.0 + +pair_style lj/cut 1.122462 +pair_coeff 1 1 1.0 1.0 +pair_coeff 1 2 1.0 1.0 +pair_coeff 2 2 1.0 1.0 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 g_flow nve +fix 2 g_flow wall/flow x ${VFLOW} ${TEMP} 123 ${nwall} ${w1} ${w2} ${w3} ${w4} + +variable dump_every equal ${nrun}/${dump_count} +variable thermo_every equal ${dump_every} +variable restart_every equal ${nrun}/10 + +##### uncomment for grid aggregation ##### +#variable gr_Nx equal 42 +#variable gr_Ny equal 17 +#variable gr_Nz equal 1 +#variable gr_Nevery equal ${dump_every} +#variable gr_Nrepeat equal 1 +#variable gr_Nfreq equal ${dump_every} +#fix 3 g_flow ave/grid ${gr_Nevery} ${gr_Nrepeat} ${gr_Nfreq} ${gr_Nx} ${gr_Ny} ${gr_Nz} vx vy vz density/mass norm all ave one +#compute ct_gridId g_flow property/grid ${gr_Nx} ${gr_Ny} ${gr_Nz} id +#dump dmp_grid g_flow grid ${dump_every} grid.lammpstrj c_ct_gridId:grid:data f_3:grid:data[*] +########################################## + +#dump dmp_coord all atom ${dump_every} dump.lammpstrj + +#compute ct_Temp g_flow temp/com +#thermo_style custom step temp epair emol etotal press c_ct_Temp + +#restart ${restart_every} flow.restart + +timestep 0.005 +thermo ${thermo_every} +run ${nrun} diff --git a/examples/wall/log.7Feb24.wall.flow.g++.1 b/examples/wall/log.7Feb24.wall.flow.g++.1 new file mode 100644 index 0000000000..75e8b66fe1 --- /dev/null +++ b/examples/wall/log.7Feb24.wall.flow.g++.1 @@ -0,0 +1,182 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-758-ge33590b2fc-modified) + using 1 OpenMP thread(s) per MPI task +variable nrun equal 1000 +variable dump_count equal 10 + +variable nwall equal 4 +variable w1 equal 67 +variable w2 equal 71 +variable w3 equal 75 +variable w4 equal 79 + +variable x_cylinder equal 20 +variable y_cylinder equal 17 +variable r_cylinder equal 4 + +variable MASS equal 1 +variable TEMP equal 0.4 +variable VFLOW equal 0.5 + +units lj +atom_style atomic + +lattice fcc 0.3 +Lattice spacing in x,y,z = 2.3712622 2.3712622 2.3712622 +region sim_box block 0 84 0 34 0 10 + +boundary p p p + +create_box 2 sim_box +Created orthogonal box = (0 0 0) to (199.18603 80.622915 23.712622) + 1 by 1 by 1 MPI processor grid +region reg_cylinder cylinder z ${x_cylinder} ${y_cylinder} ${r_cylinder} EDGE EDGE +region reg_cylinder cylinder z 20 ${y_cylinder} ${r_cylinder} EDGE EDGE +region reg_cylinder cylinder z 20 17 ${r_cylinder} EDGE EDGE +region reg_cylinder cylinder z 20 17 4 EDGE EDGE + +create_atoms 1 box +Created 114240 atoms + using lattice units in orthogonal box = (0 0 0) to (199.18603 80.622915 23.712622) + create_atoms CPU = 0.010 seconds + +## setup obstacle ## +group g_obst region reg_cylinder +1950 atoms in group g_obst +group g_flow subtract all g_obst +112290 atoms in group g_flow +set group g_obst type 2 +Setting atom values ... + 1950 settings made for type + +mass 1 ${MASS} +mass 1 1 +mass 2 ${MASS} +mass 2 1 + +velocity g_flow create ${TEMP} 4928459 rot yes dist gaussian +velocity g_flow create 0.4 4928459 rot yes dist gaussian +velocity g_obst set 0.0 0.0 0.0 + +pair_style lj/cut 1.122462 +pair_coeff 1 1 1.0 1.0 +pair_coeff 1 2 1.0 1.0 +pair_coeff 2 2 1.0 1.0 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 g_flow nve +fix 2 g_flow wall/flow x ${VFLOW} ${TEMP} 123 ${nwall} ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 ${TEMP} 123 ${nwall} ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 ${nwall} ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 71 ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 71 75 ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 71 75 79 + +variable dump_every equal ${nrun}/${dump_count} +variable dump_every equal 1000/${dump_count} +variable dump_every equal 1000/10 +variable thermo_every equal ${dump_every} +variable thermo_every equal 100 +variable restart_every equal ${nrun}/10 +variable restart_every equal 1000/10 + +##### uncomment for grid aggregation ##### +#variable gr_Nx equal 42 +#variable gr_Ny equal 17 +#variable gr_Nz equal 1 +#variable gr_Nevery equal ${dump_every} +#variable gr_Nrepeat equal 1 +#variable gr_Nfreq equal ${dump_every} +#fix 3 g_flow ave/grid ${gr_Nevery} ${gr_Nrepeat} ${gr_Nfreq} ${gr_Nx} ${gr_Ny} ${gr_Nz} vx vy vz density/mass norm all ave one +#compute ct_gridId g_flow property/grid ${gr_Nx} ${gr_Ny} ${gr_Nz} id +#dump dmp_grid g_flow grid ${dump_every} grid.lammpstrj c_ct_gridId:grid:data f_3:grid:data[*] +########################################## + +#dump dmp_coord all atom ${dump_every} dump.lammpstrj + +#compute ct_Temp g_flow temp/com +#thermo_style custom step temp epair emol etotal press c_ct_Temp + +#restart ${restart_every} flow.restart + +timestep 0.005 +thermo ${thermo_every} +thermo 100 +run ${nrun} +run 1000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix wall/flow command: doi:10.1177/10943420231213013 + +@Article{Pavlov-etal-IJHPCA-2024, + author = {Daniil Pavlov and Vladislav Galigerov and Daniil Kolotinskii and Vsevolod Nikolskiy and Vladimir Stegailov}, + title = {GPU-based molecular dynamics of fluid flows: Reaching for turbulence}, + journal = {The International Journal of High Performance Computing Applications}, + year = 2024, + volume = 38, + number = 1, + pages = 34-49 +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 20 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.422462 + ghost atom cutoff = 1.422462 + binsize = 0.711231, bins = 281 114 34 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 26.69 | 26.69 | 26.69 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.39317221 0 0 0.58975315 0.11795063 + 100 0.3671684 0.045118445 0 0.59586622 0.27378331 + 200 0.3732041 0.036897471 0 0.59669873 0.24917809 + 300 0.37432305 0.036501844 0 0.5979815 0.24715194 + 400 0.37603886 0.035350565 0 0.59940392 0.24480762 + 500 0.37617142 0.036949771 0 0.60120196 0.24862985 + 600 0.37751983 0.036484268 0 0.60275905 0.24784635 + 700 0.37787831 0.037327783 0 0.60414029 0.25060427 + 800 0.37959242 0.036206184 0 0.60558983 0.2476903 + 900 0.38019033 0.036874395 0 0.6071549 0.24984211 + 1000 0.38070666 0.037068948 0 0.60812395 0.25041936 +Loop time of 5.61598 on 1 procs for 1000 steps with 114240 atoms + +Performance: 76923.319 tau/day, 178.063 timesteps/s, 20.342 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.6351 | 2.6351 | 2.6351 | 0.0 | 46.92 +Neigh | 1.2994 | 1.2994 | 1.2994 | 0.0 | 23.14 +Comm | 0.26576 | 0.26576 | 0.26576 | 0.0 | 4.73 +Output | 0.0030531 | 0.0030531 | 0.0030531 | 0.0 | 0.05 +Modify | 1.3019 | 1.3019 | 1.3019 | 0.0 | 23.18 +Other | | 0.1107 | | | 1.97 + +Nlocal: 114240 ave 114240 max 114240 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 20119 ave 20119 max 20119 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 164018 ave 164018 max 164018 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 164018 +Ave neighs/atom = 1.4357318 +Neighbor list builds = 50 +Dangerous builds not checked +Total wall time: 0:00:05 diff --git a/examples/wall/log.7Feb24.wall.flow.g++.4 b/examples/wall/log.7Feb24.wall.flow.g++.4 new file mode 100644 index 0000000000..1efe7bb28e --- /dev/null +++ b/examples/wall/log.7Feb24.wall.flow.g++.4 @@ -0,0 +1,182 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-758-ge33590b2fc-modified) + using 1 OpenMP thread(s) per MPI task +variable nrun equal 1000 +variable dump_count equal 10 + +variable nwall equal 4 +variable w1 equal 67 +variable w2 equal 71 +variable w3 equal 75 +variable w4 equal 79 + +variable x_cylinder equal 20 +variable y_cylinder equal 17 +variable r_cylinder equal 4 + +variable MASS equal 1 +variable TEMP equal 0.4 +variable VFLOW equal 0.5 + +units lj +atom_style atomic + +lattice fcc 0.3 +Lattice spacing in x,y,z = 2.3712622 2.3712622 2.3712622 +region sim_box block 0 84 0 34 0 10 + +boundary p p p + +create_box 2 sim_box +Created orthogonal box = (0 0 0) to (199.18603 80.622915 23.712622) + 4 by 1 by 1 MPI processor grid +region reg_cylinder cylinder z ${x_cylinder} ${y_cylinder} ${r_cylinder} EDGE EDGE +region reg_cylinder cylinder z 20 ${y_cylinder} ${r_cylinder} EDGE EDGE +region reg_cylinder cylinder z 20 17 ${r_cylinder} EDGE EDGE +region reg_cylinder cylinder z 20 17 4 EDGE EDGE + +create_atoms 1 box +Created 114240 atoms + using lattice units in orthogonal box = (0 0 0) to (199.18603 80.622915 23.712622) + create_atoms CPU = 0.003 seconds + +## setup obstacle ## +group g_obst region reg_cylinder +1950 atoms in group g_obst +group g_flow subtract all g_obst +112290 atoms in group g_flow +set group g_obst type 2 +Setting atom values ... + 1950 settings made for type + +mass 1 ${MASS} +mass 1 1 +mass 2 ${MASS} +mass 2 1 + +velocity g_flow create ${TEMP} 4928459 rot yes dist gaussian +velocity g_flow create 0.4 4928459 rot yes dist gaussian +velocity g_obst set 0.0 0.0 0.0 + +pair_style lj/cut 1.122462 +pair_coeff 1 1 1.0 1.0 +pair_coeff 1 2 1.0 1.0 +pair_coeff 2 2 1.0 1.0 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 g_flow nve +fix 2 g_flow wall/flow x ${VFLOW} ${TEMP} 123 ${nwall} ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 ${TEMP} 123 ${nwall} ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 ${nwall} ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 71 ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 71 75 ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 71 75 79 + +variable dump_every equal ${nrun}/${dump_count} +variable dump_every equal 1000/${dump_count} +variable dump_every equal 1000/10 +variable thermo_every equal ${dump_every} +variable thermo_every equal 100 +variable restart_every equal ${nrun}/10 +variable restart_every equal 1000/10 + +##### uncomment for grid aggregation ##### +#variable gr_Nx equal 42 +#variable gr_Ny equal 17 +#variable gr_Nz equal 1 +#variable gr_Nevery equal ${dump_every} +#variable gr_Nrepeat equal 1 +#variable gr_Nfreq equal ${dump_every} +#fix 3 g_flow ave/grid ${gr_Nevery} ${gr_Nrepeat} ${gr_Nfreq} ${gr_Nx} ${gr_Ny} ${gr_Nz} vx vy vz density/mass norm all ave one +#compute ct_gridId g_flow property/grid ${gr_Nx} ${gr_Ny} ${gr_Nz} id +#dump dmp_grid g_flow grid ${dump_every} grid.lammpstrj c_ct_gridId:grid:data f_3:grid:data[*] +########################################## + +#dump dmp_coord all atom ${dump_every} dump.lammpstrj + +#compute ct_Temp g_flow temp/com +#thermo_style custom step temp epair emol etotal press c_ct_Temp + +#restart ${restart_every} flow.restart + +timestep 0.005 +thermo ${thermo_every} +thermo 100 +run ${nrun} +run 1000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix wall/flow command: doi:10.1177/10943420231213013 + +@Article{Pavlov-etal-IJHPCA-2024, + author = {Daniil Pavlov and Vladislav Galigerov and Daniil Kolotinskii and Vsevolod Nikolskiy and Vladimir Stegailov}, + title = {GPU-based molecular dynamics of fluid flows: Reaching for turbulence}, + journal = {The International Journal of High Performance Computing Applications}, + year = 2024, + volume = 38, + number = 1, + pages = 34-49 +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 20 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.422462 + ghost atom cutoff = 1.422462 + binsize = 0.711231, bins = 281 114 34 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 8.496 | 8.496 | 8.496 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.39317221 0 0 0.58975315 0.11795063 + 100 0.36726398 0.045386014 0 0.59627716 0.27402111 + 200 0.37384538 0.036574547 0 0.5973377 0.24836729 + 300 0.37487455 0.036519645 0 0.59882654 0.24691726 + 400 0.37591417 0.036405755 0 0.60027207 0.24700641 + 500 0.37654714 0.037008829 0 0.60182459 0.24883444 + 600 0.3778008 0.03663706 0 0.6033333 0.24874392 + 700 0.37851338 0.036714175 0 0.60447928 0.24881829 + 800 0.37984876 0.036237049 0 0.6060052 0.24843003 + 900 0.38022763 0.036847615 0 0.60718407 0.24987198 + 1000 0.38084717 0.037139994 0 0.60840575 0.25070072 +Loop time of 2.20347 on 4 procs for 1000 steps with 114240 atoms + +Performance: 196054.093 tau/day, 453.829 timesteps/s, 51.845 Matom-step/s +95.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.67927 | 0.70882 | 0.73473 | 2.4 | 32.17 +Neigh | 0.32928 | 0.34467 | 0.36084 | 2.0 | 15.64 +Comm | 0.3211 | 0.36609 | 0.40741 | 6.1 | 16.61 +Output | 0.0017748 | 0.0032465 | 0.0046508 | 2.1 | 0.15 +Modify | 0.71135 | 0.74424 | 0.76001 | 2.3 | 33.78 +Other | | 0.03641 | | | 1.65 + +Nlocal: 28560 ave 29169 max 27884 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 6452.25 ave 6546 max 6368 min +Histogram: 1 0 0 0 2 0 0 0 0 1 +Neighs: 40893 ave 42032 max 39445 min +Histogram: 1 0 0 0 1 0 0 1 0 1 + +Total # of neighbors = 163572 +Ave neighs/atom = 1.4318277 +Neighbor list builds = 50 +Dangerous builds not checked +Total wall time: 0:00:02 diff --git a/fortran/lammps.f90 b/fortran/lammps.f90 index d0133f075c..c297bad2ef 100644 --- a/fortran/lammps.f90 +++ b/fortran/lammps.f90 @@ -3687,7 +3687,7 @@ CONTAINS n = LEN_TRIM(f_string) ptr = lammps_malloc(n+1) - CALL C_F_POINTER(ptr, c_string, [1]) + CALL C_F_POINTER(ptr, c_string, [n+1]) DO i=1, n c_string(i) = f_string(i:i) END DO diff --git a/lib/gpu/lal_base_amoeba.h b/lib/gpu/lal_base_amoeba.h index f415b30334..7255b8770f 100644 --- a/lib/gpu/lal_base_amoeba.h +++ b/lib/gpu/lal_base_amoeba.h @@ -33,6 +33,7 @@ //#define ASYNC_DEVICE_COPY +#if 0 #if !defined(USE_OPENCL) && !defined(USE_HIP) // temporary workaround for int2 also defined in cufft #ifdef int2 @@ -40,6 +41,7 @@ #endif #include "cufft.h" #endif +#endif namespace LAMMPS_AL { @@ -313,10 +315,11 @@ class BaseAmoeba { virtual int fphi_mpole(); virtual int polar_real(const int eflag, const int vflag) = 0; - +#if 0 #if !defined(USE_OPENCL) && !defined(USE_HIP) cufftHandle plan; #endif +#endif bool fft_plan_created; }; diff --git a/lib/gpu/lal_sph_heatconduction.cu b/lib/gpu/lal_sph_heatconduction.cu index e2ba40db0c..8e4ec6ff19 100644 --- a/lib/gpu/lal_sph_heatconduction.cu +++ b/lib/gpu/lal_sph_heatconduction.cu @@ -29,23 +29,23 @@ _texture_2d( vel_tex,int4); #if (SHUFFLE_AVAIL == 0) -#define store_dE(dEacc, ii, inum, tid, t_per_atom, offset, dE) \ +#define store_dE(dEacc, ii, inum, tid, t_per_atom, offset, i, dE) \ if (t_per_atom>1) { \ simdsync(); \ simd_reduce_add1(t_per_atom, red_acc, offset, tid, dEacc); \ } \ if (offset==0 && ii1) { \ for (unsigned int s=t_per_atom/2; s>0; s>>=1) { \ dEacc += shfl_down(dEacc, s, t_per_atom); \ } \ } \ if (offset==0 && ii1) { \ - simdsync(); \ - simd_reduce_add2(t_per_atom, red_acc, offset, tid, \ - drhoEacc.x, drhoEacc.y); \ - } \ - if (offset==0 && ii1) { \ + simdsync(); \ + simd_reduce_add2(t_per_atom, red_acc, offset, tid, \ + drhoEacc.x, drhoEacc.y); \ + } \ + if (offset==0 && ii1) { \ for (unsigned int s=t_per_atom/2; s>0; s>>=1) { \ drhoEacc.x += shfl_down(drhoEacc.x, s, t_per_atom); \ @@ -47,7 +48,8 @@ _texture_2d( vel_tex,int4); } \ } \ if (offset==0 && ii1) { \ - simdsync(); \ - simd_reduce_add2(t_per_atom, red_acc, offset, tid, \ - drhoEacc.x, drhoEacc.y); \ - } \ - if (offset==0 && ii1) { \ + simdsync(); \ + simd_reduce_add2(t_per_atom, red_acc, offset, tid, \ + drhoEacc.x, drhoEacc.y); \ + } \ + if (offset==0 && ii1) { \ for (unsigned int s=t_per_atom/2; s>0; s>>=1) { \ drhoEacc.x += shfl_down(drhoEacc.x, s, t_per_atom); \ @@ -47,7 +48,8 @@ _texture_2d( vel_tex,int4); } \ } \ if (offset==0 && ii= 5.7) and RDC [\#6857](https://github.com/kokkos/kokkos/pull/6857) + * Use rocthrust for sorting, when available [\#6793](https://github.com/kokkos/kokkos/pull/6793) + +#### SYCL: +* We only support OneAPI SYCL implementation: add check during initialization + * Error out on initialization if the backend is different from `ext_oneapi_*` [\#6784](https://github.com/kokkos/kokkos/pull/6784) + * Filter GPU devices for `ext_onapi_*` GPU devices [\#6758](https://github.com/kokkos/kokkos/pull/6784) +* Performance Improvements + * Avoid unnecessary zero-memset of the scratch flags in SYCL [\#6739](https://github.com/kokkos/kokkos/pull/6739) + * Use host-pinned memory to copy reduction/scan result [\#6500](https://github.com/kokkos/kokkos/pull/6500) +* Address deprecations after oneAPI 2023.2.0 [\#6577](https://github.com/kokkos/kokkos/pull/6739) +* Make sure to call find_dependency for oneDPL if necessary [\#6870](https://github.com/kokkos/kokkos/pull/6870) + +#### OpenMPTarget: +* Use LLVM extensions for dynamic shared memory [\#6380](https://github.com/kokkos/kokkos/pull/6380) +* Guard scratch memory usage in ParallelReduce [\#6585 ](https://github.com/kokkos/kokkos/pull/6585) +* Update linker flags for Intel GPUs update [\#6735](https://github.com/kokkos/kokkos/pull/6735) +* Improve handling of printf on Intel GPUs [\#6652](https://github.com/kokkos/kokkos/pull/6652) + +#### OpenACC: +* Add atomics support [\#6446](https://github.com/kokkos/kokkos/pull/6446) +* Make the OpenACC backend asynchronous [\#6772](https://github.com/kokkos/kokkos/pull/6772) + +#### Threads: +* Add missing broadcast to TeamThreadRange parallel_scan [\#6601](https://github.com/kokkos/kokkos/pull/6446) + +#### OpenMP: +* Improve performance of view initializations and filling with zeros [\#6573](https://github.com/kokkos/kokkos/pull/6573) + +### General Enhancements + +* Improve performance of random number generation when using a normal distribution on GPUs [\#6556](https://github.com/kokkos/kokkos/pull/6556) +* Allocate temporary view with the user-provided execution space instance and do not initialize in `unique` algorithm [\#6598](https://github.com/kokkos/kokkos/pull/6598) +* Add deduction guide for `Kokkos::Array` [\#6373](https://github.com/kokkos/kokkos/pull/6373) +* Provide new public headers `` and `` [\#6687](https://github.com/kokkos/kokkos/pull/6687) +* Fix/improvement to `remove_if` parallel algorithm: use the provided execution space instance for temporary allocations and drop unnecessaryinitialization + avoid evaluating twice the predicate during final pass [\#6747](https://github.com/kokkos/kokkos/pull/6747) +* Add runtime function to query the number of devices and make device ID consistent with `KOKKOS_VISIBLE_DEVICES` [\#6713](https://github.com/kokkos/kokkos/pull/6713) +* simd: support `vector_aligned_tag` [\#6243](https://github.com/kokkos/kokkos/pull/6243) +* Avoid unnecessary allocation when default constructing Bitset [\#6524](https://github.com/kokkos/kokkos/pull/6524) +* Fix constness for views in std algorithms [\#6813](https://github.com/kokkos/kokkos/pull/6813) +* Improve error message on unsafe implicit conversion in MDRangePolicy [\#6855](https://github.com/kokkos/kokkos/pull/6855) +* CTAD (deduction guides) for RangePolicy [\#6850](https://github.com/kokkos/kokkos/pull/6850) +* CTAD (deduction guides) for MDRangePolicy [\#5516](https://github.com/kokkos/kokkos/pull/5516) + +### Build System Changes +* Require `Kokkos_ENABLE_ATOMICS_BYPASS` option to bypass atomic operation for Serial backend only builds [\#6692](https://github.com/kokkos/kokkos/pull/6692) +* Add support for RISCV and the Milk-V's Pioneer [\#6773](https://github.com/kokkos/kokkos/pull/6773) +* Add C++26 standard to CMake setup [\#6733](https://github.com/kokkos/kokkos/pull/6733) +* Fix Makefile when using gnu_generate_makefile.sh and make >= 4.3 [\#6606](https://github.com/kokkos/kokkos/pull/6606) +* Cuda: Fix configuring with CMake >= 3.28.4 - temporary fallback to internal CudaToolkit.cmake [\#6898](https://github.com/kokkos/kokkos/pull/6898) + +### Incompatibilities (i.e. breaking changes) +* Remove all `DEPRECATED_CODE_3` option and all code that was guarded by it [\#6523](https://github.com/kokkos/kokkos/pull/6523) +* Drop guards to accommodate external code defining `KOKKOS_ASSERT` [\#6665](https://github.com/kokkos/kokkos/pull/6665) +* `Profiling::ProfilingSection(std::string)` constructor marked explicit and nodiscard [\#6690](https://github.com/kokkos/kokkos/pull/6690) +* Add bound check preconditions for `RangePolicy` and `MDRangePolicy` [\#6617](https://github.com/kokkos/kokkos/pull/6617) [\#6726](https://github.com/kokkos/kokkos/pull/6726) +* Add checks for unsafe implicit conversions in RangePolicy [\#6754](https://github.com/kokkos/kokkos/pull/6754) +* Remove Kokkos::[b]half_t volatile overloads [\#6579](https://github.com/kokkos/kokkos/pull/6579) +* Remove KOKKOS_IMPL_DO_NOT_USE_PRINTF [\#6593](https://github.com/kokkos/kokkos/pull/6593) +* Check matching static extents in View constructor [\#5190 ](https://github.com/kokkos/kokkos/pull/5190) +* Tools(profiling): fix typo Kokkos_Tools_Optim[i]zationGoal [\#6642](https://github.com/kokkos/kokkos/pull/6642) +* Remove variadic range policy constructor (disallow passing multiple trailing chunk size arguments) [\#6845](https://github.com/kokkos/kokkos/pull/6845) +* Improve message on view out of bounds access and always abort [\#6861](https://github.com/kokkos/kokkos/pull/6861) +* Drop `KOKKOS_ENABLE_INTEL_MM_ALLOC` macro [\#6797](https://github.com/kokkos/kokkos/pull/6797) +* Remove `Kokkos::Experimental::LogicalMemorySpace` (without going through deprecation) [\#6557](https://github.com/kokkos/kokkos/pull/6557) +* Remove `Experimental::HBWSpace` and support for linking against memkind [\#6791](https://github.com/kokkos/kokkos/pull/6791) +* Drop librt TPL and associated `KOKKOS_ENABLE_LIBRT` macro [\#6798](https://github.com/kokkos/kokkos/pull/6798) +* Drop support for old CPU architectures (`ARCH_BGQ`, `ARCH_POWER7`, `ARCH_WSM` and associated `ARCH_SSE4` macro) [\#6806](https://github.com/kokkos/kokkos/pull/6806) +* Drop support for deprecated command-line arguments and environment variables [\#6744](https://github.com/kokkos/kokkos/pull/6744) + +### Deprecations +* Provide kokkos_swap as part of Core and deprecate Experimental::swap in Algorithms [\#6697](https://github.com/kokkos/kokkos/pull/6697) +* Deprecate {Cuda,HIP}::detect_device_count() and Cuda::[detect_]device_arch() [\#6710](https://github.com/kokkos/kokkos/pull/6710) +* Deprecate `ExecutionSpace::in_parallel()` [\#6582](https://github.com/kokkos/kokkos/pull/6582) + +### Bug Fixes +* Fix team-level MDRange reductions: [\#6511](https://github.com/kokkos/kokkos/pull/6511) +* Fix CUDA and SYCL small value type (16-bit) team reductions [\#5334](https://github.com/kokkos/kokkos/pull/5334) +* Enable `{transform_}exclusive_scan` in place [\#6667](https://github.com/kokkos/kokkos/pull/6667) +* `fill_random` overload that do not take an execution space instance argument should fence [\#6658](https://github.com/kokkos/kokkos/pull/6658) +* HIP,Cuda,OpenMPTarget: Fixup use provided execution space when copying host inaccessible reduction result [\#6777](https://github.com/kokkos/kokkos/pull/6777) +* Fix typo in `cuda_func_set_attribute[s]_wrapper` preventing proper setting of desired occupancy [\#6786](https://github.com/kokkos/kokkos/pull/6786) +* Avoid undefined behavior due to conversion between signed and unsigned integers in shift_{right, left}_team_impl [\#6821](https://github.com/kokkos/kokkos/pull/6821) +* Fix a bug in Makefile.kokkos when using AMD GPU architectures as `AMD_GFXYYY` [\#6892](https://github.com/kokkos/kokkos/pull/6892) + +## [4.2.01](https://github.com/kokkos/kokkos/tree/4.2.01) (2023-12-07) +[Full Changelog](https://github.com/kokkos/kokkos/compare/4.2.00...4.2.01) + +### Backend and Architecture Enhancements: + +#### CUDA: +- Add warp sync for `parallel_reduce` to avoid race condition [\#6630](https://github.com/kokkos/kokkos/pull/6630), [\#6746](https://github.com/kokkos/kokkos/pull/6746) + +#### HIP: +- Fix Graph "multiple definition of" linking error (missing `inline` specifier) [\#6624](https://github.com/kokkos/kokkos/pull/6624) +- Add support for gfx940 (AMD Instinct MI300 GPU) [\#6671](https://github.com/kokkos/kokkos/pull/6671) + +### Build System +- CMake: Don't let Kokkos set `CMAKE_CXX_FLAGS` for Trilinos builds [\#6742](https://github.com/kokkos/kokkos/pull/6742) + +### Bug Fixes +- Remove deprecation warning for `AllocationMechanism` for GCC <11.0 [\#6653](https://github.com/kokkos/kokkos/pull/6653) +- Fix bug early tools finalize with non-default host execution instances [\#6635](https://github.com/kokkos/kokkos/pull/6635) +- Fix various issues for MSVC CUDA builds [\#6659](https://github.com/kokkos/kokkos/pull/6659) +- Fix "extra `;`" warning with `-pedantic` flag in `` [\#6510](https://github.com/kokkos/kokkos/pull/6510) + ## [4.2.00](https://github.com/kokkos/kokkos/tree/4.2.00) (2023-11-06) [Full Changelog](https://github.com/kokkos/kokkos/compare/4.1.00...4.2.00) @@ -43,7 +164,7 @@ #### SYCL: - Enforce external `sycl::queues` to be in-order [\#6246](https://github.com/kokkos/kokkos/pull/6246) -- Improve reduction performance: [\#6272](https://github.com/kokkos/kokkos/pull/6272) [\#6271](https://github.com/kokkos/kokkos/pull/6271) [\#6270](https://github.com/kokkos/kokkos/pull/6270) [\#6264](https://github.com/kokkos/kokkos/pull/6264) +- Improve reduction performance: [\#6272](https://github.com/kokkos/kokkos/pull/6272) [\#6271](https://github.com/kokkos/kokkos/pull/6271) [\#6270](https://github.com/kokkos/kokkos/pull/6270) [\#6264](https://github.com/kokkos/kokkos/pull/6264) - Allow using the SYCL execution space on AMD GPUs [\#6321](https://github.com/kokkos/kokkos/pull/6321) - Allow sorting via native oneDPL to support Views with stride=1 [\#6322](https://github.com/kokkos/kokkos/pull/6322) - Make in-order queues the default via macro [\#6189](https://github.com/kokkos/kokkos/pull/6189) @@ -64,7 +185,7 @@ - Add converting assignment to `DualView`: [\#6474](https://github.com/kokkos/kokkos/pull/6474) -### Build System Changes +### Build System Changes - Export `Kokkos_CXX_COMPILER_VERSION` [\#6282](https://github.com/kokkos/kokkos/pull/6282) - Disable default oneDPL support in Trilinos [\#6342](https://github.com/kokkos/kokkos/pull/6342) @@ -978,95 +1099,95 @@ - Major update for OpenMPTarget: many capabilities now work. For details contact us. - Added DPC++/SYCL backend: primary capabilites are working. - Added Kokkos Graph API analogous to CUDA Graphs. -- Added parallel_scan support with TeamThreadRange [\#3536](https://github.com/kokkos/kokkos/pull/#3536) -- Added Logical Memory Spaces [\#3546](https://github.com/kokkos/kokkos/pull/#3546) -- Added initial half precision support [\#3439](https://github.com/kokkos/kokkos/pull/#3439) -- Experimental feature: control cuda occupancy [\#3379](https://github.com/kokkos/kokkos/pull/#3379) +- Added parallel_scan support with TeamThreadRange [\#3536](https://github.com/kokkos/kokkos/pull/3536) +- Added Logical Memory Spaces [\#3546](https://github.com/kokkos/kokkos/pull/3546) +- Added initial half precision support [\#3439](https://github.com/kokkos/kokkos/pull/3439) +- Experimental feature: control cuda occupancy [\#3379](https://github.com/kokkos/kokkos/pull/3379) **Implemented enhancements Backends and Archs:** -- Add a64fx and fujitsu Compiler support [\#3614](https://github.com/kokkos/kokkos/pull/#3614) -- Adding support for AMD gfx908 archictecture [\#3375](https://github.com/kokkos/kokkos/pull/#3375) -- SYCL parallel\_for MDRangePolicy [\#3583](https://github.com/kokkos/kokkos/pull/#3583) -- SYCL add parallel\_scan [\#3577](https://github.com/kokkos/kokkos/pull/#3577) -- SYCL custom reductions [\#3544](https://github.com/kokkos/kokkos/pull/#3544) -- SYCL Enable container unit tests [\#3550](https://github.com/kokkos/kokkos/pull/#3550) -- SYCL feature level 5 [\#3480](https://github.com/kokkos/kokkos/pull/#3480) -- SYCL Feature level 4 (parallel\_for) [\#3474](https://github.com/kokkos/kokkos/pull/#3474) -- SYCL feature level 3 [\#3451](https://github.com/kokkos/kokkos/pull/#3451) -- SYCL feature level 2 [\#3447](https://github.com/kokkos/kokkos/pull/#3447) -- OpenMPTarget: Hierarchial reduction for + operator on scalars [\#3504](https://github.com/kokkos/kokkos/pull/#3504) -- OpenMPTarget hierarchical [\#3411](https://github.com/kokkos/kokkos/pull/#3411) -- HIP Add Impl::atomic\_[store,load] [\#3440](https://github.com/kokkos/kokkos/pull/#3440) -- HIP enable global lock arrays [\#3418](https://github.com/kokkos/kokkos/pull/#3418) -- HIP Implement multiple occupancy paths for various HIP kernel launchers [\#3366](https://github.com/kokkos/kokkos/pull/#3366) +- Add a64fx and fujitsu Compiler support [\#3614](https://github.com/kokkos/kokkos/pull/3614) +- Adding support for AMD gfx908 archictecture [\#3375](https://github.com/kokkos/kokkos/pull/3375) +- SYCL parallel\_for MDRangePolicy [\#3583](https://github.com/kokkos/kokkos/pull/3583) +- SYCL add parallel\_scan [\#3577](https://github.com/kokkos/kokkos/pull/3577) +- SYCL custom reductions [\#3544](https://github.com/kokkos/kokkos/pull/3544) +- SYCL Enable container unit tests [\#3550](https://github.com/kokkos/kokkos/pull/3550) +- SYCL feature level 5 [\#3480](https://github.com/kokkos/kokkos/pull/3480) +- SYCL Feature level 4 (parallel\_for) [\#3474](https://github.com/kokkos/kokkos/pull/3474) +- SYCL feature level 3 [\#3451](https://github.com/kokkos/kokkos/pull/3451) +- SYCL feature level 2 [\#3447](https://github.com/kokkos/kokkos/pull/3447) +- OpenMPTarget: Hierarchial reduction for + operator on scalars [\#3504](https://github.com/kokkos/kokkos/pull/3504) +- OpenMPTarget hierarchical [\#3411](https://github.com/kokkos/kokkos/pull/3411) +- HIP Add Impl::atomic\_[store,load] [\#3440](https://github.com/kokkos/kokkos/pull/3440) +- HIP enable global lock arrays [\#3418](https://github.com/kokkos/kokkos/pull/3418) +- HIP Implement multiple occupancy paths for various HIP kernel launchers [\#3366](https://github.com/kokkos/kokkos/pull/3366) **Implemented enhancements Policies:** -- MDRangePolicy: Let it be semiregular [\#3494](https://github.com/kokkos/kokkos/pull/#3494) -- MDRangePolicy: Check narrowing conversion in construction [\#3527](https://github.com/kokkos/kokkos/pull/#3527) -- MDRangePolicy: CombinedReducers support [\#3395](https://github.com/kokkos/kokkos/pull/#3395) -- Kokkos Graph: Interface and Default Implementation [\#3362](https://github.com/kokkos/kokkos/pull/#3362) -- Kokkos Graph: add Cuda Graph implementation [\#3369](https://github.com/kokkos/kokkos/pull/#3369) -- TeamPolicy: implemented autotuning of team sizes and vector lengths [\#3206](https://github.com/kokkos/kokkos/pull/#3206) -- RangePolicy: Initialize all data members in default constructor [\#3509](https://github.com/kokkos/kokkos/pull/#3509) +- MDRangePolicy: Let it be semiregular [\#3494](https://github.com/kokkos/kokkos/pull/3494) +- MDRangePolicy: Check narrowing conversion in construction [\#3527](https://github.com/kokkos/kokkos/pull/3527) +- MDRangePolicy: CombinedReducers support [\#3395](https://github.com/kokkos/kokkos/pull/3395) +- Kokkos Graph: Interface and Default Implementation [\#3362](https://github.com/kokkos/kokkos/pull/3362) +- Kokkos Graph: add Cuda Graph implementation [\#3369](https://github.com/kokkos/kokkos/pull/3369) +- TeamPolicy: implemented autotuning of team sizes and vector lengths [\#3206](https://github.com/kokkos/kokkos/pull/3206) +- RangePolicy: Initialize all data members in default constructor [\#3509](https://github.com/kokkos/kokkos/pull/3509) **Implemented enhancements BuildSystem:** -- Auto-generate core test files for all backends [\#3488](https://github.com/kokkos/kokkos/pull/#3488) -- Avoid rewriting test files when calling cmake [\#3548](https://github.com/kokkos/kokkos/pull/#3548) -- RULE\_LAUNCH\_COMPILE and RULE\_LAUNCH\_LINK system for nvcc\_wrapper [\#3136](https://github.com/kokkos/kokkos/pull/#3136) -- Adding -include as a known argument to nvcc\_wrapper [\#3434](https://github.com/kokkos/kokkos/pull/#3434) -- Install hpcbind script [\#3402](https://github.com/kokkos/kokkos/pull/#3402) -- cmake/kokkos\_tribits.cmake: add parsing for args [\#3457](https://github.com/kokkos/kokkos/pull/#3457) +- Auto-generate core test files for all backends [\#3488](https://github.com/kokkos/kokkos/pull/3488) +- Avoid rewriting test files when calling cmake [\#3548](https://github.com/kokkos/kokkos/pull/3548) +- RULE\_LAUNCH\_COMPILE and RULE\_LAUNCH\_LINK system for nvcc\_wrapper [\#3136](https://github.com/kokkos/kokkos/pull/3136) +- Adding -include as a known argument to nvcc\_wrapper [\#3434](https://github.com/kokkos/kokkos/pull/3434) +- Install hpcbind script [\#3402](https://github.com/kokkos/kokkos/pull/3402) +- cmake/kokkos\_tribits.cmake: add parsing for args [\#3457](https://github.com/kokkos/kokkos/pull/3457) **Implemented enhancements Tools:** -- Changed namespacing of Kokkos::Tools::Impl::Impl::tune\_policy [\#3455](https://github.com/kokkos/kokkos/pull/#3455) -- Delegate to an impl allocate/deallocate method to allow specifying a SpaceHandle for MemorySpaces [\#3530](https://github.com/kokkos/kokkos/pull/#3530) -- Use the Kokkos Profiling interface rather than the Impl interface [\#3518](https://github.com/kokkos/kokkos/pull/#3518) -- Runtime option for tuning [\#3459](https://github.com/kokkos/kokkos/pull/#3459) -- Dual View Tool Events [\#3326](https://github.com/kokkos/kokkos/pull/#3326) +- Changed namespacing of Kokkos::Tools::Impl::Impl::tune\_policy [\#3455](https://github.com/kokkos/kokkos/pull/3455) +- Delegate to an impl allocate/deallocate method to allow specifying a SpaceHandle for MemorySpaces [\#3530](https://github.com/kokkos/kokkos/pull/3530) +- Use the Kokkos Profiling interface rather than the Impl interface [\#3518](https://github.com/kokkos/kokkos/pull/3518) +- Runtime option for tuning [\#3459](https://github.com/kokkos/kokkos/pull/3459) +- Dual View Tool Events [\#3326](https://github.com/kokkos/kokkos/pull/3326) **Implemented enhancements Other:** -- Abort on errors instead of just printing [\#3528](https://github.com/kokkos/kokkos/pull/#3528) -- Enable C++14 macros unconditionally [\#3449](https://github.com/kokkos/kokkos/pull/#3449) -- Make ViewMapping trivially copyable [\#3436](https://github.com/kokkos/kokkos/pull/#3436) -- Rename struct ViewMapping to class [\#3435](https://github.com/kokkos/kokkos/pull/#3435) -- Replace enums in Kokkos\_ViewMapping.hpp (removes -Wextra) [\#3422](https://github.com/kokkos/kokkos/pull/#3422) -- Use bool for enums representing bools [\#3416](https://github.com/kokkos/kokkos/pull/#3416) -- Fence active instead of default execution space instances [\#3388](https://github.com/kokkos/kokkos/pull/#3388) -- Refactor parallel\_reduce fence usage [\#3359](https://github.com/kokkos/kokkos/pull/#3359) -- Moved Space EBO helpers to Kokkos\_EBO [\#3357](https://github.com/kokkos/kokkos/pull/#3357) -- Add remove\_cvref type trait [\#3340](https://github.com/kokkos/kokkos/pull/#3340) -- Adding identity type traits and update definition of identity\_t alias [\#3339](https://github.com/kokkos/kokkos/pull/#3339) -- Add is\_specialization\_of type trait [\#3338](https://github.com/kokkos/kokkos/pull/#3338) -- Make ScratchMemorySpace semi-regular [\#3309](https://github.com/kokkos/kokkos/pull/#3309) -- Optimize min/max atomics with early exit on no-op case [\#3265](https://github.com/kokkos/kokkos/pull/#3265) -- Refactor Backend Development [\#2941](https://github.com/kokkos/kokkos/pull/#2941) +- Abort on errors instead of just printing [\#3528](https://github.com/kokkos/kokkos/pull/3528) +- Enable C++14 macros unconditionally [\#3449](https://github.com/kokkos/kokkos/pull/3449) +- Make ViewMapping trivially copyable [\#3436](https://github.com/kokkos/kokkos/pull/3436) +- Rename struct ViewMapping to class [\#3435](https://github.com/kokkos/kokkos/pull/3435) +- Replace enums in Kokkos\_ViewMapping.hpp (removes -Wextra) [\#3422](https://github.com/kokkos/kokkos/pull/3422) +- Use bool for enums representing bools [\#3416](https://github.com/kokkos/kokkos/pull/3416) +- Fence active instead of default execution space instances [\#3388](https://github.com/kokkos/kokkos/pull/3388) +- Refactor parallel\_reduce fence usage [\#3359](https://github.com/kokkos/kokkos/pull/3359) +- Moved Space EBO helpers to Kokkos\_EBO [\#3357](https://github.com/kokkos/kokkos/pull/3357) +- Add remove\_cvref type trait [\#3340](https://github.com/kokkos/kokkos/pull/3340) +- Adding identity type traits and update definition of identity\_t alias [\#3339](https://github.com/kokkos/kokkos/pull/3339) +- Add is\_specialization\_of type trait [\#3338](https://github.com/kokkos/kokkos/pull/3338) +- Make ScratchMemorySpace semi-regular [\#3309](https://github.com/kokkos/kokkos/pull/3309) +- Optimize min/max atomics with early exit on no-op case [\#3265](https://github.com/kokkos/kokkos/pull/3265) +- Refactor Backend Development [\#2941](https://github.com/kokkos/kokkos/pull/2941) **Fixed bugs:** -- Fixup MDRangePolicy construction from Kokkos arrays [\#3591](https://github.com/kokkos/kokkos/pull/#3591) -- Add atomic functions for unsigned long long using gcc built-in [\#3588](https://github.com/kokkos/kokkos/pull/#3588) -- Fixup silent pointless comparison with zero in checked\_narrow\_cast (compiler workaround) [\#3566](https://github.com/kokkos/kokkos/pull/#3566) -- Fixes for ROCm 3.9 [\#3565](https://github.com/kokkos/kokkos/pull/#3565) -- Fix windows build issues which crept in for the CUDA build [\#3532](https://github.com/kokkos/kokkos/pull/#3532) -- HIP Fix atomics of large data types and clean up lock arrays [\#3529](https://github.com/kokkos/kokkos/pull/#3529) -- Pthreads fix exception resulting from 0 grain size [\#3510](https://github.com/kokkos/kokkos/pull/#3510) -- Fixup do not require atomic operation to be default constructible [\#3503](https://github.com/kokkos/kokkos/pull/#3503) -- Fix race condition in HIP backend [\#3467](https://github.com/kokkos/kokkos/pull/#3467) -- Replace KOKKOS\_DEBUG with KOKKOS\_ENABLE\_DEBUG [\#3458](https://github.com/kokkos/kokkos/pull/#3458) -- Fix multi-stream team scratch space definition for HIP [\#3398](https://github.com/kokkos/kokkos/pull/#3398) -- HIP fix template deduction [\#3393](https://github.com/kokkos/kokkos/pull/#3393) -- Fix compiling with HIP and C++17 [\#3390](https://github.com/kokkos/kokkos/pull/#3390) -- Fix sigFPE in HIP blocksize deduction [\#3378](https://github.com/kokkos/kokkos/pull/#3378) -- Type alias change: replace CS with CTS to avoid conflicts with NVSHMEM [\#3348](https://github.com/kokkos/kokkos/pull/#3348) -- Clang compilation of CUDA backend on Windows [\#3345](https://github.com/kokkos/kokkos/pull/#3345) -- Fix HBW support [\#3343](https://github.com/kokkos/kokkos/pull/#3343) -- Added missing fences to unique token [\#3260](https://github.com/kokkos/kokkos/pull/#3260) +- Fixup MDRangePolicy construction from Kokkos arrays [\#3591](https://github.com/kokkos/kokkos/pull/3591) +- Add atomic functions for unsigned long long using gcc built-in [\#3588](https://github.com/kokkos/kokkos/pull/3588) +- Fixup silent pointless comparison with zero in checked\_narrow\_cast (compiler workaround) [\#3566](https://github.com/kokkos/kokkos/pull/3566) +- Fixes for ROCm 3.9 [\#3565](https://github.com/kokkos/kokkos/pull/3565) +- Fix windows build issues which crept in for the CUDA build [\#3532](https://github.com/kokkos/kokkos/pull/3532) +- HIP Fix atomics of large data types and clean up lock arrays [\#3529](https://github.com/kokkos/kokkos/pull/3529) +- Pthreads fix exception resulting from 0 grain size [\#3510](https://github.com/kokkos/kokkos/pull/3510) +- Fixup do not require atomic operation to be default constructible [\#3503](https://github.com/kokkos/kokkos/pull/3503) +- Fix race condition in HIP backend [\#3467](https://github.com/kokkos/kokkos/pull/3467) +- Replace KOKKOS\_DEBUG with KOKKOS\_ENABLE\_DEBUG [\#3458](https://github.com/kokkos/kokkos/pull/3458) +- Fix multi-stream team scratch space definition for HIP [\#3398](https://github.com/kokkos/kokkos/pull/3398) +- HIP fix template deduction [\#3393](https://github.com/kokkos/kokkos/pull/3393) +- Fix compiling with HIP and C++17 [\#3390](https://github.com/kokkos/kokkos/pull/3390) +- Fix sigFPE in HIP blocksize deduction [\#3378](https://github.com/kokkos/kokkos/pull/3378) +- Type alias change: replace CS with CTS to avoid conflicts with NVSHMEM [\#3348](https://github.com/kokkos/kokkos/pull/3348) +- Clang compilation of CUDA backend on Windows [\#3345](https://github.com/kokkos/kokkos/pull/3345) +- Fix HBW support [\#3343](https://github.com/kokkos/kokkos/pull/3343) +- Added missing fences to unique token [\#3260](https://github.com/kokkos/kokkos/pull/3260) **Incompatibilities:** -- Remove unused utilities (forward, move, and expand\_variadic) from Kokkos::Impl [\#3535](https://github.com/kokkos/kokkos/pull/#3535) -- Remove unused traits [\#3534](https://github.com/kokkos/kokkos/pull/#3534) -- HIP: Remove old HCC code [\#3301](https://github.com/kokkos/kokkos/pull/#3301) -- Prepare for deprecation of ViewAllocateWithoutInitializing [\#3264](https://github.com/kokkos/kokkos/pull/#3264) -- Remove ROCm backend [\#3148](https://github.com/kokkos/kokkos/pull/#3148) +- Remove unused utilities (forward, move, and expand\_variadic) from Kokkos::Impl [\#3535](https://github.com/kokkos/kokkos/pull/3535) +- Remove unused traits [\#3534](https://github.com/kokkos/kokkos/pull/3534) +- HIP: Remove old HCC code [\#3301](https://github.com/kokkos/kokkos/pull/3301) +- Prepare for deprecation of ViewAllocateWithoutInitializing [\#3264](https://github.com/kokkos/kokkos/pull/3264) +- Remove ROCm backend [\#3148](https://github.com/kokkos/kokkos/pull/3148) ## [3.2.01](https://github.com/kokkos/kokkos/tree/3.2.01) (2020-11-17) [Full Changelog](https://github.com/kokkos/kokkos/compare/3.2.00...3.2.01) diff --git a/lib/kokkos/CMakeLists.txt b/lib/kokkos/CMakeLists.txt index f6bd81058e..93a796f200 100644 --- a/lib/kokkos/CMakeLists.txt +++ b/lib/kokkos/CMakeLists.txt @@ -150,7 +150,7 @@ ENDIF() set(Kokkos_VERSION_MAJOR 4) -set(Kokkos_VERSION_MINOR 2) +set(Kokkos_VERSION_MINOR 3) set(Kokkos_VERSION_PATCH 0) set(Kokkos_VERSION "${Kokkos_VERSION_MAJOR}.${Kokkos_VERSION_MINOR}.${Kokkos_VERSION_PATCH}") message(STATUS "Kokkos version: ${Kokkos_VERSION}") @@ -252,7 +252,6 @@ ENDIF() # subpackages ## This restores the old behavior of ProjectCompilerPostConfig.cmake -# It sets the CMAKE_CXX_FLAGS globally to those used by Kokkos # We must do this before KOKKOS_PACKAGE_DECL IF (KOKKOS_HAS_TRILINOS) # Overwrite the old flags at the top-level @@ -280,21 +279,13 @@ IF (KOKKOS_HAS_TRILINOS) SET(KOKKOSCORE_XCOMPILER_OPTIONS "${KOKKOSCORE_XCOMPILER_OPTIONS} -Xcompiler ${XCOMP_FLAG}") LIST(APPEND KOKKOS_ALL_COMPILE_OPTIONS -Xcompiler ${XCOMP_FLAG}) ENDFOREACH() - SET(KOKKOSCORE_CXX_FLAGS "${KOKKOSCORE_COMPILE_OPTIONS} ${KOKKOSCORE_XCOMPILER_OPTIONS}") IF (KOKKOS_ENABLE_CUDA) STRING(REPLACE ";" " " KOKKOSCORE_CUDA_OPTIONS "${KOKKOS_CUDA_OPTIONS}") FOREACH(CUDAFE_FLAG ${KOKKOS_CUDAFE_OPTIONS}) SET(KOKKOSCORE_CUDAFE_OPTIONS "${KOKKOSCORE_CUDAFE_OPTIONS} -Xcudafe ${CUDAFE_FLAG}") LIST(APPEND KOKKOS_ALL_COMPILE_OPTIONS -Xcudafe ${CUDAFE_FLAG}) ENDFOREACH() - SET(KOKKOSCORE_CXX_FLAGS "${KOKKOSCORE_CXX_FLAGS} ${KOKKOSCORE_CUDA_OPTIONS} ${KOKKOSCORE_CUDAFE_OPTIONS}") ENDIF() - # Both parent scope and this package - # In ProjectCompilerPostConfig.cmake, we capture the "global" flags Trilinos wants in - # TRILINOS_TOPLEVEL_CXX_FLAGS - SET(CMAKE_CXX_FLAGS "${TRILINOS_TOPLEVEL_CXX_FLAGS} ${KOKKOSCORE_CXX_FLAGS}" PARENT_SCOPE) - SET(CMAKE_CXX_FLAGS "${TRILINOS_TOPLEVEL_CXX_FLAGS} ${KOKKOSCORE_CXX_FLAGS}") - #CMAKE_CXX_FLAGS will get added to Kokkos and Kokkos dependencies automatically here #These flags get set up in KOKKOS_PACKAGE_DECL, which means they #must be configured before KOKKOS_PACKAGE_DECL SET(KOKKOS_ALL_COMPILE_OPTIONS diff --git a/lib/kokkos/Makefile.kokkos b/lib/kokkos/Makefile.kokkos index c970f72755..a167ce2070 100644 --- a/lib/kokkos/Makefile.kokkos +++ b/lib/kokkos/Makefile.kokkos @@ -11,7 +11,7 @@ CXXFLAGS += $(SHFLAGS) endif KOKKOS_VERSION_MAJOR = 4 -KOKKOS_VERSION_MINOR = 2 +KOKKOS_VERSION_MINOR = 3 KOKKOS_VERSION_PATCH = 0 KOKKOS_VERSION = $(shell echo $(KOKKOS_VERSION_MAJOR)*10000+$(KOKKOS_VERSION_MINOR)*100+$(KOKKOS_VERSION_PATCH) | bc) @@ -22,14 +22,14 @@ KOKKOS_DEVICES ?= "OpenMP" # Intel: KNC,KNL,SNB,HSW,BDW,SKL,SKX,ICL,ICX,SPR # NVIDIA: Kepler,Kepler30,Kepler32,Kepler35,Kepler37,Maxwell,Maxwell50,Maxwell52,Maxwell53,Pascal60,Pascal61,Volta70,Volta72,Turing75,Ampere80,Ampere86,Ada89,Hopper90 # ARM: ARMv80,ARMv81,ARMv8-ThunderX,ARMv8-TX2,A64FX -# IBM: BGQ,Power7,Power8,Power9 -# AMD-GPUS: GFX906,GFX908,GFX90A,GFX942,GFX1030,GFX1100 +# IBM: Power8,Power9 +# AMD-GPUS: AMD_GFX906,AMD_GFX908,AMD_GFX90A,AMD_GFX940,AMD_GFX942,AMD_GFX1030,AMD_GFX1100 # AMD-CPUS: AMDAVX,Zen,Zen2,Zen3 # Intel-GPUs: Gen9,Gen11,Gen12LP,DG1,XeHP,PVC KOKKOS_ARCH ?= "" # Options: yes,no KOKKOS_DEBUG ?= "no" -# Options: hwloc,librt,experimental_memkind +# Options: hwloc KOKKOS_USE_TPLS ?= "" # Options: c++17,c++1z,c++20,c++2a,c++23,c++2b KOKKOS_CXX_STANDARD ?= "c++17" @@ -56,7 +56,7 @@ uppercase_internal=$(if $1,$$(subst $(firstword $1),$(call uppercase_internal,$( uppercase=$(eval uppercase_RESULT:=$(call uppercase_internal,$(uppercase_TABLE),$1))$(uppercase_RESULT) # Return a 1 if a string contains a substring and 0 if not # Note the search string should be without '"' -# Example: $(call kokkos_has_string,"hwloc,librt",hwloc) +# Example: $(call kokkos_has_string,"hwloc,libdl",hwloc) # Will return a 1 kokkos_has_string=$(if $(findstring $(call uppercase,$2),$(call uppercase,$1)),1,0) # Returns 1 if the path exists, 0 otherwise @@ -73,11 +73,11 @@ KOKKOS_INTERNAL_ENABLE_CXX20 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD), KOKKOS_INTERNAL_ENABLE_CXX2A := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++2a) KOKKOS_INTERNAL_ENABLE_CXX23 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++23) KOKKOS_INTERNAL_ENABLE_CXX2B := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++2b) +KOKKOS_INTERNAL_ENABLE_CXX26 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++26) +KOKKOS_INTERNAL_ENABLE_CXX2C := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++2c) # Check for external libraries. KOKKOS_INTERNAL_USE_HWLOC := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),hwloc) -KOKKOS_INTERNAL_USE_LIBRT := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),librt) -KOKKOS_INTERNAL_USE_MEMKIND := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),experimental_memkind) # Check for advanced settings. KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS := $(call kokkos_has_string,$(KOKKOS_OPTIONS),compiler_warnings) @@ -318,7 +318,6 @@ endif # Intel based. KOKKOS_INTERNAL_USE_ARCH_KNC := $(call kokkos_has_string,$(KOKKOS_ARCH),KNC) -KOKKOS_INTERNAL_USE_ARCH_WSM := $(call kokkos_has_string,$(KOKKOS_ARCH),WSM) KOKKOS_INTERNAL_USE_ARCH_SNB := $(call kokkos_has_string,$(KOKKOS_ARCH),SNB) KOKKOS_INTERNAL_USE_ARCH_HSW := $(call kokkos_has_string,$(KOKKOS_ARCH),HSW) KOKKOS_INTERNAL_USE_ARCH_BDW := $(call kokkos_has_string,$(KOKKOS_ARCH),BDW) @@ -398,11 +397,9 @@ KOKKOS_INTERNAL_USE_ARCH_A64FX := $(call kokkos_has_string,$(KOKKOS_ARCH),A64FX) KOKKOS_INTERNAL_USE_ARCH_ARM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_ARMV80)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV81)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2)+$(KOKKOS_INTERNAL_USE_ARCH_A64FX) | bc)) # IBM based. -KOKKOS_INTERNAL_USE_ARCH_BGQ := $(call kokkos_has_string,$(KOKKOS_ARCH),BGQ) -KOKKOS_INTERNAL_USE_ARCH_POWER7 := $(call kokkos_has_string,$(KOKKOS_ARCH),Power7) KOKKOS_INTERNAL_USE_ARCH_POWER8 := $(call kokkos_has_string,$(KOKKOS_ARCH),Power8) KOKKOS_INTERNAL_USE_ARCH_POWER9 := $(call kokkos_has_string,$(KOKKOS_ARCH),Power9) -KOKKOS_INTERNAL_USE_ARCH_IBM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_BGQ)+$(KOKKOS_INTERNAL_USE_ARCH_POWER7)+$(KOKKOS_INTERNAL_USE_ARCH_POWER8)+$(KOKKOS_INTERNAL_USE_ARCH_POWER9) | bc)) +KOKKOS_INTERNAL_USE_ARCH_IBM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_POWER8)+$(KOKKOS_INTERNAL_USE_ARCH_POWER9) | bc)) # AMD based. KOKKOS_INTERNAL_USE_ARCH_AMDAVX := $(call kokkos_has_string,$(KOKKOS_ARCH),AMDAVX) @@ -413,20 +410,37 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ZEN3), 0) KOKKOS_INTERNAL_USE_ARCH_ZEN := $(call kokkos_has_string,$(KOKKOS_ARCH),Zen) endif endif -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA906),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX906)) -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA908),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX908)) -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA90A),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX90A)) -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1030),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1030)) -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1100),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1100)) + +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX906) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906 := $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA906) +endif +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX908) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908 := $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA908) +endif +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX90A) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A := $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA90A) +endif +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX940 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX940) +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX942 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX942) +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1030) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030 := $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1030) +endif +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1100) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100 := $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1100) +endif # Any AVX? -KOKKOS_INTERNAL_USE_ARCH_SSE42 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_WSM)) KOKKOS_INTERNAL_USE_ARCH_AVX := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_SNB) + $(KOKKOS_INTERNAL_USE_ARCH_AMDAVX)) KOKKOS_INTERNAL_USE_ARCH_AVX2 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_HSW) + $(KOKKOS_INTERNAL_USE_ARCH_BDW) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN2) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN3)) KOKKOS_INTERNAL_USE_ARCH_AVX512MIC := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KNL)) # Incompatible flags? -KOKKOS_INTERNAL_USE_ARCH_MULTIHOST := $(strip $(shell echo "$(KOKKOS_INTERNAL_USE_ARCH_SSE42)+$(KOKKOS_INTERNAL_USE_ARCH_AVX)+$(KOKKOS_INTERNAL_USE_ARCH_AVX2)+$(KOKKOS_INTERNAL_USE_ARCH_AVX512MIC)+$(KOKKOS_INTERNAL_USE_ARCH_SKL)+$(KOKKOS_INTERNAL_USE_ARCH_SKX)+$(KOKKOS_INTERNAL_USE_ARCH_ICL)+$(KOKKOS_INTERNAL_USE_ARCH_ICX)+$(KOKKOS_INTERNAL_USE_ARCH_SPR)+$(KOKKOS_INTERNAL_USE_ARCH_KNC)+$(KOKKOS_INTERNAL_USE_ARCH_IBM)+$(KOKKOS_INTERNAL_USE_ARCH_ARM)>1") | bc) +KOKKOS_INTERNAL_USE_ARCH_MULTIHOST := $(strip $(shell echo "$(KOKKOS_INTERNAL_USE_ARCH_AVX)+$(KOKKOS_INTERNAL_USE_ARCH_AVX2)+$(KOKKOS_INTERNAL_USE_ARCH_AVX512MIC)+$(KOKKOS_INTERNAL_USE_ARCH_SKL)+$(KOKKOS_INTERNAL_USE_ARCH_SKX)+$(KOKKOS_INTERNAL_USE_ARCH_ICL)+$(KOKKOS_INTERNAL_USE_ARCH_ICX)+$(KOKKOS_INTERNAL_USE_ARCH_SPR)+$(KOKKOS_INTERNAL_USE_ARCH_KNC)+$(KOKKOS_INTERNAL_USE_ARCH_IBM)+$(KOKKOS_INTERNAL_USE_ARCH_ARM)>1") | bc) KOKKOS_INTERNAL_USE_ARCH_MULTIGPU := $(strip $(shell echo "$(KOKKOS_INTERNAL_USE_ARCH_NVIDIA)>1") | bc) ifeq ($(KOKKOS_INTERNAL_USE_ARCH_MULTIHOST), 1) @@ -571,6 +585,16 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX2B), 1) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX2B_FLAG) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX23") endif +ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX26), 1) + #I cannot make CMake add this in a good way - so add it here + KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX26_FLAG) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX26") +endif +ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX2C), 1) + #I cannot make CMake add this in a good way - so add it here + KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX2C_FLAG) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX26") +endif ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) @@ -610,27 +634,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_HWLOC), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_HWLOC") endif -ifeq ($(KOKKOS_INTERNAL_USE_LIBRT), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_USE_LIBRT") - KOKKOS_LIBS += -lrt - KOKKOS_TPL_LIBRARY_NAMES += rt -endif - -ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) - ifneq ($(KOKKOS_CMAKE), yes) - ifneq ($(MEMKIND_PATH),) - KOKKOS_CPPFLAGS += -I$(MEMKIND_PATH)/include - KOKKOS_LIBDIRS += -L$(MEMKIND_PATH)/lib - KOKKOS_CXXLDFLAGS += -L$(MEMKIND_PATH)/lib - KOKKOS_TPL_INCLUDE_DIRS += $(MEMKIND_PATH)/include - KOKKOS_TPL_LIBRARY_DIRS += $(MEMKIND_PATH)/lib - endif - KOKKOS_LIBS += -lmemkind -lnuma - KOKKOS_TPL_LIBRARY_NAMES += memkind numa - endif - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_HBWSPACE") -endif - ifeq ($(KOKKOS_INTERNAL_ENABLE_LARGE_MEM_TESTS), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_LARGE_MEM_TESTS") endif @@ -697,10 +700,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) endif endif - ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_IMPL_CUDA_CLANG_WORKAROUND") - endif - ifeq ($(KOKKOS_INTERNAL_CUDA_DISABLE_MALLOC_ASYNC), 0) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_IMPL_CUDA_MALLOC_ASYNC") else @@ -825,20 +824,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2), 1) endif endif -ifeq ($(KOKKOS_INTERNAL_USE_ARCH_SSE42), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_SSE42") - - ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) - KOKKOS_CXXFLAGS += -xSSE4.2 - KOKKOS_LDFLAGS += -xSSE4.2 - else ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) - else - # Assume that this is a really a GNU compiler. - KOKKOS_CXXFLAGS += -msse4.2 - KOKKOS_LDFLAGS += -msse4.2 - endif -endif - ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AVX") @@ -1113,6 +1098,11 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GPU") KOKKOS_INTERNAL_HIP_ARCH_FLAG := --offload-arch=gfx90a endif +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX940), 1) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GFX940") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GPU") + KOKKOS_INTERNAL_HIP_ARCH_FLAG := --offload-arch=gfx940 +endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX942), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GFX942") tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GPU") @@ -1242,7 +1232,6 @@ ifneq ($(KOKKOS_INTERNAL_NEW_CONFIG), 0) tmp := $(call kokkos_update_config_header, KOKKOS_FWD_HPP_, "KokkosCore_Config_FwdBackend.tmp", "KokkosCore_Config_FwdBackend.hpp") tmp := $(call kokkos_update_config_header, KOKKOS_SETUP_HPP_, "KokkosCore_Config_SetupBackend.tmp", "KokkosCore_Config_SetupBackend.hpp") tmp := $(call kokkos_update_config_header, KOKKOS_DECLARE_HPP_, "KokkosCore_Config_DeclareBackend.tmp", "KokkosCore_Config_DeclareBackend.hpp") - tmp := $(call kokkos_update_config_header, KOKKOS_POST_INCLUDE_HPP_, "KokkosCore_Config_PostInclude.tmp", "KokkosCore_Config_PostInclude.hpp") ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") @@ -1282,10 +1271,6 @@ ifneq ($(KOKKOS_INTERNAL_NEW_CONFIG), 0) tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") endif - ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) - tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") - tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") - endif endif KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/*.hpp) @@ -1396,11 +1381,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1) KOKKOS_TPL_LIBRARY_NAMES += hpx endif -# Don't include Kokkos_HBWSpace.cpp if not using MEMKIND to avoid a link warning. -ifneq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) - KOKKOS_SRC := $(filter-out $(KOKKOS_PATH)/core/src/impl/Kokkos_HBWSpace.cpp,$(KOKKOS_SRC)) -endif - # With Cygwin functions such as fdopen and fileno are not defined # when strict ansi is enabled. strict ansi gets enabled with -std=c++14 # though. So we hard undefine it here. Not sure if that has any bad side effects @@ -1454,6 +1434,12 @@ ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) else tmp := $(call desul_append_header,"/* $H""undef DESUL_ATOMICS_ENABLE_OPENMP */") endif + +ifeq ($(KOKKOS_INTERNAL_USE_OPENACC), 1) + tmp := $(call desul_append_header,"$H""define DESUL_ATOMICS_ENABLE_OPENACC") +else + tmp := $(call desul_append_header,"/* $H""undef DESUL_ATOMICS_ENABLE_OPENACC */") +endif tmp := $(call desul_append_header, "") tmp := $(call desul_append_header, "$H""endif") @@ -1486,7 +1472,7 @@ include $(KOKKOS_PATH)/Makefile.targets kokkos-clean: rm -f $(KOKKOS_OBJ_LINK) $(DESUL_CONFIG_HEADER) $(DESUL_INTERNAL_CONFIG_TMP) KokkosCore_config.h KokkosCore_config.tmp libkokkos.a KokkosCore_Config_SetupBackend.hpp \ KokkosCore_Config_FwdBackend.hpp KokkosCore_Config_DeclareBackend.hpp KokkosCore_Config_DeclareBackend.tmp \ - KokkosCore_Config_FwdBackend.tmp KokkosCore_Config_PostInclude.hpp KokkosCore_Config_PostInclude.tmp KokkosCore_Config_SetupBackend.tmp + KokkosCore_Config_FwdBackend.tmp KokkosCore_Config_SetupBackend.tmp libkokkos.a: $(KOKKOS_OBJ_LINK) $(KOKKOS_SRC) $(KOKKOS_HEADERS) ar cr libkokkos.a $(KOKKOS_OBJ_LINK) diff --git a/lib/kokkos/Makefile.targets b/lib/kokkos/Makefile.targets index ec8770dd7d..e6900a822a 100644 --- a/lib/kokkos/Makefile.targets +++ b/lib/kokkos/Makefile.targets @@ -20,8 +20,6 @@ Kokkos_TaskQueue.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Ta $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_TaskQueue.cpp Kokkos_HostThreadTeam.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostThreadTeam.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostThreadTeam.cpp -Kokkos_Spinwait.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Spinwait.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_Spinwait.cpp Kokkos_HostBarrier.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostBarrier.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostBarrier.cpp Kokkos_Profiling.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Profiling.cpp @@ -30,8 +28,6 @@ Kokkos_SharedAlloc.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_ $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_SharedAlloc.cpp Kokkos_MemoryPool.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_MemoryPool.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_MemoryPool.cpp -Kokkos_MemorySpace.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_MemorySpace.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_MemorySpace.cpp Kokkos_HostSpace_deepcopy.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostSpace_deepcopy.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostSpace_deepcopy.cpp Kokkos_NumericTraits.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_NumericTraits.cpp @@ -82,8 +78,10 @@ Lock_Array_HIP.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/tpls/desul/src/Lock_Array endif ifeq ($(KOKKOS_INTERNAL_USE_THREADS), 1) -Kokkos_ThreadsExec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec.cpp +Kokkos_Threads_Instance.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_Threads_Instance.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_Threads_Instance.cpp +Kokkos_Threads_Spinwait.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_Threads_Spinwait.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_Spinwait.cpp endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) @@ -123,6 +121,3 @@ Kokkos_OpenACC_Instance.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenACC Kokkos_OpenACC_SharedAllocationRecord.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp endif - -Kokkos_HBWSpace.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HBWSpace.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HBWSpace.cpp diff --git a/lib/kokkos/README.md b/lib/kokkos/README.md index 033346e956..19793bb82d 100644 --- a/lib/kokkos/README.md +++ b/lib/kokkos/README.md @@ -28,7 +28,7 @@ To start learning about Kokkos: - [Use cases and Examples](https://kokkos.github.io/kokkos-core-wiki/usecases.html): a series of examples ranging from how to use Kokkos with MPI to Fortran interoperability. -For questions find us on Slack: https://kokkosteam.slack.com or open a github issue. +For questions find us on Slack: https://kokkosteam.slack.com or open a GitHub issue. For non-public questions send an email to: *crtrott(at)sandia.gov* @@ -48,10 +48,10 @@ Please see the [following page](https://kokkos.github.io/kokkos-core-wiki/citati # License -[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) +[![License](https://img.shields.io/badge/License-Apache--2.0_WITH_LLVM--exception-blue)](https://spdx.org/licenses/LLVM-exception.html) Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. -The full license statement used in all headers is available [here](https://kokkos.github.io/kokkos-core-wiki/license.html) or -[here](https://github.com/kokkos/kokkos/blob/master/LICENSE). +The full license statement used in all headers is available [here](https://kokkos.org/kokkos-core-wiki/license.html) or +[here](https://github.com/kokkos/kokkos/blob/develop/LICENSE). diff --git a/lib/kokkos/SECURITY.md b/lib/kokkos/SECURITY.md new file mode 100644 index 0000000000..93cf6e3663 --- /dev/null +++ b/lib/kokkos/SECURITY.md @@ -0,0 +1,12 @@ +# Reporting Security Issues + +To report a security issue, please email +[lebrungrandt@ornl.gov](mailto:lebrungrandt@ornl.gov) +and [crtrott@sandia.gov](mailto:crtrott@sandia.gov) +with a description of the issue, the steps you took to create the issue, +affected versions, and, if known, mitigations for the issue. + +Our vulnerability management team will respond within 5 working days of your +email. If the issue is confirmed as a vulnerability, we will open a +Security Advisory and acknowledge your contributions as part of it. This project +follows a 90 day disclosure timeline. diff --git a/lib/kokkos/Spack.md b/lib/kokkos/Spack.md index 79606c259d..06c763a64e 100644 --- a/lib/kokkos/Spack.md +++ b/lib/kokkos/Spack.md @@ -159,7 +159,6 @@ If you don't specify a CUDA build variant in a `packages.yaml` and you build you > spack install superscience ```` you may end up just getting the default Kokkos (i.e. Serial). -Some examples are included in the `config/yaml` folder for common platforms. Before running `spack install ` we recommend running `spack spec ` to confirm your dependency tree is correct. For example, with Kokkos Kernels: ````bash diff --git a/lib/kokkos/algorithms/src/CMakeLists.txt b/lib/kokkos/algorithms/src/CMakeLists.txt index 1695778947..b490caca62 100644 --- a/lib/kokkos/algorithms/src/CMakeLists.txt +++ b/lib/kokkos/algorithms/src/CMakeLists.txt @@ -30,5 +30,5 @@ KOKKOS_LIB_INCLUDE_DIRECTORIES(kokkosalgorithms ${CMAKE_CURRENT_SOURCE_DIR} ) - - +KOKKOS_LINK_TPL(kokkoscontainers PUBLIC ROCTHRUST) +KOKKOS_LINK_TPL(kokkoscore PUBLIC ONEDPL) diff --git a/lib/kokkos/algorithms/src/Kokkos_Random.hpp b/lib/kokkos/algorithms/src/Kokkos_Random.hpp index 2d7d236d2f..7df12b8518 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Random.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Random.hpp @@ -849,18 +849,17 @@ class Random_XorShift64 { return drand(end - start) + start; } - // Marsaglia polar method for drawing a standard normal distributed random + // Box-muller method for drawing a standard normal distributed random // number KOKKOS_INLINE_FUNCTION double normal() { - double S = 2.0; - double U; - while (S >= 1.0) { - U = 2.0 * drand() - 1.0; - const double V = 2.0 * drand() - 1.0; - S = U * U + V * V; - } - return U * std::sqrt(-2.0 * std::log(S) / S); + constexpr auto two_pi = 2 * Kokkos::numbers::pi_v; + + const double u = drand(); + const double v = drand(); + const double r = Kokkos::sqrt(-2.0 * Kokkos::log(u)); + const double theta = v * two_pi; + return r * Kokkos::cos(theta); } KOKKOS_INLINE_FUNCTION @@ -1094,18 +1093,17 @@ class Random_XorShift1024 { return drand(end - start) + start; } - // Marsaglia polar method for drawing a standard normal distributed random + // Box-muller method for drawing a standard normal distributed random // number KOKKOS_INLINE_FUNCTION double normal() { - double S = 2.0; - double U; - while (S >= 1.0) { - U = 2.0 * drand() - 1.0; - const double V = 2.0 * drand() - 1.0; - S = U * U + V * V; - } - return U * std::sqrt(-2.0 * std::log(S) / S); + constexpr auto two_pi = 2 * Kokkos::numbers::pi_v; + + const double u = drand(); + const double v = drand(); + const double r = Kokkos::sqrt(-2.0 * Kokkos::log(u)); + const double theta = v * two_pi; + return r * Kokkos::cos(theta); } KOKKOS_INLINE_FUNCTION @@ -1545,13 +1543,23 @@ template void fill_random(ViewType a, RandomPool g, typename ViewType::const_value_type begin, typename ViewType::const_value_type end) { - fill_random(typename ViewType::execution_space{}, a, g, begin, end); + Kokkos::fence( + "fill_random: fence before since no execution space instance provided"); + typename ViewType::execution_space exec; + fill_random(exec, a, g, begin, end); + exec.fence( + "fill_random: fence after since no execution space instance provided"); } template void fill_random(ViewType a, RandomPool g, typename ViewType::const_value_type range) { - fill_random(typename ViewType::execution_space{}, a, g, 0, range); + Kokkos::fence( + "fill_random: fence before since no execution space instance provided"); + typename ViewType::execution_space exec; + fill_random(exec, a, g, 0, range); + exec.fence( + "fill_random: fence after since no execution space instance provided"); } } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp index f77484cc55..136b4ec82d 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp @@ -23,6 +23,7 @@ #include "sorting/Kokkos_BinSortPublicAPI.hpp" #include "sorting/Kokkos_SortPublicAPI.hpp" +#include "sorting/Kokkos_SortByKeyPublicAPI.hpp" #include "sorting/Kokkos_NestedSortPublicAPI.hpp" #ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_SORT diff --git a/lib/kokkos/algorithms/src/Kokkos_StdAlgorithms.hpp b/lib/kokkos/algorithms/src/Kokkos_StdAlgorithms.hpp index 436ae0d10b..b532a774e1 100644 --- a/lib/kokkos/algorithms/src/Kokkos_StdAlgorithms.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_StdAlgorithms.hpp @@ -35,7 +35,6 @@ // following the std classification. // modifying ops -#include "std_algorithms/Kokkos_Swap.hpp" #include "std_algorithms/Kokkos_IterSwap.hpp" // non-modifying sequence diff --git a/lib/kokkos/algorithms/src/sorting/Kokkos_SortByKeyPublicAPI.hpp b/lib/kokkos/algorithms/src/sorting/Kokkos_SortByKeyPublicAPI.hpp new file mode 100644 index 0000000000..fc73eccad6 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/Kokkos_SortByKeyPublicAPI.hpp @@ -0,0 +1,117 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_SORT_BY_KEY_PUBLIC_API_HPP_ +#define KOKKOS_SORT_BY_KEY_PUBLIC_API_HPP_ + +#include "./impl/Kokkos_SortByKeyImpl.hpp" +#include +#include + +namespace Kokkos::Experimental { + +// --------------------------------------------------------------- +// basic overloads +// --------------------------------------------------------------- + +template +void sort_by_key( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { + // constraints + using KeysType = Kokkos::View; + using ValuesType = Kokkos::View; + ::Kokkos::Impl::static_assert_is_admissible_to_kokkos_sort_by_key(keys); + ::Kokkos::Impl::static_assert_is_admissible_to_kokkos_sort_by_key(values); + + static_assert(SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the keys View argument!"); + static_assert( + SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the values View argument!"); + + static_assert(KeysType::static_extent(0) == 0 || + ValuesType::static_extent(0) == 0 || + KeysType::static_extent(0) == ValuesType::static_extent(0)); + if (values.size() != keys.size()) + Kokkos::abort((std::string("values and keys extents must be the same. The " + "values extent is ") + + std::to_string(values.size()) + ", and the keys extent is " + + std::to_string(keys.size()) + ".") + .c_str()); + + if (keys.extent(0) <= 1) { + return; + } + + ::Kokkos::Impl::sort_by_key_device_view_without_comparator(exec, keys, + values); +} + +// --------------------------------------------------------------- +// overloads supporting a custom comparator +// --------------------------------------------------------------- + +template +void sort_by_key( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { + // constraints + using KeysType = Kokkos::View; + using ValuesType = Kokkos::View; + ::Kokkos::Impl::static_assert_is_admissible_to_kokkos_sort_by_key(keys); + ::Kokkos::Impl::static_assert_is_admissible_to_kokkos_sort_by_key(values); + + static_assert(SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the keys View argument!"); + static_assert( + SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the values View argument!"); + + static_assert(KeysType::static_extent(0) == 0 || + ValuesType::static_extent(0) == 0 || + KeysType::static_extent(0) == ValuesType::static_extent(0)); + if (values.size() != keys.size()) + Kokkos::abort((std::string("values and keys extents must be the same. The " + "values extent is ") + + std::to_string(values.size()) + ", and the keys extent is " + + std::to_string(keys.size()) + ".") + .c_str()); + + if (keys.extent(0) <= 1) { + return; + } + + ::Kokkos::Impl::sort_by_key_device_view_with_comparator(exec, keys, values, + comparator); +} + +} // namespace Kokkos::Experimental +#endif diff --git a/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp b/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp index a763c41e58..308e9e3a00 100644 --- a/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp +++ b/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp @@ -29,7 +29,7 @@ namespace Kokkos { // --------------------------------------------------------------- template -void sort([[maybe_unused]] const ExecutionSpace& exec, +void sort(const ExecutionSpace& exec, const Kokkos::View& view) { // constraints using ViewType = Kokkos::View; @@ -52,6 +52,7 @@ void sort([[maybe_unused]] const ExecutionSpace& exec, } if constexpr (Impl::better_off_calling_std_sort_v) { + exec.fence("Kokkos::sort without comparator use std::sort"); auto first = ::Kokkos::Experimental::begin(view); auto last = ::Kokkos::Experimental::end(view); std::sort(first, last); @@ -82,7 +83,7 @@ void sort(const Kokkos::View& view) { // --------------------------------------------------------------- template -void sort([[maybe_unused]] const ExecutionSpace& exec, +void sort(const ExecutionSpace& exec, const Kokkos::View& view, const ComparatorType& comparator) { // constraints @@ -105,6 +106,7 @@ void sort([[maybe_unused]] const ExecutionSpace& exec, } if constexpr (Impl::better_off_calling_std_sort_v) { + exec.fence("Kokkos::sort with comparator use std::sort"); auto first = ::Kokkos::Experimental::begin(view); auto last = ::Kokkos::Experimental::end(view); std::sort(first, last, comparator); diff --git a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp index 50ac823319..2fe58272d9 100644 --- a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp +++ b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp @@ -18,7 +18,6 @@ #define KOKKOS_NESTED_SORT_IMPL_HPP_ #include -#include namespace Kokkos { namespace Experimental { @@ -99,7 +98,7 @@ KOKKOS_INLINE_FUNCTION void sort_nested_impl( keyView(elem1) = key2; keyView(elem2) = key1; if constexpr (!std::is_same_v) { - Kokkos::Experimental::swap(valueView(elem1), valueView(elem2)); + Kokkos::kokkos_swap(valueView(elem1), valueView(elem2)); } } } diff --git a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp new file mode 100644 index 0000000000..36deccdfb1 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp @@ -0,0 +1,401 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_SORT_BY_KEY_FREE_FUNCS_IMPL_HPP_ +#define KOKKOS_SORT_BY_KEY_FREE_FUNCS_IMPL_HPP_ + +#include + +#if defined(KOKKOS_ENABLE_CUDA) + +// Workaround for `Instruction 'shfl' without '.sync' is not supported on +// .target sm_70 and higher from PTX ISA version 6.4`. +// Also see https://github.com/NVIDIA/cub/pull/170. +#if !defined(CUB_USE_COOPERATIVE_GROUPS) +#define CUB_USE_COOPERATIVE_GROUPS +#endif + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wshadow" + +#if defined(KOKKOS_COMPILER_CLANG) +// Some versions of Clang fail to compile Thrust, failing with errors like +// this: +// /thrust/system/cuda/detail/core/agent_launcher.h:557:11: +// error: use of undeclared identifier 'va_printf' +// The exact combination of versions for Clang and Thrust (or CUDA) for this +// failure was not investigated, however even very recent version combination +// (Clang 10.0.0 and Cuda 10.0) demonstrated failure. +// +// Defining _CubLog here locally allows us to avoid that code path, however +// disabling some debugging diagnostics +#pragma push_macro("_CubLog") +#ifdef _CubLog +#undef _CubLog +#endif +#define _CubLog +#include +#include +#pragma pop_macro("_CubLog") +#else +#include +#include +#endif + +#pragma GCC diagnostic pop + +#endif + +#if defined(KOKKOS_ENABLE_ROCTHRUST) +#include +#include +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) && \ + (ONEDPL_VERSION_MAJOR > 2022 || \ + (ONEDPL_VERSION_MAJOR == 2022 && ONEDPL_VERSION_MINOR >= 2)) +#define KOKKOS_ONEDPL_HAS_SORT_BY_KEY +#include +#include +#endif + +namespace Kokkos::Impl { + +template +constexpr inline bool is_admissible_to_kokkos_sort_by_key = + ::Kokkos::is_view::value&& T::rank() == 1 && + (std::is_same::value || + std::is_same::value || + std::is_same::value); + +template +KOKKOS_INLINE_FUNCTION constexpr void +static_assert_is_admissible_to_kokkos_sort_by_key(const ViewType& /* view */) { + static_assert(is_admissible_to_kokkos_sort_by_key, + "Kokkos::sort_by_key only accepts 1D values View with " + "LayoutRight, LayoutLeft or LayoutStride."); +} + +// For the fallback implementation for sort_by_key using Kokkos::sort, we need +// to consider if Kokkos::sort defers to the fallback implementation that copies +// the array to the host and uses std::sort, see +// copy_to_host_run_stdsort_copy_back() in impl/Kokkos_SortImpl.hpp. If +// sort_on_device_v is true, we assume that std::sort doesn't copy data. +// Otherwise, we manually copy all data to the host and provide Kokkos::sort +// with a host execution space. +template +inline constexpr bool sort_on_device_v = false; + +#if defined(KOKKOS_ENABLE_CUDA) +template +inline constexpr bool sort_on_device_v = true; + +template +void sort_by_key_cudathrust( + const Kokkos::Cuda& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + MaybeComparator&&... maybeComparator) { + const auto policy = thrust::cuda::par.on(exec.cuda_stream()); + auto keys_first = ::Kokkos::Experimental::begin(keys); + auto keys_last = ::Kokkos::Experimental::end(keys); + auto values_first = ::Kokkos::Experimental::begin(values); + thrust::sort_by_key(policy, keys_first, keys_last, values_first, + std::forward(maybeComparator)...); +} +#endif + +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +inline constexpr bool sort_on_device_v = true; + +template +void sort_by_key_rocthrust( + const Kokkos::HIP& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + MaybeComparator&&... maybeComparator) { + const auto policy = thrust::hip::par.on(exec.hip_stream()); + auto keys_first = ::Kokkos::Experimental::begin(keys); + auto keys_last = ::Kokkos::Experimental::end(keys); + auto values_first = ::Kokkos::Experimental::begin(values); + thrust::sort_by_key(policy, keys_first, keys_last, values_first, + std::forward(maybeComparator)...); +} +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +template +inline constexpr bool sort_on_device_v = + std::is_same_v || + std::is_same_v; + +#ifdef KOKKOS_ONEDPL_HAS_SORT_BY_KEY +template +void sort_by_key_onedpl( + const Kokkos::Experimental::SYCL& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + MaybeComparator&&... maybeComparator) { + if (keys.stride(0) != 1 && values.stride(0) != 1) { + Kokkos::abort( + "SYCL sort_by_key only supports rank-1 Views with stride(0) = 1."); + } + + // Can't use Experimental::begin/end here since the oneDPL then assumes that + // the data is on the host. + auto queue = exec.sycl_queue(); + auto policy = oneapi::dpl::execution::make_device_policy(queue); + const int n = keys.extent(0); + oneapi::dpl::sort_by_key(policy, keys.data(), keys.data() + n, values.data(), + std::forward(maybeComparator)...); +} +#endif +#endif + +template +void applyPermutation(const ExecutionSpace& space, + const PermutationView& permutation, + const ViewType& view) { + static_assert(std::is_integral::value); + + auto view_copy = Kokkos::create_mirror( + Kokkos::view_alloc(space, typename ExecutionSpace::memory_space{}, + Kokkos::WithoutInitializing), + view); + Kokkos::deep_copy(space, view_copy, view); + Kokkos::parallel_for( + "Kokkos::sort_by_key_via_sort::permute_" + view.label(), + Kokkos::RangePolicy(space, 0, view.extent(0)), + KOKKOS_LAMBDA(int i) { view(i) = view_copy(permutation(i)); }); +} + +template +void sort_by_key_via_sort( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + MaybeComparator&&... maybeComparator) { + static_assert(sizeof...(MaybeComparator) <= 1); + + auto const n = keys.size(); + + Kokkos::View permute( + Kokkos::view_alloc(exec, Kokkos::WithoutInitializing, + "Kokkos::sort_by_key_via_sort::permute"), + n); + + // iota + Kokkos::parallel_for( + "Kokkos::sort_by_key_via_sort::iota", + Kokkos::RangePolicy(exec, 0, n), + KOKKOS_LAMBDA(int i) { permute(i) = i; }); + + using Layout = + typename Kokkos::View::array_layout; + if constexpr (!sort_on_device_v) { + auto host_keys = Kokkos::create_mirror_view( + Kokkos::view_alloc(Kokkos::HostSpace{}, Kokkos::WithoutInitializing), + keys); + auto host_permute = Kokkos::create_mirror_view( + Kokkos::view_alloc(Kokkos::HostSpace{}, Kokkos::WithoutInitializing), + permute); + Kokkos::deep_copy(exec, host_keys, keys); + Kokkos::deep_copy(exec, host_permute, permute); + + exec.fence("Kokkos::Impl::sort_by_key_via_sort: before host sort"); + Kokkos::DefaultHostExecutionSpace host_exec; + + if constexpr (sizeof...(MaybeComparator) == 0) { + Kokkos::sort( + host_exec, host_permute, + KOKKOS_LAMBDA(int i, int j) { return host_keys(i) < host_keys(j); }); + } else { + auto keys_comparator = + std::get<0>(std::tuple(maybeComparator...)); + Kokkos::sort( + host_exec, host_permute, KOKKOS_LAMBDA(int i, int j) { + return keys_comparator(host_keys(i), host_keys(j)); + }); + } + host_exec.fence("Kokkos::Impl::sort_by_key_via_sort: after host sort"); + Kokkos::deep_copy(exec, permute, host_permute); + } else { +#ifdef KOKKOS_ENABLE_SYCL + auto* raw_keys_in_comparator = keys.data(); + auto stride = keys.stride(0); + if constexpr (sizeof...(MaybeComparator) == 0) { + Kokkos::sort( + exec, permute, KOKKOS_LAMBDA(int i, int j) { + return raw_keys_in_comparator[i * stride] < + raw_keys_in_comparator[j * stride]; + }); + } else { + auto keys_comparator = + std::get<0>(std::tuple(maybeComparator...)); + Kokkos::sort( + exec, permute, KOKKOS_LAMBDA(int i, int j) { + return keys_comparator(raw_keys_in_comparator[i * stride], + raw_keys_in_comparator[j * stride]); + }); + } +#else + if constexpr (sizeof...(MaybeComparator) == 0) { + Kokkos::sort( + exec, permute, + KOKKOS_LAMBDA(int i, int j) { return keys(i) < keys(j); }); + } else { + auto keys_comparator = + std::get<0>(std::tuple(maybeComparator...)); + Kokkos::sort( + exec, permute, KOKKOS_LAMBDA(int i, int j) { + return keys_comparator(keys(i), keys(j)); + }); + } +#endif + } + + applyPermutation(exec, permute, keys); + applyPermutation(exec, permute, values); +} + +// ------------------------------------------------------ +// +// specialize cases for sorting by key without comparator +// +// ------------------------------------------------------ + +#if defined(KOKKOS_ENABLE_CUDA) +template +void sort_by_key_device_view_without_comparator( + const Kokkos::Cuda& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { + sort_by_key_cudathrust(exec, keys, values); +} +#endif + +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_by_key_device_view_without_comparator( + const Kokkos::HIP& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { + sort_by_key_rocthrust(exec, keys, values); +} +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +template +void sort_by_key_device_view_without_comparator( + const Kokkos::Experimental::SYCL& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { +#ifdef KOKKOS_ONEDPL_HAS_SORT_BY_KEY + if (keys.stride(0) == 1 && values.stride(0) == 1) + sort_by_key_onedpl(exec, keys, values); + else +#endif + sort_by_key_via_sort(exec, keys, values); +} +#endif + +// fallback case +template +std::enable_if_t::value> +sort_by_key_device_view_without_comparator( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { + sort_by_key_via_sort(exec, keys, values); +} + +// --------------------------------------------------- +// +// specialize cases for sorting by key with comparator +// +// --------------------------------------------------- + +#if defined(KOKKOS_ENABLE_CUDA) +template +void sort_by_key_device_view_with_comparator( + const Kokkos::Cuda& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { + sort_by_key_cudathrust(exec, keys, values, comparator); +} +#endif + +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_by_key_device_view_with_comparator( + const Kokkos::HIP& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { + sort_by_key_rocthrust(exec, keys, values, comparator); +} +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +template +void sort_by_key_device_view_with_comparator( + const Kokkos::Experimental::SYCL& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { +#ifdef KOKKOS_ONEDPL_HAS_SORT_BY_KEY + if (keys.stride(0) == 1 && values.stride(0) == 1) + sort_by_key_onedpl(exec, keys, values, comparator); + else +#endif + sort_by_key_via_sort(exec, keys, values, comparator); +} +#endif + +// fallback case +template +std::enable_if_t::value> +sort_by_key_device_view_with_comparator( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { + sort_by_key_via_sort(exec, keys, values, comparator); +} + +#undef KOKKOS_ONEDPL_HAS_SORT_BY_KEY + +} // namespace Kokkos::Impl +#endif diff --git a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp index d87ab09e77..4c174b5fda 100644 --- a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp +++ b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp @@ -63,6 +63,11 @@ #endif +#if defined(KOKKOS_ENABLE_ROCTHRUST) +#include +#include +#endif + #if defined(KOKKOS_ENABLE_ONEDPL) #include #include @@ -184,6 +189,26 @@ void sort_cudathrust(const Cuda& space, } #endif +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_rocthrust(const HIP& space, + const Kokkos::View& view, + MaybeComparator&&... maybeComparator) { + using ViewType = Kokkos::View; + static_assert(ViewType::rank == 1, + "Kokkos::sort: currently only supports rank-1 Views."); + + if (view.extent(0) <= 1) { + return; + } + const auto exec = thrust::hip::par.on(space.hip_stream()); + auto first = ::Kokkos::Experimental::begin(view); + auto last = ::Kokkos::Experimental::end(view); + thrust::sort(exec, first, last, + std::forward(maybeComparator)...); +} +#endif + #if defined(KOKKOS_ENABLE_ONEDPL) template void sort_onedpl(const Kokkos::Experimental::SYCL& space, @@ -274,6 +299,14 @@ void sort_device_view_without_comparator( } #endif +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_device_view_without_comparator( + const HIP& exec, const Kokkos::View& view) { + sort_rocthrust(exec, view); +} +#endif + #if defined(KOKKOS_ENABLE_ONEDPL) template void sort_device_view_without_comparator( @@ -320,6 +353,15 @@ void sort_device_view_with_comparator( } #endif +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_device_view_with_comparator( + const HIP& exec, const Kokkos::View& view, + const ComparatorType& comparator) { + sort_rocthrust(exec, view, comparator); +} +#endif + #if defined(KOKKOS_ENABLE_ONEDPL) template void sort_device_view_with_comparator( diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp index b7ce1ba5ed..c5406c72b0 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp @@ -50,7 +50,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -66,7 +66,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -93,7 +93,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp index 8f9e0f19b8..82071a9362 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp @@ -50,7 +50,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_backward(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -65,7 +65,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_backward(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -92,7 +92,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp index ba18bc76b9..599fde5737 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp @@ -54,7 +54,8 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_if(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest, Predicate pred) { + const ::Kokkos::View& dest, + Predicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -69,7 +70,8 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_if(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest, Predicate pred) { + const ::Kokkos::View& dest, + Predicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -96,7 +98,7 @@ template & source, - ::Kokkos::View& dest, Predicate pred) { + const ::Kokkos::View& dest, Predicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp index 43c9120483..637d8d4cbc 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp @@ -51,7 +51,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_n(const ExecutionSpace& ex, const ::Kokkos::View& source, Size count, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -66,7 +66,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_n(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, Size count, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -93,7 +93,7 @@ template & source, Size count, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp index a72a49cc22..593c42f87e 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp @@ -80,7 +80,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -96,7 +96,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -111,7 +111,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2, + const ::Kokkos::View& view2, BinaryPredicateType predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -128,7 +128,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2, + const ::Kokkos::View& view2, BinaryPredicateType predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -227,7 +227,7 @@ template & view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -243,7 +243,7 @@ template & view1, - ::Kokkos::View& view2, + const ::Kokkos::View& view2, BinaryPredicateType predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IterSwap.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IterSwap.hpp index a796a306dd..5bb2d1039d 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IterSwap.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IterSwap.hpp @@ -19,7 +19,6 @@ #include #include "impl/Kokkos_Constraints.hpp" -#include "Kokkos_Swap.hpp" namespace Kokkos { namespace Experimental { @@ -33,7 +32,7 @@ struct StdIterSwapFunctor { KOKKOS_FUNCTION void operator()(int i) const { (void)i; - ::Kokkos::Experimental::swap(*m_a, *m_b); + ::Kokkos::kokkos_swap(*m_a, *m_b); } KOKKOS_FUNCTION @@ -58,6 +57,16 @@ void iter_swap(IteratorType1 a, IteratorType2 b) { Impl::iter_swap_impl(a, b); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +template +KOKKOS_DEPRECATED_WITH_COMMENT("Use Kokkos::kokkos_swap instead!") +KOKKOS_FUNCTION + void swap(T& a, T& b) noexcept(::Kokkos::kokkos_swap(std::declval(), + std::declval())) { + ::Kokkos::kokkos_swap(a, b); +} +#endif + } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp index 4b5c69df45..e13479c370 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp @@ -54,7 +54,7 @@ template < bool lexicographical_compare( const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -71,7 +71,7 @@ template < bool lexicographical_compare( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -112,7 +112,8 @@ template < bool lexicographical_compare( const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2, ComparatorType comp) { + const ::Kokkos::View& view2, + ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -129,7 +130,8 @@ template < bool lexicographical_compare( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2, ComparatorType comp) { + const ::Kokkos::View& view2, + ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -161,7 +163,7 @@ template & view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -187,7 +189,8 @@ template & view1, - ::Kokkos::View& view2, ComparatorType comp) { + const ::Kokkos::View& view2, + ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp index f04ea12ba8..ac308ea184 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp @@ -50,7 +50,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -64,7 +64,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -92,7 +92,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp index 375474ca57..2789ab2179 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp @@ -41,7 +41,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move_backward(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -65,7 +65,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move_backward(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -94,7 +94,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp index 37336c983a..66f39c4eaa 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp @@ -50,7 +50,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto reverse_copy(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -65,7 +65,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto reverse_copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -94,7 +94,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp index 39f33b6487..d66763d304 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp @@ -40,7 +40,7 @@ template , int> = 0> auto swap_ranges(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -64,7 +64,7 @@ template , int> = 0> auto swap_ranges(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -94,7 +94,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp index 838c9169e2..84cbed524d 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp @@ -58,7 +58,7 @@ template , int> = 0> auto transform(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, UnaryOperation unary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -73,7 +73,7 @@ template , int> = 0> auto transform(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, UnaryOperation unary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -119,7 +119,7 @@ template & source1, const ::Kokkos::View& source2, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, BinaryOperation binary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source2); @@ -137,7 +137,7 @@ template & source1, const ::Kokkos::View& source2, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, BinaryOperation binary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source2); @@ -174,7 +174,8 @@ template & source, - ::Kokkos::View& dest, UnaryOperation unary_op) { + const ::Kokkos::View& dest, + UnaryOperation unary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -207,7 +208,7 @@ KOKKOS_FUNCTION auto transform( const TeamHandleType& teamHandle, const ::Kokkos::View& source1, const ::Kokkos::View& source2, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, BinaryOperation binary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source2); diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp index 8151ee3495..5a7fe16984 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp @@ -47,8 +47,9 @@ struct ExclusiveScanDefaultFunctorForKnownNeutralElement { KOKKOS_FUNCTION void operator()(const IndexType i, ValueType& update, const bool final_pass) const { + const auto tmp = m_first_from[i]; if (final_pass) m_first_dest[i] = update + m_init_value; - update += m_first_from[i]; + update += tmp; } }; @@ -73,6 +74,7 @@ struct ExclusiveScanDefaultFunctorWithValueWrapper { KOKKOS_FUNCTION void operator()(const IndexType i, value_type& update, const bool final_pass) const { + const auto tmp = value_type{m_first_from[i], false}; if (final_pass) { if (i == 0) { m_first_dest[i] = m_init_value; @@ -81,7 +83,6 @@ struct ExclusiveScanDefaultFunctorWithValueWrapper { } } - const auto tmp = value_type{m_first_from[i], false}; this->join(update, tmp); } @@ -132,6 +133,7 @@ struct TransformExclusiveScanFunctorWithValueWrapper { KOKKOS_FUNCTION void operator()(const IndexType i, value_type& update, const bool final_pass) const { + const auto tmp = value_type{m_unary_op(m_first_from[i]), false}; if (final_pass) { if (i == 0) { // for both ExclusiveScan and TransformExclusiveScan, @@ -142,7 +144,6 @@ struct TransformExclusiveScanFunctorWithValueWrapper { } } - const auto tmp = value_type{m_unary_op(m_first_from[i]), false}; this->join(update, tmp); } @@ -190,6 +191,7 @@ struct TransformExclusiveScanFunctorWithoutValueWrapper { KOKKOS_FUNCTION void operator()(const IndexType i, ValueType& update, const bool final_pass) const { + const auto tmp = ValueType{m_unary_op(m_first_from[i])}; if (final_pass) { if (i == 0) { // for both ExclusiveScan and TransformExclusiveScan, @@ -200,7 +202,6 @@ struct TransformExclusiveScanFunctorWithoutValueWrapper { } } - const auto tmp = ValueType{m_unary_op(m_first_from[i])}; this->join(update, tmp); } diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_RemoveAllVariants.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_RemoveAllVariants.hpp index 50224c8874..456df43aed 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_RemoveAllVariants.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_RemoveAllVariants.hpp @@ -46,15 +46,14 @@ struct StdRemoveIfStage1Functor { void operator()(const IndexType i, IndexType& update, const bool final_pass) const { auto& myval = m_first_from[i]; - if (final_pass) { - if (!m_must_remove(myval)) { + + if (!m_must_remove(myval)) { + if (final_pass) { // calling move here is ok because we are inside final pass // we are calling move assign as specified by the std m_first_dest[update] = std::move(myval); } - } - if (!m_must_remove(myval)) { update += 1; } } @@ -108,7 +107,9 @@ IteratorType remove_if_exespace_impl(const std::string& label, // create helper tmp view using value_type = typename IteratorType::value_type; using tmp_view_type = Kokkos::View; - tmp_view_type tmp_view("std_remove_if_tmp_view", keep_count); + tmp_view_type tmp_view(Kokkos::view_alloc(Kokkos::WithoutInitializing, ex, + "std_remove_if_tmp_view"), + keep_count); using tmp_readwrite_iterator_type = decltype(begin(tmp_view)); // in stage 1, *move* all elements to keep from original range to tmp diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Reverse.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Reverse.hpp index 428dc0d744..b4046c7645 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Reverse.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Reverse.hpp @@ -21,7 +21,6 @@ #include "Kokkos_Constraints.hpp" #include "Kokkos_HelperPredicates.hpp" #include -#include #include namespace Kokkos { @@ -39,7 +38,7 @@ struct StdReverseFunctor { KOKKOS_FUNCTION void operator()(index_type i) const { - ::Kokkos::Experimental::swap(m_first[i], m_last[-i - 1]); + ::Kokkos::kokkos_swap(m_first[i], m_last[-i - 1]); } KOKKOS_FUNCTION diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftLeft.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftLeft.hpp index 50bc7c8d61..9414748507 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftLeft.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftLeft.hpp @@ -126,10 +126,11 @@ KOKKOS_FUNCTION IteratorType shift_left_team_impl( // execution space impl because for this team impl we are // within a parallel region, so for now we solve serially - const std::size_t numElementsToMove = + using difference_type = typename IteratorType::difference_type; + const difference_type numElementsToMove = ::Kokkos::Experimental::distance(first + n, last); Kokkos::single(Kokkos::PerTeam(teamHandle), [=]() { - for (std::size_t i = 0; i < numElementsToMove; ++i) { + for (difference_type i = 0; i < numElementsToMove; ++i) { first[i] = std::move(first[i + n]); } }); diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftRight.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftRight.hpp index cac20bfbba..0414e6f1c2 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftRight.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftRight.hpp @@ -103,26 +103,6 @@ IteratorType shift_right_exespace_impl( return first + n; } -template -struct StdShiftRightTeamSingleFunctor { - Iterator m_first; - Iterator m_last; - std::size_t m_shift; - - KOKKOS_FUNCTION - void operator()() const { - // the impl function calling this functor guarantees that - // - m_shift is non-negative - // - m_first, m_last identify a valid range with m_last > m_first - // - m_shift is less than m_last - m_first - // so I can safely use std::size_t here - } - - KOKKOS_FUNCTION - StdShiftRightTeamSingleFunctor(Iterator _first, Iterator _last, std::size_t n) - : m_first(std::move(_first)), m_last(std::move(_last)), m_shift(n) {} -}; - template KOKKOS_FUNCTION IteratorType shift_right_team_impl( const TeamHandleType& teamHandle, IteratorType first, IteratorType last, @@ -145,10 +125,11 @@ KOKKOS_FUNCTION IteratorType shift_right_team_impl( // execution space impl because for this team impl we are // within a parallel region, so for now we solve serially - const std::size_t numElementsToMove = + using difference_type = typename IteratorType::difference_type; + const difference_type numElementsToMove = ::Kokkos::Experimental::distance(first, last - n); Kokkos::single(Kokkos::PerTeam(teamHandle), [=]() { - for (std::size_t i = 0; i < numElementsToMove; ++i) { + for (difference_type i = 0; i < numElementsToMove; ++i) { last[-i - 1] = std::move(last[-n - i - 1]); } }); diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_SwapRanges.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_SwapRanges.hpp index 5bc77ed7dd..930a14ac48 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_SwapRanges.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_SwapRanges.hpp @@ -21,7 +21,6 @@ #include "Kokkos_Constraints.hpp" #include "Kokkos_HelperPredicates.hpp" #include -#include #include namespace Kokkos { @@ -36,7 +35,7 @@ struct StdSwapRangesFunctor { KOKKOS_FUNCTION void operator()(index_type i) const { - ::Kokkos::Experimental::swap(m_first1[i], m_first2[i]); + ::Kokkos::kokkos_swap(m_first1[i], m_first2[i]); } KOKKOS_FUNCTION diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Unique.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Unique.hpp index 11afa8ed6e..2863582458 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Unique.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Unique.hpp @@ -105,7 +105,9 @@ IteratorType unique_exespace_impl(const std::string& label, // using the same algorithm used for unique_copy but we now move things using value_type = typename IteratorType::value_type; using tmp_view_type = Kokkos::View; - tmp_view_type tmp_view("std_unique_tmp_view", num_elements_to_explore); + tmp_view_type tmp_view(Kokkos::view_alloc(ex, Kokkos::WithoutInitializing, + "std_unique_tmp_view"), + num_elements_to_explore); // scan extent is: num_elements_to_explore - 1 // for same reason as the one explained in unique_copy diff --git a/lib/kokkos/algorithms/unit_tests/CMakeLists.txt b/lib/kokkos/algorithms/unit_tests/CMakeLists.txt index 419f5ec1d1..db184bc8a9 100644 --- a/lib/kokkos/algorithms/unit_tests/CMakeLists.txt +++ b/lib/kokkos/algorithms/unit_tests/CMakeLists.txt @@ -25,6 +25,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) set(ALGO_SORT_SOURCES) foreach(SOURCE_Input TestSort + TestSortByKey TestSortCustomComp TestBinSortA TestBinSortB @@ -57,35 +58,37 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) configure_file(${dir}/dummy.cpp ${file}) list(APPEND ALGO_RANDOM_SOURCES ${file}) endforeach() + endif() +endforeach() - # ------------------------------------------ - # std set A - # ------------------------------------------ - set(STDALGO_SOURCES_A) - foreach(Name +# ------------------------------------------ +# std set A +# ------------------------------------------ +set(STDALGO_SOURCES_A) +foreach(Name StdReducers StdAlgorithmsConstraints RandomAccessIterator - ) - list(APPEND STDALGO_SOURCES_A Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_A Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std set B - # ------------------------------------------ - set(STDALGO_SOURCES_B) - foreach(Name +# ------------------------------------------ +# std set B +# ------------------------------------------ +set(STDALGO_SOURCES_B) +foreach(Name StdAlgorithmsCommon StdAlgorithmsMinMaxElementOps - ) - list(APPEND STDALGO_SOURCES_B Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_B Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std set C - # ------------------------------------------ - set(STDALGO_SOURCES_C) - foreach(Name +# ------------------------------------------ +# std set C +# ------------------------------------------ +set(STDALGO_SOURCES_C) +foreach(Name StdAlgorithmsCommon StdAlgorithmsLexicographicalCompare StdAlgorithmsForEach @@ -100,15 +103,15 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsSearch_n StdAlgorithmsMismatch StdAlgorithmsMoveBackward - ) - list(APPEND STDALGO_SOURCES_C Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_C Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std set D - # ------------------------------------------ - set(STDALGO_SOURCES_D) - foreach(Name +# ------------------------------------------ +# std set D +# ------------------------------------------ +set(STDALGO_SOURCES_D) +foreach(Name StdAlgorithmsCommon StdAlgorithmsModOps StdAlgorithmsModSeqOps @@ -128,15 +131,15 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsReverse StdAlgorithmsShiftLeft StdAlgorithmsShiftRight - ) - list(APPEND STDALGO_SOURCES_D Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_D Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std set E - # ------------------------------------------ - set(STDALGO_SOURCES_E) - foreach(Name +# ------------------------------------------ +# std set E +# ------------------------------------------ +set(STDALGO_SOURCES_E) +foreach(Name StdAlgorithmsCommon StdAlgorithmsIsSorted StdAlgorithmsIsSortedUntil @@ -149,83 +152,83 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTransformUnaryOp StdAlgorithmsTransformExclusiveScan StdAlgorithmsTransformInclusiveScan - ) - list(APPEND STDALGO_SOURCES_E Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_E Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team Q - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_Q) - foreach(Name +# ------------------------------------------ +# std team Q +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_Q) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamInclusiveScan StdAlgorithmsTeamTransformInclusiveScan - ) - list(APPEND STDALGO_TEAM_SOURCES_Q Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_Q Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team P - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_P) - foreach(Name +# ------------------------------------------ +# std team P +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_P) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamExclusiveScan StdAlgorithmsTeamTransformExclusiveScan - ) - list(APPEND STDALGO_TEAM_SOURCES_P Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_P Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team M - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_M) - foreach(Name +# ------------------------------------------ +# std team M +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_M) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamTransformUnaryOp StdAlgorithmsTeamTransformBinaryOp StdAlgorithmsTeamGenerate StdAlgorithmsTeamGenerate_n StdAlgorithmsTeamSwapRanges - ) - list(APPEND STDALGO_TEAM_SOURCES_M Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_M Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team L - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_L) - foreach(Name +# ------------------------------------------ +# std team L +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_L) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamIsSorted StdAlgorithmsTeamIsSortedUntil StdAlgorithmsTeamIsPartitioned StdAlgorithmsTeamPartitionCopy StdAlgorithmsTeamPartitionPoint - ) - list(APPEND STDALGO_TEAM_SOURCES_L Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_L Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team I - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_I) - foreach(Name +# ------------------------------------------ +# std team I +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_I) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamUnique StdAlgorithmsTeamAdjacentDifference StdAlgorithmsTeamReduce StdAlgorithmsTeamTransformReduce - ) - list(APPEND STDALGO_TEAM_SOURCES_I Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_I Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team H - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_H) - foreach(Name +# ------------------------------------------ +# std team H +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_H) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamCopy StdAlgorithmsTeamCopy_n @@ -236,43 +239,43 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTeamRemoveIf StdAlgorithmsTeamRemoveCopy StdAlgorithmsTeamRemoveCopyIf - ) - list(APPEND STDALGO_TEAM_SOURCES_H Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_H Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team G - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_G) - foreach(Name +# ------------------------------------------ +# std team G +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_G) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamMove StdAlgorithmsTeamMoveBackward StdAlgorithmsTeamShiftLeft StdAlgorithmsTeamShiftRight - ) - list(APPEND STDALGO_TEAM_SOURCES_G Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_G Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team F - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_F) - foreach(Name +# ------------------------------------------ +# std team F +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_F) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamReverse StdAlgorithmsTeamReverseCopy StdAlgorithmsTeamRotate StdAlgorithmsTeamRotateCopy - ) - list(APPEND STDALGO_TEAM_SOURCES_F Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_F Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team E - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_E) - foreach(Name +# ------------------------------------------ +# std team E +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_E) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamFill StdAlgorithmsTeamFill_n @@ -280,28 +283,28 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTeamReplaceIf StdAlgorithmsTeamReplaceCopy StdAlgorithmsTeamReplaceCopyIf - ) - list(APPEND STDALGO_TEAM_SOURCES_E Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_E Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team D - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_D) - foreach(Name +# ------------------------------------------ +# std team D +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_D) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamMinElement StdAlgorithmsTeamMaxElement StdAlgorithmsTeamMinMaxElement - ) - list(APPEND STDALGO_TEAM_SOURCES_D Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_D Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team C - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_C) - foreach(Name +# ------------------------------------------ +# std team C +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_C) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamFind StdAlgorithmsTeamFindIf @@ -310,29 +313,29 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTeamAnyOf StdAlgorithmsTeamNoneOf StdAlgorithmsTeamSearchN - ) - list(APPEND STDALGO_TEAM_SOURCES_C Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_C Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team B - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_B) - foreach(Name +# ------------------------------------------ +# std team B +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_B) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamEqual StdAlgorithmsTeamSearch StdAlgorithmsTeamFindEnd StdAlgorithmsTeamFindFirstOf - ) - list(APPEND STDALGO_TEAM_SOURCES_B Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_B Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team A - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_A) - foreach(Name +# ------------------------------------------ +# std team A +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_A) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamAdjacentFind StdAlgorithmsTeamCount @@ -341,11 +344,8 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTeamForEachN StdAlgorithmsTeamLexicographicalCompare StdAlgorithmsTeamMismatch - ) - list(APPEND STDALGO_TEAM_SOURCES_A Test${Name}.cpp) - endforeach() - - endif() + ) + list(APPEND STDALGO_TEAM_SOURCES_A Test${Name}.cpp) endforeach() # FIXME_OPENMPTARGET - remove sort test as it leads to ICE with clang/16 and above at compile time. diff --git a/lib/kokkos/algorithms/unit_tests/Makefile b/lib/kokkos/algorithms/unit_tests/Makefile index 601217799a..d3946c149b 100644 --- a/lib/kokkos/algorithms/unit_tests/Makefile +++ b/lib/kokkos/algorithms/unit_tests/Makefile @@ -27,13 +27,13 @@ TARGETS = tmp := $(foreach device, $(KOKKOS_DEVICELIST), \ $(if $(filter Test$(device).cpp, $(shell ls Test$(device).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " > Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ ) \ ) diff --git a/lib/kokkos/algorithms/unit_tests/TestSortByKey.hpp b/lib/kokkos/algorithms/unit_tests/TestSortByKey.hpp new file mode 100644 index 0000000000..16f68eaaf2 --- /dev/null +++ b/lib/kokkos/algorithms/unit_tests/TestSortByKey.hpp @@ -0,0 +1,241 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_ALGORITHMS_UNITTESTS_TEST_SORT_BY_KEY_HPP +#define KOKKOS_ALGORITHMS_UNITTESTS_TEST_SORT_BY_KEY_HPP + +#include +#include +#include +#include + +#include // pair + +namespace Test { +namespace SortImpl { + +struct Less { + template + KOKKOS_INLINE_FUNCTION bool operator()(const ValueType &lhs, + const ValueType &rhs) const { + return lhs < rhs; + } +}; + +struct Greater { + template + KOKKOS_INLINE_FUNCTION bool operator()(const ValueType &lhs, + const ValueType &rhs) const { + return lhs > rhs; + } +}; + +template +struct is_sorted_by_key_struct { + Keys keys; + Keys keys_orig; + Permute permute; + Comparator comparator; + + is_sorted_by_key_struct(Keys keys_, Keys keys_orig_, Permute permute_, + Comparator comparator_ = Comparator{}) + : keys(keys_), + keys_orig(keys_orig_), + permute(permute_), + comparator(comparator_) {} + KOKKOS_INLINE_FUNCTION + void operator()(int i, unsigned int &count) const { + if (i < keys.extent_int(0) - 1 && comparator(keys(i + 1), keys(i))) ++count; + if (keys(i) != keys_orig(permute(i))) ++count; + } +}; + +template +void iota(ExecutionSpace const &space, ViewType const &v, + typename ViewType::value_type value = 0) { + using ValueType = typename ViewType::value_type; + Kokkos::parallel_for( + "ArborX::Algorithms::iota", + Kokkos::RangePolicy(space, 0, v.extent(0)), + KOKKOS_LAMBDA(int i) { v(i) = value + (ValueType)i; }); +} + +} // namespace SortImpl + +TEST(TEST_CATEGORY, SortByKeyEmptyView) { + using ExecutionSpace = TEST_EXECSPACE; + + // does not matter if we use int or something else + Kokkos::View keys("keys", 0); + Kokkos::View values("values", 0); + + ASSERT_NO_THROW( + Kokkos::Experimental::sort_by_key(ExecutionSpace(), keys, values)); +} + +TEST(TEST_CATEGORY, SortByKey) { + using ExecutionSpace = TEST_EXECSPACE; + using MemorySpace = typename ExecutionSpace::memory_space; + + ExecutionSpace space{}; + + for (auto keys_vector : {std::vector{36, 19, 25, 17, 3, 7, 1, 2, 9}, + std::vector{36, 19, 25, 17, 3, 9, 1, 2, 7}, + std::vector{100, 19, 36, 17, 3, 25, 1, 2, 7}, + std::vector{15, 5, 11, 3, 4, 8}}) { + auto const n = keys_vector.size(); + + auto keys = Kokkos::create_mirror_view_and_copy( + MemorySpace{}, + Kokkos::View( + keys_vector.data(), n)); + + auto keys_orig = Kokkos::create_mirror(space, keys); + Kokkos::deep_copy(space, keys_orig, keys); + + Kokkos::View permute("permute", n); + SortImpl::iota(space, permute); + + Kokkos::Experimental::sort_by_key(space, keys, permute); + + unsigned int sort_fails = 0; + Kokkos::parallel_reduce( + Kokkos::RangePolicy(space, 0, n), + SortImpl::is_sorted_by_key_struct(keys, keys_orig, + permute), + sort_fails); + + ASSERT_EQ(sort_fails, 0u); + } +} + +TEST(TEST_CATEGORY, SortByKeyWithComparator) { + using ExecutionSpace = TEST_EXECSPACE; + using MemorySpace = typename ExecutionSpace::memory_space; + + ExecutionSpace space{}; + + SortImpl::Greater comparator; + + for (auto keys_vector : {std::vector{36, 19, 25, 17, 3, 7, 1, 2, 9}, + std::vector{36, 19, 25, 17, 3, 9, 1, 2, 7}, + std::vector{100, 19, 36, 17, 3, 25, 1, 2, 7}, + std::vector{15, 5, 11, 3, 4, 8}}) { + auto const n = keys_vector.size(); + + auto keys = Kokkos::create_mirror_view_and_copy( + MemorySpace{}, + Kokkos::View( + keys_vector.data(), n)); + + auto keys_orig = Kokkos::create_mirror(space, keys); + Kokkos::deep_copy(space, keys_orig, keys); + + Kokkos::View permute("permute", n); + SortImpl::iota(space, permute); + + Kokkos::Experimental::sort_by_key(space, keys, permute, comparator); + + unsigned int sort_fails = 0; + Kokkos::parallel_reduce( + Kokkos::RangePolicy(space, 0, n), + SortImpl::is_sorted_by_key_struct( + keys, keys_orig, permute, comparator), + sort_fails); + + ASSERT_EQ(sort_fails, 0u); + } +} + +TEST(TEST_CATEGORY, SortByKeyStaticExtents) { + using ExecutionSpace = TEST_EXECSPACE; + + ExecutionSpace space{}; + + Kokkos::View keys("keys"); + + Kokkos::View values_static("values_static"); + ASSERT_NO_THROW( + Kokkos::Experimental::sort_by_key(space, keys, values_static)); + + Kokkos::View values_dynamic("values_dynamic", 10); + ASSERT_NO_THROW( + Kokkos::Experimental::sort_by_key(space, keys, values_dynamic)); +} + +template +void buildViewsForStrided(ExecutionSpace const &space, int n, Keys &keys, + Values &values) { + Kokkos::parallel_for( + "create_data", + Kokkos::MDRangePolicy, ExecutionSpace>(space, {0, 0, 0}, + {n, n, n}), + KOKKOS_LAMBDA(int i, int j, int k) { + keys(i, j, k) = n - i; + values(i, j, k) = j; + }); +} + +TEST(TEST_CATEGORY, SortByKeyWithStrides) { + using ExecutionSpace = TEST_EXECSPACE; + + ExecutionSpace space{}; + + auto const n = 10; + + Kokkos::View keys("keys", n, n, n); + Kokkos::View values("values", n, n, n); + buildViewsForStrided(space, n, keys, values); + + auto keys_sub = Kokkos::subview(keys, Kokkos::ALL(), 1, 2); + auto values_sub = Kokkos::subview(values, 4, Kokkos::ALL(), 6); + + auto keys_orig = Kokkos::create_mirror(space, keys_sub); + Kokkos::deep_copy(space, keys_orig, keys_sub); + + Kokkos::Experimental::sort_by_key(space, keys_sub, values_sub); + + unsigned int sort_fails = 0; + Kokkos::parallel_reduce( + Kokkos::RangePolicy(space, 0, n), + SortImpl::is_sorted_by_key_struct( + keys_sub, keys_orig, values_sub), + sort_fails); + + ASSERT_EQ(sort_fails, 0u); +} + +TEST(TEST_CATEGORY, SortByKeyKeysLargerThanValues) { + using ExecutionSpace = TEST_EXECSPACE; + + // does not matter if we use int or something else + Kokkos::View keys("keys", 3); + Kokkos::View values("values", 1); + + ASSERT_DEATH( + Kokkos::Experimental::sort_by_key(ExecutionSpace(), keys, values), + "values and keys extents must be the same"); + ASSERT_DEATH(Kokkos::Experimental::sort_by_key(ExecutionSpace(), keys, values, + SortImpl::Greater{}), + "values and keys extents must be the same"); +} + +} // namespace Test +#endif diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp index b962218b5f..67052e2f9d 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp @@ -198,8 +198,9 @@ auto create_deep_copyable_compatible_view_with_same_extent(ViewType view) { // this is needed for intel to avoid // error #1011: missing return statement at end of non-void function -#if defined KOKKOS_COMPILER_INTEL || \ - (defined(KOKKOS_COMPILER_NVCC) && KOKKOS_COMPILER_NVCC >= 1130) +#if defined KOKKOS_COMPILER_INTEL || \ + (defined(KOKKOS_COMPILER_NVCC) && KOKKOS_COMPILER_NVCC >= 1130 && \ + !defined(KOKKOS_COMPILER_MSVC)) __builtin_unreachable(); #endif } @@ -238,16 +239,8 @@ KOKKOS_FUNCTION bool team_members_have_matching_result( // set accum to 1 if a mismach is found const bool mismatch = memberValue != target; int accum = static_cast(mismatch); - // FIXME_OPENMPTARGET: team API does not meet the TeamHandle concept and - // ignores the reducer passed -#if defined KOKKOS_ENABLE_OPENMPTARGET - Kokkos::Sum dummyReducer(accum); - const auto result = teamHandle.team_reduce(accum, dummyReducer); - return (result == 0); -#else teamHandle.team_reduce(Kokkos::Sum(accum)); return (accum == 0); -#endif } template diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsExclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsExclusiveScan.cpp index 6ab68a1987..b364c53a88 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsExclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsExclusiveScan.cpp @@ -16,6 +16,7 @@ #include #include +#include namespace Test { namespace stdalgos { @@ -132,47 +133,6 @@ void my_host_exclusive_scan(it1 first, it1 last, it2 dest, ValType init, } } -template -void verify_data(ViewType1 data_view, // contains data - ViewType2 test_view, // the view to test - ValueType init_value, BinaryOp bop) { - //! always careful because views might not be deep copyable - - auto data_view_dc = create_deep_copyable_compatible_clone(data_view); - auto data_view_h = - create_mirror_view_and_copy(Kokkos::HostSpace(), data_view_dc); - - using gold_view_value_type = typename ViewType2::value_type; - Kokkos::View gold_h( - "goldh", data_view.extent(0)); - my_host_exclusive_scan(KE::cbegin(data_view_h), KE::cend(data_view_h), - KE::begin(gold_h), init_value, bop); - - auto test_view_dc = create_deep_copyable_compatible_clone(test_view); - auto test_view_h = - create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); - if (test_view_h.extent(0) > 0) { - for (std::size_t i = 0; i < test_view_h.extent(0); ++i) { - // std::cout << i << " " << std::setprecision(15) << data_view_h(i) << " " - // << gold_h(i) << " " << test_view_h(i) << " " - // << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - if (std::is_same::value) { - ASSERT_EQ(gold_h(i), test_view_h(i)); - } else { - const auto error = - std::abs(static_cast(gold_h(i) - test_view_h(i))); - if (error > 1e-10) { - std::cout << i << " " << std::setprecision(15) << data_view_h(i) - << " " << gold_h(i) << " " << test_view_h(i) << " " - << std::abs(static_cast(gold_h(i) - test_view_h(i))) - << std::endl; - } - EXPECT_LT(error, 1e-10); - } - } - } -} - template struct MultiplyFunctor { KOKKOS_INLINE_FUNCTION @@ -189,107 +149,153 @@ struct SumFunctor { } }; +struct VerifyData { + template + void operator()(ViewType1 data_view, // contains data + ViewType2 test_view, // the view to test + ValueType init_value, BinaryOp bop) { + //! always careful because views might not be deep copyable + + auto data_view_dc = create_deep_copyable_compatible_clone(data_view); + auto data_view_h = + create_mirror_view_and_copy(Kokkos::HostSpace(), data_view_dc); + + using gold_view_value_type = typename ViewType2::value_type; + Kokkos::View gold_h( + "goldh", data_view.extent(0)); + my_host_exclusive_scan(KE::cbegin(data_view_h), KE::cend(data_view_h), + KE::begin(gold_h), init_value, bop); + + auto test_view_dc = create_deep_copyable_compatible_clone(test_view); + auto test_view_h = + create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); + if (test_view_h.extent(0) > 0) { + for (std::size_t i = 0; i < test_view_h.extent(0); ++i) { + if (std::is_same::value) { + ASSERT_EQ(gold_h(i), test_view_h(i)); + } else { + const auto error = + std::abs(static_cast(gold_h(i) - test_view_h(i))); + ASSERT_LT(error, 1e-10) << i << " " << std::setprecision(15) << error + << static_cast(test_view_h(i)) << " " + << static_cast(gold_h(i)); + } + } + } + } + + template + void operator()(ViewType1 data_view, // contains data + ViewType2 test_view, // the view to test + ValueType init_value) { + (*this)(data_view, test_view, init_value, SumFunctor()); + } +}; + std::string value_type_to_string(int) { return "int"; } std::string value_type_to_string(double) { return "double"; } -template -void run_single_scenario_default_op(const InfoType& scenario_info, - ValueType init_value) { - using default_op = SumFunctor; +template +void run_single_scenario(const InfoType& scenario_info, ValueType init_value, + OpOrEmpty... empty_or_op) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // std::cout << "exclusive_scan default op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " - // << "init = " << init_value << std::endl; auto view_dest = create_view(Tag{}, view_ext, "exclusive_scan"); auto view_from = create_view(Tag{}, view_ext, "exclusive_scan"); fill_view(view_from, name); + // view_dest is filled with zeros before calling the algorithm everytime to + // ensure the algorithm does something meaningful { fill_zero(view_dest); auto r = KE::exclusive_scan(exespace(), KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), - init_value); + init_value, empty_or_op...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, default_op()); + VerifyData()(view_from, view_dest, init_value, empty_or_op...); } { fill_zero(view_dest); auto r = KE::exclusive_scan("label", exespace(), KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), - init_value); + init_value, empty_or_op...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, default_op()); + VerifyData()(view_from, view_dest, init_value, empty_or_op...); } { fill_zero(view_dest); - auto r = KE::exclusive_scan(exespace(), view_from, view_dest, init_value); + auto r = KE::exclusive_scan(exespace(), view_from, view_dest, init_value, + empty_or_op...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, default_op()); + VerifyData()(view_from, view_dest, init_value, empty_or_op...); } { fill_zero(view_dest); auto r = KE::exclusive_scan("label", exespace(), view_from, view_dest, - init_value); + init_value, empty_or_op...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, default_op()); + VerifyData()(view_from, view_dest, init_value, empty_or_op...); } Kokkos::fence(); } -template -void run_single_scenario_custom_op(const InfoType& scenario_info, - ValueType init_value, BinaryOp bop) { +template +void run_single_scenario_inplace(const InfoType& scenario_info, + ValueType init_value, + OpOrEmpty... empty_or_op) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // std::cout << "exclusive_scan custom op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " - // << "init = " << init_value << std::endl; - auto view_dest = create_view(Tag{}, view_ext, "exclusive_scan"); - auto view_from = create_view(Tag{}, view_ext, "exclusive_scan"); - fill_view(view_from, name); + // since here we call the in-place operation, we need to use two views: + // view1: filled according to what the scenario asks for and is not modified + // view2: filled according to what the scenario asks for and used for the + // in-place op Therefore, after the op is done, view2 should contain the + // result of doing exclusive scan NOTE: view2 is filled below every time + // because the algorithm acts in place + auto view1 = + create_view(Tag{}, view_ext, "exclusive_scan_inplace_view1"); + fill_view(view1, name); + + auto view2 = + create_view(Tag{}, view_ext, "exclusive_scan_inplace_view2"); { - fill_zero(view_dest); - auto r = KE::exclusive_scan(exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), - init_value, bop); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, bop); + fill_view(view2, name); + auto r = KE::exclusive_scan(exespace(), KE::cbegin(view2), KE::cend(view2), + KE::begin(view2), init_value, empty_or_op...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, init_value, empty_or_op...); } { - fill_zero(view_dest); - auto r = KE::exclusive_scan("label", exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), - init_value, bop); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, bop); + fill_view(view2, name); + auto r = KE::exclusive_scan("label", exespace(), KE::cbegin(view2), + KE::cend(view2), KE::begin(view2), init_value, + empty_or_op...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, init_value, empty_or_op...); } { - fill_zero(view_dest); - auto r = - KE::exclusive_scan(exespace(), view_from, view_dest, init_value, bop); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, bop); + fill_view(view2, name); + auto r = KE::exclusive_scan(exespace(), view2, view2, init_value, + empty_or_op...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, init_value, empty_or_op...); } { - fill_zero(view_dest); - auto r = KE::exclusive_scan("label", exespace(), view_from, view_dest, - init_value, bop); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, bop); + fill_view(view2, name); + auto r = KE::exclusive_scan("label", exespace(), view2, view2, init_value, + empty_or_op...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, init_value, empty_or_op...); } Kokkos::fence(); @@ -303,34 +309,39 @@ void run_exclusive_scan_all_scenarios() { {"medium", 1103}, {"large", 10513}}; for (const auto& it : scenarios) { - run_single_scenario_default_op(it, ValueType{0}); - run_single_scenario_default_op(it, ValueType{1}); - run_single_scenario_default_op(it, ValueType{-2}); - run_single_scenario_default_op(it, ValueType{3}); + run_single_scenario(it, ValueType{0}); + run_single_scenario(it, ValueType{1}); + run_single_scenario(it, ValueType{-2}); + run_single_scenario(it, ValueType{3}); + + run_single_scenario_inplace(it, ValueType{0}); + run_single_scenario_inplace(it, ValueType{-2}); #if !defined KOKKOS_ENABLE_OPENMPTARGET // custom multiply op is only run for small views otherwise it overflows if (it.first == "small-a" || it.first == "small-b") { using custom_bop_t = MultiplyFunctor; - run_single_scenario_custom_op(it, ValueType{0}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{1}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{-2}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{3}, - custom_bop_t()); + run_single_scenario(it, ValueType{0}, custom_bop_t()); + run_single_scenario(it, ValueType{1}, custom_bop_t()); + run_single_scenario(it, ValueType{-2}, custom_bop_t()); + run_single_scenario(it, ValueType{3}, custom_bop_t()); + + run_single_scenario_inplace(it, ValueType{0}, + custom_bop_t()); + run_single_scenario_inplace(it, ValueType{-2}, + custom_bop_t()); } using custom_bop_t = SumFunctor; - run_single_scenario_custom_op(it, ValueType{0}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{1}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{-2}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{3}, - custom_bop_t()); + run_single_scenario(it, ValueType{0}, custom_bop_t()); + run_single_scenario(it, ValueType{1}, custom_bop_t()); + run_single_scenario(it, ValueType{-2}, custom_bop_t()); + run_single_scenario(it, ValueType{3}, custom_bop_t()); + + run_single_scenario_inplace(it, ValueType{0}, + custom_bop_t()); + run_single_scenario_inplace(it, ValueType{-2}, + custom_bop_t()); #endif } } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsInclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsInclusiveScan.cpp index 8e60a43e5f..a08a737210 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsInclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsInclusiveScan.cpp @@ -16,6 +16,7 @@ #include #include +#include namespace Test { namespace stdalgos { @@ -143,51 +144,6 @@ void my_host_inclusive_scan(it1 first, it1 last, it2 dest, BinOp bop, } } -template -void verify_data(ViewType1 data_view, // contains data - ViewType2 test_view, // the view to test - BinaryOp bop, Args... args /* copy on purpose */) { - //! always careful because views might not be deep copyable - - auto data_view_dc = create_deep_copyable_compatible_clone(data_view); - auto data_view_h = - create_mirror_view_and_copy(Kokkos::HostSpace(), data_view_dc); - - using gold_view_value_type = typename ViewType2::value_type; - Kokkos::View gold_h( - "goldh", data_view.extent(0)); - my_host_inclusive_scan(KE::cbegin(data_view_h), KE::cend(data_view_h), - KE::begin(gold_h), bop, args...); - - auto test_view_dc = create_deep_copyable_compatible_clone(test_view); - auto test_view_h = - create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); - - const auto ext = test_view_h.extent(0); - if (ext > 0) { - for (std::size_t i = 0; i < ext; ++i) { - // std::cout << i << " " << std::setprecision(15) << data_view_h(i) << " " - // << gold_h(i) << " " << test_view_h(i) << " " - // << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - - if (std::is_same::value) { - ASSERT_EQ(gold_h(i), test_view_h(i)); - } else { - const auto error = - std::abs(static_cast(gold_h(i) - test_view_h(i))); - if (error > 1e-10) { - std::cout << i << " " << std::setprecision(15) << data_view_h(i) - << " " << gold_h(i) << " " << test_view_h(i) << " " - << std::abs(static_cast(gold_h(i) - test_view_h(i))) - << std::endl; - } - EXPECT_LT(error, 1e-10); - } - } - // std::cout << " last el: " << test_view_h(ext-1) << std::endl; - } -} - template struct MultiplyFunctor { KOKKOS_INLINE_FUNCTION @@ -204,107 +160,151 @@ struct SumFunctor { } }; +struct VerifyData { + template + void operator()(ViewType1 data_view, // contains data + ViewType2 test_view, // the view to test + BinaryOp bop, Args... args /* copy on purpose */) { + //! always careful because views might not be deep copyable + + auto data_view_dc = create_deep_copyable_compatible_clone(data_view); + auto data_view_h = + create_mirror_view_and_copy(Kokkos::HostSpace(), data_view_dc); + + using gold_view_value_type = typename ViewType2::value_type; + Kokkos::View gold_h( + "goldh", data_view.extent(0)); + my_host_inclusive_scan(KE::cbegin(data_view_h), KE::cend(data_view_h), + KE::begin(gold_h), bop, args...); + + auto test_view_dc = create_deep_copyable_compatible_clone(test_view); + auto test_view_h = + create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); + + const auto ext = test_view_h.extent(0); + if (ext > 0) { + for (std::size_t i = 0; i < ext; ++i) { + if (std::is_same::value) { + ASSERT_EQ(gold_h(i), test_view_h(i)); + } else { + const auto error = + std::abs(static_cast(gold_h(i) - test_view_h(i))); + ASSERT_LT(error, 1e-10) << i << " " << std::setprecision(15) << error + << static_cast(test_view_h(i)) << " " + << static_cast(gold_h(i)); + } + } + } + } + + template + void operator()(ViewType1 data_view, // contains data + ViewType2 test_view) // the view to test + { + using value_type = typename ViewType1::non_const_value_type; + (*this)(data_view, test_view, SumFunctor()); + } +}; + std::string value_type_to_string(int) { return "int"; } std::string value_type_to_string(double) { return "double"; } -template -void run_single_scenario_default_op(const InfoType& scenario_info) { - using default_op = SumFunctor; +template +void run_single_scenario(const InfoType& scenario_info, + Args... args /* copy on purpose */) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // std::cout << "inclusive_scan default op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << std::endl; auto view_dest = create_view(Tag{}, view_ext, "inclusive_scan"); auto view_from = create_view(Tag{}, view_ext, "inclusive_scan"); fill_view(view_from, name); + // view_dest is filled with zeros before calling the algorithm everytime to + // ensure the algorithm does something meaningful { fill_zero(view_dest); - auto r = KE::inclusive_scan(exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest)); + auto r = + KE::inclusive_scan(exespace(), KE::cbegin(view_from), + KE::cend(view_from), KE::begin(view_dest), args...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, default_op()); + VerifyData()(view_from, view_dest, args...); } { fill_zero(view_dest); - auto r = KE::inclusive_scan("label", exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest)); + auto r = + KE::inclusive_scan("label", exespace(), KE::cbegin(view_from), + KE::cend(view_from), KE::begin(view_dest), args...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, default_op()); + VerifyData()(view_from, view_dest, args...); } { fill_zero(view_dest); - auto r = KE::inclusive_scan(exespace(), view_from, view_dest); + auto r = KE::inclusive_scan(exespace(), view_from, view_dest, args...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, default_op()); + VerifyData()(view_from, view_dest, args...); } { fill_zero(view_dest); - auto r = KE::inclusive_scan("label", exespace(), view_from, view_dest); + auto r = + KE::inclusive_scan("label", exespace(), view_from, view_dest, args...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, default_op()); + VerifyData()(view_from, view_dest, args...); } Kokkos::fence(); } -template -void run_single_scenario_custom_op(const InfoType& scenario_info, BinaryOp bop, - Args... args /* copy on purpose */) { +template +void run_single_scenario_inplace(const InfoType& scenario_info, + Args... args /* copy on purpose */) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // if (1 == sizeof...(Args)) { - // std::cout << "inclusive_scan custom op and init value: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " << std::endl; - // } else { - // std::cout << "inclusive_scan custom op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " << std::endl; - // } + // since here we call the in-place operation, we need to use two views: + // view1: filled according to what the scenario asks for and is not modified + // view2: filled according to what the scenario asks for and used for the + // in-place op Therefore, after the op is done, view_2 should contain the + // result of doing exclusive scan NOTE: view2 is filled below every time + // because the algorithm acts in place - auto view_dest = create_view(Tag{}, view_ext, "inclusive_scan"); - auto view_from = create_view(Tag{}, view_ext, "inclusive_scan"); - fill_view(view_from, name); + auto view1 = + create_view(Tag{}, view_ext, "inclusive_scan_inplace_view1"); + fill_view(view1, name); + + auto view2 = + create_view(Tag{}, view_ext, "inclusive_scan_inplace_view2"); { - fill_zero(view_dest); - auto r = KE::inclusive_scan(exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), bop, - args...); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, bop, args...); + fill_view(view2, name); + auto r = KE::inclusive_scan(exespace(), KE::cbegin(view2), KE::cend(view2), + KE::begin(view2), args...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, args...); } { - fill_zero(view_dest); - auto r = KE::inclusive_scan("label", exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), bop, - args...); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, bop, args...); + fill_view(view2, name); + auto r = KE::inclusive_scan("label", exespace(), KE::cbegin(view2), + KE::cend(view2), KE::begin(view2), args...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, args...); } { - fill_zero(view_dest); - auto r = KE::inclusive_scan(exespace(), view_from, view_dest, bop, args...); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, bop, args...); + fill_view(view2, name); + auto r = KE::inclusive_scan(exespace(), view2, view2, args...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, args...); } { - fill_zero(view_dest); - auto r = KE::inclusive_scan("label", exespace(), view_from, view_dest, bop, - args...); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, bop, args...); + fill_view(view2, name); + auto r = KE::inclusive_scan("label", exespace(), view2, view2, args...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, args...); } Kokkos::fence(); @@ -318,27 +318,35 @@ void run_inclusive_scan_all_scenarios() { {"medium-a", 313}, {"medium-b", 1103}, {"large", 10513}}; for (const auto& it : scenarios) { - run_single_scenario_default_op(it); + run_single_scenario(it); + run_single_scenario_inplace(it); #if !defined KOKKOS_ENABLE_OPENMPTARGET // the sum custom op is always run using sum_binary_op = SumFunctor; sum_binary_op sbop; - run_single_scenario_custom_op(it, sbop); - run_single_scenario_custom_op(it, sbop, ValueType{0}); - run_single_scenario_custom_op(it, sbop, ValueType{1}); - run_single_scenario_custom_op(it, sbop, ValueType{-2}); - run_single_scenario_custom_op(it, sbop, ValueType{3}); + run_single_scenario(it, sbop); + run_single_scenario(it, sbop, ValueType{0}); + run_single_scenario(it, sbop, ValueType{1}); + run_single_scenario(it, sbop, ValueType{-2}); + run_single_scenario(it, sbop, ValueType{3}); + + run_single_scenario_inplace(it, sbop, ValueType{0}); + run_single_scenario_inplace(it, sbop, ValueType{-2}); // custom multiply only for small views to avoid overflows if (it.first == "small-a" || it.first == "small-b") { using mult_binary_op = MultiplyFunctor; mult_binary_op mbop; - run_single_scenario_custom_op(it, mbop); - run_single_scenario_custom_op(it, mbop, ValueType{0}); - run_single_scenario_custom_op(it, mbop, ValueType{1}); - run_single_scenario_custom_op(it, mbop, ValueType{-2}); - run_single_scenario_custom_op(it, mbop, ValueType{3}); + run_single_scenario(it, mbop); + run_single_scenario(it, mbop, ValueType{0}); + run_single_scenario(it, mbop, ValueType{1}); + run_single_scenario(it, mbop, ValueType{-2}); + run_single_scenario(it, mbop, ValueType{3}); + + run_single_scenario_inplace(it, mbop); + run_single_scenario_inplace(it, mbop, ValueType{0}); + run_single_scenario_inplace(it, mbop, ValueType{-2}); } #endif } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSorted.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSorted.cpp index f31d49e06b..75d4f0afeb 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSorted.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSorted.cpp @@ -146,7 +146,7 @@ void run_single_scenario(const InfoType& scenario_info) { resultsA[3] = KE::is_sorted("label", exespace(), view); const auto allA = std::all_of(resultsA.cbegin(), resultsA.cend(), [=](bool v) { return v == gold; }); - EXPECT_TRUE(allA); + EXPECT_TRUE(allA) << name << ", " << view_tag_to_string(Tag{}); #if !defined KOKKOS_ENABLE_OPENMPTARGET CustomLessThanComparator comp; @@ -159,7 +159,7 @@ void run_single_scenario(const InfoType& scenario_info) { resultsB[3] = KE::is_sorted("label", exespace(), view, comp); const auto allB = std::all_of(resultsB.cbegin(), resultsB.cend(), [=](bool v) { return v == gold; }); - EXPECT_TRUE(allB); + EXPECT_TRUE(allB) << name << ", " << view_tag_to_string(Tag{}); #endif Kokkos::fence(); @@ -173,9 +173,6 @@ void run_is_sorted_all_scenarios() { {"medium-a", 1003}, {"medium-b", 1003}, {"large-a", 101513}, {"large-b", 101513}}; - std::cout << "is_sorted: " << view_tag_to_string(Tag{}) - << ", all overloads \n"; - for (const auto& it : scenarios) { run_single_scenario(it); } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSortedUntil.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSortedUntil.cpp index dcfe8ad67e..29ac7cc9bc 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSortedUntil.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSortedUntil.cpp @@ -145,10 +145,10 @@ void run_single_scenario(const InfoType& scenario_info) { KE::is_sorted_until("label", exespace(), KE::begin(view), KE::end(view)); auto r3 = KE::is_sorted_until(exespace(), view); auto r4 = KE::is_sorted_until("label", exespace(), view); - ASSERT_EQ(r1, gold); - ASSERT_EQ(r2, gold); - ASSERT_EQ(r3, gold); - ASSERT_EQ(r4, gold); + ASSERT_EQ(r1, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r2, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r3, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r4, gold) << name << ", " << view_tag_to_string(Tag{}); #if !defined KOKKOS_ENABLE_OPENMPTARGET CustomLessThanComparator comp; @@ -160,10 +160,10 @@ void run_single_scenario(const InfoType& scenario_info) { auto r8 = KE::is_sorted_until("label", exespace(), view, comp); #endif - ASSERT_EQ(r1, gold); - ASSERT_EQ(r2, gold); - ASSERT_EQ(r3, gold); - ASSERT_EQ(r4, gold); + ASSERT_EQ(r1, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r2, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r3, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r4, gold) << name << ", " << view_tag_to_string(Tag{}); Kokkos::fence(); } @@ -176,9 +176,6 @@ void run_is_sorted_until_all_scenarios() { {"medium-a", 1003}, {"medium-b", 1003}, {"large-a", 101513}, {"large-b", 101513}}; - std::cout << "is_sorted_until: " << view_tag_to_string(Tag{}) - << ", all overloads \n"; - for (const auto& it : scenarios) { run_single_scenario(it); } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsModOps.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsModOps.cpp index 4604764097..1b1a02f39c 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsModOps.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsModOps.cpp @@ -48,7 +48,7 @@ struct MyMovableType { TEST(std_algorithms_mod_ops_test, move) { MyMovableType a; using move_t = decltype(std::move(a)); - static_assert(std::is_rvalue_reference::value, ""); + static_assert(std::is_rvalue_reference::value); // move constr MyMovableType b(std::move(a)); @@ -70,7 +70,7 @@ struct StdAlgoModSeqOpsTestMove { void operator()(const int index) const { typename ViewType::value_type a{11}; using move_t = decltype(std::move(a)); - static_assert(std::is_rvalue_reference::value, ""); + static_assert(std::is_rvalue_reference::value); m_view(index) = std::move(a); } @@ -89,50 +89,6 @@ TEST(std_algorithms_mod_ops_test, move_within_parfor) { } } -// ------------ -// swap -// ------------ -TEST(std_algorithms_mod_ops_test, swap) { - { - int a = 1; - int b = 2; - KE::swap(a, b); - ASSERT_EQ(a, 2); - ASSERT_EQ(b, 1); - } - - { - double a = 3.; - double b = 1.; - KE::swap(a, b); - EXPECT_DOUBLE_EQ(a, 1.); - EXPECT_DOUBLE_EQ(b, 3.); - } -} - -template -struct StdAlgoModSeqOpsTestSwap { - ViewType m_view; - - KOKKOS_INLINE_FUNCTION - void operator()(const int index) const { - typename ViewType::value_type newval{11}; - KE::swap(m_view(index), newval); - } - - StdAlgoModSeqOpsTestSwap(ViewType aIn) : m_view(aIn) {} -}; - -TEST(std_algorithms_mod_ops_test, swap_within_parfor) { - auto a = create_view(stdalgos::DynamicTag{}, 10, "a"); - StdAlgoModSeqOpsTestSwap fnc(a); - Kokkos::parallel_for(a.extent(0), fnc); - auto a_h = Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), a); - for (std::size_t i = 0; i < a.extent(0); ++i) { - EXPECT_DOUBLE_EQ(a_h(0), 11.); - } -} - // ------------ // iter_swap // ------------ diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsPartitionCopy.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsPartitionCopy.cpp index f169fd9ce8..a36c9db2b9 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsPartitionCopy.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsPartitionCopy.cpp @@ -110,11 +110,9 @@ void verify_data(const std::string& name, ResultType my_result, ViewTypeDestFalse view_dest_false, PredType pred) { using value_type = typename ViewTypeFrom::value_type; static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); const std::size_t ext = view_from.extent(0); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp index b32a9be3a1..7c3c465dc8 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp @@ -139,7 +139,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { auto intraTeamSentinelView_h = create_host_space_copy(intraTeamSentinelView); Kokkos::View stdDestView("stdDestView", numTeams, numCols); - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < sourceView.extent(0); ++i) { auto rowFrom = Kokkos::subview(sourceViewBeforeOp_h, i, Kokkos::ALL()); auto rowDest = Kokkos::subview(stdDestView, i, Kokkos::ALL()); @@ -166,6 +166,10 @@ void run_all_scenarios() { } TEST(std_algorithms_copy_if_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamExclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamExclusiveScan.cpp index c6b2566c6c..2c8fee02f4 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamExclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamExclusiveScan.cpp @@ -121,7 +121,9 @@ struct TestFunctorA { } }; -template +struct InPlace {}; + +template void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { /* description: use a rank-2 view randomly filled with values, @@ -147,9 +149,6 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { using space_t = Kokkos::DefaultExecutionSpace; Kokkos::TeamPolicy policy(numTeams, Kokkos::AUTO()); - // create the destination view - Kokkos::View destView("destView", numTeams, numCols); - // exclusive_scan returns an iterator so to verify that it is correct // each team stores the distance of the returned iterator from the beginning // of the interval that team operates on and then we check that these @@ -168,12 +167,19 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { rand_pool pool(lowerBound * upperBound); Kokkos::fill_random(initValuesView_h, pool, lowerBound, upperBound); - // use CTAD for functor auto initValuesView = Kokkos::create_mirror_view_and_copy(space_t(), initValuesView_h); - TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, - initValuesView, binaryOp, apiId); - Kokkos::parallel_for(policy, fnc); + + Kokkos::View destView("destView", numTeams, numCols); + if constexpr (std::is_same_v) { + TestFunctorA fnc(sourceView, sourceView, distancesView, + intraTeamSentinelView, initValuesView, binaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } else { + TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, + initValuesView, binaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } // ----------------------------------------------- // run cpp-std kernel and check @@ -223,11 +229,16 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { #undef exclusive_scan } - auto dataViewAfterOp_h = create_host_space_copy(destView); - expect_equal_host_views(stdDestView, dataViewAfterOp_h); + if constexpr (std::is_same_v) { + auto dataViewAfterOp_h = create_host_space_copy(sourceView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } else { + auto dataViewAfterOp_h = create_host_space_copy(destView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } } -template +template void run_all_scenarios() { for (int numTeams : teamSizesToTest) { for (const auto& numCols : {0, 1, 2, 13, 101, 1444, 8153}) { @@ -236,16 +247,24 @@ void run_all_scenarios() { #else for (int apiId : {0, 1}) { #endif - test_A(numTeams, numCols, apiId); + test_A(numTeams, numCols, apiId); } } } } TEST(std_algorithms_exclusive_scan_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); + + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } } // namespace TeamExclusiveScan diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamInclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamInclusiveScan.cpp index 0daf9dbfe8..b5f4cdd612 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamInclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamInclusiveScan.cpp @@ -139,7 +139,9 @@ struct TestFunctorA { } }; -template +struct InPlace {}; + +template void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { /* description: use a rank-2 view randomly filled with values, @@ -165,9 +167,6 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { using space_t = Kokkos::DefaultExecutionSpace; Kokkos::TeamPolicy policy(numTeams, Kokkos::AUTO()); - // create the destination view - Kokkos::View destView("destView", numTeams, numCols); - // inclusive_scan returns an iterator so to verify that it is correct // each team stores the distance of the returned iterator from the beginning // of the interval that team operates on and then we check that these @@ -186,12 +185,20 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { rand_pool pool(lowerBound * upperBound); Kokkos::fill_random(initValuesView_h, pool, lowerBound, upperBound); - // use CTAD for functor auto initValuesView = Kokkos::create_mirror_view_and_copy(space_t(), initValuesView_h); - TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, - initValuesView, binaryOp, apiId); - Kokkos::parallel_for(policy, fnc); + + // create the destination view + Kokkos::View destView("destView", numTeams, numCols); + if constexpr (std::is_same_v) { + TestFunctorA fnc(sourceView, sourceView, distancesView, + intraTeamSentinelView, initValuesView, binaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } else { + TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, + initValuesView, binaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } // ----------------------------------------------- // run cpp-std kernel and check @@ -251,25 +258,38 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { #undef inclusive_scan } - auto dataViewAfterOp_h = create_host_space_copy(destView); - expect_equal_host_views(stdDestView, dataViewAfterOp_h); + if constexpr (std::is_same_v) { + auto dataViewAfterOp_h = create_host_space_copy(sourceView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } else { + auto dataViewAfterOp_h = create_host_space_copy(destView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } } -template +template void run_all_scenarios() { for (int numTeams : teamSizesToTest) { for (const auto& numCols : {0, 1, 2, 13, 101, 1444, 8153}) { for (int apiId : {0, 1, 2, 3, 4, 5}) { - test_A(numTeams, numCols, apiId); + test_A(numTeams, numCols, apiId); } } } } TEST(std_algorithms_inclusive_scan_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); + + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } } // namespace TeamInclusiveScan diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamIsPartitioned.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamIsPartitioned.cpp index 1928f95588..21da333e75 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamIsPartitioned.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamIsPartitioned.cpp @@ -191,7 +191,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId, // ----------------------------------------------- auto returnView_h = create_host_space_copy(returnView); auto intraTeamSentinelView_h = create_host_space_copy(intraTeamSentinelView); - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < dataView_dc_h.extent(0); ++i) { auto myRow = Kokkos::subview(dataView_dc_h, i, Kokkos::ALL()); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionCopy.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionCopy.cpp index c0bbdfa390..78ab6bf1f8 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionCopy.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionCopy.cpp @@ -240,7 +240,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId, "stdDestTrueView", numTeams, numCols); Kokkos::View stdDestFalseView( "stdDestFalseView", numTeams, numCols); - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < sourceView_dc_h.extent(0); ++i) { auto myRowSource = Kokkos::subview(sourceView_dc_h, i, Kokkos::ALL()); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionPoint.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionPoint.cpp index 954d461246..370e91cc1f 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionPoint.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionPoint.cpp @@ -197,7 +197,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId, auto distancesView_h = create_host_space_copy(distancesView); auto dataViewAfterOp_h = create_host_space_copy(dataView); auto intraTeamSentinelView_h = create_host_space_copy(intraTeamSentinelView); - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < dataView_dc_h.extent(0); ++i) { auto myRow = Kokkos::subview(dataView_dc_h, i, Kokkos::ALL()); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopy.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopy.cpp index 24b840154b..6bb0d24998 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopy.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopy.cpp @@ -212,6 +212,10 @@ void run_all_scenarios() { } TEST(std_algorithms_remove_copy_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp index 2082fa9728..cff9aa178a 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp @@ -138,7 +138,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { auto intraTeamSentinelView_h = create_host_space_copy(intraTeamSentinelView); Kokkos::View stdDestView("stdDestView", numTeams, numCols); - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < destViewAfterOp_h.extent(0); ++i) { auto rowFrom = Kokkos::subview(cloneOfSourceViewBeforeOp_h, i, Kokkos::ALL()); @@ -168,6 +168,10 @@ void run_all_scenarios() { } TEST(std_algorithms_remove_copy_if_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveIf.cpp index 3315f281da..3dd7cb764c 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveIf.cpp @@ -127,7 +127,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { // ----------------------------------------------- // check against std // ----------------------------------------------- - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); auto dataViewAfterOp_h = create_host_space_copy(dataView); auto distancesView_h = create_host_space_copy(distancesView); auto intraTeamSentinelView_h = create_host_space_copy(intraTeamSentinelView); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceCopyIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceCopyIf.cpp index ae43a2a426..d0217aed7a 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceCopyIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceCopyIf.cpp @@ -145,7 +145,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { auto intraTeamSentinelView_h = create_host_space_copy(intraTeamSentinelView); Kokkos::View stdDestView("stdDestView", numTeams, numCols); - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < sourceView.extent(0); ++i) { auto rowFrom = Kokkos::subview(cloneOfSourceViewBeforeOp_h, i, Kokkos::ALL()); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceIf.cpp index 1d5d9578f9..d79b53d355 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceIf.cpp @@ -103,7 +103,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { stdDataView(i, j) = cloneOfDataViewBeforeOp_h(i, j); } } - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < dataView.extent(0); ++i) { auto thisRow = Kokkos::subview(stdDataView, i, Kokkos::ALL()); std::replace_if(KE::begin(thisRow), KE::end(thisRow), predicate, newVal); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformExclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformExclusiveScan.cpp index 9f30812d8e..60fa369af1 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformExclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformExclusiveScan.cpp @@ -108,7 +108,9 @@ struct TestFunctorA { } }; -template +struct InPlace {}; + +template void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { /* description: use a rank-2 view randomly filled with values, @@ -134,9 +136,6 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { using space_t = Kokkos::DefaultExecutionSpace; Kokkos::TeamPolicy policy(numTeams, Kokkos::AUTO()); - // create the destination view - Kokkos::View destView("destView", numTeams, numCols); - // tranform_exclusive_scan returns an iterator so to verify that it is correct // each team stores the distance of the returned iterator from the beginning // of the interval that team operates on and then we check that these @@ -156,12 +155,21 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { rand_pool pool(lowerBound * upperBound); Kokkos::fill_random(initValuesView_h, pool, lowerBound, upperBound); - // use CTAD for functor auto initValuesView = Kokkos::create_mirror_view_and_copy(space_t(), initValuesView_h); - TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, - initValuesView, binaryOp, unaryOp, apiId); - Kokkos::parallel_for(policy, fnc); + + // create the destination view + Kokkos::View destView("destView", numTeams, numCols); + if constexpr (std::is_same_v) { + TestFunctorA fnc(sourceView, sourceView, distancesView, + intraTeamSentinelView, initValuesView, binaryOp, unaryOp, + apiId); + Kokkos::parallel_for(policy, fnc); + } else { + TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, + initValuesView, binaryOp, unaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } // ----------------------------------------------- // run cpp-std kernel and check @@ -200,16 +208,21 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { #undef transform_exclusive_scan } - auto dataViewAfterOp_h = create_host_space_copy(destView); - expect_equal_host_views(stdDestView, dataViewAfterOp_h); + if constexpr (std::is_same_v) { + auto dataViewAfterOp_h = create_host_space_copy(sourceView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } else { + auto dataViewAfterOp_h = create_host_space_copy(destView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } } -template +template void run_all_scenarios() { for (int numTeams : teamSizesToTest) { for (const auto& numCols : {0, 1, 2, 13, 101, 1444, 8153}) { for (int apiId : {0, 1}) { - test_A(numTeams, numCols, apiId); + test_A(numTeams, numCols, apiId); } } } @@ -219,6 +232,10 @@ TEST(std_algorithms_transform_exclusive_scan_team_test, test) { run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); + + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } } // namespace TeamTransformExclusiveScan diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformInclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformInclusiveScan.cpp index 4b31660232..10454d6551 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformInclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformInclusiveScan.cpp @@ -131,7 +131,9 @@ struct TestFunctorA { } }; -template +struct InPlace {}; + +template void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { /* description: use a rank-2 view randomly filled with values, @@ -157,9 +159,6 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { using space_t = Kokkos::DefaultExecutionSpace; Kokkos::TeamPolicy policy(numTeams, Kokkos::AUTO()); - // create the destination view - Kokkos::View destView("destView", numTeams, numCols); - // tranform_inclusive_scan returns an iterator so to verify that it is correct // each team stores the distance of the returned iterator from the beginning // of the interval that team operates on and then we check that these @@ -179,12 +178,21 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { rand_pool pool(lowerBound * upperBound); Kokkos::fill_random(initValuesView_h, pool, lowerBound, upperBound); - // use CTAD for functor auto initValuesView = Kokkos::create_mirror_view_and_copy(space_t(), initValuesView_h); - TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, - initValuesView, binaryOp, unaryOp, apiId); - Kokkos::parallel_for(policy, fnc); + + // create the destination view + Kokkos::View destView("destView", numTeams, numCols); + if constexpr (std::is_same_v) { + TestFunctorA fnc(sourceView, sourceView, distancesView, + intraTeamSentinelView, initValuesView, binaryOp, unaryOp, + apiId); + Kokkos::parallel_for(policy, fnc); + } else { + TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, + initValuesView, binaryOp, unaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } // ----------------------------------------------- // run cpp-std kernel and check @@ -236,16 +244,21 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { } #undef transform_inclusive_scan - auto dataViewAfterOp_h = create_host_space_copy(destView); - expect_equal_host_views(stdDestView, dataViewAfterOp_h); + if constexpr (std::is_same_v) { + auto dataViewAfterOp_h = create_host_space_copy(sourceView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } else { + auto dataViewAfterOp_h = create_host_space_copy(destView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } } -template +template void run_all_scenarios() { for (int numTeams : teamSizesToTest) { for (const auto& numCols : {0, 1, 2, 13, 101, 1444, 8153}) { for (int apiId : {0, 1, 2, 3}) { - test_A(numTeams, numCols, apiId); + test_A(numTeams, numCols, apiId); } } } @@ -255,6 +268,10 @@ TEST(std_algorithms_transform_inclusive_scan_team_test, test) { run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); + + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } } // namespace TeamTransformInclusiveScan diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamUniqueCopy.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamUniqueCopy.cpp index 87687b60a1..0d3289e196 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamUniqueCopy.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamUniqueCopy.cpp @@ -186,6 +186,10 @@ void run_all_scenarios() { } TEST(std_algorithms_unique_copy_team_test, test) { + // FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformExclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformExclusiveScan.cpp index 9dac3ce75f..fa2804256a 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformExclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformExclusiveScan.cpp @@ -16,6 +16,7 @@ #include #include +#include namespace Test { namespace stdalgos { @@ -160,24 +161,15 @@ void verify_data(ViewType1 data_view, // contains data create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); if (test_view_h.extent(0) > 0) { for (std::size_t i = 0; i < test_view_h.extent(0); ++i) { - // std::cout << i << " " << std::setprecision(15) << data_view_h(i) << " " - // << gold_h(i) << " " << test_view_h(i) << " " - // << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - if (std::is_same::value) { ASSERT_EQ(gold_h(i), test_view_h(i)); } else { const auto error = std::abs(gold_h(i) - test_view_h(i)); - if (error > 1e-10) { - std::cout << i << " " << std::setprecision(15) << data_view_h(i) - << " " << gold_h(i) << " " << test_view_h(i) << " " - << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - } - EXPECT_LT(error, 1e-10); + ASSERT_LT(error, 1e-10) << i << " " << std::setprecision(15) << error + << static_cast(test_view_h(i)) << " " + << static_cast(gold_h(i)); } } - // std::cout << " last el: " << test_view_h(test_view_h.extent(0)-1) << - // std::endl; } } @@ -205,17 +197,13 @@ void run_single_scenario(const InfoType& scenario_info, ValueType init_value, BinaryOp bop, UnaryOp uop) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // std::cout << "transform_exclusive_scan custom op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " - // << "init = " << init_value << std::endl; - auto view_dest = - create_view(Tag{}, view_ext, "transform_exclusive_scan"); - auto view_from = - create_view(Tag{}, view_ext, "transform_exclusive_scan"); + auto view_from = create_view(Tag{}, view_ext, + "transform_exclusive_scan_view_from"); fill_view(view_from, name); + auto view_dest = create_view(Tag{}, view_ext, + "transform_exclusive_scan_view_dest"); { fill_zero(view_dest); auto r = KE::transform_exclusive_scan( @@ -253,6 +241,65 @@ void run_single_scenario(const InfoType& scenario_info, ValueType init_value, Kokkos::fence(); } +template +void run_single_scenario_inplace(const InfoType& scenario_info, + ValueType init_value, BinaryOp bop, + UnaryOp uop) { + const auto name = std::get<0>(scenario_info); + const std::size_t view_ext = std::get<1>(scenario_info); + + // since here we call the in-place operation, we need to use two views: + // view1: filled according to what the scenario asks for and is not modified + // view2: filled according to what the scenario asks for and used for the + // in-place op Therefore, after the op is done, view2 should contain the + // result of doing exclusive scan NOTE: view2 is filled below every time + // because the algorithm acts in place + + auto view1 = + create_view(Tag{}, view_ext, "transform_exclusive_scan_view1"); + fill_view(view1, name); + + auto view2 = + create_view(Tag{}, view_ext, "transform_exclusive_scan_view2"); + + { + fill_view(view2, name); + auto r = KE::transform_exclusive_scan(exespace(), KE::cbegin(view2), + KE::cend(view2), KE::begin(view2), + init_value, bop, uop); + ASSERT_EQ(r, KE::end(view2)); + verify_data(view1, view2, init_value, bop, uop); + } + + { + fill_view(view2, name); + auto r = KE::transform_exclusive_scan( + "label", exespace(), KE::cbegin(view2), KE::cend(view2), + KE::begin(view2), init_value, bop, uop); + ASSERT_EQ(r, KE::end(view2)); + verify_data(view1, view2, init_value, bop, uop); + } + + { + fill_view(view2, name); + auto r = KE::transform_exclusive_scan(exespace(), view2, view2, init_value, + bop, uop); + ASSERT_EQ(r, KE::end(view2)); + verify_data(view1, view2, init_value, bop, uop); + } + + { + fill_view(view2, name); + auto r = KE::transform_exclusive_scan("label", exespace(), view2, view2, + init_value, bop, uop); + ASSERT_EQ(r, KE::end(view2)); + verify_data(view1, view2, init_value, bop, uop); + } + + Kokkos::fence(); +} + template void run_all_scenarios() { const std::map scenarios = { @@ -267,6 +314,11 @@ void run_all_scenarios() { run_single_scenario(it, ValueType{1}, bop_t(), uop_t()); run_single_scenario(it, ValueType{-2}, bop_t(), uop_t()); run_single_scenario(it, ValueType{3}, bop_t(), uop_t()); + + run_single_scenario_inplace(it, ValueType{0}, bop_t(), + uop_t()); + run_single_scenario_inplace(it, ValueType{-2}, bop_t(), + uop_t()); } } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformInclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformInclusiveScan.cpp index a90a68ca1d..fb81ae91b0 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformInclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformInclusiveScan.cpp @@ -16,6 +16,7 @@ #include #include +#include namespace Test { namespace stdalgos { @@ -172,24 +173,15 @@ void verify_data(ViewType1 data_view, // contains data create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); if (test_view_h.extent(0) > 0) { for (std::size_t i = 0; i < test_view_h.extent(0); ++i) { - // std::cout << i << " " << std::setprecision(15) << data_view_h(i) << " " - // << gold_h(i) << " " << test_view_h(i) << " " - // << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - if (std::is_same::value) { ASSERT_EQ(gold_h(i), test_view_h(i)); } else { const auto error = std::abs(gold_h(i) - test_view_h(i)); - if (error > 1e-10) { - std::cout << i << " " << std::setprecision(15) << data_view_h(i) - << " " << gold_h(i) << " " << test_view_h(i) << " " - << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - } - EXPECT_LT(error, 1e-10); + ASSERT_LT(error, 1e-10) << i << " " << std::setprecision(15) << error + << static_cast(test_view_h(i)) << " " + << static_cast(gold_h(i)); } } - // std::cout << " last el: " << test_view_h(test_view_h.extent(0)-1) << - // std::endl; } } @@ -210,30 +202,11 @@ struct SumBinaryFunctor { std::string value_type_to_string(int) { return "int"; } std::string value_type_to_string(double) { return "double"; } -template -void print_scenario_details(const std::string& name, BopT bop, UopT uop) { - (void)bop; - (void)uop; - std::cout << "transform_inclusive_scan: " << name << ", " - << view_tag_to_string(Tag{}) << std::endl; -} - -template -void print_scenario_details(const std::string& name, BopT bop, UopT uop, - ValueType init_value) { - (void)bop; - (void)uop; - std::cout << "transform_inclusive_scan: " << name << ", " - << view_tag_to_string(Tag{}) << ", " - << "init = " << init_value << std::endl; -} - template void run_single_scenario(const InfoType& scenario_info, Args... args /* by value on purpose*/) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // print_scenario_details(name, args...); auto view_dest = create_view(Tag{}, view_ext, "transform_inclusive_scan"); @@ -278,6 +251,63 @@ void run_single_scenario(const InfoType& scenario_info, Kokkos::fence(); } +template +void run_single_scenario_inplace(const InfoType& scenario_info, + Args... args /* by value on purpose*/) { + const auto name = std::get<0>(scenario_info); + const std::size_t view_ext = std::get<1>(scenario_info); + + // since here we call the in-place operation, we need to use two views: + // view1: filled according to scenario and is not modified + // view2: filled according scenario and used for the in-place op + // Therefore, after the op is done, view_2 should contain the + // result of doing exclusive scan. + // NOTE: view2 must be filled before every call to the algorithm + // because the algorithm acts in place + + auto view_1 = create_view(Tag{}, view_ext, + "transform_inclusive_scan_view_1"); + fill_view(view_1, name); + + auto view_2 = create_view(Tag{}, view_ext, + "transform_inclusive_scan_view_2"); + + { + fill_view(view_2, name); + auto r = KE::transform_inclusive_scan(exespace(), KE::cbegin(view_2), + KE::cend(view_2), KE::begin(view_2), + args...); + ASSERT_EQ(r, KE::end(view_2)); + verify_data(view_1, view_2, args...); + } + + { + fill_view(view_2, name); + auto r = KE::transform_inclusive_scan("label", exespace(), + KE::cbegin(view_2), KE::cend(view_2), + KE::begin(view_2), args...); + ASSERT_EQ(r, KE::end(view_2)); + verify_data(view_1, view_2, args...); + } + + { + fill_view(view_2, name); + auto r = KE::transform_inclusive_scan(exespace(), view_2, view_2, args...); + ASSERT_EQ(r, KE::end(view_2)); + verify_data(view_1, view_2, args...); + } + + { + fill_view(view_2, name); + auto r = KE::transform_inclusive_scan("label", exespace(), view_2, view_2, + args...); + ASSERT_EQ(r, KE::end(view_2)); + verify_data(view_1, view_2, args...); + } + + Kokkos::fence(); +} + template void run_all_scenarios() { const std::map scenarios = { @@ -294,15 +324,23 @@ void run_all_scenarios() { run_single_scenario(it, bop_t(), uop_t(), ValueType{2}); run_single_scenario(it, bop_t(), uop_t(), ValueType{-1}); run_single_scenario(it, bop_t(), uop_t(), ValueType{-2}); + + run_single_scenario_inplace(it, bop_t(), uop_t()); + run_single_scenario_inplace(it, bop_t(), uop_t(), + ValueType{0}); + run_single_scenario_inplace(it, bop_t(), uop_t(), + ValueType{2}); + run_single_scenario_inplace(it, bop_t(), uop_t(), + ValueType{-2}); } } #if !defined KOKKOS_ENABLE_OPENMPTARGET TEST(std_algorithms_numeric_ops_test, transform_inclusive_scan) { run_all_scenarios(); - // run_all_scenarios(); - // run_all_scenarios(); - // run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } #endif diff --git a/lib/kokkos/algorithms/unit_tests/TestStdReducers.cpp b/lib/kokkos/algorithms/unit_tests/TestStdReducers.cpp index 3847e1e6a3..c05006a161 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdReducers.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdReducers.cpp @@ -83,9 +83,6 @@ auto run_min_or_max_test(ViewType view, StdReducersTestEnumOrder enValue) { static_assert(std::is_same::value, "test is only enabled for HostSpace"); - std::cout << "checking reduction with order: " << order_to_string(enValue) - << "\n"; - using view_value_type = typename ViewType::value_type; using reducer_type = std::conditional_t< (flag == 0), Kokkos::MaxFirstLoc, @@ -132,18 +129,24 @@ TEST(std_algorithms_reducers, max_first_loc) { const auto pair1 = run_min_or_max_test<0, hostspace, index_type>( view_h, StdReducersTestEnumOrder::LeftToRight); - ASSERT_EQ(pair1.first, gold_value); - ASSERT_EQ(pair1.second, gold_location); + ASSERT_EQ(pair1.first, gold_value) + << order_to_string(StdReducersTestEnumOrder::LeftToRight); + ASSERT_EQ(pair1.second, gold_location) + << order_to_string(StdReducersTestEnumOrder::LeftToRight); const auto pair2 = run_min_or_max_test<0, hostspace, index_type>( view_h, StdReducersTestEnumOrder::RightToLeft); - ASSERT_EQ(pair2.first, gold_value); - ASSERT_EQ(pair2.second, gold_location); + ASSERT_EQ(pair2.first, gold_value) + << order_to_string(StdReducersTestEnumOrder::RightToLeft); + ASSERT_EQ(pair2.second, gold_location) + << order_to_string(StdReducersTestEnumOrder::RightToLeft); const auto pair3 = run_min_or_max_test<0, hostspace, index_type>( view_h, StdReducersTestEnumOrder::Random); - ASSERT_EQ(pair3.first, gold_value); - ASSERT_EQ(pair3.second, gold_location); + ASSERT_EQ(pair3.first, gold_value) + << order_to_string(StdReducersTestEnumOrder::Random); + ASSERT_EQ(pair3.second, gold_location) + << order_to_string(StdReducersTestEnumOrder::Random); } TEST(std_algorithms_reducers, min_first_loc) { @@ -191,9 +194,6 @@ void run_min_max_test(ViewType view, StdReducersTestEnumOrder enValue, static_assert(std::is_same::value, "test is only enabled for HostSpace"); - std::cout << "checking reduction with order: " << order_to_string(enValue) - << "\n"; - using view_value_type = typename ViewType::value_type; using reducer_type = Kokkos::MinMaxFirstLastLoc; @@ -212,10 +212,10 @@ void run_min_max_test(ViewType view, StdReducersTestEnumOrder enValue, reduction_value_type{view(index), view(index), index, index}); } - ASSERT_EQ(red_result.min_val, gold_values.first); - ASSERT_EQ(red_result.max_val, gold_values.second); - ASSERT_EQ(red_result.min_loc, gold_locs.first); - ASSERT_EQ(red_result.max_loc, gold_locs.second); + ASSERT_EQ(red_result.min_val, gold_values.first) << order_to_string(enValue); + ASSERT_EQ(red_result.max_val, gold_values.second) << order_to_string(enValue); + ASSERT_EQ(red_result.min_loc, gold_locs.first) << order_to_string(enValue); + ASSERT_EQ(red_result.max_loc, gold_locs.second) << order_to_string(enValue); } TEST(std_algorithms_reducers, min_max_first_last_loc) { diff --git a/lib/kokkos/benchmarks/CMakeLists.txt b/lib/kokkos/benchmarks/CMakeLists.txt index 42279bf55d..abf5028359 100644 --- a/lib/kokkos/benchmarks/CMakeLists.txt +++ b/lib/kokkos/benchmarks/CMakeLists.txt @@ -1 +1,12 @@ +#FIXME_OPENMPTARGET - compiling in debug mode causes ICE. +KOKKOS_ADD_BENCHMARK_DIRECTORIES(atomic) +KOKKOS_ADD_BENCHMARK_DIRECTORIES(gather) KOKKOS_ADD_BENCHMARK_DIRECTORIES(gups) +KOKKOS_ADD_BENCHMARK_DIRECTORIES(launch_latency) +KOKKOS_ADD_BENCHMARK_DIRECTORIES(stream) + +#FIXME_OPENMPTARGET - These two benchmarks cause ICE. Commenting them for now but a deeper analysis on the cause and a possible fix will follow. +IF(NOT Kokkos_ENABLE_OPENMPTARGET) + KOKKOS_ADD_BENCHMARK_DIRECTORIES(policy_performance) + KOKKOS_ADD_BENCHMARK_DIRECTORIES(bytes_and_flops) +ENDIF() diff --git a/lib/kokkos/benchmarks/atomic/CMakeLists.txt b/lib/kokkos/benchmarks/atomic/CMakeLists.txt new file mode 100644 index 0000000000..85f7412f49 --- /dev/null +++ b/lib/kokkos/benchmarks/atomic/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + atomic + SOURCES main.cpp +) diff --git a/lib/kokkos/benchmarks/bytes_and_flops/CMakeLists.txt b/lib/kokkos/benchmarks/bytes_and_flops/CMakeLists.txt new file mode 100644 index 0000000000..0ce44a6f1a --- /dev/null +++ b/lib/kokkos/benchmarks/bytes_and_flops/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + bytes_and_flops + SOURCES bench_double.cpp bench_float.cpp bench_int32_t.cpp bench_int64_t.cpp main.cpp +) diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp index 2589fd7309..88830af624 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp @@ -37,22 +37,22 @@ struct RunStride { }; #define STRIDE 1 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 2 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 4 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 8 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 16 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 32 -#include +#include "bench_stride.hpp" #undef STRIDE template diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_double.cpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_double.cpp index f955c99666..2fda1ae3d4 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_double.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_double.cpp @@ -14,7 +14,7 @@ // //@HEADER -#include +#include "bench.hpp" template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S, int B, int I); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_float.cpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_float.cpp index 137ff67d40..3210116a9e 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_float.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_float.cpp @@ -14,7 +14,7 @@ // //@HEADER -#include +#include "bench.hpp" template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S, int B, int I); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_int32_t.cpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_int32_t.cpp index 29ccec0141..24a5dcd389 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_int32_t.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_int32_t.cpp @@ -14,7 +14,7 @@ // //@HEADER -#include +#include "bench.hpp" template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S, int B, int I); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_int64_t.cpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_int64_t.cpp index c153d5eff3..0634700c31 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_int64_t.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_int64_t.cpp @@ -14,7 +14,7 @@ // //@HEADER -#include +#include "bench.hpp" template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S, int B, int I); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp index b63d486fc9..80f017fbe8 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp @@ -15,28 +15,28 @@ //@HEADER #define UNROLL 1 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 2 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 3 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 4 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 5 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 6 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 7 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 8 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL template diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp index 0f7a298c1b..78cfd48eff 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp @@ -26,7 +26,7 @@ struct Run { Kokkos::deep_copy(C, Scalar(3.5)); Kokkos::Timer timer; - for (int i = 0; i < I; ++i) { + for (int iter = 0; iter < I; ++iter) { Kokkos::parallel_for( "BenchmarkKernel", Kokkos::TeamPolicy<>(N, T).set_scratch_size(0, Kokkos::PerTeam(S)), diff --git a/lib/kokkos/benchmarks/bytes_and_flops/main.cpp b/lib/kokkos/benchmarks/bytes_and_flops/main.cpp index 20077757d1..fdfcc4ea64 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/main.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/main.cpp @@ -16,7 +16,7 @@ #include #include -#include +#include "bench.hpp" #include extern template void run_stride_unroll(int, int, int, int, int, int, int, @@ -86,7 +86,7 @@ int main(int argc, char* argv[]) { printf("D must be one of 1,2,4,8,16,32\n"); return 0; } - if ((P < 1) && (P > 2)) { + if ((P < 1) || (P > 4)) { printf("P must be one of 1,2,3,4\n"); return 0; } diff --git a/lib/kokkos/benchmarks/gather/CMakeLists.txt b/lib/kokkos/benchmarks/gather/CMakeLists.txt new file mode 100644 index 0000000000..24c7062772 --- /dev/null +++ b/lib/kokkos/benchmarks/gather/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + gather + SOURCES main.cpp +) diff --git a/lib/kokkos/benchmarks/gather/gather.hpp b/lib/kokkos/benchmarks/gather/gather.hpp index d83461702c..90b1101c1d 100644 --- a/lib/kokkos/benchmarks/gather/gather.hpp +++ b/lib/kokkos/benchmarks/gather/gather.hpp @@ -20,28 +20,28 @@ struct RunGather { }; #define UNROLL 1 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 2 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 3 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 4 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 5 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 6 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 7 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 8 -#include +#include "gather_unroll.hpp" #undef UNROLL template diff --git a/lib/kokkos/benchmarks/gather/gather_unroll.hpp b/lib/kokkos/benchmarks/gather/gather_unroll.hpp index 5ee5742a3f..1aa73091bc 100644 --- a/lib/kokkos/benchmarks/gather/gather_unroll.hpp +++ b/lib/kokkos/benchmarks/gather/gather_unroll.hpp @@ -138,7 +138,7 @@ struct RunGather { printf( "SNKDRUF: %i %i %i %i %i %i %i Time: %lfs Bandwidth: %lfGiB/s GFlop/s: " "%lf GGather/s: %lf\n", - sizeof(Scalar) / 4, N, K, D, R, UNROLL, F, seconds, + static_cast(sizeof(Scalar) / 4), N, K, D, R, UNROLL, F, seconds, 1.0 * bytes / seconds / 1024 / 1024 / 1024, 1.e-9 * flops / seconds, 1.e-9 * gather_ops / seconds); } diff --git a/lib/kokkos/benchmarks/gather/main.cpp b/lib/kokkos/benchmarks/gather/main.cpp index 7f4fc9ede6..07fca9fdc6 100644 --- a/lib/kokkos/benchmarks/gather/main.cpp +++ b/lib/kokkos/benchmarks/gather/main.cpp @@ -16,7 +16,7 @@ #include #include -#include +#include "gather.hpp" #include int main(int argc, char* argv[]) { diff --git a/lib/kokkos/benchmarks/launch_latency/CMakeLists.txt b/lib/kokkos/benchmarks/launch_latency/CMakeLists.txt new file mode 100644 index 0000000000..bb14da749d --- /dev/null +++ b/lib/kokkos/benchmarks/launch_latency/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + launch_latency + SOURCES launch_latency.cpp +) diff --git a/lib/kokkos/benchmarks/launch_latency/launch_latency.cpp b/lib/kokkos/benchmarks/launch_latency/launch_latency.cpp new file mode 100644 index 0000000000..73b176ab8d --- /dev/null +++ b/lib/kokkos/benchmarks/launch_latency/launch_latency.cpp @@ -0,0 +1,283 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +/*! \file launch_latency.cpp + + Tests of parallel_for and parallel_reduce latency for different + circumstances. + + Three launch kinds are tested: parallel_for, parallel_reduce into scalar, + and parallel_reduce into view + + N controls how large the parallel loops is + V controls how large the functor is + M controls across how many launches the latency is averaged + K controls how larege the nested loop is (no larger than V) + + For each launch kind, + 1. Avg functor dispatch latency: (time to do M launches) / M + 2. Avg functor completion throughput: (M launches + sync) / M + 3. Avg functor completion latency: (M (launch + sync)) / M +*/ + +#include + +template +struct TestFunctor { + double values[V]; + Kokkos::View a; + int K; + TestFunctor(Kokkos::View a_, int K_) : a(a_), K(K_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i) const { + for (int j = 0; j < K; j++) a(i) += 1.0 * i * values[j]; + } +}; + +template +struct TestRFunctor { + double values[V]; + Kokkos::View a; + int K; + TestRFunctor(Kokkos::View a_, int K_) : a(a_), K(K_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i, double& lsum) const { + for (int j = 0; j < K; j++) a(i) += 1.0 * i * values[j]; + lsum += a(i); + } +}; + +struct Opts { + bool par_for = true; + bool par_reduce = true; + bool par_reduce_view = true; +}; + +template +void run(int N, int M, int K, const Opts& opts) { + std::string l_no_fence, l_fence, l_red_no_fence, l_red_fence, + l_red_view_no_fence, l_red_view_fence; + { + std::ostringstream ostream; + ostream << "RunNoFence_" << N << "_" << K << std::endl; + l_no_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunFence_" << N << "_" << K << std::endl; + l_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunReduceNoFence_" << N << "_" << K << std::endl; + l_red_no_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunReduceFence_" << N << "_" << K << std::endl; + l_red_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunReduceViewNoFence_" << N << "_" << K << std::endl; + l_red_view_no_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunReduceViewFence_" << N << "_" << K << std::endl; + l_red_view_fence = ostream.str(); + } + + double result; + Kokkos::View a("A", N); + Kokkos::View v_result("result"); + TestFunctor f(a, K); + TestRFunctor rf(a, K); + Kokkos::Timer timer; + + // initialize to an obviously wrong value + double time_no_fence = -1; // launch loop + double time_no_fence_fenced = -1; // launch loop then fence + double time_fence = -1; // launch&fence loop + + double time_red_no_fence = -1; + double time_red_no_fence_fenced = -1; + double time_red_fence = -1; + + double time_red_view_no_fence = -1; + double time_red_view_no_fence_fenced = -1; + double time_red_view_fence = -1; + + if (opts.par_for) { + // warmup + for (int i = 0; i < 4; ++i) { + Kokkos::parallel_for(l_no_fence, N, f); + } + Kokkos::fence(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_for(l_no_fence, N, f); + } + time_no_fence = timer.seconds(); + Kokkos::fence(); + time_no_fence_fenced = timer.seconds(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_for(l_fence, N, f); + Kokkos::fence(); + } + time_fence = timer.seconds(); + } + + if (opts.par_reduce) { + // warmup + for (int i = 0; i < 4; ++i) { + Kokkos::parallel_reduce(l_red_no_fence, N, rf, result); + } + Kokkos::fence(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_reduce(l_red_no_fence, N, rf, result); + } + time_red_no_fence = timer.seconds(); + Kokkos::fence(); + time_red_no_fence_fenced = timer.seconds(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_reduce(l_red_fence, N, rf, result); + Kokkos::fence(); + } + time_red_fence = timer.seconds(); + Kokkos::fence(); + } + + if (opts.par_reduce_view) { + // warmup + for (int i = 0; i < 4; ++i) { + Kokkos::parallel_reduce(l_red_view_no_fence, N, rf, v_result); + } + Kokkos::fence(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_reduce(l_red_view_no_fence, N, rf, v_result); + } + time_red_view_no_fence = timer.seconds(); + Kokkos::fence(); + time_red_view_no_fence_fenced = timer.seconds(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_reduce(l_red_view_fence, N, rf, v_result); + Kokkos::fence(); + } + time_red_view_fence = timer.seconds(); + Kokkos::fence(); + timer.reset(); + } + + const double x = 1.e6 / M; + printf("%i %i %i %i", N, V, K, M); + if (opts.par_for) { + printf(" parallel_for: %lf %lf ( %lf )", x * time_no_fence, x * time_fence, + x * time_no_fence_fenced); + } + if (opts.par_reduce) { + printf(" parallel_reduce: %lf %lf ( %lf )", x * time_red_no_fence, + x * time_red_fence, x * time_red_no_fence_fenced); + } + if (opts.par_reduce_view) { + printf(" parallel_reduce(view): %lf %lf ( %lf )", + x * time_red_view_no_fence, x * time_red_view_fence, + x * time_red_view_no_fence_fenced); + } + printf("\n"); +} +int main(int argc, char* argv[]) { + Kokkos::initialize(argc, argv); + { + int N = 10000; + int M = 20; + int K = 1; + + Opts opts; + + printf("==========================\n"); + printf("Kokkos Launch Latency Test\n"); + printf("==========================\n"); + printf("\n"); + printf("Usage: %s ARGUMENTS [OPTIONS...]\n\n", argv[0]); + printf("Arguments: N M K\n"); + printf(" N: loop length\n"); + printf(" M: how many kernels to dispatch\n"); + printf( + " K: nested loop length (capped by size of functor member array\n\n"); + printf("Options:\n"); + printf(" --no-parallel-for: skip parallel_for benchmark\n"); + printf(" --no-parallel-reduce: skip parallel_reduce benchmark\n"); + printf( + " --no-parallel-reduce-view: skip parallel_reduce into view " + "benchmark\n"); + printf("\n\n"); + printf(" Output V is the size of the functor member array\n"); + printf("\n\n"); + + for (int i = 1; i < argc; ++i) { + const std::string_view arg(argv[i]); + + // anything that doesn't start with -- + if (arg.size() < 2 || + (arg.size() >= 2 && arg[0] != '-' && arg[1] != '-')) { + if (i == 1) + N = atoi(arg.data()); + else if (i == 2) + M = atoi(arg.data()); + else if (i == 3) + K = atoi(arg.data()); + else { + throw std::runtime_error("unexpected argument!"); + } + } else if (arg == "--no-parallel-for") { + opts.par_for = false; + } else if (arg == "--no-parallel-reduce") { + opts.par_reduce = false; + } else if (arg == "--no-parallel-reduce-view") { + opts.par_reduce_view = false; + } else { + std::stringstream ss; + ss << "unexpected argument \"" << arg << "\" at position " << i; + throw std::runtime_error(ss.str()); + } + } + + printf("N V K M time_no_fence time_fence (time_no_fence_fenced)\n"); + + /* A backend may have different launch strategies for functors of different + * sizes: test a variety of functor sizes.*/ + run<1>(N, M, K <= 1 ? K : 1, opts); + run<16>(N, M, K <= 16 ? K : 16, opts); + run<200>(N, M, K <= 200 ? K : 200, opts); + run<3000>(N, M, K <= 3000 ? K : 3000, opts); + run<30000>(N, M, K <= 30000 ? K : 30000, opts); + } + Kokkos::finalize(); +} diff --git a/lib/kokkos/benchmarks/policy_performance/CMakeLists.txt b/lib/kokkos/benchmarks/policy_performance/CMakeLists.txt new file mode 100644 index 0000000000..929b9c9702 --- /dev/null +++ b/lib/kokkos/benchmarks/policy_performance/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + policy_performance + SOURCES main.cpp +) diff --git a/lib/kokkos/benchmarks/policy_performance/main.cpp b/lib/kokkos/benchmarks/policy_performance/main.cpp index 28cfde552a..0983a3d535 100644 --- a/lib/kokkos/benchmarks/policy_performance/main.cpp +++ b/lib/kokkos/benchmarks/policy_performance/main.cpp @@ -106,8 +106,9 @@ int main(int argc, char* argv[]) { Kokkos::parallel_reduce( "parallel_reduce warmup", Kokkos::TeamPolicy<>(10, 1), - KOKKOS_LAMBDA(const Kokkos::TeamPolicy<>::member_type team, - double& lval) { lval += 1; }, + KOKKOS_LAMBDA(const Kokkos::TeamPolicy<>::member_type&, double& lval) { + lval += 1; + }, result); using view_type_1d = Kokkos::View; diff --git a/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp b/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp index cc2cc40257..0e23d221f6 100644 --- a/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp +++ b/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp @@ -21,13 +21,13 @@ struct ParallelScanFunctor { using value_type = double; ViewType v; - ParallelScanFunctor(const ViewType& v_) : v(v_) {} + explicit ParallelScanFunctor(const ViewType& v_) : v(v_) {} KOKKOS_INLINE_FUNCTION - void operator()(const int idx, value_type& val, const bool& final) const { + void operator()(const int idx, value_type& val, const bool& is_final) const { // inclusive scan val += v(idx); - if (final) { + if (is_final) { v(idx) = val; } } @@ -109,7 +109,7 @@ void test_policy(int team_range, int thread_range, int vector_range, vector_result = 0.0; Kokkos::parallel_reduce( Kokkos::ThreadVectorRange(team, vector_range), - [&](const int vi, double& vval) { vval += 1; }, + [&](const int, double& vval) { vval += 1; }, vector_result); } v2(idx, t) = vector_result; @@ -128,7 +128,7 @@ void test_policy(int team_range, int thread_range, int vector_range, team_result = 0.0; Kokkos::parallel_reduce( Kokkos::TeamThreadRange(team, thread_range), - [&](const int t, double& lval) { lval += 1; }, team_result); + [&](const int, double& lval) { lval += 1; }, team_result); } v1(idx) = team_result; // prevent compiler optimizing loop away @@ -170,13 +170,13 @@ void test_policy(int team_range, int thread_range, int vector_range, for (int tr = 0; tr < thread_repeat; ++tr) { Kokkos::parallel_reduce( Kokkos::TeamThreadRange(team, thread_range), - [&](const int t, double& lval) { + [&](const int, double& lval) { double vector_result = 0.0; for (int vr = 0; vr < inner_repeat; ++vr) { vector_result = 0.0; Kokkos::parallel_reduce( Kokkos::ThreadVectorRange(team, vector_range), - [&](const int vi, double& vval) { vval += 1; }, + [&](const int, double& vval) { vval += 1; }, vector_result); lval += vector_result; } diff --git a/lib/kokkos/benchmarks/stream/CMakeLists.txt b/lib/kokkos/benchmarks/stream/CMakeLists.txt new file mode 100644 index 0000000000..0dded6e3a5 --- /dev/null +++ b/lib/kokkos/benchmarks/stream/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + stream + SOURCES stream-kokkos.cpp +) diff --git a/lib/kokkos/bin/nvcc_wrapper b/lib/kokkos/bin/nvcc_wrapper index c140087240..9b935835d5 100755 --- a/lib/kokkos/bin/nvcc_wrapper +++ b/lib/kokkos/bin/nvcc_wrapper @@ -229,7 +229,7 @@ do fi ;; #Handle known nvcc args - --dryrun|--verbose|--keep|--source-in-ptx|-src-in-ptx|--keep-dir*|-G|-lineinfo|-extended-lambda|-expt-extended-lambda|-expt-relaxed-constexpr|--resource-usage|--fmad=*|--use_fast_math|--Wext-lambda-captures-this|-Wext-lambda-captures-this) + --dryrun|-dryrun|--verbose|--keep|-keep|--source-in-ptx|-src-in-ptx|--keep-dir*|-keep-dir*|-G|-lineinfo|--generate-line-info|-extended-lambda|-expt-extended-lambda|-expt-relaxed-constexpr|--resource-usage|-res-usage|-fmad=*|--use_fast_math|-use_fast_math|--Wext-lambda-captures-this|-Wext-lambda-captures-this) cuda_args="$cuda_args $1" ;; #Handle more known nvcc args diff --git a/lib/kokkos/cmake/KokkosConfig.cmake.in b/lib/kokkos/cmake/KokkosConfig.cmake.in index e26c75b312..1b6d1b66ff 100644 --- a/lib/kokkos/cmake/KokkosConfig.cmake.in +++ b/lib/kokkos/cmake/KokkosConfig.cmake.in @@ -39,10 +39,12 @@ IF("launch_compiler" IN_LIST Kokkos_FIND_COMPONENTS) GLOBAL CHECK_CUDA_COMPILES) -ELSEIF(@Kokkos_ENABLE_CUDA@ AND NOT "separable_compilation" IN_LIST Kokkos_FIND_COMPONENTS) +ELSEIF(@Kokkos_ENABLE_CUDA@ + AND NOT @KOKKOS_COMPILE_LANGUAGE@ STREQUAL CUDA + AND NOT "separable_compilation" IN_LIST Kokkos_FIND_COMPONENTS) # - # if CUDA was enabled, separable compilation was not specified, and current compiler - # cannot compile CUDA, then set the RULE_LAUNCH_COMPILE and RULE_LAUNCH_LINK globally and + # if CUDA was enabled, the compilation language was not set to CUDA, and separable compilation was not + # specified, then set the RULE_LAUNCH_COMPILE and RULE_LAUNCH_LINK globally and # kokkos_launch_compiler will re-direct to the compiler used to compile CUDA code during installation. # kokkos_launch_compiler will re-direct if ${CMAKE_CXX_COMPILER} and -DKOKKOS_DEPENDENCE is present, # otherwise, the original command will be executed diff --git a/lib/kokkos/cmake/KokkosCore_config.h.in b/lib/kokkos/cmake/KokkosCore_config.h.in index bec59ebd03..2df0f6c520 100644 --- a/lib/kokkos/cmake/KokkosCore_config.h.in +++ b/lib/kokkos/cmake/KokkosCore_config.h.in @@ -23,8 +23,6 @@ #cmakedefine KOKKOS_ENABLE_CUDA #cmakedefine KOKKOS_ENABLE_HIP #cmakedefine KOKKOS_ENABLE_HPX -#cmakedefine KOKKOS_ENABLE_MEMKIND -#cmakedefine KOKKOS_ENABLE_LIBRT #cmakedefine KOKKOS_ENABLE_SYCL #cmakedefine KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED @@ -32,6 +30,7 @@ #cmakedefine KOKKOS_ENABLE_CXX17 #cmakedefine KOKKOS_ENABLE_CXX20 #cmakedefine KOKKOS_ENABLE_CXX23 +#cmakedefine KOKKOS_ENABLE_CXX26 #cmakedefine KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE #cmakedefine KOKKOS_ENABLE_CUDA_UVM @@ -45,7 +44,6 @@ #cmakedefine KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK #cmakedefine KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK #cmakedefine KOKKOS_ENABLE_TUNING -#cmakedefine KOKKOS_ENABLE_DEPRECATED_CODE_3 #cmakedefine KOKKOS_ENABLE_DEPRECATED_CODE_4 #cmakedefine KOKKOS_ENABLE_DEPRECATION_WARNINGS #cmakedefine KOKKOS_ENABLE_LARGE_MEM_TESTS @@ -53,17 +51,15 @@ #cmakedefine KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION // deprecated #cmakedefine KOKKOS_ENABLE_AGGRESSIVE_VECTORIZATION #cmakedefine KOKKOS_ENABLE_IMPL_MDSPAN +#cmakedefine KOKKOS_ENABLE_ATOMICS_BYPASS /* TPL Settings */ #cmakedefine KOKKOS_ENABLE_HWLOC -#cmakedefine KOKKOS_USE_LIBRT -#cmakedefine KOKKOS_ENABLE_HBWSPACE #cmakedefine KOKKOS_ENABLE_LIBDL #cmakedefine KOKKOS_ENABLE_LIBQUADMATH -#cmakedefine KOKKOS_IMPL_CUDA_CLANG_WORKAROUND #cmakedefine KOKKOS_ENABLE_ONEDPL +#cmakedefine KOKKOS_ENABLE_ROCTHRUST -#cmakedefine KOKKOS_ARCH_SSE42 #cmakedefine KOKKOS_ARCH_ARMV80 #cmakedefine KOKKOS_ARCH_ARMV8_THUNDERX #cmakedefine KOKKOS_ARCH_ARMV81 @@ -78,6 +74,7 @@ #cmakedefine KOKKOS_ARCH_POWER7 #cmakedefine KOKKOS_ARCH_POWER8 #cmakedefine KOKKOS_ARCH_POWER9 +#cmakedefine KOKKOS_ARCH_RISCV_SG2042 #cmakedefine KOKKOS_ARCH_INTEL_GEN #cmakedefine KOKKOS_ARCH_INTEL_DG1 #cmakedefine KOKKOS_ARCH_INTEL_GEN9 @@ -114,6 +111,7 @@ #cmakedefine KOKKOS_ARCH_AMD_GFX906 #cmakedefine KOKKOS_ARCH_AMD_GFX908 #cmakedefine KOKKOS_ARCH_AMD_GFX90A +#cmakedefine KOKKOS_ARCH_AMD_GFX940 #cmakedefine KOKKOS_ARCH_AMD_GFX942 #cmakedefine KOKKOS_ARCH_AMD_GFX1030 #cmakedefine KOKKOS_ARCH_AMD_GFX1100 diff --git a/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake b/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake index 792c92c07e..5a62c530fc 100644 --- a/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake +++ b/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake @@ -7,7 +7,8 @@ IF (NOT CUDAToolkit_ROOT) ENDIF() ENDIF() -IF(CMAKE_VERSION VERSION_GREATER_EQUAL "3.17.0") +# FIXME CMake 3.28.4 creates more targets than we export +IF(CMAKE_VERSION VERSION_GREATER_EQUAL "3.17.0" AND CMAKE_VERSION VERSION_LESS "3.28.4") find_package(CUDAToolkit) ELSE() include(${CMAKE_CURRENT_LIST_DIR}/CudaToolkit.cmake) diff --git a/lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake b/lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake deleted file mode 100644 index e75da56b5b..0000000000 --- a/lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake +++ /dev/null @@ -1 +0,0 @@ -KOKKOS_FIND_IMPORTED(LIBRT HEADER time.h LIBRARY rt) diff --git a/lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake b/lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake deleted file mode 100644 index 20aaff2295..0000000000 --- a/lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake +++ /dev/null @@ -1 +0,0 @@ -KOKKOS_FIND_IMPORTED(MEMKIND HEADER memkind.h LIBRARY memkind) diff --git a/lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake b/lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake index 01791cff44..603510c315 100644 --- a/lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake +++ b/lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake @@ -43,4 +43,7 @@ ELSE() COMPILE_DEFINITIONS PSTL_USE_PARALLEL_POLICIES=0 _GLIBCXX_USE_TBB_PAR_BACKEND=0 ) ENDIF() + + # Export oneDPL as a Kokkos dependency + KOKKOS_EXPORT_CMAKE_TPL(oneDPL) ENDIF() diff --git a/lib/kokkos/cmake/Modules/FindTPLROCTHRUST.cmake b/lib/kokkos/cmake/Modules/FindTPLROCTHRUST.cmake new file mode 100644 index 0000000000..dae7dc3c95 --- /dev/null +++ b/lib/kokkos/cmake/Modules/FindTPLROCTHRUST.cmake @@ -0,0 +1,15 @@ +# ROCm 5.6 and earlier set AMDGPU_TARGETS and GPU_TARGETS to all the supported +# architectures. Therefore, we end up compiling Kokkos for all the supported +# architecture. Starting with ROCm 5.7 AMDGPU_TARGETS and GPU_TARGETS are empty. +# It is the user's job to set the variables. Since we are injecting the +# architecture flag ourselves, we can let the variables empty. To replicate the +# behavior of ROCm 5.7 and later for earlier version of ROCm we set +# AMDGPU_TARGETS and GPU_TARGETS to empty and set the values in the cache. If +# the values are not cached, FIND_PACKAGE(rocthrust) will overwrite them. +SET(AMDGPU_TARGETS "" CACHE STRING "AMD GPU targets to compile for") +SET(GPU_TARGETS "" CACHE STRING "GPU targets to compile for") +FIND_PACKAGE(rocthrust REQUIRED) +KOKKOS_CREATE_IMPORTED_TPL(ROCTHRUST INTERFACE LINK_LIBRARIES roc::rocthrust) + +# Export ROCTHRUST as a Kokkos dependency +KOKKOS_EXPORT_CMAKE_TPL(rocthrust) diff --git a/lib/kokkos/cmake/kokkos_arch.cmake b/lib/kokkos/cmake/kokkos_arch.cmake index bccf674d76..34e9f05986 100644 --- a/lib/kokkos/cmake/kokkos_arch.cmake +++ b/lib/kokkos/cmake/kokkos_arch.cmake @@ -49,7 +49,6 @@ DECLARE_AND_CHECK_HOST_ARCH(ARMV81 "ARMv8.1 Compatible CPU") DECLARE_AND_CHECK_HOST_ARCH(ARMV8_THUNDERX "ARMv8 Cavium ThunderX CPU") DECLARE_AND_CHECK_HOST_ARCH(ARMV8_THUNDERX2 "ARMv8 Cavium ThunderX2 CPU") DECLARE_AND_CHECK_HOST_ARCH(A64FX "ARMv8.2 with SVE Support") -DECLARE_AND_CHECK_HOST_ARCH(WSM "Intel Westmere CPU") DECLARE_AND_CHECK_HOST_ARCH(SNB "Intel Sandy/Ivy Bridge CPUs") DECLARE_AND_CHECK_HOST_ARCH(HSW "Intel Haswell CPUs") DECLARE_AND_CHECK_HOST_ARCH(BDW "Intel Broadwell Xeon E-class CPUs") @@ -60,13 +59,12 @@ DECLARE_AND_CHECK_HOST_ARCH(SKX "Intel Skylake Xeon Server CPUs (A DECLARE_AND_CHECK_HOST_ARCH(KNC "Intel Knights Corner Xeon Phi") DECLARE_AND_CHECK_HOST_ARCH(KNL "Intel Knights Landing Xeon Phi") DECLARE_AND_CHECK_HOST_ARCH(SPR "Intel Sapphire Rapids Xeon Server CPUs (AVX512)") -DECLARE_AND_CHECK_HOST_ARCH(BGQ "IBM Blue Gene Q") -DECLARE_AND_CHECK_HOST_ARCH(POWER7 "IBM POWER7 CPUs") DECLARE_AND_CHECK_HOST_ARCH(POWER8 "IBM POWER8 CPUs") DECLARE_AND_CHECK_HOST_ARCH(POWER9 "IBM POWER9 CPUs") DECLARE_AND_CHECK_HOST_ARCH(ZEN "AMD Zen architecture") DECLARE_AND_CHECK_HOST_ARCH(ZEN2 "AMD Zen2 architecture") DECLARE_AND_CHECK_HOST_ARCH(ZEN3 "AMD Zen3 architecture") +DECLARE_AND_CHECK_HOST_ARCH(RISCV_SG2042 "SG2042 (RISC-V) CPUs") IF(Kokkos_ENABLE_CUDA OR Kokkos_ENABLE_OPENMPTARGET OR Kokkos_ENABLE_OPENACC OR Kokkos_ENABLE_SYCL) SET(KOKKOS_SHOW_CUDA_ARCHS ON) @@ -94,9 +92,9 @@ IF(Kokkos_ENABLE_HIP OR Kokkos_ENABLE_OPENMPTARGET OR Kokkos_ENABLE_OPENACC OR K ENDIF() # AMD archs ordered in decreasing priority of autodetection -LIST(APPEND SUPPORTED_AMD_GPUS MI300) -LIST(APPEND SUPPORTED_AMD_ARCHS AMD_GFX942) -LIST(APPEND CORRESPONDING_AMD_FLAGS gfx942) +LIST(APPEND SUPPORTED_AMD_GPUS MI300 MI300) +LIST(APPEND SUPPORTED_AMD_ARCHS AMD_GFX942 AMD_GFX940) +LIST(APPEND CORRESPONDING_AMD_FLAGS gfx942 gfx940) LIST(APPEND SUPPORTED_AMD_GPUS MI200 MI200 MI100 MI100) LIST(APPEND SUPPORTED_AMD_ARCHS VEGA90A AMD_GFX90A VEGA908 AMD_GFX908) LIST(APPEND CORRESPONDING_AMD_FLAGS gfx90a gfx90a gfx908 gfx908) @@ -191,9 +189,6 @@ IF (KOKKOS_CXX_COMPILER_ID STREQUAL Clang) ELSEIF(CUDAToolkit_BIN_DIR) GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS --cuda-path=${CUDAToolkit_BIN_DIR}/..) ENDIF() - IF (KOKKOS_ENABLE_CUDA) - SET(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND ON CACHE BOOL "enable CUDA Clang workarounds" FORCE) - ENDIF() ELSEIF (KOKKOS_CXX_COMPILER_ID STREQUAL NVHPC) SET(CUDA_ARCH_FLAG "-gpu") GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS -cuda) @@ -342,18 +337,6 @@ IF (KOKKOS_ARCH_ZEN3) SET(KOKKOS_ARCH_AVX2 ON) ENDIF() -IF (KOKKOS_ARCH_WSM) - COMPILER_SPECIFIC_FLAGS( - COMPILER_ID KOKKOS_CXX_HOST_COMPILER_ID - Cray NO-VALUE-SPECIFIED - Intel -xSSE4.2 - MSVC NO-VALUE-SPECIFIED - NVHPC -tp=px - DEFAULT -msse4.2 - ) - SET(KOKKOS_ARCH_SSE42 ON) -ENDIF() - IF (KOKKOS_ARCH_SNB OR KOKKOS_ARCH_AMDAVX) SET(KOKKOS_ARCH_AVX ON) COMPILER_SPECIFIC_FLAGS( @@ -378,6 +361,23 @@ IF (KOKKOS_ARCH_HSW) ) ENDIF() +IF (KOKKOS_ARCH_RISCV_SG2042) + IF(NOT + (KOKKOS_CXX_COMPILER_ID STREQUAL GNU + AND KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12) + OR + (KOKKOS_CXX_COMPILER_ID STREQUAL Clang + AND KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 14) + ) + MESSAGE(SEND_ERROR "Only gcc >= 12 and clang >= 14 support RISC-V.") + ENDIF() + COMPILER_SPECIFIC_FLAGS( + COMPILER_ID KOKKOS_CXX_HOST_COMPILER_ID + DEFAULT -march=rv64imafdcv + ) +ENDIF() + + IF (KOKKOS_ARCH_BDW) SET(KOKKOS_ARCH_AVX2 ON) COMPILER_SPECIFIC_FLAGS( @@ -571,6 +571,11 @@ IF (KOKKOS_ENABLE_HIP) COMPILER_SPECIFIC_FLAGS( DEFAULT -fgpu-rdc ) + IF (NOT KOKKOS_CXX_COMPILER_ID STREQUAL HIPCC) + COMPILER_SPECIFIC_LINK_OPTIONS( + DEFAULT --hip-link + ) + ENDIF() ELSE() COMPILER_SPECIFIC_FLAGS( DEFAULT -fno-gpu-rdc @@ -588,32 +593,44 @@ IF (KOKKOS_ENABLE_SYCL) ENDIF() # Check support for device_global variables -# FIXME_SYCL Once the feature test macro SYCL_EXT_ONEAPI_DEVICE_GLOBAL is -# available, use that instead. -IF(KOKKOS_ENABLE_SYCL AND NOT BUILD_SHARED_LIBS) - INCLUDE(CheckCXXSourceCompiles) +# FIXME_SYCL If SYCL_EXT_ONEAPI_DEVICE_GLOBAL is defined, we can use device +# global variables with shared libraries using the "non-separable compilation" +# implementation. Otherwise, the feature is not supported when building shared +# libraries. Thus, we don't even check for support if shared libraries are +# requested and SYCL_EXT_ONEAPI_DEVICE_GLOBAL is not defined. +IF(KOKKOS_ENABLE_SYCL) STRING(REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${KOKKOS_COMPILE_OPTIONS}") - CHECK_CXX_SOURCE_COMPILES(" - #include - using namespace sycl::ext::oneapi::experimental; - using namespace sycl; + INCLUDE(CheckCXXSymbolExists) + CHECK_CXX_SYMBOL_EXISTS(SYCL_EXT_ONEAPI_DEVICE_GLOBAL "sycl/sycl.hpp" KOKKOS_IMPL_HAVE_SYCL_EXT_ONEAPI_DEVICE_GLOBAL) + IF (KOKKOS_IMPL_HAVE_SYCL_EXT_ONEAPI_DEVICE_GLOBAL) + SET(KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED ON) + # Use the non-separable compilation implementation to support shared libraries as well. + COMPILER_SPECIFIC_FLAGS(DEFAULT -DDESUL_SYCL_DEVICE_GLOBAL_SUPPORTED) + ELSEIF(NOT BUILD_SHARED_LIBS) + INCLUDE(CheckCXXSourceCompiles) + CHECK_CXX_SOURCE_COMPILES(" + #include + using namespace sycl::ext::oneapi::experimental; + using namespace sycl; - SYCL_EXTERNAL device_global Foo; + SYCL_EXTERNAL device_global Foo; - void bar(queue q) { - q.single_task([=] { - Foo = 42; - }); - } + void bar(queue q) { + q.single_task([=] { + Foo = 42; + }); + } - int main(){ return 0; } - " - KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED) + int main(){ return 0; } + " + KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED) - IF(KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED) - COMPILER_SPECIFIC_FLAGS( - DEFAULT -fsycl-device-code-split=off -DDESUL_SYCL_DEVICE_GLOBAL_SUPPORTED - ) + IF(KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED) + # Only the separable compilation implementation is supported. + COMPILER_SPECIFIC_FLAGS( + DEFAULT -fsycl-device-code-split=off -DDESUL_SYCL_DEVICE_GLOBAL_SUPPORTED + ) + ENDIF() ENDIF() ENDIF() @@ -767,30 +784,35 @@ IF (KOKKOS_ENABLE_OPENMPTARGET) COMPILER_SPECIFIC_FLAGS( IntelLLVM -fopenmp-targets=spir64 -D__STRICT_ANSI__ ) - ELSEIF(KOKKOS_ARCH_INTEL_GEN9) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen9" -D__STRICT_ANSI__ + ELSE() + COMPILER_SPECIFIC_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -D__STRICT_ANSI__ ) - ELSEIF(KOKKOS_ARCH_INTEL_GEN11) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen11" -D__STRICT_ANSI__ - ) - ELSEIF(KOKKOS_ARCH_INTEL_GEN12LP) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen12lp" -D__STRICT_ANSI__ - ) - ELSEIF(KOKKOS_ARCH_INTEL_DG1) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device dg1" -D__STRICT_ANSI__ - ) - ELSEIF(KOKKOS_ARCH_INTEL_XEHP) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device 12.50.4" -D__STRICT_ANSI__ - ) - ELSEIF(KOKKOS_ARCH_INTEL_PVC) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device 12.60.7" -D__STRICT_ANSI__ + IF(KOKKOS_ARCH_INTEL_GEN9) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen9" + ) + ELSEIF(KOKKOS_ARCH_INTEL_GEN11) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen11" + ) + ELSEIF(KOKKOS_ARCH_INTEL_GEN12LP) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen12lp" + ) + ELSEIF(KOKKOS_ARCH_INTEL_DG1) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device dg1" + ) + ELSEIF(KOKKOS_ARCH_INTEL_XEHP) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device 12.50.4" + ) + ELSEIF(KOKKOS_ARCH_INTEL_PVC) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device 12.60.7" ) + ENDIF() ENDIF() ENDIF() @@ -1130,3 +1152,14 @@ MESSAGE(STATUS "Architectures:") FOREACH(Arch ${KOKKOS_ENABLED_ARCH_LIST}) MESSAGE(STATUS " ${Arch}") ENDFOREACH() + + +IF(KOKKOS_ENABLE_ATOMICS_BYPASS) + IF(NOT _HOST_PARALLEL STREQUAL "NoTypeDefined" OR NOT _DEVICE_PARALLEL STREQUAL "NoTypeDefined") + MESSAGE(FATAL_ERROR "Not allowed to disable atomics (via -DKokkos_ENABLE_AROMICS_BYPASS=ON) if neither a host parallel nor a device backend is enabled!") + ENDIF() + IF(NOT KOKKOS_ENABLE_SERIAL) + MESSAGE(FATAL_ERROR "Implementation bug") # safeguard + ENDIF() + MESSAGE(STATUS "Atomics: **DISABLED**") +ENDIF() diff --git a/lib/kokkos/cmake/kokkos_compiler_id.cmake b/lib/kokkos/cmake/kokkos_compiler_id.cmake index 04589befc3..9135ca2b41 100644 --- a/lib/kokkos/cmake/kokkos_compiler_id.cmake +++ b/lib/kokkos/cmake/kokkos_compiler_id.cmake @@ -152,6 +152,7 @@ ENDIF() SET(KOKKOS_MESSAGE_TEXT "Compiler not supported by Kokkos. Required compiler versions:") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Clang(CPU) 8.0.0 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Clang(CUDA) 10.0.0 or higher") +SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Clang(OpenMPTarget) 15.0.0 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n GCC 8.2.0 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Intel 19.0.5 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n IntelLLVM(CPU) 2021.1.1 or higher") @@ -210,6 +211,10 @@ ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL "MSVC") ENDIF() ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL XL OR KOKKOS_CXX_COMPILER_ID STREQUAL XLClang) MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") +ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang AND Kokkos_ENABLE_OPENMPTARGET) + IF(KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 15.0.0) + MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") + ENDIF() ENDIF() IF(NOT DEFINED KOKKOS_CXX_HOST_COMPILER_ID) diff --git a/lib/kokkos/cmake/kokkos_enable_options.cmake b/lib/kokkos/cmake/kokkos_enable_options.cmake index 89e23b019b..a437f6132a 100644 --- a/lib/kokkos/cmake/kokkos_enable_options.cmake +++ b/lib/kokkos/cmake/kokkos_enable_options.cmake @@ -48,7 +48,6 @@ KOKKOS_ENABLE_OPTION(CUDA_LAMBDA ${CUDA_LAMBDA_DEFAULT} "Whether to allow lambda # resolved but we keep the option around a bit longer to be safe. KOKKOS_ENABLE_OPTION(IMPL_CUDA_MALLOC_ASYNC ON "Whether to enable CudaMallocAsync (requires CUDA Toolkit 11.2)") KOKKOS_ENABLE_OPTION(IMPL_NVHPC_AS_DEVICE_COMPILER OFF "Whether to allow nvc++ as Cuda device compiler") -KOKKOS_ENABLE_OPTION(DEPRECATED_CODE_3 OFF "Whether code deprecated in major release 3 is available" ) KOKKOS_ENABLE_OPTION(DEPRECATED_CODE_4 ON "Whether code deprecated in major release 4 is available" ) KOKKOS_ENABLE_OPTION(DEPRECATION_WARNINGS ON "Whether to emit deprecation warnings" ) KOKKOS_ENABLE_OPTION(HIP_RELOCATABLE_DEVICE_CODE OFF "Whether to enable relocatable device code (RDC) for HIP") @@ -74,6 +73,7 @@ KOKKOS_ENABLE_OPTION(HIP_MULTIPLE_KERNEL_INSTANTIATIONS OFF "Whether multiple ke # This option will go away eventually, but allows fallback to old implementation when needed. KOKKOS_ENABLE_OPTION(DESUL_ATOMICS_EXTERNAL OFF "Whether to use an external desul installation") +KOKKOS_ENABLE_OPTION(ATOMICS_BYPASS OFF "**NOT RECOMMENDED** Whether to make atomics non-atomic for non-threaded MPI-only use cases") KOKKOS_ENABLE_OPTION(IMPL_MDSPAN OFF "Whether to enable experimental mdspan support") KOKKOS_ENABLE_OPTION(MDSPAN_EXTERNAL OFF BOOL "Whether to use an external version of mdspan") diff --git a/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake b/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake index d4eca651d4..ae14a10d53 100644 --- a/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake +++ b/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake @@ -7,6 +7,7 @@ KOKKOS_OPTION(CXX_STANDARD "" STRING "[[DEPRECATED - USE CMAKE_CXX_STANDARD INST SET(KOKKOS_ENABLE_CXX17 OFF) SET(KOKKOS_ENABLE_CXX20 OFF) SET(KOKKOS_ENABLE_CXX23 OFF) +SET(KOKKOS_ENABLE_CXX26 OFF) IF (KOKKOS_CXX_STANDARD) MESSAGE(FATAL_ERROR "Setting the variable Kokkos_CXX_STANDARD in configuration is deprecated - set CMAKE_CXX_STANDARD directly instead") ENDIF() diff --git a/lib/kokkos/cmake/kokkos_test_cxx_std.cmake b/lib/kokkos/cmake/kokkos_test_cxx_std.cmake index 7ad49fdd2d..b075a3e36b 100644 --- a/lib/kokkos/cmake/kokkos_test_cxx_std.cmake +++ b/lib/kokkos/cmake/kokkos_test_cxx_std.cmake @@ -74,6 +74,10 @@ ELSEIF(KOKKOS_CXX_STANDARD STREQUAL "23") kokkos_set_cxx_standard_feature(23) SET(KOKKOS_CXX_INTERMEDIATE_STANDARD "2B") SET(KOKKOS_ENABLE_CXX23 ON) +ELSEIF(KOKKOS_CXX_STANDARD STREQUAL "26") + kokkos_set_cxx_standard_feature(26) + SET(KOKKOS_CXX_INTERMEDIATE_STANDARD "2C") + SET(KOKKOS_ENABLE_CXX26 ON) ELSE() MESSAGE(FATAL_ERROR "Kokkos requires C++17 or newer but requested ${KOKKOS_CXX_STANDARD}!") ENDIF() diff --git a/lib/kokkos/cmake/kokkos_tpls.cmake b/lib/kokkos/cmake/kokkos_tpls.cmake index f124596a84..6ef3b79bde 100644 --- a/lib/kokkos/cmake/kokkos_tpls.cmake +++ b/lib/kokkos/cmake/kokkos_tpls.cmake @@ -32,19 +32,21 @@ FUNCTION(KOKKOS_TPL_OPTION PKG DEFAULT) ENDFUNCTION() KOKKOS_TPL_OPTION(HWLOC Off TRIBITS HWLOC) -KOKKOS_TPL_OPTION(MEMKIND Off) -IF(KOKKOS_ENABLE_MEMKIND) - SET(KOKKOS_ENABLE_HBWSPACE ON) -ENDIF() KOKKOS_TPL_OPTION(CUDA ${Kokkos_ENABLE_CUDA} TRIBITS CUDA) -KOKKOS_TPL_OPTION(LIBRT Off) IF(KOKKOS_ENABLE_HIP AND NOT KOKKOS_CXX_COMPILER_ID STREQUAL HIPCC AND NOT KOKKOS_HAS_TRILINOS) SET(ROCM_DEFAULT ON) ELSE() SET(ROCM_DEFAULT OFF) ENDIF() +IF(KOKKOS_ENABLE_HIP AND NOT KOKKOS_HAS_TRILINOS) + SET(ROCTHRUST_DEFAULT ON) +ELSE() + SET(ROCTHRUST_DEFAULT OFF) +ENDIF() KOKKOS_TPL_OPTION(ROCM ${ROCM_DEFAULT}) +KOKKOS_TPL_OPTION(ROCTHRUST ${ROCTHRUST_DEFAULT}) + IF(KOKKOS_ENABLE_SYCL AND NOT KOKKOS_HAS_TRILINOS) SET(ONEDPL_DEFAULT ON) ELSE() @@ -77,21 +79,18 @@ KOKKOS_TPL_OPTION(LIBQUADMATH ${LIBQUADMATH_DEFAULT} TRIBITS quadmath) #Make sure we use our local FindKokkosCuda.cmake KOKKOS_IMPORT_TPL(HPX INTERFACE) -IF (NOT KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE) - KOKKOS_IMPORT_TPL(CUDA INTERFACE) -ENDIF() +KOKKOS_IMPORT_TPL(CUDA INTERFACE) KOKKOS_IMPORT_TPL(HWLOC) -KOKKOS_IMPORT_TPL(LIBRT) KOKKOS_IMPORT_TPL(LIBDL) -KOKKOS_IMPORT_TPL(MEMKIND) IF (NOT WIN32) KOKKOS_IMPORT_TPL(THREADS INTERFACE) ENDIF() IF (NOT KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE) KOKKOS_IMPORT_TPL(ROCM INTERFACE) - KOKKOS_IMPORT_TPL(ONEDPL INTERFACE) ENDIF() +KOKKOS_IMPORT_TPL(ONEDPL INTERFACE) KOKKOS_IMPORT_TPL(LIBQUADMATH) +KOKKOS_IMPORT_TPL(ROCTHRUST) IF (Kokkos_ENABLE_DESUL_ATOMICS_EXTERNAL) find_package(desul REQUIRED COMPONENTS atomics) @@ -119,7 +118,3 @@ STRING(REPLACE ";" "\n" KOKKOS_TPL_EXPORT_TEMP "${KOKKOS_TPL_EXPORTS}") #Convert to a regular variable UNSET(KOKKOS_TPL_EXPORTS CACHE) SET(KOKKOS_TPL_EXPORTS ${KOKKOS_TPL_EXPORT_TEMP}) -IF (KOKKOS_ENABLE_MEMKIND) - SET(KOKKOS_ENABLE_HBWSPACE) - LIST(APPEND KOKKOS_MEMSPACE_LIST HBWSpace) -ENDIF() diff --git a/lib/kokkos/cmake/kokkos_tribits.cmake b/lib/kokkos/cmake/kokkos_tribits.cmake index b30ca70ab9..060a7a8472 100644 --- a/lib/kokkos/cmake/kokkos_tribits.cmake +++ b/lib/kokkos/cmake/kokkos_tribits.cmake @@ -237,18 +237,10 @@ ENDMACRO() ## KOKKOS_DECLARE is the declaration set ## KOKKOS_POST_INCLUDE is included at the end of Kokkos_Core.hpp MACRO(KOKKOS_CONFIGURE_CORE) - SET(FWD_BACKEND_LIST) - FOREACH(MEMSPACE ${KOKKOS_MEMSPACE_LIST}) - LIST(APPEND FWD_BACKEND_LIST ${MEMSPACE}) - ENDFOREACH() - FOREACH(BACKEND_ ${KOKKOS_ENABLED_DEVICES}) - LIST(APPEND FWD_BACKEND_LIST ${BACKEND_}) - ENDFOREACH() - MESSAGE(STATUS "Kokkos Devices: ${KOKKOS_ENABLED_DEVICES}, Kokkos Backends: ${FWD_BACKEND_LIST}") - KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_FwdBackend.hpp "KOKKOS_FWD" "fwd/Kokkos_Fwd" "${FWD_BACKEND_LIST}") + MESSAGE(STATUS "Kokkos Backends: ${KOKKOS_ENABLED_DEVICES}") + KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_FwdBackend.hpp "KOKKOS_FWD" "fwd/Kokkos_Fwd" "${KOKKOS_ENABLED_DEVICES}") KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_SetupBackend.hpp "KOKKOS_SETUP" "setup/Kokkos_Setup" "${DEVICE_SETUP_LIST}") - KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_DeclareBackend.hpp "KOKKOS_DECLARE" "decl/Kokkos_Declare" "${FWD_BACKEND_LIST}") - KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_PostInclude.hpp "KOKKOS_POST_INCLUDE" "Kokkos_Post_Include" "${KOKKOS_BACKEND_POST_INCLUDE_LIST}") + KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_DeclareBackend.hpp "KOKKOS_DECLARE" "decl/Kokkos_Declare" "${KOKKOS_ENABLED_DEVICES}") SET(_DEFAULT_HOST_MEMSPACE "::Kokkos::HostSpace") KOKKOS_OPTION(DEFAULT_DEVICE_MEMORY_SPACE "" STRING "Override default device memory space") KOKKOS_OPTION(DEFAULT_HOST_MEMORY_SPACE "" STRING "Override default host memory space") @@ -309,7 +301,6 @@ MACRO(KOKKOS_INSTALL_ADDITIONAL_FILES) "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_FwdBackend.hpp" "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_SetupBackend.hpp" "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_DeclareBackend.hpp" - "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_PostInclude.hpp" DESTINATION ${KOKKOS_HEADER_DIR}) ENDMACRO() diff --git a/lib/kokkos/config/test_all_sandia b/lib/kokkos/config/test_all_sandia deleted file mode 100755 index 193a162a4e..0000000000 --- a/lib/kokkos/config/test_all_sandia +++ /dev/null @@ -1,773 +0,0 @@ -#!/bin/bash -e - -# -# Global config -# - -set -o pipefail - -# Determine current machine. - -MACHINE="" -HOSTNAME=$(hostname) -PROCESSOR=`uname -p` - -if [[ "$HOSTNAME" =~ (white|ride).* ]]; then - MACHINE=white - module load git -fi - -if [[ "$HOSTNAME" =~ .*bowman.* ]]; then - MACHINE=bowman - module load git -fi - -if [[ "$HOSTNAME" == n* ]]; then # Warning: very generic name - if [[ "$PROCESSOR" = "aarch64" ]]; then - MACHINE=sullivan - module load git - fi -fi - -if [[ "$HOSTNAME" == node* ]]; then # Warning: very generic name - if [[ "$MACHINE" = "" ]]; then - MACHINE=shepard - module load git - fi -fi - -if [[ "$HOSTNAME" == apollo\.* ]]; then - MACHINE=apollo - module load git -fi - -if [[ "$HOSTNAME" == sullivan ]]; then - MACHINE=sullivan - module load git -fi - -if [[ "$HOSTNAME" == mayer\.* ]]; then - MACHINE=mayer -# module load git -fi -if [[ "$HOSTNAME" == cn* ]]; then # Warning: very generic name - MACHINE=mayer -fi - -if [ ! -z "$SEMS_MODULEFILES_ROOT" ]; then - if [[ "$MACHINE" = "" ]]; then - MACHINE=sems - module load sems-git - fi -fi - -if [[ "$MACHINE" = "" ]]; then - echo "Unrecognized machine" >&2 - exit 1 -fi - -echo "Running on machine: $MACHINE" - -GCC_BUILD_LIST="OpenMP,Pthread,Serial,OpenMP_Serial,Pthread_Serial" -IBM_BUILD_LIST="OpenMP,Serial,OpenMP_Serial" -ARM_GCC_BUILD_LIST="OpenMP,Serial,OpenMP_Serial" -INTEL_BUILD_LIST="OpenMP,Pthread,Serial,OpenMP_Serial,Pthread_Serial" -CLANG_BUILD_LIST="Pthread,Serial,Pthread_Serial" -CUDA_BUILD_LIST="Cuda_OpenMP,Cuda_Pthread,Cuda_Serial" -CUDA_IBM_BUILD_LIST="Cuda_OpenMP,Cuda_Serial" - -GCC_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wignored-qualifiers,-Wempty-body,-Wclobbered,-Wuninitialized" -IBM_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -CLANG_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -INTEL_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -#CUDA_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -CUDA_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Wsign-compare,-Wtype-limits,-Wuninitialized" -PGI_WARNING_FLAGS="" - -# Default. Machine specific can override. -DEBUG=False -ARGS="" -CUSTOM_BUILD_LIST="" -DRYRUN=False -BUILD_ONLY=False -declare -i NUM_JOBS_TO_RUN_IN_PARALLEL=1 -TEST_SCRIPT=False -SKIP_HWLOC=False -SPOT_CHECK=False - -PRINT_HELP=False -OPT_FLAG="" -CXX_FLAGS_EXTRA="" -LD_FLAGS_EXTRA="" -KOKKOS_OPTIONS="" - -# -# Handle arguments. -# - -while [[ $# > 0 ]] -do - key="$1" - - case $key in - --kokkos-path*) - KOKKOS_PATH="${key#*=}" - ;; - --build-list*) - CUSTOM_BUILD_LIST="${key#*=}" - ;; - --debug*) - DEBUG=True - ;; - --build-only*) - BUILD_ONLY=True - ;; - --test-script*) - TEST_SCRIPT=True - ;; - --skip-hwloc*) - SKIP_HWLOC=True - ;; - --num*) - NUM_JOBS_TO_RUN_IN_PARALLEL="${key#*=}" - ;; - --dry-run*) - DRYRUN=True - ;; - --spot-check*) - SPOT_CHECK=True - ;; - --arch*) - ARCH_FLAG="--arch=${key#*=}" - ;; - --opt-flag*) - OPT_FLAG="${key#*=}" - ;; - --with-cuda-options*) - KOKKOS_CUDA_OPTIONS="--with-cuda-options=${key#*=}" - ;; - --with-options*) - KOKKOS_OPTIONS="--with-options=enable_large_mem_tests,${key#*=}" - ;; - --cxxflags-extra*) - CXX_FLAGS_EXTRA="${key#*=}" - ;; - --ldflags-extra*) - LD_FLAGS_EXTRA="${key#*=}" - ;; - --help*) - PRINT_HELP=True - ;; - *) - # args, just append - ARGS="$ARGS $1" - ;; - esac - - shift -done - -SCRIPT_KOKKOS_ROOT=$( cd "$( dirname "$0" )" && cd .. && pwd ) - -# Set kokkos path. -if [ -z "$KOKKOS_PATH" ]; then - KOKKOS_PATH=$SCRIPT_KOKKOS_ROOT -else - # Ensure KOKKOS_PATH is abs path. - KOKKOS_PATH=$( cd $KOKKOS_PATH && pwd ) -fi - -UNCOMMITTED=`cd ${KOKKOS_PATH}; git status --porcelain 2>/dev/null` -if ! [ -z "$UNCOMMITTED" ]; then - echo "WARNING!! THE FOLLOWING CHANGES ARE UNCOMMITTED!! :" - echo "$UNCOMMITTED" - echo "" -fi - -GITSTATUS=`cd ${KOKKOS_PATH}; git log -n 1 --format=oneline` -echo "Repository Status: " ${GITSTATUS} -echo "" -echo "" - -# -# Machine specific config. -# - -if [ "$MACHINE" = "sems" ]; then - source /projects/sems/modulefiles/utils/sems-modules-init.sh - - BASE_MODULE_LIST="sems-env,kokkos-env,kokkos-hwloc/1.10.1/base,sems-/" - CUDA_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/4.8.4,kokkos-hwloc/1.10.1/base" - CUDA8_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/5.3.0,kokkos-hwloc/1.10.1/base" - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="" - fi - - if [ "$SPOT_CHECK" = "True" ]; then - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/5.3.0 $BASE_MODULE_LIST "OpenMP" g++ $GCC_WARNING_FLAGS" - "gcc/6.1.0 $BASE_MODULE_LIST "Serial" g++ $GCC_WARNING_FLAGS" - "intel/17.0.1 $BASE_MODULE_LIST "OpenMP" icpc $INTEL_WARNING_FLAGS" - "clang/3.9.0 $BASE_MODULE_LIST "Pthread_Serial" clang++ $CLANG_WARNING_FLAGS" - "cuda/8.0.44 $CUDA8_MODULE_LIST "Cuda_OpenMP" $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - ) - else - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/4.8.4 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/4.9.3 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/5.3.0 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/6.1.0 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "intel/15.0.2 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/16.0.1 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/16.0.3 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "clang/3.6.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "clang/3.7.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "clang/3.8.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "clang/3.9.0 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "cuda/7.0.28 $CUDA_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - "cuda/7.5.18 $CUDA_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - "cuda/8.0.44 $CUDA8_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - ) - fi -elif [ "$MACHINE" = "white" ]; then - source /etc/profile.d/modules.sh - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=32 - - BASE_MODULE_LIST="/" - IBM_MODULE_LIST="/xl/" - CUDA_MODULE_LIST="/,gcc/6.4.0,ibm/xl/16.1.0" - - # Don't do pthread on white. - GCC_BUILD_LIST="OpenMP,Serial,OpenMP_Serial" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/5.4.0 $BASE_MODULE_LIST $IBM_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/6.4.0 $BASE_MODULE_LIST $IBM_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "ibm/16.1.0 $IBM_MODULE_LIST $IBM_BUILD_LIST xlC $IBM_WARNING_FLAGS" - "cuda/9.0.103 $CUDA_MODULE_LIST $CUDA_IBM_BUILD_LIST ${KOKKOS_PATH}/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - ) - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=Power8,Kepler37" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "bowman" ]; then - source /etc/profile.d/modules.sh - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=32 - - BASE_MODULE_LIST="/compilers/" - - OLD_INTEL_BUILD_LIST="Pthread,Serial,Pthread_Serial" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("intel/16.4.258 $BASE_MODULE_LIST $OLD_INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/17.2.174 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/18.0.128 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - ) - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=KNL" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "sullivan" ]; then - source /etc/profile.d/modules.sh - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=96 - - BASE_MODULE_LIST="/" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/6.1.0 $BASE_MODULE_LIST $ARM_GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS") - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=ARMv8-ThunderX" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "mayer" ]; then - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=96 - - BASE_MODULE_LIST="/" - ARM_MODULE_LIST="/" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/7.2.0 $BASE_MODULE_LIST $ARM_GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "arm/1.4.0 $ARM_MODULE_LIST $ARM_GCC_BUILD_LIST armclang++ $CLANG_WARNING_FLAGS") - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=ARMv8-TX2" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "shepard" ]; then - source /etc/profile.d/modules.sh - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=32 - - BASE_MODULE_LIST="/" - BASE_MODULE_LIST_INTEL="/compilers/" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("intel/17.4.196 $BASE_MODULE_LIST_INTEL $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/18.0.128 $BASE_MODULE_LIST_INTEL $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "pgi/17.10.0 $BASE_MODULE_LIST $GCC_BUILD_LIST pgc++ $PGI_WARNING_FLAGS" - ) - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=HSW" - fi - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "apollo" ]; then - source /projects/sems/modulefiles/utils/sems-modules-init.sh - module use /home/projects/modulefiles/local/x86-64 - module load kokkos-env - - module load sems-git - module load sems-tex - module load sems-cmake/3.5.2 - module load sems-gdb - - SKIP_HWLOC=True - - BASE_MODULE_LIST="sems-env,kokkos-env,sems-/,kokkos-hwloc/1.10.1/base" - CUDA_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/4.8.4,kokkos-hwloc/1.10.1/base" - CUDA8_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/5.3.0,kokkos-hwloc/1.10.1/base" - - CLANG_MODULE_LIST="sems-env,kokkos-env,sems-git,sems-cmake/3.5.2,/,cuda/9.0.69" - NVCC_MODULE_LIST="sems-env,kokkos-env,sems-git,sems-cmake/3.5.2,/,sems-gcc/5.3.0" - - BUILD_LIST_CUDA_NVCC="Cuda_Serial,Cuda_OpenMP" - BUILD_LIST_CUDA_CLANG="Cuda_Serial,Cuda_Pthread" - BUILD_LIST_CLANG="Serial,Pthread,OpenMP" - - if [ "$SPOT_CHECK" = "True" ]; then - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/4.8.4 $BASE_MODULE_LIST "OpenMP,Pthread" g++ $GCC_WARNING_FLAGS" - "gcc/5.3.0 $BASE_MODULE_LIST "Serial" g++ $GCC_WARNING_FLAGS" - "intel/16.0.1 $BASE_MODULE_LIST "OpenMP" icpc $INTEL_WARNING_FLAGS" - "clang/3.9.0 $BASE_MODULE_LIST "Pthread_Serial" clang++ $CLANG_WARNING_FLAGS" - "clang/6.0 $CLANG_MODULE_LIST "Cuda_Pthread,OpenMP" clang++ $CUDA_WARNING_FLAGS" - "cuda/9.1 $CUDA_MODULE_LIST "Cuda_OpenMP" $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - ) - else - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("cuda/9.1 $CUDA8_MODULE_LIST $BUILD_LIST_CUDA_NVCC $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - "clang/6.0 $CLANG_MODULE_LIST $BUILD_LIST_CUDA_CLANG clang++ $CUDA_WARNING_FLAGS" - "clang/3.9.0 $CLANG_MODULE_LIST $BUILD_LIST_CLANG clang++ $CLANG_WARNING_FLAGS" - "gcc/4.8.4 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/4.9.3 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/5.3.0 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/6.1.0 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "intel/15.0.2 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/16.0.1 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/17.0.1 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "clang/3.5.2 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "clang/3.6.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - ) - fi - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=SNB,Volta70" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -else - echo "Unhandled machine $MACHINE" >&2 - exit 1 -fi - -export OMP_NUM_THREADS=4 - -declare -i NUM_RESULTS_TO_KEEP=7 - -RESULT_ROOT_PREFIX=TestAll - -if [ "$PRINT_HELP" = "True" ]; then - echo "test_all_sandia :" - echo "--kokkos-path=/Path/To/Kokkos: Path to the Kokkos root directory" - echo " Defaults to root repo containing this script" - echo "--debug: Run tests in debug. Defaults to False" - echo "--test-script: Test this script, not Kokkos" - echo "--skip-hwloc: Do not do hwloc tests" - echo "--num=N: Number of jobs to run in parallel" - echo "--spot-check: Minimal test set to issue pull request" - echo "--dry-run: Just print what would be executed" - echo "--build-only: Just do builds, don't run anything" - echo "--opt-flag=FLAG: Optimization flag (default: -O3)" - echo "--cxxflags-extra=FLAGS: Extra flags to be added to CXX_FLAGS" - echo "--ldflags-extra=FLAGS: Extra flags to be added to LD_FLAGS" - echo "--arch=ARCHITECTURE: overwrite architecture flags" - echo "--with-cuda-options=OPT: set KOKKOS_CUDA_OPTIONS" - echo "--build-list=BUILD,BUILD,BUILD..." - echo " Provide a comma-separated list of builds instead of running all builds" - echo " Valid items:" - echo " OpenMP, Pthread, Serial, OpenMP_Serial, Pthread_Serial" - echo " Cuda_OpenMP, Cuda_Pthread, Cuda_Serial" - echo "" - - echo "ARGS: list of expressions matching compilers to test" - echo " supported compilers sems" - for COMPILER_DATA in "${COMPILERS[@]}"; do - ARR=($COMPILER_DATA) - COMPILER=${ARR[0]} - echo " $COMPILER" - done - echo "" - - echo "Examples:" - echo " Run all tests" - echo " % test_all_sandia" - echo "" - echo " Run all gcc tests" - echo " % test_all_sandia gcc" - echo "" - echo " Run all gcc/4.8.4 and all intel tests" - echo " % test_all_sandia gcc/4.8.4 intel" - echo "" - echo " Run all tests in debug" - echo " % test_all_sandia --debug" - echo "" - echo " Run gcc/4.8.4 and only do OpenMP and OpenMP_Serial builds" - echo " % test_all_sandia gcc/4.8.4 --build-list=OpenMP,OpenMP_Serial" - echo "" - echo "If you want to kill the tests, do:" - echo " hit ctrl-z" - echo " % kill -9 %1" - echo - exit 0 -fi - -# Set build type. -if [ "$DEBUG" = "True" ]; then - BUILD_TYPE=debug -else - BUILD_TYPE=release -fi - -# If no args provided, do all compilers. -if [ -z "$ARGS" ]; then - ARGS='?' -fi - -# Process args to figure out which compilers to test. -COMPILERS_TO_TEST="" - -for ARG in $ARGS; do - for COMPILER_DATA in "${COMPILERS[@]}"; do - ARR=($COMPILER_DATA) - COMPILER=${ARR[0]} - - if [[ "$COMPILER" = $ARG* ]]; then - if [[ "$COMPILERS_TO_TEST" != *${COMPILER}* ]]; then - COMPILERS_TO_TEST="$COMPILERS_TO_TEST $COMPILER" - else - echo "Tried to add $COMPILER twice" - fi - fi - done -done - -# -# Functions. -# - -# get_compiler_name -get_compiler_name() { - echo $1 | cut -d/ -f1 -} - -# get_compiler_version -get_compiler_version() { - echo $1 | cut -d/ -f2 -} - -# Do not call directly. -get_compiler_data() { - local compiler=$1 - local item=$2 - local compiler_name=$(get_compiler_name $compiler) - local compiler_vers=$(get_compiler_version $compiler) - - local compiler_data - for compiler_data in "${COMPILERS[@]}" ; do - local arr=($compiler_data) - - if [ "$compiler" = "${arr[0]}" ]; then - echo "${arr[$item]}" | tr , ' ' | sed -e "s//$compiler_name/g" -e "s//$compiler_vers/g" - return 0 - fi - done - - # Not found. - echo "Unreconized compiler $compiler" >&2 - exit 1 -} - -# -# For all getters, usage: -# - -get_compiler_modules() { - get_compiler_data $1 1 -} - -get_compiler_build_list() { - get_compiler_data $1 2 -} - -get_compiler_exe_name() { - get_compiler_data $1 3 -} - -get_compiler_warning_flags() { - get_compiler_data $1 4 -} - -run_cmd() { - echo "RUNNING: $*" - if [ "$DRYRUN" != "True" ]; then - eval "$* 2>&1" - fi -} - -# report_and_log_test_results -report_and_log_test_result() { - # Use sane var names. - local success=$1; local desc=$2; local comment=$3; - - if [ "$success" = "0" ]; then - echo " PASSED $desc" - echo $comment > $PASSED_DIR/$desc - else - # For failures, comment should be the name of the phase that failed. - echo " FAILED $desc" >&2 - echo $comment > $FAILED_DIR/$desc - cat ${desc}.${comment}.log - fi -} - -setup_env() { - local compiler=$1 - local compiler_modules=$(get_compiler_modules $compiler) - - module purge - - local mod - for mod in $compiler_modules; do - echo "Loading module $mod" - module load $mod 2>&1 - # It is ridiculously hard to check for the success of a loaded - # module. Module does not return error codes and piping to grep - # causes module to run in a subshell. - module list 2>&1 | grep "$mod" >& /dev/null || return 1 - done - - return 0 -} - -# single_build_and_test -single_build_and_test() { - # Use sane var names. - local compiler=$1; local build=$2; local build_type=$3; - - # Set up env. - mkdir -p $ROOT_DIR/$compiler/"${build}-$build_type" - cd $ROOT_DIR/$compiler/"${build}-$build_type" - local desc=$(echo "${compiler}-${build}-${build_type}" | sed 's:/:-:g') - setup_env $compiler >& ${desc}.configure.log || { report_and_log_test_result 1 ${desc} configure && return 0; } - - # Set up flags. - local compiler_warning_flags=$(get_compiler_warning_flags $compiler) - local compiler_exe=$(get_compiler_exe_name $compiler) - - if [[ "$build_type" = hwloc* ]]; then - local extra_args=--with-hwloc=$(dirname $(dirname $(which hwloc-info))) - fi - - if [[ "$OPT_FLAG" = "" ]]; then - OPT_FLAG="-O3" - fi - - if [[ "$build_type" = *debug* ]]; then - local extra_args="$extra_args --debug" - local cxxflags="-g $compiler_warning_flags" - local ldflags="-g" - else - local cxxflags="$OPT_FLAG $compiler_warning_flags" - local ldflags="${OPT_FLAG}" - fi - - local cxxflags="${cxxflags} ${CXX_FLAGS_EXTRA}" - local ldflags="${ldflags} ${LD_FLAGS_EXTRA}" - - if [[ "$KOKKOS_CUDA_OPTIONS" != "" ]]; then - local extra_args="$extra_args $KOKKOS_CUDA_OPTIONS" - fi - if [[ "$KOKKOS_OPTIONS" != "" ]]; then - local extra_args="$extra_args $KOKKOS_OPTIONS" - else - local extra_args="$extra_args --with-options=enable_large_mem_tests" - fi - - echo " Starting job $desc" - - local comment="no_comment" - - if [ "$TEST_SCRIPT" = "True" ]; then - local rand=$[ 1 + $[ RANDOM % 10 ]] - sleep $rand - - if [ $rand -gt 5 ]; then - run_cmd ls fake_problem >& ${desc}.configure.log || { report_and_log_test_result 1 $desc configure && return 0; } - fi - else - run_cmd ${KOKKOS_PATH}/generate_makefile.bash --with-devices=$build $ARCH_FLAG --compiler=$(which $compiler_exe) --cxxflags=\"$cxxflags\" --ldflags=\"$ldflags\" $extra_args &>> ${desc}.configure.log || { report_and_log_test_result 1 ${desc} configure && return 0; } - local -i build_start_time=$(date +%s) - run_cmd make -j 48 build-test >& ${desc}.build.log || { report_and_log_test_result 1 ${desc} build && return 0; } - local -i build_end_time=$(date +%s) - comment="build_time=$(($build_end_time-$build_start_time))" - - if [[ "$BUILD_ONLY" == False ]]; then - run_cmd make test >& ${desc}.test.log || { report_and_log_test_result 1 ${desc} test && return 0; } - local -i run_end_time=$(date +%s) - comment="$comment run_time=$(($run_end_time-$build_end_time))" - fi - fi - - report_and_log_test_result 0 $desc "$comment" - - return 0 -} - -# wait_for_jobs -wait_for_jobs() { - local -i max_jobs=$1 - local -i num_active_jobs=$(jobs | wc -l) - while [ $num_active_jobs -ge $max_jobs ] - do - sleep 1 - num_active_jobs=$(jobs | wc -l) - jobs >& /dev/null - done -} - -# run_in_background -run_in_background() { - local compiler=$1 - - local -i num_jobs=$NUM_JOBS_TO_RUN_IN_PARALLEL - # Don't override command line input. - # if [[ "$BUILD_ONLY" == True ]]; then - # num_jobs=8 - # else - if [[ "$compiler" == cuda* ]]; then - num_jobs=1 - fi - if [[ "$compiler" == clang ]]; then - num_jobs=1 - fi - # fi - wait_for_jobs $num_jobs - - single_build_and_test $* & -} - -# build_and_test_all -build_and_test_all() { - # Get compiler data. - local compiler=$1 - if [ -z "$CUSTOM_BUILD_LIST" ]; then - local compiler_build_list=$(get_compiler_build_list $compiler) - else - local compiler_build_list=$(echo "$CUSTOM_BUILD_LIST" | tr , ' ') - fi - - # Do builds. - local build - for build in $compiler_build_list - do - run_in_background $compiler $build $BUILD_TYPE - - # If not cuda, do a hwloc test too. - if [[ "$compiler" != cuda* && "$SKIP_HWLOC" == False ]]; then - run_in_background $compiler $build "hwloc-$BUILD_TYPE" - fi - done - - return 0 -} - -get_test_root_dir() { - local existing_results=$(find . -maxdepth 1 -name "$RESULT_ROOT_PREFIX*" | sort) - local -i num_existing_results=$(echo $existing_results | tr ' ' '\n' | wc -l) - local -i num_to_delete=${num_existing_results}-${NUM_RESULTS_TO_KEEP} - - if [ $num_to_delete -gt 0 ]; then - /bin/rm -rf $(echo $existing_results | tr ' ' '\n' | head -n $num_to_delete) - fi - - echo $(pwd)/${RESULT_ROOT_PREFIX}_$(date +"%Y-%m-%d_%H.%M.%S") -} - -wait_summarize_and_exit() { - wait_for_jobs 1 - - echo "#######################################################" - echo "PASSED TESTS" - echo "#######################################################" - - local passed_test - for passed_test in $(\ls -1 $PASSED_DIR | sort) - do - echo $passed_test $(cat $PASSED_DIR/$passed_test) - done - - local -i rv=0 - if [ "$(ls -A $FAILED_DIR)" ]; then - echo "#######################################################" - echo "FAILED TESTS" - echo "#######################################################" - - local failed_test - for failed_test in $(\ls -1 $FAILED_DIR | sort) - do - echo $failed_test "("$(cat $FAILED_DIR/$failed_test)" failed)" - rv=$rv+1 - done - fi - - exit $rv -} - -# -# Main. -# - -ROOT_DIR=$(get_test_root_dir) -mkdir -p $ROOT_DIR -cd $ROOT_DIR - -PASSED_DIR=$ROOT_DIR/results/passed -FAILED_DIR=$ROOT_DIR/results/failed -mkdir -p $PASSED_DIR -mkdir -p $FAILED_DIR - -echo "Going to test compilers: " $COMPILERS_TO_TEST -for COMPILER in $COMPILERS_TO_TEST; do - echo "Testing compiler $COMPILER" - build_and_test_all $COMPILER -done - -wait_summarize_and_exit diff --git a/lib/kokkos/config/yaml/volta.yaml b/lib/kokkos/config/yaml/volta.yaml deleted file mode 100644 index f67af9c2a4..0000000000 --- a/lib/kokkos/config/yaml/volta.yaml +++ /dev/null @@ -1,4 +0,0 @@ -packages: - kokkos: - variants: +cuda +openmp +volta70 +cuda_lambda +wrapper ^cuda@10.1 - compiler: [gcc@7.2.0] diff --git a/lib/kokkos/containers/src/Kokkos_Bitset.hpp b/lib/kokkos/containers/src/Kokkos_Bitset.hpp index cd5ca4ea51..f50ab0a0f7 100644 --- a/lib/kokkos/containers/src/Kokkos_Bitset.hpp +++ b/lib/kokkos/containers/src/Kokkos_Bitset.hpp @@ -28,24 +28,6 @@ namespace Kokkos { -namespace Impl { -//! Either append to the label if the property already exists, or set it. -template -auto with_updated_label(const ViewCtorProp& view_ctor_prop, - const std::string& label) { - using vcp_t = ViewCtorProp; - //! If the label property is already set, append. Otherwise, set label. - if constexpr (vcp_t::has_label) { - vcp_t new_ctor_props(view_ctor_prop); - static_cast&>(new_ctor_props) - .value.append(label); - return new_ctor_props; - } else { - return Impl::with_properties_if_unset(view_ctor_prop, label); - } -} -} // namespace Impl - template class Bitset; @@ -92,9 +74,10 @@ class Bitset { using block_view_type = View>; public: - /// constructor + Bitset() = default; + /// arg_size := number of bit in set - Bitset(unsigned arg_size = 0u) : Bitset(Kokkos::view_alloc(), arg_size) {} + Bitset(unsigned arg_size) : Bitset(Kokkos::view_alloc(), arg_size) {} template Bitset(const Impl::ViewCtorProp& arg_prop, unsigned arg_size) @@ -108,9 +91,8 @@ class Bitset { "Allocation properties should not contain the 'pointer' property."); //! Update 'label' property and allocate. - const auto prop_copy = Kokkos::Impl::with_updated_label( - Impl::with_properties_if_unset(arg_prop, std::string("Bitset")), - " - blocks"); + const auto prop_copy = + Impl::with_properties_if_unset(arg_prop, std::string("Bitset")); m_blocks = block_view_type(prop_copy, ((m_size + block_mask) >> block_shift)); @@ -310,8 +292,8 @@ class Bitset { } private: - unsigned m_size; - unsigned m_last_block_mask; + unsigned m_size = 0; + unsigned m_last_block_mask = 0; block_view_type m_blocks; private: diff --git a/lib/kokkos/containers/src/Kokkos_DualView.hpp b/lib/kokkos/containers/src/Kokkos_DualView.hpp index 84bced2cc4..e821570a8d 100644 --- a/lib/kokkos/containers/src/Kokkos_DualView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DualView.hpp @@ -292,15 +292,6 @@ class DualView : public ViewTraits { d_view(src.d_view), h_view(src.h_view) {} - //! Copy assignment operator (shallow copy assignment) - template - DualView& operator=(const DualView& src) { - modified_flags = src.modified_flags; - d_view = src.d_view; - h_view = src.h_view; - return *this; - } - //! Subview constructor template DualView(const DualView& src, const Arg0& arg0, Args... args) diff --git a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp index 52aa86d8ee..5fa59f1b7c 100644 --- a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp @@ -1340,7 +1340,7 @@ class ViewMapping< template struct apply { - static_assert(Kokkos::is_memory_traits::value, ""); + static_assert(Kokkos::is_memory_traits::value); using traits_type = Kokkos::ViewTraits::type, Args...>( - v.data(), v.impl_map().layout()); + auto layout = v.impl_map().layout(); + + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + is_layouttiled::value) { + for (int i = N; i < 7; ++i) + layout.dimension[i] = KOKKOS_IMPL_CTOR_DEFAULT_ARG; + } + + return View::type, Args...>(v.data(), layout); } template diff --git a/lib/kokkos/containers/src/Kokkos_OffsetView.hpp b/lib/kokkos/containers/src/Kokkos_OffsetView.hpp index 92aead2878..91a7e4a927 100644 --- a/lib/kokkos/containers/src/Kokkos_OffsetView.hpp +++ b/lib/kokkos/containers/src/Kokkos_OffsetView.hpp @@ -124,15 +124,8 @@ KOKKOS_INLINE_FUNCTION void offsetview_verify_operator_bounds( args...); Kokkos::Impl::throw_runtime_exception(std::string(buffer));)) - KOKKOS_IF_ON_DEVICE(( - /* Check #1: is there a SharedAllocationRecord? - (we won't use it, but if it is not there then there isn't - a corresponding SharedAllocationHeader containing a label). - This check should cover the case of Views that don't - have the Unmanaged trait but were initialized by pointer. */ - if (tracker.has_record()) { - Kokkos::Impl::operator_bounds_error_on_device(map); - } else { Kokkos::abort("OffsetView bounds error"); })) + KOKKOS_IF_ON_DEVICE( + (Kokkos::abort("OffsetView bounds error"); (void)tracker;)) } } diff --git a/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp b/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp index e001c062de..78a6a238ec 100644 --- a/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp +++ b/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp @@ -243,16 +243,16 @@ class UnorderedMap { using const_map_type = UnorderedMap; - static const bool is_set = std::is_void::value; - static const bool has_const_key = - std::is_same::value; - static const bool has_const_value = - is_set || std::is_same::value; + static constexpr bool is_set = std::is_void_v; + static constexpr bool has_const_key = + std::is_same_v; + static constexpr bool has_const_value = + is_set || std::is_same_v; - static const bool is_insertable_map = + static constexpr bool is_insertable_map = !has_const_key && (is_set || !has_const_value); - static const bool is_modifiable_map = has_const_key && !has_const_value; - static const bool is_const_map = has_const_key && has_const_value; + static constexpr bool is_modifiable_map = has_const_key && !has_const_value; + static constexpr bool is_const_map = has_const_key && has_const_value; using insert_result = UnorderedMapInsertResult; @@ -337,27 +337,27 @@ class UnorderedMap { Impl::get_property(prop_copy) + " - size")); m_available_indexes = - bitset_type(Kokkos::Impl::with_updated_label(prop_copy, " - bitset"), + bitset_type(Kokkos::Impl::append_to_label(prop_copy, " - bitset"), calculate_capacity(capacity_hint)); m_hash_lists = size_type_view( - Kokkos::Impl::with_updated_label(prop_copy_noinit, " - hash list"), + Kokkos::Impl::append_to_label(prop_copy_noinit, " - hash list"), Impl::find_hash_size(capacity())); m_next_index = size_type_view( - Kokkos::Impl::with_updated_label(prop_copy_noinit, " - next index"), + Kokkos::Impl::append_to_label(prop_copy_noinit, " - next index"), capacity() + 1); // +1 so that the *_at functions can always return a // valid reference - m_keys = key_type_view( - Kokkos::Impl::with_updated_label(prop_copy, " - keys"), capacity()); + m_keys = key_type_view(Kokkos::Impl::append_to_label(prop_copy, " - keys"), + capacity()); - m_values = value_type_view( - Kokkos::Impl::with_updated_label(prop_copy, " - values"), - is_set ? 0 : capacity()); + m_values = + value_type_view(Kokkos::Impl::append_to_label(prop_copy, " - values"), + is_set ? 0 : capacity()); m_scalars = - scalars_view(Kokkos::Impl::with_updated_label(prop_copy, " - scalars")); + scalars_view(Kokkos::Impl::append_to_label(prop_copy, " - scalars")); /** * Deep copies should also be done using the space instance if given. diff --git a/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp b/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp index 8f8cd9523b..a979ee40d8 100644 --- a/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp +++ b/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp @@ -27,6 +27,18 @@ namespace Kokkos { namespace Impl { +//! Append to the label contained in view_ctor_prop. +template +auto append_to_label(const ViewCtorProp& view_ctor_prop, + const std::string& label) { + using vcp_t = ViewCtorProp; + static_assert(vcp_t::has_label); + vcp_t new_ctor_props(view_ctor_prop); + static_cast&>(new_ctor_props) + .value.append(label); + return new_ctor_props; +} + uint32_t find_hash_size(uint32_t size); template diff --git a/lib/kokkos/containers/unit_tests/Makefile b/lib/kokkos/containers/unit_tests/Makefile index 2e35832cc8..18410882bc 100644 --- a/lib/kokkos/containers/unit_tests/Makefile +++ b/lib/kokkos/containers/unit_tests/Makefile @@ -35,8 +35,8 @@ TESTS = Bitset DualView DynamicView DynViewAPI_generic DynViewAPI_rank12345 DynV tmp := $(foreach device, $(KOKKOS_DEVICELIST), \ tmp2 := $(foreach test, $(TESTS), \ $(if $(filter Test$(device)_$(test).cpp, $(shell ls Test$(device)_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include" > Test$(device)_$(test).cpp); \ - $(shell echo "\#include" >> Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include" > Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include" >> Test$(device)_$(test).cpp); \ )\ ) \ ) diff --git a/lib/kokkos/containers/unit_tests/TestBitset.hpp b/lib/kokkos/containers/unit_tests/TestBitset.hpp index 3ad0d2bf57..9923453f72 100644 --- a/lib/kokkos/containers/unit_tests/TestBitset.hpp +++ b/lib/kokkos/containers/unit_tests/TestBitset.hpp @@ -23,6 +23,8 @@ #include #include +#include <../../core/unit_test/tools/include/ToolTestingUtilities.hpp> + namespace Test { namespace Impl { @@ -155,7 +157,7 @@ void test_bitset() { { unsigned ts = 100u; - bitset_type b1; + bitset_type b1(Kokkos::view_alloc("MyBitset"), 0); ASSERT_TRUE(b1.is_allocated()); b1 = bitset_type(ts); @@ -165,6 +167,9 @@ void test_bitset() { ASSERT_TRUE(b1.is_allocated()); ASSERT_TRUE(b2.is_allocated()); ASSERT_TRUE(b3.is_allocated()); + + bitset_type b4; + ASSERT_FALSE(b4.is_allocated()); } std::array test_sizes = { @@ -237,6 +242,24 @@ void test_bitset() { } TEST(TEST_CATEGORY, bitset) { test_bitset(); } + +TEST(TEST_CATEGORY, bitset_default_constructor_no_alloc) { + using namespace Kokkos::Test::Tools; + listen_tool_events(Config::DisableAll(), Config::EnableAllocs()); + + auto success = validate_absence( + [&]() { + Kokkos::Bitset bs; + EXPECT_FALSE(bs.is_allocated()); + }, + [&](AllocateDataEvent) { + return MatchDiagnostic{true, {"Found alloc event"}}; + }); + ASSERT_TRUE(success); + + listen_tool_events(Config::DisableAll()); +} + } // namespace Test #endif // KOKKOS_TEST_BITSET_HPP diff --git a/lib/kokkos/core/perf_test/CMakeLists.txt b/lib/kokkos/core/perf_test/CMakeLists.txt index 7f3916da31..e0dba03e1e 100644 --- a/lib/kokkos/core/perf_test/CMakeLists.txt +++ b/lib/kokkos/core/perf_test/CMakeLists.txt @@ -50,8 +50,8 @@ ELSE() FetchContent_Declare( googlebenchmark DOWNLOAD_EXTRACT_TIMESTAMP FALSE - URL https://github.com/google/benchmark/archive/refs/tags/v1.6.2.tar.gz - URL_HASH MD5=14d14849e075af116143a161bc3b927b + URL https://github.com/google/benchmark/archive/refs/tags/v1.7.1.tar.gz + URL_HASH MD5=0459a6c530df9851bee6504c3e37c2e7 ) FetchContent_MakeAvailable(googlebenchmark) list(POP_BACK CMAKE_MESSAGE_INDENT) diff --git a/lib/kokkos/core/src/CMakeLists.txt b/lib/kokkos/core/src/CMakeLists.txt index 012af0a7d0..b84677e61b 100644 --- a/lib/kokkos/core/src/CMakeLists.txt +++ b/lib/kokkos/core/src/CMakeLists.txt @@ -18,10 +18,16 @@ IF (NOT desul_FOUND) ENDIF() IF(KOKKOS_ENABLE_SYCL) SET(DESUL_ATOMICS_ENABLE_SYCL ON) + IF(KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED AND NOT KOKKOS_IMPL_HAVE_SYCL_EXT_ONEAPI_DEVICE_GLOBAL) + SET(DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION ON) + ENDIF() ENDIF() IF(KOKKOS_ENABLE_OPENMPTARGET) SET(DESUL_ATOMICS_ENABLE_OPENMP ON) # not a typo Kokkos OpenMPTarget -> Desul OpenMP ENDIF() + IF(KOKKOS_ENABLE_OPENACC) + SET(DESUL_ATOMICS_ENABLE_OPENACC ON) + ENDIF() CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/../../tpls/desul/Config.hpp.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/desul/atomics/Config.hpp @@ -80,10 +86,6 @@ IF (KOKKOS_ENABLE_HPX) APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/HPX/*.hpp) ENDIF() -IF (NOT KOKKOS_ENABLE_MEMKIND) - LIST(REMOVE_ITEM KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/impl/Kokkos_HBWSpace.cpp) -ENDIF() - IF (KOKKOS_ENABLE_SERIAL) APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/Serial/*.cpp) APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/Serial/*.hpp) @@ -180,20 +182,15 @@ IF (Kokkos_ENABLE_IMPL_MDSPAN) ENDIF() KOKKOS_LINK_TPL(kokkoscore PUBLIC HWLOC) -KOKKOS_LINK_TPL(kokkoscore PUBLIC MEMKIND) -IF (NOT KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE) - KOKKOS_LINK_TPL(kokkoscore PUBLIC CUDA) -ENDIF() +KOKKOS_LINK_TPL(kokkoscore PUBLIC CUDA) KOKKOS_LINK_TPL(kokkoscore PUBLIC HPX) KOKKOS_LINK_TPL(kokkoscore PUBLIC LIBDL) -KOKKOS_LINK_TPL(kokkoscore PUBLIC LIBRT) # On *nix-like systems (Linux, macOS) we need pthread for C++ std::thread IF (NOT WIN32) KOKKOS_LINK_TPL(kokkoscore PUBLIC THREADS) ENDIF() IF (NOT KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE) KOKKOS_LINK_TPL(kokkoscore PUBLIC ROCM) - KOKKOS_LINK_TPL(kokkoscore PUBLIC ONEDPL) ENDIF() # FIXME: We need a proper solution to figure out whether to enable diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp index 8bfaf8317b..276d03da26 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp @@ -46,7 +46,6 @@ static_assert(false, namespace Kokkos { namespace Impl { -class CudaExec; class CudaInternal; } // namespace Impl } // namespace Kokkos @@ -129,33 +128,16 @@ class Cuda { /// \brief True if and only if this method is being called in a /// thread-parallel function. - KOKKOS_INLINE_FUNCTION static int in_parallel() { + +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED KOKKOS_INLINE_FUNCTION static int in_parallel() { #if defined(__CUDA_ARCH__) return true; #else return false; #endif } - - /** \brief Set the device in a "sleep" state. - * - * This function sets the device in a "sleep" state in which it is - * not ready for work. This may consume less resources than if the - * device were in an "awake" state, but it may also take time to - * bring the device from a sleep state to be ready for work. - * - * \return True if the device is in the "sleep" state, else false if - * the device is actively working and could not enter the "sleep" - * state. - */ - static bool sleep(); - - /// \brief Wake the device from the 'sleep' state so it is ready for work. - /// - /// \return True if the device is in the "ready" state, else "false" - /// if the device is actively working (which also means that it's - /// awake). - static bool wake(); +#endif /// \brief Wait until all dispatched functors complete. /// @@ -199,18 +181,37 @@ class Cuda { //! Initialize, telling the CUDA run-time library which device to use. static void impl_initialize(InitializationSettings const&); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 /// \brief Cuda device architecture of the selected device. /// /// This matches the __CUDA_ARCH__ specification. - static size_type device_arch(); + KOKKOS_DEPRECATED static size_type device_arch() { + const cudaDeviceProp& cudaProp = Cuda().cuda_device_prop(); + return cudaProp.major * 100 + cudaProp.minor; + } //! Query device count. - static size_type detect_device_count(); + KOKKOS_DEPRECATED static size_type detect_device_count() { + int count; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&count)); + return count; + } /** \brief Detect the available devices and their architecture * as defined by the __CUDA_ARCH__ specification. */ - static std::vector detect_device_arch(); + KOKKOS_DEPRECATED static std::vector detect_device_arch() { + int count; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&count)); + std::vector out; + for (int i = 0; i < count; ++i) { + cudaDeviceProp prop; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceProperties(&prop, i)); + out.push_back(prop.major * 100 + prop.minor); + } + return out; + } +#endif cudaStream_t cuda_stream() const; int cuda_device() const; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp index c6512f44da..0944937e1b 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp @@ -33,7 +33,6 @@ //#include #include -#include #include @@ -83,11 +82,11 @@ void DeepCopyAsyncCuda(void *dst, const void *src, size_t n) { KOKKOS_IMPL_CUDA_SAFE_CALL( (CudaInternal::singleton().cuda_memcpy_async_wrapper( dst, src, n, cudaMemcpyDefault, s))); - Impl::cuda_stream_synchronize( - s, + Kokkos::Tools::Experimental::Impl::profile_fence_event( + "Kokkos::Impl::DeepCopyAsyncCuda: Deep Copy Stream Sync", Kokkos::Tools::Experimental::SpecialSynchronizationCases:: DeepCopyResourceSynchronization, - "Kokkos::Impl::DeepCopyAsyncCuda: Deep Copy Stream Sync"); + [&]() { KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamSynchronize(s)); }); } } // namespace Impl @@ -135,11 +134,23 @@ void kokkos_impl_cuda_set_pin_uvm_to_host(bool val) { namespace Kokkos { -CudaSpace::CudaSpace() : m_device(Kokkos::Cuda().cuda_device()) {} +CudaSpace::CudaSpace() + : m_device(Kokkos::Cuda().cuda_device()), + m_stream(Kokkos::Cuda().cuda_stream()) {} +CudaSpace::CudaSpace(int device_id, cudaStream_t stream) + : m_device(device_id), m_stream(stream) {} -CudaUVMSpace::CudaUVMSpace() : m_device(Kokkos::Cuda().cuda_device()) {} +CudaUVMSpace::CudaUVMSpace() + : m_device(Kokkos::Cuda().cuda_device()), + m_stream(Kokkos::Cuda().cuda_stream()) {} +CudaUVMSpace::CudaUVMSpace(int device_id, cudaStream_t stream) + : m_device(device_id), m_stream(stream) {} -CudaHostPinnedSpace::CudaHostPinnedSpace() {} +CudaHostPinnedSpace::CudaHostPinnedSpace() + : m_device(Kokkos::Cuda().cuda_device()), + m_stream(Kokkos::Cuda().cuda_stream()) {} +CudaHostPinnedSpace::CudaHostPinnedSpace(int device_id, cudaStream_t stream) + : m_device(device_id), m_stream(stream) {} size_t memory_threshold_g = 40000; // 40 kB @@ -161,52 +172,38 @@ void *CudaSpace::allocate(const char *arg_label, const size_t arg_alloc_size, } namespace { -void *impl_allocate_common(const Cuda &exec_space, const char *arg_label, - const size_t arg_alloc_size, +void *impl_allocate_common(const int device_id, + [[maybe_unused]] const cudaStream_t stream, + const char *arg_label, const size_t arg_alloc_size, const size_t arg_logical_size, const Kokkos::Tools::SpaceHandle arg_handle, - bool exec_space_provided) { + [[maybe_unused]] bool stream_sync_only) { void *ptr = nullptr; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(device_id)); + cudaError_t error_code = cudaSuccess; #ifndef CUDART_VERSION #error CUDART_VERSION undefined! #elif (defined(KOKKOS_ENABLE_IMPL_CUDA_MALLOC_ASYNC) && CUDART_VERSION >= 11020) - cudaError_t error_code; if (arg_alloc_size >= memory_threshold_g) { - if (exec_space_provided) { - error_code = - exec_space.impl_internal_space_instance()->cuda_malloc_async_wrapper( - &ptr, arg_alloc_size); - exec_space.fence("Kokkos::Cuda: backend fence after async malloc"); - } else { - error_code = Impl::CudaInternal::singleton().cuda_malloc_async_wrapper( - &ptr, arg_alloc_size); - Impl::cuda_device_synchronize( - "Kokkos::Cuda: backend fence after async malloc"); + error_code = cudaMallocAsync(&ptr, arg_alloc_size, stream); + + if (error_code == cudaSuccess) { + if (stream_sync_only) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamSynchronize(stream)); + } else { + Impl::cuda_device_synchronize( + "Kokkos::Cuda: backend fence after async malloc"); + } } - } else { - error_code = - (exec_space_provided - ? exec_space.impl_internal_space_instance()->cuda_malloc_wrapper( - &ptr, arg_alloc_size) - : Impl::CudaInternal::singleton().cuda_malloc_wrapper( - &ptr, arg_alloc_size)); - } -#else - cudaError_t error_code; - if (exec_space_provided) { - error_code = exec_space.impl_internal_space_instance()->cuda_malloc_wrapper( - &ptr, arg_alloc_size); - } else { - error_code = Impl::CudaInternal::singleton().cuda_malloc_wrapper( - &ptr, arg_alloc_size); - } + } else #endif + { error_code = cudaMalloc(&ptr, arg_alloc_size); } if (error_code != cudaSuccess) { // TODO tag as unlikely branch // This is the only way to clear the last error, which // we should do here since we're turning it into an // exception here - exec_space.impl_internal_space_instance()->cuda_get_last_error_wrapper(); + cudaGetLastError(); throw Experimental::CudaRawMemoryAllocationFailure( arg_alloc_size, error_code, Experimental::RawMemoryAllocationFailure::AllocationMechanism:: @@ -226,7 +223,7 @@ void *CudaSpace::impl_allocate( const char *arg_label, const size_t arg_alloc_size, const size_t arg_logical_size, const Kokkos::Tools::SpaceHandle arg_handle) const { - return impl_allocate_common(Kokkos::Cuda{}, arg_label, arg_alloc_size, + return impl_allocate_common(m_device, m_stream, arg_label, arg_alloc_size, arg_logical_size, arg_handle, false); } @@ -234,8 +231,9 @@ void *CudaSpace::impl_allocate( const Cuda &exec_space, const char *arg_label, const size_t arg_alloc_size, const size_t arg_logical_size, const Kokkos::Tools::SpaceHandle arg_handle) const { - return impl_allocate_common(exec_space, arg_label, arg_alloc_size, - arg_logical_size, arg_handle, true); + return impl_allocate_common( + exec_space.cuda_device(), exec_space.cuda_stream(), arg_label, + arg_alloc_size, arg_logical_size, arg_handle, true); } void *CudaUVMSpace::allocate(const size_t arg_alloc_size) const { @@ -256,28 +254,27 @@ void *CudaUVMSpace::impl_allocate( if (arg_alloc_size > 0) { Kokkos::Impl::num_uvm_allocations++; - auto error_code = - Impl::CudaInternal::singleton().cuda_malloc_managed_wrapper( - &ptr, arg_alloc_size, cudaMemAttachGlobal); - -#ifdef KOKKOS_IMPL_DEBUG_CUDA_PIN_UVM_TO_HOST - if (Kokkos::CudaUVMSpace::cuda_pin_uvm_to_host()) - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_mem_advise_wrapper( - ptr, arg_alloc_size, cudaMemAdviseSetPreferredLocation, - cudaCpuDeviceId))); -#endif + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + cudaError_t error_code = + cudaMallocManaged(&ptr, arg_alloc_size, cudaMemAttachGlobal); if (error_code != cudaSuccess) { // TODO tag as unlikely branch // This is the only way to clear the last error, which // we should do here since we're turning it into an // exception here - Impl::CudaInternal::singleton().cuda_get_last_error_wrapper(); + cudaGetLastError(); throw Experimental::CudaRawMemoryAllocationFailure( arg_alloc_size, error_code, Experimental::RawMemoryAllocationFailure::AllocationMechanism:: CudaMallocManaged); } + +#ifdef KOKKOS_IMPL_DEBUG_CUDA_PIN_UVM_TO_HOST + if (Kokkos::CudaUVMSpace::cuda_pin_uvm_to_host()) + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMemAdvise(ptr, arg_alloc_size, cudaMemAdviseSetPreferredLocation, + cudaCpuDeviceId)); +#endif } Cuda::impl_static_fence( "Kokkos::CudaUVMSpace::impl_allocate: Post UVM Allocation"); @@ -302,13 +299,14 @@ void *CudaHostPinnedSpace::impl_allocate( const Kokkos::Tools::SpaceHandle arg_handle) const { void *ptr = nullptr; - auto error_code = Impl::CudaInternal::singleton().cuda_host_alloc_wrapper( - &ptr, arg_alloc_size, cudaHostAllocDefault); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + cudaError_t error_code = + cudaHostAlloc(&ptr, arg_alloc_size, cudaHostAllocDefault); if (error_code != cudaSuccess) { // TODO tag as unlikely branch // This is the only way to clear the last error, which // we should do here since we're turning it into an // exception here - Impl::CudaInternal::singleton().cuda_get_last_error_wrapper(); + cudaGetLastError(); throw Experimental::CudaRawMemoryAllocationFailure( arg_alloc_size, error_code, Experimental::RawMemoryAllocationFailure::AllocationMechanism:: @@ -350,18 +348,17 @@ void CudaSpace::impl_deallocate( if (arg_alloc_size >= memory_threshold_g) { Impl::cuda_device_synchronize( "Kokkos::Cuda: backend fence before async free"); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_free_async_wrapper( - arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFreeAsync(arg_alloc_ptr, m_stream)); Impl::cuda_device_synchronize( "Kokkos::Cuda: backend fence after async free"); } else { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_free_wrapper(arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(arg_alloc_ptr)); } #else - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_free_wrapper(arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(arg_alloc_ptr)); #endif } catch (...) { } @@ -393,8 +390,8 @@ void CudaUVMSpace::impl_deallocate( try { if (arg_alloc_ptr != nullptr) { Kokkos::Impl::num_uvm_allocations--; - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_free_wrapper(arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(arg_alloc_ptr)); } } catch (...) { } @@ -424,8 +421,8 @@ void CudaHostPinnedSpace::impl_deallocate( reported_size); } try { - KOKKOS_IMPL_CUDA_SAFE_CALL(( - Impl::CudaInternal::singleton().cuda_free_host_wrapper(arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFreeHost(arg_alloc_ptr)); } catch (...) { } } @@ -438,160 +435,6 @@ void CudaHostPinnedSpace::impl_deallocate( namespace Kokkos { namespace Impl { -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord - SharedAllocationRecord::s_root_record; - -SharedAllocationRecord - SharedAllocationRecord::s_root_record; - -SharedAllocationRecord - SharedAllocationRecord::s_root_record; -#endif - -//============================================================================== -// {{{1 - -SharedAllocationRecord::~SharedAllocationRecord() { - auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, (alloc_size - sizeof(SharedAllocationHeader))); -} - -void SharedAllocationRecord::deep_copy_header_no_exec( - void *ptr, const void *header) { - Kokkos::Cuda exec; - Kokkos::Impl::DeepCopy(exec, ptr, header, - sizeof(SharedAllocationHeader)); - exec.fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -// end SharedAllocationRecord destructors }}}1 -//============================================================================== - -//============================================================================== -// {{{1 - -SharedAllocationRecord::SharedAllocationRecord( - const Kokkos::CudaSpace &arg_space, const std::string &arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - Kokkos::Cuda exec; - Kokkos::Impl::DeepCopy( - exec, RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - exec.fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -SharedAllocationRecord::SharedAllocationRecord( - const Kokkos::Cuda &arg_exec_space, const Kokkos::CudaSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_exec_space, arg_space, - arg_label, arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - Kokkos::Impl::DeepCopy(arg_exec_space, - RecordBase::m_alloc_ptr, &header, - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord::SharedAllocationRecord( - const Kokkos::CudaUVMSpace &arg_space, const std::string &arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::CudaHostPinnedSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -// end SharedAllocationRecord constructors }}}1 -//============================================================================== - void cuda_prefetch_pointer(const Cuda &space, const void *ptr, size_t bytes, bool to_device) { if ((ptr == nullptr) || (bytes == 0)) return; @@ -620,19 +463,12 @@ void cuda_prefetch_pointer(const Cuda &space, const void *ptr, size_t bytes, #include -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class SharedAllocationRecordCommon; -template class HostInaccessibleSharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; - -} // end namespace Impl -} // end namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::CudaSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::CudaUVMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::CudaHostPinnedSpace); // end Explicit instantiations of CRTP Base classes }}}1 //============================================================================== diff --git a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp index b8fa335cd3..0e20193e8b 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp @@ -68,6 +68,11 @@ class CudaSpace { /*--------------------------------*/ CudaSpace(); + + private: + CudaSpace(int device_id, cudaStream_t stream); + + public: CudaSpace(CudaSpace&& rhs) = default; CudaSpace(const CudaSpace& rhs) = default; CudaSpace& operator=(CudaSpace&& rhs) = default; @@ -89,9 +94,11 @@ class CudaSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; + static CudaSpace impl_create(int device_id, cudaStream_t stream) { + return CudaSpace(device_id, stream); + } + private: - template - friend class Kokkos::Experimental::LogicalMemorySpace; void* impl_allocate(const Cuda& exec_space, const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, @@ -112,10 +119,10 @@ class CudaSpace { static constexpr const char* name() { return m_name; } private: - int m_device; ///< Which Cuda device + int m_device; + cudaStream_t m_stream; static constexpr const char* m_name = "Cuda"; - friend class Kokkos::Impl::SharedAllocationRecord; }; template <> @@ -149,6 +156,11 @@ class CudaUVMSpace { /*--------------------------------*/ CudaUVMSpace(); + + private: + CudaUVMSpace(int device_id, cudaStream_t stream); + + public: CudaUVMSpace(CudaUVMSpace&& rhs) = default; CudaUVMSpace(const CudaUVMSpace& rhs) = default; CudaUVMSpace& operator=(CudaUVMSpace&& rhs) = default; @@ -156,6 +168,16 @@ class CudaUVMSpace { ~CudaUVMSpace() = default; /**\brief Allocate untracked memory in the cuda space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -167,8 +189,6 @@ class CudaUVMSpace { const size_t arg_logical_size = 0) const; private: - template - friend class Kokkos::Experimental::LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -189,8 +209,13 @@ class CudaUVMSpace { #endif /*--------------------------------*/ + static CudaUVMSpace impl_create(int device_id, cudaStream_t stream) { + return CudaUVMSpace(device_id, stream); + } + private: - int m_device; ///< Which Cuda device + int m_device; + cudaStream_t m_stream; #ifdef KOKKOS_IMPL_DEBUG_CUDA_PIN_UVM_TO_HOST static bool kokkos_impl_cuda_pin_uvm_to_host_v; @@ -223,6 +248,11 @@ class CudaHostPinnedSpace { /*--------------------------------*/ CudaHostPinnedSpace(); + + private: + CudaHostPinnedSpace(int device_id, cudaStream_t stream); + + public: CudaHostPinnedSpace(CudaHostPinnedSpace&& rhs) = default; CudaHostPinnedSpace(const CudaHostPinnedSpace& rhs) = default; CudaHostPinnedSpace& operator=(CudaHostPinnedSpace&& rhs) = default; @@ -230,6 +260,16 @@ class CudaHostPinnedSpace { ~CudaHostPinnedSpace() = default; /**\brief Allocate untracked memory in the space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -240,9 +280,11 @@ class CudaHostPinnedSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; + static CudaHostPinnedSpace impl_create(int device_id, cudaStream_t stream) { + return CudaHostPinnedSpace(device_id, stream); + } + private: - template - friend class Kokkos::Experimental::LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -258,6 +300,9 @@ class CudaHostPinnedSpace { static constexpr const char* name() { return m_name; } private: + int m_device; + cudaStream_t m_stream; + static constexpr const char* m_name = "CudaHostPinned"; /*--------------------------------*/ @@ -280,15 +325,12 @@ const std::unique_ptr& cuda_get_deep_copy_space( bool initialize = true); static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); -static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaSpace>::assignable); +static_assert(Kokkos::Impl::MemorySpaceAccess< + Kokkos::CudaUVMSpace, Kokkos::CudaUVMSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaHostPinnedSpace>::assignable); //---------------------------------------- @@ -516,179 +558,10 @@ struct DeepCopy -class SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon { - private: - friend class SharedAllocationRecord; - friend class SharedAllocationRecordCommon; - friend class HostInaccessibleSharedAllocationRecordCommon; - - using RecordBase = SharedAllocationRecord; - using base_t = - HostInaccessibleSharedAllocationRecordCommon; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const Kokkos::CudaSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - // This constructor does not forward to the one without exec_space arg - // in order to work around https://github.com/kokkos/kokkos/issues/5258 - // This constructor is templated so I can't just put it into the cpp file - // like the other constructor. - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, const Kokkos::CudaSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - // workaround for issue with NVCC and MSVC - // https://github.com/kokkos/kokkos/issues/5258 - deep_copy_header_no_exec(RecordBase::m_alloc_ptr, &header); - } - - SharedAllocationRecord( - const Kokkos::Cuda& exec_space, const Kokkos::CudaSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const Kokkos::CudaSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - // helper function to work around MSVC+NVCC issue - // https://github.com/kokkos/kokkos/issues/5258 - static void deep_copy_header_no_exec(void*, const void*); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - - using base_t = SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - static RecordBase s_root_record; - - const Kokkos::CudaUVMSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - // This constructor does not forward to the one without exec_space arg - // in order to work around https://github.com/kokkos/kokkos/issues/5258 - // This constructor is templated so I can't just put it into the cpp file - // like the other constructor. - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::CudaUVMSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); - } - - SharedAllocationRecord( - const Kokkos::CudaUVMSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - - using RecordBase = SharedAllocationRecord; - using base_t = SharedAllocationRecordCommon; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - static RecordBase s_root_record; - - const Kokkos::CudaHostPinnedSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - // This constructor does not forward to the one without exec_space arg - // in order to work around https://github.com/kokkos/kokkos/issues/5258 - // This constructor is templated so I can't just put it into the cpp file - // like the other constructor. - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::CudaHostPinnedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); - } - - SharedAllocationRecord( - const Kokkos::CudaHostPinnedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::CudaSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::CudaUVMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::CudaHostPinnedSpace); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp index f68e05f780..c4458c910c 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp @@ -27,10 +27,6 @@ namespace Kokkos { namespace Impl { -void cuda_stream_synchronize( - const cudaStream_t stream, - Kokkos::Tools::Experimental::SpecialSynchronizationCases reason, - const std::string& name); void cuda_device_synchronize(const std::string& name); void cuda_stream_synchronize(const cudaStream_t stream, const std::string& name); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp index a4d064e544..5a821ab64a 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp @@ -23,8 +23,7 @@ #include -#include // GraphAccess needs to be complete -#include // SharedAllocationRecord +#include // GraphAccess needs to be complete #include #include @@ -50,10 +49,6 @@ class GraphNodeKernelImpl m_graph_ptr = nullptr; Kokkos::ObservingRawPtr m_graph_node_ptr = nullptr; - // Note: owned pointer to CudaSpace memory (used for global memory launches), - // which we're responsible for deallocating, but not responsible for calling - // its destructor. - using Record = Kokkos::Impl::SharedAllocationRecord; // Basically, we have to make this mutable for the same reasons that the // global kernel buffers in the Cuda instance are mutable... mutable Kokkos::OwningRawPtr m_driver_storage = nullptr; @@ -82,9 +77,7 @@ class GraphNodeKernelImpl allocate_driver_memory_buffer() const { KOKKOS_EXPECTS(m_driver_storage == nullptr) - - auto* record = Record::allocate( - Kokkos::CudaSpace{}, "GraphNodeKernel global memory functor storage", - sizeof(base_t)); - - Record::increment(record); - m_driver_storage = reinterpret_cast(record->data()); + m_driver_storage = static_cast(Kokkos::CudaSpace().allocate( + "GraphNodeKernel global memory functor storage", sizeof(base_t))); KOKKOS_ENSURES(m_driver_storage != nullptr) return m_driver_storage; } diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp index d7f853d991..849e8b3b30 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp @@ -26,10 +26,10 @@ #include -#include -#include -#include -#include +//#include +//#include +//#include +//#include #include #include #include @@ -97,21 +97,21 @@ __global__ void query_cuda_kernel_arch(int *d_arch) { } /** Query what compute capability is actually launched to the device: */ -int cuda_kernel_arch() { +int cuda_kernel_arch(int device_id) { int arch = 0; int *d_arch = nullptr; - KOKKOS_IMPL_CUDA_SAFE_CALL((CudaInternal::singleton().cuda_malloc_wrapper( - reinterpret_cast(&d_arch), sizeof(int)))); - KOKKOS_IMPL_CUDA_SAFE_CALL((CudaInternal::singleton().cuda_memcpy_wrapper( - d_arch, &arch, sizeof(int), cudaMemcpyDefault))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(device_id)); + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMalloc(reinterpret_cast(&d_arch), sizeof(int))); + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMemcpy(d_arch, &arch, sizeof(int), cudaMemcpyDefault)); query_cuda_kernel_arch<<<1, 1>>>(d_arch); - KOKKOS_IMPL_CUDA_SAFE_CALL((CudaInternal::singleton().cuda_memcpy_wrapper( - &arch, d_arch, sizeof(int), cudaMemcpyDefault))); KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_free_wrapper(d_arch))); + cudaMemcpy(&arch, d_arch, sizeof(int), cudaMemcpyDefault)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(d_arch)); return arch; } @@ -135,7 +135,6 @@ Kokkos::View cuda_global_unique_token_locks( return locks; } -// FIXME_CUDA_MULTIPLE_DEVICES void cuda_device_synchronize(const std::string &name) { Kokkos::Tools::Experimental::Impl::profile_fence_event( name, @@ -144,16 +143,16 @@ void cuda_device_synchronize(const std::string &name) { #if defined(KOKKOS_COMPILER_CLANG) // annotate with __host__ silence a clang warning about using // cudaDeviceSynchronize in device code - [] __host__() { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_synchronize_wrapper())); - }); + [] __host__() #else - []() { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_synchronize_wrapper())); - }); + []() #endif + { + for (int cuda_device : Kokkos::Impl::CudaInternal::cuda_devices) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaDeviceSynchronize()); + } + }); } void cuda_stream_synchronize(const cudaStream_t stream, const CudaInternal *ptr, @@ -168,25 +167,11 @@ void cuda_stream_synchronize(const cudaStream_t stream, const CudaInternal *ptr, }); } -void cuda_stream_synchronize( - const cudaStream_t stream, - Kokkos::Tools::Experimental::SpecialSynchronizationCases reason, - const std::string &name) { - Kokkos::Tools::Experimental::Impl::profile_fence_event( - name, reason, [&]() { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_stream_synchronize_wrapper( - stream))); - }); -} - void cuda_internal_error_throw(cudaError e, const char *name, const char *file, const int line) { std::ostringstream out; - out << name << " error( " - << CudaInternal::singleton().cuda_get_error_name_wrapper(e) - << "): " - << CudaInternal::singleton().cuda_get_error_string_wrapper(e); + out << name << " error( " << cudaGetErrorName(e) + << "): " << cudaGetErrorString(e); if (file) { out << " " << file << ":" << line; } @@ -196,10 +181,8 @@ void cuda_internal_error_throw(cudaError e, const char *name, const char *file, void cuda_internal_error_abort(cudaError e, const char *name, const char *file, const int line) { std::ostringstream out; - out << name << " error( " - << CudaInternal::singleton().cuda_get_error_name_wrapper(e) - << "): " - << CudaInternal::singleton().cuda_get_error_string_wrapper(e); + out << name << " error( " << cudaGetErrorName(e) + << "): " << cudaGetErrorString(e); if (file) { out << " " << file << ":" << line; } @@ -208,96 +191,6 @@ void cuda_internal_error_abort(cudaError e, const char *name, const char *file, host_abort(out.str().c_str()); } -//---------------------------------------------------------------------------- -// Some significant cuda device properties: -// -// cudaDeviceProp::name : Text label for device -// cudaDeviceProp::major : Device major number -// cudaDeviceProp::minor : Device minor number -// cudaDeviceProp::warpSize : number of threads per warp -// cudaDeviceProp::multiProcessorCount : number of multiprocessors -// cudaDeviceProp::sharedMemPerBlock : capacity of shared memory per block -// cudaDeviceProp::totalConstMem : capacity of constant memory -// cudaDeviceProp::totalGlobalMem : capacity of global memory -// cudaDeviceProp::maxGridSize[3] : maximum grid size - -// -// Section 4.4.2.4 of the CUDA Toolkit Reference Manual -// -// struct cudaDeviceProp { -// char name[256]; -// size_t totalGlobalMem; -// size_t sharedMemPerBlock; -// int regsPerBlock; -// int warpSize; -// size_t memPitch; -// int maxThreadsPerBlock; -// int maxThreadsDim[3]; -// int maxGridSize[3]; -// size_t totalConstMem; -// int major; -// int minor; -// int clockRate; -// size_t textureAlignment; -// int deviceOverlap; -// int multiProcessorCount; -// int kernelExecTimeoutEnabled; -// int integrated; -// int canMapHostMemory; -// int computeMode; -// int concurrentKernels; -// int ECCEnabled; -// int pciBusID; -// int pciDeviceID; -// int tccDriver; -// int asyncEngineCount; -// int unifiedAddressing; -// int memoryClockRate; -// int memoryBusWidth; -// int l2CacheSize; -// int maxThreadsPerMultiProcessor; -// }; - -namespace { - -class CudaInternalDevices { - public: - enum { MAXIMUM_DEVICE_COUNT = 64 }; - struct cudaDeviceProp m_cudaProp[MAXIMUM_DEVICE_COUNT]; - int m_cudaDevCount; - - CudaInternalDevices(); - - static const CudaInternalDevices &singleton(); -}; - -CudaInternalDevices::CudaInternalDevices() { - // See 'cudaSetDeviceFlags' for host-device thread interaction - // Section 4.4.2.6 of the CUDA Toolkit Reference Manual - - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_device_count_wrapper( - &m_cudaDevCount))); - - if (m_cudaDevCount > MAXIMUM_DEVICE_COUNT) { - Kokkos::abort( - "Sorry, you have more GPUs per node than we thought anybody would ever " - "have. Please report this to github.com/kokkos/kokkos."); - } - for (int i = 0; i < m_cudaDevCount; ++i) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_device_properties_wrapper( - m_cudaProp + i, i))); - } -} - -const CudaInternalDevices &CudaInternalDevices::singleton() { - static CudaInternalDevices self; - return self; -} - -} // namespace - //---------------------------------------------------------------------------- int Impl::CudaInternal::concurrency() { @@ -307,8 +200,6 @@ int Impl::CudaInternal::concurrency() { } void CudaInternal::print_configuration(std::ostream &s) const { - const CudaInternalDevices &dev_info = CudaInternalDevices::singleton(); - #if defined(KOKKOS_ENABLE_CUDA) s << "macro KOKKOS_ENABLE_CUDA : defined\n"; #endif @@ -317,22 +208,23 @@ void CudaInternal::print_configuration(std::ostream &s) const { << CUDA_VERSION / 1000 << "." << (CUDA_VERSION % 1000) / 10 << '\n'; #endif - for (int i = 0; i < dev_info.m_cudaDevCount; ++i) { - s << "Kokkos::Cuda[ " << i << " ] " << dev_info.m_cudaProp[i].name - << " capability " << dev_info.m_cudaProp[i].major << "." - << dev_info.m_cudaProp[i].minor << ", Total Global Memory: " - << human_memory_size(dev_info.m_cudaProp[i].totalGlobalMem) + for (int i : get_visible_devices()) { + cudaDeviceProp prop; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceProperties(&prop, i)); + s << "Kokkos::Cuda[ " << i << " ] " << prop.name << " capability " + << prop.major << "." << prop.minor + << ", Total Global Memory: " << human_memory_size(prop.totalGlobalMem) << ", Shared Memory per Block: " - << human_memory_size(dev_info.m_cudaProp[i].sharedMemPerBlock); + << human_memory_size(prop.sharedMemPerBlock); if (m_cudaDev == i) s << " : Selected"; - s << std::endl; + s << '\n'; } } //---------------------------------------------------------------------------- CudaInternal::~CudaInternal() { - if (m_stream || m_scratchSpace || m_scratchFlags || m_scratchUnified) { + if (m_scratchSpace || m_scratchFlags || m_scratchUnified) { std::cerr << "Kokkos::Cuda ERROR: Failed to call Kokkos::Cuda::finalize()" << std::endl; } @@ -370,45 +262,53 @@ void CudaInternal::fence() const { fence("Kokkos::CudaInternal::fence(): Unnamed Instance Fence"); } -void CudaInternal::initialize(cudaStream_t stream, bool manage_stream) { +void CudaInternal::initialize(cudaStream_t stream) { KOKKOS_EXPECTS(!is_initialized()); if (was_finalized) Kokkos::abort("Calling Cuda::initialize after Cuda::finalize is illegal\n"); was_initialized = true; + // Check that the device associated with the stream matches cuda_device + CUcontext context; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaError_t(cuStreamGetCtx(stream, &context))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaError_t(cuCtxPushCurrent(context))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaError_t(cuCtxGetDevice(&m_cudaDev))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_cudaDev)); + + m_stream = stream; + CudaInternal::cuda_devices.insert(m_cudaDev); + + // Allocate a staging buffer for constant mem in pinned host memory + // and an event to avoid overwriting driver for previous kernel launches + if (!constantMemHostStagingPerDevice[m_cudaDev]) + KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_malloc_host_wrapper( + reinterpret_cast(&constantMemHostStagingPerDevice[m_cudaDev]), + CudaTraits::ConstantMemoryUsage))); + + if (!constantMemReusablePerDevice[m_cudaDev]) + KOKKOS_IMPL_CUDA_SAFE_CALL( + (cuda_event_create_wrapper(&constantMemReusablePerDevice[m_cudaDev]))); + //---------------------------------- // Multiblock reduction uses scratch flags for counters // and scratch space for partial reduction values. // Allocate some initial space. This will grow as needed. { - const unsigned reduce_block_count = - m_maxWarpCount * Impl::CudaTraits::WarpSize; + // Maximum number of warps, + // at most one warp per thread in a warp for reduction. + auto const maxWarpCount = std::min( + m_deviceProp.maxThreadsPerBlock / CudaTraits::WarpSize, + CudaTraits::WarpSize); + unsigned const reduce_block_count = + maxWarpCount * Impl::CudaTraits::WarpSize; (void)scratch_unified(16 * sizeof(size_type)); (void)scratch_flags(reduce_block_count * 2 * sizeof(size_type)); (void)scratch_space(reduce_block_count * 16 * sizeof(size_type)); } - // Init the array for used for arbitrarily sized atomics - if (this == &singleton()) { - desul::Impl::init_lock_arrays(); // FIXME - } - - // Allocate a staging buffer for constant mem in pinned host memory - // and an event to avoid overwriting driver for previous kernel launches - if (this == &singleton()) { - KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_malloc_host_wrapper( - reinterpret_cast(&constantMemHostStaging), - CudaTraits::ConstantMemoryUsage))); - - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_event_create_wrapper(&constantMemReusable))); - } - - m_stream = stream; - m_manage_stream = manage_stream; for (int i = 0; i < m_n_team_scratch; ++i) { m_team_scratch_current_size[i] = 0; m_team_scratch_ptr[i] = nullptr; @@ -427,22 +327,23 @@ void CudaInternal::initialize(cudaStream_t stream, bool manage_stream) { Cuda::size_type *CudaInternal::scratch_flags(const std::size_t size) const { if (verify_is_initialized("scratch_flags") && m_scratchFlagsCount < scratch_count(size)) { + auto mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); + + if (m_scratchFlags) { + mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); + } + m_scratchFlagsCount = scratch_count(size); - using Record = - Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchFlags) Record::decrement(Record::get_record(m_scratchFlags)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchFlagsCount, sizeScratchGrain); - Record *const r = Record::allocate( - Kokkos::CudaSpace(), "Kokkos::InternalScratchFlags", alloc_size); - - Record::increment(r); - - m_scratchFlags = reinterpret_cast(r->data()); + m_scratchFlags = static_cast( + mem_space.allocate("Kokkos::InternalScratchFlags", alloc_size)); + // We only zero-initialize the allocation when we actually allocate. + // It's the responsibility of the features using scratch_flags, + // namely parallel_reduce and parallel_scan, to reset the used values to 0. KOKKOS_IMPL_CUDA_SAFE_CALL( (cuda_memset_wrapper(m_scratchFlags, 0, alloc_size))); } @@ -453,21 +354,19 @@ Cuda::size_type *CudaInternal::scratch_flags(const std::size_t size) const { Cuda::size_type *CudaInternal::scratch_space(const std::size_t size) const { if (verify_is_initialized("scratch_space") && m_scratchSpaceCount < scratch_count(size)) { + auto mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); + + if (m_scratchSpace) { + mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + } + m_scratchSpaceCount = scratch_count(size); - using Record = - Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchSpace) Record::decrement(Record::get_record(m_scratchSpace)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchSpaceCount, sizeScratchGrain); - Record *const r = Record::allocate( - Kokkos::CudaSpace(), "Kokkos::InternalScratchSpace", alloc_size); - - Record::increment(r); - - m_scratchSpace = reinterpret_cast(r->data()); + m_scratchSpace = static_cast( + mem_space.allocate("Kokkos::InternalScratchSpace", alloc_size)); } return m_scratchSpace; @@ -476,23 +375,20 @@ Cuda::size_type *CudaInternal::scratch_space(const std::size_t size) const { Cuda::size_type *CudaInternal::scratch_unified(const std::size_t size) const { if (verify_is_initialized("scratch_unified") && m_scratchUnifiedCount < scratch_count(size)) { + auto mem_space = + Kokkos::CudaHostPinnedSpace::impl_create(m_cudaDev, m_stream); + + if (m_scratchUnified) { + mem_space.deallocate(m_scratchUnified, + m_scratchUnifiedCount * sizeScratchGrain); + } + m_scratchUnifiedCount = scratch_count(size); - using Record = - Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchUnified) - Record::decrement(Record::get_record(m_scratchUnified)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchUnifiedCount, sizeScratchGrain); - Record *const r = - Record::allocate(Kokkos::CudaHostPinnedSpace(), - "Kokkos::InternalScratchUnified", alloc_size); - - Record::increment(r); - - m_scratchUnified = reinterpret_cast(r->data()); + m_scratchUnified = static_cast( + mem_space.allocate("Kokkos::InternalScratchUnified", alloc_size)); } return m_scratchUnified; @@ -500,21 +396,16 @@ Cuda::size_type *CudaInternal::scratch_unified(const std::size_t size) const { Cuda::size_type *CudaInternal::scratch_functor(const std::size_t size) const { if (verify_is_initialized("scratch_functor") && m_scratchFunctorSize < size) { + auto mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); + + if (m_scratchFunctor) { + mem_space.deallocate(m_scratchFunctor, m_scratchFunctorSize); + } + m_scratchFunctorSize = size; - using Record = - Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchFunctor) - Record::decrement(Record::get_record(m_scratchFunctor)); - - Record *const r = - Record::allocate(Kokkos::CudaSpace(), "Kokkos::InternalScratchFunctor", - m_scratchFunctorSize); - - Record::increment(r); - - m_scratchFunctor = reinterpret_cast(r->data()); + m_scratchFunctor = static_cast(mem_space.allocate( + "Kokkos::InternalScratchFunctor", m_scratchFunctorSize)); } return m_scratchFunctor; @@ -537,21 +428,21 @@ void *CudaInternal::resize_team_scratch_space(int scratch_pool_id, // Multiple ParallelFor/Reduce Teams can call this function at the same time // and invalidate the m_team_scratch_ptr. We use a pool to avoid any race // condition. + auto mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); if (m_team_scratch_current_size[scratch_pool_id] == 0) { m_team_scratch_current_size[scratch_pool_id] = bytes; m_team_scratch_ptr[scratch_pool_id] = - Kokkos::kokkos_malloc( - "Kokkos::CudaSpace::TeamScratchMemory", - m_team_scratch_current_size[scratch_pool_id]); + mem_space.allocate("Kokkos::CudaSpace::TeamScratchMemory", + m_team_scratch_current_size[scratch_pool_id]); } if ((bytes > m_team_scratch_current_size[scratch_pool_id]) || ((bytes < m_team_scratch_current_size[scratch_pool_id]) && (force_shrink))) { + mem_space.deallocate(m_team_scratch_ptr[scratch_pool_id], + m_team_scratch_current_size[scratch_pool_id]); m_team_scratch_current_size[scratch_pool_id] = bytes; m_team_scratch_ptr[scratch_pool_id] = - Kokkos::kokkos_realloc( - m_team_scratch_ptr[scratch_pool_id], - m_team_scratch_current_size[scratch_pool_id]); + mem_space.allocate("Kokkos::CudaSpace::TeamScratchMemory", bytes); } return m_team_scratch_ptr[scratch_pool_id]; } @@ -568,50 +459,33 @@ void CudaInternal::finalize() { was_finalized = true; - // Only finalize this if we're the singleton - if (this == &singleton()) { - (void)Impl::cuda_global_unique_token_locks(true); - desul::Impl::finalize_lock_arrays(); // FIXME - - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_free_host_wrapper(constantMemHostStaging))); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_event_destroy_wrapper(constantMemReusable))); - auto &deep_copy_space = - Kokkos::Impl::cuda_get_deep_copy_space(/*initialize*/ false); - if (deep_copy_space) - deep_copy_space->impl_internal_space_instance()->finalize(); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_stream_destroy_wrapper(cuda_get_deep_copy_stream()))); - } - + auto cuda_mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); if (nullptr != m_scratchSpace || nullptr != m_scratchFlags) { - using RecordCuda = Kokkos::Impl::SharedAllocationRecord; - using RecordHost = - Kokkos::Impl::SharedAllocationRecord; - - RecordCuda::decrement(RecordCuda::get_record(m_scratchFlags)); - RecordCuda::decrement(RecordCuda::get_record(m_scratchSpace)); - RecordHost::decrement(RecordHost::get_record(m_scratchUnified)); - if (m_scratchFunctorSize > 0) - RecordCuda::decrement(RecordCuda::get_record(m_scratchFunctor)); + auto host_mem_space = + Kokkos::CudaHostPinnedSpace::impl_create(m_cudaDev, m_stream); + cuda_mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); + cuda_mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + host_mem_space.deallocate(m_scratchUnified, + m_scratchUnifiedCount * sizeScratchGrain); + if (m_scratchFunctorSize > 0) { + cuda_mem_space.deallocate(m_scratchFunctor, m_scratchFunctorSize); + } } for (int i = 0; i < m_n_team_scratch; ++i) { if (m_team_scratch_current_size[i] > 0) - Kokkos::kokkos_free(m_team_scratch_ptr[i]); + cuda_mem_space.deallocate(m_team_scratch_ptr[i], + m_team_scratch_current_size[i]); } - if (m_manage_stream && get_stream() != nullptr) - KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_stream_destroy_wrapper(m_stream))); - m_scratchSpaceCount = 0; m_scratchFlagsCount = 0; m_scratchUnifiedCount = 0; m_scratchSpace = nullptr; m_scratchFlags = nullptr; m_scratchUnified = nullptr; - m_stream = nullptr; for (int i = 0; i < m_n_team_scratch; ++i) { m_team_scratch_current_size[i] = 0; m_team_scratch_ptr[i] = nullptr; @@ -624,30 +498,6 @@ void CudaInternal::finalize() { //---------------------------------------------------------------------------- -Cuda::size_type cuda_internal_multiprocessor_count() { - return CudaInternal::singleton().m_multiProcCount; -} - -CudaSpace::size_type cuda_internal_maximum_concurrent_block_count() { -#if defined(KOKKOS_ARCH_KEPLER) - // Compute capability 3.0 through 3.7 - enum : int { max_resident_blocks_per_multiprocessor = 16 }; -#else - // Compute capability 5.0 through 6.2 - enum : int { max_resident_blocks_per_multiprocessor = 32 }; -#endif - return CudaInternal::singleton().m_multiProcCount * - max_resident_blocks_per_multiprocessor; -}; - -Cuda::size_type cuda_internal_maximum_warp_count() { - return CudaInternal::singleton().m_maxWarpCount; -} - -std::array cuda_internal_maximum_grid_count() { - return CudaInternal::singleton().m_maxBlock; -} - Cuda::size_type *cuda_internal_scratch_space(const Cuda &instance, const std::size_t size) { return instance.impl_internal_space_instance()->scratch_space(size); @@ -670,10 +520,6 @@ Cuda::size_type *cuda_internal_scratch_unified(const Cuda &instance, namespace Kokkos { -Cuda::size_type Cuda::detect_device_count() { - return Impl::CudaInternalDevices::singleton().m_cudaDevCount; -} - #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 int Cuda::concurrency() { #else @@ -687,25 +533,23 @@ int Cuda::impl_is_initialized() { } void Cuda::impl_initialize(InitializationSettings const &settings) { - const int cuda_device_id = Impl::get_gpu(settings); - const auto &dev_info = Impl::CudaInternalDevices::singleton(); + const std::vector &visible_devices = Impl::get_visible_devices(); + const int cuda_device_id = + Impl::get_gpu(settings).value_or(visible_devices[0]); - const struct cudaDeviceProp &cudaProp = dev_info.m_cudaProp[cuda_device_id]; - - Impl::CudaInternal::m_cudaDev = cuda_device_id; + cudaDeviceProp cudaProp; + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaGetDeviceProperties(&cudaProp, cuda_device_id)); Impl::CudaInternal::m_deviceProp = cudaProp; - - Kokkos::Impl::cuda_device_synchronize( - "Kokkos::CudaInternal::initialize: Fence on space initialization"); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device_id)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaDeviceSynchronize()); // Query what compute capability architecture a kernel executes: - Impl::CudaInternal::m_cudaArch = Impl::cuda_kernel_arch(); + Impl::CudaInternal::m_cudaArch = Impl::cuda_kernel_arch(cuda_device_id); if (Impl::CudaInternal::m_cudaArch == 0) { - std::stringstream ss; - ss << "Kokkos::Cuda::initialize ERROR: likely mismatch of architecture\n"; - std::string msg = ss.str(); - Kokkos::abort(msg.c_str()); + Kokkos::abort( + "Kokkos::Cuda::initialize ERROR: likely mismatch of architecture\n"); } int compiled_major = Impl::CudaInternal::m_cudaArch / 100; @@ -761,78 +605,42 @@ Kokkos::Cuda::initialize WARNING: Cuda is allocating into UVMSpace by default } #endif - //---------------------------------- - // number of multiprocessors - Impl::CudaInternal::m_multiProcCount = cudaProp.multiProcessorCount; - - //---------------------------------- - // Maximum number of warps, - // at most one warp per thread in a warp for reduction. - Impl::CudaInternal::m_maxWarpCount = - cudaProp.maxThreadsPerBlock / Impl::CudaTraits::WarpSize; - - if (Impl::CudaTraits::WarpSize < Impl::CudaInternal::m_maxWarpCount) { - Impl::CudaInternal::m_maxWarpCount = Impl::CudaTraits::WarpSize; - } - - //---------------------------------- - // Maximum number of blocks: - - Impl::CudaInternal::m_maxBlock[0] = cudaProp.maxGridSize[0]; - Impl::CudaInternal::m_maxBlock[1] = cudaProp.maxGridSize[1]; - Impl::CudaInternal::m_maxBlock[2] = cudaProp.maxGridSize[2]; - - Impl::CudaInternal::m_shmemPerSM = cudaProp.sharedMemPerMultiprocessor; - Impl::CudaInternal::m_maxShmemPerBlock = cudaProp.sharedMemPerBlock; - Impl::CudaInternal::m_maxBlocksPerSM = - Impl::CudaInternal::m_cudaArch < 500 - ? 16 - : (Impl::CudaInternal::m_cudaArch < 750 - ? 32 - : (Impl::CudaInternal::m_cudaArch == 750 ? 16 : 32)); - Impl::CudaInternal::m_maxThreadsPerSM = cudaProp.maxThreadsPerMultiProcessor; - Impl::CudaInternal::m_maxThreadsPerBlock = cudaProp.maxThreadsPerBlock; - //---------------------------------- cudaStream_t singleton_stream; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device_id)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamCreate(&singleton_stream)); + + // Init the array for used for arbitrarily sized atomics + desul::Impl::init_lock_arrays(); // FIXME + + Impl::CudaInternal::singleton().initialize(singleton_stream); +} + +void Cuda::impl_finalize() { + (void)Impl::cuda_global_unique_token_locks(true); + desul::Impl::finalize_lock_arrays(); // FIXME + + for (const auto cuda_device : Kokkos::Impl::CudaInternal::cuda_devices) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaFreeHost(Kokkos::Impl::CudaInternal::constantMemHostStagingPerDevice + [cuda_device])); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaEventDestroy( + Kokkos::Impl::CudaInternal::constantMemReusablePerDevice[cuda_device])); + } + + auto &deep_copy_space = Impl::cuda_get_deep_copy_space(/*initialize*/ false); + if (deep_copy_space) + deep_copy_space->impl_internal_space_instance()->finalize(); KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_stream_create_wrapper( - &singleton_stream))); + cudaStreamDestroy(Impl::cuda_get_deep_copy_stream())); - auto &cuda_singleton = Impl::CudaInternal::singleton(); - cuda_singleton.initialize(singleton_stream, /*manage*/ true); + Impl::CudaInternal::singleton().finalize(); + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaStreamDestroy(Impl::CudaInternal::singleton().m_stream)); } -std::vector Cuda::detect_device_arch() { - const Impl::CudaInternalDevices &s = Impl::CudaInternalDevices::singleton(); - - std::vector output(s.m_cudaDevCount); - - for (int i = 0; i < s.m_cudaDevCount; ++i) { - output[i] = s.m_cudaProp[i].major * 100 + s.m_cudaProp[i].minor; - } - - return output; -} - -Cuda::size_type Cuda::device_arch() { - const int dev_id = Impl::CudaInternal::singleton().m_cudaDev; - - int dev_arch = 0; - - if (0 <= dev_id) { - const struct cudaDeviceProp &cudaProp = - Impl::CudaInternalDevices::singleton().m_cudaProp[dev_id]; - - dev_arch = cudaProp.major * 100 + cudaProp.minor; - } - - return dev_arch; -} - -void Cuda::impl_finalize() { Impl::CudaInternal::singleton().finalize(); } - Cuda::Cuda() : m_space_instance(&Impl::CudaInternal::singleton(), [](Impl::CudaInternal *) {}) { @@ -845,13 +653,17 @@ KOKKOS_DEPRECATED Cuda::Cuda(cudaStream_t stream, bool manage_stream) manage_stream ? Impl::ManageStream::yes : Impl::ManageStream::no) {} Cuda::Cuda(cudaStream_t stream, Impl::ManageStream manage_stream) - : m_space_instance(new Impl::CudaInternal, [](Impl::CudaInternal *ptr) { - ptr->finalize(); - delete ptr; - }) { + : m_space_instance( + new Impl::CudaInternal, [manage_stream](Impl::CudaInternal *ptr) { + ptr->finalize(); + if (static_cast(manage_stream)) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamDestroy(ptr->m_stream)); + } + delete ptr; + }) { Impl::CudaInternal::singleton().verify_is_initialized( "Cuda instance constructor"); - m_space_instance->initialize(stream, static_cast(manage_stream)); + m_space_instance->initialize(stream); } void Cuda::print_configuration(std::ostream &os, bool /*verbose*/) const { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp index a324adecfe..24f4af3101 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp @@ -22,6 +22,10 @@ #include #include #include +#include "Kokkos_CudaSpace.hpp" + +#include +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -55,27 +59,10 @@ struct CudaTraits { unsigned long[ConstantMemoryUsage / sizeof(unsigned long)]; static constexpr int ConstantMemoryUseThreshold = 0x000200 /* 512 bytes */; - - KOKKOS_INLINE_FUNCTION static CudaSpace::size_type warp_count( - CudaSpace::size_type i) { - return (i + WarpIndexMask) >> WarpIndexShift; - } - - KOKKOS_INLINE_FUNCTION static CudaSpace::size_type warp_align( - CudaSpace::size_type i) { - constexpr CudaSpace::size_type Mask = ~WarpIndexMask; - return (i + WarpIndexMask) & Mask; - } }; //---------------------------------------------------------------------------- -CudaSpace::size_type cuda_internal_multiprocessor_count(); -CudaSpace::size_type cuda_internal_maximum_warp_count(); -std::array cuda_internal_maximum_grid_count(); - -CudaSpace::size_type cuda_internal_maximum_concurrent_block_count(); - CudaSpace::size_type* cuda_internal_scratch_flags(const Cuda&, const std::size_t size); CudaSpace::size_type* cuda_internal_scratch_space(const Cuda&, @@ -101,18 +88,10 @@ class CudaInternal { public: using size_type = Cuda::size_type; - inline static int m_cudaDev = -1; + int m_cudaDev = -1; // Device Properties - inline static int m_cudaArch = -1; - inline static unsigned m_multiProcCount = 0; - inline static unsigned m_maxWarpCount = 0; - inline static std::array m_maxBlock = {0, 0, 0}; - inline static int m_shmemPerSM = 0; - inline static int m_maxShmemPerBlock = 0; - inline static int m_maxBlocksPerSM = 0; - inline static int m_maxThreadsPerSM = 0; - inline static int m_maxThreadsPerBlock = 0; + inline static int m_cudaArch = -1; static int concurrency(); inline static cudaDeviceProp m_deviceProp; @@ -129,7 +108,6 @@ class CudaInternal { mutable size_type* m_scratchFunctor; cudaStream_t m_stream; uint32_t m_instance_id; - bool m_manage_stream; // Team Scratch Level 1 Space int m_n_team_scratch = 10; @@ -142,11 +120,11 @@ class CudaInternal { bool was_initialized = false; bool was_finalized = false; - // FIXME_CUDA: these want to be per-device, not per-stream... use of 'static' - // here will break once there are multiple devices though - inline static unsigned long* constantMemHostStaging = nullptr; - inline static cudaEvent_t constantMemReusable = nullptr; - inline static std::mutex constantMemMutex; + inline static std::set cuda_devices = {}; + inline static std::map constantMemHostStagingPerDevice = + {}; + inline static std::map constantMemReusablePerDevice = {}; + inline static std::map constantMemMutexPerDevice = {}; static CudaInternal& singleton(); @@ -156,7 +134,7 @@ class CudaInternal { return nullptr != m_scratchSpace && nullptr != m_scratchFlags; } - void initialize(cudaStream_t stream, bool manage_stream); + void initialize(cudaStream_t stream); void finalize(); void print_configuration(std::ostream&) const; @@ -247,12 +225,6 @@ class CudaInternal { return cudaDeviceSetLimit(limit, value); } - template - cudaError_t cuda_device_synchronize_wrapper() const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaDeviceSynchronize(); - } - template cudaError_t cuda_event_create_wrapper(cudaEvent_t* event) const { if constexpr (setCudaDevice) set_cuda_device(); @@ -290,37 +262,6 @@ class CudaInternal { return cudaFreeHost(ptr); } - template - cudaError_t cuda_get_device_count_wrapper(int* count) const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetDeviceCount(count); - } - - template - cudaError_t cuda_get_device_properties_wrapper(cudaDeviceProp* prop, - int device) const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetDeviceProperties(prop, device); - } - - template - const char* cuda_get_error_name_wrapper(cudaError_t error) const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetErrorName(error); - } - - template - const char* cuda_get_error_string_wrapper(cudaError_t error) const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetErrorString(error); - } - - template - cudaError_t cuda_get_last_error_wrapper() const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetLastError(); - } - template cudaError_t cuda_graph_add_dependencies_wrapper( cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, @@ -506,10 +447,10 @@ class CudaInternal { } template - cudaError_t cuda_func_set_attributes_wrapper(T* entry, cudaFuncAttribute attr, - int value) const { + cudaError_t cuda_func_set_attribute_wrapper(T* entry, cudaFuncAttribute attr, + int value) const { if constexpr (setCudaDevice) set_cuda_device(); - return cudaFuncSetAttributes(entry, attr, value); + return cudaFuncSetAttribute(entry, attr, value); } template diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp index 82a72b6902..b0dadb45f7 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp @@ -21,7 +21,6 @@ #ifdef KOKKOS_ENABLE_CUDA #include -#include #include #include #include @@ -118,42 +117,43 @@ inline bool is_empty_launch(dim3 const& grid, dim3 const& block) { } inline void check_shmem_request(CudaInternal const* cuda_instance, int shmem) { - if (cuda_instance->m_maxShmemPerBlock < shmem) { + int const maxShmemPerBlock = cuda_instance->m_deviceProp.sharedMemPerBlock; + if (maxShmemPerBlock < shmem) { Kokkos::Impl::throw_runtime_exception( - std::string("CudaParallelLaunch (or graph node creation) FAILED: shared" - " memory request is too large")); + "CudaParallelLaunch (or graph node creation) FAILED: shared memory " + "request is too large"); } } // These functions need to be templated on DriverType and LaunchBounds // so that the static bool is unique for each type combo // KernelFuncPtr does not necessarily contain that type information. -// FIXME_CUDA_MULTIPLE_DEVICES template const cudaFuncAttributes& get_cuda_kernel_func_attributes( - const KernelFuncPtr& func) { + int cuda_device, const KernelFuncPtr& func) { // Only call cudaFuncGetAttributes once for each unique kernel // by leveraging static variable initialization rules - auto wrap_get_attributes = [&]() -> cudaFuncAttributes { + static std::map func_attr; + if (func_attr.find(cuda_device) == func_attr.end()) { cudaFuncAttributes attr; - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_func_get_attributes_wrapper(&attr, - func))); - return attr; - }; - static cudaFuncAttributes func_attr = wrap_get_attributes(); - return func_attr; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFuncGetAttributes(&attr, func)); + func_attr.emplace(cuda_device, attr); + } + return func_attr[cuda_device]; } template -inline void configure_shmem_preference(const KernelFuncPtr& func, +inline void configure_shmem_preference(const int cuda_device, + const KernelFuncPtr& func, const cudaDeviceProp& device_props, const size_t block_size, int& shmem, const size_t occupancy) { #ifndef KOKKOS_ARCH_KEPLER const auto& func_attr = - get_cuda_kernel_func_attributes(func); + get_cuda_kernel_func_attributes(cuda_device, + func); // Compute limits for number of blocks due to registers/SM const size_t regs_per_sm = device_props.regsPerMultiprocessor; @@ -222,7 +222,7 @@ inline void configure_shmem_preference(const KernelFuncPtr& func, // FIXME_CUDA_MULTIPLE_DEVICES auto set_cache_config = [&] { KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_func_set_attributes_wrapper( + (CudaInternal::singleton().cuda_func_set_attribute_wrapper( func, cudaFuncAttributePreferredSharedMemoryCarveout, carveout))); return carveout; }; @@ -387,8 +387,8 @@ struct CudaParallelLaunchKernelInvoker< driver.get_policy().impl_get_desired_occupancy().value(); size_t block_size = block.x * block.y * block.z; Impl::configure_shmem_preference( - base_t::get_kernel_func(), cuda_instance->m_deviceProp, block_size, - shmem, desired_occupancy); + cuda_instance->m_cudaDev, base_t::get_kernel_func(), + cuda_instance->m_deviceProp, block_size, shmem, desired_occupancy); } void const* args[] = {&driver}; @@ -487,8 +487,8 @@ struct CudaParallelLaunchKernelInvoker< driver.get_policy().impl_get_desired_occupancy().value(); size_t block_size = block.x * block.y * block.z; Impl::configure_shmem_preference( - base_t::get_kernel_func(), cuda_instance->m_deviceProp, block_size, - shmem, desired_occupancy); + cuda_instance->m_cudaDev, base_t::get_kernel_func(), + cuda_instance->m_deviceProp, block_size, shmem, desired_occupancy); } auto* driver_ptr = Impl::allocate_driver_storage_for_kernel(driver); @@ -576,13 +576,16 @@ struct CudaParallelLaunchKernelInvoker< static void invoke_kernel(DriverType const& driver, dim3 const& grid, dim3 const& block, int shmem, CudaInternal const* cuda_instance) { + int cuda_device = cuda_instance->m_cudaDev; // Wait until the previous kernel that uses the constant buffer is done - std::lock_guard lock(CudaInternal::constantMemMutex); + std::lock_guard lock( + CudaInternal::constantMemMutexPerDevice[cuda_device]); KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_instance->cuda_event_synchronize_wrapper( - CudaInternal::constantMemReusable))); + CudaInternal::constantMemReusablePerDevice[cuda_device]))); // Copy functor (synchronously) to staging buffer in pinned host memory - unsigned long* staging = cuda_instance->constantMemHostStaging; + unsigned long* staging = + cuda_instance->constantMemHostStagingPerDevice[cuda_device]; memcpy(staging, &driver, sizeof(DriverType)); // Copy functor asynchronously from there to constant memory on the device @@ -597,7 +600,7 @@ struct CudaParallelLaunchKernelInvoker< // Record an event that says when the constant buffer can be reused KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_instance->cuda_event_record_wrapper( - CudaInternal::constantMemReusable))); + CudaInternal::constantMemReusablePerDevice[cuda_device]))); } inline static void create_parallel_launch_graph_node( @@ -665,8 +668,8 @@ struct CudaParallelLaunchImpl< Impl::configure_shmem_preference< DriverType, Kokkos::LaunchBounds>( - base_t::get_kernel_func(), cuda_instance->m_deviceProp, block_size, - shmem, desired_occupancy); + cuda_instance->m_cudaDev, base_t::get_kernel_func(), + cuda_instance->m_deviceProp, block_size, shmem, desired_occupancy); } desul::ensure_cuda_lock_arrays_on_device(); @@ -675,18 +678,17 @@ struct CudaParallelLaunchImpl< base_t::invoke_kernel(driver, grid, block, shmem, cuda_instance); #if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_instance->cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); cuda_instance->fence( "Kokkos::Impl::launch_kernel: Debug Only Check for Execution Error"); #endif } } - static cudaFuncAttributes get_cuda_func_attributes() { + static cudaFuncAttributes get_cuda_func_attributes(int cuda_device) { return get_cuda_kernel_func_attributes< DriverType, Kokkos::LaunchBounds>( - base_t::get_kernel_func()); + cuda_device, base_t::get_kernel_func()); } }; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp index 7492ab49e5..2c7eba7a18 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp @@ -40,8 +40,8 @@ template <> inline TileSizeProperties get_tile_size_properties( const Kokkos::Cuda& space) { TileSizeProperties properties; - properties.max_threads = - space.impl_internal_space_instance()->m_maxThreadsPerSM; + properties.max_threads = space.impl_internal_space_instance() + ->m_deviceProp.maxThreadsPerMultiProcessor; properties.default_largest_tile_size = 16; properties.default_tile_size = 2; properties.max_total_tile_size = 512; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp index 8aae27d091..6303898400 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include @@ -42,8 +41,8 @@ namespace Impl { template int max_tile_size_product_helper(const Policy& pol, const LaunchBounds&) { cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + CudaParallelLaunch::get_cuda_func_attributes( + pol.space().cuda_device()); auto const& prop = pol.space().cuda_device_prop(); // Limits due to registers/SM, MDRange doesn't have @@ -96,7 +95,7 @@ class ParallelFor, Kokkos::Cuda> { inline void execute() const { if (m_rp.m_num_tiles == 0) return; - const auto maxblocks = cuda_internal_maximum_grid_count(); + const auto maxblocks = m_rp.space().cuda_device_prop().maxGridSize; if (RP::rank == 2) { const dim3 block(m_rp.m_tile[0], m_rp.m_tile[1], 1); KOKKOS_ASSERT(block.x > 0); @@ -309,6 +308,11 @@ class ParallelReduce( f, n); using closure_type = Impl::ParallelReduce, Policy, Kokkos::Cuda>; - cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + cudaFuncAttributes attr = CudaParallelLaunch:: + get_cuda_func_attributes(m_policy.space().cuda_device()); while ( - (n && - (m_policy.space().impl_internal_space_instance()->m_maxShmemPerBlock < - shmem_size)) || + (n && (maxShmemPerBlock < shmem_size)) || (n > static_cast( Kokkos::Impl::cuda_get_max_block_size( diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Range.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Range.hpp index 5226c48bd9..0f052be3c3 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Range.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Range.hpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include @@ -86,18 +85,18 @@ class ParallelFor, Kokkos::Cuda> { const typename Policy::index_type nwork = m_policy.end() - m_policy.begin(); cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + CudaParallelLaunch::get_cuda_func_attributes( + m_policy.space().cuda_device()); const int block_size = Kokkos::Impl::cuda_get_opt_block_size( m_policy.space().impl_internal_space_instance(), attr, m_functor, 1, 0, 0); KOKKOS_ASSERT(block_size > 0); dim3 block(1, block_size, 1); + const int maxGridSizeX = m_policy.space().cuda_device_prop().maxGridSize[0]; dim3 grid( - std::min( - typename Policy::index_type((nwork + block.y - 1) / block.y), - typename Policy::index_type(cuda_internal_maximum_grid_count()[0])), + std::min(typename Policy::index_type((nwork + block.y - 1) / block.y), + typename Policy::index_type(maxGridSizeX)), 1, 1); #ifdef KOKKOS_IMPL_DEBUG_CUDA_SERIAL_EXECUTION if (Kokkos::Impl::CudaInternal::cuda_use_serial_execution()) { @@ -243,6 +242,12 @@ class ParallelReduce, if (CudaTraits::WarpSize < word_count.value) { __syncthreads(); + } else if (word_count.value > 1) { + // Inside cuda_single_inter_block_reduce_scan() and final() above, + // shared[i] below might have been updated by a single thread within a + // warp without synchronization afterwards. Synchronize threads within + // warp to avoid potential race condition. + __syncwarp(0xffffffff); } for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { @@ -254,19 +259,18 @@ class ParallelReduce, // Determine block size constrained by shared memory: inline unsigned local_block_size(const FunctorType& f) { unsigned n = CudaTraits::WarpSize * 8; + const int maxShmemPerBlock = + m_policy.space().cuda_device_prop().sharedMemPerBlock; int shmem_size = cuda_single_inter_block_reduce_scan_shmem( f, n); using closure_type = Impl::ParallelReduce, Policy, Kokkos::Cuda>; - cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + cudaFuncAttributes attr = CudaParallelLaunch:: + get_cuda_func_attributes(m_policy.space().cuda_device()); while ( - (n && - (m_policy.space().impl_internal_space_instance()->m_maxShmemPerBlock < - shmem_size)) || + (n && (maxShmemPerBlock < shmem_size)) || (n > static_cast( Kokkos::Impl::cuda_get_max_block_size( @@ -609,11 +613,11 @@ class ParallelScan, Kokkos::Cuda> { // 4 warps was 10% faster than 8 warps and 20% faster than 16 warps in unit // testing + const int maxShmemPerBlock = + m_policy.space().cuda_device_prop().sharedMemPerBlock; unsigned n = CudaTraits::WarpSize * 4; while (n && - unsigned(m_policy.space() - .impl_internal_space_instance() - ->m_maxShmemPerBlock) < + unsigned(maxShmemPerBlock) < cuda_single_inter_block_reduce_scan_shmem(f, n)) { n >>= 1; @@ -933,11 +937,11 @@ class ParallelScanWithTotal, // 4 warps was 10% faster than 8 warps and 20% faster than 16 warps in unit // testing + const int maxShmemPerBlock = + m_policy.space().cuda_device_prop().sharedMemPerBlock; unsigned n = CudaTraits::WarpSize * 4; while (n && - unsigned(m_policy.space() - .impl_internal_space_instance() - ->m_maxShmemPerBlock) < + unsigned(maxShmemPerBlock) < cuda_single_inter_block_reduce_scan_shmem(f, n)) { n >>= 1; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp index 498e57f94a..9f7be45c83 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include @@ -98,7 +98,7 @@ class TeamPolicyInternal Impl::ParallelFor>; cudaFuncAttributes attr = CudaParallelLaunch:: - get_cuda_func_attributes(); + get_cuda_func_attributes(space().cuda_device()); int block_size = Kokkos::Impl::cuda_get_max_block_size( @@ -137,7 +137,7 @@ class TeamPolicyInternal Impl::ParallelFor>; cudaFuncAttributes attr = CudaParallelLaunch:: - get_cuda_func_attributes(); + get_cuda_func_attributes(space().cuda_device()); const int block_size = Kokkos::Impl::cuda_get_opt_block_size( @@ -262,7 +262,8 @@ class TeamPolicyInternal m_tune_team(bool(team_size_request <= 0)), m_tune_vector(bool(vector_length_request <= 0)) { // Make sure league size is permissible - if (league_size_ >= int(Impl::cuda_internal_maximum_grid_count()[0])) + const int maxGridSizeX = m_space.cuda_device_prop().maxGridSize[0]; + if (league_size_ >= maxGridSizeX) Impl::throw_runtime_exception( "Requested too large league_size for TeamPolicy on Cuda execution " "space."); @@ -369,7 +370,7 @@ class TeamPolicyInternal cudaFuncAttributes attr = CudaParallelLaunch:: - get_cuda_func_attributes(); + get_cuda_func_attributes(space().cuda_device()); const int block_size = std::forward(block_size_callable)( space().impl_internal_space_instance(), attr, f, (size_t)impl_vector_length(), @@ -539,8 +540,8 @@ class ParallelFor, auto internal_space_instance = m_policy.space().impl_internal_space_instance(); cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + CudaParallelLaunch::get_cuda_func_attributes( + internal_space_instance->m_cudaDev); m_team_size = m_team_size >= 0 ? m_team_size @@ -575,10 +576,11 @@ class ParallelFor, static_cast(m_league_size)))); } + const int maxShmemPerBlock = + m_policy.space().cuda_device_prop().sharedMemPerBlock; const int shmem_size_total = m_shmem_begin + m_shmem_size; - if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { - printf("%i %i\n", internal_space_instance->m_maxShmemPerBlock, - shmem_size_total); + if (maxShmemPerBlock < shmem_size_total) { + printf("%i %i\n", maxShmemPerBlock, shmem_size_total); Kokkos::Impl::throw_runtime_exception(std::string( "Kokkos::Impl::ParallelFor< Cuda > insufficient shared memory")); } @@ -623,6 +625,22 @@ class ParallelReduce 4 bytes in size, indexing into shared/global memory relies + // on the block and grid dimensions to ensure that we index at the correct + // offset rather than at every 4 byte word; such that, when the join is + // performed, we have the correct data that was copied over in chunks of 4 + // bytes. + using word_size_type = std::conditional_t< + sizeof(value_type) < sizeof(Kokkos::Cuda::size_type), + std::conditional_t, + Kokkos::Cuda::size_type>; using size_type = Cuda::size_type; using reducer_type = ReducerType; @@ -646,9 +664,11 @@ class ParallelReduce + const integral_nonzero_constant word_count(m_functor_reducer.get_reducer().value_size() / - sizeof(size_type)); + sizeof(word_size_type)); reference_type value = m_functor_reducer.get_reducer().init( - kokkos_impl_cuda_shared_memory() + + kokkos_impl_cuda_shared_memory() + threadIdx.y * word_count.value); // Iterate this block through the league @@ -721,18 +742,19 @@ class ParallelReduce( m_functor_reducer.get_reducer(), blockIdx.x, gridDim.x, - kokkos_impl_cuda_shared_memory(), m_scratch_space, + kokkos_impl_cuda_shared_memory(), m_scratch_space, m_scratch_flags); if (do_final_reduction) { // This is the final block with the final result at the final threads' // location - size_type* const shared = kokkos_impl_cuda_shared_memory() + - (blockDim.y - 1) * word_count.value; + word_size_type* const shared = + kokkos_impl_cuda_shared_memory() + + (blockDim.y - 1) * word_count.value; size_type* const global = m_result_ptr_device_accessible - ? reinterpret_cast(m_result_ptr) + ? reinterpret_cast(m_result_ptr) : (m_unified_space ? m_unified_space : m_scratch_space); if (threadIdx.y == 0) { @@ -742,6 +764,11 @@ class ParallelReduce(m_scratch_space), result, + m_scratch_flags, blockDim.y)) { const unsigned id = threadIdx.y * blockDim.x + threadIdx.x; if (id == 0) { m_functor_reducer.get_reducer().final(&value); @@ -803,13 +831,15 @@ class ParallelReduce(cuda_internal_scratch_space( + m_policy.space(), + m_functor_reducer.get_reducer().value_size() * block_count)); m_scratch_flags = cuda_internal_scratch_flags(m_policy.space(), sizeof(size_type)); - m_unified_space = cuda_internal_scratch_unified( - m_policy.space(), m_functor_reducer.get_reducer().value_size()); + m_unified_space = + reinterpret_cast(cuda_internal_scratch_unified( + m_policy.space(), m_functor_reducer.get_reducer().value_size())); dim3 block(m_vector_size, m_team_size, 1); dim3 grid(block_count, 1, 1); @@ -842,7 +872,8 @@ class ParallelReduce(m_result_ptr, m_scratch_space, size); + DeepCopy(m_policy.space(), m_result_ptr, + m_scratch_space, size); } } } @@ -878,9 +909,8 @@ class ParallelReduce::get_cuda_func_attributes(); + cudaFuncAttributes attr = CudaParallelLaunch:: + get_cuda_func_attributes(internal_space_instance->m_cudaDev); m_team_size = m_team_size >= 0 ? m_team_size @@ -935,6 +965,8 @@ class ParallelReduce bad team size")); } - if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { + if (maxShmemPerBlock < shmem_size_total) { Kokkos::Impl::throw_runtime_exception( std::string("Kokkos::Impl::ParallelReduce< Cuda > requested too much " "L0 scratch memory")); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp index 7ccedbfe28..3037c4ab54 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp @@ -103,7 +103,7 @@ template __device__ bool cuda_inter_block_reduction( typename FunctorType::reference_type value, typename FunctorType::reference_type neutral, const FunctorType& reducer, - Cuda::size_type* const m_scratch_space, + typename FunctorType::pointer_type const m_scratch_space, typename FunctorType::pointer_type const /*result*/, Cuda::size_type* const m_scratch_flags, const int max_active_thread = blockDim.y) { @@ -117,7 +117,7 @@ __device__ bool cuda_inter_block_reduction( // One thread in the block writes block result to global scratch_memory if (id == 0) { - pointer_type global = ((pointer_type)m_scratch_space) + blockIdx.x; + pointer_type global = m_scratch_space + blockIdx.x; *global = value; } @@ -140,7 +140,7 @@ __device__ bool cuda_inter_block_reduction( last_block = true; value = neutral; - pointer_type const volatile global = (pointer_type)m_scratch_space; + pointer_type const volatile global = m_scratch_space; // Reduce all global values with splitting work over threads in one warp const int step_size = @@ -702,8 +702,7 @@ inline void check_reduced_view_shmem_size(const Policy& policy, unsigned reqShmemSize = cuda_single_inter_block_reduce_scan_shmem( functor, minBlockSize); - size_t maxShmemPerBlock = - policy.space().impl_internal_space_instance()->m_maxShmemPerBlock; + size_t maxShmemPerBlock = policy.space().cuda_device_prop().sharedMemPerBlock; if (reqShmemSize > maxShmemPerBlock) { Kokkos::Impl::throw_runtime_exception( diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp index baff7ef3f5..86d6d91bbe 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp @@ -84,8 +84,8 @@ class TaskQueueSpecialization> { KOKKOS_INLINE_FUNCTION static void iff_single_thread_recursive_execute(scheduler_type const&) {} - static int get_max_team_count(execution_space const&) { - return Kokkos::Impl::cuda_internal_multiprocessor_count() * warps_per_block; + static int get_max_team_count(execution_space const& space) { + return space.cuda_device_prop().multiProcessorCount * warps_per_block; } __device__ static void driver(scheduler_type scheduler, @@ -225,7 +225,11 @@ class TaskQueueSpecialization> { // FIXME_CUDA_MULTIPLE_DEVICES static void execute(scheduler_type const& scheduler) { const int shared_per_warp = 2048; - const dim3 grid(Kokkos::Impl::cuda_internal_multiprocessor_count(), 1, 1); + const Kokkos::Cuda& exec = scheduler.get_execution_space(); + const auto& impl_instance = exec.impl_internal_space_instance(); + const int multi_processor_count = + exec.cuda_device_prop().multiProcessorCount; + const dim3 grid(multi_processor_count, 1, 1); const dim3 block(1, Kokkos::Impl::CudaTraits::WarpSize, warps_per_block); const int shared_total = shared_per_warp * warps_per_block; const cudaStream_t stream = nullptr; @@ -245,34 +249,30 @@ class TaskQueueSpecialization> { // Query the stack size, in bytes: size_t previous_stack_size = 0; - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_get_limit_wrapper( - &previous_stack_size, cudaLimitStackSize))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_get_limit_wrapper( + &previous_stack_size, cudaLimitStackSize)); // If not large enough then set the stack size, in bytes: const size_t larger_stack_size = 1 << 11; if (previous_stack_size < larger_stack_size) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_set_limit_wrapper( - cudaLimitStackSize, larger_stack_size))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_set_limit_wrapper( + cudaLimitStackSize, larger_stack_size)); } cuda_task_queue_execute<<>>( scheduler, shared_per_warp); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); Impl::cuda_device_synchronize( "Kokkos::Impl::TaskQueueSpecialization::execute: Post Task Execution"); if (previous_stack_size < larger_stack_size) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_set_limit_wrapper( - cudaLimitStackSize, previous_stack_size))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_set_limit_wrapper( + cudaLimitStackSize, previous_stack_size)); } } @@ -300,8 +300,8 @@ class TaskQueueSpecialization> { set_cuda_task_base_apply_function_pointer <<<1, 1>>>(ptr_ptr, dtor_ptr); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); + Impl::cuda_device_synchronize( "Kokkos::Impl::TaskQueueSpecialization::execute: Post Get Function Pointer for Tasks"); @@ -466,7 +466,13 @@ class TaskQueueSpecializationConstrained< static void execute(scheduler_type const& scheduler) { const int shared_per_warp = 2048; const int warps_per_block = 4; - const dim3 grid(Kokkos::Impl::cuda_internal_multiprocessor_count(), 1, 1); + const Kokkos::Cuda exec = Cuda(); // FIXME_CUDA_MULTIPLE_DEVICES + const auto& impl_instance = exec.impl_internal_space_instance(); + const int multi_processor_count = + // FIXME not sure why this didn't work + // exec.cuda_device_prop().multiProcessorCount; + impl_instance->m_deviceProp.multiProcessorCount; + const dim3 grid(multi_processor_count, 1, 1); // const dim3 grid( 1 , 1 , 1 ); const dim3 block(1, Kokkos::Impl::CudaTraits::WarpSize, warps_per_block); const int shared_total = shared_per_warp * warps_per_block; @@ -482,34 +488,30 @@ class TaskQueueSpecializationConstrained< // Query the stack size, in bytes: size_t previous_stack_size = 0; - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_get_limit_wrapper( - &previous_stack_size, cudaLimitStackSize))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_get_limit_wrapper( + &previous_stack_size, cudaLimitStackSize)); // If not large enough then set the stack size, in bytes: const size_t larger_stack_size = 2048; if (previous_stack_size < larger_stack_size) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_set_limit_wrapper( - cudaLimitStackSize, larger_stack_size))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_set_limit_wrapper( + cudaLimitStackSize, larger_stack_size)); } cuda_task_queue_execute<<>>( scheduler, shared_per_warp); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); Impl::cuda_device_synchronize( "Kokkos::Impl::TaskQueueSpecializationConstrained::execute: Post Execute Task"); if (previous_stack_size < larger_stack_size) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_set_limit_wrapper( - cudaLimitStackSize, previous_stack_size))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_set_limit_wrapper( + cudaLimitStackSize, previous_stack_size)); } } @@ -532,8 +534,7 @@ class TaskQueueSpecializationConstrained< set_cuda_task_base_apply_function_pointer <<<1, 1>>>(ptr_ptr, dtor_ptr); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); Impl::cuda_device_synchronize( "Kokkos::Impl::TaskQueueSpecializationConstrained::get_function_pointer: Post Get Function Pointer"); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp index abb747e39a..94a428493f 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp @@ -22,7 +22,6 @@ #include #include -#include namespace Kokkos { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp index a945a716bc..c7ea6988a5 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp @@ -77,7 +77,9 @@ class ParallelFor, inline void execute() { const int warps_per_block = 4; - const dim3 grid(Kokkos::Impl::cuda_internal_multiprocessor_count(), 1, 1); + const int multi_processor_count = + m_policy.space().cuda_device_prop().multiProcessorCount; + const dim3 grid(multi_processor_count, 1, 1); const dim3 block(1, Kokkos::Impl::CudaTraits::WarpSize, warps_per_block); const int shared = 0; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp index c7f0d12d91..517c592af7 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp @@ -25,23 +25,14 @@ namespace Impl { template struct ZeroMemset> { - ZeroMemset(const Kokkos::Cuda& exec_space_instance, const View& dst, - typename View::const_value_type&) { + ZeroMemset(const Kokkos::Cuda& exec_space_instance, + const View& dst) { KOKKOS_IMPL_CUDA_SAFE_CALL( (exec_space_instance.impl_internal_space_instance() ->cuda_memset_async_wrapper( dst.data(), 0, dst.size() * sizeof(typename View::value_type)))); } - - ZeroMemset(const View& dst, - typename View::const_value_type&) { - // FIXME_CUDA_MULTIPLE_DEVICES - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Kokkos::Impl::CudaInternal::singleton().cuda_memset_wrapper( - dst.data(), 0, - dst.size() * sizeof(typename View::value_type)))); - } }; } // namespace Impl diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP.cpp index f78bfd28b2..309e07fb3f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP.cpp @@ -18,6 +18,7 @@ #define KOKKOS_IMPL_PUBLIC_INCLUDE #endif +#include #include #include @@ -41,7 +42,9 @@ int HIP::impl_is_initialized() { } void HIP::impl_initialize(InitializationSettings const& settings) { - const int hip_device_id = Impl::get_gpu(settings); + const std::vector& visible_devices = Impl::get_visible_devices(); + const int hip_device_id = + Impl::get_gpu(settings).value_or(visible_devices[0]); Impl::HIPInternal::m_hipDev = hip_device_id; KOKKOS_IMPL_HIP_SAFE_CALL( @@ -89,10 +92,23 @@ void HIP::impl_initialize(InitializationSettings const& settings) { hipStream_t singleton_stream; KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamCreate(&singleton_stream)); - Impl::HIPInternal::singleton().initialize(singleton_stream, /*manage*/ true); + Impl::HIPInternal::singleton().initialize(singleton_stream); } -void HIP::impl_finalize() { Impl::HIPInternal::singleton().finalize(); } +void HIP::impl_finalize() { + (void)Impl::hip_global_unique_token_locks(true); + + desul::Impl::finalize_lock_arrays(); // FIXME + + KOKKOS_IMPL_HIP_SAFE_CALL( + hipEventDestroy(Impl::HIPInternal::constantMemReusable)); + KOKKOS_IMPL_HIP_SAFE_CALL( + hipHostFree(Impl::HIPInternal::constantMemHostStaging)); + + Impl::HIPInternal::singleton().finalize(); + KOKKOS_IMPL_HIP_SAFE_CALL( + hipStreamDestroy(Impl::HIPInternal::singleton().m_stream)); +} HIP::HIP() : m_space_instance(&Impl::HIPInternal::singleton(), @@ -102,13 +118,17 @@ HIP::HIP() } HIP::HIP(hipStream_t const stream, Impl::ManageStream manage_stream) - : m_space_instance(new Impl::HIPInternal, [](Impl::HIPInternal* ptr) { - ptr->finalize(); - delete ptr; - }) { + : m_space_instance( + new Impl::HIPInternal, [manage_stream](Impl::HIPInternal* ptr) { + ptr->finalize(); + if (static_cast(manage_stream)) { + KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamDestroy(ptr->m_stream)); + } + delete ptr; + }) { Impl::HIPInternal::singleton().verify_is_initialized( "HIP instance constructor"); - m_space_instance->initialize(stream, static_cast(manage_stream)); + m_space_instance->initialize(stream); } KOKKOS_DEPRECATED HIP::HIP(hipStream_t const stream, bool manage_stream) diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP.hpp index 61ed346b21..3a88e97ee3 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP.hpp @@ -57,13 +57,15 @@ class HIP { //! \name Functions that all Kokkos devices must implement. //@{ - KOKKOS_INLINE_FUNCTION static int in_parallel() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED KOKKOS_INLINE_FUNCTION static int in_parallel() { #if defined(__HIP_DEVICE_COMPILE__) return true; #else return false; #endif } +#endif /** \brief Wait until all dispatched functors complete. * @@ -94,9 +96,13 @@ class HIP { static int impl_is_initialized(); - // static size_type device_arch(); - - static size_type detect_device_count(); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED static size_type detect_device_count() { + int count; + KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&count)); + return count; + } +#endif #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 static int concurrency(); diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_GraphNodeKernel.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_GraphNodeKernel.hpp index 576c53426b..5f0df72df1 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_GraphNodeKernel.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_GraphNodeKernel.hpp @@ -20,13 +20,11 @@ #include #include -#include #include #include #include -#include #include namespace Kokkos { @@ -43,7 +41,6 @@ class GraphNodeKernelImpl using base_t = typename PatternImplSpecializationFromTag::type; - using Record = Kokkos::Impl::SharedAllocationRecord; // TODO use the name and executionspace template @@ -60,7 +57,7 @@ class GraphNodeKernelImpl ~GraphNodeKernelImpl() { if (m_driver_storage) { - Record::decrement(Record::get_record(m_driver_storage)); + Kokkos::HIPSpace().deallocate(m_driver_storage, sizeof(base_t)); } } @@ -78,15 +75,9 @@ class GraphNodeKernelImpl Kokkos::ObservingRawPtr allocate_driver_memory_buffer() const { KOKKOS_EXPECTS(m_driver_storage == nullptr); - - auto* record = Record::allocate( - Kokkos::HIPSpace{}, "GraphNodeKernel global memory functor storage", - sizeof(base_t)); - - Record::increment(record); - m_driver_storage = reinterpret_cast(record->data()); + m_driver_storage = static_cast(Kokkos::HIPSpace().allocate( + "GraphNodeKernel global memory functor storage", sizeof(base_t))); KOKKOS_ENSURES(m_driver_storage != nullptr); - return m_driver_storage; } diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Graph_Impl.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Graph_Impl.hpp index 3bde15444c..7cc06d02fb 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Graph_Impl.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Graph_Impl.hpp @@ -83,7 +83,7 @@ class GraphImpl { hipGraphExec_t m_graph_exec = nullptr; }; -GraphImpl::~GraphImpl() { +inline GraphImpl::~GraphImpl() { m_execution_space.fence("Kokkos::GraphImpl::~GraphImpl: Graph Destruction"); KOKKOS_EXPECTS(m_graph); if (m_graph_exec) { @@ -92,12 +92,12 @@ GraphImpl::~GraphImpl() { KOKKOS_IMPL_HIP_SAFE_CALL(hipGraphDestroy(m_graph)); } -GraphImpl::GraphImpl(Kokkos::HIP instance) +inline GraphImpl::GraphImpl(Kokkos::HIP instance) : m_execution_space(std::move(instance)) { KOKKOS_IMPL_HIP_SAFE_CALL(hipGraphCreate(&m_graph, 0)); } -void GraphImpl::add_node( +inline void GraphImpl::add_node( std::shared_ptr const& arg_node_ptr) { // All of the predecessors are just added as normal, so all we need to // do here is add an empty node @@ -110,7 +110,7 @@ void GraphImpl::add_node( // Requires NodeImplPtr is a shared_ptr to specialization of GraphNodeImpl // Also requires that the kernel has the graph node tag in it's policy template -void GraphImpl::add_node( +inline void GraphImpl::add_node( std::shared_ptr const& arg_node_ptr) { static_assert(NodeImpl::kernel_type::Policy::is_graph_kernel::value); KOKKOS_EXPECTS(arg_node_ptr); @@ -129,8 +129,8 @@ void GraphImpl::add_node( // already been added to this graph and NodeImpl is a specialization of // GraphNodeImpl that has already been added to this graph. template -void GraphImpl::add_predecessor(NodeImplPtr arg_node_ptr, - PredecessorRef arg_pred_ref) { +inline void GraphImpl::add_predecessor( + NodeImplPtr arg_node_ptr, PredecessorRef arg_pred_ref) { KOKKOS_EXPECTS(arg_node_ptr); auto pred_ptr = GraphAccess::get_node_ptr(arg_pred_ref); KOKKOS_EXPECTS(pred_ptr); @@ -145,7 +145,7 @@ void GraphImpl::add_predecessor(NodeImplPtr arg_node_ptr, hipGraphAddDependencies(m_graph, &pred_node, &node, 1)); } -void GraphImpl::submit() { +inline void GraphImpl::submit() { if (!m_graph_exec) { instantiate_graph(); } @@ -153,12 +153,12 @@ void GraphImpl::submit() { hipGraphLaunch(m_graph_exec, m_execution_space.hip_stream())); } -Kokkos::HIP const& GraphImpl::get_execution_space() const +inline Kokkos::HIP const& GraphImpl::get_execution_space() const noexcept { return m_execution_space; } -auto GraphImpl::create_root_node_ptr() { +inline auto GraphImpl::create_root_node_ptr() { KOKKOS_EXPECTS(m_graph); KOKKOS_EXPECTS(!m_graph_exec); auto rv = std::make_shared(get_execution_space(), @@ -172,7 +172,7 @@ auto GraphImpl::create_root_node_ptr() { } template -auto GraphImpl::create_aggregate_ptr(PredecessorRefs&&...) { +inline auto GraphImpl::create_aggregate_ptr(PredecessorRefs&&...) { // The attachment to predecessors, which is all we really need, happens // in the generic layer, which calls through to add_predecessor for // each predecessor ref, so all we need to do here is create the (trivial) diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp index 7f04eb721c..22c0db047f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include /*--------------------------------------------------------------------------*/ @@ -89,10 +90,14 @@ void HIPInternal::print_configuration(std::ostream &s) const { << '\n'; #endif - int hipDevCount; - KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&hipDevCount)); + s << "macro KOKKOS_ENABLE_ROCTHRUST : " +#if defined(KOKKOS_ENABLE_ROCTHRUST) + << "defined\n"; +#else + << "undefined\n"; +#endif - for (int i = 0; i < hipDevCount; ++i) { + for (int i : get_visible_devices()) { hipDeviceProp_t hipProp; KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceProperties(&hipProp, i)); std::string gpu_type = hipProp.integrated == 1 ? "APU" : "dGPU"; @@ -159,14 +164,13 @@ void HIPInternal::fence(const std::string &name) const { [&]() { KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamSynchronize(m_stream)); }); } -void HIPInternal::initialize(hipStream_t stream, bool manage_stream) { +void HIPInternal::initialize(hipStream_t stream) { KOKKOS_EXPECTS(!is_initialized()); if (was_finalized) Kokkos::abort("Calling HIP::initialize after HIP::finalize is illegal\n"); - m_stream = stream; - m_manage_stream = manage_stream; + m_stream = stream; //---------------------------------- // Multiblock reduction uses scratch flags for counters @@ -192,20 +196,19 @@ void HIPInternal::initialize(hipStream_t stream, bool manage_stream) { Kokkos::HIP::size_type *HIPInternal::scratch_space(const std::size_t size) { if (verify_is_initialized("scratch_space") && m_scratchSpaceCount < scratch_count(size)) { + Kokkos::HIPSpace mem_space; + + if (m_scratchSpace) { + mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + } + m_scratchSpaceCount = scratch_count(size); - using Record = Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchSpace) Record::decrement(Record::get_record(m_scratchSpace)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchSpaceCount, sizeScratchGrain); - Record *const r = Record::allocate( - Kokkos::HIPSpace(), "Kokkos::InternalScratchSpace", alloc_size); - - Record::increment(r); - - m_scratchSpace = reinterpret_cast(r->data()); + m_scratchSpace = static_cast( + mem_space.allocate("Kokkos::InternalScratchSpace", alloc_size)); } return m_scratchSpace; @@ -214,21 +217,23 @@ Kokkos::HIP::size_type *HIPInternal::scratch_space(const std::size_t size) { Kokkos::HIP::size_type *HIPInternal::scratch_flags(const std::size_t size) { if (verify_is_initialized("scratch_flags") && m_scratchFlagsCount < scratch_count(size)) { + Kokkos::HIPSpace mem_space; + + if (m_scratchFlags) { + mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); + } + m_scratchFlagsCount = scratch_count(size); - using Record = Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchFlags) Record::decrement(Record::get_record(m_scratchFlags)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchFlagsCount, sizeScratchGrain); - Record *const r = Record::allocate( - Kokkos::HIPSpace(), "Kokkos::InternalScratchFlags", alloc_size); - - Record::increment(r); - - m_scratchFlags = reinterpret_cast(r->data()); + m_scratchFlags = static_cast( + mem_space.allocate("Kokkos::InternalScratchFlags", alloc_size)); + // We only zero-initialize the allocation when we actually allocate. + // It's the responsibility of the features using scratch_flags, + // namely parallel_reduce and parallel_scan, to reset the used values to 0. KOKKOS_IMPL_HIP_SAFE_CALL(hipMemset(m_scratchFlags, 0, alloc_size)); } @@ -238,29 +243,20 @@ Kokkos::HIP::size_type *HIPInternal::scratch_flags(const std::size_t size) { Kokkos::HIP::size_type *HIPInternal::stage_functor_for_execution( void const *driver, std::size_t const size) const { if (verify_is_initialized("scratch_functor") && m_scratchFunctorSize < size) { - m_scratchFunctorSize = size; - - using Record = Kokkos::Impl::SharedAllocationRecord; - using RecordHost = - Kokkos::Impl::SharedAllocationRecord; + Kokkos::HIPSpace device_mem_space; + Kokkos::HIPHostPinnedSpace host_mem_space; if (m_scratchFunctor) { - Record::decrement(Record::get_record(m_scratchFunctor)); - RecordHost::decrement(RecordHost::get_record(m_scratchFunctorHost)); + device_mem_space.deallocate(m_scratchFunctor, m_scratchFunctorSize); + host_mem_space.deallocate(m_scratchFunctorHost, m_scratchFunctorSize); } - Record *const r = - Record::allocate(Kokkos::HIPSpace(), "Kokkos::InternalScratchFunctor", - m_scratchFunctorSize); - RecordHost *const r_host = RecordHost::allocate( - Kokkos::HIPHostPinnedSpace(), "Kokkos::InternalScratchFunctorHost", - m_scratchFunctorSize); + m_scratchFunctorSize = size; - Record::increment(r); - RecordHost::increment(r_host); - - m_scratchFunctor = reinterpret_cast(r->data()); - m_scratchFunctorHost = reinterpret_cast(r_host->data()); + m_scratchFunctor = static_cast(device_mem_space.allocate( + "Kokkos::InternalScratchFunctor", m_scratchFunctorSize)); + m_scratchFunctorHost = static_cast(host_mem_space.allocate( + "Kokkos::InternalScratchFunctorHost", m_scratchFunctorSize)); } // When using HSA_XNACK=1, it is necessary to copy the driver to the host to @@ -323,23 +319,18 @@ void HIPInternal::finalize() { this->fence("Kokkos::HIPInternal::finalize: fence on finalization"); was_finalized = true; - if (this == &singleton()) { - (void)Kokkos::Impl::hip_global_unique_token_locks(true); - desul::Impl::finalize_lock_arrays(); // FIXME - - KOKKOS_IMPL_HIP_SAFE_CALL(hipHostFree(constantMemHostStaging)); - KOKKOS_IMPL_HIP_SAFE_CALL(hipEventDestroy(constantMemReusable)); - } - if (nullptr != m_scratchSpace || nullptr != m_scratchFlags) { - using RecordHIP = Kokkos::Impl::SharedAllocationRecord; + Kokkos::HIPSpace device_mem_space; - RecordHIP::decrement(RecordHIP::get_record(m_scratchFlags)); - RecordHIP::decrement(RecordHIP::get_record(m_scratchSpace)); + device_mem_space.deallocate(m_scratchFlags, + m_scratchSpaceCount * sizeScratchGrain); + device_mem_space.deallocate(m_scratchSpace, + m_scratchFlagsCount * sizeScratchGrain); if (m_scratchFunctorSize > 0) { - RecordHIP::decrement(RecordHIP::get_record(m_scratchFunctor)); - RecordHIP::decrement(RecordHIP::get_record(m_scratchFunctorHost)); + device_mem_space.deallocate(m_scratchFunctor, m_scratchFunctorSize); + Kokkos::HIPHostPinnedSpace host_mem_space; + host_mem_space.deallocate(m_scratchFunctorHost, m_scratchFunctorSize); } } @@ -348,14 +339,10 @@ void HIPInternal::finalize() { Kokkos::kokkos_free(m_team_scratch_ptr[i]); } - if (m_manage_stream && m_stream != nullptr) - KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamDestroy(m_stream)); - m_scratchSpaceCount = 0; m_scratchFlagsCount = 0; m_scratchSpace = nullptr; m_scratchFlags = nullptr; - m_stream = nullptr; for (int i = 0; i < m_n_team_scratch; ++i) { m_team_scratch_current_size[i] = 0; m_team_scratch_ptr[i] = nullptr; @@ -419,13 +406,3 @@ void Kokkos::Impl::create_HIP_instances(std::vector &instances) { instances[s] = HIP(stream, ManageStream::yes); } } - -//---------------------------------------------------------------------------- - -namespace Kokkos { -HIP::size_type HIP::detect_device_count() { - int hipDevCount; - KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&hipDevCount)); - return hipDevCount; -} -} // namespace Kokkos diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp index ef140ec46c..142008124a 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp @@ -30,7 +30,8 @@ namespace Impl { struct HIPTraits { #if defined(KOKKOS_ARCH_AMD_GFX906) || defined(KOKKOS_ARCH_AMD_GFX908) || \ - defined(KOKKOS_ARCH_AMD_GFX90A) || defined(KOKKOS_ARCH_AMD_GFX942) + defined(KOKKOS_ARCH_AMD_GFX90A) || defined(KOKKOS_ARCH_AMD_GFX940) || \ + defined(KOKKOS_ARCH_AMD_GFX942) static constexpr int WarpSize = 64; static constexpr int WarpIndexMask = 0x003f; /* hexadecimal for 63 */ static constexpr int WarpIndexShift = 6; /* WarpSize == 1 << WarpShift*/ @@ -97,7 +98,6 @@ class HIPInternal { uint32_t m_instance_id = Kokkos::Tools::Experimental::Impl::idForInstance( reinterpret_cast(this)); - bool m_manage_stream = false; // Team Scratch Level 1 Space int m_n_team_scratch = 10; @@ -123,7 +123,7 @@ class HIPInternal { return nullptr != m_scratchSpace && nullptr != m_scratchFlags; } - void initialize(hipStream_t stream, bool manage_stream); + void initialize(hipStream_t stream); void finalize(); void print_configuration(std::ostream &) const; diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_MDRange.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_MDRange.hpp new file mode 100644 index 0000000000..db07c360b5 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_MDRange.hpp @@ -0,0 +1,173 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_FOR_MDRANGE_HPP +#define KOKKOS_HIP_PARALLEL_FOR_MDRANGE_HPP + +#include + +#include +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +// ParallelFor +template +class ParallelFor, HIP> { + public: + using Policy = Kokkos::MDRangePolicy; + using functor_type = FunctorType; + + private: + using array_index_type = typename Policy::array_index_type; + using index_type = typename Policy::index_type; + using LaunchBounds = typename Policy::launch_bounds; + + const FunctorType m_functor; + const Policy m_policy; + + public: + ParallelFor() = delete; + ParallelFor(ParallelFor const&) = default; + ParallelFor& operator=(ParallelFor const&) = delete; + + inline __device__ void operator()() const { + Kokkos::Impl::DeviceIterateTile(m_policy, + m_functor) + .exec_range(); + } + + inline void execute() const { + using ClosureType = ParallelFor; + if (m_policy.m_num_tiles == 0) return; + auto const maxblocks = hip_internal_maximum_grid_count(); + if (Policy::rank == 2) { + dim3 const block(m_policy.m_tile[0], m_policy.m_tile[1], 1); + dim3 const grid( + std::min( + (m_policy.m_upper[0] - m_policy.m_lower[0] + block.x - 1) / + block.x, + maxblocks[0]), + std::min( + (m_policy.m_upper[1] - m_policy.m_lower[1] + block.y - 1) / + block.y, + maxblocks[1]), + 1); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else if (Policy::rank == 3) { + dim3 const block(m_policy.m_tile[0], m_policy.m_tile[1], + m_policy.m_tile[2]); + dim3 const grid( + std::min( + (m_policy.m_upper[0] - m_policy.m_lower[0] + block.x - 1) / + block.x, + maxblocks[0]), + std::min( + (m_policy.m_upper[1] - m_policy.m_lower[1] + block.y - 1) / + block.y, + maxblocks[1]), + std::min( + (m_policy.m_upper[2] - m_policy.m_lower[2] + block.z - 1) / + block.z, + maxblocks[2])); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else if (Policy::rank == 4) { + // id0,id1 encoded within threadIdx.x; id2 to threadIdx.y; id3 to + // threadIdx.z + dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], + m_policy.m_tile[2], m_policy.m_tile[3]); + dim3 const grid( + std::min( + m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), + std::min( + (m_policy.m_upper[2] - m_policy.m_lower[2] + block.y - 1) / + block.y, + maxblocks[1]), + std::min( + (m_policy.m_upper[3] - m_policy.m_lower[3] + block.z - 1) / + block.z, + maxblocks[2])); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else if (Policy::rank == 5) { + // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; id4 + // to threadIdx.z + dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], + m_policy.m_tile[2] * m_policy.m_tile[3], + m_policy.m_tile[4]); + dim3 const grid( + std::min( + m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), + std::min( + m_policy.m_tile_end[2] * m_policy.m_tile_end[3], maxblocks[1]), + std::min( + (m_policy.m_upper[4] - m_policy.m_lower[4] + block.z - 1) / + block.z, + maxblocks[2])); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else if (Policy::rank == 6) { + // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; + // id4,id5 to threadIdx.z + dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], + m_policy.m_tile[2] * m_policy.m_tile[3], + m_policy.m_tile[4] * m_policy.m_tile[5]); + dim3 const grid( + std::min( + m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), + std::min( + m_policy.m_tile_end[2] * m_policy.m_tile_end[3], maxblocks[1]), + std::min( + m_policy.m_tile_end[4] * m_policy.m_tile_end[5], maxblocks[2])); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else { + Kokkos::abort("Kokkos::MDRange Error: Exceeded rank bounds with HIP\n"); + } + + } // end execute + + ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) + : m_functor(arg_functor), m_policy(arg_policy) {} + + template + static int max_tile_size_product(const Policy&, const Functor&) { + using closure_type = + ParallelFor, HIP>; + unsigned block_size = hip_get_max_blocksize(); + if (block_size == 0) + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelFor< HIP > could not find a valid " + "tile size.")); + return block_size; + } +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Range.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Range.hpp new file mode 100644 index 0000000000..9355c1c75f --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Range.hpp @@ -0,0 +1,100 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_FOR_RANGE_HPP +#define KOKKOS_HIP_PARALLEL_FOR_RANGE_HPP + +#include + +#include +#include + +namespace Kokkos { +namespace Impl { + +template +class ParallelFor, Kokkos::HIP> { + public: + using Policy = Kokkos::RangePolicy; + + private: + using Member = typename Policy::member_type; + using WorkTag = typename Policy::work_tag; + using LaunchBounds = typename Policy::launch_bounds; + + const FunctorType m_functor; + const Policy m_policy; + + template + inline __device__ std::enable_if_t::value> exec_range( + const Member i) const { + m_functor(i); + } + + template + inline __device__ std::enable_if_t::value> exec_range( + const Member i) const { + m_functor(TagType(), i); + } + + public: + using functor_type = FunctorType; + + ParallelFor() = delete; + ParallelFor(ParallelFor const&) = default; + ParallelFor& operator=(ParallelFor const&) = delete; + + inline __device__ void operator()() const { + const Member work_stride = blockDim.y * gridDim.x; + const Member work_end = m_policy.end(); + + for (Member iwork = + m_policy.begin() + threadIdx.y + blockDim.y * blockIdx.x; + iwork < work_end; + iwork = iwork < work_end - work_stride ? iwork + work_stride + : work_end) { + this->template exec_range(iwork); + } + } + + inline void execute() const { + const typename Policy::index_type nwork = m_policy.end() - m_policy.begin(); + + using DriverType = ParallelFor; + const int block_size = + Kokkos::Impl::hip_get_preferred_blocksize(); + const dim3 block(1, block_size, 1); + const dim3 grid( + typename Policy::index_type((nwork + block.y - 1) / block.y), 1, 1); + + if (block_size == 0) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelFor< HIP > could not find a " + "valid execution configuration.")); + } + Kokkos::Impl::hip_parallel_launch( + *this, grid, block, 0, m_policy.space().impl_internal_space_instance(), + false); + } + + ParallelFor(const FunctorType& arg_functor, const Policy& arg_policy) + : m_functor(arg_functor), m_policy(arg_policy) {} +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Team.hpp new file mode 100644 index 0000000000..bf0c219338 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Team.hpp @@ -0,0 +1,177 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_FOR_TEAM_HPP +#define KOKKOS_HIP_PARALLEL_FOR_TEAM_HPP + +#include + +#include +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +template +class ParallelFor, HIP> { + public: + using Policy = TeamPolicy; + using functor_type = FunctorType; + using size_type = HIP::size_type; + + private: + using member_type = typename Policy::member_type; + using work_tag = typename Policy::work_tag; + using launch_bounds = typename Policy::launch_bounds; + + // Algorithmic constraints: blockDim.y is a power of two AND + // blockDim.y == blockDim.z == 1 shared memory utilization: + // + // [ team reduce space ] + // [ team shared space ] + + FunctorType const m_functor; + Policy const m_policy; + size_type const m_league_size; + int m_team_size; + size_type const m_vector_size; + int m_shmem_begin; + int m_shmem_size; + void* m_scratch_ptr[2]; + size_t m_scratch_size[2]; + int m_scratch_pool_id = -1; + int32_t* m_scratch_locks; + size_t m_num_scratch_locks; + + template + __device__ inline std::enable_if_t::value> exec_team( + const member_type& member) const { + m_functor(member); + } + + template + __device__ inline std::enable_if_t::value> exec_team( + const member_type& member) const { + m_functor(TagType(), member); + } + + public: + ParallelFor() = delete; + ParallelFor(ParallelFor const&) = default; + ParallelFor& operator=(ParallelFor const&) = delete; + + __device__ inline void operator()() const { + // Iterate this block through the league + int64_t threadid = 0; + if (m_scratch_size[1] > 0) { + threadid = hip_get_scratch_index(m_league_size, m_scratch_locks, + m_num_scratch_locks); + } + + int const int_league_size = static_cast(m_league_size); + for (int league_rank = blockIdx.x; league_rank < int_league_size; + league_rank += gridDim.x) { + this->template exec_team(typename Policy::member_type( + kokkos_impl_hip_shared_memory(), m_shmem_begin, m_shmem_size, + static_cast(static_cast(m_scratch_ptr[1]) + + ptrdiff_t(threadid / (blockDim.x * blockDim.y)) * + m_scratch_size[1]), + m_scratch_size[1], league_rank, m_league_size)); + } + if (m_scratch_size[1] > 0) { + hip_release_scratch_index(m_scratch_locks, threadid); + } + } + + inline void execute() const { + int64_t const shmem_size_total = m_shmem_begin + m_shmem_size; + dim3 const grid(static_cast(m_league_size), 1, 1); + dim3 const block(static_cast(m_vector_size), + static_cast(m_team_size), 1); + + using closure_type = + ParallelFor, HIP>; + Impl::hip_parallel_launch( + *this, grid, block, shmem_size_total, + m_policy.space().impl_internal_space_instance(), + true); // copy to device and execute + } + + ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) + : m_functor(arg_functor), + m_policy(arg_policy), + m_league_size(arg_policy.league_size()), + m_team_size(arg_policy.team_size()), + m_vector_size(arg_policy.impl_vector_length()) { + auto internal_space_instance = + m_policy.space().impl_internal_space_instance(); + m_team_size = m_team_size >= 0 ? m_team_size + : arg_policy.team_size_recommended( + arg_functor, ParallelForTag()); + + m_shmem_begin = (sizeof(double) * (m_team_size + 2)); + m_shmem_size = + (m_policy.scratch_size(0, m_team_size) + + FunctorTeamShmemSize::value(m_functor, m_team_size)); + m_scratch_size[0] = m_policy.scratch_size(0, m_team_size); + m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); + m_scratch_locks = internal_space_instance->m_scratch_locks; + m_num_scratch_locks = internal_space_instance->m_num_scratch_locks; + + // Functor's reduce memory, team scan memory, and team shared memory depend + // upon team size. + m_scratch_ptr[0] = nullptr; + if (m_team_size <= 0) { + m_scratch_ptr[1] = nullptr; + } else { + m_scratch_pool_id = internal_space_instance->acquire_team_scratch_space(); + m_scratch_ptr[1] = internal_space_instance->resize_team_scratch_space( + m_scratch_pool_id, + static_cast(m_scratch_size[1]) * + (std::min( + static_cast(HIP().concurrency() / + (m_team_size * m_vector_size)), + static_cast(m_league_size)))); + } + + int const shmem_size_total = m_shmem_begin + m_shmem_size; + if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { + Kokkos::Impl::throw_runtime_exception(std::string( + "Kokkos::Impl::ParallelFor< HIP > insufficient shared memory")); + } + + size_t max_size = arg_policy.team_size_max(arg_functor, ParallelForTag()); + if (static_cast(m_team_size) > static_cast(max_size)) { + Kokkos::Impl::throw_runtime_exception(std::string( + "Kokkos::Impl::ParallelFor< HIP > requested too large team size.")); + } + } + + ~ParallelFor() { + if (m_scratch_pool_id >= 0) { + m_policy.space() + .impl_internal_space_instance() + ->release_team_scratch_space(m_scratch_pool_id); + } + } +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_MDRange.hpp similarity index 61% rename from lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp rename to lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_MDRange.hpp index 0fa325cb12..55b6218d1c 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_MDRange.hpp @@ -14,157 +14,19 @@ // //@HEADER -#ifndef KOKKOS_HIP_PARALLEL_MDRANGE_HPP -#define KOKKOS_HIP_PARALLEL_MDRANGE_HPP +#ifndef KOKKOS_HIP_PARALLEL_REDUCE_MDRANGE_HPP +#define KOKKOS_HIP_PARALLEL_REDUCE_MDRANGE_HPP + +#include #include #include #include #include #include -#include namespace Kokkos { namespace Impl { -// ParallelFor -template -class ParallelFor, HIP> { - public: - using Policy = Kokkos::MDRangePolicy; - using functor_type = FunctorType; - - private: - using array_index_type = typename Policy::array_index_type; - using index_type = typename Policy::index_type; - using LaunchBounds = typename Policy::launch_bounds; - - const FunctorType m_functor; - const Policy m_policy; - - public: - ParallelFor() = delete; - ParallelFor(ParallelFor const&) = default; - ParallelFor& operator=(ParallelFor const&) = delete; - - inline __device__ void operator()() const { - Kokkos::Impl::DeviceIterateTile(m_policy, - m_functor) - .exec_range(); - } - - inline void execute() const { - using ClosureType = ParallelFor; - if (m_policy.m_num_tiles == 0) return; - auto const maxblocks = hip_internal_maximum_grid_count(); - if (Policy::rank == 2) { - dim3 const block(m_policy.m_tile[0], m_policy.m_tile[1], 1); - dim3 const grid( - std::min( - (m_policy.m_upper[0] - m_policy.m_lower[0] + block.x - 1) / - block.x, - maxblocks[0]), - std::min( - (m_policy.m_upper[1] - m_policy.m_lower[1] + block.y - 1) / - block.y, - maxblocks[1]), - 1); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else if (Policy::rank == 3) { - dim3 const block(m_policy.m_tile[0], m_policy.m_tile[1], - m_policy.m_tile[2]); - dim3 const grid( - std::min( - (m_policy.m_upper[0] - m_policy.m_lower[0] + block.x - 1) / - block.x, - maxblocks[0]), - std::min( - (m_policy.m_upper[1] - m_policy.m_lower[1] + block.y - 1) / - block.y, - maxblocks[1]), - std::min( - (m_policy.m_upper[2] - m_policy.m_lower[2] + block.z - 1) / - block.z, - maxblocks[2])); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else if (Policy::rank == 4) { - // id0,id1 encoded within threadIdx.x; id2 to threadIdx.y; id3 to - // threadIdx.z - dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], - m_policy.m_tile[2], m_policy.m_tile[3]); - dim3 const grid( - std::min( - m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), - std::min( - (m_policy.m_upper[2] - m_policy.m_lower[2] + block.y - 1) / - block.y, - maxblocks[1]), - std::min( - (m_policy.m_upper[3] - m_policy.m_lower[3] + block.z - 1) / - block.z, - maxblocks[2])); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else if (Policy::rank == 5) { - // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; id4 - // to threadIdx.z - dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], - m_policy.m_tile[2] * m_policy.m_tile[3], - m_policy.m_tile[4]); - dim3 const grid( - std::min( - m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), - std::min( - m_policy.m_tile_end[2] * m_policy.m_tile_end[3], maxblocks[1]), - std::min( - (m_policy.m_upper[4] - m_policy.m_lower[4] + block.z - 1) / - block.z, - maxblocks[2])); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else if (Policy::rank == 6) { - // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; - // id4,id5 to threadIdx.z - dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], - m_policy.m_tile[2] * m_policy.m_tile[3], - m_policy.m_tile[4] * m_policy.m_tile[5]); - dim3 const grid( - std::min( - m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), - std::min( - m_policy.m_tile_end[2] * m_policy.m_tile_end[3], maxblocks[1]), - std::min( - m_policy.m_tile_end[4] * m_policy.m_tile_end[5], maxblocks[2])); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else { - Kokkos::abort("Kokkos::MDRange Error: Exceeded rank bounds with HIP\n"); - } - - } // end execute - - ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) - : m_functor(arg_functor), m_policy(arg_policy) {} - - template - static int max_tile_size_product(const Policy&, const Functor&) { - using closure_type = - ParallelFor, HIP>; - unsigned block_size = hip_get_max_blocksize(); - if (block_size == 0) - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelFor< HIP > could not find a valid " - "tile size.")); - return block_size; - } -}; // ParallelReduce template diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Range.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Range.hpp new file mode 100644 index 0000000000..c8981866e8 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Range.hpp @@ -0,0 +1,329 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_REDUCE_RANGE_HPP +#define KOKKOS_HIP_PARALLEL_REDUCE_RANGE_HPP + +#include + +#include +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +template +class ParallelReduce, + Kokkos::HIP> { + public: + using Policy = Kokkos::RangePolicy; + using FunctorType = typename CombinedFunctorReducerType::functor_type; + using ReducerType = typename CombinedFunctorReducerType::reducer_type; + + private: + using WorkRange = typename Policy::WorkRange; + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; + using LaunchBounds = typename Policy::launch_bounds; + + public: + using pointer_type = typename ReducerType::pointer_type; + using value_type = typename ReducerType::value_type; + using reference_type = typename ReducerType::reference_type; + using functor_type = FunctorType; + using reducer_type = ReducerType; + using size_type = Kokkos::HIP::size_type; + using index_type = typename Policy::index_type; + // Conditionally set word_size_type to int16_t or int8_t if value_type is + // smaller than int32_t (Kokkos::HIP::size_type) + // word_size_type is used to determine the word count, shared memory buffer + // size, and global memory buffer size before the scan is performed. + // Within the scan, the word count is recomputed based on word_size_type + // and when calculating indexes into the shared/global memory buffers for + // performing the scan, word_size_type is used again. + // For scalars > 4 bytes in size, indexing into shared/global memory relies + // on the block and grid dimensions to ensure that we index at the correct + // offset rather than at every 4 byte word; such that, when the join is + // performed, we have the correct data that was copied over in chunks of 4 + // bytes. + using word_size_type = std::conditional_t< + sizeof(value_type) < sizeof(size_type), + std::conditional_t, size_type>; + + // Algorithmic constraints: blockSize is a power of two AND blockDim.y == + // blockDim.z == 1 + + const CombinedFunctorReducerType m_functor_reducer; + const Policy m_policy; + const pointer_type m_result_ptr; + const bool m_result_ptr_device_accessible; + const bool m_result_ptr_host_accessible; + word_size_type* m_scratch_space = nullptr; + size_type* m_scratch_flags = nullptr; + + static constexpr bool UseShflReduction = false; + + private: + struct ShflReductionTag {}; + struct SHMEMReductionTag {}; + + // Make the exec_range calls call to Reduce::DeviceIterateTile + template + __device__ inline std::enable_if_t::value> exec_range( + const Member& i, reference_type update) const { + m_functor_reducer.get_functor()(i, update); + } + + template + __device__ inline std::enable_if_t::value> exec_range( + const Member& i, reference_type update) const { + m_functor_reducer.get_functor()(TagType(), i, update); + } + + public: + __device__ inline void operator()() const { + using ReductionTag = std::conditional_t; + run(ReductionTag{}); + } + + __device__ inline void run(SHMEMReductionTag) const { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + const integral_nonzero_constant + word_count(reducer.value_size() / sizeof(word_size_type)); + + { + reference_type value = reducer.init(reinterpret_cast( + ::Kokkos::kokkos_impl_hip_shared_memory() + + threadIdx.y * word_count.value)); + + // Number of blocks is bounded so that the reduction can be limited to two + // passes. Each thread block is given an approximately equal amount of + // work to perform. Accumulate the values for this block. The accumulation + // ordering does not match the final pass, but is arithmetically + // equivalent. + + const WorkRange range(m_policy, blockIdx.x, gridDim.x); + + for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); + iwork < iwork_end; iwork += blockDim.y) { + this->template exec_range(iwork, value); + } + } + + // Reduce with final value at blockDim.y - 1 location. + // Shortcut for length zero reduction + bool do_final_reduction = m_policy.begin() == m_policy.end(); + if (!do_final_reduction) + do_final_reduction = hip_single_inter_block_reduce_scan( + reducer, blockIdx.x, gridDim.x, + ::Kokkos::kokkos_impl_hip_shared_memory(), + m_scratch_space, m_scratch_flags); + if (do_final_reduction) { + // This is the final block with the final result at the final threads' + // location + + word_size_type* const shared = + ::Kokkos::kokkos_impl_hip_shared_memory() + + (blockDim.y - 1) * word_count.value; + word_size_type* const global = + m_result_ptr_device_accessible + ? reinterpret_cast(m_result_ptr) + : m_scratch_space; + + if (threadIdx.y == 0) { + reducer.final(reinterpret_cast(shared)); + } + + if (::Kokkos::Impl::HIPTraits::WarpSize < word_count.value) { + __syncthreads(); + } + + for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { + global[i] = shared[i]; + } + } + } + + __device__ inline void run(ShflReductionTag) const { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + value_type value; + reducer.init(&value); + // Number of blocks is bounded so that the reduction can be limited to two + // passes. Each thread block is given an approximately equal amount of work + // to perform. Accumulate the values for this block. The accumulation + // ordering does not match the final pass, but is arithmetically equivalent. + + WorkRange const range(m_policy, blockIdx.x, gridDim.x); + + for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); + iwork < iwork_end; iwork += blockDim.y) { + this->template exec_range(iwork, value); + } + + pointer_type const result = reinterpret_cast(m_scratch_space); + + int max_active_thread = static_cast(range.end() - range.begin()) < + static_cast(blockDim.y) + ? range.end() - range.begin() + : blockDim.y; + + max_active_thread = + (max_active_thread == 0) ? blockDim.y : max_active_thread; + + value_type init; + reducer.init(&init); + if (m_policy.begin() == m_policy.end()) { + reducer.final(&value); + pointer_type const final_result = + m_result_ptr_device_accessible ? m_result_ptr : result; + *final_result = value; + } else if (Impl::hip_inter_block_shuffle_reduction<>( + value, init, reducer, m_scratch_space, result, + m_scratch_flags, max_active_thread)) { + unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; + if (id == 0) { + reducer.final(&value); + pointer_type const final_result = + m_result_ptr_device_accessible ? m_result_ptr : result; + *final_result = value; + } + } + } + + // Determine block size constrained by shared memory: + inline unsigned local_block_size(const FunctorType& f) { + const auto& instance = m_policy.space().impl_internal_space_instance(); + auto shmem_functor = [&f](unsigned n) { + return hip_single_inter_block_reduce_scan_shmem(f, n); + }; + return Kokkos::Impl::hip_get_preferred_blocksize( + instance, shmem_functor); + } + + inline void execute() { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + const index_type nwork = m_policy.end() - m_policy.begin(); + const bool need_device_set = ReducerType::has_init_member_function() || + ReducerType::has_final_member_function() || + !m_result_ptr_host_accessible || + !std::is_same::value; + if ((nwork > 0) || need_device_set) { + const int block_size = local_block_size(m_functor_reducer.get_functor()); + if (block_size == 0) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > could not find a " + "valid execution configuration.")); + } + + // REQUIRED ( 1 , N , 1 ) + dim3 block(1, block_size, 1); + // use a slightly less constrained, but still well bounded limit for + // scratch + int nblocks = (nwork + block.y - 1) / block.y; + // Heuristic deciding the value of nblocks. + // The general idea here is we want to: + // 1. Not undersubscribe the device (i.e., we want at least + // preferred_block_min blocks) + // 2. Have each thread reduce > 1 value to minimize overheads + // 3. Limit the total # of blocks, to avoid unbounded scratch space + constexpr int block_max = 4096; + constexpr int preferred_block_min = 1024; + + if (nblocks < preferred_block_min) { + // keep blocks as is, already have low parallelism + } else if (nblocks > block_max) { + // "large dispatch" -> already have lots of parallelism + nblocks = block_max; + } else { + // in the intermediate range, try to have each thread process multiple + // items to offset the cost of the reduction (with not enough + // parallelism to hide it) + int items_per_thread = + (nwork + nblocks * block_size - 1) / (nblocks * block_size); + if (items_per_thread < 4) { + int ratio = std::min( + (nblocks + preferred_block_min - 1) / preferred_block_min, + (4 + items_per_thread - 1) / items_per_thread); + nblocks /= ratio; + } + } + + // TODO: down casting these uses more space than required? + m_scratch_space = + (word_size_type*)::Kokkos::Impl::hip_internal_scratch_space( + m_policy.space(), reducer.value_size() * nblocks); + // Intentionally do not downcast to word_size_type since we use HIP + // atomics in Kokkos_HIP_ReduceScan.hpp + m_scratch_flags = ::Kokkos::Impl::hip_internal_scratch_flags( + m_policy.space(), sizeof(size_type)); + // Required grid.x <= block.y + dim3 grid(nblocks, 1, 1); + + if (nwork == 0) { + block = dim3(1, 1, 1); + grid = dim3(1, 1, 1); + } + const int shmem = + UseShflReduction + ? 0 + : hip_single_inter_block_reduce_scan_shmem( + m_functor_reducer.get_functor(), block.y); + + Kokkos::Impl::hip_parallel_launch( + *this, grid, block, shmem, + m_policy.space().impl_internal_space_instance(), + false); // copy to device and execute + + if (!m_result_ptr_device_accessible && m_result_ptr) { + const int size = reducer.value_size(); + DeepCopy(m_policy.space(), m_result_ptr, + m_scratch_space, size); + } + } else { + if (m_result_ptr) { + reducer.init(m_result_ptr); + } + } + } + + template + ParallelReduce(const CombinedFunctorReducerType& arg_functor_reducer, + const Policy& arg_policy, const ViewType& arg_result) + : m_functor_reducer(arg_functor_reducer), + m_policy(arg_policy), + m_result_ptr(arg_result.data()), + m_result_ptr_device_accessible( + MemorySpaceAccess::accessible), + m_result_ptr_host_accessible( + MemorySpaceAccess::accessible) {} +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Team.hpp new file mode 100644 index 0000000000..609ba28b86 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Team.hpp @@ -0,0 +1,394 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_REDUCE_TEAM_HPP +#define KOKKOS_HIP_PARALLEL_REDUCE_TEAM_HPP + +#include + +#include +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +template +class ParallelReduce, HIP> { + public: + using Policy = TeamPolicyInternal; + using FunctorType = typename CombinedFunctorReducerType::functor_type; + using ReducerType = typename CombinedFunctorReducerType::reducer_type; + + private: + using member_type = typename Policy::member_type; + using work_tag = typename Policy::work_tag; + using launch_bounds = typename Policy::launch_bounds; + + using pointer_type = typename ReducerType::pointer_type; + using reference_type = typename ReducerType::reference_type; + using value_type = typename ReducerType::value_type; + + public: + using functor_type = FunctorType; + using size_type = HIP::size_type; + + // static int constexpr UseShflReduction = false; + // FIXME_HIP This should be disabled unconditionally for best performance, but + // it currently causes tests to fail. + static constexpr int UseShflReduction = + (ReducerType::static_value_size() != 0); + + private: + struct ShflReductionTag {}; + struct SHMEMReductionTag {}; + + // Algorithmic constraints: blockDim.y is a power of two AND + // blockDim.y == blockDim.z == 1 shared memory utilization: + // + // [ global reduce space ] + // [ team reduce space ] + // [ team shared space ] + // + + const CombinedFunctorReducerType m_functor_reducer; + const Policy m_policy; + const pointer_type m_result_ptr; + const bool m_result_ptr_device_accessible; + const bool m_result_ptr_host_accessible; + size_type* m_scratch_space; + size_type* m_scratch_flags; + size_type m_team_begin; + size_type m_shmem_begin; + size_type m_shmem_size; + void* m_scratch_ptr[2]; + size_t m_scratch_size[2]; + int m_scratch_pool_id = -1; + int32_t* m_scratch_locks; + size_t m_num_scratch_locks; + const size_type m_league_size; + int m_team_size; + const size_type m_vector_size; + + template + __device__ inline std::enable_if_t::value> exec_team( + member_type const& member, reference_type update) const { + m_functor_reducer.get_functor()(member, update); + } + + template + __device__ inline std::enable_if_t::value> exec_team( + member_type const& member, reference_type update) const { + m_functor_reducer.get_functor()(TagType(), member, update); + } + + __device__ inline void iterate_through_league(int const threadid, + reference_type value) const { + int const int_league_size = static_cast(m_league_size); + for (int league_rank = blockIdx.x; league_rank < int_league_size; + league_rank += gridDim.x) { + this->template exec_team( + member_type( + kokkos_impl_hip_shared_memory() + m_team_begin, + m_shmem_begin, m_shmem_size, + reinterpret_cast( + reinterpret_cast(m_scratch_ptr[1]) + + static_cast(threadid / (blockDim.x * blockDim.y)) * + m_scratch_size[1]), + m_scratch_size[1], league_rank, m_league_size), + value); + } + } + + int compute_block_count() const { + constexpr auto light_weight = + Kokkos::Experimental::WorkItemProperty::HintLightWeight; + constexpr typename Policy::work_item_property property; + // Numbers were tuned on MI210 using dot product and yAx benchmarks + constexpr int block_max = + (property & light_weight) == light_weight ? 2097152 : 65536; + constexpr int preferred_block_min = 1024; + int block_count = m_league_size; + if (block_count < preferred_block_min) { + // keep blocks as is, already low parallelism + } else if (block_count >= block_max) { + block_count = block_max; + + } else { + int nwork = m_league_size * m_team_size; + int items_per_thread = + (nwork + block_count * m_team_size - 1) / (block_count * m_team_size); + if (items_per_thread < 4) { + int ratio = std::min( + (block_count + preferred_block_min - 1) / preferred_block_min, + (4 + items_per_thread - 1) / items_per_thread); + block_count /= ratio; + } + } + + return block_count; + } + + public: + __device__ inline void operator()() const { + int64_t threadid = 0; + if (m_scratch_size[1] > 0) { + threadid = hip_get_scratch_index(m_league_size, m_scratch_locks, + m_num_scratch_locks); + } + + using ReductionTag = std::conditional_t; + run(ReductionTag{}, threadid); + + if (m_scratch_size[1] > 0) { + hip_release_scratch_index(m_scratch_locks, threadid); + } + } + + __device__ inline void run(SHMEMReductionTag, int const threadid) const { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + integral_nonzero_constant const + word_count(reducer.value_size() / sizeof(size_type)); + + reference_type value = + reducer.init(kokkos_impl_hip_shared_memory() + + threadIdx.y * word_count.value); + // Iterate this block through the league + iterate_through_league(threadid, value); + + // Reduce with final value at blockDim.y - 1 location. + bool do_final_reduce = (m_league_size == 0); + if (!do_final_reduce) + do_final_reduce = + hip_single_inter_block_reduce_scan( + reducer, blockIdx.x, gridDim.x, + kokkos_impl_hip_shared_memory(), m_scratch_space, + m_scratch_flags); + if (do_final_reduce) { + // This is the final block with the final result at the final threads' + // location + + size_type* const shared = kokkos_impl_hip_shared_memory() + + (blockDim.y - 1) * word_count.value; + size_type* const global = m_result_ptr_device_accessible + ? reinterpret_cast(m_result_ptr) + : m_scratch_space; + + if (threadIdx.y == 0) { + reducer.final(reinterpret_cast(shared)); + } + + if (HIPTraits::WarpSize < word_count.value) { + __syncthreads(); + } + + for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { + global[i] = shared[i]; + } + } + } + + __device__ inline void run(ShflReductionTag, int const threadid) const { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + value_type value; + reducer.init(&value); + + // Iterate this block through the league + iterate_through_league(threadid, value); + + pointer_type const result = + m_result_ptr_device_accessible + ? m_result_ptr + : reinterpret_cast(m_scratch_space); + + value_type init; + reducer.init(&init); + if (m_league_size == 0) { + reducer.final(&value); + *result = value; + } else if (Impl::hip_inter_block_shuffle_reduction( + value, init, reducer, m_scratch_space, result, + m_scratch_flags, blockDim.y)) { + unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; + if (id == 0) { + reducer.final(&value); + *result = value; + } + } + } + + inline void execute() { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + const bool is_empty_range = m_league_size == 0 || m_team_size == 0; + const bool need_device_set = ReducerType::has_init_member_function() || + ReducerType::has_final_member_function() || + !m_result_ptr_host_accessible || + Policy::is_graph_kernel::value || + !std::is_same::value; + if (!is_empty_range || need_device_set) { + int const block_count = compute_block_count(); + + m_scratch_space = hip_internal_scratch_space( + m_policy.space(), reducer.value_size() * block_count); + m_scratch_flags = + hip_internal_scratch_flags(m_policy.space(), sizeof(size_type)); + + dim3 block(m_vector_size, m_team_size, 1); + dim3 grid(block_count, 1, 1); + if (is_empty_range) { + block = dim3(1, 1, 1); + grid = dim3(1, 1, 1); + } + const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; + + Impl::hip_parallel_launch( + *this, grid, block, shmem_size_total, + m_policy.space().impl_internal_space_instance(), + true); // copy to device and execute + + if (!m_result_ptr_device_accessible) { + m_policy.space().impl_internal_space_instance()->fence(); + + if (m_result_ptr) { + const int size = reducer.value_size(); + DeepCopy(m_policy.space(), m_result_ptr, + m_scratch_space, size); + } + } + } else { + if (m_result_ptr) { + reducer.init(m_result_ptr); + } + } + } + + template + ParallelReduce(CombinedFunctorReducerType const& arg_functor_reducer, + Policy const& arg_policy, ViewType const& arg_result) + : m_functor_reducer(arg_functor_reducer), + m_policy(arg_policy), + m_result_ptr(arg_result.data()), + m_result_ptr_device_accessible( + MemorySpaceAccess::accessible), + m_result_ptr_host_accessible( + MemorySpaceAccess::accessible), + m_scratch_space(nullptr), + m_scratch_flags(nullptr), + m_team_begin(0), + m_shmem_begin(0), + m_shmem_size(0), + m_scratch_ptr{nullptr, nullptr}, + m_league_size(arg_policy.league_size()), + m_team_size(arg_policy.team_size()), + m_vector_size(arg_policy.impl_vector_length()) { + auto internal_space_instance = + m_policy.space().impl_internal_space_instance(); + m_team_size = m_team_size >= 0 ? m_team_size + : arg_policy.team_size_recommended( + arg_functor_reducer.get_functor(), + arg_functor_reducer.get_reducer(), + ParallelReduceTag()); + + m_team_begin = + UseShflReduction + ? 0 + : hip_single_inter_block_reduce_scan_shmem( + arg_functor_reducer.get_functor(), m_team_size); + m_shmem_begin = sizeof(double) * (m_team_size + 2); + m_shmem_size = m_policy.scratch_size(0, m_team_size) + + FunctorTeamShmemSize::value( + arg_functor_reducer.get_functor(), m_team_size); + m_scratch_size[0] = m_shmem_size; + m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); + m_scratch_locks = internal_space_instance->m_scratch_locks; + m_num_scratch_locks = internal_space_instance->m_num_scratch_locks; + if (m_team_size <= 0) { + m_scratch_ptr[1] = nullptr; + } else { + m_scratch_pool_id = internal_space_instance->acquire_team_scratch_space(); + m_scratch_ptr[1] = internal_space_instance->resize_team_scratch_space( + m_scratch_pool_id, + static_cast(m_scratch_size[1]) * + (std::min( + static_cast(HIP().concurrency() / + (m_team_size * m_vector_size)), + static_cast(m_league_size)))); + } + + // The global parallel_reduce does not support vector_length other than 1 at + // the moment + if ((arg_policy.impl_vector_length() > 1) && !UseShflReduction) + Impl::throw_runtime_exception( + "Kokkos::parallel_reduce with a TeamPolicy using a vector length of " + "greater than 1 is not currently supported for HIP for dynamic " + "sized reduction types."); + + if ((m_team_size < HIPTraits::WarpSize) && !UseShflReduction) + Impl::throw_runtime_exception( + "Kokkos::parallel_reduce with a TeamPolicy using a team_size smaller " + "than 64 is not currently supported with HIP for dynamic sized " + "reduction types."); + + // Functor's reduce memory, team scan memory, and team shared memory depend + // upon team size. + + const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; + + if (!Kokkos::Impl::is_integral_power_of_two(m_team_size) && + !UseShflReduction) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > bad team size")); + } + + if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > requested too much " + "L0 scratch memory")); + } + + size_t max_size = arg_policy.team_size_max( + arg_functor_reducer.get_functor(), arg_functor_reducer.get_reducer(), + ParallelReduceTag()); + if (static_cast(m_team_size) > static_cast(max_size)) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > requested too " + "large team size.")); + } + } + + ~ParallelReduce() { + if (m_scratch_pool_id >= 0) { + m_policy.space() + .impl_internal_space_instance() + ->release_team_scratch_space(m_scratch_pool_id); + } + } +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelScan_Range.hpp similarity index 50% rename from lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp rename to lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelScan_Range.hpp index 26e8be4698..41692a3291 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelScan_Range.hpp @@ -14,390 +14,18 @@ // //@HEADER -#ifndef KOKKO_HIP_PARALLEL_RANGE_HPP -#define KOKKO_HIP_PARALLEL_RANGE_HPP +#ifndef KOKKOS_HIP_PARALLEL_SCAN_RANGE_HPP +#define KOKKOS_HIP_PARALLEL_SCAN_RANGE_HPP #include -#if defined(__HIPCC__) - #include #include #include -#include -#include namespace Kokkos { namespace Impl { -template -class ParallelFor, Kokkos::HIP> { - public: - using Policy = Kokkos::RangePolicy; - - private: - using Member = typename Policy::member_type; - using WorkTag = typename Policy::work_tag; - using LaunchBounds = typename Policy::launch_bounds; - - const FunctorType m_functor; - const Policy m_policy; - - template - inline __device__ std::enable_if_t::value> exec_range( - const Member i) const { - m_functor(i); - } - - template - inline __device__ std::enable_if_t::value> exec_range( - const Member i) const { - m_functor(TagType(), i); - } - - public: - using functor_type = FunctorType; - - ParallelFor() = delete; - ParallelFor(ParallelFor const&) = default; - ParallelFor& operator=(ParallelFor const&) = delete; - - inline __device__ void operator()() const { - const Member work_stride = blockDim.y * gridDim.x; - const Member work_end = m_policy.end(); - - for (Member iwork = - m_policy.begin() + threadIdx.y + blockDim.y * blockIdx.x; - iwork < work_end; - iwork = iwork < work_end - work_stride ? iwork + work_stride - : work_end) { - this->template exec_range(iwork); - } - } - - inline void execute() const { - const typename Policy::index_type nwork = m_policy.end() - m_policy.begin(); - - using DriverType = ParallelFor; - const int block_size = - Kokkos::Impl::hip_get_preferred_blocksize(); - const dim3 block(1, block_size, 1); - const dim3 grid( - typename Policy::index_type((nwork + block.y - 1) / block.y), 1, 1); - - if (block_size == 0) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelFor< HIP > could not find a " - "valid execution configuration.")); - } - Kokkos::Impl::hip_parallel_launch( - *this, grid, block, 0, m_policy.space().impl_internal_space_instance(), - false); - } - - ParallelFor(const FunctorType& arg_functor, const Policy& arg_policy) - : m_functor(arg_functor), m_policy(arg_policy) {} -}; - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -template -class ParallelReduce, - Kokkos::HIP> { - public: - using Policy = Kokkos::RangePolicy; - using FunctorType = typename CombinedFunctorReducerType::functor_type; - using ReducerType = typename CombinedFunctorReducerType::reducer_type; - - private: - using WorkRange = typename Policy::WorkRange; - using WorkTag = typename Policy::work_tag; - using Member = typename Policy::member_type; - using LaunchBounds = typename Policy::launch_bounds; - - public: - using pointer_type = typename ReducerType::pointer_type; - using value_type = typename ReducerType::value_type; - using reference_type = typename ReducerType::reference_type; - using functor_type = FunctorType; - using reducer_type = ReducerType; - using size_type = Kokkos::HIP::size_type; - using index_type = typename Policy::index_type; - // Conditionally set word_size_type to int16_t or int8_t if value_type is - // smaller than int32_t (Kokkos::HIP::size_type) - // word_size_type is used to determine the word count, shared memory buffer - // size, and global memory buffer size before the scan is performed. - // Within the scan, the word count is recomputed based on word_size_type - // and when calculating indexes into the shared/global memory buffers for - // performing the scan, word_size_type is used again. - // For scalars > 4 bytes in size, indexing into shared/global memory relies - // on the block and grid dimensions to ensure that we index at the correct - // offset rather than at every 4 byte word; such that, when the join is - // performed, we have the correct data that was copied over in chunks of 4 - // bytes. - using word_size_type = std::conditional_t< - sizeof(value_type) < sizeof(size_type), - std::conditional_t, size_type>; - - // Algorithmic constraints: blockSize is a power of two AND blockDim.y == - // blockDim.z == 1 - - const CombinedFunctorReducerType m_functor_reducer; - const Policy m_policy; - const pointer_type m_result_ptr; - const bool m_result_ptr_device_accessible; - const bool m_result_ptr_host_accessible; - word_size_type* m_scratch_space = nullptr; - size_type* m_scratch_flags = nullptr; - - static constexpr bool UseShflReduction = false; - - private: - struct ShflReductionTag {}; - struct SHMEMReductionTag {}; - - // Make the exec_range calls call to Reduce::DeviceIterateTile - template - __device__ inline std::enable_if_t::value> exec_range( - const Member& i, reference_type update) const { - m_functor_reducer.get_functor()(i, update); - } - - template - __device__ inline std::enable_if_t::value> exec_range( - const Member& i, reference_type update) const { - m_functor_reducer.get_functor()(TagType(), i, update); - } - - public: - __device__ inline void operator()() const { - using ReductionTag = std::conditional_t; - run(ReductionTag{}); - } - - __device__ inline void run(SHMEMReductionTag) const { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - const integral_nonzero_constant - word_count(reducer.value_size() / sizeof(word_size_type)); - - { - reference_type value = reducer.init(reinterpret_cast( - ::Kokkos::kokkos_impl_hip_shared_memory() + - threadIdx.y * word_count.value)); - - // Number of blocks is bounded so that the reduction can be limited to two - // passes. Each thread block is given an approximately equal amount of - // work to perform. Accumulate the values for this block. The accumulation - // ordering does not match the final pass, but is arithmetically - // equivalent. - - const WorkRange range(m_policy, blockIdx.x, gridDim.x); - - for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); - iwork < iwork_end; iwork += blockDim.y) { - this->template exec_range(iwork, value); - } - } - - // Reduce with final value at blockDim.y - 1 location. - // Shortcut for length zero reduction - bool do_final_reduction = m_policy.begin() == m_policy.end(); - if (!do_final_reduction) - do_final_reduction = hip_single_inter_block_reduce_scan( - reducer, blockIdx.x, gridDim.x, - ::Kokkos::kokkos_impl_hip_shared_memory(), - m_scratch_space, m_scratch_flags); - if (do_final_reduction) { - // This is the final block with the final result at the final threads' - // location - - word_size_type* const shared = - ::Kokkos::kokkos_impl_hip_shared_memory() + - (blockDim.y - 1) * word_count.value; - word_size_type* const global = - m_result_ptr_device_accessible - ? reinterpret_cast(m_result_ptr) - : m_scratch_space; - - if (threadIdx.y == 0) { - reducer.final(reinterpret_cast(shared)); - } - - if (::Kokkos::Impl::HIPTraits::WarpSize < word_count.value) { - __syncthreads(); - } - - for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { - global[i] = shared[i]; - } - } - } - - __device__ inline void run(ShflReductionTag) const { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - value_type value; - reducer.init(&value); - // Number of blocks is bounded so that the reduction can be limited to two - // passes. Each thread block is given an approximately equal amount of work - // to perform. Accumulate the values for this block. The accumulation - // ordering does not match the final pass, but is arithmetically equivalent. - - WorkRange const range(m_policy, blockIdx.x, gridDim.x); - - for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); - iwork < iwork_end; iwork += blockDim.y) { - this->template exec_range(iwork, value); - } - - pointer_type const result = reinterpret_cast(m_scratch_space); - - int max_active_thread = static_cast(range.end() - range.begin()) < - static_cast(blockDim.y) - ? range.end() - range.begin() - : blockDim.y; - - max_active_thread = - (max_active_thread == 0) ? blockDim.y : max_active_thread; - - value_type init; - reducer.init(&init); - if (m_policy.begin() == m_policy.end()) { - reducer.final(&value); - pointer_type const final_result = - m_result_ptr_device_accessible ? m_result_ptr : result; - *final_result = value; - } else if (Impl::hip_inter_block_shuffle_reduction<>( - value, init, reducer, m_scratch_space, result, - m_scratch_flags, max_active_thread)) { - unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; - if (id == 0) { - reducer.final(&value); - pointer_type const final_result = - m_result_ptr_device_accessible ? m_result_ptr : result; - *final_result = value; - } - } - } - - // Determine block size constrained by shared memory: - inline unsigned local_block_size(const FunctorType& f) { - const auto& instance = m_policy.space().impl_internal_space_instance(); - auto shmem_functor = [&f](unsigned n) { - return hip_single_inter_block_reduce_scan_shmem(f, n); - }; - return Kokkos::Impl::hip_get_preferred_blocksize( - instance, shmem_functor); - } - - inline void execute() { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - const index_type nwork = m_policy.end() - m_policy.begin(); - const bool need_device_set = ReducerType::has_init_member_function() || - ReducerType::has_final_member_function() || - !m_result_ptr_host_accessible || - !std::is_same::value; - if ((nwork > 0) || need_device_set) { - const int block_size = local_block_size(m_functor_reducer.get_functor()); - if (block_size == 0) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelReduce< HIP > could not find a " - "valid execution configuration.")); - } - - // REQUIRED ( 1 , N , 1 ) - dim3 block(1, block_size, 1); - // use a slightly less constrained, but still well bounded limit for - // scratch - int nblocks = (nwork + block.y - 1) / block.y; - // Heuristic deciding the value of nblocks. - // The general idea here is we want to: - // 1. Not undersubscribe the device (i.e., we want at least - // preferred_block_min blocks) - // 2. Have each thread reduce > 1 value to minimize overheads - // 3. Limit the total # of blocks, to avoid unbounded scratch space - constexpr int block_max = 4096; - constexpr int preferred_block_min = 1024; - - if (nblocks < preferred_block_min) { - // keep blocks as is, already have low parallelism - } else if (nblocks > block_max) { - // "large dispatch" -> already have lots of parallelism - nblocks = block_max; - } else { - // in the intermediate range, try to have each thread process multiple - // items to offset the cost of the reduction (with not enough - // parallelism to hide it) - int items_per_thread = - (nwork + nblocks * block_size - 1) / (nblocks * block_size); - if (items_per_thread < 4) { - int ratio = std::min( - (nblocks + preferred_block_min - 1) / preferred_block_min, - (4 + items_per_thread - 1) / items_per_thread); - nblocks /= ratio; - } - } - - // TODO: down casting these uses more space than required? - m_scratch_space = - (word_size_type*)::Kokkos::Impl::hip_internal_scratch_space( - m_policy.space(), reducer.value_size() * nblocks); - // Intentionally do not downcast to word_size_type since we use HIP - // atomics in Kokkos_HIP_ReduceScan.hpp - m_scratch_flags = ::Kokkos::Impl::hip_internal_scratch_flags( - m_policy.space(), sizeof(size_type)); - // Required grid.x <= block.y - dim3 grid(nblocks, 1, 1); - - if (nwork == 0) { - block = dim3(1, 1, 1); - grid = dim3(1, 1, 1); - } - const int shmem = - UseShflReduction - ? 0 - : hip_single_inter_block_reduce_scan_shmem( - m_functor_reducer.get_functor(), block.y); - - Kokkos::Impl::hip_parallel_launch( - *this, grid, block, shmem, - m_policy.space().impl_internal_space_instance(), - false); // copy to device and execute - - if (!m_result_ptr_device_accessible && m_result_ptr) { - const int size = reducer.value_size(); - DeepCopy(m_policy.space(), m_result_ptr, - m_scratch_space, size); - } - } else { - if (m_result_ptr) { - reducer.init(m_result_ptr); - } - } - } - - template - ParallelReduce(const CombinedFunctorReducerType& arg_functor_reducer, - const Policy& arg_policy, const ViewType& arg_result) - : m_functor_reducer(arg_functor_reducer), - m_policy(arg_policy), - m_result_ptr(arg_result.data()), - m_result_ptr_device_accessible( - MemorySpaceAccess::accessible), - m_result_ptr_host_accessible( - MemorySpaceAccess::accessible) {} -}; - template class ParallelScanHIPBase { public: @@ -763,5 +391,3 @@ class ParallelScanWithTotal, } // namespace Kokkos #endif - -#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp deleted file mode 100644 index 3fe568ac36..0000000000 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp +++ /dev/null @@ -1,936 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKO_HIP_PARALLEL_TEAM_HPP -#define KOKKO_HIP_PARALLEL_TEAM_HPP - -#include - -#if defined(__HIPCC__) - -#include -#include -#include -#include - -namespace Kokkos { -namespace Impl { - -template -class TeamPolicyInternal - : public PolicyTraits { - public: - using execution_policy = TeamPolicyInternal; - - using traits = PolicyTraits; - - template - friend class TeamPolicyInternal; - - private: - typename traits::execution_space m_space; - int m_league_size; - int m_team_size; - int m_vector_length; - size_t m_team_scratch_size[2]; - size_t m_thread_scratch_size[2]; - int m_chunk_size; - bool m_tune_team_size; - bool m_tune_vector_length; - - public: - using execution_space = HIP; - - template - TeamPolicyInternal(TeamPolicyInternal const& p) { - m_league_size = p.m_league_size; - m_team_size = p.m_team_size; - m_vector_length = p.m_vector_length; - m_team_scratch_size[0] = p.m_team_scratch_size[0]; - m_team_scratch_size[1] = p.m_team_scratch_size[1]; - m_thread_scratch_size[0] = p.m_thread_scratch_size[0]; - m_thread_scratch_size[1] = p.m_thread_scratch_size[1]; - m_chunk_size = p.m_chunk_size; - m_space = p.m_space; - m_tune_team_size = p.m_tune_team_size; - m_tune_vector_length = p.m_tune_vector_length; - } - - template - int team_size_max(FunctorType const& f, ParallelForTag const&) const { - using closure_type = - Impl::ParallelFor>; - - return internal_team_size_common(f); - } - - template - inline int team_size_max(const FunctorType& f, - const ParallelReduceTag&) const { - using functor_analysis_type = - Impl::FunctorAnalysis; - using closure_type = Impl::ParallelReduce< - CombinedFunctorReducer, - TeamPolicy, Kokkos::HIP>; - return internal_team_size_common< - BlockType::Max, closure_type, - typename functor_analysis_type::value_type>(f); - } - - template - inline int team_size_max(const FunctorType& f, const ReducerType&, - const ParallelReduceTag&) const { - using closure_type = - Impl::ParallelReduce, - TeamPolicy, Kokkos::HIP>; - return internal_team_size_common(f); - } - - template - int team_size_recommended(FunctorType const& f, ParallelForTag const&) const { - using closure_type = - Impl::ParallelFor>; - - return internal_team_size_common( - f); - } - - template - inline int team_size_recommended(FunctorType const& f, - ParallelReduceTag const&) const { - using functor_analysis_type = - Impl::FunctorAnalysis; - using closure_type = Impl::ParallelReduce< - CombinedFunctorReducer, - TeamPolicy, Kokkos::HIP>; - return internal_team_size_common< - BlockType::Preferred, closure_type, - typename functor_analysis_type::value_type>(f); - } - - template - int team_size_recommended(FunctorType const& f, ReducerType const&, - ParallelReduceTag const&) const { - using closure_type = - Impl::ParallelReduce, - TeamPolicy, Kokkos::HIP>; - return internal_team_size_common(f); - } - - inline bool impl_auto_vector_length() const { return m_tune_vector_length; } - inline bool impl_auto_team_size() const { return m_tune_team_size; } - static int vector_length_max() { return HIPTraits::WarpSize; } - - static int verify_requested_vector_length(int requested_vector_length) { - int test_vector_length = - std::min(requested_vector_length, vector_length_max()); - - // Allow only power-of-two vector_length - if (!(is_integral_power_of_two(test_vector_length))) { - int test_pow2 = 1; - constexpr int warp_size = HIPTraits::WarpSize; - while (test_pow2 < warp_size) { - test_pow2 <<= 1; - if (test_pow2 > test_vector_length) { - break; - } - } - test_vector_length = test_pow2 >> 1; - } - - return test_vector_length; - } - - inline static int scratch_size_max(int level) { - // HIP Teams use (team_size + 2)*sizeof(double) shared memory for team - // reductions. They also use one int64_t in static shared memory for a - // shared ID. Furthermore, they use additional scratch memory in some - // reduction scenarios, which depend on the size of the value_type and is - // NOT captured here - constexpr size_t max_possible_team_size = 1024; - constexpr size_t max_reserved_shared_mem_per_team = - (max_possible_team_size + 2) * sizeof(double) + sizeof(int64_t); - // arbitrarily setting level 1 scratch limit to 20MB, for a - // MI250 that would give us about 4.4GB for 2 teams per CU - constexpr size_t max_l1_scratch_size = 20 * 1024 * 1024; - - size_t max_shmem = HIP().hip_device_prop().sharedMemPerBlock; - return (level == 0 ? max_shmem - max_reserved_shared_mem_per_team - : max_l1_scratch_size); - } - - inline void impl_set_vector_length(size_t size) { m_vector_length = size; } - inline void impl_set_team_size(size_t size) { m_team_size = size; } - int impl_vector_length() const { return m_vector_length; } - - int team_size() const { return m_team_size; } - - int league_size() const { return m_league_size; } - - size_t scratch_size(int level, int team_size_ = -1) const { - if (team_size_ < 0) team_size_ = m_team_size; - return m_team_scratch_size[level] + - team_size_ * m_thread_scratch_size[level]; - } - - size_t team_scratch_size(int level) const { - return m_team_scratch_size[level]; - } - - size_t thread_scratch_size(int level) const { - return m_thread_scratch_size[level]; - } - - typename traits::execution_space space() const { return m_space; } - - TeamPolicyInternal() - : m_space(typename traits::execution_space()), - m_league_size(0), - m_team_size(-1), - m_vector_length(0), - m_team_scratch_size{0, 0}, - m_thread_scratch_size{0, 0}, - m_chunk_size(HIPTraits::WarpSize), - m_tune_team_size(false), - m_tune_vector_length(false) {} - - /** \brief Specify league size, request team size */ - TeamPolicyInternal(const execution_space space_, int league_size_, - int team_size_request, int vector_length_request = 1) - : m_space(space_), - m_league_size(league_size_), - m_team_size(team_size_request), - m_vector_length( - (vector_length_request > 0) - ? verify_requested_vector_length(vector_length_request) - : (verify_requested_vector_length(1))), - m_team_scratch_size{0, 0}, - m_thread_scratch_size{0, 0}, - m_chunk_size(HIPTraits::WarpSize), - m_tune_team_size(bool(team_size_request <= 0)), - m_tune_vector_length(bool(vector_length_request <= 0)) { - // Make sure league size is permissible - if (league_size_ >= static_cast(hip_internal_maximum_grid_count()[0])) - Impl::throw_runtime_exception( - "Requested too large league_size for TeamPolicy on HIP execution " - "space."); - - // Make sure total block size is permissible - if (m_team_size * m_vector_length > HIPTraits::MaxThreadsPerBlock) { - Impl::throw_runtime_exception( - std::string("Kokkos::TeamPolicy< HIP > the team size is too large. " - "Team size x vector length must be smaller than 1024.")); - } - } - - /** \brief Specify league size, request team size */ - TeamPolicyInternal(const execution_space space_, int league_size_, - const Kokkos::AUTO_t& /* team_size_request */, - int vector_length_request = 1) - : TeamPolicyInternal(space_, league_size_, -1, vector_length_request) {} - // FLAG - /** \brief Specify league size and team size, request vector length*/ - TeamPolicyInternal(const execution_space space_, int league_size_, - int team_size_request, - const Kokkos::AUTO_t& /* vector_length_request */ - ) - : TeamPolicyInternal(space_, league_size_, team_size_request, -1) - - {} - - /** \brief Specify league size, request team size and vector length*/ - TeamPolicyInternal(const execution_space space_, int league_size_, - const Kokkos::AUTO_t& /* team_size_request */, - const Kokkos::AUTO_t& /* vector_length_request */ - - ) - : TeamPolicyInternal(space_, league_size_, -1, -1) - - {} - - TeamPolicyInternal(int league_size_, int team_size_request, - int vector_length_request = 1) - : TeamPolicyInternal(typename traits::execution_space(), league_size_, - team_size_request, vector_length_request) {} - - TeamPolicyInternal(int league_size_, - const Kokkos::AUTO_t& /* team_size_request */, - int vector_length_request = 1) - : TeamPolicyInternal(typename traits::execution_space(), league_size_, -1, - vector_length_request) {} - - /** \brief Specify league size and team size, request vector length*/ - TeamPolicyInternal(int league_size_, int team_size_request, - const Kokkos::AUTO_t& /* vector_length_request */ - - ) - : TeamPolicyInternal(typename traits::execution_space(), league_size_, - team_size_request, -1) - - {} - - /** \brief Specify league size, request team size and vector length*/ - TeamPolicyInternal(int league_size_, - const Kokkos::AUTO_t& /* team_size_request */, - const Kokkos::AUTO_t& /* vector_length_request */ - - ) - : TeamPolicyInternal(typename traits::execution_space(), league_size_, -1, - -1) {} - - int chunk_size() const { return m_chunk_size; } - - TeamPolicyInternal& set_chunk_size(typename traits::index_type chunk_size_) { - m_chunk_size = chunk_size_; - return *this; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - TeamPolicyInternal& set_scratch_size(int level, - PerTeamValue const& per_team) { - m_team_scratch_size[level] = per_team.value; - return *this; - } - - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - TeamPolicyInternal& set_scratch_size(int level, - PerThreadValue const& per_thread) { - m_thread_scratch_size[level] = per_thread.value; - return *this; - } - - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - TeamPolicyInternal& set_scratch_size(int level, PerTeamValue const& per_team, - PerThreadValue const& per_thread) { - m_team_scratch_size[level] = per_team.value; - m_thread_scratch_size[level] = per_thread.value; - return *this; - } - - using member_type = Kokkos::Impl::HIPTeamMember; - - protected: - template - int internal_team_size_common(FunctorType const& f) const { - const unsigned shmem_block = team_scratch_size(0) + 2 * sizeof(double); - unsigned shmem_thread = thread_scratch_size(0) + sizeof(double); - using Tag = typename PatternTagFromImplSpecialization::type; - if constexpr (std::is_same_v) { - using Interface = - typename Impl::DeduceFunctorPatternInterface::type; - using Analysis = - Impl::FunctorAnalysis; - shmem_thread += - ((Analysis::StaticValueSize != 0) ? 0 : Analysis::value_size(f)); - } - const int vector_length = impl_vector_length(); - - const auto functor = [&f, shmem_block, shmem_thread, vector_length]( - const hipFuncAttributes& attr, int block_size) { - int functor_shmem = - ::Kokkos::Impl::FunctorTeamShmemSize::value( - f, block_size / vector_length); - return shmem_block + shmem_thread * (block_size / vector_length) + - functor_shmem + attr.sharedSizeBytes; - }; - int block_size; - if constexpr (BlockSize == BlockType::Max) { - block_size = hip_get_max_team_blocksize( - space().impl_internal_space_instance(), functor); - } else { - block_size = - hip_get_preferred_team_blocksize( - space().impl_internal_space_instance(), functor); - } - - if (block_size == 0) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::ParallelFor/Reduce< HIP > could not find a valid " - "team size.")); - } - if constexpr (std::is_same_v) { - return block_size / impl_vector_length(); - } else { - // Currently we require Power-of-2 team size for reductions. - int p2 = 1; - while (p2 <= block_size) p2 *= 2; - p2 /= 2; - return p2 / impl_vector_length(); - } - } -}; - -__device__ inline int64_t hip_get_scratch_index(HIP::size_type league_size, - int32_t* scratch_locks, - size_t num_scratch_locks) { - int64_t threadid = 0; - __shared__ int64_t base_thread_id; - if (threadIdx.x == 0 && threadIdx.y == 0) { - int64_t const wraparound_len = - Kokkos::min(int64_t(league_size), - int64_t(num_scratch_locks) / (blockDim.x * blockDim.y)); - threadid = (blockIdx.x * blockDim.z + threadIdx.z) % wraparound_len; - threadid *= blockDim.x * blockDim.y; - int done = 0; - while (!done) { - done = (0 == atomicCAS(&scratch_locks[threadid], 0, 1)); - if (!done) { - threadid += blockDim.x * blockDim.y; - if (int64_t(threadid + blockDim.x * blockDim.y) >= - wraparound_len * blockDim.x * blockDim.y) - threadid = 0; - } - } - base_thread_id = threadid; - } - __syncthreads(); - threadid = base_thread_id; - return threadid; -} - -__device__ inline void hip_release_scratch_index(int32_t* scratch_locks, - int64_t threadid) { - __syncthreads(); - if (threadIdx.x == 0 && threadIdx.y == 0) { - scratch_locks[threadid] = 0; - } -} - -template -class ParallelFor, HIP> { - public: - using Policy = TeamPolicy; - using functor_type = FunctorType; - using size_type = HIP::size_type; - - private: - using member_type = typename Policy::member_type; - using work_tag = typename Policy::work_tag; - using launch_bounds = typename Policy::launch_bounds; - - // Algorithmic constraints: blockDim.y is a power of two AND - // blockDim.y == blockDim.z == 1 shared memory utilization: - // - // [ team reduce space ] - // [ team shared space ] - - FunctorType const m_functor; - Policy const m_policy; - size_type const m_league_size; - int m_team_size; - size_type const m_vector_size; - int m_shmem_begin; - int m_shmem_size; - void* m_scratch_ptr[2]; - size_t m_scratch_size[2]; - int m_scratch_pool_id = -1; - int32_t* m_scratch_locks; - size_t m_num_scratch_locks; - - template - __device__ inline std::enable_if_t::value> exec_team( - const member_type& member) const { - m_functor(member); - } - - template - __device__ inline std::enable_if_t::value> exec_team( - const member_type& member) const { - m_functor(TagType(), member); - } - - public: - ParallelFor() = delete; - ParallelFor(ParallelFor const&) = default; - ParallelFor& operator=(ParallelFor const&) = delete; - - __device__ inline void operator()() const { - // Iterate this block through the league - int64_t threadid = 0; - if (m_scratch_size[1] > 0) { - threadid = hip_get_scratch_index(m_league_size, m_scratch_locks, - m_num_scratch_locks); - } - - int const int_league_size = static_cast(m_league_size); - for (int league_rank = blockIdx.x; league_rank < int_league_size; - league_rank += gridDim.x) { - this->template exec_team(typename Policy::member_type( - kokkos_impl_hip_shared_memory(), m_shmem_begin, m_shmem_size, - static_cast(static_cast(m_scratch_ptr[1]) + - ptrdiff_t(threadid / (blockDim.x * blockDim.y)) * - m_scratch_size[1]), - m_scratch_size[1], league_rank, m_league_size)); - } - if (m_scratch_size[1] > 0) { - hip_release_scratch_index(m_scratch_locks, threadid); - } - } - - inline void execute() const { - int64_t const shmem_size_total = m_shmem_begin + m_shmem_size; - dim3 const grid(static_cast(m_league_size), 1, 1); - dim3 const block(static_cast(m_vector_size), - static_cast(m_team_size), 1); - - using closure_type = - ParallelFor, HIP>; - Impl::hip_parallel_launch( - *this, grid, block, shmem_size_total, - m_policy.space().impl_internal_space_instance(), - true); // copy to device and execute - } - - ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) - : m_functor(arg_functor), - m_policy(arg_policy), - m_league_size(arg_policy.league_size()), - m_team_size(arg_policy.team_size()), - m_vector_size(arg_policy.impl_vector_length()) { - auto internal_space_instance = - m_policy.space().impl_internal_space_instance(); - m_team_size = m_team_size >= 0 ? m_team_size - : arg_policy.team_size_recommended( - arg_functor, ParallelForTag()); - - m_shmem_begin = (sizeof(double) * (m_team_size + 2)); - m_shmem_size = - (m_policy.scratch_size(0, m_team_size) + - FunctorTeamShmemSize::value(m_functor, m_team_size)); - m_scratch_size[0] = m_policy.scratch_size(0, m_team_size); - m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); - m_scratch_locks = internal_space_instance->m_scratch_locks; - m_num_scratch_locks = internal_space_instance->m_num_scratch_locks; - - // Functor's reduce memory, team scan memory, and team shared memory depend - // upon team size. - m_scratch_ptr[0] = nullptr; - if (m_team_size <= 0) { - m_scratch_ptr[1] = nullptr; - } else { - m_scratch_pool_id = internal_space_instance->acquire_team_scratch_space(); - m_scratch_ptr[1] = internal_space_instance->resize_team_scratch_space( - m_scratch_pool_id, - static_cast(m_scratch_size[1]) * - (std::min( - static_cast(HIP().concurrency() / - (m_team_size * m_vector_size)), - static_cast(m_league_size)))); - } - - int const shmem_size_total = m_shmem_begin + m_shmem_size; - if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::ParallelFor< HIP > insufficient shared memory")); - } - - size_t max_size = arg_policy.team_size_max(arg_functor, ParallelForTag()); - if (static_cast(m_team_size) > static_cast(max_size)) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::ParallelFor< HIP > requested too large team size.")); - } - } - - ~ParallelFor() { - if (m_scratch_pool_id >= 0) { - m_policy.space() - .impl_internal_space_instance() - ->release_team_scratch_space(m_scratch_pool_id); - } - } -}; - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -template -class ParallelReduce, HIP> { - public: - using Policy = TeamPolicyInternal; - using FunctorType = typename CombinedFunctorReducerType::functor_type; - using ReducerType = typename CombinedFunctorReducerType::reducer_type; - - private: - using member_type = typename Policy::member_type; - using work_tag = typename Policy::work_tag; - using launch_bounds = typename Policy::launch_bounds; - - using pointer_type = typename ReducerType::pointer_type; - using reference_type = typename ReducerType::reference_type; - using value_type = typename ReducerType::value_type; - - public: - using functor_type = FunctorType; - using size_type = HIP::size_type; - - // static int constexpr UseShflReduction = false; - // FIXME_HIP This should be disabled unconditionally for best performance, but - // it currently causes tests to fail. - static constexpr int UseShflReduction = - (ReducerType::static_value_size() != 0); - - private: - struct ShflReductionTag {}; - struct SHMEMReductionTag {}; - - // Algorithmic constraints: blockDim.y is a power of two AND - // blockDim.y == blockDim.z == 1 shared memory utilization: - // - // [ global reduce space ] - // [ team reduce space ] - // [ team shared space ] - // - - const CombinedFunctorReducerType m_functor_reducer; - const Policy m_policy; - const pointer_type m_result_ptr; - const bool m_result_ptr_device_accessible; - const bool m_result_ptr_host_accessible; - size_type* m_scratch_space; - size_type* m_scratch_flags; - size_type m_team_begin; - size_type m_shmem_begin; - size_type m_shmem_size; - void* m_scratch_ptr[2]; - size_t m_scratch_size[2]; - int m_scratch_pool_id = -1; - int32_t* m_scratch_locks; - size_t m_num_scratch_locks; - const size_type m_league_size; - int m_team_size; - const size_type m_vector_size; - - template - __device__ inline std::enable_if_t::value> exec_team( - member_type const& member, reference_type update) const { - m_functor_reducer.get_functor()(member, update); - } - - template - __device__ inline std::enable_if_t::value> exec_team( - member_type const& member, reference_type update) const { - m_functor_reducer.get_functor()(TagType(), member, update); - } - - __device__ inline void iterate_through_league(int const threadid, - reference_type value) const { - int const int_league_size = static_cast(m_league_size); - for (int league_rank = blockIdx.x; league_rank < int_league_size; - league_rank += gridDim.x) { - this->template exec_team( - member_type( - kokkos_impl_hip_shared_memory() + m_team_begin, - m_shmem_begin, m_shmem_size, - reinterpret_cast( - reinterpret_cast(m_scratch_ptr[1]) + - static_cast(threadid / (blockDim.x * blockDim.y)) * - m_scratch_size[1]), - m_scratch_size[1], league_rank, m_league_size), - value); - } - } - - int compute_block_count() const { - constexpr auto light_weight = - Kokkos::Experimental::WorkItemProperty::HintLightWeight; - constexpr typename Policy::work_item_property property; - // Numbers were tuned on MI210 using dot product and yAx benchmarks - constexpr int block_max = - (property & light_weight) == light_weight ? 2097152 : 65536; - constexpr int preferred_block_min = 1024; - int block_count = m_league_size; - if (block_count < preferred_block_min) { - // keep blocks as is, already low parallelism - } else if (block_count >= block_max) { - block_count = block_max; - - } else { - int nwork = m_league_size * m_team_size; - int items_per_thread = - (nwork + block_count * m_team_size - 1) / (block_count * m_team_size); - if (items_per_thread < 4) { - int ratio = std::min( - (block_count + preferred_block_min - 1) / preferred_block_min, - (4 + items_per_thread - 1) / items_per_thread); - block_count /= ratio; - } - } - - return block_count; - } - - public: - __device__ inline void operator()() const { - int64_t threadid = 0; - if (m_scratch_size[1] > 0) { - threadid = hip_get_scratch_index(m_league_size, m_scratch_locks, - m_num_scratch_locks); - } - - using ReductionTag = std::conditional_t; - run(ReductionTag{}, threadid); - - if (m_scratch_size[1] > 0) { - hip_release_scratch_index(m_scratch_locks, threadid); - } - } - - __device__ inline void run(SHMEMReductionTag, int const threadid) const { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - integral_nonzero_constant const - word_count(reducer.value_size() / sizeof(size_type)); - - reference_type value = - reducer.init(kokkos_impl_hip_shared_memory() + - threadIdx.y * word_count.value); - // Iterate this block through the league - iterate_through_league(threadid, value); - - // Reduce with final value at blockDim.y - 1 location. - bool do_final_reduce = (m_league_size == 0); - if (!do_final_reduce) - do_final_reduce = - hip_single_inter_block_reduce_scan( - reducer, blockIdx.x, gridDim.x, - kokkos_impl_hip_shared_memory(), m_scratch_space, - m_scratch_flags); - if (do_final_reduce) { - // This is the final block with the final result at the final threads' - // location - - size_type* const shared = kokkos_impl_hip_shared_memory() + - (blockDim.y - 1) * word_count.value; - size_type* const global = m_result_ptr_device_accessible - ? reinterpret_cast(m_result_ptr) - : m_scratch_space; - - if (threadIdx.y == 0) { - reducer.final(reinterpret_cast(shared)); - } - - if (HIPTraits::WarpSize < word_count.value) { - __syncthreads(); - } - - for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { - global[i] = shared[i]; - } - } - } - - __device__ inline void run(ShflReductionTag, int const threadid) const { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - value_type value; - reducer.init(&value); - - // Iterate this block through the league - iterate_through_league(threadid, value); - - pointer_type const result = - m_result_ptr_device_accessible - ? m_result_ptr - : reinterpret_cast(m_scratch_space); - - value_type init; - reducer.init(&init); - if (m_league_size == 0) { - reducer.final(&value); - *result = value; - } else if (Impl::hip_inter_block_shuffle_reduction( - value, init, reducer, m_scratch_space, result, - m_scratch_flags, blockDim.y)) { - unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; - if (id == 0) { - reducer.final(&value); - *result = value; - } - } - } - - inline void execute() { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - const bool is_empty_range = m_league_size == 0 || m_team_size == 0; - const bool need_device_set = ReducerType::has_init_member_function() || - ReducerType::has_final_member_function() || - !m_result_ptr_host_accessible || - Policy::is_graph_kernel::value || - !std::is_same::value; - if (!is_empty_range || need_device_set) { - int const block_count = compute_block_count(); - - m_scratch_space = hip_internal_scratch_space( - m_policy.space(), reducer.value_size() * block_count); - m_scratch_flags = - hip_internal_scratch_flags(m_policy.space(), sizeof(size_type)); - - dim3 block(m_vector_size, m_team_size, 1); - dim3 grid(block_count, 1, 1); - if (is_empty_range) { - block = dim3(1, 1, 1); - grid = dim3(1, 1, 1); - } - const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; - - Impl::hip_parallel_launch( - *this, grid, block, shmem_size_total, - m_policy.space().impl_internal_space_instance(), - true); // copy to device and execute - - if (!m_result_ptr_device_accessible) { - m_policy.space().impl_internal_space_instance()->fence(); - - if (m_result_ptr) { - const int size = reducer.value_size(); - DeepCopy(m_result_ptr, m_scratch_space, size); - } - } - } else { - if (m_result_ptr) { - reducer.init(m_result_ptr); - } - } - } - - template - ParallelReduce(CombinedFunctorReducerType const& arg_functor_reducer, - Policy const& arg_policy, ViewType const& arg_result) - : m_functor_reducer(arg_functor_reducer), - m_policy(arg_policy), - m_result_ptr(arg_result.data()), - m_result_ptr_device_accessible( - MemorySpaceAccess::accessible), - m_result_ptr_host_accessible( - MemorySpaceAccess::accessible), - m_scratch_space(nullptr), - m_scratch_flags(nullptr), - m_team_begin(0), - m_shmem_begin(0), - m_shmem_size(0), - m_scratch_ptr{nullptr, nullptr}, - m_league_size(arg_policy.league_size()), - m_team_size(arg_policy.team_size()), - m_vector_size(arg_policy.impl_vector_length()) { - auto internal_space_instance = - m_policy.space().impl_internal_space_instance(); - m_team_size = m_team_size >= 0 ? m_team_size - : arg_policy.team_size_recommended( - arg_functor_reducer.get_functor(), - arg_functor_reducer.get_reducer(), - ParallelReduceTag()); - - m_team_begin = - UseShflReduction - ? 0 - : hip_single_inter_block_reduce_scan_shmem( - arg_functor_reducer.get_functor(), m_team_size); - m_shmem_begin = sizeof(double) * (m_team_size + 2); - m_shmem_size = m_policy.scratch_size(0, m_team_size) + - FunctorTeamShmemSize::value( - arg_functor_reducer.get_functor(), m_team_size); - m_scratch_size[0] = m_shmem_size; - m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); - m_scratch_locks = internal_space_instance->m_scratch_locks; - m_num_scratch_locks = internal_space_instance->m_num_scratch_locks; - if (m_team_size <= 0) { - m_scratch_ptr[1] = nullptr; - } else { - m_scratch_pool_id = internal_space_instance->acquire_team_scratch_space(); - m_scratch_ptr[1] = internal_space_instance->resize_team_scratch_space( - m_scratch_pool_id, - static_cast(m_scratch_size[1]) * - (std::min( - static_cast(HIP().concurrency() / - (m_team_size * m_vector_size)), - static_cast(m_league_size)))); - } - - // The global parallel_reduce does not support vector_length other than 1 at - // the moment - if ((arg_policy.impl_vector_length() > 1) && !UseShflReduction) - Impl::throw_runtime_exception( - "Kokkos::parallel_reduce with a TeamPolicy using a vector length of " - "greater than 1 is not currently supported for HIP for dynamic " - "sized reduction types."); - - if ((m_team_size < HIPTraits::WarpSize) && !UseShflReduction) - Impl::throw_runtime_exception( - "Kokkos::parallel_reduce with a TeamPolicy using a team_size smaller " - "than 64 is not currently supported with HIP for dynamic sized " - "reduction types."); - - // Functor's reduce memory, team scan memory, and team shared memory depend - // upon team size. - - const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; - - if (!Kokkos::Impl::is_integral_power_of_two(m_team_size) && - !UseShflReduction) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelReduce< HIP > bad team size")); - } - - if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelReduce< HIP > requested too much " - "L0 scratch memory")); - } - - size_t max_size = arg_policy.team_size_max( - arg_functor_reducer.get_functor(), arg_functor_reducer.get_reducer(), - ParallelReduceTag()); - if (static_cast(m_team_size) > static_cast(max_size)) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelReduce< HIP > requested too " - "large team size.")); - } - } - - ~ParallelReduce() { - if (m_scratch_pool_id >= 0) { - m_policy.space() - .impl_internal_space_instance() - ->release_team_scratch_space(m_scratch_pool_id); - } - } -}; -} // namespace Impl -} // namespace Kokkos - -#endif - -#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.cpp index ea599989e7..ab24004f5f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.cpp @@ -18,138 +18,14 @@ #define KOKKOS_IMPL_PUBLIC_INCLUDE #endif -#include -#include #include +#include +#include +#include -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord - SharedAllocationRecord::s_root_record; - -SharedAllocationRecord - SharedAllocationRecord::s_root_record; - -SharedAllocationRecord - SharedAllocationRecord::s_root_record; -#endif - -SharedAllocationRecord::~SharedAllocationRecord() { - auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, (alloc_size - sizeof(SharedAllocationHeader))); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size); -} - -SharedAllocationRecord::SharedAllocationRecord( - const HIPSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - HIP exec; - Kokkos::Impl::DeepCopy( - exec, RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - exec.fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -SharedAllocationRecord::SharedAllocationRecord( - const HIP& arg_exec_space, const HIPSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - Kokkos::Impl::DeepCopy(arg_exec_space, - RecordBase::m_alloc_ptr, &header, - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord::SharedAllocationRecord( - const HIPHostPinnedSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - // Fill in the Header information, directly accessible via host pinned memory - this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord::SharedAllocationRecord( - const HIPManagedSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - // Fill in the Header information, directly accessible via managed memory - this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, - arg_label); -} - -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::HIPSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::HIPHostPinnedSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::HIPManagedSpace); diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.hpp index e68bad9723..fbae518834 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.hpp @@ -18,120 +18,11 @@ #define KOKKOS_HIP_SHARED_ALLOCATION_RECORD_HPP #include +#include -namespace Kokkos { -namespace Impl { - -template <> -class SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - friend class HostInaccessibleSharedAllocationRecordCommon; - using base_t = HostInaccessibleSharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const HIPSpace m_space; - - protected: - ~SharedAllocationRecord(); - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec*/, const HIPSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const HIP& exec_space, const HIPSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const HIPSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - using base_t = SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const HIPHostPinnedSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, const HIPHostPinnedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const HIPHostPinnedSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - using base_t = SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const HIPManagedSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, const HIPManagedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const HIPManagedSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::HIPSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::HIPHostPinnedSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::HIPManagedSpace); #endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp index 7f6aa0d8e8..e8bdfca66f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp @@ -24,10 +24,8 @@ #include #include -#include #include -#include #include #include @@ -287,22 +285,3 @@ void HIPManagedSpace::impl_deallocate( } } // namespace Kokkos - -/*--------------------------------------------------------------------------*/ -/*--------------------------------------------------------------------------*/ - -#include - -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class HostInaccessibleSharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; - -} // end namespace Impl -} // end namespace Kokkos diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp index f3e5adf87e..7f2004e5cb 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp @@ -65,6 +65,15 @@ class HIPSpace { ~HIPSpace() = default; /**\brief Allocate untracked memory in the hip space */ + // FIXME_HIP Use execution space instance + void* allocate(const HIP&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + // FIXME_HIP Use execution space instance + void* allocate(const HIP&, const char* arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -76,8 +85,6 @@ class HIPSpace { const size_t arg_logical_size = 0) const; private: - template - friend class LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -94,8 +101,6 @@ class HIPSpace { private: int m_device; ///< Which HIP device - - friend class Kokkos::Impl::SharedAllocationRecord; }; template <> @@ -129,6 +134,16 @@ class HIPHostPinnedSpace { ~HIPHostPinnedSpace() = default; /**\brief Allocate untracked memory in the space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -140,8 +155,6 @@ class HIPHostPinnedSpace { const size_t arg_logical_size = 0) const; private: - template - friend class LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -194,6 +207,16 @@ class HIPManagedSpace { ~HIPManagedSpace() = default; /**\brief Allocate untracked memory in the space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -209,8 +232,6 @@ class HIPManagedSpace { private: int m_device; ///< Which HIP device - template - friend class LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -239,8 +260,7 @@ struct Impl::is_hip_type_space : public std::true_type {}; namespace Kokkos { namespace Impl { -static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); +static_assert(Kokkos::Impl::MemorySpaceAccess::assignable); //---------------------------------------- diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp new file mode 100644 index 0000000000..67e1181125 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp @@ -0,0 +1,421 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_TEAM_POLICY_INTERNAL_HPP +#define KOKKOS_HIP_TEAM_POLICY_INTERNAL_HPP + +#include + +namespace Kokkos { +namespace Impl { + +template +class TeamPolicyInternal + : public PolicyTraits { + public: + using execution_policy = TeamPolicyInternal; + + using traits = PolicyTraits; + + template + friend class TeamPolicyInternal; + + private: + typename traits::execution_space m_space; + int m_league_size; + int m_team_size; + int m_vector_length; + size_t m_team_scratch_size[2]; + size_t m_thread_scratch_size[2]; + int m_chunk_size; + bool m_tune_team_size; + bool m_tune_vector_length; + + public: + using execution_space = HIP; + + template + TeamPolicyInternal(TeamPolicyInternal const& p) { + m_league_size = p.m_league_size; + m_team_size = p.m_team_size; + m_vector_length = p.m_vector_length; + m_team_scratch_size[0] = p.m_team_scratch_size[0]; + m_team_scratch_size[1] = p.m_team_scratch_size[1]; + m_thread_scratch_size[0] = p.m_thread_scratch_size[0]; + m_thread_scratch_size[1] = p.m_thread_scratch_size[1]; + m_chunk_size = p.m_chunk_size; + m_space = p.m_space; + m_tune_team_size = p.m_tune_team_size; + m_tune_vector_length = p.m_tune_vector_length; + } + + template + int team_size_max(FunctorType const& f, ParallelForTag const&) const { + using closure_type = + Impl::ParallelFor>; + + return internal_team_size_common(f); + } + + template + inline int team_size_max(const FunctorType& f, + const ParallelReduceTag&) const { + using functor_analysis_type = + Impl::FunctorAnalysis; + using closure_type = Impl::ParallelReduce< + CombinedFunctorReducer, + TeamPolicy, Kokkos::HIP>; + return internal_team_size_common< + BlockType::Max, closure_type, + typename functor_analysis_type::value_type>(f); + } + + template + inline int team_size_max(const FunctorType& f, const ReducerType&, + const ParallelReduceTag&) const { + using closure_type = + Impl::ParallelReduce, + TeamPolicy, Kokkos::HIP>; + return internal_team_size_common(f); + } + + template + int team_size_recommended(FunctorType const& f, ParallelForTag const&) const { + using closure_type = + Impl::ParallelFor>; + + return internal_team_size_common( + f); + } + + template + inline int team_size_recommended(FunctorType const& f, + ParallelReduceTag const&) const { + using functor_analysis_type = + Impl::FunctorAnalysis; + using closure_type = Impl::ParallelReduce< + CombinedFunctorReducer, + TeamPolicy, Kokkos::HIP>; + return internal_team_size_common< + BlockType::Preferred, closure_type, + typename functor_analysis_type::value_type>(f); + } + + template + int team_size_recommended(FunctorType const& f, ReducerType const&, + ParallelReduceTag const&) const { + using closure_type = + Impl::ParallelReduce, + TeamPolicy, Kokkos::HIP>; + return internal_team_size_common(f); + } + + inline bool impl_auto_vector_length() const { return m_tune_vector_length; } + inline bool impl_auto_team_size() const { return m_tune_team_size; } + static int vector_length_max() { return HIPTraits::WarpSize; } + + static int verify_requested_vector_length(int requested_vector_length) { + int test_vector_length = + std::min(requested_vector_length, vector_length_max()); + + // Allow only power-of-two vector_length + if (!(is_integral_power_of_two(test_vector_length))) { + int test_pow2 = 1; + constexpr int warp_size = HIPTraits::WarpSize; + while (test_pow2 < warp_size) { + test_pow2 <<= 1; + if (test_pow2 > test_vector_length) { + break; + } + } + test_vector_length = test_pow2 >> 1; + } + + return test_vector_length; + } + + inline static int scratch_size_max(int level) { + // HIP Teams use (team_size + 2)*sizeof(double) shared memory for team + // reductions. They also use one int64_t in static shared memory for a + // shared ID. Furthermore, they use additional scratch memory in some + // reduction scenarios, which depend on the size of the value_type and is + // NOT captured here + constexpr size_t max_possible_team_size = 1024; + constexpr size_t max_reserved_shared_mem_per_team = + (max_possible_team_size + 2) * sizeof(double) + sizeof(int64_t); + // arbitrarily setting level 1 scratch limit to 20MB, for a + // MI250 that would give us about 4.4GB for 2 teams per CU + constexpr size_t max_l1_scratch_size = 20 * 1024 * 1024; + + size_t max_shmem = HIP().hip_device_prop().sharedMemPerBlock; + return (level == 0 ? max_shmem - max_reserved_shared_mem_per_team + : max_l1_scratch_size); + } + + inline void impl_set_vector_length(size_t size) { m_vector_length = size; } + inline void impl_set_team_size(size_t size) { m_team_size = size; } + int impl_vector_length() const { return m_vector_length; } + + int team_size() const { return m_team_size; } + + int league_size() const { return m_league_size; } + + size_t scratch_size(int level, int team_size_ = -1) const { + if (team_size_ < 0) team_size_ = m_team_size; + return m_team_scratch_size[level] + + team_size_ * m_thread_scratch_size[level]; + } + + size_t team_scratch_size(int level) const { + return m_team_scratch_size[level]; + } + + size_t thread_scratch_size(int level) const { + return m_thread_scratch_size[level]; + } + + typename traits::execution_space space() const { return m_space; } + + TeamPolicyInternal() + : m_space(typename traits::execution_space()), + m_league_size(0), + m_team_size(-1), + m_vector_length(0), + m_team_scratch_size{0, 0}, + m_thread_scratch_size{0, 0}, + m_chunk_size(HIPTraits::WarpSize), + m_tune_team_size(false), + m_tune_vector_length(false) {} + + /** \brief Specify league size, request team size */ + TeamPolicyInternal(const execution_space space_, int league_size_, + int team_size_request, int vector_length_request = 1) + : m_space(space_), + m_league_size(league_size_), + m_team_size(team_size_request), + m_vector_length( + (vector_length_request > 0) + ? verify_requested_vector_length(vector_length_request) + : (verify_requested_vector_length(1))), + m_team_scratch_size{0, 0}, + m_thread_scratch_size{0, 0}, + m_chunk_size(HIPTraits::WarpSize), + m_tune_team_size(bool(team_size_request <= 0)), + m_tune_vector_length(bool(vector_length_request <= 0)) { + // Make sure league size is permissible + if (league_size_ >= static_cast(hip_internal_maximum_grid_count()[0])) + Impl::throw_runtime_exception( + "Requested too large league_size for TeamPolicy on HIP execution " + "space."); + + // Make sure total block size is permissible + if (m_team_size * m_vector_length > HIPTraits::MaxThreadsPerBlock) { + Impl::throw_runtime_exception( + std::string("Kokkos::TeamPolicy< HIP > the team size is too large. " + "Team size x vector length must be smaller than 1024.")); + } + } + + /** \brief Specify league size, request team size */ + TeamPolicyInternal(const execution_space space_, int league_size_, + const Kokkos::AUTO_t& /* team_size_request */, + int vector_length_request = 1) + : TeamPolicyInternal(space_, league_size_, -1, vector_length_request) {} + // FLAG + /** \brief Specify league size and team size, request vector length*/ + TeamPolicyInternal(const execution_space space_, int league_size_, + int team_size_request, + const Kokkos::AUTO_t& /* vector_length_request */ + ) + : TeamPolicyInternal(space_, league_size_, team_size_request, -1) + + {} + + /** \brief Specify league size, request team size and vector length*/ + TeamPolicyInternal(const execution_space space_, int league_size_, + const Kokkos::AUTO_t& /* team_size_request */, + const Kokkos::AUTO_t& /* vector_length_request */ + + ) + : TeamPolicyInternal(space_, league_size_, -1, -1) + + {} + + TeamPolicyInternal(int league_size_, int team_size_request, + int vector_length_request = 1) + : TeamPolicyInternal(typename traits::execution_space(), league_size_, + team_size_request, vector_length_request) {} + + TeamPolicyInternal(int league_size_, + const Kokkos::AUTO_t& /* team_size_request */, + int vector_length_request = 1) + : TeamPolicyInternal(typename traits::execution_space(), league_size_, -1, + vector_length_request) {} + + /** \brief Specify league size and team size, request vector length*/ + TeamPolicyInternal(int league_size_, int team_size_request, + const Kokkos::AUTO_t& /* vector_length_request */ + + ) + : TeamPolicyInternal(typename traits::execution_space(), league_size_, + team_size_request, -1) + + {} + + /** \brief Specify league size, request team size and vector length*/ + TeamPolicyInternal(int league_size_, + const Kokkos::AUTO_t& /* team_size_request */, + const Kokkos::AUTO_t& /* vector_length_request */ + + ) + : TeamPolicyInternal(typename traits::execution_space(), league_size_, -1, + -1) {} + + int chunk_size() const { return m_chunk_size; } + + TeamPolicyInternal& set_chunk_size(typename traits::index_type chunk_size_) { + m_chunk_size = chunk_size_; + return *this; + } + + /** \brief set per team scratch size for a specific level of the scratch + * hierarchy */ + TeamPolicyInternal& set_scratch_size(int level, + PerTeamValue const& per_team) { + m_team_scratch_size[level] = per_team.value; + return *this; + } + + /** \brief set per thread scratch size for a specific level of the scratch + * hierarchy */ + TeamPolicyInternal& set_scratch_size(int level, + PerThreadValue const& per_thread) { + m_thread_scratch_size[level] = per_thread.value; + return *this; + } + + /** \brief set per thread and per team scratch size for a specific level of + * the scratch hierarchy */ + TeamPolicyInternal& set_scratch_size(int level, PerTeamValue const& per_team, + PerThreadValue const& per_thread) { + m_team_scratch_size[level] = per_team.value; + m_thread_scratch_size[level] = per_thread.value; + return *this; + } + + using member_type = Kokkos::Impl::HIPTeamMember; + + protected: + template + int internal_team_size_common(FunctorType const& f) const { + const unsigned shmem_block = team_scratch_size(0) + 2 * sizeof(double); + unsigned shmem_thread = thread_scratch_size(0) + sizeof(double); + using Tag = typename PatternTagFromImplSpecialization::type; + if constexpr (std::is_same_v) { + using Interface = + typename Impl::DeduceFunctorPatternInterface::type; + using Analysis = + Impl::FunctorAnalysis; + shmem_thread += + ((Analysis::StaticValueSize != 0) ? 0 : Analysis::value_size(f)); + } + const int vector_length = impl_vector_length(); + + const auto functor = [&f, shmem_block, shmem_thread, vector_length]( + const hipFuncAttributes& attr, int block_size) { + int functor_shmem = + ::Kokkos::Impl::FunctorTeamShmemSize::value( + f, block_size / vector_length); + return shmem_block + shmem_thread * (block_size / vector_length) + + functor_shmem + attr.sharedSizeBytes; + }; + int block_size; + if constexpr (BlockSize == BlockType::Max) { + block_size = hip_get_max_team_blocksize( + space().impl_internal_space_instance(), functor); + } else { + block_size = + hip_get_preferred_team_blocksize( + space().impl_internal_space_instance(), functor); + } + + if (block_size == 0) { + Kokkos::Impl::throw_runtime_exception(std::string( + "Kokkos::Impl::ParallelFor/Reduce< HIP > could not find a valid " + "team size.")); + } + if constexpr (std::is_same_v) { + return block_size / impl_vector_length(); + } else { + // Currently we require Power-of-2 team size for reductions. + int p2 = 1; + while (p2 <= block_size) p2 *= 2; + p2 /= 2; + return p2 / impl_vector_length(); + } + } +}; + +__device__ inline int64_t hip_get_scratch_index(HIP::size_type league_size, + int32_t* scratch_locks, + size_t num_scratch_locks) { + int64_t threadid = 0; + __shared__ int64_t base_thread_id; + if (threadIdx.x == 0 && threadIdx.y == 0) { + int64_t const wraparound_len = + Kokkos::min(int64_t(league_size), + int64_t(num_scratch_locks) / (blockDim.x * blockDim.y)); + threadid = (blockIdx.x * blockDim.z + threadIdx.z) % wraparound_len; + threadid *= blockDim.x * blockDim.y; + int done = 0; + while (!done) { + done = (0 == atomicCAS(&scratch_locks[threadid], 0, 1)); + if (!done) { + threadid += blockDim.x * blockDim.y; + if (int64_t(threadid + blockDim.x * blockDim.y) >= + wraparound_len * blockDim.x * blockDim.y) + threadid = 0; + } + } + base_thread_id = threadid; + } + __syncthreads(); + threadid = base_thread_id; + return threadid; +} + +__device__ inline void hip_release_scratch_index(int32_t* scratch_locks, + int64_t threadid) { + __syncthreads(); + if (threadIdx.x == 0 && threadIdx.y == 0) { + scratch_locks[threadid] = 0; + } +} + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp index 313e5f5217..3d70b59646 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp @@ -19,7 +19,6 @@ #include #include -#include namespace Kokkos { diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ZeroMemset.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ZeroMemset.hpp index 5c40d0fbc8..4bca29868f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_ZeroMemset.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ZeroMemset.hpp @@ -25,19 +25,11 @@ namespace Impl { template struct ZeroMemset> { - ZeroMemset(const HIP& exec_space, const View& dst, - typename View::const_value_type&) { + ZeroMemset(const HIP& exec_space, const View& dst) { KOKKOS_IMPL_HIP_SAFE_CALL(hipMemsetAsync( dst.data(), 0, dst.size() * sizeof(typename View::value_type), exec_space.hip_stream())); } - - ZeroMemset(const View& dst, - typename View::const_value_type&) { - KOKKOS_IMPL_HIP_SAFE_CALL( - hipMemset(dst.data(), 0, - dst.size() * sizeof(typename View::value_type))); - } }; } // namespace Impl diff --git a/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp b/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp index 4a40ffcaa4..6d541a6414 100644 --- a/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp +++ b/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp @@ -103,6 +103,7 @@ void HPX::print_configuration(std::ostream &os, const bool) const { os << hpx::configuration_string() << '\n'; } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 bool &HPX::impl_get_in_parallel() noexcept { static thread_local bool in_parallel = false; return in_parallel; @@ -127,6 +128,7 @@ HPX::impl_not_in_parallel_scope::~impl_not_in_parallel_scope() noexcept { KOKKOS_EXPECTS(!impl_get_in_parallel()); impl_get_in_parallel() = true; } +#endif void HPX::impl_decrement_active_parallel_region_count() { std::unique_lock l(m_active_parallel_region_count_mutex); diff --git a/lib/kokkos/core/src/HPX/Kokkos_HPX.hpp b/lib/kokkos/core/src/HPX/Kokkos_HPX.hpp index 1dfc5b4064..26181a7c05 100644 --- a/lib/kokkos/core/src/HPX/Kokkos_HPX.hpp +++ b/lib/kokkos/core/src/HPX/Kokkos_HPX.hpp @@ -27,14 +27,6 @@ static_assert(false, #include -#include -#include -#include - -#ifdef KOKKOS_ENABLE_HBWSPACE -#include -#endif - #include #include #include @@ -59,6 +51,7 @@ static_assert(false, #include +#include #include #include #include @@ -201,6 +194,7 @@ class HPX { return impl_get_instance_data().m_instance_id; } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 static bool &impl_get_in_parallel() noexcept; struct impl_in_parallel_scope { @@ -223,9 +217,10 @@ class HPX { delete; }; - static bool in_parallel(HPX const & = HPX()) noexcept { + KOKKOS_DEPRECATED static bool in_parallel(HPX const & = HPX()) noexcept { return impl_get_in_parallel(); } +#endif static void impl_decrement_active_parallel_region_count(); static void impl_increment_active_parallel_region_count(); @@ -248,18 +243,6 @@ class HPX { #endif } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - template - KOKKOS_DEPRECATED static void partition_master( - F const &, int requested_num_partitions = 0, int = 0) { - if (requested_num_partitions > 1) { - Kokkos::abort( - "Kokkos::Experimental::HPX::partition_master: can't partition an " - "HPX instance\n"); - } - } -#endif - #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 static int concurrency(); #else @@ -355,7 +338,9 @@ class HPX { hpx::threads::thread_stacksize::default_) const { impl_bulk_plain_erased(force_synchronous, is_light_weight_policy, {[functor](Index i) { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 impl_in_parallel_scope p; +#endif functor.execute_range(i); }}, n, stacksize); @@ -417,15 +402,21 @@ class HPX { hpx::threads::thread_stacksize::default_) const { impl_bulk_setup_finalize_erased(force_synchronous, is_light_weight_policy, {[functor](Index i) { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 impl_in_parallel_scope p; +#endif functor.execute_range(i); }}, {[functor]() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 impl_in_parallel_scope p; +#endif functor.setup(); }}, {[functor]() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 impl_in_parallel_scope p; +#endif functor.finalize(); }}, n, stacksize); @@ -1292,6 +1283,7 @@ class ParallelScan, const WorkRange range(m_policy, t, num_worker_threads); execute_chunk(range.begin(), range.end(), update_sum, false); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 { // Since arrive_and_wait may yield and resume on another worker thread we // set in_parallel = false on the current thread before suspending and set @@ -1299,6 +1291,9 @@ class ParallelScan, Kokkos::Experimental::HPX::impl_not_in_parallel_scope p; barrier.arrive_and_wait(); } +#else + barrier.arrive_and_wait(); +#endif if (t == 0) { final_reducer.init(reinterpret_cast( @@ -1320,6 +1315,7 @@ class ParallelScan, } } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 { // Since arrive_and_wait may yield and resume on another worker thread we // set in_parallel = false on the current thread before suspending and set @@ -1327,6 +1323,9 @@ class ParallelScan, Kokkos::Experimental::HPX::impl_not_in_parallel_scope p; barrier.arrive_and_wait(); } +#else + barrier.arrive_and_wait(); +#endif reference_type update_base = Analysis::Reducer::reference(reinterpret_cast( @@ -1407,6 +1406,7 @@ class ParallelScanWithTotal, const WorkRange range(m_policy, t, num_worker_threads); execute_chunk(range.begin(), range.end(), update_sum, false); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 { // Since arrive_and_wait may yield and resume on another worker thread we // set in_parallel = false on the current thread before suspending and set @@ -1414,6 +1414,9 @@ class ParallelScanWithTotal, Kokkos::Experimental::HPX::impl_not_in_parallel_scope p; barrier.arrive_and_wait(); } +#else + barrier.arrive_and_wait(); +#endif if (t == 0) { final_reducer.init(reinterpret_cast( @@ -1435,6 +1438,7 @@ class ParallelScanWithTotal, } } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 { // Since arrive_and_wait may yield and resume on another worker thread we // set in_parallel = false on the current thread before suspending and set @@ -1442,6 +1446,9 @@ class ParallelScanWithTotal, Kokkos::Experimental::HPX::impl_not_in_parallel_scope p; barrier.arrive_and_wait(); } +#else + barrier.arrive_and_wait(); +#endif reference_type update_base = Analysis::Reducer::reference(reinterpret_cast( diff --git a/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp b/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp index c9080db01c..297b1fadee 100644 --- a/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp +++ b/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp @@ -73,7 +73,7 @@ is_less_than_value_initialized_variable(T arg) { // Checked narrowing conversion that calls abort if the cast changes the value template -constexpr To checked_narrow_cast(From arg) { +constexpr To checked_narrow_cast(From arg, std::size_t idx) { constexpr const bool is_different_signedness = (std::is_signed::value != std::is_signed::value); auto const ret = static_cast(arg); @@ -81,7 +81,12 @@ constexpr To checked_narrow_cast(From arg) { (is_different_signedness && is_less_than_value_initialized_variable(arg) != is_less_than_value_initialized_variable(ret))) { - Kokkos::abort("unsafe narrowing conversion"); + auto msg = + "Kokkos::MDRangePolicy bound type error: an unsafe implicit conversion " + "is performed on a bound (" + + std::to_string(arg) + ") in dimension (" + std::to_string(idx) + + "), which may not preserve its original value.\n"; + Kokkos::abort(msg.c_str()); } return ret; } @@ -96,15 +101,15 @@ constexpr Array to_array_potentially_narrowing(const U (&init)[M]) { using T = typename Array::value_type; Array a{}; constexpr std::size_t N = a.size(); - static_assert(M <= N, ""); + static_assert(M <= N); auto* ptr = a.data(); // NOTE equivalent to // std::transform(std::begin(init), std::end(init), a.data(), // [](U x) { return static_cast(x); }); // except that std::transform is not constexpr. - for (auto x : init) { - *ptr++ = checked_narrow_cast(x); - (void)checked_narrow_cast(x); // see note above + for (std::size_t i = 0; i < M; ++i) { + *ptr++ = checked_narrow_cast(init[i], i); + (void)checked_narrow_cast(init[i], i); // see note above } return a; } @@ -120,10 +125,10 @@ constexpr NVCC_WONT_LET_ME_CALL_YOU_Array to_array_potentially_narrowing( using T = typename NVCC_WONT_LET_ME_CALL_YOU_Array::value_type; NVCC_WONT_LET_ME_CALL_YOU_Array a{}; constexpr std::size_t N = a.size(); - static_assert(M <= N, ""); + static_assert(M <= N); for (std::size_t i = 0; i < M; ++i) { - a[i] = checked_narrow_cast(other[i]); - (void)checked_narrow_cast(other[i]); // see note above + a[i] = checked_narrow_cast(other[i], i); + (void)checked_narrow_cast(other[i], i); // see note above } return a; } @@ -150,9 +155,20 @@ TileSizeProperties get_tile_size_properties(const ExecutionSpace&) { // multi-dimensional iteration pattern template -struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { - using traits = Kokkos::Impl::PolicyTraits; - using range_policy = RangePolicy; +struct MDRangePolicy; + +// Note: If MDRangePolicy has a primary template, implicit CTAD (deduction +// guides) are generated -> MDRangePolicy<> by some compilers, which is +// incorrect. By making it a template specialization instead, no implicit CTAD +// is generated. This works because there has to be at least one property +// specified (which is Rank<...>); otherwise, we'd get the static_assert +// "Kokkos::Error: MD iteration pattern not defined". This template +// specialization uses in all places for correctness. +template +struct MDRangePolicy + : public Kokkos::Impl::PolicyTraits { + using traits = Kokkos::Impl::PolicyTraits; + using range_policy = RangePolicy; typename traits::execution_space m_space; @@ -161,8 +177,8 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { typename traits::schedule_type, typename traits::index_type>; using execution_policy = - MDRangePolicy; // needed for is_execution_space - // interrogation + MDRangePolicy; // needed for is_execution_policy + // interrogation template friend struct MDRangePolicy; @@ -327,6 +343,20 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { } for (int i = rank_start; i != rank_end; i += increment) { const index_type length = m_upper[i] - m_lower[i]; + + if (m_upper[i] < m_lower[i]) { + std::string msg = + "Kokkos::MDRangePolicy bounds error: The lower bound (" + + std::to_string(m_lower[i]) + ") is greater than its upper bound (" + + std::to_string(m_upper[i]) + ") in dimension " + std::to_string(i) + + ".\n"; +#if !defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + Kokkos::abort(msg.c_str()); +#elif defined(KOKKOS_ENABLE_DEPRECATION_WARNINGS) + Kokkos::Impl::log_warning(msg); +#endif + } + if (m_tile[i] <= 0) { m_tune_tile_size = true; if ((inner_direction == Iterate::Right && (i < rank - 1)) || @@ -358,6 +388,60 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { } }; +template +MDRangePolicy(const LT (&)[N], const UT (&)[N])->MDRangePolicy>; + +template +MDRangePolicy(const LT (&)[N], const UT (&)[N], const TT (&)[TN]) + ->MDRangePolicy>; + +template +MDRangePolicy(DefaultExecutionSpace const&, const LT (&)[N], const UT (&)[N]) + ->MDRangePolicy>; + +template +MDRangePolicy(DefaultExecutionSpace const&, const LT (&)[N], const UT (&)[N], + const TT (&)[TN]) + ->MDRangePolicy>; + +template >> +MDRangePolicy(ES const&, const LT (&)[N], const UT (&)[N]) + ->MDRangePolicy>; + +template >> +MDRangePolicy(ES const&, const LT (&)[N], const UT (&)[N], const TT (&)[TN]) + ->MDRangePolicy>; + +template +MDRangePolicy(Array const&, Array const&)->MDRangePolicy>; + +template +MDRangePolicy(Array const&, Array const&, Array const&) + ->MDRangePolicy>; + +template +MDRangePolicy(DefaultExecutionSpace const&, Array const&, + Array const&) + ->MDRangePolicy>; + +template +MDRangePolicy(DefaultExecutionSpace const&, Array const&, + Array const&, Array const&) + ->MDRangePolicy>; + +template >> +MDRangePolicy(ES const&, Array const&, Array const&) + ->MDRangePolicy>; + +template >> +MDRangePolicy(ES const&, Array const&, Array const&, + Array const&) + ->MDRangePolicy>; + } // namespace Kokkos #endif // KOKKOS_CORE_EXP_MD_RANGE_POLICY_HPP diff --git a/lib/kokkos/core/src/Kokkos_Array.hpp b/lib/kokkos/core/src/Kokkos_Array.hpp index 82ceaaec21..ba1626bb72 100644 --- a/lib/kokkos/core/src/Kokkos_Array.hpp +++ b/lib/kokkos/core/src/Kokkos_Array.hpp @@ -22,6 +22,7 @@ #endif #include +#include #include #include @@ -320,6 +321,9 @@ struct Array::strided> { : m_elem(arg_ptr), m_size(arg_size), m_stride(arg_stride) {} }; +template +Array(T, Us...)->Array; + } // namespace Kokkos // diff --git a/lib/kokkos/core/src/Kokkos_Assert.hpp b/lib/kokkos/core/src/Kokkos_Assert.hpp index c3b9004734..6fea286005 100644 --- a/lib/kokkos/core/src/Kokkos_Assert.hpp +++ b/lib/kokkos/core/src/Kokkos_Assert.hpp @@ -44,9 +44,6 @@ __LINE__) " \n"); \ } \ } -// some projects already define this for themselves, so don't mess -// them up -#ifndef KOKKOS_ASSERT #define KOKKOS_ASSERT(...) \ { \ if (!bool(__VA_ARGS__)) { \ @@ -58,8 +55,7 @@ __LINE__) " \n"); \ } \ } -#endif // ifndef KOKKOS_ASSERT -#else // not debug mode +#else // not debug mode #define KOKKOS_EXPECTS(...) #define KOKKOS_ENSURES(...) #ifndef KOKKOS_ASSERT diff --git a/lib/kokkos/core/src/Kokkos_Atomics_Desul_Volatile_Wrapper.hpp b/lib/kokkos/core/src/Kokkos_Atomics_Desul_Volatile_Wrapper.hpp index 1c43474632..9acacef901 100644 --- a/lib/kokkos/core/src/Kokkos_Atomics_Desul_Volatile_Wrapper.hpp +++ b/lib/kokkos/core/src/Kokkos_Atomics_Desul_Volatile_Wrapper.hpp @@ -25,7 +25,7 @@ static_assert(false, #include #include -#ifdef KOKKOS_INTERNAL_NOT_PARALLEL +#ifdef KOKKOS_ENABLE_ATOMICS_BYPASS #define KOKKOS_DESUL_MEM_SCOPE desul::MemoryScopeCaller() #else #define KOKKOS_DESUL_MEM_SCOPE desul::MemoryScopeDevice() diff --git a/lib/kokkos/core/src/Kokkos_Atomics_Desul_Wrapper.hpp b/lib/kokkos/core/src/Kokkos_Atomics_Desul_Wrapper.hpp index bda3783980..eebdd20f15 100644 --- a/lib/kokkos/core/src/Kokkos_Atomics_Desul_Wrapper.hpp +++ b/lib/kokkos/core/src/Kokkos_Atomics_Desul_Wrapper.hpp @@ -49,7 +49,7 @@ inline const char* atomic_query_version() { return "KOKKOS_DESUL_ATOMICS"; } #endif // ============================================================ -#ifdef KOKKOS_INTERNAL_NOT_PARALLEL +#ifdef KOKKOS_ENABLE_ATOMICS_BYPASS #define KOKKOS_DESUL_MEM_SCOPE desul::MemoryScopeCaller() #else #define KOKKOS_DESUL_MEM_SCOPE desul::MemoryScopeDevice() diff --git a/lib/kokkos/core/src/Kokkos_Clamp.hpp b/lib/kokkos/core/src/Kokkos_Clamp.hpp new file mode 100644 index 0000000000..033cde9ab8 --- /dev/null +++ b/lib/kokkos/core/src/Kokkos_Clamp.hpp @@ -0,0 +1,41 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_CLAMP_HPP +#define KOKKOS_CLAMP_HPP + +#include + +namespace Kokkos { + +template +constexpr KOKKOS_INLINE_FUNCTION const T& clamp(const T& value, const T& lo, + const T& hi) { + KOKKOS_EXPECTS(!(hi < lo)); + return (value < lo) ? lo : (hi < value) ? hi : value; +} + +template +constexpr KOKKOS_INLINE_FUNCTION const T& clamp(const T& value, const T& lo, + const T& hi, + ComparatorType comp) { + KOKKOS_EXPECTS(!comp(hi, lo)); + return comp(value, lo) ? lo : comp(hi, value) ? hi : value; +} + +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/Kokkos_CopyViews.hpp b/lib/kokkos/core/src/Kokkos_CopyViews.hpp index a0ca55be70..08f6ba8d69 100644 --- a/lib/kokkos/core/src/Kokkos_CopyViews.hpp +++ b/lib/kokkos/core/src/Kokkos_CopyViews.hpp @@ -22,6 +22,7 @@ static_assert(false, #ifndef KOKKOS_COPYVIEWS_HPP_ #define KOKKOS_COPYVIEWS_HPP_ #include +#include #include #include #include @@ -612,12 +613,17 @@ void view_copy(const DstType& dst, const SrcType& src) { }; if (!DstExecCanAccessSrc && !SrcExecCanAccessDst) { - std::string message( - "Error: Kokkos::deep_copy with no available copy mechanism: "); - message += src.label(); - message += " to "; - message += dst.label(); - Kokkos::Impl::throw_runtime_exception(message); + std::ostringstream ss; + ss << "Error: Kokkos::deep_copy with no available copy mechanism: " + << "from source view (\"" << src.label() << "\") to destination view (\"" + << dst.label() << "\").\n" + << "There is no common execution space that can access both source's " + "space\n" + << "(" << src_memory_space().name() << ") and destination's space (" + << dst_memory_space().name() << "), " + << "so source and destination\n" + << "must be contiguous and have the same layout.\n"; + Kokkos::Impl::throw_runtime_exception(ss.str()); } // Figure out iteration order in case we need it @@ -1330,13 +1336,12 @@ inline void contiguous_fill( // Default implementation for execution spaces that don't provide a definition template struct ZeroMemset { - ZeroMemset(const ExecutionSpace& exec_space, const ViewType& dst, - typename ViewType::const_value_type& value) { - contiguous_fill(exec_space, dst, value); - } - - ZeroMemset(const ViewType& dst, typename ViewType::const_value_type& value) { - contiguous_fill(ExecutionSpace(), dst, value); + ZeroMemset(const ExecutionSpace& exec_space, const ViewType& dst) { + using ValueType = typename ViewType::value_type; + alignas(alignof(ValueType)) unsigned char + zero_initialized_storage[sizeof(ValueType)] = {}; + contiguous_fill(exec_space, dst, + *reinterpret_cast(zero_initialized_storage)); } }; @@ -1348,13 +1353,18 @@ inline std::enable_if_t< contiguous_fill_or_memset( const ExecutionSpace& exec_space, const View& dst, typename ViewTraits::const_value_type& value) { -// On A64FX memset seems to do the wrong thing with regards to first touch -// leading to the significant performance issues -#ifndef KOKKOS_ARCH_A64FX - if (Impl::is_zero_byte(value)) - ZeroMemset>(exec_space, dst, value); - else + // With OpenMP, using memset has significant performance issues. + if (Impl::is_zero_byte(value) +#ifdef KOKKOS_ENABLE_OPENMP + && !std::is_same_v #endif + ) + // FIXME intel/19 icpc fails to deduce template parameters here, + // resulting in compilation errors; explicitly passing the template + // parameters to ZeroMemset helps workaround the issue + // See https://github.com/kokkos/kokkos/issues/6775 + ZeroMemset>(exec_space, dst); + else contiguous_fill(exec_space, dst, value); } @@ -1379,15 +1389,20 @@ contiguous_fill_or_memset( typename ViewTraits::const_value_type& value) { using ViewType = View; using exec_space_type = typename ViewType::execution_space; + exec_space_type exec; // On A64FX memset seems to do the wrong thing with regards to first touch // leading to the significant performance issues #ifndef KOKKOS_ARCH_A64FX if (Impl::is_zero_byte(value)) - ZeroMemset>(dst, value); + // FIXME intel/19 icpc fails to deduce template parameters here, + // resulting in compilation errors; explicitly passing the template + // parameters to ZeroMemset helps workaround the issue + // See https://github.com/kokkos/kokkos/issues/6775 + ZeroMemset(exec, dst); else #endif - contiguous_fill(exec_space_type(), dst, value); + contiguous_fill(exec, dst, value); } template diff --git a/lib/kokkos/core/src/Kokkos_Core.hpp b/lib/kokkos/core/src/Kokkos_Core.hpp index 805411a699..1f146563be 100644 --- a/lib/kokkos/core/src/Kokkos_Core.hpp +++ b/lib/kokkos/core/src/Kokkos_Core.hpp @@ -46,14 +46,15 @@ #include #include -#include #include -#include +#include +#include #include #include #include #include #include +#include #include #include #include @@ -101,6 +102,7 @@ void declare_configuration_metadata(const std::string& category, [[nodiscard]] bool is_finalized() noexcept; [[nodiscard]] int device_id() noexcept; +[[nodiscard]] int num_devices() noexcept; [[nodiscard]] int num_threads() noexcept; bool show_warnings() noexcept; @@ -300,9 +302,6 @@ std::vector partition_space(ExecSpace const& space, // implementation of the RAII wrapper is using Kokkos::single. #include -// Specializations required after core definitions -#include - //---------------------------------------------------------------------------- // Redefinition of the macros min and max if we pushed them at entry of // Kokkos_Core.hpp diff --git a/lib/kokkos/core/src/Kokkos_Core_fwd.hpp b/lib/kokkos/core/src/Kokkos_Core_fwd.hpp index 44f1c5b42f..7edb35f00e 100644 --- a/lib/kokkos/core/src/Kokkos_Core_fwd.hpp +++ b/lib/kokkos/core/src/Kokkos_Core_fwd.hpp @@ -30,10 +30,6 @@ #include #include -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -#include -#endif - //---------------------------------------------------------------------------- // Have assumed a 64-bit build (8-byte pointers) throughout the code base. // 32-bit build allowed but unsupported. @@ -75,9 +71,6 @@ template struct Device; // forward declare here so that backend initializer calls can use it. -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -struct InitArguments; -#endif class InitializationSettings; } // namespace Kokkos @@ -262,12 +255,6 @@ KOKKOS_FUNCTION void runtime_check_memory_access_violation( } } // namespace Impl - -namespace Experimental { -template -class LogicalMemorySpace; -} - } // namespace Kokkos //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp b/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp index ae1585a498..5f251eeb26 100644 --- a/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp +++ b/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp @@ -28,6 +28,7 @@ static_assert(false, #include #include #include +#include //---------------------------------------------------------------------------- @@ -114,62 +115,67 @@ class RangePolicy : public Impl::PolicyTraits { m_granularity_mask(0) {} /** \brief Total range */ + template && + std::is_convertible_v), + bool> = false> + inline RangePolicy(const IndexType1 work_begin, const IndexType2 work_end) + : RangePolicy(typename traits::execution_space(), work_begin, work_end) {} + + /** \brief Total range */ + template && + std::is_convertible_v), + bool> = false> inline RangePolicy(const typename traits::execution_space& work_space, - const member_type work_begin, const member_type work_end) + const IndexType1 work_begin, const IndexType2 work_end) : m_space(work_space), - m_begin(work_begin < work_end ? work_begin : 0), - m_end(work_begin < work_end ? work_end : 0), + m_begin(work_begin), + m_end(work_end), m_granularity(0), m_granularity_mask(0) { + check_conversion_safety(work_begin); + check_conversion_safety(work_end); + check_bounds_validity(); set_auto_chunk_size(); } - /** \brief Total range */ - inline RangePolicy(const member_type work_begin, const member_type work_end) - : RangePolicy(typename traits::execution_space(), work_begin, work_end) { - set_auto_chunk_size(); - } - - /** \brief Total range */ - template - inline RangePolicy(const typename traits::execution_space& work_space, - const member_type work_begin, const member_type work_end, - Args... args) + template && + std::is_convertible_v), + bool> = false> + RangePolicy(const typename traits::execution_space& work_space, + const IndexType1 work_begin, const IndexType2 work_end, + const ChunkSize chunk_size) : m_space(work_space), - m_begin(work_begin < work_end ? work_begin : 0), - m_end(work_begin < work_end ? work_end : 0), + m_begin(work_begin), + m_end(work_end), m_granularity(0), m_granularity_mask(0) { - set_auto_chunk_size(); - set(args...); + check_conversion_safety(work_begin); + check_conversion_safety(work_end); + check_bounds_validity(); + set_chunk_size(chunk_size.value); } /** \brief Total range */ - template - inline RangePolicy(const member_type work_begin, const member_type work_end, - Args... args) - : RangePolicy(typename traits::execution_space(), work_begin, work_end) { - set_auto_chunk_size(); - set(args...); - } - - private: - inline void set() {} + template && + std::is_convertible_v), + bool> = false> + RangePolicy(const IndexType1 work_begin, const IndexType2 work_end, + const ChunkSize chunk_size) + : RangePolicy(typename traits::execution_space(), work_begin, work_end, + chunk_size) {} public: - template - inline void set(Args...) { - static_assert( - 0 == sizeof...(Args), - "Kokkos::RangePolicy: unhandled constructor arguments encountered."); - } - - template - inline void set(const ChunkSize& chunksize, Args... args) { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED_WITH_COMMENT("Use set_chunk_size instead") + inline void set(ChunkSize chunksize) { m_granularity = chunksize.value; m_granularity_mask = m_granularity - 1; - set(args...); } +#endif public: /** \brief return chunk_size */ @@ -218,6 +224,67 @@ class RangePolicy : public Impl::PolicyTraits { m_granularity_mask = m_granularity - 1; } + void check_bounds_validity() { + if (m_end < m_begin) { + std::string msg = "Kokkos::RangePolicy bounds error: The lower bound (" + + std::to_string(m_begin) + + ") is greater than the upper bound (" + + std::to_string(m_end) + ").\n"; +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE_4 + Kokkos::abort(msg.c_str()); +#endif + m_begin = 0; + m_end = 0; +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + Kokkos::Impl::log_warning(msg); +#endif + } + } + + // To be replaced with std::in_range (c++20) + template + static void check_conversion_safety(const IndexType bound) { +#if !defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) || \ + defined(KOKKOS_ENABLE_DEPRECATION_WARNINGS) + + std::string msg = + "Kokkos::RangePolicy bound type error: an unsafe implicit conversion " + "is performed on a bound (" + + std::to_string(bound) + + "), which may " + "not preserve its original value.\n"; + bool warn = false; + + if constexpr (std::is_signed_v != + std::is_signed_v) { + // check signed to unsigned + if constexpr (std::is_signed_v) + warn |= (bound < static_cast( + std::numeric_limits::min())); + + // check unsigned to signed + if constexpr (std::is_signed_v) + warn |= (bound > static_cast( + std::numeric_limits::max())); + } + + // check narrowing + warn |= (static_cast(static_cast(bound)) != bound); + + if (warn) { +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE_4 + Kokkos::abort(msg.c_str()); +#endif + +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + Kokkos::Impl::log_warning(msg); +#endif + } +#else + (void)bound; +#endif + } + public: /** \brief Subrange for a partition's rank and size. * @@ -261,6 +328,21 @@ class RangePolicy : public Impl::PolicyTraits { }; }; +RangePolicy()->RangePolicy<>; + +RangePolicy(int64_t, int64_t)->RangePolicy<>; +RangePolicy(int64_t, int64_t, ChunkSize const&)->RangePolicy<>; + +RangePolicy(DefaultExecutionSpace const&, int64_t, int64_t)->RangePolicy<>; +RangePolicy(DefaultExecutionSpace const&, int64_t, int64_t, ChunkSize const&) + ->RangePolicy<>; + +template >> +RangePolicy(ES const&, int64_t, int64_t)->RangePolicy; + +template >> +RangePolicy(ES const&, int64_t, int64_t, ChunkSize const&)->RangePolicy; + } // namespace Kokkos //---------------------------------------------------------------------------- @@ -983,7 +1065,16 @@ template const& policy, Lambda const& lambda, ReducerValueType& val) { + static_assert(/*!Kokkos::is_view_v &&*/ + !std::is_array_v && + !std::is_pointer_v && + !Kokkos::is_reducer_v, + "Only scalar return types are allowed!"); + + val = ReducerValueType{}; Impl::md_parallel_impl(policy, lambda, val); + policy.team.team_reduce( + Kokkos::Sum{val}); } template @@ -997,7 +1088,29 @@ template const& policy, Lambda const& lambda, ReducerValueType& val) { + static_assert(/*!Kokkos::is_view_v &&*/ + !std::is_array_v && + !std::is_pointer_v && + !Kokkos::is_reducer_v, + "Only a scalar return types are allowed!"); + + val = ReducerValueType{}; Impl::md_parallel_impl(policy, lambda, val); + if constexpr (false +#ifdef KOKKOS_ENABLE_CUDA + || std::is_same_v +#elif defined(KOKKOS_ENABLE_HIP) + || std::is_same_v +#elif defined(KOKKOS_ENABLE_SYCL) + || std::is_same_v +#endif + ) + policy.team.vector_reduce( + Kokkos::Sum{ + val}); } template @@ -1011,7 +1124,31 @@ template const& policy, Lambda const& lambda, ReducerValueType& val) { + static_assert(/*!Kokkos::is_view_v &&*/ + !std::is_array_v && + !std::is_pointer_v && + !Kokkos::is_reducer_v, + "Only a scalar return types are allowed!"); + + val = ReducerValueType{}; Impl::md_parallel_impl(policy, lambda, val); + if constexpr (false +#ifdef KOKKOS_ENABLE_CUDA + || std::is_same_v +#elif defined(KOKKOS_ENABLE_HIP) + || std::is_same_v +#elif defined(KOKKOS_ENABLE_SYCL) + || std::is_same_v +#endif + ) + policy.team.vector_reduce( + Kokkos::Sum{ + val}); + policy.team.team_reduce( + Kokkos::Sum{val}); } template diff --git a/lib/kokkos/core/src/Kokkos_HBWSpace.hpp b/lib/kokkos/core/src/Kokkos_HBWSpace.hpp deleted file mode 100644 index 369b7bafb7..0000000000 --- a/lib/kokkos/core/src/Kokkos_HBWSpace.hpp +++ /dev/null @@ -1,308 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#include -static_assert(false, - "Including non-public Kokkos header files is not allowed."); -#endif -#ifndef KOKKOS_HBWSPACE_HPP -#define KOKKOS_HBWSPACE_HPP - -#include -#ifdef KOKKOS_ENABLE_HBWSPACE - -#include - -namespace Kokkos { - -namespace Experimental { - -/// \class HBWSpace -/// \brief Memory management for host memory. -/// -/// HBWSpace is a memory space that governs host memory. "Host" -/// memory means the usual CPU-accessible memory. -class HBWSpace { - public: - //! Tag this class as a kokkos memory space - using memory_space = HBWSpace; - using size_type = size_t; - - /// \typedef execution_space - /// \brief Default execution space for this memory space. - /// - /// Every memory space has a default execution space. This is - /// useful for things like initializing a View (which happens in - /// parallel using the View's default execution space). - using execution_space = Kokkos::DefaultHostExecutionSpace; - - //! This memory space preferred device_type - using device_type = Kokkos::Device; - - /**\brief Default memory space instance */ - HBWSpace(); - HBWSpace(const HBWSpace& rhs) = default; - HBWSpace& operator=(const HBWSpace&) = default; - ~HBWSpace() = default; - - /**\brief Non-default memory space instance to choose allocation mechansim, - * if available */ - - enum AllocationMechanism { - STD_MALLOC, - POSIX_MEMALIGN, - POSIX_MMAP, - INTEL_MM_ALLOC - }; - - explicit HBWSpace(const AllocationMechanism&); - - /**\brief Allocate untracked memory in the space */ - void* allocate(const size_t arg_alloc_size) const; - void* allocate(const char* arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size = 0) const; - - /**\brief Deallocate untracked memory in the space */ - void deallocate(void* const arg_alloc_ptr, const size_t arg_alloc_size) const; - void deallocate(const char* arg_label, void* const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size = 0) const; - - private: - template - friend class LogicalMemorySpace; - - void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size = 0, - const Kokkos::Tools::SpaceHandle = - Kokkos::Tools::make_space_handle(name())) const; - void impl_deallocate(const char* arg_label, void* const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size = 0, - const Kokkos::Tools::SpaceHandle = - Kokkos::Tools::make_space_handle(name())) const; - - public: - /**\brief Return Name of the MemorySpace */ - static constexpr const char* name() { return "HBW"; } - - private: - AllocationMechanism m_alloc_mech; - friend class Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::HBWSpace, void>; -}; - -} // namespace Experimental - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -template <> -class SharedAllocationRecord - : public SharedAllocationRecord { - private: - friend Kokkos::Experimental::HBWSpace; - - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - static void deallocate(RecordBase*); - -#ifdef KOKKOS_ENABLE_DEBUG - /**\brief Root record for tracked allocations from this HBWSpace instance */ - static RecordBase s_root_record; -#endif - - const Kokkos::Experimental::HBWSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - SharedAllocationRecord( - const Kokkos::Experimental::HBWSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); - - public: - inline std::string get_label() const { - return std::string(RecordBase::head()->m_label); - } - - KOKKOS_INLINE_FUNCTION static SharedAllocationRecord* allocate( - const Kokkos::Experimental::HBWSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size) { - KOKKOS_IF_ON_HOST((return new SharedAllocationRecord(arg_space, arg_label, - arg_alloc_size);)) - KOKKOS_IF_ON_DEVICE(((void)arg_space; (void)arg_label; (void)arg_alloc_size; - return nullptr;)) - } - - /**\brief Allocate tracked memory in the space */ - static void* allocate_tracked(const Kokkos::Experimental::HBWSpace& arg_space, - const std::string& arg_label, - const size_t arg_alloc_size); - - /**\brief Reallocate tracked memory in the space */ - static void* reallocate_tracked(void* const arg_alloc_ptr, - const size_t arg_alloc_size); - - /**\brief Deallocate tracked memory in the space */ - static void deallocate_tracked(void* const arg_alloc_ptr); - - static SharedAllocationRecord* get_record(void* arg_alloc_ptr); - - static void print_records(std::ostream&, - const Kokkos::Experimental::HBWSpace&, - bool detail = false); -}; - -} // namespace Impl - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -static_assert( - Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - -template <> -struct MemorySpaceAccess { - enum : bool { assignable = true }; - enum : bool { accessible = true }; - enum : bool { deepcopy = true }; -}; - -template <> -struct MemorySpaceAccess { - enum : bool { assignable = false }; - enum : bool { accessible = true }; - enum : bool { deepcopy = true }; -}; - -} // namespace Impl - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -template <> -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const DefaultHostExecutionSpace& exec, void* dst, const void* src, - size_t n) { - hostspace_parallel_deepcopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { - exec.fence( - "Kokkos::Impl::DeepCopy -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const DefaultHostExecutionSpace& exec, void* dst, const void* src, - size_t n) { - hostspace_parallel_deepcopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { - exec.fence( - "Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); - hostspace_parallel_deepcopy_async(copy_space, dst, src, n); - } -}; - -template <> -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const DefaultHostExecutionSpace& exec, void* dst, const void* src, - size_t n) { - hostspace_parallel_deepcopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { - exec.fence( - "Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); - hostspace_parallel_deepcopy_async(dst, src, n); - } -}; - -} // namespace Impl - -} // namespace Kokkos - -#endif -#endif // #define KOKKOS_HBWSPACE_HPP diff --git a/lib/kokkos/core/src/Kokkos_HostSpace.hpp b/lib/kokkos/core/src/Kokkos_HostSpace.hpp index 90d1404063..a1fb0f5a67 100644 --- a/lib/kokkos/core/src/Kokkos_HostSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_HostSpace.hpp @@ -37,7 +37,6 @@ static_assert(false, #include #include "impl/Kokkos_HostSpace_deepcopy.hpp" -#include /*--------------------------------------------------------------------------*/ @@ -75,18 +74,35 @@ class HostSpace { /**\brief Non-default memory space instance to choose allocation mechansim, * if available */ - enum KOKKOS_DEPRECATED AllocationMechanism { - STD_MALLOC, - POSIX_MEMALIGN, - POSIX_MMAP, - INTEL_MM_ALLOC - }; +#if defined(KOKKOS_COMPILER_GNU) && KOKKOS_COMPILER_GNU < 1100 + // We see deprecation warnings even when not using the deprecated + // HostSpace constructor below when using gcc before release 11. + enum +#else + enum KOKKOS_DEPRECATED +#endif + AllocationMechanism { + STD_MALLOC, + POSIX_MEMALIGN, + POSIX_MMAP, + INTEL_MM_ALLOC + }; KOKKOS_DEPRECATED explicit HostSpace(const AllocationMechanism&); #endif /**\brief Allocate untracked memory in the space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -98,9 +114,6 @@ class HostSpace { const size_t arg_logical_size = 0) const; private: - template - friend class Kokkos::Experimental::LogicalMemorySpace; - void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -117,7 +130,6 @@ class HostSpace { private: static constexpr const char* m_name = "Host"; - friend class Kokkos::Impl::SharedAllocationRecord; }; } // namespace Kokkos @@ -129,8 +141,7 @@ namespace Kokkos { namespace Impl { static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); template struct HostMirror { @@ -166,75 +177,7 @@ struct HostMirror { //---------------------------------------------------------------------------- -namespace Kokkos { - -namespace Impl { - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend Kokkos::HostSpace; - friend class SharedAllocationRecordCommon; - - using base_t = SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - /**\brief Root record for tracked allocations from this HostSpace instance */ - static RecordBase s_root_record; -#endif - - Kokkos::HostSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - // This constructor does not forward to the one without exec_space arg - // in order to work around https://github.com/kokkos/kokkos/issues/5258 - // This constructor is templated so I can't just put it into the cpp file - // like the other constructor. - template - SharedAllocationRecord( - const ExecutionSpace& /* exec_space*/, const Kokkos::HostSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, - arg_label); - } - - SharedAllocationRecord( - const Kokkos::HostSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); - - public: - KOKKOS_INLINE_FUNCTION static SharedAllocationRecord* allocate( - const Kokkos::HostSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size) { - KOKKOS_IF_ON_HOST((return new SharedAllocationRecord(arg_space, arg_label, - arg_alloc_size);)) - KOKKOS_IF_ON_DEVICE(((void)arg_space; (void)arg_label; (void)arg_alloc_size; - return nullptr;)) - } -}; - -} // namespace Impl - -} // namespace Kokkos +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::HostSpace); //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp b/lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp deleted file mode 100644 index 1ee1d2c81f..0000000000 --- a/lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp +++ /dev/null @@ -1,413 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#include -static_assert(false, - "Including non-public Kokkos header files is not allowed."); -#endif -#ifndef KOKKOS_LOGICALSPACES_HPP -#define KOKKOS_LOGICALSPACES_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -namespace Kokkos { -namespace Experimental { -struct DefaultMemorySpaceNamer { - static constexpr const char* get_name() { - return "DefaultLogicalMemorySpaceName"; - } -}; - -struct LogicalSpaceSharesAccess { - struct shared_access {}; - struct no_shared_access {}; -}; - -/// \class LogicalMemorySpace -/// \brief -/// -/// LogicalMemorySpace is a space that is identical to another space, -/// but differentiable by name and template argument -template -class LogicalMemorySpace { -#ifdef KOKKOS_ENABLE_OPENMPTARGET - // [DZP] For some reason I don't yet know, using LogicalMemorySpaces - // inside an OpenMPTarget build causes errors in the - // SharedAllocationRecords of other types. This is my way of erroring - // a build if we instantiate a LogicalMemSpace in an OMPTarget build - static_assert(!std::is_same::value, - "Can't use LogicalMemorySpaces in an OpenMPTarget build, we're " - "debugging memory issues"); -#endif - public: - //! Tag this class as a kokkos memory space - using memory_space = LogicalMemorySpace; - using size_type = typename BaseSpace::size_type; - - /// \typedef execution_space - /// \brief Default execution space for this memory space. - /// - /// Every memory space has a default execution space. This is - /// useful for things like initializing a View (which happens in - /// parallel using the View's default execution space). - - using execution_space = - std::conditional_t::value, - typename BaseSpace::execution_space, - DefaultBaseExecutionSpace>; - - using device_type = Kokkos::Device; - - LogicalMemorySpace() = default; - - template - LogicalMemorySpace(Args&&... args) : underlying_space((Args &&) args...) {} - - /**\brief Allocate untracked memory in the space */ - void* allocate(const size_t arg_alloc_size) const { - return allocate("[unlabeled]", arg_alloc_size); - } - void* allocate(const char* arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size = 0) const { - return impl_allocate(arg_label, arg_alloc_size, arg_logical_size); - } - - /**\brief Deallocate untracked memory in the space */ - void deallocate(void* const arg_alloc_ptr, - const size_t arg_alloc_size) const { - deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); - } - void deallocate(const char* arg_label, void* const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size = 0) const { - impl_deallocate(arg_label, arg_alloc_ptr, arg_alloc_size, arg_logical_size); - } - - /**\brief Return Name of the MemorySpace */ - constexpr static const char* name() { return Namer::get_name(); } - - private: - BaseSpace underlying_space; - template - friend class LogicalMemorySpace; - friend class Kokkos::Impl::SharedAllocationRecord; - - void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size = 0, - Kokkos::Tools::SpaceHandle arg_handle = - Kokkos::Tools::make_space_handle(name())) const { - return underlying_space.impl_allocate(arg_label, arg_alloc_size, - arg_logical_size, arg_handle); - } - void impl_deallocate(const char* arg_label, void* const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size = 0, - const Kokkos::Tools::SpaceHandle arg_handle = - Kokkos::Tools::make_space_handle(name())) const { - underlying_space.impl_deallocate(arg_label, arg_alloc_ptr, arg_alloc_size, - arg_logical_size, arg_handle); - } -}; -} // namespace Experimental -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -template -struct MemorySpaceAccess< - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>, - OtherSpace> { - enum { assignable = MemorySpaceAccess::assignable }; - enum { accessible = MemorySpaceAccess::accessible }; - enum { deepcopy = MemorySpaceAccess::deepcopy }; -}; - -template -struct MemorySpaceAccess< - OtherSpace, - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>> { - enum { assignable = MemorySpaceAccess::assignable }; - enum { accessible = MemorySpaceAccess::accessible }; - enum { deepcopy = MemorySpaceAccess::deepcopy }; -}; - -template -struct MemorySpaceAccess< - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>, - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>> { - enum { assignable = true }; - enum { accessible = true }; - enum { deepcopy = true }; -}; - -} // namespace Impl - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { -template -class SharedAllocationRecord, - void> : public SharedAllocationRecord { - private: - using SpaceType = - Kokkos::Experimental::LogicalMemorySpace; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - static void deallocate(RecordBase* arg_rec) { - delete static_cast(arg_rec); - } - -#ifdef KOKKOS_ENABLE_DEBUG - /**\brief Root record for tracked allocations from this - * LogicalMemorySpace instance */ - static RecordBase s_root_record; -#endif - - const SpaceType m_space; - - protected: - ~SharedAllocationRecord() { - m_space.deallocate(RecordBase::m_alloc_ptr->m_label, - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); - } - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, const SpaceType& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const SpaceType& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : SharedAllocationRecord( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - // Fill in the Header information - RecordBase::m_alloc_ptr->m_record = - static_cast*>(this); - - strncpy(RecordBase::m_alloc_ptr->m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length - 1); - // Set last element zero, in case c_str is too long - RecordBase::m_alloc_ptr - ->m_label[SharedAllocationHeader::maximum_label_length - 1] = '\0'; - } - - public: - inline std::string get_label() const { - return std::string(RecordBase::head()->m_label); - } - KOKKOS_INLINE_FUNCTION static SharedAllocationRecord* allocate( - const SpaceType& arg_space, const std::string& arg_label, - const size_t arg_alloc_size) { - KOKKOS_IF_ON_HOST((return new SharedAllocationRecord(arg_space, arg_label, - arg_alloc_size);)) - KOKKOS_IF_ON_DEVICE(((void)arg_space; (void)arg_label; (void)arg_alloc_size; - return nullptr;)) - } - - /**\brief Allocate tracked memory in the space */ - static void* allocate_tracked(const SpaceType& arg_space, - const std::string& arg_label, - const size_t arg_alloc_size) { - if (!arg_alloc_size) return (void*)nullptr; - - SharedAllocationRecord* const r = - allocate(arg_space, arg_label, arg_alloc_size); - - RecordBase::increment(r); - - return r->data(); - } - - /**\brief Reallocate tracked memory in the space */ - static void* reallocate_tracked(void* const arg_alloc_ptr, - const size_t arg_alloc_size) { - SharedAllocationRecord* const r_old = get_record(arg_alloc_ptr); - SharedAllocationRecord* const r_new = - allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); - - Kokkos::Impl::DeepCopy( - r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - Kokkos::fence( - "SharedAllocationRecord::reallocate_tracked: fence after copying data"); - - RecordBase::increment(r_new); - RecordBase::decrement(r_old); - - return r_new->data(); - } - /**\brief Deallocate tracked memory in the space */ - static void deallocate_tracked(void* const arg_alloc_ptr) { - if (arg_alloc_ptr != nullptr) { - SharedAllocationRecord* const r = get_record(arg_alloc_ptr); - - RecordBase::decrement(r); - } - } - - static SharedAllocationRecord* get_record(void* alloc_ptr) { - using Header = SharedAllocationHeader; - using RecordHost = SharedAllocationRecord; - - SharedAllocationHeader const* const head = - alloc_ptr ? Header::get_header(alloc_ptr) - : (SharedAllocationHeader*)nullptr; - RecordHost* const record = - head ? static_cast(head->m_record) : (RecordHost*)nullptr; - - if (!alloc_ptr || record->m_alloc_ptr != head) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::SharedAllocationRecord< LogicalMemorySpace<> , " - "void >::get_record ERROR")); - } - - return record; - } -#ifdef KOKKOS_ENABLE_DEBUG - static void print_records(std::ostream& s, const SpaceType&, - bool detail = false) { - SharedAllocationRecord::print_host_accessible_records( - s, "HostSpace", &s_root_record, detail); - } -#else - static void print_records(std::ostream&, const SpaceType&, - bool detail = false) { - (void)detail; - throw_runtime_exception( - "SharedAllocationRecord::print_records only works " - "with KOKKOS_ENABLE_DEBUG enabled"); - } -#endif -}; -#ifdef KOKKOS_ENABLE_DEBUG -/**\brief Root record for tracked allocations from this LogicalSpace - * instance */ -template -SharedAllocationRecord - SharedAllocationRecord, - void>::s_root_record; -#endif - -} // namespace Impl - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -template -struct DeepCopy, - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, SharesAccess>, - ExecutionSpace> { - DeepCopy(void* dst, void* src, size_t n) { - DeepCopy(dst, src, n); - } - DeepCopy(const ExecutionSpace& exec, void* dst, void* src, size_t n) { - DeepCopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy, - ExecutionSpace> { - DeepCopy(void* dst, void* src, size_t n) { - DeepCopy(dst, src, n); - } - DeepCopy(const ExecutionSpace& exec, void* dst, void* src, size_t n) { - DeepCopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy, - DestinationSpace, ExecutionSpace> { - DeepCopy(void* dst, void* src, size_t n) { - DeepCopy(dst, src, n); - } - DeepCopy(const ExecutionSpace& exec, void* dst, void* src, size_t n) { - DeepCopy(exec, dst, src, n); - } -}; -} // namespace Impl - -} // namespace Kokkos -#endif // KOKKOS_LOGICALSPACES_HPP diff --git a/lib/kokkos/core/src/Kokkos_Macros.hpp b/lib/kokkos/core/src/Kokkos_Macros.hpp index 3cf7ac4fa2..b255d2a519 100644 --- a/lib/kokkos/core/src/Kokkos_Macros.hpp +++ b/lib/kokkos/core/src/Kokkos_Macros.hpp @@ -84,11 +84,12 @@ //---------------------------------------------------------------------------- -#if !defined(KOKKOS_ENABLE_THREADS) && !defined(KOKKOS_ENABLE_CUDA) && \ - !defined(KOKKOS_ENABLE_OPENMP) && !defined(KOKKOS_ENABLE_HPX) && \ - !defined(KOKKOS_ENABLE_OPENMPTARGET) && !defined(KOKKOS_ENABLE_HIP) && \ - !defined(KOKKOS_ENABLE_SYCL) -#define KOKKOS_INTERNAL_NOT_PARALLEL +#if defined(KOKKOS_ENABLE_ATOMICS_BYPASS) && \ + (defined(KOKKOS_ENABLE_THREADS) || defined(KOKKOS_ENABLE_CUDA) || \ + defined(KOKKOS_ENABLE_OPENMP) || defined(KOKKOS_ENABLE_HPX) || \ + defined(KOKKOS_ENABLE_OPENMPTARGET) || defined(KOKKOS_ENABLE_HIP) || \ + defined(KOKKOS_ENABLE_SYCL) || defined(KOKKOS_ENABLE_OPENACC)) +#error Atomics may only be disabled if neither a host parallel nor a device backend is enabled #endif #define KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA @@ -339,12 +340,6 @@ #define KOKKOS_IMPL_DEVICE_FUNCTION #endif -// Temporary solution for SYCL not supporting printf in kernels. -// Might disappear at any point once we have found another solution. -#if !defined(KOKKOS_IMPL_DO_NOT_USE_PRINTF) -#define KOKKOS_IMPL_DO_NOT_USE_PRINTF(...) ::printf(__VA_ARGS__) -#endif - //---------------------------------------------------------------------------- // Define final version of functions. This is so that clang tidy can find these // macros more easily @@ -433,22 +428,6 @@ #define KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_SERIAL #endif -//---------------------------------------------------------------------------- -// Determine for what space the code is being compiled: -#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_3) - -#if defined(__CUDACC__) && defined(__CUDA_ARCH__) && defined(KOKKOS_ENABLE_CUDA) -#define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA -#elif defined(__SYCL_DEVICE_ONLY__) && defined(KOKKOS_ENABLE_SYCL) -#define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL -#elif defined(__HIPCC__) && defined(__HIP_DEVICE_COMPILE__) && \ - defined(KOKKOS_ENABLE_HIP) -#define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU -#else -#define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST -#endif - -#endif //---------------------------------------------------------------------------- // Remove surrounding parentheses if present diff --git a/lib/kokkos/core/src/Kokkos_MasterLock.hpp b/lib/kokkos/core/src/Kokkos_MasterLock.hpp deleted file mode 100644 index 1d09617371..0000000000 --- a/lib/kokkos/core/src/Kokkos_MasterLock.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#include -static_assert(false, - "Including non-public Kokkos header files is not allowed."); -#endif -#ifndef KOKKOS_MASTER_LOCK_HPP -#define KOKKOS_MASTER_LOCK_HPP - -#include - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - -namespace Kokkos { -namespace Experimental { - -// my be used to coordinate work between master instances -// SHOULD NOT be used within a parallel algorithm -// -// This lock should be used with with a scoped lock guard -// i.e. std::unique_lock, std::lock_guard -// -// cannot be copied or moved -// has the following functions available -// -// Lock() -// ~Lock() -// -// void lock() -// void unlock() -// bool try_lock() -// -template -class MasterLock; - -} // namespace Experimental -} // namespace Kokkos - -#endif - -#endif // KOKKOS_MASTER_LOCK_HPP diff --git a/lib/kokkos/core/src/Kokkos_MathematicalConstants.hpp b/lib/kokkos/core/src/Kokkos_MathematicalConstants.hpp index 51a50d347d..1a77f373fd 100644 --- a/lib/kokkos/core/src/Kokkos_MathematicalConstants.hpp +++ b/lib/kokkos/core/src/Kokkos_MathematicalConstants.hpp @@ -51,24 +51,6 @@ KOKKOS_IMPL_MATH_CONSTANT(phi, 1.618033988749894848204586834365638118L); } // namespace Kokkos::numbers -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -namespace Kokkos::Experimental { -using Kokkos::numbers::e_v; -using Kokkos::numbers::egamma_v; -using Kokkos::numbers::inv_pi_v; -using Kokkos::numbers::inv_sqrt3_v; -using Kokkos::numbers::inv_sqrtpi_v; -using Kokkos::numbers::ln10_v; -using Kokkos::numbers::ln2_v; -using Kokkos::numbers::log10e_v; -using Kokkos::numbers::log2e_v; -using Kokkos::numbers::phi_v; -using Kokkos::numbers::pi_v; -using Kokkos::numbers::sqrt2_v; -using Kokkos::numbers::sqrt3_v; -} // namespace Kokkos::Experimental -#endif - #ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_MATHCONSTANTS #undef KOKKOS_IMPL_PUBLIC_INCLUDE #undef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_MATHCONSTANTS diff --git a/lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp b/lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp index ee64c67b93..3fead8dd29 100644 --- a/lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp +++ b/lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp @@ -92,16 +92,6 @@ using promote_3_t = typename promote_3::type; #endif #endif -#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_3) -#define KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - USING_DECLARATIONS_IN_EXPERIMENTAL_NAMESPACE) \ - USING_DECLARATIONS_IN_EXPERIMENTAL_NAMESPACE -#else -#define KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - USING_DECLARATIONS_IN_EXPERIMENTAL_NAMESPACE) \ - /* nothing */ -#endif - #define KOKKOS_IMPL_MATH_UNARY_FUNCTION(FUNC) \ KOKKOS_INLINE_FUNCTION float FUNC(float x) { \ using KOKKOS_IMPL_MATH_FUNCTIONS_NAMESPACE::FUNC; \ @@ -128,13 +118,7 @@ using promote_3_t = typename promote_3::type; T x) { \ using KOKKOS_IMPL_MATH_FUNCTIONS_NAMESPACE::FUNC; \ return FUNC(static_cast(x)); \ - } \ - KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - namespace Experimental { \ - using ::Kokkos::FUNC; \ - using ::Kokkos::FUNC##f; \ - using ::Kokkos::FUNC##l; \ - }) + } // isinf, isnan, and isinfinite do not work on Windows with CUDA with std:: // getting warnings about calling host function in device function then @@ -151,9 +135,7 @@ using promote_3_t = typename promote_3::type; KOKKOS_INLINE_FUNCTION std::enable_if_t, bool> FUNC( \ T x) { \ return ::FUNC(static_cast(x)); \ - } \ - KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - namespace Experimental { using ::Kokkos::FUNC; }) + } #else #define KOKKOS_IMPL_MATH_UNARY_PREDICATE(FUNC) \ KOKKOS_INLINE_FUNCTION bool FUNC(float x) { \ @@ -173,9 +155,7 @@ using promote_3_t = typename promote_3::type; T x) { \ using KOKKOS_IMPL_MATH_FUNCTIONS_NAMESPACE::FUNC; \ return FUNC(static_cast(x)); \ - } \ - KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - namespace Experimental { using ::Kokkos::FUNC; }) + } #endif #define KOKKOS_IMPL_MATH_BINARY_FUNCTION(FUNC) \ @@ -218,16 +198,10 @@ using promote_3_t = typename promote_3::type; long double> \ FUNC(T1 x, T2 y) { \ using Promoted = Kokkos::Impl::promote_2_t; \ - static_assert(std::is_same_v, ""); \ + static_assert(std::is_same_v); \ using std::FUNC; \ return FUNC(static_cast(x), static_cast(y)); \ - } \ - KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - namespace Experimental { \ - using ::Kokkos::FUNC; \ - using ::Kokkos::FUNC##f; \ - using ::Kokkos::FUNC##l; \ - }) + } #define KOKKOS_IMPL_MATH_TERNARY_FUNCTION(FUNC) \ KOKKOS_INLINE_FUNCTION float FUNC(float x, float y, float z) { \ @@ -314,8 +288,6 @@ inline long double abs(long double x) { using std::abs; return abs(x); } -KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( - namespace Experimental { using ::Kokkos::abs; }) KOKKOS_IMPL_MATH_UNARY_FUNCTION(fabs) KOKKOS_IMPL_MATH_BINARY_FUNCTION(fmod) KOKKOS_IMPL_MATH_BINARY_FUNCTION(remainder) @@ -336,12 +308,6 @@ KOKKOS_INLINE_FUNCTION float nanf(char const*) { return sycl::nan(0u); } KOKKOS_INLINE_FUNCTION double nan(char const*) { return sycl::nan(0ul); } #endif inline long double nanl(char const* arg) { return ::nanl(arg); } -KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( - namespace Experimental { - using ::Kokkos::nan; - using ::Kokkos::nanf; - using ::Kokkos::nanl; - }) // Exponential functions KOKKOS_IMPL_MATH_UNARY_FUNCTION(exp) // FIXME_NVHPC nvc++ has issues with exp2 @@ -478,7 +444,6 @@ KOKKOS_IMPL_MATH_UNARY_PREDICATE(signbit) // islessgreater // isunordered -#undef KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED #undef KOKKOS_IMPL_MATH_FUNCTIONS_NAMESPACE #undef KOKKOS_IMPL_MATH_UNARY_FUNCTION #undef KOKKOS_IMPL_MATH_UNARY_PREDICATE diff --git a/lib/kokkos/core/src/Kokkos_MinMaxClamp.hpp b/lib/kokkos/core/src/Kokkos_MinMax.hpp similarity index 83% rename from lib/kokkos/core/src/Kokkos_MinMaxClamp.hpp rename to lib/kokkos/core/src/Kokkos_MinMax.hpp index 37a28a80b6..5c60a88bfb 100644 --- a/lib/kokkos/core/src/Kokkos_MinMaxClamp.hpp +++ b/lib/kokkos/core/src/Kokkos_MinMax.hpp @@ -14,13 +14,8 @@ // //@HEADER -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#include -static_assert(false, - "Including non-public Kokkos header files is not allowed."); -#endif -#ifndef KOKKOS_MIN_MAX_CLAMP_HPP -#define KOKKOS_MIN_MAX_CLAMP_HPP +#ifndef KOKKOS_MIN_MAX_HPP +#define KOKKOS_MIN_MAX_HPP #include #include @@ -29,22 +24,6 @@ static_assert(false, namespace Kokkos { -// clamp -template -constexpr KOKKOS_INLINE_FUNCTION const T& clamp(const T& value, const T& lo, - const T& hi) { - KOKKOS_EXPECTS(!(hi < lo)); - return (value < lo) ? lo : (hi < value) ? hi : value; -} - -template -constexpr KOKKOS_INLINE_FUNCTION const T& clamp(const T& value, const T& lo, - const T& hi, - ComparatorType comp) { - KOKKOS_EXPECTS(!comp(hi, lo)); - return comp(value, lo) ? lo : comp(hi, value) ? hi : value; -} - // max template constexpr KOKKOS_INLINE_FUNCTION const T& max(const T& a, const T& b) { @@ -199,15 +178,6 @@ KOKKOS_INLINE_FUNCTION constexpr Kokkos::pair minmax( return result; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -namespace Experimental { -using ::Kokkos::clamp; -using ::Kokkos::max; -using ::Kokkos::min; -using ::Kokkos::minmax; -} // namespace Experimental -#endif - } // namespace Kokkos #endif diff --git a/lib/kokkos/core/src/Kokkos_Pair.hpp b/lib/kokkos/core/src/Kokkos_Pair.hpp index 7127c78280..9be8d8d7aa 100644 --- a/lib/kokkos/core/src/Kokkos_Pair.hpp +++ b/lib/kokkos/core/src/Kokkos_Pair.hpp @@ -28,6 +28,7 @@ #endif #include +#include #include namespace Kokkos { @@ -484,7 +485,6 @@ KOKKOS_FORCEINLINE_FUNCTION constexpr bool operator>=( } namespace Impl { - template struct is_pair_like : std::false_type {}; template diff --git a/lib/kokkos/core/src/Kokkos_Printf.hpp b/lib/kokkos/core/src/Kokkos_Printf.hpp index af20221a5a..63a4cce2ae 100644 --- a/lib/kokkos/core/src/Kokkos_Printf.hpp +++ b/lib/kokkos/core/src/Kokkos_Printf.hpp @@ -30,6 +30,9 @@ namespace Kokkos { // In contrast to std::printf, return void to get a consistent behavior across // backends. The GPU backends always return 1 and NVHPC only compiles if we // don't ask for the return value. +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) +using ::printf; +#else template KOKKOS_FORCEINLINE_FUNCTION void printf(const char* format, Args... args) { #ifdef KOKKOS_ENABLE_SYCL @@ -39,15 +42,13 @@ KOKKOS_FORCEINLINE_FUNCTION void printf(const char* format, Args... args) { else sycl::ext::oneapi::experimental::printf(format, args...); #else - if constexpr (sizeof...(Args) == 0) ::printf("%s", format); - // FIXME_OPENMPTARGET non-string-literal argument used in printf is not - // supported for spir64 -#if !(defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU)) + if constexpr (sizeof...(Args) == 0) + ::printf("%s", format); else ::printf(format, args...); #endif -#endif } +#endif } // namespace Kokkos diff --git a/lib/kokkos/core/src/Kokkos_Profiling_ProfileSection.hpp b/lib/kokkos/core/src/Kokkos_Profiling_ProfileSection.hpp index 29a04ac3b0..e7a9ba0c7e 100644 --- a/lib/kokkos/core/src/Kokkos_Profiling_ProfileSection.hpp +++ b/lib/kokkos/core/src/Kokkos_Profiling_ProfileSection.hpp @@ -22,49 +22,34 @@ #endif #include -#include #include #include -namespace Kokkos { -namespace Profiling { +namespace Kokkos::Profiling { + +class [[nodiscard]] ProfilingSection { + uint32_t sectionID; -class ProfilingSection { public: ProfilingSection(ProfilingSection const&) = delete; ProfilingSection& operator=(ProfilingSection const&) = delete; - ProfilingSection(const std::string& sectionName) { - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::createProfileSection(sectionName, &secID); - } +#if defined(__has_cpp_attribute) && __has_cpp_attribute(nodiscard) >= 201907 + [[nodiscard]] +#endif + explicit ProfilingSection(const std::string& sectionName) { + Kokkos::Profiling::createProfileSection(sectionName, §ionID); } - void start() { - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::startSection(secID); - } - } + void start() { Kokkos::Profiling::startSection(sectionID); } - void stop() { - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::stopSection(secID); - } - } + void stop() { Kokkos::Profiling::stopSection(sectionID); } - ~ProfilingSection() { - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::destroyProfileSection(secID); - } - } - - protected: - uint32_t secID; + ~ProfilingSection() { Kokkos::Profiling::destroyProfileSection(sectionID); } }; -} // namespace Profiling -} // namespace Kokkos +} // namespace Kokkos::Profiling #ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE #undef KOKKOS_IMPL_PUBLIC_INCLUDE diff --git a/lib/kokkos/core/src/Kokkos_Swap.hpp b/lib/kokkos/core/src/Kokkos_Swap.hpp new file mode 100644 index 0000000000..2f849a13ab --- /dev/null +++ b/lib/kokkos/core/src/Kokkos_Swap.hpp @@ -0,0 +1,68 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_SWAP_HPP +#define KOKKOS_SWAP_HPP + +#include + +#include +#include +#include + +namespace Kokkos { + +template +KOKKOS_FUNCTION constexpr std::enable_if_t && + std::is_move_assignable_v> +kokkos_swap(T& a, T& b) noexcept(std::is_nothrow_move_constructible_v&& + std::is_nothrow_move_assignable_v) { + T t(std::move(a)); + a = std::move(b); + b = std::move(t); +} + +namespace Impl { + +template +struct is_swappable { + template + static decltype(kokkos_swap(std::declval(), std::declval())) + test_swap(int); + struct Nope; + template + static Nope test_swap(long); + static constexpr bool value = + !std::is_same_v(0)), Nope>; +}; + +template +inline constexpr bool is_nothrow_swappable_v = + noexcept(kokkos_swap(std::declval(), std::declval())); + +} // namespace Impl + +template +KOKKOS_FUNCTION constexpr std::enable_if_t::value> +kokkos_swap(T (&a)[N], T (&b)[N]) noexcept(Impl::is_nothrow_swappable_v) { + for (std::size_t i = 0; i < N; ++i) { + kokkos_swap(a[i], b[i]); + } +} + +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/Kokkos_Tuners.hpp b/lib/kokkos/core/src/Kokkos_Tuners.hpp index 618401654e..f5ffc66af5 100644 --- a/lib/kokkos/core/src/Kokkos_Tuners.hpp +++ b/lib/kokkos/core/src/Kokkos_Tuners.hpp @@ -256,13 +256,14 @@ auto get_point_helper(const PointType& in, const ArrayType& indices, template struct GetPoint; -template -struct GetPoint> { +template +struct GetPoint< + PointType, + std::array> { using index_set_type = - std::array; + std::array; static auto build(const PointType& in, const index_set_type& indices) { - return get_point_helper(in, indices, std::make_index_sequence{}); + return get_point_helper(in, indices, std::make_index_sequence{}); } }; diff --git a/lib/kokkos/core/src/Kokkos_View.hpp b/lib/kokkos/core/src/Kokkos_View.hpp index bcbb28014c..484a0e6f62 100644 --- a/lib/kokkos/core/src/Kokkos_View.hpp +++ b/lib/kokkos/core/src/Kokkos_View.hpp @@ -39,7 +39,7 @@ static_assert(false, #ifdef KOKKOS_ENABLE_IMPL_MDSPAN #include #endif -#include +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -75,25 +75,59 @@ constexpr KOKKOS_INLINE_FUNCTION std::size_t count_valid_integers( (i6 != KOKKOS_INVALID_INDEX) + (i7 != KOKKOS_INVALID_INDEX); } -KOKKOS_INLINE_FUNCTION -void runtime_check_rank(const size_t rank, const size_t dyn_rank, - const bool is_void_spec, const size_t i0, - const size_t i1, const size_t i2, const size_t i3, - const size_t i4, const size_t i5, const size_t i6, - const size_t i7, const std::string& label) { +// FIXME Ideally, we would not instantiate this function for every possible View +// type. We should be able to only pass "extent" when we use mdspan. +template +KOKKOS_INLINE_FUNCTION void runtime_check_rank( + const View&, const bool is_void_spec, const size_t i0, const size_t i1, + const size_t i2, const size_t i3, const size_t i4, const size_t i5, + const size_t i6, const size_t i7, const char* label) { (void)(label); if (is_void_spec) { const size_t num_passed_args = count_valid_integers(i0, i1, i2, i3, i4, i5, i6, i7); + // We either allow to pass as many extents as the dynamic rank is, or + // as many extents as the total rank is. In the latter case, the given + // extents for the static dimensions must match the + // compile-time extents. + constexpr int rank = View::rank(); + constexpr int dyn_rank = View::rank_dynamic(); + const bool n_args_is_dyn_rank = num_passed_args == dyn_rank; + const bool n_args_is_rank = num_passed_args == rank; - if (num_passed_args != dyn_rank && num_passed_args != rank) { + if constexpr (rank != dyn_rank) { + if (n_args_is_rank) { + size_t new_extents[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; + for (int i = dyn_rank; i < rank; ++i) + if (new_extents[i] != View::static_extent(i)) { + KOKKOS_IF_ON_HOST( + const std::string message = + "The specified run-time extent for Kokkos::View '" + + std::string(label) + + "' does not match the compile-time extent in dimension " + + std::to_string(i) + ". The given extent is " + + std::to_string(new_extents[i]) + " but should be " + + std::to_string(View::static_extent(i)) + ".\n"; + Kokkos::abort(message.c_str());) + KOKKOS_IF_ON_DEVICE( + Kokkos::abort( + "The specified run-time extents for a Kokkos::View " + "do not match the compile-time extents.");) + } + } + } + + if (!n_args_is_dyn_rank && !n_args_is_rank) { KOKKOS_IF_ON_HOST( const std::string message = - "Constructor for Kokkos View '" + label + - "' has mismatched number of arguments. Number of arguments = " + + "Constructor for Kokkos::View '" + std::string(label) + + "' has mismatched number of arguments. The number " + "of arguments = " + std::to_string(num_passed_args) + - " but dynamic rank = " + std::to_string(dyn_rank) + " \n"; + " neither matches the dynamic rank = " + + std::to_string(dyn_rank) + + " nor the total rank = " + std::to_string(rank) + "\n"; Kokkos::abort(message.c_str());) KOKKOS_IF_ON_DEVICE(Kokkos::abort("Constructor for Kokkos View has " "mismatched number of arguments.");) @@ -814,15 +848,15 @@ class View : public ViewTraits { template static KOKKOS_FUNCTION void check_access_member_function_valid_args(Is...) { - static_assert(rank <= sizeof...(Is), ""); - static_assert(sizeof...(Is) <= 8, ""); - static_assert(Kokkos::Impl::are_integral::value, ""); + static_assert(rank <= sizeof...(Is)); + static_assert(sizeof...(Is) <= 8); + static_assert(Kokkos::Impl::are_integral::value); } template static KOKKOS_FUNCTION void check_operator_parens_valid_args(Is...) { - static_assert(rank == sizeof...(Is), ""); - static_assert(Kokkos::Impl::are_integral::value, ""); + static_assert(rank == sizeof...(Is)); + static_assert(Kokkos::Impl::are_integral::value); } public: @@ -1402,21 +1436,30 @@ class View : public ViewTraits { "execution space"); } - size_t i0 = arg_layout.dimension[0]; - size_t i1 = arg_layout.dimension[1]; - size_t i2 = arg_layout.dimension[2]; - size_t i3 = arg_layout.dimension[3]; - size_t i4 = arg_layout.dimension[4]; - size_t i5 = arg_layout.dimension[5]; - size_t i6 = arg_layout.dimension[6]; - size_t i7 = arg_layout.dimension[7]; +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + is_layouttiled::value) { + size_t i0 = arg_layout.dimension[0]; + size_t i1 = arg_layout.dimension[1]; + size_t i2 = arg_layout.dimension[2]; + size_t i3 = arg_layout.dimension[3]; + size_t i4 = arg_layout.dimension[4]; + size_t i5 = arg_layout.dimension[5]; + size_t i6 = arg_layout.dimension[6]; + size_t i7 = arg_layout.dimension[7]; - const std::string& alloc_name = - Impl::get_property(prop_copy); - Impl::runtime_check_rank( - rank, rank_dynamic, - std::is_same::value, i0, i1, i2, i3, - i4, i5, i6, i7, alloc_name); + const std::string& alloc_name = + Impl::get_property(prop_copy); + Impl::runtime_check_rank( + *this, std::is_same::value, i0, i1, + i2, i3, i4, i5, i6, i7, alloc_name.c_str()); + } +#endif Kokkos::Impl::SharedAllocationRecord<>* record = m_map.allocate_shared( prop_copy, arg_layout, Impl::ViewCtorProp::has_execution_space); @@ -1445,6 +1488,29 @@ class View : public ViewTraits { typename Impl::ViewCtorProp::pointer_type>::value, "Constructing View to wrap user memory must supply matching pointer " "type"); + +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + is_layouttiled::value) { + size_t i0 = arg_layout.dimension[0]; + size_t i1 = arg_layout.dimension[1]; + size_t i2 = arg_layout.dimension[2]; + size_t i3 = arg_layout.dimension[3]; + size_t i4 = arg_layout.dimension[4]; + size_t i5 = arg_layout.dimension[5]; + size_t i6 = arg_layout.dimension[6]; + size_t i7 = arg_layout.dimension[7]; + + Impl::runtime_check_rank( + *this, std::is_same::value, i0, i1, + i2, i3, i4, i5, i6, i7, "UNMANAGED"); + } +#endif } // Simple dimension-only layout diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.cpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.cpp index f54c44d66f..99daf379b6 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.cpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.cpp @@ -58,8 +58,10 @@ void Kokkos::Experimental::OpenACC::impl_initialize( Impl::OpenACCInternal::m_acc_device_num = acc_get_device_num(acc_device_host); } else { + using Kokkos::Impl::get_visible_devices; + std::vector const& visible_devices = get_visible_devices(); using Kokkos::Impl::get_gpu; - int const dev_num = get_gpu(settings); + int const dev_num = get_gpu(settings).value_or(visible_devices[0]); acc_set_device_num(dev_num, Impl::OpenACC_Traits::dev_type); Impl::OpenACCInternal::m_acc_device_num = dev_num; } diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.hpp index b012f6a42a..5155bee33d 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.hpp @@ -91,7 +91,11 @@ class OpenACC { #else int concurrency() const { return 256000; } // FIXME_OPENACC #endif - static bool in_parallel() { return acc_on_device(acc_device_not_host); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED static bool in_parallel() { + return acc_on_device(acc_device_not_host); + } +#endif uint32_t impl_instance_id() const noexcept; Impl::OpenACCInternal* impl_internal_space_instance() const { return m_space_instance.get(); diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACCSpace.cpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACCSpace.cpp index 141ec77fd1..acc0dcd3c6 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACCSpace.cpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACCSpace.cpp @@ -19,8 +19,8 @@ #include #include #include -#include #include +#include #include @@ -66,6 +66,19 @@ void *Kokkos::Experimental::OpenACCSpace::impl_allocate( ptr = acc_malloc(arg_alloc_size); + if (!ptr) { + size_t alignment = 1; // OpenACC does not handle alignment + using Kokkos::Experimental::RawMemoryAllocationFailure; + auto failure_mode = + arg_alloc_size > 0 + ? RawMemoryAllocationFailure::FailureMode::OutOfMemoryError + : RawMemoryAllocationFailure::FailureMode::InvalidAllocationSize; + auto alloc_mechanism = + RawMemoryAllocationFailure::AllocationMechanism::OpenACCMalloc; + throw RawMemoryAllocationFailure(arg_alloc_size, alignment, failure_mode, + alloc_mechanism); + } + if (Kokkos::Profiling::profileLibraryLoaded()) { const size_t reported_size = (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp index 4aed7e00f7..ca022192b0 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp @@ -34,7 +34,7 @@ struct Kokkos::Impl::DeepCopy 0) { - acc_memcpy_device(dst, const_cast(src), n); + acc_memcpy_device_async(dst, const_cast(src), n, acc_async_noval); } } DeepCopy(const Kokkos::Experimental::OpenACC& exec, void* dst, @@ -52,7 +52,7 @@ struct Kokkos::Impl::DeepCopy { DeepCopy(void* dst, const void* src, size_t n) { if (n > 0) { - acc_memcpy_device(dst, const_cast(src), n); + acc_memcpy_device_async(dst, const_cast(src), n, acc_async_noval); } } DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { @@ -60,7 +60,7 @@ struct Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); if (n > 0) { - acc_memcpy_device(dst, const_cast(src), n); + acc_memcpy_device_async(dst, const_cast(src), n, acc_async_noval); } } }; @@ -70,7 +70,9 @@ struct Kokkos::Impl::DeepCopy { DeepCopy(void* dst, const void* src, size_t n) { - if (n > 0) acc_memcpy_to_device(dst, const_cast(src), n); + if (n > 0) + acc_memcpy_to_device_async(dst, const_cast(src), n, + acc_async_noval); } DeepCopy(const Kokkos::Experimental::OpenACC& exec, void* dst, const void* src, size_t n) { @@ -85,7 +87,8 @@ struct Kokkos::Impl::DeepCopy { DeepCopy(void* dst, const void* src, size_t n) { if (n > 0) { - acc_memcpy_to_device(dst, const_cast(src), n); + acc_memcpy_to_device_async(dst, const_cast(src), n, + acc_async_noval); } } DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { @@ -93,7 +96,8 @@ struct Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); if (n > 0) { - acc_memcpy_to_device(dst, const_cast(src), n); + acc_memcpy_to_device_async(dst, const_cast(src), n, + acc_async_noval); } } }; @@ -104,7 +108,8 @@ struct Kokkos::Impl::DeepCopy { DeepCopy(void* dst, const void* src, size_t n) { if (n > 0) { - acc_memcpy_from_device(dst, const_cast(src), n); + acc_memcpy_from_device_async(dst, const_cast(src), n, + acc_async_noval); } } DeepCopy(const Kokkos::Experimental::OpenACC& exec, void* dst, @@ -120,14 +125,17 @@ template struct Kokkos::Impl::DeepCopy< Kokkos::HostSpace, Kokkos::Experimental::OpenACCSpace, ExecutionSpace> { DeepCopy(void* dst, const void* src, size_t n) { - if (n > 0) acc_memcpy_from_device(dst, const_cast(src), n); + if (n > 0) + acc_memcpy_from_device_async(dst, const_cast(src), n, + acc_async_noval); } DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { exec.fence( "Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); if (n > 0) { - acc_memcpy_from_device(dst, const_cast(src), n); + acc_memcpy_from_device_async(dst, const_cast(src), n, + acc_async_noval); } } }; diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Instance.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Instance.hpp index 6645616ba5..c3d7236872 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Instance.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Instance.hpp @@ -35,7 +35,7 @@ class OpenACCInternal { public: static int m_acc_device_num; - int m_async_arg = acc_async_sync; + int m_async_arg = acc_async_noval; OpenACCInternal() = default; @@ -43,7 +43,7 @@ class OpenACCInternal { bool verify_is_initialized(const char* const label) const; - void initialize(int async_arg = acc_async_sync); + void initialize(int async_arg = acc_async_noval); void finalize(); bool is_initialized() const; diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_ParallelReduce_MDRange.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_ParallelReduce_MDRange.hpp index 2c7793dc11..5afb5e75d3 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_ParallelReduce_MDRange.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_ParallelReduce_MDRange.hpp @@ -31,7 +31,7 @@ template ::value, + static_assert(Kokkos::Impl::always_false::value, "not implemented"); } }; @@ -136,6 +136,7 @@ class Kokkos::Impl::ParallelReduce> struct OpenACCParallelReduceHelper { OpenACCParallelReduceHelper(Functor const&, Reducer const&, Policy const&) { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "not implemented"); } }; @@ -140,6 +140,7 @@ class Kokkos::Impl::ParallelReduce::value, + static_assert(Kokkos::Impl::always_false::value, "not implemented"); } }; @@ -129,7 +129,7 @@ KOKKOS_INLINE_FUNCTION void parallel_reduce( const Impl::TeamThreadRangeBoundariesStruct& loop_boundaries, const Lambda& lambda, const JoinType& join, ValueType& init_result) { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "custom reduction is not implemented"); } @@ -140,7 +140,7 @@ KOKKOS_INLINE_FUNCTION void parallel_reduce( const Impl::ThreadVectorRangeBoundariesStruct< iType, Impl::OpenACCTeamMember>& loop_boundaries, const Lambda& lambda, const JoinType& join, ValueType& init_result) { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "custom reduction is not implemented"); } @@ -394,6 +394,7 @@ KOKKOS_INLINE_FUNCTION void parallel_reduce( vector_length); \ functor(team, val); \ } \ + acc_wait(async_arg); \ aval = val; \ } \ } // namespace Kokkos::Experimental::Impl diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp index 91faa64f73..76e1514476 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp @@ -16,92 +16,11 @@ #define KOKKOS_IMPL_PUBLIC_INCLUDE -#include +#include #include -#include -#include - -#ifdef KOKKOS_ENABLE_DEBUG -Kokkos::Impl::SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::OpenACCSpace, void>::s_root_record; -#endif - -Kokkos::Impl::SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -Kokkos::Impl::SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::OpenACCSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - Kokkos::Impl::DeepCopy( - RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - Kokkos::fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -Kokkos::Impl::SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::OpenACC &arg_exec_space, - const Kokkos::Experimental::OpenACCSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_exec_space, arg_space, - arg_label, arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - Kokkos::Impl::DeepCopy( - arg_exec_space, RecordBase::m_alloc_ptr, &header, - sizeof(SharedAllocationHeader)); -} - -//============================================================================== -// {{{1 +#include #include -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicitly instantiate these CRTP base classes -// here, where we have access to the associated *_timpl.hpp header files. -template class Kokkos::Impl::HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace>; -template class Kokkos::Impl::SharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace>; - -// end Explicit instantiations of CRTP Base classes }}}1 -//============================================================================== +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::OpenACCSpace); diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.hpp index cf83a5b27b..cde5ecdcb7 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.hpp @@ -20,55 +20,7 @@ #include #include -#include - -template <> -class Kokkos::Impl::SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace> { - private: - friend class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace>; - friend class SharedAllocationRecordCommon; - friend Kokkos::Experimental::OpenACCSpace; - - using base_t = HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace>; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - /**\brief Root record for tracked allocations from this OpenACCSpace - * instance */ - static RecordBase s_root_record; - - const Kokkos::Experimental::OpenACCSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::OpenACCSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::OpenACC& exec_space, - const Kokkos::Experimental::OpenACCSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); - - SharedAllocationRecord( - const Kokkos::Experimental::OpenACCSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); -}; +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::OpenACCSpace); #endif diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Team.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Team.hpp index 4ec71f56ef..20ea392452 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Team.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Team.hpp @@ -82,7 +82,7 @@ class OpenACCTeamMember { // FIXME_OPENACC: team_broadcast() is not implemented. template KOKKOS_FUNCTION void team_broadcast(ValueType& value, int thread_id) const { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "Kokkos Error: team_broadcast() is not implemented for the " "OpenACC backend"); return ValueType(); @@ -99,7 +99,7 @@ class OpenACCTeamMember { template KOKKOS_FUNCTION ValueType team_reduce(const ValueType& value, const JoinOp& op_in) const { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "Kokkos Error: team_reduce() is not implemented for the " "OpenACC backend"); return ValueType(); @@ -110,7 +110,7 @@ class OpenACCTeamMember { KOKKOS_FUNCTION ArgType team_scan(const ArgType& /*value*/, ArgType* const /*global_accum*/) const { static_assert( - !Kokkos::Impl::always_true::value, + Kokkos::Impl::always_false::value, "Kokkos Error: team_scan() is not implemented for the OpenACC backend"); return ArgType(); } diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp index 9a169a435c..81f2c5c305 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp @@ -81,29 +81,16 @@ bool OpenMP::impl_is_initialized() noexcept { return Impl::OpenMPInternal::singleton().is_initialized(); } -bool OpenMP::in_parallel(OpenMP const &exec_space) noexcept { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - return ( - (exec_space.impl_internal_space_instance()->m_level < omp_get_level()) && - (!Impl::t_openmp_instance || - Impl::t_openmp_instance->m_level < omp_get_level())); -#else +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +KOKKOS_DEPRECATED bool OpenMP::in_parallel(OpenMP const &exec_space) noexcept { return exec_space.impl_internal_space_instance()->m_level < omp_get_level(); -#endif } +#endif int OpenMP::impl_thread_pool_size() const noexcept { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - return OpenMP::in_parallel(*this) - ? omp_get_num_threads() - : (Impl::t_openmp_instance - ? Impl::t_openmp_instance->m_pool_size - : impl_internal_space_instance()->m_pool_size); -#else - return OpenMP::in_parallel(*this) + return (impl_internal_space_instance()->get_level() < omp_get_level()) ? omp_get_num_threads() : impl_internal_space_instance()->m_pool_size; -#endif } int OpenMP::impl_max_hardware_threads() noexcept { diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp index 594f40d524..11292af84a 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp @@ -27,14 +27,7 @@ static_assert(false, #include -#include -#include #include - -#ifdef KOKKOS_ENABLE_HBWSPACE -#include -#endif - #include #include #include @@ -45,6 +38,8 @@ static_assert(false, #include +#include +#include #include /*--------------------------------------------------------------------------*/ @@ -53,11 +48,6 @@ namespace Kokkos { namespace Impl { class OpenMPInternal; - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -// FIXME_OPENMP we can remove this after we remove partition_master -inline thread_local OpenMPInternal* t_openmp_instance = nullptr; -#endif } // namespace Impl /// \class OpenMP @@ -67,12 +57,7 @@ class OpenMP { //! Tag this class as a kokkos execution space using execution_space = OpenMP; - using memory_space = -#ifdef KOKKOS_ENABLE_HBWSPACE - Experimental::HBWSpace; -#else - HostSpace; -#endif + using memory_space = HostSpace; //! This execution space preferred device_type using device_type = Kokkos::Device; @@ -87,8 +72,10 @@ class OpenMP { /// \brief Print configuration information to the given output stream. void print_configuration(std::ostream& os, bool verbose = false) const; +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 /// \brief is the instance running a parallel algorithm - static bool in_parallel(OpenMP const& = OpenMP()) noexcept; + KOKKOS_DEPRECATED static bool in_parallel(OpenMP const& = OpenMP()) noexcept; +#endif /// \brief Wait until all dispatched functors complete on the given instance /// @@ -104,18 +91,6 @@ class OpenMP { /// This always returns false on OpenMP inline static bool is_asynchronous(OpenMP const& = OpenMP()) noexcept; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - /// \brief Partition the default instance and call 'f' on each new 'master' - /// thread - /// - /// Func is a functor with the following signiture - /// void( int partition_id, int num_partitions ) - template - KOKKOS_DEPRECATED static void partition_master( - F const& f, int requested_num_partitions = 0, - int requested_partition_size = 0); -#endif - #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 static int concurrency(OpenMP const& = OpenMP()); #else @@ -166,14 +141,7 @@ class OpenMP { }; inline int OpenMP::impl_thread_pool_rank() noexcept { - // FIXME_OPENMP Can we remove this when removing partition_master? It's only - // used in one partition_master test -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - KOKKOS_IF_ON_HOST( - (return Impl::t_openmp_instance ? 0 : omp_get_thread_num();)) -#else KOKKOS_IF_ON_HOST((return omp_get_thread_num();)) -#endif KOKKOS_IF_ON_DEVICE((return -1;)) } diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp index 44f0fbc180..32172fbc6c 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp @@ -47,61 +47,6 @@ void OpenMPInternal::release_lock() { desul::MemoryScopeDevice()); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -void OpenMPInternal::validate_partition_impl(const int nthreads, - int &num_partitions, - int &partition_size) { - if (nthreads == 1) { - num_partitions = 1; - partition_size = 1; - } else if (num_partitions < 1 && partition_size < 1) { - int idle = nthreads; - for (int np = 2; np <= nthreads; ++np) { - for (int ps = 1; ps <= nthreads / np; ++ps) { - if (nthreads - np * ps < idle) { - idle = nthreads - np * ps; - num_partitions = np; - partition_size = ps; - } - if (idle == 0) { - break; - } - } - } - } else if (num_partitions < 1 && partition_size > 0) { - if (partition_size <= nthreads) { - num_partitions = nthreads / partition_size; - } else { - num_partitions = 1; - partition_size = nthreads; - } - } else if (num_partitions > 0 && partition_size < 1) { - if (num_partitions <= nthreads) { - partition_size = nthreads / num_partitions; - } else { - num_partitions = nthreads; - partition_size = 1; - } - } else if (num_partitions * partition_size > nthreads) { - int idle = nthreads; - const int NP = num_partitions; - const int PS = partition_size; - for (int np = NP; np > 0; --np) { - for (int ps = PS; ps > 0; --ps) { - if ((np * ps <= nthreads) && (nthreads - np * ps < idle)) { - idle = nthreads - np * ps; - num_partitions = np; - partition_size = ps; - } - if (idle == 0) { - break; - } - } - } - } -} -#endif - void OpenMPInternal::clear_thread_data() { const size_t member_bytes = sizeof(int64_t) * @@ -359,8 +304,6 @@ void OpenMPInternal::finalize() { } m_initialized = false; - - Kokkos::Profiling::finalize(); } void OpenMPInternal::print_configuration(std::ostream &s) const { diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp index 4586406e16..35b9aa93ba 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp @@ -41,16 +41,6 @@ #include /*--------------------------------------------------------------------------*/ -namespace Kokkos { -namespace Impl { - -inline bool execute_in_serial(OpenMP const& space = OpenMP()) { - return (OpenMP::in_parallel(space) && - !(omp_get_nested() && (omp_get_level() == 1))); -} - -} // namespace Impl -} // namespace Kokkos namespace Kokkos { namespace Impl { @@ -99,11 +89,6 @@ class OpenMPInternal { // Release lock used to protect access to m_pool void release_lock(); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - static void validate_partition_impl(const int nthreads, int& num_partitions, - int& partition_size); -#endif - void resize_thread_data(size_t pool_reduce_bytes, size_t team_reduce_bytes, size_t team_shared_bytes, size_t thread_local_bytes); @@ -115,6 +100,8 @@ class OpenMPInternal { return m_pool[i]; } + int get_level() const { return m_level; } + bool is_initialized() const { return m_initialized; } bool verify_is_initialized(const char* const label) const; @@ -122,32 +109,20 @@ class OpenMPInternal { void print_configuration(std::ostream& s) const; }; -} // namespace Impl - -namespace Experimental { - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -template <> -class MasterLock { - public: - void lock() { omp_set_lock(&m_lock); } - void unlock() { omp_unset_lock(&m_lock); } - bool try_lock() { return static_cast(omp_test_lock(&m_lock)); } - - KOKKOS_DEPRECATED MasterLock() { omp_init_lock(&m_lock); } - ~MasterLock() { omp_destroy_lock(&m_lock); } - - MasterLock(MasterLock const&) = delete; - MasterLock(MasterLock&&) = delete; - MasterLock& operator=(MasterLock const&) = delete; - MasterLock& operator=(MasterLock&&) = delete; - - private: - omp_lock_t m_lock; -}; +inline bool execute_in_serial(OpenMP const& space = OpenMP()) { +// The default value returned by `omp_get_max_active_levels` with gcc version +// lower than 11.1.0 is 2147483647 instead of 1. +#if (!defined(KOKKOS_COMPILER_GNU) || KOKKOS_COMPILER_GNU >= 1110) && \ + _OPENMP >= 201511 + bool is_nested = omp_get_max_active_levels() > 1; +#else + bool is_nested = static_cast(omp_get_nested()); #endif + return (space.impl_internal_space_instance()->get_level() < omp_get_level() && + !(is_nested && (omp_get_level() == 1))); +} -} // namespace Experimental +} // namespace Impl namespace Experimental { namespace Impl { @@ -202,48 +177,6 @@ std::vector partition_space(OpenMP const& main_instance, return Impl::create_OpenMP_instances(main_instance, weights); } } // namespace Experimental - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -template -KOKKOS_DEPRECATED void OpenMP::partition_master(F const& f, int num_partitions, - int partition_size) { -#if _OPENMP >= 201511 - if (omp_get_max_active_levels() > 1) { -#else - if (omp_get_nested()) { -#endif - using Exec = Impl::OpenMPInternal; - - Exec* prev_instance = &Impl::OpenMPInternal::singleton(); - - Exec::validate_partition_impl(prev_instance->m_pool_size, num_partitions, - partition_size); - -#pragma omp parallel num_threads(num_partitions) - { - Exec thread_local_instance(partition_size); - Impl::t_openmp_instance = &thread_local_instance; - - size_t pool_reduce_bytes = 32 * partition_size; - size_t team_reduce_bytes = 32 * partition_size; - size_t team_shared_bytes = 1024 * partition_size; - size_t thread_local_bytes = 1024; - - thread_local_instance.resize_thread_data( - pool_reduce_bytes, team_reduce_bytes, team_shared_bytes, - thread_local_bytes); - - omp_set_num_threads(partition_size); - f(omp_get_thread_num(), omp_get_num_threads()); - Impl::t_openmp_instance = nullptr; - } - } else { - // nested openmp not enabled - f(0, 1); - } -} -#endif - } // namespace Kokkos #endif diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp index 96dc664eb7..823a7e668e 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp @@ -147,15 +147,7 @@ class ParallelFor, Kokkos::OpenMP> { inline ParallelFor(const FunctorType& arg_functor, Policy arg_policy) : m_instance(nullptr), m_functor(arg_functor), m_policy(arg_policy) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } }; @@ -251,16 +243,9 @@ class ParallelFor, inline ParallelFor(const FunctorType& arg_functor, MDRangePolicy arg_policy) : m_instance(nullptr), m_iter(arg_policy, arg_functor) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } + template static int max_tile_size_product(const Policy&, const Functor&) { /** @@ -409,15 +394,7 @@ class ParallelFor, m_shmem_size(arg_policy.scratch_size(0) + arg_policy.scratch_size(1) + FunctorTeamShmemSize::value( arg_functor, arg_policy.team_size())) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } }; diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp index 52cdef18e6..05fd1c9dce 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp @@ -170,15 +170,7 @@ class ParallelReduce, m_functor_reducer(arg_functor_reducer), m_policy(arg_policy), m_result_ptr(arg_view.data()) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, @@ -319,15 +311,7 @@ class ParallelReduce::accessible, @@ -543,15 +527,7 @@ class ParallelReduce::value( arg_functor_reducer.get_functor(), arg_policy.team_size())) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif static_assert( Kokkos::Impl::MemorySpaceAccess, inline ParallelScan(const FunctorType& arg_functor, const Policy& arg_policy) : m_instance(nullptr), m_functor(arg_functor), m_policy(arg_policy) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } }; @@ -292,15 +284,7 @@ class ParallelScanWithTotal, Kokkos::Impl::MemorySpaceAccess::accessible, "Kokkos::OpenMP parallel_scan result must be host-accessible!"); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } //---------------------------------------- diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget.hpp index adf972dd08..ea4e7f6bab 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget.hpp @@ -65,7 +65,11 @@ class OpenMPTarget { using scratch_memory_space = ScratchMemorySpace; - inline static bool in_parallel() { return omp_in_parallel(); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED inline static bool in_parallel() { + return omp_in_parallel(); + } +#endif static void fence(const std::string& name = "Kokkos::OpenMPTarget::fence: Unnamed Instance Fence"); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp index 81fbc56de0..a414b34d7c 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp @@ -37,7 +37,6 @@ #include #include #include -#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -110,79 +109,13 @@ void OpenMPTargetSpace::deallocate(const char* arg_label, } // namespace Experimental } // namespace Kokkos -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::OpenMPTargetSpace, void>::s_root_record; -#endif - -SharedAllocationRecord::~SharedAllocationRecord() { - auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, (alloc_size - sizeof(SharedAllocationHeader))); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::OpenMPTargetSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // TODO DeepCopy - // DeepCopy - Kokkos::Impl::DeepCopy( - RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - Kokkos::fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -//---------------------------------------------------------------------------- - -} // namespace Impl -} // namespace Kokkos - //============================================================================== // {{{1 #include -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; -template class SharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; - -} // end namespace Impl -} // end namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::OpenMPTargetSpace); // end Explicit instantiations of CRTP Base classes }}}1 //============================================================================== diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp index e5b33d0982..ed625cfcc8 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp @@ -98,6 +98,16 @@ class OpenMPTargetSpace { ~OpenMPTargetSpace() = default; /**\brief Allocate untracked memory in the space */ + // FIXME_OPENMPTARGET Use execution space instance + void* allocate(const OpenMPTarget&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + // FIXME_OPENMPTARGET Use execution space instance + void* allocate(const OpenMPTarget&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -121,9 +131,6 @@ class OpenMPTargetSpace { const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = Kokkos::Tools::make_space_handle(name())) const; - - friend class Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::OpenMPTargetSpace, void>; }; } // namespace Experimental } // namespace Kokkos @@ -131,64 +138,8 @@ class OpenMPTargetSpace { //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- -namespace Kokkos { -namespace Impl { - -template <> -class SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace> { - private: - friend class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; - friend class SharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; - friend Kokkos::Experimental::OpenMPTargetSpace; - - using base_t = HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - /**\brief Root record for tracked allocations from this OpenMPTargetSpace - * instance */ - static RecordBase s_root_record; - - const Kokkos::Experimental::OpenMPTargetSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::OpenMPTargetSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::OpenMPTargetSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); - - public: - KOKKOS_INLINE_FUNCTION static SharedAllocationRecord* allocate( - const Kokkos::Experimental::OpenMPTargetSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc) { - KOKKOS_IF_ON_HOST( - (return new SharedAllocationRecord(arg_space, arg_label, arg_alloc);)) - KOKKOS_IF_ON_DEVICE( - ((void)arg_space; (void)arg_label; (void)arg_alloc; return nullptr;)) - } -}; - -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::OpenMPTargetSpace); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp index 1902c38409..b39f5aca35 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp @@ -75,6 +75,7 @@ int* OpenMPTargetExec::m_lock_array = nullptr; uint64_t OpenMPTargetExec::m_lock_size = 0; uint32_t* OpenMPTargetExec::m_uniquetoken_ptr = nullptr; int OpenMPTargetExec::MAX_ACTIVE_THREADS = 0; +std::mutex OpenMPTargetExec::m_mutex_scratch_ptr; void OpenMPTargetExec::clear_scratch() { Kokkos::Experimental::OpenMPTargetSpace space; @@ -98,6 +99,11 @@ void OpenMPTargetExec::resize_scratch(int64_t team_size, int64_t shmem_size_L0, int64_t shmem_size_L1, int64_t league_size) { Kokkos::Experimental::OpenMPTargetSpace space; + // Level-0 scratch when using clang/17 and higher comes from their OpenMP + // extension, `ompx_dyn_cgroup_mem`. +#if defined(KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS) + shmem_size_L0 = 0; +#endif const int64_t shmem_size = shmem_size_L0 + shmem_size_L1; // L0 + L1 scratch memory per team. const int64_t padding = shmem_size * 10 / 100; // Padding per team. diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp index 9e8844a6f2..3387108da3 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp @@ -178,8 +178,10 @@ void OpenMPTarget::impl_static_fence(const std::string& name) { } void OpenMPTarget::impl_initialize(InitializationSettings const& settings) { + using Kokkos::Impl::get_visible_devices; + std::vector const& visible_devices = get_visible_devices(); using Kokkos::Impl::get_gpu; - const int device_num = get_gpu(settings); + const int device_num = get_gpu(settings).value_or(visible_devices[0]); omp_set_default_device(device_num); Impl::OpenMPTargetInternal::impl_singleton()->impl_initialize(); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Macros.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Macros.hpp new file mode 100644 index 0000000000..2bd672f4d0 --- /dev/null +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Macros.hpp @@ -0,0 +1,46 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_OPENMPTARGET_MACROS_HPP +#define KOKKOS_OPENMPTARGET_MACROS_HPP + +// Intel architectures prefer the classical hierarchical parallelism that relies +// on OpenMP. +#if defined(KOKKOS_ARCH_INTEL_GPU) +#define KOKKOS_IMPL_OPENMPTARGET_HIERARCHICAL_INTEL_GPU +#endif + +// Define a macro for llvm compiler greater than version 17 and on NVIDIA and +// AMD GPUs. This would be useful in cases where non-OpenMP standard llvm +// extensions can be used. +#if defined(KOKKOS_COMPILER_CLANG) && (KOKKOS_COMPILER_CLANG >= 1700) && \ + (defined(KOKKOS_ARCH_AMD_GPU) || defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU)) +#define KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS +#endif + +#define KOKKOS_IMPL_OPENMPTARGET_PRAGMA_HELPER(x) _Pragma(#x) +#define KOKKOS_IMPL_OMPTARGET_PRAGMA(x) \ + KOKKOS_IMPL_OPENMPTARGET_PRAGMA_HELPER(omp target x) + +// Use scratch memory extensions to request dynamic shared memory for the +// right compiler/architecture combination. +#ifdef KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS +#define KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(N) ompx_dyn_cgroup_mem(N) +#else +#define KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(N) +#endif + +#endif // KOKKOS_OPENMPTARGET_MACROS_HPP diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp index 9767d8e53e..dcc509d2fa 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp @@ -21,16 +21,10 @@ #include #include #include -#include #include #include "Kokkos_OpenMPTarget_Abort.hpp" - -// Intel architectures prefer the classical hierarchical parallelism that relies -// on OpenMP. -#if defined(KOKKOS_ARCH_INTEL_GPU) -#define KOKKOS_IMPL_OPENMPTARGET_HIERARCHICAL_INTEL_GPU -#endif +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -113,14 +107,20 @@ class OpenMPTargetExecTeamMember { team_broadcast(value, thread_id); } - // FIXME_OPENMPTARGET this function has the wrong interface and currently - // ignores the reducer passed. - template - KOKKOS_INLINE_FUNCTION ValueType team_reduce(const ValueType& value, - const JoinOp&) const { + template + KOKKOS_INLINE_FUNCTION std::enable_if_t::value> + team_reduce(ReducerType const& reducer) const noexcept { + team_reduce(reducer, reducer.reference()); + } + + // FIXME_OPENMPTARGET this function currently ignores the reducer passed. + template + KOKKOS_INLINE_FUNCTION std::enable_if_t::value> + team_reduce(ReducerType const&, typename ReducerType::value_type& value) const + noexcept { #pragma omp barrier - using value_type = ValueType; + using value_type = typename ReducerType::value_type; // const JoinLambdaAdapter op(op_in); // Make sure there is enough scratch space: @@ -149,8 +149,9 @@ class OpenMPTargetExecTeamMember { } #pragma omp barrier } - return team_scratch[0]; + value = team_scratch[0]; } + /** \brief Intra-team exclusive prefix sum with team_rank() ordering * with intra-team non-deterministic ordering accumulation. * @@ -249,15 +250,37 @@ class OpenMPTargetExecTeamMember { // and L1 shmem size. TEAM_REDUCE_SIZE = 512 bytes saved per team for // hierarchical reduction. There is an additional 10% of the requested // scratch memory allocated per team as padding. Hence the product with 0.1. + // + // Use llvm extensions for dynamic shared memory with compilers/architecture + // combinations where it is supported. + // + // Size allocated in HBM will now change based on whether we use llvm + // extensions. +#if defined(KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS) + const int total_shmem = shmem_size_L1 + shmem_size_L1 * 0.1; +#else + const int total_shmem = + shmem_size_L0 + shmem_size_L1 + (shmem_size_L0 + shmem_size_L1) * 0.1; +#endif + + // Per team offset for buffer in HBM. const int reduce_offset = - m_shmem_block_index * - (shmem_size_L0 + shmem_size_L1 + - ((shmem_size_L0 + shmem_size_L1) * 0.1) + TEAM_REDUCE_SIZE); + m_shmem_block_index * (total_shmem + TEAM_REDUCE_SIZE); + +#if defined(KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS) + const int l1_offset = reduce_offset + TEAM_REDUCE_SIZE; + char* l0_scratch = + static_cast(llvm_omp_target_dynamic_shared_alloc()); + m_team_shared = scratch_memory_space( + l0_scratch, shmem_size_L0, static_cast(glb_scratch) + l1_offset, + shmem_size_L1); +#else const int l0_offset = reduce_offset + TEAM_REDUCE_SIZE; const int l1_offset = l0_offset + shmem_size_L0; m_team_shared = scratch_memory_space( (static_cast(glb_scratch) + l0_offset), shmem_size_L0, static_cast(glb_scratch) + l1_offset, shmem_size_L1); +#endif m_reduce_scratch = static_cast(glb_scratch) + reduce_offset; m_league_rank = league_rank; m_team_rank = omp_tid; @@ -751,6 +774,7 @@ class OpenMPTargetExec { int64_t thread_local_bytes, int64_t league_size); static void* m_scratch_ptr; + static std::mutex m_mutex_scratch_ptr; static int64_t m_scratch_size; static int* m_lock_array; static uint64_t m_lock_size; diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelFor_Team.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelFor_Team.hpp index 1abc925cae..26085f1140 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelFor_Team.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelFor_Team.hpp @@ -19,6 +19,7 @@ #include #include +#include #include #include @@ -140,8 +141,10 @@ class ParallelFor, // guarantees that the number of teams specified in the `num_teams` clause is // always less than or equal to the maximum concurrently running teams. #if !defined(KOKKOS_IMPL_OPENMPTARGET_HIERARCHICAL_INTEL_GPU) -#pragma omp target teams thread_limit(team_size) firstprivate(a_functor) \ - num_teams(max_active_teams) is_device_ptr(scratch_ptr) + KOKKOS_IMPL_OMPTARGET_PRAGMA( + teams thread_limit(team_size) firstprivate(a_functor) + num_teams(max_active_teams) is_device_ptr(scratch_ptr) + KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(shmem_size_L0)) #pragma omp parallel { if (omp_get_num_teams() > max_active_teams) diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Range.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Range.hpp index 4452af3846..caa568a892 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Range.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Range.hpp @@ -55,6 +55,9 @@ class ParallelReduce, const pointer_type m_result_ptr; bool m_result_ptr_on_device; const int m_result_ptr_num_elems; + // Only let one ParallelReduce instance at a time use the scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_memory_lock; using TagType = typename Policy::work_tag; public: @@ -105,7 +108,8 @@ class ParallelReduce, m_result_ptr_on_device( MemorySpaceAccess::accessible), - m_result_ptr_num_elems(arg_result_view.size()) {} + m_result_ptr_num_elems(arg_result_view.size()), + m_scratch_memory_lock(OpenMPTargetExec::m_mutex_scratch_ptr) {} }; } // namespace Impl diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Team.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Team.hpp index a302fa7151..8abffa47a4 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Team.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Team.hpp @@ -470,6 +470,10 @@ class ParallelReduce m_scratch_memory_lock; + public: void execute() const { const FunctorType& functor = m_functor_reducer.get_functor(); @@ -517,7 +521,8 @@ class ParallelReduce::value( - arg_functor_reducer.get_functor(), arg_policy.team_size())) {} + arg_functor_reducer.get_functor(), arg_policy.team_size())), + m_scratch_memory_lock(OpenMPTargetExec::m_mutex_scratch_ptr) {} }; } // namespace Impl diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelScan_Range.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelScan_Range.hpp index 1d6677a1df..c1f7851f41 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelScan_Range.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelScan_Range.hpp @@ -238,8 +238,10 @@ class ParallelScanWithTotal, if (!base_t::m_result_ptr_device_accessible) { const int size = base_t::m_functor_reducer.get_reducer().value_size(); - DeepCopy( - base_t::m_result_ptr, chunk_values.data() + (n_chunks - 1), size); + DeepCopy( + base_t::m_policy.space(), base_t::m_result_ptr, + chunk_values.data() + (n_chunks - 1), size); } } else if (!base_t::m_result_ptr_device_accessible) { base_t::m_functor_reducer.get_reducer().init(base_t::m_result_ptr); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_Common.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_Common.hpp index fb75f05f27..eb3dc3773c 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_Common.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_Common.hpp @@ -21,6 +21,7 @@ #include #include #include +#include namespace Kokkos { namespace Impl { @@ -394,9 +395,11 @@ struct ParallelReduceSpecialize, initializer(OpenMPTargetReducerWrapper ::init(omp_priv)) #if !defined(KOKKOS_IMPL_OPENMPTARGET_HIERARCHICAL_INTEL_GPU) -#pragma omp target teams num_teams(max_active_teams) thread_limit(team_size) \ - firstprivate(f) is_device_ptr(scratch_ptr) reduction(custom \ - : result) + KOKKOS_IMPL_OMPTARGET_PRAGMA( + teams num_teams(max_active_teams) thread_limit(team_size) + firstprivate(f) is_device_ptr(scratch_ptr) reduction(custom + : result) + KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(shmem_size_L0)) #pragma omp parallel reduction(custom : result) { if (omp_get_num_teams() > max_active_teams) @@ -482,9 +485,11 @@ struct ParallelReduceSpecialize, // Case where reduction is on a native data type. if constexpr (std::is_arithmetic::value) { -#pragma omp target teams num_teams(max_active_teams) thread_limit(team_size) map(to \ - : f) \ - is_device_ptr(scratch_ptr) reduction(+: result) + // Use scratch memory extensions to request dynamic shared memory for + // the right compiler/architecture combination. + KOKKOS_IMPL_OMPTARGET_PRAGMA(teams num_teams(max_active_teams) thread_limit(team_size) map(to: f) \ + is_device_ptr(scratch_ptr) reduction(+: result) \ + KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(shmem_size_L0)) #pragma omp parallel reduction(+ : result) { if (omp_get_num_teams() > max_active_teams) @@ -636,11 +641,13 @@ struct ParallelReduceSpecialize, return; } - -#pragma omp target teams num_teams(nteams) thread_limit(team_size) map(to \ - : f) \ - is_device_ptr(scratch_ptr) - { + // Use scratch memory extensions to request dynamic shared memory for the + // right compiler/architecture combination. + KOKKOS_IMPL_OMPTARGET_PRAGMA( + teams num_teams(nteams) thread_limit(team_size) map(to + : f) + is_device_ptr(scratch_ptr) + KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(shmem_size_L0)) { #pragma omp parallel { const int team_num = omp_get_team_num(); @@ -665,9 +672,8 @@ struct ParallelReduceSpecialize, int tree_neighbor_offset = 1; do { -#pragma omp target teams distribute parallel for simd map(to \ - : final_reducer) \ - is_device_ptr(scratch_ptr) +#pragma omp target teams distribute parallel for simd firstprivate( \ + final_reducer) is_device_ptr(scratch_ptr) for (int i = 0; i < nteams - tree_neighbor_offset; i += 2 * tree_neighbor_offset) { ValueType* team_scratch = static_cast(scratch_ptr); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp index 41e62ce6e6..6878531730 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp @@ -438,6 +438,10 @@ class ParallelReduce m_scratch_memory_lock; + public: inline void execute() const { execute_tile( @@ -452,7 +456,8 @@ class ParallelReduce::accessible) {} + typename ViewType::memory_space>::accessible), + m_scratch_memory_lock(OpenMPTargetExec::m_mutex_scratch_ptr) {} template inline std::enable_if_t execute_tile(const FunctorType& functor, diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Reducer.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Reducer.hpp index 672271ed6b..9b578aca11 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Reducer.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Reducer.hpp @@ -18,7 +18,6 @@ #define KOKKOS_OPENMPTARGETREDUCER_HPP #include -#include #include #include "Kokkos_OpenMPTarget_Abort.hpp" diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp index 7fa935f693..9a246f7642 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp @@ -88,26 +88,57 @@ bool SYCL::impl_is_initialized() { void SYCL::impl_finalize() { Impl::SYCLInternal::singleton().finalize(); } void SYCL::print_configuration(std::ostream& os, bool verbose) const { - os << "Devices:\n"; - os << " KOKKOS_ENABLE_SYCL: yes\n"; - os << "\nRuntime Configuration:\n"; - os << "macro KOKKOS_ENABLE_SYCL : defined\n"; +#ifdef KOKKOS_ENABLE_ONEDPL + os << "macro KOKKOS_ENABLE_ONEDPL : defined\n"; +#else + os << "macro KOKKOS_ENABLE_ONEDPL : undefined\n"; +#endif #ifdef KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED os << "macro KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED : defined\n"; #else os << "macro KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED : undefined\n"; #endif - +#ifdef SYCL_EXT_ONEAPI_DEVICE_GLOBAL + os << "macro SYCL_EXT_ONEAPI_DEVICE_GLOBAL : defined\n"; +#else + os << "macro SYCL_EXT_ONEAPI_DEVICE_GLOBAL : undefined\n"; +#endif #ifdef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES os << "macro KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES : defined\n"; #else os << "macro KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES : undefined\n"; #endif - if (verbose) + int counter = 0; + int active_device = Kokkos::device_id(); + std::cout << "\nAvailable devices: \n"; + std::vector devices = Impl::get_sycl_devices(); + for (const auto& device : devices) { + std::string device_type; + switch (device.get_info()) { + case sycl::info::device_type::cpu: device_type = "cpu"; break; + case sycl::info::device_type::gpu: device_type = "gpu"; break; + case sycl::info::device_type::accelerator: + device_type = "accelerator"; + break; + case sycl::info::device_type::custom: device_type = "custom"; break; + case sycl::info::device_type::automatic: device_type = "automatic"; break; + case sycl::info::device_type::host: device_type = "host"; break; + case sycl::info::device_type::all: device_type = "all"; break; + } + os << "[" << device.get_backend() << "]:" << device_type << ':' << counter + << "] " << device.get_info(); + if (counter == active_device) os << " : Selected"; + os << '\n'; + ++counter; + } + + if (verbose) { + os << '\n'; SYCL::impl_sycl_info(os, m_space_instance->m_queue->get_device()); + } } void SYCL::fence(const std::string& name) const { @@ -137,20 +168,11 @@ void SYCL::impl_static_fence(const std::string& name) { } void SYCL::impl_initialize(InitializationSettings const& settings) { - std::vector gpu_devices = - sycl::device::get_devices(sycl::info::device_type::gpu); - // If the device id is not specified and there are no GPUs, sidestep Kokkos - // device selection and use whatever is available (if no GPU architecture is - // specified). -#if !defined(KOKKOS_ARCH_INTEL_GPU) && !defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU) - if (!settings.has_device_id() && gpu_devices.empty()) { - Impl::SYCLInternal::singleton().initialize(sycl::device()); - Impl::SYCLInternal::m_syclDev = 0; - return; - } -#endif - const auto id = ::Kokkos::Impl::get_gpu(settings); - Impl::SYCLInternal::singleton().initialize(gpu_devices[id]); + const auto& visible_devices = ::Kokkos::Impl::get_visible_devices(); + const auto id = + ::Kokkos::Impl::get_gpu(settings).value_or(visible_devices[0]); + std::vector sycl_devices = Impl::get_sycl_devices(); + Impl::SYCLInternal::singleton().initialize(sycl_devices[id]); Impl::SYCLInternal::m_syclDev = id; } @@ -243,9 +265,32 @@ std::ostream& SYCL::impl_sycl_info(std::ostream& os, namespace Impl { +std::vector get_sycl_devices() { +#if defined(KOKKOS_ARCH_INTEL_GPU) || defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU) || \ + defined(KOKKOS_ARCH_AMD_GPU) + std::vector devices = + sycl::device::get_devices(sycl::info::device_type::gpu); +#if defined(KOKKOS_ARCH_INTEL_GPU) + sycl::backend backend = sycl::backend::ext_oneapi_level_zero; +#elif defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU) + sycl::backend backend = sycl::backend::ext_oneapi_cuda; +#elif defined(KOKKOS_ARCH_AMD_GPU) + sycl::backend backend = sycl::backend::ext_oneapi_hip; +#endif + devices.erase(std::remove_if(devices.begin(), devices.end(), + [backend](const sycl::device& d) { + return d.get_backend() != backend; + }), + devices.end()); +#else + std::vector devices = sycl::device::get_devices(); +#endif + return devices; +} + int g_sycl_space_factory_initialized = Kokkos::Impl::initialize_space_factory("170_SYCL"); -} +} // namespace Impl } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp index be6b4b8930..0f3d1f0994 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp @@ -78,19 +78,15 @@ class SYCL { //! \name Functions that all Kokkos devices must implement. //@{ - KOKKOS_INLINE_FUNCTION static int in_parallel() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED KOKKOS_INLINE_FUNCTION static int in_parallel() { #if defined(__SYCL_DEVICE_ONLY__) return true; #else return false; #endif } - - /** \brief Set the device in a "sleep" state. */ - static bool sleep(); - - /** \brief Wake the device from the 'sleep' state. A noop for OpenMP. */ - static bool wake(); +#endif /** \brief Wait until all dispatched functors complete. A noop for OpenMP. */ static void impl_static_fence(const std::string& name); @@ -188,6 +184,10 @@ std::vector partition_space(const SYCL& sycl_space, sycl::queue(context, device, sycl::property::queue::in_order())); return instances; } + +namespace Impl { +std::vector get_sycl_devices(); +} // namespace Impl } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.cpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.cpp index 080369770d..0e67adb578 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.cpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.cpp @@ -54,7 +54,7 @@ Kokkos::View sycl_global_unique_token_locks( } SYCLInternal::~SYCLInternal() { - if (!was_finalized || m_scratchSpace || m_scratchFlags) { + if (!was_finalized || m_scratchSpace || m_scratchHost || m_scratchFlags) { std::cerr << "Kokkos::Experimental::SYCL ERROR: Failed to call " "Kokkos::Experimental::SYCL::finalize()" << std::endl; @@ -102,6 +102,23 @@ void SYCLInternal::initialize(const sycl::device& d) { void SYCLInternal::initialize(const sycl::queue& q) { KOKKOS_EXPECTS(!is_initialized()); +#define KOKKOS_IMPL_CHECK_SYCL_BACKEND_SUPPORT(BACKEND, REQUIRED) \ + if (BACKEND != REQUIRED) \ + Kokkos::abort( \ + "The SYCL execution space instance was initialized with an " \ + "unsupported backend type! For this GPU architecture, only " #REQUIRED \ + " is supported.") +#if defined(KOKKOS_ARCH_INTEL_GPU) + KOKKOS_IMPL_CHECK_SYCL_BACKEND_SUPPORT(q.get_backend(), + sycl::backend::ext_oneapi_level_zero); +#elif defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU) + KOKKOS_IMPL_CHECK_SYCL_BACKEND_SUPPORT(q.get_backend(), + sycl::backend::ext_oneapi_cuda); +#elif defined(KOKKOS_ARCH_AMD_GPU) + KOKKOS_IMPL_CHECK_SYCL_BACKEND_SUPPORT(q.get_backend(), + sycl::backend::ext_oneapi_hip); +#endif + if (was_finalized) Kokkos::abort("Calling SYCL::initialize after SYCL::finalize is illegal\n"); @@ -196,14 +213,22 @@ void SYCLInternal::finalize() { #endif } - using RecordSYCL = Kokkos::Impl::SharedAllocationRecord; + auto device_mem_space = SYCLDeviceUSMSpace(*m_queue); + auto host_mem_space = SYCLHostUSMSpace(*m_queue); if (nullptr != m_scratchSpace) - RecordSYCL::decrement(RecordSYCL::get_record(m_scratchSpace)); + device_mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + if (nullptr != m_scratchHost) + host_mem_space.deallocate(m_scratchHost, + m_scratchHostCount * sizeScratchGrain); if (nullptr != m_scratchFlags) - RecordSYCL::decrement(RecordSYCL::get_record(m_scratchFlags)); + device_mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); m_syclDev = -1; m_scratchSpaceCount = 0; m_scratchSpace = nullptr; + m_scratchHostCount = 0; + m_scratchHost = nullptr; m_scratchFlagsCount = 0; m_scratchFlags = nullptr; @@ -228,54 +253,68 @@ void SYCLInternal::finalize() { sycl::device_ptr SYCLInternal::scratch_space(const std::size_t size) { if (verify_is_initialized("scratch_space") && m_scratchSpaceCount < scratch_count(size)) { - m_scratchSpaceCount = scratch_count(size); - - using Record = Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::SYCLDeviceUSMSpace, void>; + auto mem_space = Kokkos::Experimental::SYCLDeviceUSMSpace(*m_queue); if (nullptr != m_scratchSpace) - Record::decrement(Record::get_record(m_scratchSpace)); + mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + + m_scratchSpaceCount = scratch_count(size); std::size_t alloc_size = Kokkos::Impl::multiply_overflow_abort( m_scratchSpaceCount, sizeScratchGrain); - Record* const r = Record::allocate( - Kokkos::Experimental::SYCLDeviceUSMSpace(*m_queue), - "Kokkos::Experimental::SYCL::InternalScratchSpace", alloc_size); - - Record::increment(r); - - m_scratchSpace = reinterpret_cast(r->data()); + m_scratchSpace = static_cast(mem_space.allocate( + "Kokkos::Experimental::SYCL::InternalScratchSpace", alloc_size)); } return m_scratchSpace; } +sycl::host_ptr SYCLInternal::scratch_host(const std::size_t size) { + if (verify_is_initialized("scratch_unified") && + m_scratchHostCount < scratch_count(size)) { + auto mem_space = Kokkos::Experimental::SYCLHostUSMSpace(*m_queue); + + if (nullptr != m_scratchHost) + mem_space.deallocate(m_scratchHost, + m_scratchHostCount * sizeScratchGrain); + + m_scratchHostCount = scratch_count(size); + + std::size_t alloc_size = Kokkos::Impl::multiply_overflow_abort( + m_scratchHostCount, sizeScratchGrain); + m_scratchHost = static_cast(mem_space.allocate( + "Kokkos::Experimental::SYCL::InternalScratchHost", alloc_size)); + } + + return m_scratchHost; +} + sycl::device_ptr SYCLInternal::scratch_flags(const std::size_t size) { if (verify_is_initialized("scratch_flags") && m_scratchFlagsCount < scratch_count(size)) { - m_scratchFlagsCount = scratch_count(size); - - using Record = Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::SYCLDeviceUSMSpace, void>; + auto mem_space = Kokkos::Experimental::SYCLDeviceUSMSpace(*m_queue); if (nullptr != m_scratchFlags) - Record::decrement(Record::get_record(m_scratchFlags)); + mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); + + m_scratchFlagsCount = scratch_count(size); std::size_t alloc_size = Kokkos::Impl::multiply_overflow_abort( m_scratchFlagsCount, sizeScratchGrain); - Record* const r = Record::allocate( - Kokkos::Experimental::SYCLDeviceUSMSpace(*m_queue), - "Kokkos::Experimental::SYCL::InternalScratchFlags", alloc_size); + m_scratchFlags = static_cast(mem_space.allocate( + "Kokkos::Experimental::SYCL::InternalScratchFlags", alloc_size)); - Record::increment(r); - - m_scratchFlags = reinterpret_cast(r->data()); - } - auto memset_event = m_queue->memset(m_scratchFlags, 0, - m_scratchFlagsCount * sizeScratchGrain); + // We only zero-initialize the allocation when we actually allocate. + // It's the responsibility of the features using scratch_flags, + // namely parallel_reduce and parallel_scan, to reset the used values to 0. + auto memset_event = m_queue->memset(m_scratchFlags, 0, + m_scratchFlagsCount * sizeScratchGrain); #ifndef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES - m_queue->ext_oneapi_submit_barrier(std::vector{memset_event}); + m_queue->ext_oneapi_submit_barrier(std::vector{memset_event}); #endif + } return m_scratchFlags; } @@ -318,15 +357,12 @@ size_t SYCLInternal::USMObjectMem::reserve(size_t n) { assert(m_q); if (m_capacity < n) { - using Record = Kokkos::Impl::SharedAllocationRecord; - // First free what we have (in case malloc can reuse it) - if (m_data) Record::decrement(Record::get_record(m_data)); + AllocationSpace alloc_space(*m_q); + if (m_data) alloc_space.deallocate(m_data, m_capacity); - Record* const r = Record::allocate( - AllocationSpace(*m_q), "Kokkos::Experimental::SYCL::USMObjectMem", n); - Record::increment(r); + m_data = + alloc_space.allocate("Kokkos::Experimental::SYCL::USMObjectMem", n); - m_data = r->data(); if constexpr (sycl::usm::alloc::device == Kind) m_staging.reset(new char[n]); m_capacity = n; @@ -340,8 +376,8 @@ void SYCLInternal::USMObjectMem::reset() { if (m_data) { // This implies a fence since this class is not copyable // and deallocating implies a fence across all registered queues. - using Record = Kokkos::Impl::SharedAllocationRecord; - Record::decrement(Record::get_record(m_data)); + AllocationSpace alloc_space(*m_q); + alloc_space.deallocate(m_data, m_capacity); m_capacity = 0; m_data = nullptr; diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp index 51a617054d..ab7e8ce71e 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp @@ -45,6 +45,7 @@ class SYCLInternal { sycl::device_ptr scratch_space(const std::size_t size); sycl::device_ptr scratch_flags(const std::size_t size); + sycl::host_ptr scratch_host(const std::size_t size); int acquire_team_scratch_space(); sycl::device_ptr resize_team_scratch_space(int scratch_pool_id, std::int64_t bytes, @@ -60,6 +61,8 @@ class SYCLInternal { std::size_t m_scratchSpaceCount = 0; sycl::device_ptr m_scratchSpace = nullptr; + std::size_t m_scratchHostCount = 0; + sycl::host_ptr m_scratchHost = nullptr; std::size_t m_scratchFlagsCount = 0; sycl::device_ptr m_scratchFlags = nullptr; // mutex to access shared memory @@ -330,8 +333,8 @@ struct sycl::is_device_copyable< Kokkos::Experimental::Impl::SYCLFunctionWrapper> : std::true_type {}; -// FIXME_SYCL Remove when this specialization when specializations for -// sycl::device_copyable also apply to const-qualified types. +#if (defined(__INTEL_LLVM_COMPILER) && __INTEL_LLVM_COMPILER < 20240000) || \ + (defined(__LIBSYCL_MAJOR_VERSION) && __LIBSYCL_MAJOR_VERSION < 7) template struct NonTriviallyCopyableAndDeviceCopyable { NonTriviallyCopyableAndDeviceCopyable( @@ -356,3 +359,4 @@ struct sycl::is_device_copyable< : std::true_type {}; #endif #endif +#endif diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp index f4fada570b..7fbf5420f8 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp @@ -118,6 +118,8 @@ class Kokkos::Impl::ParallelFor, const BarePolicy bare_policy(m_policy); + desul::ensure_sycl_lock_arrays_on_device(q); + auto parallel_for_event = q.submit([&](sycl::handler& cgh) { const auto range = compute_ranges(); const sycl::range<3> global_range = range.get_global_range(); diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Range.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Range.hpp index 9c5767d209..b4de7eb89f 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Range.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Range.hpp @@ -81,6 +81,8 @@ class Kokkos::Impl::ParallelFor, const Kokkos::Experimental::SYCL& space = policy.space(); sycl::queue& q = space.sycl_queue(); + desul::ensure_sycl_lock_arrays_on_device(q); + auto parallel_for_event = q.submit([&](sycl::handler& cgh) { #ifndef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES cgh.depends_on(memcpy_event); diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp index 4fc5818ce9..ecb4a863da 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp @@ -46,9 +46,9 @@ class Kokkos::Impl::ParallelFor, int m_shmem_size; sycl::device_ptr m_global_scratch_ptr; size_t m_scratch_size[2]; - // Only let one ParallelFor/Reduce modify the team scratch memory. The - // constructor acquires the mutex which is released in the destructor. - std::scoped_lock m_scratch_lock; + // Only let one ParallelFor instance at a time use the team scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_buffers_lock; int m_scratch_pool_id = -1; template @@ -59,6 +59,8 @@ class Kokkos::Impl::ParallelFor, const Kokkos::Experimental::SYCL& space = policy.space(); sycl::queue& q = space.sycl_queue(); + desul::ensure_sycl_lock_arrays_on_device(q); + auto parallel_for_event = q.submit([&](sycl::handler& cgh) { // FIXME_SYCL accessors seem to need a size greater than zero at least for // host queues @@ -74,7 +76,8 @@ class Kokkos::Impl::ParallelFor, auto lambda = [=](sycl::nd_item<2> item) { const member_type team_member( - team_scratch_memory_L0.get_pointer(), shmem_begin, scratch_size[0], + KOKKOS_IMPL_SYCL_GET_MULTI_PTR(team_scratch_memory_L0), shmem_begin, + scratch_size[0], global_scratch_ptr + item.get_group(1) * scratch_size[1], scratch_size[1], item, item.get_group_linear_id(), item.get_group_range(1)); @@ -141,9 +144,9 @@ class Kokkos::Impl::ParallelFor, m_league_size(arg_policy.league_size()), m_team_size(arg_policy.team_size()), m_vector_size(arg_policy.impl_vector_length()), - m_scratch_lock(arg_policy.space() - .impl_internal_space_instance() - ->m_team_scratch_mutex) { + m_scratch_buffers_lock(arg_policy.space() + .impl_internal_space_instance() + ->m_team_scratch_mutex) { // FIXME_SYCL optimize if (m_team_size < 0) m_team_size = diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_MDRange.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_MDRange.hpp index 6964c2dbcf..f55280e22e 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_MDRange.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_MDRange.hpp @@ -78,7 +78,7 @@ class Kokkos::Impl::ParallelReduce::accessible), - m_shared_memory_lock( + m_scratch_buffers_lock( m_space.impl_internal_space_instance()->m_mutexScratchSpace) {} private: @@ -95,9 +95,16 @@ class Kokkos::Impl::ParallelReduce results_ptr; + auto host_result_ptr = + (m_result_ptr && !m_result_ptr_device_accessible) + ? static_cast>( + instance.scratch_host(sizeof(value_type) * value_count)) + : nullptr; sycl::event last_reduction_event; + desul::ensure_sycl_lock_arrays_on_device(q); + // If n_tiles==0 we only call init() and final() working with the global // scratch memory but don't copy back to m_result_ptr yet. if (n_tiles == 0) { @@ -109,8 +116,10 @@ class Kokkos::Impl::ParallelReduce>( instance.scratch_space(sizeof(value_type) * value_count)); - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>(host_result_ptr); cgh.single_task([=]() { const CombinedFunctorReducerType& functor_reducer = functor_reducer_wrapper.get_functor(); @@ -148,8 +157,10 @@ class Kokkos::Impl::ParallelReduce>( instance.scratch_space(sizeof(value_type) * value_count * n_wgroups)); - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>(host_result_ptr); auto scratch_flags = static_cast>( instance.scratch_flags(sizeof(unsigned int))); @@ -223,6 +234,7 @@ class Kokkos::Impl::ParallelReduce= static_cast(n_wgroups)) reducer.init(&local_mem[local_id * value_count]); else { @@ -268,6 +280,7 @@ class Kokkos::Impl::ParallelReduce= static_cast(n_wgroups)) reducer.init(&local_value); else { @@ -296,11 +309,13 @@ class Kokkos::Impl::ParallelReduce( - m_space, m_result_ptr, results_ptr, - sizeof(*m_result_ptr) * value_count); + // Using DeepCopy instead of fence+memcpy turned out to be up to 2x slower. + if (host_result_ptr) { + m_space.fence( + "Kokkos::Impl::ParallelReduce::execute: result " + "not device-accessible"); + std::memcpy(m_result_ptr, host_result_ptr, + sizeof(value_type) * value_count); } return last_reduction_event; @@ -335,9 +350,9 @@ class Kokkos::Impl::ParallelReduce m_shared_memory_lock; + // Only let one ParallelReduce instance at a time use the host scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_buffers_lock; }; #endif /* KOKKOS_SYCL_PARALLEL_REDUCE_MDRANGE_HPP */ diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp index 8c900cfa42..5333e3c8a8 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp @@ -51,7 +51,7 @@ class Kokkos::Impl::ParallelReduce::accessible), - m_shared_memory_lock( + m_scratch_buffers_lock( p.space().impl_internal_space_instance()->m_mutexScratchSpace) {} private: @@ -70,11 +70,20 @@ class Kokkos::Impl::ParallelReduce results_ptr = nullptr; - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto host_result_ptr = + (m_result_ptr && !m_result_ptr_device_accessible) + ? static_cast>( + instance.scratch_host(sizeof(value_type) * value_count)) + : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>(host_result_ptr); sycl::event last_reduction_event; + desul::ensure_sycl_lock_arrays_on_device(q); + // If size<=1 we only call init(), the functor and possibly final once // working with the global scratch memory but don't copy back to // m_result_ptr yet. @@ -168,6 +177,7 @@ class Kokkos::Impl::ParallelReduce= n_wgroups) reducer.init(&local_mem[local_id * value_count]); else { @@ -210,6 +220,7 @@ class Kokkos::Impl::ParallelReduce= n_wgroups) reducer.init(&local_value); else { @@ -320,11 +331,13 @@ class Kokkos::Impl::ParallelReduce( - space, m_result_ptr, results_ptr, - sizeof(*m_result_ptr) * value_count); + // Using DeepCopy instead of fence+memcpy turned out to be up to 2x slower. + if (host_result_ptr) { + space.fence( + "Kokkos::Impl::ParallelReduce::execute: result " + "not device-accessible"); + std::memcpy(m_result_ptr, host_result_ptr, + sizeof(*m_result_ptr) * value_count); } return last_reduction_event; @@ -354,9 +367,9 @@ class Kokkos::Impl::ParallelReduce m_shared_memory_lock; + // Only let one ParallelReduce instance at a time use the host scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_buffers_lock; }; #endif /* KOKKOS_SYCL_PARALLEL_REDUCE_RANGE_HPP */ diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp index 07145b0fb9..27165c59e3 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp @@ -59,9 +59,10 @@ class Kokkos::Impl::ParallelReduce m_scratch_lock; + // Only let one ParallelReduce instance at a time use the team scratch memory + // and the host scratch memory. The constructor acquires the mutex which is + // released in the destructor. + std::scoped_lock m_scratch_buffers_lock; int m_scratch_pool_id = -1; template @@ -79,9 +80,16 @@ class Kokkos::Impl::ParallelReduce>( + instance.scratch_host(sizeof(value_type) * value_count)) + : nullptr; sycl::event last_reduction_event; + desul::ensure_sycl_lock_arrays_on_device(q); + // If size<=1 we only call init(), the functor and possibly final once // working with the global scratch memory but don't copy back to // m_result_ptr yet. @@ -89,8 +97,10 @@ class Kokkos::Impl::ParallelReduce>(instance.scratch_space( sizeof(value_type) * std::max(value_count, 1u))); - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>(host_result_ptr); auto parallel_reduce_event = q.submit([&](sycl::handler& cgh) { // FIXME_SYCL accessors seem to need a size greater than zero at least @@ -121,9 +131,10 @@ class Kokkos::Impl::ParallelReduce) functor(team_member, update); else @@ -160,12 +171,16 @@ class Kokkos::Impl::ParallelReduce const global_scratch_ptr = m_global_scratch_ptr; + sycl::local_accessor num_teams_done(1, cgh); auto team_reduction_factory = [&](sycl::local_accessor local_mem, sycl::device_ptr results_ptr) { - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>( + host_result_ptr); auto lambda = [=](sycl::nd_item<2> item) { auto n_wgroups = item.get_group_range()[1]; int wgroup_size = @@ -173,8 +188,6 @@ class Kokkos::Impl::ParallelReduce( - local_mem[wgroup_size * std::max(value_count, 1u)]); const auto local_id = item.get_local_linear_id(); const CombinedFunctorReducerType& functor_reducer = functor_reducer_wrapper.get_functor(); @@ -188,8 +201,8 @@ class Kokkos::Impl::ParallelReduce scratch_flags_ref(*scratch_flags); - num_teams_done = ++scratch_flags_ref; + num_teams_done[0] = ++scratch_flags_ref; } sycl::group_barrier(item.get_group()); - if (num_teams_done == n_wgroups) { + if (num_teams_done[0] == n_wgroups) { + if (local_id == 0) *scratch_flags = 0; if (local_id >= n_wgroups) reducer.init(&local_mem[local_id * value_count]); else { @@ -241,8 +255,8 @@ class Kokkos::Impl::ParallelReduce scratch_flags_ref(*scratch_flags); - num_teams_done = ++scratch_flags_ref; + num_teams_done[0] = ++scratch_flags_ref; } item.barrier(sycl::access::fence_space::local_space); - if (num_teams_done == n_wgroups) { + if (num_teams_done[0] == n_wgroups) { + if (local_id == 0) *scratch_flags = 0; if (local_id >= n_wgroups) reducer.init(&local_value); else { @@ -311,10 +326,7 @@ class Kokkos::Impl::ParallelReduce local_mem( - sycl::range<1>(wgroup_size) * std::max(value_count, 1u) + - (sizeof(unsigned int) + sizeof(value_type) - 1) / - sizeof(value_type), - cgh); + sycl::range<1>(wgroup_size) * std::max(value_count, 1u), cgh); const auto init_size = std::max((size + wgroup_size - 1) / wgroup_size, 1); @@ -358,11 +370,13 @@ class Kokkos::Impl::ParallelReduce( - space, m_result_ptr, results_ptr, - sizeof(*m_result_ptr) * value_count); + // Using DeepCopy instead of fence+memcpy turned out to be up to 2x slower. + if (host_result_ptr) { + space.fence( + "Kokkos::Impl::ParallelReduce::execute: result not " + "device-accessible"); + std::memcpy(m_result_ptr, host_result_ptr, + sizeof(*m_result_ptr) * value_count); } return last_reduction_event; @@ -448,9 +462,9 @@ class Kokkos::Impl::ParallelReducem_team_scratch_mutex) { + m_scratch_buffers_lock(arg_policy.space() + .impl_internal_space_instance() + ->m_team_scratch_mutex) { initialize(); } }; diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelScan_Range.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelScan_Range.hpp index 04425723e1..977b69bc9e 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelScan_Range.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelScan_Range.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKO_SYCL_PARALLEL_SCAN_RANGE_HPP -#define KOKKO_SYCL_PARALLEL_SCAN_RANGE_HPP +#ifndef KOKKOS_SYCL_PARALLEL_SCAN_RANGE_HPP +#define KOKKOS_SYCL_PARALLEL_SCAN_RANGE_HPP #include #include @@ -111,13 +111,13 @@ class ParallelScanSYCLBase { const CombinedFunctorReducer m_functor_reducer; const Policy m_policy; - pointer_type m_scratch_space = nullptr; - const pointer_type m_result_ptr; + sycl::host_ptr m_scratch_host = nullptr; + pointer_type m_result_ptr; const bool m_result_ptr_device_accessible; - // Only let one Parallel/Scan modify the shared memory. The - // constructor acquires the mutex which is released in the destructor. - std::scoped_lock m_shared_memory_lock; + // Only let one ParallelScan instance at a time use the host scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_buffers_lock; private: template @@ -187,6 +187,7 @@ class ParallelScanSYCLBase { } item.barrier(sycl::access::fence_space::global_space); if (num_teams_done[0] == n_wgroups) { + if (local_id == 0) *scratch_flags = 0; value_type total; reducer.init(&total); @@ -220,6 +221,8 @@ class ParallelScanSYCLBase { sycl::device_ptr global_mem; sycl::device_ptr group_results; + desul::ensure_sycl_lock_arrays_on_device(q); + auto perform_work_group_scans = q.submit([&](sycl::handler& cgh) { sycl::local_accessor num_teams_done(1, cgh); @@ -253,7 +256,8 @@ class ParallelScanSYCLBase { global_mem = static_cast>(instance.scratch_space( n_wgroups * (wgroup_size + 1) * sizeof(value_type))); - m_scratch_space = global_mem; + m_scratch_host = static_cast>( + instance.scratch_host(sizeof(value_type))); group_results = global_mem + n_wgroups * wgroup_size; @@ -281,10 +285,11 @@ class ParallelScanSYCLBase { // Write results to global memory auto update_global_results = q.submit([&](sycl::handler& cgh) { - auto result_ptr_device_accessible = m_result_ptr_device_accessible; // The compiler failed with CL_INVALID_ARG_VALUE if using m_result_ptr // directly. - auto result_ptr = m_result_ptr_device_accessible ? m_result_ptr : nullptr; + pointer_type result_ptr = m_result_ptr_device_accessible + ? m_result_ptr + : static_cast(m_scratch_host); #ifndef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES cgh.depends_on(perform_work_group_scans); @@ -293,7 +298,6 @@ class ParallelScanSYCLBase { cgh.parallel_for( sycl::nd_range<1>(n_wgroups * wgroup_size, wgroup_size), [=](sycl::nd_item<1> item) { - auto global_mem_copy = global_mem; const index_type global_id = item.get_global_linear_id(); const CombinedFunctorReducer< FunctorType, typename Analysis::Reducer>& functor_reducer = @@ -312,9 +316,7 @@ class ParallelScanSYCLBase { else functor(WorkTag(), global_id + begin, update, true); - global_mem_copy[global_id] = update; - if (global_id == size - 1 && result_ptr_device_accessible) - *result_ptr = update; + if (global_id == size - 1) *result_ptr = update; } }); }); @@ -351,9 +353,9 @@ class ParallelScanSYCLBase { m_policy(arg_policy), m_result_ptr(arg_result_ptr), m_result_ptr_device_accessible(arg_result_ptr_device_accessible), - m_shared_memory_lock(m_policy.space() - .impl_internal_space_instance() - ->m_mutexScratchSpace) {} + m_scratch_buffers_lock(m_policy.space() + .impl_internal_space_instance() + ->m_mutexScratchSpace) {} }; } // namespace Kokkos::Impl @@ -390,11 +392,13 @@ class Kokkos::Impl::ParallelScanWithTotal< Base::impl_execute([&]() { const long long nwork = Base::m_policy.end() - Base::m_policy.begin(); if (nwork > 0 && !Base::m_result_ptr_device_accessible) { + // Using DeepCopy instead of fence+memcpy turned out to be up to 2x + // slower. + m_exec.fence( + "Kokkos::Impl::ParallelReduce::execute: " + "result not device-accessible"); const int size = Base::m_functor_reducer.get_reducer().value_size(); - DeepCopy(m_exec, Base::m_result_ptr, - Base::m_scratch_space + nwork - 1, - size); + std::memcpy(Base::m_result_ptr, Base::m_scratch_host, size); } }); } diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.cpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.cpp index 64b7f56796..9cc8008cdf 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.cpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.cpp @@ -25,7 +25,6 @@ #include #include #include -#include #include /*--------------------------------------------------------------------------*/ @@ -243,226 +242,17 @@ void SYCLHostUSMSpace::deallocate(const char* arg_label, } // namespace Experimental } // namespace Kokkos -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::SYCLDeviceUSMSpace, void>::s_root_record; - -SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::SYCLSharedUSMSpace, void>::s_root_record; - -SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::SYCLHostUSMSpace, void>::s_root_record; -#endif - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCLDeviceUSMSpace& space, - const std::string& label, const size_t size, - const SharedAllocationRecord::function_type dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(space, label, size), - sizeof(SharedAllocationHeader) + size, dealloc, label), - m_space(space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, label); - - // Copy to device memory - Kokkos::Experimental::SYCL exec; - Kokkos::Impl::DeepCopy( - exec, RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - exec.fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& arg_exec_space, - const Kokkos::Experimental::SYCLDeviceUSMSpace& space, - const std::string& label, const size_t size, - const SharedAllocationRecord::function_type dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_exec_space, space, - label, size), - sizeof(SharedAllocationHeader) + size, dealloc, label), - m_space(space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, label); - - // Copy to device memory - Kokkos::Impl::DeepCopy( - arg_exec_space, RecordBase::m_alloc_ptr, &header, - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(exec_space, arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(exec_space, arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -} // namespace Impl -} // namespace Kokkos - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -SharedAllocationRecord::~SharedAllocationRecord() { - const auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, alloc_size - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - const auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, alloc_size - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - const auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, alloc_size - sizeof(SharedAllocationHeader)); -} - -//---------------------------------------------------------------------------- - -} // namespace Impl -} // namespace Kokkos - //============================================================================== // {{{1 #include -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; -template class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; -template class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLSharedUSMSpace>; -template class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLHostUSMSpace>; - -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::SYCLDeviceUSMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::SYCLSharedUSMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::SYCLHostUSMSpace); // end Explicit instantiations of CRTP Base classes }}}1 //============================================================================== diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.hpp index 239c6e3ce0..b86cfca413 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.hpp @@ -66,11 +66,6 @@ class SYCLDeviceUSMSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; - private: - template - friend class LogicalMemorySpace; - - public: static constexpr const char* name() { return "SYCLDeviceUSM"; }; private: @@ -87,6 +82,16 @@ class SYCLSharedUSMSpace { SYCLSharedUSMSpace(); explicit SYCLSharedUSMSpace(sycl::queue queue); + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const SYCL& exec_space, const std::size_t arg_alloc_size) const; void* allocate(const SYCL& exec_space, const char* arg_label, @@ -102,11 +107,6 @@ class SYCLSharedUSMSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; - private: - template - friend class LogicalMemorySpace; - - public: static constexpr const char* name() { return "SYCLSharedUSM"; }; private: @@ -123,6 +123,16 @@ class SYCLHostUSMSpace { SYCLHostUSMSpace(); explicit SYCLHostUSMSpace(sycl::queue queue); + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const SYCL& exec_space, const std::size_t arg_alloc_size) const; void* allocate(const SYCL& exec_space, const char* arg_label, @@ -138,11 +148,6 @@ class SYCLHostUSMSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; - private: - template - friend class LogicalMemorySpace; - - public: static constexpr const char* name() { return "SYCLHostUSM"; }; private: @@ -166,19 +171,16 @@ struct is_sycl_type_space : public std::true_type {}; static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); template <> struct MemorySpaceAccess -class SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace> { - private: - friend class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; - friend class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; - using base_t = HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord(SharedAllocationRecord&&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(SharedAllocationRecord&&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const Kokkos::Experimental::SYCLDeviceUSMSpace m_space; - - protected: - ~SharedAllocationRecord(); - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::SYCLDeviceUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLDeviceUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const Kokkos::Experimental::SYCLDeviceUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLSharedUSMSpace> { - private: - friend class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLSharedUSMSpace>; - using base_t = - SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord(SharedAllocationRecord&&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(SharedAllocationRecord&&) = delete; - - static RecordBase s_root_record; - - const Kokkos::Experimental::SYCLSharedUSMSpace m_space; - - protected: - ~SharedAllocationRecord(); - - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLHostUSMSpace> { - private: - friend class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLHostUSMSpace>; - using base_t = - SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord(SharedAllocationRecord&&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(SharedAllocationRecord&&) = delete; - - static RecordBase s_root_record; - - const Kokkos::Experimental::SYCLHostUSMSpace m_space; - - protected: - ~SharedAllocationRecord(); - - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -} // namespace Impl - } // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::SYCLDeviceUSMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::SYCLSharedUSMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::SYCLHostUSMSpace); + #endif #endif diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp index 89c09c3195..dbba382758 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp @@ -140,9 +140,14 @@ class SYCLTeamMember { } value = sg.shuffle(value, 0); + const auto n_subgroups = sg.get_group_range()[0]; + if (n_subgroups == 1) { + reducer.reference() = value; + return; + } + // We need to chunk up the whole reduction because we might not have // allocated enough memory. - const auto n_subgroups = sg.get_group_range()[0]; const unsigned int maximum_work_range = std::min(m_team_reduce_size / sizeof(value_type), n_subgroups); diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp index 9548f211d9..61db6b34aa 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp @@ -26,8 +26,7 @@ namespace Impl { template struct ZeroMemset> { ZeroMemset(const Kokkos::Experimental::SYCL& exec_space, - const View& dst, - typename View::const_value_type&) { + const View& dst) { auto event = exec_space.impl_internal_space_instance()->m_queue->memset( dst.data(), 0, dst.size() * sizeof(typename View::value_type)); #ifndef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES @@ -35,12 +34,6 @@ struct ZeroMemset> { ->m_queue->ext_oneapi_submit_barrier(std::vector{event}); #endif } - - ZeroMemset(const View& dst, - typename View::const_value_type&) { - Experimental::Impl::SYCLInternal::singleton().m_queue->memset( - dst.data(), 0, dst.size() * sizeof(typename View::value_type)); - } }; } // namespace Impl diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp b/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp index e81e834939..39b201976b 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp @@ -58,8 +58,6 @@ void SerialInternal::finalize() { m_thread_team_data.scratch_assign(nullptr, 0, 0, 0, 0, 0); } - Kokkos::Profiling::finalize(); - m_is_initialized = false; } @@ -155,7 +153,7 @@ void Serial::print_configuration(std::ostream& os, bool /*verbose*/) const { os << "Host Serial Execution Space:\n"; os << " KOKKOS_ENABLE_SERIAL: yes\n"; -#ifdef KOKKOS_INTERNAL_NOT_PARALLEL +#ifdef KOKKOS_ENABLE_ATOMICS_BYPASS os << "Kokkos atomics disabled\n"; #endif diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp index db1567610b..43eb4992ed 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp @@ -30,6 +30,7 @@ static_assert(false, #include #include +#include #include #include #include @@ -120,7 +121,10 @@ class Serial { /// For the Serial device, this method always returns false, /// because parallel_for or parallel_reduce with the Serial device /// always execute sequentially. - inline static int in_parallel() { return false; } + +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED inline static int in_parallel() { return false; } +#endif /// \brief Wait until all dispatched functors complete. /// diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_MDRange.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_MDRange.hpp index 69787aa500..67978aa3e9 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_MDRange.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKO_SERIAL_PARALLEL_MDRANGE_HPP -#define KOKKO_SERIAL_PARALLEL_MDRANGE_HPP +#ifndef KOKKOS_SERIAL_PARALLEL_MDRANGE_HPP +#define KOKKOS_SERIAL_PARALLEL_MDRANGE_HPP #include #include diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Range.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Range.hpp index 56894716db..91b4c56711 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Range.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Range.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKO_SERIAL_PARALLEL_RANGE_HPP -#define KOKKO_SERIAL_PARALLEL_RANGE_HPP +#ifndef KOKKOS_SERIAL_PARALLEL_RANGE_HPP +#define KOKKOS_SERIAL_PARALLEL_RANGE_HPP #include diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Team.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Team.hpp index 0876f1af22..f34a7daaca 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Team.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Team.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKO_SERIAL_PARALLEL_TEAM_HPP -#define KOKKO_SERIAL_PARALLEL_TEAM_HPP +#ifndef KOKKOS_SERIAL_PARALLEL_TEAM_HPP +#define KOKKOS_SERIAL_PARALLEL_TEAM_HPP #include diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_Task.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_Task.hpp index f9c86f55ce..5905d6d32e 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_Task.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_Task.hpp @@ -121,7 +121,7 @@ class TaskQueueSpecializationConstrained< using task_base_type = TaskBase; using queue_type = typename scheduler_type::queue_type; - task_base_type* const end = (task_base_type*)task_base_type::EndTag; + auto* const end = reinterpret_cast(task_base_type::EndTag); execution_space serial_execution_space; auto& data = serial_execution_space.impl_internal_space_instance() @@ -157,7 +157,7 @@ class TaskQueueSpecializationConstrained< using task_base_type = TaskBase; using queue_type = typename scheduler_type::queue_type; - task_base_type* const end = (task_base_type*)task_base_type::EndTag; + auto* const end = reinterpret_cast(task_base_type::EndTag); execution_space serial_execution_space; diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_ZeroMemset.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_ZeroMemset.hpp index 3ec2dfbcfa..6ad6aabc5a 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_ZeroMemset.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_ZeroMemset.hpp @@ -22,6 +22,7 @@ #include #include +#include namespace Kokkos { namespace Impl { @@ -34,14 +35,11 @@ template struct ZeroMemset< std::conditional_t::value, Serial, DummyExecutionSpace>, - View> - : public ZeroMemset> { - using Base = ZeroMemset>; - using Base::Base; - - ZeroMemset(const Serial&, const View& dst, - typename View::const_value_type& value) - : Base(dst, value) {} + View> { + ZeroMemset(const Serial&, const View& dst) { + using ValueType = typename View::value_type; + std::memset(dst.data(), 0, sizeof(ValueType) * dst.size()); + } }; } // namespace Impl diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads.hpp index c0d70c03ec..31653c46ca 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads.hpp @@ -38,15 +38,6 @@ static_assert(false, /*--------------------------------------------------------------------------*/ -namespace Kokkos { -namespace Impl { -class ThreadsExec; -enum class fence_is_static { yes, no }; -} // namespace Impl -} // namespace Kokkos - -/*--------------------------------------------------------------------------*/ - namespace Kokkos { /** \brief Execution space for a pool of C++11 threads on a CPU. */ @@ -73,7 +64,9 @@ class Threads { /// \brief True if and only if this method is being called in a /// thread-parallel function. - static int in_parallel(); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED static int in_parallel(); +#endif /// \brief Print configuration information to the given output stream. void print_configuration(std::ostream& os, bool verbose = false) const; diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.cpp similarity index 56% rename from lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.cpp index c754091e87..3842966cd7 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.cpp @@ -16,17 +16,15 @@ #ifndef KOKKOS_IMPL_PUBLIC_INCLUDE #define KOKKOS_IMPL_PUBLIC_INCLUDE +#include "Threads/Kokkos_Threads_Instance.hpp" #endif #include -#include -#include #include #include #include #include -#include #include @@ -41,7 +39,6 @@ namespace Kokkos { namespace Impl { namespace { -std::mutex host_internal_cppthread_mutex; // std::thread compatible driver. // Recovery from an exception would require constant intra-thread health @@ -49,7 +46,7 @@ std::mutex host_internal_cppthread_mutex; // abort the process. void internal_cppthread_driver() { try { - ThreadsExec::driver(); + ThreadsInternal::driver(); } catch (const std::exception &x) { std::cerr << "Exception thrown from worker thread: " << x.what() << std::endl; @@ -62,32 +59,17 @@ void internal_cppthread_driver() { } } -ThreadsExec s_threads_process; -ThreadsExec *s_threads_exec[ThreadsExec::MAX_THREAD_COUNT] = {nullptr}; -std::thread::id s_threads_pid[ThreadsExec::MAX_THREAD_COUNT]; -std::pair s_threads_coord[ThreadsExec::MAX_THREAD_COUNT]; +ThreadsInternal s_threads_process; +ThreadsInternal *s_threads_exec[ThreadsInternal::MAX_THREAD_COUNT] = {nullptr}; +std::thread::id s_threads_pid[ThreadsInternal::MAX_THREAD_COUNT]; +std::pair + s_threads_coord[ThreadsInternal::MAX_THREAD_COUNT]; int s_thread_pool_size[3] = {0, 0, 0}; -unsigned s_current_reduce_size = 0; -unsigned s_current_shared_size = 0; - -void (*volatile s_current_function)(ThreadsExec &, const void *); +void (*volatile s_current_function)(ThreadsInternal &, const void *); const void *volatile s_current_function_arg = nullptr; -struct Sentinel { - ~Sentinel() { - if (s_thread_pool_size[0] || s_thread_pool_size[1] || - s_thread_pool_size[2] || s_current_reduce_size || - s_current_shared_size || s_current_function || s_current_function_arg || - s_threads_exec[0]) { - std::cerr << "ERROR : Process exiting while Kokkos::Threads is still " - "initialized" - << std::endl; - } - } -}; - inline unsigned fan_size(const unsigned rank, const unsigned size) { const unsigned rank_rev = size - (rank + 1); unsigned count = 0; @@ -97,6 +79,12 @@ inline unsigned fan_size(const unsigned rank, const unsigned size) { return count; } +void wait_yield(volatile ThreadState &flag, const ThreadState value) { + while (value == flag) { + std::this_thread::yield(); + } +} + } // namespace } // namespace Impl } // namespace Kokkos @@ -107,66 +95,44 @@ inline unsigned fan_size(const unsigned rank, const unsigned size) { namespace Kokkos { namespace Impl { -//---------------------------------------------------------------------------- -// Spawn a thread - -void ThreadsExec::spawn() { - std::thread t(internal_cppthread_driver); - t.detach(); -} - -//---------------------------------------------------------------------------- - -bool ThreadsExec::is_process() { +bool ThreadsInternal::is_process() { static const std::thread::id master_pid = std::this_thread::get_id(); return master_pid == std::this_thread::get_id(); } -void ThreadsExec::global_lock() { host_internal_cppthread_mutex.lock(); } - -void ThreadsExec::global_unlock() { host_internal_cppthread_mutex.unlock(); } - //---------------------------------------------------------------------------- -void ThreadsExec::wait_yield(volatile int &flag, const int value) { - while (value == flag) { - std::this_thread::yield(); - } -} +void execute_function_noop(ThreadsInternal &, const void *) {} -void execute_function_noop(ThreadsExec &, const void *) {} - -void ThreadsExec::driver() { +void ThreadsInternal::driver() { SharedAllocationRecord::tracking_enable(); - ThreadsExec this_thread; + ThreadsInternal this_thread; - while (ThreadsExec::Active == this_thread.m_pool_state) { + while (this_thread.m_pool_state == ThreadState::Active) { (*s_current_function)(this_thread, s_current_function_arg); // Deactivate thread and wait for reactivation - this_thread.m_pool_state = ThreadsExec::Inactive; + this_thread.m_pool_state = ThreadState::Inactive; - wait_yield(this_thread.m_pool_state, ThreadsExec::Inactive); + wait_yield(this_thread.m_pool_state, ThreadState::Inactive); } } -ThreadsExec::ThreadsExec() +ThreadsInternal::ThreadsInternal() : m_pool_base(nullptr), m_scratch(nullptr), m_scratch_reduce_end(0), m_scratch_thread_end(0), - m_numa_rank(0), - m_numa_core_rank(0), m_pool_rank(0), m_pool_size(0), m_pool_fan_size(0), - m_pool_state(ThreadsExec::Terminating) { + m_pool_state(ThreadState::Terminating) { if (&s_threads_process != this) { - // A spawned thread - - ThreadsExec *const nil = nullptr; + // The code in the if is executed by a spawned thread not by the root + // thread + ThreadsInternal *const nil = nullptr; // Which entry in 's_threads_exec', possibly determined from hwloc binding const int entry = reinterpret_cast(s_current_function_arg) < @@ -178,80 +144,66 @@ ThreadsExec::ThreadsExec() // Given a good entry set this thread in the 's_threads_exec' array if (entry < s_thread_pool_size[0] && nil == atomic_compare_exchange(s_threads_exec + entry, nil, this)) { - const std::pair coord = - Kokkos::hwloc::get_this_thread_coordinate(); - - m_numa_rank = coord.first; - m_numa_core_rank = coord.second; - m_pool_base = s_threads_exec; - m_pool_rank = s_thread_pool_size[0] - (entry + 1); - m_pool_rank_rev = s_thread_pool_size[0] - (pool_rank() + 1); - m_pool_size = s_thread_pool_size[0]; - m_pool_fan_size = fan_size(m_pool_rank, m_pool_size); - m_pool_state = ThreadsExec::Active; + m_pool_base = s_threads_exec; + m_pool_rank = s_thread_pool_size[0] - (entry + 1); + m_pool_rank_rev = s_thread_pool_size[0] - (pool_rank() + 1); + m_pool_size = s_thread_pool_size[0]; + m_pool_fan_size = fan_size(m_pool_rank, m_pool_size); + m_pool_state = ThreadState::Active; s_threads_pid[m_pool_rank] = std::this_thread::get_id(); // Inform spawning process that the threads_exec entry has been set. - s_threads_process.m_pool_state = ThreadsExec::Active; + s_threads_process.m_pool_state = ThreadState::Active; } else { // Inform spawning process that the threads_exec entry could not be set. - s_threads_process.m_pool_state = ThreadsExec::Terminating; + s_threads_process.m_pool_state = ThreadState::Terminating; } } else { // Enables 'parallel_for' to execute on unitialized Threads device m_pool_rank = 0; m_pool_size = 1; - m_pool_state = ThreadsExec::Inactive; + m_pool_state = ThreadState::Inactive; s_threads_pid[m_pool_rank] = std::this_thread::get_id(); } } -ThreadsExec::~ThreadsExec() { +ThreadsInternal::~ThreadsInternal() { const unsigned entry = m_pool_size - (m_pool_rank + 1); - using Record = Kokkos::Impl::SharedAllocationRecord; - if (m_scratch) { - Record *const r = Record::get_record(m_scratch); - + Kokkos::kokkos_free(m_scratch); m_scratch = nullptr; - - Record::decrement(r); } m_pool_base = nullptr; m_scratch_reduce_end = 0; m_scratch_thread_end = 0; - m_numa_rank = 0; - m_numa_core_rank = 0; m_pool_rank = 0; m_pool_size = 0; m_pool_fan_size = 0; - m_pool_state = ThreadsExec::Terminating; + m_pool_state = ThreadState::Terminating; if (&s_threads_process != this && entry < MAX_THREAD_COUNT) { - ThreadsExec *const nil = nullptr; + ThreadsInternal *const nil = nullptr; atomic_compare_exchange(s_threads_exec + entry, this, nil); - s_threads_process.m_pool_state = ThreadsExec::Terminating; + s_threads_process.m_pool_state = ThreadState::Terminating; } } -int ThreadsExec::get_thread_count() { return s_thread_pool_size[0]; } - -ThreadsExec *ThreadsExec::get_thread(const int init_thread_rank) { - ThreadsExec *const th = +ThreadsInternal *ThreadsInternal::get_thread(const int init_thread_rank) { + ThreadsInternal *const th = init_thread_rank < s_thread_pool_size[0] ? s_threads_exec[s_thread_pool_size[0] - (init_thread_rank + 1)] : nullptr; if (nullptr == th || th->m_pool_rank != init_thread_rank) { std::ostringstream msg; - msg << "Kokkos::Impl::ThreadsExec::get_thread ERROR : " + msg << "Kokkos::Impl::ThreadsInternal::get_thread ERROR : " << "thread " << init_thread_rank << " of " << s_thread_pool_size[0]; if (nullptr == th) { msg << " does not exist"; @@ -264,24 +216,6 @@ ThreadsExec *ThreadsExec::get_thread(const int init_thread_rank) { return th; } -//---------------------------------------------------------------------------- - -void ThreadsExec::execute_sleep(ThreadsExec &exec, const void *) { - ThreadsExec::global_lock(); - ThreadsExec::global_unlock(); - - const int n = exec.m_pool_fan_size; - const int rank_rev = exec.m_pool_size - (exec.m_pool_rank + 1); - - for (int i = 0; i < n; ++i) { - Impl::spinwait_while_equal( - exec.m_pool_base[rank_rev + (1 << i)]->m_pool_state, - ThreadsExec::Active); - } - - exec.m_pool_state = ThreadsExec::Inactive; -} - } // namespace Impl } // namespace Kokkos @@ -290,8 +224,8 @@ void ThreadsExec::execute_sleep(ThreadsExec &exec, const void *) { namespace Kokkos { namespace Impl { -void ThreadsExec::verify_is_process(const std::string &name, - const bool initialized) { +void ThreadsInternal::verify_is_process(const std::string &name, + const bool initialized) { if (!is_process()) { std::string msg(name); msg.append( @@ -307,63 +241,48 @@ void ThreadsExec::verify_is_process(const std::string &name, } } -int ThreadsExec::in_parallel() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +KOKKOS_DEPRECATED int ThreadsInternal::in_parallel() { // A thread function is in execution and // the function argument is not the special threads process argument and // the master process is a worker or is not the master process. return s_current_function && (&s_threads_process != s_current_function_arg) && (s_threads_process.m_pool_base || !is_process()); } -void ThreadsExec::fence() { internal_fence(Impl::fence_is_static::yes); } -void ThreadsExec::fence(const std::string &name) { - internal_fence(name, Impl::fence_is_static::yes); +#endif +void ThreadsInternal::fence() { + fence("Kokkos::ThreadsInternal::fence: Unnamed Instance Fence"); } - -void ThreadsExec::internal_fence(Impl::fence_is_static is_static) { - internal_fence((is_static == Impl::fence_is_static::no) - ? "Kokkos::ThreadsExec::fence: Unnamed Instance Fence" - : "Kokkos::ThreadsExec::fence: Unnamed Static Fence", - is_static); +void ThreadsInternal::fence(const std::string &name) { + Kokkos::Tools::Experimental::Impl::profile_fence_event( + name, Kokkos::Tools::Experimental::Impl::DirectFenceIDHandle{1}, + internal_fence); } // Wait for root thread to become inactive -void ThreadsExec::internal_fence(const std::string &name, - Impl::fence_is_static is_static) { - const auto &fence_lam = [&]() { - if (s_thread_pool_size[0]) { - // Wait for the root thread to complete: - Impl::spinwait_while_equal(s_threads_exec[0]->m_pool_state, - ThreadsExec::Active); - } - - s_current_function = nullptr; - s_current_function_arg = nullptr; - - // Make sure function and arguments are cleared before - // potentially re-activating threads with a subsequent launch. - memory_fence(); - }; - if (is_static == Impl::fence_is_static::yes) { - Kokkos::Tools::Experimental::Impl::profile_fence_event( - name, - Kokkos::Tools::Experimental::SpecialSynchronizationCases:: - GlobalDeviceSynchronization, - fence_lam); - } else { - Kokkos::Tools::Experimental::Impl::profile_fence_event( - name, Kokkos::Tools::Experimental::Impl::DirectFenceIDHandle{1}, - fence_lam); +void ThreadsInternal::internal_fence() { + if (s_thread_pool_size[0]) { + // Wait for the root thread to complete: + Impl::spinwait_while_equal(s_threads_exec[0]->m_pool_state, + ThreadState::Active); } + + s_current_function = nullptr; + s_current_function_arg = nullptr; + + // Make sure function and arguments are cleared before + // potentially re-activating threads with a subsequent launch. + memory_fence(); } /** \brief Begin execution of the asynchronous functor */ -void ThreadsExec::start(void (*func)(ThreadsExec &, const void *), - const void *arg) { - verify_is_process("ThreadsExec::start", true); +void ThreadsInternal::start(void (*func)(ThreadsInternal &, const void *), + const void *arg) { + verify_is_process("ThreadsInternal::start", true); if (s_current_function || s_current_function_arg) { Kokkos::Impl::throw_runtime_exception( - std::string("ThreadsExec::start() FAILED : already executing")); + std::string("ThreadsInternal::start() FAILED : already executing")); } s_current_function = func; @@ -372,68 +291,29 @@ void ThreadsExec::start(void (*func)(ThreadsExec &, const void *), // Make sure function and arguments are written before activating threads. memory_fence(); - // Activate threads: + // Activate threads. The spawned threads will start working on + // s_current_function. The root thread is only set to active, we still need to + // call s_current_function. for (int i = s_thread_pool_size[0]; 0 < i--;) { - s_threads_exec[i]->m_pool_state = ThreadsExec::Active; + s_threads_exec[i]->m_pool_state = ThreadState::Active; } if (s_threads_process.m_pool_size) { // Master process is the root thread, run it: (*func)(s_threads_process, arg); - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_state = ThreadState::Inactive; } } //---------------------------------------------------------------------------- -bool ThreadsExec::sleep() { - verify_is_process("ThreadsExec::sleep", true); - - if (&execute_sleep == s_current_function) return false; - - fence(); - - ThreadsExec::global_lock(); - - s_current_function = &execute_sleep; - - // Activate threads: - for (unsigned i = s_thread_pool_size[0]; 0 < i;) { - s_threads_exec[--i]->m_pool_state = ThreadsExec::Active; - } - - return true; -} - -bool ThreadsExec::wake() { - verify_is_process("ThreadsExec::wake", true); - - if (&execute_sleep != s_current_function) return false; - - ThreadsExec::global_unlock(); - - if (s_threads_process.m_pool_base) { - execute_sleep(s_threads_process, nullptr); - s_threads_process.m_pool_state = ThreadsExec::Inactive; - } - - fence(); - - return true; -} - -//---------------------------------------------------------------------------- - -void ThreadsExec::execute_resize_scratch_in_serial() { +void ThreadsInternal::execute_resize_scratch_in_serial() { const unsigned begin = s_threads_process.m_pool_base ? 1 : 0; - auto deallocate_scratch_memory = [](ThreadsExec &exec) { + auto deallocate_scratch_memory = [](ThreadsInternal &exec) { if (exec.m_scratch) { - using Record = - Kokkos::Impl::SharedAllocationRecord; - Record *const r = Record::get_record(exec.m_scratch); - exec.m_scratch = nullptr; - Record::decrement(r); + Kokkos::kokkos_free(exec.m_scratch); + exec.m_scratch = nullptr; } }; if (s_threads_process.m_pool_base) { @@ -449,18 +329,18 @@ void ThreadsExec::execute_resize_scratch_in_serial() { memory_fence(); for (unsigned i = s_thread_pool_size[0]; begin < i;) { - ThreadsExec &th = *s_threads_exec[--i]; + ThreadsInternal &th = *s_threads_exec[--i]; - th.m_pool_state = ThreadsExec::Active; + th.m_pool_state = ThreadState::Active; - wait_yield(th.m_pool_state, ThreadsExec::Active); + wait_yield(th.m_pool_state, ThreadState::Active); } if (s_threads_process.m_pool_base) { deallocate_scratch_memory(s_threads_process); - s_threads_process.m_pool_state = ThreadsExec::Active; + s_threads_process.m_pool_state = ThreadState::Active; first_touch_allocate_thread_private_scratch(s_threads_process, nullptr); - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_state = ThreadState::Inactive; } s_current_function_arg = nullptr; @@ -472,27 +352,20 @@ void ThreadsExec::execute_resize_scratch_in_serial() { //---------------------------------------------------------------------------- -void *ThreadsExec::root_reduce_scratch() { +void *ThreadsInternal::root_reduce_scratch() { return s_threads_process.reduce_memory(); } -void ThreadsExec::first_touch_allocate_thread_private_scratch(ThreadsExec &exec, - const void *) { +void ThreadsInternal::first_touch_allocate_thread_private_scratch( + ThreadsInternal &exec, const void *) { exec.m_scratch_reduce_end = s_threads_process.m_scratch_reduce_end; exec.m_scratch_thread_end = s_threads_process.m_scratch_thread_end; if (s_threads_process.m_scratch_thread_end) { // Allocate tracked memory: { - using Record = - Kokkos::Impl::SharedAllocationRecord; - Record *const r = - Record::allocate(Kokkos::HostSpace(), "Kokkos::thread_scratch", - s_threads_process.m_scratch_thread_end); - - Record::increment(r); - - exec.m_scratch = r->data(); + exec.m_scratch = Kokkos::kokkos_malloc( + "Kokkos::thread_scratch", s_threads_process.m_scratch_thread_end); } unsigned *ptr = reinterpret_cast(exec.m_scratch); @@ -505,7 +378,7 @@ void ThreadsExec::first_touch_allocate_thread_private_scratch(ThreadsExec &exec, } } -void *ThreadsExec::resize_scratch(size_t reduce_size, size_t thread_size) { +void *ThreadsInternal::resize_scratch(size_t reduce_size, size_t thread_size) { enum { ALIGN_MASK = Kokkos::Impl::MEMORY_ALIGNMENT - 1 }; fence(); @@ -522,7 +395,7 @@ void *ThreadsExec::resize_scratch(size_t reduce_size, size_t thread_size) { if ((old_reduce_size < reduce_size) || (old_thread_size < thread_size) || ((reduce_size == 0 && thread_size == 0) && (old_reduce_size != 0 || old_thread_size != 0))) { - verify_is_process("ThreadsExec::resize_scratch", true); + verify_is_process("ThreadsInternal::resize_scratch", true); s_threads_process.m_scratch_reduce_end = reduce_size; s_threads_process.m_scratch_thread_end = reduce_size + thread_size; @@ -537,27 +410,22 @@ void *ThreadsExec::resize_scratch(size_t reduce_size, size_t thread_size) { //---------------------------------------------------------------------------- -void ThreadsExec::print_configuration(std::ostream &s, const bool detail) { - verify_is_process("ThreadsExec::print_configuration", false); +void ThreadsInternal::print_configuration(std::ostream &s, const bool detail) { + verify_is_process("ThreadsInternal::print_configuration", false); fence(); - const unsigned numa_count = Kokkos::hwloc::get_available_numa_count(); - const unsigned cores_per_numa = Kokkos::hwloc::get_available_cores_per_numa(); - const unsigned threads_per_core = - Kokkos::hwloc::get_available_threads_per_core(); - - // Forestall compiler warnings for unused variables. - (void)numa_count; - (void)cores_per_numa; - (void)threads_per_core; - s << "Kokkos::Threads"; #if defined(KOKKOS_ENABLE_THREADS) s << " KOKKOS_ENABLE_THREADS"; #endif #if defined(KOKKOS_ENABLE_HWLOC) + const unsigned numa_count = Kokkos::hwloc::get_available_numa_count(); + const unsigned cores_per_numa = Kokkos::hwloc::get_available_cores_per_numa(); + const unsigned threads_per_core = + Kokkos::hwloc::get_available_threads_per_core(); + s << " hwloc[" << numa_count << "x" << cores_per_numa << "x" << threads_per_core << "]"; #endif @@ -569,25 +437,21 @@ void ThreadsExec::print_configuration(std::ostream &s, const bool detail) { if (nullptr == s_threads_process.m_pool_base) { s << " Asynchronous"; } - s << " ReduceScratch[" << s_current_reduce_size << "]" - << " SharedScratch[" << s_current_shared_size << "]"; s << std::endl; if (detail) { for (int i = 0; i < s_thread_pool_size[0]; ++i) { - ThreadsExec *const th = s_threads_exec[i]; + ThreadsInternal *const th = s_threads_exec[i]; if (th) { const int rank_rev = th->m_pool_size - (th->m_pool_rank + 1); - s << " Thread[ " << th->m_pool_rank << " : " << th->m_numa_rank << "." - << th->m_numa_core_rank << " ]"; + s << " Thread[ " << th->m_pool_rank << " ]"; s << " Fan{"; for (int j = 0; j < th->m_pool_fan_size; ++j) { - ThreadsExec *const thfan = th->m_pool_base[rank_rev + (1 << j)]; - s << " [ " << thfan->m_pool_rank << " : " << thfan->m_numa_rank - << "." << thfan->m_numa_core_rank << " ]"; + ThreadsInternal *const thfan = th->m_pool_base[rank_rev + (1 << j)]; + s << " [ " << thfan->m_pool_rank << " ]"; } s << " }"; @@ -605,29 +469,21 @@ void ThreadsExec::print_configuration(std::ostream &s, const bool detail) { //---------------------------------------------------------------------------- -int ThreadsExec::is_initialized() { return nullptr != s_threads_exec[0]; } +int ThreadsInternal::is_initialized() { return nullptr != s_threads_exec[0]; } -void ThreadsExec::initialize(int thread_count_arg) { - // legacy arguments - unsigned thread_count = thread_count_arg == -1 ? 0 : thread_count_arg; - unsigned use_numa_count = 0; - unsigned use_cores_per_numa = 0; - bool allow_asynchronous_threadpool = false; - // need to provide an initializer for Intel compilers - static const Sentinel sentinel = {}; +void ThreadsInternal::initialize(int thread_count_arg) { + unsigned thread_count = thread_count_arg == -1 ? 0 : thread_count_arg; const bool is_initialized = 0 != s_thread_pool_size[0]; unsigned thread_spawn_failed = 0; - for (int i = 0; i < ThreadsExec::MAX_THREAD_COUNT; i++) + for (int i = 0; i < ThreadsInternal::MAX_THREAD_COUNT; i++) s_threads_exec[i] = nullptr; if (!is_initialized) { - // If thread_count, use_numa_count, or use_cores_per_numa are zero - // then they will be given default values based upon hwloc detection - // and allowed asynchronous execution. - + // If thread_count is zero then it will be given default values based upon + // hwloc detection. const bool hwloc_avail = Kokkos::hwloc::available(); const bool hwloc_can_bind = hwloc_avail && Kokkos::hwloc::can_bind_threads(); @@ -640,17 +496,18 @@ void ThreadsExec::initialize(int thread_count_arg) { : 1; } - const unsigned thread_spawn_begin = hwloc::thread_mapping( - "Kokkos::Threads::initialize", allow_asynchronous_threadpool, - thread_count, use_numa_count, use_cores_per_numa, s_threads_coord); + const bool allow_asynchronous_threadpool = false; + unsigned use_numa_count = 0; + unsigned use_cores_per_numa = 0; + hwloc::thread_mapping("Kokkos::Threads::initialize", + allow_asynchronous_threadpool, thread_count, + use_numa_count, use_cores_per_numa, s_threads_coord); const std::pair proc_coord = s_threads_coord[0]; - if (thread_spawn_begin) { - // Synchronous with s_threads_coord[0] as the process core - // Claim entry #0 for binding the process core. - s_threads_coord[0] = std::pair(~0u, ~0u); - } + // Synchronous with s_threads_coord[0] as the process core + // Claim entry #0 for binding the process core. + s_threads_coord[0] = std::pair(~0u, ~0u); s_thread_pool_size[0] = thread_count; s_thread_pool_size[1] = s_thread_pool_size[0] / use_numa_count; @@ -658,8 +515,8 @@ void ThreadsExec::initialize(int thread_count_arg) { s_current_function = &execute_function_noop; // Initialization work function - for (unsigned ith = thread_spawn_begin; ith < thread_count; ++ith) { - s_threads_process.m_pool_state = ThreadsExec::Inactive; + for (unsigned ith = 1; ith < thread_count; ++ith) { + s_threads_process.m_pool_state = ThreadState::Inactive; // If hwloc available then spawned thread will // choose its own entry in 's_threads_coord' @@ -675,18 +532,20 @@ void ThreadsExec::initialize(int thread_count_arg) { // Wait until spawned thread has attempted to initialize. // If spawning and initialization is successful then // an entry in 's_threads_exec' will be assigned. - ThreadsExec::spawn(); - wait_yield(s_threads_process.m_pool_state, ThreadsExec::Inactive); - if (s_threads_process.m_pool_state == ThreadsExec::Terminating) break; + std::thread t(internal_cppthread_driver); + t.detach(); + wait_yield(s_threads_process.m_pool_state, ThreadState::Inactive); + if (s_threads_process.m_pool_state == ThreadState::Terminating) break; } // Wait for all spawned threads to deactivate before zeroing the function. - for (unsigned ith = thread_spawn_begin; ith < thread_count; ++ith) { + for (unsigned ith = 1; ith < thread_count; ++ith) { // Try to protect against cache coherency failure by casting to volatile. - ThreadsExec *const th = ((ThreadsExec * volatile *)s_threads_exec)[ith]; + ThreadsInternal *const th = + ((ThreadsInternal * volatile *)s_threads_exec)[ith]; if (th) { - wait_yield(th->m_pool_state, ThreadsExec::Active); + wait_yield(th->m_pool_state, ThreadState::Active); } else { ++thread_spawn_failed; } @@ -694,7 +553,7 @@ void ThreadsExec::initialize(int thread_count_arg) { s_current_function = nullptr; s_current_function_arg = nullptr; - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_state = ThreadState::Inactive; memory_fence(); @@ -705,30 +564,17 @@ void ThreadsExec::initialize(int thread_count_arg) { Kokkos::hwloc::bind_this_thread(proc_coord); } - if (thread_spawn_begin) { // Include process in pool. - const std::pair coord = - Kokkos::hwloc::get_this_thread_coordinate(); - - s_threads_exec[0] = &s_threads_process; - s_threads_process.m_numa_rank = coord.first; - s_threads_process.m_numa_core_rank = coord.second; - s_threads_process.m_pool_base = s_threads_exec; - s_threads_process.m_pool_rank = - thread_count - 1; // Reversed for scan-compatible reductions - s_threads_process.m_pool_size = thread_count; - s_threads_process.m_pool_fan_size = fan_size( - s_threads_process.m_pool_rank, s_threads_process.m_pool_size); - s_threads_pid[s_threads_process.m_pool_rank] = - std::this_thread::get_id(); - } else { - s_threads_process.m_pool_base = nullptr; - s_threads_process.m_pool_rank = 0; - s_threads_process.m_pool_size = 0; - s_threads_process.m_pool_fan_size = 0; - } + s_threads_exec[0] = &s_threads_process; + s_threads_process.m_pool_base = s_threads_exec; + s_threads_process.m_pool_rank = + thread_count - 1; // Reversed for scan-compatible reductions + s_threads_process.m_pool_size = thread_count; + s_threads_process.m_pool_fan_size = fan_size( + s_threads_process.m_pool_rank, s_threads_process.m_pool_size); + s_threads_pid[s_threads_process.m_pool_rank] = std::this_thread::get_id(); // Initial allocations: - ThreadsExec::resize_scratch(1024, 1024); + ThreadsInternal::resize_scratch(1024, 1024); } else { s_thread_pool_size[0] = 0; s_thread_pool_size[1] = 0; @@ -773,8 +619,8 @@ void ThreadsExec::initialize(int thread_count_arg) { //---------------------------------------------------------------------------- -void ThreadsExec::finalize() { - verify_is_process("ThreadsExec::finalize", false); +void ThreadsInternal::finalize() { + verify_is_process("ThreadsInternal::finalize", false); fence(); @@ -784,18 +630,18 @@ void ThreadsExec::finalize() { for (unsigned i = s_thread_pool_size[0]; begin < i--;) { if (s_threads_exec[i]) { - s_threads_exec[i]->m_pool_state = ThreadsExec::Terminating; + s_threads_exec[i]->m_pool_state = ThreadState::Terminating; - wait_yield(s_threads_process.m_pool_state, ThreadsExec::Inactive); + wait_yield(s_threads_process.m_pool_state, ThreadState::Inactive); - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_state = ThreadState::Inactive; } s_threads_pid[i] = std::thread::id(); } if (s_threads_process.m_pool_base) { - (&s_threads_process)->~ThreadsExec(); + (&s_threads_process)->~ThreadsInternal(); s_threads_exec[0] = nullptr; } @@ -808,15 +654,11 @@ void ThreadsExec::finalize() { s_thread_pool_size[2] = 0; // Reset master thread to run solo. - s_threads_process.m_numa_rank = 0; - s_threads_process.m_numa_core_rank = 0; - s_threads_process.m_pool_base = nullptr; - s_threads_process.m_pool_rank = 0; - s_threads_process.m_pool_size = 1; - s_threads_process.m_pool_fan_size = 0; - s_threads_process.m_pool_state = ThreadsExec::Inactive; - - Kokkos::Profiling::finalize(); + s_threads_process.m_pool_base = nullptr; + s_threads_process.m_pool_rank = 0; + s_threads_process.m_pool_size = 1; + s_threads_process.m_pool_fan_size = 0; + s_threads_process.m_pool_state = ThreadState::Inactive; } //---------------------------------------------------------------------------- @@ -836,7 +678,7 @@ int Threads::concurrency() const { return impl_thread_pool_size(0); } #endif void Threads::fence(const std::string &name) const { - Impl::ThreadsExec::internal_fence(name, Impl::fence_is_static::no); + Impl::ThreadsInternal::fence(name); } Threads &Threads::impl_instance(int) { diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.hpp similarity index 76% rename from lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.hpp index 377e096bfb..a5eb231cb0 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKOS_THREADSEXEC_HPP -#define KOKKOS_THREADSEXEC_HPP +#ifndef KOKKOS_THREADS_INSTANCE_HPP +#define KOKKOS_THREADS_INSTANCE_HPP #include @@ -23,41 +23,25 @@ #include #include -#include - #include #include #include #include +#include +#include //---------------------------------------------------------------------------- namespace Kokkos { namespace Impl { -class ThreadsExec { +class ThreadsInternal { public: // Fan array has log_2(NT) reduction threads plus 2 scan threads // Currently limited to 16k threads. - enum { MAX_FAN_COUNT = 16 }; - enum { MAX_THREAD_COUNT = 1 << (MAX_FAN_COUNT - 2) }; - enum { VECTOR_LENGTH = 8 }; - - /** \brief States of a worker thread */ - enum { - Terminating ///< Termination in progress - , - Inactive ///< Exists, waiting for work - , - Active ///< Exists, performing work - , - Rendezvous ///< Exists, waiting in a barrier or reduce - - , - ScanCompleted, - ScanAvailable, - ReductionAvailable - }; + static constexpr int MAX_FAN_COUNT = 16; + static constexpr int MAX_THREAD_COUNT = 1 << (MAX_FAN_COUNT - 2); + static constexpr int VECTOR_LENGTH = 8; private: friend class Kokkos::Threads; @@ -67,18 +51,16 @@ class ThreadsExec { // the threads that need them. // For a simple reduction the thread location is arbitrary. - ThreadsExec *const *m_pool_base; ///< Base for pool fan-in + ThreadsInternal *const *m_pool_base; ///< Base for pool fan-in void *m_scratch; int m_scratch_reduce_end; size_t m_scratch_thread_end; - int m_numa_rank; - int m_numa_core_rank; int m_pool_rank; int m_pool_rank_rev; int m_pool_size; int m_pool_fan_size; - int volatile m_pool_state; ///< State for global synchronizations + ThreadState volatile m_pool_state; ///< State for global synchronizations // Members for dynamic scheduling // Which thread am I stealing from currently @@ -93,41 +75,36 @@ class ThreadsExec { static void global_lock(); static void global_unlock(); - static void spawn(); - static void first_touch_allocate_thread_private_scratch(ThreadsExec &, + static void first_touch_allocate_thread_private_scratch(ThreadsInternal &, const void *); - static void execute_sleep(ThreadsExec &, const void *); - ThreadsExec(const ThreadsExec &); - ThreadsExec &operator=(const ThreadsExec &); + ThreadsInternal(const ThreadsInternal &); + ThreadsInternal &operator=(const ThreadsInternal &); static void execute_resize_scratch_in_serial(); public: KOKKOS_INLINE_FUNCTION int pool_size() const { return m_pool_size; } KOKKOS_INLINE_FUNCTION int pool_rank() const { return m_pool_rank; } - KOKKOS_INLINE_FUNCTION int numa_rank() const { return m_numa_rank; } - KOKKOS_INLINE_FUNCTION int numa_core_rank() const { return m_numa_core_rank; } inline long team_work_index() const { return m_team_work_index; } - static int get_thread_count(); - static ThreadsExec *get_thread(const int init_thread_rank); + static ThreadsInternal *get_thread(const int init_thread_rank); inline void *reduce_memory() const { return m_scratch; } KOKKOS_INLINE_FUNCTION void *scratch_memory() const { return reinterpret_cast(m_scratch) + m_scratch_reduce_end; } - KOKKOS_INLINE_FUNCTION int volatile &state() { return m_pool_state; } - KOKKOS_INLINE_FUNCTION ThreadsExec *const *pool_base() const { + KOKKOS_INLINE_FUNCTION ThreadState volatile &state() { return m_pool_state; } + KOKKOS_INLINE_FUNCTION ThreadsInternal *const *pool_base() const { return m_pool_base; } static void driver(void); - ~ThreadsExec(); - ThreadsExec(); + ~ThreadsInternal(); + ThreadsInternal(); static void *resize_scratch(size_t reduce_size, size_t thread_size); @@ -143,15 +120,8 @@ class ThreadsExec { static void finalize(); - /* Given a requested team size, return valid team size */ - static unsigned team_size_valid(unsigned); - static void print_configuration(std::ostream &, const bool detail = false); - //------------------------------------ - - static void wait_yield(volatile int &, const int); - //------------------------------------ // All-thread functions: @@ -166,14 +136,14 @@ class ThreadsExec { // Fan-in reduction with highest ranking thread as the root for (int i = 0; i < m_pool_fan_size; ++i) { // Wait: Active -> Rendezvous - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, ThreadsExec::Active); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Active); } if (rev_rank) { - m_pool_state = ThreadsExec::Rendezvous; + m_pool_state = ThreadState::Rendezvous; // Wait: Rendezvous -> Active - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::Rendezvous); + spinwait_while_equal(m_pool_state, ThreadState::Rendezvous); } else { // Root thread does the reduction and broadcast @@ -191,7 +161,7 @@ class ThreadsExec { memory_fence(); for (int rank = 0; rank < m_pool_size; ++rank) { - get_thread(rank)->m_pool_state = ThreadsExec::Active; + get_thread(rank)->m_pool_state = ThreadState::Active; } } @@ -207,21 +177,21 @@ class ThreadsExec { // Fan-in reduction with highest ranking thread as the root for (int i = 0; i < m_pool_fan_size; ++i) { // Wait: Active -> Rendezvous - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, ThreadsExec::Active); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Active); } if (rev_rank) { - m_pool_state = ThreadsExec::Rendezvous; + m_pool_state = ThreadState::Rendezvous; // Wait: Rendezvous -> Active - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::Rendezvous); + spinwait_while_equal(m_pool_state, ThreadState::Rendezvous); } else { // Root thread does the reduction and broadcast memory_fence(); for (int rank = 0; rank < m_pool_size; ++rank) { - get_thread(rank)->m_pool_state = ThreadsExec::Active; + get_thread(rank)->m_pool_state = ThreadState::Active; } } } @@ -234,9 +204,9 @@ class ThreadsExec { const int rev_rank = m_pool_size - (m_pool_rank + 1); for (int i = 0; i < m_pool_fan_size; ++i) { - ThreadsExec &fan = *m_pool_base[rev_rank + (1 << i)]; + ThreadsInternal &fan = *m_pool_base[rev_rank + (1 << i)]; - Impl::spinwait_while_equal(fan.m_pool_state, ThreadsExec::Active); + spinwait_while_equal(fan.m_pool_state, ThreadState::Active); f.join( reinterpret_cast(reduce_memory()), @@ -265,8 +235,8 @@ class ThreadsExec { const int rev_rank = m_pool_size - (m_pool_rank + 1); for (int i = 0; i < m_pool_fan_size; ++i) { - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, ThreadsExec::Active); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Active); } } @@ -289,10 +259,10 @@ class ThreadsExec { //-------------------------------- // Fan-in reduction with highest ranking thread as the root for (int i = 0; i < m_pool_fan_size; ++i) { - ThreadsExec &fan = *m_pool_base[rev_rank + (1 << i)]; + ThreadsInternal &fan = *m_pool_base[rev_rank + (1 << i)]; // Wait: Active -> ReductionAvailable (or ScanAvailable) - Impl::spinwait_while_equal(fan.m_pool_state, ThreadsExec::Active); + spinwait_while_equal(fan.m_pool_state, ThreadState::Active); f.join(work_value, fan.reduce_memory()); } @@ -303,39 +273,37 @@ class ThreadsExec { if (rev_rank) { // Set: Active -> ReductionAvailable - m_pool_state = ThreadsExec::ReductionAvailable; + m_pool_state = ThreadState::ReductionAvailable; // Wait for contributing threads' scan value to be available. if ((1 << m_pool_fan_size) < (m_pool_rank + 1)) { - ThreadsExec &th = *m_pool_base[rev_rank + (1 << m_pool_fan_size)]; + ThreadsInternal &th = *m_pool_base[rev_rank + (1 << m_pool_fan_size)]; // Wait: Active -> ReductionAvailable // Wait: ReductionAvailable -> ScanAvailable - Impl::spinwait_while_equal(th.m_pool_state, ThreadsExec::Active); - Impl::spinwait_while_equal(th.m_pool_state, - ThreadsExec::ReductionAvailable); + spinwait_while_equal(th.m_pool_state, ThreadState::Active); + spinwait_while_equal(th.m_pool_state, ThreadState::ReductionAvailable); f.join(work_value + count, ((scalar_type *)th.reduce_memory()) + count); } // This thread has completed inclusive scan // Set: ReductionAvailable -> ScanAvailable - m_pool_state = ThreadsExec::ScanAvailable; + m_pool_state = ThreadState::ScanAvailable; // Wait for all threads to complete inclusive scan // Wait: ScanAvailable -> Rendezvous - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::ScanAvailable); + spinwait_while_equal(m_pool_state, ThreadState::ScanAvailable); } //-------------------------------- for (int i = 0; i < m_pool_fan_size; ++i) { - ThreadsExec &fan = *m_pool_base[rev_rank + (1 << i)]; + ThreadsInternal &fan = *m_pool_base[rev_rank + (1 << i)]; // Wait: ReductionAvailable -> ScanAvailable - Impl::spinwait_while_equal(fan.m_pool_state, - ThreadsExec::ReductionAvailable); + spinwait_while_equal(fan.m_pool_state, ThreadState::ReductionAvailable); // Set: ScanAvailable -> Rendezvous - fan.m_pool_state = ThreadsExec::Rendezvous; + fan.m_pool_state = ThreadState::Rendezvous; } // All threads have completed the inclusive scan. @@ -346,7 +314,7 @@ class ThreadsExec { if ((rev_rank + 1) < m_pool_size) { // Exclusive scan: copy the previous thread's inclusive scan value - ThreadsExec &th = *m_pool_base[rev_rank + 1]; // Not the root thread + ThreadsInternal &th = *m_pool_base[rev_rank + 1]; // Not the root thread const scalar_type *const src_value = ((scalar_type *)th.reduce_memory()) + count; @@ -362,19 +330,18 @@ class ThreadsExec { // Wait for all threads to copy previous thread's inclusive scan value // Wait for all threads: Rendezvous -> ScanCompleted for (int i = 0; i < m_pool_fan_size; ++i) { - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, - ThreadsExec::Rendezvous); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Rendezvous); } if (rev_rank) { // Set: ScanAvailable -> ScanCompleted - m_pool_state = ThreadsExec::ScanCompleted; + m_pool_state = ThreadState::ScanCompleted; // Wait: ScanCompleted -> Active - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::ScanCompleted); + spinwait_while_equal(m_pool_state, ThreadState::ScanCompleted); } // Set: ScanCompleted -> Active for (int i = 0; i < m_pool_fan_size; ++i) { - m_pool_base[rev_rank + (1 << i)]->m_pool_state = ThreadsExec::Active; + m_pool_base[rev_rank + (1 << i)]->m_pool_state = ThreadState::Active; } } @@ -391,8 +358,8 @@ class ThreadsExec { // Fan-in reduction with highest ranking thread as the root for (int i = 0; i < m_pool_fan_size; ++i) { // Wait: Active -> Rendezvous - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, ThreadsExec::Active); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Active); } for (unsigned i = 0; i < count; ++i) { @@ -400,9 +367,9 @@ class ThreadsExec { } if (rev_rank) { - m_pool_state = ThreadsExec::Rendezvous; + m_pool_state = ThreadState::Rendezvous; // Wait: Rendezvous -> Active - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::Rendezvous); + spinwait_while_equal(m_pool_state, ThreadState::Rendezvous); } else { // Root thread does the thread-scan before releasing threads @@ -424,7 +391,7 @@ class ThreadsExec { } for (int i = 0; i < m_pool_fan_size; ++i) { - m_pool_base[rev_rank + (1 << i)]->m_pool_state = ThreadsExec::Active; + m_pool_base[rev_rank + (1 << i)]->m_pool_state = ThreadState::Active; } } @@ -433,18 +400,14 @@ class ThreadsExec { * complete and release the Threads device. * Acquire the Threads device and start this functor. */ - static void start(void (*)(ThreadsExec &, const void *), const void *); + static void start(void (*)(ThreadsInternal &, const void *), const void *); - static int in_parallel(); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED static int in_parallel(); +#endif static void fence(); static void fence(const std::string &); - static void internal_fence( - Impl::fence_is_static is_static = Impl::fence_is_static::yes); - static void internal_fence( - const std::string &, - Impl::fence_is_static is_static = Impl::fence_is_static::yes); - static bool sleep(); - static bool wake(); + static void internal_fence(); /* Dynamic Scheduling related functionality */ // Initialize the work range for this thread @@ -583,30 +546,38 @@ class ThreadsExec { namespace Kokkos { -inline int Threads::in_parallel() { return Impl::ThreadsExec::in_parallel(); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +KOKKOS_DEPRECATED inline int Threads::in_parallel() { + return Impl::ThreadsInternal::in_parallel(); +} +#endif inline int Threads::impl_is_initialized() { - return Impl::ThreadsExec::is_initialized(); + return Impl::ThreadsInternal::is_initialized(); } inline void Threads::impl_initialize(InitializationSettings const &settings) { - Impl::ThreadsExec::initialize( + Impl::ThreadsInternal::initialize( settings.has_num_threads() ? settings.get_num_threads() : -1); } -inline void Threads::impl_finalize() { Impl::ThreadsExec::finalize(); } +inline void Threads::impl_finalize() { Impl::ThreadsInternal::finalize(); } inline void Threads::print_configuration(std::ostream &os, bool verbose) const { os << "Host Parallel Execution Space:\n"; os << " KOKKOS_ENABLE_THREADS: yes\n"; os << "\nThreads Runtime Configuration:\n"; - Impl::ThreadsExec::print_configuration(os, verbose); + Impl::ThreadsInternal::print_configuration(os, verbose); } inline void Threads::impl_static_fence(const std::string &name) { - Impl::ThreadsExec::internal_fence(name, Impl::fence_is_static::yes); + Kokkos::Tools::Experimental::Impl::profile_fence_event( + name, + Kokkos::Tools::Experimental::SpecialSynchronizationCases:: + GlobalDeviceSynchronization, + Impl::ThreadsInternal::internal_fence); } } /* namespace Kokkos */ -#endif /* #define KOKKOS_THREADSEXEC_HPP */ +#endif diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_MDRange.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_MDRange.hpp index 0828f26299..59577609ab 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_MDRange.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_MDRange.hpp @@ -46,54 +46,54 @@ class ParallelFor, } } - static void exec(ThreadsExec &exec, const void *arg) { - exec_schedule(exec, arg); + static void exec(ThreadsInternal &instance, const void *arg) { + exec_schedule(instance, arg); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); auto const num_tiles = self.m_iter.m_rp.m_num_tiles; - WorkRange range(Policy(0, num_tiles).set_chunk_size(1), exec.pool_rank(), - exec.pool_size()); + WorkRange range(Policy(0, num_tiles).set_chunk_size(1), + instance.pool_rank(), instance.pool_size()); self.exec_range(range.begin(), range.end()); - exec.fan_in(); + instance.fan_in(); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); auto const num_tiles = self.m_iter.m_rp.m_num_tiles; - WorkRange range(Policy(0, num_tiles).set_chunk_size(1), exec.pool_rank(), - exec.pool_size()); + WorkRange range(Policy(0, num_tiles).set_chunk_size(1), + instance.pool_rank(), instance.pool_size()); - exec.set_work_range(range.begin(), range.end(), 1); - exec.reset_steal_target(); - exec.barrier(); + instance.set_work_range(range.begin(), range.end(), 1); + instance.reset_steal_target(); + instance.barrier(); - long work_index = exec.get_work_index(); + long work_index = instance.get_work_index(); while (work_index != -1) { const Member begin = static_cast(work_index); const Member end = begin + 1 < num_tiles ? begin + 1 : num_tiles; self.exec_range(begin, end); - work_index = exec.get_work_index(); + work_index = instance.get_work_index(); } - exec.fan_in(); + instance.fan_in(); } public: inline void execute() const { - ThreadsExec::start(&ParallelFor::exec, this); - ThreadsExec::fence(); + ThreadsInternal::start(&ParallelFor::exec, this); + ThreadsInternal::fence(); } ParallelFor(const FunctorType &arg_functor, const MDRangePolicy &arg_policy) diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Range.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Range.hpp index 3698416ef1..4a89c4fad8 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Range.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Range.hpp @@ -59,37 +59,37 @@ class ParallelFor, } } - static void exec(ThreadsExec &exec, const void *arg) { - exec_schedule(exec, arg); + static void exec(ThreadsInternal &instance, const void *arg) { + exec_schedule(instance, arg); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); - WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + WorkRange range(self.m_policy, instance.pool_rank(), instance.pool_size()); ParallelFor::template exec_range(self.m_functor, range.begin(), range.end()); - exec.fan_in(); + instance.fan_in(); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); - WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + WorkRange range(self.m_policy, instance.pool_rank(), instance.pool_size()); - exec.set_work_range(range.begin() - self.m_policy.begin(), - range.end() - self.m_policy.begin(), - self.m_policy.chunk_size()); - exec.reset_steal_target(); - exec.barrier(); + instance.set_work_range(range.begin() - self.m_policy.begin(), + range.end() - self.m_policy.begin(), + self.m_policy.chunk_size()); + instance.reset_steal_target(); + instance.barrier(); - long work_index = exec.get_work_index(); + long work_index = instance.get_work_index(); while (work_index != -1) { const Member begin = @@ -100,16 +100,16 @@ class ParallelFor, ? begin + self.m_policy.chunk_size() : self.m_policy.end(); ParallelFor::template exec_range(self.m_functor, begin, end); - work_index = exec.get_work_index(); + work_index = instance.get_work_index(); } - exec.fan_in(); + instance.fan_in(); } public: inline void execute() const { - ThreadsExec::start(&ParallelFor::exec, this); - ThreadsExec::fence(); + ThreadsInternal::start(&ParallelFor::exec, this); + ThreadsInternal::fence(); } ParallelFor(const FunctorType &arg_functor, const Policy &arg_policy) diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Team.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Team.hpp index 36404857a2..f927d7c6a6 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Team.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Team.hpp @@ -73,14 +73,14 @@ class ParallelFor, } } - static void exec(ThreadsExec &exec, const void *arg) { + static void exec(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); ParallelFor::exec_team( - self.m_functor, Member(&exec, self.m_policy, self.m_shared)); + self.m_functor, Member(&instance, self.m_policy, self.m_shared)); - exec.barrier(); - exec.fan_in(); + instance.barrier(); + instance.fan_in(); } template Policy fix_policy(Policy policy) { @@ -96,12 +96,12 @@ class ParallelFor, public: inline void execute() const { - ThreadsExec::resize_scratch( + ThreadsInternal::resize_scratch( 0, Policy::member_type::team_reduce_size() + m_shared); - ThreadsExec::start(&ParallelFor::exec, this); + ThreadsInternal::start(&ParallelFor::exec, this); - ThreadsExec::fence(); + ThreadsInternal::fence(); } ParallelFor(const FunctorType &arg_functor, const Policy &arg_policy) diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_MDRange.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_MDRange.hpp index 3d06379480..fa63215a9e 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_MDRange.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_MDRange.hpp @@ -54,67 +54,67 @@ class ParallelReduce(exec, arg); + static void exec(ThreadsInternal &instance, const void *arg) { + exec_schedule(instance, arg); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelReduce &self = *((const ParallelReduce *)arg); const auto num_tiles = self.m_iter.m_rp.m_num_tiles; const WorkRange range(Policy(0, num_tiles).set_chunk_size(1), - exec.pool_rank(), exec.pool_size()); + instance.pool_rank(), instance.pool_size()); const ReducerType &reducer = self.m_iter.m_func.get_reducer(); self.exec_range( range.begin(), range.end(), - reducer.init(static_cast(exec.reduce_memory()))); + reducer.init(static_cast(instance.reduce_memory()))); - exec.fan_in_reduce(reducer); + instance.fan_in_reduce(reducer); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelReduce &self = *((const ParallelReduce *)arg); const auto num_tiles = self.m_iter.m_rp.m_num_tiles; const WorkRange range(Policy(0, num_tiles).set_chunk_size(1), - exec.pool_rank(), exec.pool_size()); + instance.pool_rank(), instance.pool_size()); - exec.set_work_range(range.begin(), range.end(), 1); - exec.reset_steal_target(); - exec.barrier(); + instance.set_work_range(range.begin(), range.end(), 1); + instance.reset_steal_target(); + instance.barrier(); - long work_index = exec.get_work_index(); + long work_index = instance.get_work_index(); const ReducerType &reducer = self.m_iter.m_func.get_reducer(); - reference_type update = - self.m_reducer.init(static_cast(exec.reduce_memory())); + reference_type update = self.m_reducer.init( + static_cast(instance.reduce_memory())); while (work_index != -1) { const Member begin = static_cast(work_index); const Member end = begin + 1 < num_tiles ? begin + 1 : num_tiles; self.exec_range(begin, end, update); - work_index = exec.get_work_index(); + work_index = instance.get_work_index(); } - exec.fan_in_reduce(self.m_reducer); + instance.fan_in_reduce(self.m_reducer); } public: inline void execute() const { const ReducerType &reducer = m_iter.m_func.get_reducer(); - ThreadsExec::resize_scratch(reducer.value_size(), 0); + ThreadsInternal::resize_scratch(reducer.value_size(), 0); - ThreadsExec::start(&ParallelReduce::exec, this); + ThreadsInternal::start(&ParallelReduce::exec, this); - ThreadsExec::fence(); + ThreadsInternal::fence(); if (m_result_ptr) { const pointer_type data = - (pointer_type)ThreadsExec::root_reduce_scratch(); + (pointer_type)ThreadsInternal::root_reduce_scratch(); const unsigned n = reducer.value_count(); for (unsigned i = 0; i < n; ++i) { diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Range.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Range.hpp index 5fa97b403c..bf4c2a532a 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Range.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Range.hpp @@ -68,42 +68,44 @@ class ParallelReduce, } } - static void exec(ThreadsExec &exec, const void *arg) { - exec_schedule(exec, arg); + static void exec(ThreadsInternal &instance, const void *arg) { + exec_schedule(instance, arg); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelReduce &self = *((const ParallelReduce *)arg); - const WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + const WorkRange range(self.m_policy, instance.pool_rank(), + instance.pool_size()); const ReducerType &reducer = self.m_functor_reducer.get_reducer(); ParallelReduce::template exec_range( self.m_functor_reducer.get_functor(), range.begin(), range.end(), - reducer.init(static_cast(exec.reduce_memory()))); + reducer.init(static_cast(instance.reduce_memory()))); - exec.fan_in_reduce(reducer); + instance.fan_in_reduce(reducer); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelReduce &self = *((const ParallelReduce *)arg); - const WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + const WorkRange range(self.m_policy, instance.pool_rank(), + instance.pool_size()); - exec.set_work_range(range.begin() - self.m_policy.begin(), - range.end() - self.m_policy.begin(), - self.m_policy.chunk_size()); - exec.reset_steal_target(); - exec.barrier(); + instance.set_work_range(range.begin() - self.m_policy.begin(), + range.end() - self.m_policy.begin(), + self.m_policy.chunk_size()); + instance.reset_steal_target(); + instance.barrier(); - long work_index = exec.get_work_index(); + long work_index = instance.get_work_index(); const ReducerType &reducer = self.m_functor_reducer.get_reducer(); reference_type update = - reducer.init(static_cast(exec.reduce_memory())); + reducer.init(static_cast(instance.reduce_memory())); while (work_index != -1) { const Member begin = static_cast(work_index) * self.m_policy.chunk_size() + @@ -114,10 +116,10 @@ class ParallelReduce, : self.m_policy.end(); ParallelReduce::template exec_range( self.m_functor_reducer.get_functor(), begin, end, update); - work_index = exec.get_work_index(); + work_index = instance.get_work_index(); } - exec.fan_in_reduce(reducer); + instance.fan_in_reduce(reducer); } public: @@ -130,15 +132,15 @@ class ParallelReduce, reducer.final(m_result_ptr); } } else { - ThreadsExec::resize_scratch(reducer.value_size(), 0); + ThreadsInternal::resize_scratch(reducer.value_size(), 0); - ThreadsExec::start(&ParallelReduce::exec, this); + ThreadsInternal::start(&ParallelReduce::exec, this); - ThreadsExec::fence(); + ThreadsInternal::fence(); if (m_result_ptr) { const pointer_type data = - (pointer_type)ThreadsExec::root_reduce_scratch(); + (pointer_type)ThreadsInternal::root_reduce_scratch(); const unsigned n = reducer.value_count(); for (unsigned i = 0; i < n; ++i) { diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Team.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Team.hpp index c4b6100a9d..4db310701f 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Team.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Team.hpp @@ -58,16 +58,16 @@ class ParallelReduce( self.m_functor_reducer.get_functor(), - Member(&exec, self.m_policy, self.m_shared), + Member(&instance, self.m_policy, self.m_shared), self.m_functor_reducer.get_reducer().init( - static_cast(exec.reduce_memory()))); + static_cast(instance.reduce_memory()))); - exec.fan_in_reduce(self.m_functor_reducer.get_reducer()); + instance.fan_in_reduce(self.m_functor_reducer.get_reducer()); } public: @@ -80,17 +80,17 @@ class ParallelReduce, } } - static void exec(ThreadsExec &exec, const void *arg) { + static void exec(ThreadsInternal &instance, const void *arg) { const ParallelScan &self = *((const ParallelScan *)arg); - const WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + const WorkRange range(self.m_policy, instance.pool_rank(), + instance.pool_size()); typename Analysis::Reducer final_reducer(self.m_functor); reference_type update = - final_reducer.init(static_cast(exec.reduce_memory())); + final_reducer.init(static_cast(instance.reduce_memory())); ParallelScan::template exec_range(self.m_functor, range.begin(), range.end(), update, false); - // exec.template scan_large( final_reducer ); - exec.scan_small(final_reducer); + instance.scan_small(final_reducer); ParallelScan::template exec_range(self.m_functor, range.begin(), range.end(), update, true); - exec.fan_in(); + instance.fan_in(); } public: inline void execute() const { - ThreadsExec::resize_scratch(2 * Analysis::value_size(m_functor), 0); - ThreadsExec::start(&ParallelScan::exec, this); - ThreadsExec::fence(); + ThreadsInternal::resize_scratch(2 * Analysis::value_size(m_functor), 0); + ThreadsInternal::start(&ParallelScan::exec, this); + ThreadsInternal::fence(); } ParallelScan(const FunctorType &arg_functor, const Policy &arg_policy) @@ -145,37 +145,37 @@ class ParallelScanWithTotal, } } - static void exec(ThreadsExec &exec, const void *arg) { + static void exec(ThreadsInternal &instance, const void *arg) { const ParallelScanWithTotal &self = *((const ParallelScanWithTotal *)arg); - const WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + const WorkRange range(self.m_policy, instance.pool_rank(), + instance.pool_size()); typename Analysis::Reducer final_reducer(self.m_functor); reference_type update = - final_reducer.init(static_cast(exec.reduce_memory())); + final_reducer.init(static_cast(instance.reduce_memory())); ParallelScanWithTotal::template exec_range( self.m_functor, range.begin(), range.end(), update, false); - // exec.template scan_large(final_reducer); - exec.scan_small(final_reducer); + instance.scan_small(final_reducer); ParallelScanWithTotal::template exec_range( self.m_functor, range.begin(), range.end(), update, true); - exec.fan_in(); + instance.fan_in(); - if (exec.pool_rank() == exec.pool_size() - 1) { + if (instance.pool_rank() == instance.pool_size() - 1) { *self.m_result_ptr = update; } } public: inline void execute() const { - ThreadsExec::resize_scratch(2 * Analysis::value_size(m_functor), 0); - ThreadsExec::start(&ParallelScanWithTotal::exec, this); - ThreadsExec::fence(); + ThreadsInternal::resize_scratch(2 * Analysis::value_size(m_functor), 0); + ThreadsInternal::start(&ParallelScanWithTotal::exec, this); + ThreadsInternal::fence(); } template diff --git a/lib/kokkos/core/src/impl/Kokkos_Spinwait.cpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.cpp similarity index 90% rename from lib/kokkos/core/src/impl/Kokkos_Spinwait.cpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.cpp index 0a7eda29bc..3df9dc07bf 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Spinwait.cpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include @@ -108,5 +108,15 @@ void host_thread_yield(const uint32_t i, const WaitMode mode) { #endif /* defined( KOKKOS_ENABLE_ASM ) */ } +void spinwait_while_equal(ThreadState const volatile& flag, + ThreadState const value) { + Kokkos::store_fence(); + uint32_t i = 0; + while (value == flag) { + host_thread_yield(++i, WaitMode::ACTIVE); + } + Kokkos::load_fence(); +} + } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Swap.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.hpp similarity index 52% rename from lib/kokkos/algorithms/src/std_algorithms/Kokkos_Swap.hpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.hpp index acd2a572c8..b98b6dbb73 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Swap.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.hpp @@ -14,28 +14,30 @@ // //@HEADER -#ifndef KOKKOS_STD_ALGORITHMS_SWAP_HPP -#define KOKKOS_STD_ALGORITHMS_SWAP_HPP +#ifndef KOKKOS_THREADS_SPINWAIT_HPP +#define KOKKOS_THREADS_SPINWAIT_HPP -#include +#include + +#include namespace Kokkos { -namespace Experimental { +namespace Impl { -// swap -template -KOKKOS_INLINE_FUNCTION void swap(T& a, T& b) noexcept { - static_assert( - std::is_move_assignable::value && std::is_move_constructible::value, - "Kokkos::Experimental::swap arguments must be move assignable " - "and move constructible"); +enum class WaitMode : int { + ACTIVE // Used for tight loops to keep threads active longest + , + PASSIVE // Used to quickly yield the thread to quite down the system + , + ROOT // Never sleep or yield the root thread +}; - T tmp = std::move(a); - a = std::move(b); - b = std::move(tmp); -} +void host_thread_yield(const uint32_t i, const WaitMode mode); -} // namespace Experimental +void spinwait_while_equal(ThreadState const volatile& flag, + ThreadState const value); + +} // namespace Impl } // namespace Kokkos #endif diff --git a/lib/kokkos/core/src/fwd/Kokkos_Fwd_HBWSpace.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_State.hpp similarity index 59% rename from lib/kokkos/core/src/fwd/Kokkos_Fwd_HBWSpace.hpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_State.hpp index 21ba7fad01..148e9aa4e0 100644 --- a/lib/kokkos/core/src/fwd/Kokkos_Fwd_HBWSpace.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_State.hpp @@ -14,16 +14,26 @@ // //@HEADER -#ifndef KOKKOS_HBWSPACE_FWD_HPP_ -#define KOKKOS_HBWSPACE_FWD_HPP_ +#ifndef KOKKOS_THREADS_STATE_HPP +#define KOKKOS_THREADS_STATE_HPP -#ifdef KOKKOS_ENABLE_HBWSPACE namespace Kokkos { - -namespace Experimental { -class HBWSpace; /// Memory space for hbw_malloc from memkind (e.g. for KNL - /// processor) -} // namespace Experimental +namespace Impl { +/** \brief States of a worker thread */ +enum class ThreadState { + Terminating ///< Termination in progress + , + Inactive ///< Exists, waiting for work + , + Active ///< Exists, performing work + , + Rendezvous ///< Exists, waiting in a barrier or reduce + , + ScanCompleted, + ScanAvailable, + ReductionAvailable +}; +} // namespace Impl } // namespace Kokkos -#endif + #endif diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Team.hpp similarity index 95% rename from lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Team.hpp index b1cadc7c48..fd0f221365 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Team.hpp @@ -22,10 +22,11 @@ #include #include -#include #include #include +#include +#include //---------------------------------------------------------------------------- @@ -50,8 +51,8 @@ class ThreadsExecTeamMember { private: using space = execution_space::scratch_memory_space; - ThreadsExec* const m_exec; - ThreadsExec* const* m_team_base; ///< Base for team fan-in + ThreadsInternal* const m_instance; + ThreadsInternal* const* m_team_base; ///< Base for team fan-in space m_team_shared; size_t m_team_shared_size; int m_team_size; @@ -84,14 +85,13 @@ class ThreadsExecTeamMember { for (n = 1; (!(m_team_rank_rev & n)) && ((j = m_team_rank_rev + n) < m_team_size); n <<= 1) { - Impl::spinwait_while_equal(m_team_base[j]->state(), - ThreadsExec::Active); + spinwait_while_equal(m_team_base[j]->state(), ThreadState::Active); } // If not root then wait for release if (m_team_rank_rev) { - m_exec->state() = ThreadsExec::Rendezvous; - Impl::spinwait_while_equal(m_exec->state(), ThreadsExec::Rendezvous); + m_instance->state() = ThreadState::Rendezvous; + spinwait_while_equal(m_instance->state(), ThreadState::Rendezvous); } return !m_team_rank_rev; @@ -102,7 +102,7 @@ class ThreadsExecTeamMember { for (n = 1; (!(m_team_rank_rev & n)) && ((j = m_team_rank_rev + n) < m_team_size); n <<= 1) { - m_team_base[j]->state() = ThreadsExec::Active; + m_team_base[j]->state() = ThreadState::Active; } } @@ -188,10 +188,10 @@ class ThreadsExecTeamMember { using type = typename if_c::type; - if (nullptr == m_exec) return value; + if (m_instance == nullptr) return value; if (team_rank() != team_size() - 1) * - ((volatile type*)m_exec->scratch_memory()) = value; + ((volatile type*)m_instance->scratch_memory()) = value; memory_fence(); @@ -229,9 +229,9 @@ class ThreadsExecTeamMember { using type = typename if_c::type; - if (nullptr == m_exec) return; + if (m_instance == nullptr) return; - type* const local_value = ((type*)m_exec->scratch_memory()); + type* const local_value = ((type*)m_instance->scratch_memory()); // Set this thread's contribution if (team_rank() != team_size() - 1) { *local_value = contribution; } @@ -285,9 +285,9 @@ class ThreadsExecTeamMember { using type = typename if_c::type; - if (nullptr == m_exec) return type(0); + if (m_instance == nullptr) return type(0); - volatile type* const work_value = ((type*)m_exec->scratch_memory()); + volatile type* const work_value = ((type*)m_instance->scratch_memory()); *work_value = value; @@ -342,10 +342,10 @@ class ThreadsExecTeamMember { template ThreadsExecTeamMember( - Impl::ThreadsExec* exec, + Impl::ThreadsInternal* instance, const TeamPolicyInternal& team, const size_t shared_size) - : m_exec(exec), + : m_instance(instance), m_team_base(nullptr), m_team_shared(nullptr, 0), m_team_shared_size(shared_size), @@ -361,9 +361,11 @@ class ThreadsExecTeamMember { if (team.league_size()) { // Execution is using device-team interface: - const int pool_rank_rev = m_exec->pool_size() - (m_exec->pool_rank() + 1); + const int pool_rank_rev = + m_instance->pool_size() - (m_instance->pool_rank() + 1); const int team_rank_rev = pool_rank_rev % team.team_alloc(); - const size_t pool_league_size = m_exec->pool_size() / team.team_alloc(); + const size_t pool_league_size = + m_instance->pool_size() / team.team_alloc(); const size_t pool_league_rank_rev = pool_rank_rev / team.team_alloc(); if (pool_league_rank_rev >= pool_league_size) { m_invalid_thread = 1; @@ -372,7 +374,7 @@ class ThreadsExecTeamMember { const size_t pool_league_rank = pool_league_size - (pool_league_rank_rev + 1); - const int pool_num_teams = m_exec->pool_size() / team.team_alloc(); + const int pool_num_teams = m_instance->pool_size() / team.team_alloc(); const int chunk_size = team.chunk_size() > 0 ? team.chunk_size() : team.team_iter(); const int chunks_per_team = @@ -387,8 +389,8 @@ class ThreadsExecTeamMember { if ((team.team_alloc() > size_t(m_team_size)) ? (team_rank_rev >= m_team_size) - : (m_exec->pool_size() - pool_num_teams * m_team_size > - m_exec->pool_rank())) + : (m_instance->pool_size() - pool_num_teams * m_team_size > + m_instance->pool_rank())) m_invalid_thread = 1; else m_invalid_thread = 0; @@ -398,7 +400,7 @@ class ThreadsExecTeamMember { if (team_rank_rev < team.team_size() && !m_invalid_thread) { m_team_base = - m_exec->pool_base() + team.team_alloc() * pool_league_rank_rev; + m_instance->pool_base() + team.team_alloc() * pool_league_rank_rev; m_team_size = team.team_size(); m_team_rank = team.team_size() - (team_rank_rev + 1); m_team_rank_rev = team_rank_rev; @@ -413,13 +415,13 @@ class ThreadsExecTeamMember { } if ((m_team_rank_rev == 0) && (m_invalid_thread == 0)) { - m_exec->set_work_range(m_league_rank, m_league_end, m_chunk_size); - m_exec->reset_steal_target(m_team_size); + m_instance->set_work_range(m_league_rank, m_league_end, m_chunk_size); + m_instance->reset_steal_target(m_team_size); } if (std::is_same::schedule_type::type, Kokkos::Dynamic>::value) { - m_exec->barrier(); + m_instance->barrier(); } } else { m_invalid_thread = 1; @@ -427,7 +429,7 @@ class ThreadsExecTeamMember { } ThreadsExecTeamMember() - : m_exec(nullptr), + : m_instance(nullptr), m_team_base(nullptr), m_team_shared(nullptr, 0), m_team_shared_size(0), @@ -442,8 +444,8 @@ class ThreadsExecTeamMember { m_invalid_thread(0), m_team_alloc(0) {} - inline ThreadsExec& threads_exec_team_base() const { - return m_team_base ? **m_team_base : *m_exec; + inline ThreadsInternal& threads_exec_team_base() const { + return m_team_base ? **m_team_base : *m_instance; } bool valid_static() const { return m_league_rank < m_league_end; } @@ -999,8 +1001,10 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( lambda(i, scan_val, false); } + auto& team_member = loop_bounds.thread; + // 'scan_val' output is the exclusive prefix sum - scan_val = loop_bounds.thread.team_scan(scan_val); + scan_val = team_member.team_scan(scan_val); #ifdef KOKKOS_ENABLE_PRAGMA_IVDEP #pragma ivdep @@ -1010,6 +1014,8 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( lambda(i, scan_val, true); } + team_member.team_broadcast(scan_val, team_member.team_size() - 1); + return_val = scan_val; } diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp index d4ce697548..c88d66db5f 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp @@ -18,7 +18,7 @@ #define KOKKOS_THREADS_WORKGRAPHPOLICY_HPP #include -#include +#include namespace Kokkos { namespace Impl { @@ -61,16 +61,17 @@ class ParallelFor, } } - static inline void thread_main(ThreadsExec& exec, const void* arg) noexcept { + static inline void thread_main(ThreadsInternal& instance, + const void* arg) noexcept { const Self& self = *(static_cast(arg)); self.exec_one_thread(); - exec.fan_in(); + instance.fan_in(); } public: inline void execute() { - ThreadsExec::start(&Self::thread_main, this); - ThreadsExec::fence(); + ThreadsInternal::start(&Self::thread_main, this); + ThreadsInternal::fence(); } inline ParallelFor(const FunctorType& arg_functor, const Policy& arg_policy) diff --git a/lib/kokkos/core/src/decl/Kokkos_Declare_HBWSpace.hpp b/lib/kokkos/core/src/decl/Kokkos_Declare_HBWSpace.hpp deleted file mode 100644 index 1328c93135..0000000000 --- a/lib/kokkos/core/src/decl/Kokkos_Declare_HBWSpace.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_DECLARE_HBWSPACE_HPP -#define KOKKOS_DECLARE_HBWSPACE_HPP - -#ifdef KOKKOS_ENABLE_HBWSPACE -#include -#endif - -#endif diff --git a/lib/kokkos/core/src/decl/Kokkos_Declare_HIP.hpp b/lib/kokkos/core/src/decl/Kokkos_Declare_HIP.hpp index e115f7051f..cf405e57b8 100644 --- a/lib/kokkos/core/src/decl/Kokkos_Declare_HIP.hpp +++ b/lib/kokkos/core/src/decl/Kokkos_Declare_HIP.hpp @@ -25,9 +25,13 @@ #include #include #include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include #include #include diff --git a/lib/kokkos/core/src/decl/Kokkos_Declare_THREADS.hpp b/lib/kokkos/core/src/decl/Kokkos_Declare_THREADS.hpp index f5cbc0c1d1..4d7caec6f5 100644 --- a/lib/kokkos/core/src/decl/Kokkos_Declare_THREADS.hpp +++ b/lib/kokkos/core/src/decl/Kokkos_Declare_THREADS.hpp @@ -19,7 +19,7 @@ #if defined(KOKKOS_ENABLE_THREADS) #include -#include +#include #include #include #include @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Core.cpp b/lib/kokkos/core/src/impl/Kokkos_Core.cpp index 5c182db566..4a69652616 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Core.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_Core.cpp @@ -90,8 +90,6 @@ void combine(Kokkos::InitializationSettings& out, KOKKOS_IMPL_COMBINE_SETTING(num_threads); KOKKOS_IMPL_COMBINE_SETTING(map_device_id_by); KOKKOS_IMPL_COMBINE_SETTING(device_id); - KOKKOS_IMPL_COMBINE_SETTING(num_devices); - KOKKOS_IMPL_COMBINE_SETTING(skip_device); KOKKOS_IMPL_COMBINE_SETTING(disable_warnings); KOKKOS_IMPL_COMBINE_SETTING(tune_internals); KOKKOS_IMPL_COMBINE_SETTING(tools_help); @@ -131,11 +129,15 @@ void combine(Kokkos::Tools::InitArguments& out, int get_device_count() { #if defined(KOKKOS_ENABLE_CUDA) - return Kokkos::Cuda::detect_device_count(); + int count; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&count)); + return count; #elif defined(KOKKOS_ENABLE_HIP) - return Kokkos::HIP::detect_device_count(); + int count; + KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&count)); + return count; #elif defined(KOKKOS_ENABLE_SYCL) - return sycl::device::get_devices(sycl::info::device_type::gpu).size(); + return Kokkos::Experimental::Impl::get_sycl_devices().size(); #elif defined(KOKKOS_ENABLE_OPENACC) return acc_get_num_devices( Kokkos::Experimental::Impl::OpenACC_Traits::dev_type); @@ -165,20 +167,43 @@ bool is_valid_map_device_id_by(std::string const& x) { } // namespace +std::vector const& Kokkos::Impl::get_visible_devices() { + static auto devices = get_visible_devices(get_device_count()); + return devices; +} + [[nodiscard]] int Kokkos::device_id() noexcept { #if defined(KOKKOS_ENABLE_CUDA) - return Cuda().cuda_device(); + int device = Cuda().cuda_device(); #elif defined(KOKKOS_ENABLE_HIP) - return HIP().hip_device(); + int device = HIP().hip_device(); #elif defined(KOKKOS_ENABLE_OPENACC) - return Experimental::OpenACC().acc_device_number(); + int device = Experimental::OpenACC().acc_device_number(); #elif defined(KOKKOS_ENABLE_OPENMPTARGET) - return omp_get_default_device(); // FIXME_OPENMPTARGET + int device = omp_get_default_device(); // FIXME_OPENMPTARGET #elif defined(KOKKOS_ENABLE_SYCL) - return Experimental::Impl::SYCLInternal::m_syclDev; + int device = Experimental::Impl::SYCLInternal::m_syclDev; #else - return -1; + int device = -1; + return device; #endif + auto const& visible_devices = Impl::get_visible_devices(); + for (std::size_t i = 0; i < visible_devices.size(); ++i) { + if (visible_devices[i] == device) { + return i; + } + } + Kokkos::abort("Unexpected error: cannot determine device id"); + return -1; +} + +[[nodiscard]] int Kokkos::num_devices() noexcept { + if constexpr (std::is_same_v) { + return -1; // no GPU backend enabled + } else { + return Impl::get_visible_devices().size(); + } } [[nodiscard]] int Kokkos::num_threads() noexcept { @@ -313,8 +338,7 @@ int Kokkos::Impl::get_ctest_gpu(int local_rank) { return std::stoi(id.c_str()); } -std::vector Kokkos::Impl::get_visible_devices( - Kokkos::InitializationSettings const& settings, int device_count) { +std::vector Kokkos::Impl::get_visible_devices(int device_count) { std::vector visible_devices; char* env_visible_devices = std::getenv("KOKKOS_VISIBLE_DEVICES"); if (env_visible_devices) { @@ -341,30 +365,9 @@ std::vector Kokkos::Impl::get_visible_devices( } } } else { - int num_devices = - settings.has_num_devices() ? settings.get_num_devices() : device_count; - if (num_devices > device_count) { - std::stringstream ss; - ss << "Error: Specified number of devices '" << num_devices - << "' exceeds the actual number of GPUs available for execution '" - << device_count << "'." - << " Raised by Kokkos::initialize().\n"; - Kokkos::abort(ss.str().c_str()); - } - for (int i = 0; i < num_devices; ++i) { + for (int i = 0; i < device_count; ++i) { visible_devices.push_back(i); } - if (settings.has_skip_device()) { - if (visible_devices.size() == 1 && settings.get_skip_device() == 0) { - Kokkos::abort( - "Error: skipping the only GPU available for execution.\n" - " Raised by Kokkos::initialize().\n"); - } - visible_devices.erase( - std::remove(visible_devices.begin(), visible_devices.end(), - settings.get_skip_device()), - visible_devices.end()); - } } if (visible_devices.empty()) { Kokkos::abort( @@ -374,10 +377,10 @@ std::vector Kokkos::Impl::get_visible_devices( return visible_devices; } -int Kokkos::Impl::get_gpu(const InitializationSettings& settings) { - std::vector visible_devices = - get_visible_devices(settings, get_device_count()); - int const num_devices = visible_devices.size(); +std::optional Kokkos::Impl::get_gpu( + const InitializationSettings& settings) { + std::vector visible_devices = get_visible_devices(get_device_count()); + int const num_devices = visible_devices.size(); // device_id is provided if (settings.has_device_id()) { int const id = settings.get_device_id(); @@ -423,14 +426,15 @@ int Kokkos::Impl::get_gpu(const InitializationSettings& settings) { int const mpi_local_rank = mpi_local_rank_on_node(); - // use first GPU available for execution if unable to detect local MPI rank + // if unable to detect local MPI rank return nullopt to delegate device + // selection to the backend if (mpi_local_rank < 0) { if (settings.has_map_device_id_by()) { std::cerr << "Warning: unable to detect local MPI rank." << " Falling back to the first GPU available for execution." << " Raised by Kokkos::initialize()." << std::endl; } - return visible_devices[0]; + return std::nullopt; } // use device assigned by CTest when resource allocation is activated @@ -445,13 +449,6 @@ int Kokkos::Impl::get_gpu(const InitializationSettings& settings) { namespace { void initialize_backends(const Kokkos::InitializationSettings& settings) { -// This is an experimental setting -// For KNL in Flat mode this variable should be set, so that -// memkind allocates high bandwidth memory correctly. -#ifdef KOKKOS_ENABLE_HBWSPACE - setenv("MEMKIND_HBW_NODES", "1", 0); -#endif - Kokkos::Impl::ExecSpaceManager::get_instance().initialize_spaces(settings); } @@ -571,19 +568,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { "no"); #endif -#ifdef KOKKOS_ENABLE_HBWSPACE - declare_configuration_metadata("memory", "KOKKOS_ENABLE_HBWSPACE", "yes"); -#else - declare_configuration_metadata("memory", "KOKKOS_ENABLE_HBWSPACE", "no"); -#endif -#ifdef KOKKOS_ENABLE_INTEL_MM_ALLOC - declare_configuration_metadata("memory", "KOKKOS_ENABLE_INTEL_MM_ALLOC", - "yes"); -#else - declare_configuration_metadata("memory", "KOKKOS_ENABLE_INTEL_MM_ALLOC", - "no"); -#endif - #ifdef KOKKOS_ENABLE_ASM declare_configuration_metadata("options", "KOKKOS_ENABLE_ASM", "yes"); #else @@ -604,6 +588,11 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { #else declare_configuration_metadata("options", "KOKKOS_ENABLE_CXX23", "no"); #endif +#ifdef KOKKOS_ENABLE_CXX26 + declare_configuration_metadata("options", "KOKKOS_ENABLE_CXX26", "yes"); +#else + declare_configuration_metadata("options", "KOKKOS_ENABLE_CXX26", "no"); +#endif #ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK declare_configuration_metadata("options", "KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK", "yes"); @@ -616,11 +605,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { #else declare_configuration_metadata("options", "KOKKOS_ENABLE_HWLOC", "no"); #endif -#ifdef KOKKOS_ENABLE_LIBRT - declare_configuration_metadata("options", "KOKKOS_ENABLE_LIBRT", "yes"); -#else - declare_configuration_metadata("options", "KOKKOS_ENABLE_LIBRT", "no"); -#endif #ifdef KOKKOS_ENABLE_LIBDL declare_configuration_metadata("options", "KOKKOS_ENABLE_LIBDL", "yes"); #else @@ -645,8 +629,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { "ARMV8_THUNDERX2"); #elif defined(KOKKOS_ARCH_BDW) declare_configuration_metadata("architecture", "CPU architecture", "BDW"); -#elif defined(KOKKOS_ARCH_BGQ) - declare_configuration_metadata("architecture", "CPU architecture", "BGQ"); #elif defined(KOKKOS_ARCH_HSW) declare_configuration_metadata("architecture", "CPU architecture", "HSW"); #elif defined(KOKKOS_ARCH_ICL) @@ -659,8 +641,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { declare_configuration_metadata("architecture", "CPU architecture", "KNL"); #elif defined(KOKKOS_ARCH_NATIVE) declare_configuration_metadata("architecture", "CPU architecture", "NATIVE"); -#elif defined(KOKKOS_ARCH_POWER7) - declare_configuration_metadata("architecture", "CPU architecture", "POWER7"); #elif defined(KOKKOS_ARCH_POWER8) declare_configuration_metadata("architecture", "CPU architecture", "POWER8"); #elif defined(KOKKOS_ARCH_POWER9) @@ -673,8 +653,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { declare_configuration_metadata("architecture", "CPU architecture", "SNB"); #elif defined(KOKKOS_ARCH_SPR) declare_configuration_metadata("architecture", "CPU architecture", "SPR"); -#elif defined(KOKKOS_ARCH_WSM) - declare_configuration_metadata("architecture", "CPU architecture", "WSM"); #elif defined(KOKKOS_ARCH_AMD_ZEN) declare_configuration_metadata("architecture", "CPU architecture", "AMD_ZEN"); #elif defined(KOKKOS_ARCH_AMD_ZEN2) @@ -683,6 +661,9 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { #elif defined(KOKKOS_ARCH_AMD_ZEN3) declare_configuration_metadata("architecture", "CPU architecture", "AMD_ZEN3"); +#elif defined(KOKKOS_ARCH_RISCV_SG2042) + declare_configuration_metadata("architecture", "CPU architecture", + "SG2042 (RISC-V)") #else declare_configuration_metadata("architecture", "CPU architecture", "none"); #endif @@ -752,8 +733,8 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { #elif defined(KOKKOS_ARCH_ADA89) declare_configuration_metadata("architecture", "GPU architecture", "ADA89"); #elif defined(KOKKOS_ARCH_HOPPER90) - declare_configuration_metadata("architecture", "GPU architecture", - "HOPPER90"); + declare_configuration_metadata("architecture", "GPU architecture", + "HOPPER90"); #elif defined(KOKKOS_ARCH_AMD_GFX906) declare_configuration_metadata("architecture", "GPU architecture", "AMD_GFX906"); @@ -911,36 +892,18 @@ void Kokkos::Impl::parse_command_line_arguments( int num_threads; int device_id; - int num_devices; // deprecated - int skip_device; // deprecated std::string map_device_id_by; bool disable_warnings; bool print_configuration; bool tune_internals; - auto get_flag = [](std::string s) -> std::string { - return s.erase(s.find('=')); - }; - bool help_flag = false; int iarg = 0; while (iarg < argc) { bool remove_flag = false; - if (check_arg(argv[iarg], "--kokkos-numa") || - check_arg(argv[iarg], "--numa")) { - warn_deprecated_command_line_argument(get_flag(argv[iarg])); - // remove flag if prefixed with '--kokkos-' - remove_flag = std::string(argv[iarg]).find("--kokkos-") == 0; - } else if (check_arg_int(argv[iarg], "--kokkos-num-threads", num_threads) || - check_arg_int(argv[iarg], "--num-threads", num_threads) || - check_arg_int(argv[iarg], "--kokkos-threads", num_threads) || - check_arg_int(argv[iarg], "--threads", num_threads)) { - if (get_flag(argv[iarg]) != "--kokkos-num-threads") { - warn_deprecated_command_line_argument(get_flag(argv[iarg]), - "--kokkos-num-threads"); - } + if (check_arg_int(argv[iarg], "--kokkos-num-threads", num_threads)) { if (!is_valid_num_threads(num_threads)) { std::stringstream ss; ss << "Error: command line argument '" << argv[iarg] << "' is invalid." @@ -949,15 +912,8 @@ void Kokkos::Impl::parse_command_line_arguments( Kokkos::abort(ss.str().c_str()); } settings.set_num_threads(num_threads); - remove_flag = std::string(argv[iarg]).find("--kokkos-") == 0; - } else if (check_arg_int(argv[iarg], "--kokkos-device-id", device_id) || - check_arg_int(argv[iarg], "--device-id", device_id) || - check_arg_int(argv[iarg], "--kokkos-device", device_id) || - check_arg_int(argv[iarg], "--device", device_id)) { - if (get_flag(argv[iarg]) != "--kokkos-device-id") { - warn_deprecated_command_line_argument(get_flag(argv[iarg]), - "--kokkos-device-id"); - } + remove_flag = true; + } else if (check_arg_int(argv[iarg], "--kokkos-device-id", device_id)) { if (!is_valid_device_id(device_id)) { std::stringstream ss; ss << "Error: command line argument '" << argv[iarg] << "' is invalid." @@ -966,70 +922,7 @@ void Kokkos::Impl::parse_command_line_arguments( Kokkos::abort(ss.str().c_str()); } settings.set_device_id(device_id); - remove_flag = std::string(argv[iarg]).find("--kokkos-") == 0; - } else if (check_arg(argv[iarg], "--kokkos-num-devices") || - check_arg(argv[iarg], "--num-devices") || - check_arg(argv[iarg], "--kokkos-ndevices") || - check_arg(argv[iarg], "--ndevices")) { - if (check_arg(argv[iarg], "--num-devices")) { - warn_deprecated_command_line_argument("--num-devices", - "--kokkos-num-devices"); - } - if (check_arg(argv[iarg], "--ndevices")) { - warn_deprecated_command_line_argument("--ndevices", - "--kokkos-num-devices"); - } - if (check_arg(argv[iarg], "--kokkos-ndevices")) { - warn_deprecated_command_line_argument("--kokkos-ndevices", - "--kokkos-num-devices"); - } - warn_deprecated_command_line_argument( - "--kokkos-num-devices", "--kokkos-map-device-id-by=mpi_rank"); - // Find the number of device (expecting --device=XX) - if (!((strncmp(argv[iarg], "--kokkos-num-devices=", 21) == 0) || - (strncmp(argv[iarg], "--num-devices=", 14) == 0) || - (strncmp(argv[iarg], "--kokkos-ndevices=", 18) == 0) || - (strncmp(argv[iarg], "--ndevices=", 11) == 0))) - throw_runtime_exception( - "Error: expecting an '=INT[,INT]' after command line argument " - "'--kokkos-num-devices'." - " Raised by Kokkos::initialize()."); - - char* num1 = strchr(argv[iarg], '=') + 1; - char* num2 = strpbrk(num1, ","); - int num1_len = num2 == nullptr ? strlen(num1) : num2 - num1; - char* num1_only = new char[num1_len + 1]; - strncpy(num1_only, num1, num1_len); - num1_only[num1_len] = '\0'; - - if (!is_unsigned_int(num1_only) || (strlen(num1_only) == 0)) { - throw_runtime_exception( - "Error: expecting an integer number after command line argument " - "'--kokkos-num-devices'." - " Raised by Kokkos::initialize()."); - } - if (check_arg(argv[iarg], "--kokkos-num-devices") || - check_arg(argv[iarg], "--kokkos-ndevices")) { - num_devices = std::stoi(num1_only); - settings.set_num_devices(num_devices); - settings.set_map_device_id_by("mpi_rank"); - } - delete[] num1_only; - - if (num2 != nullptr) { - if ((!is_unsigned_int(num2 + 1)) || (strlen(num2) == 1)) - throw_runtime_exception( - "Error: expecting an integer number after command line argument " - "'--kokkos-num-devices=XX,'." - " Raised by Kokkos::initialize()."); - - if (check_arg(argv[iarg], "--kokkos-num-devices") || - check_arg(argv[iarg], "--kokkos-ndevices")) { - skip_device = std::stoi(num2 + 1); - settings.set_skip_device(skip_device); - } - } - remove_flag = std::string(argv[iarg]).find("--kokkos-") == 0; + remove_flag = true; } else if (check_arg_bool(argv[iarg], "--kokkos-disable-warnings", disable_warnings)) { settings.set_disable_warnings(disable_warnings); @@ -1098,9 +991,6 @@ void Kokkos::Impl::parse_environment_variables( } combine(settings, tools_init_arguments); - if (std::getenv("KOKKOS_NUMA")) { - warn_deprecated_environment_variable("KOKKOS_NUMA"); - } int num_threads; if (check_env_int("KOKKOS_NUM_THREADS", num_threads)) { if (!is_valid_num_threads(num_threads)) { @@ -1125,34 +1015,6 @@ void Kokkos::Impl::parse_environment_variables( } settings.set_device_id(device_id); } - int num_devices; - int rand_devices; - bool has_num_devices = check_env_int("KOKKOS_NUM_DEVICES", num_devices); - bool has_rand_devices = check_env_int("KOKKOS_RAND_DEVICES", rand_devices); - if (has_rand_devices && has_num_devices) { - Impl::throw_runtime_exception( - "Error: cannot specify both KOKKOS_NUM_DEVICES and " - "KOKKOS_RAND_DEVICES." - " Raised by Kokkos::initialize()."); - } - if (has_num_devices) { - warn_deprecated_environment_variable("KOKKOS_NUM_DEVICES", - "KOKKOS_MAP_DEVICE_ID_BY=mpi_rank"); - settings.set_map_device_id_by("mpi_rank"); - settings.set_num_devices(num_devices); - } - if (has_rand_devices) { - warn_deprecated_environment_variable("KOKKOS_RAND_DEVICES", - "KOKKOS_MAP_DEVICE_ID_BY=random"); - settings.set_map_device_id_by("random"); - settings.set_num_devices(rand_devices); - } - if (has_num_devices || has_rand_devices) { - int skip_device; - if (check_env_int("KOKKOS_SKIP_DEVICE", skip_device)) { - settings.set_skip_device(skip_device); - } - } bool disable_warnings; if (check_env_bool("KOKKOS_DISABLE_WARNINGS", disable_warnings)) { settings.set_disable_warnings(disable_warnings); diff --git a/lib/kokkos/core/src/impl/Kokkos_DeviceManagement.hpp b/lib/kokkos/core/src/impl/Kokkos_DeviceManagement.hpp index bd89c8b19c..70dca5d8fa 100644 --- a/lib/kokkos/core/src/impl/Kokkos_DeviceManagement.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_DeviceManagement.hpp @@ -17,17 +17,17 @@ #ifndef KOKKOS_DEVICE_MANAGEMENT_HPP #define KOKKOS_DEVICE_MANAGEMENT_HPP +#include #include namespace Kokkos { class InitializationSettings; namespace Impl { -int get_gpu(const Kokkos::InitializationSettings& settings); +std::optional get_gpu(const Kokkos::InitializationSettings& settings); // This declaration is provided for testing purposes only int get_ctest_gpu(int local_rank); -// ditto -std::vector get_visible_devices( - Kokkos::InitializationSettings const& settings, int device_count); +std::vector get_visible_devices(int device_count); // test-only +std::vector const& get_visible_devices(); // use this instead } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_Error.cpp b/lib/kokkos/core/src/impl/Kokkos_Error.cpp index 4babe2d72b..de6e83ed1f 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Error.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_Error.cpp @@ -21,10 +21,11 @@ #include #include -#include +#include #include #include #include +#include // show_warnings #include #include @@ -38,6 +39,12 @@ void throw_runtime_exception(const std::string &msg) { throw std::runtime_error(msg); } +void log_warning(const std::string &msg) { + if (show_warnings()) { + std::cerr << msg << std::flush; + } +} + std::string human_memory_size(size_t arg_bytes) { double bytes = arg_bytes; const double K = 1024; @@ -64,7 +71,8 @@ std::string human_memory_size(size_t arg_bytes) { void Experimental::RawMemoryAllocationFailure::print_error_message( std::ostream &o) const { - o << "Allocation of size " << Impl::human_memory_size(m_attempted_size); + o << "Allocation of size " + << ::Kokkos::Impl::human_memory_size(m_attempted_size); o << " failed"; switch (m_failure_mode) { case FailureMode::OutOfMemoryError: diff --git a/lib/kokkos/core/src/impl/Kokkos_Error.hpp b/lib/kokkos/core/src/impl/Kokkos_Error.hpp index 3d0b1d3274..1058fd98db 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Error.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Error.hpp @@ -28,6 +28,8 @@ namespace Impl { [[noreturn]] void throw_runtime_exception(const std::string &msg); +void log_warning(const std::string &msg); + std::string human_memory_size(size_t arg_bytes); } // namespace Impl @@ -58,7 +60,8 @@ class RawMemoryAllocationFailure : public std::bad_alloc { HIPMallocManaged, SYCLMallocDevice, SYCLMallocShared, - SYCLMallocHost + SYCLMallocHost, + OpenACCMalloc, }; private: diff --git a/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp b/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp deleted file mode 100644 index cd640b88cb..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp +++ /dev/null @@ -1,313 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#define KOKKOS_IMPL_PUBLIC_INCLUDE -#endif - -#include - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#ifdef KOKKOS_ENABLE_HBWSPACE -#include -#endif - -#include - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- -#ifdef KOKKOS_ENABLE_HBWSPACE -#define MEMKIND_TYPE MEMKIND_HBW // hbw_get_kind(HBW_PAGESIZE_4KB) - -/*--------------------------------------------------------------------------*/ - -namespace Kokkos { -namespace Experimental { - -/* Default allocation mechanism */ -HBWSpace::HBWSpace() : m_alloc_mech(HBWSpace::STD_MALLOC) { - printf("Init\n"); - setenv("MEMKIND_HBW_NODES", "1", 0); -} - -/* Default allocation mechanism */ -HBWSpace::HBWSpace(const HBWSpace::AllocationMechanism &arg_alloc_mech) - : m_alloc_mech(HBWSpace::STD_MALLOC) { - printf("Init2\n"); - setenv("MEMKIND_HBW_NODES", "1", 0); - if (arg_alloc_mech == STD_MALLOC) { - m_alloc_mech = HBWSpace::STD_MALLOC; - } -} - -void *HBWSpace::allocate(const size_t arg_alloc_size) const { - return allocate("[unlabeled]", arg_alloc_size); -} -void *HBWSpace::allocate(const char *arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size) const { - return impl_allocate(arg_label, arg_alloc_size, arg_logical_size); -} -void *HBWSpace::impl_allocate( - const char *arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size, - const Kokkos::Tools::SpaceHandle arg_handle) const { - static_assert(sizeof(void *) == sizeof(uintptr_t), - "Error sizeof(void*) != sizeof(uintptr_t)"); - - static_assert( - Kokkos::Impl::power_of_two::value, - "Memory alignment must be power of two"); - - constexpr uintptr_t alignment = Kokkos::Impl::MEMORY_ALIGNMENT; - constexpr uintptr_t alignment_mask = alignment - 1; - - void *ptr = nullptr; - - if (arg_alloc_size) { - if (m_alloc_mech == STD_MALLOC) { - // Over-allocate to and round up to guarantee proper alignment. - size_t size_padded = arg_alloc_size + sizeof(void *) + alignment; - - void *alloc_ptr = memkind_malloc(MEMKIND_TYPE, size_padded); - - if (alloc_ptr) { - uintptr_t address = reinterpret_cast(alloc_ptr); - - // offset enough to record the alloc_ptr - address += sizeof(void *); - uintptr_t rem = address % alignment; - uintptr_t offset = rem ? (alignment - rem) : 0u; - address += offset; - ptr = reinterpret_cast(address); - // record the alloc'd pointer - address -= sizeof(void *); - *reinterpret_cast(address) = alloc_ptr; - } - } - } - - if ((ptr == nullptr) || (reinterpret_cast(ptr) == ~uintptr_t(0)) || - (reinterpret_cast(ptr) & alignment_mask)) { - std::ostringstream msg; - msg << "Kokkos::Experimental::HBWSpace::allocate[ "; - switch (m_alloc_mech) { - case STD_MALLOC: msg << "STD_MALLOC"; break; - case POSIX_MEMALIGN: msg << "POSIX_MEMALIGN"; break; - case POSIX_MMAP: msg << "POSIX_MMAP"; break; - case INTEL_MM_ALLOC: msg << "INTEL_MM_ALLOC"; break; - } - msg << " ]( " << arg_alloc_size << " ) FAILED"; - if (ptr == nullptr) { - msg << " nullptr"; - } else { - msg << " NOT ALIGNED " << ptr; - } - - std::cerr << msg.str() << std::endl; - std::cerr.flush(); - - Kokkos::Impl::throw_runtime_exception(msg.str()); - } - if (Kokkos::Profiling::profileLibraryLoaded()) { - const size_t reported_size = - (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; - Kokkos::Profiling::allocateData(arg_handle, arg_label, ptr, reported_size); - } - - return ptr; -} - -void HBWSpace::deallocate(void *const arg_alloc_ptr, - const size_t arg_alloc_size) const { - deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); -} -void HBWSpace::deallocate(const char *arg_label, void *const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size) const { - impl_deallocate(arg_label, arg_alloc_ptr, arg_alloc_size, arg_logical_size); -} -void HBWSpace::impl_deallocate( - const char *arg_label, void *const arg_alloc_ptr, - const size_t arg_alloc_size, const size_t arg_logical_size, - const Kokkos::Tools::SpaceHandle arg_handle) const { - if (arg_alloc_ptr) { - if (Kokkos::Profiling::profileLibraryLoaded()) { - const size_t reported_size = - (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; - Kokkos::Profiling::deallocateData(arg_handle, arg_label, arg_alloc_ptr, - reported_size); - } - - if (m_alloc_mech == STD_MALLOC) { - void *alloc_ptr = *(reinterpret_cast(arg_alloc_ptr) - 1); - memkind_free(MEMKIND_TYPE, alloc_ptr); - } - } -} - -} // namespace Experimental -} // namespace Kokkos - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord - SharedAllocationRecord::s_root_record; -#endif - -void SharedAllocationRecord::deallocate( - SharedAllocationRecord *arg_rec) { - delete static_cast(arg_rec); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::HBWSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : SharedAllocationRecord( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - // Fill in the Header information - RecordBase::m_alloc_ptr->m_record = - static_cast *>(this); - - strncpy(RecordBase::m_alloc_ptr->m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length - 1); - // Set last element zero, in case c_str is too long - RecordBase::m_alloc_ptr - ->m_label[SharedAllocationHeader::maximum_label_length - 1] = '\0'; -} - -//---------------------------------------------------------------------------- - -void * -SharedAllocationRecord::allocate_tracked( - const Kokkos::Experimental::HBWSpace &arg_space, - const std::string &arg_alloc_label, const size_t arg_alloc_size) { - if (!arg_alloc_size) return nullptr; - - SharedAllocationRecord *const r = - allocate(arg_space, arg_alloc_label, arg_alloc_size); - - RecordBase::increment(r); - - return r->data(); -} - -void SharedAllocationRecord::deallocate_tracked(void *const - arg_alloc_ptr) { - if (arg_alloc_ptr != nullptr) { - SharedAllocationRecord *const r = get_record(arg_alloc_ptr); - - RecordBase::decrement(r); - } -} - -void *SharedAllocationRecord:: - reallocate_tracked(void *const arg_alloc_ptr, const size_t arg_alloc_size) { - SharedAllocationRecord *const r_old = get_record(arg_alloc_ptr); - SharedAllocationRecord *const r_new = - allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); - - Kokkos::Impl::DeepCopy( - r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - Kokkos::fence( - "SharedAllocationRecord::reallocate_tracked(): fence after copying data"); - - RecordBase::increment(r_new); - RecordBase::decrement(r_old); - - return r_new->data(); -} - -SharedAllocationRecord - *SharedAllocationRecord::get_record( - void *alloc_ptr) { - using Header = SharedAllocationHeader; - using RecordHost = - SharedAllocationRecord; - - SharedAllocationHeader const *const head = - alloc_ptr ? Header::get_header(alloc_ptr) : nullptr; - RecordHost *const record = - head ? static_cast(head->m_record) : nullptr; - - if (!alloc_ptr || record->m_alloc_ptr != head) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::SharedAllocationRecord< Kokkos::Experimental::HBWSpace " - ", void >::get_record ERROR")); - } - - return record; -} - -// Iterate records to print orphaned memory ... -void SharedAllocationRecord:: - print_records(std::ostream &s, const Kokkos::Experimental::HBWSpace &space, - bool detail) { -#ifdef KOKKOS_ENABLE_DEBUG - SharedAllocationRecord::print_host_accessible_records( - s, "HBWSpace", &s_root_record, detail); -#else - throw_runtime_exception( - "SharedAllocationRecord::print_records" - " only works with KOKKOS_ENABLE_DEBUG enabled"); -#endif -} - -} // namespace Impl -} // namespace Kokkos - -#endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Half_FloatingPointWrapper.hpp b/lib/kokkos/core/src/impl/Kokkos_Half_FloatingPointWrapper.hpp index 4a22898d16..bcce013b00 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Half_FloatingPointWrapper.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Half_FloatingPointWrapper.hpp @@ -196,12 +196,12 @@ KOKKOS_INLINE_FUNCTION template static KOKKOS_INLINE_FUNCTION Kokkos::Experimental::half_t cast_to_wrapper( - T x, const volatile Kokkos::Impl::half_impl_t::type&); + T x, const Kokkos::Impl::half_impl_t::type&); #ifdef KOKKOS_IMPL_BHALF_TYPE_DEFINED template static KOKKOS_INLINE_FUNCTION Kokkos::Experimental::bhalf_t cast_to_wrapper( - T x, const volatile Kokkos::Impl::bhalf_impl_t::type&); + T x, const Kokkos::Impl::bhalf_impl_t::type&); #endif // KOKKOS_IMPL_BHALF_TYPE_DEFINED template @@ -283,13 +283,6 @@ class alignas(FloatType) floating_point_wrapper { private: impl_type val; - using fixed_width_integer_type = std::conditional_t< - sizeof(impl_type) == 2, uint16_t, - std::conditional_t< - sizeof(impl_type) == 4, uint32_t, - std::conditional_t>>; - static_assert(!std::is_void::value, - "Invalid impl_type"); public: // In-class initialization and defaulted default constructors not used @@ -318,18 +311,6 @@ class alignas(FloatType) floating_point_wrapper { default; #endif - KOKKOS_INLINE_FUNCTION - floating_point_wrapper(const volatile floating_point_wrapper& rhs) { -#if defined(KOKKOS_HALF_IS_FULL_TYPE_ON_ARCH) && !defined(KOKKOS_ENABLE_SYCL) - val = rhs.val; -#else - const volatile fixed_width_integer_type* rv_ptr = - reinterpret_cast(&rhs.val); - const fixed_width_integer_type rv_val = *rv_ptr; - val = reinterpret_cast(rv_val); -#endif // KOKKOS_HALF_IS_FULL_TYPE_ON_ARCH - } - KOKKOS_FUNCTION floating_point_wrapper(bit_comparison_type rhs) { val = Kokkos::bit_cast(rhs); @@ -492,15 +473,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - template - KOKKOS_FUNCTION void operator=(T rhs) volatile { - impl_type new_val = cast_to_wrapper(rhs, val).val; - volatile fixed_width_integer_type* val_ptr = - reinterpret_cast( - const_cast(&val)); - *val_ptr = reinterpret_cast(new_val); - } - // Compound operators KOKKOS_FUNCTION floating_point_wrapper& operator+=(floating_point_wrapper rhs) { @@ -515,15 +487,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - KOKKOS_FUNCTION - void operator+=(const volatile floating_point_wrapper& rhs) volatile { - floating_point_wrapper tmp_rhs = rhs; - floating_point_wrapper tmp_lhs = *this; - - tmp_lhs += tmp_rhs; - *this = tmp_lhs; - } - // Compound operators: upcast overloads for += template KOKKOS_FUNCTION friend std::enable_if_t< @@ -560,15 +523,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - KOKKOS_FUNCTION - void operator-=(const volatile floating_point_wrapper& rhs) volatile { - floating_point_wrapper tmp_rhs = rhs; - floating_point_wrapper tmp_lhs = *this; - - tmp_lhs -= tmp_rhs; - *this = tmp_lhs; - } - // Compund operators: upcast overloads for -= template KOKKOS_FUNCTION friend std::enable_if_t< @@ -605,15 +559,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - KOKKOS_FUNCTION - void operator*=(const volatile floating_point_wrapper& rhs) volatile { - floating_point_wrapper tmp_rhs = rhs; - floating_point_wrapper tmp_lhs = *this; - - tmp_lhs *= tmp_rhs; - *this = tmp_lhs; - } - // Compund operators: upcast overloads for *= template KOKKOS_FUNCTION friend std::enable_if_t< @@ -650,15 +595,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - KOKKOS_FUNCTION - void operator/=(const volatile floating_point_wrapper& rhs) volatile { - floating_point_wrapper tmp_rhs = rhs; - floating_point_wrapper tmp_lhs = *this; - - tmp_lhs /= tmp_rhs; - *this = tmp_lhs; - } - // Compund operators: upcast overloads for /= template KOKKOS_FUNCTION friend std::enable_if_t< @@ -884,27 +820,6 @@ class alignas(FloatType) floating_point_wrapper { #endif } - KOKKOS_FUNCTION - friend bool operator==(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs == tmp_rhs; - } - - KOKKOS_FUNCTION - friend bool operator!=(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs != tmp_rhs; - } - - KOKKOS_FUNCTION - friend bool operator<(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs < tmp_rhs; - } - template KOKKOS_FUNCTION friend std::enable_if_t && (std::is_same_v || @@ -923,13 +838,6 @@ class alignas(FloatType) floating_point_wrapper { return lhs < static_cast(rhs); } - KOKKOS_FUNCTION - friend bool operator>(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs > tmp_rhs; - } - template KOKKOS_FUNCTION friend std::enable_if_t && (std::is_same_v || @@ -948,13 +856,6 @@ class alignas(FloatType) floating_point_wrapper { return lhs > static_cast(rhs); } - KOKKOS_FUNCTION - friend bool operator<=(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs <= tmp_rhs; - } - template KOKKOS_FUNCTION friend std::enable_if_t && (std::is_same_v || @@ -973,13 +874,6 @@ class alignas(FloatType) floating_point_wrapper { return lhs <= static_cast(rhs); } - KOKKOS_FUNCTION - friend bool operator>=(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs >= tmp_rhs; - } - template KOKKOS_FUNCTION friend std::enable_if_t && (std::is_same_v || @@ -1018,14 +912,14 @@ class alignas(FloatType) floating_point_wrapper { // Declare wrapper overloads now that floating_point_wrapper is declared template static KOKKOS_INLINE_FUNCTION Kokkos::Experimental::half_t cast_to_wrapper( - T x, const volatile Kokkos::Impl::half_impl_t::type&) { + T x, const Kokkos::Impl::half_impl_t::type&) { return Kokkos::Experimental::cast_to_half(x); } #ifdef KOKKOS_IMPL_BHALF_TYPE_DEFINED template static KOKKOS_INLINE_FUNCTION Kokkos::Experimental::bhalf_t cast_to_wrapper( - T x, const volatile Kokkos::Impl::bhalf_impl_t::type&) { + T x, const Kokkos::Impl::bhalf_impl_t::type&) { return Kokkos::Experimental::cast_to_bhalf(x); } #endif // KOKKOS_IMPL_BHALF_TYPE_DEFINED diff --git a/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp b/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp index a9d7216059..1047b773d7 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp @@ -20,23 +20,11 @@ #include +#include +#include #include -#include #include -/*--------------------------------------------------------------------------*/ - -#if (defined(KOKKOS_COMPILER_INTEL) || defined(KOKKOS_COMPILER_INTEL_LLVM)) && \ - !defined(KOKKOS_ENABLE_CUDA) - -// Intel specialized allocator does not interoperate with CUDA memory allocation - -#define KOKKOS_ENABLE_INTEL_MM_ALLOC - -#endif - -/*--------------------------------------------------------------------------*/ - #include #include #include @@ -50,10 +38,6 @@ #include #endif -#include -#include -#include - //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -150,84 +134,6 @@ void HostSpace::impl_deallocate( } // namespace Kokkos -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord - SharedAllocationRecord::s_root_record; -#endif - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -SharedAllocationHeader *_do_allocation(Kokkos::HostSpace const &space, - std::string const &label, - size_t alloc_size) { - try { - return reinterpret_cast( - space.allocate(alloc_size)); - } catch (Experimental::RawMemoryAllocationFailure const &failure) { - if (failure.failure_mode() == Experimental::RawMemoryAllocationFailure:: - FailureMode::AllocationNotAligned) { - // TODO: delete the misaligned memory - } - - std::cerr << "Kokkos failed to allocate memory for label \"" << label - << "\". Allocation using MemorySpace named \"" << space.name() - << " failed with the following error: "; - failure.print_error_message(std::cerr); - std::cerr.flush(); - Kokkos::Impl::throw_runtime_exception("Memory allocation failure"); - } - return nullptr; // unreachable -} - -SharedAllocationRecord::SharedAllocationRecord( - const Kokkos::HostSpace &arg_space, const std::string &arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, - arg_label); -} - -} // namespace Impl -} // namespace Kokkos - -//============================================================================== -// {{{1 - #include -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class SharedAllocationRecordCommon; - -} // end namespace Impl -} // end namespace Kokkos - -// end Explicit instantiations of CRTP Base classes }}}1 -//============================================================================== +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION(Kokkos::HostSpace); diff --git a/lib/kokkos/core/src/impl/Kokkos_HostSpace_ZeroMemset.hpp b/lib/kokkos/core/src/impl/Kokkos_HostSpace_ZeroMemset.hpp index f740c408fb..3072e2ce82 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostSpace_ZeroMemset.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostSpace_ZeroMemset.hpp @@ -26,8 +26,7 @@ namespace Impl { template struct ZeroMemset> { - ZeroMemset(const HostSpace::execution_space& exec, const View& dst, - typename View::const_value_type&) { + ZeroMemset(const HostSpace::execution_space& exec, const View& dst) { // Host spaces, except for HPX, are synchronous and we need to fence for HPX // since we can't properly enqueue a std::memset otherwise. // We can't use exec.fence() directly since we don't have a full definition @@ -36,12 +35,6 @@ struct ZeroMemset> { using ValueType = typename View::value_type; std::memset(dst.data(), 0, sizeof(ValueType) * dst.size()); } - - ZeroMemset(const View& dst, - typename View::const_value_type&) { - using ValueType = typename View::value_type; - std::memset(dst.data(), 0, sizeof(ValueType) * dst.size()); - } }; } // end namespace Impl diff --git a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp index bfe5902bf7..11bf701b57 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp @@ -22,7 +22,6 @@ #include #include #include -#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.hpp b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.hpp index 51f25a8b60..25f09b8286 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.hpp @@ -885,7 +885,7 @@ KOKKOS_INLINE_FUNCTION closure(i, accum, false); } - auto team_member = loop_boundaries.thread; + auto& team_member = loop_boundaries.thread; // 'accum' output is the exclusive prefix sum accum = team_member.team_scan(accum); diff --git a/lib/kokkos/core/src/impl/Kokkos_InitializationSettings.hpp b/lib/kokkos/core/src/impl/Kokkos_InitializationSettings.hpp index ab4350f3a7..11a93c6bb5 100644 --- a/lib/kokkos/core/src/impl/Kokkos_InitializationSettings.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_InitializationSettings.hpp @@ -24,32 +24,6 @@ namespace Kokkos { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -struct InitArguments { - int num_threads; - int num_numa; - int device_id; - int ndevices; - int skip_device; - bool disable_warnings; - bool tune_internals; - bool tool_help = false; - std::string tool_lib = {}; - std::string tool_args = {}; - - KOKKOS_DEPRECATED_WITH_COMMENT("Use InitializationSettings instead!") - InitArguments(int nt = -1, int nn = -1, int dv = -1, bool dw = false, - bool ti = false) - : num_threads{nt}, - num_numa{nn}, - device_id{dv}, - ndevices{-1}, - skip_device{9999}, - disable_warnings{dw}, - tune_internals{ti} {} -}; -#endif - class InitializationSettings { #define KOKKOS_IMPL_DECLARE(TYPE, NAME) \ private: \ @@ -64,12 +38,32 @@ class InitializationSettings { TYPE get_##NAME() const noexcept { return *m_##NAME; } \ static_assert(true, "no-op to require trailing semicolon") +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +#define KOKKOS_IMPL_DECLARE_DEPRECATED(TYPE, NAME) \ + private: \ + std::optional m_##NAME; \ + \ + public: \ + KOKKOS_DEPRECATED InitializationSettings& set_##NAME(TYPE NAME) { \ + m_##NAME = NAME; \ + return *this; \ + } \ + KOKKOS_DEPRECATED bool has_##NAME() const noexcept { \ + return static_cast(m_##NAME); \ + } \ + KOKKOS_DEPRECATED TYPE get_##NAME() const noexcept { return *m_##NAME; } \ + static_assert(true, "no-op to require trailing semicolon") +#else +#define KOKKOS_IMPL_DECLARE_DEPRECATED(TYPE, NAME) \ + static_assert(true, "no-op to require trailing semicolon") +#endif + public: KOKKOS_IMPL_DECLARE(int, num_threads); KOKKOS_IMPL_DECLARE(int, device_id); KOKKOS_IMPL_DECLARE(std::string, map_device_id_by); - KOKKOS_IMPL_DECLARE(int, num_devices); // deprecated - KOKKOS_IMPL_DECLARE(int, skip_device); // deprecated + KOKKOS_IMPL_DECLARE_DEPRECATED(int, num_devices); + KOKKOS_IMPL_DECLARE_DEPRECATED(int, skip_device); KOKKOS_IMPL_DECLARE(bool, disable_warnings); KOKKOS_IMPL_DECLARE(bool, print_configuration); KOKKOS_IMPL_DECLARE(bool, tune_internals); @@ -80,41 +74,6 @@ class InitializationSettings { #undef KOKKOS_IMPL_INIT_ARGS_DATA_MEMBER_TYPE #undef KOKKOS_IMPL_INIT_ARGS_DATA_MEMBER #undef KOKKOS_IMPL_DECLARE - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - public: - InitializationSettings() = default; - - InitializationSettings(InitArguments const& old) { - if (old.num_threads != -1) { - set_num_threads(old.num_threads); - } - if (old.device_id != -1) { - set_device_id(old.device_id); - } - if (old.ndevices != -1) { - set_num_devices(old.ndevices); - } - if (old.skip_device != 9999) { - set_skip_device(old.skip_device); - } - if (old.disable_warnings) { - set_disable_warnings(true); - } - if (old.tune_internals) { - set_tune_internals(true); - } - if (old.tool_help) { - set_tools_help(true); - } - if (!old.tool_lib.empty()) { - set_tools_libs(old.tool_lib); - } - if (!old.tool_args.empty()) { - set_tools_args(old.tool_args); - } - } -#endif }; } // namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp b/lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp deleted file mode 100644 index 2f0e01c5b2..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp +++ /dev/null @@ -1,72 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -/** @file Kokkos_MemorySpace.cpp - * - * Operations common to memory space instances, or at least default - * implementations thereof. - */ - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#define KOKKOS_IMPL_PUBLIC_INCLUDE -#endif - -#include - -#include -#include -#include - -namespace Kokkos { -namespace Impl { - -void safe_throw_allocation_with_header_failure( - std::string const& space_name, std::string const& label, - Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { - auto generate_failure_message = [&](std::ostream& o) { - o << "Kokkos failed to allocate memory for label \"" << label - << "\". Allocation using MemorySpace named \"" << space_name - << "\" failed with the following error: "; - failure.print_error_message(o); - if (failure.failure_mode() == - Kokkos::Experimental::RawMemoryAllocationFailure::FailureMode:: - AllocationNotAligned) { - // TODO: delete the misaligned memory? - o << "Warning: Allocation failed due to misalignment; memory may " - "be leaked.\n"; - } - o.flush(); - }; - try { - std::ostringstream sstr; - generate_failure_message(sstr); - Kokkos::Impl::throw_runtime_exception(sstr.str()); - } catch (std::bad_alloc const&) { - // Probably failed to allocate the string because we're so close to out - // of memory. Try printing to std::cerr instead - try { - generate_failure_message(std::cerr); - } catch (std::bad_alloc const&) { - // oh well, we tried... - } - Kokkos::Impl::throw_runtime_exception( - "Kokkos encountered an allocation failure, then another allocation " - "failure while trying to create the error message."); - } -} - -} // end namespace Impl -} // end namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp b/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp deleted file mode 100644 index 44956dd7c5..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -/** @file Kokkos_MemorySpace.hpp - * - * Operations common to memory space instances, or at least default - * implementations thereof. - */ - -#ifndef KOKKOS_IMPL_MEMORYSPACE_HPP -#define KOKKOS_IMPL_MEMORYSPACE_HPP - -#include -#include -#include - -#include - -namespace Kokkos { -namespace Impl { - -// Defined in implementation file to avoid having to include iostream -void safe_throw_allocation_with_header_failure( - std::string const &space_name, std::string const &label, - Kokkos::Experimental::RawMemoryAllocationFailure const &failure); - -template -SharedAllocationHeader *checked_allocation_with_header(MemorySpace const &space, - std::string const &label, - size_t alloc_size) { - try { - return reinterpret_cast(space.allocate( - label.c_str(), alloc_size + sizeof(SharedAllocationHeader), - alloc_size)); - } catch (Kokkos::Experimental::RawMemoryAllocationFailure const &failure) { - safe_throw_allocation_with_header_failure(space.name(), label, failure); - } - return nullptr; // unreachable -} - -template -SharedAllocationHeader *checked_allocation_with_header( - ExecutionSpace const &exec_space, MemorySpace const &space, - std::string const &label, size_t alloc_size) { - try { - return reinterpret_cast(space.allocate( - exec_space, label.c_str(), alloc_size + sizeof(SharedAllocationHeader), - alloc_size)); - } catch (Kokkos::Experimental::RawMemoryAllocationFailure const &failure) { - safe_throw_allocation_with_header_failure(space.name(), label, failure); - } - return nullptr; // unreachable -} - -} // end namespace Impl -} // end namespace Kokkos - -#endif // KOKKOS_IMPL_MEMORYSPACE_HPP diff --git a/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp b/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp deleted file mode 100644 index 42a53b04fb..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#include -#if defined(KOKKOS_ATOMIC_HPP) && !defined(KOKKOS_MEMORY_FENCE_HPP) -#define KOKKOS_MEMORY_FENCE_HPP -namespace Kokkos { - -////////////////////////////////////////////////////// -// store_fence() -// -// If possible use a store fence on the architecture, if not run a full memory -// fence - -KOKKOS_FORCEINLINE_FUNCTION -void store_fence() { -#if defined(KOKKOS_ENABLE_ASM) && defined(KOKKOS_ENABLE_ISA_X86_64) - asm volatile("sfence" ::: "memory"); -#else - memory_fence(); -#endif -} - -////////////////////////////////////////////////////// -// load_fence() -// -// If possible use a load fence on the architecture, if not run a full memory -// fence - -KOKKOS_FORCEINLINE_FUNCTION -void load_fence() { -#if defined(KOKKOS_ENABLE_ASM) && defined(KOKKOS_ENABLE_ISA_X86_64) - asm volatile("lfence" ::: "memory"); -#else - memory_fence(); -#endif -} - -} // namespace Kokkos - -#endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h b/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h index 731a11e917..15c466b27e 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h +++ b/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h @@ -154,7 +154,7 @@ enum Kokkos_Tools_OptimizationType { Kokkos_Tools_Maximize }; -struct Kokkos_Tools_OptimzationGoal { +struct Kokkos_Tools_OptimizationGoal { size_t type_id; enum Kokkos_Tools_OptimizationType goal; }; @@ -220,7 +220,7 @@ typedef void (*Kokkos_Tools_contextBeginFunction)(const size_t); typedef void (*Kokkos_Tools_contextEndFunction)( const size_t, struct Kokkos_Tools_VariableValue); typedef void (*Kokkos_Tools_optimizationGoalDeclarationFunction)( - const size_t, const struct Kokkos_Tools_OptimzationGoal goal); + const size_t, const struct Kokkos_Tools_OptimizationGoal goal); struct Kokkos_Profiling_EventSet { Kokkos_Profiling_initFunction init; diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp b/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp index af71932e47..b66886d9f7 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp @@ -226,7 +226,7 @@ using ValueType = Kokkos_Tools_VariableInfo_ValueType; using CandidateValueType = Kokkos_Tools_VariableInfo_CandidateValueType; using SetOrRange = Kokkos_Tools_VariableInfo_SetOrRange; using VariableInfo = Kokkos_Tools_VariableInfo; -using OptimizationGoal = Kokkos_Tools_OptimzationGoal; +using OptimizationGoal = Kokkos_Tools_OptimizationGoal; using TuningString = Kokkos_Tools_Tuning_String; using VariableValue = Kokkos_Tools_VariableValue; diff --git a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp index 255f5125f4..0bc3814b3a 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp @@ -20,6 +20,8 @@ #include #include +#include +#include namespace Kokkos { namespace Impl { @@ -321,5 +323,53 @@ void SharedAllocationRecord::print_host_accessible_records( } #endif +void safe_throw_allocation_with_header_failure( + std::string const& space_name, std::string const& label, + Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { + auto generate_failure_message = [&](std::ostream& o) { + o << "Kokkos failed to allocate memory for label \"" << label + << "\". Allocation using MemorySpace named \"" << space_name + << "\" failed with the following error: "; + failure.print_error_message(o); + if (failure.failure_mode() == + Kokkos::Experimental::RawMemoryAllocationFailure::FailureMode:: + AllocationNotAligned) { + // TODO: delete the misaligned memory? + o << "Warning: Allocation failed due to misalignment; memory may " + "be leaked.\n"; + } + o.flush(); + }; + try { + std::ostringstream sstr; + generate_failure_message(sstr); + Kokkos::Impl::throw_runtime_exception(sstr.str()); + } catch (std::bad_alloc const&) { + // Probably failed to allocate the string because we're so close to out + // of memory. Try printing to std::cerr instead + try { + generate_failure_message(std::cerr); + } catch (std::bad_alloc const&) { + // oh well, we tried... + } + Kokkos::Impl::throw_runtime_exception( + "Kokkos encountered an allocation failure, then another allocation " + "failure while trying to create the error message."); + } +} + +void fill_host_accessible_header_info( + SharedAllocationRecord* arg_record, + SharedAllocationHeader& arg_header, std::string const& arg_label) { + // Fill in the Header information, directly accessible on the host + + arg_header.m_record = arg_record; + + strncpy(arg_header.m_label, arg_label.c_str(), + SharedAllocationHeader::maximum_label_length); + // Set last element zero, in case c_str is too long + arg_header.m_label[SharedAllocationHeader::maximum_label_length - 1] = '\0'; +} + } /* namespace Impl */ } /* namespace Kokkos */ diff --git a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp index 043505a158..99ab660213 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp @@ -51,6 +51,9 @@ class SharedAllocationHeader { friend class SharedAllocationRecordCommon; template friend class HostInaccessibleSharedAllocationRecordCommon; + friend void fill_host_accessible_header_info( + SharedAllocationRecord*, SharedAllocationHeader&, + std::string const&); Record* m_record; char m_label[maximum_label_length]; @@ -145,25 +148,23 @@ class SharedAllocationRecord { SharedAllocationRecord() : m_alloc_ptr(nullptr), m_alloc_size(0), - m_dealloc(nullptr) + m_dealloc(nullptr), #ifdef KOKKOS_ENABLE_DEBUG - , m_root(this), m_prev(this), - m_next(this) + m_next(this), #endif - , m_count(0) { } static constexpr unsigned maximum_label_length = SharedAllocationHeader::maximum_label_length; - KOKKOS_INLINE_FUNCTION + KOKKOS_FUNCTION const SharedAllocationHeader* head() const { return m_alloc_ptr; } /* User's memory begins at the end of the header */ - KOKKOS_INLINE_FUNCTION + KOKKOS_FUNCTION void* data() const { return static_cast(m_alloc_ptr + 1); } /* User's memory begins at the end of the header */ @@ -195,23 +196,79 @@ class SharedAllocationRecord { const SharedAllocationRecord* const root, const bool detail); }; +void safe_throw_allocation_with_header_failure( + std::string const& space_name, std::string const& label, + Kokkos::Experimental::RawMemoryAllocationFailure const& failure); + +template +SharedAllocationHeader* checked_allocation_with_header(MemorySpace const& space, + std::string const& label, + size_t alloc_size) { + try { + return reinterpret_cast(space.allocate( + label.c_str(), alloc_size + sizeof(SharedAllocationHeader), + alloc_size)); + } catch (Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { + safe_throw_allocation_with_header_failure(space.name(), label, failure); + } + return nullptr; // unreachable +} + +template +SharedAllocationHeader* checked_allocation_with_header( + ExecutionSpace const& exec_space, MemorySpace const& space, + std::string const& label, size_t alloc_size) { + try { + return reinterpret_cast(space.allocate( + exec_space, label.c_str(), alloc_size + sizeof(SharedAllocationHeader), + alloc_size)); + } catch (Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { + safe_throw_allocation_with_header_failure(space.name(), label, failure); + } + return nullptr; // unreachable +} + +void fill_host_accessible_header_info(SharedAllocationHeader& arg_header, + std::string const& arg_label); + template class SharedAllocationRecordCommon : public SharedAllocationRecord { private: using derived_t = SharedAllocationRecord; using record_base_t = SharedAllocationRecord; - derived_t& self() { return *static_cast(this); } - derived_t const& self() const { return *static_cast(this); } protected: using record_base_t::record_base_t; - void _fill_host_accessible_header_info(SharedAllocationHeader& arg_header, - std::string const& arg_label); + MemorySpace m_space; + +#ifdef KOKKOS_ENABLE_DEBUG + static record_base_t s_root_record; +#endif static void deallocate(record_base_t* arg_rec); public: + ~SharedAllocationRecordCommon(); + template + SharedAllocationRecordCommon( + ExecutionSpace const& exec, MemorySpace const& space, + std::string const& label, std::size_t alloc_size, + record_base_t::function_type dealloc = &deallocate) + : SharedAllocationRecord( +#ifdef KOKKOS_ENABLE_DEBUG + &s_root_record, +#endif + checked_allocation_with_header(exec, space, label, alloc_size), + sizeof(SharedAllocationHeader) + alloc_size, dealloc, label), + m_space(space) { + auto& header = *SharedAllocationRecord::m_alloc_ptr; + fill_host_accessible_header_info(this, header, label); + } + SharedAllocationRecordCommon( + MemorySpace const& space, std::string const& label, std::size_t size, + record_base_t::function_type dealloc = &deallocate); + static auto allocate(MemorySpace const& arg_space, std::string const& arg_label, size_t arg_alloc_size) -> derived_t*; @@ -231,22 +288,103 @@ class SharedAllocationRecordCommon : public SharedAllocationRecord { template class HostInaccessibleSharedAllocationRecordCommon - : public SharedAllocationRecordCommon { + : public SharedAllocationRecord { private: - using base_t = SharedAllocationRecordCommon; using derived_t = SharedAllocationRecord; using record_base_t = SharedAllocationRecord; protected: - using base_t::base_t; + using record_base_t::record_base_t; + + MemorySpace m_space; + +#ifdef KOKKOS_ENABLE_DEBUG + static record_base_t s_root_record; +#endif + + static void deallocate(record_base_t* arg_rec); public: + ~HostInaccessibleSharedAllocationRecordCommon(); + template + HostInaccessibleSharedAllocationRecordCommon( + ExecutionSpace const& exec, MemorySpace const& space, + std::string const& label, std::size_t alloc_size, + record_base_t::function_type dealloc = &deallocate) + : SharedAllocationRecord( +#ifdef KOKKOS_ENABLE_DEBUG + &s_root_record, +#endif + checked_allocation_with_header(exec, space, label, alloc_size), + sizeof(SharedAllocationHeader) + alloc_size, dealloc, label), + m_space(space) { + SharedAllocationHeader header; + + fill_host_accessible_header_info(this, header, label); + + Kokkos::Impl::DeepCopy( + exec, SharedAllocationRecord::m_alloc_ptr, &header, + sizeof(SharedAllocationHeader)); + } + HostInaccessibleSharedAllocationRecordCommon( + MemorySpace const& space, std::string const& label, std::size_t size, + record_base_t::function_type dealloc = &deallocate); + + static auto allocate(MemorySpace const& arg_space, + std::string const& arg_label, size_t arg_alloc_size) + -> derived_t*; + /**\brief Allocate tracked memory in the space */ + static void* allocate_tracked(MemorySpace const& arg_space, + std::string const& arg_alloc_label, + size_t arg_alloc_size); + /**\brief Reallocate tracked memory in the space */ + static void deallocate_tracked(void* arg_alloc_ptr); + /**\brief Deallocate tracked memory in the space */ + static void* reallocate_tracked(void* arg_alloc_ptr, size_t arg_alloc_size); + static void print_records(std::ostream& s, MemorySpace const&, bool detail = false); static auto get_record(void* alloc_ptr) -> derived_t*; std::string get_label() const; }; +#ifdef KOKKOS_ENABLE_DEBUG +template +SharedAllocationRecord + SharedAllocationRecordCommon::s_root_record; + +template +SharedAllocationRecord + HostInaccessibleSharedAllocationRecordCommon::s_root_record; +#endif + +#define KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(MEMORY_SPACE) \ + template <> \ + class Kokkos::Impl::SharedAllocationRecord \ + : public Kokkos::Impl::SharedAllocationRecordCommon { \ + using SharedAllocationRecordCommon< \ + MEMORY_SPACE>::SharedAllocationRecordCommon; \ + } + +#define KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( \ + MEMORY_SPACE) \ + template <> \ + class Kokkos::Impl::SharedAllocationRecord \ + : public Kokkos::Impl::HostInaccessibleSharedAllocationRecordCommon< \ + MEMORY_SPACE> { \ + using HostInaccessibleSharedAllocationRecordCommon< \ + MEMORY_SPACE>::HostInaccessibleSharedAllocationRecordCommon; \ + } + +#define KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( \ + MEMORY_SPACE) \ + template class Kokkos::Impl::SharedAllocationRecordCommon + +#define KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( \ + MEMORY_SPACE) \ + template class Kokkos::Impl::HostInaccessibleSharedAllocationRecordCommon< \ + MEMORY_SPACE> + namespace { /* Taking the address of this function so make sure it is unique */ diff --git a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp index d403ef9db0..41036ab067 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp @@ -31,6 +31,66 @@ namespace Kokkos { namespace Impl { +template +SharedAllocationRecordCommon::~SharedAllocationRecordCommon() { + auto alloc_ptr = SharedAllocationRecord::m_alloc_ptr; + auto alloc_size = SharedAllocationRecord::m_alloc_size; + auto label = SharedAllocationRecord::m_label; + m_space.deallocate(label.c_str(), alloc_ptr, alloc_size, + alloc_size - sizeof(SharedAllocationHeader)); +} +template +HostInaccessibleSharedAllocationRecordCommon< + MemorySpace>::~HostInaccessibleSharedAllocationRecordCommon() { + auto alloc_ptr = SharedAllocationRecord::m_alloc_ptr; + auto alloc_size = SharedAllocationRecord::m_alloc_size; + auto label = SharedAllocationRecord::m_label; + m_space.deallocate(label.c_str(), alloc_ptr, alloc_size, + alloc_size - sizeof(SharedAllocationHeader)); +} + +template +SharedAllocationRecordCommon::SharedAllocationRecordCommon( + MemorySpace const& space, std::string const& label, std::size_t alloc_size, + SharedAllocationRecord::function_type dealloc) + : SharedAllocationRecord( +#ifdef KOKKOS_ENABLE_DEBUG + &s_root_record, +#endif + checked_allocation_with_header(space, label, alloc_size), + sizeof(SharedAllocationHeader) + alloc_size, dealloc, label), + m_space(space) { + auto& header = *SharedAllocationRecord::m_alloc_ptr; + fill_host_accessible_header_info(this, header, label); +} + +template +HostInaccessibleSharedAllocationRecordCommon:: + HostInaccessibleSharedAllocationRecordCommon( + MemorySpace const& space, std::string const& label, + std::size_t alloc_size, + SharedAllocationRecord::function_type dealloc) + : SharedAllocationRecord( +#ifdef KOKKOS_ENABLE_DEBUG + &s_root_record, +#endif + checked_allocation_with_header(space, label, alloc_size), + sizeof(SharedAllocationHeader) + alloc_size, dealloc, label), + m_space(space) { + SharedAllocationHeader header; + + fill_host_accessible_header_info(this, header, label); + + typename MemorySpace::execution_space exec; + Kokkos::Impl::DeepCopy( + exec, SharedAllocationRecord::m_alloc_ptr, &header, + sizeof(SharedAllocationHeader)); + exec.fence(std::string("SharedAllocationRecord::SharedAllocationRecord(): " + "fence after copying header from HostSpace"); +} + template auto SharedAllocationRecordCommon::allocate( MemorySpace const& arg_space, std::string const& arg_label, @@ -76,9 +136,64 @@ void* SharedAllocationRecordCommon::reallocate_tracked( Kokkos::Impl::DeepCopy( r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - Kokkos::fence( - "SharedAllocationRecord::reallocate_tracked(): fence after copying data"); + Kokkos::fence(std::string("SharedAllocationRecord<") + MemorySpace::name() + + ", void>::reallocate_tracked(): fence after copying data"); + + record_base_t::increment(r_new); + record_base_t::decrement(r_old); + + return r_new->data(); +} + +template +auto HostInaccessibleSharedAllocationRecordCommon::allocate( + MemorySpace const& arg_space, std::string const& arg_label, + size_t arg_alloc_size) -> derived_t* { + return new derived_t(arg_space, arg_label, arg_alloc_size); +} + +template +void* HostInaccessibleSharedAllocationRecordCommon< + MemorySpace>::allocate_tracked(const MemorySpace& arg_space, + const std::string& arg_alloc_label, + size_t arg_alloc_size) { + if (!arg_alloc_size) return nullptr; + + SharedAllocationRecord* const r = + allocate(arg_space, arg_alloc_label, arg_alloc_size); + + record_base_t::increment(r); + + return r->data(); +} + +template +void HostInaccessibleSharedAllocationRecordCommon::deallocate( + HostInaccessibleSharedAllocationRecordCommon::record_base_t* arg_rec) { + delete static_cast(arg_rec); +} + +template +void HostInaccessibleSharedAllocationRecordCommon< + MemorySpace>::deallocate_tracked(void* arg_alloc_ptr) { + if (arg_alloc_ptr != nullptr) { + SharedAllocationRecord* const r = derived_t::get_record(arg_alloc_ptr); + record_base_t::decrement(r); + } +} + +template +void* HostInaccessibleSharedAllocationRecordCommon< + MemorySpace>::reallocate_tracked(void* arg_alloc_ptr, + size_t arg_alloc_size) { + derived_t* const r_old = derived_t::get_record(arg_alloc_ptr); + derived_t* const r_new = + allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); + + Kokkos::Impl::DeepCopy( + r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); + Kokkos::fence(std::string("SharedAllocationRecord<") + MemorySpace::name() + + ", void>::reallocate_tracked(): fence after copying data"); record_base_t::increment(r_new); record_base_t::decrement(r_old); @@ -108,20 +223,6 @@ std::string SharedAllocationRecordCommon::get_label() const { return record_base_t::m_label; } -template -void SharedAllocationRecordCommon:: - _fill_host_accessible_header_info(SharedAllocationHeader& arg_header, - std::string const& arg_label) { - // Fill in the Header information, directly accessible on the host - - arg_header.m_record = &self(); - - strncpy(arg_header.m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length); - // Set last element zero, in case c_str is too long - arg_header.m_label[SharedAllocationHeader::maximum_label_length - 1] = '\0'; -} - template void SharedAllocationRecordCommon::print_records( std::ostream& s, const MemorySpace&, bool detail) { diff --git a/lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp b/lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp deleted file mode 100644 index c57b17d646..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_SPINWAIT_HPP -#define KOKKOS_SPINWAIT_HPP - -#include -#include - -#include - -#include - -namespace Kokkos { -namespace Impl { - -enum class WaitMode : int { - ACTIVE // Used for tight loops to keep threads active longest - , - PASSIVE // Used to quickly yield the thread to quite down the system - , - ROOT // Never sleep or yield the root thread -}; - -void host_thread_yield(const uint32_t i, const WaitMode mode); - -template -std::enable_if_t::value, void> root_spinwait_while_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value == flag) { - host_thread_yield(++i, WaitMode::ROOT); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> root_spinwait_until_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value != flag) { - host_thread_yield(++i, WaitMode::ROOT); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> spinwait_while_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value == flag) { - host_thread_yield(++i, WaitMode::ACTIVE); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> yield_while_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value == flag) { - host_thread_yield(++i, WaitMode::PASSIVE); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> spinwait_until_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value != flag) { - host_thread_yield(++i, WaitMode::ACTIVE); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> yield_until_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value != flag) { - host_thread_yield(++i, WaitMode::PASSIVE); - } - Kokkos::load_fence(); -} - -} /* namespace Impl */ -} /* namespace Kokkos */ - -#endif /* #ifndef KOKKOS_SPINWAIT_HPP */ diff --git a/lib/kokkos/core/src/impl/Kokkos_Utilities.hpp b/lib/kokkos/core/src/impl/Kokkos_Utilities.hpp index 7e2f130564..cadeed1a6d 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Utilities.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Utilities.hpp @@ -49,6 +49,11 @@ struct integral_constant { template struct always_true : std::true_type {}; +// type-dependent expression that is always false intended for use in +// static_assert to check "we should never get there" +template +struct always_false : std::false_type {}; + //============================================================================== #if defined(__cpp_lib_type_identity) diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp index 725ba5de09..fe43b63018 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp @@ -27,10 +27,9 @@ struct ViewDataAnalysis> { private: using array_analysis = ViewArrayAnalysis; - static_assert(std::is_void

::value, ""); + static_assert(std::is_void

::value); static_assert(std::is_same>::value, - ""); + Kokkos::Array>::value); static_assert(std::is_scalar::value, "View of Array type must be of a scalar type"); @@ -130,6 +129,12 @@ class ViewMapping> { return m_impl_offset.m_dim.extent(r); } + static KOKKOS_INLINE_FUNCTION constexpr size_t static_extent( + const unsigned r) noexcept { + using dim_type = typename offset_type::dimension_type; + return dim_type::static_extent(r); + } + KOKKOS_INLINE_FUNCTION constexpr typename Traits::array_layout layout() const { return m_impl_offset.layout(); @@ -507,7 +512,7 @@ class ViewMapping< Kokkos::LayoutStride>::value))>, SrcTraits, Args...> { private: - static_assert(SrcTraits::rank == sizeof...(Args), ""); + static_assert(SrcTraits::rank == sizeof...(Args)); enum : bool { R0 = is_integral_extent<0, Args...>::value, diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewDataAnalysis.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewDataAnalysis.hpp new file mode 100644 index 0000000000..04c0c9aeed --- /dev/null +++ b/lib/kokkos/core/src/impl/Kokkos_ViewDataAnalysis.hpp @@ -0,0 +1,402 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE +static_assert(false, + "Including non-public Kokkos header files is not allowed."); +#endif + +#ifndef KOKKOS_VIEW_DATA_ANALYSIS_HPP +#define KOKKOS_VIEW_DATA_ANALYSIS_HPP + +#include + +namespace Kokkos::Impl { + +template +struct variadic_size_t { + enum : size_t { value = KOKKOS_INVALID_INDEX }; +}; + +template +struct variadic_size_t<0, Val, Args...> { + enum : size_t { value = Val }; +}; + +template +struct variadic_size_t { + enum : size_t { value = variadic_size_t::value }; +}; + +template +struct rank_dynamic; + +template <> +struct rank_dynamic<> { + enum : unsigned { value = 0 }; +}; + +template +struct rank_dynamic { + enum : unsigned { value = (Val == 0 ? 1 : 0) + rank_dynamic::value }; +}; + +#define KOKKOS_IMPL_VIEW_DIMENSION(R) \ + template \ + struct ViewDimension##R { \ + static constexpr size_t ArgN##R = (V != KOKKOS_INVALID_INDEX ? V : 1); \ + static constexpr size_t N##R = (V != KOKKOS_INVALID_INDEX ? V : 1); \ + KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t) {} \ + ViewDimension##R() = default; \ + ViewDimension##R(const ViewDimension##R&) = default; \ + ViewDimension##R& operator=(const ViewDimension##R&) = default; \ + }; \ + template \ + constexpr size_t ViewDimension##R::ArgN##R; \ + template \ + constexpr size_t ViewDimension##R::N##R; \ + template \ + struct ViewDimension##R<0u, RD> { \ + static constexpr size_t ArgN##R = 0; \ + std::conditional_t<(RD < 3), size_t, unsigned> N##R; \ + ViewDimension##R() = default; \ + ViewDimension##R(const ViewDimension##R&) = default; \ + ViewDimension##R& operator=(const ViewDimension##R&) = default; \ + KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t V) : N##R(V) {} \ + }; \ + template \ + constexpr size_t ViewDimension##R<0u, RD>::ArgN##R; + +KOKKOS_IMPL_VIEW_DIMENSION(0) +KOKKOS_IMPL_VIEW_DIMENSION(1) +KOKKOS_IMPL_VIEW_DIMENSION(2) +KOKKOS_IMPL_VIEW_DIMENSION(3) +KOKKOS_IMPL_VIEW_DIMENSION(4) +KOKKOS_IMPL_VIEW_DIMENSION(5) +KOKKOS_IMPL_VIEW_DIMENSION(6) +KOKKOS_IMPL_VIEW_DIMENSION(7) + +#undef KOKKOS_IMPL_VIEW_DIMENSION + +// MSVC does not do empty base class optimization by default. +// Per standard it is required for standard layout types +template +struct KOKKOS_IMPL_ENFORCE_EMPTY_BASE_OPTIMIZATION ViewDimension + : public ViewDimension0::value, + rank_dynamic::value>, + public ViewDimension1::value, + rank_dynamic::value>, + public ViewDimension2::value, + rank_dynamic::value>, + public ViewDimension3::value, + rank_dynamic::value>, + public ViewDimension4::value, + rank_dynamic::value>, + public ViewDimension5::value, + rank_dynamic::value>, + public ViewDimension6::value, + rank_dynamic::value>, + public ViewDimension7::value, + rank_dynamic::value> { + using D0 = ViewDimension0::value, + rank_dynamic::value>; + using D1 = ViewDimension1::value, + rank_dynamic::value>; + using D2 = ViewDimension2::value, + rank_dynamic::value>; + using D3 = ViewDimension3::value, + rank_dynamic::value>; + using D4 = ViewDimension4::value, + rank_dynamic::value>; + using D5 = ViewDimension5::value, + rank_dynamic::value>; + using D6 = ViewDimension6::value, + rank_dynamic::value>; + using D7 = ViewDimension7::value, + rank_dynamic::value>; + + using D0::ArgN0; + using D1::ArgN1; + using D2::ArgN2; + using D3::ArgN3; + using D4::ArgN4; + using D5::ArgN5; + using D6::ArgN6; + using D7::ArgN7; + + using D0::N0; + using D1::N1; + using D2::N2; + using D3::N3; + using D4::N4; + using D5::N5; + using D6::N6; + using D7::N7; + + static constexpr unsigned rank = sizeof...(Vals); + static constexpr unsigned rank_dynamic = Impl::rank_dynamic::value; + + ViewDimension() = default; + ViewDimension(const ViewDimension&) = default; + ViewDimension& operator=(const ViewDimension&) = default; + + KOKKOS_INLINE_FUNCTION + constexpr ViewDimension(size_t n0, size_t n1, size_t n2, size_t n3, size_t n4, + size_t n5, size_t n6, size_t n7) + : D0(n0 == KOKKOS_INVALID_INDEX ? 1 : n0), + D1(n1 == KOKKOS_INVALID_INDEX ? 1 : n1), + D2(n2 == KOKKOS_INVALID_INDEX ? 1 : n2), + D3(n3 == KOKKOS_INVALID_INDEX ? 1 : n3), + D4(n4 == KOKKOS_INVALID_INDEX ? 1 : n4), + D5(n5 == KOKKOS_INVALID_INDEX ? 1 : n5), + D6(n6 == KOKKOS_INVALID_INDEX ? 1 : n6), + D7(n7 == KOKKOS_INVALID_INDEX ? 1 : n7) {} + + KOKKOS_INLINE_FUNCTION + constexpr size_t extent(const unsigned r) const noexcept { + return r == 0 + ? N0 + : (r == 1 + ? N1 + : (r == 2 + ? N2 + : (r == 3 + ? N3 + : (r == 4 + ? N4 + : (r == 5 + ? N5 + : (r == 6 + ? N6 + : (r == 7 ? N7 + : 0))))))); + } + + static KOKKOS_INLINE_FUNCTION constexpr size_t static_extent( + const unsigned r) noexcept { + return r == 0 + ? ArgN0 + : (r == 1 + ? ArgN1 + : (r == 2 + ? ArgN2 + : (r == 3 + ? ArgN3 + : (r == 4 + ? ArgN4 + : (r == 5 + ? ArgN5 + : (r == 6 + ? ArgN6 + : (r == 7 ? ArgN7 + : 0))))))); + } + + template + struct prepend { + using type = ViewDimension; + }; + + template + struct append { + using type = ViewDimension; + }; +}; + +template +struct ViewDimensionJoin; + +template +struct ViewDimensionJoin, ViewDimension> { + using type = ViewDimension; +}; + +//---------------------------------------------------------------------------- + +template +struct ViewDimensionAssignable; + +template +struct ViewDimensionAssignable, + ViewDimension> { + using dst = ViewDimension; + using src = ViewDimension; + + enum { + value = unsigned(dst::rank) == unsigned(src::rank) && + ( + // Compile time check that potential static dimensions match + ((1 > dst::rank_dynamic && 1 > src::rank_dynamic) + ? (size_t(dst::ArgN0) == size_t(src::ArgN0)) + : true) && + ((2 > dst::rank_dynamic && 2 > src::rank_dynamic) + ? (size_t(dst::ArgN1) == size_t(src::ArgN1)) + : true) && + ((3 > dst::rank_dynamic && 3 > src::rank_dynamic) + ? (size_t(dst::ArgN2) == size_t(src::ArgN2)) + : true) && + ((4 > dst::rank_dynamic && 4 > src::rank_dynamic) + ? (size_t(dst::ArgN3) == size_t(src::ArgN3)) + : true) && + ((5 > dst::rank_dynamic && 5 > src::rank_dynamic) + ? (size_t(dst::ArgN4) == size_t(src::ArgN4)) + : true) && + ((6 > dst::rank_dynamic && 6 > src::rank_dynamic) + ? (size_t(dst::ArgN5) == size_t(src::ArgN5)) + : true) && + ((7 > dst::rank_dynamic && 7 > src::rank_dynamic) + ? (size_t(dst::ArgN6) == size_t(src::ArgN6)) + : true) && + ((8 > dst::rank_dynamic && 8 > src::rank_dynamic) + ? (size_t(dst::ArgN7) == size_t(src::ArgN7)) + : true)) + }; +}; + +/** \brief Given a value type and dimension generate the View data type */ +template +struct ViewDataType; + +template +struct ViewDataType> { + using type = T; +}; + +template +struct ViewDataType> { + using type = typename ViewDataType>::type; +}; + +template +struct ViewDataType> { + using type = typename ViewDataType>::type[N]; +}; + +/**\brief Analysis of View data type. + * + * Data type conforms to one of the following patterns : + * {const} value_type [][#][#][#] + * {const} value_type ***[#][#][#] + * Where the sum of counts of '*' and '[#]' is at most ten. + * + * Provide alias for ViewDimension<...> and value_type. + */ +template +struct ViewArrayAnalysis { + using value_type = T; + using const_value_type = std::add_const_t; + using non_const_value_type = std::remove_const_t; + using static_dimension = ViewDimension<>; + using dynamic_dimension = ViewDimension<>; + using dimension = ViewDimension<>; +}; + +template +struct ViewArrayAnalysis { + private: + using nested = ViewArrayAnalysis; + + public: + using value_type = typename nested::value_type; + using const_value_type = typename nested::const_value_type; + using non_const_value_type = typename nested::non_const_value_type; + + using static_dimension = + typename nested::static_dimension::template prepend::type; + + using dynamic_dimension = typename nested::dynamic_dimension; + + using dimension = + typename ViewDimensionJoin::type; +}; + +template +struct ViewArrayAnalysis { + private: + using nested = ViewArrayAnalysis; + using nested_dimension = typename nested::dimension; + + public: + using value_type = typename nested::value_type; + using const_value_type = typename nested::const_value_type; + using non_const_value_type = typename nested::non_const_value_type; + + using dynamic_dimension = + typename nested::dynamic_dimension::template prepend<0>::type; + + using static_dimension = typename nested::static_dimension; + + using dimension = + typename ViewDimensionJoin::type; +}; + +template +struct ViewArrayAnalysis { + private: + using nested = ViewArrayAnalysis; + + public: + using value_type = typename nested::value_type; + using const_value_type = typename nested::const_value_type; + using non_const_value_type = typename nested::non_const_value_type; + + using dynamic_dimension = + typename nested::dynamic_dimension::template prepend<0>::type; + + using static_dimension = typename nested::static_dimension; + + using dimension = + typename ViewDimensionJoin::type; +}; + +template +struct ViewDataAnalysis { + private: + using array_analysis = ViewArrayAnalysis; + + // ValueType is opportunity for partial specialization. + // Must match array analysis when this default template is used. + static_assert( + std::is_same::value); + + public: + using specialize = void; // No specialization + + using dimension = typename array_analysis::dimension; + using value_type = typename array_analysis::value_type; + using const_value_type = typename array_analysis::const_value_type; + using non_const_value_type = typename array_analysis::non_const_value_type; + + // Generate analogous multidimensional array specification type. + using type = typename ViewDataType::type; + using const_type = typename ViewDataType::type; + using non_const_type = + typename ViewDataType::type; + + // Generate "flattened" multidimensional array specification type. + using scalar_array_type = type; + using const_scalar_array_type = const_type; + using non_const_scalar_array_type = non_const_type; +}; + +template +struct ViewOffset { + using is_mapping_plugin = std::false_type; +}; +} // namespace Kokkos::Impl + +#endif // KOKKOS_VIEW_DATA_ANALYSIS_HPP diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp index 01d0dc4f68..3217c76e38 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp @@ -33,255 +33,7 @@ #include #include #include - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -template -struct variadic_size_t { - enum : size_t { value = KOKKOS_INVALID_INDEX }; -}; - -template -struct variadic_size_t<0, Val, Args...> { - enum : size_t { value = Val }; -}; - -template -struct variadic_size_t { - enum : size_t { value = variadic_size_t::value }; -}; - -template -struct rank_dynamic; - -template <> -struct rank_dynamic<> { - enum : unsigned { value = 0 }; -}; - -template -struct rank_dynamic { - enum : unsigned { value = (Val == 0 ? 1 : 0) + rank_dynamic::value }; -}; - -#define KOKKOS_IMPL_VIEW_DIMENSION(R) \ - template \ - struct ViewDimension##R { \ - static constexpr size_t ArgN##R = (V != KOKKOS_INVALID_INDEX ? V : 1); \ - static constexpr size_t N##R = (V != KOKKOS_INVALID_INDEX ? V : 1); \ - KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t) {} \ - ViewDimension##R() = default; \ - ViewDimension##R(const ViewDimension##R&) = default; \ - ViewDimension##R& operator=(const ViewDimension##R&) = default; \ - }; \ - template \ - constexpr size_t ViewDimension##R::ArgN##R; \ - template \ - constexpr size_t ViewDimension##R::N##R; \ - template \ - struct ViewDimension##R<0u, RD> { \ - static constexpr size_t ArgN##R = 0; \ - std::conditional_t<(RD < 3), size_t, unsigned> N##R; \ - ViewDimension##R() = default; \ - ViewDimension##R(const ViewDimension##R&) = default; \ - ViewDimension##R& operator=(const ViewDimension##R&) = default; \ - KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t V) : N##R(V) {} \ - }; \ - template \ - constexpr size_t ViewDimension##R<0u, RD>::ArgN##R; - -KOKKOS_IMPL_VIEW_DIMENSION(0) -KOKKOS_IMPL_VIEW_DIMENSION(1) -KOKKOS_IMPL_VIEW_DIMENSION(2) -KOKKOS_IMPL_VIEW_DIMENSION(3) -KOKKOS_IMPL_VIEW_DIMENSION(4) -KOKKOS_IMPL_VIEW_DIMENSION(5) -KOKKOS_IMPL_VIEW_DIMENSION(6) -KOKKOS_IMPL_VIEW_DIMENSION(7) - -#undef KOKKOS_IMPL_VIEW_DIMENSION - -// MSVC does not do empty base class optimization by default. -// Per standard it is required for standard layout types -template -struct KOKKOS_IMPL_ENFORCE_EMPTY_BASE_OPTIMIZATION ViewDimension - : public ViewDimension0::value, - rank_dynamic::value>, - public ViewDimension1::value, - rank_dynamic::value>, - public ViewDimension2::value, - rank_dynamic::value>, - public ViewDimension3::value, - rank_dynamic::value>, - public ViewDimension4::value, - rank_dynamic::value>, - public ViewDimension5::value, - rank_dynamic::value>, - public ViewDimension6::value, - rank_dynamic::value>, - public ViewDimension7::value, - rank_dynamic::value> { - using D0 = ViewDimension0::value, - rank_dynamic::value>; - using D1 = ViewDimension1::value, - rank_dynamic::value>; - using D2 = ViewDimension2::value, - rank_dynamic::value>; - using D3 = ViewDimension3::value, - rank_dynamic::value>; - using D4 = ViewDimension4::value, - rank_dynamic::value>; - using D5 = ViewDimension5::value, - rank_dynamic::value>; - using D6 = ViewDimension6::value, - rank_dynamic::value>; - using D7 = ViewDimension7::value, - rank_dynamic::value>; - - using D0::ArgN0; - using D1::ArgN1; - using D2::ArgN2; - using D3::ArgN3; - using D4::ArgN4; - using D5::ArgN5; - using D6::ArgN6; - using D7::ArgN7; - - using D0::N0; - using D1::N1; - using D2::N2; - using D3::N3; - using D4::N4; - using D5::N5; - using D6::N6; - using D7::N7; - - static constexpr unsigned rank = sizeof...(Vals); - static constexpr unsigned rank_dynamic = Impl::rank_dynamic::value; - - ViewDimension() = default; - ViewDimension(const ViewDimension&) = default; - ViewDimension& operator=(const ViewDimension&) = default; - - KOKKOS_INLINE_FUNCTION - constexpr ViewDimension(size_t n0, size_t n1, size_t n2, size_t n3, size_t n4, - size_t n5, size_t n6, size_t n7) - : D0(n0 == KOKKOS_INVALID_INDEX ? 1 : n0), - D1(n1 == KOKKOS_INVALID_INDEX ? 1 : n1), - D2(n2 == KOKKOS_INVALID_INDEX ? 1 : n2), - D3(n3 == KOKKOS_INVALID_INDEX ? 1 : n3), - D4(n4 == KOKKOS_INVALID_INDEX ? 1 : n4), - D5(n5 == KOKKOS_INVALID_INDEX ? 1 : n5), - D6(n6 == KOKKOS_INVALID_INDEX ? 1 : n6), - D7(n7 == KOKKOS_INVALID_INDEX ? 1 : n7) {} - - KOKKOS_INLINE_FUNCTION - constexpr size_t extent(const unsigned r) const noexcept { - return r == 0 - ? N0 - : (r == 1 - ? N1 - : (r == 2 - ? N2 - : (r == 3 - ? N3 - : (r == 4 - ? N4 - : (r == 5 - ? N5 - : (r == 6 - ? N6 - : (r == 7 ? N7 - : 0))))))); - } - - static KOKKOS_INLINE_FUNCTION constexpr size_t static_extent( - const unsigned r) noexcept { - return r == 0 - ? ArgN0 - : (r == 1 - ? ArgN1 - : (r == 2 - ? ArgN2 - : (r == 3 - ? ArgN3 - : (r == 4 - ? ArgN4 - : (r == 5 - ? ArgN5 - : (r == 6 - ? ArgN6 - : (r == 7 ? ArgN7 - : 0))))))); - } - - template - struct prepend { - using type = ViewDimension; - }; - - template - struct append { - using type = ViewDimension; - }; -}; - -template -struct ViewDimensionJoin; - -template -struct ViewDimensionJoin, ViewDimension> { - using type = ViewDimension; -}; - -//---------------------------------------------------------------------------- - -template -struct ViewDimensionAssignable; - -template -struct ViewDimensionAssignable, - ViewDimension> { - using dst = ViewDimension; - using src = ViewDimension; - - enum { - value = unsigned(dst::rank) == unsigned(src::rank) && - ( - // Compile time check that potential static dimensions match - ((1 > dst::rank_dynamic && 1 > src::rank_dynamic) - ? (size_t(dst::ArgN0) == size_t(src::ArgN0)) - : true) && - ((2 > dst::rank_dynamic && 2 > src::rank_dynamic) - ? (size_t(dst::ArgN1) == size_t(src::ArgN1)) - : true) && - ((3 > dst::rank_dynamic && 3 > src::rank_dynamic) - ? (size_t(dst::ArgN2) == size_t(src::ArgN2)) - : true) && - ((4 > dst::rank_dynamic && 4 > src::rank_dynamic) - ? (size_t(dst::ArgN3) == size_t(src::ArgN3)) - : true) && - ((5 > dst::rank_dynamic && 5 > src::rank_dynamic) - ? (size_t(dst::ArgN4) == size_t(src::ArgN4)) - : true) && - ((6 > dst::rank_dynamic && 6 > src::rank_dynamic) - ? (size_t(dst::ArgN5) == size_t(src::ArgN5)) - : true) && - ((7 > dst::rank_dynamic && 7 > src::rank_dynamic) - ? (size_t(dst::ArgN6) == size_t(src::ArgN6)) - : true) && - ((8 > dst::rank_dynamic && 8 > src::rank_dynamic) - ? (size_t(dst::ArgN7) == size_t(src::ArgN7)) - : true)) - }; -}; - -} // namespace Impl -} // namespace Kokkos +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -657,21 +409,20 @@ struct SubviewExtents { template KOKKOS_INLINE_FUNCTION SubviewExtents(const ViewDimension& dim, Args... args) { - static_assert(DomainRank == sizeof...(DimArgs), ""); - static_assert(DomainRank == sizeof...(Args), ""); + static_assert(DomainRank == sizeof...(DimArgs)); + static_assert(DomainRank == sizeof...(Args)); // Verifies that all arguments, up to 8, are integral types, // integral extents, or don't exist. - static_assert( - RangeRank == unsigned(is_integral_extent<0, Args...>::value) + - unsigned(is_integral_extent<1, Args...>::value) + - unsigned(is_integral_extent<2, Args...>::value) + - unsigned(is_integral_extent<3, Args...>::value) + - unsigned(is_integral_extent<4, Args...>::value) + - unsigned(is_integral_extent<5, Args...>::value) + - unsigned(is_integral_extent<6, Args...>::value) + - unsigned(is_integral_extent<7, Args...>::value), - ""); + static_assert(RangeRank == + unsigned(is_integral_extent<0, Args...>::value) + + unsigned(is_integral_extent<1, Args...>::value) + + unsigned(is_integral_extent<2, Args...>::value) + + unsigned(is_integral_extent<3, Args...>::value) + + unsigned(is_integral_extent<4, Args...>::value) + + unsigned(is_integral_extent<5, Args...>::value) + + unsigned(is_integral_extent<6, Args...>::value) + + unsigned(is_integral_extent<7, Args...>::value)); if (RangeRank == 0) { m_length[0] = 0; @@ -708,149 +459,6 @@ struct SubviewExtents { namespace Kokkos { namespace Impl { - -/** \brief Given a value type and dimension generate the View data type */ -template -struct ViewDataType; - -template -struct ViewDataType> { - using type = T; -}; - -template -struct ViewDataType> { - using type = typename ViewDataType>::type; -}; - -template -struct ViewDataType> { - using type = typename ViewDataType>::type[N]; -}; - -/**\brief Analysis of View data type. - * - * Data type conforms to one of the following patterns : - * {const} value_type [][#][#][#] - * {const} value_type ***[#][#][#] - * Where the sum of counts of '*' and '[#]' is at most ten. - * - * Provide alias for ViewDimension<...> and value_type. - */ -template -struct ViewArrayAnalysis { - using value_type = T; - using const_value_type = std::add_const_t; - using non_const_value_type = std::remove_const_t; - using static_dimension = ViewDimension<>; - using dynamic_dimension = ViewDimension<>; - using dimension = ViewDimension<>; -}; - -template -struct ViewArrayAnalysis { - private: - using nested = ViewArrayAnalysis; - - public: - using value_type = typename nested::value_type; - using const_value_type = typename nested::const_value_type; - using non_const_value_type = typename nested::non_const_value_type; - - using static_dimension = - typename nested::static_dimension::template prepend::type; - - using dynamic_dimension = typename nested::dynamic_dimension; - - using dimension = - typename ViewDimensionJoin::type; -}; - -template -struct ViewArrayAnalysis { - private: - using nested = ViewArrayAnalysis; - using nested_dimension = typename nested::dimension; - - public: - using value_type = typename nested::value_type; - using const_value_type = typename nested::const_value_type; - using non_const_value_type = typename nested::non_const_value_type; - - using dynamic_dimension = - typename nested::dynamic_dimension::template prepend<0>::type; - - using static_dimension = typename nested::static_dimension; - - using dimension = - typename ViewDimensionJoin::type; -}; - -template -struct ViewArrayAnalysis { - private: - using nested = ViewArrayAnalysis; - - public: - using value_type = typename nested::value_type; - using const_value_type = typename nested::const_value_type; - using non_const_value_type = typename nested::non_const_value_type; - - using dynamic_dimension = - typename nested::dynamic_dimension::template prepend<0>::type; - - using static_dimension = typename nested::static_dimension; - - using dimension = - typename ViewDimensionJoin::type; -}; - -template -struct ViewDataAnalysis { - private: - using array_analysis = ViewArrayAnalysis; - - // ValueType is opportunity for partial specialization. - // Must match array analysis when this default template is used. - static_assert( - std::is_same::value, - ""); - - public: - using specialize = void; // No specialization - - using dimension = typename array_analysis::dimension; - using value_type = typename array_analysis::value_type; - using const_value_type = typename array_analysis::const_value_type; - using non_const_value_type = typename array_analysis::non_const_value_type; - - // Generate analogous multidimensional array specification type. - using type = typename ViewDataType::type; - using const_type = typename ViewDataType::type; - using non_const_type = - typename ViewDataType::type; - - // Generate "flattened" multidimensional array specification type. - using scalar_array_type = type; - using const_scalar_array_type = const_type; - using non_const_scalar_array_type = non_const_type; -}; - -} // namespace Impl -} // namespace Kokkos - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -template -struct ViewOffset { - using is_mapping_plugin = std::false_type; -}; - //---------------------------------------------------------------------------- // LayoutLeft AND ( 1 >= rank OR 0 == rank_dynamic ) : no padding / striding template @@ -2919,13 +2527,9 @@ struct ViewValueFunctor { "Kokkos::View::initialization [" + name + "] via memset", Kokkos::Profiling::Experimental::device_id(space), &kpID); } - (void)ZeroMemset< - ExecSpace, Kokkos::View>>( - space, - Kokkos::View>(ptr, n), - value); + (void)ZeroMemset( + space, Kokkos::View>(ptr, n)); if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelFor(kpID); @@ -2949,37 +2553,33 @@ struct ViewValueFunctor { template void parallel_for_implementation() { - if (!space.in_parallel()) { - using PolicyType = - Kokkos::RangePolicy, Tag>; - PolicyType policy(space, 0, n); - uint64_t kpID = 0; - if (Kokkos::Profiling::profileLibraryLoaded()) { - const std::string functor_name = - (std::is_same_v - ? "Kokkos::View::destruction [" + name + "]" - : "Kokkos::View::initialization [" + name + "]"); - Kokkos::Profiling::beginParallelFor( - functor_name, Kokkos::Profiling::Experimental::device_id(space), - &kpID); - } + using PolicyType = + Kokkos::RangePolicy, Tag>; + PolicyType policy(space, 0, n); + uint64_t kpID = 0; + if (Kokkos::Profiling::profileLibraryLoaded()) { + const std::string functor_name = + (std::is_same_v + ? "Kokkos::View::destruction [" + name + "]" + : "Kokkos::View::initialization [" + name + "]"); + Kokkos::Profiling::beginParallelFor( + functor_name, Kokkos::Profiling::Experimental::device_id(space), + &kpID); + } #ifdef KOKKOS_ENABLE_CUDA - if (std::is_same::value) { - Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, - true); - } + if (std::is_same::value) { + Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, + true); + } #endif - const Kokkos::Impl::ParallelFor closure( - *this, policy); - closure.execute(); - if (default_exec_space || std::is_same_v) - space.fence("Kokkos::Impl::ViewValueFunctor: View init/destroy fence"); - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::endParallelFor(kpID); - } - } else { - for (size_t i = 0; i < n; ++i) operator()(Tag{}, i); + const Kokkos::Impl::ParallelFor closure( + *this, policy); + closure.execute(); + if (default_exec_space || std::is_same_v) + space.fence("Kokkos::Impl::ViewValueFunctor: View init/destroy fence"); + if (Kokkos::Profiling::profileLibraryLoaded()) { + Kokkos::Profiling::endParallelFor(kpID); } } @@ -3057,13 +2657,9 @@ struct ViewValueFunctor { Kokkos::Profiling::Experimental::device_id(space), &kpID); } - (void)ZeroMemset< - ExecSpace, Kokkos::View>>( - space, - Kokkos::View>(ptr, n), - value); + (void)ZeroMemset( + space, Kokkos::View>(ptr, n)); if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelFor(kpID); @@ -3086,32 +2682,28 @@ struct ViewValueFunctor { } void parallel_for_implementation() { - if (!space.in_parallel()) { - PolicyType policy(0, n); - uint64_t kpID = 0; - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::beginParallelFor( - "Kokkos::View::initialization [" + name + "]", - Kokkos::Profiling::Experimental::device_id(space), &kpID); - } + PolicyType policy(0, n); + uint64_t kpID = 0; + if (Kokkos::Profiling::profileLibraryLoaded()) { + Kokkos::Profiling::beginParallelFor( + "Kokkos::View::initialization [" + name + "]", + Kokkos::Profiling::Experimental::device_id(space), &kpID); + } #ifdef KOKKOS_ENABLE_CUDA - if (std::is_same::value) { - Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, - true); - } + if (std::is_same::value) { + Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, + true); + } #endif - const Kokkos::Impl::ParallelFor closure( - *this, PolicyType(0, n)); - closure.execute(); - if (default_exec_space) - space.fence( - "Kokkos::Impl::ViewValueFunctor: Fence after setting values in " - "view"); - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::endParallelFor(kpID); - } - } else { - for (size_t i = 0; i < n; ++i) operator()(i); + const Kokkos::Impl::ParallelFor closure( + *this, PolicyType(0, n)); + closure.execute(); + if (default_exec_space) + space.fence( + "Kokkos::Impl::ViewValueFunctor: Fence after setting values in " + "view"); + if (Kokkos::Profiling::profileLibraryLoaded()) { + Kokkos::Profiling::endParallelFor(kpID); } } @@ -3896,7 +3488,7 @@ class ViewMapping< template struct apply { - static_assert(Kokkos::is_memory_traits::value, ""); + static_assert(Kokkos::is_memory_traits::value); using traits_type = Kokkos::ViewTraits -KOKKOS_INLINE_FUNCTION bool view_verify_operator_bounds(const MapType&) { - return true; +template +KOKKOS_FUNCTION bool within_range(Map const& map, + std::index_sequence, + Indices... indices) { + return (((std::size_t)indices < map.extent(Enumerate)) && ...); } -template -KOKKOS_INLINE_FUNCTION bool view_verify_operator_bounds(const MapType& map, - const iType& i, - Args... args) { - return (size_t(i) < map.extent(R)) && - view_verify_operator_bounds(map, args...); +template +KOKKOS_FUNCTION constexpr char* append_formatted_multidimensional_index( + char* dest, Indices... indices) { + char* d = dest; + strcat(d, "["); + ( + [&] { + d += strlen(d); + to_chars_i(d, + d + 20, // 20 digits ought to be enough + indices); + strcat(d, ","); + }(), + ...); + d[strlen(d) - 1] = ']'; // overwrite trailing comma + return dest; } -template -inline void view_error_operator_bounds(char*, int, const MapType&) {} - -template -inline void view_error_operator_bounds(char* buf, int len, const MapType& map, - const iType& i, Args... args) { - const int n = snprintf( - buf, len, " %ld < %ld %c", static_cast(i), - static_cast(map.extent(R)), (sizeof...(Args) ? ',' : ')')); - view_error_operator_bounds(buf + n, len - n, map, args...); +template +KOKKOS_FUNCTION void print_extents(char* dest, Map const& map, + std::index_sequence) { + append_formatted_multidimensional_index(dest, map.extent(Enumerate)...); } -/* Check #3: is the View managed as determined by the MemoryTraits? */ -template -struct OperatorBoundsErrorOnDevice; - -template -struct OperatorBoundsErrorOnDevice { - KOKKOS_INLINE_FUNCTION - static void run(MapType const&) { Kokkos::abort("View bounds error"); } -}; - -template -struct OperatorBoundsErrorOnDevice { - KOKKOS_INLINE_FUNCTION - static void run(MapType const& map) { - SharedAllocationHeader const* const header = - SharedAllocationHeader::get_header( - static_cast(map.data())); - char const* const label = header->label(); - enum { LEN = 128 }; - char msg[LEN]; - char const* const first_part = "View bounds error of view "; - char* p = msg; - char* const end = msg + LEN - 1; - for (char const* p2 = first_part; (*p2 != '\0') && (p < end); ++p, ++p2) { - *p = *p2; - } - for (char const* p2 = label; (*p2 != '\0') && (p < end); ++p, ++p2) { - *p = *p2; - } - *p = '\0'; - Kokkos::abort(msg); - } -}; - -/* Check #2: does the ViewMapping have the printable_label_typedef defined? - See above that only the non-specialized standard-layout ViewMapping has - this defined by default. - The existence of this alias indicates the existence of MapType::is_managed - */ template using printable_label_typedef_t = typename T::printable_label_typedef; -template -KOKKOS_FUNCTION - std::enable_if_t::value> - operator_bounds_error_on_device(Map const&) { - Kokkos::abort("View bounds error"); -} - -template -KOKKOS_FUNCTION - std::enable_if_t::value> - operator_bounds_error_on_device(Map const& map) { - OperatorBoundsErrorOnDevice::run(map); -} - template KOKKOS_INLINE_FUNCTION void view_verify_operator_bounds( Kokkos::Impl::ViewTracker const& tracker, const MapType& map, Args... args) { - if (!view_verify_operator_bounds<0>(map, args...)) { + if (!within_range(map, std::make_index_sequence(), + args...)) { + char err[256] = ""; + strcat(err, "Kokkos::View ERROR: out of bounds access"); + strcat(err, " label=(\""); KOKKOS_IF_ON_HOST( - (enum {LEN = 1024}; char buffer[LEN]; - const std::string label = - tracker.m_tracker.template get_label(); - int n = snprintf(buffer, LEN, "View bounds error of view %s (", - label.c_str()); - view_error_operator_bounds<0>(buffer + n, LEN - n, map, args...); - Kokkos::Impl::throw_runtime_exception(std::string(buffer));)) - - KOKKOS_IF_ON_DEVICE(( - /* Check #1: is there a SharedAllocationRecord? - (we won't use it, but if its not there then there isn't - a corresponding SharedAllocationHeader containing a label). - This check should cover the case of Views that don't - have the Unmanaged trait but were initialized by pointer. */ if (tracker.m_tracker.has_record()) { - operator_bounds_error_on_device(map); - } else { Kokkos::abort("View bounds error"); })) + strncat(err, tracker.m_tracker.template get_label().c_str(), + 128); + } else { strcat(err, "**UNMANAGED**"); }) + KOKKOS_IF_ON_DEVICE([&] { + // Check #1: is there a SharedAllocationRecord? (we won't use it, but + // if its not there then there isn't a corresponding + // SharedAllocationHeader containing a label). This check should cover + // the case of Views that don't have the Unmanaged trait but were + // initialized by pointer. + if (!tracker.m_tracker.has_record()) { + strcat(err, "**UNMANAGED**"); + return; + } + // Check #2: does the ViewMapping have the printable_label_typedef + // defined? See above that only the non-specialized standard-layout + // ViewMapping has this defined by default. The existence of this + // alias indicates the existence of MapType::is_managed + if constexpr (is_detected_v) { + // Check #3: is the View managed as determined by the MemoryTraits? + if constexpr (MapType::is_managed != 0) { + SharedAllocationHeader const* const header = + SharedAllocationHeader::get_header( + static_cast(map.data())); + char const* const label = header->label(); + strcat(err, label); + return; + } + strcat(err, "**UNAVAILABLE**"); + } + }();) + strcat(err, "\") with indices "); + append_formatted_multidimensional_index(err, args...); + strcat(err, " but extents "); + print_extents(err, map, std::make_index_sequence()); + Kokkos::abort(err); } } diff --git a/lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp b/lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp index 7f7957bc61..30f6fa2ad2 100644 --- a/lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp +++ b/lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp @@ -38,12 +38,11 @@ #include #endif -#ifdef __SYCL_DEVICE_ONLY__ -#define KOKKOS_IMPL_DO_NOT_USE_PRINTF(format, ...) \ - do { \ - const __attribute__((opencl_constant)) char fmt[] = (format); \ - sycl::ext::oneapi::experimental::printf(fmt, ##__VA_ARGS__); \ - } while (0) +#if defined(__INTEL_LLVM_COMPILER) && __INTEL_LLVM_COMPILER >= 20230200 +#define KOKKOS_IMPL_SYCL_GET_MULTI_PTR(accessor) \ + accessor.get_multi_ptr() +#else +#define KOKKOS_IMPL_SYCL_GET_MULTI_PTR(accessor) accessor.get_pointer() #endif #endif diff --git a/lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp b/lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp index 91820fbcca..e43535451c 100644 --- a/lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp @@ -83,7 +83,7 @@ struct IndexTypePolicyMixin : AnalyzeNextTrait { "Kokkos Error: More than one index type given. Search " "compiler output for 'show_extra_index_type' to see the " "type of the errant tag."); - static_assert(std::is_integral::value, ""); + static_assert(std::is_integral::value); static constexpr bool index_type_is_defaulted = false; using index_type = Kokkos::IndexType; }; diff --git a/lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp b/lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp index dadf582c37..c2ca5a341f 100644 --- a/lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp @@ -163,7 +163,7 @@ auto prefer(Policy const& p, DesiredOccupancy occ) { template constexpr auto prefer(Policy const& p, MaximizeOccupancy) { - static_assert(Kokkos::is_execution_policy::value, ""); + static_assert(Kokkos::is_execution_policy::value); using new_policy_t = Kokkos::Impl::OccupancyControlTrait::policy_with_trait; diff --git a/lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp b/lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp index 578e9e762a..98ad1d7ebb 100644 --- a/lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp @@ -68,7 +68,7 @@ struct PolicyTraitAdaptorImpl< TraitSpec, PolicyTemplate, type_list, type_list, NewTrait, std::enable_if_t::value>> { - static_assert(PolicyTraitMatcher::value, ""); + static_assert(PolicyTraitMatcher::value); using type = PolicyTemplate; }; @@ -92,7 +92,7 @@ template class PolicyTemplate, struct PolicyTraitAdaptorImpl, type_list<>, NewTrait> { - static_assert(PolicyTraitMatcher::value, ""); + static_assert(PolicyTraitMatcher::value); using type = PolicyTemplate; }; diff --git a/lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp b/lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp index 8613002553..4e91d89f0f 100644 --- a/lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp @@ -78,7 +78,7 @@ namespace Experimental { template constexpr auto require(Policy const& p, Kokkos::Schedule) { - static_assert(Kokkos::is_execution_policy::value, ""); + static_assert(Kokkos::is_execution_policy::value); using new_policy_t = Kokkos::Impl::ScheduleTrait::policy_with_trait< Policy, Kokkos::Schedule>; return new_policy_t{p}; diff --git a/lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp b/lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp index 8f95385c85..ae7aa6e534 100644 --- a/lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp @@ -57,7 +57,7 @@ namespace Experimental { template constexpr auto require(const Policy p, WorkItemProperty::ImplWorkItemProperty) { - static_assert(Kokkos::is_execution_policy::value, ""); + static_assert(Kokkos::is_execution_policy::value); using new_policy_t = Kokkos::Impl::WorkItemPropertyTrait::policy_with_trait< Policy, WorkItemProperty::ImplWorkItemProperty>; return new_policy_t{p}; diff --git a/lib/kokkos/core/unit_test/CMakeLists.txt b/lib/kokkos/core/unit_test/CMakeLists.txt index b71c72c3c9..6dfb7505c5 100644 --- a/lib/kokkos/core/unit_test/CMakeLists.txt +++ b/lib/kokkos/core/unit_test/CMakeLists.txt @@ -65,7 +65,7 @@ SET(KOKKOS_THREADS_NAME Threads) IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang) SET(KOKKOS_OPENACC_FEATURE_LEVEL 9) ELSE() - SET(KOKKOS_OPENACC_FEATURE_LEVEL 16) + SET(KOKKOS_OPENACC_FEATURE_LEVEL 17) ENDIF() SET(KOKKOS_OPENACC_NAME Experimental::OpenACC) @@ -86,11 +86,13 @@ SET(COMPILE_ONLY_SOURCES TestDetectionIdiom.cpp TestBitManipulation.cpp TestInterOp.cpp + TestRangePolicyCTAD.cpp TestStringManipulation.cpp TestVersionMacros.cpp TestViewRank.cpp TestViewTypeTraits.cpp TestTypeList.cpp + TestMDRangePolicyCTAD.cpp view/TestExtentsDatatypeConversion.cpp ) @@ -184,6 +186,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;OpenACC;HIP;SYCL) MDSpan MinMaxClamp NumericTraits + OccupancyControlTrait Other ParallelScanRangePolicy Printf @@ -200,6 +203,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;OpenACC;HIP;SYCL) Reductions Reductions_DeviceView SharedAlloc + Swap ) set(file ${dir}/Test${Tag}_${Name}.cpp) # Write to a temporary intermediate file and call configure_file to avoid @@ -233,6 +237,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;OpenACC;HIP;SYCL) ViewCopy_a ViewCopy_b ViewCtorDimMatch + ViewEmptyRuntimeUnmanaged ViewHooks ViewLayoutStrideAssignment ViewMapping_a @@ -240,6 +245,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;OpenACC;HIP;SYCL) ViewMapping_subview ViewMemoryAccessViolation ViewOfClass + ViewOutOfBoundsAccess ViewResize WorkGraph WithoutInitializing @@ -372,20 +378,21 @@ if(Kokkos_ENABLE_OPENMPTARGET) ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamCombinedReducers.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamReductionScan.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_WorkGraph.cpp - IF (KOKKOS_CXX_COMPILER_ID STREQUAL "Clang" AND KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0.0) - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c01.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c02.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c03.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_Reducers_d.cpp - endif() IF (KOKKOS_CXX_COMPILER_ID STREQUAL "Clang" AND KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0.0) ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_AtomicOperations_shared.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_MinMaxClamp.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamVectorRange.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_LocalDeepCopy.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_Reducers_d.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamVectorRange.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_ViewAPI_e.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamScan.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamBasic.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_ViewAPI_e.cpp + IF (KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 17.0.3) + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c01.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c02.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c03.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_Reducers_d.cpp + endif() endif() # FIXME_OPENMPTARGET_CRAY: The following tests fail at compile time when the OpenMPTarget backend is enabled with the Cray compiler. # Atomic compare/exchange is used in these tests which can be one of the reasons for the compilation failures. @@ -522,17 +529,7 @@ IF(KOKKOS_ENABLE_OPENACC AND KOKKOS_CXX_COMPILER_ID STREQUAL NVHPC) list(REMOVE_ITEM OpenACC_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/default/TestDefaultDeviceType_a1.cpp ${CMAKE_CURRENT_SOURCE_DIR}/default/TestDefaultDeviceType_b1.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_double.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_float.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_int.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_longint.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_longlongint.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_shared.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_unsignedint.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_unsignedlongint.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_Atomics.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicViews.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_BlockSizeDeduction.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_DeepCopyAlignment.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_HostSharedPtr.cpp @@ -549,17 +546,10 @@ IF(KOKKOS_ENABLE_OPENACC AND KOKKOS_CXX_COMPILER_ID STREQUAL NVHPC) ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_Reducers_d.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_Reductions.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_Reductions_DeviceView.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_b.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c02.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c03.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c05.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c08.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c11.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_TeamBasic.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_TeamScratch.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_TeamTeamSize.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_UniqueToken.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_ViewMapping_b.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_ViewResize.cpp ) endif() @@ -677,7 +667,6 @@ endif() if (Kokkos_ENABLE_OPENMP) set(OpenMP_EXTRA_SOURCES openmp/TestOpenMP_Task.cpp - openmp/TestOpenMP_PartitionMaster.cpp ) KOKKOS_ADD_EXECUTABLE_AND_TEST( CoreUnitTest_OpenMP @@ -724,12 +713,14 @@ if(Kokkos_ENABLE_HPX) hpx/TestHPX_IndependentInstancesRefCounting.cpp hpx/TestHPX_IndependentInstancesSynchronization.cpp ) +if(Kokkos_ENABLE_DEPRECATED_CODE_4) KOKKOS_ADD_EXECUTABLE_AND_TEST( CoreUnitTest_HPX_InParallel SOURCES UnitTestMainInit.cpp hpx/TestHPX_InParallel.cpp ) + endif() endif() if(Kokkos_ENABLE_OPENMPTARGET) @@ -797,6 +788,12 @@ if(Kokkos_ENABLE_CUDA) UnitTestMain.cpp cuda/TestCuda_InterOp_Streams.cpp ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( + CoreUnitTest_CudaInterOpStreamsMultiGPU + SOURCES + UnitTestMainInit.cpp + cuda/TestCuda_InterOp_StreamsMultiGPU.cpp + ) KOKKOS_ADD_EXECUTABLE_AND_TEST( CoreUnitTest_CudaGraph SOURCES @@ -1039,13 +1036,7 @@ KOKKOS_ADD_ADVANCED_TEST( CoreUnitTest_PushFinalizeHook_terminate tools/TestCategoricalTuner.cpp ) endif() - if((NOT Kokkos_ENABLE_OPENMPTARGET) AND (NOT Kokkos_ENABLE_OPENACC)) - KOKKOS_ADD_EXECUTABLE_AND_TEST( - CoreUnitTest_LogicalSpaces - SOURCES - tools/TestLogicalSpaces.cpp - ) - endif() + SET(KOKKOSP_SOURCES UnitTestMainInit.cpp tools/TestEventCorrectness.cpp @@ -1167,15 +1158,6 @@ KOKKOS_ADD_TEST( NAME CoreUnitTest_StackTraceTest ) endif() -if(Kokkos_ENABLE_DEPRECATED_CODE_3) - foreach(INITTESTS_NUM RANGE 1 18) - KOKKOS_ADD_EXECUTABLE_AND_TEST( - CoreUnitTest_DefaultInit_${INITTESTS_NUM} - SOURCES UnitTestMain.cpp default/TestDefaultDeviceTypeInit_${INITTESTS_NUM}.cpp - ) - endforeach(INITTESTS_NUM) -endif() - if (KOKKOS_ENABLE_HWLOC) KOKKOS_ADD_EXECUTABLE_AND_TEST( CoreUnitTest_HWLOC @@ -1259,12 +1241,10 @@ if (NOT KOKKOS_HAS_TRILINOS) INPUT TestDeviceAndThreads.py ${USE_SOURCE_PERMISSIONS_WHEN_SUPPORTED} ) - if(NOT Kokkos_ENABLE_OPENMPTARGET) # FIXME_OPENMPTARGET does not select the right device - add_test( - NAME Kokkos_CoreUnitTest_DeviceAndThreads - COMMAND ${Python3_EXECUTABLE} -m unittest -v $/TestDeviceAndThreads.py - ) - endif() + add_test( + NAME Kokkos_CoreUnitTest_DeviceAndThreads + COMMAND ${Python3_EXECUTABLE} -m unittest -v $/TestDeviceAndThreads.py + ) endif() endif() diff --git a/lib/kokkos/core/unit_test/Makefile b/lib/kokkos/core/unit_test/Makefile index 33a84b61f9..202809d3fc 100644 --- a/lib/kokkos/core/unit_test/Makefile +++ b/lib/kokkos/core/unit_test/Makefile @@ -67,8 +67,8 @@ TESTS = AtomicOperations_int AtomicOperations_unsignedint AtomicOperations_longi tmp := $(foreach device, $(KOKKOS_DEVICELIST), \ tmp2 := $(foreach test, $(TESTS), \ $(if $(filter Test$(device)_$(test).cpp, $(shell ls Test$(device)_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > Test$(device)_$(test).cpp); \ - $(shell echo "\#include " >> Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include " > Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include " >> Test$(device)_$(test).cpp); \ ) \ ) \ ) @@ -82,8 +82,8 @@ KOKKOS_SUBVIEW_DEVICELIST := $(filter-out Cuda, $(KOKKOS_DEVICELIST)) tmp := $(foreach device, $(KOKKOS_SUBVIEW_DEVICELIST), \ tmp2 := $(foreach test, $(SUBVIEW_TESTS), \ $(if $(filter Test$(device)_$(test).cpp, $(shell ls Test$(device)_$(test).cpp 2>/dev/null)),, \ - $(shell echo "\#include " > Test$(device)_$(test).cpp); \ - $(shell echo "\#include " >> Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include " > Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include " >> Test$(device)_$(test).cpp); \ ) \ )\ ) @@ -91,8 +91,8 @@ tmp := $(foreach device, $(KOKKOS_SUBVIEW_DEVICELIST), \ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) tmp2 := $(foreach test, $(SUBVIEW_TESTS), \ $(if $(filter TestCuda_$(test).cpp, $(shell ls TestCuda_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > TestCuda_$(test).cpp); \ - $(shell echo "\#include " >> TestCuda_$(test).cpp); \ + $(shell echo "$(H)include " > TestCuda_$(test).cpp); \ + $(shell echo "$(H)include " >> TestCuda_$(test).cpp); \ )\ ) @@ -100,8 +100,8 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) tmp := $(foreach space, $(GPU_SPACES), \ tmp2 := $(foreach test, $(GPU_SPACE_TESTS), \ $(if $(filter Test$(space)_$(test).cpp, $(shell ls Test$(space)_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > Test$(space)_$(test).cpp); \ - $(shell echo "\#include " >> Test$(space)_$(test).cpp); \ + $(shell echo "$(H)include " > Test$(space)_$(test).cpp); \ + $(shell echo "$(H)include " >> Test$(space)_$(test).cpp); \ )\ )\ ) @@ -277,8 +277,8 @@ ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) tmp := $(foreach space, $(GPU_SPACES), \ tmp2 := $(foreach test, $(GPU_SPACE_TESTS), \ $(if $(filter Test$(space)_$(test).cpp, $(shell ls Test$(space)_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > Test$(space)_$(test).cpp); \ - $(shell echo "\#include " >> Test$(space)_$(test).cpp); \ + $(shell echo "$(H)include " > Test$(space)_$(test).cpp); \ + $(shell echo "$(H)include " >> Test$(space)_$(test).cpp); \ )\ )\ ) diff --git a/lib/kokkos/core/unit_test/TestAggregate.hpp b/lib/kokkos/core/unit_test/TestAggregate.hpp index 4f67b2eddc..f1316a7426 100644 --- a/lib/kokkos/core/unit_test/TestAggregate.hpp +++ b/lib/kokkos/core/unit_test/TestAggregate.hpp @@ -29,35 +29,31 @@ void TestViewAggregate() { value_type>; static_assert( - std::is_same >::value, - ""); + std::is_same >::value); using a32_traits = Kokkos::ViewTraits; using flat_traits = Kokkos::ViewTraits; static_assert( - std::is_same >::value, - ""); + std::is_same >::value); static_assert( - std::is_same::value, ""); - static_assert(a32_traits::rank == 2, ""); - static_assert(a32_traits::rank_dynamic == 2, ""); + std::is_same::value); + static_assert(a32_traits::rank == 2); + static_assert(a32_traits::rank_dynamic == 2); - static_assert(std::is_void::value, ""); - static_assert(flat_traits::rank == 3, ""); - static_assert(flat_traits::rank_dynamic == 2, ""); - static_assert(flat_traits::dimension::N2 == 32, ""); + static_assert(std::is_void::value); + static_assert(flat_traits::rank == 3); + static_assert(flat_traits::rank_dynamic == 2); + static_assert(flat_traits::dimension::N2 == 32); using a32_type = Kokkos::View **, DeviceType>; using a32_flat_type = typename a32_type::array_type; - static_assert(std::is_same::value, - ""); - static_assert(std::is_same::value, - ""); - static_assert(a32_type::rank == 2, ""); - static_assert(a32_flat_type::rank == 3, ""); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(a32_type::rank == 2); + static_assert(a32_flat_type::rank == 3); a32_type x("test", 4, 5); a32_flat_type y(x); diff --git a/lib/kokkos/core/unit_test/TestArray.cpp b/lib/kokkos/core/unit_test/TestArray.cpp index d3bdc4f93f..673d0036b7 100644 --- a/lib/kokkos/core/unit_test/TestArray.cpp +++ b/lib/kokkos/core/unit_test/TestArray.cpp @@ -49,4 +49,28 @@ KOKKOS_FUNCTION constexpr bool test_array_structured_binding_support() { static_assert(test_array_structured_binding_support()); +template +KOKKOS_FUNCTION constexpr bool is_equal(L const& l, R const& r) { + if (std::size(l) != std::size(r)) return false; + + for (size_t i = 0; i != std::size(l); ++i) { + if (l[i] != r[i]) return false; + } + + return true; +} + +// Disable ctad test for intel versions < 2021, see issue #6702 +#if !defined(KOKKOS_COMPILER_INTEL) || KOKKOS_COMPILER_INTEL >= 2021 +KOKKOS_FUNCTION constexpr bool test_array_ctad() { + constexpr int x = 10; + constexpr Kokkos::Array a{1, 2, 3, 5, x}; + constexpr Kokkos::Array b{1, 2, 3, 5, x}; + + return std::is_same_v && is_equal(a, b); +} + +static_assert(test_array_ctad()); +#endif + } // namespace diff --git a/lib/kokkos/core/unit_test/TestAtomicOperations.hpp b/lib/kokkos/core/unit_test/TestAtomicOperations.hpp index a5aebed413..cd7ba47aa1 100644 --- a/lib/kokkos/core/unit_test/TestAtomicOperations.hpp +++ b/lib/kokkos/core/unit_test/TestAtomicOperations.hpp @@ -368,6 +368,63 @@ bool atomic_op_test(T old_val, T update) { return result == 0; } +template +constexpr T relative_error_threshold = T(1.0e-15); + +template +bool atomic_op_test_rel(T old_val, T update) { + Kokkos::View op_data("op_data"); + Kokkos::deep_copy(op_data, old_val); + int result = 0; + Kokkos::parallel_reduce( + Kokkos::RangePolicy(0, 1), + KOKKOS_LAMBDA(int, int& local_result) { + auto fetch_result = + Op::atomic_op(&op_data(0), &op_data(1), &op_data(2), update); + T expected_val = Op::op(old_val, update); + Kokkos::memory_fence(); + if (expected_val == T(0)) { + if (fabs(op_data(0)) > relative_error_threshold) local_result += 1; + if (fabs(op_data(1)) > relative_error_threshold) local_result += 2; + if (fabs(op_data(2)) > relative_error_threshold) local_result += 4; + if (fetch_result.first != old_val) local_result += 8; + if (fabs(fetch_result.second) > relative_error_threshold) + local_result += 16; + } else { + if (fabs((op_data(0) - expected_val) / expected_val) > + relative_error_threshold) + local_result += 1; + if (fabs((op_data(1) - expected_val) / expected_val) > + relative_error_threshold) + local_result += 2; + if (fabs((op_data(2) - expected_val) / expected_val) > + relative_error_threshold) + local_result += 4; + if (fetch_result.first != old_val) local_result += 8; + if (fabs((fetch_result.second - expected_val) / expected_val) > + relative_error_threshold) + local_result += 16; + } + }, + result); + if ((result & 1) != 0) + printf("atomic_%s failed with type %s\n", Op::name(), typeid(T).name()); + if ((result & 2) != 0) + printf("atomic_fetch_%s failed with type %s\n", Op::name(), + typeid(T).name()); + if ((result & 4) != 0) + printf("atomic_%s_fetch failed with type %s\n", Op::name(), + typeid(T).name()); + if ((result & 8) != 0) + printf("atomic_fetch_%s did not return old value with type %s\n", + Op::name(), typeid(T).name()); + if ((result & 16) != 0) + printf("atomic_%s_fetch did not return updated value with type %s\n", + Op::name(), typeid(T).name()); + + return result == 0; +} + //--------------------------------------------------- //--------------atomic_test_control------------------ //--------------------------------------------------- @@ -395,6 +452,12 @@ bool AtomicOperationsTestIntegralType(int old_val_in, int update_in, int test) { case 9: return atomic_op_test(old_val, update); case 10: return atomic_op_test(old_val, update); +#if defined(KOKKOS_ENABLE_OPENACC) && defined(KOKKOS_COMPILER_NVHPC) + // FIXME_NVHPC: atomic-fetch-shift operation fails due to NVHPC OpenACC + // compiler bugs, which are reported to NVIDIA. + case 11: return true; + case 12: return true; +#else case 11: return update_in >= 0 ? atomic_op_test( old_val, update) @@ -403,6 +466,7 @@ bool AtomicOperationsTestIntegralType(int old_val_in, int update_in, int test) { return update_in >= 0 ? atomic_op_test( old_val, update) : true; +#endif case 13: return atomic_op_test(old_val, update); case 14: @@ -440,10 +504,20 @@ bool AtomicOperationsTestNonIntegralType(int old_val_in, int update_in, case 2: return atomic_op_test(old_val, update); case 3: return atomic_op_test(old_val, update); case 4: return atomic_op_test(old_val, update); +#if defined(KOKKOS_ENABLE_OPENACC) && defined(KOKKOS_COMPILER_NVHPC) + // NVHPC may use different internal precisions for the device and host + // atomic operations. Therefore, relative errors are used to compare the + // host results and device results. + case 5: + return update != 0 ? atomic_op_test_rel( + old_val, update) + : true; +#else case 5: return update != 0 ? atomic_op_test(old_val, update) : true; +#endif case 6: return atomic_op_test(old_val, update); } diff --git a/lib/kokkos/core/unit_test/TestAtomics.hpp b/lib/kokkos/core/unit_test/TestAtomics.hpp index 2b40f12d0a..5f48e8c974 100644 --- a/lib/kokkos/core/unit_test/TestAtomics.hpp +++ b/lib/kokkos/core/unit_test/TestAtomics.hpp @@ -498,7 +498,9 @@ TEST(TEST_CATEGORY, atomics) { ASSERT_TRUE((TestAtomic::Loop(100, 2))); ASSERT_TRUE((TestAtomic::Loop(100, 3))); -#ifndef KOKKOS_ENABLE_OPENMPTARGET + // FIXME_OPENMPTARGET + // FIXME_OPENACC: atomic operations on composite types are not supported. +#if !defined(KOKKOS_ENABLE_OPENMPTARGET) && !defined(KOKKOS_ENABLE_OPENACC) ASSERT_TRUE((TestAtomic::Loop, TEST_EXECSPACE>(1, 1))); ASSERT_TRUE((TestAtomic::Loop, TEST_EXECSPACE>(1, 2))); ASSERT_TRUE((TestAtomic::Loop, TEST_EXECSPACE>(1, 3))); diff --git a/lib/kokkos/core/unit_test/TestBitManipulationBuiltins.hpp b/lib/kokkos/core/unit_test/TestBitManipulationBuiltins.hpp index 092e7cff61..2f3bcfe817 100644 --- a/lib/kokkos/core/unit_test/TestBitManipulationBuiltins.hpp +++ b/lib/kokkos/core/unit_test/TestBitManipulationBuiltins.hpp @@ -804,26 +804,26 @@ struct TestBitCastFunction { using Kokkos::bit_cast; if (bit_cast(123) != 123) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #1\n"); + Kokkos::printf("failed check #1\n"); } if (bit_cast(123u) != 123) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #2\n"); + Kokkos::printf("failed check #2\n"); } if (bit_cast(~0u) != ~0) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #3\n"); + Kokkos::printf("failed check #3\n"); } if constexpr (sizeof(int) == sizeof(float)) { if (!check(12.34f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #4\n"); + Kokkos::printf("failed check #4\n"); } } if constexpr (sizeof(unsigned long long) == sizeof(double)) { if (!check(123.456)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #5\n"); + Kokkos::printf("failed check #5\n"); } } @@ -848,11 +848,11 @@ struct TestBitCastFunction { } if (!(bit_cast(arr) == arr)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #6\n"); + Kokkos::printf("failed check #6\n"); } if (!(bit_cast(arr2) == arr2)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #7\n"); + Kokkos::printf("failed check #7\n"); } } }; diff --git a/lib/kokkos/core/unit_test/TestComplex.hpp b/lib/kokkos/core/unit_test/TestComplex.hpp index bcae2e1d81..5501a35b7f 100644 --- a/lib/kokkos/core/unit_test/TestComplex.hpp +++ b/lib/kokkos/core/unit_test/TestComplex.hpp @@ -451,17 +451,15 @@ TEST(TEST_CATEGORY, complex_issue_3867) { ASSERT_FLOAT_EQ(x.real(), y.real()); ASSERT_FLOAT_EQ(x.imag(), y.imag()); -#define CHECK_POW_COMPLEX_PROMOTION(ARGTYPE1, ARGTYPE2, RETURNTYPE) \ - static_assert( \ - std::is_same(), \ - std::declval()))>::value, \ - ""); \ - static_assert( \ - std::is_same(), \ - std::declval()))>::value, \ - ""); +#define CHECK_POW_COMPLEX_PROMOTION(ARGTYPE1, ARGTYPE2, RETURNTYPE) \ + static_assert( \ + std::is_same(), \ + std::declval()))>::value); \ + static_assert( \ + std::is_same(), \ + std::declval()))>::value); CHECK_POW_COMPLEX_PROMOTION(Kokkos::complex, long double, Kokkos::complex); diff --git a/lib/kokkos/core/unit_test/TestConcepts.hpp b/lib/kokkos/core/unit_test/TestConcepts.hpp index 476a884832..b85867bf63 100644 --- a/lib/kokkos/core/unit_test/TestConcepts.hpp +++ b/lib/kokkos/core/unit_test/TestConcepts.hpp @@ -22,42 +22,42 @@ using ExecutionSpace = TEST_EXECSPACE; using MemorySpace = typename ExecutionSpace::memory_space; using DeviceType = typename ExecutionSpace::device_type; -static_assert(Kokkos::is_execution_space{}, ""); -static_assert(Kokkos::is_execution_space{}, ""); -static_assert(!Kokkos::is_execution_space{}, ""); -static_assert(!Kokkos::is_execution_space{}, ""); +static_assert(Kokkos::is_execution_space{}); +static_assert(Kokkos::is_execution_space{}); +static_assert(!Kokkos::is_execution_space{}); +static_assert(!Kokkos::is_execution_space{}); -static_assert(Kokkos::is_memory_space{}, ""); -static_assert(Kokkos::is_memory_space{}, ""); -static_assert(!Kokkos::is_memory_space{}, ""); -static_assert(!Kokkos::is_memory_space{}, ""); +static_assert(Kokkos::is_memory_space{}); +static_assert(Kokkos::is_memory_space{}); +static_assert(!Kokkos::is_memory_space{}); +static_assert(!Kokkos::is_memory_space{}); -static_assert(Kokkos::is_device{}, ""); -static_assert(Kokkos::is_device{}, ""); -static_assert(!Kokkos::is_device{}, ""); -static_assert(!Kokkos::is_device{}, ""); +static_assert(Kokkos::is_device{}); +static_assert(Kokkos::is_device{}); +static_assert(!Kokkos::is_device{}); +static_assert(!Kokkos::is_device{}); -static_assert(!Kokkos::is_device{}, ""); -static_assert(!Kokkos::is_device{}, ""); +static_assert(!Kokkos::is_device{}); +static_assert(!Kokkos::is_device{}); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(!Kokkos::is_space{}, ""); -static_assert(!Kokkos::is_space{}, ""); -static_assert(!Kokkos::is_space{}, ""); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(!Kokkos::is_space{}); +static_assert(!Kokkos::is_space{}); +static_assert(!Kokkos::is_space{}); -static_assert(Kokkos::is_execution_space_v, ""); -static_assert(!Kokkos::is_execution_space_v, ""); +static_assert(Kokkos::is_execution_space_v); +static_assert(!Kokkos::is_execution_space_v); static_assert( - std::is_same>{}, ""); -static_assert(std::is_same>{}, ""); -static_assert(std::is_same>{}, ""); -static_assert(std::is_same>{}, ""); + std::is_same>{}); +static_assert(std::is_same>{}); +static_assert(std::is_same>{}); +static_assert(std::is_same>{}); /*------------------------------------------------- begin test for team_handle concept diff --git a/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp b/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp deleted file mode 100644 index 929c91db4e..0000000000 --- a/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp +++ /dev/null @@ -1,491 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#include - -#include - -#ifdef KOKKOS_ENABLE_OPENMP -#include -#endif -#include -#if !defined(KOKKOS_ENABLE_CUDA) || defined(__CUDACC__) - -namespace Test { - -namespace Impl { - -std::set delete_these; -void cleanup_memory() { - for (auto x : delete_these) { - delete[] x; - } -} - -char** init_kokkos_args(bool do_threads, bool do_numa, bool do_device, - bool do_other, bool do_tune, int& nargs, - Kokkos::InitArguments& init_args) { - nargs = (do_threads ? 1 : 0) + (do_numa ? 1 : 0) + (do_device ? 1 : 0) + - (do_other ? 4 : 0) + (do_tune ? 1 : 0); - - char** args_kokkos = new char*[nargs]; - const int max_args_size = 45; - for (int i = 0; i < nargs; i++) { - args_kokkos[i] = new char[max_args_size]; - delete_these.insert(args_kokkos[i]); - } - - int threads_idx = do_other ? 1 : 0; - int numa_idx = (do_other ? 3 : 0) + (do_threads ? 1 : 0); - int device_idx = - (do_other ? 3 : 0) + (do_threads ? 1 : 0) + (do_numa ? 1 : 0); - int tune_idx = (do_other ? 4 : 0) + (do_threads ? 1 : 0) + (do_numa ? 1 : 0) + - (do_device ? 1 : 0); - - if (do_threads) { - int nthreads = 3; - -#ifdef KOKKOS_ENABLE_OPENMP - if (omp_get_max_threads() < nthreads) { - nthreads = omp_get_max_threads(); - } -#elif defined(KOKKOS_ENABLE_HPX) - const int concurrency = std::thread::hardware_concurrency(); - if (concurrency < nthreads) { - nthreads = concurrency; - } -#endif - - if (Kokkos::hwloc::available()) { - if (Kokkos::hwloc::get_available_threads_per_core() < - static_cast(nthreads)) - nthreads = Kokkos::hwloc::get_available_threads_per_core() * - Kokkos::hwloc::get_available_numa_count(); - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - nthreads = 1; - } -#endif - - init_args.num_threads = nthreads; - snprintf(args_kokkos[threads_idx], max_args_size, "--threads=%i", nthreads); - } - - if (do_numa) { - int numa = 1; - if (Kokkos::hwloc::available()) { - numa = Kokkos::hwloc::get_available_numa_count(); - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - numa = 1; - } -#endif - - init_args.num_numa = numa; - snprintf(args_kokkos[numa_idx], max_args_size, "--numa=%i", numa); - } - - if (do_device) { - init_args.device_id = 0; - snprintf(args_kokkos[device_idx], max_args_size, "--device-id=%i", 0); - } - - if (do_other) { - snprintf(args_kokkos[0], max_args_size, "--dummyarg=1"); - snprintf(args_kokkos[threads_idx + (do_threads ? 1 : 0)], max_args_size, - "--dummy2arg"); - snprintf(args_kokkos[threads_idx + (do_threads ? 1 : 0) + 1], max_args_size, - "dummy3arg"); - snprintf(args_kokkos[device_idx + (do_device ? 1 : 0)], max_args_size, - "dummy4arg=1"); - } - - if (do_tune) { - init_args.tune_internals = true; - snprintf(args_kokkos[tune_idx], max_args_size, "--kokkos-tune-internals"); - } - - return args_kokkos; -} - -Kokkos::InitArguments init_initstruct(bool do_threads, bool do_numa, - bool do_device, bool do_tune) { - Kokkos::InitArguments args; - - if (do_threads) { - int nthreads = 3; - -#ifdef KOKKOS_ENABLE_OPENMP - if (omp_get_max_threads() < nthreads) { - nthreads = omp_get_max_threads(); - } -#elif defined(KOKKOS_ENABLE_HPX) - const int concurrency = std::thread::hardware_concurrency(); - if (concurrency < nthreads) { - nthreads = concurrency; - } -#endif - - if (Kokkos::hwloc::available()) { - if (Kokkos::hwloc::get_available_threads_per_core() < - static_cast(nthreads)) { - nthreads = Kokkos::hwloc::get_available_threads_per_core() * - Kokkos::hwloc::get_available_numa_count(); - } - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - nthreads = 1; - } -#endif - - args.num_threads = nthreads; - } - - if (do_numa) { - int numa = 1; - if (Kokkos::hwloc::available()) { - numa = Kokkos::hwloc::get_available_numa_count(); - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - numa = 1; - } -#endif - - args.num_numa = numa; - } - - if (do_device) { - args.device_id = 0; - } - - if (do_tune) { - args.tune_internals = true; - } - - return args; -} - -void check_correct_initialization(const Kokkos::InitArguments& argstruct) { - ASSERT_EQ(Kokkos::DefaultExecutionSpace::impl_is_initialized(), 1); - ASSERT_EQ(Kokkos::HostSpace::execution_space::impl_is_initialized(), 1); - - // Figure out the number of threads the HostSpace ExecutionSpace should have - // initialized to. - int expected_nthreads = argstruct.num_threads; - -#ifdef KOKKOS_ENABLE_OPENMP - if (std::is_same::value) { - // use openmp default num threads - if (expected_nthreads < 0 || - (expected_nthreads == 0 && !Kokkos::hwloc::available())) { - expected_nthreads = omp_get_max_threads(); - } - // use hwloc if available - else if (expected_nthreads == 0 && Kokkos::hwloc::available()) { - expected_nthreads = Kokkos::hwloc::get_available_numa_count() * - Kokkos::hwloc::get_available_cores_per_numa() * - Kokkos::hwloc::get_available_threads_per_core(); - } - } -#endif - - if (expected_nthreads < 1) { - if (Kokkos::hwloc::available()) { - expected_nthreads = Kokkos::hwloc::get_available_numa_count() * - Kokkos::hwloc::get_available_cores_per_numa() * - Kokkos::hwloc::get_available_threads_per_core(); - } else { - expected_nthreads = 1; - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - expected_nthreads = 1; - } -#endif - -#ifdef KOKKOS_ENABLE_HPX - // HPX uses all cores on machine by default. Skip this test. - if (std::is_same::value || - std::is_same::value) { - return; - } -#endif - } - - int expected_numa = argstruct.num_numa; - - if (expected_numa < 1) { - if (Kokkos::hwloc::available()) { - expected_numa = Kokkos::hwloc::get_available_numa_count(); - } else { - expected_numa = 1; - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) - expected_numa = 1; -#endif - } - - ASSERT_EQ(Kokkos::HostSpace::execution_space().impl_thread_pool_size(), - expected_nthreads); - -#ifdef KOKKOS_ENABLE_CUDA - if (std::is_same::value) { - int device; - cudaGetDevice(&device); - - int expected_device = argstruct.device_id; - if (argstruct.device_id < 0) { - expected_device = Kokkos::Cuda().cuda_device(); - } - - ASSERT_EQ(expected_device, device); - } -#endif - ASSERT_EQ(argstruct.tune_internals, Kokkos::tune_internals()); -} - -// TODO: Add check whether correct number of threads are actually started. -void test_no_arguments() { - Kokkos::initialize(); - check_correct_initialization(Kokkos::InitArguments()); - Kokkos::finalize(); -} - -void test_commandline_args(int nargs, char** args, - const Kokkos::InitArguments& argstruct) { - Kokkos::initialize(nargs, args); - check_correct_initialization(argstruct); - Kokkos::finalize(); -} - -void test_initstruct_args(const Kokkos::InitArguments& args) { - Kokkos::initialize(args); - check_correct_initialization(args); - Kokkos::finalize(); -} - -} // namespace Impl - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_01 -TEST(defaultdevicetypeinit, no_args) { Impl::test_no_arguments(); } -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_02 -TEST(defaultdevicetypeinit, commandline_args_empty) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = Impl::init_kokkos_args(false, false, false, false, false, nargs, - argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_03 -TEST(defaultdevicetypeinit, commandline_args_other) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = Impl::init_kokkos_args(false, false, false, true, false, nargs, - argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_04 -TEST(defaultdevicetypeinit, commandline_args_nthreads) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = Impl::init_kokkos_args(true, false, false, false, false, nargs, - argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_05 -TEST(defaultdevicetypeinit, commandline_args_nthreads_numa) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, true, false, false, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_06 -TEST(defaultdevicetypeinit, commandline_args_nthreads_numa_device) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, true, true, false, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_07 -TEST(defaultdevicetypeinit, commandline_args_nthreads_device) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, false, true, false, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_08 -TEST(defaultdevicetypeinit, commandline_args_numa_device) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(false, true, true, false, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_09 -TEST(defaultdevicetypeinit, commandline_args_device) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = Impl::init_kokkos_args(false, false, true, false, false, nargs, - argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_10 -TEST(defaultdevicetypeinit, commandline_args_nthreads_numa_device_other) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, true, true, true, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_11 -TEST(defaultdevicetypeinit, commandline_args_nthreads_numa_device_other_tune) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, true, true, true, true, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_12 -TEST(defaultdevicetypeinit, initstruct_default) { - Kokkos::InitArguments args; - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_13 -TEST(defaultdevicetypeinit, initstruct_nthreads) { - Kokkos::InitArguments args = Impl::init_initstruct(true, false, false, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_14 -TEST(defaultdevicetypeinit, initstruct_nthreads_numa) { - Kokkos::InitArguments args = Impl::init_initstruct(true, true, false, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_15 -TEST(defaultdevicetypeinit, initstruct_device) { - Kokkos::InitArguments args = Impl::init_initstruct(false, false, true, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_16 -TEST(defaultdevicetypeinit, initstruct_nthreads_device) { - Kokkos::InitArguments args = Impl::init_initstruct(true, false, true, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_17 -TEST(defaultdevicetypeinit, initstruct_nthreads_numa_device) { - Kokkos::InitArguments args = Impl::init_initstruct(true, true, true, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_18 -TEST(defaultdevicetypeinit, initstruct_nthreads_numa_device_tune) { - Kokkos::InitArguments args = Impl::init_initstruct(true, true, true, true); - Impl::test_initstruct_args(args); -} -#endif - -} // namespace Test - -#endif diff --git a/lib/kokkos/core/unit_test/TestDeviceAndThreads.py b/lib/kokkos/core/unit_test/TestDeviceAndThreads.py index 1d3ff8eea7..63d26ad41a 100644 --- a/lib/kokkos/core/unit_test/TestDeviceAndThreads.py +++ b/lib/kokkos/core/unit_test/TestDeviceAndThreads.py @@ -17,6 +17,8 @@ import unittest import subprocess +import platform +import os PREFIX = "$" EXECUTABLE = "$" @@ -30,7 +32,22 @@ def GetFlag(flag, *extra_args): return int(p.stdout) def GetNumThreads(max_threads): - for x in [1, 2, 3, 5, 7]: + args = [] + name = platform.system() + if name == 'Darwin': + args = ['sysctl', '-n', 'hw.physicalcpu_max'] + elif name == 'Linux': + args = ['nproc', '--all'] + else: + args = ['wmic', 'cpu', 'get', 'NumberOfCores'] + + result = subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + output = result.stdout.decode('utf-8') + phys_cores_count = int(output) + looplist = [1] + [i*phys_cores_count for i in [1,2,3,4,5,6,7]] \ + if GetFlag("hwloc_enabled") else [1,2,3,4,5] + + for x in looplist: if x >= max_threads: break yield x @@ -48,13 +65,25 @@ class KokkosInitializationTestCase(unittest.TestCase): "num_threads", "--kokkos-num-threads={}".format(num_threads))) + def test_num_devices(self): + if "KOKKOS_VISIBLE_DEVICES" in os.environ: + self.skipTest("KOKKOS_VISIBLE_DEVICES environment variable is set") + num_devices = GetFlag("num_devices") + self.assertNotEqual(num_devices, 0) + if num_devices == -1: + self.skipTest("no device backend enabled") + self.assertGreaterEqual(num_devices, 1) + def test_device_id(self): - device_count = GetFlag("device_count") - if device_count == 0: - self.skipTest("no device detected") + if "KOKKOS_VISIBLE_DEVICES" in os.environ: + self.skipTest("KOKKOS_VISIBLE_DEVICES environment variable is set") + num_devices = GetFlag("num_devices") + if num_devices == -1: + self.assertEqual(-1, GetFlag("device_id")) + self.skipTest("no device backend enabled") # by default use the first GPU available for execution self.assertEqual(0, GetFlag("device_id")) - for device_id in range(device_count): + for device_id in range(num_devices): self.assertEqual( device_id, GetFlag( diff --git a/lib/kokkos/core/unit_test/TestExecutionSpace.hpp b/lib/kokkos/core/unit_test/TestExecutionSpace.hpp index 6f0f159c17..983a5975af 100644 --- a/lib/kokkos/core/unit_test/TestExecutionSpace.hpp +++ b/lib/kokkos/core/unit_test/TestExecutionSpace.hpp @@ -25,13 +25,7 @@ struct CheckClassWithExecutionSpaceAsDataMemberIsCopyable { Kokkos::DefaultExecutionSpace device; Kokkos::DefaultHostExecutionSpace host; - KOKKOS_FUNCTION void operator()(int, int& e) const { - // not actually doing anything useful, mostly checking that - // ExecutionSpace::in_parallel() is callable - if (static_cast(device.in_parallel()) < 0) { - ++e; - } - } + KOKKOS_FUNCTION void operator()(int i, int& e) const { e += i; } CheckClassWithExecutionSpaceAsDataMemberIsCopyable() { int errors; diff --git a/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp b/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp index c024526111..e58324144e 100644 --- a/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp +++ b/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp @@ -59,16 +59,15 @@ void test_functor_analysis() { using R01 = typename A01::Reducer; - static_assert(std::is_void::value, ""); - static_assert(std::is_void::value, ""); - static_assert(std::is_void::value, ""); - static_assert(std::is_same::value, - ""); + static_assert(std::is_void::value); + static_assert(std::is_void::value); + static_assert(std::is_void::value); + static_assert(std::is_same::value); - static_assert(!A01::has_join_member_function, ""); - static_assert(!A01::has_init_member_function, ""); - static_assert(!A01::has_final_member_function, ""); - static_assert(A01::StaticValueSize == 0, ""); + static_assert(!A01::has_join_member_function); + static_assert(!A01::has_init_member_function); + static_assert(!A01::has_final_member_function); + static_assert(A01::StaticValueSize == 0); ASSERT_EQ(R01(c01).length(), 0); //------------------------------ @@ -78,16 +77,15 @@ void test_functor_analysis() { Kokkos::RangePolicy, decltype(c02), void>; using R02 = typename A02::Reducer; - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, - ""); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); - static_assert(!A02::has_join_member_function, ""); - static_assert(!A02::has_init_member_function, ""); - static_assert(!A02::has_final_member_function, ""); - static_assert(A02::StaticValueSize == sizeof(double), ""); + static_assert(!A02::has_join_member_function); + static_assert(!A02::has_init_member_function); + static_assert(!A02::has_final_member_function); + static_assert(A02::StaticValueSize == sizeof(double)); ASSERT_EQ(R02(c02).length(), 1); //------------------------------ @@ -99,23 +97,19 @@ void test_functor_analysis() { using R03 = typename A03::Reducer; static_assert(std::is_same::value, - ""); + TestFunctorAnalysis_03::value_type>::value); static_assert(std::is_same::value, - ""); + TestFunctorAnalysis_03::value_type*>::value); static_assert(std::is_same::value, - ""); + TestFunctorAnalysis_03::value_type&>::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); - static_assert(A03::has_join_member_function, ""); - static_assert(A03::has_init_member_function, ""); - static_assert(!A03::has_final_member_function, ""); - static_assert( - A03::StaticValueSize == sizeof(TestFunctorAnalysis_03::value_type), ""); + static_assert(A03::has_join_member_function); + static_assert(A03::has_init_member_function); + static_assert(!A03::has_final_member_function); + static_assert(A03::StaticValueSize == + sizeof(TestFunctorAnalysis_03::value_type)); ASSERT_EQ(R03(c03).length(), 1); //------------------------------ diff --git a/lib/kokkos/core/unit_test/TestHalfOperators.hpp b/lib/kokkos/core/unit_test/TestHalfOperators.hpp index 752e3b5081..c69cdd5703 100644 --- a/lib/kokkos/core/unit_test/TestHalfOperators.hpp +++ b/lib/kokkos/core/unit_test/TestHalfOperators.hpp @@ -268,96 +268,6 @@ enum OP_TESTS { N_OP_TESTS }; -// volatile-qualified parameter type 'volatile half_type' is deprecated -#if !defined(KOKKOS_ENABLE_CXX20) && !defined(KOKKOS_ENABLE_CXX23) -template -struct Functor_TestHalfVolatileOperators { - volatile half_type h_lhs, h_rhs; - view_type actual_lhs, expected_lhs; - double d_lhs, d_rhs; - Functor_TestHalfVolatileOperators(volatile half_type lhs = half_type(0), - volatile half_type rhs = half_type(0)) - : h_lhs(lhs), h_rhs(rhs) { - actual_lhs = view_type("actual_lhs", N_OP_TESTS); - expected_lhs = view_type("expected_lhs", N_OP_TESTS); - half_type nv_tmp; - nv_tmp = h_lhs; - d_lhs = static_cast(nv_tmp); - nv_tmp = h_rhs; - d_rhs = static_cast(nv_tmp); - if (std::is_same::value) { - auto run_on_host = *this; - run_on_host(0); - } else { - Kokkos::parallel_for("Test::Functor_TestHalfVolatileOperators", - Kokkos::RangePolicy(0, 1), *this); - } - } - - KOKKOS_FUNCTION - void operator()(int) const { - volatile half_type tmp_lhs; - half_type nv_tmp; - - // Initialze output views to catch missing test invocations - for (int i = 0; i < N_OP_TESTS; ++i) { - actual_lhs(i) = 1; - expected_lhs(i) = -1; - } - - nv_tmp = h_lhs; - actual_lhs(ASSIGN) = static_cast(nv_tmp); - expected_lhs(ASSIGN) = d_lhs; - - actual_lhs(LT_H_H) = h_lhs < h_rhs; - expected_lhs(LT_H_H) = d_lhs < d_rhs; - - actual_lhs(LE_H_H) = h_lhs <= h_rhs; - expected_lhs(LE_H_H) = d_lhs <= d_rhs; - - actual_lhs(NEQ) = h_lhs != h_rhs; - expected_lhs(NEQ) = d_lhs != d_rhs; - - actual_lhs(GT_H_H) = h_lhs > h_rhs; - expected_lhs(GT_H_H) = d_lhs > d_rhs; - - actual_lhs(GE_H_H) = h_lhs >= h_rhs; - expected_lhs(GE_H_H) = d_lhs >= d_rhs; - - actual_lhs(EQ) = h_lhs == h_rhs; - expected_lhs(EQ) = d_lhs == d_rhs; - - tmp_lhs = h_lhs; - tmp_lhs += h_rhs; - nv_tmp = tmp_lhs; - actual_lhs(CADD_H_H) = static_cast(nv_tmp); - expected_lhs(CADD_H_H) = d_lhs; - expected_lhs(CADD_H_H) += d_rhs; - - tmp_lhs = h_lhs; - tmp_lhs -= h_rhs; - nv_tmp = tmp_lhs; - actual_lhs(CSUB_H_H) = static_cast(nv_tmp); - expected_lhs(CSUB_H_H) = d_lhs; - expected_lhs(CSUB_H_H) -= d_rhs; - - tmp_lhs = h_lhs; - tmp_lhs *= h_rhs; - nv_tmp = tmp_lhs; - actual_lhs(CMUL_H_H) = static_cast(nv_tmp); - expected_lhs(CMUL_H_H) = d_lhs; - expected_lhs(CMUL_H_H) *= d_rhs; - - tmp_lhs = h_lhs; - tmp_lhs /= h_rhs; - nv_tmp = tmp_lhs; - actual_lhs(CDIV_H_H) = static_cast(nv_tmp); - expected_lhs(CDIV_H_H) = d_lhs; - expected_lhs(CDIV_H_H) /= d_rhs; - } -}; -#endif - template struct Functor_TestHalfOperators { half_type h_lhs, h_rhs; @@ -995,33 +905,6 @@ void __test_half_operators(half_type h_lhs, half_type h_rhs) { static_cast(epsilon)); } -// volatile-qualified parameter type 'volatile half_type' is deprecated -#if !defined(KOKKOS_ENABLE_CXX20) && !defined(KOKKOS_ENABLE_CXX23) - // Test partial volatile support - volatile half_type _h_lhs = h_lhs; - volatile half_type _h_rhs = h_rhs; - Functor_TestHalfVolatileOperators f_volatile_device( - _h_lhs, _h_rhs); - Functor_TestHalfVolatileOperators f_volatile_host( - _h_lhs, _h_rhs); - - ExecutionSpace().fence(); - Kokkos::deep_copy(f_device_actual_lhs, f_device.actual_lhs); - Kokkos::deep_copy(f_device_expected_lhs, f_device.expected_lhs); - for (int op_test = 0; op_test < N_OP_TESTS; op_test++) { - // printf("op_test = %d\n", op_test); - if (op_test == ASSIGN || op_test == LT_H_H || op_test == LE_H_H || - op_test == NEQ || op_test == EQ || op_test == GT_H_H || - op_test == GE_H_H || op_test == CADD_H_H || op_test == CSUB_H_H || - op_test == CMUL_H_H || op_test == CDIV_H_H) { - ASSERT_NEAR(f_device_actual_lhs(op_test), f_device_expected_lhs(op_test), - static_cast(epsilon)); - ASSERT_NEAR(f_host.actual_lhs(op_test), f_host.expected_lhs(op_test), - static_cast(epsilon)); - } - } -#endif - // is_trivially_copyable is false with the addition of explicit // copy constructors that are required for supporting reductions // ASSERT_TRUE(std::is_trivially_copyable::value); diff --git a/lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp b/lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp index 3ee2ff5205..467b9ad157 100644 --- a/lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp +++ b/lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp @@ -37,7 +37,7 @@ template struct CheckAccessStoredPointerAndDereferenceOnDevice { SmartPtr m_device_ptr; using ElementType = typename SmartPtr::element_type; - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); CheckAccessStoredPointerAndDereferenceOnDevice(SmartPtr device_ptr) : m_device_ptr(device_ptr) { diff --git a/lib/kokkos/core/unit_test/TestInitializationSettings.cpp b/lib/kokkos/core/unit_test/TestInitializationSettings.cpp index f5be0e47aa..40dc3f11df 100644 --- a/lib/kokkos/core/unit_test/TestInitializationSettings.cpp +++ b/lib/kokkos/core/unit_test/TestInitializationSettings.cpp @@ -20,30 +20,6 @@ namespace { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -void take_initialization_settings(Kokkos::InitializationSettings const&) {} - -TEST(defaultdevicetype, - init_arguments_implicit_conversion_to_initialization_settings) { - Kokkos::InitArguments arguments; - take_initialization_settings(arguments); // check that conversion is implicit - arguments.device_id = 1; - arguments.tune_internals = true; - Kokkos::InitializationSettings settings{arguments}; - EXPECT_FALSE(settings.has_num_threads()); - EXPECT_TRUE(settings.has_device_id()); - EXPECT_EQ(settings.get_device_id(), 1); - EXPECT_FALSE(settings.has_num_devices()); - EXPECT_FALSE(settings.has_skip_device()); - EXPECT_FALSE(settings.has_disable_warnings()); - EXPECT_TRUE(settings.has_tune_internals()); - EXPECT_TRUE(settings.get_tune_internals()); - EXPECT_FALSE(settings.has_tools_help()); - EXPECT_FALSE(settings.has_tools_libs()); - EXPECT_FALSE(settings.has_tools_args()); -} -#endif - TEST(defaultdevicetype, initialization_settings) { auto const settings = Kokkos::InitializationSettings() .set_num_threads(255) @@ -52,8 +28,6 @@ TEST(defaultdevicetype, initialization_settings) { EXPECT_TRUE(settings.has_num_threads()); EXPECT_EQ(settings.get_num_threads(), 255); EXPECT_FALSE(settings.has_device_id()); - EXPECT_FALSE(settings.has_num_devices()); - EXPECT_FALSE(settings.has_skip_device()); EXPECT_TRUE(settings.has_disable_warnings()); EXPECT_FALSE(settings.get_disable_warnings()); EXPECT_FALSE(settings.has_tune_internals()); @@ -75,8 +49,6 @@ constexpr bool test_initialization_settings_getter() { TYPE>::value); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(num_threads, int); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(device_id, int); - CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(num_devices, int); - CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(skip_device, int); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(disable_warnings, bool); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(tune_internals, bool); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(tools_help, bool); diff --git a/lib/kokkos/core/unit_test/TestJoinBackwardCompatibility.hpp b/lib/kokkos/core/unit_test/TestJoinBackwardCompatibility.hpp index 24cf52aa70..efe4a2307a 100644 --- a/lib/kokkos/core/unit_test/TestJoinBackwardCompatibility.hpp +++ b/lib/kokkos/core/unit_test/TestJoinBackwardCompatibility.hpp @@ -36,9 +36,8 @@ KOKKOS_FUNCTION constexpr MyErrorCode operator|(MyErrorCode lhs, } static_assert((no_error | error_operator_plus_equal_volatile) == - error_operator_plus_equal_volatile, - ""); -static_assert((error_join_volatile | error_operator_plus_equal) == 0b101, ""); + error_operator_plus_equal_volatile); +static_assert((error_join_volatile | error_operator_plus_equal) == 0b101); struct MyJoinBackCompatValueType { MyErrorCode err = no_error; diff --git a/lib/kokkos/core/unit_test/TestMDRangePolicyCTAD.cpp b/lib/kokkos/core/unit_test/TestMDRangePolicyCTAD.cpp new file mode 100644 index 0000000000..b2c3d021c3 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestMDRangePolicyCTAD.cpp @@ -0,0 +1,138 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include + +namespace { + +struct TestMDRangePolicyCTAD { + template + static void maybe_unused(Ts&&...) {} + + struct SomeExecutionSpace { + using execution_space = SomeExecutionSpace; + using size_type = size_t; + }; + static_assert(Kokkos::is_execution_space_v); + + struct ImplicitlyConvertibleToDefaultExecutionSpace { + [[maybe_unused]] operator Kokkos::DefaultExecutionSpace() const { + return Kokkos::DefaultExecutionSpace(); + } + }; + static_assert(!Kokkos::is_execution_space_v< + ImplicitlyConvertibleToDefaultExecutionSpace>); + + [[maybe_unused]] static inline Kokkos::DefaultExecutionSpace des; + [[maybe_unused]] static inline ImplicitlyConvertibleToDefaultExecutionSpace + notEs; + [[maybe_unused]] static inline SomeExecutionSpace ses; + + [[maybe_unused]] static inline int t[5]; + [[maybe_unused]] static inline int64_t tt[5]; + [[maybe_unused]] static inline Kokkos::Array a; + [[maybe_unused]] static inline Kokkos::Array aa; + [[maybe_unused]] static inline int64_t i64; + + // Workaround for nvc++ (CUDA-11.7-NVHPC) ignoring [[maybe_unused]] on + // ImplicitlyConvertibleToDefaultExecutionSpace::operator + // Kokkos::DefaultExecutionSpace() const + [[maybe_unused]] static inline Kokkos::DefaultExecutionSpace notEsToDes = + notEs; + + // Workaround for HIP-ROCm-5.2 "declared but never referenced" + TestMDRangePolicyCTAD() { + maybe_unused(des, notEs, ses, t, tt, a, aa, notEsToDes, i64); + } + + // MDRangePolicy with C array parameters + + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(t, t))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(t, t, tt))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(des, t, tt))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(notEs, t, t))>); + + static_assert( + std::is_same_v< + Kokkos::MDRangePolicy>, + decltype(Kokkos::MDRangePolicy(ses, t, t))>); + + // MDRangePolicy with Kokkos::initializer_list parameters + + static_assert(std::is_same_v>, + decltype(Kokkos::MDRangePolicy( + {1, 2, 3, 4, 5, 6}, {1, 2, 3, 4, 5, 6}))>); + + static_assert(std::is_same_v>, + decltype(Kokkos::MDRangePolicy( + {1, 2, 3, 4, 5, 6}, {1, 2, 3, 4, 5, 6}, + {i64, i64, i64, i64, i64, i64}))>); + + static_assert(std::is_same_v>, + decltype(Kokkos::MDRangePolicy( + des, {1, 2, 3, 4, 5, 6}, + {i64, i64, i64, i64, i64, i64}))>); + + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(notEs, {1, 2, 3, 4, 5, 6}, + {1, 2, 3, 4, 5, 6}))>); + + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(ses, {1, 2, 3, 4, 5, 6}, + {1, 2, 3, 4, 5, 6}))>); + + // MDRangePolicy with Kokkos::Array parameters + + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(a, a))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(a, a, aa))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(des, a, a))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(notEs, a, a))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(des, a, a, aa))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(notEs, a, a, aa))>); + + static_assert( + std::is_same_v< + Kokkos::MDRangePolicy>, + decltype(Kokkos::MDRangePolicy(ses, a, a))>); + static_assert( + std::is_same_v< + Kokkos::MDRangePolicy>, + decltype(Kokkos::MDRangePolicy(ses, a, a, aa))>); +}; + +} // namespace diff --git a/lib/kokkos/core/unit_test/TestMDRangePolicyConstructors.hpp b/lib/kokkos/core/unit_test/TestMDRangePolicyConstructors.hpp index f577f415e7..6f241b45d4 100644 --- a/lib/kokkos/core/unit_test/TestMDRangePolicyConstructors.hpp +++ b/lib/kokkos/core/unit_test/TestMDRangePolicyConstructors.hpp @@ -18,6 +18,8 @@ #include +#include + namespace { template @@ -86,12 +88,56 @@ TEST(TEST_CATEGORY_DEATH, policy_bounds_unsafe_narrowing_conversions) { using Policy = Kokkos::MDRangePolicy, Kokkos::IndexType>; + std::string msg = + "Kokkos::MDRangePolicy bound type error: an unsafe implicit conversion " + "is " + "performed on a bound (-1) in dimension (0), which may not preserve its " + "original value.\n"; + std::string expected = std::regex_replace(msg, std::regex("\\(|\\)"), "\\$&"); + ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - ASSERT_DEATH( - { - (void)Policy({-1, 0}, {2, 3}); - }, - "unsafe narrowing conversion"); + ASSERT_DEATH({ (void)Policy({-1, 0}, {2, 3}); }, expected); +} + +TEST(TEST_CATEGORY_DEATH, policy_invalid_bounds) { + using Policy = Kokkos::MDRangePolicy>; + + ::testing::FLAGS_gtest_death_test_style = "threadsafe"; + + auto [dim0, dim1] = (Policy::inner_direction == Kokkos::Iterate::Right) + ? std::make_pair(1, 0) + : std::make_pair(0, 1); + std::string msg1 = + "Kokkos::MDRangePolicy bounds error: The lower bound (100) is greater " + "than its upper bound (90) in dimension " + + std::to_string(dim0) + ".\n"; + + std::string msg2 = + "Kokkos::MDRangePolicy bounds error: The lower bound (100) is greater " + "than its upper bound (90) in dimension " + + std::to_string(dim1) + ".\n"; + +#if !defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + // escape the parentheses in the regex to match the error message + msg1 = std::regex_replace(msg1, std::regex("\\(|\\)"), "\\$&"); + (void)msg2; + ASSERT_DEATH({ (void)Policy({100, 100}, {90, 90}); }, msg1); +#else + if (!Kokkos::show_warnings()) { + GTEST_SKIP() << "Kokkos warning messages are disabled"; + } + + ::testing::internal::CaptureStderr(); + (void)Policy({100, 100}, {90, 90}); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + ASSERT_EQ(::testing::internal::GetCapturedStderr(), msg1 + msg2); +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg1; + (void)msg2; +#endif + +#endif } #endif diff --git a/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp b/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp index d32ef4ca23..ad035d4e4b 100644 --- a/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp +++ b/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp @@ -30,8 +30,9 @@ #define MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS #endif -#if defined KOKKOS_COMPILER_INTEL || \ - (defined(KOKKOS_COMPILER_NVCC) && KOKKOS_COMPILER_NVCC >= 1130) +#if defined KOKKOS_COMPILER_INTEL || \ + (defined(KOKKOS_COMPILER_NVCC) && KOKKOS_COMPILER_NVCC >= 1130 && \ + !defined(KOKKOS_COMPILER_MSVC)) #define MATHEMATICAL_FUNCTIONS_TEST_UNREACHABLE __builtin_unreachable(); #else #define MATHEMATICAL_FUNCTIONS_TEST_UNREACHABLE @@ -286,21 +287,20 @@ struct FloatingPointComparison { public: template - KOKKOS_FUNCTION bool compare_near_zero(FPT const& fpv, double ulp) const { + KOKKOS_FUNCTION bool compare_near_zero(FPT const& fpv, int ulp) const { auto abs_tol = eps(fpv) * ulp; bool ar = absolute(fpv) < abs_tol; if (!ar) { Kokkos::printf("absolute value exceeds tolerance [|%e| > %e]\n", - (double)fpv, abs_tol); + (double)fpv, (double)abs_tol); } return ar; } template - KOKKOS_FUNCTION bool compare(Lhs const& lhs, Rhs const& rhs, - double ulp) const { + KOKKOS_FUNCTION bool compare(Lhs const& lhs, Rhs const& rhs, int ulp) const { if (lhs == 0) { return compare_near_zero(rhs, ulp); } else if (rhs == 0) { @@ -314,7 +314,7 @@ struct FloatingPointComparison { bool ar = abs_diff == 0 || rel_diff < rel_tol; if (!ar) { Kokkos::printf("relative difference exceeds tolerance [%e > %e]\n", - (double)rel_diff, rel_tol); + (double)rel_diff, (double)rel_tol); } return ar; @@ -347,7 +347,7 @@ struct math_function_name; } \ MATHEMATICAL_FUNCTIONS_TEST_UNREACHABLE \ } \ - static KOKKOS_FUNCTION double ulp_factor() { return ULP_FACTOR; } \ + static KOKKOS_FUNCTION int ulp_factor() { return ULP_FACTOR; } \ }; \ using kk_##FUNC = MathUnaryFunction_##FUNC; \ template <> \ @@ -372,7 +372,7 @@ struct math_function_name; math_unary_function_return_type_t>::value); \ return REF_FUNC; \ } \ - static KOKKOS_FUNCTION double ulp_factor() { return ULP_FACTOR; } \ + static KOKKOS_FUNCTION int ulp_factor() { return ULP_FACTOR; } \ }; \ using kk_##FUNC = MathUnaryFunction_##FUNC; \ template <> \ @@ -394,10 +394,12 @@ DEFINE_UNARY_FUNCTION_EVAL(log2, 2); DEFINE_UNARY_FUNCTION_EVAL(log1p, 2); #endif -#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_1 +#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_2 DEFINE_UNARY_FUNCTION_EVAL(sqrt, 2); DEFINE_UNARY_FUNCTION_EVAL(cbrt, 2); +#endif +#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_1 DEFINE_UNARY_FUNCTION_EVAL(sin, 2); DEFINE_UNARY_FUNCTION_EVAL(cos, 2); DEFINE_UNARY_FUNCTION_EVAL(tan, 2); @@ -474,7 +476,7 @@ DEFINE_UNARY_FUNCTION_EVAL(logb, 2); } \ MATHEMATICAL_FUNCTIONS_TEST_UNREACHABLE \ } \ - static KOKKOS_FUNCTION double ulp_factor() { return ULP_FACTOR; } \ + static KOKKOS_FUNCTION int ulp_factor() { return ULP_FACTOR; } \ }; \ using kk_##FUNC = MathBinaryFunction_##FUNC; \ template <> \ @@ -483,11 +485,9 @@ DEFINE_UNARY_FUNCTION_EVAL(logb, 2); }; \ constexpr char math_function_name::name[] -#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_1 +#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_2 DEFINE_BINARY_FUNCTION_EVAL(pow, 2); DEFINE_BINARY_FUNCTION_EVAL(hypot, 2); -#endif -#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_2 DEFINE_BINARY_FUNCTION_EVAL(nextafter, 1); DEFINE_BINARY_FUNCTION_EVAL(copysign, 1); #endif @@ -510,7 +510,7 @@ DEFINE_BINARY_FUNCTION_EVAL(copysign, 1); math_ternary_function_return_type_t>::value); \ return std::FUNC(x, y, z); \ } \ - static KOKKOS_FUNCTION double ulp_factor() { return ULP_FACTOR; } \ + static KOKKOS_FUNCTION int ulp_factor() { return ULP_FACTOR; } \ }; \ using kk3_##FUNC = MathTernaryFunction_##FUNC; \ template <> \ @@ -519,7 +519,7 @@ DEFINE_BINARY_FUNCTION_EVAL(copysign, 1); }; \ constexpr char math_function_name::name[] -#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_1 +#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_2 DEFINE_TERNARY_FUNCTION_EVAL(hypot, 2); DEFINE_TERNARY_FUNCTION_EVAL(fma, 2); #endif @@ -787,7 +787,9 @@ TEST(TEST_CATEGORY, mathematical_functions_trigonometric_functions) { // TODO atan2 } +#endif +#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_2 TEST(TEST_CATEGORY, mathematical_functions_power_functions) { TEST_MATH_FUNCTION(sqrt)({0, 1, 2, 3, 5, 7, 11}); TEST_MATH_FUNCTION(sqrt)({0l, 1l, 2l, 3l, 5l, 7l, 11l}); @@ -1304,12 +1306,12 @@ struct TestAbsoluteValueFunction { if (abs(static_cast(4.f)) != static_cast(4.f) || abs(static_cast(-4.f)) != static_cast(4.f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed abs(KE::half_t)\n"); + Kokkos::printf("failed abs(KE::half_t)\n"); } if (abs(static_cast(4.f)) != static_cast(4.f) || abs(static_cast(-4.f)) != static_cast(4.f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed abs(KE::bhalf_t)\n"); + Kokkos::printf("failed abs(KE::bhalf_t)\n"); } if (abs(5.) != 5. || abs(-5.) != 5.) { ++e; @@ -1329,19 +1331,17 @@ struct TestAbsoluteValueFunction { Kokkos::printf("failed abs(floating_point) special values\n"); } - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); static_assert(std::is_same(4.f))), - KE::half_t>::value, - ""); + KE::half_t>::value); static_assert(std::is_same(4.f))), - KE::bhalf_t>::value, - ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); + KE::bhalf_t>::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); #endif } }; @@ -1362,26 +1362,26 @@ struct TestFloatingPointAbsoluteValueFunction { using Kokkos::fabs; if (fabs(4.f) != 4.f || fabs(-4.f) != 4.f) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(float)\n"); + Kokkos::printf("failed fabs(float)\n"); } if (fabs(static_cast(4.f)) != static_cast(4.f) || fabs(static_cast(-4.f)) != static_cast(4.f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(KE::half_t)\n"); + Kokkos::printf("failed fabs(KE::half_t)\n"); } if (fabs(static_cast(4.f)) != static_cast(4.f) || fabs(static_cast(-4.f)) != static_cast(4.f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(KE::bhalf_t)\n"); + Kokkos::printf("failed fabs(KE::bhalf_t)\n"); } if (fabs(5.) != 5. || fabs(-5.) != 5.) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(double)\n"); + Kokkos::printf("failed fabs(double)\n"); } #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS if (fabs(6.l) != 6.l || fabs(-6.l) != 6.l) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(long double)\n"); + Kokkos::printf("failed fabs(long double)\n"); } #endif // special values @@ -1389,8 +1389,7 @@ struct TestFloatingPointAbsoluteValueFunction { using Kokkos::isnan; if (fabs(-0.) != 0. || !isinf(fabs(-INFINITY)) || !isnan(fabs(-NAN))) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF( - "failed fabs(floating_point) special values\n"); + Kokkos::printf("failed fabs(floating_point) special values\n"); } static_assert(std::is_same(4.f))), @@ -1422,7 +1421,7 @@ struct TestFloatingPointRemainderFunction : FloatingPointComparison { if (!compare(fmod(6.2f, 4.f), 2.2f, 1) && !compare(fmod(-6.2f, 4.f), -2.2f, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(float)\n"); + Kokkos::printf("failed fmod(float)\n"); } if (!compare( fmod(static_cast(6.2f), static_cast(4.f)), @@ -1431,7 +1430,7 @@ struct TestFloatingPointRemainderFunction : FloatingPointComparison { fmod(static_cast(-6.2f), static_cast(4.f)), -static_cast(2.2f), 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(KE::half_t)\n"); + Kokkos::printf("failed fmod(KE::half_t)\n"); } if (!compare( fmod(static_cast(6.2f), static_cast(4.f)), @@ -1440,17 +1439,17 @@ struct TestFloatingPointRemainderFunction : FloatingPointComparison { static_cast(4.f)), -static_cast(2.2f), 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(KE::bhalf_t)\n"); + Kokkos::printf("failed fmod(KE::bhalf_t)\n"); } if (!compare(fmod(6.2, 4.), 2.2, 1) && !compare(fmod(-6.2, 4.), -2.2, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(double)\n"); + Kokkos::printf("failed fmod(double)\n"); } #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS if (!compare(fmod(6.2l, 4.l), 2.2l, 1) && !compare(fmod(-6.2l, 4.l), -2.2l, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(long double)\n"); + Kokkos::printf("failed fmod(long double)\n"); } #endif // special values @@ -1459,23 +1458,19 @@ struct TestFloatingPointRemainderFunction : FloatingPointComparison { if (!isinf(fmod(-KE::infinity::value, 1.f)) && !isnan(fmod(-KE::quiet_NaN::value, 1.f))) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF( - "failed fmod(floating_point) special values\n"); + Kokkos::printf("failed fmod(floating_point) special values\n"); } static_assert(std::is_same(4.f), static_cast(4.f))), - KE::half_t>::value, - ""); + KE::half_t>::value); static_assert(std::is_same(4.f), static_cast(4.f))), - KE::bhalf_t>::value, - ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); + KE::bhalf_t>::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS - static_assert(std::is_same::value, - ""); + static_assert(std::is_same::value); #endif } }; @@ -1499,7 +1494,7 @@ struct TestIEEEFloatingPointRemainderFunction : FloatingPointComparison { if (!compare(remainder(6.2f, 4.f), 2.2f, 2) && !compare(remainder(-6.2f, 4.f), 2.2f, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(float)\n"); + Kokkos::printf("failed remainder(float)\n"); } if (!compare(remainder(static_cast(6.2f), static_cast(4.f)), @@ -1508,7 +1503,7 @@ struct TestIEEEFloatingPointRemainderFunction : FloatingPointComparison { static_cast(4.f)), -static_cast(2.2f), 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(KE::half_t)\n"); + Kokkos::printf("failed remainder(KE::half_t)\n"); } if (!compare(remainder(static_cast(6.2f), static_cast(4.f)), @@ -1517,18 +1512,18 @@ struct TestIEEEFloatingPointRemainderFunction : FloatingPointComparison { static_cast(4.f)), -static_cast(2.2f), 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(KE::bhalf_t)\n"); + Kokkos::printf("failed remainder(KE::bhalf_t)\n"); } if (!compare(remainder(6.2, 4.), 2.2, 2) && !compare(remainder(-6.2, 4.), 2.2, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(double)\n"); + Kokkos::printf("failed remainder(double)\n"); } #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS if (!compare(remainder(6.2l, 4.l), 2.2l, 1) && !compare(remainder(-6.2l, 4.l), -2.2l, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(long double)\n"); + Kokkos::printf("failed remainder(long double)\n"); } #endif // special values @@ -1537,26 +1532,23 @@ struct TestIEEEFloatingPointRemainderFunction : FloatingPointComparison { if (!isinf(remainder(-KE::infinity::value, 1.f)) && !isnan(remainder(-KE::quiet_NaN::value, 1.f))) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF( + Kokkos::printf( "failed remainder(floating_point) special values\n"); } static_assert( std::is_same(4.f), static_cast(4.f))), - KE::half_t>::value, - ""); + KE::half_t>::value); static_assert( std::is_same(4.f), static_cast(4.f))), - KE::bhalf_t>::value, - ""); - static_assert(std::is_same::value, - ""); - static_assert(std::is_same::value, ""); + KE::bhalf_t>::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS static_assert( - std::is_same::value, ""); + std::is_same::value); #endif } }; @@ -1568,6 +1560,7 @@ TEST(TEST_CATEGORY, mathematical_functions_ieee_remainder_function) { // TODO: TestFpClassify, see https://github.com/kokkos/kokkos/issues/6279 +#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_2 template struct TestIsFinite { TestIsFinite() { run(); } @@ -1591,6 +1584,7 @@ struct TestIsFinite { ++e; Kokkos::printf("failed isfinite(float)\n"); } +#if !(defined(KOKKOS_ENABLE_CUDA) && defined(KOKKOS_COMPILER_MSVC)) if (!isfinite(static_cast(2.f)) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 || isfinite(quiet_NaN::value) || @@ -1611,6 +1605,7 @@ struct TestIsFinite { ++e; Kokkos::printf("failed isfinite(KE::bhalf_t)\n"); } +#endif if (!isfinite(3.) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 || isfinite(quiet_NaN::value) || @@ -1670,6 +1665,7 @@ struct TestIsInf { ++e; Kokkos::printf("failed isinf(float)\n"); } +#if !(defined(KOKKOS_ENABLE_CUDA) && defined(KOKKOS_COMPILER_MSVC)) if (isinf(static_cast(2.f)) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 || isinf(quiet_NaN::value) || @@ -1690,6 +1686,7 @@ struct TestIsInf { ++e; Kokkos::printf("failed isinf(KE::bhalf_t)\n"); } +#endif if (isinf(3.) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 || isinf(quiet_NaN::value) || @@ -1748,6 +1745,7 @@ struct TestIsNaN { ++e; Kokkos::printf("failed isnan(float)\n"); } +#if !(defined(KOKKOS_ENABLE_CUDA) && defined(KOKKOS_COMPILER_MSVC)) if (isnan(static_cast(2.f)) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 || !isnan(quiet_NaN::value) || @@ -1756,7 +1754,7 @@ struct TestIsNaN { #endif ) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed isnan(KE::half_t)\n"); + Kokkos::printf("failed isnan(KE::half_t)\n"); } if (isnan(static_cast(2.f)) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 @@ -1766,7 +1764,7 @@ struct TestIsNaN { #endif ) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed isnan(KE::bhalf_t)\n"); + Kokkos::printf("failed isnan(KE::bhalf_t)\n"); } if (isnan(3.) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 @@ -1777,6 +1775,7 @@ struct TestIsNaN { ++e; Kokkos::printf("failed isnan(double)\n"); } +#endif #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS if (isnan(4.l) || !isnan(quiet_NaN::value) || !isnan(signaling_NaN::value) || @@ -1791,11 +1790,11 @@ struct TestIsNaN { Kokkos::printf("failed isnan(floating_point) special values\n"); } - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); #endif } }; @@ -1803,6 +1802,7 @@ struct TestIsNaN { TEST(TEST_CATEGORY, mathematical_functions_isnan) { TestIsNaN(); } +#endif // TODO: TestSignBit, see https://github.com/kokkos/kokkos/issues/6279 #endif diff --git a/lib/kokkos/core/unit_test/TestMathematicalSpecialFunctions.hpp b/lib/kokkos/core/unit_test/TestMathematicalSpecialFunctions.hpp index 06c84c7513..7969dc8686 100644 --- a/lib/kokkos/core/unit_test/TestMathematicalSpecialFunctions.hpp +++ b/lib/kokkos/core/unit_test/TestMathematicalSpecialFunctions.hpp @@ -1213,13 +1213,13 @@ struct TestComplexBesselI0K0Function { } EXPECT_EQ(h_ref_cbk0(0), h_cbk0(0)); - int upper_limit = N; + int upper_limit_0 = N; // FIXME_SYCL Failing for Intel GPUs, 19 is the first failing test case #if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) if (std::is_same_v) - upper_limit = 19; + upper_limit_0 = 19; #endif - for (int i = 1; i < upper_limit; i++) { + for (int i = 1; i < upper_limit_0; i++) { EXPECT_LE(Kokkos::abs(h_cbk0(i) - h_ref_cbk0(i)), Kokkos::abs(h_ref_cbk0(i)) * 1e-13) << "at index " << i; @@ -1462,13 +1462,13 @@ struct TestComplexBesselI1K1Function { } EXPECT_EQ(h_ref_cbk1(0), h_cbk1(0)); - int upper_limit = N; + int upper_limit_1 = N; // FIXME_SYCL Failing for Intel GPUs, 8 is the first failing test case #if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) if (std::is_same_v) - upper_limit = 8; + upper_limit_1 = 8; #endif - for (int i = 1; i < upper_limit; i++) { + for (int i = 1; i < upper_limit_1; i++) { EXPECT_LE(Kokkos::abs(h_cbk1(i) - h_ref_cbk1(i)), Kokkos::abs(h_ref_cbk1(i)) * 1e-13) << "at index " << i; @@ -1718,20 +1718,26 @@ struct TestComplexBesselH1Function { ((HIP_VERSION_MAJOR == 5) && \ !((HIP_VERSION_MINOR == 5) || (HIP_VERSION_MINOR == 6))) EXPECT_EQ(h_ref_ch10(0), h_ch10(0)); - for (int i = 1; i < N; i++) { + int upper_limit_10 = N; +// FIXME_SYCL Failing for Intel GPUs, 17 is the first failing test case +#if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + upper_limit_10 = 17; +#endif + for (int i = 1; i < upper_limit_10; i++) { EXPECT_LE(Kokkos::abs(h_ch10(i) - h_ref_ch10(i)), Kokkos::abs(h_ref_ch10(i)) * 1e-13) << "at index " << i; } EXPECT_EQ(h_ref_ch11(0), h_ch11(0)); - int upper_limit = N; - // FIXME_SYCL Failing for Intel GPUs, 16 is the first failing test case + int upper_limit_11 = N; + // FIXME_SYCL Failing for Intel GPUs, 2 is the first failing test case #if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) if (std::is_same_v) - upper_limit = 16; + upper_limit_11 = 2; #endif - for (int i = 1; i < upper_limit; i++) { + for (int i = 1; i < upper_limit_11; i++) { EXPECT_LE(Kokkos::abs(h_ch11(i) - h_ref_ch11(i)), Kokkos::abs(h_ref_ch11(i)) * 1e-13) << "at index " << i; @@ -1912,19 +1918,26 @@ struct TestComplexBesselH2Function { ((HIP_VERSION_MAJOR == 5) && \ !((HIP_VERSION_MINOR == 5) || (HIP_VERSION_MINOR == 6))) EXPECT_EQ(h_ref_ch20(0), h_ch20(0)); - for (int i = 1; i < N; i++) { + int upper_limit_20 = N; +// FIXME_SYCL Failing for Intel GPUs, 16 is the first failing test case +#if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + upper_limit_20 = 16; +#endif + for (int i = 1; i < upper_limit_20; i++) { EXPECT_LE(Kokkos::abs(h_ch20(i) - h_ref_ch20(i)), - Kokkos::abs(h_ref_ch20(i)) * 1e-13); + Kokkos::abs(h_ref_ch20(i)) * 1e-13) + << "at index " << i; } EXPECT_EQ(h_ref_ch21(0), h_ch21(0)); - int upper_limit = N; - // FIXME_SYCL Failing for Intel GPUs, 17 is the first failing test case + int upper_limit_21 = N; + // FIXME_SYCL Failing for Intel GPUs, 1 is the first failing test case #if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) if (std::is_same_v) - upper_limit = 17; + upper_limit_21 = 1; #endif - for (int i = 1; i < upper_limit; i++) { + for (int i = 1; i < upper_limit_21; i++) { EXPECT_LE(Kokkos::abs(h_ch21(i) - h_ref_ch21(i)), Kokkos::abs(h_ref_ch21(i)) * 1e-13) << "at index " << i; @@ -1954,31 +1967,61 @@ TEST(TEST_CATEGORY, mathspecialfunc_errorfunc) { #endif TEST(TEST_CATEGORY, mathspecialfunc_cbesselj0y0) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselJ0Y0Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesselj1y1) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselJ1Y1Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesseli0k0) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselI0K0Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesseli1k1) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselI1K1Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesselh1stkind) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselH1Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesselh2ndkind) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselH2Function test; test.testit(); } diff --git a/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp b/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp index eaf7a4125c..116ac58c39 100644 --- a/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp +++ b/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp @@ -214,7 +214,7 @@ struct point_t { uint8_t x, y, z; KOKKOS_FUNCTION - point_t() : x(1), y(1), z(1){}; + point_t() : x(0), y(0), z(0){}; KOKKOS_FUNCTION point_t(const point_t &val) : x(val.x), y(val.y), z(val.z){}; diff --git a/lib/kokkos/core/unit_test/TestNumericTraits.hpp b/lib/kokkos/core/unit_test/TestNumericTraits.hpp index 2b5531f29a..81a9d0a5e0 100644 --- a/lib/kokkos/core/unit_test/TestNumericTraits.hpp +++ b/lib/kokkos/core/unit_test/TestNumericTraits.hpp @@ -110,8 +110,8 @@ struct TestNumericTraits { KOKKOS_FUNCTION void operator()(Epsilon, int, int& e) const { using Kokkos::Experimental::epsilon; - auto const eps = epsilon::value; - auto const one = T(1); + T const eps = epsilon::value; + T const one = 1; // Avoid higher precision intermediate representation compare() = one + eps; e += (int)!(compare() != one); @@ -210,9 +210,10 @@ TEST(TEST_CATEGORY, numeric_traits_infinity) { #endif TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -224,9 +225,9 @@ TEST(TEST_CATEGORY, numeric_traits_epsilon) { #endif TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -239,9 +240,9 @@ TEST(TEST_CATEGORY, numeric_traits_round_error) { #endif TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -253,9 +254,9 @@ TEST(TEST_CATEGORY, numeric_traits_norm_min) { #endif TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -263,9 +264,9 @@ TEST(TEST_CATEGORY, numeric_traits_norm_min) { TEST(TEST_CATEGORY, numeric_traits_denorm_min) { TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -302,8 +303,10 @@ TEST(TEST_CATEGORY, numeric_traits_finite_min_max) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); TestNumericTraits(); #endif @@ -326,8 +329,10 @@ TEST(TEST_CATEGORY, numeric_traits_digits) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -349,8 +354,10 @@ TEST(TEST_CATEGORY, numeric_traits_digits10) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -358,8 +365,10 @@ TEST(TEST_CATEGORY, numeric_traits_digits10) { TEST(TEST_CATEGORY, numeric_traits_max_digits10) { TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -380,8 +389,10 @@ TEST(TEST_CATEGORY, numeric_traits_radix) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -395,8 +406,10 @@ TEST(TEST_CATEGORY, numeric_traits_min_max_exponent) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); TestNumericTraits(); #endif @@ -407,8 +420,10 @@ TEST(TEST_CATEGORY, numeric_traits_min_max_exponent10) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); TestNumericTraits(); #endif @@ -426,8 +441,10 @@ TEST(TEST_CATEGORY, numeric_traits_quiet_and_signaling_nan) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); TestNumericTraits(); #endif @@ -442,7 +459,7 @@ struct HasNoSpecialization {}; using TRAIT##_value_t = decltype(Kokkos::Experimental::TRAIT::value); \ template \ using has_##TRAIT = Kokkos::is_detected; \ - static_assert(!has_##TRAIT::value, ""); + static_assert(!has_##TRAIT::value); CHECK_TRAIT_IS_SFINAE_FRIENDLY(infinity) CHECK_TRAIT_IS_SFINAE_FRIENDLY(finite_min) @@ -524,39 +541,39 @@ CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION(long double, denorm_min); #endif // clang-format off -static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits< float>::min(), ""); -static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits< double>::min(), ""); -static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits::min(), ""); +static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits< float>::min()); +static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits< double>::min()); +static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits::min()); // integer types -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< char>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< signed char>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned char>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< short>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned short>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< long int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned long int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< long long int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits::min(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< char>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< signed char>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned char>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< short>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned short>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< long int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned long int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< long long int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits::max(), ""); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< char>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< signed char>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned char>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< short>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned short>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< long int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned long int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< long long int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits::min()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< char>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< signed char>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned char>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< short>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned short>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< long int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned long int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< long long int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits::max()); // floating point types -static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits< float>::max(), ""); -static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits< double>::max(), ""); -static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< float>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< double>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits::max(), ""); +static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits< float>::max()); +static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits< double>::max()); +static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< float>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< double>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits::max()); // clang-format on CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_CONSTANT(bool, digits); @@ -623,15 +640,13 @@ CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_CONSTANT(long double, max_exponent10); #undef CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION #undef CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_CONSTANT -#define CHECK_NAN_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION(T, TRAIT) \ - static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ - static_assert( \ - std::numeric_limits::TRAIT() != std::numeric_limits::TRAIT(), ""); \ - static_assert(Kokkos::Experimental::TRAIT::value != \ - std::numeric_limits::TRAIT(), \ - "") +#define CHECK_NAN_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION(T, TRAIT) \ + static_assert(Kokkos::Experimental::TRAIT::value != \ + Kokkos::Experimental::TRAIT::value); \ + static_assert(std::numeric_limits::TRAIT() != \ + std::numeric_limits::TRAIT()); \ + static_assert(Kokkos::Experimental::TRAIT::value != \ + std::numeric_limits::TRAIT()) // Workaround compiler issue error: expression must have a constant value // See kokkos/kokkos#4574 @@ -651,14 +666,11 @@ CHECK_NAN_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION(long double, signaling_NaN); #define CHECK_INSTANTIATED_ON_CV_QUALIFIED_TYPES(T, TRAIT) \ static_assert(Kokkos::Experimental::TRAIT::value == \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value == \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value == \ - Kokkos::Experimental::TRAIT::value, \ - "") + Kokkos::Experimental::TRAIT::value) #define CHECK_INSTANTIATED_ON_CV_QUALIFIED_TYPES_FLOATING_POINT(TRAIT) \ CHECK_INSTANTIATED_ON_CV_QUALIFIED_TYPES(float, TRAIT); \ @@ -706,17 +718,13 @@ CHECK_INSTANTIATED_ON_CV_QUALIFIED_TYPES_FLOATING_POINT(max_exponent10); #define CHECK_NAN_INSTANTIATED_ON_CV_QUALIFIED_TYPES(T, TRAIT) \ static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - "") + Kokkos::Experimental::TRAIT::value) #define CHECK_NAN_INSTANTIATED_ON_CV_QUALIFIED_TYPES_FLOATING_POINT(TRAIT) \ CHECK_NAN_INSTANTIATED_ON_CV_QUALIFIED_TYPES(float, TRAIT); \ diff --git a/lib/kokkos/core/unit_test/TestOccupancyControlTrait.hpp b/lib/kokkos/core/unit_test/TestOccupancyControlTrait.hpp new file mode 100644 index 0000000000..345a906d66 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestOccupancyControlTrait.hpp @@ -0,0 +1,80 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include + +namespace { + +template +void test_policy_execution(const Kokkos::RangePolicy& policy) { + Kokkos::parallel_for(policy, KOKKOS_LAMBDA(int){}); +} +template +void test_policy_execution(const Kokkos::TeamPolicy& policy) { + Kokkos::parallel_for( + policy, + KOKKOS_LAMBDA( + const typename Kokkos::TeamPolicy::member_type&){}); +} +template +void test_policy_execution(const Kokkos::MDRangePolicy& policy) { + Kokkos::parallel_for(policy, KOKKOS_LAMBDA(int, int){}); +} + +template +void test_prefer_desired_occupancy(Policy policy) { + using Kokkos::Experimental::DesiredOccupancy; + using Kokkos::Experimental::MaximizeOccupancy; + using Kokkos::Experimental::prefer; + using Kokkos::Experimental::WorkItemProperty; + + // MaximizeOccupancy -> MaximizeOccupancy + auto const policy_still_no_occ = prefer(policy, MaximizeOccupancy{}); + test_policy_execution(policy_still_no_occ); + + // MaximizeOccupancy -> DesiredOccupancy + auto const policy_with_occ = + prefer(policy_still_no_occ, DesiredOccupancy{33}); + test_policy_execution(policy_with_occ); + + // DesiredOccupancy -> DesiredOccupancy + auto const policy_change_occ = prefer(policy_with_occ, DesiredOccupancy{24}); + test_policy_execution(policy_change_occ); + + // DesiredOccupancy -> DesiredOccupancy w/ hint + auto policy_with_occ_and_hint = Kokkos::Experimental::require( + policy_change_occ, + Kokkos::Experimental::WorkItemProperty::HintLightWeight); + test_policy_execution(policy_with_occ_and_hint); + + // DesiredOccupancy -> MaximizeOccupancy + auto const policy_drop_occ = + prefer(policy_with_occ_and_hint, MaximizeOccupancy{}); + test_policy_execution(policy_drop_occ); +} + +// FIXME_MSVC_WITH_CUDA +// This test doesn't compile with CUDA on Windows +#if !(defined(_WIN32) && defined(KOKKOS_ENABLE_CUDA)) +TEST(TEST_CATEGORY, occupancy_control) { + test_prefer_desired_occupancy(Kokkos::RangePolicy(0, 1)); + test_prefer_desired_occupancy( + Kokkos::TeamPolicy{1, Kokkos::AUTO}); + test_prefer_desired_occupancy( + Kokkos::MDRangePolicy>{{0, 0}, {1, 1}}); +} +#endif +} // namespace diff --git a/lib/kokkos/core/unit_test/TestParseCmdLineArgsAndEnvVars.cpp b/lib/kokkos/core/unit_test/TestParseCmdLineArgsAndEnvVars.cpp index 176ce9b5fe..a56dfd9efc 100644 --- a/lib/kokkos/core/unit_test/TestParseCmdLineArgsAndEnvVars.cpp +++ b/lib/kokkos/core/unit_test/TestParseCmdLineArgsAndEnvVars.cpp @@ -166,22 +166,6 @@ TEST(defaultdevicetype, cmd_line_args_device_id) { EXPECT_REMAINING_COMMAND_LINE_ARGUMENTS(cla, {"--dummy"}); } -TEST(defaultdevicetype, cmd_line_args_num_devices) { - CmdLineArgsHelper cla = {{ - "--kokkos-num-devices=5,6", - "--kokkos-num-devices=7", - "-v", - }}; - Kokkos::InitializationSettings settings; - Kokkos::Impl::parse_command_line_arguments(cla.argc(), cla.argv(), settings); - EXPECT_TRUE(settings.has_num_devices()); - EXPECT_EQ(settings.get_num_devices(), 7); - // this is the current behavior, not suggesting this cannot be revisited - EXPECT_TRUE(settings.has_skip_device()) << "behavior changed see comment"; - EXPECT_EQ(settings.get_skip_device(), 6) << "behavior changed see comment"; - EXPECT_REMAINING_COMMAND_LINE_ARGUMENTS(cla, {"-v"}); -} - TEST(defaultdevicetype, cmd_line_args_disable_warning) { CmdLineArgsHelper cla = {{ "--kokkos-disable-warnings=1", @@ -351,20 +335,6 @@ TEST(defaultdevicetype, env_vars_device_id) { EXPECT_EQ(settings.get_device_id(), 33); } -TEST(defaultdevicetype, env_vars_num_devices) { - EnvVarsHelper ev = {{ - {"KOKKOS_NUM_DEVICES", "4"}, - {"KOKKOS_SKIP_DEVICE", "1"}, - }}; - SKIP_IF_ENVIRONMENT_VARIABLE_ALREADY_SET(ev); - Kokkos::InitializationSettings settings; - Kokkos::Impl::parse_environment_variables(settings); - EXPECT_TRUE(settings.has_num_devices()); - EXPECT_EQ(settings.get_num_devices(), 4); - EXPECT_TRUE(settings.has_skip_device()); - EXPECT_EQ(settings.get_skip_device(), 1); -} - TEST(defaultdevicetype, env_vars_disable_warnings) { for (auto const& value_true : {"1", "true", "TRUE", "yEs"}) { EnvVarsHelper ev = {{ @@ -420,22 +390,20 @@ TEST(defaultdevicetype, env_vars_tune_internals) { } TEST(defaultdevicetype, visible_devices) { -#define KOKKOS_TEST_VISIBLE_DEVICES(ENV, CNT, DEV) \ - do { \ - EnvVarsHelper ev{ENV}; \ - SKIP_IF_ENVIRONMENT_VARIABLE_ALREADY_SET(ev); \ - Kokkos::InitializationSettings settings; \ - Kokkos::Impl::parse_environment_variables(settings); \ - auto computed = Kokkos::Impl::get_visible_devices(settings, CNT); \ - std::vector expected = DEV; \ - EXPECT_EQ(expected.size(), computed.size()) \ - << ev << "device count: " << CNT; \ - auto n = std::min(expected.size(), computed.size()); \ - for (int i = 0; i < n; ++i) { \ - EXPECT_EQ(expected[i], computed[i]) \ - << "devices differ at index " << i << '\n' \ - << ev << "device count: " << CNT; \ - } \ +#define KOKKOS_TEST_VISIBLE_DEVICES(ENV, CNT, DEV) \ + do { \ + EnvVarsHelper ev{ENV}; \ + SKIP_IF_ENVIRONMENT_VARIABLE_ALREADY_SET(ev); \ + auto computed = Kokkos::Impl::get_visible_devices(CNT); \ + std::vector expected = DEV; \ + EXPECT_EQ(expected.size(), computed.size()) \ + << ev << "device count: " << CNT; \ + auto n = std::min(expected.size(), computed.size()); \ + for (int i = 0; i < n; ++i) { \ + EXPECT_EQ(expected[i], computed[i]) \ + << "devices differ at index " << i << '\n' \ + << ev << "device count: " << CNT; \ + } \ } while (false) #define DEV(...) \ @@ -444,6 +412,8 @@ TEST(defaultdevicetype, visible_devices) { // first test with all environment variables that are involved in determining // the visible devices so user set var do not mess up the logic below. + // KOKKOS_NUM_DEVICES and KOKKOS_SKIP_DEVICE are deprecated since 3.7 and are + // not taken into account anymore. KOKKOS_TEST_VISIBLE_DEVICES( ENV({"KOKKOS_VISIBLE_DEVICES", "2,1"}, {"KOKKOS_NUM_DEVICES", "8"}, {"KOKKOS_SKIP_DEVICE", "1"}), @@ -452,10 +422,10 @@ TEST(defaultdevicetype, visible_devices) { ENV({"KOKKOS_VISIBLE_DEVICES", "2,1"}, {"KOKKOS_NUM_DEVICES", "8"}, ), 6, DEV(2, 1)); KOKKOS_TEST_VISIBLE_DEVICES(ENV({"KOKKOS_NUM_DEVICES", "3"}), 6, - DEV(0, 1, 2)); + DEV(0, 1, 2, 3, 4, 5)); KOKKOS_TEST_VISIBLE_DEVICES( ENV({"KOKKOS_NUM_DEVICES", "4"}, {"KOKKOS_SKIP_DEVICE", "1"}, ), 6, - DEV(0, 2, 3)); + DEV(0, 1, 2, 3, 4, 5)); KOKKOS_TEST_VISIBLE_DEVICES(ENV({"KOKKOS_VISIBLE_DEVICES", "1,3,4"}), 6, DEV(1, 3, 4)); KOKKOS_TEST_VISIBLE_DEVICES( diff --git a/lib/kokkos/core/unit_test/TestRangePolicyCTAD.cpp b/lib/kokkos/core/unit_test/TestRangePolicyCTAD.cpp new file mode 100644 index 0000000000..20288e2b40 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestRangePolicyCTAD.cpp @@ -0,0 +1,150 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include +#include "Kokkos_Core_fwd.hpp" + +namespace { + +struct TestRangePolicyCTAD { + struct SomeExecutionSpace { + using execution_space = SomeExecutionSpace; + using size_type = size_t; + + [[maybe_unused]] static int concurrency() { return 0; } + }; + static_assert(Kokkos::is_execution_space_v); + + struct ImplicitlyConvertibleToDefaultExecutionSpace { + [[maybe_unused]] operator Kokkos::DefaultExecutionSpace() const { + return Kokkos::DefaultExecutionSpace(); + } + }; + static_assert(!Kokkos::is_execution_space_v< + ImplicitlyConvertibleToDefaultExecutionSpace>); + + [[maybe_unused]] static inline auto i64 = int64_t(); + [[maybe_unused]] static inline auto i32 = int32_t(); + [[maybe_unused]] static inline auto cs = Kokkos::ChunkSize(0); + [[maybe_unused]] static inline auto des = Kokkos::DefaultExecutionSpace(); + [[maybe_unused]] static inline auto nes = + ImplicitlyConvertibleToDefaultExecutionSpace(); + [[maybe_unused]] static inline auto ses = SomeExecutionSpace(); + + // RangePolicy() + + [[maybe_unused]] static inline auto rp = Kokkos::RangePolicy{}; + static_assert(std::is_same_v, decltype(rp)>); + + // RangePolicy(index_type, index_type) + + [[maybe_unused]] static inline auto rpi64i64 = Kokkos::RangePolicy(i64, i64); + static_assert(std::is_same_v, decltype(rpi64i64)>); + + [[maybe_unused]] static inline auto rpi64i32 = Kokkos::RangePolicy(i64, i32); + static_assert(std::is_same_v, decltype(rpi64i32)>); + + [[maybe_unused]] static inline auto rpi32i64 = Kokkos::RangePolicy(i32, i64); + static_assert(std::is_same_v, decltype(rpi32i64)>); + + [[maybe_unused]] static inline auto rpi32i32 = Kokkos::RangePolicy(i32, i32); + static_assert(std::is_same_v, decltype(rpi32i32)>); + + // RangePolicy(index_type, index_type, ChunkSize) + + [[maybe_unused]] static inline auto rpi64i64cs = + Kokkos::RangePolicy(i64, i64, cs); + static_assert(std::is_same_v, decltype(rpi64i64cs)>); + + [[maybe_unused]] static inline auto rpi64i32cs = + Kokkos::RangePolicy(i64, i32, cs); + static_assert(std::is_same_v, decltype(rpi64i32cs)>); + + [[maybe_unused]] static inline auto rpi32i64cs = + Kokkos::RangePolicy(i32, i64, cs); + static_assert(std::is_same_v, decltype(rpi32i64cs)>); + + [[maybe_unused]] static inline auto rpi32i32cs = + Kokkos::RangePolicy(i32, i32, cs); + static_assert(std::is_same_v, decltype(rpi32i32cs)>); + + // RangePolicy(execution_space, index_type, index_type) + + [[maybe_unused]] static inline auto rpdesi64i64 = + Kokkos::RangePolicy(des, i64, i64); + static_assert(std::is_same_v, decltype(rpdesi64i64)>); + + [[maybe_unused]] static inline auto rpdesi32i32 = + Kokkos::RangePolicy(des, i32, i32); + static_assert(std::is_same_v, decltype(rpdesi32i32)>); + + [[maybe_unused]] static inline auto rpnesi64i64 = + Kokkos::RangePolicy(nes, i64, i64); + static_assert(std::is_same_v, decltype(rpnesi64i64)>); + + [[maybe_unused]] static inline auto rpnesi32i32 = + Kokkos::RangePolicy(nes, i32, i32); + static_assert(std::is_same_v, decltype(rpnesi32i32)>); + + [[maybe_unused]] static inline auto rpsesi64i64 = + Kokkos::RangePolicy(ses, i64, i64); + static_assert(std::is_same_v, + decltype(rpsesi64i64)>); + + [[maybe_unused]] static inline auto rpsesi32i32 = + Kokkos::RangePolicy(ses, i32, i32); + static_assert(std::is_same_v, + decltype(rpsesi32i32)>); + + // RangePolicy(execution_space, index_type, index_type, ChunkSize) + + [[maybe_unused]] static inline auto rpdesi64i64cs = + Kokkos::RangePolicy(des, i64, i64, cs); + static_assert(std::is_same_v, decltype(rpdesi64i64cs)>); + + [[maybe_unused]] static inline auto rpdesi32i32cs = + Kokkos::RangePolicy(des, i32, i32, cs); + static_assert(std::is_same_v, decltype(rpdesi32i32cs)>); + + [[maybe_unused]] static inline auto rpnesi64i64cs = + Kokkos::RangePolicy(nes, i64, i64, cs); + static_assert(std::is_same_v, decltype(rpnesi64i64cs)>); + + [[maybe_unused]] static inline auto rpnesi32i32cs = + Kokkos::RangePolicy(nes, i32, i32, cs); + static_assert(std::is_same_v, decltype(rpnesi32i32cs)>); + + [[maybe_unused]] static inline auto rpsesi64i64cs = + Kokkos::RangePolicy(ses, i64, i64, cs); + static_assert(std::is_same_v, + decltype(rpsesi64i64cs)>); + + [[maybe_unused]] static inline auto rpsesi32i32cs = + Kokkos::RangePolicy(ses, i32, i32, cs); + static_assert(std::is_same_v, + decltype(rpsesi32i32cs)>); + +}; // TestRangePolicyCTAD struct + +// To eliminate maybe_unused warning on some compilers + +[[maybe_unused]] const Kokkos::DefaultExecutionSpace nestodes = + TestRangePolicyCTAD::ImplicitlyConvertibleToDefaultExecutionSpace(); + +[[maybe_unused]] const auto sesconcurrency = + TestRangePolicyCTAD::ses.concurrency(); + +} // namespace diff --git a/lib/kokkos/core/unit_test/TestRangePolicyConstructors.hpp b/lib/kokkos/core/unit_test/TestRangePolicyConstructors.hpp index 0a7e59ed98..c8c1542af1 100644 --- a/lib/kokkos/core/unit_test/TestRangePolicyConstructors.hpp +++ b/lib/kokkos/core/unit_test/TestRangePolicyConstructors.hpp @@ -18,6 +18,9 @@ #include +#include +#include + namespace { TEST(TEST_CATEGORY, range_policy_runtime_parameters) { @@ -70,4 +73,127 @@ TEST(TEST_CATEGORY, range_policy_runtime_parameters) { } } +TEST(TEST_CATEGORY_DEATH, range_policy_invalid_bounds) { + using Policy = Kokkos::RangePolicy; + using ChunkSize = Kokkos::ChunkSize; + + std::string msg = + "Kokkos::RangePolicy bounds error: The lower bound (100) is greater than " + "the upper bound (90).\n"; +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE_4 + // escape the parentheses in the regex to match the error message + msg = std::regex_replace(msg, std::regex("\\(|\\)"), "\\$&"); + ASSERT_DEATH({ (void)Policy(100, 90); }, msg); + + ASSERT_DEATH({ (void)Policy(TEST_EXECSPACE(), 100, 90, ChunkSize(10)); }, + msg); +#else + + if (!Kokkos::show_warnings()) { + GTEST_SKIP() << "Kokkos warning messages are disabled"; + } + + { + ::testing::internal::CaptureStderr(); + Policy policy(100, 90); + ASSERT_EQ((int)policy.begin(), 0); + ASSERT_EQ((int)policy.end(), 0); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + ASSERT_EQ(::testing::internal::GetCapturedStderr(), msg); +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg; +#endif + } + + { + ::testing::internal::CaptureStderr(); + Policy policy(TEST_EXECSPACE(), 100, 90, ChunkSize(10)); + ASSERT_EQ((int)policy.begin(), 0); + ASSERT_EQ((int)policy.end(), 0); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + ASSERT_EQ(::testing::internal::GetCapturedStderr(), msg); +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg; +#endif + } + +#endif +} + +TEST(TEST_CATEGORY_DEATH, range_policy_implicitly_converted_bounds) { + using UIntIndexType = Kokkos::IndexType; + using IntIndexType = Kokkos::IndexType; + using UIntPolicy = Kokkos::RangePolicy; + using IntPolicy = Kokkos::RangePolicy; + + std::string msg = + "Kokkos::RangePolicy bound type error: an unsafe implicit conversion is " + "performed on a bound (), which may not preserve its original value.\n"; + + auto get_error_msg = [](auto str, auto val) { + return str.insert(str.find("(") + 1, std::to_string(val).c_str()); + }; +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE_4 + std::string expected = std::regex_replace(msg, std::regex("\\(|\\)"), "\\$&"); + { + int test_val = -1; + ASSERT_DEATH({ (void)UIntPolicy(test_val, 10); }, + get_error_msg(expected, test_val)); + } + { + unsigned test_val = std::numeric_limits::max(); + ASSERT_DEATH({ (void)IntPolicy(0u, test_val); }, + get_error_msg(expected, test_val)); + } + { + long long test_val = std::numeric_limits::max(); + ASSERT_DEATH({ (void)IntPolicy(0LL, test_val); }, + get_error_msg(expected, test_val)); + } + { + int test_val = -1; + ASSERT_DEATH({ (void)UIntPolicy(test_val, 10, Kokkos::ChunkSize(2)); }, + get_error_msg(expected, test_val)); + } + +#else + { + ::testing::internal::CaptureStderr(); + int test_val = -1; + UIntPolicy policy(test_val, 10); + ASSERT_EQ(policy.begin(), 0u); + ASSERT_EQ(policy.end(), 0u); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + if (Kokkos::show_warnings()) { + auto s = std::string(::testing::internal::GetCapturedStderr()); + ASSERT_EQ(s.substr(0, s.find("\n") + 1), get_error_msg(msg, test_val)); + } +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg; + (void)get_error_msg; +#endif + } + { + ::testing::internal::CaptureStderr(); + unsigned test_val = std::numeric_limits::max(); + IntPolicy policy(0u, test_val); + ASSERT_EQ(policy.begin(), 0); + ASSERT_EQ(policy.end(), 0); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + if (Kokkos::show_warnings()) { + auto s = std::string(::testing::internal::GetCapturedStderr()); + ASSERT_EQ(s.substr(0, s.find("\n") + 1), get_error_msg(msg, test_val)); + } +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg; + (void)get_error_msg; +#endif + } +#endif +} + } // namespace diff --git a/lib/kokkos/core/unit_test/TestReducers.hpp b/lib/kokkos/core/unit_test/TestReducers.hpp index 957b9a0ca1..fbcb9629af 100644 --- a/lib/kokkos/core/unit_test/TestReducers.hpp +++ b/lib/kokkos/core/unit_test/TestReducers.hpp @@ -19,6 +19,7 @@ #include #include +#include //-------------------------------------------------------------------------- @@ -46,6 +47,37 @@ struct TestReducers { void operator()(const int& i, Scalar& value) const { value += values(i); } }; + struct TeamSumFunctor { + using member_type = typename Kokkos::TeamPolicy::member_type; + + KOKKOS_INLINE_FUNCTION + void operator()(const member_type& m, Scalar& value) const { + if (m.team_rank() == m.team_size() - 1) value += Scalar(1); + } + }; + + struct TeamSumNestedFunctor { + using member_type = typename Kokkos::TeamPolicy::member_type; + + SumFunctor f; + int M, N; + Kokkos::View result; + + TeamSumNestedFunctor(SumFunctor& f_, const int M_, const int N_, + Kokkos::View result_) + : f(f_), M(M_), N(N_), result(result_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const member_type& m) const { + const int i = m.league_rank(); + Scalar local_scalar; + Kokkos::Sum reducer_scalar( + local_scalar); + Kokkos::parallel_reduce(Kokkos::TeamThreadRange(m, N), f, reducer_scalar); + result(i) = local_scalar; + } + }; + struct ProdFunctor { Kokkos::View values; @@ -319,6 +351,102 @@ struct TestReducers { value = value || values(i); } }; + + // get number of teams for TeamPolicy depending on the tested type + constexpr static int get_num_teams() { + if constexpr (sizeof(Scalar) == 1) { + return 126; + } else if constexpr (std::is_same_v) { + return 256; + } + + return 1024; + } + + static void test_sum_team_policy(int N, SumFunctor f, Scalar reference_sum) { +#ifdef KOKKOS_ENABLE_OPENACC + if constexpr (std::is_same_v && + (std::is_same_v || + std::is_same_v)) { + return; // FIXME_OPENACC + } +#endif + + Scalar sum_scalar; + Kokkos::View sum_view("result"); + Kokkos::deep_copy(sum_view, Scalar(1)); + + // Test team policy reduction + { + constexpr int num_teams = get_num_teams(); + TeamSumFunctor tf; + // FIXME_OPENMPTARGET temporary restriction for team size to be at least + // 32 +#ifdef KOKKOS_ENABLE_OPENMPTARGET + int team_size = + std::is_same::value + ? 32 + : 1; +#else + int team_size = 1; +#endif + auto team_pol = Kokkos::TeamPolicy(num_teams, team_size); + Kokkos::parallel_reduce(team_pol, tf, sum_view); + Kokkos::deep_copy(sum_scalar, sum_view); + ASSERT_EQ(sum_scalar, Scalar{num_teams}) << "num_teams: " << num_teams; + } + + // Test TeamThreadRange level reduction with 0 work produces 0 result + { + const int league_size = 1; + Kokkos::View result("result", league_size); + TeamSumNestedFunctor tnf(f, league_size, 0, result); + // FIXME_OPENMPTARGET temporary restriction for team size to be at least + // 32 +#ifdef KOKKOS_ENABLE_OPENMPTARGET + int team_size = + std::is_same::value + ? 32 + : 1; +#else + int team_size = 1; +#endif + auto team_pol = Kokkos::TeamPolicy(1, team_size); + Kokkos::parallel_for(team_pol, tnf); + auto result_h = + Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), result); + ASSERT_EQ(result_h(0), Scalar{0}) << "N: " << N; + } + + // Same test as above, but with inner reduction over N, and league_size=10 + { + const int league_size = 10; + Kokkos::View result("result", league_size); + TeamSumNestedFunctor tnf(f, league_size, N, result); + // FIXME_OPENMPTARGET temporary restriction for team size to be at least + // 32 +#ifdef KOKKOS_ENABLE_OPENMPTARGET + int initial_team_size = + std::is_same_v ? 32 + : 1; +#else + int initial_team_size = 1; +#endif + auto team_size_max = + Kokkos::TeamPolicy(league_size, initial_team_size) + .team_size_max(tnf, Kokkos::ParallelForTag()); + auto team_size = std::min(team_size_max, TEST_EXECSPACE().concurrency()); + auto team_pol = Kokkos::TeamPolicy(league_size, team_size); + Kokkos::parallel_for(team_pol, tnf); + auto result_h = + Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), result); + for (int i = 0; i < result_h.extent_int(0); ++i) { + ASSERT_EQ(result_h(i), reference_sum) << "N: " << N; + } + } + } + static void test_sum(int N) { Kokkos::View values("Values", N); auto h_values = Kokkos::create_mirror_view(values); @@ -374,6 +502,8 @@ struct TestReducers { ASSERT_EQ(sum_scalar_view, reference_sum) << "N: " << N; } + test_sum_team_policy(N, f, reference_sum); + { Kokkos::View sum_view("View"); sum_view() = Scalar(1); diff --git a/lib/kokkos/core/unit_test/TestReducers_d.hpp b/lib/kokkos/core/unit_test/TestReducers_d.hpp index 19eaa6d700..ecf851aa10 100644 --- a/lib/kokkos/core/unit_test/TestReducers_d.hpp +++ b/lib/kokkos/core/unit_test/TestReducers_d.hpp @@ -80,6 +80,20 @@ TEST(TEST_CATEGORY, reducers_int8_t) { TestReducers::test_prod(4); } +TEST(TEST_CATEGORY, reducers_int16_t) { + using ThisTestType = int16_t; + + TestReducers::test_sum(1); + TestReducers::test_sum(2); + TestReducers::test_sum(3); + TestReducers::test_sum(4); + + TestReducers::test_prod(1); + TestReducers::test_prod(2); + TestReducers::test_prod(3); + TestReducers::test_prod(4); +} + #if !defined(KOKKOS_ENABLE_HIP) && !defined(KOKKOS_ENABLE_OPENMPTARGET) // TODO - resolve: "Kokkos_HIP_Vectorization.hpp:80:15: error: call to // implicitly-deleted default constructor of 'conv_type' diff --git a/lib/kokkos/core/unit_test/TestSwap.hpp b/lib/kokkos/core/unit_test/TestSwap.hpp new file mode 100644 index 0000000000..4e98351cf1 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestSwap.hpp @@ -0,0 +1,68 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include + +#include +#include +#include + +namespace { + +template +struct TestSwap { + KOKKOS_FUNCTION void operator()(int, int& err) const { + { + int a = 1; + int b = 2; + Kokkos::kokkos_swap(a, b); + if (!(a == 2 && b == 1)) { + Kokkos::printf("Failed Kokkos::kokkos_swap(int, int)\n"); + ++err; + } + } + { + float a = 1; + float b = 2; + Kokkos::kokkos_swap(a, b); + if (!(a == 2 && b == 1)) { + Kokkos::printf("Failed Kokkos::kokkos_swap(float, float)\n"); + ++err; + } + } + { + int a[3] = {1, 2, 3}; + int b[3] = {4, 5, 6}; + Kokkos::kokkos_swap(a, b); + if (!(a[0] == 4 && a[1] == 5 && a[2] == 6 && b[0] == 1 && b[1] == 2 && + b[2] == 3)) { + Kokkos::printf("Failed Kokkos::kokkos_swap(int[3], int[3])\n"); + ++err; + } + } + } + + TestSwap() { + int errors; + Kokkos::parallel_reduce( + "TestSwap", Kokkos::RangePolicy(0, 1), *this, errors); + EXPECT_EQ(errors, 0); + } +}; + +TEST(TEST_CATEGORY, kokkos_swap) { TestSwap(); } + +} // namespace diff --git a/lib/kokkos/core/unit_test/TestTeamBasic.hpp b/lib/kokkos/core/unit_test/TestTeamBasic.hpp index c395bc0837..a3d84c5e16 100644 --- a/lib/kokkos/core/unit_test/TestTeamBasic.hpp +++ b/lib/kokkos/core/unit_test/TestTeamBasic.hpp @@ -280,7 +280,7 @@ namespace Test { // Test for non-arithmetic type TEST(TEST_CATEGORY, team_broadcast_long_wrapper) { - static_assert(!std::is_arithmetic::value, ""); + static_assert(!std::is_arithmetic::value); TestTeamBroadcast, long_wrapper>::test_teambroadcast(0, 1); diff --git a/lib/kokkos/core/unit_test/TestTeamMDRange.hpp b/lib/kokkos/core/unit_test/TestTeamMDRange.hpp index 6e65cde0cf..81931467c5 100644 --- a/lib/kokkos/core/unit_test/TestTeamMDRange.hpp +++ b/lib/kokkos/core/unit_test/TestTeamMDRange.hpp @@ -169,7 +169,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -202,7 +209,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -236,7 +250,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -272,7 +293,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -310,7 +338,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4, n5); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -350,7 +385,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { n6); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -420,7 +462,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -457,7 +506,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -496,7 +552,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -536,7 +599,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4, n5); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -579,7 +649,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { n6); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -620,7 +697,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -653,7 +737,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -687,7 +778,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -723,7 +821,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -761,7 +866,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4, n5); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -801,7 +913,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { n6); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -908,13 +1027,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k) = fillFlattenedIndex(i, j, k); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -923,7 +1049,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j); }, teamSum); - leagueSum += teamSum; + // FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -952,13 +1084,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l) = fillFlattenedIndex(i, j, k, l); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -966,7 +1105,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { [=](const int& i, const int& j, const int& k, DataType& threadSum) { threadSum += v(leagueRank, i, j, k); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -997,13 +1142,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m) = fillFlattenedIndex(i, j, k, l, m); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -1013,7 +1165,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j, k, l); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1045,13 +1203,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m, n) = fillFlattenedIndex(i, j, k, l, m, n); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -1061,7 +1226,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j, k, l, m); }, teamSum); - leagueSum += teamSum; + // FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1100,13 +1271,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -1116,7 +1294,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j, k, l, m, n); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1157,13 +1341,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -1174,7 +1365,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j, k, l, m, n, o); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1207,20 +1404,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l) = fillFlattenedIndex(i, j, k, l); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1228,11 +1431,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k); }, threadSum); - - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1263,20 +1464,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m) = fillFlattenedIndex(i, j, k, l, m); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2, n3); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1286,10 +1493,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { }, threadSum); - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1321,20 +1527,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m, n) = fillFlattenedIndex(i, j, k, l, m, n); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2, n3, n4); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1344,10 +1556,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { }, threadSum); - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1384,20 +1595,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2, n3, n4, n5); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1407,10 +1624,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { }, threadSum); - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1451,20 +1667,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2, n3, n4, n5, n6); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1474,10 +1696,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { }, threadSum); - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1510,13 +1731,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l) = fillFlattenedIndex(i, j, k, l); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1527,7 +1755,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { [=](const int& i, const int& j, const int& k, DataType& vectorSum) { vectorSum += v(leagueRank, i, j, k); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1558,13 +1792,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m) = fillFlattenedIndex(i, j, k, l, m); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1577,7 +1818,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k, l); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1609,13 +1856,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m, n) = fillFlattenedIndex(i, j, k, l, m, n); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1628,7 +1882,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k, l, m); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1665,13 +1925,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1684,7 +1951,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k, l, m, n); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1725,13 +1998,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1745,7 +2025,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k, l, m, n, o); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1904,13 +2190,6 @@ TEST(TEST_CATEGORY, ThreadVectorMDRangeParallelReduce) { GTEST_SKIP() << "skipping because of bug in group_barrier implementation"; #endif -// FIXME_OPENMPTARGET_CRAY: The unit tests fails correctness. -#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_COMPILER_CRAYCLANG) - if (std::is_same_v) - GTEST_SKIP() << "Cray compiler fails correctness at runtime with the " - "OpenMPTarget backend."; -#endif - TestThreadVectorMDRangeParallelReduce:: test_parallel_reduce_for_4D_ThreadVectorMDRange(dims); TestThreadVectorMDRangeParallelReduce:: @@ -1944,13 +2223,6 @@ TEST(TEST_CATEGORY, TeamVectorMDRangeParallelReduce) { GTEST_SKIP() << "skipping because of bug in group_barrier implementation"; #endif -// FIXME_OPENMPTARGET_CRAY: The unit tests fails correctness. -#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_COMPILER_CRAYCLANG) - if (std::is_same_v) - GTEST_SKIP() << "Cray compiler fails correctness at runtime with the " - "OpenMPTarget backend."; -#endif - TestTeamVectorMDRangeParallelReduce:: test_parallel_reduce_for_4D_TeamVectorMDRange(dims); TestTeamVectorMDRangeParallelReduce:: diff --git a/lib/kokkos/core/unit_test/TestTeamPolicyConstructors.hpp b/lib/kokkos/core/unit_test/TestTeamPolicyConstructors.hpp index 5b0bfdb175..9d89f75708 100644 --- a/lib/kokkos/core/unit_test/TestTeamPolicyConstructors.hpp +++ b/lib/kokkos/core/unit_test/TestTeamPolicyConstructors.hpp @@ -20,11 +20,24 @@ namespace { +struct SomeTag {}; + +struct FunctorFor { + KOKKOS_FUNCTION + void operator()( + Kokkos::TeamPolicy::member_type const&) const {} + + KOKKOS_FUNCTION + void operator()( + SomeTag, Kokkos::TeamPolicy::member_type const&) const {} +}; + template void test_run_time_parameters() { int league_size = 131; using ExecutionSpace = typename Policy::execution_space; + using ParallelTag = Kokkos::ParallelForTag; int team_size = 4 < ExecutionSpace().concurrency() ? 4 : ExecutionSpace().concurrency(); #ifdef KOKKOS_ENABLE_HPX @@ -44,6 +57,8 @@ void test_run_time_parameters() { ASSERT_EQ(p1.team_size(), team_size); ASSERT_GT(p1.chunk_size(), 0); ASSERT_EQ(p1.scratch_size(0), 0u); + ASSERT_GT(p1.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p1.team_size_recommended(FunctorFor(), ParallelTag()), 0); Policy p2 = p1.set_chunk_size(chunk_size); ASSERT_EQ(p1.league_size(), league_size); @@ -112,6 +127,8 @@ void test_run_time_parameters() { Policy p8; // default constructed ASSERT_EQ(p8.league_size(), 0); ASSERT_EQ(p8.scratch_size(0), 0u); + ASSERT_GT(p8.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p8.team_size_recommended(FunctorFor(), ParallelTag()), 0); p8 = p3; // call assignment operator ASSERT_EQ(p3.league_size(), league_size); ASSERT_EQ(p3.team_size(), team_size); @@ -121,11 +138,25 @@ void test_run_time_parameters() { ASSERT_EQ(p8.team_size(), team_size); ASSERT_EQ(p8.chunk_size(), chunk_size); ASSERT_EQ(p8.scratch_size(0), size_t(scratch_size)); + + Policy p9(league_size, Kokkos::AUTO); + ASSERT_EQ(p9.league_size(), league_size); + ASSERT_GT(p9.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p9.team_size_recommended(FunctorFor(), ParallelTag()), 0); + + Policy p10(league_size, team_size, Kokkos::AUTO); + ASSERT_EQ(p10.league_size(), league_size); + ASSERT_EQ(p10.team_size(), team_size); + ASSERT_GT(p10.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p10.team_size_recommended(FunctorFor(), ParallelTag()), 0); + + Policy p11(league_size, Kokkos::AUTO, Kokkos::AUTO); + ASSERT_EQ(p11.league_size(), league_size); + ASSERT_GT(p11.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p11.team_size_recommended(FunctorFor(), ParallelTag()), 0); } TEST(TEST_CATEGORY, team_policy_runtime_parameters) { - struct SomeTag {}; - using TestExecSpace = TEST_EXECSPACE; using DynamicSchedule = Kokkos::Schedule; using LongIndex = Kokkos::IndexType; diff --git a/lib/kokkos/core/unit_test/TestTeamVector.hpp b/lib/kokkos/core/unit_test/TestTeamVector.hpp index 39122736ed..5e16539d65 100644 --- a/lib/kokkos/core/unit_test/TestTeamVector.hpp +++ b/lib/kokkos/core/unit_test/TestTeamVector.hpp @@ -1012,7 +1012,6 @@ struct checkScan { }; } // namespace VectorScanReducer -#if !defined(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND) TEST(TEST_CATEGORY, team_vector) { ASSERT_TRUE((TestTeamVector::Test(0))); ASSERT_TRUE((TestTeamVector::Test(1))); @@ -1028,9 +1027,7 @@ TEST(TEST_CATEGORY, team_vector) { ASSERT_TRUE((TestTeamVector::Test(11))); ASSERT_TRUE((TestTeamVector::Test(12))); } -#endif -#if !defined(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND) TEST(TEST_CATEGORY, triple_nested_parallelism) { // With KOKKOS_ENABLE_DEBUG enabled, the functor uses too many registers to run // with a team size of 32 on GPUs, 16 is the max possible (at least on a K80 @@ -1055,7 +1052,6 @@ TEST(TEST_CATEGORY, triple_nested_parallelism) { TestTripleNestedReduce(8192, 2048, 16, 16); TestTripleNestedReduce(8192, 2048, 7, 16); } -#endif TEST(TEST_CATEGORY, parallel_scan_with_reducers) { using T = double; diff --git a/lib/kokkos/core/unit_test/TestUtilities.hpp b/lib/kokkos/core/unit_test/TestUtilities.hpp index b1f9d30c1f..ad5a0df92d 100644 --- a/lib/kokkos/core/unit_test/TestUtilities.hpp +++ b/lib/kokkos/core/unit_test/TestUtilities.hpp @@ -25,20 +25,18 @@ namespace Test { void test_is_specialization_of() { using Kokkos::Impl::is_specialization_of; - static_assert(is_specialization_of, Kokkos::pair>{}, - ""); - static_assert(!is_specialization_of, Kokkos::pair>{}, ""); - static_assert(is_specialization_of, Kokkos::View>{}, ""); + static_assert(is_specialization_of, Kokkos::pair>{}); + static_assert(!is_specialization_of, Kokkos::pair>{}); + static_assert(is_specialization_of, Kokkos::View>{}); // NOTE Not removing cv-qualifiers - static_assert(!is_specialization_of const, Kokkos::View>{}, - ""); + static_assert( + !is_specialization_of const, Kokkos::View>{}); // NOTE Would not compile because Kokkos::Array takes a non-type template // parameter - // static_assert(is_specialization_of, Kokkos::Array>{}, - // ""); + // static_assert(is_specialization_of, + // Kokkos::Array>{}); // But this is fine of course - static_assert(!is_specialization_of, Kokkos::pair>{}, - ""); + static_assert(!is_specialization_of, Kokkos::pair>{}); } namespace { diff --git a/lib/kokkos/core/unit_test/TestViewAPI.hpp b/lib/kokkos/core/unit_test/TestViewAPI.hpp index ffc500e4a9..ca098dbc24 100644 --- a/lib/kokkos/core/unit_test/TestViewAPI.hpp +++ b/lib/kokkos/core/unit_test/TestViewAPI.hpp @@ -958,8 +958,7 @@ class TestViewAPI { using mirror_type = typename view_type::HostMirror; static_assert(std::is_same::value, - ""); + typename mirror_type::memory_space>::value); view_type a("a"); mirror_type am = Kokkos::create_mirror_view(a); @@ -1005,25 +1004,25 @@ class TestViewAPI { hView3 hv_3("dView3::HostMirror", N0); hView4 hv_4("dView4::HostMirror", N0); - dView0 dv_0_1(nullptr, 0); + dView0 dv_0_1(nullptr); dView0 dv_0_2(hv_0.label(), hv_0.layout()); - dView1 dv_1_1(nullptr, 0); + dView1 dv_1_1(nullptr, N0); dView1 dv_1_2(hv_1.label(), hv_1.layout()); - dView2 dv_2_1(nullptr, 0); + dView2 dv_2_1(nullptr, N0); dView2 dv_2_2(hv_2.label(), hv_2.layout()); - dView3 dv_3_1(nullptr, 0); + dView3 dv_3_1(nullptr, N0); dView3 dv_3_2(hv_3.label(), hv_3.layout()); - dView4 dv_4_1(nullptr, 0); + dView4 dv_4_1(nullptr, N0); dView4 dv_4_2(hv_4.label(), hv_4.layout()); } static void run_test_contruction_from_layout_2() { using dView3_0 = Kokkos::View; - using dView3_1 = Kokkos::View; + using dView3_1 = Kokkos::View; using dView3_2 = Kokkos::View; using dView3_3 = Kokkos::View; @@ -1554,6 +1553,7 @@ class TestViewAPI { Kokkos::CudaUVMSpace>::value) return; #endif + bool did_throw = false; auto alloc_size = std::numeric_limits::max() - 42; try { auto should_always_fail = dView1("hello_world_failure", alloc_size); @@ -1585,7 +1585,9 @@ class TestViewAPI { "because of an unknown error.", msg); } #endif + did_throw = true; } + ASSERT_TRUE(did_throw); } }; diff --git a/lib/kokkos/core/unit_test/TestViewAPI_d.hpp b/lib/kokkos/core/unit_test/TestViewAPI_d.hpp index 08d21f5449..b0d759ffcc 100644 --- a/lib/kokkos/core/unit_test/TestViewAPI_d.hpp +++ b/lib/kokkos/core/unit_test/TestViewAPI_d.hpp @@ -27,8 +27,19 @@ TEST(TEST_CATEGORY, view_api_d) { } TEST(TEST_CATEGORY, view_allocation_error) { +#if defined(__has_feature) +#if __has_feature(address_sanitizer) + GTEST_SKIP() << "AddressSanitzer detects allocating too much memory " + "preventing our checks to run"; +#endif +#endif #if ((HIP_VERSION_MAJOR == 5) && (HIP_VERSION_MINOR == 3)) GTEST_SKIP() << "ROCm 5.3 segfaults when trying to allocate too much memory"; +#endif +#if defined(KOKKOS_ENABLE_OPENACC) // FIXME_OPENACC + if (std::is_same_v) { + GTEST_SKIP() << "acc_malloc() not properly returning nullptr"; + } #endif TestViewAPI::run_test_error(); } diff --git a/lib/kokkos/core/unit_test/TestViewCopy_a.hpp b/lib/kokkos/core/unit_test/TestViewCopy_a.hpp index 3bfc93aada..a4735b2998 100644 --- a/lib/kokkos/core/unit_test/TestViewCopy_a.hpp +++ b/lib/kokkos/core/unit_test/TestViewCopy_a.hpp @@ -147,6 +147,40 @@ TEST(TEST_CATEGORY, view_copy_tests) { Kokkos::deep_copy(s_a, hs_a); ASSERT_TRUE(run_check(s_a, 6)); } + } else { + // These copies won't succeed, but they should each throw + // an exception whose message contains the view labels, + // and the names of the views' memory spaces. + // + // Note: original a,b both have the same device type, + // and their mirrors have the same device type. + using memory_space = typename decltype(a)::memory_space; + using mirror_memory_space = typename decltype(h_a)::memory_space; + bool threw = false; + std::string msg; + try { + Kokkos::deep_copy(hs_b, s_b); + } catch (std::exception& e) { + threw = true; + msg = e.what(); + } + ASSERT_TRUE(threw); + ASSERT_NE(msg.find(hs_b.label()), std::string::npos); + ASSERT_NE(msg.find(s_b.label()), std::string::npos); + ASSERT_NE(msg.find(memory_space().name()), std::string::npos); + ASSERT_NE(msg.find(mirror_memory_space().name()), std::string::npos); + threw = false; + try { + Kokkos::deep_copy(s_a, hs_a); + } catch (std::exception& e) { + threw = true; + msg = e.what(); + } + ASSERT_TRUE(threw); + ASSERT_NE(msg.find(s_a.label()), std::string::npos); + ASSERT_NE(msg.find(hs_a.label()), std::string::npos); + ASSERT_NE(msg.find(memory_space().name()), std::string::npos); + ASSERT_NE(msg.find(mirror_memory_space().name()), std::string::npos); } // Contiguous copies diff --git a/lib/kokkos/core/unit_test/TestViewCtorDimMatch.hpp b/lib/kokkos/core/unit_test/TestViewCtorDimMatch.hpp index d71841eef8..40b7737f2e 100644 --- a/lib/kokkos/core/unit_test/TestViewCtorDimMatch.hpp +++ b/lib/kokkos/core/unit_test/TestViewCtorDimMatch.hpp @@ -19,33 +19,72 @@ namespace Test { -#define LIVE(EXPR, ARGS, DYNRANK) EXPECT_NO_THROW(EXPR) -#define DIE(EXPR, ARGS, DYNRANK) \ - ASSERT_DEATH( \ - EXPR, \ - "Constructor for Kokkos View 'v_" #ARGS \ - "' has mismatched number of arguments. Number of arguments = " #ARGS \ - " but dynamic rank = " #DYNRANK) +template +void test_matching_arguments_rank_helper(std::index_sequence) { + constexpr int nargs = sizeof...(Is); + using view_type = Kokkos::View; + if (nargs == rank || nargs == dynrank) { + EXPECT_NO_THROW({ view_type v("v", ((Is * 0) + 1)...); }); + EXPECT_NO_THROW({ view_type v(nullptr, ((Is * 0) + 1)...); }); + } else { + ASSERT_DEATH( + { view_type v("v", ((Is * 0) + 1)...); }, + "Constructor for Kokkos::View 'v' has mismatched number of arguments. " + "The number of arguments = " + + std::to_string(nargs) + + " neither matches the dynamic rank = " + std::to_string(dynrank) + + " nor the total rank = " + std::to_string(rank)); + ASSERT_DEATH( + { view_type v(nullptr, ((Is * 0) + 1)...); }, + "Constructor for Kokkos::View 'UNMANAGED' has mismatched number of " + "arguments. " + "The number of arguments = " + + std::to_string(nargs) + + " neither matches the dynamic rank = " + std::to_string(dynrank) + + " nor the total rank = " + std::to_string(rank)); + } +} -#define PARAM_0 -#define PARAM_1 1 -#define PARAM_2 1, 1 -#define PARAM_3 1, 1, 1 -#define PARAM_4 1, 1, 1, 1 -#define PARAM_5 1, 1, 1, 1, 1 -#define PARAM_6 1, 1, 1, 1, 1, 1 -#define PARAM_7 1, 1, 1, 1, 1, 1, 1 +template class RankType> +void test_matching_arguments_rank() { + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<0>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<1>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<2>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<3>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<4>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<5>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<6>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<7>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<8>()); +} -#define PARAM_0_RANK 0 -#define PARAM_1_RANK 1 -#define PARAM_2_RANK 2 -#define PARAM_3_RANK 3 -#define PARAM_4_RANK 4 -#define PARAM_5_RANK 5 -#define PARAM_6_RANK 6 -#define PARAM_7_RANK 7 +template +struct DynamicRank { + using type = typename DynamicRank::type*; +}; -using DType = int; +template <> +struct DynamicRank<0> { + using type = int; +}; // Skip test execution when KOKKOS_ENABLE_OPENMPTARGET is enabled until // Kokkos::abort() aborts properly on that backend @@ -53,348 +92,110 @@ using DType = int; TEST(TEST_CATEGORY_DEATH, view_construction_with_wrong_params_dyn) { ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - using DType_0 = DType; - using DType_1 = DType *; - using DType_2 = DType **; - using DType_3 = DType ***; - using DType_4 = DType ****; - using DType_5 = DType *****; - using DType_6 = DType ******; - using DType_7 = DType *******; - { - // test View parameters for View dim = 0, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 1, dynamic = 1 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 1); - LIVE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 1); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 1); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 1); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 1); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 1); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 1); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 1); - } - - { - // test View parameters for View dim = 2, dynamic = 2 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 2); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 2); - LIVE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 2); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 2); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 2); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 2); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 2); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 2); - } - - { - // test View parameters for View dim = 3, dynamic = 3 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 3); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 3); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 3); - LIVE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 3); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 3); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 3); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 3); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 3); - } - - { - // test View parameters for View dim = 4, dynamic = 4 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 4); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 4); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 4); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 4); - LIVE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 4); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 4); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 4); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 4); - } - - { - // test View parameters for View dim = 5, dynamic = 5 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 5); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 5); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 5); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 5); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 5); - LIVE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 5); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 5); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 5); - } - - { - // test View parameters for View dim = 6, dynamic = 6 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 6); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 6); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 6); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 6); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 6); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 6); - LIVE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 6); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 6); - } - - { - // test View parameters for View dim = 7, dynamic = 7 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 7); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 7); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 7); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 7); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 7); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 7); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 7); - LIVE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 7); - } +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECKS + test_matching_arguments_rank<0, 0, DynamicRank>(); // dim = 0, dynamic = 0 + test_matching_arguments_rank<1, 1, DynamicRank>(); // dim = 1, dynamic = 1 + test_matching_arguments_rank<2, 2, DynamicRank>(); // dim = 2, dynamic = 2 + test_matching_arguments_rank<3, 3, DynamicRank>(); // dim = 3, dynamic = 3 + test_matching_arguments_rank<4, 4, DynamicRank>(); // dim = 4, dynamic = 4 + test_matching_arguments_rank<5, 5, DynamicRank>(); // dim = 5, dynamic = 5 + test_matching_arguments_rank<6, 6, DynamicRank>(); // dim = 6, dynamic = 6 + test_matching_arguments_rank<7, 7, DynamicRank>(); // dim = 7, dynamic = 7 + test_matching_arguments_rank<8, 8, DynamicRank>(); // dim = 8, dynamic = 8 +#endif } +template +struct StaticRank { + using type = typename StaticRank::type[1]; +}; + +template <> +struct StaticRank<0> { + using type = int; +}; + TEST(TEST_CATEGORY_DEATH, view_construction_with_wrong_params_stat) { ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - using DType_0 = DType; - using DType_1 = DType[1]; - using DType_2 = DType[1][1]; - using DType_3 = DType[1][1][1]; - using DType_4 = DType[1][1][1][1]; - using DType_5 = DType[1][1][1][1][1]; - using DType_6 = DType[1][1][1][1][1][1]; - using DType_7 = DType[1][1][1][1][1][1][1]; - { - // test View parameters for View dim = 0, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 1, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - LIVE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 2, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - LIVE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 3, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - LIVE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 4, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - LIVE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 5, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - LIVE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 6, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - LIVE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 7, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - LIVE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECKS + test_matching_arguments_rank<0, 0, StaticRank>(); // dim = 0, dynamic = 0 + test_matching_arguments_rank<1, 0, StaticRank>(); // dim = 1, dynamic = 0 + test_matching_arguments_rank<2, 0, StaticRank>(); // dim = 2, dynamic = 0 + test_matching_arguments_rank<3, 0, StaticRank>(); // dim = 3, dynamic = 0 + test_matching_arguments_rank<4, 0, StaticRank>(); // dim = 4, dynamic = 0 + test_matching_arguments_rank<5, 0, StaticRank>(); // dim = 5, dynamic = 0 + test_matching_arguments_rank<6, 0, StaticRank>(); // dim = 6, dynamic = 0 + test_matching_arguments_rank<7, 0, StaticRank>(); // dim = 7, dynamic = 0 + test_matching_arguments_rank<8, 0, StaticRank>(); // dim = 8, dynamic = 0 +#endif } +template +struct MixedRank { + using type = typename DynamicRank::type[1]; +}; + +template <> +struct MixedRank<0> { + using type = int; +}; + TEST(TEST_CATEGORY_DEATH, view_construction_with_wrong_params_mix) { ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - using DType_0 = DType; - using DType_1 = DType[1]; - using DType_2 = DType * [1]; - using DType_3 = DType * * [1]; - using DType_4 = DType ** * [1]; - using DType_5 = DType *** * [1]; - using DType_6 = DType **** * [1]; - using DType_7 = DType ***** * [1]; - { - // test View parameters for View dim = 0, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 1, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - LIVE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 2, dynamic = 1 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 1); - LIVE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 1); - LIVE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 1); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 1); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 1); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 1); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 1); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 1); - } - - { - // test View parameters for View dim = 3, dynamic = 2 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 2); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 2); - LIVE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 2); - LIVE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 2); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 2); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 2); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 2); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 2); - } - - { - // test View parameters for View dim = 4, dynamic = 3 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 3); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 3); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 3); - LIVE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 3); - LIVE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 3); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 3); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 3); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 3); - } - - { - // test View parameters for View dim = 5, dynamic = 4 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 4); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 4); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 4); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 4); - LIVE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 4); - LIVE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 4); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 4); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 4); - } - - { - // test View parameters for View dim = 6, dynamic = 5 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 5); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 5); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 5); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 5); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 5); - LIVE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 5); - LIVE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 5); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 5); - } - - { - // test View parameters for View dim = 7, dynamic = 6 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 6); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 6); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 6); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 6); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 6); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 6); - LIVE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 6); - LIVE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 6); - } +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECKS + test_matching_arguments_rank<0, 0, MixedRank>(); // dim = 0, dynamic = 0 + test_matching_arguments_rank<1, 0, MixedRank>(); // dim = 1, dynamic = 0 + test_matching_arguments_rank<2, 1, MixedRank>(); // dim = 2, dynamic = 1 + test_matching_arguments_rank<3, 2, MixedRank>(); // dim = 3, dynamic = 2 + test_matching_arguments_rank<4, 3, MixedRank>(); // dim = 4, dynamic = 3 + test_matching_arguments_rank<5, 4, MixedRank>(); // dim = 5, dynamic = 4 + test_matching_arguments_rank<6, 5, MixedRank>(); // dim = 6, dynamic = 5 + test_matching_arguments_rank<7, 6, MixedRank>(); // dim = 7, dynamic = 6 + test_matching_arguments_rank<8, 7, MixedRank>(); // dim = 8, dynamic = 7 +#endif } + +#define CHECK_DEATH(EXPR) \ + ASSERT_DEATH(EXPR, \ + "The specified run-time extent for Kokkos::View 'v' does not " \ + "match the compile-time extent in dimension 0. The given " \ + "extent is 2 but should be 1.") + +#define CHECK_DEATH_UNMANAGED(EXPR) \ + ASSERT_DEATH( \ + EXPR, \ + "The specified run-time extent for Kokkos::View 'UNMANAGED' does not " \ + "match the compile-time extent in dimension 0. The given " \ + "extent is 2 but should be 1.") + +TEST(TEST_CATEGORY_DEATH, view_construction_with_wrong_static_extents) { + ::testing::FLAGS_gtest_death_test_style = "threadsafe"; + +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECKS + // clang-format off + CHECK_DEATH({ Kokkos::View v("v", 2); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1, 1, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1, 1, 1, 1, 1); }); + + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1, 1, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1, 1, 1, 1, 1); }); + // clang-format on +#endif +} + +#undef CHECK_DEATH #endif // KOKKOS_ENABLE_OPENMPTARGET - -#undef PARAM_0 -#undef PARAM_1 -#undef PARAM_2 -#undef PARAM_3 -#undef PARAM_4 -#undef PARAM_5 -#undef PARAM_6 -#undef PARAM_7 - -#undef PARAM_0_RANK -#undef PARAM_1_RANK -#undef PARAM_2_RANK -#undef PARAM_3_RANK -#undef PARAM_4_RANK -#undef PARAM_5_RANK -#undef PARAM_6_RANK -#undef PARAM_7_RANK - -#undef DType - -#undef LIVE -#undef DIE } // namespace Test diff --git a/lib/kokkos/core/unit_test/TestViewEmptyRuntimeUnmanaged.hpp b/lib/kokkos/core/unit_test/TestViewEmptyRuntimeUnmanaged.hpp new file mode 100644 index 0000000000..b156b72860 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestViewEmptyRuntimeUnmanaged.hpp @@ -0,0 +1,55 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include + +#include + +namespace { + +template +void test_empty_view_runtime_unmanaged() { + T d{}; + auto* p = reinterpret_cast(0xABADBABE); + + (void)Kokkos::View(p); + (void)Kokkos::View(&d); + (void)Kokkos::View(nullptr); + (void)Kokkos::View(NULL); // NOLINT(modernize-use-nullptr) + (void)Kokkos::View(0); // NOLINT(modernize-use-nullptr) + + (void)Kokkos::View(p, 0); + (void)Kokkos::View(&d, 0); + (void)Kokkos::View(nullptr, 0); + (void)Kokkos::View(NULL, 0); // NOLINT(modernize-use-nullptr) + (void)Kokkos::View(0, 0); // NOLINT(modernize-use-nullptr) + + (void)Kokkos::View(p, 0, 0); + (void)Kokkos::View(&d, 0, 0); + (void)Kokkos::View(nullptr, 0, 0); + (void)Kokkos::View(NULL, 0, 0); // NOLINT(modernize-use-nullptr) + (void)Kokkos::View(0, 0, 0); // NOLINT(modernize-use-nullptr) +} + +TEST(TEST_CATEGORY, view_empty_runtime_unmanaged) { + test_empty_view_runtime_unmanaged(); + test_empty_view_runtime_unmanaged(); + test_empty_view_runtime_unmanaged(); + test_empty_view_runtime_unmanaged(); + test_empty_view_runtime_unmanaged(); +} + +} // namespace diff --git a/lib/kokkos/core/unit_test/TestViewMapping_a.hpp b/lib/kokkos/core/unit_test/TestViewMapping_a.hpp index 9173f0d431..a4dfdb26e3 100644 --- a/lib/kokkos/core/unit_test/TestViewMapping_a.hpp +++ b/lib/kokkos/core/unit_test/TestViewMapping_a.hpp @@ -73,67 +73,67 @@ void test_view_mapping() { ASSERT_LE(sizeof(dim_s0_s0_s0_s0_s0_s0_s0), 8 * sizeof(unsigned)); ASSERT_EQ(sizeof(dim_s0_s0_s0_s0_s0_s0_s0_s0), 8 * sizeof(unsigned)); #endif - static_assert(int(dim_0::rank) == int(0), ""); - static_assert(int(dim_0::rank_dynamic) == int(0), ""); - static_assert(int(dim_0::ArgN0) == 1, ""); - static_assert(int(dim_0::ArgN1) == 1, ""); - static_assert(int(dim_0::ArgN2) == 1, ""); + static_assert(int(dim_0::rank) == int(0)); + static_assert(int(dim_0::rank_dynamic) == int(0)); + static_assert(int(dim_0::ArgN0) == 1); + static_assert(int(dim_0::ArgN1) == 1); + static_assert(int(dim_0::ArgN2) == 1); - static_assert(int(dim_s2::rank) == int(1), ""); - static_assert(int(dim_s2::rank_dynamic) == int(0), ""); - static_assert(int(dim_s2::ArgN0) == 2, ""); - static_assert(int(dim_s2::ArgN1) == 1, ""); + static_assert(int(dim_s2::rank) == int(1)); + static_assert(int(dim_s2::rank_dynamic) == int(0)); + static_assert(int(dim_s2::ArgN0) == 2); + static_assert(int(dim_s2::ArgN1) == 1); - static_assert(int(dim_s2_s3::rank) == int(2), ""); - static_assert(int(dim_s2_s3::rank_dynamic) == int(0), ""); - static_assert(int(dim_s2_s3::ArgN0) == 2, ""); - static_assert(int(dim_s2_s3::ArgN1) == 3, ""); - static_assert(int(dim_s2_s3::ArgN2) == 1, ""); + static_assert(int(dim_s2_s3::rank) == int(2)); + static_assert(int(dim_s2_s3::rank_dynamic) == int(0)); + static_assert(int(dim_s2_s3::ArgN0) == 2); + static_assert(int(dim_s2_s3::ArgN1) == 3); + static_assert(int(dim_s2_s3::ArgN2) == 1); - static_assert(int(dim_s2_s3_s4::rank) == int(3), ""); - static_assert(int(dim_s2_s3_s4::rank_dynamic) == int(0), ""); - static_assert(int(dim_s2_s3_s4::ArgN0) == 2, ""); - static_assert(int(dim_s2_s3_s4::ArgN1) == 3, ""); - static_assert(int(dim_s2_s3_s4::ArgN2) == 4, ""); - static_assert(int(dim_s2_s3_s4::ArgN3) == 1, ""); + static_assert(int(dim_s2_s3_s4::rank) == int(3)); + static_assert(int(dim_s2_s3_s4::rank_dynamic) == int(0)); + static_assert(int(dim_s2_s3_s4::ArgN0) == 2); + static_assert(int(dim_s2_s3_s4::ArgN1) == 3); + static_assert(int(dim_s2_s3_s4::ArgN2) == 4); + static_assert(int(dim_s2_s3_s4::ArgN3) == 1); - static_assert(int(dim_s0::rank) == int(1), ""); - static_assert(int(dim_s0::rank_dynamic) == int(1), ""); + static_assert(int(dim_s0::rank) == int(1)); + static_assert(int(dim_s0::rank_dynamic) == int(1)); - static_assert(int(dim_s0_s3::rank) == int(2), ""); - static_assert(int(dim_s0_s3::rank_dynamic) == int(1), ""); - static_assert(int(dim_s0_s3::ArgN0) == 0, ""); - static_assert(int(dim_s0_s3::ArgN1) == 3, ""); + static_assert(int(dim_s0_s3::rank) == int(2)); + static_assert(int(dim_s0_s3::rank_dynamic) == int(1)); + static_assert(int(dim_s0_s3::ArgN0) == 0); + static_assert(int(dim_s0_s3::ArgN1) == 3); - static_assert(int(dim_s0_s3_s4::rank) == int(3), ""); - static_assert(int(dim_s0_s3_s4::rank_dynamic) == int(1), ""); - static_assert(int(dim_s0_s3_s4::ArgN0) == 0, ""); - static_assert(int(dim_s0_s3_s4::ArgN1) == 3, ""); - static_assert(int(dim_s0_s3_s4::ArgN2) == 4, ""); + static_assert(int(dim_s0_s3_s4::rank) == int(3)); + static_assert(int(dim_s0_s3_s4::rank_dynamic) == int(1)); + static_assert(int(dim_s0_s3_s4::ArgN0) == 0); + static_assert(int(dim_s0_s3_s4::ArgN1) == 3); + static_assert(int(dim_s0_s3_s4::ArgN2) == 4); - static_assert(int(dim_s0_s0_s4::rank) == int(3), ""); - static_assert(int(dim_s0_s0_s4::rank_dynamic) == int(2), ""); - static_assert(int(dim_s0_s0_s4::ArgN0) == 0, ""); - static_assert(int(dim_s0_s0_s4::ArgN1) == 0, ""); - static_assert(int(dim_s0_s0_s4::ArgN2) == 4, ""); + static_assert(int(dim_s0_s0_s4::rank) == int(3)); + static_assert(int(dim_s0_s0_s4::rank_dynamic) == int(2)); + static_assert(int(dim_s0_s0_s4::ArgN0) == 0); + static_assert(int(dim_s0_s0_s4::ArgN1) == 0); + static_assert(int(dim_s0_s0_s4::ArgN2) == 4); - static_assert(int(dim_s0_s0_s0::rank) == int(3), ""); - static_assert(int(dim_s0_s0_s0::rank_dynamic) == int(3), ""); + static_assert(int(dim_s0_s0_s0::rank) == int(3)); + static_assert(int(dim_s0_s0_s0::rank_dynamic) == int(3)); - static_assert(int(dim_s0_s0_s0_s0::rank) == int(4), ""); - static_assert(int(dim_s0_s0_s0_s0::rank_dynamic) == int(4), ""); + static_assert(int(dim_s0_s0_s0_s0::rank) == int(4)); + static_assert(int(dim_s0_s0_s0_s0::rank_dynamic) == int(4)); - static_assert(int(dim_s0_s0_s0_s0_s0::rank) == int(5), ""); - static_assert(int(dim_s0_s0_s0_s0_s0::rank_dynamic) == int(5), ""); + static_assert(int(dim_s0_s0_s0_s0_s0::rank) == int(5)); + static_assert(int(dim_s0_s0_s0_s0_s0::rank_dynamic) == int(5)); - static_assert(int(dim_s0_s0_s0_s0_s0_s0::rank) == int(6), ""); - static_assert(int(dim_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(6), ""); + static_assert(int(dim_s0_s0_s0_s0_s0_s0::rank) == int(6)); + static_assert(int(dim_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(6)); - static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0::rank) == int(7), ""); - static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(7), ""); + static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0::rank) == int(7)); + static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(7)); - static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0_s0::rank) == int(8), ""); - static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(8), ""); + static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0_s0::rank) == int(8)); + static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(8)); dim_s0 d1(2, 3, 4, 5, 6, 7, 8, 9); dim_s0_s0 d2(2, 3, 4, 5, 6, 7, 8, 9); @@ -514,11 +514,11 @@ void test_view_mapping() { { using namespace Kokkos::Impl; - static_assert(rank_dynamic<>::value == 0, ""); - static_assert(rank_dynamic<1>::value == 0, ""); - static_assert(rank_dynamic<0>::value == 1, ""); - static_assert(rank_dynamic<0, 1>::value == 1, ""); - static_assert(rank_dynamic<0, 0, 1>::value == 2, ""); + static_assert(rank_dynamic<>::value == 0); + static_assert(rank_dynamic<1>::value == 0); + static_assert(rank_dynamic<0>::value == 1); + static_assert(rank_dynamic<0, 1>::value == 1); + static_assert(rank_dynamic<0, 0, 1>::value == 2); } { @@ -529,54 +529,48 @@ void test_view_mapping() { using a_const_int_r1 = ViewArrayAnalysis; using a_const_int_r5 = ViewArrayAnalysis; - static_assert(a_int_r1::dimension::rank == 1, ""); - static_assert(a_int_r1::dimension::rank_dynamic == 1, ""); - static_assert(a_int_r5::dimension::ArgN0 == 0, ""); - static_assert(a_int_r5::dimension::ArgN1 == 0, ""); - static_assert(a_int_r5::dimension::ArgN2 == 4, ""); - static_assert(a_int_r5::dimension::ArgN3 == 5, ""); - static_assert(a_int_r5::dimension::ArgN4 == 6, ""); - static_assert(a_int_r5::dimension::ArgN5 == 1, ""); + static_assert(a_int_r1::dimension::rank == 1); + static_assert(a_int_r1::dimension::rank_dynamic == 1); + static_assert(a_int_r5::dimension::ArgN0 == 0); + static_assert(a_int_r5::dimension::ArgN1 == 0); + static_assert(a_int_r5::dimension::ArgN2 == 4); + static_assert(a_int_r5::dimension::ArgN3 == 5); + static_assert(a_int_r5::dimension::ArgN4 == 6); + static_assert(a_int_r5::dimension::ArgN5 == 1); static_assert( - std::is_same >::value, - ""); + std::is_same >::value); static_assert( - std::is_same::value, ""); + std::is_same::value); - static_assert(a_const_int_r1::dimension::rank == 1, ""); - static_assert(a_const_int_r1::dimension::rank_dynamic == 1, ""); + static_assert(a_const_int_r1::dimension::rank == 1); + static_assert(a_const_int_r1::dimension::rank_dynamic == 1); static_assert(std::is_same >::value, - ""); - static_assert( - std::is_same::value, - ""); + ViewDimension<0> >::value); + static_assert(std::is_same::value); - static_assert(a_const_int_r5::dimension::rank == 5, ""); - static_assert(a_const_int_r5::dimension::rank_dynamic == 2, ""); + static_assert(a_const_int_r5::dimension::rank == 5); + static_assert(a_const_int_r5::dimension::rank_dynamic == 2); - static_assert(a_const_int_r5::dimension::ArgN0 == 0, ""); - static_assert(a_const_int_r5::dimension::ArgN1 == 0, ""); - static_assert(a_const_int_r5::dimension::ArgN2 == 4, ""); - static_assert(a_const_int_r5::dimension::ArgN3 == 5, ""); - static_assert(a_const_int_r5::dimension::ArgN4 == 6, ""); - static_assert(a_const_int_r5::dimension::ArgN5 == 1, ""); + static_assert(a_const_int_r5::dimension::ArgN0 == 0); + static_assert(a_const_int_r5::dimension::ArgN1 == 0); + static_assert(a_const_int_r5::dimension::ArgN2 == 4); + static_assert(a_const_int_r5::dimension::ArgN3 == 5); + static_assert(a_const_int_r5::dimension::ArgN4 == 6); + static_assert(a_const_int_r5::dimension::ArgN5 == 1); static_assert(std::is_same >::value, - ""); - static_assert( - std::is_same::value, - ""); + ViewDimension<0, 0, 4, 5, 6> >::value); + static_assert(std::is_same::value); - static_assert(a_int_r5::dimension::rank == 5, ""); - static_assert(a_int_r5::dimension::rank_dynamic == 2, ""); + static_assert(a_int_r5::dimension::rank == 5); + static_assert(a_int_r5::dimension::rank_dynamic == 2); static_assert(std::is_same >::value, - ""); + ViewDimension<0, 0, 4, 5, 6> >::value); static_assert( - std::is_same::value, ""); + std::is_same::value); } { @@ -587,15 +581,15 @@ void test_view_mapping() { // Dimensions of t_i4 are appended to the multdimensional array. using a_int_r5 = ViewArrayAnalysis; - static_assert(a_int_r5::dimension::rank == 5, ""); - static_assert(a_int_r5::dimension::rank_dynamic == 3, ""); - static_assert(a_int_r5::dimension::ArgN0 == 0, ""); - static_assert(a_int_r5::dimension::ArgN1 == 0, ""); - static_assert(a_int_r5::dimension::ArgN2 == 0, ""); - static_assert(a_int_r5::dimension::ArgN3 == 3, ""); - static_assert(a_int_r5::dimension::ArgN4 == 4, ""); + static_assert(a_int_r5::dimension::rank == 5); + static_assert(a_int_r5::dimension::rank_dynamic == 3); + static_assert(a_int_r5::dimension::ArgN0 == 0); + static_assert(a_int_r5::dimension::ArgN1 == 0); + static_assert(a_int_r5::dimension::ArgN2 == 0); + static_assert(a_int_r5::dimension::ArgN3 == 3); + static_assert(a_int_r5::dimension::ArgN4 == 4); static_assert( - std::is_same::value, ""); + std::is_same::value); } { @@ -603,71 +597,54 @@ void test_view_mapping() { using a_const_int_r1 = ViewDataAnalysis; - static_assert(std::is_void::value, ""); + static_assert(std::is_void::value); static_assert(std::is_same >::value, - ""); + Kokkos::Impl::ViewDimension<0> >::value); static_assert( - std::is_same::value, ""); + std::is_same::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert(std::is_same::value, - ""); + const int*>::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert(std::is_same::value, - ""); + const int>::value); static_assert(std::is_same::value, - ""); + const int*>::value); static_assert( - std::is_same::value, ""); - static_assert( - std::is_same::value, - ""); + std::is_same::value); + static_assert(std::is_same::value); using a_const_int_r3 = ViewDataAnalysis; - static_assert(std::is_void::value, ""); + static_assert(std::is_void::value); static_assert(std::is_same >::value, - ""); + Kokkos::Impl::ViewDimension<0, 0, 4> >::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert(std::is_same::value, - ""); + const int* * [4]>::value); static_assert(std::is_same::value, - ""); + const int* * [4]>::value); static_assert(std::is_same::value, - ""); + const int>::value); static_assert(std::is_same::value, - ""); + const int* * [4]>::value); static_assert(std::is_same::value, - ""); - static_assert( - std::is_same::value, - ""); + int* * [4]>::value); + static_assert(std::is_same::value); static_assert( std::is_same::value, - ""); + int* * [4]>::value); // std::cout << "typeid( const int**[4] ).name() = " << typeid( const // int**[4] ).name() << std::endl; diff --git a/lib/kokkos/core/unit_test/TestViewMapping_b.hpp b/lib/kokkos/core/unit_test/TestViewMapping_b.hpp index 9ac4e7da84..4aee035d17 100644 --- a/lib/kokkos/core/unit_test/TestViewMapping_b.hpp +++ b/lib/kokkos/core/unit_test/TestViewMapping_b.hpp @@ -156,7 +156,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using dst_traits = Kokkos::ViewTraits; using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(mapping::is_assignable, ""); + static_assert(mapping::is_assignable); Kokkos::View src; Kokkos::View dst(src); @@ -167,7 +167,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using dst_traits = Kokkos::ViewTraits; using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(mapping::is_assignable, ""); + static_assert(mapping::is_assignable); Kokkos::View src; Kokkos::View dst(src); @@ -180,7 +180,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(mapping::is_assignable, ""); + static_assert(mapping::is_assignable); Kokkos::View src; Kokkos::View dst(src); @@ -193,7 +193,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(mapping::is_assignable, ""); + static_assert(mapping::is_assignable); Kokkos::View src; Kokkos::View dst(src); @@ -206,7 +206,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(!mapping::is_assignable, ""); + static_assert(!mapping::is_assignable); } { // Assignment of rank-2 Right = Left @@ -215,7 +215,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(!mapping::is_assignable, ""); + static_assert(!mapping::is_assignable); } } @@ -226,7 +226,7 @@ TEST(TEST_CATEGORY, view_mapping_trivially_copyable) { using src_traits = dst_traits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(std::is_trivially_copyable{}, ""); + static_assert(std::is_trivially_copyable{}); } } // namespace Test diff --git a/lib/kokkos/core/unit_test/TestViewOutOfBoundsAccess.hpp b/lib/kokkos/core/unit_test/TestViewOutOfBoundsAccess.hpp new file mode 100644 index 0000000000..2716856c1f --- /dev/null +++ b/lib/kokkos/core/unit_test/TestViewOutOfBoundsAccess.hpp @@ -0,0 +1,175 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include +#include + +#include + +namespace { + +TEST(TEST_CATEGORY, append_formatted_multidimensional_index) { + using Kokkos::Impl::append_formatted_multidimensional_index; + { + char buffer[64] = "my prefix "; + append_formatted_multidimensional_index(buffer, 1); + EXPECT_STREQ(buffer, "my prefix [1]"); + } + { + char buffer[64] = "I was here"; + append_formatted_multidimensional_index(buffer, 1, 2, 3); + EXPECT_STREQ(buffer, "I was here[1,2,3]"); + } + { + char buffer[64] = "with mixed integer types "; + append_formatted_multidimensional_index(buffer, 1u, -2); + EXPECT_STREQ(buffer, "with mixed integer types [1,-2]"); + } +} + +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK + +template +struct TestViewOutOfBoundAccess { + View v; + static constexpr auto rank = View::rank; + + template + KOKKOS_FUNCTION decltype(auto) bad_access(std::index_sequence) const { + return v((Is * 1 + Is == 0 ? v.extent(Is) + 3 : 0)...); + } + + KOKKOS_FUNCTION void operator()(int) const { + ++bad_access(std::make_index_sequence{}); + } + + template + std::string get_details(std::index_sequence) { + std::stringstream ss; + ss << "with indices \\["; + ((ss << (Is == 0 ? v.extent(Is) + 3 : 0) + << (Is == View::rank() - 1 ? "\\]" : ",")), + ...); + ss << " but extents \\["; + ((ss << v.extent(Is) << (Is == View::rank() - 1 ? "\\]" : ",")), ...); + return ss.str(); + } + + auto get_details() { + return get_details(std::make_index_sequence()); + } + + TestViewOutOfBoundAccess(View w, ExecutionSpace const& s, std::string matcher) + : v(std::move(w)) { + constexpr bool view_accessible_from_execution_space = + Kokkos::SpaceAccessibility< + /*AccessSpace=*/ExecutionSpace, + /*MemorySpace=*/typename View::memory_space>::accessible; + EXPECT_TRUE(view_accessible_from_execution_space); + + matcher += ".*" + get_details(); + + EXPECT_DEATH( + { + Kokkos::parallel_for(Kokkos::RangePolicy(s, 0, 1), + *this); + Kokkos::fence(); + }, + matcher); + } +}; + +template +auto make_view_impl(LblOrPtr x, std::index_sequence) { + return View(x, (Is + 1)...); +} + +template +auto make_view(LblOrPtr x) { + return make_view_impl(std::move(x), + std::make_index_sequence()); +} + +template +void test_view_out_of_bounds_access() { + ExecutionSpace const exec_space{}; + // clang-format off + using V1 = Kokkos::View; + using V2 = Kokkos::View; + using V3 = Kokkos::View; + using V4 = Kokkos::View; + using V5 = Kokkos::View; + using V6 = Kokkos::View; + using V7 = Kokkos::View; + using V8 = Kokkos::View; + std::string const prefix = "Kokkos::View ERROR: out of bounds access"; + std::string const lbl = "my_label"; + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + int* const ptr = nullptr; + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + // clang-format on +} + +TEST(TEST_CATEGORY_DEATH, view_out_of_bounds_access) { + ::testing::FLAGS_gtest_death_test_style = "threadsafe"; + + using ExecutionSpace = TEST_EXECSPACE; + + if (false && Kokkos::SpaceAccessibility< + /*AccessSpace=*/ExecutionSpace, + /*MemorySpace=*/Kokkos::HostSpace>::accessible) { + GTEST_SKIP() << "skipping since no memory access violation would occur"; + } + +#if defined(KOKKOS_ENABLE_SYCL) && defined(NDEBUG) // FIXME_SYCL + if (std::is_same_v) { + GTEST_SKIP() << "skipping SYCL device-side abort does not work when NDEBUG " + "is defined"; + } +#endif +#if defined(KOKKOS_ENABLE_OPENMPTARGET) // FIXME_OPENMPTARGET + if (std::is_same_v) { + GTEST_SKIP() << "skipping because OpenMPTarget backend is currently not " + "able to abort from the device"; + } +#endif +#if defined(KOKKOS_ENABLE_OPENACC) // FIXME_OPENACC + if (std::is_same::value) { + GTEST_SKIP() << "skipping because OpenACC backend is currently not " + "able to abort from the device"; + } +#endif + + test_view_out_of_bounds_access(); +} + +#endif + +} // namespace diff --git a/lib/kokkos/core/unit_test/UnitTest_DeviceAndThreads.cpp b/lib/kokkos/core/unit_test/UnitTest_DeviceAndThreads.cpp index b522ac3e69..25442146fb 100644 --- a/lib/kokkos/core/unit_test/UnitTest_DeviceAndThreads.cpp +++ b/lib/kokkos/core/unit_test/UnitTest_DeviceAndThreads.cpp @@ -19,22 +19,23 @@ #include #include -int get_device_count() { +int get_num_devices() { + int num_devices; #if defined(KOKKOS_ENABLE_CUDA) - int count; - KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&count)); - return count; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&num_devices)); #elif defined(KOKKOS_ENABLE_HIP) - int count; - KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDevice(&count)); - return count; + KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&num_devices)); #elif defined(KOKKOS_ENABLE_OPENMPTARGET) - return omp_get_num_devices(); + num_devices = omp_get_num_devices(); #elif defined(KOKKOS_ENABLE_OPENACC) - return acc_get_num_devices(acc_get_device_type()); + num_devices = acc_get_num_devices(acc_get_device_type()); +#elif defined(KOKKOS_ENABLE_SYCL) + num_devices = sycl::device::get_devices(sycl::info::device_type::gpu).size(); #else - return 0; + num_devices = -1; #endif + assert(num_devices == Kokkos::num_devices()); + return num_devices; } int get_device_id() { @@ -44,15 +45,17 @@ int get_device_id() { #elif defined(KOKKOS_ENABLE_HIP) KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDevice(&device_id)); #elif defined(KOKKOS_ENABLE_OPENMPTARGET) - device_id = omp_get_device_num(); + device_id = omp_get_default_device(); #elif defined(KOKKOS_ENABLE_OPENACC) - device_id = acc_get_device_num(acc_get_device_type()); + device_id = acc_get_device_num(acc_get_device_type()); #elif defined(KOKKOS_ENABLE_SYCL) - // FIXME_SYCL ? - assert(false); - return -2; + // Not able to query the underlying runtime because there is no such thing as + // device currently being used with SYCL. We go through the Kokkos runtime + // which makes the assert below pointless but it still let us check that + // Kokkos selected the device we asked for from the Python tests. + device_id = Kokkos::device_id(); #else - device_id = -1; + device_id = -1; #endif assert(device_id == Kokkos::device_id()); return device_id; @@ -68,6 +71,14 @@ int get_max_threads() { #endif } +int get_hwloc_enabled() { +#ifdef KOKKOS_ENABLE_HWLOC + return 1; +#else + return 0; +#endif +} + int get_num_threads() { int const num_threads = Kokkos::DefaultHostExecutionSpace().concurrency(); assert(num_threads == Kokkos::num_threads()); @@ -90,9 +101,10 @@ int print_flag(std::string const& flag) { KOKKOS_TEST_PRINT_FLAG(num_threads); KOKKOS_TEST_PRINT_FLAG(max_threads); KOKKOS_TEST_PRINT_FLAG(device_id); - KOKKOS_TEST_PRINT_FLAG(device_count); + KOKKOS_TEST_PRINT_FLAG(num_devices); KOKKOS_TEST_PRINT_FLAG(disable_warnings); KOKKOS_TEST_PRINT_FLAG(tune_internals); + KOKKOS_TEST_PRINT_FLAG(hwloc_enabled); #undef KOKKOS_TEST_PRINT_FLAG diff --git a/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash b/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash index 8fe8e2b5ec..8bc8ef21cd 100755 --- a/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash +++ b/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash @@ -4,7 +4,7 @@ HostArch=(SNB HSW SKX KNL) DeviceArch=(Kepler35 Kepler37 Pascal60 Pascal61 Volta70) if [ ! -z "$KOKKOS_HOST_ARCH_TEST" ]; then export KOKKOS_ARCH_TEST=1 - HostArch=(WSM SNB HSW SKX WSM AMDAVX ARMv80 ARMv81 BDW KNC KNL BGQ Power7 Power8 Power9 Zen Zen2 Zen3 ARMv8_ThunderX ARMv8_ThunderX2) + HostArch=(SNB HSW SKX AMDAVX ARMv80 ARMv81 BDW KNC KNL Power8 Power9 Zen Zen2 Zen3 ARMv8_ThunderX ARMv8_ThunderX2) DeviceArch=() fi diff --git a/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_StreamsMultiGPU.cpp b/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_StreamsMultiGPU.cpp new file mode 100644 index 0000000000..d94735ceb2 --- /dev/null +++ b/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_StreamsMultiGPU.cpp @@ -0,0 +1,268 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include +#include + +namespace { + +struct StreamsAndDevices { + std::array streams; + std::array devices; + + StreamsAndDevices() { + int n_devices; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&n_devices)); + + devices = {0, n_devices - 1}; + for (int i = 0; i < 2; ++i) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(devices[i])); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamCreate(&streams[i])); + } + } + StreamsAndDevices(const StreamsAndDevices &) = delete; + StreamsAndDevices &operator=(const StreamsAndDevices &) = delete; + ~StreamsAndDevices() { + for (int i = 0; i < 2; ++i) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(devices[i])); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamDestroy(streams[i])); + } + } +}; + +std::array get_execution_spaces( + const StreamsAndDevices &streams_and_devices) { + TEST_EXECSPACE exec0(streams_and_devices.streams[0]); + TEST_EXECSPACE exec1(streams_and_devices.streams[1]); + + // Must return void to use ASSERT_EQ + [&]() { + ASSERT_EQ(exec0.cuda_device(), streams_and_devices.devices[0]); + ASSERT_EQ(exec1.cuda_device(), streams_and_devices.devices[1]); + }(); + + return {exec0, exec1}; +} + +// Test Interoperability with Cuda Streams +void test_policies(TEST_EXECSPACE exec0, Kokkos::View v0, + TEST_EXECSPACE exec, Kokkos::View v) { + using MemorySpace = typename TEST_EXECSPACE::memory_space; + + Kokkos::deep_copy(exec, v, 5); + Kokkos::deep_copy(exec0, v0, 5); + + Kokkos::deep_copy(v, v0); + + int sum; + int sum0; + + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Range_0", + Kokkos::RangePolicy(exec0, 0, 100), + Test::FunctorRange(v0)); + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Range", + Kokkos::RangePolicy(exec, 0, 100), + Test::FunctorRange(v)); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::RangeReduce_0", + Kokkos::RangePolicy>(exec0, + 0, 100), + Test::FunctorRangeReduce(v0), sum0); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::RangeReduce", + Kokkos::RangePolicy>(exec, 0, + 100), + Test::FunctorRangeReduce(v), sum); + ASSERT_EQ(600, sum0); + ASSERT_EQ(600, sum); + + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::MDRange_0", + Kokkos::MDRangePolicy>( + exec0, {0, 0}, {10, 10}), + Test::FunctorMDRange(v0)); + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::MDRange", + Kokkos::MDRangePolicy>( + exec, {0, 0}, {10, 10}), + Test::FunctorMDRange(v)); + Kokkos::parallel_reduce("Test::cuda::raw_cuda_stream::MDRangeReduce_0", + Kokkos::MDRangePolicy, + Kokkos::LaunchBounds<128, 2>>( + exec0, {0, 0}, {10, 10}), + Test::FunctorMDRangeReduce(v0), sum0); + Kokkos::parallel_reduce("Test::cuda::raw_cuda_stream::MDRangeReduce", + Kokkos::MDRangePolicy, + Kokkos::LaunchBounds<128, 2>>( + exec, {0, 0}, {10, 10}), + Test::FunctorMDRangeReduce(v), sum); + ASSERT_EQ(700, sum0); + ASSERT_EQ(700, sum); + + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Team_0", + Kokkos::TeamPolicy(exec0, 10, 10), + Test::FunctorTeam(v0)); + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Team", + Kokkos::TeamPolicy(exec, 10, 10), + Test::FunctorTeam(v)); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::Team_0", + Kokkos::TeamPolicy>(exec0, + 10, 10), + Test::FunctorTeamReduce(v0), sum0); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::Team", + Kokkos::TeamPolicy>(exec, 10, + 10), + Test::FunctorTeamReduce(v), sum); + ASSERT_EQ(800, sum0); + ASSERT_EQ(800, sum); +} + +TEST(cuda_multi_gpu, managed_views) { + StreamsAndDevices streams_and_devices; + { + std::array execs = + get_execution_spaces(streams_and_devices); + + Kokkos::View view0( + Kokkos::view_alloc("v0", execs[0]), 100); + Kokkos::View view(Kokkos::view_alloc("v", execs[1]), + 100); + + test_policies(execs[0], view0, execs[1], view); + } +} + +TEST(cuda_multi_gpu, unmanaged_views) { + StreamsAndDevices streams_and_devices; + { + std::array execs = + get_execution_spaces(streams_and_devices); + + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(execs[0].cuda_device())); + int *p0; + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMalloc(reinterpret_cast(&p0), sizeof(int) * 100)); + Kokkos::View view0(p0, 100); + + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(execs[1].cuda_device())); + int *p; + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMalloc(reinterpret_cast(&p), sizeof(int) * 100)); + Kokkos::View view(p, 100); + + test_policies(execs[0], view0, execs[1], view); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(p0)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(p)); + } +} + +struct ScratchFunctor { + int scratch_size; + int R; + + ScratchFunctor(int scratch_size_, int R_) + : scratch_size(scratch_size_), R(R_) {} + + KOKKOS_FUNCTION + void operator()(const Kokkos::TeamPolicy::member_type &team, + int &error_accum) const { + Kokkos::View scratch_mem( + team.team_scratch(1), scratch_size); + + // Initialize scratch memory + Kokkos::parallel_for(Kokkos::TeamVectorRange(team, 0, scratch_size), + [&](int i) { scratch_mem(i) = 0; }); + team.team_barrier(); + + // Increment each entry in scratch memory R times + for (int r = 0; r < R; ++r) { + Kokkos::parallel_for(Kokkos::TeamVectorRange(team, 0, scratch_size), + [&](int i) { scratch_mem(i) += 1; }); + } + team.team_barrier(); + + // Check that each scratch entry has been incremented exactly R times + int team_error_accum; + auto R_loc = R; // avoid implicit capture of this + Kokkos::parallel_reduce( + Kokkos::TeamVectorRange(team, 0, scratch_size), + [&](int i, int &tsum) { + if (scratch_mem(i) != R_loc) { + tsum += 1; + } + }, + team_error_accum); + Kokkos::single(Kokkos::PerTeam(team), + [&]() { error_accum += team_error_accum; }); + } +}; + +void test_scratch(TEST_EXECSPACE exec0, TEST_EXECSPACE exec1) { + constexpr int N = 10; + constexpr int R = 1000; + constexpr int scratch_size = 100; + using ScratchType = Kokkos::View; + + // Test allocating and using scratch space + ScratchFunctor f(scratch_size, R); + + auto policy0 = + Kokkos::TeamPolicy(exec0, N, 10) + .set_scratch_size( + 1, Kokkos::PerTeam(ScratchType::shmem_size(scratch_size))); + auto policy1 = + Kokkos::TeamPolicy(exec1, N, 10) + .set_scratch_size( + 1, Kokkos::PerTeam(ScratchType::shmem_size(scratch_size))); + + int error0, error1; + + Kokkos::parallel_reduce("test_scratch_device_0", policy0, f, error0); + Kokkos::parallel_reduce("test_scratch_device_1", policy1, f, error1); + ASSERT_EQ(error0, 0); + ASSERT_EQ(error1, 0); + + // Request larger scratch size to trigger a realloc and test + const auto new_scratch_size = scratch_size + 10; + ScratchFunctor f_more_scratch(new_scratch_size, R); + + auto policy0_more_scratch = + Kokkos::TeamPolicy(exec0, N, 10) + .set_scratch_size( + 1, Kokkos::PerTeam(ScratchType::shmem_size(new_scratch_size))); + auto policy1_more_scratch = + Kokkos::TeamPolicy(exec1, N, 10) + .set_scratch_size( + 1, Kokkos::PerTeam(ScratchType::shmem_size(new_scratch_size))); + + Kokkos::parallel_reduce("test_realloc_scratch_device_0", policy0_more_scratch, + f_more_scratch, error0); + Kokkos::parallel_reduce("test_realloc_scratch_device_1", policy1_more_scratch, + f_more_scratch, error1); + ASSERT_EQ(error0, 0); + ASSERT_EQ(error1, 0); +} + +TEST(cuda_multi_gpu, scratch_space) { + StreamsAndDevices streams_and_devices; + { + std::array execs = + get_execution_spaces(streams_and_devices); + + test_scratch(execs[0], execs[1]); + } +} +} // namespace diff --git a/lib/kokkos/core/unit_test/cuda/TestCuda_Spaces.cpp b/lib/kokkos/core/unit_test/cuda/TestCuda_Spaces.cpp index ae603101ab..11fe6b8555 100644 --- a/lib/kokkos/core/unit_test/cuda/TestCuda_Spaces.cpp +++ b/lib/kokkos/core/unit_test/cuda/TestCuda_Spaces.cpp @@ -29,200 +29,166 @@ __global__ void test_cuda_spaces_int_value(int *ptr) { TEST(cuda, space_access) { static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaSpace>::assignable); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaUVMSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaUVMSpace>::assignable); + + static_assert(!Kokkos::Impl::MemorySpaceAccess< + Kokkos::CudaSpace, Kokkos::CudaHostPinnedSpace>::assignable); + + static_assert( + Kokkos::Impl::MemorySpaceAccess::accessible); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( - Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + !Kokkos::Impl::MemorySpaceAccess::accessible); //-------------------------------------- static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaUVMSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaSpace>::assignable); + + static_assert(Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert(!Kokkos::Impl::MemorySpaceAccess< + Kokkos::CudaUVMSpace, Kokkos::CudaHostPinnedSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::accessible); //-------------------------------------- static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); + + static_assert(Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaUVMSpace>::accessible); //-------------------------------------- static_assert( - !Kokkos::SpaceAccessibility::accessible, - ""); + !Kokkos::SpaceAccessibility::accessible); static_assert( - Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::SpaceAccessibility::accessible); static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaUVMSpace>::accessible); static_assert( Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::accessible); static_assert(!Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaSpace>::accessible); static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaUVMSpace>::accessible); static_assert( Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::accessible); static_assert(std::is_same::Space, - Kokkos::HostSpace>::value, - ""); + Kokkos::HostSpace>::value); static_assert( std::is_same::Space, Kokkos::Device>::value, - ""); + Kokkos::CudaUVMSpace>>::value); static_assert( std::is_same::Space, - Kokkos::CudaHostPinnedSpace>::value, - ""); + Kokkos::CudaHostPinnedSpace>::value); static_assert(std::is_same, Kokkos::Device>::value, - ""); + Kokkos::CudaUVMSpace>>::value); static_assert( Kokkos::SpaceAccessibility::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); - static_assert( - Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + static_assert(Kokkos::SpaceAccessibility< + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); #ifdef KOKKOS_ENABLE_CUDA_UVM using uvm_view = Kokkos::View; static_assert(std::is_same::Space; static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert( - Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::SpaceAccessibility::accessible); static_assert( - Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::SpaceAccessibility::accessible); } } // namespace Test diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_1.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_1.cpp deleted file mode 100644 index 348b9feeab..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_1.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_01 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_10.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_10.cpp deleted file mode 100644 index a77a55ea65..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_10.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_10 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_11.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_11.cpp deleted file mode 100644 index 1b6a140920..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_11.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_11 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_12.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_12.cpp deleted file mode 100644 index 316bc85526..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_12.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_12 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_13.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_13.cpp deleted file mode 100644 index 6344960a1c..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_13.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_13 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_14.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_14.cpp deleted file mode 100644 index 4515174b82..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_14.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_14 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_15.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_15.cpp deleted file mode 100644 index 7ead50f094..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_15.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_15 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_16.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_16.cpp deleted file mode 100644 index e12b9b3894..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_16.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_16 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_17.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_17.cpp deleted file mode 100644 index 959d0ab750..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_17.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_17 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_18.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_18.cpp deleted file mode 100644 index 07d841519d..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_18.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_18 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_2.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_2.cpp deleted file mode 100644 index 042a515b16..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_2.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_02 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_3.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_3.cpp deleted file mode 100644 index dba401e5bc..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_3.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_03 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_4.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_4.cpp deleted file mode 100644 index a44c58bdb5..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_4.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_04 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_5.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_5.cpp deleted file mode 100644 index cac0841dd8..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_5.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_05 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_6.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_6.cpp deleted file mode 100644 index bafe3b3fd2..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_6.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_06 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_7.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_7.cpp deleted file mode 100644 index 3a4dd9d253..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_7.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_07 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_8.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_8.cpp deleted file mode 100644 index 4e92aae565..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_8.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_08 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_9.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_9.cpp deleted file mode 100644 index 44b8f3428d..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_9.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_09 -#include diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_Memory_Requirements.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_Memory_Requirements.cpp index 8c72e9f297..a213453ea1 100644 --- a/lib/kokkos/core/unit_test/hip/TestHIP_Memory_Requirements.cpp +++ b/lib/kokkos/core/unit_test/hip/TestHIP_Memory_Requirements.cpp @@ -48,6 +48,9 @@ TEST(hip, memory_requirements) { // we want all user-facing memory in hip to be coarse grained. As of // today(07.01.22) the documentation is not reliable/correct, we test the // memory on the device and host + // FIXME_HIP + GTEST_SKIP() << "skipping the test because the CI on MI100 returns: error( " + "hipErrorInvalidValue)"; KOKKOS_TEST_MEMORY_COARSEGRAINEDNESS(Kokkos::HIPSpace, int, 10); KOKKOS_TEST_MEMORY_COARSEGRAINEDNESS(Kokkos::HIPHostPinnedSpace, int, 10); KOKKOS_TEST_MEMORY_COARSEGRAINEDNESS(Kokkos::HIPManagedSpace, int, 10); diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_Spaces.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_Spaces.cpp index 14fd4e2883..8f7499c244 100644 --- a/lib/kokkos/core/unit_test/hip/TestHIP_Spaces.cpp +++ b/lib/kokkos/core/unit_test/hip/TestHIP_Spaces.cpp @@ -29,198 +29,164 @@ __global__ void test_hip_spaces_int_value(int *ptr) { TEST(hip, space_access) { static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPHostPinnedSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPSpace>::accessible); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPManagedSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPManagedSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPHostPinnedSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::accessible); - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPManagedSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPManagedSpace>::accessible); //-------------------------------------- static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); + + static_assert(Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable); + + static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPManagedSpace>::accessible); //-------------------------------------- static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPManagedSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable); + + static_assert(Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::accessible); //-------------------------------------- static_assert( - !Kokkos::SpaceAccessibility::accessible, - ""); + !Kokkos::SpaceAccessibility::accessible); static_assert( - Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::SpaceAccessibility::accessible); static_assert( Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::accessible); - static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + static_assert( + Kokkos::SpaceAccessibility::accessible); static_assert(!Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HIPSpace>::accessible); static_assert( Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::accessible); - static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + static_assert( + Kokkos::SpaceAccessibility::accessible); static_assert(std::is_same::Space, - Kokkos::HostSpace>::value, - ""); + Kokkos::HostSpace>::value); static_assert( std::is_same::Space, - Kokkos::HIPHostPinnedSpace>::value, - ""); + Kokkos::HIPHostPinnedSpace>::value); static_assert( std::is_same::Space, Kokkos::Device>::value, - ""); + Kokkos::HIPManagedSpace>>::value); static_assert( Kokkos::SpaceAccessibility::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); } template diff --git a/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp b/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp index 25c7138ed3..d7b2a57b44 100644 --- a/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp @@ -62,8 +62,10 @@ struct TestIncrExecSpace { auto concurrency = ExecSpace().concurrency(); ASSERT_GT(concurrency, 0); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 int in_parallel = ExecSpace::in_parallel(); ASSERT_FALSE(in_parallel); +#endif const char* name = ExecSpace::name(); std::cout << name << std::endl; diff --git a/lib/kokkos/core/unit_test/openmp/TestOpenMP_PartitionMaster.cpp b/lib/kokkos/core/unit_test/openmp/TestOpenMP_PartitionMaster.cpp deleted file mode 100644 index 92b8032bf0..0000000000 --- a/lib/kokkos/core/unit_test/openmp/TestOpenMP_PartitionMaster.cpp +++ /dev/null @@ -1,105 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#include -#include - -#include - -namespace Test { - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -TEST(openmp, partition_master) { - using Mutex = Kokkos::Experimental::MasterLock; - - Mutex mtx; - int errors = 0; - - auto master = [&errors, &mtx](int /*partition_id*/, int /*num_partitions*/) { - const int pool_size = Kokkos::OpenMP().impl_thread_pool_size(); - - { - std::unique_lock lock(mtx); - if (Kokkos::OpenMP::in_parallel()) { - ++errors; - } - if (Kokkos::OpenMP::impl_thread_pool_rank() != 0) { - ++errors; - } - } - - { - int local_errors = 0; - Kokkos::parallel_reduce( - Kokkos::RangePolicy(0, 1000), - [pool_size](const int, int& errs) { - if (Kokkos::OpenMP().impl_thread_pool_size() != pool_size) { - ++errs; - } - }, - local_errors); - Kokkos::atomic_add(&errors, local_errors); - } - - Kokkos::Experimental::UniqueToken token; - - Kokkos::View count("", token.size()); - - Kokkos::parallel_for(Kokkos::RangePolicy(0, 1000), - [=](const int) { - int i = token.acquire(); - ++count[i]; - token.release(i); - }); - - Kokkos::View sum(""); - Kokkos::parallel_for( - Kokkos::RangePolicy(0, token.size()), - [=](const int i) { Kokkos::atomic_add(sum.data(), count[i]); }); - - if (sum() != 1000) { - Kokkos::atomic_add(&errors, 1); - } - }; - - master(0, 1); - - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 4, 0); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 0, 4); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 2, 2); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 8, 0); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 0, 8); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 8, 8); - ASSERT_EQ(errors, 0); -} -#endif - -} // namespace Test diff --git a/lib/kokkos/core/unit_test/sycl/TestSYCL_Spaces.cpp b/lib/kokkos/core/unit_test/sycl/TestSYCL_Spaces.cpp index 914f843248..a4fd053e83 100644 --- a/lib/kokkos/core/unit_test/sycl/TestSYCL_Spaces.cpp +++ b/lib/kokkos/core/unit_test/sycl/TestSYCL_Spaces.cpp @@ -21,235 +21,192 @@ namespace Test { TEST(sycl, space_access) { static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::assignable, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HostSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::accessible); //-------------------------------------- static_assert(!Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Experimental::SYCL, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCL, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Experimental::SYCL, - Kokkos::Experimental::SYCLSharedUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCL, + Kokkos::Experimental::SYCLSharedUSMSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Experimental::SYCL, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCL, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); static_assert(!Kokkos::SpaceAccessibility< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); static_assert( std::is_same::Space, - Kokkos::HostSpace>::value, - ""); + Kokkos::HostSpace>::value); static_assert( std::is_same< Kokkos::Impl::HostMirror< Kokkos::Experimental::SYCLSharedUSMSpace>::Space, Kokkos::Device>::value, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace>>::value); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); static_assert(std::is_same::Space, - Kokkos::Experimental::SYCLHostUSMSpace>::value, - ""); + Kokkos::Experimental::SYCLHostUSMSpace>::value); static_assert( std::is_same< Kokkos::Device, Kokkos::Device>::value, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace>>::value); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror< - Kokkos::Experimental::SYCLDeviceUSMSpace>::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror< + Kokkos::Experimental::SYCLDeviceUSMSpace>::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror< - Kokkos::Experimental::SYCLSharedUSMSpace>::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror< + Kokkos::Experimental::SYCLSharedUSMSpace>::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror< - Kokkos::Experimental::SYCLHostUSMSpace>::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror< + Kokkos::Experimental::SYCLHostUSMSpace>::Space, + Kokkos::HostSpace>::accessible); } TEST(sycl, uvm) { diff --git a/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp b/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp index 3c85f661aa..946169a786 100644 --- a/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp +++ b/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp @@ -409,14 +409,19 @@ TEST(kokkosp, parallel_scan_no_fence) { << "skipping since the OpenMPTarget backend has unexpected fences"; #endif + // Execute the parallel_scan first without looking for fence events. + // Depending on the backend implementation and the order of tests, + // it might be that the first call to parallel_scan is reallocating scratch + // memory which implies a fence when deallocating. We are not interested in + // detecting this event. + TestScanFunctor tf; + Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf); + using namespace Kokkos::Test::Tools; listen_tool_events(Config::DisableAll(), Config::EnableKernels(), Config::EnableFences()); auto success = validate_absence( - [=]() { - TestScanFunctor tf; - Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf); - }, + [=]() { Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf); }, [=](BeginFenceEvent begin_event) { if (begin_event.name.find("Debug Only Check for Execution Error") != std::string::npos || @@ -450,13 +455,20 @@ TEST(kokkosp, parallel_scan_no_fence_view) { << "skipping since the OpenMPTarget backend has unexpected fences"; #endif + // Execute the parallel_scan first without looking for fence events. + // Depending on the backend implementation and the order of tests, + // it might be that the first call to parallel_scan is reallocating scratch + // memory which implies a fence when deallocating. We are not interested in + // detecting this event. + TestScanFunctor tf; + Kokkos::View v("scan_result"); + Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf, v); + using namespace Kokkos::Test::Tools; listen_tool_events(Config::DisableAll(), Config::EnableKernels(), Config::EnableFences()); - Kokkos::View v("scan_result"); auto success = validate_absence( [=]() { - TestScanFunctor tf; Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf, v); }, [=](BeginFenceEvent begin_event) { diff --git a/lib/kokkos/core/unit_test/tools/TestLogicalSpaces.hpp b/lib/kokkos/core/unit_test/tools/TestLogicalSpaces.hpp deleted file mode 100644 index 4e56f8996a..0000000000 --- a/lib/kokkos/core/unit_test/tools/TestLogicalSpaces.hpp +++ /dev/null @@ -1,177 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER -#include -#include -#include "Kokkos_Core.hpp" - -#include - -namespace Test { - -void debug_print(const Kokkos_Profiling_SpaceHandle hand, const char* name, - const void* ptr, const size_t size) { - std::cout << "Alloc: " << hand.name << ", [" << name << "," << ptr << "] " - << size << std::endl; -} -void debug_dealloc(const Kokkos_Profiling_SpaceHandle hand, const char* name, - const void* ptr, const size_t size) { - std::cout << "Dealloc: " << hand.name << ", [" << name << "," << ptr << "] " - << size << std::endl; -} - -void fail_on_event(const Kokkos::Profiling::SpaceHandle, const char*, - const void*, const uint64_t) { - ASSERT_TRUE(false) << "Unexpected memory event"; -} - -void expect_no_events() { - Kokkos::Tools::Experimental::set_allocate_data_callback(&fail_on_event); - Kokkos::Tools::Experimental::set_deallocate_data_callback(&fail_on_event); -} - -std::string expected_view_name; -std::string expected_space_name; -std::string error_message; -void expect_allocation_event(const std::string evn, const std::string esn, - const std::string em) { - expected_view_name = evn; - expected_space_name = esn; - error_message = em; - Kokkos::Tools::Experimental::set_allocate_data_callback( - [](const Kokkos_Profiling_SpaceHandle hand, const char* name, const void*, - const uint64_t) { - ASSERT_EQ(std::string(hand.name), expected_space_name) - << error_message << " (bad handle)"; - ASSERT_EQ(std::string(name), expected_view_name) - << error_message << " (bad view name)"; - expect_no_events(); - }); -} -void expect_deallocation_event(const std::string& evn, const std::string& esn, - const std::string em) { - expected_view_name = evn; - expected_space_name = esn; - error_message = em; - Kokkos::Tools::Experimental::set_deallocate_data_callback( - [](const Kokkos_Profiling_SpaceHandle hand, const char* name, const void*, - const uint64_t) { - ASSERT_EQ(std::string(hand.name), expected_space_name) - << error_message << " (bad handle)"; - ASSERT_EQ(std::string(name), expected_view_name) - << error_message << " (bad view name)"; - expect_no_events(); - }); -} - -struct TestSpaceNamer { - static constexpr const char* get_name() { return "TestSpace"; } -}; -struct TestSpaceNamerTwo { - static constexpr const char* get_name() { return "YoDawg"; } -}; -struct TestSpaceNamerThree { - static constexpr const char* get_name() { return "CustomAccessSpace"; } -}; -using fake_memory_space = Kokkos::Experimental::LogicalMemorySpace< - Kokkos::HostSpace, Kokkos::DefaultHostExecutionSpace, TestSpaceNamer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>; - -void test_view_construct() { - { - expect_allocation_event("puppy_view", "TestSpace", "View allocation"); - Kokkos::View pup_view("puppy_view", 1000); - expect_deallocation_event("puppy_view", "TestSpace", "View free"); - } - Kokkos::Tools::Experimental::pause_tools(); -} -void test_malloc_free() { - expect_allocation_event("does_malloc_work", "TestSpace", - "Error in malloc event"); - auto* temp = - Kokkos::kokkos_malloc("does_malloc_work", 1000); - expect_deallocation_event("does_malloc_work", "TestSpace", "Error in free"); - Kokkos::kokkos_free(temp); - Kokkos::Tools::Experimental::pause_tools(); -} -void test_chained_spaces() { - using doubly_fake_memory_space = Kokkos::Experimental::LogicalMemorySpace< - fake_memory_space, Kokkos::DefaultHostExecutionSpace, TestSpaceNamerTwo, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>; - { - expect_allocation_event("xzibit_dot_jpeg", "YoDawg", - "Chained space view allocation"); - Kokkos::View pup_view("xzibit_dot_jpeg", - 1000); - expect_deallocation_event("xzibit_dot_jpeg", "YoDawg", - "Chained space free"); - } - Kokkos::Tools::Experimental::pause_tools(); -} -void test_space_allocations() { - fake_memory_space debug_space; - expect_allocation_event("allocation_from_space", "TestSpace", - "Space allocation"); - auto* temp = debug_space.allocate("allocation_from_space", 1000); - expect_deallocation_event("allocation_from_space", "TestSpace", - "Space deallocation"); - debug_space.deallocate("allocation_from_space", temp, 1000); - Kokkos::Tools::Experimental::pause_tools(); -} -template -struct AccessCheckKernel { - Kokkos::View data; - KOKKOS_FUNCTION void operator()(const int i) const { data[i] = i; } -}; - -template -void test_allowed_access() { - constexpr const int data_size = 1000; - // We use an unmananged View here since we want to detect a memory access - // violation in the parallel_for and not in the initialization of the View. - std::vector test_data(data_size); - Kokkos::View test_view(test_data.data(), data_size); - AccessCheckKernel functor{test_view}; - Kokkos::parallel_for( - "access_allowed", - Kokkos::RangePolicy(0, data_size), - functor); - Kokkos::fence(); -} - -using semantically_independent_logical_space = - Kokkos::Experimental::LogicalMemorySpace< - Kokkos::HostSpace, Kokkos::DefaultHostExecutionSpace, - TestSpaceNamerThree, - Kokkos::Experimental::LogicalSpaceSharesAccess::no_shared_access>; - -TEST(defaultdevicetype, logical_space_views) { test_view_construct(); } -TEST(defaultdevicetype, logical_space_malloc) { test_malloc_free(); } -TEST(defaultdevicetype, logical_space_alloc) { test_space_allocations(); } -TEST(defaultdevicetype, chained_logical_spaces) { test_chained_spaces(); } -TEST(defaultdevicetype, access_allowed) { - test_allowed_access(); -} -// FIXME_SYCL -#if !(defined(KOKKOS_COMPILER_INTEL_LLVM) && defined(KOKKOS_ENABLE_SYCL)) -TEST(defaultdevicetype_DeathTest, access_forbidden) { - ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - ASSERT_DEATH( - { test_allowed_access(); }, - "Kokkos::View ERROR: attempt to access inaccessible memory space"); -} -#endif - -} // namespace Test diff --git a/lib/kokkos/core/unit_test/tools/TestProfilingSection.cpp b/lib/kokkos/core/unit_test/tools/TestProfilingSection.cpp index 318766ac45..9d35d67feb 100644 --- a/lib/kokkos/core/unit_test/tools/TestProfilingSection.cpp +++ b/lib/kokkos/core/unit_test/tools/TestProfilingSection.cpp @@ -108,8 +108,8 @@ TEST(defaultdevicetype, profiling_section) { } using Kokkos::Profiling::ProfilingSection; -static_assert(!std::is_default_constructible::value, ""); -static_assert(!std::is_copy_constructible::value, ""); -static_assert(!std::is_move_constructible::value, ""); -static_assert(!std::is_copy_assignable::value, ""); -static_assert(!std::is_move_assignable::value, ""); +static_assert(!std::is_default_constructible::value); +static_assert(!std::is_copy_constructible::value); +static_assert(!std::is_move_constructible::value); +static_assert(!std::is_copy_assignable::value); +static_assert(!std::is_move_assignable::value); diff --git a/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp b/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp index 5b8a21af83..22b8b6d63c 100644 --- a/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp +++ b/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp @@ -58,12 +58,7 @@ struct hello_world { // is unnecessary but harmless. KOKKOS_INLINE_FUNCTION void operator()(const int i) const { - // FIXME_SYCL needs workaround for printf -#ifndef __SYCL_DEVICE_ONLY__ - printf("Hello from i = %i\n", i); -#else - (void)i; -#endif + Kokkos::printf("Hello from i = %i\n", i); } }; diff --git a/lib/kokkos/example/tutorial/01_hello_world_lambda/hello_world_lambda.cpp b/lib/kokkos/example/tutorial/01_hello_world_lambda/hello_world_lambda.cpp index c78f307636..909765e1fc 100644 --- a/lib/kokkos/example/tutorial/01_hello_world_lambda/hello_world_lambda.cpp +++ b/lib/kokkos/example/tutorial/01_hello_world_lambda/hello_world_lambda.cpp @@ -76,13 +76,9 @@ int main(int argc, char* argv[]) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) Kokkos::parallel_for( 15, KOKKOS_LAMBDA(const int i) { - // FIXME_SYCL needs workaround for printf -#ifndef __SYCL_DEVICE_ONLY__ - // printf works in a CUDA parallel kernel; std::ostream does not. - printf("Hello from i = %i\n", i); -#else - (void)i; -#endif + // Kokko::printf works for all backends in a parallel kernel; + // std::ostream does not. + Kokkos::printf("Hello from i = %i\n", i); }); #endif // You must call finalize() after you are done using Kokkos. diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp index b041f8d435..ee3f4721d9 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp @@ -47,13 +47,9 @@ struct hello_world { // The TeamPolicy<>::member_type provides functions to query the multi // dimensional index of a thread as well as the number of thread-teams and // the size of each team. -#ifndef __SYCL_DEVICE_ONLY__ - // FIXME_SYCL needs printf workaround - printf("Hello World: %i %i // %i %i\n", thread.league_rank(), - thread.team_rank(), thread.league_size(), thread.team_size()); -#else - (void)thread; -#endif + Kokkos::printf("Hello World: %i %i // %i %i\n", thread.league_rank(), + thread.team_rank(), thread.league_size(), + thread.team_size()); } }; diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp index 933b254f7c..1e6812adea 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp @@ -57,16 +57,12 @@ int main(int narg, char* args[]) { policy, KOKKOS_LAMBDA(const team_member& thread, int& lsum) { lsum += 1; - // TeamPolicy<>::member_type provides functions to query the - // multidimensional index of a thread, as well as the number of - // thread teams and the size of each team. -#ifndef __SYCL_DEVICE_ONLY__ - // FIXME_SYCL needs workaround for printf - printf("Hello World: %i %i // %i %i\n", thread.league_rank(), - thread.team_rank(), thread.league_size(), thread.team_size()); -#else - (void)thread; -#endif + // TeamPolicy<>::member_type provides functions to query the + // multidimensional index of a thread, as well as the number of + // thread teams and the size of each team. + Kokkos::printf("Hello World: %i %i // %i %i\n", thread.league_rank(), + thread.team_rank(), thread.league_size(), + thread.team_size()); }, sum); #endif diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp index 398810d133..75d6089e9a 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp @@ -43,16 +43,11 @@ struct hello_world { // the operator using a team_policy acts like a parallel region for the // team. That means that everything outside of the nested parallel_for is // also executed by all threads of the team. - Kokkos::parallel_for(Kokkos::TeamThreadRange(thread, 31), - [&](const int& i) { -#ifndef __SYCL_DEVICE_ONLY__ - // FIXME_SYCL needs printf workaround - printf("Hello World: (%i , %i) executed loop %i \n", - thread.league_rank(), thread.team_rank(), i); -#else - (void) i; -#endif - }); + Kokkos::parallel_for( + Kokkos::TeamThreadRange(thread, 31), [&](const int& i) { + Kokkos::printf("Hello World: (%i , %i) executed loop %i \n", + thread.league_rank(), thread.team_rank(), i); + }); } }; diff --git a/lib/kokkos/generate_makefile.bash b/lib/kokkos/generate_makefile.bash index 1b216d9fe3..25370daa3f 100755 --- a/lib/kokkos/generate_makefile.bash +++ b/lib/kokkos/generate_makefile.bash @@ -160,6 +160,7 @@ display_help_text() { echo " AMD_GFX906 = AMD GPU MI50/MI60 GFX906" echo " AMD_GFX908 = AMD GPU MI100 GFX908" echo " AMD_GFX90A = AMD GPU MI200 GFX90A" + echo " AMD_GFX940 = AMD GPU MI300 GFX940" echo " AMD_GFX942 = AMD GPU MI300 GFX942" echo " AMD_GFX1030 = AMD GPU V620/W6800 GFX1030" echo " AMD_GFX1100 = AMD GPU RX 7900 XT(X) GFX1100" @@ -169,12 +170,9 @@ display_help_text() { echo " ARMV8_THUNDERX = ARMv8 Cavium ThunderX CPU" echo " ARMV8_THUNDERX2 = ARMv8 Cavium ThunderX2 CPU" echo " [IBM]" - echo " BGQ = IBM Blue Gene Q" - echo " Power7 = IBM POWER7 and POWER7+ CPUs" echo " Power8 = IBM POWER8 CPUs" echo " Power9 = IBM POWER9 CPUs" echo " [Intel]" - echo " WSM = Intel Westmere CPUs" echo " SNB = Intel Sandy/Ivy Bridge CPUs" echo " HSW = Intel Haswell CPUs" echo " BDW = Intel Broadwell Xeon E-class CPUs" @@ -225,7 +223,6 @@ display_help_text() { echo "--with-gtest=/Path/To/Gtest: Set path to gtest. (Used in unit and performance" echo " tests.)" echo "--with-hwloc=/Path/To/Hwloc: Set path to hwloc library." - echo "--with-memkind=/Path/To/MemKind: Set path to memkind library." echo "--with-options=[OPT]: Additional options to Kokkos:" echo " compiler_warnings" echo " aggressive_vectorization = add ivdep on loops" @@ -341,10 +338,6 @@ do KOKKOS_HWLOC=ON HWLOC_PATH="${key#*=}" ;; - --with-memkind*) - KOKKOS_MEMKIND=ON - MEMKIND_PATH="${key#*=}" - ;; --arch*) KOKKOS_ARCH="${key#*=}" ;; @@ -451,15 +444,6 @@ else KOKKOS_HWLOC_CMD= fi -if [ "$KOKKOS_MEMKIND" == "ON" ]; then - KOKKOS_MEMKIND_CMD=-DKokkos_ENABLE_MEMKIND=ON - if [ "$MEMKIND_PATH" != "" ]; then - KOKKOS_MEMKIND_PATH_CMD=-DMEMKIND_ROOT=$MEMKIND_PATH - fi -else - KOKKOS_MEMKIND_CMD= -fi - if [ ! -e ${KOKKOS_PATH}/CMakeLists.txt ]; then if [ "${KOKKOS_PATH}" == "" ]; then CM_SCRIPT=$0 @@ -505,5 +489,5 @@ if [[ ${COMPILER} == *clang* ]]; then fi fi -echo cmake $COMPILER_CMD -DCMAKE_CXX_FLAGS="${KOKKOS_CXXFLAGS}" -DCMAKE_EXE_LINKER_FLAGS="${KOKKOS_LDFLAGS}" -DCMAKE_INSTALL_PREFIX=${PREFIX} ${KOKKOS_DEVICE_CMD} ${KOKKOS_ARCH_CMD} -DKokkos_ENABLE_TESTS=${KOKKOS_DO_TESTS} -DKokkos_ENABLE_EXAMPLES=${KOKKOS_DO_EXAMPLES} ${KOKKOS_OPTION_CMD} ${KOKKOS_CUDA_OPTION_CMD} ${KOKKOS_HIP_OPTION_CMD} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_EXTENSIONS=OFF ${STANDARD_CMD} ${KOKKOS_DEBUG_CMD} ${KOKKOS_BC_CMD} ${KOKKOS_HWLOC_CMD} ${KOKKOS_HWLOC_PATH_CMD} ${KOKKOS_MEMKIND_CMD} ${KOKKOS_MEMKIND_PATH_CMD} -DKokkos_ENABLE_DEPRECATION_WARNINGS=${KOKKOS_DEPRECATED_CODE_WARNINGS} -DKokkos_ENABLE_DEPRECATED_CODE_4=${KOKKOS_DEPRECATED_CODE} ${KOKKOS_PATH} -cmake $COMPILER_CMD -DCMAKE_CXX_FLAGS="${KOKKOS_CXXFLAGS//\"}" -DCMAKE_EXE_LINKER_FLAGS="${KOKKOS_LDFLAGS//\"}" -DCMAKE_INSTALL_PREFIX=${PREFIX} ${KOKKOS_DEVICE_CMD} ${KOKKOS_ARCH_CMD} -DKokkos_ENABLE_TESTS=${KOKKOS_DO_TESTS} -DKokkos_ENABLE_EXAMPLES=${KOKKOS_DO_EXAMPLES} ${KOKKOS_OPTION_CMD} ${KOKKOS_CUDA_OPTION_CMD} ${KOKKOS_HIP_OPTION_CMD} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_EXTENSIONS=OFF ${STANDARD_CMD} ${KOKKOS_DEBUG_CMD} ${KOKKOS_BC_CMD} ${KOKKOS_HWLOC_CMD} ${KOKKOS_HWLOC_PATH_CMD} ${KOKKOS_MEMKIND_CMD} ${KOKKOS_MEMKIND_PATH_CMD} ${PASSTHRU_CMAKE_FLAGS} -DKokkos_ENABLE_DEPRECATION_WARNINGS=${KOKKOS_DEPRECATED_CODE_WARNINGS} -DKokkos_ENABLE_DEPRECATED_CODE_4=${KOKKOS_DEPRECATED_CODE} ${KOKKOS_PATH} +echo cmake $COMPILER_CMD -DCMAKE_CXX_FLAGS="${KOKKOS_CXXFLAGS}" -DCMAKE_EXE_LINKER_FLAGS="${KOKKOS_LDFLAGS}" -DCMAKE_INSTALL_PREFIX=${PREFIX} ${KOKKOS_DEVICE_CMD} ${KOKKOS_ARCH_CMD} -DKokkos_ENABLE_TESTS=${KOKKOS_DO_TESTS} -DKokkos_ENABLE_EXAMPLES=${KOKKOS_DO_EXAMPLES} ${KOKKOS_OPTION_CMD} ${KOKKOS_CUDA_OPTION_CMD} ${KOKKOS_HIP_OPTION_CMD} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_EXTENSIONS=OFF ${STANDARD_CMD} ${KOKKOS_DEBUG_CMD} ${KOKKOS_BC_CMD} ${KOKKOS_HWLOC_CMD} ${KOKKOS_HWLOC_PATH_CMD} -DKokkos_ENABLE_DEPRECATION_WARNINGS=${KOKKOS_DEPRECATED_CODE_WARNINGS} -DKokkos_ENABLE_DEPRECATED_CODE_4=${KOKKOS_DEPRECATED_CODE} ${KOKKOS_PATH} +cmake $COMPILER_CMD -DCMAKE_CXX_FLAGS="${KOKKOS_CXXFLAGS//\"}" -DCMAKE_EXE_LINKER_FLAGS="${KOKKOS_LDFLAGS//\"}" -DCMAKE_INSTALL_PREFIX=${PREFIX} ${KOKKOS_DEVICE_CMD} ${KOKKOS_ARCH_CMD} -DKokkos_ENABLE_TESTS=${KOKKOS_DO_TESTS} -DKokkos_ENABLE_EXAMPLES=${KOKKOS_DO_EXAMPLES} ${KOKKOS_OPTION_CMD} ${KOKKOS_CUDA_OPTION_CMD} ${KOKKOS_HIP_OPTION_CMD} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_EXTENSIONS=OFF ${STANDARD_CMD} ${KOKKOS_DEBUG_CMD} ${KOKKOS_BC_CMD} ${KOKKOS_HWLOC_CMD} ${KOKKOS_HWLOC_PATH_CMD} ${PASSTHRU_CMAKE_FLAGS} -DKokkos_ENABLE_DEPRECATION_WARNINGS=${KOKKOS_DEPRECATED_CODE_WARNINGS} -DKokkos_ENABLE_DEPRECATED_CODE_4=${KOKKOS_DEPRECATED_CODE} ${KOKKOS_PATH} diff --git a/lib/kokkos/gnu_generate_makefile.bash b/lib/kokkos/gnu_generate_makefile.bash index 5ea159cdd4..7a197bb71d 100755 --- a/lib/kokkos/gnu_generate_makefile.bash +++ b/lib/kokkos/gnu_generate_makefile.bash @@ -74,9 +74,6 @@ do --with-hwloc*) HWLOC_PATH="${key#*=}" ;; - --with-memkind*) - MEMKIND_PATH="${key#*=}" - ;; --arch*) KOKKOS_ARCH="${key#*=}" ;; @@ -148,12 +145,9 @@ do echo " ARMv8-ThunderX = ARMv8 Cavium ThunderX CPU" echo " ARMv8-TX2 = ARMv8 Cavium ThunderX2 CPU" echo " [IBM]" - echo " BGQ = IBM Blue Gene Q" - echo " Power7 = IBM POWER7 and POWER7+ CPUs" echo " Power8 = IBM POWER8 CPUs" echo " Power9 = IBM POWER9 CPUs" echo " [Intel]" - echo " WSM = Intel Westmere CPUs" echo " SNB = Intel Sandy/Ivy Bridge CPUs" echo " HSW = Intel Haswell CPUs" echo " BDW = Intel Broadwell Xeon E-class CPUs" @@ -198,7 +192,6 @@ do echo "--with-gtest=/Path/To/Gtest: Set path to gtest. (Used in unit and performance" echo " tests.)" echo "--with-hwloc=/Path/To/Hwloc: Set path to hwloc library." - echo "--with-memkind=/Path/To/MemKind: Set path to memkind library." echo "--with-options=[OPT]: Additional options to Kokkos:" echo " compiler_warnings" echo " aggressive_vectorization = add ivdep on loops" @@ -298,11 +291,6 @@ if [ ${#HWLOC_PATH} -gt 0 ]; then KOKKOS_USE_TPLS="${KOKKOS_USE_TPLS},hwloc" fi -if [ ${#MEMKIND_PATH} -gt 0 ]; then - KOKKOS_SETTINGS="${KOKKOS_SETTINGS} MEMKIND_PATH=${MEMKIND_PATH}" - KOKKOS_USE_TPLS="${KOKKOS_USE_TPLS},experimental_memkind" -fi - if [ ${#KOKKOS_USE_TPLS} -gt 0 ]; then KOKKOS_SETTINGS="${KOKKOS_SETTINGS} KOKKOS_USE_TPLS=${KOKKOS_USE_TPLS}" fi diff --git a/lib/kokkos/master_history.txt b/lib/kokkos/master_history.txt index fd0020b8d5..bd122a456b 100644 --- a/lib/kokkos/master_history.txt +++ b/lib/kokkos/master_history.txt @@ -34,3 +34,5 @@ tag: 4.0.00 date: 02:23:2023 master: 5ad60966 release: 52ea2953 tag: 4.0.01 date: 04:26:2023 master: aa1f48f3 release: 5893754f tag: 4.1.00 date: 06:20:2023 master: 62d2b6c8 release: adde1e6a tag: 4.2.00 date: 11:09:2023 master: 1a3ea28f release: abe01c88 +tag: 4.2.01 date: 01:30:2024 master: 71a9bcae release: 221e5f7a +tag: 4.3.00 date: 04:03:2024 master: e0dc0128 release: f08217a4 diff --git a/lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp b/lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp index 521160b76f..6d0956f383 100644 --- a/lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp +++ b/lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp @@ -30,9 +30,11 @@ "Kokkos_SIMD_AVX2.hpp must be included before Kokkos_SIMD_Common_Math.hpp!" #endif -// FIXME_HIP ROCm 5.6 and 5.7 can't compile with the intrinsic used here. -#if defined(__HIPCC__) && (HIP_VERSION_MAJOR == 5) && \ - ((HIP_VERSION_MINOR == 6) || (HIP_VERSION_MINOR == 7)) +// FIXME_HIP ROCm 5.6, 5.7, and 6.0 can't compile with the intrinsic used here. +#if defined(__HIPCC__) && \ + (((HIP_VERSION_MAJOR == 5) && \ + ((HIP_VERSION_MINOR == 6) || (HIP_VERSION_MINOR == 7))) || \ + ((HIP_VERSION_MAJOR == 6) && ((HIP_VERSION_MINOR == 0)))) #define KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE #endif @@ -563,10 +565,18 @@ class simd> { element_aligned_tag) { m_value = _mm256_loadu_pd(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm256_load_pd(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm256_storeu_pd(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_store_pd(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256d() const { return m_value; @@ -818,10 +828,18 @@ class simd> { element_aligned_tag) { m_value = _mm_loadu_ps(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm_load_ps(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm_storeu_ps(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm_store_ps(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m128() const { return m_value; @@ -1059,17 +1077,31 @@ class simd> { } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, element_aligned_tag) { - // FIXME_HIP ROCm 5.6 can't compile with the intrinsic used here. + // FIXME_HIP ROCm 5.6, 5.7, and 6.0 can't compile with the intrinsic used + // here. #ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE m_value = _mm_loadu_si128(reinterpret_cast<__m128i const*>(ptr)); #else m_value = _mm_maskload_epi32(ptr, static_cast<__m128i>(mask_type(true))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + // FIXME_HIP ROCm 5.6 can't compile with the intrinsic used here. +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + m_value = _mm_load_si128(reinterpret_cast<__m128i const*>(ptr)); +#else + m_value = _mm_maskload_epi32(ptr, static_cast<__m128i>(mask_type(true))); #endif } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm_maskstore_epi32(ptr, static_cast<__m128i>(mask_type(true)), m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm_maskstore_epi32(ptr, static_cast<__m128i>(mask_type(true)), m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m128i() const { return m_value; @@ -1111,6 +1143,11 @@ class simd> { return simd( _mm_add_epi32(static_cast<__m128i>(lhs), static_cast<__m128i>(rhs))); } + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd( + _mm_mullo_epi32(static_cast<__m128i>(lhs), static_cast<__m128i>(rhs))); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator>>( simd const& lhs, int rhs) noexcept { @@ -1249,6 +1286,15 @@ class simd> { #else m_value = _mm256_maskload_epi64(reinterpret_cast(ptr), static_cast<__m256i>(mask_type(true))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + m_value = _mm256_load_si256(reinterpret_cast<__m256i const*>(ptr)); +#else + m_value = _mm256_maskload_epi64(reinterpret_cast(ptr), + static_cast<__m256i>(mask_type(true))); #endif } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( @@ -1256,6 +1302,11 @@ class simd> { _mm256_maskstore_epi64(reinterpret_cast(ptr), static_cast<__m256i>(mask_type(true)), m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_maskstore_epi64(reinterpret_cast(ptr), + static_cast<__m256i>(mask_type(true)), m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256i() const { return m_value; @@ -1278,6 +1329,13 @@ class simd> { _mm256_add_epi64(static_cast<__m256i>(lhs), static_cast<__m256i>(rhs))); } + // fallback simd multiplication using generator constructor + // multiplying vectors of 64-bit signed integers is not available in AVX2 + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); + } + // AVX2 only has eq and gt comparisons for int64 [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend mask_type operator==(simd const& lhs, simd const& rhs) noexcept { @@ -1306,17 +1364,19 @@ class simd> { return !(lhs == rhs); } + // fallback simd shift right arithmetic using generator constructor // Shift right arithmetic for 64bit packed ints is not availalbe in AVX2 - // [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd( - // simd const& lhs, int rhs) noexcept { - // return simd(_mm256_srai_epi64(static_cast<__m256i>(lhs), rhs)); - // } + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator>>( + simd const& lhs, int rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] >> rhs; }); + } - // [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd( - // simd const& lhs, simd const& rhs) noexcept { - // return simd(_mm256_srav_epi64(static_cast<__m256i>(lhs), - // static_cast<__m256i>(rhs)))); - // } + // fallback simd shift right arithmetic using generator constructor + // Shift right arithmetic for 64bit packed ints is not availalbe in AVX2 + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator>>( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] >> rhs[i]; }); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator<<( simd const& lhs, int rhs) noexcept { @@ -1444,6 +1504,15 @@ class simd> { #else m_value = _mm256_maskload_epi64(reinterpret_cast(ptr), static_cast<__m256i>(mask_type(true))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + m_value = _mm256_load_si256(reinterpret_cast<__m256i const*>(ptr)); +#else + m_value = _mm256_maskload_epi64(reinterpret_cast(ptr), + static_cast<__m256i>(mask_type(true))); #endif } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256i() @@ -1460,6 +1529,14 @@ class simd> { return simd( _mm256_sub_epi64(static_cast<__m256i>(lhs), static_cast<__m256i>(rhs))); } + + // fallback simd multiplication using generator constructor + // multiplying vectors of 64-bit unsigned integers is not available in AVX2 + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); + } + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator>>( simd const& lhs, int rhs) noexcept { return _mm256_srli_epi64(static_cast<__m256i>(lhs), rhs); @@ -1588,6 +1665,11 @@ class const_where_expression>, static_cast<__m256d>(m_value)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(double* mem, vector_aligned_tag) const { + _mm256_maskstore_pd(mem, _mm256_castpd_si256(static_cast<__m256d>(m_mask)), + static_cast<__m256d>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( double* mem, simd> const& index) const { @@ -1624,6 +1706,11 @@ class where_expression>, mem, _mm256_castpd_si256(static_cast<__m256d>(m_mask)))); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(double const* mem, vector_aligned_tag) { + m_value = value_type(_mm256_maskload_pd( + mem, _mm256_castpd_si256(static_cast<__m256d>(m_mask)))); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( double const* mem, simd> const& index) { @@ -1667,6 +1754,11 @@ class const_where_expression>, static_cast<__m128>(m_value)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(float* mem, vector_aligned_tag) const { + _mm_maskstore_ps(mem, _mm_castps_si128(static_cast<__m128>(m_mask)), + static_cast<__m128>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( float* mem, simd> const& index) const { @@ -1703,6 +1795,11 @@ class where_expression>, _mm_maskload_ps(mem, _mm_castps_si128(static_cast<__m128>(m_mask)))); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(float const* mem, vector_aligned_tag) { + m_value = value_type( + _mm_maskload_ps(mem, _mm_castps_si128(static_cast<__m128>(m_mask)))); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( float const* mem, simd> const& index) { @@ -1746,6 +1843,12 @@ class const_where_expression< _mm_maskstore_epi32(mem, static_cast<__m128i>(m_mask), static_cast<__m128i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int32_t* mem, vector_aligned_tag) const { + _mm_maskstore_epi32(mem, static_cast<__m128i>(m_mask), + static_cast<__m128i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int32_t* mem, @@ -1786,6 +1889,16 @@ class where_expression>, m_value = value_type(_mm_maskload_epi32(mem, static_cast<__m128i>(m_mask))); #endif } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::int32_t const* mem, vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + __m128i tmp = _mm_load_si128(reinterpret_cast<__m128i const*>(mem)); + m_value = value_type(_mm_and_si128(tmp, static_cast<__m128i>(m_mask))); +#else + m_value = value_type(_mm_maskload_epi32(mem, static_cast<__m128i>(m_mask))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int32_t const* mem, @@ -1833,6 +1946,13 @@ class const_where_expression< static_cast<__m256i>(m_mask), static_cast<__m256i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(std::int64_t* mem, + vector_aligned_tag) const { + _mm256_maskstore_epi64(reinterpret_cast(mem), + static_cast<__m256i>(m_mask), + static_cast<__m256i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int64_t* mem, @@ -1874,6 +1994,17 @@ class where_expression>, reinterpret_cast(mem), static_cast<__m256i>(m_mask))); #endif } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(std::int64_t const* mem, + vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + __m256i tmp = _mm256_load_si256(reinterpret_cast<__m256i const*>(mem)); + m_value = value_type(_mm256_and_si256(tmp, static_cast<__m256i>(m_mask))); +#else + m_value = value_type(_mm256_maskload_epi64( + reinterpret_cast(mem), static_cast<__m256i>(m_mask))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int64_t const* mem, @@ -1922,6 +2053,13 @@ class const_where_expression< static_cast<__m256i>(m_mask), static_cast<__m256i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(std::uint64_t* mem, + vector_aligned_tag) const { + _mm256_maskstore_epi64(reinterpret_cast(mem), + static_cast<__m256i>(m_mask), + static_cast<__m256i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::uint64_t* mem, @@ -1963,6 +2101,17 @@ class where_expression>, reinterpret_cast(mem), static_cast<__m256i>(m_mask))); #endif } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(std::uint64_t const* mem, + vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + __m256i tmp = _mm256_load_si256(reinterpret_cast<__m256i const*>(mem)); + m_value = value_type(_mm256_and_si256(tmp, static_cast<__m256i>(m_mask))); +#else + m_value = value_type(_mm256_maskload_epi64( + reinterpret_cast(mem), static_cast<__m256i>(m_mask))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::uint64_t const* mem, diff --git a/lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp b/lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp index c5d1717ad4..7fa35c204a 100644 --- a/lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp +++ b/lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp @@ -193,10 +193,18 @@ class simd> { element_aligned_tag) { m_value = _mm512_loadu_pd(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm512_load_pd(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm512_storeu_pd(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm512_store_pd(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m512d() const { return m_value; @@ -475,10 +483,18 @@ class simd> { element_aligned_tag) { m_value = _mm256_loadu_ps(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm256_load_ps(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm256_storeu_ps(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_store_ps(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256() const { return m_value; @@ -735,15 +751,25 @@ class simd> { operator[](std::size_t i) const { return reinterpret_cast(&m_value)[i]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + element_aligned_tag) { + m_value = _mm256_mask_loadu_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm256_mask_load_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm256_mask_storeu_epi32(ptr, static_cast<__mmask8>(mask_type(true)), m_value); } - KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, - element_aligned_tag) { - m_value = _mm256_mask_loadu_epi32( - _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_mask_store_epi32(ptr, static_cast<__mmask8>(mask_type(true)), + m_value); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256i() const { @@ -934,21 +960,30 @@ class simd> { operator[](std::size_t i) const { return reinterpret_cast(&m_value)[i]; } - KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( - value_type* ptr, element_aligned_tag) const { - _mm256_mask_storeu_epi32(ptr, static_cast<__mmask8>(mask_type(true)), - m_value); - } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, element_aligned_tag) { m_value = _mm256_mask_loadu_epi32( _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm256_mask_load_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( + value_type* ptr, element_aligned_tag) const { + _mm256_mask_storeu_epi32(ptr, static_cast<__mmask8>(mask_type(true)), + m_value); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_mask_store_epi32(ptr, static_cast<__mmask8>(mask_type(true)), + m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256i() const { return m_value; } - [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( simd const& lhs, simd const& rhs) noexcept { return simd(_mm256_mullo_epi32(static_cast<__m256i>(lhs), @@ -1130,10 +1165,19 @@ class simd> { element_aligned_tag) { m_value = _mm512_loadu_si512(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm512_load_si512(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm512_storeu_si512(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm512_store_si512(ptr, m_value); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m512i() const { return m_value; @@ -1331,10 +1375,19 @@ class simd> { element_aligned_tag) { m_value = _mm512_loadu_si512(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm512_load_si512(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm512_storeu_si512(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm512_store_si512(ptr, m_value); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m512i() const { return m_value; @@ -1505,6 +1558,11 @@ class const_where_expression>, static_cast<__m512d>(m_value)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(double* mem, vector_aligned_tag) const { + _mm512_mask_store_pd(mem, static_cast<__mmask8>(m_mask), + static_cast<__m512d>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( double* mem, simd> const& index) const { @@ -1541,6 +1599,11 @@ class where_expression>, _mm512_set1_pd(0.0), static_cast<__mmask8>(m_mask), mem)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(double const* mem, vector_aligned_tag) { + m_value = value_type(_mm512_mask_load_pd( + _mm512_set1_pd(0.0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( double const* mem, simd> const& index) { @@ -1584,6 +1647,11 @@ class const_where_expression>, static_cast<__m256>(m_value)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(float* mem, vector_aligned_tag) const { + _mm256_mask_store_ps(mem, static_cast<__mmask8>(m_mask), + static_cast<__m256>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( float* mem, simd> const& index) const { @@ -1619,6 +1687,10 @@ class where_expression>, m_value = value_type(_mm256_mask_loadu_ps( _mm256_set1_ps(0.0), static_cast<__mmask8>(m_mask), mem)); } + void copy_from(float const* mem, vector_aligned_tag) { + m_value = value_type(_mm256_mask_load_ps( + _mm256_set1_ps(0.0), static_cast<__mmask8>(m_mask), mem)); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( float const* mem, @@ -1666,6 +1738,12 @@ class const_where_expression< _mm256_mask_storeu_epi32(mem, static_cast<__mmask8>(m_mask), static_cast<__m256i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int32_t* mem, vector_aligned_tag) const { + _mm256_mask_store_epi32(mem, static_cast<__mmask8>(m_mask), + static_cast<__m256i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int32_t* mem, @@ -1702,6 +1780,11 @@ class where_expression>, m_value = value_type(_mm256_mask_loadu_epi32( _mm256_set1_epi32(0), static_cast<__mmask8>(m_mask), mem)); } + void copy_from(std::int32_t const* mem, vector_aligned_tag) { + m_value = value_type(_mm256_mask_load_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int32_t const* mem, @@ -1710,6 +1793,7 @@ class where_expression>, static_cast<__m256i>(m_value), static_cast<__mmask8>(m_mask), static_cast<__m256i>(index), mem, 4)); } + template (m_mask), static_cast<__m256i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::uint32_t* mem, vector_aligned_tag) const { + _mm256_mask_store_epi32(mem, static_cast<__mmask8>(m_mask), + static_cast<__m256i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::uint32_t* mem, @@ -1784,6 +1874,12 @@ class where_expression>, m_value = value_type(_mm256_mask_loadu_epi32( _mm256_set1_epi32(0), static_cast<__mmask8>(m_mask), mem)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::uint32_t const* mem, vector_aligned_tag) { + m_value = value_type(_mm256_mask_load_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::uint32_t const* mem, @@ -1792,6 +1888,7 @@ class where_expression>, static_cast<__m256i>(m_value), static_cast<__mmask8>(m_mask), static_cast<__m256i>(index), mem, 4)); } + template (m_mask), static_cast<__m512i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int64_t* mem, vector_aligned_tag) const { + _mm512_mask_store_epi64(mem, static_cast<__mmask8>(m_mask), + static_cast<__m512i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int64_t* mem, @@ -1866,6 +1969,12 @@ class where_expression>, m_value = value_type(_mm512_mask_loadu_epi64( _mm512_set1_epi64(0.0), static_cast<__mmask8>(m_mask), mem)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::int64_t const* mem, vector_aligned_tag) { + m_value = value_type(_mm512_mask_load_epi64( + _mm512_set1_epi64(0.0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int64_t const* mem, @@ -1874,6 +1983,7 @@ class where_expression>, static_cast<__m512i>(m_value), static_cast<__mmask8>(m_mask), static_cast<__m256i>(index), mem, 8)); } + template (m_mask), static_cast<__m512i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::uint64_t* mem, vector_aligned_tag) const { + _mm512_mask_store_epi64(mem, static_cast<__mmask8>(m_mask), + static_cast<__m512i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::uint64_t* mem, @@ -1949,6 +2065,11 @@ class where_expression>, _mm512_set1_epi64(0.0), static_cast<__mmask8>(m_mask), mem)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::uint64_t const* mem, vector_aligned_tag) { + m_value = value_type(_mm512_mask_load_epi64( + _mm512_set1_epi64(0.0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::uint64_t const* mem, simd> const& index) { @@ -1956,6 +2077,7 @@ class where_expression>, static_cast<__m512i>(m_value), static_cast<__mmask8>(m_mask), static_cast<__m256i>(index), mem, 8)); } + template class simd_mask; -struct element_aligned_tag {}; +class simd_alignment_vector_aligned {}; + +template +struct simd_flags {}; + +inline constexpr simd_flags<> simd_flag_default{}; +inline constexpr simd_flags simd_flag_aligned{}; + +using element_aligned_tag = simd_flags<>; +using vector_aligned_tag = simd_flags; // class template declarations for const_where_expression and where_expression @@ -117,48 +126,6 @@ template return const_where_expression(mask, value); } -// fallback simd multiplication using generator constructor -// At the time of this writing, this fallback is only used -// to multiply vectors of 64-bit signed integers for the AVX2 backend - -template -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator*( - simd const& lhs, simd const& rhs) { - return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); -} - -// fallback simd shift using generator constructor -// At the time of this edit, only the fallback for shift vectors of -// 64-bit signed integers for the AVX2 backend is used - -template >> -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator>>( - simd const& lhs, int rhs) { - return simd([&](std::size_t i) { return lhs[i] >> rhs; }); -} - -template >> -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator<<( - simd const& lhs, int rhs) { - return simd([&](std::size_t i) { return lhs[i] << rhs; }); -} - -template >> -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator>>( - simd const& lhs, simd const& rhs) { - return simd([&](std::size_t i) { return lhs[i] >> rhs[i]; }); -} - -template >> -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator<<( - simd const& lhs, simd const& rhs) { - return simd([&](std::size_t i) { return lhs[i] << rhs[i]; }); -} - // The code below provides: // operator@(simd, Arithmetic) // operator@(Arithmetic, simd) diff --git a/lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp b/lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp index 43ece20389..efc81135d1 100644 --- a/lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp +++ b/lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp @@ -363,10 +363,18 @@ class simd> { element_aligned_tag) { m_value = vld1q_f64(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1q_f64(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { vst1q_f64(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1q_f64(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator float64x2_t() const { return m_value; @@ -607,10 +615,18 @@ class simd> { element_aligned_tag) { m_value = vld1_f32(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1_f32(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { vst1_f32(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1_f32(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator float32x2_t() const { return m_value; @@ -844,10 +860,18 @@ class simd> { element_aligned_tag) { m_value = vld1_s32(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1_s32(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { vst1_s32(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1_s32(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator int32x2_t() const { return m_value; @@ -868,7 +892,11 @@ class simd> { return simd( vadd_s32(static_cast(lhs), static_cast(rhs))); } - + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd( + vmul_s32(static_cast(lhs), static_cast(rhs))); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend mask_type operator==(simd const& lhs, simd const& rhs) noexcept { return mask_type( @@ -1044,10 +1072,18 @@ class simd> { element_aligned_tag) { m_value = vld1q_s64(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1q_s64(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { vst1q_s64(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1q_s64(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator int64x2_t() const { return m_value; @@ -1068,7 +1104,10 @@ class simd> { return simd( vaddq_s64(static_cast(lhs), static_cast(rhs))); } - + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend mask_type operator==(simd const& lhs, simd const& rhs) noexcept { return mask_type( @@ -1246,6 +1285,18 @@ class simd> { element_aligned_tag) { m_value = vld1q_u64(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1q_u64(ptr); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( + value_type* ptr, element_aligned_tag) const { + vst1q_u64(ptr, m_value); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1q_u64(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator uint64x2_t() const { return m_value; @@ -1261,7 +1312,10 @@ class simd> { return simd( vaddq_u64(static_cast(lhs), static_cast(rhs))); } - + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator&( simd const& lhs, simd const& rhs) noexcept { return simd( @@ -1386,6 +1440,11 @@ class const_where_expression>, if (m_mask[1]) mem[1] = m_value[1]; } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(double* mem, vector_aligned_tag) const { + if (m_mask[0]) mem[0] = m_value[0]; + if (m_mask[1]) mem[1] = m_value[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( double* mem, simd> const& index) const { @@ -1421,6 +1480,11 @@ class where_expression>, if (m_mask[1]) m_value[1] = mem[1]; } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(double const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( double const* mem, simd> const& index) { @@ -1464,6 +1528,11 @@ class const_where_expression>, if (m_mask[1]) mem[1] = m_value[1]; } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(float* mem, vector_aligned_tag) const { + if (m_mask[0]) mem[0] = m_value[0]; + if (m_mask[1]) mem[1] = m_value[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( float* mem, simd> const& index) const { @@ -1498,6 +1567,10 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[0]; if (m_mask[1]) m_value[1] = mem[1]; } + void copy_from(float const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( float const* mem, @@ -1542,6 +1615,12 @@ class const_where_expression< if (m_mask[0]) mem[0] = m_value[0]; if (m_mask[1]) mem[1] = m_value[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int32_t* mem, vector_aligned_tag) const { + if (m_mask[0]) mem[0] = m_value[0]; + if (m_mask[1]) mem[1] = m_value[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int32_t* mem, @@ -1577,6 +1656,12 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[0]; if (m_mask[1]) m_value[1] = mem[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::int32_t const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int32_t const* mem, @@ -1584,6 +1669,7 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[index[0]]; if (m_mask[1]) m_value[1] = mem[index[1]]; } + template < class U, std::enable_if_t< @@ -1622,6 +1708,12 @@ class const_where_expression< if (m_mask[0]) mem[0] = m_value[0]; if (m_mask[1]) mem[1] = m_value[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int64_t* mem, vector_aligned_tag) const { + if (m_mask[0]) mem[0] = m_value[0]; + if (m_mask[1]) mem[1] = m_value[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int64_t* mem, @@ -1657,6 +1749,12 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[0]; if (m_mask[1]) m_value[1] = mem[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::int64_t const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int64_t const* mem, @@ -1664,6 +1762,7 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[index[0]]; if (m_mask[1]) m_value[1] = mem[index[1]]; } + template < class U, std::enable_if_t>, if (m_mask[0]) m_value[0] = mem[0]; if (m_mask[1]) m_value[1] = mem[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::uint64_t const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::uint64_t const* mem, @@ -1744,6 +1855,7 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[index[0]]; if (m_mask[1]) m_value[1] = mem[index[1]]; } + template { element_aligned_tag) { m_value = *ptr; } + KOKKOS_FORCEINLINE_FUNCTION void copy_from(T const* ptr, vector_aligned_tag) { + m_value = *ptr; + } KOKKOS_FORCEINLINE_FUNCTION void copy_to(T* ptr, element_aligned_tag) const { *ptr = m_value; } + KOKKOS_FORCEINLINE_FUNCTION void copy_to(T* ptr, vector_aligned_tag) const { + *ptr = m_value; + } + KOKKOS_FORCEINLINE_FUNCTION reference operator[](std::size_t) { return m_value; } @@ -224,7 +231,7 @@ template using data_type = std::conditional_t, T, double>; return Experimental::simd( Kokkos::floor(static_cast(a[0]))); -}; +} template [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION auto ceil( @@ -232,7 +239,7 @@ template using data_type = std::conditional_t, T, double>; return Experimental::simd( Kokkos::ceil(static_cast(a[0]))); -}; +} template [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION auto round( @@ -240,7 +247,7 @@ template using data_type = std::conditional_t, T, double>; return Experimental::simd( Experimental::round_half_to_nearest_even(static_cast(a[0]))); -}; +} template [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION auto trunc( @@ -248,7 +255,7 @@ template using data_type = std::conditional_t, T, double>; return Experimental::simd( Kokkos::trunc(static_cast(a[0]))); -}; +} template [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION @@ -308,6 +315,10 @@ class const_where_expression, void copy_to(T* mem, element_aligned_tag) const { if (static_cast(m_mask)) *mem = static_cast(m_value); } + KOKKOS_FORCEINLINE_FUNCTION + void copy_to(T* mem, vector_aligned_tag) const { + if (static_cast(m_mask)) *mem = static_cast(m_value); + } template KOKKOS_FORCEINLINE_FUNCTION std::enable_if_t> scatter_to(T* mem, simd const& index) const { @@ -315,13 +326,13 @@ class const_where_expression, mem[static_cast(index)] = static_cast(m_value); } - [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION value_type const& - impl_get_value() const { + [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION value_type const& impl_get_value() + const { return m_value; } - [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION mask_type const& - impl_get_mask() const { + [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION mask_type const& impl_get_mask() + const { return m_mask; } }; @@ -344,6 +355,10 @@ class where_expression, void copy_from(T const* mem, element_aligned_tag) { if (static_cast(this->m_mask)) this->m_value = *mem; } + KOKKOS_FORCEINLINE_FUNCTION + void copy_from(T const* mem, vector_aligned_tag) { + if (static_cast(this->m_mask)) this->m_value = *mem; + } template KOKKOS_FORCEINLINE_FUNCTION std::enable_if_t> gather_from(T const* mem, simd const& index) { diff --git a/lib/kokkos/simd/unit_tests/TestSIMD.cpp b/lib/kokkos/simd/unit_tests/TestSIMD.cpp index 61c076e824..7a1f9be2a0 100644 --- a/lib/kokkos/simd/unit_tests/TestSIMD.cpp +++ b/lib/kokkos/simd/unit_tests/TestSIMD.cpp @@ -21,3 +21,4 @@ #include #include #include +#include diff --git a/lib/kokkos/simd/unit_tests/include/SIMDTesting_Ops.hpp b/lib/kokkos/simd/unit_tests/include/SIMDTesting_Ops.hpp index 6529f20e66..c587ccf304 100644 --- a/lib/kokkos/simd/unit_tests/include/SIMDTesting_Ops.hpp +++ b/lib/kokkos/simd/unit_tests/include/SIMDTesting_Ops.hpp @@ -209,4 +209,165 @@ class shift_left { } }; +class cbrt_op { + public: + template + auto on_host(T const& a) const { +#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + return Kokkos::Experimental::cbrt(a); +#else + return Kokkos::cbrt(a); +#endif + } + template + auto on_host_serial(T const& a) const { + return Kokkos::cbrt(a); + } +}; + +class exp_op { + public: + template + auto on_host(T const& a) const { +#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + return Kokkos::Experimental::exp(a); +#else + return Kokkos::exp(a); +#endif + } + template + auto on_host_serial(T const& a) const { + return Kokkos::exp(a); + } +}; + +class log_op { + public: + template + auto on_host(T const& a) const { +#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + return Kokkos::Experimental::log(a); +#else + return Kokkos::log(a); +#endif + } + template + auto on_host_serial(T const& a) const { + return Kokkos::log(a); + } +}; + +class hmin { + public: + template + auto on_host(T const& a) const { + return Kokkos::Experimental::hmin(a); + } + template + auto on_host_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::min(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result = Kokkos::min(result, v[i]); + } + return result; + } + + template + KOKKOS_INLINE_FUNCTION auto on_device(T const& a) const { + return Kokkos::Experimental::hmin(a); + } + template + KOKKOS_INLINE_FUNCTION auto on_device_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::min(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result = Kokkos::min(result, v[i]); + } + return result; + } +}; + +class hmax { + public: + template + auto on_host(T const& a) const { + return Kokkos::Experimental::hmax(a); + } + template + auto on_host_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::max(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result = Kokkos::max(result, v[i]); + } + return result; + } + + template + KOKKOS_INLINE_FUNCTION auto on_device(T const& a) const { + return Kokkos::Experimental::hmax(a); + } + template + KOKKOS_INLINE_FUNCTION auto on_device_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::max(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result = Kokkos::max(result, v[i]); + } + return result; + } +}; + +class reduce { + public: + template + auto on_host(T const& a) const { + using DataType = typename T::value_type::value_type; + return Kokkos::Experimental::reduce(a, DataType(0), std::plus<>()); + } + template + auto on_host_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::sum(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result += v[i]; + } + return result; + } + + template + KOKKOS_INLINE_FUNCTION auto on_device(T const& a) const { + using DataType = typename T::value_type::value_type; + return Kokkos::Experimental::reduce(a, DataType(0), std::plus<>()); + } + template + KOKKOS_INLINE_FUNCTION auto on_device_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::sum(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result += v[i]; + } + return result; + } +}; + #endif diff --git a/lib/kokkos/simd/unit_tests/include/SIMDTesting_Utilities.hpp b/lib/kokkos/simd/unit_tests/include/SIMDTesting_Utilities.hpp index ae2ab2c697..d36e1e5afc 100644 --- a/lib/kokkos/simd/unit_tests/include/SIMDTesting_Utilities.hpp +++ b/lib/kokkos/simd/unit_tests/include/SIMDTesting_Utilities.hpp @@ -93,7 +93,7 @@ class load_element_aligned { bool host_load(T const* mem, std::size_t n, Kokkos::Experimental::simd& result) const { if (n < result.size()) return false; - result.copy_from(mem, Kokkos::Experimental::element_aligned_tag()); + result.copy_from(mem, Kokkos::Experimental::simd_flag_default); return true; } template @@ -101,7 +101,26 @@ class load_element_aligned { T const* mem, std::size_t n, Kokkos::Experimental::simd& result) const { if (n < result.size()) return false; - result.copy_from(mem, Kokkos::Experimental::element_aligned_tag()); + result.copy_from(mem, Kokkos::Experimental::simd_flag_default); + return true; + } +}; + +class load_vector_aligned { + public: + template + bool host_load(T const* mem, std::size_t n, + Kokkos::Experimental::simd& result) const { + if (n < result.size()) return false; + result.copy_from(mem, Kokkos::Experimental::simd_flag_aligned); + return true; + } + template + KOKKOS_INLINE_FUNCTION bool device_load( + T const* mem, std::size_t n, + Kokkos::Experimental::simd& result) const { + if (n < result.size()) return false; + result.copy_from(mem, Kokkos::Experimental::simd_flag_aligned); return true; } }; @@ -116,8 +135,7 @@ class load_masked { for (std::size_t i = 0; i < n; ++i) { mask[i] = true; } - where(mask, result) - .copy_from(mem, Kokkos::Experimental::element_aligned_tag()); + where(mask, result).copy_from(mem, Kokkos::Experimental::simd_flag_default); where(!mask, result) = 0; return true; } @@ -130,8 +148,7 @@ class load_masked { for (std::size_t i = 0; i < n; ++i) { mask[i] = true; } - where(mask, result) - .copy_from(mem, Kokkos::Experimental::element_aligned_tag()); + where(mask, result).copy_from(mem, Kokkos::Experimental::simd_flag_default); where(!mask, result) = T(0); return true; } diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp index 4feff3a89d..23e3826c75 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp @@ -37,11 +37,12 @@ inline void host_check_gen_ctor() { } simd_type rhs; - rhs.copy_from(init, Kokkos::Experimental::element_aligned_tag()); + rhs.copy_from(init, Kokkos::Experimental::simd_flag_default); simd_type blend; - blend.copy_from(expected, Kokkos::Experimental::element_aligned_tag()); + blend.copy_from(expected, Kokkos::Experimental::simd_flag_default); +#if !(defined(KOKKOS_ENABLE_CUDA) && defined(KOKKOS_COMPILER_MSVC)) if constexpr (std::is_same_v) { simd_type basic(KOKKOS_LAMBDA(std::size_t i) { return init[i]; }); host_check_equality(basic, rhs, lanes); @@ -63,6 +64,7 @@ inline void host_check_gen_ctor() { host_check_equality(blend, result, lanes); } +#endif } template @@ -96,7 +98,7 @@ KOKKOS_INLINE_FUNCTION void device_check_gen_ctor() { simd_type basic(KOKKOS_LAMBDA(std::size_t i) { return init[i]; }); simd_type rhs; - rhs.copy_from(init, Kokkos::Experimental::element_aligned_tag()); + rhs.copy_from(init, Kokkos::Experimental::simd_flag_default); device_check_equality(basic, rhs, lanes); simd_type lhs(KOKKOS_LAMBDA(std::size_t i) { return init[i] * 9; }); @@ -104,7 +106,7 @@ KOKKOS_INLINE_FUNCTION void device_check_gen_ctor() { KOKKOS_LAMBDA(std::size_t i) { return (mask[i]) ? lhs[i] : rhs[i]; }); simd_type blend; - blend.copy_from(expected, Kokkos::Experimental::element_aligned_tag()); + blend.copy_from(expected, Kokkos::Experimental::simd_flag_default); device_check_equality(result, blend, lanes); } diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_MathOps.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_MathOps.hpp index 802e41efe5..59f2f6c18f 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_MathOps.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_MathOps.hpp @@ -61,13 +61,18 @@ void host_check_math_op_one_loader(UnaryOp unary_op, std::size_t n, simd_type arg; bool const loaded_arg = loader.host_load(args + i, nlanes, arg); if (!loaded_arg) continue; - auto computed_result = unary_op.on_host(arg); - decltype(computed_result) expected_result; + decltype(unary_op.on_host(arg)) expected_result; for (std::size_t lane = 0; lane < simd_type::size(); ++lane) { - if (lane < nlanes) + if (lane < nlanes) { + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v) + arg[lane] = Kokkos::abs(arg[lane]); expected_result[lane] = unary_op.on_host_serial(T(arg[lane])); + } } + auto computed_result = unary_op.on_host(arg); host_check_equality(expected_result, computed_result, nlanes); } } @@ -78,6 +83,7 @@ inline void host_check_math_op_all_loaders(Op op, std::size_t n, host_check_math_op_one_loader(op, n, args...); host_check_math_op_one_loader(op, n, args...); host_check_math_op_one_loader(op, n, args...); + host_check_math_op_one_loader(op, n, args...); } template @@ -96,6 +102,13 @@ inline void host_check_all_math_ops(const DataType (&first_args)[n], // TODO: Place fallback implementations for all simd integer types if constexpr (std::is_floating_point_v) { host_check_math_op_all_loaders(divides(), n, first_args, second_args); + +#if defined(__INTEL_COMPILER) && \ + (defined(KOKKOS_ARCH_AVX2) || defined(KOKKOS_ARCH_AVX512XEON)) + host_check_math_op_all_loaders(cbrt_op(), n, first_args); + host_check_math_op_all_loaders(exp_op(), n, first_args); + host_check_math_op_all_loaders(log_op(), n, first_args); +#endif } } @@ -109,23 +122,29 @@ inline void host_check_abi_size() { template inline void host_check_math_ops() { constexpr size_t n = 11; + constexpr size_t alignment = + Kokkos::Experimental::simd::size() * sizeof(DataType); host_check_abi_size(); if constexpr (!std::is_integral_v) { - DataType const first_args[n] = {0.1, 0.4, 0.5, 0.7, 1.0, 1.5, - -2.0, 10.0, 0.0, 1.2, -2.8}; - DataType const second_args[n] = {1.0, 0.2, 1.1, 1.8, -0.1, -3.0, - -2.4, 1.0, 13.0, -3.2, -2.1}; + alignas(alignment) DataType const first_args[n] = { + 0.1, 0.4, 0.5, 0.7, 1.0, 1.5, -2.0, 10.0, 0.0, 1.2, -2.8}; + alignas(alignment) DataType const second_args[n] = { + 1.0, 0.2, 1.1, 1.8, -0.1, -3.0, -2.4, 1.0, 13.0, -3.2, -2.1}; host_check_all_math_ops(first_args, second_args); } else { if constexpr (std::is_signed_v) { - DataType const first_args[n] = {1, 2, -1, 10, 0, 1, -2, 10, 0, 1, -2}; - DataType const second_args[n] = {1, 2, 1, 1, 1, -3, -2, 1, 13, -3, -2}; + alignas(alignment) + DataType const first_args[n] = {1, 2, -1, 10, 0, 1, -2, 10, 0, 1, -2}; + alignas(alignment) DataType const second_args[n] = {1, 2, 1, 1, 1, -3, + -2, 1, 13, -3, -2}; host_check_all_math_ops(first_args, second_args); } else { - DataType const first_args[n] = {1, 2, 1, 10, 0, 1, 2, 10, 0, 1, 2}; - DataType const second_args[n] = {1, 2, 1, 1, 1, 3, 2, 1, 13, 3, 2}; + alignas(alignment) + DataType const first_args[n] = {1, 2, 1, 10, 0, 1, 2, 10, 0, 1, 2}; + alignas(alignment) + DataType const second_args[n] = {1, 2, 1, 1, 1, 3, 2, 1, 13, 3, 2}; host_check_all_math_ops(first_args, second_args); } } @@ -202,6 +221,7 @@ KOKKOS_INLINE_FUNCTION void device_check_math_op_all_loaders(Op op, device_check_math_op_one_loader(op, n, args...); device_check_math_op_one_loader(op, n, args...); device_check_math_op_one_loader(op, n, args...); + device_check_math_op_one_loader(op, n, args...); } template @@ -282,8 +302,13 @@ TEST(simd, host_math_ops) { } TEST(simd, device_math_ops) { - Kokkos::parallel_for(Kokkos::RangePolicy>(0, 1), - simd_device_math_ops_functor()); +#ifdef KOKKOS_ENABLE_OPENMPTARGET // FIXME_OPENMPTARGET + GTEST_SKIP() + << "skipping because of a non-deterministic failure reporting: " + "Failure to synchronize stream (nil): Error in " + "cuStreamSynchronize: an illegal memory access was encountered"; +#endif + Kokkos::parallel_for(1, simd_device_math_ops_functor()); } #endif diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_Reductions.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_Reductions.hpp new file mode 100644 index 0000000000..b3c7ac9a01 --- /dev/null +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_Reductions.hpp @@ -0,0 +1,184 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_TEST_SIMD_REDUCTIONS_HPP +#define KOKKOS_TEST_SIMD_REDUCTIONS_HPP + +#include +#include + +template +inline void host_check_reduction_one_loader(ReductionOp reduce_op, + std::size_t n, T const* args) { + Loader loader; + using simd_type = Kokkos::Experimental::simd; + using mask_type = typename Kokkos::Experimental::simd::mask_type; + constexpr std::size_t width = simd_type::size(); + + for (std::size_t i = 0; i < n; i += width) { + std::size_t const nremaining = n - i; + std::size_t const nlanes = Kokkos::min(nremaining, width); + simd_type arg; + bool const loaded_arg = loader.host_load(args + i, nlanes, arg); + if (!loaded_arg) continue; + + mask_type mask(false); + for (std::size_t j = 0; j < n; ++j) { + mask[j] = true; + } + auto value = where(mask, arg); + auto expected = reduce_op.on_host_serial(value); + auto computed = reduce_op.on_host(value); + + gtest_checker().equality(expected, computed); + } +} + +template +inline void host_check_reduction_all_loaders(ReductionOp reduce_op, + std::size_t n, T const* args) { + host_check_reduction_one_loader(reduce_op, n, + args); + host_check_reduction_one_loader(reduce_op, n, args); + host_check_reduction_one_loader(reduce_op, n, args); +} + +template +inline void host_check_all_reductions(const DataType (&args)[n]) { + host_check_reduction_all_loaders(hmin(), n, args); + host_check_reduction_all_loaders(hmax(), n, args); + host_check_reduction_all_loaders(reduce(), n, args); +} + +template +inline void host_check_reductions() { + constexpr size_t n = 11; + + if constexpr (std::is_signed_v) { + DataType const args[n] = {1, 2, -1, 10, 0, 1, -2, 10, 0, 1, -2}; + host_check_all_reductions(args); + } else { + DataType const args[n] = {1, 2, 1, 10, 0, 1, 2, 10, 0, 1, 2}; + host_check_all_reductions(args); + } +} + +template +inline void host_check_reductions_all_types( + Kokkos::Experimental::Impl::data_types) { + (host_check_reductions(), ...); +} + +template +inline void host_check_reductions_all_abis( + Kokkos::Experimental::Impl::abi_set) { + using DataTypes = Kokkos::Experimental::Impl::data_type_set; + (host_check_reductions_all_types(DataTypes()), ...); +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reduction_one_loader( + ReductionOp reduce_op, std::size_t n, T const* args) { + Loader loader; + using simd_type = Kokkos::Experimental::simd; + using mask_type = typename Kokkos::Experimental::simd::mask_type; + constexpr std::size_t width = simd_type::size(); + + for (std::size_t i = 0; i < n; i += width) { + std::size_t const nremaining = n - i; + std::size_t const nlanes = Kokkos::min(nremaining, width); + simd_type arg; + bool const loaded_arg = loader.device_load(args + i, nlanes, arg); + if (!loaded_arg) continue; + + mask_type mask(false); + for (std::size_t j = 0; j < n; ++j) { + mask[j] = true; + } + auto value = where(mask, arg); + auto expected = reduce_op.on_device_serial(value); + auto computed = reduce_op.on_device(value); + + kokkos_checker().equality(expected, computed); + } +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reduction_all_loaders( + ReductionOp reduce_op, std::size_t n, T const* args) { + device_check_reduction_one_loader(reduce_op, n, + args); + device_check_reduction_one_loader(reduce_op, n, args); + device_check_reduction_one_loader(reduce_op, n, args); +} + +template +KOKKOS_INLINE_FUNCTION void device_check_all_reductions( + const DataType (&args)[n]) { + device_check_reduction_all_loaders(hmin(), n, args); + device_check_reduction_all_loaders(hmax(), n, args); + device_check_reduction_all_loaders(reduce(), n, args); +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reductions() { + constexpr size_t n = 11; + + if constexpr (std::is_signed_v) { + DataType const args[n] = {1, 2, -1, 10, 0, 1, -2, 10, 0, 1, -2}; + device_check_all_reductions(args); + } else { + DataType const args[n] = {1, 2, 1, 10, 0, 1, 2, 10, 0, 1, 2}; + device_check_all_reductions(args); + } +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reductions_all_types( + Kokkos::Experimental::Impl::data_types) { + (device_check_reductions(), ...); +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reductions_all_abis( + Kokkos::Experimental::Impl::abi_set) { + using DataTypes = Kokkos::Experimental::Impl::data_type_set; + (device_check_reductions_all_types(DataTypes()), ...); +} + +class simd_device_reduction_functor { + public: + KOKKOS_INLINE_FUNCTION void operator()(int) const { + device_check_reductions_all_abis( + Kokkos::Experimental::Impl::device_abi_set()); + } +}; + +TEST(simd, host_reductions) { + host_check_reductions_all_abis(Kokkos::Experimental::Impl::host_abi_set()); +} + +TEST(simd, device_reductions) { +#ifdef KOKKOS_ENABLE_OPENMPTARGET // FIXME_OPENMPTARGET + GTEST_SKIP() + << "skipping because of a non-deterministic failure reporting: " + "Failure to synchronize stream (nil): Error in " + "cuStreamSynchronize: an illegal memory access was encountered"; +#endif + Kokkos::parallel_for(1, simd_device_reduction_functor()); +} + +#endif diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_ShiftOps.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_ShiftOps.hpp index f6fdcb920e..ffdd2cba4a 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_ShiftOps.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_ShiftOps.hpp @@ -85,10 +85,11 @@ inline void host_check_shift_op_all_loaders(ShiftOp shift_op, shift_by, n); host_check_shift_on_one_loader(shift_op, test_vals, shift_by, n); + host_check_shift_on_one_loader(shift_op, test_vals, + shift_by, n); Kokkos::Experimental::simd shift_by_lanes; - shift_by_lanes.copy_from(shift_by, - Kokkos::Experimental::element_aligned_tag()); + shift_by_lanes.copy_from(shift_by, Kokkos::Experimental::simd_flag_default); host_check_shift_by_lanes_on_one_loader( shift_op, test_vals, shift_by_lanes); @@ -96,6 +97,8 @@ inline void host_check_shift_op_all_loaders(ShiftOp shift_op, shift_by_lanes); host_check_shift_by_lanes_on_one_loader( shift_op, test_vals, shift_by_lanes); + host_check_shift_by_lanes_on_one_loader( + shift_op, test_vals, shift_by_lanes); } template @@ -104,12 +107,14 @@ inline void host_check_shift_ops() { using simd_type = Kokkos::Experimental::simd; constexpr std::size_t width = simd_type::size(); constexpr std::size_t num_cases = 8; + constexpr size_t alignment = + Kokkos::Experimental::simd::size() * sizeof(DataType); DataType max = std::numeric_limits::max(); - DataType shift_by[num_cases] = { + alignas(alignment) DataType shift_by[num_cases] = { 0, 1, 3, width / 2, width / 2 + 1, width - 1, width, width + 1}; - DataType test_vals[width]; + alignas(alignment) DataType test_vals[width]; for (std::size_t i = 0; i < width; ++i) { DataType inc = max / width; test_vals[i] = i * inc + 1; @@ -201,10 +206,11 @@ KOKKOS_INLINE_FUNCTION void device_check_shift_op_all_loaders( shift_by, n); device_check_shift_on_one_loader(shift_op, test_vals, shift_by, n); + device_check_shift_on_one_loader( + shift_op, test_vals, shift_by, n); Kokkos::Experimental::simd shift_by_lanes; - shift_by_lanes.copy_from(shift_by, - Kokkos::Experimental::element_aligned_tag()); + shift_by_lanes.copy_from(shift_by, Kokkos::Experimental::simd_flag_default); device_check_shift_by_lanes_on_one_loader( shift_op, test_vals, shift_by_lanes); @@ -212,6 +218,8 @@ KOKKOS_INLINE_FUNCTION void device_check_shift_op_all_loaders( shift_op, test_vals, shift_by_lanes); device_check_shift_by_lanes_on_one_loader( shift_op, test_vals, shift_by_lanes); + device_check_shift_by_lanes_on_one_loader( + shift_op, test_vals, shift_by_lanes); } template diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_WhereExpressions.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_WhereExpressions.hpp index 129f2b0d5c..152fd9e984 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_WhereExpressions.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_WhereExpressions.hpp @@ -29,7 +29,7 @@ inline void host_check_where_expr_scatter_to() { std::size_t nlanes = simd_type::size(); DataType init[] = {11, 13, 17, 19, 23, 29, 31, 37}; simd_type src; - src.copy_from(init, Kokkos::Experimental::element_aligned_tag()); + src.copy_from(init, Kokkos::Experimental::simd_flag_default); for (std::size_t idx = 0; idx < nlanes; ++idx) { mask_type mask(true); @@ -46,7 +46,7 @@ inline void host_check_where_expr_scatter_to() { where(mask, src).scatter_to(dst, index); simd_type dst_simd; - dst_simd.copy_from(dst, Kokkos::Experimental::element_aligned_tag()); + dst_simd.copy_from(dst, Kokkos::Experimental::simd_flag_default); host_check_equality(expected_result, dst_simd, nlanes); } @@ -107,7 +107,7 @@ KOKKOS_INLINE_FUNCTION void device_check_where_expr_scatter_to() { std::size_t nlanes = simd_type::size(); DataType init[] = {11, 13, 17, 19, 23, 29, 31, 37}; simd_type src; - src.copy_from(init, Kokkos::Experimental::element_aligned_tag()); + src.copy_from(init, Kokkos::Experimental::simd_flag_default); for (std::size_t idx = 0; idx < nlanes; ++idx) { mask_type mask(true); @@ -124,7 +124,7 @@ KOKKOS_INLINE_FUNCTION void device_check_where_expr_scatter_to() { where(mask, src).scatter_to(dst, index); simd_type dst_simd; - dst_simd.copy_from(dst, Kokkos::Experimental::element_aligned_tag()); + dst_simd.copy_from(dst, Kokkos::Experimental::simd_flag_default); device_check_equality(expected_result, dst_simd, nlanes); } diff --git a/lib/kokkos/tpls/desul/Config.hpp.cmake.in b/lib/kokkos/tpls/desul/Config.hpp.cmake.in index a7bc738191..aed7ecfabc 100644 --- a/lib/kokkos/tpls/desul/Config.hpp.cmake.in +++ b/lib/kokkos/tpls/desul/Config.hpp.cmake.in @@ -14,6 +14,8 @@ SPDX-License-Identifier: (BSD-3-Clause) #cmakedefine DESUL_ATOMICS_ENABLE_HIP #cmakedefine DESUL_ATOMICS_ENABLE_HIP_SEPARABLE_COMPILATION #cmakedefine DESUL_ATOMICS_ENABLE_SYCL +#cmakedefine DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION #cmakedefine DESUL_ATOMICS_ENABLE_OPENMP +#cmakedefine DESUL_ATOMICS_ENABLE_OPENACC #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Adapt_SYCL.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Adapt_SYCL.hpp index 082fc132de..15c6d78d94 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Adapt_SYCL.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Adapt_SYCL.hpp @@ -88,15 +88,18 @@ using sycl_atomic_ref = sycl::atomic_ref; #endif -// FIXME_SYCL Use SYCL_EXT_ONEAPI_DEVICE_GLOBAL when available instead #ifdef DESUL_SYCL_DEVICE_GLOBAL_SUPPORTED -// FIXME_SYCL The compiler forces us to use device_image_scope. Drop this when possible. +#ifdef SYCL_EXT_ONEAPI_DEVICE_GLOBAL +template +using sycl_device_global = sycl::ext::oneapi::experimental::device_global; +#else template using sycl_device_global = sycl::ext::oneapi::experimental::device_global< T, decltype(sycl::ext::oneapi::experimental::properties( sycl::ext::oneapi::experimental::device_image_scope))>; #endif +#endif } // namespace Impl } // namespace desul diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange.hpp index e91569e1de..72639fc493 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange.hpp @@ -26,6 +26,9 @@ SPDX-License-Identifier: (BSD-3-Clause) #ifdef DESUL_HAVE_OPENMP_ATOMICS #include #endif +#ifdef DESUL_HAVE_OPENACC_ATOMICS +#include +#endif #ifdef DESUL_HAVE_SYCL_ATOMICS #include #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange_OpenACC.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange_OpenACC.hpp new file mode 100644 index 0000000000..77149bd474 --- /dev/null +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange_OpenACC.hpp @@ -0,0 +1,153 @@ +/* +Copyright (c) 2019, Lawrence Livermore National Security, LLC +and DESUL project contributors. See the COPYRIGHT file for details. +Source: https://github.com/desul/desul + +SPDX-License-Identifier: (BSD-3-Clause) +*/ + +#ifndef DESUL_ATOMICS_COMPARE_EXCHANGE_OPENACC_HPP_ +#define DESUL_ATOMICS_COMPARE_EXCHANGE_OPENACC_HPP_ + +#include + +#include +#include +#include + +namespace desul { +namespace Impl { + +#ifdef __NVCOMPILER + +#pragma acc routine seq +template +T device_atomic_exchange(T* dest, T value, MemoryOrder, MemoryScope /*scope*/) { + if constexpr (std::is_arithmetic_v && ((sizeof(T) == 4) || (sizeof(T) == 8))) { + T return_val; +#pragma acc atomic capture + { + return_val = *dest; + *dest = value; + } + return return_val; + } else { + // FIXME_OPENACC + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_exchange(): Not supported atomic operation in " + "the OpenACC backend\n"); + } + // Acquire a lock for the address + // while (!lock_address_openacc((void*)dest, scope)) { + // } + // device_atomic_thread_fence(MemoryOrderAcquire(), scope); + T return_val = *dest; + *dest = value; + // device_atomic_thread_fence(MemoryOrderRelease(), scope); + // unlock_address_openacc((void*)dest, scope); + return return_val; + } +} + +#pragma acc routine seq +template +T device_atomic_compare_exchange( + T* dest, T compare, T value, MemoryOrder, MemoryScope scope) { + // Floating point types treated separetely to work around compiler errors + // "parse invalid cast opcode for cast from 'i32' to 'float'". + // Also not just "forwarding" arguments to atomicCAS because it does not have an + // overload that takes int64_t + if constexpr (std::is_integral_v && ((sizeof(T) == 4) || (sizeof(T) == 8))) { + static_assert(sizeof(unsigned int) == 4); + static_assert(sizeof(unsigned long long int) == 8); + using cas_t = + std::conditional_t<(sizeof(T) == 4), unsigned int, unsigned long long int>; + cas_t return_val = atomicCAS(reinterpret_cast(dest), + reinterpret_cast(compare), + reinterpret_cast(value)); + return reinterpret_cast(return_val); +#ifdef DESUL_CUDA_ARCH_IS_PRE_PASCAL + } else if constexpr (std::is_same_v) { +#else + } else if constexpr (std::is_same_v || std::is_same_v) { +#endif + return atomicCAS(dest, compare, value); + } else { + // FIXME_OPENACC + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_compare_exchange(): Not supported atomic " + "operation in the OpenACC backend\n"); + } + T current_val = *dest; + // Acquire a lock for the address + // while (!lock_address_openacc((void*)dest, scope)) { + //} + // device_atomic_thread_fence(MemoryOrderAcquire(), scope); + if (current_val == compare) { + *dest = value; + // device_atomic_thread_fence(MemoryOrderRelease(), scope); + } + // unlock_address_openacc((void*)dest, scope); + return current_val; + } +} + +#else // not NVHPC + +#pragma acc routine seq +template +T device_atomic_exchange(T* dest, T value, MemoryOrder, MemoryScope) { + if constexpr (std::is_arithmetic_v) { + T return_val; +#pragma acc atomic capture + { + return_val = *dest; + *dest = value; + } + return return_val; + } else { + // FIXME_OPENACC + printf( + "DESUL error in device_atomic_exchange(): Not supported atomic operation in " + "the OpenACC backend\n"); + // Acquire a lock for the address + // while (!lock_address_openacc((void*)dest, scope)) { + // } + // device_atomic_thread_fence(MemoryOrderAcquire(), scope); + T return_val = *dest; + *dest = value; + // device_atomic_thread_fence(MemoryOrderRelease(), scope); + // unlock_address_openacc((void*)dest, scope); + return return_val; + } +} + +#pragma acc routine seq +template +T device_atomic_compare_exchange( + T* dest, T compare, T value, MemoryOrder, MemoryScope scope) { + // FIXME_OPENACC + printf( + "DESUL error in device_atomic_compare_exchange(): Not supported atomic operation " + "in the OpenACC backend\n"); + T current_val = *dest; + // Acquire a lock for the address + // while (!lock_address_openacc((void*)dest, scope)) { + //} + // device_atomic_thread_fence(MemoryOrderAcquire(), scope); + if (current_val == compare) { + *dest = value; + // device_atomic_thread_fence(MemoryOrderRelease(), scope); + } + // unlock_address_openacc((void*)dest, scope); + return current_val; +} + +#endif + +} // namespace Impl +} // namespace desul + +#endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op.hpp index adf75c5743..1b161397c7 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op.hpp @@ -23,6 +23,9 @@ SPDX-License-Identifier: (BSD-3-Clause) #ifdef DESUL_HAVE_OPENMP_ATOMICS #include #endif +#ifdef DESUL_HAVE_OPENACC_ATOMICS +#include +#endif #ifdef DESUL_HAVE_SYCL_ATOMICS #include #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op_OpenACC.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op_OpenACC.hpp new file mode 100644 index 0000000000..ab570ac578 --- /dev/null +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op_OpenACC.hpp @@ -0,0 +1,431 @@ +/* +Copyright (c) 2019, Lawrence Livermore National Security, LLC +and DESUL project contributors. See the COPYRIGHT file for details. +Source: https://github.com/desul/desul + +SPDX-License-Identifier: (BSD-3-Clause) +*/ +#ifndef DESUL_ATOMICS_FETCH_OP_OPENACC_HPP_ +#define DESUL_ATOMICS_FETCH_OP_OPENACC_HPP_ + +#include // min, max +#include +#include + +namespace desul { +namespace Impl { + +#ifdef __NVCOMPILER + +template +inline constexpr bool is_openacc_integral_type_v = + std::is_same_v || std::is_same_v || + std::is_same_v; + +template +inline constexpr bool is_openacc_arithmetic_type_v = std::is_same_v || +#ifndef DESUL_CUDA_ARCH_IS_PRE_PASCAL + std::is_same_v || +#endif + is_openacc_integral_type_v; + +#else + +template +inline constexpr bool is_openacc_integral_type_v = std::is_integral_v; + +template +inline constexpr bool is_openacc_arithmetic_type_v = std::is_arithmetic_v; + +#endif + +// +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_add( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr += val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_inc( + T* ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr += T(1); + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_sub( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr -= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_dec( + T* ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr -= T(1); + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_mul( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr *= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_div( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr /= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_lshift( + T* ptr, const unsigned int val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr = *ptr << val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_rshift( + T* ptr, const unsigned int val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr = *ptr >> val; + } + return old; +} + +#ifdef __NVCOMPILER +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_max( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; + old = atomicMax(ptr, val); + return old; +} +#endif + +#ifdef __NVCOMPILER +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_min( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + int old; + old = atomicMin(ptr, val); + return old; +} +#endif + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_and( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr &= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_or( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr |= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_xor( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr ^= val; + } + return old; +} +// + +// +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_add_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr += val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_inc_fetch( + T* ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr += T(1); + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_sub_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr -= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_dec_fetch( + T* ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr -= T(1); + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_mul_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr *= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_div_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr /= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_lshift_fetch( + T* ptr, const unsigned int val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr = *ptr << val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_rshift_fetch( + T* ptr, const unsigned int val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr = *ptr >> val; + tmp = *ptr; + } + return tmp; +} + +#ifdef __NVCOMPILER +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_max_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; + tmp = atomicMax(ptr, val); + tmp = std::max(tmp, val); + return tmp; +} +#endif + +#ifdef __NVCOMPILER +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_min_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; + tmp = atomicMin(ptr, val); + tmp = std::min(tmp, val); + return tmp; +} +#endif + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_and_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr &= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_or_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr |= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_xor_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr ^= val; + tmp = *ptr; + } + return tmp; +} +// + +// +#pragma acc routine seq +template +std::enable_if_t, void> device_atomic_store( + T* const ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { +#pragma acc atomic write + *ptr = val; +} + +#pragma acc routine seq +template +std::enable_if_t, void> device_atomic_store( + T* const ptr, const T val, MemoryOrderRelease, MemoryScopeDevice) { + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_store(MemoryOrderRelease): Not supported atomic " + "operation in the OpenACC backend\n"); + } +#pragma acc atomic write + *ptr = val; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_load( + const T* const ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T retval; +#pragma acc atomic read + retval = *ptr; + return retval; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_load( + const T* const ptr, MemoryOrderAcquire, MemoryScopeDevice) { + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_load(MemoryOrderAcquire): Not supported atomic " + "operation in the OpenACC backend\n"); + } + T retval; +#pragma acc atomic read + retval = *ptr; + return retval; +} +// + +} // namespace Impl +} // namespace desul + +#endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Generic.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Generic.hpp index fef10222e3..fa71477c29 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Generic.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Generic.hpp @@ -18,11 +18,14 @@ SPDX-License-Identifier: (BSD-3-Clause) namespace desul { +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_thread_fence(MemoryOrder order, MemoryScope scope) { DESUL_IF_ON_DEVICE(return Impl::device_atomic_thread_fence(order, scope);) DESUL_IF_ON_HOST(return Impl::host_atomic_thread_fence(order, scope);) } + +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_exchange(T* dest, T val, MemoryOrder order, MemoryScope scope) { @@ -30,6 +33,7 @@ atomic_exchange(T* dest, T val, MemoryOrder order, MemoryScope scope) { DESUL_IF_ON_HOST(return Impl::host_atomic_exchange(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_compare_exchange(T* dest, T cmp, T val, MemoryOrder order, MemoryScope scope) { @@ -40,6 +44,7 @@ atomic_compare_exchange(T* dest, T cmp, T val, MemoryOrder order, MemoryScope sc } // Fetch_Oper atomics: return value before operation +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_add(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -47,6 +52,7 @@ atomic_fetch_add(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_add(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_sub(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -54,6 +60,7 @@ atomic_fetch_sub(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_sub(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_max(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -61,6 +68,7 @@ atomic_fetch_max(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_max(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_min(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -68,6 +76,7 @@ atomic_fetch_min(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_min(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_mul(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -75,6 +84,7 @@ atomic_fetch_mul(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_mul(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_div(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -82,6 +92,7 @@ atomic_fetch_div(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_div(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_mod(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -89,6 +100,7 @@ atomic_fetch_mod(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_mod(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_and(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -96,6 +108,7 @@ atomic_fetch_and(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_and(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_or(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -103,6 +116,7 @@ atomic_fetch_or(T* const dest, const T val, MemoryOrder order, MemoryScope scope DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_or(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_xor(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -110,6 +124,7 @@ atomic_fetch_xor(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_xor(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_nand(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -117,6 +132,7 @@ atomic_fetch_nand(T* const dest, const T val, MemoryOrder order, MemoryScope sco DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_nand(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_lshift(T* const dest, const unsigned int val, @@ -126,6 +142,7 @@ DESUL_INLINE_FUNCTION T atomic_fetch_lshift(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_lshift(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_rshift(T* const dest, const unsigned int val, @@ -136,6 +153,7 @@ DESUL_INLINE_FUNCTION T atomic_fetch_rshift(T* const dest, } // Oper Fetch atomics: return value after operation +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_add_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -143,6 +161,7 @@ atomic_add_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_add_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_sub_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -150,6 +169,7 @@ atomic_sub_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_sub_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_max_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -157,6 +177,7 @@ atomic_max_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_max_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_min_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -164,6 +185,7 @@ atomic_min_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_min_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_mul_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -171,6 +193,7 @@ atomic_mul_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_mul_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_div_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -178,6 +201,7 @@ atomic_div_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_div_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_mod_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -185,6 +209,7 @@ atomic_mod_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_mod_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_and_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -192,6 +217,7 @@ atomic_and_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_and_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_or_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -199,6 +225,7 @@ atomic_or_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope DESUL_IF_ON_HOST(return Impl::host_atomic_or_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_xor_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -206,6 +233,7 @@ atomic_xor_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_xor_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_nand_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -213,6 +241,7 @@ atomic_nand_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope sco DESUL_IF_ON_HOST(return Impl::host_atomic_nand_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_lshift_fetch(T* const dest, const unsigned int val, @@ -222,6 +251,7 @@ DESUL_INLINE_FUNCTION T atomic_lshift_fetch(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_lshift_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_rshift_fetch(T* const dest, const unsigned int val, @@ -233,6 +263,7 @@ DESUL_INLINE_FUNCTION T atomic_rshift_fetch(T* const dest, // Other atomics +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_load(const T* const dest, MemoryOrder order, @@ -241,6 +272,7 @@ DESUL_INLINE_FUNCTION T atomic_load(const T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_load(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_store(T* const dest, const T val, @@ -250,6 +282,7 @@ DESUL_INLINE_FUNCTION void atomic_store(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_store(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_add(T* const dest, const T val, @@ -259,6 +292,7 @@ DESUL_INLINE_FUNCTION void atomic_add(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_add(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_sub(T* const dest, const T val, @@ -268,6 +302,7 @@ DESUL_INLINE_FUNCTION void atomic_sub(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_sub(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_mul(T* const dest, const T val, @@ -277,6 +312,7 @@ DESUL_INLINE_FUNCTION void atomic_mul(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_mul(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_div(T* const dest, const T val, @@ -286,6 +322,7 @@ DESUL_INLINE_FUNCTION void atomic_div(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_div(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_min(T* const dest, const T val, @@ -295,6 +332,7 @@ DESUL_INLINE_FUNCTION void atomic_min(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_min(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_max(T* const dest, const T val, @@ -304,6 +342,7 @@ DESUL_INLINE_FUNCTION void atomic_max(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_max(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_inc_fetch(T* const dest, MemoryOrder order, @@ -312,6 +351,7 @@ DESUL_INLINE_FUNCTION T atomic_inc_fetch(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_inc_fetch(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_dec_fetch(T* const dest, MemoryOrder order, @@ -320,6 +360,7 @@ DESUL_INLINE_FUNCTION T atomic_dec_fetch(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_dec_fetch(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_inc(T* const dest, MemoryOrder order, @@ -328,6 +369,7 @@ DESUL_INLINE_FUNCTION T atomic_fetch_inc(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_inc(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_inc_mod(T* const dest, T val, MemoryOrder order, MemoryScope scope) { @@ -335,6 +377,7 @@ atomic_fetch_inc_mod(T* const dest, T val, MemoryOrder order, MemoryScope scope) DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_inc_mod(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_dec(T* const dest, MemoryOrder order, @@ -343,6 +386,7 @@ DESUL_INLINE_FUNCTION T atomic_fetch_dec(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_dec(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_dec_mod(T* const dest, T val, MemoryOrder order, MemoryScope scope) { @@ -350,6 +394,7 @@ atomic_fetch_dec_mod(T* const dest, T val, MemoryOrder order, MemoryScope scope) DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_dec_mod(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_inc(T* const dest, MemoryOrder order, @@ -358,6 +403,7 @@ DESUL_INLINE_FUNCTION void atomic_inc(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_inc(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_dec(T* const dest, MemoryOrder order, @@ -367,6 +413,7 @@ DESUL_INLINE_FUNCTION void atomic_dec(T* const dest, } // FIXME +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template SYCL_SPACE_ATOMIC_LOCKS_DEVICE; +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +SYCL_EXTERNAL extern +#else +static +#endif + sycl_device_global + SYCL_SPACE_ATOMIC_LOCKS_DEVICE; -SYCL_EXTERNAL extern sycl_device_global SYCL_SPACE_ATOMIC_LOCKS_NODE; +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +SYCL_EXTERNAL extern +#else +static +#endif + sycl_device_global + SYCL_SPACE_ATOMIC_LOCKS_NODE; #define SYCL_SPACE_ATOMIC_MASK 0x1FFFF @@ -128,6 +149,34 @@ inline void unlock_address_sycl(void* ptr, MemoryScopeNode) { lock_node_ref.exchange(0); } +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +inline +#else +inline static +#endif + void + copy_sycl_lock_arrays_to_device(sycl::queue q) { + static bool once = [&q]() { +#ifdef SYCL_EXT_ONEAPI_DEVICE_GLOBAL + q.memcpy(SYCL_SPACE_ATOMIC_LOCKS_DEVICE, + &SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h, + sizeof(int32_t*)); + q.memcpy(SYCL_SPACE_ATOMIC_LOCKS_NODE, + &SYCL_SPACE_ATOMIC_LOCKS_NODE_h, + sizeof(int32_t*)); +#else + auto device_ptr = SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h; + auto node_ptr = SYCL_SPACE_ATOMIC_LOCKS_NODE_h; + q.single_task([=] { + SYCL_SPACE_ATOMIC_LOCKS_DEVICE.get() = device_ptr; + SYCL_SPACE_ATOMIC_LOCKS_NODE.get() = node_ptr; + }); +#endif + return true; + }(); + (void)once; +} + #else // not supported template @@ -155,7 +204,26 @@ inline bool lock_address_sycl(void*, MemoryScopeNode) { inline void unlock_address_sycl(void*, MemoryScopeDevice) { assert(false); } inline void unlock_address_sycl(void*, MemoryScopeNode) { assert(false); } + +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +inline +#else +inline static +#endif + void + copy_sycl_lock_arrays_to_device(sycl::queue) { +} + #endif } // namespace Impl + +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +inline void ensure_sycl_lock_arrays_on_device(sycl::queue) {} +#else +static inline void ensure_sycl_lock_arrays_on_device(sycl::queue q) { + Impl::copy_sycl_lock_arrays_to_device(q); +} +#endif + } // namespace desul #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op.hpp index cb97f4a906..b6a399100b 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op.hpp @@ -17,6 +17,9 @@ SPDX-License-Identifier: (BSD-3-Clause) #ifdef DESUL_HAVE_HIP_ATOMICS #include #endif +#ifdef DESUL_HAVE_OPENACC_ATOMICS +#include +#endif #ifdef DESUL_HAVE_SYCL_ATOMICS #include #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op_OpenACC.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op_OpenACC.hpp new file mode 100644 index 0000000000..d4dd74588b --- /dev/null +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op_OpenACC.hpp @@ -0,0 +1,81 @@ +/* +Copyright (c) 2019, Lawrence Livermore National Security, LLC +and DESUL project contributors. See the COPYRIGHT file for details. +Source: https://github.com/desul/desul + +SPDX-License-Identifier: (BSD-3-Clause) +*/ + +#ifndef DESUL_ATOMICS_LOCK_BASED_FETCH_OP_OPENACC_HPP_ +#define DESUL_ATOMICS_LOCK_BASED_FETCH_OP_OPENACC_HPP_ + +#include +#include +#include +#include + +namespace desul { +namespace Impl { + +template = 0> +inline T device_atomic_fetch_oper(const Oper& op, + T* const dest, + dont_deduce_this_parameter_t val, + MemoryOrder /*order*/, + MemoryScope scope) { + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_fetch_oper(): Not supported atomic operation in " + "the OpenACC backend\n"); + } + // Acquire a lock for the address + while (!lock_address((void*)dest, scope)) { + } + + device_atomic_thread_fence(MemoryOrderAcquire(), scope); + T return_val = *dest; + *dest = op.apply(return_val, val); + device_atomic_thread_fence(MemoryOrderRelease(), scope); + unlock_address((void*)dest, scope); + return return_val; +} + +template = 0> +inline T device_atomic_oper_fetch(const Oper& op, + T* const dest, + dont_deduce_this_parameter_t val, + MemoryOrder /*order*/, + MemoryScope scope) { + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_oper_fetch(): Not supported atomic operation in " + "the OpenACC backend\n"); + } + // Acquire a lock for the address + while (!lock_address((void*)dest, scope)) { + } + + device_atomic_thread_fence(MemoryOrderAcquire(), scope); + T return_val = op.apply(*dest, val); + *dest = return_val; + device_atomic_thread_fence(MemoryOrderRelease(), scope); + unlock_address((void*)dest, scope); + return return_val; +} + +} // namespace Impl +} // namespace desul + +#endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Macros.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Macros.hpp index 3a14b93d32..d11beb0c80 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Macros.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Macros.hpp @@ -57,6 +57,10 @@ SPDX-License-Identifier: (BSD-3-Clause) #define DESUL_HAVE_OPENMP_ATOMICS #endif +#if defined(DESUL_ATOMICS_ENABLE_OPENACC) +#define DESUL_HAVE_OPENACC_ATOMICS +#endif + // ONLY use GNUC atomics if not explicitly say to use OpenMP atomics #if !defined(DESUL_HAVE_OPENMP_ATOMICS) && defined(__GNUC__) #define DESUL_HAVE_GCC_ATOMICS @@ -123,6 +127,30 @@ static constexpr bool desul_impl_omp_on_host() { return false; } #endif #endif +#if defined(DESUL_HAVE_OPENACC_ATOMICS) +#include +#ifdef __NVCOMPILER +// FIXME_OPENACC We cannot determine in a constant expresion whether we are on host or +// on device with NVHPC. We use the device implementation on both sides. +#define DESUL_IF_ON_DEVICE(CODE) \ + { DESUL_IMPL_STRIP_PARENS(CODE) } +#define DESUL_IF_ON_HOST(CODE) \ + {} +#else +#define DESUL_IF_ON_DEVICE(CODE) \ + if constexpr (acc_on_device(acc_device_not_host)) { \ + DESUL_IMPL_STRIP_PARENS(CODE) \ + } +#define DESUL_IF_ON_HOST(CODE) \ + if constexpr (acc_on_device(acc_device_host)) { \ + DESUL_IMPL_STRIP_PARENS(CODE) \ + } +#endif +#define DESUL_IMPL_ACC_ROUTINE_DIRECTIVE _Pragma("acc routine seq") +#else +#define DESUL_IMPL_ACC_ROUTINE_DIRECTIVE +#endif + #if !defined(DESUL_IF_ON_HOST) && !defined(DESUL_IF_ON_DEVICE) #if (defined(DESUL_ATOMICS_ENABLE_CUDA) && defined(__CUDA_ARCH__)) || \ (defined(DESUL_ATOMICS_ENABLE_HIP) && defined(__HIP_DEVICE_COMPILE__)) || \ diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence.hpp index 24078aae07..6a741f6d47 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence.hpp @@ -26,6 +26,9 @@ SPDX-License-Identifier: (BSD-3-Clause) #ifdef DESUL_HAVE_OPENMP_ATOMICS #include #endif +#ifdef DESUL_HAVE_OPENACC_ATOMICS +#include +#endif #ifdef DESUL_HAVE_SYCL_ATOMICS #include #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence_OpenACC.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence_OpenACC.hpp new file mode 100644 index 0000000000..a5c8aa1c8a --- /dev/null +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence_OpenACC.hpp @@ -0,0 +1,25 @@ +/* +Copyright (c) 2019, Lawrence Livermore National Security, LLC +and DESUL project contributors. See the COPYRIGHT file for details. +Source: https://github.com/desul/desul + +SPDX-License-Identifier: (BSD-3-Clause) +*/ + +#ifndef DESUL_ATOMICS_THREAD_FENCE_OPENACC_HPP_ +#define DESUL_ATOMICS_THREAD_FENCE_OPENACC_HPP_ + +namespace desul { +namespace Impl { + +#pragma acc routine seq +template +void device_atomic_thread_fence(MemoryOrder, MemoryScope) { + // FIXME_OPENACC: The current OpenACC standard does not support explicit thread fence + // operations. +} + +} // namespace Impl +} // namespace desul + +#endif diff --git a/lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp b/lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp index 9e84c60e41..6660c76e11 100644 --- a/lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp +++ b/lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp @@ -14,10 +14,12 @@ SPDX-License-Identifier: (BSD-3-Clause) namespace desul::Impl { +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION SYCL_EXTERNAL sycl_device_global SYCL_SPACE_ATOMIC_LOCKS_DEVICE; SYCL_EXTERNAL sycl_device_global SYCL_SPACE_ATOMIC_LOCKS_NODE; +#endif int32_t* SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h = nullptr; int32_t* SYCL_SPACE_ATOMIC_LOCKS_NODE_h = nullptr; @@ -31,19 +33,7 @@ void init_lock_arrays_sycl(sycl::queue q) { SYCL_SPACE_ATOMIC_LOCKS_NODE_h = sycl::malloc_host(SYCL_SPACE_ATOMIC_MASK + 1, q); - // FIXME_SYCL Once supported, the following should be replaced by - // q.memcpy(SYCL_SPACE_ATOMIC_LOCKS_DEVICE, - // &SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h, - // sizeof(int32_t*)); - // q.memcpy(SYCL_SPACE_ATOMIC_LOCKS_NODE, - // &SYCL_SPACE_ATOMIC_LOCKS_NODE_h, - // sizeof(int32_t*)); - auto device_ptr = SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h; - auto node_ptr = SYCL_SPACE_ATOMIC_LOCKS_NODE_h; - q.single_task([=] { - SYCL_SPACE_ATOMIC_LOCKS_DEVICE.get() = device_ptr; - SYCL_SPACE_ATOMIC_LOCKS_NODE.get() = node_ptr; - }); + copy_sycl_lock_arrays_to_device(q); q.memset(SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h, 0, @@ -63,7 +53,10 @@ void finalize_lock_arrays_sycl(sycl::queue q) { sycl::free(SYCL_SPACE_ATOMIC_LOCKS_NODE_h, q); SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h = nullptr; SYCL_SPACE_ATOMIC_LOCKS_NODE_h = nullptr; +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION + copy_sycl_lock_arrays_to_device(q); +#endif } -} // namespace desul::Impl +} // namespace desul::Impl #endif diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp index ab1561bd47..25389a2fa5 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp @@ -27,165 +27,165 @@ namespace detail { // For no unique address emulation, this is the case taken when neither are empty. // For real `[[no_unique_address]]`, this case is always taken. -template struct __compressed_pair { - _MDSPAN_NO_UNIQUE_ADDRESS _T __t_val; - _MDSPAN_NO_UNIQUE_ADDRESS _U __u_val; - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__first() noexcept { return __t_val; } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _T const &__first() const noexcept { - return __t_val; +template struct __compressed_pair { + _MDSPAN_NO_UNIQUE_ADDRESS _T1 __t1_val{}; + _MDSPAN_NO_UNIQUE_ADDRESS _T2 __t2_val{}; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T1 &__first() noexcept { return __t1_val; } + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T1 const &__first() const noexcept { + return __t1_val; } - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _U &__second() noexcept { return __u_val; } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _U const &__second() const noexcept { - return __u_val; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T2 &__second() noexcept { return __t2_val; } + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T2 const &__second() const noexcept { + return __t2_val; } MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair() noexcept = default; + constexpr __compressed_pair() = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair const &) noexcept = default; + constexpr __compressed_pair(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair &&) noexcept = default; + constexpr __compressed_pair(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair const &) noexcept = default; + operator=(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair &&) noexcept = default; + operator=(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - ~__compressed_pair() noexcept = default; - template - MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_TLike &&__t, _ULike &&__u) - : __t_val((_TLike &&) __t), __u_val((_ULike &&) __u) {} + ~__compressed_pair() = default; + template + MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_T1Like &&__t1, _T2Like &&__t2) + : __t1_val((_T1Like &&) __t1), __t2_val((_T2Like &&) __t2) {} }; #if !defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) // First empty. -template +template struct __compressed_pair< - _T, _U, - std::enable_if_t<_MDSPAN_TRAIT(std::is_empty, _T) && !_MDSPAN_TRAIT(std::is_empty, _U)>> - : private _T { - _U __u_val; - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__first() noexcept { - return *static_cast<_T *>(this); + _T1, _T2, + std::enable_if_t<_MDSPAN_TRAIT(std::is_empty, _T1) && !_MDSPAN_TRAIT(std::is_empty, _T2)>> + : private _T1 { + _T2 __t2_val{}; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T1 &__first() noexcept { + return *static_cast<_T1 *>(this); } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _T const &__first() const noexcept { - return *static_cast<_T const *>(this); + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T1 const &__first() const noexcept { + return *static_cast<_T1 const *>(this); } - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _U &__second() noexcept { return __u_val; } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _U const &__second() const noexcept { - return __u_val; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T2 &__second() noexcept { return __t2_val; } + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T2 const &__second() const noexcept { + return __t2_val; } MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair() noexcept = default; + constexpr __compressed_pair() = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair const &) noexcept = default; + constexpr __compressed_pair(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair &&) noexcept = default; + constexpr __compressed_pair(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair const &) noexcept = default; + operator=(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair &&) noexcept = default; + operator=(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - ~__compressed_pair() noexcept = default; - template - MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_TLike &&__t, _ULike &&__u) - : _T((_TLike &&) __t), __u_val((_ULike &&) __u) {} + ~__compressed_pair() = default; + template + MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_T1Like &&__t1, _T2Like &&__t2) + : _T1((_T1Like &&) __t1), __t2_val((_T2Like &&) __t2) {} }; // Second empty. -template +template struct __compressed_pair< - _T, _U, - std::enable_if_t> - : private _U { - _T __t_val; - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__first() noexcept { return __t_val; } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _T const &__first() const noexcept { - return __t_val; + _T1, _T2, + std::enable_if_t> + : private _T2 { + _T1 __t1_val{}; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T1 &__first() noexcept { return __t1_val; } + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T1 const &__first() const noexcept { + return __t1_val; } - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _U &__second() noexcept { - return *static_cast<_U *>(this); + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T2 &__second() noexcept { + return *static_cast<_T2 *>(this); } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _U const &__second() const noexcept { - return *static_cast<_U const *>(this); + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T2 const &__second() const noexcept { + return *static_cast<_T2 const *>(this); } MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair() noexcept = default; + constexpr __compressed_pair() = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair const &) noexcept = default; + constexpr __compressed_pair(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair &&) noexcept = default; + constexpr __compressed_pair(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair const &) noexcept = default; + operator=(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair &&) noexcept = default; + operator=(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - ~__compressed_pair() noexcept = default; + ~__compressed_pair() = default; - template - MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_TLike &&__t, _ULike &&__u) - : _U((_ULike &&) __u), __t_val((_TLike &&) __t) {} + template + MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_T1Like &&__t1, _T2Like &&__t2) + : _T2((_T2Like &&) __t2), __t1_val((_T1Like &&) __t1) {} }; // Both empty. -template +template struct __compressed_pair< - _T, _U, - std::enable_if_t<_MDSPAN_TRAIT(std::is_empty, _T) && _MDSPAN_TRAIT(std::is_empty, _U)>> + _T1, _T2, + std::enable_if_t<_MDSPAN_TRAIT(std::is_empty, _T1) && _MDSPAN_TRAIT(std::is_empty, _T2)>> // We need to use the __no_unique_address_emulation wrapper here to avoid // base class ambiguities. #ifdef _MDSPAN_COMPILER_MSVC // MSVC doesn't allow you to access public static member functions of a type // when you *happen* to privately inherit from that type. - : protected __no_unique_address_emulation<_T, 0>, - protected __no_unique_address_emulation<_U, 1> + : protected __no_unique_address_emulation<_T1, 0>, + protected __no_unique_address_emulation<_T2, 1> #else - : private __no_unique_address_emulation<_T, 0>, - private __no_unique_address_emulation<_U, 1> + : private __no_unique_address_emulation<_T1, 0>, + private __no_unique_address_emulation<_T2, 1> #endif { - using __first_base_t = __no_unique_address_emulation<_T, 0>; - using __second_base_t = __no_unique_address_emulation<_U, 1>; + using __first_base_t = __no_unique_address_emulation<_T1, 0>; + using __second_base_t = __no_unique_address_emulation<_T2, 1>; - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__first() noexcept { + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T1 &__first() noexcept { return this->__first_base_t::__ref(); } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _T const &__first() const noexcept { + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T1 const &__first() const noexcept { return this->__first_base_t::__ref(); } - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _U &__second() noexcept { + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T2 &__second() noexcept { return this->__second_base_t::__ref(); } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _U const &__second() const noexcept { + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T2 const &__second() const noexcept { return this->__second_base_t::__ref(); } MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair() noexcept = default; + constexpr __compressed_pair() = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair const &) noexcept = default; + constexpr __compressed_pair(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair &&) noexcept = default; + constexpr __compressed_pair(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair const &) noexcept = default; + operator=(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair &&) noexcept = default; + operator=(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - ~__compressed_pair() noexcept = default; - template - MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_TLike &&__t, _ULike &&__u) noexcept - : __first_base_t(_T((_TLike &&) __t)), - __second_base_t(_U((_ULike &&) __u)) + ~__compressed_pair() = default; + template + MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_T1Like &&__t1, _T2Like &&__t2) noexcept + : __first_base_t(_T1((_T1Like &&) __t1)), + __second_base_t(_T2((_T2Like &&) __t2)) { } }; diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/config.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/config.hpp index d35e201ceb..8e42a37ba7 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/config.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/config.hpp @@ -35,10 +35,17 @@ #define MDSPAN_CXX_STD_14 201402L #define MDSPAN_CXX_STD_17 201703L #define MDSPAN_CXX_STD_20 202002L +// Note GCC has not updated this in version 13 +#ifdef __clang__ +#define MDSPAN_CXX_STD_23 202302L +#else +#define MDSPAN_CXX_STD_23 202100L +#endif #define MDSPAN_HAS_CXX_14 (_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_14) #define MDSPAN_HAS_CXX_17 (_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_17) #define MDSPAN_HAS_CXX_20 (_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_20) +#define MDSPAN_HAS_CXX_23 (_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_23) static_assert(_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_14, "mdspan requires C++14 or later."); @@ -224,7 +231,7 @@ static_assert(_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_14, "mdspan requires C++14 or #endif #ifndef MDSPAN_CONDITIONAL_EXPLICIT -# if MDSPAN_HAS_CXX_20 && !defined(_MDSPAN_COMPILER_MSVC) +# if MDSPAN_HAS_CXX_20 # define MDSPAN_CONDITIONAL_EXPLICIT(COND) explicit(COND) # else # define MDSPAN_CONDITIONAL_EXPLICIT(COND) diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/extents.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/extents.hpp index 0dd31c4cd0..9a28c3ed5c 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/extents.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/extents.hpp @@ -55,6 +55,14 @@ __check_compatible_extents( return {}; } +template +MDSPAN_INLINE_FUNCTION +static constexpr bool are_valid_indices() { + return + (std::is_convertible::value && ... && true) && + (std::is_nothrow_constructible::value && ... && true); +} + // ------------------------------------------------------------------ // ------------ static_array ---------------------------------------- // ------------------------------------------------------------------ @@ -140,7 +148,8 @@ struct index_sequence_scan_impl { template struct index_sequence_scan_impl { -#if defined(__NVCC__) || defined(__NVCOMPILER) +#if defined(__NVCC__) || defined(__NVCOMPILER) || \ + defined(_MDSPAN_COMPILER_INTEL) // NVCC warns about pointless comparison with 0 for R==0 and r being const // evaluatable and also 0. MDSPAN_INLINE_FUNCTION @@ -167,7 +176,7 @@ template <> struct index_sequence_scan_impl<0> { // all static values. template struct possibly_empty_array { - T vals[N]; + T vals[N]{}; MDSPAN_INLINE_FUNCTION constexpr T &operator[](size_t r) { return vals[r]; } MDSPAN_INLINE_FUNCTION @@ -251,12 +260,17 @@ public: #ifdef __cpp_lib_span MDSPAN_TEMPLATE_REQUIRES(class T, size_t N, - /* requires */ (N == m_size_dynamic)) + /* requires */ (N == m_size_dynamic && N > 0)) MDSPAN_INLINE_FUNCTION constexpr maybe_static_array(const std::span &vals) { for (size_t r = 0; r < N; r++) m_dyn_vals[r] = static_cast(vals[r]); } + + MDSPAN_TEMPLATE_REQUIRES(class T, size_t N, + /* requires */ (N == m_size_dynamic && N == 0)) + MDSPAN_INLINE_FUNCTION + constexpr maybe_static_array(const std::span &) : m_dyn_vals{} {} #endif // constructors from all values @@ -423,9 +437,9 @@ public: class OtherIndexType, size_t N, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, OtherIndexType, index_type) && + _MDSPAN_TRAIT(std::is_convertible, const OtherIndexType&, index_type) && _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, - OtherIndexType) && + const OtherIndexType&) && (N == m_rank || N == m_rank_dynamic))) MDSPAN_INLINE_FUNCTION MDSPAN_CONDITIONAL_EXPLICIT(N != m_rank_dynamic) @@ -436,8 +450,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class OtherIndexType, size_t N, /* requires */ - (_MDSPAN_TRAIT(std::is_convertible, OtherIndexType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, OtherIndexType) && + (_MDSPAN_TRAIT(std::is_convertible, const OtherIndexType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const OtherIndexType&) && (N == m_rank || N == m_rank_dynamic))) MDSPAN_INLINE_FUNCTION MDSPAN_CONDITIONAL_EXPLICIT(N != m_rank_dynamic) @@ -454,6 +468,7 @@ private: size_t DynCount, size_t R, class OtherExtents, class... DynamicValues, /* requires */ ((R < m_rank) && (static_extent(R) == dynamic_extent))) MDSPAN_INLINE_FUNCTION + constexpr vals_t __construct_vals_from_extents(std::integral_constant, std::integral_constant, const OtherExtents &exts, @@ -468,6 +483,7 @@ private: size_t DynCount, size_t R, class OtherExtents, class... DynamicValues, /* requires */ ((R < m_rank) && (static_extent(R) != dynamic_extent))) MDSPAN_INLINE_FUNCTION + constexpr vals_t __construct_vals_from_extents(std::integral_constant, std::integral_constant, const OtherExtents &exts, @@ -481,6 +497,7 @@ private: size_t DynCount, size_t R, class OtherExtents, class... DynamicValues, /* requires */ ((R == m_rank) && (DynCount == m_rank_dynamic))) MDSPAN_INLINE_FUNCTION + constexpr vals_t __construct_vals_from_extents(std::integral_constant, std::integral_constant, const OtherExtents &, @@ -491,17 +508,20 @@ private: public: // Converting constructor from other extents specializations - MDSPAN_TEMPLATE_REQUIRES( - class OtherIndexType, size_t... OtherExtents, - /* requires */ - ( - /* multi-stage check to protect from invalid pack expansion when sizes - don't match? */ - decltype(detail::__check_compatible_extents( - std::integral_constant{}, + MDSPAN_TEMPLATE_REQUIRES( + class OtherIndexType, size_t... OtherExtents, + /* requires */ + ( + /* multi-stage check to protect from invalid pack expansion when sizes + don't match? */ + decltype(detail::__check_compatible_extents( + // using: sizeof...(Extents) == sizeof...(OtherExtents) as the second argument fails with MSVC+NVCC with some obscure expansion error + // MSVC: 19.38.33133 NVCC: 12.0 + std::integral_constant::rank() == extents::rank()>{}, std::integer_sequence{}, - std::integer_sequence{}))::value)) + std::integer_sequence{}))::value + ) + ) MDSPAN_INLINE_FUNCTION MDSPAN_CONDITIONAL_EXPLICIT((((Extents != dynamic_extent) && (OtherExtents == dynamic_extent)) || @@ -518,10 +538,14 @@ public: MDSPAN_INLINE_FUNCTION friend constexpr bool operator==(const extents &lhs, const extents &rhs) noexcept { - bool value = true; - for (size_type r = 0; r < m_rank; r++) - value &= rhs.extent(r) == lhs.extent(r); - return value; + if constexpr (rank() != extents::rank()) { + return false; + } else { + using common_t = std::common_type_t; + for (size_type r = 0; r < m_rank; r++) + if(static_cast(rhs.extent(r)) != static_cast(lhs.extent(r))) return false; + } + return true; } #if !(MDSPAN_HAS_CXX_20) @@ -570,7 +594,7 @@ using dextents = typename detail::__make_dextents::type; template extents(IndexTypes...) -> extents; + ((void) sizeof(IndexTypes), ::MDSPAN_IMPL_STANDARD_NAMESPACE::dynamic_extent)...>; #endif // Helper type traits for identifying a class as extents. diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp index af44494a98..83ed9ef7fe 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp @@ -18,6 +18,9 @@ #include "macros.hpp" #include "trait_backports.hpp" #include "extents.hpp" +#include "../__p2642_bits/layout_padded_fwd.hpp" +#include +#include namespace MDSPAN_IMPL_STANDARD_NAMESPACE { @@ -108,6 +111,36 @@ class layout_left::mapping { */ } +#if MDSPAN_HAS_CXX_17 + /** + * Converting constructor from `layout_left_padded::mapping`. + * + * This overload participates in overload resolution only if _Mapping is a layout_left_padded mapping and + * extents_type is constructible from _Mapping::extents_type. + * + * \note There is currently a difference from p2642r2, where this function is specified as taking + * `layout_left_padded< padding_value >::mapping< Extents>`. However, this makes `padding_value` non-deducible. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::is_layout_left_padded_mapping<_Mapping>::value + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v)) + mapping(const _Mapping& __other) noexcept + : __extents(__other.extents()) + { + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail:: + check_padded_layout_converting_constructor_mandates(); + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail:: + check_padded_layout_converting_constructor_preconditions< + extents_type>(__other); + } +#endif + MDSPAN_TEMPLATE_REQUIRES( class OtherExtents, /* requires */ ( @@ -124,13 +157,14 @@ class layout_left::mapping { * other.required_span_size() is a representable value of type index_type */ #if !defined(_MDSPAN_HAS_CUDA) && !defined(_MDSPAN_HAS_HIP) && !defined(NDEBUG) - index_type stride = 1; - for(rank_type r=0; r<__extents.rank(); r++) { - if(stride != static_cast(other.stride(r))) { - // Note this throw will lead to a terminate if triggered since this function is marked noexcept - throw std::runtime_error("Assigning layout_stride to layout_left with invalid strides."); + if constexpr (extents_type::rank() > 0) { + index_type stride = 1; + using common_t = std::common_type_t; + for(rank_type r=0; r<__extents.rank(); r++) { + if(static_cast(stride) != static_cast(other.stride(r))) + std::abort(); // ("Assigning layout_stride to layout_left with invalid strides."); + stride *= __extents.extent(r); } - stride *= __extents.extent(r); } #endif } @@ -155,10 +189,7 @@ class layout_left::mapping { class... Indices, /* requires */ ( (sizeof...(Indices) == extents_type::rank()) && - _MDSPAN_FOLD_AND( - (_MDSPAN_TRAIT(std::is_convertible, Indices, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, Indices)) - ) + (detail::are_valid_indices()) ) ) _MDSPAN_HOST_DEVICE @@ -172,9 +203,9 @@ class layout_left::mapping { MDSPAN_INLINE_FUNCTION static constexpr bool is_always_exhaustive() noexcept { return true; } MDSPAN_INLINE_FUNCTION static constexpr bool is_always_strided() noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_unique() const noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_exhaustive() const noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_strided() const noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_unique() noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_exhaustive() noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_strided() noexcept { return true; } MDSPAN_INLINE_FUNCTION constexpr index_type stride(rank_type i) const noexcept @@ -187,7 +218,10 @@ class layout_left::mapping { return value; } - template + MDSPAN_TEMPLATE_REQUIRES( + class OtherExtents, + /* requires */ ( Extents::rank() == OtherExtents::rank()) + ) MDSPAN_INLINE_FUNCTION friend constexpr bool operator==(mapping const& lhs, mapping const& rhs) noexcept { return lhs.extents() == rhs.extents(); @@ -195,7 +229,10 @@ class layout_left::mapping { // In C++ 20 the not equal exists if equal is found #if !(MDSPAN_HAS_CXX_20) - template + MDSPAN_TEMPLATE_REQUIRES( + class OtherExtents, + /* requires */ ( Extents::rank() == OtherExtents::rank()) + ) MDSPAN_INLINE_FUNCTION friend constexpr bool operator!=(mapping const& lhs, mapping const& rhs) noexcept { return lhs.extents() != rhs.extents(); @@ -215,6 +252,17 @@ class layout_left::mapping { private: _MDSPAN_NO_UNIQUE_ADDRESS extents_type __extents{}; + // [mdspan.submdspan.mapping], submdspan mapping specialization + template + MDSPAN_INLINE_FUNCTION + constexpr auto submdspan_mapping_impl( + SliceSpecifiers... slices) const; + + template + friend constexpr auto submdspan_mapping( + const mapping& src, SliceSpecifiers... slices) { + return src.submdspan_mapping_impl(slices...); + } }; diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp index a058648420..3d3927df7b 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp @@ -20,6 +20,7 @@ #include "extents.hpp" #include #include "layout_stride.hpp" +#include "../__p2642_bits/layout_padded_fwd.hpp" namespace MDSPAN_IMPL_STANDARD_NAMESPACE { @@ -113,6 +114,34 @@ class layout_right::mapping { */ } + /** + * Converting constructor from `layout_right_padded::mapping`. + * + * This overload participates in overload resolution only if _Mapping is a layout_right_padded mapping and + * extents_type is constructible from _Mapping::extents_type. + * + * \note There is currently a difference from p2642r2, where this function is specified as taking + * `layout_right_padded< padding_value >::mapping< Extents>`. However, this makes `padding_value` non-deducible. + */ +#if MDSPAN_HAS_CXX_17 + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::is_layout_right_padded_mapping<_Mapping>::value + && std::is_constructible_v)) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v)) + mapping(const _Mapping &__other) noexcept + : __extents(__other.extents()) + { + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail:: + check_padded_layout_converting_constructor_mandates(); + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail:: + check_padded_layout_converting_constructor_preconditions< + extents_type>(__other); + } +#endif + MDSPAN_TEMPLATE_REQUIRES( class OtherExtents, /* requires */ ( @@ -129,13 +158,14 @@ class layout_right::mapping { * other.required_span_size() is a representable value of type index_type */ #if !defined(_MDSPAN_HAS_CUDA) && !defined(_MDSPAN_HAS_HIP) && !defined(NDEBUG) - index_type stride = 1; - for(rank_type r=__extents.rank(); r>0; r--) { - if(stride != static_cast(other.stride(r-1))) { - // Note this throw will lead to a terminate if triggered since this function is marked noexcept - throw std::runtime_error("Assigning layout_stride to layout_right with invalid strides."); + if constexpr (extents_type::rank() > 0) { + index_type stride = 1; + using common_t = std::common_type_t; + for(rank_type r=__extents.rank(); r>0; r--) { + if(static_cast(stride) != static_cast(other.stride(r-1))) + std::abort(); // ("Assigning layout_stride to layout_right with invalid strides."); + stride *= __extents.extent(r-1); } - stride *= __extents.extent(r-1); } #endif } @@ -157,13 +187,10 @@ class layout_right::mapping { //-------------------------------------------------------------------------------- MDSPAN_TEMPLATE_REQUIRES( - class... Indices, + class ... Indices, /* requires */ ( - (sizeof...(Indices) == extents_type::rank()) && - _MDSPAN_FOLD_AND( - (_MDSPAN_TRAIT(std::is_convertible, Indices, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, Indices)) - ) + (sizeof...(Indices) == extents_type::rank()) && + (detail::are_valid_indices()) ) ) _MDSPAN_HOST_DEVICE @@ -174,9 +201,9 @@ class layout_right::mapping { MDSPAN_INLINE_FUNCTION static constexpr bool is_always_unique() noexcept { return true; } MDSPAN_INLINE_FUNCTION static constexpr bool is_always_exhaustive() noexcept { return true; } MDSPAN_INLINE_FUNCTION static constexpr bool is_always_strided() noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_unique() const noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_exhaustive() const noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_strided() const noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_unique() noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_exhaustive() noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_strided() noexcept { return true; } MDSPAN_INLINE_FUNCTION constexpr index_type stride(rank_type i) const noexcept @@ -189,7 +216,10 @@ class layout_right::mapping { return value; } - template + MDSPAN_TEMPLATE_REQUIRES( + class OtherExtents, + /* requires */ ( Extents::rank() == OtherExtents::rank()) + ) MDSPAN_INLINE_FUNCTION friend constexpr bool operator==(mapping const& lhs, mapping const& rhs) noexcept { return lhs.extents() == rhs.extents(); @@ -197,7 +227,10 @@ class layout_right::mapping { // In C++ 20 the not equal exists if equal is found #if !(MDSPAN_HAS_CXX_20) - template + MDSPAN_TEMPLATE_REQUIRES( + class OtherExtents, + /* requires */ (Extents::rank() == OtherExtents::rank()) + ) MDSPAN_INLINE_FUNCTION friend constexpr bool operator!=(mapping const& lhs, mapping const& rhs) noexcept { return lhs.extents() != rhs.extents(); @@ -217,6 +250,17 @@ class layout_right::mapping { private: _MDSPAN_NO_UNIQUE_ADDRESS extents_type __extents{}; + // [mdspan.submdspan.mapping], submdspan mapping specialization + template + MDSPAN_INLINE_FUNCTION + constexpr auto submdspan_mapping_impl( + SliceSpecifiers... slices) const; + + template + friend constexpr auto submdspan_mapping( + const mapping& src, SliceSpecifiers... slices) { + return src.submdspan_mapping_impl(slices...); + } }; } // end namespace MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp index 030a494529..15ad577d14 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp @@ -88,7 +88,7 @@ struct layout_stride { : private detail::__no_unique_address_emulation< detail::__compressed_pair< Extents, - std::array + detail::possibly_empty_array > > #endif @@ -109,7 +109,7 @@ struct layout_stride { //---------------------------------------------------------------------------- - using __strides_storage_t = std::array; + using __strides_storage_t = detail::possibly_empty_array; using __member_pair_t = detail::__compressed_pair; #if defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) @@ -158,14 +158,16 @@ struct layout_stride { template MDSPAN_INLINE_FUNCTION static constexpr bool _eq_impl(mapping const& self, mapping const& other) noexcept { - return _MDSPAN_FOLD_AND((self.stride(Idxs) == other.stride(Idxs)) /* && ... */) - && _MDSPAN_FOLD_AND((self.extents().extent(Idxs) == other.extents().extent(Idxs)) /* || ... */); + using common_t = std::common_type_t; + return _MDSPAN_FOLD_AND((static_cast(self.stride(Idxs)) == static_cast(other.stride(Idxs))) /* && ... */) + && _MDSPAN_FOLD_AND((static_cast(self.extents().extent(Idxs)) == static_cast(other.extents().extent(Idxs))) /* || ... */); } template MDSPAN_INLINE_FUNCTION static constexpr bool _not_eq_impl(mapping const& self, mapping const& other) noexcept { - return _MDSPAN_FOLD_OR((self.stride(Idxs) != other.stride(Idxs)) /* || ... */) - || _MDSPAN_FOLD_OR((self.extents().extent(Idxs) != other.extents().extent(Idxs)) /* || ... */); + using common_t = std::common_type_t; + return _MDSPAN_FOLD_OR((static_cast(self.stride(Idxs)) != static_cast(other.stride(Idxs))) /* || ... */) + || _MDSPAN_FOLD_OR((static_cast(self.extents().extent(Idxs)) != static_cast(other.extents().extent(Idxs))) /* || ... */); } template @@ -205,6 +207,11 @@ struct layout_stride { } #endif + MDSPAN_INLINE_FUNCTION + static constexpr std::array return_strides(const __strides_storage_t& s) { + return std::array{s[Idxs]...}; + } + template MDSPAN_INLINE_FUNCTION static constexpr size_t __return_zero() { return 0; } @@ -218,6 +225,21 @@ struct layout_stride { // Can't use defaulted parameter in the __deduction_workaround template because of a bug in MSVC warning C4348. using __impl = __deduction_workaround>; + static constexpr __strides_storage_t strides_storage(std::true_type) { + __strides_storage_t s{}; + + extents_type e; + index_type stride = 1; + for(int r = static_cast(extents_type::rank() - 1); r >= 0; r--) { + s[r] = stride; + stride *= e.extent(r); + } + + return s; + } + static constexpr __strides_storage_t strides_storage(std::false_type) { + return {}; + } //---------------------------------------------------------------------------- @@ -233,7 +255,21 @@ struct layout_stride { //-------------------------------------------------------------------------------- - MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping() noexcept = default; + MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping() noexcept +#if defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) + : __members{ +#else + : __base_t(__base_t{__member_pair_t( +#endif + extents_type(), + __strides_storage_t(strides_storage(std::integral_constant 0)>{})) +#if defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) + } +#else + )}) +#endif + {} + MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping(mapping const&) noexcept = default; MDSPAN_TEMPLATE_REQUIRES( @@ -332,10 +368,10 @@ struct layout_stride { ) #endif MDSPAN_CONDITIONAL_EXPLICIT( - (!std::is_convertible::value) && - (detail::__is_mapping_of || - detail::__is_mapping_of || - detail::__is_mapping_of) + !(std::is_convertible::value && + (detail::__is_mapping_of || + detail::__is_mapping_of || + detail::__is_mapping_of)) ) // needs two () due to comma MDSPAN_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 mapping(StridedLayoutMapping const& other) noexcept // NOLINT(google-explicit-constructor) @@ -374,7 +410,7 @@ struct layout_stride { MDSPAN_INLINE_FUNCTION constexpr std::array< index_type, extents_type::rank() > strides() const noexcept { - return __strides_storage(); + return __impl::return_strides(__strides_storage()); } MDSPAN_INLINE_FUNCTION @@ -393,8 +429,7 @@ struct layout_stride { class... Indices, /* requires */ ( sizeof...(Indices) == Extents::rank() && - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_convertible, Indices, index_type) /*&& ...*/ ) && - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, Indices) /*&& ...*/) + (detail::are_valid_indices()) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -410,17 +445,37 @@ struct layout_stride { MDSPAN_INLINE_FUNCTION static constexpr bool is_unique() noexcept { return true; } MDSPAN_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 bool is_exhaustive() const noexcept { - return required_span_size() == __get_size(extents(), std::make_index_sequence()); + if constexpr (extents_type::rank() == 0) + return true; + else { + index_type span_size = required_span_size(); + if (span_size == static_cast(0)) { + if constexpr (extents_type::rank() == 1) { + return stride(0) == 1; + } else { + rank_type r_largest = 0; + for (rank_type r = 1; r < extents_type::rank(); r++) { + if (stride(r) > stride(r_largest)) { + r_largest = r; + } + } + for (rank_type r = 0; r < extents_type::rank(); r++) { + if (extents().extent(r) == 0 && r != r_largest) { + return false; + } + } + return true; + } + } else { + return required_span_size() == __get_size(extents(), std::make_index_sequence()); + } + } } MDSPAN_INLINE_FUNCTION static constexpr bool is_strided() noexcept { return true; } MDSPAN_INLINE_FUNCTION - constexpr index_type stride(rank_type r) const noexcept -#if MDSPAN_HAS_CXX_20 - requires ( Extents::rank() > 0 ) -#endif - { + constexpr index_type stride(rank_type r) const noexcept { return __strides_storage()[r]; } @@ -444,10 +499,13 @@ struct layout_stride { MDSPAN_INLINE_FUNCTION friend constexpr bool operator==(const mapping& x, const StridedLayoutMapping& y) noexcept { bool strides_match = true; - for(rank_type r = 0; r < extents_type::rank(); r++) - strides_match = strides_match && (x.stride(r) == y.stride(r)); + if constexpr (extents_type::rank() > 0) { + using common_t = std::common_type_t; + for(rank_type r = 0; r < extents_type::rank(); r++) + strides_match = strides_match && (static_cast(x.stride(r)) == static_cast(y.stride(r))); + } return (x.extents() == y.extents()) && - (__impl::__OFFSET(y)== static_cast(0)) && + (__impl::__OFFSET(y) == static_cast(0)) && strides_match; } @@ -489,6 +547,17 @@ struct layout_stride { } #endif + // [mdspan.submdspan.mapping], submdspan mapping specialization + template + MDSPAN_INLINE_FUNCTION + constexpr auto submdspan_mapping_impl( + SliceSpecifiers... slices) const; + + template + friend constexpr auto submdspan_mapping( + const mapping& src, SliceSpecifiers... slices) { + return src.submdspan_mapping_impl(slices...); + } }; }; diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp index 6febe30021..d6ec49e65b 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp @@ -55,6 +55,13 @@ private: ReferenceType __callop(mdspan const& __self, const std::array& indices) noexcept { return __self.__accessor_ref().access(__self.__ptr_ref(), __self.__mapping_ref()(indices[Idxs]...)); } +#ifdef __cpp_lib_span + template + MDSPAN_FORCE_INLINE_FUNCTION static constexpr + ReferenceType __callop(mdspan const& __self, const std::span& indices) noexcept { + return __self.__accessor_ref().access(__self.__ptr_ref(), __self.__mapping_ref()(indices[Idxs]...)); + } +#endif }; public: @@ -109,9 +116,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeTypes) /* && ... */) && ((sizeof...(SizeTypes) == rank()) || (sizeof...(SizeTypes) == rank_dynamic())) && + (detail::are_valid_indices()) && _MDSPAN_TRAIT(std::is_constructible, mapping_type, extents_type) && _MDSPAN_TRAIT(std::is_default_constructible, accessor_type) ) @@ -125,8 +131,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, size_t N, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) && + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) && ((N == rank()) || (N == rank_dynamic())) && _MDSPAN_TRAIT(std::is_constructible, mapping_type, extents_type) && _MDSPAN_TRAIT(std::is_default_constructible, accessor_type) @@ -142,8 +148,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, size_t N, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) && + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) && ((N == rank()) || (N == rank_dynamic())) && _MDSPAN_TRAIT(std::is_constructible, mapping_type, extents_type) && _MDSPAN_TRAIT(std::is_default_constructible, accessor_type) @@ -160,7 +166,7 @@ public: (MDSPAN_INLINE_FUNCTION constexpr), mdspan, (data_handle_type p, const extents_type& exts), , /* requires */ (_MDSPAN_TRAIT(std::is_default_constructible, accessor_type) && - _MDSPAN_TRAIT(std::is_constructible, mapping_type, extents_type)) + _MDSPAN_TRAIT(std::is_constructible, mapping_type, const extents_type&)) ) : __members(std::move(p), __map_acc_pair_t(mapping_type(exts), accessor_type())) { } @@ -179,10 +185,14 @@ public: MDSPAN_TEMPLATE_REQUIRES( class OtherElementType, class OtherExtents, class OtherLayoutPolicy, class OtherAccessor, /* requires */ ( - _MDSPAN_TRAIT(std::is_constructible, mapping_type, typename OtherLayoutPolicy::template mapping) && - _MDSPAN_TRAIT(std::is_constructible, accessor_type, OtherAccessor) + _MDSPAN_TRAIT(std::is_constructible, mapping_type, const typename OtherLayoutPolicy::template mapping&) && + _MDSPAN_TRAIT(std::is_constructible, accessor_type, const OtherAccessor&) ) ) + MDSPAN_CONDITIONAL_EXPLICIT( + !_MDSPAN_TRAIT(std::is_convertible, const typename OtherLayoutPolicy::template mapping&, mapping_type) || + !_MDSPAN_TRAIT(std::is_convertible, const OtherAccessor&, accessor_type) + ) MDSPAN_INLINE_FUNCTION constexpr mdspan(const mdspan& other) : __members(other.__ptr_ref(), __map_acc_pair_t(other.__mapping_ref(), other.__accessor_ref())) @@ -226,8 +236,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -240,8 +250,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -271,9 +281,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeTypes) /* && ... */) && - extents_type::rank() == sizeof...(SizeTypes) + extents_type::rank() == sizeof...(SizeTypes) && + (detail::are_valid_indices()) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -285,8 +294,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -299,8 +308,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -311,7 +320,7 @@ public: #endif // __cpp_lib_span #endif // MDSPAN_USE_PAREN_OPERATOR - MDSPAN_INLINE_FUNCTION constexpr size_t size() const noexcept { + MDSPAN_INLINE_FUNCTION constexpr size_type size() const noexcept { return __impl::__size(*this); }; @@ -346,13 +355,13 @@ public: //-------------------------------------------------------------------------------- // [mdspan.basic.obs], mdspan observers of the mapping - MDSPAN_INLINE_FUNCTION static constexpr bool is_always_unique() noexcept { return mapping_type::is_always_unique(); }; - MDSPAN_INLINE_FUNCTION static constexpr bool is_always_exhaustive() noexcept { return mapping_type::is_always_exhaustive(); }; - MDSPAN_INLINE_FUNCTION static constexpr bool is_always_strided() noexcept { return mapping_type::is_always_strided(); }; + MDSPAN_INLINE_FUNCTION static constexpr bool is_always_unique() { return mapping_type::is_always_unique(); }; + MDSPAN_INLINE_FUNCTION static constexpr bool is_always_exhaustive() { return mapping_type::is_always_exhaustive(); }; + MDSPAN_INLINE_FUNCTION static constexpr bool is_always_strided() { return mapping_type::is_always_strided(); }; - MDSPAN_INLINE_FUNCTION constexpr bool is_unique() const noexcept { return __mapping_ref().is_unique(); }; - MDSPAN_INLINE_FUNCTION constexpr bool is_exhaustive() const noexcept { return __mapping_ref().is_exhaustive(); }; - MDSPAN_INLINE_FUNCTION constexpr bool is_strided() const noexcept { return __mapping_ref().is_strided(); }; + MDSPAN_INLINE_FUNCTION constexpr bool is_unique() const { return __mapping_ref().is_unique(); }; + MDSPAN_INLINE_FUNCTION constexpr bool is_exhaustive() const { return __mapping_ref().is_exhaustive(); }; + MDSPAN_INLINE_FUNCTION constexpr bool is_strided() const { return __mapping_ref().is_strided(); }; MDSPAN_INLINE_FUNCTION constexpr index_type stride(size_t r) const { return __mapping_ref().stride(r); }; private: @@ -374,7 +383,7 @@ private: #if defined(_MDSPAN_USE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION) MDSPAN_TEMPLATE_REQUIRES( class ElementType, class... SizeTypes, - /* requires */ _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_integral, SizeTypes) /* && ... */) && + /* requires */ _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_convertible, SizeTypes, size_t) /* && ... */) && (sizeof...(SizeTypes) > 0) ) MDSPAN_DEDUCTION_GUIDE explicit mdspan(ElementType*, SizeTypes...) diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp index 3950273a83..bdc5925f71 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp @@ -103,8 +103,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_TRAIT( std::is_constructible, extents_type, SizeTypes...) && + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) && + _MDSPAN_TRAIT( std::is_constructible, extents_type, SizeTypes...) && _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type) && (_MDSPAN_TRAIT( std::is_constructible, container_type, size_t) || container_is_array::value) && @@ -133,61 +133,29 @@ public: ) : map_(m), ctr_(container_is_array::construct(map_)) { } - // Constructors from container - MDSPAN_TEMPLATE_REQUIRES( - class... SizeTypes, - /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_TRAIT( std::is_constructible, extents_type, SizeTypes...) && - _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type) - ) - ) - MDSPAN_INLINE_FUNCTION - explicit constexpr mdarray(const container_type& ctr, SizeTypes... dynamic_extents) - : map_(extents_type(dynamic_extents...)), ctr_(ctr) - { assert(ctr.size() >= static_cast(map_.required_span_size())); } - - MDSPAN_FUNCTION_REQUIRES( (MDSPAN_INLINE_FUNCTION constexpr), - mdarray, (const container_type& ctr, const extents_type& exts), , + mdarray, (const extents_type& exts, const container_type& ctr), , /* requires */ (_MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type)) ) : map_(exts), ctr_(ctr) { assert(ctr.size() >= static_cast(map_.required_span_size())); } - constexpr mdarray(const container_type& ctr, const mapping_type& m) + constexpr mdarray(const mapping_type& m, const container_type& ctr) : map_(m), ctr_(ctr) { assert(ctr.size() >= static_cast(map_.required_span_size())); } - - // Constructors from container - MDSPAN_TEMPLATE_REQUIRES( - class... SizeTypes, - /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_TRAIT( std::is_constructible, extents_type, SizeTypes...) && - _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type) - ) - ) - MDSPAN_INLINE_FUNCTION - explicit constexpr mdarray(container_type&& ctr, SizeTypes... dynamic_extents) - : map_(extents_type(dynamic_extents...)), ctr_(std::move(ctr)) - { assert(ctr_.size() >= static_cast(map_.required_span_size())); } - - MDSPAN_FUNCTION_REQUIRES( (MDSPAN_INLINE_FUNCTION constexpr), - mdarray, (container_type&& ctr, const extents_type& exts), , + mdarray, (const extents_type& exts, container_type&& ctr), , /* requires */ (_MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type)) ) : map_(exts), ctr_(std::move(ctr)) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } - constexpr mdarray(container_type&& ctr, const mapping_type& m) + constexpr mdarray(const mapping_type& m, container_type&& ctr) : map_(m), ctr_(std::move(ctr)) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } - MDSPAN_TEMPLATE_REQUIRES( class OtherElementType, class OtherExtents, class OtherLayoutPolicy, class OtherContainer, /* requires */ ( @@ -229,7 +197,7 @@ public: _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type)) ) MDSPAN_INLINE_FUNCTION - constexpr mdarray(const container_type& ctr, const extents_type& exts, const Alloc& a) + constexpr mdarray(const extents_type& exts, const container_type& ctr, const Alloc& a) : map_(exts), ctr_(ctr, a) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } @@ -238,7 +206,7 @@ public: /* requires */ (_MDSPAN_TRAIT( std::is_constructible, container_type, size_t, Alloc)) ) MDSPAN_INLINE_FUNCTION - constexpr mdarray(const container_type& ctr, const mapping_type& map, const Alloc& a) + constexpr mdarray(const mapping_type& map, const container_type& ctr, const Alloc& a) : map_(map), ctr_(ctr, a) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } @@ -248,7 +216,7 @@ public: _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type)) ) MDSPAN_INLINE_FUNCTION - constexpr mdarray(container_type&& ctr, const extents_type& exts, const Alloc& a) + constexpr mdarray(const extents_type& exts, container_type&& ctr, const Alloc& a) : map_(exts), ctr_(std::move(ctr), a) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } @@ -257,7 +225,7 @@ public: /* requires */ (_MDSPAN_TRAIT( std::is_constructible, container_type, size_t, Alloc)) ) MDSPAN_INLINE_FUNCTION - constexpr mdarray(container_type&& ctr, const mapping_type& map, const Alloc& a) + constexpr mdarray(const mapping_type& map, container_type&& ctr, const Alloc& a) : map_(map), ctr_(std::move(ctr), a) { assert(ctr_.size() >= map_.required_span_size()); } @@ -344,8 +312,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - extents_type::rank() == sizeof...(SizeTypes) + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) && + extents_type::rank() == sizeof...(SizeTypes) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -356,8 +324,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - extents_type::rank() == sizeof...(SizeTypes) + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) && + extents_type::rank() == sizeof...(SizeTypes) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -433,8 +401,9 @@ public: class OtherElementType, class OtherExtents, class OtherLayoutType, class OtherAccessorType, /* requires */ ( - _MDSPAN_TRAIT(std::is_assignable, mdspan_type, - mdspan) + _MDSPAN_TRAIT(std::is_assignable, + mdspan, + mdspan_type) ) ) constexpr operator mdspan () { @@ -445,8 +414,9 @@ public: class OtherElementType, class OtherExtents, class OtherLayoutType, class OtherAccessorType, /* requires */ ( - _MDSPAN_TRAIT(std::is_assignable, const_mdspan_type, - mdspan) + _MDSPAN_TRAIT(std::is_assignable, + mdspan, + const_mdspan_type) ) ) constexpr operator mdspan () const { diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp index 58f38620ba..89ba8202fb 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp @@ -20,7 +20,6 @@ #include namespace MDSPAN_IMPL_STANDARD_NAMESPACE { -namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { namespace { template @@ -29,6 +28,7 @@ namespace { template struct __mdspan_is_integral_constant>: std::true_type {}; } + // Slice Specifier allowing for strides and compile time extent template struct strided_slice { @@ -36,14 +36,13 @@ struct strided_slice { using extent_type = ExtentType; using stride_type = StrideType; - OffsetType offset; - ExtentType extent; - StrideType stride; + _MDSPAN_NO_UNIQUE_ADDRESS OffsetType offset{}; + _MDSPAN_NO_UNIQUE_ADDRESS ExtentType extent{}; + _MDSPAN_NO_UNIQUE_ADDRESS StrideType stride{}; static_assert(std::is_integral_v || __mdspan_is_integral_constant::value); static_assert(std::is_integral_v || __mdspan_is_integral_constant::value); static_assert(std::is_integral_v || __mdspan_is_integral_constant::value); }; -} // MDSPAN_IMPL_PROPOSED_NAMESPACE } // MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp index b9672b7f9a..abddd0b59d 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp @@ -20,23 +20,21 @@ #include "submdspan_mapping.hpp" namespace MDSPAN_IMPL_STANDARD_NAMESPACE { -namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { template MDSPAN_INLINE_FUNCTION constexpr auto submdspan(const mdspan &src, SliceSpecifiers... slices) { - const auto sub_mapping_offset = submdspan_mapping(src.mapping(), slices...); + const auto sub_submdspan_mapping_result = submdspan_mapping(src.mapping(), slices...); // NVCC has a problem with the deduction so lets figure out the type - using sub_mapping_t = std::remove_cv_t; + using sub_mapping_t = std::remove_cv_t; using sub_extents_t = typename sub_mapping_t::extents_type; using sub_layout_t = typename sub_mapping_t::layout_type; using sub_accessor_t = typename AccessorPolicy::offset_policy; return mdspan( - src.accessor().offset(src.data_handle(), sub_mapping_offset.offset), - sub_mapping_offset.mapping, + src.accessor().offset(src.data_handle(), sub_submdspan_mapping_result.offset), + sub_submdspan_mapping_result.mapping, sub_accessor_t(src.accessor())); } -} // namespace MDSPAN_IMPL_PROPOSED_NAMESPACE } // namespace MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp index f56ce023f1..c3b2f78fb9 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp @@ -20,7 +20,6 @@ #include "strided_slice.hpp" namespace MDSPAN_IMPL_STANDARD_NAMESPACE { -namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { namespace detail { // Mapping from submapping ranks to srcmapping ranks @@ -319,5 +318,4 @@ constexpr auto submdspan_extents(const extents &src_exts, return detail::extents_constructor::next_extent( src_exts, slices...); } -} // namespace MDSPAN_IMPL_PROPOSED_NAMESPACE } // namespace MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp index 48778d57e7..ca6948c9a9 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp @@ -22,21 +22,15 @@ #include // index_sequence namespace MDSPAN_IMPL_STANDARD_NAMESPACE { -namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { //****************************************** // Return type of submdspan_mapping overloads //****************************************** -template struct mapping_offset { - Mapping mapping; +template struct submdspan_mapping_result { + _MDSPAN_NO_UNIQUE_ADDRESS LayoutMapping mapping{}; size_t offset; }; -} // namespace MDSPAN_IMPL_PROPOSED_NAMESPACE namespace detail { -using MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::first_of; -using MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::stride_of; -using MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::inv_map_rank; - // constructs sub strides template MDSPAN_INLINE_FUNCTION @@ -98,17 +92,15 @@ struct preserve_layout_left_mapping, SubRank, #pragma diag_suppress = implicit_return_from_non_void_function #endif // Actual submdspan mapping call -template +template +template MDSPAN_INLINE_FUNCTION constexpr auto -submdspan_mapping(const layout_left::mapping &src_mapping, - SliceSpecifiers... slices) { - using MDSPAN_IMPL_PROPOSED_NAMESPACE::submdspan_extents; - using MDSPAN_IMPL_PROPOSED_NAMESPACE::mapping_offset; +layout_left::mapping::submdspan_mapping_impl(SliceSpecifiers... slices) const { // compute sub extents using src_ext_t = Extents; - auto dst_ext = submdspan_extents(src_mapping.extents(), slices...); + auto dst_ext = submdspan_extents(extents(), slices...); using dst_ext_t = decltype(dst_ext); // figure out sub layout type @@ -121,18 +113,18 @@ submdspan_mapping(const layout_left::mapping &src_mapping, if constexpr (std::is_same_v) { // layout_left case - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext), - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } else { // layout_stride case auto inv_map = detail::inv_map_rank( std::integral_constant(), std::index_sequence<>(), slices...); - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext, detail::construct_sub_strides( - src_mapping, inv_map, + *this, inv_map, // HIP needs deduction guides to have markups so we need to be explicit // NVCC 11.0 has a bug with deduction guide here, tested that 11.2 does not have the issue #if defined(_MDSPAN_HAS_HIP) || (defined(__NVCC__) && (__CUDACC_VER_MAJOR__ * 100 + __CUDACC_VER_MINOR__ * 10) < 1120) @@ -140,7 +132,7 @@ submdspan_mapping(const layout_left::mapping &src_mapping, #else std::tuple{detail::stride_of(slices)...})), #endif - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } #if defined(__NVCC__) && !defined(__CUDA_ARCH__) && defined(__GNUC__) __builtin_unreachable(); @@ -207,17 +199,15 @@ struct preserve_layout_right_mapping, SubRank, #pragma diagnostic push #pragma diag_suppress = implicit_return_from_non_void_function #endif -template +template +template MDSPAN_INLINE_FUNCTION constexpr auto -submdspan_mapping(const layout_right::mapping &src_mapping, - SliceSpecifiers... slices) { - using MDSPAN_IMPL_PROPOSED_NAMESPACE::submdspan_extents; - using MDSPAN_IMPL_PROPOSED_NAMESPACE::mapping_offset; - +layout_right::mapping::submdspan_mapping_impl( + SliceSpecifiers... slices) const { // get sub extents using src_ext_t = Extents; - auto dst_ext = submdspan_extents(src_mapping.extents(), slices...); + auto dst_ext = submdspan_extents(extents(), slices...); using dst_ext_t = decltype(dst_ext); // determine new layout type @@ -230,18 +220,18 @@ submdspan_mapping(const layout_right::mapping &src_mapping, if constexpr (std::is_same_v) { // layout_right case - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext), - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } else { // layout_stride case auto inv_map = detail::inv_map_rank( std::integral_constant(), std::index_sequence<>(), slices...); - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext, detail::construct_sub_strides( - src_mapping, inv_map, + *this, inv_map, // HIP needs deduction guides to have markups so we need to be explicit // NVCC 11.0 has a bug with deduction guide here, tested that 11.2 does not have the issue #if defined(_MDSPAN_HAS_HIP) || (defined(__NVCC__) && (__CUDACC_VER_MAJOR__ * 100 + __CUDACC_VER_MINOR__ * 10) < 1120) @@ -249,7 +239,7 @@ submdspan_mapping(const layout_right::mapping &src_mapping, #else std::tuple{detail::stride_of(slices)...})), #endif - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } #if defined(__NVCC__) && !defined(__CUDA_ARCH__) && defined(__GNUC__) __builtin_unreachable(); @@ -270,23 +260,22 @@ submdspan_mapping(const layout_right::mapping &src_mapping, //********************************** // layout_stride submdspan_mapping //********************************* -template +template +template MDSPAN_INLINE_FUNCTION constexpr auto -submdspan_mapping(const layout_stride::mapping &src_mapping, - SliceSpecifiers... slices) { - using MDSPAN_IMPL_PROPOSED_NAMESPACE::submdspan_extents; - using MDSPAN_IMPL_PROPOSED_NAMESPACE::mapping_offset; - auto dst_ext = submdspan_extents(src_mapping.extents(), slices...); +layout_stride::mapping::submdspan_mapping_impl( + SliceSpecifiers... slices) const { + auto dst_ext = submdspan_extents(extents(), slices...); using dst_ext_t = decltype(dst_ext); auto inv_map = detail::inv_map_rank( std::integral_constant(), std::index_sequence<>(), slices...); using dst_mapping_t = typename layout_stride::template mapping; - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext, detail::construct_sub_strides( - src_mapping, inv_map, + *this, inv_map, // HIP needs deduction guides to have markups so we need to be explicit // NVCC 11.0 has a bug with deduction guide here, tested that 11.2 does not have the issue #if defined(_MDSPAN_HAS_HIP) || (defined(__NVCC__) && (__CUDACC_VER_MAJOR__ * 100 + __CUDACC_VER_MINOR__ * 10) < 1120) @@ -294,6 +283,7 @@ submdspan_mapping(const layout_stride::mapping &src_mapping, #else std::tuple(detail::stride_of(slices)...))), #endif - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } + } // namespace MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded.hpp new file mode 100644 index 0000000000..a801486792 --- /dev/null +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded.hpp @@ -0,0 +1,793 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER +#pragma once + +#include +#include "layout_padded_fwd.hpp" +#include "../__p0009_bits/dynamic_extent.hpp" +#include "../__p0009_bits/extents.hpp" +#include "../__p0009_bits/mdspan.hpp" +#include "../__p0009_bits/layout_left.hpp" +#include "../__p0009_bits/layout_right.hpp" +#include "../__p0009_bits/layout_stride.hpp" + +namespace MDSPAN_IMPL_STANDARD_NAMESPACE { +namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { + +namespace detail { +template +MDSPAN_INLINE_FUNCTION +constexpr _T +find_next_multiple(_T alignment, _T offset) +{ + if ( alignment == 0 ) { + return _T(0); + } else { + return ( ( offset + alignment - 1 ) / alignment) * alignment; + } +} + +template +MDSPAN_INLINE_FUNCTION constexpr size_t get_actual_static_padding_value() { + constexpr auto rank = _ExtentsType::rank(); + + if constexpr (rank <= typename _ExtentsType::rank_type(1)) { + return 0; + } else if constexpr (_PaddingValue != dynamic_extent && + _ExtentsType::static_extent(_ExtentToPadIdx) != + dynamic_extent) { + static_assert( + (_PaddingValue != 0) || + (_ExtentsType::static_extent(_ExtentToPadIdx) == 0), + "padding stride can be 0 only if " + "extents_type::static_extent(extent-to-pad) is 0 or dynamic_extent"); + return find_next_multiple(_PaddingValue, + _ExtentsType::static_extent(_ExtentToPadIdx)); + } else { + return dynamic_extent; + } +} + +template +struct static_array_type_for_padded_extent +{ + static constexpr size_t padding_value = _PaddingValue; + using index_type = typename _Extents::index_type; + using extents_type = _Extents; + using type = ::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::maybe_static_array< + index_type, size_t, dynamic_extent, + detail::get_actual_static_padding_value()>; +}; + +template +struct static_array_type_for_padded_extent<_PaddingValue, _Extents, + _ExtentToPadIdx, Rank, std::enable_if_t> { + using index_type = typename _Extents::index_type; + using extents_type = _Extents; + using type = + ::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::maybe_static_array< + index_type, size_t, dynamic_extent, 0>; +}; + +template +struct padded_extent { + static constexpr size_t padding_value = _PaddingValue; + using index_type = typename _Extents::index_type; + using extents_type = _Extents; + using static_array_type = typename static_array_type_for_padded_extent< + padding_value, _Extents, _ExtentToPadIdx, _Extents::rank()>::type; + + static constexpr auto static_value() { return static_array_type::static_value(0); } + + MDSPAN_INLINE_FUNCTION + static constexpr static_array_type + init_padding(const _Extents &exts) { + if constexpr ((_Extents::rank() > 1) && (padding_value == dynamic_extent)) { + return {exts.extent(_ExtentToPadIdx)}; + } else { + return init_padding(exts, padding_value); + } + } + + MDSPAN_INLINE_FUNCTION static constexpr static_array_type + init_padding([[maybe_unused]] const _Extents &exts, + [[maybe_unused]] index_type pv) { + if constexpr (_Extents::rank() > 1) { + return {find_next_multiple(pv, + exts.extent(_ExtentToPadIdx))}; + } else { + return {}; + } + } + + template + MDSPAN_INLINE_FUNCTION static constexpr static_array_type + init_padding([[maybe_unused]] const _Mapping &other_mapping, + std::integral_constant) { + if constexpr (_Extents::rank() > 1) { + return {other_mapping.stride(_PaddingStrideIdx)}; + } else { + return {}; + } + } +}; +} // namespace detail + +template +template +class layout_left_padded::mapping { +public: + static constexpr size_t padding_value = PaddingValue; + + using extents_type = Extents; + using index_type = typename extents_type::index_type; + using size_type = typename extents_type::size_type; + using rank_type = typename extents_type::rank_type; + using layout_type = layout_left_padded; + +#ifndef MDSPAN_INTERNAL_TEST +private: +#endif // MDSPAN_INTERNAL_TEST + + static constexpr rank_type padded_stride_idx = detail::layout_padded_constants::padded_stride_idx; + static constexpr rank_type extent_to_pad_idx = detail::layout_padded_constants::extent_to_pad_idx; + + static_assert((padding_value != 0) + || (extents_type::static_extent(extent_to_pad_idx) == 0) + || (extents_type::static_extent(extent_to_pad_idx) == dynamic_extent), + "out of bounds access for rank 0"); + + using padded_stride_type = detail::padded_extent< padding_value, extents_type, extent_to_pad_idx >; + + static constexpr size_t static_padding_stride = padded_stride_type::static_value(); + + typename padded_stride_type::static_array_type padded_stride = {}; + extents_type exts = {}; + + constexpr index_type compute_offset(std::index_sequence<>) const { + return 0; + } + + template + constexpr index_type compute_offset(std::index_sequence, + IndexOffset index_offset) const { + return index_offset; + } + + template + constexpr index_type compute_offset(std::index_sequence, + IndexOffsets... index_offsets) const { + index_type indices[] = {static_cast(index_offsets)...}; + // self-recursive fold trick from + // https://github.com/llvm/llvm-project/blob/96e1914aa2e6d8966acbfbe2f4d184201f1aa318/libcxx/include/mdspan/layout_left.h#L144 + index_type res = 0; + ((res = indices[extents_type::rank() - 1 - Ranks] + + ((extents_type::rank() - 1 - Ranks) == extent_to_pad_idx + ? padded_stride.value(0) + : exts.extent(extents_type::rank() - 1 - Ranks)) * + res), + ...); + return res; + } + +public: +#if !MDSPAN_HAS_CXX_20 + MDSPAN_INLINE_FUNCTION_DEFAULTED + constexpr mapping() + : mapping(extents_type{}) + {} +#else + MDSPAN_INLINE_FUNCTION_DEFAULTED + constexpr mapping() + requires(static_padding_stride != dynamic_extent) = default; + + MDSPAN_INLINE_FUNCTION + constexpr mapping() + requires(static_padding_stride == dynamic_extent) + : mapping(extents_type{}) + {} +#endif + + MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping(const mapping&) noexcept = default; + MDSPAN_INLINE_FUNCTION_DEFAULTED mapping& operator=(const mapping&) noexcept = default; + + /** + * Initializes the mapping with the given extents. + * + * \param ext the given extents + */ + MDSPAN_INLINE_FUNCTION + constexpr mapping(const extents_type& ext) + : padded_stride(padded_stride_type::init_padding(ext)), exts(ext) + {} + + /** + * Initializes the mapping with the given extents and the specified padding value. + * + * This overload participates in overload resolution only if `is_convertible_v` + * is `true` and `is_nothrow_constructible_v` is `true` + * + * \param ext the given extents + * \param padding_value the padding value + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Size, + /* requires */ ( + std::is_convertible_v<_Size, index_type> + && std::is_nothrow_constructible_v + ) + ) + MDSPAN_INLINE_FUNCTION + constexpr mapping(const extents_type &ext, _Size dynamic_padding_value) + : padded_stride(padded_stride_type::init_padding(ext, dynamic_padding_value)), exts(ext) + { + assert((padding_value == dynamic_extent) || (static_cast(padding_value) == static_cast(dynamic_padding_value))); + } + + /** + * Converting constructor from `layout_left::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true. + * If `OtherExtents::rank() > 1` then one of `padding_value`, `static_extent(0)`, or `OtherExtents::static_extent(0)` must be `dynamic_extent`; + * otherwise, `OtherExtents::static_extent(0)` must be equal to the least multiple of `padding_value` greater than or equal to `extents_type::static_extent(0)` + */ + MDSPAN_TEMPLATE_REQUIRES( + class _OtherExtents, + /* requires */ ( + std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v<_OtherExtents, extents_type>)) + constexpr mapping(const layout_left::mapping<_OtherExtents> &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + static_assert((_OtherExtents::rank() > 1) || (static_padding_stride != dynamic_extent) || (_OtherExtents::static_extent(extent_to_pad_idx) != dynamic_extent) + || (static_padding_stride == _OtherExtents::static_extent(extent_to_pad_idx))); + } + + /** + * Converting constructor from `layout_stride::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true + */ + MDSPAN_TEMPLATE_REQUIRES( + class _OtherExtents, + /* requires */ ( + std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((extents_type::rank() > 0)) + constexpr mapping(const layout_stride::mapping<_OtherExtents> &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + } + + /** + * Converting constructor from `layout_left_padded::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true. + * Either `padding_value` or `OtherPaddingStride` must be `std::dynamic_extent`, or `padding_value == OtherPaddingStride`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_left_padded_mapping<_Mapping>::value + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((extents_type::rank() > 1 && (padding_value == dynamic_extent || _Mapping::padding_value == dynamic_extent))) + constexpr + mapping(const _Mapping &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + static_assert(padding_value == dynamic_extent || + _Mapping::padding_value == dynamic_extent || + padding_value == _Mapping::padding_value); + } + + /** + * Converting constructor from `layout_right_padded::mapping`. + * + * This overload participates in overload resolution only if `extents_type::rank()` is 0 or 1 and `is_constructible_v` is `true`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_right_padded_mapping<_Mapping>::value + && extents_type::rank() <= 1 + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v)) + constexpr + mapping(const _Mapping &other_mapping) noexcept + : padded_stride(padded_stride_type::init_padding(other_mapping.extents(), other_mapping.extents().extent(extent_to_pad_idx))), + exts(other_mapping.extents()) + {} + + constexpr const extents_type &extents() const noexcept + { + return exts; + } + + constexpr std::array + strides() const noexcept + { + if constexpr ( extents_type::rank() == 0 ) { + return {}; + } else if constexpr ( extents_type::rank() == 1 ) { + return {1}; + } else { + index_type value = 1; + std::array s{}; + s[extent_to_pad_idx] = value; + value *= padded_stride.value(0); + for (rank_type r = extent_to_pad_idx + 1; r < extents_type::rank() - 1; ++r) + { + s[r] = value; + value *= exts.extent(r); + } + s[extents_type::rank() - 1] = value; + return s; + } + } + + constexpr index_type + required_span_size() const noexcept + { + if constexpr ( extents_type::rank() == 0 ) { + return 1; + } else if constexpr ( extents_type::rank() == 1 ) { + return exts.extent(0); + } else { + index_type value = padded_stride.value(0); + for (rank_type r = 1; r < extents_type::rank(); ++r) { + value *= exts.extent(r); + } + return value; + } + } + + /** + * Return the mapping given the provided indices per rank. + * + * This overload participates in overload resolution only if: + * - `sizeof...(Indices) == extents_type::rank()`, + * - `(is_convertible_v && ...) is true`, and + * - (is_nothrow_constructible_v && ...) is true. + */ + MDSPAN_TEMPLATE_REQUIRES( + class... _Indices, + /* requires */ ( + sizeof...(_Indices) == extents_type::rank() && + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) + ) + ) + constexpr size_t operator()(_Indices... idxs) const noexcept + { + return compute_offset(std::index_sequence_for<_Indices...>{}, idxs...); + } + + static constexpr bool is_always_unique() noexcept { return true; } + static constexpr bool is_always_exhaustive() noexcept + { + return (extents_type::rank() <= rank_type(1)) + || (extents_type::static_extent(extent_to_pad_idx) != dynamic_extent + && extents_type::static_extent(extent_to_pad_idx) == padded_stride_type::static_value()); + } + static constexpr bool is_always_strided() noexcept { return true; } + + static constexpr bool is_unique() noexcept { return true; } + constexpr bool is_exhaustive() const noexcept + { + return (extents_type::rank() < 2) + || (exts.extent(extent_to_pad_idx) == padded_stride.value(0)); + } + static constexpr bool is_strided() noexcept { return true; } + + constexpr index_type stride(rank_type r) const noexcept + { + assert(r < extents_type::rank()); + if(r == 0) return index_type(1); + + index_type value = padded_stride.value(0); + for (rank_type k = 1; k < r; k++) value *= exts.extent(k); + + return value; + } + + /** + * Equality operator between `layout_left_padded`s + * + * This overload only participates in overload resolution if `OtherExtents::rank() == extents_type::rank()`. + * + * \note There is currently a difference from p2642r2, where this function is specified as taking + * `layout_left_padded< padding_value >::mapping< Extents>`. However, this makes `padding_value` non-deducible. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_left_padded_mapping<_Mapping>::value + && (_Mapping::extents_type::rank() == extents_type::rank()) + ) + ) + friend constexpr bool operator==(const mapping &left, const _Mapping &right) noexcept + { + // Workaround for some compilers not short-circuiting properly with compile-time checks + // i.e. we can't access stride(_padding_stride_idx) of a rank 0 mapping + bool strides_equal = true; + if constexpr (extents_type::rank() > rank_type(1)) + { + strides_equal = left.stride(padded_stride_idx) == right.stride(padded_stride_idx); + } + return (left.extents() == right.extents()) && strides_equal; + } + +#if !MDSPAN_HAS_CXX_20 + /** + * Inequality operator between `layout_left_padded`s + * + * This overload only participates in overload resolution if `OtherExtents::rank() == extents_type::rank()`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_left_padded_mapping<_Mapping>::value + && (_Mapping::extents_type::rank() == extents_type::rank()) + ) + ) + friend constexpr bool operator!=(const mapping &left, const _Mapping &right) noexcept + { + return !(left == right); + } +#endif +}; + +template +template +class layout_right_padded::mapping { +public: + static constexpr size_t padding_value = PaddingValue; + + using extents_type = Extents; + using index_type = typename extents_type::index_type; + using size_type = typename extents_type::size_type; + using rank_type = typename extents_type::rank_type; + using layout_type = layout_right_padded; + +#ifndef MDSPAN_INTERNAL_TEST + private: +#endif // MDSPAN_INTERNAL_TEST + + static constexpr rank_type padded_stride_idx = detail::layout_padded_constants::padded_stride_idx; + static constexpr rank_type extent_to_pad_idx = detail::layout_padded_constants::extent_to_pad_idx; + + static_assert((padding_value != 0) + || (extents_type::static_extent(extent_to_pad_idx) == 0) + || (extents_type::static_extent(extent_to_pad_idx) == dynamic_extent), + "if padding stride is 0, static_extent(extent-to-pad-rank) must also be 0 or dynamic_extent"); + + using padded_stride_type = detail::padded_extent< padding_value, extents_type, extent_to_pad_idx >; + static constexpr size_t static_padding_stride = padded_stride_type::static_value(); + + typename padded_stride_type::static_array_type padded_stride = {}; + extents_type exts = {}; + + constexpr index_type compute_offset(std::index_sequence<>) const { + return 0; + } + + template + constexpr index_type compute_offset(std::index_sequence, + IndexOffset index_offset) const { + return index_offset; + } + + template + constexpr index_type compute_offset(std::index_sequence, + IndexOffsets... index_offsets) const { + // self-recursive fold trick from + // https://github.com/llvm/llvm-project/blob/4d9771741d40cc9cfcccb6b033f43689d36b705a/libcxx/include/mdspan/layout_right.h#L141 + index_type res = 0; + ((res = static_cast(index_offsets) + + (Ranks == extent_to_pad_idx ? padded_stride.value(0) + : exts.extent(Ranks)) * + res), + ...); + return res; + } + +public: +#if !MDSPAN_HAS_CXX_20 + MDSPAN_INLINE_FUNCTION_DEFAULTED + constexpr mapping() + : mapping(extents_type{}) + {} +#else + MDSPAN_INLINE_FUNCTION_DEFAULTED + constexpr mapping() + requires(static_padding_stride != dynamic_extent) = default; + + MDSPAN_INLINE_FUNCTION + constexpr mapping() + requires(static_padding_stride == dynamic_extent) + : mapping(extents_type{}) + {} +#endif + + MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping(const mapping&) noexcept = default; + MDSPAN_INLINE_FUNCTION_DEFAULTED mapping& operator=(const mapping&) noexcept = default; + + /** + * Initializes the mapping with the given extents. + * + * \param ext the given extents + */ + MDSPAN_INLINE_FUNCTION + constexpr mapping(const extents_type &ext) + : padded_stride(padded_stride_type::init_padding(ext)), exts(ext) {} + + /** + * Initializes the mapping with the given extents and the specified padding value. + * + * This overload participates in overload resolution only if `is_convertible_v` + * is `true` and `is_nothrow_constructible_v` is `true` + * + * \param ext the given extents + * \param padding_value the padding value + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Size, + /* requires */ ( + std::is_convertible_v<_Size, index_type> + && std::is_nothrow_constructible_v + ) + ) + MDSPAN_INLINE_FUNCTION + constexpr mapping(const extents_type &ext, _Size dynamic_padding_value) + : padded_stride(padded_stride_type::init_padding(ext, static_cast(dynamic_padding_value))), + exts(ext) { + assert((padding_value == dynamic_extent) || + (static_cast(padding_value) == static_cast(dynamic_padding_value))); + } + + /** + * Converting constructor from `layout_right::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true. + * If `OtherExtents::rank() > 1` then one of `padding_value`, `static_extent(0)`, or `OtherExtents::static_extent(0)` must be `dynamic_extent`; + * otherwise, `OtherExtents::static_extent(0)` must be equal to the least multiple of `padding_value` greater than or equal to `extents_type::static_extent(0)` + */ + MDSPAN_TEMPLATE_REQUIRES( + class _OtherExtents, + /* requires */ ( + std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v<_OtherExtents, extents_type>)) + constexpr mapping(const layout_right::mapping<_OtherExtents> &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + static_assert((_OtherExtents::rank() > 1) || (padded_stride_type::static_value() != dynamic_extent) || (_OtherExtents::static_extent(extent_to_pad_idx) != dynamic_extent) + || (padded_stride_type::static_value() == _OtherExtents::static_extent(extent_to_pad_idx))); + } + + /** + * Converting constructor from `layout_stride::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true + */ + MDSPAN_TEMPLATE_REQUIRES( + class _OtherExtents, + /* requires */ ( + std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((extents_type::rank() > 0)) + constexpr mapping(const layout_stride::mapping<_OtherExtents> &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + {} + + /** + * Converting constructor from `layout_right_padded::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true. + * Either `padding_value` or `OtherPaddingStride` must be `std::dynamic_extent`, or `padding_value == OtherPaddingStride`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_right_padded_mapping<_Mapping>::value + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((extents_type::rank() > 1 && + (padding_value == dynamic_extent || + _Mapping::padding_value == dynamic_extent))) + constexpr mapping(const _Mapping &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + static_assert(padding_value == dynamic_extent || + _Mapping::padding_value == dynamic_extent || + padding_value == _Mapping::padding_value); + } + + /** + * Converting constructor from `layout_left_padded::mapping`. + * + * This overload participates in overload resolution only if `extents_type::rank()` is 0 or 1 and `is_constructible_v` is `true`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_left_padded_mapping<_Mapping>::value + && extents_type::rank() <= 1 + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v)) + constexpr mapping(const _Mapping &other_mapping) noexcept + : padded_stride(padded_stride_type::init_padding(other_mapping.extents(), other_mapping.extents().extent(extent_to_pad_idx))), + exts(other_mapping.extents()) + {} + + constexpr const extents_type &extents() const noexcept + { + return exts; + } + + constexpr std::array + strides() const noexcept + { + if constexpr ( extents_type::rank() == 0 ) { + return {}; + } else if constexpr ( extents_type::rank() == 1 ) { + return {1}; + } else { + index_type value = 1; + std::array s{}; + s[extent_to_pad_idx] = value; + value *= padded_stride.value(0); + for (rank_type r = extent_to_pad_idx - 1; r > 0; --r) + { + s[r] = value; + value *= exts.extent(r); + } + s[0] = value; + return s; + } + } + + constexpr index_type + required_span_size() const noexcept + { + if constexpr ( extents_type::rank() == 0 ) { + return 1; + } else if constexpr ( extents_type::rank() == 1 ) { + return exts.extent(0); + } else { + index_type value = 1; + for (rank_type r = 0; r < extent_to_pad_idx; ++r) + { + value *= exts.extent(r); + } + return value * padded_stride.value(0); + } + } + + /** + * Return the mapping given the provided indices per rank. + * + * This overload participates in overload resolution only if: + * - `sizeof...(Indices) == extents_type::rank()`, + * - `(is_convertible_v && ...) is true`, and + * - (is_nothrow_constructible_v && ...) is true. + */ + MDSPAN_TEMPLATE_REQUIRES( + class... _Indices, + /* requires */ ( + sizeof...(_Indices) == extents_type::rank() && + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) + ) + ) + constexpr size_t operator()(_Indices... idxs) const noexcept + { + return compute_offset(std::index_sequence_for<_Indices...>{}, idxs...); + } + + static constexpr bool is_always_unique() noexcept { return true; } + static constexpr bool is_always_exhaustive() noexcept + { + return (extents_type::rank() <= rank_type(1)) + || (extents_type::static_extent(extent_to_pad_idx) != dynamic_extent + && extents_type::static_extent(extent_to_pad_idx) == padded_stride_type::static_value()); + } + static constexpr bool is_always_strided() noexcept { return true; } + + static constexpr bool is_unique() noexcept { return true; } + constexpr bool is_exhaustive() const noexcept + { + return (extents_type::rank() < 2) + || (exts.extent(extent_to_pad_idx) == padded_stride.value(0)); + } + static constexpr bool is_strided() noexcept { return true; } + + constexpr index_type stride(rank_type r) const noexcept + { + assert(r < extents_type::rank()); + if(r == extents_type::rank() - 1) return index_type(1); + + index_type value = padded_stride.value(0); + for (rank_type k = extents_type::rank() - 2; k > r; k--) value *= exts.extent(k); + + return value; + } + + /** + * Equality operator between `layout_right_padded`s + * + * This overload only participates in overload resolution if `OtherExtents::rank() == extents_type::rank()`. + * + * \note There is currently a difference from p2642r2, where this function is specified as taking + * `layout_right_padded< padding_value >::mapping< Extents>`. However, this makes `padding_value` non-deducible. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_right_padded_mapping<_Mapping>::value + && (_Mapping::extents_type::rank() == extents_type::rank()) + ) + ) + friend constexpr bool operator==(const mapping &left, const _Mapping &right) noexcept + { + // Workaround for some compilers not short-circuiting properly with compile-time checks + // i.e. we can't access stride(_padding_stride_idx) of a rank 0 mapping + bool strides_equal = true; + if constexpr (extents_type::rank() > rank_type(1)) + { + strides_equal = left.stride(padded_stride_idx) == right.stride(padded_stride_idx); + } + return (left.extents() == right.extents()) && strides_equal; + } + +#if !MDSPAN_HAS_CXX_20 + /** + * Inequality operator between `layout_right_padded`s + * + * This overload only participates in overload resolution if `OtherExtents::rank() == extents_type::rank()`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_right_padded_mapping<_Mapping>::value + && (_Mapping::extents_type::rank() == extents_type::rank()) + ) + ) + friend constexpr bool operator!=(const mapping &left, const _Mapping &right) noexcept + { + return !(left == right); + } +#endif +}; +} +} diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded_fwd.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded_fwd.hpp new file mode 100644 index 0000000000..945f091a2d --- /dev/null +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded_fwd.hpp @@ -0,0 +1,117 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER +#pragma once + +#include +#include "../__p0009_bits/dynamic_extent.hpp" + +namespace MDSPAN_IMPL_STANDARD_NAMESPACE { +namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { + +template +struct layout_left_padded { + template + class mapping; +}; + +template +struct layout_right_padded { + template + class mapping; +}; + +namespace detail { +// The layout_padded_constants structs are only useful if rank > 1, otherwise they may wrap +template +struct layout_padded_constants; + +template +struct layout_padded_constants, _ExtentsType> +{ + using rank_type = typename _ExtentsType::rank_type; + static constexpr rank_type padded_stride_idx = 1; + static constexpr rank_type extent_to_pad_idx = 0; +}; + +template +struct layout_padded_constants, _ExtentsType> +{ + using rank_type = typename _ExtentsType::rank_type; + static constexpr rank_type padded_stride_idx = _ExtentsType::rank() - 2; + static constexpr rank_type extent_to_pad_idx = _ExtentsType::rank() - 1; +}; + +template +struct is_layout_left_padded : std::false_type {}; + +template +struct is_layout_left_padded> : std::true_type {}; + +template +struct is_layout_left_padded_mapping : std::false_type {}; + +template +struct is_layout_left_padded_mapping<_Mapping, + std::enable_if_t::template mapping>::value>> + : std::true_type {}; + +template +struct is_layout_right_padded : std::false_type {}; + +template +struct is_layout_right_padded> : std::true_type {}; + +template +struct is_layout_right_padded_mapping : std::false_type {}; + +template +struct is_layout_right_padded_mapping<_Mapping, + std::enable_if_t::template mapping>::value>> + : std::true_type {}; + +template +constexpr void check_padded_layout_converting_constructor_mandates() +{ + if constexpr (_LayoutExtentsType::rank() > 1) { + using extents_type = typename _PaddedLayoutMappingType::extents_type; + constexpr auto padding_value = _PaddedLayoutMappingType::padding_value; + constexpr auto idx = layout_padded_constants::extent_to_pad_idx; + if constexpr ((_LayoutExtentsType::static_extent(idx) != dynamic_extent) && + (extents_type::static_extent(idx) != dynamic_extent) && + (padding_value != dynamic_extent)) { + if constexpr (padding_value == 0) { + static_assert(_LayoutExtentsType::static_extent(idx) == 0); + } else { + static_assert( + _LayoutExtentsType::static_extent(idx) % padding_value == 0); + } + } + } +} + +template +constexpr void check_padded_layout_converting_constructor_preconditions([[maybe_unused]] const _OtherMapping &other_mapping) { + if constexpr (_ExtentsType::rank() > 1) { + constexpr auto padded_stride_idx = + layout_padded_constants::padded_stride_idx; + constexpr auto extent_to_pad_idx = layout_padded_constants::extent_to_pad_idx; + assert(other_mapping.stride(padded_stride_idx) == other_mapping.extents().extent(extent_to_pad_idx)); + } +} +} +} +} diff --git a/lib/kokkos/tpls/mdspan/include/mdspan/mdspan.hpp b/lib/kokkos/tpls/mdspan/include/mdspan/mdspan.hpp index b440873526..ac72a1a4e6 100644 --- a/lib/kokkos/tpls/mdspan/include/mdspan/mdspan.hpp +++ b/lib/kokkos/tpls/mdspan/include/mdspan/mdspan.hpp @@ -35,6 +35,7 @@ #include "../experimental/__p0009_bits/layout_right.hpp" #include "../experimental/__p0009_bits/macros.hpp" #if MDSPAN_HAS_CXX_17 +#include "../experimental/__p2642_bits/layout_padded.hpp" #include "../experimental/__p2630_bits/submdspan.hpp" #endif diff --git a/potentials/HGa.msmeam b/potentials/HGa.msmeam index 9f01501c16..1f84d0f8a5 100644 --- a/potentials/HGa.msmeam +++ b/potentials/HGa.msmeam @@ -1,29 +1,29 @@ bkgd_dyn = 1 emb_lin_neg = 1 -augt1=0 -ialloy=1 -rc = 5.9 +augt1=0 +ialloy=1 +rc = 5.9 #H -attrac(1,1)=0.460 -repuls(1,1)=0.460 +attrac(1,1)=0.460 +repuls(1,1)=0.460 Cmin(1,1,1)=1.3 # PuMS -Cmax(1,1,1)= 2.80 +Cmax(1,1,1)= 2.80 nn2(1,1)=1 #Ga rho0(2) = 0.6 -attrac(2,2)=0.097 -repuls(2,2)=0.097 +attrac(2,2)=0.097 +repuls(2,2)=0.097 nn2(2,2)=1 #HGa -attrac(1,2)=0.300 -repuls(1,2)=0.300 -lattce(1,2)=l12 -re(1,2)=3.19 -delta(1,2)=-0.48 -alpha(1,2)=6.6 -Cmin(1,1,2)=2.0 -Cmin(2,1,2)= 2.0 -Cmin(1,2,1)=2.0 +attrac(1,2)=0.300 +repuls(1,2)=0.300 +lattce(1,2)=l12 +re(1,2)=3.19 +delta(1,2)=-0.48 +alpha(1,2)=6.6 +Cmin(1,1,2)=2.0 +Cmin(2,1,2)= 2.0 +Cmin(1,2,1)=2.0 Cmin(2,2,1) = 1.4 Cmin(1,2,2) = 1.4 Cmin(1,1,2) = 1.4 diff --git a/potentials/MoS.rebomos b/potentials/MoS.rebomos new file mode 100644 index 0000000000..ea96981a1e --- /dev/null +++ b/potentials/MoS.rebomos @@ -0,0 +1,65 @@ +# DATE: 2013-11-04 UNITS: metal CONTRIBUTOR: J Stewart, K Dang, D Spearot (UArk) CITATION: Stewart J A and Spearot D E, Modelling Simul. Mater. Sci. Eng. 21. +# MoS-S REBO Brenner/Sinnot Potential as published in +# Liang T, Phillpot S R and Sinnott S B (2009) Phys. Rev. B79 245110, Erratum: Phys. Rev. B85 199903(E). + +3.50 rcmin_MM +2.75 rcmin_MS +2.30 rcmin_SS +3.80 rcmax_MM +3.05 rcmax_MS +3.00 rcmax_SS +3.419129390005910 Q_MM +1.505537839153790 Q_MS +0.254959104053671 Q_SS +1.07500712999340 alpha_MM +1.19267902218820 alpha_MS +1.10775022439715 alpha_SS +179.008013654688 A_MM +575.509677721866 A_MS +1228.43233679426 A_SS +706.247903589221 BIJc_MM1 +1344.46820036159 BIJc_MS1 +1498.64815404145 BIJc_SS1 +1.16100322369589 Beta_MM1 +1.26973752204290 Beta_MS1 +1.12673623610320 Beta_SS1 +0.1326842550663270 M_b0 +-0.007642788338017 M_b1 +0.0341395775059370 M_b2 +0.2523050971380870 M_b3 +0.1227287372225670 M_b4 +-0.361387798398897 M_b5 +-0.282577591351457 M_b6 +0.120194301035280 M_bg0 +0.045238287358190 M_bg1 +0.067922807244030 M_bg2 +-0.03672511378682 M_bg3 +0.107516477513860 M_bg4 +0.004964711984940 M_bg5 +-0.12997598358652 M_bg6 +0.006848761596750 S_b0 +-0.02389964401024 S_b1 +0.137457353311170 S_b2 +0.033016467497740 S_b3 +-0.31064291544850 S_b4 +-0.08550273135791 S_b5 +0.149252790306880 S_b6 +-0.2850852 S_bg0 +1.67102480 S_bg1 +-3.5678516 S_bg2 +3.45054990 S_bg3 +-1.2186289 S_bg4 +0.0 S_bg5 +0.0 S_bg6 +0.138040769883614 M_a0 +0.803625443023934 M_a1 +0.292412960851064 M_a2 +0.640588078946224 M_a3 +0.062978539843324 S_a0 +2.478617619878250 S_a1 +0.036666243238154 S_a2 +2.386431372486710 S_a3 +0.00058595 epsilon_MM +0.01386 epsilon_SS +4.200 sigma_MM +3.130 sigma_SS diff --git a/potentials/README b/potentials/README index c234f5f48b..2cb4a383c5 100644 --- a/potentials/README +++ b/potentials/README @@ -84,7 +84,7 @@ Au_u3 = Gold universal 3 The suffix of each file indicates the pair style it is used with: adp ADP angular dependent potential -airebo AI-REBO and REBO potentials +airebo AI-REBO potentials bop.table BOP potential, tabulated form cdeam concentration-dependent EAM comb COMB potential @@ -107,6 +107,8 @@ nb3b.harmonic nonbonded 3-body harmonic potential pod ML potential with proper orthogonal descriptors (POD) poly polymorphic 3-body potential reax ReaxFF potential (see README.reax for more info) +rebo REBO potentials +rebomos REBOMoS potential smtbq second moment tight binding QEq (SMTBQ) potential snap SNAP potential snapcoeff SNAP potential diff --git a/python/lammps/core.py b/python/lammps/core.py index 28b384d6ba..3498041454 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1078,15 +1078,23 @@ class lammps(object): def extract_fix(self,fid,fstyle,ftype,nrow=0,ncol=0): """Retrieve data from a LAMMPS fix - This is a wrapper around the :cpp:func:`lammps_extract_fix` - function of the C-library interface. - This function returns ``None`` if either the fix id is not - recognized, or an invalid combination of :ref:`fstyle ` - and :ref:`ftype ` constants is used. The - names and functionality of the constants are the same as for - the corresponding C-library function. For requests to return - a scalar or a size, the value is returned, also when accessing - global vectors or arrays, otherwise a pointer. + This is a wrapper around the :cpp:func:`lammps_extract_fix` function + of the C-library interface. This function returns ``None`` if + either the fix id is not recognized, or an invalid combination of + :ref:`fstyle ` and :ref:`ftype + ` constants is used. The names and functionality + of the constants are the same as for the corresponding C-library + function. For requests to return a scalar or a size, the value is + returned, also when accessing global vectors or arrays, otherwise a + pointer. + + .. note:: + + When requesting global data, the fix data can only be accessed + one item at a time without access to the whole vector or array. + Thus this function will always return a scalar. To access vector + or array elements the "nrow" and "ncol" arguments need to be set + accordingly (they default to 0). :param fid: fix ID :type fid: string diff --git a/python/lammps/numpy_wrapper.py b/python/lammps/numpy_wrapper.py index a29853d16a..91042c43c8 100644 --- a/python/lammps/numpy_wrapper.py +++ b/python/lammps/numpy_wrapper.py @@ -203,6 +203,13 @@ class numpy_wrapper: It behaves the same as the original method, but returns NumPy arrays instead of ``ctypes`` pointers. + .. note:: + + When requesting global data, the fix data can only be accessed one + item at a time without access to the whole vector or array. Thus this + function will always return a scalar. To access vector or array elements + the "nrow" and "ncol" arguments need to be set accordingly (they default to 0). + :param fid: fix ID :type fid: string :param fstyle: style of the data retrieve (global, atom, or local), see :ref:`py_style_constants` diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index c693b7d565..7dd3823bbf 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -192,11 +192,23 @@ class Atom(object): @property def mass(self): """ - Return the atom mass + Return the atom mass as a per-atom property. + This returns either the per-type mass or the per-atom + mass (AKA 'rmass') depending on what is available with + preference for the per-atom mass. + + .. versionchanged:: 17Apr2024 + + Support both per-type and per-atom masses. With + per-type return "mass[type[i]]" else return "rmass[i]". + Per-atom mass is preferred if available. :type: float """ - return self.get("mass", self.index) + if self._pylmp.lmp.extract_setting('rmass_flag'): + return self.get("rmass", self.index) + else: + return self.get("mass", self.type) @property def radius(self): @@ -532,6 +544,18 @@ class PyLammps(object): """ self._cmd_history = [] + + def append_cmd_history(self, cmd): + """ + Commands will be added to the command history but not executed. + + Add `commands` only to the command history, but do not execute them, so that you can + conveniently create Lammps input files, using + :py:meth:`PyLammps.write_script()`. + """ + self._cmd_history.append(cmd) + + def command(self, cmd): """ Execute LAMMPS command diff --git a/src/.gitignore b/src/.gitignore index 1e4c5b9ddb..b145f81159 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -463,6 +463,8 @@ /angle_cosine_shift_exp.h /angle_cosine_squared.cpp /angle_cosine_squared.h +/angle_cosine_squared_restricted.cpp +/angle_cosine_squared_restricted.h /angle_cross.cpp /angle_cross.h /angle_dipole.cpp @@ -681,6 +683,8 @@ /dihedral_class2.h /dihedral_cosine_shift_exp.cpp /dihedral_cosine_shift_exp.h +/dihedral_cosine_squared_restricted.cpp +/dihedral_cosine_squared_restricted.h /dihedral_fourier.cpp /dihedral_fourier.h /dihedral_harmonic.cpp @@ -791,6 +795,8 @@ /fix_cmap.h /fix_damping_cundall.cpp /fix_damping_cundall.h +/fix_deform_pressure.cpp +/fix_deform_pressure.h /fix_dpd_energy.cpp /fix_dpd_energy.h /fix_efield_tip4p.cpp @@ -1023,6 +1029,8 @@ /fix_wall_colloid.h /fix_wall_ees.cpp /fix_wall_ees.h +/fix_wall_flow.cpp +/fix_wall_flow.h /fix_wall_region_ees.cpp /fix_wall_region_ees.h /fix_wall_reflect_stochastic.cpp @@ -1353,6 +1361,8 @@ /pair_oxrna2_*.cpp /pair_oxrna2_*.h /mf_oxdna.h +/pair_pedone.cpp +/pair_pedone.h /pair_peri.cpp /pair_peri.h /pair_peri_eps.cpp @@ -1369,6 +1379,8 @@ /pair_reaxff.h /pair_rebo.cpp /pair_rebo.h +/pair_rebomos.cpp +/pair_rebomos.h /pair_resquared.cpp /pair_resquared.h /pair_saip_metal.cpp diff --git a/src/AMOEBA/amoeba_convolution.cpp b/src/AMOEBA/amoeba_convolution.cpp index 3bdfdc9b74..44b7248815 100644 --- a/src/AMOEBA/amoeba_convolution.cpp +++ b/src/AMOEBA/amoeba_convolution.cpp @@ -15,16 +15,13 @@ #include "amoeba_convolution.h" #include "comm.h" -#include "domain.h" #include "fft3d_wrap.h" #include "grid3d.h" -#include "math_extra.h" #include "memory.h" #include "neighbor.h" #include "remap_wrap.h" #include "timer.h" -#include #include using namespace LAMMPS_NS; diff --git a/src/AMOEBA/pair_amoeba.h b/src/AMOEBA/pair_amoeba.h index 648fc86126..fd694a8037 100644 --- a/src/AMOEBA/pair_amoeba.h +++ b/src/AMOEBA/pair_amoeba.h @@ -20,7 +20,7 @@ PairStyle(amoeba,PairAmoeba); #ifndef LMP_PAIR_AMOEBA_H #define LMP_PAIR_AMOEBA_H -#include "lmpfftsettings.h" +#include "lmpfftsettings.h" // IWYU pragma: export #include "pair.h" namespace LAMMPS_NS { @@ -330,10 +330,10 @@ class PairAmoeba : public Pair { double *qfac; // convoulution pre-factors double *gridfft1; // copy of p_kspace FFT grid - double **cmp,**fmp; // Cartesian and fractional multipoles - double **cphi,**fphi; + double **cmp, **fmp; // Cartesian and fractional multipoles + double **cphi, **fphi; - double *_moduli_array; // buffers for moduli + double *_moduli_array; // buffers for moduli double *_moduli_bsarray; int _nfft_max; @@ -345,11 +345,11 @@ class PairAmoeba : public Pair { double ctf[10][10]; // indices NOT flipped vs Fortran double ftc[10][10]; // indices NOT flipped vs Fortran - class AmoebaConvolution *m_kspace; // multipole KSpace - class AmoebaConvolution *p_kspace; // polar KSpace + class AmoebaConvolution *m_kspace; // multipole KSpace + class AmoebaConvolution *p_kspace; // polar KSpace class AmoebaConvolution *pc_kspace; - class AmoebaConvolution *d_kspace; // dispersion KSpace - class AmoebaConvolution *i_kspace; // induce KSpace + class AmoebaConvolution *d_kspace; // dispersion KSpace + class AmoebaConvolution *i_kspace; // induce KSpace class AmoebaConvolution *ic_kspace; // FFT grid size factors @@ -362,8 +362,8 @@ class PairAmoeba : public Pair { void hal(); virtual void repulsion(); - void damprep(double, double, double, double, double, double, double, double, - int, double, double, double *); + void damprep(double, double, double, double, double, double, double, double, int, double, double, + double *); void dispersion(); virtual void dispersion_real(); diff --git a/src/ASPHERE/compute_temp_asphere.cpp b/src/ASPHERE/compute_temp_asphere.cpp index 7d5d6adce5..d99d9f30c8 100644 --- a/src/ASPHERE/compute_temp_asphere.cpp +++ b/src/ASPHERE/compute_temp_asphere.cpp @@ -18,30 +18,29 @@ #include "compute_temp_asphere.h" -#include -#include "math_extra.h" #include "atom.h" #include "atom_vec_ellipsoid.h" -#include "update.h" -#include "force.h" #include "domain.h" -#include "modify.h" -#include "group.h" #include "error.h" +#include "force.h" +#include "group.h" +#include "math_extra.h" +#include "modify.h" +#include "update.h" + +#include using namespace LAMMPS_NS; -enum{ROTATE,ALL}; - -static constexpr double INERTIA = 0.2; // moment of inertia prefactor for ellipsoid +enum { ROTATE, ALL }; +static constexpr double INERTIA = 0.2; // moment of inertia prefactor for ellipsoid /* ---------------------------------------------------------------------- */ ComputeTempAsphere::ComputeTempAsphere(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - id_bias(nullptr), tbias(nullptr), avec(nullptr) + Compute(lmp, narg, arg), id_bias(nullptr), tbias(nullptr), avec(nullptr) { - if (narg < 3) error->all(FLERR,"Illegal compute temp/asphere command"); + if (narg < 3) utils::missing_cmd_args(FLERR, "compute temp/asphere", error); scalar_flag = vector_flag = 1; size_vector = 6; @@ -56,19 +55,17 @@ ComputeTempAsphere::ComputeTempAsphere(LAMMPS *lmp, int narg, char **arg) : int iarg = 3; while (iarg < narg) { if (strcmp(arg[iarg],"bias") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute temp/asphere command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "compute temp/asphere bias", error); tempbias = 1; id_bias = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"dof") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute temp/asphere command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "compute temp/asphere dof", error); if (strcmp(arg[iarg+1],"rotate") == 0) mode = ROTATE; else if (strcmp(arg[iarg+1],"all") == 0) mode = ALL; - else error->all(FLERR,"Illegal compute temp/asphere command"); + else error->all(FLERR,"Unknown compute temp/asphere dof keyword {}", arg[iarg+1]); iarg += 2; - } else error->all(FLERR,"Illegal compute temp/asphere command"); + } else error->all(FLERR,"Unknown compute temp/asphere keyword {}", arg[iarg]); } // when computing only the rotational temperature, @@ -84,8 +81,8 @@ ComputeTempAsphere::ComputeTempAsphere(LAMMPS *lmp, int narg, char **arg) : ComputeTempAsphere::~ComputeTempAsphere() { - delete [] id_bias; - delete [] vector; + delete[] id_bias; + delete[] vector; } /* ---------------------------------------------------------------------- */ @@ -107,17 +104,17 @@ void ComputeTempAsphere::init() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) if (ellipsoid[i] < 0) - error->one(FLERR,"Compute temp/asphere requires extended particles"); + error->one(FLERR,"Compute temp/asphere requires all extended particles"); if (tempbias) { - int i = modify->find_compute(id_bias); - if (i < 0) - error->all(FLERR,"Could not find compute ID for temperature bias"); - tbias = modify->compute[i]; + tbias = modify->get_compute_by_id(id_bias); + if (!tbias) + error->all(FLERR,"Could not find compute ID {} for temperature bias", id_bias); + if (tbias->tempflag == 0) - error->all(FLERR,"Bias compute does not calculate temperature"); + error->all(FLERR,"Bias compute {} does not calculate temperature", id_bias); if (tbias->tempbias == 0) - error->all(FLERR,"Bias compute does not calculate a velocity bias"); + error->all(FLERR,"Bias compute {} does not calculate a velocity bias", id_bias); if (tbias->igroup != igroup) error->all(FLERR,"Bias compute group does not match compute group"); if (strcmp(tbias->style,"temp/region") == 0) tempbias = 2; diff --git a/src/ASPHERE/pair_ylz.cpp b/src/ASPHERE/pair_ylz.cpp index a678712619..833dc8e3e4 100644 --- a/src/ASPHERE/pair_ylz.cpp +++ b/src/ASPHERE/pair_ylz.cpp @@ -300,6 +300,7 @@ double PairYLZ::init_one(int i, int j) zeta[j][i] = zeta[i][j]; mu[j][i] = mu[i][j]; beta[j][i] = beta[i][j]; + cut[j][i] = cut[i][j]; return cut[i][j]; } @@ -409,7 +410,7 @@ void PairYLZ::write_data_all(FILE *fp) { for (int i = 1; i <= atom->ntypes; i++) for (int j = i; j <= atom->ntypes; j++) - fprintf(fp, "%d %d %g %g %g %g %g %g\n", i, j, epsilon[i][i], sigma[i][i], cut[i][j], + fprintf(fp, "%d %d %g %g %g %g %g %g\n", i, j, epsilon[i][j], sigma[i][j], cut[i][j], zeta[i][j], mu[i][j], beta[i][j]); } diff --git a/src/ATC/fix_atc.cpp b/src/ATC/fix_atc.cpp index 436ffc9555..b1276d6788 100644 --- a/src/ATC/fix_atc.cpp +++ b/src/ATC/fix_atc.cpp @@ -20,15 +20,17 @@ #include "group.h" #include "neighbor.h" +#include "ATC_Error.h" #include "ATC_Method.h" -#include "ATC_TransferKernel.h" -#include "ATC_TransferPartitionOfUnity.h" #include "ATC_CouplingEnergy.h" #include "ATC_CouplingMomentum.h" #include "ATC_CouplingMass.h" #include "ATC_CouplingMomentumEnergy.h" +#include "ATC_TransferKernel.h" +#include "ATC_TransferPartitionOfUnity.h" +#include "ATC_TypeDefs.h" +#include "ExtrinsicModel.h" #include "LammpsInterface.h" - #include using namespace LAMMPS_NS; diff --git a/src/AWPMD/atom_vec_wavepacket.cpp b/src/AWPMD/atom_vec_wavepacket.cpp index ff0d660fb6..65b8214369 100644 --- a/src/AWPMD/atom_vec_wavepacket.cpp +++ b/src/AWPMD/atom_vec_wavepacket.cpp @@ -19,6 +19,8 @@ #include "atom.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/BOCS/compute_pressure_bocs.cpp b/src/BOCS/compute_pressure_bocs.cpp index a8bc9596cc..16d6c91a1f 100644 --- a/src/BOCS/compute_pressure_bocs.cpp +++ b/src/BOCS/compute_pressure_bocs.cpp @@ -42,7 +42,7 @@ ComputePressureBocs::ComputePressureBocs(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), vptr(nullptr), id_temp(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal compute pressure/bocs command"); + if (narg < 4) utils::missing_cmd_args(FLERR,"compute pressure/bocs", error); if (igroup) error->all(FLERR,"Compute pressure/bocs must use group all"); scalar_flag = vector_flag = 1; @@ -62,12 +62,12 @@ ComputePressureBocs::ComputePressureBocs(LAMMPS *lmp, int narg, char **arg) : else { id_temp = utils::strdup(arg[3]); - int icompute = modify->find_compute(id_temp); - if (icompute < 0) - error->all(FLERR,"Could not find compute pressure/bocs temperature ID"); - if (modify->compute[icompute]->tempflag == 0) - error->all(FLERR,"Compute pressure/bocs temperature ID does not " - "compute temperature"); + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR,"Could not find compute pressure/bocs temperature compute {}", id_temp); + if (temperature->tempflag == 0) + error->all(FLERR,"Compute pressure/bocs temperature compute {} does not compute " + "temperature", id_temp); } // process optional args @@ -137,10 +137,9 @@ void ComputePressureBocs::init() // fixes could have changed or compute_modify could have changed it if (keflag) { - int icompute = modify->find_compute(id_temp); - if (icompute < 0) - error->all(FLERR,"Could not find compute pressure/bocs temperature ID"); - temperature = modify->compute[icompute]; + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR,"Could not find compute pressure/bocs temperature compute {}", id_temp); } // detect contributions to virial @@ -158,10 +157,8 @@ void ComputePressureBocs::init() if (improperflag && force->improper) nvirial++; } if (fixflag) { - Fix **fix = modify->fix; - int nfix = modify->nfix; - for (int i = 0; i < nfix; i++) - if (fix[i]->thermo_virial) nvirial++; + for (const auto &ifix : modify->get_fix_list()) + if (ifix->thermo_virial) nvirial++; } if (nvirial) { @@ -174,10 +171,11 @@ void ComputePressureBocs::init() vptr[nvirial++] = force->dihedral->virial; if (improperflag && force->improper) vptr[nvirial++] = force->improper->virial; - if (fixflag) - for (int i = 0; i < modify->nfix; i++) - if (modify->fix[i]->virial_global_flag && modify->fix[i]->thermo_virial) - vptr[nvirial++] = modify->fix[i]->virial; + if (fixflag) { + for (const auto &ifix : modify->get_fix_list()) + if (ifix->virial_global_flag && ifix->thermo_virial) + vptr[nvirial++] = ifix->virial; + } } // flag Kspace contribution separately, since not summed across procs diff --git a/src/BOCS/fix_bocs.cpp b/src/BOCS/fix_bocs.cpp index 33f4f072e7..25471d04a4 100644 --- a/src/BOCS/fix_bocs.cpp +++ b/src/BOCS/fix_bocs.cpp @@ -25,7 +25,6 @@ #include "error.h" #include "fix_deform.h" #include "force.h" -#include "group.h" #include "irregular.h" #include "kspace.h" #include "memory.h" @@ -64,15 +63,15 @@ enum { ISO, ANISO, TRICLINIC }; /* ---------------------------------------------------------------------- NVT,NPH,NPT integrators for improved Nose-Hoover equations of motion ---------------------------------------------------------------------- */ -// clang-format off FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), id_dilate(nullptr), irregular(nullptr), id_temp(nullptr), - id_press(nullptr), eta(nullptr), eta_dot(nullptr), eta_dotdot(nullptr), eta_mass(nullptr), - etap(nullptr), etap_dot(nullptr), etap_dotdot(nullptr), etap_mass(nullptr) + Fix(lmp, narg, arg), irregular(nullptr), id_temp(nullptr), id_press(nullptr), eta(nullptr), + eta_dot(nullptr), eta_dotdot(nullptr), eta_mass(nullptr), etap(nullptr), etap_dot(nullptr), + etap_dotdot(nullptr), etap_mass(nullptr) { if (lmp->citeme) lmp->citeme->add(cite_user_bocs_package); + // clang-format off if (narg < 4) utils::missing_cmd_args(FLERR,"fix bocs",error); restart_global = 1; @@ -89,8 +88,6 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : pcouple = NONE; drag = 0.0; - allremap = 1; - id_dilate = nullptr; mtchain = mpchain = 3; nc_tchain = nc_pchain = 1; mtk_flag = 1; @@ -147,15 +144,14 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"temp") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix bocs command"); + if (iarg+4 > narg) utils::missing_cmd_args(FLERR,"fix bocs temp", error); tstat_flag = 1; t_start = utils::numeric(FLERR,arg[iarg+1],false,lmp); t_target = t_start; t_stop = utils::numeric(FLERR,arg[iarg+2],false,lmp); t_period = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (t_start <= 0.0 || t_stop <= 0.0) - error->all(FLERR, - "Target temperature for fix bocs cannot be 0.0"); + error->all(FLERR, "Target temperature for fix bocs cannot be 0.0"); iarg += 4; } else if (strcmp(arg[iarg],"iso") == 0) { error->all(FLERR,"Illegal fix bocs command. Pressure fix must be " @@ -166,12 +162,9 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : "followed by: P_0 P_f P_coupl"); p_match_flag = 1; pcouple = XYZ; - p_start[0] = p_start[1] = p_start[2] = - utils::numeric(FLERR,arg[iarg+1],false,lmp); - p_stop[0] = p_stop[1] = p_stop[2] = - utils::numeric(FLERR,arg[iarg+2],false,lmp); - p_period[0] = p_period[1] = p_period[2] = - utils::numeric(FLERR,arg[iarg+3],false,lmp); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[0] = p_period[1] = p_period[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; p_flag[3] = p_flag[4] = p_flag[5] = 0; // MRD @@ -288,7 +281,6 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : if (p_flag[4]) box_change |= BOX_CHANGE_XZ; if (p_flag[5]) box_change |= BOX_CHANGE_XY; no_change_box = 1; - if (allremap == 0) restart_pbc = 1; pstyle = ISO; // MRD this is the only one that can happen @@ -386,7 +378,7 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : // and thus its KE/temperature contribution should use group all id_temp = utils::strdup(std::string(id)+"_temp"); - modify->add_compute(fmt::format("{} all temp",id_temp)); + temperature = modify->add_compute(fmt::format("{} all temp",id_temp)); tcomputeflag = 1; // create a new compute pressure style @@ -394,7 +386,7 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : // pass id_temp as 4th arg to pressure constructor id_press = utils::strdup(std::string(id)+"_press"); - modify->add_compute(fmt::format("{} all PRESSURE/BOCS {}",id_press,id_temp)); + pressure = modify->add_compute(fmt::format("{} all PRESSURE/BOCS {}",id_press,id_temp)); pcomputeflag = 1; /*~ MRD End of stuff copied from fix_npt.cpp~*/ @@ -407,7 +399,6 @@ FixBocs::~FixBocs() { if (copymode) return; - delete[] id_dilate; delete irregular; // delete temperature and pressure if fix created them @@ -458,14 +449,6 @@ int FixBocs::setmask() void FixBocs::init() { - // recheck that dilate group has not been deleted - if (allremap == 0) { - int idilate = group->find(id_dilate); - if (idilate == -1) - error->all(FLERR,"Fix bocs dilate group ID does not exist"); - dilate_group_bit = group->bitmask[idilate]; - } - // ensure no conflict with fix deform if (pstat_flag) { @@ -1125,19 +1108,15 @@ void FixBocs::couple() } /* ---------------------------------------------------------------------- - change box size - remap all atoms or dilate group atoms depending on allremap flag + change box size, remap all atoms if rigid bodies exist, scale rigid body centers-of-mass ------------------------------------------------------------------------- */ void FixBocs::remap() { - int i; double oldlo,oldhi; double expfac; - double **x = atom->x; - int *mask = atom->mask; int nlocal = atom->nlocal; double *h = domain->h; @@ -1147,12 +1126,7 @@ void FixBocs::remap() // convert pertinent atoms and rigid bodies to lamda coords - if (allremap) domain->x2lamda(nlocal); - else { - for (i = 0; i < nlocal; i++) - if (mask[i] & dilate_group_bit) - domain->x2lamda(x[i],x[i]); - } + domain->x2lamda(nlocal); for (auto &ifix : rfix) ifix->deform(0); @@ -1292,12 +1266,7 @@ void FixBocs::remap() // convert pertinent atoms and rigid bodies back to box coords - if (allremap) domain->lamda2x(nlocal); - else { - for (i = 0; i < nlocal; i++) - if (mask[i] & dilate_group_bit) - domain->lamda2x(x[i],x[i]); - } + domain->lamda2x(nlocal); for (auto &ifix : rfix) ifix->deform(1); } @@ -1461,24 +1430,22 @@ int FixBocs::modify_param(int narg, char **arg) delete[] id_temp; id_temp = utils::strdup(arg[1]); - int icompute = modify->find_compute(arg[1]); - if (icompute < 0) - error->all(FLERR,"Could not find fix_modify temperature ID"); - temperature = modify->compute[icompute]; + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR,"Could not find fix_modify temperature compute {}", id_temp); if (temperature->tempflag == 0) - error->all(FLERR, - "Fix_modify temperature ID does not compute temperature"); + error->all(FLERR, "Fix_modify temperature compute {} does not compute temperature", id_temp); if (temperature->igroup != 0 && comm->me == 0) - error->warning(FLERR,"Temperature for fix modify is not for group all"); + error->warning(FLERR,"Temperature compute {} for fix modify is not for group all", id_temp); // reset id_temp of pressure to new temperature ID if (pstat_flag) { - icompute = modify->find_compute(id_press); - if (icompute < 0) - error->all(FLERR,"Pressure ID for fix modify does not exist"); - modify->compute[icompute]->reset_extra_compute_fix(id_temp); + pressure = modify->get_compute_by_id(id_press); + if (!pressure) + error->all(FLERR,"Pressure ID {} for fix modify does not exist", id_press); + pressure->reset_extra_compute_fix(id_temp); } return 2; diff --git a/src/BOCS/fix_bocs.h b/src/BOCS/fix_bocs.h index af221fedb3..7f752a03f3 100644 --- a/src/BOCS/fix_bocs.h +++ b/src/BOCS/fix_bocs.h @@ -65,7 +65,7 @@ class FixBocs : public Fix { int tstat_flag; // 1 if control T int pstat_flag; // 1 if control P - int pstyle, pcouple, allremap; + int pstyle, pcouple; int p_flag[6]; // 1 if control P on this dim, 0 if not double p_start[6], p_stop[6]; double p_freq[6], p_target[6]; @@ -75,9 +75,7 @@ class FixBocs : public Fix { double drag, tdrag_factor; // drag factor on particle thermostat double pdrag_factor; // drag factor on barostat int kspace_flag; // 1 if KSpace invoked, 0 if not - int dilate_group_bit; // mask for dilation group std::vector rfix; // list of rigid fixes - char *id_dilate; // group name to dilate class Irregular *irregular; // for migrating atoms after box flips // MRD NJD diff --git a/src/BODY/body_nparticle.cpp b/src/BODY/body_nparticle.cpp index 7a1dbaa0f0..4a34f31f54 100644 --- a/src/BODY/body_nparticle.cpp +++ b/src/BODY/body_nparticle.cpp @@ -99,7 +99,7 @@ int BodyNparticle::unpack_border_body(AtomVecBody::Bonus *bonus, double *buf) } /* ---------------------------------------------------------------------- - populate bonus data structure with data file values + populate bonus data structure with data file values for one body ------------------------------------------------------------------------- */ void BodyNparticle::data_body(int ibonus, int ninteger, int ndouble, diff --git a/src/BODY/body_rounded_polygon.cpp b/src/BODY/body_rounded_polygon.cpp index 6a94f68a8e..5de0654d25 100644 --- a/src/BODY/body_rounded_polygon.cpp +++ b/src/BODY/body_rounded_polygon.cpp @@ -155,7 +155,7 @@ int BodyRoundedPolygon::unpack_border_body(AtomVecBody::Bonus *bonus, } /* ---------------------------------------------------------------------- - populate bonus data structure with data file values + populate bonus data structure with data file values for one body ------------------------------------------------------------------------- */ void BodyRoundedPolygon::data_body(int ibonus, int ninteger, int ndouble, diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp index 991f52cac5..f34a212087 100644 --- a/src/BODY/body_rounded_polyhedron.cpp +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -99,10 +99,9 @@ int BodyRoundedPolyhedron::nedges(AtomVecBody::Bonus *bonus) { int nvertices = bonus->ivalue[0]; int nedges = bonus->ivalue[1]; - //int nfaces = bonus->ivalue[2]; if (nvertices == 1) return 0; else if (nvertices == 2) return 1; - return nedges; //(nvertices+nfaces-2); // Euler formula: V-E+F=2 + return nedges; } /* ---------------------------------------------------------------------- */ @@ -116,6 +115,9 @@ double *BodyRoundedPolyhedron::edges(AtomVecBody::Bonus *bonus) int BodyRoundedPolyhedron::nfaces(AtomVecBody::Bonus *bonus) { + int nvertices = bonus->ivalue[0]; + if (nvertices < 3) return 0; + return bonus->ivalue[2]; } @@ -185,7 +187,7 @@ int BodyRoundedPolyhedron::unpack_border_body(AtomVecBody::Bonus *bonus, double } /* ---------------------------------------------------------------------- - populate bonus data structure with data file values + populate bonus data structure with data file values for one body ------------------------------------------------------------------------- */ void BodyRoundedPolyhedron::data_body(int ibonus, int ninteger, int ndouble, diff --git a/src/BODY/compute_temp_body.cpp b/src/BODY/compute_temp_body.cpp index 319c2ff986..39b2518600 100644 --- a/src/BODY/compute_temp_body.cpp +++ b/src/BODY/compute_temp_body.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,27 +18,28 @@ #include "compute_temp_body.h" -#include -#include "math_extra.h" #include "atom.h" #include "atom_vec_body.h" -#include "update.h" -#include "force.h" #include "domain.h" -#include "modify.h" -#include "group.h" #include "error.h" +#include "force.h" +#include "group.h" +#include "math_extra.h" +#include "modify.h" +#include "update.h" + +#include using namespace LAMMPS_NS; -enum{ROTATE,ALL}; +enum { ROTATE, ALL }; /* ---------------------------------------------------------------------- */ ComputeTempBody::ComputeTempBody(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), id_bias(nullptr), tbias(nullptr), avec(nullptr) + Compute(lmp, narg, arg), id_bias(nullptr), tbias(nullptr), avec(nullptr) { - if (narg < 3) error->all(FLERR,"Illegal compute temp/body command"); + if (narg < 3) utils::missing_cmd_args(FLERR, "compute temp/body", error); scalar_flag = vector_flag = 1; size_vector = 6; @@ -48,25 +48,24 @@ ComputeTempBody::ComputeTempBody(LAMMPS *lmp, int narg, char **arg) : tempflag = 1; tempbias = 0; - id_bias = nullptr; mode = ALL; + // clang-format off + int iarg = 3; while (iarg < narg) { if (strcmp(arg[iarg],"bias") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute temp/body command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "compute temp/body bias", error); tempbias = 1; id_bias = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"dof") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute temp/body command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "compute temp/body dof", error); if (strcmp(arg[iarg+1],"rotate") == 0) mode = ROTATE; else if (strcmp(arg[iarg+1],"all") == 0) mode = ALL; - else error->all(FLERR,"Illegal compute temp/body command"); + else error->all(FLERR,"Unknown compute temp/body dof keyword {}", arg[iarg+1]); iarg += 2; - } else error->all(FLERR,"Illegal compute temp/body command"); + } else error->all(FLERR,"Unknown compute temp/body keyword {}", arg[iarg]); } vector = new double[size_vector]; @@ -77,8 +76,8 @@ ComputeTempBody::ComputeTempBody(LAMMPS *lmp, int narg, char **arg) : ComputeTempBody::~ComputeTempBody() { - delete [] id_bias; - delete [] vector; + delete[] id_bias; + delete[] vector; } /* ---------------------------------------------------------------------- */ @@ -88,8 +87,7 @@ void ComputeTempBody::init() // error check avec = dynamic_cast(atom->style_match("body")); - if (!avec) - error->all(FLERR,"Compute temp/body requires atom style body"); + if (!avec) error->all(FLERR,"Compute temp/body requires atom style body"); // check that all particles are finite-size, no point particles allowed @@ -99,18 +97,16 @@ void ComputeTempBody::init() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) - if (body[i] < 0) - error->one(FLERR,"Compute temp/body requires bodies"); + if (body[i] < 0) error->one(FLERR,"Compute temp/body requires bodies"); if (tempbias) { - int i = modify->find_compute(id_bias); - if (i < 0) - error->all(FLERR,"Could not find compute ID for temperature bias"); - tbias = modify->compute[i]; + tbias = modify->get_compute_by_id(id_bias); + if (!tbias) + error->all(FLERR,"Could not find compute {} for temperature bias", id_bias); if (tbias->tempflag == 0) - error->all(FLERR,"Bias compute does not calculate temperature"); + error->all(FLERR,"Bias compute {} does not calculate temperature", id_bias); if (tbias->tempbias == 0) - error->all(FLERR,"Bias compute does not calculate a velocity bias"); + error->all(FLERR,"Bias compute {} does not calculate a velocity bias", id_bias); if (tbias->igroup != igroup) error->all(FLERR,"Bias compute group does not match compute group"); if (strcmp(tbias->style,"temp/region") == 0) tempbias = 2; diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 432f1d5c9c..2293f56a98 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -415,17 +415,14 @@ void PairBodyRoundedPolygon::init_style() if (!avec) error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); if (strcmp(avec->bptr->style,"rounded/polygon") != 0) - error->all(FLERR,"Pair body/rounded/polygon requires " - "body style rounded/polygon"); + error->all(FLERR,"Pair body/rounded/polygon requires body style rounded/polygon"); bptr = dynamic_cast(avec->bptr); if (force->newton_pair == 0) - error->all(FLERR,"Pair style body/rounded/polygon requires " - "newton pair on"); + error->all(FLERR,"Pair style body/rounded/polygon requires newton pair on"); if (comm->ghost_velocity == 0) - error->all(FLERR,"Pair body/rounded/polygon requires " - "ghost atoms store velocity"); + error->all(FLERR,"Pair body/rounded/polygon requires ghost atoms store velocity"); neighbor->add_request(this); @@ -463,27 +460,24 @@ void PairBodyRoundedPolygon::init_style() for (i = 1; i <= ntypes; i++) maxerad[i] = merad[i] = 0; - int ipour; - for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; - if (ipour == modify->nfix) ipour = -1; + Fix *fixpour = nullptr; + auto pours = modify->get_fix_by_style("^pour"); + if (pours.size() > 0) fixpour = pours[0]; + + Fix *fixdep = nullptr; + auto deps = modify->get_fix_by_style("^deposit"); + if (deps.size() > 0) fixdep = deps[0]; - int idep; - for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; - if (idep == modify->nfix) idep = -1; for (i = 1; i <= ntypes; i++) { merad[i] = 0.0; - if (ipour >= 0) { + if (fixpour) { itype = i; - merad[i] = - *((double *) modify->fix[ipour]->extract("radius",itype)); + merad[i] = *((double *) fixpour->extract("radius",itype)); } - if (idep >= 0) { + if (fixdep) { itype = i; - merad[i] = - *((double *) modify->fix[idep]->extract("radius",itype)); + merad[i] = *((double *) fixdep->extract("radius",itype)); } } @@ -570,8 +564,7 @@ void PairBodyRoundedPolygon::body2space(int i) } if ((body_num_edges > 0) && (edge_ends == nullptr)) - error->one(FLERR,"Inconsistent edge data for body of atom {}", - atom->tag[i]); + error->one(FLERR,"Inconsistent edge data for body of atom {}", atom->tag[i]); for (int m = 0; m < body_num_edges; m++) { edge[nedge][0] = static_cast(edge_ends[2*m+0]); diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 82660df1e0..ed83dc49e2 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -222,8 +222,7 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) // sphere-sphere interaction if (npi == 1 && npj == 1) { - sphere_against_sphere(i, j, itype, jtype, delx, dely, delz, - rsq, v, f, evflag); + sphere_against_sphere(i, j, itype, jtype, delx, dely, delz, rsq, v, f, evflag); continue; } @@ -391,20 +390,16 @@ void PairBodyRoundedPolyhedron::coeff(int narg, char **arg) void PairBodyRoundedPolyhedron::init_style() { avec = dynamic_cast(atom->style_match("body")); - if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires " - "atom style body"); + if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires atom style body"); if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0) - error->all(FLERR,"Pair body/rounded/polyhedron requires " - "body style rounded/polyhedron"); + error->all(FLERR,"Pair body/rounded/polyhedron requires body style rounded/polyhedron"); bptr = dynamic_cast(avec->bptr); if (force->newton_pair == 0) - error->all(FLERR,"Pair style body/rounded/polyhedron requires " - "newton pair on"); + error->all(FLERR,"Pair style body/rounded/polyhedron requires newton pair on"); if (comm->ghost_velocity == 0) - error->all(FLERR,"Pair body/rounded/polyhedron requires " - "ghost atoms store velocity"); + error->all(FLERR,"Pair body/rounded/polyhedron requires ghost atoms store velocity"); neighbor->add_request(this); @@ -446,27 +441,23 @@ void PairBodyRoundedPolyhedron::init_style() for (i = 1; i <= ntypes; i++) maxerad[i] = merad[i] = 0; - int ipour; - for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; - if (ipour == modify->nfix) ipour = -1; + Fix *fixpour = nullptr; + auto pours = modify->get_fix_by_style("^pour"); + if (pours.size() > 0) fixpour = pours[0]; - int idep; - for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; - if (idep == modify->nfix) idep = -1; + Fix *fixdep = nullptr; + auto deps = modify->get_fix_by_style("^deposit"); + if (deps.size() > 0) fixdep = deps[0]; for (i = 1; i <= ntypes; i++) { merad[i] = 0.0; - if (ipour >= 0) { + if (fixpour) { itype = i; - merad[i] = - *((double *) modify->fix[ipour]->extract("radius",itype)); + merad[i] = *((double *) fixpour->extract("radius",itype)); } - if (idep >= 0) { + if (fixdep) { itype = i; - merad[i] = - *((double *) modify->fix[idep]->extract("radius",itype)); + merad[i] = *((double *) fixdep->extract("radius",itype)); } } @@ -558,8 +549,7 @@ void PairBodyRoundedPolyhedron::body2space(int i) } if ((body_num_edges > 0) && (edge_ends == nullptr)) - error->one(FLERR,"Inconsistent edge data for body of atom {}", - atom->tag[i]); + error->one(FLERR,"Inconsistent edge data for body of atom {}", atom->tag[i]); for (int m = 0; m < body_num_edges; m++) { edge[nedge][0] = static_cast(edge_ends[2*m+0]); @@ -585,8 +575,7 @@ void PairBodyRoundedPolyhedron::body2space(int i) } if ((body_num_faces > 0) && (face_pts == nullptr)) - error->one(FLERR,"Inconsistent face data for body of atom {}", - atom->tag[i]); + error->one(FLERR,"Inconsistent face data for body of atom {}", atom->tag[i]); for (int m = 0; m < body_num_faces; m++) { for (int k = 0; k < MAX_FACE_SIZE; k++) diff --git a/src/BPM/atom_vec_bpm_sphere.cpp b/src/BPM/atom_vec_bpm_sphere.cpp index 37a36f4a59..4332d517b4 100644 --- a/src/BPM/atom_vec_bpm_sphere.cpp +++ b/src/BPM/atom_vec_bpm_sphere.cpp @@ -14,14 +14,11 @@ #include "atom_vec_bpm_sphere.h" #include "atom.h" -#include "comm.h" #include "error.h" #include "fix.h" #include "math_const.h" #include "modify.h" -#include - using namespace LAMMPS_NS; using MathConst::MY_PI; diff --git a/src/BPM/bond_bpm.cpp b/src/BPM/bond_bpm.cpp index b484df7fab..9c2c680cc5 100644 --- a/src/BPM/bond_bpm.cpp +++ b/src/BPM/bond_bpm.cpp @@ -14,6 +14,7 @@ #include "bond_bpm.h" #include "atom.h" +#include "citeme.h" #include "comm.h" #include "domain.h" #include "error.h" @@ -30,6 +31,19 @@ using namespace LAMMPS_NS; +static const char cite_bpm[] = + "BPM bond style: doi:10.1039/D3SM01373A\n\n" + "@Article{Clemmer2024,\n" + " author = {Clemmer, Joel T. and Monti, Joseph M. and Lechman, Jeremy B.},\n" + " title = {A soft departure from jamming: the compaction of deformable\n" + " granular matter under high pressures},\n" + " journal = {Soft Matter},\n" + " year = 2024,\n" + " volume = 20,\n" + " number = 8,\n" + " pages = {1702--1718}\n" + "}\n\n"; + /* ---------------------------------------------------------------------- */ BondBPM::BondBPM(LAMMPS *_lmp) : @@ -55,6 +69,8 @@ BondBPM::BondBPM(LAMMPS *_lmp) : id_fix_dummy2 = utils::strdup("BPM_DUMMY2"); modify->add_fix(fmt::format("{} all DUMMY ", id_fix_dummy2)); + + if (lmp->citeme) lmp->citeme->add(cite_bpm); } /* ---------------------------------------------------------------------- */ @@ -357,7 +373,6 @@ void BondBPM::process_broken(int i, int j) if (i < nlocal) { for (m = 0; m < num_bond[i]; m++) { if (bond_atom[i][m] == tag[j]) { - bond_type[i][m] = 0; n = num_bond[i]; bond_type[i][m] = bond_type[i][n - 1]; bond_atom[i][m] = bond_atom[i][n - 1]; @@ -372,7 +387,6 @@ void BondBPM::process_broken(int i, int j) if (j < nlocal) { for (m = 0; m < num_bond[j]; m++) { if (bond_atom[j][m] == tag[i]) { - bond_type[j][m] = 0; n = num_bond[j]; bond_type[j][m] = bond_type[j][n - 1]; bond_atom[j][m] = bond_atom[j][n - 1]; diff --git a/src/BPM/fix_update_special_bonds.cpp b/src/BPM/fix_update_special_bonds.cpp index 04f5d94e7e..cdc72ee987 100644 --- a/src/BPM/fix_update_special_bonds.cpp +++ b/src/BPM/fix_update_special_bonds.cpp @@ -21,7 +21,6 @@ #include "modify.h" #include "neigh_list.h" #include "neighbor.h" -#include "pair.h" #include diff --git a/src/CG-DNA/pair_oxdna_stk.cpp b/src/CG-DNA/pair_oxdna_stk.cpp index 99ddf9c96a..1ef779dbd9 100644 --- a/src/CG-DNA/pair_oxdna_stk.cpp +++ b/src/CG-DNA/pair_oxdna_stk.cpp @@ -25,6 +25,7 @@ #include "memory.h" #include "mf_oxdna.h" #include "neighbor.h" +#include "neigh_list.h" #include #include diff --git a/src/CG-DNA/pair_oxrna2_stk.cpp b/src/CG-DNA/pair_oxrna2_stk.cpp index f6e12fffe1..f56aa572e8 100644 --- a/src/CG-DNA/pair_oxrna2_stk.cpp +++ b/src/CG-DNA/pair_oxrna2_stk.cpp @@ -26,6 +26,7 @@ #include "memory.h" #include "mf_oxdna.h" #include "neighbor.h" +#include "neigh_list.h" #include #include diff --git a/src/CLASS2/pair_lj_class2_coul_long.cpp b/src/CLASS2/pair_lj_class2_coul_long.cpp index 2a3d7a706e..965810c8f7 100644 --- a/src/CLASS2/pair_lj_class2_coul_long.cpp +++ b/src/CLASS2/pair_lj_class2_coul_long.cpp @@ -16,6 +16,7 @@ #include "atom.h" #include "comm.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "kspace.h" #include "math_const.h" @@ -29,16 +30,9 @@ #include using namespace LAMMPS_NS; +using namespace EwaldConst; using namespace MathConst; -static constexpr double EWALD_F = 1.12837917; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - /* ---------------------------------------------------------------------- */ PairLJClass2CoulLong::PairLJClass2CoulLong(LAMMPS *lmp) : Pair(lmp) diff --git a/src/COLVARS/colvarproxy_lammps.cpp b/src/COLVARS/colvarproxy_lammps.cpp index 06a2a23ec0..1c5d84d62a 100644 --- a/src/COLVARS/colvarproxy_lammps.cpp +++ b/src/COLVARS/colvarproxy_lammps.cpp @@ -19,11 +19,7 @@ #include "colvarmodule.h" #include "colvarproxy.h" -#include -#include -#include -#include -#include +#include #define HASH_FAIL -1 diff --git a/src/COLVARS/fix_colvars.cpp b/src/COLVARS/fix_colvars.cpp index baf0209c61..0b496ee71b 100644 --- a/src/COLVARS/fix_colvars.cpp +++ b/src/COLVARS/fix_colvars.cpp @@ -40,8 +40,6 @@ #include #include -#include -#include #include "colvarproxy_lammps.h" #include "colvarmodule.h" diff --git a/src/DIELECTRIC/atom_vec_dielectric.cpp b/src/DIELECTRIC/atom_vec_dielectric.cpp index 3b25ad4e17..7412df118f 100644 --- a/src/DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/DIELECTRIC/atom_vec_dielectric.cpp @@ -15,8 +15,10 @@ #include "atom.h" #include "citeme.h" +#include "domain.h" #include "error.h" #include "force.h" +#include "memory.h" #include "pair.h" #include "pair_hybrid.h" @@ -50,6 +52,8 @@ AtomVecDielectric::AtomVecDielectric(LAMMPS *_lmp) : AtomVec(_lmp) atom->molecule_flag = atom->q_flag = atom->mu_flag = 1; atom->dielectric_flag = 1; + mu_hold = nullptr; + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -187,6 +191,58 @@ void AtomVecDielectric::data_atom_post(int ilocal) mu_one[3] = sqrt(mu_one[0] * mu_one[0] + mu_one[1] * mu_one[1] + mu_one[2] * mu_one[2]); } +/* ---------------------------------------------------------------------- + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on dipole moment mu +------------------------------------------------------------------------- */ + +void AtomVecDielectric::read_data_general_to_restricted(int nlocal_previous, int nlocal) +{ + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); + + for (int i = nlocal_previous; i < nlocal; i++) + domain->general_to_restricted_vector(mu[i]); +} + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on dipole momemt mu which has 4 values per atom +------------------------------------------------------------------------- */ + +void AtomVecDielectric::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + int nlocal = atom->nlocal; + memory->create(mu_hold,nlocal,3,"atomvec:mu_hold"); + for (int i = 0; i < nlocal; i++) { + memcpy(&mu_hold[i],&mu[i],3*sizeof(double)); + domain->restricted_to_general_vector(mu[i]); + } +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on dipole moment mu which has 4 values per atom +------------------------------------------------------------------------- */ + +void AtomVecDielectric::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + if (!mu_hold) return; + + int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; i++) + memcpy(&mu[i],&mu_hold[i],3*sizeof(double)); + memory->destroy(mu_hold); + mu_hold = nullptr; +} + /* ---------------------------------------------------------------------- initialize other atom quantities after AtomVec::unpack_restart() ------------------------------------------------------------------------- */ diff --git a/src/DIELECTRIC/atom_vec_dielectric.h b/src/DIELECTRIC/atom_vec_dielectric.h index 28bf7abb33..71aba900f8 100644 --- a/src/DIELECTRIC/atom_vec_dielectric.h +++ b/src/DIELECTRIC/atom_vec_dielectric.h @@ -35,6 +35,10 @@ class AtomVecDielectric : virtual public AtomVec { void grow_pointers() override; void create_atom_post(int) override; void data_atom_post(int) override; + void read_data_general_to_restricted(int, int) override; + void write_data_restricted_to_general() override; + void write_data_restore_restricted() override; + void unpack_restart_init(int) override; int property_atom(const std::string &) override; void pack_property_atom(int, double *, int, int) override; @@ -48,6 +52,8 @@ class AtomVecDielectric : virtual public AtomVec { double **mu; double *area, *ed, *em, *epsilon, *curvature, *q_scaled; + + double **mu_hold; }; } // namespace LAMMPS_NS diff --git a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp index 40f7d0c853..67d79d57f0 100644 --- a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -41,7 +41,6 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "group.h" #include "kspace.h" #include "math_const.h" #include "memory.h" diff --git a/src/DIELECTRIC/pppm_dielectric.cpp b/src/DIELECTRIC/pppm_dielectric.cpp index 49fa8ed128..e02cc33162 100644 --- a/src/DIELECTRIC/pppm_dielectric.cpp +++ b/src/DIELECTRIC/pppm_dielectric.cpp @@ -23,7 +23,6 @@ #include "comm.h" #include "domain.h" #include "error.h" -#include "fft3d_wrap.h" #include "force.h" #include "grid3d.h" #include "math_const.h" diff --git a/src/DIELECTRIC/pppm_disp_dielectric.cpp b/src/DIELECTRIC/pppm_disp_dielectric.cpp index c6108646be..e5149ae427 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.cpp +++ b/src/DIELECTRIC/pppm_disp_dielectric.cpp @@ -25,10 +25,12 @@ #include "error.h" #include "force.h" #include "grid3d.h" +#include "lmpfftsettings.h" #include "math_const.h" #include "memory.h" #include +#include using namespace LAMMPS_NS; using namespace MathConst; diff --git a/src/DIFFRACTION/compute_xrd.cpp b/src/DIFFRACTION/compute_xrd.cpp index 426248b31e..11e0bb9a9f 100644 --- a/src/DIFFRACTION/compute_xrd.cpp +++ b/src/DIFFRACTION/compute_xrd.cpp @@ -35,7 +35,7 @@ #include "omp_compat.h" using namespace LAMMPS_NS; -using namespace MathConst; +using MathConst::MY_PI; static const char cite_compute_xrd_c[] = "compute xrd command: doi:10.1088/0965-0393/21/5/055020\n\n" @@ -261,7 +261,7 @@ void ComputeXRD::init() double ang = 0.0; double convf = 360 / MY_PI; - if (radflag ==1) convf = 1; + if (radflag == 1) convf = 2; int n = 0; for (int m = 0; m < mmax; m++) { diff --git a/src/DIPOLE/atom_vec_dipole.cpp b/src/DIPOLE/atom_vec_dipole.cpp index 3f160787b2..470dfc77ef 100644 --- a/src/DIPOLE/atom_vec_dipole.cpp +++ b/src/DIPOLE/atom_vec_dipole.cpp @@ -14,6 +14,8 @@ #include "atom_vec_dipole.h" #include "atom.h" +#include "domain.h" +#include "memory.h" #include @@ -28,6 +30,8 @@ AtomVecDipole::AtomVecDipole(LAMMPS *lmp) : AtomVec(lmp) atom->q_flag = atom->mu_flag = 1; + mu_hold = nullptr; + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -68,3 +72,55 @@ void AtomVecDipole::data_atom_post(int ilocal) double *mu_one = mu[ilocal]; mu_one[3] = sqrt(mu_one[0] * mu_one[0] + mu_one[1] * mu_one[1] + mu_one[2] * mu_one[2]); } + +/* ---------------------------------------------------------------------- + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on dipole moment mu +------------------------------------------------------------------------- */ + +void AtomVecDipole::read_data_general_to_restricted(int nlocal_previous, int nlocal) +{ + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); + + for (int i = nlocal_previous; i < nlocal; i++) + domain->general_to_restricted_vector(mu[i]); +} + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on dipole momemt mu which has 4 values per atom +------------------------------------------------------------------------- */ + +void AtomVecDipole::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + int nlocal = atom->nlocal; + memory->create(mu_hold,nlocal,3,"atomvec:mu_hold"); + for (int i = 0; i < nlocal; i++) { + memcpy(&mu_hold[i],&mu[i],3*sizeof(double)); + domain->restricted_to_general_vector(mu[i]); + } +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on dipole moment mu which has 4 values per atom +------------------------------------------------------------------------- */ + +void AtomVecDipole::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + if (!mu_hold) return; + + int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; i++) + memcpy(&mu[i],&mu_hold[i],3*sizeof(double)); + memory->destroy(mu_hold); + mu_hold = nullptr; +} diff --git a/src/DIPOLE/atom_vec_dipole.h b/src/DIPOLE/atom_vec_dipole.h index d2f5746462..0b46195263 100644 --- a/src/DIPOLE/atom_vec_dipole.h +++ b/src/DIPOLE/atom_vec_dipole.h @@ -30,9 +30,13 @@ class AtomVecDipole : virtual public AtomVec { void grow_pointers() override; void data_atom_post(int) override; + void read_data_general_to_restricted(int, int) override; + void write_data_restricted_to_general() override; + void write_data_restore_restricted() override; protected: double **mu; + double **mu_hold; }; } // namespace LAMMPS_NS diff --git a/src/DIPOLE/pair_lj_long_dipole_long.cpp b/src/DIPOLE/pair_lj_long_dipole_long.cpp index 6f46d9d024..2e1a9c4db0 100644 --- a/src/DIPOLE/pair_lj_long_dipole_long.cpp +++ b/src/DIPOLE/pair_lj_long_dipole_long.cpp @@ -401,7 +401,7 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) ev_init(eflag,vflag); double **x = atom->x, *x0 = x[0]; - double **mu = atom->mu, *mu0 = mu[0], *imu, *jmu; + double **mu = atom->mu, *mu0 = mu[0]; double **tq = atom->torque, *tq0 = tq[0], *tqi; double **f = atom->f, *f0 = f[0], *fi = f0, fx, fy, fz; double *q = atom->q, qi = 0, qj; @@ -435,7 +435,7 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) lj1i = lj1[typei]; lj2i = lj2[typei]; lj3i = lj3[typei]; lj4i = lj4[typei]; cutsqi = cutsq[typei]; cut_ljsqi = cut_ljsq[typei]; memcpy(xi, x0+(i+(i<<1)), 3*sizeof(double)); - memcpy(mui, imu = mu0+(i<<2), 3*sizeof(double)); + memcpy(mui, mu0+(i<<2), 3*sizeof(double)); jneighn = (jneigh = list->firstneigh[i])+list->numneigh[i]; @@ -453,7 +453,7 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) r2inv = 1.0/rsq; if (order3 && (rsq < cut_coulsq)) { // dipole - memcpy(muj, jmu = mu0+(j<<2), 3*sizeof(double)); + memcpy(muj, mu0+(j<<2), 3*sizeof(double)); { // series real space double r = sqrt(rsq); double x = g_ewald*r; diff --git a/src/DPD-REACT/npair_half_bin_newton_ssa.cpp b/src/DPD-REACT/npair_half_bin_newton_ssa.cpp index ce405da3ac..7393e54f78 100644 --- a/src/DPD-REACT/npair_half_bin_newton_ssa.cpp +++ b/src/DPD-REACT/npair_half_bin_newton_ssa.cpp @@ -18,6 +18,7 @@ ------------------------------------------------------------------------- */ #include "npair_half_bin_newton_ssa.h" + #include "nstencil_ssa.h" #include "nbin_ssa.h" #include "neigh_list.h" diff --git a/src/DRUDE/compute_temp_drude.cpp b/src/DRUDE/compute_temp_drude.cpp index b309346934..0bf276924a 100644 --- a/src/DRUDE/compute_temp_drude.cpp +++ b/src/DRUDE/compute_temp_drude.cpp @@ -54,20 +54,19 @@ ComputeTempDrude::ComputeTempDrude(LAMMPS *lmp, int narg, char **arg) : ComputeTempDrude::~ComputeTempDrude() { - delete [] vector; - delete [] extlist; - delete [] id_temp; + delete[] vector; + delete[] extlist; + delete[] id_temp; } /* ---------------------------------------------------------------------- */ void ComputeTempDrude::init() { - int ifix; - for (ifix = 0; ifix < modify->nfix; ifix++) - if (strcmp(modify->fix[ifix]->style,"drude") == 0) break; - if (ifix == modify->nfix) error->all(FLERR, "compute temp/drude requires fix drude"); - fix_drude = dynamic_cast(modify->fix[ifix]); + // Fix drude already checks that there is only one fix drude instance + auto &fixes = modify->get_fix_by_style("^drude$"); + if (fixes.size() == 0) error->all(FLERR, "compute temp/drude requires fix drude"); + fix_drude = dynamic_cast(fixes[0]); if (!comm->ghost_velocity) error->all(FLERR,"compute temp/drude requires ghost velocities. Use comm_modify vel yes"); @@ -118,14 +117,12 @@ int ComputeTempDrude::modify_param(int narg, char **arg) delete [] id_temp; id_temp = utils::strdup(arg[1]); - int icompute = modify->find_compute(id_temp); - if (icompute < 0) - error->all(FLERR,"Could not find fix_modify temperature ID"); - temperature = modify->compute[icompute]; + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR,"Could not find fix_modify temperature compute {}", id_temp); if (temperature->tempflag == 0) - error->all(FLERR, - "Fix_modify temperature ID does not compute temperature"); + error->all(FLERR, "Fix_modify temperature compute {} does not compute temperature", id_temp); if (temperature->igroup != igroup && comm->me == 0) error->warning(FLERR,"Group for fix_modify temp != fix group"); return 2; diff --git a/src/DRUDE/fix_drude.cpp b/src/DRUDE/fix_drude.cpp index 56a5cd42f6..6c0c84861a 100644 --- a/src/DRUDE/fix_drude.cpp +++ b/src/DRUDE/fix_drude.cpp @@ -22,7 +22,6 @@ #include "modify.h" #include "molecule.h" -#include #include #include @@ -83,10 +82,7 @@ FixDrude::~FixDrude() void FixDrude::init() { - int count = 0; - for (int i = 0; i < modify->nfix; i++) - if (strcmp(modify->fix[i]->style,"drude") == 0) count++; - if (count > 1) error->all(FLERR,"More than one fix drude"); + if (modify->get_fix_by_style("^drude$").size() > 1) error->all(FLERR,"More than one fix drude"); if (!rebuildflag) rebuild_special(); } diff --git a/src/DRUDE/fix_drude_transform.cpp b/src/DRUDE/fix_drude_transform.cpp index 4a85b8ae4c..ad92740116 100644 --- a/src/DRUDE/fix_drude_transform.cpp +++ b/src/DRUDE/fix_drude_transform.cpp @@ -24,7 +24,6 @@ #include "modify.h" #include -#include using namespace LAMMPS_NS; using namespace FixConst; @@ -54,7 +53,7 @@ void FixDrudeTransform::init() std::string substyle = "direct"; if (inverse) substyle = "inverse"; - auto fixes = modify->get_fix_by_style("^drude"); + auto fixes = modify->get_fix_by_style("^drude$"); if (fixes.size() > 0) fix_drude = dynamic_cast(fixes[0]); if (!fix_drude) error->all(FLERR, "fix drude/transform/{} requires fix drude", substyle); diff --git a/src/DRUDE/fix_tgnh_drude.cpp b/src/DRUDE/fix_tgnh_drude.cpp index c067bf7adf..e15e865ce8 100644 --- a/src/DRUDE/fix_tgnh_drude.cpp +++ b/src/DRUDE/fix_tgnh_drude.cpp @@ -516,7 +516,7 @@ FixTGNHDrude::FixTGNHDrude(LAMMPS *lmp, int narg, char **arg) : // find fix drude - auto fdrude = modify->get_fix_by_style("^drude"); + auto fdrude = modify->get_fix_by_style("^drude$"); if (fdrude.size() < 1) error->all(FLERR, "Fix {} requires fix drude", style); fix_drude = dynamic_cast(fdrude[0]); if (!fix_drude) error->all(FLERR, "Fix {} requires fix drude", style); diff --git a/src/EFF/fix_nh_eff.cpp b/src/EFF/fix_nh_eff.cpp index a569932000..6e8e2c68fa 100644 --- a/src/EFF/fix_nh_eff.cpp +++ b/src/EFF/fix_nh_eff.cpp @@ -16,7 +16,6 @@ Contributing author: Andres Jaramillo-Botero (Caltech) ------------------------------------------------------------------------- */ - #include "fix_nh_eff.h" #include "atom.h" @@ -62,7 +61,7 @@ void FixNHEff::nve_v() if (mask[i] & groupbit) { if (abs(spin[i])==1) { dtfm = dtf / mass[type[i]]; - ervel[i] = dtfm * erforce[i] / mefactor; + ervel[i] += dtfm * erforce[i] / mefactor; } } } @@ -79,15 +78,26 @@ void FixNHEff::nve_x() FixNH::nve_x(); double *eradius = atom->eradius; + double *erforce = atom->erforce; double *ervel = atom->ervel; + double *mass = atom->mass; + int *type = atom->type; int *spin = atom->spin; int *mask = atom->mask; int nlocal = atom->nlocal; if (igroup == atom->firstgroup) nlocal = atom->nfirst; + double mefactor = domain->dimension/4.0; + double dtfm; + for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) - if (abs(spin[i])==1) eradius[i] += dtv * ervel[i]; + if (mask[i] & groupbit) { + dtfm = dtf / mass[type[i]]; + if (abs(spin[i])==1) { + ervel[i] += dtfm * erforce[i] / mefactor; + eradius[i] += dtv * ervel[i]; + } + } } /* ---------------------------------------------------------------------- diff --git a/src/ELECTRODE/README b/src/ELECTRODE/README new file mode 100644 index 0000000000..72a95b7fe9 --- /dev/null +++ b/src/ELECTRODE/README @@ -0,0 +1,17 @@ +This package provides the "fix electrode/*" commands which can be used in a +LAMMPS input script. These fixes implement the constant potential method, which +minimizes the energy of electrodes as a function of atom charges at given +electric potentials or electrode charges. + +See the doc page for the fix electrode/conp command to get started. There are +example scripts for using this package in examples/PACKAGES/electrode. + +This package uses an external library in lib/electrode which must be compiled +before making LAMMPS. For a CMake build, the location of the LAPACK library +should be linked automatically. Alternatively, the "USE_INTERNAL_LINALG" option +can be used to enable the bundled library. See the doc page on "Packages with +extra build options" for more information. + +The primary people who created this package are Ludwig Ahrens-Iwers, Shern Tee +(s.tee@griffith.edu.au) and Robert Meißner (robert.meissner@tuhh.de). Contact +them directly if you have questions. diff --git a/src/ELECTRODE/electrode_math.h b/src/ELECTRODE/electrode_math.h index 5992df2289..4a3cb7bac4 100644 --- a/src/ELECTRODE/electrode_math.h +++ b/src/ELECTRODE/electrode_math.h @@ -18,22 +18,20 @@ #ifndef LMP_ELECTRODE_MATH_H #define LMP_ELECTRODE_MATH_H +#include "ewald_const.h" #include "math_const.h" +#include + namespace LAMMPS_NS { +using namespace EwaldConst; namespace ElectrodeMath { - static constexpr double EWALD_P = 0.3275911; - static constexpr double A1 = 0.254829592; - static constexpr double A2 = -0.284496736; - static constexpr double A3 = 1.421413741; - static constexpr double A4 = -1.453152027; - static constexpr double A5 = 1.061405429; static constexpr double ERFCMAX = 5.8; // erfc(ERFCMAX) < machine epsilon(double) static double safe_erfc(double x) { - if (x > ERFCMAX) return 0.; + if (x > ERFCMAX) return 0.0; double expm2 = exp(-x * x); double t = 1.0 / (1.0 + EWALD_P * x); return t * (A1 + t * (A2 + t * (A3 + t * (A4 + t * A5)))) * expm2; @@ -42,14 +40,14 @@ namespace ElectrodeMath { static double safe_derfcr(double x, double &erfc) { if (x > ERFCMAX) { - erfc = 0.; - return 0.; + erfc = 0.0; + return 0.0; } double x2 = x * x; double expm2 = exp(-x2); double t = 1.0 / (1.0 + EWALD_P * x); erfc = t * (A1 + t * (A2 + t * (A3 + t * (A4 + t * A5)))) * expm2; - return -erfc - 2 * expm2 * x / MathConst::MY_PIS; + return -erfc - 2.0 * expm2 * x / MathConst::MY_PIS; } } // namespace ElectrodeMath diff --git a/src/ELECTRODE/electrode_matrix.cpp b/src/ELECTRODE/electrode_matrix.cpp index 86761742d4..9c2da1d13b 100644 --- a/src/ELECTRODE/electrode_matrix.cpp +++ b/src/ELECTRODE/electrode_matrix.cpp @@ -43,6 +43,7 @@ ElectrodeMatrix::ElectrodeMatrix(LAMMPS *lmp, int electrode_group, double eta) : groupbit = group->bitmask[igroup]; ngroup = group->count(igroup); this->eta = eta; + etaflag = false; tfflag = false; } @@ -72,6 +73,14 @@ void ElectrodeMatrix::setup_tf(const std::map &tf_types) /* ---------------------------------------------------------------------- */ +void ElectrodeMatrix::setup_eta(int index) +{ + etaflag = true; + eta_index = index; +} + +/* ---------------------------------------------------------------------- */ + void ElectrodeMatrix::compute_array(double **array, bool timer_flag) { // setting all entries of coulomb matrix to zero @@ -115,8 +124,6 @@ void ElectrodeMatrix::pair_contribution(double **array) int nlocal = atom->nlocal; int newton_pair = force->newton_pair; - double const etaij = eta * eta / sqrt(2.0 * eta * eta); // see mw ewald theory eq. (29)-(30) - // neighbor list will be ready because called from post_neighbor inum = list->inum; ilist = list->ilist; @@ -135,6 +142,7 @@ void ElectrodeMatrix::pair_contribution(double **array) xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; + double const eta_i = etaflag ? atom->dvector[eta_index][i] : eta; itype = type[i]; jlist = firstneigh[i]; jnum = numneigh[i]; @@ -152,6 +160,9 @@ void ElectrodeMatrix::pair_contribution(double **array) jtype = type[j]; if (rsq < cutsq[itype][jtype]) { + double const eta_j = etaflag ? atom->dvector[eta_index][j] : eta; + double const etaij = eta_i * eta_j / sqrt(eta_i * eta_i + eta_j * eta_j); + r = sqrt(rsq); rinv = 1.0 / r; aij = rinv; @@ -178,7 +189,10 @@ void ElectrodeMatrix::self_contribution(double **array) const double preta = MY_SQRT2 / MY_PIS; for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) { array[mpos[i]][mpos[i]] += preta * eta - selfint; } + if (mask[i] & groupbit) { + double const eta_i = etaflag ? atom->dvector[eta_index][i] : eta; + array[mpos[i]][mpos[i]] += preta * eta_i - selfint; + } } /* ---------------------------------------------------------------------- */ diff --git a/src/ELECTRODE/electrode_matrix.h b/src/ELECTRODE/electrode_matrix.h index 8499cfdb34..1c64d8a4c4 100644 --- a/src/ELECTRODE/electrode_matrix.h +++ b/src/ELECTRODE/electrode_matrix.h @@ -30,6 +30,7 @@ class ElectrodeMatrix : protected Pointers { ElectrodeMatrix(class LAMMPS *, int, double); void setup(const std::unordered_map &, class Pair *, class NeighList *); void setup_tf(const std::map &); + void setup_eta(int); void compute_array(double **, bool); int igroup; @@ -39,6 +40,8 @@ class ElectrodeMatrix : protected Pointers { double **cutsq; double g_ewald, eta; bool tfflag; + bool etaflag; + int eta_index; std::map tf_types; std::unordered_map tag_to_iele; bool assigned; diff --git a/src/ELECTRODE/electrode_vector.cpp b/src/ELECTRODE/electrode_vector.cpp index 8511ddc17c..fc2cca5e46 100644 --- a/src/ELECTRODE/electrode_vector.cpp +++ b/src/ELECTRODE/electrode_vector.cpp @@ -29,6 +29,7 @@ #include "neigh_list.h" #include "pair.h" +#include #include #include @@ -47,6 +48,7 @@ ElectrodeVector::ElectrodeVector(LAMMPS *lmp, int sensor_group, int source_group source_grpbit = group->bitmask[source_group]; this->eta = eta; tfflag = false; + etaflag = false; kspace_time_total = 0; pair_time_total = 0; @@ -93,6 +95,14 @@ void ElectrodeVector::setup_tf(const std::map &tf_types) /* ---------------------------------------------------------------------- */ +void ElectrodeVector::setup_eta(int index) +{ + etaflag = true; + eta_index = index; +} + +/* ---------------------------------------------------------------------- */ + void ElectrodeVector::compute_vector(double *vector) { MPI_Barrier(world); @@ -121,7 +131,6 @@ void ElectrodeVector::compute_vector(double *vector) void ElectrodeVector::pair_contribution(double *vector) { - double const etaij = eta * MY_ISQRT2; double **x = atom->x; double *q = atom->q; int *type = atom->type; @@ -142,6 +151,7 @@ void ElectrodeVector::pair_contribution(double *vector) double const xtmp = x[i][0]; double const ytmp = x[i][1]; double const ztmp = x[i][2]; + double const eta_i = etaflag ? atom->dvector[eta_index][i] : eta; int itype = type[i]; int *jlist = firstneigh[i]; int jnum = numneigh[i]; @@ -158,18 +168,22 @@ void ElectrodeVector::pair_contribution(double *vector) double const rsq = delx * delx + dely * dely + delz * delz; int jtype = type[j]; if (rsq >= cutsq[itype][jtype]) continue; + double const eta_j = etaflag ? atom->dvector[eta_index][j] : eta; + double etaij; + if (i_in_sensor && j_in_sensor) { + etaij = eta_i * eta_j / sqrt(eta_i * eta_i + eta_j * eta_j); + } else if (i_in_sensor) { + etaij = eta_i; + } else { + assert(j_in_sensor); + etaij = eta_j; + } double const r = sqrt(rsq); double const rinv = 1.0 / r; double aij = rinv; aij *= ElectrodeMath::safe_erfc(g_ewald * r); - if (invert_source) - aij -= ElectrodeMath::safe_erfc(eta * r) * rinv; - else - aij -= ElectrodeMath::safe_erfc(etaij * r) * rinv; - if (i_in_sensor) { - vector[i] += aij * q[j]; - //} else if (j_in_sensor) { - } + aij -= ElectrodeMath::safe_erfc(etaij * r) * rinv; + if (i_in_sensor) { vector[i] += aij * q[j]; } if (j_in_sensor && (!invert_source || !i_in_sensor)) { vector[j] += aij * q[i]; } } } @@ -189,9 +203,10 @@ void ElectrodeVector::self_contribution(double *vector) for (int ii = 0; ii < inum; ii++) { int const i = ilist[ii]; + double const eta_i = etaflag ? atom->dvector[eta_index][i] : eta; bool const i_in_sensor = (mask[i] & groupbit); bool const i_in_source = !!(mask[i] & source_grpbit) != invert_source; - if (i_in_sensor && i_in_source) vector[i] += (preta * eta - selfint) * q[i]; + if (i_in_sensor && i_in_source) vector[i] += (preta * eta_i - selfint) * q[i]; } } diff --git a/src/ELECTRODE/electrode_vector.h b/src/ELECTRODE/electrode_vector.h index e7f637dd2d..a4f274a049 100644 --- a/src/ELECTRODE/electrode_vector.h +++ b/src/ELECTRODE/electrode_vector.h @@ -29,6 +29,7 @@ class ElectrodeVector : protected Pointers { ~ElectrodeVector() override; void setup(class Pair *, class NeighList *, bool); void setup_tf(const std::map &); + void setup_eta(int); void compute_vector(double *); int igroup, source_group; @@ -39,6 +40,8 @@ class ElectrodeVector : protected Pointers { double **cutsq; double g_ewald, eta; bool tfflag; + bool etaflag; + int eta_index; std::map tf_types; class Pair *pair; class NeighList *list; diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index 9e2599ca8a..f3c17062d2 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -43,6 +43,7 @@ #include #include #include +#include #include using namespace LAMMPS_NS; @@ -97,26 +98,30 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : top_group = 0; intelflag = false; tfflag = false; + etaflag = false; timer_flag = false; update_time = 0; mult_time = 0; n_call = n_cg_step = 0; + qtotal = 0.; + qtotal_var_style = VarStyle::UNSET; + // read fix command fixname = std::string(arg[0]); groups = std::vector(1, igroup); group_bits = std::vector(1, groupbit); group_psi_var_names = std::vector(1); group_psi_var_styles = std::vector(1, VarStyle::CONST); - group_psi = std::vector(1); + group_psi_const = std::vector(1); etypes_neighlists = false; if (strstr(arg[3], "v_") == arg[3]) { std::string vname = arg[3]; group_psi_var_names[0] = vname.substr(2); group_psi_var_styles[0] = VarStyle::EQUAL; } else - group_psi[0] = utils::numeric(FLERR, arg[3], false, lmp); + group_psi_const[0] = utils::numeric(FLERR, arg[3], false, lmp); char *eta_str = arg[4]; eta = utils::numeric(FLERR, eta_str, false, lmp); int iarg = 5; @@ -132,12 +137,12 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : std::string vname = arg[iarg]; group_psi_var_names.push_back(vname.substr(2)); group_psi_var_styles.push_back(VarStyle::EQUAL); - group_psi.push_back(0.); + group_psi_const.push_back(0.); } else { std::string null; group_psi_var_names.push_back(null); group_psi_var_styles.push_back(VarStyle::CONST); - group_psi.push_back(utils::numeric(FLERR, arg[iarg], false, lmp)); + group_psi_const.push_back(utils::numeric(FLERR, arg[iarg], false, lmp)); } } else if ((strcmp(arg[iarg], "algo") == 0)) { if (!default_algo) error->one(FLERR, "Algorithm can be set only once"); @@ -195,8 +200,32 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : thermo_temp = force->boltz / force->qe2f * utils::numeric(FLERR, arg[++iarg], false, lmp); thermo_time = utils::numeric(FLERR, arg[++iarg], false, lmp); thermo_init = utils::inumeric(FLERR, arg[++iarg], false, lmp); - // toggle parameters - } else if ((strcmp(arg[iarg], "etypes") == 0)) { + } else if ((strcmp(arg[iarg], "qtotal") == 0)) { + if (iarg + 2 > narg) error->all(FLERR, "Need one argument after qtotal keyword"); + if (strcmp(this->style, "electrode/conq") == 0) + error->all(FLERR, "qtotal keyword not available for electrode/conq"); + ++iarg; + if (strstr(arg[iarg], "v_") == arg[iarg]) { + std::string vname = arg[iarg]; + qtotal_var_name = vname.substr(2); + qtotal_var_style = VarStyle::EQUAL; + } else { + qtotal = utils::numeric(FLERR, arg[iarg], false, lmp); + qtotal_var_style = VarStyle::CONST; + } + } else if ((strcmp(arg[iarg], "eta") == 0)) { + if (iarg + 2 > narg) error->all(FLERR, "Need two arguments after eta command"); + etaflag = true; + int is_double, cols, ghost; + eta_index = atom->find_custom_ghost(arg[++iarg] + 2, is_double, cols, ghost); + if (eta_index == -1) + error->all(FLERR, "eta keyword requires name of previously defined property"); + if (!is_double) error->all(FLERR, "eta keyword requires double-valued property/atom vector"); + if (cols != 0) error->all(FLERR, "eta keyword requires property/atom vector not an array"); + if (!ghost) error->all(FLERR, "eta keyword requires property/atom fix with ghost on"); + } + // toggle parameters + else if ((strcmp(arg[iarg], "etypes") == 0)) { etypes_neighlists = utils::logical(FLERR, arg[++iarg], false, lmp); } else if ((strncmp(arg[iarg], "symm", 4) == 0)) { symm = utils::logical(FLERR, arg[++iarg], false, lmp); @@ -208,6 +237,12 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : iarg++; } + if (qtotal_var_style != VarStyle::UNSET) { + if (symm) error->all(FLERR, "{} cannot use qtotal keyword with symm on", this->style); + } + + // computatonal potential + group_psi = std::vector(groups.size()); // union of all coupled groups std::string union_group = "conp_group"; std::string group_cmd = union_group + " union"; @@ -225,6 +260,7 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : if (need_elec_vector) elec_vector = new ElectrodeVector(lmp, igroup, igroup, eta, false); assert(groups.size() == group_bits.size()); assert(groups.size() == group_psi.size()); + assert(groups.size() == group_psi_const.size()); assert(groups.size() == group_psi_var_styles.size()); assert(groups.size() == group_psi_var_names.size()); assert(igroup == elyt_vector->igroup); @@ -374,6 +410,31 @@ void FixElectrodeConp::init() if (strncmp(modify->fix[i]->style, "electrode", 9) == 0) count++; if (count > 1) error->all(FLERR, "More than one fix electrode"); + // make sure electrode atoms are not integrated if a matrix is used for electrode-electrode interaction + int const nlocal = atom->nlocal; + int *mask = atom->mask; + Fix **fix = modify->fix; + if (matrix_algo) { + std::vector integrate_ids = std::vector(); + for (int i = 0; i < modify->nfix; i++) { + if (fix[i]->time_integrate == 0) continue; + int electrode_mover = 0; + int fix_groupbit = fix[i]->groupbit; + for (int j = 0; j < nlocal; j++) + if ((mask[j] & fix_groupbit) && (mask[j] & groupbit)) electrode_mover = 1; + MPI_Allreduce(MPI_IN_PLACE, &electrode_mover, 1, MPI_INT, MPI_SUM, world); + if (electrode_mover && comm->me == 0) integrate_ids.push_back(fix[i]->id); + } + if (comm->me == 0) + for (char *fix_id : integrate_ids) + error->warning( + FLERR, + "Electrode atoms are integrated by fix {}, but fix electrode is using a matrix method. " + "For " + "mobile electrodes use the conjugate gradient algorithm without matrix ('algo cg').", + fix_id); + } + // check for package intel if (etypes_neighlists) request_etypes_neighlists(); @@ -448,6 +509,7 @@ void FixElectrodeConp::setup_post_neighbor() // get equal-style variable ids: group_psi_var_ids = std::vector(num_of_groups, -1); for (int g = 0; g < num_of_groups; g++) { + assert(group_psi_var_styles[g] != VarStyle::UNSET); if (group_psi_var_styles[g] == VarStyle::CONST) continue; const char *var_name = group_psi_var_names[g].c_str(); int var_id = input->variable->find(var_name); @@ -456,13 +518,23 @@ void FixElectrodeConp::setup_post_neighbor() error->all(FLERR, "Variable '{}' for fix {} is not equal-style", var_name, style); group_psi_var_ids[g] = var_id; } + if (qtotal_var_style == VarStyle::EQUAL) { + const char *var_name = qtotal_var_name.c_str(); + int var_id = input->variable->find(var_name); + if (var_id < 0) error->all(FLERR, "Variable '{}' for fix electrode does not exist", var_name); + if (!input->variable->equalstyle(var_id)) + error->all(FLERR, "Variable '{}' for fix electrode is not equal-style", var_name); + qtotal_var_id = var_id; + } // pair and list setups: evscale = force->qe2f / force->qqrd2e; elyt_vector->setup(pair, vec_neighlist, timer_flag); + if (etaflag) elyt_vector->setup_eta(eta_index); if (need_elec_vector) { elec_vector->setup(pair, mat_neighlist, timer_flag); + if (etaflag) elec_vector->setup_eta(eta_index); if (tfflag) elec_vector->setup_tf(tf_types); } @@ -497,7 +569,8 @@ void FixElectrodeConp::setup_post_neighbor() if (etypes_neighlists) neighbor->build_one(mat_neighlist, 0); auto array_compute = std::unique_ptr(new ElectrodeMatrix(lmp, igroup, eta)); array_compute->setup(tag_to_iele, pair, mat_neighlist); - if (tfflag) { array_compute->setup_tf(tf_types); } + if (etaflag) array_compute->setup_eta(eta_index); + if (tfflag) array_compute->setup_tf(tf_types); array_compute->compute_array(elastance, timer_flag); } // write_mat before proceeding if (comm->me == 0 && write_mat) { @@ -804,6 +877,8 @@ void FixElectrodeConp::update_charges() } MPI_Allreduce(MPI_IN_PLACE, &sb_charges.front(), num_of_groups, MPI_DOUBLE, MPI_SUM, world); update_psi(); // use for equal-style and conq + if (qtotal_var_style != VarStyle::UNSET) + update_psi_qtotal(); // use for qtotal; same for thermo for (int g = 0; g < num_of_groups; g++) for (int j = 0; j < nlocalele; j++) q_local[j] += sd_vectors[g][list_iele[j]] * group_psi[g]; MPI_Barrier(world); @@ -840,20 +915,20 @@ void FixElectrodeConp::update_charges() a = ele_ele_interaction(q_local); r = add_nlocalele(b, a); } else { - r = add_nlocalele(r, scale_vector(alpha, y)); + r = add_nlocalele(r, scale_vector(alpha, std::move(y))); } auto p = constraint_projection(r); double dot_new = dot_nlocalele(r, p); - d = add_nlocalele(p, scale_vector(dot_new / dot_old, d)); + d = add_nlocalele(std::move(p), scale_vector(dot_new / dot_old, d)); delta = dot_nlocalele(r, d); dot_old = dot_new; } - recompute_potential(b, q_local); + recompute_potential(std::move(b), q_local); if (delta > cg_threshold && comm->me == 0) error->warning(FLERR, "CG threshold not reached"); } else { error->all(FLERR, "This algorithm is not implemented, yet"); } - set_charges(q_local); + set_charges(std::move(q_local)); update_time += MPI_Wtime() - start; } @@ -906,12 +981,22 @@ std::vector FixElectrodeConp::gather_ngroup(std::vector x_local) } /* ---------------------------------------------------------------------- - ensure total electrode charge is 0 if symm + ensure total electrode charge is 0 if symm and qtotal if qtotal is used ------------------------------------------------------------------------- */ std::vector FixElectrodeConp::constraint_correction(std::vector x) { - return constraint_projection(std::move(x)); + if (symm || qtotal_var_style != VarStyle::UNSET) { + if (qtotal_var_style == VarStyle::EQUAL) qtotal = input->variable->compute_equal(qtotal_var_id); + double sum = 0.; + for (double xi : x) sum += xi; + MPI_Allreduce(MPI_IN_PLACE, &sum, 1, MPI_DOUBLE, MPI_SUM, world); + if (qtotal_var_style != VarStyle::UNSET) sum -= qtotal; + sum /= ngroup; + for (double &xi : x) xi -= sum; + return x; + } + return x; } /* ---------------------------------------------------------------------- @@ -920,7 +1005,7 @@ std::vector FixElectrodeConp::constraint_correction(std::vector std::vector FixElectrodeConp::constraint_projection(std::vector x) { - if (symm) { + if (symm || qtotal_var_style != VarStyle::UNSET) { double sum = 0.; for (double xi : x) sum += xi; MPI_Allreduce(MPI_IN_PLACE, &sum, 1, MPI_DOUBLE, MPI_SUM, world); @@ -978,13 +1063,28 @@ std::vector FixElectrodeConp::times_elastance(std::vector x) void FixElectrodeConp::update_psi() { for (int g = 0; g < num_of_groups; g++) { - if (group_psi_var_styles[g] == VarStyle::CONST) continue; - group_psi[g] = input->variable->compute_equal(group_psi_var_ids[g]); + if (group_psi_var_styles[g] == VarStyle::CONST) + group_psi[g] = group_psi_const[g]; + else + group_psi[g] = input->variable->compute_equal(group_psi_var_ids[g]); } } /* ---------------------------------------------------------------------- */ +void FixElectrodeConp::update_psi_qtotal() +{ + if (qtotal_var_style == VarStyle::EQUAL) qtotal = input->variable->compute_equal(qtotal_var_id); + double q_current = 0.; + for (int i = 0; i < num_of_groups; i++) { + q_current += sb_charges[i]; + for (int j = 0; j < num_of_groups; j++) q_current += macro_capacitance[i][j] * group_psi[j]; + } + double add_psi = (qtotal - q_current) / macro_capacitance_sum; + for (int i = 0; i < num_of_groups; i++) group_psi[i] += add_psi; +} +/* ---------------------------------------------------------------------- */ + void FixElectrodeConp::compute_macro_matrices() { assert(algo == Algo::MATRIX_INV); @@ -1040,6 +1140,10 @@ void FixElectrodeConp::compute_macro_matrices() } } } + + macro_capacitance_sum = 0.; + for (int i = 0; i < num_of_groups; i++) + for (int j = 0; j < num_of_groups; j++) macro_capacitance_sum += macro_capacitance[i][j]; } /* ---------------------------------------------------------------------- */ @@ -1096,7 +1200,7 @@ double FixElectrodeConp::self_energy(int eflag) // corrections to energy due to self interaction double const qqrd2e = force->qqrd2e; int const nlocal = atom->nlocal; - double const pre = eta / sqrt(MY_2PI) * qqrd2e; + double const pre = 1. / sqrt(MY_2PI) * qqrd2e; int *mask = atom->mask; int *type = atom->type; double *q = atom->q; @@ -1104,7 +1208,8 @@ double FixElectrodeConp::self_energy(int eflag) for (int i = 0; i < nlocal; i++) { if (groupbit & mask[i]) { double const q2 = q[i] * q[i]; - double e = pre * q2; + double ieta = etaflag ? atom->dvector[eta_index][i] : eta; + double e = ieta * pre * q2; if (tfflag && (groupbit & mask[i])) e += 0.5 * qqrd2e * q2 * tf_types[type[i]]; energy += e; if (eflag) { @@ -1144,6 +1249,7 @@ double FixElectrodeConp::gausscorr(int eflag, bool fflag) double xtmp = x[i][0]; double ytmp = x[i][1]; double ztmp = x[i][2]; + double const eta_i = etaflag ? atom->dvector[eta_index][i] : eta; int itype = type[i]; int *jlist = firstneigh[i]; int jnum = numneigh[i]; @@ -1152,7 +1258,6 @@ double FixElectrodeConp::gausscorr(int eflag, bool fflag) int const j = jlist[jj] & NEIGHMASK; bool j_in_ele = groupbit & mask[j]; if (!(i_in_ele || j_in_ele)) continue; - double eta_ij = (i_in_ele && j_in_ele) ? eta / MY_SQRT2 : eta; double delx = xtmp - x[j][0]; double dely = ytmp - x[j][1]; @@ -1161,6 +1266,16 @@ double FixElectrodeConp::gausscorr(int eflag, bool fflag) int jtype = type[j]; if (rsq < force->pair->cutsq[itype][jtype]) { + double const eta_j = etaflag ? atom->dvector[eta_index][j] : eta; + double eta_ij; + if (i_in_ele && j_in_ele) + eta_ij = eta_i * eta_j / sqrt(eta_i * eta_i + eta_j * eta_j); + else if (i_in_ele) + eta_ij = eta_i; + else { + assert(j_in_ele); + eta_ij = eta_j; + } double r2inv = 1.0 / rsq; double r = sqrt(rsq); double erfc_etar = 0.; diff --git a/src/ELECTRODE/fix_electrode_conp.h b/src/ELECTRODE/fix_electrode_conp.h index 1289d96281..a1d7530bd1 100644 --- a/src/ELECTRODE/fix_electrode_conp.h +++ b/src/ELECTRODE/fix_electrode_conp.h @@ -29,7 +29,6 @@ FixStyle(electrode/conp, FixElectrodeConp); #include "fix.h" #include -#include #include namespace LAMMPS_NS { @@ -71,7 +70,7 @@ class FixElectrodeConp : public Fix { protected: enum class Algo { MATRIX_INV, MATRIX_CG, CG }; - enum class VarStyle { CONST, EQUAL }; + enum class VarStyle { CONST, EQUAL, UNSET }; virtual void update_psi(); virtual void pre_update(){}; virtual void recompute_potential(std::vector, std::vector){}; @@ -80,6 +79,7 @@ class FixElectrodeConp : public Fix { virtual void compute_macro_matrices(); std::vector ele_ele_interaction(const std::vector &); std::vector group_psi; + std::vector group_psi_const; // needed to undo qtotal psi updates std::vector group_bits; std::vector groups; int num_of_groups; @@ -101,6 +101,10 @@ class FixElectrodeConp : public Fix { std::string fixname; // used by electrode/ffield to set up internal efield bool intelflag; inline virtual void intel_pack_buffers() {} + double qtotal; + std::string qtotal_var_name; + int qtotal_var_id; + VarStyle qtotal_var_style; private: std::string output_file_inv, output_file_mat, output_file_vec; @@ -133,6 +137,8 @@ class FixElectrodeConp : public Fix { int get_top_group(); // used by ffield int top_group; // used by ffield bool tfflag; + int eta_index; // index of atom property for eta + bool etaflag; // eta specified as atom property bool timer_flag; std::map tf_types; // cg @@ -143,6 +149,9 @@ class FixElectrodeConp : public Fix { std::vector gather_ngroup(std::vector); std::vector gather_elevec_local(ElectrodeVector *); void set_charges(std::vector); + // qtotal + double macro_capacitance_sum; + void update_psi_qtotal(); // fix-specific electrode ID storage system: diff --git a/src/ELECTRODE/fix_electrode_conq.cpp b/src/ELECTRODE/fix_electrode_conq.cpp index 0d3d1d2aaf..a6baa1e122 100644 --- a/src/ELECTRODE/fix_electrode_conq.cpp +++ b/src/ELECTRODE/fix_electrode_conq.cpp @@ -30,7 +30,7 @@ FixElectrodeConq::FixElectrodeConq(LAMMPS *lmp, int narg, char **arg) : FixElectrodeConp(lmp, narg, arg) { // copy const-style values across because update_psi will change group_psi - group_q = group_psi; + group_q = group_psi_const; if (symm) { if (num_of_groups == 1) diff --git a/src/ELECTRODE/fix_electrode_thermo.cpp b/src/ELECTRODE/fix_electrode_thermo.cpp index 343bf14069..92db4b3ee0 100644 --- a/src/ELECTRODE/fix_electrode_thermo.cpp +++ b/src/ELECTRODE/fix_electrode_thermo.cpp @@ -47,7 +47,8 @@ FixElectrodeThermo::FixElectrodeThermo(LAMMPS *lmp, int narg, char **arg) : if (thermo_time < SMALL) error->all(FLERR, "Keyword temp not set or zero in electrode/thermo"); thermo_random = new RanMars(lmp, thermo_init); - if (group_psi_var_styles[0] == VarStyle::CONST) delta_psi_0 = group_psi[1] - group_psi[0]; + if (group_psi_var_styles[0] == VarStyle::CONST) + delta_psi_0 = group_psi_const[1] - group_psi_const[0]; } /* ----------------------------------------------------------------------- */ @@ -102,7 +103,7 @@ void FixElectrodeThermo::update_psi() double const delta_psi = group_psi_old[1] - group_psi_old[0]; // target potential difference from input parameters - if (group_psi_var_styles[0] != VarStyle::CONST) { + if (group_psi_var_styles[0] == VarStyle::EQUAL) { delta_psi_0 = input->variable->compute_equal(group_psi_var_ids[1]) - input->variable->compute_equal(group_psi_var_ids[0]); } diff --git a/src/ELECTRODE/pppm_electrode.cpp b/src/ELECTRODE/pppm_electrode.cpp index 39e7c66ce5..ee34def74d 100644 --- a/src/ELECTRODE/pppm_electrode.cpp +++ b/src/ELECTRODE/pppm_electrode.cpp @@ -20,6 +20,7 @@ #include "angle.h" #include "atom.h" #include "bond.h" +#include "boundary_correction.h" #include "citeme.h" #include "comm.h" #include "domain.h" @@ -437,6 +438,7 @@ void PPPMElectrode::compute(int eflag, int vflag) start_compute(); + /* if (compute_vector_called && last_invert_source) { // electrolyte_density_brick is filled, so we can grab only electrode atoms. // Does not work for direct cg algorithm because electrode charges change after compute_vector. @@ -452,15 +454,17 @@ void PPPMElectrode::compute(int eflag, int vflag) density_brick[nz][ny][nx] += electrolyte_density_brick[nz][ny][nx]; } } else { - make_rho(); + */ + particle_map(); + make_rho(); - // all procs communicate density values from their ghost cells - // to fully sum contribution in their 3d bricks - // remap from 3d decomposition to FFT decomposition + // all procs communicate density values from their ghost cells + // to fully sum contribution in their 3d bricks + // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(Grid3d::KSPACE, this, REVERSE_RHO, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, - MPI_FFT_SCALAR); - } + gc->reverse_comm(Grid3d::KSPACE, this, REVERSE_RHO, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, + MPI_FFT_SCALAR); + //} brick2fft(); @@ -583,6 +587,7 @@ void PPPMElectrode::compute_vector(double *vec, int sensor_grpbit, int source_gr // electrolyte density (without writing an additional function) FFT_SCALAR ***density_brick_real = density_brick; FFT_SCALAR *density_fft_real = density_fft; + particle_map(); make_rho_in_brick(source_grpbit, electrolyte_density_brick, invert_source); density_brick = electrolyte_density_brick; density_fft = electrolyte_density_fft; @@ -668,7 +673,8 @@ void PPPMElectrode::compute_matrix(bigint *imat, double **matrix, bool timer_fla // fft green's function k -> r (double) double *greens_real; memory->create(greens_real, nz_pppm * ny_pppm * nx_pppm, "pppm/electrode:greens_real"); - memset(greens_real, 0, (std::size_t)nz_pppm * (std::size_t)ny_pppm * (std::size_t)nx_pppm * sizeof(double)); + memset(greens_real, 0, + (std::size_t) nz_pppm * (std::size_t) ny_pppm * (std::size_t) nx_pppm * sizeof(double)); for (int i = 0, n = 0; i < nfft; i++) { work2[n++] = greensfn[i]; work2[n++] = ZEROF; @@ -861,7 +867,7 @@ void PPPMElectrode::two_step_multiplication(bigint *imat, double *greens_real, d double **gw; memory->create(gw, nmat, nxyz, "pppm/electrode:gw"); - memset(&(gw[0][0]), 0, (std::size_t)nmat * (std::size_t)nxyz * sizeof(double)); + memset(&(gw[0][0]), 0, (std::size_t) nmat * (std::size_t) nxyz * sizeof(double)); auto fmod = [](int x, int n) { // fast unsigned mod int r = abs(x); @@ -980,17 +986,18 @@ void PPPMElectrode::allocate() // returns local owned and ghost grid bounds // setup communication patterns and buffers - gc = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, - nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); + gc = new Grid3d(lmp, world, nx_pppm, ny_pppm, nz_pppm, nxlo_in, nxhi_in, nylo_in, nyhi_in, + nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); - gc->setup_comm(ngc_buf1,ngc_buf2); + gc->setup_comm(ngc_buf1, ngc_buf2); - if (differentiation_flag) npergrid = 1; - else npergrid = 3; + if (differentiation_flag) + npergrid = 1; + else + npergrid = 3; - memory->create(gc_buf1,npergrid*ngc_buf1,"pppm:gc_buf1"); - memory->create(gc_buf2,npergrid*ngc_buf2,"pppm:gc_buf2"); + memory->create(gc_buf1, npergrid * ngc_buf1, "pppm:gc_buf1"); + memory->create(gc_buf2, npergrid * ngc_buf2, "pppm:gc_buf2"); // tally local grid sizes // ngrid = count of owned+ghost grid cells on this proc @@ -999,67 +1006,63 @@ void PPPMElectrode::allocate() // nfft = FFT points in x-pencil FFT decomposition on this proc // nfft_both = greater of nfft and nfft_brick - ngrid = (nxhi_out-nxlo_out+1) * (nyhi_out-nylo_out+1) * - (nzhi_out-nzlo_out+1); + ngrid = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * (nzhi_out - nzlo_out + 1); - nfft_brick = (nxhi_in-nxlo_in+1) * (nyhi_in-nylo_in+1) * - (nzhi_in-nzlo_in+1); + nfft_brick = (nxhi_in - nxlo_in + 1) * (nyhi_in - nylo_in + 1) * (nzhi_in - nzlo_in + 1); - nfft = (nxhi_fft-nxlo_fft+1) * (nyhi_fft-nylo_fft+1) * - (nzhi_fft-nzlo_fft+1); + nfft = (nxhi_fft - nxlo_fft + 1) * (nyhi_fft - nylo_fft + 1) * (nzhi_fft - nzlo_fft + 1); - nfft_both = MAX(nfft,nfft_brick); + nfft_both = MAX(nfft, nfft_brick); // allocate distributed grid data - memory->create3d_offset(density_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:density_brick"); + memory->create3d_offset(density_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "pppm:density_brick"); - memory->create(density_fft,nfft_both,"pppm:density_fft"); - memory->create(greensfn,nfft_both,"pppm:greensfn"); - memory->create(work1,2*nfft_both,"pppm:work1"); - memory->create(work2,2*nfft_both,"pppm:work2"); - memory->create(vg,nfft_both,6,"pppm:vg"); + memory->create(density_fft, nfft_both, "pppm:density_fft"); + memory->create(greensfn, nfft_both, "pppm:greensfn"); + memory->create(work1, 2 * nfft_both, "pppm:work1"); + memory->create(work2, 2 * nfft_both, "pppm:work2"); + memory->create(vg, nfft_both, 6, "pppm:vg"); if (triclinic == 0) { - memory->create1d_offset(fkx,nxlo_fft,nxhi_fft,"pppm:fkx"); - memory->create1d_offset(fky,nylo_fft,nyhi_fft,"pppm:fky"); - memory->create1d_offset(fkz,nzlo_fft,nzhi_fft,"pppm:fkz"); + memory->create1d_offset(fkx, nxlo_fft, nxhi_fft, "pppm:fkx"); + memory->create1d_offset(fky, nylo_fft, nyhi_fft, "pppm:fky"); + memory->create1d_offset(fkz, nzlo_fft, nzhi_fft, "pppm:fkz"); } else { - memory->create(fkx,nfft_both,"pppm:fkx"); - memory->create(fky,nfft_both,"pppm:fky"); - memory->create(fkz,nfft_both,"pppm:fkz"); + memory->create(fkx, nfft_both, "pppm:fkx"); + memory->create(fky, nfft_both, "pppm:fky"); + memory->create(fkz, nfft_both, "pppm:fkz"); } if (differentiation_flag == 1) { - memory->create3d_offset(u_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:u_brick"); + memory->create3d_offset(u_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "pppm:u_brick"); - memory->create(sf_precoeff1,nfft_both,"pppm:sf_precoeff1"); - memory->create(sf_precoeff2,nfft_both,"pppm:sf_precoeff2"); - memory->create(sf_precoeff3,nfft_both,"pppm:sf_precoeff3"); - memory->create(sf_precoeff4,nfft_both,"pppm:sf_precoeff4"); - memory->create(sf_precoeff5,nfft_both,"pppm:sf_precoeff5"); - memory->create(sf_precoeff6,nfft_both,"pppm:sf_precoeff6"); + memory->create(sf_precoeff1, nfft_both, "pppm:sf_precoeff1"); + memory->create(sf_precoeff2, nfft_both, "pppm:sf_precoeff2"); + memory->create(sf_precoeff3, nfft_both, "pppm:sf_precoeff3"); + memory->create(sf_precoeff4, nfft_both, "pppm:sf_precoeff4"); + memory->create(sf_precoeff5, nfft_both, "pppm:sf_precoeff5"); + memory->create(sf_precoeff6, nfft_both, "pppm:sf_precoeff6"); } else { - memory->create3d_offset(vdx_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:vdx_brick"); - memory->create3d_offset(vdy_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:vdy_brick"); - memory->create3d_offset(vdz_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:vdz_brick"); + memory->create3d_offset(vdx_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "pppm:vdx_brick"); + memory->create3d_offset(vdy_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "pppm:vdy_brick"); + memory->create3d_offset(vdz_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "pppm:vdz_brick"); } // summation coeffs order_allocated = order; - if (!stagger_flag) memory->create(gf_b,order,"pppm:gf_b"); - memory->create2d_offset(rho1d,3,-order/2,order/2,"pppm:rho1d"); - memory->create2d_offset(drho1d,3,-order/2,order/2,"pppm:drho1d"); - memory->create2d_offset(rho_coeff,order,(1-order)/2,order/2,"pppm:rho_coeff"); - memory->create2d_offset(drho_coeff,order,(1-order)/2,order/2, - "pppm:drho_coeff"); + if (!stagger_flag) memory->create(gf_b, order, "pppm:gf_b"); + memory->create2d_offset(rho1d, 3, -order / 2, order / 2, "pppm:rho1d"); + memory->create2d_offset(drho1d, 3, -order / 2, order / 2, "pppm:drho1d"); + memory->create2d_offset(rho_coeff, order, (1 - order) / 2, order / 2, "pppm:rho_coeff"); + memory->create2d_offset(drho_coeff, order, (1 - order) / 2, order / 2, "pppm:drho_coeff"); // create 2 FFTs and a Remap // 1st FFT keeps data in FFT decomposition @@ -1068,20 +1071,17 @@ void PPPMElectrode::allocate() int tmp; - fft1 = new FFT3d(lmp,world,nx_pppm,ny_pppm,nz_pppm, - nxlo_fft,nxhi_fft,nylo_fft,nyhi_fft,nzlo_fft,nzhi_fft, - nxlo_fft,nxhi_fft,nylo_fft,nyhi_fft,nzlo_fft,nzhi_fft, - 0,0,&tmp,collective_flag); + fft1 = new FFT3d(lmp, world, nx_pppm, ny_pppm, nz_pppm, nxlo_fft, nxhi_fft, nylo_fft, nyhi_fft, + nzlo_fft, nzhi_fft, nxlo_fft, nxhi_fft, nylo_fft, nyhi_fft, nzlo_fft, nzhi_fft, + 0, 0, &tmp, collective_flag); - fft2 = new FFT3d(lmp,world,nx_pppm,ny_pppm,nz_pppm, - nxlo_fft,nxhi_fft,nylo_fft,nyhi_fft,nzlo_fft,nzhi_fft, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, - 0,0,&tmp,collective_flag); + fft2 = new FFT3d(lmp, world, nx_pppm, ny_pppm, nz_pppm, nxlo_fft, nxhi_fft, nylo_fft, nyhi_fft, + nzlo_fft, nzhi_fft, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, 0, 0, + &tmp, collective_flag); - remap = new Remap(lmp,world, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, - nxlo_fft,nxhi_fft,nylo_fft,nyhi_fft,nzlo_fft,nzhi_fft, - 1,0,0,FFT_PRECISION,collective_flag); + remap = new Remap(lmp, world, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, nxlo_fft, + nxhi_fft, nylo_fft, nyhi_fft, nzlo_fft, nzhi_fft, 1, 0, 0, FFT_PRECISION, + collective_flag); // ELECTRODE specific allocations diff --git a/src/EXTRA-COMPUTE/compute_adf.cpp b/src/EXTRA-COMPUTE/compute_adf.cpp index 35ff8bfd33..20b1749fa9 100644 --- a/src/EXTRA-COMPUTE/compute_adf.cpp +++ b/src/EXTRA-COMPUTE/compute_adf.cpp @@ -34,32 +34,27 @@ #include using namespace LAMMPS_NS; -using namespace MathConst; +using MathConst::MY_PI; +using MathConst::RAD2DEG; -enum{DEGREE, RADIAN, COSINE}; +enum { DEGREE, RADIAN, COSINE }; /* ---------------------------------------------------------------------- compute angular distribution functions for I, J, K atoms ---------------------------------------------------------------------- */ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - ilo(nullptr), ihi(nullptr), jlo(nullptr), jhi(nullptr), klo(nullptr), khi(nullptr), - hist(nullptr), histall(nullptr), - rcutinnerj(nullptr), rcutinnerk(nullptr), - rcutouterj(nullptr), rcutouterk(nullptr), - list(nullptr), - iatomcount(nullptr), iatomcountall(nullptr), iatomflag(nullptr), - maxjatom(nullptr), maxkatom(nullptr), - numjatom(nullptr), numkatom(nullptr), - neighjatom(nullptr),neighkatom(nullptr), - jatomflag(nullptr), katomflag(nullptr), - maxjkatom(nullptr), numjkatom(nullptr), - neighjkatom(nullptr), bothjkatom(nullptr), delrjkatom(nullptr) + Compute(lmp, narg, arg), ilo(nullptr), ihi(nullptr), jlo(nullptr), jhi(nullptr), klo(nullptr), + khi(nullptr), hist(nullptr), histall(nullptr), rcutinnerj(nullptr), rcutinnerk(nullptr), + rcutouterj(nullptr), rcutouterk(nullptr), list(nullptr), iatomcount(nullptr), + iatomcountall(nullptr), iatomflag(nullptr), maxjatom(nullptr), maxkatom(nullptr), + numjatom(nullptr), numkatom(nullptr), neighjatom(nullptr), neighkatom(nullptr), + jatomflag(nullptr), katomflag(nullptr), maxjkatom(nullptr), numjkatom(nullptr), + neighjkatom(nullptr), bothjkatom(nullptr), delrjkatom(nullptr) { int nargsperadf = 7; - if (narg < 4 ) error->all(FLERR,"Illegal compute adf command"); + if (narg < 4) utils::missing_cmd_args(FLERR, "compute adf", error); array_flag = 1; extarray = 0; @@ -89,17 +84,16 @@ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg+1],"degree") == 0) ordinate_style = DEGREE; else if (strcmp(arg[iarg+1],"radian") == 0) ordinate_style = RADIAN; else if (strcmp(arg[iarg+1],"cosine") == 0) ordinate_style = COSINE; - else error->all(FLERR,"Illegal compute adf command"); + else error->all(FLERR,"Unknown compute adf ordinate flag {}",arg[iarg+1]); iarg += 2; - } else error->all(FLERR,"Illegal compute adf command"); + } else error->all(FLERR,"Unknown compute adf keyword {}", arg[iarg]); } // triplewise args if (!nargtriple) ntriples = 1; else { - if (nargtriple % nargsperadf) - error->all(FLERR,"Illegal compute adf command"); + if (nargtriple % nargsperadf) error->all(FLERR,"Illegal compute adf command"); ntriples = nargtriple/nargsperadf; } @@ -107,12 +101,9 @@ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : size_array_cols = 1 + 2*ntriples; int ntypes = atom->ntypes; - memory->create(iatomflag,ntriples,ntypes+1, - "adf:iatomflag"); - memory->create(jatomflag,ntriples,ntypes+1, - "adf:jatomflag"); - memory->create(katomflag,ntriples,ntypes+1, - "adf:katomflag"); + memory->create(iatomflag,ntriples,ntypes+1,"adf:iatomflag"); + memory->create(jatomflag,ntriples,ntypes+1,"adf:jatomflag"); + memory->create(katomflag,ntriples,ntypes+1,"adf:katomflag"); ilo = new int[ntriples]; ihi = new int[ntriples]; @@ -134,14 +125,14 @@ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : klo[0] = 1; khi[0] = ntypes; } else { cutflag = 1; + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute adf with custom cutoffs requires neighbor style 'bin' or 'nsq'"); iarg = 4; for (int m = 0; m < ntriples; m++) { utils::bounds(FLERR,arg[iarg],1,atom->ntypes,ilo[m],ihi[m],error); utils::bounds(FLERR,arg[iarg+1],1,atom->ntypes,jlo[m],jhi[m],error); utils::bounds(FLERR,arg[iarg+2],1,atom->ntypes,klo[m],khi[m],error); - if (ilo[m] > ihi[m] || - jlo[m] > jhi[m] || - klo[m] > khi[m]) + if ((ilo[m] > ihi[m]) || (jlo[m] > jhi[m]) || (klo[m] > khi[m])) error->all(FLERR,"Illegal compute adf command"); rcutinnerj[m] = utils::numeric(FLERR,arg[iarg+3],false,lmp); rcutouterj[m] = utils::numeric(FLERR,arg[iarg+4],false,lmp); @@ -221,8 +212,6 @@ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : memory->create(bothjkatom[m],maxjkatom[m],"adf:bothjkatom"); memory->create(delrjkatom[m],maxjkatom[m],4,"adf:delrjkatom"); } - - rad2deg = 180.0 / MY_PI; } /* ---------------------------------------------------------------------- */ @@ -230,47 +219,47 @@ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : ComputeADF::~ComputeADF() { memory->destroy(iatomflag); - delete [] ilo; - delete [] ihi; - delete [] jlo; - delete [] jhi; - delete [] klo; - delete [] khi; - delete [] iatomcount; - delete [] iatomcountall; + delete[] ilo; + delete[] ihi; + delete[] jlo; + delete[] jhi; + delete[] klo; + delete[] khi; + delete[] iatomcount; + delete[] iatomcountall; memory->destroy(hist); memory->destroy(histall); memory->destroy(array); memory->destroy(jatomflag); - delete [] rcutinnerj; - delete [] rcutouterj; - delete [] maxjatom; - delete [] numjatom; + delete[] rcutinnerj; + delete[] rcutouterj; + delete[] maxjatom; + delete[] numjatom; for (int m = 0; m < ntriples; m++) memory->destroy(neighjatom[m]); - delete [] neighjatom; + delete[] neighjatom; memory->destroy(katomflag); - delete [] rcutinnerk; - delete [] rcutouterk; - delete [] maxkatom; - delete [] numkatom; + delete[] rcutinnerk; + delete[] rcutouterk; + delete[] maxkatom; + delete[] numkatom; for (int m = 0; m < ntriples; m++) memory->destroy(neighkatom[m]); - delete [] neighkatom; + delete[] neighkatom; - delete [] maxjkatom; - delete [] numjkatom; + delete[] maxjkatom; + delete[] numjkatom; for (int m = 0; m < ntriples; m++) memory->destroy(neighjkatom[m]); - delete [] neighjkatom; + delete[] neighjkatom; for (int m = 0; m < ntriples; m++) memory->destroy(bothjkatom[m]); - delete [] bothjkatom; + delete[] bothjkatom; for (int m = 0; m < ntriples; m++) memory->destroy(delrjkatom[m]); - delete [] delrjkatom; + delete[] delrjkatom; } /* ---------------------------------------------------------------------- */ @@ -282,8 +271,7 @@ void ComputeADF::init() if (!cutflag) { if (!force->pair) - error->all(FLERR,"Compute adf requires a pair style be defined " - "or an outer cutoff specified"); + error->all(FLERR,"Compute adf requires a pair style be defined or an outer cutoff specified"); rcutinnerj[0] = 0.0; rcutinnerk[0] = 0.0; rcutouterj[0] = force->pair->cutforce; @@ -298,7 +286,7 @@ void ComputeADF::init() // specify mycutneigh if force cutoff too small or non-existent - if (!(force->pair) || maxouter > force->pair->cutforce) { + if (!(force->pair) || (maxouter > force->pair->cutforce)) { double skin = neighbor->skin; mycutneigh = maxouter + skin; if (mycutneigh > comm->cutghostuser) @@ -310,7 +298,7 @@ void ComputeADF::init() int x0; if (ordinate_style == DEGREE) { - deltax = MY_PI / nbin * rad2deg; + deltax = MY_PI / nbin * RAD2DEG; deltaxinv = nbin / MY_PI; x0 = 0.0; @@ -337,7 +325,11 @@ void ComputeADF::init() // than maxouter apart, just like a normal neighbor list does auto req = neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL); - if (mycutneigh > 0.0) req->set_cutoff(mycutneigh); + if (mycutneigh > 0.0) { + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute adf with custom cutoffs requires neighbor style 'bin' or 'nsq'"); + req->set_cutoff(mycutneigh); + } } /* ---------------------------------------------------------------------- */ diff --git a/src/EXTRA-COMPUTE/compute_adf.h b/src/EXTRA-COMPUTE/compute_adf.h index 5f30995aa2..f1f95d325e 100644 --- a/src/EXTRA-COMPUTE/compute_adf.h +++ b/src/EXTRA-COMPUTE/compute_adf.h @@ -59,7 +59,6 @@ class ComputeADF : public Compute { int **bothjkatom; // 1 if atom is in both jatom and katom lists double ***delrjkatom; // list of 4-vectors: delx, dely, delx, and 1/r - double rad2deg; // conversion factor from radians to degrees int ordinate_style; // DEGREE, RADIAN, or COSINE int cutflag; // 1 if at least one outer cutoff specified }; diff --git a/src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp b/src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp index 89011e7177..b3b920fef3 100644 --- a/src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp @@ -33,7 +33,7 @@ #include using namespace LAMMPS_NS; -using namespace MathConst; +using MathConst::MY_PI; /* ---------------------------------------------------------------------- */ @@ -108,6 +108,9 @@ void ComputeAveSphereAtom::init() else volume = MY_PI * cutsq; + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute ave/sphere/atom requires neighbor style 'bin' or 'nsq'"); + // need an occasional full neighbor list auto req = neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL); diff --git a/src/EXTRA-COMPUTE/compute_composition_atom.cpp b/src/EXTRA-COMPUTE/compute_composition_atom.cpp index 48aaa68dea..d36cb96028 100644 --- a/src/EXTRA-COMPUTE/compute_composition_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_composition_atom.cpp @@ -19,7 +19,6 @@ #include "atom.h" #include "comm.h" -#include "domain.h" #include "error.h" #include "force.h" #include "math_const.h" @@ -103,6 +102,9 @@ void ComputeCompositionAtom::init() cutsq = cutoff * cutoff; + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute composition/atom requires neighbor style 'bin' or 'nsq'"); + // need an occasional full neighbor list auto req = neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL); diff --git a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp index 571f1d562d..466bc0e882 100644 --- a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp +++ b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp @@ -16,7 +16,6 @@ #include "angle.h" #include "atom.h" #include "bond.h" -#include "comm.h" #include "compute_chunk_atom.h" #include "domain.h" #include "error.h" diff --git a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h index b3354c9ab9..126f9962aa 100644 --- a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h +++ b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h @@ -23,7 +23,6 @@ ComputeStyle(dipole/tip4p/chunk,ComputeDipoleTIP4PChunk); #include "compute_chunk.h" namespace LAMMPS_NS { -class Fix; class ComputeDipoleTIP4PChunk : public ComputeChunk { public: diff --git a/src/EXTRA-COMPUTE/compute_efield_wolf_atom.cpp b/src/EXTRA-COMPUTE/compute_efield_wolf_atom.cpp index ba5a16d52b..ceb16de2ec 100644 --- a/src/EXTRA-COMPUTE/compute_efield_wolf_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_efield_wolf_atom.cpp @@ -92,7 +92,11 @@ void ComputeEfieldWolfAtom::init() if (atom->mu_flag && (comm->me == 0)) error->warning(FLERR, "Compute efield/wolf/atom does not support per-atom dipoles"); - // need an occasional full neighbor list + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute efield/wolf/atom requires neighbor style 'bin' or 'nsq'"); + + // request an occasional full neighbor list + auto req = neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL); if (cutoff_flag) req->set_cutoff(cutoff); diff --git a/src/EXTRA-COMPUTE/compute_rattlers_atom.cpp b/src/EXTRA-COMPUTE/compute_rattlers_atom.cpp index 9dacf14171..5f707d8433 100644 --- a/src/EXTRA-COMPUTE/compute_rattlers_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_rattlers_atom.cpp @@ -29,7 +29,6 @@ #include "pair.h" #include "update.h" -#include #include using namespace LAMMPS_NS; diff --git a/src/EXTRA-COMPUTE/compute_slcsa_atom.cpp b/src/EXTRA-COMPUTE/compute_slcsa_atom.cpp index 6c272938b6..e0b34b8ff1 100644 --- a/src/EXTRA-COMPUTE/compute_slcsa_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_slcsa_atom.cpp @@ -22,12 +22,9 @@ #include "citeme.h" #include "comm.h" #include "error.h" -#include "force.h" #include "memory.h" #include "modify.h" #include "neigh_list.h" -#include "neighbor.h" -#include "pair.h" #include "potential_file_reader.h" #include "update.h" diff --git a/src/EXTRA-COMPUTE/compute_stress_mop.cpp b/src/EXTRA-COMPUTE/compute_stress_mop.cpp index ee8f5e554a..b8d21d2a4f 100644 --- a/src/EXTRA-COMPUTE/compute_stress_mop.cpp +++ b/src/EXTRA-COMPUTE/compute_stress_mop.cpp @@ -89,7 +89,7 @@ ComputeStressMop::ComputeStressMop(LAMMPS *lmp, int narg, char **arg) : Compute( error->all(FLERR, "Plane for compute stress/mop is out of bounds"); } - if (pos < (domain->boxlo[dir] + domain->prd_half[dir])) { + if (pos < (domain->boxlo[dir] + domain->prd_half[dir])) { pos1 = pos + domain->prd[dir]; } else { pos1 = pos - domain->prd[dir]; @@ -146,14 +146,14 @@ ComputeStressMop::ComputeStressMop(LAMMPS *lmp, int narg, char **arg) : Compute( // Error checks: - // 3D only - - if (domain->dimension != 3) error->all(FLERR, "Compute stress/mop requires a 3d system"); - // orthogonal simulation box if (domain->triclinic != 0) error->all(FLERR, "Compute stress/mop is incompatible with triclinic simulation box"); + // 2D and pressure calculation in the Z coordinate + if (domain->dimension == 2 && dir == Z) + error->all(FLERR, "Compute stress/mop is incompatible with Z in 2d system"); + // Initialize some variables values_local = values_global = vector = nullptr; @@ -210,10 +210,14 @@ void ComputeStressMop::init() // Plane area - area = 1; - int i; - for (i = 0; i < 3; i++) { - if (i != dir) area = area * domain->prd[i]; + if (domain->dimension == 3) { + area = 1; + int i; + for (i = 0; i < 3; i++) { + if (i != dir) area = area * domain->prd[i]; + } + } else { + area = (dir == X) ? domain->prd[1] : domain->prd[0]; } // Timestep Value @@ -404,6 +408,7 @@ void ComputeStressMop::compute_pairs() xj[0] = atom->x[j][0]; xj[1] = atom->x[j][1]; xj[2] = atom->x[j][2]; + delx = xi[0] - xj[0]; dely = xi[1] - xj[1]; delz = xi[2] - xj[2]; @@ -420,7 +425,7 @@ void ComputeStressMop::compute_pairs() values_local[m + 1] += fpair * (xi[1] - xj[1]) / area * nktv2p; values_local[m + 2] += fpair * (xi[2] - xj[2]) / area * nktv2p; } else if (((xi[dir] < pos) && (xj[dir] > pos)) || - ((xi[dir] < pos1) && (xj[dir] > pos1))) { + ((xi[dir] < pos1) && (xj[dir] > pos1))) { pair->single(i, j, itype, jtype, rsq, factor_coul, factor_lj, fpair); values_local[m] -= fpair * (xi[0] - xj[0]) / area * nktv2p; values_local[m + 1] -= fpair * (xi[1] - xj[1]) / area * nktv2p; diff --git a/src/EXTRA-COMPUTE/compute_stress_mop_profile.cpp b/src/EXTRA-COMPUTE/compute_stress_mop_profile.cpp index 676b0f5796..ca2d095fd9 100644 --- a/src/EXTRA-COMPUTE/compute_stress_mop_profile.cpp +++ b/src/EXTRA-COMPUTE/compute_stress_mop_profile.cpp @@ -133,8 +133,8 @@ ComputeStressMopProfile::ComputeStressMopProfile(LAMMPS *lmp, int narg, char **a // 3D only - if (domain->dimension < 3) - error->all(FLERR, "Compute stress/mop/profile incompatible with simulation dimension"); + if (domain->dimension == 2 && dir == Z) + error->all(FLERR, "Compute stress/mop/profile incompatible with Z in 2d system"); // orthogonal simulation box @@ -198,11 +198,14 @@ void ComputeStressMopProfile::init() ftm2v = force->ftm2v; // plane area - - area = 1; - int i; - for (i = 0; i < 3; i++) { - if (i != dir) area = area * domain->prd[i]; + if (domain->dimension == 3) { + area = 1; + int i; + for (i = 0; i < 3; i++) { + if (i != dir) area = area * domain->prd[i]; + } + } else { + area = (dir == X) ? domain->prd[1] : domain->prd[0]; } // timestep Value diff --git a/src/EXTRA-DUMP/dump_xtc.cpp b/src/EXTRA-DUMP/dump_xtc.cpp index 798bdcb391..3119a470dc 100644 --- a/src/EXTRA-DUMP/dump_xtc.cpp +++ b/src/EXTRA-DUMP/dump_xtc.cpp @@ -14,7 +14,7 @@ /* ---------------------------------------------------------------------- Contributing authors: Naveen Michaud-Agrawal (Johns Hopkins U) - open-source XDR routines from + Open Source XDR based I/O routines from Frans van Hoesel (https://www.rug.nl/staff/f.h.j.van.hoesel/) are included in this file Axel Kohlmeyer (Temple U) @@ -35,27 +35,29 @@ #include "output.h" #include "update.h" +#include "xdr_compat.h" + #include #include #include using namespace LAMMPS_NS; -#define EPS 1e-5 -#define XTC_MAGIC 1995 +static constexpr double EPS = 1.0e-5; +static constexpr int XTC_MAGIC = 1995; #define MYMIN(a,b) ((a) < (b) ? (a) : (b)) #define MYMAX(a,b) ((a) > (b) ? (a) : (b)) -int xdropen(XDR *, const char *, const char *); -int xdrclose(XDR *); -void xdrfreebuf(); -int xdr3dfcoord(XDR *, float *, int *, float *); +static int xdropen(XDR *, const char *, const char *); +static int xdrclose(XDR *); +static void xdrfreebuf(); +static int xdr3dfcoord(XDR *, float *, int *, float *); /* ---------------------------------------------------------------------- */ -DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg), - coords(nullptr) +DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg) + : Dump(lmp, narg, arg), coords(nullptr), xd(nullptr) { if (narg != 5) error->all(FLERR,"Illegal dump xtc command"); if (binary || compressed || multifile || multiproc) @@ -68,6 +70,7 @@ DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg), flush_flag = 0; unwrap_flag = 0; precision = 1000.0; + xd = new XDR; // allocate global array for atom coords @@ -105,9 +108,10 @@ DumpXTC::~DumpXTC() memory->destroy(coords); if (me == 0) { - xdrclose(&xd); + xdrclose(xd); xdrfreebuf(); } + delete xd; } /* ---------------------------------------------------------------------- */ @@ -150,7 +154,8 @@ void DumpXTC::openfile() fp = nullptr; if (me == 0) - if (xdropen(&xd,filename,"w") == 0) error->one(FLERR,"Cannot open dump file"); + if (xdropen(xd,filename,"w") == 0) + error->one(FLERR,"Cannot open XTC format dump file {}: {}", filename, utils::getsyserror()); } /* ---------------------------------------------------------------------- */ @@ -176,11 +181,11 @@ void DumpXTC::write_header(bigint nbig) if (me != 0) return; int tmp = XTC_MAGIC; - xdr_int(&xd,&tmp); - xdr_int(&xd,&n); - xdr_int(&xd,&ntimestep); + xdr_int(xd,&tmp); + xdr_int(xd,&n); + xdr_int(xd,&ntimestep); float time_value = ntimestep * tfactor * update->dt; - xdr_float(&xd,&time_value); + xdr_float(xd,&time_value); // cell basis vectors if (domain->triclinic) { @@ -192,18 +197,18 @@ void DumpXTC::write_header(bigint nbig) float xz = sfactor * domain->xz; float yz = sfactor * domain->yz; - xdr_float(&xd,&xdim); xdr_float(&xd,&zero); xdr_float(&xd,&zero); - xdr_float(&xd,&xy ); xdr_float(&xd,&ydim); xdr_float(&xd,&zero); - xdr_float(&xd,&xz ); xdr_float(&xd,&yz ); xdr_float(&xd,&zdim); + xdr_float(xd,&xdim); xdr_float(xd,&zero); xdr_float(xd,&zero); + xdr_float(xd,&xy ); xdr_float(xd,&ydim); xdr_float(xd,&zero); + xdr_float(xd,&xz ); xdr_float(xd,&yz ); xdr_float(xd,&zdim); } else { float zero = 0.0; float xdim = sfactor * (domain->boxhi[0] - domain->boxlo[0]); float ydim = sfactor * (domain->boxhi[1] - domain->boxlo[1]); float zdim = sfactor * (domain->boxhi[2] - domain->boxlo[2]); - xdr_float(&xd,&xdim); xdr_float(&xd,&zero); xdr_float(&xd,&zero); - xdr_float(&xd,&zero); xdr_float(&xd,&ydim); xdr_float(&xd,&zero); - xdr_float(&xd,&zero); xdr_float(&xd,&zero); xdr_float(&xd,&zdim); + xdr_float(xd,&xdim); xdr_float(xd,&zero); xdr_float(xd,&zero); + xdr_float(xd,&zero); xdr_float(xd,&ydim); xdr_float(xd,&zero); + xdr_float(xd,&zero); xdr_float(xd,&zero); xdr_float(xd,&zdim); } } @@ -328,7 +333,7 @@ double DumpXTC::memory_usage() void DumpXTC::write_frame() { - xdr3dfcoord(&xd,coords,&natoms,&precision); + xdr3dfcoord(xd,coords,&natoms,&precision); } // ---------------------------------------------------------------------- @@ -406,7 +411,7 @@ static int magicints[] = { | | xdropen - open xdr file | - | This versions differs from xdrstdio_create, because I need to know + | This version differs from xdrstdio_create, because I need to know | the state of the file (read or write) so I can use xdr3dfcoord | in eigther read or write mode, and the file descriptor | so I can close the file (something xdr_destroy doesn't do). @@ -1048,7 +1053,7 @@ int xdr3dfcoord(XDR *xdrs, float *fp, int *size, float *precision) } if (buf[1] != 0) buf[0]++; xdr_int(xdrs, &(buf[0])); /* buf[0] holds the length in bytes */ - return errval * (xdr_opaque(xdrs, (caddr_t)&(buf[3]), (u_int)buf[0])); + return errval * (xdr_opaque(xdrs, (char *)&(buf[3]), (unsigned int)buf[0])); } else { /* xdrs is open for reading */ @@ -1129,7 +1134,7 @@ int xdr3dfcoord(XDR *xdrs, float *fp, int *size, float *precision) if (xdr_int(xdrs, &(buf[0])) == 0) return 0; - if (xdr_opaque(xdrs, (caddr_t)&(buf[3]), (u_int)buf[0]) == 0) + if (xdr_opaque(xdrs, (char *)&(buf[3]), (unsigned int)buf[0]) == 0) return 0; buf[0] = buf[1] = buf[2] = 0; diff --git a/src/EXTRA-DUMP/dump_xtc.h b/src/EXTRA-DUMP/dump_xtc.h index 74147be06b..0a27cc67dd 100644 --- a/src/EXTRA-DUMP/dump_xtc.h +++ b/src/EXTRA-DUMP/dump_xtc.h @@ -21,8 +21,8 @@ DumpStyle(xtc,DumpXTC); #define LMP_DUMP_XTC_H #include "dump.h" -#include "xdr_compat.h" +struct XDR; namespace LAMMPS_NS { class DumpXTC : public Dump { @@ -37,7 +37,7 @@ class DumpXTC : public Dump { float precision; // user-adjustable precision setting float *coords; double sfactor, tfactor; // scaling factors for positions and time unit - XDR xd; + XDR *xd; void init_style() override; int modify_param(int, char **) override; diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index e29bbe8334..3caa38663c 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -1,54 +1,63 @@ -// clang-format off #include "xdr_compat.h" + #include #include -/* This file is needed for systems, that do not provide XDR support - * in their system libraries. It was written for windows, but will - * most probably work on other platforms too. better make sure you - * test that the xtc files produced are ok before using it. +/* + * This file contains an implementation of the Sun External Data Representation (XDR) + * routines. They have been adapted specifically for the use with the LAMMPS xtc dump + * style to produce compressed trajectory files in the Gromacs XTC format. * - * It is also needed on BG/L and Cray XT3/XT4 as we don't have - * XDR support in the lightweight kernel runtimes either. + * The XDR sources are avaiable under the BSD 3-clause license for example in + * the MIT Kerberos 5 distribution with the following copyright notice and license. * - * This file contains the definitions for Sun External Data - * Representation (XDR) headers and routines. + * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC * - * Although the rest of LAMPPS is GPL, you can copy and use the XDR - * routines in any way you want as long as you obey Sun's license: + * Copyright (c) 2010, Oracle America, Inc. * - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. + * All rights reserved. * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. + * * Neither the name of the "Oracle America, Inc." nor the names of + * its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifdef __cplusplus extern "C" { #endif +#ifndef FALSE +#define FALSE (0) +#endif +#ifndef TRUE +#define TRUE (1) +#endif + +#define BYTES_PER_XDR_UNIT (4) + /* * for unit alignment */ @@ -58,19 +67,18 @@ static xdr_uint32_t xdr_swapbytes(xdr_uint32_t x) { xdr_uint32_t y; int i; - char *px=(char *)&x; - char *py=(char *)&y; + char *px = (char *) &x; + char *py = (char *) &y; - for (i=0;i<4;i++) - py[i]=px[3-i]; + for (i = 0; i < 4; i++) py[i] = px[3 - i]; return y; } static xdr_uint32_t xdr_htonl(xdr_uint32_t x) { - short s=0x0F00; - if (*((char *)&s)==(char)0x0F) { + short s = 0x0F00; + if (*((char *) &s) == (char) 0x0F) { /* bigendian, do nothing */ return x; } else { @@ -81,8 +89,8 @@ static xdr_uint32_t xdr_htonl(xdr_uint32_t x) static xdr_uint32_t xdr_ntohl(xdr_uint32_t x) { - short s=0x0F00; - if (*((char *)&s)==(char)0x0F) { + short s = 0x0F00; + if (*((char *) &s) == (char) 0x0F) { /* bigendian, do nothing */ return x; } else { @@ -91,221 +99,39 @@ static xdr_uint32_t xdr_ntohl(xdr_uint32_t x) } } - -/* - * Free a data structure using XDR - * Not a filter, but a convenient utility nonetheless - */ -void -xdr_free (xdrproc_t proc, char *objp) -{ - XDR x; - - x.x_op = XDR_FREE; - (*proc) (&x, objp); -} - -/* - * XDR nothing - */ -bool_t -xdr_void (void) -{ - return TRUE; -} - /* * XDR integers */ -bool_t -xdr_int (XDR *xdrs, int *ip) +bool_t xdr_int(XDR *xdrs, int *ip) { xdr_int32_t l; - switch (xdrs->x_op) - { + switch (xdrs->x_op) { + case XDR_ENCODE: l = (xdr_int32_t) (*ip); - return xdr_putint32 (xdrs, &l); + return xdr_putint32(xdrs, &l); + break; case XDR_DECODE: - if (!xdr_getint32 (xdrs, &l)) - { - return FALSE; - } + if (!xdr_getint32(xdrs, &l)) return FALSE; *ip = (int) l; + return TRUE; + break; case XDR_FREE: return TRUE; + break; } return FALSE; } - -/* - * XDR unsigned integers - */ -bool_t -xdr_u_int (XDR *xdrs, unsigned int *up) -{ - xdr_uint32_t l; - - switch (xdrs->x_op) - { - case XDR_ENCODE: - l = (xdr_uint32_t) (*up); - return xdr_putuint32 (xdrs, &l); - - case XDR_DECODE: - if (!xdr_getuint32 (xdrs, &l)) - { - return FALSE; - } - *up = (unsigned int) l; - - case XDR_FREE: - return TRUE; - } - return FALSE; -} - - - - -/* - * XDR short integers - */ -bool_t -xdr_short (XDR *xdrs, short *sp) -{ - xdr_int32_t l; - - switch (xdrs->x_op) - { - case XDR_ENCODE: - l = (xdr_int32_t) *sp; - return xdr_putint32 (xdrs, &l); - - case XDR_DECODE: - if (!xdr_getint32 (xdrs, &l)) - { - return FALSE; - } - *sp = (short) l; - return TRUE; - - case XDR_FREE: - return TRUE; - } - return FALSE; -} - - -/* - * XDR unsigned short integers - */ -bool_t -xdr_u_short (XDR *xdrs, unsigned short *usp) -{ - xdr_uint32_t l; - - switch (xdrs->x_op) - { - case XDR_ENCODE: - l = (xdr_uint32_t) *usp; - return xdr_putuint32 (xdrs, &l); - - case XDR_DECODE: - if (!xdr_getuint32 (xdrs, &l)) - { - return FALSE; - } - *usp = (unsigned short) l; - return TRUE; - - case XDR_FREE: - return TRUE; - } - return FALSE; -} - - -/* - * XDR a char - */ -bool_t -xdr_char (XDR *xdrs, char *cp) -{ - int i; - - i = (*cp); - if (!xdr_int (xdrs, &i)) - { - return FALSE; - } - *cp = i; - return TRUE; -} - -/* - * XDR an unsigned char - */ -bool_t -xdr_u_char (XDR *xdrs, unsigned char *cp) -{ - unsigned int u; - - u = (*cp); - if (!xdr_u_int (xdrs, &u)) - { - return FALSE; - } - *cp = u; - return TRUE; -} - -/* - * XDR booleans - */ -bool_t -xdr_bool (XDR *xdrs, int *bp) -{ -#define XDR_FALSE ((xdr_int32_t) 0) -#define XDR_TRUE ((xdr_int32_t) 1) - - xdr_int32_t lb; - - switch (xdrs->x_op) - { - case XDR_ENCODE: - lb = *bp ? XDR_TRUE : XDR_FALSE; - return xdr_putint32 (xdrs, &lb); - - case XDR_DECODE: - if (!xdr_getint32 (xdrs, &lb)) - { - return FALSE; - } - *bp = (lb == XDR_FALSE) ? FALSE : TRUE; - return TRUE; - - case XDR_FREE: - return TRUE; - } - return FALSE; -#undef XDR_FALSE -#undef XDR_TRUE -} - - - /* * XDR opaque data * Allows the specification of a fixed size sequence of opaque bytes. * cp points to the opaque object and cnt gives the byte length. */ -bool_t -xdr_opaque (XDR *xdrs, char *cp, unsigned int cnt) +bool_t xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) { unsigned int rndup; static char crud[BYTES_PER_XDR_UNIT]; @@ -313,219 +139,61 @@ xdr_opaque (XDR *xdrs, char *cp, unsigned int cnt) /* * if no data we are done */ - if (cnt == 0) - return TRUE; + if (cnt == 0) return TRUE; /* * round byte count to full xdr units */ rndup = cnt % BYTES_PER_XDR_UNIT; - if (rndup > 0) - rndup = BYTES_PER_XDR_UNIT - rndup; - - switch (xdrs->x_op) - { - case XDR_DECODE: - if (!xdr_getbytes (xdrs, cp, cnt)) - { - return FALSE; - } - if (rndup == 0) - return TRUE; - return xdr_getbytes (xdrs, (char *)crud, rndup); - - case XDR_ENCODE: - if (!xdr_putbytes (xdrs, cp, cnt)) - { - return FALSE; - } - if (rndup == 0) - return TRUE; - return xdr_putbytes (xdrs, xdr_zero, rndup); - - case XDR_FREE: - return TRUE; - } - return FALSE; -} - - -/* - * XDR null terminated ASCII strings - * xdr_string deals with "C strings" - arrays of bytes that are - * terminated by a nullptr character. The parameter cpp references a - * pointer to storage; If the pointer is null, then the necessary - * storage is allocated. The last parameter is the max allowed length - * of the string as specified by a protocol. - */ -bool_t -xdr_string (XDR *xdrs, char **cpp, unsigned int maxsize) -{ - char *sp = *cpp; /* sp is the actual string pointer */ - unsigned int size = 0; - unsigned int nodesize = 0; - - /* - * first deal with the length since xdr strings are counted-strings - */ - switch (xdrs->x_op) - { - case XDR_FREE: - if (sp == nullptr) - { - return TRUE; /* already free */ - } - /* fall through... */ - case XDR_ENCODE: - if (sp == nullptr) - return FALSE; - size = strlen (sp); - break; - case XDR_DECODE: - break; - } - - if (!xdr_u_int (xdrs, &size)) - { - return FALSE; - } - if (size > maxsize) - { - return FALSE; - } - nodesize = size + 1; - - /* - * now deal with the actual bytes - */ - switch (xdrs->x_op) - { - case XDR_DECODE: - if (nodesize == 0) - { - return TRUE; - } - if (sp == nullptr) - *cpp = sp = (char *) malloc (nodesize); - if (sp == nullptr) - { - (void) fputs ("xdr_string: out of memory\n", stderr); - return FALSE; - } - sp[size] = 0; - /* fall into ... */ - - case XDR_ENCODE: - return xdr_opaque (xdrs, sp, size); - - case XDR_FREE: - free (sp); - *cpp = nullptr; - return TRUE; - } - return FALSE; -} - - - -/* Floating-point stuff */ - -bool_t -xdr_float(XDR *xdrs, float *fp) -{ - xdr_int32_t tmp; - - switch (xdrs->x_op) { - - case XDR_ENCODE: - tmp = *(xdr_int32_t *)fp; - return (xdr_putint32(xdrs, &tmp)); - - break; - - case XDR_DECODE: - if (xdr_getint32(xdrs, &tmp)) { - *(xdr_int32_t *)fp = tmp; - return (TRUE); - } - - break; - - case XDR_FREE: - return (TRUE); - } - return (FALSE); -} - - -bool_t -xdr_double(XDR *xdrs, double *dp) -{ - - /* Windows and some other systems dont define double-precision - * word order in the header files, so unfortunately we have - * to calculate it! - */ - static int LSW=-1; /* Least significant fp word */ - int *ip; - xdr_int32_t tmp[2]; - - if (LSW<0) { - double x=0.987654321; /* Just a number */ - - /* Possible representations in IEEE double precision: - * (S=small endian, B=big endian) - * - * Byte order, Word order, Hex - * S S b8 56 0e 3c dd 9a ef 3f - * B S 3c 0e 56 b8 3f ef 9a dd - * S B dd 9a ef 3f b8 56 0e 3c - * B B 3f ef 9a dd 3c 0e 56 b8 - */ - - unsigned char ix = *((char *)&x); - - if (ix==0xdd || ix==0x3f) - LSW=1; /* Big endian word order */ - else if (ix==0xb8 || ix==0x3c) - LSW=0; /* Small endian word order */ - else { /* Catch strange errors */ - printf("Error when detecting floating-point word order.\n" - "Do you have a non-IEEE system?\n" - "If possible, use the XDR libraries provided with your system,\n" - "instead of the Gromacs fallback XDR source.\n"); - exit(0); - } - } + if (rndup > 0) rndup = BYTES_PER_XDR_UNIT - rndup; switch (xdrs->x_op) { - case XDR_ENCODE: - ip = (int *)dp; - tmp[0] = ip[!LSW]; - tmp[1] = ip[LSW]; - return (xdr_putint32(xdrs, tmp) && - xdr_putint32(xdrs, tmp+1)); + case XDR_DECODE: + if (!xdr_getbytes(xdrs, cp, cnt)) { return FALSE; } + if (rndup == 0) return TRUE; + return xdr_getbytes(xdrs, (char *) crud, rndup); + break; - break; + case XDR_ENCODE: + if (!xdr_putbytes(xdrs, cp, cnt)) { return FALSE; } + if (rndup == 0) return TRUE; + return xdr_putbytes(xdrs, xdr_zero, rndup); + break; - case XDR_DECODE: - ip = (int *)dp; - if (xdr_getint32(xdrs, tmp+!LSW) && - xdr_getint32(xdrs, tmp+LSW)) { - ip[0] = tmp[0]; - ip[1] = tmp[1]; - return (TRUE); - } - - break; - - case XDR_FREE: - return (TRUE); + case XDR_FREE: + return TRUE; + break; } - return (FALSE); + return FALSE; } +/* Floating-point stuff */ + +bool_t xdr_float(XDR *xdrs, float *fp) +{ + xdr_int32_t tmp; + + switch (xdrs->x_op) { + + case XDR_ENCODE: + tmp = *(xdr_int32_t *) fp; + return (xdr_putint32(xdrs, &tmp)); + break; + + case XDR_DECODE: + if (xdr_getint32(xdrs, &tmp)) { + *(xdr_int32_t *) fp = tmp; + return TRUE; + } + break; + + case XDR_FREE: + return TRUE; + break; + } + return FALSE; +} /* Array routines */ @@ -539,55 +207,37 @@ xdr_double(XDR *xdrs, double *dp) * > elemsize: size of each element * > xdr_elem: routine to XDR each element */ -bool_t -xdr_vector (XDR *xdrs, char *basep, unsigned int nelem, - unsigned int elemsize, xdrproc_t xdr_elem) +bool_t xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, unsigned int elemsize, + xdrproc_t xdr_elem) { -#define LASTUNSIGNED ((unsigned int)0-1) +#define LASTUNSIGNED ((unsigned int) 0 - 1) unsigned int i; char *elptr; elptr = basep; - for (i = 0; i < nelem; i++) - { - if (!(*xdr_elem) (xdrs, elptr, LASTUNSIGNED)) - { - return FALSE; - } - elptr += elemsize; - } + for (i = 0; i < nelem; i++) { + if (!(*xdr_elem)(xdrs, elptr, LASTUNSIGNED)) { return FALSE; } + elptr += elemsize; + } return TRUE; #undef LASTUNSIGNED } - - -static bool_t xdrstdio_getbytes (XDR *, char *, unsigned int); -static bool_t xdrstdio_putbytes (XDR *, char *, unsigned int); -static unsigned int xdrstdio_getpos (XDR *); -static bool_t xdrstdio_setpos (XDR *, unsigned int); -static xdr_int32_t *xdrstdio_inline (XDR *, int); -static void xdrstdio_destroy (XDR *); -static bool_t xdrstdio_getint32 (XDR *, xdr_int32_t *); -static bool_t xdrstdio_putint32 (XDR *, xdr_int32_t *); -static bool_t xdrstdio_getuint32 (XDR *, xdr_uint32_t *); -static bool_t xdrstdio_putuint32 (XDR *, xdr_uint32_t *); +static bool_t xdrstdio_getbytes(XDR *, char *, unsigned int); +static bool_t xdrstdio_putbytes(XDR *, char *, unsigned int); +static void xdrstdio_destroy(XDR *); +static bool_t xdrstdio_getint32(XDR *, xdr_int32_t *); +static bool_t xdrstdio_putint32(XDR *, xdr_int32_t *); /* * Ops vector for stdio type XDR */ -static const struct xdr_ops xdrstdio_ops = -{ - xdrstdio_getbytes, /* deserialize counted bytes */ - xdrstdio_putbytes, /* serialize counted bytes */ - xdrstdio_getpos, /* get offset in the stream */ - xdrstdio_setpos, /* set offset in the stream */ - xdrstdio_inline, /* prime stream for inline macros */ - xdrstdio_destroy, /* destroy stream */ - xdrstdio_getint32, /* deserialize a int */ - xdrstdio_putint32, /* serialize a int */ - xdrstdio_getuint32, /* deserialize a int */ - xdrstdio_putuint32 /* serialize a int */ +static const struct xdr_ops xdrstdio_ops = { + xdrstdio_getbytes, /* deserialize counted bytes */ + xdrstdio_putbytes, /* serialize counted bytes */ + xdrstdio_destroy, /* destroy stream */ + xdrstdio_getint32, /* deserialize a int */ + xdrstdio_putint32, /* serialize a int */ }; /* @@ -595,8 +245,7 @@ static const struct xdr_ops xdrstdio_ops = * Sets the xdr stream handle xdrs for use on the stream file. * Operation flag is set to op. */ -void -xdrstdio_create (XDR *xdrs, FILE *file, enum xdr_op op) +void xdrstdio_create(XDR *xdrs, FILE *file, enum xdr_op op) { xdrs->x_op = op; /* We have to add the const since the `struct xdr_ops' in `struct XDR' @@ -611,104 +260,42 @@ xdrstdio_create (XDR *xdrs, FILE *file, enum xdr_op op) * Destroy a stdio xdr stream. * Cleans up the xdr stream handle xdrs previously set up by xdrstdio_create. */ -static void -xdrstdio_destroy (XDR *xdrs) +static void xdrstdio_destroy(XDR *xdrs) { - (void) fflush ((FILE *) xdrs->x_private); + (void) fflush((FILE *) xdrs->x_private); /* xx should we close the file ?? */ } - -static bool_t -xdrstdio_getbytes (XDR *xdrs, char *addr, unsigned int len) +static bool_t xdrstdio_getbytes(XDR *xdrs, char *addr, unsigned int len) { - if ((len != 0) && (fread (addr, (int) len, 1, - (FILE *) xdrs->x_private) != 1)) - return FALSE; + if ((len != 0) && (fread(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) return FALSE; return TRUE; } -static bool_t -xdrstdio_putbytes (XDR *xdrs, char *addr, unsigned int len) +static bool_t xdrstdio_putbytes(XDR *xdrs, char *addr, unsigned int len) { - if ((len != 0) && (fwrite (addr, (int) len, 1, - (FILE *) xdrs->x_private) != 1)) - return FALSE; + if ((len != 0) && (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) return FALSE; return TRUE; } -static unsigned int -xdrstdio_getpos (XDR *xdrs) -{ - return (unsigned int) ftell ((FILE *) xdrs->x_private); -} - -static bool_t -xdrstdio_setpos (XDR *xdrs, unsigned int pos) -{ - return fseek ((FILE *) xdrs->x_private, (xdr_int32_t) pos, 0) < 0 ? FALSE : TRUE; -} - -static xdr_int32_t * -xdrstdio_inline (XDR * /*xdrs*/, int /*len*/) -{ - /* - * Must do some work to implement this: must ensure - * enough data in the underlying stdio buffer, - * that the buffer is aligned so that we can indirect through a - * long *, and stuff this pointer in xdrs->x_buf. Doing - * a fread or fwrite to a scratch buffer would defeat - * most of the gains to be had here and require storage - * management on this buffer, so we don't do this. - */ - return nullptr; -} - -static bool_t -xdrstdio_getint32 (XDR *xdrs, xdr_int32_t *ip) +static bool_t xdrstdio_getint32(XDR *xdrs, xdr_int32_t *ip) { xdr_int32_t mycopy; - if (fread ((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) - return FALSE; - *ip = xdr_ntohl (mycopy); + if (fread((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; + *ip = xdr_ntohl(mycopy); return TRUE; } -static bool_t -xdrstdio_putint32 (XDR *xdrs, xdr_int32_t *ip) +static bool_t xdrstdio_putint32(XDR *xdrs, xdr_int32_t *ip) { - xdr_int32_t mycopy = xdr_htonl (*ip); + xdr_int32_t mycopy = xdr_htonl(*ip); ip = &mycopy; - if (fwrite ((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) - return FALSE; + if (fwrite((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; return TRUE; } -static bool_t -xdrstdio_getuint32 (XDR *xdrs, xdr_uint32_t *ip) -{ - xdr_uint32_t mycopy; - - if (fread ((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) - return FALSE; - *ip = xdr_ntohl (mycopy); - return TRUE; -} - -static bool_t -xdrstdio_putuint32 (XDR *xdrs, xdr_uint32_t *ip) -{ - xdr_uint32_t mycopy = xdr_htonl (*ip); - - ip = &mycopy; - if (fwrite ((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) - return FALSE; - return TRUE; -} - #ifdef __cplusplus } #endif - diff --git a/src/EXTRA-DUMP/xdr_compat.h b/src/EXTRA-DUMP/xdr_compat.h index 55dc22e9f9..d600a4a404 100644 --- a/src/EXTRA-DUMP/xdr_compat.h +++ b/src/EXTRA-DUMP/xdr_compat.h @@ -1,7 +1,7 @@ #ifndef LMP_XDR_COMPAT_H #define LMP_XDR_COMPAT_H -#include +#include #include #ifdef __cplusplus @@ -9,47 +9,53 @@ extern "C" { #endif /* - * This file is needed for systems, that do not provide XDR support - * in their system libraries. It was written for windows, but will - * most probably work on other platforms too. better make sure you - * test that the xtc files produced are ok before using it. + * This file contains the definitions for Sun External Data Representation (XDR). + * They have been adapted specifically for the use with the LAMMPS xtc dump style + * to produce compressed trajectory files in the Gromacs XTC format. * - * It is also needed on BG/L, BG/P and Cray XT3/XT4/XT5 as we don't - * have XDR support in the lightweight kernel runtimes either. + * The XDR sources are avaiable under the BSD 3-clause license for example in + * the MIT Kerberos 5 distribution with the following copyright notice and license. * - * This file contains the definitions for Sun External Data - * Representation (XDR) headers and routines. + * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC * - * Although the rest of LAMPPS is GPL, you can copy and use the XDR - * routines in any way you want as long as you obey Sun's license: - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. + * Copyright (c) 2010, Oracle America, Inc. * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. + * All rights reserved. * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * * Neither the name of the "Oracle America, Inc." nor the names of + * its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* compatibility typedefs */ +typedef int bool_t; + +typedef int32_t xdr_int32_t; +typedef uint32_t xdr_uint32_t; + /* * Xdr operations. XDR_ENCODE causes the type to be encoded into the * stream. XDR_DECODE causes the type to be extracted from the stream. @@ -57,44 +63,8 @@ extern "C" { * XDR_DECODE request. */ -typedef int bool_t; - -#if defined(_WIN32) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || \ - defined(__OpenBSD__) || defined(__NetBSD__) || (defined(__linux__) && !defined(__GLIBC_MINOR__)) -typedef char *caddr_t; -typedef unsigned int u_int; -#endif - -/* - * Aninteger type that is 32 bits wide. Check if int, - * long or short is 32 bits and die if none of them is :-) - */ -#if (INT_MAX == 2147483647) -typedef int xdr_int32_t; -typedef unsigned int xdr_uint32_t; -#elif (LONG_MAX == 2147483647L) -typedef long xdr_int32_t; -typedef unsigned long xdr_uint32_t; -#elif (SHRT_MAX == 2147483647) -typedef short xdr_int32_t; -typedef unsigned short xdr_uint32_t; -#else -#error ERROR: No 32 bit wide integer type found! -#endif - enum xdr_op { XDR_ENCODE = 0, XDR_DECODE = 1, XDR_FREE = 2 }; -#ifndef FALSE -#define FALSE (0) -#endif -#ifndef TRUE -#define TRUE (1) -#endif - -#define BYTES_PER_XDR_UNIT (4) -/* Macro to round up to units of 4. */ -#define XDR_RNDUP(x) (((x) + BYTES_PER_XDR_UNIT - 1) & ~(BYTES_PER_XDR_UNIT - 1)) - /* * The XDR handle. * Contains operation which is being applied to the stream, @@ -113,26 +83,16 @@ struct XDR { }; struct xdr_ops { + /* get some bytes from XDR stream */ bool_t (*x_getbytes)(XDR *__xdrs, char *__addr, unsigned int __len); - /* get some bytes from " */ + /* put some bytes to XDR stream */ bool_t (*x_putbytes)(XDR *__xdrs, char *__addr, unsigned int __len); - /* put some bytes to " */ - unsigned int (*x_getpostn)(XDR *__xdrs); - /* returns bytes off from beginning */ - bool_t (*x_setpostn)(XDR *__xdrs, unsigned int __pos); - /* lets you reposition the stream */ - xdr_int32_t *(*x_inline)(XDR *__xdrs, int __len); - /* buf quick ptr to buffered data */ - void (*x_destroy)(XDR *__xdrs); /* free privates of this xdr_stream */ + void (*x_destroy)(XDR *__xdrs); + /* get a int from XDR stream */ bool_t (*x_getint32)(XDR *__xdrs, xdr_int32_t *__ip); - /* get a int from underlying stream */ + /* put a int to XDR stream */ bool_t (*x_putint32)(XDR *__xdrs, xdr_int32_t *__ip); - /* put a int to " */ - bool_t (*x_getuint32)(XDR *__xdrs, xdr_uint32_t *__ip); - /* get a unsigned int from underlying stream */ - bool_t (*x_putuint32)(XDR *__xdrs, xdr_uint32_t *__ip); - /* put a int to " */ }; /* @@ -151,53 +111,25 @@ typedef bool_t (*xdrproc_t)(XDR *, void *, ...); * * XDR *xdrs; * xdr_int32_t *int32p; - * long *longp; - * char *addr; * unsigned int len; - * unsigned int pos; */ #define xdr_getint32(xdrs, int32p) (*(xdrs)->x_ops->x_getint32)(xdrs, int32p) - #define xdr_putint32(xdrs, int32p) (*(xdrs)->x_ops->x_putint32)(xdrs, int32p) - -#define xdr_getuint32(xdrs, uint32p) (*(xdrs)->x_ops->x_getuint32)(xdrs, uint32p) - -#define xdr_putuint32(xdrs, uint32p) (*(xdrs)->x_ops->x_putuint32)(xdrs, uint32p) - #define xdr_getbytes(xdrs, addr, len) (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len) - #define xdr_putbytes(xdrs, addr, len) (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len) - -#define xdr_getpos(xdrs) (*(xdrs)->x_ops->x_getpostn)(xdrs) - -#define xdr_setpos(xdrs, pos) (*(xdrs)->x_ops->x_setpostn)(xdrs, pos) - -#define xdr_inline(xdrs, len) (*(xdrs)->x_ops->x_inline)(xdrs, len) - #define xdr_destroy(xdrs) \ do { \ if ((xdrs)->x_ops->x_destroy) (*(xdrs)->x_ops->x_destroy)(xdrs); \ } while (0) extern bool_t xdr_int(XDR *__xdrs, int *__ip); -extern bool_t xdr_u_int(XDR *__xdrs, unsigned int *__ip); -extern bool_t xdr_short(XDR *__xdrs, short *__ip); -extern bool_t xdr_u_short(XDR *__xdrs, unsigned short *__ip); -extern bool_t xdr_bool(XDR *__xdrs, int *__bp); extern bool_t xdr_opaque(XDR *__xdrs, char *__cp, unsigned int __cnt); -extern bool_t xdr_string(XDR *__xdrs, char **__cpp, unsigned int __maxsize); -extern bool_t xdr_char(XDR *__xdrs, char *__cp); -extern bool_t xdr_u_char(XDR *__xdrs, unsigned char *__cp); extern bool_t xdr_vector(XDR *__xdrs, char *__basep, unsigned int __nelem, unsigned int __elemsize, xdrproc_t __xdr_elem); extern bool_t xdr_float(XDR *__xdrs, float *__fp); -extern bool_t xdr_double(XDR *__xdrs, double *__dp); extern void xdrstdio_create(XDR *__xdrs, FILE *__file, enum xdr_op __xop); -/* free memory buffers for xdr */ -extern void xdr_free(xdrproc_t __proc, char *__objp); - #ifdef __cplusplus } #endif diff --git a/src/EXTRA-FIX/fix_ave_correlate_long.cpp b/src/EXTRA-FIX/fix_ave_correlate_long.cpp index fc1760b353..7c80365c57 100644 --- a/src/EXTRA-FIX/fix_ave_correlate_long.cpp +++ b/src/EXTRA-FIX/fix_ave_correlate_long.cpp @@ -454,6 +454,8 @@ void FixAveCorrelateLong::end_of_step() scalar = val.val.f->compute_vector(val.argindex-1); // evaluate equal-style or vector-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori } else if (val.which == ArgInfo::VARIABLE) { if (val.argindex == 0) @@ -462,7 +464,7 @@ void FixAveCorrelateLong::end_of_step() double *varvec; int nvec = input->variable->compute_vector(val.val.v,&varvec); int index = val.argindex; - if (nvec < index) scalar = 0.0; + if (index > nvec) scalar = 0.0; else scalar = varvec[index-1]; } } diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp new file mode 100644 index 0000000000..672f097c2d --- /dev/null +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -0,0 +1,991 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Joel Clemmer (SNL) +------------------------------------------------------------------------- */ + +#include "fix_deform_pressure.h" + +#include "comm.h" +#include "compute.h" +#include "domain.h" +#include "error.h" +#include "group.h" +#include "input.h" +#include "irregular.h" +#include "math_const.h" +#include "modify.h" +#include "update.h" +#include "variable.h" + +#include +#include + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +enum { NOCOUPLE = 0, XYZ, XY, YZ, XZ }; + +/* ---------------------------------------------------------------------- */ + +FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : + FixDeform(lmp, narg, arg), id_temp(nullptr), id_press(nullptr), temperature(nullptr), + pressure(nullptr) +{ + // set defaults + + set_extra = new SetExtra[7]; + memset(set_extra, 0, 7 * sizeof(SetExtra)); + memset(&set_box, 0, sizeof(Set)); + + // parse only parameter/style arguments specific to this child class + + int index, iarg; + std::size_t i = 0; + while (i < leftover_iarg.size()) { + iarg = leftover_iarg[i]; + if (strcmp(arg[iarg], "x") == 0 || + strcmp(arg[iarg], "y") == 0 || + strcmp(arg[iarg], "z") == 0) { + + if (strcmp(arg[iarg], "x") == 0) index = 0; + else if (strcmp(arg[iarg], "y") == 0) index = 1; + else if (strcmp(arg[iarg], "z") == 0) index = 2; + + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure", error); + if (strcmp(arg[iarg + 1], "pressure") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); + set[index].style = PRESSURE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { + set_extra[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + } else { + set_extra[index].pstr = utils::strdup(&arg[iarg + 2][2]); + set_extra[index].pvar_flag = 1; + } + set_extra[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + i += 4; + } else if (strcmp(arg[iarg + 1], "pressure/mean") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure/mean", error); + set[index].style = PMEAN; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { + set_extra[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + } else { + set_extra[index].pstr = utils::strdup(&arg[iarg + 2][2]); + set_extra[index].pvar_flag = 1; + } + set_extra[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + i += 4; + } else error->all(FLERR, "Illegal fix deform/pressure command argument: {}", arg[iarg + 1]); + + } else if (strcmp(arg[iarg], "xy") == 0 || + strcmp(arg[iarg], "xz") == 0 || + strcmp(arg[iarg], "yz") == 0) { + + if (strcmp(arg[iarg], "xy") == 0) index = 5; + else if (strcmp(arg[iarg], "xz") == 0) index = 4; + else if (strcmp(arg[iarg], "yz") == 0) index = 3; + + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure", error); + if (strcmp(arg[iarg + 1], "pressure") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); + set[index].style = PRESSURE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { + set_extra[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + } else { + set_extra[index].pstr = utils::strdup(&arg[iarg + 2][2]); + set_extra[index].pvar_flag = 1; + } + set_extra[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + i += 4; + } else if (strcmp(arg[iarg + 1], "erate/rescale") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure erate/rescale", error); + set[index].style = ERATERS; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + i += 3; + } else error->all(FLERR, "Illegal fix deform/pressure command: {}", arg[iarg + 1]); + + } else if (strcmp(arg[iarg], "box") == 0) { + if (strcmp(arg[iarg + 1], "volume") == 0) { + set_box.style = VOLUME; + i += 2; + } else if (strcmp(arg[iarg + 1], "pressure") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); + set_box.style = PRESSURE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { + set_extra[6].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + } else { + set_extra[6].pstr = utils::strdup(&arg[iarg + 2][2]); + set_extra[6].pvar_flag = 1; + } + set_extra[6].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + i += 4; + } else error->all(FLERR, "Illegal fix deform/pressure command argument: {}", arg[iarg + 1]); + } else break; + } + + // read options from end of input line + // shift arguments before reading + + iarg = iarg_options_start; + options(i, narg - iarg, &arg[iarg]); + + // repeat: setup dimflags used by other classes to check for volume-change conflicts + + for (int i = 0; i < 6; i++) + if (set[i].style == NONE) dimflag[i] = 0; + else dimflag[i] = 1; + + if (set_box.style != NONE) { + dimflag[0] = 1; + dimflag[1] = 1; + dimflag[2] = 1; + } + + if (dimflag[0]) box_change |= BOX_CHANGE_X; + if (dimflag[1]) box_change |= BOX_CHANGE_Y; + if (dimflag[2]) box_change |= BOX_CHANGE_Z; + if (dimflag[3]) box_change |= BOX_CHANGE_YZ; + if (dimflag[4]) box_change |= BOX_CHANGE_XZ; + if (dimflag[5]) box_change |= BOX_CHANGE_XY; + + // repeat: no tensile deformation on shrink-wrapped dims + // b/c shrink wrap will change box-length + + for (int i = 0; i < 3; i++) + if (set_box.style && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) + error->all(FLERR, "Cannot use fix deform/pressure on a shrink-wrapped boundary"); + + // repeat: no tilt deformation on shrink-wrapped 2nd dim + // b/c shrink wrap will change tilt factor in domain::reset_box() + + if (set[3].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) + error->all(FLERR, "Cannot use fix deform/pressure tilt on a shrink-wrapped 2nd dim"); + if (set[4].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) + error->all(FLERR, "Cannot use fix deform/pressure tilt on a shrink-wrapped 2nd dim"); + if (set[5].style && (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2)) + error->all(FLERR, "Cannot use fix deform/pressure tilt on a shrink-wrapped 2nd dim"); + + // for VOLUME, setup links to other dims + // fixed, dynamic1, dynamic2 + + for (int i = 0; i < 3; i++) { + if (set[i].style != VOLUME) continue; + int other1 = (i + 1) % 3; + int other2 = (i + 2) % 3; + + // Cannot use VOLUME option without at least one deformed dimension + if (set[other1].style == NONE || set[other1].style == VOLUME) + if (set[other2].style == NONE || set[other2].style == VOLUME) + error->all(FLERR, "Fix {} volume setting is invalid", style); + + if (set[other1].style == NONE) { + set[i].substyle = ONE_FROM_ONE; + set[i].fixed = other1; + set[i].dynamic1 = other2; + } else if (set[other2].style == NONE) { + set[i].substyle = ONE_FROM_ONE; + set[i].fixed = other2; + set[i].dynamic1 = other1; + } else if (set[other1].style == VOLUME) { + set[i].substyle = TWO_FROM_ONE; + set[i].fixed = other1; + set[i].dynamic1 = other2; + } else if (set[other2].style == VOLUME) { + set[i].substyle = TWO_FROM_ONE; + set[i].fixed = other2; + set[i].dynamic1 = other1; + } else { + set[i].substyle = ONE_FROM_TWO; + set[i].dynamic1 = other1; + set[i].dynamic2 = other2; + } + } + + // repeat: set varflag + + for (int i = 0; i < 7; i++) + if (set_extra[i].pvar_flag) varflag = 1; + + // repeat: reneighboring only forced if flips can occur due to shape changes + + if ((!force_reneighbor) && flipflag && (set[3].style || set[4].style || set[5].style)) { + force_reneighbor = 1; + irregular = new Irregular(lmp); + } + + // set initial values at time fix deform/pressure is issued + + set_box.vol_initial = domain->xprd * domain->yprd * domain->zprd; + + // populate coupled pressure controls + + if (pcouple != NOCOUPLE) { + + if (domain->dimension == 2) + if (pcouple == XYZ || pcouple == XZ || pcouple == YZ) + error->all(FLERR, "Cannot couple Z dimension in fix deform/pressure in 2D"); + + int coupled_indices[3] = {0}; + int j = -1; + + if (pcouple == XYZ || pcouple == XY || pcouple == XZ) + coupled_indices[0] = 1; + if (pcouple == XYZ || pcouple == XY || pcouple == YZ) + coupled_indices[1] = 1; + if (pcouple == XYZ || pcouple == XZ || pcouple == YZ) + coupled_indices[2] = 1; + + // Check coupled styles and find reference + for (int i = 0; i < 3; i++) { + if (coupled_indices[i]) { + set_extra[i].coupled_flag = 1; + if (set[i].style != PRESSURE && set[i].style != NONE) + error->all(FLERR, "Cannot couple non-pressure-controlled dimensions"); + if (set[i].style == PRESSURE) + j = i; + } + } + + if (j == -1) + error->all(FLERR, "Must specify deformation style for at least one coupled dimension"); + + // Copy or compare data for each coupled dimension + + for (int i = 0; i < 3; i++) { + if (coupled_indices[i]) { + // Copy coupling information if dimension style is undefined + if (set[i].style == NONE) { + set[i].style = PRESSURE; + dimflag[i] = 1; + set_extra[i].pgain = set_extra[j].pgain; + if (set_extra[j].pvar_flag) { + set_extra[i].pstr = set_extra[j].pstr; + set_extra[i].pvar_flag = 1; + } else { + set_extra[i].ptarget = set_extra[j].ptarget; + } + } else { + // Check for incompatibilities in style + if (set[j].style != set[i].style && set[i].style != NONE) + error->all(FLERR, "Cannot couple dimensions with different control options"); + if (set[j].style != PRESSURE) continue; + + // If pressure controlled, check for incompatibilities in parameters + if (set_extra[i].pgain != set_extra[j].pgain || set_extra[i].pvar_flag != set_extra[j].pvar_flag || + set_extra[i].ptarget != set_extra[j].ptarget) + error->all(FLERR, "Coupled dimensions must have identical gain parameters"); + + if (set_extra[j].pvar_flag) + if (strcmp(set_extra[i].pstr, set_extra[j].pstr) != 0) + error->all(FLERR, "Coupled dimensions must have the same target pressure"); + } + } + } + } + + // if vol/balance/p used, must have 2 free dimensions + + if (vol_balance_flag) { + for (int i = 0; i < 3; i++) { + if (set[i].style != VOLUME) continue; + if (set[i].substyle != TWO_FROM_ONE) + error->all(FLERR, "Two dimensions must maintain constant volume to use the vol/balance/p option"); + } + } + + // set strain_flag + + strain_flag = 0; + for (int i = 0; i < 6; i++) + if (set[i].style != NONE && set[i].style != VOLUME && + set[i].style != PRESSURE && set[i].style != PMEAN) + strain_flag = 1; + + // set pressure_flag + + pressure_flag = 0; + for (int i = 0; i < 6; i++) { + if (set[i].style == PRESSURE || set[i].style == PMEAN) { + pressure_flag = 1; + if (set_extra[i].pgain <= 0.0) + error->all(FLERR, "Illegal fix deform/pressure gain constant, must be positive"); + } + if (set_extra[i].coupled_flag) pressure_flag = 1; + } + if (set_box.style == PRESSURE) pressure_flag = 1; + if (vol_balance_flag) pressure_flag = 1; + + // check conflict between constant volume/pressure + + volume_flag = 0; + for (int i = 0; i < 3; i++) + if (set[i].style == VOLUME) + volume_flag = 1; + + if (volume_flag) + for (int i = 0; i < 6; i++) + if (set[i].style == PMEAN) + error->all(FLERR, "Cannot use fix deform/pressure to assign constant volume and pressure"); + + // check conflicts between x,y,z styles and box + + if (set_box.style) + for (int i = 0; i < 3; i++) + if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == SCALE || set[i].style == PMEAN || set[i].style == VARIABLE) + error->all(FLERR, "Cannot use fix deform/pressure box parameter with x, y, or z styles other than vel, erate, trate, pressure, and wiggle"); + + // check pressure used for max rate and normalize error flag + + if (!pressure_flag && max_h_rate != 0) + error->all(FLERR, "Can only assign a maximum strain rate using pressure-controlled dimensions"); + + if (!pressure_flag && normalize_pressure_flag) + error->all(FLERR, "Can only normalize error using pressure-controlled dimensions"); + + // Create pressure compute, if needed + + pflag = 0; + tflag = 0; + if (pressure_flag) { + // create a new compute temp style + // id = fix-ID + temp + // compute group = all since pressure is always global (group all) + // and thus its KE/temperature contribution should use group all + + id_temp = utils::strdup(std::string(id) + "_temp"); + temperature = modify->add_compute(fmt::format("{} all temp", id_temp)); + tflag = 1; + + // create a new compute pressure style + // id = fix-ID + press, compute group = all + // pass id_temp as 4th arg to pressure constructor + + id_press = utils::strdup(std::string(id) + "_press"); + pressure = modify->add_compute(fmt::format("{} all pressure {}", id_press, id_temp)); + pflag = 1; + } +} + +/* ---------------------------------------------------------------------- */ + +FixDeformPressure::~FixDeformPressure() +{ + if (set_extra) + for (int i = 0; i < 7; i++) + delete[] set_extra[i].pstr; + delete[] set_extra; + + delete[] set_box.hstr; + delete[] set_box.hratestr; + + // delete temperature and pressure if fix created them + + if (tflag) modify->delete_compute(id_temp); + if (pflag) modify->delete_compute(id_press); + delete [] id_temp; + delete [] id_press; +} + +/* ---------------------------------------------------------------------- */ + +void FixDeformPressure::init() +{ + FixDeform::init(); + + set_box.vol_start = domain->xprd * domain->yprd * domain->zprd; + + // check optional variables for PRESSURE or PMEAN style + + for (int i = 0; i < 7; i++) { + if (!set_extra[i].pvar_flag) continue; + set_extra[i].pvar = input->variable->find(set_extra[i].pstr); + if (set_extra[i].pvar < 0) + error->all(FLERR, "Variable name {} for fix deform/pressure does not exist", set_extra[i].pstr); + if (!input->variable->equalstyle(set_extra[i].pvar)) + error->all(FLERR, "Variable {} for fix deform/pressure is invalid style", set_extra[i].pstr); + } + + // Find pressure/temp computes if needed + + if (pressure_flag) { + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR, "Temperature ID {} for fix deform/pressure does not exist", id_temp); + + pressure = modify->get_compute_by_id(id_press); + if (!pressure) + error->all(FLERR, "Pressure ID {} for fix deform/pressure does not exist", id_press); + } + + // if yz [3] changes and will cause box flip, then xy [5] cannot be changing + // this is b/c the flips would induce continuous changes in xz + // in order to keep the edge vectors of the flipped shape matrix + // an integer combination of the edge vectors of the unflipped shape matrix + // error if style PRESSURE/ERATEER for yz, can't calculate if box flip occurs + + if (set[3].style && set[5].style) { + if (flipflag && set[3].style == PRESSURE) + error->all(FLERR, "Fix {} cannot use yz pressure with xy", style); + if (flipflag && set[3].style == ERATERS) + error->all(FLERR, "Fix {} cannot use yz erate/rescale with xy", style); + } +} + +/* ---------------------------------------------------------------------- + compute T,P before integrator starts +------------------------------------------------------------------------- */ + +void FixDeformPressure::setup(int /*vflag*/) +{ + // trigger virial computation, if needed, on next timestep + if (pressure_flag) pressure->addstep(update->ntimestep + 1); +} + +/* ---------------------------------------------------------------------- */ + +void FixDeformPressure::end_of_step() +{ + // wrap variable evaluations with clear/add + + if (varflag) modify->clearstep_compute(); + + // set new box size for strain-based dims + + if (strain_flag) { + FixDeform::apply_strain(); + + for (int i = 3; i < 6; i++) { + if (set[i].style == ERATERS) { + double L = domain->zprd; + if (i == 5) L = domain->yprd; + + h_rate[i] = set[i].rate * L; + set_extra[i].cumulative_shift += update->dt * h_rate[i]; + set[i].tilt_target = set[i].tilt_start + set_extra[i].cumulative_shift; + } + } + } + + // set new box size for pressure-based dims + + if (pressure_flag) { + temperature->compute_vector(); + pressure->compute_vector(); + pressure->compute_scalar(); + for (int i = 0; i < 3; i++) { + if (!set_extra[i].saved) { + set_extra[i].saved = 1; + set_extra[i].prior_rate = 0.0; + set_extra[i].prior_pressure = pressure->vector[i]; + } + } + apply_pressure(); + } + + // set new box size for VOLUME dims that are linked to other dims + // NOTE: still need to set h_rate for these dims + + if (volume_flag) apply_volume(); + + // apply any final box scalings + + if (set_box.style) apply_box(); + + // Save pressure/strain rate if required + + if (pressure_flag) { + for (int i = 0; i < 3; i++) { + set_extra[i].prior_pressure = pressure->vector[i]; + set_extra[i].prior_rate = ((set[i].hi_target - set[i].lo_target) / + domain->prd[i] - 1.0) / update->dt; + } + } + + if (varflag) modify->addstep_compute(update->ntimestep + nevery); + + // If tilting while evolving linear dimension, sum remapping effects + // otherwise, update_domain() will inaccurately use the current + // linear dimension to apply prior remappings + + for (int i = 3; i < 6; i++) { + int idenom = 0; + if (i == 3) idenom = 1; + if (set[i].style && (set_box.style || set[idenom].style) && domain->periodicity[idenom]) { + // Add prior remappings. If the box remaps this timestep, don't + // add it yet so update_domain() will first detect the remapping + set[i].tilt_target += set_extra[i].cumulative_remap; + + // Update remapping for next timestep + double prd = set[idenom].hi_target - set[idenom].lo_target; + double prdinv = 1.0 / prd; + if (set[i].tilt_target * prdinv < -0.5) + set_extra[i].cumulative_remap += prd; + if (set[i].tilt_target * prdinv > 0.5) + set_extra[i].cumulative_remap -= prd; + } + } + + FixDeform::update_domain(); + + // trigger virial computation, if needed, on next timestep + + if (pressure_flag) + pressure->addstep(update->ntimestep+1); +} + +/* ---------------------------------------------------------------------- + apply pressure controls +------------------------------------------------------------------------- */ + +void FixDeformPressure::apply_pressure() +{ + // If variable pressure, calculate current target + for (int i = 0; i < 6; i++) + if (set[i].style == PRESSURE || set[i].style == PMEAN) + if (set_extra[i].pvar_flag) + set_extra[i].ptarget = input->variable->compute_equal(set_extra[i].pvar); + + // Find current (possibly coupled/hydrostatic) pressure for X, Y, Z + double *tensor = pressure->vector; + double scalar = pressure->scalar; + double p_current[3] = {0.0, 0.0, 0.0}; + + if (pcouple == XYZ) { + double ave = THIRD * (tensor[0] + tensor[1] + tensor[2]); + p_current[0] = p_current[1] = p_current[2] = ave; + } else if (pcouple == XY) { + double ave = 0.5 * (tensor[0] + tensor[1]); + p_current[0] = p_current[1] = ave; + p_current[2] = tensor[2]; + } else if (pcouple == YZ) { + double ave = 0.5 * (tensor[1] + tensor[2]); + p_current[1] = p_current[2] = ave; + p_current[0] = tensor[0]; + } else if (pcouple == XZ) { + double ave = 0.5 * (tensor[0] + tensor[2]); + p_current[0] = p_current[2] = ave; + p_current[1] = tensor[1]; + } else { + if (set[0].style == PRESSURE) p_current[0] = tensor[0]; + else if (set[0].style == PMEAN) p_current[0] = scalar; + + if (set[1].style == PRESSURE) p_current[1] = tensor[1]; + else if (set[1].style == PMEAN) p_current[1] = scalar; + + if (set[2].style == PRESSURE) p_current[2] = tensor[2]; + else if (set[2].style == PMEAN) p_current[2] = scalar; + } + + for (int i = 0; i < 3; i++) { + if (set[i].style != PRESSURE && set[i].style != PMEAN) continue; + + h_rate[i] = set_extra[i].pgain * (p_current[i] - set_extra[i].ptarget); + + if (normalize_pressure_flag) { + if (set_extra[i].ptarget == 0) { + if (max_h_rate == 0) { + error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); + } else h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + } else h_rate[i] /= fabs(set_extra[i].ptarget); + } + + if (max_h_rate != 0) + if (fabs(h_rate[i]) > max_h_rate) + h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + + h_ratelo[i] = -0.5 * h_rate[i]; + + double shift = domain->prd[i] * update->dt * h_rate[i]; + set_extra[i].cumulative_shift += shift; + set[i].lo_target = set[i].lo_start - 0.5 * set_extra[i].cumulative_shift; + set[i].hi_target = set[i].hi_start + 0.5 * set_extra[i].cumulative_shift; + } + + for (int i = 3; i < 6; i++) { + if (set[i].style != PRESSURE) continue; + + double L, pcurrent; + if (i == 3) { + L = domain->zprd; + pcurrent = tensor[5]; + } else if (i == 4) { + L = domain->zprd; + pcurrent = tensor[4]; + } else { + L = domain->yprd; + pcurrent = tensor[3]; + } + + h_rate[i] = L * set_extra[i].pgain * (pcurrent - set_extra[i].ptarget); + if (normalize_pressure_flag) { + if (set_extra[i].ptarget == 0) { + if (max_h_rate == 0) { + error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); + } else h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + } else h_rate[i] /= fabs(set_extra[i].ptarget); + } + + if (max_h_rate != 0) + if (fabs(h_rate[i]) > max_h_rate) + h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + + set_extra[i].cumulative_shift += update->dt * h_rate[i]; + set[i].tilt_target = set[i].tilt_start + set_extra[i].cumulative_shift; + } +} + +/* ---------------------------------------------------------------------- + apply volume controls +------------------------------------------------------------------------- */ + +void FixDeformPressure::apply_volume() +{ + double e1, e2; + int linked_pressure = 0; + + for (int i = 0; i < 3; i++) { + if (set[i].style != VOLUME) continue; + + int dynamic1 = set[i].dynamic1; + int dynamic2 = set[i].dynamic2; + int fixed = set[i].fixed; + double v0 = set[i].vol_start; + double shift = 0.0; + + if (set[i].substyle == ONE_FROM_ONE) { + shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[fixed].hi_start-set[fixed].lo_start)); + } else if (set[i].substyle == ONE_FROM_TWO) { + shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[dynamic2].hi_target - set[dynamic2].lo_target)); + } else if (set[i].substyle == TWO_FROM_ONE) { + if (!vol_balance_flag) { + shift = 0.5 * sqrt(v0 * (set[i].hi_start - set[i].lo_start) / + (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[fixed].hi_start - set[fixed].lo_start)); + } else { + double dt = update->dt; + double e1i = set_extra[i].prior_rate; + double e2i = set_extra[fixed].prior_rate; + double L1i = domain->prd[i]; + double L2i = domain->prd[fixed]; + double L3i = domain->prd[dynamic1]; + double L3 = (set[dynamic1].hi_target - set[dynamic1].lo_target); + double Vi = L1i * L2i * L3i; + double V = L3 * L1i * L2i; + double e3 = (L3 / L3i - 1.0) / dt; + double p1 = pressure->vector[i]; + double p2 = pressure->vector[fixed]; + double p1i = set_extra[i].prior_pressure; + double p2i = set_extra[fixed].prior_pressure; + double denominator; + + if (e3 == 0) { + e1 = 0.0; + e2 = 0.0; + shift = 0.5 * L1i; + } else if (e1i == 0 || e2i == 0 || (p2 == p2i && p1 == p1i)) { + // If no prior strain or no change in pressure (initial step) just scale shift by relative box lengths + shift = 0.5 * sqrt(v0 * L1i / L3 / L2i); + } else { + if (!linked_pressure) { + // Calculate first strain rate by expanding stress to linear order, p1(t+dt) = p2(t+dt) + // Calculate second strain rate to preserve volume + denominator = p2 - p2i + e2i * ((p1 - p1i) / e1i); + if (denominator != 0.0 && e1i != 0.0) { + e1 = (((p2 - p2i) * (Vi - V) / (V * dt)) - e2i * (p1 - p2)) / denominator; + } else { + e1 = e2i; + } + e2 = (Vi - V * (1 + e1 * dt)) / (V * (1 + e1 * dt) * dt); + + // If strain rate exceeds limit in either dimension, cap it at the maximum compatible rate + if (max_h_rate != 0) { + if ((fabs(e1) > max_h_rate) || (fabs(e2) > max_h_rate)) { + if (fabs(e1) > fabs(e2)) + adjust_linked_rates(e1, e2, e3, Vi, V); + else + adjust_linked_rates(e2, e1, e3, Vi, V); + } + } + shift = 0.5 * L1i * (1.0 + e1 * dt); + linked_pressure = 1; + } else { + // Already calculated value of e2 + shift = 0.5 * L1i * (1.0 + e2 * dt); + } + } + } + } + + h_rate[i] = (2.0 * shift / domain->prd[i] - 1.0) / update->dt; + h_ratelo[i] = -0.5 * h_rate[i]; + + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; + } +} + + +/* ---------------------------------------------------------------------- + Rescale volume preserving strain rates to enforce max rate +------------------------------------------------------------------------- */ + +void FixDeformPressure::adjust_linked_rates(double &e_larger, double &e_smaller, double e3, double Vi, double V) +{ + double dt = update->dt; + double e_lim_positive = (Vi - V * (1 + max_h_rate * dt)) / (V * (1 + max_h_rate * dt) * dt); + double e_lim_negative = (Vi - V * (1 - max_h_rate * dt)) / (V * (1 - max_h_rate * dt) * dt); + if ((e_larger * e3) >= 0) { + if (e_larger > 0.0) { + // Same sign as primary strain rate, cap third dimension + e_smaller = -max_h_rate; + e_larger = e_lim_negative; + } else { + e_smaller = max_h_rate; + e_larger = e_lim_positive; + } + } else { + // Opposite sign, set to maxrate. + if (e_larger > 0.0) { + e_larger = max_h_rate; + e_smaller = e_lim_positive; + } else { + e_larger = -max_h_rate; + e_smaller = e_lim_negative; + } + } +} + +/* ---------------------------------------------------------------------- + apply box controls +------------------------------------------------------------------------- */ + +void FixDeformPressure::apply_box() +{ + int i; + double scale, shift = 0.0; + double v_rate; + + if (set_box.style == VOLUME) { + double v0 = set_box.vol_start; + double v = 1.0; + for (i = 0; i < 3; i++) + v *= (set[i].hi_target - set[i].lo_target); + + scale = std::pow(v0 / v, THIRD); + for (i = 0; i < 3; i++) { + shift = 0.5 * (set[i].hi_target - set[i].lo_target) * scale; + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; + + // Recalculate h_rate + h_rate[i] = (set[i].hi_target - set[i].lo_target) / domain->prd[i] - 1.0; + h_rate[i] /= update->dt; + h_ratelo[i] = -0.5 * h_rate[i]; + } + + } else if (set_box.style == PRESSURE) { + + // If variable pressure, calculate current target + if (set_extra[6].pvar_flag) + set_extra[6].ptarget = input->variable->compute_equal(set_extra[6].pvar); + + v_rate = set_extra[6].pgain * (pressure->scalar - set_extra[6].ptarget); + + if (normalize_pressure_flag) { + if (set_extra[6].ptarget == 0) { + if (max_h_rate == 0) { + error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); + } else v_rate = max_h_rate * v_rate / fabs(v_rate); + } else v_rate /= fabs(set_extra[6].ptarget); + } + + if (max_h_rate != 0) + if (fabs(v_rate) > max_h_rate) + v_rate = max_h_rate * v_rate / fabs(v_rate); + + for (i = 0; i < 3; i++) { + shift = (set[i].hi_target - set[i].lo_target) * update->dt * v_rate; + set_extra[6].cumulative_vshift[i] += shift; + + if (set[i].style == NONE) { + // Overwrite default targets of current length + set[i].lo_target = set[i].lo_start; + set[i].hi_target = set[i].hi_start; + } + + set[i].lo_target -= 0.5 * set_extra[6].cumulative_vshift[i]; + set[i].hi_target += 0.5 * set_extra[6].cumulative_vshift[i]; + + // Recalculate h_rate + h_rate[i] = (set[i].hi_target - set[i].lo_target) / domain->prd[i] - 1.0; + h_rate[i] /= update->dt; + h_ratelo[i] = -0.5 * h_rate[i]; + } + } +} + +/* ---------------------------------------------------------------------- + write Set data to restart file +------------------------------------------------------------------------- */ + +void FixDeformPressure::write_restart(FILE *fp) +{ + if (comm->me == 0) { + int size = 7 * sizeof(Set) + 7 * sizeof(SetExtra); + fwrite(&size, sizeof(int), 1, fp); + fwrite(set, sizeof(Set), 6, fp); + fwrite(&set_box, sizeof(Set), 1, fp); + fwrite(set_extra, sizeof(SetExtra), 7, fp); + } +} + +/* ---------------------------------------------------------------------- + use selected state info from restart file to restart the Fix +------------------------------------------------------------------------- */ + +void FixDeformPressure::restart(char *buf) +{ + int n = 0; + int samestyle = 1; + Set *set_restart = (Set *) buf; + for (int i = 0; i < 6; ++i) { + // restore data from initial state + set[i].lo_initial = set_restart[i].lo_initial; + set[i].hi_initial = set_restart[i].hi_initial; + set[i].vol_initial = set_restart[i].vol_initial; + set[i].tilt_initial = set_restart[i].tilt_initial; + + // check if style settings are consistent + if (set[i].style != set_restart[i].style) + samestyle = 0; + if (set[i].substyle != set_restart[i].substyle) + samestyle = 0; + } + n += 6 * sizeof(Set); + + // Only restore relevant box variables & check consistency + Set set_box_restart; + memcpy(&set_box_restart, (Set *) &buf[n], sizeof(Set)); + set_box.vol_initial = set_box_restart.vol_initial; + if (set_box.style != set_box_restart.style) + samestyle = 0; + + if (!samestyle) + error->all(FLERR, "Fix deform/pressure settings not consistent with restart"); + + n += sizeof(Set); + SetExtra *set_extra_restart = (SetExtra *) &buf[n]; + for (int i = 0; i < 7; ++i) { + set_extra[i].saved = set_extra_restart[i].saved; + set_extra[i].prior_rate = set_extra_restart[i].prior_rate; + set_extra[i].prior_pressure = set_extra_restart[i].prior_pressure; + } +} + +/* ---------------------------------------------------------------------- */ + +void FixDeformPressure::options(int i, int narg, char **arg) +{ + pcouple = NOCOUPLE; + max_h_rate = 0.0; + vol_balance_flag = 0; + normalize_pressure_flag = 0; + + // parse only options not handled by parent class + + int iarg; + while (i < (int) leftover_iarg.size()) { + iarg = leftover_iarg[i]; + if (strcmp(arg[iarg], "couple") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure couple", error); + if (strcmp(arg[iarg + 1], "xyz") == 0) pcouple = XYZ; + else if (strcmp(arg[iarg + 1], "xy") == 0) pcouple = XY; + else if (strcmp(arg[iarg + 1], "yz") == 0) pcouple = YZ; + else if (strcmp(arg[iarg + 1], "xz") == 0) pcouple = XZ; + else if (strcmp(arg[iarg + 1], "none") == 0) pcouple = NOCOUPLE; + else error->all(FLERR, "Illegal fix deform/pressure couple command: {}", arg[iarg + 1]); + i += 2; + } else if (strcmp(arg[iarg], "max/rate") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure max/rate", error); + max_h_rate = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + if (max_h_rate <= 0.0) + error->all(FLERR, "Maximum strain rate must be a positive, non-zero value"); + i += 2; + } else if (strcmp(arg[iarg], "normalize/pressure") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure normalize/pressure", error); + normalize_pressure_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp); + i += 2; + } else if (strcmp(arg[iarg], "vol/balance/p") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure vol/balance/p", error); + vol_balance_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp); + i += 2; + } else error->all(FLERR, "Illegal fix deform/pressure command: {}", arg[iarg]); + } +} + +/* ---------------------------------------------------------------------- */ + +int FixDeformPressure::modify_param(int narg, char **arg) +{ + if (strcmp(arg[0], "temp") == 0) { + if (narg < 2) error->all(FLERR, "Illegal fix_modify command"); + if (tflag) { + modify->delete_compute(id_temp); + tflag = 0; + } + delete[] id_temp; + id_temp = utils::strdup(arg[1]); + + temperature = modify->get_compute_by_id(arg[1]); + if (!temperature) + error->all(FLERR, "Could not find fix_modify temperature compute ID: ", arg[1]); + + if (temperature->tempflag == 0) + error->all(FLERR, "Fix_modify temperature compute {} does not compute temperature", arg[1]); + if (temperature->igroup != 0 && comm->me == 0) + error->warning(FLERR, "Temperature compute {} for fix {} is not for group all: {}", + arg[1], style, group->names[temperature->igroup]); + + // reset id_temp of pressure to new temperature ID + + auto icompute = modify->get_compute_by_id(id_press); + if (!icompute) + error->all(FLERR, "Pressure compute ID {} for fix {} does not exist", id_press, style); + icompute->reset_extra_compute_fix(id_temp); + + return 2; + + } else if (strcmp(arg[0], "press") == 0) { + if (narg < 2) error->all(FLERR, "Illegal fix_modify command"); + if (pflag) { + modify->delete_compute(id_press); + pflag = 0; + } + delete[] id_press; + id_press = utils::strdup(arg[1]); + + pressure = modify->get_compute_by_id(arg[1]); + if (!pressure) error->all(FLERR, "Could not find fix_modify pressure compute ID: {}", arg[1]); + if (pressure->pressflag == 0) + error->all(FLERR, "Fix_modify pressure compute {} does not compute pressure", arg[1]); + return 2; + } + + return 0; +} diff --git a/src/EXTRA-FIX/fix_deform_pressure.h b/src/EXTRA-FIX/fix_deform_pressure.h new file mode 100644 index 0000000000..7ce69b9bc5 --- /dev/null +++ b/src/EXTRA-FIX/fix_deform_pressure.h @@ -0,0 +1,76 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS +// clang-format off +FixStyle(deform/pressure,FixDeformPressure); +// clang-format on +#else + +#ifndef LMP_FIX_DEFORM_PRESSURE_H +#define LMP_FIX_DEFORM_PRESSURE_H + +#include "fix_deform.h" + +namespace LAMMPS_NS { + +class FixDeformPressure : public FixDeform { + public: + FixDeformPressure(class LAMMPS *, int, char **); + ~FixDeformPressure() override; + void init() override; + void setup(int) override; + void end_of_step() override; + void write_restart(FILE *) override; + void restart(char *buf) override; + int modify_param(int, char **) override; + + protected: + int pcouple; + double max_h_rate; + int strain_flag; // 1 if strain-based option is used, 0 if not + int pressure_flag; // 1 if pressure tensor used, 0 if not + int volume_flag; // 1 if VOLUME option is used, 0 if not + int normalize_pressure_flag; // 1 if normalize pressure deviation by target + int vol_balance_flag; // 1 if pressures balanced when maintaining const vol + + char *id_temp, *id_press; + class Compute *temperature, *pressure; + int tflag, pflag; + + struct SetExtra { + double ptarget, pgain; + double prior_pressure, prior_rate; + double cumulative_shift; + double cumulative_vshift[3]; + double cumulative_remap; + int saved; + char *pstr; + int pvar, pvar_flag; + int coupled_flag; + }; + SetExtra *set_extra; + Set set_box; + + void options(int, int, char **); + void apply_volume() override; + void apply_pressure(); + void apply_box(); + void couple(); + void adjust_linked_rates(double&, double&, double, double, double); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/EXTRA-FIX/fix_efield_tip4p.cpp b/src/EXTRA-FIX/fix_efield_tip4p.cpp index 47b1d9e27a..a83939a620 100644 --- a/src/EXTRA-FIX/fix_efield_tip4p.cpp +++ b/src/EXTRA-FIX/fix_efield_tip4p.cpp @@ -16,7 +16,6 @@ #include "angle.h" #include "atom.h" #include "bond.h" -#include "comm.h" #include "domain.h" #include "error.h" #include "force.h" @@ -25,11 +24,10 @@ #include "modify.h" #include "pair.h" #include "region.h" -#include "respa.h" #include "update.h" #include "variable.h" -#include +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp index a426a8fb55..b651d5dc5e 100644 --- a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp +++ b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp @@ -35,6 +35,7 @@ #include "pair.h" #include "update.h" +#include #include using namespace LAMMPS_NS; @@ -45,6 +46,8 @@ enum { TYPE, RADIUS, CUSTOM }; enum { INTEGRATED, D2MIN }; enum { FIXED, OFFSET, UPDATE }; +static constexpr double EPSILON = 1.0e-15; + static const char cite_nonaffine_d2min[] = "@article{PhysRevE.57.7192,\n" " title = {Dynamics of viscoplastic deformation in amorphous solids},\n" @@ -64,28 +67,33 @@ static const char cite_nonaffine_d2min[] = /* ---------------------------------------------------------------------- */ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), id_fix(nullptr), X(nullptr), Y(nullptr), F(nullptr), norm(nullptr) + Fix(lmp, narg, arg), id_fix(nullptr), fix(nullptr), D2min(nullptr), X(nullptr), Y(nullptr), + F(nullptr), norm(nullptr), singular(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal fix nonaffine/displacement command"); + if (narg < 4) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement", error); nevery = utils::inumeric(FLERR, arg[3], false, lmp); if (nevery <= 0) error->all(FLERR,"Illegal nevery value {} in fix nonaffine/displacement", nevery); reference_timestep = update_timestep = offset_timestep = -1; + z_min = 0; + int iarg = 4; if (strcmp(arg[iarg], "integrated") == 0) { nad_style = INTEGRATED; - nevery = 1; iarg += 1; } else if (strcmp(arg[iarg], "d2min") == 0) { - if (iarg + 1 > narg) error->all(FLERR,"Illegal fix nonaffine/displacement command"); + if (iarg + 1 > narg) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement d2min", error); nad_style = D2MIN; if (strcmp(arg[iarg + 1], "type") == 0) { cut_style = TYPE; } else if (strcmp(arg[iarg + 1], "radius") == 0) { cut_style = RADIUS; } else if (strcmp(arg[iarg + 1], "custom") == 0) { - if (iarg + 2 > narg) error->all(FLERR,"Illegal fix nonaffine/displacement command"); + if (iarg + 2 > narg) + utils::missing_cmd_args(FLERR,"fix nonaffine/displacement custom", error); + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Fix nonaffine/displacement with custom cutoff requires neighbor style 'bin' or 'nsq'"); cut_style = CUSTOM; cutoff_custom = utils::numeric(FLERR, arg[iarg + 2], false, lmp); cutsq_custom = cutoff_custom * cutoff_custom; @@ -96,7 +104,7 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char * iarg += 2; } else error->all(FLERR,"Illegal nonaffine displacement style {} in fix nonaffine/displacement", arg[iarg]); - if (iarg + 2 > narg) error->all(FLERR,"Illegal fix nonaffine/displacement command"); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement", error); if (strcmp(arg[iarg], "fixed") == 0) { reference_style = FIXED; reference_timestep = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); @@ -105,7 +113,7 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char * } else if (strcmp(arg[iarg], "update") == 0) { reference_style = UPDATE; update_timestep = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); - if (update_timestep < 0) + if (update_timestep <= 0) error->all(FLERR, "Illegal update timestep {} in fix nonaffine/displacement", arg[iarg + 1]); } else if (strcmp(arg[iarg], "offset") == 0) { reference_style = OFFSET; @@ -113,14 +121,21 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char * if ((offset_timestep <= 0) || (offset_timestep > nevery)) error->all(FLERR, "Illegal offset timestep {} in fix nonaffine/displacement", arg[iarg + 1]); } else error->all(FLERR,"Illegal reference style {} in fix nonaffine/displacement", arg[iarg]); + iarg += 2; + + while (iarg < narg) { + if (strcmp(arg[iarg], "z/min") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement", error); + z_min = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); + if (z_min < 0) error->all(FLERR, "Minimum coordination must be positive"); + iarg += 2; + } else error->all(FLERR,"Illegal keyword {} in fix nonaffine/displacement", arg[iarg]); + } if (nad_style == D2MIN) if (cut_style == RADIUS && (!atom->radius_flag)) error->all(FLERR, "Fix nonaffine/displacement radius style requires atom attribute radius"); - if (nad_style == INTEGRATED && reference_style == OFFSET) - error->all(FLERR, "Fix nonaffine/displacement cannot use the integrated style with an offset reference state"); - peratom_flag = 1; peratom_freq = nevery; nmax = -1; @@ -150,8 +165,11 @@ FixNonaffineDisplacement::~FixNonaffineDisplacement() memory->destroy(Y); memory->destroy(F); memory->destroy(norm); - memory->destroy(array_atom); + memory->destroy(singular); + memory->destroy(D2min); } + + memory->destroy(array_atom); } /* ---------------------------------------------------------------------- */ @@ -175,12 +193,7 @@ void FixNonaffineDisplacement::post_constructor() id_fix = utils::strdup(id + std::string("_FIX_PA")); fix = dynamic_cast(modify->add_fix(fmt::format("{} {} STORE/ATOM 3 0 {} 1", id_fix, group->names[igroup], ghost_status))); - if (nad_style == INTEGRATED) - array_atom = fix->astore; - - if (nad_style == D2MIN) - grow_arrays(atom->nmax); - + grow_arrays(atom->nmax); for (int i = 0; i < atom->nlocal; i++) for (int j = 0; j < 3; j++) array_atom[i][j] = 0.0; } @@ -206,6 +219,9 @@ void FixNonaffineDisplacement::init() } else { auto req = neighbor->add_request(this, NeighConst::REQ_OCCASIONAL); if (cut_style == CUSTOM) { + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Fix nonaffine/displacement with custom cutoff requires neighbor style 'bin' or 'nsq'"); + double skin = neighbor->skin; mycutneigh = cutoff_custom + skin; @@ -245,6 +261,15 @@ void FixNonaffineDisplacement::post_force(int /*vflag*/) if (reference_saved && (!update->setupflag)) { if (nad_style == INTEGRATED) { integrate_velocity(); + if ((update->ntimestep % nevery) == 0) { + if (atom->nmax > nmax) + grow_arrays(atom->nmax); + + double **x_nonaffine = fix->astore; + for (int i = 0; i < atom->nlocal; i++) + for (int m = 0; m < 3; m++) + array_atom[i][m] = x_nonaffine[i][m]; + } } else { if ((update->ntimestep % nevery) == 0) calculate_D2Min(); } @@ -291,11 +316,12 @@ void FixNonaffineDisplacement::integrate_velocity() int *mask = atom->mask; int nlocal = atom->nlocal; + double **x_nonaffine = fix->astore; for (int m = 0; m < 3; m++) { for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - array_atom[i][m] += dtv * v[i][m]; + x_nonaffine[i][m] += dtv * v[i][m]; } } } @@ -306,6 +332,7 @@ void FixNonaffineDisplacement::integrate_velocity() void FixNonaffineDisplacement::save_reference_state() { double **x = atom->x; + double **x0 = fix->astore; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -314,13 +341,13 @@ void FixNonaffineDisplacement::save_reference_state() if (nad_style == D2MIN) { for (int m = 0; m < 3; m++) { for (int i = 0; i < nall; i++) { - if (mask[i] & groupbit) array_atom[i][m] = x[i][m]; + if (mask[i] & groupbit) x0[i][m] = x[i][m]; } } } else { for (int m = 0; m < 3; m++) { for (int i = 0; i < nall; i++) { - if (mask[i] & groupbit) array_atom[i][m] = 0.0; + if (mask[i] & groupbit) x0[i][m] = 0.0; } } } @@ -358,7 +385,7 @@ void FixNonaffineDisplacement::calculate_D2Min() int *ilist, *jlist, *numneigh, **firstneigh; double **x = atom->x; - double **x0 = array_atom; + double **x0 = fix->astore; double *radius = atom->radius; int *type = atom->type; int *mask = atom->mask; @@ -383,7 +410,8 @@ void FixNonaffineDisplacement::calculate_D2Min() } } norm[i] = 0; - array_atom[i][0] = 0; + singular[i] = 0; + D2min[i] = 0; } // First loop through neighbors @@ -459,14 +487,29 @@ void FixNonaffineDisplacement::calculate_D2Min() } if (dim == 3) { - invert3(Y_tmp, Y_inv); + denom = det3(Y_tmp); + if (fabs(denom) < EPSILON) { + singular[i] = 1; + for (j = 0; j < 3; j++) + for (k = 0; k < 3; k++) + Y_inv[j][k] = 0.0; + } else { + invert3(Y_tmp, Y_inv); + } } else { denom = Y_tmp[0][0] * Y_tmp[1][1] - Y_tmp[0][1] * Y_tmp[1][0]; - if (denom != 0.0) denom = 1.0 / denom; - Y_inv[0][0] = Y_tmp[1][1] * denom; - Y_inv[0][1] = -Y_tmp[0][1] * denom; - Y_inv[1][0] = -Y_tmp[1][0] * denom; - Y_inv[1][1] = Y_tmp[0][0] * denom; + if (fabs(denom) < EPSILON) { + singular[i] = 1; + for (j = 0; j < 2; j++) + for (k = 0; k < 2; k++) + Y_inv[j][k] = 0.0; + } else { + denom = 1.0 / denom; + Y_inv[0][0] = Y_tmp[1][1] * denom; + Y_inv[0][1] = -Y_tmp[0][1] * denom; + Y_inv[1][0] = -Y_tmp[1][0] * denom; + Y_inv[1][1] = Y_tmp[0][0] * denom; + } } times3(X_tmp, Y_inv, F_tmp); @@ -524,7 +567,7 @@ void FixNonaffineDisplacement::calculate_D2Min() } sub3(r, temp, temp); - array_atom[i][0] += lensq3(temp); + D2min[i] += lensq3(temp); norm[i] += 1; if (newton_pair || j < nlocal) { @@ -535,7 +578,7 @@ void FixNonaffineDisplacement::calculate_D2Min() } sub3(r, temp, temp); - array_atom[j][0] += lensq3(temp); + D2min[j] += lensq3(temp); norm[j] += 1; } } @@ -547,11 +590,16 @@ void FixNonaffineDisplacement::calculate_D2Min() for (i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; - if (norm[i] != 0) - array_atom[i][0] /= norm[i]; - else + if (norm[i] < z_min || singular[i] == 1) { + if (norm[i] >= z_min) + error->warning(FLERR, "Singular matrix detected for atom {}, defaulting output to zero", atom->tag[i]); array_atom[i][0] = 0.0; - array_atom[i][0] = sqrt(array_atom[i][0]); + array_atom[i][1] = 0.0; + array_atom[i][2] = 0.0; + continue; + } + + D2min[i] /= norm[i]; for (j = 0; j < 3; j++) for (k = 0; k < 3; k++) @@ -571,6 +619,7 @@ void FixNonaffineDisplacement::calculate_D2Min() edev = sqrt(0.5 * j2); + array_atom[i][0] = sqrt(D2min[i]); array_atom[i][1] = evol; array_atom[i][2] = edev; } @@ -593,7 +642,7 @@ int FixNonaffineDisplacement::pack_reverse_comm(int n, int first, double *buf) } } } else { - buf[m++] = array_atom[i][0]; + buf[m++] = D2min[i]; buf[m++] = ubuf(norm[i]).d; } } @@ -617,7 +666,7 @@ void FixNonaffineDisplacement::unpack_reverse_comm(int n, int *list, double *buf } } } else { - array_atom[j][0] += buf[m++]; + D2min[j] += buf[m++]; norm[j] += (int) ubuf(buf[m++]).i; } } @@ -723,12 +772,20 @@ void FixNonaffineDisplacement::minimum_image0(double *delta) void FixNonaffineDisplacement::grow_arrays(int nmax_new) { nmax = nmax_new; - memory->destroy(X); - memory->destroy(Y); - memory->destroy(F); - memory->destroy(norm); - memory->create(X, nmax, 3, 3, "fix_nonaffine_displacement:X"); - memory->create(Y, nmax, 3, 3, "fix_nonaffine_displacement:Y"); - memory->create(F, nmax, 3, 3, "fix_nonaffine_displacement:F"); - memory->create(norm, nmax, "fix_nonaffine_displacement:norm"); + memory->destroy(array_atom); + memory->create(array_atom, nmax, 3, "fix_nonaffine_displacement:array_atom"); + if (nad_style == D2MIN) { + memory->destroy(X); + memory->destroy(Y); + memory->destroy(F); + memory->destroy(D2min); + memory->destroy(norm); + memory->destroy(singular); + memory->create(X, nmax, 3, 3, "fix_nonaffine_displacement:X"); + memory->create(Y, nmax, 3, 3, "fix_nonaffine_displacement:Y"); + memory->create(F, nmax, 3, 3, "fix_nonaffine_displacement:F"); + memory->create(D2min, nmax, "fix_nonaffine_displacement:D2min"); + memory->create(norm, nmax, "fix_nonaffine_displacement:norm"); + memory->create(singular, nmax, "fix_nonaffine_displacement:singular"); + } } diff --git a/src/EXTRA-FIX/fix_nonaffine_displacement.h b/src/EXTRA-FIX/fix_nonaffine_displacement.h index 3341ab1834..b0e9c464ca 100644 --- a/src/EXTRA-FIX/fix_nonaffine_displacement.h +++ b/src/EXTRA-FIX/fix_nonaffine_displacement.h @@ -48,16 +48,15 @@ class FixNonaffineDisplacement : public Fix { int nmax, comm_flag; int nad_style, cut_style; int reference_style, offset_timestep, reference_timestep, update_timestep; - int reference_saved; + int reference_saved, z_min; double cutoff_custom, cutsq_custom, mycutneigh; double xprd0, yprd0, zprd0, xprd0_half, yprd0_half, zprd0_half, xy0, xz0, yz0; - double ***X, ***Y, ***F; - int *norm; + double *D2min, ***X, ***Y, ***F; + int *norm, *singular; class NeighList *list; // half neighbor list - void integrate_velocity(); void calculate_D2Min(); void save_reference_state(); diff --git a/src/EXTRA-FIX/fix_spring_rg.cpp b/src/EXTRA-FIX/fix_spring_rg.cpp index 46afa905b3..3207f92a8d 100644 --- a/src/EXTRA-FIX/fix_spring_rg.cpp +++ b/src/EXTRA-FIX/fix_spring_rg.cpp @@ -46,6 +46,7 @@ FixSpringRG::FixSpringRG(LAMMPS *lmp, int narg, char **arg) : restart_global = 1; scalar_flag = 1; + extscalar = 0; restart_global = 1; dynamic_group_allow = 1; respa_level_support = 1; diff --git a/src/EXTRA-FIX/fix_tmd.cpp b/src/EXTRA-FIX/fix_tmd.cpp index 401ed41573..242efcf41c 100644 --- a/src/EXTRA-FIX/fix_tmd.cpp +++ b/src/EXTRA-FIX/fix_tmd.cpp @@ -32,6 +32,7 @@ #include #include +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/EXTRA-FIX/fix_ttm_mod.cpp b/src/EXTRA-FIX/fix_ttm_mod.cpp index 79af414f0a..335acdd853 100644 --- a/src/EXTRA-FIX/fix_ttm_mod.cpp +++ b/src/EXTRA-FIX/fix_ttm_mod.cpp @@ -486,12 +486,12 @@ void FixTTMMod::read_parameters(const std::string &filename) reader.next_line(); intensity = reader.next_values(1).next_double(); - // coordinate of 1st surface in x-direction (in box units) - constant + // coordinate of 1st surface in x-direction (electron grid units) - constant reader.next_line(); surface_l = reader.next_values(1).next_int(); - // coordinate of 2nd surface in x-direction (in box units) - constant + // coordinate of 2nd surface in x-direction (electron grid units) - constant reader.next_line(); surface_r = reader.next_values(1).next_int(); diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp new file mode 100644 index 0000000000..35997b5b63 --- /dev/null +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -0,0 +1,323 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Vladislav Galigerov (HSE), + Daniil Pavlov (MIPT) +------------------------------------------------------------------------- */ + +#include "fix_wall_flow.h" + +#include "atom.h" +#include "citeme.h" +#include "comm.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "lattice.h" +#include "math_const.h" +#include "memory.h" +#include "modify.h" +#include "random_mars.h" + +#include +#include +#include +#include + +using namespace LAMMPS_NS; +using namespace FixConst; + +/* ---------------------------------------------------------------------- */ + +static const char cite_fix_wall_flow_c[] = + "fix wall/flow command: doi:10.1177/10943420231213013\n\n" + "@Article{Pavlov-etal-IJHPCA-2024,\n" + " author = {Daniil Pavlov and Vladislav Galigerov and Daniil Kolotinskii and Vsevolod " + "Nikolskiy and Vladimir Stegailov},\n" + " title = {GPU-based molecular dynamics of fluid flows: Reaching for turbulence},\n" + " journal = {The International Journal of High Performance Computing Applications},\n" + " year = 2024,\n" + " volume = 38,\n" + " number = 1,\n" + " pages = 34-49\n" + "}\n\n"; + +FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg), flowax(FlowAxis::AX_X), flowvel(0.0), flowdir(0), rndseed(0), + current_segment(nullptr) +{ + if (lmp->citeme) lmp->citeme->add(cite_fix_wall_flow_c); + if (narg < 9) utils::missing_cmd_args(FLERR, "fix wall/flow", error); + + if (domain->triclinic != 0) + error->all(FLERR, "Fix wall/flow cannot be used with triclinic simulation box"); + + dynamic_group_allow = 1; + bool do_abort = false; + + int iarg = 3; + // parsing axis + if (strcmp(arg[iarg], "x") == 0) + flowax = FlowAxis::AX_X; + else if (strcmp(arg[iarg], "y") == 0) + flowax = FlowAxis::AX_Y; + else if (strcmp(arg[iarg], "z") == 0) + flowax = FlowAxis::AX_Z; + else + error->all(FLERR, "Illegal fix wall/flow argument: axis must by x or y or z, but {} specified", + arg[iarg]); + + if (domain->periodicity[flowax] != 1) + error->all(FLERR, + "Fix wall/flow cannot be used with a non-periodic boundary along the flow axis"); + + ++iarg; + // parsing velocity + flowvel = utils::numeric(FLERR, arg[iarg], do_abort, lmp); + if (flowvel == 0.0) error->all(FLERR, "Illegal fix wall/flow argument: velocity cannot be 0"); + if (flowvel > 0.0) + flowdir = 1; + else + flowdir = -1; + if (flowdir < 0) + error->all(FLERR, "Illegal fix wall/flow argument: negative direction is not supported yet"); + + ++iarg; + // parsing temperature + double flowtemp = utils::numeric(FLERR, arg[iarg], do_abort, lmp); + kT = lmp->force->boltz * flowtemp / force->mvv2e; + + ++iarg; + // parsing seed + rndseed = utils::inumeric(FLERR, arg[iarg], do_abort, lmp); + if (rndseed <= 0) + error->all(FLERR, "Illegal fix wall/flow argument: random seed must be positive integer"); + + ++iarg; + // parsing wall count + int wallcount = utils::inumeric(FLERR, arg[iarg], do_abort, lmp); + if (wallcount <= 0) + error->all(FLERR, "Illegal fix wall/flow argument: wall count must be positive integer"); + + ++iarg; + // parsing walls + if (narg - iarg != wallcount && narg - iarg != wallcount + 2) + error->all(FLERR, "Wrong fix wall/flow wall count"); + + double scale = 0.0; + if (flowax == FlowAxis::AX_X) + scale = domain->lattice->xlattice; + else if (flowax == FlowAxis::AX_Y) + scale = domain->lattice->ylattice; + else if (flowax == FlowAxis::AX_Z) + scale = domain->lattice->zlattice; + + if (narg - iarg == wallcount + 2) { + if (strcmp(arg[narg - 2], "units") != 0) error->all(FLERR, "Wrong fix wall/flow units command"); + if (strcmp(arg[narg - 1], "box") == 0) + scale = 1.0; + else if (strcmp(arg[narg - 1], "lattice") != 0) + error->all(FLERR, "Wrong fix wall/flow units command"); + } + + walls.resize(wallcount + 2); + walls.front() = domain->boxlo[flowax]; + for (int w = 1; w <= wallcount; ++w, ++iarg) { + walls[w] = utils::numeric(FLERR, arg[iarg], do_abort, lmp) * scale; + } + walls.back() = domain->boxhi[flowax]; + if (!std::is_sorted(walls.begin(), walls.end(), std::less_equal())) { + error->all(FLERR, + "Wrong fix wall/flow wall ordering or some walls are outside simulation domain"); + } + + if (std::adjacent_find(walls.begin(), walls.end()) != walls.end()) { + error->all(FLERR, + "Wrong fix wall/flow wall coordinates: some walls have the same coordinates or lie " + "on the boundary"); + } + + memory->grow(current_segment, atom->nmax, "WallFlow::current_segment"); + atom->add_callback(Atom::GROW); + if (restart_peratom) atom->add_callback(Atom::RESTART); + + maxexchange = 1; + + random = new RanMars(lmp, rndseed + comm->me); +} + +/* ---------------------------------------------------------------------- */ + +FixWallFlow::~FixWallFlow() +{ + if (copymode) return; + atom->delete_callback(id, Atom::GROW); + if (restart_peratom) atom->delete_callback(id, Atom::RESTART); + memory->destroy(current_segment); + + delete random; +} + +/* ---------------------------------------------------------------------- */ + +int FixWallFlow::setmask() +{ + int mask = 0; + + mask |= END_OF_STEP; + + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixWallFlow::init() +{ + if (domain->triclinic != 0) + error->all(FLERR, "Fix wall/flow cannot be used with triclinic simulation box"); + + int nrigid = 0; + int box_change_flowax = 0; + for (const auto &ifix : modify->get_fix_list()) { + if (ifix->rigid_flag) nrigid++; + switch (flowax) { + case FlowAxis::AX_X: + if (ifix->box_change & Fix::BOX_CHANGE_X) box_change_flowax++; + break; + case FlowAxis::AX_Y: + if (ifix->box_change & Fix::BOX_CHANGE_Y) box_change_flowax++; + break; + case FlowAxis::AX_Z: + if (ifix->box_change & Fix::BOX_CHANGE_Z) box_change_flowax++; + break; + } + } + + if (nrigid) error->all(FLERR, "Fix wall/flow is not compatible with rigid bodies"); + if (box_change_flowax) + error->all( + FLERR, + "Fix wall/flow is not compatible with simulation box size changing along flow direction"); + + for (int i = 0; i < atom->nlocal; ++i) { + double pos = atom->x[i][flowax]; + current_segment[i] = compute_current_segment(pos); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixWallFlow::end_of_step() +{ + double **x = atom->x; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; ++i) { + if (mask[i] & groupbit) { + double pos = x[i][flowax]; + int prev_segment = current_segment[i]; + current_segment[i] = compute_current_segment(pos); + + if (prev_segment != current_segment[i]) generate_velocity(i); + } + } +} + +/* ---------------------------------------------------------------------- */ + +void FixWallFlow::generate_velocity(int atom_i) +{ + const int newton_iteration_count = 10; + double *vel = atom->v[atom_i]; + + double *prmass = atom->rmass; + double *pmass = atom->mass; + double mass = 0.0; + if (prmass) + mass = prmass[atom_i]; + else + mass = pmass[atom->type[atom_i]]; + + const double gamma = 1.0 / std::sqrt(2.0 * kT / mass); + double delta = gamma * flowvel; + + const double edd = std::exp(-delta * delta) / MathConst::MY_PIS + delta * std::erf(delta); + const double probability_threshold = 0.5f * (1.f + delta / edd); + + double direction = 1.0; + + if (random->uniform() > probability_threshold) { + delta = -delta; + direction = -direction; + } + + const double xi_0 = random->uniform(); + const double F_inf = edd + delta; + const double xi = xi_0 * F_inf; + const double x_0 = (std::sqrt(delta * delta + 2) - delta) * 0.5; + double x = x_0; + for (int i = 0; i < newton_iteration_count; ++i) { + x -= (std::exp(x * x) * MathConst::MY_PIS * (xi - delta * std::erfc(x)) - 1.0) / (x + delta) * + 0.5; + } + + const double nu = x + delta; + const double v = nu / gamma; + + vel[flowax] = v * direction; + vel[(flowax + 1) % 3] = random->gaussian() / (gamma * MathConst::MY_SQRT2); + vel[(flowax + 2) % 3] = random->gaussian() / (gamma * MathConst::MY_SQRT2); +} + +/* ---------------------------------------------------------------------- */ + +int FixWallFlow::compute_current_segment(double pos) const +{ + int result = 0; + for (; result < (int)walls.size() - 1; ++result) { + if (pos >= walls[result] && pos < walls[result + 1]) { return result; } + } + return -1; // -1 is "out of box" region +} + +/* ---------------------------------------------------------------------- */ + +void FixWallFlow::grow_arrays(int nmax) +{ + memory->grow(current_segment, nmax, "WallFlow::current_segment"); +} + +/* ---------------------------------------------------------------------- */ + +void FixWallFlow::copy_arrays(int i, int j, int) +{ + current_segment[j] = current_segment[i]; +} + +/* ---------------------------------------------------------------------- */ + +int FixWallFlow::pack_exchange(int i, double *buf) +{ + buf[0] = static_cast(current_segment[i]); + return 1; +} + +/* ---------------------------------------------------------------------- */ + +int FixWallFlow::unpack_exchange(int i, double *buf) +{ + current_segment[i] = static_cast(buf[0]); + return 1; +} diff --git a/src/EXTRA-FIX/fix_wall_flow.h b/src/EXTRA-FIX/fix_wall_flow.h new file mode 100644 index 0000000000..6a662f3d94 --- /dev/null +++ b/src/EXTRA-FIX/fix_wall_flow.h @@ -0,0 +1,61 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS +// clang-format off +FixStyle(wall/flow,FixWallFlow); +// clang-format on +#else + +#ifndef LMP_FIX_WALL_FLOW_H +#define LMP_FIX_WALL_FLOW_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixWallFlow : public Fix { + public: + enum FlowAxis { AX_X = 0, AX_Y = 1, AX_Z = 2 }; + + FixWallFlow(class LAMMPS *, int, char **); + ~FixWallFlow() override; + int setmask() override; + void init() override; + void end_of_step() override; + + void grow_arrays(int) override; + void copy_arrays(int, int, int) override; + + int pack_exchange(int, double *) override; + int unpack_exchange(int, double *) override; + + protected: + FlowAxis flowax; + double flowvel; + double kT; + std::vector walls; + + int flowdir; + int rndseed; + class RanMars *random; + int *current_segment; + + int compute_current_segment(double pos) const; + void generate_velocity(int i); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.cpp b/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.cpp new file mode 100644 index 0000000000..2da31ef893 --- /dev/null +++ b/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.cpp @@ -0,0 +1,298 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "angle_cosine_squared_restricted.h" + +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "math_const.h" +#include "memory.h" +#include "neighbor.h" + +#include + +using namespace LAMMPS_NS; +using MathConst::DEG2RAD; +using MathConst::RAD2DEG; + +/* ---------------------------------------------------------------------- */ + +AngleCosineSquaredRestricted::AngleCosineSquaredRestricted(LAMMPS *_lmp) : Angle(_lmp) +{ + k = nullptr; + theta0 = nullptr; + born_matrix_enable = 1; +} + +/* ---------------------------------------------------------------------- */ + +AngleCosineSquaredRestricted::~AngleCosineSquaredRestricted() +{ + if (allocated) { + memory->destroy(setflag); + memory->destroy(k); + memory->destroy(theta0); + } +} + +/* ---------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::compute(int eflag, int vflag) +{ + int i1, i2, i3, n, type; + double delx1, dely1, delz1, delx2, dely2, delz2; + double eangle, f1[3], f3[3]; + double tk, rsq1, rsq2, r1, r2, c, a, a11, a12, a22; + + eangle = 0.0; + ev_init(eflag, vflag); + + double **x = atom->x; + double **f = atom->f; + int **anglelist = neighbor->anglelist; + int nanglelist = neighbor->nanglelist; + int nlocal = atom->nlocal; + int newton_bond = force->newton_bond; + + for (n = 0; n < nanglelist; n++) { + i1 = anglelist[n][0]; + i2 = anglelist[n][1]; + i3 = anglelist[n][2]; + type = anglelist[n][3]; + + // 1st bond + + delx1 = x[i1][0] - x[i2][0]; + dely1 = x[i1][1] - x[i2][1]; + delz1 = x[i1][2] - x[i2][2]; + + rsq1 = delx1 * delx1 + dely1 * dely1 + delz1 * delz1; + r1 = sqrt(rsq1); + + // 2nd bond + + delx2 = x[i3][0] - x[i2][0]; + dely2 = x[i3][1] - x[i2][1]; + delz2 = x[i3][2] - x[i2][2]; + + rsq2 = delx2 * delx2 + dely2 * dely2 + delz2 * delz2; + r2 = sqrt(rsq2); + + // angle (cos and sin) + + c = delx1 * delx2 + dely1 * dely2 + delz1 * delz2; + c /= r1 * r2; + + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + // force & energy + + double sq_sin = 1.0 - c * c; + double c0 = cos(theta0[type]); + + tk = k[type] * (c - c0) * (1.0 - c * c0) / (sq_sin * sq_sin); + + if (eflag) eangle = k[type] * (c - c0) * (c - c0) / sq_sin; + + a = 2.0 * tk; + a11 = a * c / rsq1; + a12 = -a / (r1 * r2); + a22 = a * c / rsq2; + + f1[0] = a11 * delx1 + a12 * delx2; + f1[1] = a11 * dely1 + a12 * dely2; + f1[2] = a11 * delz1 + a12 * delz2; + f3[0] = a22 * delx2 + a12 * delx1; + f3[1] = a22 * dely2 + a12 * dely1; + f3[2] = a22 * delz2 + a12 * delz1; + + // apply force to each of 3 atoms + + if (newton_bond || i1 < nlocal) { + f[i1][0] += f1[0]; + f[i1][1] += f1[1]; + f[i1][2] += f1[2]; + } + + if (newton_bond || i2 < nlocal) { + f[i2][0] -= f1[0] + f3[0]; + f[i2][1] -= f1[1] + f3[1]; + f[i2][2] -= f1[2] + f3[2]; + } + + if (newton_bond || i3 < nlocal) { + f[i3][0] += f3[0]; + f[i3][1] += f3[1]; + f[i3][2] += f3[2]; + } + + if (evflag) + ev_tally(i1, i2, i3, nlocal, newton_bond, eangle, f1, f3, delx1, dely1, delz1, delx2, dely2, + delz2); + } +} + +/* ---------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::allocate() +{ + allocated = 1; + const int np1 = atom->nangletypes + 1; + + memory->create(k, np1, "angle:k"); + memory->create(theta0, np1, "angle:theta0"); + + memory->create(setflag, np1, "angle:setflag"); + for (int i = 1; i < np1; i++) setflag[i] = 0; +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more types +------------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::coeff(int narg, char **arg) +{ + if (narg != 3) error->all(FLERR, "Incorrect args for angle coefficients"); + if (!allocated) allocate(); + + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->nangletypes, ilo, ihi, error); + + double k_one = utils::numeric(FLERR, arg[1], false, lmp); + double theta0_one = utils::numeric(FLERR, arg[2], false, lmp); + + // convert theta0 from degrees to radians + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + k[i] = k_one; + theta0[i] = DEG2RAD * theta0_one; + setflag[i] = 1; + count++; + } + + if (count == 0) error->all(FLERR, "Incorrect args for angle coefficients"); +} + +/* ---------------------------------------------------------------------- */ + +double AngleCosineSquaredRestricted::equilibrium_angle(int i) +{ + return theta0[i]; +} + +/* ---------------------------------------------------------------------- + proc 0 writes out coeffs to restart file +------------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::write_restart(FILE *fp) +{ + fwrite(&k[1], sizeof(double), atom->nangletypes, fp); + fwrite(&theta0[1], sizeof(double), atom->nangletypes, fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads coeffs from restart file, bcasts them +------------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::read_restart(FILE *fp) +{ + allocate(); + + if (comm->me == 0) { + utils::sfread(FLERR, &k[1], sizeof(double), atom->nangletypes, fp, nullptr, error); + utils::sfread(FLERR, &theta0[1], sizeof(double), atom->nangletypes, fp, nullptr, error); + } + MPI_Bcast(&k[1], atom->nangletypes, MPI_DOUBLE, 0, world); + MPI_Bcast(&theta0[1], atom->nangletypes, MPI_DOUBLE, 0, world); + + for (int i = 1; i <= atom->nangletypes; i++) setflag[i] = 1; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->nangletypes; i++) + fprintf(fp, "%d %g %g\n", i, k[i], RAD2DEG * theta0[i]); +} + +/* ---------------------------------------------------------------------- */ + +double AngleCosineSquaredRestricted::single(int type, int i1, int i2, int i3) +{ + double **x = atom->x; + + double delx1 = x[i1][0] - x[i2][0]; + double dely1 = x[i1][1] - x[i2][1]; + double delz1 = x[i1][2] - x[i2][2]; + domain->minimum_image(delx1, dely1, delz1); + double r1 = sqrt(delx1 * delx1 + dely1 * dely1 + delz1 * delz1); + + double delx2 = x[i3][0] - x[i2][0]; + double dely2 = x[i3][1] - x[i2][1]; + double delz2 = x[i3][2] - x[i2][2]; + domain->minimum_image(delx2, dely2, delz2); + double r2 = sqrt(delx2 * delx2 + dely2 * dely2 + delz2 * delz2); + + double c = delx1 * delx2 + dely1 * dely2 + delz1 * delz2; + c /= r1 * r2; + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + double sq_sin = 1.0 - c * c; + double dcostheta = c - cos(theta0[type]); + double tk = k[type] * dcostheta / sq_sin; + return tk * dcostheta; +} + +/* ---------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::born_matrix(int type, int i1, int i2, int i3, double &du, + double &du2) +{ + double **x = atom->x; + + double delx1 = x[i1][0] - x[i2][0]; + double dely1 = x[i1][1] - x[i2][1]; + double delz1 = x[i1][2] - x[i2][2]; + domain->minimum_image(delx1, dely1, delz1); + double r1 = sqrt(delx1 * delx1 + dely1 * dely1 + delz1 * delz1); + + double delx2 = x[i3][0] - x[i2][0]; + double dely2 = x[i3][1] - x[i2][1]; + double delz2 = x[i3][2] - x[i2][2]; + domain->minimum_image(delx2, dely2, delz2); + double r2 = sqrt(delx2 * delx2 + dely2 * dely2 + delz2 * delz2); + + double c = delx1 * delx2 + dely1 * dely2 + delz1 * delz2; + c /= r1 * r2; + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + double c0 = cos(theta0[type]); + double sq_sin = 1.0 - c * c; + + du = 2 * k[type] * (c - c0) * (1.0 - c * c0) / (sq_sin * sq_sin); + + double numerator = 2.0 * c0 * c * c * c - 3.0 * (c0 * c0 + 1) * c * c + 6 * c0 * c - c0 * c0 - 1; + double denominator = sq_sin * sq_sin * sq_sin; + + du2 = 2 * k[type] * numerator / denominator; +} diff --git a/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.h b/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.h new file mode 100644 index 0000000000..674252b7d0 --- /dev/null +++ b/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.h @@ -0,0 +1,49 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef ANGLE_CLASS +// clang-format off +AngleStyle(cosine/squared/restricted,AngleCosineSquaredRestricted); +// clang-format on +#else + +#ifndef LMP_ANGLE_COSINE_SQUARED_RESTRICTED_H +#define LMP_ANGLE_COSINE_SQUARED_RESTRICTED_H + +#include "angle.h" + +namespace LAMMPS_NS { + +class AngleCosineSquaredRestricted : public Angle { + public: + AngleCosineSquaredRestricted(class LAMMPS *); + ~AngleCosineSquaredRestricted() override; + void compute(int, int) override; + void coeff(int, char **) override; + double equilibrium_angle(int) override; + void write_restart(FILE *) override; + void read_restart(FILE *) override; + void write_data(FILE *) override; + double single(int, int, int, int) override; + void born_matrix(int type, int i1, int i2, int i3, double &du, double &du2) override; + + protected: + double *k, *theta0; + + void allocate(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp b/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp new file mode 100644 index 0000000000..5b2feb6897 --- /dev/null +++ b/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp @@ -0,0 +1,395 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "dihedral_cosine_squared_restricted.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "math_const.h" +#include "memory.h" +#include "neighbor.h" + +#include + +using namespace LAMMPS_NS; +using MathConst::DEG2RAD; +using MathConst::RAD2DEG; + +static constexpr double TOLERANCE = 0.05; +static constexpr double SMALL = 0.001; + +/* ---------------------------------------------------------------------- */ + +DihedralCosineSquaredRestricted::DihedralCosineSquaredRestricted(LAMMPS *_lmp) : + Dihedral(_lmp), k(nullptr), phi0(nullptr) +{ + writedata = 1; + born_matrix_enable = 1; +} + +/* ---------------------------------------------------------------------- */ + +DihedralCosineSquaredRestricted::~DihedralCosineSquaredRestricted() +{ + if (allocated) { + memory->destroy(setflag); + memory->destroy(k); + memory->destroy(phi0); + } +} + +/* ---------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::compute(int eflag, int vflag) +{ + int i1, i2, i3, i4, n, type; + double vb1x, vb1y, vb1z, vb2x, vb2y, vb2z, vb3x, vb3y, vb3z, vb2xm, vb2ym, vb2zm; + double edihedral, f1[3], f2[3], f3[3], f4[3]; + double sb1, sb2, sb3, rb1, rb3, c0, b1mag2, b1mag, b2mag2; + double b2mag, b3mag2, b3mag, ctmp, r12c1, c1mag, r12c2; + double c2mag, sc1, sc2, s1, s12, c, pd, a, a11, a22; + double a33, a12, a13, a23, sx2, sy2, sz2; + double s2, sin2; + + edihedral = 0.0; + ev_init(eflag, vflag); + + double **x = atom->x; + double **f = atom->f; + int **dihedrallist = neighbor->dihedrallist; + int ndihedrallist = neighbor->ndihedrallist; + int nlocal = atom->nlocal; + int newton_bond = force->newton_bond; + + for (n = 0; n < ndihedrallist; n++) { + i1 = dihedrallist[n][0]; + i2 = dihedrallist[n][1]; + i3 = dihedrallist[n][2]; + i4 = dihedrallist[n][3]; + type = dihedrallist[n][4]; + + // 1st bond + + vb1x = x[i1][0] - x[i2][0]; + vb1y = x[i1][1] - x[i2][1]; + vb1z = x[i1][2] - x[i2][2]; + + // 2nd bond + + vb2x = x[i3][0] - x[i2][0]; + vb2y = x[i3][1] - x[i2][1]; + vb2z = x[i3][2] - x[i2][2]; + + vb2xm = -vb2x; + vb2ym = -vb2y; + vb2zm = -vb2z; + + // 3rd bond + + vb3x = x[i4][0] - x[i3][0]; + vb3y = x[i4][1] - x[i3][1]; + vb3z = x[i4][2] - x[i3][2]; + + // c0 calculation + + sb1 = 1.0 / (vb1x * vb1x + vb1y * vb1y + vb1z * vb1z); + sb2 = 1.0 / (vb2x * vb2x + vb2y * vb2y + vb2z * vb2z); + sb3 = 1.0 / (vb3x * vb3x + vb3y * vb3y + vb3z * vb3z); + + rb1 = sqrt(sb1); + rb3 = sqrt(sb3); + + c0 = (vb1x * vb3x + vb1y * vb3y + vb1z * vb3z) * rb1 * rb3; + + // 1st and 2nd angle + + b1mag2 = vb1x * vb1x + vb1y * vb1y + vb1z * vb1z; + b1mag = sqrt(b1mag2); + b2mag2 = vb2x * vb2x + vb2y * vb2y + vb2z * vb2z; + b2mag = sqrt(b2mag2); + b3mag2 = vb3x * vb3x + vb3y * vb3y + vb3z * vb3z; + b3mag = sqrt(b3mag2); + + ctmp = vb1x * vb2x + vb1y * vb2y + vb1z * vb2z; + r12c1 = 1.0 / (b1mag * b2mag); + c1mag = ctmp * r12c1; + + ctmp = vb2xm * vb3x + vb2ym * vb3y + vb2zm * vb3z; + r12c2 = 1.0 / (b2mag * b3mag); + c2mag = ctmp * r12c2; + + // cos and sin of 2 angles and final c + + sin2 = MAX(1.0 - c1mag * c1mag, 0.0); + sc1 = sqrt(sin2); + if (sc1 < SMALL) sc1 = SMALL; + sc1 = 1.0 / sc1; + + sin2 = MAX(1.0 - c2mag * c2mag, 0.0); + sc2 = sqrt(sin2); + if (sc2 < SMALL) sc2 = SMALL; + sc2 = 1.0 / sc2; + + s1 = sc1 * sc1; + s2 = sc2 * sc2; + s12 = sc1 * sc2; + c = (c0 + c1mag * c2mag) * s12; + + // error check + + if (c > 1.0 + TOLERANCE || c < (-1.0 - TOLERANCE)) problem(FLERR, i1, i2, i3, i4); + + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + // force & energy + + double p0 = cos(phi0[type]); + double sq_sin = 1.0 - c * c; + + pd = 2 * k[type] * (c - p0) * (1.0 - c * p0) / (sq_sin * sq_sin); + + if (eflag) edihedral = k[type] * (c - p0) * (c - p0) / sq_sin; + + a = pd; + c = c * a; + s12 = s12 * a; + a11 = c * sb1 * s1; + a22 = -sb2 * (2.0 * c0 * s12 - c * (s1 + s2)); + a33 = c * sb3 * s2; + a12 = -r12c1 * (c1mag * c * s1 + c2mag * s12); + a13 = -rb1 * rb3 * s12; + a23 = r12c2 * (c2mag * c * s2 + c1mag * s12); + + sx2 = a12 * vb1x + a22 * vb2x + a23 * vb3x; + sy2 = a12 * vb1y + a22 * vb2y + a23 * vb3y; + sz2 = a12 * vb1z + a22 * vb2z + a23 * vb3z; + + f1[0] = a11 * vb1x + a12 * vb2x + a13 * vb3x; + f1[1] = a11 * vb1y + a12 * vb2y + a13 * vb3y; + f1[2] = a11 * vb1z + a12 * vb2z + a13 * vb3z; + + f2[0] = -sx2 - f1[0]; + f2[1] = -sy2 - f1[1]; + f2[2] = -sz2 - f1[2]; + + f4[0] = a13 * vb1x + a23 * vb2x + a33 * vb3x; + f4[1] = a13 * vb1y + a23 * vb2y + a33 * vb3y; + f4[2] = a13 * vb1z + a23 * vb2z + a33 * vb3z; + + f3[0] = sx2 - f4[0]; + f3[1] = sy2 - f4[1]; + f3[2] = sz2 - f4[2]; + + // apply force to each of 4 atoms + + if (newton_bond || i1 < nlocal) { + f[i1][0] += f1[0]; + f[i1][1] += f1[1]; + f[i1][2] += f1[2]; + } + + if (newton_bond || i2 < nlocal) { + f[i2][0] += f2[0]; + f[i2][1] += f2[1]; + f[i2][2] += f2[2]; + } + + if (newton_bond || i3 < nlocal) { + f[i3][0] += f3[0]; + f[i3][1] += f3[1]; + f[i3][2] += f3[2]; + } + + if (newton_bond || i4 < nlocal) { + f[i4][0] += f4[0]; + f[i4][1] += f4[1]; + f[i4][2] += f4[2]; + } + + if (evflag) + ev_tally(i1, i2, i3, i4, nlocal, newton_bond, edihedral, f1, f3, f4, vb1x, vb1y, vb1z, vb2x, + vb2y, vb2z, vb3x, vb3y, vb3z); + } +} + +/* ---------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::allocate() +{ + allocated = 1; + const int np1 = atom->ndihedraltypes + 1; + + memory->create(k, np1, "dihedral:k"); + memory->create(phi0, np1, "dihedral:phi0"); + + memory->create(setflag, np1, "dihedral:setflag"); + for (int i = 1; i < np1; i++) setflag[i] = 0; +} + +/* ---------------------------------------------------------------------- + set coeffs for one type +------------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::coeff(int narg, char **arg) +{ + if (narg != 3) error->all(FLERR, "Incorrect args for dihedral coefficients"); + if (!allocated) allocate(); + + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->ndihedraltypes, ilo, ihi, error); + + double k_one = utils::numeric(FLERR, arg[1], false, lmp); + double phi0_one = utils::numeric(FLERR, arg[2], false, lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + k[i] = k_one; + phi0[i] = DEG2RAD * phi0_one; + setflag[i] = 1; + count++; + } + + if (count == 0) error->all(FLERR, "Incorrect args for dihedral coefficients"); +} + +/* ---------------------------------------------------------------------- + proc 0 writes out coeffs to restart file +------------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::write_restart(FILE *fp) +{ + fwrite(&k[1], sizeof(double), atom->ndihedraltypes, fp); + fwrite(&phi0[1], sizeof(double), atom->ndihedraltypes, fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads coeffs from restart file, bcasts them +------------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::read_restart(FILE *fp) +{ + allocate(); + + if (comm->me == 0) { + utils::sfread(FLERR, &k[1], sizeof(double), atom->ndihedraltypes, fp, nullptr, error); + utils::sfread(FLERR, &phi0[1], sizeof(double), atom->ndihedraltypes, fp, nullptr, error); + } + MPI_Bcast(&k[1], atom->ndihedraltypes, MPI_DOUBLE, 0, world); + MPI_Bcast(&phi0[1], atom->ndihedraltypes, MPI_DOUBLE, 0, world); + + for (int i = 1; i <= atom->ndihedraltypes; i++) setflag[i] = 1; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ndihedraltypes; i++) + fprintf(fp, "%d %g %g\n", i, k[i], RAD2DEG * phi0[i]); +} + +/* ---------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::born_matrix(int nd, int i1, int i2, int i3, int i4, + double &du, double &du2) +{ + double vb1x, vb1y, vb1z, vb2x, vb2y, vb2z, vb3x, vb3y, vb3z, vb2xm, vb2ym, vb2zm; + double sb1, sb3, rb1, rb3, c0, b1mag2, b1mag, b2mag2; + double b2mag, b3mag2, b3mag, ctmp, r12c1, c1mag, r12c2; + double c2mag, sc1, sc2, s12, c; + double sin2; + + double **x = atom->x; + int **dihedrallist = neighbor->dihedrallist; + + int type = dihedrallist[nd][4]; + + // 1st bond + vb1x = x[i1][0] - x[i2][0]; + vb1y = x[i1][1] - x[i2][1]; + vb1z = x[i1][2] - x[i2][2]; + + // 2nd bond + vb2x = x[i3][0] - x[i2][0]; + vb2y = x[i3][1] - x[i2][1]; + vb2z = x[i3][2] - x[i2][2]; + + vb2xm = -vb2x; + vb2ym = -vb2y; + vb2zm = -vb2z; + + // 3rd bond + vb3x = x[i4][0] - x[i3][0]; + vb3y = x[i4][1] - x[i3][1]; + vb3z = x[i4][2] - x[i3][2]; + + // c0 calculation + sb1 = 1.0 / (vb1x * vb1x + vb1y * vb1y + vb1z * vb1z); + sb3 = 1.0 / (vb3x * vb3x + vb3y * vb3y + vb3z * vb3z); + + rb1 = sqrt(sb1); + rb3 = sqrt(sb3); + + c0 = (vb1x * vb3x + vb1y * vb3y + vb1z * vb3z) * rb1 * rb3; + + // 1st and 2nd angle + b1mag2 = vb1x * vb1x + vb1y * vb1y + vb1z * vb1z; + b1mag = sqrt(b1mag2); + b2mag2 = vb2x * vb2x + vb2y * vb2y + vb2z * vb2z; + b2mag = sqrt(b2mag2); + b3mag2 = vb3x * vb3x + vb3y * vb3y + vb3z * vb3z; + b3mag = sqrt(b3mag2); + + ctmp = vb1x * vb2x + vb1y * vb2y + vb1z * vb2z; + r12c1 = 1.0 / (b1mag * b2mag); + c1mag = ctmp * r12c1; + + ctmp = vb2xm * vb3x + vb2ym * vb3y + vb2zm * vb3z; + r12c2 = 1.0 / (b2mag * b3mag); + c2mag = ctmp * r12c2; + + // cos and sin of 2 angles and final c + sin2 = MAX(1.0 - c1mag * c1mag, 0.0); + sc1 = sqrt(sin2); + if (sc1 < SMALL) sc1 = SMALL; + sc1 = 1.0 / sc1; + + sin2 = MAX(1.0 - c2mag * c2mag, 0.0); + sc2 = sqrt(sin2); + if (sc2 < SMALL) sc2 = SMALL; + sc2 = 1.0 / sc2; + + s12 = sc1 * sc2; + c = (c0 + c1mag * c2mag) * s12; + + // error check + if (c > 1.0 + TOLERANCE || c < (-1.0 - TOLERANCE)) problem(FLERR, i1, i2, i3, i4); + + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + double p0 = cos(phi0[type]); + double sq_sin = 1.0 - c * c; + + du = 2 * k[type] * (c - p0) * (1.0 - c * p0) / (sq_sin * sq_sin); + + double numerator = 2.0 * p0 * c * c * c - 3.0 * (p0 * p0 + 1) * c * c + 6 * p0 * c - p0 * p0 - 1; + double denominator = sq_sin * sq_sin * sq_sin; + + du2 = 2 * k[type] * numerator / denominator; +} diff --git a/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.h b/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.h new file mode 100644 index 0000000000..b9e2e1d9d8 --- /dev/null +++ b/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.h @@ -0,0 +1,47 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef DIHEDRAL_CLASS +// clang-format off +DihedralStyle(cosine/squared/restricted,DihedralCosineSquaredRestricted); +// clang-format on +#else + +#ifndef LMP_DIHEDRAL_COSINE_SQUARED_RESTRICTED_H +#define LMP_DIHEDRAL_COSINE_SQUARED_RESTRICTED_H + +#include "dihedral.h" + +namespace LAMMPS_NS { + +class DihedralCosineSquaredRestricted : public Dihedral { + public: + DihedralCosineSquaredRestricted(class LAMMPS *); + ~DihedralCosineSquaredRestricted() override; + void compute(int, int) override; + void coeff(int, char **) override; + void write_restart(FILE *) override; + void read_restart(FILE *) override; + void write_data(FILE *) override; + void born_matrix(int, int, int, int, int, double &, double &) override; + + protected: + double *k, *phi0; + + void allocate(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/EXTRA-PAIR/pair_born_gauss.cpp b/src/EXTRA-PAIR/pair_born_gauss.cpp index f60cc4dc6f..4b1390889d 100644 --- a/src/EXTRA-PAIR/pair_born_gauss.cpp +++ b/src/EXTRA-PAIR/pair_born_gauss.cpp @@ -18,10 +18,8 @@ #include "atom.h" #include "comm.h" #include "error.h" -#include "fix.h" #include "force.h" #include "memory.h" -#include "modify.h" #include "neigh_list.h" #include diff --git a/src/EXTRA-PAIR/pair_lj_cut_coul_dsf.cpp b/src/EXTRA-PAIR/pair_lj_cut_coul_dsf.cpp index 9356062914..6ac0c1cdae 100644 --- a/src/EXTRA-PAIR/pair_lj_cut_coul_dsf.cpp +++ b/src/EXTRA-PAIR/pair_lj_cut_coul_dsf.cpp @@ -22,6 +22,7 @@ #include "atom.h" #include "comm.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "math_const.h" #include "memory.h" @@ -32,15 +33,9 @@ #include using namespace LAMMPS_NS; +using namespace EwaldConst; using namespace MathConst; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - /* ---------------------------------------------------------------------- */ PairLJCutCoulDSF::PairLJCutCoulDSF(LAMMPS *lmp) : Pair(lmp) diff --git a/src/EXTRA-PAIR/pair_lj_cut_sphere.cpp b/src/EXTRA-PAIR/pair_lj_cut_sphere.cpp index 3f16a96666..852b2eea1d 100644 --- a/src/EXTRA-PAIR/pair_lj_cut_sphere.cpp +++ b/src/EXTRA-PAIR/pair_lj_cut_sphere.cpp @@ -20,10 +20,7 @@ #include "math_special.h" #include "memory.h" #include "neigh_list.h" -#include "neighbor.h" -#include "update.h" -#include #include using namespace LAMMPS_NS; diff --git a/src/EXTRA-PAIR/pair_lj_expand_sphere.cpp b/src/EXTRA-PAIR/pair_lj_expand_sphere.cpp index 089a9deea7..c275a9f9ee 100644 --- a/src/EXTRA-PAIR/pair_lj_expand_sphere.cpp +++ b/src/EXTRA-PAIR/pair_lj_expand_sphere.cpp @@ -20,8 +20,6 @@ #include "math_special.h" #include "memory.h" #include "neigh_list.h" -#include "neighbor.h" -#include "update.h" #include #include diff --git a/src/EXTRA-PAIR/pair_pedone.cpp b/src/EXTRA-PAIR/pair_pedone.cpp new file mode 100644 index 0000000000..9b8ce451d9 --- /dev/null +++ b/src/EXTRA-PAIR/pair_pedone.cpp @@ -0,0 +1,389 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + +#include "pair_pedone.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "memory.h" +#include "neigh_list.h" + +#include +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +PairPedone::PairPedone(LAMMPS *lmp) : + Pair(lmp), cut(nullptr), d0(nullptr), alpha(nullptr), r0(nullptr), c0(nullptr), + pedone1(nullptr), pedone2(nullptr), offset(nullptr) +{ + writedata = 1; +} + +/* ---------------------------------------------------------------------- */ + +PairPedone::~PairPedone() +{ + if (copymode) return; + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + + memory->destroy(cut); + memory->destroy(c0); + memory->destroy(d0); + memory->destroy(alpha); + memory->destroy(r0); + memory->destroy(pedone1); + memory->destroy(pedone2); + memory->destroy(offset); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairPedone::compute(int eflag, int vflag) +{ + int i, j, ii, jj, inum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair; + double rsq, r, r2inv, r6inv, dr, dexp, factor_lj; + int *ilist, *jlist, *numneigh, **firstneigh; + + evdwl = 0.0; + ev_init(eflag, vflag); + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx * delx + dely * dely + delz * delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + dexp = exp(-alpha[itype][jtype] * dr); + fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + + pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fpair *= factor_lj; + + f[i][0] += delx * fpair; + f[i][1] += dely * fpair; + f[i][2] += delz * fpair; + if (newton_pair || j < nlocal) { + f[j][0] -= delx * fpair; + f[j][1] -= dely * fpair; + f[j][2] -= delz * fpair; + } + + if (eflag) { + evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) + c0[itype][jtype] * r6inv * r6inv - + offset[itype][jtype]; + evdwl *= factor_lj; + } + + if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, fpair, delx, dely, delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairPedone::allocate() +{ + allocated = 1; + int np1 = atom->ntypes + 1; + + memory->create(setflag, np1, np1, "pair:setflag"); + for (int i = 1; i < np1; i++) + for (int j = i; j < np1; j++) setflag[i][j] = 0; + + memory->create(cutsq, np1, np1, "pair:cutsq"); + + memory->create(cut, np1, np1, "pair:cut"); + memory->create(c0, np1, np1, "pair:c0"); + memory->create(d0, np1, np1, "pair:d0"); + memory->create(alpha, np1, np1, "pair:alpha"); + memory->create(r0, np1, np1, "pair:r0"); + memory->create(pedone1, np1, np1, "pair:pedone1"); + memory->create(pedone2, np1, np1, "pair:pedone2"); + memory->create(offset, np1, np1, "pair:offset"); +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairPedone::settings(int narg, char **arg) +{ + if (narg != 1) error->all(FLERR, "Illegal pair_style command"); + + cut_global = utils::numeric(FLERR, arg[0], false, lmp); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i, j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) + if (setflag[i][j]) cut[i][j] = cut_global; + } +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairPedone::coeff(int narg, char **arg) +{ + if (narg < 6 || narg > 7) error->all(FLERR, "Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); + + double d0_one = utils::numeric(FLERR, arg[2], false, lmp); + double alpha_one = utils::numeric(FLERR, arg[3], false, lmp); + double r0_one = utils::numeric(FLERR, arg[4], false, lmp); + double c0_one = utils::numeric(FLERR, arg[5], false, lmp); + + double cut_one = cut_global; + if (narg == 7) cut_one = utils::numeric(FLERR, arg[6], false, lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo, i); j <= jhi; j++) { + c0[i][j] = c0_one; + d0[i][j] = d0_one; + alpha[i][j] = alpha_one; + r0[i][j] = r0_one; + cut[i][j] = cut_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairPedone::init_one(int i, int j) +{ + if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); + + pedone1[i][j] = 2.0 * d0[i][j] * alpha[i][j]; + pedone2[i][j] = 12.0 * c0[i][j]; + + if (offset_flag) { + double alpha_dr = -alpha[i][j] * (cut[i][j] - r0[i][j]); + offset[i][j] = + d0[i][j] * (exp(2.0 * alpha_dr) - 2.0 * exp(alpha_dr)) - c0[i][j] / pow(cut[i][j], 12.0); + } else + offset[i][j] = 0.0; + + c0[j][i] = c0[i][j]; + d0[j][i] = d0[i][j]; + alpha[j][i] = alpha[i][j]; + r0[j][i] = r0[i][j]; + pedone1[j][i] = pedone1[i][j]; + pedone2[j][i] = pedone2[i][j]; + offset[j][i] = offset[i][j]; + + return cut[i][j]; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairPedone::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i, j; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j], sizeof(int), 1, fp); + if (setflag[i][j]) { + fwrite(&c0[i][j], sizeof(double), 1, fp); + fwrite(&d0[i][j], sizeof(double), 1, fp); + fwrite(&alpha[i][j], sizeof(double), 1, fp); + fwrite(&r0[i][j], sizeof(double), 1, fp); + fwrite(&cut[i][j], sizeof(double), 1, fp); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairPedone::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i, j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) utils::sfread(FLERR, &setflag[i][j], sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&setflag[i][j], 1, MPI_INT, 0, world); + if (setflag[i][j]) { + if (me == 0) { + utils::sfread(FLERR, &c0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &d0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &alpha[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &r0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &cut[i][j], sizeof(double), 1, fp, nullptr, error); + } + MPI_Bcast(&c0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&d0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&alpha[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&r0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&cut[i][j], 1, MPI_DOUBLE, 0, world); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairPedone::write_restart_settings(FILE *fp) +{ + fwrite(&cut_global, sizeof(double), 1, fp); + fwrite(&offset_flag, sizeof(int), 1, fp); + fwrite(&mix_flag, sizeof(int), 1, fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairPedone::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + utils::sfread(FLERR, &cut_global, sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &offset_flag, sizeof(int), 1, fp, nullptr, error); + utils::sfread(FLERR, &mix_flag, sizeof(int), 1, fp, nullptr, error); + } + MPI_Bcast(&cut_global, 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&offset_flag, 1, MPI_INT, 0, world); + MPI_Bcast(&mix_flag, 1, MPI_INT, 0, world); +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairPedone::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp, "%d %g %g %g %g\n", i, d0[i][i], alpha[i][i], r0[i][i], c0[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairPedone::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp, "%d %d %g %g %g %g %g\n", i, j, d0[i][j], alpha[i][j], r0[i][j], c0[i][j], + cut[i][j]); +} + +/* ---------------------------------------------------------------------- */ + +double PairPedone::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) +{ + double r, dr, dexp, phi, r2inv, r6inv; + + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + dexp = exp(-alpha[itype][jtype] * dr); + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + + pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fforce *= factor_lj; + + phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) + c0[itype][jtype] * r6inv * r6inv - + offset[itype][jtype]; + return factor_lj * phi; +} + +/* ---------------------------------------------------------------------- */ + +void *PairPedone::extract(const char *str, int &dim) +{ + dim = 2; + if (strcmp(str, "c0") == 0) return (void *) c0; + if (strcmp(str, "d0") == 0) return (void *) d0; + if (strcmp(str, "r0") == 0) return (void *) r0; + if (strcmp(str, "alpha") == 0) return (void *) alpha; + return nullptr; +} diff --git a/src/EXTRA-PAIR/pair_pedone.h b/src/EXTRA-PAIR/pair_pedone.h new file mode 100644 index 0000000000..a54f50a6b3 --- /dev/null +++ b/src/EXTRA-PAIR/pair_pedone.h @@ -0,0 +1,58 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(pedone,PairPedone); +// clang-format on +#else + +#ifndef LMP_PAIR_PEDONE_H +#define LMP_PAIR_PEDONE_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairPedone : public Pair { + public: + PairPedone(class LAMMPS *); + ~PairPedone() override; + void compute(int, int) override; + + void settings(int, char **) override; + void coeff(int, char **) override; + double init_one(int, int) override; + void write_restart(FILE *) override; + void read_restart(FILE *) override; + void write_restart_settings(FILE *) override; + void read_restart_settings(FILE *) override; + void write_data(FILE *) override; + void write_data_all(FILE *) override; + double single(int, int, int, int, double, double, double, double &) override; + void *extract(const char *, int &) override; + + protected: + double cut_global; + double **cut; + double **d0, **alpha, **r0, **c0; + double **pedone1, **pedone2; + double **offset; + + virtual void allocate(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/GPU/pair_coul_dsf_gpu.cpp b/src/GPU/pair_coul_dsf_gpu.cpp index a3ac4542e8..86f104d2e8 100644 --- a/src/GPU/pair_coul_dsf_gpu.cpp +++ b/src/GPU/pair_coul_dsf_gpu.cpp @@ -20,6 +20,7 @@ #include "atom.h" #include "domain.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "gpu_extra.h" #include "math_const.h" @@ -29,14 +30,8 @@ #include -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - using namespace LAMMPS_NS; +using namespace EwaldConst; using MathConst::MY_PIS; // External functions from cuda library for atom decomposition diff --git a/src/GPU/pair_lj_cut_coul_dsf_gpu.cpp b/src/GPU/pair_lj_cut_coul_dsf_gpu.cpp index d389425e6a..32a4008def 100644 --- a/src/GPU/pair_lj_cut_coul_dsf_gpu.cpp +++ b/src/GPU/pair_lj_cut_coul_dsf_gpu.cpp @@ -20,6 +20,7 @@ #include "atom.h" #include "domain.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "gpu_extra.h" #include "math_const.h" @@ -30,15 +31,9 @@ #include using namespace LAMMPS_NS; +using namespace EwaldConst; using MathConst::MY_PIS; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - // External functions from cuda library for atom decomposition int ljd_gpu_init(const int ntypes, double **cutsq, double **host_lj1, double **host_lj2, diff --git a/src/GPU/pair_lj_cut_dipole_cut_gpu.cpp b/src/GPU/pair_lj_cut_dipole_cut_gpu.cpp index b71e526bf2..1052e16c11 100644 --- a/src/GPU/pair_lj_cut_dipole_cut_gpu.cpp +++ b/src/GPU/pair_lj_cut_dipole_cut_gpu.cpp @@ -179,7 +179,7 @@ void PairLJCutDipoleCutGPU::cpu_compute(int start, int inum, int eflag, int vfla double qtmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fx, fy, fz; double rsq, rinv, r2inv, r6inv, r3inv, r5inv, r7inv; double forcecoulx, forcecouly, forcecoulz, crossx, crossy, crossz; - double tixcoul, tiycoul, tizcoul, tjxcoul, tjycoul, tjzcoul; + double tixcoul, tiycoul, tizcoul; double fq, pdotp, pidotr, pjdotr, pre1, pre2, pre3, pre4; double forcelj, factor_coul, factor_lj; int *jlist; @@ -230,7 +230,6 @@ void PairLJCutDipoleCutGPU::cpu_compute(int start, int inum, int eflag, int vfla forcecoulx = forcecouly = forcecoulz = 0.0; tixcoul = tiycoul = tizcoul = 0.0; - tjxcoul = tjycoul = tjzcoul = 0.0; if (rsq < cut_coulsq[itype][jtype]) { @@ -268,9 +267,6 @@ void PairLJCutDipoleCutGPU::cpu_compute(int start, int inum, int eflag, int vfla tixcoul += crossx + pre2 * (mu[i][1] * delz - mu[i][2] * dely); tiycoul += crossy + pre2 * (mu[i][2] * delx - mu[i][0] * delz); tizcoul += crossz + pre2 * (mu[i][0] * dely - mu[i][1] * delx); - tjxcoul += -crossx + pre3 * (mu[j][1] * delz - mu[j][2] * dely); - tjycoul += -crossy + pre3 * (mu[j][2] * delx - mu[j][0] * delz); - tjzcoul += -crossz + pre3 * (mu[j][0] * dely - mu[j][1] * delx); } if (mu[i][3] > 0.0 && q[j] != 0.0) { @@ -298,9 +294,6 @@ void PairLJCutDipoleCutGPU::cpu_compute(int start, int inum, int eflag, int vfla forcecoulx += pre1 * delx - pre2 * mu[j][0]; forcecouly += pre1 * dely - pre2 * mu[j][1]; forcecoulz += pre1 * delz - pre2 * mu[j][2]; - tjxcoul += -pre2 * (mu[j][1] * delz - mu[j][2] * dely); - tjycoul += -pre2 * (mu[j][2] * delx - mu[j][0] * delz); - tjzcoul += -pre2 * (mu[j][0] * dely - mu[j][1] * delx); } } diff --git a/src/GPU/pair_lj_sf_dipole_sf_gpu.cpp b/src/GPU/pair_lj_sf_dipole_sf_gpu.cpp index 4d8fbb5139..57ba3ec353 100644 --- a/src/GPU/pair_lj_sf_dipole_sf_gpu.cpp +++ b/src/GPU/pair_lj_sf_dipole_sf_gpu.cpp @@ -178,8 +178,8 @@ void PairLJSFDipoleSFGPU::cpu_compute(int start, int inum, int eflag, int vflag, double qtmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fx, fy, fz; double rsq, rinv, r2inv, r6inv, r3inv, r5inv; double forcecoulx, forcecouly, forcecoulz, crossx, crossy, crossz; - double tixcoul, tiycoul, tizcoul, tjxcoul, tjycoul, tjzcoul; - double fq, pdotp, pidotr, pjdotr, pre1, pre2, pre3, pre4; + double tixcoul, tiycoul, tizcoul; + double fq, pdotp, pidotr, pjdotr, pre1, pre2, pre4; double forcelj, factor_coul, factor_lj; double presf, afac, bfac, pqfac, qpfac, forceljcut, forceljsf; double aforcecoulx, aforcecouly, aforcecoulz; @@ -233,7 +233,6 @@ void PairLJSFDipoleSFGPU::cpu_compute(int start, int inum, int eflag, int vflag, forcecoulx = forcecouly = forcecoulz = 0.0; tixcoul = tiycoul = tizcoul = 0.0; - tjxcoul = tjycoul = tjzcoul = 0.0; if (rsq < cut_coulsq[itype][jtype]) { @@ -272,7 +271,6 @@ void PairLJSFDipoleSFGPU::cpu_compute(int start, int inum, int eflag, int vflag, forcecoulz += 3.0 * r5inv * (aforcecoulz + bforcecoulz); pre2 = 3.0 * bfac * r5inv * pjdotr; - pre3 = 3.0 * bfac * r5inv * pidotr; pre4 = -bfac * r3inv; crossx = pre4 * (mu[i][1] * mu[j][2] - mu[i][2] * mu[j][1]); @@ -282,9 +280,6 @@ void PairLJSFDipoleSFGPU::cpu_compute(int start, int inum, int eflag, int vflag, tixcoul += crossx + pre2 * (mu[i][1] * delz - mu[i][2] * dely); tiycoul += crossy + pre2 * (mu[i][2] * delx - mu[i][0] * delz); tizcoul += crossz + pre2 * (mu[i][0] * dely - mu[i][1] * delx); - tjxcoul += -crossx + pre3 * (mu[j][1] * delz - mu[j][2] * dely); - tjycoul += -crossy + pre3 * (mu[j][2] * delx - mu[j][0] * delz); - tjzcoul += -crossz + pre3 * (mu[j][0] * dely - mu[j][1] * delx); } if (mu[i][3] > 0.0 && q[j] != 0.0) { @@ -318,9 +313,6 @@ void PairLJSFDipoleSFGPU::cpu_compute(int start, int inum, int eflag, int vflag, forcecoulx += pre1 * delx - pre2 * mu[j][0]; forcecouly += pre1 * dely - pre2 * mu[j][1]; forcecoulz += pre1 * delz - pre2 * mu[j][2]; - tjxcoul += -pre2 * (mu[j][1] * delz - mu[j][2] * dely); - tjycoul += -pre2 * (mu[j][2] * delx - mu[j][0] * delz); - tjzcoul += -pre2 * (mu[j][0] * dely - mu[j][1] * delx); } } diff --git a/src/GPU/pair_sph_heatconduction_gpu.cpp b/src/GPU/pair_sph_heatconduction_gpu.cpp index a81de53c91..ba68c5fcc5 100644 --- a/src/GPU/pair_sph_heatconduction_gpu.cpp +++ b/src/GPU/pair_sph_heatconduction_gpu.cpp @@ -113,7 +113,7 @@ void PairSPHHeatConductionGPU::compute(int eflag, int vflag) neighbor->ago, inum, nall, atom->x, atom->type, sublo, subhi, atom->tag, atom->nspecial, atom->special, eflag, vflag, eflag_atom, vflag_atom, host_start, &ilist, &numneigh, - cpu_time, success, atom->v); + cpu_time, success, atom->vest); } else { inum = list->inum; ilist = list->ilist; @@ -122,7 +122,7 @@ void PairSPHHeatConductionGPU::compute(int eflag, int vflag) sph_heatconduction_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, ilist, numneigh, firstneigh, eflag, vflag, eflag_atom, vflag_atom, host_start, cpu_time, success, - atom->tag, atom->v); + atom->tag, atom->vest); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); diff --git a/src/GPU/pair_sph_lj_gpu.cpp b/src/GPU/pair_sph_lj_gpu.cpp index 46d7b38073..d503a26335 100644 --- a/src/GPU/pair_sph_lj_gpu.cpp +++ b/src/GPU/pair_sph_lj_gpu.cpp @@ -114,7 +114,7 @@ void PairSPHLJGPU::compute(int eflag, int vflag) neighbor->ago, inum, nall, atom->x, atom->type, sublo, subhi, atom->tag, atom->nspecial, atom->special, eflag, vflag, eflag_atom, vflag_atom, host_start, &ilist, &numneigh, - cpu_time, success, atom->v); + cpu_time, success, atom->vest); } else { inum = list->inum; ilist = list->ilist; @@ -123,7 +123,7 @@ void PairSPHLJGPU::compute(int eflag, int vflag) sph_lj_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, ilist, numneigh, firstneigh, eflag, vflag, eflag_atom, vflag_atom, host_start, cpu_time, success, - atom->tag, atom->v); + atom->tag, atom->vest); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); @@ -136,21 +136,21 @@ void PairSPHLJGPU::compute(int eflag, int vflag) int nlocal = atom->nlocal; if (acc_float) { auto drhoE_ptr = (float *)drhoE_pinned; - int idx = 0; - for (int i = 0; i < nlocal; i++) { - drho[i] = drhoE_ptr[idx]; - desph[i] = drhoE_ptr[idx+1]; - idx += 2; - } + for (int i = 0; i < nlocal; i++) + drho[i] += drhoE_ptr[i]; + + drhoE_ptr += nlocal; + for (int i = 0; i < nlocal; i++) + desph[i] += drhoE_ptr[i]; } else { auto drhoE_ptr = (double *)drhoE_pinned; - int idx = 0; - for (int i = 0; i < nlocal; i++) { - drho[i] = drhoE_ptr[idx]; - desph[i] = drhoE_ptr[idx+1]; - idx += 2; - } + for (int i = 0; i < nlocal; i++) + drho[i] += drhoE_ptr[i]; + + drhoE_ptr += nlocal; + for (int i = 0; i < nlocal; i++) + desph[i] += drhoE_ptr[i]; } if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) diff --git a/src/GPU/pair_sph_taitwater_gpu.cpp b/src/GPU/pair_sph_taitwater_gpu.cpp index 6f2762c144..23252cea8a 100644 --- a/src/GPU/pair_sph_taitwater_gpu.cpp +++ b/src/GPU/pair_sph_taitwater_gpu.cpp @@ -18,6 +18,7 @@ #include "pair_sph_taitwater_gpu.h" #include "atom.h" +#include "comm.h" #include "domain.h" #include "error.h" #include "force.h" @@ -85,6 +86,25 @@ void PairSPHTaitwaterGPU::compute(int eflag, int vflag) { ev_init(eflag, vflag); + // check consistency of pair coefficients + + if (first) { + for (int i = 1; i <= atom->ntypes; i++) { + for (int j = 1; i <= atom->ntypes; i++) { + if (cutsq[i][j] > 1.e-32) { + if (!setflag[i][i] || !setflag[j][j]) { + if (comm->me == 0) { + printf( + "SPH particle types %d and %d interact with cutoff=%g, but not all of their single particle properties are set.\n", + i, j, sqrt(cutsq[i][j])); + } + } + } + } + } + first = 0; + } + int nall = atom->nlocal + atom->nghost; int inum, host_start; @@ -110,7 +130,7 @@ void PairSPHTaitwaterGPU::compute(int eflag, int vflag) firstneigh = sph_taitwater_gpu_compute_n( neighbor->ago, inum, nall, atom->x, atom->type, sublo, subhi, atom->tag, atom->nspecial, atom->special, eflag, vflag, eflag_atom, vflag_atom, host_start, &ilist, &numneigh, - cpu_time, success, atom->v); + cpu_time, success, atom->vest); } else { inum = list->inum; ilist = list->ilist; @@ -118,7 +138,7 @@ void PairSPHTaitwaterGPU::compute(int eflag, int vflag) firstneigh = list->firstneigh; sph_taitwater_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, ilist, numneigh, firstneigh, eflag, vflag, eflag_atom, vflag_atom, host_start, cpu_time, success, - atom->tag, atom->v); + atom->tag, atom->vest); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); @@ -131,21 +151,21 @@ void PairSPHTaitwaterGPU::compute(int eflag, int vflag) int nlocal = atom->nlocal; if (acc_float) { auto drhoE_ptr = (float *)drhoE_pinned; - int idx = 0; - for (int i = 0; i < nlocal; i++) { - drho[i] = drhoE_ptr[idx]; - desph[i] = drhoE_ptr[idx+1]; - idx += 2; - } + for (int i = 0; i < nlocal; i++) + drho[i] += drhoE_ptr[i]; + + drhoE_ptr += nlocal; + for (int i = 0; i < nlocal; i++) + desph[i] += drhoE_ptr[i]; } else { auto drhoE_ptr = (double *)drhoE_pinned; - int idx = 0; - for (int i = 0; i < nlocal; i++) { - drho[i] = drhoE_ptr[idx]; - desph[i] = drhoE_ptr[idx+1]; - idx += 2; - } + for (int i = 0; i < nlocal; i++) + drho[i] += drhoE_ptr[i]; + + drhoE_ptr += nlocal; + for (int i = 0; i < nlocal; i++) + desph[i] += drhoE_ptr[i]; } if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index adaf242c92..04afc95280 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -184,7 +184,7 @@ void ComputeFabric::compute_vector() double nx, ny, nz; double ncinv, denom, fn, ft, prefactor; double br_tensor[6], ft_tensor[6], fn_tensor[6]; - double trace_phi, trace_D, trace_Xfn, trace_Xft; + double trace_third_phi, trace_third_D, trace_third_Xfn, trace_third_Xft; double phi_ij[6] = {0.0}; double Ac_ij[6] = {0.0}; double D_ij[6] = {0.0}; @@ -295,11 +295,11 @@ void ComputeFabric::compute_vector() MPI_Allreduce(phi_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) phi_ij[i] = temp_dbl[i] * ncinv; - trace_phi = (1.0 / 3.0) * (phi_ij[0] + phi_ij[1] + phi_ij[2]); + trace_third_phi = (1.0 / 3.0) * (phi_ij[0] + phi_ij[1] + phi_ij[2]); - Ac_ij[0] = (15.0 / 2.0) * (phi_ij[0] - trace_phi); - Ac_ij[1] = (15.0 / 2.0) * (phi_ij[1] - trace_phi); - Ac_ij[2] = (15.0 / 2.0) * (phi_ij[2] - trace_phi); + Ac_ij[0] = (15.0 / 2.0) * (phi_ij[0] - trace_third_phi); + Ac_ij[1] = (15.0 / 2.0) * (phi_ij[1] - trace_third_phi); + Ac_ij[2] = (15.0 / 2.0) * (phi_ij[2] - trace_third_phi); Ac_ij[3] = (15.0 / 2.0) * (phi_ij[3]); Ac_ij[4] = (15.0 / 2.0) * (phi_ij[4]); Ac_ij[5] = (15.0 / 2.0) * (phi_ij[5]); @@ -419,14 +419,14 @@ void ComputeFabric::compute_vector() MPI_Allreduce(D_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) D_ij[i] = temp_dbl[i]; - trace_D = (1.0 / 3.0) * (D_ij[0] + D_ij[1] + D_ij[2]); + trace_third_D = (1.0 / 3.0) * (D_ij[0] + D_ij[1] + D_ij[2]); - br_tensor[0] = (15.0 / (6.0 * trace_D)) * (D_ij[0] - trace_D); - br_tensor[1] = (15.0 / (6.0 * trace_D)) * (D_ij[1] - trace_D); - br_tensor[2] = (15.0 / (6.0 * trace_D)) * (D_ij[2] - trace_D); - br_tensor[3] = (15.0 / (6.0 * trace_D)) * (D_ij[3]); - br_tensor[4] = (15.0 / (6.0 * trace_D)) * (D_ij[4]); - br_tensor[5] = (15.0 / (6.0 * trace_D)) * (D_ij[5]); + br_tensor[0] = (15.0 / (6.0 * trace_third_D)) * (D_ij[0] - trace_third_D); + br_tensor[1] = (15.0 / (6.0 * trace_third_D)) * (D_ij[1] - trace_third_D); + br_tensor[2] = (15.0 / (6.0 * trace_third_D)) * (D_ij[2] - trace_third_D); + br_tensor[3] = (15.0 / (6.0 * trace_third_D)) * (D_ij[3]); + br_tensor[4] = (15.0 / (6.0 * trace_third_D)) * (D_ij[4]); + br_tensor[5] = (15.0 / (6.0 * trace_third_D)) * (D_ij[5]); for (i = 0; i < ntensors; i++) { if (tensor_style[i] == BR) { @@ -439,17 +439,17 @@ void ComputeFabric::compute_vector() MPI_Allreduce(Xfn_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) Xfn_ij[i] = temp_dbl[i]; - trace_Xfn = (1.0 / 3.0) * (Xfn_ij[0] + Xfn_ij[1] + Xfn_ij[2]); + trace_third_Xfn = (1.0 / 3.0) * (Xfn_ij[0] + Xfn_ij[1] + Xfn_ij[2]); } if (fn_flag) { - fn_tensor[0] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[0] - trace_Xfn); - fn_tensor[1] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[1] - trace_Xfn); - fn_tensor[2] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[2] - trace_Xfn); - fn_tensor[3] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[3]); - fn_tensor[4] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[4]); - fn_tensor[5] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[5]); + fn_tensor[0] = (15.0 / (6.0 * trace_third_Xfn)) * (Xfn_ij[0] - trace_third_Xfn); + fn_tensor[1] = (15.0 / (6.0 * trace_third_Xfn)) * (Xfn_ij[1] - trace_third_Xfn); + fn_tensor[2] = (15.0 / (6.0 * trace_third_Xfn)) * (Xfn_ij[2] - trace_third_Xfn); + fn_tensor[3] = (15.0 / (6.0 * trace_third_Xfn)) * (Xfn_ij[3]); + fn_tensor[4] = (15.0 / (6.0 * trace_third_Xfn)) * (Xfn_ij[4]); + fn_tensor[5] = (15.0 / (6.0 * trace_third_Xfn)) * (Xfn_ij[5]); for (i = 0; i < ntensors; i++) { if (tensor_style[i] == FN) { @@ -462,14 +462,14 @@ void ComputeFabric::compute_vector() MPI_Allreduce(Xft_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) Xft_ij[i] = temp_dbl[i]; - trace_Xft = (1.0 / 3.0) * (Xft_ij[0] + Xft_ij[1] + Xft_ij[2]); + trace_third_Xft = (1.0 / 3.0) * (Xft_ij[0] + Xft_ij[1] + Xft_ij[2]); - ft_tensor[0] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[0] - trace_Xft); - ft_tensor[1] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[1] - trace_Xft); - ft_tensor[2] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[2] - trace_Xft); - ft_tensor[3] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[3]); - ft_tensor[4] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[4]); - ft_tensor[5] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[5]); + ft_tensor[0] = (15.0 / (9.0 * trace_third_Xfn)) * (Xft_ij[0] - trace_third_Xft); + ft_tensor[1] = (15.0 / (9.0 * trace_third_Xfn)) * (Xft_ij[1] - trace_third_Xft); + ft_tensor[2] = (15.0 / (9.0 * trace_third_Xfn)) * (Xft_ij[2] - trace_third_Xft); + ft_tensor[3] = (15.0 / (9.0 * trace_third_Xfn)) * (Xft_ij[3]); + ft_tensor[4] = (15.0 / (9.0 * trace_third_Xfn)) * (Xft_ij[4]); + ft_tensor[5] = (15.0 / (9.0 * trace_third_Xfn)) * (Xft_ij[5]); for (i = 0; i < ntensors; i++) { if (tensor_style[i] == FT) { diff --git a/src/GRANULAR/fix_heat_flow.cpp b/src/GRANULAR/fix_heat_flow.cpp index d0d7a73ce6..be8d93839f 100644 --- a/src/GRANULAR/fix_heat_flow.cpp +++ b/src/GRANULAR/fix_heat_flow.cpp @@ -19,9 +19,10 @@ #include "force.h" #include "memory.h" #include "modify.h" -#include "respa.h" #include "update.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; @@ -127,7 +128,7 @@ void FixHeatFlow::final_integrate() if (igroup == atom->firstgroup) nlocal = atom->nfirst; // add ghost contributions to heatflow if first instance of fix - if (first_flag) comm->reverse_comm(this); + if (force->newton_pair && first_flag) comm->reverse_comm(this); if (rmass) { for (int i = 0; i < nlocal; i++) diff --git a/src/GRANULAR/fix_pour.cpp b/src/GRANULAR/fix_pour.cpp index cc5f0567e8..2dcaf9069f 100644 --- a/src/GRANULAR/fix_pour.cpp +++ b/src/GRANULAR/fix_pour.cpp @@ -59,6 +59,7 @@ FixPour::FixPour(LAMMPS *lmp, int narg, char **arg) : if (lmp->kokkos) error->all(FLERR, "Cannot yet use fix pour with the KOKKOS package"); scalar_flag = 1; + extscalar = 0; time_depend = 1; if (!atom->radius_flag || !atom->rmass_flag) diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 5930280053..b8b06add2e 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -34,6 +34,7 @@ #include "update.h" #include "variable.h" +#include #include using namespace LAMMPS_NS; diff --git a/src/GRANULAR/fix_wall_gran.h b/src/GRANULAR/fix_wall_gran.h index 45e4e43844..cd1e8778c3 100644 --- a/src/GRANULAR/fix_wall_gran.h +++ b/src/GRANULAR/fix_wall_gran.h @@ -20,7 +20,6 @@ FixStyle(wall/gran,FixWallGran); #ifndef LMP_FIX_WALL_GRAN_H #define LMP_FIX_WALL_GRAN_H -#include "granular_model.h" #include "fix.h" namespace LAMMPS_NS { diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 1c2fd4bcc0..b90620f3aa 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -30,8 +30,6 @@ #include "update.h" #include "variable.h" -#include - using namespace LAMMPS_NS; using namespace Granular_NS; using namespace MathExtra; diff --git a/src/GRANULAR/gran_sub_mod.cpp b/src/GRANULAR/gran_sub_mod.cpp index bf945523dd..bac9c9edfe 100644 --- a/src/GRANULAR/gran_sub_mod.cpp +++ b/src/GRANULAR/gran_sub_mod.cpp @@ -21,7 +21,8 @@ ----------------------------------------------------------------------- */ #include "gran_sub_mod.h" -#include "error.h" + +#include using namespace LAMMPS_NS; using namespace Granular_NS; diff --git a/src/GRANULAR/gran_sub_mod.h b/src/GRANULAR/gran_sub_mod.h index 2524565332..88e77eb77b 100644 --- a/src/GRANULAR/gran_sub_mod.h +++ b/src/GRANULAR/gran_sub_mod.h @@ -14,50 +14,50 @@ #ifndef LMP_GRAN_SUB_MOD_H #define LMP_GRAN_SUB_MOD_H -#include "granular_model.h" #include "pointers.h" // IWYU pragma: export namespace LAMMPS_NS { namespace Granular_NS { + class GranularModel; -class GranSubMod : protected Pointers { - public: - GranSubMod(class GranularModel *, class LAMMPS *); - ~GranSubMod() override; + class GranSubMod : protected Pointers { + public: + GranSubMod(class GranularModel *, class LAMMPS *); + ~GranSubMod() override; - int num_coeffs; - double *coeffs; - void read_restart(); - virtual void mix_coeffs(double*, double*); - virtual void coeffs_to_local() {}; - virtual void init() {}; // called after all sub models + coeffs defined + int num_coeffs; + double *coeffs; + void read_restart(); + virtual void mix_coeffs(double *, double *); + virtual void coeffs_to_local(){}; + virtual void init(){}; // called after all sub models + coeffs defined - void allocate_coeffs(); - std::string name; + void allocate_coeffs(); + std::string name; - int size_history; - int nondefault_history_transfer; - double *transfer_history_factor; + int size_history; + int nondefault_history_transfer; + double *transfer_history_factor; - int history_index; - int beyond_contact; // If the sub model contact extends beyond overlap - int allow_cohesion; // If the sub model works with a cohesive normal force - int contact_radius_flag; // If the sub model requires contact radius + int history_index; + int beyond_contact; // If the sub model contact extends beyond overlap + int allow_cohesion; // If the sub model works with a cohesive normal force + int contact_radius_flag; // If the sub model requires contact radius - GranularModel *gm; + GranularModel *gm; - protected: - int allocated; + protected: + int allocated; - double mix_stiffnessE(double, double, double, double); - double mix_stiffnessG(double, double, double, double); - double mix_stiffnessE_wall(double, double); - double mix_stiffnessG_wall(double, double); - double mix_geom(double, double); - double mix_mean(double, double); -}; + double mix_stiffnessE(double, double, double, double); + double mix_stiffnessG(double, double, double, double); + double mix_stiffnessE_wall(double, double); + double mix_stiffnessG_wall(double, double); + double mix_geom(double, double); + double mix_mean(double, double); + }; -} // namespace GranularModel +} // namespace Granular_NS } // namespace LAMMPS_NS #endif /* GRAN_SUB_MOD_H */ diff --git a/src/GRANULAR/gran_sub_mod_damping.cpp b/src/GRANULAR/gran_sub_mod_damping.cpp index 7d6a02b8f0..df7146a619 100644 --- a/src/GRANULAR/gran_sub_mod_damping.cpp +++ b/src/GRANULAR/gran_sub_mod_damping.cpp @@ -16,14 +16,23 @@ #include "gran_sub_mod_normal.h" #include "granular_model.h" #include "math_special.h" +#include "math_const.h" + +#include + +#include using namespace LAMMPS_NS; using namespace Granular_NS; +using namespace MathConst; using MathSpecial::cube; using MathSpecial::powint; using MathSpecial::square; +static constexpr double TWOROOTFIVEBYSIX = 1.82574185835055380345; // 2/sqrt(5/6) +static constexpr double ROOTTHREEBYTWO = 1.22474487139158894067; // sqrt(3/2) + /* ---------------------------------------------------------------------- Default damping model ------------------------------------------------------------------------- */ @@ -129,6 +138,40 @@ void GranSubModDampingTsuji::init() /* ---------------------------------------------------------------------- */ double GranSubModDampingTsuji::calculate_forces() +{ + // in case argument <= 0 due to precision issues + double sqrt1; + if (gm->delta > 0.0) + sqrt1 = MAX(0.0, gm->meff * gm->Fnormal / gm->delta); + else + sqrt1 = 0.0; + damp_prefactor = damp * sqrt(sqrt1); + return -damp_prefactor * gm->vnnr; +} + +/* ---------------------------------------------------------------------- + Coefficient of restitution damping +------------------------------------------------------------------------- */ + +GranSubModDampingCoeffRestitution::GranSubModDampingCoeffRestitution(GranularModel *gm, LAMMPS *lmp) : + GranSubModDamping(gm, lmp) +{ +} + +void GranSubModDampingCoeffRestitution::init() +{ + // Calculate prefactor, assume Hertzian as default + double cor = gm->normal_model->get_damp(); + double logcor = log(cor); + if (gm->normal_model->name == "hooke") { + damp = -2 * logcor / sqrt(MY_PI * MY_PI + logcor * logcor); + } else { + damp = -ROOTTHREEBYTWO * TWOROOTFIVEBYSIX * logcor; + damp /= sqrt(MY_PI * MY_PI + logcor * logcor); + } +} + +double GranSubModDampingCoeffRestitution::calculate_forces() { damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta); return -damp_prefactor * gm->vnnr; diff --git a/src/GRANULAR/gran_sub_mod_damping.h b/src/GRANULAR/gran_sub_mod_damping.h index db5bb43ca5..c931e385cc 100644 --- a/src/GRANULAR/gran_sub_mod_damping.h +++ b/src/GRANULAR/gran_sub_mod_damping.h @@ -18,6 +18,7 @@ GranSubModStyle(velocity,GranSubModDampingVelocity,DAMPING); GranSubModStyle(mass_velocity,GranSubModDampingMassVelocity,DAMPING); GranSubModStyle(viscoelastic,GranSubModDampingViscoelastic,DAMPING); GranSubModStyle(tsuji,GranSubModDampingTsuji,DAMPING); +GranSubModStyle(coeff_restitution,GranSubModDampingCoeffRestitution,DAMPING); // clang-format on #else @@ -84,6 +85,17 @@ namespace Granular_NS { double calculate_forces() override; }; + /* ---------------------------------------------------------------------- */ + + class GranSubModDampingCoeffRestitution : public GranSubModDamping { + public: + GranSubModDampingCoeffRestitution(class GranularModel *, class LAMMPS *); + void init() override; + double calculate_forces() override; + }; + + /* ---------------------------------------------------------------------- */ + } // namespace Granular_NS } // namespace LAMMPS_NS diff --git a/src/GRANULAR/gran_sub_mod_normal.cpp b/src/GRANULAR/gran_sub_mod_normal.cpp index ffc18b8c32..f4294bbc35 100644 --- a/src/GRANULAR/gran_sub_mod_normal.cpp +++ b/src/GRANULAR/gran_sub_mod_normal.cpp @@ -16,6 +16,8 @@ #include "granular_model.h" #include "math_const.h" +#include + using namespace LAMMPS_NS; using namespace Granular_NS; diff --git a/src/GRANULAR/gran_sub_mod_normal.h b/src/GRANULAR/gran_sub_mod_normal.h index 6f2f3aabbe..c1ed36b6e1 100644 --- a/src/GRANULAR/gran_sub_mod_normal.h +++ b/src/GRANULAR/gran_sub_mod_normal.h @@ -38,7 +38,7 @@ namespace Granular_NS { virtual double calculate_contact_radius(); virtual double calculate_forces() = 0; - double get_cohesive_flag() const { return cohesive_flag; } + int get_cohesive_flag() const { return cohesive_flag; } double get_damp() const { return damp; } double get_emod() const { return Emod; } double get_fncrit() const { return Fncrit; } @@ -49,6 +49,7 @@ namespace Granular_NS { protected: double damp; // argument historically needed by damping + // typically (but not always) equals eta_n0 double Emod, poiss; double Fncrit; int material_properties, cohesive_flag; diff --git a/src/GRANULAR/gran_sub_mod_rolling.cpp b/src/GRANULAR/gran_sub_mod_rolling.cpp index 554aa7ab63..4b10bd2358 100644 --- a/src/GRANULAR/gran_sub_mod_rolling.cpp +++ b/src/GRANULAR/gran_sub_mod_rolling.cpp @@ -18,6 +18,8 @@ #include "granular_model.h" #include "math_extra.h" +#include + using namespace LAMMPS_NS; using namespace Granular_NS; using namespace MathExtra; diff --git a/src/GRANULAR/gran_sub_mod_tangential.cpp b/src/GRANULAR/gran_sub_mod_tangential.cpp index c74233701b..f8f39a38f9 100644 --- a/src/GRANULAR/gran_sub_mod_tangential.cpp +++ b/src/GRANULAR/gran_sub_mod_tangential.cpp @@ -19,6 +19,8 @@ #include "granular_model.h" #include "math_extra.h" +#include + using namespace LAMMPS_NS; using namespace Granular_NS; using namespace MathExtra; diff --git a/src/GRANULAR/gran_sub_mod_twisting.cpp b/src/GRANULAR/gran_sub_mod_twisting.cpp index 48af89c9e7..95c62ad342 100644 --- a/src/GRANULAR/gran_sub_mod_twisting.cpp +++ b/src/GRANULAR/gran_sub_mod_twisting.cpp @@ -19,6 +19,8 @@ #include "granular_model.h" #include "math_const.h" +#include + using namespace LAMMPS_NS; using namespace Granular_NS; diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index c1ad692fb3..9764ec42e9 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -31,6 +31,8 @@ #include "style_gran_sub_mod.h" // IWYU pragma: keep #include +#include +#include using namespace LAMMPS_NS; using namespace Granular_NS; @@ -214,9 +216,15 @@ int GranularModel::define_classic_model(char **arg, int iarg, int narg) // manually parse coeffs normal_model->coeffs[0] = kn; normal_model->coeffs[1] = gamman; - tangential_model->coeffs[0] = kt; - tangential_model->coeffs[1] = gammat / gamman; - tangential_model->coeffs[2] = xmu; + + if (tangential_model->num_coeffs == 2) { + tangential_model->coeffs[0] = gammat / gamman; + tangential_model->coeffs[1] = xmu; + } else { + tangential_model->coeffs[0] = kt; + tangential_model->coeffs[1] = gammat / gamman; + tangential_model->coeffs[2] = xmu; + } normal_model->coeffs_to_local(); tangential_model->coeffs_to_local(); @@ -332,11 +340,11 @@ void GranularModel::read_restart(FILE *fp) utils::sfread(FLERR, &num_char, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&num_char, 1, MPI_INT, 0, world); - std::string model_name (num_char, ' '); + std::string model_name(num_char, ' '); if (comm->me == 0) utils::sfread(FLERR, const_cast(model_name.data()), sizeof(char),num_char, fp, nullptr, error); MPI_Bcast(const_cast(model_name.data()), num_char, MPI_CHAR, 0, world); - construct_sub_model(model_name, (SubModelType) i); + construct_sub_model(std::move(model_name), (SubModelType) i); if (comm->me == 0) utils::sfread(FLERR, &num_coeff, sizeof(int), 1, fp, nullptr, error); diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 119feb1c38..cb19a8c025 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -37,7 +37,6 @@ #include "update.h" #include -#include using namespace LAMMPS_NS; using namespace Granular_NS; @@ -770,7 +769,7 @@ double PairGranular::single(int i, int j, int itype, int jtype, // apply forces & torques // Calculate normal component, normalized by r - fforce = model->Fnormal * model->rinv; + fforce = model->Fntot * model->rinv; // set single_extra quantities svector[0] = model->fs[0]; diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index 956717d598..46c5570543 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -21,7 +21,6 @@ PairStyle(granular,PairGranular); #define LMP_PAIR_GRANULAR_H #include "pair.h" -#include namespace LAMMPS_NS { diff --git a/src/INTEL/pair_eam_intel.cpp b/src/INTEL/pair_eam_intel.cpp index bd78c3239d..a7fd6af408 100644 --- a/src/INTEL/pair_eam_intel.cpp +++ b/src/INTEL/pair_eam_intel.cpp @@ -234,7 +234,6 @@ void PairEAMIntel::eval(const int offload, const int vflag, const int istride = fc.rhor_istride(); const int jstride = fc.rhor_jstride(); const int fstride = fc.frho_stride(); - { #if defined(__MIC__) && defined(_LMP_INTEL_OFFLOAD) *timer_compute = MIC_Wtime(); @@ -565,12 +564,10 @@ void PairEAMIntel::eval(const int offload, const int vflag, } else rhoip = rhojp; const flt_t z2p = (z2r_spline_t[joff].a*p + - z2r_spline_t[joff].b)*p + - z2r_spline_t[joff].c; + z2r_spline_t[joff].b)*p + z2r_spline_t[joff].c; const flt_t z2 = ((z2r_spline_t[joff].d*p + z2r_spline_t[joff].e)*p + - z2r_spline_t[joff].f)*p + - z2r_spline_t[joff].g; + z2r_spline_t[joff].f)*p + z2r_spline_t[joff].g; const flt_t recip = (flt_t)1.0/r; const flt_t phi = z2*recip; @@ -849,4 +846,3 @@ void PairEAMIntel::unpack_forward_comm(int n, int first, double *buf, last = first + n; for (i = first; i < last; i++) fp_f[i] = buf[m++]; } - diff --git a/src/INTERLAYER/pair_aip_water_2dm.cpp b/src/INTERLAYER/pair_aip_water_2dm.cpp index ea3812504d..2c6b222d45 100644 --- a/src/INTERLAYER/pair_aip_water_2dm.cpp +++ b/src/INTERLAYER/pair_aip_water_2dm.cpp @@ -24,9 +24,6 @@ #include "error.h" #include "force.h" -#include -#include - using namespace LAMMPS_NS; static const char cite_aip_water[] = diff --git a/src/INTERLAYER/pair_ilp_tmd.h b/src/INTERLAYER/pair_ilp_tmd.h index 8381c2e830..7e7edbb01b 100644 --- a/src/INTERLAYER/pair_ilp_tmd.h +++ b/src/INTERLAYER/pair_ilp_tmd.h @@ -20,7 +20,7 @@ PairStyle(ilp/tmd,PairILPTMD); #ifndef LMP_PAIR_ILP_TMD_H #define LMP_PAIR_ILP_TMD_H -#include "pair_ilp_graphene_hbn.h" +#include "pair_ilp_graphene_hbn.h" // IWYU pragma: export namespace LAMMPS_NS { diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index 462c0cbe57..75949c35d8 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -187,6 +187,8 @@ action fix_temp_rescale_kokkos.cpp action fix_temp_rescale_kokkos.h action fix_viscous_kokkos.cpp action fix_viscous_kokkos.h +action fix_wall_flow_kokkos.cpp fix_wall_flow.cpp +action fix_wall_flow_kokkos.h fix_wall_flow.h action fix_wall_gran_kokkos.cpp fix_wall_gran.cpp action fix_wall_gran_kokkos.h fix_wall_gran.h action fix_wall_gran_old.cpp fix_wall_gran.cpp diff --git a/src/KOKKOS/atom_kokkos.cpp b/src/KOKKOS/atom_kokkos.cpp index af1816c1d3..6707deddd5 100644 --- a/src/KOKKOS/atom_kokkos.cpp +++ b/src/KOKKOS/atom_kokkos.cpp @@ -16,7 +16,7 @@ #include "atom_masks.h" #include "atom_vec.h" #include "atom_vec_kokkos.h" -#include "comm_kokkos.h" +#include "comm.h" #include "domain.h" #include "error.h" #include "kokkos.h" @@ -31,9 +31,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -AtomKokkos::AtomKokkos(LAMMPS *lmp) : Atom(lmp), -mapBinner(1, 0.0, 1.0), // no default constructor, these values are not used -mapSorter(d_tag_sorted, 0, 1, mapBinner, true) +AtomKokkos::AtomKokkos(LAMMPS *lmp) : Atom(lmp) { avecKK = nullptr; diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index db132bce69..669c8b510a 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -88,8 +88,25 @@ class AtomKokkos : public Atom { DAT::tdual_int_1d k_map_array; dual_hash_type k_map_hash; - DAT::t_tagint_1d d_tag_sorted; - DAT::t_int_1d d_i_sorted; + struct KeyValue { + int i; + bigint tag; + }; + + typedef Kokkos::View t_keyvalue_1d; + t_keyvalue_1d d_sorted; + + struct MyComp { + KOKKOS_FUNCTION + bool operator()(const KeyValue& a, const KeyValue& b) const + { + if (a.tag < b.tag) + return true; + if (b.tag < a.tag) + return false; + return a.i < b.i; + } + }; typedef Kokkos::DualView tdual_tagint_2; typedef tdual_tagint_2::t_dev t_tagint_2; @@ -101,11 +118,6 @@ class AtomKokkos : public Atom { DAT::t_tagint_scalar d_tag_min,d_tag_max; HAT::t_tagint_scalar h_tag_min,h_tag_max; - using MapKeyViewType = decltype(d_tag_sorted); - using BinOpMap = Kokkos::BinOp1D; - BinOpMap mapBinner; - Kokkos::BinSort mapSorter; - class AtomVecKokkos* avecKK; // map lookup function inlined for efficiency @@ -157,6 +169,10 @@ class AtomKokkos : public Atom { int add_custom(const char *, int, int, int border = 0) override; void remove_custom(int, int, int) override; virtual void deallocate_topology(); + + void map_set_device(); + void map_set_host(); + private: void sort_device(); class AtomVec *new_avec(const std::string &, int, int &) override; diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 828eb7edea..2c4c58ee19 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -16,12 +16,8 @@ #include "atom_masks.h" #include "comm.h" #include "error.h" -#include "fix.h" +#include "kokkos.h" #include "memory_kokkos.h" -#include "modify.h" -#include "neighbor_kokkos.h" - -#include using namespace LAMMPS_NS; @@ -34,6 +30,8 @@ static constexpr int EXTRA = 1000; set entire array to -1 as initial values for hash option: map_nhash = length of hash table + map_nbucket = # of hash buckets, prime larger than map_nhash * 2 + so buckets will only be filled with 0 or 1 atoms on average ------------------------------------------------------------------------- */ void AtomKokkos::map_init(int check) @@ -46,19 +44,29 @@ void AtomKokkos::map_init(int check) int recreate = 0; if (check) recreate = map_style_set(); - if (map_style == MAP_ARRAY && map_tag_max > map_maxarray) - recreate = 1; - else if (map_style == MAP_HASH && nlocal + nghost > map_nhash) - recreate = 1; + if (map_style == MAP_ARRAY && map_tag_max > map_maxarray) recreate = 1; + else if (map_style == MAP_HASH && nlocal+nghost > map_nhash) recreate = 1; // if not recreating: // for array, initialize current map_tag_max values // for hash, set all buckets to empty, put all entries in free list if (!recreate) { - map_clear(); + if (lmp->kokkos->atom_map_classic) { + if (map_style == MAP_ARRAY) { + for (int i = 0; i <= map_tag_max; i++) map_array[i] = -1; + } else { + for (int i = 0; i < map_nbucket; i++) map_bucket[i] = -1; + map_nused = 0; + map_free = 0; + for (int i = 0; i < map_nhash; i++) map_hash[i].next = i+1; + if (map_nhash > 0) map_hash[map_nhash-1].next = -1; + } + } else { + map_clear(); + } - // recreating: delete old map and create new one for array or hash + // recreating: delete old map and create new one for array or hash } else { map_delete(); @@ -66,8 +74,7 @@ void AtomKokkos::map_init(int check) if (map_style == MAP_ARRAY) { map_maxarray = map_tag_max; memoryKK->create_kokkos(k_map_array, map_array, map_maxarray + 1, "atom:map_array"); - Kokkos::deep_copy(k_map_array.d_view,-1); - k_map_array.modify_device(); + map_clear(); } else { @@ -76,14 +83,38 @@ void AtomKokkos::map_init(int check) // multiply by 2, require at least 1000 // doubling means hash table will need to be re-init only rarely - int nper = static_cast(natoms / comm->nprocs); - map_nhash = MAX(nper, nmax); + int nper = static_cast (natoms/comm->nprocs); + map_nhash = MAX(nper,nmax); map_nhash *= 2; - map_nhash = MAX(map_nhash, 1000); + map_nhash = MAX(map_nhash,1000); + + if (lmp->kokkos->atom_map_classic) { + // map_nbucket = prime just larger than map_nhash + // next_prime() should be fast enough, + // about 10% of odd integers are prime above 1M + + map_nbucket = next_prime(map_nhash); + + // set all buckets to empty + // set hash to map_nhash in length + // put all hash entries in free list and point them to each other + + map_bucket = new int[map_nbucket]; + for (int i = 0; i < map_nbucket; i++) map_bucket[i] = -1; + + map_hash = new HashElem[map_nhash]; + map_nused = 0; + map_free = 0; + for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; + map_hash[map_nhash - 1].next = -1; + } k_map_hash = dual_hash_type(map_nhash); } } + + if (lmp->kokkos->atom_map_classic) + if (map_style == MAP_ARRAY) k_map_array.modify_host(); } /* ---------------------------------------------------------------------- @@ -94,12 +125,23 @@ void AtomKokkos::map_init(int check) void AtomKokkos::map_clear() { - if (map_style == Atom::MAP_ARRAY) { - Kokkos::deep_copy(k_map_array.d_view,-1); - k_map_array.modify_device(); + if (map_style == MAP_ARRAY) { + if (lmp->kokkos->atom_map_classic) { + Kokkos::deep_copy(k_map_array.h_view,-1); + k_map_array.modify_host(); + } else { + Kokkos::deep_copy(k_map_array.d_view,-1); + k_map_array.modify_device(); + } } else { - k_map_hash.d_view.clear(); - k_map_hash.modify_device(); + if (lmp->kokkos->atom_map_classic) { + Atom::map_clear(); + k_map_hash.h_view.clear(); + k_map_hash.modify_host(); + } else { + k_map_hash.d_view.clear(); + k_map_hash.modify_device(); + } } } @@ -114,6 +156,16 @@ void AtomKokkos::map_clear() ------------------------------------------------------------------------- */ void AtomKokkos::map_set() +{ + if (lmp->kokkos->atom_map_classic) + map_set_host(); + else + map_set_device(); +} + +/* ---------------------------------------------------------------------- */ + +void AtomKokkos::map_set_device() { int nall = nlocal + nghost; @@ -138,128 +190,64 @@ void AtomKokkos::map_set() atomKK->sync(Device, TAG_MASK); + int map_style_array = (map_style == MAP_ARRAY); + auto d_tag = atomKK->k_tag.d_view; auto d_sametag = k_sametag.d_view; - // sort by tag - int nmax = atom->nmax; - int realloc_flag = 0; - if (!d_tag_sorted.data() || (int)d_tag_sorted.extent(0) < nmax) { - MemKK::realloc_kokkos(d_tag_sorted,"atom:tag_sorted",nmax); - MemKK::realloc_kokkos(d_i_sorted,"atom:i_sorted",nmax); - realloc_flag = 1; - } + // sort by tag then local id - h_tag_min() = MAXTAGINT; - h_tag_max() = 0; + if (!d_sorted.data() || (int)d_sorted.extent(0) < nmax) + MemKK::realloc_kokkos(d_sorted,"atom:sorted",nmax); - Kokkos::deep_copy(d_tag_min_max,h_tag_min_max); - - auto l_tag_sorted = d_tag_sorted; - auto l_i_sorted = d_i_sorted; - auto l_tag_min = d_tag_min; - auto l_tag_max = d_tag_max; - int map_style_array = (map_style == MAP_ARRAY); + auto l_sorted = Kokkos::subview(d_sorted,std::make_pair(0,nall)); Kokkos::parallel_for(nall, LAMMPS_LAMBDA(int i) { - l_i_sorted(i) = i; - tagint tag_i = d_tag(i); - l_tag_sorted(i) = tag_i; - Kokkos::atomic_min(&l_tag_min(),tag_i); - Kokkos::atomic_max(&l_tag_max(),tag_i); + l_sorted(i).i = i; + l_sorted(i).tag = d_tag(i); }); - Kokkos::deep_copy(h_tag_min_max,d_tag_min_max); - - tagint min = h_tag_min(); - tagint max = h_tag_max(); - - using MapKeyViewType = decltype(d_tag_sorted); - using BinOpMap = Kokkos::BinOp1D; - - mapBinner = BinOpMap(nall, min, max); - - if (realloc_flag) { - mapSorter = Kokkos::BinSort(d_tag_sorted, 0, nall, mapBinner, true); - MemKK::realloc_kokkos(mapSorter.bin_count_atomic,"Kokkos::SortImpl::BinSortFunctor::bin_count",nmax+1); - Kokkos::deep_copy(mapSorter.bin_count_atomic,0); - mapSorter.bin_count_const = mapSorter.bin_count_atomic; - MemKK::realloc_kokkos(mapSorter.bin_offsets,"Kokkos::SortImpl::BinSortFunctor::bin_offsets",nmax+1); - MemKK::realloc_kokkos(mapSorter.sort_order,"Kokkos::SortImpl::BinSortFunctor::sort_order",nmax); - } else { - Kokkos::deep_copy(mapSorter.bin_count_atomic,0); - mapSorter.bin_op = mapBinner; - mapSorter.range_begin = 0; - mapSorter.range_end = nall; - } - - mapSorter.create_permute_vector(LMPDeviceType()); - mapSorter.sort(LMPDeviceType(), d_tag_sorted, 0, nall); - mapSorter.sort(LMPDeviceType(), d_i_sorted, 0, nall); + Kokkos::sort(LMPDeviceType(),l_sorted,MyComp{}); auto d_map_array = k_map_array.d_view; auto d_map_hash = k_map_hash.d_view; - d_map_hash.clear(); + if (!map_style_array) + d_map_hash.clear(); auto d_error_flag = k_error_flag.d_view; Kokkos::deep_copy(d_error_flag,0); - // for each tag find: - // neighboring atoms with closest local id for sametag // atom with smallest local id for atom map Kokkos::parallel_for(nall, LAMMPS_LAMBDA(int ii) { - const int i = l_i_sorted(ii); - const tagint tag_i = l_tag_sorted(ii); - int i_min = i; - int i_closest = MAXSMALLINT; + const int i = l_sorted(ii).i; + const tagint tag_i = l_sorted(ii).tag; - // search atoms with same tag in the forward direction + // sametag + tagint tag_j = -1; int jj = ii+1; - int closest_flag = 0; + if (jj < nall) tag_j = l_sorted(jj).tag; - while (jj < nall) { - const tagint tag_j = l_tag_sorted(jj); - if (tag_j != tag_i) break; - const int j = l_i_sorted(jj); - i_min = MIN(i_min,j); - if (j > i) { - i_closest = MIN(i_closest,j); - closest_flag = 1; - } - jj++; - } + if (tag_j == tag_i) + d_sametag(i) = l_sorted(jj).i; + else + d_sametag(i) = -1; - // search atoms with same tag in the reverse direction + // atom map + tag_j = -1; jj = ii-1; + if (jj >= 0) tag_j = l_sorted(jj).tag; - while (jj >= 0) { - const tagint tag_j = l_tag_sorted(jj); - if (tag_j != tag_i) break; - const int j = l_i_sorted(jj); - i_min = MIN(i_min,j); - if (j > i) { - i_closest = MIN(i_closest,j); - closest_flag = 1; - } - jj--; - } - - if (!closest_flag) - i_closest = -1; - - d_sametag(i) = i_closest; - - if (i == i_min) { + if (tag_j != tag_i) { if (map_style_array) - d_map_array(tag_i) = i_min; + d_map_array(tag_i) = i; else { - auto insert_result = d_map_hash.insert(tag_i, i_min); + auto insert_result = d_map_hash.insert(tag_i, i); if (insert_result.failed()) d_error_flag() = 1; } } @@ -281,6 +269,122 @@ void AtomKokkos::map_set() k_map_hash.modify_device(); } +/* ---------------------------------------------------------------------- */ + +void AtomKokkos::map_set_host() +{ + int nall = nlocal + nghost; + + atomKK->sync(Host, TAG_MASK); + k_sametag.sync_host(); + + if (map_style == MAP_ARRAY) { + k_map_array.sync_host(); + + // possible reallocation of sametag must come before loop over atoms + // since loop sets sametag + + if (nall > max_same) { + max_same = nall + EXTRA; + memoryKK->destroy_kokkos(k_sametag, sametag); + memoryKK->create_kokkos(k_sametag, sametag, max_same, "atom:sametag"); + } + + for (int i = nall - 1; i >= 0; i--) { + sametag[i] = map_array[tag[i]]; + map_array[tag[i]] = i; + } + + } else { + + // if this proc has more atoms than hash table size, call map_init() + // call with 0 since max atomID in system has not changed + // possible reallocation of sametag must come after map_init(), + // b/c map_init() may invoke map_delete(), whacking sametag + + if (nall > map_nhash) map_init(0); + if (nall > max_same) { + max_same = nall + EXTRA; + memoryKK->destroy_kokkos(k_sametag, sametag); + memoryKK->create_kokkos(k_sametag, sametag, max_same, "atom:sametag"); + } + + int previous, ibucket, index; + tagint global; + + for (int i = nall - 1; i >= 0; i--) { + sametag[i] = Atom::map_find_hash(tag[i]); + + // search for key + // if found it, just overwrite local value with index + + previous = -1; + global = tag[i]; + ibucket = global % map_nbucket; + index = map_bucket[ibucket]; + while (index > -1) { + if (map_hash[index].global == global) break; + previous = index; + index = map_hash[index].next; + } + if (index > -1) { + map_hash[index].local = i; + continue; + } + + // take one entry from free list + // add the new global/local pair as entry at end of bucket list + // special logic if this entry is 1st in bucket + + index = map_free; + map_free = map_hash[map_free].next; + if (previous == -1) + map_bucket[ibucket] = index; + else + map_hash[previous].next = index; + map_hash[index].global = global; + map_hash[index].local = i; + map_hash[index].next = -1; + map_nused++; + } + + // Copy to Kokkos hash + + // use "view" template method to avoid unnecessary deep_copy + + auto h_map_hash = k_map_hash.view(); + h_map_hash.clear(); + + for (int i = nall - 1; i >= 0; i--) { + + // search for key + // if don't find it, done + + previous = -1; + global = tag[i]; + ibucket = global % map_nbucket; + index = map_bucket[ibucket]; + while (index > -1) { + if (map_hash[index].global == global) break; + previous = index; + index = map_hash[index].next; + } + if (index == -1) continue; + + int local = map_hash[index].local; + + auto insert_result = h_map_hash.insert(global, local); + if (insert_result.failed()) error->one(FLERR, "Kokkos::UnorderedMap insertion failed"); + } + } + + k_sametag.modify_host(); + if (map_style == MAP_ARRAY) + k_map_array.modify_host(); + else if (map_style == MAP_HASH) + k_map_hash.modify_host(); +} + /* ---------------------------------------------------------------------- set global to local map for one atom for hash table option: @@ -336,4 +440,7 @@ void AtomKokkos::map_delete() map_array = nullptr; } else k_map_hash = dual_hash_type(); + + if (lmp->kokkos->atom_map_classic) + Atom::map_delete(); } diff --git a/src/KOKKOS/atom_vec_angle_kokkos.cpp b/src/KOKKOS/atom_vec_angle_kokkos.cpp index 418c2d629d..dc8641a6b6 100644 --- a/src/KOKKOS/atom_vec_angle_kokkos.cpp +++ b/src/KOKKOS/atom_vec_angle_kokkos.cpp @@ -186,302 +186,13 @@ void AtomVecAngleKokkos::sort_kokkos(Kokkos::BinSort &Sorter /* ---------------------------------------------------------------------- */ -template -struct AtomVecAngleKokkos_PackComm { - typedef DeviceType device_type; - - typename ArrayTypes::t_x_array_randomread _x; - typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; - X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; - X_FLOAT _pbc[6]; - - AtomVecAngleKokkos_PackComm( - const typename DAT::tdual_x_array &x, - const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, - const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, - const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_list(list.view()),_iswap(iswap), - _xprd(xprd),_yprd(yprd),_zprd(zprd), - _xy(xy),_xz(xz),_yz(yz) { - const size_t maxsend = (buf.view().extent(0) - *buf.view().extent(1))/3; - const size_t elements = 3; - buffer_view(_buf,buf,maxsend,elements); - _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; - _pbc[3] = pbc[3]; _pbc[4] = pbc[4]; _pbc[5] = pbc[5]; - }; - - KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - const int j = _list(_iswap,i); - if (PBC_FLAG == 0) { - _buf(i,0) = _x(j,0); - _buf(i,1) = _x(j,1); - _buf(i,2) = _x(j,2); - } else { - if (TRICLINIC == 0) { - _buf(i,0) = _x(j,0) + _pbc[0]*_xprd; - _buf(i,1) = _x(j,1) + _pbc[1]*_yprd; - _buf(i,2) = _x(j,2) + _pbc[2]*_zprd; - } else { - _buf(i,0) = _x(j,0) + _pbc[0]*_xprd + _pbc[5]*_xy + _pbc[4]*_xz; - _buf(i,1) = _x(j,1) + _pbc[1]*_yprd + _pbc[3]*_yz; - _buf(i,2) = _x(j,2) + _pbc[2]*_zprd; - } - } - } -}; - -/* ---------------------------------------------------------------------- */ - -int AtomVecAngleKokkos::pack_comm_kokkos(const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, - const DAT::tdual_xfloat_2d &buf, - const int &pbc_flag, - const int* const pbc) -{ - // Check whether to always run forward communication on the host - // Choose correct forward PackComm kernel - - if (commKK->forward_comm_on_host) { - atomKK->sync(Host,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } else { - atomKK->sync(Device,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } - - return n*size_forward; -} - -/* ---------------------------------------------------------------------- */ - -template -struct AtomVecAngleKokkos_PackCommSelf { - typedef DeviceType device_type; - - typename ArrayTypes::t_x_array_randomread _x; - typename ArrayTypes::t_x_array _xw; - int _nfirst; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; - X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; - X_FLOAT _pbc[6]; - - AtomVecAngleKokkos_PackCommSelf( - const typename DAT::tdual_x_array &x, - const int &nfirst, - const typename DAT::tdual_int_2d &list, - const int & iswap, - const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, - const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_xw(x.view()),_nfirst(nfirst),_list(list.view()),_iswap(iswap), - _xprd(xprd),_yprd(yprd),_zprd(zprd), - _xy(xy),_xz(xz),_yz(yz) { - _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; - _pbc[3] = pbc[3]; _pbc[4] = pbc[4]; _pbc[5] = pbc[5]; - }; - - KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - const int j = _list(_iswap,i); - if (PBC_FLAG == 0) { - _xw(i+_nfirst,0) = _x(j,0); - _xw(i+_nfirst,1) = _x(j,1); - _xw(i+_nfirst,2) = _x(j,2); - } else { - if (TRICLINIC == 0) { - _xw(i+_nfirst,0) = _x(j,0) + _pbc[0]*_xprd; - _xw(i+_nfirst,1) = _x(j,1) + _pbc[1]*_yprd; - _xw(i+_nfirst,2) = _x(j,2) + _pbc[2]*_zprd; - } else { - _xw(i+_nfirst,0) = _x(j,0) + _pbc[0]*_xprd + _pbc[5]*_xy + _pbc[4]*_xz; - _xw(i+_nfirst,1) = _x(j,1) + _pbc[1]*_yprd + _pbc[3]*_yz; - _xw(i+_nfirst,2) = _x(j,2) + _pbc[2]*_zprd; - } - } - - } -}; - -/* ---------------------------------------------------------------------- */ - -int AtomVecAngleKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, - const int nfirst, const int &pbc_flag, - const int* const pbc) { - if (commKK->forward_comm_on_host) { - atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } else { - atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } - return n*3; -} - -/* ---------------------------------------------------------------------- */ - -template -struct AtomVecAngleKokkos_UnpackComm { - typedef DeviceType device_type; - - typename ArrayTypes::t_x_array _x; - typename ArrayTypes::t_xfloat_2d_const _buf; - int _first; - - AtomVecAngleKokkos_UnpackComm( - const typename DAT::tdual_x_array &x, - const typename DAT::tdual_xfloat_2d &buf, - const int& first):_x(x.view()),_buf(buf.view()), - _first(first) {}; - - KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - _x(i+_first,0) = _buf(i,0); - _x(i+_first,1) = _buf(i,1); - _x(i+_first,2) = _buf(i,2); - } -}; - -/* ---------------------------------------------------------------------- */ - -void AtomVecAngleKokkos::unpack_comm_kokkos(const int &n, const int &first, - const DAT::tdual_xfloat_2d &buf) { - if (commKK->forward_comm_on_host) { - atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); - struct AtomVecAngleKokkos_UnpackComm f(atomKK->k_x,buf,first); - Kokkos::parallel_for(n,f); - } else { - atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); - struct AtomVecAngleKokkos_UnpackComm f(atomKK->k_x,buf,first); - Kokkos::parallel_for(n,f); - } -} - -/* ---------------------------------------------------------------------- */ - template struct AtomVecAngleKokkos_PackBorder { typedef DeviceType device_type; typedef ArrayTypes AT; typename AT::t_xfloat_2d _buf; - const typename AT::t_int_2d_const _list; - const int _iswap; + const typename AT::t_int_1d_const _list; const typename AT::t_x_array_randomread _x; const typename AT::t_tagint_1d _tag; const typename AT::t_int_1d _type; @@ -491,21 +202,20 @@ struct AtomVecAngleKokkos_PackBorder { AtomVecAngleKokkos_PackBorder( const typename AT::t_xfloat_2d &buf, - const typename AT::t_int_2d_const &list, - const int & iswap, + const typename AT::t_int_1d_const &list, const typename AT::t_x_array &x, const typename AT::t_tagint_1d &tag, const typename AT::t_int_1d &type, const typename AT::t_int_1d &mask, const typename AT::t_tagint_1d &molecule, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_molecule(molecule), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -528,8 +238,8 @@ struct AtomVecAngleKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecAngleKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecAngleKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -547,12 +257,12 @@ int AtomVecAngleKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecAngleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecAngleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -561,12 +271,12 @@ int AtomVecAngleKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecAngleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecAngleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_angle_kokkos.h b/src/KOKKOS/atom_vec_angle_kokkos.h index 44f1d824b2..157e8b45cc 100644 --- a/src/KOKKOS/atom_vec_angle_kokkos.h +++ b/src/KOKKOS/atom_vec_angle_kokkos.h @@ -35,17 +35,8 @@ class AtomVecAngleKokkos : public AtomVecKokkos, public AtomVecAngle { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist, - const int & iswap, - const DAT::tdual_xfloat_2d &buf, - const int &pbc_flag, const int pbc[]) override; - void unpack_comm_kokkos(const int &n, const int &nfirst, - const DAT::tdual_xfloat_2d &buf) override; - int pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst, - const int &pbc_flag, const int pbc[]) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_atomic_kokkos.cpp b/src/KOKKOS/atom_vec_atomic_kokkos.cpp index 973ad2f7f2..81f4f55962 100644 --- a/src/KOKKOS/atom_vec_atomic_kokkos.cpp +++ b/src/KOKKOS/atom_vec_atomic_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm_kokkos.h" #include "domain.h" #include "error.h" #include "fix.h" @@ -125,8 +124,7 @@ struct AtomVecAtomicKokkos_PackBorder { typedef DeviceType device_type; typename ArrayTypes::t_xfloat_2d _buf; - const typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + const typename ArrayTypes::t_int_1d_const _list; const typename ArrayTypes::t_x_array_randomread _x; const typename ArrayTypes::t_tagint_1d _tag; const typename ArrayTypes::t_int_1d _type; @@ -135,20 +133,19 @@ struct AtomVecAtomicKokkos_PackBorder { AtomVecAtomicKokkos_PackBorder( const typename ArrayTypes::t_xfloat_2d &buf, - const typename ArrayTypes::t_int_2d_const &list, - const int &iswap, + const typename ArrayTypes::t_int_1d_const &list, const typename ArrayTypes::t_x_array &x, const typename ArrayTypes::t_tagint_1d &tag, const typename ArrayTypes::t_int_1d &type, const typename ArrayTypes::t_int_1d &mask, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -169,7 +166,7 @@ struct AtomVecAtomicKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecAtomicKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecAtomicKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -187,12 +184,12 @@ int AtomVecAtomicKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecAtomicKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,dx,dy,dz); + h_x,h_tag,h_type,h_mask,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecAtomicKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,dx,dy,dz); + d_x,d_tag,d_type,d_mask,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -201,12 +198,12 @@ int AtomVecAtomicKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecAtomicKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,dx,dy,dz); + h_x,h_tag,h_type,h_mask,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecAtomicKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,dx,dy,dz); + d_x,d_tag,d_type,d_mask,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_atomic_kokkos.h b/src/KOKKOS/atom_vec_atomic_kokkos.h index 07631dda98..457b5b61a9 100644 --- a/src/KOKKOS/atom_vec_atomic_kokkos.h +++ b/src/KOKKOS/atom_vec_atomic_kokkos.h @@ -36,8 +36,8 @@ class AtomVecAtomicKokkos : public AtomVecKokkos, public AtomVecAtomic { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_bond_kokkos.cpp b/src/KOKKOS/atom_vec_bond_kokkos.cpp index a4fd9ca1b5..6b32574c2a 100644 --- a/src/KOKKOS/atom_vec_bond_kokkos.cpp +++ b/src/KOKKOS/atom_vec_bond_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm_kokkos.h" #include "domain.h" #include "error.h" #include "fix.h" @@ -158,8 +157,7 @@ struct AtomVecBondKokkos_PackBorder { typedef ArrayTypes AT; typename AT::t_xfloat_2d _buf; - const typename AT::t_int_2d_const _list; - const int _iswap; + const typename AT::t_int_1d_const _list; const typename AT::t_x_array_randomread _x; const typename AT::t_tagint_1d _tag; const typename AT::t_int_1d _type; @@ -169,21 +167,20 @@ struct AtomVecBondKokkos_PackBorder { AtomVecBondKokkos_PackBorder( const typename AT::t_xfloat_2d &buf, - const typename AT::t_int_2d_const &list, - const int & iswap, + const typename AT::t_int_1d_const &list, const typename AT::t_x_array &x, const typename AT::t_tagint_1d &tag, const typename AT::t_int_1d &type, const typename AT::t_int_1d &mask, const typename AT::t_tagint_1d &molecule, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_molecule(molecule), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -206,8 +203,8 @@ struct AtomVecBondKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecBondKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecBondKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -225,12 +222,12 @@ int AtomVecBondKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecBondKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecBondKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -239,12 +236,12 @@ int AtomVecBondKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecBondKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecBondKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_bond_kokkos.h b/src/KOKKOS/atom_vec_bond_kokkos.h index 5ed59432de..cad1ea86d7 100644 --- a/src/KOKKOS/atom_vec_bond_kokkos.h +++ b/src/KOKKOS/atom_vec_bond_kokkos.h @@ -35,8 +35,8 @@ class AtomVecBondKokkos : public AtomVecKokkos, public AtomVecBond { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_charge_kokkos.cpp b/src/KOKKOS/atom_vec_charge_kokkos.cpp index 4fa814f1ac..637a219433 100644 --- a/src/KOKKOS/atom_vec_charge_kokkos.cpp +++ b/src/KOKKOS/atom_vec_charge_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm_kokkos.h" #include "domain.h" #include "error.h" #include "fix.h" @@ -134,19 +133,17 @@ struct AtomVecChargeKokkos_PackComm { typename AT::t_x_array_randomread _x; typename AT::t_xfloat_2d_um _buf; - typename AT::t_int_2d_const _list; - const int _iswap; + typename AT::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; AtomVecChargeKokkos_PackComm( const typename DAT::tdual_x_array &x, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_list(list.view()),_iswap(iswap), + _x(x.view()),_list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { const size_t maxsend = (buf.view().extent(0)*buf.view().extent(1))/3; @@ -158,7 +155,7 @@ struct AtomVecChargeKokkos_PackComm { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -185,8 +182,7 @@ struct AtomVecChargeKokkos_PackBorder { typedef ArrayTypes AT; typename AT::t_xfloat_2d _buf; - const typename AT::t_int_2d_const _list; - const int _iswap; + const typename AT::t_int_1d_const _list; const typename AT::t_x_array_randomread _x; const typename AT::t_tagint_1d _tag; const typename AT::t_int_1d _type; @@ -196,21 +192,20 @@ struct AtomVecChargeKokkos_PackBorder { AtomVecChargeKokkos_PackBorder( const typename AT::t_xfloat_2d &buf, - const typename AT::t_int_2d_const &list, - const int & iswap, + const typename AT::t_int_1d_const &list, const typename AT::t_x_array &x, const typename AT::t_tagint_1d &tag, const typename AT::t_int_1d &type, const typename AT::t_int_1d &mask, const typename AT::t_float_1d &q, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_q(q), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -233,7 +228,7 @@ struct AtomVecChargeKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecChargeKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecChargeKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -251,12 +246,12 @@ int AtomVecChargeKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecChargeKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_q,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_q,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecChargeKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_q,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_q,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -265,12 +260,12 @@ int AtomVecChargeKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecChargeKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_q,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_q,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecChargeKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_q,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_q,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_charge_kokkos.h b/src/KOKKOS/atom_vec_charge_kokkos.h index 397a5ee4c0..1d1c68735e 100644 --- a/src/KOKKOS/atom_vec_charge_kokkos.h +++ b/src/KOKKOS/atom_vec_charge_kokkos.h @@ -36,8 +36,8 @@ class AtomVecChargeKokkos : public AtomVecKokkos, public AtomVecCharge { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_dipole_kokkos.cpp b/src/KOKKOS/atom_vec_dipole_kokkos.cpp index ecc0f3b497..7728fedd4b 100644 --- a/src/KOKKOS/atom_vec_dipole_kokkos.cpp +++ b/src/KOKKOS/atom_vec_dipole_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm_kokkos.h" #include "domain.h" #include "error.h" #include "fix.h" @@ -136,8 +135,7 @@ struct AtomVecDipoleKokkos_PackComm { typename ArrayTypes::t_x_array_randomread _x; typename ArrayTypes::t_mu_array_randomread _mu; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; @@ -145,13 +143,12 @@ struct AtomVecDipoleKokkos_PackComm { const typename DAT::tdual_x_array &x, const typename DAT::tdual_float_1d_4 &mu, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): _x(x.view()), _mu(mu.view()), - _list(list.view()),_iswap(iswap), + _list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { const size_t elements = 7; // size_forward @@ -163,7 +160,7 @@ struct AtomVecDipoleKokkos_PackComm { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -201,8 +198,7 @@ struct AtomVecDipoleKokkos_PackBorder { typedef DeviceType device_type; typename ArrayTypes::t_xfloat_2d _buf; - const typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + const typename ArrayTypes::t_int_1d_const _list; const typename ArrayTypes::t_x_array_randomread _x; const typename ArrayTypes::t_tagint_1d _tag; const typename ArrayTypes::t_int_1d _type; @@ -213,8 +209,7 @@ struct AtomVecDipoleKokkos_PackBorder { AtomVecDipoleKokkos_PackBorder( const typename ArrayTypes::t_xfloat_2d &buf, - const typename ArrayTypes::t_int_2d_const &list, - const int & iswap, + const typename ArrayTypes::t_int_1d_const &list, const typename ArrayTypes::t_x_array &x, const typename ArrayTypes::t_tagint_1d &tag, const typename ArrayTypes::t_int_1d &type, @@ -222,13 +217,13 @@ struct AtomVecDipoleKokkos_PackBorder { const typename ArrayTypes::t_float_1d &q, const typename ArrayTypes::t_mu_array_randomread &mu, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_q(q),_mu(mu), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -259,7 +254,7 @@ struct AtomVecDipoleKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecDipoleKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecDipoleKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -277,12 +272,12 @@ int AtomVecDipoleKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecDipoleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_q,h_mu,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_q,h_mu,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecDipoleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_q,d_mu,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_q,d_mu,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -291,12 +286,12 @@ int AtomVecDipoleKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecDipoleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_q,h_mu,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_q,h_mu,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecDipoleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_q,d_mu,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_q,d_mu,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_dipole_kokkos.h b/src/KOKKOS/atom_vec_dipole_kokkos.h index 97ec92c6c6..46e102936a 100644 --- a/src/KOKKOS/atom_vec_dipole_kokkos.h +++ b/src/KOKKOS/atom_vec_dipole_kokkos.h @@ -36,8 +36,8 @@ class AtomVecDipoleKokkos : public AtomVecKokkos, public AtomVecDipole { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_dpd_kokkos.cpp b/src/KOKKOS/atom_vec_dpd_kokkos.cpp index 70aedcc931..6152fa60fb 100644 --- a/src/KOKKOS/atom_vec_dpd_kokkos.cpp +++ b/src/KOKKOS/atom_vec_dpd_kokkos.cpp @@ -20,6 +20,7 @@ #include "domain.h" #include "error.h" #include "fix.h" +#include "kokkos.h" #include "memory_kokkos.h" #include "modify.h" @@ -168,8 +169,7 @@ struct AtomVecDPDKokkos_PackComm { typename ArrayTypes::t_x_array_randomread _x; typename ArrayTypes::t_efloat_1d _dpdTheta,_uCond,_uMech,_uChem; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; @@ -180,8 +180,7 @@ struct AtomVecDPDKokkos_PackComm { const typename DAT::tdual_efloat_1d &uMech, const typename DAT::tdual_efloat_1d &uChem, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): _x(x.view()), @@ -189,7 +188,7 @@ struct AtomVecDPDKokkos_PackComm { _uCond(uCond.view()), _uMech(uMech.view()), _uChem(uChem.view()), - _list(list.view()),_iswap(iswap), + _list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { const size_t maxsend = (buf.view().extent(0)*buf.view().extent(1))/3; @@ -201,7 +200,7 @@ struct AtomVecDPDKokkos_PackComm { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -227,8 +226,7 @@ struct AtomVecDPDKokkos_PackComm { /* ---------------------------------------------------------------------- */ int AtomVecDPDKokkos::pack_comm_kokkos(const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, + const DAT::tdual_int_1d &list, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int* const pbc) @@ -236,20 +234,20 @@ int AtomVecDPDKokkos::pack_comm_kokkos(const int &n, // Check whether to always run forward communication on the host // Choose correct forward PackComm kernel - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|DPDTHETA_MASK|UCOND_MASK|UMECH_MASK|UCHEM_MASK); if (pbc_flag) { if (domain->triclinic) { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -258,14 +256,14 @@ int AtomVecDPDKokkos::pack_comm_kokkos(const int &n, if (domain->triclinic) { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -277,14 +275,14 @@ int AtomVecDPDKokkos::pack_comm_kokkos(const int &n, if (domain->triclinic) { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -293,14 +291,14 @@ int AtomVecDPDKokkos::pack_comm_kokkos(const int &n, if (domain->triclinic) { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -321,8 +319,7 @@ struct AtomVecDPDKokkos_PackCommSelf { typename ArrayTypes::t_x_array _xw; typename ArrayTypes::t_efloat_1d _dpdTheta,_uCond,_uMech,_uChem; int _nfirst; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; @@ -333,8 +330,7 @@ struct AtomVecDPDKokkos_PackCommSelf { const typename DAT::tdual_efloat_1d &uMech, const typename DAT::tdual_efloat_1d &uChem, const int &nfirst, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): _x(x.view()),_xw(x.view()), @@ -342,7 +338,7 @@ struct AtomVecDPDKokkos_PackCommSelf { _uCond(uCond.view()), _uMech(uMech.view()), _uChem(uChem.view()), - _nfirst(nfirst),_list(list.view()),_iswap(iswap), + _nfirst(nfirst),_list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; @@ -351,7 +347,7 @@ struct AtomVecDPDKokkos_PackCommSelf { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _xw(i+_nfirst,0) = _x(j,0); _xw(i+_nfirst,1) = _x(j,1); @@ -376,23 +372,23 @@ struct AtomVecDPDKokkos_PackCommSelf { /* ---------------------------------------------------------------------- */ -int AtomVecDPDKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list, const int & iswap, +int AtomVecDPDKokkos::pack_comm_self(const int &n, const DAT::tdual_int_1d &list, const int nfirst, const int &pbc_flag, const int* const pbc) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|DPDTHETA_MASK|UCOND_MASK|UMECH_MASK|UCHEM_MASK); atomKK->modified(Host,X_MASK|DPDTHETA_MASK|UCOND_MASK|UMECH_MASK|UCHEM_MASK); if (pbc_flag) { if (domain->triclinic) { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -401,14 +397,14 @@ int AtomVecDPDKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list if (domain->triclinic) { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -421,14 +417,14 @@ int AtomVecDPDKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list if (domain->triclinic) { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -437,14 +433,14 @@ int AtomVecDPDKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list if (domain->triclinic) { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -496,7 +492,7 @@ struct AtomVecDPDKokkos_UnpackComm { void AtomVecDPDKokkos::unpack_comm_kokkos(const int &n, const int &first, const DAT::tdual_xfloat_2d &buf) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|DPDTHETA_MASK|UCOND_MASK|UMECH_MASK|UCHEM_MASK); atomKK->modified(Host,X_MASK|DPDTHETA_MASK|UCOND_MASK|UMECH_MASK|UCHEM_MASK); struct AtomVecDPDKokkos_UnpackComm f(atomKK->k_x, @@ -520,8 +516,7 @@ struct AtomVecDPDKokkos_PackBorder { typedef DeviceType device_type; typename ArrayTypes::t_xfloat_2d _buf; - const typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + const typename ArrayTypes::t_int_1d_const _list; const typename ArrayTypes::t_x_array_randomread _x; const typename ArrayTypes::t_tagint_1d _tag; const typename ArrayTypes::t_int_1d _type; @@ -531,8 +526,7 @@ struct AtomVecDPDKokkos_PackBorder { AtomVecDPDKokkos_PackBorder( const typename ArrayTypes::t_xfloat_2d &buf, - const typename ArrayTypes::t_int_2d_const &list, - const int & iswap, + const typename ArrayTypes::t_int_1d_const &list, const typename ArrayTypes::t_x_array &x, const typename ArrayTypes::t_tagint_1d &tag, const typename ArrayTypes::t_int_1d &type, @@ -544,7 +538,7 @@ struct AtomVecDPDKokkos_PackBorder { const typename ArrayTypes::t_efloat_1d &uCG, const typename ArrayTypes::t_efloat_1d &uCGnew, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask), _dpdTheta(dpdTheta), _uCond(uCond), @@ -556,7 +550,7 @@ struct AtomVecDPDKokkos_PackBorder { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -580,7 +574,7 @@ struct AtomVecDPDKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecDPDKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecDPDKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -600,14 +594,14 @@ int AtomVecDPDKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DA if (space==Host) { AtomVecDPDKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_dpdTheta,h_uCond,h_uMech,h_uChem,h_uCG,h_uCGnew, dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecDPDKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_dpdTheta,d_uCond,d_uMech,d_uChem,d_uCG,d_uCGnew, dx,dy,dz); Kokkos::parallel_for(n,f); @@ -618,14 +612,14 @@ int AtomVecDPDKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DA if (space==Host) { AtomVecDPDKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_dpdTheta,h_uCond,h_uMech,h_uChem,h_uCG,h_uCGnew, dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecDPDKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_dpdTheta,d_uCond,d_uMech,d_uChem,d_uCG,d_uCGnew, dx,dy,dz); Kokkos::parallel_for(n,f); diff --git a/src/KOKKOS/atom_vec_dpd_kokkos.h b/src/KOKKOS/atom_vec_dpd_kokkos.h index a76d7f908a..185422cfcf 100644 --- a/src/KOKKOS/atom_vec_dpd_kokkos.h +++ b/src/KOKKOS/atom_vec_dpd_kokkos.h @@ -36,17 +36,16 @@ class AtomVecDPDKokkos : public AtomVecKokkos, public AtomVecDPD { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist, - const int & iswap, + int pack_comm_kokkos(const int &n, const DAT::tdual_int_1d &k_sendlist, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int pbc[]) override; void unpack_comm_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf) override; - int pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst, + int pack_comm_self(const int &n, const DAT::tdual_int_1d &list, + const int nfirst, const int &pbc_flag, const int pbc[]) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_full_kokkos.cpp b/src/KOKKOS/atom_vec_full_kokkos.cpp index 732078a627..1ae93a3df6 100644 --- a/src/KOKKOS/atom_vec_full_kokkos.cpp +++ b/src/KOKKOS/atom_vec_full_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm_kokkos.h" #include "domain.h" #include "error.h" #include "fix.h" @@ -275,8 +274,7 @@ struct AtomVecFullKokkos_PackBorder { typedef ArrayTypes AT; typename AT::t_xfloat_2d _buf; - const typename AT::t_int_2d_const _list; - const int _iswap; + const typename AT::t_int_1d_const _list; const typename AT::t_x_array_randomread _x; const typename AT::t_tagint_1d _tag; const typename AT::t_int_1d _type; @@ -287,8 +285,7 @@ struct AtomVecFullKokkos_PackBorder { AtomVecFullKokkos_PackBorder( const typename AT::t_xfloat_2d &buf, - const typename AT::t_int_2d_const &list, - const int & iswap, + const typename AT::t_int_1d_const &list, const typename AT::t_x_array &x, const typename AT::t_tagint_1d &tag, const typename AT::t_int_1d &type, @@ -296,13 +293,13 @@ struct AtomVecFullKokkos_PackBorder { const typename AT::t_float_1d &q, const typename AT::t_tagint_1d &molecule, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_q(q),_molecule(molecule), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -327,8 +324,8 @@ struct AtomVecFullKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecFullKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecFullKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -346,12 +343,12 @@ int AtomVecFullKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecFullKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_q,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_q,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecFullKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_q,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_q,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -360,12 +357,12 @@ int AtomVecFullKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecFullKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_q,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_q,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecFullKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_q,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_q,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_full_kokkos.h b/src/KOKKOS/atom_vec_full_kokkos.h index 4937ef4152..9eea48ef95 100644 --- a/src/KOKKOS/atom_vec_full_kokkos.h +++ b/src/KOKKOS/atom_vec_full_kokkos.h @@ -35,8 +35,8 @@ class AtomVecFullKokkos : public AtomVecKokkos, public AtomVecFull { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_hybrid_kokkos.cpp b/src/KOKKOS/atom_vec_hybrid_kokkos.cpp index 08bcaaef74..77af2cff05 100644 --- a/src/KOKKOS/atom_vec_hybrid_kokkos.cpp +++ b/src/KOKKOS/atom_vec_hybrid_kokkos.cpp @@ -15,14 +15,7 @@ #include "atom_vec_hybrid_kokkos.h" #include "atom_kokkos.h" -#include "atom_masks.h" -#include "domain.h" #include "error.h" -#include "fix.h" -#include "memory_kokkos.h" -#include "modify.h" - -#include using namespace LAMMPS_NS; @@ -63,8 +56,7 @@ void AtomVecHybridKokkos::sort_kokkos(Kokkos::BinSort &Sorte /* ---------------------------------------------------------------------- */ -int AtomVecHybridKokkos::pack_comm_kokkos(const int &/*n*/, const DAT::tdual_int_2d &/*k_sendlist*/, - const int & /*iswap*/, +int AtomVecHybridKokkos::pack_comm_kokkos(const int &/*n*/, const DAT::tdual_int_1d &/*k_sendlist*/, const DAT::tdual_xfloat_2d &/*buf*/, const int &/*pbc_flag*/, const int /*pbc*/[]) { @@ -78,16 +70,16 @@ void AtomVecHybridKokkos::unpack_comm_kokkos(const int &/*n*/, const int &/*nfir error->all(FLERR,"AtomVecHybridKokkos doesn't yet support threaded comm"); } -int AtomVecHybridKokkos::pack_comm_self(const int &/*n*/, const DAT::tdual_int_2d &/*list*/, - const int & /*iswap*/, const int /*nfirst*/, - const int &/*pbc_flag*/, const int /*pbc*/[]) +int AtomVecHybridKokkos::pack_comm_self(const int &/*n*/, const DAT::tdual_int_1d &/*list*/, + const int /*nfirst*/, + const int &/*pbc_flag*/, const int pbc[]) { error->all(FLERR,"AtomVecHybridKokkos doesn't yet support threaded comm"); return 0; } -int AtomVecHybridKokkos::pack_border_kokkos(int /*n*/, DAT::tdual_int_2d /*k_sendlist*/, - DAT::tdual_xfloat_2d /*buf*/,int /*iswap*/, +int AtomVecHybridKokkos::pack_border_kokkos(int /*n*/, DAT::tdual_int_1d /*k_sendlist*/, + DAT::tdual_xfloat_2d /*buf*/, int /*pbc_flag*/, int * /*pbc*/, ExecutionSpace /*space*/) { error->all(FLERR,"AtomVecHybridKokkos doesn't yet support threaded comm"); diff --git a/src/KOKKOS/atom_vec_hybrid_kokkos.h b/src/KOKKOS/atom_vec_hybrid_kokkos.h index 6f81c93673..19210549f5 100644 --- a/src/KOKKOS/atom_vec_hybrid_kokkos.h +++ b/src/KOKKOS/atom_vec_hybrid_kokkos.h @@ -36,17 +36,16 @@ class AtomVecHybridKokkos : public AtomVecKokkos, public AtomVecHybrid { void grow(int) override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist, - const int & iswap, + int pack_comm_kokkos(const int &n, const DAT::tdual_int_1d &k_sendlist, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int pbc[]) override; void unpack_comm_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf) override; - int pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst, + int pack_comm_self(const int &n, const DAT::tdual_int_1d &list, + const int nfirst, const int &pbc_flag, const int pbc[]) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_kokkos.cpp b/src/KOKKOS/atom_vec_kokkos.cpp index 93393e9e09..d54cc2c3af 100644 --- a/src/KOKKOS/atom_vec_kokkos.cpp +++ b/src/KOKKOS/atom_vec_kokkos.cpp @@ -17,8 +17,8 @@ #include "atom_kokkos.h" #include "atom_masks.h" #include "comm_kokkos.h" -#include "error.h" #include "domain.h" +#include "kokkos.h" using namespace LAMMPS_NS; @@ -37,7 +37,6 @@ AtomVecKokkos::AtomVecKokkos(LAMMPS *lmp) : AtomVec(lmp) k_count = DAT::tdual_int_1d("atom:k_count",1); atomKK = (AtomKokkos *) atom; - commKK = (CommKokkos *) comm; } /* ---------------------------------------------------------------------- */ @@ -57,19 +56,17 @@ struct AtomVecKokkos_PackComm { typename ArrayTypes::t_x_array_randomread _x; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; AtomVecKokkos_PackComm( const typename DAT::tdual_x_array &x, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_list(list.view()),_iswap(iswap), + _x(x.view()),_list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { const size_t maxsend = (buf.view().extent(0)*buf.view().extent(1))/3; @@ -81,7 +78,7 @@ struct AtomVecKokkos_PackComm { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -103,8 +100,7 @@ struct AtomVecKokkos_PackComm { /* ---------------------------------------------------------------------- */ int AtomVecKokkos::pack_comm_kokkos(const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, + const DAT::tdual_int_1d &list, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int* const pbc) @@ -112,28 +108,28 @@ int AtomVecKokkos::pack_comm_kokkos(const int &n, // Check whether to always run forward communication on the host // Choose correct forward PackComm kernel - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK); if (pbc_flag) { if (domain->triclinic) { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } } else { if (domain->triclinic) { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -143,24 +139,24 @@ int AtomVecKokkos::pack_comm_kokkos(const int &n, atomKK->sync(Device,X_MASK); if (pbc_flag) { if (domain->triclinic) { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } } else { if (domain->triclinic) { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -168,7 +164,7 @@ int AtomVecKokkos::pack_comm_kokkos(const int &n, } } - return n*size_forward; + return n*size_forward; } /* ---------------------------------------------------------------------- */ @@ -180,19 +176,17 @@ struct AtomVecKokkos_PackCommSelf { typename ArrayTypes::t_x_array_randomread _x; typename ArrayTypes::t_x_array _xw; int _nfirst; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; AtomVecKokkos_PackCommSelf( const typename DAT::tdual_x_array &x, const int &nfirst, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_xw(x.view()),_nfirst(nfirst),_list(list.view()),_iswap(iswap), + _x(x.view()),_xw(x.view()),_nfirst(nfirst),_list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; @@ -201,7 +195,7 @@ struct AtomVecKokkos_PackCommSelf { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _xw(i+_nfirst,0) = _x(j,0); _xw(i+_nfirst,1) = _x(j,1); @@ -223,66 +217,67 @@ struct AtomVecKokkos_PackCommSelf { /* ---------------------------------------------------------------------- */ -int AtomVecKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list, const int & iswap, +int AtomVecKokkos::pack_comm_self(const int &n, const DAT::tdual_int_1d &list, const int nfirst, const int &pbc_flag, const int* const pbc) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); if (pbc_flag) { if (domain->triclinic) { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } } else { if (domain->triclinic) { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } } + atomKK->modified(Host,X_MASK); } else { atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); if (pbc_flag) { if (domain->triclinic) { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } } else { if (domain->triclinic) { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } } + atomKK->modified(Device,X_MASK); } - return n*3; + + return n*3; } @@ -361,35 +356,36 @@ struct AtomVecKokkos_PackCommSelfFused { int AtomVecKokkos::pack_comm_self_fused(const int &n, const DAT::tdual_int_2d &list, const DAT::tdual_int_1d &sendnum_scan, const DAT::tdual_int_1d &firstrecv, const DAT::tdual_int_1d &pbc_flag, const DAT::tdual_int_2d &pbc, const DAT::tdual_int_1d &g2l) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); if (domain->triclinic) { - struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, + struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, + struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } + atomKK->modified(Host,X_MASK); } else { atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); if (domain->triclinic) { - struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, + struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, + struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } + atomKK->modified(Device,X_MASK); } + return n*3; } @@ -421,20 +417,19 @@ struct AtomVecKokkos_UnpackComm { void AtomVecKokkos::unpack_comm_kokkos(const int &n, const int &first, const DAT::tdual_xfloat_2d &buf) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); struct AtomVecKokkos_UnpackComm f(atomKK->k_x,buf,first); Kokkos::parallel_for(n,f); + atomKK->modified(Host,X_MASK); } else { atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); struct AtomVecKokkos_UnpackComm f(atomKK->k_x,buf,first); Kokkos::parallel_for(n,f); + atomKK->modified(Device,X_MASK); } } - /* ---------------------------------------------------------------------- */ template @@ -445,8 +440,7 @@ struct AtomVecKokkos_PackCommVel { typename ArrayTypes::t_int_1d _mask; typename ArrayTypes::t_v_array _v; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; X_FLOAT _h_rate[6]; @@ -457,8 +451,7 @@ struct AtomVecKokkos_PackCommVel { const typename DAT::tdual_int_1d &mask, const typename DAT::tdual_v_array &v, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int &iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc, const double * const h_rate, @@ -466,7 +459,7 @@ struct AtomVecKokkos_PackCommVel { _x(x.view()), _mask(mask.view()), _v(v.view()), - _list(list.view()),_iswap(iswap), + _list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz), _deform_vremap(deform_vremap) @@ -482,7 +475,7 @@ struct AtomVecKokkos_PackCommVel { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -524,13 +517,12 @@ struct AtomVecKokkos_PackCommVel { int AtomVecKokkos::pack_comm_vel_kokkos( const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, + const DAT::tdual_int_1d &list, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int* const pbc) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|V_MASK); if (pbc_flag) { if (deform_vremap) { @@ -538,7 +530,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -546,7 +538,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -556,7 +548,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -564,7 +556,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -575,7 +567,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -583,7 +575,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -597,7 +589,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -605,7 +597,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -615,7 +607,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -623,7 +615,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -634,7 +626,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -642,13 +634,14 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); } } } + return n*6; } @@ -692,16 +685,16 @@ struct AtomVecKokkos_UnpackCommVel { void AtomVecKokkos::unpack_comm_vel_kokkos(const int &n, const int &first, const DAT::tdual_xfloat_2d &buf) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|V_MASK); - atomKK->modified(Host,X_MASK|V_MASK); struct AtomVecKokkos_UnpackCommVel f(atomKK->k_x,atomKK->k_v,buf,first); Kokkos::parallel_for(n,f); + atomKK->modified(Host,X_MASK|V_MASK); } else { atomKK->sync(Device,X_MASK|V_MASK); - atomKK->modified(Device,X_MASK|V_MASK); struct AtomVecKokkos_UnpackCommVel f(atomKK->k_x,atomKK->k_v,buf,first); Kokkos::parallel_for(n,f); + atomKK->modified(Device,X_MASK|V_MASK); } } @@ -733,7 +726,7 @@ struct AtomVecKokkos_PackReverse { int AtomVecKokkos::pack_reverse_kokkos(const int &n, const int &first, const DAT::tdual_ffloat_2d &buf) { - if (commKK->reverse_comm_on_host) { + if (lmp->kokkos->reverse_comm_on_host) { atomKK->sync(Host,F_MASK); struct AtomVecKokkos_PackReverse f(atomKK->k_f,buf,first); Kokkos::parallel_for(n,f); @@ -755,20 +748,18 @@ struct AtomVecKokkos_UnPackReverseSelf { typename ArrayTypes::t_f_array_randomread _f; typename ArrayTypes::t_f_array _fw; int _nfirst; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; AtomVecKokkos_UnPackReverseSelf( const typename DAT::tdual_f_array &f, const int &nfirst, - const typename DAT::tdual_int_2d &list, - const int & iswap): - _f(f.view()),_fw(f.view()),_nfirst(nfirst),_list(list.view()),_iswap(iswap) { + const typename DAT::tdual_int_1d &list): + _f(f.view()),_fw(f.view()),_nfirst(nfirst),_list(list.view()) { }; KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); _fw(j,0) += _f(i+_nfirst,0); _fw(j,1) += _f(i+_nfirst,1); _fw(j,2) += _f(i+_nfirst,2); @@ -777,19 +768,20 @@ struct AtomVecKokkos_UnPackReverseSelf { /* ---------------------------------------------------------------------- */ -int AtomVecKokkos::unpack_reverse_self(const int &n, const DAT::tdual_int_2d &list, const int & iswap, - const int nfirst) { - if (commKK->reverse_comm_on_host) { +int AtomVecKokkos::pack_reverse_self(const int &n, const DAT::tdual_int_1d &list, + const int nfirst) { + if (lmp->kokkos->reverse_comm_on_host) { atomKK->sync(Host,F_MASK); - struct AtomVecKokkos_UnPackReverseSelf f(atomKK->k_f,nfirst,list,iswap); + struct AtomVecKokkos_UnPackReverseSelf f(atomKK->k_f,nfirst,list); Kokkos::parallel_for(n,f); atomKK->modified(Host,F_MASK); } else { atomKK->sync(Device,F_MASK); - struct AtomVecKokkos_UnPackReverseSelf f(atomKK->k_f,nfirst,list,iswap); + struct AtomVecKokkos_UnPackReverseSelf f(atomKK->k_f,nfirst,list); Kokkos::parallel_for(n,f); atomKK->modified(Device,F_MASK); } + return n*3; } @@ -801,15 +793,13 @@ struct AtomVecKokkos_UnPackReverse { typename ArrayTypes::t_f_array _f; typename ArrayTypes::t_ffloat_2d_const _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; AtomVecKokkos_UnPackReverse( const typename DAT::tdual_f_array &f, const typename DAT::tdual_ffloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap): - _f(f.view()),_list(list.view()),_iswap(iswap) { + const typename DAT::tdual_int_1d &list): + _f(f.view()),_list(list.view()) { const size_t maxsend = (buf.view().extent(0)*buf.view().extent(1))/3; const size_t elements = 3; buffer_view(_buf,buf,maxsend,elements); @@ -817,7 +807,7 @@ struct AtomVecKokkos_UnPackReverse { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); _f(j,0) += _buf(i,0); _f(j,1) += _buf(i,1); _f(j,2) += _buf(i,2); @@ -827,19 +817,18 @@ struct AtomVecKokkos_UnPackReverse { /* ---------------------------------------------------------------------- */ void AtomVecKokkos::unpack_reverse_kokkos(const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, + const DAT::tdual_int_1d &list, const DAT::tdual_ffloat_2d &buf) { // Check whether to always run reverse communication on the host // Choose correct reverse UnPackReverse kernel - if (commKK->reverse_comm_on_host) { - struct AtomVecKokkos_UnPackReverse f(atomKK->k_f,buf,list,iswap); + if (lmp->kokkos->reverse_comm_on_host) { + struct AtomVecKokkos_UnPackReverse f(atomKK->k_f,buf,list); Kokkos::parallel_for(n,f); atomKK->modified(Host,F_MASK); } else { - struct AtomVecKokkos_UnPackReverse f(atomKK->k_f,buf,list,iswap); + struct AtomVecKokkos_UnPackReverse f(atomKK->k_f,buf,list); Kokkos::parallel_for(n,f); atomKK->modified(Device,F_MASK); } diff --git a/src/KOKKOS/atom_vec_kokkos.h b/src/KOKKOS/atom_vec_kokkos.h index c10ff5b40a..646d9a4840 100644 --- a/src/KOKKOS/atom_vec_kokkos.h +++ b/src/KOKKOS/atom_vec_kokkos.h @@ -50,8 +50,8 @@ class AtomVecKokkos : virtual public AtomVec { virtual void sync_overlapping_device(ExecutionSpace space, unsigned int mask) = 0; virtual int - pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst, + pack_comm_self(const int &n, const DAT::tdual_int_1d &list, + const int nfirst, const int &pbc_flag, const int pbc[]); virtual int @@ -63,8 +63,8 @@ class AtomVecKokkos : virtual public AtomVec { const DAT::tdual_int_1d &g2l); virtual int - pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const DAT::tdual_xfloat_2d &buf, + pack_comm_kokkos(const int &n, const DAT::tdual_int_1d &list, + const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int pbc[]); virtual void @@ -72,8 +72,8 @@ class AtomVecKokkos : virtual public AtomVec { const DAT::tdual_xfloat_2d &buf); virtual int - pack_comm_vel_kokkos(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const DAT::tdual_xfloat_2d &buf, + pack_comm_vel_kokkos(const int &n, const DAT::tdual_int_1d &list, + const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int pbc[]); virtual void @@ -81,20 +81,20 @@ class AtomVecKokkos : virtual public AtomVec { const DAT::tdual_xfloat_2d &buf); virtual int - unpack_reverse_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst); + pack_reverse_self(const int &n, const DAT::tdual_int_1d &list, + const int nfirst); virtual int pack_reverse_kokkos(const int &n, const int &nfirst, const DAT::tdual_ffloat_2d &buf); virtual void - unpack_reverse_kokkos(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const DAT::tdual_ffloat_2d &buf); + unpack_reverse_kokkos(const int &n, const DAT::tdual_int_1d &list, + const DAT::tdual_ffloat_2d &buf); virtual int - pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) = 0; virtual void @@ -103,8 +103,8 @@ class AtomVecKokkos : virtual public AtomVec { ExecutionSpace space) = 0; virtual int - pack_border_vel_kokkos(int /*n*/, DAT::tdual_int_2d /*k_sendlist*/, - DAT::tdual_xfloat_2d /*buf*/,int /*iswap*/, + pack_border_vel_kokkos(int /*n*/, DAT::tdual_int_1d /*k_sendlist*/, + DAT::tdual_xfloat_2d /*buf*/, int /*pbc_flag*/, int * /*pbc*/, ExecutionSpace /*space*/) { return 0; } virtual void @@ -133,7 +133,6 @@ class AtomVecKokkos : virtual public AtomVec { HAT::t_v_array h_v; HAT::t_f_array h_f; - class CommKokkos *commKK; size_t buffer_size; void* buffer; diff --git a/src/KOKKOS/atom_vec_molecular_kokkos.cpp b/src/KOKKOS/atom_vec_molecular_kokkos.cpp index ec98ff9239..68369e2fad 100644 --- a/src/KOKKOS/atom_vec_molecular_kokkos.cpp +++ b/src/KOKKOS/atom_vec_molecular_kokkos.cpp @@ -260,295 +260,13 @@ void AtomVecMolecularKokkos::sort_kokkos(Kokkos::BinSort &So /* ---------------------------------------------------------------------- */ -template -struct AtomVecMolecularKokkos_PackComm { - typedef DeviceType device_type; - - typename ArrayTypes::t_x_array_randomread _x; - typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; - X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; - X_FLOAT _pbc[6]; - - AtomVecMolecularKokkos_PackComm( - const typename DAT::tdual_x_array &x, - const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, - const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, - const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_list(list.view()),_iswap(iswap), - _xprd(xprd),_yprd(yprd),_zprd(zprd), - _xy(xy),_xz(xz),_yz(yz) { - const size_t maxsend = (buf.view().extent(0) - *buf.view().extent(1))/3; - const size_t elements = 3; - buffer_view(_buf,buf,maxsend,elements); - _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; - _pbc[3] = pbc[3]; _pbc[4] = pbc[4]; _pbc[5] = pbc[5]; - }; - - KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - const int j = _list(_iswap,i); - if (PBC_FLAG == 0) { - _buf(i,0) = _x(j,0); - _buf(i,1) = _x(j,1); - _buf(i,2) = _x(j,2); - } else { - if (TRICLINIC == 0) { - _buf(i,0) = _x(j,0) + _pbc[0]*_xprd; - _buf(i,1) = _x(j,1) + _pbc[1]*_yprd; - _buf(i,2) = _x(j,2) + _pbc[2]*_zprd; - } else { - _buf(i,0) = _x(j,0) + _pbc[0]*_xprd + _pbc[5]*_xy + _pbc[4]*_xz; - _buf(i,1) = _x(j,1) + _pbc[1]*_yprd + _pbc[3]*_yz; - _buf(i,2) = _x(j,2) + _pbc[2]*_zprd; - } - } - } -}; - -/* ---------------------------------------------------------------------- */ - -int AtomVecMolecularKokkos::pack_comm_kokkos(const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, - const DAT::tdual_xfloat_2d &buf, - const int &pbc_flag, - const int* const pbc) -{ - // Check whether to always run forward communication on the host - // Choose correct forward PackComm kernel - - if (commKK->forward_comm_on_host) { - atomKK->sync(Host,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } else { - atomKK->sync(Device,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } - - return n*size_forward; -} - -/* ---------------------------------------------------------------------- */ - -template -struct AtomVecMolecularKokkos_PackCommSelf { - typedef DeviceType device_type; - - typename ArrayTypes::t_x_array_randomread _x; - typename ArrayTypes::t_x_array _xw; - int _nfirst; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; - X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; - X_FLOAT _pbc[6]; - - AtomVecMolecularKokkos_PackCommSelf( - const typename DAT::tdual_x_array &x, - const int &nfirst, - const typename DAT::tdual_int_2d &list, - const int & iswap, - const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, - const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_xw(x.view()),_nfirst(nfirst), - _list(list.view()),_iswap(iswap), - _xprd(xprd),_yprd(yprd),_zprd(zprd), - _xy(xy),_xz(xz),_yz(yz) { - _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; - _pbc[3] = pbc[3]; _pbc[4] = pbc[4]; _pbc[5] = pbc[5]; - }; - - KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - const int j = _list(_iswap,i); - if (PBC_FLAG == 0) { - _xw(i+_nfirst,0) = _x(j,0); - _xw(i+_nfirst,1) = _x(j,1); - _xw(i+_nfirst,2) = _x(j,2); - } else { - if (TRICLINIC == 0) { - _xw(i+_nfirst,0) = _x(j,0) + _pbc[0]*_xprd; - _xw(i+_nfirst,1) = _x(j,1) + _pbc[1]*_yprd; - _xw(i+_nfirst,2) = _x(j,2) + _pbc[2]*_zprd; - } else { - _xw(i+_nfirst,0) = _x(j,0) + _pbc[0]*_xprd + _pbc[5]*_xy + _pbc[4]*_xz; - _xw(i+_nfirst,1) = _x(j,1) + _pbc[1]*_yprd + _pbc[3]*_yz; - _xw(i+_nfirst,2) = _x(j,2) + _pbc[2]*_zprd; - } - } - - } -}; - -/* ---------------------------------------------------------------------- */ - -int AtomVecMolecularKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, - const int nfirst, const int &pbc_flag, - const int* const pbc) { - if (commKK->forward_comm_on_host) { - atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } else { - atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } - return n*3; -} - -/* ---------------------------------------------------------------------- */ - -template -struct AtomVecMolecularKokkos_UnpackComm { - typedef DeviceType device_type; - - typename ArrayTypes::t_x_array _x; - typename ArrayTypes::t_xfloat_2d_const _buf; - int _first; - - AtomVecMolecularKokkos_UnpackComm( - const typename DAT::tdual_x_array &x, - const typename DAT::tdual_xfloat_2d &buf, - const int& first):_x(x.view()),_buf(buf.view()), - _first(first) {}; - - KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - _x(i+_first,0) = _buf(i,0); - _x(i+_first,1) = _buf(i,1); - _x(i+_first,2) = _buf(i,2); - } -}; - -/* ---------------------------------------------------------------------- */ - -void AtomVecMolecularKokkos::unpack_comm_kokkos(const int &n, const int &first, - const DAT::tdual_xfloat_2d &buf) { - if (commKK->forward_comm_on_host) { - atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); - struct AtomVecMolecularKokkos_UnpackComm f(atomKK->k_x,buf,first); - Kokkos::parallel_for(n,f); - } else { - atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); - struct AtomVecMolecularKokkos_UnpackComm f(atomKK->k_x,buf,first); - Kokkos::parallel_for(n,f); - } -} - -/* ---------------------------------------------------------------------- */ - template struct AtomVecMolecularKokkos_PackBorder { typedef DeviceType device_type; typedef ArrayTypes AT; typename AT::t_xfloat_2d _buf; - const typename AT::t_int_2d_const _list; - const int _iswap; + const typename AT::t_int_1d_const _list; const typename AT::t_x_array_randomread _x; const typename AT::t_tagint_1d _tag; const typename AT::t_int_1d _type; @@ -558,21 +276,20 @@ struct AtomVecMolecularKokkos_PackBorder { AtomVecMolecularKokkos_PackBorder( const typename AT::t_xfloat_2d &buf, - const typename AT::t_int_2d_const &list, - const int & iswap, + const typename AT::t_int_1d_const &list, const typename AT::t_x_array &x, const typename AT::t_tagint_1d &tag, const typename AT::t_int_1d &type, const typename AT::t_int_1d &mask, const typename AT::t_tagint_1d &molecule, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_molecule(molecule), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -595,8 +312,8 @@ struct AtomVecMolecularKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecMolecularKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecMolecularKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -614,12 +331,12 @@ int AtomVecMolecularKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendli if (space==Host) { AtomVecMolecularKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecMolecularKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -628,12 +345,12 @@ int AtomVecMolecularKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendli if (space==Host) { AtomVecMolecularKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecMolecularKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_molecular_kokkos.h b/src/KOKKOS/atom_vec_molecular_kokkos.h index eb976e9073..a92784fbd9 100644 --- a/src/KOKKOS/atom_vec_molecular_kokkos.h +++ b/src/KOKKOS/atom_vec_molecular_kokkos.h @@ -35,17 +35,8 @@ class AtomVecMolecularKokkos : public AtomVecKokkos, public AtomVecMolecular { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist, - const int & iswap, - const DAT::tdual_xfloat_2d &buf, - const int &pbc_flag, const int pbc[]) override; - void unpack_comm_kokkos(const int &n, const int &nfirst, - const DAT::tdual_xfloat_2d &buf) override; - int pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst, - const int &pbc_flag, const int pbc[]) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_sphere_kokkos.cpp b/src/KOKKOS/atom_vec_sphere_kokkos.cpp index 3dfb5143cd..8802275e31 100644 --- a/src/KOKKOS/atom_vec_sphere_kokkos.cpp +++ b/src/KOKKOS/atom_vec_sphere_kokkos.cpp @@ -20,13 +20,11 @@ #include "domain.h" #include "error.h" #include "fix.h" +#include "kokkos.h" #include "math_const.h" -#include "memory.h" #include "memory_kokkos.h" #include "modify.h" -#include - using namespace LAMMPS_NS; using namespace MathConst; @@ -152,8 +150,7 @@ struct AtomVecSphereKokkos_PackComm { typename ArrayTypes::t_x_array_randomread _x; typename ArrayTypes::t_float_1d _radius,_rmass; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; @@ -162,14 +159,13 @@ struct AtomVecSphereKokkos_PackComm { const typename DAT::tdual_float_1d &radius, const typename DAT::tdual_float_1d &rmass, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): _x(x.view()), _radius(radius.view()), _rmass(rmass.view()), - _list(list.view()),_iswap(iswap), + _list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { const size_t elements = 5; @@ -181,7 +177,7 @@ struct AtomVecSphereKokkos_PackComm { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -206,25 +202,24 @@ struct AtomVecSphereKokkos_PackComm { int AtomVecSphereKokkos::pack_comm_kokkos( const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, + const DAT::tdual_int_1d &list, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int* const pbc) { // Fallback to AtomVecKokkos if radvary == 0 if (radvary == 0) - return AtomVecKokkos::pack_comm_kokkos(n,list,iswap,buf,pbc_flag,pbc); + return AtomVecKokkos::pack_comm_kokkos(n,list,buf,pbc_flag,pbc); // Check whether to always run forward communication on the host // Choose correct forward PackComm kernel - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|RADIUS_MASK|RMASS_MASK); if (pbc_flag) { if (domain->triclinic) { struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -232,7 +227,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -242,7 +237,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -250,7 +245,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -263,7 +258,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -271,7 +266,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -281,7 +276,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -289,7 +284,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -310,8 +305,7 @@ struct AtomVecSphereKokkos_PackCommVel { typename ArrayTypes::t_float_1d _radius,_rmass; typename ArrayTypes::t_v_array _v, _omega; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; X_FLOAT _h_rate[6]; @@ -325,8 +319,7 @@ struct AtomVecSphereKokkos_PackCommVel { const typename DAT::tdual_v_array &v, const typename DAT::tdual_v_array &omega, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int &iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc, const double * const h_rate, @@ -337,7 +330,7 @@ struct AtomVecSphereKokkos_PackCommVel { _rmass(rmass.view()), _v(v.view()), _omega(omega.view()), - _list(list.view()),_iswap(iswap), + _list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz), _deform_vremap(deform_vremap) @@ -353,7 +346,7 @@ struct AtomVecSphereKokkos_PackCommVel { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -398,13 +391,12 @@ struct AtomVecSphereKokkos_PackCommVel { int AtomVecSphereKokkos::pack_comm_vel_kokkos( const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, + const DAT::tdual_int_1d &list, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int* const pbc) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|RADIUS_MASK|RMASS_MASK|V_MASK|OMEGA_MASK); if (pbc_flag) { if (deform_vremap) { @@ -414,7 +406,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -423,7 +415,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -434,7 +426,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -443,7 +435,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -456,7 +448,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -465,7 +457,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -476,7 +468,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -485,7 +477,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -499,7 +491,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -508,7 +500,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -519,7 +511,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -528,7 +520,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -545,7 +537,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -554,7 +546,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -565,7 +557,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -574,7 +566,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -587,7 +579,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -596,7 +588,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -607,7 +599,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -616,7 +608,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -630,7 +622,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -639,7 +631,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -650,7 +642,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -659,7 +651,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -680,8 +672,7 @@ struct AtomVecSphereKokkos_PackCommSelf { typename ArrayTypes::t_x_array _xw; typename ArrayTypes::t_float_1d _radius,_rmass; int _nfirst; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; @@ -690,14 +681,13 @@ struct AtomVecSphereKokkos_PackCommSelf { const typename DAT::tdual_float_1d &radius, const typename DAT::tdual_float_1d &rmass, const int &nfirst, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): _x(x.view()),_xw(x.view()), _radius(radius.view()), _rmass(rmass.view()), - _nfirst(nfirst),_list(list.view()),_iswap(iswap), + _nfirst(nfirst),_list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; @@ -706,7 +696,7 @@ struct AtomVecSphereKokkos_PackCommSelf { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _xw(i+_nfirst,0) = _x(j,0); _xw(i+_nfirst,1) = _x(j,1); @@ -730,12 +720,12 @@ struct AtomVecSphereKokkos_PackCommSelf { /* ---------------------------------------------------------------------- */ int AtomVecSphereKokkos::pack_comm_self( - const int &n, const DAT::tdual_int_2d &list, const int &iswap, + const int &n, const DAT::tdual_int_1d &list, const int nfirst, const int &pbc_flag, const int* const pbc) { // Fallback to AtomVecKokkos if radvary == 0 if (radvary == 0) - return AtomVecKokkos::pack_comm_self(n,list,iswap,nfirst,pbc_flag,pbc); - if (commKK->forward_comm_on_host) { + return AtomVecKokkos::pack_comm_self(n,list,nfirst,pbc_flag,pbc); + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|RADIUS_MASK|RMASS_MASK); atomKK->modified(Host,X_MASK|RADIUS_MASK|RMASS_MASK); if (pbc_flag) { @@ -743,7 +733,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -751,7 +741,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -761,7 +751,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -769,7 +759,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -783,7 +773,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -791,7 +781,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -801,7 +791,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -809,7 +799,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -866,7 +856,7 @@ void AtomVecSphereKokkos::unpack_comm_kokkos( AtomVecKokkos::unpack_comm_kokkos(n,first,buf); return; } - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->modified(Host,X_MASK|RADIUS_MASK|RMASS_MASK); struct AtomVecSphereKokkos_UnpackComm f( atomKK->k_x, @@ -938,7 +928,7 @@ struct AtomVecSphereKokkos_UnpackCommVel { void AtomVecSphereKokkos::unpack_comm_vel_kokkos( const int &n, const int &first, const DAT::tdual_xfloat_2d &buf) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->modified(Host,X_MASK|RADIUS_MASK|RMASS_MASK|V_MASK|OMEGA_MASK); if (radvary == 0) { struct AtomVecSphereKokkos_UnpackCommVel f( @@ -982,8 +972,7 @@ struct AtomVecSphereKokkos_PackBorder { typedef DeviceType device_type; typename ArrayTypes::t_xfloat_2d_um _buf; - const typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + const typename ArrayTypes::t_int_1d_const _list; const typename ArrayTypes::t_x_array_randomread _x; const typename ArrayTypes::t_tagint_1d _tag; const typename ArrayTypes::t_int_1d _type; @@ -993,8 +982,7 @@ struct AtomVecSphereKokkos_PackBorder { AtomVecSphereKokkos_PackBorder( const typename ArrayTypes::t_xfloat_2d &buf, - const typename ArrayTypes::t_int_2d_const &list, - const int &iswap, + const typename ArrayTypes::t_int_1d_const &list, const typename ArrayTypes::t_x_array &x, const typename ArrayTypes::t_tagint_1d &tag, const typename ArrayTypes::t_int_1d &type, @@ -1002,7 +990,7 @@ struct AtomVecSphereKokkos_PackBorder { const typename ArrayTypes::t_float_1d &radius, const typename ArrayTypes::t_float_1d &rmass, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask), _radius(radius), _rmass(rmass), @@ -1015,7 +1003,7 @@ struct AtomVecSphereKokkos_PackBorder { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -1036,7 +1024,7 @@ struct AtomVecSphereKokkos_PackBorder { /* ---------------------------------------------------------------------- */ int AtomVecSphereKokkos::pack_border_kokkos( - int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, + int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -1057,14 +1045,14 @@ int AtomVecSphereKokkos::pack_border_kokkos( if (space==Host) { AtomVecSphereKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_radius,h_rmass, dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecSphereKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_radius,d_rmass, dx,dy,dz); Kokkos::parallel_for(n,f); @@ -1074,14 +1062,14 @@ int AtomVecSphereKokkos::pack_border_kokkos( if (space==Host) { AtomVecSphereKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_radius,h_rmass, dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecSphereKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_radius,d_rmass, dx,dy,dz); Kokkos::parallel_for(n,f); @@ -1097,8 +1085,7 @@ struct AtomVecSphereKokkos_PackBorderVel { typedef DeviceType device_type; typename ArrayTypes::t_xfloat_2d_um _buf; - const typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + const typename ArrayTypes::t_int_1d_const _list; const typename ArrayTypes::t_x_array_randomread _x; const typename ArrayTypes::t_tagint_1d _tag; const typename ArrayTypes::t_int_1d _type; @@ -1110,8 +1097,7 @@ struct AtomVecSphereKokkos_PackBorderVel { AtomVecSphereKokkos_PackBorderVel( const typename ArrayTypes::t_xfloat_2d &buf, - const typename ArrayTypes::t_int_2d_const &list, - const int &iswap, + const typename ArrayTypes::t_int_1d_const &list, const typename ArrayTypes::t_x_array &x, const typename ArrayTypes::t_tagint_1d &tag, const typename ArrayTypes::t_int_1d &type, @@ -1123,7 +1109,7 @@ struct AtomVecSphereKokkos_PackBorderVel { const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz, const X_FLOAT &dvx, const X_FLOAT &dvy, const X_FLOAT &dvz, const int &deform_groupbit): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask), _radius(radius), _rmass(rmass), @@ -1139,7 +1125,7 @@ struct AtomVecSphereKokkos_PackBorderVel { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -1175,7 +1161,7 @@ struct AtomVecSphereKokkos_PackBorderVel { /* ---------------------------------------------------------------------- */ int AtomVecSphereKokkos::pack_border_vel_kokkos( - int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, + int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx=0,dy=0,dz=0; @@ -1198,7 +1184,7 @@ int AtomVecSphereKokkos::pack_border_vel_kokkos( if (space==Host) { AtomVecSphereKokkos_PackBorderVel f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_radius,h_rmass, h_v, h_omega, dx,dy,dz,dvx,dvy,dvz, @@ -1207,7 +1193,7 @@ int AtomVecSphereKokkos::pack_border_vel_kokkos( } else { AtomVecSphereKokkos_PackBorderVel f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_radius,d_rmass, d_v, d_omega, dx,dy,dz,dvx,dvy,dvz, @@ -1222,7 +1208,7 @@ int AtomVecSphereKokkos::pack_border_vel_kokkos( if (space==Host) { AtomVecSphereKokkos_PackBorderVel f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_radius,h_rmass, h_v, h_omega, dx,dy,dz,dvx,dvy,dvz, @@ -1231,7 +1217,7 @@ int AtomVecSphereKokkos::pack_border_vel_kokkos( } else { AtomVecSphereKokkos_PackBorderVel f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_radius,d_rmass, d_v, d_omega, dx,dy,dz,dvx,dvy,dvz, @@ -1243,7 +1229,7 @@ int AtomVecSphereKokkos::pack_border_vel_kokkos( if (space==Host) { AtomVecSphereKokkos_PackBorderVel f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_radius,h_rmass, h_v, h_omega, dx,dy,dz,dvx,dvy,dvz, @@ -1252,7 +1238,7 @@ int AtomVecSphereKokkos::pack_border_vel_kokkos( } else { AtomVecSphereKokkos_PackBorderVel f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_radius,d_rmass, d_v, d_omega, dx,dy,dz,dvx,dvy,dvz, diff --git a/src/KOKKOS/atom_vec_sphere_kokkos.h b/src/KOKKOS/atom_vec_sphere_kokkos.h index 34529320d9..b28da45c6a 100644 --- a/src/KOKKOS/atom_vec_sphere_kokkos.h +++ b/src/KOKKOS/atom_vec_sphere_kokkos.h @@ -37,29 +37,27 @@ class AtomVecSphereKokkos : public AtomVecKokkos, public AtomVecSphere { void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist, - const int & iswap, + int pack_comm_kokkos(const int &n, const DAT::tdual_int_1d &k_sendlist, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int pbc[]) override; void unpack_comm_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf) override; - int pack_comm_vel_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist, - const int & iswap, + int pack_comm_vel_kokkos(const int &n, const DAT::tdual_int_1d &k_sendlist, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int pbc[]) override; void unpack_comm_vel_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf) override; - int pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst, + int pack_comm_self(const int &n, const DAT::tdual_int_1d &list, + const int nfirst, const int &pbc_flag, const int pbc[]) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, ExecutionSpace space) override; - int pack_border_vel_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_vel_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_vel_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_spin_kokkos.cpp b/src/KOKKOS/atom_vec_spin_kokkos.cpp index c6ee7c1d3b..7cd0b8934c 100644 --- a/src/KOKKOS/atom_vec_spin_kokkos.cpp +++ b/src/KOKKOS/atom_vec_spin_kokkos.cpp @@ -26,7 +26,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm_kokkos.h" #include "domain.h" #include "error.h" #include "fix.h" @@ -157,8 +156,7 @@ struct AtomVecSpinKokkos_PackComm { typename ArrayTypes::t_x_array_randomread _x; typename ArrayTypes::t_sp_array_randomread _sp; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; @@ -166,12 +164,11 @@ struct AtomVecSpinKokkos_PackComm { const typename DAT::tdual_x_array &x, const typename DAT::tdual_float_1d_4 &sp, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): _x(x.view()),_sp(sp.view()), - _list(list.view()),_iswap(iswap), + _list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { const size_t maxsend = (buf.view().extent(0)*buf.view().extent(1))/3; @@ -183,7 +180,7 @@ struct AtomVecSpinKokkos_PackComm { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -221,8 +218,7 @@ struct AtomVecSpinKokkos_PackBorder { typedef DeviceType device_type; typename ArrayTypes::t_xfloat_2d _buf; - const typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + const typename ArrayTypes::t_int_1d_const _list; const typename ArrayTypes::t_x_array_randomread _x; const typename ArrayTypes::t_tagint_1d _tag; const typename ArrayTypes::t_int_1d _type; @@ -232,21 +228,20 @@ struct AtomVecSpinKokkos_PackBorder { AtomVecSpinKokkos_PackBorder( const typename ArrayTypes::t_xfloat_2d &buf, - const typename ArrayTypes::t_int_2d_const &list, - const int & iswap, + const typename ArrayTypes::t_int_1d_const &list, const typename ArrayTypes::t_x_array &x, const typename ArrayTypes::t_tagint_1d &tag, const typename ArrayTypes::t_int_1d &type, const typename ArrayTypes::t_int_1d &mask, const typename ArrayTypes::t_sp_array &sp, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_sp(sp), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -275,7 +270,7 @@ struct AtomVecSpinKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecSpinKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecSpinKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -293,12 +288,12 @@ int AtomVecSpinKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, D if(space==Host) { AtomVecSpinKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_sp,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_sp,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecSpinKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_sp,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_sp,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -307,12 +302,12 @@ int AtomVecSpinKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, D if(space==Host) { AtomVecSpinKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_sp,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_sp,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecSpinKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_sp,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_sp,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_spin_kokkos.h b/src/KOKKOS/atom_vec_spin_kokkos.h index f0145e4db7..6f968dcd25 100644 --- a/src/KOKKOS/atom_vec_spin_kokkos.h +++ b/src/KOKKOS/atom_vec_spin_kokkos.h @@ -36,8 +36,8 @@ class AtomVecSpinKokkos : public AtomVecKokkos, public AtomVecSpin { void grow_pointers() override; void force_clear(int, size_t) override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/comm_kokkos.cpp b/src/KOKKOS/comm_kokkos.cpp index 4d527cc16b..8f821c3036 100644 --- a/src/KOKKOS/comm_kokkos.cpp +++ b/src/KOKKOS/comm_kokkos.cpp @@ -142,11 +142,15 @@ void CommKokkos::init() if (force->newton == 0) check_reverse = 0; if (force->pair) check_reverse += force->pair->comm_reverse_off; - if (!comm_f_only) // not all Kokkos atom_vec styles have reverse pack/unpack routines yet + if (!comm_f_only) {// not all Kokkos atom_vec styles have reverse pack/unpack routines yet reverse_comm_classic = true; + lmp->kokkos->reverse_comm_classic = 1; + } - if (ghost_velocity && atomKK->avecKK->no_comm_vel_flag) // not all Kokkos atom_vec styles have comm vel pack/unpack routines yet + if (ghost_velocity && atomKK->avecKK->no_comm_vel_flag) { // not all Kokkos atom_vec styles have comm vel pack/unpack routines yet forward_comm_classic = true; + lmp->kokkos->forward_comm_classic = 1; + } } /* ---------------------------------------------------------------------- @@ -157,8 +161,8 @@ void CommKokkos::init() void CommKokkos::forward_comm(int dummy) { if (!forward_comm_classic) { - if (forward_comm_on_host) forward_comm_device(dummy); - else forward_comm_device(dummy); + if (forward_comm_on_host) forward_comm_device(); + else forward_comm_device(); return; } @@ -181,7 +185,7 @@ void CommKokkos::forward_comm(int dummy) /* ---------------------------------------------------------------------- */ template -void CommKokkos::forward_comm_device(int) +void CommKokkos::forward_comm_device() { int n; MPI_Request request; @@ -192,7 +196,6 @@ void CommKokkos::forward_comm_device(int) // if comm_x_only set, exchange or copy directly to x, don't unpack k_sendlist.sync(); - atomKK->sync(ExecutionSpaceFromDevice::space,X_MASK); if (comm->nprocs == 1 && !ghost_velocity) { k_swap.sync(); @@ -211,26 +214,26 @@ void CommKokkos::forward_comm_device(int) MPI_Irecv(buf,size_forward_recv[iswap],MPI_DOUBLE, recvproc[iswap],0,world,&request); } - n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap],k_sendlist, - iswap,k_buf_send,pbc_flag[iswap],pbc[iswap]); + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap],k_sendlist_iswap, + k_buf_send,pbc_flag[iswap],pbc[iswap]); DeviceType().fence(); if (n) { MPI_Send(k_buf_send.view().data(), n,MPI_DOUBLE,sendproc[iswap],0,world); } - if (size_forward_recv[iswap]) { + if (size_forward_recv[iswap]) MPI_Wait(&request,MPI_STATUS_IGNORE); - atomKK->modified(ExecutionSpaceFromDevice:: - space,X_MASK); - } + } else if (ghost_velocity) { if (size_forward_recv[iswap]) { MPI_Irecv(k_buf_recv.view().data(), size_forward_recv[iswap],MPI_DOUBLE, recvproc[iswap],0,world,&request); } - n = atomKK->avecKK->pack_comm_vel_kokkos(sendnum[iswap],k_sendlist,iswap, + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_vel_kokkos(sendnum[iswap],k_sendlist_iswap, k_buf_send,pbc_flag[iswap],pbc[iswap]); DeviceType().fence(); if (n) { @@ -245,7 +248,8 @@ void CommKokkos::forward_comm_device(int) MPI_Irecv(k_buf_recv.view().data(), size_forward_recv[iswap],MPI_DOUBLE, recvproc[iswap],0,world,&request); - n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap],k_sendlist,iswap, + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap],k_sendlist_iswap, k_buf_send,pbc_flag[iswap],pbc[iswap]); DeviceType().fence(); if (n) @@ -257,12 +261,15 @@ void CommKokkos::forward_comm_device(int) } } else { if (!ghost_velocity) { - if (sendnum[iswap]) - n = atomKK->avecKK->pack_comm_self(sendnum[iswap],k_sendlist,iswap, + if (sendnum[iswap]) { + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_self(sendnum[iswap],k_sendlist_iswap, firstrecv[iswap],pbc_flag[iswap],pbc[iswap]); - DeviceType().fence(); + DeviceType().fence(); + } } else { - n = atomKK->avecKK->pack_comm_vel_kokkos(sendnum[iswap],k_sendlist,iswap, + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_vel_kokkos(sendnum[iswap],k_sendlist_iswap, k_buf_send,pbc_flag[iswap],pbc[iswap]); DeviceType().fence(); atomKK->avecKK->unpack_comm_vel_kokkos(recvnum[iswap],firstrecv[iswap],k_buf_send); @@ -299,10 +306,10 @@ void CommKokkos::reverse_comm() atomKK->modified(Host,F_MASK); else atomKK->modified(Host,ALL_MASK); - - //atomKK->sync(Device,ALL_MASK); // is this needed? } +/* ---------------------------------------------------------------------- */ + template void CommKokkos::reverse_comm_device() { @@ -315,7 +322,6 @@ void CommKokkos::reverse_comm_device() // if comm_f_only set, exchange or copy directly from f, don't pack k_sendlist.sync(); - atomKK->sync(ExecutionSpaceFromDevice::space,F_MASK); for (int iswap = nswap-1; iswap >= 0; iswap--) { if (sendproc[iswap] != me) { @@ -330,11 +336,9 @@ void CommKokkos::reverse_comm_device() MPI_Send(buf,size_reverse_send[iswap],MPI_DOUBLE, recvproc[iswap],0,world); } - if (size_reverse_recv[iswap]) { + if (size_reverse_recv[iswap]) MPI_Wait(&request,MPI_STATUS_IGNORE); - atomKK->modified(ExecutionSpaceFromDevice:: - space,F_MASK); - } + } else { if (size_reverse_recv[iswap]) MPI_Irecv(k_buf_recv.view().data(), @@ -347,18 +351,28 @@ void CommKokkos::reverse_comm_device() MPI_DOUBLE,recvproc[iswap],0,world); if (size_reverse_recv[iswap]) MPI_Wait(&request,MPI_STATUS_IGNORE); } - atomKK->avecKK->unpack_reverse_kokkos(sendnum[iswap],k_sendlist,iswap, + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + atomKK->avecKK->unpack_reverse_kokkos(sendnum[iswap],k_sendlist_iswap, k_buf_recv); DeviceType().fence(); } else { - if (sendnum[iswap]) - n = atomKK->avecKK->unpack_reverse_self(sendnum[iswap],k_sendlist,iswap, + if (sendnum[iswap]) { + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = atomKK->avecKK->pack_reverse_self(sendnum[iswap],k_sendlist_iswap, firstrecv[iswap]); + } } } } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + forward communication invoked by a Fix + size/nsize used only to set recv buffer limit + size = 0 (default) -> use comm_forward from Fix + size > 0 -> Fix passes max size per atom + the latter is only useful if Fix does several comm modes, + some are smaller than max stored in its comm_forward +------------------------------------------------------------------------- */ void CommKokkos::forward_comm(Fix *fix, int size) { @@ -371,6 +385,8 @@ void CommKokkos::forward_comm(Fix *fix, int size) } } +/* ---------------------------------------------------------------------- */ + template void CommKokkos::forward_comm_device(Fix *fix, int size) { @@ -393,8 +409,9 @@ void CommKokkos::forward_comm_device(Fix *fix, int size) // pack buffer - n = fixKKBase->pack_forward_comm_kokkos(sendnum[iswap],k_sendlist, - iswap,k_buf_send_fix,pbc_flag[iswap],pbc[iswap]); + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = fixKKBase->pack_forward_comm_kokkos(sendnum[iswap],k_sendlist_iswap, + k_buf_send_fix,pbc_flag[iswap],pbc[iswap]); DeviceType().fence(); // exchange with another proc @@ -435,7 +452,14 @@ void CommKokkos::forward_comm_device(Fix *fix, int size) } } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + reverse communication invoked by a Fix + size/nsize used only to set recv buffer limit + size = 0 (default) -> use comm_forward from Fix + size > 0 -> Fix passes max size per atom + the latter is only useful if Fix does several comm modes, + some are smaller than max stored in its comm_forward +------------------------------------------------------------------------- */ void CommKokkos::reverse_comm(Fix *fix, int size) { @@ -443,18 +467,66 @@ void CommKokkos::reverse_comm(Fix *fix, int size) CommBrick::reverse_comm(fix, size); } + +/* ---------------------------------------------------------------------- + reverse communication invoked by a Fix with variable size data + query fix for pack size to ensure buf_send is big enough + handshake sizes before each Irecv/Send to ensure buf_recv is big enough +------------------------------------------------------------------------- */ + +void CommKokkos::reverse_comm_variable(Fix *fix) +{ + k_sendlist.sync(); + CommBrick::reverse_comm_variable(fix); +} + +/* ---------------------------------------------------------------------- + forward communication invoked by a Compute + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + void CommKokkos::forward_comm(Compute *compute) { k_sendlist.sync(); CommBrick::forward_comm(compute); } +/* ---------------------------------------------------------------------- + forward communication invoked by a Bond + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + +void CommKokkos::forward_comm(Bond *bond) +{ + CommBrick::forward_comm(bond); +} + +/* ---------------------------------------------------------------------- + reverse communication invoked by a Bond + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + +void CommKokkos::reverse_comm(Bond *bond) +{ + CommBrick::reverse_comm(bond); +} + +/* ---------------------------------------------------------------------- + reverse communication invoked by a Compute + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + void CommKokkos::reverse_comm(Compute *compute) { k_sendlist.sync(); CommBrick::reverse_comm(compute); } +/* ---------------------------------------------------------------------- + forward communication invoked by a Dump + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + void CommKokkos::forward_comm(Pair *pair) { if (pair->execution_space == Host || forward_pair_comm_classic) { @@ -466,6 +538,8 @@ void CommKokkos::forward_comm(Pair *pair) } } +/* ---------------------------------------------------------------------- */ + template void CommKokkos::forward_comm_device(Pair *pair) { @@ -488,8 +562,9 @@ void CommKokkos::forward_comm_device(Pair *pair) // pack buffer - n = pairKKBase->pack_forward_comm_kokkos(sendnum[iswap],k_sendlist, - iswap,k_buf_send_pair,pbc_flag[iswap],pbc[iswap]); + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = pairKKBase->pack_forward_comm_kokkos(sendnum[iswap],k_sendlist_iswap, + k_buf_send_pair,pbc_flag[iswap],pbc[iswap]); DeviceType().fence(); // exchange with another proc @@ -530,18 +605,24 @@ void CommKokkos::forward_comm_device(Pair *pair) } } +/* ---------------------------------------------------------------------- */ + void CommKokkos::grow_buf_pair(int n) { max_buf_pair = n * BUFFACTOR; k_buf_send_pair.resize(max_buf_pair); k_buf_recv_pair.resize(max_buf_pair); } +/* ---------------------------------------------------------------------- */ + void CommKokkos::grow_buf_fix(int n) { max_buf_fix = n * BUFFACTOR; k_buf_send_fix.resize(max_buf_fix); k_buf_recv_fix.resize(max_buf_fix); } +/* ---------------------------------------------------------------------- */ + void CommKokkos::reverse_comm(Pair *pair) { if (pair->execution_space == Host || !pair->reverse_comm_device || reverse_pair_comm_classic) { @@ -553,6 +634,8 @@ void CommKokkos::reverse_comm(Pair *pair) } } +/* ---------------------------------------------------------------------- */ + template void CommKokkos::reverse_comm_device(Pair *pair) { @@ -610,18 +693,23 @@ void CommKokkos::reverse_comm_device(Pair *pair) // unpack buffer - pairKKBase->unpack_reverse_comm_kokkos(sendnum[iswap],k_sendlist, - iswap,k_buf_tmp); + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + pairKKBase->unpack_reverse_comm_kokkos(sendnum[iswap],k_sendlist_iswap, + k_buf_tmp); DeviceType().fence(); } } +/* ---------------------------------------------------------------------- */ + void CommKokkos::forward_comm(Dump *dump) { k_sendlist.sync(); CommBrick::forward_comm(dump); } +/* ---------------------------------------------------------------------- */ + void CommKokkos::reverse_comm(Dump *dump) { k_sendlist.sync(); @@ -668,6 +756,7 @@ void CommKokkos::exchange() } } exchange_comm_classic = true; + lmp->kokkos->exchange_comm_classic = 1; } } } @@ -729,6 +818,14 @@ void CommKokkos::exchange_device() double lo,hi; MPI_Request request; + // clear global->local map for owned and ghost atoms + // b/c atoms migrate to new procs in exchange() and + // new ghosts are created in borders() + // map_set() is done at end of borders() + + if (lmp->kokkos->atom_map_classic) + if (map_style != Atom::MAP_NONE) atom->map_clear(); + // clear ghost count and any ghost bonus data internal to AtomVec atom->nghost = 0; @@ -783,15 +880,8 @@ void CommKokkos::exchange_device() // sort exchange_sendlist - auto d_exchange_sendlist = k_exchange_sendlist.view(); - using KeyViewType = decltype(d_exchange_sendlist); - using BinOp = Kokkos::BinOp1D; - - BinOp binner(count, 0, nlocal); - Kokkos::BinSort Sorter(d_exchange_sendlist, 0, count, binner, true); - Sorter.create_permute_vector(DeviceType()); - Sorter.sort(DeviceType(), d_exchange_sendlist, 0, count); - + auto d_exchange_sendlist = Kokkos::subview(k_exchange_sendlist.view(),std::make_pair(0,count)); + Kokkos::sort(DeviceType(), d_exchange_sendlist); k_exchange_sendlist.sync(); // when atom is deleted, fill it in with last atom @@ -972,6 +1062,7 @@ void CommKokkos::borders() "switching to classic exchange/border communication"); } exchange_comm_classic = true; + lmp->kokkos->exchange_comm_classic = 1; } } @@ -1194,14 +1285,15 @@ void CommKokkos::borders_device() { if (nsend*size_border > maxsend) grow_send_kokkos(nsend*size_border,0); if (ghost_velocity) { + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); n = atomKK->avecKK-> - pack_border_vel_kokkos(nsend,k_sendlist,k_buf_send,iswap, + pack_border_vel_kokkos(nsend,k_sendlist_iswap,k_buf_send, pbc_flag[iswap],pbc[iswap],exec_space); DeviceType().fence(); - } - else { + } else { + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); n = atomKK->avecKK-> - pack_border_kokkos(nsend,k_sendlist,k_buf_send,iswap, + pack_border_kokkos(nsend,k_sendlist_iswap,k_buf_send, pbc_flag[iswap],pbc[iswap],exec_space); DeviceType().fence(); } diff --git a/src/KOKKOS/comm_kokkos.h b/src/KOKKOS/comm_kokkos.h index e06810b939..4fb4dfbe29 100644 --- a/src/KOKKOS/comm_kokkos.h +++ b/src/KOKKOS/comm_kokkos.h @@ -45,18 +45,21 @@ class CommKokkos : public CommBrick { void exchange() override; // move atoms to new procs void borders() override; // setup list of atoms to comm - void forward_comm(class Pair *) override; // forward comm from a Pair - void reverse_comm(class Pair *) override; // reverse comm from a Pair - void forward_comm(class Fix *, int size=0) override; // forward comm from a Fix - void reverse_comm(class Fix *, int size=0) override; // reverse comm from a Fix - void forward_comm(class Compute *) override; // forward from a Compute - void reverse_comm(class Compute *) override; // reverse from a Compute - void forward_comm(class Dump *) override; // forward comm from a Dump - void reverse_comm(class Dump *) override; // reverse comm from a Dump + void forward_comm(class Pair *) override; // forward comm from a Pair + void reverse_comm(class Pair *) override; // reverse comm from a Pair + void forward_comm(class Bond *) override; // forward comm from a Bond + void reverse_comm(class Bond *) override; // reverse comm from a Bond + void forward_comm(class Fix *, int size = 0) override; // forward comm from a Fix + void reverse_comm(class Fix *, int size = 0) override; // reverse comm from a Fix + void reverse_comm_variable(class Fix *) override; // variable size reverse comm from a Fix + void forward_comm(class Compute *) override; // forward from a Compute + void reverse_comm(class Compute *) override; // reverse from a Compute + void forward_comm(class Dump *) override; // forward comm from a Dump + void reverse_comm(class Dump *) override; // reverse comm from a Dump void forward_comm_array(int, double **) override; // forward comm of array - template void forward_comm_device(int dummy); + template void forward_comm_device(); template void reverse_comm_device(); template void forward_comm_device(Pair *pair); template void reverse_comm_device(Pair *pair); @@ -95,7 +98,6 @@ class CommKokkos : public CommBrick { void copy_swap_info(); }; -} +} // namespace LAMMPS_NS #endif - diff --git a/src/KOKKOS/comm_tiled_kokkos.cpp b/src/KOKKOS/comm_tiled_kokkos.cpp index 5b35527b7e..2e4ca30bed 100644 --- a/src/KOKKOS/comm_tiled_kokkos.cpp +++ b/src/KOKKOS/comm_tiled_kokkos.cpp @@ -16,13 +16,28 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "atom_vec.h" +#include "atom_vec_kokkos.h" +#include "compute.h" +#include "dump.h" +#include "fix.h" +#include "force.h" +#include "kokkos.h" +#include "memory_kokkos.h" +#include "modify.h" +#include "output.h" using namespace LAMMPS_NS; +static constexpr double BUFFACTOR = 1.5; +static constexpr int BUFMIN = 1024; +static constexpr int BUFEXTRA = 1000; + /* ---------------------------------------------------------------------- */ -CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp) : CommTiled(_lmp) {} +CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp) : CommTiled(_lmp) +{ + sendlist = nullptr; +} /* ---------------------------------------------------------------------- */ //IMPORTANT: we *MUST* pass "*oldcomm" to the Comm initializer here, as @@ -31,10 +46,69 @@ CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp) : CommTiled(_lmp) {} // The call to Comm::copy_arrays() then converts the shallow copy // into a deep copy of the class with the new layout. -CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp, Comm *oldcomm) : CommTiled(_lmp,oldcomm) {} +CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp, Comm *oldcomm) : CommTiled(_lmp,oldcomm) +{ + sendlist = nullptr; +} /* ---------------------------------------------------------------------- */ +CommTiledKokkos::~CommTiledKokkos() +{ + memoryKK->destroy_kokkos(k_sendlist,sendlist); + sendlist = nullptr; + buf_send = nullptr; + buf_recv = nullptr; +} + +/* ---------------------------------------------------------------------- */ + +void CommTiledKokkos::init() +{ + atomKK = (AtomKokkos *) atom; + exchange_comm_classic = lmp->kokkos->exchange_comm_classic; + forward_comm_classic = lmp->kokkos->forward_comm_classic; + forward_pair_comm_classic = lmp->kokkos->forward_pair_comm_classic; + reverse_pair_comm_classic = lmp->kokkos->reverse_pair_comm_classic; + forward_fix_comm_classic = lmp->kokkos->forward_fix_comm_classic; + reverse_comm_classic = lmp->kokkos->reverse_comm_classic; + exchange_comm_on_host = lmp->kokkos->exchange_comm_on_host; + forward_comm_on_host = lmp->kokkos->forward_comm_on_host; + reverse_comm_on_host = lmp->kokkos->reverse_comm_on_host; + + CommTiled::init(); + + int check_forward = 0; + int check_reverse = 0; + if (force->pair && (force->pair->execution_space == Host)) + check_forward += force->pair->comm_forward; + if (force->pair && (force->pair->execution_space == Host)) + check_reverse += force->pair->comm_reverse; + + for (const auto &fix : modify->get_fix_list()) { + check_forward += fix->comm_forward; + check_reverse += fix->comm_reverse; + } + + for (const auto &compute : modify->get_compute_list()) { + check_forward += compute->comm_forward; + check_reverse += compute->comm_reverse; + } + + for (const auto &dump : output->get_dump_list()) { + check_forward += dump->comm_forward; + check_reverse += dump->comm_reverse; + } + + if (force->newton == 0) check_reverse = 0; + if (force->pair) check_reverse += force->pair->comm_reverse_off; + + if (!comm_f_only) { // not all Kokkos atom_vec styles have reverse pack/unpack routines yet + reverse_comm_classic = true; + lmp->kokkos->reverse_comm_classic = 1; + } +} + /* ---------------------------------------------------------------------- forward communication of atom coords every timestep other per-atom attributes may also be sent via pack/unpack routines @@ -42,6 +116,14 @@ CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp, Comm *oldcomm) : CommTiled(_lmp,o void CommTiledKokkos::forward_comm(int dummy) { + if (!forward_comm_classic) { + if (forward_comm_on_host) forward_comm_device(); + else forward_comm_device(); + return; + } + + k_sendlist.sync(); + if (comm_x_only) { atomKK->sync(Host,X_MASK); atomKK->modified(Host,X_MASK); @@ -56,6 +138,127 @@ void CommTiledKokkos::forward_comm(int dummy) CommTiled::forward_comm(dummy); } +/* ---------------------------------------------------------------------- */ + +template +void CommTiledKokkos::forward_comm_device() +{ + int i,irecv,n,nsend,nrecv; + double *buf; + + // exchange data with another set of procs in each swap + // post recvs from all procs except self + // send data to all procs except self + // copy data to self if sendself is set + // wait on all procs except self and unpack received data + // if comm_x_only set, exchange or copy directly to x, don't unpack + + k_sendlist.sync(); + + for (int iswap = 0; iswap < nswap; iswap++) { + nsend = nsendproc[iswap] - sendself[iswap]; + nrecv = nrecvproc[iswap] - sendself[iswap]; + + if (comm_x_only) { + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + buf = atomKK->k_x.view().data() + + firstrecv[iswap][i]*atomKK->k_x.view().extent(1); + MPI_Irecv(buf,size_forward_recv[iswap][i], + MPI_DOUBLE,recvproc[iswap][i],0,world,&requests[i]); + } + } + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,i,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap][i],k_sendlist_small, + k_buf_send,pbc_flag[iswap][i],pbc[iswap][i]); + DeviceType().fence(); + MPI_Send(k_buf_send.view().data(),n,MPI_DOUBLE,sendproc[iswap][i],0,world); + } + } + if (sendself[iswap]) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,nsend,Kokkos::ALL); + atomKK->avecKK->pack_comm_self(sendnum[iswap][nsend],k_sendlist_small, + firstrecv[iswap][nrecv],pbc_flag[iswap][nsend],pbc[iswap][nsend]); + DeviceType().fence(); + } + if (recvother[iswap]) MPI_Waitall(nrecv,requests,MPI_STATUS_IGNORE); + + } else if (ghost_velocity) { + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + buf = k_buf_recv.view().data() + + forward_recv_offset[iswap][i]*k_buf_recv.view().extent(1); + MPI_Irecv(buf, + size_forward_recv[iswap][i],MPI_DOUBLE,recvproc[iswap][i],0,world,&requests[i]); + } + } + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,i,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_vel_kokkos(sendnum[iswap][i],k_sendlist_small, + k_buf_send,pbc_flag[iswap][i],pbc[iswap][i]); + DeviceType().fence(); + MPI_Send(k_buf_send.view().data(),n, + MPI_DOUBLE,sendproc[iswap][i],0,world); + } + } + if (sendself[iswap]) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,nsend,Kokkos::ALL); + atomKK->avecKK->pack_comm_vel_kokkos(sendnum[iswap][nsend],k_sendlist_small, + k_buf_send,pbc_flag[iswap][nsend],pbc[iswap][nsend]); + DeviceType().fence(); + atomKK->avecKK->unpack_comm_vel_kokkos(recvnum[iswap][nrecv],firstrecv[iswap][nrecv],k_buf_send); + DeviceType().fence(); + } + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + MPI_Waitany(nrecv,requests,&irecv,MPI_STATUS_IGNORE); + auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(forward_recv_offset[iswap][irecv],(int)k_buf_recv.extent(0)),Kokkos::ALL); + atomKK->avecKK->unpack_comm_vel_kokkos(recvnum[iswap][irecv],firstrecv[iswap][irecv], + k_buf_recv_offset); + DeviceType().fence(); + } + } + + } else { + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + buf = k_buf_recv.view().data() + + forward_recv_offset[iswap][i]*k_buf_recv.view().extent(1); + MPI_Irecv(buf, + size_forward_recv[iswap][i],MPI_DOUBLE,recvproc[iswap][i],0,world,&requests[i]); + } + } + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,i,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap][i],k_sendlist_small, + k_buf_send,pbc_flag[iswap][i],pbc[iswap][i]); + DeviceType().fence(); + MPI_Send(k_buf_send.view().data(),n,MPI_DOUBLE,sendproc[iswap][i],0,world); + } + } + if (sendself[iswap]) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,nsend,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap][nsend],k_sendlist_small, + k_buf_send,pbc_flag[iswap][nsend],pbc[iswap][nsend]); + DeviceType().fence(); + } + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + MPI_Waitany(nrecv,requests,&irecv,MPI_STATUS_IGNORE); + auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(forward_recv_offset[iswap][irecv],(int)k_buf_recv.extent(0)),Kokkos::ALL); + atomKK->avecKK->unpack_comm_kokkos(recvnum[iswap][irecv],firstrecv[iswap][irecv], + k_buf_recv_offset); + DeviceType().fence(); + } + } + } + } +} + /* ---------------------------------------------------------------------- reverse communication of forces on atoms every timestep other per-atom attributes may also be sent via pack/unpack routines @@ -63,16 +266,117 @@ void CommTiledKokkos::forward_comm(int dummy) void CommTiledKokkos::reverse_comm() { + if (!reverse_comm_classic) { + if (reverse_comm_on_host) reverse_comm_device(); + else reverse_comm_device(); + return; + } + + k_sendlist.sync(); + if (comm_f_only) atomKK->sync(Host,F_MASK); else atomKK->sync(Host,ALL_MASK); + CommTiled::reverse_comm(); + if (comm_f_only) atomKK->modified(Host,F_MASK); else atomKK->modified(Host,ALL_MASK); - atomKK->sync(Device,ALL_MASK); +} + +/* ---------------------------------------------------------------------- */ + +template +void CommTiledKokkos::reverse_comm_device() +{ + int i,irecv,n,nsend,nrecv; + double *buf; + + // exchange data with another set of procs in each swap + // post recvs from all procs except self + // send data to all procs except self + // copy data to self if sendself is set + // wait on all procs except self and unpack received data + // if comm_f_only set, exchange or copy directly from f, don't pack + + k_sendlist.sync(); + + for (int iswap = nswap-1; iswap >= 0; iswap--) { + nsend = nsendproc[iswap] - sendself[iswap]; + nrecv = nrecvproc[iswap] - sendself[iswap]; + + if (comm_f_only) { + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + buf = k_buf_recv.view().data() + + reverse_recv_offset[iswap][i]*k_buf_recv.view().extent(1); + MPI_Irecv(buf, + size_reverse_recv[iswap][i],MPI_DOUBLE,sendproc[iswap][i],0,world,&requests[i]); + } + } + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + buf = atomKK->k_f.view().data() + + firstrecv[iswap][i]*atomKK->k_f.view().extent(1); + MPI_Send(buf,size_reverse_send[iswap][i], + MPI_DOUBLE,recvproc[iswap][i],0,world); + } + } + if (sendself[iswap]) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,nsend,Kokkos::ALL); + atomKK->avecKK->pack_reverse_self(sendnum[iswap][nsend],k_sendlist_small, + firstrecv[iswap][nrecv]); + DeviceType().fence(); + } + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + MPI_Waitany(nsend,requests,&irecv,MPI_STATUS_IGNORE); + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,irecv,Kokkos::ALL); + auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(reverse_recv_offset[iswap][irecv],(int)k_buf_recv.extent(0)),Kokkos::ALL); + atomKK->avecKK->unpack_reverse_kokkos(sendnum[iswap][irecv],k_sendlist_small, + k_buf_recv_offset); + DeviceType().fence(); + } + } + + } else { + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + buf = k_buf_recv.view().data() + + reverse_recv_offset[iswap][i]*k_buf_recv.view().extent(1); + MPI_Irecv(buf, + size_reverse_recv[iswap][i],MPI_DOUBLE,sendproc[iswap][i],0,world,&requests[i]); + } + } + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + n = atomKK->avecKK->pack_reverse_kokkos(recvnum[iswap][i],firstrecv[iswap][i],k_buf_send); + DeviceType().fence(); + MPI_Send(k_buf_send.view().data(),n,MPI_DOUBLE,recvproc[iswap][i],0,world); + } + } + if (sendself[iswap]) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,nsend,Kokkos::ALL); + atomKK->avecKK->pack_reverse_kokkos(recvnum[iswap][nrecv],firstrecv[iswap][nrecv],k_buf_send); + DeviceType().fence(); + atomKK->avecKK->unpack_reverse_kokkos(sendnum[iswap][nsend],k_sendlist_small,k_buf_send); + DeviceType().fence(); + } + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + MPI_Waitany(nsend,requests,&irecv,MPI_STATUS_IGNORE); + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,irecv,Kokkos::ALL); + auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(reverse_recv_offset[iswap][irecv],(int)k_buf_recv.extent(0)),Kokkos::ALL); + atomKK->avecKK->unpack_reverse_kokkos(sendnum[iswap][irecv],k_sendlist_small, + k_buf_recv_offset); + DeviceType().fence(); + } + } + } + } } /* ---------------------------------------------------------------------- @@ -108,6 +412,7 @@ void CommTiledKokkos::borders() atomKK->sync(Host,ALL_MASK); CommTiled::borders(); atomKK->modified(Host,ALL_MASK); + k_sendlist.modify_host(); } /* ---------------------------------------------------------------------- @@ -130,6 +435,26 @@ void CommTiledKokkos::reverse_comm(Pair *pair) CommTiled::reverse_comm(pair); } +/* ---------------------------------------------------------------------- + forward communication invoked by a Bond + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + +void CommTiledKokkos::forward_comm(Bond *bond) +{ + CommTiled::forward_comm(bond); +} + +/* ---------------------------------------------------------------------- + reverse communication invoked by a Bond + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + +void CommTiledKokkos::reverse_comm(Bond *bond) +{ + CommTiled::reverse_comm(bond); +} + /* ---------------------------------------------------------------------- forward communication invoked by a Fix size/nsize used only to set recv buffer limit @@ -218,3 +543,141 @@ void CommTiledKokkos::forward_comm_array(int nsize, double **array) { CommTiled::forward_comm_array(nsize,array); } + +/* ---------------------------------------------------------------------- + realloc the size of the send buffer as needed with BUFFACTOR and bufextra + if flag = 1, realloc + if flag = 0, don't need to realloc with copy, just free/malloc +------------------------------------------------------------------------- */ + +void CommTiledKokkos::grow_send(int n, int flag) +{ + grow_send_kokkos(n,flag,Host); +} + +/* ---------------------------------------------------------------------- + free/malloc the size of the recv buffer as needed with BUFFACTOR +------------------------------------------------------------------------- */ + +void CommTiledKokkos::grow_recv(int n, int flag) +{ + grow_recv_kokkos(n,flag,Host); +} + +/* ---------------------------------------------------------------------- + realloc the size of the send buffer as needed with BUFFACTOR & BUFEXTRA + if flag = 1, realloc + if flag = 0, don't need to realloc with copy, just free/malloc +------------------------------------------------------------------------- */ + +void CommTiledKokkos::grow_send_kokkos(int n, int flag, ExecutionSpace space) +{ + + maxsend = static_cast (BUFFACTOR * n); + int maxsend_border = (maxsend+BUFEXTRA)/atomKK->avecKK->size_border; + if (flag) { + if (space == Device) + k_buf_send.modify(); + else + k_buf_send.modify(); + + if (ghost_velocity) + k_buf_send.resize(maxsend_border, + atomKK->avecKK->size_border + atomKK->avecKK->size_velocity); + else + k_buf_send.resize(maxsend_border,atomKK->avecKK->size_border); + buf_send = k_buf_send.view().data(); + } else { + if (ghost_velocity) + MemoryKokkos::realloc_kokkos(k_buf_send,"comm:k_buf_send",maxsend_border, + atomKK->avecKK->size_border + atomKK->avecKK->size_velocity); + else + MemoryKokkos::realloc_kokkos(k_buf_send,"comm:k_buf_send",maxsend_border, + atomKK->avecKK->size_border); + buf_send = k_buf_send.view().data(); + } +} + +/* ---------------------------------------------------------------------- + free/malloc the size of the recv buffer as needed with BUFFACTOR +------------------------------------------------------------------------- */ + +void CommTiledKokkos::grow_recv_kokkos(int n, int flag, ExecutionSpace /*space*/) +{ + if (flag) maxrecv = n; + else maxrecv = static_cast (BUFFACTOR * n); + + int maxrecv_border = (maxrecv+BUFEXTRA)/atomKK->avecKK->size_border; + + MemoryKokkos::realloc_kokkos(k_buf_recv,"comm:k_buf_recv",maxrecv_border, + atomKK->avecKK->size_border); + buf_recv = k_buf_recv.view().data(); +} + +/* ---------------------------------------------------------------------- + realloc the size of the iswap sendlist as needed with BUFFACTOR +------------------------------------------------------------------------- */ + +void CommTiledKokkos::grow_list(int iswap, int iwhich, int n) +{ + int size = static_cast (BUFFACTOR * n); + + k_sendlist.sync(); + k_sendlist.modify(); + + if (size > (int)k_sendlist.extent(2)) { + memoryKK->grow_kokkos(k_sendlist,sendlist,maxswap,maxsend,size,"comm:sendlist"); + + for (int i = 0; i < maxswap; i++) + maxsendlist[iswap][iwhich] = size; + } +} + +/* ---------------------------------------------------------------------- + grow info for swap I, to allow for N procs to communicate with + ditto for complementary recv for swap I+1 or I-1, as invoked by caller +------------------------------------------------------------------------- */ + +void CommTiledKokkos::grow_swap_send(int i, int n, int /*nold*/) +{ + delete [] sendproc[i]; + sendproc[i] = new int[n]; + delete [] sendnum[i]; + sendnum[i] = new int[n]; + + delete [] size_reverse_recv[i]; + size_reverse_recv[i] = new int[n]; + delete [] reverse_recv_offset[i]; + reverse_recv_offset[i] = new int[n]; + + delete [] pbc_flag[i]; + pbc_flag[i] = new int[n]; + memory->destroy(pbc[i]); + memory->create(pbc[i],n,6,"comm:pbc_flag"); + memory->destroy(sendbox[i]); + memory->create(sendbox[i],n,6,"comm:sendbox"); + grow_swap_send_multi(i,n); + memory->destroy(sendbox_multiold[i]); + memory->create(sendbox_multiold[i],n,atom->ntypes+1,6,"comm:sendbox_multiold"); + + delete [] maxsendlist[i]; + maxsendlist[i] = new int[n]; + + for (int j = 0; j < n; j++) + maxsendlist[i][j] = BUFMIN; + + if (sendlist && !k_sendlist.d_view.data()) { + for (int ii = 0; ii < maxswap; ii++) { + if (sendlist[ii]) { + for (int jj = 0; jj < nprocmax[ii]; jj++) + memory->destroy(sendlist[ii][jj]); + delete [] sendlist[ii]; + } + } + delete [] sendlist; + } else { + memoryKK->destroy_kokkos(k_sendlist,sendlist); + } + + memoryKK->create_kokkos(k_sendlist,sendlist,maxswap,n,BUFMIN,"comm:sendlist"); +} diff --git a/src/KOKKOS/comm_tiled_kokkos.h b/src/KOKKOS/comm_tiled_kokkos.h index c80436b454..9033714796 100644 --- a/src/KOKKOS/comm_tiled_kokkos.h +++ b/src/KOKKOS/comm_tiled_kokkos.h @@ -25,28 +25,59 @@ class CommTiledKokkos : public CommTiled { CommTiledKokkos(class LAMMPS *); CommTiledKokkos(class LAMMPS *, class Comm *); + ~CommTiledKokkos() override; + + bool exchange_comm_classic; + bool forward_comm_classic; + bool forward_pair_comm_classic; + bool reverse_pair_comm_classic; + bool forward_fix_comm_classic; + bool reverse_comm_classic; + bool exchange_comm_on_host; + bool forward_comm_on_host; + bool reverse_comm_on_host; + using CommTiled::forward_comm; using CommTiled::reverse_comm; + + void init() override; void forward_comm(int dummy = 0) override; // forward comm of atom coords void reverse_comm() override; // reverse comm of forces void exchange() override; // move atoms to new procs void borders() override; // setup list of atoms to comm - void forward_comm(class Pair *) override; // forward comm from a Pair - void reverse_comm(class Pair *) override; // reverse comm from a Pair - void forward_comm(class Fix *, int size=0) override; - // forward comm from a Fix - void reverse_comm(class Fix *, int size=0) override; - // reverse comm from a Fix - void reverse_comm_variable(class Fix *) override; - // variable size reverse comm from a Fix - void forward_comm(class Compute *) override; // forward from a Compute - void reverse_comm(class Compute *) override; // reverse from a Compute - void forward_comm(class Dump *) override; // forward comm from a Dump - void reverse_comm(class Dump *) override; // reverse comm from a Dump + void forward_comm(class Pair *) override; // forward comm from a Pair + void reverse_comm(class Pair *) override; // reverse comm from a Pair + void forward_comm(class Bond *) override; // forward comm from a Bond + void reverse_comm(class Bond *) override; // reverse comm from a Bond + void forward_comm(class Fix *, int size = 0) override; // forward comm from a Fix + void reverse_comm(class Fix *, int size = 0) override; // reverse comm from a Fix + void reverse_comm_variable(class Fix *) override; // variable size reverse comm from a Fix + void forward_comm(class Compute *) override; // forward from a Compute + void reverse_comm(class Compute *) override; // reverse from a Compute + void forward_comm(class Dump *) override; // forward comm from a Dump + void reverse_comm(class Dump *) override; // reverse comm from a Dump void forward_comm_array(int, double **) override; // forward comm of array -}; -} -#endif + template void forward_comm_device(); + template void reverse_comm_device(); + + protected: + + DAT::tdual_int_3d k_sendlist; + //DAT::tdual_int_scalar k_total_send; + DAT::tdual_xfloat_2d k_buf_send,k_buf_recv; + //DAT::tdual_int_scalar k_count; + + void grow_send(int, int) override; + void grow_recv(int, int flag = 0) override; + void grow_send_kokkos(int, int, ExecutionSpace space = Host); + void grow_recv_kokkos(int, int, ExecutionSpace space = Host); + void grow_list(int, int, int) override; + void grow_swap_send(int, int, int) override; // grow swap arrays for send and recv +}; + +} // namespace LAMMPS_NS + +#endif diff --git a/src/KOKKOS/compute_ave_sphere_atom_kokkos.cpp b/src/KOKKOS/compute_ave_sphere_atom_kokkos.cpp index 87fe3621e4..57f1f2bb18 100644 --- a/src/KOKKOS/compute_ave_sphere_atom_kokkos.cpp +++ b/src/KOKKOS/compute_ave_sphere_atom_kokkos.cpp @@ -21,19 +21,12 @@ #include "atom_masks.h" #include "comm.h" #include "domain.h" -#include "error.h" #include "force.h" #include "memory_kokkos.h" -#include "modify.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor_kokkos.h" -#include "pair.h" #include "update.h" -#include -#include - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/compute_composition_atom_kokkos.cpp b/src/KOKKOS/compute_composition_atom_kokkos.cpp index 2b0e663011..47056951e7 100644 --- a/src/KOKKOS/compute_composition_atom_kokkos.cpp +++ b/src/KOKKOS/compute_composition_atom_kokkos.cpp @@ -19,21 +19,11 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm.h" -#include "domain.h" -#include "error.h" -#include "force.h" #include "memory_kokkos.h" -#include "modify.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor_kokkos.h" -#include "pair.h" #include "update.h" -#include -#include - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/compute_coord_atom_kokkos.cpp b/src/KOKKOS/compute_coord_atom_kokkos.cpp index 089a94f498..2d56a53abe 100644 --- a/src/KOKKOS/compute_coord_atom_kokkos.cpp +++ b/src/KOKKOS/compute_coord_atom_kokkos.cpp @@ -20,8 +20,6 @@ #include "compute_orientorder_atom_kokkos.h" #include "error.h" #include "memory_kokkos.h" -#include "modify.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor_kokkos.h" #include "update.h" diff --git a/src/KOKKOS/compute_erotate_sphere_kokkos.cpp b/src/KOKKOS/compute_erotate_sphere_kokkos.cpp index 9fc477b3a0..d18aa3d27a 100644 --- a/src/KOKKOS/compute_erotate_sphere_kokkos.cpp +++ b/src/KOKKOS/compute_erotate_sphere_kokkos.cpp @@ -16,8 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "error.h" -#include "force.h" #include "update.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/compute_orientorder_atom_kokkos.cpp b/src/KOKKOS/compute_orientorder_atom_kokkos.cpp index 35699cb5c1..447f15b830 100644 --- a/src/KOKKOS/compute_orientorder_atom_kokkos.cpp +++ b/src/KOKKOS/compute_orientorder_atom_kokkos.cpp @@ -24,14 +24,11 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "kokkos.h" #include "math_const.h" #include "math_special.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor_kokkos.h" -#include "pair.h" #include "update.h" #include diff --git a/src/KOKKOS/compute_reaxff_atom_kokkos.cpp b/src/KOKKOS/compute_reaxff_atom_kokkos.cpp index 3f6c9242d4..0683e63752 100644 --- a/src/KOKKOS/compute_reaxff_atom_kokkos.cpp +++ b/src/KOKKOS/compute_reaxff_atom_kokkos.cpp @@ -18,16 +18,12 @@ #include "compute_reaxff_atom_kokkos.h" #include "atom.h" -#include "molecule.h" #include "update.h" -#include "force.h" -#include "memory.h" #include "error.h" #include "neigh_list.h" #include "memory_kokkos.h" #include "pair_reaxff_kokkos.h" -#include "reaxff_api.h" using namespace LAMMPS_NS; using namespace ReaxFF; @@ -67,10 +63,10 @@ void ComputeReaxFFAtomKokkos::init() template void ComputeReaxFFAtomKokkos::compute_bonds() { - if (atom->nlocal > nlocal) { + if (atom->nmax > nmax) { memory->destroy(array_atom); - nlocal = atom->nlocal; - memory->create(array_atom, nlocal, 3, "reaxff/atom:array_atom"); + nmax = atom->nmax; + memory->create(array_atom, nmax, 3, "reaxff/atom:array_atom"); } // retrieve bond information from kokkos pair style. the data potentially @@ -85,6 +81,7 @@ void ComputeReaxFFAtomKokkos::compute_bonds() else host_pair()->FindBond(maxnumbonds, groupbit); + const int nlocal = atom->nlocal; nbuf = ((store_bonds ? maxnumbonds*2 : 0) + 3)*nlocal; if (!buf || ((int)k_buf.extent(0) < nbuf)) { @@ -135,6 +132,7 @@ void ComputeReaxFFAtomKokkos::compute_local() int b = 0; int j = 0; auto tag = atom->tag; + const int nlocal = atom->nlocal; for (int i = 0; i < nlocal; ++i) { const int numbonds = static_cast(buf[j+2]); @@ -161,6 +159,7 @@ void ComputeReaxFFAtomKokkos::compute_peratom() compute_bonds(); // extract peratom bond information from buffer + const int nlocal = atom->nlocal; int j = 0; for (int i = 0; i < nlocal; ++i) { @@ -180,7 +179,7 @@ void ComputeReaxFFAtomKokkos::compute_peratom() template double ComputeReaxFFAtomKokkos::memory_usage() { - double bytes = (double)(nlocal*3) * sizeof(double); + double bytes = (double)(nmax*3) * sizeof(double); if (store_bonds) bytes += (double)(nbonds*3) * sizeof(double); bytes += (double)(nbuf > 0 ? nbuf * sizeof(double) : 0); diff --git a/src/KOKKOS/compute_temp_deform_kokkos.cpp b/src/KOKKOS/compute_temp_deform_kokkos.cpp index 55db344d6a..03aba5b10d 100644 --- a/src/KOKKOS/compute_temp_deform_kokkos.cpp +++ b/src/KOKKOS/compute_temp_deform_kokkos.cpp @@ -24,7 +24,6 @@ #include "domain_kokkos.h" #include "error.h" #include "force.h" -#include "memory_kokkos.h" #include "update.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/compute_temp_kokkos.cpp b/src/KOKKOS/compute_temp_kokkos.cpp index ebdd6971e0..78a35440c8 100644 --- a/src/KOKKOS/compute_temp_kokkos.cpp +++ b/src/KOKKOS/compute_temp_kokkos.cpp @@ -21,8 +21,6 @@ #include "force.h" #include "update.h" -#include - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/domain_kokkos.cpp b/src/KOKKOS/domain_kokkos.cpp index aecc12cd12..d0865c6afb 100644 --- a/src/KOKKOS/domain_kokkos.cpp +++ b/src/KOKKOS/domain_kokkos.cpp @@ -22,7 +22,7 @@ using namespace LAMMPS_NS; -static constexpr double BIG = 1.0e20; +static constexpr double BIG = 1.0e20; /* ---------------------------------------------------------------------- */ @@ -80,6 +80,11 @@ public: void DomainKokkos::reset_box() { // perform shrink-wrapping + + // nothing to do for empty systems + + if (atom->natoms == 0) return; + // compute extent of atoms on this proc // for triclinic, this is done in lamda space diff --git a/src/KOKKOS/dynamical_matrix_kokkos.cpp b/src/KOKKOS/dynamical_matrix_kokkos.cpp index ec2cc17ef2..e4c454c7f2 100644 --- a/src/KOKKOS/dynamical_matrix_kokkos.cpp +++ b/src/KOKKOS/dynamical_matrix_kokkos.cpp @@ -23,27 +23,18 @@ #include "atom_masks.h" #include "bond.h" #include "comm.h" -#include "compute.h" #include "dihedral.h" #include "domain.h" -#include "error.h" -#include "finish.h" #include "force.h" -#include "group.h" #include "improper.h" #include "kokkos.h" #include "kspace.h" -#include "memory.h" #include "modify.h" #include "neighbor.h" #include "pair.h" #include "timer.h" #include "update.h" -#include -#include -#include - using namespace LAMMPS_NS; enum{REGULAR,ESKM}; diff --git a/src/KOKKOS/fft3d_kokkos.cpp b/src/KOKKOS/fft3d_kokkos.cpp index 5caed42f43..202d46e788 100644 --- a/src/KOKKOS/fft3d_kokkos.cpp +++ b/src/KOKKOS/fft3d_kokkos.cpp @@ -39,8 +39,11 @@ FFT3dKokkos::FFT3dKokkos(LAMMPS *lmp, MPI_Comm comm, int nfast, int Pointers(lmp) { int nthreads = lmp->kokkos->nthreads; + +#if defined(LMP_KOKKOS_GPU) int ngpus = lmp->kokkos->ngpus; ExecutionSpace execution_space = ExecutionSpaceFromDevice::space; +#endif #if defined(FFT_KOKKOS_MKL) if (ngpus > 0 && execution_space == Device) diff --git a/src/KOKKOS/fix_acks2_reaxff_kokkos.cpp b/src/KOKKOS/fix_acks2_reaxff_kokkos.cpp index 617660d5ef..308df20c0e 100644 --- a/src/KOKKOS/fix_acks2_reaxff_kokkos.cpp +++ b/src/KOKKOS/fix_acks2_reaxff_kokkos.cpp @@ -24,13 +24,11 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "integrate.h" #include "kokkos.h" #include "memory_kokkos.h" #include "neigh_list_kokkos.h" #include "neigh_request.h" #include "neighbor.h" -#include "pair_reaxff_kokkos.h" #include "update.h" #include @@ -536,7 +534,7 @@ void FixACKS2ReaxFFKokkos::deallocate_array() { memoryKK->destroy_kokkos(k_s,s); memoryKK->destroy_kokkos(k_chi_field,chi_field); - memoryKK->destroy_kokkos(X_diag); + memoryKK->destroy_kokkos(k_X_diag,X_diag); memoryKK->destroy_kokkos(k_d,d); memoryKK->destroy_kokkos(k_q_hat,q_hat); memoryKK->destroy_kokkos(k_y,y); diff --git a/src/KOKKOS/fix_acks2_reaxff_kokkos.h b/src/KOKKOS/fix_acks2_reaxff_kokkos.h index c27719c364..cb16b4cd24 100644 --- a/src/KOKKOS/fix_acks2_reaxff_kokkos.h +++ b/src/KOKKOS/fix_acks2_reaxff_kokkos.h @@ -246,9 +246,8 @@ class FixACKS2ReaxFFKokkos : public FixACKS2ReaxFF, public KokkosBase { int count, isuccess; double alpha, beta, omega, cutsq; - int iswap; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; void grow_arrays(int) override; diff --git a/src/KOKKOS/fix_deform_kokkos.cpp b/src/KOKKOS/fix_deform_kokkos.cpp index d49e335986..90c4380da9 100644 --- a/src/KOKKOS/fix_deform_kokkos.cpp +++ b/src/KOKKOS/fix_deform_kokkos.cpp @@ -21,7 +21,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" #include "domain_kokkos.h" -#include "error.h" #include "force.h" #include "input.h" #include "irregular.h" @@ -32,7 +31,6 @@ #include "variable.h" #include -#include using namespace LAMMPS_NS; using namespace FixConst; @@ -120,11 +118,11 @@ void FixDeformKokkos::end_of_step() } else if (set[i].style == WIGGLE) { double delt = (update->ntimestep - update->beginstep) * update->dt; set[i].lo_target = set[i].lo_start - - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); + 0.5*set[i].amplitude * sin(MY_2PI*delt/set[i].tperiod); set[i].hi_target = set[i].hi_start + - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * - cos(TWOPI*delt/set[i].tperiod); + 0.5*set[i].amplitude * sin(MY_2PI*delt/set[i].tperiod); + h_rate[i] = MY_2PI/set[i].tperiod * set[i].amplitude * + cos(MY_2PI*delt/set[i].tperiod); h_ratelo[i] = -0.5*h_rate[i]; } else if (set[i].style == VARIABLE) { double del = input->variable->compute_equal(set[i].hvar); @@ -212,9 +210,9 @@ void FixDeformKokkos::end_of_step() } else if (set[i].style == WIGGLE) { double delt = (update->ntimestep - update->beginstep) * update->dt; set[i].tilt_target = set[i].tilt_start + - set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * - cos(TWOPI*delt/set[i].tperiod); + set[i].amplitude * sin(MY_2PI*delt/set[i].tperiod); + h_rate[i] = MY_2PI/set[i].tperiod * set[i].amplitude * + cos(MY_2PI*delt/set[i].tperiod); } else if (set[i].style == VARIABLE) { double delta_tilt = input->variable->compute_equal(set[i].hvar); set[i].tilt_target = set[i].tilt_start + delta_tilt; diff --git a/src/KOKKOS/fix_dt_reset_kokkos.cpp b/src/KOKKOS/fix_dt_reset_kokkos.cpp index 83cdc5f26f..df354f19c8 100644 --- a/src/KOKKOS/fix_dt_reset_kokkos.cpp +++ b/src/KOKKOS/fix_dt_reset_kokkos.cpp @@ -18,15 +18,13 @@ #include "atom_masks.h" #include "error.h" #include "force.h" -#include "input.h" -#include "integrate.h" -#include "kokkos_base.h" -#include "memory_kokkos.h" #include "modify.h" #include "output.h" #include "pair.h" #include "update.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_efield_kokkos.cpp b/src/KOKKOS/fix_efield_kokkos.cpp index ffe1c34e97..4009773982 100644 --- a/src/KOKKOS/fix_efield_kokkos.cpp +++ b/src/KOKKOS/fix_efield_kokkos.cpp @@ -30,8 +30,6 @@ #include "atom_masks.h" #include "kokkos_base.h" -#include - using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_gravity_kokkos.cpp b/src/KOKKOS/fix_gravity_kokkos.cpp index 42a16eda78..01fcc0780c 100644 --- a/src/KOKKOS/fix_gravity_kokkos.cpp +++ b/src/KOKKOS/fix_gravity_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "atom_vec.h" #include "input.h" #include "modify.h" #include "update.h" diff --git a/src/KOKKOS/fix_langevin_kokkos.h b/src/KOKKOS/fix_langevin_kokkos.h index 4fc22a1df1..fc25a0a748 100644 --- a/src/KOKKOS/fix_langevin_kokkos.h +++ b/src/KOKKOS/fix_langevin_kokkos.h @@ -27,7 +27,6 @@ FixStyle(langevin/kk/host,FixLangevinKokkos); #include "kokkos_type.h" #include "kokkos_base.h" #include "Kokkos_Random.hpp" -#include "comm_kokkos.h" namespace LAMMPS_NS { @@ -103,8 +102,6 @@ namespace LAMMPS_NS { void end_of_step_rmass_item(int) const; private: - class CommKokkos *commKK; - typename ArrayTypes::t_float_1d rmass; typename ArrayTypes::t_float_1d mass; typename ArrayTypes::tdual_double_2d k_franprev; diff --git a/src/KOKKOS/fix_minimize_kokkos.cpp b/src/KOKKOS/fix_minimize_kokkos.cpp index e2106b3d03..585c357992 100644 --- a/src/KOKKOS/fix_minimize_kokkos.cpp +++ b/src/KOKKOS/fix_minimize_kokkos.cpp @@ -19,6 +19,8 @@ #include "domain.h" #include "memory_kokkos.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_momentum_kokkos.cpp b/src/KOKKOS/fix_momentum_kokkos.cpp index b9220a417f..fa959cd582 100644 --- a/src/KOKKOS/fix_momentum_kokkos.cpp +++ b/src/KOKKOS/fix_momentum_kokkos.cpp @@ -18,11 +18,8 @@ #include "atom_masks.h" #include "domain_kokkos.h" #include "group.h" -#include "error.h" #include "kokkos_few.h" -#include - using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_neigh_history_kokkos.cpp b/src/KOKKOS/fix_neigh_history_kokkos.cpp index 49fe3f1177..d3df48354e 100644 --- a/src/KOKKOS/fix_neigh_history_kokkos.cpp +++ b/src/KOKKOS/fix_neigh_history_kokkos.cpp @@ -17,7 +17,6 @@ #include "atom_kokkos.h" #include "error.h" #include "memory_kokkos.h" -#include "modify.h" #include "neigh_list_kokkos.h" #include "pair_kokkos.h" #include "atom_vec_kokkos.h" diff --git a/src/KOKKOS/fix_nh_kokkos.cpp b/src/KOKKOS/fix_nh_kokkos.cpp index d038093317..1b87b3c775 100644 --- a/src/KOKKOS/fix_nh_kokkos.cpp +++ b/src/KOKKOS/fix_nh_kokkos.cpp @@ -18,18 +18,14 @@ #include "fix_nh_kokkos.h" -#include "atom.h" #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm.h" #include "compute.h" #include "domain_kokkos.h" #include "error.h" -#include "fix_deform.h" #include "force.h" #include "irregular.h" #include "kspace.h" -#include "memory_kokkos.h" #include "neighbor.h" #include "update.h" diff --git a/src/KOKKOS/fix_nve_kokkos.cpp b/src/KOKKOS/fix_nve_kokkos.cpp index 59cc90c088..11b5184310 100644 --- a/src/KOKKOS/fix_nve_kokkos.cpp +++ b/src/KOKKOS/fix_nve_kokkos.cpp @@ -17,8 +17,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include - using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_nve_sphere_kokkos.cpp b/src/KOKKOS/fix_nve_sphere_kokkos.cpp index 38f6a40792..aed45c938c 100644 --- a/src/KOKKOS/fix_nve_sphere_kokkos.cpp +++ b/src/KOKKOS/fix_nve_sphere_kokkos.cpp @@ -15,7 +15,8 @@ #include "fix_nve_sphere_kokkos.h" #include "atom_masks.h" #include "atom_kokkos.h" -#include "error.h" + +#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/fix_nvt_kokkos.cpp b/src/KOKKOS/fix_nvt_kokkos.cpp index 16328c5e3a..7a8badd569 100644 --- a/src/KOKKOS/fix_nvt_kokkos.cpp +++ b/src/KOKKOS/fix_nvt_kokkos.cpp @@ -18,8 +18,6 @@ #include "group.h" #include "modify.h" -#include - using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_nvt_sllod_kokkos.cpp b/src/KOKKOS/fix_nvt_sllod_kokkos.cpp index 948e3b88f6..ddcc0c728c 100644 --- a/src/KOKKOS/fix_nvt_sllod_kokkos.cpp +++ b/src/KOKKOS/fix_nvt_sllod_kokkos.cpp @@ -18,21 +18,19 @@ #include "fix_nvt_sllod_kokkos.h" -#include "atom.h" -#include "atom.h" #include "atom_kokkos.h" #include "atom_masks.h" #include "compute.h" #include "domain.h" #include "error.h" -#include "fix.h" -#include "fix_deform_kokkos.h" +#include "fix_deform.h" #include "group.h" #include "kokkos_few.h" #include "math_extra.h" -#include "memory_kokkos.h" #include "modify.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_property_atom_kokkos.cpp b/src/KOKKOS/fix_property_atom_kokkos.cpp index dcd943cac6..10cea48e90 100644 --- a/src/KOKKOS/fix_property_atom_kokkos.cpp +++ b/src/KOKKOS/fix_property_atom_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "error.h" #include "memory_kokkos.h" #include diff --git a/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp b/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp index ba25d79ad5..deb41944bc 100644 --- a/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp @@ -27,10 +27,8 @@ #include "fix_qeq_reaxff_kokkos.h" -#include "atom.h" #include "atom_kokkos.h" #include "atom_masks.h" -#include "atom_vec_kokkos.h" #include "comm.h" #include "error.h" #include "force.h" @@ -1117,12 +1115,11 @@ void FixQEqReaxFFKokkos::operator()(TagQEqCalculateQ, const int &ii) /* ---------------------------------------------------------------------- */ template -int FixQEqReaxFFKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, - int iswap_in, DAT::tdual_xfloat_1d &k_buf, +int FixQEqReaxFFKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_1d &k_buf, int /*pbc_flag*/, int * /*pbc*/) { d_sendlist = k_sendlist.view(); - iswap = iswap_in; d_buf = k_buf.view(); Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); if (pack_flag == 3) return n; @@ -1134,7 +1131,7 @@ int FixQEqReaxFFKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_i template KOKKOS_INLINE_FUNCTION void FixQEqReaxFFKokkos::operator()(TagQEqPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); if (pack_flag == 1) { if (!(converged & 1)) diff --git a/src/KOKKOS/fix_qeq_reaxff_kokkos.h b/src/KOKKOS/fix_qeq_reaxff_kokkos.h index 6aa345fba6..92026b209d 100644 --- a/src/KOKKOS/fix_qeq_reaxff_kokkos.h +++ b/src/KOKKOS/fix_qeq_reaxff_kokkos.h @@ -154,7 +154,7 @@ class FixQEqReaxFFKokkos : public FixQEqReaxFF, public KokkosBase { F_FLOAT chi, eta, gamma; }; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -255,9 +255,9 @@ class FixQEqReaxFFKokkos : public FixQEqReaxFF, public KokkosBase { DupScatterView dup_o; NonDupScatterView ndup_o; - int iswap,nsend; + int nsend; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d d_buf; typename AT::t_int_1d d_copylist; typename AT::t_int_1d d_indices; diff --git a/src/KOKKOS/fix_reaxff_species_kokkos.cpp b/src/KOKKOS/fix_reaxff_species_kokkos.cpp index 960ba07a86..7d742a8fa4 100644 --- a/src/KOKKOS/fix_reaxff_species_kokkos.cpp +++ b/src/KOKKOS/fix_reaxff_species_kokkos.cpp @@ -23,13 +23,11 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "input.h" -#include "memory_kokkos.h" -#include "neigh_list.h" -#include "neigh_request.h" +#include "kokkos_type.h" +#include "neigh_list_kokkos.h" #include "fix_ave_atom.h" -#include "pair_reaxff_kokkos.h" +#include "pair_reaxff.h" #include "reaxff_defs.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/fix_rx_kokkos.cpp b/src/KOKKOS/fix_rx_kokkos.cpp index 0ba56c611e..0d1c250b3d 100644 --- a/src/KOKKOS/fix_rx_kokkos.cpp +++ b/src/KOKKOS/fix_rx_kokkos.cpp @@ -25,13 +25,12 @@ #include "math_special_kokkos.h" #include "memory_kokkos.h" #include "modify.h" -#include "neigh_list_kokkos.h" #include "neigh_request.h" #include "neighbor.h" #include "update.h" #include // DBL_EPSILON -#include +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -85,9 +84,6 @@ FixRxKokkos::~FixRxKokkos() memoryKK->destroy_kokkos(k_dpdThetaLocal, dpdThetaLocal); memoryKK->destroy_kokkos(k_sumWeights, sumWeights); - memoryKK->destroy_kokkos(d_scratchSpace); - - memoryKK->destroy_kokkos(k_cutsq); } /* ---------------------------------------------------------------------- */ @@ -1463,8 +1459,8 @@ void FixRxKokkos::solve_reactions(const int /*vflag*/, const bool is this->scratchSpaceSize = (8*nspecies + 2*nreactions); if (nlocal*scratchSpaceSize > d_scratchSpace.extent(0)) { - memoryKK->destroy_kokkos (d_scratchSpace); - memoryKK->create_kokkos (d_scratchSpace, nlocal*scratchSpaceSize, "FixRxKokkos::d_scratchSpace"); + d_scratchSpace = typename AT::t_double_1d(); + d_scratchSpace = typename AT::t_double_1d("FixRxKokkos::d_scratchSpace", nlocal*scratchSpaceSize); } if (setRatesToZero) @@ -1822,8 +1818,8 @@ void FixRxKokkos::computeLocalTemperature() const int ntypes = atom->ntypes; if (ntypes+1 > (int) k_cutsq.extent(0)) { - memoryKK->destroy_kokkos (k_cutsq); - memoryKK->create_kokkos (k_cutsq, ntypes+1, ntypes+1, "FixRxKokkos::k_cutsq"); + k_cutsq = typename AT::tdual_ffloat_2d(); + k_cutsq = typename AT::tdual_ffloat_2d("FixRxKokkos::k_cutsq", ntypes+1, ntypes+1); d_cutsq = k_cutsq.template view(); } @@ -1843,7 +1839,7 @@ void FixRxKokkos::computeLocalTemperature() if (sumWeightsCt > (int)k_sumWeights.template view().extent(0)) { memoryKK->destroy_kokkos(k_sumWeights, sumWeights); - memoryKK->create_kokkos (k_sumWeights, sumWeightsCt, "FixRxKokkos::sumWeights"); + memoryKK->create_kokkos(k_sumWeights, sumWeights, sumWeightsCt, "FixRxKokkos::sumWeights"); d_sumWeights = k_sumWeights.template view(); h_sumWeights = k_sumWeights.h_view; } diff --git a/src/KOKKOS/fix_setforce_kokkos.cpp b/src/KOKKOS/fix_setforce_kokkos.cpp index 9f193bc6e4..e8f376643f 100644 --- a/src/KOKKOS/fix_setforce_kokkos.cpp +++ b/src/KOKKOS/fix_setforce_kokkos.cpp @@ -17,7 +17,6 @@ #include "atom_kokkos.h" #include "update.h" #include "modify.h" -#include "domain.h" #include "region.h" #include "input.h" #include "variable.h" @@ -26,8 +25,6 @@ #include "atom_masks.h" #include "kokkos_base.h" -#include - using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_shake_kokkos.cpp b/src/KOKKOS/fix_shake_kokkos.cpp index 791738e5a4..b25e2dad59 100644 --- a/src/KOKKOS/fix_shake_kokkos.cpp +++ b/src/KOKKOS/fix_shake_kokkos.cpp @@ -14,20 +14,12 @@ #include "fix_shake_kokkos.h" -#include "fix_rattle.h" #include "atom_kokkos.h" -#include "atom_vec.h" -#include "molecule.h" #include "update.h" -#include "respa.h" -#include "modify.h" #include "domain.h" #include "force.h" -#include "bond.h" -#include "angle.h" #include "comm.h" #include "group.h" -#include "fix_respa.h" #include "math_const.h" #include "memory_kokkos.h" #include "error.h" @@ -35,7 +27,6 @@ #include "atom_masks.h" #include -#include using namespace LAMMPS_NS; using namespace FixConst; @@ -1808,12 +1799,11 @@ int FixShakeKokkos::unpack_exchange(int nlocal, double *buf) /* ---------------------------------------------------------------------- */ template -int FixShakeKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, - int iswap_in, DAT::tdual_xfloat_1d &k_buf, - int pbc_flag, int* pbc) +int FixShakeKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_1d &k_buf, + int pbc_flag, int* pbc) { d_sendlist = k_sendlist.view(); - iswap = iswap_in; d_buf = k_buf.view(); if (domain->triclinic == 0) { @@ -1837,7 +1827,7 @@ template template KOKKOS_INLINE_FUNCTION void FixShakeKokkos::operator()(TagFixShakePackForwardComm, const int &i) const { - const int j = d_sendlist(iswap, i); + const int j = d_sendlist(i); if (PBC_FLAG == 0) { d_buf[3*i] = d_xshake(j,0); diff --git a/src/KOKKOS/fix_shake_kokkos.h b/src/KOKKOS/fix_shake_kokkos.h index 19f3a2343d..31a6c340be 100644 --- a/src/KOKKOS/fix_shake_kokkos.h +++ b/src/KOKKOS/fix_shake_kokkos.h @@ -66,7 +66,7 @@ class FixShakeKokkos : public FixShake, public KokkosBase { int pack_exchange(int, double *) override; int unpack_exchange(int, double *) override; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -211,9 +211,9 @@ class FixShakeKokkos : public FixShake, public KokkosBase { KOKKOS_INLINE_FUNCTION void v_tally(EV_FLOAT&, int, int *, double, double *) const; - int iswap,first,nsend; + int first,nsend; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um d_buf; typename AT::t_int_1d d_exchange_sendlist; diff --git a/src/KOKKOS/fix_shardlow_kokkos.cpp b/src/KOKKOS/fix_shardlow_kokkos.cpp index 4cbadc4803..a64adbcc38 100644 --- a/src/KOKKOS/fix_shardlow_kokkos.cpp +++ b/src/KOKKOS/fix_shardlow_kokkos.cpp @@ -43,7 +43,6 @@ #include "domain.h" #include "error.h" #include "force.h" -#include "memory_kokkos.h" #include "neigh_list_kokkos.h" #include "neigh_request.h" #include "neighbor.h" diff --git a/src/KOKKOS/fix_spring_self_kokkos.cpp b/src/KOKKOS/fix_spring_self_kokkos.cpp index 6571db37ed..9ba796b1ab 100644 --- a/src/KOKKOS/fix_spring_self_kokkos.cpp +++ b/src/KOKKOS/fix_spring_self_kokkos.cpp @@ -20,17 +20,10 @@ #include "atom_kokkos.h" #include "update.h" -#include "modify.h" #include "domain_kokkos.h" -#include "region.h" -#include "input.h" -#include "variable.h" #include "memory_kokkos.h" #include "error.h" #include "atom_masks.h" -#include "kokkos_base.h" - -#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_temp_berendsen_kokkos.cpp b/src/KOKKOS/fix_temp_berendsen_kokkos.cpp index b986b3189a..8aaf586194 100644 --- a/src/KOKKOS/fix_temp_berendsen_kokkos.cpp +++ b/src/KOKKOS/fix_temp_berendsen_kokkos.cpp @@ -15,11 +15,9 @@ #include "fix_temp_berendsen_kokkos.h" #include "atom_kokkos.h" -#include "comm.h" #include "compute.h" #include "error.h" #include "force.h" -#include "group.h" #include "input.h" #include "modify.h" #include "update.h" @@ -27,7 +25,6 @@ #include "atom_masks.h" #include -#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_temp_rescale_kokkos.cpp b/src/KOKKOS/fix_temp_rescale_kokkos.cpp index 3a1c6ddd26..5c295634e7 100644 --- a/src/KOKKOS/fix_temp_rescale_kokkos.cpp +++ b/src/KOKKOS/fix_temp_rescale_kokkos.cpp @@ -15,11 +15,9 @@ #include "fix_temp_rescale_kokkos.h" #include "atom_kokkos.h" -#include "comm.h" #include "compute.h" #include "error.h" #include "force.h" -#include "group.h" #include "input.h" #include "modify.h" #include "update.h" @@ -27,7 +25,6 @@ #include "atom_masks.h" #include -#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_viscous_kokkos.cpp b/src/KOKKOS/fix_viscous_kokkos.cpp index 80ddff2fce..86a5a35910 100644 --- a/src/KOKKOS/fix_viscous_kokkos.cpp +++ b/src/KOKKOS/fix_viscous_kokkos.cpp @@ -16,12 +16,8 @@ #include "atom_kokkos.h" #include "update.h" -#include "modify.h" -#include "input.h" -#include "memory_kokkos.h" #include "error.h" #include "atom_masks.h" -#include "kokkos_base.h" using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_wall_flow_kokkos.cpp b/src/KOKKOS/fix_wall_flow_kokkos.cpp new file mode 100644 index 0000000000..e86cad54b4 --- /dev/null +++ b/src/KOKKOS/fix_wall_flow_kokkos.cpp @@ -0,0 +1,293 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Vladislav Galigerov (HSE), + Daniil Pavlov (MIPT) +------------------------------------------------------------------------- */ + +#include "fix_wall_flow_kokkos.h" +#include "atom_kokkos.h" +#include "atom_masks.h" +#include "comm.h" +#include "math_const.h" +#include "memory_kokkos.h" + +#include + +using namespace LAMMPS_NS; + +template +FixWallFlowKokkos::FixWallFlowKokkos(LAMMPS *lmp, int narg, char **arg) : + FixWallFlow(lmp, narg, arg), rand_pool(rndseed + comm->me) +{ + kokkosable = 1; + exchange_comm_device = sort_device = 1; + atomKK = (AtomKokkos *) atom; + execution_space = ExecutionSpaceFromDevice::space; + datamask_read = X_MASK | RMASS_MASK | TYPE_MASK | MASK_MASK; + datamask_modify = V_MASK; + + memory->destroy(current_segment); + current_segment = nullptr; + grow_arrays(atomKK->nmax); + + d_walls = d_walls_t("FixWallFlowKokkos::walls", walls.size()); + auto h_walls = Kokkos::create_mirror_view(d_walls); + for (int i = 0; i < (int) walls.size(); ++i) h_walls(i) = walls[i]; + Kokkos::deep_copy(d_walls, h_walls); +} + +template FixWallFlowKokkos::~FixWallFlowKokkos() +{ + if (copymode) return; + memoryKK->destroy_kokkos(k_current_segment, current_segment); +} + +template void FixWallFlowKokkos::init() +{ + atomKK->sync(execution_space, datamask_read); + k_current_segment.template sync(); + d_x = atomKK->k_x.template view(); + + copymode = 1; + Kokkos::parallel_for(Kokkos::RangePolicy(0, atom->nlocal), *this); + copymode = 0; + + k_current_segment.template modify(); +} + +template +KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::operator()(TagFixWallFlowInit, + const int &i) const +{ + double pos = d_x(i, flowax); + d_current_segment(i) = compute_current_segment_kk(pos); +} + +template void FixWallFlowKokkos::end_of_step() +{ + atomKK->sync(execution_space, datamask_read); + k_current_segment.template sync(); + + d_x = atomKK->k_x.template view(); + d_v = atomKK->k_v.template view(); + d_type = atomKK->k_type.template view(); + d_mask = atomKK->k_mask.template view(); + d_mass = atomKK->k_mass.template view(); + d_rmass = atomKK->k_rmass.template view(); + + copymode = 1; + if (d_rmass.data()) { + Kokkos::parallel_for( + Kokkos::RangePolicy>(0, atom->nlocal), *this); + } else { + Kokkos::parallel_for( + Kokkos::RangePolicy>(0, atom->nlocal), *this); + } + copymode = 0; + atomKK->modified(execution_space, datamask_modify); + k_current_segment.template modify(); +} + +template +template +KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::operator()(TagFixWallFlowEndOfStep, + const int &atom_i) const +{ + if (d_mask[atom_i] & groupbit) { + double pos = d_x(atom_i, flowax); + int prev_segment = d_current_segment(atom_i); + d_current_segment(atom_i) = compute_current_segment_kk(pos); + if (prev_segment != d_current_segment(atom_i)) { generate_velocity_kk(atom_i); } + } +} + +template +template +KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::generate_velocity_kk(int atom_i) const +{ + const int newton_iteration_count = 10; + double mass = get_mass(MTag(), atom_i); + const double gamma = 1.0 / std::sqrt(2.0 * kT / mass); + double delta = gamma * flowvel; + + const double edd = std::exp(-delta * delta) / MathConst::MY_PIS + delta * std::erf(delta); + const double probability_threshold = 0.5 * (1. + delta / edd); + + double direction = 1.0; + + rand_type_t rand_gen = rand_pool.get_state(); + + if (/*random->uniform()*/ rand_gen.drand() > probability_threshold) { + delta = -delta; + direction = -direction; + } + + const double xi_0 = rand_gen.drand(); //random->uniform(); + const double F_inf = edd + delta; + const double xi = xi_0 * F_inf; + const double x_0 = (std::sqrt(delta * delta + 2) - delta) * 0.5; + double x = x_0; + for (int i = 0; i < newton_iteration_count; ++i) { + x -= (std::exp(x * x) * MathConst::MY_PIS * (xi - delta * std::erfc(x)) - 1.0) / (x + delta) * + 0.5; + } + + const double nu = x + delta; + const double v = nu / gamma; + + d_v(atom_i, flowax) = v * direction; + d_v(atom_i, (flowax + 1) % 3) = + /*random->gaussian()*/ rand_gen.normal() / (gamma * MathConst::MY_SQRT2); + d_v(atom_i, (flowax + 2) % 3) = + /*random->gaussian()*/ rand_gen.normal() / (gamma * MathConst::MY_SQRT2); + + rand_pool.free_state(rand_gen); +} + +template +KOKKOS_INLINE_FUNCTION int +FixWallFlowKokkos::compute_current_segment_kk(double pos) const +{ + int result = 0; + for (; result < (int) d_walls.extent(0) - 1; ++result) { + if (pos >= d_walls[result] && pos < d_walls[result + 1]) { return result; } + } + return -1; // -1 is "out of box" region +} + +template void FixWallFlowKokkos::grow_arrays(int nmax) +{ + k_current_segment.template sync(); + memoryKK->grow_kokkos(k_current_segment, current_segment, nmax, "WallFlowKK::current_segment"); + k_current_segment.template modify(); + + d_current_segment = k_current_segment.template view(); + h_current_segment = k_current_segment.template view(); +} + +template void FixWallFlowKokkos::copy_arrays(int i, int j, int) +{ + k_current_segment.template sync(); + h_current_segment(j) = h_current_segment(i); + k_current_segment.template modify(); +} + +/* ---------------------------------------------------------------------- + sort local atom-based arrays +------------------------------------------------------------------------- */ + +template +void FixWallFlowKokkos::sort_kokkos(Kokkos::BinSort &Sorter) +{ + // always sort on the device + + k_current_segment.sync_device(); + + Sorter.sort(LMPDeviceType(), k_current_segment.d_view); + + k_current_segment.modify_device(); +} + +template int FixWallFlowKokkos::pack_exchange(int i, double *buf) +{ + k_current_segment.sync_host(); + buf[0] = static_cast(h_current_segment(i)); + return 1; +} + +template +KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::operator()(TagFixWallFlowPackExchange, + const int &mysend) const +{ + const int send_i = d_sendlist(mysend); + const int segment = d_current_segment(send_i); + d_buf(mysend) = static_cast(segment); + + const int copy_i = d_copylist(mysend); + if (copy_i > -1) { d_current_segment(send_i) = d_current_segment(copy_i); } +} + +template +int FixWallFlowKokkos::pack_exchange_kokkos(const int &nsend, + DAT::tdual_xfloat_2d &k_buf, + DAT::tdual_int_1d k_sendlist, + DAT::tdual_int_1d k_copylist, + ExecutionSpace /*space*/) +{ + k_current_segment.template sync(); + + k_buf.template sync(); + k_sendlist.template sync(); + k_copylist.template sync(); + + d_sendlist = k_sendlist.view(); + d_copylist = k_copylist.view(); + + d_buf = typename ArrayTypes::t_xfloat_1d_um(k_buf.template view().data(), + k_buf.extent(0) * k_buf.extent(1)); + + copymode = 1; + + Kokkos::parallel_for(Kokkos::RangePolicy(0, nsend), + *this); + + copymode = 0; + + k_buf.template modify(); + k_current_segment.template modify(); + + return nsend; +} + +template int FixWallFlowKokkos::unpack_exchange(int i, double *buf) +{ + k_current_segment.sync_host(); + h_current_segment(i) = static_cast(buf[0]); + k_current_segment.modify_host(); + return 1; +} + +template +KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::operator()(TagFixWallFlowUnpackExchange, + const int &i) const +{ + int index = d_indices(i); + if (index > -1) { d_current_segment(index) = static_cast(d_buf(i)); } +} + +template +void FixWallFlowKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, + DAT::tdual_int_1d &k_indices, int nrecv, + int /*nrecv1*/, int /*nextrarecv1*/, + ExecutionSpace /*space*/) +{ + d_buf = typename ArrayTypes::t_xfloat_1d_um(k_buf.template view().data(), + k_buf.extent(0) * k_buf.extent(1)); + d_indices = k_indices.view(); + + copymode = 1; + Kokkos::parallel_for(Kokkos::RangePolicy(0, nrecv), + *this); + copymode = 0; + + k_current_segment.template modify(); +} + +namespace LAMMPS_NS { +template class FixWallFlowKokkos; +#ifdef LMP_KOKKOS_GPU +template class FixWallFlowKokkos; +#endif +} // namespace LAMMPS_NS diff --git a/src/KOKKOS/fix_wall_flow_kokkos.h b/src/KOKKOS/fix_wall_flow_kokkos.h new file mode 100644 index 0000000000..3535c74eb7 --- /dev/null +++ b/src/KOKKOS/fix_wall_flow_kokkos.h @@ -0,0 +1,129 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS +// clang-format off +FixStyle(wall/flow/kk,FixWallFlowKokkos); +FixStyle(wall/flow/kk/device,FixWallFlowKokkos); +FixStyle(wall/flow/kk/host,FixWallFlowKokkos); +// clang-format on +#else + +// clang-format off +#ifndef LMP_FIX_WALL_FLOW_KOKKOS_H +#define LMP_FIX_WALL_FLOW_KOKKOS_H + +#include "fix_wall_flow.h" +#include "kokkos_type.h" +#include "kokkos_base.h" +#include "Kokkos_Random.hpp" + +namespace LAMMPS_NS { + +struct TagFixWallFlowInit{}; +template +struct TagFixWallFlowEndOfStep{}; +struct TagFixWallFlowPackExchange{}; +struct TagFixWallFlowUnpackExchange{}; + +template +class FixWallFlowKokkos : public FixWallFlow, public KokkosBase { + public: + typedef DeviceType device_type; + typedef ArrayTypes AT; + struct MassTag{}; + struct RMassTag{}; + FixWallFlowKokkos(class LAMMPS *, int, char **); + ~FixWallFlowKokkos(); + + void init() override; + void end_of_step() override; + void grow_arrays(int) override; + void copy_arrays(int, int, int) override; + void sort_kokkos(Kokkos::BinSort &Sorter) override; + int pack_exchange(int, double *) override; + int unpack_exchange(int, double *) override; + + KOKKOS_INLINE_FUNCTION + void operator() (TagFixWallFlowInit, const int&) const; + + template + KOKKOS_INLINE_FUNCTION + void operator()(TagFixWallFlowEndOfStep, const int&) const; + + KOKKOS_INLINE_FUNCTION + void operator()(TagFixWallFlowPackExchange, const int&) const; + + KOKKOS_INLINE_FUNCTION + void operator()(TagFixWallFlowUnpackExchange, const int&) const; + + int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf, + DAT::tdual_int_1d k_sendlist, + DAT::tdual_int_1d k_copylist, + ExecutionSpace space) override; + + void unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, + DAT::tdual_int_1d &indices,int nrecv, + int /*nrecv1*/, int /*nextrarecv1*/, + ExecutionSpace space) override; + protected: + typename AT::t_x_array d_x; + typename AT::t_v_array d_v; + typename AT::t_int_1d d_type; + typename AT::t_int_1d d_mask; + + typename AT::t_float_1d d_mass; + typename AT::t_float_1d d_rmass; + + typedef typename AT::t_xfloat_1d d_walls_t; + typedef Kokkos::Random_XorShift64_Pool rand_pool_t; + typedef typename rand_pool_t::generator_type rand_type_t; + + typename AT::tdual_int_1d k_current_segment; + typename AT::t_int_1d d_current_segment; + typename HAT::t_int_1d h_current_segment; + + typename AT::t_int_1d d_sendlist; + typename AT::t_xfloat_1d d_buf; + typename AT::t_int_1d d_copylist; + typename AT::t_int_1d d_indices; + + d_walls_t d_walls; + + rand_pool_t rand_pool; + + template + KOKKOS_INLINE_FUNCTION + void generate_velocity_kk(int atom_i) const; + + KOKKOS_INLINE_FUNCTION + int compute_current_segment_kk(double pos) const; + + KOKKOS_INLINE_FUNCTION + double get_mass(MassTag, int atom_i) const + { + return d_mass(d_type(atom_i)); + } + + KOKKOS_INLINE_FUNCTION + double get_mass(RMassTag, int atom_i) const + { + return d_rmass(atom_i); + } +}; + +} + +#endif +#endif + diff --git a/src/KOKKOS/fix_wall_gran_kokkos.cpp b/src/KOKKOS/fix_wall_gran_kokkos.cpp index 25e405c798..3ff97084fe 100644 --- a/src/KOKKOS/fix_wall_gran_kokkos.cpp +++ b/src/KOKKOS/fix_wall_gran_kokkos.cpp @@ -15,7 +15,6 @@ #include "atom_kokkos.h" #include "error.h" #include "memory_kokkos.h" -#include "atom_vec_kokkos.h" #include "atom_masks.h" #include "update.h" diff --git a/src/KOKKOS/fix_wall_lj93_kokkos.cpp b/src/KOKKOS/fix_wall_lj93_kokkos.cpp index dff47f1c30..93bcc9abc9 100644 --- a/src/KOKKOS/fix_wall_lj93_kokkos.cpp +++ b/src/KOKKOS/fix_wall_lj93_kokkos.cpp @@ -13,7 +13,7 @@ ------------------------------------------------------------------------- */ #include "fix_wall_lj93_kokkos.h" -#include + #include "atom_kokkos.h" #include "error.h" #include "atom_masks.h" @@ -51,8 +51,6 @@ void FixWallLJ93Kokkos::wall_particle(int m_in, int which, double co x = atomKK->k_x.view(); f = atomKK->k_f.view(); mask = atomKK->k_mask.view(); - DAT::tdual_int_scalar k_oneflag = DAT::tdual_int_scalar("fix:oneflag"); - d_oneflag = k_oneflag.view(); int nlocal = atom->nlocal; @@ -66,10 +64,6 @@ void FixWallLJ93Kokkos::wall_particle(int m_in, int which, double co copymode = 0; atomKK->modified(execution_space, F_MASK); - - k_oneflag.template modify(); - k_oneflag.template sync(); - if (k_oneflag.h_view()) error->one(FLERR,"Particle on or inside fix wall surface"); } template @@ -80,10 +74,8 @@ void FixWallLJ93Kokkos::wall_particle_item(int i, value_type ewall) if (side < 0) delta = x(i,dim) - coord; else delta = coord - x(i,dim); if (delta >= cutoff[m]) return; - if (delta <= 0.0) { - d_oneflag() = 1; - return; - } + if (delta <= 0.0) + Kokkos::abort("Particle on or inside fix wall surface"); double rinv = 1.0/delta; double r2inv = rinv*rinv; double r4inv = r2inv*r2inv; diff --git a/src/KOKKOS/fix_wall_lj93_kokkos.h b/src/KOKKOS/fix_wall_lj93_kokkos.h index 2bc78f3781..720e586f5d 100644 --- a/src/KOKKOS/fix_wall_lj93_kokkos.h +++ b/src/KOKKOS/fix_wall_lj93_kokkos.h @@ -50,7 +50,6 @@ class FixWallLJ93Kokkos : public FixWallLJ93 { typename AT::t_x_array x; typename AT::t_f_array f; typename AT::t_int_1d mask; - typename AT::t_int_scalar d_oneflag; }; template diff --git a/src/KOKKOS/fix_wall_reflect_kokkos.cpp b/src/KOKKOS/fix_wall_reflect_kokkos.cpp index a8a01c1926..731ce11f10 100644 --- a/src/KOKKOS/fix_wall_reflect_kokkos.cpp +++ b/src/KOKKOS/fix_wall_reflect_kokkos.cpp @@ -21,8 +21,6 @@ #include "update.h" #include "variable.h" -#include - using namespace LAMMPS_NS; enum{XLO=0,XHI=1,YLO=2,YHI=3,ZLO=4,ZHI=5}; diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index b8bcd80a00..58b9436af6 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -57,7 +57,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) reverse_pair_comm_changed = 0; forward_fix_comm_changed = 0; reverse_comm_changed = 0; - sort_changed = 0; + sort_changed = atom_map_changed = 0; delete memory; memory = new MemoryKokkos(lmp); @@ -225,6 +225,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 0; forward_pair_comm_classic = reverse_pair_comm_classic = forward_fix_comm_classic = 0; sort_classic = 0; + atom_map_classic = 0; exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; } else { @@ -240,6 +241,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 1; forward_pair_comm_classic = reverse_pair_comm_classic = forward_fix_comm_classic = 1; sort_classic = 1; + atom_map_classic = 1; exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; } @@ -503,6 +505,14 @@ void KokkosLMP::accelerator(int narg, char **arg) else error->all(FLERR,"Illegal package kokkos command"); sort_changed = 0; iarg += 2; + } else if (strcmp(arg[iarg],"atom/map") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal package kokkos command"); + else if (strcmp(arg[iarg+1],"no") == 0) atom_map_classic = 1; + else if (strcmp(arg[iarg+1],"host") == 0) atom_map_classic = 1; + else if (strcmp(arg[iarg+1],"device") == 0) atom_map_classic = 0; + else error->all(FLERR,"Illegal package kokkos command"); + atom_map_changed = 0; + iarg += 2; } else if ((strcmp(arg[iarg],"gpu/aware") == 0) || (strcmp(arg[iarg],"cuda/aware") == 0)) { if (iarg+2 > narg) error->all(FLERR,"Illegal package kokkos command"); @@ -563,6 +573,10 @@ void KokkosLMP::accelerator(int narg, char **arg) sort_classic = 1; sort_changed = 1; } + if (atom_map_classic == 0) { + atom_map_classic = 1; + atom_map_changed = 1; + } } // if "gpu/aware on" and "pair/only off", and comm flags were changed previously, change them back @@ -599,6 +613,10 @@ void KokkosLMP::accelerator(int narg, char **arg) sort_classic = 0; sort_changed = 0; } + if (atom_map_changed) { + atom_map_classic = 0; + atom_map_changed = 0; + } } #endif diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index 5406feab9b..748aff7f83 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -34,6 +34,7 @@ class KokkosLMP : protected Pointers { int forward_fix_comm_classic; int reverse_comm_classic; int sort_classic; + int atom_map_classic; int exchange_comm_on_host; int forward_comm_on_host; int reverse_comm_on_host; @@ -44,6 +45,7 @@ class KokkosLMP : protected Pointers { int forward_fix_comm_changed; int reverse_comm_changed; int sort_changed; + int atom_map_changed; int nthreads,ngpus; int auto_sync; int gpu_aware_flag; diff --git a/src/KOKKOS/kokkos_base.h b/src/KOKKOS/kokkos_base.h index 24fcc47579..22ed1687a9 100644 --- a/src/KOKKOS/kokkos_base.h +++ b/src/KOKKOS/kokkos_base.h @@ -26,18 +26,18 @@ class KokkosBase { KokkosBase() {} // Pair - virtual int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, - int, DAT::tdual_xfloat_1d &, + virtual int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, + DAT::tdual_xfloat_1d &, int, int *) {return 0;}; virtual void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d &) {} virtual int pack_reverse_comm_kokkos(int, int, DAT::tdual_xfloat_1d &) {return 0;}; - virtual void unpack_reverse_comm_kokkos(int, DAT::tdual_int_2d, - int, DAT::tdual_xfloat_1d &) {} + virtual void unpack_reverse_comm_kokkos(int, DAT::tdual_int_1d, + DAT::tdual_xfloat_1d &) {} // Fix - virtual int pack_forward_comm_fix_kokkos(int, DAT::tdual_int_2d, - int, DAT::tdual_xfloat_1d &, + virtual int pack_forward_comm_fix_kokkos(int, DAT::tdual_int_1d, + DAT::tdual_xfloat_1d &, int, int *) {return 0;}; virtual void unpack_forward_comm_fix_kokkos(int, int, DAT::tdual_xfloat_1d &) {} diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 1009e43196..cc4e00819f 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -689,6 +689,14 @@ typedef tdual_int_2d_dl::t_dev_um t_int_2d_um_dl; typedef tdual_int_2d_dl::t_dev_const_um t_int_2d_const_um_dl; typedef tdual_int_2d_dl::t_dev_const_randomread t_int_2d_randomread_dl; +typedef Kokkos:: + DualView tdual_int_3d; +typedef tdual_int_3d::t_dev t_int_3d; +typedef tdual_int_3d::t_dev_const t_int_3d_const; +typedef tdual_int_3d::t_dev_um t_int_3d_um; +typedef tdual_int_3d::t_dev_const_um t_int_3d_const_um; +typedef tdual_int_3d::t_dev_const_randomread t_int_3d_randomread; + typedef Kokkos:: DualView tdual_tagint_1d; @@ -1006,6 +1014,13 @@ typedef tdual_int_2d_dl::t_host_um t_int_2d_um_dl; typedef tdual_int_2d_dl::t_host_const_um t_int_2d_const_um_dl; typedef tdual_int_2d_dl::t_host_const_randomread t_int_2d_randomread_dl; +typedef Kokkos::DualView tdual_int_3d; +typedef tdual_int_3d::t_host t_int_3d; +typedef tdual_int_3d::t_host_const t_int_3d_const; +typedef tdual_int_3d::t_host_um t_int_3d_um; +typedef tdual_int_3d::t_host_const_um t_int_3d_const_um; +typedef tdual_int_3d::t_host_const_randomread t_int_3d_randomread; + typedef Kokkos::DualView tdual_tagint_1d; typedef tdual_tagint_1d::t_host t_tagint_1d; typedef tdual_tagint_1d::t_host_const t_tagint_1d_const; diff --git a/src/KOKKOS/meam_force_kokkos.h b/src/KOKKOS/meam_force_kokkos.h index fec923f5b2..a546ab54d4 100644 --- a/src/KOKKOS/meam_force_kokkos.h +++ b/src/KOKKOS/meam_force_kokkos.h @@ -601,8 +601,31 @@ KOKKOS_INLINE_FUNCTION void MEAMKokkos::operator()(TagMEAMForce::operator()(TagMEAMForce } /* ---------------------------------------------------------------------- - grow or shrink 1st dim of a 1d array - last dim must stay the same + grow or shrink a 1d array ------------------------------------------------------------------------- */ template @@ -80,6 +79,10 @@ TYPE grow_kokkos(TYPE &data, typename TYPE::value_type *&array, return data; } +/* ---------------------------------------------------------------------- + destroy a 1d array +------------------------------------------------------------------------- */ + template void destroy_kokkos(TYPE data, typename TYPE::value_type* &array) { @@ -92,71 +95,6 @@ void destroy_kokkos(TYPE data, typename TYPE::value_type* &array) create a 2d array ------------------------------------------------------------------------- */ -template -TYPE destroy_kokkos(TYPE &data) -{ - /*if (data.data()!=nullptr) - free(data.data());*/ - data = TYPE(); - return data; -} - -template -TYPE create_kokkos(TYPE &data, int n1, const char *name) -{ - /*typename TYPE::non_const_value_type* ptr = (typename TYPE::non_const_value_type*) - malloc(n1*sizeof(typename TYPE::non_const_value_type)*4);*/ - data = TYPE(std::string(name),n1); - return data; -} - -template -TYPE create_kokkos(TYPE &data, int n1, int n2, const char *name) -{ - /*typename TYPE::non_const_value_type* ptr = (typename TYPE::non_const_value_type*) - malloc(n1*n2*sizeof(typename TYPE::non_const_value_type)*4);*/ - data = TYPE(std::string(name),n1,n2); - return data; -} - -template -TYPE create_kokkos(TYPE &data, int n1, int n2, int n3 ,const char *name) -{ - /*typename TYPE::non_const_value_type* ptr = (typename TYPE::non_const_value_type*) - malloc(n1*n2*n3*sizeof(typename TYPE::non_const_value_type)*4);*/ - data = TYPE(std::string(name),n1,n2,n3); - return data; -} - -template -TYPE create_kokkos(TYPE &data, int n1, int n2, int n3, int n4 ,const char *name) -{ - /*typename TYPE::non_const_value_type* ptr = (typename TYPE::non_const_value_type*) - malloc(n1*n2*n3*n4*sizeof(typename TYPE::non_const_value_type)*4);*/ - data = TYPE(std::string(name),n1,n2,n3,n4); - return data; -} - -template -TYPE create_kokkos(TYPE &data, int n1, int n2, int n3, int n4, int n5 ,const char *name) -{ - /*typename TYPE::non_const_value_type* ptr = (typename TYPE::non_const_value_type*) - malloc(n1*n2*n3*n4*n5*sizeof(typename TYPE::non_const_value_type)*4);*/ - data = TYPE(std::string(name),n1,n2,n3,n4,n5); - return data; -} - -template -TYPE create_kokkos(TYPE &data, int n1, int n2, int n3, int n4, int n5 , int n6 ,const char *name) -{ - /*typename TYPE::non_const_value_type* ptr = (typename TYPE::non_const_value_type*) - malloc(n1*n2*n3*n4*n5*n6*sizeof(typename TYPE::non_const_value_type)*4);*/ - data = TYPE(std::string(name) ,n1,n2,n3,n4,n5,n6); - return data; -} - - - template TYPE create_kokkos(TYPE &data, HTYPE &h_data, int n1, int n2, const char *name) @@ -202,20 +140,87 @@ template return data; } -template - TYPE create_kokkos(TYPE &data, HTYPE &h_data, int n1, int n2, int n3, - const char *name) +template +TYPE create_kokkos(TYPE &data, typename TYPE::value_type **&array, + int n1, const char *name) { - data = TYPE(std::string(name),n1,n2,n3); - h_data = Kokkos::create_mirror_view(data); + data = TYPE(std::string(name),n1); + bigint nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n1; + array = (typename TYPE::value_type **) smalloc(nbytes,name); + + for (int i = 0; i < n1; i++) + if (data.h_view.extent(1) == 0) + array[i] = nullptr; + else + array[i] = &data.h_view(i,0); + return data; } +/* ---------------------------------------------------------------------- + grow or shrink a 2d array +------------------------------------------------------------------------- */ + +template +TYPE grow_kokkos(TYPE &data, typename TYPE::value_type **&array, + int n1, int n2, const char *name) +{ + if (array == nullptr) return create_kokkos(data,array,n1,n2,name); + data.resize(n1,n2); + bigint nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n1; + array = (typename TYPE::value_type**) srealloc(array,nbytes,name); + + for (int i = 0; i < n1; i++) + if (n2 == 0) + array[i] = nullptr; + else + array[i] = &data.h_view(i,0); + + return data; +} + +template +TYPE grow_kokkos(TYPE &data, typename TYPE::value_type **&array, + int n1, const char *name) +{ + if (array == nullptr) return create_kokkos(data,array,n1,name); + + data.resize(n1); + + bigint nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n1; + array = (typename TYPE::value_type **) srealloc(array,nbytes,name); + + for (int i = 0; i < n1; i++) + if (data.h_view.extent(1) == 0) + array[i] = nullptr; + else + array[i] = &data.h_view(i,0); + + return data; +} + +/* ---------------------------------------------------------------------- + destroy a 2d array +------------------------------------------------------------------------- */ + +template +void destroy_kokkos(TYPE data, typename TYPE::value_type** &array) +{ + if (array == nullptr) return; + data = TYPE(); + sfree(array); + array = nullptr; +} + +/* ---------------------------------------------------------------------- + create a 3d array +------------------------------------------------------------------------- */ + template TYPE create_kokkos(TYPE &data, typename TYPE::value_type ***&array, int n1, int n2, int n3, const char *name) { - data = TYPE(std::string(name),n1,n2); + data = TYPE(std::string(name),n1,n2,n3); bigint nbytes = ((bigint) sizeof(typename TYPE::value_type **)) * n1; array = (typename TYPE::value_type ***) smalloc(nbytes,name); @@ -263,79 +268,46 @@ template return data; } +template + TYPE create_kokkos(TYPE &data, HTYPE &h_data, int n1, int n2, int n3, + const char *name) +{ + data = TYPE(std::string(name),n1,n2,n3); + h_data = Kokkos::create_mirror_view(data); + return data; +} + + /* ---------------------------------------------------------------------- - grow or shrink 1st dim of a 2d array - last dim must stay the same + grow or shrink a 3d array ------------------------------------------------------------------------- */ template -TYPE grow_kokkos(TYPE &data, typename TYPE::value_type **&array, - int n1, int n2, const char *name) +TYPE grow_kokkos(TYPE &data, typename TYPE::value_type ***&array, + int n1, int n2, int n3, const char *name) { - if (array == nullptr) return create_kokkos(data,array,n1,n2,name); - data.resize(n1,n2); - bigint nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n1; - array = (typename TYPE::value_type**) srealloc(array,nbytes,name); + if (array == nullptr) return create_kokkos(data,array,n1,n2,n3,name); + data.resize(n1,n2,n3); + bigint nbytes = ((bigint) sizeof(typename TYPE::value_type **)) * n1; + array = (typename TYPE::value_type ***) smalloc(nbytes,name); - for (int i = 0; i < n1; i++) - if (n2 == 0) + for (int i = 0; i < n1; i++) { + if (n2 == 0) { array[i] = nullptr; - else - array[i] = &data.h_view(i,0); - + } else { + nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n2; + array[i] = (typename TYPE::value_type **) smalloc(nbytes,name); + for (int j = 0; j < n2; j++) { + if (n3 == 0) + array[i][j] = nullptr; + else + array[i][j] = &data.h_view(i,j,0); + } + } + } return data; } -template -TYPE create_kokkos(TYPE &data, typename TYPE::value_type **&array, - int n1, const char *name) -{ - data = TYPE(std::string(name),n1); - bigint nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n1; - array = (typename TYPE::value_type **) smalloc(nbytes,name); - - for (int i = 0; i < n1; i++) - if (data.h_view.extent(1) == 0) - array[i] = nullptr; - else - array[i] = &data.h_view(i,0); - - return data; -} - -template -TYPE grow_kokkos(TYPE &data, typename TYPE::value_type **&array, - int n1, const char *name) -{ - if (array == nullptr) return create_kokkos(data,array,n1,name); - - data.resize(n1); - - bigint nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n1; - array = (typename TYPE::value_type **) srealloc(array,nbytes,name); - - for (int i = 0; i < n1; i++) - if (data.h_view.extent(1) == 0) - array[i] = nullptr; - else - array[i] = &data.h_view(i,0); - - return data; -} - -/* ---------------------------------------------------------------------- - destroy a 2d array -------------------------------------------------------------------------- */ - -template -void destroy_kokkos(TYPE data, typename TYPE::value_type** &array) -{ - if (array == nullptr) return; - data = TYPE(); - sfree(array); - array = nullptr; -} - /* ---------------------------------------------------------------------- destroy a 3d array ------------------------------------------------------------------------- */ @@ -374,6 +346,65 @@ static double memory_usage(TYPE &data) return data.span() * sizeof(typename TYPE::value_type); } +/* ---------------------------------------------------------------------- + legacy functions +------------------------------------------------------------------------- */ + +template +TYPE destroy_kokkos(TYPE &data) +{ + data = TYPE(); + return data; +} + +template +TYPE create_kokkos(TYPE &data, int n1, const char *name) +{ + data = TYPE(); + data = TYPE(std::string(name),n1); + return data; +} + +template +TYPE create_kokkos(TYPE &data, int n1, int n2, const char *name) +{ + data = TYPE(); + data = TYPE(std::string(name),n1,n2); + return data; +} + +template +TYPE create_kokkos(TYPE &data, int n1, int n2, int n3 ,const char *name) +{ + data = TYPE(); + data = TYPE(std::string(name),n1,n2,n3); + return data; +} + +template +TYPE create_kokkos(TYPE &data, int n1, int n2, int n3, int n4 ,const char *name) +{ + data = TYPE(); + data = TYPE(std::string(name),n1,n2,n3,n4); + return data; +} + +template +TYPE create_kokkos(TYPE &data, int n1, int n2, int n3, int n4, int n5 ,const char *name) +{ + data = TYPE(); + data = TYPE(std::string(name),n1,n2,n3,n4,n5); + return data; +} + +template +TYPE create_kokkos(TYPE &data, int n1, int n2, int n3, int n4, int n5 , int n6 ,const char *name) +{ + data = TYPE(); + data = TYPE(std::string(name) ,n1,n2,n3,n4,n5,n6); + return data; +} + }; } diff --git a/src/KOKKOS/min_cg_kokkos.cpp b/src/KOKKOS/min_cg_kokkos.cpp index 2ac869e4ea..17cce19a70 100644 --- a/src/KOKKOS/min_cg_kokkos.cpp +++ b/src/KOKKOS/min_cg_kokkos.cpp @@ -13,15 +13,16 @@ ------------------------------------------------------------------------- */ #include "min_cg_kokkos.h" -#include -#include -#include "update.h" -#include "output.h" -#include "timer.h" + #include "atom_kokkos.h" #include "atom_masks.h" #include "error.h" #include "fix_minimize_kokkos.h" +#include "output.h" +#include "timer.h" +#include "update.h" + +#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/mliap_data_kokkos.cpp b/src/KOKKOS/mliap_data_kokkos.cpp index e5b34ecaa0..fd5a852114 100644 --- a/src/KOKKOS/mliap_data_kokkos.cpp +++ b/src/KOKKOS/mliap_data_kokkos.cpp @@ -22,8 +22,6 @@ #include "kokkos_type.h" #include "pair_mliap_kokkos.h" #include "atom_masks.h" -#include "mliap_descriptor.h" -#include "lammps.h" #include "kokkos.h" /* ---------------------------------------------------------------------- */ @@ -59,7 +57,6 @@ MLIAPDataKokkos::~MLIAPDataKokkos() { memoryKK->destroy_kokkos(k_pair_i,pair_i); memoryKK->destroy_kokkos(k_jelems,jelems); memoryKK->destroy_kokkos(k_elems,elems); - memoryKK->destroy_kokkos(k_ij); memoryKK->destroy_kokkos(k_rij,rij); memoryKK->destroy_kokkos(k_graddesc,graddesc); } @@ -72,7 +69,6 @@ void MLIAPDataKokkos::generate_neighdata(class NeighList *list_in, i list = list_in; // grow nmax gradforce array if necessary - if (atom->nmax > nmax) { nmax = atom->nmax; if (gradgradflag > -1){ @@ -149,13 +145,13 @@ void MLIAPDataKokkos::generate_neighdata(class NeighList *list_in, i auto type = atomKK->k_type.view(); auto map=k_pairmliap->k_map.template view(); - Kokkos::parallel_scan(nlistatoms, KOKKOS_LAMBDA (int ii, int &update, const bool final) { + Kokkos::parallel_scan(natomneigh, KOKKOS_LAMBDA (int ii, int &update, const bool final) { if (final) d_ij(ii) = update; update += d_numneighs(ii); }); - Kokkos::parallel_for(nlistatoms, KOKKOS_LAMBDA (int ii) { + Kokkos::parallel_for(natomneigh, KOKKOS_LAMBDA (int ii) { int ij = d_ij(ii); const int i = d_ilist[ii]; const double xtmp = x(i, 0); @@ -186,10 +182,12 @@ void MLIAPDataKokkos::generate_neighdata(class NeighList *list_in, i d_iatoms[ii] = i; d_ielems[ii] = ielem; }); + Kokkos::parallel_for(nmax, KOKKOS_LAMBDA (int i) { const int itype = type(i); d_elems(i) = map(itype); }); + modified(execution_space, NUMNEIGHS_MASK | IATOMS_MASK | IELEMS_MASK | ELEMS_MASK | JATOMS_MASK | PAIR_I_MASK | JELEMS_MASK | RIJ_MASK | IJ_MASK ); eflag = eflag_in; vflag = vflag_in; @@ -203,15 +201,15 @@ void MLIAPDataKokkos::grow_neigharrays() { f = atom->f; f_device = atomKK->k_f.view().data(); // grow neighbor arrays if necessary - - if (natomneigh_max < nlistatoms) { - natomneigh_max = nlistatoms; + natomneigh = list->inum; + if (list->ghost == 1) natomneigh += list->gnum; + if (natomneigh_max < natomneigh) { + natomneigh_max = natomneigh; memoryKK->destroy_kokkos(k_iatoms,iatoms); memoryKK->create_kokkos(k_iatoms, iatoms, natomneigh_max, "mliap_data:iatoms"); memoryKK->destroy_kokkos(k_ielems,ielems); memoryKK->create_kokkos(k_ielems, ielems, natomneigh_max, "mliap_data:ielems"); - memoryKK->destroy_kokkos(k_ij); memoryKK->create_kokkos(k_ij, natomneigh_max, "mliap_data:ij"); memoryKK->destroy_kokkos(k_numneighs,numneighs); memoryKK->create_kokkos(k_numneighs, numneighs, natomneigh_max, "mliap_data:numneighs"); @@ -227,7 +225,7 @@ void MLIAPDataKokkos::grow_neigharrays() { auto d_cutsq=k_pairmliap->k_cutsq.template view(); auto h_cutsq=k_pairmliap->k_cutsq.template view(); auto d_numneighs = k_numneighs.template view(); - Kokkos::parallel_reduce(nlistatoms, KOKKOS_LAMBDA (int ii, int &contrib) { + Kokkos::parallel_reduce(natomneigh, KOKKOS_LAMBDA (int ii, int &contrib) { const int i = d_ilist[ii]; int count=0; const double xtmp = x(i, 0); diff --git a/src/KOKKOS/mliap_descriptor_kokkos.h b/src/KOKKOS/mliap_descriptor_kokkos.h index 075f0e9fed..d4ab72ff96 100644 --- a/src/KOKKOS/mliap_descriptor_kokkos.h +++ b/src/KOKKOS/mliap_descriptor_kokkos.h @@ -29,13 +29,11 @@ template class MLIAPDescriptorKokkos : virtual protected Poin MLIAPDescriptorKokkos(LAMMPS *lmp, MLIAPDescriptor *descriptor_in) : Pointers(lmp), descriptor(descriptor_in) { - memoryKK->destroy_kokkos(k_wjelem); } void init_data() { int num_elems = descriptor->nelements; - memoryKK->destroy_kokkos(k_wjelem); memoryKK->create_kokkos(k_wjelem, num_elems, "MLIAPDescriptorKokkos::k_wjelem"); for (int i = 0; i < num_elems; ++i) k_wjelem.h_view(i) = descriptor->wjelem[i]; k_wjelem.modify(); @@ -44,7 +42,6 @@ template class MLIAPDescriptorKokkos : virtual protected Poin virtual ~MLIAPDescriptorKokkos() { - memoryKK->destroy_kokkos(k_wjelem); } MLIAPDescriptor *descriptor; diff --git a/src/KOKKOS/mliap_descriptor_so3_kokkos.cpp b/src/KOKKOS/mliap_descriptor_so3_kokkos.cpp index 7e30ab8cc7..1cf368e952 100644 --- a/src/KOKKOS/mliap_descriptor_so3_kokkos.cpp +++ b/src/KOKKOS/mliap_descriptor_so3_kokkos.cpp @@ -21,13 +21,9 @@ #include "atom_kokkos.h" #include "comm.h" #include "error.h" -#include "memory.h" #include "mliap_data_kokkos.h" #include "mliap_so3_kokkos.h" #include "pair_mliap.h" -#include "tokenizer.h" - -#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/mliap_model_kokkos.h b/src/KOKKOS/mliap_model_kokkos.h index 72077f5988..4840798cc1 100644 --- a/src/KOKKOS/mliap_model_kokkos.h +++ b/src/KOKKOS/mliap_model_kokkos.h @@ -29,14 +29,12 @@ template class MLIAPModelKokkos : protected Pointers { MLIAPModelKokkos(LAMMPS *lmp, MLIAPModel *model_in) : Pointers(lmp), model(model_in) {} virtual ~MLIAPModelKokkos() { - memoryKK->destroy_kokkos(k_coeffelem); model->coeffelem = nullptr; } void set_k_coeffelem() { double **tmp = nullptr; - memoryKK->destroy_kokkos(k_coeffelem); memoryKK->create_kokkos(k_coeffelem, tmp, model->nelements, model->nparams, "MLIAPModelKokkos::coeffelem"); for (int i = 0; i < model->nelements; ++i) diff --git a/src/KOKKOS/mliap_model_linear_kokkos.cpp b/src/KOKKOS/mliap_model_linear_kokkos.cpp index b294dad294..f4fef82023 100644 --- a/src/KOKKOS/mliap_model_linear_kokkos.cpp +++ b/src/KOKKOS/mliap_model_linear_kokkos.cpp @@ -19,7 +19,6 @@ #include "mliap_model_linear_kokkos.h" #include "mliap_data_kokkos.h" -#include "error.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/mliap_so3_kokkos.cpp b/src/KOKKOS/mliap_so3_kokkos.cpp index 3f6370a6fc..155bee9294 100644 --- a/src/KOKKOS/mliap_so3_kokkos.cpp +++ b/src/KOKKOS/mliap_so3_kokkos.cpp @@ -21,7 +21,6 @@ #include "error.h" #include "math_const.h" #include "math_special_kokkos.h" -#include "memory.h" #include "memory_kokkos.h" #include "mliap_so3_math.h" @@ -60,44 +59,6 @@ MLIAP_SO3Kokkos::MLIAP_SO3Kokkos(LAMMPS *lmp, double vrcut, int vlma template MLIAP_SO3Kokkos::~MLIAP_SO3Kokkos() { - memoryKK->destroy_kokkos(m_ellpl1); - memoryKK->destroy_kokkos(m_ellm1); - memoryKK->destroy_kokkos(m_pfac); - memoryKK->destroy_kokkos(m_Ylms); - memoryKK->destroy_kokkos(m_dfac0); - memoryKK->destroy_kokkos(m_dfac1); - memoryKK->destroy_kokkos(m_dfac2); - memoryKK->destroy_kokkos(m_dfac3); - memoryKK->destroy_kokkos(m_dfac4); - memoryKK->destroy_kokkos(m_dfac5); - memoryKK->destroy_kokkos(m_w); - memoryKK->destroy_kokkos(m_g_array); - - memoryKK->destroy_kokkos(m_rootpq); - memoryKK->destroy_kokkos(m_idxu_block); - memoryKK->destroy_kokkos(m_idxylm); - - memoryKK->destroy_kokkos(m_rip_array); - memoryKK->destroy_kokkos(m_rip_darray); - - memoryKK->destroy_kokkos(m_sbes_array); - memoryKK->destroy_kokkos(m_sbes_darray); - - memoryKK->destroy_kokkos(m_plist_r); - - memoryKK->destroy_kokkos(m_ulist_r); - memoryKK->destroy_kokkos(m_ulist_i); - - memoryKK->destroy_kokkos(m_dYlm_r); - memoryKK->destroy_kokkos(m_dYlm_i); - - memoryKK->destroy_kokkos(k_dplist_r); - - memoryKK->destroy_kokkos(m_dclist); - - memoryKK->destroy_kokkos(m_clisttot_r); - memoryKK->destroy_kokkos(m_clisttot_i); - t_numneighs = int_1d(); t_jelems = int_1d(); t_wjelem = float_1d(); @@ -121,9 +82,7 @@ void MLIAP_SO3Kokkos::init() int totali; totali = m_lmax + 1; - memoryKK->destroy_kokkos(m_ellpl1); memoryKK->create_kokkos(m_ellpl1, totali, "MLIAP_SO3Kokkos:m_ellpl1"); - memoryKK->destroy_kokkos(m_ellm1); memoryKK->create_kokkos(m_ellm1, totali, "MLIAP_SO3Kokkos:m_ellm1"); alloc_init = 2.0 * totali * sizeof(double); using range=Kokkos::RangePolicy; @@ -139,9 +98,7 @@ void MLIAP_SO3Kokkos::init() m_pfac_l1 = m_lmax + 2; m_pfac_l2 = (m_lmax + 2) * (m_lmax + 2) + 1; totali = m_pfac_l1 * m_pfac_l2; - memoryKK->destroy_kokkos(m_pfac); memoryKK->create_kokkos(m_pfac, totali, "MLIAP_SO3Kokkos:m_pfac"); - memoryKK->destroy_kokkos(m_Ylms); memoryKK->create_kokkos(m_Ylms, totali, "MLIAP_SO3Kokkos:m_Ylms"); alloc_init += 2 * totali * sizeof(double); @@ -161,17 +118,11 @@ void MLIAP_SO3Kokkos::init() m_dfac_l1 = m_lmax + 1; m_dfac_l2 = m_numYlms + 1; totali = m_dfac_l1 * m_dfac_l2; - memoryKK->destroy_kokkos(m_dfac0); memoryKK->create_kokkos(m_dfac0, totali, "MLIAP_SO3Kokkos:m_dfac0"); - memoryKK->destroy_kokkos(m_dfac1); memoryKK->create_kokkos(m_dfac1, totali, "MLIAP_SO3Kokkos:m_dfac1"); - memoryKK->destroy_kokkos(m_dfac2); memoryKK->create_kokkos(m_dfac2, totali, "MLIAP_SO3Kokkos:m_dfac2"); - memoryKK->destroy_kokkos(m_dfac3); memoryKK->create_kokkos(m_dfac3, totali, "MLIAP_SO3Kokkos:m_dfac3"); - memoryKK->destroy_kokkos(m_dfac4); memoryKK->create_kokkos(m_dfac4, totali, "MLIAP_SO3Kokkos:m_dfac4"); - memoryKK->destroy_kokkos(m_dfac5); memoryKK->create_kokkos(m_dfac5, totali, "MLIAP_SO3Kokkos:m_dfac5"); alloc_init += 6.0 * totali * sizeof(double); @@ -197,12 +148,10 @@ void MLIAP_SO3Kokkos::init() }); totali = m_nmax * m_nmax; - memoryKK->destroy_kokkos(m_w); memoryKK->create_kokkos(m_w, totali, "MLIAP_SO3Kokkos:w"); alloc_init += totali * sizeof(double); totali = m_nmax * m_Nmax; - memoryKK->destroy_kokkos(m_g_array); memoryKK->create_kokkos(m_g_array, totali, "MLIAP_SO3Kokkos:g_array"); alloc_init += totali * sizeof(double); @@ -218,7 +167,6 @@ void MLIAP_SO3Kokkos::init() twolmax = 2 * (m_lmax + 1); int m_ldim = twolmax + 1; totali = m_ldim * m_ldim; - memoryKK->destroy_kokkos(m_rootpq); memoryKK->create_kokkos(m_rootpq, totali, "MLIAP_SO3Kokkos:rootpq"); alloc_init += totali * sizeof(double); @@ -229,12 +177,10 @@ void MLIAP_SO3Kokkos::init() rootpq[p * ldim + q] = sqrt(static_cast(p) / q); }); - memoryKK->destroy_kokkos(m_idxu_block); memoryKK->create_kokkos(m_idxu_block, m_ldim, "MLIAP_SO3Kokkos:idxu_bloc"); alloc_init += totali * sizeof(double); totali = square(m_lmax + 2); - memoryKK->destroy_kokkos(m_idxylm); memoryKK->create_kokkos(m_idxylm, totali, "MLIAP_SO3Kokkos:idxylm"); alloc_init += totali * sizeof(double); @@ -278,7 +224,6 @@ void MLIAP_SO3Kokkos::init_arrays(int nlocal, int ncoefs) int totali = nlocal * ncoefs; if ( nlocal > (int)m_plist_r.extent(0)) { - memoryKK->destroy_kokkos(m_plist_r); memoryKK->create_kokkos(m_plist_r, nlocal, ncoefs, "MLIAP_SO3Kokkos:m_plist_r"); alloc_arrays = totali * sizeof(double); } @@ -286,26 +231,19 @@ void MLIAP_SO3Kokkos::init_arrays(int nlocal, int ncoefs) int num_of_temp = std::min(nlocal, m_chunk_size); if ((int)m_ulist_r.extent(0) < num_of_temp ) { totali = m_idxu_count; - memoryKK->destroy_kokkos(m_ulist_r); memoryKK->create_kokkos(m_ulist_r, num_of_temp, totali, "MLIAP_SO3Kokkos:m_ulist_r"); - memoryKK->destroy_kokkos(m_ulist_i); memoryKK->create_kokkos(m_ulist_i, num_of_temp, totali, "MLIAP_SO3Kokkos:m_ulist_i"); alloc_arrays += 2.0 * totali * num_of_temp * sizeof(double); totali = m_numYlms * 3; - memoryKK->destroy_kokkos(m_dYlm_r); memoryKK->create_kokkos(m_dYlm_r, num_of_temp, m_numYlms, 3, "MLIAP_SO3Kokkos:m_dYlm_r"); - memoryKK->destroy_kokkos(m_dYlm_i); memoryKK->create_kokkos(m_dYlm_i, num_of_temp, m_numYlms, 3, "MLIAP_SO3Kokkos:m_dYlm_i"); alloc_arrays += 2.0 * m_numYlms * 3 * num_of_temp * sizeof(double); - memoryKK->destroy_kokkos(m_dclist); memoryKK->create_kokkos(m_dclist, num_of_temp, m_nmax, m_numYlms, 3, "MLIAP_SO3Kokkos:k_dclist_r"); alloc_arrays += m_nmax * m_numYlms * 3 * num_of_temp* sizeof(double); - memoryKK->destroy_kokkos(m_clisttot_r); memoryKK->create_kokkos(m_clisttot_r, num_of_temp, m_nmax, m_numYlms, "MLIAP_SO3Kokkos:m_clisttot_r"); - memoryKK->destroy_kokkos(m_clisttot_i); memoryKK->create_kokkos(m_clisttot_i, num_of_temp, m_nmax, m_numYlms, "MLIAP_SO3Kokkos:m_clisttot_i"); alloc_arrays += 2.0 * m_nmax * m_numYlms * num_of_temp * sizeof(double); m_init_arrays = 1; @@ -850,21 +788,15 @@ void MLIAP_SO3Kokkos::spectrum_dxdr(int nlocal, DAT::tdual_int_1d nu bigint totali; if ( nlocal > (int)m_clisttot_r.extent(0)){ - memoryKK->destroy_kokkos(m_clisttot_r); memoryKK->create_kokkos(m_clisttot_r, nlocal, m_nmax, m_numYlms, "MLIAP_SO3Kokkos:m_clisttot_r"); - memoryKK->destroy_kokkos(m_clisttot_i); memoryKK->create_kokkos(m_clisttot_i, nlocal, m_nmax, m_numYlms, "MLIAP_SO3Kokkos:m_clisttot_i"); int num_of_temp = std::min(nlocal, m_chunk_size); int delta=num_of_temp-m_ulist_r.extent(0); if (delta > 0){ - memoryKK->destroy_kokkos(m_ulist_r); memoryKK->create_kokkos(m_ulist_r, num_of_temp, m_idxu_count, "MLIAP_SO3Kokkos:m_ulist_r"); - memoryKK->destroy_kokkos(m_ulist_i); memoryKK->create_kokkos(m_ulist_i, num_of_temp, m_idxu_count, "MLIAP_SO3Kokkos:m_ulist_i"); alloc_arrays += 2.0 * m_idxu_count * delta * sizeof(double); - memoryKK->destroy_kokkos(m_dYlm_r); memoryKK->create_kokkos(m_dYlm_r, num_of_temp, m_numYlms, 3, "MLIAP_SO3Kokkos:m_dYlm_r"); - memoryKK->destroy_kokkos(m_dYlm_i); memoryKK->create_kokkos(m_dYlm_i, num_of_temp, m_numYlms, 3, "MLIAP_SO3Kokkos:m_dYlm_i"); alloc_arrays += 2.0 * m_numYlms * 3 * delta * sizeof(double); } @@ -872,18 +804,13 @@ void MLIAP_SO3Kokkos::spectrum_dxdr(int nlocal, DAT::tdual_int_1d nu totali = totaln * m_Nmax * (m_lmax + 1); if ( totali > (int)m_sbes_array.extent(0)) { - memoryKK->destroy_kokkos(m_sbes_array); memoryKK->create_kokkos(m_sbes_array, totali, "MLIAP_SO3Kokkos:m_sbes_array"); - memoryKK->destroy_kokkos(m_sbes_darray); memoryKK->create_kokkos(m_sbes_darray, totali, "MLIAP_SO3Kokkos:m_sbes_darray"); totali = totaln * m_nmax * (m_lmax + 1); - memoryKK->destroy_kokkos(m_rip_array); memoryKK->create_kokkos(m_rip_array, totali, "MLIAP_SO3Kokkos:m_rip_array"); - memoryKK->destroy_kokkos(m_rip_darray); memoryKK->create_kokkos(m_rip_darray, totali, "MLIAP_SO3Kokkos:m_rip_darray"); - memoryKK->destroy_kokkos(k_dplist_r); memoryKK->create_kokkos(k_dplist_r, (int)totaln, ncoefs, 3, "MLIAP_SO3Kokkos:m_dplist_r"); } diff --git a/src/KOKKOS/mliap_unified_couple_kokkos.pyx b/src/KOKKOS/mliap_unified_couple_kokkos.pyx index 97d807ac33..385a770bb3 100644 --- a/src/KOKKOS/mliap_unified_couple_kokkos.pyx +++ b/src/KOKKOS/mliap_unified_couple_kokkos.pyx @@ -13,6 +13,7 @@ from libc.stdint cimport uintptr_t cimport cython from cpython.ref cimport PyObject from libc.stdlib cimport malloc, free +from libc.string cimport memcpy cdef extern from "lammps.h" namespace "LAMMPS_NS": @@ -451,15 +452,24 @@ cdef public object mliap_unified_connect_kokkos(char *fname, MLIAPDummyModel * m cdef int nelements = len(unified.element_types) cdef char **elements = malloc(nelements * sizeof(char*)) + cdef char * c_str + cdef char * s + cdef ssize_t slen if not elements: raise MemoryError("failed to allocate memory for element names") - cdef char *elem_name for i, elem in enumerate(unified.element_types): - elem_name_bytes = elem.encode('UTF-8') - elem_name = elem_name_bytes - elements[i] = &elem_name[0] + py_str = elem.encode('UTF-8') + s = py_str + slen = len(py_str) + c_str = malloc((slen+1)*sizeof(char)) + if not c_str: + raise MemoryError("failed to allocate memory for element names") + memcpy(c_str, s, slen) + c_str[slen] = 0 + elements[i] = c_str + unified_int.descriptor.set_elements(elements, nelements) unified_int.model.nelements = nelements diff --git a/src/KOKKOS/mliap_unified_kokkos.cpp b/src/KOKKOS/mliap_unified_kokkos.cpp index 4c38e4f1d6..e85f836254 100644 --- a/src/KOKKOS/mliap_unified_kokkos.cpp +++ b/src/KOKKOS/mliap_unified_kokkos.cpp @@ -315,7 +315,6 @@ void LAMMPS_NS::update_pair_forces(MLIAPDataKokkosDevice *data, double *fij) int i = pair_i[ii]; int j = j_atoms[ii]; // must not count any contribution where i is not a local atom - if (i < nlocal) { Kokkos::atomic_add(&f[i*3+0], fij[ii3+0]); Kokkos::atomic_add(&f[i*3+1], fij[ii3+1]); Kokkos::atomic_add(&f[i*3+2], fij[ii3+2]); @@ -352,7 +351,6 @@ void LAMMPS_NS::update_pair_forces(MLIAPDataKokkosDevice *data, double *fij) Kokkos::atomic_add(&d_vatom(j,3), 0.5*v[3]); Kokkos::atomic_add(&d_vatom(j,4), 0.5*v[4]); Kokkos::atomic_add(&d_vatom(j,5), 0.5*v[5]); - } } } }); @@ -382,11 +380,9 @@ void LAMMPS_NS::update_atom_energy(MLIAPDataKokkosDevice *data, double *ei) Kokkos::parallel_reduce(nlocal, KOKKOS_LAMBDA(int i, double &local_sum){ double e = ei[i]; - // must not count any contribution where i is not a local atom - if (i < nlocal) { - d_eatoms[i] = e; - local_sum += e; - } + + d_eatoms[i] = e; + local_sum += e; },*data->energy); } diff --git a/src/KOKKOS/nbin_ssa_kokkos.cpp b/src/KOKKOS/nbin_ssa_kokkos.cpp index 6e7390d3c6..63c2fe22c1 100644 --- a/src/KOKKOS/nbin_ssa_kokkos.cpp +++ b/src/KOKKOS/nbin_ssa_kokkos.cpp @@ -18,13 +18,12 @@ ------------------------------------------------------------------------- */ #include "nbin_ssa_kokkos.h" -#include "neighbor.h" + #include "atom_kokkos.h" #include "domain.h" #include "update.h" #include "atom_masks.h" - -// #include "memory_kokkos.h" +#include "kokkos_type.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/neigh_bond_kokkos.cpp b/src/KOKKOS/neigh_bond_kokkos.cpp index 85ca6c916e..9e1c8c273b 100644 --- a/src/KOKKOS/neigh_bond_kokkos.cpp +++ b/src/KOKKOS/neigh_bond_kokkos.cpp @@ -27,6 +27,7 @@ #include "force.h" #include "memory_kokkos.h" #include "modify.h" +#include "neighbor.h" #include "output.h" #include "thermo.h" #include "update.h" diff --git a/src/KOKKOS/neigh_bond_kokkos.h b/src/KOKKOS/neigh_bond_kokkos.h index 480726c602..f60903f73e 100644 --- a/src/KOKKOS/neigh_bond_kokkos.h +++ b/src/KOKKOS/neigh_bond_kokkos.h @@ -15,9 +15,7 @@ #ifndef LMP_NEIGH_BOND_KOKKOS_H #define LMP_NEIGH_BOND_KOKKOS_H -#include "neighbor.h" #include "kokkos_type.h" -#include "domain_kokkos.h" #include "pointers.h" #include diff --git a/src/KOKKOS/neighbor_kokkos.cpp b/src/KOKKOS/neighbor_kokkos.cpp index efb1247560..214b2e86d9 100644 --- a/src/KOKKOS/neighbor_kokkos.cpp +++ b/src/KOKKOS/neighbor_kokkos.cpp @@ -18,16 +18,14 @@ #include "atom_kokkos.h" #include "atom_masks.h" #include "bond.h" -#include "comm.h" +#include "domain.h" #include "dihedral.h" #include "error.h" -#include "fix.h" #include "force.h" #include "improper.h" #include "kokkos.h" #include "memory_kokkos.h" #include "neigh_request.h" -#include "pair.h" #include "style_nbin.h" #include "style_npair.h" #include "style_nstencil.h" diff --git a/src/KOKKOS/npair_skip_kokkos.cpp b/src/KOKKOS/npair_skip_kokkos.cpp index 15c0487010..91a2cfa17e 100644 --- a/src/KOKKOS/npair_skip_kokkos.cpp +++ b/src/KOKKOS/npair_skip_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "atom_vec.h" #include "neigh_list_kokkos.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/pair_adp_kokkos.cpp b/src/KOKKOS/pair_adp_kokkos.cpp index d02edc43ab..1297d62651 100644 --- a/src/KOKKOS/pair_adp_kokkos.cpp +++ b/src/KOKKOS/pair_adp_kokkos.cpp @@ -472,12 +472,11 @@ void PairADPKokkos::interpolate(int n, double delta, double *f, t_ho /* ---------------------------------------------------------------------- */ template -int PairADPKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, - int iswap_in, DAT::tdual_xfloat_1d &buf, +int PairADPKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_1d &buf, int /*pbc_flag*/, int * /*pbc*/) { d_sendlist = k_sendlist.view(); - iswap = iswap_in; v_buf = buf.view(); Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); return n*10; @@ -486,7 +485,7 @@ int PairADPKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d template KOKKOS_INLINE_FUNCTION void PairADPKokkos::operator()(TagPairADPPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); v_buf[10 * i] = d_fp(j); v_buf[10 * i + 1] = d_mu(j, 0); v_buf[10 * i + 2] = d_mu(j, 1); diff --git a/src/KOKKOS/pair_adp_kokkos.h b/src/KOKKOS/pair_adp_kokkos.h index 5714bdb699..41328a567e 100644 --- a/src/KOKKOS/pair_adp_kokkos.h +++ b/src/KOKKOS/pair_adp_kokkos.h @@ -108,7 +108,7 @@ class PairADPKokkos : public PairADP, public KokkosBase const F_FLOAT &epair, const F_FLOAT &fx, const F_FLOAT &fy, const F_FLOAT &fz, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -185,9 +185,8 @@ class PairADPKokkos : public PairADP, public KokkosBase typename AT::t_int_1d d_ilist; typename AT::t_int_1d d_numneigh; - int iswap; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; int neighflag,newton_pair; diff --git a/src/KOKKOS/pair_buck_coul_cut_kokkos.cpp b/src/KOKKOS/pair_buck_coul_cut_kokkos.cpp index a859b232be..ebe49b59a0 100644 --- a/src/KOKKOS/pair_buck_coul_cut_kokkos.cpp +++ b/src/KOKKOS/pair_buck_coul_cut_kokkos.cpp @@ -25,14 +25,12 @@ #include "kokkos.h" #include "math_const.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" #include "respa.h" #include "update.h" #include -#include using namespace LAMMPS_NS; using namespace MathConst; diff --git a/src/KOKKOS/pair_buck_kokkos.cpp b/src/KOKKOS/pair_buck_kokkos.cpp index b549fcd329..88b0445dc8 100644 --- a/src/KOKKOS/pair_buck_kokkos.cpp +++ b/src/KOKKOS/pair_buck_kokkos.cpp @@ -24,14 +24,12 @@ #include "force.h" #include "kokkos.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" #include "respa.h" #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/pair_coul_cut_kokkos.cpp b/src/KOKKOS/pair_coul_cut_kokkos.cpp index 283a4b2b69..1796bd93fd 100644 --- a/src/KOKKOS/pair_coul_cut_kokkos.cpp +++ b/src/KOKKOS/pair_coul_cut_kokkos.cpp @@ -20,7 +20,6 @@ #include "force.h" #include "kokkos.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" diff --git a/src/KOKKOS/pair_coul_debye_kokkos.cpp b/src/KOKKOS/pair_coul_debye_kokkos.cpp index 4c0e610e89..eb61716640 100644 --- a/src/KOKKOS/pair_coul_debye_kokkos.cpp +++ b/src/KOKKOS/pair_coul_debye_kokkos.cpp @@ -24,14 +24,10 @@ #include "force.h" #include "kokkos.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" -#include "respa.h" -#include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/pair_coul_dsf_kokkos.cpp b/src/KOKKOS/pair_coul_dsf_kokkos.cpp index 936b6b1d8c..9e0db27f36 100644 --- a/src/KOKKOS/pair_coul_dsf_kokkos.cpp +++ b/src/KOKKOS/pair_coul_dsf_kokkos.cpp @@ -20,7 +20,7 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "error.h" +#include "ewald_const.h" #include "force.h" #include "kokkos.h" #include "math_const.h" @@ -32,15 +32,9 @@ #include using namespace LAMMPS_NS; +using namespace EwaldConst; using namespace MathConst; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - /* ---------------------------------------------------------------------- */ template diff --git a/src/KOKKOS/pair_coul_wolf_kokkos.cpp b/src/KOKKOS/pair_coul_wolf_kokkos.cpp index 2ccf7a5a15..af5067db16 100644 --- a/src/KOKKOS/pair_coul_wolf_kokkos.cpp +++ b/src/KOKKOS/pair_coul_wolf_kokkos.cpp @@ -20,7 +20,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "error.h" #include "force.h" #include "kokkos.h" #include "math_const.h" diff --git a/src/KOKKOS/pair_eam_alloy_kokkos.cpp b/src/KOKKOS/pair_eam_alloy_kokkos.cpp index 93ed9fc620..b02faced1e 100644 --- a/src/KOKKOS/pair_eam_alloy_kokkos.cpp +++ b/src/KOKKOS/pair_eam_alloy_kokkos.cpp @@ -449,12 +449,11 @@ void PairEAMAlloyKokkos::interpolate(int n, double delta, double *f, /* ---------------------------------------------------------------------- */ template -int PairEAMAlloyKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, - int iswap_in, DAT::tdual_xfloat_1d &buf, +int PairEAMAlloyKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_1d &buf, int /*pbc_flag*/, int * /*pbc*/) { d_sendlist = k_sendlist.view(); - iswap = iswap_in; v_buf = buf.view(); Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); return n; @@ -463,7 +462,7 @@ int PairEAMAlloyKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_i template KOKKOS_INLINE_FUNCTION void PairEAMAlloyKokkos::operator()(TagPairEAMAlloyPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); v_buf[i] = d_fp[j]; } diff --git a/src/KOKKOS/pair_eam_alloy_kokkos.h b/src/KOKKOS/pair_eam_alloy_kokkos.h index 2eb40189ac..572dc1aca8 100644 --- a/src/KOKKOS/pair_eam_alloy_kokkos.h +++ b/src/KOKKOS/pair_eam_alloy_kokkos.h @@ -122,7 +122,7 @@ class PairEAMAlloyKokkos : public PairEAM, public KokkosBase { const F_FLOAT &epair, const F_FLOAT &fpair, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -190,9 +190,8 @@ class PairEAMAlloyKokkos : public PairEAM, public KokkosBase { typename AT::t_int_1d d_ilist; typename AT::t_int_1d d_numneigh; - int iswap; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; int neighflag,newton_pair; diff --git a/src/KOKKOS/pair_eam_fs_kokkos.cpp b/src/KOKKOS/pair_eam_fs_kokkos.cpp index 5dee601302..4da146e68e 100644 --- a/src/KOKKOS/pair_eam_fs_kokkos.cpp +++ b/src/KOKKOS/pair_eam_fs_kokkos.cpp @@ -449,12 +449,11 @@ void PairEAMFSKokkos::interpolate(int n, double delta, double *f, t_ /* ---------------------------------------------------------------------- */ template -int PairEAMFSKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, - int iswap_in, DAT::tdual_xfloat_1d &buf, +int PairEAMFSKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_1d &buf, int /*pbc_flag*/, int * /*pbc*/) { d_sendlist = k_sendlist.view(); - iswap = iswap_in; v_buf = buf.view(); Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); return n; @@ -463,7 +462,7 @@ int PairEAMFSKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_ template KOKKOS_INLINE_FUNCTION void PairEAMFSKokkos::operator()(TagPairEAMFSPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); v_buf[i] = d_fp[j]; } diff --git a/src/KOKKOS/pair_eam_fs_kokkos.h b/src/KOKKOS/pair_eam_fs_kokkos.h index bd03ab0015..8e4ee7851e 100644 --- a/src/KOKKOS/pair_eam_fs_kokkos.h +++ b/src/KOKKOS/pair_eam_fs_kokkos.h @@ -122,7 +122,7 @@ class PairEAMFSKokkos : public PairEAM, public KokkosBase { const F_FLOAT &epair, const F_FLOAT &fpair, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -190,9 +190,8 @@ class PairEAMFSKokkos : public PairEAM, public KokkosBase { typename AT::t_int_1d d_ilist; typename AT::t_int_1d d_numneigh; - int iswap; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; int neighflag,newton_pair; diff --git a/src/KOKKOS/pair_eam_kokkos.cpp b/src/KOKKOS/pair_eam_kokkos.cpp index 32f4afe225..54ffa84f2d 100644 --- a/src/KOKKOS/pair_eam_kokkos.cpp +++ b/src/KOKKOS/pair_eam_kokkos.cpp @@ -444,12 +444,11 @@ void PairEAMKokkos::interpolate(int n, double delta, double *f, t_ho /* ---------------------------------------------------------------------- */ template -int PairEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, - int iswap_in, DAT::tdual_xfloat_1d &buf, +int PairEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_1d &buf, int /*pbc_flag*/, int * /*pbc*/) { d_sendlist = k_sendlist.view(); - iswap = iswap_in; v_buf = buf.view(); Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); return n; @@ -458,7 +457,7 @@ int PairEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d template KOKKOS_INLINE_FUNCTION void PairEAMKokkos::operator()(TagPairEAMPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); v_buf[i] = d_fp[j]; } diff --git a/src/KOKKOS/pair_eam_kokkos.h b/src/KOKKOS/pair_eam_kokkos.h index 9d066d40a0..950db43fb2 100644 --- a/src/KOKKOS/pair_eam_kokkos.h +++ b/src/KOKKOS/pair_eam_kokkos.h @@ -120,7 +120,7 @@ class PairEAMKokkos : public PairEAM, public KokkosBase { const F_FLOAT &epair, const F_FLOAT &fpair, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -186,9 +186,8 @@ class PairEAMKokkos : public PairEAM, public KokkosBase { typename AT::t_int_1d d_ilist; typename AT::t_int_1d d_numneigh; - int iswap; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; int neighflag,newton_pair; diff --git a/src/KOKKOS/pair_hybrid_kokkos.cpp b/src/KOKKOS/pair_hybrid_kokkos.cpp index eabce17a1c..84d43bcec8 100644 --- a/src/KOKKOS/pair_hybrid_kokkos.cpp +++ b/src/KOKKOS/pair_hybrid_kokkos.cpp @@ -14,14 +14,10 @@ ------------------------------------------------------------------------- */ #include "pair_hybrid_kokkos.h" -#include + #include "atom_kokkos.h" #include "force.h" -#include "pair.h" -#include "neighbor.h" -#include "neigh_request.h" #include "update.h" -#include "memory_kokkos.h" #include "respa.h" #include "atom_masks.h" #include "kokkos.h" diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index 87324b49b9..c4bd603041 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -952,6 +952,8 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, std::enable_if_t<(NEIGHFLAG&P static int atoms_per_team = 0; #if defined(LMP_KOKKOS_GPU) + static int teamsize_max_for = 0; + static int teamsize_max_reduce = 0; static int lastcall = -1; if (!vectorsize || lastcall < fpair->lmp->neighbor->lastcall) { lastcall = fpair->lmp->update->ntimestep; @@ -966,7 +968,6 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, std::enable_if_t<(NEIGHFLAG&P vectorsize = MIN(vectorsize,max_vectorsize); - int teamsize_max_for,teamsize_max_reduce; if (fpair->atom->ntypes > MAX_TYPES_STACKPARAMS) { PairComputeFunctor ff(fpair,list); GetMaxTeamSize(ff, inum, teamsize_max_for, teamsize_max_reduce); @@ -974,12 +975,12 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, std::enable_if_t<(NEIGHFLAG&P PairComputeFunctor ff(fpair,list); GetMaxTeamSize(ff, inum, teamsize_max_for, teamsize_max_reduce); } - - int teamsize_max = teamsize_max_for; - if (fpair->eflag || fpair->vflag) - teamsize_max = teamsize_max_reduce; - atoms_per_team = teamsize_max/vectorsize; } + + int teamsize_max = teamsize_max_for; + if (fpair->eflag || fpair->vflag) + teamsize_max = teamsize_max_reduce; + atoms_per_team = teamsize_max/vectorsize; #else vectorsize = 1; atoms_per_team = 1; @@ -1020,7 +1021,7 @@ template EV_FLOAT pair_compute (PairStyle* fpair, NeighListKokkos* list) { EV_FLOAT ev; if (fpair->neighflag == FULL) { - if (utils::strmatch(fpair->lmp->force->pair_style,"^hybrid/overlay")) { + if (utils::strmatch(fpair->lmp->force->pair_style,"^hybrid")) { fpair->fuse_force_clear_flag = 0; ev = pair_compute_neighlist (fpair,list); } else { diff --git a/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp b/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp index 7c61c684e4..626f05106c 100644 --- a/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp +++ b/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp @@ -20,14 +20,12 @@ #include "force.h" #include "kokkos.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" #include "respa.h" #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp b/src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp index 628cb29b0e..0e415819c6 100644 --- a/src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp +++ b/src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp @@ -21,6 +21,7 @@ #include "atom_kokkos.h" #include "atom_masks.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "kokkos.h" #include "math_const.h" @@ -35,15 +36,9 @@ #include using namespace LAMMPS_NS; +using namespace EwaldConst; using MathConst::MY_PIS; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - /* ---------------------------------------------------------------------- */ template diff --git a/src/KOKKOS/pair_lj_cut_kokkos.cpp b/src/KOKKOS/pair_lj_cut_kokkos.cpp index 9a1ced9da3..566d74088c 100644 --- a/src/KOKKOS/pair_lj_cut_kokkos.cpp +++ b/src/KOKKOS/pair_lj_cut_kokkos.cpp @@ -20,14 +20,11 @@ #include "force.h" #include "kokkos.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" #include "respa.h" #include "update.h" -#include - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/pair_meam_kokkos.cpp b/src/KOKKOS/pair_meam_kokkos.cpp index 4361a387ba..9082c410e0 100644 --- a/src/KOKKOS/pair_meam_kokkos.cpp +++ b/src/KOKKOS/pair_meam_kokkos.cpp @@ -338,11 +338,10 @@ void PairMEAMKokkos::init_style() /* ---------------------------------------------------------------------- */ template -int PairMEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, int iswap_in, DAT::tdual_xfloat_1d &buf, +int PairMEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_1d &buf, int /*pbc_flag*/, int * /*pbc*/) { d_sendlist = k_sendlist.view(); - iswap = iswap_in; v_buf = buf.view(); Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); return n*comm_forward; @@ -353,7 +352,7 @@ int PairMEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2 template KOKKOS_INLINE_FUNCTION void PairMEAMKokkos::operator()(TagPairMEAMPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); int m = i*comm_forward; v_buf[m++] = d_rho0[j]; v_buf[m++] = d_rho1[j]; @@ -782,10 +781,9 @@ int PairMEAMKokkos::pack_reverse_comm(int n, int first, double *buf) /* ---------------------------------------------------------------------- */ template -void PairMEAMKokkos::unpack_reverse_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, int iswap_in, DAT::tdual_xfloat_1d &buf) +void PairMEAMKokkos::unpack_reverse_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_1d &buf) { d_sendlist = k_sendlist.view(); - iswap = iswap_in; v_buf = buf.view(); Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); } @@ -795,7 +793,7 @@ void PairMEAMKokkos::unpack_reverse_comm_kokkos(int n, DAT::tdual_in template KOKKOS_INLINE_FUNCTION void PairMEAMKokkos::operator()(TagPairMEAMUnpackReverseComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); //int m = i*30; int m = i*comm_reverse; diff --git a/src/KOKKOS/pair_meam_kokkos.h b/src/KOKKOS/pair_meam_kokkos.h index 0d0d7667f3..82f48aa997 100644 --- a/src/KOKKOS/pair_meam_kokkos.h +++ b/src/KOKKOS/pair_meam_kokkos.h @@ -13,9 +13,6 @@ #ifdef PAIR_CLASS // clang-format off -PairStyle(meam/c/kk,PairMEAMKokkos); -PairStyle(meam/c/kk/device,PairMEAMKokkos); -PairStyle(meam/c/kk/host,PairMEAMKokkos); PairStyle(meam/kk,PairMEAMKokkos); PairStyle(meam/kk/device,PairMEAMKokkos); PairStyle(meam/kk/host,PairMEAMKokkos); @@ -76,15 +73,15 @@ class PairMEAMKokkos : public PairMEAM, public KokkosBase { KOKKOS_INLINE_FUNCTION void operator()(TagPairMEAMOffsets, const int, int&) const; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; int pack_forward_comm(int, int *, double *, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; void unpack_forward_comm(int, int, double *) override; int pack_reverse_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_reverse_comm(int, int, double *) override; - void unpack_reverse_comm_kokkos(int, DAT::tdual_int_2d, - int, DAT::tdual_xfloat_1d&) override; + void unpack_reverse_comm_kokkos(int, DAT::tdual_int_1d, + DAT::tdual_xfloat_1d&) override; void unpack_reverse_comm(int, int *, double *) override; protected: @@ -108,10 +105,10 @@ class PairMEAMKokkos : public PairMEAM, public KokkosBase { typename AT::t_neighbors_2d d_neighbors_half; typename AT::t_int_1d d_numneigh_full; typename AT::t_neighbors_2d d_neighbors_full; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; - int iswap,first; + int first; int neighflag,nlocal,nall,eflag,vflag; typename ArrayTypes::t_ffloat_1d d_rho, d_rho0, d_rho1, d_rho2, d_rho3, d_frhop; diff --git a/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp b/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp index 41fcac126d..2a20c9e013 100644 --- a/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp +++ b/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp @@ -646,12 +646,11 @@ void PairMultiLucyRXKokkos::getMixingWeights(int id, double &mixWtSi /* ---------------------------------------------------------------------- */ template -int PairMultiLucyRXKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, int iswap_in, DAT::tdual_xfloat_1d &buf, int /*pbc_flag*/, int * /*pbc*/) +int PairMultiLucyRXKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_1d &buf, int /*pbc_flag*/, int * /*pbc*/) { atomKK->sync(execution_space,DPDRHO_MASK); d_sendlist = k_sendlist.view(); - iswap = iswap_in; v_buf = buf.view(); Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); return n; @@ -660,7 +659,7 @@ int PairMultiLucyRXKokkos::pack_forward_comm_kokkos(int n, DAT::tdua template KOKKOS_INLINE_FUNCTION void PairMultiLucyRXKokkos::operator()(TagPairMultiLucyRXPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); v_buf[i] = rho[j]; } diff --git a/src/KOKKOS/pair_multi_lucy_rx_kokkos.h b/src/KOKKOS/pair_multi_lucy_rx_kokkos.h index c335ed526f..753012e0c7 100644 --- a/src/KOKKOS/pair_multi_lucy_rx_kokkos.h +++ b/src/KOKKOS/pair_multi_lucy_rx_kokkos.h @@ -61,7 +61,7 @@ class PairMultiLucyRXKokkos : public PairMultiLucyRX, public KokkosBase { void compute_style(int, int); void init_style() override; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -181,9 +181,8 @@ class PairMultiLucyRXKokkos : public PairMultiLucyRX, public KokkosBase { typename AT::tdual_ffloat_2d k_cutsq; typename AT::t_ffloat_2d d_cutsq; - int iswap; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; friend void pair_virial_fdotr_compute(PairMultiLucyRXKokkos*); diff --git a/src/KOKKOS/third_order_kokkos.cpp b/src/KOKKOS/third_order_kokkos.cpp index 04c467777f..569a94a773 100644 --- a/src/KOKKOS/third_order_kokkos.cpp +++ b/src/KOKKOS/third_order_kokkos.cpp @@ -23,27 +23,18 @@ #include "atom_masks.h" #include "bond.h" #include "comm.h" -#include "compute.h" #include "dihedral.h" #include "domain.h" -#include "error.h" -#include "finish.h" #include "force.h" -#include "group.h" #include "improper.h" #include "kokkos.h" #include "kspace.h" -#include "memory.h" #include "modify.h" #include "neighbor.h" #include "pair.h" #include "timer.h" #include "update.h" -#include -#include -#include - using namespace LAMMPS_NS; enum{REGULAR,ESKM}; diff --git a/src/KOKKOS/verlet_kokkos.cpp b/src/KOKKOS/verlet_kokkos.cpp index 7570f1d8fa..858df5df6c 100644 --- a/src/KOKKOS/verlet_kokkos.cpp +++ b/src/KOKKOS/verlet_kokkos.cpp @@ -29,7 +29,6 @@ #include "update.h" #include "modify_kokkos.h" #include "timer.h" -#include "memory_kokkos.h" #include "kokkos.h" using namespace LAMMPS_NS; diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 2616282973..4fe5075f44 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -24,14 +24,12 @@ #include "angle.h" #include "atom.h" #include "bond.h" -#include "comm.h" #include "domain.h" #include "error.h" #include "fft3d_wrap.h" #include "force.h" #include "grid3d.h" #include "math_const.h" -#include "math_extra.h" #include "math_special.h" #include "memory.h" #include "neighbor.h" diff --git a/src/KSPACE/pppm_cg.cpp b/src/KSPACE/pppm_cg.cpp index e5ae0b05c8..cebf9e0000 100644 --- a/src/KSPACE/pppm_cg.cpp +++ b/src/KSPACE/pppm_cg.cpp @@ -26,7 +26,6 @@ #include "math_const.h" #include "memory.h" #include "neighbor.h" -#include "remap.h" #include #include diff --git a/src/LEPTON/angle_lepton.cpp b/src/LEPTON/angle_lepton.cpp index 9fe565f8ee..6efded950f 100644 --- a/src/LEPTON/angle_lepton.cpp +++ b/src/LEPTON/angle_lepton.cpp @@ -27,6 +27,8 @@ #include "neighbor.h" #include +#include +#include #include "Lepton.h" #include "lepton_utils.h" diff --git a/src/LEPTON/bond_lepton.cpp b/src/LEPTON/bond_lepton.cpp index 8679d0ed62..63c66011a1 100644 --- a/src/LEPTON/bond_lepton.cpp +++ b/src/LEPTON/bond_lepton.cpp @@ -25,6 +25,8 @@ #include "neighbor.h" #include +#include +#include #include "Lepton.h" #include "lepton_utils.h" diff --git a/src/LEPTON/dihedral_lepton.cpp b/src/LEPTON/dihedral_lepton.cpp index 069ff13d74..16975a8f52 100644 --- a/src/LEPTON/dihedral_lepton.cpp +++ b/src/LEPTON/dihedral_lepton.cpp @@ -29,6 +29,7 @@ #include "neighbor.h" #include +#include #include "Lepton.h" #include "lepton_utils.h" diff --git a/src/LEPTON/fix_wall_lepton.cpp b/src/LEPTON/fix_wall_lepton.cpp index 7530188c00..320efb090e 100644 --- a/src/LEPTON/fix_wall_lepton.cpp +++ b/src/LEPTON/fix_wall_lepton.cpp @@ -19,6 +19,8 @@ #include "Lepton.h" #include "lepton_utils.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/LEPTON/lepton_utils.cpp b/src/LEPTON/lepton_utils.cpp index 89e69beddd..c4e527d7d7 100644 --- a/src/LEPTON/lepton_utils.cpp +++ b/src/LEPTON/lepton_utils.cpp @@ -17,7 +17,6 @@ #include "lepton_utils.h" -#include "error.h" #include "input.h" #include "lammps.h" #include "pair_zbl_const.h" diff --git a/src/LEPTON/pair_lepton.cpp b/src/LEPTON/pair_lepton.cpp index adc07cbfa8..90003e9091 100644 --- a/src/LEPTON/pair_lepton.cpp +++ b/src/LEPTON/pair_lepton.cpp @@ -23,12 +23,12 @@ #include "force.h" #include "memory.h" #include "neigh_list.h" -#include "update.h" #include "Lepton.h" #include "lepton_utils.h" -#include + #include +#include #include using namespace LAMMPS_NS; diff --git a/src/LEPTON/pair_lepton_coul.cpp b/src/LEPTON/pair_lepton_coul.cpp index f7d2042874..bb6b8ed55f 100644 --- a/src/LEPTON/pair_lepton_coul.cpp +++ b/src/LEPTON/pair_lepton_coul.cpp @@ -21,16 +21,16 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "memory.h" #include "neigh_list.h" #include "neighbor.h" -#include "update.h" #include "Lepton.h" #include "lepton_utils.h" #include #include +#include +#include using namespace LAMMPS_NS; diff --git a/src/LEPTON/pair_lepton_sphere.cpp b/src/LEPTON/pair_lepton_sphere.cpp index 72d0e85d0b..63b082774f 100644 --- a/src/LEPTON/pair_lepton_sphere.cpp +++ b/src/LEPTON/pair_lepton_sphere.cpp @@ -21,15 +21,15 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "memory.h" #include "neigh_list.h" #include "neighbor.h" -#include "update.h" #include "Lepton.h" #include "lepton_utils.h" + #include #include +#include using namespace LAMMPS_NS; diff --git a/src/MACHDYN/atom_vec_smd.cpp b/src/MACHDYN/atom_vec_smd.cpp index 760dd963eb..820527503c 100644 --- a/src/MACHDYN/atom_vec_smd.cpp +++ b/src/MACHDYN/atom_vec_smd.cpp @@ -25,6 +25,8 @@ #include "atom_vec_smd.h" #include "atom.h" +#include "domain.h" +#include "memory.h" #include @@ -57,6 +59,8 @@ AtomVecSMD::AtomVecSMD(LAMMPS *lmp) : AtomVec(lmp) atom->damage_flag = 1; atom->eff_plastic_strain_rate_flag = 1; + x0_hold = nullptr; + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -156,6 +160,13 @@ void AtomVecSMD::create_atom_post(int ilocal) void AtomVecSMD::data_atom_post(int ilocal) { esph[ilocal] = 0.0; + + // x and x0 are in Atoms section of data file + // reset x0 b/c x may have been modified in Atom::data_atoms() + // for PBC, shift, etc + // this means no need for read_data_general_to_restricted() method + // to rotate x0 for general triclinic + x0[ilocal][0] = x[ilocal][0]; x0[ilocal][1] = x[ilocal][1]; x0[ilocal][2] = x[ilocal][2]; @@ -177,3 +188,40 @@ void AtomVecSMD::data_atom_post(int ilocal) smd_data_9[ilocal][4] = 1.0; // yy smd_data_9[ilocal][8] = 1.0; // zz } + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on original coords x0 +------------------------------------------------------------------------- */ + +void AtomVecSMD::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + int nlocal = atom->nlocal; + memory->create(x0_hold,nlocal,3,"atomvec:x0_hold"); + if (nlocal) memcpy(&x0_hold[0][0],&x0[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_coords(x0[i]); + +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on original coords x0 +------------------------------------------------------------------------- */ + +void AtomVecSMD::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + if (!x0_hold) return; + + int nlocal = atom->nlocal; + memcpy(&x0[0][0],&x0_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(x0_hold); + x0_hold = nullptr; +} diff --git a/src/MACHDYN/atom_vec_smd.h b/src/MACHDYN/atom_vec_smd.h index 6ca7f08b4d..47117c0b90 100644 --- a/src/MACHDYN/atom_vec_smd.h +++ b/src/MACHDYN/atom_vec_smd.h @@ -43,12 +43,16 @@ class AtomVecSMD : virtual public AtomVec { void force_clear(int, size_t) override; void create_atom_post(int) override; void data_atom_post(int) override; + void write_data_restricted_to_general() override; + void write_data_restore_restricted() override; private: tagint *molecule; double *esph, *desph, *vfrac, *rmass, *radius, *contact_radius; double *eff_plastic_strain, *eff_plastic_strain_rate, *damage; double **x0, **smd_data_9, **smd_stress, **vest; + + double **x0_hold; }; } // namespace LAMMPS_NS diff --git a/src/MACHDYN/fix_smd_wall_surface.cpp b/src/MACHDYN/fix_smd_wall_surface.cpp index f8a8ef970c..25e76e1dab 100644 --- a/src/MACHDYN/fix_smd_wall_surface.cpp +++ b/src/MACHDYN/fix_smd_wall_surface.cpp @@ -26,6 +26,7 @@ #include "text_file_reader.h" #include +#include #include using namespace LAMMPS_NS; diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp index 13d2b97433..41c8faf752 100644 --- a/src/MANYBODY/pair_airebo.cpp +++ b/src/MANYBODY/pair_airebo.cpp @@ -44,6 +44,8 @@ using namespace MathSpecial; static constexpr double TOL = 1.0e-9; static constexpr int PGDELTA = 1; +static const char *style[3] = {"airebo", "rebo", "airebo/morse"}; + /* ---------------------------------------------------------------------- */ PairAIREBO::PairAIREBO(LAMMPS *lmp) @@ -150,7 +152,7 @@ void PairAIREBO::allocate() void PairAIREBO::settings(int narg, char **arg) { if (narg != 1 && narg != 3 && narg != 4) - error->all(FLERR,"Illegal pair_style command"); + error->all(FLERR,"Illegal pair_style {} command", style[variant]); cutlj = utils::numeric(FLERR,arg[0],false,lmp); @@ -175,12 +177,7 @@ void PairAIREBO::coeff(int narg, char **arg) if (!allocated) allocate(); if (narg != 3 + atom->ntypes) - error->all(FLERR,"Incorrect args for pair coefficients"); - - // ensure I,J args are * * - - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); + error->all(FLERR,"Incorrect number of args for pair coefficient."); // read args that map atom types to C and H // map[i] = which element (0,1) the Ith atom type is, -1 if "NULL" @@ -193,7 +190,7 @@ void PairAIREBO::coeff(int narg, char **arg) map[i-2] = 0; } else if (strcmp(arg[i],"H") == 0) { map[i-2] = 1; - } else error->all(FLERR,"Incorrect args for pair coefficients"); + } else error->all(FLERR,"Element {} not supported by pair style {}", arg[i], style[variant]); } // read potential file and initialize fitting splines @@ -228,13 +225,13 @@ void PairAIREBO::coeff(int narg, char **arg) void PairAIREBO::init_style() { if (atom->tag_enable == 0) - error->all(FLERR,"Pair style AIREBO requires atom IDs"); + error->all(FLERR,"Pair style {} requires atom IDs", style[variant]); if (force->newton_pair == 0) - error->all(FLERR,"Pair style AIREBO requires newton pair on"); + error->all(FLERR,"Pair style {} requires newton pair on", style[variant]); // need a full neighbor list, including neighbors of ghosts - neighbor->add_request(this,NeighConst::REQ_FULL|NeighConst::REQ_GHOST); + neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_GHOST); // local REBO neighbor list // create pages if first time or if neighbor pgsize/oneatom has changed diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp index 669a5cadbb..e4a0155ab9 100644 --- a/src/MANYBODY/pair_eam.cpp +++ b/src/MANYBODY/pair_eam.cpp @@ -148,6 +148,8 @@ void PairEAM::compute(int eflag, int vflag) evdwl = 0.0; ev_init(eflag,vflag); + int beyond_rhomax = 0; + // grow energy and fp arrays if necessary // need to be atom->nmax in length @@ -237,7 +239,10 @@ void PairEAM::compute(int eflag, int vflag) fp[i] = (coeff[0]*p + coeff[1])*p + coeff[2]; if (eflag) { phi = ((coeff[3]*p + coeff[4])*p + coeff[5])*p + coeff[6]; - if (rho[i] > rhomax) phi += fp[i] * (rho[i]-rhomax); + if (rho[i] > rhomax) { + phi += fp[i] * (rho[i]-rhomax); + beyond_rhomax = 1; + } phi *= scale[type[i]][type[i]]; if (eflag_global) eng_vdwl += phi; if (eflag_atom) eatom[i] += phi; @@ -322,6 +327,16 @@ void PairEAM::compute(int eflag, int vflag) } } + if (eflag && (!exceeded_rhomax)) { + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); + if (exceeded_rhomax) { + if (comm->me == 0) + error->warning(FLERR, + "A per-atom density exceeded rhomax of EAM potential table - " + "a linear extrapolation to the energy was made"); + } + } + if (vflag_fdotr) virial_fdotr_compute(); } @@ -424,6 +439,8 @@ void PairEAM::init_style() neighbor->add_request(this); embedstep = -1; + + exceeded_rhomax = 0; } /* ---------------------------------------------------------------------- diff --git a/src/MANYBODY/pair_eam.h b/src/MANYBODY/pair_eam.h index 67bbde570d..24221a07ce 100644 --- a/src/MANYBODY/pair_eam.h +++ b/src/MANYBODY/pair_eam.h @@ -68,6 +68,9 @@ class PairEAM : public Pair { double **scale; bigint embedstep; // timestep, the embedding term was computed + int exceeded_rhomax; // global flag for whether rho[i] has exceeded rhomax + // on a step energy is computed - 0 = no, 1 = yes + // per-atom arrays double *rho, *fp; diff --git a/src/MANYBODY/pair_meam_spline.cpp b/src/MANYBODY/pair_meam_spline.cpp index e888e2274c..e3d17f6fae 100644 --- a/src/MANYBODY/pair_meam_spline.cpp +++ b/src/MANYBODY/pair_meam_spline.cpp @@ -46,6 +46,7 @@ #include #include +#include using namespace LAMMPS_NS; diff --git a/src/MANYBODY/pair_meam_sw_spline.cpp b/src/MANYBODY/pair_meam_sw_spline.cpp index 5b5713dc4c..a19e1cc0fa 100644 --- a/src/MANYBODY/pair_meam_sw_spline.cpp +++ b/src/MANYBODY/pair_meam_sw_spline.cpp @@ -33,6 +33,7 @@ #include #include +#include using namespace LAMMPS_NS; diff --git a/src/MANYBODY/pair_rebomos.cpp b/src/MANYBODY/pair_rebomos.cpp new file mode 100644 index 0000000000..0941ca0a3a --- /dev/null +++ b/src/MANYBODY/pair_rebomos.cpp @@ -0,0 +1,1123 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS Development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + References: + + This code: + Stewart J A and Spearot D E (2013) Atomistic simulations of nanoindentation on the basal plane of crystalline molybdenum disulfide. Modelling Simul. Mater. Sci. Eng. 21. + + Based on: + Liang T, Phillpot S R and Sinnott S B (2009) Parameterization of a reactive many-body potential for Mo2S systems. Phys. Rev. B79 245110. + Liang T, Phillpot S R and Sinnott S B (2012) Erratum: Parameterization of a reactive many-body potential for Mo-S systems. (Phys. Rev. B79 245110 (2009)) Phys. Rev. B85 199903(E). + + LAMMPS file contributing authors: James Stewart, Khanh Dang and Douglas Spearot (University of Arkansas) +------------------------------------------------------------------------- */ + +// clang-format on + +#include "pair_rebomos.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "math_special.h" +#include "memory.h" +#include "my_page.h" +#include "neigh_list.h" +#include "neighbor.h" +#include "potential_file_reader.h" +#include "text_file_reader.h" + +#include +#include + +using namespace LAMMPS_NS; +using MathSpecial::cube; +using MathSpecial::powint; +using MathSpecial::square; + +static constexpr double TOL = 1.0e-9; +static constexpr int PGDELTA = 1; + +/* ---------------------------------------------------------------------- */ + +PairREBOMoS::PairREBOMoS(LAMMPS *lmp) : + Pair(lmp), lj1(nullptr), lj2(nullptr), lj3(nullptr), lj4(nullptr), ipage(nullptr), + REBO_numneigh(nullptr), REBO_firstneigh(nullptr), nM(nullptr), nS(nullptr) +{ + single_enable = 0; + restartinfo = 0; + one_coeff = 1; + ghostneigh = 1; + manybody_flag = 1; + centroidstressflag = CENTROID_NOTAVAIL; + + cut3rebo = 0.0; + maxlocal = 0; + pgsize = oneatom = 0; +} + +// clang-format off + +/* ---------------------------------------------------------------------- + Check if allocated, since class can be destructed when incomplete +------------------------------------------------------------------------- */ + +PairREBOMoS::~PairREBOMoS() +{ + memory->destroy(REBO_numneigh); + memory->sfree(REBO_firstneigh); + delete[] ipage; + memory->destroy(nM); + memory->destroy(nS); + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + memory->destroy(cutghost); + + memory->destroy(lj1); + memory->destroy(lj2); + memory->destroy(lj3); + memory->destroy(lj4); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairREBOMoS::compute(int eflag, int vflag) +{ + ev_init(eflag,vflag); + + REBO_neigh(); + FREBO(eflag); + FLJ(eflag); + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairREBOMoS::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(cutghost,n+1,n+1,"pair:cutghost"); + + // only sized by M,S = 2 types + + memory->create(lj1,2,2,"pair:lj1"); + memory->create(lj2,2,2,"pair:lj2"); + memory->create(lj3,2,2,"pair:lj3"); + memory->create(lj4,2,2,"pair:lj4"); + + map = new int[n+1]; +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairREBOMoS::settings(int narg, char ** /* arg */) +{ + if (narg != 0) error->all(FLERR,"Illegal pair_style command"); +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairREBOMoS::coeff(int narg, char **arg) +{ + if (!allocated) allocate(); + + if (narg != 3 + atom->ntypes) + error->all(FLERR,"Incorrect args for pair coefficients"); + + // insure I,J args are * * + + if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) + error->all(FLERR,"Incorrect args for pair coefficients"); + + // read args that map atom types to Mo and S + // map[i] = which element (0,1) the Ith atom type is, -1 if NULL + + for (int i = 3; i < narg; i++) { + if (strcmp(arg[i],"NULL") == 0) { + map[i-2] = -1; + continue; + } else if (strcmp(arg[i],"Mo") == 0) { + map[i-2] = 0; + } else if (strcmp(arg[i],"M") == 0) { // backward compatibility + map[i-2] = 0; + } else if (strcmp(arg[i],"S") == 0) { + map[i-2] = 1; + } else error->all(FLERR,"Incorrect args for pair coefficients"); + } + + // read potential file and initialize fitting splines + + read_file(arg[2]); + + // clear setflag since coeff() called once with I,J = * * + + int n = atom->ntypes; + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + // set setflag i,j for type pairs where both are mapped to elements + + int count = 0; + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + if (map[i] >= 0 && map[j] >= 0) { + setflag[i][j] = 1; + count++; + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairREBOMoS::init_style() +{ + if (atom->tag_enable == 0) + error->all(FLERR,"Pair style REBOMoS requires atom IDs"); + if (force->newton_pair == 0) + error->all(FLERR,"Pair style REBOMoS requires newton pair on"); + + // need a full neighbor list, including neighbors of ghosts + + neighbor->add_request(this,NeighConst::REQ_FULL|NeighConst::REQ_GHOST); + + // local REBO neighbor list + // create pages if first time or if neighbor pgsize/oneatom has changed + + int create = 0; + if (ipage == nullptr) create = 1; + if (pgsize != neighbor->pgsize) create = 1; + if (oneatom != neighbor->oneatom) create = 1; + + if (create) { + delete[] ipage; + pgsize = neighbor->pgsize; + oneatom = neighbor->oneatom; + + int nmypage= comm->nthreads; + ipage = new MyPage[nmypage]; + for (int i = 0; i < nmypage; i++) + ipage[i].init(oneatom,pgsize,PGDELTA); + } +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairREBOMoS::init_one(int i, int j) +{ + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + // convert to Mo,S types + + int ii = map[i]; + int jj = map[j]; + + // use Mo-Mo values for these cutoffs since M atoms are biggest + + // cut3rebo = 3 REBO distances + + cut3rebo = 3.0 * rcmax[0][0]; + + // cutghost = REBO cutoff used in REBO_neigh() for neighbors of ghosts + + cutghost[i][j] = rcmax[ii][jj]; + lj1[ii][jj] = 48.0 * epsilon[ii][jj] * powint(sigma[ii][jj],12); + lj2[ii][jj] = 24.0 * epsilon[ii][jj] * powint(sigma[ii][jj],6); + lj3[ii][jj] = 4.0 * epsilon[ii][jj] * powint(sigma[ii][jj],12); + lj4[ii][jj] = 4.0 * epsilon[ii][jj] * powint(sigma[ii][jj],6); + + cutghost[j][i] = cutghost[i][j]; + lj1[jj][ii] = lj1[ii][jj]; + lj2[jj][ii] = lj2[ii][jj]; + lj3[jj][ii] = lj3[ii][jj]; + lj4[jj][ii] = lj4[ii][jj]; + + return cut3rebo; +} + +/* ---------------------------------------------------------------------- + create REBO neighbor list from main neighbor list + REBO neighbor list stores neighbors of ghost atoms +------------------------------------------------------------------------- */ + +void PairREBOMoS::REBO_neigh() +{ + int i,j,ii,jj,n,allnum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq,dS; + int *ilist,*jlist,*numneigh,**firstneigh; + int *neighptr; + + double **x = atom->x; + int *type = atom->type; + + if (atom->nmax > maxlocal) { + maxlocal = atom->nmax; + memory->destroy(REBO_numneigh); + memory->sfree(REBO_firstneigh); + memory->destroy(nM); + memory->destroy(nS); + memory->create(REBO_numneigh,maxlocal,"REBOMoS:numneigh"); + REBO_firstneigh = (int **) memory->smalloc(maxlocal*sizeof(int *), + "REBOMoS:firstneigh"); + memory->create(nM,maxlocal,"REBOMoS:nM"); + memory->create(nS,maxlocal,"REBOMoS:nS"); + } + + allnum = list->inum + list->gnum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // store all REBO neighs of owned and ghost atoms + // scan full neighbor list of I + + ipage->reset(); + + for (ii = 0; ii < allnum; ii++) { + i = ilist[ii]; + + n = 0; + neighptr = ipage->vget(); + + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = map[type[i]]; + nM[i] = nS[i] = 0.0; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtype = map[type[j]]; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq < rcmaxsq[itype][jtype]) { + neighptr[n++] = j; + if (jtype == 0) + nM[i] += Sp(sqrt(rsq),rcmin[itype][jtype],rcmax[itype][jtype],dS); + else + nS[i] += Sp(sqrt(rsq),rcmin[itype][jtype],rcmax[itype][jtype],dS); + } + } + + REBO_firstneigh[i] = neighptr; + REBO_numneigh[i] = n; + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } +} + +/* ---------------------------------------------------------------------- + REBO forces and energy +------------------------------------------------------------------------- */ + +void PairREBOMoS::FREBO(int eflag) +{ + int i,j,k,ii,inum,itype,jtype; + tagint itag, jtag; + double delx,dely,delz,evdwl,fpair,xtmp,ytmp,ztmp; + double rsq,rij,wij; + double Qij,Aij,alphaij,VR,pre,dVRdi,VA,bij,dVAdi,dVA; + double dwij,del[3]; + int *ilist,*REBO_neighs; + + evdwl = 0.0; + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + tagint *tag = atom->tag; + int nlocal = atom->nlocal; + + inum = list->inum; + ilist = list->ilist; + + // two-body interactions from REBO neighbor list, skip half of them + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + itag = tag[i]; + itype = map[type[i]]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + REBO_neighs = REBO_firstneigh[i]; + + for (k = 0; k < REBO_numneigh[i]; k++) { + j = REBO_neighs[k]; + jtag = tag[j]; + + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp && x[j][1] < ytmp) continue; + if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + + jtype = map[type[j]]; + + delx = x[i][0] - x[j][0]; + dely = x[i][1] - x[j][1]; + delz = x[i][2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + rij = sqrt(rsq); + wij = Sp(rij,rcmin[itype][jtype],rcmax[itype][jtype],dwij); + if (wij <= TOL) continue; + + Qij = Q[itype][jtype]; + Aij = A[itype][jtype]; + alphaij = alpha[itype][jtype]; + + VR = wij*(1.0+(Qij/rij)) * Aij*exp(-alphaij*rij); + pre = wij*Aij * exp(-alphaij*rij); + dVRdi = pre * ((-alphaij)-(Qij/rsq)-(Qij*alphaij/rij)); + dVRdi += VR/wij * dwij; + + VA = dVA = 0.0; + VA = -wij * BIJc[itype][jtype] * exp(-Beta[itype][jtype]*rij); + + dVA = -Beta[itype][jtype] * VA; + dVA += VA/wij * dwij; + + del[0] = delx; + del[1] = dely; + del[2] = delz; + bij = bondorder(i,j,del,rij,VA,f); + dVAdi = bij*dVA; + + fpair = -(dVRdi+dVAdi) / rij; + f[i][0] += delx*fpair; + f[i][1] += dely*fpair; + f[i][2] += delz*fpair; + f[j][0] -= delx*fpair; + f[j][1] -= dely*fpair; + f[j][2] -= delz*fpair; + + if (eflag) evdwl = VR + bij*VA; + if (evflag) ev_tally(i,j,nlocal,/*newton_pair*/1,evdwl,0.0,fpair,delx,dely,delz); + } + } +} + +/* ---------------------------------------------------------------------- + compute LJ forces and energy +------------------------------------------------------------------------- */ + +void PairREBOMoS::FLJ(int eflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + tagint itag,jtag; + double evdwl,fpair,xtmp,ytmp,ztmp; + double rij,delij[3],rijsq; + double VLJ,dVLJ; + double vdw,dvdw; + double r2inv,r6inv; + int *ilist,*jlist,*numneigh,**firstneigh; + double c2,c3,dr,drp,r6; + + // I-J interaction from full neighbor list + // skip 1/2 of interactions since only consider each pair once + + evdwl = 0.0; + + double **x = atom->x; + double **f = atom->f; + tagint *tag = atom->tag; + int *type = atom->type; + int nlocal = atom->nlocal; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + itag = tag[i]; + itype = map[type[i]]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtag = tag[j]; + + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp && x[j][1] < ytmp) continue; + if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + jtype = map[type[j]]; + + delij[0] = xtmp - x[j][0]; + delij[1] = ytmp - x[j][1]; + delij[2] = ztmp - x[j][2]; + rijsq = delij[0]*delij[0] + delij[1]*delij[1] + delij[2]*delij[2]; + rij = sqrt(rijsq); + + // compute LJ forces and energy + + // Outside Rmax + if (rij > rcLJmax[itype][jtype] || rij < rcLJmin[itype][jtype]){ + VLJ = 0; + dVLJ = 0; + } + + // Inside Rmax and above 0.95*sigma + else if (rij <= rcLJmax[itype][jtype] && rij >= 0.95*sigma[itype][jtype]){ + r2inv = 1.0/rijsq; + r6inv = r2inv*r2inv*r2inv; + VLJ = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]); + dVLJ = -r6inv*(lj1[itype][jtype]*r6inv - lj2[itype][jtype])/rij; + } + + // Below 0.95*sigma + else if (rij < 0.95*sigma[itype][jtype] && rij >= rcLJmin[itype][jtype]){ + dr = 0.95*sigma[itype][jtype] - rcLJmin[itype][jtype]; + r6 = powint((sigma[itype][jtype]/(0.95*sigma[itype][jtype])),6); + vdw = 4*epsilon[itype][jtype]*r6*(r6 - 1.0); + dvdw = (-4*epsilon[itype][jtype]/(0.95*sigma[itype][jtype]))*r6*(12.0*r6 - 6.0); + c2 = ((3.0/dr)*vdw - dvdw)/dr; + c3 = (vdw/(dr*dr) - c2)/dr; + + drp = rij - rcLJmin[itype][jtype]; + VLJ = drp*drp*(drp*c3 + c2); + dVLJ = drp*(3.0*drp*c3 + 2.0*c2); + } + + fpair = -dVLJ/rij; + f[i][0] += delij[0]*fpair; + f[i][1] += delij[1]*fpair; + f[i][2] += delij[2]*fpair; + f[j][0] -= delij[0]*fpair; + f[j][1] -= delij[1]*fpair; + f[j][2] -= delij[2]*fpair; + + if (eflag) evdwl = VLJ; + if (evflag) ev_tally(i,j,nlocal,/*newton_pair*/1,evdwl,0.0,fpair,delij[0],delij[1],delij[2]); + + } + } +} + +/* ---------------------------------------------------------------------- + Bij function + + The bond order term modified the attractive portion of the REBO + potential based on the number of atoms around a specific pair + and the bond angle between sets of three atoms. + + The functions G(cos(theta)) and P(N) are evaluated and their + derivatives are also computed for use in the force calculation. +------------------------------------------------------------------------- */ + +double PairREBOMoS::bondorder(int i, int j, double rij[3], double rijmag, double VA, double **f) +{ + int atomi,atomj,atomk,atoml; + int k,l; + int itype, jtype, ktype, ltype; + double rik[3], rjl[3], rji[3], rki[3],rlj[3], dwjl, bij; + double NijM,NijS,NjiM,NjiS,wik,dwik,wjl; + double rikmag,rjlmag,cosjik,cosijl,g,tmp2; + double Etmp,pij,tmp,dwij,dS; + double dgdc,pji; + double dcosjikdri[3],dcosijldri[3],dcosjikdrk[3]; + double dp; + double dcosjikdrj[3],dcosijldrj[3],dcosijldrl[3]; + double fi[3],fj[3],fk[3],fl[3]; + double PijS, PjiS; + int *REBO_neighs; + + double **x = atom->x; + int *type = atom->type; + + atomi = i; + atomj = j; + itype = map[type[i]]; + jtype = map[type[j]]; + Sp(rijmag,rcmin[itype][jtype],rcmax[itype][jtype],dwij); + NijM = nM[i]; + NijS = nS[i]; + NjiM = nM[j]; + NjiS = nS[j]; + bij = 0.0; + tmp = 0.0; + tmp2 = 0.0; + dgdc = 0.0; + Etmp = 0.0; + + REBO_neighs = REBO_firstneigh[i]; + for (k = 0; k < REBO_numneigh[i]; k++) { + atomk = REBO_neighs[k]; + if (atomk != atomj) { + ktype = map[type[atomk]]; + rik[0] = x[atomi][0]-x[atomk][0]; + rik[1] = x[atomi][1]-x[atomk][1]; + rik[2] = x[atomi][2]-x[atomk][2]; + rikmag = sqrt((rik[0]*rik[0])+(rik[1]*rik[1])+(rik[2]*rik[2])); + wik = Sp(rikmag,rcmin[itype][ktype],rcmax[itype][ktype],dS); + cosjik = ((rij[0]*rik[0])+(rij[1]*rik[1])+(rij[2]*rik[2])) / (rijmag*rikmag); + cosjik = MIN(cosjik,1.0); + cosjik = MAX(cosjik,-1.0); + + // evaluate g and derivative dg + + g = gSpline(cosjik,itype,dgdc); + Etmp = Etmp+(wik*g); + } + } + + dp = 0.0; + PijS = PijSpline(NijM,NijS,itype,dp); + pij = 1.0/sqrt(1.0+Etmp+PijS); + tmp = -0.5*cube(pij); + + // derivative calculations + + REBO_neighs = REBO_firstneigh[i]; + for (k = 0; k < REBO_numneigh[i]; k++) { + atomk = REBO_neighs[k]; + if (atomk != atomj) { + ktype = map[type[atomk]]; + rik[0] = x[atomi][0]-x[atomk][0]; + rik[1] = x[atomi][1]-x[atomk][1]; + rik[2] = x[atomi][2]-x[atomk][2]; + rikmag = sqrt((rik[0]*rik[0])+(rik[1]*rik[1])+(rik[2]*rik[2])); + wik = Sp(rikmag,rcmin[itype][ktype],rcmax[itype][ktype],dwik); + cosjik = (rij[0]*rik[0] + rij[1]*rik[1] + rij[2]*rik[2]) / (rijmag*rikmag); + cosjik = MIN(cosjik,1.0); + cosjik = MAX(cosjik,-1.0); + + dcosjikdri[0] = ((rij[0]+rik[0])/(rijmag*rikmag)) - + (cosjik*((rij[0]/(rijmag*rijmag))+(rik[0]/(rikmag*rikmag)))); + dcosjikdri[1] = ((rij[1]+rik[1])/(rijmag*rikmag)) - + (cosjik*((rij[1]/(rijmag*rijmag))+(rik[1]/(rikmag*rikmag)))); + dcosjikdri[2] = ((rij[2]+rik[2])/(rijmag*rikmag)) - + (cosjik*((rij[2]/(rijmag*rijmag))+(rik[2]/(rikmag*rikmag)))); + dcosjikdrk[0] = (-rij[0]/(rijmag*rikmag)) + + (cosjik*(rik[0]/(rikmag*rikmag))); + dcosjikdrk[1] = (-rij[1]/(rijmag*rikmag)) + + (cosjik*(rik[1]/(rikmag*rikmag))); + dcosjikdrk[2] = (-rij[2]/(rijmag*rikmag)) + + (cosjik*(rik[2]/(rikmag*rikmag))); + dcosjikdrj[0] = (-rik[0]/(rijmag*rikmag)) + + (cosjik*(rij[0]/(rijmag*rijmag))); + dcosjikdrj[1] = (-rik[1]/(rijmag*rikmag)) + + (cosjik*(rij[1]/(rijmag*rijmag))); + dcosjikdrj[2] = (-rik[2]/(rijmag*rikmag)) + + (cosjik*(rij[2]/(rijmag*rijmag))); + + g = gSpline(cosjik,itype,dgdc); + tmp2 = VA*0.5*(tmp*wik*dgdc); + fj[0] = -tmp2*dcosjikdrj[0]; + fj[1] = -tmp2*dcosjikdrj[1]; + fj[2] = -tmp2*dcosjikdrj[2]; + fi[0] = -tmp2*dcosjikdri[0]; + fi[1] = -tmp2*dcosjikdri[1]; + fi[2] = -tmp2*dcosjikdri[2]; + fk[0] = -tmp2*dcosjikdrk[0]; + fk[1] = -tmp2*dcosjikdrk[1]; + fk[2] = -tmp2*dcosjikdrk[2]; + + // coordination forces + + // dwik forces (from partial derivative) + + tmp2 = VA*0.5*(tmp*dwik*g)/rikmag; + fi[0] -= tmp2*rik[0]; + fi[1] -= tmp2*rik[1]; + fi[2] -= tmp2*rik[2]; + fk[0] += tmp2*rik[0]; + fk[1] += tmp2*rik[1]; + fk[2] += tmp2*rik[2]; + + // PIJ forces (from coordination P(N) term) + + tmp2 = VA*0.5*(tmp*dp*dwik)/rikmag; + fi[0] -= tmp2*rik[0]; + fi[1] -= tmp2*rik[1]; + fi[2] -= tmp2*rik[2]; + fk[0] += tmp2*rik[0]; + fk[1] += tmp2*rik[1]; + fk[2] += tmp2*rik[2]; + + // dgdN forces are removed + + f[atomi][0] += fi[0]; f[atomi][1] += fi[1]; f[atomi][2] += fi[2]; + f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; + f[atomk][0] += fk[0]; f[atomk][1] += fk[1]; f[atomk][2] += fk[2]; + + if (vflag_either) { + rji[0] = -rij[0]; rji[1] = -rij[1]; rji[2] = -rij[2]; + rki[0] = -rik[0]; rki[1] = -rik[1]; rki[2] = -rik[2]; + v_tally3(atomi,atomj,atomk,fj,fk,rji,rki); + } + } + } + + // PIJ force contribution additional term + tmp2 = -VA*0.5*(tmp*dp*dwij)/rijmag; + + f[atomi][0] += rij[0]*tmp2; + f[atomi][1] += rij[1]*tmp2; + f[atomi][2] += rij[2]*tmp2; + f[atomj][0] -= rij[0]*tmp2; + f[atomj][1] -= rij[1]*tmp2; + f[atomj][2] -= rij[2]*tmp2; + + if (vflag_either) v_tally2(atomi,atomj,tmp2,rij); + + tmp = 0.0; + tmp2 = 0.0; + Etmp = 0.0; + + REBO_neighs = REBO_firstneigh[j]; + for (l = 0; l < REBO_numneigh[j]; l++) { + atoml = REBO_neighs[l]; + if (atoml != atomi) { + ltype = map[type[atoml]]; + rjl[0] = x[atomj][0]-x[atoml][0]; + rjl[1] = x[atomj][1]-x[atoml][1]; + rjl[2] = x[atomj][2]-x[atoml][2]; + rjlmag = sqrt((rjl[0]*rjl[0])+(rjl[1]*rjl[1])+(rjl[2]*rjl[2])); + wjl = Sp(rjlmag,rcmin[jtype][ltype],rcmax[jtype][ltype],dS); + cosijl = -1.0*((rij[0]*rjl[0])+(rij[1]*rjl[1])+(rij[2]*rjl[2])) / (rijmag*rjlmag); + cosijl = MIN(cosijl,1.0); + cosijl = MAX(cosijl,-1.0); + + // evaluate g and derivative dg + + g = gSpline(cosijl,jtype,dgdc); + Etmp = Etmp+(wjl*g); + } + } + + dp = 0.0; + PjiS = PijSpline(NjiM,NjiS,jtype,dp); + pji = 1.0/sqrt(1.0+Etmp+PjiS); + tmp = -0.5*cube(pji); + + REBO_neighs = REBO_firstneigh[j]; + for (l = 0; l < REBO_numneigh[j]; l++) { + atoml = REBO_neighs[l]; + if (atoml != atomi) { + ltype = map[type[atoml]]; + rjl[0] = x[atomj][0]-x[atoml][0]; + rjl[1] = x[atomj][1]-x[atoml][1]; + rjl[2] = x[atomj][2]-x[atoml][2]; + rjlmag = sqrt((rjl[0]*rjl[0])+(rjl[1]*rjl[1])+(rjl[2]*rjl[2])); + wjl = Sp(rjlmag,rcmin[jtype][ltype],rcmax[jtype][ltype],dwjl); + cosijl = (-1.0*((rij[0]*rjl[0])+(rij[1]*rjl[1])+(rij[2]*rjl[2]))) / (rijmag*rjlmag); + cosijl = MIN(cosijl,1.0); + cosijl = MAX(cosijl,-1.0); + + dcosijldri[0] = (-rjl[0]/(rijmag*rjlmag)) - (cosijl*rij[0]/(rijmag*rijmag)); + dcosijldri[1] = (-rjl[1]/(rijmag*rjlmag)) - (cosijl*rij[1]/(rijmag*rijmag)); + dcosijldri[2] = (-rjl[2]/(rijmag*rjlmag)) - (cosijl*rij[2]/(rijmag*rijmag)); + dcosijldrj[0] = ((-rij[0]+rjl[0])/(rijmag*rjlmag)) + + (cosijl*((rij[0]/square(rijmag))-(rjl[0]/(rjlmag*rjlmag)))); + dcosijldrj[1] = ((-rij[1]+rjl[1])/(rijmag*rjlmag)) + + (cosijl*((rij[1]/square(rijmag))-(rjl[1]/(rjlmag*rjlmag)))); + dcosijldrj[2] = ((-rij[2]+rjl[2])/(rijmag*rjlmag)) + + (cosijl*((rij[2]/square(rijmag))-(rjl[2]/(rjlmag*rjlmag)))); + dcosijldrl[0] = (rij[0]/(rijmag*rjlmag))+(cosijl*rjl[0]/(rjlmag*rjlmag)); + dcosijldrl[1] = (rij[1]/(rijmag*rjlmag))+(cosijl*rjl[1]/(rjlmag*rjlmag)); + dcosijldrl[2] = (rij[2]/(rijmag*rjlmag))+(cosijl*rjl[2]/(rjlmag*rjlmag)); + + // evaluate g and derivatives dg + + g = gSpline(cosijl,jtype,dgdc); + tmp2 = VA*0.5*(tmp*wjl*dgdc); + fi[0] = -tmp2*dcosijldri[0]; + fi[1] = -tmp2*dcosijldri[1]; + fi[2] = -tmp2*dcosijldri[2]; + fj[0] = -tmp2*dcosijldrj[0]; + fj[1] = -tmp2*dcosijldrj[1]; + fj[2] = -tmp2*dcosijldrj[2]; + fl[0] = -tmp2*dcosijldrl[0]; + fl[1] = -tmp2*dcosijldrl[1]; + fl[2] = -tmp2*dcosijldrl[2]; + + // coordination forces + + // dwik forces (from partial derivative) + + tmp2 = VA*0.5*(tmp*dwjl*g)/rjlmag; + fj[0] -= tmp2*rjl[0]; + fj[1] -= tmp2*rjl[1]; + fj[2] -= tmp2*rjl[2]; + fl[0] += tmp2*rjl[0]; + fl[1] += tmp2*rjl[1]; + fl[2] += tmp2*rjl[2]; + + // PIJ forces (coordination) + + tmp2 = VA*0.5*(tmp*dp*dwjl)/rjlmag; + fj[0] -= tmp2*rjl[0]; + fj[1] -= tmp2*rjl[1]; + fj[2] -= tmp2*rjl[2]; + fl[0] += tmp2*rjl[0]; + fl[1] += tmp2*rjl[1]; + fl[2] += tmp2*rjl[2]; + + // dgdN forces are removed + + f[atomi][0] += fi[0]; f[atomi][1] += fi[1]; f[atomi][2] += fi[2]; + f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; + f[atoml][0] += fl[0]; f[atoml][1] += fl[1]; f[atoml][2] += fl[2]; + + if (vflag_either) { + rlj[0] = -rjl[0]; rlj[1] = -rjl[1]; rlj[2] = -rjl[2]; + v_tally3(atomi,atomj,atoml,fi,fl,rij,rlj); + } + } + } + + // PIJ force contribution additional term + + tmp2 = -VA*0.5*(tmp*dp*dwij)/rijmag; + f[atomi][0] += rij[0]*tmp2; + f[atomi][1] += rij[1]*tmp2; + f[atomi][2] += rij[2]*tmp2; + f[atomj][0] -= rij[0]*tmp2; + f[atomj][1] -= rij[1]*tmp2; + f[atomj][2] -= rij[2]*tmp2; + + if (vflag_either) v_tally2(atomi,atomj,tmp2,rij); + + bij = (0.5*(pij+pji)); + return bij; +} + +/* ---------------------------------------------------------------------- + G calculation +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + read REBO potential file +------------------------------------------------------------------------- */ + +void PairREBOMoS::read_file(char *filename) +{ + // REBO Parameters (Mo-S REBO) + + double rcmin_MM,rcmin_MS,rcmin_SS,rcmax_MM,rcmax_MS,rcmax_SS; + double Q_MM,Q_MS,Q_SS,alpha_MM,alpha_MS,alpha_SS,A_MM,A_MS,A_SS; + double BIJc_MM1,BIJc_MS1,BIJc_SS1; + double Beta_MM1,Beta_MS1,Beta_SS1; + double M_bg0,M_bg1,M_bg2,M_bg3,M_bg4,M_bg5,M_bg6; + double S_bg0,S_bg1,S_bg2,S_bg3,S_bg4,S_bg5,S_bg6; + double M_b0,M_b1,M_b2,M_b3,M_b4,M_b5,M_b6; + double S_b0,S_b1,S_b2,S_b3,S_b4,S_b5,S_b6; + double M_a0,M_a1,M_a2,M_a3; + double S_a0,S_a1,S_a2,S_a3; + + // LJ Parameters (Mo-S REBO) + + double epsilon_MM,epsilon_SS; + double sigma_MM,sigma_SS; + + // read file on proc 0 + + if (comm->me == 0) { + PotentialFileReader reader(lmp, filename, "rebomos"); + + // read parameters + + std::vector params { + &rcmin_MM, + &rcmin_MS, + &rcmin_SS, + &rcmax_MM, + &rcmax_MS, + &rcmax_SS, + &Q_MM, + &Q_MS, + &Q_SS, + &alpha_MM, + &alpha_MS, + &alpha_SS, + &A_MM, + &A_MS, + &A_SS, + &BIJc_MM1, + &BIJc_MS1, + &BIJc_SS1, + &Beta_MM1, + &Beta_MS1, + &Beta_SS1, + &M_b0, + &M_b1, + &M_b2, + &M_b3, + &M_b4, + &M_b5, + &M_b6, + &M_bg0, + &M_bg1, + &M_bg2, + &M_bg3, + &M_bg4, + &M_bg5, + &M_bg6, + &S_b0, + &S_b1, + &S_b2, + &S_b3, + &S_b4, + &S_b5, + &S_b6, + &S_bg0, + &S_bg1, + &S_bg2, + &S_bg3, + &S_bg4, + &S_bg5, + &S_bg6, + &M_a0, + &M_a1, + &M_a2, + &M_a3, + &S_a0, + &S_a1, + &S_a2, + &S_a3, + + // LJ parameters + &epsilon_MM, + &epsilon_SS, + &sigma_MM, + &sigma_SS, + }; + + try { + for (auto ¶m : params) { + *param = reader.next_double(); + } + } catch (TokenizerException &e) { + error->one(FLERR, "reading rebomos potential file {}\nREASON: {}\n", filename, e.what()); + } catch (FileReaderException &fre) { + error->one(FLERR, "reading rebomos potential file {}\nREASON: {}\n", filename, fre.what()); + } + + // store read-in values in arrays + + // REBO + + rcmin[0][0] = rcmin_MM; + rcmin[0][1] = rcmin_MS; + rcmin[1][0] = rcmin[0][1]; + rcmin[1][1] = rcmin_SS; + + rcmax[0][0] = rcmax_MM; + rcmax[0][1] = rcmax_MS; + rcmax[1][0] = rcmax[0][1]; + rcmax[1][1] = rcmax_SS; + + rcmaxsq[0][0] = rcmax[0][0]*rcmax[0][0]; + rcmaxsq[1][0] = rcmax[1][0]*rcmax[1][0]; + rcmaxsq[0][1] = rcmax[0][1]*rcmax[0][1]; + rcmaxsq[1][1] = rcmax[1][1]*rcmax[1][1]; + + Q[0][0] = Q_MM; + Q[0][1] = Q_MS; + Q[1][0] = Q[0][1]; + Q[1][1] = Q_SS; + + alpha[0][0] = alpha_MM; + alpha[0][1] = alpha_MS; + alpha[1][0] = alpha[0][1]; + alpha[1][1] = alpha_SS; + + A[0][0] = A_MM; + A[0][1] = A_MS; + A[1][0] = A[0][1]; + A[1][1] = A_SS; + + BIJc[0][0] = BIJc_MM1; + BIJc[0][1] = BIJc_MS1; + BIJc[1][0] = BIJc_MS1; + BIJc[1][1] = BIJc_SS1; + + Beta[0][0] = Beta_MM1; + Beta[0][1] = Beta_MS1; + Beta[1][0] = Beta_MS1; + Beta[1][1] = Beta_SS1; + + b0[0] = M_b0; + b1[0] = M_b1; + b2[0] = M_b2; + b3[0] = M_b3; + b4[0] = M_b4; + b5[0] = M_b5; + b6[0] = M_b6; + + bg0[0] = M_bg0; + bg1[0] = M_bg1; + bg2[0] = M_bg2; + bg3[0] = M_bg3; + bg4[0] = M_bg4; + bg5[0] = M_bg5; + bg6[0] = M_bg6; + + b0[1] = S_b0; + b1[1] = S_b1; + b2[1] = S_b2; + b3[1] = S_b3; + b4[1] = S_b4; + b5[1] = S_b5; + b6[1] = S_b6; + + bg0[1] = S_bg0; + bg1[1] = S_bg1; + bg2[1] = S_bg2; + bg3[1] = S_bg3; + bg4[1] = S_bg4; + bg5[1] = S_bg5; + bg6[1] = S_bg6; + + a0[0] = M_a0; + a1[0] = M_a1; + a2[0] = M_a2; + a3[0] = M_a3; + + a0[1] = S_a0; + a1[1] = S_a1; + a2[1] = S_a2; + a3[1] = S_a3; + + // LJ + + sigma[0][0] = sigma_MM; + sigma[0][1] = (sigma_MM + sigma_SS)/2; + sigma[1][0] = sigma[0][1]; + sigma[1][1] = sigma_SS; + + epsilon[0][0] = epsilon_MM; + epsilon[0][1] = sqrt(epsilon_MM*epsilon_SS); + epsilon[1][0] = epsilon[0][1]; + epsilon[1][1] = epsilon_SS; + + rcLJmin[0][0] = rcmin_MM; + rcLJmin[0][1] = rcmin_MS; + rcLJmin[1][0] = rcmin[0][1]; + rcLJmin[1][1] = rcmin_SS; + + rcLJmax[0][0] = 2.5*sigma[0][0]; + rcLJmax[0][1] = 2.5*sigma[0][1]; + rcLJmax[1][0] = rcLJmax[0][1]; + rcLJmax[1][1] = 2.5*sigma[1][1]; + } + + // broadcast read-in and setup values + + MPI_Bcast(&rcmin[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&rcmax[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&rcmaxsq[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&rcmaxp[0][0],4,MPI_DOUBLE,0,world); + + MPI_Bcast(&Q[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&alpha[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&A[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&BIJc[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&Beta[0][0],4,MPI_DOUBLE,0,world); + + MPI_Bcast(&b0[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&b1[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&b2[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&b3[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&b4[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&b5[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&b6[0],2,MPI_DOUBLE,0,world); + + MPI_Bcast(&a0[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&a1[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&a2[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&a3[0],2,MPI_DOUBLE,0,world); + + MPI_Bcast(&bg0[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&bg1[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&bg2[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&bg3[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&bg4[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&bg5[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&bg6[0],2,MPI_DOUBLE,0,world); + + MPI_Bcast(&rcLJmin[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&rcLJmax[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&epsilon[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&sigma[0][0],4,MPI_DOUBLE,0,world); +} + +/* ---------------------------------------------------------------------- + memory usage of local atom-based arrays +------------------------------------------------------------------------- */ + +double PairREBOMoS::memory_usage() +{ + double bytes = 0.0; + bytes += (double)maxlocal * sizeof(int); + bytes += (double)maxlocal * sizeof(int *); + + for (int i = 0; i < comm->nthreads; i++) + bytes += ipage[i].size(); + + bytes += 3.0 * maxlocal * sizeof(double); + return bytes; +} diff --git a/src/MANYBODY/pair_rebomos.h b/src/MANYBODY/pair_rebomos.h new file mode 100644 index 0000000000..856a52ca81 --- /dev/null +++ b/src/MANYBODY/pair_rebomos.h @@ -0,0 +1,216 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS Development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(rebomos,PairREBOMoS); +// clang-format on +#else + +#ifndef LMP_PAIR_REBOMOS_H +#define LMP_PAIR_REBOMOS_H + +#include "math_const.h" +#include "pair.h" + +#include + +namespace LAMMPS_NS { + +class PairREBOMoS : public Pair { + public: + PairREBOMoS(class LAMMPS *); + ~PairREBOMoS() override; + void compute(int, int) override; + void settings(int, char **) override; + void coeff(int, char **) override; + void init_style() override; + double init_one(int, int) override; + double memory_usage() override; + + protected: + double **lj1, **lj2, **lj3, **lj4; // pre-computed LJ coeffs for M,S types + double cut3rebo; // maximum distance for 3rd REBO neigh + + int maxlocal; // size of numneigh, firstneigh arrays + int pgsize; // size of neighbor page + int oneatom; // max # of neighbors for one atom + MyPage *ipage; // neighbor list pages + int *REBO_numneigh; // # of pair neighbors for each atom + int **REBO_firstneigh; // ptr to 1st neighbor of each atom + + double *nM, *nS; // sum of weighting fns with REBO neighs + + double rcmin[2][2], rcmax[2][2], rcmaxsq[2][2], rcmaxp[2][2]; + double Q[2][2], alpha[2][2], A[2][2], BIJc[2][2], Beta[2][2]; + double b0[2], b1[2], b2[2], b3[2], b4[2], b5[2], b6[2]; + double bg0[2], bg1[2], bg2[2], bg3[2], bg4[2], bg5[2], bg6[2]; + double a0[2], a1[2], a2[2], a3[2]; + double rcLJmin[2][2], rcLJmax[2][2]; + double epsilon[2][2], sigma[2][2]; + + void REBO_neigh(); + void FREBO(int); + void FLJ(int); + + double bondorder(int, int, double *, double, double, double **); + + inline double gSpline(const double costh, const int typei, double &dgdc) const + { + const double b0i = b0[typei]; + const double b1i = b1[typei]; + const double b2i = b2[typei]; + const double b3i = b3[typei]; + const double b4i = b4[typei]; + const double b5i = b5[typei]; + const double b6i = b6[typei]; + double g = 0.0; + + if (costh >= -1.0 && costh < 0.5) { + g = b6i * costh; + double dg = 6.0 * b6i * costh; + g += b5i; + dg += 5.0 * b5i; + g *= costh; + dg *= costh; + g += b4i; + dg += 4.0 * b4i; + g *= costh; + dg *= costh; + g += b3i; + dg += 3.0 * b3i; + g *= costh; + dg *= costh; + g += b2i; + dg += 2.0 * b2i; + g *= costh; + dg *= costh; + g += b1i; + dg += b1i; + g *= costh; + g += b0i; + dgdc = dg; + + } else if (costh >= 0.5 && costh <= 1.0) { + double gcos = b6i * costh; + double dgcos = 6.0 * b6i * costh; + gcos += b5i; + dgcos += 5.0 * b5i; + gcos *= costh; + dgcos *= costh; + gcos += b4i; + dgcos += 4.0 * b4i; + gcos *= costh; + dgcos *= costh; + gcos += b3i; + dgcos += 3.0 * b3i; + gcos *= costh; + dgcos *= costh; + gcos += b2i; + dgcos += 2.0 * b2i; + gcos *= costh; + dgcos *= costh; + gcos += b1i; + dgcos += b1i; + gcos *= costh; + gcos += b0i; + + const double bg0i = bg0[typei]; + const double bg1i = bg1[typei]; + const double bg2i = bg2[typei]; + const double bg3i = bg3[typei]; + const double bg4i = bg4[typei]; + const double bg5i = bg5[typei]; + const double bg6i = bg6[typei]; + double gamma = bg6i * costh; + double dgamma = 6.0 * bg6i * costh; + gamma += bg5i; + dgamma += 5.0 * bg5i; + gamma *= costh; + dgamma *= costh; + gamma += bg4i; + dgamma += 4.0 * bg4i; + gamma *= costh; + dgamma *= costh; + gamma += bg3i; + dgamma += 3.0 * bg3i; + gamma *= costh; + dgamma *= costh; + gamma += bg2i; + dgamma += 2.0 * bg2i; + gamma *= costh; + dgamma *= costh; + gamma += bg1i; + dgamma += bg1i; + gamma *= costh; + gamma += bg0i; + + const double tmp = MathConst::MY_2PI * (costh - 0.5); + const double psi = 0.5 * (1 - cos(tmp)); + const double dpsi = MathConst::MY_PI * sin(tmp); + g = gcos + psi * (gamma - gcos); + dgdc = dgcos + dpsi * (gamma - gcos) + psi * (dgamma - dgcos); + } else { + dgdc = 0.0; + } + return g; + } + + /* ---------------------------------------------------------------------- + Pij calculation + ------------------------------------------------------------------------- */ + + inline double PijSpline(const double NM, const double NS, const int typei, double &dp) const + { + const double N = NM + NS; + + dp = -a0[typei] + a1[typei] * a2[typei] * exp(-a2[typei] * N); + return -a0[typei] * (N - 1) - a1[typei] * exp(-a2[typei] * N) + a3[typei]; + } + + void read_file(char *); + void allocate(); + + // ---------------------------------------------------------------------- + // S'(t) and S(t) cutoff functions + // added to header for inlining + // ---------------------------------------------------------------------- + + /* ---------------------------------------------------------------------- + cutoff function Sprime + return cutoff and dX = derivative + no side effects + ------------------------------------------------------------------------- */ + + inline double Sp(double Xij, double Xmin, double Xmax, double &dX) const + { + double cutoff; + + const double t = (Xij - Xmin) / (Xmax - Xmin); + if (t <= 0.0) { + cutoff = 1.0; + dX = 0.0; + } else if (t >= 1.0) { + cutoff = 0.0; + dX = 0.0; + } else { + cutoff = 0.5 * (1.0 + cos(t * MathConst::MY_PI)); + dX = (-0.5 * MathConst::MY_PI * sin(t * MathConst::MY_PI)) / (Xmax - Xmin); + } + return cutoff; + }; +}; +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/MANYBODY/pair_sw_angle_table.cpp b/src/MANYBODY/pair_sw_angle_table.cpp index 8e605caebd..12592f4af6 100644 --- a/src/MANYBODY/pair_sw_angle_table.cpp +++ b/src/MANYBODY/pair_sw_angle_table.cpp @@ -26,7 +26,6 @@ #include "math_const.h" #include "memory.h" #include "neigh_list.h" -#include "neighbor.h" #include "table_file_reader.h" #include "potential_file_reader.h" diff --git a/src/MC/fix_charge_regulation.cpp b/src/MC/fix_charge_regulation.cpp index 2fade2be79..4358513095 100644 --- a/src/MC/fix_charge_regulation.cpp +++ b/src/MC/fix_charge_regulation.cpp @@ -46,6 +46,7 @@ #include #include +#include #include using namespace LAMMPS_NS; @@ -191,6 +192,11 @@ int FixChargeRegulation::setmask() { void FixChargeRegulation::init() { + if (!atom->mass) error->all(FLERR, "Fix charge/regulation requires per atom type masses"); + if (atom->rmass_flag && (comm->me == 0)) + error->warning(FLERR, "Fix charge/regulation will use per atom type masses for " + "velocity initialization"); + triclinic = domain->triclinic; int ipe = modify->find_compute("thermo_pe"); c_pe = modify->compute[ipe]; diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp index b3d000e8b1..bd7e46b3d1 100644 --- a/src/MC/fix_gcmc.cpp +++ b/src/MC/fix_gcmc.cpp @@ -45,6 +45,7 @@ #include #include +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -463,6 +464,10 @@ int FixGCMC::setmask() void FixGCMC::init() { + if (!atom->mass) error->all(FLERR, "Fix gcmc requires per atom type masses"); + if (atom->rmass_flag && (comm->me == 0)) + error->warning(FLERR, "Fix gcmc will use per atom type masses for velocity initialization"); + triclinic = domain->triclinic; // set index and check validity of region diff --git a/src/MC/fix_sgcmc.cpp b/src/MC/fix_sgcmc.cpp index a70f3240db..77ead0479f 100644 --- a/src/MC/fix_sgcmc.cpp +++ b/src/MC/fix_sgcmc.cpp @@ -235,11 +235,13 @@ int FixSemiGrandCanonicalMC::setmask() *********************************************************************/ void FixSemiGrandCanonicalMC::init() { - // Make sure the user has defined only one Monte-Carlo fix. - int count = 0; - for (int i = 0; i < modify->nfix; i++) - if (strcmp(modify->fix[i]->style,"sgcmc") == 0) count++; - if (count > 1) error->all(FLERR, "More than one fix sgcmc defined."); + if (!atom->mass) error->all(FLERR, "Fix sgcmc requires per atom type masses"); + if (atom->rmass_flag && (comm->me == 0)) + error->warning(FLERR, "Fix sgcmc will use per atom type masses for velocity initialization"); + + // Make sure the user has defined only one Semi-Grand Monte-Carlo fix. + if (modify->get_fix_by_style("sgcmc").size() > 1) + error->all(FLERR, "More than one fix sgcmc defined."); // Save a pointer to the EAM potential. pairEAM = dynamic_cast(force->pair); @@ -248,13 +250,12 @@ void FixSemiGrandCanonicalMC::init() utils::logmesg(lmp, " SGC - Using naive total energy calculation for MC -> SLOW!\n"); if (comm->nprocs > 1) - error->all(FLERR, "Can not run fix vcsgc with naive total energy calculation and more than one MPI process."); + error->all(FLERR, "Can not run fix sgcmc with naive total energy calculation " + "and more than one MPI process."); - // Create a compute that will provide the total energy of the system. + // Get reference to a compute that will provide the total energy of the system. // This is needed by computeTotalEnergy(). - char* id_pe = (char*)"thermo_pe"; - int ipe = modify->find_compute(id_pe); - compute_pe = modify->compute[ipe]; + compute_pe = modify->get_compute_by_id("thermo_pe"); } interactionRadius = force->pair->cutforce; if (comm->me == 0) utils::logmesg(lmp, " SGC - Interaction radius: {}\n", interactionRadius); @@ -370,8 +371,7 @@ void FixSemiGrandCanonicalMC::doMC() // Use a random number to choose the new species if there are three or more atom types. newSpecies = (int)(localRandom->uniform() * (atom->ntypes-1)) + 1; if (newSpecies >= oldSpecies) newSpecies++; - } - else { + } else { // If there are only two atom types, then the decision is clear. newSpecies = (oldSpecies == 1) ? 2 : 1; } @@ -391,8 +391,7 @@ void FixSemiGrandCanonicalMC::doMC() if (serialMode && kappa != 0.0) { for (int i = 2; i <= atom->ntypes; i++) dm += (deltamu[i] + kappa / atom->natoms * (2.0 * speciesCounts[i] + deltaN[i])) * deltaN[i]; - } - else { + } else { for (int i = 2; i <= atom->ntypes; i++) dm += deltamu[i] * deltaN[i]; } @@ -433,8 +432,7 @@ void FixSemiGrandCanonicalMC::doMC() // Update global species counters. for (int i = 1; i <= atom->ntypes; i++) speciesCounts[i] += deltaNGlobal[i]; - } - else if (serialMode) { + } else if (serialMode) { // Update the local species counters. for (int i = 1; i <= atom->ntypes; i++) speciesCounts[i] += deltaN[i]; @@ -447,8 +445,7 @@ void FixSemiGrandCanonicalMC::doMC() else flipAtomGeneric(selectedAtom, oldSpecies, newSpecies); nAcceptedSwapsLocal++; - } - else { + } else { nRejectedSwapsLocal++; } diff --git a/src/MC/fix_widom.cpp b/src/MC/fix_widom.cpp index 2e48630f59..9871dc8f60 100644 --- a/src/MC/fix_widom.cpp +++ b/src/MC/fix_widom.cpp @@ -45,6 +45,7 @@ #include #include +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -280,6 +281,10 @@ int FixWidom::setmask() void FixWidom::init() { + if (!atom->mass) error->all(FLERR, "Fix widom requires per atom type masses"); + if (atom->rmass_flag && (comm->me == 0)) + error->warning(FLERR, "Fix widom will use per atom type masses for velocity initialization"); + triclinic = domain->triclinic; // set index and check validity of region diff --git a/src/MC/pair_dsmc.cpp b/src/MC/pair_dsmc.cpp index 4773ac7653..1c152906b3 100644 --- a/src/MC/pair_dsmc.cpp +++ b/src/MC/pair_dsmc.cpp @@ -271,6 +271,8 @@ void PairDSMC::coeff(int narg, char **arg) void PairDSMC::init_style() { + if (!atom->mass) error->all(FLERR, "Pair style dsmc requires per atom type masses"); + ncellsx = ncellsy = ncellsz = 1; while (((domain->boxhi[0] - domain->boxlo[0])/ncellsx) > max_cell_size) ncellsx++; diff --git a/src/MDI/fix_mdi_engine.cpp b/src/MDI/fix_mdi_engine.cpp index 0494d08b2d..fe896d906f 100644 --- a/src/MDI/fix_mdi_engine.cpp +++ b/src/MDI/fix_mdi_engine.cpp @@ -19,7 +19,6 @@ #include "fix_mdi_engine.h" #include "error.h" -#include "update.h" #include "mdi_engine.h" diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 86dc87fd35..46071c5c90 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -22,6 +22,8 @@ #include "modify.h" #include "update.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index c6df52333d..d45290811f 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "fix_mdi_qmmm.h" + #include "atom.h" #include "comm.h" #include "domain.h" @@ -25,6 +26,9 @@ #include "pair.h" #include "update.h" +#include +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/MDI/mdi_command.h b/src/MDI/mdi_command.h index 88e1901ab1..0bdfe81279 100644 --- a/src/MDI/mdi_command.h +++ b/src/MDI/mdi_command.h @@ -21,7 +21,7 @@ CommandStyle(mdi,MDICommand); #define LMP_MDI_COMMAND_H #include "command.h" -#include "mdi.h" +#include namespace LAMMPS_NS { diff --git a/src/MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp index 9c58de7560..4f69e814f5 100644 --- a/src/MDI/mdi_engine.cpp +++ b/src/MDI/mdi_engine.cpp @@ -25,12 +25,10 @@ #include "error.h" #include "fix_mdi_engine.h" #include "force.h" -#include "group.h" #include "input.h" #include "integrate.h" #include "irregular.h" #include "library.h" -#include "library_mdi.h" #include "memory.h" #include "min.h" #include "modify.h" @@ -697,7 +695,7 @@ void MDIEngine::mdi_md() if (strcmp(mdicmd, "EXIT") == 0) return; // run one step at a time forever - // driver triggers exit with @ command other than @COORDS,@FORCES,@ENDSTEP + // driver triggers exit with @ command other than @COORDS,@FORCES,@ENDSTEP,@ update->integrate->setup(1); @@ -713,7 +711,7 @@ void MDIEngine::mdi_md() update->integrate->run(1); if (strcmp(mdicmd, "@COORDS") != 0 && strcmp(mdicmd, "@FORCES") != 0 && - strcmp(mdicmd, "@ENDSTEP") != 0) + strcmp(mdicmd, "@ENDSTEP") != 0 && strcmp(mdicmd, "@") != 0) break; } diff --git a/src/MDI/mdi_plugin.cpp b/src/MDI/mdi_plugin.cpp index 92b78b6afb..6294292229 100644 --- a/src/MDI/mdi_plugin.cpp +++ b/src/MDI/mdi_plugin.cpp @@ -21,9 +21,7 @@ #include "error.h" #include "input.h" #include "memory.h" -#include "modify.h" -#include #include #include diff --git a/src/MEAM/meam.h b/src/MEAM/meam.h index 5a131bdc34..7aca094912 100644 --- a/src/MEAM/meam.h +++ b/src/MEAM/meam.h @@ -17,7 +17,7 @@ #include #include -constexpr int maxelt = 5; +constexpr int MAXELT = 8; namespace LAMMPS_NS { class Memory; @@ -88,30 +88,30 @@ class MEAM { // stheta_meam = sin(theta/2) in radian used in line, zigzag, and trimer reference structures // ctheta_meam = cos(theta/2) in radian used in line, zigzag, and trimer reference structures - double Ec_meam[maxelt][maxelt], re_meam[maxelt][maxelt]; - double A_meam[maxelt], alpha_meam[maxelt][maxelt], rho0_meam[maxelt]; - double delta_meam[maxelt][maxelt]; - double beta0_meam[maxelt], beta1_meam[maxelt]; - double beta2_meam[maxelt], beta3_meam[maxelt]; - double t0_meam[maxelt], t1_meam[maxelt]; - double t2_meam[maxelt], t3_meam[maxelt]; - double rho_ref_meam[maxelt]; - int ibar_meam[maxelt], ielt_meam[maxelt]; - lattice_t lattce_meam[maxelt][maxelt]; - int nn2_meam[maxelt][maxelt]; - int zbl_meam[maxelt][maxelt]; - int eltind[maxelt][maxelt]; + double Ec_meam[MAXELT][MAXELT], re_meam[MAXELT][MAXELT]; + double A_meam[MAXELT], alpha_meam[MAXELT][MAXELT], rho0_meam[MAXELT]; + double delta_meam[MAXELT][MAXELT]; + double beta0_meam[MAXELT], beta1_meam[MAXELT]; + double beta2_meam[MAXELT], beta3_meam[MAXELT]; + double t0_meam[MAXELT], t1_meam[MAXELT]; + double t2_meam[MAXELT], t3_meam[MAXELT]; + double rho_ref_meam[MAXELT]; + int ibar_meam[MAXELT], ielt_meam[MAXELT]; + lattice_t lattce_meam[MAXELT][MAXELT]; + int nn2_meam[MAXELT][MAXELT]; + int zbl_meam[MAXELT][MAXELT]; + int eltind[MAXELT][MAXELT]; int neltypes; double **phir; double **phirar, **phirar1, **phirar2, **phirar3, **phirar4, **phirar5, **phirar6; - double attrac_meam[maxelt][maxelt], repuls_meam[maxelt][maxelt]; + double attrac_meam[MAXELT][MAXELT], repuls_meam[MAXELT][MAXELT]; - double Cmin_meam[maxelt][maxelt][maxelt]; - double Cmax_meam[maxelt][maxelt][maxelt]; - double rc_meam, delr_meam, ebound_meam[maxelt][maxelt]; + double Cmin_meam[MAXELT][MAXELT][MAXELT]; + double Cmax_meam[MAXELT][MAXELT][MAXELT]; + double rc_meam, delr_meam, ebound_meam[MAXELT][MAXELT]; int augt1, ialloy, mix_ref_t, erose_form; int emb_lin_neg, bkgd_dyn; double gsmooth_factor; @@ -124,8 +124,8 @@ class MEAM { // MS-MEAM parameters - double t1m_meam[maxelt], t2m_meam[maxelt], t3m_meam[maxelt]; - double beta1m_meam[maxelt], beta2m_meam[maxelt], beta3m_meam[maxelt]; + double t1m_meam[MAXELT], t2m_meam[MAXELT], t3m_meam[MAXELT]; + double beta1m_meam[MAXELT], beta2m_meam[MAXELT], beta3m_meam[MAXELT]; //int msmeamflag; // made public for pair style settings public: @@ -142,8 +142,8 @@ class MEAM { double *scrfcn, *dscrfcn, *fcpair; //angle for trimer, zigzag, line reference structures - double stheta_meam[maxelt][maxelt]; - double ctheta_meam[maxelt][maxelt]; + double stheta_meam[MAXELT][MAXELT]; + double ctheta_meam[MAXELT][MAXELT]; protected: // meam_funcs.cpp diff --git a/src/MEAM/meam_force.cpp b/src/MEAM/meam_force.cpp index 23230e0fbc..6fc3fd762f 100644 --- a/src/MEAM/meam_force.cpp +++ b/src/MEAM/meam_force.cpp @@ -65,11 +65,11 @@ void MEAM::meam_force(int i, int eflag_global, int eflag_atom, int vflag_global, double rhoa2mj,drhoa2mj,rhoa2mi,drhoa2mi; double rhoa3mj, drhoa3mj, rhoa3mi, drhoa3mi; double arg1i1m, arg1j1m, arg1i2m, arg1j2m, arg1i3m, arg1j3m, arg3i3m, arg3j3m; - double drho1mdr1, drho1mdr2, drho1mds1, drho1mds2; + double drho1mdr1, drho1mdr2; double drho1mdrm1[3], drho1mdrm2[3]; - double drho2mdr1, drho2mdr2, drho2mds1, drho2mds2; + double drho2mdr1, drho2mdr2; double drho2mdrm1[3], drho2mdrm2[3]; - double drho3mdr1, drho3mdr2, drho3mds1, drho3mds2; + double drho3mdr1, drho3mdr2; double drho3mdrm1[3], drho3mdrm2[3]; third = 1.0 / 3.0; @@ -527,78 +527,75 @@ void MEAM::meam_force(int i, int eflag_global, int eflag_atom, int vflag_global, drho3ds2 = a3 * rhoa3i * arg1j3 - a3a * rhoa3i * arg3j3; if (msmeamflag) { - drho1mds1 = a1 * rhoa1mj * arg1i1m; - drho1mds2 = a1 * rhoa1mi * arg1j1m; - drho2mds1 = a2 * rhoa2mj * arg1i2m - 2.0 / 3.0 * arho2mb[i] * rhoa2mj; - drho2mds2 = a2 * rhoa2mi * arg1j2m - 2.0 / 3.0 * arho2mb[j] * rhoa2mi; - drho3mds1 = a3 * rhoa3mj * arg1i3m - a3a * rhoa3mj * arg3i3m; - drho3mds2 = a3 * rhoa3mi * arg1j3m - a3a * rhoa3mi * arg3j3m; - drho3mds1 *= -1; - drho3mds2 *= -1; - } else { - drho1mds1 = 0.0; - drho1mds2 = 0.0; - drho2mds1 = 0.0; - drho2mds2 = 0.0; - drho3mds1 = 0.0; - drho3mds2 = 0.0; - } - if (ialloy == 1) { + const double drho1mds1 = -a1 * rhoa1mj * arg1i1m; + const double drho1mds2 = -a1 * rhoa1mi * arg1j1m; + const double drho2mds1 = a2 * rhoa2mj * arg1i2m - 2.0 / 3.0 * arho2mb[i] * rhoa2mj; + const double drho2mds2 = a2 * rhoa2mi * arg1j2m - 2.0 / 3.0 * arho2mb[j] * rhoa2mi; + const double drho3mds1 = -a3 * rhoa3mj * arg1i3m + a3a * rhoa3mj * arg3i3m; + const double drho3mds2 = -a3 * rhoa3mi * arg1j3m + a3a * rhoa3mi * arg3j3m; - a1i = fdiv_zero(rhoa0j, tsq_ave[i][0]); - a1j = fdiv_zero(rhoa0i, tsq_ave[j][0]); - a2i = fdiv_zero(rhoa0j, tsq_ave[i][1]); - a2j = fdiv_zero(rhoa0i, tsq_ave[j][1]); - a3i = fdiv_zero(rhoa0j, tsq_ave[i][2]); - a3j = fdiv_zero(rhoa0i, tsq_ave[j][2]); + t1i = 1.0; + t2i = 1.0; + t3i = 1.0; + t1j = 1.0; + t2j = 1.0; + t3j = 1.0; + dt1dr1 = 0.0; + dt1dr2 = 0.0; + dt2dr1 = 0.0; + dt2dr2 = 0.0; + dt3dr1 = 0.0; + dt3dr2 = 0.0; - dt1ds1 = a1i * (t1mj - t1i * MathSpecial::square(t1mj)); - dt1ds2 = a1j * (t1mi - t1j * MathSpecial::square(t1mi)); - dt2ds1 = a2i * (t2mj - t2i * MathSpecial::square(t2mj)); - dt2ds2 = a2j * (t2mi - t2j * MathSpecial::square(t2mi)); - dt3ds1 = a3i * (t3mj - t3i * MathSpecial::square(t3mj)); - dt3ds2 = a3j * (t3mi - t3j * MathSpecial::square(t3mi)); - - } else if (ialloy == 2) { - - dt1ds1 = 0.0; - dt1ds2 = 0.0; - dt2ds1 = 0.0; - dt2ds2 = 0.0; - dt3ds1 = 0.0; - dt3ds2 = 0.0; + // these formulae are simplifed by substituting t=1, dt=0 from above + drhods1 = dgamma1[i] * drho0ds1 + dgamma2[i] + * ((drho1ds1 - drho1mds1) + (drho2ds1 - drho2mds1) + (drho3ds1 - drho3mds1)); + drhods2 = dgamma1[j] * drho0ds2 + dgamma2[j] + * ((drho1ds2 - drho1mds2) + (drho2ds2 - drho2mds2) + (drho3ds2 - drho3mds2)); } else { - ai = 0.0; - if (!iszero(rho0[i])) - ai = rhoa0j / rho0[i]; - aj = 0.0; - if (!iszero(rho0[j])) - aj = rhoa0i / rho0[j]; + if (ialloy == 1) { - dt1ds1 = ai * (t1mj - t1i); - dt1ds2 = aj * (t1mi - t1j); - dt2ds1 = ai * (t2mj - t2i); - dt2ds2 = aj * (t2mi - t2j); - dt3ds1 = ai * (t3mj - t3i); - dt3ds2 = aj * (t3mi - t3j); - } + a1i = fdiv_zero(rhoa0j, tsq_ave[i][0]); + a1j = fdiv_zero(rhoa0i, tsq_ave[j][0]); + a2i = fdiv_zero(rhoa0j, tsq_ave[i][1]); + a2j = fdiv_zero(rhoa0i, tsq_ave[j][1]); + a3i = fdiv_zero(rhoa0j, tsq_ave[i][2]); + a3j = fdiv_zero(rhoa0i, tsq_ave[j][2]); + + dt1ds1 = a1i * (t1mj - t1i * MathSpecial::square(t1mj)); + dt1ds2 = a1j * (t1mi - t1j * MathSpecial::square(t1mi)); + dt2ds1 = a2i * (t2mj - t2i * MathSpecial::square(t2mj)); + dt2ds2 = a2j * (t2mi - t2j * MathSpecial::square(t2mi)); + dt3ds1 = a3i * (t3mj - t3i * MathSpecial::square(t3mj)); + dt3ds2 = a3j * (t3mi - t3j * MathSpecial::square(t3mi)); + + } else if (ialloy == 2) { + + dt1ds1 = 0.0; + dt1ds2 = 0.0; + dt2ds1 = 0.0; + dt2ds2 = 0.0; + dt3ds1 = 0.0; + dt3ds2 = 0.0; + + } else { + + ai = 0.0; + if (!iszero(rho0[i])) ai = rhoa0j / rho0[i]; + aj = 0.0; + if (!iszero(rho0[j])) aj = rhoa0i / rho0[j]; + + dt1ds1 = ai * (t1mj - t1i); + dt1ds2 = aj * (t1mi - t1j); + dt2ds1 = ai * (t2mj - t2i); + dt2ds2 = aj * (t2mi - t2j); + dt3ds1 = ai * (t3mj - t3i); + dt3ds2 = aj * (t3mi - t3j); + } - if (msmeamflag) { - drhods1 = dgamma1[i] * drho0ds1 + - dgamma2[i] * (dt1ds1 * rho1[i] + t1i * (drho1ds1 - drho1mds1) + - dt2ds1 * rho2[i] + t2i * (drho2ds1 - drho2mds1) + - dt3ds1 * rho3[i] + t3i * (drho3ds1 - drho3mds1)) - - dgamma3[i] * (shpi[0] * dt1ds1 + shpi[1] * dt2ds1 + shpi[2] * dt3ds1); - drhods2 = dgamma1[j] * drho0ds2 + - dgamma2[j] * (dt1ds2 * rho1[j] + t1j * (drho1ds2 - drho1mds2) + - dt2ds2 * rho2[j] + t2j * (drho2ds2 - drho2mds2) + - dt3ds2 * rho3[j] + t3j * (drho3ds2 - drho3mds2)) - - dgamma3[j] * (shpj[0] * dt1ds2 + shpj[1] * dt2ds2 + shpj[2] * dt3ds2); - } - else { drhods1 = dgamma1[i] * drho0ds1 + dgamma2[i] * (dt1ds1 * rho1[i] + t1i * drho1ds1 + dt2ds1 * rho2[i] + t2i * drho2ds1 + dt3ds1 * rho3[i] + t3i * drho3ds1) - diff --git a/src/MEAM/meam_impl.cpp b/src/MEAM/meam_impl.cpp index 473b491b01..41248c192b 100644 --- a/src/MEAM/meam_impl.cpp +++ b/src/MEAM/meam_impl.cpp @@ -42,12 +42,12 @@ MEAM::MEAM(Memory *mem) : memory(mem) copymode = 0; neltypes = 0; - for (int i = 0; i < maxelt; i++) { + for (int i = 0; i < MAXELT; i++) { A_meam[i] = rho0_meam[i] = beta0_meam[i] = beta1_meam[i] = beta2_meam[i] = beta3_meam[i] = t0_meam[i] = t1_meam[i] = t2_meam[i] = t3_meam[i] = rho_ref_meam[i] = ibar_meam[i] = ielt_meam[i] = t1m_meam[i] = t2m_meam[i] = t3m_meam[i] = beta1m_meam[i] = beta2m_meam[i] = beta3m_meam[i] = 0.0; - for (int j = 0; j < maxelt; j++) { + for (int j = 0; j < MAXELT; j++) { lattce_meam[i][j] = FCC; Ec_meam[i][j] = re_meam[i][j] = alpha_meam[i][j] = delta_meam[i][j] = ebound_meam[i][j] = attrac_meam[i][j] = repuls_meam[i][j] = 0.0; diff --git a/src/MEAM/meam_setup_done.cpp b/src/MEAM/meam_setup_done.cpp index 4adfd68f19..ce756051e4 100644 --- a/src/MEAM/meam_setup_done.cpp +++ b/src/MEAM/meam_setup_done.cpp @@ -33,7 +33,7 @@ void MEAM::meam_setup_done(double* cutmax) *cutmax = cutforce; // Augment t1 term - for (int i = 0; i < maxelt; i++) + for (int i = 0; i < MAXELT; i++) t1_meam[i] = t1_meam[i] + augt1 * 3.0 / 5.0 * t3_meam[i]; // Compute off-diagonal alloy parameters diff --git a/src/MEAM/meam_setup_global.cpp b/src/MEAM/meam_setup_global.cpp index 299fc4da61..1487a53b2e 100644 --- a/src/MEAM/meam_setup_global.cpp +++ b/src/MEAM/meam_setup_global.cpp @@ -38,7 +38,7 @@ void MEAM::meam_setup_global(int nelt, lattice_t *lat, int *ielement, double * / double *b2m, double *b3m, double *t1m, double *t2m, double *t3m) { int i; - double tmplat[maxelt]; + double tmplat[MAXELT]; neltypes = nelt; @@ -123,4 +123,7 @@ void MEAM::meam_setup_global(int nelt, lattice_t *lat, int *ielement, double * / // for trimer, zigzag, line refernece structure, sungkwang setall2d(stheta_meam, 1.0); // stheta = sin(theta/2*pi/180) where theta is 180, so 1.0 setall2d(ctheta_meam, 0.0); // stheta = cos(theta/2*pi/180) where theta is 180, so 0 + + if (msmeamflag) ialloy = 1; + } diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp index c8932d9a31..d9d2b53885 100644 --- a/src/MEAM/pair_meam.cpp +++ b/src/MEAM/pair_meam.cpp @@ -206,7 +206,12 @@ void PairMEAM::coeff(int narg, char **arg) // check for presence of first meam file std::string lib_file = utils::get_potential_file_path(arg[2]); - if (lib_file.empty()) error->all(FLERR, "Cannot open MEAM library file {}", lib_file); + if (lib_file.empty()) { + if (msmeamflag) + error->all(FLERR, "Cannot open MS-MEAM library file {}", lib_file); + else + error->all(FLERR, "Cannot open MEAM library file {}", lib_file); + } // find meam parameter file in arguments: // first word that is a file or "NULL" after the MEAM library file @@ -226,7 +231,12 @@ void PairMEAM::coeff(int narg, char **arg) break; } } - if (paridx < 0) error->all(FLERR, "No MEAM parameter file in pair coefficients"); + if (paridx < 0) { + if (msmeamflag) + error->all(FLERR, "No MS-MEAM parameter file in pair coefficients"); + else + error->all(FLERR, "No MEAM parameter file in pair coefficients"); + } if ((narg - paridx - 1) != atom->ntypes) error->all(FLERR, "Incorrect args for pair style {} coefficients", myname); @@ -241,11 +251,10 @@ void PairMEAM::coeff(int narg, char **arg) nlibelements = paridx - 3; if (nlibelements < 1) error->all(FLERR, "Incorrect args for pair coefficients"); - if (nlibelements > maxelt) + if (nlibelements > MAXELT) error->all(FLERR, "Too many elements extracted from MEAM library (current limit: {}). " - "Increase 'maxelt' in meam.h and recompile.", - maxelt); + "Increase 'MAXELT' in meam.h and recompile.", MAXELT); for (int i = 0; i < nlibelements; i++) { if (std::any_of(libelements.begin(), libelements.end(), [&](const std::string &elem) { diff --git a/src/MEAM/pair_meam.h b/src/MEAM/pair_meam.h index a89714bfa9..3d50ca9368 100644 --- a/src/MEAM/pair_meam.h +++ b/src/MEAM/pair_meam.h @@ -14,7 +14,6 @@ #ifdef PAIR_CLASS // clang-format off PairStyle(meam,PairMEAM); -PairStyle(meam/c,PairMEAM); // clang-format on #else diff --git a/src/MEAM/pair_meam_ms.cpp b/src/MEAM/pair_meam_ms.cpp index 982a54f546..e5cb960b59 100644 --- a/src/MEAM/pair_meam_ms.cpp +++ b/src/MEAM/pair_meam_ms.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "pair_meam_ms.h" + #include "meam.h" using namespace LAMMPS_NS; diff --git a/src/MESONT/angle_mesocnt.cpp b/src/MESONT/angle_mesocnt.cpp index 06ec135e3c..c6dae4b0fb 100644 --- a/src/MESONT/angle_mesocnt.cpp +++ b/src/MESONT/angle_mesocnt.cpp @@ -30,6 +30,7 @@ #include "update.h" #include +#include using namespace LAMMPS_NS; using MathConst::DEG2RAD; diff --git a/src/MESONT/bond_mesocnt.cpp b/src/MESONT/bond_mesocnt.cpp index 1623c4b1fc..5f468bd720 100644 --- a/src/MESONT/bond_mesocnt.cpp +++ b/src/MESONT/bond_mesocnt.cpp @@ -24,7 +24,6 @@ #include "force.h" #include "math_const.h" #include "memory.h" -#include "neighbor.h" #include "update.h" #include diff --git a/src/MESONT/pair_mesocnt.cpp b/src/MESONT/pair_mesocnt.cpp index 133170f883..21b04268c4 100644 --- a/src/MESONT/pair_mesocnt.cpp +++ b/src/MESONT/pair_mesocnt.cpp @@ -34,9 +34,9 @@ #include #include #include -#include +#include +#include #include -#include using namespace LAMMPS_NS; using namespace MathExtra; diff --git a/src/MESONT/pair_mesocnt_viscous.cpp b/src/MESONT/pair_mesocnt_viscous.cpp index 9beabe0d2f..f7ad7b0aa6 100644 --- a/src/MESONT/pair_mesocnt_viscous.cpp +++ b/src/MESONT/pair_mesocnt_viscous.cpp @@ -25,7 +25,6 @@ #include "math_const.h" #include "math_extra.h" #include "memory.h" -#include "neigh_list.h" #include "neighbor.h" #include "update.h" diff --git a/src/ML-IAP/Install.sh b/src/ML-IAP/Install.sh index 18812c6026..38e3b574c2 100755 --- a/src/ML-IAP/Install.sh +++ b/src/ML-IAP/Install.sh @@ -40,6 +40,20 @@ for file in *.cpp *.h; do test -f ${file} && action $file done +# Edit makefile for ace descriptors if ML-PACE is available +if (test $1 = 1 || test $1 = 2) then + if (test -e ../Makefile.package) then + sed -i -e 's/[^ \t]*-DMLIAP_ACE[^ \t]* //g' ../Makefile.package + if (test -e ../compute_pace.h) then + sed -i -e 's|^PKG_INC =[ \t]*|&-DMLIAP_ACE |' ../Makefile.package + else + rm -f ../mliap_descriptor_ace.cpp ../mliap_descriptor_ace.h + fi + else + rm -f ../mliap_descriptor_ace.cpp ../mliap_descriptor_ace.h + fi +fi + # Install cython pyx file only if also Python is available action mliap_model_python_couple.pyx python_impl.cpp action mliap_unified_couple.pyx python_impl.cpp @@ -69,6 +83,10 @@ elif (test $1 = 0) then rm -f ../mliap_model_python_couple.cpp ../mliap_model_python_couple.h \ ../mliap_unified_couple.cpp ../mliap_unified_couple.h sed -i -e '/^[ \t]*include.*python.*mliap_python.*$/d' ../Makefile.package.settings + if (test -e ../Makefile.package) then + sed -i -e 's/[^ \t]*-DMLIAP_ACE[^ \t]* //g' ../Makefile.package + fi + rm -f ../mliap_descriptor_ace.cpp ../mliap_descriptor_ace.h elif (test $1 = 2) then if (type cythonize > /dev/null 2>&1 && test -e ../python_impl.cpp) then diff --git a/src/ML-IAP/compute_mliap.cpp b/src/ML-IAP/compute_mliap.cpp index 4fa88abad1..0f87e2b13f 100644 --- a/src/ML-IAP/compute_mliap.cpp +++ b/src/ML-IAP/compute_mliap.cpp @@ -19,10 +19,13 @@ #include "compute_mliap.h" #include "mliap_data.h" -#include "mliap_model_linear.h" -#include "mliap_model_quadratic.h" #include "mliap_descriptor_snap.h" #include "mliap_descriptor_so3.h" +#ifdef MLIAP_ACE +#include "mliap_descriptor_ace.h" +#endif +#include "mliap_model_linear.h" +#include "mliap_model_quadratic.h" #ifdef MLIAP_PYTHON #include "mliap_model_python.h" #endif @@ -41,17 +44,17 @@ using namespace LAMMPS_NS; -enum{SCALAR,VECTOR,ARRAY}; +enum { SCALAR, VECTOR, ARRAY }; ComputeMLIAP::ComputeMLIAP(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), mliaparray(nullptr), - mliaparrayall(nullptr), map(nullptr) + Compute(lmp, narg, arg), mliaparray(nullptr), mliaparrayall(nullptr), list(nullptr), + map(nullptr), model(nullptr), descriptor(nullptr), data(nullptr), c_pe(nullptr), + c_virial(nullptr) { array_flag = 1; extarray = 0; - if (narg < 4) - error->all(FLERR,"Illegal compute mliap command"); + if (narg < 4) utils::missing_cmd_args(FLERR, "compute mliap", error); // default values @@ -88,13 +91,23 @@ ComputeMLIAP::ComputeMLIAP(LAMMPS *lmp, int narg, char **arg) : if (iarg+2 > narg) error->all(FLERR,"Illegal compute mliap command"); if (strcmp(arg[iarg+1],"sna") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal compute mliap command"); + if (lmp->kokkos) error->all(FLERR,"Cannot (yet) use KOKKOS package with SNAP descriptors"); descriptor = new MLIAPDescriptorSNAP(lmp,arg[iarg+2]); iarg += 3; } else if (strcmp(arg[iarg+1],"so3") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); descriptor = new MLIAPDescriptorSO3(lmp,arg[iarg+2]); iarg += 3; - } else error->all(FLERR,"Illegal compute mliap command"); + } +#ifdef MLIAP_ACE + else if (strcmp(arg[iarg+1],"ace") == 0) { + if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); + if (lmp->kokkos) error->all(FLERR,"Cannot (yet) use KOKKOS package with ACE descriptors"); + descriptor = new MLIAPDescriptorACE(lmp,arg[iarg+2]); + iarg += 3; + } +#endif + else error->all(FLERR,"Illegal compute mliap command"); descriptorflag = 1; } else if (strcmp(arg[iarg],"gradgradflag") == 0) { if (iarg+1 > narg) error->all(FLERR,"Illegal compute mliap command"); @@ -130,7 +143,6 @@ ComputeMLIAP::ComputeMLIAP(LAMMPS *lmp, int narg, char **arg) : ComputeMLIAP::~ComputeMLIAP() { - modify->delete_compute(id_virial); memory->destroy(mliaparray); @@ -180,23 +192,13 @@ void ComputeMLIAP::init() // find compute for reference energy - std::string id_pe = std::string("thermo_pe"); - int ipe = modify->find_compute(id_pe); - if (ipe == -1) - error->all(FLERR,"compute thermo_pe does not exist."); - c_pe = modify->compute[ipe]; + c_pe = modify->get_compute_by_id("thermo_pe"); + if (!c_pe) error->all(FLERR,"Compute thermo_pe does not exist."); // add compute for reference virial tensor id_virial = id + std::string("_press"); - std::string pcmd = id_virial + " all pressure NULL virial"; - modify->add_compute(pcmd); - - int ivirial = modify->find_compute(id_virial); - if (ivirial == -1) - error->all(FLERR,"compute mliap_press does not exist."); - c_virial = modify->compute[ivirial]; - + c_virial = modify->add_compute(id_virial + " all pressure NULL virial"); } diff --git a/src/ML-IAP/mliap_data.cpp b/src/ML-IAP/mliap_data.cpp index b40fefd3ba..5d847ee25e 100644 --- a/src/ML-IAP/mliap_data.cpp +++ b/src/ML-IAP/mliap_data.cpp @@ -31,9 +31,9 @@ MLIAPData::MLIAPData(LAMMPS *lmp, int gradgradflag_in, int *map_in, class MLIAPM Pointers(lmp), f(nullptr), gradforce(nullptr), betas(nullptr), descriptors(nullptr), eatoms(nullptr), gamma(nullptr), gamma_row_index(nullptr), gamma_col_index(nullptr), egradient(nullptr), - numneighs(nullptr), iatoms(nullptr), ielems(nullptr), pair_i(nullptr), jatoms(nullptr), - jelems(nullptr), elems(nullptr), rij(nullptr), graddesc(nullptr), model(nullptr), - descriptor(nullptr), list(nullptr) + numneighs(nullptr), iatoms(nullptr), ielems(nullptr), itypes(nullptr), pair_i(nullptr), + jatoms(nullptr), jelems(nullptr), elems(nullptr), lmp_firstneigh(nullptr), rij(nullptr), + graddesc(nullptr), model(nullptr), descriptor(nullptr), list(nullptr) { gradgradflag = gradgradflag_in; map = map_in; @@ -84,8 +84,10 @@ MLIAPData::~MLIAPData() memory->destroy(iatoms); memory->destroy(pair_i); memory->destroy(ielems); + memory->destroy(itypes); memory->destroy(numneighs); memory->destroy(jatoms); + memory->destroy(lmp_firstneigh); memory->destroy(jelems); memory->destroy(elems); memory->destroy(rij); @@ -183,6 +185,7 @@ void MLIAPData::generate_neighdata(NeighList *list_in, int eflag_in, int vflag_i int jtype = type[j]; const int jelem = map[jtype]; + lmp_firstneigh[ii][jj] = firstneigh[i][jj]; if (rsq < descriptor->cutsq[ielem][jelem]) { pair_i[ij] = i; jatoms[ij] = j; @@ -196,6 +199,7 @@ void MLIAPData::generate_neighdata(NeighList *list_in, int eflag_in, int vflag_i } iatoms[ii] = i; ielems[ii] = ielem; + itypes[ii] = itype; numneighs[ii] = ninside; npairs += ninside; } @@ -222,6 +226,7 @@ void MLIAPData::grow_neigharrays() if (natomneigh_max < natomneigh) { memory->grow(iatoms, natomneigh, "MLIAPData:iatoms"); memory->grow(ielems, natomneigh, "MLIAPData:ielems"); + memory->grow(itypes, natomneigh, "MLIAPData:itypes"); memory->grow(numneighs, natomneigh, "MLIAPData:numneighs"); natomneigh_max = natomneigh; } @@ -265,6 +270,7 @@ void MLIAPData::grow_neigharrays() if (nneigh_max < nneigh) { memory->grow(pair_i, nneigh, "MLIAPData:pair_i"); memory->grow(jatoms, nneigh, "MLIAPData:jatoms"); + memory->grow(lmp_firstneigh, natomneigh, nneigh, "MLIAPData:lmp_firstneigh"); memory->grow(jelems, nneigh, "MLIAPData:jelems"); memory->grow(rij, nneigh, 3, "MLIAPData:rij"); if (gradgradflag == 0) memory->grow(graddesc, nneigh, ndescriptors, 3, "MLIAPData:graddesc"); @@ -292,12 +298,14 @@ double MLIAPData::memory_usage() bytes += (double) natomneigh_max * sizeof(int); // iatoms bytes += (double) natomneigh_max * sizeof(int); // ielems + bytes += (double) natomneigh_max * sizeof(int); // itypes bytes += (double) natomneigh_max * sizeof(int); // numneighs - bytes += (double) nneigh_max * sizeof(int); // pair_i - bytes += (double) nneigh_max * sizeof(int); // jatoms - bytes += (double) nneigh_max * sizeof(int); // jelems - bytes += (double) nneigh_max * 3 * sizeof(double); // rij" + bytes += (double) nneigh_max * sizeof(int); // pair_i + bytes += (double) nneigh_max * sizeof(int); // jatoms + bytes += (double) nneigh_max * sizeof(int); // jelems + bytes += (double) nneigh_max * natomneigh_max * sizeof(int); // lmp_firstneigh + bytes += (double) nneigh_max * 3 * sizeof(double); // rij" if (gradgradflag == 0) bytes += (double) nneigh_max * ndescriptors * 3 * sizeof(double); // graddesc diff --git a/src/ML-IAP/mliap_data.h b/src/ML-IAP/mliap_data.h index 9746b4da5e..3c27040bb8 100644 --- a/src/ML-IAP/mliap_data.h +++ b/src/ML-IAP/mliap_data.h @@ -58,8 +58,8 @@ class MLIAPData : protected Pointers { // data structures for mliap neighbor list // only neighbors strictly inside descriptor cutoff - int ntotal; // total number of owned and ghost atoms on this proc - int nlistatoms; // current number of atoms in local atom lists + int ntotal; // total number of owned and ghost atoms on this proc + int nlistatoms; // current number of atoms in local atom lists int nlocal; int nlistatoms_max; // allocated size of descriptor array int natomneigh; // current number of atoms and ghosts in atom neighbor arrays @@ -67,12 +67,14 @@ class MLIAPData : protected Pointers { int *numneighs; // neighbors count for each atom int *iatoms; // index of each atom int *ielems; // element of each atom + int *itypes; // LAMMPS type of each atom for external evaluators int nneigh_max; // number of ij neighbors allocated int npairs; // number of ij neighbor pairs int *pair_i; // index of each i atom for each ij pair int *jatoms; // index of each neighbor int *jelems; // element of each neighbor int *elems; // element of each atom in or not in the neighborlist + int **lmp_firstneigh; // copy of list->firstneigh for external evaluators double **rij; // distance vector of each neighbor double ***graddesc; // descriptor gradient w.r.t. each neighbor int eflag; // indicates if energy is needed diff --git a/src/ML-IAP/mliap_descriptor.h b/src/ML-IAP/mliap_descriptor.h index 7f05c6804a..6d66356960 100644 --- a/src/ML-IAP/mliap_descriptor.h +++ b/src/ML-IAP/mliap_descriptor.h @@ -31,6 +31,7 @@ class MLIAPDescriptor : virtual protected Pointers { int ndescriptors; // number of descriptors int nelements; // # of unique elements + int allocated_elements; // is the element array allocated char **elements; // names of unique elements double **cutsq; // nelem x nelem rcutsq values double **cutghost; // cutoff for each ghost pair diff --git a/src/ML-IAP/mliap_descriptor_ace.cpp b/src/ML-IAP/mliap_descriptor_ace.cpp new file mode 100644 index 0000000000..aa30ac3f81 --- /dev/null +++ b/src/ML-IAP/mliap_descriptor_ace.cpp @@ -0,0 +1,400 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: James Goff (SNL) +------------------------------------------------------------------------- */ +#ifdef MLIAP_ACE + +#include "mliap_descriptor_ace.h" + +#include "ace-evaluator/ace_abstract_basis.h" +#include "ace-evaluator/ace_c_basis.h" +#include "ace-evaluator/ace_evaluator.h" +#include "ace-evaluator/ace_types.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "memory.h" +#include "mliap_data.h" +#include "neigh_list.h" +#include "pair_mliap.h" +#include "tokenizer.h" + +#include +#include + +namespace LAMMPS_NS { +struct ACE_ML_impl { + ACE_ML_impl() : basis_set(nullptr), ace(nullptr) {} + ~ACE_ML_impl() + { + delete basis_set; + delete ace; + } + ACECTildeBasisSet *basis_set; + ACECTildeEvaluator *ace; +}; +} // namespace LAMMPS_NS + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : + Pointers(_lmp), MLIAPDescriptor(_lmp) +{ + + acemlimpl = new ACE_ML_impl; + allocated_elements = 0; + //read in file with CG coefficients or c_tilde coefficients + ctilde_file = yacefilename; + delete acemlimpl->basis_set; + acemlimpl->basis_set = new ACECTildeBasisSet(ctilde_file); + nelements = acemlimpl->basis_set->nelements; + int tot_num = 0; + for (int mu = 0; mu < nelements; mu++) { + if (max_num < acemlimpl->basis_set->total_basis_size_rank1[mu] + + acemlimpl->basis_set->total_basis_size[mu]) { + max_num = acemlimpl->basis_set->total_basis_size_rank1[mu] + + acemlimpl->basis_set->total_basis_size[mu]; + } + tot_num += acemlimpl->basis_set->total_basis_size_rank1[mu] + + acemlimpl->basis_set->total_basis_size[mu]; + } + + ndescriptors = max_num; + nelements = acemlimpl->basis_set->nelements; + + memory->destroy(cutsq); + + if (allocated_elements) { + for (int iielem = 0; iielem < nelements; iielem++) delete[] elements[iielem]; + delete[] elements; + allocated_elements = 0; + } else if (not allocated_elements) { + elements = new char *[nelements]; + for (int iielem = 0; iielem < nelements; iielem++) { + elements[iielem] = utils::strdup(acemlimpl->basis_set->elements_name[iielem]); + } + allocated_elements = 1; + } + + memory->create(cutsq, nelements + 1, nelements + 1, "mliap/descriptor/ace:cutsq"); + float icmax = 0.0; + float icuti, icutj; + for (int mui = 0; mui < acemlimpl->basis_set->nelements; mui++) { + icuti = acemlimpl->basis_set->radial_functions->cut(mui, mui); + if (icuti > icmax) icmax = icuti; + for (int muj = mui + 1; muj < acemlimpl->basis_set->nelements; muj++) { + icutj = acemlimpl->basis_set->radial_functions->cut(mui, muj); + if (icutj > icmax) icmax = icutj; + } + } + float cutmax = 0.0; + float cuti, cutj; + float cutfac = 1.0; + for (int mui = 0; mui < acemlimpl->basis_set->nelements; mui++) { + cuti = acemlimpl->basis_set->radial_functions->cut(mui, mui); + if (cuti > cutmax) cutmax = cuti; + + cutsq[mui][mui] = ((2 * cuti * cutfac) * (2 * cuti * cutfac)); + for (int muj = mui + 1; muj < nelements; muj++) { + cutj = acemlimpl->basis_set->radial_functions->cut(mui, muj); + cutsq[mui][muj] = cutsq[muj][mui] = ((2 * cuti * cutfac) * (2 * cutj * cutfac)); + } + } +} + +void MLIAPDescriptorACE::allocate() {} + +/* ---------------------------------------------------------------------- */ + +MLIAPDescriptorACE::~MLIAPDescriptorACE() +{ + delete acemlimpl; +} + +/* ---------------------------------------------------------------------- + compute descriptors for each atom + ---------------------------------------------------------------------- */ + +void MLIAPDescriptorACE::compute_descriptors(class MLIAPData *data) +{ + int max_jnum = -1; + int nei = 0; + int jtmp = 0; + for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { + int itmp = data->iatoms[iitmp]; + jtmp = data->numneighs[iitmp]; + nei = nei + jtmp; + if (jtmp > max_jnum) { max_jnum = jtmp; } + } + + for (int ii = 0; ii < data->nlistatoms; ii++) { + const int i = data->iatoms[ii]; + const int ielemx = data->ielems[ii]; + const int jnum = data->numneighs[ii]; + + delete acemlimpl->ace; + acemlimpl->ace = new ACECTildeEvaluator(*acemlimpl->basis_set); + acemlimpl->ace->compute_projections = 1; + acemlimpl->ace->compute_b_grad = 1; + + acemlimpl->ace->element_type_mapping.init(nelements + 1); + for (int ik = 1; ik <= nelements; ik++) { + for (int mu = 0; mu < nelements; mu++) { + if (mu != -1) { + if (mu == ik - 1) { acemlimpl->ace->element_type_mapping(ik) = mu; } + } + } + } + + acemlimpl->ace->resize_neighbours_cache(jnum); + acemlimpl->ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], + data->lmp_firstneigh[ii]); + for (int icoeff = 0; icoeff < data->ndescriptors; icoeff++) { + data->descriptors[ii][icoeff] = acemlimpl->ace->projections(icoeff); + } + } +} + +/* ---------------------------------------------------------------------- + compute forces for each atom + ---------------------------------------------------------------------- */ + +void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) +{ + double fij[3]; + double **f = atom->f; + int ij = 0; + + int max_jnum = -1; + int nei = 0; + int jtmp = 0; + for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { + int itmp = data->iatoms[iitmp]; + jtmp = data->numneighs[iitmp]; + nei = nei + jtmp; + if (jtmp > max_jnum) { max_jnum = jtmp; } + } + + // BEGIN force loop + for (int ii = 0; ii < data->nlistatoms; ii++) { + const int i = data->iatoms[ii]; + const int ielem = data->ielems[ii]; + delete acemlimpl->ace; + acemlimpl->ace = new ACECTildeEvaluator(*acemlimpl->basis_set); + acemlimpl->ace->compute_projections = 1; + acemlimpl->ace->compute_b_grad = 1; + acemlimpl->ace->element_type_mapping.init(nelements + 1); + for (int ik = 1; ik <= nelements; ik++) { + for (int mu = 0; mu < acemlimpl->basis_set->nelements; mu++) { + if (mu != -1) { + if (mu == ik - 1) { acemlimpl->ace->element_type_mapping(ik) = mu; } + } + } + } + + const int jnum = data->numneighs[ii]; + acemlimpl->ace->resize_neighbours_cache(jnum); + acemlimpl->ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], + data->lmp_firstneigh[ii]); + int ij0 = ij; + int ninside = 0; + for (int jj = 0; jj < jnum; jj++) { + ninside++; + ij++; + } + + ij = ij0; + const int *const jlist = data->lmp_firstneigh[ii]; + double **x = atom->x; + const double xtmp = x[i][0]; + const double ytmp = x[i][1]; + const double ztmp = x[i][2]; + + for (int jj = 0; jj < jnum; jj++) { + const int j = jlist[jj]; + for (int idim = 0; idim < 3; idim++) { fij[idim] = 0.0; } + for (int iicoeff = 0; iicoeff < ndescriptors; iicoeff++) { + DOUBLE_TYPE fx_dB = + acemlimpl->ace->neighbours_dB(iicoeff, jj, 0) * data->betas[ii][iicoeff]; + DOUBLE_TYPE fy_dB = + acemlimpl->ace->neighbours_dB(iicoeff, jj, 1) * data->betas[ii][iicoeff]; + DOUBLE_TYPE fz_dB = + acemlimpl->ace->neighbours_dB(iicoeff, jj, 2) * data->betas[ii][iicoeff]; + // add force contribution from each descriptor + fij[0] += fx_dB; + fij[1] += fy_dB; + fij[2] += fz_dB; + f[i][0] += fx_dB; + f[i][1] += fy_dB; + f[i][2] += fz_dB; + f[j][0] -= fx_dB; + f[j][1] -= fy_dB; + f[j][2] -= fz_dB; + } + const double delx = x[j][0] - xtmp; + const double dely = x[j][1] - ytmp; + const double delz = x[j][2] - ztmp; + double rij_tmp[3] = {delx, dely, delz}; + if (data->vflag) data->pairmliap->v_tally(i, j, fij, rij_tmp); + ij++; + } + } +} + +/* ---------------------------------------------------------------------- + calculate gradients of forces w.r.t. parameters + ---------------------------------------------------------------------- */ + +void MLIAPDescriptorACE::compute_force_gradients(class MLIAPData *data) +{ + int ij = 0; + + int max_jnum = -1; + int nei = 0; + int jtmp = 0; + for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { + int itmp = data->iatoms[iitmp]; + jtmp = data->numneighs[iitmp]; + nei = nei + jtmp; + if (jtmp > max_jnum) { max_jnum = jtmp; } + } + + for (int ii = 0; ii < data->nlistatoms; ii++) { + const int i = data->iatoms[ii]; + const int ielem = data->ielems[ii]; + delete acemlimpl->ace; + acemlimpl->ace = new ACECTildeEvaluator(*acemlimpl->basis_set); + acemlimpl->ace->compute_projections = 1; + acemlimpl->ace->compute_b_grad = 1; + + acemlimpl->ace->element_type_mapping.init(nelements + 1); + for (int ik = 1; ik <= nelements; ik++) { + for (int mu = 0; mu < acemlimpl->basis_set->nelements; mu++) { + if (mu != -1) { + if (mu == ik - 1) { acemlimpl->ace->element_type_mapping(ik) = mu; } + } + } + } + + const int jnum = data->numneighs[ii]; + const int *const jlist = data->lmp_firstneigh[ii]; + acemlimpl->ace->resize_neighbours_cache(jnum); + acemlimpl->ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], + data->lmp_firstneigh[ii]); + for (int jj = 0; jj < jnum; jj++) { + const int j = jlist[jj]; + for (int inz = 0; inz < data->gamma_nnz; inz++) { + const int l = data->gamma_row_index[ii][inz]; + const int k = data->gamma_col_index[ii][inz]; + DOUBLE_TYPE fx_dB = acemlimpl->ace->neighbours_dB(k, jj, 0); + DOUBLE_TYPE fy_dB = acemlimpl->ace->neighbours_dB(k, jj, 1); + DOUBLE_TYPE fz_dB = acemlimpl->ace->neighbours_dB(k, jj, 2); + data->gradforce[i][l] += data->gamma[ii][inz] * fx_dB; + data->gradforce[i][l + data->yoffset] += data->gamma[ii][inz] * fy_dB; + data->gradforce[i][l + data->zoffset] += data->gamma[ii][inz] * fz_dB; + data->gradforce[j][l] -= data->gamma[ii][inz] * fx_dB; + data->gradforce[j][l + data->yoffset] -= data->gamma[ii][inz] * fy_dB; + data->gradforce[j][l + data->zoffset] -= data->gamma[ii][inz] * fz_dB; + } + ij++; + } + } +} + +/* ---------------------------------------------------------------------- + compute descriptor gradients for each neighbor atom + ---------------------------------------------------------------------- */ + +void MLIAPDescriptorACE::compute_descriptor_gradients(class MLIAPData *data) +{ + int ij = 0; + int max_jnum = -1; + int nei = 0; + int jtmp = 0; + for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { + int itmp = data->iatoms[iitmp]; + jtmp = data->numneighs[iitmp]; + nei = nei + jtmp; + if (jtmp > max_jnum) { max_jnum = jtmp; } + } + for (int ii = 0; ii < data->nlistatoms; ii++) { + const int i = data->iatoms[ii]; + const int ielem = data->ielems[ii]; + delete acemlimpl->ace; + acemlimpl->ace = new ACECTildeEvaluator(*acemlimpl->basis_set); + acemlimpl->ace->compute_projections = 1; + acemlimpl->ace->compute_b_grad = 1; + + acemlimpl->ace->element_type_mapping.init(nelements + 1); + for (int ik = 1; ik <= nelements; ik++) { + for (int mu = 0; mu < acemlimpl->basis_set->nelements; mu++) { + if (mu != -1) { + if (mu == ik - 1) { acemlimpl->ace->element_type_mapping(ik) = mu; } + } + } + } + + const int *const jlist = data->lmp_firstneigh[ii]; + const int jnum = data->numneighs[ii]; + acemlimpl->ace->resize_neighbours_cache(jnum); + acemlimpl->ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], + data->lmp_firstneigh[ii]); + int ij0 = ij; + int ninside = 0; + for (int jj = 0; jj < jnum; jj++) { + ninside++; + ij++; + } + + ij = ij0; + for (int jj = 0; jj < data->numneighs[ii]; jj++) { + const int jt = data->jatoms[ij]; + + const int j = jlist[jj]; + int yoffset = ndescriptors; + int zoffset = ndescriptors * 2; + for (int iicoeff = 0; iicoeff < ndescriptors; iicoeff++) { + DOUBLE_TYPE fx_dB = acemlimpl->ace->neighbours_dB(iicoeff, jj, 0); + DOUBLE_TYPE fy_dB = acemlimpl->ace->neighbours_dB(iicoeff, jj, 1); + DOUBLE_TYPE fz_dB = acemlimpl->ace->neighbours_dB(iicoeff, jj, 2); + // Accumulate dB_k^i/dRi, dB_k^i/dRj + data->graddesc[ij][iicoeff][0] = fx_dB; + data->graddesc[ij][iicoeff][1] = fy_dB; + data->graddesc[ij][iicoeff][2] = fz_dB; + } + ij++; + } + } +} + +void MLIAPDescriptorACE::init() {} + +/* ---------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + memory usage +------------------------------------------------------------------------- */ + +double MLIAPDescriptorACE::memory_usage() +{ + double bytes = MLIAPDescriptor::memory_usage(); + + return bytes; +} + +#endif diff --git a/src/ML-IAP/mliap_descriptor_ace.h b/src/ML-IAP/mliap_descriptor_ace.h new file mode 100644 index 0000000000..116a154acb --- /dev/null +++ b/src/ML-IAP/mliap_descriptor_ace.h @@ -0,0 +1,51 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_MLIAP_DESCRIPTOR_ACE_H +#define LMP_MLIAP_DESCRIPTOR_ACE_H + +#include "mliap_descriptor.h" + +namespace LAMMPS_NS { + +class MLIAPDescriptorACE : public MLIAPDescriptor { + public: + MLIAPDescriptorACE(LAMMPS *, char *); + ~MLIAPDescriptorACE() override; + void compute_descriptors(class MLIAPData *) override; + void compute_forces(class MLIAPData *) override; + void compute_force_gradients(class MLIAPData *) override; + void compute_descriptor_gradients(class MLIAPData *) override; + void init() override; + double memory_usage() override; + + double rcutfac; + int allocated = 0; + int max_num = 0; + char *ctilde_file; + + protected: + virtual void allocate(); + int natoms, nmax, size_peratom, lastcol; + int ncoeff, nvalues, nperdim, yoffset, zoffset; + int ndims_peratom, ndims_force, ndims_virial; + int n_r1, n_rp; + int chemflag; + int bikflag, bik_rows, dgradflag, dgrad_rows; + double cutmax; + struct ACE_ML_impl *acemlimpl; +}; + +} // namespace LAMMPS_NS + +#endif diff --git a/src/ML-IAP/mliap_unified.cpp b/src/ML-IAP/mliap_unified.cpp index de1d0bcb7d..3f0d0b2a8f 100644 --- a/src/ML-IAP/mliap_unified.cpp +++ b/src/ML-IAP/mliap_unified.cpp @@ -246,7 +246,6 @@ void LAMMPS_NS::update_pair_energy(MLIAPData *data, double *eij) { double e_total = 0.0; const auto nlistatoms = data->nlistatoms; - const auto nlocal = data->nlocal; for (int ii = 0; ii < nlistatoms; ii++) data->eatoms[ii] = 0; for (int ii = 0; ii < data->npairs; ii++) { @@ -254,10 +253,8 @@ void LAMMPS_NS::update_pair_energy(MLIAPData *data, double *eij) double e = 0.5 * eij[ii]; // must not count any contribution where i is not a local atom - if (i < nlocal) { - data->eatoms[i] += e; - e_total += e; - } + data->eatoms[i] += e; + e_total += e; } data->energy = e_total; } @@ -270,24 +267,20 @@ void LAMMPS_NS::update_pair_forces(MLIAPData *data, double *fij) { //Bugfix: need to account for Null atoms in local atoms //const auto nlistatoms = data->nlistatoms; - const auto nlocal = data->nlocal; double **f = data->f; for (int ii = 0; ii < data->npairs; ii++) { int ii3 = ii * 3; int i = data->pair_i[ii]; int j = data->jatoms[ii]; - // must not count any contribution where i is not a local atom - if (i < nlocal) { - f[i][0] += fij[ii3]; - f[i][1] += fij[ii3 + 1]; - f[i][2] += fij[ii3 + 2]; - f[j][0] -= fij[ii3]; - f[j][1] -= fij[ii3 + 1]; - f[j][2] -= fij[ii3 + 2]; + f[i][0] += fij[ii3]; + f[i][1] += fij[ii3 + 1]; + f[i][2] += fij[ii3 + 2]; + f[j][0] -= fij[ii3]; + f[j][1] -= fij[ii3 + 1]; + f[j][2] -= fij[ii3 + 2]; - if (data->vflag) data->pairmliap->v_tally(i, j, &fij[ii3], data->rij[ii]); - } + if (data->vflag) data->pairmliap->v_tally(i, j, &fij[ii3], data->rij[ii]); } } diff --git a/src/ML-IAP/mliap_unified_couple.pyx b/src/ML-IAP/mliap_unified_couple.pyx index 3148b96b51..6c8331d0fa 100644 --- a/src/ML-IAP/mliap_unified_couple.pyx +++ b/src/ML-IAP/mliap_unified_couple.pyx @@ -8,6 +8,7 @@ import lammps.mliap cimport cython from cpython.ref cimport PyObject from libc.stdlib cimport malloc, free +from libc.string cimport memcpy cdef extern from "lammps.h" namespace "LAMMPS_NS": @@ -387,15 +388,26 @@ cdef public object mliap_unified_connect(char *fname, MLIAPDummyModel * model, cdef int nelements = len(unified.element_types) cdef char **elements = malloc(nelements * sizeof(char*)) + cdef char * c_str + cdef char * s + cdef ssize_t slen if not elements: raise MemoryError("failed to allocate memory for element names") - cdef char *elem_name for i, elem in enumerate(unified.element_types): - elem_name_bytes = elem.encode('UTF-8') - elem_name = elem_name_bytes - elements[i] = &elem_name[0] + py_str = elem.encode('UTF-8') + + s = py_str + slen = len(py_str) + c_str = malloc((slen+1)*sizeof(char)) + if not c_str: + raise MemoryError("failed to allocate memory for element names") + memcpy(c_str, s, slen) + c_str[slen] = 0 + + elements[i] = c_str + unified_int.descriptor.set_elements(elements, nelements) unified_int.model.nelements = nelements diff --git a/src/ML-IAP/pair_mliap.cpp b/src/ML-IAP/pair_mliap.cpp index 66e8b848cd..8585fffadb 100644 --- a/src/ML-IAP/pair_mliap.cpp +++ b/src/ML-IAP/pair_mliap.cpp @@ -21,6 +21,9 @@ #include "mliap_data.h" #include "mliap_descriptor_snap.h" #include "mliap_descriptor_so3.h" +#ifdef MLIAP_ACE +#include "mliap_descriptor_ace.h" +#endif #include "mliap_model_linear.h" #include "mliap_model_nn.h" #include "mliap_model_quadratic.h" @@ -181,8 +184,16 @@ void PairMLIAP::settings(int narg, char ** arg) if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "pair_style mliap descriptor so3", error); descriptor = new MLIAPDescriptorSO3(lmp,arg[iarg+2]); iarg += 3; - - } else error->all(FLERR,"Illegal pair_style mliap command"); + } +#ifdef MLIAP_ACE + else if (strcmp(arg[iarg+1],"ace") == 0) { + if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); + if (lmp->kokkos) error->all(FLERR,"Cannot (yet) use KOKKOS package with ACE descriptors"); + descriptor = new MLIAPDescriptorACE(lmp,arg[iarg+2]); + iarg += 3; + } +#endif + else error->all(FLERR,"Illegal pair_style mliap command"); } else if (strcmp(arg[iarg], "unified") == 0) { #ifdef MLIAP_PYTHON if (model != nullptr) error->all(FLERR,"Illegal multiple pair_style mliap model definitions"); diff --git a/src/ML-PACE/compute_pace.cpp b/src/ML-PACE/compute_pace.cpp index b96432cfe3..fee9a0fa0e 100644 --- a/src/ML-PACE/compute_pace.cpp +++ b/src/ML-PACE/compute_pace.cpp @@ -11,24 +11,21 @@ ------------------------------------------------------------------------- */ #include "compute_pace.h" -#include "ace-evaluator/ace_evaluator.h" + #include "ace-evaluator/ace_c_basis.h" -#include "ace-evaluator/ace_abstract_basis.h" +#include "ace-evaluator/ace_evaluator.h" #include "ace-evaluator/ace_types.h" -#include -#include #include "atom.h" -#include "update.h" -#include "modify.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "force.h" -#include "pair.h" #include "comm.h" -#include "memory.h" #include "error.h" +#include "force.h" +#include "memory.h" +#include "modify.h" +#include "neigh_list.h" +#include "neighbor.h" +#include "pair.h" +#include "update.h" namespace LAMMPS_NS { struct ACECimpl { @@ -41,14 +38,14 @@ struct ACECimpl { ACECTildeBasisSet *basis_set; ACECTildeEvaluator *ace; }; -} +} // namespace LAMMPS_NS using namespace LAMMPS_NS; enum { SCALAR, VECTOR, ARRAY }; ComputePACE::ComputePACE(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), pace(nullptr), paceall(nullptr), - pace_peratom(nullptr), map(nullptr), cg(nullptr), c_pe(nullptr), c_virial(nullptr) + Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), pace(nullptr), paceall(nullptr), + pace_peratom(nullptr), map(nullptr), c_pe(nullptr), c_virial(nullptr), acecimpl(nullptr) { array_flag = 1; extarray = 0; @@ -111,6 +108,8 @@ ComputePACE::ComputePACE(LAMMPS *lmp, int narg, char **arg) : ComputePACE::~ComputePACE() { + modify->delete_compute(id_virial); + delete acecimpl; memory->destroy(pace); memory->destroy(paceall); @@ -132,10 +131,7 @@ void ComputePACE::init() // need an occasional full neighbor list neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL); - int count = 0; - for (int i = 0; i < modify->ncompute; i++) - if (strcmp(modify->compute[i]->style,"pace") == 0) count++; - if (count > 1 && comm->me == 0) + if (modify->get_compute_by_style("pace").size() > 1 && comm->me == 0) error->warning(FLERR,"More than one compute pace"); // allocate memory for global array @@ -145,22 +141,13 @@ void ComputePACE::init() // find compute for reference energy - std::string id_pe = std::string("thermo_pe"); - int ipe = modify->find_compute(id_pe); - if (ipe == -1) - error->all(FLERR,"compute thermo_pe does not exist."); - c_pe = modify->compute[ipe]; + c_pe = modify->get_compute_by_id("thermo_pe"); + if (!c_pe) error->all(FLERR,"Compute thermo_pe does not exist."); // add compute for reference virial tensor - std::string id_virial = std::string("pace_press"); - std::string pcmd = id_virial + " all pressure NULL virial"; - modify->add_compute(pcmd); - - int ivirial = modify->find_compute(id_virial); - if (ivirial == -1) - error->all(FLERR,"compute pace_press does not exist."); - c_virial = modify->compute[ivirial]; + id_virial = id + std::string("_press"); + c_virial = modify->add_compute(id_virial + " all pressure NULL virial"); } /* ---------------------------------------------------------------------- */ diff --git a/src/ML-PACE/compute_pace.h b/src/ML-PACE/compute_pace.h index 496c8a16d3..23243b0066 100644 --- a/src/ML-PACE/compute_pace.h +++ b/src/ML-PACE/compute_pace.h @@ -43,10 +43,11 @@ class ComputePACE : public Compute { double **pace_peratom; int *map; // map types to [0,nelements) int bikflag, bik_rows, dgradflag, dgrad_rows; - double *cg; double cutmax; + Compute *c_pe; Compute *c_virial; + std::string id_virial; void dbdotr_compute(); struct ACECimpl *acecimpl; diff --git a/src/ML-PACE/pair_pace_extrapolation.cpp b/src/ML-PACE/pair_pace_extrapolation.cpp index d9b8d3588a..ec42d232af 100644 --- a/src/ML-PACE/pair_pace_extrapolation.cpp +++ b/src/ML-PACE/pair_pace_extrapolation.cpp @@ -29,15 +29,12 @@ Copyright 2022 Yury Lysogorskiy^1, Anton Bochkarev^1, Matous Mrovec^1, Ralf Drau #include "force.h" #include "math_const.h" #include "memory.h" -#include "modify.h" #include "neigh_list.h" -#include "neigh_request.h" #include "neighbor.h" #include "update.h" -#include -#include #include +#include #include "ace/ace_b_basis.h" #include "ace/ace_b_evaluator.h" diff --git a/src/ML-PACE/pair_pace_extrapolation.h b/src/ML-PACE/pair_pace_extrapolation.h index 2dcec04d4b..440d999029 100644 --- a/src/ML-PACE/pair_pace_extrapolation.h +++ b/src/ML-PACE/pair_pace_extrapolation.h @@ -28,7 +28,6 @@ PairStyle(pace/extrapolation,PairPACEExtrapolation) #define LMP_PAIR_PACE_AL_H #include "pair.h" -#include namespace LAMMPS_NS { diff --git a/src/ML-SNAP/compute_sna_atom.cpp b/src/ML-SNAP/compute_sna_atom.cpp index b1b4a46482..c3582f200c 100644 --- a/src/ML-SNAP/compute_sna_atom.cpp +++ b/src/ML-SNAP/compute_sna_atom.cpp @@ -26,6 +26,7 @@ #include "memory.h" #include "error.h" +#include #include using namespace LAMMPS_NS; diff --git a/src/ML-SNAP/compute_snap.cpp b/src/ML-SNAP/compute_snap.cpp index 3141791f6c..99a9a96361 100644 --- a/src/ML-SNAP/compute_snap.cpp +++ b/src/ML-SNAP/compute_snap.cpp @@ -30,14 +30,13 @@ using namespace LAMMPS_NS; -enum{SCALAR,VECTOR,ARRAY}; +enum { SCALAR, VECTOR, ARRAY }; ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), snap(nullptr), - snapall(nullptr), snap_peratom(nullptr), radelem(nullptr), wjelem(nullptr), - sinnerelem(nullptr), dinnerelem(nullptr), snaptr(nullptr) + Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), snap(nullptr), snapall(nullptr), + snap_peratom(nullptr), radelem(nullptr), wjelem(nullptr), map(nullptr), sinnerelem(nullptr), + dinnerelem(nullptr), snaptr(nullptr), c_pe(nullptr), c_virial(nullptr) { - array_flag = 1; extarray = 0; @@ -172,22 +171,18 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : } if (switchinnerflag && !(sinnerflag && dinnerflag)) - error->all( - FLERR, - "Illegal compute {} command: switchinnerflag = 1, missing sinner/dinner keyword", - style); + error->all(FLERR, "Illegal compute {} command: switchinnerflag = 1, " + "missing sinner/dinner keyword", style); if (!switchinnerflag && (sinnerflag || dinnerflag)) - error->all( - FLERR, - "Illegal compute {} command: switchinnerflag = 0, unexpected sinner/dinner keyword", - style); + error->all(FLERR, "Illegal compute {} command: switchinnerflag = 0, " + "unexpected sinner/dinner keyword", style); if (dgradflag && !bikflag) - error->all(FLERR,"Illegal compute snap command: dgradflag=1 requires bikflag=1"); + error->all(FLERR, "Illegal compute snap command: dgradflag=1 requires bikflag=1"); if (dgradflag && quadraticflag) - error->all(FLERR,"Illegal compute snap command: dgradflag=1 not implemented for quadratic SNAP"); + error->all(FLERR, "Illegal compute snap command: dgradflag=1 not implemented for quadratic SNAP"); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); @@ -210,7 +205,8 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : if (dgradflag) { size_array_rows = bik_rows + 3*natoms*natoms + 1; size_array_cols = nvalues + 3; - error->warning(FLERR,"dgradflag=1 creates a N^2 array, beware of large systems."); + if (comm->me == 0) + error->warning(FLERR, "dgradflag=1 creates a N^2 array, beware of large systems."); } else size_array_cols = nvalues*atom->ntypes + 1; lastcol = size_array_cols-1; @@ -249,7 +245,8 @@ void ComputeSnap::init() error->all(FLERR,"Compute snap requires a pair style be defined"); if (cutmax > force->pair->cutforce) - error->all(FLERR,"Compute snap cutoff is longer than pairwise cutoff"); + error->all(FLERR,"Compute snap cutoff {} is longer than pairwise cutoff {}", + cutmax, force->pair->cutforce); // need an occasional full neighbor list @@ -261,31 +258,19 @@ void ComputeSnap::init() // allocate memory for global array - memory->create(snap,size_array_rows,size_array_cols, - "snap:snap"); - memory->create(snapall,size_array_rows,size_array_cols, - "snap:snapall"); + memory->create(snap,size_array_rows,size_array_cols, "snap:snap"); + memory->create(snapall,size_array_rows,size_array_cols, "snap:snapall"); array = snapall; - // find compute for reference energy + // find compute for global reference potential energy - std::string id_pe = std::string("thermo_pe"); - int ipe = modify->find_compute(id_pe); - if (ipe == -1) - error->all(FLERR,"compute thermo_pe does not exist."); - c_pe = modify->compute[ipe]; + c_pe = modify->get_compute_by_id("thermo_pe"); + if (!c_pe) error->all(FLERR,"compute thermo_pe does not exist."); - // add compute for reference virial tensor - - std::string id_virial = std::string("snap_press"); - std::string pcmd = id_virial + " all pressure NULL virial"; - modify->add_compute(pcmd); - - int ivirial = modify->find_compute(id_virial); - if (ivirial == -1) - error->all(FLERR,"compute snap_press does not exist."); - c_virial = modify->compute[ivirial]; + // add compute for global reference virial tensor + id_virial = id + std::string("_press"); + c_virial = modify->add_compute(id_virial + " all pressure NULL virial"); } @@ -309,8 +294,7 @@ void ComputeSnap::compute_array() if (atom->nmax > nmax) { memory->destroy(snap_peratom); nmax = atom->nmax; - memory->create(snap_peratom,nmax,size_peratom, - "snap:snap_peratom"); + memory->create(snap_peratom,nmax,size_peratom, "snap:snap_peratom"); } // clear global array diff --git a/src/ML-SNAP/compute_snap.h b/src/ML-SNAP/compute_snap.h index 2b8b972bbc..fe0b35d9e3 100644 --- a/src/ML-SNAP/compute_snap.h +++ b/src/ML-SNAP/compute_snap.h @@ -28,6 +28,7 @@ class ComputeSnap : public Compute { public: ComputeSnap(class LAMMPS *, int, char **); ~ComputeSnap() override; + void init() override; void init_list(int, class NeighList *) override; void compute_array() override; @@ -56,10 +57,10 @@ class ComputeSnap : public Compute { Compute *c_pe; Compute *c_virial; + std::string id_virial; void dbdotr_compute(); }; - } // namespace LAMMPS_NS #endif diff --git a/src/MOLECULE/bond_gromos.cpp b/src/MOLECULE/bond_gromos.cpp index badb808007..1917f18686 100644 --- a/src/MOLECULE/bond_gromos.cpp +++ b/src/MOLECULE/bond_gromos.cpp @@ -24,6 +24,7 @@ #include "memory.h" #include "neighbor.h" +#include #include using namespace LAMMPS_NS; diff --git a/src/MOLECULE/fix_cmap.cpp b/src/MOLECULE/fix_cmap.cpp index cb4cb8cadc..bc220da30e 100644 --- a/src/MOLECULE/fix_cmap.cpp +++ b/src/MOLECULE/fix_cmap.cpp @@ -970,7 +970,8 @@ void FixCMAP::read_data_section(char * /*keyword*/, int /*n*/, char *buf, atom5 = values.next_tagint(); if (values.has_next()) throw TokenizerException("too many items",line); } catch (std::exception &e) { - error->all(FLERR,"Incorrect format of CMAP section: {}", e.what()); + error->all(FLERR,"Incorrect format of CMAP section in data file: {}{}", + e.what(), utils::errorurl(2)); } atom1 += id_offset; diff --git a/src/MOLECULE/pair_tip4p_cut.cpp b/src/MOLECULE/pair_tip4p_cut.cpp index 6d27c1a164..73a5651e6b 100644 --- a/src/MOLECULE/pair_tip4p_cut.cpp +++ b/src/MOLECULE/pair_tip4p_cut.cpp @@ -30,6 +30,7 @@ #include "neighbor.h" #include +#include using namespace LAMMPS_NS; diff --git a/src/MOLFILE/molfile_interface.cpp b/src/MOLFILE/molfile_interface.cpp index 8f5ac8545e..84aa63cefc 100644 --- a/src/MOLFILE/molfile_interface.cpp +++ b/src/MOLFILE/molfile_interface.cpp @@ -26,7 +26,6 @@ #include #include -#include #if vmdplugin_ABIVERSION < 16 #error "unsupported VMD molfile plugin ABI version" diff --git a/src/OPENMP/angle_cosine_squared_omp.cpp b/src/OPENMP/angle_cosine_squared_omp.cpp index 9b849c62a3..f70e167d36 100644 --- a/src/OPENMP/angle_cosine_squared_omp.cpp +++ b/src/OPENMP/angle_cosine_squared_omp.cpp @@ -16,14 +16,16 @@ Contributing author: Axel Kohlmeyer (Temple U) ------------------------------------------------------------------------- */ -#include "omp_compat.h" #include "angle_cosine_squared_omp.h" -#include + #include "atom.h" #include "comm.h" #include "force.h" #include "neighbor.h" +#include + +#include "omp_compat.h" #include "suffix.h" using namespace LAMMPS_NS; diff --git a/src/OPENMP/angle_cosine_squared_restricted_omp.cpp b/src/OPENMP/angle_cosine_squared_restricted_omp.cpp new file mode 100644 index 0000000000..80960653b4 --- /dev/null +++ b/src/OPENMP/angle_cosine_squared_restricted_omp.cpp @@ -0,0 +1,170 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + +#include "angle_cosine_squared_restricted_omp.h" + +#include "atom.h" +#include "comm.h" +#include "force.h" +#include "neighbor.h" + +#include + +#include "omp_compat.h" +#include "suffix.h" +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +AngleCosineSquaredRestrictedOMP::AngleCosineSquaredRestrictedOMP(class LAMMPS *lmp) + : AngleCosineSquaredRestricted(lmp), ThrOMP(lmp,THR_ANGLE) +{ + suffix_flag |= Suffix::OMP; +} + +/* ---------------------------------------------------------------------- */ + +void AngleCosineSquaredRestrictedOMP::compute(int eflag, int vflag) +{ + ev_init(eflag,vflag); + + const int nall = atom->nlocal + atom->nghost; + const int nthreads = comm->nthreads; + const int inum = neighbor->nanglelist; + +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag) +#endif + { + int ifrom, ito, tid; + + loop_setup_thr(ifrom, ito, tid, inum, nthreads); + ThrData *thr = fix->get_thr(tid); + thr->timer(Timer::START); + ev_setup_thr(eflag, vflag, nall, eatom, vatom, cvatom, thr); + + if (inum > 0) { + if (evflag) { + if (eflag) { + if (force->newton_bond) eval<1,1,1>(ifrom, ito, thr); + else eval<1,1,0>(ifrom, ito, thr); + } else { + if (force->newton_bond) eval<1,0,1>(ifrom, ito, thr); + else eval<1,0,0>(ifrom, ito, thr); + } + } else { + if (force->newton_bond) eval<0,0,1>(ifrom, ito, thr); + else eval<0,0,0>(ifrom, ito, thr); + } + } + thr->timer(Timer::BOND); + reduce_thr(this, eflag, vflag, thr); + } // end of omp parallel region +} + +template +void AngleCosineSquaredRestrictedOMP::eval(int nfrom, int nto, ThrData * const thr) +{ + int i1,i2,i3,n,type; + double delx1,dely1,delz1,delx2,dely2,delz2; + double eangle,f1[3],f3[3]; + double tk,rsq1,rsq2,r1,r2,c,a,a11,a12,a22; + + const auto * _noalias const x = (dbl3_t *) atom->x[0]; + auto * _noalias const f = (dbl3_t *) thr->get_f()[0]; + const int4_t * _noalias const anglelist = (int4_t *) neighbor->anglelist[0]; + const int nlocal = atom->nlocal; + eangle = 0.0; + + for (n = nfrom; n < nto; n++) { + i1 = anglelist[n].a; + i2 = anglelist[n].b; + i3 = anglelist[n].c; + type = anglelist[n].t; + + // 1st bond + + delx1 = x[i1].x - x[i2].x; + dely1 = x[i1].y - x[i2].y; + delz1 = x[i1].z - x[i2].z; + + rsq1 = delx1*delx1 + dely1*dely1 + delz1*delz1; + r1 = sqrt(rsq1); + + // 2nd bond + + delx2 = x[i3].x - x[i2].x; + dely2 = x[i3].y - x[i2].y; + delz2 = x[i3].z - x[i2].z; + + rsq2 = delx2*delx2 + dely2*dely2 + delz2*delz2; + r2 = sqrt(rsq2); + + // angle (cos and sin) + + c = delx1*delx2 + dely1*dely2 + delz1*delz2; + c /= r1*r2; + + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + // force & energy + + double sq_sin = 1.0 - c * c; + double c0 = cos(theta0[type]); + + tk = k[type] * (c - c0) * (1.0 - c * c0) / (sq_sin * sq_sin); + + if (EFLAG) eangle = k[type] * (c - c0) * (c - c0) / sq_sin; + + a = 2.0 * tk; + a11 = a*c / rsq1; + a12 = -a / (r1*r2); + a22 = a*c / rsq2; + + f1[0] = a11*delx1 + a12*delx2; + f1[1] = a11*dely1 + a12*dely2; + f1[2] = a11*delz1 + a12*delz2; + f3[0] = a22*delx2 + a12*delx1; + f3[1] = a22*dely2 + a12*dely1; + f3[2] = a22*delz2 + a12*delz1; + + // apply force to each of 3 atoms + + if (NEWTON_BOND || i1 < nlocal) { + f[i1].x += f1[0]; + f[i1].y += f1[1]; + f[i1].z += f1[2]; + } + + if (NEWTON_BOND || i2 < nlocal) { + f[i2].x -= f1[0] + f3[0]; + f[i2].y -= f1[1] + f3[1]; + f[i2].z -= f1[2] + f3[2]; + } + + if (NEWTON_BOND || i3 < nlocal) { + f[i3].x += f3[0]; + f[i3].y += f3[1]; + f[i3].z += f3[2]; + } + + if (EVFLAG) ev_tally_thr(this,i1,i2,i3,nlocal,NEWTON_BOND,eangle,f1,f3, + delx1,dely1,delz1,delx2,dely2,delz2,thr); + } +} diff --git a/src/OPENMP/angle_cosine_squared_restricted_omp.h b/src/OPENMP/angle_cosine_squared_restricted_omp.h new file mode 100644 index 0000000000..b2ad545230 --- /dev/null +++ b/src/OPENMP/angle_cosine_squared_restricted_omp.h @@ -0,0 +1,46 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + +#ifdef ANGLE_CLASS +// clang-format off +AngleStyle(cosine/squared/restricted/omp,AngleCosineSquaredRestrictedOMP); +// clang-format on +#else + +#ifndef LMP_ANGLE_COSINE_SQUARED_RESTRICTED_OMP_H +#define LMP_ANGLE_COSINE_SQUARED_RESTRICTED_OMP_H + +#include "angle_cosine_squared_restricted.h" +#include "thr_omp.h" + +namespace LAMMPS_NS { + +class AngleCosineSquaredRestrictedOMP : public AngleCosineSquaredRestricted, public ThrOMP { + + public: + AngleCosineSquaredRestrictedOMP(class LAMMPS *lmp); + void compute(int, int) override; + + private: + template + void eval(int ifrom, int ito, ThrData *const thr); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/OPENMP/angle_lepton_omp.cpp b/src/OPENMP/angle_lepton_omp.cpp index f57cf916a2..918fb57871 100644 --- a/src/OPENMP/angle_lepton_omp.cpp +++ b/src/OPENMP/angle_lepton_omp.cpp @@ -16,13 +16,16 @@ ------------------------------------------------------------------------- */ #include "angle_lepton_omp.h" + #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "neighbor.h" #include "suffix.h" #include +#include #include "Lepton.h" #include "lepton_utils.h" diff --git a/src/OPENMP/bond_lepton_omp.cpp b/src/OPENMP/bond_lepton_omp.cpp index d9982b08f8..995e2fac09 100644 --- a/src/OPENMP/bond_lepton_omp.cpp +++ b/src/OPENMP/bond_lepton_omp.cpp @@ -18,11 +18,13 @@ #include "bond_lepton_omp.h" #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "neighbor.h" #include "suffix.h" #include +#include #include "Lepton.h" #include "lepton_utils.h" diff --git a/src/OPENMP/dihedral_lepton_omp.cpp b/src/OPENMP/dihedral_lepton_omp.cpp index 37748ce9d5..206749fcfa 100644 --- a/src/OPENMP/dihedral_lepton_omp.cpp +++ b/src/OPENMP/dihedral_lepton_omp.cpp @@ -18,12 +18,14 @@ #include "dihedral_lepton_omp.h" #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "math_extra.h" #include "neighbor.h" #include "suffix.h" #include +#include #include "Lepton.h" #include "lepton_utils.h" diff --git a/src/OPENMP/fix_nh_omp.cpp b/src/OPENMP/fix_nh_omp.cpp index d3565c4994..7ef69af0fe 100644 --- a/src/OPENMP/fix_nh_omp.cpp +++ b/src/OPENMP/fix_nh_omp.cpp @@ -22,7 +22,6 @@ #include "compute.h" #include "domain.h" #include "error.h" -#include "modify.h" #include diff --git a/src/OPENMP/fix_omp.cpp b/src/OPENMP/fix_omp.cpp index 3a249bad82..f7828f43ee 100644 --- a/src/OPENMP/fix_omp.cpp +++ b/src/OPENMP/fix_omp.cpp @@ -161,12 +161,15 @@ void FixOMP::init() { // OPENMP package cannot be used with atom_style template if (atom->molecular == Atom::TEMPLATE) - error->all(FLERR,"OPENMP package does not (yet) work with " - "atom_style template"); + error->all(FLERR,"OPENMP package does not (yet) work with atom_style template"); // adjust number of data objects when the number of OpenMP // threads has been changed somehow const int nthreads = comm->nthreads; +#if defined(_OPENMP) + // make certain threads are initialized correctly. avoids segfaults with LAMMPS-GUI + if (nthreads != omp_get_max_threads()) omp_set_num_threads(nthreads); +#endif if (_nthr != nthreads) { if (comm->me == 0) utils::logmesg(lmp,"Re-init OPENMP for {} OpenMP thread(s)\n", nthreads); @@ -212,7 +215,7 @@ void FixOMP::init() // kspace_split < 0 : master partition, does not do kspace // kspace_split > 0 : slave partition, only does kspace - if (strstr(update->integrate_style,"verlet/split") != nullptr) { + if (utils::strmatch(update->integrate_style, "^verlet/split")) { if (universe->iworld == 0) kspace_split = -1; else kspace_split = 1; } else { diff --git a/src/OPENMP/fix_rigid_nh_omp.cpp b/src/OPENMP/fix_rigid_nh_omp.cpp index 19e5d4f240..f5e4a1f49d 100644 --- a/src/OPENMP/fix_rigid_nh_omp.cpp +++ b/src/OPENMP/fix_rigid_nh_omp.cpp @@ -30,7 +30,6 @@ #include "kspace.h" #include "math_const.h" #include "math_extra.h" -#include "modify.h" #include "rigid_const.h" #include "update.h" diff --git a/src/OPENMP/npair_bin_omp.cpp b/src/OPENMP/npair_bin_omp.cpp index 5b2189dec2..7922d76612 100644 --- a/src/OPENMP/npair_bin_omp.cpp +++ b/src/OPENMP/npair_bin_omp.cpp @@ -25,6 +25,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/npair_multi_old_omp.cpp b/src/OPENMP/npair_multi_old_omp.cpp index d45f2d1f5f..fa790e177a 100644 --- a/src/OPENMP/npair_multi_old_omp.cpp +++ b/src/OPENMP/npair_multi_old_omp.cpp @@ -24,6 +24,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/npair_multi_omp.cpp b/src/OPENMP/npair_multi_omp.cpp index 3f8604572c..cbc21ebc29 100644 --- a/src/OPENMP/npair_multi_omp.cpp +++ b/src/OPENMP/npair_multi_omp.cpp @@ -26,6 +26,8 @@ #include "neigh_list.h" #include "neighbor.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/npair_nsq_omp.cpp b/src/OPENMP/npair_nsq_omp.cpp index c482fc8f2d..5d6aa518b0 100644 --- a/src/OPENMP/npair_nsq_omp.cpp +++ b/src/OPENMP/npair_nsq_omp.cpp @@ -27,6 +27,8 @@ #include "neigh_list.h" #include "neighbor.h" +#include + using namespace LAMMPS_NS; using namespace NeighConst; diff --git a/src/OPENMP/npair_respa_bin_omp.cpp b/src/OPENMP/npair_respa_bin_omp.cpp index c958167ba0..a069affb06 100644 --- a/src/OPENMP/npair_respa_bin_omp.cpp +++ b/src/OPENMP/npair_respa_bin_omp.cpp @@ -25,6 +25,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/npair_respa_nsq_omp.cpp b/src/OPENMP/npair_respa_nsq_omp.cpp index 6815b21544..deba473678 100644 --- a/src/OPENMP/npair_respa_nsq_omp.cpp +++ b/src/OPENMP/npair_respa_nsq_omp.cpp @@ -26,6 +26,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/pair_airebo_omp.cpp b/src/OPENMP/pair_airebo_omp.cpp index 9f992aefda..6736b10f8f 100644 --- a/src/OPENMP/pair_airebo_omp.cpp +++ b/src/OPENMP/pair_airebo_omp.cpp @@ -38,8 +38,7 @@ static constexpr double TOL = 1.0e-9; /* ---------------------------------------------------------------------- */ -PairAIREBOOMP::PairAIREBOOMP(LAMMPS *lmp) : - PairAIREBO(lmp), ThrOMP(lmp, THR_PAIR) +PairAIREBOOMP::PairAIREBOOMP(LAMMPS *lmp) : PairAIREBO(lmp), ThrOMP(lmp, THR_PAIR) { suffix_flag |= Suffix::OMP; respa_enable = 0; @@ -1121,12 +1120,9 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, cosjik = MIN(cosjik,1.0); cosjik = MAX(cosjik,-1.0); - dcosjikdri[0] = ((rij[0]+rik[0])*invrijkm) - - (cosjik*((rij[0]*invrijm2)+(rik[0]*invrikm2))); - dcosjikdri[1] = ((rij[1]+rik[1])*invrijkm) - - (cosjik*((rij[1]*invrijm2)+(rik[1]*invrikm2))); - dcosjikdri[2] = ((rij[2]+rik[2])*invrijkm) - - (cosjik*((rij[2]*invrijm2)+(rik[2]*invrikm2))); + dcosjikdri[0] = ((rij[0]+rik[0])*invrijkm) - (cosjik*((rij[0]*invrijm2)+(rik[0]*invrikm2))); + dcosjikdri[1] = ((rij[1]+rik[1])*invrijkm) - (cosjik*((rij[1]*invrijm2)+(rik[1]*invrikm2))); + dcosjikdri[2] = ((rij[2]+rik[2])*invrijkm) - (cosjik*((rij[2]*invrijm2)+(rik[2]*invrikm2))); dcosjikdrk[0] = (-rij[0]*invrijkm) + (cosjik*(rik[0]*invrikm2)); dcosjikdrk[1] = (-rij[1]*invrijkm) + (cosjik*(rik[1]*invrikm2)); dcosjikdrk[2] = (-rij[2]*invrijkm) + (cosjik*(rik[2]*invrikm2)); diff --git a/src/OPENMP/pair_coul_dsf_omp.cpp b/src/OPENMP/pair_coul_dsf_omp.cpp index 64f4c1ce8d..d19263c3bb 100644 --- a/src/OPENMP/pair_coul_dsf_omp.cpp +++ b/src/OPENMP/pair_coul_dsf_omp.cpp @@ -13,25 +13,23 @@ Contributing author: Axel Kohlmeyer (Temple U) ------------------------------------------------------------------------- */ -#include "omp_compat.h" #include "pair_coul_dsf_omp.h" -#include + #include "atom.h" #include "comm.h" +#include "ewald_const.h" #include "force.h" #include "neigh_list.h" - -#include "suffix.h" #include "math_const.h" -using namespace LAMMPS_NS; -using MathConst::MY_PIS; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; +#include "omp_compat.h" +#include "suffix.h" + +#include + +using namespace LAMMPS_NS; +using namespace EwaldConst; +using MathConst::MY_PIS; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/pair_eam_omp.cpp b/src/OPENMP/pair_eam_omp.cpp index e99fbedbb7..c530f383df 100644 --- a/src/OPENMP/pair_eam_omp.cpp +++ b/src/OPENMP/pair_eam_omp.cpp @@ -17,6 +17,7 @@ #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "memory.h" #include "neigh_list.h" @@ -45,6 +46,7 @@ void PairEAMOMP::compute(int eflag, int vflag) const int nall = atom->nlocal + atom->nghost; const int nthreads = comm->nthreads; const int inum = list->inum; + int beyond_rhomax = 0; // grow energy and fp arrays if necessary // need to be atom->nmax in length @@ -60,7 +62,7 @@ void PairEAMOMP::compute(int eflag, int vflag) } #if defined(_OPENMP) -#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag) reduction(+:beyond_rhomax) #endif { int ifrom, ito, tid; @@ -77,24 +79,34 @@ void PairEAMOMP::compute(int eflag, int vflag) if (evflag) { if (eflag) { - if (force->newton_pair) eval<1,1,1>(ifrom, ito, thr); - else eval<1,1,0>(ifrom, ito, thr); + if (force->newton_pair) eval<1,1,1>(ifrom, ito, &beyond_rhomax, thr); + else eval<1,1,0>(ifrom, ito, &beyond_rhomax, thr); } else { - if (force->newton_pair) eval<1,0,1>(ifrom, ito, thr); - else eval<1,0,0>(ifrom, ito, thr); + if (force->newton_pair) eval<1,0,1>(ifrom, ito, &beyond_rhomax, thr); + else eval<1,0,0>(ifrom, ito, &beyond_rhomax, thr); } } else { - if (force->newton_pair) eval<0,0,1>(ifrom, ito, thr); - else eval<0,0,0>(ifrom, ito, thr); + if (force->newton_pair) eval<0,0,1>(ifrom, ito, &beyond_rhomax, thr); + else eval<0,0,0>(ifrom, ito, &beyond_rhomax, thr); } thr->timer(Timer::PAIR); reduce_thr(this, eflag, vflag, thr); } // end of omp parallel region + + if (eflag && (!exceeded_rhomax)) { + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); + if (exceeded_rhomax) { + if (comm->me == 0) + error->warning(FLERR, + "A per-atom density exceeded rhomax of EAM potential table - " + "a linear extrapolation to the energy was made"); + } + } } template -void PairEAMOMP::eval(int iifrom, int iito, ThrData * const thr) +void PairEAMOMP::eval(int iifrom, int iito, int *beyond_rhomax, ThrData * const thr) { int i,j,ii,jj,m,jnum,itype,jtype; double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; @@ -203,7 +215,10 @@ void PairEAMOMP::eval(int iifrom, int iito, ThrData * const thr) fp[i] = (coeff[0]*p + coeff[1])*p + coeff[2]; if (EFLAG) { phi = ((coeff[3]*p + coeff[4])*p + coeff[5])*p + coeff[6]; - if (rho[i] > rhomax) phi += fp[i] * (rho[i]-rhomax); + if (rho[i] > rhomax) { + phi += fp[i] * (rho[i]-rhomax); + *beyond_rhomax = 1; + } e_tally_thr(this, i, i, nlocal, NEWTON_PAIR, scale[type[i]][type[i]]*phi, 0.0, thr); } } diff --git a/src/OPENMP/pair_eam_omp.h b/src/OPENMP/pair_eam_omp.h index 1be24fc18a..e801e52762 100644 --- a/src/OPENMP/pair_eam_omp.h +++ b/src/OPENMP/pair_eam_omp.h @@ -39,7 +39,7 @@ class PairEAMOMP : public PairEAM, public ThrOMP { private: template - void eval(int iifrom, int iito, ThrData *const thr); + void eval(int iifrom, int iito, int *beyond_rhomax, ThrData *const thr); }; } // namespace LAMMPS_NS diff --git a/src/OPENMP/pair_lepton_coul_omp.cpp b/src/OPENMP/pair_lepton_coul_omp.cpp index 532c16d797..ae737ef1cb 100644 --- a/src/OPENMP/pair_lepton_coul_omp.cpp +++ b/src/OPENMP/pair_lepton_coul_omp.cpp @@ -16,6 +16,7 @@ #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "neigh_list.h" #include "suffix.h" @@ -26,6 +27,7 @@ #include #include +#include using namespace LAMMPS_NS; diff --git a/src/OPENMP/pair_lepton_omp.cpp b/src/OPENMP/pair_lepton_omp.cpp index 58692e52d6..3b07a7b757 100644 --- a/src/OPENMP/pair_lepton_omp.cpp +++ b/src/OPENMP/pair_lepton_omp.cpp @@ -16,6 +16,7 @@ #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "neigh_list.h" #include "suffix.h" @@ -23,8 +24,9 @@ #include "Lepton.h" #include "lepton_utils.h" #include "omp_compat.h" -#include + #include +#include using namespace LAMMPS_NS; diff --git a/src/OPENMP/pair_lepton_sphere_omp.cpp b/src/OPENMP/pair_lepton_sphere_omp.cpp index 79afe27717..6de9714f3e 100644 --- a/src/OPENMP/pair_lepton_sphere_omp.cpp +++ b/src/OPENMP/pair_lepton_sphere_omp.cpp @@ -16,6 +16,7 @@ #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "neigh_list.h" #include "suffix.h" @@ -26,6 +27,7 @@ #include #include +#include using namespace LAMMPS_NS; diff --git a/src/OPENMP/pair_lj_cut_coul_dsf_omp.cpp b/src/OPENMP/pair_lj_cut_coul_dsf_omp.cpp index d05d49f277..d43c161d07 100644 --- a/src/OPENMP/pair_lj_cut_coul_dsf_omp.cpp +++ b/src/OPENMP/pair_lj_cut_coul_dsf_omp.cpp @@ -17,6 +17,7 @@ #include "atom.h" #include "comm.h" +#include "ewald_const.h" #include "force.h" #include "math_const.h" #include "neigh_list.h" @@ -27,15 +28,9 @@ #include "omp_compat.h" using namespace LAMMPS_NS; +using namespace EwaldConst; using MathConst::MY_PIS; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - /* ---------------------------------------------------------------------- */ PairLJCutCoulDSFOMP::PairLJCutCoulDSFOMP(LAMMPS *lmp) : diff --git a/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp b/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp index 2654ac17fe..8f824ca272 100644 --- a/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp +++ b/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp @@ -13,23 +13,24 @@ Contributing author: Axel Kohlmeyer (Temple U) ------------------------------------------------------------------------- */ -#include "omp_compat.h" #include "pair_lj_cut_tip4p_long_omp.h" -#include + #include "atom.h" -#include "domain.h" #include "comm.h" -#include "ewald_const.h" -#include "force.h" -#include "neighbor.h" +#include "domain.h" #include "error.h" #include "ewald_const.h" +#include "force.h" #include "memory.h" #include "neigh_list.h" - +#include "neighbor.h" #include "suffix.h" -using namespace LAMMPS_NS; +#include + +#include "omp_compat.h" + +using namespace LAMMPS_NS; using namespace EwaldConst; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/pair_lj_cut_tip4p_long_soft_omp.cpp b/src/OPENMP/pair_lj_cut_tip4p_long_soft_omp.cpp index e1c668202a..a646a2dec1 100644 --- a/src/OPENMP/pair_lj_cut_tip4p_long_soft_omp.cpp +++ b/src/OPENMP/pair_lj_cut_tip4p_long_soft_omp.cpp @@ -13,22 +13,23 @@ Contributing author: Axel Kohlmeyer (Temple U) ------------------------------------------------------------------------- */ -#include "omp_compat.h" -#include #include "pair_lj_cut_tip4p_long_soft_omp.h" + #include "atom.h" -#include "domain.h" #include "comm.h" -#include "ewald_const.h" -#include "force.h" -#include "neighbor.h" +#include "domain.h" #include "error.h" #include "ewald_const.h" +#include "force.h" #include "memory.h" #include "neigh_list.h" - +#include "neighbor.h" #include "suffix.h" +#include + +#include "omp_compat.h" + using namespace LAMMPS_NS; using namespace EwaldConst; diff --git a/src/OPENMP/pair_lj_expand_sphere_omp.cpp b/src/OPENMP/pair_lj_expand_sphere_omp.cpp index c19d3e7a7f..40f878cdc2 100644 --- a/src/OPENMP/pair_lj_expand_sphere_omp.cpp +++ b/src/OPENMP/pair_lj_expand_sphere_omp.cpp @@ -21,6 +21,8 @@ #include "neigh_list.h" #include "suffix.h" +#include + #include "omp_compat.h" using namespace LAMMPS_NS; using MathSpecial::powint; diff --git a/src/OPENMP/pair_pedone_omp.cpp b/src/OPENMP/pair_pedone_omp.cpp new file mode 100644 index 0000000000..140816bfe4 --- /dev/null +++ b/src/OPENMP/pair_pedone_omp.cpp @@ -0,0 +1,169 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + This software is distributed under the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + +#include "pair_pedone_omp.h" + +#include "atom.h" +#include "comm.h" +#include "force.h" +#include "neigh_list.h" +#include "suffix.h" + +#include + +#include "omp_compat.h" +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +PairPedoneOMP::PairPedoneOMP(LAMMPS *lmp) : PairPedone(lmp), ThrOMP(lmp, THR_PAIR) +{ + suffix_flag |= Suffix::OMP; + respa_enable = 0; +} + +/* ---------------------------------------------------------------------- */ + +void PairPedoneOMP::compute(int eflag, int vflag) +{ + ev_init(eflag, vflag); + + const int nall = atom->nlocal + atom->nghost; + const int nthreads = comm->nthreads; + const int inum = list->inum; + +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag, vflag) +#endif + { + int ifrom, ito, tid; + + loop_setup_thr(ifrom, ito, tid, inum, nthreads); + ThrData *thr = fix->get_thr(tid); + thr->timer(Timer::START); + ev_setup_thr(eflag, vflag, nall, eatom, vatom, nullptr, thr); + + if (evflag) { + if (eflag) { + if (force->newton_pair) + eval<1, 1, 1>(ifrom, ito, thr); + else + eval<1, 1, 0>(ifrom, ito, thr); + } else { + if (force->newton_pair) + eval<1, 0, 1>(ifrom, ito, thr); + else + eval<1, 0, 0>(ifrom, ito, thr); + } + } else { + if (force->newton_pair) + eval<0, 0, 1>(ifrom, ito, thr); + else + eval<0, 0, 0>(ifrom, ito, thr); + } + + thr->timer(Timer::PAIR); + reduce_thr(this, eflag, vflag, thr); + } // end of omp parallel region +} + +template +void PairPedoneOMP::eval(int iifrom, int iito, ThrData *const thr) +{ + int i, j, ii, jj, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair; + double rsq, r, r2inv, r6inv, dr, dexp, factor_lj; + int *ilist, *jlist, *numneigh, **firstneigh; + + evdwl = 0.0; + + const auto *_noalias const x = (dbl3_t *) atom->x[0]; + auto *_noalias const f = (dbl3_t *) thr->get_f()[0]; + const int *_noalias const type = atom->type; + const int nlocal = atom->nlocal; + const double *_noalias const special_lj = force->special_lj; + double fxtmp, fytmp, fztmp; + + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = iifrom; ii < iito; ++ii) { + + i = ilist[ii]; + xtmp = x[i].x; + ytmp = x[i].y; + ztmp = x[i].z; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + fxtmp = fytmp = fztmp = 0.0; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j].x; + dely = ytmp - x[j].y; + delz = ztmp - x[j].z; + rsq = delx * delx + dely * dely + delz * delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + dexp = exp(-alpha[itype][jtype] * dr); + fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + + pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fpair *= factor_lj; + + fxtmp += delx * fpair; + fytmp += dely * fpair; + fztmp += delz * fpair; + if (NEWTON_PAIR || j < nlocal) { + f[j].x -= delx * fpair; + f[j].y -= dely * fpair; + f[j].z -= delz * fpair; + } + + if (EFLAG) { + evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) + c0[itype][jtype] * r6inv * r6inv - + offset[itype][jtype]; + evdwl *= factor_lj; + } + + if (EVFLAG) + ev_tally_thr(this, i, j, nlocal, NEWTON_PAIR, evdwl, 0.0, fpair, delx, dely, delz, thr); + } + } + f[i].x += fxtmp; + f[i].y += fytmp; + f[i].z += fztmp; + } +} + +/* ---------------------------------------------------------------------- */ + +double PairPedoneOMP::memory_usage() +{ + double bytes = memory_usage_thr(); + bytes += PairPedone::memory_usage(); + + return bytes; +} diff --git a/src/OPENMP/pair_pedone_omp.h b/src/OPENMP/pair_pedone_omp.h new file mode 100644 index 0000000000..8c23e86fcd --- /dev/null +++ b/src/OPENMP/pair_pedone_omp.h @@ -0,0 +1,48 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(pedone/omp,PairPedoneOMP); +// clang-format on +#else + +#ifndef LMP_PAIR_PEDONE_OMP_H +#define LMP_PAIR_PEDONE_OMP_H + +#include "pair_pedone.h" +#include "thr_omp.h" + +namespace LAMMPS_NS { + +class PairPedoneOMP : public PairPedone, public ThrOMP { + + public: + PairPedoneOMP(class LAMMPS *); + + void compute(int, int) override; + double memory_usage() override; + + private: + template + void eval(int ifrom, int ito, ThrData *const thr); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/OPENMP/pair_rebomos_omp.cpp b/src/OPENMP/pair_rebomos_omp.cpp new file mode 100644 index 0000000000..06b979d41a --- /dev/null +++ b/src/OPENMP/pair_rebomos_omp.cpp @@ -0,0 +1,701 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS Development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + References: + + This code: + Stewart J A and Spearot D E (2013) Atomistic simulations of nanoindentation on the basal plane of crystalline molybdenum disulfide. Modelling Simul. Mater. Sci. Eng. 21. + + Based on: + Liang T, Phillpot S R and Sinnott S B (2009) Parameterization of a reactive many-body potential for Mo2S systems. Phys. Rev. B79 245110. + Liang T, Phillpot S R and Sinnott S B (2012) Erratum: Parameterization of a reactive many-body potential for Mo-S systems. (Phys. Rev. B79 245110 (2009)) Phys. Rev. B85 199903(E). + + LAMMPS file contributing authors: James Stewart, Khanh Dang and Douglas Spearot (University of Arkansas) +------------------------------------------------------------------------- */ + +// clang-format on + +#include "pair_rebomos_omp.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "math_special.h" +#include "memory.h" +#include "my_page.h" +#include "neigh_list.h" + +#include "suffix.h" + +#include + +#include "omp_compat.h" +#if defined(_OPENMP) +#include +#endif + +using namespace LAMMPS_NS; +using MathSpecial::cube; +using MathSpecial::powint; +using MathSpecial::square; + +static constexpr double TOL = 1.0e-9; + +/* ---------------------------------------------------------------------- */ + +PairREBOMoSOMP::PairREBOMoSOMP(LAMMPS *lmp) : PairREBOMoS(lmp), ThrOMP(lmp, THR_PAIR) +{ + suffix_flag |= Suffix::OMP; + respa_enable = 0; +} + +// clang-format off + +/* ---------------------------------------------------------------------- */ + +void PairREBOMoSOMP::compute(int eflag, int vflag) +{ + ev_init(eflag,vflag); + + REBO_neigh_thr(); + + const int nall = atom->nlocal + atom->nghost; + const int nthreads = comm->nthreads; + const int inum = list->inum; + +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag) +#endif + { + int ifrom, ito, tid; + + loop_setup_thr(ifrom, ito, tid, inum, nthreads); + ThrData *thr = fix->get_thr(tid); + thr->timer(Timer::START); + ev_setup_thr(eflag, vflag, nall, eatom, vatom, nullptr, thr); + + FREBO_thr(ifrom,ito,eflag,thr); + FLJ_thr(ifrom,ito,eflag,thr); + + thr->timer(Timer::PAIR); + reduce_thr(this, eflag, vflag, thr); + } // end of omp parallel region +} + +/* ---------------------------------------------------------------------- + create REBO neighbor list from main neighbor list + REBO neighbor list stores neighbors of ghost atoms +------------------------------------------------------------------------- */ + +void PairREBOMoSOMP::REBO_neigh_thr() +{ + const int nthreads = comm->nthreads; + + if (atom->nmax > maxlocal) { + maxlocal = atom->nmax; + memory->destroy(REBO_numneigh); + memory->sfree(REBO_firstneigh); + memory->destroy(nM); + memory->destroy(nS); + memory->create(REBO_numneigh,maxlocal,"REBOMoS:numneigh"); + REBO_firstneigh = (int **) memory->smalloc(maxlocal*sizeof(int *), + "REBOMoS:firstneigh"); + memory->create(nM,maxlocal,"REBOMoS:nM"); + memory->create(nS,maxlocal,"REBOMoS:nS"); + } + +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE +#endif + { + int i,j,ii,jj,n,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq,dS; + int *ilist,*jlist,*numneigh,**firstneigh; + int *neighptr; + + double **x = atom->x; + int *type = atom->type; + + const int allnum = list->inum + list->gnum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + +#if defined(_OPENMP) + const int tid = omp_get_thread_num(); +#else + const int tid = 0; +#endif + + const int iidelta = 1 + allnum/nthreads; + const int iifrom = tid*iidelta; + const int iito = ((iifrom+iidelta)>allnum) ? allnum : (iifrom+iidelta); + + // store all REBO neighs of owned and ghost atoms + // scan full neighbor list of I + + // each thread has its own page allocator + MyPage &ipg = ipage[tid]; + ipg.reset(); + + for (ii = iifrom; ii < iito; ii++) { + i = ilist[ii]; + + n = 0; + neighptr = ipg.vget(); + + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = map[type[i]]; + nM[i] = nS[i] = 0.0; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtype = map[type[j]]; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq < rcmaxsq[itype][jtype]) { + neighptr[n++] = j; + if (jtype == 0) + nM[i] += Sp(sqrt(rsq),rcmin[itype][jtype],rcmax[itype][jtype],dS); + else + nS[i] += Sp(sqrt(rsq),rcmin[itype][jtype],rcmax[itype][jtype],dS); + } + } + + REBO_firstneigh[i] = neighptr; + REBO_numneigh[i] = n; + ipg.vgot(n); + if (ipg.status()) + error->one(FLERR,"REBO list overflow, boost neigh_modify one"); + } + } +} + +/* ---------------------------------------------------------------------- + REBO forces and energy +------------------------------------------------------------------------- */ + +void PairREBOMoSOMP::FREBO_thr(int ifrom, int ito, int eflag, ThrData * const thr) +{ + int i,j,k,ii,itype,jtype; + tagint itag, jtag; + double delx,dely,delz,evdwl,fpair,xtmp,ytmp,ztmp; + double rsq,rij,wij; + double Qij,Aij,alphaij,VR,pre,dVRdi,VA,bij,dVAdi,dVA; + double dwij,del[3]; + int *ilist,*REBO_neighs; + + evdwl = 0.0; + + const double * const * const x = atom->x; + double * const * const f = thr->get_f(); + const int * const type = atom->type; + const tagint * const tag = atom->tag; + const int nlocal = atom->nlocal; + + ilist = list->ilist; + + // two-body interactions from REBO neighbor list, skip half of them + + for (ii = ifrom; ii < ito; ii++) { + i = ilist[ii]; + itag = tag[i]; + itype = map[type[i]]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + REBO_neighs = REBO_firstneigh[i]; + + for (k = 0; k < REBO_numneigh[i]; k++) { + j = REBO_neighs[k]; + jtag = tag[j]; + + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp && x[j][1] < ytmp) continue; + if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + + jtype = map[type[j]]; + + delx = x[i][0] - x[j][0]; + dely = x[i][1] - x[j][1]; + delz = x[i][2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + rij = sqrt(rsq); + wij = Sp(rij,rcmin[itype][jtype],rcmax[itype][jtype],dwij); + if (wij <= TOL) continue; + + Qij = Q[itype][jtype]; + Aij = A[itype][jtype]; + alphaij = alpha[itype][jtype]; + + VR = wij*(1.0+(Qij/rij)) * Aij*exp(-alphaij*rij); + pre = wij*Aij * exp(-alphaij*rij); + dVRdi = pre * ((-alphaij)-(Qij/rsq)-(Qij*alphaij/rij)); + dVRdi += VR/wij * dwij; + + VA = dVA = 0.0; + VA = -wij * BIJc[itype][jtype] * exp(-Beta[itype][jtype]*rij); + + dVA = -Beta[itype][jtype] * VA; + dVA += VA/wij * dwij; + + del[0] = delx; + del[1] = dely; + del[2] = delz; + bij = bondorder_thr(i,j,del,rij,VA,thr); + dVAdi = bij*dVA; + + fpair = -(dVRdi+dVAdi) / rij; + f[i][0] += delx*fpair; + f[i][1] += dely*fpair; + f[i][2] += delz*fpair; + f[j][0] -= delx*fpair; + f[j][1] -= dely*fpair; + f[j][2] -= delz*fpair; + + if (eflag) evdwl = VR + bij*VA; + if (evflag) ev_tally_thr(this,i,j,nlocal,/* newton_pair */1,evdwl,0.0,fpair,delx,dely,delz,thr); + } + } +} + +/* ---------------------------------------------------------------------- + compute LJ forces and energy +------------------------------------------------------------------------- */ + +void PairREBOMoSOMP::FLJ_thr(int ifrom, int ito, int eflag, ThrData * const thr) +{ + int i,j,ii,jj,jnum,itype,jtype; + tagint itag,jtag; + double evdwl,fpair,xtmp,ytmp,ztmp; + double rij,delij[3],rijsq; + double VLJ,dVLJ; + double vdw,dvdw; + double r2inv,r6inv; + int *ilist,*jlist,*numneigh,**firstneigh; + double c2,c3,dr,drp,r6; + + // I-J interaction from full neighbor list + // skip 1/2 of interactions since only consider each pair once + + evdwl = 0.0; + + const double * const * const x = atom->x; + double * const * const f = thr->get_f(); + const tagint * const tag = atom->tag; + const int * const type = atom->type; + const int nlocal = atom->nlocal; + + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = ifrom; ii < ito; ii++) { + i = ilist[ii]; + itag = tag[i]; + itype = map[type[i]]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtag = tag[j]; + + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp && x[j][1] < ytmp) continue; + if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + jtype = map[type[j]]; + + delij[0] = xtmp - x[j][0]; + delij[1] = ytmp - x[j][1]; + delij[2] = ztmp - x[j][2]; + rijsq = delij[0]*delij[0] + delij[1]*delij[1] + delij[2]*delij[2]; + rij = sqrt(rijsq); + + // compute LJ forces and energy + + // Outside Rmax + if (rij > rcLJmax[itype][jtype] || rij < rcLJmin[itype][jtype]){ + VLJ = 0; + dVLJ = 0; + } + + // Inside Rmax and above 0.95*sigma + else if (rij <= rcLJmax[itype][jtype] && rij >= 0.95*sigma[itype][jtype]){ + r2inv = 1.0/rijsq; + r6inv = r2inv*r2inv*r2inv; + VLJ = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]); + dVLJ = -r6inv*(lj1[itype][jtype]*r6inv - lj2[itype][jtype])/rij; + } + + // Below 0.95*sigma + else if (rij < 0.95*sigma[itype][jtype] && rij >= rcLJmin[itype][jtype]){ + dr = 0.95*sigma[itype][jtype] - rcLJmin[itype][jtype]; + r6 = powint((sigma[itype][jtype]/(0.95*sigma[itype][jtype])),6); + vdw = 4*epsilon[itype][jtype]*r6*(r6 - 1.0); + dvdw = (-4*epsilon[itype][jtype]/(0.95*sigma[itype][jtype]))*r6*(12.0*r6 - 6.0); + c2 = ((3.0/dr)*vdw - dvdw)/dr; + c3 = (vdw/(dr*dr) - c2)/dr; + + drp = rij - rcLJmin[itype][jtype]; + VLJ = drp*drp*(drp*c3 + c2); + dVLJ = drp*(3.0*drp*c3 + 2.0*c2); + } + + fpair = -dVLJ/rij; + f[i][0] += delij[0]*fpair; + f[i][1] += delij[1]*fpair; + f[i][2] += delij[2]*fpair; + f[j][0] -= delij[0]*fpair; + f[j][1] -= delij[1]*fpair; + f[j][2] -= delij[2]*fpair; + + if (eflag) evdwl = VLJ; + if (evflag) ev_tally_thr(this,i,j,nlocal,/*newton_pair*/1,evdwl,0.0,fpair,delij[0],delij[1],delij[2],thr); + + } + } +} + +/* ---------------------------------------------------------------------- + Bij function + + The bond order term modified the attractive portion of the REBO + potential based on the number of atoms around a specific pair + and the bond angle between sets of three atoms. + + The functions G(cos(theta)) and P(N) are evaluated and their + derivatives are also computed for use in the force calculation. +------------------------------------------------------------------------- */ + +double PairREBOMoSOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, double VA, ThrData *thr) +{ + int atomi,atomj,atomk,atoml; + int k,l; + int itype, jtype, ktype, ltype; + double rik[3], rjl[3], rji[3], rki[3],rlj[3], dwjl, bij; + double NijM,NijS,NjiM,NjiS,wik,dwik,wjl; + double rikmag,rjlmag,cosjik,cosijl,g,tmp2; + double Etmp,pij,tmp,dwij,dS; + double dgdc,pji; + double dcosjikdri[3],dcosijldri[3],dcosjikdrk[3]; + double dp; + double dcosjikdrj[3],dcosijldrj[3],dcosijldrl[3]; + double fi[3],fj[3],fk[3],fl[3]; + double PijS, PjiS; + int *REBO_neighs; + + const double * const * const x = atom->x; + double * const * const f = thr->get_f(); + const int * const type = atom->type; + + atomi = i; + atomj = j; + itype = map[type[i]]; + jtype = map[type[j]]; + Sp(rijmag,rcmin[itype][jtype],rcmax[itype][jtype],dwij); + NijM = nM[i]; + NijS = nS[i]; + NjiM = nM[j]; + NjiS = nS[j]; + bij = 0.0; + tmp = 0.0; + tmp2 = 0.0; + dgdc = 0.0; + Etmp = 0.0; + + REBO_neighs = REBO_firstneigh[i]; + for (k = 0; k < REBO_numneigh[i]; k++) { + atomk = REBO_neighs[k]; + if (atomk != atomj) { + ktype = map[type[atomk]]; + rik[0] = x[atomi][0]-x[atomk][0]; + rik[1] = x[atomi][1]-x[atomk][1]; + rik[2] = x[atomi][2]-x[atomk][2]; + rikmag = sqrt((rik[0]*rik[0])+(rik[1]*rik[1])+(rik[2]*rik[2])); + wik = Sp(rikmag,rcmin[itype][ktype],rcmax[itype][ktype],dS); + cosjik = ((rij[0]*rik[0])+(rij[1]*rik[1])+(rij[2]*rik[2])) / (rijmag*rikmag); + cosjik = MIN(cosjik,1.0); + cosjik = MAX(cosjik,-1.0); + + // evaluate g and derivative dg + + g = gSpline(cosjik,itype,dgdc); + Etmp = Etmp+(wik*g); + } + } + + dp = 0.0; + PijS = PijSpline(NijM,NijS,itype,dp); + pij = 1.0/sqrt(1.0+Etmp+PijS); + tmp = -0.5*cube(pij); + + // derivative calculations + + REBO_neighs = REBO_firstneigh[i]; + for (k = 0; k < REBO_numneigh[i]; k++) { + atomk = REBO_neighs[k]; + if (atomk != atomj) { + ktype = map[type[atomk]]; + rik[0] = x[atomi][0]-x[atomk][0]; + rik[1] = x[atomi][1]-x[atomk][1]; + rik[2] = x[atomi][2]-x[atomk][2]; + rikmag = sqrt((rik[0]*rik[0])+(rik[1]*rik[1])+(rik[2]*rik[2])); + wik = Sp(rikmag,rcmin[itype][ktype],rcmax[itype][ktype],dwik); + cosjik = (rij[0]*rik[0] + rij[1]*rik[1] + rij[2]*rik[2]) / (rijmag*rikmag); + cosjik = MIN(cosjik,1.0); + cosjik = MAX(cosjik,-1.0); + + dcosjikdri[0] = ((rij[0]+rik[0])/(rijmag*rikmag)) - + (cosjik*((rij[0]/(rijmag*rijmag))+(rik[0]/(rikmag*rikmag)))); + dcosjikdri[1] = ((rij[1]+rik[1])/(rijmag*rikmag)) - + (cosjik*((rij[1]/(rijmag*rijmag))+(rik[1]/(rikmag*rikmag)))); + dcosjikdri[2] = ((rij[2]+rik[2])/(rijmag*rikmag)) - + (cosjik*((rij[2]/(rijmag*rijmag))+(rik[2]/(rikmag*rikmag)))); + dcosjikdrk[0] = (-rij[0]/(rijmag*rikmag)) + + (cosjik*(rik[0]/(rikmag*rikmag))); + dcosjikdrk[1] = (-rij[1]/(rijmag*rikmag)) + + (cosjik*(rik[1]/(rikmag*rikmag))); + dcosjikdrk[2] = (-rij[2]/(rijmag*rikmag)) + + (cosjik*(rik[2]/(rikmag*rikmag))); + dcosjikdrj[0] = (-rik[0]/(rijmag*rikmag)) + + (cosjik*(rij[0]/(rijmag*rijmag))); + dcosjikdrj[1] = (-rik[1]/(rijmag*rikmag)) + + (cosjik*(rij[1]/(rijmag*rijmag))); + dcosjikdrj[2] = (-rik[2]/(rijmag*rikmag)) + + (cosjik*(rij[2]/(rijmag*rijmag))); + + g = gSpline(cosjik,itype,dgdc); + tmp2 = VA*0.5*(tmp*wik*dgdc); + fj[0] = -tmp2*dcosjikdrj[0]; + fj[1] = -tmp2*dcosjikdrj[1]; + fj[2] = -tmp2*dcosjikdrj[2]; + fi[0] = -tmp2*dcosjikdri[0]; + fi[1] = -tmp2*dcosjikdri[1]; + fi[2] = -tmp2*dcosjikdri[2]; + fk[0] = -tmp2*dcosjikdrk[0]; + fk[1] = -tmp2*dcosjikdrk[1]; + fk[2] = -tmp2*dcosjikdrk[2]; + + // coordination forces + + // dwik forces (from partial derivative) + + tmp2 = VA*0.5*(tmp*dwik*g)/rikmag; + fi[0] -= tmp2*rik[0]; + fi[1] -= tmp2*rik[1]; + fi[2] -= tmp2*rik[2]; + fk[0] += tmp2*rik[0]; + fk[1] += tmp2*rik[1]; + fk[2] += tmp2*rik[2]; + + // PIJ forces (from coordination P(N) term) + + tmp2 = VA*0.5*(tmp*dp*dwik)/rikmag; + fi[0] -= tmp2*rik[0]; + fi[1] -= tmp2*rik[1]; + fi[2] -= tmp2*rik[2]; + fk[0] += tmp2*rik[0]; + fk[1] += tmp2*rik[1]; + fk[2] += tmp2*rik[2]; + + // dgdN forces are removed + + f[atomi][0] += fi[0]; f[atomi][1] += fi[1]; f[atomi][2] += fi[2]; + f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; + f[atomk][0] += fk[0]; f[atomk][1] += fk[1]; f[atomk][2] += fk[2]; + + if (vflag_either) { + rji[0] = -rij[0]; rji[1] = -rij[1]; rji[2] = -rij[2]; + rki[0] = -rik[0]; rki[1] = -rik[1]; rki[2] = -rik[2]; + v_tally3_thr(this,atomi,atomj,atomk,fj,fk,rji,rki,thr); + } + } + } + + // PIJ force contribution additional term + tmp2 = -VA*0.5*(tmp*dp*dwij)/rijmag; + + f[atomi][0] += rij[0]*tmp2; + f[atomi][1] += rij[1]*tmp2; + f[atomi][2] += rij[2]*tmp2; + f[atomj][0] -= rij[0]*tmp2; + f[atomj][1] -= rij[1]*tmp2; + f[atomj][2] -= rij[2]*tmp2; + + if (vflag_either) v_tally2_thr(this,atomi,atomj,tmp2,rij,thr); + + tmp = 0.0; + tmp2 = 0.0; + Etmp = 0.0; + + REBO_neighs = REBO_firstneigh[j]; + for (l = 0; l < REBO_numneigh[j]; l++) { + atoml = REBO_neighs[l]; + if (atoml != atomi) { + ltype = map[type[atoml]]; + rjl[0] = x[atomj][0]-x[atoml][0]; + rjl[1] = x[atomj][1]-x[atoml][1]; + rjl[2] = x[atomj][2]-x[atoml][2]; + rjlmag = sqrt((rjl[0]*rjl[0])+(rjl[1]*rjl[1])+(rjl[2]*rjl[2])); + wjl = Sp(rjlmag,rcmin[jtype][ltype],rcmax[jtype][ltype],dS); + cosijl = -1.0*((rij[0]*rjl[0])+(rij[1]*rjl[1])+(rij[2]*rjl[2])) / (rijmag*rjlmag); + cosijl = MIN(cosijl,1.0); + cosijl = MAX(cosijl,-1.0); + + // evaluate g and derivative dg + + g = gSpline(cosijl,jtype,dgdc); + Etmp = Etmp+(wjl*g); + } + } + + dp = 0.0; + PjiS = PijSpline(NjiM,NjiS,jtype,dp); + pji = 1.0/sqrt(1.0+Etmp+PjiS); + tmp = -0.5*cube(pji); + + REBO_neighs = REBO_firstneigh[j]; + for (l = 0; l < REBO_numneigh[j]; l++) { + atoml = REBO_neighs[l]; + if (atoml != atomi) { + ltype = map[type[atoml]]; + rjl[0] = x[atomj][0]-x[atoml][0]; + rjl[1] = x[atomj][1]-x[atoml][1]; + rjl[2] = x[atomj][2]-x[atoml][2]; + rjlmag = sqrt((rjl[0]*rjl[0])+(rjl[1]*rjl[1])+(rjl[2]*rjl[2])); + wjl = Sp(rjlmag,rcmin[jtype][ltype],rcmax[jtype][ltype],dwjl); + cosijl = (-1.0*((rij[0]*rjl[0])+(rij[1]*rjl[1])+(rij[2]*rjl[2]))) / (rijmag*rjlmag); + cosijl = MIN(cosijl,1.0); + cosijl = MAX(cosijl,-1.0); + + dcosijldri[0] = (-rjl[0]/(rijmag*rjlmag)) - + (cosijl*rij[0]/(rijmag*rijmag)); + dcosijldri[1] = (-rjl[1]/(rijmag*rjlmag)) - + (cosijl*rij[1]/(rijmag*rijmag)); + dcosijldri[2] = (-rjl[2]/(rijmag*rjlmag)) - + (cosijl*rij[2]/(rijmag*rijmag)); + dcosijldrj[0] = ((-rij[0]+rjl[0])/(rijmag*rjlmag)) + + (cosijl*((rij[0]/square(rijmag))-(rjl[0]/(rjlmag*rjlmag)))); + dcosijldrj[1] = ((-rij[1]+rjl[1])/(rijmag*rjlmag)) + + (cosijl*((rij[1]/square(rijmag))-(rjl[1]/(rjlmag*rjlmag)))); + dcosijldrj[2] = ((-rij[2]+rjl[2])/(rijmag*rjlmag)) + + (cosijl*((rij[2]/square(rijmag))-(rjl[2]/(rjlmag*rjlmag)))); + dcosijldrl[0] = (rij[0]/(rijmag*rjlmag))+(cosijl*rjl[0]/(rjlmag*rjlmag)); + dcosijldrl[1] = (rij[1]/(rijmag*rjlmag))+(cosijl*rjl[1]/(rjlmag*rjlmag)); + dcosijldrl[2] = (rij[2]/(rijmag*rjlmag))+(cosijl*rjl[2]/(rjlmag*rjlmag)); + + // evaluate g and derivatives dg + + g = gSpline(cosijl,jtype,dgdc); + tmp2 = VA*0.5*(tmp*wjl*dgdc); + fi[0] = -tmp2*dcosijldri[0]; + fi[1] = -tmp2*dcosijldri[1]; + fi[2] = -tmp2*dcosijldri[2]; + fj[0] = -tmp2*dcosijldrj[0]; + fj[1] = -tmp2*dcosijldrj[1]; + fj[2] = -tmp2*dcosijldrj[2]; + fl[0] = -tmp2*dcosijldrl[0]; + fl[1] = -tmp2*dcosijldrl[1]; + fl[2] = -tmp2*dcosijldrl[2]; + + // coordination forces + + // dwik forces (from partial derivative) + + tmp2 = VA*0.5*(tmp*dwjl*g)/rjlmag; + fj[0] -= tmp2*rjl[0]; + fj[1] -= tmp2*rjl[1]; + fj[2] -= tmp2*rjl[2]; + fl[0] += tmp2*rjl[0]; + fl[1] += tmp2*rjl[1]; + fl[2] += tmp2*rjl[2]; + + // PIJ forces (coordination) + + tmp2 = VA*0.5*(tmp*dp*dwjl)/rjlmag; + fj[0] -= tmp2*rjl[0]; + fj[1] -= tmp2*rjl[1]; + fj[2] -= tmp2*rjl[2]; + fl[0] += tmp2*rjl[0]; + fl[1] += tmp2*rjl[1]; + fl[2] += tmp2*rjl[2]; + + // dgdN forces are removed + + f[atomi][0] += fi[0]; f[atomi][1] += fi[1]; f[atomi][2] += fi[2]; + f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; + f[atoml][0] += fl[0]; f[atoml][1] += fl[1]; f[atoml][2] += fl[2]; + + if (vflag_either) { + rlj[0] = -rjl[0]; rlj[1] = -rjl[1]; rlj[2] = -rjl[2]; + v_tally3_thr(this,atomi,atomj,atoml,fi,fl,rij,rlj,thr); + } + } + } + + // PIJ force contribution additional term + + tmp2 = -VA*0.5*(tmp*dp*dwij)/rijmag; + f[atomi][0] += rij[0]*tmp2; + f[atomi][1] += rij[1]*tmp2; + f[atomi][2] += rij[2]*tmp2; + f[atomj][0] -= rij[0]*tmp2; + f[atomj][1] -= rij[1]*tmp2; + f[atomj][2] -= rij[2]*tmp2; + + if (vflag_either) v_tally2_thr(this,atomi,atomj,tmp2,rij,thr); + + bij = (0.5*(pij+pji)); + return bij; +} + +/* ---------------------------------------------------------------------- + memory usage of local atom-based arrays +------------------------------------------------------------------------- */ + +double PairREBOMoSOMP::memory_usage() +{ + double bytes = memory_usage_thr(); + bytes += PairREBOMoS::memory_usage(); + + return bytes; +} diff --git a/src/OPENMP/pair_rebomos_omp.h b/src/OPENMP/pair_rebomos_omp.h new file mode 100644 index 0000000000..ea87f51950 --- /dev/null +++ b/src/OPENMP/pair_rebomos_omp.h @@ -0,0 +1,46 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS Development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(rebomos/omp,PairREBOMoSOMP); +// clang-format on +#else + +#ifndef LMP_PAIR_REBOMOS_OMP_H +#define LMP_PAIR_REBOMOS_OMP_H + +#include "pair_rebomos.h" +#include "thr_omp.h" + +namespace LAMMPS_NS { + +class PairREBOMoSOMP : public PairREBOMoS, public ThrOMP { + public: + PairREBOMoSOMP(class LAMMPS *); + + void compute(int, int) override; + double memory_usage() override; + + protected: + void FREBO_thr(int ifrom, int ito, int eflag, ThrData *const thr); + void FLJ_thr(int ifrom, int ito, int eflag, ThrData *const thr); + + void REBO_neigh_thr(); + + double bondorder_thr(int, int, double *, double, double, ThrData *const thr); +}; +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/OPENMP/pair_tip4p_long_omp.cpp b/src/OPENMP/pair_tip4p_long_omp.cpp index 96e063d110..186549a999 100644 --- a/src/OPENMP/pair_tip4p_long_omp.cpp +++ b/src/OPENMP/pair_tip4p_long_omp.cpp @@ -13,22 +13,23 @@ Contributing author: Axel Kohlmeyer (Temple U) ------------------------------------------------------------------------- */ -#include "omp_compat.h" -#include #include "pair_tip4p_long_omp.h" + #include "atom.h" -#include "domain.h" #include "comm.h" -#include "ewald_const.h" -#include "force.h" -#include "neighbor.h" +#include "domain.h" #include "error.h" #include "ewald_const.h" +#include "force.h" #include "memory.h" #include "neigh_list.h" - +#include "neighbor.h" #include "suffix.h" +#include + +#include "omp_compat.h" + using namespace LAMMPS_NS; using namespace EwaldConst; diff --git a/src/OPT/pair_eam_opt.cpp b/src/OPT/pair_eam_opt.cpp index 0560b0693a..96afff4ee5 100644 --- a/src/OPT/pair_eam_opt.cpp +++ b/src/OPT/pair_eam_opt.cpp @@ -23,6 +23,7 @@ #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "memory.h" #include "neigh_list.h" @@ -118,6 +119,7 @@ template void PairEAMOpt::eval() int ntypes = atom->ntypes; int ntypes2 = ntypes * ntypes; + int beyond_rhomax = 0; auto *_noalias fast_alpha = (fast_alpha_t *) malloc((size_t) ntypes2 * (nr + 1) * sizeof(fast_alpha_t)); @@ -251,7 +253,10 @@ template void PairEAMOpt::eval() fp[i] = (coeff[0] * p + coeff[1]) * p + coeff[2]; if (EFLAG) { double phi = ((coeff[3] * p + coeff[4]) * p + coeff[5]) * p + coeff[6]; - if (rho[i] > rhomax) phi += fp[i] * (rho[i] - rhomax); + if (rho[i] > rhomax) { + phi += fp[i] * (rho[i] - rhomax); + beyond_rhomax = 1; + } phi *= scale[type[i]][type[i]]; if (eflag_global) eng_vdwl += phi; if (eflag_atom) eatom[i] += phi; @@ -361,5 +366,15 @@ template void PairEAMOpt::eval() free(fast_gamma); fast_gamma = nullptr; + if (EFLAG && (!exceeded_rhomax)) { + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); + if (exceeded_rhomax) { + if (comm->me == 0) + error->warning(FLERR, + "A per-atom density exceeded rhomax of EAM potential table - " + "a linear extrapolation to the energy was made"); + } + } + if (vflag_fdotr) virial_fdotr_compute(); } diff --git a/src/POEMS/fix_poems.cpp b/src/POEMS/fix_poems.cpp index a2720a3f64..eb9c790422 100644 --- a/src/POEMS/fix_poems.cpp +++ b/src/POEMS/fix_poems.cpp @@ -36,7 +36,7 @@ #include #include -#include +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/PTM/compute_ptm_atom.cpp b/src/PTM/compute_ptm_atom.cpp index e66bc1a17d..4d6cd4bc01 100644 --- a/src/PTM/compute_ptm_atom.cpp +++ b/src/PTM/compute_ptm_atom.cpp @@ -28,7 +28,6 @@ under #include "memory.h" #include "modify.h" #include "neigh_list.h" -#include "neigh_request.h" #include "neighbor.h" #include "update.h" diff --git a/src/PTM/ptm_convex_hull_incremental.h b/src/PTM/ptm_convex_hull_incremental.h index 796c787937..81fc92d829 100644 --- a/src/PTM/ptm_convex_hull_incremental.h +++ b/src/PTM/ptm_convex_hull_incremental.h @@ -11,7 +11,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI #define PTM_CONVEX_HULL_INCREMENTAL_H #include "ptm_constants.h" -#include #include namespace ptm { diff --git a/src/PYTHON/python_impl.cpp b/src/PYTHON/python_impl.cpp index 0db468d701..87a57187bf 100644 --- a/src/PYTHON/python_impl.cpp +++ b/src/PYTHON/python_impl.cpp @@ -17,7 +17,6 @@ #include "python_impl.h" -#include "comm.h" #include "error.h" #include "input.h" #include "memory.h" diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index 22632cf786..47ad3d260f 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -27,9 +27,7 @@ #include "memory.h" #include "modify.h" #include "neigh_list.h" -#include "pair.h" #include "respa.h" -#include "suffix.h" #include "text_file_reader.h" #include "update.h" @@ -76,6 +74,9 @@ FixQEq::FixQEq(LAMMPS *lmp, int narg, char **arg) : if ((nevery <= 0) || (cutoff <= 0.0) || (tolerance <= 0.0) || (maxiter <= 0)) error->all(FLERR,"Illegal fix qeq command"); + // must have charges + if (!atom->q_flag) error->all(FLERR, "Fix {} requires atom attribute q", style); + alpha = 0.20; swa = 0.0; swb = cutoff; diff --git a/src/REAXFF/compute_reaxff_atom.cpp b/src/REAXFF/compute_reaxff_atom.cpp index 1834de0b4b..0371f75120 100644 --- a/src/REAXFF/compute_reaxff_atom.cpp +++ b/src/REAXFF/compute_reaxff_atom.cpp @@ -17,8 +17,8 @@ ------------------------------------------------------------------------- */ #include "compute_reaxff_atom.h" + #include "atom.h" -#include "molecule.h" #include "update.h" #include "force.h" #include "memory.h" @@ -43,7 +43,7 @@ ComputeReaxFFAtom::ComputeReaxFFAtom(LAMMPS *lmp, int narg, char **arg) : // initialize output - nlocal = -1; + nmax = -1; nbonds = 0; prev_nbonds = -1; @@ -162,20 +162,22 @@ void ComputeReaxFFAtom::compute_bonds() { invoked_bonds = update->ntimestep; - if (atom->nlocal > nlocal) { + if (atom->nmax > nmax) { memory->destroy(abo); memory->destroy(neighid); memory->destroy(bondcount); memory->destroy(array_atom); - nlocal = atom->nlocal; + nmax = atom->nmax; if (store_bonds) { - memory->create(abo, nlocal, MAXREAXBOND, "reaxff/atom:abo"); - memory->create(neighid, nlocal, MAXREAXBOND, "reaxff/atom:neighid"); + memory->create(abo, nmax, MAXREAXBOND, "reaxff/atom:abo"); + memory->create(neighid, nmax, MAXREAXBOND, "reaxff/atom:neighid"); } - memory->create(bondcount, nlocal, "reaxff/atom:bondcount"); - memory->create(array_atom, nlocal, 3, "reaxff/atom:array_atom"); + memory->create(bondcount, nmax, "reaxff/atom:bondcount"); + memory->create(array_atom, nmax, 3, "reaxff/atom:array_atom"); } + const int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; i++) { bondcount[i] = 0; for (int j = 0; store_bonds && j < MAXREAXBOND; j++) { @@ -208,6 +210,8 @@ void ComputeReaxFFAtom::compute_local() int b = 0; + const int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; ++i) { const int numbonds = bondcount[i]; @@ -230,6 +234,8 @@ void ComputeReaxFFAtom::compute_peratom() compute_bonds(); } + const int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; ++i) { auto ptr = array_atom[i]; ptr[0] = reaxff->api->workspace->total_bond_order[i]; @@ -244,10 +250,10 @@ void ComputeReaxFFAtom::compute_peratom() double ComputeReaxFFAtom::memory_usage() { - double bytes = (double)(nlocal*3) * sizeof(double); - bytes += (double)(nlocal) * sizeof(int); + double bytes = (double)(nmax*3) * sizeof(double); + bytes += (double)(nmax) * sizeof(int); if (store_bonds) { - bytes += (double)(2*nlocal*MAXREAXBOND) * sizeof(double); + bytes += (double)(2*nmax*MAXREAXBOND) * sizeof(double); bytes += (double)(nbonds*3) * sizeof(double); } return bytes; diff --git a/src/REAXFF/compute_reaxff_atom.h b/src/REAXFF/compute_reaxff_atom.h index 1f9aaec1ae..f27555e565 100644 --- a/src/REAXFF/compute_reaxff_atom.h +++ b/src/REAXFF/compute_reaxff_atom.h @@ -40,7 +40,7 @@ class ComputeReaxFFAtom : public Compute { protected: bigint invoked_bonds; // last timestep on which compute_bonds() was invoked - int nlocal; + int nmax; int nbonds; int prev_nbonds; int nsub; diff --git a/src/REAXFF/fix_acks2_reaxff.cpp b/src/REAXFF/fix_acks2_reaxff.cpp index 68de1c8ed1..4fd86605fa 100644 --- a/src/REAXFF/fix_acks2_reaxff.cpp +++ b/src/REAXFF/fix_acks2_reaxff.cpp @@ -33,6 +33,7 @@ #include #include +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/REAXFF/fix_qeq_reaxff.cpp b/src/REAXFF/fix_qeq_reaxff.cpp index ab561de0a7..2c3089b5e8 100644 --- a/src/REAXFF/fix_qeq_reaxff.cpp +++ b/src/REAXFF/fix_qeq_reaxff.cpp @@ -141,7 +141,7 @@ FixQEqReaxFF::FixQEqReaxFF(LAMMPS *lmp, int narg, char **arg) : // perform initial allocation of atom-based arrays // register with Atom class - reaxff = dynamic_cast(force->pair_match("^reax..",0)); + reaxff = dynamic_cast(force->pair_match("^reaxff",0)); s_hist = t_hist = nullptr; atom->add_callback(Atom::GROW); @@ -217,6 +217,8 @@ void FixQEqReaxFF::pertype_parameters(char *arg) if (chi == nullptr || eta == nullptr || gamma == nullptr) error->all(FLERR, "Fix qeq/reaxff could not extract params from pair reaxff"); return; + } else if (utils::strmatch(arg,"^reax/c")) { + error->all(FLERR, "Fix qeq/reaxff keyword 'reax/c' is obsolete; please use 'reaxff'"); } reaxflag = 0; diff --git a/src/REAXFF/fix_reaxff_species.cpp b/src/REAXFF/fix_reaxff_species.cpp index 8fa06cafb3..0183d2670b 100644 --- a/src/REAXFF/fix_reaxff_species.cpp +++ b/src/REAXFF/fix_reaxff_species.cpp @@ -65,7 +65,7 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), Name(nullptr), MolName(nullptr), NMol(nullptr), nd(nullptr), MolType(nullptr), molmap(nullptr), mark(nullptr), Mol2Spec(nullptr), clusterID(nullptr), x0(nullptr), BOCut(nullptr), fp(nullptr), pos(nullptr), fdel(nullptr), delete_Tcount(nullptr), - ele(nullptr), eletype(nullptr), filepos(nullptr), filedel(nullptr) + filepos(nullptr), filedel(nullptr) { if (narg < 7) utils::missing_cmd_args(FLERR, "fix reaxff/species", error); @@ -84,6 +84,9 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : nvalid = -1; ntypes = atom->ntypes; + eletype.resize(ntypes); + ueletype.resize(ntypes); + ele2uele.resize(ntypes); nevery = utils::inumeric(FLERR, arg[3], false, lmp); nrepeat = utils::inumeric(FLERR, arg[4], false, lmp); @@ -156,8 +159,7 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : for (int j = 1; j < np1; j++) BOCut[i][j] = bo_cut; // optional args - eletype = nullptr; - ele = filepos = filedel = nullptr; + filepos = filedel = nullptr; eleflag = posflag = padflag = 0; delflag = specieslistflag = masslimitflag = 0; delete_Nlimit = delete_Nsteps = 0; @@ -191,14 +193,9 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : if (iarg + ntypes + 1 > narg) utils::missing_cmd_args(FLERR, "fix reaxff/species element", error); - eletype = (char **) malloc(ntypes * sizeof(char *)); - int len; - for (int i = 0; i < ntypes; i++) { - len = strlen(arg[iarg + 1 + i]) + 1; - eletype[i] = (char *) malloc(len * sizeof(char)); - strcpy(eletype[i], arg[iarg + 1 + i]); - } - eleflag = 1; + for (int i = 0; i < ntypes; i++) + eletype[i] = arg[iarg + 1 + i]; + GetUniqueElements(); iarg += ntypes + 1; // delete species @@ -285,14 +282,6 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Unknown fix reaxff/species keyword: {}", arg[iarg]); } - if (!eleflag) { - memory->create(ele, ntypes + 1, "reaxff/species:ele"); - ele[0] = 'C'; - if (ntypes > 1) ele[1] = 'H'; - if (ntypes > 2) ele[2] = 'O'; - if (ntypes > 3) ele[3] = 'N'; - } - if (delflag && specieslistflag && masslimitflag) error->all(FLERR, "Incompatible combination fix reaxff/species command options"); @@ -312,7 +301,6 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : FixReaxFFSpecies::~FixReaxFFSpecies() { - memory->destroy(ele); memory->destroy(BOCut); memory->destroy(clusterID); memory->destroy(x0); @@ -358,7 +346,14 @@ int FixReaxFFSpecies::setmask() void FixReaxFFSpecies::setup(int /*vflag*/) { ntotal = static_cast(atom->natoms); - if (Name == nullptr) memory->create(Name, ntypes, "reaxff/species:Name"); + + if (!eleflag) { + for (int i = 0; i < ntypes; i++) + eletype[i] = reaxff->eletype[i+1]; + GetUniqueElements(); + } + memory->destroy(Name); + memory->create(Name, nutypes, "reaxff/species:Name"); post_integrate(); } @@ -648,14 +643,14 @@ void FixReaxFFSpecies::FindSpecies(int Nmole, int &Nspec) memory->destroy(MolName); MolName = nullptr; - memory->create(MolName, Nmole * (ntypes + 1), "reaxff/species:MolName"); + memory->create(MolName, Nmole * (nutypes + 1), "reaxff/species:MolName"); memory->destroy(NMol); NMol = nullptr; memory->create(NMol, Nmole, "reaxff/species:NMol"); for (m = 0; m < Nmole; m++) NMol[m] = 1; - memory->create(Nameall, ntypes, "reaxff/species:Nameall"); + memory->create(Nameall, nutypes, "reaxff/species:Nameall"); memory->create(NMolall, Nmole, "reaxff/species:NMolall"); memory->destroy(Mol2Spec); @@ -664,12 +659,12 @@ void FixReaxFFSpecies::FindSpecies(int Nmole, int &Nspec) for (m = 0; m < Nmole; m++) Mol2Spec[m] = -1; for (m = 1, Nspec = 0; m <= Nmole; m++) { - for (n = 0; n < ntypes; n++) Name[n] = 0; + for (n = 0; n < nutypes; n++) Name[n] = 0; for (n = 0, flag_mol = 0; n < nlocal; n++) { if (!(mask[n] & groupbit)) continue; cid = nint(clusterID[n]); if (cid == m) { - itype = atom->type[n] - 1; + itype = ele2uele[atom->type[n] - 1]; Name[itype]++; flag_mol = 1; } @@ -677,15 +672,15 @@ void FixReaxFFSpecies::FindSpecies(int Nmole, int &Nspec) MPI_Allreduce(&flag_mol, &flag_tmp, 1, MPI_INT, MPI_MAX, world); flag_mol = flag_tmp; - MPI_Allreduce(Name, Nameall, ntypes, MPI_INT, MPI_SUM, world); - for (n = 0; n < ntypes; n++) Name[n] = Nameall[n]; + MPI_Allreduce(Name, Nameall, nutypes, MPI_INT, MPI_SUM, world); + for (n = 0; n < nutypes; n++) Name[n] = Nameall[n]; if (flag_mol == 1) { flag_identity = 1; for (k = 0; k < Nspec; k++) { flag_spec = 0; - for (l = 0; l < ntypes; l++) - if (MolName[ntypes * k + l] != Name[l]) flag_spec = 1; + for (l = 0; l < nutypes; l++) + if (MolName[nutypes * k + l] != Name[l]) flag_spec = 1; if (flag_spec == 0) { NMol[k]++; Mol2Spec[m - 1] = k; @@ -693,7 +688,7 @@ void FixReaxFFSpecies::FindSpecies(int Nmole, int &Nspec) flag_identity *= flag_spec; } if (Nspec == 0 || flag_identity == 1) { - for (l = 0; l < ntypes; l++) MolName[ntypes * Nspec + l] = Name[l]; + for (l = 0; l < nutypes; l++) MolName[nutypes * Nspec + l] = Name[l]; Mol2Spec[m - 1] = Nspec; Nspec++; } @@ -708,24 +703,24 @@ void FixReaxFFSpecies::FindSpecies(int Nmole, int &Nspec) memory->destroy(MolType); MolType = nullptr; - memory->create(MolType, Nspec * (ntypes + 2), "reaxff/species:MolType"); + memory->create(MolType, Nspec * (nutypes + 2), "reaxff/species:MolType"); } /* ---------------------------------------------------------------------- */ -int FixReaxFFSpecies::CheckExistence(int id, int ntypes) +int FixReaxFFSpecies::CheckExistence(int id, int nutypes) { int i, j, molid, flag; for (i = 0; i < Nmoltype; i++) { flag = 0; - for (j = 0; j < ntypes; j++) { - molid = MolType[ntypes * i + j]; - if (molid != MolName[ntypes * id + j]) flag = 1; + for (j = 0; j < nutypes; j++) { + molid = MolType[nutypes * i + j]; + if (molid != MolName[nutypes * id + j]) flag = 1; } if (flag == 0) return i; } - for (i = 0; i < ntypes; i++) MolType[ntypes * Nmoltype + i] = MolName[ntypes * id + i]; + for (i = 0; i < nutypes; i++) MolType[nutypes * Nmoltype + i] = MolName[nutypes * id + i]; Nmoltype++; return Nmoltype - 1; @@ -733,6 +728,50 @@ int FixReaxFFSpecies::CheckExistence(int id, int ntypes) /* ---------------------------------------------------------------------- */ +void FixReaxFFSpecies::GetUniqueElements() +{ + eleflag = 1; + + // get unique 'element' labels + + nutypes = 0; + int skipflag; + for (int i = 0; i < ntypes; i++) { + skipflag = 0; + for (int j = 0; j < nutypes; j++) + if (eletype[i] == ueletype[j]) { + skipflag = 1; + break; + } + if (skipflag) continue; + ueletype[nutypes++] = eletype[i]; + } + + // reorder CHON, if necessary + + int incr = 0; + std::vector CHON = {"C", "H", "O", "N"}; + for (auto it = CHON.begin(); it != CHON.end(); ++it) + for (int j = incr; j < nutypes; j++) { + if (ueletype[j] == *it) { + ueletype.erase(ueletype.begin() + j); + ueletype.insert(ueletype.begin() + incr++, *it); + break; + } + } + + // map user input to unique list + + for (int i = 0; i < ntypes; i++) + for (int j = 0; j < nutypes; j++) + if (eletype[i] == ueletype[j]) { + ele2uele[i] = j; + break; + } +} + +/* ---------------------------------------------------------------------- */ + void FixReaxFFSpecies::WriteFormulas(int Nmole, int Nspec) { int i, j, itemp; @@ -742,17 +781,14 @@ void FixReaxFFSpecies::WriteFormulas(int Nmole, int Nspec) Nmoltype = 0; - for (i = 0; i < Nspec; i++) nd[i] = CheckExistence(i, ntypes); + for (i = 0; i < Nspec; i++) nd[i] = CheckExistence(i, nutypes); for (i = 0; i < Nmoltype; i++) { std::string molname; - for (j = 0; j < ntypes; j++) { - itemp = MolType[ntypes * i + j]; + for (j = 0; j < nutypes; j++) { + itemp = MolType[nutypes * i + j]; if (itemp != 0) { - if (eletype) - molname += eletype[j]; - else - molname += ele[j]; + molname += ueletype[j]; if (itemp != 1) molname += std::to_string(itemp); } } @@ -810,20 +846,20 @@ void FixReaxFFSpecies::WritePos(int Nmole, int Nspec) } Nameall = nullptr; - memory->create(Nameall, ntypes, "reaxff/species:Nameall"); + memory->create(Nameall, nutypes, "reaxff/species:Nameall"); for (m = 1; m <= Nmole; m++) { count = 0; avq = 0.0; for (n = 0; n < 3; n++) avx[n] = 0.0; - for (n = 0; n < ntypes; n++) Name[n] = 0; + for (n = 0; n < nutypes; n++) Name[n] = 0; for (i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; cid = nint(clusterID[i]); if (cid == m) { - itype = atom->type[i] - 1; + itype = ele2uele[atom->type[i] - 1]; Name[itype]++; count++; avq += spec_atom[i][0]; @@ -850,17 +886,14 @@ void FixReaxFFSpecies::WritePos(int Nmole, int Nspec) MPI_Reduce(&count, &count_tmp, 1, MPI_INT, MPI_SUM, 0, world); count = count_tmp; - MPI_Reduce(Name, Nameall, ntypes, MPI_INT, MPI_SUM, 0, world); - for (n = 0; n < ntypes; n++) Name[n] = Nameall[n]; + MPI_Reduce(Name, Nameall, nutypes, MPI_INT, MPI_SUM, 0, world); + for (n = 0; n < nutypes; n++) Name[n] = Nameall[n]; if (comm->me == 0) { fprintf(pos, "%d\t%d\t", m, count); - for (n = 0; n < ntypes; n++) { + for (n = 0; n < nutypes; n++) { if (Name[n] != 0) { - if (eletype) - fprintf(pos, "%s", eletype[n]); - else - fprintf(pos, "%c", ele[n]); + fprintf(pos, "%s", ueletype[n].c_str()); if (Name[n] != 1) fprintf(pos, "%d", Name[n]); } } @@ -912,7 +945,7 @@ void FixReaxFFSpecies::DeleteSpecies(int Nmole, int Nspec) for (i = 0; i < nlocal; i++) mark[i] = 0; Nameall = nullptr; - memory->create(Nameall, ntypes, "reaxff/species:Nameall"); + memory->create(Nameall, nutypes, "reaxff/species:Nameall"); int ndelcomm; if (masslimitflag) @@ -944,13 +977,13 @@ void FixReaxFFSpecies::DeleteSpecies(int Nmole, int Nspec) if (this_delete_Tcount == headroom) break; m = molrange[mm]; localmass = totalmass = count = nmarklist = 0; - for (n = 0; n < ntypes; n++) Name[n] = 0; + for (n = 0; n < nutypes; n++) Name[n] = 0; for (i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; cid = nint(clusterID[i]); if (cid == m) { - itype = atom->type[i] - 1; + itype = ele2uele[atom->type[i] - 1]; Name[itype]++; count++; marklist[nmarklist++] = i; @@ -961,18 +994,15 @@ void FixReaxFFSpecies::DeleteSpecies(int Nmole, int Nspec) MPI_Allreduce(&count, &count_tmp, 1, MPI_INT, MPI_SUM, world); count = count_tmp; - MPI_Allreduce(Name, Nameall, ntypes, MPI_INT, MPI_SUM, world); - for (n = 0; n < ntypes; n++) Name[n] = Nameall[n]; + MPI_Allreduce(Name, Nameall, nutypes, MPI_INT, MPI_SUM, world); + for (n = 0; n < nutypes; n++) Name[n] = Nameall[n]; MPI_Allreduce(&localmass, &totalmass, 1, MPI_DOUBLE, MPI_SUM, world); species_str = ""; - for (j = 0; j < ntypes; j++) { + for (j = 0; j < nutypes; j++) { if (Name[j] != 0) { - if (eletype) - species_str += eletype[j]; - else - species_str += ele[j]; + species_str += ueletype[j]; if (Name[j] != 1) species_str += fmt::format("{}", Name[j]); } } @@ -1034,13 +1064,10 @@ void FixReaxFFSpecies::DeleteSpecies(int Nmole, int Nspec) printflag = 1; } fprintf(fdel, " %g ", deletecount[m]); - for (j = 0; j < ntypes; j++) { - int itemp = MolName[ntypes * m + j]; + for (j = 0; j < nutypes; j++) { + int itemp = MolName[nutypes * m + j]; if (itemp != 0) { - if (eletype) - fprintf(fdel, "%s", eletype[j]); - else - fprintf(fdel, "%c", ele[j]); + fprintf(fdel, "%s", ueletype[j].c_str()); if (itemp != 1) fprintf(fdel, "%d", itemp); } } diff --git a/src/REAXFF/fix_reaxff_species.h b/src/REAXFF/fix_reaxff_species.h index 8fcbb131a9..b9afc5466a 100644 --- a/src/REAXFF/fix_reaxff_species.h +++ b/src/REAXFF/fix_reaxff_species.h @@ -43,7 +43,7 @@ class FixReaxFFSpecies : public Fix { double compute_vector(int) override; protected: - int nmax, nlocal, ntypes, ntotal; + int nmax, nlocal, ntypes, nutypes, ntotal; int nrepeat, nfreq, posfreq, compressed, ndelspec; int Nmoltype, vector_nmole, vector_nspec; int *Name, *MolName, *NMol, *nd, *MolType, *molmap, *mark; @@ -62,7 +62,10 @@ class FixReaxFFSpecies : public Fix { int delete_Nsteps, *delete_Tcount; double massmin, massmax; int singlepos_opened, multipos_opened, del_opened; - char *ele, **eletype, *filepos, *filedel; + char *filepos, *filedel; + std::vector ele2uele; // for element eletype[i], ele2uele[i] stores index of unique element + std::vector eletype; // list of ReaxFF elements of length ntypes + std::vector ueletype; // list of unique elements, of quantity nutypes void Output_ReaxFF_Bonds(bigint, FILE *); AtomCoord chAnchor(AtomCoord, AtomCoord); @@ -72,6 +75,7 @@ class FixReaxFFSpecies : public Fix { void WriteFormulas(int, int); void DeleteSpecies(int, int); int CheckExistence(int, int); + void GetUniqueElements(); int nint(const double &); int pack_forward_comm(int, int *, double *, int, int *) override; diff --git a/src/REAXFF/pair_reaxff.cpp b/src/REAXFF/pair_reaxff.cpp index 1867aec81b..99f7510a49 100644 --- a/src/REAXFF/pair_reaxff.cpp +++ b/src/REAXFF/pair_reaxff.cpp @@ -297,14 +297,17 @@ void PairReaxFF::coeff(int nargs, char **args) } int n = atom->ntypes; + eletype.resize(n+1); // pair_coeff element map - for (int i = 3; i < nargs; i++) + for (int i = 3; i < nargs; i++) { + eletype[i-2] = args[i]; for (int j = 0; j < nreax_types; j++) if (utils::lowercase(args[i]) == utils::lowercase(api->system->reax_param.sbp[j].name)) { map[i-2] = j; itmp ++; } + } // error check if (itmp != n) diff --git a/src/REAXFF/pair_reaxff.h b/src/REAXFF/pair_reaxff.h index 594e7e502d..7bd2c6efe1 100644 --- a/src/REAXFF/pair_reaxff.h +++ b/src/REAXFF/pair_reaxff.h @@ -53,6 +53,7 @@ class PairReaxFF : public Pair { int fixbond_flag, fixspecies_flag; int **tmpid; double **tmpbo, **tmpr; + std::vector eletype; ReaxFF::API *api; typedef double rvec[3]; diff --git a/src/REAXFF/reaxff_ffield.cpp b/src/REAXFF/reaxff_ffield.cpp index 6ca8dc6256..7dfa2ee1cb 100644 --- a/src/REAXFF/reaxff_ffield.cpp +++ b/src/REAXFF/reaxff_ffield.cpp @@ -30,7 +30,6 @@ #include "error.h" #include "memory.h" #include "text_file_reader.h" -#include "tokenizer.h" #include "utils.h" #include @@ -40,6 +39,7 @@ using LAMMPS_NS::utils::open_potential; using LAMMPS_NS::utils::getsyserror; +using LAMMPS_NS::utils::strmatch; using LAMMPS_NS::utils::uppercase; using LAMMPS_NS::EOFException; using LAMMPS_NS::ValueTokenizer; @@ -72,7 +72,7 @@ namespace ReaxFF { filename, lineno, want, values.count())) if (control->me == 0) { - FILE *fp = LAMMPS_NS::utils::open_potential(filename, lmp, nullptr); + FILE *fp = open_potential(filename, lmp, nullptr); if (!fp) error->one(FLERR,"The ReaxFF parameter file {} cannot be opened: {}", filename, getsyserror()); @@ -82,9 +82,11 @@ namespace ReaxFF { try { int i,j,k,l,m,n,lineno = 0; - // skip header comment line + // check if header comment line is present - reader.skip_line(); + auto line = reader.next_line(); + if (strmatch(line, "^\\s*[0-9]+\\s+!.*general parameters.*")) + THROW_ERROR("First line of ReaxFF potential file must be a comment or empty"); ++lineno; // set some defaults diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp index 2fe4417161..b14c6bc22d 100644 --- a/src/REPLICA/fix_alchemy.cpp +++ b/src/REPLICA/fix_alchemy.cpp @@ -21,7 +21,6 @@ #include "input.h" #include "memory.h" #include "modify.h" -#include "respa.h" #include "universe.h" #include "update.h" #include "variable.h" diff --git a/src/REPLICA/fix_pimd_langevin.cpp b/src/REPLICA/fix_pimd_langevin.cpp index 01cfa66ebd..c24984f152 100644 --- a/src/REPLICA/fix_pimd_langevin.cpp +++ b/src/REPLICA/fix_pimd_langevin.cpp @@ -41,17 +41,16 @@ #include "random_mars.h" #include "universe.h" #include "update.h" -#include "utils.h" #include #include using namespace LAMMPS_NS; using namespace FixConst; -using MathConst::MY_PI; using MathConst::MY_2PI; -using MathConst::THIRD; +using MathConst::MY_PI; using MathConst::MY_SQRT2; +using MathConst::THIRD; using MathSpecial::powint; enum { PIMD, NMPIMD }; @@ -476,11 +475,13 @@ void FixPIMDLangevin::init() c_pe = modify->get_compute_by_id(id_pe); if (!c_pe) - error->universe_all(FLERR, fmt::format("Could not find fix {} potential energy compute ID {}", style, id_pe)); + error->universe_all( + FLERR, fmt::format("Could not find fix {} potential energy compute ID {}", style, id_pe)); c_press = modify->get_compute_by_id(id_press); if (!c_press) - error->universe_all(FLERR, fmt::format("Could not find fix {} pressure compute ID {}", style, id_press)); + error->universe_all( + FLERR, fmt::format("Could not find fix {} pressure compute ID {}", style, id_press)); t_prim = t_vir = t_cv = p_prim = p_vir = p_cv = p_md = 0.0; } @@ -668,27 +669,26 @@ void FixPIMDLangevin::post_force(int /*flag*/) imageint *image = atom->image; tagint *tag = atom->tag; - if (method == NMPIMD) { - if (atom->nmax > maxunwrap) reallocate_x_unwrap(); - if (atom->nmax > maxxc) reallocate_xc(); - for (int i = 0; i < nlocal; i++) { - x_unwrap[i][0] = x[i][0]; - x_unwrap[i][1] = x[i][1]; - x_unwrap[i][2] = x[i][2]; - } - if (mapflag) { - for (int i = 0; i < nlocal; i++) { domain->unmap(x_unwrap[i], image[i]); } - } - for (int i = 0; i < nlocal; i++) { - xc[i][0] = xcall[3 * (tag[i] - 1) + 0]; - xc[i][1] = xcall[3 * (tag[i] - 1) + 1]; - xc[i][2] = xcall[3 * (tag[i] - 1) + 2]; - } - - compute_vir(); - compute_cvir(); - compute_t_vir(); + if (atom->nmax > maxunwrap) reallocate_x_unwrap(); + if (atom->nmax > maxxc) reallocate_xc(); + for (int i = 0; i < nlocal; i++) { + x_unwrap[i][0] = x[i][0]; + x_unwrap[i][1] = x[i][1]; + x_unwrap[i][2] = x[i][2]; } + if (mapflag) { + for (int i = 0; i < nlocal; i++) { domain->unmap(x_unwrap[i], image[i]); } + } + for (int i = 0; i < nlocal; i++) { + xc[i][0] = xcall[3 * (tag[i] - 1) + 0]; + xc[i][1] = xcall[3 * (tag[i] - 1) + 1]; + xc[i][2] = xcall[3 * (tag[i] - 1) + 2]; + } + + compute_vir(); + compute_xf_vir(); + compute_cvir(); + compute_t_vir(); if (method == PIMD) { if (mapflag) { @@ -697,6 +697,7 @@ void FixPIMDLangevin::post_force(int /*flag*/) inter_replica_comm(x); spring_force(); compute_spring_energy(); + compute_t_prim(); if (mapflag) { for (int i = 0; i < nlocal; i++) { domain->unmap_inv(x[i], image[i]); } } @@ -742,7 +743,7 @@ void FixPIMDLangevin::collect_xc() } } - const double sqrtnp = sqrt((double)np); + const double sqrtnp = sqrt((double) np); for (int i = 0; i < nlocal; i++) { xcall[3 * (tag[i] - 1) + 0] = x[i][0] / sqrtnp; xcall[3 * (tag[i] - 1) + 1] = x[i][1] / sqrtnp; @@ -1049,8 +1050,8 @@ void FixPIMDLangevin::langevin_init() c2_k[i] = sqrt(1.0 - c1_k[i] * c1_k[i]); } for (int i = 0; i < np; i++) { - out += fmt::format(" {:d} {:.8e} {:.8e} {:.8e} {:.8e}\n", i, - _omega_k[i], tau_k[i], c1_k[i], c2_k[i]); + out += fmt::format(" {:d} {:.8e} {:.8e} {:.8e} {:.8e}\n", i, _omega_k[i], tau_k[i], + c1_k[i], c2_k[i]); } } else if (method == PIMD) { for (int i = 0; i < np; i++) { @@ -1112,7 +1113,7 @@ void FixPIMDLangevin::nmpimd_init() } // Set up eigenvectors for degenerated modes - const double sqrtnp = sqrt((double)np); + const double sqrtnp = sqrt((double) np); for (int j = 0; j < np; j++) { for (int i = 1; i < int(np / 2) + 1; i++) { M_x2xp[i][j] = MY_SQRT2 * cos(MY_2PI * double(i) * double(j) / double(np)) / sqrtnp; @@ -1365,7 +1366,23 @@ void FixPIMDLangevin::inter_replica_comm(double **ptr) void FixPIMDLangevin::remove_com_motion() { - if (universe->iworld == 0) { + if (method == NMPIMD) { + if (universe->iworld == 0) { + double **v = atom->v; + int *mask = atom->mask; + int nlocal = atom->nlocal; + if (dynamic) masstotal = group->mass(igroup); + double vcm[3]; + group->vcm(igroup, masstotal, vcm); + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + v[i][0] -= vcm[0]; + v[i][1] -= vcm[1]; + v[i][2] -= vcm[2]; + } + } + } + } else if (method == PIMD) { double **v = atom->v; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -1379,24 +1396,34 @@ void FixPIMDLangevin::remove_com_motion() v[i][2] -= vcm[2]; } } + } else { + error->all(FLERR, "Unknown method for fix pimd/langevin. Only nmpimd and pimd are supported!"); } } /* ---------------------------------------------------------------------- */ +void FixPIMDLangevin::compute_xf_vir() +{ + int nlocal = atom->nlocal; + double xf = 0.0; + vir_ = 0.0; + for (int i = 0; i < nlocal; i++) { + for (int j = 0; j < 3; j++) { xf += x_unwrap[i][j] * atom->f[i][j]; } + } + MPI_Allreduce(&xf, &vir_, 1, MPI_DOUBLE, MPI_SUM, universe->uworld); +} + +/* ---------------------------------------------------------------------- */ + void FixPIMDLangevin::compute_cvir() { int nlocal = atom->nlocal; - double xf = 0.0; double xcf = 0.0; - vir_ = centroid_vir = 0.0; + centroid_vir = 0.0; for (int i = 0; i < nlocal; i++) { - for (int j = 0; j < 3; j++) { - xf += x_unwrap[i][j] * atom->f[i][j]; - xcf += (x_unwrap[i][j] - xc[i][j]) * atom->f[i][j]; - } + for (int j = 0; j < 3; j++) { xcf += (x_unwrap[i][j] - xc[i][j]) * atom->f[i][j]; } } - MPI_Allreduce(&xf, &vir_, 1, MPI_DOUBLE, MPI_SUM, universe->uworld); MPI_Allreduce(&xcf, ¢roid_vir, 1, MPI_DOUBLE, MPI_SUM, universe->uworld); if (pstyle == ANISO) { for (int i = 0; i < 6; i++) c_vir_tensor[i] = 0.0; @@ -1554,11 +1581,19 @@ void FixPIMDLangevin::compute_p_prim() void FixPIMDLangevin::compute_p_cv() { double inv_volume = 1.0 / (domain->xprd * domain->yprd * domain->zprd); - if (universe->iworld == 0) { - p_cv = THIRD * inv_volume * ((2.0 * ke_bead - centroid_vir) * force->nktv2p + vir) / np; - } p_md = THIRD * inv_volume * (totke + vir); - MPI_Bcast(&p_cv, 1, MPI_DOUBLE, 0, universe->uworld); + if (method == NMPIMD) { + if (universe->iworld == 0) { + p_cv = THIRD * inv_volume * ((2.0 * ke_bead - centroid_vir) * force->nktv2p + vir) / np; + } + MPI_Bcast(&p_cv, 1, MPI_DOUBLE, 0, universe->uworld); + } else if (method == PIMD) { + p_cv = THIRD * inv_volume * ((2.0 * totke / np - centroid_vir) * force->nktv2p + vir) / np; + } else { + error->universe_all( + FLERR, + "Unknown method parameter for fix pimd/langevin. Only nmpimd and pimd are supported!"); + } } /* ---------------------------------------------------------------------- */ diff --git a/src/REPLICA/fix_pimd_langevin.h b/src/REPLICA/fix_pimd_langevin.h index 0f21b908b0..869281243f 100644 --- a/src/REPLICA/fix_pimd_langevin.h +++ b/src/REPLICA/fix_pimd_langevin.h @@ -176,6 +176,7 @@ class FixPIMDLangevin : public Fix { void compute_p_prim(); void compute_p_cv(); // centroid-virial pressure estimator void compute_vir(); + void compute_xf_vir(); void compute_cvir(); void compute_totenthalpy(); diff --git a/src/REPLICA/temper.cpp b/src/REPLICA/temper.cpp index adbdb4d742..77bc45e6e3 100644 --- a/src/REPLICA/temper.cpp +++ b/src/REPLICA/temper.cpp @@ -33,7 +33,6 @@ #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/REPLICA/temper_npt.cpp b/src/REPLICA/temper_npt.cpp index d814bf6725..aa72047fe7 100644 --- a/src/REPLICA/temper_npt.cpp +++ b/src/REPLICA/temper_npt.cpp @@ -35,7 +35,6 @@ #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 7a63c52220..f4b82e1fd2 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -1234,11 +1234,6 @@ void FixRigid::enforce2d() angmom[ibody][1] = 0.0; omega[ibody][0] = 0.0; omega[ibody][1] = 0.0; - if (langflag && langextra) { - langextra[ibody][2] = 0.0; - langextra[ibody][3] = 0.0; - langextra[ibody][4] = 0.0; - } } } @@ -1958,6 +1953,8 @@ void FixRigid::setup_bodies_static() // diagonalize inertia tensor for each body via Jacobi rotations // inertia = 3 eigenvalues = principal moments of inertia + // request that jacobi3() return them in ascending order, + /// so that in 2d last evector is z-axis // evectors and exzy_space = 3 evectors = principal axes of rigid body int ierror; @@ -1972,7 +1969,7 @@ void FixRigid::setup_bodies_static() tensor[0][2] = tensor[2][0] = all[ibody][4]; tensor[0][1] = tensor[1][0] = all[ibody][5]; - ierror = MathEigen::jacobi3(tensor,inertia[ibody],evectors); + ierror = MathEigen::jacobi3(tensor,inertia[ibody],evectors,1); if (ierror) error->all(FLERR, "Insufficient Jacobi rotations for rigid body"); @@ -1986,6 +1983,22 @@ void FixRigid::setup_bodies_static() ez_space[ibody][1] = evectors[1][2]; ez_space[ibody][2] = evectors[2][2]; + // for 2d, ensure that evector along z axis is last + // necessary so that quaternion is a simple rotation around +z axis + // or a 180 degree rotation for a -z axis + // otherwise richardson() method for a body with a tiny evalue (near-linear) + // may not preserve the correct z-aligned quat and associated evectors + // over time due to round-off accumulation + + if (domain->dimension == 2) { + if (fabs(ez_space[ibody][0]) > EPSILON || fabs(ez_space[ibody][1]) > EPSILON) { + std::swap(inertia[ibody][1],inertia[ibody][2]); + std::swap(ey_space[ibody][0],ez_space[ibody][0]); + std::swap(ey_space[ibody][1],ez_space[ibody][1]); + std::swap(ey_space[ibody][2],ez_space[ibody][2]); + } + } + // if any principal moment < scaled EPSILON, set to 0.0 double max; diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 9e185a4de2..0bfd8032c5 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -1110,11 +1110,6 @@ void FixRigidSmall::enforce2d() b->angmom[1] = 0.0; b->omega[0] = 0.0; b->omega[1] = 0.0; - if (langflag && langextra) { - langextra[ibody][2] = 0.0; - langextra[ibody][3] = 0.0; - langextra[ibody][4] = 0.0; - } } } @@ -2102,6 +2097,8 @@ void FixRigidSmall::setup_bodies_static() // diagonalize inertia tensor for each body via Jacobi rotations // inertia = 3 eigenvalues = principal moments of inertia + // request that jacobi3() returns them in ascending order, + // so that in 2d last evector is z-axis // evectors and exzy_space = 3 evectors = principal axes of rigid body int ierror; @@ -2118,7 +2115,7 @@ void FixRigidSmall::setup_bodies_static() tensor[0][1] = tensor[1][0] = itensor[ibody][5]; inertia = body[ibody].inertia; - ierror = MathEigen::jacobi3(tensor,inertia,evectors); + ierror = MathEigen::jacobi3(tensor,inertia,evectors,1); if (ierror) error->all(FLERR, "Insufficient Jacobi rotations for rigid body"); ex = body[ibody].ex_space; @@ -2134,6 +2131,22 @@ void FixRigidSmall::setup_bodies_static() ez[1] = evectors[1][2]; ez[2] = evectors[2][2]; + // for 2d, ensure that evector along z axis is last + // necessary so that quaternion is a simple rotation around +z axis + // or a 180 degree rotation for a -z axis + // otherwise richardson() method for a body with a tiny evalue (near-linear) + // may not preserve the correct z-aligned quat and associated evectors + // over time due to round-off accumulation + + if (domain->dimension == 2) { + if (fabs(ez[0]) > EPSILON || fabs(ez[1]) > EPSILON) { + std::swap(inertia[1],inertia[2]); + std::swap(ey[0],ez[0]); + std::swap(ey[1],ez[1]); + std::swap(ey[2],ez[2]); + } + } + // if any principal moment < scaled EPSILON, set to 0.0 double max; @@ -2156,11 +2169,12 @@ void FixRigidSmall::setup_bodies_static() // convert geometric center position to principal axis coordinates // xcm is wrapped, but xgc is not initially + xcm = body[ibody].xcm; xgc = body[ibody].xgc; double delta[3]; MathExtra::sub3(xgc,xcm,delta); - domain->minimum_image(delta); + domain->minimum_image_big(delta); MathExtra::transpose_matvec(ex,ey,ez,delta,body[ibody].xgc_body); MathExtra::add3(xcm,delta,xgc); } diff --git a/src/RIGID/fix_shake.cpp b/src/RIGID/fix_shake.cpp index 73c29d86bd..5df0f525e8 100644 --- a/src/RIGID/fix_shake.cpp +++ b/src/RIGID/fix_shake.cpp @@ -63,6 +63,7 @@ FixShake::FixShake(LAMMPS *lmp, int narg, char **arg) : create_attribute = 1; dof_flag = 1; scalar_flag = 1; + extscalar = 1; stores_ids = 1; centroidstressflag = CENTROID_AVAIL; next_output = -1; diff --git a/src/SMTBQ/pair_smatb.cpp b/src/SMTBQ/pair_smatb.cpp index 85446b7a62..ab6aee557e 100644 --- a/src/SMTBQ/pair_smatb.cpp +++ b/src/SMTBQ/pair_smatb.cpp @@ -26,6 +26,7 @@ #include "neighbor.h" #include +#include using namespace LAMMPS_NS; diff --git a/src/SMTBQ/pair_smatb_single.cpp b/src/SMTBQ/pair_smatb_single.cpp index 756941b2b7..4506a1093c 100644 --- a/src/SMTBQ/pair_smatb_single.cpp +++ b/src/SMTBQ/pair_smatb_single.cpp @@ -26,6 +26,7 @@ #include "neighbor.h" #include +#include using namespace LAMMPS_NS; diff --git a/src/SMTBQ/pair_smtbq.cpp b/src/SMTBQ/pair_smtbq.cpp index 4e4a6109fa..3696a3ab6c 100644 --- a/src/SMTBQ/pair_smtbq.cpp +++ b/src/SMTBQ/pair_smtbq.cpp @@ -60,6 +60,7 @@ #include #include +#include #include #include diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 9a7e4c6aac..f941ddc990 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -1,5 +1,4 @@ /* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories LAMMPS development team: developers@lammps.org @@ -10,7 +9,6 @@ the GNU General Public License. See the README file in the top-level LAMMPS directory. - ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------ @@ -26,6 +24,8 @@ #include "atom_vec_spin.h" #include "atom.h" +#include "domain.h" +#include "memory.h" #include #include @@ -42,6 +42,8 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) atom->sp_flag = 1; + sp_hold = nullptr; + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -100,3 +102,55 @@ void AtomVecSpin::data_atom_post(int ilocal) sp_one[1] *= norm; sp_one[2] *= norm; } + +/* ---------------------------------------------------------------------- + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on spin vector sp +------------------------------------------------------------------------- */ + +void AtomVecSpin::read_data_general_to_restricted(int nlocal_previous, int nlocal) +{ + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); + + for (int i = nlocal_previous; i < nlocal; i++) + domain->general_to_restricted_vector(sp[i]); +} + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on spin vector sp which has 4 values per atom +------------------------------------------------------------------------- */ + +void AtomVecSpin::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + int nlocal = atom->nlocal; + memory->create(sp_hold,nlocal,3,"atomvec:sp_hold"); + for (int i = 0; i < nlocal; i++) { + memcpy(&sp_hold[i],&sp[i],3*sizeof(double)); + domain->restricted_to_general_vector(sp[i]); + } +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on spin vector sp which has 4 values per atom +------------------------------------------------------------------------- */ + +void AtomVecSpin::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + if (!sp_hold) return; + + int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; i++) + memcpy(&sp[i],&sp_hold[i],3*sizeof(double)); + memory->destroy(sp_hold); + sp_hold = nullptr; +} diff --git a/src/SPIN/atom_vec_spin.h b/src/SPIN/atom_vec_spin.h index bf11d5856e..7a2f890086 100644 --- a/src/SPIN/atom_vec_spin.h +++ b/src/SPIN/atom_vec_spin.h @@ -31,9 +31,13 @@ class AtomVecSpin : virtual public AtomVec { void grow_pointers() override; void force_clear(int, size_t) override; void data_atom_post(int) override; + void read_data_general_to_restricted(int, int) override; + void write_data_restricted_to_general() override; + void write_data_restore_restricted() override; protected: double **sp, **fm, **fm_long; + double **sp_hold; }; } // namespace LAMMPS_NS diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 1c92d284f0..fc5e223e75 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -215,9 +215,8 @@ void ComputeSpin::compute_vector() tempnum += tx*tx+ty*ty+tz*tz; tempdenom += sp[i][0]*fm[i][0]+fm[i][1]*sp[i][1]+sp[i][2]*fm[i][2]; countsp++; - } + } else error->all(FLERR,"Compute compute/spin requires atom/spin style"); } - else error->all(FLERR,"Compute compute/spin requires atom/spin style"); } MPI_Allreduce(mag,magtot,4,MPI_DOUBLE,MPI_SUM,world); diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index ac54f069a9..fb8b7d8353 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -44,6 +44,7 @@ #include #include +#include using namespace LAMMPS_NS; diff --git a/src/VORONOI/compute_voronoi_atom.cpp b/src/VORONOI/compute_voronoi_atom.cpp index ca4ad4a85c..4aa6ebf559 100644 --- a/src/VORONOI/compute_voronoi_atom.cpp +++ b/src/VORONOI/compute_voronoi_atom.cpp @@ -126,6 +126,7 @@ ComputeVoronoi::ComputeVoronoi(LAMMPS *lmp, int narg, char **arg) : if (maxedge > 0) { vector_flag = 1; + extvector = 0; size_vector = maxedge+1; memory->create(edge,maxedge+1,"voronoi/atom:edge"); memory->create(sendvector,maxedge+1,"voronoi/atom:sendvector"); diff --git a/src/angle_hybrid.cpp b/src/angle_hybrid.cpp index e79776b0d2..0c61970a1f 100644 --- a/src/angle_hybrid.cpp +++ b/src/angle_hybrid.cpp @@ -270,7 +270,7 @@ void AngleHybrid::coeff(int narg, char **arg) else if (strcmp(arg[1], "bb") == 0) error->all(FLERR, "BondBond coeff for hybrid angle has invalid format"); else - error->all(FLERR, "Angle coeff for hybrid has invalid style"); + error->all(FLERR, "Expected hybrid sub-style instead of {} in angle_coeff command", arg[1]); } // move 1st arg to 2nd arg diff --git a/src/angle_write.cpp b/src/angle_write.cpp index 0a0c457000..48420ae7be 100644 --- a/src/angle_write.cpp +++ b/src/angle_write.cpp @@ -25,7 +25,6 @@ #include "error.h" #include "force.h" #include "input.h" -#include "lammps.h" #include "math_const.h" #include "update.h" diff --git a/src/atom.cpp b/src/atom.cpp index 085ca88b4e..866a52e25a 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -50,6 +50,7 @@ using namespace MathConst; static constexpr int DELTA = 1; static constexpr double EPSILON = 1.0e-6; +static constexpr double EPS_ZCOORD = 1.0e-12; /* ---------------------------------------------------------------------- one instance per AtomVec style in style_atom.h @@ -1039,12 +1040,13 @@ void Atom::deallocate_topology() /* ---------------------------------------------------------------------- unpack N lines from Atom section of data file - call style-specific routine to parse line + call atom-style specific method to parse each line + triclinic_general = 1 if data file defines a general triclinic box ------------------------------------------------------------------------- */ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, int type_offset, int shiftflag, double *shift, - int labelflag, int *ilabel) + int labelflag, int *ilabel, int triclinic_general) { int xptr,iptr; imageint imagedata; @@ -1055,6 +1057,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, auto location = "Atoms section of data file"; // use the first line to detect and validate the number of words/tokens per line + next = strchr(buf,'\n'); if (!next) error->all(FLERR, "Missing data in {}", location); *next = '\0'; @@ -1068,13 +1071,16 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, } if ((nwords != avec->size_data_atom) && (nwords != avec->size_data_atom + 3)) - error->all(FLERR,"Incorrect format in {}: {}", location, utils::trim(buf)); + error->all(FLERR,"Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); *next = '\n'; + // set bounds for my proc // if periodic and I am lo/hi proc, adjust bounds by EPSILON // ensures all data atoms will be owned even with round-off + int dimension = domain->dimension; int triclinic = domain->triclinic; double epsilon[3]; @@ -1145,18 +1151,27 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, *next = '\0'; auto values = Tokenizer(buf).as_vector(); int nvalues = values.size(); - if ((nvalues == 0) || (utils::strmatch(values[0],"^#.*"))) { - // skip over empty or comment lines + + // skip comment lines + + if ((nvalues == 0) || (utils::strmatch(values[0],"^#.*"))) { + + // check that line has correct # of words + } else if ((nvalues < nwords) || ((nvalues > nwords) && (!utils::strmatch(values[nwords],"^#")))) { - error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); + + // extract the atom coords and image flags (if they exist) + } else { int imx = 0, imy = 0, imz = 0; if (imageflag) { imx = utils::inumeric(FLERR,values[iptr],false,lmp); imy = utils::inumeric(FLERR,values[iptr+1],false,lmp); imz = utils::inumeric(FLERR,values[iptr+2],false,lmp); - if ((domain->dimension == 2) && (imz != 0)) + if ((dimension == 2) && (imz != 0)) error->all(FLERR,"Z-direction image flag must be 0 for 2d-systems"); if ((!domain->xperiodic) && (imx != 0)) { reset_image_flag[0] = true; imx = 0; } if ((!domain->yperiodic) && (imy != 0)) { reset_image_flag[1] = true; imy = 0; } @@ -1169,13 +1184,35 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, xdata[0] = utils::numeric(FLERR,values[xptr],false,lmp); xdata[1] = utils::numeric(FLERR,values[xptr+1],false,lmp); xdata[2] = utils::numeric(FLERR,values[xptr+2],false,lmp); + + // for 2d simulation: + // check if z coord is within EPS_ZCOORD of zero and set to zero + + if (dimension == 2) { + if (fabs(xdata[2]) > EPS_ZCOORD) + error->all(FLERR,"Read_data atom z coord is non-zero for 2d simulation"); + xdata[2] = 0.0; + } + + // convert atom coords from general to restricted triclinic + // so can decide which proc owns the atom + + if (triclinic_general) domain->general_to_restricted_coords(xdata); + + // apply shift if requested by read_data command + if (shiftflag) { xdata[0] += shift[0]; xdata[1] += shift[1]; xdata[2] += shift[2]; } + // map atom into simulation box for periodic dimensions + domain->remap(xdata,imagedata); + + // determine if this proc owns the atom + if (triclinic) { domain->x2lamda(xdata,lamda); coord = lamda; @@ -1184,6 +1221,9 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, if (coord[0] >= sublo[0] && coord[0] < subhi[0] && coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { + + // atom-style specific method parses single line + avec->data_atom(xdata,imagedata,values,typestr); typestr = utils::utf8_subst(typestr); if (id_offset) tag[nlocal-1] += id_offset; @@ -1223,8 +1263,8 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, /* ---------------------------------------------------------------------- unpack N lines from Velocity section of data file check that atom IDs are > 0 and <= map_tag_max - call style-specific routine to parse line -------------------------------------------------------------------------- */ + call style-specific routine to parse line- +------------------------------------------------------------------------ */ void Atom::data_vels(int n, char *buf, tagint id_offset) { @@ -1243,7 +1283,8 @@ void Atom::data_vels(int n, char *buf, tagint id_offset) if (values.size() == 0) { // skip over empty or comment lines } else if ((int)values.size() != avec->size_data_vel) { - error->all(FLERR, "Incorrect velocity format in data file: {}", utils::trim(buf)); + error->all(FLERR, "Incorrect format in Velocities section of data file: {}{}", + utils::trim(buf), utils::errorurl(2)); } else { tagint tagdata = utils::tnumeric(FLERR,values[0],false,lmp) + id_offset; if (tagdata <= 0 || tagdata > map_tag_max) @@ -1287,7 +1328,9 @@ void Atom::data_bonds(int n, char *buf, int *count, tagint id_offset, // skip over empty or comment lines // Bonds line is: number(ignored), bond type, atomID 1, atomID 2 if (nwords > 0) { - if (nwords != 4) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + if (nwords != 4) + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); typestr = utils::utf8_subst(values[1]); atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp); @@ -1378,7 +1421,9 @@ void Atom::data_angles(int n, char *buf, int *count, tagint id_offset, // skip over empty or comment lines // Angles line is: number(ignored), angle type, atomID 1, atomID 2, atomID 3 if (nwords > 0) { - if (nwords != 5) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + if (nwords != 5) + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); typestr = utils::utf8_subst(values[1]); atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp); @@ -1485,7 +1530,9 @@ void Atom::data_dihedrals(int n, char *buf, int *count, tagint id_offset, // skip over empty or comment lines // Dihedrals line is: number(ignored), bond type, atomID 1, atomID 2, atomID 3, atomID 4 if (nwords > 0) { - if (nwords != 6) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + if (nwords != 6) + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); typestr = utils::utf8_subst(values[1]); atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp); @@ -1611,7 +1658,9 @@ void Atom::data_impropers(int n, char *buf, int *count, tagint id_offset, // skip over empty or comment lines // Impropers line is: number(ignored), bond type, atomID 1, atomID 2, atomID 3, atomID 4 if (nwords > 0) { - if (nwords != 6) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + if (nwords != 6) + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); typestr = utils::utf8_subst(values[1]); atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp); @@ -1727,7 +1776,8 @@ void Atom::data_bonus(int n, char *buf, AtomVec *avec_bonus, tagint id_offset) if (values.size() == 0) { // skip over empty or comment lines } else if ((int)values.size() != avec_bonus->size_data_bonus) { - error->all(FLERR, "Incorrect bonus data format in data file: {}", utils::trim(buf)); + error->all(FLERR, "Incorrect format in Bonus section of data file: {}{}", + utils::trim(buf), utils::errorurl(2)); } else { tagint tagdata = utils::tnumeric(FLERR,values[0],false,lmp) + id_offset; if (tagdata <= 0 || tagdata > map_tag_max) diff --git a/src/atom.h b/src/atom.h index f238b2d5b1..86ec697dce 100644 --- a/src/atom.h +++ b/src/atom.h @@ -329,7 +329,7 @@ class Atom : protected Pointers { void deallocate_topology(); - void data_atoms(int, char *, tagint, tagint, int, int, double *, int, int *); + void data_atoms(int, char *, tagint, tagint, int, int, double *, int, int *, int); void data_vels(int, char *, tagint); void data_bonds(int, char *, int *, tagint, int, int, int *); void data_angles(int, char *, int *, tagint, int, int, int *); diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp index 8ea1d145eb..60526adcf2 100644 --- a/src/atom_vec.cpp +++ b/src/atom_vec.cpp @@ -68,6 +68,9 @@ AtomVec::AtomVec(LAMMPS *lmp) : Pointers(lmp) image = nullptr; x = v = f = nullptr; + x_hold = nullptr; + v_hold = omega_hold = angmom_hold = nullptr; + threads = nullptr; } @@ -1684,7 +1687,7 @@ void AtomVec::data_atom(double *coord, imageint imagetmp, const std::vectorgeneral_to_restricted_vector(array[i]); + } + } + } +} + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + create "hold" copy of original restricted data to restore after data file is written + parent class only operates on x and data from Velocities section of data file + child classes operate on all other data: Atoms, Ellipsoids, Lines, Triangles, etc +------------------------------------------------------------------------- */ + +void AtomVec::write_data_restricted_to_general() +{ + int datatype, cols; + void *pdata; + + int nlocal = atom->nlocal; + + memory->create(x_hold,nlocal,3,"atomvec:x_hold"); + if (nlocal) memcpy(&x_hold[0][0],&x[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_coords(x[i]); + + double **omega = atom->omega; + double **angmom = atom->angmom; + + for (int n = 1; n < ndata_vel; n++) { + pdata = mdata_vel.pdata[n]; + datatype = mdata_vel.datatype[n]; + cols = mdata_vel.cols[n]; + + // operate on v, omega, angmom + // no other write_data Velocities fields are Nx3 double arrays + + if (datatype == Atom::DOUBLE) { + if (cols == 3) { + double **array = *((double ***) pdata); + + if (array == v) { + memory->create(v_hold,nlocal,3,"atomvec:v_hold"); + if (nlocal) memcpy(&v_hold[0][0],&v[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_vector(v[i]); + } else if (array == omega) { + memory->create(omega_hold,nlocal,3,"atomvec:omega_hold"); + if (nlocal) memcpy(&omega_hold[0][0],&omega[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_vector(omega[i]); + } else if (array == angmom) { + memory->create(angmom_hold,nlocal,3,"atomvec:angmom_hold"); + if (nlocal) memcpy(&angmom_hold[0][0],&angmom[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_vector(angmom[i]); + } + } + } + } +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class only operates on x and data from Velocities section of data file + child classes operate on all other data: Atoms, Ellipsoids, Lines, Triangles, etc +------------------------------------------------------------------------- */ + +void AtomVec::write_data_restore_restricted() +{ + int nlocal = atom->nlocal; + + if (x_hold) { + memcpy(&x[0][0],&x_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(x_hold); + x_hold = nullptr; + } + + // operate on v, omega, angmom + // no other write_data Velocities fields are Nx3 double arrays + + if (v_hold) { + memcpy(&v[0][0],&v_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(v_hold); + v_hold = nullptr; + } + + if (omega_hold) { + memcpy(&atom->omega[0][0],&omega_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(omega_hold); + omega_hold = nullptr; + } + + if (angmom_hold) { + memcpy(&atom->angmom[0][0],&angmom_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(angmom_hold); + angmom_hold = nullptr; + } +} + /* ---------------------------------------------------------------------- return # of bytes of allocated memory ------------------------------------------------------------------------- */ diff --git a/src/atom_vec.h b/src/atom_vec.h index a4db054752..2342964797 100644 --- a/src/atom_vec.h +++ b/src/atom_vec.h @@ -123,7 +123,8 @@ class AtomVec : protected Pointers { virtual void create_atom(int, double *); virtual void create_atom_post(int) {} - virtual void data_atom(double *, imageint, const std::vector &, std::string &); + virtual void data_atom(double *, imageint, const std::vector &, + std::string &); virtual void data_atom_post(int) {} virtual void data_atom_bonus(int, const std::vector &) {} virtual void data_body(int, int, int, int *, double *) {} @@ -151,6 +152,10 @@ class AtomVec : protected Pointers { virtual int pack_data_bonus(double *, int) { return 0; } virtual void write_data_bonus(FILE *, int, double *, int) {} + virtual void read_data_general_to_restricted(int, int); + virtual void write_data_restricted_to_general(); + virtual void write_data_restore_restricted(); + virtual int property_atom(const std::string &) { return -1; } virtual void pack_property_atom(int, double *, int, int) {} @@ -168,6 +173,11 @@ class AtomVec : protected Pointers { imageint *image; double **x, **v, **f; + // copies of original unrotated fields for write_data for general triclinic + + double **x_hold; + double **v_hold, **omega_hold, **angmom_hold; + // standard list of peratom fields always operated on by different methods // common to all styles, so not listed in field strings diff --git a/src/atom_vec_body.cpp b/src/atom_vec_body.cpp index 538e9783df..5ff84d6b1f 100644 --- a/src/atom_vec_body.cpp +++ b/src/atom_vec_body.cpp @@ -16,8 +16,10 @@ #include "atom.h" #include "body.h" +#include "domain.h" #include "error.h" #include "fix.h" +#include "math_extra.h" #include "memory.h" #include "modify.h" #include "my_pool_chunk.h" @@ -595,6 +597,15 @@ void AtomVecBody::pack_data_pre(int ilocal) body[ilocal] = 1; } +/* ---------------------------------------------------------------------- + unmodify values packed by AtomVec::pack_data() +------------------------------------------------------------------------- */ + +void AtomVecBody::pack_data_post(int ilocal) +{ + body[ilocal] = body_flag; +} + /* ---------------------------------------------------------------------- pack bonus body info for writing to data file if buf is nullptr, just return buffer size @@ -629,12 +640,80 @@ void AtomVecBody::write_data_bonus(FILE *fp, int n, double *buf, int /*flag*/) } /* ---------------------------------------------------------------------- - unmodify values packed by AtomVec::pack_data() + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on body quaternion ------------------------------------------------------------------------- */ -void AtomVecBody::pack_data_post(int ilocal) +void AtomVecBody::read_data_general_to_restricted(int nlocal_previous, int nlocal) { - body[ilocal] = body_flag; + int j; + + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); + + // quat_g2r = quat that rotates from general to restricted triclinic + // quat_new = body quat converted to restricted triclinic + + double quat_g2r[4],quat_new[4]; + MathExtra::mat_to_quat(domain->rotate_g2r,quat_g2r); + + for (int i = nlocal_previous; i < nlocal; i++) { + if (body[i] < 0) continue; + j = body[i]; + MathExtra::quatquat(quat_g2r,bonus[j].quat,quat_new); + bonus[j].quat[0] = quat_new[0]; + bonus[j].quat[1] = quat_new[1]; + bonus[j].quat[2] = quat_new[2]; + bonus[j].quat[3] = quat_new[3]; + } +} + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on body quaternion +------------------------------------------------------------------------- */ + +void AtomVecBody::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); + + for (int i = 0; i < nlocal_bonus; i++) + memcpy(quat_hold[i],bonus[i].quat,4*sizeof(double)); + + // quat_r2g = quat that rotates from restricted to general triclinic + // quat_new = ellipsoid quat converted to general triclinic + + double quat_r2g[4],quat_new[4]; + MathExtra::mat_to_quat(domain->rotate_r2g,quat_r2g); + + for (int i = 0; i < nlocal_bonus; i++) { + MathExtra::quatquat(quat_r2g,bonus[i].quat,quat_new); + bonus[i].quat[0] = quat_new[0]; + bonus[i].quat[1] = quat_new[1]; + bonus[i].quat[2] = quat_new[2]; + bonus[i].quat[3] = quat_new[3]; + } +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on body quaternion +------------------------------------------------------------------------- */ + +void AtomVecBody::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + for (int i = 0; i < nlocal_bonus; i++) + memcpy(bonus[i].quat,quat_hold[i],4*sizeof(double)); + + memory->destroy(quat_hold); + quat_hold = nullptr; } /* ---------------------------------------------------------------------- diff --git a/src/atom_vec_body.h b/src/atom_vec_body.h index e02fd3bbb0..5c7ed73d21 100644 --- a/src/atom_vec_body.h +++ b/src/atom_vec_body.h @@ -66,6 +66,10 @@ class AtomVecBody : public AtomVec { int pack_data_bonus(double *, int) override; void write_data_bonus(FILE *, int, double *, int) override; + void read_data_general_to_restricted(int, int) override; + void write_data_restricted_to_general() override; + void write_data_restore_restricted() override; + // methods used by other classes to query/set body info double radius_body(int, int, int *, double *); @@ -77,6 +81,7 @@ class AtomVecBody : public AtomVec { int *body; double *rmass, *radius; double **angmom; + double **quat_hold; int nghost_bonus, nmax_bonus; int intdoubleratio; // sizeof(double) / sizeof(int) @@ -87,7 +92,6 @@ class AtomVecBody : public AtomVec { void grow_bonus(); void copy_bonus_all(int, int); - // check(int); }; } // namespace LAMMPS_NS diff --git a/src/atom_vec_ellipsoid.cpp b/src/atom_vec_ellipsoid.cpp index 3eaa927384..417c3cf5fa 100644 --- a/src/atom_vec_ellipsoid.cpp +++ b/src/atom_vec_ellipsoid.cpp @@ -18,6 +18,7 @@ #include "atom_vec_ellipsoid.h" #include "atom.h" +#include "domain.h" #include "error.h" #include "fix.h" #include "math_const.h" @@ -535,6 +536,83 @@ void AtomVecEllipsoid::write_data_bonus(FILE *fp, int n, double *buf, int /*flag } } +/* ---------------------------------------------------------------------- + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on ellipsoid quaternion +------------------------------------------------------------------------- */ + +void AtomVecEllipsoid::read_data_general_to_restricted(int nlocal_previous, int nlocal) +{ + int j; + + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); + + // quat_g2r = quat that rotates from general to restricted triclinic + // quat_new = ellipsoid quat converted to restricted triclinic + + double quat_g2r[4],quat_new[4]; + MathExtra::mat_to_quat(domain->rotate_g2r,quat_g2r); + + for (int i = nlocal_previous; i < nlocal; i++) { + if (ellipsoid[i] < 0) continue; + j = ellipsoid[i]; + MathExtra::quatquat(quat_g2r,bonus[j].quat,quat_new); + bonus[j].quat[0] = quat_new[0]; + bonus[j].quat[1] = quat_new[1]; + bonus[j].quat[2] = quat_new[2]; + bonus[j].quat[3] = quat_new[3]; + } +} + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on ellipsoid quaternion +------------------------------------------------------------------------- */ + +void AtomVecEllipsoid::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); + + for (int i = 0; i < nlocal_bonus; i++) + memcpy(quat_hold[i],bonus[i].quat,4*sizeof(double)); + + // quat_r2g = quat that rotates from restricted to general triclinic + // quat_new = ellipsoid quat converted to general triclinic + + double quat_r2g[4],quat_new[4]; + MathExtra::mat_to_quat(domain->rotate_r2g,quat_r2g); + + for (int i = 0; i < nlocal_bonus; i++) { + MathExtra::quatquat(quat_r2g,bonus[i].quat,quat_new); + bonus[i].quat[0] = quat_new[0]; + bonus[i].quat[1] = quat_new[1]; + bonus[i].quat[2] = quat_new[2]; + bonus[i].quat[3] = quat_new[3]; + } +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on ellipsoid quaternion +------------------------------------------------------------------------- */ + +void AtomVecEllipsoid::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + for (int i = 0; i < nlocal_bonus; i++) + memcpy(bonus[i].quat,quat_hold[i],4*sizeof(double)); + + memory->destroy(quat_hold); + quat_hold = nullptr; +} + /* ---------------------------------------------------------------------- set shape values in bonus data for particle I oriented aligned with xyz axes diff --git a/src/atom_vec_ellipsoid.h b/src/atom_vec_ellipsoid.h index 6e06d773fc..5b0d878c84 100644 --- a/src/atom_vec_ellipsoid.h +++ b/src/atom_vec_ellipsoid.h @@ -59,6 +59,10 @@ class AtomVecEllipsoid : public AtomVec { int pack_data_bonus(double *, int) override; void write_data_bonus(FILE *, int, double *, int) override; + void read_data_general_to_restricted(int, int) override; + void write_data_restricted_to_general() override; + void write_data_restore_restricted() override; + // unique to AtomVecEllipsoid void set_shape(int, double, double, double); @@ -69,6 +73,7 @@ class AtomVecEllipsoid : public AtomVec { int *ellipsoid; double *rmass; double **angmom; + double **quat_hold; int nghost_bonus, nmax_bonus; int ellipsoid_flag; diff --git a/src/atom_vec_line.cpp b/src/atom_vec_line.cpp index cd747d0862..6ec4836770 100644 --- a/src/atom_vec_line.cpp +++ b/src/atom_vec_line.cpp @@ -351,6 +351,35 @@ void AtomVecLine::data_atom_bonus(int m, const std::vector &values) double y1 = utils::numeric(FLERR, values[ivalue++], true, lmp); double x2 = utils::numeric(FLERR, values[ivalue++], true, lmp); double y2 = utils::numeric(FLERR, values[ivalue++], true, lmp); + + // convert x1/y1 and x2/y2 from general to restricted triclniic + // x is already restricted triclinic + + double coords[3]; + + if (domain->triclinic_general) { + coords[0] = x1; coords[1] = y1; coords[2] = 0.0; + domain->general_to_restricted_coords(coords); + x1 = coords[0]; y1 = coords[1]; + coords[0] = x2; coords[1] = y2; coords[2] = 0.0; + domain->general_to_restricted_coords(coords); + x2 = coords[0]; y2 = coords[1]; + } + + // remap end points to be near x + // necessary if atom x was remapped into periodic box + + coords[0] = x1; coords[1] = y1; coords[2] = 0.0; + domain->remap_near(coords,x[m]); + x1 = coords[0]; y1 = coords[1]; + coords[0] = x2; coords[1] = y2; coords[2] = 0.0; + domain->remap_near(coords,x[m]); + x2 = coords[0]; y2 = coords[1]; + + // calculate length and theta + // error if segment center is not within EPSILON of atom x + // reset atom x to center point + double dx = x2 - x1; double dy = y2 - y1; double length = sqrt(dx * dx + dy * dy); @@ -477,8 +506,14 @@ int AtomVecLine::pack_data_bonus(double *buf, int /*flag*/) int i, j; double length, theta; double xc, yc, x1, x2, y1, y2; + double coords[3]; + + int triclinic_general = domain->triclinic_general; + + double **x_bonus; + if (triclinic_general) x_bonus = x_hold; + else x_bonus = x; - double **x = atom->x; tagint *tag = atom->tag; int nlocal = atom->nlocal; @@ -490,8 +525,9 @@ int AtomVecLine::pack_data_bonus(double *buf, int /*flag*/) j = line[i]; length = bonus[j].length; theta = bonus[j].theta; - xc = x[i][0]; - yc = x[i][1]; + + xc = x_bonus[i][0]; + yc = x_bonus[i][1]; x1 = xc - 0.5 * cos(theta) * length; y1 = yc - 0.5 * sin(theta) * length; x2 = xc + 0.5 * cos(theta) * length; @@ -500,6 +536,20 @@ int AtomVecLine::pack_data_bonus(double *buf, int /*flag*/) buf[m++] = y1; buf[m++] = x2; buf[m++] = y2; + + // if triclinic_general: + // rotate 4 buf values from restricted to general triclinic + // output by write_data_bonus() as x1/y1 and x2/y2 + + if (triclinic_general) { + coords[0] = buf[m-4]; coords[1] = buf[m-3]; coords[2] = 0.0; + domain->restricted_to_general_coords(coords); + buf[m-4] = coords[0]; buf[m-3] = coords[1]; + coords[0] = buf[m-2]; coords[1] = buf[m-1]; coords[2] = 0.0; + domain->restricted_to_general_coords(coords); + buf[m-2] = coords[0]; buf[m-1] = coords[1]; + } + } else m += size_data_bonus; } diff --git a/src/atom_vec_line.h b/src/atom_vec_line.h index 740c541916..0f5e5800f5 100644 --- a/src/atom_vec_line.h +++ b/src/atom_vec_line.h @@ -76,7 +76,6 @@ class AtomVecLine : public AtomVec { void grow_bonus(); void copy_bonus_all(int, int); - // void consistency_check(int, char *); }; } // namespace LAMMPS_NS diff --git a/src/atom_vec_sphere.cpp b/src/atom_vec_sphere.cpp index 3e8c2fd2a3..3c7be5d3ee 100644 --- a/src/atom_vec_sphere.cpp +++ b/src/atom_vec_sphere.cpp @@ -19,8 +19,6 @@ #include "math_const.h" #include "modify.h" -#include - using namespace LAMMPS_NS; using namespace MathConst; diff --git a/src/atom_vec_tri.cpp b/src/atom_vec_tri.cpp index 205e94d792..888ed954fc 100644 --- a/src/atom_vec_tri.cpp +++ b/src/atom_vec_tri.cpp @@ -507,7 +507,25 @@ void AtomVecTri::data_atom_bonus(int m, const std::vector &values) MathExtra::sub3(c3, c1, c3mc1); double size = MAX(MathExtra::len3(c2mc1), MathExtra::len3(c3mc1)); + // convert c1,c2,c3 from general to restricted triclniic + // x is already restricted triclinic + + if (domain->triclinic_general) { + domain->general_to_restricted_coords(c1); + domain->general_to_restricted_coords(c2); + domain->general_to_restricted_coords(c3); + } + + // remap corner points to be near x + // necessary if atom x was remapped into periodic box + + domain->remap_near(c1,x[m]); + domain->remap_near(c2,x[m]); + domain->remap_near(c3,x[m]); + // centroid = 1/3 of sum of vertices + // error if centroid is not within EPSILON of atom x + // reset atom x to centroid double centroid[3]; centroid[0] = (c1[0] + c2[0] + c3[0]) / 3.0; @@ -705,7 +723,12 @@ int AtomVecTri::pack_data_bonus(double *buf, int /*flag*/) double dc1[3], dc2[3], dc3[3]; double p[3][3]; - double **x = atom->x; + int triclinic_general = domain->triclinic_general; + + double **x_bonus; + if (triclinic_general) x_bonus = x_hold; + else x_bonus = x; + tagint *tag = atom->tag; int nlocal = atom->nlocal; @@ -719,9 +742,10 @@ int AtomVecTri::pack_data_bonus(double *buf, int /*flag*/) MathExtra::matvec(p, bonus[j].c1, dc1); MathExtra::matvec(p, bonus[j].c2, dc2); MathExtra::matvec(p, bonus[j].c3, dc3); - xc = x[i][0]; - yc = x[i][1]; - zc = x[i][2]; + + xc = x_bonus[i][0]; + yc = x_bonus[i][1]; + zc = x_bonus[i][2]; buf[m++] = xc + dc1[0]; buf[m++] = yc + dc1[1]; buf[m++] = zc + dc1[2]; @@ -731,6 +755,17 @@ int AtomVecTri::pack_data_bonus(double *buf, int /*flag*/) buf[m++] = xc + dc3[0]; buf[m++] = yc + dc3[1]; buf[m++] = zc + dc3[2]; + + // if triclinic_general: + // rotate 9 buf values from restricted to general triclinic + // output by write_data_bonus() as c1,c2,c3 + + if (triclinic_general) { + domain->restricted_to_general_coords(&buf[m-9]); + domain->restricted_to_general_coords(&buf[m-6]); + domain->restricted_to_general_coords(&buf[m-3]); + } + } else m += size_data_bonus; } diff --git a/src/bond_hybrid.cpp b/src/bond_hybrid.cpp index 401358dda0..6e5ae8d5e7 100644 --- a/src/bond_hybrid.cpp +++ b/src/bond_hybrid.cpp @@ -305,7 +305,7 @@ void BondHybrid::coeff(int narg, char **arg) if (strcmp(arg[1], "none") == 0) none = 1; else - error->all(FLERR, "Bond coeff for hybrid has invalid style"); + error->all(FLERR, "Expected hybrid sub-style instead of {} in bond_coeff command", arg[1]); } // move 1st arg to 2nd arg diff --git a/src/comm.cpp b/src/comm.cpp index 1293dd3d6d..02999fd541 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -420,6 +420,7 @@ void Comm::set_processors(int narg, char **arg) error->all(FLERR,"Specified processors != physical processors"); int iarg = 3; + numa_nodes = 2; while (iarg < narg) { if (strcmp(arg[iarg],"grid") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal processors command"); @@ -514,6 +515,12 @@ void Comm::set_processors(int narg, char **arg) outfile = utils::strdup(arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"numa_nodes") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal processors command"); + numa_nodes = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + if (numa_nodes < 1) numa_nodes = 2; + iarg += 2; + } else error->all(FLERR,"Illegal processors command"); } @@ -565,7 +572,7 @@ void Comm::set_proc_grid(int outflag) otherflag,other_style,other_procgrid,other_coregrid); } else if (gridflag == NUMA) { - pmap->numa_grid(nprocs,user_procgrid,procgrid,coregrid); + pmap->numa_grid(numa_nodes,nprocs,user_procgrid,procgrid,coregrid); } else if (gridflag == CUSTOM) { pmap->custom_grid(customfile,nprocs,user_procgrid,procgrid); diff --git a/src/comm.h b/src/comm.h index 5d803c1afa..fde4c3b81f 100644 --- a/src/comm.h +++ b/src/comm.h @@ -146,6 +146,7 @@ class Comm : protected Pointers { char xyz[4]; // xyz mapping of procs to 3d grid char *customfile; // file with custom proc map char *outfile; // proc grid/map output file + int numa_nodes; // Number of numa domains per socket for 3d grid int otherflag; // 1 if this partition dependent on another int other_style; // style of dependency diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 65cbfad0b5..b864e0523d 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -47,14 +47,9 @@ CommTiled::CommTiled(LAMMPS *lmp) : Comm(lmp) { style = Comm::TILED; layout = Comm::LAYOUT_UNIFORM; - pbc_flag = nullptr; - buf_send = nullptr; - buf_recv = nullptr; - overlap = nullptr; - rcbinfo = nullptr; - cutghostmulti = nullptr; - cutghostmultiold = nullptr; - init_buffers(); + init_pointers(); + init_buffers_flag = 0; + maxswap = 0; } /* ---------------------------------------------------------------------- */ @@ -69,7 +64,9 @@ CommTiled::CommTiled(LAMMPS * /*lmp*/, Comm *oldcomm) : Comm(*oldcomm) style = Comm::TILED; layout = oldcomm->layout; Comm::copy_arrays(oldcomm); - init_buffers(); + init_pointers(); + init_buffers_flag = 0; + maxswap = 0; } /* ---------------------------------------------------------------------- */ @@ -85,24 +82,59 @@ CommTiled::~CommTiled() memory->destroy(cutghostmultiold); } +/* ---------------------------------------------------------------------- + initialize comm pointers to nullptr +------------------------------------------------------------------------- */ + +void CommTiled::init_pointers() +{ + buf_send = buf_recv = nullptr; + overlap = nullptr; + rcbinfo = nullptr; + cutghostmulti = nullptr; + cutghostmultiold = nullptr; + + nsendproc = nullptr; + nrecvproc = nullptr; + sendother = nullptr; + recvother = nullptr; + sendself = nullptr; + sendproc = nullptr; + recvproc = nullptr; + sendnum = nullptr; + recvnum = nullptr; + size_forward_recv = nullptr; + firstrecv = nullptr; + size_reverse_send = nullptr; + size_reverse_recv = nullptr; + forward_recv_offset = nullptr; + reverse_recv_offset = nullptr; + pbc_flag = nullptr; + pbc = nullptr; + sendbox = nullptr; + sendbox_multi = nullptr; + sendbox_multiold = nullptr; + maxsendlist = nullptr; + sendlist = nullptr; + requests = nullptr; + nprocmax = nullptr; + nexchproc = nullptr; + nexchprocmax = nullptr; + exchproc = nullptr; + exchnum = nullptr; +} + /* ---------------------------------------------------------------------- initialize comm buffers and other data structs local to CommTiled ------------------------------------------------------------------------- */ void CommTiled::init_buffers() { - buf_send = buf_recv = nullptr; maxsend = maxrecv = BUFMIN; grow_send(maxsend,2); - memory->create(buf_recv,maxrecv,"comm:buf_recv"); + grow_recv(maxrecv,1); maxoverlap = 0; - overlap = nullptr; - rcbinfo = nullptr; - cutghostmulti = nullptr; - cutghostmultiold = nullptr; - sendbox_multi = nullptr; - sendbox_multiold = nullptr; // Note this may skip growing multi arrays, will call again in init() maxswap = 6; @@ -113,6 +145,11 @@ void CommTiled::init_buffers() void CommTiled::init() { + if (!init_buffers_flag) { + init_buffers(); + init_buffers_flag = 1; + } + Comm::init(); // cannot set nswap in init_buffers() b/c @@ -2236,12 +2273,15 @@ void CommTiled::grow_send(int n, int flag) } /* ---------------------------------------------------------------------- - free/malloc the size of the recv buffer as needed with BUFFACTOR + free/malloc the size of the recv buffer as needed + flag = 0, realloc with BUFFACTOR + flag = 1, free/malloc w/out BUFFACTOR ------------------------------------------------------------------------- */ -void CommTiled::grow_recv(int n) +void CommTiled::grow_recv(int n, int flag) { - maxrecv = static_cast (BUFFACTOR * n); + if (flag) maxrecv = n; + else maxrecv = static_cast (BUFFACTOR * n); memory->destroy(buf_recv); memory->create(buf_recv,maxrecv,"comm:buf_recv"); } @@ -2428,8 +2468,10 @@ void CommTiled::deallocate_swap(int n) delete [] maxsendlist[i]; - for (int j = 0; j < nprocmax[i]; j++) memory->destroy(sendlist[i][j]); - delete [] sendlist[i]; + if (sendlist && sendlist[i]) { + for (int j = 0; j < nprocmax[i]; j++) memory->destroy(sendlist[i][j]); + delete [] sendlist[i]; + } } delete [] sendproc; diff --git a/src/comm_tiled.h b/src/comm_tiled.h index c9434e6164..857cddf033 100644 --- a/src/comm_tiled.h +++ b/src/comm_tiled.h @@ -51,7 +51,7 @@ class CommTiled : public Comm { double memory_usage() override; - private: + protected: int nswap; // # of swaps to perform = 2*dim int maxswap; // largest nswap can be = 6 @@ -117,8 +117,9 @@ class CommTiled : public Comm { double *sublo, *subhi; int dimension; - // NOTE: init_buffers is called from a constructor and must not be made virtual + void init_pointers(); void init_buffers(); + int init_buffers_flag; // box drop and other functions @@ -145,11 +146,11 @@ class CommTiled : public Comm { int point_drop_tiled_recurse(double *, int, int); int closer_subbox_edge(int, double *); - void grow_send(int, int); // reallocate send buffer - void grow_recv(int); // free/allocate recv buffer - void grow_list(int, int, int); // reallocate sendlist for one swap/proc + virtual void grow_send(int, int); // reallocate send buffer + virtual void grow_recv(int, int flag = 0); // free/allocate recv buffer + virtual void grow_list(int, int, int); // reallocate sendlist for one swap/proc void allocate_swap(int); // allocate swap arrays - void grow_swap_send(int, int, int); // grow swap arrays for send and recv + virtual void grow_swap_send(int, int, int); // grow swap arrays for send and recv void grow_swap_send_multi(int, int); // grow multi swap arrays for send and recv void grow_swap_recv(int, int); void deallocate_swap(int); // deallocate swap arrays diff --git a/src/compute.cpp b/src/compute.cpp index a12373fd51..d703cbfe6a 100644 --- a/src/compute.cpp +++ b/src/compute.cpp @@ -59,6 +59,7 @@ Compute::Compute(LAMMPS *lmp, int narg, char **arg) : // set child class defaults scalar_flag = vector_flag = array_flag = 0; + extscalar = extvector = extarray = -1; peratom_flag = local_flag = pergrid_flag = 0; size_vector_variable = size_array_rows_variable = 0; @@ -116,6 +117,16 @@ void Compute::init_flags() initialized_flag = 1; invoked_scalar = invoked_vector = invoked_array = -1; invoked_peratom = invoked_local = -1; + + if (scalar_flag && (extscalar < 0)) + error->all(FLERR, "Must set 'extscalar' when setting 'scalar_flag' for compute {}. " + "Contact the developer.", style); + if (vector_flag && (extvector < 0) && !extlist) + error->all(FLERR, "Must set 'extvector' or 'extlist' when setting 'vector_flag' for compute {}. " + "Contact the developer.", style); + if (array_flag && (extarray < 0)) + error->all(FLERR, "Must set 'extarray' when setting 'array_flag' for compute {}. " + "Contact the developer.", style); } /* ---------------------------------------------------------------------- */ diff --git a/src/compute_aggregate_atom.cpp b/src/compute_aggregate_atom.cpp index 5a489092b7..8c6f7165a2 100644 --- a/src/compute_aggregate_atom.cpp +++ b/src/compute_aggregate_atom.cpp @@ -31,7 +31,6 @@ #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/compute_cluster_atom.cpp b/src/compute_cluster_atom.cpp index ba0f263747..0021d32e2c 100644 --- a/src/compute_cluster_atom.cpp +++ b/src/compute_cluster_atom.cpp @@ -25,7 +25,6 @@ #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/compute_cna_atom.cpp b/src/compute_cna_atom.cpp index a09a671c07..b92dca8f86 100644 --- a/src/compute_cna_atom.cpp +++ b/src/compute_cna_atom.cpp @@ -29,7 +29,6 @@ #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/compute_count_type.cpp b/src/compute_count_type.cpp index 3d4815f9ff..7b1651b61c 100644 --- a/src/compute_count_type.cpp +++ b/src/compute_count_type.cpp @@ -14,12 +14,12 @@ #include "compute_count_type.h" #include "atom.h" -#include "domain.h" #include "error.h" #include "force.h" -#include "group.h" #include "update.h" +#include + using namespace LAMMPS_NS; enum { ATOM, BOND, ANGLE, DIHEDRAL, IMPROPER }; @@ -62,24 +62,24 @@ ComputeCountType::ComputeCountType(LAMMPS *lmp, int narg, char **arg) : if (mode == ATOM) { vector_flag = 1; size_vector = atom->ntypes; - extvector = 1; + extvector = 0; } else if (mode == BOND) { scalar_flag = vector_flag = 1; size_vector = atom->nbondtypes; - extscalar = 1; - extvector = 1; + extscalar = 0; + extvector = 0; } else if (mode == ANGLE) { vector_flag = 1; size_vector = atom->nangletypes; - extvector = 1; + extvector = 0; } else if (mode == DIHEDRAL) { vector_flag = 1; size_vector = atom->ndihedraltypes; - extvector = 1; + extvector = 0; } else if (mode == IMPROPER) { vector_flag = 1; size_vector = atom->nimpropertypes; - extvector = 1; + extvector = 0; } // output vector diff --git a/src/compute_dipole_chunk.h b/src/compute_dipole_chunk.h index 603e6a4353..3ed875283f 100644 --- a/src/compute_dipole_chunk.h +++ b/src/compute_dipole_chunk.h @@ -23,7 +23,6 @@ ComputeStyle(dipole/chunk,ComputeDipoleChunk); #include "compute_chunk.h" namespace LAMMPS_NS { -class Fix; class ComputeDipoleChunk : public ComputeChunk { public: @@ -43,8 +42,6 @@ class ComputeDipoleChunk : public ComputeChunk { void allocate() override; }; - } // namespace LAMMPS_NS - #endif #endif diff --git a/src/compute_erotate_sphere_atom.cpp b/src/compute_erotate_sphere_atom.cpp index b1aca68614..fa1ce8a180 100644 --- a/src/compute_erotate_sphere_atom.cpp +++ b/src/compute_erotate_sphere_atom.cpp @@ -12,28 +12,25 @@ ------------------------------------------------------------------------- */ #include "compute_erotate_sphere_atom.h" -#include + #include "atom.h" -#include "update.h" -#include "modify.h" #include "comm.h" +#include "error.h" #include "force.h" #include "memory.h" -#include "error.h" +#include "modify.h" +#include "update.h" using namespace LAMMPS_NS; -static constexpr double INERTIA = 0.4; // moment of inertia prefactor for sphere +static constexpr double INERTIA = 0.4; // moment of inertia prefactor for sphere /* ---------------------------------------------------------------------- */ -ComputeErotateSphereAtom:: -ComputeErotateSphereAtom(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - erot(nullptr) +ComputeErotateSphereAtom::ComputeErotateSphereAtom(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), erot(nullptr) { - if (narg != 3) - error->all(FLERR,"Illegal compute erotate/sphere//atom command"); + if (narg != 3) error->all(FLERR, "Illegal compute erotate/sphere//atom command"); peratom_flag = 1; size_peratom_cols = 0; @@ -41,9 +38,9 @@ ComputeErotateSphereAtom(LAMMPS *lmp, int narg, char **arg) : // error check if (!atom->omega_flag) - error->all(FLERR,"Compute erotate/sphere/atom requires atom attribute omega"); + error->all(FLERR, "Compute erotate/sphere/atom requires atom attribute omega"); if (!atom->radius_flag) - error->all(FLERR,"Compute erotate/sphere/atom requires atom attribute radius"); + error->all(FLERR, "Compute erotate/sphere/atom requires atom attribute radius"); nmax = 0; } @@ -76,7 +73,7 @@ void ComputeErotateSphereAtom::compute_peratom() if (atom->nmax > nmax) { memory->destroy(erot); nmax = atom->nmax; - memory->create(erot,nmax,"erotate/sphere/atom:erot"); + memory->create(erot, nmax, "erotate/sphere/atom:erot"); vector_atom = erot; } @@ -91,10 +88,12 @@ void ComputeErotateSphereAtom::compute_peratom() for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - erot[i] = (omega[i][0]*omega[i][0] + omega[i][1]*omega[i][1] + - omega[i][2]*omega[i][2]) * radius[i]*radius[i]*rmass[i]; + erot[i] = + (omega[i][0] * omega[i][0] + omega[i][1] * omega[i][1] + omega[i][2] * omega[i][2]) * + radius[i] * radius[i] * rmass[i]; erot[i] *= pfactor; - } else erot[i] = 0.0; + } else + erot[i] = 0.0; } } @@ -104,6 +103,6 @@ void ComputeErotateSphereAtom::compute_peratom() double ComputeErotateSphereAtom::memory_usage() { - double bytes = (double)nmax * sizeof(double); + double bytes = (double) nmax * sizeof(double); return bytes; } diff --git a/src/compute_heat_flux.cpp b/src/compute_heat_flux.cpp index 62b2c8b63b..64cc8e69f3 100644 --- a/src/compute_heat_flux.cpp +++ b/src/compute_heat_flux.cpp @@ -19,12 +19,11 @@ #include "compute_heat_flux.h" -#include #include "atom.h" -#include "update.h" -#include "modify.h" -#include "force.h" #include "error.h" +#include "force.h" +#include "modify.h" +#include "update.h" using namespace LAMMPS_NS; diff --git a/src/compute_ke_atom.cpp b/src/compute_ke_atom.cpp index 9a329232b3..e8ab1b8b25 100644 --- a/src/compute_ke_atom.cpp +++ b/src/compute_ke_atom.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "compute_ke_atom.h" + #include "atom.h" #include "comm.h" #include "error.h" @@ -19,7 +20,6 @@ #include "memory.h" #include "modify.h" #include "update.h" -#include using namespace LAMMPS_NS; diff --git a/src/compute_property_atom.cpp b/src/compute_property_atom.cpp index c3c101b995..b95b7267dc 100644 --- a/src/compute_property_atom.cpp +++ b/src/compute_property_atom.cpp @@ -205,6 +205,14 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : if (!atom->omega_flag) error->all(FLERR,"Compute property/atom {} is not available", arg[iarg]); pack_choice[i] = &ComputePropertyAtom::pack_omegaz; + } else if (strcmp(arg[iarg],"temperature") == 0) { + if (!atom->temperature_flag) + error->all(FLERR,"Compute property/atom {} is not available", arg[iarg]); + pack_choice[i] = &ComputePropertyAtom::pack_temperature; + } else if (strcmp(arg[iarg],"heatflow") == 0) { + if (!atom->heatflow_flag) + error->all(FLERR,"Compute property/atom {} is not available", arg[iarg]); + pack_choice[i] = &ComputePropertyAtom::pack_heatflow; } else if (strcmp(arg[iarg],"angmomx") == 0) { if (!atom->angmom_flag) error->all(FLERR,"Compute property/atom {} is not available", arg[iarg]); @@ -1213,6 +1221,36 @@ void ComputePropertyAtom::pack_omegaz(int n) /* ---------------------------------------------------------------------- */ +void ComputePropertyAtom::pack_temperature(int n) +{ + double *temperature = atom->temperature; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = temperature[i]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyAtom::pack_heatflow(int n) +{ + double *heatflow = atom->heatflow; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = heatflow[i]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + void ComputePropertyAtom::pack_angmomx(int n) { double **angmom = atom->angmom; diff --git a/src/compute_property_atom.h b/src/compute_property_atom.h index 034b2901c2..d4f4db564f 100644 --- a/src/compute_property_atom.h +++ b/src/compute_property_atom.h @@ -95,6 +95,8 @@ class ComputePropertyAtom : public Compute { void pack_omegax(int); void pack_omegay(int); void pack_omegaz(int); + void pack_temperature(int); + void pack_heatflow(int); void pack_angmomx(int); void pack_angmomy(int); void pack_angmomz(int); diff --git a/src/compute_rdf.cpp b/src/compute_rdf.cpp index 17fe450fe5..89f3c91017 100644 --- a/src/compute_rdf.cpp +++ b/src/compute_rdf.cpp @@ -46,7 +46,7 @@ ComputeRDF::ComputeRDF(LAMMPS *lmp, int narg, char **arg) : hist(nullptr), histall(nullptr), typecount(nullptr), icount(nullptr), jcount(nullptr), duplicates(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal compute rdf command"); + if (narg < 4) utils::missing_cmd_args(FLERR,"compute rdf", error); array_flag = 1; extarray = 0; @@ -67,12 +67,14 @@ ComputeRDF::ComputeRDF(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"cutoff") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal compute rdf command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"compute rdf cutoff", error); + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute rdf with custom cutoff requires neighbor style 'bin' or 'nsq'"); cutoff_user = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (cutoff_user <= 0.0) cutflag = 0; else cutflag = 1; iarg += 2; - } else error->all(FLERR,"Illegal compute rdf command"); + } else error->all(FLERR,"Unknown compute rdf keyword {}", arg[iarg]); } // pairwise args @@ -94,7 +96,7 @@ ComputeRDF::ComputeRDF(LAMMPS *lmp, int narg, char **arg) : jlo = new int[npairs]; jhi = new int[npairs]; - if (nargpair == 0) { + if (!nargpair) { ilo[0] = 1; ihi[0] = ntypes; jlo[0] = 1; jhi[0] = ntypes; } else { @@ -139,17 +141,17 @@ ComputeRDF::~ComputeRDF() { memory->destroy(rdfpair); memory->destroy(nrdfpair); - delete [] ilo; - delete [] ihi; - delete [] jlo; - delete [] jhi; + delete[] ilo; + delete[] ihi; + delete[] jlo; + delete[] jhi; memory->destroy(hist); memory->destroy(histall); memory->destroy(array); - delete [] typecount; - delete [] icount; - delete [] jcount; - delete [] duplicates; + delete[] typecount; + delete[] icount; + delete[] jcount; + delete[] duplicates; } /* ---------------------------------------------------------------------- */ @@ -158,8 +160,7 @@ void ComputeRDF::init() { if (!force->pair && !cutflag) - error->all(FLERR,"Compute rdf requires a pair style be defined " - "or cutoff specified"); + error->all(FLERR,"Compute rdf requires a pair style or an explicit cutoff"); if (cutflag) { double skin = neighbor->skin; @@ -205,7 +206,11 @@ void ComputeRDF::init() // than cutoff_user apart, just like a normal neighbor list does auto req = neighbor->add_request(this, NeighConst::REQ_OCCASIONAL); - if (cutflag) req->set_cutoff(mycutneigh); + if (cutflag) { + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute rdf with custom cutoff requires neighbor style 'bin' or 'nsq'"); + req->set_cutoff(mycutneigh); + } } /* ---------------------------------------------------------------------- */ @@ -254,7 +259,7 @@ void ComputeRDF::init_norm() for (i = 0; i < npairs; i++) jcount[i] = scratch[i]; MPI_Allreduce(duplicates,scratch,npairs,MPI_INT,MPI_SUM,world); for (i = 0; i < npairs; i++) duplicates[i] = scratch[i]; - delete [] scratch; + delete[] scratch; } /* ---------------------------------------------------------------------- */ diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 03b3c7b78c..ded040b567 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -54,6 +54,8 @@ static constexpr double INV_P_CONST = 0.7548777; static constexpr double INV_SQ_P_CONST = 0.5698403; static constexpr int DEFAULT_MAXTRY = 1000; +#define EPS_ZCOORD 1.0e-12 + enum { BOX, REGION, SINGLE, RANDOM, MESH }; enum { ATOM, MOLECULE }; enum { COUNT, INSERT, INSERT_SELECTED }; @@ -111,6 +113,8 @@ void CreateAtoms::command(int narg, char **arg) xone[0] = utils::numeric(FLERR, arg[2], false, lmp); xone[1] = utils::numeric(FLERR, arg[3], false, lmp); xone[2] = utils::numeric(FLERR, arg[4], false, lmp); + if (domain->dimension == 2 && xone[2] != 0.0) + error->all(FLERR,"Create_atoms single for 2d simulation requires z coord = 0.0"); iarg = 5; } else if (strcmp(arg[1], "random") == 0) { style = RANDOM; @@ -152,9 +156,10 @@ void CreateAtoms::command(int narg, char **arg) overlapflag = 0; maxtry = DEFAULT_MAXTRY; radscale = 1.0; - radthresh = domain->lattice->xlattice; mesh_style = BISECTION; + radthresh = 1.0; mesh_density = 1.0; + nbasis = domain->lattice->nbasis; basistype = new int[nbasis]; for (int i = 0; i < nbasis; i++) basistype[i] = ntype; @@ -301,6 +306,8 @@ void CreateAtoms::command(int narg, char **arg) error->all(FLERR, "Invalid atom type in create_atoms mol command"); if (onemol->tag_require && !atom->tag_enable) error->all(FLERR, "Create_atoms molecule has atom IDs, but system does not"); + if (atom->molecular == Atom::TEMPLATE && onemol != atom->avec->onemols[0]) + error->all(FLERR, "Create_atoms molecule template ID must be same as atom style template ID"); onemol->check_attributes(); @@ -309,6 +316,7 @@ void CreateAtoms::command(int narg, char **arg) onemol->compute_center(); ranmol = new RanMars(lmp, molseed + comm->me); + memory->create(xmol, onemol->natoms, 3, "create_atoms:xmol"); } if (style == MESH) { @@ -353,19 +361,28 @@ void CreateAtoms::command(int narg, char **arg) } } - // demand non-none lattice be defined for BOX and REGION - // else setup scaling for SINGLE and RANDOM - // could use domain->lattice->lattice2box() to do conversion of - // lattice to box, but not consistent with other uses of units=lattice - // triclinic remapping occurs in add_single() + // require non-none lattice be defined for BOX or REGION styles if ((style == BOX) || (style == REGION)) { if (nbasis == 0) error->all(FLERR, "Cannot create atoms with undefined lattice"); - } else if (scaleflag == 1) { + } + + // apply scaling factor for styles that use distance-dependent factors + + if (scaleflag) { + if (style == SINGLE) { xone[0] *= domain->lattice->xlattice; xone[1] *= domain->lattice->ylattice; xone[2] *= domain->lattice->zlattice; - overlap *= domain->lattice->xlattice; + } else if (style == RANDOM) { + if (overlapflag) overlap *= domain->lattice->xlattice; + } else if (style == MESH) { + if (mesh_style == BISECTION) { + radthresh *= domain->lattice->xlattice; + } else if (mesh_style == QUASIRANDOM) { + mesh_density /= (domain->lattice->xlattice * domain->lattice->xlattice); + } + } } // set bounds for my proc in sublo[3] & subhi[3] @@ -451,7 +468,7 @@ void CreateAtoms::command(int narg, char **arg) atom->nghost = 0; atom->avec->clear_bonus(); - // add atoms/molecules in one of 3 ways + // add atoms/molecules with appropriate add() method bigint natoms_previous = atom->natoms; int nlocal_previous = atom->nlocal; @@ -635,6 +652,7 @@ void CreateAtoms::command(int narg, char **arg) delete[] xstr; delete[] ystr; delete[] zstr; + if (mode == MOLECULE) memory->destroy(xmol); // for MOLECULE mode: // create special bond lists for molecular systems, @@ -698,7 +716,8 @@ void CreateAtoms::add_single() if (mode == ATOM) { atom->avec->create_atom(ntype, xone); } else { - add_molecule(xone); + get_xmol(xone); + add_molecule(); } } } @@ -709,14 +728,13 @@ void CreateAtoms::add_single() void CreateAtoms::add_random() { - double xlo, ylo, zlo, xhi, yhi, zhi, zmid; + double xlo, ylo, zlo, xhi, yhi, zhi; double delx, dely, delz, distsq, odistsq; double lamda[3], *coord; double *boxlo, *boxhi; if (overlapflag) { double odist = overlap; - if (mode == MOLECULE) odist += onemol->molradius; odistsq = odist * odist; } @@ -728,7 +746,6 @@ void CreateAtoms::add_random() for (int ii = 0; ii < 30; ii++) random->uniform(); // bounding box for atom creation - // in real units, even if triclinic // only limit bbox by region if its bboxflag is set (interior region) if (triclinic == 0) { @@ -738,7 +755,6 @@ void CreateAtoms::add_random() yhi = domain->boxhi[1]; zlo = domain->boxlo[2]; zhi = domain->boxhi[2]; - zmid = zlo + 0.5 * (zhi - zlo); } else { xlo = domain->boxlo_bound[0]; xhi = domain->boxhi_bound[0]; @@ -746,7 +762,6 @@ void CreateAtoms::add_random() yhi = domain->boxhi_bound[1]; zlo = domain->boxlo_bound[2]; zhi = domain->boxhi_bound[2]; - zmid = zlo + 0.5 * (zhi - zlo); boxlo = domain->boxlo_lamda; boxhi = domain->boxhi_lamda; } @@ -782,7 +797,7 @@ void CreateAtoms::add_random() xone[0] = xlo + random->uniform() * (xhi - xlo); xone[1] = ylo + random->uniform() * (yhi - ylo); xone[2] = zlo + random->uniform() * (zhi - zlo); - if (domain->dimension == 2) xone[2] = zmid; + if (domain->dimension == 2) xone[2] = 0.0; if (region && (region->match(xone[0], xone[1], xone[2]) == 0)) continue; if (varflag && vartest(xone) == 0) continue; @@ -800,25 +815,43 @@ void CreateAtoms::add_random() // check for overlap of new atom/mol with all other atoms // including prior insertions // minimum_image() needed to account for distances across PBC - // new molecule only checks its center pt against others - // odistsq is expanded for mode=MOLECULE to account for molecule size if (overlapflag) { double **x = atom->x; int nlocal = atom->nlocal; int reject = 0; - for (int i = 0; i < nlocal; i++) { - delx = xone[0] - x[i][0]; - dely = xone[1] - x[i][1]; - delz = xone[2] - x[i][2]; - domain->minimum_image(delx, dely, delz); - distsq = delx * delx + dely * dely + delz * delz; - if (distsq < odistsq) { - reject = 1; - break; + if (mode == ATOM) { + for (int i = 0; i < nlocal; i++) { + delx = xone[0] - x[i][0]; + dely = xone[1] - x[i][1]; + delz = xone[2] - x[i][2]; + domain->minimum_image(delx, dely, delz); + distsq = delx * delx + dely * dely + delz * delz; + if (distsq < odistsq) { + reject = 1; + break; + } + } + } else { + if (comm->me == 0) get_xmol(xone); + MPI_Bcast(&xmol[0][0], onemol->natoms*3, MPI_DOUBLE, 0, world); + + for (int i = 0; i < nlocal; i++) { + for (int j = 0; j < onemol->natoms; j++) { + delx = xmol[j][0] - x[i][0]; + dely = xmol[j][1] - x[i][1]; + delz = xmol[j][2] - x[i][2]; + domain->minimum_image(delx, dely, delz); + distsq = delx * delx + dely * dely + delz * delz; + if (distsq < odistsq) { + reject = 1; + break; + } + } } } + int reject_any; MPI_Allreduce(&reject, &reject_any, 1, MPI_INT, MPI_MAX, world); if (reject_any) continue; @@ -845,7 +878,11 @@ void CreateAtoms::add_random() if (mode == ATOM) { atom->avec->create_atom(ntype, xone); } else { - add_molecule(xone); + + // atomic coordinates calculated above for overlap check + + if (!overlapflag) get_xmol(xone); + add_molecule(); } } } @@ -1166,6 +1203,14 @@ void CreateAtoms::add_mesh(const char *filename) void CreateAtoms::add_lattice() { + // add atoms on general triclinic lattice if Domain has setting for it + // verify lattice was defined with triclinic/general option + + if (!domain->triclinic_general && domain->lattice->is_general_triclinic()) + error->all(FLERR,"Create_atoms for non general triclinic box cannot use triclinic/general lattice"); + if (domain->triclinic_general && !domain->lattice->is_general_triclinic()) + error->all(FLERR,"Create_atoms for general triclinic box requires triclinic/general lattice"); + // convert 8 corners of my subdomain from box coords to lattice coords // for orthogonal, use corner pts of my subbox // for triclinic, use bounding box of my subbox @@ -1183,7 +1228,7 @@ void CreateAtoms::add_lattice() } else domain->bbox(domain->sublo_lamda, domain->subhi_lamda, bboxlo, bboxhi); - // narrow down the subbox by the bounding box of the given region, if available. + // narrow down the subbox by the bounding box of the given region, if available // for small regions in large boxes, this can result in a significant speedup if ((style == REGION) && region->bboxflag) { @@ -1207,16 +1252,55 @@ void CreateAtoms::add_lattice() xmin = ymin = zmin = BIG; xmax = ymax = zmax = -BIG; - // convert to lattice coordinates and set bounding box + // convert 8 corner points of bounding box to lattice coordinates + // compute new bounding box (xyz min/max) in lattice coords + // for orthogonal or restricted triclinic, use 8 corner points of bbox lo/hi - domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxlo[0], bboxhi[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxhi[0], bboxhi[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxlo[0], bboxhi[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxhi[0], bboxhi[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); + if (!domain->triclinic_general) { + domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxlo[0], bboxhi[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxhi[0], bboxhi[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxlo[0], bboxhi[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxhi[0], bboxhi[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); + + // for general triclinic, convert 8 corner points of bbox to general triclinic coords + // new set of 8 points is no longer an orthogonal bounding box + // instead invoke lattice->bbox() on each of 8 points + + } else if (domain->triclinic_general) { + double point[3]; + + point[0] = bboxlo[0]; point[1] = bboxlo[1]; point[2] = bboxlo[2]; + domain->restricted_to_general_coords(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + point[0] = bboxhi[0]; point[1] = bboxlo[1]; point[2] = bboxlo[2]; + domain->restricted_to_general_coords(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + + point[0] = bboxlo[0]; point[1] = bboxhi[1]; point[2] = bboxlo[2]; + domain->restricted_to_general_coords(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + point[0] = bboxhi[0]; point[1] = bboxhi[1]; point[2] = bboxlo[2]; + domain->restricted_to_general_coords(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + + point[0] = bboxlo[0]; point[1] = bboxlo[1]; point[2] = bboxhi[2]; + domain->restricted_to_general_coords(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + point[0] = bboxhi[0]; point[1] = bboxlo[1]; point[2] = bboxhi[2]; + domain->restricted_to_general_coords(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + + point[0] = bboxlo[0]; point[1] = bboxhi[1]; point[2] = bboxhi[2]; + domain->restricted_to_general_coords(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + point[0] = bboxhi[0]; point[1] = bboxhi[1]; point[2] = bboxhi[2]; + domain->restricted_to_general_coords(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + } // ilo:ihi,jlo:jhi,klo:khi = loop bounds for lattice overlap of my subbox // overlap = any part of a unit cell (face,edge,pt) in common with my subbox @@ -1226,6 +1310,7 @@ void CreateAtoms::add_lattice() // decrement lo, increment hi to avoid round-off issues in lattice->bbox(), // which can lead to missing atoms in rare cases // extra decrement of lo if min < 0, since static_cast(-1.5) = -1 + // for 2d simulation, klo = khi = 0 so just one plane of atoms ilo = static_cast(xmin) - 1; jlo = static_cast(ymin) - 1; @@ -1238,6 +1323,8 @@ void CreateAtoms::add_lattice() if (ymin < 0.0) jlo--; if (zmin < 0.0) klo--; + if (domain->dimension == 2) klo = khi = 0; + // count lattice sites on each proc nlatt_overflow = 0; @@ -1303,6 +1390,8 @@ void CreateAtoms::loop_lattice(int action) { int i, j, k, m; + int dimension = domain->dimension; + int triclinic_general = domain->triclinic_general; const double *const *const basis = domain->lattice->basis; nlatt = 0; @@ -1322,6 +1411,19 @@ void CreateAtoms::loop_lattice(int action) domain->lattice->lattice2box(x[0], x[1], x[2]); + // convert from general to restricted triclinic coords + // for 2d simulation: + // check if z coord is within EPS_ZCOORD of zero and set to zero + + if (triclinic_general) { + domain->general_to_restricted_coords(x); + if (dimension == 2) { + if (fabs(x[2]) > EPS_ZCOORD) + error->all(FLERR,"Create_atoms atom z coord is non-zero for 2d simulation"); + x[2] = 0.0; + } + } + // if a region was specified, test if atom is in it if (style == REGION) @@ -1351,7 +1453,8 @@ void CreateAtoms::loop_lattice(int action) if (mode == ATOM) { atom->avec->create_atom(basistype[m], x); } else { - add_molecule(x); + get_xmol(x); + add_molecule(); } } else if (action == COUNT) { if (nlatt == MAXSMALLINT) nlatt_overflow = 1; @@ -1359,7 +1462,8 @@ void CreateAtoms::loop_lattice(int action) if (mode == ATOM) { atom->avec->create_atom(basistype[m], x); } else { - add_molecule(x); + get_xmol(x); + add_molecule(); } } @@ -1374,7 +1478,7 @@ void CreateAtoms::loop_lattice(int action) add a molecule with its center at center ------------------------------------------------------------------------- */ -void CreateAtoms::add_molecule(double *center) +void CreateAtoms::get_xmol(double *center) { double r[3], rotmat[3][3]; @@ -1397,22 +1501,34 @@ void CreateAtoms::add_molecule(double *center) MathExtra::quat_to_mat(quatone, rotmat); - // create atoms in molecule with atom ID = 0 and mol ID = 0 - // IDs are reset in caller after all molecules created by all procs - // pass add_molecule_atom an offset of 0 since don't know - // max tag of atoms in previous molecules at this point // onemol->quat_external is used by atom->add_moleclue_atom() onemol->quat_external = quatone; - int n, natoms = onemol->natoms; + int natoms = onemol->natoms; double xnew[3]; for (int m = 0; m < natoms; m++) { MathExtra::matvec(rotmat, onemol->dx[m], xnew); MathExtra::add3(xnew, center, xnew); - atom->avec->create_atom(ntype + onemol->type[m], xnew); - n = atom->nlocal - 1; - atom->add_molecule_atom(onemol, m, n, 0); + for (int i = 0; i < 3; i++) + xmol[m][i] = xnew[i]; + } +} + +/* ---------------------------------------------------------------------- + add a molecule with atom coordinates from xmol +------------------------------------------------------------------------- */ + +void CreateAtoms::add_molecule() +{ + // create atoms in molecule with atom ID = 0 and mol ID = 0 + // IDs are reset in caller after all molecules created by all procs + // pass add_molecule_atom an offset of 0 since don't know + // max tag of atoms in previous molecules at this point + + for (int m = 0; m < onemol->natoms; m++) { + atom->avec->create_atom(ntype + onemol->type[m], xmol[m]); + atom->add_molecule_atom(onemol, m, atom->nlocal - 1, 0); } } diff --git a/src/create_atoms.h b/src/create_atoms.h index ae6f1b9d33..f839e3f0df 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -40,7 +40,7 @@ class CreateAtoms : public Command { bigint nsubset; double subsetfrac; int *basistype; - double xone[3], quatone[4]; + double xone[3], quatone[4], **xmol; double radthresh, radscale, mesh_density; int varflag, vvar, xvar, yvar, zvar; @@ -71,7 +71,8 @@ class CreateAtoms : public Command { int add_quasirandom(const double[3][3], tagint); void add_lattice(); void loop_lattice(int); - void add_molecule(double *); + void get_xmol(double *); + void add_molecule(); int vartest(double *); // evaluate a variable with new atom position }; diff --git a/src/create_box.cpp b/src/create_box.cpp index 02aa63acf0..8a74ffd7bd 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -19,6 +19,7 @@ #include "domain.h" #include "error.h" #include "force.h" +#include "lattice.h" #include "region.h" #include "region_prism.h" #include "update.h" @@ -45,40 +46,117 @@ void CreateBox::command(int narg, char **arg) // region check - auto region = domain->get_region_by_id(arg[1]); - if (!region) error->all(FLERR, "Create_box region {} does not exist", arg[1]); - if (region->bboxflag == 0) error->all(FLERR, "Create_box region does not support a bounding box"); + Region *region = nullptr; + int triclinic_general = 0; - region->init(); + if (strcmp(arg[1],"NULL") == 0) triclinic_general = 1; + else { + region = domain->get_region_by_id(arg[1]); + if (!region) error->all(FLERR, "Create_box region {} does not exist", arg[1]); + if (region->bboxflag == 0) error->all(FLERR, "Create_box region does not support a bounding box"); + region->init(); + } - // if region not prism: - // setup orthogonal domain - // set simulation domain from region extent - // if region is prism: - // seutp triclinic domain - // set simulation domain params from prism params + // setup simulation box + // 3 options: orthogonal, restricted triclinic, general triclinic - if (strcmp(region->style, "prism") != 0) { - domain->triclinic = 0; - domain->boxlo[0] = region->extent_xlo; - domain->boxhi[0] = region->extent_xhi; - domain->boxlo[1] = region->extent_ylo; - domain->boxhi[1] = region->extent_yhi; - domain->boxlo[2] = region->extent_zlo; - domain->boxhi[2] = region->extent_zhi; + int iarg = 2; - } else { - domain->triclinic = 1; - auto prism = dynamic_cast(region); - domain->boxlo[0] = prism->xlo; - domain->boxhi[0] = prism->xhi; - domain->boxlo[1] = prism->ylo; - domain->boxhi[1] = prism->yhi; - domain->boxlo[2] = prism->zlo; - domain->boxhi[2] = prism->zhi; - domain->xy = prism->xy; - domain->xz = prism->xz; - domain->yz = prism->yz; + if (region) { + + // region is not prism + // setup orthogonal box + // set simulation domain from region extent + + if (strcmp(region->style, "prism") != 0) { + domain->triclinic = 0; + domain->boxlo[0] = region->extent_xlo; + domain->boxhi[0] = region->extent_xhi; + domain->boxlo[1] = region->extent_ylo; + domain->boxhi[1] = region->extent_yhi; + domain->boxlo[2] = region->extent_zlo; + domain->boxhi[2] = region->extent_zhi; + + // region is prism + // seutp restricted triclinic box + // set simulation domain from prism params + + } else { + domain->triclinic = 1; + auto prism = dynamic_cast(region); + domain->boxlo[0] = prism->xlo; + domain->boxhi[0] = prism->xhi; + domain->boxlo[1] = prism->ylo; + domain->boxhi[1] = prism->yhi; + domain->boxlo[2] = prism->zlo; + domain->boxhi[2] = prism->zhi; + domain->xy = prism->xy; + domain->xz = prism->xz; + domain->yz = prism->yz; + } + + if (domain->dimension == 2) { + if (domain->boxlo[2] >= 0.0 || domain->boxhi[2] <= 0.0) + error->all(FLERR,"Create_box region zlo/zhi for 2d simulation must straddle 0.0"); + } + + // setup general triclinic box (with no region) + // read next box extent arguments to create ABC edge vectors + origin + // define_general_triclinic() converts + // ABC edge vectors + origin to restricted triclinic + + } else if (triclinic_general) { + if (!domain->lattice->is_general_triclinic()) + error->all(FLERR,"Create_box for general triclinic requires triclnic/general lattice"); + + if (iarg + 6 > narg) utils::missing_cmd_args(FLERR, "create_box general triclinic", error); + + double alo = utils::numeric(FLERR, arg[iarg + 0], false, lmp); + double ahi = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + double blo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + double bhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + double clo = utils::numeric(FLERR, arg[iarg + 4], false, lmp); + double chi = utils::numeric(FLERR, arg[iarg + 5], false, lmp); + iarg += 6; + + if (domain->dimension == 2) + if (clo != -0.5 || chi != 0.5) + error->all(FLERR,"Create_box for general triclinic requires clo = -0.5 and chi = 0.5"); + + // use lattice2box() to generate origin and ABC vectors + // origin = abc lo + // ABC vectors = hi in one dim - origin + + double avec[3],bvec[3],cvec[3],origin[3]; + double px,py,pz; + + px = alo; py = blo; pz = clo; + domain->lattice->lattice2box(px,py,pz); + origin[0] = px; + origin[1] = py; + origin[2] = pz; + + px = ahi; py = blo; pz = clo; + domain->lattice->lattice2box(px,py,pz); + avec[0] = px - origin[0]; + avec[1] = py - origin[1]; + avec[2] = pz - origin[2]; + + px = alo; py = bhi; pz = clo; + domain->lattice->lattice2box(px,py,pz); + bvec[0] = px - origin[0]; + bvec[1] = py - origin[1]; + bvec[2] = pz - origin[2]; + + px = alo; py = blo; pz = chi; + domain->lattice->lattice2box(px,py,pz); + cvec[0] = px - origin[0]; + cvec[1] = py - origin[1]; + cvec[2] = pz - origin[2]; + + // define general triclinic box within Domain class + + domain->define_general_triclinic(avec,bvec,cvec,origin); } // if molecular, zero out topology info @@ -104,7 +182,6 @@ void CreateBox::command(int narg, char **arg) // process optional args that can overwrite default settings - int iarg = 2; while (iarg < narg) { if (strcmp(arg[iarg], "bond/types") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "create_box bond/type", error); @@ -166,7 +243,7 @@ void CreateBox::command(int narg, char **arg) error->all(FLERR, "Unknown create_box keyword: {}", arg[iarg]); } - // problem setup using info from header + // setup the simulation box and initial system // deallocate/grow ensures any extra settings are used for topology arrays // necessary in case no create_atoms is performed diff --git a/src/dihedral_hybrid.cpp b/src/dihedral_hybrid.cpp index 9da4df1f68..4ee0ffdad9 100644 --- a/src/dihedral_hybrid.cpp +++ b/src/dihedral_hybrid.cpp @@ -277,7 +277,8 @@ void DihedralHybrid::coeff(int narg, char **arg) else if (strcmp(arg[1], "bb13") == 0) error->all(FLERR, "BondBond13 coeff for hybrid dihedral has invalid format"); else - error->all(FLERR, "Dihedral coeff for hybrid has invalid style"); + error->all(FLERR, "Expected hybrid sub-style instead of {} in dihedral_coeff command", + arg[1]); } // move 1st arg to 2nd arg diff --git a/src/dihedral_write.cpp b/src/dihedral_write.cpp index 375373523b..dd1ca1de6a 100644 --- a/src/dihedral_write.cpp +++ b/src/dihedral_write.cpp @@ -25,7 +25,6 @@ #include "error.h" #include "force.h" #include "input.h" -#include "lammps.h" #include "math_const.h" #include "update.h" diff --git a/src/domain.cpp b/src/domain.cpp index 7513d384e2..db7533f21a 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -28,6 +28,7 @@ #include "force.h" #include "kspace.h" #include "lattice.h" +#include "math_extra.h" #include "memory.h" #include "modify.h" #include "molecule.h" @@ -41,6 +42,7 @@ #include using namespace LAMMPS_NS; +using namespace MathExtra; static constexpr double BIG = 1.0e20; static constexpr double SMALL = 1.0e-4; @@ -80,7 +82,7 @@ Domain::Domain(LAMMPS *lmp) : Pointers(lmp) minylo = minyhi = 0.0; minzlo = minzhi = 0.0; - triclinic = 0; + triclinic = triclinic_general = 0; boxlo[0] = boxlo[1] = boxlo[2] = -0.5; boxhi[0] = boxhi[1] = boxhi[2] = 0.5; @@ -287,6 +289,30 @@ void Domain::set_global_box() boxhi_bound[1] = MAX(boxhi[1],boxhi[1]+yz); boxhi_bound[2] = boxhi[2]; } + + // update general triclinic box if defined + // reset general tri ABC edge vectors from restricted tri box + + if (triclinic_general) { + double aprime[3],bprime[3],cprime[3]; + + // A'B'C' = edge vectors of restricted triclinic box + + aprime[0] = boxhi[0] - boxlo[0]; + aprime[1] = aprime[2] = 0.0; + bprime[0] = xy; + bprime[1] = boxhi[1] - boxlo[1]; + bprime[2] = 0.0; + cprime[0] = xz; + cprime[1] = yz; + cprime[2] = boxhi[2] - boxlo[2]; + + // transform restricted A'B'C' to general triclinic ABC + + MathExtra::matvec(rotate_r2g,aprime,avec); + MathExtra::matvec(rotate_r2g,bprime,bvec); + MathExtra::matvec(rotate_r2g,cprime,cvec); + } } /* ---------------------------------------------------------------------- @@ -515,6 +541,220 @@ void Domain::reset_box() } } +/* ---------------------------------------------------------------------- + define and store a general triclinic simulation box + 3 edge vectors of box = avec/bvec/cvec caller + origin of edge vectors = origin_caller = lower left corner of box + create mapping to restricted triclinic box + set boxlo[3], boxhi[3] and 3 tilt factors + create rotation matrices for general <--> restricted transformations +------------------------------------------------------------------------- */ + +void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, + double *cvec_caller, double *origin_caller) +{ + if (triclinic || triclinic_general) + error->all(FLERR,"General triclinic box edge vectors are already set"); + + triclinic = triclinic_general = 1; + + avec[0] = avec_caller[0]; + avec[1] = avec_caller[1]; + avec[2] = avec_caller[2]; + + bvec[0] = bvec_caller[0]; + bvec[1] = bvec_caller[1]; + bvec[2] = bvec_caller[2]; + + cvec[0] = cvec_caller[0]; + cvec[1] = cvec_caller[1]; + cvec[2] = cvec_caller[2]; + + // error check on cvec for 2d systems + + if (dimension == 2 && (cvec[0] != 0.0 || cvec[1] != 0.0)) + error->all(FLERR,"General triclinic box edge vector C invalid for 2d system"); + + // rotate_g2r = rotation matrix from general to restricted triclnic + // rotate_r2g = rotation matrix from restricted to general triclnic + + double aprime[3],bprime[3],cprime[3]; + general_to_restricted_rotation(avec,bvec,cvec,rotate_g2r,aprime,bprime,cprime); + MathExtra::transpose3(rotate_g2r,rotate_r2g); + + // set restricted triclinic boxlo, boxhi, and tilt factors + + boxlo[0] = origin_caller[0]; + boxlo[1] = origin_caller[1]; + boxlo[2] = origin_caller[2]; + + boxhi[0] = boxlo[0] + aprime[0]; + boxhi[1] = boxlo[1] + bprime[1]; + boxhi[2] = boxlo[2] + cprime[2]; + + xy = bprime[0]; + xz = cprime[0]; + yz = cprime[1]; +} + +/* ---------------------------------------------------------------------- + compute rotation matrix to transform from general to restricted triclinic + ABC = 3 general triclinic edge vectors + rotmat = rotation matrix + A`B`C` = 3 restricited triclinic edge vectors +------------------------------------------------------------------------- */ + +void Domain::general_to_restricted_rotation(double *a, double *b, double *c, + double rotmat[3][3], + double *aprime, double *bprime, double *cprime) +{ + // error checks + // A,B,C cannot be co-planar + // A x B must point in C direction (right-handed) + + double abcross[3]; + MathExtra::cross3(a,b,abcross); + double dot = MathExtra::dot3(abcross,c); + if (dot == 0.0) + error->all(FLERR,"General triclinic edge vectors are co-planar"); + if (dot < 0.0) + error->all(FLERR,"General triclinic edge vectors must be right-handed"); + + // quat1 = convert A into A' along +x-axis + // rot1 = unit vector to rotate A around + // theta1 = angle of rotation calculated from + // A dot xunit = Ax = |A| cos(theta1) + + double rot1[3],quat1[4]; + double xaxis[3] = {1.0, 0.0, 0.0}; + + double alen = MathExtra::len3(a); + MathExtra::cross3(a,xaxis,rot1); + MathExtra::norm3(rot1); + double theta1 = acos(a[0]/alen); + MathExtra::axisangle_to_quat(rot1,theta1,quat1); + + // rotmat1 = rotation matrix associated with quat1 + + double rotmat1[3][3]; + MathExtra::quat_to_mat(quat1,rotmat1); + + // B1 = rotation of B by quat1 rotation matrix + + double b1[3]; + MathExtra::matvec(rotmat1,b,b1); + + // quat2 = rotation to convert B1 into B' in xy plane + // Byz1 = projection of B1 into yz plane + // +xaxis = unit vector to rotate B1 around + // theta2 = angle of rotation calculated from + // Byz1 dot yunit = B1y = |Byz1| cos(theta2) + // theta2 via acos() is positive (0 to PI) + // positive is valid if B1z < 0.0 else flip sign of theta2 + + double byzvec1[3],quat2[4]; + MathExtra::copy3(b1,byzvec1); + byzvec1[0] = 0.0; + double byzvec1_len = MathExtra::len3(byzvec1); + double theta2 = acos(b1[1]/byzvec1_len); + if (b1[2] > 0.0) theta2 = -theta2; + MathExtra::axisangle_to_quat(xaxis,theta2,quat2); + + // quat_single = rotation via single quat = quat2 * quat1 + // quat_r2g = rotation from restricted to general + // rotmat = general to restricted rotation matrix + + double quat_single[4]; + MathExtra::quatquat(quat2,quat1,quat_single); + MathExtra::quat_to_mat(quat_single,rotmat); + + // rotate general ABC to restricted triclinic A'B'C' + + MathExtra::matvec(rotmat,a,aprime); + MathExtra::matvec(rotmat,b,bprime); + MathExtra::matvec(rotmat,c,cprime); +} + +/* ---------------------------------------------------------------------- + transform atom coords from general triclinic to restricted triclinic +------------------------------------------------------------------------- */ + +void Domain::general_to_restricted_coords(double *x) +{ + double xshift[3],xnew[3]; + + xshift[0] = x[0] - boxlo[0]; + xshift[1] = x[1] - boxlo[1]; + xshift[2] = x[2] - boxlo[2]; + MathExtra::matvec(rotate_g2r,xshift,xnew); + x[0] = xnew[0] + boxlo[0]; + x[1] = xnew[1] + boxlo[1]; + x[2] = xnew[2] + boxlo[2]; +} + +/* ---------------------------------------------------------------------- + transform atom coords from restricted triclinic to general triclinic +------------------------------------------------------------------------- */ + +void Domain::restricted_to_general_coords(double *x) +{ + double xshift[3],xnew[3]; + + xshift[0] = x[0] - boxlo[0]; + xshift[1] = x[1] - boxlo[1]; + xshift[2] = x[2] - boxlo[2]; + MathExtra::matvec(rotate_r2g,xshift,xnew); + x[0] = xnew[0] + boxlo[0]; + x[1] = xnew[1] + boxlo[1]; + x[2] = xnew[2] + boxlo[2]; +} + +void Domain::restricted_to_general_coords(double *x, double *xnew) +{ + double xshift[3]; + + xshift[0] = x[0] - boxlo[0]; + xshift[1] = x[1] - boxlo[1]; + xshift[2] = x[2] - boxlo[2]; + MathExtra::matvec(rotate_r2g,xshift,xnew); + xnew[0] += boxlo[0]; + xnew[1] += boxlo[1]; + xnew[2] += boxlo[2]; +} + +/* ---------------------------------------------------------------------- + transform atom vector from general triclinic to restricted triclinic +------------------------------------------------------------------------- */ + +void Domain::general_to_restricted_vector(double *v) +{ + double vnew[3]; + + MathExtra::matvec(rotate_g2r,v,vnew); + v[0] = vnew[0]; + v[1] = vnew[1]; + v[2] = vnew[2]; +} + +/* ---------------------------------------------------------------------- + transform atom vector from restricted triclinic to general triclinic +------------------------------------------------------------------------- */ + +void Domain::restricted_to_general_vector(double *v) +{ + double vnew[3]; + + MathExtra::matvec(rotate_r2g,v,vnew); + v[0] = vnew[0]; + v[1] = vnew[1]; + v[2] = vnew[2]; +} + +void Domain::restricted_to_general_vector(double *v, double *vnew) +{ + MathExtra::matvec(rotate_r2g,v,vnew); +} + /* ---------------------------------------------------------------------- enforce PBC and modify box image flags for each atom called every reneighboring and by other commands that change atoms @@ -675,9 +915,7 @@ int Domain::inside(double* x) lamda[1] < lo[1] || lamda[1] >= hi[1] || lamda[2] < lo[2] || lamda[2] >= hi[2]) return 0; else return 1; - } - } /* ---------------------------------------------------------------------- @@ -712,7 +950,6 @@ int Domain::inside_nonperiodic(double* x) if (!zperiodic && (lamda[2] < lo[2] || lamda[2] >= hi[2])) return 0; return 1; } - } /* ---------------------------------------------------------------------- @@ -973,6 +1210,9 @@ void Domain::subbox_too_small_check(double thresh) changed "if" to "while" to enable distance to far-away ghost atom returned by atom->map() to be wrapped back into box could be problem for looking up atom IDs when cutoff > boxsize + should be used for most cases where the difference in the image count + is small (usually 0 or 1) + use minimum_image_big() when a large difference between image counts is expected ------------------------------------------------------------------------- */ static constexpr double MAXIMGCOUNT = 16; @@ -1045,6 +1285,72 @@ void Domain::minimum_image(double &dx, double &dy, double &dz) const } } +/* ---------------------------------------------------------------------- + minimum image convention in periodic dimensions + use 1/2 of box size as test + for triclinic, also add/subtract tilt factors in other dims as needed + allow multiple box lengths to enable distance to + far-away ghost atom returned by atom->map() to be wrapped back into box + could be problem for looking up atom IDs when cutoff > boxsize + this should be used when there is a large image count difference possible + this applies for example to fix rigid/small +------------------------------------------------------------------------- */ + +void Domain::minimum_image_big(double &dx, double &dy, double &dz) const +{ + if (triclinic == 0) { + if (xperiodic) { + double dfactor = dx/xprd + 0.5; + if (dx < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dx); + dx -= xprd * static_cast(dfactor); + } + if (yperiodic) { + double dfactor = dy/yprd + 0.5; + if (dy < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dy); + dy -= yprd * static_cast(dfactor); + } + if (zperiodic) { + double dfactor = dz/zprd + 0.5; + if (dz < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dz); + dz -= zprd * static_cast(dfactor); + } + + } else { + if (zperiodic) { + double dfactor = dz/zprd + 0.5; + if (dz < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dz); + int factor = static_cast(dfactor); + dz -= zprd * factor; + dy -= yz * factor; + dx -= xz * factor; + } + if (yperiodic) { + double dfactor = dy/yprd + 0.5; + if (dy < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dy); + int factor = static_cast(dfactor); + dy -= yprd * factor; + dx -= xy * factor; + } + if (xperiodic) { + double dfactor = dx/xprd + 0.5; + if (dx < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dx); + dx -= xprd * static_cast(dfactor); + } + } +} + /* ---------------------------------------------------------------------- return local index of atom J or any of its images that is closest to atom I if J is not a valid index like -1, just return it @@ -1117,7 +1423,7 @@ int Domain::closest_image(const double * const pos, int j) /* ---------------------------------------------------------------------- find and return Xj image = periodic image of Xj that is closest to Xi for triclinic, add/subtract tilt factors in other dims as needed - called by ServerMD class and LammpsInterface in lib/atc. + called by ServerMD class and LammpsInterface in lib/atc ------------------------------------------------------------------------- */ void Domain::closest_image(const double * const xi, const double * const xj, double * const xjimage) diff --git a/src/domain.h b/src/domain.h index ab054f1b50..6479bd8d44 100644 --- a/src/domain.h +++ b/src/domain.h @@ -39,7 +39,8 @@ class Domain : protected Pointers { // 2 = shrink-wrap non-periodic // 3 = shrink-wrap non-per w/ min - int triclinic; // 0 = orthog box, 1 = triclinic + int triclinic; // 0 = orthog box, 1 = triclinic (restricted or general) + int triclinic_general; // 1 if general <-> restricted tri mapping is stored, 0 if not // orthogonal box @@ -48,8 +49,8 @@ class Domain : protected Pointers { double prd[3]; // array form of dimensions double prd_half[3]; // array form of half dimensions - // triclinic box - // xyzprd,xyzprd_half and prd,prd_half = same as if untilted + // restricted triclinic box + // xyz prd,xyz prd_half and prd,prd_half = same as if not tilted double prd_lamda[3]; // lamda box = (1,1,1) double prd_half_lamda[3]; // lamda half box = (0.5,0.5,0.5) @@ -58,14 +59,14 @@ class Domain : protected Pointers { double boxlo[3], boxhi[3]; - // triclinic box - // boxlo/hi = same as if untilted + // restricted triclinic box + // boxlo/hi = same as if not tilted double boxlo_lamda[3], boxhi_lamda[3]; // lamda box = (0,1) double boxlo_bound[3], boxhi_bound[3]; // bounding box of tilted domain double corners[8][3]; // 8 corner points - // orthogonal box & triclinic box + // orthogonal box & restricted triclinic box double minxlo, minxhi; // minimum size of global box double minylo, minyhi; // when shrink-wrapping @@ -75,18 +76,27 @@ class Domain : protected Pointers { double sublo[3], subhi[3]; // sub-box bounds on this proc - // triclinic box + // restricted triclinic box // sublo/hi = undefined double sublo_lamda[3], subhi_lamda[3]; // bounds of subbox in lamda - // triclinic box + // restricted triclinic box double xy, xz, yz; // 3 tilt factors double h[6], h_inv[6]; // shape matrix in Voigt ordering // Voigt = xx,yy,zz,yz,xz,xy double h_rate[6], h_ratelo[3]; // rate of box size/shape change + // general triclinic box + // boxlo = lower left corner + + double avec[3], bvec[3], cvec[3]; // ABC edge vectors of general triclinic box + double rotate_g2r[3][3]; // rotation matrix from general --> restricted tri + double rotate_r2g[3][3]; // rotation matrix from restricted --> general tri + + // box flags + int box_change; // 1 if any of next 3 flags are set, else 0 int box_change_size; // 1 if box size changes, 0 if not int box_change_shape; // 1 if box shape changes, 0 if not @@ -119,6 +129,8 @@ class Domain : protected Pointers { void subbox_too_small_check(double); void minimum_image(double &, double &, double &) const; void minimum_image(double *delta) const { minimum_image(delta[0], delta[1], delta[2]); } + void minimum_image_big(double &, double &, double &) const; + void minimum_image_big(double *delta) const { minimum_image_big(delta[0], delta[1], delta[2]); } int closest_image(int, int); int closest_image(const double *const, int); void closest_image(const double *const, const double *const, double *const); @@ -131,6 +143,17 @@ class Domain : protected Pointers { void image_flip(int, int, int); int ownatom(int, double *, imageint *, int); + void define_general_triclinic(double *, double *, double *, double *); + void general_to_restricted_rotation(double *, double *, double *, + double [3][3], + double *, double *, double *); + void general_to_restricted_coords(double *); + void restricted_to_general_coords(double *); + void restricted_to_general_coords(double *, double *); + void general_to_restricted_vector(double *); + void restricted_to_general_vector(double *); + void restricted_to_general_vector(double *, double *x); + void set_lattice(int, char **); void add_region(int, char **); void delete_region(Region *); diff --git a/src/dump_atom.cpp b/src/dump_atom.cpp index fb3f58042c..dfacf8f2da 100644 --- a/src/dump_atom.cpp +++ b/src/dump_atom.cpp @@ -36,6 +36,7 @@ DumpAtom::DumpAtom(LAMMPS *lmp, int narg, char **arg) : scale_flag = 1; image_flag = 0; + triclinic_general = 0; buffer_allow = 1; buffer_flag = 1; format_default = nullptr; @@ -92,25 +93,46 @@ void DumpAtom::init_style() if (binary && domain->triclinic == 0) header_choice = &DumpAtom::header_binary; + else if (binary && triclinic_general == 1) + header_choice = &DumpAtom::header_binary_triclinic_general; else if (binary && domain->triclinic == 1) header_choice = &DumpAtom::header_binary_triclinic; else if (!binary && domain->triclinic == 0) header_choice = &DumpAtom::header_item; + else if (!binary && triclinic_general == 1) + header_choice = &DumpAtom::header_item_triclinic_general; else if (!binary && domain->triclinic == 1) header_choice = &DumpAtom::header_item_triclinic; - if (scale_flag == 1 && image_flag == 0 && domain->triclinic == 0) - pack_choice = &DumpAtom::pack_scale_noimage; - else if (scale_flag == 1 && image_flag == 1 && domain->triclinic == 0) - pack_choice = &DumpAtom::pack_scale_image; - else if (scale_flag == 1 && image_flag == 0 && domain->triclinic == 1) - pack_choice = &DumpAtom::pack_scale_noimage_triclinic; - else if (scale_flag == 1 && image_flag == 1 && domain->triclinic == 1) - pack_choice = &DumpAtom::pack_scale_image_triclinic; - else if (scale_flag == 0 && image_flag == 0) - pack_choice = &DumpAtom::pack_noscale_noimage; - else if (scale_flag == 0 && image_flag == 1) - pack_choice = &DumpAtom::pack_noscale_image; + if (scale_flag == 0) { + if (image_flag == 0) { + if (triclinic_general == 1) { + pack_choice = &DumpAtom::pack_noscale_noimage_triclinic_general; + } else { + pack_choice = &DumpAtom::pack_noscale_noimage; + } + } else if (image_flag == 1) { + if (triclinic_general == 1) { + pack_choice = &DumpAtom::pack_noscale_image_triclinic_general; + } else { + pack_choice = &DumpAtom::pack_noscale_image; + } + } + } else if (scale_flag == 1) { + if (image_flag == 0) { + if (domain->triclinic == 0) { + pack_choice = &DumpAtom::pack_scale_noimage; + } else { + pack_choice = &DumpAtom::pack_scale_noimage_triclinic; + } + } else if (image_flag == 1) { + if (domain->triclinic == 0) { + pack_choice = &DumpAtom::pack_scale_image; + } else { + pack_choice = &DumpAtom::pack_scale_image_triclinic; + } + } + } if (image_flag == 0) convert_choice = &DumpAtom::convert_noimage; else convert_choice = &DumpAtom::convert_image; @@ -134,12 +156,24 @@ int DumpAtom::modify_param(int narg, char **arg) scale_flag = utils::logical(FLERR,arg[1],false,lmp); for (auto &item : keyword_user) item.clear(); return 2; - } else if (strcmp(arg[0],"image") == 0) { + } + + if (strcmp(arg[0],"image") == 0) { if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); image_flag = utils::logical(FLERR,arg[1],false,lmp); for (auto &item : keyword_user) item.clear(); return 2; } + + if (strcmp(arg[0],"triclinic/general") == 0) { + if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); + triclinic_general = utils::logical(FLERR,arg[1],false,lmp); + if (triclinic_general && !domain->triclinic_general) + error->all(FLERR,"Dump_modify triclinic/general cannot be used " + "if simulation box is not general triclinic"); + return 2; + } + return 0; } @@ -306,6 +340,31 @@ void DumpAtom::header_binary_triclinic(bigint ndump) /* ---------------------------------------------------------------------- */ +void DumpAtom::header_binary_triclinic_general(bigint ndump) +{ + header_format_binary(); + + fwrite(&update->ntimestep,sizeof(bigint),1,fp); + fwrite(&ndump,sizeof(bigint),1,fp); + int triclinic_general_flag = 2; + fwrite(&triclinic_general_flag,sizeof(int),1,fp); + fwrite(&domain->boundary[0][0],6*sizeof(int),1,fp); + fwrite(domain->avec,3*sizeof(double),1,fp); + fwrite(domain->bvec,3*sizeof(double),1,fp); + fwrite(domain->cvec,3*sizeof(double),1,fp); + fwrite(domain->boxlo,3*sizeof(double),1,fp); + fwrite(&size_one,sizeof(int),1,fp); + + header_unit_style_binary(); + header_time_binary(); + header_columns_binary(); + + if (multiproc) fwrite(&nclusterprocs,sizeof(int),1,fp); + else fwrite(&nprocs,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- */ + void DumpAtom::header_item(bigint ndump) { if (unit_flag && !unit_count) { @@ -348,6 +407,30 @@ void DumpAtom::header_item_triclinic(bigint ndump) /* ---------------------------------------------------------------------- */ +void DumpAtom::header_item_triclinic_general(bigint ndump) +{ + if (unit_flag && !unit_count) { + ++unit_count; + fmt::print(fp,"ITEM: UNITS\n{}\n",update->unit_style); + } + if (time_flag) fmt::print(fp,"ITEM: TIME\n{:.16}\n",compute_time()); + + fmt::print(fp,"ITEM: TIMESTEP\n{}\nITEM: NUMBER OF ATOMS\n{}\n", update->ntimestep, ndump); + + fmt::print(fp,"ITEM: BOX BOUNDS abc origin {}\n" + "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n" + "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n" + "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n", + boundstr, + domain->avec[0],domain->avec[1],domain->avec[2],domain->boxlo[0], + domain->bvec[0],domain->bvec[1],domain->bvec[2],domain->boxlo[1], + domain->cvec[0],domain->cvec[1],domain->cvec[2],domain->boxlo[2]); + + fmt::print(fp,"ITEM: ATOMS {}\n",columns); +} + +/* ---------------------------------------------------------------------- */ + void DumpAtom::pack_scale_image(tagint *ids) { int m,n; @@ -406,6 +489,59 @@ void DumpAtom::pack_scale_noimage(tagint *ids) } } +/* ---------------------------------------------------------------------- */ + +void DumpAtom::pack_noscale_image(tagint *ids) +{ + int m,n; + + tagint *tag = atom->tag; + int *type = atom->type; + imageint *image = atom->image; + int *mask = atom->mask; + double **x = atom->x; + int nlocal = atom->nlocal; + + m = n = 0; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + buf[m++] = tag[i]; + buf[m++] = type[i]; + buf[m++] = x[i][0]; + buf[m++] = x[i][1]; + buf[m++] = x[i][2]; + buf[m++] = (image[i] & IMGMASK) - IMGMAX; + buf[m++] = (image[i] >> IMGBITS & IMGMASK) - IMGMAX; + buf[m++] = (image[i] >> IMG2BITS) - IMGMAX; + if (ids) ids[n++] = tag[i]; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpAtom::pack_noscale_noimage(tagint *ids) +{ + int m,n; + + tagint *tag = atom->tag; + int *type = atom->type; + int *mask = atom->mask; + double **x = atom->x; + int nlocal = atom->nlocal; + + m = n = 0; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + buf[m++] = tag[i]; + buf[m++] = type[i]; + buf[m++] = x[i][0]; + buf[m++] = x[i][1]; + buf[m++] = x[i][2]; + if (ids) ids[n++] = tag[i]; + } +} + + /* ---------------------------------------------------------------------- */ void DumpAtom::pack_scale_image_triclinic(tagint *ids) @@ -466,7 +602,7 @@ void DumpAtom::pack_scale_noimage_triclinic(tagint *ids) /* ---------------------------------------------------------------------- */ -void DumpAtom::pack_noscale_image(tagint *ids) +void DumpAtom::pack_noscale_image_triclinic_general(tagint *ids) { int m,n; @@ -477,14 +613,17 @@ void DumpAtom::pack_noscale_image(tagint *ids) double **x = atom->x; int nlocal = atom->nlocal; + double xtri[3]; + m = n = 0; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { buf[m++] = tag[i]; buf[m++] = type[i]; - buf[m++] = x[i][0]; - buf[m++] = x[i][1]; - buf[m++] = x[i][2]; + domain->restricted_to_general_coords(x[i],xtri); + buf[m++] = xtri[0]; + buf[m++] = xtri[1]; + buf[m++] = xtri[2]; buf[m++] = (image[i] & IMGMASK) - IMGMAX; buf[m++] = (image[i] >> IMGBITS & IMGMASK) - IMGMAX; buf[m++] = (image[i] >> IMG2BITS) - IMGMAX; @@ -494,7 +633,7 @@ void DumpAtom::pack_noscale_image(tagint *ids) /* ---------------------------------------------------------------------- */ -void DumpAtom::pack_noscale_noimage(tagint *ids) +void DumpAtom::pack_noscale_noimage_triclinic_general(tagint *ids) { int m,n; @@ -504,14 +643,17 @@ void DumpAtom::pack_noscale_noimage(tagint *ids) double **x = atom->x; int nlocal = atom->nlocal; + double xtri[3]; + m = n = 0; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { buf[m++] = tag[i]; buf[m++] = type[i]; - buf[m++] = x[i][0]; - buf[m++] = x[i][1]; - buf[m++] = x[i][2]; + domain->restricted_to_general_coords(x[i],xtri); + buf[m++] = xtri[0]; + buf[m++] = xtri[1]; + buf[m++] = xtri[2]; if (ids) ids[n++] = tag[i]; } } diff --git a/src/dump_atom.h b/src/dump_atom.h index e28b390520..0b0d3a4f05 100644 --- a/src/dump_atom.h +++ b/src/dump_atom.h @@ -33,8 +33,9 @@ class DumpAtom : public Dump { const int ENDIAN = 0x0001; protected: - int scale_flag; // 1 if atom coords are scaled, 0 if no - int image_flag; // 1 if append box count to atom coords, 0 if no + int scale_flag; // 1 if atom coords are scaled, 0 if no + int image_flag; // 1 if append box count to atom coords, 0 if no + int triclinic_general; // 1 if output box & coords for general triclinic, 0 if no std::string columns; // column labels @@ -57,8 +58,10 @@ class DumpAtom : public Dump { FnPtrHeader header_choice; // ptr to write header functions void header_binary(bigint); void header_binary_triclinic(bigint); + void header_binary_triclinic_general(bigint); void header_item(bigint); void header_item_triclinic(bigint); + void header_item_triclinic_general(bigint); typedef void (DumpAtom::*FnPtrPack)(tagint *); FnPtrPack pack_choice; // ptr to pack functions @@ -68,6 +71,8 @@ class DumpAtom : public Dump { void pack_noscale_noimage(tagint *); void pack_scale_image_triclinic(tagint *); void pack_scale_noimage_triclinic(tagint *); + void pack_noscale_image_triclinic_general(tagint *); + void pack_noscale_noimage_triclinic_general(tagint *); typedef int (DumpAtom::*FnPtrConvert)(int, double *); FnPtrConvert convert_choice; // ptr to convert data functions diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index ed70c7413d..431dd62fb7 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -34,14 +34,14 @@ using namespace LAMMPS_NS; // customize by adding keyword -// also customize compute_atom_property.cpp +// also customize compute_property_atom.cpp enum{ID,MOL,PROC,PROCP1,TYPE,ELEMENT,MASS, X,Y,Z,XS,YS,ZS,XSTRI,YSTRI,ZSTRI,XU,YU,ZU,XUTRI,YUTRI,ZUTRI, XSU,YSU,ZSU,XSUTRI,YSUTRI,ZSUTRI, IX,IY,IZ, VX,VY,VZ,FX,FY,FZ, - Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER,HEATFLOW,TEMPERATURE, + Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER, OMEGAX,OMEGAY,OMEGAZ,ANGMOMX,ANGMOMY,ANGMOMZ, TQX,TQY,TQZ, COMPUTE,FIX,VARIABLE,IVEC,DVEC,IARRAY,DARRAY}; @@ -88,6 +88,7 @@ DumpCustom::DumpCustom(LAMMPS *lmp, int narg, char **arg) : buffer_allow = 1; buffer_flag = 1; + triclinic_general = 0; nthresh = 0; nthreshlast = 0; @@ -294,10 +295,14 @@ void DumpCustom::init_style() if (binary && domain->triclinic == 0) header_choice = &DumpCustom::header_binary; + else if (binary && triclinic_general == 1) + header_choice = &DumpCustom::header_binary_triclinic_general; else if (binary && domain->triclinic == 1) header_choice = &DumpCustom::header_binary_triclinic; else if (!binary && domain->triclinic == 0) header_choice = &DumpCustom::header_item; + else if (!binary && triclinic_general == 1) + header_choice = &DumpCustom::header_item_triclinic_general; else if (!binary && domain->triclinic == 1) header_choice = &DumpCustom::header_item_triclinic; @@ -489,6 +494,31 @@ void DumpCustom::header_binary_triclinic(bigint ndump) /* ---------------------------------------------------------------------- */ +void DumpCustom::header_binary_triclinic_general(bigint ndump) +{ + header_format_binary(); + + fwrite(&update->ntimestep,sizeof(bigint),1,fp); + fwrite(&ndump,sizeof(bigint),1,fp); + int triclinic_general_flag = 2; + fwrite(&triclinic_general_flag,sizeof(int),1,fp); + fwrite(&domain->boundary[0][0],6*sizeof(int),1,fp); + fwrite(domain->avec,3*sizeof(double),1,fp); + fwrite(domain->bvec,3*sizeof(double),1,fp); + fwrite(domain->cvec,3*sizeof(double),1,fp); + fwrite(domain->boxlo,3*sizeof(double),1,fp); + fwrite(&nfield,sizeof(int),1,fp); + + header_unit_style_binary(); + header_time_binary(); + header_columns_binary(); + + if (multiproc) fwrite(&nclusterprocs,sizeof(int),1,fp); + else fwrite(&nprocs,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::header_item(bigint ndump) { if (unit_flag && !unit_count) { @@ -535,6 +565,30 @@ void DumpCustom::header_item_triclinic(bigint ndump) /* ---------------------------------------------------------------------- */ +void DumpCustom::header_item_triclinic_general(bigint ndump) +{ + if (unit_flag && !unit_count) { + ++unit_count; + fmt::print(fp,"ITEM: UNITS\n{}\n",update->unit_style); + } + if (time_flag) fmt::print(fp,"ITEM: TIME\n{:.16}\n",compute_time()); + + fmt::print(fp,"ITEM: TIMESTEP\n{}\nITEM: NUMBER OF ATOMS\n{}\n", update->ntimestep, ndump); + + fmt::print(fp,"ITEM: BOX BOUNDS abc origin {}\n" + "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n" + "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n" + "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n", + boundstr, + domain->avec[0],domain->avec[1],domain->avec[2],domain->boxlo[0], + domain->bvec[0],domain->bvec[1],domain->bvec[2],domain->boxlo[1], + domain->cvec[0],domain->cvec[1],domain->cvec[2],domain->boxlo[2]); + + fmt::print(fp,"ITEM: ATOMS {}\n",columns); +} + +/* ---------------------------------------------------------------------- */ + int DumpCustom::count() { int i; @@ -929,18 +983,6 @@ int DumpCustom::count() for (i = 0; i < nlocal; i++) dchoose[i] = 2.0*radius[i]; ptr = dchoose; nstride = 1; - } else if (thresh_array[ithresh] == HEATFLOW) { - if (!atom->heatflow_flag) - error->all(FLERR, - "Threshold for an atom property that isn't allocated"); - ptr = atom->heatflow; - nstride = 1; - } else if (thresh_array[ithresh] == TEMPERATURE) { - if (!atom->temperature_flag) - error->all(FLERR, - "Threshold for an atom property that isn't allocated"); - ptr = atom->temperature; - nstride = 1; } else if (thresh_array[ithresh] == OMEGAX) { if (!atom->omega_flag) error->all(FLERR, @@ -1286,13 +1328,16 @@ int DumpCustom::parse_fields(int narg, char **arg) vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"x") == 0) { - pack_choice[iarg] = &DumpCustom::pack_x; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_x_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_x; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"y") == 0) { - pack_choice[iarg] = &DumpCustom::pack_y; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_y_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_y; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"z") == 0) { - pack_choice[iarg] = &DumpCustom::pack_z; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_z_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_z; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"xs") == 0) { if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_xs_triclinic; @@ -1307,15 +1352,18 @@ int DumpCustom::parse_fields(int narg, char **arg) else pack_choice[iarg] = &DumpCustom::pack_zs; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"xu") == 0) { - if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_xu_triclinic; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_xu_triclinic_general; + else if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_xu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_xu; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"yu") == 0) { - if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_yu_triclinic; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_yu_triclinic_general; + else if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_yu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_yu; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"zu") == 0) { - if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_zu_triclinic; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_zu_triclinic_general; + else if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_zu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_zu; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"xsu") == 0) { @@ -1330,6 +1378,7 @@ int DumpCustom::parse_fields(int narg, char **arg) if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_zsu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_zsu; vtype[iarg] = Dump::DOUBLE; + } else if (strcmp(arg[iarg],"ix") == 0) { pack_choice[iarg] = &DumpCustom::pack_ix; vtype[iarg] = Dump::INT; @@ -1341,22 +1390,28 @@ int DumpCustom::parse_fields(int narg, char **arg) vtype[iarg] = Dump::INT; } else if (strcmp(arg[iarg],"vx") == 0) { - pack_choice[iarg] = &DumpCustom::pack_vx; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_vx_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_vx; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"vy") == 0) { - pack_choice[iarg] = &DumpCustom::pack_vy; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_vy_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_vy; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"vz") == 0) { - pack_choice[iarg] = &DumpCustom::pack_vz; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_vz_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_vz; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"fx") == 0) { - pack_choice[iarg] = &DumpCustom::pack_fx; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_fx_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_fx; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"fy") == 0) { - pack_choice[iarg] = &DumpCustom::pack_fy; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_fy_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_fy; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"fz") == 0) { - pack_choice[iarg] = &DumpCustom::pack_fz; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_fz_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_fz; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"q") == 0) { @@ -1364,20 +1419,24 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Dumping an atom property that isn't allocated"); pack_choice[iarg] = &DumpCustom::pack_q; vtype[iarg] = Dump::DOUBLE; + } else if (strcmp(arg[iarg],"mux") == 0) { if (!atom->mu_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_mux; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_mux_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_mux; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"muy") == 0) { if (!atom->mu_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_muy; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_muy_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_muy; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"muz") == 0) { if (!atom->mu_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_muz; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_muz_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_muz; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"mu") == 0) { if (!atom->mu_flag) @@ -1395,60 +1454,61 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Dumping an atom property that isn't allocated"); pack_choice[iarg] = &DumpCustom::pack_diameter; vtype[iarg] = Dump::DOUBLE; - } else if (strcmp(arg[iarg],"heatflow") == 0) { - if (!atom->heatflow_flag) - error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_heatflow; - vtype[iarg] = Dump::DOUBLE; - } else if (strcmp(arg[iarg],"temperature") == 0) { - if (!atom->temperature_flag) - error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_temperature; - vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"omegax") == 0) { if (!atom->omega_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_omegax; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_omegax_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_omegax; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"omegay") == 0) { if (!atom->omega_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_omegay; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_omegay_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_omegay; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"omegaz") == 0) { if (!atom->omega_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_omegaz; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_omegaz_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_omegaz; vtype[iarg] = Dump::DOUBLE; + } else if (strcmp(arg[iarg],"angmomx") == 0) { if (!atom->angmom_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_angmomx; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_angmomx_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_angmomx; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"angmomy") == 0) { if (!atom->angmom_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_angmomy; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_angmomy_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_angmomy; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"angmomz") == 0) { if (!atom->angmom_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_angmomz; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_angmomz_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_angmomz; vtype[iarg] = Dump::DOUBLE; + } else if (strcmp(arg[iarg],"tqx") == 0) { if (!atom->torque_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_tqx; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_tqx_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_tqx; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"tqy") == 0) { if (!atom->torque_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_tqy; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_tqy_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_tqy; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"tqz") == 0) { if (!atom->torque_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_tqz; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_tqz_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_tqz; vtype[iarg] = Dump::DOUBLE; // compute or fix or variable or custom vector/array @@ -1702,6 +1762,15 @@ int DumpCustom::modify_param(int narg, char **arg) return 2; } + if (strcmp(arg[0],"triclinic/general") == 0) { + if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); + triclinic_general = utils::logical(FLERR,arg[1],false,lmp); + if (triclinic_general && !domain->triclinic_general) + error->all(FLERR,"Dump_modify triclinic/general cannot be used " + "if simulation box is not general triclinic"); + return 2; + } + if (strcmp(arg[0],"format") == 0) { if (narg < 2) utils::missing_cmd_args(FLERR, "dump_modify format", error); @@ -1875,8 +1944,6 @@ int DumpCustom::modify_param(int narg, char **arg) else if (strcmp(arg[1],"radius") == 0) thresh_array[nthresh] = RADIUS; else if (strcmp(arg[1],"diameter") == 0) thresh_array[nthresh] = DIAMETER; - else if (strcmp(arg[1],"heatflow") == 0) thresh_array[nthresh] = HEATFLOW; - else if (strcmp(arg[1],"temperature") == 0) thresh_array[nthresh] = TEMPERATURE; else if (strcmp(arg[1],"omegax") == 0) thresh_array[nthresh] = OMEGAX; else if (strcmp(arg[1],"omegay") == 0) thresh_array[nthresh] = OMEGAY; else if (strcmp(arg[1],"omegaz") == 0) thresh_array[nthresh] = OMEGAZ; @@ -2283,6 +2350,48 @@ void DumpCustom::pack_z(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_x_triclinic_general(int n) +{ + double **x = atom->x; + double xtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_coords(x[clist[i]],xtri); + buf[n] = xtri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_y_triclinic_general(int n) +{ + double **x = atom->x; + double xtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_coords(x[clist[i]],xtri); + buf[n] = xtri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_z_triclinic_general(int n) +{ + double **x = atom->x; + double xtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_coords(x[clist[i]],xtri); + buf[n] = xtri[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_xs(int n) { double **x = atom->x; @@ -2489,6 +2598,84 @@ void DumpCustom::pack_zu_triclinic(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_xu_triclinic_general(int n) +{ + int j; + double **x = atom->x; + imageint *image = atom->image; + + double *h = domain->h; + double xu[3]; + int xbox,ybox,zbox; + + for (int i = 0; i < nchoose; i++) { + j = clist[i]; + xbox = (image[j] & IMGMASK) - IMGMAX; + ybox = (image[j] >> IMGBITS & IMGMASK) - IMGMAX; + zbox = (image[j] >> IMG2BITS) - IMGMAX; + xu[0] = x[j][0] + h[0]*xbox + h[5]*ybox + h[4]*zbox; + xu[1] = x[j][1] + h[1]*ybox + h[3]*zbox; + xu[2] = x[j][2] + h[2]*zbox; + domain->restricted_to_general_coords(xu); + buf[n] = xu[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_yu_triclinic_general(int n) +{ + int j; + double **x = atom->x; + imageint *image = atom->image; + + double *h = domain->h; + double xu[3]; + int xbox,ybox,zbox; + + for (int i = 0; i < nchoose; i++) { + j = clist[i]; + xbox = (image[j] & IMGMASK) - IMGMAX; + ybox = (image[j] >> IMGBITS & IMGMASK) - IMGMAX; + zbox = (image[j] >> IMG2BITS) - IMGMAX; + xu[0] = x[j][0] + h[0]*xbox + h[5]*ybox + h[4]*zbox; + xu[1] = x[j][1] + h[1]*ybox + h[3]*zbox; + xu[2] = x[j][2] + h[2]*zbox; + domain->restricted_to_general_coords(xu); + buf[n] = xu[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_zu_triclinic_general(int n) +{ + int j; + double **x = atom->x; + imageint *image = atom->image; + + double *h = domain->h; + double xu[3]; + int xbox,ybox,zbox; + + for (int i = 0; i < nchoose; i++) { + j = clist[i]; + xbox = (image[j] & IMGMASK) - IMGMAX; + ybox = (image[j] >> IMGBITS & IMGMASK) - IMGMAX; + zbox = (image[j] >> IMG2BITS) - IMGMAX; + xu[0] = x[j][0] + h[0]*xbox + h[5]*ybox + h[4]*zbox; + xu[1] = x[j][1] + h[1]*ybox + h[3]*zbox; + xu[2] = x[j][2] + h[2]*zbox; + domain->restricted_to_general_coords(xu); + buf[n] = xu[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_xsu(int n) { int j; @@ -2671,6 +2858,48 @@ void DumpCustom::pack_vz(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_vx_triclinic_general(int n) +{ + double **v = atom->v; + double vtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(v[clist[i]],vtri); + buf[n] = vtri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_vy_triclinic_general(int n) +{ + double **v = atom->v; + double vtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(v[clist[i]],vtri); + buf[n] = vtri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_vz_triclinic_general(int n) +{ + double **v = atom->v; + double vtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(v[clist[i]],vtri); + buf[n] = vtri[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_fx(int n) { double **f = atom->f; @@ -2707,6 +2936,48 @@ void DumpCustom::pack_fz(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_fx_triclinic_general(int n) +{ + double **f = atom->f; + double ftri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(f[clist[i]],ftri); + buf[n] = ftri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_fy_triclinic_general(int n) +{ + double **f = atom->f; + double ftri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(f[clist[i]],ftri); + buf[n] = ftri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_fz_triclinic_general(int n) +{ + double **f = atom->f; + double ftri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(f[clist[i]],ftri); + buf[n] = ftri[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_q(int n) { double *q = atom->q; @@ -2767,6 +3038,48 @@ void DumpCustom::pack_mu(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_mux_triclinic_general(int n) +{ + double **mu = atom->mu; + double mutri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(mu[clist[i]],mutri); + buf[n] = mutri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_muy_triclinic_general(int n) +{ + double **mu = atom->mu; + double mutri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(mu[clist[i]],mutri); + buf[n] = mutri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_muz_triclinic_general(int n) +{ + double **mu = atom->mu; + double mutri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(mu[clist[i]],mutri); + buf[n] = mutri[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_radius(int n) { double *radius = atom->radius; @@ -2791,30 +3104,6 @@ void DumpCustom::pack_diameter(int n) /* ---------------------------------------------------------------------- */ -void DumpCustom::pack_heatflow(int n) -{ - double *heatflow = atom->heatflow; - - for (int i = 0; i < nchoose; i++) { - buf[n] = heatflow[clist[i]]; - n += size_one; - } -} - -/* ---------------------------------------------------------------------- */ - -void DumpCustom::pack_temperature(int n) -{ - double *temperature = atom->temperature; - - for (int i = 0; i < nchoose; i++) { - buf[n] = temperature[clist[i]]; - n += size_one; - } -} - -/* ---------------------------------------------------------------------- */ - void DumpCustom::pack_omegax(int n) { double **omega = atom->omega; @@ -2851,6 +3140,48 @@ void DumpCustom::pack_omegaz(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_omegax_triclinic_general(int n) +{ + double **omega = atom->omega; + double omegatri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(omega[clist[i]],omegatri); + buf[n] = omegatri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_omegay_triclinic_general(int n) +{ + double **omega = atom->omega; + double omegatri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(omega[clist[i]],omegatri); + buf[n] = omegatri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_omegaz_triclinic_general(int n) +{ + double **omega = atom->omega; + double omegatri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(omega[clist[i]],omegatri); + buf[n] = omegatri[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_angmomx(int n) { double **angmom = atom->angmom; @@ -2887,6 +3218,48 @@ void DumpCustom::pack_angmomz(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_angmomx_triclinic_general(int n) +{ + double **angmom = atom->angmom; + double angmomtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(angmom[clist[i]],angmomtri); + buf[n] = angmomtri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_angmomy_triclinic_general(int n) +{ + double **angmom = atom->angmom; + double angmomtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(angmom[clist[i]],angmomtri); + buf[n] = angmomtri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_angmomz_triclinic_general(int n) +{ + double **angmom = atom->angmom; + double angmomtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(angmom[clist[i]],angmomtri); + buf[n] = angmomtri[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_tqx(int n) { double **torque = atom->torque; @@ -2920,3 +3293,45 @@ void DumpCustom::pack_tqz(int n) n += size_one; } } + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_tqx_triclinic_general(int n) +{ + double **torque = atom->torque; + double tqtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(torque[clist[i]],tqtri); + buf[n] = tqtri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_tqy_triclinic_general(int n) +{ + double **torque = atom->torque; + double tqtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(torque[clist[i]],tqtri); + buf[n] = tqtri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_tqz_triclinic_general(int n) +{ + double **torque = atom->torque; + double tqtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(torque[clist[i]],tqtri); + buf[n] = tqtri[2]; + n += size_one; + } +} diff --git a/src/dump_custom.h b/src/dump_custom.h index 2b04944ec3..6b4ca88b0b 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -36,6 +36,7 @@ class DumpCustom : public Dump { protected: int nevery; // dump frequency for output char *idregion; // region ID, nullptr if no region + int triclinic_general; // 1 if output box & per-atom info for general triclinic int nthresh; // # of defined thresholds int nthreshlast; // # of defined thresholds with value = LAST @@ -124,8 +125,10 @@ class DumpCustom : public Dump { FnPtrHeader header_choice; // ptr to write header functions void header_binary(bigint); void header_binary_triclinic(bigint); + void header_binary_triclinic_general(bigint); void header_item(bigint); void header_item_triclinic(bigint); + void header_item_triclinic_general(bigint); typedef void (DumpCustom::*FnPtrWrite)(int, double *); FnPtrWrite write_choice; // ptr to write data functions @@ -153,24 +156,34 @@ class DumpCustom : public Dump { void pack_x(int); void pack_y(int); void pack_z(int); + void pack_x_triclinic_general(int); + void pack_y_triclinic_general(int); + void pack_z_triclinic_general(int); + void pack_xs(int); void pack_ys(int); void pack_zs(int); void pack_xs_triclinic(int); void pack_ys_triclinic(int); void pack_zs_triclinic(int); + void pack_xu(int); void pack_yu(int); void pack_zu(int); void pack_xu_triclinic(int); void pack_yu_triclinic(int); void pack_zu_triclinic(int); + void pack_xu_triclinic_general(int); + void pack_yu_triclinic_general(int); + void pack_zu_triclinic_general(int); + void pack_xsu(int); void pack_ysu(int); void pack_zsu(int); void pack_xsu_triclinic(int); void pack_ysu_triclinic(int); void pack_zsu_triclinic(int); + void pack_ix(int); void pack_iy(int); void pack_iz(int); @@ -178,28 +191,50 @@ class DumpCustom : public Dump { void pack_vx(int); void pack_vy(int); void pack_vz(int); + void pack_vx_triclinic_general(int); + void pack_vy_triclinic_general(int); + void pack_vz_triclinic_general(int); + void pack_fx(int); void pack_fy(int); void pack_fz(int); + void pack_fx_triclinic_general(int); + void pack_fy_triclinic_general(int); + void pack_fz_triclinic_general(int); + void pack_q(int); + void pack_mux(int); void pack_muy(int); void pack_muz(int); void pack_mu(int); + void pack_mux_triclinic_general(int); + void pack_muy_triclinic_general(int); + void pack_muz_triclinic_general(int); + void pack_radius(int); void pack_diameter(int); - void pack_heatflow(int); - void pack_temperature(int); void pack_omegax(int); void pack_omegay(int); void pack_omegaz(int); + void pack_omegax_triclinic_general(int); + void pack_omegay_triclinic_general(int); + void pack_omegaz_triclinic_general(int); + void pack_angmomx(int); void pack_angmomy(int); void pack_angmomz(int); + void pack_angmomx_triclinic_general(int); + void pack_angmomy_triclinic_general(int); + void pack_angmomz_triclinic_general(int); + void pack_tqx(int); void pack_tqy(int); void pack_tqz(int); + void pack_tqx_triclinic_general(int); + void pack_tqy_triclinic_general(int); + void pack_tqz_triclinic_general(int); }; } // namespace LAMMPS_NS diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 4c89b05739..ac42a85b01 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -23,7 +23,6 @@ #include "grid3d.h" #include "memory.h" #include "modify.h" -#include "region.h" #include "update.h" #include diff --git a/src/KSPACE/ewald_const.h b/src/ewald_const.h similarity index 100% rename from src/KSPACE/ewald_const.h rename to src/ewald_const.h diff --git a/src/fix.cpp b/src/fix.cpp index 754948fdd1..8678706347 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -81,6 +81,7 @@ Fix::Fix(LAMMPS *lmp, int /*narg*/, char **arg) : diam_flag = 0; scalar_flag = vector_flag = array_flag = 0; + extscalar = extvector = extarray = -1; peratom_flag = local_flag = pergrid_flag = 0; global_freq = local_freq = peratom_freq = pergrid_freq = -1; size_vector_variable = size_array_rows_variable = 0; @@ -119,13 +120,28 @@ Fix::~Fix() { if (copymode) return; - delete [] id; - delete [] style; + delete[] id; + delete[] style; memory->destroy(eatom); memory->destroy(vatom); memory->destroy(cvatom); } +/* ---------------------------------------------------------------------- */ + +void Fix::init_flags() +{ + if (scalar_flag && (extscalar < 0)) + error->all(FLERR, "Must set 'extscalar' when setting 'scalar_flag' for fix {}. " + "Contact the developer.", style); + if (vector_flag && (extvector < 0) && !extlist) + error->all(FLERR, "Must set 'extvector' or 'extlist' when setting 'vector_flag' for fix {}. " + "Contact the developer.", style); + if (array_flag && (extarray < 0)) + error->all(FLERR, "Must set 'extarray' when setting 'array_flag' for fix {}. " + "Contact the developer.", style); +} + /* ---------------------------------------------------------------------- process params common to all fixes here if unknown param, call modify_param specific to the fix @@ -133,36 +149,37 @@ Fix::~Fix() void Fix::modify_params(int narg, char **arg) { - if (narg == 0) error->all(FLERR,"Illegal fix_modify command"); + if (narg == 0) utils::missing_cmd_args(FLERR, "fix_modify", error); int iarg = 0; while (iarg < narg) { if (strcmp(arg[iarg],"dynamic/dof") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix_modify dynamic/dof", error); dynamic = utils::logical(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"energy") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix_modify energy", error); thermo_energy = utils::logical(FLERR,arg[iarg+1],false,lmp); if (thermo_energy && !energy_global_flag && !energy_peratom_flag) error->all(FLERR,"Fix {} {} does not support fix_modify energy command", id, style); iarg += 2; } else if (strcmp(arg[iarg],"virial") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix_modify virial", error); thermo_virial = utils::logical(FLERR,arg[iarg+1],false,lmp); if (thermo_virial && !virial_global_flag && !virial_peratom_flag) error->all(FLERR,"Fix {} {} does not support fix_modify virial command", id, style); iarg += 2; } else if (strcmp(arg[iarg],"respa") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - if (!respa_level_support) error->all(FLERR,"Illegal fix_modify command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix_modify respa", error); + if (!respa_level_support) error->all(FLERR,"Illegal fix_modify respa command"); int lvl = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - if (lvl < 0) error->all(FLERR,"Illegal fix_modify command"); + if (lvl < 0) error->all(FLERR,"Illegal fix_modify respa command"); respa_level = lvl-1; iarg += 2; } else { int n = modify_param(narg-iarg,&arg[iarg]); - if (n == 0) error->all(FLERR,"Illegal fix_modify command"); + if (n == 0) + error->all(FLERR,"Fix {} {} does not support fix_modify {} command", id, style, arg[iarg]); iarg += n; } } diff --git a/src/fix.h b/src/fix.h index ca0a1ef84b..594fbb51bf 100644 --- a/src/fix.h +++ b/src/fix.h @@ -145,6 +145,7 @@ class Fix : protected Pointers { virtual void post_constructor() {} virtual void init() {} + void init_flags(); virtual void init_list(int, class NeighList *) {} virtual void setup(int) {} virtual void setup_pre_exchange() {} diff --git a/src/fix_ave_chunk.cpp b/src/fix_ave_chunk.cpp index 8ed518efc2..9382b6d38e 100644 --- a/src/fix_ave_chunk.cpp +++ b/src/fix_ave_chunk.cpp @@ -193,10 +193,12 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : cdof = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; - } else if (strcmp(arg[iarg],"file") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/chunk file", error); + } else if ((strcmp(arg[iarg],"file") == 0) || (strcmp(arg[iarg],"append") == 0)) { + if (iarg+2 > narg) + utils::missing_cmd_args(FLERR, std::string("fix ave/chunk ")+arg[iarg], error); if (comm->me == 0) { - fp = fopen(arg[iarg+1],"w"); + if (strcmp(arg[iarg],"file") == 0) fp = fopen(arg[iarg+1],"w"); + else fp = fopen(arg[iarg+1],"a"); if (fp == nullptr) error->one(FLERR, "Cannot open fix ave/chunk file {}: {}", arg[iarg+1], utils::getsyserror()); @@ -301,8 +303,7 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : if (fp && comm->me == 0) { clearerr(fp); if (title1) fprintf(fp,"%s\n",title1); - else fprintf(fp,"# Chunk-averaged data for fix %s and group %s\n", - id, group); + else fprintf(fp,"# Chunk-averaged data for fix %s and group %s\n", id, group); if (title2) fprintf(fp,"%s\n",title2); else fprintf(fp,"# Timestep Number-of-chunks Total-count\n"); if (title3) fprintf(fp,"%s\n",title3); diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index d506e17761..08cd673122 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -97,7 +97,7 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) : while (iarg < nargnew) { if (strcmp(arg[iarg],"type") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate type", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate type", error); if (strcmp(arg[iarg+1],"auto") == 0) type = AUTO; else if (strcmp(arg[iarg+1],"upper") == 0) type = UPPER; else if (strcmp(arg[iarg+1],"lower") == 0) type = LOWER; @@ -107,21 +107,21 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) : else error->all(FLERR,"Unknown fix ave/correlate type: {}"); iarg += 2; } else if (strcmp(arg[iarg],"ave") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate ave", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate ave", error); if (strcmp(arg[iarg+1],"one") == 0) ave = ONE; else if (strcmp(arg[iarg+1],"running") == 0) ave = RUNNING; else error->all(FLERR,"Unknown fix ave/correlate ave mode: {}", arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"start") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate start", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate start", error); startstep = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"prefactor") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate prefactor", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate prefactor", error); prefactor = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"file") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate file", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate file", error); if (comm->me == 0) { fp = fopen(arg[iarg+1],"w"); if (fp == nullptr) @@ -133,17 +133,17 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) : overwrite = 1; iarg += 1; } else if (strcmp(arg[iarg],"title1") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate title1", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate title1", error); delete[] title1; title1 = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"title2") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate title2", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate title2", error); delete[] title2; title2 = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"title3") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate title3", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate title3", error); delete[] title3; title3 = utils::strdup(arg[iarg+1]); iarg += 2; @@ -414,6 +414,8 @@ void FixAveCorrelate::end_of_step() scalar = val.val.f->compute_vector(val.argindex-1); // evaluate equal-style or vector-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori } else if (val.which == ArgInfo::VARIABLE) { if (val.argindex == 0) @@ -422,7 +424,7 @@ void FixAveCorrelate::end_of_step() double *varvec; int nvec = input->variable->compute_vector(val.val.v,&varvec); int index = val.argindex; - if (nvec < index) scalar = 0.0; + if (index > nvec) scalar = 0.0; else scalar = varvec[index-1]; } } diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp index a92efcdacd..9b384e60fa 100644 --- a/src/fix_ave_histo.cpp +++ b/src/fix_ave_histo.cpp @@ -207,7 +207,8 @@ FixAveHisto::FixAveHisto(LAMMPS *lmp, int narg, char **arg) : if (val.val.v < 0) error->all(FLERR,"Variable name {} for {} does not exist", val.id, mycmd); // variables only produce one kind of output - if (input->variable->equalstyle(val.val.v)) kindglobal = 1; + if (input->variable->equalstyle(val.val.v) || input->variable->vectorstyle(val.val.v)) + kindglobal = 1; else if (input->variable->atomstyle(val.val.v)) kindperatom = 1; else error->all(FLERR,"{} variable {} is incompatible style", mycmd, val.id); } @@ -600,6 +601,8 @@ void FixAveHisto::end_of_step() } // evaluate equal-style or vector-style or atom-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori } else if (val.which == ArgInfo::VARIABLE) { if (kind == GLOBAL && mode == SCALAR) { @@ -607,7 +610,7 @@ void FixAveHisto::end_of_step() else { double *varvec; int nvec = input->variable->compute_vector(val.val.v,&varvec); - if (nvec < j) bin_one(0.0); + if (j > nvec) bin_one(0.0); else bin_one(varvec[j-1]); } @@ -839,10 +842,12 @@ void FixAveHisto::options(int iarg, int narg, char **arg) auto mycmd = fmt::format("fix {}", style); while (iarg < narg) { - if (strcmp(arg[iarg],"file") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, mycmd + " file", error); + if ((strcmp(arg[iarg],"file") == 0) || (strcmp(arg[iarg],"append") == 0)) { + if (iarg+2 > narg) + utils::missing_cmd_args(FLERR, std::string("fix ave/histo ")+arg[iarg], error); if (comm->me == 0) { - fp = fopen(arg[iarg+1],"w"); + if (strcmp(arg[iarg],"file") == 0) fp = fopen(arg[iarg+1],"w"); + else fp = fopen(arg[iarg+1],"a"); if (fp == nullptr) error->one(FLERR, "Cannot open fix ave/histo file {}: {}", arg[iarg+1], utils::getsyserror()); diff --git a/src/fix_ave_histo_weight.cpp b/src/fix_ave_histo_weight.cpp index 7a5458bd3d..cccfc86d59 100644 --- a/src/fix_ave_histo_weight.cpp +++ b/src/fix_ave_histo_weight.cpp @@ -113,256 +113,256 @@ void FixAveHistoWeight::end_of_step() double weight = 0.0; double *weights = nullptr; int stride = 0; - auto &val = values[1]; - int j = val.argindex; + auto &val1 = values[1]; + int j = val1.argindex; // atom attributes - if (val.which == ArgInfo::X) { + if (val1.which == ArgInfo::X) { weights = &atom->x[0][j]; stride = 3; - } else if (val.which == ArgInfo::V) { + } else if (val1.which == ArgInfo::V) { weights = &atom->v[0][j]; stride = 3; bin_atoms(&atom->v[0][j],3); - } else if (val.which == ArgInfo::F) { + } else if (val1.which == ArgInfo::F) { weights = &atom->f[0][j]; stride = 3; } // invoke compute if not previously invoked - if (val.which == ArgInfo::COMPUTE) { + if (val1.which == ArgInfo::COMPUTE) { if (kind == GLOBAL && mode == SCALAR) { if (j == 0) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { - val.val.c->compute_scalar(); - val.val.c->invoked_flag |= Compute::INVOKED_SCALAR; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { + val1.val.c->compute_scalar(); + val1.val.c->invoked_flag |= Compute::INVOKED_SCALAR; } - weight = val.val.c->scalar; + weight = val1.val.c->scalar; } else { - if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { - val.val.c->compute_vector(); - val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { + val1.val.c->compute_vector(); + val1.val.c->invoked_flag |= Compute::INVOKED_VECTOR; } - weight = val.val.c->vector[j-1]; + weight = val1.val.c->vector[j-1]; } } else if (kind == GLOBAL && mode == VECTOR) { if (j == 0) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { - val.val.c->compute_vector(); - val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { + val1.val.c->compute_vector(); + val1.val.c->invoked_flag |= Compute::INVOKED_VECTOR; } - weights = val.val.c->vector; + weights = val1.val.c->vector; stride = 1; } else { - if (!(val.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { - val.val.c->compute_array(); - val.val.c->invoked_flag |= Compute::INVOKED_ARRAY; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { + val1.val.c->compute_array(); + val1.val.c->invoked_flag |= Compute::INVOKED_ARRAY; } - if (val.val.c->array) weights = &val.val.c->array[0][j-1]; - stride = val.val.c->size_array_cols; + if (val1.val.c->array) weights = &val1.val.c->array[0][j-1]; + stride = val1.val.c->size_array_cols; } } else if (kind == PERATOM) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { - val.val.c->compute_peratom(); - val.val.c->invoked_flag |= Compute::INVOKED_PERATOM; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { + val1.val.c->compute_peratom(); + val1.val.c->invoked_flag |= Compute::INVOKED_PERATOM; } if (j == 0) { - weights = val.val.c->vector_atom; + weights = val1.val.c->vector_atom; stride = 1; - } else if (val.val.c->array_atom) { - weights = &val.val.c->array_atom[0][j-1]; - stride = val.val.c->size_peratom_cols; + } else if (val1.val.c->array_atom) { + weights = &val1.val.c->array_atom[0][j-1]; + stride = val1.val.c->size_peratom_cols; } } else if (kind == LOCAL) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { - val.val.c->compute_local(); - val.val.c->invoked_flag |= Compute::INVOKED_LOCAL; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { + val1.val.c->compute_local(); + val1.val.c->invoked_flag |= Compute::INVOKED_LOCAL; } if (j == 0) { - weights = val.val.c->vector_local; + weights = val1.val.c->vector_local; stride = 1; - } else if (val.val.c->array_local) { - weights = &val.val.c->array_local[0][j-1]; - stride = val.val.c->size_local_cols; + } else if (val1.val.c->array_local) { + weights = &val1.val.c->array_local[0][j-1]; + stride = val1.val.c->size_local_cols; } } // access fix fields, guaranteed to be ready - } else if (val.which == ArgInfo::FIX) { + } else if (val1.which == ArgInfo::FIX) { if (kind == GLOBAL && mode == SCALAR) { - if (j == 0) weight = val.val.f->compute_scalar(); - else weight = val.val.f->compute_vector(j-1); + if (j == 0) weight = val1.val.f->compute_scalar(); + else weight = val1.val.f->compute_vector(j-1); } else if (kind == GLOBAL && mode == VECTOR) { error->all(FLERR,"Fix ave/histo/weight option not yet supported"); // NOTE: need to allocate local storage if (j == 0) { - int n = val.val.f->size_vector; - for (int i = 0; i < n; i++) weights[n] = val.val.f->compute_vector(i); + int n = val1.val.f->size_vector; + for (int i = 0; i < n; i++) weights[n] = val1.val.f->compute_vector(i); } else { - int n = val.val.f->size_vector; - for (int i = 0; i < n; i++) weights[n] = val.val.f->compute_array(i,j-1); + int n = val1.val.f->size_vector; + for (int i = 0; i < n; i++) weights[n] = val1.val.f->compute_array(i,j-1); } } else if (kind == PERATOM) { if (j == 0) { - weights = val.val.f->vector_atom; + weights = val1.val.f->vector_atom; stride = 1; - } else if (val.val.f->array_atom) { - weights = &val.val.f->array_atom[0][j-1]; - stride = val.val.f->size_peratom_cols; + } else if (val1.val.f->array_atom) { + weights = &val1.val.f->array_atom[0][j-1]; + stride = val1.val.f->size_peratom_cols; } } else if (kind == LOCAL) { if (j == 0) { - weights = val.val.f->vector_local; + weights = val1.val.f->vector_local; stride = 1; - } else if (val.val.f->array_local) { - weights = &val.val.f->array_local[0][j-1]; - stride = val.val.f->size_local_cols; + } else if (val1.val.f->array_local) { + weights = &val1.val.f->array_local[0][j-1]; + stride = val1.val.f->size_local_cols; } } // evaluate equal-style variable - } else if (val.which == ArgInfo::VARIABLE && kind == GLOBAL) { - weight = input->variable->compute_equal(val.val.v); + } else if (val1.which == ArgInfo::VARIABLE && kind == GLOBAL) { + weight = input->variable->compute_equal(val1.val.v); - } else if (val.which == ArgInfo::VARIABLE && kind == PERATOM) { + } else if (val1.which == ArgInfo::VARIABLE && kind == PERATOM) { if (atom->nmax > maxatom) { memory->destroy(vector); maxatom = atom->nmax; memory->create(vector,maxatom,"ave/histo/weight:vector"); } - input->variable->compute_atom(val.val.v,igroup,vector,1,0); + input->variable->compute_atom(val1.val.v,igroup,vector,1,0); weights = vector; stride = 1; } // bin values using weights, values are 1st value (i = 0) - val = values[0]; - j = val.argindex; + auto &val0 = values[0]; + j = val0.argindex; // atom attributes - if (val.which == ArgInfo::X && weights != nullptr) + if (val0.which == ArgInfo::X && weights != nullptr) bin_atoms_weights(&atom->x[0][j],3,weights,stride); - else if (val.which == ArgInfo::V && weights != nullptr) + else if (val0.which == ArgInfo::V && weights != nullptr) bin_atoms_weights(&atom->v[0][j],3,weights,stride); - else if (val.which == ArgInfo::F && weights != nullptr) + else if (val0.which == ArgInfo::F && weights != nullptr) bin_atoms_weights(&atom->f[0][j],3,weights,stride); // invoke compute if not previously invoked - if (val.which == ArgInfo::COMPUTE) { + if (val0.which == ArgInfo::COMPUTE) { if (kind == GLOBAL && mode == SCALAR) { if (j == 0) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { - val.val.c->compute_scalar(); - val.val.c->invoked_flag |= Compute::INVOKED_SCALAR; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { + val0.val.c->compute_scalar(); + val0.val.c->invoked_flag |= Compute::INVOKED_SCALAR; } - bin_one_weights(val.val.c->scalar,weight); + bin_one_weights(val0.val.c->scalar,weight); } else { - if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { - val.val.c->compute_vector(); - val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { + val0.val.c->compute_vector(); + val0.val.c->invoked_flag |= Compute::INVOKED_VECTOR; } - bin_one_weights(val.val.c->vector[j-1],weight); + bin_one_weights(val0.val.c->vector[j-1],weight); } } else if (kind == GLOBAL && mode == VECTOR) { if (j == 0) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { - val.val.c->compute_vector(); - val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { + val0.val.c->compute_vector(); + val0.val.c->invoked_flag |= Compute::INVOKED_VECTOR; } - bin_vector_weights(val.val.c->size_vector,val.val.c->vector,1, + bin_vector_weights(val0.val.c->size_vector,val0.val.c->vector,1, weights,stride); } else { - if (!(val.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { - val.val.c->compute_array(); - val.val.c->invoked_flag |= Compute::INVOKED_ARRAY; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { + val0.val.c->compute_array(); + val0.val.c->invoked_flag |= Compute::INVOKED_ARRAY; } - if (val.val.c->array) - bin_vector_weights(val.val.c->size_array_rows,&val.val.c->array[0][j-1], - val.val.c->size_array_cols,weights,stride); + if (val0.val.c->array) + bin_vector_weights(val0.val.c->size_array_rows,&val0.val.c->array[0][j-1], + val0.val.c->size_array_cols,weights,stride); } } else if (kind == PERATOM) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { - val.val.c->compute_peratom(); - val.val.c->invoked_flag |= Compute::INVOKED_PERATOM; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { + val0.val.c->compute_peratom(); + val0.val.c->invoked_flag |= Compute::INVOKED_PERATOM; } if (j == 0) - bin_atoms_weights(val.val.c->vector_atom,1,weights, stride); - else if (val.val.c->array_atom) - bin_atoms_weights(&val.val.c->array_atom[0][j-1], - val.val.c->size_peratom_cols,weights,stride); + bin_atoms_weights(val0.val.c->vector_atom,1,weights, stride); + else if (val0.val.c->array_atom) + bin_atoms_weights(&val0.val.c->array_atom[0][j-1], + val0.val.c->size_peratom_cols,weights,stride); } else if (kind == LOCAL) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { - val.val.c->compute_local(); - val.val.c->invoked_flag |= Compute::INVOKED_LOCAL; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { + val0.val.c->compute_local(); + val0.val.c->invoked_flag |= Compute::INVOKED_LOCAL; } if (j == 0) - bin_vector_weights(val.val.c->size_local_rows, - val.val.c->vector_local,1,weights,stride); - else if (val.val.c->array_local) - bin_vector_weights(val.val.c->size_local_rows, - &val.val.c->array_local[0][j-1], - val.val.c->size_local_cols,weights,stride); + bin_vector_weights(val0.val.c->size_local_rows, + val0.val.c->vector_local,1,weights,stride); + else if (val0.val.c->array_local) + bin_vector_weights(val0.val.c->size_local_rows, + &val0.val.c->array_local[0][j-1], + val0.val.c->size_local_cols,weights,stride); } // access fix fields, guaranteed to be ready - } else if (val.which == ArgInfo::FIX) { + } else if (val0.which == ArgInfo::FIX) { if (kind == GLOBAL && mode == SCALAR) { - if (j == 0) bin_one_weights(val.val.f->compute_scalar(),weight); - else bin_one_weights(val.val.f->compute_vector(j-1),weight); + if (j == 0) bin_one_weights(val0.val.f->compute_scalar(),weight); + else bin_one_weights(val0.val.f->compute_vector(j-1),weight); } else if (kind == GLOBAL && mode == VECTOR) { if (j == 0) { - int n = val.val.f->size_vector; + int n = val0.val.f->size_vector; for (int i = 0; i < n; i++) - bin_one_weights(val.val.f->compute_vector(i),weights[i*stride]); + bin_one_weights(val0.val.f->compute_vector(i),weights[i*stride]); } else { - int n = val.val.f->size_vector; + int n = val0.val.f->size_vector; for (int i = 0; i < n; i++) - bin_one_weights(val.val.f->compute_array(i,j-1),weights[i*stride]); + bin_one_weights(val0.val.f->compute_array(i,j-1),weights[i*stride]); } } else if (kind == PERATOM) { if (j == 0) - bin_atoms_weights(val.val.f->vector_atom,1,weights,stride); - else if (val.val.f->array_atom) - bin_atoms_weights(&val.val.f->array_atom[0][j-1],val.val.f->size_peratom_cols, + bin_atoms_weights(val0.val.f->vector_atom,1,weights,stride); + else if (val0.val.f->array_atom) + bin_atoms_weights(&val0.val.f->array_atom[0][j-1],val0.val.f->size_peratom_cols, weights,stride); } else if (kind == LOCAL) { - if (j == 0) bin_vector_weights(val.val.f->size_local_rows,val.val.f->vector_local,1, + if (j == 0) bin_vector_weights(val0.val.f->size_local_rows,val0.val.f->vector_local,1, weights,stride); - else if (val.val.f->array_local) - bin_vector_weights(val.val.f->size_local_rows,&val.val.f->array_local[0][j-1], - val.val.f->size_local_cols,weights,stride); + else if (val0.val.f->array_local) + bin_vector_weights(val0.val.f->size_local_rows,&val0.val.f->array_local[0][j-1], + val0.val.f->size_local_cols,weights,stride); } // evaluate equal-style variable - } else if (val.which == ArgInfo::VARIABLE && kind == GLOBAL) { - bin_one_weights(input->variable->compute_equal(val.val.v),weight); + } else if (val0.which == ArgInfo::VARIABLE && kind == GLOBAL) { + bin_one_weights(input->variable->compute_equal(val0.val.v),weight); - } else if (val.which == ArgInfo::VARIABLE && kind == PERATOM) { + } else if (val0.which == ArgInfo::VARIABLE && kind == PERATOM) { if (atom->nmax > maxatom) { memory->destroy(vector); maxatom = atom->nmax; memory->create(vector,maxatom,"ave/histo/weight:vector"); } - input->variable->compute_atom(val.val.v,igroup,vector,1,0); + input->variable->compute_atom(val0.val.v,igroup,vector,1,0); bin_atoms_weights(vector,1,weights,stride); } diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index f6ba0ad0e6..417e0fd97a 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -178,7 +178,7 @@ FixAveTime::FixAveTime(LAMMPS *lmp, int narg, char **arg) : if (val.argindex && (val.val.f->array_flag == 0)) error->all(FLERR,"Fix ave/time fix {} does not calculate an array", val.id); if (val.argindex && (val.val.f->size_array_rows_variable)) - error->all(FLERR,"Fix ave/time fix {} array cannot be variable length", val.id); + error->all(FLERR,"Fix ave/time fix {} array cannot have variable row length", val.id); if (val.argindex && (val.argindex > val.val.f->size_array_cols)) error->all(FLERR,"Fix ave/time fix {} array is accessed out-of-range", val.id); if (nevery % val.val.f->global_freq) @@ -562,7 +562,8 @@ void FixAveTime::invoke_scalar(bigint ntimestep) scalar = val.val.f->compute_vector(val.argindex-1); // evaluate equal-style or vector-style variable - // ensure no out-of-range access to vector-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori } else if (val.which == ArgInfo::VARIABLE) { if (val.argindex == 0) @@ -570,7 +571,7 @@ void FixAveTime::invoke_scalar(bigint ntimestep) else { double *varvec; int nvec = input->variable->compute_vector(val.val.v,&varvec); - if (nvec < val.argindex) scalar = 0.0; + if (val.argindex > nvec) scalar = 0.0; else scalar = varvec[val.argindex-1]; } } @@ -1033,41 +1034,44 @@ void FixAveTime::options(int iarg, int narg, char **arg) // optional args while (iarg < narg) { - if (strcmp(arg[iarg],"file") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if ((strcmp(arg[iarg],"file") == 0) || (strcmp(arg[iarg],"append") == 0)) { + if (iarg+2 > narg) + utils::missing_cmd_args(FLERR, std::string("fix ave/time ")+arg[iarg], error); yaml_flag = utils::strmatch(arg[iarg+1],"\\.[yY][aA]?[mM][lL]$"); if (comm->me == 0) { - fp = fopen(arg[iarg+1],"w"); + if (strcmp(arg[iarg],"file") == 0) fp = fopen(arg[iarg+1],"w"); + else fp = fopen(arg[iarg+1],"a"); if (fp == nullptr) error->one(FLERR,"Cannot open fix ave/time file {}: {}", arg[iarg+1], utils::getsyserror()); } iarg += 2; } else if (strcmp(arg[iarg],"ave") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time ave", error); if (strcmp(arg[iarg+1],"one") == 0) ave = ONE; else if (strcmp(arg[iarg+1],"running") == 0) ave = RUNNING; else if (strcmp(arg[iarg+1],"window") == 0) ave = WINDOW; - else error->all(FLERR,"Illegal fix ave/time command"); + else error->all(FLERR,"Unknown fix ave/time ave keyword {}", arg[iarg+1]); if (ave == WINDOW) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix ave/time ave window", error); nwindow = utils::inumeric(FLERR,arg[iarg+2],false,lmp); - if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/time command"); + if (nwindow <= 0) + error->all(FLERR,"Illegal fix ave/time ave window argument {}; must be > 0", nwindow); } iarg += 2; if (ave == WINDOW) iarg++; } else if (strcmp(arg[iarg],"start") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time start", error); startstep = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"mode") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time mode", error); if (strcmp(arg[iarg+1],"scalar") == 0) mode = SCALAR; else if (strcmp(arg[iarg+1],"vector") == 0) mode = VECTOR; - else error->all(FLERR,"Illegal fix ave/time command"); + else error->all(FLERR,"Unknown fix ave/time mode {}", arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"off") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time off", error); memory->grow(offlist,noff+1,"ave/time:offlist"); offlist[noff++] = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; @@ -1075,27 +1079,27 @@ void FixAveTime::options(int iarg, int narg, char **arg) overwrite = 1; iarg += 1; } else if (strcmp(arg[iarg],"format") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time format", error); delete[] format_user; format_user = utils::strdup(arg[iarg+1]); format = format_user; iarg += 2; } else if (strcmp(arg[iarg],"title1") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time title1", error); delete[] title1; title1 = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"title2") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time title2", error); delete[] title2; title2 = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"title3") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time title3", error); delete[] title3; title3 = utils::strdup(arg[iarg+1]); iarg += 2; - } else error->all(FLERR,"Unknown fix ave/time command option {}", arg[iarg]); + } else error->all(FLERR,"Unknown fix ave/time keyword {}", arg[iarg]); } } diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index 23a56c0a9d..2a32e96106 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -61,20 +61,36 @@ FixBalance::FixBalance(LAMMPS *lmp, int narg, char **arg) : if (nevery < 0) error->all(FLERR,"Illegal fix balance command"); thresh = utils::numeric(FLERR,arg[4],false,lmp); - if (strcmp(arg[5],"shift") == 0) lbstyle = SHIFT; - else if (strcmp(arg[5],"rcb") == 0) lbstyle = BISECTION; - else error->all(FLERR,"Illegal fix balance command"); + reportonly = 0; + if (strcmp(arg[5],"shift") == 0) { + lbstyle = SHIFT; + } else if (strcmp(arg[5],"rcb") == 0) { + lbstyle = BISECTION; + } else if (strcmp(arg[5],"report") == 0) { + lbstyle = SHIFT; + reportonly = 1; + } else error->all(FLERR,"Unknown fix balance style {}", arg[5]); int iarg = 5; if (lbstyle == SHIFT) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix balance shift", error); - bstr = arg[iarg+1]; - if (bstr.size() > Balance::BSTR_SIZE) error->all(FLERR,"Illegal fix balance shift command"); - nitermax = utils::inumeric(FLERR,arg[iarg+2],false,lmp); - if (nitermax <= 0) error->all(FLERR,"Illegal fix balance command"); - stopthresh = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (stopthresh < 1.0) error->all(FLERR,"Illegal fix balance command"); - iarg += 4; + if (reportonly) { + if (dimension == 2) + bstr = "xy"; + else + bstr = "xyz"; + nitermax = 5; + stopthresh = 1.1; + iarg++; + } else { + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix balance shift", error); + bstr = arg[iarg+1]; + if (bstr.size() > Balance::BSTR_SIZE) error->all(FLERR,"Illegal fix balance shift command"); + nitermax = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + if (nitermax <= 0) error->all(FLERR,"Illegal fix balance command"); + stopthresh = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (stopthresh < 1.0) error->all(FLERR,"Illegal fix balance command"); + iarg += 4; + } } else if (lbstyle == BISECTION) { iarg++; @@ -175,7 +191,7 @@ void FixBalance::setup(int /*vflag*/) void FixBalance::setup_pre_exchange() { // do not allow rebalancing twice on same timestep - // even if wanted to, can mess up elapsed time in ImbalanceTime + // even if you wanted to, it can mess up elapsed time in ImbalanceTime if (update->ntimestep == lastbalance) return; lastbalance = update->ntimestep; @@ -195,6 +211,7 @@ void FixBalance::setup_pre_exchange() balance->set_weights(); imbnow = balance->imbalance_factor(maxloadperproc); + if (imbnow > thresh) rebalance(); // next timestep to rebalance @@ -263,6 +280,13 @@ void FixBalance::pre_neighbor() void FixBalance::rebalance() { + // return immediately if only reporting of the imbalance is requested + + if (reportonly) { + imbprev = imbfinal = imbnow; + return; + } + imbprev = imbnow; // invoke balancer and reset comm->uniform flag diff --git a/src/fix_balance.h b/src/fix_balance.h index 964357a634..a319710ac6 100644 --- a/src/fix_balance.h +++ b/src/fix_balance.h @@ -45,6 +45,7 @@ class FixBalance : public Fix { std::string bstr; int wtflag; // 1 for weighted balancing int sortflag; // 1 for sorting comm messages + int reportonly; // 1 if skipping rebalancing and only computing imbalance double imbnow; // current imbalance factor double imbprev; // imbalance factor before last rebalancing diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 02aaae5940..135d7176e6 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -34,171 +34,204 @@ #include #include +#include +#include using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; -enum{NONE=0,FINAL,DELTA,SCALE,VEL,ERATE,TRATE,VOLUME,WIGGLE,VARIABLE}; -enum{ONE_FROM_ONE,ONE_FROM_TWO,TWO_FROM_ONE}; - /* ---------------------------------------------------------------------- */ FixDeform::FixDeform(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), irregular(nullptr), set(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal fix deform command"); + const std::string thiscmd = fmt::format("fix {}", style); + if (narg < 4) utils::missing_cmd_args(FLERR, thiscmd, error); no_change_box = 1; restart_global = 1; pre_exchange_migrate = 1; - nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery <= 0) error->all(FLERR,"Illegal fix deform command"); + nevery = utils::inumeric(FLERR, arg[3], false, lmp); + if (nevery <= 0) error->all(FLERR, "Fix {} Nevery must be > 0", style); + + // arguments for child classes + + std::unordered_set child_parameters; + std::unordered_map child_styles; + int nskip; + if (utils::strmatch(style, "^deform/pressure")) { + child_parameters.insert("box"); + child_styles.insert({{"pressure", 4}, {"pressure/mean", 4}, {"erate/rescale", 3}, {"volume", 2}}); + } // set defaults set = new Set[6]; - memset(set,0,6*sizeof(Set)); + memset(set, 0, 6 * sizeof(Set)); - // parse arguments + // parse all parameter/style arguments for this parent and also child classes + // for child classes, simply store them in leftover_iarg and skip over them triclinic = domain->triclinic; int index; int iarg = 4; + while (iarg < narg) { - if (strcmp(arg[iarg],"x") == 0 || - strcmp(arg[iarg],"y") == 0 || - strcmp(arg[iarg],"z") == 0) { + if ((strcmp(arg[iarg], "x") == 0) + || (strcmp(arg[iarg], "y") == 0) + || (strcmp(arg[iarg], "z") == 0)) { - if (strcmp(arg[iarg],"x") == 0) index = 0; - else if (strcmp(arg[iarg],"y") == 0) index = 1; - else if (strcmp(arg[iarg],"z") == 0) index = 2; + if (strcmp(arg[iarg], "x") == 0) index = 0; + else if (strcmp(arg[iarg], "y") == 0) index = 1; + else if (strcmp(arg[iarg], "z") == 0) index = 2; - if (iarg+2 > narg) error->all(FLERR,"Illegal fix deform command"); - if (strcmp(arg[iarg+1],"final") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, thiscmd, error); + if (strcmp(arg[iarg + 1], "final") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, thiscmd + " final", error); set[index].style = FINAL; - set[index].flo = utils::numeric(FLERR,arg[iarg+2],false,lmp); - set[index].fhi = utils::numeric(FLERR,arg[iarg+3],false,lmp); + set[index].flo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].fhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); iarg += 4; - } else if (strcmp(arg[iarg+1],"delta") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "delta") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, thiscmd + " delta", error); set[index].style = DELTA; - set[index].dlo = utils::numeric(FLERR,arg[iarg+2],false,lmp); - set[index].dhi = utils::numeric(FLERR,arg[iarg+3],false,lmp); + set[index].dlo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].dhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); iarg += 4; - } else if (strcmp(arg[iarg+1],"scale") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "scale") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " scale", error); set[index].style = SCALE; - set[index].scale = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].scale = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; - } else if (strcmp(arg[iarg+1],"vel") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "vel") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " vel", error); set[index].style = VEL; - set[index].vel = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; - } else if (strcmp(arg[iarg+1],"erate") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "erate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " erate", error); set[index].style = ERATE; - set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; - } else if (strcmp(arg[iarg+1],"trate") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "trate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " trate", error); set[index].style = TRATE; - set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; - } else if (strcmp(arg[iarg+1],"volume") == 0) { + } else if (strcmp(arg[iarg + 1], "volume") == 0) { set[index].style = VOLUME; iarg += 2; - } else if (strcmp(arg[iarg+1],"wiggle") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, thiscmd + " wiggle", error); set[index].style = WIGGLE; - set[index].amplitude = utils::numeric(FLERR,arg[iarg+2],false,lmp); - set[index].tperiod = utils::numeric(FLERR,arg[iarg+3],false,lmp); + set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); if (set[index].tperiod <= 0.0) - error->all(FLERR,"Illegal fix deform command"); + error->all(FLERR, "Illegal fix {} wiggle period, must be positive", style); iarg += 4; - } else if (strcmp(arg[iarg+1],"variable") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "variable") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, thiscmd + " variable", error); set[index].style = VARIABLE; - if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) - error->all(FLERR,"Illegal fix deform command"); - if (strstr(arg[iarg+3],"v_") != arg[iarg+3]) - error->all(FLERR,"Illegal fix deform command"); + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) + error->all(FLERR, "Illegal fix {} variable name {}", style, arg[iarg + 2]); + if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) + error->all(FLERR, "Illegal fix {} variable name {}", style, arg[iarg + 3]); delete[] set[index].hstr; delete[] set[index].hratestr; - set[index].hstr = utils::strdup(&arg[iarg+2][2]); - set[index].hratestr = utils::strdup(&arg[iarg+3][2]); + set[index].hstr = utils::strdup(&arg[iarg + 2][2]); + set[index].hratestr = utils::strdup(&arg[iarg + 3][2]); iarg += 4; - } else error->all(FLERR,"Illegal fix deform command"); + } else if (child_styles.find(arg[iarg + 1]) != child_styles.end()) { + nskip = child_styles[arg[iarg + 1]]; + if (iarg + nskip > narg) + utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); + for (int i = 0; i < nskip; i++) leftover_iarg.push_back(iarg + i); + iarg += nskip; + } else error->all(FLERR, "Illegal fix {} command argument: {}", style, arg[iarg + 1]); - } else if (strcmp(arg[iarg],"xy") == 0 || - strcmp(arg[iarg],"xz") == 0 || - strcmp(arg[iarg],"yz") == 0) { + } else if ((strcmp(arg[iarg], "xy") == 0) + || (strcmp(arg[iarg], "xz") == 0) + || (strcmp(arg[iarg], "yz") == 0)) { - if (triclinic == 0) - error->all(FLERR,"Fix deform tilt factors require triclinic box"); - if (strcmp(arg[iarg],"xy") == 0) index = 5; - else if (strcmp(arg[iarg],"xz") == 0) index = 4; - else if (strcmp(arg[iarg],"yz") == 0) index = 3; + if (triclinic == 0) error->all(FLERR,"Fix {} tilt factors require triclinic box", style); + if (strcmp(arg[iarg], "xy") == 0) index = 5; + else if (strcmp(arg[iarg], "xz") == 0) index = 4; + else if (strcmp(arg[iarg], "yz") == 0) index = 3; - if (iarg+2 > narg) error->all(FLERR,"Illegal fix deform command"); - if (strcmp(arg[iarg+1],"final") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, thiscmd, error); + if (strcmp(arg[iarg + 1], "final") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " final", error); set[index].style = FINAL; - set[index].ftilt = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].ftilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; - } else if (strcmp(arg[iarg+1],"delta") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "delta") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " delta", error); set[index].style = DELTA; - set[index].dtilt = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].dtilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; - } else if (strcmp(arg[iarg+1],"vel") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "vel") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " vel", error); set[index].style = VEL; - set[index].vel = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; - } else if (strcmp(arg[iarg+1],"erate") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "erate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " erate", error); set[index].style = ERATE; - set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; - } else if (strcmp(arg[iarg+1],"trate") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "trate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " trate", error); set[index].style = TRATE; - set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; - } else if (strcmp(arg[iarg+1],"wiggle") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, thiscmd + " wiggle", error); set[index].style = WIGGLE; - set[index].amplitude = utils::numeric(FLERR,arg[iarg+2],false,lmp); - set[index].tperiod = utils::numeric(FLERR,arg[iarg+3],false,lmp); + set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); if (set[index].tperiod <= 0.0) - error->all(FLERR,"Illegal fix deform command"); + error->all(FLERR, "Illegal fix {} wiggle period, must be positive", style); iarg += 4; - } else if (strcmp(arg[iarg+1],"variable") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg + 1], "variable") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, thiscmd + " variable", error); set[index].style = VARIABLE; - if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) - error->all(FLERR,"Illegal fix deform command"); - if (strstr(arg[iarg+3],"v_") != arg[iarg+3]) - error->all(FLERR,"Illegal fix deform command"); + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) + error->all(FLERR, "Illegal fix {} variable name {}", style, arg[iarg + 2]); + if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) + error->all(FLERR, "Illegal fix {} variable name {}", style, arg[iarg + 3]); delete[] set[index].hstr; delete[] set[index].hratestr; - set[index].hstr = utils::strdup(&arg[iarg+2][2]); - set[index].hratestr = utils::strdup(&arg[iarg+3][2]); + set[index].hstr = utils::strdup(&arg[iarg + 2][2]); + set[index].hratestr = utils::strdup(&arg[iarg + 3][2]); iarg += 4; - } else error->all(FLERR,"Illegal fix deform command"); - + } else if (child_styles.find(arg[iarg + 1]) != child_styles.end()) { + nskip = child_styles[arg[iarg + 1]]; + if (iarg + nskip > narg) + utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); + for (int i = 0; i < nskip; i++) leftover_iarg.push_back(iarg + i); + iarg += nskip; + } else error->all(FLERR, "Illegal fix {} command argument: {}", style, arg[iarg + 1]); + } else if (child_parameters.find(arg[iarg]) != child_parameters.end()) { + if (child_styles.find(arg[iarg + 1]) != child_styles.end()) { + nskip = child_styles[arg[iarg + 1]]; + if (iarg + nskip > narg) + utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); + for (int i = 0; i < nskip; i++) leftover_iarg.push_back(iarg + i); + iarg += nskip; + } else error->all(FLERR, "Illegal fix {} command argument: {}", style, arg[iarg + 1]); } else break; } // read options from end of input line + + iarg_options_start = iarg; + options(narg - iarg, &arg[iarg]); + // no x remap effectively moves atoms within box, so set restart_pbc - options(narg-iarg,&arg[iarg]); if (remapflag != Domain::X_REMAP) restart_pbc = 1; // setup dimflags used by other classes to check for volume-change conflicts @@ -217,28 +250,19 @@ irregular(nullptr), set(nullptr) // no tensile deformation on shrink-wrapped dims // b/c shrink wrap will change box-length - if (set[0].style && - (domain->boundary[0][0] >= 2 || domain->boundary[0][1] >= 2)) - error->all(FLERR,"Cannot use fix deform on a shrink-wrapped boundary"); - if (set[1].style && - (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2)) - error->all(FLERR,"Cannot use fix deform on a shrink-wrapped boundary"); - if (set[2].style && - (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) - error->all(FLERR,"Cannot use fix deform on a shrink-wrapped boundary"); + for (int i = 0; i < 3; i++) + if (set[i].style && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) + error->all(FLERR, "Cannot use fix {} on a shrink-wrapped boundary", style); // no tilt deformation on shrink-wrapped 2nd dim // b/c shrink wrap will change tilt factor in domain::reset_box() - if (set[3].style && - (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) - error->all(FLERR,"Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); - if (set[4].style && - (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) - error->all(FLERR,"Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); - if (set[5].style && - (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2)) - error->all(FLERR,"Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + if (set[3].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) + error->all(FLERR, "Cannot use fix {} tilt on a shrink-wrapped 2nd dim", style); + if (set[4].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) + error->all(FLERR, "Cannot use fix {} tilt on a shrink-wrapped 2nd dim", style); + if (set[5].style && (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2)) + error->all(FLERR, "Cannot use fix {} tilt on a shrink-wrapped 2nd dim", style); // apply scaling to FINAL,DELTA,VEL,WIGGLE since they have dist/vel units @@ -247,7 +271,7 @@ irregular(nullptr), set(nullptr) if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == VEL || set[i].style == WIGGLE) flag = 1; - double xscale,yscale,zscale; + double xscale, yscale, zscale; if (flag && scaleflag) { xscale = domain->lattice->xlattice; yscale = domain->lattice->ylattice; @@ -284,40 +308,40 @@ irregular(nullptr), set(nullptr) // for VOLUME, setup links to other dims // fixed, dynamic1, dynamic2 + // only check for parent, otherwise child will check - for (int i = 0; i < 3; i++) { - if (set[i].style != VOLUME) continue; - int other1 = (i+1) % 3; - int other2 = (i+2) % 3; + if (strcmp(style, "deform") == 0) { + for (int i = 0; i < 3; i++) { + if (set[i].style != VOLUME) continue; + int other1 = (i + 1) % 3; + int other2 = (i + 2) % 3; - if (set[other1].style == NONE) { - if (set[other2].style == NONE || set[other2].style == VOLUME) - error->all(FLERR,"Fix deform volume setting is invalid"); - set[i].substyle = ONE_FROM_ONE; - set[i].fixed = other1; - set[i].dynamic1 = other2; - } else if (set[other2].style == NONE) { + // Cannot use VOLUME option without at least one deformed dimension if (set[other1].style == NONE || set[other1].style == VOLUME) - error->all(FLERR,"Fix deform volume setting is invalid"); - set[i].substyle = ONE_FROM_ONE; - set[i].fixed = other2; - set[i].dynamic1 = other1; - } else if (set[other1].style == VOLUME) { - if (set[other2].style == NONE || set[other2].style == VOLUME) - error->all(FLERR,"Fix deform volume setting is invalid"); - set[i].substyle = TWO_FROM_ONE; - set[i].fixed = other1; - set[i].dynamic1 = other2; - } else if (set[other2].style == VOLUME) { - if (set[other1].style == NONE || set[other1].style == VOLUME) - error->all(FLERR,"Fix deform volume setting is invalid"); - set[i].substyle = TWO_FROM_ONE; - set[i].fixed = other2; - set[i].dynamic1 = other1; - } else { - set[i].substyle = ONE_FROM_TWO; - set[i].dynamic1 = other1; - set[i].dynamic2 = other2; + if (set[other2].style == NONE || set[other2].style == VOLUME) + error->all(FLERR, "Fix {} volume setting is invalid", style); + + if (set[other1].style == NONE) { + set[i].substyle = ONE_FROM_ONE; + set[i].fixed = other1; + set[i].dynamic1 = other2; + } else if (set[other2].style == NONE) { + set[i].substyle = ONE_FROM_ONE; + set[i].fixed = other2; + set[i].dynamic1 = other1; + } else if (set[other1].style == VOLUME) { + set[i].substyle = TWO_FROM_ONE; + set[i].fixed = other1; + set[i].dynamic1 = other2; + } else if (set[other2].style == VOLUME) { + set[i].substyle = TWO_FROM_ONE; + set[i].fixed = other2; + set[i].dynamic1 = other1; + } else { + set[i].substyle = ONE_FROM_TWO; + set[i].dynamic1 = other1; + set[i].dynamic2 = other2; + } } } @@ -348,8 +372,6 @@ irregular(nullptr), set(nullptr) if (force_reneighbor) irregular = new Irregular(lmp); else irregular = nullptr; - - TWOPI = 2.0*MY_PI; } /* ---------------------------------------------------------------------- */ @@ -394,7 +416,7 @@ void FixDeform::init() // domain, fix nvt/sllod, compute temp/deform only work on single h_rate if (modify->get_fix_by_style("deform").size() > 1) - error->all(FLERR,"More than one fix deform"); + error->all(FLERR, "More than one fix deform"); // Kspace setting @@ -411,14 +433,14 @@ void FixDeform::init() if (set[i].style != VARIABLE) continue; set[i].hvar = input->variable->find(set[i].hstr); if (set[i].hvar < 0) - error->all(FLERR,"Variable name for fix deform does not exist"); + error->all(FLERR, "Variable name {} for fix {} does not exist", set[i].hstr, style); if (!input->variable->equalstyle(set[i].hvar)) - error->all(FLERR,"Variable for fix deform is invalid style"); + error->all(FLERR, "Variable {} for fix {} is invalid style", set[i].hstr, style); set[i].hratevar = input->variable->find(set[i].hratestr); if (set[i].hratevar < 0) - error->all(FLERR,"Variable name for fix deform does not exist"); + error->all(FLERR, "Variable name {} for fix {} does not exist", set[i].hratestr, style); if (!input->variable->equalstyle(set[i].hratevar)) - error->all(FLERR,"Variable for fix deform is invalid style"); + error->all(FLERR, "Variable {} for fix {} is invalid style", set[i].hratestr, style); } // set start/stop values for box size and shape @@ -445,30 +467,26 @@ void FixDeform::init() set[i].lo_stop = set[i].lo_start + set[i].dlo; set[i].hi_stop = set[i].hi_start + set[i].dhi; } else if (set[i].style == SCALE) { - set[i].lo_stop = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*set[i].scale*(set[i].hi_start-set[i].lo_start); - set[i].hi_stop = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*set[i].scale*(set[i].hi_start-set[i].lo_start); + double shift = 0.5 * set[i].scale * (set[i].hi_start - set[i].lo_start); + set[i].lo_stop = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_stop = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; } else if (set[i].style == VEL) { - set[i].lo_stop = set[i].lo_start - 0.5*delt*set[i].vel; - set[i].hi_stop = set[i].hi_start + 0.5*delt*set[i].vel; + set[i].lo_stop = set[i].lo_start - 0.5 * delt * set[i].vel; + set[i].hi_stop = set[i].hi_start + 0.5 * delt * set[i].vel; } else if (set[i].style == ERATE) { - set[i].lo_stop = set[i].lo_start - - 0.5*delt*set[i].rate * (set[i].hi_start-set[i].lo_start); - set[i].hi_stop = set[i].hi_start + - 0.5*delt*set[i].rate * (set[i].hi_start-set[i].lo_start); + double shift = 0.5 * delt * set[i].rate * (set[i].hi_start - set[i].lo_start); + set[i].lo_stop = set[i].lo_start - shift; + set[i].hi_stop = set[i].hi_start + shift; if (set[i].hi_stop <= set[i].lo_stop) - error->all(FLERR,"Final box dimension due to fix deform is < 0.0"); + error->all(FLERR, "Final box dimension due to fix {} is < 0.0", style); } else if (set[i].style == TRATE) { - set[i].lo_stop = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*((set[i].hi_start-set[i].lo_start) * exp(set[i].rate*delt)); - set[i].hi_stop = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*((set[i].hi_start-set[i].lo_start) * exp(set[i].rate*delt)); + double shift = 0.5 * ((set[i].hi_start - set[i].lo_start) * exp(set[i].rate * delt)); + set[i].lo_stop = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_stop = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; } else if (set[i].style == WIGGLE) { - set[i].lo_stop = set[i].lo_start - - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - set[i].hi_stop = set[i].hi_start + - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); + double shift = 0.5 * set[i].amplitude * sin(MY_2PI * delt / set[i].tperiod); + set[i].lo_stop = set[i].lo_start - shift; + set[i].hi_stop = set[i].hi_start + shift; } } @@ -484,50 +502,46 @@ void FixDeform::init() } else if (set[i].style == DELTA) { set[i].tilt_stop = set[i].tilt_start + set[i].dtilt; } else if (set[i].style == VEL) { - set[i].tilt_stop = set[i].tilt_start + delt*set[i].vel; + set[i].tilt_stop = set[i].tilt_start + delt * set[i].vel; } else if (set[i].style == ERATE) { if (i == 3) set[i].tilt_stop = set[i].tilt_start + - delt*set[i].rate * (set[2].hi_start-set[2].lo_start); + delt * set[i].rate * (set[2].hi_start - set[2].lo_start); if (i == 4) set[i].tilt_stop = set[i].tilt_start + - delt*set[i].rate * (set[2].hi_start-set[2].lo_start); + delt * set[i].rate * (set[2].hi_start - set[2].lo_start); if (i == 5) set[i].tilt_stop = set[i].tilt_start + - delt*set[i].rate * (set[1].hi_start-set[1].lo_start); + delt * set[i].rate * (set[1].hi_start - set[1].lo_start); } else if (set[i].style == TRATE) { - set[i].tilt_stop = set[i].tilt_start * exp(set[i].rate*delt); + set[i].tilt_stop = set[i].tilt_start * exp(set[i].rate * delt); } else if (set[i].style == WIGGLE) { - set[i].tilt_stop = set[i].tilt_start + - set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); + double shift = set[i].amplitude * sin(MY_2PI * delt / set[i].tperiod); + set[i].tilt_stop = set[i].tilt_start + shift; // compute min/max for WIGGLE = extrema tilt factor will ever reach if (set[i].amplitude >= 0.0) { - if (delt < 0.25*set[i].tperiod) { + if (delt < 0.25 * set[i].tperiod) { set[i].tilt_min = set[i].tilt_start; - set[i].tilt_max = set[i].tilt_start + - set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); - } else if (delt < 0.5*set[i].tperiod) { + set[i].tilt_max = set[i].tilt_start + shift; + } else if (delt < 0.5 * set[i].tperiod) { set[i].tilt_min = set[i].tilt_start; set[i].tilt_max = set[i].tilt_start + set[i].amplitude; - } else if (delt < 0.75*set[i].tperiod) { - set[i].tilt_min = set[i].tilt_start - - set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); + } else if (delt < 0.75 * set[i].tperiod) { + set[i].tilt_min = set[i].tilt_start - shift; set[i].tilt_max = set[i].tilt_start + set[i].amplitude; } else { set[i].tilt_min = set[i].tilt_start - set[i].amplitude; set[i].tilt_max = set[i].tilt_start + set[i].amplitude; } } else { - if (delt < 0.25*set[i].tperiod) { - set[i].tilt_min = set[i].tilt_start - - set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); + if (delt < 0.25 * set[i].tperiod) { + set[i].tilt_min = set[i].tilt_start - shift; set[i].tilt_max = set[i].tilt_start; - } else if (delt < 0.5*set[i].tperiod) { + } else if (delt < 0.5 * set[i].tperiod) { set[i].tilt_min = set[i].tilt_start - set[i].amplitude; set[i].tilt_max = set[i].tilt_start; - } else if (delt < 0.75*set[i].tperiod) { + } else if (delt < 0.75 * set[i].tperiod) { set[i].tilt_min = set[i].tilt_start - set[i].amplitude; - set[i].tilt_max = set[i].tilt_start + - set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); + set[i].tilt_max = set[i].tilt_start + shift; } else { set[i].tilt_min = set[i].tilt_start - set[i].amplitude; set[i].tilt_max = set[i].tilt_start + set[i].amplitude; @@ -540,7 +554,7 @@ void FixDeform::init() for (int i = 3; i < 6; i++) if (set[i].style == TRATE && set[i].tilt_start == 0.0) - error->all(FLERR,"Cannot use fix deform trate on a box with zero tilt"); + error->all(FLERR, "Cannot use fix {} trate on a box with zero tilt", style); // if yz changes and will cause box flip, then xy cannot be changing // yz = [3], xy = [5] @@ -555,20 +569,20 @@ void FixDeform::init() int flag = 0; double lo,hi; if (flipflag && set[3].style == VARIABLE) - error->all(FLERR,"Fix deform cannot use yz variable with xy"); + error->all(FLERR, "Fix {} cannot use yz variable with xy", style); if (set[3].style == WIGGLE) { lo = set[3].tilt_min; hi = set[3].tilt_max; } else lo = hi = set[3].tilt_stop; if (flipflag) { - if (lo/(set[1].hi_start-set[1].lo_start) < -0.5 || - hi/(set[1].hi_start-set[1].lo_start) > 0.5) flag = 1; + if (lo / (set[1].hi_start - set[1].lo_start) < -0.5 || + hi / (set[1].hi_start - set[1].lo_start) > 0.5) flag = 1; if (set[1].style) { - if (lo/(set[1].hi_stop-set[1].lo_stop) < -0.5 || - hi/(set[1].hi_stop-set[1].lo_stop) > 0.5) flag = 1; + if (lo / (set[1].hi_stop - set[1].lo_stop) < -0.5 || + hi / (set[1].hi_stop - set[1].lo_stop) > 0.5) flag = 1; } if (flag) - error->all(FLERR,"Fix deform is changing yz too much with xy"); + error->all(FLERR, "Fix {} is changing yz too much with xy", style); } } @@ -584,7 +598,7 @@ void FixDeform::init() if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == SCALE || set[i].style == VEL || set[i].style == ERATE) { - double dlo_dt,dhi_dt; + double dlo_dt, dhi_dt; if (delt != 0.0) { dlo_dt = (set[i].lo_stop - set[i].lo_start) / delt; dhi_dt = (set[i].hi_stop - set[i].hi_start) / delt; @@ -633,7 +647,7 @@ void FixDeform::pre_exchange() domain->set_global_box(); domain->set_local_box(); - domain->image_flip(flipxy,flipxz,flipyz); + domain->image_flip(flipxy, flipxz, flipyz); double **x = atom->x; imageint *image = atom->image; @@ -651,104 +665,72 @@ void FixDeform::pre_exchange() void FixDeform::end_of_step() { - int i; - - double delta = update->ntimestep - update->beginstep; - if (delta != 0.0) delta /= update->endstep - update->beginstep; - // wrap variable evaluations with clear/add if (varflag) modify->clearstep_compute(); - // set new box size + // set new box size for strain-based dims + + apply_strain(); + + // set new box size for VOLUME dims that are linked to other dims + // NOTE: still need to set h_rate for these dims + + apply_volume(); + + if (varflag) modify->addstep_compute(update->ntimestep + nevery); + + update_domain(); + + // redo KSpace coeffs since box has changed + + if (kspace_flag) force->kspace->setup(); +} + +/* ---------------------------------------------------------------------- + apply strain controls +------------------------------------------------------------------------- */ + +void FixDeform::apply_strain() +{ // for NONE, target is current box size // for TRATE, set target directly based on current time, also set h_rate // for WIGGLE, set target directly based on current time, also set h_rate // for VARIABLE, set target directly via variable eval, also set h_rate // for others except VOLUME, target is linear value between start and stop - for (i = 0; i < 3; i++) { + double delta = update->ntimestep - update->beginstep; + if (delta != 0.0) delta /= update->endstep - update->beginstep; + + for (int i = 0; i < 3; i++) { if (set[i].style == NONE) { set[i].lo_target = domain->boxlo[i]; set[i].hi_target = domain->boxhi[i]; } else if (set[i].style == TRATE) { double delt = (update->ntimestep - update->beginstep) * update->dt; - set[i].lo_target = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*((set[i].hi_start-set[i].lo_start) * exp(set[i].rate*delt)); - set[i].hi_target = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*((set[i].hi_start-set[i].lo_start) * exp(set[i].rate*delt)); + double shift = 0.5 * ((set[i].hi_start - set[i].lo_start) * exp(set[i].rate * delt)); + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; h_rate[i] = set[i].rate * domain->h[i]; - h_ratelo[i] = -0.5*h_rate[i]; + h_ratelo[i] = -0.5 * h_rate[i]; } else if (set[i].style == WIGGLE) { double delt = (update->ntimestep - update->beginstep) * update->dt; - set[i].lo_target = set[i].lo_start - - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - set[i].hi_target = set[i].hi_start + - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * - cos(TWOPI*delt/set[i].tperiod); - h_ratelo[i] = -0.5*h_rate[i]; + double shift = 0.5 * set[i].amplitude * sin(MY_2PI * delt / set[i].tperiod); + set[i].lo_target = set[i].lo_start - shift; + set[i].hi_target = set[i].hi_start + shift; + h_rate[i] = MY_2PI / set[i].tperiod * set[i].amplitude * + cos(MY_2PI * delt / set[i].tperiod); + h_ratelo[i] = -0.5 * h_rate[i]; } else if (set[i].style == VARIABLE) { double del = input->variable->compute_equal(set[i].hvar); - set[i].lo_target = set[i].lo_start - 0.5*del; - set[i].hi_target = set[i].hi_start + 0.5*del; + set[i].lo_target = set[i].lo_start - 0.5 * del; + set[i].hi_target = set[i].hi_start + 0.5 * del; h_rate[i] = input->variable->compute_equal(set[i].hratevar); - h_ratelo[i] = -0.5*h_rate[i]; - } else if (set[i].style != VOLUME) { - set[i].lo_target = set[i].lo_start + - delta*(set[i].lo_stop - set[i].lo_start); - set[i].hi_target = set[i].hi_start + - delta*(set[i].hi_stop - set[i].hi_start); - } - } - - // set new box size for VOLUME dims that are linked to other dims - // NOTE: still need to set h_rate for these dims - - for (i = 0; i < 3; i++) { - if (set[i].style != VOLUME) continue; - - if (set[i].substyle == ONE_FROM_ONE) { - set[i].lo_target = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*(set[i].vol_start / - (set[set[i].dynamic1].hi_target - - set[set[i].dynamic1].lo_target) / - (set[set[i].fixed].hi_start-set[set[i].fixed].lo_start)); - set[i].hi_target = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*(set[i].vol_start / - (set[set[i].dynamic1].hi_target - - set[set[i].dynamic1].lo_target) / - (set[set[i].fixed].hi_start-set[set[i].fixed].lo_start)); - - } else if (set[i].substyle == ONE_FROM_TWO) { - set[i].lo_target = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*(set[i].vol_start / - (set[set[i].dynamic1].hi_target - - set[set[i].dynamic1].lo_target) / - (set[set[i].dynamic2].hi_target - - set[set[i].dynamic2].lo_target)); - set[i].hi_target = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*(set[i].vol_start / - (set[set[i].dynamic1].hi_target - - set[set[i].dynamic1].lo_target) / - (set[set[i].dynamic2].hi_target - - set[set[i].dynamic2].lo_target)); - - } else if (set[i].substyle == TWO_FROM_ONE) { - set[i].lo_target = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*sqrt(set[i].vol_start / - (set[set[i].dynamic1].hi_target - - set[set[i].dynamic1].lo_target) / - (set[set[i].fixed].hi_start - - set[set[i].fixed].lo_start) * - (set[i].hi_start - set[i].lo_start)); - set[i].hi_target = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*sqrt(set[i].vol_start / - (set[set[i].dynamic1].hi_target - - set[set[i].dynamic1].lo_target) / - (set[set[i].fixed].hi_start - - set[set[i].fixed].lo_start) * - (set[i].hi_start - set[i].lo_start)); + h_ratelo[i] = -0.5 * h_rate[i]; + } else if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == SCALE || + set[i].style == VEL || set[i].style == ERATE) { + set[i].lo_target = set[i].lo_start + delta * (set[i].lo_stop - set[i].lo_start); + set[i].hi_target = set[i].hi_start + delta * (set[i].hi_stop - set[i].hi_start); } } @@ -760,55 +742,97 @@ void FixDeform::end_of_step() // for other styles, target is linear value between start and stop values if (triclinic) { - double *h = domain->h; - - for (i = 3; i < 6; i++) { + for (int i = 3; i < 6; i++) { if (set[i].style == NONE) { if (i == 5) set[i].tilt_target = domain->xy; else if (i == 4) set[i].tilt_target = domain->xz; else if (i == 3) set[i].tilt_target = domain->yz; } else if (set[i].style == TRATE) { double delt = (update->ntimestep - update->beginstep) * update->dt; - set[i].tilt_target = set[i].tilt_start * exp(set[i].rate*delt); + set[i].tilt_target = set[i].tilt_start * exp(set[i].rate * delt); h_rate[i] = set[i].rate * domain->h[i]; } else if (set[i].style == WIGGLE) { double delt = (update->ntimestep - update->beginstep) * update->dt; set[i].tilt_target = set[i].tilt_start + - set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * - cos(TWOPI*delt/set[i].tperiod); + set[i].amplitude * sin(MY_2PI * delt / set[i].tperiod); + h_rate[i] = MY_2PI / set[i].tperiod * set[i].amplitude * + cos(MY_2PI * delt / set[i].tperiod); } else if (set[i].style == VARIABLE) { double delta_tilt = input->variable->compute_equal(set[i].hvar); set[i].tilt_target = set[i].tilt_start + delta_tilt; h_rate[i] = input->variable->compute_equal(set[i].hratevar); } else { - set[i].tilt_target = set[i].tilt_start + - delta*(set[i].tilt_stop - set[i].tilt_start); + set[i].tilt_target = set[i].tilt_start + delta * (set[i].tilt_stop - set[i].tilt_start); } + } + } +} - // tilt_target can be large positive or large negative value - // add/subtract box lengths until tilt_target is closest to current value +/* ---------------------------------------------------------------------- + apply volume controls +------------------------------------------------------------------------- */ +void FixDeform::apply_volume() +{ + for (int i = 0; i < 3; i++) { + if (set[i].style != VOLUME) continue; + + int dynamic1 = set[i].dynamic1; + int dynamic2 = set[i].dynamic2; + int fixed = set[i].fixed; + double v0 = set[i].vol_start; + double shift = 0.0; + + if (set[i].substyle == ONE_FROM_ONE) { + shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[fixed].hi_start - set[fixed].lo_start)); + } else if (set[i].substyle == ONE_FROM_TWO) { + shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[dynamic2].hi_target - set[dynamic2].lo_target)); + } else if (set[i].substyle == TWO_FROM_ONE) { + shift = 0.5 * sqrt(v0 * (set[i].hi_start - set[i].lo_start) / + (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[fixed].hi_start - set[fixed].lo_start)); + } + + h_rate[i] = (2.0 * shift / (domain->boxhi[i] - domain->boxlo[i]) - 1.0) / update->dt; + h_ratelo[i] = -0.5 * h_rate[i]; + + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; + } +} + +/* ---------------------------------------------------------------------- + Update box domain +------------------------------------------------------------------------- */ + +void FixDeform::update_domain() +{ + // tilt_target can be large positive or large negative value + // add/subtract box lengths until tilt_target is closest to current value + + if (triclinic) { + double *h = domain->h; + for (int i = 3; i < 6; i++) { int idenom = 0; if (i == 5) idenom = 0; else if (i == 4) idenom = 0; else if (i == 3) idenom = 1; double denom = set[idenom].hi_target - set[idenom].lo_target; - double current = h[i]/h[idenom]; + double current = h[i] / h[idenom]; - while (set[i].tilt_target/denom - current > 0.0) + while (set[i].tilt_target / denom - current > 0.0) set[i].tilt_target -= denom; - while (set[i].tilt_target/denom - current < 0.0) + while (set[i].tilt_target / denom - current < 0.0) set[i].tilt_target += denom; - if (fabs(set[i].tilt_target/denom - 1.0 - current) < - fabs(set[i].tilt_target/denom - current)) + if (fabs(set[i].tilt_target / denom - 1.0 - current) < + fabs(set[i].tilt_target / denom - current)) set[i].tilt_target -= denom; } } - if (varflag) modify->addstep_compute(update->ntimestep + nevery); - // if any tilt ratios exceed 0.5, set flip = 1 and compute new tilt values // do not flip in x or y if non-periodic (can tilt but not flip) // this is b/c the box length would be changed (dramatically) by flip @@ -823,12 +847,12 @@ void FixDeform::end_of_step() double yprd = set[1].hi_target - set[1].lo_target; double xprdinv = 1.0 / xprd; double yprdinv = 1.0 / yprd; - if (set[3].tilt_target*yprdinv < -0.5 || - set[3].tilt_target*yprdinv > 0.5 || - set[4].tilt_target*xprdinv < -0.5 || - set[4].tilt_target*xprdinv > 0.5 || - set[5].tilt_target*xprdinv < -0.5 || - set[5].tilt_target*xprdinv > 0.5) { + if (set[3].tilt_target * yprdinv < -0.5 || + set[3].tilt_target * yprdinv > 0.5 || + set[4].tilt_target * xprdinv < -0.5 || + set[4].tilt_target * xprdinv > 0.5 || + set[5].tilt_target * xprdinv < -0.5 || + set[5].tilt_target * xprdinv > 0.5) { set[3].tilt_flip = set[3].tilt_target; set[4].tilt_flip = set[4].tilt_target; set[5].tilt_flip = set[5].tilt_target; @@ -836,30 +860,30 @@ void FixDeform::end_of_step() flipxy = flipxz = flipyz = 0; if (domain->yperiodic) { - if (set[3].tilt_flip*yprdinv < -0.5) { + if (set[3].tilt_flip * yprdinv < -0.5) { set[3].tilt_flip += yprd; set[4].tilt_flip += set[5].tilt_flip; flipyz = 1; - } else if (set[3].tilt_flip*yprdinv > 0.5) { + } else if (set[3].tilt_flip * yprdinv > 0.5) { set[3].tilt_flip -= yprd; set[4].tilt_flip -= set[5].tilt_flip; flipyz = -1; } } if (domain->xperiodic) { - if (set[4].tilt_flip*xprdinv < -0.5) { + if (set[4].tilt_flip * xprdinv < -0.5) { set[4].tilt_flip += xprd; flipxz = 1; } - if (set[4].tilt_flip*xprdinv > 0.5) { + if (set[4].tilt_flip * xprdinv > 0.5) { set[4].tilt_flip -= xprd; flipxz = -1; } - if (set[5].tilt_flip*xprdinv < -0.5) { + if (set[5].tilt_flip * xprdinv < -0.5) { set[5].tilt_flip += xprd; flipxy = 1; } - if (set[5].tilt_flip*xprdinv > 0.5) { + if (set[5].tilt_flip * xprdinv > 0.5) { set[5].tilt_flip -= xprd; flipxy = -1; } @@ -878,9 +902,9 @@ void FixDeform::end_of_step() int *mask = atom->mask; int nlocal = atom->nlocal; - for (i = 0; i < nlocal; i++) + for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) - domain->x2lamda(x[i],x[i]); + domain->x2lamda(x[i], x[i]); for (auto &ifix : rfix) ifix->deform(0); @@ -889,22 +913,22 @@ void FixDeform::end_of_step() // reset global and local box to new size/shape // only if deform fix is controlling the dimension - if (set[0].style) { + if (dimflag[0]) { domain->boxlo[0] = set[0].lo_target; domain->boxhi[0] = set[0].hi_target; } - if (set[1].style) { + if (dimflag[1]) { domain->boxlo[1] = set[1].lo_target; domain->boxhi[1] = set[1].hi_target; } - if (set[2].style) { + if (dimflag[2]) { domain->boxlo[2] = set[2].lo_target; domain->boxhi[2] = set[2].hi_target; } if (triclinic) { - if (set[3].style) domain->yz = set[3].tilt_target; - if (set[4].style) domain->xz = set[4].tilt_target; - if (set[5].style) domain->xy = set[5].tilt_target; + if (dimflag[3]) domain->yz = set[3].tilt_target; + if (dimflag[4]) domain->xz = set[4].tilt_target; + if (dimflag[5]) domain->xy = set[5].tilt_target; } domain->set_global_box(); @@ -917,17 +941,13 @@ void FixDeform::end_of_step() int *mask = atom->mask; int nlocal = atom->nlocal; - for (i = 0; i < nlocal; i++) + for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) - domain->lamda2x(x[i],x[i]); + domain->lamda2x(x[i], x[i]); for (auto &ifix : rfix) ifix->deform(1); } - - // redo KSpace coeffs since box has changed - - if (kspace_flag) force->kspace->setup(); } /* ---------------------------------------------------------------------- @@ -937,9 +957,9 @@ void FixDeform::end_of_step() void FixDeform::write_restart(FILE *fp) { if (comm->me == 0) { - int size = 6*sizeof(Set); - fwrite(&size,sizeof(int),1,fp); - fwrite(set,sizeof(Set),6,fp); + int size = 6 * sizeof(Set); + fwrite(&size, sizeof(int), 1, fp); + fwrite(set, sizeof(Set), 6, fp); } } @@ -951,7 +971,7 @@ void FixDeform::restart(char *buf) { int samestyle = 1; Set *set_restart = (Set *) buf; - for (int i=0; i<6; ++i) { + for (int i = 0; i < 6; ++i) { // restore data from initial state set[i].lo_initial = set_restart[i].lo_initial; set[i].hi_initial = set_restart[i].hi_initial; @@ -964,39 +984,57 @@ void FixDeform::restart(char *buf) samestyle = 0; } if (!samestyle) - error->all(FLERR,"Fix deform settings not consistent with restart"); + error->all(FLERR, "Fix {} settings not consistent with restart", style); } /* ---------------------------------------------------------------------- */ void FixDeform::options(int narg, char **arg) { - if (narg < 0) error->all(FLERR,"Illegal fix deform command"); + const std::string thiscmd = fmt::format("fix {}", style); + if (narg < 0) utils::missing_cmd_args(FLERR, thiscmd, error); remapflag = Domain::X_REMAP; scaleflag = 1; flipflag = 1; + // arguments for child classes + + std::unordered_map child_options; + if (utils::strmatch(style, "^deform/pressure")) { + child_options.insert({{"couple", 2}, {"max/rate", 2}, {"normalize/pressure", 2}, + {"vol/balance/p", 2}}); + } + + // parse all optional arguments for this parent and also child classes + // for child classes, simply store them in leftover_iarg and skip over them + int iarg = 0; while (iarg < narg) { - if (strcmp(arg[iarg],"remap") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix deform command"); - if (strcmp(arg[iarg+1],"x") == 0) remapflag = Domain::X_REMAP; - else if (strcmp(arg[iarg+1],"v") == 0) remapflag = Domain::V_REMAP; - else if (strcmp(arg[iarg+1],"none") == 0) remapflag = Domain::NO_REMAP; - else error->all(FLERR,"Illegal fix deform command"); + if (strcmp(arg[iarg], "remap") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, thiscmd + " remap", error); + if (strcmp(arg[iarg + 1], "x") == 0) remapflag = Domain::X_REMAP; + else if (strcmp(arg[iarg + 1], "v") == 0) remapflag = Domain::V_REMAP; + else if (strcmp(arg[iarg + 1], "none") == 0) remapflag = Domain::NO_REMAP; + else error->all(FLERR, "Illegal fix {} remap command: {}", style, arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"units") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix deform command"); - if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; - else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1; - else error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg], "units") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, thiscmd + " units", error); + if (strcmp(arg[iarg + 1], "box") == 0) scaleflag = 0; + else if (strcmp(arg[iarg + 1], "lattice") == 0) scaleflag = 1; + else error->all(FLERR, "Illegal fix {} units command: {}", style, arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"flip") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix deform command"); - flipflag = utils::logical(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "flip") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, thiscmd + " flip", error); + flipflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else error->all(FLERR,"Illegal fix deform command"); + } else if (child_options.find(arg[iarg]) != child_options.end()) { + auto nskip = child_options[arg[iarg]]; + if (iarg + nskip > narg) + utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg]), error); + for (int i = 0; i < nskip; i++) leftover_iarg.push_back(iarg + i); + iarg += nskip; + } else error->all(FLERR, "Unknown fix {} keyword: {}", style, arg[iarg]); } } diff --git a/src/fix_deform.h b/src/fix_deform.h index 20f6ac5901..c524c2fe6c 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -29,14 +29,17 @@ class FixDeform : public Fix { int remapflag; // whether x,v are remapped across PBC int dimflag[6]; // which dims are deformed + enum { NONE, FINAL, DELTA, SCALE, VEL, ERATE, TRATE, VOLUME, WIGGLE, VARIABLE, PRESSURE, PMEAN, ERATERS }; + enum { ONE_FROM_ONE, ONE_FROM_TWO, TWO_FROM_ONE }; + FixDeform(class LAMMPS *, int, char **); ~FixDeform() override; int setmask() override; void init() override; void pre_exchange() override; void end_of_step() override; - void write_restart(FILE *) override; - void restart(char *buf) override; + void virtual write_restart(FILE *) override; + void virtual restart(char *buf) override; double memory_usage() override; protected: @@ -48,8 +51,6 @@ class FixDeform : public Fix { std::vector rfix; // pointers to rigid fixes class Irregular *irregular; // for migrating atoms after box flips - double TWOPI; - struct Set { int style, substyle; double flo, fhi, ftilt; @@ -67,7 +68,13 @@ class FixDeform : public Fix { }; Set *set; + std::vector leftover_iarg; + int iarg_options_start; + void options(int, char **); + void virtual apply_volume(); + void apply_strain(); + void update_domain(); }; } // namespace LAMMPS_NS diff --git a/src/fix_deposit.cpp b/src/fix_deposit.cpp index d8ea665149..ccf2cf51f1 100644 --- a/src/fix_deposit.cpp +++ b/src/fix_deposit.cpp @@ -54,6 +54,7 @@ FixDeposit::FixDeposit(LAMMPS *lmp, int narg, char **arg) : if (narg < 7) error->all(FLERR,"Illegal fix deposit command"); scalar_flag = 1; + extscalar = 0; restart_global = 1; time_depend = 1; diff --git a/src/fix_enforce2d.cpp b/src/fix_enforce2d.cpp index c13e2147a3..048f8de543 100644 --- a/src/fix_enforce2d.cpp +++ b/src/fix_enforce2d.cpp @@ -17,7 +17,6 @@ #include "atom.h" #include "domain.h" #include "error.h" -#include "modify.h" #include "respa.h" #include "update.h" diff --git a/src/fix_indent.cpp b/src/fix_indent.cpp index 9adb337dd6..a8b14940f4 100644 --- a/src/fix_indent.cpp +++ b/src/fix_indent.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -23,6 +22,7 @@ #include "error.h" #include "input.h" #include "lattice.h" +#include "math_extra.h" #include "modify.h" #include "respa.h" #include "update.h" @@ -34,14 +34,14 @@ using namespace LAMMPS_NS; using namespace FixConst; -enum{NONE,SPHERE,CYLINDER,PLANE}; -enum{INSIDE,OUTSIDE}; +enum { NONE, SPHERE, CYLINDER, PLANE, CONE }; +enum { INSIDE, OUTSIDE }; /* ---------------------------------------------------------------------- */ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - xstr(nullptr), ystr(nullptr), zstr(nullptr), rstr(nullptr), pstr(nullptr) + Fix(lmp, narg, arg), xstr(nullptr), ystr(nullptr), zstr(nullptr), rstr(nullptr), pstr(nullptr), + rlostr(nullptr), rhistr(nullptr), lostr(nullptr), histr(nullptr) { if (narg < 4) utils::missing_cmd_args(FLERR, "fix indent", error); @@ -55,22 +55,20 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : respa_level_support = 1; ilevel_respa = 0; - k = utils::numeric(FLERR,arg[3],false,lmp); - k3 = k/3.0; + k = utils::numeric(FLERR, arg[3], false, lmp); + if (k < 0.0) error->all(FLERR, "Illegal fix indent force constant: {}", k); + k3 = k / 3.0; - // read options from end of input line + // read geometry of indenter and optional args - options(narg-4,&arg[4]); + int iarg = geometry(narg - 4, &arg[4]) + 4; + options(narg - iarg, &arg[iarg]); // setup scaling - double xscale,yscale,zscale; - if (scaleflag) { - xscale = domain->lattice->xlattice; - yscale = domain->lattice->ylattice; - zscale = domain->lattice->zlattice; - } - else xscale = yscale = zscale = 1.0; + const double xscale{scaleflag ? domain->lattice->xlattice : 1.0}; + const double yscale{scaleflag ? domain->lattice->ylattice : 1.0}; + const double zscale{scaleflag ? domain->lattice->zlattice : 1.0}; // apply scaling factors to geometry @@ -79,14 +77,43 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : if (!ystr) yvalue *= yscale; if (!zstr) zvalue *= zscale; if (!rstr) rvalue *= xscale; + + } else if (istyle == CONE) { + if (!xstr) xvalue *= xscale; + if (!ystr) yvalue *= yscale; + if (!zstr) zvalue *= zscale; + + double scaling_factor = 1.0; + switch (cdim) { + case 0: + scaling_factor = xscale; + break; + case 1: + scaling_factor = yscale; + break; + case 2: + scaling_factor = zscale; + break; + } + + if (!rlostr) rlovalue *= scaling_factor; + if (!rhistr) rhivalue *= scaling_factor; + if (!lostr) lovalue *= scaling_factor; + if (!histr) hivalue *= scaling_factor; + } else if (istyle == PLANE) { - if (cdim == 0 && !pstr) pvalue *= xscale; - else if (cdim == 1 && !pstr) pvalue *= yscale; - else if (cdim == 2 && !pstr) pvalue *= zscale; - } else error->all(FLERR,"Unknown fix indent keyword: {}", istyle); + if (cdim == 0 && !pstr) + pvalue *= xscale; + else if (cdim == 1 && !pstr) + pvalue *= yscale; + else if (cdim == 2 && !pstr) + pvalue *= zscale; + + } else + error->all(FLERR, "Unknown fix indent keyword: {}", istyle); varflag = 0; - if (xstr || ystr || zstr || rstr || pstr) varflag = 1; + if (xstr || ystr || zstr || rstr || pstr || rlostr || rhistr || lostr || histr) varflag = 1; indenter_flag = 0; indenter[0] = indenter[1] = indenter[2] = indenter[3] = 0.0; @@ -96,11 +123,15 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : FixIndent::~FixIndent() { - delete [] xstr; - delete [] ystr; - delete [] zstr; - delete [] rstr; - delete [] pstr; + delete[] xstr; + delete[] ystr; + delete[] zstr; + delete[] rstr; + delete[] pstr; + delete[] rlostr; + delete[] rhistr; + delete[] lostr; + delete[] histr; } /* ---------------------------------------------------------------------- */ @@ -120,43 +151,62 @@ void FixIndent::init() { if (xstr) { xvar = input->variable->find(xstr); - if (xvar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", xstr); + if (xvar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", xstr); if (!input->variable->equalstyle(xvar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", xstr); + error->all(FLERR, "Variable {} for fix indent is invalid style", xstr); } if (ystr) { yvar = input->variable->find(ystr); - if (yvar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", ystr); + if (yvar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", ystr); if (!input->variable->equalstyle(yvar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", ystr); + error->all(FLERR, "Variable {} for fix indent is invalid style", ystr); } if (zstr) { zvar = input->variable->find(zstr); - if (zvar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", zstr); + if (zvar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", zstr); if (!input->variable->equalstyle(zvar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", zstr); + error->all(FLERR, "Variable {} for fix indent is invalid style", zstr); } if (rstr) { rvar = input->variable->find(rstr); - if (rvar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", rstr); + if (rvar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", rstr); if (!input->variable->equalstyle(rvar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", rstr); + error->all(FLERR, "Variable {} for fix indent is invalid style", rstr); } if (pstr) { pvar = input->variable->find(pstr); - if (pvar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", pstr); + if (pvar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", pstr); if (!input->variable->equalstyle(pvar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", pstr); + error->all(FLERR, "Variable {} for fix indent is invalid style", pstr); + } + if (rlostr) { + rlovar = input->variable->find(rlostr); + if (rlovar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", rlostr); + if (!input->variable->equalstyle(rlovar)) + error->all(FLERR, "Variable {} for fix indent is invalid style", rlostr); + } + if (rhistr) { + rhivar = input->variable->find(rhistr); + if (rhivar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", rhistr); + if (!input->variable->equalstyle(rhivar)) + error->all(FLERR, "Variable {} for fix indent is invalid style", rhistr); + } + if (lostr) { + lovar = input->variable->find(lostr); + if (lovar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", lostr); + if (!input->variable->equalstyle(lovar)) + error->all(FLERR, "Variable {} for fix indent is invalid style", lostr); + } + if (histr) { + hivar = input->variable->find(histr); + if (hivar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", histr); + if (!input->variable->equalstyle(hivar)) + error->all(FLERR, "Variable {} for fix indent is invalid style", histr); } - if (utils::strmatch(update->integrate_style,"^respa")) { - ilevel_respa = (dynamic_cast(update->integrate))->nlevels-1; - if (respa_level >= 0) ilevel_respa = MIN(respa_level,ilevel_respa); + if (utils::strmatch(update->integrate_style, "^respa")) { + ilevel_respa = (dynamic_cast(update->integrate))->nlevels - 1; + if (respa_level >= 0) ilevel_respa = MIN(respa_level, ilevel_respa); } } @@ -164,11 +214,11 @@ void FixIndent::init() void FixIndent::setup(int vflag) { - if (utils::strmatch(update->integrate_style,"^verlet")) + if (utils::strmatch(update->integrate_style, "^verlet")) post_force(vflag); else { (dynamic_cast(update->integrate))->copy_flevel_f(ilevel_respa); - post_force_respa(vflag,ilevel_respa,0); + post_force_respa(vflag, ilevel_respa, 0); (dynamic_cast(update->integrate))->copy_f_flevel(ilevel_respa); } } @@ -192,61 +242,59 @@ void FixIndent::post_force(int /*vflag*/) indenter_flag = 0; indenter[0] = indenter[1] = indenter[2] = indenter[3] = 0.0; + // ctr = current indenter centerz + + double ctr[3] = {xvalue, yvalue, zvalue}; + if (xstr) ctr[0] = input->variable->compute_equal(xvar); + if (ystr) ctr[1] = input->variable->compute_equal(yvar); + if (zstr) ctr[2] = input->variable->compute_equal(zvar); + + double **x = atom->x; + double **f = atom->f; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + double delx, dely, delz, r, dr, fmag, fx, fy, fz; + // spherical indenter if (istyle == SPHERE) { - // ctr = current indenter center - // remap into periodic box + // remap indenter center into periodic box - double ctr[3]; - if (xstr) ctr[0] = input->variable->compute_equal(xvar); - else ctr[0] = xvalue; - if (ystr) ctr[1] = input->variable->compute_equal(yvar); - else ctr[1] = yvalue; - if (zstr) ctr[2] = input->variable->compute_equal(zvar); - else ctr[2] = zvalue; domain->remap(ctr); - double radius; - if (rstr) radius = input->variable->compute_equal(rvar); - else radius = rvalue; - - double **x = atom->x; - double **f = atom->f; - int *mask = atom->mask; - int nlocal = atom->nlocal; - - double delx,dely,delz,r,dr,fmag,fx,fy,fz; + double radius = rstr ? input->variable->compute_equal(rvar) : rvalue; + if (radius < 0.0) error->all(FLERR, "Illegal fix indent sphere radius: {}", radius); for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { delx = x[i][0] - ctr[0]; dely = x[i][1] - ctr[1]; delz = x[i][2] - ctr[2]; - domain->minimum_image(delx,dely,delz); - r = sqrt(delx*delx + dely*dely + delz*delz); + domain->minimum_image(delx, dely, delz); + r = sqrt(delx * delx + dely * dely + delz * delz); if (side == OUTSIDE) { dr = r - radius; - fmag = k*dr*dr; + fmag = k * dr * dr; } else { dr = radius - r; - fmag = -k*dr*dr; + fmag = -k * dr * dr; } if (dr >= 0.0) continue; - fx = delx*fmag/r; - fy = dely*fmag/r; - fz = delz*fmag/r; + fx = delx * fmag / r; + fy = dely * fmag / r; + fz = delz * fmag / r; f[i][0] += fx; f[i][1] += fy; f[i][2] += fz; - indenter[0] -= k3 * dr*dr*dr; + indenter[0] -= k3 * dr * dr * dr; indenter[1] -= fx; indenter[2] -= fy; indenter[3] -= fz; } - // cylindrical indenter + // cylindrical indenter } else if (istyle == CYLINDER) { @@ -254,101 +302,120 @@ void FixIndent::post_force(int /*vflag*/) // remap into periodic box // 3rd coord is just near box for remap(), since isn't used - double ctr[3]; - if (cdim == 0) { - ctr[0] = domain->boxlo[0]; - if (ystr) ctr[1] = input->variable->compute_equal(yvar); - else ctr[1] = yvalue; - if (zstr) ctr[2] = input->variable->compute_equal(zvar); - else ctr[2] = zvalue; - } else if (cdim == 1) { - if (xstr) ctr[0] = input->variable->compute_equal(xvar); - else ctr[0] = xvalue; - ctr[1] = domain->boxlo[1]; - if (zstr) ctr[2] = input->variable->compute_equal(zvar); - else ctr[2] = zvalue; - } else { - if (xstr) ctr[0] = input->variable->compute_equal(xvar); - else ctr[0] = xvalue; - if (ystr) ctr[1] = input->variable->compute_equal(yvar); - else ctr[1] = yvalue; - ctr[2] = domain->boxlo[2]; - } + ctr[cdim] = domain->boxlo[cdim]; domain->remap(ctr); - double radius; - if (rstr) radius = input->variable->compute_equal(rvar); - else radius = rvalue; - - double **x = atom->x; - double **f = atom->f; - int *mask = atom->mask; - int nlocal = atom->nlocal; - - double delx,dely,delz,r,dr,fmag,fx,fy,fz; + double radius{rstr ? input->variable->compute_equal(rvar) : rvalue}; + if (radius < 0.0) error->all(FLERR, "Illegal fix indent cylinder radius: {}", radius); for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - if (cdim == 0) { - delx = 0; - dely = x[i][1] - ctr[1]; - delz = x[i][2] - ctr[2]; - } else if (cdim == 1) { - delx = x[i][0] - ctr[0]; - dely = 0; - delz = x[i][2] - ctr[2]; - } else { - delx = x[i][0] - ctr[0]; - dely = x[i][1] - ctr[1]; - delz = 0; - } - domain->minimum_image(delx,dely,delz); - r = sqrt(delx*delx + dely*dely + delz*delz); + double del[3] = {x[i][0] - ctr[0], x[i][1] - ctr[1], x[i][2] - ctr[2]}; + del[cdim] = 0; + domain->minimum_image(del[0], del[1], del[2]); + r = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); if (side == OUTSIDE) { dr = r - radius; - fmag = k*dr*dr; + fmag = k * dr * dr; } else { dr = radius - r; - fmag = -k*dr*dr; + fmag = -k * dr * dr; } if (dr >= 0.0) continue; - fx = delx*fmag/r; - fy = dely*fmag/r; - fz = delz*fmag/r; + fx = del[0] * fmag / r; + fy = del[1] * fmag / r; + fz = del[2] * fmag / r; f[i][0] += fx; f[i][1] += fy; f[i][2] += fz; - indenter[0] -= k3 * dr*dr*dr; + indenter[0] -= k3 * dr * dr * dr; indenter[1] -= fx; indenter[2] -= fy; indenter[3] -= fz; } - // planar indenter + // conical indenter + + } else if (istyle == CONE) { + + double radiuslo{rlostr ? input->variable->compute_equal(rlovar) : rlovalue}; + if (radiuslo < 0.0) error->all(FLERR, "Illegal fix indent cone lower radius: {}", radiuslo); + double radiushi{rhistr ? input->variable->compute_equal(rhivar) : rhivalue}; + if (radiushi < 0.0) error->all(FLERR, "Illegal fix indent cone high radius: {}", radiushi); + + double initial_lo{lostr ? input->variable->compute_equal(lovar) : lovalue}; + double initial_hi{histr ? input->variable->compute_equal(hivar) : hivalue}; + + ctr[cdim] = 0.5 * (initial_hi + initial_lo); + + domain->remap(ctr); + + double hi = ctr[cdim] + 0.5 * (initial_hi - initial_lo); + double lo = ctr[cdim] - 0.5 * (initial_hi - initial_lo); + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + + delx = x[i][0] - ctr[0]; + dely = x[i][1] - ctr[1]; + delz = x[i][2] - ctr[2]; + domain->minimum_image(delx, dely, delz); + + double x0[3] = {delx + ctr[0], dely + ctr[1], delz + ctr[2]}; + r = sqrt(delx * delx + dely * dely + delz * delz); + + // check if particle is inside or outside the cone + + bool point_inside_cone = PointInsideCone(cdim, ctr, lo, hi, radiuslo, radiushi, x0); + + if (side == INSIDE && point_inside_cone) continue; + if (side == OUTSIDE && !point_inside_cone) continue; + + // find the distance between the point and the cone + + if (point_inside_cone) { + DistanceInteriorPoint(cdim, ctr, lo, hi, radiuslo, radiushi, x0[0], x0[1], x0[2]); + } else { + DistanceExteriorPoint(cdim, ctr, lo, hi, radiuslo, radiushi, x0[0], x0[1], x0[2]); + } + + // compute the force from the center of the cone + // this is different from how it is done in fix wall/region + + dr = sqrt(x0[0] * x0[0] + x0[1] * x0[1] + x0[2] * x0[2]); + + int force_sign = {point_inside_cone ? 1 : -1}; + fmag = force_sign * k * dr * dr; + + fx = delx * fmag / r; + fy = dely * fmag / r; + fz = delz * fmag / r; + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + indenter[0] -= k3 * dr * dr * dr; + indenter[1] -= fx; + indenter[2] -= fy; + indenter[3] -= fz; + } + } + + // planar indenter } else { // plane = current plane position - double plane; - if (pstr) plane = input->variable->compute_equal(pvar); - else plane = pvalue; - - double **x = atom->x; - double **f = atom->f; - int *mask = atom->mask; - int nlocal = atom->nlocal; - - double dr,fatom; + double plane{pstr ? input->variable->compute_equal(pvar) : pvalue}; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { dr = planeside * (plane - x[i][cdim]); if (dr >= 0.0) continue; - fatom = -planeside * k*dr*dr; - f[i][cdim] += fatom; - indenter[0] -= k3 * dr*dr*dr; - indenter[cdim+1] -= fatom; + fmag = -planeside * k * dr * dr; + f[i][cdim] += fmag; + indenter[0] -= k3 * dr * dr * dr; + indenter[cdim + 1] -= fmag; } } @@ -378,7 +445,7 @@ double FixIndent::compute_scalar() // only sum across procs one time if (indenter_flag == 0) { - MPI_Allreduce(indenter,indenter_all,4,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(indenter, indenter_all, 4, MPI_DOUBLE, MPI_SUM, world); indenter_flag = 1; } return indenter_all[0]; @@ -393,113 +460,406 @@ double FixIndent::compute_vector(int n) // only sum across procs one time if (indenter_flag == 0) { - MPI_Allreduce(indenter,indenter_all,4,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(indenter, indenter_all, 4, MPI_DOUBLE, MPI_SUM, world); indenter_flag = 1; } - return indenter_all[n+1]; + return indenter_all[n + 1]; } /* ---------------------------------------------------------------------- - parse optional parameters at end of input line + parse input args for geometry of indenter ------------------------------------------------------------------------- */ -void FixIndent::options(int narg, char **arg) +int FixIndent::geometry(int narg, char **arg) { if (narg < 0) utils::missing_cmd_args(FLERR, "fix indent", error); istyle = NONE; xstr = ystr = zstr = rstr = pstr = nullptr; xvalue = yvalue = zvalue = rvalue = pvalue = 0.0; + + // sphere + + if (strcmp(arg[0], "sphere") == 0) { + if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); + if (5 > narg) utils::missing_cmd_args(FLERR, "fix indent sphere", error); + + if (utils::strmatch(arg[1], "^v_")) { + xstr = utils::strdup(arg[1] + 2); + } else + xvalue = utils::numeric(FLERR, arg[1], false, lmp); + if (utils::strmatch(arg[2], "^v_")) { + ystr = utils::strdup(arg[2] + 2); + } else + yvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + zstr = utils::strdup(arg[3] + 2); + } else + zvalue = utils::numeric(FLERR, arg[3], false, lmp); + if (utils::strmatch(arg[4], "^v_")) { + rstr = utils::strdup(arg[4] + 2); + } else + rvalue = utils::numeric(FLERR, arg[4], false, lmp); + + istyle = SPHERE; + return 5; + } + + // cylinder + + if (strcmp(arg[0], "cylinder") == 0) { + if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); + if (5 > narg) utils::missing_cmd_args(FLERR, "fix indent cylinder", error); + + if (strcmp(arg[1], "x") == 0) { + cdim = 0; + if (utils::strmatch(arg[2], "^v_")) { + ystr = utils::strdup(arg[2] + 2); + } else + yvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + zstr = utils::strdup(arg[3] + 2); + } else + zvalue = utils::numeric(FLERR, arg[3], false, lmp); + } else if (strcmp(arg[1], "y") == 0) { + cdim = 1; + if (utils::strmatch(arg[2], "^v_")) { + xstr = utils::strdup(arg[2] + 2); + } else + xvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + zstr = utils::strdup(arg[3] + 2); + } else + zvalue = utils::numeric(FLERR, arg[3], false, lmp); + } else if (strcmp(arg[1], "z") == 0) { + cdim = 2; + if (utils::strmatch(arg[2], "^v_")) { + xstr = utils::strdup(arg[2] + 2); + } else + xvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + ystr = utils::strdup(arg[3] + 2); + } else + yvalue = utils::numeric(FLERR, arg[3], false, lmp); + } else + error->all(FLERR, "Unknown fix indent cylinder argument: {}", arg[1]); + + if (utils::strmatch(arg[4], "^v_")) { + rstr = utils::strdup(arg[4] + 2); + } else + rvalue = utils::numeric(FLERR, arg[4], false, lmp); + + istyle = CYLINDER; + return 5; + } + + // cone + + if (strcmp(arg[0], "cone") == 0) { + if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); + if (8 > narg) utils::missing_cmd_args(FLERR, "fix indent cone", error); + + if (strcmp(arg[1], "x") == 0) { + cdim = 0; + if (utils::strmatch(arg[2], "^v_")) { + ystr = utils::strdup(arg[2] + 2); + } else + yvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + zstr = utils::strdup(arg[3] + 2); + } else + zvalue = utils::numeric(FLERR, arg[3], false, lmp); + + } else if (strcmp(arg[1], "y") == 0) { + cdim = 1; + if (utils::strmatch(arg[2], "^v_")) { + xstr = utils::strdup(arg[2] + 2); + } else + xvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + zstr = utils::strdup(arg[3] + 2); + } else + zvalue = utils::numeric(FLERR, arg[3], false, lmp); + + } else if (strcmp(arg[1], "z") == 0) { + cdim = 2; + if (utils::strmatch(arg[2], "^v_")) { + xstr = utils::strdup(arg[2] + 2); + } else + xvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + ystr = utils::strdup(arg[3] + 2); + } else + yvalue = utils::numeric(FLERR, arg[3], false, lmp); + + } else + error->all(FLERR, "Unknown fix indent cone argument: {}", arg[1]); + + if (utils::strmatch(arg[4], "^v_")) { + rlostr = utils::strdup(arg[4] + 2); + } else + rlovalue = utils::numeric(FLERR, arg[4], false, lmp); + if (utils::strmatch(arg[5], "^v_")) { + rhistr = utils::strdup(arg[5] + 2); + } else + rhivalue = utils::numeric(FLERR, arg[5], false, lmp); + if (utils::strmatch(arg[6], "^v_")) { + lostr = utils::strdup(arg[6] + 2); + } else + lovalue = utils::numeric(FLERR, arg[6], false, lmp); + if (utils::strmatch(arg[7], "^v_")) { + histr = utils::strdup(arg[7] + 2); + } else + hivalue = utils::numeric(FLERR, arg[7], false, lmp); + + istyle = CONE; + return 8; + } + + // plane + + if (strcmp(arg[0], "plane") == 0) { + if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); + if (4 > narg) utils::missing_cmd_args(FLERR, "fix indent plane", error); + if (strcmp(arg[1], "x") == 0) + cdim = 0; + else if (strcmp(arg[1], "y") == 0) + cdim = 1; + else if (strcmp(arg[1], "z") == 0) + cdim = 2; + else + error->all(FLERR, "Unknown fix indent plane argument: {}", arg[1]); + + if (utils::strmatch(arg[2], "^v_")) { + pstr = utils::strdup(arg[2] + 2); + } else + pvalue = utils::numeric(FLERR, arg[2], false, lmp); + + if (strcmp(arg[3], "lo") == 0) + planeside = -1; + else if (strcmp(arg[3], "hi") == 0) + planeside = 1; + else + error->all(FLERR, "Unknown fix indent plane argument: {}", arg[3]); + istyle = PLANE; + return 4; + } + + // invalid istyle arg + + error->all(FLERR, "Unknown fix indent argument: {}", arg[0]); + + return 0; +} + +/* ---------------------------------------------------------------------- + parse optional input args +------------------------------------------------------------------------- */ + +void FixIndent::options(int narg, char **arg) +{ scaleflag = 1; side = OUTSIDE; int iarg = 0; + while (iarg < narg) { - if (strcmp(arg[iarg],"sphere") == 0) { - if (iarg+5 > narg) utils::missing_cmd_args(FLERR, "fix indent sphere", error); - - if (utils::strmatch(arg[iarg+1],"^v_")) { - xstr = utils::strdup(arg[iarg+1]+2); - } else xvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); - if (utils::strmatch(arg[iarg+2],"^v_")) { - ystr = utils::strdup(arg[iarg+2]+2); - } else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (utils::strmatch(arg[iarg+3],"^v_")) { - zstr = utils::strdup(arg[iarg+3]+2); - } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (utils::strmatch(arg[iarg+4],"^v_")) { - rstr = utils::strdup(arg[iarg+4]+2); - } else rvalue = utils::numeric(FLERR,arg[iarg+4],false,lmp); - - istyle = SPHERE; - iarg += 5; - - } else if (strcmp(arg[iarg],"cylinder") == 0) { - if (iarg+5 > narg) utils::missing_cmd_args(FLERR, "fix indent cylinder", error); - - if (strcmp(arg[iarg+1],"x") == 0) { - cdim = 0; - if (utils::strmatch(arg[iarg+2],"^v_")) { - ystr = utils::strdup(arg[iarg+2]+2); - } else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (utils::strmatch(arg[iarg+3],"^v_")) { - zstr = utils::strdup(arg[iarg+3]+2); - } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); - } else if (strcmp(arg[iarg+1],"y") == 0) { - cdim = 1; - if (utils::strmatch(arg[iarg+2],"^v_")) { - xstr = utils::strdup(arg[iarg+2]+2); - } else xvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (utils::strmatch(arg[iarg+3],"^v_")) { - zstr = utils::strdup(arg[iarg+3]+2); - } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); - } else if (strcmp(arg[iarg+1],"z") == 0) { - cdim = 2; - if (utils::strmatch(arg[iarg+2],"^v_")) { - xstr = utils::strdup(arg[iarg+2]+2); - } else xvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (utils::strmatch(arg[iarg+3],"^v_")) { - ystr = utils::strdup(arg[iarg+3]+2); - } else yvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); - } else error->all(FLERR,"Unknown fix indent cylinder argument: {}", arg[iarg+1]); - - if (utils::strmatch(arg[iarg+4],"^v_")) { - rstr = utils::strdup(arg[iarg+4]+2); - } else rvalue = utils::numeric(FLERR,arg[iarg+4],false,lmp); - - istyle = CYLINDER; - iarg += 5; - - } else if (strcmp(arg[iarg],"plane") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix indent plane", error); - if (strcmp(arg[iarg+1],"x") == 0) cdim = 0; - else if (strcmp(arg[iarg+1],"y") == 0) cdim = 1; - else if (strcmp(arg[iarg+1],"z") == 0) cdim = 2; - else error->all(FLERR,"Unknown fix indent plane argument: {}", arg[iarg+1]); - - if (utils::strmatch(arg[iarg+2],"^v_")) { - pstr = utils::strdup(arg[iarg+2]+2); - } else pvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - - if (strcmp(arg[iarg+3],"lo") == 0) planeside = -1; - else if (strcmp(arg[iarg+3],"hi") == 0) planeside = 1; - else error->all(FLERR,"Unknown fix indent plane argument: {}", arg[iarg+3]); - istyle = PLANE; - iarg += 4; - - } else if (strcmp(arg[iarg],"units") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix indent units", error); - if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; - else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1; - else error->all(FLERR,"Unknown fix indent units argument: {}", arg[iarg+1]); + if (strcmp(arg[iarg], "units") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix indent units", error); + if (strcmp(arg[iarg + 1], "box") == 0) + scaleflag = 0; + else if (strcmp(arg[iarg + 1], "lattice") == 0) + scaleflag = 1; + else + error->all(FLERR, "Unknown fix indent units argument: {}", arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"side") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix indent side", error); - if (strcmp(arg[iarg+1],"in") == 0) side = INSIDE; - else if (strcmp(arg[iarg+1],"out") == 0) side = OUTSIDE; - else error->all(FLERR,"Unknown fix indent side argument: {}", arg[iarg+1]); + } else if (strcmp(arg[iarg], "side") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix indent side", error); + if (strcmp(arg[iarg + 1], "in") == 0) + side = INSIDE; + else if (strcmp(arg[iarg + 1], "out") == 0) + side = OUTSIDE; + else + error->all(FLERR, "Unknown fix indent side argument: {}", arg[iarg + 1]); iarg += 2; - } else error->all(FLERR,"Unknown fix indent argument: {}", arg[iarg]); + + } else + error->all(FLERR, "Unknown fix indent argument: {}", arg[iarg]); } } + +/* ---------------------------------------------------------------------- + determines if a point is inside (true) or outside (false) of a cone +------------------------------------------------------------------------- */ + +bool FixIndent::PointInsideCone(int dir, double *center, double lo, double hi, double rlo, + double rhi, double *x) +{ + if ((x[dir] > hi) || (x[dir] < lo)) return false; + + double del[3] = {x[0] - center[0], x[1] - center[1], x[2] - center[2]}; + del[dir] = 0.0; + + double dist = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); + double currentradius = rlo + (x[dir] - lo) * (rhi - rlo) / (hi - lo); + + if (dist > currentradius) return false; + + return true; +} + +/* ---------------------------------------------------------------------- + distance between an exterior point and a cone +------------------------------------------------------------------------- */ + +void FixIndent::DistanceExteriorPoint(int dir, double *center, double lo, double hi, double rlo, + double rhi, double &x, double &y, double &z) +{ + double xp[3], nearest[3], corner1[3], corner2[3]; + double point[3] = {x, y, z}; + double del[3] = {x - center[0], y - center[1], z - center[2]}; + + del[dir] = 0.0; + double r = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); + + corner1[0] = center[0] + del[0] * rlo / r; + corner1[1] = center[1] + del[1] * rlo / r; + corner1[2] = center[2] + del[2] * rlo / r; + corner1[dir] = lo; + + corner2[0] = center[0] + del[0] * rhi / r; + corner2[1] = center[1] + del[1] * rhi / r; + corner2[2] = center[2] + del[2] * rhi / r; + corner2[dir] = hi; + + double corner3[3] = {center[0], center[1], center[2]}; + corner3[dir] = lo; + + double corner4[3] = {center[0], center[1], center[2]}; + corner4[dir] = hi; + + // initialize distance to a big number + + double distsq = 1.0e20; + + // check the first triangle + + point_on_line_segment(corner1, corner2, point, xp); + distsq = closest(point, xp, nearest, distsq); + + // check the second triangle + + point_on_line_segment(corner1, corner3, point, xp); + distsq = closest(point, xp, nearest, distsq); + + // check the third triangle + + point_on_line_segment(corner2, corner4, point, xp); + distsq = closest(point, xp, nearest, distsq); + + x -= nearest[0]; + y -= nearest[1]; + z -= nearest[2]; + + return; +} + +/* ---------------------------------------------------------------------- + distance between an interior point and a cone +------------------------------------------------------------------------- */ + +void FixIndent::DistanceInteriorPoint(int dir, double *center, double lo, double hi, double rlo, + double rhi, double &x, double &y, double &z) +{ + double r, dist_disk, dist_surf; + double surflo[3], surfhi[3], xs[3]; + double initial_point[3] = {x, y, z}; + double point[3] = {0.0, 0.0, 0.0}; + + // initial check with the two disks + + if ((initial_point[dir] - lo) < (hi - initial_point[dir])) { + dist_disk = (initial_point[dir] - lo) * (initial_point[dir] - lo); + point[dir] = initial_point[dir] - lo; + } else { + dist_disk = (hi - initial_point[dir]) * (hi - initial_point[dir]); + point[dir] = initial_point[dir] - hi; + } + + // check with the points in the conical surface + + double del[3] = {x - center[0], y - center[1], z - center[2]}; + del[dir] = 0.0; + r = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); + + surflo[0] = center[0] + del[0] * rlo / r; + surflo[1] = center[1] + del[1] * rlo / r; + surflo[2] = center[2] + del[2] * rlo / r; + surflo[dir] = lo; + + surfhi[0] = center[0] + del[0] * rhi / r; + surfhi[1] = center[1] + del[1] * rhi / r; + surfhi[2] = center[2] + del[2] * rhi / r; + surfhi[dir] = hi; + + point_on_line_segment(surflo, surfhi, initial_point, xs); + + double dx[3] = {initial_point[0] - xs[0], initial_point[1] - xs[1], initial_point[2] - xs[2]}; + dist_surf = dx[0] * dx[0] + dx[1] * dx[1] + dx[2] * dx[2]; + if (dist_surf < dist_disk) { + x = dx[0]; + y = dx[1]; + z = dx[2]; + } else { + x = point[0]; + y = point[1]; + z = point[2]; + } + + return; +} + +/* ---------------------------------------------------------------------- + helper function extracted from region.cpp +------------------------------------------------------------------------- */ + +void FixIndent::point_on_line_segment(double *a, double *b, double *c, double *d) +{ + double ba[3], ca[3]; + + MathExtra::sub3(b, a, ba); + MathExtra::sub3(c, a, ca); + double t = MathExtra::dot3(ca, ba) / MathExtra::dot3(ba, ba); + if (t <= 0.0) { + d[0] = a[0]; + d[1] = a[1]; + d[2] = a[2]; + } else if (t >= 1.0) { + d[0] = b[0]; + d[1] = b[1]; + d[2] = b[2]; + } else { + d[0] = a[0] + t * ba[0]; + d[1] = a[1] + t * ba[1]; + d[2] = a[2] + t * ba[2]; + } +} + +/* ---------------------------------------------------------------------- + helper function extracted from region_cone.cpp +------------------------------------------------------------------------- */ + +double FixIndent::closest(double *x, double *near, double *nearest, double dsq) +{ + double dx = x[0] - near[0]; + double dy = x[1] - near[1]; + double dz = x[2] - near[2]; + double rsq = dx * dx + dy * dy + dz * dz; + if (rsq >= dsq) return dsq; + + nearest[0] = near[0]; + nearest[1] = near[1]; + nearest[2] = near[2]; + return rsq; +} diff --git a/src/fix_indent.h b/src/fix_indent.h index 527e9ec277..37e1623df9 100644 --- a/src/fix_indent.h +++ b/src/fix_indent.h @@ -49,7 +49,24 @@ class FixIndent : public Fix { int cdim, varflag; int ilevel_respa; + char *rlostr, *rhistr, *lostr, *histr; + int rlovar, rhivar, lovar, hivar; + double rlovalue, rhivalue, lovalue, hivalue; + + // methods for argument parsing + + int geometry(int, char **); void options(int, char **); + + // methods for conical indenter + + bool PointInsideCone(int, double *, double, double, double, double, double *); + void DistanceExteriorPoint(int, double *, double, double, double, double, + double &, double &, double &); + void DistanceInteriorPoint(int, double *, double, double, double, double, + double &, double &, double &); + void point_on_line_segment(double *, double *, double *, double *); + double closest(double *, double *, double *, double); }; } // namespace LAMMPS_NS diff --git a/src/fix_pair.cpp b/src/fix_pair.cpp index 66212684a8..da56b01f9e 100644 --- a/src/fix_pair.cpp +++ b/src/fix_pair.cpp @@ -21,7 +21,8 @@ #include "memory.h" #include "pair.h" #include "update.h" -#include "fmt/format.h" + +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/fix_press_langevin.cpp b/src/fix_press_langevin.cpp index d8d2a3b04a..8116d66c0a 100644 --- a/src/fix_press_langevin.cpp +++ b/src/fix_press_langevin.cpp @@ -24,7 +24,6 @@ #include "error.h" #include "fix_deform.h" #include "force.h" -#include "group.h" #include "irregular.h" #include "kspace.h" #include "modify.h" diff --git a/src/fix_print.cpp b/src/fix_print.cpp index 023b9355cd..ccef03c3ae 100644 --- a/src/fix_print.cpp +++ b/src/fix_print.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,6 +13,7 @@ #include "fix_print.h" +#include "comm.h" #include "error.h" #include "input.h" #include "memory.h" @@ -29,24 +29,22 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ FixPrint::FixPrint(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - fp(nullptr), text(nullptr), copy(nullptr), work(nullptr), var_print(nullptr) + Fix(lmp, narg, arg), fp(nullptr), text(nullptr), copy(nullptr), work(nullptr), + var_print(nullptr) { - if (narg < 5) error->all(FLERR,"Illegal fix print command"); - if (utils::strmatch(arg[3],"^v_")) { - var_print = utils::strdup(arg[3]+2); + if (narg < 5) utils::missing_cmd_args(FLERR, "fix print", error); + if (utils::strmatch(arg[3], "^v_")) { + var_print = utils::strdup(arg[3] + 2); nevery = 1; } else { - nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery <= 0) error->all(FLERR,"Illegal fix print command"); + nevery = utils::inumeric(FLERR, arg[3], false, lmp); + if (nevery <= 0) error->all(FLERR, "Illegal fix print nevery value {}; must be > 0", nevery); } - MPI_Comm_rank(world,&me); - text = utils::strdup(arg[4]); - int n = strlen(text)+1; - copy = (char *) memory->smalloc(n*sizeof(char),"fix/print:copy"); - work = (char *) memory->smalloc(n*sizeof(char),"fix/print:work"); + int n = strlen(text) + 1; + copy = (char *) memory->smalloc(n * sizeof(char), "fix/print:copy"); + work = (char *) memory->smalloc(n * sizeof(char), "fix/print:work"); maxcopy = maxwork = n; // parse optional args @@ -57,48 +55,54 @@ FixPrint::FixPrint(LAMMPS *lmp, int narg, char **arg) : int iarg = 5; while (iarg < narg) { - if (strcmp(arg[iarg],"file") == 0 || strcmp(arg[iarg],"append") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix print command"); - if (me == 0) { - if (strcmp(arg[iarg],"file") == 0) fp = fopen(arg[iarg+1],"w"); - else fp = fopen(arg[iarg+1],"a"); + if ((strcmp(arg[iarg], "file") == 0) || (strcmp(arg[iarg], "append") == 0)) { + if (iarg + 2 > narg) + utils::missing_cmd_args(FLERR, std::string("fix print ") + arg[iarg], error); + if (comm->me == 0) { + if (strcmp(arg[iarg], "file") == 0) + fp = fopen(arg[iarg + 1], "w"); + else + fp = fopen(arg[iarg + 1], "a"); if (fp == nullptr) - error->one(FLERR,"Cannot open fix print file {}: {}", - arg[iarg+1], utils::getsyserror()); + error->one(FLERR, "Cannot open fix print file {}: {}", arg[iarg + 1], + utils::getsyserror()); } iarg += 2; - } else if (strcmp(arg[iarg],"screen") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix print command"); - screenflag = utils::logical(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "screen") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix print screen", error); + screenflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"title") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix print command"); - delete [] title; - title = utils::strdup(arg[iarg+1]); + } else if (strcmp(arg[iarg], "title") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix print title", error); + delete[] title; + title = utils::strdup(arg[iarg + 1]); iarg += 2; - } else error->all(FLERR,"Illegal fix print command"); + } else + error->all(FLERR, "Unknown fix print keyword: {}", arg[iarg]); } // print file comment line - if (fp && me == 0) { - if (title) fprintf(fp,"%s\n",title); - else fprintf(fp,"# Fix print output for fix %s\n",id); + if (fp && (comm->me == 0)) { + if (title) + fprintf(fp, "%s\n", title); + else + fprintf(fp, "# Fix print output for fix %s\n", id); } - delete [] title; + delete[] title; } /* ---------------------------------------------------------------------- */ FixPrint::~FixPrint() { - delete [] text; - delete [] var_print; + delete[] text; + delete[] var_print; memory->sfree(copy); memory->sfree(work); - if (fp && me == 0) fclose(fp); + if (fp && (comm->me == 0)) fclose(fp); } /* ---------------------------------------------------------------------- */ @@ -117,16 +121,16 @@ void FixPrint::init() if (var_print) { ivar_print = input->variable->find(var_print); if (ivar_print < 0) - error->all(FLERR,"Variable name for fix print timestep does not exist"); + error->all(FLERR, "Variable {} for fix print timestep does not exist", var_print); if (!input->variable->equalstyle(ivar_print)) - error->all(FLERR,"Variable for fix print timestep is invalid style"); - next_print = static_cast - (input->variable->compute_equal(ivar_print)); + error->all(FLERR, "Variable {} for fix print timestep is invalid style", var_print); + next_print = static_cast(input->variable->compute_equal(ivar_print)); if (next_print <= update->ntimestep) - error->all(FLERR,"Fix print timestep variable returned a bad timestep"); + error->all(FLERR, "Fix print timestep variable {} returned a bad timestep: {}", var_print, + next_print); } else { if (update->ntimestep % nevery) - next_print = (update->ntimestep/nevery)*nevery + nevery; + next_print = (update->ntimestep / nevery) * nevery + nevery; else next_print = update->ntimestep; } @@ -158,24 +162,23 @@ void FixPrint::end_of_step() modify->clearstep_compute(); - strncpy(copy,text,maxcopy); - input->substitute(copy,work,maxcopy,maxwork,0); + strncpy(copy, text, maxcopy); + input->substitute(copy, work, maxcopy, maxwork, 0); if (var_print) { - next_print = static_cast - (input->variable->compute_equal(ivar_print)); + next_print = static_cast(input->variable->compute_equal(ivar_print)); if (next_print <= update->ntimestep) - error->all(FLERR,"Fix print timestep variable returned a bad timestep"); + error->all(FLERR, "Fix print timestep variable returned a bad timestep: {}", next_print); } else { - next_print = (update->ntimestep/nevery)*nevery + nevery; + next_print = (update->ntimestep / nevery) * nevery + nevery; } modify->addstep_compute(next_print); - if (me == 0) { - if (screenflag) utils::logmesg(lmp,std::string(copy) + "\n"); + if (comm->me == 0) { + if (screenflag) utils::logmesg(lmp, std::string(copy) + "\n"); if (fp) { - fmt::print(fp,"{}\n",copy); + fmt::print(fp, "{}\n", copy); fflush(fp); } } diff --git a/src/fix_print.h b/src/fix_print.h index 48eda897b5..9e699e22ba 100644 --- a/src/fix_print.h +++ b/src/fix_print.h @@ -34,7 +34,7 @@ class FixPrint : public Fix { void end_of_step() override; private: - int me, screenflag; + int screenflag; FILE *fp; char *text, *copy, *work; int maxcopy, maxwork; diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index de96b5c39d..2cbdb44ab0 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -328,8 +328,9 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, tagint try { ValueTokenizer values(buf); if ((int) values.count() != values_peratom + 1) - error->all(FLERR, "Incorrect format in {} section of data file: {} expected {} and got {}", - keyword, buf, values_peratom + 1, values.count()); + error->all(FLERR, "Incorrect format in {} section of data file: {}\n" + "expected {} parameters and got {}{}", keyword, utils::trim(buf), + values_peratom + 1, values.count(), utils::errorurl(2)); itag = values.next_tagint() + id_offset; if (itag <= 0 || itag > map_tag_max) diff --git a/src/fix_vector.cpp b/src/fix_vector.cpp index e18b53f615..7c75f93a3a 100644 --- a/src/fix_vector.cpp +++ b/src/fix_vector.cpp @@ -22,6 +22,8 @@ #include "update.h" #include "variable.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/fix_wall_lj126.cpp b/src/fix_wall_lj126.cpp index f0f7750edb..d526390153 100644 --- a/src/fix_wall_lj126.cpp +++ b/src/fix_wall_lj126.cpp @@ -17,8 +17,6 @@ #include "error.h" #include "math_special.h" -#include - using namespace LAMMPS_NS; using MathSpecial::powint; diff --git a/src/fix_wall_lj93.cpp b/src/fix_wall_lj93.cpp index c0c5e86ce3..dda0298be1 100644 --- a/src/fix_wall_lj93.cpp +++ b/src/fix_wall_lj93.cpp @@ -17,8 +17,6 @@ #include "error.h" #include "math_special.h" -#include - using namespace LAMMPS_NS; using MathSpecial::powint; diff --git a/src/grid2d.cpp b/src/grid2d.cpp index ea6e8e4123..e1265839f9 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -23,6 +23,8 @@ #include "memory.h" #include "pair.h" +#include + using namespace LAMMPS_NS; static constexpr int DELTA = 16; diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 4ce1978660..f11e5d0513 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -24,6 +24,8 @@ #include "math_extra.h" #include "memory.h" +#include + using namespace LAMMPS_NS; static constexpr int DELTA = 16; diff --git a/src/imbalance_neigh.cpp b/src/imbalance_neigh.cpp index 8d4a17976b..f6b2be2cad 100644 --- a/src/imbalance_neigh.cpp +++ b/src/imbalance_neigh.cpp @@ -14,10 +14,8 @@ #include "imbalance_neigh.h" #include "accelerator_kokkos.h" -#include "atom.h" #include "comm.h" #include "error.h" -#include "neighbor.h" using namespace LAMMPS_NS; diff --git a/src/improper_hybrid.cpp b/src/improper_hybrid.cpp index 505488cce6..a847b7bc95 100644 --- a/src/improper_hybrid.cpp +++ b/src/improper_hybrid.cpp @@ -269,7 +269,8 @@ void ImproperHybrid::coeff(int narg, char **arg) else if (strcmp(arg[1], "aa") == 0) error->all(FLERR, "AngleAngle coeff for hybrid improper has invalid format"); else - error->all(FLERR, "Improper coeff for hybrid has invalid style"); + error->all(FLERR, "Expected hybrid sub-style instead of {} in improper_coeff command", + arg[1]); } // move 1st arg to 2nd arg diff --git a/src/integrate.h b/src/integrate.h index e622f6328d..d078f4a997 100644 --- a/src/integrate.h +++ b/src/integrate.h @@ -15,9 +15,9 @@ #define LMP_INTEGRATE_H #include "pointers.h" -#include "compute.h" namespace LAMMPS_NS { +class Compute; class Integrate : protected Pointers { public: diff --git a/src/lammps.cpp b/src/lammps.cpp index 3329cb8d7b..b3659fdf50 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -66,7 +66,6 @@ #include "lmpinstalledpkgs.h" #include "lmpgitversion.h" -#include "lmpfftsettings.h" #if defined(LAMMPS_UPDATE) #define UPDATE_STRING " - " LAMMPS_UPDATE diff --git a/src/lattice.cpp b/src/lattice.cpp index fa50a9ea94..e84bd87876 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -17,6 +17,7 @@ #include "comm.h" #include "domain.h" #include "error.h" +#include "math_extra.h" #include "memory.h" #include "update.h" @@ -24,6 +25,7 @@ #include using namespace LAMMPS_NS; +using namespace MathExtra; static constexpr double BIG = 1.0e30; @@ -138,6 +140,9 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // process optional args + triclinic_general = 0; + oriented = 0; + int iarg = 2; while (iarg < narg) { if (strcmp(arg[iarg],"origin") == 0) { @@ -186,6 +191,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) a1[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); a1[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; + } else if (strcmp(arg[iarg],"a2") == 0) { if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "lattice a2", error); if (style != CUSTOM) @@ -221,6 +227,11 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) error->all(FLERR, "Invalid lattice basis argument: {}", z); add_basis(x,y,z); iarg += 4; + + } else if (strcmp(arg[iarg],"triclinic/general") == 0) { + triclinic_general = 1; + iarg++; + } else error->all(FLERR,"Unknown lattice keyword: {}", arg[iarg]); } @@ -229,24 +240,54 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) if (nbasis == 0) error->all(FLERR,"No basis atoms in lattice"); if (!orthogonal()) error->all(FLERR,"Lattice orient vectors are not orthogonal"); - if (!right_handed()) + if (!right_handed_orientation()) error->all(FLERR,"Lattice orient vectors are not right-handed"); if (collinear()) error->all(FLERR,"Lattice primitive vectors are collinear"); + // requirements for 2d system + if (dimension == 2) { if (origin[2] != 0.0) error->all(FLERR, - "Lattice settings are not compatible with 2d simulation"); + "Lattice origin z coord must be 0.0 for 2d simulation"); + if (a1[2] != 0.0 || a2[2] != 0.0 || a3[0] != 0.0 || a3[1] != 0.0) + error->all(FLERR, + "Lattice a1/a2/a3 vectors are not compatible with 2d simulation"); if (orientx[2] != 0 || orienty[2] != 0 || orientz[0] != 0 || orientz[1] != 0) error->all(FLERR, - "Lattice settings are not compatible with 2d simulation"); - if (a1[2] != 0.0 || a2[2] != 0.0 || a3[0] != 0.0 || a3[1] != 0.0) - error->all(FLERR, - "Lattice settings are not compatible with 2d simulation"); + "Lattice orient vectors are not compatible with 2d simulation"); + for (int i = 0; i < nbasis; i++) + if (basis[i][2] != 0.0) + error->all(FLERR,"Lattice basis atom z coords must be zero for 2d simulation"); } + // additional requirements for a general triclinic lattice + // a123 prime are used to compute lattice spacings + + if (triclinic_general) { + if (style != CUSTOM) + error->all(FLERR,"Lattice triclinic/general must be style = CUSTOM"); + if (origin[0] != 0.0 || origin[1] != 0.0 || origin[2] != 0.0) + error->all(FLERR,"Lattice triclinic/general must have default origin"); + int oriented = 0; + if (orientx[0] != 1 || orientx[1] != 0 || orientx[2] != 0) oriented = 1; + if (orienty[0] != 0 || orienty[1] != 1 || orienty[2] != 0) oriented = 1; + if (orientz[0] != 0 || orientz[1] != 0 || orientz[2] != 1) oriented = 1; + if (oriented) + error->all(FLERR,"Lattice triclinic/general must have default orientation"); + if (dimension == 2 && (a3[0] != 0.0 || a3[1] != 0.0 || a3[2] != 1.0)) + error->all(FLERR,"Lattice triclinic/general a3 vector for a 2d simulation must be (0,0,1)"); + if (!right_handed_primitive()) + error->all(FLERR,"Lattice triclinic/general a1,a2,a3 must be right-handed"); + + double rotmat[3][3]; + domain->general_to_restricted_rotation(a1,a2,a3,rotmat,a1_prime,a2_prime,a3_prime); + } + + // user-defined lattice spacings must all be positive + if (spaceflag) { if (xlattice <= 0.0 || ylattice <= 0.0 || zlattice <= 0.0) error->all(FLERR,"Lattice spacings are invalid"); @@ -254,18 +295,20 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // reset scale for LJ units (input scale is rho*) // scale = (Nbasis/(Vprimitive * rho*)) ^ (1/dim) + // use fabs() in case a1,a2,a3 are not right-handed for general triclinic if (strcmp(update->unit_style,"lj") == 0) { double vec[3]; - cross(a2,a3,vec); - double volume = dot(a1,vec); + MathExtra::cross3(a2,a3,vec); + double volume = fabs(MathExtra::dot3(a1,vec)); scale = pow(nbasis/volume/scale,1.0/dimension); } // initialize lattice <-> box transformation matrices - setup_transform(); + setup_transform(a1,a2,a3); + // automatic calculation of lattice spacings // convert 8 corners of primitive unit cell from lattice coords to box coords // min to max = bounding box around the pts in box space // xlattice,ylattice,zlattice = extent of bbox in box space @@ -278,6 +321,14 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) xmax = ymax = zmax = -BIG; xlattice = ylattice = zlattice = 0.0; + // for general triclinic, bounding box is around unit cell + // in restricted triclinic orientation, NOT general + // this enables lattice spacings to be used for other commands (e.g. region) + // after create_box and create_atoms create the restricted triclnic system + // reset transform used by bbox() to be based on rotated a123 prime vectors + + if (triclinic_general) setup_transform(a1_prime,a2_prime,a3_prime); + bbox(0,0.0,0.0,0.0,xmin,ymin,zmin,xmax,ymax,zmax); bbox(0,1.0,0.0,0.0,xmin,ymin,zmin,xmax,ymax,zmax); bbox(0,0.0,1.0,0.0,xmin,ymin,zmin,xmax,ymax,zmax); @@ -287,10 +338,16 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) bbox(0,0.0,1.0,1.0,xmin,ymin,zmin,xmax,ymax,zmax); bbox(0,1.0,1.0,1.0,xmin,ymin,zmin,xmax,ymax,zmax); + // restore original general triclinic a123 transform + + if (triclinic_general) setup_transform(a1,a2,a3); + xlattice = xmax - xmin; ylattice = ymax - ymin; zlattice = zmax - zmin; + // user-defined lattice spacings + } else { xlattice *= scale; ylattice *= scale; @@ -311,6 +368,17 @@ Lattice::~Lattice() memory->destroy(basis); } +/* ---------------------------------------------------------------------- + return 1 if lattice is for a general triclinic simulation box + queried by create_box and create_atoms +------------------------------------------------------------------------- */ + +int Lattice::is_general_triclinic() +{ + if (triclinic_general) return 1; + return 0; +} + /* ---------------------------------------------------------------------- check if 3 orientation vectors are mutually orthogonal ------------------------------------------------------------------------- */ @@ -331,7 +399,7 @@ int Lattice::orthogonal() x cross y must be in same direction as z ------------------------------------------------------------------------- */ -int Lattice::right_handed() +int Lattice::right_handed_orientation() { int xy0 = orientx[1]*orienty[2] - orientx[2]*orienty[1]; int xy1 = orientx[2]*orienty[0] - orientx[0]*orienty[2]; @@ -340,19 +408,33 @@ int Lattice::right_handed() return 1; } +/* ---------------------------------------------------------------------- + check righthandedness of a1,a2,a3 primitive vectors + x cross y must be in same direction as z +------------------------------------------------------------------------- */ + +int Lattice::right_handed_primitive() +{ + double vec[3]; + MathExtra::cross3(a1,a2,vec); + if (MathExtra::dot3(vec,a3) <= 0.0) return 0; + return 1; +} + /* ---------------------------------------------------------------------- check collinearity of each pair of primitive vectors + also checks if any primitive vector is zero-length ------------------------------------------------------------------------- */ int Lattice::collinear() { double vec[3]; - cross(a1,a2,vec); - if (dot(vec,vec) == 0.0) return 1; - cross(a2,a3,vec); - if (dot(vec,vec) == 0.0) return 1; - cross(a1,a3,vec); - if (dot(vec,vec) == 0.0) return 1; + MathExtra::cross3(a1,a2,vec); + if (MathExtra::len3(vec) == 0.0) return 1; + MathExtra::cross3(a2,a3,vec); + if (MathExtra::len3(vec) == 0.0) return 1; + MathExtra::cross3(a1,a3,vec); + if (MathExtra::len3(vec) == 0.0) return 1; return 0; } @@ -360,21 +442,21 @@ int Lattice::collinear() initialize lattice <-> box transformation matrices ------------------------------------------------------------------------- */ -void Lattice::setup_transform() +void Lattice::setup_transform(double *a, double *b, double *c) { double length; // primitive = 3x3 matrix with primitive vectors as columns - primitive[0][0] = a1[0]; - primitive[1][0] = a1[1]; - primitive[2][0] = a1[2]; - primitive[0][1] = a2[0]; - primitive[1][1] = a2[1]; - primitive[2][1] = a2[2]; - primitive[0][2] = a3[0]; - primitive[1][2] = a3[1]; - primitive[2][2] = a3[2]; + primitive[0][0] = a[0]; + primitive[1][0] = a[1]; + primitive[2][0] = a[2]; + primitive[0][1] = b[0]; + primitive[1][1] = b[1]; + primitive[2][1] = b[2]; + primitive[0][2] = c[0]; + primitive[1][2] = c[1]; + primitive[2][2] = c[2]; // priminv = inverse of primitive @@ -532,28 +614,9 @@ void Lattice::add_basis(double x, double y, double z) } /* ---------------------------------------------------------------------- - return x dot y -------------------------------------------------------------------------- */ - -double Lattice::dot(double *x, double *y) -{ - return x[0]*y[0] + x[1]*y[1] + x[2]*y[2]; -} - -/* ---------------------------------------------------------------------- - z = x cross y -------------------------------------------------------------------------- */ - -void Lattice::cross(double *x, double *y, double *z) -{ - z[0] = x[1]*y[2] - x[2]*y[1]; - z[1] = x[2]*y[0] - x[0]*y[2]; - z[2] = x[0]*y[1] - x[1]*y[0]; -} - -/* ---------------------------------------------------------------------- - convert x,y,z from lattice coords to box coords (flag = 0) or vice versa - use new point to expand bounding box (min to max) + convert x,y,z from lattice coords to box coords (flag = 0) + or from box coords to lattice coords (flag = 1) + either way, use new point to expand bounding box (min to max) ------------------------------------------------------------------------- */ void Lattice::bbox(int flag, double x, double y, double z, diff --git a/src/lattice.h b/src/lattice.h index 5b98f580b7..b5eca8c13a 100644 --- a/src/lattice.h +++ b/src/lattice.h @@ -35,23 +35,31 @@ class Lattice : protected Pointers { void box2lattice(double &, double &, double &); void bbox(int, double, double, double, double &, double &, double &, double &, double &, double &); + int is_general_triclinic(); private: + int triclinic_general; // 1 if general triclinic, else 0 + int oriented; // 1 if non-default orient xyz, else 0 double scale; double origin[3]; // lattice origin int orientx[3]; // lattice orientation vecs int orienty[3]; // orientx = what lattice dir lies int orientz[3]; // along x dim in box - double primitive[3][3]; // lattice <-> box transform matrices + double primitive[3][3]; // lattice <-> box transformation matrices double priminv[3][3]; double rotaterow[3][3]; double rotatecol[3][3]; + double a1_prime[3]; // a123 rotated to restricted triclinic orientation + double a2_prime[3]; + double a3_prime[3]; + int orthogonal(); - int right_handed(); + int right_handed_orientation(); + int right_handed_primitive(); int collinear(); - void setup_transform(); + void setup_transform(double *, double *, double *); void add_basis(double, double, double); double dot(double *, double *); void cross(double *, double *, double *); diff --git a/src/library.cpp b/src/library.cpp index fcf0f6a631..75d74f4bf8 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -527,7 +527,7 @@ void lammps_file(void *handle, const char *filename) BEGIN_CAPTURE { if (lmp->update->whichflag != 0) - lmp->error->all(FLERR, "Library error: issuing LAMMPS commands during a run is not allowed"); + lmp->error->all(FLERR, "Issuing LAMMPS commands during a run is not allowed"); else lmp->input->file(filename); } @@ -564,8 +564,7 @@ char *lammps_command(void *handle, const char *cmd) BEGIN_CAPTURE { if (lmp->update->whichflag != 0) - lmp->error->all(FLERR,"Library error: issuing LAMMPS commands " - "during a run is not allowed."); + lmp->error->all(FLERR, "Issuing LAMMPS command during a run is not allowed."); else result = lmp->input->one(cmd); } @@ -641,7 +640,7 @@ void lammps_commands_string(void *handle, const char *str) BEGIN_CAPTURE { if (lmp->update->whichflag != 0) { - lmp->error->all(FLERR,"Library error: issuing LAMMPS command during run"); + lmp->error->all(FLERR, "Issuing LAMMPS commands during a run is not allowed"); } std::size_t cursor = 0; @@ -949,9 +948,9 @@ void lammps_extract_box(void *handle, double *boxlo, double *boxhi, BEGIN_CAPTURE { // do nothing if box does not yet exist - if ((lmp->domain->box_exist == 0) - && (lmp->comm->me == 0)) { - lmp->error->warning(FLERR,"Calling lammps_extract_box without a box"); + if (lmp->domain->box_exist == 0) { + if (lmp->comm->me == 0) + lmp->error->warning(FLERR, "Call to lammps_extract_box() without a box ignored"); return; } @@ -1011,12 +1010,12 @@ void lammps_reset_box(void *handle, double *boxlo, double *boxhi, BEGIN_CAPTURE { if (lmp->atom->natoms > 0) - lmp->error->all(FLERR,"Calling lammps_reset_box not supported when atoms exist"); + lmp->error->all(FLERR, "Calling lammps_reset_box() not supported when atoms exist"); // warn and do nothing if no box exists if (lmp->domain->box_exist == 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Ignoring call to lammps_reset_box without a box"); + lmp->error->warning(FLERR,"Call to lammps_reset_box() without a box ignored"); return; } @@ -2137,7 +2136,8 @@ available. .. code-block:: c - double *dptr = (double *) lammps_extract_fix(handle,name,0,1,0,0); + double *dptr = (double *) lammps_extract_fix(handle, name, + LMP_STYLE_GLOBAL, LMP_TYPE_VECTOR, 0, 0); double value = *dptr; lammps_free((void *)dptr); @@ -2628,7 +2628,14 @@ x[0][2], x[1][0], x[1][1], x[1][2], x[2][0], :math:`\dots`); *natoms*), as queried by :cpp:func:`lammps_get_natoms`, :cpp:func:`lammps_extract_global`, or :cpp:func:`lammps_extract_setting`. -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined and consecutive. + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -2649,8 +2656,7 @@ This function is not compatible with ``-DLAMMPS_BIGBIG``. Allreduce to sum vector into data across all procs ------------------------------------------------------------------------- */ -void lammps_gather_atoms(void *handle, const char *name, int type, int count, - void *data) +void lammps_gather_atoms(void *handle, const char *name, int type, int count, void *data) { auto lmp = (LAMMPS *) handle; @@ -2670,8 +2676,7 @@ void lammps_gather_atoms(void *handle, const char *name, int type, int count, flag = 1; if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_gather_atoms"); + lmp->error->all(FLERR,"lammps_gather_atoms(): Atom-IDs must exist and be consecutive"); return; } @@ -2679,8 +2684,7 @@ void lammps_gather_atoms(void *handle, const char *name, int type, int count, void *vptr = lmp->atom->extract(name); if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_atoms: unknown property name"); + lmp->error->all(FLERR, "lammps_gather_atoms(): unknown property {}", name); return; } @@ -2755,8 +2759,7 @@ void lammps_gather_atoms(void *handle, const char *name, int type, int count, MPI_Allreduce(copy,data,count*natoms,MPI_DOUBLE,MPI_SUM,lmp->world); lmp->memory->destroy(copy); } else { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_atoms: unsupported data type"); + lmp->error->all(FLERR,"lammps_gather_atoms(): unsupported data type"); return; } #endif @@ -2784,10 +2787,17 @@ groups total, but not in order by atom ID (e.g., if *name* is *x* and *count* is 3, then *data* might be something like x[10][0], x[10][1], x[10][2], x[2][0], x[2][1], x[2][2], x[4][0], :math:`\dots`); *data* must be pre-allocated by the caller to length (*count* :math:`\times` *natoms*), as -queried by :cpp:func:`lammps_get_natoms`, -:cpp:func:`lammps_extract_global`, or :cpp:func:`lammps_extract_setting`. +queried by :cpp:func:`lammps_get_natoms`, :cpp:func:`lammps_extract_global`, +or :cpp:func:`lammps_extract_setting`. -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined. + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -2827,8 +2837,7 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, if (lmp->atom->tag_enable == 0) flag = 1; if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_gather_atoms"); + lmp->error->all(FLERR,"lammps_gather_atoms_concat(): Atom-IDs must exist"); return; } @@ -2836,8 +2845,7 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, void *vptr = lmp->atom->extract(name); if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_atoms: unknown property name"); + lmp->error->all(FLERR,"lammps_gather_atoms_concat(): unknown property {}", name); return; } @@ -2857,10 +2865,6 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, if ((count == 1) || imgunpack) vector = (int *) vptr; else array = (int **) vptr; - int *copy; - lmp->memory->create(copy,count*natoms,"lib/gather:copy"); - for (i = 0; i < count*natoms; i++) copy[i] = 0; - int nlocal = lmp->atom->nlocal; if (count == 1) { @@ -2868,11 +2872,13 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, displs[0] = 0; for (i = 1; i < nprocs; i++) displs[i] = displs[i-1] + recvcounts[i-1]; - MPI_Allgatherv(vector,nlocal,MPI_INT,data,recvcounts,displs, - MPI_INT,lmp->world); + MPI_Allgatherv(vector,nlocal,MPI_INT,data,recvcounts,displs,MPI_INT,lmp->world); } else if (imgunpack) { - lmp->memory->create(copy,count*nlocal,"lib/gather:copy"); + int *copy; + lmp->memory->create(copy,count*natoms,"lib/gather:copy"); + for (i = 0; i < count*natoms; i++) copy[i] = 0; + offset = 0; for (i = 0; i < nlocal; i++) { const int image = vector[i]; @@ -2885,8 +2891,7 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, displs[0] = 0; for (i = 1; i < nprocs; i++) displs[i] = displs[i-1] + recvcounts[i-1]; - MPI_Allgatherv(copy,count*nlocal,MPI_INT, - data,recvcounts,displs,MPI_INT,lmp->world); + MPI_Allgatherv(copy,count*nlocal,MPI_INT,data,recvcounts,displs,MPI_INT,lmp->world); lmp->memory->destroy(copy); } else { @@ -2895,8 +2900,7 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, displs[0] = 0; for (i = 1; i < nprocs; i++) displs[i] = displs[i-1] + recvcounts[i-1]; - MPI_Allgatherv(&array[0][0],count*nlocal,MPI_INT, - data,recvcounts,displs,MPI_INT,lmp->world); + MPI_Allgatherv(&array[0][0],count*nlocal,MPI_INT,data,recvcounts,displs,MPI_INT,lmp->world); } } else { @@ -2912,8 +2916,7 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, displs[0] = 0; for (i = 1; i < nprocs; i++) displs[i] = displs[i-1] + recvcounts[i-1]; - MPI_Allgatherv(vector,nlocal,MPI_DOUBLE,data,recvcounts,displs, - MPI_DOUBLE,lmp->world); + MPI_Allgatherv(vector,nlocal,MPI_DOUBLE,data,recvcounts,displs,MPI_DOUBLE,lmp->world); } else { int n = count*nlocal; @@ -2951,7 +2954,14 @@ x[100][2], x[57][0], x[57][1], x[57][2], x[210][0], :math:`\dots`); *data* must be pre-allocated by the caller to length (*count* :math:`\times` *ndata*). -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined and an :doc:`atom map must be enabled ` + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -2997,16 +3007,13 @@ void lammps_gather_atoms_subset(void *handle, const char *name, int type, if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (lmp->atom->map_style == Atom::MAP_NONE) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_gather_atoms_subset: atoms must have mappable ids"); + lmp->error->all(FLERR,"lammps_gather_atoms_subset(): Atom-IDs must exist and be mapped"); return; } void *vptr = lmp->atom->extract(name); if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_atoms_subset: " - "unknown property name"); + lmp->error->all(FLERR,"lammps_gather_atoms_subset(): unknown property {}", name); return; } @@ -3114,7 +3121,15 @@ atom ID (e.g., if *name* is *x* and *count* = 3, then *data* = {x[0][0], x[0][1], x[0][2], x[1][0], x[1][1], x[1][2], x[2][0], :math:`\dots`}); *data* must be of length (*count* :math:`\times` *natoms*). -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined, must be consecutive, and an + :doc:`atom map must be enabled ` + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -3156,8 +3171,8 @@ void lammps_scatter_atoms(void *handle, const char *name, int type, int count, if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (lmp->atom->map_style == Atom::MAP_NONE) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_scatter_atoms: ids must exist, be consecutive, and be mapped"); + lmp->error->all(FLERR,"lammps_scatter_atoms(): " + "Atom-IDs must exist, be consecutive, and be mapped"); return; } @@ -3165,16 +3180,10 @@ void lammps_scatter_atoms(void *handle, const char *name, int type, int count, void *vptr = lmp->atom->extract(name); if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR, - "lammps_scatter_atoms: unknown property name"); + lmp->error->all(FLERR, "lammps_scatter_atoms(): unknown property {}", name); return; } - // copy = Natom length vector of per-atom values - // use atom ID to insert each atom's values into copy - // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID - if (type == 0) { int *vector = nullptr; int **array = nullptr; @@ -3252,7 +3261,14 @@ to be the array {x[1][0], x[1][1], x[1][2], x[100][0], x[100][1], x[100][2], x[57][0], x[57][1], x[57][2]}, then *count* = 3, *ndata* = 3, and *ids* would be {1, 100, 57}. -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined and an :doc:`atom map must be enabled ` + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -3309,23 +3325,16 @@ void lammps_scatter_atoms_subset(void *handle, const char *name, int type, if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (lmp->atom->map_style == Atom::MAP_NONE) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_scatter_atoms_subset: atoms must have mapped ids"); + lmp->error->all(FLERR,"lammps_scatter_atoms_subset(): Atom-IDs must exist and be mapped"); return; } void *vptr = lmp->atom->extract(name); if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR, - "lammps_scatter_atoms_subset: unknown property name"); + lmp->error->all(FLERR, "lammps_scatter_atoms_subset(): unknown property {}", name); return; } - // copy = Natom length vector of per-atom values - // use atom ID to insert each atom's values into copy - // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID - if (type == 0) { int *vector = nullptr; int **array = nullptr; @@ -3861,7 +3870,14 @@ The *data* array will be ordered in groups of *count* values, sorted by atom ID This function will return an error if fix or compute data are requested and the fix or compute ID given does not have per-atom data. -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined and must be consecutive. + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -3911,7 +3927,7 @@ void lammps_gather(void *handle, const char *name, int type, int count, void *da BEGIN_CAPTURE { #if defined(LAMMPS_BIGBIG) - lmp->error->all(FLERR,"Library function lammps_gather not compatible with -DLAMMPS_BIGBIG"); + lmp->error->all(FLERR, "Library function lammps_gather() is not compatible with -DLAMMPS_BIGBIG"); #else int i,j,offset,ltype; @@ -3922,8 +3938,7 @@ void lammps_gather(void *handle, const char *name, int type, int count, void *da flag = 1; if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_gather"); + lmp->error->all(FLERR,"lammps_gather(): Atom-IDs must exist, and be consecutive"); return; } @@ -3933,28 +3948,25 @@ void lammps_gather(void *handle, const char *name, int type, int count, void *da // fix if (vptr==nullptr && utils::strmatch(name,"^f_")) { + const char *fixid = name+2; - auto fix = lmp->modify->get_fix_by_id(&name[2]); + auto fix = lmp->modify->get_fix_by_id(fixid); if (!fix) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: unknown fix id"); + lmp->error->all(FLERR,"lammps_gather(): unknown fix id {}", fixid); return; } if (fix->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: fix does not return peratom data"); + lmp->error->all(FLERR,"lammps_gather(): fix {} does not return peratom data", fixid); return; } if ((count > 1) && (fix->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: count != values peratom for fix"); + lmp->error->all(FLERR,"lammps_gather: count != values peratom for fix {}", fixid); return; } if (lmp->update->ntimestep % fix->peratom_freq) { - if (lmp->comm->me == 0) - lmp->error->all(FLERR,"lammps_gather: fix not computed at compatible time"); + lmp->error->all(FLERR,"lammps_gather: fix {} not computed at compatible time", fixid); return; } @@ -3965,22 +3977,19 @@ void lammps_gather(void *handle, const char *name, int type, int count, void *da // compute if (vptr==nullptr && utils::strmatch(name,"^c_")) { - - auto compute = lmp->modify->get_compute_by_id(&name[2]); + const char *compid = name+2; + auto compute = lmp->modify->get_compute_by_id(compid); if (!compute) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: unknown compute id"); + lmp->error->all(FLERR,"lammps_gather(): unknown compute id {}", compid); return; } if (compute->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: compute does not return peratom data"); + lmp->error->all(FLERR,"lammps_gather(): compute {} does not return peratom data", compid); return; } if ((count > 1) && (compute->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: count != values peratom for compute"); + lmp->error->all(FLERR,"lammps_gather(): count != values peratom for compute {}", compid); return; } @@ -3996,28 +4005,26 @@ void lammps_gather(void *handle, const char *name, int type, int count, void *da if ((vptr == nullptr) && utils::strmatch(name,"^[id]2?_")) { int idx,icol; - if (utils::strmatch(name,"^[id]_")) idx = lmp->atom->find_custom(&name[2],ltype,icol); - else idx = lmp->atom->find_custom(&name[3],ltype,icol); + const char *propid; + if (utils::strmatch(name,"^[id]_")) propid = name+2; + else propid = name+3; + idx = lmp->atom->find_custom(propid,ltype,icol); if (idx < 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: unknown property/atom id"); + lmp->error->all(FLERR,"lammps_gather(): unknown property/atom id {}", propid); return; } if (ltype != type) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom type"); + lmp->error->all(FLERR,"lammps_gather(): mismatch property/atom type for {}", propid); return; } if ((count == 1) && (icol != 0)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_gather(): mismatch property/atom count for {}", propid); return; } if ((count > 1) && (icol != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_gather(): mismatch property/atom count for {}", propid); return; } @@ -4033,8 +4040,7 @@ void lammps_gather(void *handle, const char *name, int type, int count, void *da // no match if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: undefined property name"); + lmp->error->all(FLERR,"lammps_gather(): undefined property {}", name); return; } @@ -4134,7 +4140,14 @@ pre-allocated by the caller to length (*count* :math:`\times` *natoms*), as quer :cpp:func:`lammps_get_natoms`, :cpp:func:`lammps_extract_global`, or :cpp:func:`lammps_extract_setting`. -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined. + + The total number of atoms must be less than 2147483647 (max 32-bit signed int). \endverbatim * @@ -4185,8 +4198,8 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, BEGIN_CAPTURE { #if defined(LAMMPS_BIGBIG) - lmp->error->all(FLERR,"Library function lammps_gather_concat" - " not compatible with -DLAMMPS_BIGBIG"); + lmp->error->all(FLERR,"Library function lammps_gather_concat()" + " is not compatible with -DLAMMPS_BIGBIG"); #else int i,offset,ltype; @@ -4196,8 +4209,7 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, if (lmp->atom->tag_enable == 0) flag = 1; if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_gather_concat"); + lmp->error->all(FLERR,"lammps_gather_concat(): atom-IDs must exist"); return; } @@ -4207,27 +4219,24 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, // fix if (vptr==nullptr && utils::strmatch(name,"^f_")) { - - auto fix = lmp->modify->get_fix_by_id(&name[2]); + const char *fixid = name+2; + auto fix = lmp->modify->get_fix_by_id(fixid); if (!fix) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: unknown fix id"); + lmp->error->all(FLERR,"lammps_gather_concat(): unknown fix id {}", fixid); return; } if (fix->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: fix does not return peratom data"); + lmp->error->all(FLERR,"lammps_gather_concat(): fix {} does not return peratom data", fixid); return; } if ((count > 1) && (fix->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: count != values peratom for fix"); + lmp->error->all(FLERR,"lammps_gather_concat(): count != values peratom for fix {}", fixid); return; } if (lmp->update->ntimestep % fix->peratom_freq) { - if (lmp->comm->me == 0) - lmp->error->all(FLERR,"lammps_gather_concat: fix not computed at compatible time"); + lmp->error->all(FLERR,"lammps_gather_concat(): fix {} not computed at compatible time", + fixid); return; } @@ -4239,21 +4248,21 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, if (vptr==nullptr && utils::strmatch(name,"^c_")) { - auto compute = lmp->modify->get_compute_by_id(&name[2]); + const char *compid = name + 2; + auto compute = lmp->modify->get_compute_by_id(compid); if (!compute) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: unknown compute id"); + lmp->error->all(FLERR,"lammps_gather_concat(): unknown compute id {}", compid); return; } if (compute->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: compute does not return peratom data"); + lmp->error->all(FLERR,"lammps_gather_concat(): compute {} does not return peratom data", + compid); return; } if ((count > 1) && (compute->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: count != values peratom for compute"); + lmp->error->all(FLERR,"lammps_gather_concat(): count != values peratom for compute {}", + compid); return; } @@ -4269,28 +4278,26 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, if ((vptr==nullptr) && utils::strmatch(name,"^[id]2?_")) { int idx,icol; - if (utils::strmatch(name,"^[id]_")) idx = lmp->atom->find_custom(&name[2],ltype,icol); - else idx = lmp->atom->find_custom(&name[3],ltype,icol); + const char *propid; + if (utils::strmatch(name,"^[id]_")) propid = name + 2; + else propid = name + 3; + idx = lmp->atom->find_custom(propid,ltype,icol); if (idx < 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: unknown property/atom id"); + lmp->error->all(FLERR,"lammps_gather_concat(): unknown property/atom id {}", propid); return; } if (ltype != type) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: mismatch property/atom type"); + lmp->error->all(FLERR,"lammps_gather_concat(): mismatch property/atom {} type", propid); return; } if ((count == 1) && (icol != 0)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_gather_concat(): mismatch property/atom {} count", propid); return; } if ((count > 1) && (icol != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_gather_concat(): mismatch property/atom {} count", propid); return; } @@ -4306,8 +4313,7 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, // no match if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: undefined property name"); + lmp->error->all(FLERR,"lammps_gather_concat(): undefined property {}", name); return; } @@ -4328,10 +4334,6 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, if ((count == 1) || imgunpack) vector = (int *) vptr; else array = (int **) vptr; - int *copy; - lmp->memory->create(copy,count*natoms,"lib/gather:copy"); - for (i = 0; i < count*natoms; i++) copy[i] = 0; - int nlocal = lmp->atom->nlocal; if (count == 1) { @@ -4343,7 +4345,10 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, MPI_INT,lmp->world); } else if (imgunpack) { - lmp->memory->create(copy,count*nlocal,"lib/gather:copy"); + int *copy; + lmp->memory->create(copy,count*natoms,"lib/gather:copy"); + for (i = 0; i < count*natoms; i++) copy[i] = 0; + offset = 0; for (i = 0; i < nlocal; i++) { const int image = vector[i]; @@ -4356,8 +4361,7 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, displs[0] = 0; for (i = 1; i < nprocs; i++) displs[i] = displs[i-1] + recvcounts[i-1]; - MPI_Allgatherv(copy,count*nlocal,MPI_INT, - data,recvcounts,displs,MPI_INT,lmp->world); + MPI_Allgatherv(copy,count*nlocal,MPI_INT,data,recvcounts,displs,MPI_INT,lmp->world); lmp->memory->destroy(copy); } else { @@ -4366,8 +4370,7 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, displs[0] = 0; for (i = 1; i < nprocs; i++) displs[i] = displs[i-1] + recvcounts[i-1]; - MPI_Allgatherv(&array[0][0],count*nlocal,MPI_INT, - data,recvcounts,displs,MPI_INT,lmp->world); + MPI_Allgatherv(&array[0][0],count*nlocal,MPI_INT,data,recvcounts,displs,MPI_INT,lmp->world); } } else { @@ -4420,7 +4423,14 @@ look like {x[100][0], x[100][1], x[100][2], x[57][0], x[57][1], x[57][2], x[210] :math:`\dots`}); *ids* must be provided by the user with length *ndata*, and *data* must be pre-allocated by the caller to length (*count*\ :math:`{}\times{}`\ *ndata*). -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined and an :doc:`atom map must be enabled ` + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -4486,8 +4496,7 @@ void lammps_gather_subset(void *handle, const char *name, int type, int count, if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (lmp->atom->map_style == Atom::MAP_NONE) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_gather_subset"); + lmp->error->all (FLERR,"lammps_gather_subset(): atom IDs must be enabled and mapped"); return; } @@ -4496,26 +4505,24 @@ void lammps_gather_subset(void *handle, const char *name, int type, int count, // fix if (vptr==nullptr && utils::strmatch(name,"^f_")) { + const char *fixid = name + 2; - auto fix = lmp->modify->get_fix_by_id(&name[2]); + auto fix = lmp->modify->get_fix_by_id(fixid); if (!fix) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: unknown fix id"); + lmp->error->all(FLERR,"lammps_gather_subset(): unknown fix id {}", fixid); return; } if (fix->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: fix does not return peratom data"); + lmp->error->all(FLERR,"lammps_gather_subset(): fix {} does not return peratom data", fixid); return; } if ((count > 1) && (fix->size_peratom_cols != count)) { - lmp->error->warning(FLERR,"lammps_gather_subset: count != values peratom for fix"); + lmp->error->all(FLERR,"lammps_gather_subset(): count != values peratom for fix {}", fixid); return; } if (lmp->update->ntimestep % fix->peratom_freq) { - if (lmp->comm->me == 0) - lmp->error->all(FLERR,"lammps_gather_subset: fix not computed at compatible time"); + lmp->error->all(FLERR,"lammps_gather_subset(): fix {} not computed at compatible time", fixid); return; } @@ -4526,22 +4533,21 @@ void lammps_gather_subset(void *handle, const char *name, int type, int count, // compute if (vptr==nullptr && utils::strmatch(name,"^c_")) { - - auto compute = lmp->modify->get_compute_by_id(&name[2]); + const char *compid = name + 2; + auto compute = lmp->modify->get_compute_by_id(compid); if (!compute) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: unknown compute id"); + lmp->error->all(FLERR,"lammps_gather_subset(): unknown compute id {}", compid); return; } if (compute->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: compute does not return peratom data"); + lmp->error->all(FLERR,"lammps_gather_subset(): compute {} does not return peratom data", + compid); return; } if ((count > 1) && (compute->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: count != values peratom for compute"); + lmp->error->all(FLERR,"lammps_gather_subset(): count != values peratom for compute {}", + compid); return; } @@ -4557,28 +4563,26 @@ void lammps_gather_subset(void *handle, const char *name, int type, int count, if ((vptr == nullptr) && utils::strmatch(name,"^[id]2?_")) { int idx,icol; - if (utils::strmatch(name,"^[id]_")) idx = lmp->atom->find_custom(&name[2],ltype,icol); - else idx = lmp->atom->find_custom(&name[3],ltype,icol); + const char *propid; + if (utils::strmatch(name,"^[id]_")) propid = name + 2; + else propid = name + 3; + idx = lmp->atom->find_custom(propid,ltype,icol); if (idx < 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: unknown property/atom id"); + lmp->error->all(FLERR,"lammps_gather_subset(): unknown property/atom id {}", propid); return; } if (ltype != type) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: mismatch property/atom type"); + lmp->error->all(FLERR,"lammps_gather_subset(): mismatch property/atom {} type", propid); return; } if (count == 1 && icol != 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_gather_subset(): mismatch property/atom {} count", propid); return; } if (count > 1 && icol != count) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_gather_subset(): mismatch property/atom {} count", propid); return; } @@ -4594,8 +4598,7 @@ void lammps_gather_subset(void *handle, const char *name, int type, int count, // no match if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: undefined property name"); + lmp->error->all(FLERR,"lammps_gather_subset(): undefined property {}", name); return; } @@ -4703,7 +4706,15 @@ The *data* array needs to be ordered in groups of *count* values, sorted by atom *name* is *x* and *count* = 3, then *data* = {x[0][0], x[0][1], x[0][2], x[1][0], x[1][1], x[1][2], x[2][0], :math:`\dots`}); *data* must be of length (*count* :math:`\times` *natoms*). -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined, must be consecutive, and an + :doc:`atom map must be enabled ` + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -4766,8 +4777,7 @@ void lammps_scatter(void *handle, const char *name, int type, int count, if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (lmp->atom->map_style == Atom::MAP_NONE) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_scatter"); + lmp->error->all(FLERR,"lammps_scatter(): atom IDs must be defined, consecutive, and mapped"); return; } @@ -4777,22 +4787,19 @@ void lammps_scatter(void *handle, const char *name, int type, int count, // fix if (vptr==nullptr && utils::strmatch(name,"^f_")) { - - auto fix = lmp->modify->get_fix_by_id(&name[2]); + const char *fixid = name + 2; + auto fix = lmp->modify->get_fix_by_id(fixid); if (!fix) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: unknown fix id"); + lmp->error->all(FLERR,"lammps_scatter(): unknown fix id {}", fixid); return; } if (fix->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: fix does not return peratom data"); + lmp->error->all(FLERR,"lammps_scatter(): fix {} does not return peratom data", fixid); return; } if ((count > 1) && (fix->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: count != values peratom for fix"); + lmp->error->all(FLERR,"lammps_scatter(): count != values peratom for fix {}", fixid); return; } @@ -4803,22 +4810,19 @@ void lammps_scatter(void *handle, const char *name, int type, int count, // compute if (vptr==nullptr && utils::strmatch(name,"^c_")) { - - auto compute = lmp->modify->get_compute_by_id(&name[2]); + const char *compid = name + 2; + auto compute = lmp->modify->get_compute_by_id(compid); if (!compute) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: unknown compute id"); + lmp->error->all(FLERR,"lammps_scatter(): unknown compute id {}",compid); return; } if (compute->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: compute does not return peratom data"); + lmp->error->all(FLERR,"lammps_scatter(): compute {} does not return peratom data", compid); return; } if ((count > 1) && (compute->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: count != values peratom for compute"); + lmp->error->all(FLERR,"lammps_scatter(): count != values peratom for compute {}", compid); return; } @@ -4834,28 +4838,26 @@ void lammps_scatter(void *handle, const char *name, int type, int count, if ((vptr == nullptr) && utils::strmatch(name,"^[id]2?_")) { int idx,icol; - if (utils::strmatch(name,"^[id]_")) idx = lmp->atom->find_custom(&name[2],ltype,icol); - else idx = lmp->atom->find_custom(&name[3],ltype,icol); + const char *propid; + if (utils::strmatch(name,"^[id]_")) propid = name + 2; + else propid = name + 3; + idx = lmp->atom->find_custom(propid,ltype,icol); if (idx < 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: unknown property/atom id"); + lmp->error->all(FLERR,"lammps_scatter(): unknown property/atom id {}", propid); return; } if (ltype != type) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: mismatch property/atom type"); + lmp->error->all(FLERR,"lammps_scatter(): mismatch property/atom {} type", propid); return; } if (count == 1 && icol != 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_scatter(): mismatch property/atom {} count", propid); return; } if (count > 1 && icol != count) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_scatter(): mismatch property/atom {} count", propid); return; } @@ -4871,15 +4873,10 @@ void lammps_scatter(void *handle, const char *name, int type, int count, // no match if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: unknown property name"); + lmp->error->all(FLERR,"lammps_scatter(): unknown property {}", name); return; } - // copy = Natom length vector of per-atom values - // use atom ID to insert each atom's values into copy - // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID - if (type == 0) { int *vector = nullptr; int **array = nullptr; @@ -4957,7 +4954,14 @@ to be the array {x[1][0], x[1][1], x[1][2], x[100][0], x[100][1], x[100][2], x[57][0], x[57][1], x[57][2]}, then *count* = 3, *ndata* = 3, and *ids* would be {1, 100, 57}. -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined and an :doc:`atom map must be enabled ` + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -4998,8 +5002,8 @@ This function is not compatible with ``-DLAMMPS_BIGBIG``. loop over Ndata, if I own atom ID, set its values from data ------------------------------------------------------------------------- */ -void lammps_scatter_subset(void *handle, const char *name,int type, int count, - int ndata, int *ids, void *data) +void lammps_scatter_subset(void *handle, const char *name,int type, int count, int ndata, + int *ids, void *data) { auto lmp = (LAMMPS *) handle; @@ -5020,8 +5024,7 @@ void lammps_scatter_subset(void *handle, const char *name,int type, int count, if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (lmp->atom->map_style == Atom::MAP_NONE) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_scatter_atoms_subset"); + lmp->error->all(FLERR,"lammps_scatter_subset(): atom-IDs must be defined and mapped"); return; } @@ -5030,22 +5033,19 @@ void lammps_scatter_subset(void *handle, const char *name,int type, int count, // fix if (vptr==nullptr && utils::strmatch(name,"^f_")) { - - auto fix = lmp->modify->get_fix_by_id(&name[2]); + const char *fixid = name + 2; + auto fix = lmp->modify->get_fix_by_id(fixid); if (!fix) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: unknown fix id"); + lmp->error->all(FLERR,"lammps_scatter_subset(): unknown fix id {}", fixid); return; } if (fix->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: fix does not return peratom data"); + lmp->error->all(FLERR,"lammps_scatter_subset(): fix {} does not return peratom data", fixid); return; } if ((count > 1) && (fix->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: count != values peratom for fix"); + lmp->error->all(FLERR,"lammps_scatter_subset(): count != values peratom for fix {}", fixid); return; } @@ -5056,22 +5056,21 @@ void lammps_scatter_subset(void *handle, const char *name,int type, int count, // compute if (vptr==nullptr && utils::strmatch(name,"^c_")) { - - auto compute = lmp->modify->get_compute_by_id(&name[2]); + const char *compid = name + 2; + auto compute = lmp->modify->get_compute_by_id(compid); if (!compute) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: unknown compute id"); + lmp->error->all(FLERR,"lammps_scatter_subset(): unknown compute id {}", compid); return; } if (compute->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: compute does not return peratom data"); + lmp->error->all(FLERR,"lammps_scatter_subset(): compute {} does not return peratom data", + compid); return; } if ((count > 1) && (compute->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: count != values peratom for compute"); + lmp->error->all(FLERR,"lammps_scatter_subset(): count != values peratom for compute {}", + compid); return; } @@ -5087,28 +5086,26 @@ void lammps_scatter_subset(void *handle, const char *name,int type, int count, if ((vptr == nullptr) && utils::strmatch(name,"^[id]2?_")) { int idx,icol; - if (utils::strmatch(name,"^[id]_")) idx = lmp->atom->find_custom(&name[2],ltype,icol); - else idx = lmp->atom->find_custom(&name[3],ltype,icol); + const char *propid; + if (utils::strmatch(name,"^[id]_")) propid = name + 2; + else propid = name + 3; + idx = lmp->atom->find_custom(propid,ltype,icol); if (idx < 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: unknown property/atom id"); + lmp->error->all(FLERR,"lammps_scatter_subset(): unknown property/atom id {}", propid); return; } if (ltype != type) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: mismatch property/atom type"); + lmp->error->all(FLERR,"lammps_scatter_subset(): mismatch property/atom {} type", propid); return; } if (count == 1 && icol != 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_scatter_subset(): mismatch property/atom {} count", propid); return; } if (count > 1 && icol != count) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_scatter_subset(): mismatch property/atom {} count", propid); return; } @@ -5124,16 +5121,10 @@ void lammps_scatter_subset(void *handle, const char *name,int type, int count, // no match if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_atoms_subset: " - "unknown property name"); + lmp->error->all(FLERR,"lammps_scatter_subset(): unknown property {}", name); return; } - // copy = Natom length vector of per-atom values - // use atom ID to insert each atom's values into copy - // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID - if (type == 0) { int *vector = nullptr; int **array = nullptr; @@ -5269,7 +5260,7 @@ int lammps_create_atoms(void *handle, int n, const tagint *id, const int *type, // error if box does not exist or tags not defined int flag = 0; - std::string msg("Failure in lammps_create_atoms: "); + std::string msg("Failure in lammps_create_atoms(): "); if (lmp->domain->box_exist == 0) { flag = 1; msg += "trying to create atoms before before simulation box is defined"; @@ -5280,7 +5271,7 @@ int lammps_create_atoms(void *handle, int n, const tagint *id, const int *type, } if (flag) { - if (lmp->comm->me == 0) lmp->error->warning(FLERR,msg); + lmp->error->all(FLERR, msg); return -1; } @@ -5490,7 +5481,8 @@ int lammps_neighlist_num_elements(void *handle, int idx) { * \param[out] numneigh number of neighbors of atom iatom or 0 * \param[out] neighbors pointer to array of neighbor atom local indices or NULL */ -void lammps_neighlist_element_neighbors(void *handle, int idx, int element, int *iatom, int *numneigh, int **neighbors) { +void lammps_neighlist_element_neighbors(void *handle, int idx, int element, int *iatom, + int *numneigh, int **neighbors) { auto lmp = (LAMMPS *) handle; Neighbor * neighbor = lmp->neighbor; *iatom = -1; @@ -5777,9 +5769,7 @@ otherwise 0. * \param setting string with the name of the specific setting * \return 1 if available, 0 if not. */ -int lammps_config_accelerator(const char *package, - const char *category, - const char *setting) +int lammps_config_accelerator(const char *package, const char *category, const char *setting) { return Info::has_accelerator_feature(package,category,setting) ? 1 : 0; } @@ -5901,8 +5891,7 @@ int lammps_style_count(void *handle, const char *category) { * \param buf_size size of the provided string buffer * \return 1 if successful, otherwise 0 */ -int lammps_style_name(void *handle, const char *category, int idx, - char *buffer, int buf_size) { +int lammps_style_name(void *handle, const char *category, int idx, char *buffer, int buf_size) { auto lmp = (LAMMPS *) handle; Info info(lmp); auto styles = info.get_available_styles(category); diff --git a/src/lmprestart.h b/src/lmprestart.h index e5e1da7edf..40abcf4fe2 100644 --- a/src/lmprestart.h +++ b/src/lmprestart.h @@ -37,7 +37,8 @@ enum{VERSION,SMALLINT,TAGINT,BIGINT, COMM_MODE,COMM_CUTOFF,COMM_VEL,NO_PAIR, EXTRA_BOND_PER_ATOM,EXTRA_ANGLE_PER_ATOM,EXTRA_DIHEDRAL_PER_ATOM, EXTRA_IMPROPER_PER_ATOM,EXTRA_SPECIAL_PER_ATOM,ATOM_MAXSPECIAL, - NELLIPSOIDS,NLINES,NTRIS,NBODIES,ATIME,ATIMESTEP,LABELMAP}; + NELLIPSOIDS,NLINES,NTRIS,NBODIES,ATIME,ATIMESTEP,LABELMAP, + TRICLINIC_GENERAL,ROTATE_G2R}; #define LB_FACTOR 1.1 diff --git a/src/math_eigen.cpp b/src/math_eigen.cpp index 65c3fa806a..c79a61f84a 100644 --- a/src/math_eigen.cpp +++ b/src/math_eigen.cpp @@ -31,7 +31,7 @@ using namespace MathEigen; typedef Jacobi Jacobi_v1; typedef Jacobi Jacobi_v2; -int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) +int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort) { // make copy of const matrix @@ -44,7 +44,15 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v1 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); + int ierror = 1; + if (sort == -1) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); + else if (sort == 0) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::DO_NOT_SORT); + else if (sort == 1) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVALS); + + if (ierror) return ierror; // transpose the evec matrix @@ -54,7 +62,7 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) return ierror; } -int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) +int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec, int sort) { // make copy of const matrix @@ -67,7 +75,15 @@ int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v2 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); + int ierror = 1; + if (sort == -1) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); + else if (sort == 0) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::DO_NOT_SORT); + else if (sort == 1) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_INCREASING_EVALS); + + if (ierror) return ierror; // transpose the evec matrix diff --git a/src/math_eigen.h b/src/math_eigen.h index 9f2431e14a..c7a3853767 100644 --- a/src/math_eigen.h +++ b/src/math_eigen.h @@ -22,13 +22,14 @@ namespace MathEigen { * \param mat the 3x3 matrix you wish to diagonalize * \param eval store the eigenvalues here * \param evec store the eigenvectors here... + * \param sort order eigenvalues and -vectors (-1 decreasing (default), 1 increasing, 0 unsorted) * \return 0 if eigenvalue calculation converged, 1 if it failed */ -int jacobi3(double const *const *mat, double *eval, double **evec); +int jacobi3(double const *const *mat, double *eval, double **evec, int sort = -1); /** \overload */ -int jacobi3(double const mat[3][3], double *eval, double evec[3][3]); +int jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort = -1); } // namespace MathEigen diff --git a/src/math_extra.cpp b/src/math_extra.cpp index 83e548f79f..a36600d970 100644 --- a/src/math_extra.cpp +++ b/src/math_extra.cpp @@ -362,6 +362,29 @@ void exyz_to_q(double *ex, double *ey, double *ez, double *q) qnormalize(q); } +/* ---------------------------------------------------------------------- + create unit quaternion from a rotation matrix + just a wrapper on exyz_to_q() + ex,ey,ez are columns of a rotation matrix +------------------------------------------------------------------------- */ + +void mat_to_quat(double mat[3][3], double *q) +{ + double ex[3],ey[3],ez[3]; + + ex[0] = mat[0][0]; + ex[1] = mat[1][0]; + ex[2] = mat[2][0]; + ey[0] = mat[0][1]; + ey[1] = mat[1][1]; + ey[2] = mat[2][1]; + ez[0] = mat[0][2]; + ez[1] = mat[1][2]; + ez[2] = mat[2][2]; + + MathExtra::exyz_to_q(ex,ey,ez,q); +} + /* ---------------------------------------------------------------------- compute space-frame ex,ey,ez from current quaternion q ex,ey,ez = space-frame coords of 1st,2nd,3rd principal axis @@ -417,6 +440,7 @@ void quat_to_mat(const double *quat, double mat[3][3]) /* ---------------------------------------------------------------------- compute rotation matrix from quaternion conjugate quat = [w i j k] + similar logic to quat_to_mat() ------------------------------------------------------------------------- */ void quat_to_mat_trans(const double *quat, double mat[3][3]) @@ -647,5 +671,4 @@ void tribbox(double *h, double radius, double *dist) /* ---------------------------------------------------------------------- */ - } diff --git a/src/math_extra.h b/src/math_extra.h index 1efacea463..52d1d838ff 100644 --- a/src/math_extra.h +++ b/src/math_extra.h @@ -47,6 +47,7 @@ inline void cross3(const double *v1, const double *v2, double *ans); inline void zeromat3(double m[3][3]); inline void zeromat3(double **m); +inline void transpose3(const double m[3][3], double ans[3][3]); inline void col2mat(const double *ex, const double *ey, const double *ez, double m[3][3]); inline double det3(const double mat[3][3]); @@ -99,6 +100,7 @@ void angmom_to_omega(double *m, double *ex, double *ey, double *ez, double *idia void omega_to_angmom(double *w, double *ex, double *ey, double *ez, double *idiag, double *m); void mq_to_omega(double *m, double *q, double *moments, double *w); void exyz_to_q(double *ex, double *ey, double *ez, double *q); +void mat_to_quat(double mat[3][3], double *quat); void q_to_exyz(double *q, double *ex, double *ey, double *ez); void quat_to_mat(const double *quat, double mat[3][3]); void quat_to_mat_trans(const double *quat, double mat[3][3]); @@ -763,6 +765,21 @@ inline void MathExtra::zeromat3(double **m) m[2][0] = m[2][1] = m[2][2] = 0.0; } +// transpose a matrix + +inline void MathExtra::transpose3(const double m[3][3], double ans[3][3]) +{ + ans[0][0] = m[0][0]; + ans[0][1] = m[1][0]; + ans[0][2] = m[2][0]; + ans[1][0] = m[0][1]; + ans[1][1] = m[1][1]; + ans[1][2] = m[2][1]; + ans[2][0] = m[0][2]; + ans[2][1] = m[1][2]; + ans[2][2] = m[2][2]; +} + // add two matrices inline void MathExtra::plus3(const double m[3][3], double **m2, double **ans) diff --git a/src/min.h b/src/min.h index b94d937fa5..a395a98bbc 100644 --- a/src/min.h +++ b/src/min.h @@ -15,9 +15,9 @@ #define LMP_MIN_H #include "pointers.h" // IWYU pragma: export -#include "compute.h" namespace LAMMPS_NS { +class Compute; class Min : protected Pointers { public: @@ -116,7 +116,7 @@ class Min : protected Pointers { int narray; // # of arrays stored by fix_minimize class FixMinimize *fix_minimize; // fix that stores auxiliary data - class Compute *pe_compute; // compute for potential energy + Compute *pe_compute; // compute for potential energy double ecurrent; // current potential energy bigint ndoftotal; // total dof for entire problem diff --git a/src/min_linesearch.cpp b/src/min_linesearch.cpp index d33b7579b9..5dc3d6568b 100644 --- a/src/min_linesearch.cpp +++ b/src/min_linesearch.cpp @@ -686,7 +686,7 @@ int MinLineSearch::linemin_forcezero(double eoriginal, double &alpha) // choosing the initial alpha that we'll use // rough estimate that'll decrease energy to 1/10 - alpha_init = 0.1*fabs(eoriginal)/fdothall; + alpha_init = MAX(EPS_QUAD, 0.1*fabs(eoriginal)/fdothall); // initialize aplha to 0.0 diff --git a/src/modify.cpp b/src/modify.cpp index ba04c5969a..1a9c056027 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -188,6 +188,8 @@ void Modify::init() // since any of them may be invoked by initial thermo // do not clear out invocation times stored within a compute, // b/c some may be holdovers from previous run, like for ave fixes + // perform check whether extscalar, extvector, and extarray have been + // set when scalar_flag, vector_flag, or array_flag are true. for (i = 0; i < ncompute; i++) { compute[i]->init(); @@ -200,8 +202,13 @@ void Modify::init() // used to b/c temperature computes called fix->dof() in their init, // and fix rigid required its own init before its dof() could be called, // but computes now do their DOF in setup() + // perform check whether extscalar, extvector, and extarray have been + // set when scalar_flag, vector_flag, or array_flag are true. - for (i = 0; i < nfix; i++) fix[i]->init(); + for (i = 0; i < nfix; i++) { + fix[i]->init(); + fix[i]->init_flags(); + } // set global flag if any fix has its restart_pbc flag set diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 662494ea7b..c5cbe0e885 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -427,6 +427,9 @@ void Neighbor::init() } } } else { + if (!force->pair) + error->all(FLERR, "Cannot use collection/interval command without defining a pairstyle"); + if (force->pair->finitecutflag) { finite_cut_flag = 1; // If cutoffs depend on finite atom sizes, use radii of intervals to find cutoffs diff --git a/src/npair_bin.cpp b/src/npair_bin.cpp index d3d3415bc0..2c6fbbb49b 100644 --- a/src/npair_bin.cpp +++ b/src/npair_bin.cpp @@ -23,6 +23,8 @@ #include "neigh_list.h" #include "neighbor.h" +#include + using namespace LAMMPS_NS; using namespace NeighConst; diff --git a/src/npair_halffull.cpp b/src/npair_halffull.cpp index b3d8d4f50e..aa560b5731 100644 --- a/src/npair_halffull.cpp +++ b/src/npair_halffull.cpp @@ -19,6 +19,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/npair_multi.cpp b/src/npair_multi.cpp index b5f813c0a8..44c68a9195 100644 --- a/src/npair_multi.cpp +++ b/src/npair_multi.cpp @@ -24,6 +24,8 @@ #include "neighbor.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; using namespace NeighConst; diff --git a/src/npair_multi_old.cpp b/src/npair_multi_old.cpp index a4ca1e7361..3d983bd7fd 100644 --- a/src/npair_multi_old.cpp +++ b/src/npair_multi_old.cpp @@ -23,6 +23,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/npair_nsq.cpp b/src/npair_nsq.cpp index c2f43d9cb0..9f469de480 100644 --- a/src/npair_nsq.cpp +++ b/src/npair_nsq.cpp @@ -24,6 +24,8 @@ #include "neigh_list.h" #include "neighbor.h" +#include + using namespace LAMMPS_NS; using namespace NeighConst; diff --git a/src/npair_respa_bin.cpp b/src/npair_respa_bin.cpp index f2fb9f7486..5347f4d3a0 100644 --- a/src/npair_respa_bin.cpp +++ b/src/npair_respa_bin.cpp @@ -23,6 +23,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/npair_respa_nsq.cpp b/src/npair_respa_nsq.cpp index 9ca166a491..065c9eb6d6 100644 --- a/src/npair_respa_nsq.cpp +++ b/src/npair_respa_nsq.cpp @@ -24,6 +24,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/pair_coul_dsf.cpp b/src/pair_coul_dsf.cpp index b384946e86..44dc9a7524 100644 --- a/src/pair_coul_dsf.cpp +++ b/src/pair_coul_dsf.cpp @@ -21,6 +21,7 @@ #include "atom.h" #include "comm.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "math_const.h" #include "memory.h" @@ -31,15 +32,9 @@ #include using namespace LAMMPS_NS; +using namespace EwaldConst; using namespace MathConst; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - /* ---------------------------------------------------------------------- */ PairCoulDSF::PairCoulDSF(LAMMPS *lmp) : Pair(lmp) {} diff --git a/src/pair_deprecated.cpp b/src/pair_deprecated.cpp index 298fc26fd0..2c86b252ea 100644 --- a/src/pair_deprecated.cpp +++ b/src/pair_deprecated.cpp @@ -56,6 +56,9 @@ void PairDeprecated::settings(int, char **) utils::logmesg(lmp, "\nPair style 'mesont/tpm' has been removed from LAMMPS. " "Please use pair style 'mesocnt' instead\n\n"); + } else if (utils::strmatch(my_style, "^meam/c")) { + if (lmp->comm->me == 0) + utils::logmesg(lmp, "\nPair style 'meam/c' has been renamed to 'meam'\n\n"); } error->all(FLERR, "This pair style is no longer available"); } diff --git a/src/pair_deprecated.h b/src/pair_deprecated.h index 1a705c9051..8db8b3541d 100644 --- a/src/pair_deprecated.h +++ b/src/pair_deprecated.h @@ -14,6 +14,7 @@ #ifdef PAIR_CLASS // clang-format off PairStyle(DEPRECATED,PairDeprecated); +PairStyle(meam/c,PairDeprecated); PairStyle(reax,PairDeprecated); PairStyle(reax/c,PairDeprecated); PairStyle(mesont/tpm,PairDeprecated); diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index f05a201e33..d257973617 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -521,8 +521,10 @@ void PairHybrid::coeff(int narg, char **arg) int none = 0; if (m == nstyles) { - if (strcmp(arg[2],"none") == 0) none = 1; - else error->all(FLERR,"Pair coeff for hybrid has invalid style: {}", arg[2]); + if (strcmp(arg[2],"none") == 0) + none = 1; + else + error->all(FLERR,"Expected hybrid sub-style instead of {} in pair_coeff command", arg[2]); } // move 1st/2nd args to 2nd/3rd args diff --git a/src/pair_hybrid_overlay.cpp b/src/pair_hybrid_overlay.cpp index 118403d345..4211d0e5cb 100644 --- a/src/pair_hybrid_overlay.cpp +++ b/src/pair_hybrid_overlay.cpp @@ -59,8 +59,10 @@ void PairHybridOverlay::coeff(int narg, char **arg) int none = 0; if (m == nstyles) { - if (strcmp(arg[2],"none") == 0) none = 1; - else error->all(FLERR,"Pair coeff for hybrid has invalid style: {}", arg[2]); + if (strcmp(arg[2],"none") == 0) + none = 1; + else + error->all(FLERR,"Expected hybrid sub-style instead of {} in pair_coeff command", arg[2]); } // move 1st/2nd args to 2nd/3rd args diff --git a/src/pair_hybrid_scaled.cpp b/src/pair_hybrid_scaled.cpp index 69ff037e4a..e897c784c7 100644 --- a/src/pair_hybrid_scaled.cpp +++ b/src/pair_hybrid_scaled.cpp @@ -516,7 +516,7 @@ void PairHybridScaled::coeff(int narg, char **arg) if (strcmp(arg[2], "none") == 0) none = 1; else - error->all(FLERR, "Pair coeff for hybrid has invalid style: {}", arg[2]); + error->all(FLERR, "Expected hybrid sub-style instead of {} in pair_coeff command", arg[2]); } // move 1st/2nd args to 2nd/3rd args diff --git a/src/platform.cpp b/src/platform.cpp index b324bd0b5c..7e9fa820fa 100644 --- a/src/platform.cpp +++ b/src/platform.cpp @@ -249,12 +249,7 @@ std::string platform::os_info() } else if (build == "22631") { buf = "Windows 11 23H2"; } else { - const char *entry = "ProductName"; - RegGetValue(HKEY_LOCAL_MACHINE, subkey, entry, RRF_RT_REG_SZ, nullptr, &value, - (LPDWORD) &value_length); - // enforce zero termination - value[1023] = '\0'; - buf = value; + buf = "Windows Build " + build; } DWORD fullversion, majorv, minorv, buildv = 0; fullversion = GetVersion(); diff --git a/src/procmap.cpp b/src/procmap.cpp index 71e1cf5a6b..b520354f53 100644 --- a/src/procmap.cpp +++ b/src/procmap.cpp @@ -150,13 +150,9 @@ void ProcMap::twolevel_grid(int nprocs, int *user_procgrid, int *procgrid, auto-detects NUMA sockets within a multi-core node ------------------------------------------------------------------------- */ -void ProcMap::numa_grid(int nprocs, int *user_procgrid, int *procgrid, - int *numagrid) +void ProcMap::numa_grid(int numa_nodes, int nprocs, int *user_procgrid, + int *procgrid, int *numagrid) { - // hardwire this for now - - int numa_nodes = 1; - // get names of all nodes int name_length; @@ -181,6 +177,7 @@ void ProcMap::numa_grid(int nprocs, int *user_procgrid, int *procgrid, } procs_per_node = name_map.begin()->second; procs_per_numa = procs_per_node / numa_nodes; + if (procs_per_numa < 1) procs_per_numa = 1; delete [] node_names; @@ -192,6 +189,24 @@ void ProcMap::numa_grid(int nprocs, int *user_procgrid, int *procgrid, user_procgrid[2] > 1) error->all(FLERR,"Could not create numa grid of processors"); + // factorization for the grid of NUMA nodes + + int node_count = nprocs / procs_per_numa; + + int **nodefactors; + int nodepossible = factor(node_count,nullptr); + memory->create(nodefactors,nodepossible,3,"procmap:nodefactors"); + nodepossible = factor(node_count,nodefactors); + + if (domain->dimension == 2) + nodepossible = cull_2d(nodepossible,nodefactors,3); + nodepossible = cull_user(nodepossible,nodefactors,3,user_procgrid); + + if (nodepossible == 0) + error->all(FLERR,"Could not create numa grid of processors"); + + best_factors(nodepossible,nodefactors,nodegrid,1,1,1); + // user settings for the factorization per numa node // currently not user settable // if user specifies 1 for a proc grid dimension, @@ -204,6 +219,7 @@ void ProcMap::numa_grid(int nprocs, int *user_procgrid, int *procgrid, if (user_procgrid[1] == 1) user_numagrid[1] = 1; if (user_procgrid[2] == 1) user_numagrid[2] = 1; + // perform NUMA node factorization using subdomain sizes // initial factorization within NUMA node int **numafactors; @@ -218,38 +234,6 @@ void ProcMap::numa_grid(int nprocs, int *user_procgrid, int *procgrid, if (numapossible == 0) error->all(FLERR,"Could not create numa grid of processors"); - best_factors(numapossible,numafactors,numagrid,1,1,1); - - // user_nodegrid = implied user constraints on nodes - - int user_nodegrid[3]; - user_nodegrid[0] = user_procgrid[0] / numagrid[0]; - user_nodegrid[1] = user_procgrid[1] / numagrid[1]; - user_nodegrid[2] = user_procgrid[2] / numagrid[2]; - - // factorization for the grid of NUMA nodes - - int node_count = nprocs / procs_per_numa; - - int **nodefactors; - int nodepossible = factor(node_count,nullptr); - memory->create(nodefactors,nodepossible,3,"procmap:nodefactors"); - nodepossible = factor(node_count,nodefactors); - - if (domain->dimension == 2) - nodepossible = cull_2d(nodepossible,nodefactors,3); - nodepossible = cull_user(nodepossible,nodefactors,3,user_nodegrid); - - if (nodepossible == 0) - error->all(FLERR,"Could not create numa grid of processors"); - - best_factors(nodepossible,nodefactors,nodegrid, - numagrid[0],numagrid[1],numagrid[2]); - - // repeat NUMA node factorization using subdomain sizes - // refines the factorization if the user specified the node layout - // NOTE: this will not re-enforce user-procgrid constraint will it? - best_factors(numapossible,numafactors,numagrid, nodegrid[0],nodegrid[1],nodegrid[2]); @@ -270,6 +254,7 @@ void ProcMap::numa_grid(int nprocs, int *user_procgrid, int *procgrid, procgrid[0] = nodegrid[0] * numagrid[0]; procgrid[1] = nodegrid[1] * numagrid[1]; procgrid[2] = nodegrid[2] * numagrid[2]; + } /* ---------------------------------------------------------------------- diff --git a/src/procmap.h b/src/procmap.h index 06867837c6..2731aec984 100644 --- a/src/procmap.h +++ b/src/procmap.h @@ -24,7 +24,7 @@ class ProcMap : protected Pointers { void onelevel_grid(int, int *, int *, int, int, int *, int *); void twolevel_grid(int, int *, int *, int, int *, int *, int, int, int *, int *); - void numa_grid(int, int *, int *, int *); + void numa_grid(int, int, int *, int *, int *); void custom_grid(char *, int, int *, int *); void cart_map(int, int *, int *, int[3][2], int ***); void cart_map(int, int *, int, int *, int *, int[3][2], int ***); diff --git a/src/read_data.cpp b/src/read_data.cpp index 657369d5d0..d83456e985 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -479,6 +479,9 @@ void ReadData::command(int narg, char **arg) bondflag = angleflag = dihedralflag = improperflag = 0; ellipsoidflag = lineflag = triflag = bodyflag = 0; + xloxhi_flag = yloyhi_flag = zlozhi_flag = tilt_flag = 0; + avec_flag = bvec_flag = cvec_flag = abc_origin_flag = 0; + // values in this data file natoms = 0; @@ -488,7 +491,15 @@ void ReadData::command(int narg, char **arg) boxlo[0] = boxlo[1] = boxlo[2] = -0.5; boxhi[0] = boxhi[1] = boxhi[2] = 0.5; - triclinic = 0; + xy = xz = yz = 0.0; + + avec[0] = bvec[1] = cvec[2] = 1.0; + avec[1] = avec[2] = 0.0; + bvec[0] = bvec[2] = 0.0; + cvec[0] = cvec[1] = 0.0; + abc_origin[0] = abc_origin[1] = abc_origin[2] = 0.0; + if (domain->dimension == 2) abc_origin[2] = -0.5; + keyword[0] = '\0'; nlocal_previous = atom->nlocal; @@ -508,6 +519,30 @@ void ReadData::command(int narg, char **arg) header(firstpass); + // check if simulation box specified consistently + + if (!avec_flag && !bvec_flag && !cvec_flag && !abc_origin_flag) { + triclinic = triclinic_general = 0; + if (tilt_flag) triclinic = 1; + } else { + if (xloxhi_flag || yloyhi_flag || zlozhi_flag || tilt_flag) + error->all(FLERR,"Read_data header cannot specify simulation box lo/hi/tilt and ABC vectors"); + triclinic = triclinic_general = 1; + } + + // check if simulation box specified correctly for 2d + + if (domain->dimension == 2) { + if (triclinic_general == 0) { + if (boxlo[2] >= 0.0 || boxhi[2] <= 0.0) + error->all(FLERR,"Read_data zlo/zhi for 2d simulation must straddle 0.0"); + } else if (triclinic_general == 1) { + if (cvec[0] != 0.0 || cvec[1] != 0.0 || cvec[2] != 1.0 || abc_origin[2] != -0.5) + error->all(FLERR,"Read_data cvec and/or abc_origin is invalid for " + "2d simulation with general triclinic box"); + } + } + // problem setup using info from header // only done once, if firstpass and first data file // apply extra settings before grow(), even if no topology in file @@ -536,31 +571,80 @@ void ReadData::command(int narg, char **arg) n = static_cast(nbig); atom->avec->grow(n); - domain->boxlo[0] = boxlo[0]; - domain->boxhi[0] = boxhi[0]; - domain->boxlo[1] = boxlo[1]; - domain->boxhi[1] = boxhi[1]; - domain->boxlo[2] = boxlo[2]; - domain->boxhi[2] = boxhi[2]; + // setup simulation box + // 3 options: orthogonal, restricted triclinic, general triclinic - if (triclinic) { - domain->triclinic = 1; - domain->xy = xy; - domain->xz = xz; - domain->yz = yz; + if (!triclinic_general) { + + // orthogonal or restricted triclinic box + + domain->boxlo[0] = boxlo[0]; + domain->boxhi[0] = boxhi[0]; + domain->boxlo[1] = boxlo[1]; + domain->boxhi[1] = boxhi[1]; + domain->boxlo[2] = boxlo[2]; + domain->boxhi[2] = boxhi[2]; + + // restricted triclinic box + + if (triclinic) { + domain->triclinic = 1; + domain->xy = xy; + domain->xz = xz; + domain->yz = yz; + } + + // general triclinic box + // define_general_triclinic() converts + // ABC edge vectors + abc_origin to restricted triclinic + + } else if (triclinic_general) { + domain->define_general_triclinic(avec,bvec,cvec,abc_origin); } - - domain->print_box(" "); - domain->set_initial_box(); - domain->set_global_box(); - comm->set_proc_grid(); - domain->set_local_box(); } // change simulation box to be union of existing box and new box + shift // only done if firstpass and not first data file if (firstpass && addflag != NONE) { + + // general triclinic + // first data file must also be general triclinic + // avec,bvec,vec and origin must match first data file + // shift not allowed + + if (triclinic_general) { + if (!domain->triclinic_general) + error->all(FLERR,"Read_data subsequent file cannot switch to general triclinic"); + int errflag = 0; + if (avec[0] != domain->avec[0] || avec[1] != domain->avec[1] || avec[2] != domain->avec[2]) + errflag = 1; + if (bvec[0] != domain->bvec[0] || bvec[1] != domain->bvec[1] || bvec[2] != domain->bvec[2]) + errflag = 1; + if (cvec[0] != domain->cvec[0] || cvec[1] != domain->cvec[1] || cvec[2] != domain->cvec[2]) + errflag = 1; + if (abc_origin[0] != domain->boxlo[0] || abc_origin[1] != domain->boxlo[1] || + abc_origin[2] != domain->boxlo[2]) + errflag = 1; + if (errflag) + error->all(FLERR,"Read_data subsequent file ABC vectors must be same as first file"); + if (shift[0] != 0.0 || shift[1] != 0.0 || shift[2] != 0.0) + error->all(FLERR,"Read_data subsequent file with ABC vectors cannot define shift"); + + // restricted triclinic + // tilt factors must match first data file + + } else if (triclinic) { + if (!domain->triclinic || domain->triclinic_general) + error->all(FLERR,"Read_data subsequent file cannot switch to restricted triclinic"); + if (xy != domain->xy || xz != domain->xz || yz != domain->yz) + error->all(FLERR,"Read_data subsequent file tilt factors must be same as first file"); + + } else { + if (domain->triclinic) + error->all(FLERR,"Read_data subsequent file cannot switch to orthogonal"); + } + double oldboxlo[3] = {domain->boxlo[0], domain->boxlo[1], domain->boxlo[2]}; double oldboxhi[3] = {domain->boxhi[0], domain->boxhi[1], domain->boxhi[2]}; domain->boxlo[0] = MIN(domain->boxlo[0], boxlo[0] + shift[0]); @@ -570,7 +654,9 @@ void ReadData::command(int narg, char **arg) domain->boxlo[2] = MIN(domain->boxlo[2], boxlo[2] + shift[2]); domain->boxhi[2] = MAX(domain->boxhi[2], boxhi[2] + shift[2]); - // check of box has changed. If yes, warn about non-zero image flags + // check if box has changed + // if yes, warn about non-zero image flags + if ((oldboxlo[0] != domain->boxlo[0]) || (oldboxlo[1] != domain->boxlo[1]) || (oldboxlo[2] != domain->boxlo[2]) || (oldboxhi[0] != domain->boxhi[0]) || (oldboxhi[1] != domain->boxhi[1]) || (oldboxhi[2] != domain->boxhi[2])) { @@ -586,21 +672,18 @@ void ReadData::command(int narg, char **arg) int flag_all; MPI_Allreduce(&iflag, &flag_all, 1, MPI_INT, MPI_SUM, world); if ((flag_all > 0) && (comm->me == 0)) - error->warning(FLERR, "Non-zero image flags with growing box leads to bad coordinates"); + error->warning(FLERR, "Non-zero image flags with growing box can produce bad coordinates"); } - - // NOTE: not sure what to do about tilt value in subsequent data files - //if (triclinic) { - // domain->xy = xy; domain->xz = xz; domain->yz = yz; - // } - - domain->print_box(" "); - domain->set_initial_box(); - domain->set_global_box(); - comm->set_proc_grid(); - domain->set_local_box(); } + // setup simulation box and paritioning in Domain and Comm classes + + domain->print_box(" "); + domain->set_initial_box(); + domain->set_global_box(); + comm->set_proc_grid(); + domain->set_local_box(); + // allocate space for type label map if (firstpass) { @@ -608,8 +691,10 @@ void ReadData::command(int narg, char **arg) lmap = new LabelMap(lmp, ntypes, nbondtypes, nangletypes, ndihedraltypes, nimpropertypes); } + // ------------------------------------------------------------------------------------- + // rest of data file is Sections + // read in any order, except where error checks // customize for new sections - // read rest of file in free format while (strlen(keyword)) { @@ -980,6 +1065,12 @@ void ReadData::command(int narg, char **arg) atom->avec->grow(atom->nmax); } + // if general triclinic, perform general to restricted rotation operation + // on any quantities read from data file which require it + + if (triclinic_general) + atom->avec->read_data_general_to_restricted(nlocal_previous, atom->nlocal); + // init per-atom fix/compute/variable values for created atoms atom->data_fix_compute_variable(nlocal_previous, atom->nlocal); @@ -1140,7 +1231,8 @@ void ReadData::header(int firstpass) // initialize type counts by the "extra" numbers so they get counted // in case the corresponding "types" line is missing and thus the extra - // value will not be processed. + // value will not be processed + if (addflag == NONE) { atom->ntypes = extra_atom_types; atom->nbondtypes = extra_bond_types; @@ -1156,6 +1248,7 @@ void ReadData::header(int firstpass) if (eof == nullptr) error->one(FLERR, "Unexpected end of data file"); // check for units keyword in first line and print warning on mismatch + auto units = Tokenizer(utils::strfind(line, "units = \\w+")).as_vector(); if (units.size() > 2) { if (units[2] != update->unit_style) @@ -1278,7 +1371,7 @@ void ReadData::header(int firstpass) else if (firstpass) atom->nimpropers += nimpropers; - // Atom class type settings are only set by first data file + // Atom class type settings are only set by first data file } else if (utils::strmatch(line, "^\\s*\\d+\\s+atom\\s+types\\s")) { ntypes = utils::inumeric(FLERR, words[0], false, lmp); @@ -1300,11 +1393,10 @@ void ReadData::header(int firstpass) nimpropertypes = utils::inumeric(FLERR, words[0], false, lmp); if (addflag == NONE) atom->nimpropertypes = nimpropertypes + extra_improper_types; - // these settings only used by first data file - // also, these are obsolescent. we parse them to maintain backward - // compatibility, but the recommended way is to set them via keywords - // in the LAMMPS input file. In case these flags are set in both, - // the input and the data file, we use the larger of the two. + // these settings only used by first data file + // NOTE: these are now obsolete, we parse them to maintain backward compatibility + // the recommended way is to set them via command keywords in the input script + // if these flags are set both ways, the larger of the two values is used } else if (strstr(line, "extra bond per atom")) { if (addflag == NONE) extra_flag_value = utils::inumeric(FLERR, words[0], false, lmp); @@ -1322,27 +1414,54 @@ void ReadData::header(int firstpass) if (addflag == NONE) extra_flag_value = utils::inumeric(FLERR, words[0], false, lmp); force->special_extra = MAX(force->special_extra, extra_flag_value); - // local copy of box info - // so can treat differently for first vs subsequent data files + // local copy of box info + // so can treat differently for first vs subsequent data files } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+xlo\\s+xhi\\s")) { + xloxhi_flag = 1; boxlo[0] = utils::numeric(FLERR, words[0], false, lmp); boxhi[0] = utils::numeric(FLERR, words[1], false, lmp); } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+ylo\\s+yhi\\s")) { + yloyhi_flag = 1; boxlo[1] = utils::numeric(FLERR, words[0], false, lmp); boxhi[1] = utils::numeric(FLERR, words[1], false, lmp); } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+zlo\\s+zhi\\s")) { + zlozhi_flag = 1; boxlo[2] = utils::numeric(FLERR, words[0], false, lmp); boxhi[2] = utils::numeric(FLERR, words[1], false, lmp); } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+xy\\s+xz\\s+yz\\s")) { - triclinic = 1; + tilt_flag = 1; xy = utils::numeric(FLERR, words[0], false, lmp); xz = utils::numeric(FLERR, words[1], false, lmp); yz = utils::numeric(FLERR, words[2], false, lmp); + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\avec\\s")) { + avec_flag = 1; + avec[0] = utils::numeric(FLERR, words[0], false, lmp); + avec[1] = utils::numeric(FLERR, words[1], false, lmp); + avec[2] = utils::numeric(FLERR, words[2], false, lmp); + + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\bvec\\s")) { + bvec_flag = 1; + bvec[0] = utils::numeric(FLERR, words[0], false, lmp); + bvec[1] = utils::numeric(FLERR, words[1], false, lmp); + bvec[2] = utils::numeric(FLERR, words[2], false, lmp); + + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\cvec\\s")) { + cvec_flag = 1; + cvec[0] = utils::numeric(FLERR, words[0], false, lmp); + cvec[1] = utils::numeric(FLERR, words[1], false, lmp); + cvec[2] = utils::numeric(FLERR, words[2], false, lmp); + + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\abc\\s+origin\\s")) { + abc_origin_flag = 1; + abc_origin[0] = utils::numeric(FLERR, words[0], false, lmp); + abc_origin[1] = utils::numeric(FLERR, words[1], false, lmp); + abc_origin[2] = utils::numeric(FLERR, words[2], false, lmp); + } else break; } @@ -1360,7 +1479,8 @@ void ReadData::header(int firstpass) // check that exiting string is a valid section keyword parse_keyword(1); - if (!is_data_section(keyword)) error->all(FLERR, "Unknown identifier in data file: {}", keyword); + if (!is_data_section(keyword)) + error->all(FLERR, "Unknown identifier in data file: {}{}", keyword, utils::errorurl(1)); // error checks on header values // must be consistent with atom style and other header values @@ -1407,8 +1527,8 @@ void ReadData::atoms() if (eof) error->all(FLERR, "Unexpected end of data file"); if (tlabelflag && !lmap->is_complete(Atom::ATOM)) error->all(FLERR, "Label map is incomplete: all types must be assigned a unique type label"); - atom->data_atoms(nchunk, buffer, id_offset, mol_offset, toffset, shiftflag, shift, tlabelflag, - lmap->lmap2lmap.atom); + atom->data_atoms(nchunk, buffer, id_offset, mol_offset, toffset, + shiftflag, shift, tlabelflag, lmap->lmap2lmap.atom, triclinic_general); nread += nchunk; } diff --git a/src/read_data.h b/src/read_data.h index e97f225997..008283251c 100644 --- a/src/read_data.h +++ b/src/read_data.h @@ -59,11 +59,16 @@ class ReadData : public Command { class LabelMap *lmap; - // box info + // box info read from file + + int triclinic, triclinic_general; + int xloxhi_flag, yloyhi_flag, zlozhi_flag, tilt_flag; + int avec_flag, bvec_flag, cvec_flag, abc_origin_flag; double boxlo[3], boxhi[3]; double xy, xz, yz; - int triclinic; + double avec[3], bvec[3], cvec[3]; + double abc_origin[3]; // optional args diff --git a/src/read_restart.cpp b/src/read_restart.cpp index c538702728..ee46d57fc3 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -28,6 +28,7 @@ #include "improper.h" #include "irregular.h" #include "label_map.h" +#include "math_extra.h" #include "memory.h" #include "modify.h" #include "pair.h" @@ -783,6 +784,12 @@ void ReadRestart::header() } else if (flag == YZ) { domain->yz = read_double(); + } else if (flag == TRICLINIC_GENERAL) { + domain->triclinic_general = read_int(); + } else if (flag == ROTATE_G2R) { + read_double_vec(9,&domain->rotate_g2r[0][0]); + MathExtra::transpose3(domain->rotate_g2r,domain->rotate_r2g); + } else if (flag == SPECIAL_LJ) { read_int(); read_double_vec(3,&force->special_lj[1]); diff --git a/src/reader_native.cpp b/src/reader_native.cpp index ae59ca6805..4dac65e3cb 100644 --- a/src/reader_native.cpp +++ b/src/reader_native.cpp @@ -289,7 +289,7 @@ bigint ReaderNative::read_header(double box[3][3], int &boxinfo, int &triclinic, labelline = line + strlen("ITEM: ATOMS "); } - Tokenizer tokens(labelline); + Tokenizer tokens(std::move(labelline)); std::map labels; nwords = 0; diff --git a/src/replicate.cpp b/src/replicate.cpp index b27304a2a0..e07c7d9a26 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -12,6 +12,12 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: + Chris Knight (ANL) for bbox option + Jake Gissinger (Stevens Institute of Technology) for bond/periodic option +------------------------------------------------------------------------- */ + #include "replicate.h" #include "accelerator_kokkos.h" @@ -63,13 +69,30 @@ void Replicate::command(int narg, char **arg) "Please use replicate multiple times", nx, ny, nz, nrepbig); int nrep = (int) nrepbig; + allnrep[0] = nx; + allnrep[1] = ny; + allnrep[2] = nz; if (me == 0) utils::logmesg(lmp, "Replication is creating a {}x{}x{} = {} times larger system...\n", nx, ny, nz, nrep); - int bbox_flag = 0; - if (narg == 4) - if (strcmp(arg[3],"bbox") == 0) bbox_flag = 1; + // optional keywords + + bbox_flag = 0; + bond_flag = 0; + + int iarg = 3; + while (iarg < narg) { + if (strcmp(arg[iarg],"bbox") == 0) { + bbox_flag = 1; + iarg++; + } else if (strcmp(arg[iarg],"bond/periodic") == 0) { + bond_flag = 1; + iarg++; + } else error->all(FLERR,"Illegal replicate command"); + } + + if (bond_flag) bbox_flag = 1; // error and warning checks @@ -85,16 +108,16 @@ void Replicate::command(int narg, char **arg) } if (atom->nextra_grow || atom->nextra_restart || atom->nextra_store) - error->all(FLERR,"Cannot replicate with fixes that store atom quantities"); + error->all(FLERR,"Cannot replicate with fixes that store per-atom quantities"); // record wall time for atom replication MPI_Barrier(world); double time1 = platform::walltime(); - // maxtag = largest atom tag across all existing atoms + // maxtag = original largest atom tag across all existing atoms - tagint maxtag = 0; + maxtag = 0; if (atom->tag_enable) { for (i = 0; i < atom->nlocal; i++) maxtag = MAX(atom->tag[i],maxtag); tagint maxtag_all; @@ -104,7 +127,7 @@ void Replicate::command(int narg, char **arg) // maxmol = largest molecule tag across all existing atoms - tagint maxmol = 0; + maxmol = 0; if (atom->molecule_flag) { for (i = 0; i < atom->nlocal; i++) maxmol = MAX(atom->molecule[i],maxmol); tagint maxmol_all; @@ -112,10 +135,16 @@ void Replicate::command(int narg, char **arg) maxmol = maxmol_all; } - // check image flags maximum extent + // reset image flags to zero for bond/periodic option + + if (bond_flag) + for (i=0; inlocal; ++i) + atom->image[i] = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + + // _imagelo/hi = maximum extent of image flags in each dimension // only efficient small image flags compared to new system - int _imagelo[3], _imagehi[3]; _imagelo[0] = 0; _imagelo[1] = 0; _imagelo[2] = 0; @@ -123,7 +152,7 @@ void Replicate::command(int narg, char **arg) _imagehi[1] = 0; _imagehi[2] = 0; - if (bbox_flag) { + if (bbox_flag || bond_flag) { for (i=0; inlocal; ++i) { imageint image = atom->image[i]; @@ -145,14 +174,14 @@ void Replicate::command(int narg, char **arg) } // unmap existing atoms via image flags + // no-op for bond/periodic option for (i = 0; i < atom->nlocal; i++) domain->unmap(atom->x[i],atom->image[i]); // communication buffer for all my atom's info // max_size = largest buffer needed by any proc - // must do before new Atom class created, - // since size_restart() uses atom->nlocal + // must do before new Atom class created, since size_restart() uses atom->nlocal int max_size; int send_size = atom->avec->size_restart(); @@ -165,7 +194,7 @@ void Replicate::command(int narg, char **arg) // atom = new replicated atom class // also set atomKK for Kokkos version of Atom class - Atom *old = atom; + old = atom; atomKK = nullptr; if (lmp->kokkos) atom = atomKK = new AtomKokkos(lmp); else atom = new Atom(lmp); @@ -204,7 +233,7 @@ void Replicate::command(int narg, char **arg) nrep*old->nimpropers < 0 || nrep*old->nimpropers >= MAXBIGINT) error->all(FLERR,"Replicated system is too big"); - // assign atom and topology counts in new class from old one + // assign atom and topology counts in new Atom class from old Atom class atom->natoms = old->natoms * nrep; atom->nbonds = old->nbonds * nrep; @@ -246,14 +275,18 @@ void Replicate::command(int narg, char **arg) // store old simulation box int triclinic = domain->triclinic; - double old_xprd = domain->xprd; - double old_yprd = domain->yprd; - double old_zprd = domain->zprd; - double old_xy = domain->xy; - double old_xz = domain->xz; - double old_yz = domain->yz; + old_xprd = domain->xprd; + old_yprd = domain->yprd; + old_zprd = domain->zprd; + for (i = 0; i < 3; i++) { + old_prd_half[i] = domain->prd_half[i]; + old_center[i] = 0.5*(domain->boxlo[i]+domain->boxhi[i]); + } + old_xy = domain->xy; + old_xz = domain->xz; + old_yz = domain->yz; - // setup new simulation box + // define new simulation box domain->boxhi[0] = domain->boxlo[0] + nx*old_xprd; domain->boxhi[1] = domain->boxlo[1] + ny*old_yprd; @@ -264,15 +297,14 @@ void Replicate::command(int narg, char **arg) domain->yz *= nz; } - // new problem setup using new box boundaries + // setup of new system using new atom counts and new box boundaries + // allocate atom arrays to size N, rounded up by AtomVec->DELTA if (nprocs == 1) n = static_cast (atom->natoms); else n = static_cast (LB_FACTOR * atom->natoms / nprocs); atom->allocate_type_arrays(); - // allocate atom arrays to size N, rounded up by AtomVec->DELTA - bigint nbig = n; nbig = atom->avec->roundup(nbig); n = static_cast (nbig); @@ -346,420 +378,13 @@ void Replicate::command(int narg, char **arg) } } - // loop over all procs - // if this iteration of loop is me: - // pack my unmapped atom data into buf - // bcast it to all other procs - // performs 3d replicate loop with while loop over atoms in buf - // x = new replicated position, remapped into simulation box - // unpack atom into new atom class from buf if I own it - // adjust tag, mol #, coord, topology info as needed + // use one of two algorithms for replication - AtomVec *old_avec = old->avec; - AtomVec *avec = atom->avec; - - int ix,iy,iz; - tagint atom_offset,mol_offset; - imageint image; - double x[3],lamda[3]; - double *coord; - int tag_enable = atom->tag_enable; - - if (bbox_flag) { - - // allgather size of buf on each proc - - n = 0; - for (i = 0; i < old->nlocal; i++) n += old_avec->pack_restart(i,&buf[n]); - - int * size_buf_rnk; - memory->create(size_buf_rnk, nprocs, "replicate:size_buf_rnk"); - - MPI_Allgather(&n, 1, MPI_INT, size_buf_rnk, 1, MPI_INT, world); - - // size of buf_all - - int size_buf_all = 0; - MPI_Allreduce(&n, &size_buf_all, 1, MPI_INT, MPI_SUM, world); - - if (me == 0) { - auto mesg = fmt::format(" bounding box image = ({} {} {}) " - "to ({} {} {})\n", - _imagelo[0],_imagelo[1],_imagelo[2], - _imagehi[0],_imagehi[1],_imagehi[2]); - mesg += fmt::format(" bounding box extra memory = {:.2f} MB\n", - (double)size_buf_all*sizeof(double)/1024/1024); - utils::logmesg(lmp,mesg); - } - - // rnk offsets - - int *disp_buf_rnk; - memory->create(disp_buf_rnk, nprocs, "replicate:disp_buf_rnk"); - disp_buf_rnk[0] = 0; - for (i = 1; i < nprocs; i++) - disp_buf_rnk[i] = disp_buf_rnk[i-1] + size_buf_rnk[i-1]; - - // allgather buf_all - - double * buf_all; - memory->create(buf_all, size_buf_all, "replicate:buf_all"); - - MPI_Allgatherv(buf,n,MPI_DOUBLE,buf_all,size_buf_rnk,disp_buf_rnk, - MPI_DOUBLE,world); - - // bounding box of original unwrapped system - - double _orig_lo[3], _orig_hi[3]; - if (triclinic) { - _orig_lo[0] = domain->boxlo[0] + - _imagelo[0] * old_xprd + _imagelo[1] * old_xy + _imagelo[2] * old_xz; - _orig_lo[1] = domain->boxlo[1] + - _imagelo[1] * old_yprd + _imagelo[2] * old_yz; - _orig_lo[2] = domain->boxlo[2] + _imagelo[2] * old_zprd; - - _orig_hi[0] = domain->boxlo[0] + - (_imagehi[0]+1) * old_xprd + - (_imagehi[1]+1) * old_xy + (_imagehi[2]+1) * old_xz; - _orig_hi[1] = domain->boxlo[1] + - (_imagehi[1]+1) * old_yprd + (_imagehi[2]+1) * old_yz; - _orig_hi[2] = domain->boxlo[2] + (_imagehi[2]+1) * old_zprd; - } else { - _orig_lo[0] = domain->boxlo[0] + _imagelo[0] * old_xprd; - _orig_lo[1] = domain->boxlo[1] + _imagelo[1] * old_yprd; - _orig_lo[2] = domain->boxlo[2] + _imagelo[2] * old_zprd; - - _orig_hi[0] = domain->boxlo[0] + (_imagehi[0]+1) * old_xprd; - _orig_hi[1] = domain->boxlo[1] + (_imagehi[1]+1) * old_yprd; - _orig_hi[2] = domain->boxlo[2] + (_imagehi[2]+1) * old_zprd; - } - - double _lo[3], _hi[3]; - - int num_replicas_added = 0; - - for (ix = 0; ix < nx; ix++) { - for (iy = 0; iy < ny; iy++) { - for (iz = 0; iz < nz; iz++) { - - // domain->remap() overwrites coordinates, so always recompute here - - if (triclinic) { - _lo[0] = _orig_lo[0] + ix * old_xprd + iy * old_xy + iz * old_xz; - _hi[0] = _orig_hi[0] + ix * old_xprd + iy * old_xy + iz * old_xz; - - _lo[1] = _orig_lo[1] + iy * old_yprd + iz * old_yz; - _hi[1] = _orig_hi[1] + iy * old_yprd + iz * old_yz; - - _lo[2] = _orig_lo[2] + iz * old_zprd; - _hi[2] = _orig_hi[2] + iz * old_zprd; - } else { - _lo[0] = _orig_lo[0] + ix * old_xprd; - _hi[0] = _orig_hi[0] + ix * old_xprd; - - _lo[1] = _orig_lo[1] + iy * old_yprd; - _hi[1] = _orig_hi[1] + iy * old_yprd; - - _lo[2] = _orig_lo[2] + iz * old_zprd; - _hi[2] = _orig_hi[2] + iz * old_zprd; - } - - // test if bounding box of shifted replica overlaps sub-domain of proc - // if not, then skip testing atoms - - int xoverlap = 1; - int yoverlap = 1; - int zoverlap = 1; - if (triclinic) { - double _llo[3]; - domain->x2lamda(_lo,_llo); - double _lhi[3]; - domain->x2lamda(_hi,_lhi); - - if (_llo[0] > (subhi[0] - EPSILON) - || _lhi[0] < (sublo[0] + EPSILON) ) xoverlap = 0; - if (_llo[1] > (subhi[1] - EPSILON) - || _lhi[1] < (sublo[1] + EPSILON) ) yoverlap = 0; - if (_llo[2] > (subhi[2] - EPSILON) - || _lhi[2] < (sublo[2] + EPSILON) ) zoverlap = 0; - } else { - if (_lo[0] > (subhi[0] - EPSILON) - || _hi[0] < (sublo[0] + EPSILON) ) xoverlap = 0; - if (_lo[1] > (subhi[1] - EPSILON) - || _hi[1] < (sublo[1] + EPSILON) ) yoverlap = 0; - if (_lo[2] > (subhi[2] - EPSILON) - || _hi[2] < (sublo[2] + EPSILON) ) zoverlap = 0; - } - - int overlap = 0; - if (xoverlap && yoverlap && zoverlap) overlap = 1; - - // if no overlap, test if bounding box wrapped back into new system - - if (!overlap) { - - // wrap back into cell - - imageint imagelo = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; - domain->remap(&(_lo[0]), imagelo); - int xboxlo = (imagelo & IMGMASK) - IMGMAX; - int yboxlo = (imagelo >> IMGBITS & IMGMASK) - IMGMAX; - int zboxlo = (imagelo >> IMG2BITS) - IMGMAX; - - imageint imagehi = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; - domain->remap(&(_hi[0]), imagehi); - int xboxhi = (imagehi & IMGMASK) - IMGMAX; - int yboxhi = (imagehi >> IMGBITS & IMGMASK) - IMGMAX; - int zboxhi = (imagehi >> IMG2BITS) - IMGMAX; - - if (triclinic) { - double _llo[3]; - _llo[0] = _lo[0]; _llo[1] = _lo[1]; _llo[2] = _lo[2]; - domain->x2lamda(_llo,_lo); - - double _lhi[3]; - _lhi[0] = _hi[0]; _lhi[1] = _hi[1]; _lhi[2] = _hi[2]; - domain->x2lamda(_lhi,_hi); - } - - // test all fragments for any overlap; ok to include false positives - - int _xoverlap1 = 0; - int _xoverlap2 = 0; - if (!xoverlap) { - if (xboxlo < 0) { - _xoverlap1 = 1; - if (_lo[0] > (subhi[0] - EPSILON)) _xoverlap1 = 0; - } - - if (xboxhi > 0) { - _xoverlap2 = 1; - if (_hi[0] < (sublo[0] + EPSILON)) _xoverlap2 = 0; - } - - if (_xoverlap1 || _xoverlap2) xoverlap = 1; - } - - int _yoverlap1 = 0; - int _yoverlap2 = 0; - if (!yoverlap) { - if (yboxlo < 0) { - _yoverlap1 = 1; - if (_lo[1] > (subhi[1] - EPSILON)) _yoverlap1 = 0; - } - - if (yboxhi > 0) { - _yoverlap2 = 1; - if (_hi[1] < (sublo[1] + EPSILON)) _yoverlap2 = 0; - } - - if (_yoverlap1 || _yoverlap2) yoverlap = 1; - } - - - int _zoverlap1 = 0; - int _zoverlap2 = 0; - if (!zoverlap) { - if (zboxlo < 0) { - _zoverlap1 = 1; - if (_lo[2] > (subhi[2] - EPSILON)) _zoverlap1 = 0; - } - - if (zboxhi > 0) { - _zoverlap2 = 1; - if (_hi[2] < (sublo[2] + EPSILON)) _zoverlap2 = 0; - } - - if (_zoverlap1 || _zoverlap2) zoverlap = 1; - } - - // does either fragment overlap w/ sub-domain - - if (xoverlap && yoverlap && zoverlap) overlap = 1; - } - - // while loop over one proc's atom list - - if (overlap) { - num_replicas_added++; - - m = 0; - while (m < size_buf_all) { - image = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; - if (triclinic == 0) { - x[0] = buf_all[m+1] + ix*old_xprd; - x[1] = buf_all[m+2] + iy*old_yprd; - x[2] = buf_all[m+3] + iz*old_zprd; - } else { - x[0] = buf_all[m+1] + ix*old_xprd + iy*old_xy + iz*old_xz; - x[1] = buf_all[m+2] + iy*old_yprd + iz*old_yz; - x[2] = buf_all[m+3] + iz*old_zprd; - } - domain->remap(x,image); - if (triclinic) { - domain->x2lamda(x,lamda); - coord = lamda; - } else coord = x; - - if (coord[0] >= sublo[0] && coord[0] < subhi[0] && - coord[1] >= sublo[1] && coord[1] < subhi[1] && - coord[2] >= sublo[2] && coord[2] < subhi[2]) { - - m += avec->unpack_restart(&buf_all[m]); - - i = atom->nlocal - 1; - if (tag_enable) - atom_offset = iz*ny*nx*maxtag + iy*nx*maxtag + ix*maxtag; - else atom_offset = 0; - mol_offset = iz*ny*nx*maxmol + iy*nx*maxmol + ix*maxmol; - - atom->x[i][0] = x[0]; - atom->x[i][1] = x[1]; - atom->x[i][2] = x[2]; - - atom->tag[i] += atom_offset; - atom->image[i] = image; - - if (atom->molecular != Atom::ATOMIC) { - if (atom->molecule[i] > 0) - atom->molecule[i] += mol_offset; - if (atom->molecular == Atom::MOLECULAR) { - if (atom->avec->bonds_allow) - for (j = 0; j < atom->num_bond[i]; j++) - atom->bond_atom[i][j] += atom_offset; - if (atom->avec->angles_allow) - for (j = 0; j < atom->num_angle[i]; j++) { - atom->angle_atom1[i][j] += atom_offset; - atom->angle_atom2[i][j] += atom_offset; - atom->angle_atom3[i][j] += atom_offset; - } - if (atom->avec->dihedrals_allow) - for (j = 0; j < atom->num_dihedral[i]; j++) { - atom->dihedral_atom1[i][j] += atom_offset; - atom->dihedral_atom2[i][j] += atom_offset; - atom->dihedral_atom3[i][j] += atom_offset; - atom->dihedral_atom4[i][j] += atom_offset; - } - if (atom->avec->impropers_allow) - for (j = 0; j < atom->num_improper[i]; j++) { - atom->improper_atom1[i][j] += atom_offset; - atom->improper_atom2[i][j] += atom_offset; - atom->improper_atom3[i][j] += atom_offset; - atom->improper_atom4[i][j] += atom_offset; - } - } - } - } else m += static_cast (buf_all[m]); - } - } // if (overlap) - - } - } - } - - memory->destroy(size_buf_rnk); - memory->destroy(disp_buf_rnk); - memory->destroy(buf_all); - - int sum = 0; - MPI_Reduce(&num_replicas_added, &sum, 1, MPI_INT, MPI_SUM, 0, world); - double avg = (double) sum / nprocs; - if (me == 0) - utils::logmesg(lmp," average # of replicas added to proc = {:.2f} out " - "of {} ({:.2f}%)\n",avg,nx*ny*nz,avg/(nx*ny*nz)*100.0); + if (!bbox_flag) { + replicate_by_proc(nx,ny,nz,sublo,subhi,buf); } else { - - for (int iproc = 0; iproc < nprocs; iproc++) { - if (me == iproc) { - n = 0; - for (i = 0; i < old->nlocal; i++) n += old_avec->pack_restart(i,&buf[n]); - } - MPI_Bcast(&n,1,MPI_INT,iproc,world); - MPI_Bcast(buf,n,MPI_DOUBLE,iproc,world); - - for (ix = 0; ix < nx; ix++) { - for (iy = 0; iy < ny; iy++) { - for (iz = 0; iz < nz; iz++) { - - // while loop over one proc's atom list - - m = 0; - while (m < n) { - image = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; - if (triclinic == 0) { - x[0] = buf[m+1] + ix*old_xprd; - x[1] = buf[m+2] + iy*old_yprd; - x[2] = buf[m+3] + iz*old_zprd; - } else { - x[0] = buf[m+1] + ix*old_xprd + iy*old_xy + iz*old_xz; - x[1] = buf[m+2] + iy*old_yprd + iz*old_yz; - x[2] = buf[m+3] + iz*old_zprd; - } - domain->remap(x,image); - if (triclinic) { - domain->x2lamda(x,lamda); - coord = lamda; - } else coord = x; - - if (coord[0] >= sublo[0] && coord[0] < subhi[0] && - coord[1] >= sublo[1] && coord[1] < subhi[1] && - coord[2] >= sublo[2] && coord[2] < subhi[2]) { - - m += avec->unpack_restart(&buf[m]); - - i = atom->nlocal - 1; - if (tag_enable) - atom_offset = iz*ny*nx*maxtag + iy*nx*maxtag + ix*maxtag; - else atom_offset = 0; - mol_offset = iz*ny*nx*maxmol + iy*nx*maxmol + ix*maxmol; - - atom->x[i][0] = x[0]; - atom->x[i][1] = x[1]; - atom->x[i][2] = x[2]; - - atom->tag[i] += atom_offset; - atom->image[i] = image; - - if (atom->molecular != Atom::ATOMIC) { - if (atom->molecule[i] > 0) - atom->molecule[i] += mol_offset; - if (atom->molecular == Atom::MOLECULAR) { - if (atom->avec->bonds_allow) - for (j = 0; j < atom->num_bond[i]; j++) - atom->bond_atom[i][j] += atom_offset; - if (atom->avec->angles_allow) - for (j = 0; j < atom->num_angle[i]; j++) { - atom->angle_atom1[i][j] += atom_offset; - atom->angle_atom2[i][j] += atom_offset; - atom->angle_atom3[i][j] += atom_offset; - } - if (atom->avec->dihedrals_allow) - for (j = 0; j < atom->num_dihedral[i]; j++) { - atom->dihedral_atom1[i][j] += atom_offset; - atom->dihedral_atom2[i][j] += atom_offset; - atom->dihedral_atom3[i][j] += atom_offset; - atom->dihedral_atom4[i][j] += atom_offset; - } - if (atom->avec->impropers_allow) - for (j = 0; j < atom->num_improper[i]; j++) { - atom->improper_atom1[i][j] += atom_offset; - atom->improper_atom2[i][j] += atom_offset; - atom->improper_atom3[i][j] += atom_offset; - atom->improper_atom4[i][j] += atom_offset; - } - } - } - } else m += static_cast (buf[m]); - } - } - } - } - } - } // if (bbox_flag) + replicate_by_bbox(nx,ny,nz,sublo,subhi,buf); + } // free communication buffer and old atom class @@ -821,3 +446,533 @@ void Replicate::command(int narg, char **arg) if (me == 0) utils::logmesg(lmp," replicate CPU = {:.3f} seconds\n",platform::walltime()-time1); } + +/* ---------------------------------------------------------------------- + simple replication algorithm, suitable for small proc count + loop over procs, then over replication factors + check each atom to see if in my subdomain +------------------------------------------------------------------------- */ + +void Replicate::replicate_by_proc(int nx, int ny, int nz, + double *sublo, double *subhi, double *buf) +{ + int i,j,m,n; + int ix,iy,iz; + + int me = comm->me; + int nprocs = comm->nprocs; + int triclinic = domain->triclinic; + int tag_enable = atom->tag_enable; + + AtomVec *old_avec = old->avec; + AtomVec *avec = atom->avec; + + tagint atom_offset,mol_offset; + imageint image; + double x[3],lamda[3]; + double *coord; + + // loop over all procs + // if this iteration of loop is me: + // pack my unmapped atom data into buf + // bcast it to all other procs + + for (int iproc = 0; iproc < nprocs; iproc++) { + if (me == iproc) { + n = 0; + for (i = 0; i < old->nlocal; i++) n += old_avec->pack_restart(i,&buf[n]); + } + MPI_Bcast(&n,1,MPI_INT,iproc,world); + MPI_Bcast(buf,n,MPI_DOUBLE,iproc,world); + + for (ix = 0; ix < nx; ix++) { + for (iy = 0; iy < ny; iy++) { + for (iz = 0; iz < nz; iz++) { + + // while loop over one proc's atom list + // x = new replicated position, remapped into new simulation box + // if atom is within my new subdomain, unpack it into new atom class + // adjust tag, mol #, coord, topology info as needed + + m = 0; + while (m < n) { + image = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + if (triclinic == 0) { + x[0] = buf[m+1] + ix*old_xprd; + x[1] = buf[m+2] + iy*old_yprd; + x[2] = buf[m+3] + iz*old_zprd; + } else { + x[0] = buf[m+1] + ix*old_xprd + iy*old_xy + iz*old_xz; + x[1] = buf[m+2] + iy*old_yprd + iz*old_yz; + x[2] = buf[m+3] + iz*old_zprd; + } + domain->remap(x,image); + if (triclinic) { + domain->x2lamda(x,lamda); + coord = lamda; + } else coord = x; + + if (coord[0] >= sublo[0] && coord[0] < subhi[0] && + coord[1] >= sublo[1] && coord[1] < subhi[1] && + coord[2] >= sublo[2] && coord[2] < subhi[2]) { + + m += avec->unpack_restart(&buf[m]); + + i = atom->nlocal - 1; + if (tag_enable) atom_offset = iz*ny*nx*maxtag + iy*nx*maxtag + ix*maxtag; + else atom_offset = 0; + mol_offset = iz*ny*nx*maxmol + iy*nx*maxmol + ix*maxmol; + + atom->x[i][0] = x[0]; + atom->x[i][1] = x[1]; + atom->x[i][2] = x[2]; + + atom->tag[i] += atom_offset; + atom->image[i] = image; + + if (atom->molecular != Atom::ATOMIC) { + if (atom->molecule[i] > 0) + atom->molecule[i] += mol_offset; + if (atom->molecular == Atom::MOLECULAR) { + if (atom->avec->bonds_allow) + for (j = 0; j < atom->num_bond[i]; j++) + atom->bond_atom[i][j] += atom_offset; + if (atom->avec->angles_allow) + for (j = 0; j < atom->num_angle[i]; j++) { + atom->angle_atom1[i][j] += atom_offset; + atom->angle_atom2[i][j] += atom_offset; + atom->angle_atom3[i][j] += atom_offset; + } + if (atom->avec->dihedrals_allow) + for (j = 0; j < atom->num_dihedral[i]; j++) { + atom->dihedral_atom1[i][j] += atom_offset; + atom->dihedral_atom2[i][j] += atom_offset; + atom->dihedral_atom3[i][j] += atom_offset; + atom->dihedral_atom4[i][j] += atom_offset; + } + if (atom->avec->impropers_allow) + for (j = 0; j < atom->num_improper[i]; j++) { + atom->improper_atom1[i][j] += atom_offset; + atom->improper_atom2[i][j] += atom_offset; + atom->improper_atom3[i][j] += atom_offset; + atom->improper_atom4[i][j] += atom_offset; + } + } + } + } else m += static_cast (buf[m]); + } + } + } + } + } +} + +/* ---------------------------------------------------------------------- + more complex replication algorithm + uses bounding box of each proc's subdomain to avoid checking individual atoms + faster for large processor counts + required for bond/periodic option +------------------------------------------------------------------------- */ + +void Replicate::replicate_by_bbox(int nx, int ny, int nz, + double *sublo, double *subhi, double *buf) +{ + int i,j,m,n; + int ix,iy,iz; + + int me = comm->me; + int nprocs = comm->nprocs; + int triclinic = domain->triclinic; + int tag_enable = atom->tag_enable; + + AtomVec *old_avec = old->avec; + AtomVec *avec = atom->avec; + + tagint atom_offset,mol_offset,atom0tag; + imageint image; + double x[3],lamda[3]; + double *coord; + + // allgather size of buf on each proc + + n = 0; + for (i = 0; i < old->nlocal; i++) n += old_avec->pack_restart(i,&buf[n]); + + int * size_buf_rnk; + memory->create(size_buf_rnk, nprocs, "replicate:size_buf_rnk"); + + MPI_Allgather(&n, 1, MPI_INT, size_buf_rnk, 1, MPI_INT, world); + + // size of buf_all + + int size_buf_all = 0; + MPI_Allreduce(&n, &size_buf_all, 1, MPI_INT, MPI_SUM, world); + + if (me == 0) { + auto mesg = fmt::format(" bounding box image = ({} {} {}) " + "to ({} {} {})\n", + _imagelo[0],_imagelo[1],_imagelo[2], + _imagehi[0],_imagehi[1],_imagehi[2]); + mesg += fmt::format(" bounding box extra memory = {:.2f} MB\n", + (double)size_buf_all*sizeof(double)/1024/1024); + utils::logmesg(lmp,mesg); + } + + // rnk offsets + + int *disp_buf_rnk; + memory->create(disp_buf_rnk, nprocs, "replicate:disp_buf_rnk"); + disp_buf_rnk[0] = 0; + for (i = 1; i < nprocs; i++) + disp_buf_rnk[i] = disp_buf_rnk[i-1] + size_buf_rnk[i-1]; + + // allgather buf_all + + double *buf_all; + memory->create(buf_all, size_buf_all, "replicate:buf_all"); + + MPI_Allgatherv(buf,n,MPI_DOUBLE,buf_all,size_buf_rnk,disp_buf_rnk, + MPI_DOUBLE,world); + + // bounding box of original unwrapped system + + double _orig_lo[3], _orig_hi[3]; + if (triclinic) { + _orig_lo[0] = domain->boxlo[0] + + _imagelo[0] * old_xprd + _imagelo[1] * old_xy + _imagelo[2] * old_xz; + _orig_lo[1] = domain->boxlo[1] + + _imagelo[1] * old_yprd + _imagelo[2] * old_yz; + _orig_lo[2] = domain->boxlo[2] + _imagelo[2] * old_zprd; + + _orig_hi[0] = domain->boxlo[0] + + (_imagehi[0]+1) * old_xprd + + (_imagehi[1]+1) * old_xy + (_imagehi[2]+1) * old_xz; + _orig_hi[1] = domain->boxlo[1] + + (_imagehi[1]+1) * old_yprd + (_imagehi[2]+1) * old_yz; + _orig_hi[2] = domain->boxlo[2] + (_imagehi[2]+1) * old_zprd; + } else { + _orig_lo[0] = domain->boxlo[0] + _imagelo[0] * old_xprd; + _orig_lo[1] = domain->boxlo[1] + _imagelo[1] * old_yprd; + _orig_lo[2] = domain->boxlo[2] + _imagelo[2] * old_zprd; + + _orig_hi[0] = domain->boxlo[0] + (_imagehi[0]+1) * old_xprd; + _orig_hi[1] = domain->boxlo[1] + (_imagehi[1]+1) * old_yprd; + _orig_hi[2] = domain->boxlo[2] + (_imagehi[2]+1) * old_zprd; + } + + double _lo[3], _hi[3]; + + int num_replicas_added = 0; + + // if bond/periodic option + // store old_x and old_tag for the entire original system + + if (bond_flag) { + memory->create(old_x,old->natoms,3,"replicate:old_x"); + memory->create(old_tag,old->natoms,"replicate:old_tag"); + + i = m = 0; + while (m < size_buf_all) { + old_x[i][0] = buf_all[m+1]; + old_x[i][1] = buf_all[m+2]; + old_x[i][2] = buf_all[m+3]; + old_tag[i] = (tagint) ubuf(buf_all[m+4]).i; + old_map.insert({old_tag[i],i}); + m += static_cast (buf_all[m]); + i++; + } + } + + // replication loop + + for (ix = 0; ix < nx; ix++) { + for (iy = 0; iy < ny; iy++) { + for (iz = 0; iz < nz; iz++) { + + thisrep[0] = ix; + thisrep[1] = iy; + thisrep[2] = iz; + + // domain->remap() overwrites coordinates, so always recompute here + + if (triclinic) { + _lo[0] = _orig_lo[0] + ix * old_xprd + iy * old_xy + iz * old_xz; + _hi[0] = _orig_hi[0] + ix * old_xprd + iy * old_xy + iz * old_xz; + + _lo[1] = _orig_lo[1] + iy * old_yprd + iz * old_yz; + _hi[1] = _orig_hi[1] + iy * old_yprd + iz * old_yz; + + _lo[2] = _orig_lo[2] + iz * old_zprd; + _hi[2] = _orig_hi[2] + iz * old_zprd; + } else { + _lo[0] = _orig_lo[0] + ix * old_xprd; + _hi[0] = _orig_hi[0] + ix * old_xprd; + + _lo[1] = _orig_lo[1] + iy * old_yprd; + _hi[1] = _orig_hi[1] + iy * old_yprd; + + _lo[2] = _orig_lo[2] + iz * old_zprd; + _hi[2] = _orig_hi[2] + iz * old_zprd; + } + + // test if bounding box of shifted replica overlaps sub-domain of proc + // if not, then can skip testing of any individual atoms + + int xoverlap = 1; + int yoverlap = 1; + int zoverlap = 1; + if (triclinic) { + double _llo[3]; + domain->x2lamda(_lo,_llo); + double _lhi[3]; + domain->x2lamda(_hi,_lhi); + + if (_llo[0] > (subhi[0] - EPSILON) + || _lhi[0] < (sublo[0] + EPSILON) ) xoverlap = 0; + if (_llo[1] > (subhi[1] - EPSILON) + || _lhi[1] < (sublo[1] + EPSILON) ) yoverlap = 0; + if (_llo[2] > (subhi[2] - EPSILON) + || _lhi[2] < (sublo[2] + EPSILON) ) zoverlap = 0; + } else { + if (_lo[0] > (subhi[0] - EPSILON) + || _hi[0] < (sublo[0] + EPSILON) ) xoverlap = 0; + if (_lo[1] > (subhi[1] - EPSILON) + || _hi[1] < (sublo[1] + EPSILON) ) yoverlap = 0; + if (_lo[2] > (subhi[2] - EPSILON) + || _hi[2] < (sublo[2] + EPSILON) ) zoverlap = 0; + } + + int overlap = 0; + if (xoverlap && yoverlap && zoverlap) overlap = 1; + + // if no overlap, test if bounding box wrapped back into new system + + if (!overlap) { + + // wrap back into cell + + imageint imagelo = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + domain->remap(&(_lo[0]), imagelo); + int xboxlo = (imagelo & IMGMASK) - IMGMAX; + int yboxlo = (imagelo >> IMGBITS & IMGMASK) - IMGMAX; + int zboxlo = (imagelo >> IMG2BITS) - IMGMAX; + + imageint imagehi = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + domain->remap(&(_hi[0]), imagehi); + int xboxhi = (imagehi & IMGMASK) - IMGMAX; + int yboxhi = (imagehi >> IMGBITS & IMGMASK) - IMGMAX; + int zboxhi = (imagehi >> IMG2BITS) - IMGMAX; + + if (triclinic) { + double _llo[3]; + _llo[0] = _lo[0]; _llo[1] = _lo[1]; _llo[2] = _lo[2]; + domain->x2lamda(_llo,_lo); + + double _lhi[3]; + _lhi[0] = _hi[0]; _lhi[1] = _hi[1]; _lhi[2] = _hi[2]; + domain->x2lamda(_lhi,_hi); + } + + // test all fragments for any overlap; ok to include false positives + + int _xoverlap1 = 0; + int _xoverlap2 = 0; + if (!xoverlap) { + if (xboxlo < 0) { + _xoverlap1 = 1; + if (_lo[0] > (subhi[0] - EPSILON)) _xoverlap1 = 0; + } + + if (xboxhi > 0) { + _xoverlap2 = 1; + if (_hi[0] < (sublo[0] + EPSILON)) _xoverlap2 = 0; + } + + if (_xoverlap1 || _xoverlap2) xoverlap = 1; + } + + int _yoverlap1 = 0; + int _yoverlap2 = 0; + if (!yoverlap) { + if (yboxlo < 0) { + _yoverlap1 = 1; + if (_lo[1] > (subhi[1] - EPSILON)) _yoverlap1 = 0; + } + + if (yboxhi > 0) { + _yoverlap2 = 1; + if (_hi[1] < (sublo[1] + EPSILON)) _yoverlap2 = 0; + } + + if (_yoverlap1 || _yoverlap2) yoverlap = 1; + } + + + int _zoverlap1 = 0; + int _zoverlap2 = 0; + if (!zoverlap) { + if (zboxlo < 0) { + _zoverlap1 = 1; + if (_lo[2] > (subhi[2] - EPSILON)) _zoverlap1 = 0; + } + + if (zboxhi > 0) { + _zoverlap2 = 1; + if (_hi[2] < (sublo[2] + EPSILON)) _zoverlap2 = 0; + } + + if (_zoverlap1 || _zoverlap2) zoverlap = 1; + } + + // does either fragment overlap w/ sub-domain + + if (xoverlap && yoverlap && zoverlap) overlap = 1; + } + + // while loop over one proc's atom list + + if (overlap) { + num_replicas_added++; + + m = 0; + while (m < size_buf_all) { + image = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + if (triclinic == 0) { + x[0] = buf_all[m+1] + ix*old_xprd; + x[1] = buf_all[m+2] + iy*old_yprd; + x[2] = buf_all[m+3] + iz*old_zprd; + } else { + x[0] = buf_all[m+1] + ix*old_xprd + iy*old_xy + iz*old_xz; + x[1] = buf_all[m+2] + iy*old_yprd + iz*old_yz; + x[2] = buf_all[m+3] + iz*old_zprd; + } + domain->remap(x,image); + if (triclinic) { + domain->x2lamda(x,lamda); + coord = lamda; + } else coord = x; + + if (coord[0] >= sublo[0] && coord[0] < subhi[0] && + coord[1] >= sublo[1] && coord[1] < subhi[1] && + coord[2] >= sublo[2] && coord[2] < subhi[2]) { + + m += avec->unpack_restart(&buf_all[m]); + + i = atom->nlocal - 1; + if (tag_enable) + atom_offset = iz*ny*nx*maxtag + iy*nx*maxtag + ix*maxtag; + else atom_offset = 0; + mol_offset = iz*ny*nx*maxmol + iy*nx*maxmol + ix*maxmol; + + atom->x[i][0] = x[0]; + atom->x[i][1] = x[1]; + atom->x[i][2] = x[2]; + + atom0tag = atom->tag[i]; + atom->tag[i] += atom_offset; + atom->image[i] = image; + + if (atom->molecular != Atom::ATOMIC) { + if (atom->molecule[i] > 0) + atom->molecule[i] += mol_offset; + if (atom->molecular == Atom::MOLECULAR) { + if (atom->avec->bonds_allow) + for (j = 0; j < atom->num_bond[i]; j++) { + if (bond_flag) + newtag(atom0tag,atom->bond_atom[i][j]); + else atom->bond_atom[i][j] += atom_offset; + } + if (atom->avec->angles_allow) + for (j = 0; j < atom->num_angle[i]; j++) { + if (bond_flag) { + newtag(atom0tag,atom->angle_atom1[i][j]); + newtag(atom0tag,atom->angle_atom2[i][j]); + newtag(atom0tag,atom->angle_atom3[i][j]); + } else { + atom->angle_atom1[i][j] += atom_offset; + atom->angle_atom2[i][j] += atom_offset; + atom->angle_atom3[i][j] += atom_offset; + } + } + if (atom->avec->dihedrals_allow) + for (j = 0; j < atom->num_dihedral[i]; j++) { + if (bond_flag) { + newtag(atom0tag,atom->dihedral_atom1[i][j]); + newtag(atom0tag,atom->dihedral_atom2[i][j]); + newtag(atom0tag,atom->dihedral_atom3[i][j]); + newtag(atom0tag,atom->dihedral_atom4[i][j]); + } else { + atom->dihedral_atom1[i][j] += atom_offset; + atom->dihedral_atom2[i][j] += atom_offset; + atom->dihedral_atom3[i][j] += atom_offset; + atom->dihedral_atom4[i][j] += atom_offset; + } + } + if (atom->avec->impropers_allow) + for (j = 0; j < atom->num_improper[i]; j++) { + if (bond_flag) { + newtag(atom0tag,atom->improper_atom1[i][j]); + newtag(atom0tag,atom->improper_atom2[i][j]); + newtag(atom0tag,atom->improper_atom3[i][j]); + newtag(atom0tag,atom->improper_atom4[i][j]); + } else { + atom->improper_atom1[i][j] += atom_offset; + atom->improper_atom2[i][j] += atom_offset; + atom->improper_atom3[i][j] += atom_offset; + atom->improper_atom4[i][j] += atom_offset; + } + } + } + } + } else m += static_cast (buf_all[m]); + } + } + } + } + } + + memory->destroy(size_buf_rnk); + memory->destroy(disp_buf_rnk); + memory->destroy(buf_all); + if (bond_flag) { + memory->destroy(old_x); + memory->destroy(old_tag); + } + + int sum = 0; + MPI_Reduce(&num_replicas_added, &sum, 1, MPI_INT, MPI_SUM, 0, world); + double avg = (double) sum / nprocs; + if (me == 0) + utils::logmesg(lmp," average # of replicas added to proc = {:.2f} out " + "of {} ({:.2f}%)\n",avg,nx*ny*nz,avg/(nx*ny*nz)*100.0); +} + +/* ---------------------------------------------------------------------- + find new tag for atom 'atom2bond' bonded to atom 'atom0' + for bond/periodic option + useful for periodic loops or inconsistent image flags + reassign bond if > old boxlength / 2 +------------------------------------------------------------------------- */ + +void Replicate::newtag(tagint atom0tag, tagint &tag2bond) { + double del; + int repshift,rep2bond[3]; + int atom0 = old_map.find(atom0tag)->second; + int atom2bond = old_map.find(tag2bond)->second; + for (int i = 0; i < 3; i++) { + del = fabs(old_x[atom0][i] - old_x[atom2bond][i]); + if (del > old_prd_half[i]) { + if (old_x[atom0][i] > old_center[i]) repshift = 1; + else repshift = -1; + } else repshift = 0; + rep2bond[i] = thisrep[i] + repshift; + if (rep2bond[i] >= allnrep[i]) rep2bond[i] = 0; + if (rep2bond[i] < 0) rep2bond[i] = allnrep[i]-1; + } + tag2bond = (tag2bond + rep2bond[2]*allnrep[1]*allnrep[0]*maxtag + + rep2bond[1]*allnrep[0]*maxtag + rep2bond[0]*maxtag); +} diff --git a/src/replicate.h b/src/replicate.h index 8d71ba6584..defb35d1c6 100644 --- a/src/replicate.h +++ b/src/replicate.h @@ -22,12 +22,37 @@ CommandStyle(replicate,Replicate); #include "command.h" +#include + namespace LAMMPS_NS { class Replicate : public Command { public: Replicate(class LAMMPS *); void command(int, char **) override; + +private: + int bbox_flag, bond_flag; + + class Atom *old; + + double old_xprd, old_yprd, old_zprd; + double old_xy, old_xz, old_yz; + + int _imagelo[3], _imagehi[3]; + + double **old_x; + double old_prd_half[3], old_center[3]; + tagint *old_tag; + tagint maxtag, maxmol; + int thisrep[3], allnrep[3]; + + std::unordered_map old_map; + + void replicate_by_proc(int, int, int, double *, double *, double *); + void replicate_by_bbox(int, int, int, double *, double *, double *); + + void newtag(tagint, tagint &); }; } // namespace LAMMPS_NS diff --git a/src/rerun.cpp b/src/rerun.cpp index 74a8956994..96491bab36 100644 --- a/src/rerun.cpp +++ b/src/rerun.cpp @@ -26,6 +26,7 @@ #include "update.h" #include "variable.h" +#include #include using namespace LAMMPS_NS; diff --git a/src/reset_atoms_image.cpp b/src/reset_atoms_image.cpp index 84df5bf746..63030c632b 100644 --- a/src/reset_atoms_image.cpp +++ b/src/reset_atoms_image.cpp @@ -22,7 +22,6 @@ #include "group.h" #include "input.h" #include "modify.h" -#include "update.h" #include "variable.h" #include diff --git a/src/thermo.cpp b/src/thermo.cpp index efc5f984fc..892de240b2 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -34,6 +34,7 @@ #include "kspace.h" #include "lattice.h" #include "math_const.h" +#include "math_extra.h" #include "memory.h" #include "modify.h" #include "neighbor.h" @@ -51,20 +52,22 @@ using namespace LAMMPS_NS; using namespace MathConst; +using namespace MathExtra; // CUSTOMIZATION: add a new keyword by adding it to this list: -// step, elapsed, elaplong, dt, time, cpu, tpcpu, spcpu, cpuremain, -// part, timeremain +// step, elapsed, elaplong, dt, time, cpu, tpcpu, spcpu, cpuremain, part, timeremain // atoms, temp, press, pe, ke, etotal // evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail // enthalpy, ecouple, econserve -// vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz +// vol, density, lx, ly, lz, +// xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz +// avecx, avecy, avecz, bvecx, bvecy, bvecz, cvecx, cvecy, cvecz, // xlat, ylat, zlat -// bonds, angles, dihedrals, impropers -// pxx, pyy, pzz, pxy, pxz, pyz -// fmax, fnorm, nbuild, ndanger // cella, cellb, cellc, cellalpha, cellbeta, cellgamma +// pxx, pyy, pzz, pxy, pxz, pyz +// bonds, angles, dihedrals, impropers +// fmax, fnorm, nbuild, ndanger // CUSTOMIZATION: add a new thermo style by adding a constant to the enumerator, // define a new string constant with the keywords and provide default formats. @@ -110,6 +113,7 @@ Thermo::Thermo(LAMMPS *_lmp, int narg, char **arg) : lostflag = lostbond = Thermo::ERROR; lostbefore = warnbefore = 0; flushflag = 0; + triclinic_general = 0; firststep = 0; ntimestep = -1; nline = -1; @@ -571,6 +575,14 @@ void Thermo::modify_params(int narg, char **arg) iarg += 2; + } else if (strcmp(arg[iarg],"triclinic/general") == 0) { + if (iarg + 2 > narg) error->all(FLERR,"Illegal thermo_modify command"); + triclinic_general = utils::logical(FLERR,arg[iarg+1],false,lmp); + if (triclinic_general && !domain->triclinic_general) + error->all(FLERR,"Thermo_modify triclinic/general cannot be used " + "if simulation box is not general triclinic"); + iarg += 2; + } else if (strcmp(arg[iarg], "lost") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "thermo_modify lost", error); if (strcmp(arg[iarg + 1], "ignore") == 0) @@ -905,6 +917,7 @@ void Thermo::parse_fields(const std::string &str) addfield("Volume", &Thermo::compute_vol, FLOAT); } else if (word == "density") { addfield("Density", &Thermo::compute_density, FLOAT); + } else if (word == "lx") { addfield("Lx", &Thermo::compute_lx, FLOAT); } else if (word == "ly") { @@ -932,6 +945,25 @@ void Thermo::parse_fields(const std::string &str) } else if (word == "yz") { addfield("Yz", &Thermo::compute_yz, FLOAT); + } else if (word == "avecx") { + addfield("Avecx", &Thermo::compute_avecx, FLOAT); + } else if (word == "avecy") { + addfield("Avecy", &Thermo::compute_avecy, FLOAT); + } else if (word == "avecz") { + addfield("Avecz", &Thermo::compute_avecz, FLOAT); + } else if (word == "bvecx") { + addfield("Bvecx", &Thermo::compute_bvecx, FLOAT); + } else if (word == "bvecy") { + addfield("Bvecy", &Thermo::compute_bvecy, FLOAT); + } else if (word == "bvecz") { + addfield("Bvecz", &Thermo::compute_bvecz, FLOAT); + } else if (word == "cvecx") { + addfield("Cvecx", &Thermo::compute_cvecx, FLOAT); + } else if (word == "cvecy") { + addfield("Cvecy", &Thermo::compute_cvecy, FLOAT); + } else if (word == "cvecz") { + addfield("Cvecz", &Thermo::compute_cvecz, FLOAT); + } else if (word == "xlat") { addfield("Xlat", &Thermo::compute_xlat, FLOAT); } else if (word == "ylat") { @@ -939,44 +971,6 @@ void Thermo::parse_fields(const std::string &str) } else if (word == "zlat") { addfield("Zlat", &Thermo::compute_zlat, FLOAT); - } else if (word == "bonds") { - addfield("Bonds", &Thermo::compute_bonds, BIGINT); - } else if (word == "angles") { - addfield("Angles", &Thermo::compute_angles, BIGINT); - } else if (word == "dihedrals") { - addfield("Diheds", &Thermo::compute_dihedrals, BIGINT); - } else if (word == "impropers") { - addfield("Impros", &Thermo::compute_impropers, BIGINT); - - } else if (word == "pxx") { - addfield("Pxx", &Thermo::compute_pxx, FLOAT); - index_press_vector = add_compute(id_press, VECTOR); - } else if (word == "pyy") { - addfield("Pyy", &Thermo::compute_pyy, FLOAT); - index_press_vector = add_compute(id_press, VECTOR); - } else if (word == "pzz") { - addfield("Pzz", &Thermo::compute_pzz, FLOAT); - index_press_vector = add_compute(id_press, VECTOR); - } else if (word == "pxy") { - addfield("Pxy", &Thermo::compute_pxy, FLOAT); - index_press_vector = add_compute(id_press, VECTOR); - } else if (word == "pxz") { - addfield("Pxz", &Thermo::compute_pxz, FLOAT); - index_press_vector = add_compute(id_press, VECTOR); - } else if (word == "pyz") { - addfield("Pyz", &Thermo::compute_pyz, FLOAT); - index_press_vector = add_compute(id_press, VECTOR); - - } else if (word == "fmax") { - addfield("Fmax", &Thermo::compute_fmax, FLOAT); - } else if (word == "fnorm") { - addfield("Fnorm", &Thermo::compute_fnorm, FLOAT); - - } else if (word == "nbuild") { - addfield("Nbuild", &Thermo::compute_nbuild, BIGINT); - } else if (word == "ndanger") { - addfield("Ndanger", &Thermo::compute_ndanger, BIGINT); - } else if (word == "cella") { addfield("Cella", &Thermo::compute_cella, FLOAT); } else if (word == "cellb") { @@ -990,6 +984,56 @@ void Thermo::parse_fields(const std::string &str) } else if (word == "cellgamma") { addfield("CellGamma", &Thermo::compute_cellgamma, FLOAT); + } else if (word == "pxx") { + if (triclinic_general) + addfield("Pxx", &Thermo::compute_pxx_triclinic_general, FLOAT); + else addfield("Pxx", &Thermo::compute_pxx, FLOAT); + index_press_vector = add_compute(id_press, VECTOR); + } else if (word == "pyy") { + if (triclinic_general) + addfield("Pyy", &Thermo::compute_pyy_triclinic_general, FLOAT); + else addfield("Pyy", &Thermo::compute_pyy, FLOAT); + index_press_vector = add_compute(id_press, VECTOR); + } else if (word == "pzz") { + if (triclinic_general) + addfield("Pzz", &Thermo::compute_pzz_triclinic_general, FLOAT); + else addfield("Pzz", &Thermo::compute_pzz, FLOAT); + index_press_vector = add_compute(id_press, VECTOR); + } else if (word == "pxy") { + if (triclinic_general) + addfield("Pxy", &Thermo::compute_pxy_triclinic_general, FLOAT); + else addfield("Pxy", &Thermo::compute_pxy, FLOAT); + index_press_vector = add_compute(id_press, VECTOR); + } else if (word == "pxz") { + if (triclinic_general) + addfield("Pxz", &Thermo::compute_pxz_triclinic_general, FLOAT); + else addfield("Pxz", &Thermo::compute_pxz, FLOAT); + index_press_vector = add_compute(id_press, VECTOR); + } else if (word == "pyz") { + if (triclinic_general) + addfield("Pyz", &Thermo::compute_pyz_triclinic_general, FLOAT); + addfield("Pyz", &Thermo::compute_pyz, FLOAT); + index_press_vector = add_compute(id_press, VECTOR); + + } else if (word == "bonds") { + addfield("Bonds", &Thermo::compute_bonds, BIGINT); + } else if (word == "angles") { + addfield("Angles", &Thermo::compute_angles, BIGINT); + } else if (word == "dihedrals") { + addfield("Diheds", &Thermo::compute_dihedrals, BIGINT); + } else if (word == "impropers") { + addfield("Impros", &Thermo::compute_impropers, BIGINT); + + } else if (word == "fmax") { + addfield("Fmax", &Thermo::compute_fmax, FLOAT); + } else if (word == "fnorm") { + addfield("Fnorm", &Thermo::compute_fnorm, FLOAT); + + } else if (word == "nbuild") { + addfield("Nbuild", &Thermo::compute_nbuild, BIGINT); + } else if (word == "ndanger") { + addfield("Ndanger", &Thermo::compute_ndanger, BIGINT); + // compute value = c_ID, fix value = f_ID, variable value = v_ID // count trailing [] and store int arguments @@ -1197,6 +1241,17 @@ void Thermo::check_press_vector(const std::string &keyword) if (!(pressure->invoked_flag & Compute::INVOKED_VECTOR)) { pressure->compute_vector(); pressure->invoked_flag |= Compute::INVOKED_VECTOR; + + // store 3x3 matrix form of symmetric pressure tensor for use in triclinic_general() + + if (triclinic_general) { + press_tensor[0][0] = pressure->vector[0]; + press_tensor[1][1] = pressure->vector[1]; + press_tensor[2][2] = pressure->vector[2]; + press_tensor[0][1] = press_tensor[1][0] = pressure->vector[3]; + press_tensor[0][2] = press_tensor[2][0] = pressure->vector[4]; + press_tensor[1][2] = press_tensor[2][1] = pressure->vector[5]; + } } } @@ -1282,22 +1337,6 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) compute_atoms(); dvalue = bivalue; - } else if (word == "bonds") { - compute_bonds(); - dvalue = bivalue; - - } else if (word == "angles") { - compute_angles(); - dvalue = bivalue; - - } else if (word == "dihedrals") { - compute_dihedrals(); - dvalue = bivalue; - - } else if (word == "impropers") { - compute_impropers(); - dvalue = bivalue; - } else if (word == "temp") { check_temp(word); compute_temp(); @@ -1378,6 +1417,7 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) compute_vol(); else if (word == "density") compute_density(); + else if (word == "lx") compute_lx(); else if (word == "ly") @@ -1405,6 +1445,25 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) else if (word == "yz") compute_yz(); + else if (word == "avecx") + compute_avecx(); + else if (word == "avecy") + compute_avecy(); + else if (word == "avecz") + compute_avecz(); + else if (word == "bvecx") + compute_bvecx(); + else if (word == "bvecy") + compute_bvecy(); + else if (word == "bvecz") + compute_bvecz(); + else if (word == "cvecx") + compute_cvecx(); + else if (word == "cvecy") + compute_cvecy(); + else if (word == "cvecz") + compute_cvecz(); + else if (word == "xlat") compute_xlat(); else if (word == "ylat") @@ -1412,44 +1471,6 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) else if (word == "zlat") compute_zlat(); - else if (word == "pxx") { - check_press_vector(word); - compute_pxx(); - - } else if (word == "pyy") { - check_press_vector(word); - compute_pyy(); - - } else if (word == "pzz") { - check_press_vector(word); - compute_pzz(); - - } else if (word == "pxy") { - check_press_vector(word); - compute_pxy(); - - } else if (word == "pxz") { - check_press_vector(word); - compute_pxz(); - - } else if (word == "pyz") { - check_press_vector(word); - compute_pyz(); - } - - else if (word == "fmax") - compute_fmax(); - else if (word == "fnorm") - compute_fnorm(); - - else if (word == "nbuild") { - compute_nbuild(); - dvalue = bivalue; - } else if (word == "ndanger") { - compute_ndanger(); - dvalue = bivalue; - } - else if (word == "cella") compute_cella(); else if (word == "cellb") @@ -1463,6 +1484,65 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) else if (word == "cellgamma") compute_cellgamma(); + else if (word == "pxx") { + check_press_vector(word); + if (triclinic_general) compute_pxx_triclinic_general(); + else compute_pxx(); + + } else if (word == "pyy") { + check_press_vector(word); + if (triclinic_general) compute_pyy_triclinic_general(); + else compute_pyy(); + + } else if (word == "pzz") { + check_press_vector(word); + if (triclinic_general) compute_pzz_triclinic_general(); + else compute_pzz(); + + } else if (word == "pxy") { + check_press_vector(word); + if (triclinic_general) compute_pxy_triclinic_general(); + else compute_pxy(); + + } else if (word == "pxz") { + check_press_vector(word); + if (triclinic_general) compute_pxz_triclinic_general(); + else compute_pxz(); + + } else if (word == "pyz") { + check_press_vector(word); + if (triclinic_general) compute_pyz_triclinic_general(); + else compute_pyz(); + + } else if (word == "bonds") { + compute_bonds(); + dvalue = bivalue; + + } else if (word == "angles") { + compute_angles(); + dvalue = bivalue; + + } else if (word == "dihedrals") { + compute_dihedrals(); + dvalue = bivalue; + + } else if (word == "impropers") { + compute_impropers(); + dvalue = bivalue; + + } else if (word == "fmax") + compute_fmax(); + else if (word == "fnorm") + compute_fnorm(); + + else if (word == "nbuild") { + compute_nbuild(); + dvalue = bivalue; + } else if (word == "ndanger") { + compute_ndanger(); + dvalue = bivalue; + } + else return 1; @@ -1490,9 +1570,8 @@ void Thermo::compute_compute() if (normflag && compute->extscalar) dvalue /= natoms; } else if (compute_which[m] == VECTOR) { if (compute->size_vector_variable && argindex1[ifield] > compute->size_vector) - dvalue = 0.0; - else - dvalue = compute->vector[argindex1[ifield] - 1]; + error->all(FLERR, "Thermo compute vector is accessed out-of-range"); + dvalue = compute->vector[argindex1[ifield] - 1]; if (normflag) { if (compute->extvector == 0) return; @@ -1503,9 +1582,8 @@ void Thermo::compute_compute() } } else { if (compute->size_array_rows_variable && argindex1[ifield] > compute->size_array_rows) - dvalue = 0.0; - else - dvalue = compute->array[argindex1[ifield] - 1][argindex2[ifield] - 1]; + error->all(FLERR, "Thermo compute array is accessed out-of-range"); + dvalue = compute->array[argindex1[ifield] - 1][argindex2[ifield] - 1]; if (normflag && compute->extarray) dvalue /= natoms; } } @@ -1521,7 +1599,12 @@ void Thermo::compute_fix() dvalue = fix->compute_scalar(); if (normflag && fix->extscalar) dvalue /= natoms; } else if (argindex2[ifield] == 0) { - dvalue = fix->compute_vector(argindex1[ifield] - 1); + + // if index exceeds variable vector length, use a zero value + // this can be useful if vector length is not known a priori + + if (fix->size_vector_variable && argindex1[ifield] > fix->size_vector) dvalue = 0.0; + else dvalue = fix->compute_vector(argindex1[ifield] - 1); if (normflag) { if (fix->extvector == 0) return; @@ -1531,7 +1614,12 @@ void Thermo::compute_fix() dvalue /= natoms; } } else { - dvalue = fix->compute_array(argindex1[ifield] - 1, argindex2[ifield] - 1); + + // if index exceeds variable array rows, use a zero value + // this can be useful if array size is not known a priori + + if (fix->size_array_rows_variable && argindex1[ifield] > fix->size_array_rows) dvalue = 0.0; + else dvalue = fix->compute_array(argindex1[ifield] - 1, argindex2[ifield] - 1); if (normflag && fix->extarray) dvalue /= natoms; } } @@ -1542,15 +1630,17 @@ void Thermo::compute_variable() { int iarg = argindex1[ifield]; + // evaluate equal-style or vector-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori + if (iarg == 0) dvalue = input->variable->compute_equal(variables[field2index[ifield]]); else { double *varvec; int nvec = input->variable->compute_vector(variables[field2index[ifield]], &varvec); - if (nvec < iarg) - dvalue = 0.0; - else - dvalue = varvec[iarg - 1]; + if (iarg > nvec) dvalue = 0.0; + else dvalue = varvec[iarg - 1]; } } @@ -1728,23 +1818,6 @@ void Thermo::compute_etotal() /* ---------------------------------------------------------------------- */ -void Thermo::compute_ecouple() -{ - dvalue = modify->energy_couple(); -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_econserve() -{ - compute_etotal(); - double dvalue_etotal = dvalue; - compute_ecouple(); - dvalue += dvalue_etotal; -} - -/* ---------------------------------------------------------------------- */ - void Thermo::compute_evdwl() { double tmp = 0.0; @@ -1892,6 +1965,23 @@ void Thermo::compute_enthalpy() /* ---------------------------------------------------------------------- */ +void Thermo::compute_ecouple() +{ + dvalue = modify->energy_couple(); +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_econserve() +{ + compute_etotal(); + double dvalue_etotal = dvalue; + compute_ecouple(); + dvalue += dvalue_etotal; +} + +/* ---------------------------------------------------------------------- */ + void Thermo::compute_vol() { if (domain->dimension == 3) @@ -1995,6 +2085,85 @@ void Thermo::compute_yz() /* ---------------------------------------------------------------------- */ +void Thermo::compute_avecx() +{ + if (!domain->triclinic) dvalue = domain->xprd; + else if (triclinic_general) dvalue = domain->avec[0]; + else dvalue = domain->xprd; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_avecy() +{ + if (!domain->triclinic) dvalue = 0.0; + else if (triclinic_general) dvalue = domain->avec[1]; + else dvalue = 0.0; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_avecz() +{ + if (!domain->triclinic) dvalue = 0.0; + else if (triclinic_general) dvalue = domain->avec[2]; + else dvalue = 0.0; +} +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_bvecx() +{ + if (!domain->triclinic) dvalue = 0.0; + else if (triclinic_general) dvalue = domain->bvec[0]; + else dvalue = domain->xy; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_bvecy() +{ + if (!domain->triclinic) dvalue = domain->yprd; + else if (triclinic_general) dvalue = domain->bvec[1]; + else dvalue = domain->yprd; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_bvecz() +{ + if (!domain->triclinic) dvalue = 0.0; + else if (triclinic_general) dvalue = domain->bvec[2]; + else dvalue = 0.0; +} +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_cvecx() +{ + if (!domain->triclinic) dvalue = 0.0; + else if (triclinic_general) dvalue = domain->cvec[0]; + else dvalue = domain->xz; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_cvecy() +{ + if (!domain->triclinic) dvalue = 0.0; + else if (triclinic_general) dvalue = domain->cvec[1]; + else dvalue = domain->yz; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_cvecz() +{ + if (!domain->triclinic) dvalue = domain->zprd; + else if (triclinic_general) dvalue = domain->cvec[2]; + else dvalue = domain->zprd; +} + +/* ---------------------------------------------------------------------- */ + void Thermo::compute_xlat() { dvalue = domain->lattice->xlattice; @@ -2016,122 +2185,6 @@ void Thermo::compute_zlat() /* ---------------------------------------------------------------------- */ -void Thermo::compute_bonds() -{ - bivalue = atom->nbonds; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_angles() -{ - bivalue = atom->nangles; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_dihedrals() -{ - bivalue = atom->ndihedrals; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_impropers() -{ - bivalue = atom->nimpropers; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_pxx() -{ - dvalue = pressure->vector[0]; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_pyy() -{ - dvalue = pressure->vector[1]; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_pzz() -{ - dvalue = pressure->vector[2]; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_pxy() -{ - dvalue = pressure->vector[3]; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_pxz() -{ - dvalue = pressure->vector[4]; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_pyz() -{ - dvalue = pressure->vector[5]; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_fmax() -{ - double **f = atom->f; - int nlocal = atom->nlocal; - - double max = 0.0; - for (int i = 0; i < nlocal; i++) { - max = MAX(max, fabs(f[i][0])); - max = MAX(max, fabs(f[i][1])); - max = MAX(max, fabs(f[i][2])); - } - double maxall; - MPI_Allreduce(&max, &maxall, 1, MPI_DOUBLE, MPI_MAX, world); - dvalue = maxall; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_fnorm() -{ - double **f = atom->f; - int nlocal = atom->nlocal; - - double dot = 0.0; - for (int i = 0; i < nlocal; i++) dot += f[i][0] * f[i][0] + f[i][1] * f[i][1] + f[i][2] * f[i][2]; - double dotall; - MPI_Allreduce(&dot, &dotall, 1, MPI_DOUBLE, MPI_SUM, world); - dvalue = sqrt(dotall); -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_nbuild() -{ - bivalue = neighbor->ncalls; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_ndanger() -{ - bivalue = neighbor->ndanger; -} - -/* ---------------------------------------------------------------------- */ - void Thermo::compute_cella() { dvalue = domain->xprd; @@ -2209,3 +2262,179 @@ void Thermo::compute_cellgamma() dvalue = acos(cosgamma) * 180.0 / MY_PI; } } + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pxx() +{ + dvalue = pressure->vector[0]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pyy() +{ + dvalue = pressure->vector[1]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pzz() +{ + dvalue = pressure->vector[2]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pxy() +{ + dvalue = pressure->vector[3]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pxz() +{ + dvalue = pressure->vector[4]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pyz() +{ + dvalue = pressure->vector[5]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pxx_triclinic_general() +{ + double middle[3][3],final[3][3]; + MathExtra::times3(domain->rotate_r2g,press_tensor,middle); + MathExtra::times3(middle,domain->rotate_g2r,final); + dvalue = final[0][0]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pyy_triclinic_general() +{ + double middle[3][3],final[3][3]; + MathExtra::times3(domain->rotate_r2g,press_tensor,middle); + MathExtra::times3(middle,domain->rotate_g2r,final); + dvalue = final[1][1]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pzz_triclinic_general() +{ + double middle[3][3],final[3][3]; + MathExtra::times3(domain->rotate_r2g,press_tensor,middle); + MathExtra::times3(middle,domain->rotate_g2r,final); + dvalue = final[2][2]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pxy_triclinic_general() +{ + double middle[3][3],final[3][3]; + MathExtra::times3(domain->rotate_r2g,press_tensor,middle); + MathExtra::times3(middle,domain->rotate_g2r,final); + dvalue = final[0][1]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pxz_triclinic_general() +{ + double middle[3][3],final[3][3]; + MathExtra::times3(domain->rotate_r2g,press_tensor,middle); + MathExtra::times3(middle,domain->rotate_g2r,final); + dvalue = final[0][2]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pyz_triclinic_general() +{ + double middle[3][3],final[3][3]; + MathExtra::times3(domain->rotate_r2g,press_tensor,middle); + MathExtra::times3(middle,domain->rotate_g2r,final); + dvalue = final[1][2]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_bonds() +{ + bivalue = atom->nbonds; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_angles() +{ + bivalue = atom->nangles; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_dihedrals() +{ + bivalue = atom->ndihedrals; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_impropers() +{ + bivalue = atom->nimpropers; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_fmax() +{ + double **f = atom->f; + int nlocal = atom->nlocal; + + double max = 0.0; + for (int i = 0; i < nlocal; i++) { + max = MAX(max, fabs(f[i][0])); + max = MAX(max, fabs(f[i][1])); + max = MAX(max, fabs(f[i][2])); + } + double maxall; + MPI_Allreduce(&max, &maxall, 1, MPI_DOUBLE, MPI_MAX, world); + dvalue = maxall; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_fnorm() +{ + double **f = atom->f; + int nlocal = atom->nlocal; + + double dot = 0.0; + for (int i = 0; i < nlocal; i++) dot += f[i][0] * f[i][0] + f[i][1] * f[i][1] + f[i][2] * f[i][2]; + double dotall; + MPI_Allreduce(&dot, &dotall, 1, MPI_DOUBLE, MPI_SUM, world); + dvalue = sqrt(dotall); +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_nbuild() +{ + bivalue = neighbor->ncalls; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_ndanger() +{ + bivalue = neighbor->ndanger; +} diff --git a/src/thermo.h b/src/thermo.h index ad1e1c440d..4d18c3be7e 100644 --- a/src/thermo.h +++ b/src/thermo.h @@ -57,6 +57,8 @@ class Thermo : protected Pointers { private: int nfield, nfield_initial; int *vtype; + int triclinic_general; // set by thermo_modify + std::string line; std::vector keyword, format, format_column_user, keyword_user; std::string format_line_user, format_float_user, format_int_user, format_bigint_user; @@ -81,6 +83,7 @@ class Thermo : protected Pointers { std::string image_fname; // data used by routines that compute single values + int ivalue; // integer value to print double dvalue; // double value to print bigint bivalue; // big integer value to print @@ -93,8 +96,10 @@ class Thermo : protected Pointers { // index = where they are in computes list // id = ID of Compute objects // Compute * = ptrs to the Compute objects + int index_temp, index_press_scalar, index_press_vector, index_pe; class Compute *temperature, *pressure, *pe; + double press_tensor[3][3]; int ncompute; // # of Compute objects called by thermo char **id_compute; // their IDs @@ -171,6 +176,7 @@ class Thermo : protected Pointers { void compute_vol(); void compute_density(); + void compute_lx(); void compute_ly(); void compute_lz(); @@ -186,14 +192,26 @@ class Thermo : protected Pointers { void compute_xz(); void compute_yz(); + void compute_avecx(); + void compute_avecy(); + void compute_avecz(); + void compute_bvecx(); + void compute_bvecy(); + void compute_bvecz(); + void compute_cvecx(); + void compute_cvecy(); + void compute_cvecz(); + void compute_xlat(); void compute_ylat(); void compute_zlat(); - void compute_bonds(); - void compute_angles(); - void compute_dihedrals(); - void compute_impropers(); + void compute_cella(); + void compute_cellb(); + void compute_cellc(); + void compute_cellalpha(); + void compute_cellbeta(); + void compute_cellgamma(); void compute_pxx(); void compute_pyy(); @@ -202,18 +220,24 @@ class Thermo : protected Pointers { void compute_pyz(); void compute_pxz(); + void compute_pxx_triclinic_general(); + void compute_pyy_triclinic_general(); + void compute_pzz_triclinic_general(); + void compute_pxy_triclinic_general(); + void compute_pxz_triclinic_general(); + void compute_pyz_triclinic_general(); + + void compute_bonds(); + void compute_angles(); + void compute_dihedrals(); + void compute_impropers(); + void compute_fmax(); void compute_fnorm(); void compute_nbuild(); void compute_ndanger(); - void compute_cella(); - void compute_cellb(); - void compute_cellc(); - void compute_cellalpha(); - void compute_cellbeta(); - void compute_cellgamma(); }; } // namespace LAMMPS_NS diff --git a/src/utils.cpp b/src/utils.cpp index bde6dffca5..8aa33e14e6 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -33,6 +33,7 @@ #include #include #include +#include /*! \file utils.cpp */ diff --git a/src/variable.cpp b/src/variable.cpp index 426dbd8b06..be9239c027 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -369,7 +369,8 @@ void Variable::set(int narg, char **arg) data[nvar][0] = new char[MAXLINE]; reader[nvar] = new VarReader(lmp,arg[0],arg[2],SCALARFILE); int flag = reader[nvar]->read_scalar(data[nvar][0]); - if (flag) error->all(FLERR,"File variable could not read value"); + if (flag) + error->all(FLERR,"File variable {} could not read value from {}", arg[0], arg[2]); // ATOMFILE for numbers // which = 1st value @@ -387,7 +388,8 @@ void Variable::set(int narg, char **arg) data[nvar][0] = nullptr; reader[nvar] = new VarReader(lmp,arg[0],arg[2],ATOMFILE); int flag = reader[nvar]->read_peratom(); - if (flag) error->all(FLERR,"Atomfile variable could not read values"); + if (flag) + error->all(FLERR,"Atomfile variable {} could not read values from {}", arg[0], arg[2]); // FORMAT // num = 3, which = 1st value @@ -1225,7 +1227,6 @@ int Variable::compute_vector(int ivar, double **result) int nlen = size_tree_vector(tree); if (nlen == 0) print_var_error(FLERR,"Vector-style variable has zero length",ivar); - if (nlen < 0) print_var_error(FLERR,"Inconsistent lengths in vector-style variable",ivar); @@ -1281,7 +1282,12 @@ void Variable::remove(int n) reader[i-1] = reader[i]; data[i-1] = data[i]; dvalue[i-1] = dvalue[i]; + + // copy VecVar struct from vecs[i] to vecs[i-1] + + memcpy(&vecs[i-1],&vecs[i],sizeof(VecVar)); } + nvar--; data[nvar] = nullptr; reader[nvar] = nullptr; @@ -1530,9 +1536,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->vector_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (index1 > compute->size_vector && - compute->size_vector_variable == 0) - print_var_error(FLERR,"Variable formula compute vector is accessed out-of-range",ivar,0); if (!compute->is_initialized()) print_var_error(FLERR,"Variable formula compute cannot be invoked before " "initialization by a run",ivar); @@ -1541,10 +1544,14 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->invoked_flag |= Compute::INVOKED_VECTOR; } - if (compute->size_vector_variable && - index1 > compute->size_vector) value1 = 0.0; - else value1 = compute->vector[index1-1]; - argstack[nargstack++] = value1; + // wait to check index1 until after compute invocation + // to allow for computes with size_vector_variable == 1 + + if (index1 > compute->size_vector) + print_var_error(FLERR,"Variable formula compute vector is accessed out-of-range",ivar,0); + + value1 = compute->vector[index1-1]; + argstack[nargstack++] = value1; // c_ID[i][j] = scalar from global array @@ -1552,9 +1559,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->array_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (index1 > compute->size_array_rows && - compute->size_array_rows_variable == 0) - print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); if (index2 > compute->size_array_cols) print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); if (!compute->is_initialized()) @@ -1565,9 +1569,13 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->invoked_flag |= Compute::INVOKED_ARRAY; } - if (compute->size_array_rows_variable && - index1 > compute->size_array_rows) value1 = 0.0; - else value1 = compute->array[index1-1][index2-1]; + // wait to check index1 until after compute invocation + // to allow for computes with size_array_rows_variable == 1 + + if (index1 > compute->size_array_rows) + print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); + + value1 = compute->array[index1-1][index2-1]; argstack[nargstack++] = value1; // C_ID[i] = scalar element of per-atom vector, note uppercase "C" @@ -1629,8 +1637,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->vector_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (compute->size_vector == 0) - print_var_error(FLERR,"Variable formula compute vector is zero length",ivar); if (!compute->is_initialized()) print_var_error(FLERR,"Variable formula compute cannot be invoked before " "initialization by a run",ivar); @@ -1639,6 +1645,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->invoked_flag |= Compute::INVOKED_VECTOR; } + // wait to check vector size until after compute invocation + // to allow for computes with size_vector_variable == 1 + + if (compute->size_vector == 0) + print_var_error(FLERR,"Variable formula compute vector is zero length",ivar); + auto newtree = new Tree(); newtree->type = VECTORARRAY; newtree->array = compute->vector; @@ -1652,18 +1664,22 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->array_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (compute->size_array_rows == 0) - print_var_error(FLERR,"Variable formula compute array is zero length",ivar); - if (index1 > compute->size_array_cols) - print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); if (!compute->is_initialized()) print_var_error(FLERR,"Variable formula compute cannot be invoked before " "initialization by a run",ivar); + if (index1 > compute->size_array_cols) + print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); if (!(compute->invoked_flag & Compute::INVOKED_ARRAY)) { compute->compute_array(); compute->invoked_flag |= Compute::INVOKED_ARRAY; } + // wait to check row count until after compute invocation + // to allow for computes with size_array_rows_variable == 1 + + if (compute->size_array_rows == 0) + print_var_error(FLERR,"Variable formula compute array has zero rows",ivar); + auto newtree = new Tree(); newtree->type = VECTORARRAY; newtree->array = &compute->array[0][index1-1]; @@ -1793,13 +1809,16 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!fix->vector_flag) print_var_error(FLERR,"Mismatched fix in variable formula",ivar); - if (index1 > fix->size_vector && - fix->size_vector_variable == 0) + if (index1 > fix->size_vector && fix->size_vector_variable == 0) print_var_error(FLERR,"Variable formula fix vector is accessed out-of-range",ivar,0); if (update->whichflag > 0 && update->ntimestep % fix->global_freq) print_var_error(FLERR,"Fix in variable not computed at a compatible time",ivar); - value1 = fix->compute_vector(index1-1); + // if index exceeds variable vector length, use a zero value + // this can be useful if vector length is not known a priori + + if (fix->size_vector_variable && index1 > fix->size_vector) value1 = 0.0; + else value1 = fix->compute_vector(index1-1); argstack[nargstack++] = value1; // f_ID[i][j] = scalar from global array @@ -1808,15 +1827,18 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!fix->array_flag) print_var_error(FLERR,"Mismatched fix in variable formula",ivar); - if (index1 > fix->size_array_rows && - fix->size_array_rows_variable == 0) + if (index1 > fix->size_array_rows && fix->size_array_rows_variable == 0) print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar,0); if (index2 > fix->size_array_cols) print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar,0); if (update->whichflag > 0 && update->ntimestep % fix->global_freq) print_var_error(FLERR,"Fix in variable not computed at a compatible time",ivar); - value1 = fix->compute_array(index1-1,index2-1); + // if index exceeds variable array rows, use a zero value + // this can be useful if array size is not known a priori + + if (fix->size_array_rows_variable && index1 > fix->size_array_rows) value1 = 0.0; + else value1 = fix->compute_array(index1-1,index2-1); argstack[nargstack++] = value1; // F_ID[i] = scalar element of per-atom vector, note uppercase "F" @@ -1972,12 +1994,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) } else if (strncmp(word,"v_",2) == 0) { - int ivar = find(word+2); - if (ivar < 0) + int jvar = find(word+2); + if (jvar < 0) print_var_error(FLERR,fmt::format("Invalid variable reference {} in variable formula",word), - ivar); - if (eval_in_progress[ivar]) - print_var_error(FLERR,"has a circular dependency",ivar); + jvar); + if (eval_in_progress[jvar]) + print_var_error(FLERR,"has a circular dependency",jvar); // parse zero or one trailing brackets // point i beyond last bracket @@ -2001,9 +2023,9 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // scalar from internal-style variable // access value directly - if (style[ivar] == INTERNAL) { + if (style[jvar] == INTERNAL) { - value1 = dvalue[ivar]; + value1 = dvalue[jvar]; if (tree) { auto newtree = new Tree(); newtree->type = VALUE; @@ -2014,13 +2036,13 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // scalar from any style variable except VECTOR, ATOM, ATOMFILE // access value via retrieve() - } else if (style[ivar] != ATOM && style[ivar] != ATOMFILE && style[ivar] != VECTOR) { + } else if (style[jvar] != ATOM && style[jvar] != ATOMFILE && style[jvar] != VECTOR) { char *var = retrieve(word+2); if (var == nullptr) - print_var_error(FLERR,"Invalid variable evaluation in variable formula",ivar); + print_var_error(FLERR,"Invalid variable evaluation in variable formula",jvar); if (!utils::is_double(var)) - print_var_error(FLERR,"Non-numeric variable value in variable formula",ivar); + print_var_error(FLERR,"Non-numeric variable value in variable formula",jvar); if (tree) { auto newtree = new Tree(); newtree->type = VALUE; @@ -2031,15 +2053,15 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // vector from vector-style variable // evaluate the vector-style variable, put result in newtree - } else if (style[ivar] == VECTOR) { + } else if (style[jvar] == VECTOR) { if (tree == nullptr) - print_var_error(FLERR,"Vector-style variable in equal-style variable formula",ivar); + print_var_error(FLERR,"Vector-style variable in equal-style variable formula",jvar); if (treetype == ATOM) - print_var_error(FLERR,"Vector-style variable in atom-style variable formula",ivar); + print_var_error(FLERR,"Vector-style variable in atom-style variable formula",jvar); double *vec; - int nvec = compute_vector(ivar,&vec); + int nvec = compute_vector(jvar,&vec); auto newtree = new Tree(); newtree->type = VECTORARRAY; @@ -2051,36 +2073,36 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // vector from atom-style variable // evaluate the atom-style variable as newtree - } else if (style[ivar] == ATOM) { + } else if (style[jvar] == ATOM) { if (tree == nullptr) - print_var_error(FLERR,"Atom-style variable in equal-style variable formula",ivar); + print_var_error(FLERR,"Atom-style variable in equal-style variable formula",jvar); if (treetype == VECTOR) - print_var_error(FLERR,"Atom-style variable in vector-style variable formula",ivar); + print_var_error(FLERR,"Atom-style variable in vector-style variable formula",jvar); Tree *newtree = nullptr; - evaluate(data[ivar][0],&newtree,ivar); + evaluate(data[jvar][0],&newtree,jvar); treestack[ntreestack++] = newtree; // vector from atomfile-style variable // point to the values in FixStore instance - } else if (style[ivar] == ATOMFILE) { + } else if (style[jvar] == ATOMFILE) { if (tree == nullptr) - print_var_error(FLERR,"Atomfile-style variable in equal-style variable formula",ivar); + print_var_error(FLERR,"Atomfile-style variable in equal-style variable formula",jvar); if (treetype == VECTOR) - print_var_error(FLERR,"Atomfile-style variable in vector-style variable formula",ivar); + print_var_error(FLERR,"Atomfile-style variable in vector-style variable formula",jvar); auto newtree = new Tree(); newtree->type = ATOMARRAY; - newtree->array = reader[ivar]->fixstore->vstore; + newtree->array = reader[jvar]->fixstore->vstore; newtree->nstride = 1; treestack[ntreestack++] = newtree; // no other possibilities for variable with no bracket - } else print_var_error(FLERR,"Mismatched variable in variable formula",ivar); + } else print_var_error(FLERR,"Mismatched variable in variable formula",jvar); // vname[i] with one bracket @@ -2089,12 +2111,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // scalar from vector-style variable // compute the vector-style variable, extract single value - if (style[ivar] == VECTOR) { + if (style[jvar] == VECTOR) { double *vec; - int nvec = compute_vector(ivar,&vec); + int nvec = compute_vector(jvar,&vec); if (index <= 0 || index > nvec) - print_var_error(FLERR,"Invalid index into vector-style variable",ivar); + print_var_error(FLERR,"Invalid index into vector-style variable",jvar); int m = index; // convert from tagint to int if (tree) { @@ -2108,25 +2130,25 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // compute the per-atom variable in result // use peratom2global to extract single value from result - } else if (style[ivar] == ATOM) { + } else if (style[jvar] == ATOM) { double *result; memory->create(result,atom->nlocal,"variable:result"); - compute_atom(ivar,0,result,1,0); + compute_atom(jvar,0,result,1,0); peratom2global(1,nullptr,result,1,index,tree,treestack,ntreestack,argstack,nargstack); memory->destroy(result); // scalar from atomfile-style variable // use peratom2global to extract single value from FixStore instance - } else if (style[ivar] == ATOMFILE) { + } else if (style[jvar] == ATOMFILE) { - peratom2global(1,nullptr,reader[ivar]->fixstore->vstore,1,index, + peratom2global(1,nullptr,reader[jvar]->fixstore->vstore,1,index, tree,treestack,ntreestack,argstack,nargstack); // no other possibilities for variable with one bracket - } else print_var_error(FLERR,"Mismatched variable in variable formula",ivar); + } else print_var_error(FLERR,"Mismatched variable in variable formula",jvar); } // ---------------- @@ -5393,7 +5415,8 @@ VarReader::VarReader(LAMMPS *lmp, char *name, char *file, int flag) : if (me == 0) { fp = fopen(file,"r"); if (fp == nullptr) - error->one(FLERR,"Cannot open file variable file {}: {}", file, utils::getsyserror()); + error->one(FLERR,"Cannot open {} variable {} file {}: {}", (style == Variable::ATOMFILE) + ? "atomfile" : "file", name, file, utils::getsyserror()); } // if atomfile-style variable, must store per-atom values read from file @@ -5451,14 +5474,12 @@ int VarReader::read_scalar(char *str) while (true) { ptr = fgets(str,MAXLINE,fp); if (!ptr) { n=0; break; } // end of file - ptr[strcspn(ptr,"#")] = '\0'; // strip comment - ptr += strspn(ptr," \t\n\r\f"); // strip leading whitespace - ptr[strcspn(ptr," \t\n\r\f")] = '\0'; // strip trailing whitespace - n = strlen(ptr) + 1; + auto line = utils::trim(utils::trim_comment(str)); + n = line.size() + 1; if (n == 1) continue; // skip if blank line + memcpy(str, line.c_str(), n); break; } - if (n > 0) memmove(str,ptr,n); // move trimmed string back } MPI_Bcast(&n,1,MPI_INT,0,world); if (n == 0) return 1; @@ -5474,9 +5495,9 @@ int VarReader::read_scalar(char *str) int VarReader::read_peratom() { - int i,m,n,nchunk,eof; + int i,m,nchunk,eof; tagint tag; - char *ptr,*next; + char *ptr; double value; // set all per-atom values to 0.0 @@ -5490,24 +5511,22 @@ int VarReader::read_peratom() // read one string from file, convert to Nlines char str[MAXLINE]; + bigint nlines = 0; if (me == 0) { while (true) { ptr = fgets(str,MAXLINE,fp); - if (!ptr) { n=0; break; } // end of file - ptr[strcspn(ptr,"#")] = '\0'; // strip comment - ptr += strspn(ptr," \t\n\r\f"); // strip leading whitespace - ptr[strcspn(ptr," \t\n\r\f")] = '\0'; // strip trailing whitespace - n = strlen(ptr) + 1; - if (n == 1) continue; // skip if blank line + if (!ptr) { nlines = 0; break; } // end of file + Tokenizer words(utils::trim(utils::trim_comment(str))); + if (words.count() == 0) continue; // skip if blank or comment line + if (words.count() != 1) + error->one(FLERR, "Expected 1 token but found {} when parsing {}", words.count(), str); + nlines = utils::bnumeric(FLERR,words.next(),true,lmp); break; } - memmove(str,ptr,n); // move trimmed string back } + MPI_Bcast(&nlines,1,MPI_LMP_BIGINT,0,world); + if (nlines == 0) return 1; - MPI_Bcast(&n,1,MPI_INT,0,world); - if (n == 0) return 1; - MPI_Bcast(str,n,MPI_CHAR,0,world); - bigint nlines = utils::bnumeric(FLERR,str,false,lmp); tagint map_tag_max = atom->map_tag_max; bigint nread = 0; @@ -5516,24 +5535,22 @@ int VarReader::read_peratom() eof = utils::read_lines_from_file(fp,nchunk,MAXLINE,buffer,me,world); if (eof) return 1; - char *buf = buffer; - for (i = 0; i < nchunk; i++) { - next = strchr(buf,'\n'); - *next = '\0'; + for (const auto &line : utils::split_lines(buffer)) { try { - ValueTokenizer words(buf); + ValueTokenizer words(utils::trim_comment(utils::trim(line))); + if (words.count() == 0) continue; // skip comment or empty lines + if (words.count() != 2) + throw TokenizerException(fmt::format("expected 2 tokens but found {}", words.count()), ""); tag = words.next_bigint(); value = words.next_double(); + ++nread; } catch (TokenizerException &e) { - error->all(FLERR,"Invalid atomfile line '{}': {}",buf,e.what()); + error->all(FLERR,"Invalid atomfile line '{}': {}", line, e.what()); } if ((tag <= 0) || (tag > map_tag_max)) error->all(FLERR,"Invalid atom ID {} in variable file", tag); if ((m = atom->map(tag)) >= 0) vstore[m] = value; - buf = next + 1; } - - nread += nchunk; } return 0; diff --git a/src/version.h b/src/version.h index 76ede29b68..64d5210270 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ -#define LAMMPS_VERSION "7 Feb 2024" +#define LAMMPS_VERSION "17 Apr 2024" #define LAMMPS_UPDATE "Development" diff --git a/src/write_data.cpp b/src/write_data.cpp index 5454edab44..bc6f1773d4 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -72,8 +72,12 @@ void WriteData::command(int narg, char **arg) pairflag = II; coeffflag = 1; fixflag = 1; + triclinic_general = 0; lmapflag = 1; - // store current (default) setting since we may change it. + + // store current (default) setting since we may change it + + int domain_triclinic_general = domain->triclinic_general; int types_style = atom->types_style; int noinit = 0; @@ -94,6 +98,9 @@ void WriteData::command(int narg, char **arg) } else if (strcmp(arg[iarg],"nofix") == 0) { fixflag = 0; iarg++; + } else if (strcmp(arg[iarg],"triclinic/general") == 0) { + triclinic_general = 1; + iarg++; } else if (strcmp(arg[iarg],"nolabelmap") == 0) { lmapflag = 0; iarg++; @@ -106,6 +113,14 @@ void WriteData::command(int narg, char **arg) } else error->all(FLERR,"Unknown write_data keyword: {}", arg[iarg]); } + // temporarily disable domain->triclinic_general if output not requested + + if (triclinic_general && !domain->triclinic_general) + error->all(FLERR,"Write_data triclinic/general for system " + "that is not general triclinic"); + if (!triclinic_general && domain->triclinic_general) + domain->triclinic_general = 0; + // init entire system since comm->exchange is done // comm::init needs neighbor::init needs pair::init needs kspace::init, etc // exception is when called by -r command-line switch @@ -135,7 +150,10 @@ void WriteData::command(int narg, char **arg) } write(file); - // restore saved setting + + // restore saved settings + + domain->triclinic_general = domain_triclinic_general; atom->types_style = types_style; } @@ -204,6 +222,11 @@ void WriteData::write(const std::string &file) if (coeffflag) force_fields(); } + // if general triclinic output: + // reset internal per-atom data that needs rotation + + if (domain->triclinic_general) atom->avec->write_data_restricted_to_general(); + // per atom info in Atoms and Velocities sections // must not write velocities without tags since we cannot read them back @@ -239,6 +262,11 @@ void WriteData::write(const std::string &file) if (ifix->wd_section) for (int m = 0; m < ifix->wd_section; m++) fix(ifix,m); + // if general triclinic output: + // restore internal per-atom data that was rotated + + if (domain->triclinic_general) atom->avec->write_data_restore_restricted(); + // close data file if (me == 0) fclose(fp); @@ -294,15 +322,24 @@ void WriteData::header() for (int m = 0; m < ifix->wd_header; m++) ifix->write_data_header(fp,m); - // box info + // box info: orthogonal, restricted triclinic, or general triclinic (if requested) - auto box = fmt::format("\n{} {} xlo xhi\n{} {} ylo yhi\n{} {} zlo zhi\n", - domain->boxlo[0],domain->boxhi[0], - domain->boxlo[1],domain->boxhi[1], - domain->boxlo[2],domain->boxhi[2]); - if (domain->triclinic) - box += fmt::format("{} {} {} xy xz yz\n",domain->xy,domain->xz,domain->yz); - fputs(box.c_str(),fp); + if (!domain->triclinic_general) { + fmt::print(fp,"\n{} {} xlo xhi\n{} {} ylo yhi\n{} {} zlo zhi\n", + domain->boxlo[0],domain->boxhi[0], + domain->boxlo[1],domain->boxhi[1], + domain->boxlo[2],domain->boxhi[2]); + if (domain->triclinic) + fmt::print(fp,"{} {} {} xy xz yz\n",domain->xy,domain->xz,domain->yz); + + } else if (domain->triclinic_general) { + fmt::print(fp,"\n{} {} {} avec\n{} {} {} bvec\n{} {} {} cvec\n", + domain->avec[0],domain->avec[1],domain->avec[2], + domain->bvec[0],domain->bvec[1],domain->bvec[2], + domain->cvec[0],domain->cvec[1],domain->cvec[2]); + fmt::print(fp,"{} {} {} abc origin\n", + domain->boxlo[0],domain->boxlo[1],domain->boxlo[2]); + } } /* ---------------------------------------------------------------------- diff --git a/src/write_data.h b/src/write_data.h index f0df9b0c5f..ebaa97ffc0 100644 --- a/src/write_data.h +++ b/src/write_data.h @@ -35,6 +35,7 @@ class WriteData : public Command { int pairflag; int coeffflag; int fixflag; + int triclinic_general; int lmapflag; FILE *fp; bigint nbonds_local, nbonds; diff --git a/src/write_dump.cpp b/src/write_dump.cpp index 89dd48e0ba..8cd7dec88e 100644 --- a/src/write_dump.cpp +++ b/src/write_dump.cpp @@ -45,11 +45,16 @@ void WriteDump::command(int narg, char **arg) // create the Dump instance // create dump command line with extra required args + // work around "fix not computed at compatible times" errors. + + int dumpfreq = MAX(1, update->nsteps); + dumpfreq += update->ntimestep % dumpfreq; + auto dumpargs = new char *[modindex + 2]; - dumpargs[0] = (char *) "WRITE_DUMP"; // dump id - dumpargs[1] = arg[0]; // group - dumpargs[2] = arg[1]; // dump style - dumpargs[3] = utils::strdup(std::to_string(MAX(update->ntimestep, 1))); // dump frequency + dumpargs[0] = (char *) "WRITE_DUMP"; // dump id + dumpargs[1] = arg[0]; // group + dumpargs[2] = arg[1]; // dump style + dumpargs[3] = utils::strdup(std::to_string(dumpfreq)); // dump frequency for (int i = 2; i < modindex; ++i) dumpargs[i + 2] = arg[i]; diff --git a/src/write_restart.cpp b/src/write_restart.cpp index ad279c14f6..a2022deeb9 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -448,6 +448,10 @@ void WriteRestart::header() write_double(XZ,domain->xz); write_double(YZ,domain->yz); + write_int(TRICLINIC_GENERAL,domain->triclinic_general); + if (domain->triclinic_general) + write_double_vec(ROTATE_G2R,9,&domain->rotate_g2r[0][0]); + write_double_vec(SPECIAL_LJ,3,&force->special_lj[1]); write_double_vec(SPECIAL_COUL,3,&force->special_coul[1]); diff --git a/tools/binary2txt.cpp b/tools/binary2txt.cpp index b77614a8fc..2369057324 100644 --- a/tools/binary2txt.cpp +++ b/tools/binary2txt.cpp @@ -60,6 +60,7 @@ int main(int narg, char **arg) bigint ntimestep, natoms; int size_one, nchunk, triclinic; double xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz; + double ax, ay, az, bx, by, bz, cx, cy, cz, abcx, abcy, abcz; int boundary[3][2]; char boundstr[9]; @@ -133,17 +134,39 @@ int main(int narg, char **arg) fread(&natoms, sizeof(bigint), 1, fp); fread(&triclinic, sizeof(int), 1, fp); fread(&boundary[0][0], 6 * sizeof(int), 1, fp); - fread(&xlo, sizeof(double), 1, fp); - fread(&xhi, sizeof(double), 1, fp); - fread(&ylo, sizeof(double), 1, fp); - fread(&yhi, sizeof(double), 1, fp); - fread(&zlo, sizeof(double), 1, fp); - fread(&zhi, sizeof(double), 1, fp); - if (triclinic) { + + if (triclinic == 0) { + fread(&xlo, sizeof(double), 1, fp); + fread(&xhi, sizeof(double), 1, fp); + fread(&ylo, sizeof(double), 1, fp); + fread(&yhi, sizeof(double), 1, fp); + fread(&zlo, sizeof(double), 1, fp); + fread(&zhi, sizeof(double), 1, fp); + } else if (triclinic == 1) { + fread(&xlo, sizeof(double), 1, fp); + fread(&xhi, sizeof(double), 1, fp); + fread(&ylo, sizeof(double), 1, fp); + fread(&yhi, sizeof(double), 1, fp); + fread(&zlo, sizeof(double), 1, fp); + fread(&zhi, sizeof(double), 1, fp); fread(&xy, sizeof(double), 1, fp); fread(&xz, sizeof(double), 1, fp); fread(&yz, sizeof(double), 1, fp); + } else if (triclinic == 2) { + fread(&ax, sizeof(double), 1, fp); + fread(&ay, sizeof(double), 1, fp); + fread(&az, sizeof(double), 1, fp); + fread(&bx, sizeof(double), 1, fp); + fread(&by, sizeof(double), 1, fp); + fread(&bz, sizeof(double), 1, fp); + fread(&cx, sizeof(double), 1, fp); + fread(&cy, sizeof(double), 1, fp); + fread(&cz, sizeof(double), 1, fp); + fread(&abcx, sizeof(double), 1, fp); + fread(&abcy, sizeof(double), 1, fp); + fread(&abcz, sizeof(double), 1, fp); } + fread(&size_one, sizeof(int), 1, fp); if (magic_string && revision > 0x0001) { @@ -201,16 +224,21 @@ int main(int narg, char **arg) } boundstr[8] = '\0'; - if (!triclinic) { + if (triclinic == 0) { fprintf(fptxt, "ITEM: BOX BOUNDS %s\n", boundstr); fprintf(fptxt, "%-1.16e %-1.16e\n", xlo, xhi); fprintf(fptxt, "%-1.16e %-1.16e\n", ylo, yhi); fprintf(fptxt, "%-1.16e %-1.16e\n", zlo, zhi); - } else { + } else if (triclinic == 1) { fprintf(fptxt, "ITEM: BOX BOUNDS xy xz yz %s\n", boundstr); fprintf(fptxt, "%-1.16e %-1.16e %-1.16e\n", xlo, xhi, xy); fprintf(fptxt, "%-1.16e %-1.16e %-1.16e\n", ylo, yhi, xz); fprintf(fptxt, "%-1.16e %-1.16e %-1.16e\n", zlo, zhi, yz); + } else if (triclinic == 2) { + fprintf(fptxt, "ITEM: BOX BOUNDS abc origin %s\n", boundstr); + fprintf(fptxt, "%-1.16e %-1.16e %-1.16e %-1.16e\n", ax, ay, az, abcx); + fprintf(fptxt, "%-1.16e %-1.16e %-1.16e %-1.16e\n", bx, by, bz, abcy); + fprintf(fptxt, "%-1.16e %-1.16e %-1.16e %-1.16e\n", cx, cy, cz, abcz); } if (columns) diff --git a/unittest/commands/test_lattice_region.cpp b/unittest/commands/test_lattice_region.cpp index da36628b7f..6eac1f45df 100644 --- a/unittest/commands/test_lattice_region.cpp +++ b/unittest/commands/test_lattice_region.cpp @@ -322,7 +322,7 @@ TEST_F(LatticeRegionTest, lattice_sq) ASSERT_EQ(lattice->basis[0][1], 0.0); ASSERT_EQ(lattice->basis[0][2], 0.0); - TEST_FAILURE(".*ERROR: Lattice settings are not compatible with 2d simulation.*", + TEST_FAILURE(".*ERROR: Lattice orient vectors are not compatible with 2d simulation.*", command("lattice sq 1.0 orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1");); BEGIN_HIDE_OUTPUT(); @@ -463,13 +463,13 @@ TEST_F(LatticeRegionTest, lattice_custom) command("dimension 2"); END_HIDE_OUTPUT(); TEST_FAILURE(".*ERROR: No basis atoms in lattice.*", command("lattice custom 1.0");); - TEST_FAILURE(".*ERROR: Lattice settings are not compatible with 2d simulation.*", + TEST_FAILURE(".*ERROR: Lattice origin z coord must be 0.0 for 2d simulation.*", command("lattice custom 1.0 origin 0.5 0.5 0.5 basis 0.0 0.0 0.0");); - TEST_FAILURE(".*ERROR: Lattice settings are not compatible with 2d simulation.*", + TEST_FAILURE(".*ERROR: Lattice a1/a2/a3 vectors are not compatible with 2d simulation.*", command("lattice custom 1.0 a1 1.0 1.0 1.0 basis 0.0 0.0 0.0");); - TEST_FAILURE(".*ERROR: Lattice settings are not compatible with 2d simulation.*", + TEST_FAILURE(".*ERROR: Lattice a1/a2/a3 vectors are not compatible with 2d simulation.*", command("lattice custom 1.0 a2 1.0 1.0 1.0 basis 0.0 0.0 0.0");); - TEST_FAILURE(".*ERROR: Lattice settings are not compatible with 2d simulation.*", + TEST_FAILURE(".*ERROR: Lattice a1/a2/a3 vectors are not compatible with 2d simulation.*", command("lattice custom 1.0 a3 1.0 1.0 1.0 basis 0.0 0.0 0.0");); } diff --git a/unittest/commands/test_variables.cpp b/unittest/commands/test_variables.cpp index c631b69528..6748867b4e 100644 --- a/unittest/commands/test_variables.cpp +++ b/unittest/commands/test_variables.cpp @@ -216,7 +216,7 @@ TEST_F(VariableTest, CreateDelete) command("variable one internal 2");); TEST_FAILURE(".*ERROR: Cannot use atomfile-style variable unless an atom map exists.*", command("variable eleven atomfile test_variable.atomfile");); - TEST_FAILURE(".*ERROR on proc 0: Cannot open file variable file test_variable.xxx.*", + TEST_FAILURE(".*ERROR on proc 0: Cannot open file variable nine1 file test_variable.xxx.*", command("variable nine1 file test_variable.xxx");); TEST_FAILURE(".*ERROR: World variable count doesn't match # of partitions.*", command("variable ten10 world xxx xxx");); @@ -293,7 +293,7 @@ TEST_F(VariableTest, AtomicSystem) command("variable one atom x");); TEST_FAILURE(".*ERROR: Cannot redefine variable as a different style.*", command("variable id vector f_press");); - TEST_FAILURE(".*ERROR on proc 0: Cannot open file variable file test_variable.xxx.*", + TEST_FAILURE(".*ERROR on proc 0: Cannot open atomfile variable ten1 file test_variable.xxx.*", command("variable ten1 atomfile test_variable.xxx");); TEST_FAILURE(".*ERROR: Variable loop: has a circular dependency.*", variable->compute_equal("v_loop");); diff --git a/unittest/cplusplus/test_advanced_utils.cpp b/unittest/cplusplus/test_advanced_utils.cpp index 0453ef0143..1da9500b35 100644 --- a/unittest/cplusplus/test_advanced_utils.cpp +++ b/unittest/cplusplus/test_advanced_utils.cpp @@ -110,17 +110,33 @@ TEST_F(Advanced_utils, expand_args) { atomic_system(); BEGIN_CAPTURE_OUTPUT(); - command("compute temp all temp"); - command("variable temp vector c_temp"); - command("variable step equal step"); - command("variable pe equal pe"); - command("variable pe equal pe"); - command("variable epair equal epair"); - command("compute gofr all rdf 20 1 1 1 2"); - command("fix 1 all ave/time 1 1 1 v_step v_pe v_epair"); - command("fix 2 all nve"); - command("run 1 post no"); + try { + command("compute temp all temp"); + command("variable temp vector c_temp"); + command("variable step equal step"); + command("variable pe equal pe"); + command("variable pe equal pe"); + command("variable epair equal epair"); + command("compute gofr all rdf 20 1 1 1 2"); + command("fix 1 all ave/time 1 1 1 v_step v_pe v_epair"); + command("fix 2 all nve"); + command("run 1 post no"); + } catch (LAMMPSAbortException &ae) { + fprintf(stderr, "LAMMPS Error: %s\n", ae.what()); + exit(2); + } catch (LAMMPSException &e) { + fprintf(stderr, "LAMMPS Error: %s\n", e.what()); + exit(3); + } catch (fmt::format_error &fe) { + fprintf(stderr, "fmt::format_error: %s\n", fe.what()); + exit(4); + } catch (std::exception &e) { + fprintf(stderr, "General exception: %s\n", e.what()); + exit(5); + } + auto output = END_CAPTURE_OUTPUT(); + if (verbose) std::cout << output << std::endl; char **args, **earg; constexpr int oarg = 9; diff --git a/unittest/force-styles/check_tests.py b/unittest/force-styles/check_tests.py index df71640789..4dba8f9b9e 100755 --- a/unittest/force-styles/check_tests.py +++ b/unittest/force-styles/check_tests.py @@ -54,7 +54,7 @@ improper = {} kspace = {} pair = {} -style_pattern = re.compile("(.+)Style\((.+),(.+)\)") +style_pattern = re.compile("(.+)Style\\((.+),(.+)\\)") upper = re.compile("[A-Z]+") gpu = re.compile("(.+)/gpu$") intel = re.compile("(.+)/intel$") @@ -176,19 +176,19 @@ def check_tests(name,styles,yaml,search,skip=()): counter = 0 counter += check_tests('pair',pair,'*-pair-*.yaml', - '.*pair_style:\s*((\S+).*)?',skip=('meam','lj/sf')) + '.*pair_style:\\s*((\\S+).*)?',skip=('meam','lj/sf')) counter += check_tests('bond',bond,'bond-*.yaml', - '.*bond_style:\s*((\S+).*)?') + '.*bond_style:\\s*((\\S+).*)?') counter += check_tests('angle',angle,'angle-*.yaml', - '.*angle_style:\s*((\S+).*)?') + '.*angle_style:\\s*((\\S+).*)?') counter += check_tests('dihedral',dihedral,'dihedral-*.yaml', - '.*dihedral_style:\s*((\S+).*)?') + '.*dihedral_style:\\s*((\\S+).*)?') counter += check_tests('improper',improper,'improper-*.yaml', - '.*improper_style:\s*((\S+).*)?') + '.*improper_style:\\s*((\\S+).*)?') counter += check_tests('kspace',kspace,'kspace-*.yaml', - '.*kspace_style\s*((\S+).*)?') + '.*kspace_style\\s*((\\S+).*)?') counter += check_tests('fix',fix,'fix-*.yaml', - ' fix\s+((\S+)\s*)?') + ' fix\\s+((\\S+)\\s*)?') total = len(pair)+len(bond)+len(angle)+len(dihedral)+len(improper)+len(kspace)+len(fix) print(f"\nTotal tests missing: {counter} of {total}") diff --git a/unittest/force-styles/tests/angle-cosine_squared_restricted.yaml b/unittest/force-styles/tests/angle-cosine_squared_restricted.yaml new file mode 100644 index 0000000000..400babb3c0 --- /dev/null +++ b/unittest/force-styles/tests/angle-cosine_squared_restricted.yaml @@ -0,0 +1,88 @@ +--- +lammps_version: 7 Feb 2024 +tags: +date_generated: Fri Mar 29 21:14:05 2024 +epsilon: 2.5e-13 +skip_tests: +prerequisites: ! | + atom full + angle cosine/squared/restricted +pre_commands: ! "" +post_commands: ! "" +input_file: in.fourmol +angle_style: cosine/squared/restricted +angle_coeff: ! | + 1 75.0 110.1 + 2 45.0 111.0 + 3 50.0 120.0 + 4 100.0 108.5 +equilibrium: 4 1.9216075064457567 1.9373154697137058 2.0943951023931953 1.8936822384138476 +extract: ! "" +natoms: 29 +init_energy: 43.16721849625078 +init_stress: ! |2- + 9.1896481583329006e+01 -9.9073798939810871e+01 7.1773173564818959e+00 1.0147556441011812e+02 -3.1614702670042060e+01 6.3320341995277474e-01 +init_forces: ! |2 + 1 5.4616646260609812e+01 6.4912761997628223e+00 -3.3960574186374622e+01 + 2 -1.1520735029225428e+00 -9.3280585589864415e+00 -7.5009000871307308e+00 + 3 -1.3676356546913162e+01 4.9291191335900074e+01 5.1495824934074705e+01 + 4 -1.7548953236977070e+01 -2.4649435647138144e+01 1.4994156277002995e+01 + 5 -4.7191706109161828e+01 -4.7108395361010651e+01 -2.3419810899443089e+01 + 6 5.4456046768792298e+01 -1.0628221895648938e+01 -4.4205117451573471e+01 + 7 -1.5479402058953555e+01 1.3800535101019676e+01 -3.3710945974014352e+00 + 8 -4.5010195114618039e+00 -1.9041823240486167e+01 1.0790072547105123e+02 + 9 -1.5817751557854660e+01 1.6558437937477478e+01 -4.5571617839569933e-01 + 10 4.9597370008417769e+00 4.0344934206635401e+01 -7.9652184287503914e+01 + 11 -1.9904147169399383e+01 -5.8247456312686090e+00 8.4471337004560691e+00 + 12 -1.0750141644440905e+01 -1.0959289684407434e+01 -9.7375245407417310e+00 + 13 3.0110873732763217e+00 7.6125328583508187e+00 -1.8728278765280493e-02 + 14 1.4804534890961024e+01 -9.4162987076082505e+00 -6.4475703726793121e+00 + 15 1.2405121083152171e+01 -6.1967835746148943e+00 1.8294821492807777e+01 + 16 3.1352949560138343e-01 1.1035513814862394e+01 6.5673781465816949e+00 + 17 1.4548484648501341e+00 -1.9813691528391315e+00 1.0691808580347990e+00 + 18 1.5557496930974857e-01 1.6257536594477804e+00 -6.5978344782819773e+00 + 19 -1.9049016835509454e+00 -2.3731208324249899e+00 2.8255706424396045e+00 + 20 1.7493267142411968e+00 7.4736717297720956e-01 3.7722638358423728e+00 + 21 3.3279741492378183e+00 4.1660737555188891e+00 -1.2450454543863602e+01 + 22 -5.9261551336076748e+00 -4.0404494135493199e+00 4.4014087371258892e+00 + 23 2.5981809843698564e+00 -1.2562434196956951e-01 8.0490458067377126e+00 + 24 -1.2888190495929852e+00 5.0097160214605641e+00 -2.9825927599219058e+00 + 25 -1.0338174598680057e+00 -3.4636797875161851e+00 5.6646346770669309e-01 + 26 2.3226365094609909e+00 -1.5460362339443785e+00 2.4161292922152127e+00 + 27 -2.8563709770508883e-01 2.3448568102582543e+00 -7.9873605851552354e-01 + 28 -6.2456251656312733e-01 -1.4020243449848773e+00 3.2568906896433880e-02 + 29 9.1019961426821616e-01 -9.4283246527337705e-01 7.6616715161908966e-01 +run_energy: 42.9022488368839 +run_stress: ! |2- + 9.0388148558231080e+01 -9.8306784914711429e+01 7.9186363564803592e+00 9.9981546403593825e+01 -3.2129110268269365e+01 -3.6431126570529515e-01 +run_forces: ! |2 + 1 5.3981820216746733e+01 6.9247252423091306e+00 -3.3185401895138106e+01 + 2 -1.1944338217682868e+00 -9.7346413974706021e+00 -7.8615437717021557e+00 + 3 -1.2688555593426315e+01 4.8769286528132106e+01 5.0839055814558762e+01 + 4 -1.7617326624105857e+01 -2.4269207832769677e+01 1.5260301967540304e+01 + 5 -4.7323547490196731e+01 -4.6894886975434055e+01 -2.3440133100826486e+01 + 6 5.4382423772065998e+01 -1.0696866841386006e+01 -4.4201170087829055e+01 + 7 -1.5492082837122805e+01 1.3818527237625043e+01 -3.3812483934830673e+00 + 8 -4.4634623862144078e+00 -1.9093779476665727e+01 1.0771575923879119e+02 + 9 -1.5843321387394678e+01 1.6589965876806524e+01 -4.4411228983080475e-01 + 10 5.0768945646127097e+00 4.0040817044035947e+01 -7.9450255761393905e+01 + 11 -1.9901406164815324e+01 -5.7840333581333585e+00 8.4316140350776880e+00 + 12 -1.0895919045638994e+01 -1.1165043741641941e+01 -9.2828865105939240e+00 + 13 2.9272358235905029e+00 7.4354786772387680e+00 1.0142661372278194e-01 + 14 1.4792360939950459e+01 -8.9353318022993182e+00 -6.3910772582380133e+00 + 15 1.2418288954456656e+01 -6.0153396231171570e+00 1.7743757855168997e+01 + 16 4.0781740822800217e-01 1.0963878023768416e+01 6.4917802461985135e+00 + 17 1.4332136710323162e+00 -1.9535475809980913e+00 1.0541332979772831e+00 + 18 1.4023773325248556e-01 1.4086440965467837e+00 -5.6940807148906991e+00 + 19 -1.6400859684012328e+00 -2.0475288381692676e+00 2.4445067235235367e+00 + 20 1.4998482351487472e+00 6.3888474162248376e-01 3.2495739913671629e+00 + 21 3.1432629198624089e+00 3.9072243542777101e+00 -1.1745189375890282e+01 + 22 -5.5777858442915553e+00 -3.7895069817029867e+00 4.1606823590513633e+00 + 23 2.4345229244291464e+00 -1.1771737257472337e-01 7.5845070168389190e+00 + 24 -1.1529613091971900e+00 4.4757566436680412e+00 -2.6619956178204864e+00 + 25 -9.1659948782954015e-01 -3.0936731063721679e+00 5.0626909884369264e-01 + 26 2.0695607970267300e+00 -1.3820835372958733e+00 2.1557265189767940e+00 + 27 -2.6669219302298908e-01 2.1720439184593126e+00 -7.3558544897318312e-01 + 28 -5.7634641435086742e-01 -1.2987031699370619e+00 2.8222187310339070e-02 + 29 8.4303860737385650e-01 -8.7334074852225052e-01 7.0736326166284402e-01 +... diff --git a/unittest/force-styles/tests/atomic-pair-meam_ms.yaml b/unittest/force-styles/tests/atomic-pair-meam_ms.yaml index e479514017..fff938d940 100644 --- a/unittest/force-styles/tests/atomic-pair-meam_ms.yaml +++ b/unittest/force-styles/tests/atomic-pair-meam_ms.yaml @@ -1,7 +1,7 @@ --- -lammps_version: 22 Dec 2022 +lammps_version: 7 Feb 2024 tags: slow -date_generated: Thu Jan 26 15:27:03 2023 +date_generated: Wed Feb 28 17:07:42 2024 epsilon: 2.5e-12 skip_tests: prerequisites: ! | @@ -20,75 +20,75 @@ natoms: 32 init_vdwl: 785.6030480758675 init_coul: 0 init_stress: ! |2- - 3.3502530994900699e+03 3.6405858278699407e+03 3.6349804214165547e+03 -3.1609283411508039e+02 -7.9448207656135153e+01 -1.9854140603340727e+02 + 3.3484562777721521e+03 3.6420237714822438e+03 3.6353392995221716e+03 -3.1708756217128752e+02 -7.7972133915567312e+01 -1.9763732315997078e+02 init_forces: ! |2 - 1 1.2872255079741514e+01 -7.5031848810810864e-01 4.5969595156096510e+01 - 2 -3.9028679722038632e+01 -1.5647800180326567e+02 -1.6643992152928173e+00 - 3 -6.1521549955194672e+01 2.6970968316419874e+02 -9.6866430262650326e+01 - 4 3.1462579880342336e+01 4.0240291291218455e+01 1.1654869213327775e+01 - 5 1.4859248182951113e+01 -3.4132880749392825e+01 6.7430378007130244e+01 - 6 6.4609571260694096e+00 -3.8973222482916441e+01 -2.8510000379627442e+01 - 7 7.8114612113500250e+00 -1.0421431668544374e+01 -4.2887607385766536e+01 - 8 -4.8934215863351795e+01 -6.3567347969802590e-01 1.1845972792272754e+02 - 9 9.4089549606898402e+01 -7.4342942103394511e+00 2.5331198575951383e+01 - 10 1.5130369934140692e+01 -5.9245630928969938e+01 -6.7469126603400198e+01 - 11 -2.5176547213746847e+01 1.1577205529172168e+02 -2.2897457133540517e+01 - 12 6.2237686199502349e+01 2.0501996047945163e+01 -2.8805091517252826e+01 - 13 -5.9438589221526925e+01 3.0453092653824072e+01 -1.9919245831196157e+01 - 14 6.9128305482543766e+01 -7.7400771634148342e+01 3.3376079908119145e+01 - 15 -4.9671207786831857e+01 -4.9520814527298228e+01 8.4325181097614305e+01 - 16 -1.1782591146017666e+01 -3.2478963020209051e+01 1.5503663677714293e+01 - 17 9.0881787245915220e+00 6.2377477671714963e+01 -4.0411006180232363e+01 - 18 -4.2285082775720454e+01 2.4883979527636967e+01 -4.4858149086530510e+00 - 19 -8.0259798420493979e+01 9.6356660229207137e+01 6.0543230952477984e+01 - 20 8.0924547938759346e+01 7.1034504027236025e+01 -7.1958482512489610e+01 - 21 1.0833434220705425e+02 -1.5973910256481020e+02 -2.5432700070393153e+01 - 22 -2.3754601906353900e+00 5.2216955012971823e+01 4.7112051341131576e+00 - 23 -2.7227169255996543e+01 8.1968603165764222e+01 4.6535834898716878e+01 - 24 -2.9230758067555616e+01 6.5909555829367733e+01 -2.8250697734131258e+01 - 25 -5.1310041582953993e+01 -3.0895272949222822e+01 -5.4271286813003794e+00 - 26 3.9605941911194620e+01 -5.5919050176828883e+01 -1.0209061328106253e+01 - 27 8.2934427989660890e+01 6.1956200199325636e+01 5.0072108788590960e+01 - 28 -7.8572755094413296e+01 -3.9613391730681300e+01 -2.6183413623428891e+00 - 29 6.9475725072041925e+01 -6.0535433603583563e+01 -1.4566536349135829e+01 - 30 -2.4347184151182930e+01 -1.9359391333689970e+02 -2.6718379302915952e+01 - 31 7.7351971629808688e+01 -7.0102650745312999e+01 -5.4615048867524763e+01 - 32 -1.5060591772899014e+02 8.4489763988097266e+01 2.9799482293372058e+01 -run_vdwl: 682.3107192428497 + 1 1.2671882952049245e+01 -1.3853231851077510e+00 4.5439363666101173e+01 + 2 -3.8831765890428208e+01 -1.5598031052421931e+02 -1.8130309648194238e+00 + 3 -6.1494363653409785e+01 2.6941705868913857e+02 -9.6911726427029521e+01 + 4 3.1464910628044116e+01 4.0207585968399570e+01 1.2103864047414767e+01 + 5 1.4903052489944621e+01 -3.4527783082194034e+01 6.6654211762662953e+01 + 6 5.5548661222686047e+00 -3.9623462470037410e+01 -2.8613497963820279e+01 + 7 8.0397023763303324e+00 -1.0757727989654303e+01 -4.3166301457121655e+01 + 8 -4.7852982145265067e+01 -4.5739689932561944e-02 1.1843318640063390e+02 + 9 9.3964008212392528e+01 -7.2172885595082938e+00 2.5433781685526100e+01 + 10 1.5271997609830436e+01 -5.8803169091726673e+01 -6.7108575386479288e+01 + 11 -2.5045971665663821e+01 1.1625946130045016e+02 -2.3085965300813825e+01 + 12 6.2629055188396414e+01 2.0611095490210126e+01 -2.8436306261149859e+01 + 13 -5.9236259945824884e+01 3.0240277910808498e+01 -1.9273929877935466e+01 + 14 6.8663923609350405e+01 -7.7397309055975725e+01 3.3069829655105920e+01 + 15 -4.9647288254699909e+01 -4.9489231564386692e+01 8.4478943742851953e+01 + 16 -1.2170657087644635e+01 -3.2040178726180827e+01 1.4894301261010035e+01 + 17 8.8923416811864868e+00 6.2137744083574610e+01 -4.0135012964265592e+01 + 18 -4.1397401572483183e+01 2.5783976616022077e+01 -4.0437450156810772e+00 + 19 -7.9531558557888033e+01 9.6620429213911947e+01 6.0896893032878161e+01 + 20 8.1086619135335383e+01 7.0912440236148569e+01 -7.1683775489576050e+01 + 21 1.0782008087175012e+02 -1.5990396045249986e+02 -2.5346325379258598e+01 + 22 -2.2473039860970294e+00 5.2408111378634587e+01 4.9048274485706003e+00 + 23 -2.7403676909994125e+01 8.1791101929225192e+01 4.6914817444621839e+01 + 24 -3.0326733771468501e+01 6.5019994519315844e+01 -2.8273999335586893e+01 + 25 -5.1399449796211421e+01 -3.1235356363355280e+01 -5.1117557575884405e+00 + 26 3.9830854256806596e+01 -5.5977510234235112e+01 -1.0703040355620866e+01 + 27 8.2947330460814442e+01 6.2103713508335836e+01 5.0160761445057645e+01 + 28 -7.8724584730369727e+01 -3.9670230601217270e+01 -2.7333809658021124e+00 + 29 6.8825650256056235e+01 -6.1113096673842620e+01 -1.5031235234703393e+01 + 30 -2.4157792055811530e+01 -1.9333002107500442e+02 -2.6525581060126832e+01 + 31 7.7150429127214139e+01 -6.9426709034866391e+01 -5.5252913067136127e+01 + 32 -1.5024891495451018e+02 8.4411417529769210e+01 2.9865316672080176e+01 +run_vdwl: 682.3135170292994 run_coul: 0 run_stress: ! |2- - 3.2247564044913129e+03 3.3749506031067485e+03 3.3223794967215117e+03 -2.8460979167554797e+02 -7.2614457076660575e+00 -3.1510685747732862e+02 + 3.2220423802202231e+03 3.3749844973876429e+03 3.3217643573058244e+03 -2.8493376779188281e+02 -5.1850956493150733e+00 -3.1548413267512802e+02 run_forces: ! |2 - 1 -1.2037185973996296e+01 -2.5090364403764944e+01 1.4014184973113366e+01 - 2 -3.7365848425239264e+01 -1.5871199357658887e+02 3.7846333470446991e+00 - 3 -3.2057228694304293e+01 2.5316344962361612e+02 -6.0679585186816752e+01 - 4 2.9086197614116237e+01 4.8267528016068823e+01 4.3387429619749920e+00 - 5 -1.1672554618399744e+01 -2.6840760926124332e+01 4.9694308545223279e+01 - 6 1.1892092913978592e+01 -4.9360840569608243e+01 -2.3083171938147949e+01 - 7 2.1084251901459215e+01 -4.8251731643401072e+00 -3.8474871193885967e+01 - 8 -5.7775944085787714e+01 1.3522956442661442e+01 1.1661345819661486e+02 - 9 7.2926105059437930e+01 4.8686056096860133e+00 2.3817134806042311e+01 - 10 1.7307367990304396e+01 -3.0865570121704572e+01 -1.2314307646704794e+01 - 11 -1.1341297645054201e+01 9.1441145595173211e+01 -2.1806407500802493e+01 - 12 4.0645024127126625e+01 1.2207243511090397e+01 -2.6757649464936929e+01 - 13 -5.2283270287937697e+01 3.4023912643812679e+01 -1.9030352703627774e+01 - 14 8.4403128243303399e+01 -9.3773678297574406e+01 1.6481720093363641e+01 - 15 -4.2790833192154764e+01 -4.3242943642279130e+01 7.1075696811865868e+01 - 16 -1.5041912007490836e+01 -3.3544044565611586e+01 2.4823109532967212e+01 - 17 -9.6413207346836316e-01 4.5826021602656141e+01 -3.9155163702194102e+01 - 18 -2.0337015515785971e+01 7.2815285567550134e+00 -8.2049879725129813e+00 - 19 -6.4105384732081120e+01 1.1564665740933788e+02 2.4163791756721466e+01 - 20 8.5723654185276146e+01 8.3354105531647818e+01 -6.6380939444134356e+01 - 21 7.2614253221132458e+01 -1.0858997173537107e+02 -9.7505297776024449e+00 - 22 -7.0420361713052930e+00 5.3431098224890221e+01 3.3089063930822551e+00 - 23 -2.6591358240682062e+01 5.7408565880721866e+01 2.7437106471305679e+01 - 24 -4.1792038450554799e+01 5.1730557789864775e+01 -4.0814677464080816e+01 - 25 -4.1432062506590214e+01 -2.5839213423062226e+01 4.2240164846210408e+00 - 26 4.7210066329871566e+01 -5.2462761136081880e+01 -7.3222050314410501e+00 - 27 7.1880187551772764e+01 6.4264938765955392e+01 4.3600944370341068e+01 - 28 -8.4540787660053340e+01 -3.5402262816619938e+01 -1.8100280797937039e+01 - 29 6.9538301274653790e+01 -6.3441028093040622e+01 -1.4636386232064458e+01 - 30 -1.0347208112535196e+01 -1.7647584813608077e+02 7.2581082578181517e+00 - 31 5.5139777976761025e+01 -4.2081916983382541e+01 -4.6602437208067727e+01 - 32 -1.0993230999577290e+02 3.4110056387297462e+01 1.8478090262857769e+01 + 1 -1.2080548564836072e+01 -2.5477429439416710e+01 1.3806658731417755e+01 + 2 -3.7225520761818601e+01 -1.5818788485602025e+02 3.6451090218322113e+00 + 3 -3.2025464407673795e+01 2.5325620480420051e+02 -6.1031861941385266e+01 + 4 2.8988993769053742e+01 4.8033753615324457e+01 4.5694168356438283e+00 + 5 -1.2111374313827447e+01 -2.6961881177725004e+01 4.9632634513889542e+01 + 6 1.1311954816991424e+01 -5.0058087854226159e+01 -2.3204914001781273e+01 + 7 2.1516323786702536e+01 -5.0655040143290933e+00 -3.8825663342733620e+01 + 8 -5.6894831060887554e+01 1.3949056084318798e+01 1.1660108213204735e+02 + 9 7.2998009821741320e+01 4.8416842517465923e+00 2.3999831954683799e+01 + 10 1.7317912093622368e+01 -3.0947927635823405e+01 -1.2110169744224052e+01 + 11 -1.1067246227356863e+01 9.1960655066099605e+01 -2.2189177432965508e+01 + 12 4.1022329509360503e+01 1.2454231845197597e+01 -2.6395875385015671e+01 + 13 -5.2111607038923381e+01 3.3882585667855231e+01 -1.8629522935187623e+01 + 14 8.4036225281616041e+01 -9.3803437140562750e+01 1.6331247969198998e+01 + 15 -4.2720657484421395e+01 -4.3226247350447558e+01 7.1228336312410107e+01 + 16 -1.5337511847731712e+01 -3.3391288191194008e+01 2.4548585347623519e+01 + 17 -1.1747625966656585e+00 4.5776133215622977e+01 -3.9163692487889747e+01 + 18 -1.9491081233389249e+01 8.1566249764824512e+00 -7.8409414667475472e+00 + 19 -6.3157066638040050e+01 1.1562375461943864e+02 2.4100335394819872e+01 + 20 8.5633177613771736e+01 8.3249649056120163e+01 -6.5949837133210536e+01 + 21 7.2627995354135379e+01 -1.0905523323056843e+02 -9.7050849900191878e+00 + 22 -6.9254927960387569e+00 5.3565487765173124e+01 3.5264724633499451e+00 + 23 -2.6913648610060896e+01 5.7376365847813567e+01 2.7795031305112104e+01 + 24 -4.2988718884544781e+01 5.0965555337988739e+01 -4.0879720794423847e+01 + 25 -4.1545681275179334e+01 -2.6070548274497312e+01 4.6030493990981363e+00 + 26 4.7343706717511481e+01 -5.2491830895913587e+01 -7.5334343348923181e+00 + 27 7.1967929368447670e+01 6.4565679128450881e+01 4.3787238332434981e+01 + 28 -8.4353146891369605e+01 -3.5766877650630498e+01 -1.8194167121606220e+01 + 29 6.8890904369057438e+01 -6.3904080920499425e+01 -1.5203579536664831e+01 + 30 -1.0556200802502623e+01 -1.7613156919674918e+02 7.5443620074181723e+00 + 31 5.4944350533734486e+01 -4.1411243100978645e+01 -4.7232700660537759e+01 + 32 -1.0991925160047839e+02 3.4293649647748623e+01 1.8370951588304823e+01 ... diff --git a/unittest/force-styles/tests/atomic-pair-pedone.yaml b/unittest/force-styles/tests/atomic-pair-pedone.yaml new file mode 100644 index 0000000000..ea97d9ee8c --- /dev/null +++ b/unittest/force-styles/tests/atomic-pair-pedone.yaml @@ -0,0 +1,112 @@ +--- +lammps_version: 7 Feb 2024 +tags: +date_generated: Tue Apr 9 07:44:34 2024 +epsilon: 7.5e-13 +skip_tests: +prerequisites: ! | + pair pedone + pair coul/dsf +pre_commands: ! | + echo screen + atom_modify map array + units metal + atom_style charge + lattice fcc 4.01 + region box block 0 2 0 2 0 2 + create_box 2 box + create_atoms 1 box + displace_atoms all random 0.1 0.1 0.1 623426 + mass 1 40.0 + mass 2 16.0 + set type 1 type/fraction 2 0.5 998877 + set type 1 charge 1.2 + set type 2 charge -1.2 + velocity all create 100 4534624 loop geom +post_commands: ! "" +input_file: in.empty +pair_style: hybrid/overlay pedone 8.0 coul/dsf 0.05 8.0 +pair_coeff: ! | + * * coul/dsf + 1 2 pedone 0.030211 2.241334 2.923245 5.0 +extract: ! | + c0 2 + d0 2 + r0 2 + alpha 2 +natoms: 32 +init_vdwl: -0.05846735245123568 +init_coul: -127.6163776098739 +init_stress: ! |- + -2.3766889264059056e+01 -4.4271670366067475e+01 -2.5180846524036202e+01 5.0038886969182466e+00 1.8669335074554186e-01 -5.7263597257471289e+01 +init_forces: ! |2 + 1 1.3068329866550368e+00 -3.2426393314368136e+00 -1.7090059822217059e+00 + 2 -8.3708962469663994e-01 8.0332716327131255e+00 3.3880696306892157e+00 + 3 1.0817171269316166e+00 6.9121377930223904e-01 6.1164739509900095e+00 + 4 -6.2705188270402727e+00 -8.8174699380428727e+00 -6.6683743935745587e+00 + 5 2.8006317273000447e-01 -1.4785785338160322e+00 2.1291363801130675e-01 + 6 -9.9407772093842439e-02 3.0597043453576771e+00 2.6317878547215199e+00 + 7 -3.0340486322792599e+00 1.3184658303824097e+00 3.6223571622028894e+00 + 8 5.0115915641263573e+00 -4.9677051620674799e+00 -6.1712277135681015e+00 + 9 -6.1985573132343514e+00 -2.9794836727762029e+00 -1.3747449204783135e+00 + 10 6.8202263133821162e-02 -8.8740995444094821e+00 -3.7669178307548044e+00 + 11 1.8229752044042762e+00 1.2148573816886858e+00 -4.4347407582895784e+00 + 12 -3.9294213238803009e+00 8.8686068238310583e+00 -1.5696200877040254e+00 + 13 4.6671449089488757e+00 -4.6189653076982848e+00 -1.3124536997564062e+00 + 14 4.5651421484368113e-02 -2.3521973378049634e+00 -1.6447916834323362e+00 + 15 2.0718235766251047e+00 -1.0016787355222116e+00 2.6102514913196893e+00 + 16 4.2906354719273310e+00 5.5091935314875675e+00 2.3081189742020186e-01 + 17 2.4088963659786491e+00 2.6695675589930521e+00 3.5122235738936918e+00 + 18 3.4512362576614999e+00 -4.1430347952161721e+00 4.2175118122911428e+00 + 19 -1.1172781222643726e+00 5.0374260939675146e+00 6.1287692774066489e+00 + 20 4.7466340882928550e+00 4.2198180415705018e+00 -8.2329099903756351e+00 + 21 4.9922952432844170e-01 -3.3643476589192347e+00 -3.4586600244054257e+00 + 22 1.9519912199733915e+00 2.3651493661604901e+00 1.9718930394593539e+00 + 23 3.2436581993388014e+00 9.2909318945485386e-01 4.6199095913337018e+00 + 24 -4.6577163797485408e+00 1.0944440231458034e-01 -3.9975755528276791e+00 + 25 -8.9409463869190198e+00 2.4726478248668329e+00 3.7066236847004816e+00 + 26 1.1745295461487557e+00 -6.0775548138182502e+00 3.9173262687577626e-01 + 27 2.1387234883139223e+00 -9.1458060453528878e-01 3.4582641764483730e+00 + 28 -5.4502482566484289e+00 3.4786802718788201e+00 2.2450528597292503e+00 + 29 -7.5667651846088226e+00 -1.4577149705984696e+00 -3.9568568740165220e+00 + 30 3.1230549128026425e-01 1.3068114717904746e+00 1.5378868153458369e+00 + 31 3.8386185003687259e+00 2.2553073046534435e+00 -1.3273631790345837e+00 + 32 3.6895374447617666e+00 7.5079155624842708e-01 -9.7729039239942395e-01 +run_vdwl: -0.05936305172833948 +run_coul: -127.68271387147016 +run_stress: ! |- + -2.3775085785175861e+01 -4.4287200358424037e+01 -2.5219014434426338e+01 5.0215354612619398e+00 1.6449805968891407e-01 -5.7274887432938485e+01 +run_forces: ! |2 + 1 1.2991722692082786e+00 -3.2346896741423627e+00 -1.7041329770094276e+00 + 2 -8.3577389730915552e-01 8.0381530163215924e+00 3.3923109270711151e+00 + 3 1.0835047785054042e+00 6.9319911007073187e-01 6.1150295417259430e+00 + 4 -6.2592674457409263e+00 -8.8205393549813724e+00 -6.6664974877688721e+00 + 5 2.8319324224275277e-01 -1.4769949542028844e+00 2.1366042708413130e-01 + 6 -1.0153594962155643e-01 3.0590371871661279e+00 2.6305719846785136e+00 + 7 -3.0312781169981404e+00 1.3253014477860192e+00 3.6137212324460495e+00 + 8 5.0065920194766118e+00 -4.9738538898220481e+00 -6.1680653045217282e+00 + 9 -6.1953589072633033e+00 -2.9840507476418630e+00 -1.3858506137213893e+00 + 10 7.2110931001166223e-02 -8.8715664120515498e+00 -3.7622114666042830e+00 + 11 1.8261227725248501e+00 1.2127884088947380e+00 -4.4352512345078896e+00 + 12 -3.9286782746032927e+00 8.8761060543305845e+00 -1.5679267227812392e+00 + 13 4.6639719242626425e+00 -4.6221575223138132e+00 -1.3189131763776332e+00 + 14 4.5202926162814835e-02 -2.3548742883712031e+00 -1.6491976796732051e+00 + 15 2.0720535642022995e+00 -1.0069819281480463e+00 2.6083600468918844e+00 + 16 4.2902983639126537e+00 5.5131718679546795e+00 2.3830711385553280e-01 + 17 2.4096838033622459e+00 2.6710791048618789e+00 3.5085731540934209e+00 + 18 3.4514062725618015e+00 -4.1373868590762886e+00 4.2169294048595312e+00 + 19 -1.1264411792212099e+00 5.0227271243385347e+00 6.1237583999889607e+00 + 20 4.7393545880453329e+00 4.2216825100295452e+00 -8.2318896574215081e+00 + 21 5.0316022185802045e-01 -3.3658905024666987e+00 -3.4562503451177298e+00 + 22 1.9368078287723918e+00 2.3534799016713426e+00 1.9729696376413666e+00 + 23 3.2400632484576661e+00 9.3259676426325444e-01 4.6157700185053541e+00 + 24 -4.6586992607556210e+00 1.1241261874328348e-01 -3.9896118917888690e+00 + 25 -8.9349626587186393e+00 2.4768648221903695e+00 3.7112080381606569e+00 + 26 1.1679346190142463e+00 -6.0828712249034158e+00 3.8801942263557465e-01 + 27 2.1417538088342263e+00 -9.0746081465677486e-01 3.4626716637488029e+00 + 28 -5.4328133673274284e+00 3.4793352823397115e+00 2.2408588660642268e+00 + 29 -7.5599171237192415e+00 -1.4574882072609379e+00 -3.9594670101361755e+00 + 30 3.1095531392911402e-01 1.2978745340983431e+00 1.5451191860370526e+00 + 31 3.8408681082369638e+00 2.2573010571848813e+00 -1.3280944539185844e+00 + 32 3.6805155767070339e+00 7.5369556779361924e-01 -9.7447904413958231e-01 +... diff --git a/unittest/force-styles/tests/dihedral-cosine_squared_restricted.yaml b/unittest/force-styles/tests/dihedral-cosine_squared_restricted.yaml new file mode 100644 index 0000000000..f67a093017 --- /dev/null +++ b/unittest/force-styles/tests/dihedral-cosine_squared_restricted.yaml @@ -0,0 +1,88 @@ +--- +lammps_version: 7 Feb 2024 +tags: +date_generated: Sat Apr 13 11:41:16 2024 +epsilon: 2.5e-13 +skip_tests: +prerequisites: ! | + atom full + dihedral cosine/squared/restricted +pre_commands: ! "" +post_commands: ! "" +input_file: in.fourmol +dihedral_style: cosine/squared/restricted +dihedral_coeff: ! | + 1 17.0 10.0 + 2 14.0 20.0 + 3 15.0 -10.0 + 4 12.0 0.0 + 5 11.0 45.0 +extract: ! "" +natoms: 29 +init_energy: 10643.96352037142 +init_stress: ! |2- + 8.2655807554971598e+03 6.2324906154519340e+03 -1.4498071370948830e+04 1.0953420376656040e+04 1.1057094124317168e+03 -8.3313158421382595e+03 +init_forces: ! |2 + 1 -2.9998360221989606e+03 1.5614240759467791e+03 -1.4993484270227148e+03 + 2 2.3464901141409141e+03 -1.2117018270409203e+03 1.1464619463537790e+03 + 3 -8.4367569419635300e+04 -8.8610214478341717e+04 1.3641091254798606e+04 + 4 -7.7728947837396186e+02 -1.1834661410404278e+03 6.2790819006201627e+02 + 5 1.9271341641256136e+03 -1.1638057759737167e+03 2.7159431719235641e+01 + 6 4.4134274351326589e+04 5.5926488430371595e+04 2.3644507487725932e+03 + 7 5.6253242167919998e+03 6.0326849037643433e+03 -9.8937413117578353e+02 + 8 1.5398571438042008e+05 1.4826543321068442e+05 -4.6786535127649200e+04 + 9 5.2872438366384667e+03 3.9367087924112984e+03 -2.1528982310842534e+03 + 10 -1.2076914217812811e+05 -1.1928499037053883e+05 3.1759537647021025e+04 + 11 -2.7869283077129630e+03 -2.7624462832092408e+03 2.3692905638286411e+03 + 12 -1.7137278451679694e+02 -4.0643861446907772e+02 -8.4482327773661689e+02 + 13 1.8033469195161777e+02 4.1452681735267817e+02 8.7002410666914204e+02 + 14 1.0785063285146067e+02 -1.5007679697175007e+02 -5.3363703034369962e+01 + 15 -1.2637123349071543e+02 4.2783038317466065e+01 -1.2928289731925594e+02 + 16 -1.3974766748247812e+03 -1.2440022591573602e+03 -3.1834363647575998e+02 + 17 -1.9838028936516241e+02 -1.6290672210557804e+02 -3.1954457727099452e+01 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +run_energy: 4829.55350497352 +run_stress: ! |2- + 3.3195623927709175e+03 3.0229558326855845e+03 -6.3425182254565516e+03 4.3274493033758445e+03 3.3064220676415192e+02 -1.1283617668722684e+03 +run_forces: ! |2 + 1 -1.6686851537334303e+03 9.1157319328820222e+02 -8.8504748962571853e+02 + 2 1.2605943337473971e+03 -6.8570419879992460e+02 6.5988055106439663e+02 + 3 -2.4907715351961961e+03 1.5938154791899667e+03 -4.0018442338176410e+03 + 4 -3.9608971224931270e+03 -6.6732751207320443e+03 2.0299175931026020e+03 + 5 6.9745717717678440e+02 -1.1129862611363344e+03 -1.9316966111163129e+02 + 6 -9.8181046153612078e+03 -1.0177815528067989e+04 6.1127410299948697e+03 + 7 5.2268917470447668e+03 6.8715264070828716e+03 -1.6421183728373735e+03 + 8 2.4089311767862888e+04 2.3281334463282841e+04 -2.9014860835053078e+03 + 9 1.8251257887454533e+03 5.6771778492275894e+02 -8.4486828193101837e+02 + 10 -8.7189544342799436e+03 -8.9637840944091586e+03 2.1674670163757610e+03 + 11 -6.1742160434459652e+02 -5.4300765195316922e+02 8.4050088549381860e+02 + 12 -1.6333025955329197e+02 -2.0286364513967663e+02 -5.7218852607845849e+02 + 13 1.1676829617621111e+02 2.8391630256639763e+02 6.2310026378133114e+02 + 14 1.2782423911823358e+02 -1.7234482742516084e+02 -6.2457926948088009e+01 + 15 -1.0593900405480906e+02 3.6959553351961858e+01 -1.1139986642128649e+02 + 16 -5.7436221922065306e+03 -4.9695083643645858e+03 -1.2100596896535424e+03 + 17 -5.6247428648599033e+01 -4.5553491656954620e+01 -8.9672078827135397e+00 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml index e28e0abb08..e434ace375 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:10 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,65 +15,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356937318884e+03 -1.4496493315649691e+03 -3.6144360984224995e+03 8.4840626828644076e+02 2.0318336761611761e+02 -6.0622397707970140e+02 -global_scalar: 15.711521423178082 + -1.4245356937318909e+03 -1.4496493315649632e+03 -3.6144360984225123e+03 8.4840626828644361e+02 2.0318336761612773e+02 -6.0622397707969583e+02 +global_scalar: 15.711521423178084 run_pos: ! |2 - 1 -2.7899546863891400e-01 2.4731857340328229e+00 -1.7290667740242271e-01 - 2 3.0296221610264262e-01 2.9517129916957545e+00 -8.5798904387773245e-01 - 3 -6.9368802364134741e-01 1.2445115421754194e+00 -6.2281111198650418e-01 - 4 -1.5764879647103154e+00 1.4919714415841279e+00 -1.2492069414674623e+00 - 5 -8.9434512967429969e-01 9.3651699743511030e-01 4.0191726558261276e-01 - 6 2.9454439634451712e-01 2.2724545792544038e-01 -1.2845195053960268e+00 - 7 3.4049112903270051e-01 -9.4655678322458359e-03 -2.4634480020857055e+00 - 8 1.1644354555804874e+00 -4.8367776650961336e-01 -6.7663643940735863e-01 - 9 1.3781717822696469e+00 -2.5332509530010694e-01 2.6864954436590061e-01 - 10 2.0186368606041896e+00 -1.4285861423625796e+00 -9.6712491252780131e-01 - 11 1.7929137227577452e+00 -1.9875455388407426e+00 -1.8836565352266534e+00 - 12 3.0032775230399604e+00 -4.8983022415174027e-01 -1.6190248017343642e+00 - 13 4.0448964162125947e+00 -9.0213155122391020e-01 -1.6385398399479558e+00 - 14 2.6035151245015822e+00 -4.0874995493219213e-01 -2.6555999074786607e+00 - 15 2.9761196776172318e+00 5.6287237454108674e-01 -1.2442626196083388e+00 - 16 2.6517373021566168e+00 -2.3957035508393707e+00 3.3389262100692263e-02 - 17 2.2311114924744970e+00 -2.1018393228798513e+00 1.1496088522377543e+00 - 18 2.1390642573201784e+00 3.0164773560693781e+00 -3.5143984803853878e+00 - 19 1.5353246655146278e+00 2.6305911186316133e+00 -4.2455871034737074e+00 - 20 2.7649421538938390e+00 3.6818603528430849e+00 -3.9364115785985550e+00 - 21 4.9043112657298877e+00 -4.0774268210397882e+00 -3.6200836396129836e+00 - 22 4.3665322424283310e+00 -4.2075138112953594e+00 -4.4636587264885881e+00 - 23 5.7355405581985188e+00 -3.5789558641908918e+00 -3.8805763324089981e+00 - 24 2.0692780332810115e+00 3.1504920436416004e+00 3.1571131300668789e+00 - 25 1.3007297593169076e+00 3.2745259354179481e+00 2.5110163874103675e+00 - 26 2.5819416446099739e+00 4.0104903120756576e+00 3.2150249624526035e+00 + 1 -2.7899546863891755e-01 2.4731857340328198e+00 -1.7290667740241461e-01 + 2 3.0296221610263996e-01 2.9517129916957550e+00 -8.5798904387772190e-01 + 3 -6.9368802364134963e-01 1.2445115421754176e+00 -6.2281111198650141e-01 + 4 -1.5764879647103172e+00 1.4919714415841279e+00 -1.2492069414674598e+00 + 5 -8.9434512967430235e-01 9.3651699743510453e-01 4.0191726558261442e-01 + 6 2.9454439634451712e-01 2.2724545792544146e-01 -1.2845195053960266e+00 + 7 3.4049112903270240e-01 -9.4655678322404235e-03 -2.4634480020857055e+00 + 8 1.1644354555804877e+00 -4.8367776650961403e-01 -6.7663643940735962e-01 + 9 1.3781717822696455e+00 -2.5332509530011083e-01 2.6864954436590072e-01 + 10 2.0186368606041905e+00 -1.4285861423625785e+00 -9.6712491252780486e-01 + 11 1.7929137227577487e+00 -1.9875455388407386e+00 -1.8836565352266592e+00 + 12 3.0032775230399622e+00 -4.8983022415173583e-01 -1.6190248017343625e+00 + 13 4.0448964162125964e+00 -9.0213155122390454e-01 -1.6385398399479547e+00 + 14 2.6035151245015857e+00 -4.0874995493218413e-01 -2.6555999074786598e+00 + 15 2.9761196776172323e+00 5.6287237454109007e-01 -1.2442626196083335e+00 + 16 2.6517373021566182e+00 -2.3957035508393734e+00 3.3389262100686046e-02 + 17 2.2311114924744961e+00 -2.1018393228798584e+00 1.1496088522377494e+00 + 18 2.1390642573201792e+00 3.0164773560693803e+00 -3.5143984803853883e+00 + 19 1.5353246655146293e+00 2.6305911186316160e+00 -4.2455871034737100e+00 + 20 2.7649421538938399e+00 3.6818603528430875e+00 -3.9364115785985545e+00 + 21 4.9043112657298966e+00 -4.0774268210397882e+00 -3.6200836396129850e+00 + 22 4.3665322424283417e+00 -4.2075138112953612e+00 -4.4636587264885925e+00 + 23 5.7355405581985277e+00 -3.5789558641908901e+00 -3.8805763324089995e+00 + 24 2.0692780332810012e+00 3.1504920436415969e+00 3.1571131300668829e+00 + 25 1.3007297593168976e+00 3.2745259354179459e+00 2.5110163874103693e+00 + 26 2.5819416446099637e+00 4.0104903120756576e+00 3.2150249624526102e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825842508e-04 2.6351122778447809e-04 -4.4905093064114883e-04 - 2 4.9594625316470506e-04 9.4561370489630299e-05 -5.4581359894047775e-04 - 3 3.3306085115756103e-04 2.3224943880673259e-04 -2.3659455671746018e-04 - 4 3.3692327392261152e-04 2.1926810694051179e-04 -2.4716631558862516e-04 - 5 3.3642542694186002e-04 4.1797578013265738e-04 -1.8011341766657675e-04 - 6 2.0926869754934769e-04 2.6449308951578185e-05 -1.0508938983871811e-04 - 7 1.4629043007907940e-04 -1.6873376665350122e-04 -6.8354048774350921e-05 - 8 1.5844101624224881e-04 3.7728761273999780e-05 -1.9162715667090996e-05 - 9 2.1299362072601952e-04 1.6917140529157474e-04 -6.3528165037845483e-05 - 10 5.4261629412254495e-05 -9.4655528376811482e-05 1.0511362869146690e-04 - 11 -3.2194160796502724e-05 -2.2025095264758716e-04 2.0300202946212429e-04 - 12 1.2640586304750378e-04 -2.9851080445665107e-04 -7.9476371818245798e-05 - 13 8.4523575162142608e-05 -4.0583135407330561e-04 -4.7551111331700511e-05 - 14 9.9954050381270972e-05 -4.2610816481298294e-04 -7.9255633594379530e-05 - 15 2.4417481119789862e-04 -2.3521002264677992e-04 -2.4875318161048917e-04 - 16 -9.0958138549664992e-06 3.7774817121222391e-06 2.4035199548835096e-04 - 17 5.7507224523612230e-05 2.2629217444843764e-04 2.0686920072684822e-04 - 18 2.9220264989359833e-04 -6.2478376436796265e-04 8.4222594596602366e-04 - 19 2.0572616567799188e-04 -5.0334424271726639e-04 8.4953929443210648e-04 - 20 4.1224811789513022e-04 -7.4115205416011554e-04 8.3678612337507920e-04 - 21 -1.0671858777656393e-03 -1.1531171045499515e-03 7.3720674900162159e-04 - 22 -1.1066511338291710e-03 -1.0433933757600460e-03 7.4544544325708573e-04 - 23 -9.7629260480941525e-04 -1.3100872491594103e-03 7.2687284219704804e-04 - 24 4.3308126651259312e-04 -6.6527658087322801e-04 8.4451298670663606e-04 - 25 4.4565811905442889e-04 -5.1298436273584285e-04 8.5878867884521559e-04 - 26 5.9865972692022765e-04 -7.6385263287080381e-04 8.4259943226842166e-04 + 1 4.7093289825842437e-04 2.6351122778447999e-04 -4.4905093064114823e-04 + 2 4.9594625316470473e-04 9.4561370489632928e-05 -5.4581359894047732e-04 + 3 3.3306085115756054e-04 2.3224943880673362e-04 -2.3659455671746045e-04 + 4 3.3692327392261130e-04 2.1926810694051292e-04 -2.4716631558862576e-04 + 5 3.3642542694185899e-04 4.1797578013265770e-04 -1.8011341766657654e-04 + 6 2.0926869754934769e-04 2.6449308951579106e-05 -1.0508938983871929e-04 + 7 1.4629043007908003e-04 -1.6873376665349995e-04 -6.8354048774352968e-05 + 8 1.5844101624224859e-04 3.7728761274000288e-05 -1.9162715667092141e-05 + 9 2.1299362072601887e-04 1.6917140529157517e-04 -6.3528165037845917e-05 + 10 5.4261629412254576e-05 -9.4655528376811157e-05 1.0511362869146505e-04 + 11 -3.2194160796502236e-05 -2.2025095264758700e-04 2.0300202946212152e-04 + 12 1.2640586304750429e-04 -2.9851080445664956e-04 -7.9476371818247574e-05 + 13 8.4523575162143312e-05 -4.0583135407330399e-04 -4.7551111331702557e-05 + 14 9.9954050381271961e-05 -4.2610816481298121e-04 -7.9255633594381943e-05 + 15 2.4417481119789894e-04 -2.3521002264677784e-04 -2.4875318161049020e-04 + 16 -9.0958138549668516e-06 3.7774817121217089e-06 2.4035199548834928e-04 + 17 5.7507224523611227e-05 2.2629217444843685e-04 2.0686920072684740e-04 + 18 2.9220264989359860e-04 -6.2478376436796244e-04 8.4222594596602409e-04 + 19 2.0572616567799204e-04 -5.0334424271726607e-04 8.4953929443210702e-04 + 20 4.1224811789513060e-04 -7.4115205416011543e-04 8.3678612337507964e-04 + 21 -1.0671858777656406e-03 -1.1531171045499533e-03 7.3720674900162007e-04 + 22 -1.1066511338291734e-03 -1.0433933757600477e-03 7.4544544325708432e-04 + 23 -9.7629260480941644e-04 -1.3100872491594124e-03 7.2687284219704641e-04 + 24 4.3308126651259382e-04 -6.6527658087322671e-04 8.4451298670663671e-04 + 25 4.4565811905442982e-04 -5.1298436273584133e-04 8.5878867884521635e-04 + 26 5.9865972692022961e-04 -7.6385263287080262e-04 8.4259943226842242e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml index d667942e49..e871a351f6 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:10 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 -global_scalar: 18.3405601674144 + -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 +global_scalar: 18.340560167414402 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 - 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 - 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 - 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 + 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 + 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 + 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 + 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 - 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 + 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 + 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 - 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 - 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 - 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 - 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 - 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 - 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 - 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 + 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 + 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 + 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 + 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 + 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 + 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 + 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 + 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml index 304db9fd60..672bf8946c 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:11 2024 epsilon: 5e-12 skip_tests: prerequisites: ! | @@ -15,8 +16,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134788658e+01 -2.6907707565985344e+01 -6.0080860422268874e+00 -2.5620423972099733e+01 -1.3450224059983656e+01 -1.4947288487000705e+00 -global_scalar: 18.340560167414306 + -4.9200116134789653e+01 -2.6907707565986087e+01 -6.0080860422267843e+00 -2.5620423972100063e+01 -1.3450224059983270e+01 -1.4947288486998982e+00 +global_scalar: 18.340560167414335 run_pos: ! |2 1 -2.7993683669226854e-01 2.4726588069312836e+00 -1.7200860244148508e-01 2 3.0197083955402171e-01 2.9515239068888608e+00 -8.5689735572907555e-01 @@ -36,14 +37,14 @@ run_pos: ! |2 16 2.6517554244980301e+00 -2.3957110424978438e+00 3.2908335999177751e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 18 2.1392027588271310e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074566e+00 2.6286809834111740e+00 -4.2452547844370239e+00 + 19 1.5366124997074584e+00 2.6286809834111722e+00 -4.2452547844370230e+00 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 - 21 4.9036621347791245e+00 -4.0757648442838557e+00 -3.6192617654515900e+00 - 22 4.3655322291888465e+00 -4.2084949965552569e+00 -4.4622011117402334e+00 + 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515900e+00 + 22 4.3655322291888465e+00 -4.2084949965552578e+00 -4.4622011117402343e+00 23 5.7380414793463101e+00 -3.5841969195032686e+00 -3.8827839830470232e+00 24 2.0701314765323913e+00 3.1499370533342308e+00 3.1565324852522920e+00 - 25 1.3030170721374770e+00 3.2711173927682236e+00 2.5081940917429755e+00 - 26 2.5776230782480054e+00 4.0127347068243875e+00 3.2182355138709262e+00 + 25 1.3030170721374779e+00 3.2711173927682236e+00 2.5081940917429755e+00 + 26 2.5776230782480036e+00 4.0127347068243875e+00 3.2182355138709280e+00 27 -1.9613581876744357e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678509e+00 29 -1.3108232656499084e+00 -3.5992986322410765e+00 2.2680459788743512e+00 @@ -65,15 +66,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704681e-04 -3.1032459262907857e-04 8.1043030117346074e-04 - 19 8.5103884665345820e-04 -1.4572280596788108e-03 1.0163621287634073e-03 - 20 -6.5204659278590271e-04 4.3989037444289630e-04 4.9909839028508215e-04 - 21 -1.3888125881903852e-03 -3.1978049143082049e-04 1.1455681499836594e-03 - 22 -1.6084223477729513e-03 -1.5355394240820970e-03 1.4772010826232351e-03 - 23 2.6392672378803975e-04 -3.9375414431174569e-03 -3.6991583139727910e-04 - 24 8.6062827067889835e-04 -9.4179873474469346e-04 5.5396395550012518e-04 - 25 1.5933645477487516e-03 -2.2139156625681669e-03 -5.5078029695647542e-04 - 26 -1.5679561743998831e-03 3.5146224354726187e-04 2.4446924193334495e-03 + 18 3.6149625095704659e-04 -3.1032459262907825e-04 8.1043030117346085e-04 + 19 8.5103884665346059e-04 -1.4572280596788099e-03 1.0163621287634082e-03 + 20 -6.5204659278590227e-04 4.3989037444289446e-04 4.9909839028508150e-04 + 21 -1.3888125881903869e-03 -3.1978049143081757e-04 1.1455681499836596e-03 + 22 -1.6084223477729556e-03 -1.5355394240821013e-03 1.4772010826232407e-03 + 23 2.6392672378803953e-04 -3.9375414431174656e-03 -3.6991583139727423e-04 + 24 8.6062827067889998e-04 -9.4179873474469411e-04 5.5396395550012377e-04 + 25 1.5933645477487516e-03 -2.2139156625681634e-03 -5.5078029695647109e-04 + 26 -1.5679561743998922e-03 3.5146224354726068e-04 2.4446924193334543e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml index c80a70b428..16ba7c079d 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:11 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,38 +15,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 4.3578059172167876e+01 1.7275105166465000e+01 6.7372361276631054e+01 5.1985075049901745e+01 -2.0990677389800993e+01 -7.5321398101844359e+00 -global_scalar: 29.023636440847998 + 4.3578059175768836e+01 1.7275105168781163e+01 6.7372361277896715e+01 5.1985075050485008e+01 -2.0990677388216337e+01 -7.5321398110797180e+00 +global_scalar: 29.023636439584656 run_pos: ! |2 - 1 -6.3472039825517168e-01 3.0113983126282058e+00 -8.8148450172235826e-02 - 2 6.4798884173500326e-02 3.5870486860057795e+00 -9.1146271255434463e-01 - 3 -1.1328967478840362e+00 1.5344674077762583e+00 -6.2949567786977667e-01 - 4 -2.1941320441841130e+00 1.8319737599530370e+00 -1.3824693495474225e+00 - 5 -1.3741175247360697e+00 1.1637763350569887e+00 6.0220861483086097e-01 - 6 5.5368589242158706e-02 3.1209253712244411e-01 -1.4252606627467266e+00 - 7 1.1075313780270069e-01 2.8008314824797154e-02 -2.8425552056438050e+00 - 8 1.1011987966104080e+00 -5.4254536577068713e-01 -6.9472264392660854e-01 - 9 1.3580030945401020e+00 -2.6595138115345840e-01 4.4172536708297194e-01 - 10 2.1282964643831388e+00 -1.6781145595676907e+00 -1.0442216631471304e+00 - 11 1.8571593172391605e+00 -2.3497452731071471e+00 -2.1462323657665392e+00 - 12 3.3117732698469986e+00 -5.4913311816190635e-01 -1.8274356036322548e+00 - 13 4.5640183918453143e+00 -1.0445083545907554e+00 -1.8509716390298214e+00 - 14 2.8312769330518019e+00 -4.5135848464344086e-01 -3.0735173792331993e+00 - 15 3.2788434490964296e+00 7.1618295543695254e-01 -1.3765217601452289e+00 - 16 2.8895075000232158e+00 -2.8409365554010479e+00 1.5818504152554702e-01 - 17 2.3837073405559277e+00 -2.4882133308169232e+00 1.5000885103549333e+00 - 18 2.2738793194357232e+00 3.6743407122553755e+00 -4.1408965121163197e+00 - 19 1.6572750518209336e+00 3.2770314238152451e+00 -4.8886441786593569e+00 - 20 2.9120476452800226e+00 4.3568412675031851e+00 -4.5732834167769187e+00 - 21 5.6058485050774536e+00 -4.8495065176300871e+00 -4.2655497599953458e+00 - 22 5.0552709232982114e+00 -4.9851876752032496e+00 -5.1280564953560424e+00 - 23 6.4593933585948218e+00 -4.3461765105422652e+00 -4.5350231456236889e+00 - 24 2.1823354619125279e+00 3.8552931130470363e+00 3.8953804330431208e+00 - 25 1.3973696115403698e+00 3.9794119228484153e+00 3.2321313266194949e+00 - 26 2.7018361227965517e+00 4.7379517631305443e+00 3.9583193478092706e+00 - 27 -2.6559803075358257e+00 -5.1969823689078796e+00 2.6552621488555683e+00 - 28 -3.5927802460207046e+00 -4.7943885088602283e+00 2.0214142204095413e+00 - 29 -1.8739632618339108e+00 -4.2877858778713946e+00 2.8450749793919066e+00 + 1 -6.3472039825540794e-01 3.0113983126285611e+00 -8.8148450172186088e-02 + 2 6.4798884173342230e-02 3.5870486860061987e+00 -9.1146271255438371e-01 + 3 -1.1328967478843275e+00 1.5344674077764573e+00 -6.2949567786978555e-01 + 4 -2.1941320441845233e+00 1.8319737599532644e+00 -1.3824693495475202e+00 + 5 -1.3741175247363868e+00 1.1637763350571468e+00 6.0220861483099597e-01 + 6 5.5368589242003274e-02 3.1209253712249918e-01 -1.4252606627468261e+00 + 7 1.1075313780254881e-01 2.8008314824818470e-02 -2.8425552056440617e+00 + 8 1.1011987966103707e+00 -5.4254536577072621e-01 -6.9472264392662098e-01 + 9 1.3580030945400878e+00 -2.6595138115347083e-01 4.4172536708308918e-01 + 10 2.1282964643832170e+00 -1.6781145595678604e+00 -1.0442216631471855e+00 + 11 1.8571593172392049e+00 -2.3497452731073896e+00 -2.1462323657667168e+00 + 12 3.3117732698472082e+00 -5.4913311816195076e-01 -1.8274356036323969e+00 + 13 4.5640183918456607e+00 -1.0445083545908531e+00 -1.8509716390299671e+00 + 14 2.8312769330519618e+00 -4.5135848464346928e-01 -3.0735173792334827e+00 + 15 3.2788434490966321e+00 7.1618295543705379e-01 -1.3765217601453177e+00 + 16 2.8895075000233756e+00 -2.8409365554013446e+00 1.5818504152563229e-01 + 17 2.3837073405560343e+00 -2.4882133308171808e+00 1.5000885103551624e+00 + 18 2.2738793194332434e+00 3.6743407122541889e+00 -4.1408965121171795e+00 + 19 1.6572750518219337e+00 3.2770314238270633e+00 -4.8886441786700008e+00 + 20 2.9120476452894675e+00 4.3568412674987194e+00 -4.5732834167653644e+00 + 21 5.6058485051319096e+00 -4.8495065176594299e+00 -4.2655497599906971e+00 + 22 5.0552709232924169e+00 -4.9851876754509741e+00 -5.1280564952785888e+00 + 23 6.4593933583860359e+00 -4.3461765101804879e+00 -4.5350231457223327e+00 + 24 2.1823354618683570e+00 3.8552931130563355e+00 3.8953804330779889e+00 + 25 1.3973696115700545e+00 3.9794119229082359e+00 3.2321313265764022e+00 + 26 2.7018361229436465e+00 4.7379517630364116e+00 3.9583193477161114e+00 + 27 -2.6559803075362858e+00 -5.1969823689084436e+00 2.6552621488559236e+00 + 28 -3.5927802460212725e+00 -4.7943885088607452e+00 2.0214142204098309e+00 + 29 -1.8739632618342856e+00 -4.2877858778718556e+00 2.8450749793922920e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.0094600491564739e-04 -2.4312792027781263e-04 6.5542049134062323e-04 - 19 7.4731683462770076e-04 -1.2894119671278408e-03 8.4327024053533397e-04 - 20 -6.2333686369976551e-04 4.4115361641690044e-04 3.7135656431834220e-04 - 21 -1.1457423793218525e-03 -1.7337748161437940e-04 9.4510018429417686e-04 - 22 -1.3457150581639313e-03 -1.2816797357047471e-03 1.2470992250388096e-03 - 23 3.6277645415306518e-04 -3.4719859048227848e-03 -4.3796817853449118e-04 - 24 7.2410992462873655e-04 -7.6012809744767037e-04 4.3327155128124943e-04 - 25 1.3921349892629666e-03 -1.9207002802664867e-03 -5.7453335109528090e-04 - 26 -1.4901465947638008e-03 4.2012923457099966e-04 2.1578545404178418e-03 + 18 3.0094600492089644e-04 -2.4312792028464785e-04 6.5542049134054972e-04 + 19 7.4731683460624917e-04 -1.2894119671240515e-03 8.4327024053305281e-04 + 20 -6.2333686369944134e-04 4.4115361644063580e-04 3.7135656432041769e-04 + 21 -1.1457423794330429e-03 -1.7337748206069275e-04 9.4510018428907005e-04 + 22 -1.3457150585185161e-03 -1.2816797348700177e-03 1.2470992253076274e-03 + 23 3.6277645495226573e-04 -3.4719859038751704e-03 -4.3796817878355291e-04 + 24 7.2410992459670032e-04 -7.6012809759399148e-04 4.3327155120505761e-04 + 25 1.3921349891892136e-03 -1.9207002802470530e-03 -5.7453335098663809e-04 + 26 -1.4901465945625111e-03 4.2012923513626559e-04 2.1578545406129137e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml index 3894815950..80cc4865c0 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:11 2024 epsilon: 6.5e-13 skip_tests: prerequisites: ! | @@ -14,38 +15,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 2.7340318973870396e+01 4.7963870091858283e+00 6.8884396847592512e+01 2.9853310007358935e+01 -1.0857139901347722e+01 -5.1889756561454785e+00 -global_scalar: 9.77678786310451 + 2.7340318979717416e+01 4.7963870104375275e+00 6.8884396847589585e+01 2.9853310005453281e+01 -1.0857139898599751e+01 -5.1889756547311965e+00 +global_scalar: 9.776787862991728 run_pos: ! |2 - 1 -5.1121862036604515e-01 2.8134872171079977e+00 -4.8993015395518924e-02 - 2 1.4735952488047133e-01 3.3535825972277546e+00 -9.3694001270735150e-01 - 3 -9.8023793775378820e-01 1.4277788160410712e+00 -6.3283768722999234e-01 - 4 -1.9793617512974304e+00 1.7069097152779946e+00 -1.4449221382955635e+00 - 5 -1.2073406578712120e+00 1.0799834439081337e+00 6.9555923026692668e-01 - 6 1.3848116183742931e-01 2.8090381873852976e-01 -1.4910727029127884e+00 - 7 1.9062418946016990e-01 1.4366032742456625e-02 -3.0196292835199614e+00 - 8 1.1231015082845541e+00 -5.2094745136401599e-01 -7.0318517336042774e-01 - 9 1.3648756844511976e+00 -2.6143726919534771e-01 5.2247754752734465e-01 - 10 2.0900856844466578e+00 -1.5863783165912952e+00 -1.0801209545800976e+00 - 11 1.8348175253566659e+00 -2.2165258198419622e+00 -2.2686429310672072e+00 - 12 3.2042965133156098e+00 -5.2712831182449804e-01 -1.9248196297790088e+00 - 13 4.3832508188729271e+00 -9.9190674157019298e-01 -1.9502033172902991e+00 - 14 2.7519224412447691e+00 -4.3539271970391624e-01 -3.2687227073821310e+00 - 15 3.1732939937025400e+00 6.6003562890618639e-01 -1.4385076445934288e+00 - 16 2.8067449168447887e+00 -2.6773787170015133e+00 2.1667842294144180e-01 - 17 2.3305479923928516e+00 -2.3464414104884277e+00 1.6639254952584981e+00 - 18 2.2269920241232128e+00 3.4328783208254681e+00 -4.4342132514635013e+00 - 19 1.6145347679280793e+00 3.0386658278179439e+00 -5.1868156516245785e+00 - 20 2.8608613711028656e+00 4.1100452338287408e+00 -4.8694049549907970e+00 - 21 5.3613621396958795e+00 -4.5653056926475841e+00 -4.5681019697305372e+00 - 22 4.8144754754921184e+00 -4.6999404674483083e+00 -5.4362066556130868e+00 - 23 6.2091840278795729e+00 -4.0659479262420684e+00 -4.8393130641864568e+00 - 24 2.1433208912603074e+00 3.5960988832146015e+00 4.2399236066404100e+00 - 25 1.3636453973491918e+00 3.7192408266342980e+00 3.5723762826473990e+00 - 26 2.6593036729945752e+00 4.4718649490241678e+00 4.3032623333405660e+00 - 27 -2.4141791756398536e+00 -4.8879035738852403e+00 2.9097838637418292e+00 - 28 -3.2961505257539048e+00 -4.5101758871984199e+00 2.2261768979308005e+00 - 29 -1.6779316575994301e+00 -4.0348635219024889e+00 3.1144975929056571e+00 + 1 -5.1121862036689958e-01 2.8134872171089729e+00 -4.8993015395755179e-02 + 2 1.4735952487989756e-01 3.3535825972289093e+00 -9.3694001270719340e-01 + 3 -9.8023793775484513e-01 1.4277788160415970e+00 -6.3283768722997102e-01 + 4 -1.9793617512989155e+00 1.7069097152786199e+00 -1.4449221382951762e+00 + 5 -1.2073406578723613e+00 1.0799834439085494e+00 6.9555923026634758e-01 + 6 1.3848116183685821e-01 2.8090381873868608e-01 -1.4910727029123834e+00 + 7 1.9062418945961834e-01 1.4366032742524126e-02 -3.0196292835188681e+00 + 8 1.1231015082843996e+00 -5.2094745136412257e-01 -7.0318517336038155e-01 + 9 1.3648756844511478e+00 -2.6143726919537080e-01 5.2247754752684727e-01 + 10 2.0900856844469189e+00 -1.5863783165917535e+00 -1.0801209545798738e+00 + 11 1.8348175253568222e+00 -2.2165258198426265e+00 -2.2686429310664504e+00 + 12 3.2042965133163452e+00 -5.2712831182460818e-01 -1.9248196297784048e+00 + 13 4.3832508188741741e+00 -9.9190674157045855e-01 -1.9502033172896844e+00 + 14 2.7519224412453145e+00 -4.3539271970399618e-01 -3.2687227073809266e+00 + 15 3.1732939937032665e+00 6.6003562890646350e-01 -1.4385076445930487e+00 + 16 2.8067449168453553e+00 -2.6773787170023233e+00 2.1667842294107942e-01 + 17 2.3305479923932175e+00 -2.3464414104891320e+00 1.6639254952574838e+00 + 18 2.2269920241209178e+00 3.4328783208250382e+00 -4.4342132514621486e+00 + 19 1.6145347679293440e+00 3.0386658278306271e+00 -5.1868156516331227e+00 + 20 2.8608613711127191e+00 4.1100452338250122e+00 -4.8694049549767646e+00 + 21 5.3613621397513214e+00 -4.5653056926761684e+00 -4.5681019697231218e+00 + 22 4.8144754754873968e+00 -4.6999404677006380e+00 -5.4362066555318300e+00 + 23 6.2091840276731247e+00 -4.0659479258840996e+00 -4.8393130642860642e+00 + 24 2.1433208912158790e+00 3.5960988832250020e+00 4.2399236066734023e+00 + 25 1.3636453973794058e+00 3.7192408266942927e+00 3.5723762826011995e+00 + 26 2.6593036731433042e+00 4.4718649489304223e+00 4.3032623332423157e+00 + 27 -2.4141791756415234e+00 -4.8879035738867795e+00 2.9097838637402536e+00 + 28 -3.2961505257559520e+00 -4.5101758871998348e+00 2.2261768979295358e+00 + 29 -1.6779316576007828e+00 -4.0348635219037465e+00 3.1144975929039944e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.1638284997073272e-04 -2.6313163919070405e-04 6.1054395248656961e-04 - 19 7.6494647252307673e-04 -1.3190724749214326e-03 7.9947132612985723e-04 - 20 -6.1620104632513929e-04 4.2577138774295274e-04 3.2526261653548693e-04 - 21 -1.2063428871524097e-03 -2.2879409878999576e-04 8.9132836538734445e-04 - 22 -1.4151473871894464e-03 -1.3502255393198256e-03 1.1972773109437849e-03 - 23 3.1280366109607172e-04 -3.5563936893394407e-03 -4.9548546532774958e-04 - 24 7.5594375541558026e-04 -8.1321043994394464e-04 3.9340911295780739e-04 - 25 1.4373446731689036e-03 -1.9778020567486213e-03 -6.1842201918304478e-04 - 26 -1.4806168650325999e-03 3.7766934274110835e-04 2.1280924225288342e-03 + 18 3.1638284997600319e-04 -2.6313163919763335e-04 6.1054395248685519e-04 + 19 7.6494647250110288e-04 -1.3190724749175438e-03 7.9947132612783736e-04 + 20 -6.1620104632483571e-04 4.2577138776739548e-04 3.2526261653790590e-04 + 21 -1.2063428872614197e-03 -2.2879409923923591e-04 8.9132836537741717e-04 + 22 -1.4151473875545966e-03 -1.3502255384792933e-03 1.1972773112250280e-03 + 23 3.1280366189902534e-04 -3.5563936883846667e-03 -4.9548546556753227e-04 + 24 7.5594375538112746e-04 -8.1321044009394260e-04 3.9340911288157350e-04 + 25 1.4373446730968913e-03 -1.9778020567293151e-03 -6.1842201907436371e-04 + 26 -1.4806168648243687e-03 3.7766934332225264e-04 2.1280924227258073e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml index f5965e53ff..6757db5703 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:12 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,65 +14,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.6326314448663306e+03 -1.4727331978532295e+03 -3.8557370515932275e+03 5.5052891601644615e+02 4.7346742977310657e+02 -6.2035591882122355e+02 -global_scalar: 106.86683072474125 + -1.6326314448662429e+03 -1.4727331978532245e+03 -3.8557370515929042e+03 5.5052891601619581e+02 4.7346742977256520e+02 -6.2035591882208064e+02 +global_scalar: 106.86683072474244 run_pos: ! |2 - 1 -2.6314711410922875e-01 2.4664715027241684e+00 -1.7093568570875561e-01 - 2 3.1632911015968190e-01 2.9434731493852482e+00 -8.5432214735778889e-01 - 3 -6.7623447816593885e-01 1.2410822625695044e+00 -6.1935152269903870e-01 - 4 -1.5552134736906362e+00 1.4878541800991378e+00 -1.2440909745466859e+00 - 5 -8.7601967096402067e-01 9.3417436540572218e-01 4.0272031680440712e-01 - 6 3.0755837780638462e-01 2.2629147986241449e-01 -1.2791162680673960e+00 - 7 3.5322094628053069e-01 -1.0043890952307954e-02 -2.4548503163676365e+00 - 8 1.1736205127907979e+00 -4.8269091330540537e-01 -6.7273784266507608e-01 - 9 1.3865071239751696e+00 -2.5278331076620741e-01 2.6996653369766221e-01 - 10 2.0239883243193546e+00 -1.4252201368162511e+00 -9.6228264545891751e-01 - 11 1.7991233925769246e+00 -1.9828365722517098e+00 -1.8762366544355809e+00 - 12 3.0044710092992837e+00 -4.8928363303895761e-01 -1.6126944183951402e+00 - 13 4.0415308387392486e+00 -9.0061411581930262e-01 -1.6321139880363660e+00 - 14 2.6064005411338655e+00 -4.0859653026870735e-01 -2.6465043951812621e+00 - 15 2.9775904824773907e+00 5.6065407887877150e-01 -1.2391617757503752e+00 - 16 2.6542663248057963e+00 -2.3895844048756363e+00 3.5746598094128501e-02 - 17 2.2355490747046538e+00 -2.0962135127180099e+00 1.1489434027780590e+00 - 18 2.0921160979727347e+00 2.9872159674143273e+00 -3.4902339097026891e+00 - 19 1.4908686219092431e+00 2.6025398330908249e+00 -4.2194623779121834e+00 - 20 2.7154518806645740e+00 3.6506388357595867e+00 -3.9111287168645399e+00 - 21 4.8435638296030810e+00 -4.0881941921728835e+00 -3.5957796498833634e+00 - 22 4.3080557005367073e+00 -4.2177797604324549e+00 -4.4370935526124242e+00 - 23 5.6713237924930837e+00 -3.5912865024293716e+00 -3.8555915013182531e+00 - 24 2.0228224543345528e+00 3.1208125399081723e+00 3.1634860992076259e+00 - 25 1.2576132296055036e+00 3.2447174749294536e+00 2.5191319958251963e+00 - 26 2.5334951322488237e+00 3.9783477827941720e+00 3.2212409164234312e+00 - 27 -1.8488304998563332e+00 -4.2601261704683342e+00 2.0568476369354265e+00 - 28 -2.6026086128772454e+00 -3.9329047688996304e+00 1.5399898445636406e+00 - 29 -1.2195954744860957e+00 -3.5211468177700818e+00 2.2116264666073615e+00 + 1 -2.6314711410917102e-01 2.4664715027243860e+00 -1.7093568570953632e-01 + 2 3.1632911015962950e-01 2.9434731493852171e+00 -8.5432214735883338e-01 + 3 -6.7623447816593352e-01 1.2410822625695497e+00 -6.1935152269929450e-01 + 4 -1.5552134736907304e+00 1.4878541800989344e+00 -1.2440909745469027e+00 + 5 -8.7601967096385724e-01 9.3417436540614585e-01 4.0272031680429610e-01 + 6 3.0755837780630380e-01 2.2629147986222176e-01 -1.2791162680674191e+00 + 7 3.5322094628027934e-01 -1.0043890952942114e-02 -2.4548503163675806e+00 + 8 1.1736205127908210e+00 -4.8269091330536096e-01 -6.7273784266496328e-01 + 9 1.3865071239753313e+00 -2.5278331076580596e-01 2.6996653369765600e-01 + 10 2.0239883243193466e+00 -1.4252201368163044e+00 -9.6228264545858089e-01 + 11 1.7991233925767878e+00 -1.9828365722521095e+00 -1.8762366544350000e+00 + 12 3.0044710092991682e+00 -4.8928363303924272e-01 -1.6126944183953009e+00 + 13 4.0415308387391402e+00 -9.0061411581958151e-01 -1.6321139880365303e+00 + 14 2.6064005411335902e+00 -4.0859653026938592e-01 -2.6465043951813936e+00 + 15 2.9775904824773161e+00 5.6065407887862850e-01 -1.2391617757509259e+00 + 16 2.6542663248059526e+00 -2.3895844048753085e+00 3.5746598094734239e-02 + 17 2.2355490747049700e+00 -2.0962135127172692e+00 1.1489434027786212e+00 + 18 2.0921160979710356e+00 2.9872159674136229e+00 -3.4902339097027140e+00 + 19 1.4908686219074729e+00 2.6025398330897387e+00 -4.2194623779119471e+00 + 20 2.7154518806624317e+00 3.6506388357591026e+00 -3.9111287168648765e+00 + 21 4.8435638296045518e+00 -4.0881941921723524e+00 -3.5957796498832693e+00 + 22 4.3080557005379525e+00 -4.2177797604322951e+00 -4.4370935526121276e+00 + 23 5.6713237924942437e+00 -3.5912865024285043e+00 -3.8555915013185178e+00 + 24 2.0228224543350635e+00 3.1208125399084361e+00 3.1634860992076055e+00 + 25 1.2576132296057372e+00 3.2447174749292715e+00 2.5191319958254175e+00 + 26 2.5334951322489658e+00 3.9783477827946756e+00 3.2212409164231035e+00 + 27 -1.8488304998563332e+00 -4.2601261704683413e+00 2.0568476369354238e+00 + 28 -2.6026086128772454e+00 -3.9329047688996370e+00 1.5399898445636415e+00 + 29 -1.2195954744860957e+00 -3.5211468177700862e+00 2.2116264666073588e+00 run_vel: ! |2 - 1 1.2393084479630034e-03 7.0215195817155049e-04 -1.1910956210640397e-03 - 2 1.3060936199988536e-03 2.5041119719347224e-04 -1.4496302699051125e-03 - 3 8.7069732478159932e-04 6.1866591813748923e-04 -6.2317312592554579e-04 - 4 8.8100215742025064e-04 5.8380213791516000e-04 -6.5145037264846529e-04 - 5 8.7979303397991678e-04 1.1152950208762130e-03 -4.7231382224758212e-04 - 6 5.3965146863311727e-04 6.8643008418757634e-05 -2.7149223435848658e-04 - 7 3.7117679682181569e-04 -4.5322194777211656e-04 -1.7317402888851005e-04 - 8 4.0378854177636284e-04 9.9015358993666757e-05 -4.1783685861269460e-05 - 9 5.4970639315540500e-04 4.5048022318729304e-04 -1.6045108899919851e-04 - 10 1.2521448037945991e-04 -2.5472783650533836e-04 2.9052485920877619e-04 - 11 -1.0599027352488127e-04 -5.9051612835384309e-04 5.5226010155799178e-04 - 12 3.1798607399623040e-04 -7.9980833669012115e-04 -2.0274707260294341e-04 - 13 2.0597404142686670e-04 -1.0865778699535151e-03 -1.1731137935658918e-04 - 14 2.4719215573349161e-04 -1.1410575874168858e-03 -2.0209037936298231e-04 - 15 6.3286464043726845e-04 -6.3068988069288313e-04 -6.5527927471360488e-04 - 16 -4.4100406048953834e-05 8.6869240444187047e-06 6.5198761255923199e-04 - 17 1.3407421346950653e-04 6.0357565278263911e-04 5.6233596575975121e-04 - 18 7.9277804690569076e-04 -1.5618239874425175e-03 2.1367192719678593e-03 - 19 5.6167660797942776e-04 -1.2371794194922848e-03 2.1562222137424714e-03 - 20 1.1137406410123489e-03 -1.8729421751430327e-03 2.1222207985340819e-03 - 21 -2.8426953558137740e-03 -2.9730185469781381e-03 1.8564402246257748e-03 - 22 -2.9480844379790165e-03 -2.6797216173769360e-03 1.8784164631754769e-03 - 23 -2.5997293519674958e-03 -3.3926375081633348e-03 1.8288830284141459e-03 - 24 1.1689404599043950e-03 -1.6701257754515662e-03 2.1428138286394673e-03 - 25 1.2027302640333160e-03 -1.2630861421196525e-03 2.1808987508670514e-03 - 26 1.6116362268906780e-03 -1.9337182438138849e-03 2.1377249582867843e-03 + 1 1.2393084479632162e-03 7.0215195817134601e-04 -1.1910956210642444e-03 + 2 1.3060936199989690e-03 2.5041119719309234e-04 -1.4496302699052684e-03 + 3 8.7069732478170037e-04 6.1866591813752230e-04 -6.2317312592555772e-04 + 4 8.8100215742026918e-04 5.8380213791525335e-04 -6.5145037264832683e-04 + 5 8.7979303398017070e-04 1.1152950208763543e-03 -4.7231382224773813e-04 + 6 5.3965146863306555e-04 6.8643008418797912e-05 -2.7149223435837187e-04 + 7 3.7117679682156736e-04 -4.5322194777208414e-04 -1.7317402888817444e-04 + 8 4.0378854177637320e-04 9.9015358993721983e-05 -4.1783685861266425e-05 + 9 5.4970639315557207e-04 4.5048022318731326e-04 -1.6045108899939207e-04 + 10 1.2521448037938158e-04 -2.5472783650525840e-04 2.9052485920884211e-04 + 11 -1.0599027352512348e-04 -5.9051612835367331e-04 5.5226010155827335e-04 + 12 3.1798607399607243e-04 -7.9980833669034384e-04 -2.0274707260289267e-04 + 13 2.0597404142668038e-04 -1.0865778699538143e-03 -1.1731137935657286e-04 + 14 2.4719215573317579e-04 -1.1410575874171004e-03 -2.0209037936272953e-04 + 15 6.3286464043720871e-04 -6.3068988069325653e-04 -6.5527927471369335e-04 + 16 -4.4100406048914694e-05 8.6869240445997393e-06 6.5198761255915100e-04 + 17 1.3407421346973834e-04 6.0357565278286712e-04 5.6233596575947994e-04 + 18 7.9277804690533363e-04 -1.5618239874416928e-03 2.1367192719678658e-03 + 19 5.6167660797890148e-04 -1.2371794194914493e-03 2.1562222137424727e-03 + 20 1.1137406410120911e-03 -1.8729421751419769e-03 2.1222207985341088e-03 + 21 -2.8426953558134235e-03 -2.9730185469789214e-03 1.8564402246258563e-03 + 22 -2.9480844379788334e-03 -2.6797216173776307e-03 1.8784164631755556e-03 + 23 -2.5997293519669897e-03 -3.3926375081639489e-03 1.8288830284142509e-03 + 24 1.1689404599044329e-03 -1.6701257754517325e-03 2.1428138286393884e-03 + 25 1.2027302640331447e-03 -1.2630861421197028e-03 2.1808987508669616e-03 + 26 1.6116362268908176e-03 -1.9337182438138503e-03 2.1377249582867175e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml index 3b13658e19..b7b074debd 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:12 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,38 +14,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -8.7531774769722489e+01 5.5811525017966304e+00 -5.5468297744356747e+01 -1.5316306343483370e+02 1.4641268097314367e+02 1.7263710089631324e+01 -global_scalar: 77.78983430293286 + -8.7531774640811420e+01 5.5811525750281774e+00 -5.5468297761715007e+01 -1.5316306336726905e+02 1.4641268095299071e+02 1.7263710083146290e+01 +global_scalar: 77.78983430422252 run_pos: ! |2 - 1 -4.6333219629007161e-01 2.7511450055070625e+00 -1.2865946102806269e-01 - 2 1.7937148390204793e-01 3.2800405238539234e+00 -8.8510337855738808e-01 - 3 -9.2104620265671233e-01 1.3941717929286011e+00 -6.2603796687145774e-01 - 4 -1.8960869879711328e+00 1.6675144043869761e+00 -1.3178544214440926e+00 - 5 -1.1426748052069362e+00 1.0535885915279550e+00 5.0562616550054784e-01 - 6 1.7070712623541162e-01 2.7107933832755826e-01 -1.3571701846607374e+00 - 7 2.2159329060539701e-01 1.0068698962042433e-02 -2.6593507556860114e+00 - 8 1.1315940381701060e+00 -5.1414408469809381e-01 -6.8596713849763802e-01 - 9 1.3675404538221994e+00 -2.6001531899016506e-01 3.5817751536664133e-01 - 10 2.0752698846777218e+00 -1.5574812996955254e+00 -1.0070795245589492e+00 - 11 1.8261547470632067e+00 -2.1745615463231482e+00 -2.0195839000288469e+00 - 12 3.1626236108721066e+00 -5.2019677375525752e-01 -1.7266801053747978e+00 - 13 4.3131602274134853e+00 -9.7533717592326674e-01 -1.7483045222380902e+00 - 14 2.7211536303664605e+00 -4.3036348628163701e-01 -2.8715539682060491e+00 - 15 3.1323683805788374e+00 6.4234915962457073e-01 -1.3123899007466848e+00 - 16 2.7746546569032322e+00 -2.6258578189755974e+00 9.7666596945726880e-02 - 17 2.3099360535750506e+00 -2.3017831004883886e+00 1.3305794265747686e+00 - 18 2.2091748314094701e+00 3.3564440703097080e+00 -3.8370878208998480e+00 - 19 1.5986312961639815e+00 2.9614993054417287e+00 -4.5778944294436021e+00 - 20 2.8405364052167421e+00 4.0335971973474170e+00 -4.2659151034329339e+00 - 21 5.2651527410670678e+00 -4.4761614286515128e+00 -3.9518304737634447e+00 - 22 4.7192922284117014e+00 -4.6119045765637390e+00 -4.8062296930647124e+00 - 23 6.1127575782518644e+00 -3.9811721108739997e+00 -4.2204729624242692e+00 - 24 2.1290800761933255e+00 3.5132841007593623e+00 3.5392070209389175e+00 - 25 1.3519459804490630e+00 3.6349473854278020e+00 2.8807586653452137e+00 - 26 2.6413474233716503e+00 4.3893648735951771e+00 3.6035699967293215e+00 - 27 -2.3204235087828389e+00 -4.7905434153250859e+00 2.3919287951691697e+00 - 28 -3.1811356909797261e+00 -4.4206486004501846e+00 1.8095625809312565e+00 - 29 -1.6019226098503827e+00 -3.9551927030786480e+00 2.5663248522869146e+00 + 1 -4.6333219629057343e-01 2.7511450055078264e+00 -1.2865946102794723e-01 + 2 1.7937148390171043e-01 3.2800405238548382e+00 -8.8510337855745913e-01 + 3 -9.2104620265733672e-01 1.3941717929290096e+00 -6.2603796687147195e-01 + 4 -1.8960869879720148e+00 1.6675144043874610e+00 -1.3178544214442827e+00 + 5 -1.1426748052076219e+00 1.0535885915282748e+00 5.0562616550083384e-01 + 6 1.7070712623507234e-01 2.7107933832768616e-01 -1.3571701846609390e+00 + 7 2.2159329060507194e-01 1.0068698962099276e-02 -2.6593507556865532e+00 + 8 1.1315940381700180e+00 -5.1414408469817374e-01 -6.8596713849766644e-01 + 9 1.3675404538221745e+00 -2.6001531899018637e-01 3.5817751536688647e-01 + 10 2.0752698846778816e+00 -1.5574812996958780e+00 -1.0070795245590576e+00 + 11 1.8261547470632973e+00 -2.1745615463236652e+00 -2.0195839000292208e+00 + 12 3.1626236108725436e+00 -5.2019677375534190e-01 -1.7266801053750953e+00 + 13 4.3131602274142278e+00 -9.7533717592347013e-01 -1.7483045222383922e+00 + 14 2.7211536303667962e+00 -4.3036348628169740e-01 -2.8715539682066451e+00 + 15 3.1323683805792637e+00 6.4234915962478567e-01 -1.3123899007468758e+00 + 16 2.7746546569035768e+00 -2.6258578189762343e+00 9.7666596945902739e-02 + 17 2.3099360535752709e+00 -2.3017831004889393e+00 1.3305794265752642e+00 + 18 2.2091748313982826e+00 3.3564440703034535e+00 -3.8370878209026742e+00 + 19 1.5986312961681257e+00 2.9614993054929961e+00 -4.5778944294898185e+00 + 20 2.8405364052584243e+00 4.0335971973267473e+00 -4.2659151033808254e+00 + 21 5.2651527413064194e+00 -4.4761614287784965e+00 -3.9518304737405883e+00 + 22 4.7192922283808425e+00 -4.6119045776644754e+00 -4.8062296927145907e+00 + 23 6.1127575773332410e+00 -3.9811721092729444e+00 -4.2204729628712050e+00 + 24 2.1290800759971340e+00 3.5132841007987228e+00 3.5392070210919400e+00 + 25 1.3519459805793055e+00 3.6349473856926782e+00 2.8807586651545414e+00 + 26 2.6413474240255201e+00 4.3893648731792023e+00 3.6035699963154144e+00 + 27 -2.3204235087838274e+00 -4.7905434153262867e+00 2.3919287951699459e+00 + 28 -3.1811356909809412e+00 -4.4206486004512886e+00 1.8095625809318783e+00 + 29 -1.6019226098511883e+00 -3.9551927030796277e+00 2.5663248522877335e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -63,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.2384391131466940e-04 -6.0015829212802722e-04 1.5957533238990559e-03 - 19 1.7583138222551384e-03 -3.0158245948490804e-03 2.0310435058142470e-03 - 20 -1.4153552732353322e-03 9.7835305930749246e-04 9.3881222516217474e-04 - 21 -2.7591188772323472e-03 -5.1180650802276303e-04 2.2758295071994400e-03 - 22 -3.2319732401280494e-03 -3.0809796427949646e-03 2.9861065768383484e-03 - 23 6.9767443123301817e-04 -8.1543313142268207e-03 -8.9929522742256325e-04 - 24 1.7345816999787505e-03 -1.8508160062822962e-03 1.0723416147087287e-03 - 25 3.2855417755407162e-03 -4.5284294762327620e-03 -1.2529299007822618e-03 - 26 -3.4004728795728936e-03 8.5952140737749613e-04 5.0505027847540665e-03 + 18 7.2384391137821785e-04 -6.0015829219183913e-04 1.5957533239005792e-03 + 19 1.7583138220942001e-03 -3.0158245949231362e-03 2.0310435058145879e-03 + 20 -1.4153552733289841e-03 9.7835305963750062e-04 9.3881222515317965e-04 + 21 -2.7591188784018856e-03 -5.1180651254767841e-04 2.2758295071625967e-03 + 22 -3.2319732438308327e-03 -3.0809796341686479e-03 2.9861065796802132e-03 + 23 6.9767443960831559e-04 -8.1543313047864312e-03 -8.9929523012053270e-04 + 24 1.7345816996818938e-03 -1.8508160077951139e-03 1.0723416139084840e-03 + 25 3.2855417748809557e-03 -4.5284294761711655e-03 -1.2529298997977286e-03 + 26 -3.4004728777299181e-03 8.5952141335802687e-04 5.0505027869618231e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml index b20d639fd4..0e8f18da7b 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:13 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,65 +15,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356938011610e+03 -1.4496493316650424e+03 -3.6144360982532016e+03 8.4840626794792252e+02 2.0318336802442886e+02 -6.0622397695978805e+02 -global_scalar: 15.711521423178128 + -1.4245356938011316e+03 -1.4496493316650758e+03 -3.6144360982530934e+03 8.4840626794790273e+02 2.0318336802433893e+02 -6.0622397695991208e+02 +global_scalar: 15.711521423178162 run_pos: ! |2 - 1 -2.7899546863905123e-01 2.4731857340327181e+00 -1.7290667740231969e-01 - 2 3.0296221610252227e-01 2.9517129916957194e+00 -8.5798904387756503e-01 - 3 -6.9368802364141247e-01 1.2445115421753310e+00 -6.2281111198650718e-01 - 4 -1.5764879647103560e+00 1.4919714415840475e+00 -1.2492069414674947e+00 - 5 -8.9434512967440649e-01 9.3651699743494377e-01 4.0191726558257690e-01 - 6 2.9454439634452678e-01 2.2724545792543693e-01 -1.2845195053960459e+00 - 7 3.4049112903278234e-01 -9.4655678321664549e-03 -2.4634480020857370e+00 - 8 1.1644354555804921e+00 -4.8367776650962330e-01 -6.7663643940738027e-01 - 9 1.3781717822695918e+00 -2.5332509530017322e-01 2.6864954436590494e-01 - 10 2.0186368606042460e+00 -1.4285861423625348e+00 -9.6712491252784183e-01 - 11 1.7929137227578726e+00 -1.9875455388406436e+00 -1.8836565352267429e+00 - 12 3.0032775230400142e+00 -4.8983022415161337e-01 -1.6190248017342870e+00 - 13 4.0448964162126639e+00 -9.0213155122374034e-01 -1.6385398399478515e+00 - 14 2.6035151245016883e+00 -4.0874995493201027e-01 -2.6555999074785985e+00 - 15 2.9761196776172243e+00 5.6287237454118566e-01 -1.2442626196081918e+00 - 16 2.6517373021566577e+00 -2.3957035508393689e+00 3.3389262100618433e-02 - 17 2.2311114924744668e+00 -2.1018393228799419e+00 1.1496088522376777e+00 - 18 2.1390642573199212e+00 3.0164773560692755e+00 -3.5143984803853900e+00 - 19 1.5353246655143720e+00 2.6305911186314508e+00 -4.2455871034736816e+00 - 20 2.7649421538935122e+00 3.6818603528430254e+00 -3.9364115785985936e+00 - 21 4.9043112657301942e+00 -4.0774268210396798e+00 -3.6200836396129796e+00 - 22 4.3665322424286144e+00 -4.2075138112953070e+00 -4.4636587264885614e+00 - 23 5.7355405581987764e+00 -3.5789558641907195e+00 -3.8805763324090350e+00 - 24 2.0692780332810026e+00 3.1504920436416008e+00 3.1571131300668833e+00 - 25 1.3007297593168636e+00 3.2745259354178766e+00 2.5110163874103986e+00 - 26 2.5819416446099002e+00 4.0104903120757012e+00 3.2150249624525742e+00 + 1 -2.7899546863904412e-01 2.4731857340327541e+00 -1.7290667740243348e-01 + 2 3.0296221610251317e-01 2.9517129916957181e+00 -8.5798904387771990e-01 + 3 -6.9368802364141358e-01 1.2445115421753392e+00 -6.2281111198654315e-01 + 4 -1.5764879647103740e+00 1.4919714415840188e+00 -1.2492069414675249e+00 + 5 -8.9434512967438362e-01 9.3651699743500849e-01 4.0191726558256402e-01 + 6 2.9454439634451368e-01 2.2724545792540876e-01 -1.2845195053960490e+00 + 7 3.4049112903274215e-01 -9.4655678322607961e-03 -2.4634480020857299e+00 + 8 1.1644354555804954e+00 -4.8367776650961680e-01 -6.7663643940736340e-01 + 9 1.3781717822696169e+00 -2.5332509530011327e-01 2.6864954436590560e-01 + 10 2.0186368606042455e+00 -1.4285861423625437e+00 -9.6712491252779242e-01 + 11 1.7929137227578522e+00 -1.9875455388407057e+00 -1.8836565352266585e+00 + 12 3.0032775230399977e+00 -4.8983022415165589e-01 -1.6190248017343138e+00 + 13 4.0448964162126479e+00 -9.0213155122378219e-01 -1.6385398399478794e+00 + 14 2.6035151245016470e+00 -4.0874995493211108e-01 -2.6555999074786221e+00 + 15 2.9761196776172136e+00 5.6287237454116579e-01 -1.2442626196082760e+00 + 16 2.6517373021566839e+00 -2.3957035508393223e+00 3.3389262100708361e-02 + 17 2.2311114924745179e+00 -2.1018393228798340e+00 1.1496088522377621e+00 + 18 2.1390642573196605e+00 3.0164773560691671e+00 -3.5143984803853927e+00 + 19 1.5353246655140995e+00 2.6305911186312847e+00 -4.2455871034736425e+00 + 20 2.7649421538931831e+00 3.6818603528429503e+00 -3.9364115785986438e+00 + 21 4.9043112657304171e+00 -4.0774268210395990e+00 -3.6200836396129659e+00 + 22 4.3665322424288018e+00 -4.2075138112952830e+00 -4.4636587264885161e+00 + 23 5.7355405581989505e+00 -3.5789558641905872e+00 -3.8805763324090754e+00 + 24 2.0692780332810834e+00 3.1504920436416377e+00 3.1571131300668784e+00 + 25 1.3007297593169014e+00 3.2745259354178451e+00 2.5110163874104305e+00 + 26 2.5819416446099250e+00 4.0104903120757749e+00 3.2150249624525231e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825841293e-04 2.6351122778450888e-04 -4.4905093064113717e-04 - 2 4.9594625316469964e-04 9.4561370489668111e-05 -5.4581359894048111e-04 - 3 3.3306085115754910e-04 2.3224943880673595e-04 -2.3659455671744723e-04 - 4 3.3692327392259764e-04 2.1926810694050300e-04 -2.4716631558861373e-04 - 5 3.3642542694184180e-04 4.1797578013266372e-04 -1.8011341766654800e-04 - 6 2.0926869754934492e-04 2.6449308951570887e-05 -1.0508938983871866e-04 - 7 1.4629043007908284e-04 -1.6873376665352296e-04 -6.8354048774366290e-05 - 8 1.5844101624224813e-04 3.7728761273997381e-05 -1.9162715667088780e-05 - 9 2.1299362072601532e-04 1.6917140529158732e-04 -6.3528165037833598e-05 - 10 5.4261629412260376e-05 -9.4655528376821362e-05 1.0511362869146115e-04 - 11 -3.2194160796493454e-05 -2.2025095264761673e-04 2.0300202946211041e-04 - 12 1.2640586304751833e-04 -2.9851080445664229e-04 -7.9476371818270762e-05 - 13 8.4523575162163329e-05 -4.0583135407329152e-04 -4.7551111331733064e-05 - 14 9.9954050381288400e-05 -4.2610816481298728e-04 -7.9255633594414740e-05 - 15 2.4417481119791087e-04 -2.3521002264675206e-04 -2.4875318161051227e-04 - 16 -9.0958138549618100e-06 3.7774817121146141e-06 2.4035199548835590e-04 - 17 5.7507224523608950e-05 2.2629217444844056e-04 2.0686920072686990e-04 - 18 2.9220264989358538e-04 -6.2478376436791018e-04 8.4222594596602778e-04 - 19 2.0572616567796829e-04 -5.0334424271721273e-04 8.4953929443210897e-04 - 20 4.1224811789512659e-04 -7.4115205416005016e-04 8.3678612337508636e-04 - 21 -1.0671858777656236e-03 -1.1531171045500116e-03 7.3720674900161585e-04 - 22 -1.1066511338291651e-03 -1.0433933757601002e-03 7.4544544325707912e-04 - 23 -9.7629260480938717e-04 -1.3100872491594619e-03 7.2687284219704522e-04 - 24 4.3308126651259090e-04 -6.6527658087322823e-04 8.4451298670663681e-04 - 25 4.4565811905441464e-04 -5.1298436273583472e-04 8.5878867884521526e-04 - 26 5.9865972692023459e-04 -7.6385263287079232e-04 8.4259943226842524e-04 + 1 4.7093289825842481e-04 2.6351122778449815e-04 -4.4905093064115029e-04 + 2 4.9594625316470614e-04 9.4561370489646928e-05 -5.4581359894049163e-04 + 3 3.3306085115755453e-04 2.3224943880673822e-04 -2.3659455671744877e-04 + 4 3.3692327392259862e-04 2.1926810694050856e-04 -2.4716631558860722e-04 + 5 3.3642542694185568e-04 4.1797578013267277e-04 -1.8011341766655748e-04 + 6 2.0926869754934175e-04 2.6449308951572771e-05 -1.0508938983871239e-04 + 7 1.4629043007906883e-04 -1.6873376665352220e-04 -6.8354048774347479e-05 + 8 1.5844101624224818e-04 3.7728761274000153e-05 -1.9162715667088122e-05 + 9 2.1299362072602399e-04 1.6917140529158875e-04 -6.3528165037844006e-05 + 10 5.4261629412255362e-05 -9.4655528376817648e-05 1.0511362869146607e-04 + 11 -3.2194160796507657e-05 -2.2025095264760857e-04 2.0300202946212778e-04 + 12 1.2640586304750909e-04 -2.9851080445665606e-04 -7.9476371818267184e-05 + 13 8.4523575162152420e-05 -4.0583135407330979e-04 -4.7551111331730963e-05 + 14 9.9954050381270538e-05 -4.2610816481300132e-04 -7.9255633594400035e-05 + 15 2.4417481119790729e-04 -2.3521002264677391e-04 -2.4875318161051720e-04 + 16 -9.0958138549606716e-06 3.7774817121242263e-06 2.4035199548835337e-04 + 17 5.7507224523620660e-05 2.2629217444845357e-04 2.0686920072685659e-04 + 18 2.9220264989356375e-04 -6.2478376436786377e-04 8.4222594596602756e-04 + 19 2.0572616567793704e-04 -5.0334424271716611e-04 8.4953929443210886e-04 + 20 4.1224811789511017e-04 -7.4115205415999053e-04 8.3678612337508690e-04 + 21 -1.0671858777656028e-03 -1.1531171045500558e-03 7.3720674900162051e-04 + 22 -1.1066511338291541e-03 -1.0433933757601397e-03 7.4544544325708389e-04 + 23 -9.7629260480935768e-04 -1.3100872491594961e-03 7.2687284219705075e-04 + 24 4.3308126651259366e-04 -6.6527658087323755e-04 8.4451298670663172e-04 + 25 4.4565811905440515e-04 -5.1298436273583775e-04 8.5878867884520984e-04 + 26 5.9865972692024294e-04 -7.6385263287079004e-04 8.4259943226842036e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml index 839ac060a5..b0e52d3fea 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:13 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 -global_scalar: 18.340560167364448 + -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 +global_scalar: 18.340560165889197 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 - 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 - 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 - 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 - 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 - 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 - 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 - 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 - 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 + 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 + 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 + 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 + 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 + 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 + 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 + 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 + 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 + 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 - 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 - 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 - 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 - 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 - 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 - 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 - 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 - 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 + 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 + 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 + 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 + 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 + 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 + 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 + 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 + 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 + 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml index 854e8b4d45..0277d7991a 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:13 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,26 +15,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817467882767e+03 -1.4228425246441275e+03 -3.6087196200592489e+03 8.7407043142559303e+02 2.1665316510426268e+02 -6.0480791467747542e+02 -global_scalar: 4.531423038570333 + -1.3754817467882813e+03 -1.4228425246442055e+03 -3.6087196200592184e+03 8.7407043142559792e+02 2.1665316510417179e+02 -6.0480791467761571e+02 +global_scalar: 4.531423038570381 run_pos: ! |2 - 1 -2.7899546859706881e-01 2.4731857340427750e+00 -1.7290667720866193e-01 - 2 3.0296221616781649e-01 2.9517129917211218e+00 -8.5798904365338713e-01 - 3 -6.9368802362172777e-01 1.2445115422148878e+00 -6.2281111185285920e-01 - 4 -1.5764879646739900e+00 1.4919714416721197e+00 -1.2492069413381908e+00 - 5 -8.9434512967965252e-01 9.3651699743522254e-01 4.0191726569953845e-01 - 6 2.9454439635066831e-01 2.2724545796942719e-01 -1.2845195052894431e+00 - 7 3.4049112905319934e-01 -9.4655677384814507e-03 -2.4634480019885556e+00 - 8 1.1644354555589707e+00 -4.8367776651303718e-01 -6.7663643931662931e-01 - 9 1.3781717822376129e+00 -2.5332509534954067e-01 2.6864954447021949e-01 - 10 2.0186368605646337e+00 -1.4285861423742481e+00 -9.6712491246329535e-01 - 11 1.7929137227202196e+00 -1.9875455388073511e+00 -1.8836565351901273e+00 - 12 3.0032775230343667e+00 -4.8983022415922672e-01 -1.6190248016125368e+00 - 13 4.0448964161972993e+00 -9.0213155125590028e-01 -1.6385398398261621e+00 - 14 2.6035151245156412e+00 -4.0874995488520105e-01 -2.6555999073601511e+00 - 15 2.9761196776308623e+00 5.6287237451808192e-01 -1.2442626194415292e+00 - 16 2.6517373020764632e+00 -2.3957035509096389e+00 3.3389262134244646e-02 - 17 2.2311114923824555e+00 -2.1018393229880719e+00 1.1496088522768189e+00 + 1 -2.7899546859705771e-01 2.4731857340428069e+00 -1.7290667720877784e-01 + 2 3.0296221616781072e-01 2.9517129917211151e+00 -8.5798904365354312e-01 + 3 -6.9368802362172532e-01 1.2445115422148945e+00 -6.2281111185289584e-01 + 4 -1.5764879646740031e+00 1.4919714416720897e+00 -1.2492069413382207e+00 + 5 -8.9434512967962521e-01 9.3651699743528616e-01 4.0191726569952280e-01 + 6 2.9454439635065666e-01 2.2724545796939852e-01 -1.2845195052894454e+00 + 7 3.4049112905316026e-01 -9.4655677385761805e-03 -2.4634480019885459e+00 + 8 1.1644354555589742e+00 -4.8367776651303018e-01 -6.7663643931661244e-01 + 9 1.3781717822376380e+00 -2.5332509534948033e-01 2.6864954447021760e-01 + 10 2.0186368605646310e+00 -1.4285861423742554e+00 -9.6712491246324517e-01 + 11 1.7929137227201968e+00 -1.9875455388074099e+00 -1.8836565351900401e+00 + 12 3.0032775230343471e+00 -4.8983022415926980e-01 -1.6190248016125621e+00 + 13 4.0448964161972807e+00 -9.0213155125594269e-01 -1.6385398398261892e+00 + 14 2.6035151245155976e+00 -4.0874995488530264e-01 -2.6555999073601715e+00 + 15 2.9761196776308503e+00 5.6287237451805949e-01 -1.2442626194416131e+00 + 16 2.6517373020764849e+00 -2.3957035509095892e+00 3.3389262134333686e-02 + 17 2.2311114923825035e+00 -2.1018393229879604e+00 1.1496088522769004e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -47,23 +48,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226164550e-04 2.6351124312060223e-04 -4.4905063547613568e-04 - 2 4.9594635271876775e-04 9.4561409237174846e-05 -5.4581325723053790e-04 - 3 3.3306088119081919e-04 2.3224949911015709e-04 -2.3659435306899653e-04 - 4 3.3692332940285361e-04 2.1926824120528752e-04 -2.4716611858555457e-04 - 5 3.3642541894622217e-04 4.1797578053944250e-04 -1.8011323945926332e-04 - 6 2.0926870695908031e-04 2.6449376032433555e-05 -1.0508922741401509e-04 - 7 1.4629046128363305e-04 -1.6873362379725323e-04 -6.8353900724087087e-05 - 8 1.5844098346817862e-04 3.7728756087615553e-05 -1.9162577392847385e-05 - 9 2.1299357198252531e-04 1.6917133003967874e-04 -6.3528006071188683e-05 - 10 5.4261569071251603e-05 -9.4655546204709643e-05 1.0511372702289179e-04 - 11 -3.2194218121513917e-05 -2.2025090185605342e-04 2.0300208519291412e-04 - 12 1.2640585449265036e-04 -2.9851081600945991e-04 -7.9476186245599681e-05 - 13 8.4523551795123310e-05 -4.0583140303606936e-04 -4.7550925831962545e-05 - 14 9.9954071734181717e-05 -4.2610809338914382e-04 -7.9255453072696249e-05 - 15 2.4417483202631243e-04 -2.3521005781666407e-04 -2.4875292755154228e-04 - 16 -9.0959360838797421e-06 3.7773746063106756e-06 2.4035204669042973e-04 - 17 5.7507084250803101e-05 2.2629200960629499e-04 2.0686926033796699e-04 + 1 4.7093296226165618e-04 2.6351124312058857e-04 -4.4905063547614403e-04 + 2 4.9594635271877252e-04 9.4561409237151983e-05 -5.4581325723054321e-04 + 3 3.3306088119082413e-04 2.3224949911015692e-04 -2.3659435306899455e-04 + 4 3.3692332940285378e-04 2.1926824120529077e-04 -2.4716611858554389e-04 + 5 3.3642541894623611e-04 4.1797578053944765e-04 -1.8011323945926958e-04 + 6 2.0926870695907706e-04 2.6449376032434591e-05 -1.0508922741400673e-04 + 7 1.4629046128361865e-04 -1.6873362379725188e-04 -6.8353900724066446e-05 + 8 1.5844098346817927e-04 3.7728756087617390e-05 -1.9162577392845779e-05 + 9 2.1299357198253474e-04 1.6917133003967807e-04 -6.3528006071197993e-05 + 10 5.4261569071247645e-05 -9.4655546204705848e-05 1.0511372702289633e-04 + 11 -3.2194218121526927e-05 -2.2025090185604412e-04 2.0300208519293052e-04 + 12 1.2640585449264128e-04 -2.9851081600947238e-04 -7.9476186245595616e-05 + 13 8.4523551795112752e-05 -4.0583140303608579e-04 -4.7550925831960783e-05 + 14 9.9954071734163598e-05 -4.2610809338915548e-04 -7.9255453072680826e-05 + 15 2.4417483202630842e-04 -2.3521005781668527e-04 -2.4875292755154548e-04 + 16 -9.0959360838764895e-06 3.7773746063197473e-06 2.4035204669042547e-04 + 17 5.7507084250817169e-05 2.2629200960630572e-04 2.0686926033795233e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml index 664921b147..1a017f0a6c 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:14 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 -global_scalar: 0.5007318719663203 + -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 +global_scalar: 0.5007318719399354 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 - 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 - 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 - 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 - 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 - 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 - 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 - 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 - 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 + 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 + 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 + 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 + 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 + 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 + 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 + 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 + 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 + 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 - 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 - 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 - 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 - 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 - 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 - 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 - 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 - 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 + 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 + 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 + 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 + 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 + 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 + 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 + 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 + 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 + 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml index a49508ca15..f15e2a3c7f 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml @@ -1,7 +1,8 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 -epsilon: 5e-13 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:14 2024 +epsilon: 1e-12 skip_tests: prerequisites: ! | atom full @@ -13,26 +14,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3123962047757550e+03 -1.3675423591710460e+03 -3.5468492999583855e+03 7.8271738572396373e+02 2.6480486115495069e+02 -7.6950536863736306e+02 -global_scalar: 68.08659647423171 + -1.3123962047758187e+03 -1.3675423591720764e+03 -3.5468492999580299e+03 7.8271738572394452e+02 2.6480486115379637e+02 -7.6950536863892899e+02 +global_scalar: 68.08659647424867 run_pos: ! |2 - 1 -2.7802951913990959e-01 2.4737132264311215e+00 -1.7381271738602289e-01 - 2 3.0397800832473609e-01 2.9519031941431444e+00 -8.5908822750267100e-01 - 3 -6.9299720296404743e-01 1.2449766685866726e+00 -6.2329294828335358e-01 - 4 -1.5757894675975461e+00 1.4924105480974301e+00 -1.2497098747240374e+00 - 5 -8.9364750934418624e-01 9.3735293261000852e-01 4.0154813851989335e-01 - 6 2.9498813449175199e-01 2.2729986882976547e-01 -1.2847387164260673e+00 - 7 3.4080910885027837e-01 -9.8008218359699473e-03 -2.4635938021179546e+00 - 8 1.1647778042705452e+00 -4.8360070140706557e-01 -6.7668409924218165e-01 - 9 1.3786230528159027e+00 -2.5298559880150862e-01 2.6851325883861188e-01 - 10 2.0187712935465942e+00 -1.4287732348422091e+00 -9.6692440387148870e-01 - 11 1.7928755785831587e+00 -1.9879833661313322e+00 -1.8832605388690278e+00 - 12 3.0035558347419657e+00 -4.9042429038271507e-01 -1.6191927838346238e+00 - 13 4.0450911337530959e+00 -9.0293975523160919e-01 -1.6386440514135796e+00 - 14 2.6037405819194577e+00 -4.0959881564101863e-01 -2.6557674031621108e+00 - 15 2.9766330093335447e+00 5.6240461100771322e-01 -1.2447686007433758e+00 - 16 2.6517453810147344e+00 -2.3956939898026426e+00 3.3859750042781744e-02 - 17 2.2312525656149020e+00 -2.1013855689264771e+00 1.1500124166835219e+00 + 1 -2.7802951913978302e-01 2.4737132264315886e+00 -1.7381271738770820e-01 + 2 3.0397800832462774e-01 2.9519031941430738e+00 -8.5908822750493219e-01 + 3 -6.9299720296403144e-01 1.2449766685867643e+00 -6.2329294828390935e-01 + 4 -1.5757894675977402e+00 1.4924105480969891e+00 -1.2497098747245081e+00 + 5 -8.9364750934382919e-01 9.3735293261092456e-01 4.0154813851965188e-01 + 6 2.9498813449158368e-01 2.2729986882934847e-01 -1.2847387164261186e+00 + 7 3.4080910884973536e-01 -9.8008218373410172e-03 -2.4635938021178290e+00 + 8 1.1647778042705941e+00 -4.8360070140696521e-01 -6.7668409924193851e-01 + 9 1.3786230528162504e+00 -2.5298559880063631e-01 2.6851325883859889e-01 + 10 2.0187712935465760e+00 -1.4287732348423197e+00 -9.6692440387075651e-01 + 11 1.7928755785828601e+00 -1.9879833661321924e+00 -1.8832605388677695e+00 + 12 3.0035558347417104e+00 -4.9042429038332558e-01 -1.6191927838349707e+00 + 13 4.0450911337528455e+00 -9.0293975523220671e-01 -1.6386440514139291e+00 + 14 2.6037405819188639e+00 -4.0959881564248080e-01 -2.6557674031623937e+00 + 15 2.9766330093333795e+00 5.6240461100740513e-01 -1.2447686007445669e+00 + 16 2.6517453810150675e+00 -2.3956939898019254e+00 3.3859750044092363e-02 + 17 2.2312525656155877e+00 -2.1013855689248668e+00 1.1500124166847305e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -46,23 +47,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 1.8443993556501188e-03 1.0121779580014884e-03 -1.7361326034900006e-03 - 2 1.9401022924558343e-03 3.6428754787592733e-04 -2.1069540627804634e-03 - 3 1.3158623602983108e-03 8.9265747656461540e-04 -9.2144725682164657e-04 - 4 1.3306255280096089e-03 8.4281508655990054e-04 -9.6194026572564146e-04 - 5 1.3289682243410692e-03 1.6048237018834067e-03 -7.0511232123071470e-04 - 6 8.4113718611833661e-04 1.0389683283144290e-04 -4.1697370456873913e-04 - 7 5.9950574545626287e-04 -6.4437674895215604e-04 -2.7586696717582678e-04 - 8 6.4634547270651834e-04 1.4734228826522431e-04 -8.7540766366730972e-05 - 9 8.5561404484505246e-04 6.5123532540338036e-04 -2.5782947158524498e-04 - 10 2.4688038968480818e-04 -3.5995975344065565e-04 3.8912416843275122e-04 - 11 -8.4672359473208624e-05 -8.4134349031640394e-04 7.6463157764214873e-04 - 12 5.2321633256319569e-04 -1.1418047427480882e-03 -3.1842516233562688e-04 - 13 3.6258187754908603e-04 -1.5531581259494627e-03 -1.9590476904013767e-04 - 14 4.2166181631324117e-04 -1.6310415916630540e-03 -3.1740232809360453e-04 - 15 9.7471807923383321e-04 -8.9939841790992827e-04 -9.6757308853409824e-04 - 16 4.1534888649229478e-06 1.7705740202856454e-05 9.0753010117813394e-04 - 17 2.5969943716026096e-04 8.7075266710270492e-04 7.7887058799645239e-04 + 1 1.8443993556507550e-03 1.0121779580008364e-03 -1.7361326034906117e-03 + 2 1.9401022924561704e-03 3.6428754787474148e-04 -2.1069540627809144e-03 + 3 1.3158623602986111e-03 8.9265747656469769e-04 -9.2144725682167822e-04 + 4 1.3306255280096579e-03 8.4281508656016844e-04 -9.6194026572521364e-04 + 5 1.3289682243418409e-03 1.6048237018838117e-03 -7.0511232123120064e-04 + 6 8.4113718611817723e-04 1.0389683283156166e-04 -4.1697370456838980e-04 + 7 5.9950574545550414e-04 -6.4437674895204296e-04 -2.7586696717479603e-04 + 8 6.4634547270655271e-04 1.4734228826538870e-04 -8.7540766366732192e-05 + 9 8.5561404484556399e-04 6.5123532540342654e-04 -2.5782947158584915e-04 + 10 2.4688038968457540e-04 -3.5995975344040265e-04 3.8912416843293944e-04 + 11 -8.4672359473939376e-05 -8.4134349031586390e-04 7.6463157764299549e-04 + 12 5.2321633256271539e-04 -1.1418047427487572e-03 -3.1842516233546950e-04 + 13 3.6258187754852045e-04 -1.5531581259503574e-03 -1.9590476904008422e-04 + 14 4.2166181631227780e-04 -1.6310415916636891e-03 -3.1740232809282303e-04 + 15 9.7471807923364706e-04 -8.9939841791107037e-04 -9.6757308853435780e-04 + 16 4.1534888650543531e-06 1.7705740203412426e-05 9.0753010117785768e-04 + 17 2.5969943716097897e-04 8.7075266710338634e-04 7.7887058799558893e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml index 6068993094..dab3d52a04 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:15 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4827261116680472e+02 -1.8411194349753309e+01 -1.0752762859308649e+02 -2.1814511477016276e+02 1.7027764307147623e+02 2.1058942244057214e+01 -global_scalar: 0.9532609554739606 + -1.4827261099624999e+02 -1.8411194282828326e+01 -1.0752762861573947e+02 -2.1814511471949461e+02 1.7027764305079162e+02 2.1058942246396320e+01 +global_scalar: 0.9532609552151339 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -33,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1395635672981443e+00 3.0168023048492310e+00 -3.5136606977867388e+00 - 19 1.5374727853253387e+00 2.6272080572819609e+00 -4.2442423140467360e+00 - 20 2.7621434607990372e+00 3.6846842324743214e+00 -3.9366036441030396e+00 - 21 4.9022821625125470e+00 -4.0760572704380627e+00 -3.6181235130909242e+00 - 22 4.3639257458824501e+00 -4.2100277325126187e+00 -4.4607219430080747e+00 - 23 5.7383384133351401e+00 -3.5881799317362106e+00 -3.8831848688588710e+00 - 24 2.0709922902331592e+00 3.1490053461169678e+00 3.1570777020268803e+00 - 25 1.3046262534530633e+00 3.2688902575528282e+00 2.5076144141701078e+00 - 26 2.5760050685080813e+00 4.0131166912605272e+00 3.2207051913215210e+00 + 18 2.1395635672857165e+00 3.0168023048413781e+00 -3.5136606977888540e+00 + 19 1.5374727853296883e+00 2.6272080573369379e+00 -4.2442423140961818e+00 + 20 2.7621434608442974e+00 3.6846842324506923e+00 -3.9366036440451500e+00 + 21 4.9022821627727593e+00 -4.0760572705753884e+00 -3.6181235130648650e+00 + 22 4.3639257458473608e+00 -4.2100277337137149e+00 -4.4607219426242057e+00 + 23 5.7383384123314833e+00 -3.5881799299869201e+00 -3.8831848693467652e+00 + 24 2.0709922900187268e+00 3.1490053461587983e+00 3.1570777021928031e+00 + 25 1.3046262535950772e+00 3.2688902578410239e+00 2.5076144139609013e+00 + 26 2.5760050692220648e+00 4.0131166908053464e+00 3.2207051908683750e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -63,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.8522439440007537e-04 -6.6826115062653757e-04 1.7528441282153480e-03 - 19 1.8628941719211862e-03 -3.1840047051916367e-03 2.2062694140207390e-03 - 20 -1.4430972531298200e-03 9.7564145841628493e-04 1.0686492192569898e-03 - 21 -3.0047717246574385e-03 -6.6139343888744974e-04 2.4784169377340712e-03 - 22 -3.4980341571643784e-03 -3.3380963325931002e-03 3.2191613979274040e-03 - 23 5.9333930569297746e-04 -8.6231086219834968e-03 -8.2692040355627789e-04 - 24 1.8727912311097641e-03 -2.0349136820274911e-03 1.1951471753018509e-03 - 25 3.4887365958745920e-03 -4.8232966889391266e-03 -1.2263764490291313e-03 - 26 -3.4770258010749858e-03 7.8662050223200905e-04 5.3381090661352298e-03 + 18 7.8522439447394326e-04 -6.6826115070004464e-04 1.7528441282176825e-03 + 19 1.8628941717384645e-03 -3.1840047052822556e-03 2.2062694140226819e-03 + 20 -1.4430972532419690e-03 9.7564145880034414e-04 1.0686492192457362e-03 + 21 -3.0047717260078453e-03 -6.6139344410253201e-04 2.4784169376928207e-03 + 22 -3.4980341614361554e-03 -3.3380963226435131e-03 3.2191614012082861e-03 + 23 5.9333931535562748e-04 -8.6231086111150188e-03 -8.2692040667271425e-04 + 24 1.8727912307694413e-03 -2.0349136837727452e-03 1.1951471743788897e-03 + 25 3.4887365951187166e-03 -4.8232966888750181e-03 -1.2263764478999317e-03 + 26 -3.4770257989604671e-03 7.8662050913487318e-04 5.3381090686904524e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml index 02acb437d9..5af45ebc1b 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:15 2024 epsilon: 7.5e-13 skip_tests: prerequisites: ! | @@ -14,26 +15,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817466835989e+03 -1.4228425246166137e+03 -3.6087196201914348e+03 8.7407043149698916e+02 2.1665316519769885e+02 -6.0480791462033073e+02 -global_scalar: 4.531423038570297 + -1.3754817466835991e+03 -1.4228425246166084e+03 -3.6087196201914162e+03 8.7407043149699155e+02 2.1665316519769920e+02 -6.0480791462032153e+02 +global_scalar: 4.531423038570312 run_pos: ! |2 - 1 -2.7899546859693136e-01 2.4731857340428784e+00 -1.7290667720876285e-01 - 2 3.0296221616793728e-01 2.9517129917211546e+00 -8.5798904365355155e-01 - 3 -6.9368802362166204e-01 1.2445115422149751e+00 -6.2281111185285498e-01 - 4 -1.5764879646739487e+00 1.4919714416722010e+00 -1.2492069413381564e+00 - 5 -8.9434512967954416e-01 9.3651699743538730e-01 4.0191726569957442e-01 - 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894232e+00 - 7 3.4049112905311751e-01 -9.4655677385591108e-03 -2.4634480019885228e+00 - 8 1.1644354555589662e+00 -4.8367776651302724e-01 -6.7663643931660777e-01 - 9 1.3781717822376680e+00 -2.5332509534947545e-01 2.6864954447021416e-01 - 10 2.0186368605645764e+00 -1.4285861423742918e+00 -9.6712491246325605e-01 - 11 1.7929137227200918e+00 -1.9875455388074483e+00 -1.8836565351900385e+00 - 12 3.0032775230343125e+00 -4.8983022415935312e-01 -1.6190248016126132e+00 - 13 4.0448964161972283e+00 -9.0213155125606947e-01 -1.6385398398262669e+00 - 14 2.6035151245155355e+00 -4.0874995488538129e-01 -2.6555999073602123e+00 - 15 2.9761196776308694e+00 5.6287237451798222e-01 -1.2442626194416753e+00 - 16 2.6517373020764219e+00 -2.3957035509096407e+00 3.3389262134315700e-02 - 17 2.2311114923824857e+00 -2.1018393229879817e+00 1.1496088522768926e+00 + 1 -2.7899546859693225e-01 2.4731857340428771e+00 -1.7290667720876018e-01 + 2 3.0296221616793617e-01 2.9517129917211538e+00 -8.5798904365354822e-01 + 3 -6.9368802362166271e-01 1.2445115422149740e+00 -6.2281111185285387e-01 + 4 -1.5764879646739496e+00 1.4919714416722003e+00 -1.2492069413381550e+00 + 5 -8.9434512967954460e-01 9.3651699743538508e-01 4.0191726569957453e-01 + 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894227e+00 + 7 3.4049112905311785e-01 -9.4655677385578896e-03 -2.4634480019885232e+00 + 8 1.1644354555589664e+00 -4.8367776651302741e-01 -6.7663643931660822e-01 + 9 1.3781717822376678e+00 -2.5332509534947639e-01 2.6864954447021405e-01 + 10 2.0186368605645768e+00 -1.4285861423742912e+00 -9.6712491246325705e-01 + 11 1.7929137227200933e+00 -1.9875455388074468e+00 -1.8836565351900401e+00 + 12 3.0032775230343129e+00 -4.8983022415935129e-01 -1.6190248016126136e+00 + 13 4.0448964161972292e+00 -9.0213155125606781e-01 -1.6385398398262672e+00 + 14 2.6035151245155359e+00 -4.0874995488537874e-01 -2.6555999073602123e+00 + 15 2.9761196776308694e+00 5.6287237451798344e-01 -1.2442626194416739e+00 + 16 2.6517373020764223e+00 -2.3957035509096416e+00 3.3389262134313369e-02 + 17 2.2311114923824853e+00 -2.1018393229879830e+00 1.1496088522768906e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -47,23 +48,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226165759e-04 2.6351124312057290e-04 -4.4905063547614669e-04 - 2 4.9594635271877263e-04 9.4561409237138512e-05 -5.4581325723053421e-04 - 3 3.3306088119083101e-04 2.3224949911015481e-04 -2.3659435306900835e-04 - 4 3.3692332940286717e-04 2.1926824120529722e-04 -2.4716611858556465e-04 - 5 3.3642541894624077e-04 4.1797578053943724e-04 -1.8011323945929064e-04 - 6 2.0926870695908283e-04 2.6449376032441855e-05 -1.0508922741401397e-04 - 7 1.4629046128362884e-04 -1.6873362379723068e-04 -6.8353900724071325e-05 - 8 1.5844098346817943e-04 3.7728756087619084e-05 -1.9162577392849316e-05 - 9 2.1299357198253002e-04 1.6917133003966749e-04 -6.3528006071200284e-05 - 10 5.4261569071245856e-05 -9.4655546204698666e-05 1.0511372702289738e-04 - 11 -3.2194218121523431e-05 -2.2025090185602293e-04 2.0300208519292805e-04 - 12 1.2640585449263546e-04 -2.9851081600946745e-04 -7.9476186245575585e-05 - 13 8.4523551795102263e-05 -4.0583140303608199e-04 -4.7550925831931374e-05 - 14 9.9954071734163435e-05 -4.2610809338913835e-04 -7.9255453072661880e-05 - 15 2.4417483202629980e-04 -2.3521005781669047e-04 -2.4875292755152005e-04 - 16 -9.0959360838836724e-06 3.7773746063194780e-06 2.4035204669042463e-04 - 17 5.7507084250807628e-05 2.2629200960629336e-04 2.0686926033794547e-04 + 1 4.7093296226165726e-04 2.6351124312057366e-04 -4.4905063547614750e-04 + 2 4.9594635271877263e-04 9.4561409237139244e-05 -5.4581325723053519e-04 + 3 3.3306088119083079e-04 2.3224949911015511e-04 -2.3659435306900900e-04 + 4 3.3692332940286722e-04 2.1926824120529738e-04 -2.4716611858556574e-04 + 5 3.3642541894624012e-04 4.1797578053943767e-04 -1.8011323945929113e-04 + 6 2.0926870695908297e-04 2.6449376032441903e-05 -1.0508922741401427e-04 + 7 1.4629046128362941e-04 -1.6873362379723111e-04 -6.8353900724071745e-05 + 8 1.5844098346817935e-04 3.7728756087619165e-05 -1.9162577392849147e-05 + 9 2.1299357198252962e-04 1.6917133003966793e-04 -6.3528006071199972e-05 + 10 5.4261569071245965e-05 -9.4655546204698774e-05 1.0511372702289789e-04 + 11 -3.2194218121522970e-05 -2.2025090185602350e-04 2.0300208519292848e-04 + 12 1.2640585449263589e-04 -2.9851081600946756e-04 -7.9476186245575178e-05 + 13 8.4523551795102697e-05 -4.0583140303608210e-04 -4.7550925831930561e-05 + 14 9.9954071734164248e-05 -4.2610809338913878e-04 -7.9255453072661758e-05 + 15 2.4417483202630007e-04 -2.3521005781669015e-04 -2.4875292755151984e-04 + 16 -9.0959360838839976e-06 3.7773746063194848e-06 2.4035204669042588e-04 + 17 5.7507084250806896e-05 2.2629200960629374e-04 2.0686926033794661e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml index 92754f85f5..ed92a4e5a8 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:15 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 -global_scalar: 18.3405601674144 + -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 +global_scalar: 18.340560167414402 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 - 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 - 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 - 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 + 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 + 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 + 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 + 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 - 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 + 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 + 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 - 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 - 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 - 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 - 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 - 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 - 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 - 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 + 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 + 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 + 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 + 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 + 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 + 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 + 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 + 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/in.conp b/unittest/force-styles/tests/in.conp index 92d2f63cd1..08673ec20b 100644 --- a/unittest/force-styles/tests/in.conp +++ b/unittest/force-styles/tests/in.conp @@ -22,3 +22,4 @@ angle_coeff * group bot type 1 group top type 2 +group ele type 1 2 diff --git a/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml b/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml index d0eaee6b92..9bc190a766 100644 --- a/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml +++ b/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml @@ -1,6 +1,6 @@ --- -lammps_version: 23 Jun 2022 -date_generated: Wed Sep 21 13:52:53 2022 +lammps_version: 7 Feb 2024 +date_generated: Mon Mar 4 09:44:30 2024 epsilon: 1e-12 skip_tests: gpu kokkos_omp omp prerequisites: ! | @@ -16,6 +16,7 @@ post_commands: ! | kspace_modify gewald 0.23118 kspace_modify slab ew2d fix fxcpm bot electrode/conp -1.0 1.805 couple top 1.0 symm on + fix fxforce ele setforce 0 0 0 input_file: in.conp pair_style: coul/long 15.0 pair_coeff: ! | @@ -27,97 +28,97 @@ init_coul: 2.215589572896434 init_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 init_forces: ! |2 - 1 2.0780648532795694e-04 1.9949672015209204e-03 3.1005914149473996e+00 - 2 -1.6777235182686288e-02 2.1481432256290419e-03 3.0881659196467988e+00 - 3 6.0082164895554737e-04 5.1573260226633801e-03 3.1029192412328555e+00 - 4 -1.6728974802490675e-02 6.1174723156886242e-03 3.0909324782862346e+00 - 5 4.2029366155132378e-02 -2.3455526736195693e-03 -1.5659617577954634e+00 - 6 5.5635790919204904e-02 -2.4542947062522369e-03 -1.5693827709331334e+00 - 7 4.2014920784252008e-02 -7.5287470219125008e-04 -1.5671265392163820e+00 - 8 5.5808767852333470e-02 -9.9105389808573120e-04 -1.5707104957299389e+00 - 9 -5.0959878750421551e-02 -2.3630298689785601e-03 -1.5769250181497101e+00 - 10 -3.3526564930579039e-02 -2.3802275431282884e-03 -1.5617801011657175e+00 - 11 -5.1236396351794389e-02 -4.9531100598979201e-04 -1.5779995894034005e+00 - 12 -3.3740693032952060e-02 -1.0210406243572182e-03 -1.5630986537874150e+00 - 13 -1.1437102611353016e-03 -4.6454866413029015e-05 5.4282837980149448e-03 - 14 2.3914999373115431e-03 -1.6478680244651469e-04 2.9802178734319239e-02 - 15 3.9287193302652786e-05 -2.5715673267285659e-05 2.8944525105129479e-03 - 16 2.0458480716482328e-03 -1.2119161321908735e-04 3.3689550843809452e-02 - 17 -2.7146073277767471e-03 -8.2376243258224663e-04 2.6564130941474612e-02 - 18 1.3669692885198135e-03 -4.2357196145489820e-04 3.2396141113926739e-02 - 19 3.0143371860819995e-04 -8.6218593339583785e-04 2.6284521141350669e-02 - 20 1.1542435168435056e-03 -2.7252318260838826e-04 3.4237916528138110e-02 - 21 -1.2350056952573553e-03 4.8655691135364269e-04 5.9284283442393631e-03 - 22 2.3656743884722890e-03 9.6575340844312705e-04 2.9811074931784823e-02 - 23 4.6754986244969657e-05 3.0149464050350903e-04 3.4630785686112129e-03 - 24 2.0301227080749633e-03 6.3879578068684812e-04 3.3653437189053413e-02 - 25 -2.3656211013513076e-03 -8.0454594828768334e-04 2.8476980555362911e-02 - 26 1.1566723797447039e-03 -3.9614599888570504e-04 3.2873323713155905e-02 - 27 2.8784994028036400e-04 -8.3661697184444898e-04 2.8317655886021253e-02 - 28 9.3882364605486020e-04 -2.3327601777843495e-04 3.4334676606415648e-02 - 29 -4.7969977052124917e-04 -1.2933334305373028e-04 -1.2336987392568071e-02 - 30 6.4733118786851766e-05 -1.3190918849005797e-04 -1.2737933567178844e-02 - 31 2.4269094157913586e-04 -1.3093943526788584e-04 -1.2136133260085013e-02 - 32 1.7452552740941527e-04 -1.1792779046242341e-04 -1.4181538324619835e-02 - 33 -3.8366266481516803e-04 -7.1061854758754556e-05 -1.3699106365426135e-02 - 34 2.8849004082563746e-05 -5.7838605310673531e-05 -1.3764181266896890e-02 - 35 2.2648059665862587e-04 -7.2851385190891320e-05 -1.3537361892926607e-02 - 36 1.2929221129083645e-04 -4.2862960950045859e-05 -1.4926105930886896e-02 - 37 -4.7698025941707008e-04 2.9971529466656788e-04 -1.2393604822896313e-02 - 38 6.4231095731188766e-05 2.7548977518460050e-04 -1.2789498345723021e-02 - 39 2.4169204779864826e-04 3.0552093685810269e-04 -1.2193908285665961e-02 - 40 1.7324998349441456e-04 2.2898000918153004e-04 -1.4225267020837207e-02 - 41 -3.4345772150395188e-04 -9.8012060153887415e-05 -1.4482722052972283e-02 - 42 2.0345466940577010e-05 -8.5250083485342566e-05 -1.4497101004472062e-02 - 43 2.0917627239292995e-04 -1.0051271468149899e-04 -1.4335313646556430e-02 - 44 1.1456796622437295e-04 -6.7553675788598551e-05 -1.5543196158604005e-02 + 1 2.0780648532797705e-04 1.9949672015210172e-03 3.1005914149473988e+00 + 2 -1.6777235182686239e-02 2.1481432256291962e-03 3.0881659196467979e+00 + 3 6.0082164895566240e-04 5.1573260226632518e-03 3.1029192412328550e+00 + 4 -1.6728974802490665e-02 6.1174723156885227e-03 3.0909324782862333e+00 + 5 4.2029366155132364e-02 -2.3455526736195940e-03 -1.5659617577954636e+00 + 6 5.5635790919204904e-02 -2.4542947062522933e-03 -1.5693827709331336e+00 + 7 4.2014920784251980e-02 -7.5287470219118655e-04 -1.5671265392163822e+00 + 8 5.5808767852333491e-02 -9.9105389808568046e-04 -1.5707104957299391e+00 + 9 -5.0959878750421538e-02 -2.3630298689785965e-03 -1.5769250181497101e+00 + 10 -3.3526564930579081e-02 -2.3802275431283552e-03 -1.5617801011657175e+00 + 11 -5.1236396351794437e-02 -4.9531100598972577e-04 -1.5779995894034005e+00 + 12 -3.3740693032952088e-02 -1.0210406243571744e-03 -1.5630986537874152e+00 + 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_vdwl: 0 -run_coul: 6.662694629990089 +run_coul: 6.662694556930397 run_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_forces: ! |2 - 1 2.4590612609445102e-04 1.9614041218568861e-03 3.0874291949281147e+00 - 2 -1.6646393233505193e-02 2.1136941574790400e-03 3.0751132981100078e+00 - 3 6.3535217476586373e-04 5.1012487117746350e-03 3.0897301317927290e+00 - 4 -1.6598677148313409e-02 6.0535154567108685e-03 3.0778495346381409e+00 - 5 4.2257888534896988e-02 -2.3028533365965051e-03 -1.5593100596807521e+00 - 6 5.5690508027606708e-02 -2.4104721624763235e-03 -1.5626897542440843e+00 - 7 4.2243973130370149e-02 -7.6153220413259775e-04 -1.5604618260035832e+00 - 8 5.5862703939049158e-02 -9.9825803703216718e-04 -1.5640031014325448e+00 - 9 -5.1059409954744304e-02 -2.3195553026588347e-03 -1.5701677851024036e+00 - 10 -3.3824298857146967e-02 -2.3375522139358631e-03 -1.5551647619109401e+00 - 11 -5.1334079184640377e-02 -5.0583705005136689e-04 -1.5712298444761112e+00 - 12 -3.4037363466305925e-02 -1.0275978089057873e-03 -1.5564691026885336e+00 - 13 -1.1767076011504501e-03 -4.7681963272732406e-05 5.6177800544716262e-03 - 14 2.3826294437743331e-03 -1.6349140124449633e-04 2.9836275824428962e-02 - 15 4.1635367214843796e-05 -2.7287283914685102e-05 3.0967012748694773e-03 - 16 2.0334138778396313e-03 -1.1986039772787527e-04 3.3679727731055195e-02 - 17 -2.7026084826568797e-03 -8.1815079485725360e-04 2.6574868248546435e-02 - 18 1.3603406762441243e-03 -4.1902595052936860e-04 3.2373613783594497e-02 - 19 2.9940467686436986e-04 -8.5646794759970863e-04 2.6296909514905095e-02 - 20 1.1469475577225402e-03 -2.6907093945665336e-04 3.4197589258157073e-02 - 21 -1.2662578686531134e-03 4.9770031968890231e-04 6.1141650873547037e-03 - 22 2.3568409810395020e-03 9.5671841592085381e-04 2.9844352492872490e-02 - 23 4.8965507374742117e-05 3.1616579858329929e-04 3.6613180489820005e-03 - 24 2.0177821554069170e-03 6.3083810187911310e-04 3.3643353017422439e-02 - 25 -2.3537455003017457e-03 -7.9846295760147956e-04 2.8468250829639500e-02 - 26 1.1507655048236000e-03 -3.9159985067612060e-04 3.2839870487003708e-02 - 27 2.8582562554448814e-04 -8.3038492818152999e-04 2.8309777443009273e-02 - 28 9.3274285761092680e-04 -2.2997823984283208e-04 3.4287630335266286e-02 - 29 -4.7502414048888327e-04 -1.2847214455389489e-04 -1.2453998829891042e-02 - 30 6.3675154563755000e-05 -1.3104204562344653e-04 -1.2848240218511071e-02 - 31 2.4068203429808906e-04 -1.3007692195448562e-04 -1.2254443488117142e-02 - 32 1.7286880375665112e-04 -1.1713944254614034e-04 -1.4279748536149278e-02 - 33 -3.7975304094097439e-04 -7.0481503989778179e-05 -1.3805675914786045e-02 - 34 2.8172580422574018e-05 -5.7414812953860394e-05 -1.3867744309035916e-02 - 35 2.2448042926710853e-04 -7.2258368796568220e-05 -1.3645037267085249e-02 - 36 1.2804302797390986e-04 -4.2547023166907131e-05 -1.5019384166440140e-02 - 37 -4.7231656130619122e-04 2.9759414220405656e-04 -1.2510308090752414e-02 - 38 6.3181133759042352e-05 2.7366531591578288e-04 -1.2899551129187765e-02 - 39 2.3968383978790597e-04 3.0338116638639894e-04 -1.2311919409216509e-02 - 40 1.7159804905743131e-04 2.2744508340904917e-04 -1.4323246783684936e-02 - 41 -3.3986046011853923e-04 -9.7274166717457145e-05 -1.4583591616566860e-02 - 42 1.9775995840422978e-05 -8.4675117269364898e-05 -1.4595729099929700e-02 - 43 2.0725822207231137e-04 -9.9764702521265135e-05 -1.4437236974797743e-02 - 44 1.1345006523014360e-04 -6.7103771021504086e-05 -1.5632251527466189e-02 + 1 2.4590683616588566e-04 1.9614031577864796e-03 3.0874292323214036e+00 + 2 -1.6646391056109287e-02 2.1136931488459688e-03 3.0751133344119794e+00 + 3 6.3535284261976926e-04 5.1012486499620825e-03 3.0897301693141319e+00 + 4 -1.6598674977089559e-02 6.0535154273402107e-03 3.0778495712965124e+00 + 5 4.2257890248609438e-02 -2.3028528771736243e-03 -1.5593100743454236e+00 + 6 5.5690508840794850e-02 -2.4104716736066006e-03 -1.5626897684026868e+00 + 7 4.2243974848895645e-02 -7.6153214117129057e-04 -1.5604618407191602e+00 + 8 5.5862704771247280e-02 -9.9825804058299890e-04 -1.5640031157582626e+00 + 9 -5.1059412079591346e-02 -2.3195548367148894e-03 -1.5701677996288432e+00 + 10 -3.3824301875619085e-02 -2.3375517362837230e-03 -1.5551647759943836e+00 + 11 -5.1334081278836916e-02 -5.0583707575582921e-04 -1.5712298590599834e+00 + 12 -3.4037366496628307e-02 -1.0275977984217173e-03 -1.5564691169384559e+00 + 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 ... diff --git a/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml b/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml index 0555d12ed4..38161ee044 100644 --- a/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml +++ b/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml @@ -1,6 +1,6 @@ --- -lammps_version: 23 Jun 2022 -date_generated: Wed Sep 21 13:52:39 2022 +lammps_version: 7 Feb 2024 +date_generated: Mon Mar 4 09:44:31 2024 epsilon: 3e-12 skip_tests: gpu kokkos_omp omp prerequisites: ! | @@ -16,6 +16,7 @@ post_commands: ! | kspace_modify gewald 0.23118 kspace_modify slab 3.0 fix fxcpm bot electrode/conp -1.0 1.805 couple top 1.0 symm on + fix fxforce ele setforce 0 0 0 input_file: in.conp pair_style: coul/long 15.0 pair_coeff: ! | @@ -23,101 +24,101 @@ pair_coeff: ! | extract: ! "" natoms: 44 init_vdwl: 0 -init_coul: 2.2156402256727614 +init_coul: 2.215640225672775 init_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 init_forces: ! |2 - 1 2.0996096688279944e-04 1.9837586784580306e-03 3.1004822661058822e+00 - 2 -1.6783332510617883e-02 2.1368843599407611e-03 3.0880130470329230e+00 - 3 6.0300296042517466e-04 5.1688381279905342e-03 3.1028182137891114e+00 - 4 -1.6735061532950901e-02 6.1290626039690339e-03 3.0907879891042755e+00 - 5 4.2014131860757913e-02 -2.3478381081742388e-03 -1.5658874682481487e+00 - 6 5.5659823770659422e-02 -2.4566144388410410e-03 -1.5693278833316506e+00 - 7 4.1999624791768865e-02 -7.5066218795240259e-04 -1.5670569809441617e+00 - 8 5.5832732887661884e-02 -9.8883264742169940e-04 -1.5706605160409139e+00 - 9 -5.0976953599115804e-02 -2.3653810185280950e-03 -1.5768945194236066e+00 - 10 -3.3513771125456657e-02 -2.3824712764543426e-03 -1.5616806812004886e+00 - 11 -5.1253442064492741e-02 -4.9304425051529275e-04 -1.5779738349804424e+00 - 12 -3.3727836471637192e-02 -1.0188844490582761e-03 -1.5630041309277038e+00 - 13 -1.1453068449918257e-03 -4.7335833322794788e-05 5.4292779404649470e-03 - 14 2.3900993287279790e-03 -1.6878550058260119e-04 2.9808528147740175e-02 - 15 4.0078428215627730e-05 -2.6184607051201481e-05 2.8941780231019881e-03 - 16 2.0473353699190459e-03 -1.2552209515766962e-04 3.3684989110502959e-02 - 17 -2.7210216747431955e-03 -8.2349543008294359e-04 2.6567504438257068e-02 - 18 1.3656002828979516e-03 -4.2323438710338486e-04 3.2404938547366383e-02 - 19 3.0785575286292939e-04 -8.6186674263511191e-04 2.6288541663855129e-02 - 20 1.1555469330548321e-03 -2.7230960410720359e-04 3.4235148032534163e-02 - 21 -1.2368093613861506e-03 4.8760847861882366e-04 5.9296798954256557e-03 - 22 2.3643140421916085e-03 9.6975102599399746e-04 2.9817231402721564e-02 - 23 4.7705653522709085e-05 3.0203836842154655e-04 3.4631818106649337e-03 - 24 2.0316297431160258e-03 6.4335031755788927e-04 3.3648629802522749e-02 - 25 -2.3728144718995455e-03 -8.0497592536520339e-04 2.8474707915345274e-02 - 26 1.1555985481661916e-03 -3.9649433660109970e-04 3.2876098209196375e-02 - 27 2.9459292459149998e-04 -8.3700881746301306e-04 2.8316136079038545e-02 - 28 9.4027352090446912e-04 -2.3371025598546553e-04 3.4325153603153732e-02 - 29 -5.2133856931286127e-04 -1.4498587872629142e-04 -1.2345168780426297e-02 - 30 7.0344538924238829e-05 -1.4805754895657979e-04 -1.2765142487049358e-02 - 31 2.7857644686035687e-04 -1.4667349483298643e-04 -1.2140095836769501e-02 - 32 1.7479865631996218e-04 -1.3335074368636031e-04 -1.4152171307753206e-02 - 33 -4.2607366742485959e-04 -7.2661709209033136e-05 -1.3713642029394900e-02 - 34 3.4224570995904750e-05 -5.9352423088202727e-05 -1.3797063100154012e-02 - 35 2.6332638434852483e-04 -7.4573909050170201e-05 -1.3548481212572565e-02 - 36 1.2956589882656260e-04 -4.4469640559387641e-05 -1.4903750420442119e-02 - 37 -5.1855202137555164e-04 3.1768672664149645e-04 -1.2402413876588990e-02 - 38 6.9744637010106164e-05 2.9379923413403201e-04 -1.2817238930047764e-02 - 39 2.7753815671547851e-04 3.2364879063853462e-04 -1.2198687630220518e-02 - 40 1.7359211286247436e-04 2.4661766514410969e-04 -1.4196607980261094e-02 - 41 -3.8501793941197521e-04 -9.8818538537990245e-05 -1.4472863167957050e-02 - 42 2.5779944975443997e-05 -8.5975255466014692e-05 -1.4504933662725301e-02 - 43 2.4535595442148292e-04 -1.0127263490049206e-04 -1.4321758087878972e-02 - 44 1.1457678622968817e-04 -6.8200688092186871e-05 -1.5499407046729242e-02 + 1 2.0996096688288336e-04 1.9837586784579777e-03 3.1004822661058866e+00 + 2 -1.6783332510618088e-02 2.1368843599407052e-03 3.0880130470329270e+00 + 3 6.0300296042527755e-04 5.1688381279906869e-03 3.1028182137891140e+00 + 4 -1.6735061532951116e-02 6.1290626039692056e-03 3.0907879891042778e+00 + 5 4.2014131860757857e-02 -2.3478381081742123e-03 -1.5658874682481501e+00 + 6 5.5659823770659547e-02 -2.4566144388410201e-03 -1.5693278833316524e+00 + 7 4.1999624791768810e-02 -7.5066218795247393e-04 -1.5670569809441637e+00 + 8 5.5832732887661961e-02 -9.8883264742177161e-04 -1.5706605160409157e+00 + 9 -5.0976953599115846e-02 -2.3653810185280759e-03 -1.5768945194236084e+00 + 10 -3.3513771125456573e-02 -2.3824712764543218e-03 -1.5616806812004898e+00 + 11 -5.1253442064492769e-02 -4.9304425051536007e-04 -1.5779738349804435e+00 + 12 -3.3727836471637081e-02 -1.0188844490583557e-03 -1.5630041309277052e+00 + 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_vdwl: 0 -run_coul: 6.662844717848837 +run_coul: 6.662844644802024 run_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_forces: ! |2 - 1 2.4838374656870440e-04 1.9503798034564181e-03 3.0873204052231675e+00 - 2 -1.6652792550963507e-02 2.1026197438206527e-03 3.0749612313228378e+00 - 3 6.3785681925848106e-04 5.1125747842690368e-03 3.0896293583134606e+00 - 4 -1.6605065971975488e-02 6.0649203428150876e-03 3.0777057441315305e+00 - 5 4.2242720963296274e-02 -2.3050719334346786e-03 -1.5592361839228894e+00 - 6 5.5714272244614366e-02 -2.4127241272198356e-03 -1.5626351053810128e+00 - 7 4.2228744507856318e-02 -7.5938680980830215e-04 -1.5603926173148708e+00 - 8 5.5886400463161408e-02 -9.9610508394880446e-04 -1.5639532943562677e+00 - 9 -5.1076260774663269e-02 -2.3218376339398856e-03 -1.5701372580807029e+00 - 10 -3.3811558405906099e-02 -2.3397301017438945e-03 -1.5550660295253020e+00 - 11 -5.1350900750795785e-02 -5.0363945411724615e-04 -1.5712039970018119e+00 - 12 -3.4024561045577786e-02 -1.0255079139096881e-03 -1.5563752017113657e+00 - 13 -1.1783355827329363e-03 -4.8584425213699084e-05 5.6187810005819084e-03 - 14 2.3812433011153062e-03 -1.6745821939573657e-04 2.9842604329757397e-02 - 15 4.2472634867315832e-05 -2.7784504406519571e-05 3.0964622176844602e-03 - 16 2.0348857368272344e-03 -1.2415016403438035e-04 3.3675205082768264e-02 - 17 -2.7089567432503573e-03 -8.1788662401764114e-04 2.6578231998707000e-02 - 18 1.3589859834844708e-03 -4.1869284075205220e-04 3.2382362625908642e-02 - 19 3.0575998684987288e-04 -8.5615261685325662e-04 2.6300918365183709e-02 - 20 1.1482382726252934e-03 -2.6885864047674810e-04 3.4194853807722227e-02 - 21 -1.2680891310638792e-03 4.9877122346546224e-04 6.1154164862940522e-03 - 22 2.3554944751877239e-03 9.6068685589809240e-04 2.9850487598267021e-02 - 23 4.9959016556344255e-05 3.1673714227676154e-04 3.6614479955528112e-03 - 24 2.0192733259603224e-03 6.3534849028298586e-04 3.3638585635455770e-02 - 25 -2.3608563352120440e-03 -7.9888874314704573e-04 2.8465994834953420e-02 - 26 1.1497012824588045e-03 -3.9194609517719160e-04 3.2842627585052867e-02 - 27 2.9249325092285189e-04 -8.3077344407106490e-04 2.8308269755484061e-02 - 28 9.3417705968603434e-04 -2.3040781495046246e-04 3.4278191255128133e-02 - 29 -5.1652528928022433e-04 -1.4404353042683099e-04 -1.2462150875064196e-02 - 30 6.9288940488795056e-05 -1.4710788156542239e-04 -1.2875332550432134e-02 - 31 2.7644608312646314e-04 -1.4573040212804145e-04 -1.2258366148270420e-02 - 32 1.7312052380602741e-04 -1.3246895843787418e-04 -1.4250473428514749e-02 - 33 -4.2201273060055557e-04 -7.2075937985441126e-05 -1.3820153961237609e-02 - 34 3.3549241776445280e-05 -5.8924381188893540e-05 -1.3900492261623465e-02 - 35 2.6119063773180797e-04 -7.3975274656908229e-05 -1.3656086631368676e-02 - 36 1.2829798186810219e-04 -4.4146305074977061e-05 -1.4997087695938056e-02 - 37 -5.1375024459660446e-04 3.1547360096919003e-04 -1.2519087424517190e-02 - 38 6.8697062203298403e-05 2.9188411177715840e-04 -1.2927175328444108e-02 - 39 2.7540798890579723e-04 3.2141722701930868e-04 -1.2316658300695350e-02 - 40 1.7191884579607650e-04 2.4497453169432579e-04 -1.4294679585099376e-02 - 41 -3.8125358429239129e-04 -9.8073404256391242e-05 -1.4573806404289218e-02 - 42 2.5208712883704254e-05 -8.5394829999053783e-05 -1.4603558816163261e-02 - 43 2.4329125095209453e-04 -1.0051714757303402e-04 -1.4423743772053488e-02 - 44 1.1343880007511943e-04 -6.7742613833467660e-05 -1.5588639087563531e-02 + 1 2.4838446863956616e-04 1.9503788466163226e-03 3.0873204426106526e+00 + 2 -1.6652790386577014e-02 2.1026187422225435e-03 3.0749612676149027e+00 + 3 6.3785749905510489e-04 5.1125747155211397e-03 3.0896293958296610e+00 + 4 -1.6605063813845172e-02 6.0649203065202620e-03 3.0777057807809554e+00 + 5 4.2242722672783749e-02 -2.3050714764837649e-03 -1.5592361985876177e+00 + 6 5.5714273062644336e-02 -2.4127236407636803e-03 -1.5626351195306318e+00 + 7 4.2228746222139832e-02 -7.5938674438442760e-04 -1.5603926320308752e+00 + 8 5.5886401300220948e-02 -9.9610508505008281e-04 -1.5639533086735800e+00 + 9 -5.1076262902731158e-02 -2.3218371704875301e-03 -1.5701372726008263e+00 + 10 -3.3811561421032657e-02 -2.3397296264742822e-03 -1.5550660436064543e+00 + 11 -5.1350902848165500e-02 -5.0363947736732217e-04 -1.5712040115797643e+00 + 12 -3.4024564072498521e-02 -1.0255079009805182e-03 -1.5563752159595889e+00 + 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 ... diff --git a/unittest/force-styles/tests/manybody-pair-rebomos.yaml b/unittest/force-styles/tests/manybody-pair-rebomos.yaml new file mode 100644 index 0000000000..74fbe2b001 --- /dev/null +++ b/unittest/force-styles/tests/manybody-pair-rebomos.yaml @@ -0,0 +1,125 @@ +--- +lammps_version: 7 Feb 2024 +tags: slow +date_generated: Thu Feb 22 09:08:59 2024 +epsilon: 1e-12 +skip_tests: +prerequisites: ! | + pair rebomos +pre_commands: ! | + variable newton_pair delete + if "$(is_active(package,gpu)) > 0.0" then "variable newton_pair index off" else "variable newton_pair index on" +post_commands: ! "" +input_file: in.airebo +pair_style: rebomos +pair_coeff: ! | + * * MoS.rebomos Mo S +extract: ! "" +natoms: 48 +init_vdwl: 3158.017726833385 +init_coul: 0 +init_stress: ! |2- + 6.8398718310371441e+03 6.7325636075141883e+03 6.1154248388685965e+03 -3.2850057579078185e+02 -6.6397329123828470e+01 -3.4208234997867203e+02 +init_forces: ! |2 + 1 -3.7681565852737293e+00 2.4378308384489483e+02 -2.6969740060923279e+01 + 2 2.6266038011491645e+02 -2.0681295165426090e+02 -1.9964225279104706e+01 + 3 -2.5778010496370018e+02 -2.3678496612327552e+02 4.3829487525746238e+01 + 4 -1.0244959408607365e+01 -2.6794342328905179e+02 -2.6250177085935768e+01 + 5 2.2561151172717553e+02 2.0458598509633319e+02 -4.2183143539914880e+01 + 6 -2.4766208404861507e+02 1.8231884233051196e+02 1.2358374858464346e+01 + 7 -2.8974107341390795e+01 1.1031227139363692e+02 -1.2014739688866064e+02 + 8 2.1125868843851663e+02 -2.8863731327540540e+02 1.6869558243398984e+01 + 9 -3.1045083889038222e+02 -1.7569259168198960e+02 7.9653354234911163e+01 + 10 3.9886149586070935e+01 -1.0347554263069082e+02 1.5430519714983259e+02 + 11 1.8975960895859026e+02 1.4943835159807929e+02 -7.3224202319244824e+01 + 12 -2.1525843617159188e+02 2.2144411990369784e+02 -1.4893230739895195e+01 + 13 -4.5214798787473534e+00 1.1303681465405538e+02 -1.1385660017739841e+02 + 14 2.3203040375527121e+02 -3.4422786145586961e+01 1.8438743650405590e+02 + 15 -9.7170644212253990e+01 -2.9205504121924292e+02 1.9237141908302370e+01 + 16 -5.1044169101209107e+01 -1.4503490444304657e+02 1.5798442448724001e+02 + 17 2.8968061091312188e+02 8.7626477818666558e+01 -5.8802357863256212e+01 + 18 -1.7269858357220591e+02 8.9805161881631591e+01 -1.7847636055101773e+02 + 19 1.0760757939777642e+02 1.2642591396366257e+02 1.5914528700154095e+01 + 20 8.4608047558760049e+01 -2.4114295115066687e+02 -8.5792447633922421e+01 + 21 -8.8196263713344706e+01 -1.2718199182512282e+02 -7.0146571930858386e+01 + 22 -9.8957412653883708e+01 -1.4706747771082254e+02 -4.1887992372999022e+01 + 23 1.3739608451158423e+02 2.5576040689729510e+02 3.0309933932861746e+01 + 24 -1.7919184387909232e+02 1.4014151619269020e+02 1.6188399417577682e+02 + 25 -7.7347072523993347e+01 1.5555894832740958e+02 2.6182670200573220e+01 + 26 7.1360176064432650e+01 -2.9346871053231695e+02 -4.0766232856732509e+00 + 27 -2.6964124483003886e+01 9.8094028485618843e+00 2.4520760165936114e+01 + 28 1.2261226472559841e+02 -2.1507437048459283e+02 -3.0529457478077248e+01 + 29 2.2123474818204119e+01 2.8827028167050270e+02 1.0492685172067040e+02 + 30 -3.0573547162322302e+02 6.5880918489915032e+01 -1.1459287271946665e+02 + 31 6.0299759271951014e+00 1.7876996651274851e+02 -1.2964028093837922e+02 + 32 2.3752911820416773e+02 -1.2903240767402318e+02 1.2355068302179771e+02 + 33 -2.7462402312452838e+02 -5.3957296643601545e+01 9.5908146508348565e+01 + 34 -2.4514118579997412e+01 -1.0385194449627924e+02 1.4149428440602534e+02 + 35 1.2613298864651166e+02 6.2171771831118461e+00 -2.0642312645163636e+02 + 36 -6.9996802234927173e+01 2.9354514776980676e+02 -2.0963604805137543e+01 + 37 5.0241789394721707e+01 2.4495589528252060e+02 -1.1814425338523709e+01 + 38 2.2684897209808264e+02 -1.8673318434123004e+02 1.5220428086050066e+00 + 39 -2.5107271651763259e+02 -1.6443685417603410e+02 -3.8081572318769169e+01 + 40 -5.6754727284178912e+01 -2.5956532443118618e+02 -5.9343761520548126e+00 + 41 2.7426370608616236e+02 1.7742153146823480e+02 1.3451000229991498e+01 + 42 -2.2732796257204490e+02 2.5279459742055184e+02 -2.7020668313372529e+01 + 43 1.6217419052721431e+02 1.3946372126978235e+02 -2.0623397237537300e+00 + 44 3.0490806490775839e+01 2.1072542774667330e+01 8.2426559376766466e+00 + 45 -1.8440339212966003e+02 -2.5521581334939563e+02 2.6487508881411735e+01 + 46 -3.5020523296396959e+01 -2.5119105337038474e+02 8.0096253171487604e+00 + 47 3.2722641189388571e+02 9.7949745935413119e+01 -1.1898751818014821e+01 + 48 -1.3785292104885133e+02 3.2239007811982697e+02 2.4602884867061839e+01 +run_vdwl: 838.005031679853 +run_coul: 0 +run_stress: ! |2- + 2.0454406617512559e+03 2.1642975706136021e+03 3.2875013790709349e+03 2.4615001869678809e+02 9.3532964794023911e+01 -1.6795786485689854e+02 +run_forces: ! |2 + 1 -2.5386905249574866e+01 -9.9909927316940710e+01 1.9622022776949393e+00 + 2 -3.6801215363277215e+01 1.3354608905768052e+02 1.3651128931415545e+02 + 3 2.1845136723115344e+00 2.3527273580981478e+00 2.4005941692097457e+00 + 4 -3.7818914621624749e+01 3.2946537814811997e+01 4.3018847892043375e+01 + 5 9.6010433504280890e+00 4.3327442916171194e+01 -1.0513311611209312e+02 + 6 8.4308572792324540e+01 -2.3503352214725012e+01 5.0539884405443850e+01 + 7 -1.1497740491253731e+01 -6.4938790153209212e+01 3.8948855627091397e+01 + 8 -4.2897157525993697e+00 -3.3530261299383611e+01 9.5574489119024229e+00 + 9 4.8767710902858741e-01 -3.5176606358955858e+00 -1.4806227207057554e-01 + 10 -1.4766722110672411e+01 2.3818988804615220e+01 -5.3134339246512809e+01 + 11 -1.3935431402422819e+02 -1.5665571900752980e+02 -3.7627334252485582e+01 + 12 7.7074185304589484e+00 -1.2031768398608595e+01 1.8274050209872662e+01 + 13 2.3670515505343992e+01 -6.4282829210616583e+01 4.6336363412751325e+01 + 14 -2.5980738378663424e+00 8.4167979467127569e+00 -2.3849686761968631e+00 + 15 2.6909213334137871e+01 9.4711670949167956e+00 1.4728430099051328e+00 + 16 2.6072330920174934e+01 1.5861581881675242e+01 -5.1429144994723586e+01 + 17 -4.5656802478750279e+01 -1.0557685195759221e+02 -1.8486644164722456e+01 + 18 1.3345348571390588e+02 5.3791289185967734e+01 3.1330462313925089e+01 + 19 -3.4744179120880638e+01 -2.9727735009574776e+01 1.3758697899848009e+01 + 20 3.5805745710027459e+00 2.3635583506556830e+00 -9.8641913612550636e-01 + 21 -1.9112967021807076e+01 2.4093036642722907e+01 -1.8643238887150801e+01 + 22 -9.0201617792954476e+00 3.7160721932912736e+01 -5.0873237843214003e+00 + 23 -2.0559670924056718e+01 -1.3037172781831362e+01 -4.1555140102832148e+01 + 24 3.5016464856031341e+01 -1.2488249708112150e+02 -5.5132899737529639e+00 + 25 2.4856779395007460e+00 -6.7533673428345381e+01 -1.7153563726726016e+01 + 26 -8.6470517146734750e+01 -7.9057942497429794e+00 3.8434105758101332e+01 + 27 3.1062776626038996e+01 2.5568916700234454e+00 -2.3812255018358194e+01 + 28 -3.6128021960690276e+01 8.8535946500139033e+01 -3.1718315624050986e-01 + 29 -1.7473599694524488e+01 5.1605700760038529e+00 3.1477016370448561e+00 + 30 3.2722165297173231e+00 -5.9807188688706105e+00 3.0903475914489444e+01 + 31 -5.5852599877204412e-01 -3.7635607965114964e+01 5.5407547347738578e+01 + 32 -4.8419811021707950e+01 1.2083134296973620e+02 -1.4299477119499166e+01 + 33 2.5993167832212944e+01 5.4415694550334088e+01 -2.2817585641730194e+01 + 34 1.3632918027769463e+01 1.0165209000060044e+02 -6.0709294862836366e+01 + 35 -1.7896100047169217e+01 5.7265522876438499e+00 6.7274680861552483e+00 + 36 -1.8125137765726237e+01 2.7564787465936047e+00 -9.5278575701404478e+00 + 37 -3.5898678616111592e+00 -7.2362382910010311e+01 -9.3588358281326709e+00 + 38 -3.6726824963125949e+01 2.0008528283799198e+01 4.2387983046244827e+01 + 39 1.4756349734330427e+00 3.4387817449154888e+01 4.6004570693407864e+01 + 40 1.3004687263347805e+01 6.5948251357408196e+01 -9.3870897441198231e+00 + 41 -9.2360908880622592e+00 3.0113497063365648e+00 -1.1785409504259610e+01 + 42 -1.1795417170666214e+01 -1.1546754933247897e+01 -1.2188857610119777e+01 + 43 -6.5511968637617390e-01 -3.9133448932537512e+01 5.5788437875425423e-01 + 44 -4.2976958767216473e+01 1.8814792063050870e+01 -3.2742042602021932e+01 + 45 1.8589630046648591e+02 5.3367997582431663e+01 3.8324469380182308e+01 + 46 2.2463767362468872e+01 7.7485287617829670e+01 2.6113916756613811e+01 + 47 3.0703470673161828e+00 2.4966324680483410e+01 -5.0826014249556524e+00 + 48 7.6310071304830785e+01 -9.3082908173611301e+01 -1.1280958703044767e+02 +... diff --git a/unittest/force-styles/tests/mol-pair-tip4p_long.yaml b/unittest/force-styles/tests/mol-pair-tip4p_long.yaml index 072642c471..9a67706c01 100644 --- a/unittest/force-styles/tests/mol-pair-tip4p_long.yaml +++ b/unittest/force-styles/tests/mol-pair-tip4p_long.yaml @@ -2,7 +2,7 @@ lammps_version: 17 Feb 2022 tags: unstable date_generated: Fri Mar 18 22:17:36 2022 -epsilon: 5e-13 +epsilon: 1e-10 skip_tests: prerequisites: ! | atom full