diff --git a/.flake8 b/.flake8 index 7b2865c..88077af 100644 --- a/.flake8 +++ b/.flake8 @@ -6,7 +6,7 @@ exclude = __pycache__, build, dist, - doc/source/conf.py + docs/source/conf.py max-line-length = 79 # Ignore some style 'errors' produced while formatting by 'black' # https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#labels-why-pycodestyle-warnings diff --git a/.github/ISSUE_TEMPLATE/release_checklist.md b/.github/ISSUE_TEMPLATE/release_checklist.md index fa94779..6107962 100644 --- a/.github/ISSUE_TEMPLATE/release_checklist.md +++ b/.github/ISSUE_TEMPLATE/release_checklist.md @@ -13,30 +13,30 @@ assignees: "" - [ ] License information is verified as correct. If you are unsure, please comment below. - [ ] Locally rendered documentation contains all appropriate pages, including API references (check no modules are missing), tutorials, and other human-written text is up-to-date with any changes in the code. -- [ ] Installation instructions in the README, documentation, and the website (e.g., diffpy.org) are updated. +- [ ] Installation instructions in the README, documentation, and the website are updated. - [ ] Successfully run any tutorial examples or do functional testing with the latest Python version. - [ ] Grammar and writing quality are checked (no typos). - [ ] Install `pip install build twine`, run `python -m build` and `twine check dist/*` to ensure that the package can be built and is correctly formatted for PyPI release. -Please mention @sbillinge here when you are ready for PyPI/GitHub release. Include any additional comments necessary, such as version information and details about the pre-release here: +Please tag the maintainer (e.g., @username) in the comment here when you are ready for the PyPI/GitHub release. Include any additional comments necessary, such as version information and details about the pre-release here: ### PyPI/GitHub full-release preparation checklist: - [ ] Create a new conda environment and install the rc from PyPI (`pip install ==??`) - [ ] License information on PyPI is correct. -- [ ] Docs are deployed successfully to `https://www.diffpy.org/`. +- [ ] Docs are deployed successfully to `https:///`. - [ ] Successfully run all tests, tutorial examples or do functional testing. -Please let @sbillinge know that all checks are done and the package is ready for full release. +Please let the maintainer know that all checks are done and the package is ready for full release. ### conda-forge release preparation checklist: - + - [ ] Ensure that the full release has appeared on PyPI successfully. - [ ] New package dependencies listed in `conda.txt` and `test.txt` are added to `meta.yaml` in the feedstock. -- [ ] Close any open issues on the feedstock. Reach out to @bobleesj if you have questions. -- [ ] Tag @sbillinge and @bobleesj for conda-forge release. +- [ ] Close any open issues on the feedstock. Reach out to the maintainer if you have questions. +- [ ] Tag the maintainer for conda-forge release. ### Post-release checklist diff --git a/.github/workflows/build-wheel-release-upload.yml b/.github/workflows/build-wheel-release-upload.yml index b60acca..bbe8140 100644 --- a/.github/workflows/build-wheel-release-upload.yml +++ b/.github/workflows/build-wheel-release-upload.yml @@ -8,11 +8,11 @@ on: jobs: release: - uses: Billingegroup/release-scripts/.github/workflows/_build-wheel-release-upload.yml@v0 + uses: scikit-package/release-scripts/.github/workflows/_build-wheel-release-upload.yml@v0 with: - project: diffpy.labpdfproc + project: diffpy.my-labpdfproc c_extension: false - github_admin_username: sbillinge + maintainer_GITHUB_username: sbillinge secrets: PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} PAT_TOKEN: ${{ secrets.PAT_TOKEN }} diff --git a/.github/workflows/check-news-item.yml b/.github/workflows/check-news-item.yml index 3588c8a..39b25c1 100644 --- a/.github/workflows/check-news-item.yml +++ b/.github/workflows/check-news-item.yml @@ -7,6 +7,6 @@ on: jobs: check-news-item: - uses: Billingegroup/release-scripts/.github/workflows/_check-news-item.yml@v0 + uses: scikit-package/release-scripts/.github/workflows/_check-news-item.yml@v0 with: - project: diffpy.labpdfproc + project: diffpy.my-labpdfproc diff --git a/.github/workflows/matrix-and-codecov-on-merge-to-main.yml b/.github/workflows/matrix-and-codecov-on-merge-to-main.yml index 3114aa2..92f9403 100644 --- a/.github/workflows/matrix-and-codecov-on-merge-to-main.yml +++ b/.github/workflows/matrix-and-codecov-on-merge-to-main.yml @@ -12,51 +12,10 @@ on: jobs: matrix-coverage: - defaults: - run: - shell: bash -l {0} - - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-13, macos-14] - python-version: ["3.11", "3.12", "3.13"] - env: - LATEST_PYTHON_VERSION: "3.13" - steps: - - name: Check out diffpy.labpdfproc - uses: actions/checkout@v4 - - - name: Initialize miniconda - uses: conda-incubator/setup-miniconda@v3 - with: - activate-environment: test - auto-update-conda: true - environment-file: environment.yml - auto-activate-base: false - python-version: ${{ matrix.python-version }} - - - name: Conda config - run: >- - conda config --set always_yes yes - --set changeps1 no - - - name: Install diffpy.labpdfproc and requirements - run: | - conda install --file requirements/tests.txt - conda install --file requirements/conda.txt - pip install gooey - python -m pip install . --no-deps - - - name: Validate diffpy.labpdfproc - run: | - pytest --cov - coverage report -m - codecov - - - name: Upload coverage to Codecov - if: matrix.os == 'ubuntu-latest' && matrix.python-version == env.LATEST_PYTHON_VERSION - uses: codecov/codecov-action@v4 - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + uses: scikit-package/release-scripts/.github/workflows/_matrix-and-codecov-on-merge-to-main.yml@v0 + with: + project: diffpy.my-labpdfproc + c_extension: false + headless: false + secrets: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/publish-docs-on-release.yml b/.github/workflows/publish-docs-on-release.yml index 7474399..3106120 100644 --- a/.github/workflows/publish-docs-on-release.yml +++ b/.github/workflows/publish-docs-on-release.yml @@ -5,8 +5,8 @@ on: jobs: docs: - uses: Billingegroup/release-scripts/.github/workflows/_publish-docs-on-release.yml@v0 + uses: scikit-package/release-scripts/.github/workflows/_publish-docs-on-release.yml@v0 with: - project: diffpy.labpdfproc + project: diffpy.my-labpdfproc c_extension: false headless: false diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index db5cacf..0579105 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -1,53 +1,15 @@ name: Tests on PR on: - push: - branches: - - main pull_request: workflow_dispatch: jobs: - validate: - defaults: - run: - shell: bash -l {0} - - runs-on: ubuntu-latest - steps: - - name: Check out diffpy.labpdfproc repository - uses: actions/checkout@v4 - - - name: Initialize miniconda - uses: conda-incubator/setup-miniconda@v3 - with: - activate-environment: test - auto-update-conda: true - environment-file: environment.yml - auto-activate-base: false - python-version: 3.13 - - - name: Conda config - run: >- - conda config --set always_yes yes - --set changeps1 no - - - name: Install diffpy.labpdfproc and requirements - run: | - conda install --file requirements/tests.txt - conda install --file requirements/conda.txt - pip install gooey - python -m pip install . --no-deps - - - name: Validate diffpy.labpdfproc - run: | - pytest --cov - coverage report -m - codecov - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 - with: - verbose: true - fail_ci_if_error: true - token: ${{ secrets.CODECOV_TOKEN }} + tests-on-pr: + uses: scikit-package/release-scripts/.github/workflows/_tests-on-pr.yml@v0 + with: + project: diffpy.my-labpdfproc + c_extension: false + headless: false + secrets: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.gitignore b/.gitignore index d418364..099e294 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ __pycache__/ .Python env/ build/ +_build/ develop-eggs/ dist/ downloads/ diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 47f7a01..aaa8889 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -10,4 +10,4 @@ python: - requirements: requirements/docs.txt sphinx: - configuration: doc/source/conf.py + configuration: docs/source/conf.py diff --git a/AUTHORS.rst b/AUTHORS.rst index 251218d..f3735f0 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -1,10 +1,10 @@ Authors ======= -Billinge Group and community contributors. +Sangjoon Lee, Simon Billinge, Billinge Group members Contributors ------------ For a list of contributors, visit -https://github.com/diffpy/diffpy.labpdfproc/graphs/contributors +https://github.com/diffpy/diffpy.my-labpdfproc/graphs/contributors diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 94114aa..f29d3b5 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,56 +1,5 @@ ============= -Release Notes +Release notes ============= .. current developments - -0.2.0 -===== - -**Added:** - -* Support for Python 3.13 - -**Removed:** - -* Support for Python 3.10 - - -0.1.3 -===== - -**Added:** - -* generate package API doc -* redo cookiecutter to add issue templates and update readme - - -0.1.2 -===== - -**Added:** - -* polynomial interpolation as the default method for cve computation. - -**Fixed:** - -* add PyPI packages under pip.txt - - - -0.1.1 -===== - - - -0.1.1 -===== - - - -0.1.0 -===== - - - -Initial release of labPDFproc. Please see README and documentation for details diff --git a/CODE_OF_CONDUCT.rst b/CODE-OF-CONDUCT.rst similarity index 100% rename from CODE_OF_CONDUCT.rst rename to CODE-OF-CONDUCT.rst diff --git a/MANIFEST.in b/MANIFEST.in index ae36d2f..f1a78ee 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -3,7 +3,6 @@ graft tests graft requirements include AUTHORS.rst LICENSE*.rst README.rst -include src/diffpy/labpdfproc/data * # Exclude all bytecode files and __pycache__ directories global-exclude *.py[cod] # Exclude all .pyc, .pyo, and .pyd files. diff --git a/README.rst b/README.rst index 358c54d..1ebfbc2 100644 --- a/README.rst +++ b/README.rst @@ -1,71 +1,53 @@ |Icon| |title|_ =============== -.. |title| replace:: diffpy.labpdfproc -.. _title: https://diffpy.github.io/diffpy.labpdfproc +.. |title| replace:: diffpy.my-labpdfproc +.. _title: https://diffpy.github.io/diffpy.my-labpdfproc .. |Icon| image:: https://avatars.githubusercontent.com/diffpy - :target: https://diffpy.github.io/diffpy.labpdfproc + :target: https://diffpy.github.io/diffpy.my-labpdfproc :height: 100px -|PyPi| |Forge| |PythonVersion| |PR| +|PyPI| |Forge| |PythonVersion| |PR| |CI| |Codecov| |Black| |Tracking| .. |Black| image:: https://img.shields.io/badge/code_style-black-black :target: https://github.com/psf/black -.. |CI| image:: https://github.com/diffpy/diffpy.labpdfproc/actions/workflows/matrix-and-codecov-on-merge-to-main.yml/badge.svg - :target: https://github.com/diffpy/diffpy.labpdfproc/actions/workflows/matrix-and-codecov-on-merge-to-main.yml +.. |CI| image:: https://github.com/diffpy/diffpy.my-labpdfproc/actions/workflows/matrix-and-codecov-on-merge-to-main.yml/badge.svg + :target: https://github.com/diffpy/diffpy.my-labpdfproc/actions/workflows/matrix-and-codecov-on-merge-to-main.yml -.. |Codecov| image:: https://codecov.io/gh/diffpy/diffpy.labpdfproc/branch/main/graph/badge.svg - :target: https://codecov.io/gh/diffpy/diffpy.labpdfproc +.. |Codecov| image:: https://codecov.io/gh/diffpy/diffpy.my-labpdfproc/branch/main/graph/badge.svg + :target: https://codecov.io/gh/diffpy/diffpy.my-labpdfproc -.. |Forge| image:: https://img.shields.io/conda/vn/conda-forge/diffpy.labpdfproc - :target: https://anaconda.org/conda-forge/diffpy.labpdfproc +.. |Forge| image:: https://img.shields.io/conda/vn/conda-forge/diffpy.my-labpdfproc + :target: https://anaconda.org/conda-forge/diffpy.my-labpdfproc .. |PR| image:: https://img.shields.io/badge/PR-Welcome-29ab47ff + :target: https://github.com/diffpy/diffpy.my-labpdfproc/pulls -.. |PyPi| image:: https://img.shields.io/pypi/v/diffpy.labpdfproc - :target: https://pypi.org/project/diffpy.labpdfproc/ +.. |PyPI| image:: https://img.shields.io/pypi/v/diffpy.my-labpdfproc + :target: https://pypi.org/project/diffpy.my-labpdfproc/ -.. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/diffpy.labpdfproc - :target: https://pypi.org/project/diffpy.labpdfproc/ +.. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/diffpy.my-labpdfproc + :target: https://pypi.org/project/diffpy.my-labpdfproc/ .. |Tracking| image:: https://img.shields.io/badge/issue_tracking-github-blue - :target: https://github.com/diffpy/diffpy.labpdfproc/issues + :target: https://github.com/diffpy/diffpy.my-labpdfproc/issues -Tools for processing x-ray powder diffraction data from laboratory sources. +Python package for doing science. -PDFgetX3 has revolutionized how PDF methods can be applied to solve nanostructure problems. -However, the program was designed for use with Rapid Acquisition PDF (RAPDF) data from synchrotron sources. -A key approximation inherent in the use of PDFgetX3 for RAPDF data is that absorption effects are negligible. -This is typically not the case for laboratory x-ray diffractometers, where absorption effects can be significant. +* LONGER DESCRIPTION HERE -This app is designed to preprocess data from laboratory x-ray diffractometers before using PDFgetX3 to obtain PDFs. -The app currently carries out an absorption correction assuming a parallel beam capillary geometry -which is the most common geometry for lab PDF measurements. - -The theory is described in the following paper: - -Chen, Y., Schertenleib, T., Yang, A., Schouwink, P., Queen, W.L. and Billinge, S.J.L., -An Absorption Correction for Reliable Pair-Distribution Functions from Low Energy x-ray Sources. -Arxiv.org. https://doi.org/10.48550/arXiv.2504.12499 - -The related experimental data acquisition protocols are described in the following paper: - -Schertenleib, T., Schmuckler, D., Chen, Y., Jin, G.B., Queen, W.L. and Billinge, S.J.L. (2025), -Testing Protocols for Obtaining Reliable Pair Distribution Functions from Laboratory X-Ray Sources Using PDFgetX3. -Chem. Methods 2500001. https://doi.org/10.1002/cmtd.202500001 - -For more information about the diffpy.labpdfproc library, please consult our `online documentation `_. +For more information about the diffpy.my-labpdfproc library, please consult our `online documentation `_. Citation -------- -If you use diffpy.labpdfproc in a scientific publication, we would like you to cite this package as +If you use diffpy.my-labpdfproc in a scientific publication, we would like you to cite this package as - diffpy.labpdfproc Package, https://github.com/diffpy/diffpy.labpdfproc + diffpy.my-labpdfproc Package, https://github.com/diffpy/diffpy.my-labpdfproc Installation ------------ @@ -79,63 +61,40 @@ To add "conda-forge" to the conda channels, run the following in a terminal. :: conda config --add channels conda-forge We want to install our packages in a suitable conda environment. -The following creates and activates a new environment named ``diffpy.labpdfproc_env`` :: +The following creates and activates a new environment named ``diffpy.my-labpdfproc_env`` :: - conda create -n diffpy.labpdfproc_env diffpy.labpdfproc - conda activate diffpy.labpdfproc_env + conda create -n diffpy.my-labpdfproc_env diffpy.my-labpdfproc + conda activate diffpy.my-labpdfproc_env To confirm that the installation was successful, type :: - python -c "import diffpy.labpdfproc; print(diffpy.labpdfproc.__version__)" + python -c "import diffpy.my_labpdfproc; print(diffpy.my_labpdfproc.__version__)" The output should print the latest version displayed on the badges above. If the above does not work, you can use ``pip`` to download and install the latest release from `Python Package Index `_. -To install using ``pip`` into your ``diffpy.labpdfproc_env`` environment, type :: +To install using ``pip`` into your ``diffpy.my-labpdfproc_env`` environment, type :: - pip install diffpy.labpdfproc + pip install diffpy.my-labpdfproc If you prefer to install from sources, after installing the dependencies, obtain the source archive from -`GitHub `_. Once installed, ``cd`` into your ``diffpy.labpdfproc`` directory +`GitHub `_. Once installed, ``cd`` into your ``diffpy.my-labpdfproc`` directory and run the following :: pip install . -Example -------- - -Navigate to the directory that contains 1D diffraction patterns that you would like to process. -Activate the conda environment (`conda activate diffpy.labpdfproc_env`) that contains the package and run the following command :: - - labpdfproc --mud - -Here replace with the value of muD for your sample -and with the path and filename of your input file. -For example, if the uncorrected data case is called zro2_mo.xy and is in the current directory -and it has a muD of 2.5 then the command would be :: - - labpdfproc zro2_mo.xy --mud 2.5 - -Please type :: - - labpdfproc --help - -for more information on the available options. - Getting Started --------------- -You may consult our `online documentation `_ for tutorials and API references. +You may consult our `online documentation `_ for tutorials and API references. Support and Contribute ---------------------- -`Diffpy user group `_ is the discussion forum for general questions and discussions about the use of diffpy.labpdfproc. Please join the diffpy.labpdfproc users community by joining the Google group. The diffpy.labpdfproc project welcomes your expertise and enthusiasm! - -If you see a bug or want to request a feature, please `report it as an issue `_ and/or `submit a fix as a PR `_. You can also post it to the `Diffpy user group `_. +If you see a bug or want to request a feature, please `report it as an issue `_ and/or `submit a fix as a PR `_. -Feel free to fork the project and contribute. To install diffpy.labpdfproc +Feel free to fork the project and contribute. To install diffpy.my-labpdfproc in a development mode, with its sources being directly used by Python rather than copied to a package directory, use the following in the root directory :: @@ -156,9 +115,14 @@ trying to commit again. Improvements and fixes are always appreciated. -Before contributing, please read our `Code of Conduct `_. +Before contributing, please read our `Code of Conduct `_. Contact ------- -For more information on diffpy.labpdfproc please visit the project `web-page `_ or email Prof. Simon Billinge at sb2896@columbia.edu. +For more information on diffpy.my-labpdfproc please visit the project `web-page `_ or email Simon Billinge at sb2896@columbia.edu. + +Acknowledgements +---------------- + +``diffpy.my-labpdfproc`` is built and maintained with `scikit-package `_. diff --git a/cookiecutter.json b/cookiecutter.json new file mode 100644 index 0000000..dbec3cc --- /dev/null +++ b/cookiecutter.json @@ -0,0 +1,18 @@ +{ + "maintainer_name": "Simon Billinge", + "maintainer_email": "sb2896@columbia.edu", + "maintainer_github_username": "sbillinge", + "contributors": "Sangjoon Lee, Simon Billinge, Billinge Group members", + "license_holders": "The Trustees of Columbia University in the City of New York", + "project_name": "diffpy.my-labpdfproc", + "github_username_or_orgname": "diffpy", + "github_repo_name": "diffpy.my-labpdfproc", + "conda_pypi_package_dist_name": "diffpy.my-labpdfproc", + "package_dir_name": "diffpy.my_labpdfproc", + "project_short_description": "Python package for doing science.", + "project_keywords": "diffraction, PDF, X-ray, neutron", + "minimum_supported_python_version": "3.11", + "maximum_supported_python_version": "3.13", + "project_needs_c_code_compiled": "No", + "project_has_gui_tests": "No" +} diff --git a/doc/source/api/diffpy.labpdfproc.data.rst b/doc/source/api/diffpy.labpdfproc.data.rst deleted file mode 100644 index 7ff7501..0000000 --- a/doc/source/api/diffpy.labpdfproc.data.rst +++ /dev/null @@ -1,9 +0,0 @@ -:tocdepth: -1 - -diffpy.labpdfproc.data package -============================== - -.. automodule:: diffpy.labpdfproc.data - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/diffpy.labpdfproc.rst b/doc/source/api/diffpy.labpdfproc.rst deleted file mode 100644 index a3f53e1..0000000 --- a/doc/source/api/diffpy.labpdfproc.rst +++ /dev/null @@ -1,44 +0,0 @@ -:tocdepth: -1 - -diffpy.labpdfproc package -========================= - -.. automodule:: diffpy.labpdfproc - :members: - :undoc-members: - :show-inheritance: - -Subpackages ------------ - -.. toctree:: - :titlesonly: - - diffpy.labpdfproc.data - -Submodules ----------- - -diffpy.labpdfproc.functions module -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. automodule:: diffpy.labpdfproc.functions - :members: - :undoc-members: - :show-inheritance: - -diffpy.labpdfproc.tools module -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. automodule:: diffpy.labpdfproc.tools - :members: - :undoc-members: - :show-inheritance: - -diffpy.labpdfproc.labpdfprocapp module -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. automodule:: diffpy.labpdfproc.labpdfprocapp - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/examples/example-data/zro2_mo.xy b/doc/source/examples/example-data/zro2_mo.xy deleted file mode 100644 index 0da57da..0000000 --- a/doc/source/examples/example-data/zro2_mo.xy +++ /dev/null @@ -1,5630 +0,0 @@ -2.00009989738464 47.3495377734889 -2.02462468668818 45.9664359001249 -2.04914947599173 43.3738432672084 -2.07367426529527 41.0358802678819 -2.09819905459881 40.3356487755093 -2.12272384390235 38.5503478218157 -2.14724863320589 37.4797459533122 -2.17177342250943 35.9519681517721 -2.19629821181297 34.2766209034924 -2.22082300111651 32.9918986612882 -2.24534779042006 32.0109958682539 -2.2698725797236 30.6163199206359 -2.29439736902714 29.9074078725728 -2.31892215833068 28.6458337788768 -2.34344694763422 27.8761578409797 -2.36797173693776 26.7592596754599 -2.3924965262413 25.7378476225363 -2.41702131554484 24.9681716846392 -2.44154610484838 24.1030096341458 -2.46607089415193 23.6371531454186 -2.49059568345547 22.4045142373579 -2.51512047275901 21.7476855234382 -2.53964526206255 21.0156253268669 -2.56417005136609 20.208333647644 -2.58869484066963 19.6325234535029 -2.61321962997317 18.8657410341694 -2.63774441927671 18.9699077024562 -2.66226920858026 17.6678243488709 -2.6867939978838 17.1440974888732 -2.71131878718734 16.8113428540681 -2.73584357649088 16.1255789545132 -2.76036836579442 15.4398150549582 -2.78489315509796 14.7598381925304 -2.8094179444015 14.7858798596021 -2.83394273370504 14.2129631840245 -2.85846752300859 13.3969909491111 -2.88299231231213 12.948495571765 -2.90751710161567 12.251157597956 -2.93204189091921 12.2193288937572 -2.95656668022275 11.8287038876816 -2.98109146952629 11.0995372096739 -3.00561625882983 10.6221066466926 -3.03014104813337 10.4716436813894 -3.05466583743691 9.9537038585188 -3.07919062674046 9.34027792305195 -3.103715416044 8.65451402349702 -3.12824020534754 8.73842606183918 -3.15276499465108 8.13946771918994 -3.17728978395462 7.85879641852822 -3.20181457325816 7.60706030350172 -3.2263393625617 7.28298622438716 -3.25086415186524 7.30324085433182 -3.27538894116879 7.14988437046511 -3.29991373047233 7.08043992494056 -3.32443851977587 7.02835659079714 -3.34896330907941 6.93576399676441 -3.37348809838295 7.0601852949959 -3.39801288768649 6.46122695234665 -3.42253767699003 6.96759270096316 -3.44706246629357 6.64930565897564 -3.47158725559711 6.51909732361711 -3.49611204490066 7.0225695536701 -3.5206368342042 6.62905102903098 -3.54516162350774 6.5306713978712 -3.56968641281128 6.63483806615803 -3.59421120211482 6.11111120616038 -3.61873599141836 6.12268528041447 -3.6432607807219 6.16608805886732 -3.66778557002544 6.21527787444721 -3.69231035932899 6.51041676792654 -3.71683514863253 5.96643527798424 -3.74135993793607 6.21817139301073 -3.76588472723961 5.89409731389616 -3.79040951654315 5.89120379533264 -3.81493430584669 6.07928250196163 -3.83945909515023 6.05613435345345 -3.86398388445377 5.6336806431791 -3.88850867375731 6.01851861212765 -3.91303346306086 5.7465278671565 -3.9375582523644 5.78993064560934 -3.96208304166794 5.76099545997411 -3.98660783097148 5.54687508627342 -4.01113262027502 5.88252323964207 -4.03565740957856 5.9866899079289 -4.0601821988821 5.75810194141059 -4.08470698818564 5.71180564439422 -4.10923177748919 5.5063658263841 -4.13375656679273 5.6076389761074 -4.15828135609627 5.49768527069353 -4.18280614539981 5.46296304793125 -4.20733093470335 5.33275471257272 -4.23185572400689 5.56712971621807 -4.25638051331043 5.5063658263841 -4.28090530261397 5.34432878682681 -4.30543009191751 5.42245378804193 -4.32995488122106 5.28067137842931 -4.3544796705246 5.32407415688215 -4.37900445982814 5.18518526583305 -4.40352924913168 5.54108804914637 -4.42805403843522 5.19965285865067 -4.45257882773876 5.30671304550101 -4.4771036170423 5.40219915809727 -4.50162840634584 5.15625008019782 -4.52615319564939 5.13888896881669 -4.55067798495293 5.18807878439657 -4.57520277425647 5.3559028610809 -4.59972756356001 5.34722230539033 -4.62425235286355 5.23726859997646 -4.64877714216709 5.18518526583305 -4.67330193147063 5.2922454526834 -4.69782672077417 5.17071767301544 -4.72235151007771 5.23726859997646 -4.74687629938126 5.10127322749089 -4.7714010886848 4.9392361879336 -4.79592587798834 5.00000007776759 -4.82045066729188 5.01736118914872 -4.84497545659542 5.05787044903804 -4.86950024589896 4.90740748373485 -4.8940250352025 4.79745377832098 -4.91854982450604 4.97106489213236 -4.94307461380959 4.97106489213236 -4.96759940311313 4.80324081544803 -4.99212419241667 4.92476859511599 -5.01664898172021 4.85243063102792 -5.04117377102375 4.8379630382103 -5.06569856032729 4.91898155798894 -5.09022334963083 4.92766211367951 -5.11474813893437 4.91898155798894 -5.13927292823792 4.80324081544803 -5.16379771754146 5.07233804185566 -5.188322506845 5.07523156041918 -5.21284729614854 4.72800933279643 -5.23737208545208 4.8379630382103 -5.26189687475562 4.84375007533735 -5.28642166405916 4.56307877467563 -5.3109464533627 4.60937507169199 -5.33547124266624 4.79166674119394 -5.35999603196979 4.80613433401155 -5.38452082127333 4.80324081544803 -5.40904561057687 4.96238433644179 -5.43357039988041 4.74247692561405 -5.45809518918395 4.97974544782292 -5.48261997848749 4.65567136870836 -5.50714476779103 4.62094914594609 -5.53166955709457 4.91898155798894 -5.55619434639812 4.78877322263041 -5.58071913570166 4.58333340462029 -5.6052439250052 4.86111118671849 -5.62976871430874 4.76851859268575 -5.65429350361228 4.5601852561121 -5.67881829291582 4.76273155555871 -5.70334308221936 4.84085655677382 -5.7278678715229 4.58912044174733 -5.75239266082644 4.75405099986814 -5.77691745012999 4.82060192682916 -5.80144223943353 4.56307877467563 -5.82596702873707 4.54571766329449 -5.85049181804061 4.61516210881904 -5.87501660734415 4.52256951478631 -5.89954139664769 4.71354173997882 -5.92406618595123 4.58622692318381 -5.94859097525477 4.65856488727188 -5.97311576455832 4.72800933279643 -5.99764055386186 4.81770840826564 -6.0221653431654 4.55150470042153 -6.04669013246894 4.65567136870836 -6.07121492177248 4.55150470042153 -6.09573971107602 4.72222229566939 -6.12026450037956 4.55439821898506 -6.1447892896831 4.736689888487 -6.16931407898664 4.66724544296245 -6.19383886829019 4.71354173997882 -6.21836365759373 4.58043988605676 -6.24288844689727 4.79456025975746 -6.26741323620081 5.10127322749089 -6.29193802550435 4.86111118671849 -6.31646281480789 4.54861118185801 -6.34098760411143 4.8379630382103 -6.36551239341497 4.60358803456495 -6.39003718271852 4.71932877710586 -6.41456197202206 4.96817137356883 -6.4390867613256 4.8755787795361 -6.46361155062914 4.76273155555871 -6.48813633993268 4.73379636992348 -6.51266112923622 4.89004637235371 -6.53718591853976 4.75405099986814 -6.5617107078433 4.88715285379019 -6.58623549714684 4.6614584058354 -6.61076028645039 4.82060192682916 -6.63528507575393 4.88715285379019 -6.65980986505747 4.94212970649713 -6.68433465436101 4.71643525854234 -6.70885944366455 4.90162044660781 -6.73338423296809 4.85821766815496 -6.75790902227163 4.75694451843166 -6.78243381157517 4.94791674362417 -6.80695860087872 4.78298618550337 -6.83148339018226 4.86689822384553 -6.8560081794858 4.85821766815496 -6.88053296878934 4.5341435890404 -6.90505775809288 4.75115748130462 -6.92958254739642 4.63831025732722 -6.95410733669996 4.9392361879336 -6.9786321260035 4.73379636992348 -7.00315691530705 4.83506951964678 -7.02768170461059 4.76562507412223 -7.05220649391413 4.60648155312847 -7.07673128321767 4.86689822384553 -7.10125607252121 4.74826396274109 -7.12578086182475 4.84085655677382 -7.15030565112829 4.75115748130462 -7.17483044043183 5.02604174483929 -7.19935522973537 4.74826396274109 -7.22388001903892 4.75405099986814 -7.24840480834246 4.84953711246439 -7.272929597646 4.79166674119394 -7.29745438694954 4.64409729445427 -7.32197917625308 4.60937507169199 -7.34650396555662 4.99421304064054 -7.37102875486016 4.78587970406689 -7.3955535441637 4.83506951964678 -7.42007833346725 4.89872692804428 -7.44460312277079 4.95659729931474 -7.46912791207433 4.79456025975746 -7.49365270137787 4.75115748130462 -7.51817749068141 4.90740748373485 -7.54270227998495 4.77141211124928 -7.56722706928849 4.80902785257507 -7.59175185859203 4.82349544539269 -7.61627664789557 4.82060192682916 -7.64080143719912 4.90740748373485 -7.66532622650266 4.75405099986814 -7.6898510158062 4.90740748373485 -7.71437580510974 4.78298618550337 -7.73890059441328 5.01736118914872 -7.76342538371682 4.80613433401155 -7.78795017302036 4.83506951964678 -7.8124749623239 4.85243063102792 -7.83699975162745 4.69039359147063 -7.86152454093099 4.73958340705052 -7.88604933023453 4.71064822141529 -7.91057411953807 4.89293989091724 -7.93509890884161 4.97106489213236 -7.95962369814515 4.97106489213236 -7.98414848744869 4.65277785014484 -8.00867327675223 4.61226859025552 -8.03319806605577 4.78009266693984 -8.05772285535932 4.85821766815496 -8.08224764466286 4.89004637235371 -8.1067724339664 4.74247692561405 -8.13129722326994 4.77141211124928 -8.15582201257348 4.89004637235371 -8.18034680187702 4.71354173997882 -8.20487159118056 4.64988433158131 -8.2293963804841 4.92476859511599 -8.25392116978765 4.6990741471612 -8.27844595909119 5.04050933765691 -8.30297074839473 4.62962970163665 -8.32749553769827 4.82928248251973 -8.35202032700181 4.96817137356883 -8.37654511630535 4.83217600108326 -8.40106990560889 4.76562507412223 -8.42559469491243 4.90451396517133 -8.45011948421597 4.93634266937008 -8.47464427351952 5.12442137599907 -8.49916906282306 4.99421304064054 -8.5236938521266 4.97974544782292 -8.54821864143014 5.17939822870601 -8.57274343073368 5.00289359633111 -8.59726822003722 4.99710655920406 -8.62179300934076 5.0896991532368 -8.6463177986443 5.11284730174498 -8.67084258794785 5.3298611940092 -8.69536737725139 5.20254637721419 -8.71989216655493 5.18229174726953 -8.74441695585847 5.20833341434123 -8.76894174516201 5.26041674848465 -8.79346653446555 5.1909723029601 -8.81799132376909 5.57581027190864 -8.84251611307263 5.52083341920171 -8.86704090237617 5.28935193411988 -8.89156569167972 5.08680563467327 -8.91609048098326 5.00289359633111 -8.9406152702868 5.3935186024067 -8.96514005959034 5.26041674848465 -8.98966484889388 5.37037045389852 -9.01418963819742 5.62210656892501 -9.03871442750096 5.41956026947841 -9.0632392168045 5.43981489942307 -9.08776400610805 5.61342601323444 -9.11228879541159 5.46585656649477 -9.13681358471513 5.54687508627342 -9.16133837401867 5.61921305036149 -9.18586316332221 5.62500008748853 -9.21038795262575 5.62500008748853 -9.23491274192929 5.5700232347816 -9.25943753123283 5.68865749588604 -9.28396232053638 5.92303249953139 -9.30848710983992 5.67708342163195 -9.33301189914346 5.51215286351114 -9.357536688447 5.69444453301308 -9.38206147775054 5.8738426839515 -9.40658626705408 5.76678249710116 -9.43111105635762 5.62789360605206 -9.45563584566116 5.86516212826094 -9.4801606349647 6.10243065046981 -9.50468542426825 5.90567138815026 -9.52921021357179 5.98379638936537 -9.55373500287533 5.78703712704582 -9.57825979217887 5.79861120129991 -9.60278458148241 6.08217602052515 -9.62730937078595 6.12268528041447 -9.65183416008949 6.04745379776288 -9.67635894939303 5.83043990549866 -9.70088373869658 5.9114584252773 -9.72540852800012 6.11979176185095 -9.74993331730366 6.19212972593902 -9.7744581066072 6.32233806129755 -9.79898289591074 5.89409731389616 -9.82350768521428 6.47280102660075 -9.84803247451782 6.55960658350643 -9.87255726382136 6.51331028649007 -9.8970820531249 6.59432880626871 -9.92160684242845 6.97048621952669 -9.94613163173199 7.07465288781351 -9.97065642103553 7.32928252140353 -9.99518121033907 7.58969919212059 -10.0197059996426 7.76041678736844 -10.0442307889462 7.9947917910138 -10.0687555782497 7.8819445670364 -10.0932803675532 7.89641215985402 -10.1178051568568 7.52314826515956 -10.1423299461603 7.1238427033934 -10.1668547354639 7.21354177886261 -10.1913795247674 6.86631955123986 -10.2159043140709 7.09780103632169 -10.2404291033745 6.97627325665373 -10.264953892678 6.86342603267634 -10.2894786819816 7.08912048063113 -10.3140034712851 7.09201399919465 -10.3385282605886 6.89525473687509 -10.3630530498922 7.06307881355942 -10.3875778391957 6.75347232726247 -10.4121026284993 6.883680662621 -10.4366274178028 6.92418992251032 -10.4611522071064 6.97048621952669 -10.4856769964099 6.75636584582599 -10.5102017857134 6.76215288295304 -10.534726575017 6.73900473444485 -10.5592513643205 6.49594917510893 -10.5837761536241 6.60879639908632 -10.6083009429276 6.55381954637939 -10.6328257322311 6.21238435588368 -10.6573505215347 6.09953713190629 -10.6818753108382 6.40625009963972 -10.7064001001418 6.35127324693278 -10.7309248894453 6.04745379776288 -10.7554496787488 6.30497694991642 -10.7799744680524 6.25578713433653 -10.8044992573559 6.17187509599436 -10.8290240466595 6.27025472715414 -10.853548835963 5.86516212826094 -10.8780736252666 5.92303249953139 -10.9025984145701 6.14004639179561 -10.9271232038736 6.12268528041447 -10.9516479931772 6.20370380019312 -10.9761727824807 6.23842602295539 -11.0006975717843 5.93460657378548 -11.0252223610878 5.96354175942071 -11.0497471503913 5.92592601809492 -11.0742719396949 6.03587972350879 -11.0987967289984 6.18634268881198 -11.123321518302 5.7725695342282 -11.1478463076055 5.98379638936537 -11.172371096909 5.7465278671565 -11.1968958862126 6.07928250196163 -11.2214206755161 6.00983805643708 -11.2459454648197 6.27604176428119 -11.2704702541232 6.08217602052515 -11.2949950434268 5.76678249710116 -11.3195198327303 5.8854167582056 -11.3440446220338 5.94039361091253 -11.3685694113374 5.91724546240435 -11.3930942006409 6.10821768759686 -11.4176189899445 5.75231490428354 -11.442143779248 5.68576397732251 -11.4666685685515 6.0879630576522 -11.4911933578551 5.88252323964207 -11.5157181471586 5.89120379533264 -11.5402429364622 5.76388897853763 -11.5647677257657 6.08506953908868 -11.5892925150692 5.95775472229367 -11.6138173043728 6.33101861698812 -11.6383420936763 6.20949083732016 -11.6628668829799 5.95486120373014 -11.6873916722834 6.1892362073755 -11.711916461587 5.82465286837162 -11.7364412508905 6.16898157743084 -11.760966040194 6.2905093570988 -11.7854908294976 5.96064824085719 -11.8100156188011 6.44965287809256 -11.8345404081047 6.25578713433653 -11.8590651974082 6.34548620980574 -11.8835899867117 6.21817139301073 -11.9081147760153 6.24421306008244 -11.9326395653188 6.22395843013777 -11.9571643546224 6.4293982481479 -11.9816891439259 6.3281250984246 -12.0062139332294 6.57407417632405 -12.030738722533 6.72743066019076 -12.0552635118365 6.29629639422585 -12.0797883011401 6.64641214041212 -12.1043130904436 6.49305565654541 -12.1288378797472 6.97916677521725 -12.1533626690507 6.66666677035678 -12.1778874583542 6.9212964039468 -12.2024122476578 6.97627325665373 -12.2269370369613 7.05439825786885 -12.2514618262649 6.89814825543861 -12.2759866155684 7.18460659322738 -12.3005114048719 7.21932881598966 -12.3250361941755 7.45949085676206 -12.349560983479 6.97916677521725 -12.3740857727826 7.70833345322503 -12.3986105620861 7.47395844957967 -12.4231353513896 7.46817141245263 -12.4476601406932 7.72280104604264 -12.4721849299967 7.65335660051809 -12.4967097193003 8.01504642095846 -12.5212345086038 8.30150475874722 -12.5457592979074 8.17129642338869 -12.5702840872109 8.54456031808315 -12.5948088765144 8.82233810018135 -12.619333665818 8.57928254084542 -12.6438584551215 9.1319445864783 -12.6683832444251 8.94097236128579 -12.6929080337286 9.36631959012365 -12.7174328230321 9.36631959012365 -12.7419576123357 9.80902793034266 -12.7664824016392 9.90162052437539 -12.7910071909428 9.86111126448607 -12.8155319802463 10.3761575687931 -12.8400567695498 10.7667825748687 -12.8645815588534 10.9809029485694 -12.8891063481569 11.5451390684564 -12.9136311374605 11.8026622206099 -12.938155926764 12.5896992698882 -12.9626807160676 12.8848381633675 -12.9872055053711 13.1857640939739 -13.0117302946746 13.6805557683363 -13.0362550839782 14.1203705899918 -13.0607798732817 14.7598381925304 -13.0853046625853 15.6278937615872 -13.1098294518888 16.3917826623573 -13.1343542411923 16.7476854456706 -13.1588790304959 17.994791946549 -13.1834038197994 18.8657410341694 -13.207928609103 20.0491901266502 -13.2324533984065 21.3599540359261 -13.25697818771 22.5144679427717 -13.2815029770136 23.8888892604451 -13.3060277663171 26.0300929974521 -13.3305525556207 26.8142365281668 -13.3550773449242 29.9855328737879 -13.3796021342278 30.9114588141152 -13.4041269235313 33.2291671834971 -13.4286517128348 35.8998848176287 -13.4531765021384 38.4722228206006 -13.4777012914419 41.8518525027953 -13.5022260807455 43.642940493616 -13.526750870049 46.9820609159215 -13.5512756593525 49.9594915177865 -13.5758004486561 53.0787045292642 -13.6003252379596 56.2297462449407 -13.6248500272632 59.806135189455 -13.6493748165667 63.2060195015944 -13.6738996058702 65.616320465009 -13.6984243951738 67.957176982899 -13.7229491844773 70.0897001642154 -13.7474739737809 71.935765007743 -13.7719987630844 72.8038205767999 -13.796523552388 73.3680566966869 -13.8210483416915 72.3755798293985 -13.845573130995 72.0833344544827 -13.8700979202986 70.66840387692 -13.8946227096021 67.0775473395881 -13.9191474989057 64.7222232288804 -13.9436722882092 61.0792833574051 -13.9681970775127 58.3246536849313 -13.9927218668163 54.0190980624092 -14.0172466561198 50.9809035707101 -14.0417714454234 47.4855331459744 -14.0662962347269 44.3460655045521 -14.0908210240304 41.0214126750643 -14.115345813334 38.2986117067892 -14.1398706026375 36.0185190787332 -14.1643953919411 33.6979171907878 -14.1889201812446 31.3310190058261 -14.2134449705482 29.3315976784317 -14.2379697598517 27.1701393114801 -14.2624945491552 25.7002318812105 -14.2870193384588 24.435764268951 -14.3115441277623 23.5358799956953 -14.3360689170659 21.9444447857577 -14.3605937063694 20.7407410633322 -14.3851184956729 19.704861417591 -14.4096432849765 18.7847225143907 -14.43416807428 17.491319716496 -14.4586928635836 16.793981742687 -14.4832176528871 16.4467595150642 -14.5077424421906 15.5758104274438 -14.5322672314942 14.7019678212599 -14.5567920207977 13.8570604007112 -14.5813168101013 13.8049770665678 -14.6058415994048 13.2291668724267 -14.6303663887084 12.6822918639209 -14.6548911780119 12.5347224171812 -14.6794159673154 12.1093751883434 -14.703940756619 11.3483798061368 -14.7284655459225 11.3339122133192 -14.7529903352261 11.1053242468009 -14.7775151245296 10.5758103496762 -14.8020399138331 10.425347384373 -14.8265647031367 9.90740756150244 -14.8510894924402 9.93923626570119 -14.8756142817438 9.69618070636527 -14.9001390710473 9.61805570515015 -14.9246638603508 9.57754644526083 -14.9491886496544 9.3721066272507 -14.9737134389579 9.42418996139411 -14.9982382282615 9.18402792062171 -15.022763017565 9.20717606912989 -15.0472878068686 9.44155107277525 -15.0718125961721 9.07696773377136 -15.0963373854756 9.49074088835514 -15.1208621747792 9.4097223685765 -15.1453869640827 9.11458347509716 -15.1699117533863 9.19849551343932 -15.1944365426898 9.72222237343697 -15.2189613319933 9.55150477818912 -15.2434861212969 9.49074088835514 -15.2680109106004 9.788773300398 -15.292535699904 9.46759273984696 -15.3170604892075 10.1331020094572 -15.341585278511 9.94502330282823 -15.3661100678146 9.9276621914471 -15.3906348571181 10.6192131281291 -15.4151596464217 10.4832177556435 -15.4396844357252 10.923032577299 -15.4642092250288 11.2962964719934 -15.4887340143323 11.0995372096739 -15.5132588036358 11.9994214829295 -15.5377835929394 12.0515048170729 -15.5623083822429 12.6851853824844 -15.5868331715465 13.0497687214883 -15.61135796085 12.9774307574002 -15.6358827501535 13.3969909491111 -15.6604075394571 14.2013891097704 -15.6849323287606 14.6643520799341 -15.7094571180642 14.65277800568 -15.7339819073677 15.471643759157 -15.7585066966712 15.8709493209232 -15.7830314859748 15.787037282581 -15.8075562752783 16.0503474718616 -15.8320810645819 16.2789354383799 -15.8566058538854 16.4496530336277 -15.881130643189 16.8200234097587 -15.9056554324925 16.7679400756153 -15.930180221796 16.4293984036831 -15.9547050110996 16.7447919271071 -15.9792298004031 16.5653937761686 -16.0037545897067 16.2528937713082 -16.0282793790102 15.5700233903168 -16.0528041683137 15.5873845016979 -16.0773289576173 14.9363428249053 -16.1018537469208 14.6643520799341 -16.1263785362244 14.1608798498811 -16.1509033255279 13.6921298425904 -16.1754281148314 13.1655094640292 -16.199952904135 12.5231483429271 -16.2244776934385 11.7621529607206 -16.2490024827421 11.1255788767456 -16.2735272720456 10.4398149771907 -16.2980520613492 10.0202547854798 -16.3225768506527 9.38657422006832 -16.3471016399562 9.01331032537386 -16.3716264292598 8.44328716835984 -16.3961512185633 7.84143530714708 -16.4206760078669 7.94849549399743 -16.4452007971704 7.65914363764514 -16.4697255864739 6.9212964039468 -16.4942503757775 6.59722232483223 -16.518775165081 6.92708344107384 -16.5432999543846 6.60879639908632 -16.5678247436881 6.44097232240199 -16.5923495329916 5.85069453544332 -16.6168743222952 5.5700232347816 -16.6413991115987 5.56134267909103 -16.6659239009023 5.5960649018533 -16.6904486902058 5.27777785986578 -16.7149734795094 5.23437508141294 -16.7394982688129 5.35879637964443 -16.7640230581164 5.37905100958909 -16.78854784742 4.86689822384553 -16.8130726367235 5.02604174483929 -16.8375974260271 4.79456025975746 -16.8621222153306 4.81481488970212 -16.8866470046341 4.61805562738256 -16.9111717939377 4.90740748373485 -16.9356965832412 4.75115748130462 -16.9602213725448 4.35474543810198 -16.9847461618483 4.43865747644414 -17.0092709511518 4.69328711003416 -17.0337957404554 4.31423617821266 -17.0583205297589 4.37500006804664 -17.0828453190625 4.3200232153397 -17.107370108366 4.43576395788062 -17.1318948976696 4.16956025003651 -17.1564196869731 4.14641210152833 -17.1809444762766 4.1811343242906 -17.2054692655802 3.98148154340752 -17.2299940548837 4.21296302848935 -17.2545188441873 4.22743062130697 -17.2790436334908 4.12037043445662 -17.3035684227943 3.978588024844 -17.3280932120979 4.36631951235607 -17.3526180014014 4.28530099257743 -17.377142790705 3.72395839125398 -17.4016675800085 3.97280098771695 -17.426192369312 4.16087969434594 -17.4507171586156 4.0162037661698 -17.4752419479191 3.88599543081127 -17.4997667372227 3.81365746672319 -17.5242915265262 3.94675932064525 -17.5488163158298 4.08564821169435 -17.5733411051333 3.93518524639116 -17.5978658944368 3.61689820440364 -17.6223906837404 3.96122691346286 -17.6469154730439 3.77604172539739 -17.6714402623475 3.75000005832569 -17.695965051651 3.89756950506536 -17.7204898409545 3.79629635534206 -17.7450146302581 3.75868061401626 -17.7695394195616 3.77314820683387 -17.7940642088652 3.81365746672319 -17.8185889981687 3.94386580208172 -17.8431137874722 3.71527783556341 -17.8676385767758 3.6255787600942 -17.8921633660793 3.62847227865773 -17.9166881553829 3.84548617092195 -17.9412129446864 3.78182876252444 -17.96573773399 3.75289357688921 -17.9902625232935 3.64004635291182 -18.014787312597 3.88888894937479 -18.0393121019006 3.63425931578477 -18.0638368912041 3.64004635291182 -18.0883616805077 3.72685190981751 -18.1128864698112 3.63425931578477 -18.1374112591147 3.90625006075593 -18.1619360484183 3.63136579722125 -18.1864608377218 3.78182876252444 -18.2109856270254 3.93518524639116 -18.2355104163289 3.70949079843637 -18.2600352056324 3.8396991337949 -18.284559994936 3.64004635291182 -18.3090847842395 3.76736116970683 -18.3336095735431 3.77604172539739 -18.3581343628466 3.98148154340752 -18.3826591521502 3.85416672661251 -18.4071839414537 3.76736116970683 -18.4317087307572 3.76157413257978 -18.4562335200608 3.75868061401626 -18.4807583093643 3.86863431943013 -18.5052830986679 3.87442135655717 -18.5298078879714 4.01041672904275 -18.5543326772749 3.91203709788297 -18.5788574665785 4.03645839611446 -18.603382255882 3.97569450628048 -18.6279070451856 4.10300932307548 -18.6524318344891 4.02199080329684 -18.6769566237926 3.88310191224774 -18.7014814130962 4.0162037661698 -18.7260062023997 4.07696765600378 -18.7505309917033 3.76736116970683 -18.7750557810068 3.99884265478866 -18.7995805703104 4.05960654462264 -18.8241053596139 3.94386580208172 -18.8486301489174 4.03356487755093 -18.873154938221 4.08275469313082 -18.8976797275245 4.17534728716356 -18.9222045168281 4.30844914108561 -18.9467293061316 4.25347228837868 -18.9712540954351 4.421296365063 -18.9957788847387 4.37210654948311 -19.0203036740422 4.33159728959379 -19.0448284633458 4.32581025246675 -19.0693532526493 4.28530099257743 -19.0938780419528 4.69039359147063 -19.1184028312564 4.41261580937244 -19.1429276205599 4.48784729202403 -19.1674524098635 4.64409729445427 -19.191977199167 4.79456025975746 -19.2165019884706 4.71354173997882 -19.2410267777741 4.46469914351585 -19.2655515670776 4.71354173997882 -19.2900763563812 4.86400470528201 -19.3146011456847 4.80902785257507 -19.3391259349883 4.9508102621877 -19.3636507242918 4.83217600108326 -19.3881755135953 4.73090285135995 -19.4127003028989 5.02604174483929 -19.4372250922024 5.16493063588839 -19.461749881506 5.02604174483929 -19.4862746708095 4.92476859511599 -19.510799460113 4.97395841069588 -19.5353242494166 4.96238433644179 -19.5598490387201 4.82638896395621 -19.5843738280237 5.03472230052986 -19.6088986173272 4.86979174240905 -19.6334234066308 4.90451396517133 -19.6579481959343 4.98553248494997 -19.6824729852378 5.10127322749089 -19.7069977745414 4.69328711003416 -19.7315225638449 4.90451396517133 -19.7560473531485 4.70486118428825 -19.780572142452 4.82349544539269 -19.8050969317555 4.89293989091724 -19.8296217210591 4.41261580937244 -19.8541465103626 4.71354173997882 -19.8786712996662 4.43576395788062 -19.9031960889697 4.63831025732722 -19.9277208782732 4.62673618307313 -19.9522456675768 4.67013896152597 -19.9767704568803 4.40972229080891 -20.0012952461839 4.57754636749324 -20.0258200354874 4.61805562738256 -20.050344824791 4.70486118428825 -20.0748696140945 4.45601858782528 -20.099394403398 4.84664359390087 -20.1239191927016 4.44444451357119 -20.1484439820051 4.69328711003416 -20.1729687713087 4.75115748130462 -20.1974935606122 4.77141211124928 -20.2220183499157 4.5717593303662 -20.2465431392193 4.84375007533735 -20.2710679285228 4.85821766815496 -20.2955927178264 4.86689822384553 -20.3201175071299 4.4965278477146 -20.3446422964334 4.6354167387637 -20.369167085737 4.90451396517133 -20.3936918750405 4.94212970649713 -20.4182166643441 4.85243063102792 -20.4427414536476 4.74826396274109 -20.4672662429512 4.5717593303662 -20.4917910322547 4.82349544539269 -20.5163158215582 4.73379636992348 -20.5408406108618 4.58622692318381 -20.5653654001653 4.97106489213236 -20.5898901894689 4.70196766572473 -20.6144149787724 4.73090285135995 -20.6389397680759 4.84375007533735 -20.6634645573795 4.71643525854234 -20.687989346683 4.85243063102792 -20.7125141359866 4.76562507412223 -20.7370389252901 4.6990741471612 -20.7615637145936 4.89583340948076 -20.7860885038972 4.91030100229838 -20.8106132932007 4.77141211124928 -20.8351380825043 4.86689822384553 -20.8596628718078 5.1157408203085 -20.8841876611114 5.00000007776759 -20.9087124504149 5.19386582152362 -20.9332372397184 5.00289359633111 -20.957762029022 5.17650471014248 -20.9822868183255 5.28935193411988 -21.0068116076291 5.10127322749089 -21.0313363969326 5.3935186024067 -21.0558611862361 5.5324074934558 -21.0803859755397 5.45428249224068 -21.1049107648432 5.4311343437325 -21.1294355541468 5.45717601080421 -21.1539603434503 5.49189823356648 -21.1784851327538 5.63078712461558 -21.2030099220574 5.61921305036149 -21.2275347113609 5.65393527312376 -21.2520595006645 5.93171305522196 -21.276584289968 5.96932879654776 -21.3011090792716 6.03298620494526 -21.3256338685751 6.09375009477924 -21.3501586578786 6.04745379776288 -21.3746834471822 6.18344917024846 -21.3992082364857 6.19791676306607 -21.4237330257893 6.51041676792654 -21.4482578150928 6.35416676549631 -21.4727826043963 6.41203713676676 -21.4973073936999 6.70428251168258 -21.5218321830034 6.96180566383612 -21.546356972307 7.04282418361476 -21.5708817616105 7.27141215013307 -21.595406550914 7.29166678007773 -21.6199313402176 7.34953715134819 -21.6444561295211 7.5405093765407 -21.6689809188247 7.71122697178855 -21.6935057081282 7.90219919698106 -21.7180304974318 8.17418994195222 -21.7425552867353 8.50405105819383 -21.7670800760388 8.94675939841283 -21.7916048653424 8.85995384150714 -21.8161296546459 9.43865755421172 -21.8406544439495 9.96238441420937 -21.865179233253 10.109953860949 -21.8897040225565 10.0810186753138 -21.9142288118601 10.4050927544284 -21.9387536011636 11.056134431221 -21.9632783904672 11.304977027684 -21.9878031797707 11.8518520361898 -22.0123279690742 12.8096066807159 -22.0368527583778 13.1568289083387 -22.0613775476813 13.4924770617073 -22.0859023369849 14.3894678163994 -22.1104271262884 14.8668983793807 -22.134951915592 16.2123845114189 -22.1594767048955 17.3466437883198 -22.184001494199 17.6417826817992 -22.2085262835026 18.2523150987025 -22.2330510728061 19.9074077170376 -22.2575758621097 21.2586808862028 -22.2821006514132 22.2251160864195 -22.3066254407167 23.2118059165808 -22.3311502300203 25.2112272439751 -22.3556750193238 26.2094911483905 -22.3801998086274 27.2280096827506 -22.4047245979309 29.0364587849524 -22.4292493872344 30.8622689985353 -22.453774176538 31.5306717867091 -22.4782989658415 33.0005792169788 -22.5028237551451 34.3634264603981 -22.5273485444486 36.1111116727659 -22.5518733337522 36.6695607555258 -22.5763981230557 36.7505792753045 -22.6009229123592 37.9079867007136 -22.6254477016628 38.5416672661251 -22.6499724909663 38.1076394815967 -22.6744972802699 38.2783570768446 -22.6990220695734 38.275463558281 -22.7235468588769 37.4971070646934 -22.7480716481805 36.4004635291182 -22.772596437484 36.4525468632616 -22.7971212267876 35.2546301779631 -22.8216460160911 33.8425931189639 -22.8461708053947 32.4508106899094 -22.8706955946982 30.9114588141152 -22.8952203840017 29.6498847204192 -22.9197451733053 27.9571763607583 -22.9442699626088 26.7071763413164 -22.9687947519124 24.8292827935901 -22.9933195412159 24.1435188940351 -23.0178443305194 22.7054401679643 -23.042369119823 21.4380790371412 -23.0668939091265 20.0520836452138 -23.0914186984301 19.2650465959355 -23.1159434877336 17.7719910171577 -23.1404682770371 17.3987271224632 -23.1649930663407 16.4062502551749 -23.1895178556442 15.16203727286 -23.2140426449478 14.5167826331944 -23.2385674342513 14.0335650330861 -23.2630922235549 13.2812502065701 -23.2876170128584 12.5115742686731 -23.3121418021619 12.6562501968492 -23.3366665914655 11.7592594421571 -23.361191380769 11.7968751834829 -23.3857161700726 10.7465279449241 -23.4102409593761 10.541088126914 -23.4347657486796 10.353009420285 -23.4592905379832 10.0752316381868 -23.4838153272867 9.74826404050868 -23.5083401165903 9.43865755421172 -23.5328649058938 9.46180570271991 -23.5573896951973 8.92071773134113 -23.5819144845009 8.62557883786179 -23.6064392738044 8.48090290968564 -23.630964063108 8.57060198515485 -23.6554888524115 7.96006956825152 -23.6800136417151 7.99189827245027 -23.7045384310186 8.16840290482517 -23.7290632203221 7.47106493101615 -23.7535880096257 7.39872696692808 -23.7781127989292 7.58391215499354 -23.8026375882328 7.27719918726012 -23.8271623775363 7.25694455731545 -23.8516871668398 6.98206029378078 -23.8762119561434 6.88946769974805 -23.9007367454469 6.65798621466621 -23.9252615347505 7.11516214770283 -23.949786324054 6.65509269610269 -23.9743111133575 6.56250010206996 -23.9988359026611 6.1516204660497 -24.0233606919646 6.31944454273403 -24.0478854812682 6.52777787930768 -24.0724102705717 6.46122695234665 -24.0969350598753 6.20370380019312 -24.1214598491788 5.80729175699048 -24.1459846384823 6.35706028405983 -24.1705094277859 6.16608805886732 -24.1950342170894 5.87673620251503 -24.219559006393 6.17766213312141 -24.2440837956965 6.03009268638174 -24.268608585 6.09085657621572 -24.2931333743036 5.68287045875899 -24.3176581636071 5.78414360848229 -24.3421829529107 5.75810194141059 -24.3667077422142 5.6076389761074 -24.3912325315177 5.61342601323444 -24.4157573208213 5.44270841798659 -24.4402821101248 5.7465278671565 -24.4648068994284 5.5700232347816 -24.4893316887319 5.82175934980809 -24.5138564780355 5.94039361091253 -24.538381267339 5.66261582881433 -24.5629060566425 5.64814823599672 -24.5874308459461 5.67708342163195 -24.6119556352496 5.34722230539033 -24.6364804245532 5.40509267666079 -24.6610052138567 5.38483804671613 -24.6855300031602 5.46006952936773 -24.7100547924638 5.45717601080421 -24.7345795817673 5.62789360605206 -24.7591043710709 5.5700232347816 -24.7836291603744 5.89988435102321 -24.8081539496779 5.35011582395386 -24.8326787389815 5.31539360119158 -24.857203528285 5.74074083002945 -24.8817283175886 5.51215286351114 -24.9062531068921 5.44560193655011 -24.9307778961957 5.69444453301308 -24.9553026854992 5.61631953179796 -24.9798274748027 5.55266212340046 -25.0043522641063 5.49479175213 -25.0288770534098 5.93171305522196 -25.0534018427134 5.78703712704582 -25.0779266320169 5.39930563953375 -25.1024514213204 5.65972231025081 -25.126976210624 5.79282416417286 -25.1515009999275 5.84201397975275 -25.1760257892311 5.95196768516662 -25.2005505785346 5.55844916052751 -25.2250753678381 5.7725695342282 -25.2496001571417 5.85358805400684 -25.2741249464452 5.78414360848229 -25.2986497357488 6.07638898339811 -25.3231745250523 6.12847231754152 -25.3476993143559 6.14583342892266 -25.3722241036594 6.0503473163264 -25.3967488929629 6.56539362063348 -25.4212736822665 6.47280102660075 -25.44579847157 6.48437510085484 -25.4703232608736 6.55671306494291 -25.4948480501771 6.43229176671142 -25.5193728394806 6.60011584339575 -25.5438976287842 6.73321769731781 -25.5684224180877 6.95312510814555 -25.5929472073913 6.88657418118452 -25.6174719966948 7.34085659565762 -25.6419967859983 7.45370381963501 -25.6665215753019 7.48553252383376 -25.6910463646054 7.54918993223127 -25.715571153909 7.77777789874958 -25.7400959432125 8.17129642338869 -25.7646207325161 8.16550938626165 -25.7891455218196 8.39120383421643 -25.8136703111231 8.94675939841283 -25.8381951004267 9.10879643797012 -25.8627198897302 9.07986125233489 -25.8872446790338 9.35474551586956 -25.9117694683373 9.89293996868482 -25.9362942576408 10.4687501628259 -25.9608190469444 10.7291668335429 -25.9853438362479 11.0156251713317 -26.0098686255515 11.3512733247004 -26.034393414855 11.614583513981 -26.0589182041585 12.4479168602755 -26.0834429934621 12.6244214926504 -26.1079677827656 13.4317131718733 -26.1324925720692 14.0538196630308 -26.1570173613727 14.4791668918686 -26.1815421506763 15.1909724584953 -26.2060669399798 15.6510419100954 -26.2305917292833 16.7476854456706 -26.2551165185869 17.3813660110821 -26.2796413078904 17.7199076830143 -26.304166097194 18.504051213729 -26.3286908864975 19.3865743756035 -26.353215675801 20.2575234632239 -26.3777404651046 20.5526623567032 -26.4022652544081 21.342592924545 -26.4267900437117 22.0254633055364 -26.4513148330152 22.416088311612 -26.4758396223187 22.9137735045379 -26.5003644116223 23.5127318471872 -26.5248892009258 23.8946762975722 -26.5494139902294 24.4820605659673 -26.5739387795329 24.629630012707 -26.5984635688365 25.199653169721 -26.62298835814 25.5497689159073 -26.6475131474435 25.7667828081715 -26.6720379367471 25.2025466882845 -26.6965627260506 26.0532411459603 -26.7210875153542 25.6539355841941 -26.7456123046577 25.4369216919299 -26.7701370939612 24.8263892750266 -26.7946618832648 25.0231485373461 -26.8191866725683 23.9641207430967 -26.8437114618719 23.3420142519393 -26.8682362511754 22.8616901703945 -26.8927610404789 22.0949077510609 -26.9172858297825 20.5179401339409 -26.941810619086 19.9855327182527 -26.9663354083896 19.0104169623455 -26.9908601976931 18.625578993397 -27.0153849869967 17.9918984279854 -27.0399097763002 16.3483798839044 -27.0644345656037 16.163194695839 -27.0889593549073 15.2083335698764 -27.1134841442108 14.6672455984976 -27.1380089335144 13.9785881803792 -27.1625337228179 13.0642363143059 -27.1870585121214 12.7922455693348 -27.211583301425 12.0920140769622 -27.2361080907285 11.8836807403886 -27.2606328800321 11.5046298085671 -27.2851576693356 11.3368057318828 -27.3096824586391 11.0300927641493 -27.3342072479427 10.7089122035983 -27.3587320372462 10.5671297939857 -27.3832568265498 10.0896992310044 -27.4077816158533 10.4832177556435 -27.4323064051569 10.3356483089038 -27.4568311944604 9.94791682139176 -27.4813559837639 9.84085663454141 -27.5058807730675 9.83796311597789 -27.530405562371 9.86689830161312 -27.5549303516746 9.87557885730368 -27.5794551409781 9.69907422492879 -27.6039799302816 9.96817145133642 -27.6285047195852 9.59780107520549 -27.6530295088887 9.79456033752505 -27.6775542981923 9.49363440691866 -27.7020790874958 9.40393533144945 -27.7266038767993 9.77430570758038 -27.7511286661029 9.54282422249855 -27.7756534554064 9.83796311597789 -27.80017824471 9.7251158920005 -27.8247030340135 9.67881959498413 -27.8492278233171 9.40682885001297 -27.8737526126206 9.31712977454377 -27.8982774019241 9.21006958769342 -27.9228021912277 9.02777791819147 -27.9473269805312 9.09143532658898 -27.9718517698348 8.66319457918759 -27.9963765591383 8.59085661509951 -28.0209013484418 8.06712975510187 -28.0454261377454 8.41724550128814 -28.0699509270489 8.01215290239493 -28.0944757163525 7.68518530471684 -28.119000505656 7.73726863886026 -28.1435252949595 7.41319455974569 -28.1680500842631 7.39004641123751 -28.1925748735666 7.08333344350408 -28.2170996628702 6.82870380991406 -28.2416244521737 6.89236121831157 -28.2661492414773 6.55381954637939 -28.2906740307808 6.2905093570988 -28.3151988200843 6.43518528527495 -28.3397236093879 6.19212972593902 -28.3642483986914 6.03877324207231 -28.388773187995 5.88252323964207 -28.4132979772985 5.88831027676912 -28.437822766602 5.68576397732251 -28.4623475559056 5.69733805157661 -28.4868723452091 5.63946768030615 -28.5113971345127 5.4311343437325 -28.5359219238162 5.28067137842931 -28.5604467131197 5.1157408203085 -28.5849715024233 5.33564823113624 -28.6094962917268 5.18518526583305 -28.6340210810304 4.95949081787827 -28.6585458703339 4.85243063102792 -28.6830706596375 4.82060192682916 -28.707595448941 4.93634266937008 -28.7321202382445 4.86400470528201 -28.7566450275481 4.67881951721654 -28.7811698168516 4.82928248251973 -28.8056946061552 4.72800933279643 -28.8302193954587 4.48495377346051 -28.8547441847622 4.59490747887438 -28.8792689740658 4.70775470285177 -28.9037937633693 4.41840284649948 -28.9283185526729 4.48206025489698 -28.9528433419764 4.33738432672084 -28.9773681312799 4.52835655191335 -29.0018929205835 4.49074081058755 -29.026417709887 4.36921303091959 -29.0509424991906 4.21006950992583 -29.0754672884941 4.1811343242906 -29.0999920777977 4.37789358661016 -29.1245168671012 4.18692136141765 -29.1490416564047 4.05671302605912 -29.1735664457083 4.34606488241141 -29.1980912350118 4.27662043688686 -29.2226160243154 4.06539358174969 -29.2471408136189 3.96701395058991 -29.2716656029224 3.96990746915343 -29.296190392226 4.03645839611446 -29.3207151815295 4.21585654705288 -29.3452399708331 4.12905099014719 -29.3697647601366 4.0046296919157 -29.3942895494401 4.12615747158367 -29.4188143387437 4.10590284163901 -29.4433391280472 3.89467598650183 -29.4678639173508 3.79629635534206 -29.4923887066543 4.18692136141765 -29.5169134959579 4.05381950749559 -29.5414382852614 3.95543987633582 -29.5659630745649 3.88888894937479 -29.5904878638685 3.84837968948547 -29.615012653172 3.92650469070059 -29.6395374424756 3.82523154097728 -29.6640622317791 4.12905099014719 -29.6885870210826 3.96701395058991 -29.7131118103862 3.75578709545273 -29.7376365996897 3.72106487269046 -29.7621613889933 3.88310191224774 -29.7866861782968 3.70949079843637 -29.8112109676003 3.77025468827035 -29.8357357569039 3.59664357445897 -29.8602605462074 3.80497691103262 -29.884785335511 3.87442135655717 -29.9093101248145 3.64872690860239 -29.9338349141181 3.64004635291182 -29.9583597034216 3.79050931821501 -29.9828844927251 3.60821764871307 -30.0074092820287 3.88310191224774 -30.0319340713322 3.75000005832569 -30.0564588606358 3.79340283677853 -30.0809836499393 3.64583339003886 -30.1055084392428 3.81944450385024 -30.1300332285464 3.93518524639116 -30.1545580178499 3.69791672418228 -30.1790828071535 3.59664357445897 -30.203607596457 3.86284728230308 -30.2281323857605 3.76157413257978 -30.2526571750641 3.72685190981751 -30.2771819643676 3.62847227865773 -30.3017067536712 3.73553246550807 -30.3262315429747 3.58217598164136 -30.3507563322783 3.57638894451431 -30.3752811215818 3.4866898690451 -30.3998059108853 3.60532413014954 -30.4243307001889 3.58796301876841 -30.4488554894924 3.48090283191806 -30.473380278796 3.59375005589545 -30.4979050680995 3.52719912893442 -30.522429857403 3.52719912893442 -30.5469546467066 3.50405098042624 -30.5714794360101 3.58506950020488 -30.5960042253137 3.42013894208408 -30.6205290146172 3.51562505468033 -30.6450538039207 3.54745375887909 -30.6695785932243 3.3217593109243 -30.6941033825278 3.39699079357589 -30.7186281718314 3.82233802241376 -30.7431529611349 3.64872690860239 -30.7676777504385 3.54456024031556 -30.792202539742 3.53298616606147 -30.8167273290455 3.56770838882375 -30.8412521183491 3.49537042473567 -30.8657769076526 3.58506950020488 -30.8903016969562 3.54166672175204 -30.9148264862597 3.48090283191806 -30.9393512755632 3.50983801755329 -30.9638760648668 3.63136579722125 -30.9884008541703 3.42881949777465 -31.0129256434739 3.53587968462499 -31.0374504327774 3.68634264992819 -31.0619752220809 3.50115746186272 -31.0865000113845 3.74421302119864 -31.111024800688 3.64004635291182 -31.1355495899916 3.68344913136466 -31.1600743792951 3.55613431456965 -31.1845991685987 3.69791672418228 -31.2091239579022 3.81365746672319 -31.2336487472057 3.82812505954081 -31.2581735365093 3.71238431699989 -31.2826983258128 3.98437506197105 -31.3072231151164 3.80497691103262 -31.3317479044199 3.92361117213706 -31.3562726937234 4.01331024760627 -31.380797483027 4.14641210152833 -31.4053222723305 4.06539358174969 -31.4298470616341 4.08275469313082 -31.4543718509376 4.05671302605912 -31.4788966402411 4.09722228594844 -31.5034214295447 4.13483802727424 -31.5279462188482 4.42418988362653 -31.5524710081518 4.31712969677618 -31.5769957974553 4.15798617578242 -31.6015205867589 4.46759266207937 -31.6260453760624 4.61516210881904 -31.6505701653659 4.56597229323915 -31.6750949546695 4.59201396031086 -31.699619743973 4.60937507169199 -31.7241445332766 4.70486118428825 -31.7486693225801 4.81770840826564 -31.7731941118836 4.81481488970212 -31.7977189011872 5.0144676705852 -31.8222436904907 4.9392361879336 -31.8467684797943 5.13599545025316 -31.8712932690978 5.31828711975511 -31.8958180584013 5.19675934008714 -31.9203428477049 5.29513897124692 -31.9448676370084 5.33275471257272 -31.969392426312 5.57291675334512 -31.9939172156155 5.47164360362182 -32.0184420049191 5.46296304793125 -32.0429667942226 5.64814823599672 -32.0674915835261 5.78993064560934 -32.0920163728297 5.90856490671378 -32.1165411621332 5.83333342406218 -32.1410659514368 5.92592601809492 -32.1655907407403 6.22395843013777 -32.1901155300438 5.96932879654776 -32.2146403193474 6.19791676306607 -32.2391651086509 6.44386584096552 -32.2636898979545 6.31365750560699 -32.288214687258 6.41493065533029 -32.3127394765615 6.57118065776052 -32.3372642658651 6.59143528770518 -32.3617890551686 6.71585658593667 -32.3863138444722 6.82870380991406 -32.4108386337757 6.87789362549395 -32.4353634230793 6.46412047091018 -32.4598882123828 6.49305565654541 -32.4844130016863 6.65509269610269 -32.5089377909899 6.41782417389381 -32.5334625802934 6.51909732361711 -32.557987369597 6.23842602295539 -32.5825121589005 6.19502324450255 -32.607036948204 6.125578798978 -32.6315617375076 5.86805564682446 -32.6560865268111 5.71180564439422 -32.6806113161147 5.85648157257037 -32.7051361054182 5.58738434616274 -32.7296608947217 5.44849545511364 -32.7541856840253 5.39062508384318 -32.7787104733288 5.02604174483929 -32.8032352626324 5.01157415202168 -32.8277600519359 4.85243063102792 -32.8522848412395 4.85821766815496 -32.876809630543 4.8755787795361 -32.9013344198465 4.51678247765926 -32.9258592091501 4.63831025732722 -32.9503839984536 4.421296365063 -32.9749087877572 4.19270839854469 -32.9994335770607 4.36053247522902 -33.0239583663642 4.33738432672084 -33.0484831556678 4.33159728959379 -33.0730079449713 4.21006950992583 -33.0975327342749 4.06539358174969 -33.1220575235784 4.06828710031321 -33.1465823128819 4.06539358174969 -33.1711071021855 4.02488432186037 -33.195631891489 4.20138895423526 -33.2201566807926 4.05381950749559 -33.2446814700961 3.9033565421924 -33.2692062593997 4.07696765600378 -33.2937310487032 3.90625006075593 -33.3182558380067 3.84548617092195 -33.3427806273103 4.00173617335218 -33.3673054166138 3.78761579965149 -33.3918302059174 3.85995376373956 -33.4163549952209 3.74710653976217 -33.4408797845244 3.88310191224774 -33.465404573828 3.75868061401626 -33.4899293631315 3.81944450385024 -33.5144541524351 3.9409722835182 -33.5389789417386 3.96990746915343 -33.5635037310421 3.93229172782763 -33.5880285203457 3.77893524396092 -33.6125533096492 3.71817135412694 -33.6370780989528 3.74710653976217 -33.6616028882563 3.96701395058991 -33.6861276775599 3.86574080086661 -33.7106524668634 3.84837968948547 -33.7351772561669 3.978588024844 -33.7597020454705 3.76736116970683 -33.784226834774 3.72106487269046 -33.8087516240776 4.02777784042389 -33.8332764133811 3.91493061644649 -33.8578012026846 3.99884265478866 -33.8823259919882 3.95543987633582 -33.9068507812917 3.92071765357354 -33.9313755705953 4.05960654462264 -33.9559003598988 3.99594913622514 -33.9804251492023 4.11168987876605 -34.0049499385059 4.06828710031321 -34.0294747278094 4.10590284163901 -34.053999517113 4.23900469556106 -34.0785243064165 4.05381950749559 -34.1030490957201 4.35185191953845 -34.1275738850236 3.98437506197105 -34.1520986743271 4.30266210395857 -34.1766234636307 4.19270839854469 -34.2011482529342 4.26793988119629 -34.2256730422378 4.30555562252209 -34.2501978315413 4.4965278477146 -34.2747226208448 4.51099544053221 -34.2992474101484 4.57754636749324 -34.3237721994519 4.74826396274109 -34.3482969887555 4.71932877710586 -34.372821778059 4.70486118428825 -34.3973465673625 4.71643525854234 -34.4218713566661 5.02893526340281 -34.4463961459696 4.77141211124928 -34.4709209352732 5.07523156041918 -34.4954457245767 5.26909730417522 -34.5199705138803 5.2285880442859 -34.5444953031838 5.10127322749089 -34.5690200924873 5.41956026947841 -34.5935448817909 5.51504638207466 -34.6180696710944 5.61631953179796 -34.642594460398 5.90567138815026 -34.6671192497015 5.76678249710116 -34.691644039005 6.00983805643708 -34.7161688283086 6.21817139301073 -34.7406936176121 6.49884269367245 -34.7652184069157 6.90104177400214 -34.7897431962192 6.7824075128977 -34.8142679855227 7.10358807344874 -34.8387927748263 7.17592603753681 -34.8633175641298 7.49131956096081 -34.8878423534334 7.87905104847288 -34.9123671427369 8.10763901499119 -34.9368919320405 8.08449086648301 -34.961416721344 8.62557883786179 -34.9859415106475 8.42592605697871 -35.0104662999511 9.11747699366068 -35.0349910892546 9.22743069907455 -35.0595158785582 9.43865755421172 -35.0840406678617 9.48784736979162 -35.1085654571652 9.91608811719301 -35.1330902464688 10.1562501579654 -35.1576150357723 10.2517362705617 -35.1821398250759 10.2285881220535 -35.2066646143794 10.4687501628259 -35.2311894036829 10.3414353460309 -35.2557141929865 10.2633103448158 -35.28023898229 10.48032423708 -35.3047637715936 10.8275464647027 -35.3292885608971 10.3819446059202 -35.3538133502007 10.22569460349 -35.3783381395042 10.3211807160862 -35.4028629288077 10.2719909005063 -35.4273877181113 10.3877316430472 -35.4519125074148 10.2285881220535 -35.4764372967184 10.0405094154245 -35.5009620860219 10.22569460349 -35.5254868753254 10.0781251567503 -35.550011664629 9.60358811233253 -35.5745364539325 9.60069459376901 -35.5990612432361 9.60069459376901 -35.6235860325396 9.36342607156013 -35.6481108218431 9.24768532901921 -35.6726356111467 9.40393533144945 -35.6971604004502 9.01620384393738 -35.7216851897538 9.02488439962795 -35.7462099790573 8.76157421034737 -35.7707347683609 8.87731495288828 -35.7952595576644 8.62847235642531 -35.8197843469679 8.75868069178384 -35.8443091362715 8.38252327852586 -35.868833925575 8.69791680194986 -35.8933587148786 8.55902791090076 -35.9178835041821 8.37673624139882 -35.9424082934856 8.30150475874722 -35.9669330827892 8.399884389907 -35.9914578720927 8.2349538317862 -36.0159826613963 8.36805568570825 -36.0405074506998 8.44039364979632 -36.0650322400033 8.24942142460381 -36.0895570293069 8.22627327609563 -36.1140818186104 8.35648161145416 -36.138606607914 8.04398160659368 -36.1631313972175 7.83275475145651 -36.1876561865211 7.90509271554459 -36.2121809758246 8.27256957311199 -36.2367057651281 7.93692141974334 -36.2612305544317 7.7054399346615 -36.2857553437352 7.88483808559992 -36.3102801330388 7.74884271311435 -36.3348049223423 7.56076400648536 -36.3593297116458 7.51157419090547 -36.3838545009494 7.46238437532558 -36.4083792902529 7.4392362268174 -36.4329040795565 7.55208345079479 -36.45742886886 7.24537048306136 -36.4819536581635 6.81712973565997 -36.5064784474671 6.7824075128977 -36.5310032367706 6.84317140273168 -36.5555280260742 6.61458343621337 -36.5800528153777 6.29340287566233 -36.6045776046813 6.34259269124221 -36.6291023939848 6.41493065533029 -36.6536271832883 6.125578798978 -36.6781519725919 5.81886583124457 -36.7026767618954 5.76388897853763 -36.727201551199 5.77835657135525 -36.7517263405025 5.34143526826329 -36.776251129806 5.2922454526834 -36.8007759191096 5.27777785986578 -36.8253007084131 5.07233804185566 -36.8498254977167 4.97395841069588 -36.8743502870202 5.09548619036384 -36.8988750763237 5.1533565616343 -36.9233998656273 4.84664359390087 -36.9479246549308 4.47048618064289 -36.9724494442344 4.67592599865302 -36.9969742335379 4.66435192439893 -37.0214990228415 4.50520840340517 -37.046023812145 4.52546303334983 -37.0705486014485 4.45023155069823 -37.0950733907521 4.57754636749324 -37.1195981800556 4.23032413987049 -37.1441229693592 4.21296302848935 -37.1686477586627 4.18402784285412 -37.1931725479662 4.37210654948311 -37.2176973372698 4.19849543567174 -37.2422221265733 4.2563658069422 -37.2667469158769 4.19560191710822 -37.2912717051804 4.03645839611446 -37.3157964944839 4.02199080329684 -37.3403212837875 4.13194450871071 -37.364846073091 3.93518524639116 -37.3893708623946 4.06828710031321 -37.4138956516981 3.89467598650183 -37.4384204410017 4.05092598893207 -37.4629452303052 3.7644676511433 -37.4874700196087 3.94965283920877 -37.5119948089123 3.90914357931945 -37.5365195982158 3.70370376130932 -37.5610443875194 3.96122691346286 -37.5855691768229 4.08275469313082 -37.6100939661264 3.94675932064525 -37.63461875543 3.72685190981751 -37.6591435447335 3.76736116970683 -37.6836683340371 3.77025468827035 -37.7081931233406 4.01331024760627 -37.7327179126441 3.72395839125398 -37.7572427019477 4.02488432186037 -37.7817674912512 3.93229172782763 -37.8062922805548 3.64583339003886 -37.8308170698583 3.61689820440364 -37.8553418591619 3.74421302119864 -37.8798666484654 3.62268524153068 -37.9043914377689 3.91493061644649 -37.9289162270725 3.78761579965149 -37.953441016376 3.83680561523138 -37.9779658056796 3.71527783556341 -38.0024905949831 3.66898153854705 -38.0270153842866 3.72395839125398 -38.0515401735902 3.7644676511433 -38.0760649628937 3.79629635534206 -38.1005897521973 3.59664357445897 -38.1251145415008 3.69502320561875 -38.1496393308043 3.79629635534206 -38.1741641201079 3.63136579722125 -38.1986889094114 3.63136579722125 -38.223213698715 3.73553246550807 -38.2477384880185 3.68923616849171 -38.2722632773221 3.87152783799365 -38.2967880666256 3.72395839125398 -38.3213128559291 3.77604172539739 -38.3458376452327 3.50115746186272 -38.3703624345362 3.64004635291182 -38.3948872238398 3.82523154097728 -38.4194120131433 3.80497691103262 -38.4439368024468 3.89756950506536 -38.4684615917504 3.8396991337949 -38.4929863810539 3.92071765357354 -38.5175111703575 3.87152783799365 -38.542035959661 3.85127320804899 -38.5665607489645 3.8396991337949 -38.5910855382681 3.79629635534206 -38.6156103275716 4.03067135898741 -38.6401351168752 3.99594913622514 -38.6646599061787 4.10011580451196 -38.6891846954823 3.92650469070059 -38.7137094847858 4.05381950749559 -38.7382342740893 4.12326395302015 -38.7627590633929 4.31423617821266 -38.7872838526964 4.1435185829648 -38.811808642 4.28530099257743 -38.8363334313035 4.08564821169435 -38.860858220607 4.29687506683152 -38.8853830099106 4.20138895423526 -38.9099077992141 4.2563658069422 -38.9344325885177 4.40972229080891 -38.9589573778212 4.51099544053221 -38.9834821671247 4.52835655191335 -39.0080069564283 4.70486118428825 -39.0325317457318 4.49363432915108 -39.0570565350354 4.70486118428825 -39.0815813243389 4.70775470285177 -39.1061061136425 4.6730324800895 -39.130630902946 5.04629637478395 -39.1551556922495 5.05787044903804 -39.1796804815531 5.18518526583305 -39.2042052708566 5.30092600837397 -39.2287300601602 5.39641212097022 -39.2532548494637 5.33854174969977 -39.2777796387672 5.52083341920171 -39.3023044280708 6.00983805643708 -39.3268292173743 5.92013898096787 -39.3513540066779 5.95486120373014 -39.3758787959814 6.1516204660497 -39.4004035852849 6.21817139301073 -39.4249283745885 6.47280102660075 -39.449453163892 6.82291677278702 -39.4739779531956 6.63194454759451 -39.4985027424991 6.92997695963737 -39.5230275318027 6.95023158958202 -39.5475523211062 6.99652788659839 -39.5720771104097 7.32928252140353 -39.5966018997133 7.70833345322503 -39.6211266890168 7.46238437532558 -39.6456514783204 7.58101863643002 -39.6701762676239 7.91377327123515 -39.6947010569274 7.82118067720242 -39.719225846231 7.86747697421879 -39.7437506355345 8.14814827488051 -39.7682754248381 8.12500012637233 -39.7928002141416 8.28993068449313 -39.8173250034451 8.06423623653835 -39.8418497927487 8.22048623896858 -39.8663745820522 8.23206031322267 -39.8908993713558 8.2986112401837 -39.9154241606593 8.20312512758744 -39.9399489499629 8.29571772162018 -39.9644737392664 8.11631957068176 -39.9889985285699 8.04108808803016 -40.0135233178735 8.00636586526789 -40.038048107177 7.73437512029673 -40.0625728964806 7.83564827002003 -40.0870976857841 7.26851863156955 -40.1116224750876 7.35821770703876 -40.1361472643912 6.99074084947135 -40.1606720536947 7.21064826029909 -40.1851968429983 6.98206029378078 -40.2097216323018 6.55092602781586 -40.2342464216053 6.51909732361711 -40.2587712109089 6.45543991521961 -40.2832960002124 6.07638898339811 -40.307820789516 6.13136583610504 -40.3323455788195 6.03587972350879 -40.3568703681231 5.54398156770989 -40.3813951574266 5.46296304793125 -40.4059199467301 5.5063658263841 -40.4304447360337 5.56134267909103 -40.4549695253372 5.24884267423056 -40.4794943146408 5.08101859754623 -40.5040191039443 4.97395841069588 -40.5285438932478 4.99421304064054 -40.5530686825514 4.97395841069588 -40.5775934718549 4.82638896395621 -40.6021182611585 4.89583340948076 -40.626643050462 4.65567136870836 -40.6511678397655 4.74826396274109 -40.6756926290691 4.63831025732722 -40.7002174183726 4.51388895909574 -40.7247422076762 4.77719914837632 -40.7492669969797 4.62384266450961 -40.7737917862833 4.54861118185801 -40.7983165755868 4.52546303334983 -40.8228413648903 4.293981548268 -40.8473661541939 4.35185191953845 -40.8718909434974 4.1550926572189 -40.896415732801 4.27662043688686 -40.9209405221045 4.37210654948311 -40.945465311408 4.29976858539504 -40.9699901007116 4.36342599379255 -40.9945148900151 4.24189821412458 -41.0190396793187 4.05960654462264 -41.0435644686222 4.49074081058755 -41.0680892579257 4.37789358661016 -41.0926140472293 4.28819451114095 -41.1171388365328 4.36342599379255 -41.1416636258364 4.27951395545038 -41.1661884151399 4.30555562252209 -41.1907132044435 4.293981548268 -41.215237993747 4.47048618064289 -41.2397627830505 4.38368062373721 -41.2642875723541 4.42418988362653 -41.2888123616576 4.30555562252209 -41.3133371509612 4.421296365063 -41.3378619402647 4.35474543810198 -41.3623867295682 4.67592599865302 -41.3869115188718 4.57465284892972 -41.4114363081753 4.50231488484165 -41.4359610974789 4.46469914351585 -41.4604858867824 4.5601852561121 -41.4850106760859 4.69618062859768 -41.5095354653895 4.82928248251973 -41.534060254693 4.85821766815496 -41.5585850439966 4.87847229809962 -41.5831098333001 4.78877322263041 -41.6076346226037 4.91608803942542 -41.6321594119072 5.01736118914872 -41.6566842012107 5.24016211853999 -41.6812089905143 5.23726859997646 -41.7057337798178 5.17071767301544 -41.7302585691214 5.30092600837397 -41.7547833584249 5.06076396760157 -41.7793081477284 5.21122693290476 -41.803832937032 5.5324074934558 -41.8283577263355 5.41087971378784 -41.8528825156391 5.50347230782057 -41.8774073049426 5.60185193898035 -41.9019320942461 5.56134267909103 -41.9264568835497 5.5324074934558 -41.9509816728532 5.69733805157661 -41.9755064621568 5.74363434859297 -42.0000312514603 5.75520842284706 -42.0245560407639 5.58159730903569 -42.0490808300674 5.92881953665844 -42.0736056193709 6.04456027919935 -42.0981304086745 5.84490749831627 -42.122655197978 5.82465286837162 -42.1471799872816 5.99537046361947 -42.1717047765851 6.31365750560699 -42.1962295658886 6.28472231997176 -42.2207543551922 6.34837972836926 -42.2452791444957 6.30208343135289 -42.2698039337993 6.31365750560699 -42.2943287231028 6.60879639908632 -42.3188535124063 6.31944454273403 -42.3433783017099 6.42071769245733 -42.3679030910134 6.61747695477689 -42.392427880317 6.42071769245733 -42.4169526696205 6.20081028162959 -42.4414774589241 6.59722232483223 -42.4660022482276 6.58564825057814 -42.4905270375311 6.25578713433653 -42.5150518268347 6.34259269124221 -42.5395766161382 6.34837972836926 -42.5641014054418 6.38888898825858 -42.5886261947453 6.16319454030379 -42.6131509840488 6.33391213555165 -42.6376757733524 6.25000009720948 -42.6622005626559 5.95196768516662 -42.6867253519595 5.75520842284706 -42.711250141263 5.90277786958673 -42.7357749305665 5.70023157014013 -42.7602997198701 5.67418990306842 -42.7848245091736 5.28935193411988 -42.8093492984772 5.24016211853999 -42.8338740877807 5.34432878682681 -42.8583988770843 4.93055563224304 -42.8829236663878 5.02604174483929 -42.9074484556913 4.89583340948076 -42.9319732449949 4.90740748373485 -42.9564980342984 4.52835655191335 -42.981022823602 4.70196766572473 -43.0055476129055 4.48784729202403 -43.030072402209 4.47916673633346 -43.0545971915126 4.24479173268811 -43.0791219808161 4.1435185829648 -43.1036467701197 4.27372691832334 -43.1281715594232 4.01909728473332 -43.1526963487267 4.01909728473332 -43.1772211380303 3.92071765357354 -43.2017459273338 3.74131950263512 -43.2262707166374 3.89756950506536 -43.2507955059409 3.85127320804899 -43.2753202952445 3.83391209666785 -43.299845084548 3.65162042716591 -43.3243698738515 3.49537042473567 -43.3488946631551 3.76736116970683 -43.3734194524586 3.47800931335454 -43.3979442417622 3.59085653733193 -43.4224690310657 3.39699079357589 -43.4469938203692 3.45775468340987 -43.4715186096728 3.59375005589545 -43.4960433989763 3.4606482019734 -43.5205681882799 3.46354172053692 -43.5450929775834 3.32465282948782 -43.569617766887 3.46354172053692 -43.5941425561905 3.31018523667021 -43.618667345494 3.14814819711292 -43.6431921347976 3.35358801512305 -43.6677169241011 3.39409727501237 -43.6922417134047 3.30729171810668 -43.7167665027082 3.23495375401861 -43.7412912920117 3.27546301390793 -43.7658160813153 3.36805560794067 -43.7903408706188 3.2465278282727 -43.8148656599224 3.11631949291417 -43.8393904492259 3.18865745700224 -43.8639152385294 3.10474541866008 -43.888440027833 3.15682875280349 -43.9129648171365 3.04687504738962 -43.9374896064401 3.16840282705758 -43.9620143957436 3.07002319589781 -43.9865391850472 3.1828704198752 -44.0110639743507 2.97743060186507 -44.0355887636542 3.08449078871542 -44.0601135529578 3.17708338274815 -44.0846383422613 2.96296300904746 -44.1091631315649 3.11342597435065 -44.1336879208684 3.02372689888144 -44.1582127101719 3.02662041744496 -44.1827374994755 3.0439815288261 -44.207262288779 2.8674768964512 -44.2317870780826 2.91087967490405 -44.2563118673861 2.90219911921348 -44.2808366566896 3.03819449169905 -44.3053614459932 2.9803241204286 -44.3298862352967 3.0815972701519 -44.3544110246003 2.92245374915814 -44.3789358139038 3.05844912164371 -44.4034606032074 2.93981486053927 -44.4279853925109 3.04108801026258 -44.4525101818144 2.76041670960085 -44.477034971118 2.89641208208643 -44.5015597604215 2.87326393357825 -44.5260845497251 2.97453708330155 -44.5506093390286 2.79803245092665 -44.5751341283321 3.17418986418463 -44.5996589176357 2.85011578507007 -44.6241837069392 2.7662037467279 -44.6487084962428 2.98900467611916 -44.6732332855463 2.88483800783234 -44.6977580748498 2.88483800783234 -44.7222828641534 3.01793986175439 -44.7468076534569 2.87905097070529 -44.7713324427605 2.92245374915814 -44.795857232064 3.04976856595315 -44.8203820213676 2.90219911921348 -44.8449068106711 2.78356485810904 -44.8694315999746 2.78645837667256 -44.8939563892782 2.8414352293795 -44.9184811785817 2.90798615634052 -44.9430059678853 2.87905097070529 -44.9675307571888 3.06712967733428 -44.9920555464923 2.87037041501472 -45.0165803357959 2.82118059943484 -45.0411051250994 2.74594911678324 -45.065629914403 3.05266208451667 -45.0901547037065 2.87905097070529 -45.11467949301 3.06423615877076 -45.1392042823136 3.07870375158837 -45.1637290716171 2.94849541622984 -45.1882538609207 3.07581023302485 -45.2127786502242 2.98321763899212 -45.2373034395278 3.01215282462735 -45.2618282288313 2.8414352293795 -45.2863530181348 2.99479171324621 -45.3108778074384 3.04976856595315 -45.3354025967419 2.87905097070529 -45.3599273860455 3.09895838153304 -45.384452175349 3.02372689888144 -45.4089769646525 3.16261578993054 -45.4335017539561 2.85879634076063 -45.4580265432596 3.17418986418463 -45.4825513325632 3.0063657875003 -45.5070761218667 3.17708338274815 -45.5316009111702 3.19733801269281 -45.5561257004738 3.24074079114566 -45.5806504897773 3.13657412285883 -45.6051752790809 3.26678245821736 -45.6297000683844 3.10185190009656 -45.654224857688 3.05555560308019 -45.6787496469915 3.15682875280349 -45.703274436295 3.20023153125634 -45.7277992255986 3.33622690374191 -45.7523240149021 3.46643523910044 -45.7768488042057 3.13946764142236 -45.8013735935092 3.27256949534441 -45.8258983828127 3.47511579479101 -45.8504231721163 3.39120375644885 -45.8749479614198 3.21759264263747 -45.8994727507234 3.57928246307784 -45.9239975400269 3.41724542352055 -45.9485223293304 3.47800931335454 -45.973047118634 3.68344913136466 -45.9975719079375 3.64583339003886 -46.0220966972411 3.55324079600613 -46.0466214865446 3.53587968462499 -46.0711462758482 3.55902783313318 -46.0956710651517 3.49247690617215 -46.1201958544552 3.67766209423762 -46.1447206437588 3.72685190981751 -46.1692454330623 3.64004635291182 -46.1937702223659 3.77025468827035 -46.2182950116694 3.61111116727659 -46.2428198009729 3.97280098771695 -46.2673445902765 3.72685190981751 -46.29186937958 3.81076394815967 -46.3163941688836 3.84259265235842 -46.3409189581871 3.80497691103262 -46.3654437474906 3.87152783799365 -46.3899685367942 3.72974542838103 -46.4144933260977 3.96990746915343 -46.4390181154013 3.89178246793831 -46.4635429047048 3.81655098528672 -46.4880676940084 3.80787042959615 -46.5125924833119 3.55034727744261 -46.5371172726154 3.82523154097728 -46.561642061919 3.57060190738727 -46.5861668512225 3.75000005832569 -46.6106916405261 3.84548617092195 -46.6352164298296 3.57928246307784 -46.6597412191331 3.58506950020488 -46.6842660084367 3.55324079600613 -46.7087907977402 3.55034727744261 -46.7333155870438 3.4866898690451 -46.7578403763473 3.64872690860239 -46.7823651656508 3.49537042473567 -46.8068899549544 3.56770838882375 -46.8314147442579 3.64583339003886 -46.8559395335615 3.50983801755329 -46.880464322865 3.39409727501237 -46.9049891121686 3.45486116484635 -46.9295139014721 3.43460653490169 -46.9540386907756 3.28993060672555 -46.9785634800792 3.30439819954316 -47.0030882693827 3.27256949534441 -47.0276130586863 3.31307875523373 -47.0521378479898 3.33622690374191 -47.0766626372933 3.4866898690451 -47.1011874265969 3.42013894208408 -47.1257122159004 3.1452546785494 -47.150237005204 3.39409727501237 -47.1747617945075 3.30150468097964 -47.199286583811 3.27256949534441 -47.2238113731146 3.24942134683623 -47.2483361624181 3.42881949777465 -47.2728609517217 3.44618060915578 -47.2973857410252 3.4866898690451 -47.3219105303288 3.46932875766397 -47.3464353196323 3.50983801755329 -47.3709601089358 3.48958338760863 -47.3954848982394 3.41145838639351 -47.4200096875429 3.44039357202874 -47.4445344768465 3.47800931335454 -47.46905926615 3.46354172053692 -47.4935840554535 3.47511579479101 -47.5181088447571 3.54745375887909 -47.5426336340606 3.69212968705523 -47.5671584233642 3.6371528343483 -47.5916832126677 3.81944450385024 -47.6162080019712 3.74131950263512 -47.6407327912748 3.77025468827035 -47.6652575805783 3.6255787600942 -47.6897823698819 3.99594913622514 -47.7143071591854 3.71527783556341 -47.738831948489 3.92071765357354 -47.7633567377925 3.98437506197105 -47.787881527096 3.94386580208172 -47.8124063163996 4.17245376860003 -47.8369311057031 4.09722228594844 -47.8614558950067 3.99884265478866 -47.8859806843102 4.05381950749559 -47.9105054736137 4.19849543567174 -47.9350302629173 4.19270839854469 -47.9595550522208 4.44733803213471 -47.9840798415244 4.51099544053221 -48.0086046308279 4.36921303091959 -48.0331294201314 4.59201396031086 -48.057654209435 4.67592599865302 -48.0821789987385 4.74247692561405 -48.1067037880421 4.60358803456495 -48.1312285773456 4.71064822141529 -48.1557533666492 5.00000007776759 -48.1802781559527 4.9768519292594 -48.2048029452562 5.07523156041918 -48.2293277345598 5.0781250789827 -48.2538525238633 5.09259267180032 -48.2783773131669 5.06655100472861 -48.3029021024704 5.06076396760157 -48.3274268917739 5.30381952693749 -48.3519516810775 5.38194452815261 -48.376476470381 5.51215286351114 -48.4010012596846 5.57581027190864 -48.4255260489881 5.26909730417522 -48.4500508382916 5.50057878925705 -48.4745756275952 5.52083341920171 -48.4991004168987 5.88831027676912 -48.5236252062023 5.89699083245969 -48.5481499955058 5.54398156770989 -48.5726747848094 5.83333342406218 -48.5971995741129 5.78125008991877 -48.6217243634164 5.76388897853763 -48.64624915272 5.78125008991877 -48.6707739420235 6.00405101931003 -48.6952987313271 6.14004639179561 -48.7198235206306 5.98379638936537 -48.7443483099341 5.76099545997411 -48.7688730992377 5.82175934980809 -48.7933978885412 5.98958342649242 -48.8179226778448 5.86805564682446 -48.8424474671483 5.85648157257037 -48.8669722564518 6.09375009477924 -48.8914970457554 5.98958342649242 -48.9160218350589 5.54687508627342 -48.9405466243625 5.56423619765455 -48.965071413666 5.53530101201932 -48.9895962029696 5.83622694262571 -49.0141209922731 5.75810194141059 -49.0386457815766 5.47453712218534 -49.0631705708802 5.41377323235136 -49.0876953601837 5.51793990063819 -49.1122201494873 5.6076389761074 -49.1367449387908 5.48900471500296 -49.1612697280943 5.24594915566703 -49.1857945173979 5.30092600837397 -49.2103193067014 5.32696767544567 -49.234844096005 5.02604174483929 -49.2593688853085 5.08391211610975 -49.283893674612 4.78298618550337 -49.3084184639156 5.09548619036384 -49.3329432532191 4.73090285135995 -49.3574680425227 4.60648155312847 -49.3819928318262 4.92476859511599 -49.4065176211298 4.67592599865302 -49.4310424104333 4.82060192682916 -49.4555671997368 4.45023155069823 -49.4800919890404 4.37210654948311 -49.5046167783439 4.53125007047687 -49.5291415676475 4.29976858539504 -49.553666356951 4.47337969920642 -49.5781911462545 4.48495377346051 -49.6027159355581 4.24189821412458 -49.6272407248616 4.22164358417992 -49.6517655141652 4.10011580451196 -49.6762903034687 4.04513895180503 -49.7008150927722 3.97569450628048 -49.7253398820758 3.94675932064525 -49.7498646713793 3.91203709788297 -49.7743894606829 3.93807876495468 -49.7989142499864 3.82523154097728 -49.82343903929 3.47222227622749 -49.8479638285935 3.71527783556341 -49.872488617897 3.53587968462499 -49.8970134072006 3.72685190981751 -49.9215381965041 3.52141209180738 -49.9460629858077 3.54745375887909 -49.9705877751112 3.57349542595079 -49.9951125644147 3.46643523910044 -50.0196373537183 3.54456024031556 -50.0441621430218 3.45486116484635 -50.0686869323254 3.29861116241612 -50.0932117216289 3.38831023788533 -50.1177365109324 3.41724542352055 -50.142261300236 3.37384264506771 -50.1667860895395 3.26967597678089 -50.1913108788431 3.20601856838338 -50.2158356681466 3.28993060672555 -50.2403604574502 3.17708338274815 -50.2648852467537 3.17708338274815 -50.2894100360572 3.14236115998588 -50.3139348253608 3.20023153125634 -50.3384596146643 3.07581023302485 -50.3629844039679 3.09895838153304 -50.3875091932714 3.10185190009656 -50.4120339825749 2.74305559821972 -50.4365587718785 3.0063657875003 -50.461083561182 3.14814819711292 -50.4856083504856 3.02372689888144 -50.5101331397891 2.91956023059461 -50.5346579290926 3.14236115998588 -50.5591827183962 3.05555560308019 -50.5837075076997 3.02662041744496 -50.6082322970033 2.96585652761098 -50.6327570863068 3.11053245578713 -50.6572818756104 2.905092637777 -50.6818066649139 3.12789356716826 -50.7063314542174 2.91956023059461 -50.730856243521 2.91666671203109 -50.7553810328245 3.00347226893678 -50.7799058221281 3.00057875037326 -50.8044306114316 2.94560189766632 -50.8289554007351 2.95428245335689 -50.8534801900387 2.89930560064995 -50.8780049793422 3.07291671446133 -50.9025297686458 2.99768523180973 -50.9270545579493 3.10474541866008 -50.9515793472528 2.87615745214177 -50.9761041365564 2.79803245092665 -51.0006289258599 3.02951393600848 -51.0251537151635 2.93981486053927 -51.049678504467 3.04687504738962 -51.0742032937706 2.99479171324621 -51.0987280830741 2.98900467611916 -51.1232528723776 3.03240745457201 -51.1477776616812 3.07581023302485 -51.1723024509847 3.06134264020724 -51.1968272402883 3.17708338274815 -51.2213520295918 2.94560189766632 -51.2458768188953 2.92824078628518 -51.2704016081989 2.97453708330155 -51.2949263975024 2.95138893479337 -51.319451186806 2.82118059943484 -51.3439759761095 3.15393523423997 -51.368500765413 2.92824078628518 -51.3930255547166 3.00347226893678 -51.4175503440201 3.23206023545509 -51.4420751333237 3.15972227136702 -51.4665999226272 3.1828704198752 -51.4911247119308 3.17129634562111 -51.5156495012343 3.40567134926646 -51.5401742905378 3.16261578993054 -51.5646990798414 3.07870375158837 -51.5892238691449 3.33912042230544 -51.6137486584485 3.37673616363123 -51.638273447752 3.18576393843872 -51.6627982370555 3.18576393843872 -51.6873230263591 3.26678245821736 -51.7118478156626 3.26099542109032 -51.7363726049662 3.20312504981986 -51.7608973942697 3.17129634562111 -51.7854221835732 3.11342597435065 -51.8099469728768 3.24942134683623 -51.8344717621803 3.27546301390793 -51.8589965514839 3.35648153368657 -51.8835213407874 3.21469912407395 -51.908046130091 3.37094912650419 -51.9325709193945 3.36805560794067 -51.957095708698 3.33622690374191 -51.9816204980016 3.29571764385259 -52.0061452873051 3.46932875766397 -52.0306700766087 3.57638894451431 -52.0551948659122 3.39699079357589 -52.0797196552157 3.5243056103709 -52.1042444445193 3.56770838882375 -52.1287692338228 3.57928246307784 -52.1532940231264 3.6255787600942 -52.1778188124299 3.55902783313318 -52.2023436017334 3.50983801755329 -52.226868391037 3.6255787600942 -52.2513931803405 3.70659727987285 -52.2759179696441 3.6371528343483 -52.3004427589476 3.90625006075593 -52.3249675482512 3.71817135412694 -52.3494923375547 3.78472228108796 -52.3740171268582 3.75578709545273 -52.3985419161618 3.77893524396092 -52.4230667054653 3.50405098042624 -52.4475914947689 3.69502320561875 -52.4721162840724 3.77025468827035 -52.4966410733759 3.85127320804899 -52.5211658626795 3.65740746429296 -52.545690651983 3.67476857567409 -52.5702154412866 3.43171301633817 -52.5947402305901 3.55902783313318 -52.6192650198936 3.56770838882375 -52.6437898091972 3.47222227622749 -52.6683145985007 3.44039357202874 -52.6928393878043 3.39988431213942 -52.7173641771078 3.55034727744261 -52.7418889664114 3.44039357202874 -52.7664137557149 3.3854167193218 -52.7909385450184 3.46354172053692 -52.815463334322 3.36516208937714 -52.8399881236255 3.30150468097964 -52.8645129129291 3.45196764628283 -52.8890377022326 3.26388893965384 -52.9135624915361 3.18865745700224 -52.9380872808397 2.98321763899212 -52.9626120701432 3.09317134440599 -52.9871368594468 2.95717597192041 -53.0116616487503 3.09606486296951 -53.0361864380538 3.05555560308019 -53.0607112273574 3.12500004860474 -53.0852360166609 3.1828704198752 -53.1097608059645 2.99479171324621 -53.134285595268 3.0815972701519 -53.1588103845716 2.93113430484871 -53.1833351738751 2.79803245092665 -53.2078599631786 2.95717597192041 -53.2323847524822 3.00347226893678 -53.2569095417857 3.23495375401861 -53.2814343310893 2.91666671203109 -53.3059591203928 2.87326393357825 -53.3304839096963 2.97743060186507 -53.3550086989999 2.94560189766632 -53.3795334883034 2.91666671203109 -53.404058277607 3.02662041744496 -53.4285830669105 3.04976856595315 -53.453107856214 2.91087967490405 -53.4776326455176 2.9803241204286 -53.5021574348211 3.07291671446133 -53.5266822241247 2.91956023059461 -53.5512070134282 2.95717597192041 -53.5757318027318 3.00347226893678 -53.6002565920353 3.03819449169905 -53.6247813813388 2.96006949048394 -53.6493061706424 2.97453708330155 -53.6738309599459 2.91666671203109 -53.6983557492495 3.21469912407395 -53.722880538553 3.29861116241612 -53.7474053278565 3.26388893965384 -53.7719301171601 3.06423615877076 -53.7964549064636 3.25520838396327 -53.8209796957672 3.26678245821736 -53.8455044850707 3.12500004860474 -53.8700292743742 3.23206023545509 -53.8945540636778 3.35069449655953 -53.9190788529813 3.21180560551043 -53.9436036422849 3.29282412528907 -53.9681284315884 3.31886579236078 -53.992653220892 3.33912042230544 -54.0171780101955 3.21469912407395 -54.041702799499 3.26678245821736 -54.0662275888026 3.43460653490169 -54.0907523781061 3.3854167193218 -54.1152771674097 3.42881949777465 -54.1398019567132 3.4230324606476 -54.1643267460167 3.70370376130932 -54.1888515353203 3.50983801755329 -54.2133763246238 3.60821764871307 -54.2379011139274 3.63425931578477 -54.2624259032309 3.50405098042624 -54.2869506925344 3.36516208937714 -54.311475481838 3.43750005346522 -54.3360002711415 3.49247690617215 -54.3605250604451 3.40277783070294 -54.3850498497486 3.47222227622749 -54.4095746390522 3.42881949777465 -54.4340994283557 3.7008102427458 -54.4586242176592 3.60243061158602 -54.4831490069628 3.51562505468033 -54.5076737962663 3.59664357445897 -54.5321985855699 3.27256949534441 -54.5567233748734 3.44618060915578 -54.5812481641769 3.43460653490169 -54.6057729534805 3.30729171810668 -54.630297742784 3.61400468584011 -54.6548225320876 3.22916671689157 -54.6793473213911 3.29861116241612 -54.7038721106946 3.37384264506771 -54.7283968999982 3.06423615877076 -54.7529216893017 3.27256949534441 -54.7774464786053 3.46932875766397 -54.8019712679088 3.19155097556577 -54.8264960572124 3.19444449412929 -54.8510208465159 3.23784727258213 -54.8755456358194 3.13078708573179 -54.900070425123 3.25520838396327 -54.9245952144265 3.17418986418463 -54.9491200037301 3.07870375158837 -54.9736447930336 3.09027782584247 -54.9981695823371 3.04687504738962 -55.0226943716407 3.1452546785494 -55.0472191609442 2.96296300904746 -55.0717439502478 3.02372689888144 -55.0962687395513 3.23784727258213 -55.1207935288548 3.03240745457201 -55.1453183181584 3.26678245821736 -55.1698431074619 3.09317134440599 -55.1943678967655 3.06423615877076 -55.218892686069 2.98900467611916 -55.2434174753726 3.10185190009656 -55.2679422646761 2.82118059943484 -55.2924670539796 2.99479171324621 -55.3169918432832 2.81250004374427 -55.3415166325867 2.78935189523608 -55.3660414218903 3.13078708573179 -55.3905662111938 2.92245374915814 -55.4150910004973 2.78067133954551 -55.4396157898009 2.73437504252915 -55.4641405791044 2.8038194880537 -55.488665368408 2.67650467125869 -55.5131901577115 2.69965281976687 -55.537714947015 2.60706022573414 -55.5622397363186 2.67071763413164 -55.5867645256221 2.75173615391029 -55.6112893149257 2.69386578263983 -55.6358141042292 2.70833337545744 -55.6603388935328 2.67939818982221 -55.6848636828363 2.59837967004357 -55.7093884721398 2.63888892993289 -55.7339132614434 2.63310189280585 -55.7584380507469 2.58391207722596 -55.7829628400505 2.67361115269517 -55.807487629354 2.51736115026493 -55.8320124186575 2.51446763170141 -55.8565372079611 2.51736115026493 -55.8810619972646 2.47395837181209 -55.9055867865682 2.49131948319322 -55.9301115758717 2.58391207722596 -55.9546363651752 2.50868059457436 -55.9791611544788 2.43344911192277 -56.0036859437823 2.5636574472813 -56.0282107330859 2.41030096341458 -56.0527355223894 2.37847225921583 -56.077260311693 2.4247685562322 -56.1017851009965 2.35821762927117 -56.1263098903 2.41608800054163 -56.1508346796036 2.27430559092901 -56.1753594689071 2.30613429512776 -56.1998842582107 2.39872688916049 -56.2244090475142 2.41030096341458 -56.2489338368177 2.36689818496174 -56.2734586261213 2.46527781612152 -56.2979834154248 2.33796299932651 -56.3225082047284 2.28877318374662 -56.3470329940319 2.46238429755799 -56.3715577833354 2.22222225678559 -56.396082572639 2.37557874065231 -56.4206073619425 2.47685189037561 -56.4451321512461 2.24537040529378 -56.4696569405496 2.42187503766867 -56.4941817298532 2.37268522208878 -56.5187065191567 2.46817133468504 -56.5432313084602 2.29456022087367 -56.5677560977638 2.22222225678559 -56.5922808870673 2.37557874065231 -56.6168056763709 2.27430559092901 -56.6413304656744 2.42766207479572 -56.6658552549779 2.27430559092901 -56.6903800442815 2.19618058971389 -56.714904833585 2.30034725800071 -56.7394296228886 2.39004633346992 -56.7639544121921 2.2482639238573 -56.7884792014956 2.32928244363594 -56.8130039907992 2.31481485081833 -56.8375287801027 2.26851855380196 -56.8620535694063 2.29745373943719 -56.8865783587098 2.27719910949253 -56.9111031480134 2.23958336816673 -56.9356279373169 2.43923614904981 -56.9601527266204 2.22222225678559 -56.984677515924 2.31481485081833 -57.0092023052275 2.43923614904981 -57.0337270945311 2.26851855380196 -57.0582518838346 2.33506948076299 -57.0827766731381 2.39293985203345 -57.1073014624417 2.26562503523844 -57.1318262517452 2.36111114783469 -57.1563510410488 2.44502318617686 -57.1808758303523 2.49710652032027 -57.2054006196558 2.10069447711763 -57.2299254089594 2.36689818496174 -57.2544501982629 2.36400466639822 -57.2789749875665 2.39004633346992 -57.30349977687 2.29456022087367 -57.3280245661736 2.4884259646297 -57.3525493554771 2.37557874065231 -57.3770741447806 2.44791670474038 -57.4015989340842 2.40740744485106 -57.4261237233877 2.36689818496174 -57.4506485126913 2.46527781612152 -57.4751733019948 2.33217596219946 -57.4996980912983 2.37847225921583 -57.5242228806019 2.44212966761333 -57.5487476699054 2.44791670474038 -57.573272459209 2.43923614904981 -57.5977972485125 2.37268522208878 -57.622322037816 2.39872688916049 -57.6468468271196 2.60127318860709 -57.6713716164231 2.47106485324856 -57.6958964057267 2.54340281733664 -57.7204211950302 2.46527781612152 -57.7449459843338 2.52025466882845 -57.7694707736373 2.52025466882845 -57.7939955629408 2.57233800297187 -57.8185203522444 2.39583337059697 -57.8430451415479 2.39872688916049 -57.8675699308515 2.44502318617686 -57.892094720155 2.33506948076299 -57.9166195094585 2.65625004131403 -57.9411442987621 2.53761578020959 -57.9656690880656 2.37847225921583 -57.9901938773692 2.53472226164607 -58.0147186666727 2.45659726043095 -58.0392434559762 2.50289355744732 -58.0637682452798 2.43055559335924 -58.0882930345833 2.55497689159073 -58.1128178238869 2.32928244363594 -58.1373426131904 2.55787041015425 -58.161867402494 2.30902781369128 -58.1863921917975 2.44791670474038 -58.210916981101 2.53761578020959 -58.2354417704046 2.40162040772401 -58.2599665597081 2.47685189037561 -58.2844913490117 2.55787041015425 -58.3090161383152 2.56655096584482 -58.3335409276187 2.49710652032027 -58.3580657169223 2.41030096341458 -58.3825905062258 2.66782411556812 -58.4071152955294 2.47395837181209 -58.4316400848329 2.64467596705994 -58.4561648741364 2.44791670474038 -58.48068966344 2.69386578263983 -58.5052144527435 2.59259263291653 -58.5297392420471 2.58680559578948 -58.5542640313506 2.63888892993289 -58.5787888206542 2.72280096827506 -58.6033136099577 2.58101855866243 -58.6278383992612 2.71990744971153 -58.6523631885648 2.61863429998823 -58.6768879778683 2.82118059943484 -58.7014127671719 2.62442133711528 -58.7259375564754 2.76331022816438 -58.7504623457789 2.91377319346757 -58.7749871350825 2.71122689402096 -58.799511924386 2.75752319103733 -58.8240367136896 2.72569448683858 -58.8485615029931 2.57233800297187 -58.8730862922966 2.85011578507007 -58.8976110816002 2.77777782098199 -58.9221358709037 2.88194448926882 -58.9466606602073 2.93692134197575 -58.9711854495108 2.7025463383304 -58.9957102388144 2.79513893236313 -59.0202350281179 2.94560189766632 -59.0447598174214 2.91377319346757 -59.069284606725 2.74016207965619 -59.0938093960285 2.94560189766632 -59.1183341853321 2.85011578507007 -59.1428589746356 3.01504634319087 -59.1673837639391 2.8414352293795 -59.1919085532427 2.90219911921348 -59.2164333425462 2.97743060186507 -59.2409581318498 3.10185190009656 -59.2654829211533 3.1076389372236 -59.2900077104568 3.17997690131168 -59.3145324997604 3.04108801026258 -59.3390572890639 2.89641208208643 -59.3635820783675 3.00925930606382 -59.388106867671 3.07291671446133 -59.4126316569746 3.05555560308019 -59.4371564462781 3.09027782584247 -59.4616812355816 3.1192130114777 -59.4862060248852 3.09317134440599 -59.5107308141887 3.09027782584247 -59.5352556034923 3.08449078871542 -59.5597803927958 3.2465278282727 -59.5843051820993 3.11342597435065 -59.6088299714029 3.23784727258213 -59.6333547607064 3.20891208694691 -59.65787955001 3.39699079357589 -59.6824043393135 3.35069449655953 -59.706929128617 3.12789356716826 -59.7314539179206 3.27835653247146 -59.7559787072241 3.23495375401861 -59.7805034965277 3.29861116241612 -59.8050282858312 3.30729171810668 -59.8295530751348 3.18865745700224 -59.8540778644383 3.32754634805134 -59.8786026537418 3.33912042230544 -59.9031274430454 3.29282412528907 -59.9276522323489 3.3593750522501 -59.9521770216525 3.26099542109032 -59.976701810956 3.18576393843872 -60.0012266002595 3.16261578993054 -60.0257513895631 3.18576393843872 -60.0502761788666 3.05555560308019 -60.0748009681702 3.10474541866008 -60.0993257574737 3.20601856838338 -60.1238505467772 3.16840282705758 -60.1483753360808 2.94849541622984 -60.1729001253843 2.98611115755564 -60.1974249146879 3.07291671446133 -60.2219497039914 3.01504634319087 -60.246474493295 3.06134264020724 -60.2709992825985 2.87905097070529 -60.295524071902 2.96296300904746 -60.3200488612056 2.97164356473803 -60.3445736505091 2.82696763656188 -60.3690984398127 2.86458337788768 -60.3936232291162 2.90219911921348 -60.4181480184197 2.87326393357825 -60.4426728077233 3.03530097313553 -60.4671975970268 2.97164356473803 -60.4917223863304 2.81539356230779 -60.5162471756339 2.78935189523608 -60.5407719649374 2.71990744971153 -60.565296754241 2.78067133954551 -60.5898215435445 2.72569448683858 -60.6143463328481 2.65335652275051 -60.6388711221516 2.6649305970046 -60.6633959114552 2.63599541136937 -60.6879207007587 2.58101855866243 -60.7124454900622 2.67650467125869 -60.7369702793658 2.61284726286119 -60.7614950686693 2.65046300418698 -60.7860198579729 2.67650467125869 -60.8105446472764 2.52314818739198 -60.8350694365799 2.54050929877311 -60.8595942258835 2.74305559821972 -60.884119015187 2.48553244606618 -60.9086438044906 2.58101855866243 -60.9331685937941 2.46238429755799 -60.9576933830976 2.51736115026493 -60.9822181724012 2.63599541136937 -61.0067429617047 2.50578707601084 -61.0312677510083 2.58101855866243 -61.0557925403118 2.62442133711528 -61.0803173296154 2.48553244606618 -61.1048421189189 2.54918985446368 -61.1293669082224 2.49131948319322 -61.153891697526 2.59259263291653 -61.1784164868295 2.45659726043095 -61.2029412761331 2.53182874308254 -61.2274660654366 2.48263892750266 -61.2519908547401 2.58101855866243 -61.2765156440437 2.39872688916049 -61.3010404333472 2.44212966761333 -61.3255652226508 2.5636574472813 -61.3500900119543 2.48553244606618 -61.3746148012578 2.51446763170141 -61.3991395905614 2.48263892750266 -61.4236643798649 2.45370374186743 -61.4481891691685 2.40740744485106 -61.472713958472 2.40451392628754 -61.4972387477756 2.3119213322548 -61.5217635370791 2.41898151910515 -61.5462883263826 2.58391207722596 -61.5708131156862 2.46527781612152 -61.5953379049897 2.57233800297187 -61.6198626942933 2.40451392628754 -61.6443874835968 2.56076392871777 -61.6689122729003 2.47974540893913 -61.6934370622039 2.42766207479572 -61.7179618515074 2.54629633590016 -61.742486640811 2.62442133711528 -61.7670114301145 2.55787041015425 -61.791536219418 2.60127318860709 -61.8160610087216 2.63020837424232 -61.8405857980251 2.72280096827506 -61.8651105873287 2.5260417059555 -61.8896353766322 2.47685189037561 -61.9141601659358 2.67939818982221 -61.9386849552393 2.63020837424232 -61.9632097445428 2.46817133468504 -61.9877345338464 2.50578707601084 -62.0122593231499 2.72569448683858 -62.0367841124535 2.74016207965619 -62.061308901757 2.54629633590016 -62.0858336910605 2.66782411556812 -62.1103584803641 2.65625004131403 -62.1348832696676 2.71412041258449 -62.1594080589712 2.92824078628518 -62.1839328482747 2.75462967247381 -62.2084576375782 2.71122689402096 -62.2329824268818 2.8038194880537 -62.2575072161853 2.71701393114801 -62.2820320054889 2.87905097070529 -62.3065567947924 2.7662037467279 -62.331081584096 2.71701393114801 -62.3556063733995 2.9687500461745 -62.380131162703 2.98900467611916 -62.4046559520066 2.73437504252915 -62.4291807413101 2.75752319103733 -62.4537055306137 2.98321763899212 -62.4782303199172 2.96006949048394 -62.5027551092207 2.88483800783234 -62.5272798985243 2.97743060186507 -62.5518046878278 2.97164356473803 -62.5763294771314 2.85879634076063 -62.6008542664349 2.97453708330155 -62.6253790557384 2.97743060186507 -62.649903845042 3.05555560308019 -62.6744286343455 2.97164356473803 -62.6989534236491 2.93981486053927 -62.7234782129526 3.04976856595315 -62.7480030022562 3.00057875037326 -62.7725277915597 3.00925930606382 -62.7970525808632 3.03819449169905 -62.8215773701668 3.05266208451667 -62.8461021594703 2.93402782341223 -62.8706269487739 3.00347226893678 -62.8951517380774 3.11342597435065 -62.9196765273809 3.01504634319087 -62.9442013166845 3.04687504738962 -62.968726105988 3.14814819711292 -62.9932508952916 2.97164356473803 -63.0177756845951 3.04108801026258 -63.0423004738986 2.89351856352291 -63.0668252632022 2.9427083791028 -63.0913500525057 2.85011578507007 -63.1158748418093 2.97164356473803 -63.1403996311128 3.03530097313553 -63.1649244204164 3.03819449169905 -63.1894492097199 3.0815972701519 -63.2139739990234 2.91087967490405 -63.238498788327 2.94849541622984 -63.2630235776305 2.93981486053927 -63.2875483669341 2.98900467611916 -63.3120731562376 2.87905097070529 -63.3365979455411 2.78935189523608 -63.3611227348447 2.88483800783234 -63.3856475241482 2.76909726529142 -63.4101723134518 2.98900467611916 -63.4346971027553 2.89351856352291 -63.4592218920588 2.85300930363359 -63.4837466813624 2.67071763413164 -63.5082714706659 2.92534726772166 -63.5327962599695 2.93113430484871 -63.557321049273 2.85011578507007 -63.5818458385766 2.90219911921348 -63.6063706278801 2.76909726529142 -63.6308954171836 2.75752319103733 -63.6554202064872 2.8674768964512 -63.6799449957907 2.85879634076063 -63.7044697850943 2.7662037467279 -63.7289945743978 2.94849541622984 -63.7535193637013 3.02662041744496 -63.7780441530049 2.74305559821972 -63.8025689423084 2.78935189523608 -63.827093731612 2.78645837667256 -63.8516185209155 2.75752319103733 -63.876143310219 2.74884263534676 -63.9006680995226 2.92824078628518 -63.9251928888261 2.87326393357825 -63.9497176781297 2.9803241204286 -63.9742424674332 2.9803241204286 -63.9987672567368 2.8298611551254 -64.0232920460403 2.91666671203109 -64.0478168353438 2.83275467368893 -64.0723416246474 2.79224541379961 -64.0968664139509 2.93692134197575 -64.1213912032545 2.8674768964512 -64.145915992558 2.93981486053927 -64.1704407818615 2.92245374915814 -64.1949655711651 2.93692134197575 -64.2194903604686 2.91377319346757 -64.2440151497722 2.98900467611916 -64.2685399390757 3.02083338031792 -64.2930647283793 2.89641208208643 -64.3175895176828 2.91087967490405 -64.3421143069863 3.05266208451667 -64.3666390962899 2.93981486053927 -64.3911638855934 2.9803241204286 -64.415688674897 2.8038194880537 -64.4402134642005 2.68229170838574 -64.464738253504 2.78645837667256 -64.4892630428076 2.95717597192041 -64.5137878321111 3.14814819711292 -64.5383126214147 2.93402782341223 -64.5628374107182 3.02083338031792 -64.5873622000217 2.86458337788768 -64.6118869893253 2.80671300661722 -64.6364117786288 2.8038194880537 -64.6609365679324 3.11053245578713 -64.6854613572359 2.87905097070529 -64.7099861465395 2.95428245335689 -64.734510935843 3.02372689888144 -64.7590357251465 2.905092637777 -64.7835605144501 2.86168985932416 -64.8080853037536 2.93981486053927 -64.8326100930572 2.83564819225245 -64.8571348823607 2.9427083791028 -64.8816596716642 2.87037041501472 -64.9061844609678 2.73148152396563 -64.9307092502713 2.85011578507007 -64.9552340395749 2.98900467611916 -64.9797588288784 2.86458337788768 -65.0042836181819 2.76909726529142 -65.0288084074855 2.96006949048394 -65.053333196789 2.76041670960085 -65.0778579860926 2.6273148556788 -65.1023827753961 2.82696763656188 -65.1269075646997 2.67071763413164 -65.1514323540032 2.69675930120335 -65.1759571433067 2.83854171081597 -65.2004819326103 2.74305559821972 -65.2250067219138 2.75462967247381 -65.2495315112174 2.91666671203109 -65.2740563005209 2.55787041015425 -65.2985810898244 2.589699114353 -65.323105879128 2.50000003888379 -65.3476306684315 2.57812504009891 -65.3721554577351 2.6273148556788 -65.3966802470386 2.68229170838574 -65.4212050363421 2.59259263291653 -65.4457298256457 2.52893522451902 -65.4702546149492 2.47106485324856 -65.4947794042528 2.41030096341458 -65.5193041935563 2.39004633346992 -65.5438289828599 2.55497689159073 -65.5683537721634 2.44212966761333 -65.5928785614669 2.4508102233039 -65.6174033507705 2.50868059457436 -65.641928140074 2.37557874065231 -65.6664529293776 2.26851855380196 -65.6909777186811 2.25115744242082 -65.7155025079846 2.4247685562322 -65.7400272972882 2.36979170352526 -65.7645520865917 2.27430559092901 -65.7890768758953 2.3234954065089 -65.8136016651988 2.46238429755799 -65.8381264545023 2.10648151424468 -65.8626512438059 2.23379633103968 -65.8871760331094 2.2106481825315 -65.911700822413 2.08622688430002 -65.9362256117165 2.31481485081833 -65.9607504010201 2.10069447711763 -65.9852751903236 2.29166670231014 -66.0097999796271 2.27430559092901 -66.0343247689307 2.25405096098435 -66.0588495582342 2.32638892507242 -66.0833743475378 2.3119213322548 -66.1078991368413 2.21932873822207 -66.1324239261448 2.2106481825315 -66.1569487154484 2.33506948076299 -66.1814735047519 2.18171299689627 -66.2059982940555 2.22222225678559 -66.230523083359 2.21932873822207 -66.2550478726625 2.19328707115036 -66.2795726619661 2.08333336573649 -66.3040974512696 2.28009262805605 -66.3286222405732 2.25983799811139 -66.3531470298767 2.19618058971389 -66.3776718191803 2.25694447954787 -66.4021966084838 2.10648151424468 -66.4267213977873 2.04861114297422 -66.4512461870909 2.15277781126104 -66.4757709763944 2.11516206993525 -66.500295765698 2.26562503523844 -66.5248205550015 2.22222225678559 -66.549345344305 2.08912040286354 -66.5738701336086 2.0341435501566 -66.5983949229121 2.11805558849877 -66.6229197122157 2.11226855137172 -66.6474445015192 2.07754632860945 -66.6719692908227 2.07754632860945 -66.6964940801263 2.16724540407866 -66.7210188694298 2.0081018830849 -66.7455436587334 2.14988429269752 -66.7700684480369 2.15277781126104 -66.7945932373405 2.03703706872013 -66.819118026644 2.09490743999059 -66.8436428159475 2.0081018830849 -66.8681676052511 2.16145836695161 -66.8926923945546 2.08333336573649 -66.9172171838582 2.01388892021194 -66.9417419731617 2.18750003402332 -66.9662667624652 2.22800929391264 -66.9907915517688 2.19618058971389 -67.0153163410723 2.06597225435536 -67.0398411303759 2.10648151424468 -67.0643659196794 2.16435188551513 -67.0888907089829 2.06307873579183 -67.1134154982865 2.22511577534912 -67.13794028759 2.09780095855411 -67.1624650768936 2.03993058728365 -67.1869898661971 2.08622688430002 -67.2115146555007 2.12384262562581 -67.2360394448042 1.99074077170376 -67.2605642341077 2.08622688430002 -67.2850890234113 2.08912040286354 -67.3096138127148 2.06886577291888 -67.3341386020184 2.01388892021194 -67.3586633913219 2.20196762684093 -67.3831881806254 2.14988429269752 -67.407712969929 2.16435188551513 -67.4322377592325 1.99942132739433 -67.4567625485361 2.15277781126104 -67.4812873378396 1.92129632617921 -67.5058121271431 2.14120373700695 -67.5303369164467 1.9704861417591 -67.5548617057502 2.16145836695161 -67.5793864950538 1.94444447468739 -67.6039112843573 2.13252318131638 -67.6284360736609 2.09490743999059 -67.6529608629644 2.08912040286354 -67.6774856522679 2.01678243877547 -67.7020104415715 2.19328707115036 -67.726535230875 1.97337966032262 -67.7510600201786 2.02256947590251 -67.7755848094821 2.18171299689627 -67.8001095987856 2.14409725557047 -67.8246343880892 2.13252318131638 -67.8491591773927 2.08333336573649 -67.8736839666963 2.16145836695161 -67.8982087559998 2.16724540407866 -67.9227335453033 2.08043984717297 -67.9472583346069 2.11516206993525 -67.9717831239104 2.28877318374662 -67.996307913214 2.12094910706229 -68.0208327025175 2.05439818010127 -68.0453574918211 1.99074077170376 -68.0698822811246 2.0341435501566 -68.0944070704281 2.06307873579183 -68.1189318597317 2.2482639238573 -68.1434566490352 2.13252318131638 -68.1679814383388 2.12384262562581 -68.1925062276423 2.01388892021194 -68.2170310169458 2.17013892264218 -68.2415558062494 2.2858796651831 -68.2660805955529 2.15567132982457 -68.2906053848565 2.13831021844343 -68.31513017416 2.12384262562581 -68.3396549634635 2.24537040529378 -68.3641797527671 2.07754632860945 -68.3887045420706 2.11516206993525 -68.4132293313742 2.30324077656423 -68.4377541206777 2.1730324412057 -68.4622789099813 2.11516206993525 -68.4868036992848 2.21354170109502 -68.5113284885883 2.1846065154598 -68.5358532778919 2.25115744242082 -68.5603780671954 2.26562503523844 -68.584902856499 2.25983799811139 -68.6094276458025 2.25694447954787 -68.633952435106 2.17592595976923 -68.6584772244096 2.05729169866479 -68.6830020137131 2.16724540407866 -68.7075268030167 2.22800929391264 -68.7320515923202 2.146990774134 -68.7565763816237 2.08043984717297 -68.7811011709273 2.14988429269752 -68.8056259602308 2.23668984960321 -68.8301507495344 2.20196762684093 -68.8546755388379 2.09780095855411 -68.8792003281415 2.2482639238573 -68.903725117445 2.23379633103968 -68.9282499067485 2.33217596219946 -68.9527746960521 2.33506948076299 -68.9772994853556 2.15277781126104 -69.0018242746592 2.40162040772401 -69.0263490639627 2.27141207236548 -69.0508738532662 2.28877318374662 -69.0753986425698 2.23090281247616 -69.0999234318733 2.22222225678559 -69.1244482211769 2.22800929391264 -69.1489730104804 2.25983799811139 -69.1734977997839 2.24247688673025 -69.1980225890875 2.27430559092901 -69.222547378391 2.34375003645356 -69.2470721676946 2.27430559092901 -69.2715969569981 2.38136577777935 -69.2961217463017 2.34375003645356 -69.3206465356052 2.32928244363594 -69.3451713249087 2.18750003402332 -69.3696961142123 2.39583337059697 -69.3942209035158 2.24537040529378 -69.4187456928194 2.35532411070765 -69.4432704821229 2.31481485081833 -69.4677952714264 2.27141207236548 -69.49232006073 2.28877318374662 -69.5168448500335 2.34375003645356 -69.5413696393371 2.46238429755799 -69.5658944286406 2.33796299932651 -69.5904192179441 2.26851855380196 -69.6149440072477 2.36689818496174 -69.6394687965512 2.3119213322548 -69.6639935858548 2.25983799811139 -69.6885183751583 2.42187503766867 -69.7130431644619 2.43344911192277 -69.7375679537654 2.43344911192277 -69.7620927430689 2.37268522208878 -69.7866175323725 2.29166670231014 -69.811142321676 2.20486114540446 -69.8356671109796 2.4247685562322 -69.8601919002831 2.36979170352526 -69.8847166895866 2.14120373700695 -69.9092414788902 2.25405096098435 -69.9337662681937 2.23958336816673 -69.9582910574973 2.41319448197811 -69.9828158468008 2.33796299932651 -70.0073406361043 2.32928244363594 -70.0318654254079 2.17881947833275 -70.0563902147114 2.2482639238573 -70.080915004015 2.1093750328082 -70.1054397933185 2.08622688430002 -70.1299645826221 2.23668984960321 -70.1544893719256 2.21932873822207 -70.1790141612291 2.08043984717297 -70.2035389505327 2.13252318131638 -70.2280637398362 2.25115744242082 -70.2525885291398 2.36979170352526 -70.2771133184433 2.19907410827741 -70.3016381077468 2.28298614661957 -70.3261628970504 2.07465281004592 -70.3506876863539 2.23379633103968 -70.3752124756575 2.13252318131638 -70.399737264961 2.30034725800071 -70.4242620542645 2.22222225678559 -70.4487868435681 2.26562503523844 -70.4733116328716 2.0341435501566 -70.4978364221752 2.11226855137172 -70.5223612114787 2.25694447954787 -70.5468860007823 2.0457176244107 -70.5714107900858 2.09780095855411 -70.5959355793893 2.146990774134 -70.6204603686929 2.18171299689627 -70.6449851579964 2.09780095855411 -70.6695099473 2.28877318374662 -70.6940347366035 2.00520836452138 -70.718559525907 2.14120373700695 -70.7430843152106 2.04282410584717 -70.7676091045141 2.17013892264218 -70.7921338938177 2.08043984717297 -70.8166586831212 2.1093750328082 -70.8411834724247 2.12962966275286 -70.8657082617283 2.13831021844343 -70.8902330510318 2.08912040286354 -70.9147578403354 2.03125003159308 -70.9392826296389 2.05150466153774 -70.9638074189425 2.07465281004592 -70.988332208246 2.16724540407866 -71.0128569975495 2.12384262562581 -71.0373817868531 2.06018521722831 -71.0619065761566 1.91261577048864 -71.0864313654602 2.02256947590251 -71.1109561547637 2.01099540164842 -71.1354809440672 2.01678243877547 -71.1600057333708 2.20486114540446 -71.1845305226743 2.23668984960321 -71.2090553119779 1.8692129920358 -71.2335801012814 1.92418984474273 -71.2581048905849 2.05150466153774 -71.2826296798885 1.97916669744967 -71.307154469192 2.11805558849877 -71.3316792584956 2.02835651302956 -71.3562040477991 1.96180558606853 -71.3807288371027 1.91550928905217 -71.4052536264062 2.06307873579183 -71.4297784157097 1.99074077170376 -71.4543032050133 1.99942132739433 -71.4788279943168 1.99942132739433 -71.5033527836204 1.92418984474273 -71.5278775729239 1.91261577048864 -71.5524023622274 1.92997688186978 -71.576927151531 2.03703706872013 -71.6014519408345 2.10358799568115 -71.6259767301381 2.0081018830849 -71.6505015194416 2.13831021844343 -71.6750263087451 2.00231484595785 -71.6995510980487 2.09201392142706 -71.7240758873522 1.91550928905217 -71.7486006766558 2.08912040286354 -71.7731254659593 2.17013892264218 -71.7976502552629 2.03125003159308 -71.8221750445664 2.13541669987991 -71.8466998338699 2.10358799568115 -71.8712246231735 2.12673614418934 -71.895749412477 2.12673614418934 -71.9202742017806 2.0341435501566 -71.9447989910841 1.87789354772637 -71.9693237803876 2.05439818010127 -71.9938485696912 2.08912040286354 -72.0183733589947 2.0341435501566 -72.0428981482983 2.0717592914824 -72.0674229376018 2.12094910706229 -72.0919477269053 1.99942132739433 -72.1164725162089 2.03993058728365 -72.1409973055124 1.99363429026728 -72.165522094816 2.20196762684093 -72.1900468841195 2.17013892264218 -72.2145716734231 2.06018521722831 -72.2390964627266 2.06018521722831 -72.2636212520301 2.08043984717297 -72.2881460413337 2.10648151424468 -72.3126708306372 2.12962966275286 -72.3371956199408 2.21643521965855 -72.3617204092443 2.05150466153774 -72.3862451985478 2.06597225435536 -72.4107699878514 2.01967595733899 -72.4352947771549 1.95891206750501 -72.4598195664585 2.1730324412057 -72.484344355762 2.28009262805605 -72.5088691450655 2.11805558849877 -72.5333939343691 2.06307873579183 -72.5579187236726 2.0717592914824 -72.5824435129762 2.16145836695161 -72.6069683022797 2.17881947833275 -72.6314930915833 2.00520836452138 -72.6560178808868 2.11516206993525 -72.6805426701903 2.05150466153774 -72.7050674594939 2.14120373700695 -72.7295922487974 2.24537040529378 -72.754117038101 2.15856484838809 -72.7786418274045 2.19039355258684 -72.803166616708 2.24537040529378 -72.8276914060116 2.26562503523844 -72.8522161953151 2.1846065154598 -72.8767409846187 2.14409725557047 -72.9012657739222 1.99363429026728 -72.9257905632257 2.25405096098435 -72.9503153525293 2.146990774134 -72.9748401418328 2.14988429269752 -72.9993649311364 2.12094910706229 -73.0238897204399 2.08043984717297 -73.0484145097435 2.09490743999059 -73.072939299047 2.21643521965855 -73.0974640883505 2.06018521722831 -73.1219888776541 2.3234954065089 -73.1465136669576 2.20486114540446 -73.1710384562612 2.05729169866479 -73.1955632455647 2.18171299689627 -73.2200880348682 2.09490743999059 -73.2446128241718 2.11516206993525 -73.2691376134753 2.08043984717297 -73.2936624027789 2.2482639238573 -73.3181871920824 2.1093750328082 -73.3427119813859 2.18171299689627 -73.3672367706895 2.13831021844343 -73.391761559993 2.08043984717297 -73.4162863492966 2.01678243877547 -73.4408111386001 2.19039355258684 -73.4653359279037 2.16724540407866 -73.4898607172072 2.02835651302956 -73.5143855065107 2.19618058971389 -73.5389102958143 2.18171299689627 -73.5634350851178 2.08043984717297 -73.5879598744214 2.21643521965855 -73.6124846637249 2.12962966275286 -73.6370094530284 2.12962966275286 -73.661534242332 2.25694447954787 -73.6860590316355 2.09490743999059 -73.7105838209391 2.10358799568115 -73.7351086102426 2.23379633103968 -73.7596333995461 2.0341435501566 -73.7841581888497 2.1846065154598 -73.8086829781532 2.3234954065089 -73.8332077674568 2.15277781126104 -73.8577325567603 2.34085651789003 -73.8822573460639 2.15856484838809 -73.9067821353674 2.38136577777935 -73.9313069246709 2.20196762684093 -73.9558317139745 2.16145836695161 -73.980356503278 2.17013892264218 -74.0048812925816 2.15856484838809 -74.0294060818851 2.1846065154598 -74.0539308711886 2.20486114540446 -74.0784556604922 2.1846065154598 -74.1029804497957 2.17013892264218 -74.1275052390993 2.32928244363594 -74.1520300284028 2.00520836452138 -74.1765548177063 2.39293985203345 -74.2010796070099 2.46527781612152 -74.2256043963134 2.16145836695161 -74.250129185617 2.21354170109502 -74.2746539749205 2.20775466396798 -74.2991787642241 2.15856484838809 -74.3237035535276 2.2858796651831 -74.3482283428311 2.23090281247616 -74.3727531321347 2.20775466396798 -74.3972779214382 2.18750003402332 -74.4218027107418 2.11226855137172 -74.4463275000453 2.03125003159308 -74.4708522893488 2.27141207236548 -74.4953770786524 2.19907410827741 -74.5199018679559 2.22800929391264 -74.5444266572595 2.17013892264218 -74.568951446563 2.13831021844343 -74.5934762358665 2.09201392142706 -74.6180010251701 2.12962966275286 -74.6425258144736 2.23090281247616 -74.6670506037772 2.14409725557047 -74.6915753930807 2.11516206993525 -74.7161001823843 2.14409725557047 -74.7406249716878 2.1093750328082 -74.7651497609913 1.98784725314024 -74.7896745502949 2.12384262562581 -74.8141993395984 2.21354170109502 -74.838724128902 2.08333336573649 -74.8632489182055 2.05150466153774 -74.887773707509 2.05729169866479 -74.9122984968126 1.92129632617921 -74.9368232861161 2.08912040286354 -74.9613480754197 2.02546299446604 -74.9858728647232 2.04282410584717 -75.0103976540267 2.06151326082435 -75.0349224433303 2.06120812775158 -75.0594472326338 1.99637714930928 -75.0839720219374 2.00717504177744 -75.1084968112409 1.99755071935408 -75.1330216005445 1.90577197198767 -75.157546389848 1.95753873096915 -75.1820711791515 2.01454066526758 -75.2065959684551 2.03318285799849 -75.2311207577586 2.00398950153676 -75.2556455470622 2.02830192272385 -75.2801703363657 1.95351312127093 -75.3046951256692 1.96588960010218 -75.3292199149728 1.98623100189676 -75.3537447042763 1.92340055156119 -75.3782694935799 1.92785573106247 -75.4027942828834 1.95970136068656 -75.4273190721869 1.90640679161797 -75.4518438614905 1.94284133483953 -75.476368650794 1.95397654192466 -75.5008934400976 1.89158495875804 -75.5254182294011 1.94313717054641 -75.5499430187047 1.91798086587206 -75.5744678080082 1.87041111556537 -75.5989925973117 1.91573909236417 -75.6235173866153 1.94339701067935 -75.6480421759188 1.91284938783037 -75.6725669652224 1.88644418335047 -75.6970917545259 1.87732642979738 -75.7216165438294 1.90129605303133 -75.746141333133 1.89456143514177 -75.7706661224365 1.81317937795493 -75.7951909117401 1.84208619607567 -75.8197157010436 1.887054449496 -75.8442404903471 1.91745522685318 -75.8687652796507 1.93152543141194 -75.8932900689542 1.89712526714776 -75.9178148582578 1.8771419194252 -75.9423396475613 1.90001878571128 -75.9668644368649 1.86122566031096 -75.9913892261684 1.90736748377609 -76.0159140154719 1.90995586926685 -76.0404388047755 1.88802276971356 -76.064963594079 1.94171854107072 -76.0894883833826 1.88117897121258 -76.1140131726861 1.88379357949455 -76.1385379619896 1.85650301261729 -76.1630627512932 1.88904568023683 -76.1875875405967 1.86851214001062 -76.2121123299003 1.90902521392966 -76.2366371192038 1.9056966422269 -76.2611619085073 1.90792697364563 -76.2856866978109 1.90856560730565 -76.3102114871144 1.89367225871469 -76.334736276418 1.89828572579694 -76.3592610657215 1.86236156547538 -76.3837858550251 1.82612297471516 -76.4083106443286 1.89708378823765 -76.4328354336321 1.90897062362395 -76.4573602229357 1.89552594132961 -76.4818850122392 1.93961812971847 -76.5064098015428 1.92621492633423 -76.5309345908463 1.9023189635546 -76.5554593801498 1.8835430367275 -76.5799841694534 1.91277405806961 -76.6045089587569 1.91507971924909 -76.6290337480605 1.92025267620089 -76.653558537364 1.91765499334424 -76.6780833266675 1.89868692808552 -76.7026081159711 1.89722133636357 -76.7271329052746 1.93774752167822 -76.7516576945782 1.92914992380785 -76.7761824838817 1.93082457938676 -76.8007072731853 1.99708729870035 -76.8252320624888 1.91805619563282 -76.8497568517923 1.93873658135083 -76.8742816410959 1.94060337536136 -76.8988064303994 1.92114566665769 -76.923331219703 1.90111321196559 -76.9478560090065 1.94595154531945 -76.97238079831 1.94775993499455 -76.9969055876136 1.98547555956588 -77.0214303769171 1.94045652986956 -77.0459551662207 1.92763903914608 -77.0704799555242 1.9669332500805 -77.0950047448277 2.0010244672422 -77.1195295341313 2.05605591025484 -77.1440543234348 1.96749655397977 -77.1685791127384 2.01043591177888 -77.1931039020419 1.97010186489585 -77.2176286913455 1.96955930045164 -77.242153480649 2.01903732367897 -77.2666782699525 1.96468217920673 -77.2912030592561 1.99012287749879 -77.3157278485596 1.94909560665003 -77.3402526378632 1.98464097344451 -77.3647774271667 2.000660929834 -77.3893022164702 1.97287476075879 -77.4138270057738 2.0445025754558 -77.4383517950773 1.96495727545855 -77.4628765843809 1.96521330156177 -77.4874013736844 2.02395592383398 -77.5119261629879 1.99616427142261 -77.5364509522915 1.99535042475629 -77.560975741595 1.93653628675304 -77.5855005308986 2.02887070995928 -77.6100253202021 2.00343382569694 -77.6345501095057 2.06979261422634 -77.6590748988092 2.09430647121094 -77.6835996881127 2.08227660436256 -77.7081244774163 2.01687469396156 -77.7326492667198 2.07583400815016 -77.7571740560234 2.03480292327168 -77.7816988453269 1.98483692590585 -77.8062236346304 2.05092061818343 -77.830748423934 2.05396312696203 -77.8552732132375 1.98596901704054 -77.8797980025411 2.07671937054752 -77.9043227918446 2.06538821100104 -77.9288475811481 2.1193290417891 -77.9533723704517 2.02053509694513 -77.9778971597552 1.97572680041221 -78.0024219490588 2.10202252071367 -78.0269467383623 2.07769698813097 -78.0514715276659 2.12170454939318 -78.0759963169694 2.06466113618465 -78.1005211062729 2.09217220900803 -78.1250458955765 1.98013120363751 -78.14957068488 2.00250317035975 -78.1740954741836 2.06907865080555 -78.1986202634871 2.14066117256274 -78.2231450527906 2.15332037570526 -78.2476698420942 2.06566712128259 -78.2721946313977 2.06626046200279 -78.2967194207013 2.10638163099914 -78.3212442100048 2.08188851346959 -78.3457689993083 2.02642750065388 -78.3702937886119 2.13674855750567 -78.3948185779154 2.11970950462262 -78.419343367219 2.1301891526224 -78.4438681565225 2.08980051543367 -78.4683929458261 2.04819301526031 -78.4929177351296 2.03681274874429 -78.5174425244331 2.1170741568856 -78.5419673137367 2.11147925819018 -78.5664921030402 2.13447293314712 -78.5910168923438 2.11617353836935 -78.6155416816473 2.19415932215212 -78.6400664709508 2.16147910640666 -78.6645912602544 2.13067712676091 -78.6891160495579 2.08616466593486 -78.7136408388615 2.0586857746557 -78.738165628165 2.08865316818009 -78.7626904174685 2.11973024407767 -78.7872152067721 2.19257310772958 -78.8117399960756 2.12078152211544 -78.8362647853792 2.15784707093758 -78.8607895746827 2.09930802918616 -78.8853143639863 2.13858150066554 -78.9098391532898 2.11093669374596 -78.9343639425933 2.12284045455759 -78.9588887318969 2.10130855729288 -78.9834135212004 2.18425990347693 -79.007938310504 2.13545817879001 -79.0324630998075 2.03989292240327 -79.056987889111 2.1012708924125 -79.0815126784146 2.1143312978436 -79.1060374677181 2.11208022696982 -79.1305622570217 2.08479514342872 -79.1550870463252 2.08577109170573 -79.1796118356287 2.05784737450461 -79.2041366249323 2.0505401553499 -79.2286614142358 2.05684901746611 -79.2531862035394 2.05794725775014 -79.2777109928429 2.05757990631222 -79.3022357821465 2.06299959200135 -79.32676057145 2.04737916859399 -79.3512853607535 2.01130434875091 -79.3758101500571 2.11029424605622 -79.4003349393606 2.13208431414743 -79.4248597286642 2.03679033998279 -79.4493845179677 2.01627753921163 -79.4739093072712 2.03952938499507 -79.4984340965748 2.03850266044208 -79.5229588858783 2.04278262693707 -79.5474836751819 2.00509536988023 -79.5720084644854 1.99347981671604 -79.5965332537889 2.02305363601129 -79.6210580430925 1.97615637021528 -79.645582832396 1.99924611438804 -79.6701076216996 1.9863308851423 -79.6946324110031 1.98905467403569 -79.7191572003067 2.05947125380753 -79.7436819896102 1.96518326474084 -79.7682067789137 1.95451910636887 -79.7927315682173 1.94453672987348 -79.8172563575208 1.98548867096148 -79.8417811468244 1.96681095807347 -79.8663059361279 1.88740487550858 -79.8908307254314 1.9122860839311 -79.915355514735 1.93959739026342 -79.9398803040385 1.93901167760266 -79.9644050933421 1.89573500518656 -79.9889298826456 1.88011076774949 -80.0134546719491 1.89464057893225 -80.0379794612527 1.92023575077556 -80.0625042505562 1.82920863171031 -80.0870290398598 1.83524239757469 -80.1115538291633 1.84916742594809 -80.1360786184669 1.91562228369331 -80.1606034077704 1.89099161803784 -80.1851281970739 1.8819229714543 -80.2096529863775 1.90436478460114 -80.234177775681 1.84612706189277 -80.2587025649846 1.7675763049043 -80.2832273542881 1.76040830318195 -80.3077521435916 1.95194383227373 -80.3322769328952 1.87385101260282 -80.3568017221987 1.81342229266254 -80.3813265115023 1.87586846613487 -80.4058513008058 1.92644472964623 -80.4303760901093 1.88609375733788 -80.4549008794129 1.83867848058243 -80.4794256687164 1.82751323667635 -80.50395045802 1.82908419498 -80.5284752473235 1.86145546362297 -80.5530000366271 1.87428987977178 -80.5775248259306 1.85349268538291 -80.6020496152341 1.79677895873191 -80.6265744045377 1.82069947499631 -80.6510991938412 1.8561111076946 -80.6756239831448 1.81961816013761 -80.7001487724483 1.8702528279844 -80.7246735617518 1.82438610077111 -80.7491983510554 1.80396936921576 -80.7737231403589 1.84894525069553 -80.7982479296625 1.85252055113562 -80.822772718966 1.84403976193612 -80.8472975082695 1.85858649854422 -80.8718222975731 1.87284121347516 -80.8963470868766 1.79596892609532 -80.9208718761802 1.78406897931341 -80.9453966654837 1.83973524195636 -80.9699214547873 1.8118644457545 -80.9944462440908 1.83134289391322 -81.0189710333943 1.83668724984159 -81.0434958226979 1.82552581996524 -81.0680206120014 1.78130919484608 -81.092545401305 1.83091713813987 -81.1170701906085 1.866323287502 -81.141594979912 1.8074469311336 -81.1661197692156 1.81736327523411 -81.1906445585191 1.80715490945644 -81.2151693478227 1.79050776149609 -81.2396941371262 1.87071243460841 -81.2642189264297 1.90345486871901 -81.2887437157333 1.88748401929907 -81.3132685050368 1.87258685667838 -81.3377932943404 1.8557060913763 -81.3623180836439 1.85957555821683 -81.3868428729475 1.85042013978337 -81.411367662251 1.85083659819083 -81.4358924515545 1.79551861683719 -81.4604172408581 1.83991045496265 -81.4849420301616 1.80534651978134 -81.5094668194652 1.79905458309046 -81.5339916087687 1.85132624163578 -81.5585163980722 1.90543847140041 -81.5830411873758 1.82863221641544 -81.6075659766793 1.84882462799495 -81.6320907659829 1.81896260105226 -81.6566155552864 1.78632386421691 -81.6811403445899 1.81444901721554 -81.7056651338935 1.84476683675252 -81.730189923197 1.84583504021561 -81.7547147125006 1.78260338759146 -81.7792395018041 1.88910956790843 -81.8037642911077 1.90373377900056 -81.8282890804112 1.81820715872137 -81.8528138697147 1.80787268690695 -81.8773386590183 1.8369170531536 -81.9018634483218 1.82137577353672 -81.9263882376254 1.8217769758253 -81.9509130269289 1.84379303319879 -81.9754378162324 1.80814015509933 -81.999962605536 1.80511290243962 -82.0244873948395 1.83457921042989 -82.0490121841431 1.84111239252194 -82.0735369734466 1.82169783203481 -82.0980617627501 1.84905824533667 -82.1225865520537 1.83063274452216 -82.1471113413572 1.78636152909729 -82.1716361306608 1.84722148814708 -82.1961609199643 1.79608573476618 -82.2206857092679 1.77911271427801 -82.2452104985714 1.77611549843923 -82.2697352878749 1.85308385503489 -82.2942600771785 1.78875777615642 -82.318784866482 1.81828630251185 -82.3433096557856 1.87386030996871 -82.3678344450891 1.81224872261775 -82.3923592343926 1.80285801753612 -82.4168840236962 1.78644067288777 -82.4414088129997 1.80840762329172 -82.4659336023033 1.85175581143885 -82.4904583916068 1.82044511819954 -82.5149831809103 1.83084562240883 -82.5395079702139 1.83447384384819 -82.5640327595174 1.79899617875503 -82.588557548821 1.80584760531545 -82.6130823381245 1.84085040766572 -82.6376071274281 1.82753016210168 -82.6621319167316 1.78869555779127 -82.6866567060351 1.79699183661859 -82.7111814953387 1.74934675655113 -82.7357062846422 1.80337221446584 -82.7602310739458 1.82638662887783 -82.7847558632493 1.81525904985214 -82.8092806525528 1.79216930567938 -82.8338054418564 1.82945536044764 -82.8583302311599 1.8047870299118 -82.8828550204635 1.78443251672161 -82.907379809767 1.83134289391322 -82.9319045990705 1.84377610777346 -82.9564293883741 1.77021165264132 -82.9809541776776 1.84426956524813 -83.0054789669812 1.81882505292634 -83.0300037562847 1.84539617304665 -83.0545285455883 1.80273358080581 -83.0790533348918 1.80918380507765 -83.1035781241953 1.76884594416491 -83.1281029134989 1.83069496288731 -83.1526277028024 1.84306762768884 -83.177152492106 1.85196868932552 -83.2016772814095 1.82388501523699 -83.226202070713 1.81392337819666 -83.2507268600166 1.81646098741142 -83.2752516493201 1.78986912783606 -83.2997764386237 1.82085394854756 -83.3243012279272 1.73869570957478 -83.3488260172307 1.78445325617666 -83.3733508065343 1.82035286301345 -83.3978755958378 1.74918846897017 -83.4224003851414 1.83656662714101 -83.4469251744449 1.81507453947995 -83.4714499637485 1.77888839430217 -83.495974753052 1.82859455153506 -83.5204995423555 1.79473695171509 -83.5450243316591 1.74272513330272 -83.5695491209626 1.76653265492598 -83.5940739102662 1.82404878615412 -83.6185986995697 1.84517948113026 -83.6431234888732 1.82334245079278 -83.6676482781768 1.82931781232173 -83.6921730674803 1.78273712168765 -83.7166978567839 1.78694175842188 -83.7412226460874 1.78061597088034 -83.7657474353909 1.75406940424481 -83.7902722246945 1.75143024247806 -83.814797013998 1.75163930633501 -83.8393218033016 1.82480041445529 -83.8638465926051 1.7915383000788 -83.8883713819087 1.72980227599754 -83.9128961712122 1.74866664398101 -83.9374209605157 1.78308373367052 -83.9619457498193 1.75056180550603 -83.9864705391228 1.80068775975927 -84.0109953284264 1.77953847005136 -84.0355201177299 1.79930893988724 -84.0600449070334 1.77450854456165 -84.084569696337 1.83217748003459 -84.1090944856405 1.82953831826785 -84.1336192749441 1.82040745331916 -84.1581440642476 1.76791910285745 -84.1826688535511 1.78080810931197 -84.2071936428547 1.7284742324015 -84.2317184321582 1.7519067745274 -84.2562432214618 1.75607756041097 -84.2807680107653 1.72614020370752 -84.3052928000689 1.81284206333795 -84.3298175893724 1.79890392356894 -84.3543423786759 1.69799812528356 -84.3788671679795 1.7288508812053 -84.403391957283 1.77903357048753 -84.4279167465866 1.77345559721744 -84.4524415358901 1.77363462425345 -84.4769663251936 1.73200257059533 -84.5014911144972 1.7847960541298 -84.5260159038007 1.76209821487974 -84.5505406931043 1.73142234127073 -84.5750654824078 1.68753921673883 -84.5995902717113 1.70883368263209 -84.6241150610149 1.74413613471896 -84.6486398503184 1.79044935716066 -84.673164639622 1.7478434999488 -84.6976894289255 1.70129284613566 -84.7222142182291 1.76047433557682 -84.7467390075326 1.71946399015339 -84.7712637968361 1.68620735911307 -84.7957885861397 1.71291769666574 -84.8203133754432 1.74267435702673 -84.8448381647468 1.73331368876603 -84.8693629540503 1.72413204754135 -84.8938877433538 1.75908788764536 -84.9184125326574 1.69274221051156 -84.9429373219609 1.82662024621955 -84.9674621112645 1.72573518738922 -84.991986900568 1.71753879180743 -85.0165116898716 1.71747275941256 -85.0410364791751 1.70457064156243 -85.0655612684786 1.77523013604188 -85.0900860577822 1.76192300187345 -85.1146108470857 1.8108246098059 -85.1391356363893 1.71277466520366 -85.1636604256928 1.73739770279968 -85.1881852149963 1.75106670506986 -85.2127100042999 1.70880912914732 -85.2372347936034 1.7681696456245 -85.261759582907 1.73528799408154 -85.2862843722105 1.67729318608078 -85.310809161514 1.72733069917764 -85.3353339508176 1.75340073376384 -85.3598587401211 1.70513013143197 -85.3843835294247 1.71293843612079 -85.4089083187282 1.78268253138194 -85.4334331080318 1.71463764518447 -85.4579578973353 1.80383563511957 -85.4824826866388 1.77928411325458 -85.5070074759424 1.76923022102815 -85.5315322652459 1.78273712168765 -85.5560570545495 1.78163506737389 -85.580581843853 1.80114188304711 -85.6051066331565 1.73418212573806 -85.6296314224601 1.76763089521001 -85.6541562117636 1.75897107897449 -85.6786810010672 1.76629522355453 -85.7032057903707 1.83298751267119 -85.7277305796742 1.78227370103392 -85.7522553689778 1.76311731137329 -85.7767801582813 1.73728852218826 -85.8013049475849 1.79535103189034 -85.8258297368884 1.74130102049087 -85.850354526192 1.75310489805696 -85.8748793154955 1.75322552075755 -85.899404104799 1.72908449854703 -85.9239288941026 1.79939738104361 -85.9484536834061 1.80378485884358 -85.9729784727097 1.79408139262974 -85.9975032620132 1.78092110395311 -86.0220280513167 1.77490044948434 -86.0465528406203 1.77874154881037 -86.0710776299238 1.79575604820864 -86.0956024192274 1.77396049678127 -86.1201272085309 1.8088917834005 -86.1446519978344 1.83793996367687 -86.169176787138 1.85393918061131 -86.1937015764415 1.81026511993636 -86.2182263657451 1.78782712081924 -86.2427511550486 1.72372703122306 -86.2672759443522 1.78468305948866 -86.2918007336557 1.78722996606932 -86.3163255229592 1.81535130503823 -86.3408503122628 1.81395174571115 -86.3653751015663 1.80057476511812 -86.3898998908699 1.83977672086646 -86.4144246801734 1.83783078306545 -86.4389494694769 1.75283361583486 -86.4634742587805 1.76500865886859 -86.487999048084 1.82513391504255 -86.5125238373876 1.85069142200547 -86.5370486266911 1.84743818006348 -86.5615734159946 1.81099219475275 -86.5860982052982 1.90069508425168 -86.6106229946017 1.79076593232259 -86.6351477839053 1.81938072876616 -86.6596725732088 1.82604001689496 -86.6841973625124 1.85696643327102 -86.7087221518159 1.846102508408 -86.7332469411194 1.91193947194824 -86.757771730423 1.88244479644347 -86.7822965197265 1.85978080804406 -86.8068213090301 1.82554274539057 -86.8313460983336 1.8796266076407 -86.8558708876371 1.78949629306198 -86.8803956769407 1.73197801711055 -86.9049204662442 1.83386906103883 -86.9294452555478 1.92104196938243 -86.9539700448513 1.87743775513208 -86.9784948341548 1.87549730066723 -87.0030196234584 1.90329658113805 -87.0275444127619 1.89842327392286 -87.0520692020655 1.8421860793212 -87.076593991369 1.88986882426904 -87.1011187806726 1.91707857804937 -87.1256435699761 1.81502161848069 -87.1501683592796 1.89907120494877 -87.1746931485832 1.93208492128148 -87.1992179378867 1.9078685693102 -87.2237427271903 1.87708351508977 -87.2482675164938 1.82224039647903 -87.2727923057973 1.86670375033552 -87.2973170951009 1.88048574724685 -87.3218418844044 1.85738074695521 -87.346366673708 1.95773849746021 -87.3708914630115 1.86472396168385 -87.395416252315 1.82054118741535 -87.4199410416186 1.86292868340436 -87.4444658309221 1.84596496028208 -87.4689906202257 1.85277872196212 -87.4935154095292 1.87835315435038 -87.5180401988328 1.85548391612374 -87.5425649881363 1.84092192339676 -87.5670897774398 1.9110994024907 -87.5916145667434 1.84990594285365 -87.6161393560469 1.85429508996006 -87.6406641453505 1.85949641442635 -87.665188934654 1.93357673579465 -87.6897137239575 1.86260281087655 -87.7142385132611 1.85790638597409 -87.7387633025646 1.87405244840033 -87.7632880918682 1.9401230292823 -87.7878128811717 1.87596834938041 -87.8123376704752 1.8924986886699 -87.8368624597788 1.90163503695475 -87.8613872490823 1.91297930789684 -87.8859120383859 1.88810191350404 -87.9104368276894 1.87205192029361 -87.934961616993 1.87671234962213 -87.9594864062965 1.87130029199245 -87.9840111956 1.95844483282156 -88.0085359849036 1.89128745374472 -88.0330607742071 1.81543044882871 -88.0575855635107 1.87626966842345 -88.0821103528142 1.83800218204202 -88.1066351421177 1.88431540448372 -88.1311599314213 1.86580146251284 -88.1556847207248 1.88433614393877 -88.1802095100284 1.84413583115193 -88.2047342993319 1.90216449000336 -88.2292590886354 1.80355124150185 -88.253783877939 1.83608628106195 -88.2783086672425 1.86901703957445 -88.3028334565461 1.82072784251081 -88.3273582458496 1.8200739527319 -88.3518830351532 1.85513349011115 -88.3764078244567 1.80505831213391 -88.4009326137602 1.8151591666066 -88.4254574030638 1.83550986576707 -88.4499821923673 1.86076605368696 -88.4745069816709 1.83176864968657 -88.4990317709744 1.81460349076678 -88.5235565602779 1.81165156786783 -88.5480813495815 1.88597313463729 -88.572606138885 1.89735888448948 -88.5971309281886 1.84822747324502 -88.6216557174921 1.83288762942566 -88.6461805067956 1.84059056753278 -88.6707052960992 1.79937664158856 -88.6952300854027 1.84616472677315 -88.7197548747063 1.8322320703403 -88.7442796640098 1.85688728948054 -88.7688044533134 1.85975625455929 -88.7933292426169 1.92504517031915 -88.8178540319204 1.81292502115816 -88.842378821224 1.72882084438437 -88.8669036105275 1.81070398710532 -88.8914283998311 1.80252833097858 -88.9159531891346 1.85001893749479 -88.9404779784381 1.81459967673706 -88.9650027677417 1.79331283890324 -88.9895275570452 1.74989861836123 -89.0140523463488 1.82420707373509 -89.0385771356523 1.80575153609964 -89.0631019249558 1.82656565591384 -89.0876267142594 1.75458741520425 -89.1121515035629 1.83053667530635 -89.1366762928665 1.79953874319924 -89.16120108217 1.82437847271166 -89.1857258714736 1.82629055966202 -89.2102506607771 1.86446960488708 -89.2347754500806 1.81593153436282 -89.2593002393842 1.84666962633698 -89.2838250286877 1.79027414415436 -89.3083498179913 1.85160133788761 -89.3328746072948 1.81128803045963 -89.3573993965983 1.79999834982325 -89.3819241859019 1.81809416408023 -89.4064489752054 1.76871602409844 -89.430973764509 1.78577748574297 -89.4554985538125 1.77801447399398 -89.480023343116 1.80439131095939 -89.5045481324196 1.86335062514799 -89.5290729217231 1.82008158079134 -89.5535977110267 1.79957640807963 -89.5781225003302 1.74859131422025 -89.6026472896338 1.84315058550904 -89.6271720789373 1.81793969052898 -89.6516968682408 1.79037784142962 -89.6762216575444 1.78194401447638 -89.7007464468479 1.80923839538336 -89.7252712361515 1.86608585613055 -89.749796025455 1.81367664945932 -89.7743208147585 1.81757615312079 -89.7988456040621 1.82522998425836 -89.8233703933656 1.83560593498289 -89.8478951826692 1.85858649854422 -89.8724199719727 1.83264090068832 -89.8969447612762 1.88641581583597 -89.9214695505798 1.87041111556537 -89.9459943398833 1.89891673139752 -89.9705191291869 1.8748870345217 -89.9950439184904 1.80424446546759 -90.019568707794 1.79382703583296 -90.0440934970975 1.81466189510221 -90.068618286401 1.84130071692384 -90.0931430757046 1.81684145024495 -90.1176678650081 1.84094647688153 -90.1421926543117 1.87426532628701 -90.1667174436152 1.91201861573872 -90.1912422329187 1.87123807362729 -90.2157670222223 1.91117473225146 -90.2402918115258 1.84747203091414 -90.2648166008294 1.91216546123052 -90.2893413901329 1.90654433974388 -90.3138661794364 1.88248627535357 -90.33839096874 1.84521714601064 -90.3629157580435 1.84762650446538 -90.3874405473471 1.86531348837433 -90.4119653366506 1.90989746493141 -90.4364901259542 1.83952236406968 -90.4610149152577 1.91917517537191 -90.4855397045612 1.88798510483318 -90.5100644938648 1.90836584081459 -90.5345892831683 1.93972182699372 -90.5591140724719 1.83813973016793 -90.5836388617754 1.94870370172734 -90.6081636510789 1.90731289347038 -90.6326884403825 1.91812771136386 -90.657213229686 1.92650694801139 -90.6817380189896 1.91018948660857 -90.7062628082931 1.91205246658938 -90.7307875975966 1.90885381495309 -90.7553123869002 1.92118333153807 -90.7798371762037 1.89789382087425 -90.8043619655073 1.90374689039617 -90.8288867548108 1.89816510309636 -90.8534115441144 1.90753888275266 -90.8779363334179 1.95640663983446 -90.9024611227214 1.94757161059264 -90.926985912025 1.85688728948054 -90.9515107013285 1.92368875920862 -90.9760354906321 1.88801895568384 -91.0005602799356 1.95242799238251 -91.0250850692391 1.87363813471615 -91.0496098585427 1.89746043704146 -91.0741346478462 2.00868592643921 -91.0986594371498 1.89232728969332 -91.1231842264533 1.85453252133151 -91.1477090157568 1.88489181977859 -91.1722338050604 1.94734180728064 -91.1967585943639 1.89922567850001 -91.2212833836675 1.93748386751555 -91.245808172971 1.93803572932565 -91.2703329622746 1.94340082470907 -91.2948577515781 1.96626839362926 -91.3193825408816 1.91147605129451 -91.3439073301852 1.92716250709674 -91.3684321194887 1.87200662735379 -91.3929569087923 1.87448583223313 -91.4174816980958 1.86997773173257 -91.4420064873993 1.97293697912394 -91.4665312767029 1.90590570608386 -91.4910560660064 1.93450357710211 -91.51558085531 1.93156309629232 -91.5401056446135 1.88082091714055 -91.564630433917 1.88504080999367 -91.5891552232206 1.88927166951911 -91.6136800125241 1.910758273844 -91.6382048018277 1.92155449700571 -91.6627295911312 1.84251576587874 -91.6872543804348 1.90209845760848 -91.7117791697383 1.91342198909552 -91.7363039590418 1.94257386664714 -91.7608287483454 1.94463661311902 -91.7853535376489 1.93850677803883 -91.8098783269525 1.87033197177488 -91.834403116256 1.87552185415201 -91.8589279055595 1.87569325312858 -91.8834526948631 1.92152994352094 -91.9079774841666 1.88308343010349 -91.9325022734702 1.92758063481065 -91.9570270627737 1.90953392752322 -91.9815518520772 1.87189363271265 -92.0060766413808 1.86095819211858 -92.0306014306843 1.92350973217261 -92.0551262199879 1.93491622147985 -92.0796510092914 1.87586846613487 -92.104175798595 1.8521400883021 -92.1287005878985 1.89454069568672 -92.153225377202 1.88074940140951 -92.1777501665056 1.86229004974434 -92.2022749558091 1.83497111535258 -92.2267997451127 1.93155928226259 -92.2513245344162 1.90061975449092 -92.2758493237197 1.87143021205892 -92.3003741130233 1.8480353348134 -92.3248989023268 1.89590640416314 -92.3494236916304 1.88001469853367 -92.3739484809339 1.88945069655513 -92.3984732702374 1.84805226023873 -92.422998059541 1.87588920558992 -92.4475228488445 1.86452038116307 -92.4720476381481 1.85854883366384 -92.4965724274516 1.88639889041064 -92.5210972167552 1.89357237546916 -92.5456220060587 1.84730444596728 -92.5701467953622 1.86037796279399 -92.5946715846658 1.85879556240117 -92.6191963739693 1.85160515191733 -92.6437211632729 1.8369585320637 -92.6682459525764 1.85239063106915 -92.6927707418799 1.85460785109227 -92.7172955311835 1.8806948111038 -92.741820320487 1.81091686499199 -92.7663451097906 1.85811926386077 -92.7908698990941 1.85497901655991 -92.8153946883976 1.83088328728922 -92.8399194777012 1.8035305020468 -92.8644442670047 1.82180152931007 -92.8889690563083 1.77798992050921 -92.9134938456118 1.74481243325936 -92.9380186349154 1.79540180816633 -92.9625434242189 1.88158017350116 -92.9870682135224 1.82038671386411 -93.011593002826 1.81289498433722 -93.0361177921295 1.72648300166066 -93.0606425814331 1.76639510680006 -93.0851673707366 1.81381038355551 -93.1096921600401 1.82683312410623 -93.1342169493437 1.82991878110137 -93.1587417386472 1.83447384384819 -93.1832665279508 1.77004406769447 -93.2077913172543 1.7639404554055 -93.2323161065578 1.79747599672737 -93.2568408958614 1.81485021950412 -93.2813656851649 1.82621522990125 -93.3058904744685 1.79124627840164 -93.330415263772 1.79793560335138 -93.3549400530756 1.82546360160009 -93.3794648423791 1.76518387187489 -93.4039896316826 1.77631145090058 -93.4285144209862 1.77318431499533 -93.4530392102897 1.82089161342794 -93.4775639995933 1.78892536110327 -93.5020887888968 1.76508780265908 -93.5266135782003 1.76459982852057 -93.5511383675039 1.76431924893258 -93.5756631568074 1.75096300779461 -93.600187946111 1.77318812902505 -93.6247127354145 1.72569370847912 -93.649237524718 1.77480438026852 -93.6737623140216 1.77625304656515 -93.6982871033251 1.7322569273921 -93.7228118926287 1.85012811810621 -93.7473366819322 1.8407412270543 -93.7718614712358 1.79358030709563 -93.7963862605393 1.76971438113694 -93.8209110498428 1.76612763860768 -93.8454358391464 1.81054951355407 -93.8699606284499 1.80497916834342 -93.8944854177535 1.74459955537269 -93.919010207057 1.74978562372009 -93.9435349963605 1.74626109955599 -93.9680597856641 1.76862925224851 -93.9925845749676 1.71140514269752 -94.0171093642712 1.75444986707833 -94.0416341535747 1.79014422408789 -94.0661589428782 1.76609378775702 -94.0906837321818 1.69882126931576 -94.1152085214853 1.74963496419857 -94.1397333107889 1.76955227952625 -94.1642581000924 1.75649020478871 -94.188782889396 1.74503842254165 -94.2133076786995 1.76624063324882 -94.237832468003 1.76776844333592 -94.2623572573066 1.73858271493364 -94.2868820466101 1.72955173323048 -94.3114068359137 1.70727583572405 -94.3359316252172 1.69177770432372 -94.3604564145207 1.76726735780181 -94.3849812038243 1.70908803942887 -94.4095059931278 1.72021180442484 -94.4340307824314 1.76265389071956 -94.4585555717349 1.75997325004271 -94.4830803610384 1.73449107284055 -94.507605150342 1.74224478722366 -94.5321299396455 1.74890026132273 -94.5566547289491 1.74278735166787 -94.5811795182526 1.73792334181856 -94.6057043075562 1.76255400747403 -94.6302290968597 1.79157215092946 -94.6547538861632 1.79097118214982 -94.6792786754668 1.79890392356894 -94.7038034647703 1.74152700977315 -94.7283282540739 1.76817345965422 -94.7528530433774 1.78163506737389 -94.7773778326809 1.8172257271082 -94.8019026219845 1.77303365547381 -94.826427411288 1.75862446699162 -94.8509522005916 1.79277957182491 -94.8754769898951 1.77006862117925 -94.9000017791986 1.7479903454406 -94.9245265685022 1.74254062293054 -94.9490513578057 1.71334726646881 -94.9735761471093 1.75042044335039 -94.9981009364128 1.73603962238271 -95.0226257257164 1.78022025192793 -95.0471505150199 1.79409831805507 -95.0716753043234 1.76981426438247 -95.096200093627 1.75823637609866 -95.1207248829305 1.76643277168044 -95.1452496722341 1.74608588654969 -95.1697744615376 1.76811124128907 -95.1942992508411 1.76582250553491 -95.2188240401447 1.76702611240064 -95.2433488294482 1.79692032088755 -95.2678736187518 1.76124288930332 -95.2923984080553 1.81627814634569 -95.3169231973588 1.7944280046126 -95.3414479866624 1.76358073202702 -95.3659727759659 1.75734719967158 -95.3904975652695 1.77135518586518 -95.415022354573 1.80507142352951 -95.4395471438766 1.803383656555 -95.4640719331801 1.76920566754338 -95.4885967224836 1.77770171286177 -95.5131215117872 1.81051566270341 -95.5376463010907 1.79349734927542 -95.5621710903943 1.81410240523267 -95.5866958796978 1.82929325883696 -95.6112206690013 1.8453754335916 -95.6357454583049 1.81894567562693 -95.6602702476084 1.81116740775905 -95.684795036912 1.82318797724154 -95.7093198262155 1.77330493769591 -95.733844615519 1.79737611348184 -95.7583694048226 1.780649821731 -95.7828941941261 1.8027073580146 -95.8074189834297 1.75882590278914 -95.8319437727332 1.8318139426264 -95.8564685620368 1.78174806201504 -95.8809933513403 1.81680378536457 -95.9055181406438 1.8016391545515 -95.9300429299474 1.77895442669705 -95.9545677192509 1.79118024600677 -95.9790925085545 1.79413979696517 -96.003617297858 1.79195261376299 -96.0281420871615 1.84355941585706 -96.0526668764651 1.8449289383632 -96.0771916657686 1.86014434545226 -96.1017164550722 1.7823113659143 -96.1262412443757 1.84785630777738 -96.1507660336792 1.82247401382075 -96.1752908229828 1.81522138497176 -96.1998156122863 1.79035710197457 -96.2243404015899 1.77858707525913 -96.2488651908934 1.83057434018673 -96.273389980197 1.84853260631779 -96.2979147695005 1.83343019386987 -96.322439558804 1.82935929123183 -96.3469643481076 1.85977699401434 -96.3714891374111 1.85187262010971 -96.3960139267147 1.81068706167999 -96.4205387160182 1.85161826331294 -96.4450635053217 1.85715857170265 -96.4695882946253 1.84892069721076 -96.4941130839288 1.80925913483842 -96.5186378732324 1.84723841357241 -96.5431626625359 1.89637745287631 -96.5676874518394 1.84714615838632 -96.592212241143 1.79874563598798 -96.6167370304465 1.87517524216914 -96.6412618197501 1.79995687091315 -96.6657866090536 1.80347591174109 -96.6903113983572 1.79446566949298 -96.7148361876607 1.8018689578635 -96.7393609769642 1.82291669501943 -96.7638857662678 1.81527597527747 -96.7884105555713 1.88467894189191 -96.8129353448749 1.88223573258651 -96.8374601341784 1.82041126734888 -96.8619849234819 1.83248642713708 -96.8865097127855 1.88190604602897 -96.911034502089 1.84432796958356 -96.9355592913926 1.84616472677315 -96.9600840806961 1.84276249461607 -96.9846088699996 1.84623624250419 -97.0091336593032 1.84603099267696 -97.0336584486067 1.79081670859857 -97.0581832379103 1.78732603528513 -97.0827080272138 1.7922653748952 -97.1072328165174 1.83616923888215 -97.1317576058209 1.796871213918 -97.1562823951244 1.8451041513695 -97.180807184428 1.82624908075191 -97.2053319737315 1.83788918740088 -97.2298567630351 1.81119196124382 -97.2543815523386 1.8134561435132 -97.2789063416421 1.84775094119569 -97.3034311309457 1.83437396060266 -97.3279559202492 1.80906699640679 -97.3524807095528 1.81537204449328 -97.3770054988563 1.79552624489664 -97.4015302881598 1.84415275657726 -97.4260550774634 1.86103352187934 -97.4505798667669 1.7790166450622 -97.4751046560705 1.79909224797084 -97.499629445374 1.80221938387609 -97.5241542346776 1.76894201338072 -97.5486790239811 1.7777186382871 -97.5732038132846 1.80293334729688 -97.5977286025882 1.79014041005817 -97.6222533918917 1.8820567055505 -97.6467781811953 1.85507508577572 -97.6713029704988 1.85003967694984 -97.6958277598023 1.85688347545082 -97.7203525491059 1.90501652965678 -97.7448773384094 1.80067846239338 -97.769402127713 1.82692537929232 -97.7939269170165 1.87553877957734 -97.81845170632 1.79659444835973 -97.8429764956236 1.7670883307658 -97.8675012849271 1.75983951594652 -97.8920260742307 1.77112156852346 -97.9165508635342 1.84442022476965 -97.9410756528378 1.81314171307455 -97.9656004421413 1.77715914841756 -97.9901252314448 1.82247401382075 -98.0146500207484 1.7908620015384 -98.0391748100519 1.77112156852346 -98.0636995993555 1.74523437500299 -98.088224388659 1.78325131861737 -98.1127491779625 1.79375552010192 -98.1372739672661 1.74242000022995 -98.1617987565696 1.738211549466 -98.1863235458732 1.83373151291292 -98.2108483351767 1.83048208500064 -98.2353731244802 1.83059507964178 -98.2598979137838 1.82401493530347 -98.2844227030873 1.78783093484896 -98.3089474923909 1.78981072350063 -98.3334722816944 1.81879120207568 -98.357997070998 1.76526301566537 -98.3825218603015 1.70854166095493 -98.407046649605 1.8133092980214 -98.4315714389086 1.73945496593539 -98.4560962282121 1.74125954158077 -98.4806210175157 1.77644137096705 -98.5051458068192 1.75100830073443 -98.5296705961227 1.75556884681742 -98.5541953854263 1.75391874472328 -98.5787201747298 1.75943449962822 -98.6032449640334 1.75686303956279 -98.6277697533369 1.84669966315792 -98.6522945426404 1.80735467594751 -98.676819331944 1.76043285666672 -98.7013441212475 1.77419411412299 -98.7258689105511 1.74829929254309 -98.7503936998546 1.76672860738732 -98.7749184891582 1.76527612706098 -98.7994432784617 1.81774373806764 -98.8239680677652 1.79518344694349 -98.8484928570688 1.78961858506901 -98.8730176463723 1.75201047180265 -98.8975424356759 1.73334753961669 -98.9220672249794 1.76084168701474 -98.9465920142829 1.76340933305045 -98.9711168035865 1.73306314599898 -98.99564159289 1.74664156238951 -99.0201663821936 1.73935126866014 -99.0446911714971 1.77798610647948 -99.0692159608006 1.81881194153073 -99.0937407501042 1.79093351726944 -99.1182655394077 1.77154732429681 -99.1427903287113 1.78289159523889 -99.1673151180148 1.77148510593165 -99.1918399073184 1.78827361604764 -99.2163646966219 1.77054515322858 -99.2408894859254 1.7459521524535 -99.265414275229 1.74540577397957 -99.2899390645325 1.80655394067679 -99.3144638538361 1.8494801870803 -99.3389886431396 1.79317529077733 -99.3635134324431 1.77052059974381 -99.3880382217467 1.77046982346782 -99.4125630110502 1.71624459906205 -99.4370878003538 1.75219498217483 -99.4616125896573 1.82301276423524 -99.4861373789608 1.74984784208524 -99.5106621682644 1.8101483112655 -99.5351869575679 1.75908407361563 -99.5597117468715 1.78082884876702 -99.584236536175 1.75557266084714 -99.6087613254786 1.83758953766428 -99.6332861147821 1.81646098741142 -99.6578109040856 1.72525484131016 -99.6823356933892 1.77580655133675 -99.7068604826927 1.75204432265331 -99.7313852719963 1.71645366291901 -99.7559100612998 1.80179362810274 -99.7804348506033 1.74350131508866 -99.8049596399069 1.77819898436616 -99.8294844292104 1.84082037084478 -99.854009218514 1.77032846131219 -99.8785340078175 1.8033006987348 -99.903058797121 1.78248276489087 -99.9275835864246 1.82324256754725 -99.9521083757281 1.83071188831264 -99.9766331650317 1.73555546227392 -100.001157954335 1.77771482425738 -100.025682743639 1.77999807667537 -100.050207532942 1.83369766206226 -100.074732322246 1.85769732211714 -100.099257111549 1.83597710045053 -100.123781900853 1.83869540600775 -100.148306690156 1.78615627927006 -100.17283147946 1.73130553259987 -100.197356268764 1.76067028803817 -100.221881058067 1.7543914627429 -100.246405847371 1.78707930654779 -100.270930636674 1.78481679358485 -100.295455425978 1.74313777768046 -100.319980215281 1.76324723143976 -100.344505004585 1.77407730545213 -100.369029793888 1.77325964475609 -100.393554583192 1.78762187099201 -100.418079372495 1.7180737281922 -100.442604161799 1.76095468165588 -100.467128951102 1.75135109868758 -100.491653740406 1.74037417918341 -100.51617852971 1.81378964410046 -100.540703319013 1.77720444135738 -100.565228108317 1.75682537468241 -100.58975289762 1.75193132801217 -100.614277686924 1.7174389085619 -100.638802476227 1.77748502094537 -100.663327265531 1.80050324938709 -100.687852054834 1.75790668954112 -100.712376844138 1.78431570805074 -100.736901633441 1.79022336787837 -100.761426422745 1.77234043150807 -100.785951212049 1.70854547498466 -100.810476001352 1.78323439319204 -100.835000790656 1.7278394127712 -100.859525579959 1.78336812728823 -100.884050369263 1.73568919637012 -100.908575158566 1.74783968591908 -100.93309994787 1.71027853489899 -100.957624737173 1.71497114577173 -100.982149526477 1.79963099838534 -101.00667431578 1.759918659737 -101.031199105084 1.71230361649049 -101.055723894387 1.79083744805362 -101.080248683691 1.78096258286321 -101.104773472995 1.71965612858502 -101.129298262298 1.72795240741234 -101.153823051602 1.73655763334215 -101.178347840905 1.71835812180992 -101.202872630209 1.75680844925708 -101.227397419512 1.76410255701618 -101.251922208816 1.72454087788938 -101.276446998119 1.71404049043454 -101.300971787423 1.7236931803724 -101.325496576726 1.7271762256264 -101.35002136603 1.76429088141809 -101.374546155334 1.81219413231204 -101.399070944637 1.72920512124761 -101.423595733941 1.77034920076724 -101.448120523244 1.78422345286465 -101.472645312548 1.76215280518545 -101.497170101851 1.73531803090248 -101.521694891155 1.75957204775414 -101.546219680458 1.70389434302202 -101.570744469762 1.77430710876414 -101.595269259065 1.73495067946456 -101.619794048369 1.70660335121337 -101.644318837672 1.69009542068537 -101.668843626976 1.75315019099679 -101.69336841628 1.75587397989018 -101.717893205583 1.78835657386784 -101.742417994887 1.75501698500732 -101.76694278419 1.72424122815277 -101.791467573494 1.7603651549654 -101.815992362797 1.72598573015628 -101.840517152101 1.7528636526558 -101.865041941404 1.80628098914824 -101.889566730708 1.66612031411526 -101.914091520011 1.78312521258062 -101.938616309315 1.69186066214392 -101.963141098619 1.76700918697531 -101.987665887922 1.7846077297279 -102.012190677226 1.7982614758792 -102.036715466529 1.73632783003014 -102.061240255833 1.72062063477286 -102.085765045136 1.74301334095015 -102.11028983444 1.73545939305811 -102.134814623743 1.7128876598448 -102.159339413047 1.7165459181051 -102.18386420235 1.77064503647412 -102.208388991654 1.71552682161155 -102.232913780957 1.72841201403635 -102.257438570261 1.75081234827309 -102.281963359565 1.76153491098048 -102.306488148868 1.7883904247185 -102.331012938172 1.72453324982993 -102.355537727475 1.74797723404499 -102.380062516779 1.70497565788073 -102.404587306082 1.74485009813975 -102.429112095386 1.70806131487587 -102.453636884689 1.71699622736322 -102.478161673993 1.72660362436125 -102.502686463296 1.66506736677105 -102.5272112526 1.7301074090703 -102.551736041903 1.75744708291711 -102.576260831207 1.71236583485564 -102.600785620511 1.74698436034266 -102.625310409814 1.77901283103248 -102.649835199118 1.74994391130106 -102.674359988421 1.7719523406151 -102.698884777725 1.78612791175556 -102.723409567028 1.74597289190855 -102.747934356332 1.69178533238316 -102.772459145635 1.68585693310048 -102.796983934939 1.76554740928308 -102.821508724242 1.77303365547381 -102.846033513546 1.7016356440888 -102.87055830285 1.69354294578227 -102.895083092153 1.78670432705043 -102.919607881457 1.78412738364884 -102.94413267076 1.7613220330938 -102.968657460064 1.78720922661427 -102.993182249367 1.74915080408979 -103.017707038671 1.77307132035419 -103.042231827974 1.73173891643266 -103.066756617278 1.72642078329551 -103.091281406581 1.77245724017894 -103.115806195885 1.73998990232016 -103.140330985188 1.70528460498321 -103.164855774492 1.71194007908229 -103.189380563796 1.70030760049277 -103.213905353099 1.74349750105894 -103.238430142403 1.71493348089135 -103.262954931706 1.69161011937687 -103.28747972101 1.71328886213338 -103.312004510313 1.77887528290656 -103.336529299617 1.71759719614286 -103.36105408892 1.69857072654871 -103.385578878224 1.71113004644569 -103.410103667527 1.73963947630757 -103.434628456831 1.79029869763913 -103.459153246135 1.76863306627823 -103.483678035438 1.76120141039322 -103.508202824742 1.81673226963353 -103.532727614045 1.79725549078125 -103.557252403349 1.7486950114955 -103.581777192652 1.72401523887049 -103.606301981956 1.78477531467475 -103.630826771259 1.72084114071898 -103.655351560563 1.66120171396024 -103.679876349866 1.7640234132257 -103.70440113917 1.82453294626291 -103.728925928473 1.79155903953385 -103.753450717777 1.75765233274434 -103.777975507081 1.81097908335714 -103.802500296384 1.75596075174011 -103.827025085688 1.72924660015772 -103.851549874991 1.69963511598208 -103.876074664295 1.69826559347594 -103.900599453598 1.72908068451731 -103.925124242902 1.75608137444069 -103.949649032205 1.75663323625079 -103.974173821509 1.80287112893173 -103.998698610812 1.78121693965999 -104.023223400116 1.75923854716688 -104.04774818942 1.75859991350685 -104.072272978723 1.84498352866891 -104.096797768027 1.85426505313912 -104.12132255733 1.77139666477528 -104.145847346634 1.78093802937844 -104.170372135937 1.79241984844644 -104.194896925241 1.7648749247724 -104.219421714544 1.7743824385249 -104.243946503848 1.72278326449027 -104.268471293151 1.73927212486965 -104.292996082455 1.7652384621806 -104.317520871758 1.84329743100084 -104.342045661062 1.85210623745144 -104.366570450366 1.82988111622099 -104.391095239669 1.8095964494554 -104.415620028973 1.74796960598555 -104.440144818276 1.80999383771425 -104.46466960758 1.77625304656515 -104.489194396883 1.78010725728679 -104.513719186187 1.810866088716 -104.53824397549 1.82194837480187 -104.562768764794 1.8001943022846 -104.587293554097 1.76197759217916 -104.611818343401 1.85601503847879 -104.636343132704 1.83820194853309 -104.660867922008 1.77490044948434 -104.685392711312 1.77051130237793 -104.709917500615 1.78211159942323 -104.734442289919 1.77477052941787 -104.758967079222 1.80347209771137 -104.783491868526 1.78088343907273 -104.808016657829 1.78946411151776 -104.832541447133 1.86126332519135 -104.857066236436 1.86665297405954 -104.88159102574 1.85364334490443 -104.906115815043 1.89035298437782 -104.930640604347 1.7968995814325 -104.955165393651 1.8490336918519 -104.979690182954 1.84508341191445 -105.004214972258 1.75387345178346 -105.028739761561 1.81304182982902 -105.053264550865 1.80436127413845 -105.077789340168 1.82291669501943 -105.102314129472 1.82937621665716 -105.126838918775 1.82114215619499 -105.151363708079 1.85081204470606 -105.175888497382 1.81523449636736 -105.200413286686 1.87409392731044 -105.224938075989 1.84780171747167 -105.249462865293 1.83915882666149 -105.273987654597 1.86306241750056 -105.2985124439 1.8220482580474 -105.323037233204 1.82513391504255 -105.347562022507 1.83042368066521 -105.372086811811 1.84740981254898 -105.396611601114 1.82747557179597 -105.421136390418 1.80421609795309 -105.445661179721 1.83277844881424 -105.470185969025 1.82393579151298 -105.494710758328 1.85863727482021 -105.519235547632 1.91966314951041 -105.543760336936 1.84554301853845 -105.568285126239 1.86535496728443 -105.592809915543 1.88857844555338 -105.617334704846 1.91574290639389 -105.64185949415 1.87826471319401 -105.666384283453 1.86482932826555 -105.690909072757 1.81586001863178 -105.71543386206 1.8416981051827 -105.739958651364 1.85949641442635 -105.764483440667 1.81481255462374 -105.789008229971 1.83891591195387 -105.813533019274 1.79520966973471 -105.838057808578 1.80364731071766 -105.862582597882 1.83279156020985 -105.887107387185 1.87359284177632 -105.911632176489 1.90757654763304 -105.936156965792 1.88761775339526 -105.960681755096 1.91856109519665 -105.985206544399 1.80175214919264 -106.009731333703 1.82208592292778 -106.034256123006 1.84614780134782 -106.05878091231 1.86497998778707 -106.083305701613 1.9307907285361 -106.107830490917 1.87820249482885 -106.132355280221 1.89345938082802 -106.156880069524 1.83999341278286 -106.181404858828 1.81904174484274 -106.205929648131 1.83867085252298 -106.230454437435 1.83294603376109 -106.254979226738 1.90351327305445 -106.279504016042 1.90493357183657 -106.304028805345 1.92269040217012 -106.328553594649 1.86575998360273 -106.353078383952 1.85451178187646 -106.377603173256 1.86307552889616 -106.402127962559 1.93780974004337 -106.426652751863 1.89130056514033 -106.451177541167 1.8848825224127 -106.47570233047 1.8570040981514 -106.500227119774 1.83178176108218 -106.524751909077 1.84923345834297 -106.549276698381 1.83242802280165 -106.573801487684 1.78477531467475 -106.598326276988 1.85066138518454 -106.622851066291 1.87254156373856 -106.647375855595 1.91654912500077 -106.671900644898 1.89896583836707 -106.696425434202 1.83719596343514 -106.720950223505 1.83919649154187 -106.745475012809 1.79986080169734 -106.769999802113 1.82112904479939 -106.794524591416 1.79254976851291 -106.81904938072 1.76786451255174 -106.843574170023 1.81728413144363 -106.868098959327 1.85514660150676 -106.89262374863 1.81896641508198 -106.917148537934 1.84511344873538 -106.941673327237 1.8768706372031 -106.966198116541 1.84238965984199 -106.990722905844 1.83986897605255 -107.015247695148 1.83526488298054 -107.039772484452 1.85205011509588 -107.064297273755 1.80812909026698 -107.088822063059 1.80549081566593 -107.113346852362 1.84022183264548 -107.137871641666 1.83960839768925 -107.162396430969 1.83740109806562 -107.186921220273 1.80552618077624 -107.211446009576 1.81845576859406 -107.23597079888 1.84597301145518 -107.260495588183 1.82234372840644 -107.285020377487 1.79418329328353 -107.30954516679 1.79517795868886 -107.334069956094 1.79404773035516 -107.358594745398 1.78325703933754 -107.383119534701 1.7947988427197 -107.407644324005 1.78419969767831 -107.432169113308 1.79022493967361 -107.456693902612 1.7893552247376 -107.481218691915 1.81879947010081 -107.505743481219 1.79051325946207 -107.530268270522 1.81893127730945 -107.554793059826 1.79424442433282 -107.579317849129 1.80868937012588 -107.603842638433 1.83566930508535 -107.628367427737 1.78319338141063 -107.65289221704 1.77278022307656 -107.677417006344 1.8224764819698 -107.701941795647 1.83653389876802 -107.726466584951 1.8296231134386 -107.750991374254 1.80453310518657 -107.775516163558 1.8137909819023 -107.800040952861 1.80336982570292 -107.824565742165 1.81056559427995 -107.849090531468 1.80037760916046 -107.873615320772 1.79266151105911 -107.898140110075 1.8059277642564 -107.922664899379 1.79538011034294 -107.947189688683 1.81439157332048 -107.971714477986 1.85339912372666 -107.99623926729 1.82120368327498 -108.020764056593 1.8137264562324 -108.045288845897 1.83023381525557 -108.0698136352 1.82304096818458 -108.094338424504 1.81029192547162 -108.118863213807 1.8310664970934 -108.143388003111 1.85345603925289 -108.167912792414 1.8278479280975 -108.192437581718 1.81341796499846 -108.216962371022 1.83580773602359 -108.241487160325 1.82524035922876 -108.266011949629 1.80509049706872 -108.290536738932 1.8548377491737 -108.315061528236 1.89475707072833 -108.339586317539 1.85279218233859 -108.364111106843 1.78817975183248 -108.388635896146 1.82701152852723 -108.41316068545 1.81381505724938 -108.437685474753 1.83751032562223 -108.462210264057 1.82285211999744 -108.48673505336 1.84649831197895 -108.511259842664 1.83938519560749 -108.535784631968 1.83871466548591 -108.560309421271 1.86483204055888 -108.584834210575 1.85367944094065 -108.609358999878 1.80605874849055 -108.633883789182 1.84173326675223 -108.658408578485 1.81277298802418 -108.682933367789 1.83447997937296 -108.707458157092 1.80502604084338 -108.731982946396 1.80995424900204 -108.756507735699 1.86059454715295 -108.781032525003 1.83817098293832 -108.805557314306 1.84319327446644 -108.83008210361 1.86160738844604 -108.854606892914 1.83877763072536 -108.879131682217 1.85053445868486 -108.903656471521 1.84148405448256 -108.928181260824 1.85137517455441 -108.952706050128 1.8610376035364 -108.977230839431 1.83397789310891 -109.001755628735 1.84338604457561 -109.026280418038 1.84361876501935 -109.050805207342 1.83605509620825 -109.075329996645 1.8659390459052 -109.099854785949 1.8844997703995 -109.124379575253 1.84614958333946 -109.148904364556 1.90017180844062 -109.17342915386 1.8990249334435 -109.197953943163 1.86726876219828 -109.222478732467 1.85467062633243 -109.24700352177 1.85197765617049 -109.271528311074 1.84621596787557 -109.296053100377 1.86990897164015 -109.320577889681 1.83834875220746 -109.345102678984 1.82547111544647 -109.369627468288 1.81802423303709 -109.394152257591 1.83746111241382 -109.418677046895 1.83195015895729 -109.443201836199 1.83443087164994 -109.467726625502 1.82357009845624 -109.492251414806 1.83178646665189 -109.516776204109 1.82802293484216 -109.541300993413 1.82689906784314 -109.565825782716 1.86871655834501 -109.59035057202 1.87057081290427 -109.614875361323 1.88632091780111 -109.639400150627 1.87810601604086 -109.66392493993 1.86994096887793 -109.688449729234 1.82439889453846 -109.712974518538 1.83553775349044 -109.737499307841 1.82997342065453 -109.762024097145 1.85634933811795 -109.786548886448 1.88209198309118 -109.811073675752 1.82727747505087 -109.835598465055 1.85432652561367 -109.860123254359 1.83742634612152 -109.884648043662 1.83422135410113 -109.909172832966 1.85301995633337 -109.933697622269 1.86277433618444 -109.958222411573 1.84574617245033 -109.982747200876 1.85633574770561 -110.00727199018 1.88877547212399 -110.031796779484 1.84167593424473 -110.056321568787 1.82763513472472 -110.080846358091 1.83516703265213 -110.105371147394 1.87015897555263 -110.129895936698 1.8760195568489 -110.154420726001 1.88111975832319 -110.178945515305 1.86791656448596 -110.203470304608 1.86867347095 -110.227995093912 1.82037778000425 -110.252519883215 1.82473508655219 -110.277044672519 1.88911589309761 -110.301569461823 1.87398534714953 -110.326094251126 1.85284039098694 -110.35061904043 1.81678081711187 -110.375143829733 1.84848315834157 -110.399668619037 1.89139402579012 -110.42419340834 1.85162524791144 -110.448718197644 1.8652629707678 -110.473242986947 1.85529304845631 -110.497767776251 1.85643395454955 -110.522292565554 1.85150841008559 -110.546817354858 1.88223704428908 -110.571342144161 1.87330160573517 -110.595866933465 1.8406703713814 -110.620391722769 1.85167704205875 -110.644916512072 1.86573762517703 -110.669441301376 1.85909717211509 -110.693966090679 1.8500872675877 -110.718490879983 1.85382782065898 -110.743015669286 1.8730302576684 -110.76754045859 1.85195475353222 -110.792065247893 1.9135769476703 -110.816590037197 1.86564173241904 -110.8411148265 1.86969046497723 -110.865639615804 1.88879384749218 -110.890164405107 1.89535823616289 -110.914689194411 1.88135460668371 -110.939213983715 1.855523024396 -110.963738773018 1.89209979073498 -110.988263562322 1.87444877445889 -111.012788351625 1.84172844588112 -111.037313140929 1.8338147368326 -111.061837930232 1.82994616360409 -111.086362719536 1.81997254158059 -111.110887508839 1.86204660830041 -111.135412298143 1.85788601569701 -111.159937087446 1.8592434060218 -111.18446187675 1.87813699069816 -111.208986666054 1.85957566292783 -111.233511455357 1.87399040561395 -111.258036244661 1.86609944643824 -111.282561033964 1.83399402854487 -111.307085823268 1.83876080247637 -111.331610612571 1.85309660610577 -111.356135401875 1.83017571578131 -111.380660191178 1.8302171932682 -111.405184980482 1.84372671450733 -111.429709769785 1.84589670476149 -111.454234559089 1.87231000976659 -111.478759348392 1.86248704356006 -111.503284137696 1.88536231697475 -111.527808927 1.84917979277166 -111.552333716303 1.84600476639049 -111.576858505607 1.84951471808156 -111.60138329491 1.81806324172611 -111.625908084214 1.81482259765 -111.650432873517 1.87828004290152 -111.674957662821 1.88341266079248 -111.699482452124 1.88910482761644 -111.724007241428 1.87697520232599 -111.748532030731 1.85712852385179 -111.773056820035 1.84682425024678 -111.797581609339 1.87263607807028 -111.822106398642 1.86932695990533 -111.846631187946 1.82641340603249 -111.871155977249 1.85018682194483 -111.895680766553 1.84922234426316 -111.920205555856 1.82185301937059 -111.94473034516 1.82526302622019 -111.969255134463 1.86688900276819 -111.993779923767 1.86810795091552 -112.01830471307 1.88317506792791 -112.042829502374 1.87636344659685 -112.067354291677 1.89445315611657 -112.091879080981 1.89296997225552 -112.116403870285 1.87862323318082 -112.140928659588 1.85413777832834 -112.165453448892 1.83985041899413 -112.189978238195 1.82195382046468 -112.214503027499 1.87435483456214 -112.239027816802 1.86519436639192 -112.263552606106 1.83676185905754 -112.288077395409 1.85411496773863 -112.312602184713 1.88855273191758 -112.337126974016 1.87383085021988 -112.36165176332 1.84973052959253 -112.386176552624 1.85087861541134 -112.410701341927 1.87664177271114 -112.435226131231 1.89087962052674 -112.459750920534 1.84944416279089 -112.484275709838 1.81405458966394 -112.508800499141 1.83190020345817 -112.533325288445 1.86216842390691 -112.557850077748 1.88257415810707 -112.582374867052 1.89084634522033 -112.606899656355 1.84869103006701 -112.631424445659 1.83832284945141 -112.655949234962 1.84261078271026 -112.680474024266 1.85086177385109 -112.70499881357 1.84850643746226 -112.729523602873 1.86164334088398 -112.754048392177 1.85805181570114 -112.77857318148 1.87988688999607 -112.803097970784 1.87067991042501 -112.827622760087 1.86706122231233 -112.852147549391 1.83828057159406 -112.876672338694 1.83730949027524 -112.901197127998 1.84638236657213 -112.925721917301 1.80685872903834 -112.950246706605 1.84540041247136 -112.974771495908 1.88645638660888 -112.999296285212 1.88264588152295 -113.023821074516 1.8640557002309 -113.048345863819 1.84892593443525 -113.072870653123 1.83059234932803 -113.097395442426 1.85284957763502 -113.12192023173 1.87724780378533 -113.146445021033 1.87738241163132 -113.170969810337 1.85790147163119 -113.19549459964 1.87446635818427 -113.220019388944 1.86812700578549 -113.244544178247 1.85885518879751 -113.269068967551 1.87003206544086 -113.293593756855 1.85249144264899 -113.318118546158 1.88987408912066 -113.342643335462 1.87399058719953 -113.367168124765 1.88212215945005 -113.391692914069 1.87405055219563 -113.416217703372 1.90639556987608 -113.440742492676 1.88076709445042 -113.465267281979 1.88034170260169 -113.489792071283 1.91483361300119 -113.514316860586 1.84777143127404 -113.53884164989 1.8421071692939 -113.563366439193 1.85690187779732 -113.587891228497 1.8585043029816 -113.612416017801 1.8747366703593 -113.636940807104 1.85531902065691 -113.661465596408 1.84736450213291 -113.685990385711 1.89441621921102 -113.710515175015 1.86272284034734 -113.735039964318 1.89510031701535 -113.759564753622 1.88745965340668 -113.784089542925 1.87257276322208 -113.808614332229 1.85900205285391 -113.833139121532 1.89296031029526 -113.857663910836 1.86226867578624 -113.88218870014 1.89971909687811 -113.906713489443 1.89930528198917 -113.931238278747 1.88262451934824 -113.95576306805 1.8603443684361 -113.980287857354 1.857300299541 -114.004812646657 1.87246355356031 -114.029337435961 1.89026560684496 -114.053862225264 1.89657804998118 -114.078387014568 1.91723515569946 -114.102911803871 1.89808320356261 -114.127436593175 1.86964781478153 -114.151961382478 1.86624650331943 -114.176486171782 1.88134831259598 -114.201010961086 1.92072468240336 -114.225535750389 1.88710418224093 -114.250060539693 1.85772219793934 -114.274585328996 1.88421346418918 -114.2991101183 1.89193221267398 -114.323634907603 1.89648030501259 -114.348159696907 1.93011923002088 -114.37268448621 1.93110761477531 -114.397209275514 1.88686100166406 -114.421734064817 1.85633107696282 -114.446258854121 1.86828323129434 -114.470783643425 1.86999959301647 -114.495308432728 1.85703500784309 -114.519833222032 1.87531183891721 -114.544358011335 1.87542978666295 -114.568882800639 1.88369670226896 -114.593407589942 1.89261826804872 -114.617932379246 1.90151570718285 -114.642457168549 1.91630853409046 -114.666981957853 1.90689427483077 -114.691506747156 1.87269754095905 -114.71603153646 1.85713731806906 -114.740556325763 1.84669980893288 -114.765081115067 1.87217334357396 -114.789605904371 1.88495458300513 -114.814130693674 1.8925396273022 -114.838655482978 1.88746034621972 -114.863180272281 1.89368299095409 -114.887705061585 1.89327477721428 -114.912229850888 1.86913268066427 -114.936754640192 1.87475752796218 -114.961279429495 1.86638600148109 -114.985804218799 1.87442011376196 -115.010329008102 1.86599213833917 -115.034853797406 1.90828325194213 -115.059378586709 1.93293017926023 -115.083903376013 1.8850563573276 -115.108428165317 1.92257286257335 -115.13295295462 1.88176741048254 -115.157477743924 1.88425721306554 -115.182002533227 1.91128126465612 -115.206527322531 1.93864852454642 -115.231052111834 1.89228495735611 -115.255576901138 1.87827000194728 -115.280101690441 1.89846427239301 -115.304626479745 1.88738536707233 -115.329151269048 1.88792073529842 -115.353676058352 1.86600042798462 -115.378200847656 1.8671004105149 -115.402725636959 1.88432695881855 -115.427250426263 1.87173872043423 -115.451775215566 1.90341722403574 -115.47630000487 1.90431155022234 -115.500824794173 1.87483604325642 -115.525349583477 1.91919373155128 -115.54987437278 1.89910140163032 -115.574399162084 1.88510411753743 -115.598923951387 1.85890145124024 -115.623448740691 1.90812910280034 -115.647973529994 1.89601906162774 -115.672498319298 1.87846163067932 -115.697023108602 1.90922933428873 -115.721547897905 1.90614870967966 -115.746072687209 1.87438392567717 -115.770597476512 1.90868272094234 -115.795122265816 1.90118629568267 -115.819647055119 1.89548792889158 -115.844171844423 1.89021553933039 -115.868696633726 1.8651642526964 -115.89322142303 1.90305877742826 -115.917746212333 1.89155802306134 -115.942271001637 1.916570244873 -115.966795790941 1.87806863528038 -115.991320580244 1.93028065288326 -116.015845369548 1.89937194015943 -116.040370158851 1.88877559092064 -116.064894948155 1.92649245174318 -116.089419737458 1.93166584306878 -116.113944526762 1.89536894525411 -116.138469316065 1.89817520378379 -116.162994105369 1.92194724072569 -116.187518894672 1.91458670138064 -116.212043683976 1.93647175572516 -116.236568473279 1.93348260001737 -116.261093262583 1.91443649412777 -116.285618051887 1.87087303692414 -116.31014284119 1.86284956428993 -116.334667630494 1.88068425607568 -116.359192419797 1.90674779196596 -116.383717209101 1.89582973354482 -116.408241998404 1.91840274482676 -116.432766787708 1.91729508478029 -116.457291577011 1.88919295539327 -116.481816366315 1.88940604707624 -116.506341155618 1.87732286374207 -116.530865944922 1.91566889587037 -116.555390734226 1.93943266796845 -116.579915523529 1.90227048585569 -116.604440312833 1.92837116478757 -116.628965102136 1.91636163776364 -116.65348989144 1.92555283634223 -116.678014680743 1.9116650534401 -116.702539470047 1.92074593909267 -116.72706425935 1.93710022756226 -116.751589048654 1.91499803416046 -116.776113837957 1.91248879758795 -116.800638627261 1.9132645392235 -116.825163416564 1.92240448621392 -116.849688205868 1.89930327965025 -116.874212995172 1.88944411399413 -116.898737784475 1.9124832771226 -116.923262573779 1.93251578357371 -116.947787363082 1.90735318636042 -116.972312152386 1.89894623656368 -116.996836941689 1.90566353234839 -117.021361730993 1.9180115161199 -117.045886520296 1.90563290742542 -117.0704113096 1.92196895263473 -117.094936098903 1.91657633935474 -117.119460888207 1.90765273312317 -117.143985677511 1.90127565217604 -117.168510466814 1.90417948739998 -117.193035256118 1.91271843044895 -117.217560045421 1.93937139803005 -117.242084834725 1.92897876112695 -117.266609624028 1.92596645840637 -117.291134413332 1.93078748404382 -117.315659202635 1.90841214649796 -117.340183991939 1.90403912827654 -117.364708781242 1.91678378041091 -117.389233570546 1.92183844829635 -117.413758359849 1.92236801118372 -117.438283149153 1.94064611367085 -117.462807938457 1.97247843011664 -117.48733272776 1.95529145786276 -117.511857517064 1.90854217564973 -117.536382306367 1.93775673660224 -117.560907095671 1.92194967360829 -117.585431884974 1.93294802996413 -117.609956674278 1.92572079559481 -117.634481463581 1.94030259374968 -117.659006252885 1.94883715105481 -117.683531042188 1.93091999750232 -117.708055831492 1.91182216471236 -117.732580620795 1.89381036972242 -117.757105410099 1.92635032787413 -117.781630199403 1.93460055882941 -117.806154988706 1.89482135214929 -117.83067977801 1.90632119607675 -117.855204567313 1.94277550542033 -117.879729356617 1.92473841107594 -117.90425414592 1.89659656216644 -117.928778935224 1.91958813530587 -117.953303724527 1.9677601205728 -117.977828513831 1.95972444773591 -118.002353303134 1.93824593663178 -118.026878092438 1.92835643105164 -118.051402881742 1.93576986988028 -118.075927671045 1.95619378662383 -118.100452460349 1.92083925562094 -118.124977249652 1.90988443509862 -118.149502038956 1.9118977112205 -118.174026828259 1.90414987162066 -118.198551617563 1.93045295116472 -118.223076406866 1.95375515011049 -118.24760119617 1.93301499988142 -118.272125985473 1.98521955746896 -118.296650774777 1.9532310270047 -118.32117556408 1.9424683417327 -118.345700353384 1.911052360649 -118.370225142688 1.90651655585248 -118.394749931991 1.91389382267029 -118.419274721295 1.951539184359 -118.443799510598 1.97656416249488 -118.468324299902 1.97045416254174 -118.492849089205 2.00606495550399 -118.517373878509 1.96102572095849 -118.541898667812 1.94401001304079 -118.566423457116 1.973251153614 -118.590948246419 1.95894859395933 -118.615473035723 1.95175528294095 -118.639997825027 1.93054921845867 -118.66452261433 1.96642411697319 -118.689047403634 1.9632446173832 -118.713572192937 1.93855871948895 -118.738096982241 1.93779368028899 -118.762621771544 1.9737126212809 -118.787146560848 1.96157526705013 -118.811671350151 1.97497357628858 -118.836196139455 1.96594392420376 -118.860720928758 1.94588608235736 -118.885245718062 1.96527681808802 -118.909770507365 2.00518243501724 -118.934295296669 1.98235783666279 -118.958820085973 1.96326327969679 -118.983344875276 1.95156505119978 -119.00786966458 1.98521031274112 -119.032394453883 1.99138614123442 -119.056919243187 1.95253037653198 -119.08144403249 1.96232066405249 -119.105968821794 1.94275500904215 -119.130493611097 1.94902757103719 -119.155018400401 1.98499527485253 -119.179543189704 1.98602915520851 -119.204067979008 2.00109702782286 -119.228592768312 1.94006466458761 -119.253117557615 1.97293715993513 -119.277642346919 1.99939140664919 -119.302167136222 1.95024265144934 -119.326691925526 1.94784687804895 -119.351216714829 1.9445985431454 -119.375741504133 1.93223068152944 -119.400266293436 1.963974565107 -119.42479108274 1.98952077629989 -119.449315872043 1.98244328730809 -119.473840661347 1.95950126367457 -119.49836545065 1.98591760691033 -119.522890239954 1.97067565601119 -119.547415029258 1.9576696808159 -119.571939818561 1.98016647745272 -119.596464607865 1.96609031514558 -119.620989397168 1.93886706712462 -119.645514186472 1.97484468851395 -119.670038975775 1.99769553477518 -119.694563765079 1.97497670863984 -119.719088554382 1.99162789348875 -119.743613343686 1.99117598688029 -119.768138132989 1.96950239170662 -119.792662922293 1.93517864004012 -119.817187711596 1.95172825682819 -119.8417125009 1.96053403881984 -119.866237290204 1.93849063299616 -119.890762079507 1.97598265049714 -119.915286868811 1.99684602468836 -119.939811658114 1.98494197157334 -119.964336447418 1.96345671128732 -119.988861236721 1.945894271101 -120.013386026025 1.96612053420092 -120.037910815328 1.99135578982002 -120.062435604632 1.99031096485156 -120.086960393935 1.98357597778403 -120.111485183239 2.0145596137731 -120.136009972543 1.99966704633919 -120.160534761846 1.98496648411973 -120.18505955115 1.95838007380708 -120.209584340453 1.9706683147925 -120.234109129757 1.96489709011517 -120.25863391906 1.93918334355775 -120.283158708364 1.92183594804124 -120.307683497667 1.93663001503018 -120.332208286971 1.96537469987368 -120.356733076274 1.95677443753422 -120.381257865578 1.95274109812128 -120.405782654881 1.98076365830191 -120.430307444185 1.96768813488757 -120.454832233489 1.98195482486009 -120.479357022792 1.96998266986899 -120.503881812096 1.96062988888136 -120.528406601399 2.00257605216857 -120.552931390703 1.98152270863111 -120.577456180006 1.98260681799478 -120.60198096931 1.96936980421997 -120.626505758613 1.97876853797534 -120.651030547917 1.96754014289087 -120.67555533722 1.94846609379342 -120.700080126524 1.99661978437594 -120.724604915828 1.96415259677107 -120.749129705131 1.95949663562826 -120.773654494435 1.95811011607555 -120.798179283738 1.9616830662842 -120.822704073042 1.99566966601983 -120.847228862345 1.98327949392798 -120.871753651649 1.96350102739886 -120.896278440952 1.96954852191587 -120.920803230256 2.0478338540939 -120.945328019559 2.04467762031334 -120.969852808863 1.97265800224427 -120.994377598166 1.96685350006292 -121.01890238747 1.9710884865581 -121.043427176774 1.96487793446898 -121.067951966077 1.97738449594816 -121.092476755381 1.97233642975341 -121.117001544684 1.95912310749697 -121.141526333988 1.96213000176764 -121.166051123291 1.9569909352026 -121.190575912595 2.02140503036569 -121.215100701898 1.97355794760042 -121.239625491202 1.93524658971585 -121.264150280505 1.95564178297354 -121.288675069809 1.99056710581666 -121.313199859113 1.98853179950867 -121.337724648416 1.9983929113704 -121.36224943772 1.96820459184197 -121.386774227023 1.97827280846238 -121.411299016327 1.97868739031807 -121.43582380563 1.99848143157803 -121.460348594934 1.9926559351023 -121.484873384237 1.96850783166111 -121.509398173541 1.9869484357244 -121.533922962844 1.99844355290135 -121.558447752148 1.9380579875193 -121.582972541451 1.94032787313725 -121.607497330755 1.95556758410417 -121.632022120059 1.9707336700925 -121.656546909362 2.00804811127473 -121.681071698666 1.98234508711978 -121.705596487969 1.95936051212033 -121.730121277273 1.93832913598006 -121.754646066576 1.97671589206532 -121.77917085588 1.96719539883675 -121.803695645183 1.98721308603341 -121.828220434487 2.00765414930303 -121.85274522379 1.99947587282689 -121.877270013094 1.97778166222722 -121.901794802397 2.01479227820912 -121.926319591701 1.97440115901592 -121.950844381005 1.99852394495665 -121.975369170308 1.99239346871779 -121.999893959612 1.95493056035226 -122.024418748915 1.95469007480177 -122.048943538219 1.97320230150471 -122.073468327522 1.97935215767183 -122.097993116826 1.97464937350673 -122.122517906129 1.96302014847202 -122.147042695433 1.99252047960578 -122.171567484736 1.97548569226764 -122.19609227404 1.98229779544093 -122.220617063344 1.96513423912481 -122.245141852647 1.95440225292951 -122.269666641951 1.93492827973769 -122.294191431254 1.95565328565402 -122.318716220558 2.02554133483032 -122.343241009861 1.996327740325 -122.367765799165 1.98815881393651 -122.392290588468 1.97388176460709 -122.416815377772 2.01333678640021 -122.441340167075 2.00235667330465 -122.465864956379 1.99731280655899 -122.490389745682 1.96783375886263 -122.514914534986 1.98212495252831 -122.53943932429 2.02031949267948 -122.563964113593 1.9933689672377 -122.588488902897 1.98055044782228 -122.6130136922 1.9857610002099 -122.637538481504 1.99731586281007 -122.662063270807 1.94754888311455 -122.686588060111 1.95334764042292 -122.711112849414 1.9818030076991 -122.735637638718 1.98029182920607 -122.760162428021 1.98586907985932 -122.784687217325 2.0043650542761 -122.809212006629 2.02706851859787 -122.833736795932 2.04414650559762 -122.858261585236 1.96939254536512 -122.882786374539 2.01933089017305 -122.907311163843 2.00963103120406 -122.931835953146 1.99429756650957 -122.95636074245 2.03726545484416 -122.980885531753 2.02474471091584 -123.005410321057 2.02334519286202 -123.02993511036 2.02162764053622 -123.054459899664 1.97897342747784 -123.078984688967 2.00707655464372 -123.103509478271 2.02265765303144 -123.128034267575 2.00780892859449 -123.152559056878 2.02225637464268 -123.177083846182 2.00127360636276 -123.201608635485 2.01750452074187 -123.226133424789 2.02610533907729 -123.250658214092 2.03084714995183 -123.275183003396 2.02653923807231 -123.299707792699 2.02305752789929 -123.324232582003 2.00921230107225 -123.348757371306 1.98367837089139 -123.37328216061 2.04116421108716 -123.397806949914 2.01509900482303 -123.422331739217 1.9873462834517 -123.446856528521 2.03661389683675 -123.471381317824 2.03788179592314 -123.495906107128 2.00853204645264 -123.520430896431 2.02107223755615 -123.544955685735 2.05434976048212 -123.569480475038 2.00107814122722 -123.594005264342 1.9648355892391 -123.618530053645 2.01883000807507 -123.643054842949 1.99790931927119 -123.667579632252 1.9957090044763 -123.692104421556 1.94042688493525 -123.71662921086 1.96047693034323 -123.741154000163 2.00534136911487 -123.765678789467 2.03604428007586 -123.79020357877 2.00063572164907 -123.814728368074 2.00574299058233 -123.839253157377 1.99085194559156 -123.863777946681 2.00807781910261 -123.888302735984 2.00421918812414 -123.912827525288 1.96953604807904 -123.937352314591 2.01875932055092 -123.961877103895 2.01900264472606 -123.986401893198 2.03360183183506 -124.010926682502 2.04984113068346 -124.035451471806 2.04793445680427 -124.059976261109 2.02982515111124 -124.084501050413 2.04687290724296 -124.109025839716 2.03938498362928 -124.13355062902 1.99817678070749 -124.158075418323 1.99224039568196 -124.182600207627 2.01828606961655 -124.20712499693 2.06858556833148 -124.231649786234 2.05558744145082 -124.256174575537 2.03831473263598 -124.280699364841 2.04950180800539 -124.305224154145 2.03395206166155 -124.329748943448 2.04409371258311 -124.354273732752 2.05321595263534 -124.378798522055 2.05797975791887 -124.403323311359 2.0450259583764 -124.427848100662 2.0352991756406 -124.452372889966 2.05111458488213 -124.476897679269 2.04212301205532 -124.501422468573 2.02320333728587 -124.525947257876 2.0212167517118 -124.55047204718 2.03187497254504 -124.574996836483 2.03922698994235 -124.599521625787 2.0502863762908 -124.624046415091 2.05116223342813 -124.648571204394 2.05529564261157 -124.673095993698 2.04791546975472 -124.697620783001 2.03431429222285 -124.722145572305 2.03081621304324 -124.746670361608 2.04953524122178 -124.771195150912 2.05928366730529 -124.795719940215 2.05460506627075 -124.820244729519 2.06695085523854 -124.844769518822 2.04699076622608 -124.869294308126 2.03197267904076 -124.89381909743 2.05657413435339 -124.918343886733 2.06365834975563 -124.942868676037 2.03320111309657 -124.96739346534 2.0358789713616 -124.991918254644 2.05073474760632 -125.016443043947 2.06238198823284 -125.040967833251 2.09188674421539 -125.065492622554 2.09142925641213 -125.090017411858 2.06872012216643 -125.114542201161 2.03354504284945 -125.139066990465 2.04476063602075 -125.163591779768 2.04342652130047 -125.188116569072 2.05060203935564 -125.212641358376 2.06768181836395 -125.237166147679 2.06811355911514 -125.261690936983 2.077875532835 -125.286215726286 2.06775836911821 -125.31074051559 2.08504029847041 -125.335265304893 2.08671975679954 -125.359790094197 2.05399622924727 -125.3843148835 2.05998484519245 -125.408839672804 2.06909263940016 -125.433364462107 2.0543809121707 -125.457889251411 2.07662119379203 -125.482414040715 2.06576972033763 -125.506938830018 2.0694106545843 -125.531463619322 2.08157368778301 -125.555988408625 2.05047697771225 -125.580513197929 2.06167603297056 -125.605037987232 2.06493964667653 -125.629562776536 2.07467967248888 -125.654087565839 2.07272049837997 -125.678612355143 2.03806082356612 -125.703137144446 2.03492307301676 -125.72766193375 2.06627228052832 -125.752186723053 2.11804958497308 -125.776711512357 2.09967489688562 -125.801236301661 2.08284478880754 -125.825761090964 2.07310092540706 -125.850285880268 2.06877501023398 -125.874810669571 2.05240611579136 -125.899335458875 2.06011169463755 -125.923860248178 2.07663797414564 -125.948385037482 2.08027094547532 -125.972909826785 2.06536996188046 -125.997434616089 2.07772492300882 -126.021959405392 2.078563432308 -126.046484194696 2.0693047839875 -126.071008983999 2.07483212675657 -126.095533773303 2.06780581618709 -126.120058562607 2.0793754089233 -126.14458335191 2.0819824706626 -126.169108141214 2.08943225031638 -126.193632930517 2.08387016941794 -126.218157719821 2.06118046022062 -126.242682509124 2.07869495610416 -126.267207298428 2.08435157351556 -126.291732087731 2.09857690551783 -126.316256877035 2.08621769886586 -126.340781666338 2.08736964780278 -126.365306455642 2.10086658888249 -126.389831244946 2.09219483931816 -126.414356034249 2.08872669882876 -126.438880823553 2.1054212002104 -126.463405612856 2.10999918399684 -126.48793040216 2.07957421118991 -126.512455191463 2.10670640943826 -126.536979980767 2.11784151965263 -126.56150477007 2.07867793433549 -126.586029559374 2.0994224694461 -126.610554348677 2.10528457054 -126.635079137981 2.11514561799285 -126.659603927284 2.0822286477992 -126.684128716588 2.09736851565108 -126.708653505892 2.09197715346559 -126.733178295195 2.11618776146386 -126.757703084499 2.09619068844998 -126.782227873802 2.10124514392466 -126.806752663106 2.13170837194929 -126.831277452409 2.10681494234003 -126.855802241713 2.10100546442495 -126.880327031016 2.11903145309069 -126.90485182032 2.10229938188273 -126.929376609623 2.10754351592813 -126.953901398927 2.09421004220201 -126.978426188231 2.10636028646812 -127.002950977534 2.11639266318928 -127.027475766838 2.09240411150878 -127.052000556141 2.06377666338082 -127.076525345445 2.09047007281242 -127.101050134748 2.08978166410866 -127.125574924052 2.10324524458111 -127.150099713355 2.11047127288395 -127.174624502659 2.10278777764052 -127.199149291962 2.08176397060925 -127.223674081266 2.09945289963967 -127.248198870569 2.10412952012723 -127.272723659873 2.08875732487356 -127.297248449177 2.1121952580066 -127.32177323848 2.11978882328446 -127.346298027784 2.1225986205479 -127.370822817087 2.11705264199566 -127.395347606391 2.11928200400356 -127.419872395694 2.11714911463452 -127.444397184998 2.13176523411748 -127.468921974301 2.1324431310254 -127.493446763605 2.12947681493673 -127.517971552908 2.11969674798027 -127.542496342212 2.13534005550736 -127.567021131516 2.13226173288272 -127.591545920819 2.11860960944848 -127.616070710123 2.11483977037371 -127.640595499426 2.10386867322406 -127.66512028873 2.1040507601278 -127.689645078033 2.12022741572255 -127.714169867337 2.12795376681217 -127.73869465664 2.13391186416115 -127.763219445944 2.12293636873917 -127.787744235247 2.12444018781309 -127.812269024551 2.11153287310756 -127.836793813854 2.12530504751152 -127.861318603158 2.12342338404469 -127.885843392462 2.13270673051147 -127.910368181765 2.13521949296275 -127.934892971069 2.14048593377113 -127.959417760372 2.13451281070095 -127.983942549676 2.12700660588155 -128.008467338979 2.10957865429249 -128.032992128283 2.09526425405245 -128.057516917586 2.11335543553719 -128.08204170689 2.11769460489209 -128.106566496193 2.12412113667443 -128.131091285497 2.11260858399583 -128.1556160748 2.11924248178901 -128.180140864104 2.12693438966885 -128.204665653408 2.11372404321831 -128.229190442711 2.14174942789189 -128.253715232015 2.1523524854872 -128.278240021318 2.13558587868184 -128.302764810622 2.1316646250445 -128.327289599925 2.13978846032608 -128.351814389229 2.15414187217273 -128.376339178532 2.15156265175159 -128.400863967836 2.16328822240734 -128.425388757139 2.13992945653529 -128.449913546443 2.12609371724505 -128.474438335747 2.15197463233315 -128.49896312505 2.15260662354828 -128.523487914354 2.12318589661948 -128.548012703657 2.12461634500161 -128.572537492961 2.11740261910927 -128.597062282264 2.11873906373831 -128.621587071568 2.12779555192822 -128.646111860871 2.14049540152523 -128.670636650175 2.15183471409683 -128.695161439478 2.14467888465701 -128.719686228782 2.11300763417715 -128.744211018085 2.11592215834124 -128.768735807389 2.17064517716597 -128.793260596693 2.15739510731678 -128.817785385996 2.13275204689249 -128.8423101753 2.13792944732882 -128.866834964603 2.1188360389858 -128.891359753907 2.14659696517055 -128.91588454321 2.18530998560328 -128.940409332514 2.16840757730511 -128.964934121817 2.15178739501689 -128.989458911121 2.13849503185172 -129.013983700424 2.14432677612301 -129.038508489728 2.14854840400583 -129.063033279032 2.17787221106698 -129.087558068335 2.14188067645906 -129.112082857639 2.12925055678389 -129.136607646942 2.12591902873561 -129.161132436246 2.13179526953195 -129.185657225549 2.13940342853899 -129.210182014853 2.14381512874609 -129.234706804156 2.14633085527849 -129.25923159346 2.16045423640419 -129.283756382763 2.16941365227075 -129.308281172067 2.18130830500418 -129.33280596137 2.13453228395029 -129.357330750674 2.13218759800782 -129.381855539978 2.15789315610206 -129.406380329281 2.15510786426893 -129.430905118585 2.15825047628872 -129.455429907888 2.16949421607051 -129.479954697192 2.16909749579795 -129.504479486495 2.15713329818166 -129.529004275799 2.14416472965774 -129.553529065102 2.14778760090695 -129.578053854406 2.17167336547538 -129.602578643709 2.17742754794416 -129.627103433013 2.1612011434426 -129.651628222317 2.15199201960872 -129.67615301162 2.15158318404504 -129.700677800924 2.16484532611214 -129.725202590227 2.14783676123453 -129.749727379531 2.15396490301035 -129.774252168834 2.1417876110865 -129.798776958138 2.11553908647287 -129.823301747441 2.16208447445488 -129.847826536745 2.17827109844917 -129.872351326048 2.15540201467075 -129.896876115352 2.16716564589433 -129.921400904655 2.1764154513738 -129.945925693959 2.15687707657883 -129.970450483263 2.15546908668283 -129.994975272566 2.14848869217888 -130.01950006187 2.14100533362166 -130.044024851173 2.14333677528622 -130.068549640477 2.15121243712002 -130.09307442978 2.15706582207258 -130.117599219084 2.18100035081232 -130.142124008387 2.20196308507916 -130.166648797691 2.18659331174095 -130.191173586994 2.16049447838078 -130.215698376298 2.16870024962207 -130.240223165601 2.17567686569762 -130.264747954905 2.17867347892176 -130.289272744209 2.18427914125942 -130.313797533512 2.16946633311492 -130.338322322816 2.15069762770105 -130.362847112119 2.17755234224067 -130.387371901423 2.19223599098563 -130.411896690726 2.16661049094727 -130.43642148003 2.14921280839353 -130.460946269333 2.14459124056004 -130.485471058637 2.17114702887569 -130.50999584794 2.16757470453033 -130.534520637244 2.15460931750466 -130.559045426548 2.16837494563125 -130.583570215851 2.18597943292561 -130.608095005155 2.17274375521128 -130.632619794458 2.15957391518337 -130.657144583762 2.17868322032257 -130.681669373065 2.1670757149032 -130.706194162369 2.17895840169526 -130.730718951672 2.1778991801674 -130.755243740976 2.16844400138417 -130.779768530279 2.17055477600297 -130.804293319583 2.17677233517323 -130.828818108886 2.18694305145381 -130.85334289819 2.18208727517944 -130.877867687494 2.18942511797622 -130.902392476797 2.18052244607562 -130.926917266101 2.1972415179662 -130.951442055404 2.17515087353706 -130.975966844708 2.19828954394771 -131.000491634011 2.21023090963025 -131.025016423315 2.16743216005918 -131.049541212618 2.15656828650308 -131.074066001922 2.16224372839931 -131.098590791225 2.19335044065424 -131.123115580529 2.20182369693627 -131.147640369833 2.18607385700871 -131.172165159136 2.17494240318199 -131.19668994844 2.18077311009228 -131.221214737743 2.19337117791168 -131.245739527047 2.19403569138886 -131.27026431635 2.19583280722401 -131.294789105654 2.17041262686766 -131.319313894957 2.17963401786233 -131.343838684261 2.2035738905803 -131.368363473564 2.20515330122388 -131.392888262868 2.19555154895468 -131.417413052171 2.21047496897165 -131.441937841475 2.19480440390019 -131.466462630779 2.19433966171951 -131.490987420082 2.20872419591976 -131.515512209386 2.22501592119997 -131.540036998689 2.20519057191118 -131.564561787993 2.19814366355941 -131.589086577296 2.19354799119008 -131.6136113666 2.1925312403988 -131.638136155903 2.16769702818298 -131.662660945207 2.18083316495189 -131.68718573451 2.17662167020163 -131.711710523814 2.17460644903364 -131.736235313118 2.17876695735756 -131.760760102421 2.19706135666913 -131.785284891725 2.20804949721195 -131.809809681028 2.19581800943918 -131.834334470332 2.18821923362212 -131.858859259635 2.19411597770343 -131.883384048939 2.17838778639786 -131.907908838242 2.1780898567179 -131.932433627546 2.20141441531585 -131.956958416849 2.20452156044867 -131.981483206153 2.19994753673063 -132.006007995456 2.21783417529829 -132.03053278476 2.19826939165904 -132.055057574064 2.19802510729104 -132.079582363367 2.19097083767762 -132.104107152671 2.18724638864785 -132.128631941974 2.18980213266276 -132.153156731278 2.20310108196044 -132.177681520581 2.21105967245563 -132.202206309885 2.20304815420272 -132.226731099188 2.21703928057451 -132.251255888492 2.22006002161925 -132.275780677795 2.21092204221545 -132.300305467099 2.23698113193983 -132.324830256402 2.23325473767903 -132.349355045706 2.21591300759657 -132.37387983501 2.2191129572893 -132.398404624313 2.2169350753896 -132.422929413617 2.18367727781835 -132.44745420292 2.18234913800511 -132.471978992224 2.20714208025217 -132.496503781527 2.22773960780056 -132.521028570831 2.22276893996965 -132.545553360134 2.23180669620504 -132.570078149438 2.23981967862204 -132.594602938741 2.23135131908054 -132.619127728045 2.19973294183722 -132.643652517349 2.21211796324682 -132.668177306652 2.20742559962779 -132.692702095956 2.20553197836795 -132.717226885259 2.21995890520736 -132.741751674563 2.22778796408479 -132.766276463866 2.21819552659803 -132.79080125317 2.19000520111436 -132.815326042473 2.18926907639599 -132.839850831777 2.2315905275561 -132.86437562108 2.22726729807186 -132.888900410384 2.23606435109212 -132.913425199687 2.23621414188787 -132.937949988991 2.22740101847279 -132.962474778295 2.19591311403688 -132.986999567598 2.20711057764919 -133.011524356902 2.21247281735302 -133.036049146205 2.22661545217448 -133.060573935509 2.22752690736631 -133.085098724812 2.2117267406223 -133.109623514116 2.22226570604957 -133.134148303419 2.21647039850414 -133.158673092723 2.21815271559715 -133.183197882026 2.23760192383381 -133.20772267133 2.22532471305037 -133.232247460634 2.21852383585767 -133.256772249937 2.22412549059354 -133.281297039241 2.20376894514686 -133.305821828544 2.19943127769257 -133.330346617848 2.2126413579874 -133.354871407151 2.22280328299632 -133.379396196455 2.21148986725332 -133.403920985758 2.22735234863703 -133.428445775062 2.22359075118491 -133.452970564365 2.20568949835791 -133.477495353669 2.22745609175002 -133.502020142972 2.22155471183257 -133.526544932276 2.23330037796265 -133.55106972158 2.2400296654635 -133.575594510883 2.24471652880246 -133.600119300187 2.22582097492063 -133.62464408949 2.24861011073273 -133.649168878794 2.24422754475592 -133.673693668097 2.25101643639944 -133.698218457401 2.2133557362792 -133.722743246704 2.23102495497547 -133.747268036008 2.22761789653014 -133.771792825311 2.23707378077883 -133.796317614615 2.23504373190791 -133.820842403919 2.24376038875336 -133.845367193222 2.24772941437627 -133.869891982526 2.2434420606101 -133.894416771829 2.2435842309648 -133.918941561133 2.24594150402898 -133.943466350436 2.25050895181907 -133.96799113974 2.25130917365107 -133.992515929043 2.24793309454764 -134.017040718347 2.24071681504997 -134.04156550765 2.23597504772638 -134.066090296954 2.23065996557604 -134.090615086257 2.21498571467019 -134.115139875561 2.23082863424523 -134.139664664865 2.23751680271573 -134.164189454168 2.25039087897322 -134.188714243472 2.24000270083475 -134.213239032775 2.23646787683038 -134.237763822079 2.24083118801455 -134.262288611382 2.25378323546746 -134.286813400686 2.25414518182333 -134.311338189989 2.24748463931007 -134.335862979293 2.25373192255362 -134.360387768596 2.23472818280806 -134.3849125579 2.23821838719559 -134.409437347203 2.23151812180474 -134.433962136507 2.24898704706069 -134.458486925811 2.25705957031002 -134.483011715114 2.2579110695692 -134.507536504418 2.24508188799319 -134.532061293721 2.24678604593367 -134.556586083025 2.23322436640695 -134.581110872328 2.24284260617655 -134.605635661632 2.26820990470847 -134.630160450935 2.25388000024355 -134.654685240239 2.25624281574375 -134.679210029542 2.22852345013875 -134.703734818846 2.2395376932946 -134.72825960815 2.25734129127424 -134.752784397453 2.26397728808036 -134.777309186757 2.25704023506565 -134.80183397606 2.23927496721235 -134.826358765364 2.24059415316884 -134.850883554667 2.25206757222301 -134.875408343971 2.2528711950992 -134.899933133274 2.23872194846438 -134.924457922578 2.23814864756859 -134.948982711881 2.24772388594765 -134.973507501185 2.24314306614421 -134.998032290488 2.25532639855313 -135.022557079792 2.2533954272639 -135.047081869096 2.25059691429722 -135.071606658399 2.26526549626194 -135.096131447703 2.23965230562695 -135.120656237006 2.26131596993995 -135.14518102631 2.27310795877922 -135.169705815613 2.25765650595479 -135.194230604917 2.24817364840156 -135.21875539422 2.26861363685032 -135.243280183524 2.27663746372055 -135.267804972827 2.26710803491772 -135.292329762131 2.26526918912996 -135.316854551435 2.25015069957335 -135.341379340738 2.25634244549946 -135.365904130042 2.27274285904053 -135.390428919345 2.25909099408375 -135.414953708649 2.25484657740407 -135.439478497952 2.25735509868238 -135.464003287256 2.28640275441732 -135.488528076559 2.26427760308204 -135.513052865863 2.26212416618149 -135.537577655166 2.25904806250083 -135.56210244447 2.26027696249126 -135.586627233773 2.27134494631124 -135.611152023077 2.28007000862314 -135.635676812381 2.29322482116158 -135.660201601684 2.28791609165921 -135.684726390988 2.27222881112805 -135.709251180291 2.27618080223488 -135.733775969595 2.28652994313174 -135.758300758898 2.28850092919883 -135.782825548202 2.26605974809808 -135.807350337505 2.26783315599929 -135.831875126809 2.27831225454499 -135.856399916112 2.27364727745808 -135.880924705416 2.27805926214707 -135.90544949472 2.27133762959934 -135.929974284023 2.27897448580479 -135.954499073327 2.2696031705575 -135.97902386263 2.28315463298248 -136.003548651934 2.28475257329831 -136.028073441237 2.27869527783911 -136.052598230541 2.27188048704581 -136.077123019844 2.29076722615109 -136.101647809148 2.2886543460934 -136.126172598451 2.29719050075705 -136.150697387755 2.29064041533046 -136.175222177058 2.27550893282 -136.199746966362 2.28629246369947 -136.224271755666 2.29627715504519 -136.248796544969 2.28664282773938 -136.273321334273 2.28577098558273 -136.297846123576 2.29436548519532 -136.32237091288 2.29242921926521 -136.346895702183 2.29850413755092 -136.371420491487 2.29987821570137 -136.39594528079 2.30222975624561 -136.420470070094 2.30423300024465 -136.444994859397 2.29574644089826 -136.469519648701 2.28738320942424 -136.494044438004 2.30773330229846 -136.518569227308 2.28495672249751 -136.543094016612 2.28012126992176 -136.567618805915 2.27146543481095 -136.592143595219 2.28067153062784 -136.616668384522 2.28195202652728 -136.641193173826 2.28862473576854 -136.665717963129 2.28864853692456 -136.690242752433 2.29074616484454 -136.714767541736 2.29907991536618 -136.73929233104 2.29747010243934 -136.763817120343 2.27976721670199 -136.788341909647 2.28371131033482 -136.812866698951 2.31556781719796 -136.837391488254 2.32891787740113 -136.861916277558 2.29632807982246 -136.886441066861 2.27586067934927 -136.910965856165 2.3044748132923 -136.935490645468 2.30720846137599 -136.960015434772 2.29658678138829 -136.984540224075 2.29345983242661 -137.009065013379 2.29617621214914 -137.033589802682 2.32014870919774 -137.058114591986 2.30478815837792 -137.082639381289 2.30256508878811 -137.107164170593 2.30280731657302 -137.131688959897 2.30819414423548 -137.1562137492 2.32199048453671 -137.180738538504 2.30873592869288 -137.205263327807 2.29625115153748 -137.229788117111 2.290573445708 -137.254312906414 2.30625766567203 -137.278837695718 2.29980062608791 -137.303362485021 2.30831314770334 -137.327887274325 2.29281696803769 -137.352412063628 2.29186391529016 -137.376936852932 2.29714960628447 -137.401461642236 2.28926829194676 -137.425986431539 2.31772661992292 -137.450511220843 2.32417643855372 -137.475036010146 2.3088284428469 -137.49956079945 2.31728064479614 -137.524085588753 2.32692824877712 -137.548610378057 2.31560666628572 -137.57313516736 2.31397811857867 -137.597659956664 2.33795479458807 -137.622184745967 2.32080819070926 -137.646709535271 2.32403502861116 -137.671234324574 2.33555421004066 -137.695759113878 2.32431356141295 -137.720283903182 2.32178440436231 -137.744808692485 2.32048481017845 -137.769333481789 2.33338362253276 -137.793858271092 2.31671001510788 -137.818383060396 2.30524102133819 -137.842907849699 2.30818871231071 -137.867432639003 2.32657849676273 -137.891957428306 2.32596804450172 -137.91648221761 2.31779064065517 -137.941007006913 2.31511448547739 -137.965531796217 2.34007571989486 -137.990056585521 2.36078951371786 -138.014581374824 2.34124809692909 -138.039106164128 2.30021207349302 -138.063630953431 2.34405107039938 -138.088155742735 2.3379274948903 -138.112680532038 2.30751018365226 -138.137205321342 2.30561710955972 -138.161730110645 2.31764978405233 -138.186254899949 2.30663026173444 -138.210779689252 2.32949830182912 -138.235304478556 2.32914575915262 -138.259829267859 2.32378861043787 -138.284354057163 2.34591923153508 -138.308878846467 2.33595261142435 -138.33340363577 2.31510732856059 -138.357928425074 2.31821779818042 -138.382453214377 2.3239934072257 -138.406978003681 2.32109179925062 -138.431502792984 2.32433902713622 -138.456027582288 2.32511034617902 -138.480552371591 2.35082498061283 -138.505077160895 2.34341790095947 -138.529601950198 2.3121378595541 -138.554126739502 2.33590385246108 -138.578651528805 2.34794899439151 -138.603176318109 2.31930028481884 -138.627701107413 2.32555068454443 -138.652225896716 2.34504358563608 -138.67675068602 2.35049289478479 -138.701275475323 2.3340322636423 -138.725800264627 2.34316949392778 -138.75032505393 2.33577943214598 -138.774849843234 2.32668540791566 -138.799374632537 2.32468973927795 -138.823899421841 2.31783570655933 -138.848424211144 2.34192940319773 -138.872949000448 2.35278828220235 -138.897473789752 2.34392760241487 -138.921998579055 2.33830241193725 -138.946523368359 2.32340391080494 -138.971048157662 2.32372567779133 -138.995572946966 2.32533684121793 -139.020097736269 2.33165242014241 -139.044622525573 2.34716096390077 -139.069147314876 2.34198049873903 -139.09367210418 2.35626815932087 -139.118196893483 2.34626549765833 -139.142721682787 2.35834122668549 -139.16724647209 2.34931117931162 -139.191771261394 2.37002219145407 -139.216296050698 2.30989042942989 -139.240820840001 2.30202375044605 -139.265345629305 2.33304049435171 -139.289870418608 2.32763670586007 -139.314395207912 2.3294124072661 -139.338919997215 2.32069084133655 -139.363444786519 2.31623499547457 -139.387969575822 2.33405387473416 -139.412494365126 2.31503848991649 -139.437019154429 2.3123206749237 -139.461543943733 2.32439749089 -139.486068733037 2.35612367803332 -139.51059352234 2.35467530664992 -139.535118311644 2.3319722087425 -139.559643100947 2.35778057912643 -139.584167890251 2.35072179225367 -139.608692679554 2.35169167439405 -139.633217468858 2.36351514737636 -139.657742258161 2.36810891470995 -139.682267047465 2.33848545110023 -139.706791836768 2.33034901652153 -139.731316626072 2.35192095875738 -139.755841415375 2.36073921730489 -139.780366204679 2.35135102550208 -139.804890993983 2.35087434346091 -139.829415783286 2.34040919230172 -139.85394057259 2.33321375205618 -139.878465361893 2.32625464661169 -139.902990151197 2.33794151097608 -139.9275149405 2.33593582032729 -139.952039729804 2.35405918609658 -139.976564519107 2.35634615449893 -140.001089308411 2.33819857704049 -140.025614097714 2.35681685015196 -140.050138887018 2.35460073106677 diff --git a/doc/source/examples/examples.rst b/doc/source/examples/examples.rst deleted file mode 100644 index 4684a21..0000000 --- a/doc/source/examples/examples.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. _Examples: - -:tocdepth: -1 - -Examples -######## -Landing page for diffpy.labpdfproc examples. - -.. toctree:: - labpdfprocapp-example - functions-example - tools-example diff --git a/doc/source/examples/functions-example.rst b/doc/source/examples/functions-example.rst deleted file mode 100644 index 2a909e1..0000000 --- a/doc/source/examples/functions-example.rst +++ /dev/null @@ -1,75 +0,0 @@ -.. _Functions Example: - -:tocdepth: -1 - -Functions Example -################# - -This example will demonstrate how to use ``diffpy.labpdfproc.functions`` module independently -to apply absorption correction to your 1D diffraction data. - -1. First, you will need to prepare and load your input diffraction data. -For example, if you want to load data from ``zro2_mo.xy`` in the ``example-data`` directory, you can write: - -.. code-block:: python - - from diffpy.utils.parsers.loaddata import loadData - from diffpy.utils.diffraction_objects import DiffractionObject - - filepath = "../example-data/zro2_mo.xy" - xarray, yarray = loadData(filepath, unpack=True) - input_pattern = DiffractionObject( - xarray=xarray, - yarray=yarray, - xtype="tth", - wavelength=0.7, - scat_quantity="x-ray", - name="input diffraction data", - metadata={"beamline": "28ID-2"}, - ) - -For the full tutorial on working with diffraction objects, -please refer to https://www.diffpy.org/diffpy.utils/examples/diffraction_objects_example.html. - -2. Assume you have created your ``input_pattern`` and specified mu*D value as ``muD`` (e.g., ``muD=2``). -You can now compute the absorption correction (cve) for the given mu*D using the ``compute_cve`` function, -apply it to your input pattern, and save the corrected file. - -.. code-block:: python - - from diffpy.labpdfproc.functions import apply_corr, compute_cve - absorption_correction = compute_cve(input_pattern, muD) # compute cve, default method is "polynomial_interpolation" - corrected_pattern = apply_corr(input_pattern, absorption_correction) # apply cve correction - corrected_data.dump("corrected pattern.chi", xtype="tth") # save the corrected pattern - -If you want to use brute-force computation instead, you can replace the first line with: - -.. code-block:: python - - absorption_correction = compute_cve(input_pattern, muD, method="brute_force") - -3. Now, you can visualize the effect of the absorption correction -by plotting the original and corrected diffraction patterns. - -.. code-block:: python - - import matplotlib.pyplot as plt - plt.plot(input_pattern.xarray, input_pattern.yarray, label="Original Intensity") - plt.plot(corrected_pattern.xarray, corrected_pattern.yarray, label="Corrected Intensity") - plt.xlabel("tth (degree)") - plt.ylabel("Intensity") - plt.legend() - plt.title("Original vs. Corrected Intensity") - plt.show() - -4. You can modify the global parameters -``N_POINTS_ON_DIAMETER`` (the number of points on each diameter to sample the circle) -and ``TTH_GRID`` (the range of angles) when using the brute-force method. - -To speed up computation, you can reduce the range of ``TTH_GRID``. You can also increase ``N_POINTS_ON_DIAMETER`` -for better accuracy, but keep in mind that this will increase computation time. -For optimal results, we recommend setting it to an even number. - -Currently, the interpolation coefficients were computed using ``N_POINTS_ON_DIAMETER=2000``, -which ensures good accuracy within the muD range of 0.5 to 7. -This resolution also provides flexibility for extending the interpolation range in the future. diff --git a/doc/source/examples/labpdfprocapp-example.rst b/doc/source/examples/labpdfprocapp-example.rst deleted file mode 100644 index a553c8f..0000000 --- a/doc/source/examples/labpdfprocapp-example.rst +++ /dev/null @@ -1,130 +0,0 @@ -.. _labpdfprocapp Example: - -:tocdepth: -1 - -labpdfprocapp Example -##################### - -This example provides a quick-start tutorial for using ``diffpy.labpdfproc`` -to apply absorption correction to your 1D diffraction data using the command-line (CLI). -Check ``labpdfproc --help`` for more information. -A graphical user interface (GUI) is also available and is designed to be intuitive and easy to use. - - -1. To use this application, you will need: -(1) your input diffraction data file(s), and (2) information required to compute the muD value. -To launch the GUI, use ``labpdfproc`` or ``labpdfproc --gui``. -Note that the GUI is currently not supported on Python 3.13. - - -2. Here we first provide a basic CLI example. -Assume you have an uncorrected diffraction data file named ``zro2_mo.xy`` in the current directory -with a muD of 2.5 on the two-theta x-axis. Then the minimum command would be: - -.. code-block:: python - - labpdfproc zro2_mo.xy --mud 2.5 - - -3. You must provide at least one file path, and filepath(s) should immediately follow ``labpdfproc``. - -To process multiple files at once in the CLI, separate each file path with a whitespace. -In general, avoid spaces in filenames, but if necessary, enclose them in quotes; otherwise, quotes are optional. -For example, the following is a valid and more complex CLI command: - -.. code-block:: python - - labpdfproc "SiO2 uncorrected.xy" input_dir file_list.txt ./*.chi data* --mud 2.5 - -This command will process ``"SiO2 uncorrected.xy"``, -all files in the ``input_dir`` directory, all files listed in ``file_list.txt``, -all ``.chi`` files in the current directory, and all files matching the pattern ``data``, -using a muD value of 2.5. -Check ``labpdfproc --help`` to see all supported file types. - -In the GUI, you can select multiple individual files via the file browser, but not entire directories. -To include directories, you can either: -(1) create a text file named ``file_list.txt`` containing the desired paths and load it, -(2) manually select all files in a folder, or -(3) enter paths manually separated by a colon with no spaces. - -We will now continue using ``zro2_mo.xy`` as the example input throughout the rest of this tutorial. - - -4. The muD value is required for absorption correction, and you can specify it in one of the four ways: - -.. code-block:: python - - # Option 1: Manual value - labpdfproc zro2_mo.xy --mud 2.5 - # Option 2: From a z-scan file - labpdfproc zro2_mo.xy -z zscan.xy - # Option 3: Using sample mass density - labpdfproc zro2_mo.xy -d ZrO2,17.45,1.2 - # Option 4: Using packing fraction - labpdfproc zro2_mo.xy -p ZrO2,17.45,0.2 - -Note that you can only use one method at a time. The following examples are not allowed: - -.. code-block:: python - - labpdfproc zro2_mo.xy --mud 2.5 -z zscan.xy - labpdfproc zro2_mo.xy --mud 2.5 -d ZrO2,17.45,1.2 - -If the packing fraction option is not supported at the moment, you can approximate the sample mass density as: -``mass density = packing fraction * material density``, where the material density can be looked up manually. - - -5. You can specify the wavelength in two ways: - -.. code-block:: python - - # Option 1: Manually enter wavelength - labpdfproc zro2_mo.xy --mud 2.5 -w 0.71303 - # Option 2: Use a known anode type - labpdfproc zro2_mo.xy --mud 2.5 -a Mo - -Do not use both ``-w`` and ``-a`` at the same time. For example: - -.. code-block:: python - - labpdfproc zro2_mo.xy --mud 2.5 -w 0.71303 -a Mo - -is not valid. This is to avoid confusion when wavelength conflicts with anode type. -To avoid retyping, you can save your wavelength or anode type in a diffpy configuration file. -See full instructions at https://www.diffpy.org/diffpy.labpdfproc/examples/tools_example.html. - - -6. You are also encouraged to provide your information (name, email, and orcid) for reproducibility: - -.. code-block:: python - - labpdfproc zro2_mo.xy --mud 2.5 -n Joe -e Joe@email.com --orcid 0000-0000-0000-0000 - - -Alternatively, you can enter this information during the interactive prompts -or save it in your diffpy configuration file. -For more details, refer to https://www.diffpy.org/diffpy.utils/examples/tools_example.html. - - -7. You can further customize the diffraction correction process using the following options: - -- Choose xtype: use ``-x`` to specify your input data's xtype, which will be used for the output. -- Select correction method: use ``-m`` to choose between "brute_force" or "polynomial_interpolation" (faster and preferred for muD 0.5-7). -- Specify output directory: use ``-o`` to save the corrected file(s) to a specific folder. -- Add custom metadata: use ``-u`` to provide key-value pair for information tracking (e.g., experimental details). -- Output the cve file: use ``-c`` to export the cve file along with the corrected data. -- Overwrite existing files: use ``-f`` to replace any previous corrected files with the same names. - - -8. To summarize, a full command might look like this: - -.. code-block:: python - - labpdfproc zro2_mo.xy --mud 2.5 -w 0.71303 -n Joe -x q -m brute_force -o results -u "facility=NSLS II" beamline=28ID-2 -c -f - -After running the command, check your output folder (in this case, ``results``) -for the corrected data file and cve file (if ``-c`` was used). -In this example, the corrected and cve files are called ``zro2_mo_corrected.chi`` and ``zro2_mo_cve.chi``. -The headers include all the arguments you provided -—such as diffraction settings, personal information, and metadata—making it easy to track your analysis. diff --git a/doc/source/examples/tools-example.rst b/doc/source/examples/tools-example.rst deleted file mode 100644 index 674d244..0000000 --- a/doc/source/examples/tools-example.rst +++ /dev/null @@ -1,139 +0,0 @@ -.. _Tools Example: - -:tocdepth: -1 - -Tools Example -############# - -This example will demonstrate how to use ``diffpy.labpdfproc.tools`` module -to preprocess diffraction data using an ``argparse.Namespace`` called ``args``. -These functions help set up inputs, metadata, and parameters before applying absorption correction. - -1. We begin by estimating the mu*D value used for absorption correction using ``set_mud(args)``. -You can do this in one of the following four ways: - -.. code-block:: python - - from argparse import Namespace - # Option 1: Manual value - args = Namespace(mud=2) - # Option 2: From a z-scan file - args = Namespace(z_scan_file="zscan.xy") - # Option 3: Using sample mass density - args = Namespace(theoretical_from_density="ZrO2,17.45,1.2") - # Option 4: Using packing fraction - args = Namespace(theoretical_from_packing="ZrO2,17.45,0.3") - # Set and view the computed mu*D value - args = set_mud(args) - print(args.mud) - - -2. Next, we load the input files for correction using ``set_input_lists(args)``: - -.. code-block:: python - - args = Namespace(input="file1.xy file2.xy") - args = set_input_lists(args) - print(args.input_paths) - -This function resolves the input filenames into full file paths. -For details on supported input formats, check ``labpdfproc --help``. - - -3. We now set the output directory where the cve and corrected files will be saved: - -.. code-block:: python - - args = Namespace(output_directory="output") # creates "output/" directory if it doesn't exist - args = set_output_directory(args) - print(args.output_directory) - -If a filename is provided instead of a directory, an error will be raised. -If no output directory is specified, it defaults to the current working directory. - - -4. We then set wavelength and xtype, both of which are necessary for absorption correction: - -.. code-block:: python - - # Option 1: Specify wavelength directly - args = Namespace(wavelength=0.7) - # Option 2: Use a valid anode type - args = Namespace(anode_type="Mo") - args = set_wavelength(args) - -Note that you should specify either a wavelength or an anode type, not both, to avoid conflicts. -If you provide an anode type, the corresponding wavelength will be retrieved from global parameters. -You may use ``labpdfproc --help`` to view a list of valid anode types. -If neither is given, it's only acceptable if the input diffraction data is already on a two-theta grid. -To simplify workflows and avoid re-entering it every time, -we recommend saving the wavelength or anode type to a diffpy config file. For example: - -.. code-block:: python - - from pathlib import Path - import json - home_dir = Path.home() - wavelength_data = {"wavelength": 0.3} - with open(home_dir / "diffpyconfig.json", "w") as f: - json.dump(wavelength_data, f) - -To set the x-axis type (xtype) for your diffraction data: - -.. code-block:: python - - args = Namespace(xtype="tth") - args = set_xtype(args) - -This sets the xtype to ``tth``. Other valid options including ``q`` and ``d`` spacing. - - -5. Finally, we load user metadata, user information, and package information into ``args``. -To load metadata, pass key-value pairs as a list: - -.. code-block:: python - - args = Namespace( - user_metadata=[ - "facility=NSLS II", - "beamline=28ID-2", - ]) - args = load_user_metadata(args) - -This ensures all key-value pairs are parsed and added as attributes. - -To load your user information (username, email, and orcid), you can manually add it through ``args``: - -.. code-block:: python - - args = Namespace(username="Joe", email="joe@example.com", orcid="0000-0000-0000-0000") - args = load_user_info(args) - print(args.username, args.email, args.orcid) - -Alternatively, this can be saved in a config file -(see https://www.diffpy.org/diffpy.utils/examples/tools_example.html). -If nothing is found, you will be prompted to create one. -Note that it is not recommended to store personal information on a public or shared computer. - -Furthermore, the function ``load_package_info(args)`` is used to attach package name and version info for reproducibility. -This is typically run automatically but can be called explicitly: - -.. code-block:: python - - args = load_package_info(args) - print(args.package_info) # Output example: {"diffpy.labpdfproc": "0.0.1", "diffpy.utils": "3.0.0"} - - -6. We also provide a convenient function to run all steps above at once: - -.. code-block:: python - - args = preprocessing_args(args) - - -7. The final step is converting your ``args`` to a metadata dictionary -so that it can be attached to the diffraction object's header during output writing. -Using the function ``load_metadata(args, filepath)`` -requires both the ``argument.Namespace`` and the current input file path. -For more details about working with diffraction objects and how they are written to output files, see -https://www.diffpy.org/diffpy.utils/examples/diffraction_objects_example.html. diff --git a/doc/source/index.rst b/doc/source/index.rst deleted file mode 100644 index 1de5c3f..0000000 --- a/doc/source/index.rst +++ /dev/null @@ -1,46 +0,0 @@ -####### -|title| -####### - -.. |title| replace:: diffpy.labpdfproc documentation - -diffpy.labpdfproc - Tools for processing x-ray powder diffraction data from laboratory sources. - -| Software version |release|. -| Last updated |today|. - -======= -Authors -======= - -diffpy.labpdfproc is developed by Billinge Group -and its community contributors. - -For a detailed list of contributors see -https://github.com/diffpy/diffpy.labpdfproc/graphs/contributors. - -============ -Installation -============ - -See the `README `_ -file included with the distribution. - -================= -Table of contents -================= -.. toctree:: - :titlesonly: - - license - release - Utilities - Examples - Package API - -======= -Indices -======= - -* :ref:`genindex` -* :ref:`search` diff --git a/doc/source/utilities/functions-utility.rst b/doc/source/utilities/functions-utility.rst deleted file mode 100644 index bf40b65..0000000 --- a/doc/source/utilities/functions-utility.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. _Functions Utility: - -Functions Utility -================= - -The ``diffpy.labpdfproc.functions`` module provides tools -for computing and applying absorption correction (cve) to 1D diffraction patterns. - -- ``Gridded_circle``: This class supports absorption correction by - creating a uniform grid of points within a circle for a given radius and linear absorption coefficient mu, - and computing the path length and effective volume for each grid point at a given angle. - -- ``compute_cve``: This function computes the absorption correction curve for a given muD value - (the product of mu and capillary diameter D). - For brute-force computation, it averages the effective volume across all grid points - and computes the cve values as the reciprocal of this average. - Alternatively, for fast calculation, - it uses polynomial interpolation with pre-computed coefficients to estimate cve values for a given muD. - Polynomial interpolation is available for muD values between 0.5-7. - -- ``apply_corr``: This function applies the computed absorption correction to the input diffraction pattern - by multiplying it with the corresponding cve, resulting in a corrected diffraction pattern. - -For a more in-depth tutorial for how to use these tools, click :ref:`here `. diff --git a/doc/source/utilities/labpdfprocapp-utility.rst b/doc/source/utilities/labpdfprocapp-utility.rst deleted file mode 100644 index 13ed3ed..0000000 --- a/doc/source/utilities/labpdfprocapp-utility.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. _labpdfprocapp Utility: - -labpdfprocapp Utility -===================== - -The ``diffpy.labpdfproc.labpdfprocapp`` module provides both a command-line (CLI) and graphical user interface (GUI) -for processing diffraction data, applying absorption correction, and saving the output files. - -- ``get_args()``: This function parses all CLI arguments. - -- ``gooey_parser()``: This function provides a GUI for argument input. - -- ``main()``: This function validates all arguments, performs preprocessing, and saves the output files. - -For a more in-depth tutorial for how to get started, click :ref:`here `. diff --git a/doc/source/utilities/tools-utility.rst b/doc/source/utilities/tools-utility.rst deleted file mode 100644 index 74dd58d..0000000 --- a/doc/source/utilities/tools-utility.rst +++ /dev/null @@ -1,51 +0,0 @@ -.. _Tools Utility: - -Tools Utility -============= - -The ``diffpy.labpdfproc.tools`` module provides functions to -manage user inputs, output directories, and diffraction information. -These functions work mostly with an ``argparse.Namespace`` object and help prepare data for diffraction processing. - -- ``set_mud()``: This function determines the muD value used to compute absorption correction. - Users can either provide the value directly, upload a z-scan file, - or specify relevant chemical information to get a theoretical estimation. - -- ``set_input_lists()``: This function parses all specified input files. - Users can provide a list of files or directories via command-line arguments or GUI selection. - You can also specify a ``file_list.txt`` that contains file paths (one per line), - including paths to entire directories. - Wildcard patterns are also supported for matching multiple files. - -- ``set_output_directory()``: This function ensures that an output directory is defined and exists. - If it is not explicitly provided, it defaults to the current working directory. - This directory is used to store all cve and corrected output files. - -- ``load_wavelength_from_config_file()`` and ``set_wavelength()``: - These two functions work together to determine the wavelength for processing. - ``load_wavelength_from_config_file()`` reads the default wavelength or anode type - from user input or a diffpy configuration file, and ``set_wavelength()`` finalizes the wavelength value. - It is recommended to store the wavelength information in a diffpy configuration file - to avoid re-entering it every time. - -- ``set_xtype()``: This function sets the x-axis variable for intensity interpolation (e.g. two-theta, q, d-spacing) - and should be the same of the input diffraction data. The default is two-theta. - -- ``load_user_metadata()``: This function loads experimental metadata - or any user-defined key-value pairs to be recorded in the output files. - -- ``load_user_info()``: This function loads user identification (name, email, orcid). - Users can provide the information directly through arguments or store it in a diffpy configuration file. - If no information is found, the function will prompt the user to create a configuration file, - which is then saved for use in output metadata and future uses. - -- ``load_package_info()``: This functions stores the package name and version for record-keeping. - -- ``preprocessing_args()``: This is a convenience function that runs all standard setup steps listed above. - It ensures the input/output paths, wavelength, muD value, metadata, and user and package info are - fully initialized before applying the correction. - -- ``load_metadata()``: This function transfers all collected information from the ``argparse.Namespace`` object - into a diffraction object, allowing it to be saved in the output file header for tracking purpose. - -For a more in-depth tutorial for how to use these tools, click :ref:`here `. diff --git a/doc/source/utilities/utilities.rst b/doc/source/utilities/utilities.rst deleted file mode 100644 index cd3a1d2..0000000 --- a/doc/source/utilities/utilities.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. _Utilities: - -:tocdepth: -1 - -Utilities -######### -Overview of utilities offered by ``diffpy.labpdfproc``. -Check the :ref:`examples` provided for how to use these. - -.. contents:: - :depth: 2 - -.. include:: labpdfprocapp-utility.rst -.. include:: functions-utility.rst -.. include:: tools-utility.rst diff --git a/doc/Makefile b/docs/Makefile similarity index 99% rename from doc/Makefile rename to docs/Makefile index a86d284..d1f39d4 100644 --- a/doc/Makefile +++ b/docs/Makefile @@ -6,7 +6,7 @@ SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = build -BASENAME = $(subst .,,$(subst $() $(),,diffpy.labpdfproc)) +BASENAME = $(subst .,,$(subst $() $(),,diffpy.my-labpdfproc)) # User-friendly check for sphinx-build ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) diff --git a/doc/make.bat b/docs/make.bat similarity index 95% rename from doc/make.bat rename to docs/make.bat index ac53d5b..2be8306 100644 --- a/doc/make.bat +++ b/docs/make.bat @@ -1,36 +1,36 @@ -@ECHO OFF - -pushd %~dp0 - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set SOURCEDIR=source -set BUILDDIR=build -set SPHINXPROJ=PackagingScientificPython - -if "%1" == "" goto help - -%SPHINXBUILD% >NUL 2>NUL -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% -goto end - -:help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% - -:end -popd +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build +set SPHINXPROJ=PackagingScientificPython + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% + +:end +popd diff --git a/doc/source/_static/.placeholder b/docs/source/_static/.placeholder similarity index 100% rename from doc/source/_static/.placeholder rename to docs/source/_static/.placeholder diff --git a/docs/source/api/diffpy.my_labpdfproc.example_package.rst b/docs/source/api/diffpy.my_labpdfproc.example_package.rst new file mode 100644 index 0000000..35a799d --- /dev/null +++ b/docs/source/api/diffpy.my_labpdfproc.example_package.rst @@ -0,0 +1,31 @@ +.. _example_package documentation: + +|title| +======= + +.. |title| replace:: diffpy.my_labpdfproc.example_package package + +.. automodule:: diffpy.my_labpdfproc.example_package + :members: + :undoc-members: + :show-inheritance: + +|foo| +----- + +.. |foo| replace:: diffpy.my_labpdfproc.example_package.foo module + +.. automodule:: diffpy.my_labpdfproc.example_package.foo + :members: + :undoc-members: + :show-inheritance: + +|bar| +----- + +.. |bar| replace:: diffpy.my_labpdfproc.example_package.bar module + +.. automodule:: diffpy.my_labpdfproc.example_package.foo + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/api/diffpy.my_labpdfproc.rst b/docs/source/api/diffpy.my_labpdfproc.rst new file mode 100644 index 0000000..36c57ca --- /dev/null +++ b/docs/source/api/diffpy.my_labpdfproc.rst @@ -0,0 +1,30 @@ +:tocdepth: -1 + +|title| +======= + +.. |title| replace:: diffpy.my-labpdfproc package + +.. automodule:: diffpy.my_labpdfproc + :members: + :undoc-members: + :show-inheritance: + +Subpackages +----------- + +.. toctree:: + diffpy.my_labpdfproc.example_package + +Submodules +---------- + +|module| +-------- + +.. |module| replace:: diffpy.my_labpdfproc.example_submodule module + +.. automodule:: diffpy.my_labpdfproc.example_submodule + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/conf.py b/docs/source/conf.py similarity index 87% rename from doc/source/conf.py rename to docs/source/conf.py index 12c7366..f44d0bd 100644 --- a/doc/source/conf.py +++ b/docs/source/conf.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# diffpy.labpdfproc documentation build configuration file, created by +# diffpy.my-labpdfproc documentation build configuration file, created by # noqa: E501 # sphinx-quickstart on Thu Jan 30 15:49:41 2014. # # This file is execfile()d with the current directory set to its @@ -18,15 +18,21 @@ from importlib.metadata import version from pathlib import Path +# Attempt to import the version dynamically from GitHub tag. +try: + fullversion = version("diffpy.my_labpdfproc") +except Exception: + fullversion = "No version found. The correct version will appear in the released version." # noqa: E501 + # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the -# documentation root, use Path().resolve() to make it absolute, like shown here. +# documentation root, use Path().resolve() to make it absolute, like shown here. # noqa: E501 # sys.path.insert(0, str(Path(".").resolve())) sys.path.insert(0, str(Path("../..").resolve())) sys.path.insert(0, str(Path("../../src").resolve())) # abbreviations -ab_authors = "Billinge Group members and community contributors" +ab_authors = "Sangjoon Lee, Simon Billinge, Billinge Group members" # -- General configuration ------------------------------------------------ @@ -43,6 +49,7 @@ "sphinx.ext.viewcode", "sphinx.ext.intersphinx", "sphinx_rtd_theme", + "sphinx_copybutton", "m2r", ] @@ -61,14 +68,13 @@ master_doc = "index" # General information about the project. -project = "diffpy.labpdfproc" +project = "diffpy.my-labpdfproc" copyright = "%Y, The Trustees of Columbia University in the City of New York" # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. -fullversion = version(project) # The short X.Y version. version = "".join(fullversion.split(".post")[:1]) # The full version, including alpha/beta/rc tags. @@ -88,6 +94,11 @@ # substitute YEAR in the copyright string copyright = copyright.replace("%Y", year) +# For sphinx_copybutton extension. +# Do not copy "$" for shell commands in code-blocks. +copybutton_prompt_text = r"^\$ " +copybutton_prompt_is_regexp = True + # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = ["build"] @@ -111,7 +122,7 @@ pygments_style = "sphinx" # A list of ignored prefixes for module index sorting. -modindex_common_prefix = ["diffpy.labpdfproc"] +modindex_common_prefix = ["diffpy.my-labpdfproc"] # Display all warnings for missing links. nitpicky = True @@ -123,6 +134,14 @@ # html_theme = "sphinx_rtd_theme" +html_context = { + "display_github": True, + "github_user": "diffpy", + "github_repo": "diffpy.my-labpdfproc", + "github_version": "main", + "conf_py_path": "/docs/source/", +} + # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. @@ -202,7 +221,7 @@ # html_file_suffix = None # Output file base name for HTML help builder. -basename = "diffpy.labpdfproc".replace(" ", "").replace(".", "") +basename = "diffpy.my-labpdfproc".replace(" ", "").replace(".", "") htmlhelp_basename = basename + "doc" @@ -223,8 +242,8 @@ latex_documents = [ ( "index", - "diffpy.labpdfproc.tex", - "diffpy.labpdfproc Documentation", + "diffpy.my-labpdfproc.tex", + "diffpy.my-labpdfproc Documentation", ab_authors, "manual", ), @@ -258,8 +277,8 @@ man_pages = [ ( "index", - "diffpy.labpdfproc", - "diffpy.labpdfproc Documentation", + "diffpy.my-labpdfproc", + "diffpy.my-labpdfproc Documentation", ab_authors, 1, ) @@ -277,10 +296,10 @@ texinfo_documents = [ ( "index", - "diffpy.labpdfproc", - "diffpy.labpdfproc Documentation", + "diffpy.my-labpdfproc", + "diffpy.my-labpdfproc Documentation", ab_authors, - "diffpy.labpdfproc", + "diffpy.my-labpdfproc", "One line description of project.", "Miscellaneous", ), diff --git a/docs/source/getting-started.rst b/docs/source/getting-started.rst new file mode 100644 index 0000000..c1e786f --- /dev/null +++ b/docs/source/getting-started.rst @@ -0,0 +1,79 @@ +:tocdepth: -1 + +.. index:: getting-started + +.. _getting-started: + +================ +Getting started +================ + +Here are some example templates provided to help you get started with writing your documentation. You can use these templates to create your own documentation. + +Reuse ``.rst`` files across multiple pages +------------------------------------------ + +Here is how you can reuse a reusable block of ``.rst`` files across multiple pages: + +.. include:: snippets/example-table.rst + +.. warning:: + + Ensure that the ``.rst`` file you are including is not too long. If it is too long, it may be better to split it into multiple files and include them separately. + +Refer to a specific section in the documentation +------------------------------------------------ + +You can use the ``ref`` tag to refer to a specific section in the documentation. For example, you can refer to the section below using the ``:ref:`` tag as shown :ref:`here `. + +.. note:: + + Please check the raw ``.rst`` file of this page to see the exact use of the ``:ref:`` tag. + +Embed your code snippets in the documentation +--------------------------------------------- + +Here is how you can write a block of code in the documentation. You can use the ``code-block`` directive to write a block of code in the documentation. For example, you can write a block of code as shown below: + +.. code-block:: bash + + # Create a new environment, without build dependencies (pure Python package) + conda create -n -env python=3.13 \ + --file requirements/test.txt \ + --file requirements/conda.txt + + # Create a new environment, with build dependencies (non-pure Python package) + conda create -n -env python=3.13 \ + --file requirements/test.txt \ + --file requirements/conda.txt \ + --file requirements/build.txt + + # Activate the environment + conda activate _env + + # Install your package locally + # `--no-deps` to NOT install packages again from `requirements.pip.txt` + pip install -e . --no-deps + + # Run pytest locally + pytest + + # ... run example tutorials + +.. _attach-image: + +Attach an image to the documentation +------------------------------------ + +Here is how you attach an image to the documentation. The ``/docs/source/img/scikit-package-logo-text.png`` example image is provided in the template. + +.. image:: ./img/scikit-package-logo-text.png + :alt: codecov-in-pr-comment + :width: 400px + :align: center + + +Other useful directives +----------------------- + +Here is how you can do menu selection :menuselection:`Admin --> Settings` and display labels for buttons like :guilabel:`Privacy level`. diff --git a/docs/source/img/scikit-package-logo-text.png b/docs/source/img/scikit-package-logo-text.png new file mode 100644 index 0000000..823178d Binary files /dev/null and b/docs/source/img/scikit-package-logo-text.png differ diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 0000000..bc8db81 --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,56 @@ +####### +|title| +####### + +.. |title| replace:: diffpy.my-labpdfproc documentation + +``diffpy.my-labpdfproc`` - Python package for doing science. + +| Software version |release| +| Last updated |today|. + +=============== +Getting started +=============== + +Welcome to the ``diffpy.my-labpdfproc`` documentation! + +To get started, please visit the :ref:`Getting started ` page. + +======= +Authors +======= + +``diffpy.my-labpdfproc`` is developed by Sangjoon Lee, Simon Billinge, Billinge Group members. The maintainer for this project is Simon Billinge. For a detailed list of contributors see +https://github.com/diffpy/diffpy.my-labpdfproc/graphs/contributors. + +============ +Installation +============ + +See the `README `_ +file included with the distribution. + +================ +Acknowledgements +================ + +``diffpy.my-labpdfproc`` is built and maintained with `scikit-package `_. + +================= +Table of contents +================= +.. toctree:: + :maxdepth: 2 + + getting-started + Package API + release + license + +======= +Indices +======= + +* :ref:`genindex` +* :ref:`search` diff --git a/doc/source/license.rst b/docs/source/license.rst similarity index 95% rename from doc/source/license.rst rename to docs/source/license.rst index 9ae52a9..5e751f7 100644 --- a/doc/source/license.rst +++ b/docs/source/license.rst @@ -9,8 +9,7 @@ OPEN SOURCE LICENSE AGREEMENT ============================= BSD 3-Clause License -Copyright (c) 2024, The Trustees of Columbia University in -the City of New York. +Copyright (c) 2025, The Trustees of Columbia University in the City of New York. All Rights Reserved. Redistribution and use in source and binary forms, with or without diff --git a/doc/source/release.rst b/docs/source/release.rst similarity index 100% rename from doc/source/release.rst rename to docs/source/release.rst diff --git a/docs/source/snippets/example-table.rst b/docs/source/snippets/example-table.rst new file mode 100644 index 0000000..7c4c11d --- /dev/null +++ b/docs/source/snippets/example-table.rst @@ -0,0 +1,28 @@ +.. list-table:: 5 levels of reusing/sharing code + :widths: 5 15 40 40 + :header-rows: 1 + + * - Level + - Name + - Scope + - How to setup + * - 1 + - ``function`` + - Reuse code in the single file. + - See Level 1 tutorial + * - 2 + - ``module`` + - Reuse code across files. + - See Level 2 tutorial + * - 3 + - ``workspace`` + - Reuse code across project folders. + - ``package create workspace`` + * - 4 + - ``system`` + - Reuse code across any files in the computer. + - ``package create system`` + * - 5 + - ``public`` + - Share code as publicly installable package. + - ``package create public`` diff --git a/environment.yml b/environment.yml deleted file mode 100644 index 826fdfd..0000000 --- a/environment.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: diffpy.labpdfproc -channels: - - conda-forge -dependencies: - - python=3 - - pip diff --git a/news/applymud.rst b/news/applymud.rst deleted file mode 100644 index e618a21..0000000 --- a/news/applymud.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* new subcommand ``applymud`` to run the original absorption correction process through CLI. - -**Changed:** - -* GitHub workflows for renamed test file. - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/codecov.rst b/news/codecov.rst deleted file mode 100644 index e3c89a7..0000000 --- a/news/codecov.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* Coverage report in each PR - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/codespell.rst b/news/codespell.rst deleted file mode 100644 index 8c5ba6d..0000000 --- a/news/codespell.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* Spelling check via Codespell in pre-commit - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/docstring-tests.rst b/news/docstring-tests.rst deleted file mode 100644 index 137f773..0000000 --- a/news/docstring-tests.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* Functionality in `load_user_info` to enable user to enter an ORCID. - -**Changed:** - -* All function docstrings and tests to be more informative, incorporating new ORCID function and improving overall clarity. - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/fastcalto7.rst b/news/fastcalto7.rst deleted file mode 100644 index b82bd94..0000000 --- a/news/fastcalto7.rst +++ /dev/null @@ -1,24 +0,0 @@ -**Added:** - -* Fast calculation supports values up to muD = 7 - -**Changed:** - -* Default to brute-force computation when muD < 0.5 or > 7. -* Print a warning message instead of error, explicitly stating the input muD value - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/folder-rst-readme.rst b/news/folder-rst-readme.rst deleted file mode 100644 index 24d8f13..0000000 --- a/news/folder-rst-readme.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* doi in Readme for papers. - -**Changed:** - -* hyphens / underscores format according to new scikit-package group standard. - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/functions-docs.rst b/news/functions-docs.rst deleted file mode 100644 index 8142dc4..0000000 --- a/news/functions-docs.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* Documentation for functions module. - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/gui.rst b/news/gui.rst deleted file mode 100644 index 11ed94f..0000000 --- a/news/gui.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* Gooey support so that the app can be run with GUI - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/main-doc.rst b/news/main-doc.rst deleted file mode 100644 index b4674dd..0000000 --- a/news/main-doc.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* Utility and example documentation for the main module. - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/muD-options.rst b/news/muD-options.rst deleted file mode 100644 index 1766a48..0000000 --- a/news/muD-options.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* - -**Changed:** - -* Made muD an optional argument and provided different options (manually entry / z-scan file path) for users to specify muD - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/muD-theoretical.rst b/news/muD-theoretical.rst deleted file mode 100644 index 4fde53b..0000000 --- a/news/muD-theoretical.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* Functionalities to estimate mu*D theoretically. - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/muD.rst b/news/muD.rst deleted file mode 100644 index feae116..0000000 --- a/news/muD.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* no news added - minor edits in mud_calculator.py - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/muD2.rst b/news/muD2.rst deleted file mode 100644 index 617eb2b..0000000 --- a/news/muD2.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* no news added - rename variables in `mud_calculator.py` and edit tests - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/output-wavelength.rst b/news/output-wavelength.rst deleted file mode 100644 index 7522d38..0000000 --- a/news/output-wavelength.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* duplicated wavelength information in output files - -**Security:** - -* diff --git a/news/py313.rst b/news/py313.rst deleted file mode 100644 index 524608e..0000000 --- a/news/py313.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* Python 3.13 support - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/recut.rst b/news/recut.rst deleted file mode 100644 index 93e880c..0000000 --- a/news/recut.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* no news: modified .github, .pre-commit-config.yaml and related files to follow new practice for commit and issues. - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/recut2.rst b/news/recut2.rst deleted file mode 100644 index 35f4d9d..0000000 --- a/news/recut2.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* Recookiecut with updated ``scikit-package`` to enable docs preview in PRs. - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/remove-namespace.rst b/news/remove-namespace.rst deleted file mode 100644 index 3ba530e..0000000 --- a/news/remove-namespace.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* Remove the import of extend_path from pkgutil in diffpy/__init__.py since we are not strictly following the Python namespace package convention. - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/tools-doc.rst b/news/tools-doc.rst deleted file mode 100644 index d126b65..0000000 --- a/news/tools-doc.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* Utility and example documentation for ``tools`` module. - -**Changed:** - -* Readme: muD now requires the ``--mud`` flag instead of a required argument. - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/utils-updates.rst b/news/utils-updates.rst deleted file mode 100644 index fd6d1fc..0000000 --- a/news/utils-updates.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* - -**Changed:** - -* Functions that use DiffractionObject` in `diffpy.utils` to follow the new API. - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/wavelength-config.rst b/news/wavelength-config.rst deleted file mode 100644 index 1bf4566..0000000 --- a/news/wavelength-config.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* Functionality to read wavelength and anode type directly from a diffpy configuration file. - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/wavelength-workflow.rst b/news/wavelength-workflow.rst deleted file mode 100644 index 09891c6..0000000 --- a/news/wavelength-workflow.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* - -**Changed:** - -* Workflow for loading wavelength - raise an error when both wavelength and anode type are specified. - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/wavelength.rst b/news/wavelength.rst deleted file mode 100644 index 17fff49..0000000 --- a/news/wavelength.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* - -**Changed:** - -* Increased the number of significant figures for wavelength and separated values for Ka1 and Ka2. - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/xtype.rst b/news/xtype.rst deleted file mode 100644 index 20ecef3..0000000 --- a/news/xtype.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* Support for independent variables other than two-theta. - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/pyproject.toml b/pyproject.toml index 09a5bd9..611106c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,16 +3,16 @@ requires = ["setuptools>=62.0", "setuptools-git-versioning>=2.0"] build-backend = "setuptools.build_meta" [project] -name = "diffpy.labpdfproc" +name = "diffpy.my-labpdfproc" dynamic=['version', 'dependencies'] authors = [ - { name="Simon J.L. Billinge group", email="simon.billinge@gmail.com" }, + { name="Simon Billinge", email="sb2896@columbia.edu" }, ] maintainers = [ - { name="Simon J.L. Billinge group", email="simon.billinge@gmail.com" }, + { name="Simon Billinge", email="sb2896@columbia.edu" }, ] -description = "Tools for processing x-ray powder diffraction data from laboratory sources." -keywords = ['powder xrd', 'absorption correction', 'pdf', 'diffpy'] +description = "Python package for doing science." +keywords = ['diffraction', 'PDF', 'X-ray', 'neutron'] readme = "README.rst" requires-python = ">=3.11, <3.14" classifiers = [ @@ -33,8 +33,8 @@ classifiers = [ ] [project.urls] -Homepage = "https://github.com/diffpy/diffpy.labpdfproc/" -Issues = "https://github.com/diffpy/diffpy.labpdfproc/issues/" +Homepage = "https://github.com/diffpy/diffpy.my-labpdfproc/" +Issues = "https://github.com/diffpy/diffpy.my-labpdfproc/issues/" [tool.setuptools-git-versioning] enabled = true @@ -42,22 +42,27 @@ template = "{tag}" dev_template = "{tag}" dirty_template = "{tag}" -[project.scripts] -labpdfproc = "diffpy.labpdfproc.labpdfprocapp:main" - [tool.setuptools.packages.find] where = ["src"] # list of folders that contain the packages (["."] by default) include = ["*"] # package names should match these glob patterns (["*"] by default) -exclude = ["diffpy.labpdfproc.tests*"] # exclude packages matching these glob patterns (empty by default) +exclude = [] # exclude packages matching these glob patterns (empty by default) namespaces = false # to disable scanning PEP 420 namespaces (true by default) +[project.scripts] +diffpy-my-labpdfproc = "diffpy.my_labpdfproc.app:main" + [tool.setuptools.dynamic] dependencies = {file = ["requirements/pip.txt"]} [tool.codespell] exclude-file = ".codespell/ignore_lines.txt" ignore-words = ".codespell/ignore_words.txt" -skip = "*.cif" +skip = "*.cif,*.dat" + +[tool.docformatter] +recursive = true +wrap-summaries = 72 +wrap-descriptions = 72 [tool.black] line-length = 79 diff --git a/requirements/README.txt b/requirements/README.txt deleted file mode 100644 index 3de372a..0000000 --- a/requirements/README.txt +++ /dev/null @@ -1,11 +0,0 @@ -# YOU MAY DELETE THIS FILE AFTER SETTING UP DEPENDENCIES! -# -# This directory is where you should place your project dependencies. -# "pip.txt" should contain all required packages not available on conda. -# All other files should contain only packages available to download from conda. -# build.txt should contain all packages required to build (not run) the project. -# run.txt should contain all packages (including optional packages) required for a user to run the program. -# test.txt should contain all packages required for the testing suite and to ensure all tests pass. -# docs.txt should contain all packages required for building the package documentation page. -# -# YOU MAY DELETE THIS FILE AFTER SETTING UP DEPENDENCIES! diff --git a/requirements/build.txt b/requirements/build.txt index f72d870..e69de29 100644 --- a/requirements/build.txt +++ b/requirements/build.txt @@ -1,2 +0,0 @@ -python -setuptools diff --git a/requirements/docs.txt b/requirements/docs.txt index ab17b1c..5f34c6e 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -1,4 +1,5 @@ sphinx sphinx_rtd_theme +sphinx-copybutton doctr m2r diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt deleted file mode 100644 index c601d11..0000000 --- a/requirements/requirements-dev.txt +++ /dev/null @@ -1,20 +0,0 @@ -# These are required for developing the package (running the tests, building -# the documentation) but not necessarily required for _using_ it. -black -codecov -coverage -flake8 -isort -nbstripout -pre-commit -pre-commit-hooks -pytest -pytest-mock -sphinx -twine -# These are dependencies of various sphinx extensions for documentation. -ipython -matplotlib -numpydoc -sphinx-copybutton -sphinx_rtd_theme diff --git a/src/diffpy/labpdfproc/functions.py b/src/diffpy/labpdfproc/functions.py index 46c9ade..2f08e96 100644 --- a/src/diffpy/labpdfproc/functions.py +++ b/src/diffpy/labpdfproc/functions.py @@ -40,8 +40,8 @@ def __init__( self._get_grid_points() def _get_grid_points(self): - """Given a radius and a grid size, return a grid of points to uniformly - sample that circle.""" + """Given a radius and a grid size, return a grid of points to + uniformly sample that circle.""" xs = np.linspace(-self.radius, self.radius, self.npoints) ys = np.linspace(-self.radius, self.radius, self.npoints) self.grid = { @@ -50,8 +50,8 @@ def _get_grid_points(self): self.total_points_in_grid = len(self.grid) def _get_entry_exit_coordinates(self, coordinate, angle): - """Get the coordinates where the beam enters and leaves the circle for - a given angle and grid point. + """Get the coordinates where the beam enters and leaves the + circle for a given angle and grid point. It is calculated in the following way: For the entry coordinate, @@ -108,8 +108,9 @@ def _get_entry_exit_coordinates(self, coordinate, angle): return entry_point, exit_point def _get_path_length(self, grid_point, angle): - """Return the path length of a horizontal line entering the circle at - the same height to the grid point then exiting at angle. + """Return the path length of a horizontal line entering the + circle at the same height to the grid point then exiting at + angle. Parameters ---------- @@ -136,8 +137,8 @@ def _get_path_length(self, grid_point, angle): return total_distance, primary_distance, secondary_distance def set_distances_at_angle(self, angle): - """Given an angle, set the distances from the grid points to the entry - and exit coordinates. + """Given an angle, set the distances from the grid points to the + entry and exit coordinates. Parameters ---------- @@ -170,8 +171,8 @@ def set_muls_at_angle(self, angle): def _cve_brute_force(input_pattern, mud): - """Compute cve for the given mud on a global grid using the brute-force - method. + """Compute cve for the given mud on a global grid using the brute- + force method. Assume mu=mud/2, given that the same mu*D yields the same cve and D/2=1. @@ -202,8 +203,8 @@ def _cve_brute_force(input_pattern, mud): def _cve_polynomial_interpolation(input_pattern, mud): - """Compute cve using polynomial interpolation method, default to brute- - force computation if mu*D is out of the range (0.5 to 7).""" + """Compute cve using polynomial interpolation method, default to + brute- force computation if mu*D is out of the range (0.5 to 7).""" if mud > 7 or mud < 0.5: warnings.warn( f"Input mu*D = {mud} is out of the acceptable range " @@ -286,8 +287,8 @@ def compute_cve( def apply_corr(input_pattern, absorption_correction): - """Apply absorption correction to the given diffraction object with the - correction diffraction object. + """Apply absorption correction to the given diffraction object with + the correction diffraction object. Parameters ---------- diff --git a/src/diffpy/labpdfproc/tools.py b/src/diffpy/labpdfproc/tools.py index ee5c6e8..e0ecad7 100644 --- a/src/diffpy/labpdfproc/tools.py +++ b/src/diffpy/labpdfproc/tools.py @@ -79,7 +79,8 @@ def set_output_directory(args): def _expand_user_input(args): - """Expand the list of inputs by adding files from file lists and wildcards. + """Expand the list of inputs by adding files from file lists and + wildcards. Parameters ---------- @@ -115,9 +116,9 @@ def _expand_user_input(args): def set_input_lists(args): - """Set input directory and files. It takes cli inputs, checks if they are - files or directories and creates a list of files to be processed which is - stored in the args Namespace. + """Set input directory and files. It takes cli inputs, checks if + they are files or directories and creates a list of files to be + processed which is stored in the args Namespace. Parameters ---------- @@ -278,8 +279,8 @@ def set_wavelength(args): def set_xtype(args): - """Set the xtype based on the given input arguments, raise an error if - xtype is not one of {*XQUANTITIES, }. + """Set the xtype based on the given input arguments, raise an error + if xtype is not one of {*XQUANTITIES, }. Parameters ---------- @@ -334,8 +335,8 @@ def _parse_theoretical_input(input_str): def _set_theoretical_mud_from_density(args): - """Theoretical estimation of mu*D from sample composition, energy, and - sample mass density.""" + """Theoretical estimation of mu*D from sample composition, energy, + and sample mass density.""" sample_composition, energy, sample_mass_density = _parse_theoretical_input( args.theoretical_from_density ) @@ -351,8 +352,8 @@ def _set_theoretical_mud_from_density(args): def _set_theoretical_mud_from_packing(args): - """Theoretical estimation of mu*D from sample composition, energy, and - packing fraction.""" + """Theoretical estimation of mu*D from sample composition, energy, + and packing fraction.""" sample_composition, energy, packing_fraction = _parse_theoretical_input( args.theoretical_from_packing ) @@ -404,8 +405,8 @@ def _load_key_value_pair(s): def load_user_metadata(args): - """Load user metadata into args, raise ValueError if it is in incorrect - format. + """Load user metadata into args, raise ValueError if it is in + incorrect format. Parameters ---------- @@ -445,8 +446,9 @@ def load_user_metadata(args): def load_user_info(args): """Load user info into args. If none is provided, call - check_and_build_global_config function from diffpy.utils to prompt the user - for inputs. Otherwise, call get_user_info with the provided arguments. + check_and_build_global_config function from diffpy.utils to prompt + the user for inputs. Otherwise, call get_user_info with the provided + arguments. Parameters ---------- @@ -493,9 +495,9 @@ def load_package_info(args): def preprocessing_args(args): - """Perform preprocessing on the provided args. The process includes loading - package and user information, setting input, output, wavelength, anode - type, xtype, mu*D, and loading user metadata. + """Perform preprocessing on the provided args. The process includes + loading package and user information, setting input, output, + wavelength, anode type, xtype, mu*D, and loading user metadata. Parameters ---------- @@ -519,8 +521,8 @@ def preprocessing_args(args): def load_metadata(args, filepath): - """Load the relevant metadata from args to write into the header of the - output files. + """Load the relevant metadata from args to write into the header of + the output files. Parameters ---------- diff --git a/src/diffpy/my_labpdfproc/__init__.py b/src/diffpy/my_labpdfproc/__init__.py new file mode 100644 index 0000000..9fb0d7f --- /dev/null +++ b/src/diffpy/my_labpdfproc/__init__.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +############################################################################## +# +# (c) 2025 The Trustees of Columbia University in the City of New York. +# All rights reserved. +# +# File coded by: Sangjoon Lee, Simon Billinge, Billinge Group members. +# +# See GitHub contributions for a more detailed list of contributors. +# https://github.com/diffpy/diffpy.my-labpdfproc/graphs/contributors +# +# See LICENSE.rst for license information. +# +############################################################################## +"""Python package for doing science.""" + +# package version +from diffpy.my_labpdfproc.version import __version__ # noqa + +# silence the pyflakes syntax checker +assert __version__ or True + +# End of file diff --git a/src/diffpy/my_labpdfproc/functions.py b/src/diffpy/my_labpdfproc/functions.py new file mode 100644 index 0000000..e7e2c8e --- /dev/null +++ b/src/diffpy/my_labpdfproc/functions.py @@ -0,0 +1,31 @@ +import numpy as np + + +def dot_product(a, b): + """Compute the dot product of two vectors of any size. + + Ensure that the inputs, a and b, are of the same size. + The supported types are "array_like" objects, which can + be converted to a NumPy array. Examples include lists and tuples. + + Parameters + ---------- + a : array_like + The first input vector. + b : array_like + The second input vector. + + Returns + ------- + float + The dot product of the two vectors. + + Examples + -------- + Compute the dot product of two lists: + >>> a = [1, 2, 3] + >>> b = [4, 5, 6] + >>> dot_product(a, b) + 32.0 + """ + return float(np.dot(a, b)) diff --git a/src/diffpy/my_labpdfproc/my_labpdfproc_app.py b/src/diffpy/my_labpdfproc/my_labpdfproc_app.py new file mode 100644 index 0000000..f2e5b44 --- /dev/null +++ b/src/diffpy/my_labpdfproc/my_labpdfproc_app.py @@ -0,0 +1,33 @@ +import argparse + +from diffpy.my_labpdfproc.version import __version__ # noqa + + +def main(): + parser = argparse.ArgumentParser( + prog="diffpy.my-labpdfproc", + description=( + "Python package for doing science.\n\n" + "For more information, visit: " + "https://github.com/diffpy/diffpy.my-labpdfproc/" + ), + formatter_class=argparse.RawDescriptionHelpFormatter, + ) + + parser.add_argument( + "--version", + action="store_true", + help="Show the program's version number and exit", + ) + + args = parser.parse_args() + + if args.version: + print(f"diffpy.my-labpdfproc {__version__}") + else: + # Default behavior when no arguments are given + parser.print_help() + + +if __name__ == "__main__": + main() diff --git a/src/diffpy/my_labpdfproc/version.py b/src/diffpy/my_labpdfproc/version.py new file mode 100644 index 0000000..6803efa --- /dev/null +++ b/src/diffpy/my_labpdfproc/version.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python +############################################################################## +# +# (c) 2025 The Trustees of Columbia University in the City of New York. +# All rights reserved. +# +# File coded by: Sangjoon Lee, Simon Billinge, Billinge Group members. +# +# See GitHub contributions for a more detailed list of contributors. +# https://github.com/diffpy/diffpy.my-labpdfproc/graphs/contributors # noqa: E501 +# +# See LICENSE.rst for license information. +# +############################################################################## +"""Definition of __version__.""" + +# We do not use the other three variables, but can be added back if needed. +# __all__ = ["__date__", "__git_commit__", "__timestamp__", "__version__"] + +# obtain version information +from importlib.metadata import version + +__version__ = version("diffpy.my_labpdfproc") + +# End of file diff --git a/tests/conftest.py b/tests/conftest.py index 63d4646..e3b6313 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -7,80 +7,13 @@ @pytest.fixture def user_filesystem(tmp_path): base_dir = Path(tmp_path) - input_dir = base_dir / "input_dir" - input_dir.mkdir(parents=True, exist_ok=True) home_dir = base_dir / "home_dir" home_dir.mkdir(parents=True, exist_ok=True) - test_dir = base_dir / "test_dir" - test_dir.mkdir(parents=True, exist_ok=True) + cwd_dir = base_dir / "cwd_dir" + cwd_dir.mkdir(parents=True, exist_ok=True) - chi_data = ( - "dataformat = twotheta\n mode = " - "xray\n # chi_Q chi_I\n 1 2\n 3 4\n 5 6\n 7 8\n" - ) - xy_data = "1 2\n 3 4\n 5 6\n 7 8" - unreadable_data = ( - "This is a file with no data " "that is non-readable by LoadData" - ) - binary_data = b"\x00\x01\x02\x03\x04" - - with open(base_dir / "good_data.chi", "w") as f: - f.write(chi_data) - with open(base_dir / "good_data.xy", "w") as f: - f.write(xy_data) - with open(base_dir / "good_data.txt", "w") as f: - f.write(chi_data) - with open(base_dir / "unreadable_file.txt", "w") as f: - f.write(unreadable_data) - with open(base_dir / "binary.pkl", "wb") as f: - f.write(binary_data) - - with open(input_dir / "good_data.chi", "w") as f: - f.write(chi_data) - with open(input_dir / "good_data.xy", "w") as f: - f.write(xy_data) - with open(input_dir / "good_data.txt", "w") as f: - f.write(chi_data) - with open(input_dir / "unreadable_file.txt", "w") as f: - f.write(unreadable_data) - with open(input_dir / "binary.pkl", "wb") as f: - f.write(binary_data) - - with open(input_dir / "file_list.txt", "w") as f: - f.write( - "good_data.chi" - " \n good_data.xy" - " \n good_data.txt" - " \n missing_file.txt" - ) - with open(input_dir / "file_list_example2.txt", "w") as f: - f.write("input_dir/*.txt \n") - f.write("input_dir/good_data.chi \n") - f.write("good_data.xy \n") - f.write(f"{str(input_dir.resolve() / 'good_data.txt')}\n") - - home_config_data = { - "wavelength": 0.3, - "owner_name": "home_username", - "owner_email": "home@email.com", - "owner_orcid": "home_orcid", - } + home_config_data = {"username": "home_username", "email": "home@email.com"} with open(home_dir / "diffpyconfig.json", "w") as f: json.dump(home_config_data, f) - z_scan_data = """ - -1.00000000 100000.00000000 - -0.77777778 100000.00000000 - -0.55555556 100000.00000000 - -0.33333333 10687.79256604 - -0.11111111 5366.53289631 - 0.11111111 5366.53289631 - 0.33333333 10687.79256604 - 0.55555556 100000.00000000 - 0.77777778 100000.00000000 - 1.00000000 100000.00000000 - """ - with open(test_dir / "testfile.xy", "w") as f: - f.write(z_scan_data) - yield tmp_path diff --git a/tests/test_functions.py b/tests/test_functions.py index 5671025..7b0fc47 100644 --- a/tests/test_functions.py +++ b/tests/test_functions.py @@ -1,222 +1,40 @@ -import re - import numpy as np import pytest -from diffpy.labpdfproc.functions import ( - CVE_METHODS, - Gridded_circle, - apply_corr, - compute_cve, -) -from diffpy.utils.diffraction_objects import DiffractionObject +from diffpy.my_labpdfproc import functions # noqa -@pytest.mark.parametrize( - "inputs, expected_grid", - [ - ( - {"radius": 0.5, "n_points_on_diameter": 3, "mu": 1}, - {(0.0, -0.5), (0.0, 0.0), (0.5, 0.0), (-0.5, 0.0), (0.0, 0.5)}, - ), - ( - {"radius": 1, "n_points_on_diameter": 4, "mu": 1}, - { - (-0.333333, -0.333333), - (0.333333, -0.333333), - (-0.333333, 0.333333), - (0.333333, 0.333333), - }, - ), - ], -) -def test_get_grid_points(inputs, expected_grid): - actual_gs = Gridded_circle( - radius=inputs["radius"], - n_points_on_diameter=inputs["n_points_on_diameter"], - mu=inputs["mu"], - ) - actual_grid_sorted = sorted(actual_gs.grid) - expected_grid_sorted = sorted(expected_grid) - for actual_pt, expected_pt in zip( - actual_grid_sorted, expected_grid_sorted - ): - assert actual_pt == pytest.approx(expected_pt, rel=1e-4, abs=1e-6) +def test_dot_product_2D_list(): + a = [1, 2] + b = [3, 4] + expected = 11.0 + actual = functions.dot_product(a, b) + assert actual == expected -@pytest.mark.parametrize( - "inputs, expected_distances", - [ - ( - {"radius": 1, "n_points_on_diameter": 3, "mu": 1, "angle": 45}, - [0, 1.4142135, 1.4142135, 2, 2], - ), - ( - {"radius": 1, "n_points_on_diameter": 3, "mu": 1, "angle": 90}, - [0, 0, 2, 2, 2], - ), - ( - {"radius": 1, "n_points_on_diameter": 3, "mu": 1, "angle": 120}, - [0, 0, 2, 3, 1.73205], - ), - ( - {"radius": 1, "n_points_on_diameter": 4, "mu": 1, "angle": 30}, - [2.057347, 2.044451, 1.621801, 1.813330], - ), - ( - {"radius": 1, "n_points_on_diameter": 4, "mu": 1, "angle": 90}, - [1.885618, 1.885618, 2.552285, 1.218951], - ), - ( - {"radius": 1, "n_points_on_diameter": 4, "mu": 1, "angle": 140}, - [1.139021, 2.200102, 2.744909, 1.451264], - ), - ], -) -def test_set_distances_at_angle(inputs, expected_distances): - actual_gs = Gridded_circle( - radius=inputs["radius"], - n_points_on_diameter=inputs["n_points_on_diameter"], - mu=inputs["mu"], - ) - actual_gs.set_distances_at_angle(inputs["angle"]) - actual_distances_sorted = sorted(actual_gs.distances) - expected_distances_sorted = sorted(expected_distances) - assert actual_distances_sorted == pytest.approx( - expected_distances_sorted, rel=1e-4, abs=1e-6 - ) +def test_dot_product_3D_list(): + a = [1, 2, 3] + b = [4, 5, 6] + expected = 32.0 + actual = functions.dot_product(a, b) + assert actual == expected @pytest.mark.parametrize( - "input_mu, expected_muls", + "a, b, expected", [ - (1, [1, 1, 0.135335, 0.049787, 0.176921]), - (2, [1, 1, 0.018316, 0.002479, 0.031301]), + # Test whether the dot product function works with 2D and 3D vectors + # C1: lists, expect correct float output + ([1, 2], [3, 4], 11.0), + ([1, 2, 3], [4, 5, 6], 32.0), + # C2: tuples, expect correct float output + ((1, 2), (3, 4), 11.0), + ((1, 2, 3), (4, 5, 6), 32.0), + # C3: numpy arrays, expect correct float output + (np.array([1, 2]), np.array([3, 4]), 11.0), + (np.array([1, 2, 3]), np.array([4, 5, 6]), 32.0), ], ) -def test_set_muls_at_angle(input_mu, expected_muls): - actual_gs = Gridded_circle(radius=1, n_points_on_diameter=3, mu=input_mu) - actual_gs.set_muls_at_angle(120) - actual_muls_sorted = sorted(actual_gs.muls) - expected_muls_sorted = sorted(expected_muls) - assert actual_muls_sorted == pytest.approx( - expected_muls_sorted, rel=1e-4, abs=1e-6 - ) - - -@pytest.mark.parametrize( - "input_diffraction_data, input_cve_params", - [ # Test that cve diffraction object contains the expected info - # Note that all cve values are interpolated to 0.5 - # cve do should contain the same input xarray, xtype, - # wavelength, and metadata - ( # C1: User did not specify method, default to fast calculation - { - "xarray": np.array([90, 90.1, 90.2]), - "yarray": np.array([2, 2, 2]), - }, - {"mud": 1, "xtype": "tth"}, - ), - ( # C2: User specified brute-force computation method - { - "xarray": np.array([5.1, 5.2, 5.3]), - "yarray": np.array([2, 2, 2]), - }, - {"mud": 1, "method": "brute_force", "xtype": "q"}, - ), - ( # C3: User specified mu*D outside the fast calculation range, - # default to brute-force computation - { - "xarray": np.array([5.1, 5.2, 5.3]), - "yarray": np.array([2, 2, 2]), - }, - {"mud": 20, "xtype": "q"}, - ), - ], -) -def test_compute_cve(mocker, input_diffraction_data, input_cve_params): - expected_xarray = input_diffraction_data["xarray"] - expected_cve = np.array([0.5, 0.5, 0.5]) - expected_xtype = input_cve_params["xtype"] - mocker.patch("diffpy.labpdfproc.functions.N_POINTS_ON_DIAMETER", 4) - mocker.patch("numpy.interp", return_value=expected_cve) - input_pattern = DiffractionObject( - xarray=input_diffraction_data["xarray"], - yarray=input_diffraction_data["yarray"], - xtype=input_cve_params["xtype"], - wavelength=1.54, - scat_quantity="x-ray", - name="test", - metadata={"thing1": 1, "thing2": "thing2"}, - ) - actual_cve_do = compute_cve(input_pattern, **input_cve_params) - expected_cve_do = DiffractionObject( - xarray=expected_xarray, - yarray=expected_cve, - xtype=expected_xtype, - wavelength=1.54, - scat_quantity="cve", - name="absorption correction, cve, for test", - metadata={"thing1": 1, "thing2": "thing2"}, - ) - assert actual_cve_do == expected_cve_do - - -def test_compute_cve_bad(mocker): - xarray, yarray = np.array([90, 90.1, 90.2]), np.array([2, 2, 2]) - expected_cve = np.array([0.5, 0.5, 0.5]) - mocker.patch("numpy.interp", return_value=expected_cve) - input_pattern = DiffractionObject( - xarray=xarray, - yarray=yarray, - xtype="tth", - wavelength=1.54, - scat_quantity="x-ray", - name="test", - metadata={"thing1": 1, "thing2": "thing2"}, - ) - # Test that the function raises a ValueError - # when an invalid method is provided - with pytest.raises( - ValueError, - match=re.escape( - f"Unknown method: invalid_method. " - f"Allowed methods are {*CVE_METHODS, }." - ), - ): - compute_cve(input_pattern, mud=1, method="invalid_method") - - -def test_apply_corr(mocker): - xarray, yarray = np.array([90, 90.1, 90.2]), np.array([2, 2, 2]) - expected_cve = np.array([0.5, 0.5, 0.5]) - mocker.patch("numpy.interp", return_value=expected_cve) - input_pattern = DiffractionObject( - xarray=xarray, - yarray=yarray, - xtype="tth", - wavelength=1.54, - scat_quantity="x-ray", - name="test", - metadata={"thing1": 1, "thing2": "thing2"}, - ) - absorption_correction = DiffractionObject( - xarray=xarray, - yarray=expected_cve, - xtype="tth", - wavelength=1.54, - scat_quantity="cve", - name="absorption correction, cve, for test", - metadata={"thing1": 1, "thing2": "thing2"}, - ) - actual_corr = apply_corr(input_pattern, absorption_correction) - expected_corr = DiffractionObject( - xarray=xarray, - yarray=np.array([1, 1, 1]), - xtype="tth", - wavelength=1.54, - scat_quantity="x-ray", - name="test", - metadata={"thing1": 1, "thing2": "thing2"}, - ) - assert actual_corr == expected_corr +def test_dot_product(a, b, expected): + actual = functions.dot_product(a, b) + assert actual == expected diff --git a/tests/test_version.py b/tests/test_version.py index 994c681..7c67d54 100644 --- a/tests/test_version.py +++ b/tests/test_version.py @@ -1,10 +1,10 @@ """Unit tests for __version__.py.""" -import diffpy.labpdfproc +import diffpy.my_labpdfproc # noqa def test_package_version(): """Ensure the package version is defined and not set to the initial placeholder.""" - assert hasattr(diffpy.labpdfproc, "__version__") - assert diffpy.labpdfproc.__version__ != "0.0.0" + assert hasattr(diffpy.my_labpdfproc, "__version__") + assert diffpy.my_labpdfproc.__version__ != "0.0.0"